diff --git a/INSTALL.md b/INSTALL.md index c708a013..48b0fa7c 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,60 +1,180 @@ -# Linux +# Instructions - sudo apt-get install make git gcc +These instructions explain how to set up the tools required to build **pokered**, including [**rgbds**](https://github.com/rednex/rgbds), which assembles the source files into a ROM. - sudo apt-get install byacc flex pkg-config libpng-dev - git clone https://github.com/rednex/rgbds - cd rgbds - sudo make install - cd .. - - git clone https://github.com/pret/pokered - cd pokered - -To build **pokered.gbc** and **pokeblue.gbc**: - - make - -To build them individually: - - make red - make blue +If you run into trouble, ask for help on IRC or Discord (see [README.md](README.md)). -# Mac +## Windows 10 -Get [**Homebrew**](http://brew.sh/). +Download and install [**Windows Subsystem for Linux**](https://docs.microsoft.com/en-us/windows/wsl/install-win10). Then open the **WSL terminal**. -Then in **Terminal**, run: +WSL has its own file system that's not accessible from Windows, but Windows files *are* accessible from WSL. So you're going to want to install pokered within Windows. You'll have to change the **current working directory** every time you open WSL. - xcode-select --install - brew install rgbds +For example, if you want to store pokered in **C:\Users\\*\*\Desktop**, enter this command: - git clone https://github.com/pret/pokered - cd pokered +```bash +cd /mnt/c/Users//Desktop +``` -To build **pokered.gbc** and **pokeblue.gbc**: +(The Windows `C:\` drive is called `/mnt/c/` in WSL. Replace *\* in the example path with your username.) - make +Then follow [the instructions for **Linux**](#linux). + +If this doesn't work, try following [the regular Windows instructions](#windows) below. -# Windows +## Windows Download [**Cygwin**](http://cygwin.com/install.html): **setup-x86_64.exe** for 64-bit Windows, **setup-x86.exe** for 32-bit. -Run setup and leave the default settings. At "Select Packages", choose to install the following: +Run setup and leave the default settings. At the "**Select Packages**" step, choose to install the following, all of which are in the "**Devel**" category: - `make` - `git` - `gcc-core` -Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.tar.gz** or **win32.tar.gz** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**. +Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -In the **Cygwin terminal**, enter these commands: +Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.zip** or **win32.zip** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**. - git clone https://github.com/pret/pokered - cd pokered +**Note: If you already have an older rgbds, you will need to update to 0.4.0.** Ignore this if you have never installed rgbds before. If a version newer than 0.4.0 does not work, try downloading 0.4.0. + +Now open the **Cygwin terminal** and enter the following commands. + +Cygwin has its own file system that's within Windows, at **C:\cygwin64\home\\*\***. If you don't want to store pokered there, you'll have to change the **current working directory** every time you open Cygwin. + +For example, if you want to store pokered in **C:\Users\\*\*\Desktop**: + +```bash +cd /cygdrive/c/Users//Desktop +``` + +(The Windows `C:\` drive is called `/cygdrive/c/` in Cygwin. Replace *\* in the example path with your username.) + +Now you're ready to [build **pokered**](#build-pokered). + + +## Mac OS X + +Install [**Homebrew**](https://brew.sh/). Follow the official instructions. + +Open **Terminal** and enter the following commands. + +To install **rgbds**: + +```bash +brew install rgbds +``` + +Now you're ready to [build **pokered**](#build-pokered). + + +## Linux + +Open **Terminal** and enter the following commands, depending on which distro you're using. + +### Debian or Ubuntu + +To install the software required for **pokered**: + +```bash +sudo apt-get install make gcc git +``` + +To install **rgbds**: + +```bash +sudo apt-get install pkg-config flex bison libpng-dev +git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +sudo make -C rgbds install +``` + +### OpenSUSE + +To install the software required for **pokered**: + +```bash +sudo zypper install make gcc git +``` + +To install **rgbds**: + +```bash +sudo zypper install pkg-config flex bison libpng16-devel +git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +sudo make -C rgbds install +``` + +### Arch Linux + +To install the software required for **pokered**: + +```bash +sudo pacman -S make gcc git +``` + +**rgbds** is available on the [AUR](https://aur.archlinux.org/packages/rgbds/). + +Alternatively, to install **rgbds** manually: + +```bash +sudo pacman -S pkg-config flex bison libpng +git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +sudo make -C rgbds install +``` + +### Termux + +To install the software required for **pokered**: + +```bash +sudo apt install make clang git sed +``` + +To install **rgbds**: + +```bash +sudo apt install rgbds +``` + +### Other distros + +If your distro is not listed here, try to find the required software in its repositories: + +- `make` +- `gcc` (or `clang`) +- `git` +- `rgbds` + +If `rgbds` is not available, you'll also need these: + +- `pkg-config` +- `flex` +- `bison` +- `libpng` (and the development headers) + +To install **rgbds**: + +```bash +git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +sudo make -C rgbds install +``` + +Now you're ready to [build **pokered**](#build-pokered). + + +## Build pokered + +To download the **pokered** source files: + +```bash +git clone https://github.com/pret/pokered +cd pokered +``` To build **pokered.gbc** and **pokeblue.gbc**: - make +```bash +make +``` diff --git a/Makefile b/Makefile index 9475c377..3e2a6e89 100644 --- a/Makefile +++ b/Makefile @@ -5,11 +5,11 @@ audio.o \ home.o \ main.o \ maps.o \ -pics.o \ -sprites.o \ text.o \ -tilesets.o \ wram.o \ +gfx/pics.o \ +gfx/sprites.o \ +gfx/tilesets.o pokered_obj := $(rom_obj:.o=_red.o) pokeblue_obj := $(rom_obj:.o=_blue.o) @@ -35,48 +35,66 @@ RGBLINK ?= $(RGBDS)rgblink .PHONY: all red blue clean tidy compare tools all: $(roms) -red: pokered.gbc +red: pokered.gbc blue: pokeblue.gbc -# For contributors to make sure a change didn't affect the contents of the rom. -compare: $(roms) - @$(MD5) roms.md5 - clean: - rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) - find . \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -exec rm {} + + rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o + find gfx \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -delete $(MAKE) clean -C tools/ tidy: - rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) + rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o $(MAKE) clean -C tools/ +# For contributors to make sure a change didn't affect the original contents of the ROMs. +compare: $(roms) + @$(MD5) roms.md5 + tools: $(MAKE) -C tools/ +RGBASMFLAGS = -h -Weverything +# Create a sym/map for debug purposes if `make` run with `DEBUG=1` +ifeq ($(DEBUG),1) +RGBASMFLAGS += -E +endif + +$(pokered_obj): RGBASMFLAGS += -D _RED +$(pokeblue_obj): RGBASMFLAGS += -D _BLUE + +rgbdscheck.o: rgbdscheck.asm + $(RGBASM) -o $@ $< + +# The dep rules have to be explicit or else missing files won't be reported. +# As a side effect, they're evaluated immediately instead of when the rule is invoked. +# It doesn't look like $(shell) can be deferred so there might not be a better way. +define DEP +$1: $2 $$(shell tools/scan_includes $2) | rgbdscheck.o + $$(RGBASM) $$(RGBASMFLAGS) -o $$@ $$< +endef + # Build tools when building the rom. # This has to happen before the rules are processed, since that's when scan_includes is run. ifeq (,$(filter clean tools,$(MAKECMDGOALS))) + $(info $(shell $(MAKE) -C tools)) + +# Dependencies for objects (drop _red and _blue from asm file basenames) +$(foreach obj, $(pokered_obj), $(eval $(call DEP,$(obj),$(obj:_red.o=.asm)))) +$(foreach obj, $(pokeblue_obj), $(eval $(call DEP,$(obj),$(obj:_blue.o=.asm)))) + endif %.asm: ; -%_red.o: dep = $(shell tools/scan_includes $(@D)/$*.asm) -$(pokered_obj): %_red.o: %.asm $$(dep) - $(RGBASM) -D _RED -h -o $@ $*.asm - -%_blue.o: dep = $(shell tools/scan_includes $(@D)/$*.asm) -$(pokeblue_obj): %_blue.o: %.asm $$(dep) - $(RGBASM) -D _BLUE -h -o $@ $*.asm - pokered_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON RED" pokeblue_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE" -%.gbc: $$(%_obj) - $(RGBLINK) -d -m $*.map -n $*.sym -l layout.link -o $@ $^ +%.gbc: $$(%_obj) layout.link + $(RGBLINK) -d -m $*.map -n $*.sym -l layout.link -o $@ $(filter %.o,$^) $(RGBFIX) $($*_opt) $@ diff --git a/audio/engine_1.asm b/audio/engine_1.asm index 0f76f576..20b992aa 100644 --- a/audio/engine_1.asm +++ b/audio/engine_1.asm @@ -925,7 +925,7 @@ Audio1_ApplyWavePatternAndFrequency: ld e, [hl] inc hl ld d, [hl] - ld hl, $ff30 ; wave pattern RAM + ld hl, rWave_0 ld b, $f ld a, $0 ; stop hardware channel 3 ld [rNR30], a diff --git a/audio/engine_2.asm b/audio/engine_2.asm index 2e0aad0d..864a8c21 100644 --- a/audio/engine_2.asm +++ b/audio/engine_2.asm @@ -936,7 +936,7 @@ Audio2_ApplyWavePatternAndFrequency: ld e, [hl] inc hl ld d, [hl] - ld hl, $ff30 ; wave pattern RAM + ld hl, rWave_0 ld b, $f ld a, $0 ; stop hardware channel 3 ld [rNR30], a diff --git a/audio/engine_3.asm b/audio/engine_3.asm index 771b44df..c0aaeaf8 100644 --- a/audio/engine_3.asm +++ b/audio/engine_3.asm @@ -925,7 +925,7 @@ Audio3_ApplyWavePatternAndFrequency: ld e, [hl] inc hl ld d, [hl] - ld hl, $ff30 ; wave pattern RAM + ld hl, rWave_0 ld b, $f ld a, $0 ; stop hardware channel 3 ld [rNR30], a diff --git a/audio/music/yellow/meetjessiejames.asm b/audio/music/yellow/meetjessiejames.asm deleted file mode 100644 index d1f9f795..00000000 --- a/audio/music/yellow/meetjessiejames.asm +++ /dev/null @@ -1,308 +0,0 @@ -Music_MeetJessieJames_Ch1:: - tempo 144 - volume 7, 7 - duty_cycle 3 - vibrato 8, 1, 4 - note_type 12, 11, 2 - octave 3 - note G#, 1 - note G_, 1 - note F#, 2 - note F_, 2 - note E_, 2 - note D#, 2 - note D_, 2 - note C#, 2 - note C_, 2 - note_type 12, 11, 6 - note D#, 12 - note C_, 4 - -Music_MeetJessieJames_branch_83187:: - note_type 12, 11, 2 - octave 4 - note D_, 16 - rest 12 - note_type 12, 11, 4 - octave 3 - note A#, 4 - rest 16 - rest 8 - note_type 12, 11, 2 - octave 2 - note A_, 2 - octave 3 - note A#, 2 - note A_, 4 - note D_, 1 - note D#, 1 - note D#, 2 - note D#, 2 - note D_, 2 - note D#, 2 - note D_, 2 - note D#, 2 - note F_, 2 - note D_, 1 - note D#, 1 - note D#, 2 - note D#, 2 - note D_, 2 - octave 2 - note A#, 4 - note_type 12, 11, 4 - octave 3 - note B_, 4 - note_type 12, 11, 2 - note D_, 1 - note D#, 1 - note D#, 2 - note D#, 2 - note D_, 2 - note D#, 2 - note D_, 2 - note D#, 2 - note F_, 2 - note D_, 1 - note D#, 1 - note D#, 2 - note D#, 2 - note D_, 2 - octave 2 - note A#, 2 - octave 3 - note B_, 2 - note_type 12, 11, 4 - note A#, 4 - sound_loop 0, Music_MeetJessieJames_branch_83187 - - -Music_MeetJessieJames_Ch2:: - duty_cycle 3 - vibrato 6, 1, 5 - note_type 12, 12, 2 - octave 4 - note D_, 1 - note C#, 1 - note C_, 2 - octave 3 - note B_, 2 - note A#, 2 - note A_, 2 - note G#, 2 - note G_, 2 - note F#, 2 - note_type 12, 12, 7 - note A_, 12 - octave 4 - note C#, 4 - -Music_MeetJessieJames_branch_831df:: - note_type 12, 12, 2 - octave 3 - note C#, 1 - note D_, 1 - note D_, 2 - note D_, 2 - note C#, 2 - note D_, 2 - note C#, 2 - note D_, 2 - note E_, 2 - note C#, 1 - note D_, 1 - note D_, 2 - note D_, 2 - note C#, 2 - octave 2 - note A_, 4 - note_type 12, 12, 5 - octave 4 - note C#, 4 - note_type 12, 12, 2 - note D_, 1 - octave 3 - note D_, 1 - note D_, 2 - note D_, 2 - note C#, 2 - note D_, 2 - note C#, 2 - note D_, 2 - note E_, 2 - note C#, 1 - note D_, 1 - note D_, 2 - note D_, 2 - note C#, 2 - note_type 12, 12, 6 - octave 4 - note D_, 8 - note_type 12, 12, 2 - note D#, 6 - note F_, 4 - note D#, 4 - octave 3 - note A#, 2 - octave 4 - note D#, 6 - note F_, 4 - note D#, 2 - note_type 12, 12, 5 - note D_, 4 - note_type 12, 12, 2 - note D#, 6 - note F_, 4 - note D#, 4 - octave 3 - note A#, 2 - octave 4 - note D#, 4 - note F_, 4 - note_type 12, 12, 5 - note D#, 8 - sound_loop 0, Music_MeetJessieJames_branch_831df - - -Music_MeetJessieJames_Ch3:: - note_type 12, 1, 0 - rest 16 - rest 8 - octave 4 - note D_, 2 - octave 3 - note A_, 2 - octave 4 - note C_, 2 - note D#, 2 - -Music_MeetJessieJames_branch_83235:: - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A#, 2 - note A_, 2 - note D#, 2 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - octave 3 - note A_, 2 - octave 4 - note C_, 2 - note D_, 2 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - octave 3 - note A#, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note E_, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - octave 3 - note A#, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note E_, 1 - rest 1 - sound_loop 0, Music_MeetJessieJames_branch_83235 diff --git a/audio/music/yellow/surfingpikachu.asm b/audio/music/yellow/surfingpikachu.asm deleted file mode 100644 index 8e161443..00000000 --- a/audio/music/yellow/surfingpikachu.asm +++ /dev/null @@ -1,690 +0,0 @@ -Music_SurfingPikachu_Ch1:: - tempo 117 - volume 7, 7 - duty_cycle 3 - vibrato 8, 1, 4 - note_type 12, 11, 3 - octave 3 - note E_, 6 - note_type 12, 11, 2 - note F#, 2 - note_type 12, 11, 3 - note E_, 6 - note_type 12, 11, 2 - note F#, 16 - rest 2 - note_type 12, 11, 3 - note E_, 6 - note_type 12, 11, 2 - note A_, 2 - note_type 12, 11, 3 - note E_, 6 - note_type 12, 11, 2 - note A_, 14 - note_type 12, 11, 2 - note D#, 2 - note C#, 1 - note D#, 1 - octave 2 - note B_, 6 - octave 3 - note E_, 4 - note E_, 4 - note E_, 8 - note G#, 4 - note G#, 4 - note G#, 2 - -Music_SurfingPikachu_branch_82d1a:: - note_type 12, 11, 3 - octave 3 - note G#, 4 - note E_, 4 - note F#, 4 - note E_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note G#, 2 - note F#, 2 - note E_, 2 - note D#, 2 - note E_, 2 - note D#, 2 - note C#, 6 - note F#, 2 - note A_, 8 - octave 2 - note B_, 6 - octave 3 - note E_, 2 - note G#, 8 - note G#, 4 - note E_, 4 - note F#, 4 - note E_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note G#, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note E_, 2 - note G#, 2 - note F#, 6 - note E_, 2 - note F#, 1 - rest 3 - note A_, 4 - duty_cycle 0 - note_type 12, 11, 2 - note G#, 1 - note F#, 1 - note G#, 2 - note B_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note E_, 2 - note D#, 2 - note F#, 2 - note F#, 2 - note D#, 2 - note F#, 2 - note B_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note B_, 1 - note A#, 1 - note B_, 2 - note G#, 2 - note E_, 2 - note G#, 2 - note G_, 2 - note G#, 2 - note A_, 2 - octave 4 - note C#, 2 - note C_, 2 - note C#, 3 - octave 3 - note F#, 1 - note A_, 2 - note G#, 2 - note F#, 2 - note A_, 2 - note E_, 3 - note E_, 1 - note B_, 2 - note A_, 2 - note G#, 6 - note E_, 1 - note F_, 1 - note F#, 2 - note F#, 2 - note D#, 2 - note F#, 2 - note B_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note B_, 1 - note A#, 1 - note B_, 2 - note G#, 2 - note E_, 2 - note G#, 2 - note G_, 2 - note G#, 2 - note A_, 2 - octave 4 - note C#, 2 - note C_, 2 - note C#, 3 - octave 3 - note F#, 1 - note A_, 2 - note G#, 2 - note A_, 2 - octave 4 - note D#, 2 - note E_, 2 - note E_, 1 - note D#, 1 - note E_, 1 - note D#, 1 - note E_, 1 - note D#, 1 - note E_, 8 - duty_cycle 3 - sound_loop 0, Music_SurfingPikachu_branch_82d1a - - -Music_SurfingPikachu_Ch2:: - duty_cycle 3 - vibrato 6, 1, 5 - note_type 12, 12, 4 - octave 3 - note B_, 6 - note_type 12, 12, 2 - octave 4 - note E_, 2 - note_type 12, 12, 4 - octave 3 - note B_, 6 - note_type 12, 12, 2 - octave 4 - note E_, 2 - note_type 12, 11, 2 - octave 3 - note B_, 2 - octave 4 - note C#, 2 - note D#, 2 - note C#, 2 - octave 3 - note B_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note_type 12, 12, 4 - octave 4 - note C#, 6 - note_type 12, 12, 2 - note F#, 2 - note_type 12, 12, 4 - note C#, 6 - note_type 12, 12, 2 - note F#, 2 - note_type 12, 11, 2 - note C#, 2 - note D#, 2 - note E_, 2 - note D#, 2 - note C#, 2 - octave 3 - note B_, 2 - note A_, 2 - note G#, 2 - note_type 12, 12, 2 - note E_, 6 - note B_, 4 - note B_, 4 - note B_, 8 - note B_, 4 - note B_, 4 - note B_, 2 - -Music_SurfingPikachu_branch_82de0:: - note_type 12, 12, 6 - octave 4 - note E_, 4 - octave 3 - note B_, 4 - note A_, 4 - octave 4 - note C#, 4 - octave 3 - note B_, 6 - note A_, 2 - note G#, 8 - note F#, 6 - note A_, 2 - octave 4 - note C#, 8 - octave 3 - note E_, 6 - note G#, 2 - note B_, 8 - octave 4 - note E_, 4 - octave 3 - note B_, 4 - note A_, 4 - octave 4 - note C#, 4 - octave 3 - note B_, 6 - octave 4 - note D#, 2 - note E_, 8 - note D#, 6 - note C#, 2 - note D#, 1 - rest 3 - note F#, 4 - note E_, 10 - note_type 12, 12, 6 - duty_cycle 2 - note E_, 2 - note D#, 2 - note C#, 2 - octave 3 - note B_, 6 - octave 4 - note C#, 2 - note D#, 4 - octave 3 - note B_, 4 - octave 4 - note E_, 6 - note F#, 2 - note G#, 8 - note A_, 6 - note G#, 2 - note A_, 4 - note F#, 4 - note G#, 10 - note E_, 2 - note D#, 2 - note C#, 2 - octave 3 - note B_, 6 - octave 4 - note C#, 2 - note D#, 4 - octave 3 - note B_, 4 - octave 4 - note E_, 6 - note F#, 2 - note G#, 8 - note A_, 4 - note F#, 4 - note D#, 4 - octave 5 - note C#, 4 - octave 4 - note B_, 8 - note_type 12, 12, 2 - octave 5 - note E_, 4 - note_type 12, 12, 6 - duty_cycle 3 - octave 3 - note B_, 1 - note A#, 1 - note B_, 1 - octave 4 - note C#, 1 - sound_loop 0, Music_SurfingPikachu_branch_82de0 - - -Music_SurfingPikachu_Ch3:: - note_type 12, 1, 0 - octave 4 - note B_, 6 - octave 5 - note C#, 1 - rest 1 - octave 4 - note B_, 6 - octave 5 - note C#, 1 - rest 1 - octave 4 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note A_, 1 - rest 1 - note B_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - note D#, 1 - rest 1 - note C#, 1 - rest 1 - octave 4 - note A_, 6 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 6 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note F#, 1 - rest 1 - note G#, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D#, 1 - rest 1 - -Music_SurfingPikachu_branch_82ea0:: - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - note C_, 1 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - octave 5 - note E_, 1 - note D#, 1 - note E_, 1 - rest 1 - octave 4 - note D#, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D_, 1 - rest 1 - note D#, 1 - rest 1 - note F#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note D#, 1 - rest 1 - note F#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note B_, 1 - note A#, 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note F#, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D_, 1 - rest 1 - note D#, 1 - rest 1 - note F#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note D#, 1 - rest 1 - note F#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note D#, 1 - rest 1 - note B_, 1 - rest 1 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D#, 1 - rest 1 - sound_loop 0, Music_SurfingPikachu_branch_82ea0 diff --git a/audio/music/yellow/yellowintro.asm b/audio/music/yellow/yellowintro.asm deleted file mode 100644 index bb741a22..00000000 --- a/audio/music/yellow/yellowintro.asm +++ /dev/null @@ -1,484 +0,0 @@ -Music_YellowIntro_Ch1:: - tempo 116 - volume 7, 7 - duty_cycle 3 - vibrato 8, 1, 4 - note_type 12, 11, 2 - octave 3 - note G#, 2 - note B_, 4 - note B_, 4 - note B_, 4 - note B_, 4 - note B_, 4 - note B_, 3 - note A#, 1 - note B_, 2 - note B_, 10 - note_type 12, 11, 6 - octave 4 - note C#, 1 - note C_, 1 - note C#, 10 - octave 3 - note G#, 1 - note G_, 1 - note G#, 4 - note B_, 4 - octave 4 - note E_, 4 - note F#, 8 - note E_, 8 - octave 3 - note A_, 4 - note B_, 4 - octave 4 - note C#, 4 - octave 3 - note B_, 4 - note G#, 6 - note_type 12, 11, 2 - note B_, 2 - note_type 12, 11, 6 - note G#, 6 - note_type 12, 11, 2 - note B_, 2 - note_type 12, 11, 6 - octave 4 - note E_, 6 - note_type 12, 11, 2 - note G#, 2 - note_type 12, 11, 6 - note E_, 6 - note_type 12, 11, 2 - note G#, 2 - note_type 12, 11, 6 - octave 3 - note A_, 4 - note F#, 4 - note A_, 4 - note B_, 4 - note F#, 4 - note G#, 4 - note A_, 2 - note G#, 2 - note F#, 2 - note D#, 2 - note_type 12, 11, 3 - note B_, 2 - octave 4 - note E_, 4 - note E_, 4 - note E_, 4 - note E_, 2 - note C#, 2 - note F#, 4 - note F#, 3 - note D#, 1 - note F#, 2 - note F#, 8 - note_type 12, 11, 6 - note F#, 1 - note F_, 1 - note F#, 8 - octave 3 - note B_, 1 - note A#, 1 - note B_, 8 - octave 4 - note F#, 1 - note F_, 1 - note F#, 2 - note_type 12, 11, 3 - note F#, 1 - note E_, 1 - note D#, 1 - note C#, 1 - note_type 12, 11, 2 - octave 3 - note B_, 16 - sound_ret - - -Music_YellowIntro_Ch2:: - duty_cycle 2 - vibrato 6, 1, 5 - note_type 12, 12, 2 - octave 3 - note B_, 2 - octave 4 - note E_, 4 - note E_, 4 - note E_, 4 - note E_, 4 - note E_, 4 - note E_, 3 - note D#, 1 - note E_, 2 - note E_, 4 - note_type 12, 12, 5 - note G#, 1 - note G_, 1 - note G#, 10 - octave 3 - note B_, 1 - note A#, 1 - note B_, 6 - note_type 12, 12, 7 - octave 4 - note E_, 4 - note G#, 4 - note B_, 4 - octave 5 - note C#, 16 - octave 4 - note A_, 4 - note G#, 4 - note F#, 4 - note E_, 4 - octave 3 - note B_, 6 - note_type 12, 12, 2 - octave 4 - note E_, 2 - note_type 12, 12, 7 - octave 3 - note B_, 6 - note_type 12, 12, 2 - octave 4 - note E_, 2 - note_type 12, 12, 7 - note G#, 6 - note_type 12, 12, 2 - note B_, 2 - note_type 12, 12, 7 - note G#, 6 - note_type 12, 12, 2 - note B_, 2 - note_type 12, 12, 7 - note C#, 4 - octave 3 - note A_, 4 - octave 4 - note C#, 4 - note D#, 4 - note E_, 2 - note D#, 2 - note C#, 2 - note D#, 4 - note D#, 2 - note C#, 2 - octave 3 - note B_, 2 - note_type 12, 12, 3 - octave 4 - note E_, 2 - note G#, 4 - note G#, 4 - note G#, 4 - note G#, 2 - note F#, 2 - note A_, 4 - note A_, 3 - note F#, 1 - note A_, 2 - note A_, 4 - note_type 12, 12, 7 - note B_, 1 - note A#, 1 - note B_, 8 - note B_, 1 - note A#, 1 - note B_, 8 - note B_, 1 - note A#, 1 - note B_, 6 - note_type 12, 12, 3 - note B_, 1 - note A_, 1 - note G#, 1 - note F#, 1 - note_type 12, 12, 2 - note E_, 16 - sound_ret - - -Music_YellowIntro_Ch3:: - note_type 12, 1, 0 - octave 4 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D#, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note B_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note B_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note E_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note E_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note F#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 3 - note F#, 1 - rest 1 - octave 4 - note F#, 1 - note G#, 1 - note A_, 1 - octave 5 - note C#, 1 - note E_, 1 - rest 15 - sound_ret diff --git a/audio/music/yellow/yellowunusedsong.asm b/audio/music/yellow/yellowunusedsong.asm deleted file mode 100644 index f1e4d18f..00000000 --- a/audio/music/yellow/yellowunusedsong.asm +++ /dev/null @@ -1,326 +0,0 @@ -Music_YellowUnusedSong_Ch1:: - tempo 140 - volume 7, 7 - duty_cycle 3 - vibrato 8, 1, 4 - note_type 8, 11, 2 - octave 3 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note G_, 6 - note G_, 6 - note A_, 6 - note E_, 6 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note A_, 6 - note G_, 6 - note A_, 12 - -Music_YellowUnusedSong_branch_82fde:: - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note G_, 6 - note G_, 6 - note A_, 6 - note E_, 6 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note G_, 6 - octave 4 - note D#, 6 - note D_, 12 - rest 16 - rest 16 - rest 16 - rest 16 - rest 16 - rest 16 - octave 3 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note G_, 6 - note G_, 6 - note A_, 6 - note E_, 6 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note A_, 6 - note G_, 6 - note A_, 12 - sound_loop 0, Music_YellowUnusedSong_branch_82fde - - -Music_YellowUnusedSong_Ch2:: - duty_cycle 2 - note_type 8, 12, 2 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note C_, 6 - note C_, 6 - note D_, 6 - octave 3 - note A_, 6 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note D_, 6 - note A#, 6 - note A_, 12 - -Music_YellowUnusedSong_branch_8302a:: - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note C_, 6 - note C_, 6 - note D_, 6 - octave 3 - note A_, 6 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note C_, 6 - note G#, 6 - note G_, 12 - note_type 8, 9, 0 - octave 3 - note D#, 16 - note D#, 8 - note D#, 16 - note D#, 8 - octave 2 - note A#, 16 - note A#, 8 - octave 3 - note D#, 12 - note F_, 12 - note_type 8, 12, 2 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note C_, 6 - note C_, 6 - note D_, 6 - octave 3 - note A_, 6 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note D_, 6 - note A#, 6 - note A_, 12 - sound_loop 0, Music_YellowUnusedSong_branch_8302a - - -Music_YellowUnusedSong_Ch3:: - note_type 12, 1, 0 - vibrato 2, 1, 5 - rest 16 - rest 12 - octave 4 - note C_, 4 - note D_, 8 - note D#, 8 - note G_, 8 - note A#, 8 - -Music_YellowUnusedSong_branch_83075:: - note A_, 8 - note A#, 8 - note G_, 8 - note A_, 4 - note D_, 4 - note A_, 8 - note A#, 8 - octave 5 - note C#, 8 - note D_, 8 - note D#, 16 - note D#, 16 - octave 4 - note A#, 16 - octave 5 - note D#, 8 - note F_, 8 - octave 4 - note D_, 16 - note D_, 16 - octave 4 - note D_, 8 - note D#, 8 - note G_, 8 - note A#, 8 - sound_loop 0, Music_YellowUnusedSong_branch_83075 - - -Music_YellowUnusedSong_Ch4:: - drum_speed 12 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_note 3, 4 - -Music_YellowUnusedSong_branch_830c3:: - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_note 3, 4 - sound_loop 0, Music_YellowUnusedSong_branch_830c3 diff --git a/audio/play_battle_music.asm b/audio/play_battle_music.asm index 35dd19ad..f8bfcd19 100644 --- a/audio/play_battle_music.asm +++ b/audio/play_battle_music.asm @@ -2,9 +2,9 @@ PlayBattleMusic:: xor a ld [wAudioFadeOutControl], a ld [wLowHealthAlarm], a - dec a + dec a ; SFX_STOP_ALL_MUSIC ld [wNewSoundID], a - call PlaySound ; stop music + call PlaySound call DelayFrame ld c, BANK(Music_GymLeaderBattle) ld a, [wGymLeaderNo] diff --git a/audio/pokedex_rating_sfx.asm b/audio/pokedex_rating_sfx.asm index a218d5e6..1b5dc4f0 100644 --- a/audio/pokedex_rating_sfx.asm +++ b/audio/pokedex_rating_sfx.asm @@ -1,5 +1,5 @@ PlayPokedexRatingSfx:: - ld a, [$ffdc] + ld a, [hDexRatingNumMonsOwned] ld c, $0 ld hl, OwnedMonValues .getSfxPointer @@ -10,7 +10,7 @@ PlayPokedexRatingSfx:: jr .getSfxPointer .gotSfxPointer push bc - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySoundWaitForCurrent pop bc diff --git a/audio/wave_instruments.asm b/audio/wave_instruments.asm index c915f18a..4a830f4b 100644 --- a/audio/wave_instruments.asm +++ b/audio/wave_instruments.asm @@ -13,7 +13,7 @@ ; these are the definitions for the channel 3 instruments ; each instrument definition is made up of 32 points (nibbles) that form ; the graph of the wave -; the current instrument is copied to $FF30 +; the current instrument is copied to rWave_0--rWave_f .wave0 db $02,$46,$8A,$CE,$FF,$FE,$ED,$DC,$CB,$A9,$87,$65,$44,$33,$22,$11 diff --git a/constants.asm b/constants.asm index c8e5a78d..b1395ea8 100644 --- a/constants.asm +++ b/constants.asm @@ -1,32 +1,41 @@ -INCLUDE "macros.asm" INCLUDE "charmap.asm" +INCLUDE "macros.asm" + INCLUDE "hram.asm" INCLUDE "vram.asm" INCLUDE "constants/hardware_constants.asm" INCLUDE "constants/oam_constants.asm" INCLUDE "constants/misc_constants.asm" - +INCLUDE "constants/gfx_constants.asm" +INCLUDE "constants/input_constants.asm" +INCLUDE "constants/serial_constants.asm" +INCLUDE "constants/script_constants.asm" INCLUDE "constants/pokemon_constants.asm" INCLUDE "constants/pokedex_constants.asm" +INCLUDE "constants/pokemon_data_constants.asm" INCLUDE "constants/trainer_constants.asm" INCLUDE "constants/item_constants.asm" INCLUDE "constants/type_constants.asm" INCLUDE "constants/move_constants.asm" INCLUDE "constants/move_animation_constants.asm" INCLUDE "constants/move_effect_constants.asm" -INCLUDE "constants/status_constants.asm" +INCLUDE "constants/battle_constants.asm" +INCLUDE "constants/icon_constants.asm" INCLUDE "constants/sprite_constants.asm" +INCLUDE "constants/sprite_data_constants.asm" INCLUDE "constants/palette_constants.asm" -INCLUDE "constants/evolution_constants.asm" INCLUDE "constants/list_constants.asm" INCLUDE "constants/map_constants.asm" -INCLUDE "constants/connection_constants.asm" +INCLUDE "constants/map_data_constants.asm" +INCLUDE "constants/map_object_constants.asm" INCLUDE "constants/hide_show_constants.asm" INCLUDE "constants/credits_constants.asm" +INCLUDE "constants/audio_constants.asm" INCLUDE "constants/music_constants.asm" -INCLUDE "constants/tilesets.asm" +INCLUDE "constants/tileset_constants.asm" INCLUDE "constants/starter_mons.asm" INCLUDE "constants/event_constants.asm" INCLUDE "constants/text_constants.asm" +INCLUDE "constants/menu_constants.asm" diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm new file mode 100644 index 00000000..38719f92 --- /dev/null +++ b/constants/audio_constants.asm @@ -0,0 +1,59 @@ +; pitch + const_def + const C_ ; 0 + const C# ; 1 + const D_ ; 2 + const D# ; 3 + const E_ ; 4 + const F_ ; 5 + const F# ; 6 + const G_ ; 7 + const G# ; 8 + const A_ ; 9 + const A# ; A + const B_ ; B + +; channel + const_def + const Ch1 ; 0 + const Ch2 ; 1 + const Ch3 ; 2 + const Ch4 ; 3 + const Ch5 ; 4 + const Ch6 ; 5 + const Ch7 ; 6 + const Ch8 ; 7 + +; HW sound channel register base addresses +HW_CH1_BASE EQU (rNR10 % $100) +HW_CH2_BASE EQU ((rNR21 % $100) - 1) +HW_CH3_BASE EQU (rNR30 % $100) +HW_CH4_BASE EQU ((rNR41 % $100) - 1) + +; HW sound channel enable bit masks +HW_CH1_ENABLE_MASK EQU %00010001 +HW_CH2_ENABLE_MASK EQU %00100010 +HW_CH3_ENABLE_MASK EQU %01000100 +HW_CH4_ENABLE_MASK EQU %10001000 + +; HW sound channel disable bit masks +HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff) +HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff) +HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff) +HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff) + +REG_DUTY_SOUND_LEN EQU 1 +REG_VOLUME_ENVELOPE EQU 2 +REG_FREQUENCY_LO EQU 3 + +; wChannelFlags1 constants +BIT_PERFECT_PITCH EQU 0 ; controlled by toggle_perfect_pitch command +BIT_SOUND_CALL EQU 1 ; if in sound call +BIT_NOISE_OR_SFX EQU 2 ; if channel is the music noise channel or an SFX channel +BIT_VIBRATO_DIRECTION EQU 3 ; if the pitch is above or below normal (cycles) +BIT_PITCH_SLIDE_ON EQU 4 ; if pitch slide is active +BIT_PITCH_SLIDE_DECREASING EQU 5 ; if the pitch slide frequency is decreasing (instead of increasing) +BIT_ROTATE_DUTY_CYCLE EQU 6 ; if rotating duty cycle + +; wChannelFlags2 constant (only has one flag) +BIT_EXECUTE_MUSIC EQU 0 ; if in execute music diff --git a/constants/status_constants.asm b/constants/battle_constants.asm old mode 100755 new mode 100644 similarity index 73% rename from constants/status_constants.asm rename to constants/battle_constants.asm index 25babb82..e45ad7f1 --- a/constants/status_constants.asm +++ b/constants/battle_constants.asm @@ -1,3 +1,22 @@ +MAX_LEVEL EQU 100 + +NUM_MOVES EQU 4 +NUM_STATS EQU 5 +NUM_STAT_MODS EQU 8 +NUM_DVS EQU 2 + +; D733 flags +BIT_TEST_BATTLE EQU 0 + +; battle type constants +BATTLE_TYPE_NORMAL EQU 0 +BATTLE_TYPE_OLD_MAN EQU 1 +BATTLE_TYPE_SAFARI EQU 2 + +; fixed damage constants +SONICBOOM_DAMAGE EQU 20 +DRAGON_RAGE_DAMAGE EQU 40 + ; non-volatile statuses SLP EQU %111 ; sleep counter PSN EQU 3 diff --git a/constants/credits_constants.asm b/constants/credits_constants.asm index f5715072..c9d15e9b 100644 --- a/constants/credits_constants.asm +++ b/constants/credits_constants.asm @@ -1,5 +1,4 @@ -const_value = 0 - + const_def const CRED_VERSION ; $00 const CRED_TAJIRI ; $01 const CRED_TA_OOTA ; $02 @@ -64,4 +63,3 @@ const_value = 0 const CRED_FUKUI ; $3D const CRED_CLUB ; $3E const CRED_PAAD ; $3F - diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 5b73012b..e8697daa 100755 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -1,2562 +1,2561 @@ -const_value = 0 - - const EVENT_FOLLOWED_OAK_INTO_LAB ; 000, (D747, bit 0) - const EVENT_001 ; 001, (D747, bit 1) - const EVENT_002 ; 002, (D747, bit 2) - const EVENT_HALL_OF_FAME_DEX_RATING ; 003, (D747, bit 3) - const EVENT_004 ; 004, (D747, bit 4) - const EVENT_005 ; 005, (D747, bit 5) - const EVENT_PALLET_AFTER_GETTING_POKEBALLS ; 006, (D747, bit 6) - const EVENT_007 ; 007, (D747, bit 7) - const EVENT_008 ; 008, (D748, bit 0) - const EVENT_009 ; 009, (D748, bit 1) - const EVENT_00A ; 00A, (D748, bit 2) - const EVENT_00B ; 00B, (D748, bit 3) - const EVENT_00C ; 00C, (D748, bit 4) - const EVENT_00D ; 00D, (D748, bit 5) - const EVENT_00E ; 00E, (D748, bit 6) - const EVENT_00F ; 00F, (D748, bit 7) - const EVENT_010 ; 010, (D749, bit 0) - const EVENT_011 ; 011, (D749, bit 1) - const EVENT_012 ; 012, (D749, bit 2) - const EVENT_013 ; 013, (D749, bit 3) - const EVENT_014 ; 014, (D749, bit 4) - const EVENT_015 ; 015, (D749, bit 5) - const EVENT_016 ; 016, (D749, bit 6) - const EVENT_017 ; 017, (D749, bit 7) - const EVENT_GOT_TOWN_MAP ; 018, (D74A, bit 0) - const EVENT_ENTERED_BLUES_HOUSE ; 019, (D74A, bit 1) - const EVENT_DAISY_WALKING ; 01A, (D74A, bit 2) - const EVENT_01B ; 01B, (D74A, bit 3) - const EVENT_01C ; 01C, (D74A, bit 4) - const EVENT_01D ; 01D, (D74A, bit 5) - const EVENT_01E ; 01E, (D74A, bit 6) - const EVENT_01F ; 01F, (D74A, bit 7) - const EVENT_FOLLOWED_OAK_INTO_LAB_2 ; 020, (D74B, bit 0) - const EVENT_OAK_ASKED_TO_CHOOSE_MON ; 021, (D74B, bit 1) - const EVENT_GOT_STARTER ; 022, (D74B, bit 2) - const EVENT_BATTLED_RIVAL_IN_OAKS_LAB ; 023, (D74B, bit 3) - const EVENT_GOT_POKEBALLS_FROM_OAK ; 024, (D74B, bit 4) - const EVENT_GOT_POKEDEX ; 025, (D74B, bit 5) - const EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 ; 026, (D74B, bit 6) - const EVENT_OAK_APPEARED_IN_PALLET ; 027, (D74B, bit 7) - const EVENT_VIRIDIAN_GYM_OPEN ; 028, (D74C, bit 0) - const EVENT_GOT_TM42 ; 029, (D74C, bit 1) - const EVENT_02A ; 02A, (D74C, bit 2) - const EVENT_02B ; 02B, (D74C, bit 3) - const EVENT_02C ; 02C, (D74C, bit 4) - const EVENT_02D ; 02D, (D74C, bit 5) - const EVENT_02E ; 02E, (D74C, bit 6) - const EVENT_02F ; 02F, (D74C, bit 7) - const EVENT_030 ; 030, (D74D, bit 0) - const EVENT_031 ; 031, (D74D, bit 1) - const EVENT_032 ; 032, (D74D, bit 2) - const EVENT_033 ; 033, (D74D, bit 3) - const EVENT_034 ; 034, (D74D, bit 4) - const EVENT_035 ; 035, (D74D, bit 5) - const EVENT_036 ; 036, (D74D, bit 6) - const EVENT_037 ; 037, (D74D, bit 7) - const EVENT_OAK_GOT_PARCEL ; 038, (D74E, bit 0) - const EVENT_GOT_OAKS_PARCEL ; 039, (D74E, bit 1) - const EVENT_03A ; 03A, (D74E, bit 2) - const EVENT_03B ; 03B, (D74E, bit 3) - const EVENT_03C ; 03C, (D74E, bit 4) - const EVENT_03D ; 03D, (D74E, bit 5) - const EVENT_03E ; 03E, (D74E, bit 6) - const EVENT_03F ; 03F, (D74E, bit 7) - const EVENT_040 ; 040, (D74F, bit 0) - const EVENT_041 ; 041, (D74F, bit 1) - const EVENT_042 ; 042, (D74F, bit 2) - const EVENT_043 ; 043, (D74F, bit 3) - const EVENT_044 ; 044, (D74F, bit 4) - const EVENT_045 ; 045, (D74F, bit 5) - const EVENT_046 ; 046, (D74F, bit 6) - const EVENT_047 ; 047, (D74F, bit 7) - const EVENT_048 ; 048, (D750, bit 0) - const EVENT_049 ; 049, (D750, bit 1) - const EVENT_04A ; 04A, (D750, bit 2) - const EVENT_04B ; 04B, (D750, bit 3) - const EVENT_04C ; 04C, (D750, bit 4) - const EVENT_04D ; 04D, (D750, bit 5) - const EVENT_04E ; 04E, (D750, bit 6) - const EVENT_04F ; 04F, (D750, bit 7) - const EVENT_GOT_TM27 ; 050, (D751, bit 0) - const EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI ; 051, (D751, bit 1) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 ; 052, (D751, bit 2) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 ; 053, (D751, bit 3) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 ; 054, (D751, bit 4) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 ; 055, (D751, bit 5) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 ; 056, (D751, bit 6) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 ; 057, (D751, bit 7) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6 ; 058, (D752, bit 0) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 ; 059, (D752, bit 1) - const EVENT_05A ; 05A, (D752, bit 2) - const EVENT_05B ; 05B, (D752, bit 3) - const EVENT_05C ; 05C, (D752, bit 4) - const EVENT_05D ; 05D, (D752, bit 5) - const EVENT_05E ; 05E, (D752, bit 6) - const EVENT_05F ; 05F, (D752, bit 7) - const EVENT_060 ; 060, (D753, bit 0) - const EVENT_061 ; 061, (D753, bit 1) - const EVENT_062 ; 062, (D753, bit 2) - const EVENT_063 ; 063, (D753, bit 3) - const EVENT_064 ; 064, (D753, bit 4) - const EVENT_065 ; 065, (D753, bit 5) - const EVENT_066 ; 066, (D753, bit 6) - const EVENT_067 ; 067, (D753, bit 7) - const EVENT_BOUGHT_MUSEUM_TICKET ; 068, (D754, bit 0) - const EVENT_GOT_OLD_AMBER ; 069, (D754, bit 1) - const EVENT_06A ; 06A, (D754, bit 2) - const EVENT_06B ; 06B, (D754, bit 3) - const EVENT_06C ; 06C, (D754, bit 4) - const EVENT_06D ; 06D, (D754, bit 5) - const EVENT_06E ; 06E, (D754, bit 6) - const EVENT_06F ; 06F, (D754, bit 7) - const EVENT_070 ; 070, (D755, bit 0) - const EVENT_071 ; 071, (D755, bit 1) - const EVENT_BEAT_PEWTER_GYM_TRAINER_0 ; 072, (D755, bit 2) - const EVENT_073 ; 073, (D755, bit 3) - const EVENT_074 ; 074, (D755, bit 4) - const EVENT_075 ; 075, (D755, bit 5) - const EVENT_GOT_TM34 ; 076, (D755, bit 6) - const EVENT_BEAT_BROCK ; 077, (D755, bit 7) - const EVENT_078 ; 078, (D756, bit 0) - const EVENT_079 ; 079, (D756, bit 1) - const EVENT_07A ; 07A, (D756, bit 2) - const EVENT_07B ; 07B, (D756, bit 3) - const EVENT_07C ; 07C, (D756, bit 4) - const EVENT_07D ; 07D, (D756, bit 5) - const EVENT_07E ; 07E, (D756, bit 6) - const EVENT_07F ; 07F, (D756, bit 7) - const EVENT_080 ; 080, (D757, bit 0) - const EVENT_081 ; 081, (D757, bit 1) - const EVENT_082 ; 082, (D757, bit 2) - const EVENT_083 ; 083, (D757, bit 3) - const EVENT_084 ; 084, (D757, bit 4) - const EVENT_085 ; 085, (D757, bit 5) - const EVENT_086 ; 086, (D757, bit 6) - const EVENT_087 ; 087, (D757, bit 7) - const EVENT_088 ; 088, (D758, bit 0) - const EVENT_089 ; 089, (D758, bit 1) - const EVENT_08A ; 08A, (D758, bit 2) - const EVENT_08B ; 08B, (D758, bit 3) - const EVENT_08C ; 08C, (D758, bit 4) - const EVENT_08D ; 08D, (D758, bit 5) - const EVENT_08E ; 08E, (D758, bit 6) - const EVENT_08F ; 08F, (D758, bit 7) - const EVENT_090 ; 090, (D759, bit 0) - const EVENT_091 ; 091, (D759, bit 1) - const EVENT_092 ; 092, (D759, bit 2) - const EVENT_093 ; 093, (D759, bit 3) - const EVENT_094 ; 094, (D759, bit 4) - const EVENT_095 ; 095, (D759, bit 5) - const EVENT_096 ; 096, (D759, bit 6) - const EVENT_097 ; 097, (D759, bit 7) - const EVENT_BEAT_CERULEAN_RIVAL ; 098, (D75A, bit 0) - const EVENT_099 ; 099, (D75A, bit 1) - const EVENT_09A ; 09A, (D75A, bit 2) - const EVENT_09B ; 09B, (D75A, bit 3) - const EVENT_09C ; 09C, (D75A, bit 4) - const EVENT_09D ; 09D, (D75A, bit 5) - const EVENT_09E ; 09E, (D75A, bit 6) - const EVENT_09F ; 09F, (D75A, bit 7) - const EVENT_0A0 ; 0A0, (D75B, bit 0) - const EVENT_0A1 ; 0A1, (D75B, bit 1) - const EVENT_0A2 ; 0A2, (D75B, bit 2) - const EVENT_0A3 ; 0A3, (D75B, bit 3) - const EVENT_0A4 ; 0A4, (D75B, bit 4) - const EVENT_0A5 ; 0A5, (D75B, bit 5) - const EVENT_0A6 ; 0A6, (D75B, bit 6) - const EVENT_BEAT_CERULEAN_ROCKET_THIEF ; 0A7, (D75B, bit 7) - const EVENT_0A8 ; 0A8, (D75C, bit 0) - const EVENT_0A9 ; 0A9, (D75C, bit 1) - const EVENT_0AA ; 0AA, (D75C, bit 2) - const EVENT_0AB ; 0AB, (D75C, bit 3) - const EVENT_0AC ; 0AC, (D75C, bit 4) - const EVENT_0AD ; 0AD, (D75C, bit 5) - const EVENT_0AE ; 0AE, (D75C, bit 6) - const EVENT_0AF ; 0AF, (D75C, bit 7) - const EVENT_0B0 ; 0B0, (D75D, bit 0) - const EVENT_0B1 ; 0B1, (D75D, bit 1) - const EVENT_0B2 ; 0B2, (D75D, bit 2) - const EVENT_0B3 ; 0B3, (D75D, bit 3) - const EVENT_0B4 ; 0B4, (D75D, bit 4) - const EVENT_0B5 ; 0B5, (D75D, bit 5) - const EVENT_0B6 ; 0B6, (D75D, bit 6) - const EVENT_0B7 ; 0B7, (D75D, bit 7) - const EVENT_0B8 ; 0B8, (D75E, bit 0) - const EVENT_0B9 ; 0B9, (D75E, bit 1) - const EVENT_BEAT_CERULEAN_GYM_TRAINER_0 ; 0BA, (D75E, bit 2) - const EVENT_BEAT_CERULEAN_GYM_TRAINER_1 ; 0BB, (D75E, bit 3) - const EVENT_0BC ; 0BC, (D75E, bit 4) - const EVENT_0BD ; 0BD, (D75E, bit 5) - const EVENT_GOT_TM11 ; 0BE, (D75E, bit 6) - const EVENT_BEAT_MISTY ; 0BF, (D75E, bit 7) - const EVENT_GOT_BICYCLE ; 0C0, (D75F, bit 0) - const EVENT_0C1 ; 0C1, (D75F, bit 1) - const EVENT_0C2 ; 0C2, (D75F, bit 2) - const EVENT_0C3 ; 0C3, (D75F, bit 3) - const EVENT_0C4 ; 0C4, (D75F, bit 4) - const EVENT_0C5 ; 0C5, (D75F, bit 5) - const EVENT_0C6 ; 0C6, (D75F, bit 6) - const EVENT_0C7 ; 0C7, (D75F, bit 7) - const EVENT_0C8 ; 0C8, (D760, bit 0) - const EVENT_0C9 ; 0C9, (D760, bit 1) - const EVENT_0CA ; 0CA, (D760, bit 2) - const EVENT_0CB ; 0CB, (D760, bit 3) - const EVENT_0CC ; 0CC, (D760, bit 4) - const EVENT_0CD ; 0CD, (D760, bit 5) - const EVENT_0CE ; 0CE, (D760, bit 6) - const EVENT_0CF ; 0CF, (D760, bit 7) - const EVENT_0D0 ; 0D0, (D761, bit 0) - const EVENT_0D1 ; 0D1, (D761, bit 1) - const EVENT_0D2 ; 0D2, (D761, bit 2) - const EVENT_0D3 ; 0D3, (D761, bit 3) - const EVENT_0D4 ; 0D4, (D761, bit 4) - const EVENT_0D5 ; 0D5, (D761, bit 5) - const EVENT_0D6 ; 0D6, (D761, bit 6) - const EVENT_0D7 ; 0D7, (D761, bit 7) - const EVENT_0D8 ; 0D8, (D762, bit 0) - const EVENT_0D9 ; 0D9, (D762, bit 1) - const EVENT_0DA ; 0DA, (D762, bit 2) - const EVENT_0DB ; 0DB, (D762, bit 3) - const EVENT_0DC ; 0DC, (D762, bit 4) - const EVENT_0DD ; 0DD, (D762, bit 5) - const EVENT_0DE ; 0DE, (D762, bit 6) - const EVENT_0DF ; 0DF, (D762, bit 7) - const EVENT_0E0 ; 0E0, (D763, bit 0) - const EVENT_0E1 ; 0E1, (D763, bit 1) - const EVENT_0E2 ; 0E2, (D763, bit 2) - const EVENT_0E3 ; 0E3, (D763, bit 3) - const EVENT_0E4 ; 0E4, (D763, bit 4) - const EVENT_0E5 ; 0E5, (D763, bit 5) - const EVENT_0E6 ; 0E6, (D763, bit 6) - const EVENT_0E7 ; 0E7, (D763, bit 7) - const EVENT_0E8 ; 0E8, (D764, bit 0) - const EVENT_0E9 ; 0E9, (D764, bit 1) - const EVENT_0EA ; 0EA, (D764, bit 2) - const EVENT_0EB ; 0EB, (D764, bit 3) - const EVENT_0EC ; 0EC, (D764, bit 4) - const EVENT_0ED ; 0ED, (D764, bit 5) - const EVENT_POKEMON_TOWER_RIVAL_ON_LEFT ; 0EE, (D764, bit 6) - const EVENT_BEAT_POKEMON_TOWER_RIVAL ; 0EF, (D764, bit 7) - const EVENT_0F0 ; 0F0, (D765, bit 0) - const EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 ; 0F1, (D765, bit 1) - const EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 ; 0F2, (D765, bit 2) - const EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 ; 0F3, (D765, bit 3) - const EVENT_0F4 ; 0F4, (D765, bit 4) - const EVENT_0F5 ; 0F5, (D765, bit 5) - const EVENT_0F6 ; 0F6, (D765, bit 6) - const EVENT_0F7 ; 0F7, (D765, bit 7) - const EVENT_0F8 ; 0F8, (D766, bit 0) - const EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 ; 0F9, (D766, bit 1) - const EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 ; 0FA, (D766, bit 2) - const EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 ; 0FB, (D766, bit 3) - const EVENT_0FC ; 0FC, (D766, bit 4) - const EVENT_0FD ; 0FD, (D766, bit 5) - const EVENT_0FE ; 0FE, (D766, bit 6) - const EVENT_0FF ; 0FF, (D766, bit 7) - const EVENT_100 ; 100, (D767, bit 0) - const EVENT_101 ; 101, (D767, bit 1) - const EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 ; 102, (D767, bit 2) - const EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 ; 103, (D767, bit 3) - const EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 ; 104, (D767, bit 4) - const EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 ; 105, (D767, bit 5) - const EVENT_106 ; 106, (D767, bit 6) - const EVENT_IN_PURIFIED_ZONE ; 107, (D767, bit 7) - const EVENT_108 ; 108, (D768, bit 0) - const EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 ; 109, (D768, bit 1) - const EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 ; 10A, (D768, bit 2) - const EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 ; 10B, (D768, bit 3) - const EVENT_10C ; 10C, (D768, bit 4) - const EVENT_10D ; 10D, (D768, bit 5) - const EVENT_10E ; 10E, (D768, bit 6) - const EVENT_BEAT_GHOST_MAROWAK ; 10F, (D768, bit 7) - const EVENT_110 ; 110, (D769, bit 0) - const EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 ; 111, (D769, bit 1) - const EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 ; 112, (D769, bit 2) - const EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 ; 113, (D769, bit 3) - const EVENT_114 ; 114, (D769, bit 4) - const EVENT_115 ; 115, (D769, bit 5) - const EVENT_116 ; 116, (D769, bit 6) - const EVENT_RESCUED_MR_FUJI_2 ; 117, (D769, bit 7) - const EVENT_118 ; 118, (D76A, bit 0) - const EVENT_119 ; 119, (D76A, bit 1) - const EVENT_11A ; 11A, (D76A, bit 2) - const EVENT_11B ; 11B, (D76A, bit 3) - const EVENT_11C ; 11C, (D76A, bit 4) - const EVENT_11D ; 11D, (D76A, bit 5) - const EVENT_11E ; 11E, (D76A, bit 6) - const EVENT_11F ; 11F, (D76A, bit 7) - const EVENT_120 ; 120, (D76B, bit 0) - const EVENT_121 ; 121, (D76B, bit 1) - const EVENT_122 ; 122, (D76B, bit 2) - const EVENT_123 ; 123, (D76B, bit 3) - const EVENT_124 ; 124, (D76B, bit 4) - const EVENT_125 ; 125, (D76B, bit 5) - const EVENT_126 ; 126, (D76B, bit 6) - const EVENT_127 ; 127, (D76B, bit 7) - const EVENT_GOT_POKE_FLUTE ; 128, (D76C, bit 0) - const EVENT_129 ; 129, (D76C, bit 1) - const EVENT_12A ; 12A, (D76C, bit 2) - const EVENT_12B ; 12B, (D76C, bit 3) - const EVENT_12C ; 12C, (D76C, bit 4) - const EVENT_12D ; 12D, (D76C, bit 5) - const EVENT_12E ; 12E, (D76C, bit 6) - const EVENT_12F ; 12F, (D76C, bit 7) - const EVENT_130 ; 130, (D76D, bit 0) - const EVENT_131 ; 131, (D76D, bit 1) - const EVENT_132 ; 132, (D76D, bit 2) - const EVENT_133 ; 133, (D76D, bit 3) - const EVENT_134 ; 134, (D76D, bit 4) - const EVENT_135 ; 135, (D76D, bit 5) - const EVENT_136 ; 136, (D76D, bit 6) - const EVENT_137 ; 137, (D76D, bit 7) - const EVENT_138 ; 138, (D76E, bit 0) - const EVENT_139 ; 139, (D76E, bit 1) - const EVENT_13A ; 13A, (D76E, bit 2) - const EVENT_13B ; 13B, (D76E, bit 3) - const EVENT_13C ; 13C, (D76E, bit 4) - const EVENT_13D ; 13D, (D76E, bit 5) - const EVENT_13E ; 13E, (D76E, bit 6) - const EVENT_13F ; 13F, (D76E, bit 7) - const EVENT_140 ; 140, (D76F, bit 0) - const EVENT_141 ; 141, (D76F, bit 1) - const EVENT_142 ; 142, (D76F, bit 2) - const EVENT_143 ; 143, (D76F, bit 3) - const EVENT_144 ; 144, (D76F, bit 4) - const EVENT_145 ; 145, (D76F, bit 5) - const EVENT_146 ; 146, (D76F, bit 6) - const EVENT_147 ; 147, (D76F, bit 7) - const EVENT_148 ; 148, (D770, bit 0) - const EVENT_149 ; 149, (D770, bit 1) - const EVENT_14A ; 14A, (D770, bit 2) - const EVENT_14B ; 14B, (D770, bit 3) - const EVENT_14C ; 14C, (D770, bit 4) - const EVENT_14D ; 14D, (D770, bit 5) - const EVENT_14E ; 14E, (D770, bit 6) - const EVENT_14F ; 14F, (D770, bit 7) - const EVENT_150 ; 150, (D771, bit 0) - const EVENT_GOT_BIKE_VOUCHER ; 151, (D771, bit 1) - const EVENT_152 ; 152, (D771, bit 2) - const EVENT_153 ; 153, (D771, bit 3) - const EVENT_154 ; 154, (D771, bit 4) - const EVENT_155 ; 155, (D771, bit 5) - const EVENT_SEEL_FAN_BOAST ; 156, (D771, bit 6) - const EVENT_PIKACHU_FAN_BOAST ; 157, (D771, bit 7) - const EVENT_158 ; 158, (D772, bit 0) - const EVENT_159 ; 159, (D772, bit 1) - const EVENT_15A ; 15A, (D772, bit 2) - const EVENT_15B ; 15B, (D772, bit 3) - const EVENT_15C ; 15C, (D772, bit 4) - const EVENT_15D ; 15D, (D772, bit 5) - const EVENT_15E ; 15E, (D772, bit 6) - const EVENT_15F ; 15F, (D772, bit 7) - const EVENT_2ND_LOCK_OPENED ; 160, (D773, bit 0) - const EVENT_1ST_LOCK_OPENED ; 161, (D773, bit 1) - const EVENT_BEAT_VERMILION_GYM_TRAINER_0 ; 162, (D773, bit 2) - const EVENT_BEAT_VERMILION_GYM_TRAINER_1 ; 163, (D773, bit 3) - const EVENT_BEAT_VERMILION_GYM_TRAINER_2 ; 164, (D773, bit 4) - const EVENT_165 ; 165, (D773, bit 5) - const EVENT_GOT_TM24 ; 166, (D773, bit 6) - const EVENT_BEAT_LT_SURGE ; 167, (D773, bit 7) - const EVENT_168 ; 168, (D774, bit 0) - const EVENT_169 ; 169, (D774, bit 1) - const EVENT_16A ; 16A, (D774, bit 2) - const EVENT_16B ; 16B, (D774, bit 3) - const EVENT_16C ; 16C, (D774, bit 4) - const EVENT_16D ; 16D, (D774, bit 5) - const EVENT_16E ; 16E, (D774, bit 6) - const EVENT_16F ; 16F, (D774, bit 7) - const EVENT_170 ; 170, (D775, bit 0) - const EVENT_171 ; 171, (D775, bit 1) - const EVENT_172 ; 172, (D775, bit 2) - const EVENT_173 ; 173, (D775, bit 3) - const EVENT_174 ; 174, (D775, bit 4) - const EVENT_175 ; 175, (D775, bit 5) - const EVENT_176 ; 176, (D775, bit 6) - const EVENT_177 ; 177, (D775, bit 7) - const EVENT_178 ; 178, (D776, bit 0) - const EVENT_179 ; 179, (D776, bit 1) - const EVENT_17A ; 17A, (D776, bit 2) - const EVENT_17B ; 17B, (D776, bit 3) - const EVENT_17C ; 17C, (D776, bit 4) - const EVENT_17D ; 17D, (D776, bit 5) - const EVENT_17E ; 17E, (D776, bit 6) - const EVENT_17F ; 17F, (D776, bit 7) - const EVENT_GOT_TM41 ; 180, (D777, bit 0) - const EVENT_181 ; 181, (D777, bit 1) - const EVENT_182 ; 182, (D777, bit 2) - const EVENT_183 ; 183, (D777, bit 3) - const EVENT_184 ; 184, (D777, bit 4) - const EVENT_185 ; 185, (D777, bit 5) - const EVENT_186 ; 186, (D777, bit 6) - const EVENT_187 ; 187, (D777, bit 7) - const EVENT_188 ; 188, (D778, bit 0) - const EVENT_189 ; 189, (D778, bit 1) - const EVENT_18A ; 18A, (D778, bit 2) - const EVENT_18B ; 18B, (D778, bit 3) - const EVENT_GOT_TM13 ; 18C, (D778, bit 4) - const EVENT_GOT_TM48 ; 18D, (D778, bit 5) - const EVENT_GOT_TM49 ; 18E, (D778, bit 6) - const EVENT_GOT_TM18 ; 18F, (D778, bit 7) - const EVENT_190 ; 190, (D779, bit 0) - const EVENT_191 ; 191, (D779, bit 1) - const EVENT_192 ; 192, (D779, bit 2) - const EVENT_193 ; 193, (D779, bit 3) - const EVENT_194 ; 194, (D779, bit 4) - const EVENT_195 ; 195, (D779, bit 5) - const EVENT_196 ; 196, (D779, bit 6) - const EVENT_197 ; 197, (D779, bit 7) - const EVENT_198 ; 198, (D77A, bit 0) - const EVENT_199 ; 199, (D77A, bit 1) - const EVENT_19A ; 19A, (D77A, bit 2) - const EVENT_19B ; 19B, (D77A, bit 3) - const EVENT_19C ; 19C, (D77A, bit 4) - const EVENT_19D ; 19D, (D77A, bit 5) - const EVENT_19E ; 19E, (D77A, bit 6) - const EVENT_19F ; 19F, (D77A, bit 7) - const EVENT_1A0 ; 1A0, (D77B, bit 0) - const EVENT_1A1 ; 1A1, (D77B, bit 1) - const EVENT_1A2 ; 1A2, (D77B, bit 2) - const EVENT_1A3 ; 1A3, (D77B, bit 3) - const EVENT_1A4 ; 1A4, (D77B, bit 4) - const EVENT_1A5 ; 1A5, (D77B, bit 5) - const EVENT_1A6 ; 1A6, (D77B, bit 6) - const EVENT_1A7 ; 1A7, (D77B, bit 7) - const EVENT_GOT_TM21 ; 1A8, (D77C, bit 0) - const EVENT_BEAT_ERIKA ; 1A9, (D77C, bit 1) - const EVENT_BEAT_CELADON_GYM_TRAINER_0 ; 1AA, (D77C, bit 2) - const EVENT_BEAT_CELADON_GYM_TRAINER_1 ; 1AB, (D77C, bit 3) - const EVENT_BEAT_CELADON_GYM_TRAINER_2 ; 1AC, (D77C, bit 4) - const EVENT_BEAT_CELADON_GYM_TRAINER_3 ; 1AD, (D77C, bit 5) - const EVENT_BEAT_CELADON_GYM_TRAINER_4 ; 1AE, (D77C, bit 6) - const EVENT_BEAT_CELADON_GYM_TRAINER_5 ; 1AF, (D77C, bit 7) - const EVENT_BEAT_CELADON_GYM_TRAINER_6 ; 1B0, (D77D, bit 0) - const EVENT_1B1 ; 1B1, (D77D, bit 1) - const EVENT_1B2 ; 1B2, (D77D, bit 2) - const EVENT_1B3 ; 1B3, (D77D, bit 3) - const EVENT_1B4 ; 1B4, (D77D, bit 4) - const EVENT_1B5 ; 1B5, (D77D, bit 5) - const EVENT_1B6 ; 1B6, (D77D, bit 6) - const EVENT_1B7 ; 1B7, (D77D, bit 7) - const EVENT_1B8 ; 1B8, (D77E, bit 0) - const EVENT_FOUND_ROCKET_HIDEOUT ; 1B9, (D77E, bit 1) - const EVENT_GOT_10_COINS ; 1BA, (D77E, bit 2) - const EVENT_GOT_20_COINS ; 1BB, (D77E, bit 3) - const EVENT_GOT_20_COINS_2 ; 1BC, (D77E, bit 4) - const EVENT_1BD ; 1BD, (D77E, bit 5) - const EVENT_1BE ; 1BE, (D77E, bit 6) - const EVENT_1BF ; 1BF, (D77E, bit 7) - const EVENT_1C0 ; 1C0, (D77F, bit 0) - const EVENT_1C1 ; 1C1, (D77F, bit 1) - const EVENT_1C2 ; 1C2, (D77F, bit 2) - const EVENT_1C3 ; 1C3, (D77F, bit 3) - const EVENT_1C4 ; 1C4, (D77F, bit 4) - const EVENT_1C5 ; 1C5, (D77F, bit 5) - const EVENT_1C6 ; 1C6, (D77F, bit 6) - const EVENT_1C7 ; 1C7, (D77F, bit 7) - const EVENT_1C8 ; 1C8, (D780, bit 0) - const EVENT_1C9 ; 1C9, (D780, bit 1) - const EVENT_1CA ; 1CA, (D780, bit 2) - const EVENT_1CB ; 1CB, (D780, bit 3) - const EVENT_1CC ; 1CC, (D780, bit 4) - const EVENT_1CD ; 1CD, (D780, bit 5) - const EVENT_1CE ; 1CE, (D780, bit 6) - const EVENT_1CF ; 1CF, (D780, bit 7) - const EVENT_1D0 ; 1D0, (D781, bit 0) - const EVENT_1D1 ; 1D1, (D781, bit 1) - const EVENT_1D2 ; 1D2, (D781, bit 2) - const EVENT_1D3 ; 1D3, (D781, bit 3) - const EVENT_1D4 ; 1D4, (D781, bit 4) - const EVENT_1D5 ; 1D5, (D781, bit 5) - const EVENT_1D6 ; 1D6, (D781, bit 6) - const EVENT_1D7 ; 1D7, (D781, bit 7) - const EVENT_1D8 ; 1D8, (D782, bit 0) - const EVENT_1D9 ; 1D9, (D782, bit 1) - const EVENT_1DA ; 1DA, (D782, bit 2) - const EVENT_1DB ; 1DB, (D782, bit 3) - const EVENT_1DC ; 1DC, (D782, bit 4) - const EVENT_1DD ; 1DD, (D782, bit 5) - const EVENT_1DE ; 1DE, (D782, bit 6) - const EVENT_1DF ; 1DF, (D782, bit 7) - const EVENT_GOT_COIN_CASE ; 1E0, (D783, bit 0) - const EVENT_1E1 ; 1E1, (D783, bit 1) - const EVENT_1E2 ; 1E2, (D783, bit 2) - const EVENT_1E3 ; 1E3, (D783, bit 3) - const EVENT_1E4 ; 1E4, (D783, bit 4) - const EVENT_1E5 ; 1E5, (D783, bit 5) - const EVENT_1E6 ; 1E6, (D783, bit 6) - const EVENT_1E7 ; 1E7, (D783, bit 7) - const EVENT_1E8 ; 1E8, (D784, bit 0) - const EVENT_1E9 ; 1E9, (D784, bit 1) - const EVENT_1EA ; 1EA, (D784, bit 2) - const EVENT_1EB ; 1EB, (D784, bit 3) - const EVENT_1EC ; 1EC, (D784, bit 4) - const EVENT_1ED ; 1ED, (D784, bit 5) - const EVENT_1EE ; 1EE, (D784, bit 6) - const EVENT_1EF ; 1EF, (D784, bit 7) - const EVENT_1F0 ; 1F0, (D785, bit 0) - const EVENT_1F1 ; 1F1, (D785, bit 1) - const EVENT_1F2 ; 1F2, (D785, bit 2) - const EVENT_1F3 ; 1F3, (D785, bit 3) - const EVENT_1F4 ; 1F4, (D785, bit 4) - const EVENT_1F5 ; 1F5, (D785, bit 5) - const EVENT_1F6 ; 1F6, (D785, bit 6) - const EVENT_1F7 ; 1F7, (D785, bit 7) - const EVENT_1F8 ; 1F8, (D786, bit 0) - const EVENT_1F9 ; 1F9, (D786, bit 1) - const EVENT_1FA ; 1FA, (D786, bit 2) - const EVENT_1FB ; 1FB, (D786, bit 3) - const EVENT_1FC ; 1FC, (D786, bit 4) - const EVENT_1FD ; 1FD, (D786, bit 5) - const EVENT_1FE ; 1FE, (D786, bit 6) - const EVENT_1FF ; 1FF, (D786, bit 7) - const EVENT_200 ; 200, (D787, bit 0) - const EVENT_201 ; 201, (D787, bit 1) - const EVENT_202 ; 202, (D787, bit 2) - const EVENT_203 ; 203, (D787, bit 3) - const EVENT_204 ; 204, (D787, bit 4) - const EVENT_205 ; 205, (D787, bit 5) - const EVENT_206 ; 206, (D787, bit 6) - const EVENT_207 ; 207, (D787, bit 7) - const EVENT_208 ; 208, (D788, bit 0) - const EVENT_209 ; 209, (D788, bit 1) - const EVENT_20A ; 20A, (D788, bit 2) - const EVENT_20B ; 20B, (D788, bit 3) - const EVENT_20C ; 20C, (D788, bit 4) - const EVENT_20D ; 20D, (D788, bit 5) - const EVENT_20E ; 20E, (D788, bit 6) - const EVENT_20F ; 20F, (D788, bit 7) - const EVENT_210 ; 210, (D789, bit 0) - const EVENT_211 ; 211, (D789, bit 1) - const EVENT_212 ; 212, (D789, bit 2) - const EVENT_213 ; 213, (D789, bit 3) - const EVENT_214 ; 214, (D789, bit 4) - const EVENT_215 ; 215, (D789, bit 5) - const EVENT_216 ; 216, (D789, bit 6) - const EVENT_217 ; 217, (D789, bit 7) - const EVENT_218 ; 218, (D78A, bit 0) - const EVENT_219 ; 219, (D78A, bit 1) - const EVENT_21A ; 21A, (D78A, bit 2) - const EVENT_21B ; 21B, (D78A, bit 3) - const EVENT_21C ; 21C, (D78A, bit 4) - const EVENT_21D ; 21D, (D78A, bit 5) - const EVENT_21E ; 21E, (D78A, bit 6) - const EVENT_21F ; 21F, (D78A, bit 7) - const EVENT_220 ; 220, (D78B, bit 0) - const EVENT_221 ; 221, (D78B, bit 1) - const EVENT_222 ; 222, (D78B, bit 2) - const EVENT_223 ; 223, (D78B, bit 3) - const EVENT_224 ; 224, (D78B, bit 4) - const EVENT_225 ; 225, (D78B, bit 5) - const EVENT_226 ; 226, (D78B, bit 6) - const EVENT_227 ; 227, (D78B, bit 7) - const EVENT_228 ; 228, (D78C, bit 0) - const EVENT_229 ; 229, (D78C, bit 1) - const EVENT_22A ; 22A, (D78C, bit 2) - const EVENT_22B ; 22B, (D78C, bit 3) - const EVENT_22C ; 22C, (D78C, bit 4) - const EVENT_22D ; 22D, (D78C, bit 5) - const EVENT_22E ; 22E, (D78C, bit 6) - const EVENT_22F ; 22F, (D78C, bit 7) - const EVENT_230 ; 230, (D78D, bit 0) - const EVENT_231 ; 231, (D78D, bit 1) - const EVENT_232 ; 232, (D78D, bit 2) - const EVENT_233 ; 233, (D78D, bit 3) - const EVENT_234 ; 234, (D78D, bit 4) - const EVENT_235 ; 235, (D78D, bit 5) - const EVENT_236 ; 236, (D78D, bit 6) - const EVENT_237 ; 237, (D78D, bit 7) - const EVENT_GOT_HM04 ; 238, (D78E, bit 0) - const EVENT_GAVE_GOLD_TEETH ; 239, (D78E, bit 1) - const EVENT_23A ; 23A, (D78E, bit 2) - const EVENT_23B ; 23B, (D78E, bit 3) - const EVENT_23C ; 23C, (D78E, bit 4) - const EVENT_23D ; 23D, (D78E, bit 5) - const EVENT_23E ; 23E, (D78E, bit 6) - const EVENT_23F ; 23F, (D78E, bit 7) - const EVENT_240 ; 240, (D78F, bit 0) - const EVENT_241 ; 241, (D78F, bit 1) - const EVENT_242 ; 242, (D78F, bit 2) - const EVENT_243 ; 243, (D78F, bit 3) - const EVENT_244 ; 244, (D78F, bit 4) - const EVENT_245 ; 245, (D78F, bit 5) - const EVENT_246 ; 246, (D78F, bit 6) - const EVENT_247 ; 247, (D78F, bit 7) - const EVENT_248 ; 248, (D790, bit 0) - const EVENT_249 ; 249, (D790, bit 1) - const EVENT_24A ; 24A, (D790, bit 2) - const EVENT_24B ; 24B, (D790, bit 3) - const EVENT_24C ; 24C, (D790, bit 4) - const EVENT_24D ; 24D, (D790, bit 5) - const EVENT_SAFARI_GAME_OVER ; 24E, (D790, bit 6) - const EVENT_IN_SAFARI_ZONE ; 24F, (D790, bit 7) - const EVENT_250 ; 250, (D791, bit 0) - const EVENT_251 ; 251, (D791, bit 1) - const EVENT_252 ; 252, (D791, bit 2) - const EVENT_253 ; 253, (D791, bit 3) - const EVENT_254 ; 254, (D791, bit 4) - const EVENT_255 ; 255, (D791, bit 5) - const EVENT_256 ; 256, (D791, bit 6) - const EVENT_257 ; 257, (D791, bit 7) - const EVENT_GOT_TM06 ; 258, (D792, bit 0) - const EVENT_BEAT_KOGA ; 259, (D792, bit 1) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 ; 25A, (D792, bit 2) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 ; 25B, (D792, bit 3) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 ; 25C, (D792, bit 4) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 ; 25D, (D792, bit 5) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 ; 25E, (D792, bit 6) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 ; 25F, (D792, bit 7) - const EVENT_260 ; 260, (D793, bit 0) - const EVENT_261 ; 261, (D793, bit 1) - const EVENT_262 ; 262, (D793, bit 2) - const EVENT_263 ; 263, (D793, bit 3) - const EVENT_264 ; 264, (D793, bit 4) - const EVENT_265 ; 265, (D793, bit 5) - const EVENT_266 ; 266, (D793, bit 6) - const EVENT_267 ; 267, (D793, bit 7) - const EVENT_268 ; 268, (D794, bit 0) - const EVENT_269 ; 269, (D794, bit 1) - const EVENT_26A ; 26A, (D794, bit 2) - const EVENT_26B ; 26B, (D794, bit 3) - const EVENT_26C ; 26C, (D794, bit 4) - const EVENT_26D ; 26D, (D794, bit 5) - const EVENT_26E ; 26E, (D794, bit 6) - const EVENT_26F ; 26F, (D794, bit 7) - const EVENT_270 ; 270, (D795, bit 0) - const EVENT_271 ; 271, (D795, bit 1) - const EVENT_272 ; 272, (D795, bit 2) - const EVENT_273 ; 273, (D795, bit 3) - const EVENT_274 ; 274, (D795, bit 4) - const EVENT_275 ; 275, (D795, bit 5) - const EVENT_276 ; 276, (D795, bit 6) - const EVENT_277 ; 277, (D795, bit 7) - const EVENT_MANSION_SWITCH_ON ; 278, (D796, bit 0) - const EVENT_279 ; 279, (D796, bit 1) - const EVENT_27A ; 27A, (D796, bit 2) - const EVENT_27B ; 27B, (D796, bit 3) - const EVENT_27C ; 27C, (D796, bit 4) - const EVENT_27D ; 27D, (D796, bit 5) - const EVENT_27E ; 27E, (D796, bit 6) - const EVENT_27F ; 27F, (D796, bit 7) - const EVENT_280 ; 280, (D797, bit 0) - const EVENT_281 ; 281, (D797, bit 1) - const EVENT_282 ; 282, (D797, bit 2) - const EVENT_283 ; 283, (D797, bit 3) - const EVENT_284 ; 284, (D797, bit 4) - const EVENT_285 ; 285, (D797, bit 5) - const EVENT_286 ; 286, (D797, bit 6) - const EVENT_287 ; 287, (D797, bit 7) - const EVENT_288 ; 288, (D798, bit 0) - const EVENT_BEAT_MANSION_1_TRAINER_0 ; 289, (D798, bit 1) - const EVENT_28A ; 28A, (D798, bit 2) - const EVENT_28B ; 28B, (D798, bit 3) - const EVENT_28C ; 28C, (D798, bit 4) - const EVENT_28D ; 28D, (D798, bit 5) - const EVENT_28E ; 28E, (D798, bit 6) - const EVENT_28F ; 28F, (D798, bit 7) - const EVENT_290 ; 290, (D799, bit 0) - const EVENT_291 ; 291, (D799, bit 1) - const EVENT_292 ; 292, (D799, bit 2) - const EVENT_293 ; 293, (D799, bit 3) - const EVENT_294 ; 294, (D799, bit 4) - const EVENT_295 ; 295, (D799, bit 5) - const EVENT_296 ; 296, (D799, bit 6) - const EVENT_297 ; 297, (D799, bit 7) - const EVENT_GOT_TM38 ; 298, (D79A, bit 0) - const EVENT_BEAT_BLAINE ; 299, (D79A, bit 1) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_0 ; 29A, (D79A, bit 2) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_1 ; 29B, (D79A, bit 3) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_2 ; 29C, (D79A, bit 4) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_3 ; 29D, (D79A, bit 5) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_4 ; 29E, (D79A, bit 6) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_5 ; 29F, (D79A, bit 7) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_6 ; 2A0, (D79B, bit 0) - const EVENT_2A1 ; 2A1, (D79B, bit 1) - const EVENT_2A2 ; 2A2, (D79B, bit 2) - const EVENT_2A3 ; 2A3, (D79B, bit 3) - const EVENT_2A4 ; 2A4, (D79B, bit 4) - const EVENT_2A5 ; 2A5, (D79B, bit 5) - const EVENT_2A6 ; 2A6, (D79B, bit 6) - const EVENT_2A7 ; 2A7, (D79B, bit 7) - const EVENT_CINNABAR_GYM_GATE0_UNLOCKED ; 2A8, (D79C, bit 0) doesn't exist, but the bit is set - const EVENT_CINNABAR_GYM_GATE1_UNLOCKED ; 2A9, (D79C, bit 1) - const EVENT_CINNABAR_GYM_GATE2_UNLOCKED ; 2AA, (D79C, bit 2) - const EVENT_CINNABAR_GYM_GATE3_UNLOCKED ; 2AB, (D79C, bit 3) - const EVENT_CINNABAR_GYM_GATE4_UNLOCKED ; 2AC, (D79C, bit 4) - const EVENT_CINNABAR_GYM_GATE5_UNLOCKED ; 2AD, (D79C, bit 5) - const EVENT_CINNABAR_GYM_GATE6_UNLOCKED ; 2AE, (D79C, bit 6) - const EVENT_2AF ; 2AF, (D79C, bit 7) - const EVENT_2B0 ; 2B0, (D79D, bit 0) - const EVENT_2B1 ; 2B1, (D79D, bit 1) - const EVENT_2B2 ; 2B2, (D79D, bit 2) - const EVENT_2B3 ; 2B3, (D79D, bit 3) - const EVENT_2B4 ; 2B4, (D79D, bit 4) - const EVENT_2B5 ; 2B5, (D79D, bit 5) - const EVENT_2B6 ; 2B6, (D79D, bit 6) - const EVENT_2B7 ; 2B7, (D79D, bit 7) - const EVENT_2B8 ; 2B8, (D79E, bit 0) - const EVENT_2B9 ; 2B9, (D79E, bit 1) - const EVENT_2BA ; 2BA, (D79E, bit 2) - const EVENT_2BB ; 2BB, (D79E, bit 3) - const EVENT_2BC ; 2BC, (D79E, bit 4) - const EVENT_2BD ; 2BD, (D79E, bit 5) - const EVENT_2BE ; 2BE, (D79E, bit 6) - const EVENT_2BF ; 2BF, (D79E, bit 7) - const EVENT_2C0 ; 2C0, (D79F, bit 0) - const EVENT_2C1 ; 2C1, (D79F, bit 1) - const EVENT_2C2 ; 2C2, (D79F, bit 2) - const EVENT_2C3 ; 2C3, (D79F, bit 3) - const EVENT_2C4 ; 2C4, (D79F, bit 4) - const EVENT_2C5 ; 2C5, (D79F, bit 5) - const EVENT_2C6 ; 2C6, (D79F, bit 6) - const EVENT_2C7 ; 2C7, (D79F, bit 7) - const EVENT_2C8 ; 2C8, (D7A0, bit 0) - const EVENT_2C9 ; 2C9, (D7A0, bit 1) - const EVENT_2CA ; 2CA, (D7A0, bit 2) - const EVENT_2CB ; 2CB, (D7A0, bit 3) - const EVENT_2CC ; 2CC, (D7A0, bit 4) - const EVENT_2CD ; 2CD, (D7A0, bit 5) - const EVENT_2CE ; 2CE, (D7A0, bit 6) - const EVENT_2CF ; 2CF, (D7A0, bit 7) - const EVENT_2D0 ; 2D0, (D7A1, bit 0) - const EVENT_2D1 ; 2D1, (D7A1, bit 1) - const EVENT_2D2 ; 2D2, (D7A1, bit 2) - const EVENT_2D3 ; 2D3, (D7A1, bit 3) - const EVENT_2D4 ; 2D4, (D7A1, bit 4) - const EVENT_2D5 ; 2D5, (D7A1, bit 5) - const EVENT_2D6 ; 2D6, (D7A1, bit 6) - const EVENT_GOT_TM35 ; 2D7, (D7A1, bit 7) - const EVENT_2D8 ; 2D8, (D7A2, bit 0) - const EVENT_2D9 ; 2D9, (D7A2, bit 1) - const EVENT_2DA ; 2DA, (D7A2, bit 2) - const EVENT_2DB ; 2DB, (D7A2, bit 3) - const EVENT_2DC ; 2DC, (D7A2, bit 4) - const EVENT_2DD ; 2DD, (D7A2, bit 5) - const EVENT_2DE ; 2DE, (D7A2, bit 6) - const EVENT_2DF ; 2DF, (D7A2, bit 7) - const EVENT_GAVE_FOSSIL_TO_LAB ; 2E0, (D7A3, bit 0) - const EVENT_LAB_STILL_REVIVING_FOSSIL ; 2E1, (D7A3, bit 1) - const EVENT_LAB_HANDING_OVER_FOSSIL_MON ; 2E2, (D7A3, bit 2) - const EVENT_2E3 ; 2E3, (D7A3, bit 3) - const EVENT_2E4 ; 2E4, (D7A3, bit 4) - const EVENT_2E5 ; 2E5, (D7A3, bit 5) - const EVENT_2E6 ; 2E6, (D7A3, bit 6) - const EVENT_2E7 ; 2E7, (D7A3, bit 7) - const EVENT_2E8 ; 2E8, (D7A4, bit 0) - const EVENT_2E9 ; 2E9, (D7A4, bit 1) - const EVENT_2EA ; 2EA, (D7A4, bit 2) - const EVENT_2EB ; 2EB, (D7A4, bit 3) - const EVENT_2EC ; 2EC, (D7A4, bit 4) - const EVENT_2ED ; 2ED, (D7A4, bit 5) - const EVENT_2EE ; 2EE, (D7A4, bit 6) - const EVENT_2EF ; 2EF, (D7A4, bit 7) - const EVENT_2F0 ; 2F0, (D7A5, bit 0) - const EVENT_2F1 ; 2F1, (D7A5, bit 1) - const EVENT_2F2 ; 2F2, (D7A5, bit 2) - const EVENT_2F3 ; 2F3, (D7A5, bit 3) - const EVENT_2F4 ; 2F4, (D7A5, bit 4) - const EVENT_2F5 ; 2F5, (D7A5, bit 5) - const EVENT_2F6 ; 2F6, (D7A5, bit 6) - const EVENT_2F7 ; 2F7, (D7A5, bit 7) - const EVENT_2F8 ; 2F8, (D7A6, bit 0) - const EVENT_2F9 ; 2F9, (D7A6, bit 1) - const EVENT_2FA ; 2FA, (D7A6, bit 2) - const EVENT_2FB ; 2FB, (D7A6, bit 3) - const EVENT_2FC ; 2FC, (D7A6, bit 4) - const EVENT_2FD ; 2FD, (D7A6, bit 5) - const EVENT_2FE ; 2FE, (D7A6, bit 6) - const EVENT_2FF ; 2FF, (D7A6, bit 7) - const EVENT_300 ; 300, (D7A7, bit 0) - const EVENT_301 ; 301, (D7A7, bit 1) - const EVENT_302 ; 302, (D7A7, bit 2) - const EVENT_303 ; 303, (D7A7, bit 3) - const EVENT_304 ; 304, (D7A7, bit 4) - const EVENT_305 ; 305, (D7A7, bit 5) - const EVENT_306 ; 306, (D7A7, bit 6) - const EVENT_307 ; 307, (D7A7, bit 7) - const EVENT_308 ; 308, (D7A8, bit 0) - const EVENT_309 ; 309, (D7A8, bit 1) - const EVENT_30A ; 30A, (D7A8, bit 2) - const EVENT_30B ; 30B, (D7A8, bit 3) - const EVENT_30C ; 30C, (D7A8, bit 4) - const EVENT_30D ; 30D, (D7A8, bit 5) - const EVENT_30E ; 30E, (D7A8, bit 6) - const EVENT_30F ; 30F, (D7A8, bit 7) - const EVENT_310 ; 310, (D7A9, bit 0) - const EVENT_311 ; 311, (D7A9, bit 1) - const EVENT_312 ; 312, (D7A9, bit 2) - const EVENT_313 ; 313, (D7A9, bit 3) - const EVENT_314 ; 314, (D7A9, bit 4) - const EVENT_315 ; 315, (D7A9, bit 5) - const EVENT_316 ; 316, (D7A9, bit 6) - const EVENT_317 ; 317, (D7A9, bit 7) - const EVENT_318 ; 318, (D7AA, bit 0) - const EVENT_319 ; 319, (D7AA, bit 1) - const EVENT_31A ; 31A, (D7AA, bit 2) - const EVENT_31B ; 31B, (D7AA, bit 3) - const EVENT_31C ; 31C, (D7AA, bit 4) - const EVENT_31D ; 31D, (D7AA, bit 5) - const EVENT_31E ; 31E, (D7AA, bit 6) - const EVENT_31F ; 31F, (D7AA, bit 7) - const EVENT_320 ; 320, (D7AB, bit 0) - const EVENT_321 ; 321, (D7AB, bit 1) - const EVENT_322 ; 322, (D7AB, bit 2) - const EVENT_323 ; 323, (D7AB, bit 3) - const EVENT_324 ; 324, (D7AB, bit 4) - const EVENT_325 ; 325, (D7AB, bit 5) - const EVENT_326 ; 326, (D7AB, bit 6) - const EVENT_327 ; 327, (D7AB, bit 7) - const EVENT_328 ; 328, (D7AC, bit 0) - const EVENT_329 ; 329, (D7AC, bit 1) - const EVENT_32A ; 32A, (D7AC, bit 2) - const EVENT_32B ; 32B, (D7AC, bit 3) - const EVENT_32C ; 32C, (D7AC, bit 4) - const EVENT_32D ; 32D, (D7AC, bit 5) - const EVENT_32E ; 32E, (D7AC, bit 6) - const EVENT_32F ; 32F, (D7AC, bit 7) - const EVENT_330 ; 330, (D7AD, bit 0) - const EVENT_331 ; 331, (D7AD, bit 1) - const EVENT_332 ; 332, (D7AD, bit 2) - const EVENT_333 ; 333, (D7AD, bit 3) - const EVENT_334 ; 334, (D7AD, bit 4) - const EVENT_335 ; 335, (D7AD, bit 5) - const EVENT_336 ; 336, (D7AD, bit 6) - const EVENT_337 ; 337, (D7AD, bit 7) - const EVENT_338 ; 338, (D7AE, bit 0) - const EVENT_339 ; 339, (D7AE, bit 1) - const EVENT_33A ; 33A, (D7AE, bit 2) - const EVENT_33B ; 33B, (D7AE, bit 3) - const EVENT_33C ; 33C, (D7AE, bit 4) - const EVENT_33D ; 33D, (D7AE, bit 5) - const EVENT_33E ; 33E, (D7AE, bit 6) - const EVENT_33F ; 33F, (D7AE, bit 7) - const EVENT_GOT_TM31 ; 340, (D7AF, bit 0) - const EVENT_341 ; 341, (D7AF, bit 1) - const EVENT_342 ; 342, (D7AF, bit 2) - const EVENT_343 ; 343, (D7AF, bit 3) - const EVENT_344 ; 344, (D7AF, bit 4) - const EVENT_345 ; 345, (D7AF, bit 5) - const EVENT_346 ; 346, (D7AF, bit 6) - const EVENT_347 ; 347, (D7AF, bit 7) - const EVENT_348 ; 348, (D7B0, bit 0) - const EVENT_349 ; 349, (D7B0, bit 1) - const EVENT_34A ; 34A, (D7B0, bit 2) - const EVENT_34B ; 34B, (D7B0, bit 3) - const EVENT_34C ; 34C, (D7B0, bit 4) - const EVENT_34D ; 34D, (D7B0, bit 5) - const EVENT_34E ; 34E, (D7B0, bit 6) - const EVENT_34F ; 34F, (D7B0, bit 7) - const EVENT_DEFEATED_FIGHTING_DOJO ; 350, (D7B1, bit 0) - const EVENT_BEAT_KARATE_MASTER ; 351, (D7B1, bit 1) - const EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 ; 352, (D7B1, bit 2) - const EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 ; 353, (D7B1, bit 3) - const EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 ; 354, (D7B1, bit 4) - const EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 ; 355, (D7B1, bit 5) - const EVENT_GOT_HITMONLEE ; 356, (D7B1, bit 6) - const EVENT_GOT_HITMONCHAN ; 357, (D7B1, bit 7) - const EVENT_358 ; 358, (D7B2, bit 0) - const EVENT_359 ; 359, (D7B2, bit 1) - const EVENT_35A ; 35A, (D7B2, bit 2) - const EVENT_35B ; 35B, (D7B2, bit 3) - const EVENT_35C ; 35C, (D7B2, bit 4) - const EVENT_35D ; 35D, (D7B2, bit 5) - const EVENT_35E ; 35E, (D7B2, bit 6) - const EVENT_35F ; 35F, (D7B2, bit 7) - const EVENT_GOT_TM46 ; 360, (D7B3, bit 0) - const EVENT_BEAT_SABRINA ; 361, (D7B3, bit 1) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_0 ; 362, (D7B3, bit 2) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_1 ; 363, (D7B3, bit 3) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_2 ; 364, (D7B3, bit 4) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_3 ; 365, (D7B3, bit 5) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_4 ; 366, (D7B3, bit 6) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_5 ; 367, (D7B3, bit 7) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_6 ; 368, (D7B4, bit 0) - const EVENT_369 ; 369, (D7B4, bit 1) - const EVENT_36A ; 36A, (D7B4, bit 2) - const EVENT_36B ; 36B, (D7B4, bit 3) - const EVENT_36C ; 36C, (D7B4, bit 4) - const EVENT_36D ; 36D, (D7B4, bit 5) - const EVENT_36E ; 36E, (D7B4, bit 6) - const EVENT_36F ; 36F, (D7B4, bit 7) - const EVENT_370 ; 370, (D7B5, bit 0) - const EVENT_371 ; 371, (D7B5, bit 1) - const EVENT_372 ; 372, (D7B5, bit 2) - const EVENT_373 ; 373, (D7B5, bit 3) - const EVENT_374 ; 374, (D7B5, bit 4) - const EVENT_375 ; 375, (D7B5, bit 5) - const EVENT_376 ; 376, (D7B5, bit 6) - const EVENT_377 ; 377, (D7B5, bit 7) - const EVENT_378 ; 378, (D7B6, bit 0) - const EVENT_379 ; 379, (D7B6, bit 1) - const EVENT_37A ; 37A, (D7B6, bit 2) - const EVENT_37B ; 37B, (D7B6, bit 3) - const EVENT_37C ; 37C, (D7B6, bit 4) - const EVENT_37D ; 37D, (D7B6, bit 5) - const EVENT_37E ; 37E, (D7B6, bit 6) - const EVENT_37F ; 37F, (D7B6, bit 7) - const EVENT_380 ; 380, (D7B7, bit 0) - const EVENT_381 ; 381, (D7B7, bit 1) - const EVENT_382 ; 382, (D7B7, bit 2) - const EVENT_383 ; 383, (D7B7, bit 3) - const EVENT_384 ; 384, (D7B7, bit 4) - const EVENT_385 ; 385, (D7B7, bit 5) - const EVENT_386 ; 386, (D7B7, bit 6) - const EVENT_387 ; 387, (D7B7, bit 7) - const EVENT_388 ; 388, (D7B8, bit 0) - const EVENT_389 ; 389, (D7B8, bit 1) - const EVENT_38A ; 38A, (D7B8, bit 2) - const EVENT_38B ; 38B, (D7B8, bit 3) - const EVENT_38C ; 38C, (D7B8, bit 4) - const EVENT_38D ; 38D, (D7B8, bit 5) - const EVENT_38E ; 38E, (D7B8, bit 6) - const EVENT_38F ; 38F, (D7B8, bit 7) - const EVENT_390 ; 390, (D7B9, bit 0) - const EVENT_391 ; 391, (D7B9, bit 1) - const EVENT_392 ; 392, (D7B9, bit 2) - const EVENT_393 ; 393, (D7B9, bit 3) - const EVENT_394 ; 394, (D7B9, bit 4) - const EVENT_395 ; 395, (D7B9, bit 5) - const EVENT_396 ; 396, (D7B9, bit 6) - const EVENT_SILPH_CO_RECEPTIONIST_AT_DESK ; 397, (D7B9, bit 7) - const EVENT_398 ; 398, (D7BA, bit 0) - const EVENT_399 ; 399, (D7BA, bit 1) - const EVENT_39A ; 39A, (D7BA, bit 2) - const EVENT_39B ; 39B, (D7BA, bit 3) - const EVENT_39C ; 39C, (D7BA, bit 4) - const EVENT_39D ; 39D, (D7BA, bit 5) - const EVENT_39E ; 39E, (D7BA, bit 6) - const EVENT_39F ; 39F, (D7BA, bit 7) - const EVENT_3A0 ; 3A0, (D7BB, bit 0) - const EVENT_3A1 ; 3A1, (D7BB, bit 1) - const EVENT_3A2 ; 3A2, (D7BB, bit 2) - const EVENT_3A3 ; 3A3, (D7BB, bit 3) - const EVENT_3A4 ; 3A4, (D7BB, bit 4) - const EVENT_3A5 ; 3A5, (D7BB, bit 5) - const EVENT_3A6 ; 3A6, (D7BB, bit 6) - const EVENT_3A7 ; 3A7, (D7BB, bit 7) - const EVENT_3A8 ; 3A8, (D7BC, bit 0) - const EVENT_3A9 ; 3A9, (D7BC, bit 1) - const EVENT_3AA ; 3AA, (D7BC, bit 2) - const EVENT_3AB ; 3AB, (D7BC, bit 3) - const EVENT_3AC ; 3AC, (D7BC, bit 4) - const EVENT_3AD ; 3AD, (D7BC, bit 5) - const EVENT_3AE ; 3AE, (D7BC, bit 6) - const EVENT_3AF ; 3AF, (D7BC, bit 7) - const EVENT_GOT_TM29 ; 3B0, (D7BD, bit 0) - const EVENT_3B1 ; 3B1, (D7BD, bit 1) - const EVENT_3B2 ; 3B2, (D7BD, bit 2) - const EVENT_3B3 ; 3B3, (D7BD, bit 3) - const EVENT_3B4 ; 3B4, (D7BD, bit 4) - const EVENT_3B5 ; 3B5, (D7BD, bit 5) - const EVENT_3B6 ; 3B6, (D7BD, bit 6) - const EVENT_3B7 ; 3B7, (D7BD, bit 7) - const EVENT_3B8 ; 3B8, (D7BE, bit 0) - const EVENT_3B9 ; 3B9, (D7BE, bit 1) - const EVENT_3BA ; 3BA, (D7BE, bit 2) - const EVENT_3BB ; 3BB, (D7BE, bit 3) - const EVENT_3BC ; 3BC, (D7BE, bit 4) - const EVENT_3BD ; 3BD, (D7BE, bit 5) - const EVENT_3BE ; 3BE, (D7BE, bit 6) - const EVENT_3BF ; 3BF, (D7BE, bit 7) - const EVENT_GOT_POTION_SAMPLE ; 3C0, (D7BF, bit 0) - const EVENT_3C1 ; 3C1, (D7BF, bit 1) - const EVENT_3C2 ; 3C2, (D7BF, bit 2) - const EVENT_3C3 ; 3C3, (D7BF, bit 3) - const EVENT_3C4 ; 3C4, (D7BF, bit 4) - const EVENT_3C5 ; 3C5, (D7BF, bit 5) - const EVENT_3C6 ; 3C6, (D7BF, bit 6) - const EVENT_3C7 ; 3C7, (D7BF, bit 7) - const EVENT_3C8 ; 3C8, (D7C0, bit 0) - const EVENT_3C9 ; 3C9, (D7C0, bit 1) - const EVENT_3CA ; 3CA, (D7C0, bit 2) - const EVENT_3CB ; 3CB, (D7C0, bit 3) - const EVENT_3CC ; 3CC, (D7C0, bit 4) - const EVENT_3CD ; 3CD, (D7C0, bit 5) - const EVENT_3CE ; 3CE, (D7C0, bit 6) - const EVENT_3CF ; 3CF, (D7C0, bit 7) - const EVENT_3D0 ; 3D0, (D7C1, bit 0) - const EVENT_3D1 ; 3D1, (D7C1, bit 1) - const EVENT_3D2 ; 3D2, (D7C1, bit 2) - const EVENT_3D3 ; 3D3, (D7C1, bit 3) - const EVENT_3D4 ; 3D4, (D7C1, bit 4) - const EVENT_3D5 ; 3D5, (D7C1, bit 5) - const EVENT_3D6 ; 3D6, (D7C1, bit 6) - const EVENT_3D7 ; 3D7, (D7C1, bit 7) - const EVENT_GOT_HM05 ; 3D8, (D7C2, bit 0) - const EVENT_3D9 ; 3D9, (D7C2, bit 1) - const EVENT_3DA ; 3DA, (D7C2, bit 2) - const EVENT_3DB ; 3DB, (D7C2, bit 3) - const EVENT_3DC ; 3DC, (D7C2, bit 4) - const EVENT_3DD ; 3DD, (D7C2, bit 5) - const EVENT_3DE ; 3DE, (D7C2, bit 6) - const EVENT_3DF ; 3DF, (D7C2, bit 7) - const EVENT_3E0 ; 3E0, (D7C3, bit 0) - const EVENT_3E1 ; 3E1, (D7C3, bit 1) - const EVENT_BEAT_ROUTE_3_TRAINER_0 ; 3E2, (D7C3, bit 2) - const EVENT_BEAT_ROUTE_3_TRAINER_1 ; 3E3, (D7C3, bit 3) - const EVENT_BEAT_ROUTE_3_TRAINER_2 ; 3E4, (D7C3, bit 4) - const EVENT_BEAT_ROUTE_3_TRAINER_3 ; 3E5, (D7C3, bit 5) - const EVENT_BEAT_ROUTE_3_TRAINER_4 ; 3E6, (D7C3, bit 6) - const EVENT_BEAT_ROUTE_3_TRAINER_5 ; 3E7, (D7C3, bit 7) - const EVENT_BEAT_ROUTE_3_TRAINER_6 ; 3E8, (D7C4, bit 0) - const EVENT_BEAT_ROUTE_3_TRAINER_7 ; 3E9, (D7C4, bit 1) - const EVENT_3EA ; 3EA, (D7C4, bit 2) - const EVENT_3EB ; 3EB, (D7C4, bit 3) - const EVENT_3EC ; 3EC, (D7C4, bit 4) - const EVENT_3ED ; 3ED, (D7C4, bit 5) - const EVENT_3EE ; 3EE, (D7C4, bit 6) - const EVENT_3EF ; 3EF, (D7C4, bit 7) - const EVENT_3F0 ; 3F0, (D7C5, bit 0) - const EVENT_3F1 ; 3F1, (D7C5, bit 1) - const EVENT_BEAT_ROUTE_4_TRAINER_0 ; 3F2, (D7C5, bit 2) - const EVENT_3F3 ; 3F3, (D7C5, bit 3) - const EVENT_3F4 ; 3F4, (D7C5, bit 4) - const EVENT_3F5 ; 3F5, (D7C5, bit 5) - const EVENT_3F6 ; 3F6, (D7C5, bit 6) - const EVENT_3F7 ; 3F7, (D7C5, bit 7) - const EVENT_3F8 ; 3F8, (D7C6, bit 0) - const EVENT_3F9 ; 3F9, (D7C6, bit 1) - const EVENT_3FA ; 3FA, (D7C6, bit 2) - const EVENT_3FB ; 3FB, (D7C6, bit 3) - const EVENT_3FC ; 3FC, (D7C6, bit 4) - const EVENT_3FD ; 3FD, (D7C6, bit 5) - const EVENT_3FE ; 3FE, (D7C6, bit 6) - const EVENT_BOUGHT_MAGIKARP ; 3FF, (D7C6, bit 7) - const EVENT_400 ; 400, (D7C7, bit 0) - const EVENT_401 ; 401, (D7C7, bit 1) - const EVENT_402 ; 402, (D7C7, bit 2) - const EVENT_403 ; 403, (D7C7, bit 3) - const EVENT_404 ; 404, (D7C7, bit 4) - const EVENT_405 ; 405, (D7C7, bit 5) - const EVENT_406 ; 406, (D7C7, bit 6) - const EVENT_407 ; 407, (D7C7, bit 7) - const EVENT_408 ; 408, (D7C8, bit 0) - const EVENT_409 ; 409, (D7C8, bit 1) - const EVENT_40A ; 40A, (D7C8, bit 2) - const EVENT_40B ; 40B, (D7C8, bit 3) - const EVENT_40C ; 40C, (D7C8, bit 4) - const EVENT_40D ; 40D, (D7C8, bit 5) - const EVENT_40E ; 40E, (D7C8, bit 6) - const EVENT_40F ; 40F, (D7C8, bit 7) - const EVENT_410 ; 410, (D7C9, bit 0) - const EVENT_BEAT_ROUTE_6_TRAINER_0 ; 411, (D7C9, bit 1) - const EVENT_BEAT_ROUTE_6_TRAINER_1 ; 412, (D7C9, bit 2) - const EVENT_BEAT_ROUTE_6_TRAINER_2 ; 413, (D7C9, bit 3) - const EVENT_BEAT_ROUTE_6_TRAINER_3 ; 414, (D7C9, bit 4) - const EVENT_BEAT_ROUTE_6_TRAINER_4 ; 415, (D7C9, bit 5) - const EVENT_BEAT_ROUTE_6_TRAINER_5 ; 416, (D7C9, bit 6) - const EVENT_417 ; 417, (D7C9, bit 7) - const EVENT_418 ; 418, (D7CA, bit 0) - const EVENT_419 ; 419, (D7CA, bit 1) - const EVENT_41A ; 41A, (D7CA, bit 2) - const EVENT_41B ; 41B, (D7CA, bit 3) - const EVENT_41C ; 41C, (D7CA, bit 4) - const EVENT_41D ; 41D, (D7CA, bit 5) - const EVENT_41E ; 41E, (D7CA, bit 6) - const EVENT_41F ; 41F, (D7CA, bit 7) - const EVENT_420 ; 420, (D7CB, bit 0) - const EVENT_421 ; 421, (D7CB, bit 1) - const EVENT_422 ; 422, (D7CB, bit 2) - const EVENT_423 ; 423, (D7CB, bit 3) - const EVENT_424 ; 424, (D7CB, bit 4) - const EVENT_425 ; 425, (D7CB, bit 5) - const EVENT_426 ; 426, (D7CB, bit 6) - const EVENT_427 ; 427, (D7CB, bit 7) - const EVENT_428 ; 428, (D7CC, bit 0) - const EVENT_429 ; 429, (D7CC, bit 1) - const EVENT_42A ; 42A, (D7CC, bit 2) - const EVENT_42B ; 42B, (D7CC, bit 3) - const EVENT_42C ; 42C, (D7CC, bit 4) - const EVENT_42D ; 42D, (D7CC, bit 5) - const EVENT_42E ; 42E, (D7CC, bit 6) - const EVENT_42F ; 42F, (D7CC, bit 7) - const EVENT_430 ; 430, (D7CD, bit 0) - const EVENT_BEAT_ROUTE_8_TRAINER_0 ; 431, (D7CD, bit 1) - const EVENT_BEAT_ROUTE_8_TRAINER_1 ; 432, (D7CD, bit 2) - const EVENT_BEAT_ROUTE_8_TRAINER_2 ; 433, (D7CD, bit 3) - const EVENT_BEAT_ROUTE_8_TRAINER_3 ; 434, (D7CD, bit 4) - const EVENT_BEAT_ROUTE_8_TRAINER_4 ; 435, (D7CD, bit 5) - const EVENT_BEAT_ROUTE_8_TRAINER_5 ; 436, (D7CD, bit 6) - const EVENT_BEAT_ROUTE_8_TRAINER_6 ; 437, (D7CD, bit 7) - const EVENT_BEAT_ROUTE_8_TRAINER_7 ; 438, (D7CE, bit 0) - const EVENT_BEAT_ROUTE_8_TRAINER_8 ; 439, (D7CE, bit 1) - const EVENT_43A ; 43A, (D7CE, bit 2) - const EVENT_43B ; 43B, (D7CE, bit 3) - const EVENT_43C ; 43C, (D7CE, bit 4) - const EVENT_43D ; 43D, (D7CE, bit 5) - const EVENT_43E ; 43E, (D7CE, bit 6) - const EVENT_43F ; 43F, (D7CE, bit 7) - const EVENT_440 ; 440, (D7CF, bit 0) - const EVENT_BEAT_ROUTE_9_TRAINER_0 ; 441, (D7CF, bit 1) - const EVENT_BEAT_ROUTE_9_TRAINER_1 ; 442, (D7CF, bit 2) - const EVENT_BEAT_ROUTE_9_TRAINER_2 ; 443, (D7CF, bit 3) - const EVENT_BEAT_ROUTE_9_TRAINER_3 ; 444, (D7CF, bit 4) - const EVENT_BEAT_ROUTE_9_TRAINER_4 ; 445, (D7CF, bit 5) - const EVENT_BEAT_ROUTE_9_TRAINER_5 ; 446, (D7CF, bit 6) - const EVENT_BEAT_ROUTE_9_TRAINER_6 ; 447, (D7CF, bit 7) - const EVENT_BEAT_ROUTE_9_TRAINER_7 ; 448, (D7D0, bit 0) - const EVENT_BEAT_ROUTE_9_TRAINER_8 ; 449, (D7D0, bit 1) - const EVENT_44A ; 44A, (D7D0, bit 2) - const EVENT_44B ; 44B, (D7D0, bit 3) - const EVENT_44C ; 44C, (D7D0, bit 4) - const EVENT_44D ; 44D, (D7D0, bit 5) - const EVENT_44E ; 44E, (D7D0, bit 6) - const EVENT_44F ; 44F, (D7D0, bit 7) - const EVENT_450 ; 450, (D7D1, bit 0) - const EVENT_BEAT_ROUTE_10_TRAINER_0 ; 451, (D7D1, bit 1) - const EVENT_BEAT_ROUTE_10_TRAINER_1 ; 452, (D7D1, bit 2) - const EVENT_BEAT_ROUTE_10_TRAINER_2 ; 453, (D7D1, bit 3) - const EVENT_BEAT_ROUTE_10_TRAINER_3 ; 454, (D7D1, bit 4) - const EVENT_BEAT_ROUTE_10_TRAINER_4 ; 455, (D7D1, bit 5) - const EVENT_BEAT_ROUTE_10_TRAINER_5 ; 456, (D7D1, bit 6) - const EVENT_457 ; 457, (D7D1, bit 7) - const EVENT_458 ; 458, (D7D2, bit 0) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 ; 459, (D7D2, bit 1) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 ; 45A, (D7D2, bit 2) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 ; 45B, (D7D2, bit 3) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 ; 45C, (D7D2, bit 4) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 ; 45D, (D7D2, bit 5) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 ; 45E, (D7D2, bit 6) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 ; 45F, (D7D2, bit 7) - const EVENT_460 ; 460, (D7D3, bit 0) - const EVENT_BEAT_POWER_PLANT_VOLTORB_0 ; 461, (D7D3, bit 1) - const EVENT_BEAT_POWER_PLANT_VOLTORB_1 ; 462, (D7D3, bit 2) - const EVENT_BEAT_POWER_PLANT_VOLTORB_2 ; 463, (D7D3, bit 3) - const EVENT_BEAT_POWER_PLANT_VOLTORB_3 ; 464, (D7D3, bit 4) - const EVENT_BEAT_POWER_PLANT_VOLTORB_4 ; 465, (D7D3, bit 5) - const EVENT_BEAT_POWER_PLANT_VOLTORB_5 ; 466, (D7D3, bit 6) - const EVENT_BEAT_POWER_PLANT_VOLTORB_6 ; 467, (D7D3, bit 7) - const EVENT_BEAT_POWER_PLANT_VOLTORB_7 ; 468, (D7D4, bit 0) - const EVENT_BEAT_ZAPDOS ; 469, (D7D4, bit 1) - const EVENT_46A ; 46A, (D7D4, bit 2) - const EVENT_46B ; 46B, (D7D4, bit 3) - const EVENT_46C ; 46C, (D7D4, bit 4) - const EVENT_46D ; 46D, (D7D4, bit 5) - const EVENT_46E ; 46E, (D7D4, bit 6) - const EVENT_46F ; 46F, (D7D4, bit 7) - const EVENT_470 ; 470, (D7D5, bit 0) - const EVENT_BEAT_ROUTE_11_TRAINER_0 ; 471, (D7D5, bit 1) - const EVENT_BEAT_ROUTE_11_TRAINER_1 ; 472, (D7D5, bit 2) - const EVENT_BEAT_ROUTE_11_TRAINER_2 ; 473, (D7D5, bit 3) - const EVENT_BEAT_ROUTE_11_TRAINER_3 ; 474, (D7D5, bit 4) - const EVENT_BEAT_ROUTE_11_TRAINER_4 ; 475, (D7D5, bit 5) - const EVENT_BEAT_ROUTE_11_TRAINER_5 ; 476, (D7D5, bit 6) - const EVENT_BEAT_ROUTE_11_TRAINER_6 ; 477, (D7D5, bit 7) - const EVENT_BEAT_ROUTE_11_TRAINER_7 ; 478, (D7D6, bit 0) - const EVENT_BEAT_ROUTE_11_TRAINER_8 ; 479, (D7D6, bit 1) - const EVENT_BEAT_ROUTE_11_TRAINER_9 ; 47A, (D7D6, bit 2) - const EVENT_47B ; 47B, (D7D6, bit 3) - const EVENT_47C ; 47C, (D7D6, bit 4) - const EVENT_47D ; 47D, (D7D6, bit 5) - const EVENT_47E ; 47E, (D7D6, bit 6) - const EVENT_GOT_ITEMFINDER ; 47F, (D7D6, bit 7) - const EVENT_GOT_TM39 ; 480, (D7D7, bit 0) - const EVENT_481 ; 481, (D7D7, bit 1) - const EVENT_BEAT_ROUTE_12_TRAINER_0 ; 482, (D7D7, bit 2) - const EVENT_BEAT_ROUTE_12_TRAINER_1 ; 483, (D7D7, bit 3) - const EVENT_BEAT_ROUTE_12_TRAINER_2 ; 484, (D7D7, bit 4) - const EVENT_BEAT_ROUTE_12_TRAINER_3 ; 485, (D7D7, bit 5) - const EVENT_BEAT_ROUTE_12_TRAINER_4 ; 486, (D7D7, bit 6) - const EVENT_BEAT_ROUTE_12_TRAINER_5 ; 487, (D7D7, bit 7) - const EVENT_BEAT_ROUTE_12_TRAINER_6 ; 488, (D7D8, bit 0) - const EVENT_489 ; 489, (D7D8, bit 1) - const EVENT_48A ; 48A, (D7D8, bit 2) - const EVENT_48B ; 48B, (D7D8, bit 3) - const EVENT_48C ; 48C, (D7D8, bit 4) - const EVENT_48D ; 48D, (D7D8, bit 5) - const EVENT_FIGHT_ROUTE12_SNORLAX ; 48E, (D7D8, bit 6) - const EVENT_BEAT_ROUTE12_SNORLAX ; 48F, (D7D8, bit 7) - const EVENT_490 ; 490, (D7D9, bit 0) - const EVENT_BEAT_ROUTE_13_TRAINER_0 ; 491, (D7D9, bit 1) - const EVENT_BEAT_ROUTE_13_TRAINER_1 ; 492, (D7D9, bit 2) - const EVENT_BEAT_ROUTE_13_TRAINER_2 ; 493, (D7D9, bit 3) - const EVENT_BEAT_ROUTE_13_TRAINER_3 ; 494, (D7D9, bit 4) - const EVENT_BEAT_ROUTE_13_TRAINER_4 ; 495, (D7D9, bit 5) - const EVENT_BEAT_ROUTE_13_TRAINER_5 ; 496, (D7D9, bit 6) - const EVENT_BEAT_ROUTE_13_TRAINER_6 ; 497, (D7D9, bit 7) - const EVENT_BEAT_ROUTE_13_TRAINER_7 ; 498, (D7DA, bit 0) - const EVENT_BEAT_ROUTE_13_TRAINER_8 ; 499, (D7DA, bit 1) - const EVENT_BEAT_ROUTE_13_TRAINER_9 ; 49A, (D7DA, bit 2) - const EVENT_49B ; 49B, (D7DA, bit 3) - const EVENT_49C ; 49C, (D7DA, bit 4) - const EVENT_49D ; 49D, (D7DA, bit 5) - const EVENT_49E ; 49E, (D7DA, bit 6) - const EVENT_49F ; 49F, (D7DA, bit 7) - const EVENT_4A0 ; 4A0, (D7DB, bit 0) - const EVENT_BEAT_ROUTE_14_TRAINER_0 ; 4A1, (D7DB, bit 1) - const EVENT_BEAT_ROUTE_14_TRAINER_1 ; 4A2, (D7DB, bit 2) - const EVENT_BEAT_ROUTE_14_TRAINER_2 ; 4A3, (D7DB, bit 3) - const EVENT_BEAT_ROUTE_14_TRAINER_3 ; 4A4, (D7DB, bit 4) - const EVENT_BEAT_ROUTE_14_TRAINER_4 ; 4A5, (D7DB, bit 5) - const EVENT_BEAT_ROUTE_14_TRAINER_5 ; 4A6, (D7DB, bit 6) - const EVENT_BEAT_ROUTE_14_TRAINER_6 ; 4A7, (D7DB, bit 7) - const EVENT_BEAT_ROUTE_14_TRAINER_7 ; 4A8, (D7DC, bit 0) - const EVENT_BEAT_ROUTE_14_TRAINER_8 ; 4A9, (D7DC, bit 1) - const EVENT_BEAT_ROUTE_14_TRAINER_9 ; 4AA, (D7DC, bit 2) - const EVENT_4AB ; 4AB, (D7DC, bit 3) - const EVENT_4AC ; 4AC, (D7DC, bit 4) - const EVENT_4AD ; 4AD, (D7DC, bit 5) - const EVENT_4AE ; 4AE, (D7DC, bit 6) - const EVENT_4AF ; 4AF, (D7DC, bit 7) - const EVENT_GOT_EXP_ALL ; 4B0, (D7DD, bit 0) - const EVENT_BEAT_ROUTE_15_TRAINER_0 ; 4B1, (D7DD, bit 1) - const EVENT_BEAT_ROUTE_15_TRAINER_1 ; 4B2, (D7DD, bit 2) - const EVENT_BEAT_ROUTE_15_TRAINER_2 ; 4B3, (D7DD, bit 3) - const EVENT_BEAT_ROUTE_15_TRAINER_3 ; 4B4, (D7DD, bit 4) - const EVENT_BEAT_ROUTE_15_TRAINER_4 ; 4B5, (D7DD, bit 5) - const EVENT_BEAT_ROUTE_15_TRAINER_5 ; 4B6, (D7DD, bit 6) - const EVENT_BEAT_ROUTE_15_TRAINER_6 ; 4B7, (D7DD, bit 7) - const EVENT_BEAT_ROUTE_15_TRAINER_7 ; 4B8, (D7DE, bit 0) - const EVENT_BEAT_ROUTE_15_TRAINER_8 ; 4B9, (D7DE, bit 1) - const EVENT_BEAT_ROUTE_15_TRAINER_9 ; 4BA, (D7DE, bit 2) - const EVENT_4BB ; 4BB, (D7DE, bit 3) - const EVENT_4BC ; 4BC, (D7DE, bit 4) - const EVENT_4BD ; 4BD, (D7DE, bit 5) - const EVENT_4BE ; 4BE, (D7DE, bit 6) - const EVENT_4BF ; 4BF, (D7DE, bit 7) - const EVENT_4C0 ; 4C0, (D7DF, bit 0) - const EVENT_BEAT_ROUTE_16_TRAINER_0 ; 4C1, (D7DF, bit 1) - const EVENT_BEAT_ROUTE_16_TRAINER_1 ; 4C2, (D7DF, bit 2) - const EVENT_BEAT_ROUTE_16_TRAINER_2 ; 4C3, (D7DF, bit 3) - const EVENT_BEAT_ROUTE_16_TRAINER_3 ; 4C4, (D7DF, bit 4) - const EVENT_BEAT_ROUTE_16_TRAINER_4 ; 4C5, (D7DF, bit 5) - const EVENT_BEAT_ROUTE_16_TRAINER_5 ; 4C6, (D7DF, bit 6) - const EVENT_4C7 ; 4C7, (D7DF, bit 7) - const EVENT_FIGHT_ROUTE16_SNORLAX ; 4C8, (D7E0, bit 0) - const EVENT_BEAT_ROUTE16_SNORLAX ; 4C9, (D7E0, bit 1) - const EVENT_4CA ; 4CA, (D7E0, bit 2) - const EVENT_4CB ; 4CB, (D7E0, bit 3) - const EVENT_4CC ; 4CC, (D7E0, bit 4) - const EVENT_4CD ; 4CD, (D7E0, bit 5) - const EVENT_GOT_HM02 ; 4CE, (D7E0, bit 6) - const EVENT_RESCUED_MR_FUJI ; 4CF, (D7E0, bit 7) - const EVENT_4D0 ; 4D0, (D7E1, bit 0) - const EVENT_BEAT_ROUTE_17_TRAINER_0 ; 4D1, (D7E1, bit 1) - const EVENT_BEAT_ROUTE_17_TRAINER_1 ; 4D2, (D7E1, bit 2) - const EVENT_BEAT_ROUTE_17_TRAINER_2 ; 4D3, (D7E1, bit 3) - const EVENT_BEAT_ROUTE_17_TRAINER_3 ; 4D4, (D7E1, bit 4) - const EVENT_BEAT_ROUTE_17_TRAINER_4 ; 4D5, (D7E1, bit 5) - const EVENT_BEAT_ROUTE_17_TRAINER_5 ; 4D6, (D7E1, bit 6) - const EVENT_BEAT_ROUTE_17_TRAINER_6 ; 4D7, (D7E1, bit 7) - const EVENT_BEAT_ROUTE_17_TRAINER_7 ; 4D8, (D7E2, bit 0) - const EVENT_BEAT_ROUTE_17_TRAINER_8 ; 4D9, (D7E2, bit 1) - const EVENT_BEAT_ROUTE_17_TRAINER_9 ; 4DA, (D7E2, bit 2) - const EVENT_4DB ; 4DB, (D7E2, bit 3) - const EVENT_4DC ; 4DC, (D7E2, bit 4) - const EVENT_4DD ; 4DD, (D7E2, bit 5) - const EVENT_4DE ; 4DE, (D7E2, bit 6) - const EVENT_4DF ; 4DF, (D7E2, bit 7) - const EVENT_4E0 ; 4E0, (D7E3, bit 0) - const EVENT_BEAT_ROUTE_18_TRAINER_0 ; 4E1, (D7E3, bit 1) - const EVENT_BEAT_ROUTE_18_TRAINER_1 ; 4E2, (D7E3, bit 2) - const EVENT_BEAT_ROUTE_18_TRAINER_2 ; 4E3, (D7E3, bit 3) - const EVENT_4E4 ; 4E4, (D7E3, bit 4) - const EVENT_4E5 ; 4E5, (D7E3, bit 5) - const EVENT_4E6 ; 4E6, (D7E3, bit 6) - const EVENT_4E7 ; 4E7, (D7E3, bit 7) - const EVENT_4E8 ; 4E8, (D7E4, bit 0) - const EVENT_4E9 ; 4E9, (D7E4, bit 1) - const EVENT_4EA ; 4EA, (D7E4, bit 2) - const EVENT_4EB ; 4EB, (D7E4, bit 3) - const EVENT_4EC ; 4EC, (D7E4, bit 4) - const EVENT_4ED ; 4ED, (D7E4, bit 5) - const EVENT_4EE ; 4EE, (D7E4, bit 6) - const EVENT_4EF ; 4EF, (D7E4, bit 7) - const EVENT_4F0 ; 4F0, (D7E5, bit 0) - const EVENT_BEAT_ROUTE_19_TRAINER_0 ; 4F1, (D7E5, bit 1) - const EVENT_BEAT_ROUTE_19_TRAINER_1 ; 4F2, (D7E5, bit 2) - const EVENT_BEAT_ROUTE_19_TRAINER_2 ; 4F3, (D7E5, bit 3) - const EVENT_BEAT_ROUTE_19_TRAINER_3 ; 4F4, (D7E5, bit 4) - const EVENT_BEAT_ROUTE_19_TRAINER_4 ; 4F5, (D7E5, bit 5) - const EVENT_BEAT_ROUTE_19_TRAINER_5 ; 4F6, (D7E5, bit 6) - const EVENT_BEAT_ROUTE_19_TRAINER_6 ; 4F7, (D7E5, bit 7) - const EVENT_BEAT_ROUTE_19_TRAINER_7 ; 4F8, (D7E6, bit 0) - const EVENT_BEAT_ROUTE_19_TRAINER_8 ; 4F9, (D7E6, bit 1) - const EVENT_BEAT_ROUTE_19_TRAINER_9 ; 4FA, (D7E6, bit 2) - const EVENT_4FB ; 4FB, (D7E6, bit 3) - const EVENT_4FC ; 4FC, (D7E6, bit 4) - const EVENT_4FD ; 4FD, (D7E6, bit 5) - const EVENT_4FE ; 4FE, (D7E6, bit 6) - const EVENT_4FF ; 4FF, (D7E6, bit 7) - const EVENT_IN_SEAFOAM_ISLANDS ; 500, (D7E7, bit 0) - const EVENT_BEAT_ROUTE_20_TRAINER_0 ; 501, (D7E7, bit 1) - const EVENT_BEAT_ROUTE_20_TRAINER_1 ; 502, (D7E7, bit 2) - const EVENT_BEAT_ROUTE_20_TRAINER_2 ; 503, (D7E7, bit 3) - const EVENT_BEAT_ROUTE_20_TRAINER_3 ; 504, (D7E7, bit 4) - const EVENT_BEAT_ROUTE_20_TRAINER_4 ; 505, (D7E7, bit 5) - const EVENT_BEAT_ROUTE_20_TRAINER_5 ; 506, (D7E7, bit 6) - const EVENT_BEAT_ROUTE_20_TRAINER_6 ; 507, (D7E7, bit 7) - const EVENT_BEAT_ROUTE_20_TRAINER_7 ; 508, (D7E8, bit 0) - const EVENT_BEAT_ROUTE_20_TRAINER_8 ; 509, (D7E8, bit 1) - const EVENT_BEAT_ROUTE_20_TRAINER_9 ; 50A, (D7E8, bit 2) - const EVENT_50B ; 50B, (D7E8, bit 3) - const EVENT_50C ; 50C, (D7E8, bit 4) - const EVENT_50D ; 50D, (D7E8, bit 5) - const EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE ; 50E, (D7E8, bit 6) - const EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE ; 50F, (D7E8, bit 7) - const EVENT_510 ; 510, (D7E9, bit 0) - const EVENT_BEAT_ROUTE_21_TRAINER_0 ; 511, (D7E9, bit 1) - const EVENT_BEAT_ROUTE_21_TRAINER_1 ; 512, (D7E9, bit 2) - const EVENT_BEAT_ROUTE_21_TRAINER_2 ; 513, (D7E9, bit 3) - const EVENT_BEAT_ROUTE_21_TRAINER_3 ; 514, (D7E9, bit 4) - const EVENT_BEAT_ROUTE_21_TRAINER_4 ; 515, (D7E9, bit 5) - const EVENT_BEAT_ROUTE_21_TRAINER_5 ; 516, (D7E9, bit 6) - const EVENT_BEAT_ROUTE_21_TRAINER_6 ; 517, (D7E9, bit 7) - const EVENT_BEAT_ROUTE_21_TRAINER_7 ; 518, (D7EA, bit 0) - const EVENT_BEAT_ROUTE_21_TRAINER_8 ; 519, (D7EA, bit 1) - const EVENT_51A ; 51A, (D7EA, bit 2) - const EVENT_51B ; 51B, (D7EA, bit 3) - const EVENT_51C ; 51C, (D7EA, bit 4) - const EVENT_51D ; 51D, (D7EA, bit 5) - const EVENT_51E ; 51E, (D7EA, bit 6) - const EVENT_51F ; 51F, (D7EA, bit 7) - const EVENT_1ST_ROUTE22_RIVAL_BATTLE ; 520, (D7EB, bit 0) - const EVENT_2ND_ROUTE22_RIVAL_BATTLE ; 521, (D7EB, bit 1) - const EVENT_522 ; 522, (D7EB, bit 2) - const EVENT_523 ; 523, (D7EB, bit 3) - const EVENT_524 ; 524, (D7EB, bit 4) - const EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE ; 525, (D7EB, bit 5) - const EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE ; 526, (D7EB, bit 6) - const EVENT_ROUTE22_RIVAL_WANTS_BATTLE ; 527, (D7EB, bit 7) - const EVENT_528 ; 528, (D7EC, bit 0) - const EVENT_529 ; 529, (D7EC, bit 1) - const EVENT_52A ; 52A, (D7EC, bit 2) - const EVENT_52B ; 52B, (D7EC, bit 3) - const EVENT_52C ; 52C, (D7EC, bit 4) - const EVENT_52D ; 52D, (D7EC, bit 5) - const EVENT_52E ; 52E, (D7EC, bit 6) - const EVENT_52F ; 52F, (D7EC, bit 7) - const EVENT_PASSED_CASCADEBADGE_CHECK ; 530, (D7ED, bit 0) - const EVENT_PASSED_THUNDERBADGE_CHECK ; 531, (D7ED, bit 1) - const EVENT_PASSED_RAINBOWBADGE_CHECK ; 532, (D7ED, bit 2) - const EVENT_PASSED_SOULBADGE_CHECK ; 533, (D7ED, bit 3) - const EVENT_PASSED_MARSHBADGE_CHECK ; 534, (D7ED, bit 4) - const EVENT_PASSED_VOLCANOBADGE_CHECK ; 535, (D7ED, bit 5) - const EVENT_PASSED_EARTHBADGE_CHECK ; 536, (D7ED, bit 6) - const EVENT_537 ; 537, (D7ED, bit 7) - const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 ; 538, (D7EE, bit 0) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 ; 539, (D7EE, bit 1) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 ; 53A, (D7EE, bit 2) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 ; 53B, (D7EE, bit 3) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 ; 53C, (D7EE, bit 4) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 ; 53D, (D7EE, bit 5) - const EVENT_BEAT_MOLTRES ; 53E, (D7EE, bit 6) - const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 ; 53F, (D7EE, bit 7) - const EVENT_GOT_NUGGET ; 540, (D7EF, bit 0) - const EVENT_BEAT_ROUTE24_ROCKET ; 541, (D7EF, bit 1) - const EVENT_BEAT_ROUTE_24_TRAINER_0 ; 542, (D7EF, bit 2) - const EVENT_BEAT_ROUTE_24_TRAINER_1 ; 543, (D7EF, bit 3) - const EVENT_BEAT_ROUTE_24_TRAINER_2 ; 544, (D7EF, bit 4) - const EVENT_BEAT_ROUTE_24_TRAINER_3 ; 545, (D7EF, bit 5) - const EVENT_BEAT_ROUTE_24_TRAINER_4 ; 546, (D7EF, bit 6) - const EVENT_BEAT_ROUTE_24_TRAINER_5 ; 547, (D7EF, bit 7) - const EVENT_548 ; 548, (D7F0, bit 0) - const EVENT_NUGGET_REWARD_AVAILABLE ; 549, (D7F0, bit 1) - const EVENT_54A ; 54A, (D7F0, bit 2) - const EVENT_54B ; 54B, (D7F0, bit 3) - const EVENT_54C ; 54C, (D7F0, bit 4) - const EVENT_54D ; 54D, (D7F0, bit 5) - const EVENT_54E ; 54E, (D7F0, bit 6) - const EVENT_54F ; 54F, (D7F0, bit 7) - const EVENT_MET_BILL ; 550, (D7F1, bit 0) - const EVENT_BEAT_ROUTE_25_TRAINER_0 ; 551, (D7F1, bit 1) - const EVENT_BEAT_ROUTE_25_TRAINER_1 ; 552, (D7F1, bit 2) - const EVENT_BEAT_ROUTE_25_TRAINER_2 ; 553, (D7F1, bit 3) - const EVENT_BEAT_ROUTE_25_TRAINER_3 ; 554, (D7F1, bit 4) - const EVENT_BEAT_ROUTE_25_TRAINER_4 ; 555, (D7F1, bit 5) - const EVENT_BEAT_ROUTE_25_TRAINER_5 ; 556, (D7F1, bit 6) - const EVENT_BEAT_ROUTE_25_TRAINER_6 ; 557, (D7F1, bit 7) - const EVENT_BEAT_ROUTE_25_TRAINER_7 ; 558, (D7F2, bit 0) - const EVENT_BEAT_ROUTE_25_TRAINER_8 ; 559, (D7F2, bit 1) - const EVENT_55A ; 55A, (D7F2, bit 2) - const EVENT_USED_CELL_SEPARATOR_ON_BILL ; 55B, (D7F2, bit 3) - const EVENT_GOT_SS_TICKET ; 55C, (D7F2, bit 4) - const EVENT_MET_BILL_2 ; 55D, (D7F2, bit 5) - const EVENT_BILL_SAID_USE_CELL_SEPARATOR ; 55E, (D7F2, bit 6) - const EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING ; 55F, (D7F2, bit 7) - const EVENT_560 ; 560, (D7F3, bit 0) - const EVENT_561 ; 561, (D7F3, bit 1) - const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 ; 562, (D7F3, bit 2) - const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 ; 563, (D7F3, bit 3) - const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 ; 564, (D7F3, bit 4) - const EVENT_565 ; 565, (D7F3, bit 5) - const EVENT_566 ; 566, (D7F3, bit 6) - const EVENT_567 ; 567, (D7F3, bit 7) - const EVENT_568 ; 568, (D7F4, bit 0) - const EVENT_569 ; 569, (D7F4, bit 1) - const EVENT_56A ; 56A, (D7F4, bit 2) - const EVENT_56B ; 56B, (D7F4, bit 3) - const EVENT_56C ; 56C, (D7F4, bit 4) - const EVENT_56D ; 56D, (D7F4, bit 5) - const EVENT_56E ; 56E, (D7F4, bit 6) - const EVENT_56F ; 56F, (D7F4, bit 7) - const EVENT_570 ; 570, (D7F5, bit 0) - const EVENT_BEAT_MT_MOON_1_TRAINER_0 ; 571, (D7F5, bit 1) - const EVENT_BEAT_MT_MOON_1_TRAINER_1 ; 572, (D7F5, bit 2) - const EVENT_BEAT_MT_MOON_1_TRAINER_2 ; 573, (D7F5, bit 3) - const EVENT_BEAT_MT_MOON_1_TRAINER_3 ; 574, (D7F5, bit 4) - const EVENT_BEAT_MT_MOON_1_TRAINER_4 ; 575, (D7F5, bit 5) - const EVENT_BEAT_MT_MOON_1_TRAINER_5 ; 576, (D7F5, bit 6) - const EVENT_BEAT_MT_MOON_1_TRAINER_6 ; 577, (D7F5, bit 7) - const EVENT_578 ; 578, (D7F6, bit 0) - const EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD ; 579, (D7F6, bit 1) - const EVENT_BEAT_MT_MOON_3_TRAINER_0 ; 57A, (D7F6, bit 2) - const EVENT_BEAT_MT_MOON_3_TRAINER_1 ; 57B, (D7F6, bit 3) - const EVENT_BEAT_MT_MOON_3_TRAINER_2 ; 57C, (D7F6, bit 4) - const EVENT_BEAT_MT_MOON_3_TRAINER_3 ; 57D, (D7F6, bit 5) - const EVENT_GOT_DOME_FOSSIL ; 57E, (D7F6, bit 6) - const EVENT_GOT_HELIX_FOSSIL ; 57F, (D7F6, bit 7) - const EVENT_580 ; 580, (D7F7, bit 0) - const EVENT_581 ; 581, (D7F7, bit 1) - const EVENT_582 ; 582, (D7F7, bit 2) - const EVENT_583 ; 583, (D7F7, bit 3) - const EVENT_584 ; 584, (D7F7, bit 4) - const EVENT_585 ; 585, (D7F7, bit 5) - const EVENT_586 ; 586, (D7F7, bit 6) - const EVENT_587 ; 587, (D7F7, bit 7) - const EVENT_588 ; 588, (D7F8, bit 0) - const EVENT_589 ; 589, (D7F8, bit 1) - const EVENT_58A ; 58A, (D7F8, bit 2) - const EVENT_58B ; 58B, (D7F8, bit 3) - const EVENT_58C ; 58C, (D7F8, bit 4) - const EVENT_58D ; 58D, (D7F8, bit 5) - const EVENT_58E ; 58E, (D7F8, bit 6) - const EVENT_58F ; 58F, (D7F8, bit 7) - const EVENT_590 ; 590, (D7F9, bit 0) - const EVENT_591 ; 591, (D7F9, bit 1) - const EVENT_592 ; 592, (D7F9, bit 2) - const EVENT_593 ; 593, (D7F9, bit 3) - const EVENT_594 ; 594, (D7F9, bit 4) - const EVENT_595 ; 595, (D7F9, bit 5) - const EVENT_596 ; 596, (D7F9, bit 6) - const EVENT_597 ; 597, (D7F9, bit 7) - const EVENT_598 ; 598, (D7FA, bit 0) - const EVENT_599 ; 599, (D7FA, bit 1) - const EVENT_59A ; 59A, (D7FA, bit 2) - const EVENT_59B ; 59B, (D7FA, bit 3) - const EVENT_59C ; 59C, (D7FA, bit 4) - const EVENT_59D ; 59D, (D7FA, bit 5) - const EVENT_59E ; 59E, (D7FA, bit 6) - const EVENT_59F ; 59F, (D7FA, bit 7) - const EVENT_5A0 ; 5A0, (D7FB, bit 0) - const EVENT_5A1 ; 5A1, (D7FB, bit 1) - const EVENT_5A2 ; 5A2, (D7FB, bit 2) - const EVENT_5A3 ; 5A3, (D7FB, bit 3) - const EVENT_5A4 ; 5A4, (D7FB, bit 4) - const EVENT_5A5 ; 5A5, (D7FB, bit 5) - const EVENT_5A6 ; 5A6, (D7FB, bit 6) - const EVENT_5A7 ; 5A7, (D7FB, bit 7) - const EVENT_5A8 ; 5A8, (D7FC, bit 0) - const EVENT_5A9 ; 5A9, (D7FC, bit 1) - const EVENT_5AA ; 5AA, (D7FC, bit 2) - const EVENT_5AB ; 5AB, (D7FC, bit 3) - const EVENT_5AC ; 5AC, (D7FC, bit 4) - const EVENT_5AD ; 5AD, (D7FC, bit 5) - const EVENT_5AE ; 5AE, (D7FC, bit 6) - const EVENT_5AF ; 5AF, (D7FC, bit 7) - const EVENT_5B0 ; 5B0, (D7FD, bit 0) - const EVENT_5B1 ; 5B1, (D7FD, bit 1) - const EVENT_5B2 ; 5B2, (D7FD, bit 2) - const EVENT_5B3 ; 5B3, (D7FD, bit 3) - const EVENT_5B4 ; 5B4, (D7FD, bit 4) - const EVENT_5B5 ; 5B5, (D7FD, bit 5) - const EVENT_5B6 ; 5B6, (D7FD, bit 6) - const EVENT_5B7 ; 5B7, (D7FD, bit 7) - const EVENT_5B8 ; 5B8, (D7FE, bit 0) - const EVENT_5B9 ; 5B9, (D7FE, bit 1) - const EVENT_5BA ; 5BA, (D7FE, bit 2) - const EVENT_5BB ; 5BB, (D7FE, bit 3) - const EVENT_5BC ; 5BC, (D7FE, bit 4) - const EVENT_5BD ; 5BD, (D7FE, bit 5) - const EVENT_5BE ; 5BE, (D7FE, bit 6) - const EVENT_5BF ; 5BF, (D7FE, bit 7) - const EVENT_5C0 ; 5C0, (D7FF, bit 0) - const EVENT_5C1 ; 5C1, (D7FF, bit 1) - const EVENT_5C2 ; 5C2, (D7FF, bit 2) - const EVENT_5C3 ; 5C3, (D7FF, bit 3) - const EVENT_BEAT_SS_ANNE_5_TRAINER_0 ; 5C4, (D7FF, bit 4) - const EVENT_BEAT_SS_ANNE_5_TRAINER_1 ; 5C5, (D7FF, bit 5) - const EVENT_5C6 ; 5C6, (D7FF, bit 6) - const EVENT_5C7 ; 5C7, (D7FF, bit 7) - const EVENT_5C8 ; 5C8, (D800, bit 0) - const EVENT_5C9 ; 5C9, (D800, bit 1) - const EVENT_5CA ; 5CA, (D800, bit 2) - const EVENT_5CB ; 5CB, (D800, bit 3) - const EVENT_5CC ; 5CC, (D800, bit 4) - const EVENT_5CD ; 5CD, (D800, bit 5) - const EVENT_5CE ; 5CE, (D800, bit 6) - const EVENT_5CF ; 5CF, (D800, bit 7) - const EVENT_5D0 ; 5D0, (D801, bit 0) - const EVENT_5D1 ; 5D1, (D801, bit 1) - const EVENT_5D2 ; 5D2, (D801, bit 2) - const EVENT_5D3 ; 5D3, (D801, bit 3) - const EVENT_5D4 ; 5D4, (D801, bit 4) - const EVENT_5D5 ; 5D5, (D801, bit 5) - const EVENT_5D6 ; 5D6, (D801, bit 6) - const EVENT_5D7 ; 5D7, (D801, bit 7) - const EVENT_5D8 ; 5D8, (D802, bit 0) - const EVENT_5D9 ; 5D9, (D802, bit 1) - const EVENT_5DA ; 5DA, (D802, bit 2) - const EVENT_5DB ; 5DB, (D802, bit 3) - const EVENT_5DC ; 5DC, (D802, bit 4) - const EVENT_5DD ; 5DD, (D802, bit 5) - const EVENT_5DE ; 5DE, (D802, bit 6) - const EVENT_5DF ; 5DF, (D802, bit 7) - const EVENT_GOT_HM01 ; 5E0, (D803, bit 0) - const EVENT_RUBBED_CAPTAINS_BACK ; 5E1, (D803, bit 1) - const EVENT_SS_ANNE_LEFT ; 5E2, (D803, bit 2) - const EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT ; 5E3, (D803, bit 3) - const EVENT_STARTED_WALKING_OUT_OF_DOCK ; 5E4, (D803, bit 4) - const EVENT_WALKED_OUT_OF_DOCK ; 5E5, (D803, bit 5) - const EVENT_5E6 ; 5E6, (D803, bit 6) - const EVENT_5E7 ; 5E7, (D803, bit 7) - const EVENT_5E8 ; 5E8, (D804, bit 0) - const EVENT_5E9 ; 5E9, (D804, bit 1) - const EVENT_5EA ; 5EA, (D804, bit 2) - const EVENT_5EB ; 5EB, (D804, bit 3) - const EVENT_5EC ; 5EC, (D804, bit 4) - const EVENT_5ED ; 5ED, (D804, bit 5) - const EVENT_5EE ; 5EE, (D804, bit 6) - const EVENT_5EF ; 5EF, (D804, bit 7) - const EVENT_5F0 ; 5F0, (D805, bit 0) - const EVENT_BEAT_SS_ANNE_8_TRAINER_0 ; 5F1, (D805, bit 1) - const EVENT_BEAT_SS_ANNE_8_TRAINER_1 ; 5F2, (D805, bit 2) - const EVENT_BEAT_SS_ANNE_8_TRAINER_2 ; 5F3, (D805, bit 3) - const EVENT_BEAT_SS_ANNE_8_TRAINER_3 ; 5F4, (D805, bit 4) - const EVENT_5F5 ; 5F5, (D805, bit 5) - const EVENT_5F6 ; 5F6, (D805, bit 6) - const EVENT_5F7 ; 5F7, (D805, bit 7) - const EVENT_5F8 ; 5F8, (D806, bit 0) - const EVENT_5F9 ; 5F9, (D806, bit 1) - const EVENT_5FA ; 5FA, (D806, bit 2) - const EVENT_5FB ; 5FB, (D806, bit 3) - const EVENT_5FC ; 5FC, (D806, bit 4) - const EVENT_5FD ; 5FD, (D806, bit 5) - const EVENT_5FE ; 5FE, (D806, bit 6) - const EVENT_5FF ; 5FF, (D806, bit 7) - const EVENT_600 ; 600, (D807, bit 0) - const EVENT_BEAT_SS_ANNE_9_TRAINER_0 ; 601, (D807, bit 1) - const EVENT_BEAT_SS_ANNE_9_TRAINER_1 ; 602, (D807, bit 2) - const EVENT_BEAT_SS_ANNE_9_TRAINER_2 ; 603, (D807, bit 3) - const EVENT_BEAT_SS_ANNE_9_TRAINER_3 ; 604, (D807, bit 4) - const EVENT_605 ; 605, (D807, bit 5) - const EVENT_606 ; 606, (D807, bit 6) - const EVENT_607 ; 607, (D807, bit 7) - const EVENT_608 ; 608, (D808, bit 0) - const EVENT_609 ; 609, (D808, bit 1) - const EVENT_60A ; 60A, (D808, bit 2) - const EVENT_60B ; 60B, (D808, bit 3) - const EVENT_60C ; 60C, (D808, bit 4) - const EVENT_60D ; 60D, (D808, bit 5) - const EVENT_60E ; 60E, (D808, bit 6) - const EVENT_60F ; 60F, (D808, bit 7) - const EVENT_610 ; 610, (D809, bit 0) - const EVENT_BEAT_SS_ANNE_10_TRAINER_0 ; 611, (D809, bit 1) - const EVENT_BEAT_SS_ANNE_10_TRAINER_1 ; 612, (D809, bit 2) - const EVENT_BEAT_SS_ANNE_10_TRAINER_2 ; 613, (D809, bit 3) - const EVENT_BEAT_SS_ANNE_10_TRAINER_3 ; 614, (D809, bit 4) - const EVENT_BEAT_SS_ANNE_10_TRAINER_4 ; 615, (D809, bit 5) - const EVENT_BEAT_SS_ANNE_10_TRAINER_5 ; 616, (D809, bit 6) - const EVENT_617 ; 617, (D809, bit 7) - const EVENT_618 ; 618, (D80A, bit 0) - const EVENT_619 ; 619, (D80A, bit 1) - const EVENT_61A ; 61A, (D80A, bit 2) - const EVENT_61B ; 61B, (D80A, bit 3) - const EVENT_61C ; 61C, (D80A, bit 4) - const EVENT_61D ; 61D, (D80A, bit 5) - const EVENT_61E ; 61E, (D80A, bit 6) - const EVENT_61F ; 61F, (D80A, bit 7) - const EVENT_620 ; 620, (D80B, bit 0) - const EVENT_621 ; 621, (D80B, bit 1) - const EVENT_622 ; 622, (D80B, bit 2) - const EVENT_623 ; 623, (D80B, bit 3) - const EVENT_624 ; 624, (D80B, bit 4) - const EVENT_625 ; 625, (D80B, bit 5) - const EVENT_626 ; 626, (D80B, bit 6) - const EVENT_627 ; 627, (D80B, bit 7) - const EVENT_628 ; 628, (D80C, bit 0) - const EVENT_629 ; 629, (D80C, bit 1) - const EVENT_62A ; 62A, (D80C, bit 2) - const EVENT_62B ; 62B, (D80C, bit 3) - const EVENT_62C ; 62C, (D80C, bit 4) - const EVENT_62D ; 62D, (D80C, bit 5) - const EVENT_62E ; 62E, (D80C, bit 6) - const EVENT_62F ; 62F, (D80C, bit 7) - const EVENT_630 ; 630, (D80D, bit 0) - const EVENT_631 ; 631, (D80D, bit 1) - const EVENT_632 ; 632, (D80D, bit 2) - const EVENT_633 ; 633, (D80D, bit 3) - const EVENT_634 ; 634, (D80D, bit 4) - const EVENT_635 ; 635, (D80D, bit 5) - const EVENT_636 ; 636, (D80D, bit 6) - const EVENT_637 ; 637, (D80D, bit 7) - const EVENT_638 ; 638, (D80E, bit 0) - const EVENT_639 ; 639, (D80E, bit 1) - const EVENT_63A ; 63A, (D80E, bit 2) - const EVENT_63B ; 63B, (D80E, bit 3) - const EVENT_63C ; 63C, (D80E, bit 4) - const EVENT_63D ; 63D, (D80E, bit 5) - const EVENT_63E ; 63E, (D80E, bit 6) - const EVENT_63F ; 63F, (D80E, bit 7) - const EVENT_640 ; 640, (D80F, bit 0) - const EVENT_641 ; 641, (D80F, bit 1) - const EVENT_642 ; 642, (D80F, bit 2) - const EVENT_643 ; 643, (D80F, bit 3) - const EVENT_644 ; 644, (D80F, bit 4) - const EVENT_645 ; 645, (D80F, bit 5) - const EVENT_646 ; 646, (D80F, bit 6) - const EVENT_647 ; 647, (D80F, bit 7) - const EVENT_648 ; 648, (D810, bit 0) - const EVENT_649 ; 649, (D810, bit 1) - const EVENT_64A ; 64A, (D810, bit 2) - const EVENT_64B ; 64B, (D810, bit 3) - const EVENT_64C ; 64C, (D810, bit 4) - const EVENT_64D ; 64D, (D810, bit 5) - const EVENT_64E ; 64E, (D810, bit 6) - const EVENT_64F ; 64F, (D810, bit 7) - const EVENT_650 ; 650, (D811, bit 0) - const EVENT_651 ; 651, (D811, bit 1) - const EVENT_652 ; 652, (D811, bit 2) - const EVENT_653 ; 653, (D811, bit 3) - const EVENT_654 ; 654, (D811, bit 4) - const EVENT_655 ; 655, (D811, bit 5) - const EVENT_656 ; 656, (D811, bit 6) - const EVENT_657 ; 657, (D811, bit 7) - const EVENT_658 ; 658, (D812, bit 0) - const EVENT_659 ; 659, (D812, bit 1) - const EVENT_65A ; 65A, (D812, bit 2) - const EVENT_65B ; 65B, (D812, bit 3) - const EVENT_65C ; 65C, (D812, bit 4) - const EVENT_65D ; 65D, (D812, bit 5) - const EVENT_65E ; 65E, (D812, bit 6) - const EVENT_65F ; 65F, (D812, bit 7) - const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 ; 660, (D813, bit 0) - const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 ; 661, (D813, bit 1) - const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 ; 662, (D813, bit 2) - const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 ; 663, (D813, bit 3) - const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 ; 664, (D813, bit 4) - const EVENT_665 ; 665, (D813, bit 5) - const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 ; 666, (D813, bit 6) - const EVENT_667 ; 667, (D813, bit 7) - const EVENT_668 ; 668, (D814, bit 0) - const EVENT_669 ; 669, (D814, bit 1) - const EVENT_66A ; 66A, (D814, bit 2) - const EVENT_66B ; 66B, (D814, bit 3) - const EVENT_66C ; 66C, (D814, bit 4) - const EVENT_66D ; 66D, (D814, bit 5) - const EVENT_66E ; 66E, (D814, bit 6) - const EVENT_66F ; 66F, (D814, bit 7) - const EVENT_670 ; 670, (D815, bit 0) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 ; 671, (D815, bit 1) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 ; 672, (D815, bit 2) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 ; 673, (D815, bit 3) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 ; 674, (D815, bit 4) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 ; 675, (D815, bit 5) - const EVENT_676 ; 676, (D815, bit 6) - const EVENT_677 ; 677, (D815, bit 7) - const EVENT_678 ; 678, (D816, bit 0) - const EVENT_679 ; 679, (D816, bit 1) - const EVENT_67A ; 67A, (D816, bit 2) - const EVENT_67B ; 67B, (D816, bit 3) - const EVENT_67C ; 67C, (D816, bit 4) - const EVENT_67D ; 67D, (D816, bit 5) - const EVENT_67E ; 67E, (D816, bit 6) - const EVENT_67F ; 67F, (D816, bit 7) - const EVENT_680 ; 680, (D817, bit 0) - const EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 ; 681, (D817, bit 1) - const EVENT_682 ; 682, (D817, bit 2) - const EVENT_683 ; 683, (D817, bit 3) - const EVENT_684 ; 684, (D817, bit 4) - const EVENT_685 ; 685, (D817, bit 5) - const EVENT_686 ; 686, (D817, bit 6) - const EVENT_687 ; 687, (D817, bit 7) - const EVENT_688 ; 688, (D818, bit 0) - const EVENT_689 ; 689, (D818, bit 1) - const EVENT_68A ; 68A, (D818, bit 2) - const EVENT_68B ; 68B, (D818, bit 3) - const EVENT_68C ; 68C, (D818, bit 4) - const EVENT_68D ; 68D, (D818, bit 5) - const EVENT_68E ; 68E, (D818, bit 6) - const EVENT_68F ; 68F, (D818, bit 7) - const EVENT_690 ; 690, (D819, bit 0) - const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 ; 691, (D819, bit 1) - const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 ; 692, (D819, bit 2) - const EVENT_693 ; 693, (D819, bit 3) - const EVENT_694 ; 694, (D819, bit 4) - const EVENT_695 ; 695, (D819, bit 5) - const EVENT_696 ; 696, (D819, bit 6) - const EVENT_697 ; 697, (D819, bit 7) - const EVENT_698 ; 698, (D81A, bit 0) - const EVENT_699 ; 699, (D81A, bit 1) - const EVENT_69A ; 69A, (D81A, bit 2) - const EVENT_69B ; 69B, (D81A, bit 3) - const EVENT_69C ; 69C, (D81A, bit 4) - const EVENT_69D ; 69D, (D81A, bit 5) - const EVENT_69E ; 69E, (D81A, bit 6) - const EVENT_69F ; 69F, (D81A, bit 7) - const EVENT_6A0 ; 6A0, (D81B, bit 0) - const EVENT_6A1 ; 6A1, (D81B, bit 1) - const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 ; 6A2, (D81B, bit 2) - const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 ; 6A3, (D81B, bit 3) - const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 ; 6A4, (D81B, bit 4) - const EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED ; 6A5, (D81B, bit 5) - const EVENT_ROCKET_DROPPED_LIFT_KEY ; 6A6, (D81B, bit 6) - const EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI ; 6A7, (D81B, bit 7) - const EVENT_6A8 ; 6A8, (D81C, bit 0) - const EVENT_6A9 ; 6A9, (D81C, bit 1) - const EVENT_6AA ; 6AA, (D81C, bit 2) - const EVENT_6AB ; 6AB, (D81C, bit 3) - const EVENT_6AC ; 6AC, (D81C, bit 4) - const EVENT_6AD ; 6AD, (D81C, bit 5) - const EVENT_6AE ; 6AE, (D81C, bit 6) - const EVENT_6AF ; 6AF, (D81C, bit 7) - const EVENT_6B0 ; 6B0, (D81D, bit 0) - const EVENT_6B1 ; 6B1, (D81D, bit 1) - const EVENT_6B2 ; 6B2, (D81D, bit 2) - const EVENT_6B3 ; 6B3, (D81D, bit 3) - const EVENT_6B4 ; 6B4, (D81D, bit 4) - const EVENT_6B5 ; 6B5, (D81D, bit 5) - const EVENT_6B6 ; 6B6, (D81D, bit 6) - const EVENT_6B7 ; 6B7, (D81D, bit 7) - const EVENT_6B8 ; 6B8, (D81E, bit 0) - const EVENT_6B9 ; 6B9, (D81E, bit 1) - const EVENT_6BA ; 6BA, (D81E, bit 2) - const EVENT_6BB ; 6BB, (D81E, bit 3) - const EVENT_6BC ; 6BC, (D81E, bit 4) - const EVENT_6BD ; 6BD, (D81E, bit 5) - const EVENT_6BE ; 6BE, (D81E, bit 6) - const EVENT_6BF ; 6BF, (D81E, bit 7) - const EVENT_6C0 ; 6C0, (D81F, bit 0) - const EVENT_6C1 ; 6C1, (D81F, bit 1) - const EVENT_6C2 ; 6C2, (D81F, bit 2) - const EVENT_6C3 ; 6C3, (D81F, bit 3) - const EVENT_6C4 ; 6C4, (D81F, bit 4) - const EVENT_6C5 ; 6C5, (D81F, bit 5) - const EVENT_6C6 ; 6C6, (D81F, bit 6) - const EVENT_6C7 ; 6C7, (D81F, bit 7) - const EVENT_6C8 ; 6C8, (D820, bit 0) - const EVENT_6C9 ; 6C9, (D820, bit 1) - const EVENT_6CA ; 6CA, (D820, bit 2) - const EVENT_6CB ; 6CB, (D820, bit 3) - const EVENT_6CC ; 6CC, (D820, bit 4) - const EVENT_6CD ; 6CD, (D820, bit 5) - const EVENT_6CE ; 6CE, (D820, bit 6) - const EVENT_6CF ; 6CF, (D820, bit 7) - const EVENT_6D0 ; 6D0, (D821, bit 0) - const EVENT_6D1 ; 6D1, (D821, bit 1) - const EVENT_6D2 ; 6D2, (D821, bit 2) - const EVENT_6D3 ; 6D3, (D821, bit 3) - const EVENT_6D4 ; 6D4, (D821, bit 4) - const EVENT_6D5 ; 6D5, (D821, bit 5) - const EVENT_6D6 ; 6D6, (D821, bit 6) - const EVENT_6D7 ; 6D7, (D821, bit 7) - const EVENT_6D8 ; 6D8, (D822, bit 0) - const EVENT_6D9 ; 6D9, (D822, bit 1) - const EVENT_6DA ; 6DA, (D822, bit 2) - const EVENT_6DB ; 6DB, (D822, bit 3) - const EVENT_6DC ; 6DC, (D822, bit 4) - const EVENT_6DD ; 6DD, (D822, bit 5) - const EVENT_6DE ; 6DE, (D822, bit 6) - const EVENT_6DF ; 6DF, (D822, bit 7) - const EVENT_6E0 ; 6E0, (D823, bit 0) - const EVENT_6E1 ; 6E1, (D823, bit 1) - const EVENT_6E2 ; 6E2, (D823, bit 2) - const EVENT_6E3 ; 6E3, (D823, bit 3) - const EVENT_6E4 ; 6E4, (D823, bit 4) - const EVENT_6E5 ; 6E5, (D823, bit 5) - const EVENT_6E6 ; 6E6, (D823, bit 6) - const EVENT_6E7 ; 6E7, (D823, bit 7) - const EVENT_6E8 ; 6E8, (D824, bit 0) - const EVENT_6E9 ; 6E9, (D824, bit 1) - const EVENT_6EA ; 6EA, (D824, bit 2) - const EVENT_6EB ; 6EB, (D824, bit 3) - const EVENT_6EC ; 6EC, (D824, bit 4) - const EVENT_6ED ; 6ED, (D824, bit 5) - const EVENT_6EE ; 6EE, (D824, bit 6) - const EVENT_6EF ; 6EF, (D824, bit 7) - const EVENT_6F0 ; 6F0, (D825, bit 0) - const EVENT_6F1 ; 6F1, (D825, bit 1) - const EVENT_BEAT_SILPH_CO_2F_TRAINER_0 ; 6F2, (D825, bit 2) - const EVENT_BEAT_SILPH_CO_2F_TRAINER_1 ; 6F3, (D825, bit 3) - const EVENT_BEAT_SILPH_CO_2F_TRAINER_2 ; 6F4, (D825, bit 4) - const EVENT_BEAT_SILPH_CO_2F_TRAINER_3 ; 6F5, (D825, bit 5) - const EVENT_6F6 ; 6F6, (D825, bit 6) - const EVENT_6F7 ; 6F7, (D825, bit 7) - const EVENT_6F8 ; 6F8, (D826, bit 0) - const EVENT_6F9 ; 6F9, (D826, bit 1) - const EVENT_6FA ; 6FA, (D826, bit 2) - const EVENT_6FB ; 6FB, (D826, bit 3) - const EVENT_6FC ; 6FC, (D826, bit 4) - const EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ; 6FD, (D826, bit 5) - const EVENT_SILPH_CO_2_UNLOCKED_DOOR2 ; 6FE, (D826, bit 6) - const EVENT_GOT_TM36 ; 6FF, (D826, bit 7) - const EVENT_700 ; 700, (D827, bit 0) - const EVENT_701 ; 701, (D827, bit 1) - const EVENT_BEAT_SILPH_CO_3F_TRAINER_0 ; 702, (D827, bit 2) - const EVENT_BEAT_SILPH_CO_3F_TRAINER_1 ; 703, (D827, bit 3) - const EVENT_704 ; 704, (D827, bit 4) - const EVENT_705 ; 705, (D827, bit 5) - const EVENT_706 ; 706, (D827, bit 6) - const EVENT_707 ; 707, (D827, bit 7) - const EVENT_SILPH_CO_3_UNLOCKED_DOOR1 ; 708, (D828, bit 0) - const EVENT_SILPH_CO_3_UNLOCKED_DOOR2 ; 709, (D828, bit 1) - const EVENT_70A ; 70A, (D828, bit 2) - const EVENT_70B ; 70B, (D828, bit 3) - const EVENT_70C ; 70C, (D828, bit 4) - const EVENT_70D ; 70D, (D828, bit 5) - const EVENT_70E ; 70E, (D828, bit 6) - const EVENT_70F ; 70F, (D828, bit 7) - const EVENT_710 ; 710, (D829, bit 0) - const EVENT_711 ; 711, (D829, bit 1) - const EVENT_BEAT_SILPH_CO_4F_TRAINER_0 ; 712, (D829, bit 2) - const EVENT_BEAT_SILPH_CO_4F_TRAINER_1 ; 713, (D829, bit 3) - const EVENT_BEAT_SILPH_CO_4F_TRAINER_2 ; 714, (D829, bit 4) - const EVENT_715 ; 715, (D829, bit 5) - const EVENT_716 ; 716, (D829, bit 6) - const EVENT_717 ; 717, (D829, bit 7) - const EVENT_SILPH_CO_4_UNLOCKED_DOOR1 ; 718, (D82A, bit 0) - const EVENT_SILPH_CO_4_UNLOCKED_DOOR2 ; 719, (D82A, bit 1) - const EVENT_71A ; 71A, (D82A, bit 2) - const EVENT_71B ; 71B, (D82A, bit 3) - const EVENT_71C ; 71C, (D82A, bit 4) - const EVENT_71D ; 71D, (D82A, bit 5) - const EVENT_71E ; 71E, (D82A, bit 6) - const EVENT_71F ; 71F, (D82A, bit 7) - const EVENT_720 ; 720, (D82B, bit 0) - const EVENT_721 ; 721, (D82B, bit 1) - const EVENT_BEAT_SILPH_CO_5F_TRAINER_0 ; 722, (D82B, bit 2) - const EVENT_BEAT_SILPH_CO_5F_TRAINER_1 ; 723, (D82B, bit 3) - const EVENT_BEAT_SILPH_CO_5F_TRAINER_2 ; 724, (D82B, bit 4) - const EVENT_BEAT_SILPH_CO_5F_TRAINER_3 ; 725, (D82B, bit 5) - const EVENT_726 ; 726, (D82B, bit 6) - const EVENT_727 ; 727, (D82B, bit 7) - const EVENT_SILPH_CO_5_UNLOCKED_DOOR1 ; 728, (D82C, bit 0) - const EVENT_SILPH_CO_5_UNLOCKED_DOOR2 ; 729, (D82C, bit 1) - const EVENT_SILPH_CO_5_UNLOCKED_DOOR3 ; 72A, (D82C, bit 2) - const EVENT_72B ; 72B, (D82C, bit 3) - const EVENT_72C ; 72C, (D82C, bit 4) - const EVENT_72D ; 72D, (D82C, bit 5) - const EVENT_72E ; 72E, (D82C, bit 6) - const EVENT_72F ; 72F, (D82C, bit 7) - const EVENT_730 ; 730, (D82D, bit 0) - const EVENT_731 ; 731, (D82D, bit 1) - const EVENT_732 ; 732, (D82D, bit 2) - const EVENT_733 ; 733, (D82D, bit 3) - const EVENT_734 ; 734, (D82D, bit 4) - const EVENT_735 ; 735, (D82D, bit 5) - const EVENT_BEAT_SILPH_CO_6F_TRAINER_0 ; 736, (D82D, bit 6) - const EVENT_BEAT_SILPH_CO_6F_TRAINER_1 ; 737, (D82D, bit 7) - const EVENT_BEAT_SILPH_CO_6F_TRAINER_2 ; 738, (D82E, bit 0) - const EVENT_739 ; 739, (D82E, bit 1) - const EVENT_73A ; 73A, (D82E, bit 2) - const EVENT_73B ; 73B, (D82E, bit 3) - const EVENT_73C ; 73C, (D82E, bit 4) - const EVENT_73D ; 73D, (D82E, bit 5) - const EVENT_73E ; 73E, (D82E, bit 6) - const EVENT_SILPH_CO_6_UNLOCKED_DOOR ; 73F, (D82E, bit 7) - const EVENT_BEAT_SILPH_CO_RIVAL ; 740, (D82F, bit 0) - const EVENT_741 ; 741, (D82F, bit 1) - const EVENT_742 ; 742, (D82F, bit 2) - const EVENT_743 ; 743, (D82F, bit 3) - const EVENT_744 ; 744, (D82F, bit 4) - const EVENT_BEAT_SILPH_CO_7F_TRAINER_0 ; 745, (D82F, bit 5) - const EVENT_BEAT_SILPH_CO_7F_TRAINER_1 ; 746, (D82F, bit 6) - const EVENT_BEAT_SILPH_CO_7F_TRAINER_2 ; 747, (D82F, bit 7) - const EVENT_BEAT_SILPH_CO_7F_TRAINER_3 ; 748, (D830, bit 0) - const EVENT_749 ; 749, (D830, bit 1) - const EVENT_74A ; 74A, (D830, bit 2) - const EVENT_74B ; 74B, (D830, bit 3) - const EVENT_SILPH_CO_7_UNLOCKED_DOOR1 ; 74C, (D830, bit 4) - const EVENT_SILPH_CO_7_UNLOCKED_DOOR2 ; 74D, (D830, bit 5) - const EVENT_SILPH_CO_7_UNLOCKED_DOOR3 ; 74E, (D830, bit 6) - const EVENT_74F ; 74F, (D830, bit 7) - const EVENT_750 ; 750, (D831, bit 0) - const EVENT_751 ; 751, (D831, bit 1) - const EVENT_BEAT_SILPH_CO_8F_TRAINER_0 ; 752, (D831, bit 2) - const EVENT_BEAT_SILPH_CO_8F_TRAINER_1 ; 753, (D831, bit 3) - const EVENT_BEAT_SILPH_CO_8F_TRAINER_2 ; 754, (D831, bit 4) - const EVENT_755 ; 755, (D831, bit 5) - const EVENT_756 ; 756, (D831, bit 6) - const EVENT_757 ; 757, (D831, bit 7) - const EVENT_SILPH_CO_8_UNLOCKED_DOOR ; 758, (D832, bit 0) - const EVENT_759 ; 759, (D832, bit 1) - const EVENT_75A ; 75A, (D832, bit 2) - const EVENT_75B ; 75B, (D832, bit 3) - const EVENT_75C ; 75C, (D832, bit 4) - const EVENT_75D ; 75D, (D832, bit 5) - const EVENT_75E ; 75E, (D832, bit 6) - const EVENT_75F ; 75F, (D832, bit 7) - const EVENT_760 ; 760, (D833, bit 0) - const EVENT_761 ; 761, (D833, bit 1) - const EVENT_BEAT_SILPH_CO_9F_TRAINER_0 ; 762, (D833, bit 2) - const EVENT_BEAT_SILPH_CO_9F_TRAINER_1 ; 763, (D833, bit 3) - const EVENT_BEAT_SILPH_CO_9F_TRAINER_2 ; 764, (D833, bit 4) - const EVENT_765 ; 765, (D833, bit 5) - const EVENT_766 ; 766, (D833, bit 6) - const EVENT_767 ; 767, (D833, bit 7) - const EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ; 768, (D834, bit 0) - const EVENT_SILPH_CO_9_UNLOCKED_DOOR2 ; 769, (D834, bit 1) - const EVENT_SILPH_CO_9_UNLOCKED_DOOR3 ; 76A, (D834, bit 2) - const EVENT_SILPH_CO_9_UNLOCKED_DOOR4 ; 76B, (D834, bit 3) - const EVENT_76C ; 76C, (D834, bit 4) - const EVENT_76D ; 76D, (D834, bit 5) - const EVENT_76E ; 76E, (D834, bit 6) - const EVENT_76F ; 76F, (D834, bit 7) - const EVENT_770 ; 770, (D835, bit 0) - const EVENT_BEAT_SILPH_CO_10F_TRAINER_0 ; 771, (D835, bit 1) - const EVENT_BEAT_SILPH_CO_10F_TRAINER_1 ; 772, (D835, bit 2) - const EVENT_773 ; 773, (D835, bit 3) - const EVENT_774 ; 774, (D835, bit 4) - const EVENT_775 ; 775, (D835, bit 5) - const EVENT_776 ; 776, (D835, bit 6) - const EVENT_777 ; 777, (D835, bit 7) - const EVENT_SILPH_CO_10_UNLOCKED_DOOR ; 778, (D836, bit 0) - const EVENT_779 ; 779, (D836, bit 1) - const EVENT_77A ; 77A, (D836, bit 2) - const EVENT_77B ; 77B, (D836, bit 3) - const EVENT_77C ; 77C, (D836, bit 4) - const EVENT_77D ; 77D, (D836, bit 5) - const EVENT_77E ; 77E, (D836, bit 6) - const EVENT_77F ; 77F, (D836, bit 7) - const EVENT_780 ; 780, (D837, bit 0) - const EVENT_781 ; 781, (D837, bit 1) - const EVENT_782 ; 782, (D837, bit 2) - const EVENT_783 ; 783, (D837, bit 3) - const EVENT_BEAT_SILPH_CO_11F_TRAINER_0 ; 784, (D837, bit 4) - const EVENT_BEAT_SILPH_CO_11F_TRAINER_1 ; 785, (D837, bit 5) - const EVENT_786 ; 786, (D837, bit 6) - const EVENT_787 ; 787, (D837, bit 7) - const EVENT_SILPH_CO_11_UNLOCKED_DOOR ; 788, (D838, bit 0) - const EVENT_789 ; 789, (D838, bit 1) - const EVENT_78A ; 78A, (D838, bit 2) - const EVENT_78B ; 78B, (D838, bit 3) - const EVENT_78C ; 78C, (D838, bit 4) - const EVENT_GOT_MASTER_BALL ; 78D, (D838, bit 5) - const EVENT_78E ; 78E, (D838, bit 6) - const EVENT_BEAT_SILPH_CO_GIOVANNI ; 78F, (D838, bit 7) - const EVENT_790 ; 790, (D839, bit 0) - const EVENT_791 ; 791, (D839, bit 1) - const EVENT_792 ; 792, (D839, bit 2) - const EVENT_793 ; 793, (D839, bit 3) - const EVENT_794 ; 794, (D839, bit 4) - const EVENT_795 ; 795, (D839, bit 5) - const EVENT_796 ; 796, (D839, bit 6) - const EVENT_797 ; 797, (D839, bit 7) - const EVENT_798 ; 798, (D83A, bit 0) - const EVENT_799 ; 799, (D83A, bit 1) - const EVENT_79A ; 79A, (D83A, bit 2) - const EVENT_79B ; 79B, (D83A, bit 3) - const EVENT_79C ; 79C, (D83A, bit 4) - const EVENT_79D ; 79D, (D83A, bit 5) - const EVENT_79E ; 79E, (D83A, bit 6) - const EVENT_79F ; 79F, (D83A, bit 7) - const EVENT_7A0 ; 7A0, (D83B, bit 0) - const EVENT_7A1 ; 7A1, (D83B, bit 1) - const EVENT_7A2 ; 7A2, (D83B, bit 2) - const EVENT_7A3 ; 7A3, (D83B, bit 3) - const EVENT_7A4 ; 7A4, (D83B, bit 4) - const EVENT_7A5 ; 7A5, (D83B, bit 5) - const EVENT_7A6 ; 7A6, (D83B, bit 6) - const EVENT_7A7 ; 7A7, (D83B, bit 7) - const EVENT_7A8 ; 7A8, (D83C, bit 0) - const EVENT_7A9 ; 7A9, (D83C, bit 1) - const EVENT_7AA ; 7AA, (D83C, bit 2) - const EVENT_7AB ; 7AB, (D83C, bit 3) - const EVENT_7AC ; 7AC, (D83C, bit 4) - const EVENT_7AD ; 7AD, (D83C, bit 5) - const EVENT_7AE ; 7AE, (D83C, bit 6) - const EVENT_7AF ; 7AF, (D83C, bit 7) - const EVENT_7B0 ; 7B0, (D83D, bit 0) - const EVENT_7B1 ; 7B1, (D83D, bit 1) - const EVENT_7B2 ; 7B2, (D83D, bit 2) - const EVENT_7B3 ; 7B3, (D83D, bit 3) - const EVENT_7B4 ; 7B4, (D83D, bit 4) - const EVENT_7B5 ; 7B5, (D83D, bit 5) - const EVENT_7B6 ; 7B6, (D83D, bit 6) - const EVENT_7B7 ; 7B7, (D83D, bit 7) - const EVENT_7B8 ; 7B8, (D83E, bit 0) - const EVENT_7B9 ; 7B9, (D83E, bit 1) - const EVENT_7BA ; 7BA, (D83E, bit 2) - const EVENT_7BB ; 7BB, (D83E, bit 3) - const EVENT_7BC ; 7BC, (D83E, bit 4) - const EVENT_7BD ; 7BD, (D83E, bit 5) - const EVENT_7BE ; 7BE, (D83E, bit 6) - const EVENT_7BF ; 7BF, (D83E, bit 7) - const EVENT_7C0 ; 7C0, (D83F, bit 0) - const EVENT_7C1 ; 7C1, (D83F, bit 1) - const EVENT_7C2 ; 7C2, (D83F, bit 2) - const EVENT_7C3 ; 7C3, (D83F, bit 3) - const EVENT_7C4 ; 7C4, (D83F, bit 4) - const EVENT_7C5 ; 7C5, (D83F, bit 5) - const EVENT_7C6 ; 7C6, (D83F, bit 6) - const EVENT_7C7 ; 7C7, (D83F, bit 7) - const EVENT_7C8 ; 7C8, (D840, bit 0) - const EVENT_7C9 ; 7C9, (D840, bit 1) - const EVENT_7CA ; 7CA, (D840, bit 2) - const EVENT_7CB ; 7CB, (D840, bit 3) - const EVENT_7CC ; 7CC, (D840, bit 4) - const EVENT_7CD ; 7CD, (D840, bit 5) - const EVENT_7CE ; 7CE, (D840, bit 6) - const EVENT_7CF ; 7CF, (D840, bit 7) - const EVENT_7D0 ; 7D0, (D841, bit 0) - const EVENT_7D1 ; 7D1, (D841, bit 1) - const EVENT_7D2 ; 7D2, (D841, bit 2) - const EVENT_7D3 ; 7D3, (D841, bit 3) - const EVENT_7D4 ; 7D4, (D841, bit 4) - const EVENT_7D5 ; 7D5, (D841, bit 5) - const EVENT_7D6 ; 7D6, (D841, bit 6) - const EVENT_7D7 ; 7D7, (D841, bit 7) - const EVENT_7D8 ; 7D8, (D842, bit 0) - const EVENT_7D9 ; 7D9, (D842, bit 1) - const EVENT_7DA ; 7DA, (D842, bit 2) - const EVENT_7DB ; 7DB, (D842, bit 3) - const EVENT_7DC ; 7DC, (D842, bit 4) - const EVENT_7DD ; 7DD, (D842, bit 5) - const EVENT_7DE ; 7DE, (D842, bit 6) - const EVENT_7DF ; 7DF, (D842, bit 7) - const EVENT_7E0 ; 7E0, (D843, bit 0) - const EVENT_7E1 ; 7E1, (D843, bit 1) - const EVENT_7E2 ; 7E2, (D843, bit 2) - const EVENT_7E3 ; 7E3, (D843, bit 3) - const EVENT_7E4 ; 7E4, (D843, bit 4) - const EVENT_7E5 ; 7E5, (D843, bit 5) - const EVENT_7E6 ; 7E6, (D843, bit 6) - const EVENT_7E7 ; 7E7, (D843, bit 7) - const EVENT_7E8 ; 7E8, (D844, bit 0) - const EVENT_7E9 ; 7E9, (D844, bit 1) - const EVENT_7EA ; 7EA, (D844, bit 2) - const EVENT_7EB ; 7EB, (D844, bit 3) - const EVENT_7EC ; 7EC, (D844, bit 4) - const EVENT_7ED ; 7ED, (D844, bit 5) - const EVENT_7EE ; 7EE, (D844, bit 6) - const EVENT_7EF ; 7EF, (D844, bit 7) - const EVENT_7F0 ; 7F0, (D845, bit 0) - const EVENT_7F1 ; 7F1, (D845, bit 1) - const EVENT_7F2 ; 7F2, (D845, bit 2) - const EVENT_7F3 ; 7F3, (D845, bit 3) - const EVENT_7F4 ; 7F4, (D845, bit 4) - const EVENT_7F5 ; 7F5, (D845, bit 5) - const EVENT_7F6 ; 7F6, (D845, bit 6) - const EVENT_7F7 ; 7F7, (D845, bit 7) - const EVENT_7F8 ; 7F8, (D846, bit 0) - const EVENT_7F9 ; 7F9, (D846, bit 1) - const EVENT_7FA ; 7FA, (D846, bit 2) - const EVENT_7FB ; 7FB, (D846, bit 3) - const EVENT_7FC ; 7FC, (D846, bit 4) - const EVENT_7FD ; 7FD, (D846, bit 5) - const EVENT_7FE ; 7FE, (D846, bit 6) - const EVENT_7FF ; 7FF, (D846, bit 7) - const EVENT_800 ; 800, (D847, bit 0) - const EVENT_BEAT_MANSION_2_TRAINER_0 ; 801, (D847, bit 1) - const EVENT_802 ; 802, (D847, bit 2) - const EVENT_803 ; 803, (D847, bit 3) - const EVENT_804 ; 804, (D847, bit 4) - const EVENT_805 ; 805, (D847, bit 5) - const EVENT_806 ; 806, (D847, bit 6) - const EVENT_807 ; 807, (D847, bit 7) - const EVENT_808 ; 808, (D848, bit 0) - const EVENT_809 ; 809, (D848, bit 1) - const EVENT_80A ; 80A, (D848, bit 2) - const EVENT_80B ; 80B, (D848, bit 3) - const EVENT_80C ; 80C, (D848, bit 4) - const EVENT_80D ; 80D, (D848, bit 5) - const EVENT_80E ; 80E, (D848, bit 6) - const EVENT_80F ; 80F, (D848, bit 7) - const EVENT_810 ; 810, (D849, bit 0) - const EVENT_BEAT_MANSION_3_TRAINER_0 ; 811, (D849, bit 1) - const EVENT_BEAT_MANSION_3_TRAINER_1 ; 812, (D849, bit 2) - const EVENT_813 ; 813, (D849, bit 3) - const EVENT_814 ; 814, (D849, bit 4) - const EVENT_815 ; 815, (D849, bit 5) - const EVENT_816 ; 816, (D849, bit 6) - const EVENT_817 ; 817, (D849, bit 7) - const EVENT_818 ; 818, (D84A, bit 0) - const EVENT_819 ; 819, (D84A, bit 1) - const EVENT_81A ; 81A, (D84A, bit 2) - const EVENT_81B ; 81B, (D84A, bit 3) - const EVENT_81C ; 81C, (D84A, bit 4) - const EVENT_81D ; 81D, (D84A, bit 5) - const EVENT_81E ; 81E, (D84A, bit 6) - const EVENT_81F ; 81F, (D84A, bit 7) - const EVENT_820 ; 820, (D84B, bit 0) - const EVENT_BEAT_MANSION_4_TRAINER_0 ; 821, (D84B, bit 1) - const EVENT_BEAT_MANSION_4_TRAINER_1 ; 822, (D84B, bit 2) - const EVENT_823 ; 823, (D84B, bit 3) - const EVENT_824 ; 824, (D84B, bit 4) - const EVENT_825 ; 825, (D84B, bit 5) - const EVENT_826 ; 826, (D84B, bit 6) - const EVENT_827 ; 827, (D84B, bit 7) - const EVENT_828 ; 828, (D84C, bit 0) - const EVENT_829 ; 829, (D84C, bit 1) - const EVENT_82A ; 82A, (D84C, bit 2) - const EVENT_82B ; 82B, (D84C, bit 3) - const EVENT_82C ; 82C, (D84C, bit 4) - const EVENT_82D ; 82D, (D84C, bit 5) - const EVENT_82E ; 82E, (D84C, bit 6) - const EVENT_82F ; 82F, (D84C, bit 7) - const EVENT_830 ; 830, (D84D, bit 0) - const EVENT_831 ; 831, (D84D, bit 1) - const EVENT_832 ; 832, (D84D, bit 2) - const EVENT_833 ; 833, (D84D, bit 3) - const EVENT_834 ; 834, (D84D, bit 4) - const EVENT_835 ; 835, (D84D, bit 5) - const EVENT_836 ; 836, (D84D, bit 6) - const EVENT_837 ; 837, (D84D, bit 7) - const EVENT_838 ; 838, (D84E, bit 0) - const EVENT_839 ; 839, (D84E, bit 1) - const EVENT_83A ; 83A, (D84E, bit 2) - const EVENT_83B ; 83B, (D84E, bit 3) - const EVENT_83C ; 83C, (D84E, bit 4) - const EVENT_83D ; 83D, (D84E, bit 5) - const EVENT_83E ; 83E, (D84E, bit 6) - const EVENT_83F ; 83F, (D84E, bit 7) - const EVENT_840 ; 840, (D84F, bit 0) - const EVENT_841 ; 841, (D84F, bit 1) - const EVENT_842 ; 842, (D84F, bit 2) - const EVENT_843 ; 843, (D84F, bit 3) - const EVENT_844 ; 844, (D84F, bit 4) - const EVENT_845 ; 845, (D84F, bit 5) - const EVENT_846 ; 846, (D84F, bit 6) - const EVENT_847 ; 847, (D84F, bit 7) - const EVENT_848 ; 848, (D850, bit 0) - const EVENT_849 ; 849, (D850, bit 1) - const EVENT_84A ; 84A, (D850, bit 2) - const EVENT_84B ; 84B, (D850, bit 3) - const EVENT_84C ; 84C, (D850, bit 4) - const EVENT_84D ; 84D, (D850, bit 5) - const EVENT_84E ; 84E, (D850, bit 6) - const EVENT_84F ; 84F, (D850, bit 7) - const EVENT_850 ; 850, (D851, bit 0) - const EVENT_851 ; 851, (D851, bit 1) - const EVENT_852 ; 852, (D851, bit 2) - const EVENT_853 ; 853, (D851, bit 3) - const EVENT_854 ; 854, (D851, bit 4) - const EVENT_855 ; 855, (D851, bit 5) - const EVENT_856 ; 856, (D851, bit 6) - const EVENT_857 ; 857, (D851, bit 7) - const EVENT_858 ; 858, (D852, bit 0) - const EVENT_859 ; 859, (D852, bit 1) - const EVENT_85A ; 85A, (D852, bit 2) - const EVENT_85B ; 85B, (D852, bit 3) - const EVENT_85C ; 85C, (D852, bit 4) - const EVENT_85D ; 85D, (D852, bit 5) - const EVENT_85E ; 85E, (D852, bit 6) - const EVENT_85F ; 85F, (D852, bit 7) - const EVENT_860 ; 860, (D853, bit 0) - const EVENT_861 ; 861, (D853, bit 1) - const EVENT_862 ; 862, (D853, bit 2) - const EVENT_863 ; 863, (D853, bit 3) - const EVENT_864 ; 864, (D853, bit 4) - const EVENT_865 ; 865, (D853, bit 5) - const EVENT_866 ; 866, (D853, bit 6) - const EVENT_867 ; 867, (D853, bit 7) - const EVENT_868 ; 868, (D854, bit 0) - const EVENT_869 ; 869, (D854, bit 1) - const EVENT_86A ; 86A, (D854, bit 2) - const EVENT_86B ; 86B, (D854, bit 3) - const EVENT_86C ; 86C, (D854, bit 4) - const EVENT_86D ; 86D, (D854, bit 5) - const EVENT_86E ; 86E, (D854, bit 6) - const EVENT_86F ; 86F, (D854, bit 7) - const EVENT_870 ; 870, (D855, bit 0) - const EVENT_871 ; 871, (D855, bit 1) - const EVENT_872 ; 872, (D855, bit 2) - const EVENT_873 ; 873, (D855, bit 3) - const EVENT_874 ; 874, (D855, bit 4) - const EVENT_875 ; 875, (D855, bit 5) - const EVENT_876 ; 876, (D855, bit 6) - const EVENT_877 ; 877, (D855, bit 7) - const EVENT_878 ; 878, (D856, bit 0) - const EVENT_879 ; 879, (D856, bit 1) - const EVENT_87A ; 87A, (D856, bit 2) - const EVENT_87B ; 87B, (D856, bit 3) - const EVENT_87C ; 87C, (D856, bit 4) - const EVENT_87D ; 87D, (D856, bit 5) - const EVENT_87E ; 87E, (D856, bit 6) - const EVENT_87F ; 87F, (D856, bit 7) - const EVENT_GOT_HM03 ; 880, (D857, bit 0) - const EVENT_881 ; 881, (D857, bit 1) - const EVENT_882 ; 882, (D857, bit 2) - const EVENT_883 ; 883, (D857, bit 3) - const EVENT_884 ; 884, (D857, bit 4) - const EVENT_885 ; 885, (D857, bit 5) - const EVENT_886 ; 886, (D857, bit 6) - const EVENT_887 ; 887, (D857, bit 7) - const EVENT_888 ; 888, (D858, bit 0) - const EVENT_889 ; 889, (D858, bit 1) - const EVENT_88A ; 88A, (D858, bit 2) - const EVENT_88B ; 88B, (D858, bit 3) - const EVENT_88C ; 88C, (D858, bit 4) - const EVENT_88D ; 88D, (D858, bit 5) - const EVENT_88E ; 88E, (D858, bit 6) - const EVENT_88F ; 88F, (D858, bit 7) - const EVENT_890 ; 890, (D859, bit 0) - const EVENT_891 ; 891, (D859, bit 1) - const EVENT_892 ; 892, (D859, bit 2) - const EVENT_893 ; 893, (D859, bit 3) - const EVENT_894 ; 894, (D859, bit 4) - const EVENT_895 ; 895, (D859, bit 5) - const EVENT_896 ; 896, (D859, bit 6) - const EVENT_897 ; 897, (D859, bit 7) - const EVENT_898 ; 898, (D85A, bit 0) - const EVENT_899 ; 899, (D85A, bit 1) - const EVENT_89A ; 89A, (D85A, bit 2) - const EVENT_89B ; 89B, (D85A, bit 3) - const EVENT_89C ; 89C, (D85A, bit 4) - const EVENT_89D ; 89D, (D85A, bit 5) - const EVENT_89E ; 89E, (D85A, bit 6) - const EVENT_89F ; 89F, (D85A, bit 7) - const EVENT_8A0 ; 8A0, (D85B, bit 0) - const EVENT_8A1 ; 8A1, (D85B, bit 1) - const EVENT_8A2 ; 8A2, (D85B, bit 2) - const EVENT_8A3 ; 8A3, (D85B, bit 3) - const EVENT_8A4 ; 8A4, (D85B, bit 4) - const EVENT_8A5 ; 8A5, (D85B, bit 5) - const EVENT_8A6 ; 8A6, (D85B, bit 6) - const EVENT_8A7 ; 8A7, (D85B, bit 7) - const EVENT_8A8 ; 8A8, (D85C, bit 0) - const EVENT_8A9 ; 8A9, (D85C, bit 1) - const EVENT_8AA ; 8AA, (D85C, bit 2) - const EVENT_8AB ; 8AB, (D85C, bit 3) - const EVENT_8AC ; 8AC, (D85C, bit 4) - const EVENT_8AD ; 8AD, (D85C, bit 5) - const EVENT_8AE ; 8AE, (D85C, bit 6) - const EVENT_8AF ; 8AF, (D85C, bit 7) - const EVENT_8B0 ; 8B0, (D85D, bit 0) - const EVENT_8B1 ; 8B1, (D85D, bit 1) - const EVENT_8B2 ; 8B2, (D85D, bit 2) - const EVENT_8B3 ; 8B3, (D85D, bit 3) - const EVENT_8B4 ; 8B4, (D85D, bit 4) - const EVENT_8B5 ; 8B5, (D85D, bit 5) - const EVENT_8B6 ; 8B6, (D85D, bit 6) - const EVENT_8B7 ; 8B7, (D85D, bit 7) - const EVENT_8B8 ; 8B8, (D85E, bit 0) - const EVENT_8B9 ; 8B9, (D85E, bit 1) - const EVENT_8BA ; 8BA, (D85E, bit 2) - const EVENT_8BB ; 8BB, (D85E, bit 3) - const EVENT_8BC ; 8BC, (D85E, bit 4) - const EVENT_8BD ; 8BD, (D85E, bit 5) - const EVENT_8BE ; 8BE, (D85E, bit 6) - const EVENT_8BF ; 8BF, (D85E, bit 7) - const EVENT_8C0 ; 8C0, (D85F, bit 0) - const EVENT_BEAT_MEWTWO ; 8C1, (D85F, bit 1) - const EVENT_8C2 ; 8C2, (D85F, bit 2) - const EVENT_8C3 ; 8C3, (D85F, bit 3) - const EVENT_8C4 ; 8C4, (D85F, bit 4) - const EVENT_8C5 ; 8C5, (D85F, bit 5) - const EVENT_8C6 ; 8C6, (D85F, bit 6) - const EVENT_8C7 ; 8C7, (D85F, bit 7) - const EVENT_8C8 ; 8C8, (D860, bit 0) - const EVENT_8C9 ; 8C9, (D860, bit 1) - const EVENT_8CA ; 8CA, (D860, bit 2) - const EVENT_8CB ; 8CB, (D860, bit 3) - const EVENT_8CC ; 8CC, (D860, bit 4) - const EVENT_8CD ; 8CD, (D860, bit 5) - const EVENT_8CE ; 8CE, (D860, bit 6) - const EVENT_8CF ; 8CF, (D860, bit 7) - const EVENT_8D0 ; 8D0, (D861, bit 0) - const EVENT_8D1 ; 8D1, (D861, bit 1) - const EVENT_8D2 ; 8D2, (D861, bit 2) - const EVENT_8D3 ; 8D3, (D861, bit 3) - const EVENT_8D4 ; 8D4, (D861, bit 4) - const EVENT_8D5 ; 8D5, (D861, bit 5) - const EVENT_8D6 ; 8D6, (D861, bit 6) - const EVENT_8D7 ; 8D7, (D861, bit 7) - const EVENT_8D8 ; 8D8, (D862, bit 0) - const EVENT_8D9 ; 8D9, (D862, bit 1) - const EVENT_8DA ; 8DA, (D862, bit 2) - const EVENT_8DB ; 8DB, (D862, bit 3) - const EVENT_8DC ; 8DC, (D862, bit 4) - const EVENT_8DD ; 8DD, (D862, bit 5) - const EVENT_8DE ; 8DE, (D862, bit 6) - const EVENT_8DF ; 8DF, (D862, bit 7) - const ELITE4_EVENTS_START ; 8E0, (D863, bit 0) - const EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 ; 8E1, (D863, bit 1) - const EVENT_8E2 ; 8E2, (D863, bit 2) - const EVENT_8E3 ; 8E3, (D863, bit 3) - const EVENT_8E4 ; 8E4, (D863, bit 4) - const EVENT_8E5 ; 8E5, (D863, bit 5) - const EVENT_AUTOWALKED_INTO_LORELEIS_ROOM ; 8E6, (D863, bit 6) - const EVENT_8E7 ; 8E7, (D863, bit 7) - const EVENT_8E8 ; 8E8, (D864, bit 0) - const EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 ; 8E9, (D864, bit 1) - const EVENT_8EA ; 8EA, (D864, bit 2) - const EVENT_8EB ; 8EB, (D864, bit 3) - const EVENT_8EC ; 8EC, (D864, bit 4) - const EVENT_8ED ; 8ED, (D864, bit 5) - const EVENT_AUTOWALKED_INTO_BRUNOS_ROOM ; 8EE, (D864, bit 6) - const EVENT_8EF ; 8EF, (D864, bit 7) - const EVENT_8F0 ; 8F0, (D865, bit 0) - const EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 ; 8F1, (D865, bit 1) - const EVENT_8F2 ; 8F2, (D865, bit 2) - const EVENT_8F3 ; 8F3, (D865, bit 3) - const EVENT_8F4 ; 8F4, (D865, bit 4) - const EVENT_8F5 ; 8F5, (D865, bit 5) - const EVENT_AUTOWALKED_INTO_AGATHAS_ROOM ; 8F6, (D865, bit 6) - const EVENT_8F7 ; 8F7, (D865, bit 7) - const EVENT_8F8 ; 8F8, (D866, bit 0) - const EVENT_BEAT_LANCES_ROOM_TRAINER_0 ; 8F9, (D866, bit 1) - const EVENT_8FA ; 8FA, (D866, bit 2) - const EVENT_8FB ; 8FB, (D866, bit 3) - const EVENT_8FC ; 8FC, (D866, bit 4) - const EVENT_8FD ; 8FD, (D866, bit 5) - const EVENT_BEAT_LANCE ; 8FE, (D866, bit 6) - const EVENT_LANCES_ROOM_LOCK_DOOR ; 8FF, (D866, bit 7) - const EVENT_900 ; 900, (D867, bit 0) - const EVENT_BEAT_CHAMPION_RIVAL ; 901, (D867, bit 1) - const EVENT_902 ; 902, (D867, bit 2) - const EVENT_903 ; 903, (D867, bit 3) - const EVENT_904 ; 904, (D867, bit 4) - const EVENT_905 ; 905, (D867, bit 5) - const EVENT_906 ; 906, (D867, bit 6) - const ELITE4_CHAMPION_EVENTS_END ; 907, (D867, bit 7) - const EVENT_908 ; 908, (D868, bit 0) - const EVENT_909 ; 909, (D868, bit 1) - const EVENT_90A ; 90A, (D868, bit 2) - const EVENT_90B ; 90B, (D868, bit 3) - const EVENT_90C ; 90C, (D868, bit 4) - const EVENT_90D ; 90D, (D868, bit 5) - const EVENT_90E ; 90E, (D868, bit 6) - const EVENT_90F ; 90F, (D868, bit 7) - const EVENT_910 ; 910, (D869, bit 0) - const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 ; 911, (D869, bit 1) - const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 ; 912, (D869, bit 2) - const EVENT_913 ; 913, (D869, bit 3) - const EVENT_914 ; 914, (D869, bit 4) - const EVENT_915 ; 915, (D869, bit 5) - const EVENT_916 ; 916, (D869, bit 6) - const EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH ; 917, (D869, bit 7) - const EVENT_918 ; 918, (D86A, bit 0) - const EVENT_919 ; 919, (D86A, bit 1) - const EVENT_91A ; 91A, (D86A, bit 2) - const EVENT_91B ; 91B, (D86A, bit 3) - const EVENT_91C ; 91C, (D86A, bit 4) - const EVENT_91D ; 91D, (D86A, bit 5) - const EVENT_91E ; 91E, (D86A, bit 6) - const EVENT_91F ; 91F, (D86A, bit 7) - const EVENT_920 ; 920, (D86B, bit 0) - const EVENT_921 ; 921, (D86B, bit 1) - const EVENT_922 ; 922, (D86B, bit 2) - const EVENT_923 ; 923, (D86B, bit 3) - const EVENT_924 ; 924, (D86B, bit 4) - const EVENT_925 ; 925, (D86B, bit 5) - const EVENT_926 ; 926, (D86B, bit 6) - const EVENT_927 ; 927, (D86B, bit 7) - const EVENT_928 ; 928, (D86C, bit 0) - const EVENT_929 ; 929, (D86C, bit 1) - const EVENT_92A ; 92A, (D86C, bit 2) - const EVENT_92B ; 92B, (D86C, bit 3) - const EVENT_92C ; 92C, (D86C, bit 4) - const EVENT_92D ; 92D, (D86C, bit 5) - const EVENT_92E ; 92E, (D86C, bit 6) - const EVENT_92F ; 92F, (D86C, bit 7) - const EVENT_930 ; 930, (D86D, bit 0) - const EVENT_931 ; 931, (D86D, bit 1) - const EVENT_932 ; 932, (D86D, bit 2) - const EVENT_933 ; 933, (D86D, bit 3) - const EVENT_934 ; 934, (D86D, bit 4) - const EVENT_935 ; 935, (D86D, bit 5) - const EVENT_936 ; 936, (D86D, bit 6) - const EVENT_937 ; 937, (D86D, bit 7) - const EVENT_938 ; 938, (D86E, bit 0) - const EVENT_939 ; 939, (D86E, bit 1) - const EVENT_93A ; 93A, (D86E, bit 2) - const EVENT_93B ; 93B, (D86E, bit 3) - const EVENT_93C ; 93C, (D86E, bit 4) - const EVENT_93D ; 93D, (D86E, bit 5) - const EVENT_93E ; 93E, (D86E, bit 6) - const EVENT_93F ; 93F, (D86E, bit 7) - const EVENT_940 ; 940, (D86F, bit 0) - const EVENT_941 ; 941, (D86F, bit 1) - const EVENT_942 ; 942, (D86F, bit 2) - const EVENT_943 ; 943, (D86F, bit 3) - const EVENT_944 ; 944, (D86F, bit 4) - const EVENT_945 ; 945, (D86F, bit 5) - const EVENT_946 ; 946, (D86F, bit 6) - const EVENT_947 ; 947, (D86F, bit 7) - const EVENT_948 ; 948, (D870, bit 0) - const EVENT_949 ; 949, (D870, bit 1) - const EVENT_94A ; 94A, (D870, bit 2) - const EVENT_94B ; 94B, (D870, bit 3) - const EVENT_94C ; 94C, (D870, bit 4) - const EVENT_94D ; 94D, (D870, bit 5) - const EVENT_94E ; 94E, (D870, bit 6) - const EVENT_94F ; 94F, (D870, bit 7) - const EVENT_950 ; 950, (D871, bit 0) - const EVENT_951 ; 951, (D871, bit 1) - const EVENT_952 ; 952, (D871, bit 2) - const EVENT_953 ; 953, (D871, bit 3) - const EVENT_954 ; 954, (D871, bit 4) - const EVENT_955 ; 955, (D871, bit 5) - const EVENT_956 ; 956, (D871, bit 6) - const EVENT_957 ; 957, (D871, bit 7) - const EVENT_958 ; 958, (D872, bit 0) - const EVENT_959 ; 959, (D872, bit 1) - const EVENT_95A ; 95A, (D872, bit 2) - const EVENT_95B ; 95B, (D872, bit 3) - const EVENT_95C ; 95C, (D872, bit 4) - const EVENT_95D ; 95D, (D872, bit 5) - const EVENT_95E ; 95E, (D872, bit 6) - const EVENT_95F ; 95F, (D872, bit 7) - const EVENT_960 ; 960, (D873, bit 0) - const EVENT_961 ; 961, (D873, bit 1) - const EVENT_962 ; 962, (D873, bit 2) - const EVENT_963 ; 963, (D873, bit 3) - const EVENT_964 ; 964, (D873, bit 4) - const EVENT_965 ; 965, (D873, bit 5) - const EVENT_966 ; 966, (D873, bit 6) - const EVENT_967 ; 967, (D873, bit 7) - const EVENT_968 ; 968, (D874, bit 0) - const EVENT_969 ; 969, (D874, bit 1) - const EVENT_96A ; 96A, (D874, bit 2) - const EVENT_96B ; 96B, (D874, bit 3) - const EVENT_96C ; 96C, (D874, bit 4) - const EVENT_96D ; 96D, (D874, bit 5) - const EVENT_96E ; 96E, (D874, bit 6) - const EVENT_96F ; 96F, (D874, bit 7) - const EVENT_970 ; 970, (D875, bit 0) - const EVENT_971 ; 971, (D875, bit 1) - const EVENT_972 ; 972, (D875, bit 2) - const EVENT_973 ; 973, (D875, bit 3) - const EVENT_974 ; 974, (D875, bit 4) - const EVENT_975 ; 975, (D875, bit 5) - const EVENT_976 ; 976, (D875, bit 6) - const EVENT_977 ; 977, (D875, bit 7) - const EVENT_978 ; 978, (D876, bit 0) - const EVENT_979 ; 979, (D876, bit 1) - const EVENT_97A ; 97A, (D876, bit 2) - const EVENT_97B ; 97B, (D876, bit 3) - const EVENT_97C ; 97C, (D876, bit 4) - const EVENT_97D ; 97D, (D876, bit 5) - const EVENT_97E ; 97E, (D876, bit 6) - const EVENT_97F ; 97F, (D876, bit 7) - const EVENT_980 ; 980, (D877, bit 0) - const EVENT_981 ; 981, (D877, bit 1) - const EVENT_982 ; 982, (D877, bit 2) - const EVENT_983 ; 983, (D877, bit 3) - const EVENT_984 ; 984, (D877, bit 4) - const EVENT_985 ; 985, (D877, bit 5) - const EVENT_986 ; 986, (D877, bit 6) - const EVENT_987 ; 987, (D877, bit 7) - const EVENT_988 ; 988, (D878, bit 0) - const EVENT_989 ; 989, (D878, bit 1) - const EVENT_98A ; 98A, (D878, bit 2) - const EVENT_98B ; 98B, (D878, bit 3) - const EVENT_98C ; 98C, (D878, bit 4) - const EVENT_98D ; 98D, (D878, bit 5) - const EVENT_98E ; 98E, (D878, bit 6) - const EVENT_98F ; 98F, (D878, bit 7) - const EVENT_990 ; 990, (D879, bit 0) - const EVENT_991 ; 991, (D879, bit 1) - const EVENT_992 ; 992, (D879, bit 2) - const EVENT_993 ; 993, (D879, bit 3) - const EVENT_994 ; 994, (D879, bit 4) - const EVENT_995 ; 995, (D879, bit 5) - const EVENT_996 ; 996, (D879, bit 6) - const EVENT_997 ; 997, (D879, bit 7) - const EVENT_998 ; 998, (D87A, bit 0) - const EVENT_999 ; 999, (D87A, bit 1) - const EVENT_99A ; 99A, (D87A, bit 2) - const EVENT_99B ; 99B, (D87A, bit 3) - const EVENT_99C ; 99C, (D87A, bit 4) - const EVENT_99D ; 99D, (D87A, bit 5) - const EVENT_99E ; 99E, (D87A, bit 6) - const EVENT_99F ; 99F, (D87A, bit 7) - const EVENT_9A0 ; 9A0, (D87B, bit 0) - const EVENT_9A1 ; 9A1, (D87B, bit 1) - const EVENT_9A2 ; 9A2, (D87B, bit 2) - const EVENT_9A3 ; 9A3, (D87B, bit 3) - const EVENT_9A4 ; 9A4, (D87B, bit 4) - const EVENT_9A5 ; 9A5, (D87B, bit 5) - const EVENT_9A6 ; 9A6, (D87B, bit 6) - const EVENT_9A7 ; 9A7, (D87B, bit 7) - const EVENT_9A8 ; 9A8, (D87C, bit 0) - const EVENT_9A9 ; 9A9, (D87C, bit 1) - const EVENT_9AA ; 9AA, (D87C, bit 2) - const EVENT_9AB ; 9AB, (D87C, bit 3) - const EVENT_9AC ; 9AC, (D87C, bit 4) - const EVENT_9AD ; 9AD, (D87C, bit 5) - const EVENT_9AE ; 9AE, (D87C, bit 6) - const EVENT_9AF ; 9AF, (D87C, bit 7) - const EVENT_9B0 ; 9B0, (D87D, bit 0) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 ; 9B1, (D87D, bit 1) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 ; 9B2, (D87D, bit 2) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 ; 9B3, (D87D, bit 3) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 ; 9B4, (D87D, bit 4) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 ; 9B5, (D87D, bit 5) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 ; 9B6, (D87D, bit 6) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 ; 9B7, (D87D, bit 7) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7 ; 9B8, (D87E, bit 0) - const EVENT_9B9 ; 9B9, (D87E, bit 1) - const EVENT_9BA ; 9BA, (D87E, bit 2) - const EVENT_9BB ; 9BB, (D87E, bit 3) - const EVENT_9BC ; 9BC, (D87E, bit 4) - const EVENT_9BD ; 9BD, (D87E, bit 5) - const EVENT_9BE ; 9BE, (D87E, bit 6) - const EVENT_9BF ; 9BF, (D87E, bit 7) - const EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE ; 9C0, (D87F, bit 0) - const EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE ; 9C1, (D87F, bit 1) - const EVENT_9C2 ; 9C2, (D87F, bit 2) - const EVENT_9C3 ; 9C3, (D87F, bit 3) - const EVENT_9C4 ; 9C4, (D87F, bit 4) - const EVENT_9C5 ; 9C5, (D87F, bit 5) - const EVENT_9C6 ; 9C6, (D87F, bit 6) - const EVENT_9C7 ; 9C7, (D87F, bit 7) - const EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE ; 9C8, (D880, bit 0) - const EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE ; 9C9, (D880, bit 1) - const EVENT_9CA ; 9CA, (D880, bit 2) - const EVENT_9CB ; 9CB, (D880, bit 3) - const EVENT_9CC ; 9CC, (D880, bit 4) - const EVENT_9CD ; 9CD, (D880, bit 5) - const EVENT_9CE ; 9CE, (D880, bit 6) - const EVENT_9CF ; 9CF, (D880, bit 7) - const EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE ; 9D0, (D881, bit 0) - const EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE ; 9D1, (D881, bit 1) - const EVENT_9D2 ; 9D2, (D881, bit 2) - const EVENT_9D3 ; 9D3, (D881, bit 3) - const EVENT_9D4 ; 9D4, (D881, bit 4) - const EVENT_9D5 ; 9D5, (D881, bit 5) - const EVENT_9D6 ; 9D6, (D881, bit 6) - const EVENT_9D7 ; 9D7, (D881, bit 7) - const EVENT_9D8 ; 9D8, (D882, bit 0) - const EVENT_9D9 ; 9D9, (D882, bit 1) - const EVENT_BEAT_ARTICUNO ; 9DA, (D882, bit 2) - const EVENT_9DB ; 9DB, (D882, bit 3) - const EVENT_9DC ; 9DC, (D882, bit 4) - const EVENT_9DD ; 9DD, (D882, bit 5) - const EVENT_9DE ; 9DE, (D882, bit 6) - const EVENT_9DF ; 9DF, (D882, bit 7) - const EVENT_9E0 ; 9E0, (D883, bit 0) - const EVENT_9E1 ; 9E1, (D883, bit 1) - const EVENT_9E2 ; 9E2, (D883, bit 2) - const EVENT_9E3 ; 9E3, (D883, bit 3) - const EVENT_9E4 ; 9E4, (D883, bit 4) - const EVENT_9E5 ; 9E5, (D883, bit 5) - const EVENT_9E6 ; 9E6, (D883, bit 6) - const EVENT_9E7 ; 9E7, (D883, bit 7) - const EVENT_9E8 ; 9E8, (D884, bit 0) - const EVENT_9E9 ; 9E9, (D884, bit 1) - const EVENT_9EA ; 9EA, (D884, bit 2) - const EVENT_9EB ; 9EB, (D884, bit 3) - const EVENT_9EC ; 9EC, (D884, bit 4) - const EVENT_9ED ; 9ED, (D884, bit 5) - const EVENT_9EE ; 9EE, (D884, bit 6) - const EVENT_9EF ; 9EF, (D884, bit 7) - const EVENT_9F0 ; 9F0, (D885, bit 0) - const EVENT_9F1 ; 9F1, (D885, bit 1) - const EVENT_9F2 ; 9F2, (D885, bit 2) - const EVENT_9F3 ; 9F3, (D885, bit 3) - const EVENT_9F4 ; 9F4, (D885, bit 4) - const EVENT_9F5 ; 9F5, (D885, bit 5) - const EVENT_9F6 ; 9F6, (D885, bit 6) - const EVENT_9F7 ; 9F7, (D885, bit 7) - const EVENT_9F8 ; 9F8, (D886, bit 0) - const EVENT_9F9 ; 9F9, (D886, bit 1) - const EVENT_9FA ; 9FA, (D886, bit 2) - const EVENT_9FB ; 9FB, (D886, bit 3) - const EVENT_9FC ; 9FC, (D886, bit 4) - const EVENT_9FD ; 9FD, (D886, bit 5) - const EVENT_9FE ; 9FE, (D886, bit 6) - const EVENT_9FF ; 9FF, (D886, bit 7) + const_def + const EVENT_FOLLOWED_OAK_INTO_LAB + const EVENT_001 + const EVENT_002 + const EVENT_HALL_OF_FAME_DEX_RATING + const EVENT_004 + const EVENT_005 + const EVENT_PALLET_AFTER_GETTING_POKEBALLS + const EVENT_007 + const EVENT_008 + const EVENT_009 + const EVENT_00A + const EVENT_00B + const EVENT_00C + const EVENT_00D + const EVENT_00E + const EVENT_00F + const EVENT_010 + const EVENT_011 + const EVENT_012 + const EVENT_013 + const EVENT_014 + const EVENT_015 + const EVENT_016 + const EVENT_017 + const EVENT_GOT_TOWN_MAP + const EVENT_ENTERED_BLUES_HOUSE + const EVENT_DAISY_WALKING + const EVENT_01B + const EVENT_01C + const EVENT_01D + const EVENT_01E + const EVENT_01F + const EVENT_FOLLOWED_OAK_INTO_LAB_2 + const EVENT_OAK_ASKED_TO_CHOOSE_MON + const EVENT_GOT_STARTER + const EVENT_BATTLED_RIVAL_IN_OAKS_LAB + const EVENT_GOT_POKEBALLS_FROM_OAK + const EVENT_GOT_POKEDEX + const EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 + const EVENT_OAK_APPEARED_IN_PALLET + const EVENT_VIRIDIAN_GYM_OPEN + const EVENT_GOT_TM42 + const EVENT_02A + const EVENT_02B + const EVENT_02C + const EVENT_02D + const EVENT_02E + const EVENT_02F + const EVENT_030 + const EVENT_031 + const EVENT_032 + const EVENT_033 + const EVENT_034 + const EVENT_035 + const EVENT_036 + const EVENT_037 + const EVENT_OAK_GOT_PARCEL + const EVENT_GOT_OAKS_PARCEL + const EVENT_03A + const EVENT_03B + const EVENT_03C + const EVENT_03D + const EVENT_03E + const EVENT_03F + const EVENT_040 + const EVENT_041 + const EVENT_042 + const EVENT_043 + const EVENT_044 + const EVENT_045 + const EVENT_046 + const EVENT_047 + const EVENT_048 + const EVENT_049 + const EVENT_04A + const EVENT_04B + const EVENT_04C + const EVENT_04D + const EVENT_04E + const EVENT_04F + const EVENT_GOT_TM27 + const EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 + const EVENT_05A + const EVENT_05B + const EVENT_05C + const EVENT_05D + const EVENT_05E + const EVENT_05F + const EVENT_060 + const EVENT_061 + const EVENT_062 + const EVENT_063 + const EVENT_064 + const EVENT_065 + const EVENT_066 + const EVENT_067 + const EVENT_BOUGHT_MUSEUM_TICKET + const EVENT_GOT_OLD_AMBER + const EVENT_06A + const EVENT_06B + const EVENT_06C + const EVENT_06D + const EVENT_06E + const EVENT_06F + const EVENT_070 + const EVENT_071 + const EVENT_BEAT_PEWTER_GYM_TRAINER_0 + const EVENT_073 + const EVENT_074 + const EVENT_075 + const EVENT_GOT_TM34 + const EVENT_BEAT_BROCK + const EVENT_078 + const EVENT_079 + const EVENT_07A + const EVENT_07B + const EVENT_07C + const EVENT_07D + const EVENT_07E + const EVENT_07F + const EVENT_080 + const EVENT_081 + const EVENT_082 + const EVENT_083 + const EVENT_084 + const EVENT_085 + const EVENT_086 + const EVENT_087 + const EVENT_088 + const EVENT_089 + const EVENT_08A + const EVENT_08B + const EVENT_08C + const EVENT_08D + const EVENT_08E + const EVENT_08F + const EVENT_090 + const EVENT_091 + const EVENT_092 + const EVENT_093 + const EVENT_094 + const EVENT_095 + const EVENT_096 + const EVENT_097 + const EVENT_BEAT_CERULEAN_RIVAL + const EVENT_099 + const EVENT_09A + const EVENT_09B + const EVENT_09C + const EVENT_09D + const EVENT_09E + const EVENT_09F + const EVENT_0A0 + const EVENT_0A1 + const EVENT_0A2 + const EVENT_0A3 + const EVENT_0A4 + const EVENT_0A5 + const EVENT_0A6 + const EVENT_BEAT_CERULEAN_ROCKET_THIEF + const EVENT_0A8 + const EVENT_0A9 + const EVENT_0AA + const EVENT_0AB + const EVENT_0AC + const EVENT_0AD + const EVENT_0AE + const EVENT_0AF + const EVENT_0B0 + const EVENT_0B1 + const EVENT_0B2 + const EVENT_0B3 + const EVENT_0B4 + const EVENT_0B5 + const EVENT_0B6 + const EVENT_0B7 + const EVENT_0B8 + const EVENT_0B9 + const EVENT_BEAT_CERULEAN_GYM_TRAINER_0 + const EVENT_BEAT_CERULEAN_GYM_TRAINER_1 + const EVENT_0BC + const EVENT_0BD + const EVENT_GOT_TM11 + const EVENT_BEAT_MISTY + const EVENT_GOT_BICYCLE + const EVENT_0C1 + const EVENT_0C2 + const EVENT_0C3 + const EVENT_0C4 + const EVENT_0C5 + const EVENT_0C6 + const EVENT_0C7 + const EVENT_0C8 + const EVENT_0C9 + const EVENT_0CA + const EVENT_0CB + const EVENT_0CC + const EVENT_0CD + const EVENT_0CE + const EVENT_0CF + const EVENT_0D0 + const EVENT_0D1 + const EVENT_0D2 + const EVENT_0D3 + const EVENT_0D4 + const EVENT_0D5 + const EVENT_0D6 + const EVENT_0D7 + const EVENT_0D8 + const EVENT_0D9 + const EVENT_0DA + const EVENT_0DB + const EVENT_0DC + const EVENT_0DD + const EVENT_0DE + const EVENT_0DF + const EVENT_0E0 + const EVENT_0E1 + const EVENT_0E2 + const EVENT_0E3 + const EVENT_0E4 + const EVENT_0E5 + const EVENT_0E6 + const EVENT_0E7 + const EVENT_0E8 + const EVENT_0E9 + const EVENT_0EA + const EVENT_0EB + const EVENT_0EC + const EVENT_0ED + const EVENT_POKEMON_TOWER_RIVAL_ON_LEFT + const EVENT_BEAT_POKEMON_TOWER_RIVAL + const EVENT_0F0 + const EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 + const EVENT_0F4 + const EVENT_0F5 + const EVENT_0F6 + const EVENT_0F7 + const EVENT_0F8 + const EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 + const EVENT_0FC + const EVENT_0FD + const EVENT_0FE + const EVENT_0FF + const EVENT_100 + const EVENT_101 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 + const EVENT_106 + const EVENT_IN_PURIFIED_ZONE + const EVENT_108 + const EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 + const EVENT_10C + const EVENT_10D + const EVENT_10E + const EVENT_BEAT_GHOST_MAROWAK + const EVENT_110 + const EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 + const EVENT_114 + const EVENT_115 + const EVENT_116 + const EVENT_RESCUED_MR_FUJI_2 + const EVENT_118 + const EVENT_119 + const EVENT_11A + const EVENT_11B + const EVENT_11C + const EVENT_11D + const EVENT_11E + const EVENT_11F + const EVENT_120 + const EVENT_121 + const EVENT_122 + const EVENT_123 + const EVENT_124 + const EVENT_125 + const EVENT_126 + const EVENT_127 + const EVENT_GOT_POKE_FLUTE + const EVENT_129 + const EVENT_12A + const EVENT_12B + const EVENT_12C + const EVENT_12D + const EVENT_12E + const EVENT_12F + const EVENT_130 + const EVENT_131 + const EVENT_132 + const EVENT_133 + const EVENT_134 + const EVENT_135 + const EVENT_136 + const EVENT_137 + const EVENT_138 + const EVENT_139 + const EVENT_13A + const EVENT_13B + const EVENT_13C + const EVENT_13D + const EVENT_13E + const EVENT_13F + const EVENT_140 + const EVENT_141 + const EVENT_142 + const EVENT_143 + const EVENT_144 + const EVENT_145 + const EVENT_146 + const EVENT_147 + const EVENT_148 + const EVENT_149 + const EVENT_14A + const EVENT_14B + const EVENT_14C + const EVENT_14D + const EVENT_14E + const EVENT_14F + const EVENT_150 + const EVENT_GOT_BIKE_VOUCHER + const EVENT_152 + const EVENT_153 + const EVENT_154 + const EVENT_155 + const EVENT_SEEL_FAN_BOAST + const EVENT_PIKACHU_FAN_BOAST + const EVENT_158 + const EVENT_159 + const EVENT_15A + const EVENT_15B + const EVENT_15C + const EVENT_15D + const EVENT_15E + const EVENT_15F + const EVENT_2ND_LOCK_OPENED + const EVENT_1ST_LOCK_OPENED + const EVENT_BEAT_VERMILION_GYM_TRAINER_0 + const EVENT_BEAT_VERMILION_GYM_TRAINER_1 + const EVENT_BEAT_VERMILION_GYM_TRAINER_2 + const EVENT_165 + const EVENT_GOT_TM24 + const EVENT_BEAT_LT_SURGE + const EVENT_168 + const EVENT_169 + const EVENT_16A + const EVENT_16B + const EVENT_16C + const EVENT_16D + const EVENT_16E + const EVENT_16F + const EVENT_170 + const EVENT_171 + const EVENT_172 + const EVENT_173 + const EVENT_174 + const EVENT_175 + const EVENT_176 + const EVENT_177 + const EVENT_178 + const EVENT_179 + const EVENT_17A + const EVENT_17B + const EVENT_17C + const EVENT_17D + const EVENT_17E + const EVENT_17F + const EVENT_GOT_TM41 + const EVENT_181 + const EVENT_182 + const EVENT_183 + const EVENT_184 + const EVENT_185 + const EVENT_186 + const EVENT_187 + const EVENT_188 + const EVENT_189 + const EVENT_18A + const EVENT_18B + const EVENT_GOT_TM13 + const EVENT_GOT_TM48 + const EVENT_GOT_TM49 + const EVENT_GOT_TM18 + const EVENT_190 + const EVENT_191 + const EVENT_192 + const EVENT_193 + const EVENT_194 + const EVENT_195 + const EVENT_196 + const EVENT_197 + const EVENT_198 + const EVENT_199 + const EVENT_19A + const EVENT_19B + const EVENT_19C + const EVENT_19D + const EVENT_19E + const EVENT_19F + const EVENT_1A0 + const EVENT_1A1 + const EVENT_1A2 + const EVENT_1A3 + const EVENT_1A4 + const EVENT_1A5 + const EVENT_1A6 + const EVENT_1A7 + const EVENT_GOT_TM21 + const EVENT_BEAT_ERIKA + const EVENT_BEAT_CELADON_GYM_TRAINER_0 + const EVENT_BEAT_CELADON_GYM_TRAINER_1 + const EVENT_BEAT_CELADON_GYM_TRAINER_2 + const EVENT_BEAT_CELADON_GYM_TRAINER_3 + const EVENT_BEAT_CELADON_GYM_TRAINER_4 + const EVENT_BEAT_CELADON_GYM_TRAINER_5 + const EVENT_BEAT_CELADON_GYM_TRAINER_6 + const EVENT_1B1 + const EVENT_1B2 + const EVENT_1B3 + const EVENT_1B4 + const EVENT_1B5 + const EVENT_1B6 + const EVENT_1B7 + const EVENT_1B8 + const EVENT_FOUND_ROCKET_HIDEOUT + const EVENT_GOT_10_COINS + const EVENT_GOT_20_COINS + const EVENT_GOT_20_COINS_2 + const EVENT_1BD + const EVENT_1BE + const EVENT_1BF + const EVENT_1C0 + const EVENT_1C1 + const EVENT_1C2 + const EVENT_1C3 + const EVENT_1C4 + const EVENT_1C5 + const EVENT_1C6 + const EVENT_1C7 + const EVENT_1C8 + const EVENT_1C9 + const EVENT_1CA + const EVENT_1CB + const EVENT_1CC + const EVENT_1CD + const EVENT_1CE + const EVENT_1CF + const EVENT_1D0 + const EVENT_1D1 + const EVENT_1D2 + const EVENT_1D3 + const EVENT_1D4 + const EVENT_1D5 + const EVENT_1D6 + const EVENT_1D7 + const EVENT_1D8 + const EVENT_1D9 + const EVENT_1DA + const EVENT_1DB + const EVENT_1DC + const EVENT_1DD + const EVENT_1DE + const EVENT_1DF + const EVENT_GOT_COIN_CASE + const EVENT_1E1 + const EVENT_1E2 + const EVENT_1E3 + const EVENT_1E4 + const EVENT_1E5 + const EVENT_1E6 + const EVENT_1E7 + const EVENT_1E8 + const EVENT_1E9 + const EVENT_1EA + const EVENT_1EB + const EVENT_1EC + const EVENT_1ED + const EVENT_1EE + const EVENT_1EF + const EVENT_1F0 + const EVENT_1F1 + const EVENT_1F2 + const EVENT_1F3 + const EVENT_1F4 + const EVENT_1F5 + const EVENT_1F6 + const EVENT_1F7 + const EVENT_1F8 + const EVENT_1F9 + const EVENT_1FA + const EVENT_1FB + const EVENT_1FC + const EVENT_1FD + const EVENT_1FE + const EVENT_1FF + const EVENT_200 + const EVENT_201 + const EVENT_202 + const EVENT_203 + const EVENT_204 + const EVENT_205 + const EVENT_206 + const EVENT_207 + const EVENT_208 + const EVENT_209 + const EVENT_20A + const EVENT_20B + const EVENT_20C + const EVENT_20D + const EVENT_20E + const EVENT_20F + const EVENT_210 + const EVENT_211 + const EVENT_212 + const EVENT_213 + const EVENT_214 + const EVENT_215 + const EVENT_216 + const EVENT_217 + const EVENT_218 + const EVENT_219 + const EVENT_21A + const EVENT_21B + const EVENT_21C + const EVENT_21D + const EVENT_21E + const EVENT_21F + const EVENT_220 + const EVENT_221 + const EVENT_222 + const EVENT_223 + const EVENT_224 + const EVENT_225 + const EVENT_226 + const EVENT_227 + const EVENT_228 + const EVENT_229 + const EVENT_22A + const EVENT_22B + const EVENT_22C + const EVENT_22D + const EVENT_22E + const EVENT_22F + const EVENT_230 + const EVENT_231 + const EVENT_232 + const EVENT_233 + const EVENT_234 + const EVENT_235 + const EVENT_236 + const EVENT_237 + const EVENT_GOT_HM04 + const EVENT_GAVE_GOLD_TEETH + const EVENT_23A + const EVENT_23B + const EVENT_23C + const EVENT_23D + const EVENT_23E + const EVENT_23F + const EVENT_240 + const EVENT_241 + const EVENT_242 + const EVENT_243 + const EVENT_244 + const EVENT_245 + const EVENT_246 + const EVENT_247 + const EVENT_248 + const EVENT_249 + const EVENT_24A + const EVENT_24B + const EVENT_24C + const EVENT_24D + const EVENT_SAFARI_GAME_OVER + const EVENT_IN_SAFARI_ZONE + const EVENT_250 + const EVENT_251 + const EVENT_252 + const EVENT_253 + const EVENT_254 + const EVENT_255 + const EVENT_256 + const EVENT_257 + const EVENT_GOT_TM06 + const EVENT_BEAT_KOGA + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 + const EVENT_260 + const EVENT_261 + const EVENT_262 + const EVENT_263 + const EVENT_264 + const EVENT_265 + const EVENT_266 + const EVENT_267 + const EVENT_268 + const EVENT_269 + const EVENT_26A + const EVENT_26B + const EVENT_26C + const EVENT_26D + const EVENT_26E + const EVENT_26F + const EVENT_270 + const EVENT_271 + const EVENT_272 + const EVENT_273 + const EVENT_274 + const EVENT_275 + const EVENT_276 + const EVENT_277 + const EVENT_MANSION_SWITCH_ON + const EVENT_279 + const EVENT_27A + const EVENT_27B + const EVENT_27C + const EVENT_27D + const EVENT_27E + const EVENT_27F + const EVENT_280 + const EVENT_281 + const EVENT_282 + const EVENT_283 + const EVENT_284 + const EVENT_285 + const EVENT_286 + const EVENT_287 + const EVENT_288 + const EVENT_BEAT_MANSION_1_TRAINER_0 + const EVENT_28A + const EVENT_28B + const EVENT_28C + const EVENT_28D + const EVENT_28E + const EVENT_28F + const EVENT_290 + const EVENT_291 + const EVENT_292 + const EVENT_293 + const EVENT_294 + const EVENT_295 + const EVENT_296 + const EVENT_297 + const EVENT_GOT_TM38 + const EVENT_BEAT_BLAINE + const EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_1 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_2 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_3 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_4 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_5 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_6 + const EVENT_2A1 + const EVENT_2A2 + const EVENT_2A3 + const EVENT_2A4 + const EVENT_2A5 + const EVENT_2A6 + const EVENT_2A7 + const EVENT_CINNABAR_GYM_GATE0_UNLOCKED + const EVENT_CINNABAR_GYM_GATE1_UNLOCKED + const EVENT_CINNABAR_GYM_GATE2_UNLOCKED + const EVENT_CINNABAR_GYM_GATE3_UNLOCKED + const EVENT_CINNABAR_GYM_GATE4_UNLOCKED + const EVENT_CINNABAR_GYM_GATE5_UNLOCKED + const EVENT_CINNABAR_GYM_GATE6_UNLOCKED + const EVENT_2AF + const EVENT_2B0 + const EVENT_2B1 + const EVENT_2B2 + const EVENT_2B3 + const EVENT_2B4 + const EVENT_2B5 + const EVENT_2B6 + const EVENT_2B7 + const EVENT_2B8 + const EVENT_2B9 + const EVENT_2BA + const EVENT_2BB + const EVENT_2BC + const EVENT_2BD + const EVENT_2BE + const EVENT_2BF + const EVENT_2C0 + const EVENT_2C1 + const EVENT_2C2 + const EVENT_2C3 + const EVENT_2C4 + const EVENT_2C5 + const EVENT_2C6 + const EVENT_2C7 + const EVENT_2C8 + const EVENT_2C9 + const EVENT_2CA + const EVENT_2CB + const EVENT_2CC + const EVENT_2CD + const EVENT_2CE + const EVENT_2CF + const EVENT_2D0 + const EVENT_2D1 + const EVENT_2D2 + const EVENT_2D3 + const EVENT_2D4 + const EVENT_2D5 + const EVENT_2D6 + const EVENT_GOT_TM35 + const EVENT_2D8 + const EVENT_2D9 + const EVENT_2DA + const EVENT_2DB + const EVENT_2DC + const EVENT_2DD + const EVENT_2DE + const EVENT_2DF + const EVENT_GAVE_FOSSIL_TO_LAB + const EVENT_LAB_STILL_REVIVING_FOSSIL + const EVENT_LAB_HANDING_OVER_FOSSIL_MON + const EVENT_2E3 + const EVENT_2E4 + const EVENT_2E5 + const EVENT_2E6 + const EVENT_2E7 + const EVENT_2E8 + const EVENT_2E9 + const EVENT_2EA + const EVENT_2EB + const EVENT_2EC + const EVENT_2ED + const EVENT_2EE + const EVENT_2EF + const EVENT_2F0 + const EVENT_2F1 + const EVENT_2F2 + const EVENT_2F3 + const EVENT_2F4 + const EVENT_2F5 + const EVENT_2F6 + const EVENT_2F7 + const EVENT_2F8 + const EVENT_2F9 + const EVENT_2FA + const EVENT_2FB + const EVENT_2FC + const EVENT_2FD + const EVENT_2FE + const EVENT_2FF + const EVENT_300 + const EVENT_301 + const EVENT_302 + const EVENT_303 + const EVENT_304 + const EVENT_305 + const EVENT_306 + const EVENT_307 + const EVENT_308 + const EVENT_309 + const EVENT_30A + const EVENT_30B + const EVENT_30C + const EVENT_30D + const EVENT_30E + const EVENT_30F + const EVENT_310 + const EVENT_311 + const EVENT_312 + const EVENT_313 + const EVENT_314 + const EVENT_315 + const EVENT_316 + const EVENT_317 + const EVENT_318 + const EVENT_319 + const EVENT_31A + const EVENT_31B + const EVENT_31C + const EVENT_31D + const EVENT_31E + const EVENT_31F + const EVENT_320 + const EVENT_321 + const EVENT_322 + const EVENT_323 + const EVENT_324 + const EVENT_325 + const EVENT_326 + const EVENT_327 + const EVENT_328 + const EVENT_329 + const EVENT_32A + const EVENT_32B + const EVENT_32C + const EVENT_32D + const EVENT_32E + const EVENT_32F + const EVENT_330 + const EVENT_331 + const EVENT_332 + const EVENT_333 + const EVENT_334 + const EVENT_335 + const EVENT_336 + const EVENT_337 + const EVENT_338 + const EVENT_339 + const EVENT_33A + const EVENT_33B + const EVENT_33C + const EVENT_33D + const EVENT_33E + const EVENT_33F + const EVENT_GOT_TM31 + const EVENT_341 + const EVENT_342 + const EVENT_343 + const EVENT_344 + const EVENT_345 + const EVENT_346 + const EVENT_347 + const EVENT_348 + const EVENT_349 + const EVENT_34A + const EVENT_34B + const EVENT_34C + const EVENT_34D + const EVENT_34E + const EVENT_34F + const EVENT_DEFEATED_FIGHTING_DOJO + const EVENT_BEAT_KARATE_MASTER + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 + const EVENT_GOT_HITMONLEE + const EVENT_GOT_HITMONCHAN + const EVENT_358 + const EVENT_359 + const EVENT_35A + const EVENT_35B + const EVENT_35C + const EVENT_35D + const EVENT_35E + const EVENT_35F + const EVENT_GOT_TM46 + const EVENT_BEAT_SABRINA + const EVENT_BEAT_SAFFRON_GYM_TRAINER_0 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_1 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_2 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_3 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_4 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_5 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_6 + const EVENT_369 + const EVENT_36A + const EVENT_36B + const EVENT_36C + const EVENT_36D + const EVENT_36E + const EVENT_36F + const EVENT_370 + const EVENT_371 + const EVENT_372 + const EVENT_373 + const EVENT_374 + const EVENT_375 + const EVENT_376 + const EVENT_377 + const EVENT_378 + const EVENT_379 + const EVENT_37A + const EVENT_37B + const EVENT_37C + const EVENT_37D + const EVENT_37E + const EVENT_37F + const EVENT_380 + const EVENT_381 + const EVENT_382 + const EVENT_383 + const EVENT_384 + const EVENT_385 + const EVENT_386 + const EVENT_387 + const EVENT_388 + const EVENT_389 + const EVENT_38A + const EVENT_38B + const EVENT_38C + const EVENT_38D + const EVENT_38E + const EVENT_38F + const EVENT_390 + const EVENT_391 + const EVENT_392 + const EVENT_393 + const EVENT_394 + const EVENT_395 + const EVENT_396 + const EVENT_SILPH_CO_RECEPTIONIST_AT_DESK + const EVENT_398 + const EVENT_399 + const EVENT_39A + const EVENT_39B + const EVENT_39C + const EVENT_39D + const EVENT_39E + const EVENT_39F + const EVENT_3A0 + const EVENT_3A1 + const EVENT_3A2 + const EVENT_3A3 + const EVENT_3A4 + const EVENT_3A5 + const EVENT_3A6 + const EVENT_3A7 + const EVENT_3A8 + const EVENT_3A9 + const EVENT_3AA + const EVENT_3AB + const EVENT_3AC + const EVENT_3AD + const EVENT_3AE + const EVENT_3AF + const EVENT_GOT_TM29 + const EVENT_3B1 + const EVENT_3B2 + const EVENT_3B3 + const EVENT_3B4 + const EVENT_3B5 + const EVENT_3B6 + const EVENT_3B7 + const EVENT_3B8 + const EVENT_3B9 + const EVENT_3BA + const EVENT_3BB + const EVENT_3BC + const EVENT_3BD + const EVENT_3BE + const EVENT_3BF + const EVENT_GOT_POTION_SAMPLE + const EVENT_3C1 + const EVENT_3C2 + const EVENT_3C3 + const EVENT_3C4 + const EVENT_3C5 + const EVENT_3C6 + const EVENT_3C7 + const EVENT_3C8 + const EVENT_3C9 + const EVENT_3CA + const EVENT_3CB + const EVENT_3CC + const EVENT_3CD + const EVENT_3CE + const EVENT_3CF + const EVENT_3D0 + const EVENT_3D1 + const EVENT_3D2 + const EVENT_3D3 + const EVENT_3D4 + const EVENT_3D5 + const EVENT_3D6 + const EVENT_3D7 + const EVENT_GOT_HM05 + const EVENT_3D9 + const EVENT_3DA + const EVENT_3DB + const EVENT_3DC + const EVENT_3DD + const EVENT_3DE + const EVENT_3DF + const EVENT_3E0 + const EVENT_3E1 + const EVENT_BEAT_ROUTE_3_TRAINER_0 + const EVENT_BEAT_ROUTE_3_TRAINER_1 + const EVENT_BEAT_ROUTE_3_TRAINER_2 + const EVENT_BEAT_ROUTE_3_TRAINER_3 + const EVENT_BEAT_ROUTE_3_TRAINER_4 + const EVENT_BEAT_ROUTE_3_TRAINER_5 + const EVENT_BEAT_ROUTE_3_TRAINER_6 + const EVENT_BEAT_ROUTE_3_TRAINER_7 + const EVENT_3EA + const EVENT_3EB + const EVENT_3EC + const EVENT_3ED + const EVENT_3EE + const EVENT_3EF + const EVENT_3F0 + const EVENT_3F1 + const EVENT_BEAT_ROUTE_4_TRAINER_0 + const EVENT_3F3 + const EVENT_3F4 + const EVENT_3F5 + const EVENT_3F6 + const EVENT_3F7 + const EVENT_3F8 + const EVENT_3F9 + const EVENT_3FA + const EVENT_3FB + const EVENT_3FC + const EVENT_3FD + const EVENT_3FE + const EVENT_BOUGHT_MAGIKARP + const EVENT_400 + const EVENT_401 + const EVENT_402 + const EVENT_403 + const EVENT_404 + const EVENT_405 + const EVENT_406 + const EVENT_407 + const EVENT_408 + const EVENT_409 + const EVENT_40A + const EVENT_40B + const EVENT_40C + const EVENT_40D + const EVENT_40E + const EVENT_40F + const EVENT_410 + const EVENT_BEAT_ROUTE_6_TRAINER_0 + const EVENT_BEAT_ROUTE_6_TRAINER_1 + const EVENT_BEAT_ROUTE_6_TRAINER_2 + const EVENT_BEAT_ROUTE_6_TRAINER_3 + const EVENT_BEAT_ROUTE_6_TRAINER_4 + const EVENT_BEAT_ROUTE_6_TRAINER_5 + const EVENT_417 + const EVENT_418 + const EVENT_419 + const EVENT_41A + const EVENT_41B + const EVENT_41C + const EVENT_41D + const EVENT_41E + const EVENT_41F + const EVENT_420 + const EVENT_421 + const EVENT_422 + const EVENT_423 + const EVENT_424 + const EVENT_425 + const EVENT_426 + const EVENT_427 + const EVENT_428 + const EVENT_429 + const EVENT_42A + const EVENT_42B + const EVENT_42C + const EVENT_42D + const EVENT_42E + const EVENT_42F + const EVENT_430 + const EVENT_BEAT_ROUTE_8_TRAINER_0 + const EVENT_BEAT_ROUTE_8_TRAINER_1 + const EVENT_BEAT_ROUTE_8_TRAINER_2 + const EVENT_BEAT_ROUTE_8_TRAINER_3 + const EVENT_BEAT_ROUTE_8_TRAINER_4 + const EVENT_BEAT_ROUTE_8_TRAINER_5 + const EVENT_BEAT_ROUTE_8_TRAINER_6 + const EVENT_BEAT_ROUTE_8_TRAINER_7 + const EVENT_BEAT_ROUTE_8_TRAINER_8 + const EVENT_43A + const EVENT_43B + const EVENT_43C + const EVENT_43D + const EVENT_43E + const EVENT_43F + const EVENT_440 + const EVENT_BEAT_ROUTE_9_TRAINER_0 + const EVENT_BEAT_ROUTE_9_TRAINER_1 + const EVENT_BEAT_ROUTE_9_TRAINER_2 + const EVENT_BEAT_ROUTE_9_TRAINER_3 + const EVENT_BEAT_ROUTE_9_TRAINER_4 + const EVENT_BEAT_ROUTE_9_TRAINER_5 + const EVENT_BEAT_ROUTE_9_TRAINER_6 + const EVENT_BEAT_ROUTE_9_TRAINER_7 + const EVENT_BEAT_ROUTE_9_TRAINER_8 + const EVENT_44A + const EVENT_44B + const EVENT_44C + const EVENT_44D + const EVENT_44E + const EVENT_44F + const EVENT_450 + const EVENT_BEAT_ROUTE_10_TRAINER_0 + const EVENT_BEAT_ROUTE_10_TRAINER_1 + const EVENT_BEAT_ROUTE_10_TRAINER_2 + const EVENT_BEAT_ROUTE_10_TRAINER_3 + const EVENT_BEAT_ROUTE_10_TRAINER_4 + const EVENT_BEAT_ROUTE_10_TRAINER_5 + const EVENT_457 + const EVENT_458 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 + const EVENT_460 + const EVENT_BEAT_POWER_PLANT_VOLTORB_0 + const EVENT_BEAT_POWER_PLANT_VOLTORB_1 + const EVENT_BEAT_POWER_PLANT_VOLTORB_2 + const EVENT_BEAT_POWER_PLANT_VOLTORB_3 + const EVENT_BEAT_POWER_PLANT_VOLTORB_4 + const EVENT_BEAT_POWER_PLANT_VOLTORB_5 + const EVENT_BEAT_POWER_PLANT_VOLTORB_6 + const EVENT_BEAT_POWER_PLANT_VOLTORB_7 + const EVENT_BEAT_ZAPDOS + const EVENT_46A + const EVENT_46B + const EVENT_46C + const EVENT_46D + const EVENT_46E + const EVENT_46F + const EVENT_470 + const EVENT_BEAT_ROUTE_11_TRAINER_0 + const EVENT_BEAT_ROUTE_11_TRAINER_1 + const EVENT_BEAT_ROUTE_11_TRAINER_2 + const EVENT_BEAT_ROUTE_11_TRAINER_3 + const EVENT_BEAT_ROUTE_11_TRAINER_4 + const EVENT_BEAT_ROUTE_11_TRAINER_5 + const EVENT_BEAT_ROUTE_11_TRAINER_6 + const EVENT_BEAT_ROUTE_11_TRAINER_7 + const EVENT_BEAT_ROUTE_11_TRAINER_8 + const EVENT_BEAT_ROUTE_11_TRAINER_9 + const EVENT_47B + const EVENT_47C + const EVENT_47D + const EVENT_47E + const EVENT_GOT_ITEMFINDER + const EVENT_GOT_TM39 + const EVENT_481 + const EVENT_BEAT_ROUTE_12_TRAINER_0 + const EVENT_BEAT_ROUTE_12_TRAINER_1 + const EVENT_BEAT_ROUTE_12_TRAINER_2 + const EVENT_BEAT_ROUTE_12_TRAINER_3 + const EVENT_BEAT_ROUTE_12_TRAINER_4 + const EVENT_BEAT_ROUTE_12_TRAINER_5 + const EVENT_BEAT_ROUTE_12_TRAINER_6 + const EVENT_489 + const EVENT_48A + const EVENT_48B + const EVENT_48C + const EVENT_48D + const EVENT_FIGHT_ROUTE12_SNORLAX + const EVENT_BEAT_ROUTE12_SNORLAX + const EVENT_490 + const EVENT_BEAT_ROUTE_13_TRAINER_0 + const EVENT_BEAT_ROUTE_13_TRAINER_1 + const EVENT_BEAT_ROUTE_13_TRAINER_2 + const EVENT_BEAT_ROUTE_13_TRAINER_3 + const EVENT_BEAT_ROUTE_13_TRAINER_4 + const EVENT_BEAT_ROUTE_13_TRAINER_5 + const EVENT_BEAT_ROUTE_13_TRAINER_6 + const EVENT_BEAT_ROUTE_13_TRAINER_7 + const EVENT_BEAT_ROUTE_13_TRAINER_8 + const EVENT_BEAT_ROUTE_13_TRAINER_9 + const EVENT_49B + const EVENT_49C + const EVENT_49D + const EVENT_49E + const EVENT_49F + const EVENT_4A0 + const EVENT_BEAT_ROUTE_14_TRAINER_0 + const EVENT_BEAT_ROUTE_14_TRAINER_1 + const EVENT_BEAT_ROUTE_14_TRAINER_2 + const EVENT_BEAT_ROUTE_14_TRAINER_3 + const EVENT_BEAT_ROUTE_14_TRAINER_4 + const EVENT_BEAT_ROUTE_14_TRAINER_5 + const EVENT_BEAT_ROUTE_14_TRAINER_6 + const EVENT_BEAT_ROUTE_14_TRAINER_7 + const EVENT_BEAT_ROUTE_14_TRAINER_8 + const EVENT_BEAT_ROUTE_14_TRAINER_9 + const EVENT_4AB + const EVENT_4AC + const EVENT_4AD + const EVENT_4AE + const EVENT_4AF + const EVENT_GOT_EXP_ALL + const EVENT_BEAT_ROUTE_15_TRAINER_0 + const EVENT_BEAT_ROUTE_15_TRAINER_1 + const EVENT_BEAT_ROUTE_15_TRAINER_2 + const EVENT_BEAT_ROUTE_15_TRAINER_3 + const EVENT_BEAT_ROUTE_15_TRAINER_4 + const EVENT_BEAT_ROUTE_15_TRAINER_5 + const EVENT_BEAT_ROUTE_15_TRAINER_6 + const EVENT_BEAT_ROUTE_15_TRAINER_7 + const EVENT_BEAT_ROUTE_15_TRAINER_8 + const EVENT_BEAT_ROUTE_15_TRAINER_9 + const EVENT_4BB + const EVENT_4BC + const EVENT_4BD + const EVENT_4BE + const EVENT_4BF + const EVENT_4C0 + const EVENT_BEAT_ROUTE_16_TRAINER_0 + const EVENT_BEAT_ROUTE_16_TRAINER_1 + const EVENT_BEAT_ROUTE_16_TRAINER_2 + const EVENT_BEAT_ROUTE_16_TRAINER_3 + const EVENT_BEAT_ROUTE_16_TRAINER_4 + const EVENT_BEAT_ROUTE_16_TRAINER_5 + const EVENT_4C7 + const EVENT_FIGHT_ROUTE16_SNORLAX + const EVENT_BEAT_ROUTE16_SNORLAX + const EVENT_4CA + const EVENT_4CB + const EVENT_4CC + const EVENT_4CD + const EVENT_GOT_HM02 + const EVENT_RESCUED_MR_FUJI + const EVENT_4D0 + const EVENT_BEAT_ROUTE_17_TRAINER_0 + const EVENT_BEAT_ROUTE_17_TRAINER_1 + const EVENT_BEAT_ROUTE_17_TRAINER_2 + const EVENT_BEAT_ROUTE_17_TRAINER_3 + const EVENT_BEAT_ROUTE_17_TRAINER_4 + const EVENT_BEAT_ROUTE_17_TRAINER_5 + const EVENT_BEAT_ROUTE_17_TRAINER_6 + const EVENT_BEAT_ROUTE_17_TRAINER_7 + const EVENT_BEAT_ROUTE_17_TRAINER_8 + const EVENT_BEAT_ROUTE_17_TRAINER_9 + const EVENT_4DB + const EVENT_4DC + const EVENT_4DD + const EVENT_4DE + const EVENT_4DF + const EVENT_4E0 + const EVENT_BEAT_ROUTE_18_TRAINER_0 + const EVENT_BEAT_ROUTE_18_TRAINER_1 + const EVENT_BEAT_ROUTE_18_TRAINER_2 + const EVENT_4E4 + const EVENT_4E5 + const EVENT_4E6 + const EVENT_4E7 + const EVENT_4E8 + const EVENT_4E9 + const EVENT_4EA + const EVENT_4EB + const EVENT_4EC + const EVENT_4ED + const EVENT_4EE + const EVENT_4EF + const EVENT_4F0 + const EVENT_BEAT_ROUTE_19_TRAINER_0 + const EVENT_BEAT_ROUTE_19_TRAINER_1 + const EVENT_BEAT_ROUTE_19_TRAINER_2 + const EVENT_BEAT_ROUTE_19_TRAINER_3 + const EVENT_BEAT_ROUTE_19_TRAINER_4 + const EVENT_BEAT_ROUTE_19_TRAINER_5 + const EVENT_BEAT_ROUTE_19_TRAINER_6 + const EVENT_BEAT_ROUTE_19_TRAINER_7 + const EVENT_BEAT_ROUTE_19_TRAINER_8 + const EVENT_BEAT_ROUTE_19_TRAINER_9 + const EVENT_4FB + const EVENT_4FC + const EVENT_4FD + const EVENT_4FE + const EVENT_4FF + const EVENT_IN_SEAFOAM_ISLANDS + const EVENT_BEAT_ROUTE_20_TRAINER_0 + const EVENT_BEAT_ROUTE_20_TRAINER_1 + const EVENT_BEAT_ROUTE_20_TRAINER_2 + const EVENT_BEAT_ROUTE_20_TRAINER_3 + const EVENT_BEAT_ROUTE_20_TRAINER_4 + const EVENT_BEAT_ROUTE_20_TRAINER_5 + const EVENT_BEAT_ROUTE_20_TRAINER_6 + const EVENT_BEAT_ROUTE_20_TRAINER_7 + const EVENT_BEAT_ROUTE_20_TRAINER_8 + const EVENT_BEAT_ROUTE_20_TRAINER_9 + const EVENT_50B + const EVENT_50C + const EVENT_50D + const EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE + const EVENT_510 + const EVENT_BEAT_ROUTE_21_TRAINER_0 + const EVENT_BEAT_ROUTE_21_TRAINER_1 + const EVENT_BEAT_ROUTE_21_TRAINER_2 + const EVENT_BEAT_ROUTE_21_TRAINER_3 + const EVENT_BEAT_ROUTE_21_TRAINER_4 + const EVENT_BEAT_ROUTE_21_TRAINER_5 + const EVENT_BEAT_ROUTE_21_TRAINER_6 + const EVENT_BEAT_ROUTE_21_TRAINER_7 + const EVENT_BEAT_ROUTE_21_TRAINER_8 + const EVENT_51A + const EVENT_51B + const EVENT_51C + const EVENT_51D + const EVENT_51E + const EVENT_51F + const EVENT_1ST_ROUTE22_RIVAL_BATTLE + const EVENT_2ND_ROUTE22_RIVAL_BATTLE + const EVENT_522 + const EVENT_523 + const EVENT_524 + const EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE + const EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE + const EVENT_ROUTE22_RIVAL_WANTS_BATTLE + const EVENT_528 + const EVENT_529 + const EVENT_52A + const EVENT_52B + const EVENT_52C + const EVENT_52D + const EVENT_52E + const EVENT_52F + const EVENT_PASSED_CASCADEBADGE_CHECK + const EVENT_PASSED_THUNDERBADGE_CHECK + const EVENT_PASSED_RAINBOWBADGE_CHECK + const EVENT_PASSED_SOULBADGE_CHECK + const EVENT_PASSED_MARSHBADGE_CHECK + const EVENT_PASSED_VOLCANOBADGE_CHECK + const EVENT_PASSED_EARTHBADGE_CHECK + const EVENT_537 + const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 + const EVENT_BEAT_MOLTRES + const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 + const EVENT_GOT_NUGGET + const EVENT_BEAT_ROUTE24_ROCKET + const EVENT_BEAT_ROUTE_24_TRAINER_0 + const EVENT_BEAT_ROUTE_24_TRAINER_1 + const EVENT_BEAT_ROUTE_24_TRAINER_2 + const EVENT_BEAT_ROUTE_24_TRAINER_3 + const EVENT_BEAT_ROUTE_24_TRAINER_4 + const EVENT_BEAT_ROUTE_24_TRAINER_5 + const EVENT_548 + const EVENT_NUGGET_REWARD_AVAILABLE + const EVENT_54A + const EVENT_54B + const EVENT_54C + const EVENT_54D + const EVENT_54E + const EVENT_54F + const EVENT_MET_BILL + const EVENT_BEAT_ROUTE_25_TRAINER_0 + const EVENT_BEAT_ROUTE_25_TRAINER_1 + const EVENT_BEAT_ROUTE_25_TRAINER_2 + const EVENT_BEAT_ROUTE_25_TRAINER_3 + const EVENT_BEAT_ROUTE_25_TRAINER_4 + const EVENT_BEAT_ROUTE_25_TRAINER_5 + const EVENT_BEAT_ROUTE_25_TRAINER_6 + const EVENT_BEAT_ROUTE_25_TRAINER_7 + const EVENT_BEAT_ROUTE_25_TRAINER_8 + const EVENT_55A + const EVENT_USED_CELL_SEPARATOR_ON_BILL + const EVENT_GOT_SS_TICKET + const EVENT_MET_BILL_2 + const EVENT_BILL_SAID_USE_CELL_SEPARATOR + const EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING + const EVENT_560 + const EVENT_561 + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 + const EVENT_565 + const EVENT_566 + const EVENT_567 + const EVENT_568 + const EVENT_569 + const EVENT_56A + const EVENT_56B + const EVENT_56C + const EVENT_56D + const EVENT_56E + const EVENT_56F + const EVENT_570 + const EVENT_BEAT_MT_MOON_1_TRAINER_0 + const EVENT_BEAT_MT_MOON_1_TRAINER_1 + const EVENT_BEAT_MT_MOON_1_TRAINER_2 + const EVENT_BEAT_MT_MOON_1_TRAINER_3 + const EVENT_BEAT_MT_MOON_1_TRAINER_4 + const EVENT_BEAT_MT_MOON_1_TRAINER_5 + const EVENT_BEAT_MT_MOON_1_TRAINER_6 + const EVENT_578 + const EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD + const EVENT_BEAT_MT_MOON_3_TRAINER_0 + const EVENT_BEAT_MT_MOON_3_TRAINER_1 + const EVENT_BEAT_MT_MOON_3_TRAINER_2 + const EVENT_BEAT_MT_MOON_3_TRAINER_3 + const EVENT_GOT_DOME_FOSSIL + const EVENT_GOT_HELIX_FOSSIL + const EVENT_580 + const EVENT_581 + const EVENT_582 + const EVENT_583 + const EVENT_584 + const EVENT_585 + const EVENT_586 + const EVENT_587 + const EVENT_588 + const EVENT_589 + const EVENT_58A + const EVENT_58B + const EVENT_58C + const EVENT_58D + const EVENT_58E + const EVENT_58F + const EVENT_590 + const EVENT_591 + const EVENT_592 + const EVENT_593 + const EVENT_594 + const EVENT_595 + const EVENT_596 + const EVENT_597 + const EVENT_598 + const EVENT_599 + const EVENT_59A + const EVENT_59B + const EVENT_59C + const EVENT_59D + const EVENT_59E + const EVENT_59F + const EVENT_5A0 + const EVENT_5A1 + const EVENT_5A2 + const EVENT_5A3 + const EVENT_5A4 + const EVENT_5A5 + const EVENT_5A6 + const EVENT_5A7 + const EVENT_5A8 + const EVENT_5A9 + const EVENT_5AA + const EVENT_5AB + const EVENT_5AC + const EVENT_5AD + const EVENT_5AE + const EVENT_5AF + const EVENT_5B0 + const EVENT_5B1 + const EVENT_5B2 + const EVENT_5B3 + const EVENT_5B4 + const EVENT_5B5 + const EVENT_5B6 + const EVENT_5B7 + const EVENT_5B8 + const EVENT_5B9 + const EVENT_5BA + const EVENT_5BB + const EVENT_5BC + const EVENT_5BD + const EVENT_5BE + const EVENT_5BF + const EVENT_5C0 + const EVENT_5C1 + const EVENT_5C2 + const EVENT_5C3 + const EVENT_BEAT_SS_ANNE_5_TRAINER_0 + const EVENT_BEAT_SS_ANNE_5_TRAINER_1 + const EVENT_5C6 + const EVENT_5C7 + const EVENT_5C8 + const EVENT_5C9 + const EVENT_5CA + const EVENT_5CB + const EVENT_5CC + const EVENT_5CD + const EVENT_5CE + const EVENT_5CF + const EVENT_5D0 + const EVENT_5D1 + const EVENT_5D2 + const EVENT_5D3 + const EVENT_5D4 + const EVENT_5D5 + const EVENT_5D6 + const EVENT_5D7 + const EVENT_5D8 + const EVENT_5D9 + const EVENT_5DA + const EVENT_5DB + const EVENT_5DC + const EVENT_5DD + const EVENT_5DE + const EVENT_5DF + const EVENT_GOT_HM01 + const EVENT_RUBBED_CAPTAINS_BACK + const EVENT_SS_ANNE_LEFT + const EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT + const EVENT_STARTED_WALKING_OUT_OF_DOCK + const EVENT_WALKED_OUT_OF_DOCK + const EVENT_5E6 + const EVENT_5E7 + const EVENT_5E8 + const EVENT_5E9 + const EVENT_5EA + const EVENT_5EB + const EVENT_5EC + const EVENT_5ED + const EVENT_5EE + const EVENT_5EF + const EVENT_5F0 + const EVENT_BEAT_SS_ANNE_8_TRAINER_0 + const EVENT_BEAT_SS_ANNE_8_TRAINER_1 + const EVENT_BEAT_SS_ANNE_8_TRAINER_2 + const EVENT_BEAT_SS_ANNE_8_TRAINER_3 + const EVENT_5F5 + const EVENT_5F6 + const EVENT_5F7 + const EVENT_5F8 + const EVENT_5F9 + const EVENT_5FA + const EVENT_5FB + const EVENT_5FC + const EVENT_5FD + const EVENT_5FE + const EVENT_5FF + const EVENT_600 + const EVENT_BEAT_SS_ANNE_9_TRAINER_0 + const EVENT_BEAT_SS_ANNE_9_TRAINER_1 + const EVENT_BEAT_SS_ANNE_9_TRAINER_2 + const EVENT_BEAT_SS_ANNE_9_TRAINER_3 + const EVENT_605 + const EVENT_606 + const EVENT_607 + const EVENT_608 + const EVENT_609 + const EVENT_60A + const EVENT_60B + const EVENT_60C + const EVENT_60D + const EVENT_60E + const EVENT_60F + const EVENT_610 + const EVENT_BEAT_SS_ANNE_10_TRAINER_0 + const EVENT_BEAT_SS_ANNE_10_TRAINER_1 + const EVENT_BEAT_SS_ANNE_10_TRAINER_2 + const EVENT_BEAT_SS_ANNE_10_TRAINER_3 + const EVENT_BEAT_SS_ANNE_10_TRAINER_4 + const EVENT_BEAT_SS_ANNE_10_TRAINER_5 + const EVENT_617 + const EVENT_618 + const EVENT_619 + const EVENT_61A + const EVENT_61B + const EVENT_61C + const EVENT_61D + const EVENT_61E + const EVENT_61F + const EVENT_620 + const EVENT_621 + const EVENT_622 + const EVENT_623 + const EVENT_624 + const EVENT_625 + const EVENT_626 + const EVENT_627 + const EVENT_628 + const EVENT_629 + const EVENT_62A + const EVENT_62B + const EVENT_62C + const EVENT_62D + const EVENT_62E + const EVENT_62F + const EVENT_630 + const EVENT_631 + const EVENT_632 + const EVENT_633 + const EVENT_634 + const EVENT_635 + const EVENT_636 + const EVENT_637 + const EVENT_638 + const EVENT_639 + const EVENT_63A + const EVENT_63B + const EVENT_63C + const EVENT_63D + const EVENT_63E + const EVENT_63F + const EVENT_640 + const EVENT_641 + const EVENT_642 + const EVENT_643 + const EVENT_644 + const EVENT_645 + const EVENT_646 + const EVENT_647 + const EVENT_648 + const EVENT_649 + const EVENT_64A + const EVENT_64B + const EVENT_64C + const EVENT_64D + const EVENT_64E + const EVENT_64F + const EVENT_650 + const EVENT_651 + const EVENT_652 + const EVENT_653 + const EVENT_654 + const EVENT_655 + const EVENT_656 + const EVENT_657 + const EVENT_658 + const EVENT_659 + const EVENT_65A + const EVENT_65B + const EVENT_65C + const EVENT_65D + const EVENT_65E + const EVENT_65F + const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 + const EVENT_665 + const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 + const EVENT_667 + const EVENT_668 + const EVENT_669 + const EVENT_66A + const EVENT_66B + const EVENT_66C + const EVENT_66D + const EVENT_66E + const EVENT_66F + const EVENT_670 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 + const EVENT_676 + const EVENT_677 + const EVENT_678 + const EVENT_679 + const EVENT_67A + const EVENT_67B + const EVENT_67C + const EVENT_67D + const EVENT_67E + const EVENT_67F + const EVENT_680 + const EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 + const EVENT_682 + const EVENT_683 + const EVENT_684 + const EVENT_685 + const EVENT_686 + const EVENT_687 + const EVENT_688 + const EVENT_689 + const EVENT_68A + const EVENT_68B + const EVENT_68C + const EVENT_68D + const EVENT_68E + const EVENT_68F + const EVENT_690 + const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 + const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 + const EVENT_693 + const EVENT_694 + const EVENT_695 + const EVENT_696 + const EVENT_697 + const EVENT_698 + const EVENT_699 + const EVENT_69A + const EVENT_69B + const EVENT_69C + const EVENT_69D + const EVENT_69E + const EVENT_69F + const EVENT_6A0 + const EVENT_6A1 + const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 + const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 + const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 + const EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED + const EVENT_ROCKET_DROPPED_LIFT_KEY + const EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI + const EVENT_6A8 + const EVENT_6A9 + const EVENT_6AA + const EVENT_6AB + const EVENT_6AC + const EVENT_6AD + const EVENT_6AE + const EVENT_6AF + const EVENT_6B0 + const EVENT_6B1 + const EVENT_6B2 + const EVENT_6B3 + const EVENT_6B4 + const EVENT_6B5 + const EVENT_6B6 + const EVENT_6B7 + const EVENT_6B8 + const EVENT_6B9 + const EVENT_6BA + const EVENT_6BB + const EVENT_6BC + const EVENT_6BD + const EVENT_6BE + const EVENT_6BF + const EVENT_6C0 + const EVENT_6C1 + const EVENT_6C2 + const EVENT_6C3 + const EVENT_6C4 + const EVENT_6C5 + const EVENT_6C6 + const EVENT_6C7 + const EVENT_6C8 + const EVENT_6C9 + const EVENT_6CA + const EVENT_6CB + const EVENT_6CC + const EVENT_6CD + const EVENT_6CE + const EVENT_6CF + const EVENT_6D0 + const EVENT_6D1 + const EVENT_6D2 + const EVENT_6D3 + const EVENT_6D4 + const EVENT_6D5 + const EVENT_6D6 + const EVENT_6D7 + const EVENT_6D8 + const EVENT_6D9 + const EVENT_6DA + const EVENT_6DB + const EVENT_6DC + const EVENT_6DD + const EVENT_6DE + const EVENT_6DF + const EVENT_6E0 + const EVENT_6E1 + const EVENT_6E2 + const EVENT_6E3 + const EVENT_6E4 + const EVENT_6E5 + const EVENT_6E6 + const EVENT_6E7 + const EVENT_6E8 + const EVENT_6E9 + const EVENT_6EA + const EVENT_6EB + const EVENT_6EC + const EVENT_6ED + const EVENT_6EE + const EVENT_6EF + const EVENT_6F0 + const EVENT_6F1 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_3 + const EVENT_6F6 + const EVENT_6F7 + const EVENT_6F8 + const EVENT_6F9 + const EVENT_6FA + const EVENT_6FB + const EVENT_6FC + const EVENT_SILPH_CO_2_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_2_UNLOCKED_DOOR2 + const EVENT_GOT_TM36 + const EVENT_700 + const EVENT_701 + const EVENT_BEAT_SILPH_CO_3F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_3F_TRAINER_1 + const EVENT_704 + const EVENT_705 + const EVENT_706 + const EVENT_707 + const EVENT_SILPH_CO_3_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_3_UNLOCKED_DOOR2 + const EVENT_70A + const EVENT_70B + const EVENT_70C + const EVENT_70D + const EVENT_70E + const EVENT_70F + const EVENT_710 + const EVENT_711 + const EVENT_BEAT_SILPH_CO_4F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_4F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_4F_TRAINER_2 + const EVENT_715 + const EVENT_716 + const EVENT_717 + const EVENT_SILPH_CO_4_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_4_UNLOCKED_DOOR2 + const EVENT_71A + const EVENT_71B + const EVENT_71C + const EVENT_71D + const EVENT_71E + const EVENT_71F + const EVENT_720 + const EVENT_721 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_3 + const EVENT_726 + const EVENT_727 + const EVENT_SILPH_CO_5_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_5_UNLOCKED_DOOR2 + const EVENT_SILPH_CO_5_UNLOCKED_DOOR3 + const EVENT_72B + const EVENT_72C + const EVENT_72D + const EVENT_72E + const EVENT_72F + const EVENT_730 + const EVENT_731 + const EVENT_732 + const EVENT_733 + const EVENT_734 + const EVENT_735 + const EVENT_BEAT_SILPH_CO_6F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_6F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_6F_TRAINER_2 + const EVENT_739 + const EVENT_73A + const EVENT_73B + const EVENT_73C + const EVENT_73D + const EVENT_73E + const EVENT_SILPH_CO_6_UNLOCKED_DOOR + const EVENT_BEAT_SILPH_CO_RIVAL + const EVENT_741 + const EVENT_742 + const EVENT_743 + const EVENT_744 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_3 + const EVENT_749 + const EVENT_74A + const EVENT_74B + const EVENT_SILPH_CO_7_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_7_UNLOCKED_DOOR2 + const EVENT_SILPH_CO_7_UNLOCKED_DOOR3 + const EVENT_74F + const EVENT_750 + const EVENT_751 + const EVENT_BEAT_SILPH_CO_8F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_8F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_8F_TRAINER_2 + const EVENT_755 + const EVENT_756 + const EVENT_757 + const EVENT_SILPH_CO_8_UNLOCKED_DOOR + const EVENT_759 + const EVENT_75A + const EVENT_75B + const EVENT_75C + const EVENT_75D + const EVENT_75E + const EVENT_75F + const EVENT_760 + const EVENT_761 + const EVENT_BEAT_SILPH_CO_9F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_9F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_9F_TRAINER_2 + const EVENT_765 + const EVENT_766 + const EVENT_767 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR2 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR3 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR4 + const EVENT_76C + const EVENT_76D + const EVENT_76E + const EVENT_76F + const EVENT_770 + const EVENT_BEAT_SILPH_CO_10F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_10F_TRAINER_1 + const EVENT_773 + const EVENT_774 + const EVENT_775 + const EVENT_776 + const EVENT_777 + const EVENT_SILPH_CO_10_UNLOCKED_DOOR + const EVENT_779 + const EVENT_77A + const EVENT_77B + const EVENT_77C + const EVENT_77D + const EVENT_77E + const EVENT_77F + const EVENT_780 + const EVENT_781 + const EVENT_782 + const EVENT_783 + const EVENT_BEAT_SILPH_CO_11F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_11F_TRAINER_1 + const EVENT_786 + const EVENT_787 + const EVENT_SILPH_CO_11_UNLOCKED_DOOR + const EVENT_789 + const EVENT_78A + const EVENT_78B + const EVENT_78C + const EVENT_GOT_MASTER_BALL + const EVENT_78E + const EVENT_BEAT_SILPH_CO_GIOVANNI + const EVENT_790 + const EVENT_791 + const EVENT_792 + const EVENT_793 + const EVENT_794 + const EVENT_795 + const EVENT_796 + const EVENT_797 + const EVENT_798 + const EVENT_799 + const EVENT_79A + const EVENT_79B + const EVENT_79C + const EVENT_79D + const EVENT_79E + const EVENT_79F + const EVENT_7A0 + const EVENT_7A1 + const EVENT_7A2 + const EVENT_7A3 + const EVENT_7A4 + const EVENT_7A5 + const EVENT_7A6 + const EVENT_7A7 + const EVENT_7A8 + const EVENT_7A9 + const EVENT_7AA + const EVENT_7AB + const EVENT_7AC + const EVENT_7AD + const EVENT_7AE + const EVENT_7AF + const EVENT_7B0 + const EVENT_7B1 + const EVENT_7B2 + const EVENT_7B3 + const EVENT_7B4 + const EVENT_7B5 + const EVENT_7B6 + const EVENT_7B7 + const EVENT_7B8 + const EVENT_7B9 + const EVENT_7BA + const EVENT_7BB + const EVENT_7BC + const EVENT_7BD + const EVENT_7BE + const EVENT_7BF + const EVENT_7C0 + const EVENT_7C1 + const EVENT_7C2 + const EVENT_7C3 + const EVENT_7C4 + const EVENT_7C5 + const EVENT_7C6 + const EVENT_7C7 + const EVENT_7C8 + const EVENT_7C9 + const EVENT_7CA + const EVENT_7CB + const EVENT_7CC + const EVENT_7CD + const EVENT_7CE + const EVENT_7CF + const EVENT_7D0 + const EVENT_7D1 + const EVENT_7D2 + const EVENT_7D3 + const EVENT_7D4 + const EVENT_7D5 + const EVENT_7D6 + const EVENT_7D7 + const EVENT_7D8 + const EVENT_7D9 + const EVENT_7DA + const EVENT_7DB + const EVENT_7DC + const EVENT_7DD + const EVENT_7DE + const EVENT_7DF + const EVENT_7E0 + const EVENT_7E1 + const EVENT_7E2 + const EVENT_7E3 + const EVENT_7E4 + const EVENT_7E5 + const EVENT_7E6 + const EVENT_7E7 + const EVENT_7E8 + const EVENT_7E9 + const EVENT_7EA + const EVENT_7EB + const EVENT_7EC + const EVENT_7ED + const EVENT_7EE + const EVENT_7EF + const EVENT_7F0 + const EVENT_7F1 + const EVENT_7F2 + const EVENT_7F3 + const EVENT_7F4 + const EVENT_7F5 + const EVENT_7F6 + const EVENT_7F7 + const EVENT_7F8 + const EVENT_7F9 + const EVENT_7FA + const EVENT_7FB + const EVENT_7FC + const EVENT_7FD + const EVENT_7FE + const EVENT_7FF + const EVENT_800 + const EVENT_BEAT_MANSION_2_TRAINER_0 + const EVENT_802 + const EVENT_803 + const EVENT_804 + const EVENT_805 + const EVENT_806 + const EVENT_807 + const EVENT_808 + const EVENT_809 + const EVENT_80A + const EVENT_80B + const EVENT_80C + const EVENT_80D + const EVENT_80E + const EVENT_80F + const EVENT_810 + const EVENT_BEAT_MANSION_3_TRAINER_0 + const EVENT_BEAT_MANSION_3_TRAINER_1 + const EVENT_813 + const EVENT_814 + const EVENT_815 + const EVENT_816 + const EVENT_817 + const EVENT_818 + const EVENT_819 + const EVENT_81A + const EVENT_81B + const EVENT_81C + const EVENT_81D + const EVENT_81E + const EVENT_81F + const EVENT_820 + const EVENT_BEAT_MANSION_4_TRAINER_0 + const EVENT_BEAT_MANSION_4_TRAINER_1 + const EVENT_823 + const EVENT_824 + const EVENT_825 + const EVENT_826 + const EVENT_827 + const EVENT_828 + const EVENT_829 + const EVENT_82A + const EVENT_82B + const EVENT_82C + const EVENT_82D + const EVENT_82E + const EVENT_82F + const EVENT_830 + const EVENT_831 + const EVENT_832 + const EVENT_833 + const EVENT_834 + const EVENT_835 + const EVENT_836 + const EVENT_837 + const EVENT_838 + const EVENT_839 + const EVENT_83A + const EVENT_83B + const EVENT_83C + const EVENT_83D + const EVENT_83E + const EVENT_83F + const EVENT_840 + const EVENT_841 + const EVENT_842 + const EVENT_843 + const EVENT_844 + const EVENT_845 + const EVENT_846 + const EVENT_847 + const EVENT_848 + const EVENT_849 + const EVENT_84A + const EVENT_84B + const EVENT_84C + const EVENT_84D + const EVENT_84E + const EVENT_84F + const EVENT_850 + const EVENT_851 + const EVENT_852 + const EVENT_853 + const EVENT_854 + const EVENT_855 + const EVENT_856 + const EVENT_857 + const EVENT_858 + const EVENT_859 + const EVENT_85A + const EVENT_85B + const EVENT_85C + const EVENT_85D + const EVENT_85E + const EVENT_85F + const EVENT_860 + const EVENT_861 + const EVENT_862 + const EVENT_863 + const EVENT_864 + const EVENT_865 + const EVENT_866 + const EVENT_867 + const EVENT_868 + const EVENT_869 + const EVENT_86A + const EVENT_86B + const EVENT_86C + const EVENT_86D + const EVENT_86E + const EVENT_86F + const EVENT_870 + const EVENT_871 + const EVENT_872 + const EVENT_873 + const EVENT_874 + const EVENT_875 + const EVENT_876 + const EVENT_877 + const EVENT_878 + const EVENT_879 + const EVENT_87A + const EVENT_87B + const EVENT_87C + const EVENT_87D + const EVENT_87E + const EVENT_87F + const EVENT_GOT_HM03 + const EVENT_881 + const EVENT_882 + const EVENT_883 + const EVENT_884 + const EVENT_885 + const EVENT_886 + const EVENT_887 + const EVENT_888 + const EVENT_889 + const EVENT_88A + const EVENT_88B + const EVENT_88C + const EVENT_88D + const EVENT_88E + const EVENT_88F + const EVENT_890 + const EVENT_891 + const EVENT_892 + const EVENT_893 + const EVENT_894 + const EVENT_895 + const EVENT_896 + const EVENT_897 + const EVENT_898 + const EVENT_899 + const EVENT_89A + const EVENT_89B + const EVENT_89C + const EVENT_89D + const EVENT_89E + const EVENT_89F + const EVENT_8A0 + const EVENT_8A1 + const EVENT_8A2 + const EVENT_8A3 + const EVENT_8A4 + const EVENT_8A5 + const EVENT_8A6 + const EVENT_8A7 + const EVENT_8A8 + const EVENT_8A9 + const EVENT_8AA + const EVENT_8AB + const EVENT_8AC + const EVENT_8AD + const EVENT_8AE + const EVENT_8AF + const EVENT_8B0 + const EVENT_8B1 + const EVENT_8B2 + const EVENT_8B3 + const EVENT_8B4 + const EVENT_8B5 + const EVENT_8B6 + const EVENT_8B7 + const EVENT_8B8 + const EVENT_8B9 + const EVENT_8BA + const EVENT_8BB + const EVENT_8BC + const EVENT_8BD + const EVENT_8BE + const EVENT_8BF + const EVENT_8C0 + const EVENT_BEAT_MEWTWO + const EVENT_8C2 + const EVENT_8C3 + const EVENT_8C4 + const EVENT_8C5 + const EVENT_8C6 + const EVENT_8C7 + const EVENT_8C8 + const EVENT_8C9 + const EVENT_8CA + const EVENT_8CB + const EVENT_8CC + const EVENT_8CD + const EVENT_8CE + const EVENT_8CF + const EVENT_8D0 + const EVENT_8D1 + const EVENT_8D2 + const EVENT_8D3 + const EVENT_8D4 + const EVENT_8D5 + const EVENT_8D6 + const EVENT_8D7 + const EVENT_8D8 + const EVENT_8D9 + const EVENT_8DA + const EVENT_8DB + const EVENT_8DC + const EVENT_8DD + const EVENT_8DE + const EVENT_8DF + const ELITE4_EVENTS_START + const EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 + const EVENT_8E2 + const EVENT_8E3 + const EVENT_8E4 + const EVENT_8E5 + const EVENT_AUTOWALKED_INTO_LORELEIS_ROOM + const EVENT_8E7 + const EVENT_8E8 + const EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 + const EVENT_8EA + const EVENT_8EB + const EVENT_8EC + const EVENT_8ED + const EVENT_AUTOWALKED_INTO_BRUNOS_ROOM + const EVENT_8EF + const EVENT_8F0 + const EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 + const EVENT_8F2 + const EVENT_8F3 + const EVENT_8F4 + const EVENT_8F5 + const EVENT_AUTOWALKED_INTO_AGATHAS_ROOM + const EVENT_8F7 + const EVENT_8F8 + const EVENT_BEAT_LANCES_ROOM_TRAINER_0 + const EVENT_8FA + const EVENT_8FB + const EVENT_8FC + const EVENT_8FD + const EVENT_BEAT_LANCE + const EVENT_LANCES_ROOM_LOCK_DOOR + const EVENT_900 + const EVENT_BEAT_CHAMPION_RIVAL + const EVENT_902 + const EVENT_903 + const EVENT_904 + const EVENT_905 + const EVENT_906 + const ELITE4_CHAMPION_EVENTS_END + const EVENT_908 + const EVENT_909 + const EVENT_90A + const EVENT_90B + const EVENT_90C + const EVENT_90D + const EVENT_90E + const EVENT_90F + const EVENT_910 + const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 + const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 + const EVENT_913 + const EVENT_914 + const EVENT_915 + const EVENT_916 + const EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH + const EVENT_918 + const EVENT_919 + const EVENT_91A + const EVENT_91B + const EVENT_91C + const EVENT_91D + const EVENT_91E + const EVENT_91F + const EVENT_920 + const EVENT_921 + const EVENT_922 + const EVENT_923 + const EVENT_924 + const EVENT_925 + const EVENT_926 + const EVENT_927 + const EVENT_928 + const EVENT_929 + const EVENT_92A + const EVENT_92B + const EVENT_92C + const EVENT_92D + const EVENT_92E + const EVENT_92F + const EVENT_930 + const EVENT_931 + const EVENT_932 + const EVENT_933 + const EVENT_934 + const EVENT_935 + const EVENT_936 + const EVENT_937 + const EVENT_938 + const EVENT_939 + const EVENT_93A + const EVENT_93B + const EVENT_93C + const EVENT_93D + const EVENT_93E + const EVENT_93F + const EVENT_940 + const EVENT_941 + const EVENT_942 + const EVENT_943 + const EVENT_944 + const EVENT_945 + const EVENT_946 + const EVENT_947 + const EVENT_948 + const EVENT_949 + const EVENT_94A + const EVENT_94B + const EVENT_94C + const EVENT_94D + const EVENT_94E + const EVENT_94F + const EVENT_950 + const EVENT_951 + const EVENT_952 + const EVENT_953 + const EVENT_954 + const EVENT_955 + const EVENT_956 + const EVENT_957 + const EVENT_958 + const EVENT_959 + const EVENT_95A + const EVENT_95B + const EVENT_95C + const EVENT_95D + const EVENT_95E + const EVENT_95F + const EVENT_960 + const EVENT_961 + const EVENT_962 + const EVENT_963 + const EVENT_964 + const EVENT_965 + const EVENT_966 + const EVENT_967 + const EVENT_968 + const EVENT_969 + const EVENT_96A + const EVENT_96B + const EVENT_96C + const EVENT_96D + const EVENT_96E + const EVENT_96F + const EVENT_970 + const EVENT_971 + const EVENT_972 + const EVENT_973 + const EVENT_974 + const EVENT_975 + const EVENT_976 + const EVENT_977 + const EVENT_978 + const EVENT_979 + const EVENT_97A + const EVENT_97B + const EVENT_97C + const EVENT_97D + const EVENT_97E + const EVENT_97F + const EVENT_980 + const EVENT_981 + const EVENT_982 + const EVENT_983 + const EVENT_984 + const EVENT_985 + const EVENT_986 + const EVENT_987 + const EVENT_988 + const EVENT_989 + const EVENT_98A + const EVENT_98B + const EVENT_98C + const EVENT_98D + const EVENT_98E + const EVENT_98F + const EVENT_990 + const EVENT_991 + const EVENT_992 + const EVENT_993 + const EVENT_994 + const EVENT_995 + const EVENT_996 + const EVENT_997 + const EVENT_998 + const EVENT_999 + const EVENT_99A + const EVENT_99B + const EVENT_99C + const EVENT_99D + const EVENT_99E + const EVENT_99F + const EVENT_9A0 + const EVENT_9A1 + const EVENT_9A2 + const EVENT_9A3 + const EVENT_9A4 + const EVENT_9A5 + const EVENT_9A6 + const EVENT_9A7 + const EVENT_9A8 + const EVENT_9A9 + const EVENT_9AA + const EVENT_9AB + const EVENT_9AC + const EVENT_9AD + const EVENT_9AE + const EVENT_9AF + const EVENT_9B0 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7 + const EVENT_9B9 + const EVENT_9BA + const EVENT_9BB + const EVENT_9BC + const EVENT_9BD + const EVENT_9BE + const EVENT_9BF + const EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE + const EVENT_9C2 + const EVENT_9C3 + const EVENT_9C4 + const EVENT_9C5 + const EVENT_9C6 + const EVENT_9C7 + const EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE + const EVENT_9CA + const EVENT_9CB + const EVENT_9CC + const EVENT_9CD + const EVENT_9CE + const EVENT_9CF + const EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE + const EVENT_9D2 + const EVENT_9D3 + const EVENT_9D4 + const EVENT_9D5 + const EVENT_9D6 + const EVENT_9D7 + const EVENT_9D8 + const EVENT_9D9 + const EVENT_BEAT_ARTICUNO + const EVENT_9DB + const EVENT_9DC + const EVENT_9DD + const EVENT_9DE + const EVENT_9DF + const EVENT_9E0 + const EVENT_9E1 + const EVENT_9E2 + const EVENT_9E3 + const EVENT_9E4 + const EVENT_9E5 + const EVENT_9E6 + const EVENT_9E7 + const EVENT_9E8 + const EVENT_9E9 + const EVENT_9EA + const EVENT_9EB + const EVENT_9EC + const EVENT_9ED + const EVENT_9EE + const EVENT_9EF + const EVENT_9F0 + const EVENT_9F1 + const EVENT_9F2 + const EVENT_9F3 + const EVENT_9F4 + const EVENT_9F5 + const EVENT_9F6 + const EVENT_9F7 + const EVENT_9F8 + const EVENT_9F9 + const EVENT_9FA + const EVENT_9FB + const EVENT_9FC + const EVENT_9FD + const EVENT_9FE + const EVENT_9FF diff --git a/constants/evolution_constants.asm b/constants/evolution_constants.asm deleted file mode 100755 index 86c466d8..00000000 --- a/constants/evolution_constants.asm +++ /dev/null @@ -1,9 +0,0 @@ -; See data/evos_moves.asm - -; Evolution types -EV_LEVEL EQU 1 -EV_ITEM EQU 2 -EV_TRADE EQU 3 - -MAX_EVOLUTIONS EQU 3 -EVOLUTION_SIZE EQU 4 diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm new file mode 100644 index 00000000..04671ecb --- /dev/null +++ b/constants/gfx_constants.asm @@ -0,0 +1,17 @@ +SCREEN_WIDTH EQU 20 +SCREEN_HEIGHT EQU 18 + +SCREEN_WIDTH_PIXELS EQU SCREEN_WIDTH * 8 +SCREEN_HEIGHT_PIXELS EQU SCREEN_HEIGHT * 8 + +BYTES_PER_TILE EQU 16 + +BG_MAP_WIDTH EQU 32 +BG_MAP_HEIGHT EQU 32 + +SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile) + +; HP bar +HP_BAR_GREEN EQU 0 +HP_BAR_YELLOW EQU 1 +HP_BAR_RED EQU 2 diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm index 9f2aa1b7..993a02f5 100644 --- a/constants/hardware_constants.asm +++ b/constants/hardware_constants.asm @@ -2,6 +2,19 @@ GBC EQU $11 +; memory map +VRAM_Begin EQU $8000 +VRAM_End EQU $a000 +SRAM_Begin EQU $a000 +SRAM_End EQU $c000 +WRAM0_Begin EQU $c000 +WRAM0_End EQU $d000 +WRAM1_Begin EQU $d000 +WRAM1_End EQU $e000 +; hardware registers $ff00-$ff80 (see below) +HRAM_Begin EQU $ff80 +HRAM_End EQU $ffff + ; MBC1 MBC1SRamEnable EQU $0000 MBC1RomBank EQU $2000 @@ -64,6 +77,22 @@ rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Initial (R/W) rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W) rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W) rNR52 EQU $ff26 ; Sound on/off +rWave_0 EQU $ff30 +rWave_1 EQU $ff31 +rWave_2 EQU $ff32 +rWave_3 EQU $ff33 +rWave_4 EQU $ff34 +rWave_5 EQU $ff35 +rWave_6 EQU $ff36 +rWave_7 EQU $ff37 +rWave_8 EQU $ff38 +rWave_9 EQU $ff39 +rWave_a EQU $ff3a +rWave_b EQU $ff3b +rWave_c EQU $ff3c +rWave_d EQU $ff3d +rWave_e EQU $ff3e +rWave_f EQU $ff3f rLCDC EQU $ff40 ; LCD Control (R/W) rLCDC_ENABLE EQU 7 rLCDC_ENABLE_MASK EQU 1 << rLCDC_ENABLE diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 805d16ec..1aeb9149 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -4,8 +4,7 @@ ; (they are either items or sprites that deactivate after battle ; and are detected in wMissableObjectList) -const_value = 0 - + const_def const HS_PALLET_TOWN_OAK ; 00 const HS_LYING_OLD_MAN ; 01 const HS_OLD_MAN ; 02 diff --git a/constants/icon_constants.asm b/constants/icon_constants.asm new file mode 100644 index 00000000..b96c516d --- /dev/null +++ b/constants/icon_constants.asm @@ -0,0 +1,12 @@ +; party menu icons + const_def + const ICON_MON ; $0 + const ICON_BALL ; $1 + const ICON_HELIX ; $2 + const ICON_FAIRY ; $3 + const ICON_BIRD ; $4 + const ICON_WATER ; $5 + const ICON_BUG ; $6 + const ICON_GRASS ; $7 + const ICON_SNAKE ; $8 + const ICON_QUADRUPED ; $9 diff --git a/constants/input_constants.asm b/constants/input_constants.asm new file mode 100644 index 00000000..d7aae05b --- /dev/null +++ b/constants/input_constants.asm @@ -0,0 +1,18 @@ +A_BUTTON EQU %00000001 +B_BUTTON EQU %00000010 +SELECT EQU %00000100 +START EQU %00001000 +D_RIGHT EQU %00010000 +D_LEFT EQU %00100000 +D_UP EQU %01000000 +D_DOWN EQU %10000000 + + const_def + const BIT_A_BUTTON + const BIT_B_BUTTON + const BIT_SELECT + const BIT_START + const BIT_D_RIGHT + const BIT_D_LEFT + const BIT_D_UP + const BIT_D_DOWN diff --git a/constants/item_constants.asm b/constants/item_constants.asm index fe6fcb15..a0c32d14 100755 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -1,5 +1,5 @@ -const_value = 1 - + const_def + const NO_ITEM ; $00 const MASTER_BALL ; $01 const ULTRA_BALL ; $02 const GREAT_BALL ; $03 diff --git a/constants/list_constants.asm b/constants/list_constants.asm index 7e26a6b6..380df21c 100755 --- a/constants/list_constants.asm +++ b/constants/list_constants.asm @@ -1,20 +1,23 @@ -; list menu ID's -PCPOKEMONLISTMENU EQU $00 ; PC pokemon withdraw/deposit lists -MOVESLISTMENU EQU $01 ; XXX where is this used? -PRICEDITEMLISTMENU EQU $02 ; Pokemart buy menu / Pokemart buy/sell choose quantity menu -ITEMLISTMENU EQU $03 ; Start menu Item menu / Pokemart sell menu -SPECIALLISTMENU EQU $04 ; list of special "items" e.g. floor list in elevators / list of badges +; list menu IDs + const_def + const PCPOKEMONLISTMENU ; $00 ; PC pokemon withdraw/deposit lists + const MOVESLISTMENU ; $01 ; XXX where is this used? + const PRICEDITEMLISTMENU ; $02 ; Pokemart buy menu / Pokemart buy/sell choose quantity menu + const ITEMLISTMENU ; $03 ; Start menu Item menu / Pokemart sell menu + const SPECIALLISTMENU ; $04 ; list of special "items" e.g. floor list in elevators / list of badges -MONSTER_NAME EQU 1 -MOVE_NAME EQU 2 -; ???_NAME EQU 3 -ITEM_NAME EQU 4 -PLAYEROT_NAME EQU 5 -ENEMYOT_NAME EQU 6 -TRAINER_NAME EQU 7 + const_def 1 + const MONSTER_NAME ; 1 + const MOVE_NAME ; 2 + const UNUSED_NAME ; 3 + const ITEM_NAME ; 4 + const PLAYEROT_NAME ; 5 + const ENEMYOT_NAME ; 6 + const TRAINER_NAME ; 7 -INIT_ENEMYOT_LIST EQU 1 -INIT_BAG_ITEM_LIST EQU 2 -INIT_OTHER_ITEM_LIST EQU 3 -INIT_PLAYEROT_LIST EQU 4 -INIT_MON_LIST EQU 5 + const_def 1 + const INIT_ENEMYOT_LIST ; 1 + const INIT_BAG_ITEM_LIST ; 2 + const INIT_OTHER_ITEM_LIST ; 3 + const INIT_PLAYEROT_LIST ; 4 + const INIT_MON_LIST ; 5 diff --git a/constants/connection_constants.asm b/constants/map_data_constants.asm similarity index 70% rename from constants/connection_constants.asm rename to constants/map_data_constants.asm index 154c4163..4b98bdb3 100755 --- a/constants/connection_constants.asm +++ b/constants/map_data_constants.asm @@ -7,3 +7,8 @@ EAST EQU 1 WEST EQU 2 SOUTH EQU 4 NORTH EQU 8 + +; tileset environments +INDOOR EQU 0 +CAVE EQU 1 +OUTDOOR EQU 2 diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm new file mode 100644 index 00000000..f5fc952b --- /dev/null +++ b/constants/map_object_constants.asm @@ -0,0 +1,14 @@ +; different kinds of people events +ITEM EQU $80 +TRAINER EQU $40 + +WALK EQU $FE +STAY EQU $FF + +DOWN EQU $D0 +UP EQU $D1 +LEFT EQU $D2 +RIGHT EQU $D3 +NONE EQU $FF + +BOULDER_MOVEMENT_BYTE_2 EQU $10 diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm new file mode 100644 index 00000000..75cbe54c --- /dev/null +++ b/constants/menu_constants.asm @@ -0,0 +1,70 @@ +BAG_ITEM_CAPACITY EQU 20 +PC_ITEM_CAPACITY EQU 50 + +; text box IDs +MESSAGE_BOX EQU $01 +FIELD_MOVE_MON_MENU EQU $04 +JP_MOCHIMONO_MENU_TEMPLATE EQU $05 +USE_TOSS_MENU_TEMPLATE EQU $06 +JP_SAVE_MESSAGE_MENU_TEMPLATE EQU $08 +JP_SPEED_OPTIONS_MENU_TEMPLATE EQU $09 +BATTLE_MENU_TEMPLATE EQU $0b +SWITCH_STATS_CANCEL_MENU_TEMPLATE EQU $0c +LIST_MENU_BOX EQU $0d +BUY_SELL_QUIT_MENU_TEMPLATE EQU $0e +MONEY_BOX_TEMPLATE EQU $0f +MON_SPRITE_POPUP EQU $11 +JP_AH_MENU_TEMPLATE EQU $12 +MONEY_BOX EQU $13 +TWO_OPTION_MENU EQU $14 +BUY_SELL_QUIT_MENU EQU $15 +JP_POKEDEX_MENU_TEMPLATE EQU $1a +SAFARI_BATTLE_MENU_TEMPLATE EQU $1b + +; two option menu constants +YES_NO_MENU EQU 0 +NORTH_WEST_MENU EQU 1 +SOUTH_EAST_MENU EQU 2 +WIDE_YES_NO_MENU EQU 3 +NORTH_EAST_MENU EQU 4 +TRADE_CANCEL_MENU EQU 5 +HEAL_CANCEL_MENU EQU 6 +NO_YES_MENU EQU 7 + +; menu exit method constants for list menus and the buy/sell/quit menu +CHOSE_MENU_ITEM EQU 1 ; pressed A +CANCELLED_MENU EQU 2 ; pressed B + +; menu exit method constants for two-option menus +CHOSE_FIRST_ITEM EQU 1 +CHOSE_SECOND_ITEM EQU 2 + +; move mon constants +BOX_TO_PARTY EQU 0 +PARTY_TO_BOX EQU 1 +DAYCARE_TO_PARTY EQU 2 +PARTY_TO_DAYCARE EQU 3 + +; party menu types +NORMAL_PARTY_MENU EQU 0 +USE_ITEM_PARTY_MENU EQU 1 +BATTLE_PARTY_MENU EQU 2 +TMHM_PARTY_MENU EQU 3 +SWAP_MONS_PARTY_MENU EQU 4 +EVO_STONE_PARTY_MENU EQU 5 + +; party menu message IDs +ANTIDOTE_MSG EQU $F0 +BURN_HEAL_MSG EQU $F1 +ICE_HEAL_MSG EQU $F2 +AWAKENING_MSG EQU $F3 +PARALYZ_HEAL_MSG EQU $F4 +POTION_MSG EQU $F5 +FULL_HEAL_MSG EQU $F6 +REVIVE_MSG EQU $F7 +RARE_CANDY_MSG EQU $F8 + +; naming screen types +NAME_PLAYER_SCREEN EQU 0 +NAME_RIVAL_SCREEN EQU 1 +NAME_MON_SCREEN EQU 2 diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index d6a935f8..6e4c5f93 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -1,208 +1,8 @@ -MAX_LEVEL EQU 100 - -NUM_MOVES EQU 4 -NUM_STATS EQU 5 -NUM_STAT_MODS EQU 8 -NUM_DVS EQU 2 - -PARTY_LENGTH EQU 6 - -MONS_PER_BOX EQU 20 -NUM_BOXES EQU 12 - -BAG_ITEM_CAPACITY EQU 20 -PC_ITEM_CAPACITY EQU 50 - -HOF_MON EQU $10 -HOF_TEAM EQU PARTY_LENGTH * HOF_MON -HOF_TEAM_CAPACITY EQU 50 - -NAME_LENGTH EQU 11 -ITEM_NAME_LENGTH EQU 13 - -A_BUTTON EQU %00000001 -B_BUTTON EQU %00000010 -SELECT EQU %00000100 -START EQU %00001000 -D_RIGHT EQU %00010000 -D_LEFT EQU %00100000 -D_UP EQU %01000000 -D_DOWN EQU %10000000 - -const_value set 0 - const BIT_A_BUTTON - const BIT_B_BUTTON - const BIT_SELECT - const BIT_START - const BIT_D_RIGHT - const BIT_D_LEFT - const BIT_D_UP - const BIT_D_DOWN - -SCREEN_WIDTH EQU 20 -SCREEN_HEIGHT EQU 18 - -SCREEN_WIDTH_PIXELS EQU SCREEN_WIDTH * 8 -SCREEN_HEIGHT_PIXELS EQU SCREEN_HEIGHT * 8 - -BYTES_PER_TILE EQU 16 - -BG_MAP_WIDTH EQU 32 -BG_MAP_HEIGHT EQU 32 - -SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile) - -NPC_MOVEMENT_DOWN EQU $00 -NPC_MOVEMENT_UP EQU $40 -NPC_MOVEMENT_LEFT EQU $80 -NPC_MOVEMENT_RIGHT EQU $C0 - -; text box IDs -MESSAGE_BOX EQU $01 -FIELD_MOVE_MON_MENU EQU $04 -JP_MOCHIMONO_MENU_TEMPLATE EQU $05 -USE_TOSS_MENU_TEMPLATE EQU $06 -JP_SAVE_MESSAGE_MENU_TEMPLATE EQU $08 -JP_SPEED_OPTIONS_MENU_TEMPLATE EQU $09 -BATTLE_MENU_TEMPLATE EQU $0b -SWITCH_STATS_CANCEL_MENU_TEMPLATE EQU $0c -LIST_MENU_BOX EQU $0d -BUY_SELL_QUIT_MENU_TEMPLATE EQU $0e -MONEY_BOX_TEMPLATE EQU $0f -MON_SPRITE_POPUP EQU $11 -JP_AH_MENU_TEMPLATE EQU $12 -MONEY_BOX EQU $13 -TWO_OPTION_MENU EQU $14 -BUY_SELL_QUIT_MENU EQU $15 -JP_POKEDEX_MENU_TEMPLATE EQU $1a -SAFARI_BATTLE_MENU_TEMPLATE EQU $1b - -; two option menu constants -YES_NO_MENU EQU 0 -NORTH_WEST_MENU EQU 1 -SOUTH_EAST_MENU EQU 2 -WIDE_YES_NO_MENU EQU 3 -NORTH_EAST_MENU EQU 4 -TRADE_CANCEL_MENU EQU 5 -HEAL_CANCEL_MENU EQU 6 -NO_YES_MENU EQU 7 - -; menu exit method constants for list menus and the buy/sell/quit menu -CHOSE_MENU_ITEM EQU 1 ; pressed A -CANCELLED_MENU EQU 2 ; pressed B - -; menu exit method constants for two-option menus -CHOSE_FIRST_ITEM EQU 1 -CHOSE_SECOND_ITEM EQU 2 - -; move mon constants -BOX_TO_PARTY EQU 0 -PARTY_TO_BOX EQU 1 -DAYCARE_TO_PARTY EQU 2 -PARTY_TO_DAYCARE EQU 3 - -; emotion bubbles -EXCLAMATION_BUBBLE EQU 0 -QUESTION_BUBBLE EQU 1 -SMILE_BUBBLE EQU 2 - -; slot symbols -SLOTS7 EQU $0200 -SLOTSBAR EQU $0604 -SLOTSCHERRY EQU $0A08 -SLOTSFISH EQU $0E0C -SLOTSBIRD EQU $1210 -SLOTSMOUSE EQU $1614 - -; party menu types -NORMAL_PARTY_MENU EQU 0 -USE_ITEM_PARTY_MENU EQU 1 -BATTLE_PARTY_MENU EQU 2 -TMHM_PARTY_MENU EQU 3 -SWAP_MONS_PARTY_MENU EQU 4 -EVO_STONE_PARTY_MENU EQU 5 - -; party menu message IDs -ANTIDOTE_MSG EQU $F0 -BURN_HEAL_MSG EQU $F1 -ICE_HEAL_MSG EQU $F2 -AWAKENING_MSG EQU $F3 -PARALYZ_HEAL_MSG EQU $F4 -POTION_MSG EQU $F5 -FULL_HEAL_MSG EQU $F6 -REVIVE_MSG EQU $F7 -RARE_CANDY_MSG EQU $F8 - -; naming screen types -NAME_PLAYER_SCREEN EQU 0 -NAME_RIVAL_SCREEN EQU 1 -NAME_MON_SCREEN EQU 2 - -; mon data locations -; Note that some values are not supported by all functions that use these values. -PLAYER_PARTY_DATA EQU 0 -ENEMY_PARTY_DATA EQU 1 -BOX_DATA EQU 2 -DAYCARE_DATA EQU 3 -BATTLE_MON_DATA EQU 4 - -; player direction constants - -PLAYER_DIR_BIT_RIGHT EQU 0 -PLAYER_DIR_BIT_LEFT EQU 1 -PLAYER_DIR_BIT_DOWN EQU 2 -PLAYER_DIR_BIT_UP EQU 3 - -PLAYER_DIR_RIGHT EQU (1 << PLAYER_DIR_BIT_RIGHT) -PLAYER_DIR_LEFT EQU (1 << PLAYER_DIR_BIT_LEFT) -PLAYER_DIR_DOWN EQU (1 << PLAYER_DIR_BIT_DOWN) -PLAYER_DIR_UP EQU (1 << PLAYER_DIR_BIT_UP) +; Boolean checks +FALSE EQU 0 +TRUE EQU 1 ; flag operations - FLAG_RESET EQU 0 FLAG_SET EQU 1 FLAG_TEST EQU 2 - -; HP bar -HP_BAR_GREEN EQU 0 -HP_BAR_YELLOW EQU 1 -HP_BAR_RED EQU 2 - -; D733 flags -BIT_TEST_BATTLE EQU 0 - -; battle type constants -BATTLE_TYPE_NORMAL EQU 0 -BATTLE_TYPE_OLD_MAN EQU 1 -BATTLE_TYPE_SAFARI EQU 2 - -; serial - -ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 -ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02 - -USING_EXTERNAL_CLOCK EQU $01 -USING_INTERNAL_CLOCK EQU $02 -CONNECTION_NOT_ESTABLISHED EQU $ff - -; signals the start of an array of bytes transferred over the link cable -SERIAL_PREAMBLE_BYTE EQU $FD - -; this byte is used when there is no data to send -SERIAL_NO_DATA_BYTE EQU $FE - -; signals the end of one part of a patch list (there are two parts) for player/enemy party data -SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF - -LINK_STATE_NONE EQU $00 ; not using link -LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre) -LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation -LINK_STATE_START_BATTLE EQU $03 ; pre-battle initialisation -LINK_STATE_BATTLING EQU $04 ; in a link battle -LINK_STATE_RESET EQU $05 ; reset game (unused) -LINK_STATE_TRADING EQU $32 ; in a link trade - -LINKBATTLE_RUN EQU $F -LINKBATTLE_STRUGGLE EQU $E -LINKBATTLE_NO_ACTION EQU $D diff --git a/constants/move_animation_constants.asm b/constants/move_animation_constants.asm index 27658c83..d2025f4e 100644 --- a/constants/move_animation_constants.asm +++ b/constants/move_animation_constants.asm @@ -1,8 +1,6 @@ -; subanimations +; special effects that are part of move animations -const_value = $D8 - -; special effects, prefaced with "SE" for "Special Effect" + const_def $D8 const SE_WAVY_SCREEN ; $D8 used in Psywave/Night Shade/Psychic etc. const SE_SUBSTITUTE_MON ; $D9 used in Substitute (turns the pokemon into a mini sprite) const SE_SHAKE_BACK_AND_FORTH ; $DA used in Double Team diff --git a/constants/move_constants.asm b/constants/move_constants.asm index dfbb500e..5dd06a41 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -1,5 +1,5 @@ -const_value = 1 - + const_def + const NO_MOVE ; 00 const POUND ; 01 const KARATE_CHOP ; 02 const DOUBLESLAP ; 03 @@ -165,9 +165,9 @@ const_value = 1 const SLASH ; a3 const SUBSTITUTE ; a4 -NUM_ATTACKS EQU const_value + -1 +NUM_ATTACKS EQU const_value - 1 - const STRUGGLE + const STRUGGLE ; a5 ; Moves do double duty as animation identifiers. diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm index b66772d1..36a60a41 100644 --- a/constants/move_effect_constants.asm +++ b/constants/move_effect_constants.asm @@ -2,8 +2,8 @@ ; {stat}_(UP|DOWN)(1|2) means that the move raises the user's (or lowers the target's) corresponding stat modifier by 1 (or 2) stages ; {status condition}_side_effect means that the move has a side chance of causing that condition ; {status condition}_effect means that the move causes the status condition every time it hits the target -const_value = 0 + const_def const NO_ADDITIONAL_EFFECT ; $00 const UNUSED_EFFECT_01 ; $01 const POISON_SIDE_EFFECT1 ; $02 @@ -91,7 +91,3 @@ const_value = 0 const LEECH_SEED_EFFECT ; $54 const SPLASH_EFFECT ; $55 const DISABLE_EFFECT ; $56 - -; fixed damage constants -SONICBOOM_DAMAGE EQU 20 -DRAGON_RAGE_DAMAGE EQU 40 diff --git a/constants/music_constants.asm b/constants/music_constants.asm index de91352e..3f3f111e 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -1,50 +1,3 @@ -; HW sound channel register base addresses -HW_CH1_BASE EQU (rNR10 % $100) -HW_CH2_BASE EQU ((rNR21 % $100) - 1) -HW_CH3_BASE EQU (rNR30 % $100) -HW_CH4_BASE EQU ((rNR41 % $100) - 1) - -; HW sound channel enable bit masks -HW_CH1_ENABLE_MASK EQU %00010001 -HW_CH2_ENABLE_MASK EQU %00100010 -HW_CH3_ENABLE_MASK EQU %01000100 -HW_CH4_ENABLE_MASK EQU %10001000 - -; HW sound channel disable bit masks -HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff) -HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff) -HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff) -HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff) - -REG_DUTY_SOUND_LEN EQU 1 -REG_VOLUME_ENVELOPE EQU 2 -REG_FREQUENCY_LO EQU 3 - -MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA" -MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE" -MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR" - -NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01" -NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1" - -CRY_SFX_START EQUS "SFX_CRY_00" -CRY_SFX_END EQUS "SFX_CRY_25 + 3" - -BATTLE_SFX_START EQUS "SFX_PECK" -BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1" - -; wChannelFlags1 constants -BIT_PERFECT_PITCH EQU 0 ; controlled by toggle_perfect_pitch command -BIT_SOUND_CALL EQU 1 ; if in sound call -BIT_NOISE_OR_SFX EQU 2 ; if channel is the music noise channel or an SFX channel -BIT_VIBRATO_DIRECTION EQU 3 ; if the pitch is above or below normal (cycles) -BIT_PITCH_SLIDE_ON EQU 4 ; if pitch slide is active -BIT_PITCH_SLIDE_DECREASING EQU 5 ; if the pitch slide frequency is decreasing (instead of increasing) -BIT_ROTATE_DUTY_CYCLE EQU 6 ; if rotating duty cycle - -; wChannelFlags2 constant (only has one flag) -BIT_EXECUTE_MUSIC EQU 0 ; if in execute music - ; Song ids are calculated by address to save space. music_const: MACRO @@ -103,6 +56,7 @@ ENDM music_const MUSIC_MEET_MALE_TRAINER, Music_MeetMaleTrainer ; AUDIO_1 AUDIO_2 AUDIO_3 +NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01" music_const SFX_NOISE_INSTRUMENT01, SFX_Noise_Instrument01_1 music_const SFX_NOISE_INSTRUMENT02, SFX_Noise_Instrument02_1 music_const SFX_NOISE_INSTRUMENT03, SFX_Noise_Instrument03_1 @@ -122,6 +76,9 @@ ENDM music_const SFX_NOISE_INSTRUMENT17, SFX_Noise_Instrument17_1 music_const SFX_NOISE_INSTRUMENT18, SFX_Noise_Instrument18_1 music_const SFX_NOISE_INSTRUMENT19, SFX_Noise_Instrument19_1 +NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1" + +CRY_SFX_START EQUS "SFX_CRY_00" music_const SFX_CRY_00, SFX_Cry00_1 music_const SFX_CRY_01, SFX_Cry01_1 music_const SFX_CRY_02, SFX_Cry02_1 @@ -160,6 +117,7 @@ ENDM music_const SFX_CRY_23, SFX_Cry23_1 music_const SFX_CRY_24, SFX_Cry24_1 music_const SFX_CRY_25, SFX_Cry25_1 +CRY_SFX_END EQUS "SFX_CRY_25 + 3" music_const SFX_GET_ITEM_2, SFX_Get_Item2_1 music_const SFX_TINK, SFX_Tink_1 @@ -204,6 +162,7 @@ ENDM ; AUDIO_1 music_const SFX_POKEFLUTE, SFX_Pokeflute music_const SFX_SAFARI_ZONE_PA, SFX_Safari_Zone_PA +MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA" ; AUDIO_2 music_const SFX_LEVEL_UP, SFX_Level_Up @@ -214,6 +173,8 @@ ENDM music_const SFX_RUN, SFX_Run music_const SFX_DEX_PAGE_ADDED, SFX_Dex_Page_Added music_const SFX_CAUGHT_MON, SFX_Caught_Mon + +BATTLE_SFX_START EQUS "SFX_PECK" music_const SFX_PECK, SFX_Peck music_const SFX_FAINT_FALL, SFX_Faint_Fall music_const SFX_BATTLE_09, SFX_Battle_09 @@ -263,6 +224,8 @@ ENDM music_const SFX_BATTLE_35, SFX_Battle_35 music_const SFX_BATTLE_36, SFX_Battle_36 music_const SFX_SILPH_SCOPE, SFX_Silph_Scope +BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1" +MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE" ; AUDIO_3 music_const SFX_INTRO_LUNGE, SFX_Intro_Lunge @@ -275,3 +238,6 @@ ENDM music_const SFX_SLOTS_REWARD, SFX_Slots_Reward music_const SFX_SLOTS_NEW_SPIN, SFX_Slots_New_Spin music_const SFX_SHOOTING_STAR, SFX_Shooting_Star +MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR" + +SFX_STOP_ALL_MUSIC EQU $ff diff --git a/constants/palette_constants.asm b/constants/palette_constants.asm index 1413ad98..c0c397ee 100755 --- a/constants/palette_constants.asm +++ b/constants/palette_constants.asm @@ -5,25 +5,28 @@ const DARK_GRAY const BLACK -SET_PAL_BATTLE_BLACK EQU $00 -SET_PAL_BATTLE EQU $01 -SET_PAL_TOWN_MAP EQU $02 -SET_PAL_STATUS_SCREEN EQU $03 -SET_PAL_POKEDEX EQU $04 -SET_PAL_SLOTS EQU $05 -SET_PAL_TITLE_SCREEN EQU $06 -SET_PAL_NIDORINO_INTRO EQU $07 -SET_PAL_GENERIC EQU $08 -SET_PAL_OVERWORLD EQU $09 -SET_PAL_PARTY_MENU EQU $0A -SET_PAL_POKEMON_WHOLE_SCREEN EQU $0B -SET_PAL_GAME_FREAK_INTRO EQU $0C -SET_PAL_TRAINER_CARD EQU $0D -UPDATE_PARTY_MENU_BLK_PACKET EQU $FC +; pal/blk packets + const_def + const SET_PAL_BATTLE_BLACK ; $00 + const SET_PAL_BATTLE ; $01 + const SET_PAL_TOWN_MAP ; $02 + const SET_PAL_STATUS_SCREEN ; $03 + const SET_PAL_POKEDEX ; $04 + const SET_PAL_SLOTS ; $05 + const SET_PAL_TITLE_SCREEN ; $06 + const SET_PAL_NIDORINO_INTRO ; $07 + const SET_PAL_GENERIC ; $08 + const SET_PAL_OVERWORLD ; $09 + const SET_PAL_PARTY_MENU ; $0A + const SET_PAL_POKEMON_WHOLE_SCREEN ; $0B + const SET_PAL_GAME_FREAK_INTRO ; $0C + const SET_PAL_TRAINER_CARD ; $0D -; super game boy palettes -const_value = 0 +SET_PAL_PARTY_MENU_HP_BARS EQU $fc +SET_PAL_DEFAULT EQU $ff +; sgb palettes + const_def const PAL_ROUTE ; $00 const PAL_PALLET ; $01 const PAL_VIRIDIAN ; $02 diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index b80547f7..e462586e 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -1,5 +1,4 @@ -const_value = 1 - + const_def 1 const DEX_BULBASAUR ; 1 const DEX_IVYSAUR ; 2 const DEX_VENUSAUR ; 3 @@ -152,4 +151,4 @@ const_value = 1 const DEX_MEWTWO ; 150 const DEX_MEW ; 151 -NUM_POKEMON EQU const_value + -1 +NUM_POKEMON EQU const_value - 1 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index f8a38731..7abdd4d3 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -1,5 +1,5 @@ -const_value = 1 - + const_def + const NO_MON ; $00 const RHYDON ; $01 const KANGASKHAN ; $02 const NIDORAN_M ; $03 @@ -191,4 +191,4 @@ const_value = 1 const WEEPINBELL ; $BD const VICTREEBEL ; $BE -NUM_POKEMON_INDEXES EQU const_value + -1 +NUM_POKEMON_INDEXES EQU const_value - 1 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm new file mode 100755 index 00000000..c5245026 --- /dev/null +++ b/constants/pokemon_data_constants.asm @@ -0,0 +1,28 @@ +PARTY_LENGTH EQU 6 + +MONS_PER_BOX EQU 20 +NUM_BOXES EQU 12 + +HOF_MON EQU $10 +HOF_TEAM EQU PARTY_LENGTH * HOF_MON +HOF_TEAM_CAPACITY EQU 50 + + +; mon data locations +; Note that some values are not supported by all functions that use these values. +PLAYER_PARTY_DATA EQU 0 +ENEMY_PARTY_DATA EQU 1 +BOX_DATA EQU 2 +DAYCARE_DATA EQU 3 +BATTLE_MON_DATA EQU 4 + + +; See data/pokemon/evos_moves.asm + +; Evolution types +EV_LEVEL EQU 1 +EV_ITEM EQU 2 +EV_TRADE EQU 3 + +MAX_EVOLUTIONS EQU 3 +EVOLUTION_SIZE EQU 4 diff --git a/constants/script_constants.asm b/constants/script_constants.asm new file mode 100644 index 00000000..c04e9ca0 --- /dev/null +++ b/constants/script_constants.asm @@ -0,0 +1,12 @@ +; emotion bubbles +EXCLAMATION_BUBBLE EQU 0 +QUESTION_BUBBLE EQU 1 +SMILE_BUBBLE EQU 2 + +; slot symbols +SLOTS7 EQU $0200 +SLOTSBAR EQU $0604 +SLOTSCHERRY EQU $0A08 +SLOTSFISH EQU $0E0C +SLOTSBIRD EQU $1210 +SLOTSMOUSE EQU $1614 diff --git a/constants/serial_constants.asm b/constants/serial_constants.asm new file mode 100644 index 00000000..a6aae315 --- /dev/null +++ b/constants/serial_constants.asm @@ -0,0 +1,27 @@ +ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 +ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02 + +USING_EXTERNAL_CLOCK EQU $01 +USING_INTERNAL_CLOCK EQU $02 +CONNECTION_NOT_ESTABLISHED EQU $ff + +; signals the start of an array of bytes transferred over the link cable +SERIAL_PREAMBLE_BYTE EQU $FD + +; this byte is used when there is no data to send +SERIAL_NO_DATA_BYTE EQU $FE + +; signals the end of one part of a patch list (there are two parts) for player/enemy party data +SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF + +LINK_STATE_NONE EQU $00 ; not using link +LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre) +LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation +LINK_STATE_START_BATTLE EQU $03 ; pre-battle initialisation +LINK_STATE_BATTLING EQU $04 ; in a link battle +LINK_STATE_RESET EQU $05 ; reset game (unused) +LINK_STATE_TRADING EQU $32 ; in a link trade + +LINKBATTLE_RUN EQU $F +LINKBATTLE_STRUGGLE EQU $E +LINKBATTLE_NO_ACTION EQU $D diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index 54d2f191..939ab2df 100755 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -1,20 +1,6 @@ -; pokemon's overworld sprites -const_value = 0 - - const ICON_MON ; $0 - const ICON_BALL ; $1 - const ICON_HELIX ; $2 - const ICON_FAIRY ; $3 - const ICON_BIRD ; $4 - const ICON_WATER ; $5 - const ICON_BUG ; $6 - const ICON_GRASS ; $7 - const ICON_SNAKE ; $8 - const ICON_QUADRUPED ; $9 - ; overworld sprites -const_value = 1 - + const_def + const SPRITE_NONE ; $00 const SPRITE_RED ; $01 const SPRITE_BLUE ; $02 const SPRITE_OAK ; $03 @@ -87,15 +73,3 @@ const_value = 1 const SPRITE_LYING_OLD_MAN_UNUSED_1 ; $46 const SPRITE_LYING_OLD_MAN_UNUSED_2 ; $47 const SPRITE_LYING_OLD_MAN ; $48 - -; different kinds of people events -ITEM EQU $80 -TRAINER EQU $40 - -BOULDER_MOVEMENT_BYTE_2 EQU $10 - -; sprite facing directions -SPRITE_FACING_DOWN EQU $00 -SPRITE_FACING_UP EQU $04 -SPRITE_FACING_LEFT EQU $08 -SPRITE_FACING_RIGHT EQU $0C diff --git a/constants/sprite_data_constants.asm b/constants/sprite_data_constants.asm new file mode 100644 index 00000000..48a34446 --- /dev/null +++ b/constants/sprite_data_constants.asm @@ -0,0 +1,22 @@ +; sprite facing directions +SPRITE_FACING_DOWN EQU $00 +SPRITE_FACING_UP EQU $04 +SPRITE_FACING_LEFT EQU $08 +SPRITE_FACING_RIGHT EQU $0C + +NPC_MOVEMENT_DOWN EQU $00 +NPC_MOVEMENT_UP EQU $40 +NPC_MOVEMENT_LEFT EQU $80 +NPC_MOVEMENT_RIGHT EQU $C0 + +; player direction constants + +PLAYER_DIR_BIT_RIGHT EQU 0 +PLAYER_DIR_BIT_LEFT EQU 1 +PLAYER_DIR_BIT_DOWN EQU 2 +PLAYER_DIR_BIT_UP EQU 3 + +PLAYER_DIR_RIGHT EQU (1 << PLAYER_DIR_BIT_RIGHT) +PLAYER_DIR_LEFT EQU (1 << PLAYER_DIR_BIT_LEFT) +PLAYER_DIR_DOWN EQU (1 << PLAYER_DIR_BIT_DOWN) +PLAYER_DIR_UP EQU (1 << PLAYER_DIR_BIT_UP) diff --git a/constants/text_constants.asm b/constants/text_constants.asm index 3cddce26..a3ef2012 100644 --- a/constants/text_constants.asm +++ b/constants/text_constants.asm @@ -1,3 +1,6 @@ +NAME_LENGTH EQU 11 +ITEM_NAME_LENGTH EQU 13 + ; special text IDs TEXT_MON_FAINTED EQU $d0 TEXT_BLACKED_OUT EQU $d1 diff --git a/constants/tilesets.asm b/constants/tileset_constants.asm similarity index 97% rename from constants/tilesets.asm rename to constants/tileset_constants.asm index f10e4d92..33d59fcb 100644 --- a/constants/tilesets.asm +++ b/constants/tileset_constants.asm @@ -1,5 +1,4 @@ -const_value = 0 - + const_def const OVERWORLD ; 0 const REDS_HOUSE_1 ; 1 const MART ; 2 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index d936aa06..6e4c2f18 100755 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -6,8 +6,8 @@ OPP_\1 EQU const_value + OPP_ID_OFFSET const_value = const_value + 1 ENDM -const_value = 1 - + const_def + trainer_const NOBODY ; $00 trainer_const YOUNGSTER ; $01 trainer_const BUG_CATCHER ; $02 trainer_const LASS ; $03 diff --git a/constants/type_constants.asm b/constants/type_constants.asm index b36dc179..c94d5c39 100755 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -1,16 +1,23 @@ -; Elemental types -NORMAL EQU $00 -FIGHTING EQU $01 -FLYING EQU $02 -POISON EQU $03 -GROUND EQU $04 -ROCK EQU $05 -BUG EQU $07 -GHOST EQU $08 -FIRE EQU $14 -WATER EQU $15 -GRASS EQU $16 -ELECTRIC EQU $17 -PSYCHIC EQU $18 -ICE EQU $19 -DRAGON EQU $1A + const_def + +PHYSICAL EQU const_value + const NORMAL ; $00 + const FIGHTING ; $01 + const FLYING ; $02 + const POISON ; $03 + const GROUND ; $04 + const ROCK ; $05 + const BIRD ; $06 + const BUG ; $07 + const GHOST ; $08 + +const_value = $14 + +SPECIAL EQU const_value + const FIRE ; $14 + const WATER ; $15 + const GRASS ; $16 + const ELECTRIC ; $17 + const PSYCHIC ; $18 + const ICE ; $19 + const DRAGON ; $1A diff --git a/data/base_stats.asm b/data/base_stats.asm deleted file mode 100755 index 7aa36735..00000000 --- a/data/base_stats.asm +++ /dev/null @@ -1,153 +0,0 @@ -BaseStats:: -MonBaseStats:: -INCLUDE "data/baseStats/bulbasaur.asm" -MonBaseStatsEnd:: -INCLUDE "data/baseStats/ivysaur.asm" -INCLUDE "data/baseStats/venusaur.asm" -INCLUDE "data/baseStats/charmander.asm" -INCLUDE "data/baseStats/charmeleon.asm" -INCLUDE "data/baseStats/charizard.asm" -INCLUDE "data/baseStats/squirtle.asm" -INCLUDE "data/baseStats/wartortle.asm" -INCLUDE "data/baseStats/blastoise.asm" -INCLUDE "data/baseStats/caterpie.asm" -INCLUDE "data/baseStats/metapod.asm" -INCLUDE "data/baseStats/butterfree.asm" -INCLUDE "data/baseStats/weedle.asm" -INCLUDE "data/baseStats/kakuna.asm" -INCLUDE "data/baseStats/beedrill.asm" -INCLUDE "data/baseStats/pidgey.asm" -INCLUDE "data/baseStats/pidgeotto.asm" -INCLUDE "data/baseStats/pidgeot.asm" -INCLUDE "data/baseStats/rattata.asm" -INCLUDE "data/baseStats/raticate.asm" -INCLUDE "data/baseStats/spearow.asm" -INCLUDE "data/baseStats/fearow.asm" -INCLUDE "data/baseStats/ekans.asm" -INCLUDE "data/baseStats/arbok.asm" -INCLUDE "data/baseStats/pikachu.asm" -INCLUDE "data/baseStats/raichu.asm" -INCLUDE "data/baseStats/sandshrew.asm" -INCLUDE "data/baseStats/sandslash.asm" -INCLUDE "data/baseStats/nidoranf.asm" -INCLUDE "data/baseStats/nidorina.asm" -INCLUDE "data/baseStats/nidoqueen.asm" -INCLUDE "data/baseStats/nidoranm.asm" -INCLUDE "data/baseStats/nidorino.asm" -INCLUDE "data/baseStats/nidoking.asm" -INCLUDE "data/baseStats/clefairy.asm" -INCLUDE "data/baseStats/clefable.asm" -INCLUDE "data/baseStats/vulpix.asm" -INCLUDE "data/baseStats/ninetales.asm" -INCLUDE "data/baseStats/jigglypuff.asm" -INCLUDE "data/baseStats/wigglytuff.asm" -INCLUDE "data/baseStats/zubat.asm" -INCLUDE "data/baseStats/golbat.asm" -INCLUDE "data/baseStats/oddish.asm" -INCLUDE "data/baseStats/gloom.asm" -INCLUDE "data/baseStats/vileplume.asm" -INCLUDE "data/baseStats/paras.asm" -INCLUDE "data/baseStats/parasect.asm" -INCLUDE "data/baseStats/venonat.asm" -INCLUDE "data/baseStats/venomoth.asm" -INCLUDE "data/baseStats/diglett.asm" -INCLUDE "data/baseStats/dugtrio.asm" -INCLUDE "data/baseStats/meowth.asm" -INCLUDE "data/baseStats/persian.asm" -INCLUDE "data/baseStats/psyduck.asm" -INCLUDE "data/baseStats/golduck.asm" -INCLUDE "data/baseStats/mankey.asm" -INCLUDE "data/baseStats/primeape.asm" -INCLUDE "data/baseStats/growlithe.asm" -INCLUDE "data/baseStats/arcanine.asm" -INCLUDE "data/baseStats/poliwag.asm" -INCLUDE "data/baseStats/poliwhirl.asm" -INCLUDE "data/baseStats/poliwrath.asm" -INCLUDE "data/baseStats/abra.asm" -INCLUDE "data/baseStats/kadabra.asm" -INCLUDE "data/baseStats/alakazam.asm" -INCLUDE "data/baseStats/machop.asm" -INCLUDE "data/baseStats/machoke.asm" -INCLUDE "data/baseStats/machamp.asm" -INCLUDE "data/baseStats/bellsprout.asm" -INCLUDE "data/baseStats/weepinbell.asm" -INCLUDE "data/baseStats/victreebel.asm" -INCLUDE "data/baseStats/tentacool.asm" -INCLUDE "data/baseStats/tentacruel.asm" -INCLUDE "data/baseStats/geodude.asm" -INCLUDE "data/baseStats/graveler.asm" -INCLUDE "data/baseStats/golem.asm" -INCLUDE "data/baseStats/ponyta.asm" -INCLUDE "data/baseStats/rapidash.asm" -INCLUDE "data/baseStats/slowpoke.asm" -INCLUDE "data/baseStats/slowbro.asm" -INCLUDE "data/baseStats/magnemite.asm" -INCLUDE "data/baseStats/magneton.asm" -INCLUDE "data/baseStats/farfetchd.asm" -INCLUDE "data/baseStats/doduo.asm" -INCLUDE "data/baseStats/dodrio.asm" -INCLUDE "data/baseStats/seel.asm" -INCLUDE "data/baseStats/dewgong.asm" -INCLUDE "data/baseStats/grimer.asm" -INCLUDE "data/baseStats/muk.asm" -INCLUDE "data/baseStats/shellder.asm" -INCLUDE "data/baseStats/cloyster.asm" -INCLUDE "data/baseStats/gastly.asm" -INCLUDE "data/baseStats/haunter.asm" -INCLUDE "data/baseStats/gengar.asm" -INCLUDE "data/baseStats/onix.asm" -INCLUDE "data/baseStats/drowzee.asm" -INCLUDE "data/baseStats/hypno.asm" -INCLUDE "data/baseStats/krabby.asm" -INCLUDE "data/baseStats/kingler.asm" -INCLUDE "data/baseStats/voltorb.asm" -INCLUDE "data/baseStats/electrode.asm" -INCLUDE "data/baseStats/exeggcute.asm" -INCLUDE "data/baseStats/exeggutor.asm" -INCLUDE "data/baseStats/cubone.asm" -INCLUDE "data/baseStats/marowak.asm" -INCLUDE "data/baseStats/hitmonlee.asm" -INCLUDE "data/baseStats/hitmonchan.asm" -INCLUDE "data/baseStats/lickitung.asm" -INCLUDE "data/baseStats/koffing.asm" -INCLUDE "data/baseStats/weezing.asm" -INCLUDE "data/baseStats/rhyhorn.asm" -INCLUDE "data/baseStats/rhydon.asm" -INCLUDE "data/baseStats/chansey.asm" -INCLUDE "data/baseStats/tangela.asm" -INCLUDE "data/baseStats/kangaskhan.asm" -INCLUDE "data/baseStats/horsea.asm" -INCLUDE "data/baseStats/seadra.asm" -INCLUDE "data/baseStats/goldeen.asm" -INCLUDE "data/baseStats/seaking.asm" -INCLUDE "data/baseStats/staryu.asm" -INCLUDE "data/baseStats/starmie.asm" -INCLUDE "data/baseStats/mrmime.asm" -INCLUDE "data/baseStats/scyther.asm" -INCLUDE "data/baseStats/jynx.asm" -INCLUDE "data/baseStats/electabuzz.asm" -INCLUDE "data/baseStats/magmar.asm" -INCLUDE "data/baseStats/pinsir.asm" -INCLUDE "data/baseStats/tauros.asm" -INCLUDE "data/baseStats/magikarp.asm" -INCLUDE "data/baseStats/gyarados.asm" -INCLUDE "data/baseStats/lapras.asm" -INCLUDE "data/baseStats/ditto.asm" -INCLUDE "data/baseStats/eevee.asm" -INCLUDE "data/baseStats/vaporeon.asm" -INCLUDE "data/baseStats/jolteon.asm" -INCLUDE "data/baseStats/flareon.asm" -INCLUDE "data/baseStats/porygon.asm" -INCLUDE "data/baseStats/omanyte.asm" -INCLUDE "data/baseStats/omastar.asm" -INCLUDE "data/baseStats/kabuto.asm" -INCLUDE "data/baseStats/kabutops.asm" -INCLUDE "data/baseStats/aerodactyl.asm" -INCLUDE "data/baseStats/snorlax.asm" -INCLUDE "data/baseStats/articuno.asm" -INCLUDE "data/baseStats/zapdos.asm" -INCLUDE "data/baseStats/moltres.asm" -INCLUDE "data/baseStats/dratini.asm" -INCLUDE "data/baseStats/dragonair.asm" -INCLUDE "data/baseStats/dragonite.asm" -INCLUDE "data/baseStats/mewtwo.asm" diff --git a/text/stat_names.asm b/data/battle/stat_names.asm similarity index 100% rename from text/stat_names.asm rename to data/battle/stat_names.asm diff --git a/data/credit_mons.asm b/data/credits/credits_mons.asm similarity index 100% rename from data/credit_mons.asm rename to data/credits/credits_mons.asm diff --git a/data/credits_order.asm b/data/credits/credits_order.asm similarity index 100% rename from data/credits_order.asm rename to data/credits/credits_order.asm diff --git a/text/credits_text.asm b/data/credits/credits_text.asm similarity index 100% rename from text/credits_text.asm rename to data/credits/credits_text.asm diff --git a/data/hidden_coins.asm b/data/events/hidden_coins.asm similarity index 100% rename from data/hidden_coins.asm rename to data/events/hidden_coins.asm diff --git a/data/hidden_item_coords.asm b/data/events/hidden_item_coords.asm similarity index 100% rename from data/hidden_item_coords.asm rename to data/events/hidden_item_coords.asm diff --git a/data/hidden_objects.asm b/data/events/hidden_objects.asm similarity index 96% rename from data/hidden_objects.asm rename to data/events/hidden_objects.asm index 737947a7..8fc539ef 100755 --- a/data/hidden_objects.asm +++ b/data/events/hidden_objects.asm @@ -224,7 +224,7 @@ OaksLabHiddenObjects: db $FF ViridianPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -234,7 +234,7 @@ ViridianMartHiddenObjects: db $FF ViridianSchoolHiddenObjects: db $04,$03,(ViridianSchoolNotebook_id - TextPredefs) / 2 + 1 - db Bank(PrintNotebookText) + db BANK(PrintNotebookText) dw PrintNotebookText db $00,$03,(ViridianSchoolBlackboard_id - TextPredefs) / 2 + 1 db BANK(PrintBlackboardLinkCableText) @@ -262,7 +262,7 @@ PewterMartHiddenObjects: db $FF PewterPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -270,7 +270,7 @@ PewterPokecenterHiddenObjects: db $FF CeruleanPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -286,7 +286,7 @@ CeruleanMartHiddenObjects: db $FF LavenderPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -297,7 +297,7 @@ VermilionPokecenterHiddenObjects: db BANK(OpenPokemonCenterPC) dw OpenPokemonCenterPC db $04,$00,$04 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $FF VermilionGymHiddenObjects: @@ -345,7 +345,7 @@ CeladonMansion2HiddenObjects: db $FF CeladonPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -460,7 +460,7 @@ CeladonHotelHiddenObjects: db BANK(OpenPokemonCenterPC) dw OpenPokemonCenterPC db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $FF FuchsiaPokecenterHiddenObjects: @@ -468,7 +468,7 @@ FuchsiaPokecenterHiddenObjects: db BANK(OpenPokemonCenterPC) dw OpenPokemonCenterPC db $04,$00,$04 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $FF FuchsiaGymHiddenObjects: @@ -481,27 +481,27 @@ CinnabarGymHiddenObjects: db $0d,$11,$04 dbw BANK(GymStatues),GymStatues db $07,$0f,$01 - db Bank(PrintCinnabarQuiz) + db BANK(PrintCinnabarQuiz) dw PrintCinnabarQuiz db $01,$0a,$12 - db Bank(PrintCinnabarQuiz) + db BANK(PrintCinnabarQuiz) dw PrintCinnabarQuiz db $07,$09,$13 - db Bank(PrintCinnabarQuiz) + db BANK(PrintCinnabarQuiz) dw PrintCinnabarQuiz db $0d,$09,$14 - db Bank(PrintCinnabarQuiz) + db BANK(PrintCinnabarQuiz) dw PrintCinnabarQuiz db $0d,$01,$05 - db Bank(PrintCinnabarQuiz) + db BANK(PrintCinnabarQuiz) dw PrintCinnabarQuiz db $07,$01,$16 - db Bank(PrintCinnabarQuiz) + db BANK(PrintCinnabarQuiz) dw PrintCinnabarQuiz db $FF CinnabarPokecenterHiddenObjects: db $04,$00,$04 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -513,7 +513,7 @@ SaffronGymHiddenObjects: db $FF MtMoonPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -521,7 +521,7 @@ MtMoonPokecenterHiddenObjects: db $FF RockTunnelPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -589,7 +589,7 @@ RocketHideout4HiddenObjects: db $FF SaffronPokecenterHiddenObjects: db $04,$00,$04 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -704,7 +704,7 @@ ViridianCityHiddenObjects: db $FF SafariZoneRestHouse2HiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -712,7 +712,7 @@ SafariZoneRestHouse2HiddenObjects: db $FF SafariZoneRestHouse3HiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -720,7 +720,7 @@ SafariZoneRestHouse3HiddenObjects: db $FF SafariZoneRestHouse4HiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -750,7 +750,7 @@ CeladonMansion5HiddenObjects: db BANK(PrintBlackboardLinkCableText) dw PrintBlackboardLinkCableText db $04,$03,(TMNotebook_id - TextPredefs) / 2 + 1 - db Bank(PrintNotebookText) + db BANK(PrintNotebookText) dw PrintNotebookText db $FF FightingDojoHiddenObjects: diff --git a/data/prize_mon_levels.asm b/data/events/prize_mon_levels.asm similarity index 100% rename from data/prize_mon_levels.asm rename to data/events/prize_mon_levels.asm diff --git a/data/prizes.asm b/data/events/prizes.asm similarity index 100% rename from data/prizes.asm rename to data/events/prizes.asm diff --git a/data/slot_machine_wheels.asm b/data/events/slot_machine_wheels.asm similarity index 100% rename from data/slot_machine_wheels.asm rename to data/events/slot_machine_wheels.asm diff --git a/data/trades.asm b/data/events/trades.asm similarity index 100% rename from data/trades.asm rename to data/events/trades.asm diff --git a/data/hm_moves.asm b/data/hm_moves.asm deleted file mode 100644 index d72eddfe..00000000 --- a/data/hm_moves.asm +++ /dev/null @@ -1,7 +0,0 @@ -HMMoveArray: - db CUT - db FLY - db SURF - db STRENGTH - db FLASH - db -1 diff --git a/data/mon_party_sprite_pointers.asm b/data/icon_pointers.asm similarity index 100% rename from data/mon_party_sprite_pointers.asm rename to data/icon_pointers.asm diff --git a/data/guard_drink_items.asm b/data/items/guard_drink_items.asm similarity index 100% rename from data/guard_drink_items.asm rename to data/items/guard_drink_items.asm diff --git a/data/key_items.asm b/data/items/key_items.asm similarity index 100% rename from data/key_items.asm rename to data/items/key_items.asm diff --git a/data/mart_inventories.asm b/data/items/marts.asm similarity index 100% rename from data/mart_inventories.asm rename to data/items/marts.asm diff --git a/text/item_names.asm b/data/items/names.asm similarity index 100% rename from text/item_names.asm rename to data/items/names.asm diff --git a/data/item_prices.asm b/data/items/prices.asm similarity index 100% rename from data/item_prices.asm rename to data/items/prices.asm diff --git a/data/tm_prices.asm b/data/items/tm_prices.asm similarity index 100% rename from data/tm_prices.asm rename to data/items/tm_prices.asm diff --git a/data/overworld_items.asm b/data/items/use_overworld.asm similarity index 100% rename from data/overworld_items.asm rename to data/items/use_overworld.asm diff --git a/data/party_items.asm b/data/items/use_party.asm similarity index 100% rename from data/party_items.asm rename to data/items/use_party.asm diff --git a/data/vending_prices.asm b/data/items/vending_prices.asm similarity index 100% rename from data/vending_prices.asm rename to data/items/vending_prices.asm diff --git a/data/mapHeaders/AgathasRoom.asm b/data/mapHeaders/AgathasRoom.asm deleted file mode 100755 index 6e31225c..00000000 --- a/data/mapHeaders/AgathasRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -AgathasRoom_h:: - db CEMETERY ; tileset - db AGATHAS_ROOM_HEIGHT, AGATHAS_ROOM_WIDTH ; dimensions (y, x) - dw AgathasRoom_Blocks ; blocks - dw AgathasRoom_TextPointers ; texts - dw AgathasRoom_Script ; scripts - db 0 ; connections - dw AgathasRoom_Object ; objects diff --git a/data/mapHeaders/BikeShop.asm b/data/mapHeaders/BikeShop.asm deleted file mode 100755 index ea6f8d60..00000000 --- a/data/mapHeaders/BikeShop.asm +++ /dev/null @@ -1,8 +0,0 @@ -BikeShop_h:: - db CLUB ; tileset - db BIKE_SHOP_HEIGHT, BIKE_SHOP_WIDTH ; dimensions (y, x) - dw BikeShop_Blocks ; blocks - dw BikeShop_TextPointers ; texts - dw BikeShop_Script ; scripts - db 0 ; connections - dw BikeShop_Object ; objects diff --git a/data/mapHeaders/BillsHouse.asm b/data/mapHeaders/BillsHouse.asm deleted file mode 100755 index e58cbd5b..00000000 --- a/data/mapHeaders/BillsHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -BillsHouse_h:: - db INTERIOR ; tileset - db BILLS_HOUSE_HEIGHT, BILLS_HOUSE_WIDTH ; dimensions (y, x) - dw BillsHouse_Blocks ; blocks - dw BillsHouse_TextPointers ; texts - dw BillsHouse_Script ; scripts - db 0 ; connections - dw BillsHouse_Object ; objects diff --git a/data/mapHeaders/BluesHouse.asm b/data/mapHeaders/BluesHouse.asm deleted file mode 100755 index bc9ed3de..00000000 --- a/data/mapHeaders/BluesHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -BluesHouse_h:: - db HOUSE ; tileset - db BLUES_HOUSE_HEIGHT, BLUES_HOUSE_WIDTH ; dimensions (y, x) - dw BluesHouse_Blocks ; blocks - dw BluesHouse_TextPointers ; texts - dw BluesHouse_Script ; scripts - db 0 ; connections - dw BluesHouse_Object ; objects diff --git a/data/mapHeaders/BrunosRoom.asm b/data/mapHeaders/BrunosRoom.asm deleted file mode 100755 index 03398603..00000000 --- a/data/mapHeaders/BrunosRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -BrunosRoom_h:: - db GYM ; tileset - db BRUNOS_ROOM_HEIGHT, BRUNOS_ROOM_WIDTH ; dimensions (y, x) - dw BrunosRoom_Blocks ; blocks - dw BrunosRoom_TextPointers ; texts - dw BrunosRoom_Script ; scripts - db 0 ; connections - dw BrunosRoom_Object ; objects diff --git a/data/mapHeaders/CeladonChiefHouse.asm b/data/mapHeaders/CeladonChiefHouse.asm deleted file mode 100755 index e29f722f..00000000 --- a/data/mapHeaders/CeladonChiefHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonChiefHouse_h:: - db MANSION ; tileset - db CELADON_CHIEF_HOUSE_HEIGHT, CELADON_CHIEF_HOUSE_WIDTH ; dimensions (y, x) - dw CeladonChiefHouse_Blocks ; blocks - dw CeladonChiefHouse_TextPointers ; texts - dw CeladonChiefHouse_Script ; scripts - db 0 ; connections - dw CeladonChiefHouse_Object ; objects diff --git a/data/mapHeaders/CeladonCity.asm b/data/mapHeaders/CeladonCity.asm deleted file mode 100755 index f2ce1831..00000000 --- a/data/mapHeaders/CeladonCity.asm +++ /dev/null @@ -1,10 +0,0 @@ -CeladonCity_h:: - db OVERWORLD ; tileset - db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH ; dimensions (y, x) - dw CeladonCity_Blocks ; blocks - dw CeladonCity_TextPointers ; texts - dw CeladonCity_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION CELADON_CITY, ROUTE_16, 4, 0, Route16_Blocks - EAST_MAP_CONNECTION CELADON_CITY, ROUTE_7, 4, 0, Route7_Blocks, 1 - dw CeladonCity_Object ; objects diff --git a/data/mapHeaders/CeladonDiner.asm b/data/mapHeaders/CeladonDiner.asm deleted file mode 100755 index 14501d83..00000000 --- a/data/mapHeaders/CeladonDiner.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonDiner_h:: - db LOBBY ; tileset - db CELADON_DINER_HEIGHT, CELADON_DINER_WIDTH ; dimensions (y, x) - dw CeladonDiner_Blocks ; blocks - dw CeladonDiner_TextPointers ; texts - dw CeladonDiner_Script ; scripts - db 0 ; connections - dw CeladonDiner_Object ; objects diff --git a/data/mapHeaders/CeladonGym.asm b/data/mapHeaders/CeladonGym.asm deleted file mode 100755 index b64c5e19..00000000 --- a/data/mapHeaders/CeladonGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonGym_h:: - db GYM ; tileset - db CELADON_GYM_HEIGHT, CELADON_GYM_WIDTH ; dimensions (y, x) - dw CeladonGym_Blocks ; blocks - dw CeladonGym_TextPointers ; texts - dw CeladonGym_Script ; scripts - db 0 ; connections - dw CeladonGym_Object ; objects diff --git a/data/mapHeaders/CeladonHotel.asm b/data/mapHeaders/CeladonHotel.asm deleted file mode 100755 index ecc943c2..00000000 --- a/data/mapHeaders/CeladonHotel.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonHotel_h:: - db POKECENTER ; tileset - db CELADON_HOTEL_HEIGHT, CELADON_HOTEL_WIDTH ; dimensions (y, x) - dw CeladonHotel_Blocks ; blocks - dw CeladonHotel_TextPointers ; texts - dw CeladonHotel_Script ; scripts - db 0 ; connections - dw CeladonHotel_Object ; objects diff --git a/data/mapHeaders/CeladonMansion1F.asm b/data/mapHeaders/CeladonMansion1F.asm deleted file mode 100755 index b13f76a7..00000000 --- a/data/mapHeaders/CeladonMansion1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMansion1F_h:: - db MANSION ; tileset - db CELADON_MANSION_1F_HEIGHT, CELADON_MANSION_1F_WIDTH ; dimensions (y, x) - dw CeladonMansion1F_Blocks ; blocks - dw CeladonMansion1F_TextPointers ; texts - dw CeladonMansion1F_Script ; scripts - db 0 ; connections - dw CeladonMansion1F_Object ; objects diff --git a/data/mapHeaders/CeladonMansion2F.asm b/data/mapHeaders/CeladonMansion2F.asm deleted file mode 100755 index 33493510..00000000 --- a/data/mapHeaders/CeladonMansion2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMansion2F_h:: - db MANSION ; tileset - db CELADON_MANSION_2F_HEIGHT, CELADON_MANSION_2F_WIDTH ; dimensions (y, x) - dw CeladonMansion2F_Blocks ; blocks - dw CeladonMansion2F_TextPointers ; texts - dw CeladonMansion2F_Script ; scripts - db 0 ; connections - dw CeladonMansion2F_Object ; objects diff --git a/data/mapHeaders/CeladonMansion3F.asm b/data/mapHeaders/CeladonMansion3F.asm deleted file mode 100755 index 89d0cfe6..00000000 --- a/data/mapHeaders/CeladonMansion3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMansion3F_h:: - db MANSION ; tileset - db CELADON_MANSION_3F_HEIGHT, CELADON_MANSION_3F_WIDTH ; dimensions (y, x) - dw CeladonMansion3F_Blocks ; blocks - dw CeladonMansion3F_TextPointers ; texts - dw CeladonMansion3F_Script ; scripts - db 0 ; connections - dw CeladonMansion3F_Object ; objects diff --git a/data/mapHeaders/CeladonMansionRoof.asm b/data/mapHeaders/CeladonMansionRoof.asm deleted file mode 100755 index 7f7fa4ac..00000000 --- a/data/mapHeaders/CeladonMansionRoof.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMansionRoof_h:: - db MANSION ; tileset - db CELADON_MANSION_ROOF_HEIGHT, CELADON_MANSION_ROOF_WIDTH ; dimensions (y, x) - dw CeladonMansionRoof_Blocks ; blocks - dw CeladonMansionRoof_TextPointers ; texts - dw CeladonMansionRoof_Script ; scripts - db 0 ; connections - dw CeladonMansionRoof_Object ; objects diff --git a/data/mapHeaders/CeladonMansionRoofHouse.asm b/data/mapHeaders/CeladonMansionRoofHouse.asm deleted file mode 100755 index de6771b7..00000000 --- a/data/mapHeaders/CeladonMansionRoofHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMansionRoofHouse_h:: - db HOUSE ; tileset - db CELADON_MANSION_ROOF_HOUSE_HEIGHT, CELADON_MANSION_ROOF_HOUSE_WIDTH ; dimensions (y, x) - dw CeladonMansionRoofHouse_Blocks ; blocks - dw CeladonMansionRoofHouse_TextPointers ; texts - dw CeladonMansionRoofHouse_Script ; scripts - db 0 ; connections - dw CeladonMansionRoofHouse_Object ; objects diff --git a/data/mapHeaders/CeladonMart1F.asm b/data/mapHeaders/CeladonMart1F.asm deleted file mode 100755 index d392f8a7..00000000 --- a/data/mapHeaders/CeladonMart1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMart1F_h:: - db LOBBY ; tileset - db CELADON_MART_1F_HEIGHT, CELADON_MART_1F_WIDTH ; dimensions (y, x) - dw CeladonMart1F_Blocks ; blocks - dw CeladonMart1F_TextPointers ; texts - dw CeladonMart1F_Script ; scripts - db 0 ; connections - dw CeladonMart1F_Object ; objects diff --git a/data/mapHeaders/CeladonMart2F.asm b/data/mapHeaders/CeladonMart2F.asm deleted file mode 100755 index ff39a08c..00000000 --- a/data/mapHeaders/CeladonMart2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMart2F_h:: - db LOBBY ; tileset - db CELADON_MART_2F_HEIGHT, CELADON_MART_2F_WIDTH ; dimensions (y, x) - dw CeladonMart2F_Blocks ; blocks - dw CeladonMart2F_TextPointers ; texts - dw CeladonMart2F_Script ; scripts - db 0 ; connections - dw CeladonMart2F_Object ; objects diff --git a/data/mapHeaders/CeladonMart3F.asm b/data/mapHeaders/CeladonMart3F.asm deleted file mode 100755 index 2bdd384f..00000000 --- a/data/mapHeaders/CeladonMart3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMart3F_h:: - db LOBBY ; tileset - db CELADON_MART_3F_HEIGHT, CELADON_MART_3F_WIDTH ; dimensions (y, x) - dw CeladonMart3F_Blocks ; blocks - dw CeladonMart3F_TextPointers ; texts - dw CeladonMart3F_Script ; scripts - db 0 ; connections - dw CeladonMart3F_Object ; objects diff --git a/data/mapHeaders/CeladonMart4F.asm b/data/mapHeaders/CeladonMart4F.asm deleted file mode 100755 index d03bde7a..00000000 --- a/data/mapHeaders/CeladonMart4F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMart4F_h:: - db LOBBY ; tileset - db CELADON_MART_4F_HEIGHT, CELADON_MART_4F_WIDTH ; dimensions (y, x) - dw CeladonMart4F_Blocks ; blocks - dw CeladonMart4F_TextPointers ; texts - dw CeladonMart4F_Script ; scripts - db 0 ; connections - dw CeladonMart4F_Object ; objects diff --git a/data/mapHeaders/CeladonMart5F.asm b/data/mapHeaders/CeladonMart5F.asm deleted file mode 100755 index e0f9c436..00000000 --- a/data/mapHeaders/CeladonMart5F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMart5F_h:: - db LOBBY ; tileset - db CELADON_MART_5F_HEIGHT, CELADON_MART_5F_WIDTH ; dimensions (y, x) - dw CeladonMart5F_Blocks ; blocks - dw CeladonMart5F_TextPointers ; texts - dw CeladonMart5F_Script ; scripts - db 0 ; connections - dw CeladonMart5F_Object ; objects diff --git a/data/mapHeaders/CeladonMartElevator.asm b/data/mapHeaders/CeladonMartElevator.asm deleted file mode 100755 index 391f65fd..00000000 --- a/data/mapHeaders/CeladonMartElevator.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMartElevator_h:: - db LOBBY ; tileset - db CELADON_MART_ELEVATOR_HEIGHT, CELADON_MART_ELEVATOR_WIDTH ; dimensions (y, x) - dw CeladonMartElevator_Blocks ; blocks - dw CeladonMartElevator_TextPointers ; texts - dw CeladonMartElevator_Script ; scripts - db 0 ; connections - dw CeladonMartElevator_Object ; objects diff --git a/data/mapHeaders/CeladonMartRoof.asm b/data/mapHeaders/CeladonMartRoof.asm deleted file mode 100755 index 38f863f1..00000000 --- a/data/mapHeaders/CeladonMartRoof.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMartRoof_h:: - db LOBBY ; tileset - db CELADON_MART_ROOF_HEIGHT, CELADON_MART_ROOF_WIDTH ; dimensions (y, x) - dw CeladonMartRoof_Blocks ; blocks - dw CeladonMartRoof_TextPointers ; texts - dw CeladonMartRoof_Script ; scripts - db 0 ; connections - dw CeladonMartRoof_Object ; objects diff --git a/data/mapHeaders/CeladonPokecenter.asm b/data/mapHeaders/CeladonPokecenter.asm deleted file mode 100755 index 5b945d50..00000000 --- a/data/mapHeaders/CeladonPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonPokecenter_h:: - db POKECENTER ; tileset - db CELADON_POKECENTER_HEIGHT, CELADON_POKECENTER_WIDTH ; dimensions (y, x) - dw CeladonPokecenter_Blocks ; blocks - dw CeladonPokecenter_TextPointers ; texts - dw CeladonPokecenter_Script ; scripts - db 0 ; connections - dw CeladonPokecenter_Object ; objects diff --git a/data/mapHeaders/CeruleanBadgeHouse.asm b/data/mapHeaders/CeruleanBadgeHouse.asm deleted file mode 100755 index eaf77bb7..00000000 --- a/data/mapHeaders/CeruleanBadgeHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanBadgeHouse_h:: - db SHIP ; tileset - db CERULEAN_BADGE_HOUSE_HEIGHT, CERULEAN_BADGE_HOUSE_WIDTH ; dimensions (y, x) - dw CeruleanBadgeHouse_Blocks ; blocks - dw CeruleanBadgeHouse_TextPointers ; texts - dw CeruleanBadgeHouse_Script ; scripts - db 0 ; connections - dw CeruleanBadgeHouse_Object ; objects diff --git a/data/mapHeaders/CeruleanCave1F.asm b/data/mapHeaders/CeruleanCave1F.asm deleted file mode 100755 index 0ab0ecf0..00000000 --- a/data/mapHeaders/CeruleanCave1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanCave1F_h:: - db CAVERN ; tileset - db CERULEAN_CAVE_1F_HEIGHT, CERULEAN_CAVE_1F_WIDTH ; dimensions (y, x) - dw CeruleanCave1F_Blocks ; blocks - dw CeruleanCave1F_TextPointers ; texts - dw CeruleanCave1F_Script ; scripts - db 0 ; connections - dw CeruleanCave1F_Object ; objects diff --git a/data/mapHeaders/CeruleanCave2F.asm b/data/mapHeaders/CeruleanCave2F.asm deleted file mode 100755 index 4002e73a..00000000 --- a/data/mapHeaders/CeruleanCave2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanCave2F_h:: - db CAVERN ; tileset - db CERULEAN_CAVE_2F_HEIGHT, CERULEAN_CAVE_2F_WIDTH ; dimensions (y, x) - dw CeruleanCave2F_Blocks ; blocks - dw CeruleanCave2F_TextPointers ; texts - dw CeruleanCave2F_Script ; scripts - db 0 ; connections - dw CeruleanCave2F_Object ; objects diff --git a/data/mapHeaders/CeruleanCaveB1F.asm b/data/mapHeaders/CeruleanCaveB1F.asm deleted file mode 100755 index e3e9980f..00000000 --- a/data/mapHeaders/CeruleanCaveB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanCaveB1F_h:: - db CAVERN ; tileset - db CERULEAN_CAVE_B1F_HEIGHT, CERULEAN_CAVE_B1F_WIDTH ; dimensions (y, x) - dw CeruleanCaveB1F_Blocks ; blocks - dw CeruleanCaveB1F_TextPointers ; texts - dw CeruleanCaveB1F_Script ; scripts - db 0 ; connections - dw CeruleanCaveB1F_Object ; objects diff --git a/data/mapHeaders/CeruleanCity.asm b/data/mapHeaders/CeruleanCity.asm deleted file mode 100755 index 23206c0a..00000000 --- a/data/mapHeaders/CeruleanCity.asm +++ /dev/null @@ -1,12 +0,0 @@ -CeruleanCity_h:: - db OVERWORLD ; tileset - db CERULEAN_CITY_HEIGHT, CERULEAN_CITY_WIDTH ; dimensions (y, x) - dw CeruleanCity_Blocks ; blocks - dw CeruleanCity_TextPointers ; texts - dw CeruleanCity_Script ; scripts - db NORTH | SOUTH | WEST | EAST ; connections - NORTH_MAP_CONNECTION CERULEAN_CITY, ROUTE_24, 5, 0, Route24_Blocks - SOUTH_MAP_CONNECTION CERULEAN_CITY, ROUTE_5, 5, 0, Route5_Blocks, 1 - WEST_MAP_CONNECTION CERULEAN_CITY, ROUTE_4, 4, 0, Route4_Blocks - EAST_MAP_CONNECTION CERULEAN_CITY, ROUTE_9, 4, 0, Route9_Blocks - dw CeruleanCity_Object ; objects diff --git a/data/mapHeaders/CeruleanGym.asm b/data/mapHeaders/CeruleanGym.asm deleted file mode 100755 index 32bb563f..00000000 --- a/data/mapHeaders/CeruleanGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanGym_h:: - db GYM ; tileset - db CERULEAN_GYM_HEIGHT, CERULEAN_GYM_WIDTH ; dimensions (y, x) - dw CeruleanGym_Blocks ; blocks - dw CeruleanGym_TextPointers ; texts - dw CeruleanGym_Script ; scripts - db 0 ; connections - dw CeruleanGym_Object ; objects diff --git a/data/mapHeaders/CeruleanMart.asm b/data/mapHeaders/CeruleanMart.asm deleted file mode 100755 index 106b664c..00000000 --- a/data/mapHeaders/CeruleanMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanMart_h:: - db MART ; tileset - db CERULEAN_MART_HEIGHT, CERULEAN_MART_WIDTH ; dimensions (y, x) - dw CeruleanMart_Blocks ; blocks - dw CeruleanMart_TextPointers ; texts - dw CeruleanMart_Script ; scripts - db 0 ; connections - dw CeruleanMart_Object ; objects diff --git a/data/mapHeaders/CeruleanPokecenter.asm b/data/mapHeaders/CeruleanPokecenter.asm deleted file mode 100755 index d81c0183..00000000 --- a/data/mapHeaders/CeruleanPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanPokecenter_h:: - db POKECENTER ; tileset - db CERULEAN_POKECENTER_HEIGHT, CERULEAN_POKECENTER_WIDTH ; dimensions (y, x) - dw CeruleanPokecenter_Blocks ; blocks - dw CeruleanPokecenter_TextPointers ; texts - dw CeruleanPokecenter_Script ; scripts - db 0 ; connections - dw CeruleanPokecenter_Object ; objects diff --git a/data/mapHeaders/CeruleanTradeHouse.asm b/data/mapHeaders/CeruleanTradeHouse.asm deleted file mode 100755 index 171586fa..00000000 --- a/data/mapHeaders/CeruleanTradeHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanTradeHouse_h:: - db HOUSE ; tileset - db CERULEAN_TRADE_HOUSE_HEIGHT, CERULEAN_TRADE_HOUSE_WIDTH ; dimensions (y, x) - dw CeruleanTradeHouse_Blocks ; blocks - dw CeruleanTradeHouse_TextPointers ; texts - dw CeruleanTradeHouse_Script ; scripts - db 0 ; connections - dw CeruleanTradeHouse_Object ; objects diff --git a/data/mapHeaders/CeruleanTrashedHouse.asm b/data/mapHeaders/CeruleanTrashedHouse.asm deleted file mode 100755 index b9d53cdb..00000000 --- a/data/mapHeaders/CeruleanTrashedHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanTrashedHouse_h:: - db HOUSE ; tileset - db CERULEAN_TRASHED_HOUSE_HEIGHT, CERULEAN_TRASHED_HOUSE_WIDTH ; dimensions (y, x) - dw CeruleanTrashedHouse_Blocks ; blocks - dw CeruleanTrashedHouse_TextPointers ; texts - dw CeruleanTrashedHouse_Script ; scripts - db 0 ; connections - dw CeruleanTrashedHouse_Object ; objects diff --git a/data/mapHeaders/ChampionsRoom.asm b/data/mapHeaders/ChampionsRoom.asm deleted file mode 100755 index c6794804..00000000 --- a/data/mapHeaders/ChampionsRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -ChampionsRoom_h:: - db GYM ; tileset - db CHAMPIONS_ROOM_HEIGHT, CHAMPIONS_ROOM_WIDTH ; dimensions (y, x) - dw ChampionsRoom_Blocks ; blocks - dw ChampionsRoom_TextPointers ; texts - dw ChampionsRoom_Script ; scripts - db $0 ; connections - dw ChampionsRoom_Object ; objects diff --git a/data/mapHeaders/CinnabarGym.asm b/data/mapHeaders/CinnabarGym.asm deleted file mode 100755 index 96154af7..00000000 --- a/data/mapHeaders/CinnabarGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarGym_h:: - db FACILITY ; tileset - db CINNABAR_GYM_HEIGHT, CINNABAR_GYM_WIDTH ; dimensions (y, x) - dw CinnabarGym_Blocks ; blocks - dw CinnabarGym_TextPointers ; texts - dw CinnabarGym_Script ; scripts - db 0 ; connections - dw CinnabarGym_Object ; objects diff --git a/data/mapHeaders/CinnabarIsland.asm b/data/mapHeaders/CinnabarIsland.asm deleted file mode 100755 index 3489fe3c..00000000 --- a/data/mapHeaders/CinnabarIsland.asm +++ /dev/null @@ -1,10 +0,0 @@ -CinnabarIsland_h:: - db OVERWORLD ; tileset - db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; dimensions (y, x) - dw CinnabarIsland_Blocks ; blocks - dw CinnabarIsland_TextPointers ; texts - dw CinnabarIsland_Script ; scripts - db NORTH | EAST ; connections - NORTH_MAP_CONNECTION CINNABAR_ISLAND, ROUTE_21, 0, 0, Route21_Blocks - EAST_MAP_CONNECTION CINNABAR_ISLAND, ROUTE_20, 0, 0, Route20_Blocks - dw CinnabarIsland_Object ; objects diff --git a/data/mapHeaders/CinnabarLab.asm b/data/mapHeaders/CinnabarLab.asm deleted file mode 100755 index ffa3a037..00000000 --- a/data/mapHeaders/CinnabarLab.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarLab_h:: - db LAB ; tileset - db CINNABAR_LAB_HEIGHT, CINNABAR_LAB_WIDTH ; dimensions (y, x) - dw CinnabarLab_Blocks ; blocks - dw CinnabarLab_TextPointers ; texts - dw CinnabarLab_Script ; scripts - db 0 ; connections - dw CinnabarLab_Object ; objects diff --git a/data/mapHeaders/CinnabarLabFossilRoom.asm b/data/mapHeaders/CinnabarLabFossilRoom.asm deleted file mode 100755 index 8e833f70..00000000 --- a/data/mapHeaders/CinnabarLabFossilRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarLabFossilRoom_h:: - db LAB ; tileset - db CINNABAR_LAB_FOSSIL_ROOM_HEIGHT, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; dimensions (y, x) - dw CinnabarLabFossilRoom_Blocks ; blocks - dw CinnabarLabFossilRoom_TextPointers ; texts - dw CinnabarLabFossilRoom_Script ; scripts - db 0 ; connections - dw CinnabarLabFossilRoom_Object ; objects diff --git a/data/mapHeaders/CinnabarLabMetronomeRoom.asm b/data/mapHeaders/CinnabarLabMetronomeRoom.asm deleted file mode 100755 index 35169504..00000000 --- a/data/mapHeaders/CinnabarLabMetronomeRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarLabMetronomeRoom_h:: - db LAB ; tileset - db CINNABAR_LAB_METRONOME_ROOM_HEIGHT, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; dimensions (y, x) - dw CinnabarLabMetronomeRoom_Blocks ; blocks - dw CinnabarLabMetronomeRoom_TextPointers ; texts - dw CinnabarLabMetronomeRoom_Script ; scripts - db 0 ; connections - dw CinnabarLabMetronomeRoom_Object ; objects diff --git a/data/mapHeaders/CinnabarLabTradeRoom.asm b/data/mapHeaders/CinnabarLabTradeRoom.asm deleted file mode 100755 index a18e6eed..00000000 --- a/data/mapHeaders/CinnabarLabTradeRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarLabTradeRoom_h:: - db LAB ; tileset - db CINNABAR_LAB_TRADE_ROOM_HEIGHT, CINNABAR_LAB_TRADE_ROOM_WIDTH ; dimensions (y, x) - dw CinnabarLabTradeRoom_Blocks ; blocks - dw CinnabarLabTradeRoom_TextPointers ; texts - dw CinnabarLabTradeRoom_Script ; scripts - db 0 ; connections - dw CinnabarLabTradeRoom_Object ; objects diff --git a/data/mapHeaders/CinnabarMart.asm b/data/mapHeaders/CinnabarMart.asm deleted file mode 100755 index aac1c69f..00000000 --- a/data/mapHeaders/CinnabarMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarMart_h:: - db MART ; tileset - db CINNABAR_MART_HEIGHT, CINNABAR_MART_WIDTH ; dimensions (y, x) - dw CinnabarMart_Blocks ; blocks - dw CinnabarMart_TextPointers ; texts - dw CinnabarMart_Script ; scripts - db 0 ; connections - dw CinnabarMart_Object ; objects diff --git a/data/mapHeaders/CinnabarPokecenter.asm b/data/mapHeaders/CinnabarPokecenter.asm deleted file mode 100755 index d9ade14c..00000000 --- a/data/mapHeaders/CinnabarPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarPokecenter_h:: - db POKECENTER ; tileset - db CINNABAR_POKECENTER_HEIGHT, CINNABAR_POKECENTER_WIDTH ; dimensions (y, x) - dw CinnabarPokecenter_Blocks ; blocks - dw CinnabarPokecenter_TextPointers ; texts - dw CinnabarPokecenter_Script ; scripts - db 0 ; connections - dw CinnabarPokecenter_Object ; objects diff --git a/data/mapHeaders/Colosseum.asm b/data/mapHeaders/Colosseum.asm deleted file mode 100755 index 3375e0f1..00000000 --- a/data/mapHeaders/Colosseum.asm +++ /dev/null @@ -1,8 +0,0 @@ -Colosseum_h:: - db CLUB ; tileset - db COLOSSEUM_HEIGHT, COLOSSEUM_WIDTH ; dimensions (y, x) - dw Colosseum_Blocks ; blocks - dw Colosseum_TextPointers ; texts - dw Colosseum_Script ; scripts - db 0 ; connections - dw Colosseum_Object ; objects diff --git a/data/mapHeaders/CopycatsHouse1F.asm b/data/mapHeaders/CopycatsHouse1F.asm deleted file mode 100755 index b68728ae..00000000 --- a/data/mapHeaders/CopycatsHouse1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CopycatsHouse1F_h:: - db REDS_HOUSE_1 ; tileset - db COPYCATS_HOUSE_1F_HEIGHT, COPYCATS_HOUSE_1F_WIDTH ; dimensions (y, x) - dw CopycatsHouse1F_Blocks ; blocks - dw CopycatsHouse1F_TextPointers ; texts - dw CopycatsHouse1F_Script ; scripts - db 0 ; connections - dw CopycatsHouse1F_Object ; objects diff --git a/data/mapHeaders/CopycatsHouse2F.asm b/data/mapHeaders/CopycatsHouse2F.asm deleted file mode 100755 index 1c7d9af9..00000000 --- a/data/mapHeaders/CopycatsHouse2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CopycatsHouse2F_h:: - db REDS_HOUSE_2 ; tileset - db COPYCATS_HOUSE_2F_HEIGHT, COPYCATS_HOUSE_2F_WIDTH ; dimensions (y, x) - dw CopycatsHouse2F_Blocks ; blocks - dw CopycatsHouse2F_TextPointers ; texts - dw CopycatsHouse2F_Script ; scripts - db 0 ; connections - dw CopycatsHouse2F_Object ; objects diff --git a/data/mapHeaders/Daycare.asm b/data/mapHeaders/Daycare.asm deleted file mode 100755 index 4f2e41e7..00000000 --- a/data/mapHeaders/Daycare.asm +++ /dev/null @@ -1,8 +0,0 @@ -Daycare_h:: - db HOUSE ; tileset - db DAYCARE_HEIGHT, DAYCARE_WIDTH ; dimensions (y, x) - dw Daycare_Blocks ; blocks - dw Daycare_TextPointers ; texts - dw Daycare_Script ; scripts - db 0 ; connections - dw Daycare_Object ; objects diff --git a/data/mapHeaders/DiglettsCave.asm b/data/mapHeaders/DiglettsCave.asm deleted file mode 100755 index 9742d306..00000000 --- a/data/mapHeaders/DiglettsCave.asm +++ /dev/null @@ -1,8 +0,0 @@ -DiglettsCave_h:: - db CAVERN ; tileset - db DIGLETTS_CAVE_HEIGHT, DIGLETTS_CAVE_WIDTH ; dimensions (y, x) - dw DiglettsCave_Blocks ; blocks - dw DiglettsCave_TextPointers ; texts - dw DiglettsCave_Script ; scripts - db 0 ; connections - dw DiglettsCave_Object ; objects diff --git a/data/mapHeaders/DiglettsCaveRoute11.asm b/data/mapHeaders/DiglettsCaveRoute11.asm deleted file mode 100755 index ac9082ed..00000000 --- a/data/mapHeaders/DiglettsCaveRoute11.asm +++ /dev/null @@ -1,8 +0,0 @@ -DiglettsCaveRoute11_h:: - db CAVERN ; tileset - db DIGLETTS_CAVE_ROUTE_11_HEIGHT, DIGLETTS_CAVE_ROUTE_11_WIDTH ; dimensions (y, x) - dw DiglettsCaveRoute11_Blocks ; blocks - dw DiglettsCaveRoute11_TextPointers ; texts - dw DiglettsCaveRoute11_Script ; scripts - db 0 ; connections - dw DiglettsCaveRoute11_Object ; objects diff --git a/data/mapHeaders/DiglettsCaveRoute2.asm b/data/mapHeaders/DiglettsCaveRoute2.asm deleted file mode 100755 index 1279e89f..00000000 --- a/data/mapHeaders/DiglettsCaveRoute2.asm +++ /dev/null @@ -1,8 +0,0 @@ -DiglettsCaveRoute2_h:: - db CAVERN ; tileset - db DIGLETTS_CAVE_ROUTE_2_HEIGHT, DIGLETTS_CAVE_ROUTE_2_WIDTH ; dimensions (y, x) - dw DiglettsCaveRoute2_Blocks ; blocks - dw DiglettsCaveRoute2_TextPointers ; texts - dw DiglettsCaveRoute2_Script ; scripts - db 0 ; connections - dw DiglettsCaveRoute2_Object ; objects diff --git a/data/mapHeaders/FightingDojo.asm b/data/mapHeaders/FightingDojo.asm deleted file mode 100755 index da8a589a..00000000 --- a/data/mapHeaders/FightingDojo.asm +++ /dev/null @@ -1,8 +0,0 @@ -FightingDojo_h:: - db DOJO ; tileset - db FIGHTING_DOJO_HEIGHT, FIGHTING_DOJO_WIDTH ; dimensions (y, x) - dw FightingDojo_Blocks ; blocks - dw FightingDojo_TextPointers ; texts - dw FightingDojo_Script ; scripts - db 0 ; connections - dw FightingDojo_Object ; objects diff --git a/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm b/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm deleted file mode 100755 index cbef462c..00000000 --- a/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -FuchsiaBillsGrandpasHouse_h:: - db HOUSE ; tileset - db FUCHSIA_BILLS_GRANDPAS_HOUSE_HEIGHT, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH ; dimensions (y, x) - dw FuchsiaBillsGrandpasHouse_Blocks ; blocks - dw FuchsiaBillsGrandpasHouse_TextPointers ; texts - dw FuchsiaBillsGrandpasHouse_Script ; scripts - db 0 ; connections - dw FuchsiaBillsGrandpasHouse_Object ; objects diff --git a/data/mapHeaders/FuchsiaCity.asm b/data/mapHeaders/FuchsiaCity.asm deleted file mode 100755 index 1b247678..00000000 --- a/data/mapHeaders/FuchsiaCity.asm +++ /dev/null @@ -1,11 +0,0 @@ -FuchsiaCity_h:: - db OVERWORLD ; tileset - db FUCHSIA_CITY_HEIGHT, FUCHSIA_CITY_WIDTH ; dimensions (y, x) - dw FuchsiaCity_Blocks ; blocks - dw FuchsiaCity_TextPointers ; texts - dw FuchsiaCity_Script ; scripts - db SOUTH | WEST | EAST ; connections - SOUTH_MAP_CONNECTION FUCHSIA_CITY, ROUTE_19, 5, 0, Route19_Blocks - WEST_MAP_CONNECTION FUCHSIA_CITY, ROUTE_18, 4, 0, Route18_Blocks - EAST_MAP_CONNECTION FUCHSIA_CITY, ROUTE_15, 4, 0, Route15_Blocks - dw FuchsiaCity_Object ; objects diff --git a/data/mapHeaders/FuchsiaGoodRodHouse.asm b/data/mapHeaders/FuchsiaGoodRodHouse.asm deleted file mode 100755 index fd2e36b4..00000000 --- a/data/mapHeaders/FuchsiaGoodRodHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -FuchsiaGoodRodHouse_h:: - db SHIP ; tileset - db FUCHSIA_GOOD_ROD_HOUSE_HEIGHT, FUCHSIA_GOOD_ROD_HOUSE_WIDTH ; dimensions (y, x) - dw FuchsiaGoodRodHouse_Blocks ; blocks - dw FuchsiaGoodRodHouse_TextPointers ; texts - dw FuchsiaGoodRodHouse_Script ; scripts - db 0 ; connections - dw FuchsiaGoodRodHouse_Object ; objects diff --git a/data/mapHeaders/FuchsiaGym.asm b/data/mapHeaders/FuchsiaGym.asm deleted file mode 100755 index ffc5c0fe..00000000 --- a/data/mapHeaders/FuchsiaGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -FuchsiaGym_h:: - db GYM ; tileset - db FUCHSIA_GYM_HEIGHT, FUCHSIA_GYM_WIDTH ; dimensions (y, x) - dw FuchsiaGym_Blocks ; blocks - dw FuchsiaGym_TextPointers ; texts - dw FuchsiaGym_Script ; scripts - db 0 ; connections - dw FuchsiaGym_Object ; objects diff --git a/data/mapHeaders/FuchsiaMart.asm b/data/mapHeaders/FuchsiaMart.asm deleted file mode 100755 index b9c0d938..00000000 --- a/data/mapHeaders/FuchsiaMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -FuchsiaMart_h:: - db MART ; tileset - db FUCHSIA_MART_HEIGHT, FUCHSIA_MART_WIDTH ; dimensions (y, x) - dw FuchsiaMart_Blocks ; blocks - dw FuchsiaMart_TextPointers ; texts - dw FuchsiaMart_Script ; scripts - db 0 ; connections - dw FuchsiaMart_Object ; objects diff --git a/data/mapHeaders/FuchsiaMeetingRoom.asm b/data/mapHeaders/FuchsiaMeetingRoom.asm deleted file mode 100755 index a3198eea..00000000 --- a/data/mapHeaders/FuchsiaMeetingRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -FuchsiaMeetingRoom_h:: - db LAB ; tileset - db FUCHSIA_MEETING_ROOM_HEIGHT, FUCHSIA_MEETING_ROOM_WIDTH ; dimensions (y, x) - dw FuchsiaMeetingRoom_Blocks ; blocks - dw FuchsiaMeetingRoom_TextPointers ; texts - dw FuchsiaMeetingRoom_Script ; scripts - db 0 ; connections - dw FuchsiaMeetingRoom_Object ; objects diff --git a/data/mapHeaders/FuchsiaPokecenter.asm b/data/mapHeaders/FuchsiaPokecenter.asm deleted file mode 100755 index beea4fc2..00000000 --- a/data/mapHeaders/FuchsiaPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -FuchsiaPokecenter_h:: - db POKECENTER ; tileset - db FUCHSIA_POKECENTER_HEIGHT, FUCHSIA_POKECENTER_WIDTH ; dimensions (y, x) - dw FuchsiaPokecenter_Blocks ; blocks - dw FuchsiaPokecenter_TextPointers ; texts - dw FuchsiaPokecenter_Script ; scripts - db 0 ; connections - dw FuchsiaPokecenter_Object ; objects diff --git a/data/mapHeaders/GameCorner.asm b/data/mapHeaders/GameCorner.asm deleted file mode 100755 index 6965e276..00000000 --- a/data/mapHeaders/GameCorner.asm +++ /dev/null @@ -1,8 +0,0 @@ -GameCorner_h:: - db LOBBY ; tileset - db GAME_CORNER_HEIGHT, GAME_CORNER_WIDTH ; dimensions (y, x) - dw GameCorner_Blocks ; blocks - dw GameCorner_TextPointers ; texts - dw GameCorner_Script ; scripts - db 0 ; connections - dw GameCorner_Object ; objects diff --git a/data/mapHeaders/GameCornerPrizeRoom.asm b/data/mapHeaders/GameCornerPrizeRoom.asm deleted file mode 100755 index 035f1112..00000000 --- a/data/mapHeaders/GameCornerPrizeRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -GameCornerPrizeRoom_h:: - db LOBBY ; tileset - db GAME_CORNER_PRIZE_ROOM_HEIGHT, GAME_CORNER_PRIZE_ROOM_WIDTH ; dimensions (y, x) - dw GameCornerPrizeRoom_Blocks ; blocks - dw GameCornerPrizeRoom_TextPointers ; texts - dw GameCornerPrizeRoom_Script ; scripts - db 0 ; connections - dw GameCornerPrizeRoom_Object ; objects diff --git a/data/mapHeaders/HallOfFame.asm b/data/mapHeaders/HallOfFame.asm deleted file mode 100755 index 7752ddb5..00000000 --- a/data/mapHeaders/HallOfFame.asm +++ /dev/null @@ -1,8 +0,0 @@ -HallOfFame_h:: - db GYM ; tileset - db HALL_OF_FAME_HEIGHT, HALL_OF_FAME_WIDTH ; dimensions (y, x) - dw HallOfFame_Blocks ; blocks - dw HallOfFame_TextPointers ; texts - dw HallOfFame_Script ; scripts - db 0 ; connections - dw HallOfFame_Object ; objects diff --git a/data/mapHeaders/IndigoPlateau.asm b/data/mapHeaders/IndigoPlateau.asm deleted file mode 100755 index b5dcf3de..00000000 --- a/data/mapHeaders/IndigoPlateau.asm +++ /dev/null @@ -1,9 +0,0 @@ -IndigoPlateau_h:: - db PLATEAU ; tileset - db INDIGO_PLATEAU_HEIGHT, INDIGO_PLATEAU_WIDTH ; dimensions (y, x) - dw IndigoPlateau_Blocks ; blocks - dw IndigoPlateau_TextPointers ; texts - dw IndigoPlateau_Script ; scripts - db SOUTH ; connections - SOUTH_MAP_CONNECTION INDIGO_PLATEAU, ROUTE_23, 0, 0, Route23_Blocks - dw IndigoPlateau_Object ; objects diff --git a/data/mapHeaders/IndigoPlateauLobby.asm b/data/mapHeaders/IndigoPlateauLobby.asm deleted file mode 100755 index dc32f7d1..00000000 --- a/data/mapHeaders/IndigoPlateauLobby.asm +++ /dev/null @@ -1,8 +0,0 @@ -IndigoPlateauLobby_h:: - db MART ; tileset - db INDIGO_PLATEAU_LOBBY_HEIGHT, INDIGO_PLATEAU_LOBBY_WIDTH ; dimensions (y, x) - dw IndigoPlateauLobby_Blocks ; blocks - dw IndigoPlateauLobby_TextPointers ; texts - dw IndigoPlateauLobby_Script ; scripts - db 0 ; connections - dw IndigoPlateauLobby_Object ; objects diff --git a/data/mapHeaders/LancesRoom.asm b/data/mapHeaders/LancesRoom.asm deleted file mode 100755 index 5373f010..00000000 --- a/data/mapHeaders/LancesRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -LancesRoom_h:: - db DOJO ; tileset - db LANCES_ROOM_HEIGHT, LANCES_ROOM_WIDTH ; dimensions (y, x) - dw LancesRoom_Blocks ; blocks - dw LancesRoom_TextPointers ; texts - dw LancesRoom_Script ; scripts - db 0 ; connections - dw LancesRoom_Object ; objects diff --git a/data/mapHeaders/LavenderCuboneHouse.asm b/data/mapHeaders/LavenderCuboneHouse.asm deleted file mode 100755 index 6d883655..00000000 --- a/data/mapHeaders/LavenderCuboneHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -LavenderCuboneHouse_h:: - db HOUSE ; tileset - db LAVENDER_CUBONE_HOUSE_HEIGHT, LAVENDER_CUBONE_HOUSE_WIDTH ; dimensions (y, x) - dw LavenderCuboneHouse_Blocks ; blocks - dw LavenderCuboneHouse_TextPointers ; texts - dw LavenderCuboneHouse_Script ; scripts - db 0 ; connections - dw LavenderCuboneHouse_Object ; objects diff --git a/data/mapHeaders/LavenderMart.asm b/data/mapHeaders/LavenderMart.asm deleted file mode 100755 index 500287b4..00000000 --- a/data/mapHeaders/LavenderMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -LavenderMart_h:: - db MART ; tileset - db LAVENDER_MART_HEIGHT, LAVENDER_MART_WIDTH ; dimensions (y, x) - dw LavenderMart_Blocks ; blocks - dw LavenderMart_TextPointers ; texts - dw LavenderMart_Script ; scripts - db 0 ; connections - dw LavenderMart_Object ; objects diff --git a/data/mapHeaders/LavenderPokecenter.asm b/data/mapHeaders/LavenderPokecenter.asm deleted file mode 100755 index 2c87b401..00000000 --- a/data/mapHeaders/LavenderPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -LavenderPokecenter_h:: - db POKECENTER ; tileset - db LAVENDER_POKECENTER_HEIGHT, LAVENDER_POKECENTER_WIDTH ; dimensions (y, x) - dw LavenderPokecenter_Blocks ; blocks - dw LavenderPokecenter_TextPointers ; texts - dw LavenderPokecenter_Script ; scripts - db 0 ; connections - dw LavenderPokecenter_Object ; objects diff --git a/data/mapHeaders/LavenderTown.asm b/data/mapHeaders/LavenderTown.asm deleted file mode 100755 index 67a88189..00000000 --- a/data/mapHeaders/LavenderTown.asm +++ /dev/null @@ -1,11 +0,0 @@ -LavenderTown_h:: - db OVERWORLD ; tileset - db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; dimensions (y, x) - dw LavenderTown_Blocks ; blocks - dw LavenderTown_TextPointers ; texts - dw LavenderTown_Script ; scripts - db NORTH | SOUTH | WEST ; connections - NORTH_MAP_CONNECTION LAVENDER_TOWN, ROUTE_10, 0, 0, Route10_Blocks - SOUTH_MAP_CONNECTION LAVENDER_TOWN, ROUTE_12, 0, 0, Route12_Blocks, 1 - WEST_MAP_CONNECTION LAVENDER_TOWN, ROUTE_8, 0, 0, Route8_Blocks - dw LavenderTown_Object ; objects diff --git a/data/mapHeaders/LoreleisRoom.asm b/data/mapHeaders/LoreleisRoom.asm deleted file mode 100755 index d580d9fe..00000000 --- a/data/mapHeaders/LoreleisRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -LoreleisRoom_h:: - db GYM ; tileset - db LORELEIS_ROOM_HEIGHT, LORELEIS_ROOM_WIDTH ; dimensions (y, x) - dw LoreleisRoom_Blocks ; blocks - dw LoreleisRoom_TextPointers ; texts - dw LoreleisRoom_Script ; scripts - db 0 ; connections - dw LoreleisRoom_Object ; objects diff --git a/data/mapHeaders/MrFujisHouse.asm b/data/mapHeaders/MrFujisHouse.asm deleted file mode 100755 index ee82e49c..00000000 --- a/data/mapHeaders/MrFujisHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -MrFujisHouse_h:: - db HOUSE ; tileset - db MR_FUJIS_HOUSE_HEIGHT, MR_FUJIS_HOUSE_WIDTH ; dimensions (y, x) - dw MrFujisHouse_Blocks ; blocks - dw MrFujisHouse_TextPointers ; texts - dw MrFujisHouse_Script ; scripts - db 0 ; connections - dw MrFujisHouse_Object ; objects diff --git a/data/mapHeaders/MrPsychicsHouse.asm b/data/mapHeaders/MrPsychicsHouse.asm deleted file mode 100755 index ec559ec7..00000000 --- a/data/mapHeaders/MrPsychicsHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -MrPsychicsHouse_h:: - db HOUSE ; tileset - db MR_PSYCHICS_HOUSE_HEIGHT, MR_PSYCHICS_HOUSE_WIDTH ; dimensions (y, x) - dw MrPsychicsHouse_Blocks ; blocks - dw MrPsychicsHouse_TextPointers ; texts - dw MrPsychicsHouse_Script ; scripts - db 0 ; connections - dw MrPsychicsHouse_Object ; objects diff --git a/data/mapHeaders/MtMoon1F.asm b/data/mapHeaders/MtMoon1F.asm deleted file mode 100755 index 37c0ba59..00000000 --- a/data/mapHeaders/MtMoon1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -MtMoon1F_h:: - db CAVERN ; tileset - db MT_MOON_1F_HEIGHT, MT_MOON_1F_WIDTH ; dimensions (y, x) - dw MtMoon1F_Blocks ; blocks - dw MtMoon1F_TextPointers ; texts - dw MtMoon1F_Script ; scripts - db 0 ; connections - dw MtMoon1F_Object ; objects diff --git a/data/mapHeaders/MtMoonB1F.asm b/data/mapHeaders/MtMoonB1F.asm deleted file mode 100755 index c14d35d0..00000000 --- a/data/mapHeaders/MtMoonB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -MtMoonB1F_h:: - db CAVERN ; tileset - db MT_MOON_B1F_HEIGHT, MT_MOON_B1F_WIDTH ; dimensions (y, x) - dw MtMoonB1F_Blocks ; blocks - dw MtMoonB1F_TextPointers ; texts - dw MtMoonB1F_Script ; scripts - db 0 ; connections - dw MtMoonB1F_Object ; objects diff --git a/data/mapHeaders/MtMoonB2F.asm b/data/mapHeaders/MtMoonB2F.asm deleted file mode 100755 index cce8454b..00000000 --- a/data/mapHeaders/MtMoonB2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -MtMoonB2F_h:: - db CAVERN ; tileset - db MT_MOON_B2F_HEIGHT, MT_MOON_B2F_WIDTH ; dimensions (y, x) - dw MtMoonB2F_Blocks ; blocks - dw MtMoonB2F_TextPointers ; texts - dw MtMoonB2F_Script ; scripts - db 0 ; connections - dw MtMoonB2F_Object ; objects diff --git a/data/mapHeaders/MtMoonPokecenter.asm b/data/mapHeaders/MtMoonPokecenter.asm deleted file mode 100755 index 31f7ec7a..00000000 --- a/data/mapHeaders/MtMoonPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -MtMoonPokecenter_h:: - db POKECENTER ; tileset - db MT_MOON_POKECENTER_HEIGHT, MT_MOON_POKECENTER_WIDTH ; dimensions (y, x) - dw MtMoonPokecenter_Blocks ; blocks - dw MtMoonPokecenter_TextPointers ; texts - dw MtMoonPokecenter_Script ; scripts - db 0 ; connections - dw MtMoonPokecenter_Object ; objects diff --git a/data/mapHeaders/Museum1F.asm b/data/mapHeaders/Museum1F.asm deleted file mode 100755 index f0c967aa..00000000 --- a/data/mapHeaders/Museum1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Museum1F_h:: - db MUSEUM ; tileset - db MUSEUM_1F_HEIGHT, MUSEUM_1F_WIDTH ; dimensions (y, x) - dw Museum1F_Blocks ; blocks - dw Museum1F_TextPointers ; texts - dw Museum1F_Script ; scripts - db 0 ; connections - dw Museum1F_Object ; objects diff --git a/data/mapHeaders/Museum2F.asm b/data/mapHeaders/Museum2F.asm deleted file mode 100755 index 9ab38801..00000000 --- a/data/mapHeaders/Museum2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Museum2F_h:: - db MUSEUM ; tileset - db MUSEUM_2F_HEIGHT, MUSEUM_2F_WIDTH ; dimensions (y, x) - dw Museum2F_Blocks ; blocks - dw Museum2F_TextPointers ; texts - dw Museum2F_Script ; scripts - db 0 ; connections - dw Museum2F_Object ; objects diff --git a/data/mapHeaders/NameRatersHouse.asm b/data/mapHeaders/NameRatersHouse.asm deleted file mode 100755 index a727b334..00000000 --- a/data/mapHeaders/NameRatersHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -NameRatersHouse_h:: - db HOUSE ; tileset - db NAME_RATERS_HOUSE_HEIGHT, NAME_RATERS_HOUSE_WIDTH ; dimensions (y, x) - dw NameRatersHouse_Blocks ; blocks - dw NameRatersHouse_TextPointers ; texts - dw NameRatersHouse_Script ; scripts - db 0 ; connections - dw NameRatersHouse_Object ; objects diff --git a/data/mapHeaders/OaksLab.asm b/data/mapHeaders/OaksLab.asm deleted file mode 100755 index ceee34eb..00000000 --- a/data/mapHeaders/OaksLab.asm +++ /dev/null @@ -1,8 +0,0 @@ -OaksLab_h:: - db DOJO ; tileset - db OAKS_LAB_HEIGHT, OAKS_LAB_WIDTH ; dimensions (y, x) - dw OaksLab_Blocks ; blocks - dw OaksLab_TextPointers ; texts - dw OaksLab_Script ; scripts - db 0 ; connections - dw OaksLab_Object ; objects diff --git a/data/mapHeaders/PalletTown.asm b/data/mapHeaders/PalletTown.asm deleted file mode 100755 index 72d138e7..00000000 --- a/data/mapHeaders/PalletTown.asm +++ /dev/null @@ -1,10 +0,0 @@ -PalletTown_h:: - db OVERWORLD ; tileset - db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH ; dimensions (y, x) - dw PalletTown_Blocks ; blocks - dw PalletTown_TextPointers ; texts - dw PalletTown_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION PALLET_TOWN, ROUTE_1, 0, 0, Route1_Blocks - SOUTH_MAP_CONNECTION PALLET_TOWN, ROUTE_21, 0, 0, Route21_Blocks, 1 - dw PalletTown_Object ; objects diff --git a/data/mapHeaders/PewterCity.asm b/data/mapHeaders/PewterCity.asm deleted file mode 100755 index 17d1d2f3..00000000 --- a/data/mapHeaders/PewterCity.asm +++ /dev/null @@ -1,10 +0,0 @@ -PewterCity_h:: - db OVERWORLD ; tileset - db PEWTER_CITY_HEIGHT, PEWTER_CITY_WIDTH ; dimensions (y, x) - dw PewterCity_Blocks ; blocks - dw PewterCity_TextPointers ; texts - dw PewterCity_Script ; scripts - db SOUTH | EAST ; connections - SOUTH_MAP_CONNECTION PEWTER_CITY, ROUTE_2, 5, 0, Route2_Blocks - EAST_MAP_CONNECTION PEWTER_CITY, ROUTE_3, 4, 0, Route3_Blocks - dw PewterCity_Object ; objects diff --git a/data/mapHeaders/PewterGym.asm b/data/mapHeaders/PewterGym.asm deleted file mode 100755 index 94cdd401..00000000 --- a/data/mapHeaders/PewterGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -PewterGym_h:: - db GYM ; tileset - db PEWTER_GYM_HEIGHT, PEWTER_GYM_WIDTH ; dimensions (y, x) - dw PewterGym_Blocks ; blocks - dw PewterGym_TextPointers ; texts - dw PewterGym_Script ; scripts - db 0 ; connections - dw PewterGym_Object ; objects diff --git a/data/mapHeaders/PewterMart.asm b/data/mapHeaders/PewterMart.asm deleted file mode 100755 index 962634f4..00000000 --- a/data/mapHeaders/PewterMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -PewterMart_h:: - db MART ; tileset - db PEWTER_MART_HEIGHT, PEWTER_MART_WIDTH ; dimensions (y, x) - dw PewterMart_Blocks ; blocks - dw PewterMart_TextPointers ; texts - dw PewterMart_Script ; scripts - db 0 ; connections - dw PewterMart_Object ; objects diff --git a/data/mapHeaders/PewterNidoranHouse.asm b/data/mapHeaders/PewterNidoranHouse.asm deleted file mode 100755 index 9900360b..00000000 --- a/data/mapHeaders/PewterNidoranHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -PewterNidoranHouse_h:: - db HOUSE ; tileset - db PEWTER_NIDORAN_HOUSE_HEIGHT, PEWTER_NIDORAN_HOUSE_WIDTH ; dimensions (y, x) - dw PewterNidoranHouse_Blocks ; blocks - dw PewterNidoranHouse_TextPointers ; texts - dw PewterNidoranHouse_Script ; scripts - db 0 ; connections - dw PewterNidoranHouse_Object ; objects diff --git a/data/mapHeaders/PewterPokecenter.asm b/data/mapHeaders/PewterPokecenter.asm deleted file mode 100755 index 5738cb64..00000000 --- a/data/mapHeaders/PewterPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -PewterPokecenter_h:: - db POKECENTER ; tileset - db PEWTER_POKECENTER_HEIGHT, PEWTER_POKECENTER_WIDTH ; dimensions (y, x) - dw PewterPokecenter_Blocks ; blocks - dw PewterPokecenter_TextPointers ; texts - dw PewterPokecenter_Script ; scripts - db 0 ; connections - dw PewterPokecenter_Object ; objects diff --git a/data/mapHeaders/PewterSpeechHouse.asm b/data/mapHeaders/PewterSpeechHouse.asm deleted file mode 100755 index 9cc2d360..00000000 --- a/data/mapHeaders/PewterSpeechHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -PewterSpeechHouse_h:: - db HOUSE ; tileset - db PEWTER_SPEECH_HOUSE_HEIGHT, PEWTER_SPEECH_HOUSE_WIDTH ; dimensions (y, x) - dw PewterSpeechHouse_Blocks ; blocks - dw PewterSpeechHouse_TextPointers ; texts - dw PewterSpeechHouse_Script ; scripts - db 0 ; connections - dw PewterSpeechHouse_Object ; objects diff --git a/data/mapHeaders/PokemonFanClub.asm b/data/mapHeaders/PokemonFanClub.asm deleted file mode 100755 index 251ac2c4..00000000 --- a/data/mapHeaders/PokemonFanClub.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonFanClub_h:: - db INTERIOR ; tileset - db POKEMON_FAN_CLUB_HEIGHT, POKEMON_FAN_CLUB_WIDTH ; dimensions (y, x) - dw PokemonFanClub_Blocks ; blocks - dw PokemonFanClub_TextPointers ; texts - dw PokemonFanClub_Script ; scripts - db 0 ; connections - dw PokemonFanClub_Object ; objects diff --git a/data/mapHeaders/PokemonMansion1F.asm b/data/mapHeaders/PokemonMansion1F.asm deleted file mode 100755 index b3bebb5f..00000000 --- a/data/mapHeaders/PokemonMansion1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonMansion1F_h:: - db FACILITY ; tileset - db POKEMON_MANSION_1F_HEIGHT, POKEMON_MANSION_1F_WIDTH ; dimensions (y, x) - dw PokemonMansion1F_Blocks ; blocks - dw PokemonMansion1F_TextPointers ; texts - dw PokemonMansion1F_Script ; scripts - db 0 ; connections - dw PokemonMansion1F_Object ; objects diff --git a/data/mapHeaders/PokemonMansion2F.asm b/data/mapHeaders/PokemonMansion2F.asm deleted file mode 100755 index d532db2a..00000000 --- a/data/mapHeaders/PokemonMansion2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonMansion2F_h:: - db FACILITY ; tileset - db POKEMON_MANSION_2F_HEIGHT, POKEMON_MANSION_2F_WIDTH ; dimensions (y, x) - dw PokemonMansion2F_Blocks ; blocks - dw PokemonMansion2F_TextPointers ; texts - dw PokemonMansion2F_Script ; scripts - db 0 ; connections - dw PokemonMansion2F_Object ; objects diff --git a/data/mapHeaders/PokemonMansion3F.asm b/data/mapHeaders/PokemonMansion3F.asm deleted file mode 100755 index e8887551..00000000 --- a/data/mapHeaders/PokemonMansion3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonMansion3F_h:: - db FACILITY ; tileset - db POKEMON_MANSION_3F_HEIGHT, POKEMON_MANSION_3F_WIDTH ; dimensions (y, x) - dw PokemonMansion3F_Blocks ; blocks - dw PokemonMansion3F_TextPointers ; texts - dw PokemonMansion3F_Script ; scripts - db 0 ; connections - dw PokemonMansion3F_Object ; objects diff --git a/data/mapHeaders/PokemonMansionB1F.asm b/data/mapHeaders/PokemonMansionB1F.asm deleted file mode 100755 index 08ec13f4..00000000 --- a/data/mapHeaders/PokemonMansionB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonMansionB1F_h:: - db FACILITY ; tileset - db POKEMON_MANSION_B1F_HEIGHT, POKEMON_MANSION_B1F_WIDTH ; dimensions (y, x) - dw PokemonMansionB1F_Blocks ; blocks - dw PokemonMansionB1F_TextPointers ; texts - dw PokemonMansionB1F_Script ; scripts - db 0 ; connections - dw PokemonMansionB1F_Object ; objects diff --git a/data/mapHeaders/PokemonTower1F.asm b/data/mapHeaders/PokemonTower1F.asm deleted file mode 100755 index 99b129e8..00000000 --- a/data/mapHeaders/PokemonTower1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower1F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_1F_HEIGHT, POKEMON_TOWER_1F_WIDTH ; dimensions (y, x) - dw PokemonTower1F_Blocks ; blocks - dw PokemonTower1F_TextPointers ; texts - dw PokemonTower1F_Script ; scripts - db 0 ; connections - dw PokemonTower1F_Object ; objects diff --git a/data/mapHeaders/PokemonTower2F.asm b/data/mapHeaders/PokemonTower2F.asm deleted file mode 100755 index ce0ea13d..00000000 --- a/data/mapHeaders/PokemonTower2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower2F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_2F_HEIGHT, POKEMON_TOWER_2F_WIDTH ; dimensions (y, x) - dw PokemonTower2F_Blocks ; blocks - dw PokemonTower2F_TextPointers ; texts - dw PokemonTower2F_Script ; scripts - db 0 ; connections - dw PokemonTower2F_Object ; objects diff --git a/data/mapHeaders/PokemonTower3F.asm b/data/mapHeaders/PokemonTower3F.asm deleted file mode 100755 index a495b30f..00000000 --- a/data/mapHeaders/PokemonTower3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower3F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_3F_HEIGHT, POKEMON_TOWER_3F_WIDTH ; dimensions (y, x) - dw PokemonTower3F_Blocks ; blocks - dw PokemonTower3F_TextPointers ; texts - dw PokemonTower3F_Script ; scripts - db 0 ; connections - dw PokemonTower3F_Object ; objects diff --git a/data/mapHeaders/PokemonTower4F.asm b/data/mapHeaders/PokemonTower4F.asm deleted file mode 100755 index b6932406..00000000 --- a/data/mapHeaders/PokemonTower4F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower4F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_4F_HEIGHT, POKEMON_TOWER_4F_WIDTH ; dimensions (y, x) - dw PokemonTower4F_Blocks ; blocks - dw PokemonTower4F_TextPointers ; texts - dw PokemonTower4F_Script ; scripts - db 0 ; connections - dw PokemonTower4F_Object ; objects diff --git a/data/mapHeaders/PokemonTower5F.asm b/data/mapHeaders/PokemonTower5F.asm deleted file mode 100755 index f51e6990..00000000 --- a/data/mapHeaders/PokemonTower5F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower5F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_5F_HEIGHT, POKEMON_TOWER_5F_WIDTH ; dimensions (y, x) - dw PokemonTower5F_Blocks ; blocks - dw PokemonTower5F_TextPointers ; texts - dw PokemonTower5F_Script ; scripts - db 0 ; connections - dw PokemonTower5F_Object ; objects diff --git a/data/mapHeaders/PokemonTower6F.asm b/data/mapHeaders/PokemonTower6F.asm deleted file mode 100755 index 5fa1a035..00000000 --- a/data/mapHeaders/PokemonTower6F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower6F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_6F_HEIGHT, POKEMON_TOWER_6F_WIDTH ; dimensions (y, x) - dw PokemonTower6F_Blocks ; blocks - dw PokemonTower6F_TextPointers ; texts - dw PokemonTower6F_Script ; scripts - db 0 ; connections - dw PokemonTower6F_Object ; objects diff --git a/data/mapHeaders/PokemonTower7F.asm b/data/mapHeaders/PokemonTower7F.asm deleted file mode 100755 index 90fc1d8b..00000000 --- a/data/mapHeaders/PokemonTower7F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower7F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_7F_HEIGHT, POKEMON_TOWER_7F_WIDTH ; dimensions (y, x) - dw PokemonTower7F_Blocks ; blocks - dw PokemonTower7F_TextPointers ; texts - dw PokemonTower7F_Script ; scripts - db 0 ; connections - dw PokemonTower7F_Object ; objects diff --git a/data/mapHeaders/PowerPlant.asm b/data/mapHeaders/PowerPlant.asm deleted file mode 100755 index 3cb4efcd..00000000 --- a/data/mapHeaders/PowerPlant.asm +++ /dev/null @@ -1,8 +0,0 @@ -PowerPlant_h:: - db FACILITY ; tileset - db POWER_PLANT_HEIGHT, POWER_PLANT_WIDTH ; dimensions (y, x) - dw PowerPlant_Blocks ; blocks - dw PowerPlant_TextPointers ; texts - dw PowerPlant_Script ; scripts - db 0 ; connections - dw PowerPlant_Object ; objects diff --git a/data/mapHeaders/RedsHouse1F.asm b/data/mapHeaders/RedsHouse1F.asm deleted file mode 100755 index b13008ae..00000000 --- a/data/mapHeaders/RedsHouse1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RedsHouse1F_h:: - db REDS_HOUSE_1 ; tileset - db REDS_HOUSE_1F_HEIGHT, REDS_HOUSE_1F_WIDTH ; dimensions (y, x) - dw RedsHouse1F_Blocks ; blocks - dw RedsHouse1F_TextPointers ; texts - dw RedsHouse1F_Script ; scripts - db 0 ; connections - dw RedsHouse1F_Object ; objects diff --git a/data/mapHeaders/RedsHouse2F.asm b/data/mapHeaders/RedsHouse2F.asm deleted file mode 100755 index 8824ebf2..00000000 --- a/data/mapHeaders/RedsHouse2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RedsHouse2F_h:: - db REDS_HOUSE_2 ; tileset - db REDS_HOUSE_2F_HEIGHT, REDS_HOUSE_2F_WIDTH ; dimensions (y, x) - dw RedsHouse2F_Blocks ; blocks - dw RedsHouse2F_TextPointers ; texts - dw RedsHouse2F_Script ; scripts - db $00 ; connections - dw RedsHouse2F_Object ; objects diff --git a/data/mapHeaders/RockTunnel1F.asm b/data/mapHeaders/RockTunnel1F.asm deleted file mode 100755 index 8dd5929b..00000000 --- a/data/mapHeaders/RockTunnel1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RockTunnel1F_h:: - db CAVERN ; tileset - db ROCK_TUNNEL_1F_HEIGHT, ROCK_TUNNEL_1F_WIDTH ; dimensions (y, x) - dw RockTunnel1F_Blocks ; blocks - dw RockTunnel1F_TextPointers ; texts - dw RockTunnel1F_Script ; scripts - db 0 ; connections - dw RockTunnel1F_Object ; objects diff --git a/data/mapHeaders/RockTunnelB1F.asm b/data/mapHeaders/RockTunnelB1F.asm deleted file mode 100755 index 36cd7f37..00000000 --- a/data/mapHeaders/RockTunnelB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RockTunnelB1F_h:: - db CAVERN ; tileset - db ROCK_TUNNEL_B1F_HEIGHT, ROCK_TUNNEL_B1F_WIDTH ; dimensions (y, x) - dw RockTunnelB1F_Blocks ; blocks - dw RockTunnelB1F_TextPointers ; texts - dw RockTunnelB1F_Script ; scripts - db 0 ; connections - dw RockTunnelB1F_Object ; objects diff --git a/data/mapHeaders/RockTunnelPokecenter.asm b/data/mapHeaders/RockTunnelPokecenter.asm deleted file mode 100755 index 3d0bbed0..00000000 --- a/data/mapHeaders/RockTunnelPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -RockTunnelPokecenter_h:: - db POKECENTER ; tileset - db ROCK_TUNNEL_POKECENTER_HEIGHT, ROCK_TUNNEL_POKECENTER_WIDTH ; dimensions (y, x) - dw RockTunnelPokecenter_Blocks ; blocks - dw RockTunnelPokecenter_TextPointers ; texts - dw RockTunnelPokecenter_Script ; scripts - db 0 ; connections - dw RockTunnelPokecenter_Object ; objects diff --git a/data/mapHeaders/RocketHideoutB1F.asm b/data/mapHeaders/RocketHideoutB1F.asm deleted file mode 100755 index 4d875a1b..00000000 --- a/data/mapHeaders/RocketHideoutB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RocketHideoutB1F_h:: - db FACILITY ; tileset - db ROCKET_HIDEOUT_B1F_HEIGHT, ROCKET_HIDEOUT_B1F_WIDTH ; dimensions (y, x) - dw RocketHideoutB1F_Blocks ; blocks - dw RocketHideoutB1F_TextPointers ; texts - dw RocketHideoutB1F_Script ; scripts - db 0 ; connections - dw RocketHideoutB1F_Object ; objects diff --git a/data/mapHeaders/RocketHideoutB2F.asm b/data/mapHeaders/RocketHideoutB2F.asm deleted file mode 100755 index 0d56f2a1..00000000 --- a/data/mapHeaders/RocketHideoutB2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RocketHideoutB2F_h:: - db FACILITY ; tileset - db ROCKET_HIDEOUT_B2F_HEIGHT, ROCKET_HIDEOUT_B2F_WIDTH ; dimensions (y, x) - dw RocketHideoutB2F_Blocks ; blocks - dw RocketHideoutB2F_TextPointers ; texts - dw RocketHideoutB2F_Script ; scripts - db 0 ; connections - dw RocketHideoutB2F_Object ; objects diff --git a/data/mapHeaders/RocketHideoutB3F.asm b/data/mapHeaders/RocketHideoutB3F.asm deleted file mode 100755 index e71fcff1..00000000 --- a/data/mapHeaders/RocketHideoutB3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RocketHideoutB3F_h:: - db FACILITY ; tileset - db ROCKET_HIDEOUT_B3F_HEIGHT, ROCKET_HIDEOUT_B3F_WIDTH ; dimensions (y, x) - dw RocketHideoutB3F_Blocks ; blocks - dw RocketHideoutB3F_TextPointers ; texts - dw RocketHideoutB3F_Script ; scripts - db 0 ; connections - dw RocketHideoutB3F_Object ; objects diff --git a/data/mapHeaders/RocketHideoutB4F.asm b/data/mapHeaders/RocketHideoutB4F.asm deleted file mode 100755 index 05ad471a..00000000 --- a/data/mapHeaders/RocketHideoutB4F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RocketHideoutB4F_h:: - db FACILITY ; tileset - db ROCKET_HIDEOUT_B4F_HEIGHT, ROCKET_HIDEOUT_B4F_WIDTH ; dimensions (y, x) - dw RocketHideoutB4F_Blocks ; blocks - dw RocketHideoutB4F_TextPointers ; texts - dw RocketHideoutB4F_Script ; scripts - db 0 ; connections - dw RocketHideoutB4F_Object ; objects diff --git a/data/mapHeaders/RocketHideoutElevator.asm b/data/mapHeaders/RocketHideoutElevator.asm deleted file mode 100755 index 6221dddd..00000000 --- a/data/mapHeaders/RocketHideoutElevator.asm +++ /dev/null @@ -1,8 +0,0 @@ -RocketHideoutElevator_h:: - db LOBBY ; tileset - db ROCKET_HIDEOUT_ELEVATOR_HEIGHT, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; dimensions (y, x) - dw RocketHideoutElevator_Blocks ; blocks - dw RocketHideoutElevator_TextPointers ; texts - dw RocketHideoutElevator_Script ; scripts - db 0 ; connections - dw RocketHideoutElevator_Object ; objects diff --git a/data/mapHeaders/Route1.asm b/data/mapHeaders/Route1.asm deleted file mode 100755 index 20d389ab..00000000 --- a/data/mapHeaders/Route1.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route1_h:: - db OVERWORLD ; tileset - db ROUTE_1_HEIGHT, ROUTE_1_WIDTH ; dimensions (y, x) - dw Route1_Blocks ; blocks - dw Route1_TextPointers ; texts - dw Route1_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_1, VIRIDIAN_CITY, -3, 2, ViridianCity_Blocks - SOUTH_MAP_CONNECTION ROUTE_1, PALLET_TOWN, 0, 0, PalletTown_Blocks, 1 - dw Route1_Object ; objects diff --git a/data/mapHeaders/Route10.asm b/data/mapHeaders/Route10.asm deleted file mode 100755 index 5759483b..00000000 --- a/data/mapHeaders/Route10.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route10_h:: - db OVERWORLD ; tileset - db ROUTE_10_HEIGHT, ROUTE_10_WIDTH ; dimensions (y, x) - dw Route10_Blocks ; blocks - dw Route10_TextPointers ; texts - dw Route10_Script ; scripts - db SOUTH | WEST ; connections - SOUTH_MAP_CONNECTION ROUTE_10, LAVENDER_TOWN, 0, 0, LavenderTown_Blocks - WEST_MAP_CONNECTION ROUTE_10, ROUTE_9, 0, 0, Route9_Blocks - dw Route10_Object ; objects diff --git a/data/mapHeaders/Route11.asm b/data/mapHeaders/Route11.asm deleted file mode 100755 index 6b95cebc..00000000 --- a/data/mapHeaders/Route11.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route11_h:: - db OVERWORLD ; tileset - db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; dimensions (y, x) - dw Route11_Blocks ; blocks - dw Route11_TextPointers ; texts - dw Route11_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_11, VERMILION_CITY, -3, 1, VermilionCity_Blocks - EAST_MAP_CONNECTION ROUTE_11, ROUTE_12, -3, 24, Route12_Blocks, 1 - dw Route11_Object ; objects diff --git a/data/mapHeaders/Route11Gate1F.asm b/data/mapHeaders/Route11Gate1F.asm deleted file mode 100755 index 0f26b117..00000000 --- a/data/mapHeaders/Route11Gate1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route11Gate1F_h:: - db GATE ; tileset - db ROUTE_11_GATE_1F_HEIGHT, ROUTE_11_GATE_1F_WIDTH ; dimensions (y, x) - dw Route11Gate1F_Blocks ; blocks - dw Route11Gate1F_TextPointers ; texts - dw Route11Gate1F_Script ; scripts - db 0 ; connections - dw Route11Gate1F_Object ; objects diff --git a/data/mapHeaders/Route11Gate2F.asm b/data/mapHeaders/Route11Gate2F.asm deleted file mode 100755 index b408b5a7..00000000 --- a/data/mapHeaders/Route11Gate2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route11Gate2F_h:: - db GATE ; tileset - db ROUTE_11_GATE_2F_HEIGHT, ROUTE_11_GATE_2F_WIDTH ; dimensions (y, x) - dw Route11Gate2F_Blocks ; blocks - dw Route11Gate2F_TextPointers ; texts - dw Route11Gate2F_Script ; scripts - db 0 ; connections - dw Route11Gate2F_Object ; objects diff --git a/data/mapHeaders/Route12.asm b/data/mapHeaders/Route12.asm deleted file mode 100755 index 284105fa..00000000 --- a/data/mapHeaders/Route12.asm +++ /dev/null @@ -1,11 +0,0 @@ -Route12_h:: - db OVERWORLD ; tileset - db ROUTE_12_HEIGHT, ROUTE_12_WIDTH ; dimensions (y, x) - dw Route12_Blocks ; blocks - dw Route12_TextPointers ; texts - dw Route12_Script ; scripts - db NORTH | SOUTH | WEST ; connections - NORTH_MAP_CONNECTION ROUTE_12, LAVENDER_TOWN, 0, 0, LavenderTown_Blocks - SOUTH_MAP_CONNECTION ROUTE_12, ROUTE_13, -3, 17, Route13_Blocks - WEST_MAP_CONNECTION ROUTE_12, ROUTE_11, 27, 0, Route11_Blocks - dw Route12_Object ; objects diff --git a/data/mapHeaders/Route12Gate1F.asm b/data/mapHeaders/Route12Gate1F.asm deleted file mode 100755 index dbce0ab9..00000000 --- a/data/mapHeaders/Route12Gate1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route12Gate1F_h:: - db GATE ; tileset - db ROUTE_12_GATE_1F_HEIGHT, ROUTE_12_GATE_1F_WIDTH ; dimensions (y, x) - dw Route12Gate1F_Blocks ; blocks - dw Route12Gate1F_TextPointers ; texts - dw Route12Gate1F_Script ; scripts - db 0 ; connections - dw Route12Gate1F_Object ; objects diff --git a/data/mapHeaders/Route12Gate2F.asm b/data/mapHeaders/Route12Gate2F.asm deleted file mode 100755 index f4e2330d..00000000 --- a/data/mapHeaders/Route12Gate2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route12Gate2F_h:: - db GATE ; tileset - db ROUTE_12_GATE_2F_HEIGHT, ROUTE_12_GATE_2F_WIDTH ; dimensions (y, x) - dw Route12Gate2F_Blocks ; blocks - dw Route12Gate2F_TextPointers ; texts - dw Route12Gate2F_Script ; scripts - db 0 ; connections - dw Route12Gate2F_Object ; objects diff --git a/data/mapHeaders/Route12SuperRodHouse.asm b/data/mapHeaders/Route12SuperRodHouse.asm deleted file mode 100755 index 70357a3a..00000000 --- a/data/mapHeaders/Route12SuperRodHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route12SuperRodHouse_h:: - db HOUSE ; tileset - db ROUTE_12_SUPER_ROD_HOUSE_HEIGHT, ROUTE_12_SUPER_ROD_HOUSE_WIDTH ; dimensions (y, x) - dw Route12SuperRodHouse_Blocks ; blocks - dw Route12SuperRodHouse_TextPointers ; texts - dw Route12SuperRodHouse_Script ; scripts - db 0 ; connections - dw Route12SuperRodHouse_Object ; objects diff --git a/data/mapHeaders/Route13.asm b/data/mapHeaders/Route13.asm deleted file mode 100755 index fb85dd60..00000000 --- a/data/mapHeaders/Route13.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route13_h:: - db OVERWORLD ; tileset - db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; dimensions (y, x) - dw Route13_Blocks ; blocks - dw Route13_TextPointers ; texts - dw Route13_Script ; scripts - db NORTH | WEST ; connections - NORTH_MAP_CONNECTION ROUTE_13, ROUTE_12, 20, 0, Route12_Blocks - WEST_MAP_CONNECTION ROUTE_13, ROUTE_14, 0, 0, Route14_Blocks - dw Route13_Object ; objects diff --git a/data/mapHeaders/Route14.asm b/data/mapHeaders/Route14.asm deleted file mode 100755 index d1484f6b..00000000 --- a/data/mapHeaders/Route14.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route14_h:: - db OVERWORLD ; tileset - db ROUTE_14_HEIGHT, ROUTE_14_WIDTH ; dimensions (y, x) - dw Route14_Blocks ; blocks - dw Route14_TextPointers ; texts - dw Route14_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_14, ROUTE_15, 18, 0, Route15_Blocks - EAST_MAP_CONNECTION ROUTE_14, ROUTE_13, 0, 0, Route13_Blocks - dw Route14_Object ; objects diff --git a/data/mapHeaders/Route15.asm b/data/mapHeaders/Route15.asm deleted file mode 100755 index 5f66a521..00000000 --- a/data/mapHeaders/Route15.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route15_h:: - db OVERWORLD ; tileset - db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; dimensions (y, x) - dw Route15_Blocks ; blocks - dw Route15_TextPointers ; texts - dw Route15_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_15, FUCHSIA_CITY, -3, 1, FuchsiaCity_Blocks - EAST_MAP_CONNECTION ROUTE_15, ROUTE_14, -3, 15, Route14_Blocks - dw Route15_Object ; objects diff --git a/data/mapHeaders/Route15Gate1F.asm b/data/mapHeaders/Route15Gate1F.asm deleted file mode 100755 index d3f5a377..00000000 --- a/data/mapHeaders/Route15Gate1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route15Gate1F_h:: - db GATE ; tileset - db ROUTE_15_GATE_1F_HEIGHT, ROUTE_15_GATE_1F_WIDTH ; dimensions (y, x) - dw Route15Gate1F_Blocks ; blocks - dw Route15Gate1F_TextPointers ; texts - dw Route15Gate1F_Script ; scripts - db 0 ; connections - dw Route15Gate1F_Object ; objects diff --git a/data/mapHeaders/Route15Gate2F.asm b/data/mapHeaders/Route15Gate2F.asm deleted file mode 100755 index 87b05105..00000000 --- a/data/mapHeaders/Route15Gate2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route15Gate2F_h:: - db GATE ; tileset - db ROUTE_15_GATE_2F_HEIGHT, ROUTE_15_GATE_2F_WIDTH ; dimensions (y, x) - dw Route15Gate2F_Blocks ; blocks - dw Route15Gate2F_TextPointers ; texts - dw Route15Gate2F_Script ; scripts - db 0 ; connections - dw Route15Gate2F_Object ; objects diff --git a/data/mapHeaders/Route16.asm b/data/mapHeaders/Route16.asm deleted file mode 100755 index be436134..00000000 --- a/data/mapHeaders/Route16.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route16_h:: - db OVERWORLD ; tileset - db ROUTE_16_HEIGHT, ROUTE_16_WIDTH ; dimensions (y, x) - dw Route16_Blocks ; blocks - dw Route16_TextPointers ; texts - dw Route16_Script ; scripts - db SOUTH | EAST ; connections - SOUTH_MAP_CONNECTION ROUTE_16, ROUTE_17, 0, 0, Route17_Blocks - EAST_MAP_CONNECTION ROUTE_16, CELADON_CITY, -3, 1, CeladonCity_Blocks, 1 - dw Route16_Object ; objects diff --git a/data/mapHeaders/Route16FlyHouse.asm b/data/mapHeaders/Route16FlyHouse.asm deleted file mode 100755 index 6bc41d1d..00000000 --- a/data/mapHeaders/Route16FlyHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route16FlyHouse_h:: - db HOUSE ; tileset - db ROUTE_16_FLY_HOUSE_HEIGHT, ROUTE_16_FLY_HOUSE_WIDTH ; dimensions (y, x) - dw Route16FlyHouse_Blocks ; blocks - dw Route16FlyHouse_TextPointers ; texts - dw Route16FlyHouse_Script ; scripts - db 0 ; connections - dw Route16FlyHouse_Object ; objects diff --git a/data/mapHeaders/Route16Gate1F.asm b/data/mapHeaders/Route16Gate1F.asm deleted file mode 100755 index 16bbb30b..00000000 --- a/data/mapHeaders/Route16Gate1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route16Gate1F_h:: - db GATE ; tileset - db ROUTE_16_GATE_1F_HEIGHT, ROUTE_16_GATE_1F_WIDTH ; dimensions (y, x) - dw Route16Gate1F_Blocks ; blocks - dw Route16Gate1F_TextPointers ; texts - dw Route16Gate1F_Script ; scripts - db 0 ; connections - dw Route16Gate1F_Object ; objects diff --git a/data/mapHeaders/Route16Gate2F.asm b/data/mapHeaders/Route16Gate2F.asm deleted file mode 100755 index 600101c9..00000000 --- a/data/mapHeaders/Route16Gate2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route16Gate2F_h:: - db GATE ; tileset - db ROUTE_16_GATE_2F_HEIGHT, ROUTE_16_GATE_2F_WIDTH ; dimensions (y, x) - dw Route16Gate2F_Blocks ; blocks - dw Route16Gate2F_TextPointers ; texts - dw Route16Gate2F_Script ; scripts - db 0 ; connections - dw Route16Gate2F_Object ; objects diff --git a/data/mapHeaders/Route17.asm b/data/mapHeaders/Route17.asm deleted file mode 100755 index 32bdb541..00000000 --- a/data/mapHeaders/Route17.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route17_h:: - db OVERWORLD ; tileset - db ROUTE_17_HEIGHT, ROUTE_17_WIDTH ; dimensions (y, x) - dw Route17_Blocks ; blocks - dw Route17_TextPointers ; texts - dw Route17_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_17, ROUTE_16, 0, 0, Route16_Blocks - SOUTH_MAP_CONNECTION ROUTE_17, ROUTE_18, 0, 0, Route18_Blocks, 1 - dw Route17_Object ; objects diff --git a/data/mapHeaders/Route18.asm b/data/mapHeaders/Route18.asm deleted file mode 100755 index e0b5daef..00000000 --- a/data/mapHeaders/Route18.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route18_h:: - db OVERWORLD ; tileset - db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; dimensions (y, x) - dw Route18_Blocks ; blocks - dw Route18_TextPointers ; texts - dw Route18_Script ; scripts - db NORTH | EAST ; connections - NORTH_MAP_CONNECTION ROUTE_18, ROUTE_17, 0, 0, Route17_Blocks - EAST_MAP_CONNECTION ROUTE_18, FUCHSIA_CITY, -3, 1, FuchsiaCity_Blocks, 1 - dw Route18_Object ; objects diff --git a/data/mapHeaders/Route18Gate1F.asm b/data/mapHeaders/Route18Gate1F.asm deleted file mode 100755 index d04288d5..00000000 --- a/data/mapHeaders/Route18Gate1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route18Gate1F_h:: - db GATE ; tileset - db ROUTE_18_GATE_1F_HEIGHT, ROUTE_18_GATE_1F_WIDTH ; dimensions (y, x) - dw Route18Gate1F_Blocks ; blocks - dw Route18Gate1F_TextPointers ; texts - dw Route18Gate1F_Script ; scripts - db 0 ; connections - dw Route18Gate1F_Object ; objects diff --git a/data/mapHeaders/Route18Gate2F.asm b/data/mapHeaders/Route18Gate2F.asm deleted file mode 100755 index cf8c6d6a..00000000 --- a/data/mapHeaders/Route18Gate2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route18Gate2F_h:: - db GATE ; tileset - db ROUTE_18_GATE_2F_HEIGHT, ROUTE_18_GATE_2F_WIDTH ; dimensions (y, x) - dw Route18Gate2F_Blocks ; blocks - dw Route18Gate2F_TextPointers ; texts - dw Route18Gate2F_Script ; scripts - db 0 ; connections - dw Route18Gate2F_Object ; objects diff --git a/data/mapHeaders/Route19.asm b/data/mapHeaders/Route19.asm deleted file mode 100755 index 2b6c8ca2..00000000 --- a/data/mapHeaders/Route19.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route19_h:: - db OVERWORLD ; tileset - db ROUTE_19_HEIGHT, ROUTE_19_WIDTH ; dimensions (y, x) - dw Route19_Blocks ; blocks - dw Route19_TextPointers ; texts - dw Route19_Script ; scripts - db NORTH | WEST ; connections - NORTH_MAP_CONNECTION ROUTE_19, FUCHSIA_CITY, -3, 2, FuchsiaCity_Blocks - WEST_MAP_CONNECTION ROUTE_19, ROUTE_20, 18, 0, Route20_Blocks - dw Route19_Object ; objects diff --git a/data/mapHeaders/Route2.asm b/data/mapHeaders/Route2.asm deleted file mode 100755 index 6dc96c4e..00000000 --- a/data/mapHeaders/Route2.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route2_h:: - db OVERWORLD ; tileset - db ROUTE_2_HEIGHT, ROUTE_2_WIDTH ; dimensions (y, x) - dw Route2_Blocks ; blocks - dw Route2_TextPointers ; texts - dw Route2_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_2, PEWTER_CITY, -3, 2, PewterCity_Blocks - SOUTH_MAP_CONNECTION ROUTE_2, VIRIDIAN_CITY, -3, 2, ViridianCity_Blocks, 1 - dw Route2_Object ; objects diff --git a/data/mapHeaders/Route20.asm b/data/mapHeaders/Route20.asm deleted file mode 100755 index 03455c54..00000000 --- a/data/mapHeaders/Route20.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route20_h:: - db OVERWORLD ; tileset - db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; dimensions (y, x) - dw Route20_Blocks ; blocks - dw Route20_TextPointers ; texts - dw Route20_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_20, CINNABAR_ISLAND, 0, 0, CinnabarIsland_Blocks - EAST_MAP_CONNECTION ROUTE_20, ROUTE_19, -3, 15, Route19_Blocks - dw Route20_Object ; objects diff --git a/data/mapHeaders/Route21.asm b/data/mapHeaders/Route21.asm deleted file mode 100755 index 81e749e0..00000000 --- a/data/mapHeaders/Route21.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route21_h:: - db OVERWORLD ; tileset - db ROUTE_21_HEIGHT, ROUTE_21_WIDTH ; dimensions (y, x) - dw Route21_Blocks ; blocks - dw Route21_TextPointers ; texts - dw Route21_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_21, PALLET_TOWN, 0, 0, PalletTown_Blocks - SOUTH_MAP_CONNECTION ROUTE_21, CINNABAR_ISLAND, 0, 0, CinnabarIsland_Blocks, 1 - dw Route21_Object ; objects diff --git a/data/mapHeaders/Route22.asm b/data/mapHeaders/Route22.asm deleted file mode 100755 index 083652cc..00000000 --- a/data/mapHeaders/Route22.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route22_h:: - db OVERWORLD ; tileset - db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; dimensions (y, x) - dw Route22_Blocks ; blocks - dw Route22_TextPointers ; texts - dw Route22_Script ; scripts - db NORTH | EAST ; connections - NORTH_MAP_CONNECTION ROUTE_22, ROUTE_23, 0, 0, Route23_Blocks - EAST_MAP_CONNECTION ROUTE_22, VIRIDIAN_CITY, -3, 1, ViridianCity_Blocks, 1 - dw Route22_Object ; objects diff --git a/data/mapHeaders/Route22Gate.asm b/data/mapHeaders/Route22Gate.asm deleted file mode 100755 index b0fae3e4..00000000 --- a/data/mapHeaders/Route22Gate.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route22Gate_h:: - db GATE ; tileset - db ROUTE_22_GATE_HEIGHT, ROUTE_22_GATE_WIDTH ; dimensions (y, x) - dw Route22Gate_Blocks ; blocks - dw Route22Gate_TextPointers ; texts - dw Route22Gate_Script ; scripts - db 0 ; connections - dw Route22Gate_Object ; objects diff --git a/data/mapHeaders/Route23.asm b/data/mapHeaders/Route23.asm deleted file mode 100755 index 1bc27a5f..00000000 --- a/data/mapHeaders/Route23.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route23_h:: - db PLATEAU ; tileset - db ROUTE_23_HEIGHT, ROUTE_23_WIDTH ; dimensions (y, x) - dw Route23_Blocks ; blocks - dw Route23_TextPointers ; texts - dw Route23_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_23, INDIGO_PLATEAU, 0, 0, IndigoPlateau_Blocks - SOUTH_MAP_CONNECTION ROUTE_23, ROUTE_22, 0, 0, Route22_Blocks, 1 - dw Route23_Object ; objects diff --git a/data/mapHeaders/Route24.asm b/data/mapHeaders/Route24.asm deleted file mode 100755 index acb98d40..00000000 --- a/data/mapHeaders/Route24.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route24_h:: - db OVERWORLD ; tileset - db ROUTE_24_HEIGHT, ROUTE_24_WIDTH ; dimensions (y, x) - dw Route24_Blocks ; blocks - dw Route24_TextPointers ; texts - dw Route24_Script ; scripts - db SOUTH | EAST ; connections - SOUTH_MAP_CONNECTION ROUTE_24, CERULEAN_CITY, -3, 2, CeruleanCity_Blocks, 1 - EAST_MAP_CONNECTION ROUTE_24, ROUTE_25, 0, 0, Route25_Blocks - dw Route24_Object ; objects diff --git a/data/mapHeaders/Route25.asm b/data/mapHeaders/Route25.asm deleted file mode 100755 index d8da8583..00000000 --- a/data/mapHeaders/Route25.asm +++ /dev/null @@ -1,9 +0,0 @@ -Route25_h:: - db OVERWORLD ; tileset - db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; dimensions (y, x) - dw Route25_Blocks ; blocks - dw Route25_TextPointers ; texts - dw Route25_Script ; scripts - db WEST ; connections - WEST_MAP_CONNECTION ROUTE_25, ROUTE_24, 0, 0, Route24_Blocks - dw Route25_Object ; objects diff --git a/data/mapHeaders/Route2Gate.asm b/data/mapHeaders/Route2Gate.asm deleted file mode 100755 index 68581910..00000000 --- a/data/mapHeaders/Route2Gate.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route2Gate_h:: - db GATE ; tileset - db ROUTE_2_GATE_HEIGHT, ROUTE_2_GATE_WIDTH ; dimensions (y, x) - dw Route2Gate_Blocks ; blocks - dw Route2Gate_TextPointers ; texts - dw Route2Gate_Script ; scripts - db 0 ; connections - dw Route2Gate_Object ; objects diff --git a/data/mapHeaders/Route2TradeHouse.asm b/data/mapHeaders/Route2TradeHouse.asm deleted file mode 100755 index 98dc7aed..00000000 --- a/data/mapHeaders/Route2TradeHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route2TradeHouse_h:: - db HOUSE ; tileset - db ROUTE_2_TRADE_HOUSE_HEIGHT, ROUTE_2_TRADE_HOUSE_WIDTH ; dimensions (y, x) - dw Route2TradeHouse_Blocks ; blocks - dw Route2TradeHouse_TextPointers ; texts - dw Route2TradeHouse_Script ; scripts - db 0 ; connections - dw Route2TradeHouse_Object ; objects diff --git a/data/mapHeaders/Route3.asm b/data/mapHeaders/Route3.asm deleted file mode 100755 index a84b5bf9..00000000 --- a/data/mapHeaders/Route3.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route3_h:: - db OVERWORLD ; tileset - db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; dimensions (y, x) - dw Route3_Blocks ; blocks - dw Route3_TextPointers ; texts - dw Route3_Script ; scripts - db NORTH | WEST ; connections - NORTH_MAP_CONNECTION ROUTE_3, ROUTE_4, 25, 0, Route4_Blocks - WEST_MAP_CONNECTION ROUTE_3, PEWTER_CITY, -3, 1, PewterCity_Blocks - dw Route3_Object ; objects diff --git a/data/mapHeaders/Route4.asm b/data/mapHeaders/Route4.asm deleted file mode 100755 index d0d27d9c..00000000 --- a/data/mapHeaders/Route4.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route4_h:: - db OVERWORLD ; tileset - db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; dimensions (y, x) - dw Route4_Blocks ; blocks - dw Route4_TextPointers ; texts - dw Route4_Script ; scripts - db SOUTH | EAST ; connections - SOUTH_MAP_CONNECTION ROUTE_4, ROUTE_3, -3, 22, Route3_Blocks - EAST_MAP_CONNECTION ROUTE_4, CERULEAN_CITY, -3, 1, CeruleanCity_Blocks, 1 - dw Route4_Object ; objects diff --git a/data/mapHeaders/Route5.asm b/data/mapHeaders/Route5.asm deleted file mode 100755 index 5a0e0cd4..00000000 --- a/data/mapHeaders/Route5.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route5_h:: - db OVERWORLD ; tileset - db ROUTE_5_HEIGHT, ROUTE_5_WIDTH ; dimensions (y, x) - dw Route5_Blocks ; blocks - dw Route5_TextPointers ; texts - dw Route5_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_5, CERULEAN_CITY, -3, 2, CeruleanCity_Blocks - SOUTH_MAP_CONNECTION ROUTE_5, SAFFRON_CITY, -3, 2, SaffronCity_Blocks, 1 - dw Route5_Object ; objects diff --git a/data/mapHeaders/Route5Gate.asm b/data/mapHeaders/Route5Gate.asm deleted file mode 100755 index d5de72b4..00000000 --- a/data/mapHeaders/Route5Gate.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route5Gate_h:: - db GATE ; tileset - db ROUTE_5_GATE_HEIGHT, ROUTE_5_GATE_WIDTH ; dimensions (y, x) - dw Route5Gate_Blocks ; blocks - dw Route5Gate_TextPointers ; texts - dw Route5Gate_Script ; scripts - db 0 ; connections - dw Route5Gate_Object ; objects diff --git a/data/mapHeaders/Route6.asm b/data/mapHeaders/Route6.asm deleted file mode 100755 index 85cb1054..00000000 --- a/data/mapHeaders/Route6.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route6_h:: - db OVERWORLD ; tileset - db ROUTE_6_HEIGHT, ROUTE_6_WIDTH ; dimensions (y, x) - dw Route6_Blocks ; blocks - dw Route6_TextPointers ; texts - dw Route6_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_6, SAFFRON_CITY, -3, 2, SaffronCity_Blocks - SOUTH_MAP_CONNECTION ROUTE_6, VERMILION_CITY, -3, 2, VermilionCity_Blocks, 1 - dw Route6_Object ; objects diff --git a/data/mapHeaders/Route6Gate.asm b/data/mapHeaders/Route6Gate.asm deleted file mode 100755 index e5896518..00000000 --- a/data/mapHeaders/Route6Gate.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route6Gate_h:: - db GATE ; tileset - db ROUTE_6_GATE_HEIGHT, ROUTE_6_GATE_WIDTH ; dimensions (y, x) - dw Route6Gate_Blocks ; blocks - dw Route6Gate_TextPointers ; texts - dw Route6Gate_Script ; scripts - db 0 ; connections - dw Route6Gate_Object ; objects diff --git a/data/mapHeaders/Route7.asm b/data/mapHeaders/Route7.asm deleted file mode 100755 index cb12c75a..00000000 --- a/data/mapHeaders/Route7.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route7_h:: - db OVERWORLD ; tileset - db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; dimensions (y, x) - dw Route7_Blocks ; blocks - dw Route7_TextPointers ; texts - dw Route7_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_7, CELADON_CITY, -3, 1, CeladonCity_Blocks - EAST_MAP_CONNECTION ROUTE_7, SAFFRON_CITY, -3, 1, SaffronCity_Blocks, 1 - dw Route7_Object ; objects diff --git a/data/mapHeaders/Route7Gate.asm b/data/mapHeaders/Route7Gate.asm deleted file mode 100755 index d8400dae..00000000 --- a/data/mapHeaders/Route7Gate.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route7Gate_h:: - db GATE ; tileset - db ROUTE_7_GATE_HEIGHT, ROUTE_7_GATE_WIDTH ; dimensions (y, x) - dw Route7Gate_Blocks ; blocks - dw Route7Gate_TextPointers ; texts - dw Route7Gate_Script ; scripts - db 0 ; connections - dw Route7Gate_Object ; objects diff --git a/data/mapHeaders/Route8.asm b/data/mapHeaders/Route8.asm deleted file mode 100755 index 482e12f9..00000000 --- a/data/mapHeaders/Route8.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route8_h:: - db OVERWORLD ; tileset - db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; dimensions (y, x) - dw Route8_Blocks ; blocks - dw Route8_TextPointers ; texts - dw Route8_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_8, SAFFRON_CITY, -3, 1, SaffronCity_Blocks - EAST_MAP_CONNECTION ROUTE_8, LAVENDER_TOWN, 0, 0, LavenderTown_Blocks - dw Route8_Object ; objects diff --git a/data/mapHeaders/Route8Gate.asm b/data/mapHeaders/Route8Gate.asm deleted file mode 100755 index 7599276b..00000000 --- a/data/mapHeaders/Route8Gate.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route8Gate_h:: - db GATE ; tileset - db ROUTE_8_GATE_HEIGHT, ROUTE_8_GATE_WIDTH ; dimensions (y, x) - dw Route8Gate_Blocks ; blocks - dw Route8Gate_TextPointers ; texts - dw Route8Gate_Script ; scripts - db 0 ; connections - dw Route8Gate_Object ; objects diff --git a/data/mapHeaders/Route9.asm b/data/mapHeaders/Route9.asm deleted file mode 100755 index a0aef316..00000000 --- a/data/mapHeaders/Route9.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route9_h:: - db OVERWORLD ; tileset - db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; dimensions (y, x) - dw Route9_Blocks ; blocks - dw Route9_TextPointers ; texts - dw Route9_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_9, CERULEAN_CITY, -3, 1, CeruleanCity_Blocks - EAST_MAP_CONNECTION ROUTE_9, ROUTE_10, 0, 0, Route10_Blocks, 1 - dw Route9_Object ; objects diff --git a/data/mapHeaders/SSAnne1F.asm b/data/mapHeaders/SSAnne1F.asm deleted file mode 100755 index 3b82a4ed..00000000 --- a/data/mapHeaders/SSAnne1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnne1F_h:: - db SHIP ; tileset - db SS_ANNE_1F_HEIGHT, SS_ANNE_1F_WIDTH ; dimensions (y, x) - dw SSAnne1F_Blocks ; blocks - dw SSAnne1F_TextPointers ; texts - dw SSAnne1F_Script ; scripts - db 0 ; connections - dw SSAnne1F_Object ; objects diff --git a/data/mapHeaders/SSAnne1FRooms.asm b/data/mapHeaders/SSAnne1FRooms.asm deleted file mode 100755 index 14260765..00000000 --- a/data/mapHeaders/SSAnne1FRooms.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnne1FRooms_h:: - db SHIP ; tileset - db SS_ANNE_1F_ROOMS_HEIGHT, SS_ANNE_1F_ROOMS_WIDTH ; dimensions (y, x) - dw SSAnne1FRooms_Blocks ; blocks - dw SSAnne1FRooms_TextPointers ; texts - dw SSAnne1FRooms_Script ; scripts - db 0 ; connections - dw SSAnne1FRooms_Object ; objects diff --git a/data/mapHeaders/SSAnne2F.asm b/data/mapHeaders/SSAnne2F.asm deleted file mode 100755 index aef34599..00000000 --- a/data/mapHeaders/SSAnne2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnne2F_h:: - db SHIP ; tileset - db SS_ANNE_2F_HEIGHT, SS_ANNE_2F_WIDTH ; dimensions (y, x) - dw SSAnne2F_Blocks ; blocks - dw SSAnne2F_TextPointers ; texts - dw SSAnne2F_Script ; scripts - db 0 ; connections - dw SSAnne2F_Object ; objects diff --git a/data/mapHeaders/SSAnne2FRooms.asm b/data/mapHeaders/SSAnne2FRooms.asm deleted file mode 100755 index 12ecca80..00000000 --- a/data/mapHeaders/SSAnne2FRooms.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnne2FRooms_h:: - db SHIP ; tileset - db SS_ANNE_2F_ROOMS_HEIGHT, SS_ANNE_2F_ROOMS_WIDTH ; dimensions (y, x) - dw SSAnne2FRooms_Blocks ; blocks - dw SSAnne2FRooms_TextPointers ; texts - dw SSAnne2FRooms_Script ; scripts - db 0 ; connections - dw SSAnne2FRooms_Object ; objects diff --git a/data/mapHeaders/SSAnne3F.asm b/data/mapHeaders/SSAnne3F.asm deleted file mode 100755 index 22ddfa03..00000000 --- a/data/mapHeaders/SSAnne3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnne3F_h:: - db SHIP ; tileset - db SS_ANNE_3F_HEIGHT, SS_ANNE_3F_WIDTH ; dimensions (y, x) - dw SSAnne3F_Blocks ; blocks - dw SSAnne3F_TextPointers ; texts - dw SSAnne3F_Script ; scripts - db 0 ; connections - dw SSAnne3F_Object ; objects diff --git a/data/mapHeaders/SSAnneB1F.asm b/data/mapHeaders/SSAnneB1F.asm deleted file mode 100755 index 28f0bbe3..00000000 --- a/data/mapHeaders/SSAnneB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnneB1F_h:: - db SHIP ; tileset - db SS_ANNE_B1F_HEIGHT, SS_ANNE_B1F_WIDTH ; dimensions (y, x) - dw SSAnneB1F_Blocks ; blocks - dw SSAnneB1F_TextPointers ; texts - dw SSAnneB1F_Script ; scripts - db 0 ; connections - dw SSAnneB1F_Object ; objects diff --git a/data/mapHeaders/SSAnneB1FRooms.asm b/data/mapHeaders/SSAnneB1FRooms.asm deleted file mode 100755 index 3d439984..00000000 --- a/data/mapHeaders/SSAnneB1FRooms.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnneB1FRooms_h:: - db SHIP ; tileset - db SS_ANNE_B1F_ROOMS_HEIGHT, SS_ANNE_B1F_ROOMS_WIDTH ; dimensions (y, x) - dw SSAnneB1FRooms_Blocks ; blocks - dw SSAnneB1FRooms_TextPointers ; texts - dw SSAnneB1FRooms_Script ; scripts - db 0 ; connections - dw SSAnneB1FRooms_Object ; objects diff --git a/data/mapHeaders/SSAnneBow.asm b/data/mapHeaders/SSAnneBow.asm deleted file mode 100755 index 1b1be8cb..00000000 --- a/data/mapHeaders/SSAnneBow.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnneBow_h:: - db SHIP ; tileset - db SS_ANNE_BOW_HEIGHT, SS_ANNE_BOW_WIDTH ; dimensions (y, x) - dw SSAnneBow_Blocks ; blocks - dw SSAnneBow_TextPointers ; texts - dw SSAnneBow_Script ; scripts - db 0 ; connections - dw SSAnneBow_Object ; objects diff --git a/data/mapHeaders/SSAnneCaptainsRoom.asm b/data/mapHeaders/SSAnneCaptainsRoom.asm deleted file mode 100755 index 78522804..00000000 --- a/data/mapHeaders/SSAnneCaptainsRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnneCaptainsRoom_h:: - db SHIP ; tileset - db SS_ANNE_CAPTAINS_ROOM_HEIGHT, SS_ANNE_CAPTAINS_ROOM_WIDTH ; dimensions (y, x) - dw SSAnneCaptainsRoom_Blocks ; blocks - dw SSAnneCaptainsRoom_TextPointers ; texts - dw SSAnneCaptainsRoom_Script ; scripts - db 0 ; connections - dw SSAnneCaptainsRoom_Object ; objects diff --git a/data/mapHeaders/SSAnneKitchen.asm b/data/mapHeaders/SSAnneKitchen.asm deleted file mode 100755 index e4c6c472..00000000 --- a/data/mapHeaders/SSAnneKitchen.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnneKitchen_h:: - db SHIP ; tileset - db SS_ANNE_KITCHEN_HEIGHT, SS_ANNE_KITCHEN_WIDTH ; dimensions (y, x) - dw SSAnneKitchen_Blocks ; blocks - dw SSAnneKitchen_TextPointers ; texts - dw SSAnneKitchen_Script ; scripts - db 0 ; connections - dw SSAnneKitchen_Object ; objects diff --git a/data/mapHeaders/SafariZoneCenter.asm b/data/mapHeaders/SafariZoneCenter.asm deleted file mode 100755 index a6e98bc3..00000000 --- a/data/mapHeaders/SafariZoneCenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneCenter_h:: - db FOREST ; tileset - db SAFARI_ZONE_CENTER_HEIGHT, SAFARI_ZONE_CENTER_WIDTH ; dimensions (y, x) - dw SafariZoneCenter_Blocks ; blocks - dw SafariZoneCenter_TextPointers ; texts - dw SafariZoneCenter_Script ; scripts - db 0 ; connections - dw SafariZoneCenter_Object ; objects diff --git a/data/mapHeaders/SafariZoneCenterRestHouse.asm b/data/mapHeaders/SafariZoneCenterRestHouse.asm deleted file mode 100755 index 3dc9fba2..00000000 --- a/data/mapHeaders/SafariZoneCenterRestHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneCenterRestHouse_h:: - db GATE ; tileset - db SAFARI_ZONE_CENTER_REST_HOUSE_HEIGHT, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneCenterRestHouse_Blocks ; blocks - dw SafariZoneCenterRestHouse_TextPointers ; texts - dw SafariZoneCenterRestHouse_Script ; scripts - db 0 ; connections - dw SafariZoneCenterRestHouse_Object ; objects diff --git a/data/mapHeaders/SafariZoneEast.asm b/data/mapHeaders/SafariZoneEast.asm deleted file mode 100755 index 4f9c0989..00000000 --- a/data/mapHeaders/SafariZoneEast.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneEast_h:: - db FOREST ; tileset - db SAFARI_ZONE_EAST_HEIGHT, SAFARI_ZONE_EAST_WIDTH ; dimensions (y, x) - dw SafariZoneEast_Blocks ; blocks - dw SafariZoneEast_TextPointers ; texts - dw SafariZoneEast_Script ; scripts - db 0 ; connections - dw SafariZoneEast_Object ; objects diff --git a/data/mapHeaders/SafariZoneEastRestHouse.asm b/data/mapHeaders/SafariZoneEastRestHouse.asm deleted file mode 100755 index 4afa17c4..00000000 --- a/data/mapHeaders/SafariZoneEastRestHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneEastRestHouse_h:: - db GATE ; tileset - db SAFARI_ZONE_EAST_REST_HOUSE_HEIGHT, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneEastRestHouse_Blocks ; blocks - dw SafariZoneEastRestHouse_TextPointers ; texts - dw SafariZoneEastRestHouse_Script ; scripts - db 0 ; connections - dw SafariZoneEastRestHouse_Object ; objects diff --git a/data/mapHeaders/SafariZoneGate.asm b/data/mapHeaders/SafariZoneGate.asm deleted file mode 100755 index 49d56b52..00000000 --- a/data/mapHeaders/SafariZoneGate.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneGate_h:: - db GATE ; tileset - db SAFARI_ZONE_GATE_HEIGHT, SAFARI_ZONE_GATE_WIDTH ; dimensions (y, x) - dw SafariZoneGate_Blocks ; blocks - dw SafariZoneGate_TextPointers ; texts - dw SafariZoneGate_Script ; scripts - db 0 ; connections - dw SafariZoneGate_Object ; objects diff --git a/data/mapHeaders/SafariZoneNorth.asm b/data/mapHeaders/SafariZoneNorth.asm deleted file mode 100755 index a8364c74..00000000 --- a/data/mapHeaders/SafariZoneNorth.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneNorth_h:: - db FOREST ; tileset - db SAFARI_ZONE_NORTH_HEIGHT, SAFARI_ZONE_NORTH_WIDTH ; dimensions (y, x) - dw SafariZoneNorth_Blocks ; blocks - dw SafariZoneNorth_TextPointers ; texts - dw SafariZoneNorth_Script ; scripts - db 0 ; connections - dw SafariZoneNorth_Object ; objects diff --git a/data/mapHeaders/SafariZoneNorthRestHouse.asm b/data/mapHeaders/SafariZoneNorthRestHouse.asm deleted file mode 100755 index faf16451..00000000 --- a/data/mapHeaders/SafariZoneNorthRestHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneNorthRestHouse_h:: - db GATE ; tileset - db SAFARI_ZONE_NORTH_REST_HOUSE_HEIGHT, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneNorthRestHouse_Blocks ; blocks - dw SafariZoneNorthRestHouse_TextPointers ; texts - dw SafariZoneNorthRestHouse_Script ; scripts - db 0 ; connections - dw SafariZoneNorthRestHouse_Object ; objects diff --git a/data/mapHeaders/SafariZoneSecretHouse.asm b/data/mapHeaders/SafariZoneSecretHouse.asm deleted file mode 100755 index 1db35d37..00000000 --- a/data/mapHeaders/SafariZoneSecretHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneSecretHouse_h:: - db LAB ; tileset - db SAFARI_ZONE_SECRET_HOUSE_HEIGHT, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneSecretHouse_Blocks ; blocks - dw SafariZoneSecretHouse_TextPointers ; texts - dw SafariZoneSecretHouse_Script ; scripts - db 0 ; connections - dw SafariZoneSecretHouse_Object ; objects diff --git a/data/mapHeaders/SafariZoneWest.asm b/data/mapHeaders/SafariZoneWest.asm deleted file mode 100755 index 00fd7d91..00000000 --- a/data/mapHeaders/SafariZoneWest.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneWest_h:: - db FOREST ; tileset - db SAFARI_ZONE_WEST_HEIGHT, SAFARI_ZONE_WEST_WIDTH ; dimensions (y, x) - dw SafariZoneWest_Blocks ; blocks - dw SafariZoneWest_TextPointers ; texts - dw SafariZoneWest_Script ; scripts - db 0 ; connections - dw SafariZoneWest_Object ; objects diff --git a/data/mapHeaders/SafariZoneWestRestHouse.asm b/data/mapHeaders/SafariZoneWestRestHouse.asm deleted file mode 100755 index 6b630df3..00000000 --- a/data/mapHeaders/SafariZoneWestRestHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneWestRestHouse_h:: - db GATE ; tileset - db SAFARI_ZONE_WEST_REST_HOUSE_HEIGHT, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneWestRestHouse_Blocks ; blocks - dw SafariZoneWestRestHouse_TextPointers ; texts - dw SafariZoneWestRestHouse_Script ; scripts - db 0 ; connections - dw SafariZoneWestRestHouse_Object ; objects diff --git a/data/mapHeaders/SaffronCity.asm b/data/mapHeaders/SaffronCity.asm deleted file mode 100755 index c7a498de..00000000 --- a/data/mapHeaders/SaffronCity.asm +++ /dev/null @@ -1,12 +0,0 @@ -SaffronCity_h:: - db OVERWORLD ; tileset - db SAFFRON_CITY_HEIGHT, SAFFRON_CITY_WIDTH ; dimensions (y, x) - dw SaffronCity_Blocks ; blocks - dw SaffronCity_TextPointers ; texts - dw SaffronCity_Script ; scripts - db NORTH | SOUTH | WEST | EAST ; connections - NORTH_MAP_CONNECTION SAFFRON_CITY, ROUTE_5, 5, 0, Route5_Blocks - SOUTH_MAP_CONNECTION SAFFRON_CITY, ROUTE_6, 5, 0, Route6_Blocks, 1 - WEST_MAP_CONNECTION SAFFRON_CITY, ROUTE_7, 4, 0, Route7_Blocks - EAST_MAP_CONNECTION SAFFRON_CITY, ROUTE_8, 4, 0, Route8_Blocks - dw SaffronCity_Object ; objects diff --git a/data/mapHeaders/SaffronGym.asm b/data/mapHeaders/SaffronGym.asm deleted file mode 100755 index d9ca460d..00000000 --- a/data/mapHeaders/SaffronGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -SaffronGym_h:: - db FACILITY ; tileset - db SAFFRON_GYM_HEIGHT, SAFFRON_GYM_WIDTH ; dimensions (y, x) - dw SaffronGym_Blocks ; blocks - dw SaffronGym_TextPointers ; texts - dw SaffronGym_Script ; scripts - db 0 ; connections - dw SaffronGym_Object ; objects diff --git a/data/mapHeaders/SaffronMart.asm b/data/mapHeaders/SaffronMart.asm deleted file mode 100755 index d8c477a4..00000000 --- a/data/mapHeaders/SaffronMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -SaffronMart_h:: - db MART ; tileset - db SAFFRON_MART_HEIGHT, SAFFRON_MART_WIDTH ; dimensions (y, x) - dw SaffronMart_Blocks ; blocks - dw SaffronMart_TextPointers ; texts - dw SaffronMart_Script ; scripts - db 0 ; connections - dw SaffronMart_Object ; objects diff --git a/data/mapHeaders/SaffronPidgeyHouse.asm b/data/mapHeaders/SaffronPidgeyHouse.asm deleted file mode 100755 index 8e2e8b47..00000000 --- a/data/mapHeaders/SaffronPidgeyHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -SaffronPidgeyHouse_h:: - db HOUSE ; tileset - db SAFFRON_PIDGEY_HOUSE_HEIGHT, SAFFRON_PIDGEY_HOUSE_WIDTH ; dimensions (y, x) - dw SaffronPidgeyHouse_Blocks ; blocks - dw SaffronPidgeyHouse_TextPointers ; texts - dw SaffronPidgeyHouse_Script ; scripts - db 0 ; connections - dw SaffronPidgeyHouse_Object ; objects diff --git a/data/mapHeaders/SaffronPokecenter.asm b/data/mapHeaders/SaffronPokecenter.asm deleted file mode 100755 index 18f7a7de..00000000 --- a/data/mapHeaders/SaffronPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -SaffronPokecenter_h:: - db POKECENTER ; tileset - db SAFFRON_POKECENTER_HEIGHT, SAFFRON_POKECENTER_WIDTH ; dimensions (y, x) - dw SaffronPokecenter_Blocks ; blocks - dw SaffronPokecenter_TextPointers ; texts - dw SaffronPokecenter_Script ; scripts - db 0 ; connections - dw SaffronPokecenter_Object ; objects diff --git a/data/mapHeaders/SeafoamIslands1F.asm b/data/mapHeaders/SeafoamIslands1F.asm deleted file mode 100755 index 67df46fa..00000000 --- a/data/mapHeaders/SeafoamIslands1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SeafoamIslands1F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_1F_HEIGHT, SEAFOAM_ISLANDS_1F_WIDTH ; dimensions (y, x) - dw SeafoamIslands1F_Blocks ; blocks - dw SeafoamIslands1F_TextPointers ; texts - dw SeafoamIslands1F_Script ; scripts - db 0 ; connections - dw SeafoamIslands1F_Object ; objects diff --git a/data/mapHeaders/SeafoamIslandsB1F.asm b/data/mapHeaders/SeafoamIslandsB1F.asm deleted file mode 100755 index e1a667b6..00000000 --- a/data/mapHeaders/SeafoamIslandsB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SeafoamIslandsB1F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_B1F_HEIGHT, SEAFOAM_ISLANDS_B1F_WIDTH ; dimensions (y, x) - dw SeafoamIslandsB1F_Blocks ; blocks - dw SeafoamIslandsB1F_TextPointers ; texts - dw SeafoamIslandsB1F_Script ; scripts - db 0 ; connections - dw SeafoamIslandsB1F_Object ; objects diff --git a/data/mapHeaders/SeafoamIslandsB2F.asm b/data/mapHeaders/SeafoamIslandsB2F.asm deleted file mode 100755 index d8074e20..00000000 --- a/data/mapHeaders/SeafoamIslandsB2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SeafoamIslandsB2F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_B2F_HEIGHT, SEAFOAM_ISLANDS_B2F_WIDTH ; dimensions (y, x) - dw SeafoamIslandsB2F_Blocks ; blocks - dw SeafoamIslandsB2F_TextPointers ; texts - dw SeafoamIslandsB2F_Script ; scripts - db 0 ; connections - dw SeafoamIslandsB2F_Object ; objects diff --git a/data/mapHeaders/SeafoamIslandsB3F.asm b/data/mapHeaders/SeafoamIslandsB3F.asm deleted file mode 100755 index 2976a45b..00000000 --- a/data/mapHeaders/SeafoamIslandsB3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SeafoamIslandsB3F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_B3F_HEIGHT, SEAFOAM_ISLANDS_B3F_WIDTH ; dimensions (y, x) - dw SeafoamIslandsB3F_Blocks ; blocks - dw SeafoamIslandsB3F_TextPointers ; texts - dw SeafoamIslandsB3F_Script ; scripts - db 0 ; connections - dw SeafoamIslandsB3F_Object ; objects diff --git a/data/mapHeaders/SeafoamIslandsB4F.asm b/data/mapHeaders/SeafoamIslandsB4F.asm deleted file mode 100755 index fcc98db5..00000000 --- a/data/mapHeaders/SeafoamIslandsB4F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SeafoamIslandsB4F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_B4F_HEIGHT, SEAFOAM_ISLANDS_B4F_WIDTH ; dimensions (y, x) - dw SeafoamIslandsB4F_Blocks ; blocks - dw SeafoamIslandsB4F_TextPointers ; texts - dw SeafoamIslandsB4F_Script ; scripts - db 0 ; connections - dw SeafoamIslandsB4F_Object ; objects diff --git a/data/mapHeaders/SilphCo10F.asm b/data/mapHeaders/SilphCo10F.asm deleted file mode 100755 index be016e65..00000000 --- a/data/mapHeaders/SilphCo10F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo10F_h:: - db FACILITY ; tileset - db SILPH_CO_10F_HEIGHT, SILPH_CO_10F_WIDTH ; dimensions (y, x) - dw SilphCo10F_Blocks ; blocks - dw SilphCo10F_TextPointers ; texts - dw SilphCo10F_Script ; scripts - db 0 ; connections - dw SilphCo10F_Object ; objects diff --git a/data/mapHeaders/SilphCo11F.asm b/data/mapHeaders/SilphCo11F.asm deleted file mode 100755 index c16255dd..00000000 --- a/data/mapHeaders/SilphCo11F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo11F_h:: - db INTERIOR ; tileset - db SILPH_CO_11F_HEIGHT, SILPH_CO_11F_WIDTH ; dimensions (y, x) - dw SilphCo11F_Blocks ; blocks - dw SilphCo11F_TextPointers ; texts - dw SilphCo11F_Script ; scripts - db 0 ; connections - dw SilphCo11F_Object ; objects diff --git a/data/mapHeaders/SilphCo1F.asm b/data/mapHeaders/SilphCo1F.asm deleted file mode 100755 index 0109677e..00000000 --- a/data/mapHeaders/SilphCo1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo1F_h:: - db FACILITY ; tileset - db SILPH_CO_1F_HEIGHT, SILPH_CO_1F_WIDTH ; dimensions (y, x) - dw SilphCo1F_Blocks ; blocks - dw SilphCo1F_TextPointers ; texts - dw SilphCo1F_Script ; scripts - db 0 ; connections - dw SilphCo1F_Object ; objects diff --git a/data/mapHeaders/SilphCo2F.asm b/data/mapHeaders/SilphCo2F.asm deleted file mode 100755 index c9a21b17..00000000 --- a/data/mapHeaders/SilphCo2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo2F_h:: - db FACILITY ; tileset - db SILPH_CO_2F_HEIGHT, SILPH_CO_2F_WIDTH ; dimensions (y, x) - dw SilphCo2F_Blocks ; blocks - dw SilphCo2F_TextPointers ; texts - dw SilphCo2F_Script ; scripts - db 0 ; connections - dw SilphCo2F_Object ; objects diff --git a/data/mapHeaders/SilphCo3F.asm b/data/mapHeaders/SilphCo3F.asm deleted file mode 100755 index bd027dba..00000000 --- a/data/mapHeaders/SilphCo3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo3F_h:: - db FACILITY ; tileset - db SILPH_CO_3F_HEIGHT, SILPH_CO_3F_WIDTH ; dimensions (y, x) - dw SilphCo3F_Blocks ; blocks - dw SilphCo3F_TextPointers ; texts - dw SilphCo3F_Script ; scripts - db 0 ; connections - dw SilphCo3F_Object ; objects diff --git a/data/mapHeaders/SilphCo4F.asm b/data/mapHeaders/SilphCo4F.asm deleted file mode 100755 index 6f45da8d..00000000 --- a/data/mapHeaders/SilphCo4F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo4F_h:: - db FACILITY ; tileset - db SILPH_CO_4F_HEIGHT, SILPH_CO_4F_WIDTH ; dimensions (y, x) - dw SilphCo4F_Blocks ; blocks - dw SilphCo4F_TextPointers ; texts - dw SilphCo4F_Script ; scripts - db 0 ; connections - dw SilphCo4F_Object ; objects diff --git a/data/mapHeaders/SilphCo5F.asm b/data/mapHeaders/SilphCo5F.asm deleted file mode 100755 index 355aa258..00000000 --- a/data/mapHeaders/SilphCo5F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo5F_h:: - db FACILITY ; tileset - db SILPH_CO_5F_HEIGHT, SILPH_CO_5F_WIDTH ; dimensions (y, x) - dw SilphCo5F_Blocks ; blocks - dw SilphCo5F_TextPointers ; texts - dw SilphCo5F_Script ; scripts - db 0 ; connections - dw SilphCo5F_Object ; objects diff --git a/data/mapHeaders/SilphCo6F.asm b/data/mapHeaders/SilphCo6F.asm deleted file mode 100755 index 732248ac..00000000 --- a/data/mapHeaders/SilphCo6F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo6F_h:: - db FACILITY ; tileset - db SILPH_CO_6F_HEIGHT, SILPH_CO_6F_WIDTH ; dimensions (y, x) - dw SilphCo6F_Blocks ; blocks - dw SilphCo6F_TextPointers ; texts - dw SilphCo6F_Script ; scripts - db 0 ; connections - dw SilphCo6F_Object ; objects diff --git a/data/mapHeaders/SilphCo7F.asm b/data/mapHeaders/SilphCo7F.asm deleted file mode 100755 index 116e0342..00000000 --- a/data/mapHeaders/SilphCo7F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo7F_h:: - db FACILITY ; tileset - db SILPH_CO_7F_HEIGHT, SILPH_CO_7F_WIDTH ; dimensions (y, x) - dw SilphCo7F_Blocks ; blocks - dw SilphCo7F_TextPointers ; texts - dw SilphCo7F_Script ; scripts - db 0 ; connections - dw SilphCo7F_Object ; objects diff --git a/data/mapHeaders/SilphCo8F.asm b/data/mapHeaders/SilphCo8F.asm deleted file mode 100755 index 6d1c7faf..00000000 --- a/data/mapHeaders/SilphCo8F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo8F_h:: - db FACILITY ; tileset - db SILPH_CO_8F_HEIGHT, SILPH_CO_8F_WIDTH ; dimensions (y, x) - dw SilphCo8F_Blocks ; blocks - dw SilphCo8F_TextPointers ; texts - dw SilphCo8F_Script ; scripts - db 0 ; connections - dw SilphCo8F_Object ; objects diff --git a/data/mapHeaders/SilphCo9F.asm b/data/mapHeaders/SilphCo9F.asm deleted file mode 100755 index 3465e2fc..00000000 --- a/data/mapHeaders/SilphCo9F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo9F_h:: - db FACILITY ; tileset - db SILPH_CO_9F_HEIGHT, SILPH_CO_9F_WIDTH ; dimensions (y, x) - dw SilphCo9F_Blocks ; blocks - dw SilphCo9F_TextPointers ; texts - dw SilphCo9F_Script ; scripts - db 0 ; connections - dw SilphCo9F_Object ; objects diff --git a/data/mapHeaders/SilphCoElevator.asm b/data/mapHeaders/SilphCoElevator.asm deleted file mode 100755 index 5bf164da..00000000 --- a/data/mapHeaders/SilphCoElevator.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCoElevator_h:: - db LOBBY ; tileset - db SILPH_CO_ELEVATOR_HEIGHT, SILPH_CO_ELEVATOR_WIDTH ; dimensions (y, x) - dw SilphCoElevator_Blocks ; blocks - dw SilphCoElevator_TextPointers ; texts - dw SilphCoElevator_Script ; scripts - db 0 ; connections - dw SilphCoElevator_Object ; objects diff --git a/data/mapHeaders/TradeCenter.asm b/data/mapHeaders/TradeCenter.asm deleted file mode 100755 index 584cf3c6..00000000 --- a/data/mapHeaders/TradeCenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -TradeCenter_h:: - db CLUB ; tileset - db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x) - dw TradeCenter_Blocks ; blocks - dw TradeCenter_TextPointers ; texts - dw TradeCenter_Script ; scripts - db 0 ; connections - dw TradeCenter_Object ; objects diff --git a/data/mapHeaders/UndergroundPathNorthSouth.asm b/data/mapHeaders/UndergroundPathNorthSouth.asm deleted file mode 100755 index 1443d875..00000000 --- a/data/mapHeaders/UndergroundPathNorthSouth.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathNorthSouth_h:: - db UNDERGROUND ; tileset - db UNDERGROUND_PATH_NORTH_SOUTH_HEIGHT, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; dimensions (y, x) - dw UndergroundPathNorthSouth_Blocks ; blocks - dw UndergroundPathNorthSouth_TextPointers ; texts - dw UndergroundPathNorthSouth_Script ; scripts - db 0 ; connections - dw UndergroundPathNorthSouth_Object ; objects diff --git a/data/mapHeaders/UndergroundPathRoute5.asm b/data/mapHeaders/UndergroundPathRoute5.asm deleted file mode 100755 index 769bd1c0..00000000 --- a/data/mapHeaders/UndergroundPathRoute5.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathRoute5_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_5_HEIGHT, UNDERGROUND_PATH_ROUTE_5_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute5_Blocks ; blocks - dw UndergroundPathRoute5_TextPointers ; texts - dw UndergroundPathRoute5_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute5_Object ; objects diff --git a/data/mapHeaders/UndergroundPathRoute6.asm b/data/mapHeaders/UndergroundPathRoute6.asm deleted file mode 100755 index f2a5beb7..00000000 --- a/data/mapHeaders/UndergroundPathRoute6.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathRoute6_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_6_HEIGHT, UNDERGROUND_PATH_ROUTE_6_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute6_Blocks ; blocks - dw UndergroundPathRoute6_TextPointers ; texts - dw UndergroundPathRoute6_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute6_Object ; objects diff --git a/data/mapHeaders/UndergroundPathRoute7.asm b/data/mapHeaders/UndergroundPathRoute7.asm deleted file mode 100755 index b8120ef4..00000000 --- a/data/mapHeaders/UndergroundPathRoute7.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathRoute7_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_7_HEIGHT, UNDERGROUND_PATH_ROUTE_7_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute7_Blocks ; blocks - dw UndergroundPathRoute7_TextPointers ; texts - dw UndergroundPathRoute7_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute7_Object ; objects diff --git a/data/mapHeaders/UndergroundPathRoute7Copy.asm b/data/mapHeaders/UndergroundPathRoute7Copy.asm deleted file mode 100755 index 2ccdac57..00000000 --- a/data/mapHeaders/UndergroundPathRoute7Copy.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathRoute7Copy_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_7_HEIGHT, UNDERGROUND_PATH_ROUTE_7_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute7Copy_Blocks ; blocks - dw UndergroundPathRoute7Copy_TextPointers ; texts - dw UndergroundPathRoute7Copy_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute7Copy_Object ; objects diff --git a/data/mapHeaders/UndergroundPathRoute8.asm b/data/mapHeaders/UndergroundPathRoute8.asm deleted file mode 100755 index a1971c3c..00000000 --- a/data/mapHeaders/UndergroundPathRoute8.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathRoute8_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_8_HEIGHT, UNDERGROUND_PATH_ROUTE_8_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute8_Blocks ; blocks - dw UndergroundPathRoute8_TextPointers ; texts - dw UndergroundPathRoute8_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute8_Object ; objects diff --git a/data/mapHeaders/UndergroundPathWestEast.asm b/data/mapHeaders/UndergroundPathWestEast.asm deleted file mode 100755 index 1d50c103..00000000 --- a/data/mapHeaders/UndergroundPathWestEast.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathWestEast_h:: - db UNDERGROUND ; tileset - db UNDERGROUND_PATH_WEST_EAST_HEIGHT, UNDERGROUND_PATH_WEST_EAST_WIDTH ; dimensions (y, x) - dw UndergroundPathWestEast_Blocks ; blocks - dw UndergroundPathWestEast_TextPointers ; texts - dw UndergroundPathWestEast_Script ; scripts - db 0 ; connections - dw UndergroundPathWestEast_Object ; objects diff --git a/data/mapHeaders/VermilionCity.asm b/data/mapHeaders/VermilionCity.asm deleted file mode 100755 index 8026c214..00000000 --- a/data/mapHeaders/VermilionCity.asm +++ /dev/null @@ -1,10 +0,0 @@ -VermilionCity_h:: - db OVERWORLD ; tileset - db VERMILION_CITY_HEIGHT, VERMILION_CITY_WIDTH ; dimensions (y, x) - dw VermilionCity_Blocks ; blocks - dw VermilionCity_TextPointers ; texts - dw VermilionCity_Script ; scripts - db NORTH | EAST ; connections - NORTH_MAP_CONNECTION VERMILION_CITY, ROUTE_6, 5, 0, Route6_Blocks - EAST_MAP_CONNECTION VERMILION_CITY, ROUTE_11, 4, 0, Route11_Blocks - dw VermilionCity_Object ; objects diff --git a/data/mapHeaders/VermilionDock.asm b/data/mapHeaders/VermilionDock.asm deleted file mode 100755 index 0eb0edac..00000000 --- a/data/mapHeaders/VermilionDock.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionDock_h:: - db SHIP_PORT ; tileset - db VERMILION_DOCK_HEIGHT, VERMILION_DOCK_WIDTH ; dimensions (y, x) - dw VermilionDock_Blocks ; blocks - dw VermilionDock_TextPointers ; texts - dw VermilionDock_Script ; scripts - db 0 ; connections - dw VermilionDock_Object ; objects diff --git a/data/mapHeaders/VermilionGym.asm b/data/mapHeaders/VermilionGym.asm deleted file mode 100755 index 0b5913f1..00000000 --- a/data/mapHeaders/VermilionGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionGym_h:: - db GYM ; tileset - db VERMILION_GYM_HEIGHT, VERMILION_GYM_WIDTH ; dimensions (y, x) - dw VermilionGym_Blocks ; blocks - dw VermilionGym_TextPointers ; texts - dw VermilionGym_Script ; scripts - db 0 ; connections - dw VermilionGym_Object ; objects diff --git a/data/mapHeaders/VermilionMart.asm b/data/mapHeaders/VermilionMart.asm deleted file mode 100755 index 2fc1c79a..00000000 --- a/data/mapHeaders/VermilionMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionMart_h:: - db MART ; tileset - db VERMILION_MART_HEIGHT, VERMILION_MART_WIDTH ; dimensions (y, x) - dw VermilionMart_Blocks ; blocks - dw VermilionMart_TextPointers ; texts - dw VermilionMart_Script ; scripts - db 0 ; connections - dw VermilionMart_Object ; objects diff --git a/data/mapHeaders/VermilionOldRodHouse.asm b/data/mapHeaders/VermilionOldRodHouse.asm deleted file mode 100755 index 88a6e5d8..00000000 --- a/data/mapHeaders/VermilionOldRodHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionOldRodHouse_h:: - db HOUSE ; tileset - db VERMILION_OLD_ROD_HOUSE_HEIGHT, VERMILION_OLD_ROD_HOUSE_WIDTH ; dimensions (y, x) - dw VermilionOldRodHouse_Blocks ; blocks - dw VermilionOldRodHouse_TextPointers ; texts - dw VermilionOldRodHouse_Script ; scripts - db 0 ; connections - dw VermilionOldRodHouse_Object ; objects diff --git a/data/mapHeaders/VermilionPidgeyHouse.asm b/data/mapHeaders/VermilionPidgeyHouse.asm deleted file mode 100755 index d355805a..00000000 --- a/data/mapHeaders/VermilionPidgeyHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionPidgeyHouse_h:: - db HOUSE ; tileset - db VERMILION_PIDGEY_HOUSE_HEIGHT, VERMILION_PIDGEY_HOUSE_WIDTH ; dimensions (y, x) - dw VermilionPidgeyHouse_Blocks ; blocks - dw VermilionPidgeyHouse_TextPointers ; texts - dw VermilionPidgeyHouse_Script ; scripts - db 0 ; connections - dw VermilionPidgeyHouse_Object ; objects diff --git a/data/mapHeaders/VermilionPokecenter.asm b/data/mapHeaders/VermilionPokecenter.asm deleted file mode 100755 index face28d6..00000000 --- a/data/mapHeaders/VermilionPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionPokecenter_h:: - db POKECENTER ; tileset - db VERMILION_POKECENTER_HEIGHT, VERMILION_POKECENTER_WIDTH ; dimensions (y, x) - dw VermilionPokecenter_Blocks ; blocks - dw VermilionPokecenter_TextPointers ; texts - dw VermilionPokecenter_Script ; scripts - db 0 ; connections - dw VermilionPokecenter_Object ; objects diff --git a/data/mapHeaders/VermilionTradeHouse.asm b/data/mapHeaders/VermilionTradeHouse.asm deleted file mode 100755 index cadd14b2..00000000 --- a/data/mapHeaders/VermilionTradeHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionTradeHouse_h:: - db HOUSE ; tileset - db VERMILION_TRADE_HOUSE_HEIGHT, VERMILION_TRADE_HOUSE_WIDTH ; dimensions (y, x) - dw VermilionTradeHouse_Blocks ; blocks - dw VermilionTradeHouse_TextPointers ; texts - dw VermilionTradeHouse_Script ; scripts - db 0 ; connections - dw VermilionTradeHouse_Object ; objects diff --git a/data/mapHeaders/VictoryRoad1F.asm b/data/mapHeaders/VictoryRoad1F.asm deleted file mode 100755 index 239a8de3..00000000 --- a/data/mapHeaders/VictoryRoad1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -VictoryRoad1F_h:: - db CAVERN ; tileset - db VICTORY_ROAD_1F_HEIGHT, VICTORY_ROAD_1F_WIDTH ; dimensions (y, x) - dw VictoryRoad1F_Blocks ; blocks - dw VictoryRoad1F_TextPointers ; texts - dw VictoryRoad1F_Script ; scripts - db 0 ; connections - dw VictoryRoad1F_Object ; objects diff --git a/data/mapHeaders/VictoryRoad2F.asm b/data/mapHeaders/VictoryRoad2F.asm deleted file mode 100755 index a0138cb2..00000000 --- a/data/mapHeaders/VictoryRoad2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -VictoryRoad2F_h:: - db CAVERN ; tileset - db VICTORY_ROAD_2F_HEIGHT, VICTORY_ROAD_2F_WIDTH ; dimensions (y, x) - dw VictoryRoad2F_Blocks ; blocks - dw VictoryRoad2F_TextPointers ; texts - dw VictoryRoad2F_Script ; scripts - db 0 ; connections - dw VictoryRoad2F_Object ; objects diff --git a/data/mapHeaders/VictoryRoad3F.asm b/data/mapHeaders/VictoryRoad3F.asm deleted file mode 100755 index 32133afa..00000000 --- a/data/mapHeaders/VictoryRoad3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -VictoryRoad3F_h:: - db CAVERN ; tileset - db VICTORY_ROAD_3F_HEIGHT, VICTORY_ROAD_3F_WIDTH ; dimensions (y, x) - dw VictoryRoad3F_Blocks ; blocks - dw VictoryRoad3F_TextPointers ; texts - dw VictoryRoad3F_Script ; scripts - db 0 ; connections - dw VictoryRoad3F_Object ; objects diff --git a/data/mapHeaders/ViridianCity.asm b/data/mapHeaders/ViridianCity.asm deleted file mode 100755 index 5dc56820..00000000 --- a/data/mapHeaders/ViridianCity.asm +++ /dev/null @@ -1,11 +0,0 @@ -ViridianCity_h:: - db OVERWORLD ; tileset - db VIRIDIAN_CITY_HEIGHT, VIRIDIAN_CITY_WIDTH ; dimensions (y, x) - dw ViridianCity_Blocks ; blocks - dw ViridianCity_TextPointers ; texts - dw ViridianCity_Script ; scripts - db NORTH | SOUTH | WEST ; connections - NORTH_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_2, 5, 0, Route2_Blocks - SOUTH_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_1, 5, 0, Route1_Blocks, 1 - WEST_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_22, 4, 0, Route22_Blocks - dw ViridianCity_Object ; objects diff --git a/data/mapHeaders/ViridianForest.asm b/data/mapHeaders/ViridianForest.asm deleted file mode 100755 index 557b99ed..00000000 --- a/data/mapHeaders/ViridianForest.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianForest_h:: - db FOREST ; tileset - db VIRIDIAN_FOREST_HEIGHT, VIRIDIAN_FOREST_WIDTH ; dimensions (y, x) - dw ViridianForest_Blocks ; blocks - dw ViridianForest_TextPointers ; texts - dw ViridianForest_Script ; scripts - db 0 ; connections - dw ViridianForest_Object ; objects diff --git a/data/mapHeaders/ViridianForestNorthGate.asm b/data/mapHeaders/ViridianForestNorthGate.asm deleted file mode 100755 index 1fd4ac7d..00000000 --- a/data/mapHeaders/ViridianForestNorthGate.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianForestNorthGate_h:: - db FOREST_GATE ; tileset - db VIRIDIAN_FOREST_NORTH_GATE_HEIGHT, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; dimensions (y, x) - dw ViridianForestNorthGate_Blocks ; blocks - dw ViridianForestNorthGate_TextPointers ; texts - dw ViridianForestNorthGate_Script ; scripts - db 0 ; connections - dw ViridianForestNorthGate_Object ; objects diff --git a/data/mapHeaders/ViridianForestSouthGate.asm b/data/mapHeaders/ViridianForestSouthGate.asm deleted file mode 100755 index 65d587f8..00000000 --- a/data/mapHeaders/ViridianForestSouthGate.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianForestSouthGate_h:: - db FOREST_GATE ; tileset - db VIRIDIAN_FOREST_SOUTH_GATE_HEIGHT, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; dimensions (y, x) - dw ViridianForestSouthGate_Blocks ; blocks - dw ViridianForestSouthGate_TextPointers ; texts - dw ViridianForestSouthGate_Script ; scripts - db 0 ; connections - dw ViridianForestSouthGate_Object ; objects diff --git a/data/mapHeaders/ViridianGym.asm b/data/mapHeaders/ViridianGym.asm deleted file mode 100755 index 136a13b5..00000000 --- a/data/mapHeaders/ViridianGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianGym_h:: - db GYM ; tileset - db VIRIDIAN_GYM_HEIGHT, VIRIDIAN_GYM_WIDTH ; dimensions (y, x) - dw ViridianGym_Blocks ; blocks - dw ViridianGym_TextPointers ; texts - dw ViridianGym_Script ; scripts - db 0 ; connections - dw ViridianGym_Object ; objects diff --git a/data/mapHeaders/ViridianMart.asm b/data/mapHeaders/ViridianMart.asm deleted file mode 100755 index 341caa86..00000000 --- a/data/mapHeaders/ViridianMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianMart_h:: - db MART ; tileset - db VIRIDIAN_MART_HEIGHT, VIRIDIAN_MART_WIDTH ; dimensions (y, x) - dw ViridianMart_Blocks ; blocks - dw ViridianMart_TextPointers ; texts - dw ViridianMart_Script ; scripts - db 0 ; connections - dw ViridianMart_Object ; objects diff --git a/data/mapHeaders/ViridianNicknameHouse.asm b/data/mapHeaders/ViridianNicknameHouse.asm deleted file mode 100755 index db817b2f..00000000 --- a/data/mapHeaders/ViridianNicknameHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianNicknameHouse_h:: - db HOUSE ; tileset - db VIRIDIAN_NICKNAME_HOUSE_HEIGHT, VIRIDIAN_NICKNAME_HOUSE_WIDTH ; dimensions (y, x) - dw ViridianNicknameHouse_Blocks ; blocks - dw ViridianNicknameHouse_TextPointers ; texts - dw ViridianNicknameHouse_Script ; scripts - db 0 ; connections - dw ViridianNicknameHouse_Object ; objects diff --git a/data/mapHeaders/ViridianPokecenter.asm b/data/mapHeaders/ViridianPokecenter.asm deleted file mode 100755 index 203abf06..00000000 --- a/data/mapHeaders/ViridianPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianPokecenter_h:: - db POKECENTER ; tileset - db VIRIDIAN_POKECENTER_HEIGHT, VIRIDIAN_POKECENTER_WIDTH ; dimensions (y, x) - dw ViridianPokecenter_Blocks ; blocks - dw ViridianPokecenter_TextPointers ; texts - dw ViridianPokecenter_Script ; scripts - db 0 ; connections - dw ViridianPokecenter_Object ; objects diff --git a/data/mapHeaders/ViridianSchoolHouse.asm b/data/mapHeaders/ViridianSchoolHouse.asm deleted file mode 100755 index fdf1090a..00000000 --- a/data/mapHeaders/ViridianSchoolHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianSchoolHouse_h:: - db HOUSE ; tileset - db VIRIDIAN_SCHOOL_HOUSE_HEIGHT, VIRIDIAN_SCHOOL_HOUSE_WIDTH ; dimensions (y, x) - dw ViridianSchoolHouse_Blocks ; blocks - dw ViridianSchoolHouse_TextPointers ; texts - dw ViridianSchoolHouse_Script ; scripts - db 0 ; connections - dw ViridianSchoolHouse_Object ; objects diff --git a/data/mapHeaders/WardensHouse.asm b/data/mapHeaders/WardensHouse.asm deleted file mode 100755 index 6c6b0f6c..00000000 --- a/data/mapHeaders/WardensHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -WardensHouse_h:: - db LAB ; tileset - db WARDENS_HOUSE_HEIGHT, WARDENS_HOUSE_WIDTH ; dimensions (y, x) - dw WardensHouse_Blocks ; blocks - dw WardensHouse_TextPointers ; texts - dw WardensHouse_Script ; scripts - db 0 ; connections - dw WardensHouse_Object ; objects diff --git a/data/dungeon_maps.asm b/data/maps/dungeon_maps.asm similarity index 100% rename from data/dungeon_maps.asm rename to data/maps/dungeon_maps.asm diff --git a/data/force_bike_surf.asm b/data/maps/force_bike_surf.asm similarity index 100% rename from data/force_bike_surf.asm rename to data/maps/force_bike_surf.asm diff --git a/data/maps/headers/AgathasRoom.asm b/data/maps/headers/AgathasRoom.asm new file mode 100755 index 00000000..d04e0cfd --- /dev/null +++ b/data/maps/headers/AgathasRoom.asm @@ -0,0 +1,3 @@ + + map_header AgathasRoom, AGATHAS_ROOM, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/BikeShop.asm b/data/maps/headers/BikeShop.asm new file mode 100755 index 00000000..b4b520e2 --- /dev/null +++ b/data/maps/headers/BikeShop.asm @@ -0,0 +1,3 @@ + + map_header BikeShop, BIKE_SHOP, CLUB, 0 + end_map_header diff --git a/data/maps/headers/BillsHouse.asm b/data/maps/headers/BillsHouse.asm new file mode 100755 index 00000000..6063175d --- /dev/null +++ b/data/maps/headers/BillsHouse.asm @@ -0,0 +1,3 @@ + + map_header BillsHouse, BILLS_HOUSE, INTERIOR, 0 + end_map_header diff --git a/data/maps/headers/BluesHouse.asm b/data/maps/headers/BluesHouse.asm new file mode 100755 index 00000000..33cee254 --- /dev/null +++ b/data/maps/headers/BluesHouse.asm @@ -0,0 +1,3 @@ + + map_header BluesHouse, BLUES_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/BrunosRoom.asm b/data/maps/headers/BrunosRoom.asm new file mode 100755 index 00000000..a0b2d4fd --- /dev/null +++ b/data/maps/headers/BrunosRoom.asm @@ -0,0 +1,3 @@ + + map_header BrunosRoom, BRUNOS_ROOM, GYM, 0 + end_map_header diff --git a/data/maps/headers/CeladonChiefHouse.asm b/data/maps/headers/CeladonChiefHouse.asm new file mode 100755 index 00000000..34f17273 --- /dev/null +++ b/data/maps/headers/CeladonChiefHouse.asm @@ -0,0 +1,3 @@ + + map_header CeladonChiefHouse, CELADON_CHIEF_HOUSE, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonCity.asm b/data/maps/headers/CeladonCity.asm new file mode 100755 index 00000000..6faa6f48 --- /dev/null +++ b/data/maps/headers/CeladonCity.asm @@ -0,0 +1,5 @@ + + map_header CeladonCity, CELADON_CITY, OVERWORLD, WEST | EAST + connection west, Route16, ROUTE_16, 4 + connection east, Route7, ROUTE_7, 4 + end_map_header diff --git a/data/maps/headers/CeladonDiner.asm b/data/maps/headers/CeladonDiner.asm new file mode 100755 index 00000000..b18d9633 --- /dev/null +++ b/data/maps/headers/CeladonDiner.asm @@ -0,0 +1,3 @@ + + map_header CeladonDiner, CELADON_DINER, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonGym.asm b/data/maps/headers/CeladonGym.asm new file mode 100755 index 00000000..2302c65a --- /dev/null +++ b/data/maps/headers/CeladonGym.asm @@ -0,0 +1,3 @@ + + map_header CeladonGym, CELADON_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/CeladonHotel.asm b/data/maps/headers/CeladonHotel.asm new file mode 100755 index 00000000..2339c14d --- /dev/null +++ b/data/maps/headers/CeladonHotel.asm @@ -0,0 +1,3 @@ + + map_header CeladonHotel, CELADON_HOTEL, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansion1F.asm b/data/maps/headers/CeladonMansion1F.asm new file mode 100755 index 00000000..45970028 --- /dev/null +++ b/data/maps/headers/CeladonMansion1F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansion1F, CELADON_MANSION_1F, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansion2F.asm b/data/maps/headers/CeladonMansion2F.asm new file mode 100755 index 00000000..d5e3e77b --- /dev/null +++ b/data/maps/headers/CeladonMansion2F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansion2F, CELADON_MANSION_2F, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansion3F.asm b/data/maps/headers/CeladonMansion3F.asm new file mode 100755 index 00000000..7566caad --- /dev/null +++ b/data/maps/headers/CeladonMansion3F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansion3F, CELADON_MANSION_3F, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansionRoof.asm b/data/maps/headers/CeladonMansionRoof.asm new file mode 100755 index 00000000..9cbae6f6 --- /dev/null +++ b/data/maps/headers/CeladonMansionRoof.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansionRoof, CELADON_MANSION_ROOF, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansionRoofHouse.asm b/data/maps/headers/CeladonMansionRoofHouse.asm new file mode 100755 index 00000000..cb80fac8 --- /dev/null +++ b/data/maps/headers/CeladonMansionRoofHouse.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart1F.asm b/data/maps/headers/CeladonMart1F.asm new file mode 100755 index 00000000..30bd9ba9 --- /dev/null +++ b/data/maps/headers/CeladonMart1F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart1F, CELADON_MART_1F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart2F.asm b/data/maps/headers/CeladonMart2F.asm new file mode 100755 index 00000000..d78dfe28 --- /dev/null +++ b/data/maps/headers/CeladonMart2F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart2F, CELADON_MART_2F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart3F.asm b/data/maps/headers/CeladonMart3F.asm new file mode 100755 index 00000000..ad415eee --- /dev/null +++ b/data/maps/headers/CeladonMart3F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart3F, CELADON_MART_3F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart4F.asm b/data/maps/headers/CeladonMart4F.asm new file mode 100755 index 00000000..b9ce5b34 --- /dev/null +++ b/data/maps/headers/CeladonMart4F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart4F, CELADON_MART_4F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart5F.asm b/data/maps/headers/CeladonMart5F.asm new file mode 100755 index 00000000..04d65b2b --- /dev/null +++ b/data/maps/headers/CeladonMart5F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart5F, CELADON_MART_5F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMartElevator.asm b/data/maps/headers/CeladonMartElevator.asm new file mode 100755 index 00000000..2a98ccb0 --- /dev/null +++ b/data/maps/headers/CeladonMartElevator.asm @@ -0,0 +1,3 @@ + + map_header CeladonMartElevator, CELADON_MART_ELEVATOR, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMartRoof.asm b/data/maps/headers/CeladonMartRoof.asm new file mode 100755 index 00000000..823ff25f --- /dev/null +++ b/data/maps/headers/CeladonMartRoof.asm @@ -0,0 +1,3 @@ + + map_header CeladonMartRoof, CELADON_MART_ROOF, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonPokecenter.asm b/data/maps/headers/CeladonPokecenter.asm new file mode 100755 index 00000000..378a41ec --- /dev/null +++ b/data/maps/headers/CeladonPokecenter.asm @@ -0,0 +1,3 @@ + + map_header CeladonPokecenter, CELADON_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/CeruleanBadgeHouse.asm b/data/maps/headers/CeruleanBadgeHouse.asm new file mode 100755 index 00000000..47a97b14 --- /dev/null +++ b/data/maps/headers/CeruleanBadgeHouse.asm @@ -0,0 +1,3 @@ + + map_header CeruleanBadgeHouse, CERULEAN_BADGE_HOUSE, SHIP, 0 + end_map_header diff --git a/data/maps/headers/CeruleanCave1F.asm b/data/maps/headers/CeruleanCave1F.asm new file mode 100755 index 00000000..7c80bbeb --- /dev/null +++ b/data/maps/headers/CeruleanCave1F.asm @@ -0,0 +1,3 @@ + + map_header CeruleanCave1F, CERULEAN_CAVE_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/CeruleanCave2F.asm b/data/maps/headers/CeruleanCave2F.asm new file mode 100755 index 00000000..353e265b --- /dev/null +++ b/data/maps/headers/CeruleanCave2F.asm @@ -0,0 +1,3 @@ + + map_header CeruleanCave2F, CERULEAN_CAVE_2F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/CeruleanCaveB1F.asm b/data/maps/headers/CeruleanCaveB1F.asm new file mode 100755 index 00000000..d759aa6b --- /dev/null +++ b/data/maps/headers/CeruleanCaveB1F.asm @@ -0,0 +1,3 @@ + + map_header CeruleanCaveB1F, CERULEAN_CAVE_B1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/CeruleanCity.asm b/data/maps/headers/CeruleanCity.asm new file mode 100755 index 00000000..c925713c --- /dev/null +++ b/data/maps/headers/CeruleanCity.asm @@ -0,0 +1,7 @@ + + map_header CeruleanCity, CERULEAN_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST + connection north, Route24, ROUTE_24, 5 + connection south, Route5, ROUTE_5, 5 + connection west, Route4, ROUTE_4, 4 + connection east, Route9, ROUTE_9, 4 + end_map_header diff --git a/data/maps/headers/CeruleanGym.asm b/data/maps/headers/CeruleanGym.asm new file mode 100755 index 00000000..b1010ac3 --- /dev/null +++ b/data/maps/headers/CeruleanGym.asm @@ -0,0 +1,3 @@ + + map_header CeruleanGym, CERULEAN_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/CeruleanMart.asm b/data/maps/headers/CeruleanMart.asm new file mode 100755 index 00000000..2ee31666 --- /dev/null +++ b/data/maps/headers/CeruleanMart.asm @@ -0,0 +1,3 @@ + + map_header CeruleanMart, CERULEAN_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/CeruleanPokecenter.asm b/data/maps/headers/CeruleanPokecenter.asm new file mode 100755 index 00000000..b79e7aff --- /dev/null +++ b/data/maps/headers/CeruleanPokecenter.asm @@ -0,0 +1,3 @@ + + map_header CeruleanPokecenter, CERULEAN_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/CeruleanTradeHouse.asm b/data/maps/headers/CeruleanTradeHouse.asm new file mode 100755 index 00000000..20970b77 --- /dev/null +++ b/data/maps/headers/CeruleanTradeHouse.asm @@ -0,0 +1,3 @@ + + map_header CeruleanTradeHouse, CERULEAN_TRADE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/CeruleanTrashedHouse.asm b/data/maps/headers/CeruleanTrashedHouse.asm new file mode 100755 index 00000000..192a4195 --- /dev/null +++ b/data/maps/headers/CeruleanTrashedHouse.asm @@ -0,0 +1,3 @@ + + map_header CeruleanTrashedHouse, CERULEAN_TRASHED_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/ChampionsRoom.asm b/data/maps/headers/ChampionsRoom.asm new file mode 100755 index 00000000..aadc70a6 --- /dev/null +++ b/data/maps/headers/ChampionsRoom.asm @@ -0,0 +1,3 @@ + + map_header ChampionsRoom, CHAMPIONS_ROOM, GYM, $0 + end_map_header diff --git a/data/maps/headers/CinnabarGym.asm b/data/maps/headers/CinnabarGym.asm new file mode 100755 index 00000000..cc6dc1d7 --- /dev/null +++ b/data/maps/headers/CinnabarGym.asm @@ -0,0 +1,3 @@ + + map_header CinnabarGym, CINNABAR_GYM, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/CinnabarIsland.asm b/data/maps/headers/CinnabarIsland.asm new file mode 100755 index 00000000..a94498be --- /dev/null +++ b/data/maps/headers/CinnabarIsland.asm @@ -0,0 +1,5 @@ + + map_header CinnabarIsland, CINNABAR_ISLAND, OVERWORLD, NORTH | EAST + connection north, Route21, ROUTE_21, 0 + connection east, Route20, ROUTE_20, 0 + end_map_header diff --git a/data/maps/headers/CinnabarLab.asm b/data/maps/headers/CinnabarLab.asm new file mode 100755 index 00000000..e8081e75 --- /dev/null +++ b/data/maps/headers/CinnabarLab.asm @@ -0,0 +1,3 @@ + + map_header CinnabarLab, CINNABAR_LAB, LAB, 0 + end_map_header diff --git a/data/maps/headers/CinnabarLabFossilRoom.asm b/data/maps/headers/CinnabarLabFossilRoom.asm new file mode 100755 index 00000000..3cb88437 --- /dev/null +++ b/data/maps/headers/CinnabarLabFossilRoom.asm @@ -0,0 +1,3 @@ + + map_header CinnabarLabFossilRoom, CINNABAR_LAB_FOSSIL_ROOM, LAB, 0 + end_map_header diff --git a/data/maps/headers/CinnabarLabMetronomeRoom.asm b/data/maps/headers/CinnabarLabMetronomeRoom.asm new file mode 100755 index 00000000..d77338c8 --- /dev/null +++ b/data/maps/headers/CinnabarLabMetronomeRoom.asm @@ -0,0 +1,3 @@ + + map_header CinnabarLabMetronomeRoom, CINNABAR_LAB_METRONOME_ROOM, LAB, 0 + end_map_header diff --git a/data/maps/headers/CinnabarLabTradeRoom.asm b/data/maps/headers/CinnabarLabTradeRoom.asm new file mode 100755 index 00000000..c23d9c15 --- /dev/null +++ b/data/maps/headers/CinnabarLabTradeRoom.asm @@ -0,0 +1,3 @@ + + map_header CinnabarLabTradeRoom, CINNABAR_LAB_TRADE_ROOM, LAB, 0 + end_map_header diff --git a/data/maps/headers/CinnabarMart.asm b/data/maps/headers/CinnabarMart.asm new file mode 100755 index 00000000..c68d582a --- /dev/null +++ b/data/maps/headers/CinnabarMart.asm @@ -0,0 +1,3 @@ + + map_header CinnabarMart, CINNABAR_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/CinnabarPokecenter.asm b/data/maps/headers/CinnabarPokecenter.asm new file mode 100755 index 00000000..d910133b --- /dev/null +++ b/data/maps/headers/CinnabarPokecenter.asm @@ -0,0 +1,3 @@ + + map_header CinnabarPokecenter, CINNABAR_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/Colosseum.asm b/data/maps/headers/Colosseum.asm new file mode 100755 index 00000000..faf03eb4 --- /dev/null +++ b/data/maps/headers/Colosseum.asm @@ -0,0 +1,3 @@ + + map_header Colosseum, COLOSSEUM, CLUB, 0 + end_map_header diff --git a/data/maps/headers/CopycatsHouse1F.asm b/data/maps/headers/CopycatsHouse1F.asm new file mode 100755 index 00000000..532cef93 --- /dev/null +++ b/data/maps/headers/CopycatsHouse1F.asm @@ -0,0 +1,3 @@ + + map_header CopycatsHouse1F, COPYCATS_HOUSE_1F, REDS_HOUSE_1, 0 + end_map_header diff --git a/data/maps/headers/CopycatsHouse2F.asm b/data/maps/headers/CopycatsHouse2F.asm new file mode 100755 index 00000000..38b1fbbb --- /dev/null +++ b/data/maps/headers/CopycatsHouse2F.asm @@ -0,0 +1,3 @@ + + map_header CopycatsHouse2F, COPYCATS_HOUSE_2F, REDS_HOUSE_2, 0 + end_map_header diff --git a/data/maps/headers/Daycare.asm b/data/maps/headers/Daycare.asm new file mode 100755 index 00000000..dabeedd9 --- /dev/null +++ b/data/maps/headers/Daycare.asm @@ -0,0 +1,3 @@ + + map_header Daycare, DAYCARE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/DiglettsCave.asm b/data/maps/headers/DiglettsCave.asm new file mode 100755 index 00000000..d3777d31 --- /dev/null +++ b/data/maps/headers/DiglettsCave.asm @@ -0,0 +1,3 @@ + + map_header DiglettsCave, DIGLETTS_CAVE, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/DiglettsCaveRoute11.asm b/data/maps/headers/DiglettsCaveRoute11.asm new file mode 100755 index 00000000..d8bdd704 --- /dev/null +++ b/data/maps/headers/DiglettsCaveRoute11.asm @@ -0,0 +1,3 @@ + + map_header DiglettsCaveRoute11, DIGLETTS_CAVE_ROUTE_11, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/DiglettsCaveRoute2.asm b/data/maps/headers/DiglettsCaveRoute2.asm new file mode 100755 index 00000000..86f5ae35 --- /dev/null +++ b/data/maps/headers/DiglettsCaveRoute2.asm @@ -0,0 +1,3 @@ + + map_header DiglettsCaveRoute2, DIGLETTS_CAVE_ROUTE_2, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/FightingDojo.asm b/data/maps/headers/FightingDojo.asm new file mode 100755 index 00000000..7ecadc57 --- /dev/null +++ b/data/maps/headers/FightingDojo.asm @@ -0,0 +1,3 @@ + + map_header FightingDojo, FIGHTING_DOJO, DOJO, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaBillsGrandpasHouse.asm b/data/maps/headers/FuchsiaBillsGrandpasHouse.asm new file mode 100755 index 00000000..10ba48e9 --- /dev/null +++ b/data/maps/headers/FuchsiaBillsGrandpasHouse.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaBillsGrandpasHouse, FUCHSIA_BILLS_GRANDPAS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaCity.asm b/data/maps/headers/FuchsiaCity.asm new file mode 100755 index 00000000..6028bce0 --- /dev/null +++ b/data/maps/headers/FuchsiaCity.asm @@ -0,0 +1,6 @@ + + map_header FuchsiaCity, FUCHSIA_CITY, OVERWORLD, SOUTH | WEST | EAST + connection south, Route19, ROUTE_19, 5 + connection west, Route18, ROUTE_18, 4 + connection east, Route15, ROUTE_15, 4 + end_map_header diff --git a/data/maps/headers/FuchsiaGoodRodHouse.asm b/data/maps/headers/FuchsiaGoodRodHouse.asm new file mode 100755 index 00000000..d21611c1 --- /dev/null +++ b/data/maps/headers/FuchsiaGoodRodHouse.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaGoodRodHouse, FUCHSIA_GOOD_ROD_HOUSE, SHIP, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaGym.asm b/data/maps/headers/FuchsiaGym.asm new file mode 100755 index 00000000..44be2971 --- /dev/null +++ b/data/maps/headers/FuchsiaGym.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaGym, FUCHSIA_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaMart.asm b/data/maps/headers/FuchsiaMart.asm new file mode 100755 index 00000000..120fe305 --- /dev/null +++ b/data/maps/headers/FuchsiaMart.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaMart, FUCHSIA_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaMeetingRoom.asm b/data/maps/headers/FuchsiaMeetingRoom.asm new file mode 100755 index 00000000..a5ab4f04 --- /dev/null +++ b/data/maps/headers/FuchsiaMeetingRoom.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaMeetingRoom, FUCHSIA_MEETING_ROOM, LAB, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaPokecenter.asm b/data/maps/headers/FuchsiaPokecenter.asm new file mode 100755 index 00000000..c1c683bd --- /dev/null +++ b/data/maps/headers/FuchsiaPokecenter.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaPokecenter, FUCHSIA_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/GameCorner.asm b/data/maps/headers/GameCorner.asm new file mode 100755 index 00000000..ad367b93 --- /dev/null +++ b/data/maps/headers/GameCorner.asm @@ -0,0 +1,3 @@ + + map_header GameCorner, GAME_CORNER, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/GameCornerPrizeRoom.asm b/data/maps/headers/GameCornerPrizeRoom.asm new file mode 100755 index 00000000..4668cbb8 --- /dev/null +++ b/data/maps/headers/GameCornerPrizeRoom.asm @@ -0,0 +1,3 @@ + + map_header GameCornerPrizeRoom, GAME_CORNER_PRIZE_ROOM, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/HallOfFame.asm b/data/maps/headers/HallOfFame.asm new file mode 100755 index 00000000..e2dc3fb3 --- /dev/null +++ b/data/maps/headers/HallOfFame.asm @@ -0,0 +1,3 @@ + + map_header HallOfFame, HALL_OF_FAME, GYM, 0 + end_map_header diff --git a/data/maps/headers/IndigoPlateau.asm b/data/maps/headers/IndigoPlateau.asm new file mode 100755 index 00000000..ff394dfe --- /dev/null +++ b/data/maps/headers/IndigoPlateau.asm @@ -0,0 +1,4 @@ + + map_header IndigoPlateau, INDIGO_PLATEAU, PLATEAU, SOUTH + connection south, Route23, ROUTE_23, 0 + end_map_header diff --git a/data/maps/headers/IndigoPlateauLobby.asm b/data/maps/headers/IndigoPlateauLobby.asm new file mode 100755 index 00000000..b13afa12 --- /dev/null +++ b/data/maps/headers/IndigoPlateauLobby.asm @@ -0,0 +1,3 @@ + + map_header IndigoPlateauLobby, INDIGO_PLATEAU_LOBBY, MART, 0 + end_map_header diff --git a/data/maps/headers/LancesRoom.asm b/data/maps/headers/LancesRoom.asm new file mode 100755 index 00000000..0b69970e --- /dev/null +++ b/data/maps/headers/LancesRoom.asm @@ -0,0 +1,3 @@ + + map_header LancesRoom, LANCES_ROOM, DOJO, 0 + end_map_header diff --git a/data/maps/headers/LavenderCuboneHouse.asm b/data/maps/headers/LavenderCuboneHouse.asm new file mode 100755 index 00000000..dfd38ff1 --- /dev/null +++ b/data/maps/headers/LavenderCuboneHouse.asm @@ -0,0 +1,3 @@ + + map_header LavenderCuboneHouse, LAVENDER_CUBONE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/LavenderMart.asm b/data/maps/headers/LavenderMart.asm new file mode 100755 index 00000000..82c239e6 --- /dev/null +++ b/data/maps/headers/LavenderMart.asm @@ -0,0 +1,3 @@ + + map_header LavenderMart, LAVENDER_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/LavenderPokecenter.asm b/data/maps/headers/LavenderPokecenter.asm new file mode 100755 index 00000000..c0cd0adf --- /dev/null +++ b/data/maps/headers/LavenderPokecenter.asm @@ -0,0 +1,3 @@ + + map_header LavenderPokecenter, LAVENDER_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/LavenderTown.asm b/data/maps/headers/LavenderTown.asm new file mode 100755 index 00000000..7c1c9c46 --- /dev/null +++ b/data/maps/headers/LavenderTown.asm @@ -0,0 +1,6 @@ + + map_header LavenderTown, LAVENDER_TOWN, OVERWORLD, NORTH | SOUTH | WEST + connection north, Route10, ROUTE_10, 0 + connection south, Route12, ROUTE_12, 0 + connection west, Route8, ROUTE_8, 0 + end_map_header diff --git a/data/maps/headers/LoreleisRoom.asm b/data/maps/headers/LoreleisRoom.asm new file mode 100755 index 00000000..feff946c --- /dev/null +++ b/data/maps/headers/LoreleisRoom.asm @@ -0,0 +1,3 @@ + + map_header LoreleisRoom, LORELEIS_ROOM, GYM, 0 + end_map_header diff --git a/data/maps/headers/MrFujisHouse.asm b/data/maps/headers/MrFujisHouse.asm new file mode 100755 index 00000000..023cb501 --- /dev/null +++ b/data/maps/headers/MrFujisHouse.asm @@ -0,0 +1,3 @@ + + map_header MrFujisHouse, MR_FUJIS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/MrPsychicsHouse.asm b/data/maps/headers/MrPsychicsHouse.asm new file mode 100755 index 00000000..628db044 --- /dev/null +++ b/data/maps/headers/MrPsychicsHouse.asm @@ -0,0 +1,3 @@ + + map_header MrPsychicsHouse, MR_PSYCHICS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/MtMoon1F.asm b/data/maps/headers/MtMoon1F.asm new file mode 100755 index 00000000..8de2be3e --- /dev/null +++ b/data/maps/headers/MtMoon1F.asm @@ -0,0 +1,3 @@ + + map_header MtMoon1F, MT_MOON_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/MtMoonB1F.asm b/data/maps/headers/MtMoonB1F.asm new file mode 100755 index 00000000..9c97b5c7 --- /dev/null +++ b/data/maps/headers/MtMoonB1F.asm @@ -0,0 +1,3 @@ + + map_header MtMoonB1F, MT_MOON_B1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/MtMoonB2F.asm b/data/maps/headers/MtMoonB2F.asm new file mode 100755 index 00000000..0ed1f96e --- /dev/null +++ b/data/maps/headers/MtMoonB2F.asm @@ -0,0 +1,3 @@ + + map_header MtMoonB2F, MT_MOON_B2F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/MtMoonPokecenter.asm b/data/maps/headers/MtMoonPokecenter.asm new file mode 100755 index 00000000..0425eae7 --- /dev/null +++ b/data/maps/headers/MtMoonPokecenter.asm @@ -0,0 +1,3 @@ + + map_header MtMoonPokecenter, MT_MOON_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/Museum1F.asm b/data/maps/headers/Museum1F.asm new file mode 100755 index 00000000..d92176d2 --- /dev/null +++ b/data/maps/headers/Museum1F.asm @@ -0,0 +1,3 @@ + + map_header Museum1F, MUSEUM_1F, MUSEUM, 0 + end_map_header diff --git a/data/maps/headers/Museum2F.asm b/data/maps/headers/Museum2F.asm new file mode 100755 index 00000000..d5bf8918 --- /dev/null +++ b/data/maps/headers/Museum2F.asm @@ -0,0 +1,3 @@ + + map_header Museum2F, MUSEUM_2F, MUSEUM, 0 + end_map_header diff --git a/data/maps/headers/NameRatersHouse.asm b/data/maps/headers/NameRatersHouse.asm new file mode 100755 index 00000000..3f9010f0 --- /dev/null +++ b/data/maps/headers/NameRatersHouse.asm @@ -0,0 +1,3 @@ + + map_header NameRatersHouse, NAME_RATERS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/OaksLab.asm b/data/maps/headers/OaksLab.asm new file mode 100755 index 00000000..42bb76e8 --- /dev/null +++ b/data/maps/headers/OaksLab.asm @@ -0,0 +1,3 @@ + + map_header OaksLab, OAKS_LAB, DOJO, 0 + end_map_header diff --git a/data/maps/headers/PalletTown.asm b/data/maps/headers/PalletTown.asm new file mode 100755 index 00000000..2745bdc1 --- /dev/null +++ b/data/maps/headers/PalletTown.asm @@ -0,0 +1,5 @@ + + map_header PalletTown, PALLET_TOWN, OVERWORLD, NORTH | SOUTH + connection north, Route1, ROUTE_1, 0 + connection south, Route21, ROUTE_21, 0 + end_map_header diff --git a/data/maps/headers/PewterCity.asm b/data/maps/headers/PewterCity.asm new file mode 100755 index 00000000..268adb7a --- /dev/null +++ b/data/maps/headers/PewterCity.asm @@ -0,0 +1,5 @@ + + map_header PewterCity, PEWTER_CITY, OVERWORLD, SOUTH | EAST + connection south, Route2, ROUTE_2, 5 + connection east, Route3, ROUTE_3, 4 + end_map_header diff --git a/data/maps/headers/PewterGym.asm b/data/maps/headers/PewterGym.asm new file mode 100755 index 00000000..a1659e42 --- /dev/null +++ b/data/maps/headers/PewterGym.asm @@ -0,0 +1,3 @@ + + map_header PewterGym, PEWTER_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/PewterMart.asm b/data/maps/headers/PewterMart.asm new file mode 100755 index 00000000..c9b24eb2 --- /dev/null +++ b/data/maps/headers/PewterMart.asm @@ -0,0 +1,3 @@ + + map_header PewterMart, PEWTER_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/PewterNidoranHouse.asm b/data/maps/headers/PewterNidoranHouse.asm new file mode 100755 index 00000000..ee2e46ca --- /dev/null +++ b/data/maps/headers/PewterNidoranHouse.asm @@ -0,0 +1,3 @@ + + map_header PewterNidoranHouse, PEWTER_NIDORAN_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/PewterPokecenter.asm b/data/maps/headers/PewterPokecenter.asm new file mode 100755 index 00000000..4e420bf8 --- /dev/null +++ b/data/maps/headers/PewterPokecenter.asm @@ -0,0 +1,3 @@ + + map_header PewterPokecenter, PEWTER_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/PewterSpeechHouse.asm b/data/maps/headers/PewterSpeechHouse.asm new file mode 100755 index 00000000..a378d61e --- /dev/null +++ b/data/maps/headers/PewterSpeechHouse.asm @@ -0,0 +1,3 @@ + + map_header PewterSpeechHouse, PEWTER_SPEECH_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/PokemonFanClub.asm b/data/maps/headers/PokemonFanClub.asm new file mode 100755 index 00000000..b4ff8e1c --- /dev/null +++ b/data/maps/headers/PokemonFanClub.asm @@ -0,0 +1,3 @@ + + map_header PokemonFanClub, POKEMON_FAN_CLUB, INTERIOR, 0 + end_map_header diff --git a/data/maps/headers/PokemonMansion1F.asm b/data/maps/headers/PokemonMansion1F.asm new file mode 100755 index 00000000..9407f956 --- /dev/null +++ b/data/maps/headers/PokemonMansion1F.asm @@ -0,0 +1,3 @@ + + map_header PokemonMansion1F, POKEMON_MANSION_1F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/PokemonMansion2F.asm b/data/maps/headers/PokemonMansion2F.asm new file mode 100755 index 00000000..deb7c84f --- /dev/null +++ b/data/maps/headers/PokemonMansion2F.asm @@ -0,0 +1,3 @@ + + map_header PokemonMansion2F, POKEMON_MANSION_2F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/PokemonMansion3F.asm b/data/maps/headers/PokemonMansion3F.asm new file mode 100755 index 00000000..e4baa709 --- /dev/null +++ b/data/maps/headers/PokemonMansion3F.asm @@ -0,0 +1,3 @@ + + map_header PokemonMansion3F, POKEMON_MANSION_3F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/PokemonMansionB1F.asm b/data/maps/headers/PokemonMansionB1F.asm new file mode 100755 index 00000000..0aae67e6 --- /dev/null +++ b/data/maps/headers/PokemonMansionB1F.asm @@ -0,0 +1,3 @@ + + map_header PokemonMansionB1F, POKEMON_MANSION_B1F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower1F.asm b/data/maps/headers/PokemonTower1F.asm new file mode 100755 index 00000000..185fd2c0 --- /dev/null +++ b/data/maps/headers/PokemonTower1F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower1F, POKEMON_TOWER_1F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower2F.asm b/data/maps/headers/PokemonTower2F.asm new file mode 100755 index 00000000..5a6046c8 --- /dev/null +++ b/data/maps/headers/PokemonTower2F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower2F, POKEMON_TOWER_2F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower3F.asm b/data/maps/headers/PokemonTower3F.asm new file mode 100755 index 00000000..49ebc4e7 --- /dev/null +++ b/data/maps/headers/PokemonTower3F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower3F, POKEMON_TOWER_3F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower4F.asm b/data/maps/headers/PokemonTower4F.asm new file mode 100755 index 00000000..0eb9a0d6 --- /dev/null +++ b/data/maps/headers/PokemonTower4F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower4F, POKEMON_TOWER_4F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower5F.asm b/data/maps/headers/PokemonTower5F.asm new file mode 100755 index 00000000..e58c63c6 --- /dev/null +++ b/data/maps/headers/PokemonTower5F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower5F, POKEMON_TOWER_5F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower6F.asm b/data/maps/headers/PokemonTower6F.asm new file mode 100755 index 00000000..ba53347b --- /dev/null +++ b/data/maps/headers/PokemonTower6F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower6F, POKEMON_TOWER_6F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower7F.asm b/data/maps/headers/PokemonTower7F.asm new file mode 100755 index 00000000..bd9f839b --- /dev/null +++ b/data/maps/headers/PokemonTower7F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower7F, POKEMON_TOWER_7F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PowerPlant.asm b/data/maps/headers/PowerPlant.asm new file mode 100755 index 00000000..88d82ae2 --- /dev/null +++ b/data/maps/headers/PowerPlant.asm @@ -0,0 +1,3 @@ + + map_header PowerPlant, POWER_PLANT, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RedsHouse1F.asm b/data/maps/headers/RedsHouse1F.asm new file mode 100755 index 00000000..018bdc80 --- /dev/null +++ b/data/maps/headers/RedsHouse1F.asm @@ -0,0 +1,3 @@ + + map_header RedsHouse1F, REDS_HOUSE_1F, REDS_HOUSE_1, 0 + end_map_header diff --git a/data/maps/headers/RedsHouse2F.asm b/data/maps/headers/RedsHouse2F.asm new file mode 100755 index 00000000..10332e2c --- /dev/null +++ b/data/maps/headers/RedsHouse2F.asm @@ -0,0 +1,3 @@ + + map_header RedsHouse2F, REDS_HOUSE_2F, REDS_HOUSE_2, $00 + end_map_header diff --git a/data/maps/headers/RockTunnel1F.asm b/data/maps/headers/RockTunnel1F.asm new file mode 100755 index 00000000..268ee645 --- /dev/null +++ b/data/maps/headers/RockTunnel1F.asm @@ -0,0 +1,3 @@ + + map_header RockTunnel1F, ROCK_TUNNEL_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/RockTunnelB1F.asm b/data/maps/headers/RockTunnelB1F.asm new file mode 100755 index 00000000..7b13f647 --- /dev/null +++ b/data/maps/headers/RockTunnelB1F.asm @@ -0,0 +1,3 @@ + + map_header RockTunnelB1F, ROCK_TUNNEL_B1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/RockTunnelPokecenter.asm b/data/maps/headers/RockTunnelPokecenter.asm new file mode 100755 index 00000000..a873854b --- /dev/null +++ b/data/maps/headers/RockTunnelPokecenter.asm @@ -0,0 +1,3 @@ + + map_header RockTunnelPokecenter, ROCK_TUNNEL_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutB1F.asm b/data/maps/headers/RocketHideoutB1F.asm new file mode 100755 index 00000000..521a6693 --- /dev/null +++ b/data/maps/headers/RocketHideoutB1F.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutB1F, ROCKET_HIDEOUT_B1F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutB2F.asm b/data/maps/headers/RocketHideoutB2F.asm new file mode 100755 index 00000000..ab2a965d --- /dev/null +++ b/data/maps/headers/RocketHideoutB2F.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutB2F, ROCKET_HIDEOUT_B2F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutB3F.asm b/data/maps/headers/RocketHideoutB3F.asm new file mode 100755 index 00000000..0a04b00e --- /dev/null +++ b/data/maps/headers/RocketHideoutB3F.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutB3F, ROCKET_HIDEOUT_B3F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutB4F.asm b/data/maps/headers/RocketHideoutB4F.asm new file mode 100755 index 00000000..11512c01 --- /dev/null +++ b/data/maps/headers/RocketHideoutB4F.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutB4F, ROCKET_HIDEOUT_B4F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutElevator.asm b/data/maps/headers/RocketHideoutElevator.asm new file mode 100755 index 00000000..90ece237 --- /dev/null +++ b/data/maps/headers/RocketHideoutElevator.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutElevator, ROCKET_HIDEOUT_ELEVATOR, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/Route1.asm b/data/maps/headers/Route1.asm new file mode 100755 index 00000000..6eeb0347 --- /dev/null +++ b/data/maps/headers/Route1.asm @@ -0,0 +1,5 @@ + + map_header Route1, ROUTE_1, OVERWORLD, NORTH | SOUTH + connection north, ViridianCity, VIRIDIAN_CITY, -5 + connection south, PalletTown, PALLET_TOWN, 0 + end_map_header diff --git a/data/maps/headers/Route10.asm b/data/maps/headers/Route10.asm new file mode 100755 index 00000000..ba498b0a --- /dev/null +++ b/data/maps/headers/Route10.asm @@ -0,0 +1,5 @@ + + map_header Route10, ROUTE_10, OVERWORLD, SOUTH | WEST + connection south, LavenderTown, LAVENDER_TOWN, 0 + connection west, Route9, ROUTE_9, 0 + end_map_header diff --git a/data/maps/headers/Route11.asm b/data/maps/headers/Route11.asm new file mode 100755 index 00000000..d8f2e72f --- /dev/null +++ b/data/maps/headers/Route11.asm @@ -0,0 +1,5 @@ + + map_header Route11, ROUTE_11, OVERWORLD, WEST | EAST + connection west, VermilionCity, VERMILION_CITY, -4 + connection east, Route12, ROUTE_12, -27 + end_map_header diff --git a/data/maps/headers/Route11Gate1F.asm b/data/maps/headers/Route11Gate1F.asm new file mode 100755 index 00000000..aa97b791 --- /dev/null +++ b/data/maps/headers/Route11Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route11Gate1F, ROUTE_11_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route11Gate2F.asm b/data/maps/headers/Route11Gate2F.asm new file mode 100755 index 00000000..560d38db --- /dev/null +++ b/data/maps/headers/Route11Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route11Gate2F, ROUTE_11_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route12.asm b/data/maps/headers/Route12.asm new file mode 100755 index 00000000..931ddf1d --- /dev/null +++ b/data/maps/headers/Route12.asm @@ -0,0 +1,6 @@ + + map_header Route12, ROUTE_12, OVERWORLD, NORTH | SOUTH | WEST + connection north, LavenderTown, LAVENDER_TOWN, 0 + connection south, Route13, ROUTE_13, -20 + connection west, Route11, ROUTE_11, 27 + end_map_header diff --git a/data/maps/headers/Route12Gate1F.asm b/data/maps/headers/Route12Gate1F.asm new file mode 100755 index 00000000..047a670c --- /dev/null +++ b/data/maps/headers/Route12Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route12Gate1F, ROUTE_12_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route12Gate2F.asm b/data/maps/headers/Route12Gate2F.asm new file mode 100755 index 00000000..e1366736 --- /dev/null +++ b/data/maps/headers/Route12Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route12Gate2F, ROUTE_12_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route12SuperRodHouse.asm b/data/maps/headers/Route12SuperRodHouse.asm new file mode 100755 index 00000000..2195a9b1 --- /dev/null +++ b/data/maps/headers/Route12SuperRodHouse.asm @@ -0,0 +1,3 @@ + + map_header Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/Route13.asm b/data/maps/headers/Route13.asm new file mode 100755 index 00000000..242aaa02 --- /dev/null +++ b/data/maps/headers/Route13.asm @@ -0,0 +1,5 @@ + + map_header Route13, ROUTE_13, OVERWORLD, NORTH | WEST + connection north, Route12, ROUTE_12, 20 + connection west, Route14, ROUTE_14, 0 + end_map_header diff --git a/data/maps/headers/Route14.asm b/data/maps/headers/Route14.asm new file mode 100755 index 00000000..c0c39c56 --- /dev/null +++ b/data/maps/headers/Route14.asm @@ -0,0 +1,5 @@ + + map_header Route14, ROUTE_14, OVERWORLD, WEST | EAST + connection west, Route15, ROUTE_15, 18 + connection east, Route13, ROUTE_13, 0 + end_map_header diff --git a/data/maps/headers/Route15.asm b/data/maps/headers/Route15.asm new file mode 100755 index 00000000..28a811d2 --- /dev/null +++ b/data/maps/headers/Route15.asm @@ -0,0 +1,5 @@ + + map_header Route15, ROUTE_15, OVERWORLD, WEST | EAST + connection west, FuchsiaCity, FUCHSIA_CITY, -4 + connection east, Route14, ROUTE_14, -18 + end_map_header diff --git a/data/maps/headers/Route15Gate1F.asm b/data/maps/headers/Route15Gate1F.asm new file mode 100755 index 00000000..a23d15a0 --- /dev/null +++ b/data/maps/headers/Route15Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route15Gate1F, ROUTE_15_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route15Gate2F.asm b/data/maps/headers/Route15Gate2F.asm new file mode 100755 index 00000000..8ca89872 --- /dev/null +++ b/data/maps/headers/Route15Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route15Gate2F, ROUTE_15_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route16.asm b/data/maps/headers/Route16.asm new file mode 100755 index 00000000..423c7af2 --- /dev/null +++ b/data/maps/headers/Route16.asm @@ -0,0 +1,5 @@ + + map_header Route16, ROUTE_16, OVERWORLD, SOUTH | EAST + connection south, Route17, ROUTE_17, 0 + connection east, CeladonCity, CELADON_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route16FlyHouse.asm b/data/maps/headers/Route16FlyHouse.asm new file mode 100755 index 00000000..240b6df4 --- /dev/null +++ b/data/maps/headers/Route16FlyHouse.asm @@ -0,0 +1,3 @@ + + map_header Route16FlyHouse, ROUTE_16_FLY_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/Route16Gate1F.asm b/data/maps/headers/Route16Gate1F.asm new file mode 100755 index 00000000..74fd1b7f --- /dev/null +++ b/data/maps/headers/Route16Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route16Gate1F, ROUTE_16_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route16Gate2F.asm b/data/maps/headers/Route16Gate2F.asm new file mode 100755 index 00000000..ed889f4b --- /dev/null +++ b/data/maps/headers/Route16Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route16Gate2F, ROUTE_16_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route17.asm b/data/maps/headers/Route17.asm new file mode 100755 index 00000000..5e853299 --- /dev/null +++ b/data/maps/headers/Route17.asm @@ -0,0 +1,5 @@ + + map_header Route17, ROUTE_17, OVERWORLD, NORTH | SOUTH + connection north, Route16, ROUTE_16, 0 + connection south, Route18, ROUTE_18, 0 + end_map_header diff --git a/data/maps/headers/Route18.asm b/data/maps/headers/Route18.asm new file mode 100755 index 00000000..34573051 --- /dev/null +++ b/data/maps/headers/Route18.asm @@ -0,0 +1,5 @@ + + map_header Route18, ROUTE_18, OVERWORLD, NORTH | EAST + connection north, Route17, ROUTE_17, 0 + connection east, FuchsiaCity, FUCHSIA_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route18Gate1F.asm b/data/maps/headers/Route18Gate1F.asm new file mode 100755 index 00000000..2847e0e3 --- /dev/null +++ b/data/maps/headers/Route18Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route18Gate1F, ROUTE_18_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route18Gate2F.asm b/data/maps/headers/Route18Gate2F.asm new file mode 100755 index 00000000..f25fa700 --- /dev/null +++ b/data/maps/headers/Route18Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route18Gate2F, ROUTE_18_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route19.asm b/data/maps/headers/Route19.asm new file mode 100755 index 00000000..7f01c804 --- /dev/null +++ b/data/maps/headers/Route19.asm @@ -0,0 +1,5 @@ + + map_header Route19, ROUTE_19, OVERWORLD, NORTH | WEST + connection north, FuchsiaCity, FUCHSIA_CITY, -5 + connection west, Route20, ROUTE_20, 18 + end_map_header diff --git a/data/maps/headers/Route2.asm b/data/maps/headers/Route2.asm new file mode 100755 index 00000000..521eef69 --- /dev/null +++ b/data/maps/headers/Route2.asm @@ -0,0 +1,5 @@ + + map_header Route2, ROUTE_2, OVERWORLD, NORTH | SOUTH + connection north, PewterCity, PEWTER_CITY, -5 + connection south, ViridianCity, VIRIDIAN_CITY, -5 + end_map_header diff --git a/data/maps/headers/Route20.asm b/data/maps/headers/Route20.asm new file mode 100755 index 00000000..3495b785 --- /dev/null +++ b/data/maps/headers/Route20.asm @@ -0,0 +1,5 @@ + + map_header Route20, ROUTE_20, OVERWORLD, WEST | EAST + connection west, CinnabarIsland, CINNABAR_ISLAND, 0 + connection east, Route19, ROUTE_19, -18 + end_map_header diff --git a/data/maps/headers/Route21.asm b/data/maps/headers/Route21.asm new file mode 100755 index 00000000..803bf217 --- /dev/null +++ b/data/maps/headers/Route21.asm @@ -0,0 +1,5 @@ + + map_header Route21, ROUTE_21, OVERWORLD, NORTH | SOUTH + connection north, PalletTown, PALLET_TOWN, 0 + connection south, CinnabarIsland, CINNABAR_ISLAND, 0 + end_map_header diff --git a/data/maps/headers/Route22.asm b/data/maps/headers/Route22.asm new file mode 100755 index 00000000..e235efa1 --- /dev/null +++ b/data/maps/headers/Route22.asm @@ -0,0 +1,5 @@ + + map_header Route22, ROUTE_22, OVERWORLD, NORTH | EAST + connection north, Route23, ROUTE_23, 0 + connection east, ViridianCity, VIRIDIAN_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route22Gate.asm b/data/maps/headers/Route22Gate.asm new file mode 100755 index 00000000..a9d1dd37 --- /dev/null +++ b/data/maps/headers/Route22Gate.asm @@ -0,0 +1,3 @@ + + map_header Route22Gate, ROUTE_22_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route23.asm b/data/maps/headers/Route23.asm new file mode 100755 index 00000000..e1535c9d --- /dev/null +++ b/data/maps/headers/Route23.asm @@ -0,0 +1,5 @@ + + map_header Route23, ROUTE_23, PLATEAU, NORTH | SOUTH + connection north, IndigoPlateau, INDIGO_PLATEAU, 0 + connection south, Route22, ROUTE_22, 0 + end_map_header diff --git a/data/maps/headers/Route24.asm b/data/maps/headers/Route24.asm new file mode 100755 index 00000000..faf53660 --- /dev/null +++ b/data/maps/headers/Route24.asm @@ -0,0 +1,5 @@ + + map_header Route24, ROUTE_24, OVERWORLD, SOUTH | EAST + connection south, CeruleanCity, CERULEAN_CITY, -5 + connection east, Route25, ROUTE_25, 0 + end_map_header diff --git a/data/maps/headers/Route25.asm b/data/maps/headers/Route25.asm new file mode 100755 index 00000000..1873d19b --- /dev/null +++ b/data/maps/headers/Route25.asm @@ -0,0 +1,4 @@ + + map_header Route25, ROUTE_25, OVERWORLD, WEST + connection west, Route24, ROUTE_24, 0 + end_map_header diff --git a/data/maps/headers/Route2Gate.asm b/data/maps/headers/Route2Gate.asm new file mode 100755 index 00000000..730d8f2d --- /dev/null +++ b/data/maps/headers/Route2Gate.asm @@ -0,0 +1,3 @@ + + map_header Route2Gate, ROUTE_2_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route2TradeHouse.asm b/data/maps/headers/Route2TradeHouse.asm new file mode 100755 index 00000000..b9937dad --- /dev/null +++ b/data/maps/headers/Route2TradeHouse.asm @@ -0,0 +1,3 @@ + + map_header Route2TradeHouse, ROUTE_2_TRADE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/Route3.asm b/data/maps/headers/Route3.asm new file mode 100755 index 00000000..ddbd7783 --- /dev/null +++ b/data/maps/headers/Route3.asm @@ -0,0 +1,5 @@ + + map_header Route3, ROUTE_3, OVERWORLD, NORTH | WEST + connection north, Route4, ROUTE_4, 25 + connection west, PewterCity, PEWTER_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route4.asm b/data/maps/headers/Route4.asm new file mode 100755 index 00000000..6c43171a --- /dev/null +++ b/data/maps/headers/Route4.asm @@ -0,0 +1,5 @@ + + map_header Route4, ROUTE_4, OVERWORLD, SOUTH | EAST + connection south, Route3, ROUTE_3, -25 + connection east, CeruleanCity, CERULEAN_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route5.asm b/data/maps/headers/Route5.asm new file mode 100755 index 00000000..ea84090c --- /dev/null +++ b/data/maps/headers/Route5.asm @@ -0,0 +1,5 @@ + + map_header Route5, ROUTE_5, OVERWORLD, NORTH | SOUTH + connection north, CeruleanCity, CERULEAN_CITY, -5 + connection south, SaffronCity, SAFFRON_CITY, -5 + end_map_header diff --git a/data/maps/headers/Route5Gate.asm b/data/maps/headers/Route5Gate.asm new file mode 100755 index 00000000..a0115533 --- /dev/null +++ b/data/maps/headers/Route5Gate.asm @@ -0,0 +1,3 @@ + + map_header Route5Gate, ROUTE_5_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route6.asm b/data/maps/headers/Route6.asm new file mode 100755 index 00000000..956aa4d6 --- /dev/null +++ b/data/maps/headers/Route6.asm @@ -0,0 +1,5 @@ + + map_header Route6, ROUTE_6, OVERWORLD, NORTH | SOUTH + connection north, SaffronCity, SAFFRON_CITY, -5 + connection south, VermilionCity, VERMILION_CITY, -5 + end_map_header diff --git a/data/maps/headers/Route6Gate.asm b/data/maps/headers/Route6Gate.asm new file mode 100755 index 00000000..f80b57c8 --- /dev/null +++ b/data/maps/headers/Route6Gate.asm @@ -0,0 +1,3 @@ + + map_header Route6Gate, ROUTE_6_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route7.asm b/data/maps/headers/Route7.asm new file mode 100755 index 00000000..8368c3fe --- /dev/null +++ b/data/maps/headers/Route7.asm @@ -0,0 +1,5 @@ + + map_header Route7, ROUTE_7, OVERWORLD, WEST | EAST + connection west, CeladonCity, CELADON_CITY, -4 + connection east, SaffronCity, SAFFRON_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route7Gate.asm b/data/maps/headers/Route7Gate.asm new file mode 100755 index 00000000..e9b9b16d --- /dev/null +++ b/data/maps/headers/Route7Gate.asm @@ -0,0 +1,3 @@ + + map_header Route7Gate, ROUTE_7_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route8.asm b/data/maps/headers/Route8.asm new file mode 100755 index 00000000..8df9e023 --- /dev/null +++ b/data/maps/headers/Route8.asm @@ -0,0 +1,5 @@ + + map_header Route8, ROUTE_8, OVERWORLD, WEST | EAST + connection west, SaffronCity, SAFFRON_CITY, -4 + connection east, LavenderTown, LAVENDER_TOWN, 0 + end_map_header diff --git a/data/maps/headers/Route8Gate.asm b/data/maps/headers/Route8Gate.asm new file mode 100755 index 00000000..f6a320a4 --- /dev/null +++ b/data/maps/headers/Route8Gate.asm @@ -0,0 +1,3 @@ + + map_header Route8Gate, ROUTE_8_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route9.asm b/data/maps/headers/Route9.asm new file mode 100755 index 00000000..c1ed9225 --- /dev/null +++ b/data/maps/headers/Route9.asm @@ -0,0 +1,5 @@ + + map_header Route9, ROUTE_9, OVERWORLD, WEST | EAST + connection west, CeruleanCity, CERULEAN_CITY, -4 + connection east, Route10, ROUTE_10, 0 + end_map_header diff --git a/data/maps/headers/SSAnne1F.asm b/data/maps/headers/SSAnne1F.asm new file mode 100755 index 00000000..80d25e2d --- /dev/null +++ b/data/maps/headers/SSAnne1F.asm @@ -0,0 +1,3 @@ + + map_header SSAnne1F, SS_ANNE_1F, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnne1FRooms.asm b/data/maps/headers/SSAnne1FRooms.asm new file mode 100755 index 00000000..8bdd8d00 --- /dev/null +++ b/data/maps/headers/SSAnne1FRooms.asm @@ -0,0 +1,3 @@ + + map_header SSAnne1FRooms, SS_ANNE_1F_ROOMS, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnne2F.asm b/data/maps/headers/SSAnne2F.asm new file mode 100755 index 00000000..b2fe14d7 --- /dev/null +++ b/data/maps/headers/SSAnne2F.asm @@ -0,0 +1,3 @@ + + map_header SSAnne2F, SS_ANNE_2F, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnne2FRooms.asm b/data/maps/headers/SSAnne2FRooms.asm new file mode 100755 index 00000000..2d349e4c --- /dev/null +++ b/data/maps/headers/SSAnne2FRooms.asm @@ -0,0 +1,3 @@ + + map_header SSAnne2FRooms, SS_ANNE_2F_ROOMS, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnne3F.asm b/data/maps/headers/SSAnne3F.asm new file mode 100755 index 00000000..f391a0cd --- /dev/null +++ b/data/maps/headers/SSAnne3F.asm @@ -0,0 +1,3 @@ + + map_header SSAnne3F, SS_ANNE_3F, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneB1F.asm b/data/maps/headers/SSAnneB1F.asm new file mode 100755 index 00000000..c21d7cff --- /dev/null +++ b/data/maps/headers/SSAnneB1F.asm @@ -0,0 +1,3 @@ + + map_header SSAnneB1F, SS_ANNE_B1F, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneB1FRooms.asm b/data/maps/headers/SSAnneB1FRooms.asm new file mode 100755 index 00000000..1b8b4620 --- /dev/null +++ b/data/maps/headers/SSAnneB1FRooms.asm @@ -0,0 +1,3 @@ + + map_header SSAnneB1FRooms, SS_ANNE_B1F_ROOMS, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneBow.asm b/data/maps/headers/SSAnneBow.asm new file mode 100755 index 00000000..2195e970 --- /dev/null +++ b/data/maps/headers/SSAnneBow.asm @@ -0,0 +1,3 @@ + + map_header SSAnneBow, SS_ANNE_BOW, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneCaptainsRoom.asm b/data/maps/headers/SSAnneCaptainsRoom.asm new file mode 100755 index 00000000..a24f930d --- /dev/null +++ b/data/maps/headers/SSAnneCaptainsRoom.asm @@ -0,0 +1,3 @@ + + map_header SSAnneCaptainsRoom, SS_ANNE_CAPTAINS_ROOM, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneKitchen.asm b/data/maps/headers/SSAnneKitchen.asm new file mode 100755 index 00000000..47e84fbe --- /dev/null +++ b/data/maps/headers/SSAnneKitchen.asm @@ -0,0 +1,3 @@ + + map_header SSAnneKitchen, SS_ANNE_KITCHEN, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneCenter.asm b/data/maps/headers/SafariZoneCenter.asm new file mode 100755 index 00000000..ccc58ed1 --- /dev/null +++ b/data/maps/headers/SafariZoneCenter.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneCenter, SAFARI_ZONE_CENTER, FOREST, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneCenterRestHouse.asm b/data/maps/headers/SafariZoneCenterRestHouse.asm new file mode 100755 index 00000000..a866003f --- /dev/null +++ b/data/maps/headers/SafariZoneCenterRestHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneCenterRestHouse, SAFARI_ZONE_CENTER_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneEast.asm b/data/maps/headers/SafariZoneEast.asm new file mode 100755 index 00000000..c23e9334 --- /dev/null +++ b/data/maps/headers/SafariZoneEast.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneEast, SAFARI_ZONE_EAST, FOREST, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneEastRestHouse.asm b/data/maps/headers/SafariZoneEastRestHouse.asm new file mode 100755 index 00000000..1f8d76c6 --- /dev/null +++ b/data/maps/headers/SafariZoneEastRestHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneEastRestHouse, SAFARI_ZONE_EAST_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneGate.asm b/data/maps/headers/SafariZoneGate.asm new file mode 100755 index 00000000..7816460d --- /dev/null +++ b/data/maps/headers/SafariZoneGate.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneGate, SAFARI_ZONE_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneNorth.asm b/data/maps/headers/SafariZoneNorth.asm new file mode 100755 index 00000000..32639d22 --- /dev/null +++ b/data/maps/headers/SafariZoneNorth.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneNorth, SAFARI_ZONE_NORTH, FOREST, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneNorthRestHouse.asm b/data/maps/headers/SafariZoneNorthRestHouse.asm new file mode 100755 index 00000000..ec083803 --- /dev/null +++ b/data/maps/headers/SafariZoneNorthRestHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneNorthRestHouse, SAFARI_ZONE_NORTH_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneSecretHouse.asm b/data/maps/headers/SafariZoneSecretHouse.asm new file mode 100755 index 00000000..630577c4 --- /dev/null +++ b/data/maps/headers/SafariZoneSecretHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneSecretHouse, SAFARI_ZONE_SECRET_HOUSE, LAB, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneWest.asm b/data/maps/headers/SafariZoneWest.asm new file mode 100755 index 00000000..a1117d09 --- /dev/null +++ b/data/maps/headers/SafariZoneWest.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneWest, SAFARI_ZONE_WEST, FOREST, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneWestRestHouse.asm b/data/maps/headers/SafariZoneWestRestHouse.asm new file mode 100755 index 00000000..e4618e1d --- /dev/null +++ b/data/maps/headers/SafariZoneWestRestHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneWestRestHouse, SAFARI_ZONE_WEST_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SaffronCity.asm b/data/maps/headers/SaffronCity.asm new file mode 100755 index 00000000..ee1f71e4 --- /dev/null +++ b/data/maps/headers/SaffronCity.asm @@ -0,0 +1,7 @@ + + map_header SaffronCity, SAFFRON_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST + connection north, Route5, ROUTE_5, 5 + connection south, Route6, ROUTE_6, 5 + connection west, Route7, ROUTE_7, 4 + connection east, Route8, ROUTE_8, 4 + end_map_header diff --git a/data/maps/headers/SaffronGym.asm b/data/maps/headers/SaffronGym.asm new file mode 100755 index 00000000..14ee3323 --- /dev/null +++ b/data/maps/headers/SaffronGym.asm @@ -0,0 +1,3 @@ + + map_header SaffronGym, SAFFRON_GYM, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SaffronMart.asm b/data/maps/headers/SaffronMart.asm new file mode 100755 index 00000000..f03132d2 --- /dev/null +++ b/data/maps/headers/SaffronMart.asm @@ -0,0 +1,3 @@ + + map_header SaffronMart, SAFFRON_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/SaffronPidgeyHouse.asm b/data/maps/headers/SaffronPidgeyHouse.asm new file mode 100755 index 00000000..e9f8dde7 --- /dev/null +++ b/data/maps/headers/SaffronPidgeyHouse.asm @@ -0,0 +1,3 @@ + + map_header SaffronPidgeyHouse, SAFFRON_PIDGEY_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/SaffronPokecenter.asm b/data/maps/headers/SaffronPokecenter.asm new file mode 100755 index 00000000..9b250050 --- /dev/null +++ b/data/maps/headers/SaffronPokecenter.asm @@ -0,0 +1,3 @@ + + map_header SaffronPokecenter, SAFFRON_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslands1F.asm b/data/maps/headers/SeafoamIslands1F.asm new file mode 100755 index 00000000..db530549 --- /dev/null +++ b/data/maps/headers/SeafoamIslands1F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslands1F, SEAFOAM_ISLANDS_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslandsB1F.asm b/data/maps/headers/SeafoamIslandsB1F.asm new file mode 100755 index 00000000..589eef93 --- /dev/null +++ b/data/maps/headers/SeafoamIslandsB1F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslandsB1F, SEAFOAM_ISLANDS_B1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslandsB2F.asm b/data/maps/headers/SeafoamIslandsB2F.asm new file mode 100755 index 00000000..f7e624ed --- /dev/null +++ b/data/maps/headers/SeafoamIslandsB2F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslandsB2F, SEAFOAM_ISLANDS_B2F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslandsB3F.asm b/data/maps/headers/SeafoamIslandsB3F.asm new file mode 100755 index 00000000..b57da3c0 --- /dev/null +++ b/data/maps/headers/SeafoamIslandsB3F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslandsB3F, SEAFOAM_ISLANDS_B3F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslandsB4F.asm b/data/maps/headers/SeafoamIslandsB4F.asm new file mode 100755 index 00000000..bae1e3a2 --- /dev/null +++ b/data/maps/headers/SeafoamIslandsB4F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslandsB4F, SEAFOAM_ISLANDS_B4F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SilphCo10F.asm b/data/maps/headers/SilphCo10F.asm new file mode 100755 index 00000000..7a6786e7 --- /dev/null +++ b/data/maps/headers/SilphCo10F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo10F, SILPH_CO_10F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo11F.asm b/data/maps/headers/SilphCo11F.asm new file mode 100755 index 00000000..72eaaca2 --- /dev/null +++ b/data/maps/headers/SilphCo11F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo11F, SILPH_CO_11F, INTERIOR, 0 + end_map_header diff --git a/data/maps/headers/SilphCo1F.asm b/data/maps/headers/SilphCo1F.asm new file mode 100755 index 00000000..4c4ac97d --- /dev/null +++ b/data/maps/headers/SilphCo1F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo1F, SILPH_CO_1F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo2F.asm b/data/maps/headers/SilphCo2F.asm new file mode 100755 index 00000000..7dc44a55 --- /dev/null +++ b/data/maps/headers/SilphCo2F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo2F, SILPH_CO_2F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo3F.asm b/data/maps/headers/SilphCo3F.asm new file mode 100755 index 00000000..99e4aa15 --- /dev/null +++ b/data/maps/headers/SilphCo3F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo3F, SILPH_CO_3F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo4F.asm b/data/maps/headers/SilphCo4F.asm new file mode 100755 index 00000000..8eed0f9a --- /dev/null +++ b/data/maps/headers/SilphCo4F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo4F, SILPH_CO_4F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo5F.asm b/data/maps/headers/SilphCo5F.asm new file mode 100755 index 00000000..3b40c360 --- /dev/null +++ b/data/maps/headers/SilphCo5F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo5F, SILPH_CO_5F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo6F.asm b/data/maps/headers/SilphCo6F.asm new file mode 100755 index 00000000..3d2b3b8c --- /dev/null +++ b/data/maps/headers/SilphCo6F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo6F, SILPH_CO_6F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo7F.asm b/data/maps/headers/SilphCo7F.asm new file mode 100755 index 00000000..1591837a --- /dev/null +++ b/data/maps/headers/SilphCo7F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo7F, SILPH_CO_7F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo8F.asm b/data/maps/headers/SilphCo8F.asm new file mode 100755 index 00000000..e676fa86 --- /dev/null +++ b/data/maps/headers/SilphCo8F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo8F, SILPH_CO_8F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo9F.asm b/data/maps/headers/SilphCo9F.asm new file mode 100755 index 00000000..89f0300a --- /dev/null +++ b/data/maps/headers/SilphCo9F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo9F, SILPH_CO_9F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCoElevator.asm b/data/maps/headers/SilphCoElevator.asm new file mode 100755 index 00000000..4dd9cd9f --- /dev/null +++ b/data/maps/headers/SilphCoElevator.asm @@ -0,0 +1,3 @@ + + map_header SilphCoElevator, SILPH_CO_ELEVATOR, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/TradeCenter.asm b/data/maps/headers/TradeCenter.asm new file mode 100755 index 00000000..268d76b2 --- /dev/null +++ b/data/maps/headers/TradeCenter.asm @@ -0,0 +1,3 @@ + + map_header TradeCenter, TRADE_CENTER, CLUB, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathNorthSouth.asm b/data/maps/headers/UndergroundPathNorthSouth.asm new file mode 100755 index 00000000..4bb03c79 --- /dev/null +++ b/data/maps/headers/UndergroundPathNorthSouth.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathNorthSouth, UNDERGROUND_PATH_NORTH_SOUTH, UNDERGROUND, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute5.asm b/data/maps/headers/UndergroundPathRoute5.asm new file mode 100755 index 00000000..18287254 --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute5.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute5, UNDERGROUND_PATH_ROUTE_5, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute6.asm b/data/maps/headers/UndergroundPathRoute6.asm new file mode 100755 index 00000000..67772543 --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute6.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute6, UNDERGROUND_PATH_ROUTE_6, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute7.asm b/data/maps/headers/UndergroundPathRoute7.asm new file mode 100755 index 00000000..d70548ed --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute7.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute7, UNDERGROUND_PATH_ROUTE_7, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute7Copy.asm b/data/maps/headers/UndergroundPathRoute7Copy.asm new file mode 100755 index 00000000..30bb70a8 --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute7Copy.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute7Copy, UNDERGROUND_PATH_ROUTE_7, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute8.asm b/data/maps/headers/UndergroundPathRoute8.asm new file mode 100755 index 00000000..102d8413 --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute8.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute8, UNDERGROUND_PATH_ROUTE_8, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathWestEast.asm b/data/maps/headers/UndergroundPathWestEast.asm new file mode 100755 index 00000000..05976e87 --- /dev/null +++ b/data/maps/headers/UndergroundPathWestEast.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathWestEast, UNDERGROUND_PATH_WEST_EAST, UNDERGROUND, 0 + end_map_header diff --git a/data/maps/headers/VermilionCity.asm b/data/maps/headers/VermilionCity.asm new file mode 100755 index 00000000..e211562c --- /dev/null +++ b/data/maps/headers/VermilionCity.asm @@ -0,0 +1,5 @@ + + map_header VermilionCity, VERMILION_CITY, OVERWORLD, NORTH | EAST + connection north, Route6, ROUTE_6, 5 + connection east, Route11, ROUTE_11, 4 + end_map_header diff --git a/data/maps/headers/VermilionDock.asm b/data/maps/headers/VermilionDock.asm new file mode 100755 index 00000000..9a9b61c2 --- /dev/null +++ b/data/maps/headers/VermilionDock.asm @@ -0,0 +1,3 @@ + + map_header VermilionDock, VERMILION_DOCK, SHIP_PORT, 0 + end_map_header diff --git a/data/maps/headers/VermilionGym.asm b/data/maps/headers/VermilionGym.asm new file mode 100755 index 00000000..ca75b8c1 --- /dev/null +++ b/data/maps/headers/VermilionGym.asm @@ -0,0 +1,3 @@ + + map_header VermilionGym, VERMILION_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/VermilionMart.asm b/data/maps/headers/VermilionMart.asm new file mode 100755 index 00000000..5777db4b --- /dev/null +++ b/data/maps/headers/VermilionMart.asm @@ -0,0 +1,3 @@ + + map_header VermilionMart, VERMILION_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/VermilionOldRodHouse.asm b/data/maps/headers/VermilionOldRodHouse.asm new file mode 100755 index 00000000..f9c890e0 --- /dev/null +++ b/data/maps/headers/VermilionOldRodHouse.asm @@ -0,0 +1,3 @@ + + map_header VermilionOldRodHouse, VERMILION_OLD_ROD_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/VermilionPidgeyHouse.asm b/data/maps/headers/VermilionPidgeyHouse.asm new file mode 100755 index 00000000..afb81784 --- /dev/null +++ b/data/maps/headers/VermilionPidgeyHouse.asm @@ -0,0 +1,3 @@ + + map_header VermilionPidgeyHouse, VERMILION_PIDGEY_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/VermilionPokecenter.asm b/data/maps/headers/VermilionPokecenter.asm new file mode 100755 index 00000000..af9827ac --- /dev/null +++ b/data/maps/headers/VermilionPokecenter.asm @@ -0,0 +1,3 @@ + + map_header VermilionPokecenter, VERMILION_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/VermilionTradeHouse.asm b/data/maps/headers/VermilionTradeHouse.asm new file mode 100755 index 00000000..3cb82c47 --- /dev/null +++ b/data/maps/headers/VermilionTradeHouse.asm @@ -0,0 +1,3 @@ + + map_header VermilionTradeHouse, VERMILION_TRADE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/VictoryRoad1F.asm b/data/maps/headers/VictoryRoad1F.asm new file mode 100755 index 00000000..dae95f16 --- /dev/null +++ b/data/maps/headers/VictoryRoad1F.asm @@ -0,0 +1,3 @@ + + map_header VictoryRoad1F, VICTORY_ROAD_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/VictoryRoad2F.asm b/data/maps/headers/VictoryRoad2F.asm new file mode 100755 index 00000000..99079ad3 --- /dev/null +++ b/data/maps/headers/VictoryRoad2F.asm @@ -0,0 +1,3 @@ + + map_header VictoryRoad2F, VICTORY_ROAD_2F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/VictoryRoad3F.asm b/data/maps/headers/VictoryRoad3F.asm new file mode 100755 index 00000000..bc15cad7 --- /dev/null +++ b/data/maps/headers/VictoryRoad3F.asm @@ -0,0 +1,3 @@ + + map_header VictoryRoad3F, VICTORY_ROAD_3F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/ViridianCity.asm b/data/maps/headers/ViridianCity.asm new file mode 100755 index 00000000..0771cc81 --- /dev/null +++ b/data/maps/headers/ViridianCity.asm @@ -0,0 +1,6 @@ + + map_header ViridianCity, VIRIDIAN_CITY, OVERWORLD, NORTH | SOUTH | WEST + connection north, Route2, ROUTE_2, 5 + connection south, Route1, ROUTE_1, 5 + connection west, Route22, ROUTE_22, 4 + end_map_header diff --git a/data/maps/headers/ViridianForest.asm b/data/maps/headers/ViridianForest.asm new file mode 100755 index 00000000..d531ec86 --- /dev/null +++ b/data/maps/headers/ViridianForest.asm @@ -0,0 +1,3 @@ + + map_header ViridianForest, VIRIDIAN_FOREST, FOREST, 0 + end_map_header diff --git a/data/maps/headers/ViridianForestNorthGate.asm b/data/maps/headers/ViridianForestNorthGate.asm new file mode 100755 index 00000000..5bfcd6ed --- /dev/null +++ b/data/maps/headers/ViridianForestNorthGate.asm @@ -0,0 +1,3 @@ + + map_header ViridianForestNorthGate, VIRIDIAN_FOREST_NORTH_GATE, FOREST_GATE, 0 + end_map_header diff --git a/data/maps/headers/ViridianForestSouthGate.asm b/data/maps/headers/ViridianForestSouthGate.asm new file mode 100755 index 00000000..87a49284 --- /dev/null +++ b/data/maps/headers/ViridianForestSouthGate.asm @@ -0,0 +1,3 @@ + + map_header ViridianForestSouthGate, VIRIDIAN_FOREST_SOUTH_GATE, FOREST_GATE, 0 + end_map_header diff --git a/data/maps/headers/ViridianGym.asm b/data/maps/headers/ViridianGym.asm new file mode 100755 index 00000000..640a71b6 --- /dev/null +++ b/data/maps/headers/ViridianGym.asm @@ -0,0 +1,3 @@ + + map_header ViridianGym, VIRIDIAN_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/ViridianMart.asm b/data/maps/headers/ViridianMart.asm new file mode 100755 index 00000000..817b5265 --- /dev/null +++ b/data/maps/headers/ViridianMart.asm @@ -0,0 +1,3 @@ + + map_header ViridianMart, VIRIDIAN_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/ViridianNicknameHouse.asm b/data/maps/headers/ViridianNicknameHouse.asm new file mode 100755 index 00000000..5a7c272f --- /dev/null +++ b/data/maps/headers/ViridianNicknameHouse.asm @@ -0,0 +1,3 @@ + + map_header ViridianNicknameHouse, VIRIDIAN_NICKNAME_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/ViridianPokecenter.asm b/data/maps/headers/ViridianPokecenter.asm new file mode 100755 index 00000000..daac19f3 --- /dev/null +++ b/data/maps/headers/ViridianPokecenter.asm @@ -0,0 +1,3 @@ + + map_header ViridianPokecenter, VIRIDIAN_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/ViridianSchoolHouse.asm b/data/maps/headers/ViridianSchoolHouse.asm new file mode 100755 index 00000000..f5b77212 --- /dev/null +++ b/data/maps/headers/ViridianSchoolHouse.asm @@ -0,0 +1,3 @@ + + map_header ViridianSchoolHouse, VIRIDIAN_SCHOOL_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/WardensHouse.asm b/data/maps/headers/WardensHouse.asm new file mode 100755 index 00000000..08216f59 --- /dev/null +++ b/data/maps/headers/WardensHouse.asm @@ -0,0 +1,3 @@ + + map_header WardensHouse, WARDENS_HOUSE, LAB, 0 + end_map_header diff --git a/data/hide_show_data.asm b/data/maps/hide_show_data.asm similarity index 99% rename from data/hide_show_data.asm rename to data/maps/hide_show_data.asm index 7f4593ca..bc89d600 100755 --- a/data/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -2,7 +2,7 @@ ; objects for each map ($00-$F8) ; Table of 2-Byte pointers, one pointer per map, -; goes up to Map_F7, ends with $FFFF. +; goes up to Map_F7, ends with -1. ; points to table listing all missable object in the area MapHSPointers: dw MapHS00 @@ -253,7 +253,7 @@ MapHSPointers: dw MapHSXX dw MapHSXX dw MapHSXX - dw $FFFF + dw -1 ; end ; Structure: ; 3 bytes per object diff --git a/data/map_header_banks.asm b/data/maps/map_header_banks.asm similarity index 100% rename from data/map_header_banks.asm rename to data/maps/map_header_banks.asm diff --git a/data/map_header_pointers.asm b/data/maps/map_header_pointers.asm similarity index 100% rename from data/map_header_pointers.asm rename to data/maps/map_header_pointers.asm diff --git a/text/map_names.asm b/data/maps/names.asm similarity index 100% rename from text/map_names.asm rename to data/maps/names.asm diff --git a/data/mapObjects/AgathasRoom.asm b/data/maps/objects/AgathasRoom.asm similarity index 100% rename from data/mapObjects/AgathasRoom.asm rename to data/maps/objects/AgathasRoom.asm diff --git a/data/mapObjects/BikeShop.asm b/data/maps/objects/BikeShop.asm similarity index 100% rename from data/mapObjects/BikeShop.asm rename to data/maps/objects/BikeShop.asm diff --git a/data/mapObjects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm similarity index 100% rename from data/mapObjects/BillsHouse.asm rename to data/maps/objects/BillsHouse.asm diff --git a/data/mapObjects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm similarity index 100% rename from data/mapObjects/BluesHouse.asm rename to data/maps/objects/BluesHouse.asm diff --git a/data/mapObjects/BrunosRoom.asm b/data/maps/objects/BrunosRoom.asm similarity index 100% rename from data/mapObjects/BrunosRoom.asm rename to data/maps/objects/BrunosRoom.asm diff --git a/data/mapObjects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm similarity index 100% rename from data/mapObjects/CeladonChiefHouse.asm rename to data/maps/objects/CeladonChiefHouse.asm diff --git a/data/mapObjects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm similarity index 100% rename from data/mapObjects/CeladonCity.asm rename to data/maps/objects/CeladonCity.asm diff --git a/data/mapObjects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm similarity index 100% rename from data/mapObjects/CeladonDiner.asm rename to data/maps/objects/CeladonDiner.asm diff --git a/data/mapObjects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm similarity index 100% rename from data/mapObjects/CeladonGym.asm rename to data/maps/objects/CeladonGym.asm diff --git a/data/mapObjects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm similarity index 100% rename from data/mapObjects/CeladonHotel.asm rename to data/maps/objects/CeladonHotel.asm diff --git a/data/mapObjects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm similarity index 100% rename from data/mapObjects/CeladonMansion1F.asm rename to data/maps/objects/CeladonMansion1F.asm diff --git a/data/mapObjects/CeladonMansion2F.asm b/data/maps/objects/CeladonMansion2F.asm similarity index 100% rename from data/mapObjects/CeladonMansion2F.asm rename to data/maps/objects/CeladonMansion2F.asm diff --git a/data/mapObjects/CeladonMansion3F.asm b/data/maps/objects/CeladonMansion3F.asm similarity index 100% rename from data/mapObjects/CeladonMansion3F.asm rename to data/maps/objects/CeladonMansion3F.asm diff --git a/data/mapObjects/CeladonMansionRoof.asm b/data/maps/objects/CeladonMansionRoof.asm similarity index 100% rename from data/mapObjects/CeladonMansionRoof.asm rename to data/maps/objects/CeladonMansionRoof.asm diff --git a/data/mapObjects/CeladonMansionRoofHouse.asm b/data/maps/objects/CeladonMansionRoofHouse.asm similarity index 100% rename from data/mapObjects/CeladonMansionRoofHouse.asm rename to data/maps/objects/CeladonMansionRoofHouse.asm diff --git a/data/mapObjects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm similarity index 100% rename from data/mapObjects/CeladonMart1F.asm rename to data/maps/objects/CeladonMart1F.asm diff --git a/data/mapObjects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm similarity index 100% rename from data/mapObjects/CeladonMart2F.asm rename to data/maps/objects/CeladonMart2F.asm diff --git a/data/mapObjects/CeladonMart3F.asm b/data/maps/objects/CeladonMart3F.asm similarity index 100% rename from data/mapObjects/CeladonMart3F.asm rename to data/maps/objects/CeladonMart3F.asm diff --git a/data/mapObjects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm similarity index 100% rename from data/mapObjects/CeladonMart4F.asm rename to data/maps/objects/CeladonMart4F.asm diff --git a/data/mapObjects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm similarity index 100% rename from data/mapObjects/CeladonMart5F.asm rename to data/maps/objects/CeladonMart5F.asm diff --git a/data/mapObjects/CeladonMartElevator.asm b/data/maps/objects/CeladonMartElevator.asm similarity index 100% rename from data/mapObjects/CeladonMartElevator.asm rename to data/maps/objects/CeladonMartElevator.asm diff --git a/data/mapObjects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm similarity index 100% rename from data/mapObjects/CeladonMartRoof.asm rename to data/maps/objects/CeladonMartRoof.asm diff --git a/data/mapObjects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm similarity index 100% rename from data/mapObjects/CeladonPokecenter.asm rename to data/maps/objects/CeladonPokecenter.asm diff --git a/data/mapObjects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm similarity index 100% rename from data/mapObjects/CeruleanBadgeHouse.asm rename to data/maps/objects/CeruleanBadgeHouse.asm diff --git a/data/mapObjects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm similarity index 100% rename from data/mapObjects/CeruleanCave1F.asm rename to data/maps/objects/CeruleanCave1F.asm diff --git a/data/mapObjects/CeruleanCave2F.asm b/data/maps/objects/CeruleanCave2F.asm similarity index 100% rename from data/mapObjects/CeruleanCave2F.asm rename to data/maps/objects/CeruleanCave2F.asm diff --git a/data/mapObjects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm similarity index 100% rename from data/mapObjects/CeruleanCaveB1F.asm rename to data/maps/objects/CeruleanCaveB1F.asm diff --git a/data/mapObjects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm similarity index 100% rename from data/mapObjects/CeruleanCity.asm rename to data/maps/objects/CeruleanCity.asm diff --git a/data/mapObjects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm similarity index 100% rename from data/mapObjects/CeruleanGym.asm rename to data/maps/objects/CeruleanGym.asm diff --git a/data/mapObjects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm similarity index 100% rename from data/mapObjects/CeruleanMart.asm rename to data/maps/objects/CeruleanMart.asm diff --git a/data/mapObjects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm similarity index 100% rename from data/mapObjects/CeruleanPokecenter.asm rename to data/maps/objects/CeruleanPokecenter.asm diff --git a/data/mapObjects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm similarity index 100% rename from data/mapObjects/CeruleanTradeHouse.asm rename to data/maps/objects/CeruleanTradeHouse.asm diff --git a/data/mapObjects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm similarity index 100% rename from data/mapObjects/CeruleanTrashedHouse.asm rename to data/maps/objects/CeruleanTrashedHouse.asm diff --git a/data/mapObjects/ChampionsRoom.asm b/data/maps/objects/ChampionsRoom.asm similarity index 100% rename from data/mapObjects/ChampionsRoom.asm rename to data/maps/objects/ChampionsRoom.asm diff --git a/data/mapObjects/CinnabarGym.asm b/data/maps/objects/CinnabarGym.asm similarity index 100% rename from data/mapObjects/CinnabarGym.asm rename to data/maps/objects/CinnabarGym.asm diff --git a/data/mapObjects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm similarity index 100% rename from data/mapObjects/CinnabarIsland.asm rename to data/maps/objects/CinnabarIsland.asm diff --git a/data/mapObjects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm similarity index 100% rename from data/mapObjects/CinnabarLab.asm rename to data/maps/objects/CinnabarLab.asm diff --git a/data/mapObjects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm similarity index 100% rename from data/mapObjects/CinnabarLabFossilRoom.asm rename to data/maps/objects/CinnabarLabFossilRoom.asm diff --git a/data/mapObjects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm similarity index 100% rename from data/mapObjects/CinnabarLabMetronomeRoom.asm rename to data/maps/objects/CinnabarLabMetronomeRoom.asm diff --git a/data/mapObjects/CinnabarLabTradeRoom.asm b/data/maps/objects/CinnabarLabTradeRoom.asm similarity index 100% rename from data/mapObjects/CinnabarLabTradeRoom.asm rename to data/maps/objects/CinnabarLabTradeRoom.asm diff --git a/data/mapObjects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm similarity index 100% rename from data/mapObjects/CinnabarMart.asm rename to data/maps/objects/CinnabarMart.asm diff --git a/data/mapObjects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm similarity index 100% rename from data/mapObjects/CinnabarPokecenter.asm rename to data/maps/objects/CinnabarPokecenter.asm diff --git a/data/mapObjects/Colosseum.asm b/data/maps/objects/Colosseum.asm similarity index 100% rename from data/mapObjects/Colosseum.asm rename to data/maps/objects/Colosseum.asm diff --git a/data/mapObjects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm similarity index 100% rename from data/mapObjects/CopycatsHouse1F.asm rename to data/maps/objects/CopycatsHouse1F.asm diff --git a/data/mapObjects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm similarity index 100% rename from data/mapObjects/CopycatsHouse2F.asm rename to data/maps/objects/CopycatsHouse2F.asm diff --git a/data/mapObjects/Daycare.asm b/data/maps/objects/Daycare.asm similarity index 100% rename from data/mapObjects/Daycare.asm rename to data/maps/objects/Daycare.asm diff --git a/data/mapObjects/DiglettsCave.asm b/data/maps/objects/DiglettsCave.asm similarity index 100% rename from data/mapObjects/DiglettsCave.asm rename to data/maps/objects/DiglettsCave.asm diff --git a/data/mapObjects/DiglettsCaveRoute11.asm b/data/maps/objects/DiglettsCaveRoute11.asm similarity index 100% rename from data/mapObjects/DiglettsCaveRoute11.asm rename to data/maps/objects/DiglettsCaveRoute11.asm diff --git a/data/mapObjects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm similarity index 100% rename from data/mapObjects/DiglettsCaveRoute2.asm rename to data/maps/objects/DiglettsCaveRoute2.asm diff --git a/data/mapObjects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm similarity index 100% rename from data/mapObjects/FightingDojo.asm rename to data/maps/objects/FightingDojo.asm diff --git a/data/mapObjects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm similarity index 100% rename from data/mapObjects/FuchsiaBillsGrandpasHouse.asm rename to data/maps/objects/FuchsiaBillsGrandpasHouse.asm diff --git a/data/mapObjects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm similarity index 100% rename from data/mapObjects/FuchsiaCity.asm rename to data/maps/objects/FuchsiaCity.asm diff --git a/data/mapObjects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm similarity index 100% rename from data/mapObjects/FuchsiaGoodRodHouse.asm rename to data/maps/objects/FuchsiaGoodRodHouse.asm diff --git a/data/mapObjects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm similarity index 100% rename from data/mapObjects/FuchsiaGym.asm rename to data/maps/objects/FuchsiaGym.asm diff --git a/data/mapObjects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm similarity index 100% rename from data/mapObjects/FuchsiaMart.asm rename to data/maps/objects/FuchsiaMart.asm diff --git a/data/mapObjects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm similarity index 100% rename from data/mapObjects/FuchsiaMeetingRoom.asm rename to data/maps/objects/FuchsiaMeetingRoom.asm diff --git a/data/mapObjects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm similarity index 100% rename from data/mapObjects/FuchsiaPokecenter.asm rename to data/maps/objects/FuchsiaPokecenter.asm diff --git a/data/mapObjects/GameCorner.asm b/data/maps/objects/GameCorner.asm similarity index 100% rename from data/mapObjects/GameCorner.asm rename to data/maps/objects/GameCorner.asm diff --git a/data/mapObjects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm similarity index 100% rename from data/mapObjects/GameCornerPrizeRoom.asm rename to data/maps/objects/GameCornerPrizeRoom.asm diff --git a/data/mapObjects/HallOfFame.asm b/data/maps/objects/HallOfFame.asm similarity index 100% rename from data/mapObjects/HallOfFame.asm rename to data/maps/objects/HallOfFame.asm diff --git a/data/mapObjects/IndigoPlateau.asm b/data/maps/objects/IndigoPlateau.asm similarity index 100% rename from data/mapObjects/IndigoPlateau.asm rename to data/maps/objects/IndigoPlateau.asm diff --git a/data/mapObjects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm similarity index 100% rename from data/mapObjects/IndigoPlateauLobby.asm rename to data/maps/objects/IndigoPlateauLobby.asm diff --git a/data/mapObjects/LancesRoom.asm b/data/maps/objects/LancesRoom.asm similarity index 100% rename from data/mapObjects/LancesRoom.asm rename to data/maps/objects/LancesRoom.asm diff --git a/data/mapObjects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm similarity index 100% rename from data/mapObjects/LavenderCuboneHouse.asm rename to data/maps/objects/LavenderCuboneHouse.asm diff --git a/data/mapObjects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm similarity index 100% rename from data/mapObjects/LavenderMart.asm rename to data/maps/objects/LavenderMart.asm diff --git a/data/mapObjects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm similarity index 100% rename from data/mapObjects/LavenderPokecenter.asm rename to data/maps/objects/LavenderPokecenter.asm diff --git a/data/mapObjects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm similarity index 100% rename from data/mapObjects/LavenderTown.asm rename to data/maps/objects/LavenderTown.asm diff --git a/data/mapObjects/LoreleisRoom.asm b/data/maps/objects/LoreleisRoom.asm similarity index 100% rename from data/mapObjects/LoreleisRoom.asm rename to data/maps/objects/LoreleisRoom.asm diff --git a/data/mapObjects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm similarity index 100% rename from data/mapObjects/MrFujisHouse.asm rename to data/maps/objects/MrFujisHouse.asm diff --git a/data/mapObjects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm similarity index 100% rename from data/mapObjects/MrPsychicsHouse.asm rename to data/maps/objects/MrPsychicsHouse.asm diff --git a/data/mapObjects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm similarity index 100% rename from data/mapObjects/MtMoon1F.asm rename to data/maps/objects/MtMoon1F.asm diff --git a/data/mapObjects/MtMoonB1F.asm b/data/maps/objects/MtMoonB1F.asm similarity index 100% rename from data/mapObjects/MtMoonB1F.asm rename to data/maps/objects/MtMoonB1F.asm diff --git a/data/mapObjects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm similarity index 100% rename from data/mapObjects/MtMoonB2F.asm rename to data/maps/objects/MtMoonB2F.asm diff --git a/data/mapObjects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm similarity index 100% rename from data/mapObjects/MtMoonPokecenter.asm rename to data/maps/objects/MtMoonPokecenter.asm diff --git a/data/mapObjects/Museum1F.asm b/data/maps/objects/Museum1F.asm similarity index 100% rename from data/mapObjects/Museum1F.asm rename to data/maps/objects/Museum1F.asm diff --git a/data/mapObjects/Museum2F.asm b/data/maps/objects/Museum2F.asm similarity index 100% rename from data/mapObjects/Museum2F.asm rename to data/maps/objects/Museum2F.asm diff --git a/data/mapObjects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm similarity index 100% rename from data/mapObjects/NameRatersHouse.asm rename to data/maps/objects/NameRatersHouse.asm diff --git a/data/mapObjects/OaksLab.asm b/data/maps/objects/OaksLab.asm similarity index 100% rename from data/mapObjects/OaksLab.asm rename to data/maps/objects/OaksLab.asm diff --git a/data/mapObjects/PalletTown.asm b/data/maps/objects/PalletTown.asm similarity index 100% rename from data/mapObjects/PalletTown.asm rename to data/maps/objects/PalletTown.asm diff --git a/data/mapObjects/PewterCity.asm b/data/maps/objects/PewterCity.asm similarity index 100% rename from data/mapObjects/PewterCity.asm rename to data/maps/objects/PewterCity.asm diff --git a/data/mapObjects/PewterGym.asm b/data/maps/objects/PewterGym.asm similarity index 100% rename from data/mapObjects/PewterGym.asm rename to data/maps/objects/PewterGym.asm diff --git a/data/mapObjects/PewterMart.asm b/data/maps/objects/PewterMart.asm similarity index 100% rename from data/mapObjects/PewterMart.asm rename to data/maps/objects/PewterMart.asm diff --git a/data/mapObjects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm similarity index 100% rename from data/mapObjects/PewterNidoranHouse.asm rename to data/maps/objects/PewterNidoranHouse.asm diff --git a/data/mapObjects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm similarity index 100% rename from data/mapObjects/PewterPokecenter.asm rename to data/maps/objects/PewterPokecenter.asm diff --git a/data/mapObjects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm similarity index 100% rename from data/mapObjects/PewterSpeechHouse.asm rename to data/maps/objects/PewterSpeechHouse.asm diff --git a/data/mapObjects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm similarity index 100% rename from data/mapObjects/PokemonFanClub.asm rename to data/maps/objects/PokemonFanClub.asm diff --git a/data/mapObjects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm similarity index 100% rename from data/mapObjects/PokemonMansion1F.asm rename to data/maps/objects/PokemonMansion1F.asm diff --git a/data/mapObjects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm similarity index 100% rename from data/mapObjects/PokemonMansion2F.asm rename to data/maps/objects/PokemonMansion2F.asm diff --git a/data/mapObjects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm similarity index 100% rename from data/mapObjects/PokemonMansion3F.asm rename to data/maps/objects/PokemonMansion3F.asm diff --git a/data/mapObjects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm similarity index 100% rename from data/mapObjects/PokemonMansionB1F.asm rename to data/maps/objects/PokemonMansionB1F.asm diff --git a/data/mapObjects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm similarity index 100% rename from data/mapObjects/PokemonTower1F.asm rename to data/maps/objects/PokemonTower1F.asm diff --git a/data/mapObjects/PokemonTower2F.asm b/data/maps/objects/PokemonTower2F.asm similarity index 100% rename from data/mapObjects/PokemonTower2F.asm rename to data/maps/objects/PokemonTower2F.asm diff --git a/data/mapObjects/PokemonTower3F.asm b/data/maps/objects/PokemonTower3F.asm similarity index 100% rename from data/mapObjects/PokemonTower3F.asm rename to data/maps/objects/PokemonTower3F.asm diff --git a/data/mapObjects/PokemonTower4F.asm b/data/maps/objects/PokemonTower4F.asm similarity index 100% rename from data/mapObjects/PokemonTower4F.asm rename to data/maps/objects/PokemonTower4F.asm diff --git a/data/mapObjects/PokemonTower5F.asm b/data/maps/objects/PokemonTower5F.asm similarity index 100% rename from data/mapObjects/PokemonTower5F.asm rename to data/maps/objects/PokemonTower5F.asm diff --git a/data/mapObjects/PokemonTower6F.asm b/data/maps/objects/PokemonTower6F.asm similarity index 100% rename from data/mapObjects/PokemonTower6F.asm rename to data/maps/objects/PokemonTower6F.asm diff --git a/data/mapObjects/PokemonTower7F.asm b/data/maps/objects/PokemonTower7F.asm similarity index 100% rename from data/mapObjects/PokemonTower7F.asm rename to data/maps/objects/PokemonTower7F.asm diff --git a/data/mapObjects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm similarity index 100% rename from data/mapObjects/PowerPlant.asm rename to data/maps/objects/PowerPlant.asm diff --git a/data/mapObjects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm similarity index 100% rename from data/mapObjects/RedsHouse1F.asm rename to data/maps/objects/RedsHouse1F.asm diff --git a/data/mapObjects/RedsHouse2F.asm b/data/maps/objects/RedsHouse2F.asm similarity index 100% rename from data/mapObjects/RedsHouse2F.asm rename to data/maps/objects/RedsHouse2F.asm diff --git a/data/mapObjects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm similarity index 100% rename from data/mapObjects/RockTunnel1F.asm rename to data/maps/objects/RockTunnel1F.asm diff --git a/data/mapObjects/RockTunnelB1F.asm b/data/maps/objects/RockTunnelB1F.asm similarity index 100% rename from data/mapObjects/RockTunnelB1F.asm rename to data/maps/objects/RockTunnelB1F.asm diff --git a/data/mapObjects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm similarity index 100% rename from data/mapObjects/RockTunnelPokecenter.asm rename to data/maps/objects/RockTunnelPokecenter.asm diff --git a/data/mapObjects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm similarity index 100% rename from data/mapObjects/RocketHideoutB1F.asm rename to data/maps/objects/RocketHideoutB1F.asm diff --git a/data/mapObjects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm similarity index 100% rename from data/mapObjects/RocketHideoutB2F.asm rename to data/maps/objects/RocketHideoutB2F.asm diff --git a/data/mapObjects/RocketHideoutB3F.asm b/data/maps/objects/RocketHideoutB3F.asm similarity index 100% rename from data/mapObjects/RocketHideoutB3F.asm rename to data/maps/objects/RocketHideoutB3F.asm diff --git a/data/mapObjects/RocketHideoutB4F.asm b/data/maps/objects/RocketHideoutB4F.asm similarity index 100% rename from data/mapObjects/RocketHideoutB4F.asm rename to data/maps/objects/RocketHideoutB4F.asm diff --git a/data/mapObjects/RocketHideoutElevator.asm b/data/maps/objects/RocketHideoutElevator.asm similarity index 100% rename from data/mapObjects/RocketHideoutElevator.asm rename to data/maps/objects/RocketHideoutElevator.asm diff --git a/data/mapObjects/Route1.asm b/data/maps/objects/Route1.asm similarity index 100% rename from data/mapObjects/Route1.asm rename to data/maps/objects/Route1.asm diff --git a/data/mapObjects/Route10.asm b/data/maps/objects/Route10.asm similarity index 100% rename from data/mapObjects/Route10.asm rename to data/maps/objects/Route10.asm diff --git a/data/mapObjects/Route11.asm b/data/maps/objects/Route11.asm similarity index 100% rename from data/mapObjects/Route11.asm rename to data/maps/objects/Route11.asm diff --git a/data/mapObjects/Route11Gate1F.asm b/data/maps/objects/Route11Gate1F.asm similarity index 100% rename from data/mapObjects/Route11Gate1F.asm rename to data/maps/objects/Route11Gate1F.asm diff --git a/data/mapObjects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm similarity index 100% rename from data/mapObjects/Route11Gate2F.asm rename to data/maps/objects/Route11Gate2F.asm diff --git a/data/mapObjects/Route12.asm b/data/maps/objects/Route12.asm similarity index 100% rename from data/mapObjects/Route12.asm rename to data/maps/objects/Route12.asm diff --git a/data/mapObjects/Route12Gate1F.asm b/data/maps/objects/Route12Gate1F.asm similarity index 100% rename from data/mapObjects/Route12Gate1F.asm rename to data/maps/objects/Route12Gate1F.asm diff --git a/data/mapObjects/Route12Gate2F.asm b/data/maps/objects/Route12Gate2F.asm similarity index 100% rename from data/mapObjects/Route12Gate2F.asm rename to data/maps/objects/Route12Gate2F.asm diff --git a/data/mapObjects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm similarity index 100% rename from data/mapObjects/Route12SuperRodHouse.asm rename to data/maps/objects/Route12SuperRodHouse.asm diff --git a/data/mapObjects/Route13.asm b/data/maps/objects/Route13.asm similarity index 100% rename from data/mapObjects/Route13.asm rename to data/maps/objects/Route13.asm diff --git a/data/mapObjects/Route14.asm b/data/maps/objects/Route14.asm similarity index 100% rename from data/mapObjects/Route14.asm rename to data/maps/objects/Route14.asm diff --git a/data/mapObjects/Route15.asm b/data/maps/objects/Route15.asm similarity index 100% rename from data/mapObjects/Route15.asm rename to data/maps/objects/Route15.asm diff --git a/data/mapObjects/Route15Gate1F.asm b/data/maps/objects/Route15Gate1F.asm similarity index 100% rename from data/mapObjects/Route15Gate1F.asm rename to data/maps/objects/Route15Gate1F.asm diff --git a/data/mapObjects/Route15Gate2F.asm b/data/maps/objects/Route15Gate2F.asm similarity index 100% rename from data/mapObjects/Route15Gate2F.asm rename to data/maps/objects/Route15Gate2F.asm diff --git a/data/mapObjects/Route16.asm b/data/maps/objects/Route16.asm similarity index 100% rename from data/mapObjects/Route16.asm rename to data/maps/objects/Route16.asm diff --git a/data/mapObjects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm similarity index 100% rename from data/mapObjects/Route16FlyHouse.asm rename to data/maps/objects/Route16FlyHouse.asm diff --git a/data/mapObjects/Route16Gate1F.asm b/data/maps/objects/Route16Gate1F.asm similarity index 100% rename from data/mapObjects/Route16Gate1F.asm rename to data/maps/objects/Route16Gate1F.asm diff --git a/data/mapObjects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm similarity index 100% rename from data/mapObjects/Route16Gate2F.asm rename to data/maps/objects/Route16Gate2F.asm diff --git a/data/mapObjects/Route17.asm b/data/maps/objects/Route17.asm similarity index 100% rename from data/mapObjects/Route17.asm rename to data/maps/objects/Route17.asm diff --git a/data/mapObjects/Route18.asm b/data/maps/objects/Route18.asm similarity index 100% rename from data/mapObjects/Route18.asm rename to data/maps/objects/Route18.asm diff --git a/data/mapObjects/Route18Gate1F.asm b/data/maps/objects/Route18Gate1F.asm similarity index 100% rename from data/mapObjects/Route18Gate1F.asm rename to data/maps/objects/Route18Gate1F.asm diff --git a/data/mapObjects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm similarity index 100% rename from data/mapObjects/Route18Gate2F.asm rename to data/maps/objects/Route18Gate2F.asm diff --git a/data/mapObjects/Route19.asm b/data/maps/objects/Route19.asm similarity index 100% rename from data/mapObjects/Route19.asm rename to data/maps/objects/Route19.asm diff --git a/data/mapObjects/Route2.asm b/data/maps/objects/Route2.asm similarity index 100% rename from data/mapObjects/Route2.asm rename to data/maps/objects/Route2.asm diff --git a/data/mapObjects/Route20.asm b/data/maps/objects/Route20.asm similarity index 100% rename from data/mapObjects/Route20.asm rename to data/maps/objects/Route20.asm diff --git a/data/mapObjects/Route21.asm b/data/maps/objects/Route21.asm similarity index 100% rename from data/mapObjects/Route21.asm rename to data/maps/objects/Route21.asm diff --git a/data/mapObjects/Route22.asm b/data/maps/objects/Route22.asm similarity index 100% rename from data/mapObjects/Route22.asm rename to data/maps/objects/Route22.asm diff --git a/data/mapObjects/Route22Gate.asm b/data/maps/objects/Route22Gate.asm similarity index 100% rename from data/mapObjects/Route22Gate.asm rename to data/maps/objects/Route22Gate.asm diff --git a/data/mapObjects/Route23.asm b/data/maps/objects/Route23.asm similarity index 100% rename from data/mapObjects/Route23.asm rename to data/maps/objects/Route23.asm diff --git a/data/mapObjects/Route24.asm b/data/maps/objects/Route24.asm similarity index 100% rename from data/mapObjects/Route24.asm rename to data/maps/objects/Route24.asm diff --git a/data/mapObjects/Route25.asm b/data/maps/objects/Route25.asm similarity index 100% rename from data/mapObjects/Route25.asm rename to data/maps/objects/Route25.asm diff --git a/data/mapObjects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm similarity index 100% rename from data/mapObjects/Route2Gate.asm rename to data/maps/objects/Route2Gate.asm diff --git a/data/mapObjects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm similarity index 100% rename from data/mapObjects/Route2TradeHouse.asm rename to data/maps/objects/Route2TradeHouse.asm diff --git a/data/mapObjects/Route3.asm b/data/maps/objects/Route3.asm similarity index 100% rename from data/mapObjects/Route3.asm rename to data/maps/objects/Route3.asm diff --git a/data/mapObjects/Route4.asm b/data/maps/objects/Route4.asm similarity index 100% rename from data/mapObjects/Route4.asm rename to data/maps/objects/Route4.asm diff --git a/data/mapObjects/Route5.asm b/data/maps/objects/Route5.asm similarity index 100% rename from data/mapObjects/Route5.asm rename to data/maps/objects/Route5.asm diff --git a/data/mapObjects/Route5Gate.asm b/data/maps/objects/Route5Gate.asm similarity index 100% rename from data/mapObjects/Route5Gate.asm rename to data/maps/objects/Route5Gate.asm diff --git a/data/mapObjects/Route6.asm b/data/maps/objects/Route6.asm similarity index 100% rename from data/mapObjects/Route6.asm rename to data/maps/objects/Route6.asm diff --git a/data/mapObjects/Route6Gate.asm b/data/maps/objects/Route6Gate.asm similarity index 100% rename from data/mapObjects/Route6Gate.asm rename to data/maps/objects/Route6Gate.asm diff --git a/data/mapObjects/Route7.asm b/data/maps/objects/Route7.asm similarity index 100% rename from data/mapObjects/Route7.asm rename to data/maps/objects/Route7.asm diff --git a/data/mapObjects/Route7Gate.asm b/data/maps/objects/Route7Gate.asm similarity index 100% rename from data/mapObjects/Route7Gate.asm rename to data/maps/objects/Route7Gate.asm diff --git a/data/mapObjects/Route8.asm b/data/maps/objects/Route8.asm similarity index 100% rename from data/mapObjects/Route8.asm rename to data/maps/objects/Route8.asm diff --git a/data/mapObjects/Route8Gate.asm b/data/maps/objects/Route8Gate.asm similarity index 100% rename from data/mapObjects/Route8Gate.asm rename to data/maps/objects/Route8Gate.asm diff --git a/data/mapObjects/Route9.asm b/data/maps/objects/Route9.asm similarity index 100% rename from data/mapObjects/Route9.asm rename to data/maps/objects/Route9.asm diff --git a/data/mapObjects/SSAnne1F.asm b/data/maps/objects/SSAnne1F.asm similarity index 100% rename from data/mapObjects/SSAnne1F.asm rename to data/maps/objects/SSAnne1F.asm diff --git a/data/mapObjects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm similarity index 100% rename from data/mapObjects/SSAnne1FRooms.asm rename to data/maps/objects/SSAnne1FRooms.asm diff --git a/data/mapObjects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm similarity index 100% rename from data/mapObjects/SSAnne2F.asm rename to data/maps/objects/SSAnne2F.asm diff --git a/data/mapObjects/SSAnne2FRooms.asm b/data/maps/objects/SSAnne2FRooms.asm similarity index 100% rename from data/mapObjects/SSAnne2FRooms.asm rename to data/maps/objects/SSAnne2FRooms.asm diff --git a/data/mapObjects/SSAnne3F.asm b/data/maps/objects/SSAnne3F.asm similarity index 100% rename from data/mapObjects/SSAnne3F.asm rename to data/maps/objects/SSAnne3F.asm diff --git a/data/mapObjects/SSAnneB1F.asm b/data/maps/objects/SSAnneB1F.asm similarity index 100% rename from data/mapObjects/SSAnneB1F.asm rename to data/maps/objects/SSAnneB1F.asm diff --git a/data/mapObjects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm similarity index 100% rename from data/mapObjects/SSAnneB1FRooms.asm rename to data/maps/objects/SSAnneB1FRooms.asm diff --git a/data/mapObjects/SSAnneBow.asm b/data/maps/objects/SSAnneBow.asm similarity index 100% rename from data/mapObjects/SSAnneBow.asm rename to data/maps/objects/SSAnneBow.asm diff --git a/data/mapObjects/SSAnneCaptainsRoom.asm b/data/maps/objects/SSAnneCaptainsRoom.asm similarity index 100% rename from data/mapObjects/SSAnneCaptainsRoom.asm rename to data/maps/objects/SSAnneCaptainsRoom.asm diff --git a/data/mapObjects/SSAnneKitchen.asm b/data/maps/objects/SSAnneKitchen.asm similarity index 100% rename from data/mapObjects/SSAnneKitchen.asm rename to data/maps/objects/SSAnneKitchen.asm diff --git a/data/mapObjects/SafariZoneCenter.asm b/data/maps/objects/SafariZoneCenter.asm similarity index 100% rename from data/mapObjects/SafariZoneCenter.asm rename to data/maps/objects/SafariZoneCenter.asm diff --git a/data/mapObjects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm similarity index 100% rename from data/mapObjects/SafariZoneCenterRestHouse.asm rename to data/maps/objects/SafariZoneCenterRestHouse.asm diff --git a/data/mapObjects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm similarity index 100% rename from data/mapObjects/SafariZoneEast.asm rename to data/maps/objects/SafariZoneEast.asm diff --git a/data/mapObjects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm similarity index 100% rename from data/mapObjects/SafariZoneEastRestHouse.asm rename to data/maps/objects/SafariZoneEastRestHouse.asm diff --git a/data/mapObjects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm similarity index 100% rename from data/mapObjects/SafariZoneGate.asm rename to data/maps/objects/SafariZoneGate.asm diff --git a/data/mapObjects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm similarity index 100% rename from data/mapObjects/SafariZoneNorth.asm rename to data/maps/objects/SafariZoneNorth.asm diff --git a/data/mapObjects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm similarity index 100% rename from data/mapObjects/SafariZoneNorthRestHouse.asm rename to data/maps/objects/SafariZoneNorthRestHouse.asm diff --git a/data/mapObjects/SafariZoneSecretHouse.asm b/data/maps/objects/SafariZoneSecretHouse.asm similarity index 100% rename from data/mapObjects/SafariZoneSecretHouse.asm rename to data/maps/objects/SafariZoneSecretHouse.asm diff --git a/data/mapObjects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm similarity index 100% rename from data/mapObjects/SafariZoneWest.asm rename to data/maps/objects/SafariZoneWest.asm diff --git a/data/mapObjects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm similarity index 100% rename from data/mapObjects/SafariZoneWestRestHouse.asm rename to data/maps/objects/SafariZoneWestRestHouse.asm diff --git a/data/mapObjects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm similarity index 100% rename from data/mapObjects/SaffronCity.asm rename to data/maps/objects/SaffronCity.asm diff --git a/data/mapObjects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm similarity index 100% rename from data/mapObjects/SaffronGym.asm rename to data/maps/objects/SaffronGym.asm diff --git a/data/mapObjects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm similarity index 100% rename from data/mapObjects/SaffronMart.asm rename to data/maps/objects/SaffronMart.asm diff --git a/data/mapObjects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm similarity index 100% rename from data/mapObjects/SaffronPidgeyHouse.asm rename to data/maps/objects/SaffronPidgeyHouse.asm diff --git a/data/mapObjects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm similarity index 100% rename from data/mapObjects/SaffronPokecenter.asm rename to data/maps/objects/SaffronPokecenter.asm diff --git a/data/mapObjects/SeafoamIslands1F.asm b/data/maps/objects/SeafoamIslands1F.asm similarity index 100% rename from data/mapObjects/SeafoamIslands1F.asm rename to data/maps/objects/SeafoamIslands1F.asm diff --git a/data/mapObjects/SeafoamIslandsB1F.asm b/data/maps/objects/SeafoamIslandsB1F.asm similarity index 100% rename from data/mapObjects/SeafoamIslandsB1F.asm rename to data/maps/objects/SeafoamIslandsB1F.asm diff --git a/data/mapObjects/SeafoamIslandsB2F.asm b/data/maps/objects/SeafoamIslandsB2F.asm similarity index 100% rename from data/mapObjects/SeafoamIslandsB2F.asm rename to data/maps/objects/SeafoamIslandsB2F.asm diff --git a/data/mapObjects/SeafoamIslandsB3F.asm b/data/maps/objects/SeafoamIslandsB3F.asm similarity index 100% rename from data/mapObjects/SeafoamIslandsB3F.asm rename to data/maps/objects/SeafoamIslandsB3F.asm diff --git a/data/mapObjects/SeafoamIslandsB4F.asm b/data/maps/objects/SeafoamIslandsB4F.asm similarity index 100% rename from data/mapObjects/SeafoamIslandsB4F.asm rename to data/maps/objects/SeafoamIslandsB4F.asm diff --git a/data/mapObjects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm similarity index 100% rename from data/mapObjects/SilphCo10F.asm rename to data/maps/objects/SilphCo10F.asm diff --git a/data/mapObjects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm similarity index 100% rename from data/mapObjects/SilphCo11F.asm rename to data/maps/objects/SilphCo11F.asm diff --git a/data/mapObjects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm similarity index 100% rename from data/mapObjects/SilphCo1F.asm rename to data/maps/objects/SilphCo1F.asm diff --git a/data/mapObjects/SilphCo2F.asm b/data/maps/objects/SilphCo2F.asm similarity index 100% rename from data/mapObjects/SilphCo2F.asm rename to data/maps/objects/SilphCo2F.asm diff --git a/data/mapObjects/SilphCo3F.asm b/data/maps/objects/SilphCo3F.asm similarity index 100% rename from data/mapObjects/SilphCo3F.asm rename to data/maps/objects/SilphCo3F.asm diff --git a/data/mapObjects/SilphCo4F.asm b/data/maps/objects/SilphCo4F.asm similarity index 100% rename from data/mapObjects/SilphCo4F.asm rename to data/maps/objects/SilphCo4F.asm diff --git a/data/mapObjects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm similarity index 100% rename from data/mapObjects/SilphCo5F.asm rename to data/maps/objects/SilphCo5F.asm diff --git a/data/mapObjects/SilphCo6F.asm b/data/maps/objects/SilphCo6F.asm similarity index 100% rename from data/mapObjects/SilphCo6F.asm rename to data/maps/objects/SilphCo6F.asm diff --git a/data/mapObjects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm similarity index 100% rename from data/mapObjects/SilphCo7F.asm rename to data/maps/objects/SilphCo7F.asm diff --git a/data/mapObjects/SilphCo8F.asm b/data/maps/objects/SilphCo8F.asm similarity index 100% rename from data/mapObjects/SilphCo8F.asm rename to data/maps/objects/SilphCo8F.asm diff --git a/data/mapObjects/SilphCo9F.asm b/data/maps/objects/SilphCo9F.asm similarity index 100% rename from data/mapObjects/SilphCo9F.asm rename to data/maps/objects/SilphCo9F.asm diff --git a/data/mapObjects/SilphCoElevator.asm b/data/maps/objects/SilphCoElevator.asm similarity index 100% rename from data/mapObjects/SilphCoElevator.asm rename to data/maps/objects/SilphCoElevator.asm diff --git a/data/mapObjects/TradeCenter.asm b/data/maps/objects/TradeCenter.asm similarity index 100% rename from data/mapObjects/TradeCenter.asm rename to data/maps/objects/TradeCenter.asm diff --git a/data/mapObjects/UndergroundPathNorthSouth.asm b/data/maps/objects/UndergroundPathNorthSouth.asm similarity index 100% rename from data/mapObjects/UndergroundPathNorthSouth.asm rename to data/maps/objects/UndergroundPathNorthSouth.asm diff --git a/data/mapObjects/UndergroundPathRoute5.asm b/data/maps/objects/UndergroundPathRoute5.asm similarity index 100% rename from data/mapObjects/UndergroundPathRoute5.asm rename to data/maps/objects/UndergroundPathRoute5.asm diff --git a/data/mapObjects/UndergroundPathRoute6.asm b/data/maps/objects/UndergroundPathRoute6.asm similarity index 100% rename from data/mapObjects/UndergroundPathRoute6.asm rename to data/maps/objects/UndergroundPathRoute6.asm diff --git a/data/mapObjects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm similarity index 100% rename from data/mapObjects/UndergroundPathRoute7.asm rename to data/maps/objects/UndergroundPathRoute7.asm diff --git a/data/mapObjects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm similarity index 100% rename from data/mapObjects/UndergroundPathRoute7Copy.asm rename to data/maps/objects/UndergroundPathRoute7Copy.asm diff --git a/data/mapObjects/UndergroundPathRoute8.asm b/data/maps/objects/UndergroundPathRoute8.asm similarity index 100% rename from data/mapObjects/UndergroundPathRoute8.asm rename to data/maps/objects/UndergroundPathRoute8.asm diff --git a/data/mapObjects/UndergroundPathWestEast.asm b/data/maps/objects/UndergroundPathWestEast.asm similarity index 100% rename from data/mapObjects/UndergroundPathWestEast.asm rename to data/maps/objects/UndergroundPathWestEast.asm diff --git a/data/mapObjects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm similarity index 100% rename from data/mapObjects/VermilionCity.asm rename to data/maps/objects/VermilionCity.asm diff --git a/data/mapObjects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm similarity index 100% rename from data/mapObjects/VermilionDock.asm rename to data/maps/objects/VermilionDock.asm diff --git a/data/mapObjects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm similarity index 100% rename from data/mapObjects/VermilionGym.asm rename to data/maps/objects/VermilionGym.asm diff --git a/data/mapObjects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm similarity index 100% rename from data/mapObjects/VermilionMart.asm rename to data/maps/objects/VermilionMart.asm diff --git a/data/mapObjects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm similarity index 100% rename from data/mapObjects/VermilionOldRodHouse.asm rename to data/maps/objects/VermilionOldRodHouse.asm diff --git a/data/mapObjects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm similarity index 100% rename from data/mapObjects/VermilionPidgeyHouse.asm rename to data/maps/objects/VermilionPidgeyHouse.asm diff --git a/data/mapObjects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm similarity index 100% rename from data/mapObjects/VermilionPokecenter.asm rename to data/maps/objects/VermilionPokecenter.asm diff --git a/data/mapObjects/VermilionTradeHouse.asm b/data/maps/objects/VermilionTradeHouse.asm similarity index 100% rename from data/mapObjects/VermilionTradeHouse.asm rename to data/maps/objects/VermilionTradeHouse.asm diff --git a/data/mapObjects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm similarity index 100% rename from data/mapObjects/VictoryRoad1F.asm rename to data/maps/objects/VictoryRoad1F.asm diff --git a/data/mapObjects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm similarity index 100% rename from data/mapObjects/VictoryRoad2F.asm rename to data/maps/objects/VictoryRoad2F.asm diff --git a/data/mapObjects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm similarity index 100% rename from data/mapObjects/VictoryRoad3F.asm rename to data/maps/objects/VictoryRoad3F.asm diff --git a/data/mapObjects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm similarity index 100% rename from data/mapObjects/ViridianCity.asm rename to data/maps/objects/ViridianCity.asm diff --git a/data/mapObjects/ViridianForest.asm b/data/maps/objects/ViridianForest.asm similarity index 100% rename from data/mapObjects/ViridianForest.asm rename to data/maps/objects/ViridianForest.asm diff --git a/data/mapObjects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm similarity index 100% rename from data/mapObjects/ViridianForestNorthGate.asm rename to data/maps/objects/ViridianForestNorthGate.asm diff --git a/data/mapObjects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm similarity index 100% rename from data/mapObjects/ViridianForestSouthGate.asm rename to data/maps/objects/ViridianForestSouthGate.asm diff --git a/data/mapObjects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm similarity index 100% rename from data/mapObjects/ViridianGym.asm rename to data/maps/objects/ViridianGym.asm diff --git a/data/mapObjects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm similarity index 100% rename from data/mapObjects/ViridianMart.asm rename to data/maps/objects/ViridianMart.asm diff --git a/data/mapObjects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm similarity index 100% rename from data/mapObjects/ViridianNicknameHouse.asm rename to data/maps/objects/ViridianNicknameHouse.asm diff --git a/data/mapObjects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm similarity index 100% rename from data/mapObjects/ViridianPokecenter.asm rename to data/maps/objects/ViridianPokecenter.asm diff --git a/data/mapObjects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm similarity index 100% rename from data/mapObjects/ViridianSchoolHouse.asm rename to data/maps/objects/ViridianSchoolHouse.asm diff --git a/data/mapObjects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm similarity index 100% rename from data/mapObjects/WardensHouse.asm rename to data/maps/objects/WardensHouse.asm diff --git a/data/rest_house_maps.asm b/data/maps/rest_house_maps.asm similarity index 100% rename from data/rest_house_maps.asm rename to data/maps/rest_house_maps.asm diff --git a/data/map_songs.asm b/data/maps/songs.asm similarity index 100% rename from data/map_songs.asm rename to data/maps/songs.asm diff --git a/data/special_warps.asm b/data/maps/special_warps.asm similarity index 100% rename from data/special_warps.asm rename to data/maps/special_warps.asm diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm new file mode 100755 index 00000000..faba21b5 --- /dev/null +++ b/data/maps/sprite_sets.asm @@ -0,0 +1,190 @@ +MapSpriteSets: + db $01 ; PALLET_TOWN + db $01 ; VIRIDIAN_CITY + db $02 ; PEWTER_CITY + db $02 ; CERULEAN_CITY + db $03 ; LAVENDER_TOWN + db $04 ; VERMILION_CITY + db $05 ; CELADON_CITY + db $0a ; FUCHSIA_CITY + db $01 ; CINNABAR_ISLAND + db $06 ; INDIGO_PLATEAU + db $07 ; SAFFRON_CITY + db $01 ; unused map ID + db $01 ; ROUTE_1 + db $f1 ; ROUTE_2 + db $02 ; ROUTE_3 + db $02 ; ROUTE_4 + db $f9 ; ROUTE_5 + db $fa ; ROUTE_6 + db $fb ; ROUTE_7 + db $fc ; ROUTE_8 + db $02 ; ROUTE_9 + db $f2 ; ROUTE_10 + db $f3 ; ROUTE_11 + db $f4 ; ROUTE_12 + db $08 ; ROUTE_13 + db $08 ; ROUTE_14 + db $f5 ; ROUTE_15 + db $f6 ; ROUTE_16 + db $09 ; ROUTE_17 + db $f7 ; ROUTE_18 + db $0a ; ROUTE_19 + db $f8 ; ROUTE_20 + db $01 ; ROUTE_21 + db $01 ; ROUTE_22 + db $06 ; ROUTE_23 + db $02 ; ROUTE_24 + db $02 ; ROUTE_25 + +; Format: +; 00: determines whether the map is split East/West or North/South +; $01 = East/West divide +; $02 = North/South divide +; 01: coordinate of dividing line +; 02: sprite set ID if in the West or North side +; 03: sprite set ID if in the East or South side +SplitMapSpriteSets: + db $02,$25,$02,$01 ; $f1 + db $02,$32,$02,$03 ; $f2 + db $01,$39,$04,$08 ; $f3 + db $02,$15,$03,$08 ; $f4 + db $01,$08,$0A,$08 ; $f5 + db $01,$18,$09,$05 ; $f6 + db $01,$22,$09,$0A ; $f7 + db $01,$35,$01,$0A ; $f8 + db $02,$21,$02,$07 ; $f9 + db $02,$02,$07,$04 ; $fa + db $01,$11,$05,$07 ; $fb + db $01,$03,$07,$03 ; $fc + +SpriteSets: +; sprite set $01 + db SPRITE_BLUE + db SPRITE_BUG_CATCHER + db SPRITE_GIRL + db SPRITE_FISHER2 + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_GAMBLER + db SPRITE_SEEL + db SPRITE_OAK + db SPRITE_SWIMMER + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN + +; sprite set $02 + db SPRITE_BUG_CATCHER + db SPRITE_ROCKET + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_HIKER + db SPRITE_SLOWBRO + db SPRITE_BLUE + db SPRITE_GUARD + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $03 + db SPRITE_LITTLE_GIRL + db SPRITE_GIRL + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_HIKER + db SPRITE_GAMBLER + db SPRITE_SLOWBRO + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_GUARD + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $04 + db SPRITE_FOULARD_WOMAN + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_BUG_CATCHER + db SPRITE_GAMBLER + db SPRITE_SLOWBRO + db SPRITE_GUARD + db SPRITE_SAILOR + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $05 + db SPRITE_LITTLE_GIRL + db SPRITE_YOUNG_BOY + db SPRITE_GIRL + db SPRITE_FISHER2 + db SPRITE_FAT_BALD_GUY + db SPRITE_OLD_PERSON + db SPRITE_SLOWBRO + db SPRITE_GUARD + db SPRITE_ROCKET + db SPRITE_BALL + db SPRITE_SNORLAX + +; sprite set $06 + db SPRITE_BUG_CATCHER + db SPRITE_GYM_HELPER + db SPRITE_SLOWBRO + db SPRITE_BLUE + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_SWIMMER + db SPRITE_GUARD + db SPRITE_GAMBLER + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $07 + db SPRITE_ROCKET + db SPRITE_OAK_AIDE + db SPRITE_LAPRAS_GIVER + db SPRITE_ERIKA + db SPRITE_GENTLEMAN + db SPRITE_BIRD + db SPRITE_ROCKER + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_SLOWBRO + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $08 + db SPRITE_BIKER + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_FAT_BALD_GUY + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_FOULARD_WOMAN + db SPRITE_FISHER2 + db SPRITE_ROCKER + db SPRITE_SLOWBRO + db SPRITE_BALL + db SPRITE_SNORLAX + +; sprite set $09 + db SPRITE_BIKER + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_LAPRAS_GIVER + db SPRITE_FISHER2 + db SPRITE_ROCKER + db SPRITE_HIKER + db SPRITE_GAMBLER + db SPRITE_FAT_BALD_GUY + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_BALL + db SPRITE_SNORLAX + +; sprite set $0a + db SPRITE_BIRD + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_CLEFAIRY + db SPRITE_FISHER2 + db SPRITE_GAMBLER + db SPRITE_SLOWBRO + db SPRITE_SEEL + db SPRITE_SWIMMER + db SPRITE_BUG_CATCHER + db SPRITE_BALL + db SPRITE_OMANYTE diff --git a/data/town_map_entries.asm b/data/maps/town_map_entries.asm similarity index 100% rename from data/town_map_entries.asm rename to data/maps/town_map_entries.asm diff --git a/data/town_map_order.asm b/data/maps/town_map_order.asm similarity index 100% rename from data/town_map_order.asm rename to data/maps/town_map_order.asm diff --git a/data/move_animation_pointers.asm b/data/moves/animation_special_effect_pointers.asm similarity index 100% rename from data/move_animation_pointers.asm rename to data/moves/animation_special_effect_pointers.asm diff --git a/data/move_animation_special_effects.asm b/data/moves/animation_special_effects.asm similarity index 100% rename from data/move_animation_special_effects.asm rename to data/moves/animation_special_effects.asm diff --git a/data/animations.asm b/data/moves/animations.asm similarity index 100% rename from data/animations.asm rename to data/moves/animations.asm diff --git a/data/effects_pointers.asm b/data/moves/effects_pointers.asm similarity index 92% rename from data/effects_pointers.asm rename to data/moves/effects_pointers.asm index 0d36e887..02f6e5c6 100644 --- a/data/effects_pointers.asm +++ b/data/moves/effects_pointers.asm @@ -7,7 +7,7 @@ MoveEffectPointerTable: dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT1 dw ExplodeEffect ; EXPLODE_EFFECT dw DrainHPEffect ; DREAM_EATER_EFFECT - dw $0000 ; MIRROR_MOVE_EFFECT + dw NULL ; MIRROR_MOVE_EFFECT dw StatModifierUpEffect ; ATTACK_UP1_EFFECT dw StatModifierUpEffect ; DEFENSE_UP1_EFFECT dw StatModifierUpEffect ; SPEED_UP1_EFFECT @@ -15,7 +15,7 @@ MoveEffectPointerTable: dw StatModifierUpEffect ; ACCURACY_UP1_EFFECT dw StatModifierUpEffect ; EVASION_UP1_EFFECT dw PayDayEffect ; PAY_DAY_EFFECT - dw $0000 ; SWIFT_EFFECT + dw NULL ; SWIFT_EFFECT dw StatModifierDownEffect ; ATTACK_DOWN1_EFFECT dw StatModifierDownEffect ; DEFENSE_DOWN1_EFFECT dw StatModifierDownEffect ; SPEED_DOWN1_EFFECT @@ -38,12 +38,12 @@ MoveEffectPointerTable: dw FlinchSideEffect ; FLINCH_SIDE_EFFECT2 dw OneHitKOEffect ; OHKO_EFFECT dw ChargeEffect ; CHARGE_EFFECT - dw $0000 ; SUPER_FANG_EFFECT - dw $0000 ; SPECIAL_DAMAGE_EFFECT + dw NULL ; SUPER_FANG_EFFECT + dw NULL ; SPECIAL_DAMAGE_EFFECT dw TrappingEffect ; TRAPPING_EFFECT dw ChargeEffect ; FLY_EFFECT dw TwoToFiveAttacksEffect ; ATTACK_TWICE_EFFECT - dw $0000 ; JUMP_KICK_EFFECT + dw NULL ; JUMP_KICK_EFFECT dw MistEffect ; MIST_EFFECT dw FocusEnergyEffect ; FOCUS_ENERGY_EFFECT dw RecoilEffect ; RECOIL_EFFECT @@ -76,12 +76,12 @@ MoveEffectPointerTable: dw StatModifierDownEffect ; unused effect dw ConfusionSideEffect ; CONFUSION_SIDE_EFFECT dw TwoToFiveAttacksEffect ; TWINEEDLE_EFFECT - dw $0000 ; unused effect + dw NULL ; unused effect dw SubstituteEffect ; SUBSTITUTE_EFFECT dw HyperBeamEffect ; HYPER_BEAM_EFFECT dw RageEffect ; RAGE_EFFECT dw MimicEffect ; MIMIC_EFFECT - dw $0000 ; METRONOME_EFFECT + dw NULL ; METRONOME_EFFECT dw LeechSeedEffect ; LEECH_SEED_EFFECT dw SplashEffect ; SPLASH_EFFECT dw DisableEffect ; DISABLE_EFFECT diff --git a/data/move_grammar.asm b/data/moves/grammar.asm similarity index 100% rename from data/move_grammar.asm rename to data/moves/grammar.asm diff --git a/data/moves/hm_moves.asm b/data/moves/hm_moves.asm new file mode 100644 index 00000000..4f14b8df --- /dev/null +++ b/data/moves/hm_moves.asm @@ -0,0 +1,10 @@ +; This file is INCLUDEd twice: +; - for HMMoves in home/names.asm +; - for HMMoveArray in engine/pokemon/bills_pc.asm + + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + db -1 ; end diff --git a/data/moves.asm b/data/moves/moves.asm similarity index 100% rename from data/moves.asm rename to data/moves/moves.asm diff --git a/text/move_names.asm b/data/moves/names.asm similarity index 100% rename from text/move_names.asm rename to data/moves/names.asm diff --git a/data/move_sfx.asm b/data/moves/sfx.asm similarity index 100% rename from data/move_sfx.asm rename to data/moves/sfx.asm diff --git a/data/tms.asm b/data/moves/tmhm_moves.asm similarity index 100% rename from data/tms.asm rename to data/moves/tmhm_moves.asm diff --git a/text/player_names.asm b/data/player_names.asm similarity index 100% rename from text/player_names.asm rename to data/player_names.asm diff --git a/text/player_names_list.asm b/data/player_names_list.asm similarity index 100% rename from text/player_names_list.asm rename to data/player_names_list.asm diff --git a/data/pokemon/base_stats.asm b/data/pokemon/base_stats.asm new file mode 100755 index 00000000..809ae8eb --- /dev/null +++ b/data/pokemon/base_stats.asm @@ -0,0 +1,153 @@ +BaseStats:: +MonBaseStats:: +INCLUDE "data/pokemon/base_stats/bulbasaur.asm" +MonBaseStatsEnd:: +INCLUDE "data/pokemon/base_stats/ivysaur.asm" +INCLUDE "data/pokemon/base_stats/venusaur.asm" +INCLUDE "data/pokemon/base_stats/charmander.asm" +INCLUDE "data/pokemon/base_stats/charmeleon.asm" +INCLUDE "data/pokemon/base_stats/charizard.asm" +INCLUDE "data/pokemon/base_stats/squirtle.asm" +INCLUDE "data/pokemon/base_stats/wartortle.asm" +INCLUDE "data/pokemon/base_stats/blastoise.asm" +INCLUDE "data/pokemon/base_stats/caterpie.asm" +INCLUDE "data/pokemon/base_stats/metapod.asm" +INCLUDE "data/pokemon/base_stats/butterfree.asm" +INCLUDE "data/pokemon/base_stats/weedle.asm" +INCLUDE "data/pokemon/base_stats/kakuna.asm" +INCLUDE "data/pokemon/base_stats/beedrill.asm" +INCLUDE "data/pokemon/base_stats/pidgey.asm" +INCLUDE "data/pokemon/base_stats/pidgeotto.asm" +INCLUDE "data/pokemon/base_stats/pidgeot.asm" +INCLUDE "data/pokemon/base_stats/rattata.asm" +INCLUDE "data/pokemon/base_stats/raticate.asm" +INCLUDE "data/pokemon/base_stats/spearow.asm" +INCLUDE "data/pokemon/base_stats/fearow.asm" +INCLUDE "data/pokemon/base_stats/ekans.asm" +INCLUDE "data/pokemon/base_stats/arbok.asm" +INCLUDE "data/pokemon/base_stats/pikachu.asm" +INCLUDE "data/pokemon/base_stats/raichu.asm" +INCLUDE "data/pokemon/base_stats/sandshrew.asm" +INCLUDE "data/pokemon/base_stats/sandslash.asm" +INCLUDE "data/pokemon/base_stats/nidoranf.asm" +INCLUDE "data/pokemon/base_stats/nidorina.asm" +INCLUDE "data/pokemon/base_stats/nidoqueen.asm" +INCLUDE "data/pokemon/base_stats/nidoranm.asm" +INCLUDE "data/pokemon/base_stats/nidorino.asm" +INCLUDE "data/pokemon/base_stats/nidoking.asm" +INCLUDE "data/pokemon/base_stats/clefairy.asm" +INCLUDE "data/pokemon/base_stats/clefable.asm" +INCLUDE "data/pokemon/base_stats/vulpix.asm" +INCLUDE "data/pokemon/base_stats/ninetales.asm" +INCLUDE "data/pokemon/base_stats/jigglypuff.asm" +INCLUDE "data/pokemon/base_stats/wigglytuff.asm" +INCLUDE "data/pokemon/base_stats/zubat.asm" +INCLUDE "data/pokemon/base_stats/golbat.asm" +INCLUDE "data/pokemon/base_stats/oddish.asm" +INCLUDE "data/pokemon/base_stats/gloom.asm" +INCLUDE "data/pokemon/base_stats/vileplume.asm" +INCLUDE "data/pokemon/base_stats/paras.asm" +INCLUDE "data/pokemon/base_stats/parasect.asm" +INCLUDE "data/pokemon/base_stats/venonat.asm" +INCLUDE "data/pokemon/base_stats/venomoth.asm" +INCLUDE "data/pokemon/base_stats/diglett.asm" +INCLUDE "data/pokemon/base_stats/dugtrio.asm" +INCLUDE "data/pokemon/base_stats/meowth.asm" +INCLUDE "data/pokemon/base_stats/persian.asm" +INCLUDE "data/pokemon/base_stats/psyduck.asm" +INCLUDE "data/pokemon/base_stats/golduck.asm" +INCLUDE "data/pokemon/base_stats/mankey.asm" +INCLUDE "data/pokemon/base_stats/primeape.asm" +INCLUDE "data/pokemon/base_stats/growlithe.asm" +INCLUDE "data/pokemon/base_stats/arcanine.asm" +INCLUDE "data/pokemon/base_stats/poliwag.asm" +INCLUDE "data/pokemon/base_stats/poliwhirl.asm" +INCLUDE "data/pokemon/base_stats/poliwrath.asm" +INCLUDE "data/pokemon/base_stats/abra.asm" +INCLUDE "data/pokemon/base_stats/kadabra.asm" +INCLUDE "data/pokemon/base_stats/alakazam.asm" +INCLUDE "data/pokemon/base_stats/machop.asm" +INCLUDE "data/pokemon/base_stats/machoke.asm" +INCLUDE "data/pokemon/base_stats/machamp.asm" +INCLUDE "data/pokemon/base_stats/bellsprout.asm" +INCLUDE "data/pokemon/base_stats/weepinbell.asm" +INCLUDE "data/pokemon/base_stats/victreebel.asm" +INCLUDE "data/pokemon/base_stats/tentacool.asm" +INCLUDE "data/pokemon/base_stats/tentacruel.asm" +INCLUDE "data/pokemon/base_stats/geodude.asm" +INCLUDE "data/pokemon/base_stats/graveler.asm" +INCLUDE "data/pokemon/base_stats/golem.asm" +INCLUDE "data/pokemon/base_stats/ponyta.asm" +INCLUDE "data/pokemon/base_stats/rapidash.asm" +INCLUDE "data/pokemon/base_stats/slowpoke.asm" +INCLUDE "data/pokemon/base_stats/slowbro.asm" +INCLUDE "data/pokemon/base_stats/magnemite.asm" +INCLUDE "data/pokemon/base_stats/magneton.asm" +INCLUDE "data/pokemon/base_stats/farfetchd.asm" +INCLUDE "data/pokemon/base_stats/doduo.asm" +INCLUDE "data/pokemon/base_stats/dodrio.asm" +INCLUDE "data/pokemon/base_stats/seel.asm" +INCLUDE "data/pokemon/base_stats/dewgong.asm" +INCLUDE "data/pokemon/base_stats/grimer.asm" +INCLUDE "data/pokemon/base_stats/muk.asm" +INCLUDE "data/pokemon/base_stats/shellder.asm" +INCLUDE "data/pokemon/base_stats/cloyster.asm" +INCLUDE "data/pokemon/base_stats/gastly.asm" +INCLUDE "data/pokemon/base_stats/haunter.asm" +INCLUDE "data/pokemon/base_stats/gengar.asm" +INCLUDE "data/pokemon/base_stats/onix.asm" +INCLUDE "data/pokemon/base_stats/drowzee.asm" +INCLUDE "data/pokemon/base_stats/hypno.asm" +INCLUDE "data/pokemon/base_stats/krabby.asm" +INCLUDE "data/pokemon/base_stats/kingler.asm" +INCLUDE "data/pokemon/base_stats/voltorb.asm" +INCLUDE "data/pokemon/base_stats/electrode.asm" +INCLUDE "data/pokemon/base_stats/exeggcute.asm" +INCLUDE "data/pokemon/base_stats/exeggutor.asm" +INCLUDE "data/pokemon/base_stats/cubone.asm" +INCLUDE "data/pokemon/base_stats/marowak.asm" +INCLUDE "data/pokemon/base_stats/hitmonlee.asm" +INCLUDE "data/pokemon/base_stats/hitmonchan.asm" +INCLUDE "data/pokemon/base_stats/lickitung.asm" +INCLUDE "data/pokemon/base_stats/koffing.asm" +INCLUDE "data/pokemon/base_stats/weezing.asm" +INCLUDE "data/pokemon/base_stats/rhyhorn.asm" +INCLUDE "data/pokemon/base_stats/rhydon.asm" +INCLUDE "data/pokemon/base_stats/chansey.asm" +INCLUDE "data/pokemon/base_stats/tangela.asm" +INCLUDE "data/pokemon/base_stats/kangaskhan.asm" +INCLUDE "data/pokemon/base_stats/horsea.asm" +INCLUDE "data/pokemon/base_stats/seadra.asm" +INCLUDE "data/pokemon/base_stats/goldeen.asm" +INCLUDE "data/pokemon/base_stats/seaking.asm" +INCLUDE "data/pokemon/base_stats/staryu.asm" +INCLUDE "data/pokemon/base_stats/starmie.asm" +INCLUDE "data/pokemon/base_stats/mrmime.asm" +INCLUDE "data/pokemon/base_stats/scyther.asm" +INCLUDE "data/pokemon/base_stats/jynx.asm" +INCLUDE "data/pokemon/base_stats/electabuzz.asm" +INCLUDE "data/pokemon/base_stats/magmar.asm" +INCLUDE "data/pokemon/base_stats/pinsir.asm" +INCLUDE "data/pokemon/base_stats/tauros.asm" +INCLUDE "data/pokemon/base_stats/magikarp.asm" +INCLUDE "data/pokemon/base_stats/gyarados.asm" +INCLUDE "data/pokemon/base_stats/lapras.asm" +INCLUDE "data/pokemon/base_stats/ditto.asm" +INCLUDE "data/pokemon/base_stats/eevee.asm" +INCLUDE "data/pokemon/base_stats/vaporeon.asm" +INCLUDE "data/pokemon/base_stats/jolteon.asm" +INCLUDE "data/pokemon/base_stats/flareon.asm" +INCLUDE "data/pokemon/base_stats/porygon.asm" +INCLUDE "data/pokemon/base_stats/omanyte.asm" +INCLUDE "data/pokemon/base_stats/omastar.asm" +INCLUDE "data/pokemon/base_stats/kabuto.asm" +INCLUDE "data/pokemon/base_stats/kabutops.asm" +INCLUDE "data/pokemon/base_stats/aerodactyl.asm" +INCLUDE "data/pokemon/base_stats/snorlax.asm" +INCLUDE "data/pokemon/base_stats/articuno.asm" +INCLUDE "data/pokemon/base_stats/zapdos.asm" +INCLUDE "data/pokemon/base_stats/moltres.asm" +INCLUDE "data/pokemon/base_stats/dratini.asm" +INCLUDE "data/pokemon/base_stats/dragonair.asm" +INCLUDE "data/pokemon/base_stats/dragonite.asm" +INCLUDE "data/pokemon/base_stats/mewtwo.asm" diff --git a/data/baseStats/abra.asm b/data/pokemon/base_stats/abra.asm similarity index 100% rename from data/baseStats/abra.asm rename to data/pokemon/base_stats/abra.asm diff --git a/data/baseStats/aerodactyl.asm b/data/pokemon/base_stats/aerodactyl.asm similarity index 100% rename from data/baseStats/aerodactyl.asm rename to data/pokemon/base_stats/aerodactyl.asm diff --git a/data/baseStats/alakazam.asm b/data/pokemon/base_stats/alakazam.asm similarity index 100% rename from data/baseStats/alakazam.asm rename to data/pokemon/base_stats/alakazam.asm diff --git a/data/baseStats/arbok.asm b/data/pokemon/base_stats/arbok.asm similarity index 100% rename from data/baseStats/arbok.asm rename to data/pokemon/base_stats/arbok.asm diff --git a/data/baseStats/arcanine.asm b/data/pokemon/base_stats/arcanine.asm similarity index 100% rename from data/baseStats/arcanine.asm rename to data/pokemon/base_stats/arcanine.asm diff --git a/data/baseStats/articuno.asm b/data/pokemon/base_stats/articuno.asm similarity index 100% rename from data/baseStats/articuno.asm rename to data/pokemon/base_stats/articuno.asm diff --git a/data/baseStats/beedrill.asm b/data/pokemon/base_stats/beedrill.asm similarity index 100% rename from data/baseStats/beedrill.asm rename to data/pokemon/base_stats/beedrill.asm diff --git a/data/baseStats/bellsprout.asm b/data/pokemon/base_stats/bellsprout.asm similarity index 100% rename from data/baseStats/bellsprout.asm rename to data/pokemon/base_stats/bellsprout.asm diff --git a/data/baseStats/blastoise.asm b/data/pokemon/base_stats/blastoise.asm similarity index 100% rename from data/baseStats/blastoise.asm rename to data/pokemon/base_stats/blastoise.asm diff --git a/data/baseStats/bulbasaur.asm b/data/pokemon/base_stats/bulbasaur.asm similarity index 100% rename from data/baseStats/bulbasaur.asm rename to data/pokemon/base_stats/bulbasaur.asm diff --git a/data/baseStats/butterfree.asm b/data/pokemon/base_stats/butterfree.asm similarity index 100% rename from data/baseStats/butterfree.asm rename to data/pokemon/base_stats/butterfree.asm diff --git a/data/baseStats/caterpie.asm b/data/pokemon/base_stats/caterpie.asm similarity index 100% rename from data/baseStats/caterpie.asm rename to data/pokemon/base_stats/caterpie.asm diff --git a/data/baseStats/chansey.asm b/data/pokemon/base_stats/chansey.asm similarity index 100% rename from data/baseStats/chansey.asm rename to data/pokemon/base_stats/chansey.asm diff --git a/data/baseStats/charizard.asm b/data/pokemon/base_stats/charizard.asm similarity index 100% rename from data/baseStats/charizard.asm rename to data/pokemon/base_stats/charizard.asm diff --git a/data/baseStats/charmander.asm b/data/pokemon/base_stats/charmander.asm similarity index 100% rename from data/baseStats/charmander.asm rename to data/pokemon/base_stats/charmander.asm diff --git a/data/baseStats/charmeleon.asm b/data/pokemon/base_stats/charmeleon.asm similarity index 100% rename from data/baseStats/charmeleon.asm rename to data/pokemon/base_stats/charmeleon.asm diff --git a/data/baseStats/clefable.asm b/data/pokemon/base_stats/clefable.asm similarity index 100% rename from data/baseStats/clefable.asm rename to data/pokemon/base_stats/clefable.asm diff --git a/data/baseStats/clefairy.asm b/data/pokemon/base_stats/clefairy.asm similarity index 100% rename from data/baseStats/clefairy.asm rename to data/pokemon/base_stats/clefairy.asm diff --git a/data/baseStats/cloyster.asm b/data/pokemon/base_stats/cloyster.asm similarity index 100% rename from data/baseStats/cloyster.asm rename to data/pokemon/base_stats/cloyster.asm diff --git a/data/baseStats/cubone.asm b/data/pokemon/base_stats/cubone.asm similarity index 100% rename from data/baseStats/cubone.asm rename to data/pokemon/base_stats/cubone.asm diff --git a/data/baseStats/dewgong.asm b/data/pokemon/base_stats/dewgong.asm similarity index 100% rename from data/baseStats/dewgong.asm rename to data/pokemon/base_stats/dewgong.asm diff --git a/data/baseStats/diglett.asm b/data/pokemon/base_stats/diglett.asm similarity index 100% rename from data/baseStats/diglett.asm rename to data/pokemon/base_stats/diglett.asm diff --git a/data/baseStats/ditto.asm b/data/pokemon/base_stats/ditto.asm similarity index 100% rename from data/baseStats/ditto.asm rename to data/pokemon/base_stats/ditto.asm diff --git a/data/baseStats/dodrio.asm b/data/pokemon/base_stats/dodrio.asm similarity index 100% rename from data/baseStats/dodrio.asm rename to data/pokemon/base_stats/dodrio.asm diff --git a/data/baseStats/doduo.asm b/data/pokemon/base_stats/doduo.asm similarity index 100% rename from data/baseStats/doduo.asm rename to data/pokemon/base_stats/doduo.asm diff --git a/data/baseStats/dragonair.asm b/data/pokemon/base_stats/dragonair.asm similarity index 100% rename from data/baseStats/dragonair.asm rename to data/pokemon/base_stats/dragonair.asm diff --git a/data/baseStats/dragonite.asm b/data/pokemon/base_stats/dragonite.asm similarity index 100% rename from data/baseStats/dragonite.asm rename to data/pokemon/base_stats/dragonite.asm diff --git a/data/baseStats/dratini.asm b/data/pokemon/base_stats/dratini.asm similarity index 100% rename from data/baseStats/dratini.asm rename to data/pokemon/base_stats/dratini.asm diff --git a/data/baseStats/drowzee.asm b/data/pokemon/base_stats/drowzee.asm similarity index 100% rename from data/baseStats/drowzee.asm rename to data/pokemon/base_stats/drowzee.asm diff --git a/data/baseStats/dugtrio.asm b/data/pokemon/base_stats/dugtrio.asm similarity index 100% rename from data/baseStats/dugtrio.asm rename to data/pokemon/base_stats/dugtrio.asm diff --git a/data/baseStats/eevee.asm b/data/pokemon/base_stats/eevee.asm similarity index 100% rename from data/baseStats/eevee.asm rename to data/pokemon/base_stats/eevee.asm diff --git a/data/baseStats/ekans.asm b/data/pokemon/base_stats/ekans.asm similarity index 100% rename from data/baseStats/ekans.asm rename to data/pokemon/base_stats/ekans.asm diff --git a/data/baseStats/electabuzz.asm b/data/pokemon/base_stats/electabuzz.asm similarity index 100% rename from data/baseStats/electabuzz.asm rename to data/pokemon/base_stats/electabuzz.asm diff --git a/data/baseStats/electrode.asm b/data/pokemon/base_stats/electrode.asm similarity index 100% rename from data/baseStats/electrode.asm rename to data/pokemon/base_stats/electrode.asm diff --git a/data/baseStats/exeggcute.asm b/data/pokemon/base_stats/exeggcute.asm similarity index 100% rename from data/baseStats/exeggcute.asm rename to data/pokemon/base_stats/exeggcute.asm diff --git a/data/baseStats/exeggutor.asm b/data/pokemon/base_stats/exeggutor.asm similarity index 100% rename from data/baseStats/exeggutor.asm rename to data/pokemon/base_stats/exeggutor.asm diff --git a/data/baseStats/farfetchd.asm b/data/pokemon/base_stats/farfetchd.asm similarity index 100% rename from data/baseStats/farfetchd.asm rename to data/pokemon/base_stats/farfetchd.asm diff --git a/data/baseStats/fearow.asm b/data/pokemon/base_stats/fearow.asm similarity index 100% rename from data/baseStats/fearow.asm rename to data/pokemon/base_stats/fearow.asm diff --git a/data/baseStats/flareon.asm b/data/pokemon/base_stats/flareon.asm similarity index 100% rename from data/baseStats/flareon.asm rename to data/pokemon/base_stats/flareon.asm diff --git a/data/baseStats/gastly.asm b/data/pokemon/base_stats/gastly.asm similarity index 100% rename from data/baseStats/gastly.asm rename to data/pokemon/base_stats/gastly.asm diff --git a/data/baseStats/gengar.asm b/data/pokemon/base_stats/gengar.asm similarity index 100% rename from data/baseStats/gengar.asm rename to data/pokemon/base_stats/gengar.asm diff --git a/data/baseStats/geodude.asm b/data/pokemon/base_stats/geodude.asm similarity index 100% rename from data/baseStats/geodude.asm rename to data/pokemon/base_stats/geodude.asm diff --git a/data/baseStats/gloom.asm b/data/pokemon/base_stats/gloom.asm similarity index 100% rename from data/baseStats/gloom.asm rename to data/pokemon/base_stats/gloom.asm diff --git a/data/baseStats/golbat.asm b/data/pokemon/base_stats/golbat.asm similarity index 100% rename from data/baseStats/golbat.asm rename to data/pokemon/base_stats/golbat.asm diff --git a/data/baseStats/goldeen.asm b/data/pokemon/base_stats/goldeen.asm similarity index 100% rename from data/baseStats/goldeen.asm rename to data/pokemon/base_stats/goldeen.asm diff --git a/data/baseStats/golduck.asm b/data/pokemon/base_stats/golduck.asm similarity index 100% rename from data/baseStats/golduck.asm rename to data/pokemon/base_stats/golduck.asm diff --git a/data/baseStats/golem.asm b/data/pokemon/base_stats/golem.asm similarity index 100% rename from data/baseStats/golem.asm rename to data/pokemon/base_stats/golem.asm diff --git a/data/baseStats/graveler.asm b/data/pokemon/base_stats/graveler.asm similarity index 100% rename from data/baseStats/graveler.asm rename to data/pokemon/base_stats/graveler.asm diff --git a/data/baseStats/grimer.asm b/data/pokemon/base_stats/grimer.asm similarity index 100% rename from data/baseStats/grimer.asm rename to data/pokemon/base_stats/grimer.asm diff --git a/data/baseStats/growlithe.asm b/data/pokemon/base_stats/growlithe.asm similarity index 100% rename from data/baseStats/growlithe.asm rename to data/pokemon/base_stats/growlithe.asm diff --git a/data/baseStats/gyarados.asm b/data/pokemon/base_stats/gyarados.asm similarity index 100% rename from data/baseStats/gyarados.asm rename to data/pokemon/base_stats/gyarados.asm diff --git a/data/baseStats/haunter.asm b/data/pokemon/base_stats/haunter.asm similarity index 100% rename from data/baseStats/haunter.asm rename to data/pokemon/base_stats/haunter.asm diff --git a/data/baseStats/hitmonchan.asm b/data/pokemon/base_stats/hitmonchan.asm similarity index 100% rename from data/baseStats/hitmonchan.asm rename to data/pokemon/base_stats/hitmonchan.asm diff --git a/data/baseStats/hitmonlee.asm b/data/pokemon/base_stats/hitmonlee.asm similarity index 100% rename from data/baseStats/hitmonlee.asm rename to data/pokemon/base_stats/hitmonlee.asm diff --git a/data/baseStats/horsea.asm b/data/pokemon/base_stats/horsea.asm similarity index 100% rename from data/baseStats/horsea.asm rename to data/pokemon/base_stats/horsea.asm diff --git a/data/baseStats/hypno.asm b/data/pokemon/base_stats/hypno.asm similarity index 100% rename from data/baseStats/hypno.asm rename to data/pokemon/base_stats/hypno.asm diff --git a/data/baseStats/ivysaur.asm b/data/pokemon/base_stats/ivysaur.asm similarity index 100% rename from data/baseStats/ivysaur.asm rename to data/pokemon/base_stats/ivysaur.asm diff --git a/data/baseStats/jigglypuff.asm b/data/pokemon/base_stats/jigglypuff.asm similarity index 100% rename from data/baseStats/jigglypuff.asm rename to data/pokemon/base_stats/jigglypuff.asm diff --git a/data/baseStats/jolteon.asm b/data/pokemon/base_stats/jolteon.asm similarity index 100% rename from data/baseStats/jolteon.asm rename to data/pokemon/base_stats/jolteon.asm diff --git a/data/baseStats/jynx.asm b/data/pokemon/base_stats/jynx.asm similarity index 100% rename from data/baseStats/jynx.asm rename to data/pokemon/base_stats/jynx.asm diff --git a/data/baseStats/kabuto.asm b/data/pokemon/base_stats/kabuto.asm similarity index 100% rename from data/baseStats/kabuto.asm rename to data/pokemon/base_stats/kabuto.asm diff --git a/data/baseStats/kabutops.asm b/data/pokemon/base_stats/kabutops.asm similarity index 100% rename from data/baseStats/kabutops.asm rename to data/pokemon/base_stats/kabutops.asm diff --git a/data/baseStats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm similarity index 100% rename from data/baseStats/kadabra.asm rename to data/pokemon/base_stats/kadabra.asm diff --git a/data/baseStats/kakuna.asm b/data/pokemon/base_stats/kakuna.asm similarity index 100% rename from data/baseStats/kakuna.asm rename to data/pokemon/base_stats/kakuna.asm diff --git a/data/baseStats/kangaskhan.asm b/data/pokemon/base_stats/kangaskhan.asm similarity index 100% rename from data/baseStats/kangaskhan.asm rename to data/pokemon/base_stats/kangaskhan.asm diff --git a/data/baseStats/kingler.asm b/data/pokemon/base_stats/kingler.asm similarity index 100% rename from data/baseStats/kingler.asm rename to data/pokemon/base_stats/kingler.asm diff --git a/data/baseStats/koffing.asm b/data/pokemon/base_stats/koffing.asm similarity index 100% rename from data/baseStats/koffing.asm rename to data/pokemon/base_stats/koffing.asm diff --git a/data/baseStats/krabby.asm b/data/pokemon/base_stats/krabby.asm similarity index 100% rename from data/baseStats/krabby.asm rename to data/pokemon/base_stats/krabby.asm diff --git a/data/baseStats/lapras.asm b/data/pokemon/base_stats/lapras.asm similarity index 100% rename from data/baseStats/lapras.asm rename to data/pokemon/base_stats/lapras.asm diff --git a/data/baseStats/lickitung.asm b/data/pokemon/base_stats/lickitung.asm similarity index 100% rename from data/baseStats/lickitung.asm rename to data/pokemon/base_stats/lickitung.asm diff --git a/data/baseStats/machamp.asm b/data/pokemon/base_stats/machamp.asm similarity index 100% rename from data/baseStats/machamp.asm rename to data/pokemon/base_stats/machamp.asm diff --git a/data/baseStats/machoke.asm b/data/pokemon/base_stats/machoke.asm similarity index 100% rename from data/baseStats/machoke.asm rename to data/pokemon/base_stats/machoke.asm diff --git a/data/baseStats/machop.asm b/data/pokemon/base_stats/machop.asm similarity index 100% rename from data/baseStats/machop.asm rename to data/pokemon/base_stats/machop.asm diff --git a/data/baseStats/magikarp.asm b/data/pokemon/base_stats/magikarp.asm similarity index 100% rename from data/baseStats/magikarp.asm rename to data/pokemon/base_stats/magikarp.asm diff --git a/data/baseStats/magmar.asm b/data/pokemon/base_stats/magmar.asm similarity index 100% rename from data/baseStats/magmar.asm rename to data/pokemon/base_stats/magmar.asm diff --git a/data/baseStats/magnemite.asm b/data/pokemon/base_stats/magnemite.asm similarity index 100% rename from data/baseStats/magnemite.asm rename to data/pokemon/base_stats/magnemite.asm diff --git a/data/baseStats/magneton.asm b/data/pokemon/base_stats/magneton.asm similarity index 100% rename from data/baseStats/magneton.asm rename to data/pokemon/base_stats/magneton.asm diff --git a/data/baseStats/mankey.asm b/data/pokemon/base_stats/mankey.asm similarity index 100% rename from data/baseStats/mankey.asm rename to data/pokemon/base_stats/mankey.asm diff --git a/data/baseStats/marowak.asm b/data/pokemon/base_stats/marowak.asm similarity index 100% rename from data/baseStats/marowak.asm rename to data/pokemon/base_stats/marowak.asm diff --git a/data/baseStats/meowth.asm b/data/pokemon/base_stats/meowth.asm similarity index 100% rename from data/baseStats/meowth.asm rename to data/pokemon/base_stats/meowth.asm diff --git a/data/baseStats/metapod.asm b/data/pokemon/base_stats/metapod.asm similarity index 100% rename from data/baseStats/metapod.asm rename to data/pokemon/base_stats/metapod.asm diff --git a/data/baseStats/mew.asm b/data/pokemon/base_stats/mew.asm similarity index 100% rename from data/baseStats/mew.asm rename to data/pokemon/base_stats/mew.asm diff --git a/data/baseStats/mewtwo.asm b/data/pokemon/base_stats/mewtwo.asm similarity index 100% rename from data/baseStats/mewtwo.asm rename to data/pokemon/base_stats/mewtwo.asm diff --git a/data/baseStats/moltres.asm b/data/pokemon/base_stats/moltres.asm similarity index 100% rename from data/baseStats/moltres.asm rename to data/pokemon/base_stats/moltres.asm diff --git a/data/baseStats/mrmime.asm b/data/pokemon/base_stats/mrmime.asm similarity index 100% rename from data/baseStats/mrmime.asm rename to data/pokemon/base_stats/mrmime.asm diff --git a/data/baseStats/muk.asm b/data/pokemon/base_stats/muk.asm similarity index 100% rename from data/baseStats/muk.asm rename to data/pokemon/base_stats/muk.asm diff --git a/data/baseStats/nidoking.asm b/data/pokemon/base_stats/nidoking.asm similarity index 100% rename from data/baseStats/nidoking.asm rename to data/pokemon/base_stats/nidoking.asm diff --git a/data/baseStats/nidoqueen.asm b/data/pokemon/base_stats/nidoqueen.asm similarity index 100% rename from data/baseStats/nidoqueen.asm rename to data/pokemon/base_stats/nidoqueen.asm diff --git a/data/baseStats/nidoranf.asm b/data/pokemon/base_stats/nidoranf.asm similarity index 100% rename from data/baseStats/nidoranf.asm rename to data/pokemon/base_stats/nidoranf.asm diff --git a/data/baseStats/nidoranm.asm b/data/pokemon/base_stats/nidoranm.asm similarity index 100% rename from data/baseStats/nidoranm.asm rename to data/pokemon/base_stats/nidoranm.asm diff --git a/data/baseStats/nidorina.asm b/data/pokemon/base_stats/nidorina.asm similarity index 100% rename from data/baseStats/nidorina.asm rename to data/pokemon/base_stats/nidorina.asm diff --git a/data/baseStats/nidorino.asm b/data/pokemon/base_stats/nidorino.asm similarity index 100% rename from data/baseStats/nidorino.asm rename to data/pokemon/base_stats/nidorino.asm diff --git a/data/baseStats/ninetales.asm b/data/pokemon/base_stats/ninetales.asm similarity index 100% rename from data/baseStats/ninetales.asm rename to data/pokemon/base_stats/ninetales.asm diff --git a/data/baseStats/oddish.asm b/data/pokemon/base_stats/oddish.asm similarity index 100% rename from data/baseStats/oddish.asm rename to data/pokemon/base_stats/oddish.asm diff --git a/data/baseStats/omanyte.asm b/data/pokemon/base_stats/omanyte.asm similarity index 100% rename from data/baseStats/omanyte.asm rename to data/pokemon/base_stats/omanyte.asm diff --git a/data/baseStats/omastar.asm b/data/pokemon/base_stats/omastar.asm similarity index 100% rename from data/baseStats/omastar.asm rename to data/pokemon/base_stats/omastar.asm diff --git a/data/baseStats/onix.asm b/data/pokemon/base_stats/onix.asm similarity index 100% rename from data/baseStats/onix.asm rename to data/pokemon/base_stats/onix.asm diff --git a/data/baseStats/paras.asm b/data/pokemon/base_stats/paras.asm similarity index 100% rename from data/baseStats/paras.asm rename to data/pokemon/base_stats/paras.asm diff --git a/data/baseStats/parasect.asm b/data/pokemon/base_stats/parasect.asm similarity index 100% rename from data/baseStats/parasect.asm rename to data/pokemon/base_stats/parasect.asm diff --git a/data/baseStats/persian.asm b/data/pokemon/base_stats/persian.asm similarity index 100% rename from data/baseStats/persian.asm rename to data/pokemon/base_stats/persian.asm diff --git a/data/baseStats/pidgeot.asm b/data/pokemon/base_stats/pidgeot.asm similarity index 100% rename from data/baseStats/pidgeot.asm rename to data/pokemon/base_stats/pidgeot.asm diff --git a/data/baseStats/pidgeotto.asm b/data/pokemon/base_stats/pidgeotto.asm similarity index 100% rename from data/baseStats/pidgeotto.asm rename to data/pokemon/base_stats/pidgeotto.asm diff --git a/data/baseStats/pidgey.asm b/data/pokemon/base_stats/pidgey.asm similarity index 100% rename from data/baseStats/pidgey.asm rename to data/pokemon/base_stats/pidgey.asm diff --git a/data/baseStats/pikachu.asm b/data/pokemon/base_stats/pikachu.asm similarity index 100% rename from data/baseStats/pikachu.asm rename to data/pokemon/base_stats/pikachu.asm diff --git a/data/baseStats/pinsir.asm b/data/pokemon/base_stats/pinsir.asm similarity index 100% rename from data/baseStats/pinsir.asm rename to data/pokemon/base_stats/pinsir.asm diff --git a/data/baseStats/poliwag.asm b/data/pokemon/base_stats/poliwag.asm similarity index 100% rename from data/baseStats/poliwag.asm rename to data/pokemon/base_stats/poliwag.asm diff --git a/data/baseStats/poliwhirl.asm b/data/pokemon/base_stats/poliwhirl.asm similarity index 100% rename from data/baseStats/poliwhirl.asm rename to data/pokemon/base_stats/poliwhirl.asm diff --git a/data/baseStats/poliwrath.asm b/data/pokemon/base_stats/poliwrath.asm similarity index 100% rename from data/baseStats/poliwrath.asm rename to data/pokemon/base_stats/poliwrath.asm diff --git a/data/baseStats/ponyta.asm b/data/pokemon/base_stats/ponyta.asm similarity index 100% rename from data/baseStats/ponyta.asm rename to data/pokemon/base_stats/ponyta.asm diff --git a/data/baseStats/porygon.asm b/data/pokemon/base_stats/porygon.asm similarity index 100% rename from data/baseStats/porygon.asm rename to data/pokemon/base_stats/porygon.asm diff --git a/data/baseStats/primeape.asm b/data/pokemon/base_stats/primeape.asm similarity index 100% rename from data/baseStats/primeape.asm rename to data/pokemon/base_stats/primeape.asm diff --git a/data/baseStats/psyduck.asm b/data/pokemon/base_stats/psyduck.asm similarity index 100% rename from data/baseStats/psyduck.asm rename to data/pokemon/base_stats/psyduck.asm diff --git a/data/baseStats/raichu.asm b/data/pokemon/base_stats/raichu.asm similarity index 100% rename from data/baseStats/raichu.asm rename to data/pokemon/base_stats/raichu.asm diff --git a/data/baseStats/rapidash.asm b/data/pokemon/base_stats/rapidash.asm similarity index 100% rename from data/baseStats/rapidash.asm rename to data/pokemon/base_stats/rapidash.asm diff --git a/data/baseStats/raticate.asm b/data/pokemon/base_stats/raticate.asm similarity index 100% rename from data/baseStats/raticate.asm rename to data/pokemon/base_stats/raticate.asm diff --git a/data/baseStats/rattata.asm b/data/pokemon/base_stats/rattata.asm similarity index 100% rename from data/baseStats/rattata.asm rename to data/pokemon/base_stats/rattata.asm diff --git a/data/baseStats/rhydon.asm b/data/pokemon/base_stats/rhydon.asm similarity index 100% rename from data/baseStats/rhydon.asm rename to data/pokemon/base_stats/rhydon.asm diff --git a/data/baseStats/rhyhorn.asm b/data/pokemon/base_stats/rhyhorn.asm similarity index 100% rename from data/baseStats/rhyhorn.asm rename to data/pokemon/base_stats/rhyhorn.asm diff --git a/data/baseStats/sandshrew.asm b/data/pokemon/base_stats/sandshrew.asm similarity index 100% rename from data/baseStats/sandshrew.asm rename to data/pokemon/base_stats/sandshrew.asm diff --git a/data/baseStats/sandslash.asm b/data/pokemon/base_stats/sandslash.asm similarity index 100% rename from data/baseStats/sandslash.asm rename to data/pokemon/base_stats/sandslash.asm diff --git a/data/baseStats/scyther.asm b/data/pokemon/base_stats/scyther.asm similarity index 100% rename from data/baseStats/scyther.asm rename to data/pokemon/base_stats/scyther.asm diff --git a/data/baseStats/seadra.asm b/data/pokemon/base_stats/seadra.asm similarity index 100% rename from data/baseStats/seadra.asm rename to data/pokemon/base_stats/seadra.asm diff --git a/data/baseStats/seaking.asm b/data/pokemon/base_stats/seaking.asm similarity index 100% rename from data/baseStats/seaking.asm rename to data/pokemon/base_stats/seaking.asm diff --git a/data/baseStats/seel.asm b/data/pokemon/base_stats/seel.asm similarity index 100% rename from data/baseStats/seel.asm rename to data/pokemon/base_stats/seel.asm diff --git a/data/baseStats/shellder.asm b/data/pokemon/base_stats/shellder.asm similarity index 100% rename from data/baseStats/shellder.asm rename to data/pokemon/base_stats/shellder.asm diff --git a/data/baseStats/slowbro.asm b/data/pokemon/base_stats/slowbro.asm similarity index 100% rename from data/baseStats/slowbro.asm rename to data/pokemon/base_stats/slowbro.asm diff --git a/data/baseStats/slowpoke.asm b/data/pokemon/base_stats/slowpoke.asm similarity index 100% rename from data/baseStats/slowpoke.asm rename to data/pokemon/base_stats/slowpoke.asm diff --git a/data/baseStats/snorlax.asm b/data/pokemon/base_stats/snorlax.asm similarity index 100% rename from data/baseStats/snorlax.asm rename to data/pokemon/base_stats/snorlax.asm diff --git a/data/baseStats/spearow.asm b/data/pokemon/base_stats/spearow.asm similarity index 100% rename from data/baseStats/spearow.asm rename to data/pokemon/base_stats/spearow.asm diff --git a/data/baseStats/squirtle.asm b/data/pokemon/base_stats/squirtle.asm similarity index 100% rename from data/baseStats/squirtle.asm rename to data/pokemon/base_stats/squirtle.asm diff --git a/data/baseStats/starmie.asm b/data/pokemon/base_stats/starmie.asm similarity index 100% rename from data/baseStats/starmie.asm rename to data/pokemon/base_stats/starmie.asm diff --git a/data/baseStats/staryu.asm b/data/pokemon/base_stats/staryu.asm similarity index 100% rename from data/baseStats/staryu.asm rename to data/pokemon/base_stats/staryu.asm diff --git a/data/baseStats/tangela.asm b/data/pokemon/base_stats/tangela.asm similarity index 100% rename from data/baseStats/tangela.asm rename to data/pokemon/base_stats/tangela.asm diff --git a/data/baseStats/tauros.asm b/data/pokemon/base_stats/tauros.asm similarity index 100% rename from data/baseStats/tauros.asm rename to data/pokemon/base_stats/tauros.asm diff --git a/data/baseStats/tentacool.asm b/data/pokemon/base_stats/tentacool.asm similarity index 100% rename from data/baseStats/tentacool.asm rename to data/pokemon/base_stats/tentacool.asm diff --git a/data/baseStats/tentacruel.asm b/data/pokemon/base_stats/tentacruel.asm similarity index 100% rename from data/baseStats/tentacruel.asm rename to data/pokemon/base_stats/tentacruel.asm diff --git a/data/baseStats/vaporeon.asm b/data/pokemon/base_stats/vaporeon.asm similarity index 100% rename from data/baseStats/vaporeon.asm rename to data/pokemon/base_stats/vaporeon.asm diff --git a/data/baseStats/venomoth.asm b/data/pokemon/base_stats/venomoth.asm similarity index 100% rename from data/baseStats/venomoth.asm rename to data/pokemon/base_stats/venomoth.asm diff --git a/data/baseStats/venonat.asm b/data/pokemon/base_stats/venonat.asm similarity index 100% rename from data/baseStats/venonat.asm rename to data/pokemon/base_stats/venonat.asm diff --git a/data/baseStats/venusaur.asm b/data/pokemon/base_stats/venusaur.asm similarity index 100% rename from data/baseStats/venusaur.asm rename to data/pokemon/base_stats/venusaur.asm diff --git a/data/baseStats/victreebel.asm b/data/pokemon/base_stats/victreebel.asm similarity index 100% rename from data/baseStats/victreebel.asm rename to data/pokemon/base_stats/victreebel.asm diff --git a/data/baseStats/vileplume.asm b/data/pokemon/base_stats/vileplume.asm similarity index 100% rename from data/baseStats/vileplume.asm rename to data/pokemon/base_stats/vileplume.asm diff --git a/data/baseStats/voltorb.asm b/data/pokemon/base_stats/voltorb.asm similarity index 100% rename from data/baseStats/voltorb.asm rename to data/pokemon/base_stats/voltorb.asm diff --git a/data/baseStats/vulpix.asm b/data/pokemon/base_stats/vulpix.asm similarity index 100% rename from data/baseStats/vulpix.asm rename to data/pokemon/base_stats/vulpix.asm diff --git a/data/baseStats/wartortle.asm b/data/pokemon/base_stats/wartortle.asm similarity index 100% rename from data/baseStats/wartortle.asm rename to data/pokemon/base_stats/wartortle.asm diff --git a/data/baseStats/weedle.asm b/data/pokemon/base_stats/weedle.asm similarity index 100% rename from data/baseStats/weedle.asm rename to data/pokemon/base_stats/weedle.asm diff --git a/data/baseStats/weepinbell.asm b/data/pokemon/base_stats/weepinbell.asm similarity index 100% rename from data/baseStats/weepinbell.asm rename to data/pokemon/base_stats/weepinbell.asm diff --git a/data/baseStats/weezing.asm b/data/pokemon/base_stats/weezing.asm similarity index 100% rename from data/baseStats/weezing.asm rename to data/pokemon/base_stats/weezing.asm diff --git a/data/baseStats/wigglytuff.asm b/data/pokemon/base_stats/wigglytuff.asm similarity index 100% rename from data/baseStats/wigglytuff.asm rename to data/pokemon/base_stats/wigglytuff.asm diff --git a/data/baseStats/zapdos.asm b/data/pokemon/base_stats/zapdos.asm similarity index 100% rename from data/baseStats/zapdos.asm rename to data/pokemon/base_stats/zapdos.asm diff --git a/data/baseStats/zubat.asm b/data/pokemon/base_stats/zubat.asm similarity index 100% rename from data/baseStats/zubat.asm rename to data/pokemon/base_stats/zubat.asm diff --git a/data/cries.asm b/data/pokemon/cries.asm similarity index 100% rename from data/cries.asm rename to data/pokemon/cries.asm diff --git a/data/pokedex_entries.asm b/data/pokemon/dex_entries.asm similarity index 100% rename from data/pokedex_entries.asm rename to data/pokemon/dex_entries.asm diff --git a/data/pokedex_order.asm b/data/pokemon/dex_order.asm similarity index 100% rename from data/pokedex_order.asm rename to data/pokemon/dex_order.asm diff --git a/text/pokedex.asm b/data/pokemon/dex_text.asm similarity index 100% rename from text/pokedex.asm rename to data/pokemon/dex_text.asm diff --git a/data/evos_moves.asm b/data/pokemon/evos_moves.asm similarity index 99% rename from data/evos_moves.asm rename to data/pokemon/evos_moves.asm index 26f09b87..51f6b244 100755 --- a/data/evos_moves.asm +++ b/data/pokemon/evos_moves.asm @@ -1,4 +1,4 @@ -; See constants/evolution_constants.asm +; See constants/pokemon_data_constants.asm ; The max number of evolutions per monster is MAX_EVOLUTIONS EvosMovesPointerTable: diff --git a/data/mon_party_sprites.asm b/data/pokemon/menu_icons.asm similarity index 100% rename from data/mon_party_sprites.asm rename to data/pokemon/menu_icons.asm diff --git a/data/pokemon/mew.asm b/data/pokemon/mew.asm new file mode 100644 index 00000000..ad8cb9b8 --- /dev/null +++ b/data/pokemon/mew.asm @@ -0,0 +1,14 @@ +; Mew's pics and base data are not grouped with the other Pokémon +; because it was a last-minute addition "as a kind of prank". +; Shigeki Morimoto explained in an Iwata Asks interview: +; "We put Mew in right at the very end. The cartridge was really full and +; there wasn't room for much more on there. Then the debug features which +; weren't going to be included in the final version of the game were removed, +; creating a miniscule 300 bytes of free space. So we thought that we could +; slot Mew in there. What we did would be unthinkable nowadays!" +; http://iwataasks.nintendo.com/interviews/#/ds/pokemon/0/0 + +MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" +MewPicBack:: INCBIN "gfx/pokemon/back/mewb.pic" + +INCLUDE "data/pokemon/base_stats/mew.asm" diff --git a/text/monster_names.asm b/data/pokemon/names.asm similarity index 100% rename from text/monster_names.asm rename to data/pokemon/names.asm diff --git a/data/mon_palettes.asm b/data/pokemon/palettes.asm similarity index 100% rename from data/mon_palettes.asm rename to data/pokemon/palettes.asm diff --git a/data/title_mons.asm b/data/pokemon/title_mons.asm similarity index 100% rename from data/title_mons.asm rename to data/pokemon/title_mons.asm diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm index 5ce797e0..9d206a48 100644 --- a/data/predef_pointers.asm +++ b/data/predef_pointers.asm @@ -1,3 +1,9 @@ +add_predef: MACRO +\1Predef:: + db BANK(\1) + dw \1 +ENDM + PredefPointers:: ; these are pointers to ASM routines. ; they appear to be used in overworld map scripts. diff --git a/data/sgb_border.asm b/data/sgb/sgb_border.asm similarity index 100% rename from data/sgb_border.asm rename to data/sgb/sgb_border.asm diff --git a/data/sgb_packets.asm b/data/sgb/sgb_packets.asm similarity index 100% rename from data/sgb_packets.asm rename to data/sgb/sgb_packets.asm diff --git a/data/super_palettes.asm b/data/sgb/sgb_palettes.asm similarity index 100% rename from data/super_palettes.asm rename to data/sgb/sgb_palettes.asm diff --git a/data/facing.asm b/data/sprites/facings.asm similarity index 100% rename from data/facing.asm rename to data/sprites/facings.asm diff --git a/data/sprite_sets.asm b/data/sprites/sprites.asm old mode 100755 new mode 100644 similarity index 61% rename from data/sprite_sets.asm rename to data/sprites/sprites.asm index 5b0e1e00..9a6f383f --- a/data/sprite_sets.asm +++ b/data/sprites/sprites.asm @@ -1,194 +1,3 @@ -MapSpriteSets: - db $01 ; PALLET_TOWN - db $01 ; VIRIDIAN_CITY - db $02 ; PEWTER_CITY - db $02 ; CERULEAN_CITY - db $03 ; LAVENDER_TOWN - db $04 ; VERMILION_CITY - db $05 ; CELADON_CITY - db $0a ; FUCHSIA_CITY - db $01 ; CINNABAR_ISLAND - db $06 ; INDIGO_PLATEAU - db $07 ; SAFFRON_CITY - db $01 ; unused map ID - db $01 ; ROUTE_1 - db $f1 ; ROUTE_2 - db $02 ; ROUTE_3 - db $02 ; ROUTE_4 - db $f9 ; ROUTE_5 - db $fa ; ROUTE_6 - db $fb ; ROUTE_7 - db $fc ; ROUTE_8 - db $02 ; ROUTE_9 - db $f2 ; ROUTE_10 - db $f3 ; ROUTE_11 - db $f4 ; ROUTE_12 - db $08 ; ROUTE_13 - db $08 ; ROUTE_14 - db $f5 ; ROUTE_15 - db $f6 ; ROUTE_16 - db $09 ; ROUTE_17 - db $f7 ; ROUTE_18 - db $0a ; ROUTE_19 - db $f8 ; ROUTE_20 - db $01 ; ROUTE_21 - db $01 ; ROUTE_22 - db $06 ; ROUTE_23 - db $02 ; ROUTE_24 - db $02 ; ROUTE_25 - -; Format: -; 00: determines whether the map is split East/West or North/South -; $01 = East/West divide -; $02 = North/South divide -; 01: coordinate of dividing line -; 02: sprite set ID if in the West or North side -; 03: sprite set ID if in the East or South side -SplitMapSpriteSets: - db $02,$25,$02,$01 ; $f1 - db $02,$32,$02,$03 ; $f2 - db $01,$39,$04,$08 ; $f3 - db $02,$15,$03,$08 ; $f4 - db $01,$08,$0A,$08 ; $f5 - db $01,$18,$09,$05 ; $f6 - db $01,$22,$09,$0A ; $f7 - db $01,$35,$01,$0A ; $f8 - db $02,$21,$02,$07 ; $f9 - db $02,$02,$07,$04 ; $fa - db $01,$11,$05,$07 ; $fb - db $01,$03,$07,$03 ; $fc - -SpriteSets: -; sprite set $01 - db SPRITE_BLUE - db SPRITE_BUG_CATCHER - db SPRITE_GIRL - db SPRITE_FISHER2 - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_GAMBLER - db SPRITE_SEEL - db SPRITE_OAK - db SPRITE_SWIMMER - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN - -; sprite set $02 - db SPRITE_BUG_CATCHER - db SPRITE_ROCKET - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_HIKER - db SPRITE_SLOWBRO - db SPRITE_BLUE - db SPRITE_GUARD - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $03 - db SPRITE_LITTLE_GIRL - db SPRITE_GIRL - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_HIKER - db SPRITE_GAMBLER - db SPRITE_SLOWBRO - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_GUARD - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $04 - db SPRITE_FOULARD_WOMAN - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_BUG_CATCHER - db SPRITE_GAMBLER - db SPRITE_SLOWBRO - db SPRITE_GUARD - db SPRITE_SAILOR - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $05 - db SPRITE_LITTLE_GIRL - db SPRITE_YOUNG_BOY - db SPRITE_GIRL - db SPRITE_FISHER2 - db SPRITE_FAT_BALD_GUY - db SPRITE_OLD_PERSON - db SPRITE_SLOWBRO - db SPRITE_GUARD - db SPRITE_ROCKET - db SPRITE_BALL - db SPRITE_SNORLAX - -; sprite set $06 - db SPRITE_BUG_CATCHER - db SPRITE_GYM_HELPER - db SPRITE_SLOWBRO - db SPRITE_BLUE - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_SWIMMER - db SPRITE_GUARD - db SPRITE_GAMBLER - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $07 - db SPRITE_ROCKET - db SPRITE_OAK_AIDE - db SPRITE_LAPRAS_GIVER - db SPRITE_ERIKA - db SPRITE_GENTLEMAN - db SPRITE_BIRD - db SPRITE_ROCKER - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_SLOWBRO - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $08 - db SPRITE_BIKER - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_FAT_BALD_GUY - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_FOULARD_WOMAN - db SPRITE_FISHER2 - db SPRITE_ROCKER - db SPRITE_SLOWBRO - db SPRITE_BALL - db SPRITE_SNORLAX - -; sprite set $09 - db SPRITE_BIKER - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_LAPRAS_GIVER - db SPRITE_FISHER2 - db SPRITE_ROCKER - db SPRITE_HIKER - db SPRITE_GAMBLER - db SPRITE_FAT_BALD_GUY - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_BALL - db SPRITE_SNORLAX - -; sprite set $0a - db SPRITE_BIRD - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_CLEFAIRY - db SPRITE_FISHER2 - db SPRITE_GAMBLER - db SPRITE_SLOWBRO - db SPRITE_SEEL - db SPRITE_SWIMMER - db SPRITE_BUG_CATCHER - db SPRITE_BALL - db SPRITE_OMANYTE - SpriteSheetPointerTable: ; SPRITE_RED dw RedSprite diff --git a/text/alphabets.asm b/data/text/alphabets.asm similarity index 100% rename from text/alphabets.asm rename to data/text/alphabets.asm diff --git a/text/dakutens.asm b/data/text/dakutens.asm similarity index 100% rename from text/dakutens.asm rename to data/text/dakutens.asm diff --git a/data/text/text_1.asm b/data/text/text_1.asm new file mode 100644 index 00000000..1ab54da3 --- /dev/null +++ b/data/text/text_1.asm @@ -0,0 +1,145 @@ +_CardKeySuccessText1:: + text "Bingo!@@" + +_CardKeySuccessText2:: + text "" + line "The CARD KEY" + cont "opened the door!" + done + +_CardKeyFailText:: + text "Darn! It needs a" + line "CARD KEY!" + done + +_TrainerNameText:: + TX_RAM wcd6d + text ": @@" + +_NoNibbleText:: + text "Not even a nibble!" + prompt + +_NothingHereText:: + text "Looks like there's" + line "nothing here." + prompt + +_ItsABiteText:: + text "Oh!" + line "It's a bite!" + prompt + +_ExclamationText:: + text "!" + done + +_GroundRoseText:: + text "Ground rose up" + line "somewhere!" + done + +_BoulderText:: + text "This requires" + line "STRENGTH to move!" + done + +_MartSignText:: + text "All your item" + line "needs fulfilled!" + cont "#MON MART" + done + +_PokeCenterSignText:: + text "Heal Your #MON!" + line "#MON CENTER" + done + +_FoundItemText:: + text " found" + line "@" + TX_RAM wcf4b + text "!@@" + +_NoMoreRoomForItemText:: + text "No more room for" + line "items!" + done + +_OaksAideHiText:: + text "Hi! Remember me?" + line "I'm PROF.OAK's" + cont "AIDE!" + + para "If you caught @" + TX_NUM hOaksAideRequirement, 1, 3 + text "" + line "kinds of #MON," + cont "I'm supposed to" + cont "give you an" + cont "@" + TX_RAM wOaksAideRewardItemName + text "!" + + para "So, ! Have" + line "you caught at" + cont "least @" + TX_NUM hOaksAideRequirement, 1, 3 + text " kinds of" + cont "#MON?" + done + +_OaksAideUhOhText:: + text "Let's see..." + line "Uh-oh! You have" + cont "caught only @" + TX_NUM hOaksAideNumMonsOwned, 1, 3 + text "" + cont "kinds of #MON!" + + para "You need @" + TX_NUM hOaksAideRequirement, 1, 3 + text " kinds" + line "if you want the" + cont "@" + TX_RAM wOaksAideRewardItemName + text "." + done + +_OaksAideComeBackText:: + text "Oh. I see." + + para "When you get @" + TX_NUM hOaksAideRequirement, 1, 3 + text "" + line "kinds, come back" + cont "for @" + TX_RAM wOaksAideRewardItemName + text "." + done + +_OaksAideHereYouGoText:: + text "Great! You have" + line "caught @" + TX_NUM hOaksAideNumMonsOwned, 1, 3 + text " kinds " + cont "of #MON!" + cont "Congratulations!" + + para "Here you go!" + prompt + +_OaksAideGotItemText:: + text " got the" + line "@" + TX_RAM wOaksAideRewardItemName + text "!@@" + +_OaksAideNoRoomText:: + text "Oh! I see you" + line "don't have any" + cont "room for the" + cont "@" + TX_RAM wOaksAideRewardItemName + text "." + done diff --git a/data/text/text_2.asm b/data/text/text_2.asm new file mode 100644 index 00000000..01e8641b --- /dev/null +++ b/data/text/text_2.asm @@ -0,0 +1,1753 @@ +_AIBattleWithdrawText:: + TX_RAM wTrainerName + text " with-" + line "drew @" + TX_RAM wEnemyMonNick + text "!" + prompt + +_AIBattleUseItemText:: + TX_RAM wTrainerName + text "" + line "used @" + TX_RAM wcd6d + text "" + cont "on @" + TX_RAM wEnemyMonNick + text "!" + prompt + +_TradeWentToText:: + TX_RAM wcf4b + text " went" + line "to @" + TX_RAM wLinkEnemyTrainerName + text "." + done + +_TradeForText:: + text "For 's" + line "@" + TX_RAM wcf4b + text "," + done + +_TradeSendsText:: + TX_RAM wLinkEnemyTrainerName + text " sends" + line "@" + TX_RAM wcd6d + text "." + done + +_TradeWavesFarewellText:: + TX_RAM wLinkEnemyTrainerName + text " waves" + line "farewell as" + done + +_TradeTransferredText:: + TX_RAM wcd6d + text " is" + line "transferred." + done + +_TradeTakeCareText:: + text "Take good care of" + line "@" + TX_RAM wcd6d + text "." + done + +_TradeWillTradeText:: + TX_RAM wLinkEnemyTrainerName + text " will" + line "trade @" + TX_RAM wcd6d + text "" + done + +_TradeforText:: + text "for 's" + line "@" + TX_RAM wcf4b + text "." + done + +_PlaySlotMachineText:: + text "A slot machine!" + line "Want to play?" + done + +_OutOfCoinsSlotMachineText:: + text "Darn!" + line "Ran out of coins!" + done + +_BetHowManySlotMachineText:: + text "Bet how many" + line "coins?" + done + +_StartSlotMachineText:: + text "Start!" + done + +_NotEnoughCoinsSlotMachineText:: + text "Not enough" + line "coins!" + prompt + +_OneMoreGoSlotMachineText:: + text "One more " + line "go?" + done + +_LinedUpText:: + text " lined up!" + line "Scored @" + TX_RAM wcf4b + text " coins!" + done + +_NotThisTimeText:: + text "Not this time!" + prompt + +_YeahText:: + text "Yeah!@@" + +_DexSeenOwnedText:: + text "#DEX Seen:@" + TX_NUM wDexRatingNumMonsSeen, 1, 3 + text "" + line " Owned:@" + TX_NUM wDexRatingNumMonsOwned, 1, 3 + db "@" + +_DexRatingText:: + text "#DEX Rating", $6d + done + +_GymStatueText1:: + TX_RAM wGymCityName + text "" + line "#MON GYM" + cont "LEADER: @" + TX_RAM wGymLeaderName + text "" + + para "WINNING TRAINERS:" + line "" + done + +_GymStatueText2:: + TX_RAM wGymCityName + text "" + line "#MON GYM" + cont "LEADER: @" + TX_RAM wGymLeaderName + text "" + + para "WINNING TRAINERS:" + line "" + cont "" + done + +_ViridianCityPokecenterGuyText:: + text "#MON CENTERs" + line "heal your tired," + cont "hurt or fainted" + cont "#MON!" + done + +_PewterCityPokecenterGuyText:: + text "Yawn!" + + para "When JIGGLYPUFF" + line "sings, #MON" + cont "get drowsy..." + + para "...Me too..." + line "Snore..." + done + +_CeruleanPokecenterGuyText:: + text "BILL has lots of" + line "#MON!" + + para "He collects rare" + line "ones too!" + done + +_LavenderPokecenterGuyText:: + text "CUBONEs wear" + line "skulls, right?" + + para "People will pay a" + line "lot for one!" + done + +_MtMoonPokecenterBenchGuyText:: + text "If you have too" + line "many #MON, you" + cont "should store them" + cont "via PC!" + done + +_RockTunnelPokecenterGuyText:: + text "I heard that" + line "GHOSTs haunt" + cont "LAVENDER TOWN!" + done + +_UnusedBenchGuyText1:: + text "I wish I could" + line "catch #MON." + done + +_UnusedBenchGuyText2:: + text "I'm tired from" + line "all the fun..." + done + +_UnusedBenchGuyText3:: + text "SILPH's manager" + line "is hiding in the" + cont "SAFARI ZONE." + done + +_VermilionPokecenterGuyText:: + text "It is true that a" + line "higher level" + cont "#MON will be" + cont "more powerful..." + + para "But, all #MON" + line "will have weak" + cont "points against" + cont "specific types." + + para "So, there is no" + line "universally" + cont "strong #MON." + done + +_CeladonCityPokecenterGuyText:: + text "If I had a BIKE," + line "I would go to" + cont "CYCLING ROAD!" + done + +_FuchsiaCityPokecenterGuyText:: + text "If you're studying " + line "#MON, visit" + cont "the SAFARI ZONE." + + para "It has all sorts" + line "of rare #MON." + done + +_CinnabarPokecenterGuyText:: + text "#MON can still" + line "learn techniques" + cont "after canceling" + cont "evolution." + + para "Evolution can wait" + line "until new moves" + cont "have been learned." + done + +_SaffronCityPokecenterGuyText1:: + text "It would be great" + line "if the ELITE FOUR" + cont "came and stomped" + cont "TEAM ROCKET!" + done + +_SaffronCityPokecenterGuyText2:: + text "TEAM ROCKET took" + line "off! We can go" + cont "out safely again!" + cont "That's great!" + done + +_CeladonCityHotelText:: + text "My sis brought me" + line "on this vacation!" + done + +_BookcaseText:: + text "Crammed full of" + line "#MON books!" + done + +_NewBicycleText:: + text "A shiny new" + line "BICYCLE!" + done + +_PushStartText:: + text "Push START to" + line "open the MENU!" + done + +_SaveOptionText:: + text "The SAVE option is" + line "on the MENU" + cont "screen." + done + +_StrengthsAndWeaknessesText:: + text "All #MON types" + line "have strong and" + cont "weak points" + cont "against others." + done + +_TimesUpText:: + text "PA: Ding-dong!" + + para "Time's up!" + prompt + +_GameOverText:: + text "PA: Your SAFARI" + line "GAME is over!" + done + +_CinnabarGymQuizIntroText:: + text "#MON Quiz!" + + para "Get it right and" + line "the door opens to" + cont "the next room!" + + para "Get it wrong and" + line "face a trainer!" + + para "If you want to" + line "conserve your" + cont "#MON for the" + cont "GYM LEADER..." + + para "Then get it right!" + line "Here we go!" + prompt + +_CinnabarQuizQuestionsText1:: + text "CATERPIE evolves" + line "into BUTTERFREE?" + done + +_CinnabarQuizQuestionsText2:: + text "There are 9" + line "certified #MON" + cont "LEAGUE BADGEs?" + done + +_CinnabarQuizQuestionsText3:: + text "POLIWAG evolves 3" + line "times?" + done + +_CinnabarQuizQuestionsText4:: + text "Are thunder moves" + line "effective against" + cont "ground element-" + cont "type #MON?" + done + +_CinnabarQuizQuestionsText5:: + text "#MON of the" + line "same kind and" + cont "level are not" + cont "identical?" + done + +_CinnabarQuizQuestionsText6:: + text "TM28 contains" + line "TOMBSTONER?" + done + +_CinnabarGymQuizCorrectText:: + text "You're absolutely" + line "correct!" + + para "Go on through!@@" + +_CinnabarGymQuizIncorrectText:: + text "Sorry! Bad call!" + prompt + +_MagazinesText:: + text "#MON magazines!" + + para "#MON notebooks!" + + para "#MON graphs!" + done + +_BillsHouseMonitorText:: + text "TELEPORTER is" + line "displayed on the" + cont "PC monitor." + done + +_BillsHouseInitiatedText:: + text " initiated" + line "TELEPORTER's Cell" + cont "Separator!@@" + +_BillsHousePokemonListText1:: + text "BILL's favorite" + line "#MON list!" + prompt + +_BillsHousePokemonListText2:: + text "Which #MON do" + line "you want to see?" + done + +_OakLabEmailText:: + text "There's an e-mail" + line "message here!" + + para "..." + + para "Calling all" + line "#MON trainers!" + + para "The elite trainers" + line "of #MON LEAGUE" + cont "are ready to take" + cont "on all comers!" + + para "Bring your best" + line "#MON and see" + cont "how you rate as a" + cont "trainer!" + + para "#MON LEAGUE HQ" + line "INDIGO PLATEAU" + + para "PS: PROF.OAK," + line "please visit us!" + cont "..." + done + +_GameCornerCoinCaseText:: + text "A COIN CASE is" + line "required!" + done + +_GameCornerNoCoinsText:: + text "You don't have" + line "any coins!" + done + +_GameCornerOutOfOrderText:: + text "OUT OF ORDER" + line "This is broken." + done + +_GameCornerOutToLunchText:: + text "OUT TO LUNCH" + line "This is reserved." + done + +_GameCornerSomeonesKeysText:: + text "Someone's keys!" + line "They'll be back." + done + +_JustAMomentText:: + text "Just a moment." + done + +TMNotebookText:: + text "It's a pamphlet" + line "on TMs." + + para "..." + + para "There are 50 TMs" + line "in all." + + para "There are also 5" + line "HMs that can be" + cont "used repeatedly." + + para "SILPH CO.@@" + +_TurnPageText:: + text "Turn the page?" + done + +_ViridianSchoolNotebookText5:: + text "GIRL: Hey! Don't" + line "look at my notes!@@" + +_ViridianSchoolNotebookText1:: + text "Looked at the" + line "notebook!" + + para "First page..." + + para "# BALLs are" + line "used to catch" + cont "#MON." + + para "Up to 6 #MON" + line "can be carried." + + para "People who raise" + line "and make #MON" + cont "fight are called" + cont "#MON trainers." + prompt + +_ViridianSchoolNotebookText2:: + text "Second page..." + + para "A healthy #MON" + line "may be hard to" + cont "catch, so weaken" + cont "it first!" + + para "Poison, burns and" + line "other damage are" + cont "effective!" + prompt + +_ViridianSchoolNotebookText3:: + text "Third page..." + + para "#MON trainers" + line "seek others to" + cont "engage in #MON" + cont "fights." + + para "Battles are" + line "constantly fought" + cont "at #MON GYMs." + prompt + +_ViridianSchoolNotebookText4:: + text "Fourth page..." + + para "The goal for" + line "#MON trainers" + cont "is to beat the " + cont "top 8 #MON" + cont "GYM LEADERs." + + para "Do so to earn the" + line "right to face..." + + para "The ELITE FOUR of" + line "#MON LEAGUE!" + prompt + +_EnemiesOnEverySideText:: + text "Enemies on every" + line "side!" + done + +_WhatGoesAroundComesAroundText:: + text "What goes around" + line "comes around!" + done + +_FightingDojoText:: + text "FIGHTING DOJO" + done + +_IndigoPlateauHQText:: + text "INDIGO PLATEAU" + line "#MON LEAGUE HQ" + done + +_RedBedroomSNESText:: + text " is" + line "playing the SNES!" + cont "...Okay!" + cont "It's time to go!" + done + +_Route15UpstairsBinocularsText:: + text "Looked into the" + line "binoculars..." + + para "A large, shining" + line "bird is flying" + cont "toward the sea." + done + +_AerodactylFossilText:: + text "AERODACTYL Fossil" + line "A primitive and" + cont "rare #MON." + done + +_KabutopsFossilText:: + text "KABUTOPS Fossil" + line "A primitive and" + cont "rare #MON." + done + +_LinkCableHelpText1:: + text "TRAINER TIPS" + + para "Using a Game Link" + line "Cable" + prompt + +_LinkCableHelpText2:: + text "Which heading do" + line "you want to read?" + done + +_LinkCableInfoText1:: + text "When you have" + line "linked your GAME" + cont "BOY with another" + cont "GAME BOY, talk to" + cont "the attendant on" + cont "the right in any" + cont "#MON CENTER." + prompt + +_LinkCableInfoText2:: + text "COLOSSEUM lets" + line "you play against" + cont "a friend." + prompt + +_LinkCableInfoText3:: + text "TRADE CENTER is" + line "used for trading" + cont "#MON." + prompt + +_ViridianSchoolBlackboardText1:: + text "The blackboard" + line "describes #MON" + cont "STATUS changes" + cont "during battles." + prompt + +_ViridianSchoolBlackboardText2:: + text "Which heading do" + line "you want to read?" + done + +_ViridianBlackboardSleepText:: + text "A #MON can't" + line "attack if it's" + cont "asleep!" + + para "#MON will stay" + line "asleep even after" + cont "battles." + + para "Use AWAKENING to" + line "wake them up!" + prompt + +_ViridianBlackboardPoisonText:: + text "When poisoned, a" + line "#MON's health" + cont "steadily drops." + + para "Poison lingers" + line "after battles." + + para "Use an ANTIDOTE" + line "to cure poison!" + prompt + +_ViridianBlackboardPrlzText:: + text "Paralysis could" + line "make #MON" + cont "moves misfire!" + + para "Paralysis remains" + line "after battles." + + para "Use PARLYZ HEAL" + line "for treatment!" + prompt + +_ViridianBlackboardBurnText:: + text "A burn reduces" + line "power and speed." + cont "It also causes" + cont "ongoing damage." + + para "Burns remain" + line "after battles." + + para "Use BURN HEAL to" + line "cure a burn!" + prompt + +_ViridianBlackboardFrozenText:: + text "If frozen, a" + line "#MON becomes" + cont "totally immobile!" + + para "It stays frozen" + line "even after the" + cont "battle ends." + + para "Use ICE HEAL to" + line "thaw out #MON!" + prompt + +_VermilionGymTrashText:: + text "Nope, there's" + line "only trash here." + done + +_VermilionGymTrashSuccessText1:: + text "Hey! There's a" + line "switch under the" + cont "trash!" + cont "Turn it on!" + + para "The 1st electric" + line "lock opened!@@" + +_VermilionGymTrashSuccessText2:: + text "Hey! There's" + line "another switch" + cont "under the trash!" + cont "Turn it on!" + prompt + +_VermilionGymTrashSuccessText3:: + text "The 2nd electric" + line "lock opened!" + + para "The motorized door" + line "opened!@@" + +_VermilionGymTrashFailText:: + text "Nope! There's" + line "only trash here." + cont "Hey! The electric" + cont "locks were reset!@@" + +_FoundHiddenItemText:: + text " found" + line "@" + TX_RAM wcd6d + text "!@@" + +_HiddenItemBagFullText:: + text "But, has" + line "no more room for" + cont "other items!" + done + +_FoundHiddenCoinsText:: + text " found" + line "@" + TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN + text " coins!@@" + +_FoundHiddenCoins2Text:: + text " found" + line "@" + TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN + text " coins!@@" + +_DroppedHiddenCoinsText:: + text "" + para "Oops! Dropped" + line "some coins!" + done + +_IndigoPlateauStatuesText1:: + text "INDIGO PLATEAU" + prompt + +_IndigoPlateauStatuesText2:: + text "The ultimate goal" + line "of trainers!" + cont "#MON LEAGUE HQ" + done + +_IndigoPlateauStatuesText3:: + text "The highest" + line "#MON authority" + cont "#MON LEAGUE HQ" + done + +_PokemonBooksText:: + text "Crammed full of" + line "#MON books!" + done + +_DiglettSculptureText:: + text "It's a sculpture" + line "of DIGLETT." + done + +_ElevatorText:: + text "This is an" + line "elevator." + done + +_TownMapText:: + text "A TOWN MAP.@@" + +_PokemonStuffText:: + text "Wow! Tons of" + line "#MON stuff!" + done + +_OutOfSafariBallsText:: + text "PA: Ding-dong!" + + para "You are out of" + line "SAFARI BALLs!" + prompt + +_WildRanText:: + text "Wild @" + TX_RAM wEnemyMonNick + text "" + line "ran!" + prompt + +_EnemyRanText:: + text "Enemy @" + TX_RAM wEnemyMonNick + text "" + line "ran!" + prompt + +_HurtByPoisonText:: + text "'s" + line "hurt by poison!" + prompt + +_HurtByBurnText:: + text "'s" + line "hurt by the burn!" + prompt + +_HurtByLeechSeedText:: + text "LEECH SEED saps" + line "!" + prompt + +_EnemyMonFaintedText:: + text "Enemy @" + TX_RAM wEnemyMonNick + text "" + line "fainted!" + prompt + +_MoneyForWinningText:: + text " got ¥@" + TX_BCD wAmountMoneyWon, 3 | LEADING_ZEROES | LEFT_ALIGN + text "" + line "for winning!" + prompt + +_TrainerDefeatedText:: + text " defeated" + line "@" + TX_RAM wTrainerName + text "!" + prompt + +_PlayerMonFaintedText:: + TX_RAM wBattleMonNick + text "" + line "fainted!" + prompt + +_UseNextMonText:: + text "Use next #MON?" + done + +_Sony1WinText:: + text ": Yeah! Am" + line "I great or what?" + prompt + +_PlayerBlackedOutText2:: + text " is out of" + line "useable #MON!" + + para " blacked" + line "out!" + prompt + +_LinkBattleLostText:: + text " lost to" + line "@" + TX_RAM wTrainerName + text "!" + prompt + +_TrainerAboutToUseText:: + TX_RAM wTrainerName + text " is" + line "about to use" + cont"@" + TX_RAM wEnemyMonNick + text "!" + + para "Will " + line "change #MON?" + done + +_TrainerSentOutText:: + TX_RAM wTrainerName + text " sent" + line "out @" + TX_RAM wEnemyMonNick + text "!" + done + +_NoWillText:: + text "There's no will" + line "to fight!" + prompt + +_CantEscapeText:: + text "Can't escape!" + prompt + +_NoRunningText:: + text "No! There's no" + line "running from a" + cont "trainer battle!" + prompt + +_GotAwayText:: + text "Got away safely!" + prompt + +_ItemsCantBeUsedHereText:: + text "Items can't be" + line "used here." + prompt + +_AlreadyOutText:: + TX_RAM wBattleMonNick + text " is" + line "already out!" + prompt + +_MoveNoPPText:: + text "No PP left for" + line "this move!" + prompt + +_MoveDisabledText:: + text "The move is" + line "disabled!" + prompt + +_NoMovesLeftText:: + TX_RAM wBattleMonNick + text " has no" + line "moves left!" + done + +_MultiHitText:: + text "Hit the enemy" + line "@" + TX_NUM wPlayerNumHits,1,1 + text " times!" + prompt + +_ScaredText:: + TX_RAM wBattleMonNick + text " is too" + line "scared to move!" + prompt + +_GetOutText:: + text "GHOST: Get out..." + line "Get out..." + prompt + +_FastAsleepText:: + text "" + line "is fast asleep!" + prompt + +_WokeUpText:: + text "" + line "woke up!" + prompt + +_IsFrozenText:: + text "" + line "is frozen solid!" + prompt + +_FullyParalyzedText:: + text "'s" + line "fully paralyzed!" + prompt + +_FlinchedText:: + text "" + line "flinched!" + prompt + +_MustRechargeText:: + text "" + line "must recharge!" + prompt + +_DisabledNoMoreText:: + text "'s" + line "disabled no more!" + prompt + +_IsConfusedText:: + text "" + line "is confused!" + prompt + +_HurtItselfText:: + text "It hurt itself in" + line "its confusion!" + prompt + +_ConfusedNoMoreText:: + text "'s" + line "confused no more!" + prompt + +_SavingEnergyText:: + text "" + line "is saving energy!" + prompt + +_UnleashedEnergyText:: + text "" + line "unleashed energy!" + prompt + +_ThrashingAboutText:: + text "'s" + line "thrashing about!" + done + +_AttackContinuesText:: + text "'s" + line "attack continues!" + done + +_CantMoveText:: + text "" + line "can't move!" + prompt + +_MoveIsDisabledText:: + text "'s" + line "@" + TX_RAM wcd6d + text " is" + cont "disabled!" + prompt + +_MonName1Text:: + text "@@" + +_Used1Text:: + text "" + line "used @@" + +_Used2Text:: + text "" + line "used @@" + +_InsteadText:: + text "instead," + cont "@@" + +_CF4BText:: + TX_RAM wcf4b + text "@" + +_ExclamationPoint1Text:: + text "!" + done + +_ExclamationPoint2Text:: + text "!" + done + +_ExclamationPoint3Text:: + text "!" + done + +_ExclamationPoint4Text:: + text "!" + done + +_ExclamationPoint5Text:: + text "!" + done + +_AttackMissedText:: + text "'s" + line "attack missed!" + prompt + +_KeptGoingAndCrashedText:: + text "" + line "kept going and" + cont "crashed!" + prompt + +_UnaffectedText:: + text "'s" + line "unaffected!" + prompt + +_DoesntAffectMonText:: + text "It doesn't affect" + line "!" + prompt + +_CriticalHitText:: + text "Critical hit!" + prompt + +_OHKOText:: + text "One-hit KO!" + prompt + +_LoafingAroundText:: + TX_RAM wBattleMonNick + text " is" + line "loafing around." + prompt + +_BeganToNapText:: + TX_RAM wBattleMonNick + text " began" + line "to nap!" + prompt + +_WontObeyText:: + TX_RAM wBattleMonNick + text " won't" + line "obey!" + prompt + +_TurnedAwayText:: + TX_RAM wBattleMonNick + text " turned" + line "away!" + prompt + +_IgnoredOrdersText:: + TX_RAM wBattleMonNick + text "" + line "ignored orders!" + prompt + +_SubstituteTookDamageText:: + text "The SUBSTITUTE" + line "took damage for" + cont "!" + prompt + +_SubstituteBrokeText:: + text "'s" + line "SUBSTITUTE broke!" + prompt + +_BuildingRageText:: + text "'s" + line "RAGE is building!" + prompt + +_MirrorMoveFailedText:: + text "The MIRROR MOVE" + next "failed!" + prompt + +_HitXTimesText:: + text "Hit @" + TX_NUM wEnemyNumHits, 1, 1 + text " times!" + prompt + +_GainedText:: + TX_RAM wcd6d + text " gained" + line "@@" + +_WithExpAllText:: + text "with EXP.ALL," + cont "@@" + +_BoostedText:: + text "a boosted" + cont "@@" + +_ExpPointsText:: + TX_NUM wExpAmountGained, 2, 4 + text " EXP. Points!" + prompt + +_GrewLevelText:: + TX_RAM wcd6d + text " grew" + line "to level @" + TX_NUM wCurEnemyLVL, 1, 3 + text "!@@" + +_WildMonAppearedText:: + text "Wild @" + TX_RAM wEnemyMonNick + text "" + line "appeared!" + prompt + +_HookedMonAttackedText:: + text "The hooked" + line "@" + TX_RAM wEnemyMonNick + text "" + cont "attacked!" + prompt + +_EnemyAppearedText:: + TX_RAM wEnemyMonNick + text "" + line "appeared!" + prompt + +_TrainerWantsToFightText:: + TX_RAM wTrainerName + text " wants" + line "to fight!" + prompt + +_UnveiledGhostText:: + text "SILPH SCOPE" + line "unveiled the" + cont "GHOST's identity!" + prompt + +_GhostCantBeIDdText:: + text "Darn! The GHOST" + line "can't be ID'd!" + prompt + +_GoText:: + text "Go! @@" + +_DoItText:: + text "Do it! @@" + +_GetmText:: + text "Get'm! @@" + +_EnemysWeakText:: + text "The enemy's weak!" + line "Get'm! @@" + +_PlayerMon1Text:: + TX_RAM wBattleMonNick + text "!" + done + +_PlayerMon2Text:: + TX_RAM wBattleMonNick + text " @@" + +_EnoughText:: + text "enough!@@" + +_OKExclamationText:: + text "OK!@@" + +_GoodText:: + text "good!@@" + +_ComeBackText:: + text "" + line "Come back!" + done + +_SuperEffectiveText:: + text "It's super" + line "effective!" + prompt + +_NotVeryEffectiveText:: + text "It's not very" + line "effective..." + prompt + +_SafariZoneEatingText:: + text "Wild @" + TX_RAM wEnemyMonNick + text "" + line "is eating!" + prompt + +_SafariZoneAngryText:: + text "Wild @" + TX_RAM wEnemyMonNick + text "" + line "is angry!" + prompt + +; money related +_PickUpPayDayMoneyText:: + text " picked up" + line "¥@" + TX_BCD wTotalPayDayMoney, 3 | LEADING_ZEROES | LEFT_ALIGN + text "!" + prompt + +_ClearSaveDataText:: + text "Clear all saved" + line "data?" + done + +_WhichFloorText:: + text "Which floor do" + line "you want? " + done + +_PartyMenuNormalText:: + text "Choose a #MON." + done + +_PartyMenuItemUseText:: + text "Use item on which" + line "#MON?" + done + +_PartyMenuBattleText:: + text "Bring out which" + line "#MON?" + done + +_PartyMenuUseTMText:: + text "Use TM on which" + line "#MON?" + done + +_PartyMenuSwapMonText:: + text "Move #MON" + line "where?" + done + +_PotionText:: + TX_RAM wcd6d + text "" + line "recovered by @" + TX_NUM wHPBarHPDifference, 2, 3 + text "!" + done + +_AntidoteText:: + TX_RAM wcd6d + text " was" + line "cured of poison!" + done + +_ParlyzHealText:: + TX_RAM wcd6d + text "'s" + line "rid of paralysis!" + done + +_BurnHealText:: + TX_RAM wcd6d + text "'s" + line "burn was healed!" + done + +_IceHealText:: + TX_RAM wcd6d + text " was" + line "defrosted!" + done + +_AwakeningText:: + TX_RAM wcd6d + text "" + line "woke up!" + done + +_FullHealText:: + TX_RAM wcd6d + text "'s" + line "health returned!" + done + +_ReviveText:: + TX_RAM wcd6d + text "" + line "is revitalized!" + done + +_RareCandyText:: + TX_RAM wcd6d + text " grew" + line "to level @" + TX_NUM wCurEnemyLVL, 1, 3 + text "!@@" + +_TurnedOnPC1Text:: + text " turned on" + line "the PC." + prompt + +_AccessedBillsPCText:: + text "Accessed BILL's" + line "PC." + + para "Accessed #MON" + line "Storage System." + prompt + +_AccessedSomeonesPCText:: + text "Accessed someone's" + line "PC." + + para "Accessed #MON" + line "Storage System." + prompt + +_AccessedMyPCText:: + text "Accessed my PC." + + para "Accessed Item" + line "Storage System." + prompt + +_TurnedOnPC2Text:: + text " turned on" + line "the PC." + prompt + +_WhatDoYouWantText:: + text "What do you want" + line "to do?" + done + +_WhatToDepositText:: + text "What do you want" + line "to deposit?" + done + +_DepositHowManyText:: + text "How many?" + done + +_ItemWasStoredText:: + TX_RAM wcd6d + text " was" + line "stored via PC." + prompt + +_NothingToDepositText:: + text "You have nothing" + line "to deposit." + prompt + +_NoRoomToStoreText:: + text "No room left to" + line "store items." + prompt + +_WhatToWithdrawText:: + text "What do you want" + line "to withdraw?" + done + +_WithdrawHowManyText:: + text "How many?" + done + +_WithdrewItemText:: + text "Withdrew" + line "@" + TX_RAM wcd6d + text "." + prompt + +_NothingStoredText:: + text "There is nothing" + line "stored." + prompt + +_CantCarryMoreText:: + text "You can't carry" + line "any more items." + prompt + +_WhatToTossText:: + text "What do you want" + line "to toss away?" + done + +_TossHowManyText:: + text "How many?" + done + +_AccessedHoFPCText:: + text "Accessed #MON" + line "LEAGUE's site." + + para "Accessed the HALL" + line "OF FAME List." + prompt + +_SwitchOnText:: + text "Switch on!" + prompt + +_WhatText:: + text "What?" + done + +_DepositWhichMonText:: + text "Deposit which" + line "#MON?" + done + +_MonWasStoredText:: + TX_RAM wcf4b + text " was" + line "stored in Box @" + TX_RAM wBoxNumString + text "." + prompt + +_CantDepositLastMonText:: + text "You can't deposit" + line "the last #MON!" + prompt + +_BoxFullText:: + text "Oops! This Box is" + line "full of #MON." + prompt + +_MonIsTakenOutText:: + TX_RAM wcf4b + text " is" + line "taken out." + cont "Got @" + TX_RAM wcf4b + text "." + prompt + +_NoMonText:: + text "What? There are" + line "no #MON here!" + prompt + +_CantTakeMonText:: + text "You can't take" + line "any more #MON." + + para "Deposit #MON" + line "first." + prompt + +_ReleaseWhichMonText:: + text "Release which" + line "#MON?" + done + +_OnceReleasedText:: + text "Once released," + line "@" + TX_RAM wcf4b + text " is" + cont "gone forever. OK?" + done + +_MonWasReleasedText:: + TX_RAM wcf4b + text " was" + line "released outside." + cont "Bye @" + +_CF4BExclamationText:: + TX_RAM wcf4b + text "!" + prompt + +_RequireCoinCaseText:: + text "A COIN CASE is" + line "required!@@" + +_ExchangeCoinsForPrizesText:: + text "We exchange your" + line "coins for prizes." + prompt + +_WhichPrizeText:: + text "Which prize do" + line "you want?" + done + +_HereYouGoText:: + text "Here you go!@@" + +_SoYouWantPrizeText:: + text "So, you want" + line "@" + TX_RAM wcd6d + text "?" + done + +_SorryNeedMoreCoinsText:: + text "Sorry, you need" + line "more coins.@@" + +_OopsYouDontHaveEnoughRoomText:: + text "Oops! You don't" + line "have enough room.@@" + +_OhFineThenText:: + text "Oh, fine then.@@" + +_GetDexRatedText:: + text "Want to get your" + line "#DEX rated?" + done + +_ClosedOaksPCText:: + text "Closed link to" + line "PROF.OAK's PC.@@" + +_AccessedOaksPCText:: + text "Accessed PROF." + line "OAK's PC." + + para "Accessed #DEX" + line "Rating System." + prompt + +_WhereWouldYouLikeText:: + text "Where would you" + line "like to go?" + done + +_PleaseWaitText:: + text "OK, please wait" + line "just a moment." + done + +_LinkCanceledText:: + text "The link was" + line "canceled." + done + +_OakSpeechText1:: + text "Hello there!" + line "Welcome to the" + cont "world of #MON!" + + para "My name is OAK!" + line "People call me" + cont "the #MON PROF!" + prompt + +_OakSpeechText2A:: + text "This world is" + line "inhabited by" + cont "creatures called" + cont "#MON!@@" + +_OakSpeechText2B:: + text $51,"For some people," + line "#MON are" + cont "pets. Others use" + cont "them for fights." + + para "Myself..." + + para "I study #MON" + line "as a profession." + prompt + +_IntroducePlayerText:: + text "First, what is" + line "your name?" + prompt + +_IntroduceRivalText:: + text "This is my grand-" + line "son. He's been" + cont "your rival since" + cont "you were a baby." + + para "...Erm, what is" + line "his name again?" + prompt + +_OakSpeechText3:: + text "!" + + para "Your very own" + line "#MON legend is" + cont "about to unfold!" + + para "A world of dreams" + line "and adventures" + cont "with #MON" + cont "awaits! Let's go!" + done + +_DoYouWantToNicknameText:: + text "Do you want to" + line "give a nickname" + cont "to @" + TX_RAM wcd6d + text "?" + done + +_YourNameIsText:: + text "Right! So your" + line "name is !" + prompt + +_HisNameIsText:: + text "That's right! I" + line "remember now! His" + cont "name is !" + prompt + +_WillBeTradedText:: + TX_RAM wNameOfPlayerMonToBeTraded + text " and" + line "@" + TX_RAM wcd6d + text " will" + cont "be traded." + done + +_Char00Text:: + TX_NUM hSpriteIndexOrTextID,1,2 + text " ERROR." + done + +_Char55Text:: + text $4B,"@@" diff --git a/data/text/text_3.asm b/data/text/text_3.asm new file mode 100644 index 00000000..3b2ff787 --- /dev/null +++ b/data/text/text_3.asm @@ -0,0 +1,324 @@ +_FileDataDestroyedText:: + text "The file data is" + line "destroyed!" + prompt + +_WouldYouLikeToSaveText:: + text "Would you like to" + line "SAVE the game?" + done + +_GameSavedText:: + text " saved" + line "the game!" + done + +_OlderFileWillBeErasedText:: + text "The older file" + line "will be erased to" + cont "save. Okay?" + done + +_WhenYouChangeBoxText:: + text "When you change a" + line "#MON BOX, data" + cont "will be saved." + + para "Is that okay?" + done + +_ChooseABoxText:: + text "Choose a" + line " BOX.@@" + +_EvolvedText:: + TX_RAM wcf4b + text " evolved" + done + +_IntoText:: + text "" + line "into @" + TX_RAM wcd6d + text "!" + done + +_StoppedEvolvingText:: + text "Huh? @" + TX_RAM wcf4b + text "" + line "stopped evolving!" + prompt + +_IsEvolvingText:: + text "What? @" + TX_RAM wcf4b + text "" + line "is evolving!" + done + +_FellAsleepText:: + text "" + line "fell asleep!" + prompt + +_AlreadyAsleepText:: + text "'s" + line "already asleep!" + prompt + +_PoisonedText:: + text "" + line "was poisoned!" + prompt + +_BadlyPoisonedText:: + text "'s" + line "badly poisoned!" + prompt + +_BurnedText:: + text "" + line "was burned!" + prompt + +_FrozenText:: + text "" + line "was frozen solid!" + prompt + +_FireDefrostedText:: + text "Fire defrosted" + line "!" + prompt + +_MonsStatsRoseText:: + text "'s" + line "@" + TX_RAM wcf4b + text "@@" + +_GreatlyRoseText:: + text $4c, "greatly@@" + +_RoseText:: + text " rose!" + prompt + +_MonsStatsFellText:: + text "'s" + line "@" + TX_RAM wcf4b + text "@@" + +_GreatlyFellText:: + text $4c, "greatly@@" + +_FellText:: + text " fell!" + prompt + +_RanFromBattleText:: + text "" + line "ran from battle!" + prompt + +_RanAwayScaredText:: + text "" + line "ran away scared!" + prompt + +_WasBlownAwayText:: + text "" + line "was blown away!" + prompt + +_ChargeMoveEffectText:: + text "@@" + +_MadeWhirlwindText:: + text "" + line "made a whirlwind!" + prompt + +_TookInSunlightText:: + text "" + line "took in sunlight!" + prompt + +_LoweredItsHeadText:: + text "" + line "lowered its head!" + prompt + +_SkyAttackGlowingText:: + text "" + line "is glowing!" + prompt + +_FlewUpHighText:: + text "" + line "flew up high!" + prompt + +_DugAHoleText:: + text "" + line "dug a hole!" + prompt + +_BecameConfusedText:: + text "" + line "became confused!" + prompt + +_MimicLearnedMoveText:: + text "" + line "learned" + cont "@" + TX_RAM wcd6d + text "!" + prompt + +_MoveWasDisabledText:: + text "'s" + line "@" + TX_RAM wcd6d + text " was" + cont "disabled!" + prompt + +_NothingHappenedText:: + text "Nothing happened!" + prompt + +_NoEffectText:: + text "No effect!" + prompt + +_ButItFailedText:: + text "But, it failed! " + prompt + +_DidntAffectText:: + text "It didn't affect" + line "!" + prompt + +_IsUnaffectedText:: + text "" + line "is unaffected!" + prompt + +_ParalyzedMayNotAttackText:: + text "'s" + line "paralyzed! It may" + cont "not attack!" + prompt + +_SubstituteText:: + text "It created a" + line "SUBSTITUTE!" + prompt + +_HasSubstituteText:: + text "" + line "has a SUBSTITUTE!" + prompt + +_TooWeakSubstituteText:: + text "Too weak to make" + line "a SUBSTITUTE!" + prompt + +_CoinsScatteredText:: + text "Coins scattered" + line "everywhere!" + prompt + +_GettingPumpedText:: + text "'s" + line "getting pumped!" + prompt + +_WasSeededText:: + text "" + line "was seeded!" + prompt + +_EvadedAttackText:: + text "" + line "evaded attack!" + prompt + +_HitWithRecoilText:: + text "'s" + line "hit with recoil!" + prompt + +_ConvertedTypeText:: + text "Converted type to" + line "'s!" + prompt + +_StatusChangesEliminatedText:: + text "All STATUS changes" + line "are eliminated!" + prompt + +_StartedSleepingEffect:: + text "" + line "started sleeping!" + done + +_FellAsleepBecameHealthyText:: + text "" + line "fell asleep and" + cont "became healthy!" + done + +_RegainedHealthText:: + text "" + line "regained health!" + prompt + +_TransformedText:: + text "" + line "transformed into" + cont "@" + TX_RAM wcd6d + text "!" + prompt + +_LightScreenProtectedText:: + text "'s" + line "protected against" + cont "special attacks!" + prompt + +_ReflectGainedArmorText:: + text "" + line "gained armor!" + prompt + +_ShroudedInMistText:: + text "'s" + line "shrouded in mist!" + prompt + +_SuckedHealthText:: + text "Sucked health from" + line "!" + prompt + +_DreamWasEatenText:: + text "'s" + line "dream was eaten!" + prompt + +_TradeCenterText1:: + text "!" + done + +_ColosseumText1:: + text "!" + done diff --git a/data/text/text_4.asm b/data/text/text_4.asm new file mode 100644 index 00000000..6ec22680 --- /dev/null +++ b/data/text/text_4.asm @@ -0,0 +1,217 @@ +_PokemartGreetingText:: + text "Hi there!" + next "May I help you?" + done + +_PokemonFaintedText:: + TX_RAM wcd6d + text "" + line "fainted!" + done + +_PlayerBlackedOutText:: + text " is out of" + line "useable #MON!" + + para " blacked" + line "out!" + prompt + +_RepelWoreOffText:: + text "REPEL's effect" + line "wore off." + done + +_PokemartBuyingGreetingText:: + text "Take your time." + done + +_PokemartTellBuyPriceText:: + TX_RAM wcf4b + text "?" + line "That will be" + cont "¥@" + TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN + text ". OK?" + done + +_PokemartBoughtItemText:: + text "Here you are!" + line "Thank you!" + prompt + +_PokemartNotEnoughMoneyText:: + text "You don't have" + line "enough money." + prompt + +_PokemartItemBagFullText:: + text "You can't carry" + line "any more items." + prompt + +_PokemonSellingGreetingText:: + text "What would you" + line "like to sell?" + done + +_PokemartTellSellPriceText:: + text "I can pay you" + line "¥@" + TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN + text " for that." + done + +_PokemartItemBagEmptyText:: + text "You don't have" + line "anything to sell." + prompt + +_PokemartUnsellableItemText:: + text "I can't put a" + line "price on that." + prompt + +_PokemartThankYouText:: + text "Thank you!" + done + +_PokemartAnythingElseText:: + text "Is there anything" + line "else I can do?" + done + +_LearnedMove1Text:: + TX_RAM wLearnMoveMonName + text " learned" + line "@" + TX_RAM wcf4b + text "!@@" + +_WhichMoveToForgetText:: + text "Which move should" + next "be forgotten?" + done + +_AbandonLearningText:: + text "Abandon learning" + line "@" + TX_RAM wcf4b + text "?" + done + +_DidNotLearnText:: + TX_RAM wLearnMoveMonName + text "" + line "did not learn" + cont "@" + TX_RAM wcf4b + text "!" + prompt + +_TryingToLearnText:: + TX_RAM wLearnMoveMonName + text " is" + line "trying to learn" + cont "@" + TX_RAM wcf4b + text "!" + + para "But, @" + TX_RAM wLearnMoveMonName + text "" + line "can't learn more" + cont "than 4 moves!" + + para "Delete an older" + line "move to make room" + cont "for @" + TX_RAM wcf4b + text "?" + done + +_OneTwoAndText:: + text "1, 2 and...@@" + +_PoofText:: + text " Poof!@@" + +_ForgotAndText:: + text "" + para "@" + TX_RAM wLearnMoveMonName + text " forgot" + line "@" + TX_RAM wcd6d + text "!" + + para "And..." + prompt + +_HMCantDeleteText:: + text "HM techniques" + line "can't be deleted!" + prompt + +_PokemonCenterWelcomeText:: + text "Welcome to our" + line "#MON CENTER!" + + para "We heal your" + line "#MON back to" + cont "perfect health!" + prompt + +_ShallWeHealYourPokemonText:: + text "Shall we heal your" + line "#MON?" + done + +_NeedYourPokemonText:: + text "OK. We'll need" + line "your #MON." + done + +_PokemonFightingFitText:: + text "Thank you!" + line "Your #MON are" + cont "fighting fit!" + prompt + +_PokemonCenterFarewellText:: + text "We hope to see" + line "you again!" + done + +_CableClubNPCAreaReservedFor2FriendsLinkedByCableText:: + text "This area is" + line "reserved for 2" + cont "friends who are" + cont "linked by cable." + done + +_CableClubNPCWelcomeText:: + text "Welcome to the" + line "Cable Club!" + done + +_CableClubNPCPleaseApplyHereHaveToSaveText:: + text "Please apply here." + + para "Before opening" + line "the link, we have" + cont "to save the game." + done + +_CableClubNPCPleaseWaitText:: + text "Please wait.@@" + +_CableClubNPCLinkClosedBecauseOfInactivityText:: + text "The link has been" + line "closed because of" + cont "inactivity." + + para "Please contact" + line "your friend and" + cont "come again!" + done diff --git a/data/text/text_5.asm b/data/text/text_5.asm new file mode 100644 index 00000000..26a11a40 --- /dev/null +++ b/data/text/text_5.asm @@ -0,0 +1,102 @@ +_CableClubNPCPleaseComeAgainText:: + text "Please come again!" + done + +_CableClubNPCMakingPreparationsText:: + text "We're making" + line "preparations." + cont "Please wait." + done + +_UsedStrengthText:: + TX_RAM wcd6d + text " used" + line "STRENGTH.@@" + +_CanMoveBouldersText:: + TX_RAM wcd6d + text " can" + line "move boulders." + prompt + +_CurrentTooFastText:: + text "The current is" + line "much too fast!" + prompt + +_CyclingIsFunText:: + text "Cycling is fun!" + line "Forget SURFing!" + prompt + +_FlashLightsAreaText:: + text "A blinding FLASH" + line "lights the area!" + prompt + +_WarpToLastPokemonCenterText:: + text "Warp to the last" + line "#MON CENTER." + done + +_CannotUseTeleportNowText:: + TX_RAM wcd6d + text " can't" + line "use TELEPORT now." + prompt + +_CannotFlyHereText:: + TX_RAM wcd6d + text " can't" + line "FLY here." + prompt + +_NotHealthyEnoughText:: + text "Not healthy" + line "enough." + prompt + +_NewBadgeRequiredText:: + text "No! A new BADGE" + line "is required." + prompt + +_CannotUseItemsHereText:: + text "You can't use items" + line "here." + prompt + +_CannotGetOffHereText:: + text "You can't get off" + line "here." + prompt + +_GotMonText:: + text " got" + line "@" + TX_RAM wcd6d + text "!@@" + +_SentToBoxText:: + text "There's no more" + line "room for #MON!" + cont "@" + TX_RAM wBoxMonNicks + text " was" + cont "sent to #MON" + cont "BOX @" + TX_RAM wcf4b + text " on PC!" + done + +_BoxIsFullText:: + text "There's no more" + line "room for #MON!" + + para "The #MON BOX" + line "is full and can't" + cont "accept any more!" + + para "Change the BOX at" + line "a #MON CENTER!" + done diff --git a/data/text/text_6.asm b/data/text/text_6.asm new file mode 100644 index 00000000..45c553cd --- /dev/null +++ b/data/text/text_6.asm @@ -0,0 +1,228 @@ +_ItemUseBallText00:: + text "It dodged the" + line "thrown BALL!" + + para "This #MON" + line "can't be caught!" + prompt + +_ItemUseBallText01:: + text "You missed the" + line "#MON!" + prompt + +_ItemUseBallText02:: + text "Darn! The #MON" + line "broke free!" + prompt + +_ItemUseBallText03:: + text "Aww! It appeared" + line "to be caught! " + prompt + +_ItemUseBallText04:: + text "Shoot! It was so" + line "close too!" + prompt + +_ItemUseBallText05:: + text "All right!" + line "@" + TX_RAM wEnemyMonNick + text " was" + cont "caught!@@" + +_ItemUseBallText07:: + TX_RAM wBoxMonNicks + text " was" + line "transferred to" + cont "BILL's PC!" + prompt + +_ItemUseBallText08:: + TX_RAM wBoxMonNicks + text " was" + line "transferred to" + cont "someone's PC!" + prompt + +_ItemUseBallText06:: + text "New #DEX data" + line "will be added for" + cont "@" + TX_RAM wEnemyMonNick + text "!@@" + +_SurfingGotOnText:: + text " got on" + line "@" + TX_RAM wcd6d + text "!" + prompt + +_SurfingNoPlaceToGetOffText:: + text "There's no place" + line "to get off!" + prompt + +_VitaminStatRoseText:: + TX_RAM wcd6d + text "'s" + line "@" + TX_RAM wcf4b + text " rose." + prompt + +_VitaminNoEffectText:: + text "It won't have any" + line "effect." + prompt + +_ThrewBaitText:: + text " threw" + line "some BAIT." + done + +_ThrewRockText:: + text " threw a" + line "ROCK." + done + +_PlayedFluteNoEffectText:: + text "Played the #" + line "FLUTE." + + para "Now, that's a" + line "catchy tune!" + prompt + +_FluteWokeUpText:: + text "All sleeping" + line "#MON woke up." + prompt + +_PlayedFluteHadEffectText:: + text " played the" + line "# FLUTE.@@" + +_CoinCaseNumCoinsText:: + text "Coins" + line "@" + TX_BCD wPlayerCoins, 2 | LEADING_ZEROES | LEFT_ALIGN + text " " + prompt + +_ItemfinderFoundItemText:: + text "Yes! ITEMFINDER" + line "indicates there's" + cont "an item nearby." + prompt + +_ItemfinderFoundNothingText:: + text "Nope! ITEMFINDER" + line "isn't responding." + prompt + +_RaisePPWhichTechniqueText:: + text "Raise PP of which" + line "technique?" + done + +_RestorePPWhichTechniqueText:: + text "Restore PP of" + line "which technique?" + done + +_PPMaxedOutText:: + TX_RAM wcf4b + text "'s PP" + line "is maxed out." + prompt + +_PPIncreasedText:: + TX_RAM wcf4b + text "'s PP" + line "increased." + prompt + +_PPRestoredText:: + text "PP was restored." + prompt + +_BootedUpTMText:: + text "Booted up a TM!" + prompt + +_BootedUpHMText:: + text "Booted up an HM!" + prompt + +_TeachMachineMoveText:: + text "It contained" + line "@" + TX_RAM wcf4b + text "!" + + para "Teach @" + TX_RAM wcf4b + text "" + line "to a #MON?" + done + +_MonCannotLearnMachineMoveText:: + TX_RAM wcd6d + text " is not" + line "compatible with" + cont "@" + TX_RAM wcf4b + text "." + + para "It can't learn" + line "@" + TX_RAM wcf4b + text "." + prompt + +_ItemUseNotTimeText:: + text "OAK: !" + line "This isn't the" + cont "time to use that! " + prompt + +_ItemUseNotYoursToUseText:: + text "This isn't yours" + line "to use!" + prompt + +_ItemUseNoEffectText:: + text "It won't have any" + line "effect." + prompt + +_ThrowBallAtTrainerMonText1:: + text "The trainer" + line "blocked the BALL!" + prompt + +_ThrowBallAtTrainerMonText2:: + text "Don't be a thief!" + prompt + +_NoCyclingAllowedHereText:: + text "No cycling" + next "allowed here." + prompt + +_NoSurfingHereText:: + text "No SURFing on" + line "@" + TX_RAM wcd6d + text " here!" + prompt + +_BoxFullCannotThrowBallText:: + text "The #MON BOX" + line "is full! Can't" + cont "use that item!" + prompt diff --git a/data/text/text_7.asm b/data/text/text_7.asm new file mode 100644 index 00000000..e836fc8e --- /dev/null +++ b/data/text/text_7.asm @@ -0,0 +1,196 @@ +_ItemUseText001:: + text " used@@" + +_ItemUseText002:: + TX_RAM wcf4b + text "!" + done + +_GotOnBicycleText1:: + text " got on the@@" + +_GotOnBicycleText2:: + TX_RAM wcf4b + text "!" + prompt + +_GotOffBicycleText1:: + text " got off@@" + +_GotOffBicycleText2:: + text "the @" + TX_RAM wcf4b + text "." + prompt + +_ThrewAwayItemText:: + text "Threw away" + line "@" + TX_RAM wcd6d + text "." + prompt + +_IsItOKToTossItemText:: + text "Is it OK to toss" + line "@" + TX_RAM wcf4b + text "?" + prompt + +_TooImportantToTossText:: + text "That's too impor-" + line "tant to toss!" + prompt + +_AlreadyKnowsText:: + TX_RAM wcd6d + text " knows" + line "@" + TX_RAM wcf4b + text "!" + prompt + +_ConnectCableText:: + text "Okay, connect the" + line "cable like so!" + prompt + +_TradedForText:: + text " traded" + line "@" + TX_RAM wInGameTradeGiveMonName + text " for" + cont "@" + TX_RAM wInGameTradeReceiveMonName + text "!@@" + +_WannaTrade1Text:: + text "I'm looking for" + line "@" + TX_RAM wInGameTradeGiveMonName + text "! Wanna" + + para "trade one for" + line "@" + TX_RAM wInGameTradeReceiveMonName + text "? " + done + +_NoTrade1Text:: + text "Awww!" + line "Oh well..." + done + +_WrongMon1Text:: + text "What? That's not" + line "@" + TX_RAM wInGameTradeGiveMonName + text "!" + + para "If you get one," + line "come back here!" + done + +_Thanks1Text:: + text "Hey thanks!" + done + +_AfterTrade1Text:: + text "Isn't my old" + line "@" + TX_RAM wInGameTradeReceiveMonName + text " great?" + done + +_WannaTrade2Text:: + text "Hello there! Do" + line "you want to trade" + + para "your @" + TX_RAM wInGameTradeGiveMonName + text "" + line "for @" + TX_RAM wInGameTradeReceiveMonName + text "?" + done + +_NoTrade2Text:: + text "Well, if you" + line "don't want to..." + done + +_WrongMon2Text:: + text "Hmmm? This isn't" + line "@" + TX_RAM wInGameTradeGiveMonName + text "." + + para "Think of me when" + line "you get one." + done + +_Thanks2Text:: + text "Thanks!" + done + +_AfterTrade2Text:: + text "The @" + TX_RAM wInGameTradeGiveMonName + text " you" + line "traded to me" + + para "went and evolved!" + done + +_WannaTrade3Text:: + text "Hi! Do you have" + line "@" + TX_RAM wInGameTradeGiveMonName + text "?" + + para "Want to trade it" + line "for @" + TX_RAM wInGameTradeReceiveMonName + text "?" + done + +_NoTrade3Text:: + text "That's too bad." + done + +_WrongMon3Text:: + text "...This is no" + line "@" + TX_RAM wInGameTradeGiveMonName + text "." + + para "If you get one," + line "trade it with me!" + done + +_Thanks3Text:: + text "Thanks pal!" + done + +_AfterTrade3Text:: + text "How is my old" + line "@" + TX_RAM wInGameTradeReceiveMonName + text "?" + + para "My @" + TX_RAM wInGameTradeGiveMonName + text " is" + line "doing great!" + done + +_NothingToCutText:: + text "There isn't" + line "anything to CUT!" + prompt + +_UsedCutText:: + TX_RAM wcd6d + text " hacked" + line "away with CUT!" + prompt diff --git a/data/text/unused_names.asm b/data/text/unused_names.asm new file mode 100644 index 00000000..e629c44e --- /dev/null +++ b/data/text/unused_names.asm @@ -0,0 +1,20 @@ +UnusedNames:: + db "かみなりバッヂ@" ; THUNDER BADGE + db "かいがらバッヂ@" ; SHELL BADGE + db "おじぞうバッヂ@" ; JIZOU BADGE + db "はやぶさバッヂ@" ; FALCON BADGE + db "ひんやりバッヂ@" ; CHILL BADGE + db "なかよしバッヂ@" ; FRIENDSHIP BADGE + db "バラバッヂ@" ; ROSE BADGE + db "ひのたまバッヂ@" ; FIREBALL BADGE + db "ゴールドバッヂ@" ; GOLD BADGE + db "たまご@" ; EGG + db "ひよこ@" ; CHICK + db "ブロンズ@" ; BRONZE + db "シルバー@" ; SILVER + db "ゴールド@" ; GOLD + db "プチキャプテン@" ; PETIT CAPTAIN + db "キャプテン@" ; CAPTAIN + db "プチマスター@" ; PETIT MASTER + db "マスター@" ; MASTER + db "エクセレント" ; EXCELLENT diff --git a/data/text_predef_pointers.asm b/data/text_predef_pointers.asm new file mode 100644 index 00000000..bbe9c8d8 --- /dev/null +++ b/data/text_predef_pointers.asm @@ -0,0 +1,71 @@ +add_tx_pre: MACRO +\1_id:: dw \1 +ENDM + +TextPredefs:: + add_tx_pre CardKeySuccessText ; 01 + add_tx_pre CardKeyFailText ; 02 + add_tx_pre RedBedroomPCText ; 03 + add_tx_pre RedBedroomSNESText ; 04 + add_tx_pre PushStartText ; 05 + add_tx_pre SaveOptionText ; 06 + add_tx_pre StrengthsAndWeaknessesText ; 07 + add_tx_pre OakLabEmailText ; 08 + add_tx_pre AerodactylFossilText ; 09 + add_tx_pre Route15UpstairsBinocularsText ; 0A + add_tx_pre KabutopsFossilText ; 0B + add_tx_pre GymStatueText1 ; 0C + add_tx_pre GymStatueText2 ; 0D + add_tx_pre BookcaseText ; 0E + add_tx_pre ViridianCityPokecenterBenchGuyText ; 0F + add_tx_pre PewterCityPokecenterBenchGuyText ; 10 + add_tx_pre CeruleanCityPokecenterBenchGuyText ; 11 + add_tx_pre LavenderCityPokecenterBenchGuyText ; 12 + add_tx_pre VermilionCityPokecenterBenchGuyText ; 13 + add_tx_pre CeladonCityPokecenterBenchGuyText ; 14 + add_tx_pre CeladonCityHotelText ; 15 + add_tx_pre FuchsiaCityPokecenterBenchGuyText ; 16 + add_tx_pre CinnabarIslandPokecenterBenchGuyText ; 17 + add_tx_pre SaffronCityPokecenterBenchGuyText ; 18 + add_tx_pre MtMoonPokecenterBenchGuyText ; 19 + add_tx_pre RockTunnelPokecenterBenchGuyText ; 1A + add_tx_pre UnusedBenchGuyText1 ; 1B XXX unused + add_tx_pre UnusedBenchGuyText2 ; 1C XXX unused + add_tx_pre UnusedBenchGuyText3 ; 1D XXX unused + add_tx_pre UnusedPredefText ; 1E XXX unused + add_tx_pre PokemonCenterPCText ; 1F + add_tx_pre ViridianSchoolNotebook ; 20 + add_tx_pre ViridianSchoolBlackboard ; 21 + add_tx_pre JustAMomentText ; 22 + add_tx_pre OpenBillsPCText ; 23 + add_tx_pre FoundHiddenItemText ; 24 + add_tx_pre HiddenItemBagFullText ; 25 XXX unused + add_tx_pre VermilionGymTrashText ; 26 + add_tx_pre IndigoPlateauHQText ; 27 + add_tx_pre GameCornerOutOfOrderText ; 28 + add_tx_pre GameCornerOutToLunchText ; 29 + add_tx_pre GameCornerSomeonesKeysText ; 2A + add_tx_pre FoundHiddenCoinsText ; 2B + add_tx_pre DroppedHiddenCoinsText ; 2C + add_tx_pre BillsHouseMonitorText ; 2D + add_tx_pre BillsHouseInitiatedText ; 2E + add_tx_pre BillsHousePokemonList ; 2F + add_tx_pre MagazinesText ; 30 + add_tx_pre CinnabarGymQuiz ; 31 + add_tx_pre GameCornerNoCoinsText ; 32 + add_tx_pre GameCornerCoinCaseText ; 33 + add_tx_pre LinkCableHelp ; 34 + add_tx_pre TMNotebook ; 35 + add_tx_pre FightingDojoText ; 36 + add_tx_pre EnemiesOnEverySideText ; 37 + add_tx_pre WhatGoesAroundComesAroundText ; 38 + add_tx_pre NewBicycleText ; 39 + add_tx_pre IndigoPlateauStatues ; 3A + add_tx_pre VermilionGymTrashSuccessText1 ; 3B + add_tx_pre VermilionGymTrashSuccessText2 ; 3C XXX unused + add_tx_pre VermilionGymTrashSuccessText3 ; 3D + add_tx_pre VermilionGymTrashFailText ; 3E + add_tx_pre TownMapText ; 3F + add_tx_pre BookOrSculptureText ; 40 + add_tx_pre ElevatorText ; 41 + add_tx_pre PokemonStuffText ; 42 diff --git a/data/bike_riding_tilesets.asm b/data/tilesets/bike_riding_tilesets.asm similarity index 100% rename from data/bike_riding_tilesets.asm rename to data/tilesets/bike_riding_tilesets.asm diff --git a/data/bookshelf_tile_ids.asm b/data/tilesets/bookshelf_tile_ids.asm similarity index 100% rename from data/bookshelf_tile_ids.asm rename to data/tilesets/bookshelf_tile_ids.asm diff --git a/data/collision_tile_ids.asm b/data/tilesets/collision_tile_ids.asm similarity index 100% rename from data/collision_tile_ids.asm rename to data/tilesets/collision_tile_ids.asm diff --git a/data/cut_tree_blocks.asm b/data/tilesets/cut_tree_blocks.asm similarity index 100% rename from data/cut_tree_blocks.asm rename to data/tilesets/cut_tree_blocks.asm diff --git a/data/door_tile_ids.asm b/data/tilesets/door_tile_ids.asm similarity index 100% rename from data/door_tile_ids.asm rename to data/tilesets/door_tile_ids.asm diff --git a/data/dungeon_tilesets.asm b/data/tilesets/dungeon_tilesets.asm similarity index 100% rename from data/dungeon_tilesets.asm rename to data/tilesets/dungeon_tilesets.asm diff --git a/data/ledge_tiles.asm b/data/tilesets/ledge_tiles.asm similarity index 100% rename from data/ledge_tiles.asm rename to data/tilesets/ledge_tiles.asm diff --git a/data/tileset_headers.asm b/data/tilesets/tileset_headers.asm similarity index 91% rename from data/tileset_headers.asm rename to data/tilesets/tileset_headers.asm index d8e0d9b4..8f825330 100755 --- a/data/tileset_headers.asm +++ b/data/tilesets/tileset_headers.asm @@ -1,3 +1,11 @@ +tileset: MACRO + db BANK(\2) ; BANK(GFX) + dw \1, \2, \3 ; Block, GFX, Coll + db \4, \5, \6 ; counter tiles + db \7 ; grass tile + db \8 ; permission (indoor, cave, outdoor) +ENDM + Tilesets: tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, OUTDOOR tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, INDOOR diff --git a/data/warp_carpet_tile_ids.asm b/data/tilesets/warp_carpet_tile_ids.asm similarity index 100% rename from data/warp_carpet_tile_ids.asm rename to data/tilesets/warp_carpet_tile_ids.asm diff --git a/data/warp_pad_hole_tile_ids.asm b/data/tilesets/warp_pad_hole_tile_ids.asm similarity index 100% rename from data/warp_pad_hole_tile_ids.asm rename to data/tilesets/warp_pad_hole_tile_ids.asm diff --git a/data/warp_tile_ids.asm b/data/tilesets/warp_tile_ids.asm similarity index 100% rename from data/warp_tile_ids.asm rename to data/tilesets/warp_tile_ids.asm diff --git a/data/water_tilesets.asm b/data/tilesets/water_tilesets.asm similarity index 100% rename from data/water_tilesets.asm rename to data/tilesets/water_tilesets.asm diff --git a/data/trainer_ai_pointers.asm b/data/trainers/ai_pointers.asm similarity index 95% rename from data/trainer_ai_pointers.asm rename to data/trainers/ai_pointers.asm index d7cb5f19..26f3001e 100644 --- a/data/trainer_ai_pointers.asm +++ b/data/trainers/ai_pointers.asm @@ -2,6 +2,7 @@ TrainerAIPointers: ; one entry per trainer class ; first byte, number of times (per Pokémon) it can occur ; next two bytes, pointer to AI subroutine for trainer class +; subroutines are defined in engine/battle/trainer_ai.asm dbw 3,GenericAI dbw 3,GenericAI dbw 3,GenericAI diff --git a/data/trainer_types.asm b/data/trainers/encounter_types.asm similarity index 100% rename from data/trainer_types.asm rename to data/trainers/encounter_types.asm diff --git a/data/trainer_move_choices.asm b/data/trainers/move_choices.asm similarity index 100% rename from data/trainer_move_choices.asm rename to data/trainers/move_choices.asm diff --git a/text/trainer_name_pointers.asm b/data/trainers/name_pointers.asm similarity index 100% rename from text/trainer_name_pointers.asm rename to data/trainers/name_pointers.asm diff --git a/text/trainer_names.asm b/data/trainers/names.asm similarity index 100% rename from text/trainer_names.asm rename to data/trainers/names.asm diff --git a/data/trainer_parties.asm b/data/trainers/parties.asm similarity index 100% rename from data/trainer_parties.asm rename to data/trainers/parties.asm diff --git a/data/trainer_pic_money_pointers.asm b/data/trainers/pic_pointers_money.asm similarity index 100% rename from data/trainer_pic_money_pointers.asm rename to data/trainers/pic_pointers_money.asm diff --git a/data/trainer_moves.asm b/data/trainers/special_moves.asm similarity index 100% rename from data/trainer_moves.asm rename to data/trainers/special_moves.asm diff --git a/text/type_names.asm b/data/types/names.asm similarity index 100% rename from text/type_names.asm rename to data/types/names.asm diff --git a/data/type_effects.asm b/data/types/type_matchups.asm similarity index 100% rename from data/type_effects.asm rename to data/types/type_matchups.asm diff --git a/data/good_rod.asm b/data/wild/good_rod.asm similarity index 100% rename from data/good_rod.asm rename to data/wild/good_rod.asm diff --git a/data/wild_mons.asm b/data/wild/grass_water.asm similarity index 61% rename from data/wild_mons.asm rename to data/wild/grass_water.asm index e089a582..9dc41f82 100755 --- a/data/wild_mons.asm +++ b/data/wild/grass_water.asm @@ -247,7 +247,7 @@ WildDataPointers: dw NoMons dw NoMons dw NoMons - dw $FFFF + dw -1 ; end ; wild pokemon data is divided into two parts. ; first part: pokemon found in grass @@ -260,62 +260,62 @@ WildDataPointers: ; followed by 20 bytes: ; level, species (ten times) -INCLUDE "data/wildPokemon/nomons.asm" -INCLUDE "data/wildPokemon/route1.asm" -INCLUDE "data/wildPokemon/route2.asm" -INCLUDE "data/wildPokemon/route22.asm" -INCLUDE "data/wildPokemon/viridianforest.asm" -INCLUDE "data/wildPokemon/route3.asm" -INCLUDE "data/wildPokemon/mtmoon1.asm" -INCLUDE "data/wildPokemon/mtmoonb1.asm" -INCLUDE "data/wildPokemon/mtmoonb2.asm" -INCLUDE "data/wildPokemon/route4.asm" -INCLUDE "data/wildPokemon/route24.asm" -INCLUDE "data/wildPokemon/route25.asm" -INCLUDE "data/wildPokemon/route9.asm" -INCLUDE "data/wildPokemon/route5.asm" -INCLUDE "data/wildPokemon/route6.asm" -INCLUDE "data/wildPokemon/route11.asm" -INCLUDE "data/wildPokemon/rocktunnel1.asm" -INCLUDE "data/wildPokemon/rocktunnel2.asm" -INCLUDE "data/wildPokemon/route10.asm" -INCLUDE "data/wildPokemon/route12.asm" -INCLUDE "data/wildPokemon/route8.asm" -INCLUDE "data/wildPokemon/route7.asm" -INCLUDE "data/wildPokemon/pokemontower1.asm" -INCLUDE "data/wildPokemon/pokemontower2.asm" -INCLUDE "data/wildPokemon/pokemontower3.asm" -INCLUDE "data/wildPokemon/pokemontower4.asm" -INCLUDE "data/wildPokemon/pokemontower5.asm" -INCLUDE "data/wildPokemon/pokemontower6.asm" -INCLUDE "data/wildPokemon/pokemontower7.asm" -INCLUDE "data/wildPokemon/route13.asm" -INCLUDE "data/wildPokemon/route14.asm" -INCLUDE "data/wildPokemon/route15.asm" -INCLUDE "data/wildPokemon/route16.asm" -INCLUDE "data/wildPokemon/route17.asm" -INCLUDE "data/wildPokemon/route18.asm" -INCLUDE "data/wildPokemon/safarizonecenter.asm" -INCLUDE "data/wildPokemon/safarizone1.asm" -INCLUDE "data/wildPokemon/safarizone2.asm" -INCLUDE "data/wildPokemon/safarizone3.asm" -INCLUDE "data/wildPokemon/waterpokemon.asm" -INCLUDE "data/wildPokemon/seafoamisland1.asm" -INCLUDE "data/wildPokemon/seafoamislandb1.asm" -INCLUDE "data/wildPokemon/seafoamislandb2.asm" -INCLUDE "data/wildPokemon/seafoamislandb3.asm" -INCLUDE "data/wildPokemon/seafoamislandb4.asm" -INCLUDE "data/wildPokemon/mansion1.asm" -INCLUDE "data/wildPokemon/mansion2.asm" -INCLUDE "data/wildPokemon/mansion3.asm" -INCLUDE "data/wildPokemon/mansionb1.asm" -INCLUDE "data/wildPokemon/route21.asm" -INCLUDE "data/wildPokemon/ceruleancave1.asm" -INCLUDE "data/wildPokemon/ceruleancave2.asm" -INCLUDE "data/wildPokemon/ceruleancaveb1.asm" -INCLUDE "data/wildPokemon/powerplant.asm" -INCLUDE "data/wildPokemon/route23.asm" -INCLUDE "data/wildPokemon/victoryroad2.asm" -INCLUDE "data/wildPokemon/victoryroad3.asm" -INCLUDE "data/wildPokemon/victoryroad1.asm" -INCLUDE "data/wildPokemon/diglettscave.asm" +INCLUDE "data/wild/maps/nothing.asm" +INCLUDE "data/wild/maps/Route1.asm" +INCLUDE "data/wild/maps/Route2.asm" +INCLUDE "data/wild/maps/Route22.asm" +INCLUDE "data/wild/maps/ViridianForest.asm" +INCLUDE "data/wild/maps/Route3.asm" +INCLUDE "data/wild/maps/MtMoon1F.asm" +INCLUDE "data/wild/maps/MtMoonB1F.asm" +INCLUDE "data/wild/maps/MtMoonB2F.asm" +INCLUDE "data/wild/maps/Route4.asm" +INCLUDE "data/wild/maps/Route24.asm" +INCLUDE "data/wild/maps/Route25.asm" +INCLUDE "data/wild/maps/Route9.asm" +INCLUDE "data/wild/maps/Route5.asm" +INCLUDE "data/wild/maps/Route6.asm" +INCLUDE "data/wild/maps/Route11.asm" +INCLUDE "data/wild/maps/RockTunnel1F.asm" +INCLUDE "data/wild/maps/RockTunnelB1F.asm" +INCLUDE "data/wild/maps/Route10.asm" +INCLUDE "data/wild/maps/Route12.asm" +INCLUDE "data/wild/maps/Route8.asm" +INCLUDE "data/wild/maps/Route7.asm" +INCLUDE "data/wild/maps/PokemonTower1F.asm" +INCLUDE "data/wild/maps/PokemonTower2F.asm" +INCLUDE "data/wild/maps/PokemonTower3F.asm" +INCLUDE "data/wild/maps/PokemonTower4F.asm" +INCLUDE "data/wild/maps/PokemonTower5F.asm" +INCLUDE "data/wild/maps/PokemonTower6F.asm" +INCLUDE "data/wild/maps/PokemonTower7F.asm" +INCLUDE "data/wild/maps/Route13.asm" +INCLUDE "data/wild/maps/Route14.asm" +INCLUDE "data/wild/maps/Route15.asm" +INCLUDE "data/wild/maps/Route16.asm" +INCLUDE "data/wild/maps/Route17.asm" +INCLUDE "data/wild/maps/Route18.asm" +INCLUDE "data/wild/maps/SafariZoneCenter.asm" +INCLUDE "data/wild/maps/SafariZoneEast.asm" +INCLUDE "data/wild/maps/SafariZoneNorth.asm" +INCLUDE "data/wild/maps/SafariZoneWest.asm" +INCLUDE "data/wild/maps/SeaRoutes.asm" +INCLUDE "data/wild/maps/SeafoamIslands1F.asm" +INCLUDE "data/wild/maps/SeafoamIslandsB1F.asm" +INCLUDE "data/wild/maps/SeafoamIslandsB2F.asm" +INCLUDE "data/wild/maps/SeafoamIslandsB3F.asm" +INCLUDE "data/wild/maps/SeafoamIslandsB4F.asm" +INCLUDE "data/wild/maps/PokemonMansion1F.asm" +INCLUDE "data/wild/maps/PokemonMansion2F.asm" +INCLUDE "data/wild/maps/PokemonMansion3F.asm" +INCLUDE "data/wild/maps/PokemonMansionB1F.asm" +INCLUDE "data/wild/maps/Route21.asm" +INCLUDE "data/wild/maps/CeruleanCave1F.asm" +INCLUDE "data/wild/maps/CeruleanCave2F.asm" +INCLUDE "data/wild/maps/CeruleanCaveB1F.asm" +INCLUDE "data/wild/maps/PowerPlant.asm" +INCLUDE "data/wild/maps/Route23.asm" +INCLUDE "data/wild/maps/VictoryRoad2F.asm" +INCLUDE "data/wild/maps/VictoryRoad3F.asm" +INCLUDE "data/wild/maps/VictoryRoad1F.asm" +INCLUDE "data/wild/maps/DiglettsCave.asm" diff --git a/data/wildPokemon/ceruleancave1.asm b/data/wild/maps/CeruleanCave1F.asm similarity index 100% rename from data/wildPokemon/ceruleancave1.asm rename to data/wild/maps/CeruleanCave1F.asm diff --git a/data/wildPokemon/ceruleancave2.asm b/data/wild/maps/CeruleanCave2F.asm similarity index 100% rename from data/wildPokemon/ceruleancave2.asm rename to data/wild/maps/CeruleanCave2F.asm diff --git a/data/wildPokemon/ceruleancaveb1.asm b/data/wild/maps/CeruleanCaveB1F.asm similarity index 100% rename from data/wildPokemon/ceruleancaveb1.asm rename to data/wild/maps/CeruleanCaveB1F.asm diff --git a/data/wildPokemon/diglettscave.asm b/data/wild/maps/DiglettsCave.asm similarity index 100% rename from data/wildPokemon/diglettscave.asm rename to data/wild/maps/DiglettsCave.asm diff --git a/data/wildPokemon/mtmoon1.asm b/data/wild/maps/MtMoon1F.asm similarity index 100% rename from data/wildPokemon/mtmoon1.asm rename to data/wild/maps/MtMoon1F.asm diff --git a/data/wildPokemon/mtmoonb1.asm b/data/wild/maps/MtMoonB1F.asm similarity index 100% rename from data/wildPokemon/mtmoonb1.asm rename to data/wild/maps/MtMoonB1F.asm diff --git a/data/wildPokemon/mtmoonb2.asm b/data/wild/maps/MtMoonB2F.asm similarity index 100% rename from data/wildPokemon/mtmoonb2.asm rename to data/wild/maps/MtMoonB2F.asm diff --git a/data/wildPokemon/mansion1.asm b/data/wild/maps/PokemonMansion1F.asm similarity index 100% rename from data/wildPokemon/mansion1.asm rename to data/wild/maps/PokemonMansion1F.asm diff --git a/data/wildPokemon/mansion2.asm b/data/wild/maps/PokemonMansion2F.asm similarity index 100% rename from data/wildPokemon/mansion2.asm rename to data/wild/maps/PokemonMansion2F.asm diff --git a/data/wildPokemon/mansion3.asm b/data/wild/maps/PokemonMansion3F.asm similarity index 100% rename from data/wildPokemon/mansion3.asm rename to data/wild/maps/PokemonMansion3F.asm diff --git a/data/wildPokemon/mansionb1.asm b/data/wild/maps/PokemonMansionB1F.asm similarity index 100% rename from data/wildPokemon/mansionb1.asm rename to data/wild/maps/PokemonMansionB1F.asm diff --git a/data/wildPokemon/pokemontower1.asm b/data/wild/maps/PokemonTower1F.asm similarity index 100% rename from data/wildPokemon/pokemontower1.asm rename to data/wild/maps/PokemonTower1F.asm diff --git a/data/wildPokemon/pokemontower2.asm b/data/wild/maps/PokemonTower2F.asm similarity index 100% rename from data/wildPokemon/pokemontower2.asm rename to data/wild/maps/PokemonTower2F.asm diff --git a/data/wildPokemon/pokemontower3.asm b/data/wild/maps/PokemonTower3F.asm similarity index 100% rename from data/wildPokemon/pokemontower3.asm rename to data/wild/maps/PokemonTower3F.asm diff --git a/data/wildPokemon/pokemontower4.asm b/data/wild/maps/PokemonTower4F.asm similarity index 100% rename from data/wildPokemon/pokemontower4.asm rename to data/wild/maps/PokemonTower4F.asm diff --git a/data/wildPokemon/pokemontower5.asm b/data/wild/maps/PokemonTower5F.asm similarity index 100% rename from data/wildPokemon/pokemontower5.asm rename to data/wild/maps/PokemonTower5F.asm diff --git a/data/wildPokemon/pokemontower6.asm b/data/wild/maps/PokemonTower6F.asm similarity index 100% rename from data/wildPokemon/pokemontower6.asm rename to data/wild/maps/PokemonTower6F.asm diff --git a/data/wildPokemon/pokemontower7.asm b/data/wild/maps/PokemonTower7F.asm similarity index 100% rename from data/wildPokemon/pokemontower7.asm rename to data/wild/maps/PokemonTower7F.asm diff --git a/data/wildPokemon/powerplant.asm b/data/wild/maps/PowerPlant.asm similarity index 100% rename from data/wildPokemon/powerplant.asm rename to data/wild/maps/PowerPlant.asm diff --git a/data/wildPokemon/rocktunnel1.asm b/data/wild/maps/RockTunnel1F.asm similarity index 100% rename from data/wildPokemon/rocktunnel1.asm rename to data/wild/maps/RockTunnel1F.asm diff --git a/data/wildPokemon/rocktunnel2.asm b/data/wild/maps/RockTunnelB1F.asm similarity index 100% rename from data/wildPokemon/rocktunnel2.asm rename to data/wild/maps/RockTunnelB1F.asm diff --git a/data/wildPokemon/route1.asm b/data/wild/maps/Route1.asm similarity index 100% rename from data/wildPokemon/route1.asm rename to data/wild/maps/Route1.asm diff --git a/data/wildPokemon/route10.asm b/data/wild/maps/Route10.asm similarity index 100% rename from data/wildPokemon/route10.asm rename to data/wild/maps/Route10.asm diff --git a/data/wildPokemon/route11.asm b/data/wild/maps/Route11.asm similarity index 100% rename from data/wildPokemon/route11.asm rename to data/wild/maps/Route11.asm diff --git a/data/wildPokemon/route12.asm b/data/wild/maps/Route12.asm similarity index 100% rename from data/wildPokemon/route12.asm rename to data/wild/maps/Route12.asm diff --git a/data/wildPokemon/route13.asm b/data/wild/maps/Route13.asm similarity index 100% rename from data/wildPokemon/route13.asm rename to data/wild/maps/Route13.asm diff --git a/data/wildPokemon/route14.asm b/data/wild/maps/Route14.asm similarity index 100% rename from data/wildPokemon/route14.asm rename to data/wild/maps/Route14.asm diff --git a/data/wildPokemon/route15.asm b/data/wild/maps/Route15.asm similarity index 100% rename from data/wildPokemon/route15.asm rename to data/wild/maps/Route15.asm diff --git a/data/wildPokemon/route16.asm b/data/wild/maps/Route16.asm similarity index 100% rename from data/wildPokemon/route16.asm rename to data/wild/maps/Route16.asm diff --git a/data/wildPokemon/route17.asm b/data/wild/maps/Route17.asm similarity index 100% rename from data/wildPokemon/route17.asm rename to data/wild/maps/Route17.asm diff --git a/data/wildPokemon/route18.asm b/data/wild/maps/Route18.asm similarity index 100% rename from data/wildPokemon/route18.asm rename to data/wild/maps/Route18.asm diff --git a/data/wildPokemon/route2.asm b/data/wild/maps/Route2.asm similarity index 100% rename from data/wildPokemon/route2.asm rename to data/wild/maps/Route2.asm diff --git a/data/wildPokemon/route21.asm b/data/wild/maps/Route21.asm similarity index 100% rename from data/wildPokemon/route21.asm rename to data/wild/maps/Route21.asm diff --git a/data/wildPokemon/route22.asm b/data/wild/maps/Route22.asm similarity index 100% rename from data/wildPokemon/route22.asm rename to data/wild/maps/Route22.asm diff --git a/data/wildPokemon/route23.asm b/data/wild/maps/Route23.asm similarity index 100% rename from data/wildPokemon/route23.asm rename to data/wild/maps/Route23.asm diff --git a/data/wildPokemon/route24.asm b/data/wild/maps/Route24.asm similarity index 100% rename from data/wildPokemon/route24.asm rename to data/wild/maps/Route24.asm diff --git a/data/wildPokemon/route25.asm b/data/wild/maps/Route25.asm similarity index 100% rename from data/wildPokemon/route25.asm rename to data/wild/maps/Route25.asm diff --git a/data/wildPokemon/route3.asm b/data/wild/maps/Route3.asm similarity index 100% rename from data/wildPokemon/route3.asm rename to data/wild/maps/Route3.asm diff --git a/data/wildPokemon/route4.asm b/data/wild/maps/Route4.asm similarity index 100% rename from data/wildPokemon/route4.asm rename to data/wild/maps/Route4.asm diff --git a/data/wildPokemon/route5.asm b/data/wild/maps/Route5.asm similarity index 100% rename from data/wildPokemon/route5.asm rename to data/wild/maps/Route5.asm diff --git a/data/wildPokemon/route6.asm b/data/wild/maps/Route6.asm similarity index 100% rename from data/wildPokemon/route6.asm rename to data/wild/maps/Route6.asm diff --git a/data/wildPokemon/route7.asm b/data/wild/maps/Route7.asm similarity index 100% rename from data/wildPokemon/route7.asm rename to data/wild/maps/Route7.asm diff --git a/data/wildPokemon/route8.asm b/data/wild/maps/Route8.asm similarity index 100% rename from data/wildPokemon/route8.asm rename to data/wild/maps/Route8.asm diff --git a/data/wildPokemon/route9.asm b/data/wild/maps/Route9.asm similarity index 100% rename from data/wildPokemon/route9.asm rename to data/wild/maps/Route9.asm diff --git a/data/wildPokemon/safarizonecenter.asm b/data/wild/maps/SafariZoneCenter.asm similarity index 100% rename from data/wildPokemon/safarizonecenter.asm rename to data/wild/maps/SafariZoneCenter.asm diff --git a/data/wildPokemon/safarizone1.asm b/data/wild/maps/SafariZoneEast.asm similarity index 100% rename from data/wildPokemon/safarizone1.asm rename to data/wild/maps/SafariZoneEast.asm diff --git a/data/wildPokemon/safarizone2.asm b/data/wild/maps/SafariZoneNorth.asm similarity index 100% rename from data/wildPokemon/safarizone2.asm rename to data/wild/maps/SafariZoneNorth.asm diff --git a/data/wildPokemon/safarizone3.asm b/data/wild/maps/SafariZoneWest.asm similarity index 100% rename from data/wildPokemon/safarizone3.asm rename to data/wild/maps/SafariZoneWest.asm diff --git a/data/wildPokemon/waterpokemon.asm b/data/wild/maps/SeaRoutes.asm similarity index 100% rename from data/wildPokemon/waterpokemon.asm rename to data/wild/maps/SeaRoutes.asm diff --git a/data/wildPokemon/seafoamisland1.asm b/data/wild/maps/SeafoamIslands1F.asm similarity index 100% rename from data/wildPokemon/seafoamisland1.asm rename to data/wild/maps/SeafoamIslands1F.asm diff --git a/data/wildPokemon/seafoamislandb1.asm b/data/wild/maps/SeafoamIslandsB1F.asm similarity index 100% rename from data/wildPokemon/seafoamislandb1.asm rename to data/wild/maps/SeafoamIslandsB1F.asm diff --git a/data/wildPokemon/seafoamislandb2.asm b/data/wild/maps/SeafoamIslandsB2F.asm similarity index 100% rename from data/wildPokemon/seafoamislandb2.asm rename to data/wild/maps/SeafoamIslandsB2F.asm diff --git a/data/wildPokemon/seafoamislandb3.asm b/data/wild/maps/SeafoamIslandsB3F.asm similarity index 100% rename from data/wildPokemon/seafoamislandb3.asm rename to data/wild/maps/SeafoamIslandsB3F.asm diff --git a/data/wildPokemon/seafoamislandb4.asm b/data/wild/maps/SeafoamIslandsB4F.asm similarity index 100% rename from data/wildPokemon/seafoamislandb4.asm rename to data/wild/maps/SeafoamIslandsB4F.asm diff --git a/data/wildPokemon/victoryroad1.asm b/data/wild/maps/VictoryRoad1F.asm similarity index 100% rename from data/wildPokemon/victoryroad1.asm rename to data/wild/maps/VictoryRoad1F.asm diff --git a/data/wildPokemon/victoryroad2.asm b/data/wild/maps/VictoryRoad2F.asm similarity index 100% rename from data/wildPokemon/victoryroad2.asm rename to data/wild/maps/VictoryRoad2F.asm diff --git a/data/wildPokemon/victoryroad3.asm b/data/wild/maps/VictoryRoad3F.asm similarity index 100% rename from data/wildPokemon/victoryroad3.asm rename to data/wild/maps/VictoryRoad3F.asm diff --git a/data/wildPokemon/viridianforest.asm b/data/wild/maps/ViridianForest.asm similarity index 100% rename from data/wildPokemon/viridianforest.asm rename to data/wild/maps/ViridianForest.asm diff --git a/data/wildPokemon/nomons.asm b/data/wild/maps/nothing.asm similarity index 100% rename from data/wildPokemon/nomons.asm rename to data/wild/maps/nothing.asm diff --git a/data/wild_probabilities.asm b/data/wild/probabilities.asm similarity index 100% rename from data/wild_probabilities.asm rename to data/wild/probabilities.asm diff --git a/data/super_rod.asm b/data/wild/super_rod.asm similarity index 100% rename from data/super_rod.asm rename to data/wild/super_rod.asm diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index fcc3c99f..ee476ce9 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -163,7 +163,7 @@ DrawFrameBlock: PlayAnimation: xor a - ld [$FF8B], a ; it looks like nothing reads this + ld [hROMBankTemp], a ; it looks like nothing reads this ld [wSubAnimTransform], a ld a, [wAnimationID] ; get animation number dec a @@ -308,7 +308,7 @@ LoadSubanimation: ; sets the transform to the subanimation type if it's the enemy's turn GetSubanimationTransform1: ld b, a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, b ret nz @@ -319,7 +319,7 @@ GetSubanimationTransform1: ; sets the transform to 2 (i.e. horizontal and vertical flip) if it's the player's turn ; sets the transform to 0 (i.e. no transform) if it's the enemy's turn GetSubanimationTransform2: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, 2 << 5 ret z @@ -421,7 +421,7 @@ MoveAnimation: ShareMoveAnimations: ; some moves just reuse animations from status conditions - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ret z @@ -649,7 +649,7 @@ DoSpecialEffectByAnimationId: pop hl ret -INCLUDE "data/move_animation_special_effects.asm" +INCLUDE "data/moves/animation_special_effects.asm" DoBallTossSpecialEffects: ld a, [wcf91] @@ -911,7 +911,7 @@ TailWhipAnimationUnused: ld c, 20 jp DelayFrames -INCLUDE "data/move_animation_pointers.asm" +INCLUDE "data/moves/animation_special_effect_pointers.asm" AnimationDelay10: ld c, 10 @@ -920,16 +920,16 @@ AnimationDelay10: ; calls a function with the turn flipped from player to enemy or vice versa ; input - hl - address of function to call CallWithTurnFlipped: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] push af xor 1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld de, .returnAddress push de jp hl .returnAddress pop af - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ret ; flashes the screen for an extended period (48 frames) @@ -1133,7 +1133,7 @@ _AnimationWaterDroplets: AnimationSlideMonUp: ; Slides the mon's sprite upwards. ld c, 7 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 1, 6 coord de, 1, 5 @@ -1201,7 +1201,7 @@ _AnimationSlideMonUp: jr nz, .slideLoop ; Fill in the bottom row of the mon pic with the next row's tile IDs. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 1, 11 jr z, .next @@ -1370,7 +1370,7 @@ AnimationShowEnemyMonPic: AnimationShakeBackAndForth: ; Shakes the mon's sprite back and forth rapidly. This is used in Double Team. ; The mon's sprite disappears after this animation. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 0, 5 coord de, 2, 5 @@ -1418,7 +1418,7 @@ AnimationMoveMonHorizontally: ; Shifts the mon's sprite horizontally to a fixed location. Used by lots of ; animations like Tackle/Body Slam. call AnimationHideMonPic - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 2, 5 jr z, .next @@ -1434,7 +1434,7 @@ AnimationMoveMonHorizontally: AnimationResetMonPosition: ; Resets the mon's sprites to be located at the normal coordinates. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, 5 * SCREEN_WIDTH + 2 jr z, .next @@ -1446,7 +1446,7 @@ AnimationResetMonPosition: AnimationSpiralBallsInward: ; Creates an effect that looks like energy balls spiralling into the ; player mon's sprite. Used in Focus Energy, for example. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld a, -40 @@ -1530,7 +1530,7 @@ AnimationSquishMonPic: ld c, 4 .loop push bc - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn coord hl, 16, 0 @@ -1583,7 +1583,7 @@ _AnimationSquishMonPic: AnimationShootBallsUpward: ; Shoots one pillar of "energy" balls upwards. Used in Teleport/Sky Attack ; animations. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn lb bc, 0, 16 * 8 @@ -1651,7 +1651,7 @@ _AnimationShootBallsUpward: AnimationShootManyBallsUpward: ; Shoots several pillars of "energy" balls upward. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, UpwardBallsAnimXCoordinatesPlayerTurn ld a, $50 ; y coordinate for "energy" ball pillar @@ -1735,7 +1735,7 @@ AnimationSlideMonDownAndHide: jr nz, .loop call AnimationHideMonPic ld hl, wTempPic - ld bc, $0310 + ld bc, $310 xor a call FillMemory jp CopyTempPicToMonPic @@ -1743,7 +1743,7 @@ AnimationSlideMonDownAndHide: _AnimationSlideMonOff: ; Slides the mon's sprite off the screen horizontally by e tiles and waits ; [wSlideMonDelay] V-blanks each time the pic is slid by one tile. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn coord hl, 12, 0 @@ -1758,7 +1758,7 @@ _AnimationSlideMonOff: .rowLoop ; iterates once for each row ld c, 8 .tileLoop ; iterates once for each tile in the row - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn2 call .EnemyNextTile @@ -1821,7 +1821,7 @@ AnimationSlideMonHalfOff: jp Delay3 CopyTempPicToMonPic: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, vBackPic ; player turn jr z, .next @@ -1837,7 +1837,7 @@ AnimationWavyScreen: call BattleAnimCopyTileMapToVRAM call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, SCREEN_HEIGHT_PIXELS ld [hWY], a ld d, $80 ; terminator @@ -1865,7 +1865,7 @@ AnimationWavyScreen: call SaveScreenTilesToBuffer2 call ClearScreen ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 call LoadScreenTilesFromBuffer2 ld hl, vBGMap1 @@ -1896,9 +1896,9 @@ AnimationSubstitute: ; Changes the pokemon's sprite to the mini sprite ld hl, wTempPic xor a - ld bc, $0310 + ld bc, $310 call FillMemory - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld hl, SlowbroSprite ; facing down sprite @@ -1932,12 +1932,12 @@ AnimationSubstitute: jp AnimationShowMonPic CopySlowbroSpriteData: - ld bc, $0010 + ld bc, $10 ld a, BANK(SlowbroSprite) jp FarCopyData2 HideSubstituteShowMonAnim: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wPlayerMonMinimized ld a, [wPlayerBattleStatus2] @@ -1987,7 +1987,7 @@ AnimationTransformMon: ld [wChangeMonPicEnemyTurnSpecies], a ChangeMonPic: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld a, [wChangeMonPicEnemyTurnSpecies] @@ -2020,11 +2020,11 @@ ChangeMonPic: AnimationHideEnemyMonPic: ; Hides the enemy mon's sprite xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, AnimationHideMonPic call CallWithTurnFlipped ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp Delay3 InitMultipleObjectsOAM: @@ -2050,7 +2050,7 @@ InitMultipleObjectsOAM: AnimationHideMonPic: ; Hides the mon's sprite. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld a, 12 @@ -2078,7 +2078,7 @@ ClearMonPicFromTileMap: ; in order to show only a portion of the mon sprite. GetMonSpriteTileMapPointerFromRowCount: push de - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .enemyTurn ld a, 20 * 5 + 1 @@ -2166,7 +2166,7 @@ GetMoveSound: ld b, a call IsCryMove jr nc, .NotCryMove - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .next ld a, [wBattleMonSpecies] ; get number of current monster @@ -2208,10 +2208,10 @@ IsCryMove: scf ret -INCLUDE "data/move_sfx.asm" +INCLUDE "data/moves/sfx.asm" CopyPicTiles: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, $31 ; base tile ID of player mon sprite jr z, .next @@ -2235,7 +2235,7 @@ CopyDownscaledMonTiles: CopyTileIDs_NoBGTransfer: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ; fall through ; b = number of rows @@ -2261,7 +2261,7 @@ CopyTileIDs: dec b jr nz, .rowLoop ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a pop hl ret @@ -2624,9 +2624,9 @@ ShakeEnemyHUD_ShakeBG: BattleAnimCopyTileMapToVRAM: ld a, h - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a ld a, l - ld [H_AUTOBGTRANSFERDEST], a + ld [hAutoBGTransferDest], a jp Delay3 TossBallAnimation: diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 62b023b0..98e87dc0 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -1,6 +1,6 @@ BattleTransition: ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a ld [hWY], a @@ -151,7 +151,7 @@ GetBattleTransitionID_IsDungeonMap: res 2, c ret -INCLUDE "data/dungeon_maps.asm" +INCLUDE "data/maps/dungeon_maps.asm" LoadBattleTransitionTile: ld hl, vChars1 + $7f0 @@ -349,7 +349,7 @@ BattleTransition_Shrink: .loop push bc xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 0, 7 coord de, 0, 8 ld bc, -SCREEN_WIDTH * 2 @@ -367,7 +367,7 @@ BattleTransition_Shrink: ld bc, 2 call BattleTransition_CopyTiles2 ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld c, 6 call DelayFrames pop bc @@ -381,7 +381,7 @@ BattleTransition_Shrink: BattleTransition_Split: ld c, SCREEN_HEIGHT / 2 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a .loop push bc coord hl, 0, 16 @@ -496,7 +496,7 @@ BattleTransition_VerticalStripes: coord hl, 0, 0 coord de, 1, 17 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a .loop push bc push hl @@ -535,7 +535,7 @@ BattleTransition_HorizontalStripes: coord hl, 0, 0 coord de, 19, 1 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a .loop push bc push hl @@ -582,7 +582,7 @@ BattleTransition_FlashScreen: ld b, $3 call BattleTransition_FlashScreen_ xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret BattleTransition_Circle_Sub1: @@ -601,10 +601,10 @@ BattleTransition_Circle_Sub1: BattleTransition_TransferDelay3: ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret ; used for low level wild non-dungeon battles diff --git a/engine/battle/common_text.asm b/engine/battle/common_text.asm index e541d604..e8998414 100644 --- a/engine/battle/common_text.asm +++ b/engine/battle/common_text.asm @@ -101,16 +101,16 @@ PrintSendOutMonMessage: ld hl, GoText jr z, .printText xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld hl, wEnemyMonHP ld a, [hli] ld [wLastSwitchInEnemyMonHP], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] ld [wLastSwitchInEnemyMonHP + 1], a - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, 25 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld hl, wEnemyMonMaxHP ld a, [hli] @@ -121,9 +121,9 @@ PrintSendOutMonMessage: rr b ld a, b ld b, 4 - ld [H_DIVISOR], a ; enemy mon max HP divided by 4 + ld [hDivisor], a ; enemy mon max HP divided by 4 call Divide - ld a, [H_QUOTIENT + 3] ; a = (enemy mon current HP * 25) / (enemy max HP / 4); this approximates the current percentage of max HP + ld a, [hQuotient + 3] ; a = (enemy mon current HP * 25) / (enemy max HP / 4); this approximates the current percentage of max HP ld hl, GoText ; 70% or greater cp 70 jr nc, .printText @@ -179,14 +179,14 @@ PlayerMon2Text: dec hl ld a, [de] sub b - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a dec de ld b, [hl] ld a, [de] sbc b - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, 25 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld hl, wEnemyMonMaxHP ld a, [hli] @@ -197,11 +197,11 @@ PlayerMon2Text: rr b ld a, b ld b, 4 - ld [H_DIVISOR], a + ld [hDivisor], a call Divide pop bc pop de - ld a, [H_QUOTIENT + 3] ; a = ((LastSwitchInEnemyMonHP - CurrentEnemyMonHP) / 25) / (EnemyMonMaxHP / 4) + ld a, [hQuotient + 3] ; a = ((LastSwitchInEnemyMonHP - CurrentEnemyMonHP) / 25) / (EnemyMonMaxHP / 4) ; Assuming that the enemy mon hasn't gained HP since the last switch in, ; a approximates the percentage that the enemy mon's total HP has decreased ; since the last switch in. diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 75841ccf..6881aef5 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -57,7 +57,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ld [wUpdateSpritesEnabled], a call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld b, $70 ld c, $90 ld a, c @@ -83,7 +83,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: dec c jr nz, .slideSilhouettesLoop ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, $31 ld [hStartTileID], a coord hl, 1, 5 @@ -92,7 +92,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ld [hWY], a ld [rWY], a inc a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 ld b, SET_PAL_BATTLE call RunPaletteCommand @@ -266,7 +266,7 @@ EnemyRan: ld a, SFX_RUN call PlaySoundWaitForCurrent xor a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a jpab AnimationSlideEnemyMonOff WildRanText: @@ -412,7 +412,7 @@ MainInBattleLoop: jr .playerMovesFirst .enemyMovesFirst ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a callab TrainerAI jr c, .AIActionUsedEnemyFirst call ExecuteEnemyMove @@ -450,7 +450,7 @@ MainInBattleLoop: jp z, HandlePlayerMonFainted call DrawHUDsAndHPBars ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a callab TrainerAI jr c, .AIActionUsedPlayerFirst call ExecuteEnemyMove @@ -470,7 +470,7 @@ MainInBattleLoop: HandlePoisonBurnLeechSeed: ld hl, wBattleMonHP ld de, wBattleMonStatus - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn ld hl, wEnemyMonHP @@ -495,7 +495,7 @@ HandlePoisonBurnLeechSeed: call HandlePoisonBurnLeechSeed_DecreaseOwnHP .notBurnedOrPoisoned ld de, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn2 ld de, wEnemyBattleStatus2 @@ -504,16 +504,16 @@ HandlePoisonBurnLeechSeed: add a jr nc, .notLeechSeeded push hl - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] push af xor $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a xor a ld [wAnimationType], a ld a, ABSORB call PlayMoveAnimation ; play leech seed animation (from opposing mon) pop af - ld [H_WHOSETURN], a + ld [hWhoseTurn], a pop hl call HandlePoisonBurnLeechSeed_DecreaseOwnHP call HandlePoisonBurnLeechSeed_IncreaseEnemyHP @@ -571,7 +571,7 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: .nonZeroDamage ld hl, wPlayerBattleStatus3 ld de, wPlayerToxicCounter - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn ld hl, wEnemyBattleStatus3 @@ -582,7 +582,7 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: ld a, [de] ; increment toxic counter inc a ld [de], a - ld hl, $0000 + ld hl, 0 .toxicTicksLoop add hl, bc dec a @@ -618,7 +618,7 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: HandlePoisonBurnLeechSeed_IncreaseEnemyHP: push hl ld hl, wEnemyMonMaxHP - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn ld hl, wBattleMonMaxHP @@ -655,19 +655,19 @@ HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ld [hl], a ld [wHPBarNewHP], a .noOverfullHeal - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a call UpdateCurMonHPBar - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a pop hl ret UpdateCurMonHPBar: coord hl, 10, 9 ; tile pointer to player HP bar - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, $1 jr z, .playersTurn @@ -958,7 +958,7 @@ TrainerDefeatedText: PlayBattleVictoryMusic: push af - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySoundWaitForCurrent ld c, BANK(Music_DefeatedTrainer) @@ -1177,7 +1177,7 @@ LinkBattleLostText: db "@" ; slides pic of fainted mon downwards until it disappears -; bug: when this is called, [H_AUTOBGTRANSFERENABLED] is non-zero, so there is screen tearing +; bug: when this is called, [hAutoBGTransferEnabled] is non-zero, so there is screen tearing SlideDownFaintedMonPic: ld a, [wd730] push af @@ -1230,7 +1230,7 @@ SevenSpacesText: ; slides the player or enemy trainer off screen ; a is the number of tiles to slide it horizontally (always 9 for the player trainer or 8 for the enemy trainer) ; if a is 8, the slide is to the right, else it is to the left -; bug: when this is called, [H_AUTOBGTRANSFERENABLED] is non-zero, so there is screen tearing +; bug: when this is called, [hAutoBGTransferEnabled] is non-zero, so there is screen tearing SlideTrainerPicOffScreen: ld [hSlideAmount], a ld c, a @@ -1508,29 +1508,29 @@ TryRunningFromBattle: inc a ld [wNumRunAttempts], a ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [de] ld [hEnemySpeed], a inc de ld a, [de] ld [hEnemySpeed + 1], a call LoadScreenTilesFromBuffer1 - ld de, H_MULTIPLICAND + 1 + ld de, hMultiplicand + 1 ld hl, hEnemySpeed ld c, 2 call StringCmp jr nc, .canEscape ; jump if player speed greater than enemy speed xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, 32 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; multiply player speed by 32 - ld a, [H_PRODUCT + 2] - ld [H_DIVIDEND], a - ld a, [H_PRODUCT + 3] - ld [H_DIVIDEND + 1], a + ld a, [hProduct + 2] + ld [hDividend], a + ld a, [hProduct + 3] + ld [hDividend + 1], a ld a, [hEnemySpeed] ld b, a ld a, [hEnemySpeed + 1] @@ -1541,10 +1541,10 @@ TryRunningFromBattle: rr a and a jr z, .canEscape ; jump if enemy speed divided by 4, mod 256 is 0 - ld [H_DIVISOR], a ; ((enemy speed / 4) % 256) + ld [hDivisor], a ; ((enemy speed / 4) % 256) ld b, $2 call Divide ; divide (player speed * 32) by ((enemy speed / 4) % 256) - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] and a ; is the quotient greater than 256? jr nz, .canEscape ; if so, the player can escape ld a, [wNumRunAttempts] @@ -1554,15 +1554,15 @@ TryRunningFromBattle: dec c jr z, .compareWithRandomValue ld b, 30 - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] add b - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a jr c, .canEscape jr .loop .compareWithRandomValue call BattleRandom ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp b jr nc, .canEscape ; if the random value was less than or equal to the quotient ; plus 30 times the number of attempts, the player can escape @@ -1754,7 +1754,7 @@ SendOutMon: ld hl, wEnemyBattleStatus1 res USING_TRAPPING_MOVE, [hl] ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld a, POOF_ANIM call PlayMoveAnimation coord hl, 4, 11 @@ -1812,7 +1812,7 @@ DrawHUDsAndHPBars: DrawPlayerHUDAndHPBar: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 9, 7 lb bc, 5, 11 call ClearScreenArea @@ -1845,7 +1845,7 @@ DrawPlayerHUDAndHPBar: coord hl, 10, 9 predef DrawHP ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wPlayerHPBarColor call GetBattleHealthBarColor ld hl, wBattleMonHP @@ -1873,7 +1873,7 @@ DrawPlayerHUDAndHPBar: DrawEnemyHUDAndHPBar: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 0, 0 lb bc, 4, 12 call ClearScreenArea @@ -1895,9 +1895,9 @@ DrawEnemyHUDAndHPBar: .skipPrintLevel ld hl, wEnemyMonHP ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hld] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a or [hl] ; is current HP zero? jr nz, .hpNonzero ; current HP is 0 @@ -1908,45 +1908,45 @@ DrawEnemyHUDAndHPBar: jp .drawHPBar .hpNonzero xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, 48 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; multiply current HP by 48 ld hl, wEnemyMonMaxHP ld a, [hli] ld b, a ld a, [hl] - ld [H_DIVISOR], a + ld [hDivisor], a ld a, b and a ; is max HP > 255? jr z, .doDivide ; if max HP > 255, scale both (current HP * 48) and max HP by dividing by 4 so that max HP fits in one byte ; (it needs to be one byte so it can be used as the divisor for the Divide function) - ld a, [H_DIVISOR] + ld a, [hDivisor] srl b rr a srl b rr a - ld [H_DIVISOR], a - ld a, [H_PRODUCT + 2] + ld [hDivisor], a + ld a, [hProduct + 2] ld b, a srl b - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] rr a srl b rr a - ld [H_PRODUCT + 3], a + ld [hProduct + 3], a ld a, b - ld [H_PRODUCT + 2], a + ld [hProduct + 2], a .doDivide - ld a, [H_PRODUCT + 2] - ld [H_DIVIDEND], a - ld a, [H_PRODUCT + 3] - ld [H_DIVIDEND + 1], a + ld a, [hProduct + 2] + ld [hDividend], a + ld a, [hProduct + 3] + ld [hDividend + 1], a ld a, $2 ld b, a call Divide ; divide (current HP * 48) by max HP - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ; set variables for DrawHPBar ld e, a ld a, $6 @@ -1958,7 +1958,7 @@ DrawEnemyHUDAndHPBar: coord hl, 2, 2 call DrawHPBar ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wEnemyHPBarColor GetBattleHealthBarColor: @@ -2469,13 +2469,13 @@ MoveSelectionMenu: .writemoves ld de, wMovesString - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 2, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a call PlaceString - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 2, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ret .regularmenu @@ -2595,10 +2595,10 @@ SelectMenuItem: call AddNTimes ld [hl], "▷" .select - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] bit 6, a jp nz, SelectMenuItem_CursorUp ; up @@ -2825,7 +2825,7 @@ SwapMovesInMenu: PrintMenuItem: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 0, 8 ld b, 3 ld c, 9 @@ -2847,7 +2847,7 @@ PrintMenuItem: ld hl, wCurrentMenuItem dec [hl] xor a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld hl, wBattleMonMoves ld a, [wCurrentMenuItem] ld c, a @@ -2891,7 +2891,7 @@ PrintMenuItem: predef PrintMoveType .moveDisabled ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp Delay3 DisabledText: @@ -3043,7 +3043,7 @@ LinkBattleExchangeData: ExecutePlayerMove: xor a - ld [H_WHOSETURN], a ; set player's turn + ld [hWhoseTurn], a ; set player's turn ld a, [wPlayerSelectedMove] inc a jp z, ExecutePlayerMoveDone ; for selected move = FF, skip most of player's turn @@ -3252,7 +3252,7 @@ PrintGhostText: ; print the ghost battle messages call IsGhostBattle ret nz - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .Ghost ld a, [wBattleMonStatus] ; player’s turn @@ -3619,7 +3619,7 @@ CantMoveText: PrintMoveIsDisabledText: ld hl, wPlayerSelectedMove ld de, wPlayerBattleStatus1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .removeChargingUp inc hl @@ -3675,11 +3675,11 @@ HandleSelfConfusionDamage: xor a ld [wAnimationType], a inc a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a call PlayMoveAnimation call DrawPlayerHUDAndHPBar xor a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a jp ApplyDamageToPlayerPokemon PrintMonName1Text: @@ -3694,7 +3694,7 @@ PrintMonName1Text: MonName1Text: TX_FAR _MonName1Text TX_ASM - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] ld hl, wPlayerUsedMove @@ -3814,11 +3814,11 @@ DetermineExclamationPointTextNum: pop bc ret -INCLUDE "data/move_grammar.asm" +INCLUDE "data/moves/grammar.asm" PrintMoveFailureText: ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn ld de, wEnemyMoveEffect @@ -3866,7 +3866,7 @@ PrintMoveFailureText: call PrintText ld b, $4 predef PredefShakeScreenHorizontally - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .enemyTurn jp ApplyDamageToPlayerPokemon @@ -4139,7 +4139,7 @@ GetDamageVarsForPlayerAttack: ld d, a ; d = move power ret z ; return if move power is zero ld a, [hl] ; a = [wPlayerMoveType] - cp FIRE ; types >= FIRE are all special + cp SPECIAL ; types >= SPECIAL are all special jr nc, .specialAttack .physicalAttack ld hl, wEnemyMonDefense @@ -4160,9 +4160,9 @@ GetDamageVarsForPlayerAttack: ; in the case of a critical hit, reset the player's attack and the enemy's defense to their base values ld c, 3 ; defense stat call GetEnemyMonStat - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] ld b, a - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld c, a push bc ld hl, wPartyMon1Attack @@ -4192,9 +4192,9 @@ GetDamageVarsForPlayerAttack: ; in the case of a critical hit, reset the player's and enemy's specials to their base values ld c, 5 ; special stat call GetEnemyMonStat - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] ld b, a - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld c, a push bc ld hl, wPartyMon1Special @@ -4252,7 +4252,7 @@ GetDamageVarsForEnemyAttack: and a ret z ; return if move power is zero ld a, [hl] ; a = [wEnemyMoveType] - cp FIRE ; types >= FIRE are all special + cp SPECIAL ; types >= SPECIAL are all special jr nc, .specialAttack .physicalAttack ld hl, wBattleMonDefense @@ -4281,7 +4281,7 @@ GetDamageVarsForEnemyAttack: push bc ld c, 2 ; attack stat call GetEnemyMonStat - ld hl, H_PRODUCT + 2 + ld hl, hProduct + 2 pop bc jr .scaleStats .specialAttack @@ -4313,7 +4313,7 @@ GetDamageVarsForEnemyAttack: push bc ld c, 5 ; special stat call GetEnemyMonStat - ld hl, H_PRODUCT + 2 + ld hl, hProduct + 2 pop bc ; if either the offensive or defensive stat is too large to store in a byte, scale both stats by dividing them by 4 ; this allows values with up to 10 bits (values up to 1023) to be handled @@ -4371,9 +4371,9 @@ GetEnemyMonStat: ld bc, wEnemyMon2 - wEnemyMon1 call AddNTimes ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a pop bc pop de ret @@ -4404,7 +4404,7 @@ CalculateDamage: ; d: base power ; e: level - ld a, [H_WHOSETURN] ; whose turn? + ld a, [hWhoseTurn] ; whose turn? and a ld a, [wPlayerMoveEffect] jr z, .effect @@ -4436,7 +4436,7 @@ CalculateDamage: .skipbp xor a - ld hl, H_DIVIDEND + ld hl, hDividend ldi [hl], a ldi [hl], a ld [hl], a @@ -4487,41 +4487,41 @@ CalculateDamage: ld hl, wDamage ld b, [hl] - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] add b - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a jr nc, .asm_3dfd0 - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] inc a - ld [H_QUOTIENT + 2], a + ld [hQuotient + 2], a and a jr z, .asm_3e004 .asm_3dfd0 - ld a, [H_QUOTIENT] + ld a, [hQuotient] ld b, a - ld a, [H_QUOTIENT + 1] + ld a, [hQuotient + 1] or a jr nz, .asm_3e004 - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] cp 998 / $100 jr c, .asm_3dfe8 cp 998 / $100 + 1 jr nc, .asm_3e004 - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp 998 % $100 jr nc, .asm_3e004 .asm_3dfe8 inc hl - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld b, [hl] add b ld [hld], a - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld b, [hl] adc b ld [hl], a @@ -4573,7 +4573,7 @@ INCLUDE "data/battle/unused_critical_hit_moves.asm" CriticalHitTest: xor a ld [wCriticalHitOrOHKO], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wEnemyMonSpecies] jr nz, .handleEnemy @@ -4584,7 +4584,7 @@ CriticalHitTest: ld a, [wMonHBaseSpeed] ld b, a srl b ; (effective (base speed/2)) - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wPlayerMovePower ld de, wPlayerBattleStatus2 @@ -4646,7 +4646,7 @@ HandleCounterMove: ; the outcome may be affected by the player's actions in the move selection menu prior to switching the Pokemon. ; This might also lead to desync glitches in link battles. - ld a, [H_WHOSETURN] ; whose turn + ld a, [hWhoseTurn] ; whose turn and a ; player's turn ld hl, wEnemySelectedMove @@ -4954,7 +4954,7 @@ AttackSubstitute: ; values for player turn ld de, wEnemySubstituteHP ld bc, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .applyDamageToSubstitute ; values for enemy turn @@ -4979,14 +4979,14 @@ AttackSubstitute: ld hl, SubstituteBrokeText call PrintText ; flip whose turn it is for the next function call - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $01 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a callab HideSubstituteShowMonAnim ; animate the substitute breaking ; flip the turn back to the way it was - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $01 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld hl, wPlayerMoveEffect ; value for player's turn and a jr z, .nullifyEffect @@ -5010,7 +5010,7 @@ HandleBuildingRage: ld hl, wEnemyBattleStatus2 ld de, wEnemyMonStatMods ld bc, wEnemyMoveNum - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .next ; values for the enemy turn @@ -5023,9 +5023,9 @@ HandleBuildingRage: ld a, [de] cp $0d ; maximum stat modifier value ret z ; return if attack modifier is already maxed - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $01 ; flip turn for the stat modifier raising function - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ; temporarily change the target pokemon's move to $00 and the effect to the one ; that causes the attack modifier to go up one stage ld h, b @@ -5042,9 +5042,9 @@ HandleBuildingRage: ldd [hl], a ; null move effect ld a, RAGE ld [hl], a ; restore the target pokemon's move number to Rage - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $01 ; flip turn back to the way it was - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ret BuildingRageText: @@ -5060,7 +5060,7 @@ MirrorMoveCopyMove: ; wPlayerUsedMove is also set to 0 whenever the player is fast asleep or frozen solid. ; wEnemyUsedMove is also set to 0 whenever the enemy is fast asleep or frozen solid. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ; values for player turn ld a, [wEnemyUsedMove] @@ -5113,7 +5113,7 @@ MetronomePickMove: ; values for player turn ld de, wPlayerMoveNum ld hl, wPlayerSelectedMove - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .pickMoveLoop ; values for enemy turn @@ -5135,7 +5135,7 @@ MetronomePickMove: ; it's used to prevent moves that run another move within the same turn ; (like Mirror Move and Metronome) from losing 2 PP IncrementMovePP: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ; values for player turn ld hl, wBattleMonPP @@ -5154,7 +5154,7 @@ IncrementMovePP: ld h, d ld l, e add hl, bc - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMonNumber] ; value for player turn jr z, .updatePP @@ -5178,7 +5178,7 @@ AdjustDamageForMoveType: ld e, [hl] ; e = type 2 of defender ld a, [wPlayerMoveType] ld [wMoveType], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .next ; values for enemy turn @@ -5242,25 +5242,25 @@ AdjustDamageForMoveType: and $80 ld b, a ld a, [hl] ; a = damage multiplier - ld [H_MULTIPLIER], a + ld [hMultiplier], a add b ld [wDamageMultipliers], a xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld hl, wDamage ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hld] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a call Multiply ld a, 10 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $04 call Divide - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld [hli], a ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [hl], a or b ; is damage 0? jr nz, .skipTypeImmunity @@ -5317,7 +5317,7 @@ AIGetTypeEffectiveness: ld [wTypeEffectiveness], a ; store damage multiplier ret -INCLUDE "data/type_effects.asm" +INCLUDE "data/types/type_matchups.asm" ; some tests that need to pass for a move to hit MoveHitTest: @@ -5325,7 +5325,7 @@ MoveHitTest: ld hl, wEnemyBattleStatus1 ld de, wPlayerMoveEffect ld bc, wEnemyMonStatus - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .dreamEaterCheck ; enemy's turn @@ -5345,8 +5345,8 @@ MoveHitTest: ret z ; Swift never misses (interestingly, Azure Heights lists this is a myth, but it appears to be true) call CheckTargetSubstitute ; substitute check (note that this overwrites a) jr z, .checkForDigOrFlyStatus -; this code is buggy. it's supposed to prevent HP draining moves from working on substitutes. -; since $7b79 overwrites a with either $00 or $01, it never works. +; This code is buggy. It's supposed to prevent HP draining moves from working on substitutes. +; Since CheckTargetSubstitute overwrites a with either $00 or $01, it never works. cp DRAIN_HP_EFFECT jp z, .moveMissed cp DREAM_EATER_EFFECT @@ -5354,7 +5354,7 @@ MoveHitTest: .checkForDigOrFlyStatus bit INVULNERABLE, [hl] jp nz, .moveMissed - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .enemyTurn .playerTurn @@ -5408,7 +5408,7 @@ MoveHitTest: call CalcHitChance ; scale the move accuracy according to attacker's accuracy and target's evasion ld a, [wPlayerMoveAccuracy] ld b, a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .doAccuracyCheck ld a, [wEnemyMoveAccuracy] @@ -5427,7 +5427,7 @@ MoveHitTest: ld [hl], a inc a ld [wMoveMissed], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn2 .enemyTurn2 @@ -5442,7 +5442,7 @@ MoveHitTest: ; values for player turn CalcHitChance: ld hl, wPlayerMoveAccuracy - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMonAccuracyMod] ld b, a @@ -5462,10 +5462,10 @@ CalcHitChance: ; decreases the hit chance instead of increasing the hit chance) ; zero the high bytes of the multiplicand xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a ; set multiplicand to move accuracy + ld [hMultiplicand + 2], a ; set multiplicand to move accuracy push hl ld d, $02 ; loop has two iterations ; loop to do the calculations, the first iteration multiplies by the accuracy ratio and @@ -5480,29 +5480,29 @@ CalcHitChance: add hl, bc ; hl = address of stat modifier ratio pop bc ld a, [hli] - ld [H_MULTIPLIER], a ; set multiplier to the numerator of the ratio + ld [hMultiplier], a ; set multiplier to the numerator of the ratio call Multiply ld a, [hl] - ld [H_DIVISOR], a ; set divisor to the the denominator of the ratio + ld [hDivisor], a ; set divisor to the the denominator of the ratio ; (the dividend is the product of the previous multiplication) ld b, $04 ; number of bytes in the dividend call Divide - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld b, a - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] or b jp nz, .nextCalculation ; make sure the result is always at least one - ld [H_QUOTIENT + 2], a + ld [hQuotient + 2], a ld a, $01 - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a .nextCalculation ld b, c dec d jr nz, .loop - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] and a ; is the calculated hit chance over 0xFF? - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] jr z, .storeAccuracy ; if calculated hit chance over 0xFF ld a, $ff ; set the hit chance to 0xFF @@ -5522,29 +5522,29 @@ RandomizeDamage: ret c ; return if damage is equal to 0 or 1 .DamageGreaterThanOne xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a dec hl ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ; loop until a random number greater than or equal to 217 is generated .loop call BattleRandom rrca cp 217 jr c, .loop - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; multiply damage by the random number, which is in the range [217, 255] ld a, 255 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide ; divide the result by 255 ; store the modified damage - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld hl, wDamage ld [hli], a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [hl], a ret @@ -5900,11 +5900,11 @@ CheckEnemyStatusConditions: ld [hl], a xor a ld [wAnimationType], a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld a, POUND call PlayMoveAnimation ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a call ApplyDamageToEnemyPokemon jr .monHurtItselfOrFullyParalysed .checkIfTriedToUseDisabledMove @@ -6051,7 +6051,7 @@ CheckEnemyStatusConditions: ret GetCurrentMove: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp z, .player ld de, wEnemyMoveNum @@ -6257,13 +6257,13 @@ DoBattleTransitionAndInitBattleVariables: predef BattleTransition callab LoadHudAndHpBarAndStatusTilePatterns ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, $ff ld [wUpdateSpritesEnabled], a call ClearSprites call ClearScreen xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [hWY], a ld [rWY], a ld [hTilesetType], a @@ -6335,17 +6335,17 @@ LoadPlayerBackPic: ld de, vBackPic call InterlaceMergeSpriteBuffers ld a, $a - ld [$0], a + ld [MBC1SRamEnable], a xor a - ld [$4000], a + ld [MBC1SRamBank], a ld hl, vSprites ld de, sSpriteBuffer1 - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld b, a ld c, 7 * 7 call CopyVideoData xor a - ld [$0], a + ld [MBC1SRamEnable], a ld a, $31 ld [hStartTileID], a coord hl, 1, 5 @@ -6367,12 +6367,12 @@ ApplyBurnAndParalysisPenaltiesToEnemy: xor a ApplyBurnAndParalysisPenalties: - ld [H_WHOSETURN], a + ld [hWhoseTurn], a call QuarterSpeedDueToParalysis jp HalveAttackDueToBurn QuarterSpeedDueToParalysis: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn .enemyTurn ; quarter the player's speed @@ -6415,7 +6415,7 @@ QuarterSpeedDueToParalysis: ret HalveAttackDueToBurn: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn .enemyTurn ; halve the player's attack @@ -6505,35 +6505,35 @@ CalculateModifiedStat: ld b, 0 add hl, bc xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, [de] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a inc de ld a, [de] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [hli] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hl] - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide pop hl - ld a, [H_DIVIDEND + 3] + ld a, [hDividend + 3] sub 999 % $100 - ld a, [H_DIVIDEND + 2] + ld a, [hDividend + 2] sbc 999 / $100 jp c, .storeNewStatValue ; cap the stat at 999 ld a, 999 / $100 - ld [H_DIVIDEND + 2], a + ld [hDividend + 2], a ld a, 999 % $100 - ld [H_DIVIDEND + 3], a + ld [hDividend + 3], a .storeNewStatValue - ld a, [H_DIVIDEND + 2] + ld a, [hDividend + 2] ld [hli], a ld b, a - ld a, [H_DIVIDEND + 3] + ld a, [hDividend + 3] ld [hl], a or b jr nz, .done @@ -6683,7 +6683,7 @@ BattleRandom: HandleExplodingAnimation: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wEnemyMonType1 ld de, wEnemyBattleStatus1 @@ -6826,18 +6826,18 @@ _InitBattleCommon: call RunPaletteCommand call SlidePlayerAndEnemySilhouettesOnScreen xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, .emptyString call PrintText call SaveScreenTilesToBuffer1 call ClearScreen ld a, $98 - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 ld a, $9c - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a call LoadScreenTilesFromBuffer1 coord hl, 9, 7 lb bc, 5, 10 @@ -6870,9 +6870,9 @@ _LoadTrainerPic: ld d, a ; de contains pointer to trainer pic ld a, [wLinkState] and a - ld a, Bank(TrainerPics) ; this is where all the trainer pics are (not counting Red's) + ld a, BANK(TrainerPics) ; this is where all the trainer pics are (not counting Red's) jr z, .loadSprite - ld a, Bank(RedPicFront) + ld a, BANK(RedPicFront) .loadSprite call UncompressSpriteFromDE ld de, vFrontPic @@ -6998,6 +6998,6 @@ LoadMonBackPic: ld hl, vSprites ld de, vBackPic ld c, (2*SPRITEBUFFERSIZE)/16 ; count of 16-byte chunks to be copied - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld b, a jp CopyVideoData diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index 8bb22a1c..0a1eb61c 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -4,7 +4,7 @@ JumpMoveEffect: ret _JumpMoveEffect: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .next1 @@ -21,12 +21,12 @@ _JumpMoveEffect: ld l, a jp hl ; jump to special effect handler -INCLUDE "data/effects_pointers.asm" +INCLUDE "data/moves/effects_pointers.asm" SleepEffect: ld de, wEnemyMonStatus ld bc, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp z, .sleepEffect ld de, wBattleMonStatus @@ -78,7 +78,7 @@ AlreadyAsleepText: PoisonEffect: ld hl, wEnemyMonStatus ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .poisonEffect ld hl, wBattleMonStatus @@ -121,7 +121,7 @@ PoisonEffect: set 3, [hl] ; mon is now poisoned push de dec de - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld b, ANIM_C7 ld hl, wPlayerBattleStatus3 @@ -175,7 +175,7 @@ DrainHPEffect: ExplodeEffect: ld hl, wBattleMonHP ld de, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .faintUser ld hl, wEnemyMonHP @@ -196,7 +196,7 @@ FreezeBurnParalyzeEffect: ld [wAnimationType], a call CheckTargetSubstitute ; test bit 4 of d063/d068 flags [target has substitute flag] ret nz ; return if they have a substitute, can't effect them - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp nz, opponentAttacker ld a, [wEnemyMonStatus] @@ -308,7 +308,7 @@ CheckDefrost: ; any fire-type move that has a chance inflict burn (all but Fire Spin) will defrost a frozen target and 1 << FRZ ; are they frozen? ret z ; return if so - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .opponent ;player [attacker] @@ -346,7 +346,7 @@ FireDefrostedText: StatModifierUpEffect: ld hl, wPlayerMonStatMods ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .statModifierUpEffect ld hl, wEnemyMonStatMods @@ -382,7 +382,7 @@ StatModifierUpEffect: push hl ld hl, wBattleMonAttack + 1 ld de, wPlayerMonUnmodifiedAttack - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .pointToStats ld hl, wEnemyMonAttack + 1 @@ -417,35 +417,35 @@ StatModifierUpEffect: add hl, bc pop bc xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, [de] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a inc de ld a, [de] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [hli] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hl] - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide pop hl ; cap at 999 - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] sub 999 % $100 - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] sbc 999 / $100 jp c, UpdateStat ld a, 999 / $100 - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, 999 % $100 - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a UpdateStat: - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] ld [hli], a - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld [hl], a pop hl UpdateStatDone: @@ -455,7 +455,7 @@ UpdateStatDone: ld hl, wPlayerBattleStatus2 ld de, wPlayerMoveNum ld bc, wPlayerMonMinimized - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .asm_3f4e6 ld hl, wEnemyBattleStatus2 @@ -488,7 +488,7 @@ UpdateStatDone: pop af call nz, Bankswitch .applyBadgeBoostsAndStatusPenalties - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a call z, ApplyBadgeStatBoosts ; whenever the player uses a stat-up move, badge boosts get reapplied again to every stat, ; even to those not affected by the stat-up move (will be boosted further) @@ -511,7 +511,7 @@ MonsStatsRoseText: TX_FAR _MonsStatsRoseText TX_ASM ld hl, GreatlyRoseText - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .playerTurn @@ -534,7 +534,7 @@ StatModifierDownEffect: ld hl, wEnemyMonStatMods ld de, wPlayerMoveEffect ld bc, wEnemyBattleStatus1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .statModifierDownEffect ld hl, wPlayerMonStatMods @@ -601,7 +601,7 @@ StatModifierDownEffect: push de ld hl, wEnemyMonAttack + 1 ld de, wEnemyMonUnmodifiedAttack - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .pointToStat ld hl, wBattleMonAttack + 1 @@ -637,33 +637,33 @@ StatModifierDownEffect: add hl, bc pop bc xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, [de] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a inc de ld a, [de] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [hli] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hl] - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide pop hl - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld b, a - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] or b jp nz, UpdateLoweredStat - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, $1 - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a UpdateLoweredStat: - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] ld [hli], a - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld [hl], a pop de pop hl @@ -678,7 +678,7 @@ UpdateLoweredStatDone: jr nc, .ApplyBadgeBoostsAndStatusPenalties call PlayCurrentMoveAnimation2 .ApplyBadgeBoostsAndStatusPenalties - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a call nz, ApplyBadgeStatBoosts ; whenever the player uses a stat-down move, badge boosts get reapplied again to every stat, ; even to those not affected by the stat-up move (will be boosted further) @@ -713,7 +713,7 @@ MonsStatsFellText: TX_FAR _MonsStatsFellText TX_ASM ld hl, FellText - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .playerTurn @@ -751,7 +751,7 @@ PrintStatText: ld bc, $a jp CopyData -INCLUDE "text/stat_names.asm" +INCLUDE "data/battle/stat_names.asm" INCLUDE "data/battle/stat_modifiers.asm" @@ -759,7 +759,7 @@ BideEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerBideAccumulatedDamage ld bc, wPlayerNumAttacksLeft - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .bideEffect ld hl, wEnemyBattleStatus1 @@ -778,14 +778,14 @@ BideEffect: inc a inc a ld [bc], a ; set Bide counter to 2 or 3 at random - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] add XSTATITEM_ANIM jp PlayBattleAnimation2 ThrashPetalDanceEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .thrashPetalDanceEffect ld hl, wEnemyBattleStatus1 @@ -797,12 +797,12 @@ ThrashPetalDanceEffect: inc a inc a ld [de], a ; set thrash/petal dance counter to 2 or 3 at random - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] add ANIM_B0 jp PlayBattleAnimation2 SwitchAndTeleportEffect: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .handleEnemy ld a, [wIsInBattle] @@ -920,7 +920,7 @@ TwoToFiveAttacksEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft ld bc, wPlayerNumHits - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .twoToFiveAttacksEffect ld hl, wEnemyBattleStatus1 @@ -931,7 +931,7 @@ TwoToFiveAttacksEffect: ret nz set ATTACKING_MULTIPLE_TIMES, [hl] ; mon is now attacking multiple times ld hl, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .setNumberOfHits ld hl, wEnemyMoveEffect @@ -967,7 +967,7 @@ FlinchSideEffect: ret nz ld hl, wEnemyBattleStatus1 ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .flinchSideEffect ld hl, wPlayerBattleStatus1 @@ -992,7 +992,7 @@ OneHitKOEffect: ChargeEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld b, XSTATITEM_ANIM jr z, .chargeEffect @@ -1074,7 +1074,7 @@ DugAHoleText: TrappingEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .trappingEffect ld hl, wEnemyBattleStatus1 @@ -1120,7 +1120,7 @@ ConfusionEffect: jr nz, ConfusionEffectFailed ConfusionSideEffectSuccess: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wEnemyBattleStatus1 ld bc, wEnemyConfusedCounter @@ -1164,7 +1164,7 @@ SubstituteEffect: HyperBeamEffect: ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .hyperBeamEffect ld hl, wEnemyBattleStatus2 @@ -1175,7 +1175,7 @@ HyperBeamEffect: ClearHyperBeam: push hl ld hl, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld hl, wPlayerBattleStatus2 @@ -1186,7 +1186,7 @@ ClearHyperBeam: RageEffect: ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .player ld hl, wEnemyBattleStatus2 @@ -1201,7 +1201,7 @@ MimicEffect: ld a, [wMoveMissed] and a jr nz, .mimicMissed - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wBattleMonMoves ld a, [wPlayerBattleStatus1] @@ -1226,7 +1226,7 @@ MimicEffect: and a jr z, .getRandomMove ld d, a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wBattleMonMoves ld a, [wPlayerMoveListIndex] @@ -1284,7 +1284,7 @@ DisableEffect: jr nz, .moveMissed ld de, wEnemyDisabledMove ld hl, wEnemyMonMoves - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .disableEffect ld de, wPlayerDisabledMove @@ -1307,7 +1307,7 @@ DisableEffect: jr z, .pickMoveToDisable ; loop until a non-00 move slot is found ld [wd11e], a ; store move number push hl - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wBattleMonPP jr nz, .enemyTurn @@ -1345,7 +1345,7 @@ DisableEffect: ld [de], a call PlayCurrentMoveAnimation2 ld hl, wPlayerDisabledMoveNumber - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .printDisableText inc hl ; wEnemyDisabledMoveNumber @@ -1430,7 +1430,7 @@ ParalyzedMayNotAttackText: CheckTargetSubstitute: push hl ld hl, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .next1 ld hl, wPlayerBattleStatus2 @@ -1442,7 +1442,7 @@ CheckTargetSubstitute: PlayCurrentMoveAnimation2: ; animation at MOVENUM will be played unless MOVENUM is 0 ; plays wAnimationType 3 or 6 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] jr z, .notEnemyTurn @@ -1454,7 +1454,7 @@ PlayCurrentMoveAnimation2: PlayBattleAnimation2: ; play animation ID at a and animation type 6 or 3 ld [wAnimationID], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, $6 jr z, .storeAnimationType @@ -1468,7 +1468,7 @@ PlayCurrentMoveAnimation: ; resets wAnimationType xor a ld [wAnimationType], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] jr z, .notEnemyTurn diff --git a/engine/battle/experience.asm b/engine/battle/experience.asm index 24748338..c628ae32 100644 --- a/engine/battle/experience.asm +++ b/engine/battle/experience.asm @@ -55,15 +55,15 @@ GainExperience: jr .gainStatExpLoop .statExpDone xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, [wEnemyMonBaseExp] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [wEnemyMonLevel] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, 7 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide ld hl, wPartyMon1OTID - (wPartyMon1DVs - 1) @@ -91,12 +91,12 @@ GainExperience: inc hl ; add the gained exp to the party mon's exp ld b, [hl] - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [wExpAmountGained + 1], a add b ld [hld], a ld b, [hl] - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld [wExpAmountGained], a adc b ld [hl], a @@ -311,14 +311,14 @@ DivideExpDataByNumMonsGainingExp: ld c, wEnemyMonBaseExp + 1 - wEnemyMonBaseStats .divideLoop xor a - ld [H_DIVIDEND], a + ld [hDividend], a ld a, [hl] - ld [H_DIVIDEND + 1], a + ld [hDividend + 1], a ld a, [wd11e] - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $2 call Divide ; divide value by number of mons gaining exp - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [hli], a dec c jr nz, .divideLoop @@ -326,17 +326,17 @@ DivideExpDataByNumMonsGainingExp: ; multiplies exp by 1.5 BoostExp: - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld c, a srl b rr c add c - ld [H_QUOTIENT + 3], a - ld a, [H_QUOTIENT + 2] + ld [hQuotient + 3], a + ld a, [hQuotient + 2] adc b - ld [H_QUOTIENT + 2], a + ld [hQuotient + 2], a ret GainedText: diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 7adb20d8..28f536ca 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -9,12 +9,12 @@ MarowakAnim: call ClearScreenArea call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a ; disable BG transfer so we don't see the Marowak too soon + ld [hAutoBGTransferEnabled], a ; disable BG transfer so we don't see the Marowak too soon ; replace ghost pic with Marowak in BG ld a, MAROWAK ld [wChangeMonPicEnemyTurnSpecies], a ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a callab ChangeMonPic ; alternate between black and light grey 8 times. ; this makes the ghost's body appear to flash @@ -44,7 +44,7 @@ MarowakAnim: and a jr nz, .fadeInMarowakLoop ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a ; enable BG transfer so the BG Marowak pic will be visible after the sprite one is cleared + ld [hAutoBGTransferEnabled], a ; enable BG transfer so the BG Marowak pic will be visible after the sprite one is cleared call Delay3 jp ClearSprites diff --git a/engine/battle/move_effects/conversion.asm b/engine/battle/move_effects/conversion.asm index f23c3d70..8c41f914 100644 --- a/engine/battle/move_effects/conversion.asm +++ b/engine/battle/move_effects/conversion.asm @@ -1,7 +1,7 @@ ConversionEffect_: ld hl, wEnemyMonType1 ld de, wBattleMonType1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wEnemyBattleStatus1] jr z, .conversionEffect diff --git a/engine/battle/move_effects/drain_hp.asm b/engine/battle/move_effects/drain_hp.asm index e5f4681a..60d23a95 100644 --- a/engine/battle/move_effects/drain_hp.asm +++ b/engine/battle/move_effects/drain_hp.asm @@ -14,7 +14,7 @@ DrainHPEffect_: .getAttackerHP ld hl, wBattleMonHP ld de, wBattleMonMaxHP - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp z, .addDamageToAttackerHP ld hl, wEnemyMonHP @@ -69,7 +69,7 @@ DrainHPEffect_: ld [wHPBarNewHP+1], a inc de .next - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 10, 9 ld a, $1 @@ -83,7 +83,7 @@ DrainHPEffect_: predef DrawEnemyHUDAndHPBar callab ReadPlayerMonCurHPAndStatus ld hl, SuckedHealthText - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .next3 diff --git a/engine/battle/move_effects/focus_energy.asm b/engine/battle/move_effects/focus_energy.asm index 16dad7bb..af4a6521 100644 --- a/engine/battle/move_effects/focus_energy.asm +++ b/engine/battle/move_effects/focus_energy.asm @@ -1,6 +1,6 @@ FocusEnergyEffect_: ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .notEnemy ld hl, wEnemyBattleStatus2 diff --git a/engine/battle/move_effects/haze.asm b/engine/battle/move_effects/haze.asm index 47723ba2..bd73d249 100644 --- a/engine/battle/move_effects/haze.asm +++ b/engine/battle/move_effects/haze.asm @@ -15,7 +15,7 @@ HazeEffect_: ; cure non-volatile status, but only for the target ld hl, wEnemyMonStatus ld de, wEnemySelectedMove - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .cureStatuses ld hl, wBattleMonStatus diff --git a/engine/battle/move_effects/heal.asm b/engine/battle/move_effects/heal.asm index 2e68acc0..8042bc63 100644 --- a/engine/battle/move_effects/heal.asm +++ b/engine/battle/move_effects/heal.asm @@ -1,5 +1,5 @@ HealEffect_: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld de, wBattleMonHP ld hl, wBattleMonMaxHP @@ -27,7 +27,7 @@ HealEffect_: ld c, 50 call DelayFrames ld hl, wBattleMonStatus - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .restEffect ld hl, wEnemyMonStatus @@ -87,7 +87,7 @@ HealEffect_: .playAnim ld hl, PlayCurrentMoveAnimation call BankswitchEtoF - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 10, 9 ld a, $1 diff --git a/engine/battle/move_effects/leech_seed.asm b/engine/battle/move_effects/leech_seed.asm index f4d3ee9c..981f5da9 100644 --- a/engine/battle/move_effects/leech_seed.asm +++ b/engine/battle/move_effects/leech_seed.asm @@ -5,7 +5,7 @@ LeechSeedEffect_: jr nz, .moveMissed ld hl, wEnemyBattleStatus2 ld de, wEnemyMonType1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .leechSeedEffect ld hl, wPlayerBattleStatus2 diff --git a/engine/battle/move_effects/mist.asm b/engine/battle/move_effects/mist.asm index 65070a3e..6373770d 100644 --- a/engine/battle/move_effects/mist.asm +++ b/engine/battle/move_effects/mist.asm @@ -1,6 +1,6 @@ MistEffect_: ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .mistEffect ld hl, wEnemyBattleStatus2 diff --git a/engine/battle/move_effects/one_hit_ko.asm b/engine/battle/move_effects/one_hit_ko.asm index 827e2197..347a4c7b 100644 --- a/engine/battle/move_effects/one_hit_ko.asm +++ b/engine/battle/move_effects/one_hit_ko.asm @@ -7,7 +7,7 @@ OneHitKOEffect_: ld [wCriticalHitOrOHKO], a ld hl, wBattleMonSpeed + 1 ld de, wEnemyMonSpeed + 1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .compareSpeed ld hl, wEnemyMonSpeed + 1 diff --git a/engine/battle/move_effects/paralyze.asm b/engine/battle/move_effects/paralyze.asm index 95979ae6..b01aa5cf 100644 --- a/engine/battle/move_effects/paralyze.asm +++ b/engine/battle/move_effects/paralyze.asm @@ -1,7 +1,7 @@ ParalyzeEffect_: ld hl, wEnemyMonStatus ld de, wPlayerMoveType - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp z, .next ld hl, wBattleMonStatus diff --git a/engine/battle/move_effects/pay_day.asm b/engine/battle/move_effects/pay_day.asm index e5daf014..5bdb86da 100644 --- a/engine/battle/move_effects/pay_day.asm +++ b/engine/battle/move_effects/pay_day.asm @@ -2,7 +2,7 @@ PayDayEffect_: xor a ld hl, wcd6d ld [hli], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wBattleMonLevel] jr z, .payDayEffect @@ -10,28 +10,28 @@ PayDayEffect_: .payDayEffect ; level * 2 add a - ld [H_DIVIDEND + 3], a + ld [hDividend + 3], a xor a - ld [H_DIVIDEND], a - ld [H_DIVIDEND + 1], a - ld [H_DIVIDEND + 2], a + ld [hDividend], a + ld [hDividend + 1], a + ld [hDividend + 2], a ; convert to BCD ld a, 100 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [hli], a - ld a, [H_REMAINDER] - ld [H_DIVIDEND + 3], a + ld a, [hRemainder] + ld [hDividend + 3], a ld a, 10 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] swap a ld b, a - ld a, [H_REMAINDER] + ld a, [hRemainder] add b ld [hl], a ld de, wTotalPayDayMoney + 2 diff --git a/engine/battle/move_effects/recoil.asm b/engine/battle/move_effects/recoil.asm index 0f2f087b..e94f8043 100644 --- a/engine/battle/move_effects/recoil.asm +++ b/engine/battle/move_effects/recoil.asm @@ -1,5 +1,5 @@ RecoilEffect_: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] ld hl, wBattleMonMaxHP @@ -54,7 +54,7 @@ RecoilEffect_: ld [hl], a .getHPBarCoords coord hl, 10, 9 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, $1 jr z, .updateHPBar diff --git a/engine/battle/move_effects/reflect_light_screen.asm b/engine/battle/move_effects/reflect_light_screen.asm index 2805a969..7693a348 100644 --- a/engine/battle/move_effects/reflect_light_screen.asm +++ b/engine/battle/move_effects/reflect_light_screen.asm @@ -1,7 +1,7 @@ ReflectLightScreenEffect_: ld hl, wPlayerBattleStatus3 ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .reflectLightScreenEffect ld hl, wEnemyBattleStatus3 diff --git a/engine/battle/move_effects/substitute.asm b/engine/battle/move_effects/substitute.asm index 1bb6c887..a1cd11b2 100644 --- a/engine/battle/move_effects/substitute.asm +++ b/engine/battle/move_effects/substitute.asm @@ -4,7 +4,7 @@ SubstituteEffect_: ld hl, wBattleMonMaxHP ld de, wPlayerSubstituteHP ld bc, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .notEnemy ld hl, wEnemyMonMaxHP diff --git a/engine/battle/move_effects/transform.asm b/engine/battle/move_effects/transform.asm index 9a5de9cc..1b459910 100644 --- a/engine/battle/move_effects/transform.asm +++ b/engine/battle/move_effects/transform.asm @@ -3,7 +3,7 @@ TransformEffect_: ld de, wEnemyMonSpecies ld bc, wEnemyBattleStatus3 ld a, [wEnemyBattleStatus1] - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .hitTest ld hl, wEnemyMonSpecies @@ -18,7 +18,7 @@ TransformEffect_: push de push bc ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .transformEffect ld hl, wEnemyBattleStatus2 @@ -64,7 +64,7 @@ TransformEffect_: inc bc inc bc call CopyData - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .next ; save enemy mon DVs at wTransformedEnemyMonOriginalDVs @@ -128,7 +128,7 @@ TransformEffect_: jp PrintText .copyBasedOnTurn - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .gotStatsOrModsToCopy push hl diff --git a/engine/battle/print_type.asm b/engine/battle/print_type.asm index f717f871..7da0dc8c 100644 --- a/engine/battle/print_type.asm +++ b/engine/battle/print_type.asm @@ -49,4 +49,4 @@ PrintType_: pop hl jp PlaceString -INCLUDE "text/type_names.asm" +INCLUDE "data/types/names.asm" diff --git a/engine/battle/save_trainer_name.asm b/engine/battle/save_trainer_name.asm index 78e53b87..4d40fd82 100644 --- a/engine/battle/save_trainer_name.asm +++ b/engine/battle/save_trainer_name.asm @@ -18,4 +18,4 @@ SaveTrainerName:: jr nz, .CopyCharacter ret -INCLUDE "text/trainer_name_pointers.asm" +INCLUDE "data/trainers/name_pointers.asm" diff --git a/engine/battle/scale_sprites.asm b/engine/battle/scale_sprites.asm index 98521528..11967ba1 100644 --- a/engine/battle/scale_sprites.asm +++ b/engine/battle/scale_sprites.asm @@ -17,7 +17,7 @@ ScaleFirstThreeSpriteColumnsByTwo: .columnInnerLoop push bc ld a, [de] - ld bc, -(7*8)+1 ; $ffc9, scale lower nybble and seek to previous output column + ld bc, -(7*8)+1 ; -$37, scale lower nybble and seek to previous output column call ScalePixelsByTwo ld a, [de] dec de @@ -32,7 +32,7 @@ ScaleFirstThreeSpriteColumnsByTwo: dec de dec de ld a, b - ld bc, -7*8 ; $ffc8, skip one output column (which has already been written along with the current one) + ld bc, -7*8 ; -$38, skip one output column (which has already been written along with the current one) add hl, bc ld b, a dec b @@ -41,16 +41,16 @@ ScaleFirstThreeSpriteColumnsByTwo: ScaleLastSpriteColumnByTwo: ld a, 4*8 - 4 ; $1c, 4 tiles minus 4 unused rows - ld [H_SPRITEINTERLACECOUNTER], a + ld [hSpriteInterlaceCounter], a ld bc, -1 .columnInnerLoop ld a, [de] dec de swap a ; only high nybble contains information call ScalePixelsByTwo - ld a, [H_SPRITEINTERLACECOUNTER] + ld a, [hSpriteInterlaceCounter] dec a - ld [H_SPRITEINTERLACECOUNTER], a + ld [hSpriteInterlaceCounter], a jr nz, .columnInnerLoop dec de ; skip last 4 rows of new column dec de diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 2850b9c2..d61b44f8 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -134,7 +134,7 @@ AIMoveChoiceModification1: push de push bc ld hl, StatusAilmentMoveEffects - ld de, $0001 + ld de, 1 call IsInArray pop bc pop de @@ -273,19 +273,19 @@ ReadMove: pop hl ret -INCLUDE "data/trainer_move_choices.asm" +INCLUDE "data/trainers/move_choices.asm" -INCLUDE "data/trainer_pic_money_pointers.asm" +INCLUDE "data/trainers/pic_pointers_money.asm" -INCLUDE "text/trainer_names.asm" +INCLUDE "data/trainers/names.asm" INCLUDE "engine/battle/misc.asm" INCLUDE "engine/battle/read_trainer_party.asm" -INCLUDE "data/trainer_moves.asm" +INCLUDE "data/trainers/special_moves.asm" -INCLUDE "data/trainer_parties.asm" +INCLUDE "data/trainers/parties.asm" TrainerAI: and a @@ -319,7 +319,7 @@ TrainerAI: call Random jp hl -INCLUDE "data/trainer_ai_pointers.asm" +INCLUDE "data/trainers/ai_pointers.asm" JugglerAI: cp 25 percent + 1 @@ -655,17 +655,17 @@ AIUseDireHit: ; unused AICheckIfHPBelowFraction: ; return carry if enemy trainer's current HP is below 1 / a of the maximum - ld [H_DIVISOR], a + ld [hDivisor], a ld hl, wEnemyMonMaxHP ld a, [hli] - ld [H_DIVIDEND], a + ld [hDividend], a ld a, [hl] - ld [H_DIVIDEND + 1], a + ld [hDividend + 1], a ld b, 2 call Divide - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld c, a - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld b, a ld hl, wEnemyMonHP + 1 ld a, [hld] diff --git a/engine/battle/unused_stats_functions.asm b/engine/battle/unused_stats_functions.asm index 55f78fd3..fb3422c7 100644 --- a/engine/battle/unused_stats_functions.asm +++ b/engine/battle/unused_stats_functions.asm @@ -1,6 +1,6 @@ ; does nothing since no stats are ever selected (barring glitches) DoubleSelectedStats: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerStatsToDouble] ld hl, wBattleMonAttack + 1 @@ -30,7 +30,7 @@ DoubleSelectedStats: ; does nothing since no stats are ever selected (barring glitches) HalveSelectedStats: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerStatsToHalve] ld hl, wBattleMonAttack diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index 93409051..9d6fcb8d 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -101,4 +101,4 @@ TryDoWildEncounter: xor a ret -INCLUDE "data/wild_probabilities.asm" +INCLUDE "data/wild/probabilities.asm" diff --git a/engine/debug/test_battle.asm b/engine/debug/test_battle.asm index d9dcf1fa..92d6e4a9 100644 --- a/engine/debug/test_battle.asm +++ b/engine/debug/test_battle.asm @@ -41,5 +41,5 @@ TestBattle: ; do it all again. ld a, 1 ld [wUpdateSpritesEnabled], a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jr .loop diff --git a/engine/events/cinnabar_lab.asm b/engine/events/cinnabar_lab.asm index e642840d..e1598f98 100755 --- a/engine/events/cinnabar_lab.asm +++ b/engine/events/cinnabar_lab.asm @@ -35,7 +35,7 @@ GiveFossilToCinnabarLab:: ld e, a add hl, de ld a, [hl] - ld [$ffdb], a + ld [hItemToRemoveID], a cp DOME_FOSSIL jr z, .choseDomeFossil cp HELIX_FOSSIL diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index e53ef58f..53d78e57 100755 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -9,7 +9,7 @@ DisplayDiploma:: call DisableLCD ld hl, CircleTile ld de, vChars2 + $700 - ld bc, $0010 + ld bc, $10 ld a, BANK(CircleTile) call FarCopyData2 coord hl, 0, 0 @@ -73,7 +73,7 @@ UnusedPlayerNameLengthFunc: ; Unused function that does a calculation involving the length of the player's ; name. ld hl, wPlayerName - ld bc, $ff00 + lb bc, $ff, $00 .loop ld a, [hli] cp "@" diff --git a/engine/events/hidden_items.asm b/engine/events/hidden_items.asm index e40b0ac7..ad954c9f 100755 --- a/engine/events/hidden_items.asm +++ b/engine/events/hidden_items.asm @@ -18,7 +18,7 @@ HiddenItems: call GetItemName tx_pre_jump FoundHiddenItemText -INCLUDE "data/hidden_item_coords.asm" +INCLUDE "data/events/hidden_item_coords.asm" FoundHiddenItemText:: TX_FAR _FoundHiddenItemText @@ -118,7 +118,7 @@ HiddenCoins: .done jp PrintPredefTextID -INCLUDE "data/hidden_coins.asm" +INCLUDE "data/events/hidden_coins.asm" FoundHiddenCoinsText:: TX_FAR _FoundHiddenCoinsText diff --git a/engine/events/hidden_object_functions17.asm b/engine/events/hidden_object_functions17.asm deleted file mode 100755 index bb2a358c..00000000 --- a/engine/events/hidden_object_functions17.asm +++ /dev/null @@ -1,475 +0,0 @@ -PrintRedSNESText: - call EnableAutoTextBoxDrawing - tx_pre_jump RedBedroomSNESText - -RedBedroomSNESText:: - TX_FAR _RedBedroomSNESText - db "@" - -OpenRedsPC: - call EnableAutoTextBoxDrawing - tx_pre_jump RedBedroomPCText - -RedBedroomPCText:: - TX_PLAYERS_PC - -Route15GateLeftBinoculars: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre Route15UpstairsBinocularsText - ld a, ARTICUNO - ld [wcf91], a - call PlayCry - jp DisplayMonFrontSpriteInBox - -Route15UpstairsBinocularsText:: - TX_FAR _Route15UpstairsBinocularsText - db "@" - -AerodactylFossil: - ld a, FOSSIL_AERODACTYL - ld [wcf91], a - call DisplayMonFrontSpriteInBox - call EnableAutoTextBoxDrawing - tx_pre AerodactylFossilText - ret - -AerodactylFossilText:: - TX_FAR _AerodactylFossilText - db "@" - -KabutopsFossil: - ld a, FOSSIL_KABUTOPS - ld [wcf91], a - call DisplayMonFrontSpriteInBox - call EnableAutoTextBoxDrawing - tx_pre KabutopsFossilText - ret - -KabutopsFossilText:: - TX_FAR _KabutopsFossilText - db "@" - -DisplayMonFrontSpriteInBox: -; Displays a pokemon's front sprite in a pop-up window. -; [wcf91] = pokemon internal id number - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - xor a - ld [hWY], a - call SaveScreenTilesToBuffer1 - ld a, MON_SPRITE_POPUP - ld [wTextBoxID], a - call DisplayTextBoxID - call UpdateSprites - ld a, [wcf91] - ld [wd0b5], a - call GetMonHeader - ld de, vChars1 + $310 - call LoadMonFrontSprite - ld a, $80 - ld [hStartTileID], a - coord hl, 10, 11 - predef AnimateSendingOutMon - call WaitForTextScrollButtonPress - call LoadScreenTilesFromBuffer1 - call Delay3 - ld a, $90 - ld [hWY], a - ret - -PrintBlackboardLinkCableText: - call EnableAutoTextBoxDrawing - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, [wHiddenObjectFunctionArgument] - call PrintPredefTextID - ret - -LinkCableHelp:: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, LinkCableHelpText1 - call PrintText - xor a - ld [wMenuItemOffset], a ; not used - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 3 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.linkHelpLoop - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - ld b, 8 - ld c, 13 - call TextBoxBorder - coord hl, 2, 2 - ld de, HowToLinkText - call PlaceString - ld hl, LinkCableHelpText2 - call PrintText - call HandleMenuInput - bit 1, a ; pressed b - jr nz, .exit - ld a, [wCurrentMenuItem] - cp 3 ; pressed a on "STOP READING" - jr z, .exit - ld hl, wd730 - res 6, [hl] - ld hl, LinkCableInfoTexts - add a - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - jp .linkHelpLoop -.exit - ld hl, wd730 - res 6, [hl] - call LoadScreenTilesFromBuffer1 - jp TextScriptEnd - -LinkCableHelpText1: - TX_FAR _LinkCableHelpText1 - db "@" - -LinkCableHelpText2: - TX_FAR _LinkCableHelpText2 - db "@" - -HowToLinkText: - db "HOW TO LINK" - next "COLOSSEUM" - next "TRADE CENTER" - next "STOP READING@" - -LinkCableInfoTexts: - dw LinkCableInfoText1 - dw LinkCableInfoText2 - dw LinkCableInfoText3 - -LinkCableInfoText1: - TX_FAR _LinkCableInfoText1 - db "@" - -LinkCableInfoText2: - TX_FAR _LinkCableInfoText2 - db "@" - -LinkCableInfoText3: - TX_FAR _LinkCableInfoText3 - db "@" - -ViridianSchoolBlackboard:: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, ViridianSchoolBlackboardText1 - call PrintText - xor a - ld [wMenuItemOffset], a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 2 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.blackboardLoop - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - lb bc, 6, 10 - call TextBoxBorder - coord hl, 1, 2 - ld de, StatusAilmentText1 - call PlaceString - coord hl, 6, 2 - ld de, StatusAilmentText2 - call PlaceString - ld hl, ViridianSchoolBlackboardText2 - call PrintText - call HandleMenuInput ; pressing up and down is handled in here - bit 1, a ; pressed b - jr nz, .exitBlackboard - bit 4, a ; pressed right - jr z, .didNotPressRight - ; move cursor to right column - ld a, 2 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 6 - ld [wTopMenuItemX], a - ld a, 3 ; in the the right column, use an offset to prevent overlap - ld [wMenuItemOffset], a - jr .blackboardLoop -.didNotPressRight - bit 5, a ; pressed left - jr z, .didNotPressLeftOrRight - ; move cursor to left column - ld a, 2 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a - xor a - ld [wMenuItemOffset], a - jr .blackboardLoop -.didNotPressLeftOrRight - ld a, [wCurrentMenuItem] - ld b, a - ld a, [wMenuItemOffset] - add b - cp 5 ; cursor is pointing to "QUIT" - jr z, .exitBlackboard - ; we must have pressed a on a status condition - ; so print the text - ld hl, wd730 - res 6, [hl] - ld hl, ViridianBlackboardStatusPointers - add a - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - jp .blackboardLoop -.exitBlackboard - ld hl, wd730 - res 6, [hl] - call LoadScreenTilesFromBuffer1 - jp TextScriptEnd - -ViridianSchoolBlackboardText1: - TX_FAR _ViridianSchoolBlackboardText1 - db "@" - -ViridianSchoolBlackboardText2: - TX_FAR _ViridianSchoolBlackboardText2 - db "@" - -StatusAilmentText1: - db " SLP" - next " PSN" - next " PAR@" - -StatusAilmentText2: - db " BRN" - next " FRZ" - next " QUIT@@" - -ViridianBlackboardStatusPointers: - dw ViridianBlackboardSleepText - dw ViridianBlackboardPoisonText - dw ViridianBlackboardPrlzText - dw ViridianBlackboardBurnText - dw ViridianBlackboardFrozenText - -ViridianBlackboardSleepText: - TX_FAR _ViridianBlackboardSleepText - db "@" - -ViridianBlackboardPoisonText: - TX_FAR _ViridianBlackboardPoisonText - db "@" - -ViridianBlackboardPrlzText: - TX_FAR _ViridianBlackboardPrlzText - db "@" - -ViridianBlackboardBurnText: - TX_FAR _ViridianBlackboardBurnText - db "@" - -ViridianBlackboardFrozenText: - TX_FAR _ViridianBlackboardFrozenText - db "@" - -PrintTrashText: - call EnableAutoTextBoxDrawing - tx_pre_jump VermilionGymTrashText - -VermilionGymTrashText:: - TX_FAR _VermilionGymTrashText - db "@" - -GymTrashScript: - call EnableAutoTextBoxDrawing - ld a, [wHiddenObjectFunctionArgument] - ld [wGymTrashCanIndex], a - -; Don't do the trash can puzzle if it's already been done. - CheckEvent EVENT_2ND_LOCK_OPENED - jr z, .ok - - tx_pre_jump VermilionGymTrashText - -.ok - CheckEventReuseA EVENT_1ST_LOCK_OPENED - jr nz, .trySecondLock - - ld a, [wFirstLockTrashCanIndex] - ld b, a - ld a, [wGymTrashCanIndex] - cp b - jr z, .openFirstLock - - tx_pre_id VermilionGymTrashText - jr .done - -.openFirstLock -; Next can is trying for the second switch. - SetEvent EVENT_1ST_LOCK_OPENED - - ld hl, GymTrashCans - ld a, [wGymTrashCanIndex] - ; * 5 - ld b, a - add a - add a - add b - - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - -; There is a bug in this code. It should calculate a value in the range [0, 3] -; but if the mask and random number don't have any 1 bits in common, then -; the result of the AND will be 0. When 1 is subtracted from that, the value -; will become $ff. This will result in 255 being added to hl, which will cause -; hl to point to one of the zero bytes that pad the end of the ROM bank. -; Trash can 0 was intended to be able to have the second lock only when the -; first lock was in trash can 1 or 3. However, due to this bug, trash can 0 can -; have the second lock regardless of which trash can had the first lock. - - ld [hGymTrashCanRandNumMask], a - push hl - call Random - swap a - ld b, a - ld a, [hGymTrashCanRandNumMask] - and b - dec a - pop hl - - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - and $f - ld [wSecondLockTrashCanIndex], a - - tx_pre_id VermilionGymTrashSuccessText1 - jr .done - -.trySecondLock - ld a, [wSecondLockTrashCanIndex] - ld b, a - ld a, [wGymTrashCanIndex] - cp b - jr z, .openSecondLock - -; Reset the cans. - ResetEvent EVENT_1ST_LOCK_OPENED - call Random - - and $e - ld [wFirstLockTrashCanIndex], a - - tx_pre_id VermilionGymTrashFailText - jr .done - -.openSecondLock -; Completed the trash can puzzle. - SetEvent EVENT_2ND_LOCK_OPENED - ld hl, wCurrentMapScriptFlags - set 6, [hl] - - tx_pre_id VermilionGymTrashSuccessText3 - -.done - jp PrintPredefTextID - -GymTrashCans: -; byte 0: mask for random number -; bytes 1-4: indices of the trash cans that can have the second lock -; (but see the comment above explaining a bug regarding this) -; Note that the mask is simply the number of valid trash can indices that -; follow. The remaining bytes are filled with 0 to pad the length of each entry -; to 5 bytes. - db 2, 1, 3, 0, 0 ; 0 - db 3, 0, 2, 4, 0 ; 1 - db 2, 1, 5, 0, 0 ; 2 - db 3, 0, 4, 6, 0 ; 3 - db 4, 1, 3, 5, 7 ; 4 - db 3, 2, 4, 8, 0 ; 5 - db 3, 3, 7, 9, 0 ; 6 - db 4, 4, 6, 8, 10 ; 7 - db 3, 5, 7, 11, 0 ; 8 - db 3, 6, 10, 12, 0 ; 9 - db 4, 7, 9, 11, 13 ; 10 - db 3, 8, 10, 14, 0 ; 11 - db 2, 9, 13, 0, 0 ; 12 - db 3, 10, 12, 14, 0 ; 13 - db 2, 11, 13, 0, 0 ; 14 - -VermilionGymTrashSuccessText1:: - TX_FAR _VermilionGymTrashSuccessText1 - TX_ASM - call WaitForSoundToFinish - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -; unused -VermilionGymTrashSuccessText2:: - TX_FAR _VermilionGymTrashSuccessText2 - db "@" - -; unused -VermilionGymTrashSuccesPlaySfx: - TX_ASM - call WaitForSoundToFinish - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -VermilionGymTrashSuccessText3:: - TX_FAR _VermilionGymTrashSuccessText3 - TX_ASM - call WaitForSoundToFinish - ld a, SFX_GO_INSIDE - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -VermilionGymTrashFailText:: - TX_FAR _VermilionGymTrashFailText - TX_ASM - call WaitForSoundToFinish - ld a, SFX_DENIED - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd diff --git a/engine/events/hidden_object_functions3.asm b/engine/events/hidden_object_functions3.asm deleted file mode 100755 index 1237e960..00000000 --- a/engine/events/hidden_object_functions3.asm +++ /dev/null @@ -1,117 +0,0 @@ -; prints text for bookshelves in buildings without sign events -PrintBookshelfText:: - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction - cp SPRITE_FACING_UP - jr nz, .noMatch -; facing up - ld a, [wCurMapTileset] - ld b, a - aCoord 8, 7 - ld c, a - ld hl, BookshelfTileIDs -.loop - ld a, [hli] - cp $ff - jr z, .noMatch - cp b - jr nz, .nextBookshelfEntry1 - ld a, [hli] - cp c - jr nz, .nextBookshelfEntry2 - ld a, [hl] - push af - call EnableAutoTextBoxDrawing - pop af - call PrintPredefTextID - xor a - ld [$ffdb], a - ret -.nextBookshelfEntry1 - inc hl -.nextBookshelfEntry2 - inc hl - jr .loop -.noMatch - ld a, $ff - ld [$ffdb], a - jpba PrintCardKeyText - -INCLUDE "data/bookshelf_tile_ids.asm" - -IndigoPlateauStatues:: - TX_ASM - ld hl, IndigoPlateauStatuesText1 - call PrintText - ld a, [wXCoord] - bit 0, a - ld hl, IndigoPlateauStatuesText2 - jr nz, .ok - ld hl, IndigoPlateauStatuesText3 -.ok - call PrintText - jp TextScriptEnd - -IndigoPlateauStatuesText1: - TX_FAR _IndigoPlateauStatuesText1 - db "@" - -IndigoPlateauStatuesText2: - TX_FAR _IndigoPlateauStatuesText2 - db "@" - -IndigoPlateauStatuesText3: - TX_FAR _IndigoPlateauStatuesText3 - db "@" - -BookOrSculptureText:: - TX_ASM - ld hl, PokemonBooksText - ld a, [wCurMapTileset] - cp MANSION ; Celadon Mansion tileset - jr nz, .ok - aCoord 8, 6 - cp $38 - jr nz, .ok - ld hl, DiglettSculptureText -.ok - call PrintText - jp TextScriptEnd - -PokemonBooksText: - TX_FAR _PokemonBooksText - db "@" - -DiglettSculptureText: - TX_FAR _DiglettSculptureText - db "@" - -ElevatorText:: - TX_FAR _ElevatorText - db "@" - -TownMapText:: - TX_FAR _TownMapText - TX_BLINK - TX_ASM - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, wd730 - set 6, [hl] - call GBPalWhiteOutWithDelay3 - xor a - ld [hWY], a - inc a - ld [H_AUTOBGTRANSFERENABLED], a - call LoadFontTilePatterns - callba DisplayTownMap - ld hl, wd730 - res 6, [hl] - ld de, TextScriptEnd - push de - ld a, [H_LOADEDROMBANK] - push af - jp CloseTextDisplay - -PokemonStuffText:: - TX_FAR _PokemonStuffText - db "@" diff --git a/engine/events/hidden_object_functions7.asm b/engine/events/hidden_object_functions7.asm deleted file mode 100755 index e18b9570..00000000 --- a/engine/events/hidden_object_functions7.asm +++ /dev/null @@ -1,467 +0,0 @@ -PrintNewBikeText: - call EnableAutoTextBoxDrawing - tx_pre_jump NewBicycleText - -NewBicycleText:: - TX_FAR _NewBicycleText - db "@" - -DisplayOakLabLeftPoster: - call EnableAutoTextBoxDrawing - tx_pre_jump PushStartText - -PushStartText:: - TX_FAR _PushStartText - db "@" - -DisplayOakLabRightPoster: - call EnableAutoTextBoxDrawing - ld hl, wPokedexOwned - ld b, wPokedexOwnedEnd - wPokedexOwned - call CountSetBits - ld a, [wNumSetBits] - cp 2 - tx_pre_id SaveOptionText - jr c, .ownLessThanTwo - ; own two or more mon - tx_pre_id StrengthsAndWeaknessesText -.ownLessThanTwo - jp PrintPredefTextID - -SaveOptionText:: - TX_FAR _SaveOptionText - db "@" - -StrengthsAndWeaknessesText:: - TX_FAR _StrengthsAndWeaknessesText - db "@" - -SafariZoneCheck:: - CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone, - jr z, SafariZoneGameStillGoing ; don't bother printing game over text - ld a, [wNumSafariBalls] - and a - jr z, SafariZoneGameOver - jr SafariZoneGameStillGoing - -SafariZoneCheckSteps:: - ld a, [wSafariSteps] - ld b, a - ld a, [wSafariSteps + 1] - ld c, a - or b - jr z, SafariZoneGameOver - dec bc - ld a, b - ld [wSafariSteps], a - ld a, c - ld [wSafariSteps + 1], a -SafariZoneGameStillGoing: - xor a - ld [wSafariZoneGameOver], a - ret - -SafariZoneGameOver: - call EnableAutoTextBoxDrawing - xor a - ld [wAudioFadeOutControl], a - dec a - call PlaySound - ld c, BANK(SFX_Safari_Zone_PA) - ld a, SFX_SAFARI_ZONE_PA - call PlayMusic -.waitForMusicToPlay - ld a, [wChannelSoundIDs + Ch5] - cp SFX_SAFARI_ZONE_PA - jr nz, .waitForMusicToPlay - ld a, TEXT_SAFARI_GAME_OVER - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [wPlayerMovingDirection], a - ld a, SAFARI_ZONE_GATE - ld [hWarpDestinationMap], a - ld a, $3 - ld [wDestinationWarpID], a - ld a, $5 - ld [wSafariZoneGateCurScript], a - SetEvent EVENT_SAFARI_GAME_OVER - ld a, 1 - ld [wSafariZoneGameOver], a - ret - -PrintSafariGameOverText:: - xor a - ld [wJoyIgnore], a - ld hl, SafariGameOverText - jp PrintText - -SafariGameOverText: - TX_ASM - ld a, [wNumSafariBalls] - and a - jr z, .noMoreSafariBalls - ld hl, TimesUpText - call PrintText -.noMoreSafariBalls - ld hl, GameOverText - call PrintText - jp TextScriptEnd - -TimesUpText: - TX_FAR _TimesUpText - db "@" - -GameOverText: - TX_FAR _GameOverText - db "@" - -PrintCinnabarQuiz: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump CinnabarGymQuiz - -CinnabarGymQuiz:: - TX_ASM - xor a - ld [wOpponentAfterWrongAnswer], a - ld a, [wHiddenObjectFunctionArgument] - push af - and $f - ld [hGymGateIndex], a - pop af - and $f0 - swap a - ld [$ffdc], a - ld hl, CinnabarGymQuizIntroText - call PrintText - ld a, [hGymGateIndex] - dec a - add a - ld d, 0 - ld e, a - ld hl, CinnabarQuizQuestions - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - ld a, 1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - call CinnabarGymQuiz_1ea92 - jp TextScriptEnd - -CinnabarGymQuizIntroText: - TX_FAR _CinnabarGymQuizIntroText - db "@" - -CinnabarQuizQuestions: - dw CinnabarQuizQuestionsText1 - dw CinnabarQuizQuestionsText2 - dw CinnabarQuizQuestionsText3 - dw CinnabarQuizQuestionsText4 - dw CinnabarQuizQuestionsText5 - dw CinnabarQuizQuestionsText6 - -CinnabarQuizQuestionsText1: - TX_FAR _CinnabarQuizQuestionsText1 - db "@" - -CinnabarQuizQuestionsText2: - TX_FAR _CinnabarQuizQuestionsText2 - db "@" - -CinnabarQuizQuestionsText3: - TX_FAR _CinnabarQuizQuestionsText3 - db "@" - -CinnabarQuizQuestionsText4: - TX_FAR _CinnabarQuizQuestionsText4 - db "@" - -CinnabarQuizQuestionsText5: - TX_FAR _CinnabarQuizQuestionsText5 - db "@" - -CinnabarQuizQuestionsText6: - TX_FAR _CinnabarQuizQuestionsText6 - db "@" - -CinnabarGymGateFlagAction: - EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED - predef_jump FlagActionPredef - -CinnabarGymQuiz_1ea92: - call YesNoChoice - ld a, [$ffdc] - ld c, a - ld a, [wCurrentMenuItem] - cp c - jr nz, .wrongAnswer - ld hl, wCurrentMapScriptFlags - set 5, [hl] - ld a, [hGymGateIndex] - ld [$ffe0], a - ld hl, CinnabarGymQuizCorrectText - call PrintText - ld a, [$ffe0] - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_SET - call CinnabarGymGateFlagAction - jp UpdateCinnabarGymGateTileBlocks_ -.wrongAnswer - call WaitForSoundToFinish - ld a, SFX_DENIED - call PlaySound - call WaitForSoundToFinish - ld hl, CinnabarGymQuizIncorrectText - call PrintText - ld a, [hGymGateIndex] - add $2 - AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 - ld c, a - ld b, FLAG_TEST - EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 - predef FlagActionPredef - ld a, c - and a - ret nz - ld a, [hGymGateIndex] - add $2 - ld [wOpponentAfterWrongAnswer], a - ret - -CinnabarGymQuizCorrectText: - TX_SFX_ITEM_1 - TX_FAR _CinnabarGymQuizCorrectText - TX_BLINK - TX_ASM - - ld a, [$ffe0] - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_TEST - call CinnabarGymGateFlagAction - ld a, c - and a - jp nz, TextScriptEnd - call WaitForSoundToFinish - ld a, SFX_GO_INSIDE - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -CinnabarGymQuizIncorrectText: - TX_FAR _CinnabarGymQuizIncorrectText - db "@" - -UpdateCinnabarGymGateTileBlocks_:: -; Update the overworld map with open floor blocks or locked gate blocks -; depending on event flags. - ld a, 6 - ld [hGymGateIndex], a -.loop - ld a, [hGymGateIndex] - dec a - add a - add a - ld d, 0 - ld e, a - ld hl, CinnabarGymGateCoords - add hl, de - ld a, [hli] - ld b, [hl] - ld c, a - inc hl - ld a, [hl] - ld [wGymGateTileBlock], a - push bc - ld a, [hGymGateIndex] - ld [$ffe0], a - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_TEST - call CinnabarGymGateFlagAction - ld a, c - and a - jr nz, .unlocked - ld a, [wGymGateTileBlock] - jr .next -.unlocked - ld a, $e -.next - pop bc - ld [wNewTileBlockID], a - predef ReplaceTileBlock - ld hl, hGymGateIndex - dec [hl] - jr nz, .loop - ret - -CinnabarGymGateCoords: - ; format: x-coord, y-coord, direction, padding - ; direction: $54 = horizontal gate, $5f = vertical gate - db $09,$03,$54,$00 - db $06,$03,$54,$00 - db $06,$06,$54,$00 - db $03,$08,$5f,$00 - db $02,$06,$54,$00 - db $02,$03,$54,$00 - -PrintMagazinesText: - call EnableAutoTextBoxDrawing - tx_pre MagazinesText - ret - -MagazinesText:: - TX_FAR _MagazinesText - db "@" - -BillsHousePC: - call EnableAutoTextBoxDrawing - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - CheckEvent EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING - jr nz, .displayBillsHousePokemonList - CheckEventReuseA EVENT_USED_CELL_SEPARATOR_ON_BILL - jr nz, .displayBillsHouseMonitorText - CheckEventReuseA EVENT_BILL_SAID_USE_CELL_SEPARATOR - jr nz, .doCellSeparator -.displayBillsHouseMonitorText - tx_pre_jump BillsHouseMonitorText -.doCellSeparator - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - tx_pre BillsHouseInitiatedText - ld c, 32 - call DelayFrames - ld a, SFX_TINK - call PlaySound - call WaitForSoundToFinish - ld c, 80 - call DelayFrames - ld a, SFX_SHRINK - call PlaySound - call WaitForSoundToFinish - ld c, 48 - call DelayFrames - ld a, SFX_TINK - call PlaySound - call WaitForSoundToFinish - ld c, 32 - call DelayFrames - ld a, SFX_GET_ITEM_1 - call PlaySound - call WaitForSoundToFinish - call PlayDefaultMusic - SetEvent EVENT_USED_CELL_SEPARATOR_ON_BILL - ret -.displayBillsHousePokemonList - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - tx_pre BillsHousePokemonList - ret - -BillsHouseMonitorText:: - TX_FAR _BillsHouseMonitorText - db "@" - -BillsHouseInitiatedText:: - TX_FAR _BillsHouseInitiatedText - TX_BLINK - TX_ASM - ld a, $ff - ld [wNewSoundID], a - call PlaySound - ld c, 16 - call DelayFrames - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - ld c, 60 - call DelayFrames - jp TextScriptEnd - -BillsHousePokemonList:: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, BillsHousePokemonListText1 - call PrintText - xor a - ld [wMenuItemOffset], a ; not used - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 4 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.billsPokemonLoop - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - ld b, 10 - ld c, 9 - call TextBoxBorder - coord hl, 2, 2 - ld de, BillsMonListText - call PlaceString - ld hl, BillsHousePokemonListText2 - call PrintText - call SaveScreenTilesToBuffer2 - call HandleMenuInput - bit 1, a ; pressed b - jr nz, .cancel - ld a, [wCurrentMenuItem] - add EEVEE - cp EEVEE - jr z, .displayPokedex - cp FLAREON - jr z, .displayPokedex - cp JOLTEON - jr z, .displayPokedex - cp VAPOREON - jr z, .displayPokedex - jr .cancel -.displayPokedex - call DisplayPokedex - call LoadScreenTilesFromBuffer2 - jr .billsPokemonLoop -.cancel - ld hl, wd730 - res 6, [hl] - call LoadScreenTilesFromBuffer2 - jp TextScriptEnd - -BillsHousePokemonListText1: - TX_FAR _BillsHousePokemonListText1 - db "@" - -BillsMonListText: - db "EEVEE" - next "FLAREON" - next "JOLTEON" - next "VAPOREON" - next "CANCEL@" - -BillsHousePokemonListText2: - TX_FAR _BillsHousePokemonListText2 - db "@" - -DisplayOakLabEmailText: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump OakLabEmailText - -OakLabEmailText:: - TX_FAR _OakLabEmailText - db "@" diff --git a/engine/events/hidden_object_functions18.asm b/engine/events/hidden_objects/bench_guys.asm old mode 100755 new mode 100644 similarity index 68% rename from engine/events/hidden_object_functions18.asm rename to engine/events/hidden_objects/bench_guys.asm index c0e5aa34..995b5929 --- a/engine/events/hidden_object_functions18.asm +++ b/engine/events/hidden_objects/bench_guys.asm @@ -1,52 +1,3 @@ -GymStatues: -; if in a gym and have the corresponding badge, a = GymStatueText2_id and jp PrintPredefTextID -; if in a gym and don’t have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID -; else ret - call EnableAutoTextBoxDrawing - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - ld hl, .BadgeFlags - ld a, [wCurMap] - ld b, a -.loop - ld a, [hli] - cp $ff - ret z - cp b - jr z, .match - inc hl - jr .loop -.match - ld b, [hl] - ld a, [wBeatGymFlags] - and b - cp b - tx_pre_id GymStatueText2 - jr z, .haveBadge - tx_pre_id GymStatueText1 -.haveBadge - jp PrintPredefTextID - -.BadgeFlags: - db PEWTER_GYM, %00000001 - db CERULEAN_GYM, %00000010 - db VERMILION_GYM,%00000100 - db CELADON_GYM, %00001000 - db FUCHSIA_GYM, %00010000 - db SAFFRON_GYM, %00100000 - db CINNABAR_GYM, %01000000 - db VIRIDIAN_GYM, %10000000 - db $ff - -GymStatueText1:: - TX_FAR _GymStatueText1 - db "@" - -GymStatueText2:: - TX_FAR _GymStatueText2 - db "@" - PrintBenchGuyText: call EnableAutoTextBoxDrawing ld hl, BenchGuyTextPointers @@ -171,28 +122,3 @@ SaffronCityPokecenterBenchGuyText2: CeladonCityHotelText:: TX_FAR _CeladonCityHotelText db "@" - - ret - -UnusedPredefText:: - db "@" - -PrintBookcaseText: - call EnableAutoTextBoxDrawing - tx_pre_jump BookcaseText - -BookcaseText:: - TX_FAR _BookcaseText - db "@" - -OpenPokemonCenterPC: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP ; check to see if player is facing up - ret nz - call EnableAutoTextBoxDrawing - ld a, $1 - ld [wAutoTextBoxDrawingControl], a - tx_pre_jump PokemonCenterPCText - -PokemonCenterPCText:: - TX_POKECENTER_PC diff --git a/engine/events/hidden_objects/bills_house_pc.asm b/engine/events/hidden_objects/bills_house_pc.asm new file mode 100644 index 00000000..836aace0 --- /dev/null +++ b/engine/events/hidden_objects/bills_house_pc.asm @@ -0,0 +1,134 @@ +BillsHousePC: + call EnableAutoTextBoxDrawing + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + CheckEvent EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING + jr nz, .displayBillsHousePokemonList + CheckEventReuseA EVENT_USED_CELL_SEPARATOR_ON_BILL + jr nz, .displayBillsHouseMonitorText + CheckEventReuseA EVENT_BILL_SAID_USE_CELL_SEPARATOR + jr nz, .doCellSeparator +.displayBillsHouseMonitorText + tx_pre_jump BillsHouseMonitorText +.doCellSeparator + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + tx_pre BillsHouseInitiatedText + ld c, 32 + call DelayFrames + ld a, SFX_TINK + call PlaySound + call WaitForSoundToFinish + ld c, 80 + call DelayFrames + ld a, SFX_SHRINK + call PlaySound + call WaitForSoundToFinish + ld c, 48 + call DelayFrames + ld a, SFX_TINK + call PlaySound + call WaitForSoundToFinish + ld c, 32 + call DelayFrames + ld a, SFX_GET_ITEM_1 + call PlaySound + call WaitForSoundToFinish + call PlayDefaultMusic + SetEvent EVENT_USED_CELL_SEPARATOR_ON_BILL + ret +.displayBillsHousePokemonList + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + tx_pre BillsHousePokemonList + ret + +BillsHouseMonitorText:: + TX_FAR _BillsHouseMonitorText + db "@" + +BillsHouseInitiatedText:: + TX_FAR _BillsHouseInitiatedText + TX_BLINK + TX_ASM + ld a, SFX_STOP_ALL_MUSIC + ld [wNewSoundID], a + call PlaySound + ld c, 16 + call DelayFrames + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + ld c, 60 + call DelayFrames + jp TextScriptEnd + +BillsHousePokemonList:: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, BillsHousePokemonListText1 + call PrintText + xor a + ld [wMenuItemOffset], a ; not used + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 4 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.billsPokemonLoop + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + ld b, 10 + ld c, 9 + call TextBoxBorder + coord hl, 2, 2 + ld de, BillsMonListText + call PlaceString + ld hl, BillsHousePokemonListText2 + call PrintText + call SaveScreenTilesToBuffer2 + call HandleMenuInput + bit 1, a ; pressed b + jr nz, .cancel + ld a, [wCurrentMenuItem] + add EEVEE + cp EEVEE + jr z, .displayPokedex + cp FLAREON + jr z, .displayPokedex + cp JOLTEON + jr z, .displayPokedex + cp VAPOREON + jr z, .displayPokedex + jr .cancel +.displayPokedex + call DisplayPokedex + call LoadScreenTilesFromBuffer2 + jr .billsPokemonLoop +.cancel + ld hl, wd730 + res 6, [hl] + call LoadScreenTilesFromBuffer2 + jp TextScriptEnd + +BillsHousePokemonListText1: + TX_FAR _BillsHousePokemonListText1 + db "@" + +BillsMonListText: + db "EEVEE" + next "FLAREON" + next "JOLTEON" + next "VAPOREON" + next "CANCEL@" + +BillsHousePokemonListText2: + TX_FAR _BillsHousePokemonListText2 + db "@" diff --git a/engine/events/hidden_objects/blues_room.asm b/engine/events/hidden_objects/blues_room.asm new file mode 100644 index 00000000..879a7ac8 --- /dev/null +++ b/engine/events/hidden_objects/blues_room.asm @@ -0,0 +1,13 @@ + + ret ; unused + +UnusedPredefText:: + db "@" + +PrintBookcaseText: + call EnableAutoTextBoxDrawing + tx_pre_jump BookcaseText + +BookcaseText:: + TX_FAR _BookcaseText + db "@" diff --git a/engine/events/hidden_objects/book_or_sculpture.asm b/engine/events/hidden_objects/book_or_sculpture.asm new file mode 100644 index 00000000..2d6f278a --- /dev/null +++ b/engine/events/hidden_objects/book_or_sculpture.asm @@ -0,0 +1,21 @@ +BookOrSculptureText:: + TX_ASM + ld hl, PokemonBooksText + ld a, [wCurMapTileset] + cp MANSION ; Celadon Mansion tileset + jr nz, .ok + aCoord 8, 6 + cp $38 + jr nz, .ok + ld hl, DiglettSculptureText +.ok + call PrintText + jp TextScriptEnd + +PokemonBooksText: + TX_FAR _PokemonBooksText + db "@" + +DiglettSculptureText: + TX_FAR _DiglettSculptureText + db "@" diff --git a/engine/events/hidden_objects/bookshelves.asm b/engine/events/hidden_objects/bookshelves.asm new file mode 100644 index 00000000..eaf744ff --- /dev/null +++ b/engine/events/hidden_objects/bookshelves.asm @@ -0,0 +1,39 @@ +; prints text for bookshelves in buildings without sign events +PrintBookshelfText:: + ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + cp SPRITE_FACING_UP + jr nz, .noMatch +; facing up + ld a, [wCurMapTileset] + ld b, a + aCoord 8, 7 + ld c, a + ld hl, BookshelfTileIDs +.loop + ld a, [hli] + cp $ff + jr z, .noMatch + cp b + jr nz, .nextBookshelfEntry1 + ld a, [hli] + cp c + jr nz, .nextBookshelfEntry2 + ld a, [hl] + push af + call EnableAutoTextBoxDrawing + pop af + call PrintPredefTextID + xor a + ld [hFFDB], a + ret +.nextBookshelfEntry1 + inc hl +.nextBookshelfEntry2 + inc hl + jr .loop +.noMatch + ld a, $ff + ld [hFFDB], a + jpba PrintCardKeyText + +INCLUDE "data/tilesets/bookshelf_tile_ids.asm" diff --git a/engine/events/hidden_objects/cinnabar_gym_quiz.asm b/engine/events/hidden_objects/cinnabar_gym_quiz.asm new file mode 100644 index 00000000..6404717e --- /dev/null +++ b/engine/events/hidden_objects/cinnabar_gym_quiz.asm @@ -0,0 +1,194 @@ +PrintCinnabarQuiz: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump CinnabarGymQuiz + +CinnabarGymQuiz:: + TX_ASM + xor a + ld [wOpponentAfterWrongAnswer], a + ld a, [wHiddenObjectFunctionArgument] + push af + and $f + ld [hGymGateIndex], a + pop af + and $f0 + swap a + ld [hGymGateAnswer], a + ld hl, CinnabarGymQuizIntroText + call PrintText + ld a, [hGymGateIndex] + dec a + add a + ld d, 0 + ld e, a + ld hl, CinnabarQuizQuestions + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + ld a, 1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + call CinnabarGymQuiz_1ea92 + jp TextScriptEnd + +CinnabarGymQuizIntroText: + TX_FAR _CinnabarGymQuizIntroText + db "@" + +CinnabarQuizQuestions: + dw CinnabarQuizQuestionsText1 + dw CinnabarQuizQuestionsText2 + dw CinnabarQuizQuestionsText3 + dw CinnabarQuizQuestionsText4 + dw CinnabarQuizQuestionsText5 + dw CinnabarQuizQuestionsText6 + +CinnabarQuizQuestionsText1: + TX_FAR _CinnabarQuizQuestionsText1 + db "@" + +CinnabarQuizQuestionsText2: + TX_FAR _CinnabarQuizQuestionsText2 + db "@" + +CinnabarQuizQuestionsText3: + TX_FAR _CinnabarQuizQuestionsText3 + db "@" + +CinnabarQuizQuestionsText4: + TX_FAR _CinnabarQuizQuestionsText4 + db "@" + +CinnabarQuizQuestionsText5: + TX_FAR _CinnabarQuizQuestionsText5 + db "@" + +CinnabarQuizQuestionsText6: + TX_FAR _CinnabarQuizQuestionsText6 + db "@" + +CinnabarGymGateFlagAction: + EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED + predef_jump FlagActionPredef + +CinnabarGymQuiz_1ea92: + call YesNoChoice + ld a, [hGymGateAnswer] + ld c, a + ld a, [wCurrentMenuItem] + cp c + jr nz, .wrongAnswer + ld hl, wCurrentMapScriptFlags + set 5, [hl] + ld a, [hGymGateIndex] + ld [hBackupGymGateIndex], a + ld hl, CinnabarGymQuizCorrectText + call PrintText + ld a, [hBackupGymGateIndex] + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_SET + call CinnabarGymGateFlagAction + jp UpdateCinnabarGymGateTileBlocks_ +.wrongAnswer + call WaitForSoundToFinish + ld a, SFX_DENIED + call PlaySound + call WaitForSoundToFinish + ld hl, CinnabarGymQuizIncorrectText + call PrintText + ld a, [hGymGateIndex] + add $2 + AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 + ld c, a + ld b, FLAG_TEST + EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + predef FlagActionPredef + ld a, c + and a + ret nz + ld a, [hGymGateIndex] + add $2 + ld [wOpponentAfterWrongAnswer], a + ret + +CinnabarGymQuizCorrectText: + TX_SFX_ITEM_1 + TX_FAR _CinnabarGymQuizCorrectText + TX_BLINK + TX_ASM + + ld a, [hBackupGymGateIndex] + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_TEST + call CinnabarGymGateFlagAction + ld a, c + and a + jp nz, TextScriptEnd + call WaitForSoundToFinish + ld a, SFX_GO_INSIDE + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +CinnabarGymQuizIncorrectText: + TX_FAR _CinnabarGymQuizIncorrectText + db "@" + +UpdateCinnabarGymGateTileBlocks_:: +; Update the overworld map with open floor blocks or locked gate blocks +; depending on event flags. + ld a, 6 + ld [hGymGateIndex], a +.loop + ld a, [hGymGateIndex] + dec a + add a + add a + ld d, 0 + ld e, a + ld hl, CinnabarGymGateCoords + add hl, de + ld a, [hli] + ld b, [hl] + ld c, a + inc hl + ld a, [hl] + ld [wGymGateTileBlock], a + push bc + ld a, [hGymGateIndex] + ld [hBackupGymGateIndex], a + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_TEST + call CinnabarGymGateFlagAction + ld a, c + and a + jr nz, .unlocked + ld a, [wGymGateTileBlock] + jr .next +.unlocked + ld a, $e +.next + pop bc + ld [wNewTileBlockID], a + predef ReplaceTileBlock + ld hl, hGymGateIndex + dec [hl] + jr nz, .loop + ret + +CinnabarGymGateCoords: + ; format: x-coord, y-coord, direction, padding + ; direction: $54 = horizontal gate, $5f = vertical gate + db $09,$03,$54,$00 + db $06,$03,$54,$00 + db $06,$06,$54,$00 + db $03,$08,$5f,$00 + db $02,$06,$54,$00 + db $02,$03,$54,$00 diff --git a/engine/events/hidden_objects/elevator.asm b/engine/events/hidden_objects/elevator.asm new file mode 100644 index 00000000..e72ca44b --- /dev/null +++ b/engine/events/hidden_objects/elevator.asm @@ -0,0 +1,3 @@ +ElevatorText:: + TX_FAR _ElevatorText + db "@" diff --git a/engine/events/hidden_objects/fighting_dojo.asm b/engine/events/hidden_objects/fighting_dojo.asm new file mode 100644 index 00000000..94d4871d --- /dev/null +++ b/engine/events/hidden_objects/fighting_dojo.asm @@ -0,0 +1,23 @@ +PrintFightingDojoText2: + call EnableAutoTextBoxDrawing + tx_pre_jump EnemiesOnEverySideText + +EnemiesOnEverySideText:: + TX_FAR _EnemiesOnEverySideText + db "@" + +PrintFightingDojoText3: + call EnableAutoTextBoxDrawing + tx_pre_jump WhatGoesAroundComesAroundText + +WhatGoesAroundComesAroundText:: + TX_FAR _WhatGoesAroundComesAroundText + db "@" + +PrintFightingDojoText: + call EnableAutoTextBoxDrawing + tx_pre_jump FightingDojoText + +FightingDojoText:: + TX_FAR _FightingDojoText + db "@" diff --git a/engine/events/hidden_objects/gym_statues.asm b/engine/events/hidden_objects/gym_statues.asm new file mode 100644 index 00000000..e9a407b2 --- /dev/null +++ b/engine/events/hidden_objects/gym_statues.asm @@ -0,0 +1,48 @@ +GymStatues: +; if in a gym and have the corresponding badge, a = GymStatueText2_id and jp PrintPredefTextID +; if in a gym and don’t have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID +; else ret + call EnableAutoTextBoxDrawing + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + ld hl, .BadgeFlags + ld a, [wCurMap] + ld b, a +.loop + ld a, [hli] + cp $ff + ret z + cp b + jr z, .match + inc hl + jr .loop +.match + ld b, [hl] + ld a, [wBeatGymFlags] + and b + cp b + tx_pre_id GymStatueText2 + jr z, .haveBadge + tx_pre_id GymStatueText1 +.haveBadge + jp PrintPredefTextID + +.BadgeFlags: + db PEWTER_GYM, %00000001 + db CERULEAN_GYM, %00000010 + db VERMILION_GYM,%00000100 + db CELADON_GYM, %00001000 + db FUCHSIA_GYM, %00010000 + db SAFFRON_GYM, %00100000 + db CINNABAR_GYM, %01000000 + db VIRIDIAN_GYM, %10000000 + db $ff + +GymStatueText1:: + TX_FAR _GymStatueText1 + db "@" + +GymStatueText2:: + TX_FAR _GymStatueText2 + db "@" diff --git a/engine/events/hidden_objects/indigo_plateau_hq.asm b/engine/events/hidden_objects/indigo_plateau_hq.asm new file mode 100644 index 00000000..d0d0b8c2 --- /dev/null +++ b/engine/events/hidden_objects/indigo_plateau_hq.asm @@ -0,0 +1,10 @@ +PrintIndigoPlateauHQText: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump IndigoPlateauHQText + +IndigoPlateauHQText:: + TX_FAR _IndigoPlateauHQText + db "@" diff --git a/engine/events/hidden_objects/indigo_plateau_statues.asm b/engine/events/hidden_objects/indigo_plateau_statues.asm new file mode 100644 index 00000000..62b31e0a --- /dev/null +++ b/engine/events/hidden_objects/indigo_plateau_statues.asm @@ -0,0 +1,24 @@ +IndigoPlateauStatues:: + TX_ASM + ld hl, IndigoPlateauStatuesText1 + call PrintText + ld a, [wXCoord] + bit 0, a + ld hl, IndigoPlateauStatuesText2 + jr nz, .ok + ld hl, IndigoPlateauStatuesText3 +.ok + call PrintText + jp TextScriptEnd + +IndigoPlateauStatuesText1: + TX_FAR _IndigoPlateauStatuesText1 + db "@" + +IndigoPlateauStatuesText2: + TX_FAR _IndigoPlateauStatuesText2 + db "@" + +IndigoPlateauStatuesText3: + TX_FAR _IndigoPlateauStatuesText3 + db "@" diff --git a/engine/events/hidden_objects/magazines.asm b/engine/events/hidden_objects/magazines.asm new file mode 100644 index 00000000..af31b317 --- /dev/null +++ b/engine/events/hidden_objects/magazines.asm @@ -0,0 +1,8 @@ +PrintMagazinesText: + call EnableAutoTextBoxDrawing + tx_pre MagazinesText + ret + +MagazinesText:: + TX_FAR _MagazinesText + db "@" diff --git a/engine/events/hidden_objects/museum_fossils.asm b/engine/events/hidden_objects/museum_fossils.asm new file mode 100644 index 00000000..8636418c --- /dev/null +++ b/engine/events/hidden_objects/museum_fossils.asm @@ -0,0 +1,52 @@ +AerodactylFossil: + ld a, FOSSIL_AERODACTYL + ld [wcf91], a + call DisplayMonFrontSpriteInBox + call EnableAutoTextBoxDrawing + tx_pre AerodactylFossilText + ret + +AerodactylFossilText:: + TX_FAR _AerodactylFossilText + db "@" + +KabutopsFossil: + ld a, FOSSIL_KABUTOPS + ld [wcf91], a + call DisplayMonFrontSpriteInBox + call EnableAutoTextBoxDrawing + tx_pre KabutopsFossilText + ret + +KabutopsFossilText:: + TX_FAR _KabutopsFossilText + db "@" + +DisplayMonFrontSpriteInBox: +; Displays a pokemon's front sprite in a pop-up window. +; [wcf91] = pokemon internal id number + ld a, 1 + ld [hAutoBGTransferEnabled], a + call Delay3 + xor a + ld [hWY], a + call SaveScreenTilesToBuffer1 + ld a, MON_SPRITE_POPUP + ld [wTextBoxID], a + call DisplayTextBoxID + call UpdateSprites + ld a, [wcf91] + ld [wd0b5], a + call GetMonHeader + ld de, vChars1 + $310 + call LoadMonFrontSprite + ld a, $80 + ld [hStartTileID], a + coord hl, 10, 11 + predef AnimateSendingOutMon + call WaitForTextScrollButtonPress + call LoadScreenTilesFromBuffer1 + call Delay3 + ld a, $90 + ld [hWY], a + ret diff --git a/engine/events/hidden_objects/new_bike.asm b/engine/events/hidden_objects/new_bike.asm new file mode 100644 index 00000000..7836262e --- /dev/null +++ b/engine/events/hidden_objects/new_bike.asm @@ -0,0 +1,7 @@ +PrintNewBikeText: + call EnableAutoTextBoxDrawing + tx_pre_jump NewBicycleText + +NewBicycleText:: + TX_FAR _NewBicycleText + db "@" diff --git a/engine/events/hidden_objects/oaks_lab_email.asm b/engine/events/hidden_objects/oaks_lab_email.asm new file mode 100644 index 00000000..c59ff9ac --- /dev/null +++ b/engine/events/hidden_objects/oaks_lab_email.asm @@ -0,0 +1,10 @@ +DisplayOakLabEmailText: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump OakLabEmailText + +OakLabEmailText:: + TX_FAR _OakLabEmailText + db "@" diff --git a/engine/events/hidden_objects/oaks_lab_posters.asm b/engine/events/hidden_objects/oaks_lab_posters.asm new file mode 100644 index 00000000..0fe21cf3 --- /dev/null +++ b/engine/events/hidden_objects/oaks_lab_posters.asm @@ -0,0 +1,29 @@ +DisplayOakLabLeftPoster: + call EnableAutoTextBoxDrawing + tx_pre_jump PushStartText + +PushStartText:: + TX_FAR _PushStartText + db "@" + +DisplayOakLabRightPoster: + call EnableAutoTextBoxDrawing + ld hl, wPokedexOwned + ld b, wPokedexOwnedEnd - wPokedexOwned + call CountSetBits + ld a, [wNumSetBits] + cp 2 + tx_pre_id SaveOptionText + jr c, .ownLessThanTwo + ; own two or more mon + tx_pre_id StrengthsAndWeaknessesText +.ownLessThanTwo + jp PrintPredefTextID + +SaveOptionText:: + TX_FAR _SaveOptionText + db "@" + +StrengthsAndWeaknessesText:: + TX_FAR _StrengthsAndWeaknessesText + db "@" diff --git a/engine/events/hidden_objects/pokecenter_pc.asm b/engine/events/hidden_objects/pokecenter_pc.asm new file mode 100644 index 00000000..c1225d3a --- /dev/null +++ b/engine/events/hidden_objects/pokecenter_pc.asm @@ -0,0 +1,11 @@ +OpenPokemonCenterPC: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP ; check to see if player is facing up + ret nz + call EnableAutoTextBoxDrawing + ld a, $1 + ld [wAutoTextBoxDrawingControl], a + tx_pre_jump PokemonCenterPCText + +PokemonCenterPCText:: + TX_POKECENTER_PC diff --git a/engine/events/hidden_objects/pokemon_stuff.asm b/engine/events/hidden_objects/pokemon_stuff.asm new file mode 100644 index 00000000..b78b2500 --- /dev/null +++ b/engine/events/hidden_objects/pokemon_stuff.asm @@ -0,0 +1,3 @@ +PokemonStuffText:: + TX_FAR _PokemonStuffText + db "@" diff --git a/engine/events/hidden_objects/reds_room.asm b/engine/events/hidden_objects/reds_room.asm new file mode 100644 index 00000000..b124f9c6 --- /dev/null +++ b/engine/events/hidden_objects/reds_room.asm @@ -0,0 +1,14 @@ +PrintRedSNESText: + call EnableAutoTextBoxDrawing + tx_pre_jump RedBedroomSNESText + +RedBedroomSNESText:: + TX_FAR _RedBedroomSNESText + db "@" + +OpenRedsPC: + call EnableAutoTextBoxDrawing + tx_pre_jump RedBedroomPCText + +RedBedroomPCText:: + TX_PLAYERS_PC diff --git a/engine/events/hidden_objects/route_15_binoculars.asm b/engine/events/hidden_objects/route_15_binoculars.asm new file mode 100644 index 00000000..b380bb33 --- /dev/null +++ b/engine/events/hidden_objects/route_15_binoculars.asm @@ -0,0 +1,14 @@ +Route15GateLeftBinoculars: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre Route15UpstairsBinocularsText + ld a, ARTICUNO + ld [wcf91], a + call PlayCry + jp DisplayMonFrontSpriteInBox + +Route15UpstairsBinocularsText:: + TX_FAR _Route15UpstairsBinocularsText + db "@" diff --git a/engine/events/hidden_objects/safari_game.asm b/engine/events/hidden_objects/safari_game.asm new file mode 100644 index 00000000..68fc943f --- /dev/null +++ b/engine/events/hidden_objects/safari_game.asm @@ -0,0 +1,79 @@ +SafariZoneCheck:: + CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone, + jr z, SafariZoneGameStillGoing ; don't bother printing game over text + ld a, [wNumSafariBalls] + and a + jr z, SafariZoneGameOver + jr SafariZoneGameStillGoing + +SafariZoneCheckSteps:: + ld a, [wSafariSteps] + ld b, a + ld a, [wSafariSteps + 1] + ld c, a + or b + jr z, SafariZoneGameOver + dec bc + ld a, b + ld [wSafariSteps], a + ld a, c + ld [wSafariSteps + 1], a +SafariZoneGameStillGoing: + xor a + ld [wSafariZoneGameOver], a + ret + +SafariZoneGameOver: + call EnableAutoTextBoxDrawing + xor a + ld [wAudioFadeOutControl], a + dec a ; SFX_STOP_ALL_MUSIC + call PlaySound + ld c, BANK(SFX_Safari_Zone_PA) + ld a, SFX_SAFARI_ZONE_PA + call PlayMusic +.waitForMusicToPlay + ld a, [wChannelSoundIDs + Ch5] + cp SFX_SAFARI_ZONE_PA + jr nz, .waitForMusicToPlay + ld a, TEXT_SAFARI_GAME_OVER + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wPlayerMovingDirection], a + ld a, SAFARI_ZONE_GATE + ld [hWarpDestinationMap], a + ld a, $3 + ld [wDestinationWarpID], a + ld a, $5 + ld [wSafariZoneGateCurScript], a + SetEvent EVENT_SAFARI_GAME_OVER + ld a, 1 + ld [wSafariZoneGameOver], a + ret + +PrintSafariGameOverText:: + xor a + ld [wJoyIgnore], a + ld hl, SafariGameOverText + jp PrintText + +SafariGameOverText: + TX_ASM + ld a, [wNumSafariBalls] + and a + jr z, .noMoreSafariBalls + ld hl, TimesUpText + call PrintText +.noMoreSafariBalls + ld hl, GameOverText + call PrintText + jp TextScriptEnd + +TimesUpText: + TX_FAR _TimesUpText + db "@" + +GameOverText: + TX_FAR _GameOverText + db "@" diff --git a/engine/events/hidden_objects/school_blackboard.asm b/engine/events/hidden_objects/school_blackboard.asm new file mode 100644 index 00000000..4cd48d23 --- /dev/null +++ b/engine/events/hidden_objects/school_blackboard.asm @@ -0,0 +1,222 @@ +PrintBlackboardLinkCableText: + call EnableAutoTextBoxDrawing + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, [wHiddenObjectFunctionArgument] + call PrintPredefTextID + ret + +LinkCableHelp:: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, LinkCableHelpText1 + call PrintText + xor a + ld [wMenuItemOffset], a ; not used + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 3 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.linkHelpLoop + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + ld b, 8 + ld c, 13 + call TextBoxBorder + coord hl, 2, 2 + ld de, HowToLinkText + call PlaceString + ld hl, LinkCableHelpText2 + call PrintText + call HandleMenuInput + bit 1, a ; pressed b + jr nz, .exit + ld a, [wCurrentMenuItem] + cp 3 ; pressed a on "STOP READING" + jr z, .exit + ld hl, wd730 + res 6, [hl] + ld hl, LinkCableInfoTexts + add a + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + jp .linkHelpLoop +.exit + ld hl, wd730 + res 6, [hl] + call LoadScreenTilesFromBuffer1 + jp TextScriptEnd + +LinkCableHelpText1: + TX_FAR _LinkCableHelpText1 + db "@" + +LinkCableHelpText2: + TX_FAR _LinkCableHelpText2 + db "@" + +HowToLinkText: + db "HOW TO LINK" + next "COLOSSEUM" + next "TRADE CENTER" + next "STOP READING@" + +LinkCableInfoTexts: + dw LinkCableInfoText1 + dw LinkCableInfoText2 + dw LinkCableInfoText3 + +LinkCableInfoText1: + TX_FAR _LinkCableInfoText1 + db "@" + +LinkCableInfoText2: + TX_FAR _LinkCableInfoText2 + db "@" + +LinkCableInfoText3: + TX_FAR _LinkCableInfoText3 + db "@" + +ViridianSchoolBlackboard:: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, ViridianSchoolBlackboardText1 + call PrintText + xor a + ld [wMenuItemOffset], a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 2 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.blackboardLoop + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + lb bc, 6, 10 + call TextBoxBorder + coord hl, 1, 2 + ld de, StatusAilmentText1 + call PlaceString + coord hl, 6, 2 + ld de, StatusAilmentText2 + call PlaceString + ld hl, ViridianSchoolBlackboardText2 + call PrintText + call HandleMenuInput ; pressing up and down is handled in here + bit 1, a ; pressed b + jr nz, .exitBlackboard + bit 4, a ; pressed right + jr z, .didNotPressRight + ; move cursor to right column + ld a, 2 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 6 + ld [wTopMenuItemX], a + ld a, 3 ; in the the right column, use an offset to prevent overlap + ld [wMenuItemOffset], a + jr .blackboardLoop +.didNotPressRight + bit 5, a ; pressed left + jr z, .didNotPressLeftOrRight + ; move cursor to left column + ld a, 2 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a + xor a + ld [wMenuItemOffset], a + jr .blackboardLoop +.didNotPressLeftOrRight + ld a, [wCurrentMenuItem] + ld b, a + ld a, [wMenuItemOffset] + add b + cp 5 ; cursor is pointing to "QUIT" + jr z, .exitBlackboard + ; we must have pressed a on a status condition + ; so print the text + ld hl, wd730 + res 6, [hl] + ld hl, ViridianBlackboardStatusPointers + add a + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + jp .blackboardLoop +.exitBlackboard + ld hl, wd730 + res 6, [hl] + call LoadScreenTilesFromBuffer1 + jp TextScriptEnd + +ViridianSchoolBlackboardText1: + TX_FAR _ViridianSchoolBlackboardText1 + db "@" + +ViridianSchoolBlackboardText2: + TX_FAR _ViridianSchoolBlackboardText2 + db "@" + +StatusAilmentText1: + db " SLP" + next " PSN" + next " PAR@" + +StatusAilmentText2: + db " BRN" + next " FRZ" + next " QUIT@@" + +ViridianBlackboardStatusPointers: + dw ViridianBlackboardSleepText + dw ViridianBlackboardPoisonText + dw ViridianBlackboardPrlzText + dw ViridianBlackboardBurnText + dw ViridianBlackboardFrozenText + +ViridianBlackboardSleepText: + TX_FAR _ViridianBlackboardSleepText + db "@" + +ViridianBlackboardPoisonText: + TX_FAR _ViridianBlackboardPoisonText + db "@" + +ViridianBlackboardPrlzText: + TX_FAR _ViridianBlackboardPrlzText + db "@" + +ViridianBlackboardBurnText: + TX_FAR _ViridianBlackboardBurnText + db "@" + +ViridianBlackboardFrozenText: + TX_FAR _ViridianBlackboardFrozenText + db "@" diff --git a/engine/events/hidden_object_functions14.asm b/engine/events/hidden_objects/school_notebooks.asm old mode 100755 new mode 100644 similarity index 64% rename from engine/events/hidden_object_functions14.asm rename to engine/events/hidden_objects/school_notebooks.asm index 9e14c6a7..f5cc1341 --- a/engine/events/hidden_object_functions14.asm +++ b/engine/events/hidden_objects/school_notebooks.asm @@ -63,38 +63,3 @@ ViridianSchoolNotebookText3: ViridianSchoolNotebookText4: TX_FAR _ViridianSchoolNotebookText4 db "@" - -PrintFightingDojoText2: - call EnableAutoTextBoxDrawing - tx_pre_jump EnemiesOnEverySideText - -EnemiesOnEverySideText:: - TX_FAR _EnemiesOnEverySideText - db "@" - -PrintFightingDojoText3: - call EnableAutoTextBoxDrawing - tx_pre_jump WhatGoesAroundComesAroundText - -WhatGoesAroundComesAroundText:: - TX_FAR _WhatGoesAroundComesAroundText - db "@" - -PrintFightingDojoText: - call EnableAutoTextBoxDrawing - tx_pre_jump FightingDojoText - -FightingDojoText:: - TX_FAR _FightingDojoText - db "@" - -PrintIndigoPlateauHQText: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump IndigoPlateauHQText - -IndigoPlateauHQText:: - TX_FAR _IndigoPlateauHQText - db "@" diff --git a/engine/events/hidden_objects/town_map.asm b/engine/events/hidden_objects/town_map.asm new file mode 100644 index 00000000..31e75d0d --- /dev/null +++ b/engine/events/hidden_objects/town_map.asm @@ -0,0 +1,22 @@ +TownMapText:: + TX_FAR _TownMapText + TX_BLINK + TX_ASM + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, wd730 + set 6, [hl] + call GBPalWhiteOutWithDelay3 + xor a + ld [hWY], a + inc a + ld [hAutoBGTransferEnabled], a + call LoadFontTilePatterns + callba DisplayTownMap + ld hl, wd730 + res 6, [hl] + ld de, TextScriptEnd + push de + ld a, [hLoadedROMBank] + push af + jp CloseTextDisplay diff --git a/engine/events/hidden_objects/vermilion_gym_trash.asm b/engine/events/hidden_objects/vermilion_gym_trash.asm new file mode 100644 index 00000000..c2d22cd5 --- /dev/null +++ b/engine/events/hidden_objects/vermilion_gym_trash.asm @@ -0,0 +1,169 @@ +PrintTrashText: + call EnableAutoTextBoxDrawing + tx_pre_jump VermilionGymTrashText + +VermilionGymTrashText:: + TX_FAR _VermilionGymTrashText + db "@" + +GymTrashScript: + call EnableAutoTextBoxDrawing + ld a, [wHiddenObjectFunctionArgument] + ld [wGymTrashCanIndex], a + +; Don't do the trash can puzzle if it's already been done. + CheckEvent EVENT_2ND_LOCK_OPENED + jr z, .ok + + tx_pre_jump VermilionGymTrashText + +.ok + CheckEventReuseA EVENT_1ST_LOCK_OPENED + jr nz, .trySecondLock + + ld a, [wFirstLockTrashCanIndex] + ld b, a + ld a, [wGymTrashCanIndex] + cp b + jr z, .openFirstLock + + tx_pre_id VermilionGymTrashText + jr .done + +.openFirstLock +; Next can is trying for the second switch. + SetEvent EVENT_1ST_LOCK_OPENED + + ld hl, GymTrashCans + ld a, [wGymTrashCanIndex] + ; * 5 + ld b, a + add a + add a + add b + + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + +; There is a bug in this code. It should calculate a value in the range [0, 3] +; but if the mask and random number don't have any 1 bits in common, then +; the result of the AND will be 0. When 1 is subtracted from that, the value +; will become $ff. This will result in 255 being added to hl, which will cause +; hl to point to one of the zero bytes that pad the end of the ROM bank. +; Trash can 0 was intended to be able to have the second lock only when the +; first lock was in trash can 1 or 3. However, due to this bug, trash can 0 can +; have the second lock regardless of which trash can had the first lock. + + ld [hGymTrashCanRandNumMask], a + push hl + call Random + swap a + ld b, a + ld a, [hGymTrashCanRandNumMask] + and b + dec a + pop hl + + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + and $f + ld [wSecondLockTrashCanIndex], a + + tx_pre_id VermilionGymTrashSuccessText1 + jr .done + +.trySecondLock + ld a, [wSecondLockTrashCanIndex] + ld b, a + ld a, [wGymTrashCanIndex] + cp b + jr z, .openSecondLock + +; Reset the cans. + ResetEvent EVENT_1ST_LOCK_OPENED + call Random + + and $e + ld [wFirstLockTrashCanIndex], a + + tx_pre_id VermilionGymTrashFailText + jr .done + +.openSecondLock +; Completed the trash can puzzle. + SetEvent EVENT_2ND_LOCK_OPENED + ld hl, wCurrentMapScriptFlags + set 6, [hl] + + tx_pre_id VermilionGymTrashSuccessText3 + +.done + jp PrintPredefTextID + +GymTrashCans: +; byte 0: mask for random number +; bytes 1-4: indices of the trash cans that can have the second lock +; (but see the comment above explaining a bug regarding this) +; Note that the mask is simply the number of valid trash can indices that +; follow. The remaining bytes are filled with 0 to pad the length of each entry +; to 5 bytes. + db 2, 1, 3, 0, 0 ; 0 + db 3, 0, 2, 4, 0 ; 1 + db 2, 1, 5, 0, 0 ; 2 + db 3, 0, 4, 6, 0 ; 3 + db 4, 1, 3, 5, 7 ; 4 + db 3, 2, 4, 8, 0 ; 5 + db 3, 3, 7, 9, 0 ; 6 + db 4, 4, 6, 8, 10 ; 7 + db 3, 5, 7, 11, 0 ; 8 + db 3, 6, 10, 12, 0 ; 9 + db 4, 7, 9, 11, 13 ; 10 + db 3, 8, 10, 14, 0 ; 11 + db 2, 9, 13, 0, 0 ; 12 + db 3, 10, 12, 14, 0 ; 13 + db 2, 11, 13, 0, 0 ; 14 + +VermilionGymTrashSuccessText1:: + TX_FAR _VermilionGymTrashSuccessText1 + TX_ASM + call WaitForSoundToFinish + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +; unused +VermilionGymTrashSuccessText2:: + TX_FAR _VermilionGymTrashSuccessText2 + db "@" + +; unused +VermilionGymTrashSuccesPlaySfx: + TX_ASM + call WaitForSoundToFinish + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +VermilionGymTrashSuccessText3:: + TX_FAR _VermilionGymTrashSuccessText3 + TX_ASM + call WaitForSoundToFinish + ld a, SFX_GO_INSIDE + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +VermilionGymTrashFailText:: + TX_FAR _VermilionGymTrashFailText + TX_ASM + call WaitForSoundToFinish + ld a, SFX_DENIED + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd diff --git a/engine/events/in_game_trades.asm b/engine/events/in_game_trades.asm index c01bc3c3..c1466485 100755 --- a/engine/events/in_game_trades.asm +++ b/engine/events/in_game_trades.asm @@ -84,7 +84,7 @@ InGameTrade_GetMonName: ld bc, NAME_LENGTH jp CopyData -INCLUDE "data/trades.asm" +INCLUDE "data/events/trades.asm" InGameTrade_DoTrade: xor a ; NORMAL_PARTY_MENU diff --git a/engine/events/pick_up_item.asm b/engine/events/pick_up_item.asm index 9f19100a..5a658f22 100644 --- a/engine/events/pick_up_item.asm +++ b/engine/events/pick_up_item.asm @@ -15,7 +15,7 @@ PickUpItem: .isMissable ld a, [hl] - ld [$ffdb], a + ld [hMissableObjectIndex], a ld hl, wMapSpriteExtraData ld a, [hSpriteIndexOrTextID] @@ -30,7 +30,7 @@ PickUpItem: call GiveItem jr nc, .BagFull - ld a, [$ffdb] + ld a, [hMissableObjectIndex] ld [wMissableObjectIndex], a predef HideObject ld a, 1 diff --git a/engine/events/prize_menu.asm b/engine/events/prize_menu.asm index 5e08bb8f..5a00a89e 100755 --- a/engine/events/prize_menu.asm +++ b/engine/events/prize_menu.asm @@ -131,10 +131,8 @@ GetPrizeMenuId: coord hl, 13, 5 ; reg. c: ; [low nybble] number of bytes -; [bit 765 = %100] space-padding (not zero-padding) +; [bits 765 = %100] space-padding (not zero-padding) ld c, (1 << 7 | 2) -; Function $15CD displays BCD value (same routine -; used by text-command $02) call PrintBCDNumber ld de, wPrize2Price coord hl, 13, 7 @@ -145,7 +143,7 @@ GetPrizeMenuId: ld c, (1 << 7 | 2) jp PrintBCDNumber -INCLUDE "data/prizes.asm" +INCLUDE "data/events/prizes.asm" PrintPrizePrice: coord hl, 11, 0 @@ -303,4 +301,4 @@ GetPrizeMonLevel: ld [wCurEnemyLVL], a ret -INCLUDE "data/prize_mon_levels.asm" +INCLUDE "data/events/prize_mon_levels.asm" diff --git a/engine/events/saffron_guards.asm b/engine/events/saffron_guards.asm index 091cfa1a..59c2725c 100755 --- a/engine/events/saffron_guards.asm +++ b/engine/events/saffron_guards.asm @@ -2,7 +2,7 @@ RemoveGuardDrink:: ld hl, GuardDrinksList .drinkLoop ld a, [hli] - ld [$ffdb], a + ld [hItemToRemoveID], a and a ret z push hl @@ -12,4 +12,4 @@ RemoveGuardDrink:: jr z, .drinkLoop jpba RemoveItemByID -INCLUDE "data/guard_drink_items.asm" +INCLUDE "data/items/guard_drink_items.asm" diff --git a/engine/events/set_blackout_map.asm b/engine/events/set_blackout_map.asm index 14f0ba28..e8460240 100644 --- a/engine/events/set_blackout_map.asm +++ b/engine/events/set_blackout_map.asm @@ -22,4 +22,4 @@ SetLastBlackoutMap: pop hl ret -INCLUDE "data/rest_house_maps.asm" +INCLUDE "data/maps/rest_house_maps.asm" diff --git a/engine/events/vending_machine.asm b/engine/events/vending_machine.asm index 554c5d4f..4a39f7b9 100755 --- a/engine/events/vending_machine.asm +++ b/engine/events/vending_machine.asm @@ -130,4 +130,4 @@ LoadVendingMachineItem: ld [hVendingMachinePrice + 2], a ret -INCLUDE "data/vending_prices.asm" +INCLUDE "data/items/vending_prices.asm" diff --git a/engine/gfx/hp_bar.asm b/engine/gfx/hp_bar.asm index 221bd7a9..4b91da58 100755 --- a/engine/gfx/hp_bar.asm +++ b/engine/gfx/hp_bar.asm @@ -6,7 +6,7 @@ HPBarLength: GetHPBarLength: push hl xor a - ld hl, H_MULTIPLICAND + ld hl, hMultiplicand ld [hli], a ld a, b ld [hli], a @@ -21,22 +21,22 @@ GetHPBarLength: rr e srl d rr e - ld a, [H_MULTIPLICAND+1] + ld a, [hMultiplicand+1] ld b, a - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] srl b ; divide multiplication result as well rr a srl b rr a - ld [H_MULTIPLICAND+2], a + ld [hMultiplicand+2], a ld a, b - ld [H_MULTIPLICAND+1], a + ld [hMultiplicand+1], a .maxHPSmaller256 ld a, e - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] ld e, a ; e = bc * 48 / de (num of pixels of HP bar) pop hl and a @@ -213,7 +213,7 @@ UpdateHPBar_PrintHPNumber: ld a, [wHPBarOldHP + 1] ld [wHPBarTempHP], a push hl - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 0, a jr z, .asm_fb15 ld de, $9 diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm index d2913715..7a96b36c 100755 --- a/engine/gfx/mon_icons.asm +++ b/engine/gfx/mon_icons.asm @@ -162,7 +162,7 @@ LoadMonPartySpriteGfxWithLCDDisabled: jr nz, .loop jp EnableLCD -INCLUDE "data/mon_party_sprite_pointers.asm" +INCLUDE "data/icon_pointers.asm" WriteMonPartySpriteOAMByPartyIndex: ; Write OAM blocks for the party mon in [hPartyMonIndex]. @@ -278,7 +278,7 @@ GetPartyMonSpriteID: srl a ret -INCLUDE "data/mon_party_sprites.asm" +INCLUDE "data/pokemon/menu_icons.asm" INC_FRAME_1 EQUS "0, $20" INC_FRAME_2 EQUS "$20, $20" diff --git a/engine/gfx/oam_dma.asm b/engine/gfx/oam_dma.asm index b0d64675..aeea4c01 100644 --- a/engine/gfx/oam_dma.asm +++ b/engine/gfx/oam_dma.asm @@ -1,12 +1,12 @@ WriteDMACodeToHRAM:: ; Since no other memory is available during OAM DMA, ; DMARoutine is copied to HRAM and executed there. - ld c, $ff80 % $100 + ld c, hDMARoutine % $100 ld b, DMARoutineEnd - DMARoutine ld hl, DMARoutine .copy ld a, [hli] - ld [$ff00+c], a + ldh [c], a inc c dec b jr nz, .copy diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index 39991d48..58e08e86 100755 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -1,11 +1,11 @@ _RunPaletteCommand: call GetPredefRegisters ld a, b - cp $ff - jr nz, .next - ld a, [wDefaultPaletteCommand] ; use default command if command ID is $ff -.next - cp UPDATE_PARTY_MENU_BLK_PACKET + cp SET_PAL_DEFAULT + jr nz, .not_default + ld a, [wDefaultPaletteCommand] +.not_default + cp SET_PAL_PARTY_MENU_HP_BARS jp z, UpdatePartyMenuBlkPacket ld l, a ld h, 0 @@ -632,10 +632,10 @@ CopySGBBorderTiles: jr nz, .tileLoop ret -INCLUDE "data/sgb_packets.asm" +INCLUDE "data/sgb/sgb_packets.asm" -INCLUDE "data/mon_palettes.asm" +INCLUDE "data/pokemon/palettes.asm" -INCLUDE "data/super_palettes.asm" +INCLUDE "data/sgb/sgb_palettes.asm" -INCLUDE "data/sgb_border.asm" +INCLUDE "data/sgb/sgb_border.asm" diff --git a/engine/gfx/screen_effects.asm b/engine/gfx/screen_effects.asm index 95f0ea25..0d3806c1 100755 --- a/engine/gfx/screen_effects.asm +++ b/engine/gfx/screen_effects.asm @@ -19,7 +19,7 @@ PredefShakeScreenVertically: ld [wDisableVBlankWYUpdate], a xor a .loop - ld [$ff96], a + ld [hMutateWY], a call .MutateWY call .MutateWY dec b @@ -30,9 +30,9 @@ PredefShakeScreenVertically: ret .MutateWY - ld a, [$ff96] + ld a, [hMutateWY] xor b - ld [$ff96], a + ld [hMutateWY], a ld [rWY], a ld c, 3 jp DelayFrames @@ -43,7 +43,7 @@ PredefShakeScreenHorizontally: call GetPredefRegisters xor a .loop - ld [$ff97], a + ld [hMutateWX], a call .MutateWX ld c, 1 call DelayFrames @@ -58,9 +58,9 @@ PredefShakeScreenHorizontally: ret .MutateWX - ld a, [$ff97] + ld a, [hMutateWX] xor b - ld [$ff97], a + ld [hMutateWX], a bit 7, a jr z, .skipZeroing xor a ; zero a if it's negative diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 6e7bed1e..7e2aa227 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -239,14 +239,14 @@ ItemUseBall: ; Calculate MaxHP * 255. xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld hl, wEnemyMonMaxHP ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, 255 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; Determine BallFactor. It's 8 for Great Balls and 12 for the others. @@ -260,7 +260,7 @@ ItemUseBall: ; Note that the results of all division operations are floored. ; Calculate (MaxHP * 255) / BallFactor. - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 ; number of bytes in dividend call Divide @@ -281,17 +281,17 @@ ItemUseBall: .skip2 ; Let W = ((MaxHP * 255) / BallFactor) / max(HP / 4, 1). Calculate W. - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide -; If W > 255, store 255 in [H_QUOTIENT + 3]. -; Let X = min(W, 255) = [H_QUOTIENT + 3]. - ld a, [H_QUOTIENT + 2] +; If W > 255, store 255 in [hQuotient + 3]. +; Let X = min(W, 255) = [hQuotient + 3]. + ld a, [hQuotient + 2] and a jr z, .skip3 ld a, 255 - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a .skip3 pop bc ; b = Rand1 - Status @@ -302,7 +302,7 @@ ItemUseBall: jr c, .failedToCapture ; If W > 255, the ball captures the Pokémon. - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] and a jr nz, .captured @@ -310,7 +310,7 @@ ItemUseBall: ; If Rand2 > X, the ball fails to capture the Pokémon. ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp b jr c, .failedToCapture @@ -318,17 +318,17 @@ ItemUseBall: jr .skipShakeCalculations .failedToCapture - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [wPokeBallCaptureCalcTemp], a ; Save X. ; Calculate CatchRate * 100. xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, [wEnemyMonActualCatchRate] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, 100 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; Determine BallFactor2. @@ -349,26 +349,26 @@ ItemUseBall: .skip4 ; Let Y = (CatchRate * 100) / BallFactor2. Calculate Y. ld a, b - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide ; If Y > 255, there are 3 shakes. ; Note that this shouldn't be possible. ; The maximum value of Y is (255 * 100) / 150 = 170. - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] and a ld b, $63 ; 3 shakes jr nz, .setAnimData ; Calculate X * Y. ld a, [wPokeBallCaptureCalcTemp] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; Calculate (X * Y) / 255. ld a, 255 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide @@ -386,19 +386,19 @@ ItemUseBall: .addAilmentValue ; If the Pokémon has a status ailment, add Status2. - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] add b - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a .skip5 ; Finally determine the number of shakes. -; Let Z = ((X * Y) / 255) + Status2 = [H_QUOTIENT + 3]. +; Let Z = ((X * Y) / 255) + Status2 = [hQuotient + 3]. ; The number of shakes depend on the range Z is in. ; 0 ≤ Z < 10: 0 shakes (the ball misses) ; 10 ≤ Z < 30: 1 shake ; 30 ≤ Z < 70: 2 shakes ; 70 ≤ Z: 3 shakes - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp 10 ld b, $20 jr c, .setAnimData @@ -422,7 +422,7 @@ ItemUseBall: ld a, TOSS_ANIM ld [wAnimationID], a xor a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld [wAnimationType], a ld [wDamageMultipliers], a ld a, [wWhichPokemon] @@ -1018,18 +1018,18 @@ ItemUseMedicine: call AddNTimes ld a, [hli] ld [wHPBarMaxHP + 1], a - ld [H_DIVIDEND], a + ld [hDividend], a ld a, [hl] ld [wHPBarMaxHP], a - ld [H_DIVIDEND + 1], a + ld [hDividend + 1], a ld a, 5 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 2 ; number of bytes call Divide ; get 1/5 of max HP of pokemon that used Softboiled ld bc, (wPartyMon1HP + 1) - (wPartyMon1MaxHP + 1) add hl, bc ; hl now points to LSB of current HP of pokemon that used Softboiled ; subtract 1/5 of max HP from current HP of pokemon that used Softboiled - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] push af ld b, a ld a, [hl] @@ -1037,7 +1037,7 @@ ItemUseMedicine: sub b ld [hld], a ld [wHPBarNewHP], a - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld b, a ld a, [hl] ld [wHPBarOldHP+1], a @@ -1050,15 +1050,15 @@ ItemUseMedicine: call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled ld a, SFX_HEAL_HP call PlaySoundWaitForCurrent - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ld a, $02 ld [wHPBarType], a predef UpdateHPBar2 ; animate HP bar decrease of pokemon that used Softboiled - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a pop af ld b, a ; store heal amount (1/5 of max HP) ld hl, wHPBarOldHP + 1 @@ -1200,15 +1200,15 @@ ItemUseMedicine: jr z, .playStatusAilmentCuringSound ld a, SFX_HEAL_HP call PlaySoundWaitForCurrent - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ld a, $02 ld [wHPBarType], a predef UpdateHPBar2 ; animate the HP bar lengthening - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ld a, REVIVE_MSG ld [wPartyMenuTypeOrMessageID], a ld a, [wcf91] @@ -1224,13 +1224,13 @@ ItemUseMedicine: call PlaySoundWaitForCurrent .showHealingItemMessage xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen dec a ld [wUpdateSpritesEnabled], a call RedrawPartyMenu ; redraws the party menu and displays the message ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld c, 50 call DelayFrames call WaitForTextScrollButtonPress @@ -1341,7 +1341,7 @@ ItemUseMedicine: push hl push de ld d, a - callab CalcExperience ; calculate experience for next level and store it at $ff96 + callab CalcExperience ; calculate experience for next level and store it at hExperience pop de pop hl ld bc, wPartyMon1Exp - wPartyMon1Level @@ -1459,7 +1459,7 @@ BaitRockCommon: ld [wAnimationID], a xor a ld [wAnimationType], a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld [de], a ; zero escape factor (for bait), zero bait factor (for rock) .randomLoop ; loop until a random number less than 5 is generated call Random @@ -1698,7 +1698,7 @@ ItemUseXStat: call LoadScreenTilesFromBuffer1 ; restore saved screen call Delay3 xor a - ld [H_WHOSETURN], a ; set turn to player's turn + ld [hWhoseTurn], a ; set turn to player's turn callba StatModifierUpEffect ; do stat increase move pop hl pop af @@ -1844,8 +1844,8 @@ PlayedFluteHadEffectText: and a jr nz, .done ; play out-of-battle pokeflute music - ld a, $ff - call PlaySound ; turn off music + ld a, SFX_STOP_ALL_MUSIC + call PlaySound ld a, SFX_POKEFLUTE ld c, BANK(SFX_Pokeflute) call PlayMusic @@ -1901,7 +1901,7 @@ ItemUseGoodRod: xor 1 jr RodResponse -INCLUDE "data/good_rod.asm" +INCLUDE "data/wild/good_rod.asm" ItemUseSuperRod: call FishingInit @@ -2463,13 +2463,13 @@ RestoreBonusPP: AddBonusPP: push bc ld a, [de] ; normal max PP of move - ld [H_DIVIDEND + 3], a + ld [hDividend + 3], a xor a - ld [H_DIVIDEND], a - ld [H_DIVIDEND + 1], a - ld [H_DIVIDEND + 2], a + ld [hDividend], a + ld [hDividend + 1], a + ld [hDividend + 2], a ld a, 5 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide ld a, [hl] ; move PP @@ -2480,7 +2480,7 @@ AddBonusPP: srl a ld c, a ; c = number of PP Ups used .loop - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp 8 ; is the amount greater than or equal to 8? jr c, .addAmount ld a, 7 ; cap the amount at 7 @@ -2686,7 +2686,7 @@ IsKeyItem_:: ld [wIsKeyItem], a ret -INCLUDE "data/key_items.asm" +INCLUDE "data/items/key_items.asm" SendNewMonToBox: ld de, wNumInBox @@ -2881,7 +2881,7 @@ IsNextTileShoreOrWater: and a ret -INCLUDE "data/water_tilesets.asm" +INCLUDE "data/tilesets/water_tilesets.asm" ReadSuperRodData: ; return e = 2 if no fish on this map @@ -2928,7 +2928,7 @@ ReadSuperRodData: ld e, $1 ; $1 if there's a bite ret -INCLUDE "data/super_rod.asm" +INCLUDE "data/wild/super_rod.asm" ; reloads map view and processes sprite data ; for items that cause the overworld to be displayed diff --git a/engine/items/tm_prices.asm b/engine/items/tm_prices.asm index c359dc1d..85531bab 100755 --- a/engine/items/tm_prices.asm +++ b/engine/items/tm_prices.asm @@ -22,4 +22,4 @@ GetMachinePrice:: ld [hItemPrice + 2], a ret -INCLUDE "data/tm_prices.asm" +INCLUDE "data/items/tm_prices.asm" diff --git a/engine/items/tms.asm b/engine/items/tms.asm index da1b5e72..ea7fbcad 100755 --- a/engine/items/tms.asm +++ b/engine/items/tms.asm @@ -33,4 +33,4 @@ TMToMove: ld [wd11e], a ret -INCLUDE "data/tms.asm" +INCLUDE "data/moves/tmhm_moves.asm" diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm index 84a92994..285dbfa5 100755 --- a/engine/items/town_map.asm +++ b/engine/items/town_map.asm @@ -103,7 +103,7 @@ DisplayTownMap: ld [wWhichTownMapLocation], a jp .townMapLoop -INCLUDE "data/town_map_order.asm" +INCLUDE "data/maps/town_map_order.asm" TownMapCursor: INCBIN "gfx/town_map/town_map_cursor.1bpp" @@ -581,9 +581,9 @@ LoadTownMapEntry: ld l, a ret -INCLUDE "data/town_map_entries.asm" +INCLUDE "data/maps/town_map_entries.asm" -INCLUDE "text/map_names.asm" +INCLUDE "data/maps/names.asm" MonNestIcon: INCBIN "gfx/town_map/mon_nest_icon.1bpp" diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 141ed396..58008a94 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -139,7 +139,7 @@ CableClub_DoBattleOrTradeAgain: call Serial_ExchangeBytes ld a, (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) ld [rIE], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK @@ -261,7 +261,7 @@ CableClub_DoBattleOrTradeAgain: ld [wUnusedCF8D + 1], a xor a ld [wTradeCenterPointerTableIndex], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK @@ -338,10 +338,10 @@ TradeCenter_SelectMon: ld a, 1 ld [wTopMenuItemX], a .enemyMonMenu_HandleInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] and a jp z, .getNewInput @@ -403,10 +403,10 @@ TradeCenter_SelectMon: lb bc, 6, 1 call ClearScreenArea .playerMonMenu_HandleInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] and a ; was anything pressed? jr nz, .playerMonMenu_SomethingPressed @@ -663,7 +663,7 @@ TradeCenter_PrintPartyListNames: push de push hl ld a, c - ld [$ff95], a + ld [hPastLeadingZeros], a call GetMonName pop hl call PlaceString @@ -903,7 +903,7 @@ CableClub_Run: ld [wTilesetGfxPtr + 1], a ld a, l ld [wTilesetGfxPtr], a - ld a, Bank(Club_GFX) + ld a, BANK(Club_GFX) ld [wTilesetBank], a ld hl, Club_Coll ld a, h diff --git a/engine/math/multiply_divide.asm b/engine/math/multiply_divide.asm index 6cdc6c87..8bbc20a1 100755 --- a/engine/math/multiply_divide.asm +++ b/engine/math/multiply_divide.asm @@ -2,142 +2,142 @@ _Multiply:: ld a, $8 ld b, a xor a - ld [H_PRODUCT], a - ld [H_MULTIPLYBUFFER], a - ld [H_MULTIPLYBUFFER+1], a - ld [H_MULTIPLYBUFFER+2], a - ld [H_MULTIPLYBUFFER+3], a + ld [hProduct], a + ld [hMultiplyBuffer], a + ld [hMultiplyBuffer+1], a + ld [hMultiplyBuffer+2], a + ld [hMultiplyBuffer+3], a .loop - ld a, [H_MULTIPLIER] + ld a, [hMultiplier] srl a - ld [H_MULTIPLIER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld [hMultiplier], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) jr nc, .smallMultiplier - ld a, [H_MULTIPLYBUFFER+3] + ld a, [hMultiplyBuffer+3] ld c, a - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] add c - ld [H_MULTIPLYBUFFER+3], a - ld a, [H_MULTIPLYBUFFER+2] + ld [hMultiplyBuffer+3], a + ld a, [hMultiplyBuffer+2] ld c, a - ld a, [H_MULTIPLICAND+1] + ld a, [hMultiplicand+1] adc c - ld [H_MULTIPLYBUFFER+2], a - ld a, [H_MULTIPLYBUFFER+1] + ld [hMultiplyBuffer+2], a + ld a, [hMultiplyBuffer+1] ld c, a - ld a, [H_MULTIPLICAND] ; (aliases: H_MULTIPLICAND) + ld a, [hMultiplicand] ; (aliases: hMultiplicand) adc c - ld [H_MULTIPLYBUFFER+1], a - ld a, [H_MULTIPLYBUFFER] + ld [hMultiplyBuffer+1], a + ld a, [hMultiplyBuffer] ld c, a - ld a, [H_PRODUCT] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld a, [hProduct] ; (aliases: hProduct, hPastLeadingZeros, hQuotient) adc c - ld [H_MULTIPLYBUFFER], a + ld [hMultiplyBuffer], a .smallMultiplier dec b jr z, .done - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] sla a - ld [H_MULTIPLICAND+2], a - ld a, [H_MULTIPLICAND+1] + ld [hMultiplicand+2], a + ld a, [hMultiplicand+1] rl a - ld [H_MULTIPLICAND+1], a - ld a, [H_MULTIPLICAND] + ld [hMultiplicand+1], a + ld a, [hMultiplicand] rl a - ld [H_MULTIPLICAND], a - ld a, [H_PRODUCT] + ld [hMultiplicand], a + ld a, [hProduct] rl a - ld [H_PRODUCT], a + ld [hProduct], a jr .loop .done - ld a, [H_MULTIPLYBUFFER+3] - ld [H_PRODUCT+3], a - ld a, [H_MULTIPLYBUFFER+2] - ld [H_PRODUCT+2], a - ld a, [H_MULTIPLYBUFFER+1] - ld [H_PRODUCT+1], a - ld a, [H_MULTIPLYBUFFER] - ld [H_PRODUCT], a + ld a, [hMultiplyBuffer+3] + ld [hProduct+3], a + ld a, [hMultiplyBuffer+2] + ld [hProduct+2], a + ld a, [hMultiplyBuffer+1] + ld [hProduct+1], a + ld a, [hMultiplyBuffer] + ld [hProduct], a ret _Divide:: xor a - ld [H_DIVIDEBUFFER], a - ld [H_DIVIDEBUFFER+1], a - ld [H_DIVIDEBUFFER+2], a - ld [H_DIVIDEBUFFER+3], a - ld [H_DIVIDEBUFFER+4], a + ld [hDivideBuffer], a + ld [hDivideBuffer+1], a + ld [hDivideBuffer+2], a + ld [hDivideBuffer+3], a + ld [hDivideBuffer+4], a ld a, $9 ld e, a .asm_37db3 - ld a, [H_DIVIDEBUFFER] + ld a, [hDivideBuffer] ld c, a - ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) + ld a, [hDividend+1] ; (aliases: hMultiplicand) sub c ld d, a - ld a, [H_DIVISOR] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld a, [hDivisor] ; (aliases: hDivisor, hMultiplier, hPowerOf10) ld c, a - ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld a, [hDividend] ; (aliases: hProduct, hPastLeadingZeros, hQuotient) sbc c jr c, .asm_37dce - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) ld a, d - ld [H_DIVIDEND+1], a ; (aliases: H_MULTIPLICAND) - ld a, [H_DIVIDEBUFFER+4] + ld [hDividend+1], a ; (aliases: hMultiplicand) + ld a, [hDivideBuffer+4] inc a - ld [H_DIVIDEBUFFER+4], a + ld [hDivideBuffer+4], a jr .asm_37db3 .asm_37dce ld a, b cp $1 jr z, .asm_37e18 - ld a, [H_DIVIDEBUFFER+4] + ld a, [hDivideBuffer+4] sla a - ld [H_DIVIDEBUFFER+4], a - ld a, [H_DIVIDEBUFFER+3] + ld [hDivideBuffer+4], a + ld a, [hDivideBuffer+3] rl a - ld [H_DIVIDEBUFFER+3], a - ld a, [H_DIVIDEBUFFER+2] + ld [hDivideBuffer+3], a + ld a, [hDivideBuffer+2] rl a - ld [H_DIVIDEBUFFER+2], a - ld a, [H_DIVIDEBUFFER+1] + ld [hDivideBuffer+2], a + ld a, [hDivideBuffer+1] rl a - ld [H_DIVIDEBUFFER+1], a + ld [hDivideBuffer+1], a dec e jr nz, .asm_37e04 ld a, $8 ld e, a - ld a, [H_DIVIDEBUFFER] - ld [H_DIVISOR], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld a, [hDivideBuffer] + ld [hDivisor], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) xor a - ld [H_DIVIDEBUFFER], a - ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) - ld a, [H_DIVIDEND+2] - ld [H_DIVIDEND+1], a ; (aliases: H_MULTIPLICAND) - ld a, [H_DIVIDEND+3] - ld [H_DIVIDEND+2], a + ld [hDivideBuffer], a + ld a, [hDividend+1] ; (aliases: hMultiplicand) + ld [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) + ld a, [hDividend+2] + ld [hDividend+1], a ; (aliases: hMultiplicand) + ld a, [hDividend+3] + ld [hDividend+2], a .asm_37e04 ld a, e cp $1 jr nz, .asm_37e0a dec b .asm_37e0a - ld a, [H_DIVISOR] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld a, [hDivisor] ; (aliases: hDivisor, hMultiplier, hPowerOf10) srl a - ld [H_DIVISOR], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) - ld a, [H_DIVIDEBUFFER] + ld [hDivisor], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) + ld a, [hDivideBuffer] rr a - ld [H_DIVIDEBUFFER], a + ld [hDivideBuffer], a jr .asm_37db3 .asm_37e18 - ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) - ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) - ld a, [H_DIVIDEBUFFER+4] - ld [H_QUOTIENT+3], a - ld a, [H_DIVIDEBUFFER+3] - ld [H_QUOTIENT+2], a - ld a, [H_DIVIDEBUFFER+2] - ld [H_QUOTIENT+1], a ; (aliases: H_MULTIPLICAND) - ld a, [H_DIVIDEBUFFER+1] - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld a, [hDividend+1] ; (aliases: hMultiplicand) + ld [hRemainder], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) + ld a, [hDivideBuffer+4] + ld [hQuotient+3], a + ld a, [hDivideBuffer+3] + ld [hQuotient+2], a + ld a, [hDivideBuffer+2] + ld [hQuotient+1], a ; (aliases: hMultiplicand) + ld a, [hDivideBuffer+1] + ld [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) ret diff --git a/engine/menus/display_text_id_init.asm b/engine/menus/display_text_id_init.asm index 5043ad22..45c76f9c 100644 --- a/engine/menus/display_text_id_init.asm +++ b/engine/menus/display_text_id_init.asm @@ -43,7 +43,7 @@ DisplayTextIDInit:: ; the original direction they were facing must be restored after the dialogue is over ld hl, wSpriteStateData1 + $19 ld c, $0f - ld de, $0010 + ld de, $10 .spriteFacingDirectionCopyLoop ld a, [hl] inc h @@ -55,7 +55,7 @@ DisplayTextIDInit:: ; loop to force all the sprites in the middle of animation to stand still ; (so that they don't like they're frozen mid-step during the dialogue) ld hl, wSpriteStateData1 + 2 - ld de, $0010 + ld de, $10 ld c, e .spriteStandStillLoop ld a, [hl] @@ -74,5 +74,5 @@ DisplayTextIDInit:: ld [hWY], a ; put the window on the screen call LoadFontTilePatterns ld a, $01 - ld [H_AUTOBGTRANSFERENABLED], a ; enable continuous WRAM to VRAM transfer each V-blank + ld [hAutoBGTransferEnabled], a ; enable continuous WRAM to VRAM transfer each V-blank ret diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 8eda6744..fe82ec4a 100755 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -342,7 +342,7 @@ CableClubOptionsText: DisplayContinueGameInfo: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 4, 7 ld b, 8 ld c, 14 @@ -360,13 +360,13 @@ DisplayContinueGameInfo: coord hl, 13, 15 call PrintPlayTime ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld c, 30 jp DelayFrames PrintSaveScreenText: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 4, 0 ld b, $8 ld c, $e @@ -386,7 +386,7 @@ PrintSaveScreenText: coord hl, 13, 8 call PrintPlayTime ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld c, 30 jp DelayFrames @@ -463,7 +463,7 @@ DisplayOptionMenu: ld a, [wOptionsTextSpeedCursorX] ; text speed cursor X coordinate ld [wTopMenuItemX], a ld a, $01 - ld [H_AUTOBGTRANSFERENABLED], a ; enable auto background transfer + ld [hAutoBGTransferEnabled], a ; enable auto background transfer call Delay3 .loop call PlaceMenuCursor diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index 2b86d6f4..efeab4c3 100755 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -337,7 +337,7 @@ ED_TileEnd: PrintAlphabet: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wAlphabetCase] and a ld de, LowerCaseAlphabet @@ -362,10 +362,10 @@ PrintAlphabet: jr nz, .outerLoop call PlaceString ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp Delay3 -INCLUDE "text/alphabets.asm" +INCLUDE "data/text/alphabets.asm" PrintNicknameAndUnderscores: call CalcStringLength @@ -435,7 +435,7 @@ DakutensAndHandakutens: ld [wNamingScreenLetter], a ret -INCLUDE "text/dakutens.asm" +INCLUDE "data/text/dakutens.asm" ; calculates the length of the string at wcf4b and stores it in c CalcStringLength: diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm index 41b6074b..9ae5706e 100755 --- a/engine/menus/party_menu.asm +++ b/engine/menus/party_menu.asm @@ -19,7 +19,7 @@ ; f8: leveled up DrawPartyMenu_:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen call UpdateSprites callba LoadMonPartySpriteGfxWithLCDDisabled ; load pokemon icon graphics @@ -88,14 +88,14 @@ RedrawPartyMenu_:: pop hl push hl ld bc, SCREEN_WIDTH + 1 ; down 1 row and right 1 column - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a add hl, bc predef DrawHP2 ; draw HP bar and prints current / max HP - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a call SetPartyMenuHPBarColor ; color the HP bar (on SGB) pop hl jr .printLevel @@ -213,7 +213,7 @@ RedrawPartyMenu_:: pop af ld [hl], a ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 jp GBPalNormal .printItemUseMessage @@ -318,7 +318,7 @@ SetPartyMenuHPBarColor: ld b, 0 add hl, bc call GetHealthBarColor - ld b, UPDATE_PARTY_MENU_BLK_PACKET + ld b, SET_PAL_PARTY_MENU_HP_BARS call RunPaletteCommand ld hl, wWhichPartyMenuHPBar inc [hl] diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 8e1fd480..baf656b6 100755 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -156,7 +156,7 @@ HandlePokedexSideMenu: ; sets carry flag if player presses A, unsets carry flag if player presses B HandlePokedexListMenu: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ; draw the horizontal line separating the seen and owned amounts from the menu coord hl, 15, 8 ld a, "─" @@ -216,7 +216,7 @@ HandlePokedexListMenu: ld [wDexMaxSeenMon], a .loop xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 4, 2 lb bc, 14, 10 call ClearScreenArea @@ -280,7 +280,7 @@ HandlePokedexListMenu: dec d jr nz, .printPokemonLoop ld a, 01 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 call GBPalNormal call HandleMenuInput @@ -566,11 +566,11 @@ ShowPokedexDataInternal: pop hl inc hl ; hl = address of pokedex description text coord bc, 1, 11 - ld a, 2 - ld [$fff4], a + ld a, %10 + ld [hClearLetterPrintingDelayFlags], a call TextCommandProcessor ; print pokedex description text xor a - ld [$fff4], a + ld [hClearLetterPrintingDelayFlags], a .waitForButtonPress call JoypadLowSensitivity ld a, [hJoy5] @@ -623,7 +623,7 @@ DrawTileLine: pop bc ret -INCLUDE "data/pokedex_entries.asm" +INCLUDE "data/pokemon/dex_entries.asm" PokedexToIndex: ; converts the Pokédex number at wd11e to an index @@ -662,4 +662,4 @@ IndexToPokedex: pop bc ret -INCLUDE "data/pokedex_order.asm" +INCLUDE "data/pokemon/dex_order.asm" diff --git a/engine/menus/save.asm b/engine/menus/save.asm index 33a7ba8d..ee73c850 100755 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -351,10 +351,10 @@ ChangeBox:: call z, EmptyAllSRAMBoxes ; if so, empty all boxes in SRAM call DisplayChangeBoxMenu call UpdateSprites - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] bit 1, a ; pressed b ret nz @@ -420,7 +420,7 @@ CopyBoxToOrFromSRAM: DisplayChangeBoxMenu: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a ld a, 11 @@ -445,12 +445,12 @@ DisplayChangeBoxMenu: ld b, 12 ld c, 7 call TextBoxBorder - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 2, [hl] ld de, BoxNames coord hl, 13, 1 call PlaceString - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 2, [hl] ld a, [wCurrentBoxNum] and $7f @@ -486,7 +486,7 @@ DisplayChangeBoxMenu: dec a jr nz, .loop ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret ChooseABoxText: @@ -601,9 +601,9 @@ GetMonCountsForBoxesInBank: ret SAVCheckRandomID: -;checks if Sav file is the same by checking player's name 1st letter ($a598) +; checks if Sav file is the same by checking player's name 1st letter ; and the two random numbers generated at game beginning -;(which are stored at wPlayerID)s +; (which are stored at wPlayerID)s ld a, $0a ld [MBC1SRamEnable], a ld a, $01 @@ -702,7 +702,7 @@ ClearSAV: PadSRAM_FF: ld [MBC1SRamBank], a - ld hl, $a000 - ld bc, $2000 + ld hl, SRAM_Begin + ld bc, SRAM_End - SRAM_Begin ld a, $ff jp FillMemory diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index b81769a2..526540df 100755 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -239,21 +239,21 @@ StartMenu_Pokemon:: ld bc, wPartyMon2 - wPartyMon1 call AddNTimes ld a, [hli] - ld [H_DIVIDEND], a + ld [hDividend], a ld a, [hl] - ld [H_DIVIDEND + 1], a + ld [hDividend + 1], a ld a, 5 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 2 ; number of bytes call Divide ld bc, wPartyMon1HP - wPartyMon1MaxHP add hl, bc ld a, [hld] ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] sub b ld b, [hl] - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] sbc b jp nc, .notHealthyEnough ld a, [wPartyAndBillsPCSavedMenuItem] @@ -446,9 +446,9 @@ CannotGetOffHereText: TX_FAR _CannotGetOffHereText db "@" -INCLUDE "data/party_items.asm" +INCLUDE "data/items/use_party.asm" -INCLUDE "data/overworld_items.asm" +INCLUDE "data/items/use_overworld.asm" StartMenu_TrainerInfo:: call GBPalWhiteOut @@ -491,12 +491,12 @@ DrawTrainerInfo: call CopyData ld hl, TrainerInfoTextBoxTileGraphics ; trainer info text box tile patterns ld de, vChars2 + $770 - ld bc, $0080 + ld bc, $80 push bc call TrainerInfo_FarCopyData ld hl, BlankLeaderNames ld de, vChars2 + $600 - ld bc, $0170 + ld bc, $170 call TrainerInfo_FarCopyData pop bc ld hl, BadgeNumbersTileGraphics ; badge number tile patterns @@ -504,14 +504,14 @@ DrawTrainerInfo: call TrainerInfo_FarCopyData ld hl, GymLeaderFaceAndBadgeTileGraphics ; gym leader face and badge tile patterns ld de, vChars2 + $200 - ld bc, $0400 + ld bc, $400 ld a, $03 call FarCopyData2 ld hl, TextBoxGraphics - ld de, $00d0 + ld de, $d0 add hl, de ; hl = colon tile pattern ld de, vChars1 + $560 - ld bc, $0010 + ld bc, $10 ld a, $04 push bc call FarCopyData2 @@ -648,7 +648,7 @@ StartMenu_SaveReset:: StartMenu_Option:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen call UpdateSprites callab DisplayOptionMenu diff --git a/engine/menus/swap_items.asm b/engine/menus/swap_items.asm index 826fe60b..8b793ea1 100644 --- a/engine/menus/swap_items.asm +++ b/engine/menus/swap_items.asm @@ -77,18 +77,18 @@ HandleItemListSwapping:: cp b jr z, .swapSameItemType .swapDifferentItems - ld [$ff95], a ; [$ff95] = second item ID + ld [hSwapItemID], a ; save second item ID ld a, [hld] - ld [$ff96], a ; [$ff96] = second item quantity + ld [hSwapItemQuantity], a ; save second item quantity ld a, [de] ld [hli], a ; put first item ID in second item slot inc de ld a, [de] ld [hl], a ; put first item quantity in second item slot - ld a, [$ff96] + ld a, [hSwapItemQuantity] ld [de], a ; put second item quantity in first item slot dec de - ld a, [$ff95] + ld a, [hSwapItemID] ld [de], a ; put second item ID in first item slot xor a ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index f820aae3..4ba50615 100755 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -21,7 +21,7 @@ HallOfFamePC: ld a, %11000000 ld [rBGP], a call EnableLCD - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySoundWaitForCurrent ld c, BANK(Music_Credits) ld a, MUSIC_CREDITS @@ -47,7 +47,7 @@ FadeInCreditsText: DisplayCreditsMon: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call SaveScreenTilesToBuffer1 call FillMiddleOfScreenWithWhite @@ -67,7 +67,7 @@ DisplayCreditsMon: ld hl, vBGMap0 + $c call CreditsCopyTileMapToVRAM xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call LoadScreenTilesFromBuffer1 ld hl, vBGMap0 call CreditsCopyTileMapToVRAM @@ -104,7 +104,7 @@ DisplayCreditsMon: ld [rBGP], a ret -INCLUDE "data/credit_mons.asm" +INCLUDE "data/credits/credits_mons.asm" ScrollCreditsMonLeft: ld h, b @@ -138,11 +138,11 @@ HoFGBPalettes: CreditsCopyTileMapToVRAM: ld a, l - ld [H_AUTOBGTRANSFERDEST], a + ld [hAutoBGTransferDest], a ld a, h - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp Delay3 ZeroMemory: @@ -261,9 +261,9 @@ TheEndTextString: db $60," ",$62," ",$64," ",$64," ",$66," ",$68,"@" db $61," ",$63," ",$65," ",$65," ",$67," ",$69,"@" -INCLUDE "data/credits_order.asm" +INCLUDE "data/credits/credits_order.asm" -INCLUDE "text/credits_text.asm" +INCLUDE "data/credits/credits_text.asm" TheEndGfx: INCBIN "gfx/intro_credits/the_end.2bpp" diff --git a/engine/movie/evolution.asm b/engine/movie/evolution.asm index 731735c5..1e3aaad4 100755 --- a/engine/movie/evolution.asm +++ b/engine/movie/evolution.asm @@ -9,16 +9,16 @@ EvolveMon: xor a ld [wLowHealthAlarm], a ld [wChannelSoundIDs + Ch5], a - dec a + dec a ; SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, SFX_TINK call PlaySound call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [hTilesetType], a ld a, [wEvoOldSpecies] ld [wWholeScreenPaletteMonSpecies], a @@ -37,7 +37,7 @@ EvolveMon: ld [wd0b5], a call Evolution_LoadPic ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wEvoOldSpecies] call PlayCry call WaitForSoundToFinish @@ -67,7 +67,7 @@ EvolveMon: ld a, [wEvoNewSpecies] .done ld [wWholeScreenPaletteMonSpecies], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, [wWholeScreenPaletteMonSpecies] @@ -117,7 +117,7 @@ Evolution_BackAndForthAnim: Evolution_ChangeMonPic: push bc xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 7, 2 lb bc, 7, 7 ld de, SCREEN_WIDTH - 7 @@ -134,7 +134,7 @@ Evolution_ChangeMonPic: dec b jr nz, .loop ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 pop bc ret diff --git a/engine/movie/hall_of_fame.asm b/engine/movie/hall_of_fame.asm index 3c9b1723..d874b2fd 100755 --- a/engine/movie/hall_of_fame.asm +++ b/engine/movie/hall_of_fame.asm @@ -24,7 +24,7 @@ AnimateHallOfFame: ld [wLetterPrintingDelayFlags], a ; no delay ld [wHoFMonOrPlayer], a ; mon inc a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wNumHoFTeams ld a, [hl] inc a diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index 9a13c96f..a8151ab4 100755 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -14,13 +14,13 @@ PlayIntro: xor a ld [hJoyHeld], a inc a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call PlayShootingStar call PlayIntroScene call GBFadeOutToWhite xor a ld [hSCX], a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearSprites call DelayFrame ret diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index b1acfb65..578cf3b2 100755 --- a/engine/movie/oak_speech/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm @@ -32,8 +32,8 @@ SetDefaultNames: jp CopyData OakSpeech: - ld a, $FF - call PlaySound ; stop music + ld a, SFX_STOP_ALL_MUSIC + call PlaySound ld a, BANK(Music_Routes2) ld c, a ld a, MUSIC_ROUTES2 @@ -57,7 +57,7 @@ OakSpeech: bit 1, a ; possibly a debug mode bit jp nz, .skipChoosingNames ld de, ProfOakPic - lb bc, Bank(ProfOakPic), $00 + lb bc, BANK(ProfOakPic), $00 call IntroDisplayPicCenteredOrUpperRight call FadeInIntroPic ld hl, OakSpeechText1 @@ -76,7 +76,7 @@ OakSpeech: call GBFadeOutToWhite call ClearScreen ld de, RedPicFront - lb bc, Bank(RedPicFront), $00 + lb bc, BANK(RedPicFront), $00 call IntroDisplayPicCenteredOrUpperRight call MovePicLeft ld hl, IntroducePlayerText @@ -85,7 +85,7 @@ OakSpeech: call GBFadeOutToWhite call ClearScreen ld de, Rival1Pic - lb bc, Bank(Rival1Pic), $00 + lb bc, BANK(Rival1Pic), $00 call IntroDisplayPicCenteredOrUpperRight call FadeInIntroPic ld hl, IntroduceRivalText @@ -95,7 +95,7 @@ OakSpeech: call GBFadeOutToWhite call ClearScreen ld de, RedPicFront - lb bc, Bank(RedPicFront), $00 + lb bc, BANK(RedPicFront), $00 call IntroDisplayPicCenteredOrUpperRight call GBFadeInFromWhite ld a, [wd72d] @@ -104,12 +104,12 @@ OakSpeech: ld hl, OakSpeechText3 call PrintText .next - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, SFX_SHRINK call PlaySound pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld c, 4 call DelayFrames @@ -126,18 +126,18 @@ OakSpeech: lb bc, BANK(ShrinkPic2), $00 call IntroDisplayPicCenteredOrUpperRight call ResetPlayerSpriteData - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(Music_PalletTown) ld [wAudioROMBank], a ld [wAudioSavedROMBank], a ld a, 10 ld [wAudioFadeOutControl], a - ld a, $FF + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a - call PlaySound ; stop music + call PlaySound pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld c, 20 call DelayFrames diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm index fdc9ffa3..8c4a896b 100755 --- a/engine/movie/oak_speech/oak_speech2.asm +++ b/engine/movie/oak_speech/oak_speech2.asm @@ -107,7 +107,7 @@ OakSpeechSlidePicCommon: ld e, l .loop xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [hSlideDirection] and a jr nz, .slideLeft @@ -134,7 +134,7 @@ OakSpeechSlidePicCommon: ld [hl], a .next3 ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 ld a, [hSlidingRegionSize] ld c, a @@ -187,7 +187,7 @@ DisplayIntroNameTextBox: .namestring db "NAME@" -INCLUDE "text/player_names.asm" +INCLUDE "data/player_names.asm" GetDefaultName: ; a = name index @@ -213,7 +213,7 @@ GetDefaultName: ld bc, $14 jp CopyData -INCLUDE "text/player_names_list.asm" +INCLUDE "data/player_names_list.asm" TextTerminator_6b20: db "@" diff --git a/engine/movie/titlescreen.asm b/engine/movie/title.asm similarity index 98% rename from engine/movie/titlescreen.asm rename to engine/movie/title.asm index c30f83a9..9cbe5494 100755 --- a/engine/movie/titlescreen.asm +++ b/engine/movie/title.asm @@ -24,7 +24,7 @@ SetDefaultNamesBeforeTitlescreen:: DisplayTitleScreen: call GBPalWhiteOut ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a xor a ld [hTilesetType], a ld [hSCX], a @@ -239,7 +239,7 @@ ENDC xor a ld [hWY], a inc a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen ld a, vBGMap0 / $100 call TitleScreenCopyTileMapToVRAM @@ -317,7 +317,7 @@ DrawPlayerCharacter: xor a ld [wPlayerCharacterOAMTile], a ld hl, wOAMBuffer - ld de, $605a + lb de, $60, $5a ld b, 7 .loop push de @@ -358,7 +358,7 @@ LoadTitleMonSprite: jp LoadFrontSpriteByMonIndex TitleScreenCopyTileMapToVRAM: - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a jp Delay3 LoadCopyrightAndTextBoxTiles: @@ -382,7 +382,7 @@ CopyrightTextString: next $60,$61,$62,$61,$63,$61,$64,$7F,$73,$74,$75,$76,$77,$78,$79,$7A,$7B ; ©'95.'96.'98 GAME FREAK inc. db "@" -INCLUDE "data/title_mons.asm" +INCLUDE "data/pokemon/title_mons.asm" ; prints version text (red, blue) PrintGameVersionOnTitleScreen: diff --git a/engine/movie/titlescreen2.asm b/engine/movie/title2.asm similarity index 100% rename from engine/movie/titlescreen2.asm rename to engine/movie/title2.asm diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index 8bc8e3bc..6af6f2e3 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -137,10 +137,10 @@ Trade_Delay100: Trade_CopyTileMapToVRAM: ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret Trade_Delay80: @@ -184,7 +184,7 @@ LoadTradingGFXAndMonNames: ld [rOBP0], a call EnableLCD xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wTradedPlayerMonSpecies] ld [wd11e], a call GetMonName @@ -231,7 +231,7 @@ Trade_ShowPlayerMon: ld [rWX], a ld [hSCX], a xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 4, 0 ld b, 6 ld c, 10 @@ -261,7 +261,7 @@ Trade_ShowPlayerMon: ld a, [wTradedPlayerMonSpecies] call PlayCry xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret Trade_DrawOpenEndOfLinkCable: @@ -336,13 +336,13 @@ Trade_AnimateBallEnteringLinkCable: .ballSpriteReachedEdgeOfScreen call ClearSprites ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen ld b, $98 call CopyScreenTileBufferToVRAM call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret Trade_BallInsideLinkCableOAM: @@ -360,13 +360,13 @@ Trade_ShowEnemyMon: call Trade_PrintEnemyMonInfoText call Trade_CopyTileMapToVRAM ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wTradedEnemyMonSpecies] call Trade_LoadMonSprite ld a, TRADE_BALL_POOF_ANIM call Trade_ShowAnimation ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wTradedEnemyMonSpecies] call PlayCry call Trade_Delay100 @@ -397,7 +397,7 @@ Trade_AnimLeftToRight: ld b, $6 call Trade_AnimMonMoveHorizontal ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Trade_DrawCableAcrossScreen ld b, $4 call Trade_AnimMonMoveHorizontal @@ -405,7 +405,7 @@ Trade_AnimLeftToRight: ld b, $6 call Trade_AnimMonMoveHorizontal xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Trade_AnimMonMoveVertical jp ClearSprites @@ -430,7 +430,7 @@ Trade_AnimRightToLeft: ld b, $6 call Trade_AnimMonMoveHorizontal ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Trade_DrawCableAcrossScreen ld b, $4 call Trade_AnimMonMoveHorizontal @@ -438,16 +438,16 @@ Trade_AnimRightToLeft: ld b, $6 call Trade_AnimMonMoveHorizontal xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp ClearSprites Trade_InitGameboyTransferGfx: ; Initialises the graphics for showing a mon moving between gameboys. ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Trade_LoadMonPartySpriteGfx call DelayFrame ld a, %10101011 @@ -731,9 +731,9 @@ Trade_LoadMonSprite: ld b, SET_PAL_POKEMON_WHOLE_SCREEN ld c, 0 call RunPaletteCommand - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] xor $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call GetMonHeader coord hl, 7, 2 call LoadFlippedFrontSpriteByMonIndex @@ -743,7 +743,7 @@ Trade_LoadMonSprite: Trade_ShowClearedWindow: ; clears the window and covers the BG entirely with the window ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen ld a, %11100011 ld [rLCDC], a diff --git a/engine/overworld/auto_movement.asm b/engine/overworld/auto_movement.asm index e478c9ad..421e3180 100755 --- a/engine/overworld/auto_movement.asm +++ b/engine/overworld/auto_movement.asm @@ -66,7 +66,7 @@ PalletMovementScript_OakMoveLeft: call FillMemory ld [hl], $ff ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, wNPCMovementDirections2 call MoveSprite ld a, $1 @@ -282,7 +282,7 @@ FreezeEnemyTrainerSprite:: jr .loop .notRival ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp SetSpriteMovementBytesToFF RivalIDs: diff --git a/engine/overworld/clear_variables.asm b/engine/overworld/clear_variables.asm index 32dc85cd..b5a1f4a0 100644 --- a/engine/overworld/clear_variables.asm +++ b/engine/overworld/clear_variables.asm @@ -3,7 +3,7 @@ ClearVariablesOnEnterMap:: ld [hWY], a ld [rWY], a xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [wStepCounter], a ld [wLoneAttackNo], a ld [hJoyPressed], a diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index f61ca65f..c75fbbb6 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -248,4 +248,4 @@ ReplaceTreeTileBlock: ld [hl], a ret -INCLUDE "data/cut_tree_blocks.asm" +INCLUDE "data/tilesets/cut_tree_blocks.asm" diff --git a/engine/overworld/doors.asm b/engine/overworld/doors.asm index 1339430a..ed893773 100755 --- a/engine/overworld/doors.asm +++ b/engine/overworld/doors.asm @@ -25,4 +25,4 @@ IsPlayerStandingOnDoorTile: and a ret -INCLUDE "data/door_tile_ids.asm" +INCLUDE "data/tilesets/door_tile_ids.asm" diff --git a/engine/overworld/elevator.asm b/engine/overworld/elevator.asm index d36e2f2c..05ca08c9 100755 --- a/engine/overworld/elevator.asm +++ b/engine/overworld/elevator.asm @@ -4,7 +4,7 @@ ShakeElevator:: ld de, SCREEN_HEIGHT * $20 call ShakeElevatorRedrawRow call Delay3 - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld a, [hSCY] ld d, a @@ -27,7 +27,7 @@ ShakeElevator:: jr nz, .shakeLoop ld a, d ld [hSCY], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld c, BANK(SFX_Safari_Zone_PA) ld a, SFX_SAFARI_ZONE_PA diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index 510f963b..836af44d 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -17,7 +17,7 @@ AnimateHealingMachine: call CopyHealingMachineOAM ld a, 4 ld [wAudioFadeOutControl], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .waitLoop @@ -38,7 +38,7 @@ AnimateHealingMachine: cp BANK(Audio3_UpdateMusic) ld [wAudioSavedROMBank], a jr nz, .next - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, BANK(Music_PkmnHealed) diff --git a/engine/overworld/hidden_objects.asm b/engine/overworld/hidden_objects.asm index c93f2e1b..a19694e0 100755 --- a/engine/overworld/hidden_objects.asm +++ b/engine/overworld/hidden_objects.asm @@ -14,14 +14,14 @@ IsPlayerOnDungeonWarp:: set 4, [hl] ret -; if a hidden object was found, stores $00 in [$ffee], else stores $ff +; if a hidden object was found, stores $00 in [hFoundHiddenObject], else stores $ff CheckForHiddenObject:: - ld hl, $ffeb + ld hl, hFoundHiddenObjectOrBookshelf xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a + ld [hli], a ; [hFoundHiddenObjectOrBookshelf] + ld [hli], a ; [hSavedMapTextPtr] + ld [hli], a ; [hSavedMapTextPtr + 1] + ld [hl], a ; [hFoundHiddenObject] ld de, $0 ld hl, HiddenObjectMaps .hiddenMapLoop @@ -81,7 +81,7 @@ CheckForHiddenObject:: ret .noMatch ld a, $ff - ld [$ffee], a + ld [hFoundHiddenObject], a ret ; checks if the coordinates in front of the player's sprite match Y in b and X in c @@ -130,4 +130,4 @@ CheckIfCoordsInFrontOfPlayerMatch: ld [hCoordsInFrontOfPlayerMatch], a ret -INCLUDE "data/hidden_objects.asm" +INCLUDE "data/events/hidden_objects.asm" diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index 290c8c80..c56914f6 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -54,7 +54,7 @@ HandleLedges:: call PlaySound ret -INCLUDE "data/ledge_tiles.asm" +INCLUDE "data/tilesets/ledge_tiles.asm" LoadHoppingShadowOAM: ld hl, vChars1 + $7f0 diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 19e25435..904e9b04 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -133,8 +133,7 @@ LoadMapSpriteTilePatterns: jr nc, .fourTileSpriteVRAMAddr ld d, a dec d -; Equivalent to multiplying $C0 (number of bytes in 12 tiles) times the VRAM -; slot and adding the result to $8000 (the VRAM base address). +; vSprites += [hVRAMSlot] * $C0 (the number of bytes in 12 tiles) .calculateVRAMAddrLoop add hl, bc dec d @@ -437,4 +436,6 @@ GetSplitMapSpriteSetID: ld a, $01 ret -INCLUDE "data/sprite_sets.asm" +INCLUDE "data/maps/sprite_sets.asm" + +INCLUDE "data/sprites/sprites.asm" diff --git a/engine/overworld/missable_objects.asm b/engine/overworld/missable_objects.asm index 7d6de545..a89fcb54 100644 --- a/engine/overworld/missable_objects.asm +++ b/engine/overworld/missable_objects.asm @@ -31,19 +31,19 @@ LoadMissableObjects: sub d ld h, a ld a, h - ld [H_DIVIDEND], a + ld [hDividend], a ld a, l - ld [H_DIVIDEND+1], a + ld [hDividend+1], a xor a - ld [H_DIVIDEND+2], a - ld [H_DIVIDEND+3], a + ld [hDividend+2], a + ld [hDividend+3], a ld a, $3 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $2 call Divide ; divide difference by 3, resulting in the global offset (number of missable items before ours) ld a, [wCurMap] ld b, a - ld a, [H_DIVIDEND+3] + ld a, [hDividend+3] ld c, a ; store global offset in c ld de, wMissableObjectList pop hl @@ -99,7 +99,7 @@ InitializeMissableObjectsFlags: ; tests if current sprite is a missable object that is hidden/has been removed IsObjectHidden: - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] swap a ld b, a ld hl, wMissableObjectList @@ -120,7 +120,7 @@ IsObjectHidden: .notHidden xor a .hidden - ld [$ffe5], a + ld [hIsHiddenMissableObject], a ret ; adds missable object (items, leg. pokemon, etc.) to the map diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index f272f497..6c354779 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -63,7 +63,7 @@ UpdatePlayerSprite: ld a, [wd736] bit 7, a ; is the player sprite spinning due to a spin tile? jr nz, .skipSpriteAnim - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [hl] @@ -103,7 +103,7 @@ UpdatePlayerSprite: UnusedReadSpriteDataFunction: push bc push af - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld c, a pop af add c @@ -112,7 +112,7 @@ UnusedReadSpriteDataFunction: ret UpdateNPCSprite: - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] swap a dec a add a @@ -122,7 +122,7 @@ UpdateNPCSprite: ld a, [hl] ; read movement byte 2 ld [wCurSpriteMovement2], a ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld l, a inc l ld a, [hl] ; c1x1 @@ -131,7 +131,7 @@ UpdateNPCSprite: call CheckSpriteAvailability ret c ; if sprite is invisible, on tile >=MAP_TILESET_SIZE, in grass or player is currently walking ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld l, a inc l ld a, [hl] ; c1x1 @@ -151,7 +151,7 @@ UpdateNPCSprite: ret nz ; don't do anything yet if player is currently moving (redundant, already tested in CheckSpriteAvailability) call InitializeSpriteScreenPosition ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6: movement byte 1 @@ -264,11 +264,11 @@ ChangeFacingDirection: TryWalking: push hl ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld [hl], c ; c1x9 (update facing direction) - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $3 ld l, a ld [hl], d ; c1x3 (update Y movement delta) @@ -282,7 +282,7 @@ TryWalking: pop de ret c ; cannot walk there (reinitialization of delay values already done) ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [hl] ; c2x4: Y position @@ -291,7 +291,7 @@ TryWalking: ld a, [hl] ; c2x5: X position add e ld [hl], a ; update X position - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld l, a ld [hl], $10 ; c2x0=16: walk animation counter dec h @@ -301,7 +301,7 @@ TryWalking: ; update the walking animation parameters for a sprite that is currently walking UpdateSpriteInWalkingAnimation: - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [hl] ; c1x7 (counter until next walk animation frame) @@ -317,7 +317,7 @@ UpdateSpriteInWalkingAnimation: and $3 ld [hl], a ; advance to next animation frame every 4 ticks (16 ticks total for one step) .noNextAnimationFrame - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $3 ld l, a ld a, [hli] ; c1x3 (movement Y delta) @@ -330,7 +330,7 @@ UpdateSpriteInWalkingAnimation: ld a, [hl] ; c1x6 (screen X position) add b ld [hl], a ; update screen X position - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld l, a inc h ld a, [hl] ; c2x0 (walk animation counter) @@ -343,7 +343,7 @@ UpdateSpriteInWalkingAnimation: ld a, [hl] ; c2x6 (movement byte 1) cp $fe jr nc, .initNextMovementCounter ; values $fe and $ff - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] inc a ld l, a dec h @@ -351,14 +351,14 @@ UpdateSpriteInWalkingAnimation: ret .initNextMovementCounter call Random - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a ld a, [hRandomAdd] and $7f ld [hl], a ; c2x8: set next movement delay to a random value in [0,$7f] dec h ; note that value 0 actually makes the delay $100 (bug?) - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] inc a ld l, a ld [hl], $2 ; c1x1 = 2 (movement status) @@ -375,7 +375,7 @@ UpdateSpriteInWalkingAnimation: ; update delay value (c2x8) for sprites in the delayed state (c1x1) UpdateSpriteMovementDelay: ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6: movement byte 1 @@ -390,13 +390,13 @@ UpdateSpriteMovementDelay: jr nz, notYetMoving .moving dec h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] inc a ld l, a ld [hl], $1 ; c1x1 = 1 (mark as ready to move) notYetMoving: ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a ld [hl], $0 ; c1x8 = 0 (walk animation frame) @@ -429,7 +429,7 @@ MakeNPCFacePlayer: .notFacingRight ld c, SPRITE_FACING_LEFT .facingDirectionDetermined - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld [hl], c ; c1x9: set facing direction @@ -440,7 +440,7 @@ InitializeSpriteStatus: inc l ld [hl], $ff ; $c1x2: set sprite image to $ff (invisible/off screen) inc h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld a, $8 @@ -451,7 +451,7 @@ InitializeSpriteStatus: ; calculates the sprite's screen position form its map position and the player position InitializeSpriteScreenPosition: ld h, wSpriteStateData2 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [wYCoord] @@ -475,17 +475,17 @@ InitializeSpriteScreenPosition: ; tests if sprite is off screen or otherwise unable to do anything CheckSpriteAvailability: predef IsObjectHidden - ld a, [$ffe5] + ld a, [hIsHiddenMissableObject] and a jp nz, .spriteInvisible ld h, wSpriteStateData2 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6: movement byte 1 cp $fe jr c, .skipXVisibilityTest ; movement byte 1 < $fe (i.e. the sprite's movement is scripted) - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld b, [hl] ; c2x4: Y pos (+4) @@ -527,7 +527,7 @@ CheckSpriteAvailability: jr c, .spriteVisible ; standing on tile with ID >=MAP_TILESET_SIZE (top right tile) .spriteInvisible ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld [hl], $ff ; c1x2 @@ -540,7 +540,7 @@ CheckSpriteAvailability: jr nz, .done ; if player is currently walking, we're done call UpdateSpriteImage inc h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [wGrassTile] @@ -556,7 +556,7 @@ CheckSpriteAvailability: UpdateSpriteImage: ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a ld a, [hli] ; c1x8: walk animation frame @@ -564,10 +564,10 @@ UpdateSpriteImage: ld a, [hl] ; c1x9: facing direction add b ld b, a - ld a, [$ff93] ; current sprite offset + ld a, [hTilePlayerStandingOn] add b ld b, a - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld [hl], b ; c1x2: sprite to display @@ -581,7 +581,7 @@ UpdateSpriteImage: ; set carry on failure, clears carry on success CanWalkOntoTile: ld h, wSpriteStateData2 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6 (movement byte 1) @@ -602,14 +602,14 @@ CanWalkOntoTile: cp c jr nz, .tilePassableLoop ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; $c2x6 (movement byte 1) inc a jr z, .impassable ; if $ff, no movement allowed (however, changing direction is) ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [hli] ; c1x4 (screen Y pos) @@ -628,14 +628,14 @@ CanWalkOntoTile: pop bc pop de ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $c ld l, a ld a, [hl] ; c1xc (directions in which sprite collision would occur) and b ; check against chosen direction (1,2,4 or 8) jr nz, .impassable ; collision between sprites, don't go there ld h, wSpriteStateData2 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld a, [hli] ; c2x2 (sprite Y displacement, initialized at $8, keep track of where a sprite did go) @@ -666,7 +666,7 @@ CanWalkOntoTile: ret .impassable ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] inc a ld l, a ld [hl], $2 ; c1x1 = 2 (set movement status to delayed) @@ -677,7 +677,7 @@ CanWalkOntoTile: inc l ld [hl], a ; c1x5 = 0 (clear X movement delta) inc h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a call Random @@ -692,7 +692,7 @@ CanWalkOntoTile: ; hl: output pointer GetTileSpriteStandsOn: ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [hli] ; c1x4: screen Y position @@ -784,7 +784,7 @@ DoScriptedNPCMovement: ld a, [hl] add b ld [hl], a - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld a, c @@ -817,7 +817,7 @@ GetSpriteScreenXPointer: GetSpriteScreenXYPointerCommon: ld hl, wSpriteStateData1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add l add b ld l, a @@ -825,7 +825,7 @@ GetSpriteScreenXYPointerCommon: AnimScriptedNPCMovement: ld hl, wSpriteStateData2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $e ld l, a ld a, [hl] ; VRAM slot @@ -833,7 +833,7 @@ AnimScriptedNPCMovement: swap a ld b, a ld hl, wSpriteStateData1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld a, [hl] ; facing direction @@ -852,7 +852,7 @@ AnimScriptedNPCMovement: ld [hSpriteVRAMSlotAndFacing], a call AdvanceScriptedNPCAnimFrameCounter ld hl, wSpriteStateData1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld a, [hSpriteVRAMSlotAndFacing] @@ -863,7 +863,7 @@ AnimScriptedNPCMovement: ret AdvanceScriptedNPCAnimFrameCounter: - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [hl] ; intra-animation frame counter diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index 0ac4f3b2..a3f6e051 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -373,7 +373,7 @@ IsPlayerStandingOnWarpPadOrHole:: ld [wStandingOnWarpPadOrHole], a ret -INCLUDE "data/warp_pad_hole_tile_ids.asm" +INCLUDE "data/tilesets/warp_pad_hole_tile_ids.asm" FishingAnim: ld c, 10 diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm index 23da664c..ea24fdc1 100644 --- a/engine/overworld/player_state.asm +++ b/engine/overworld/player_state.asm @@ -82,7 +82,7 @@ CheckForceBikeOrSurf:: ld [wWalkBikeSurfStateCopy], a jp ForceBikeOrSurf -INCLUDE "data/force_bike_surf.asm" +INCLUDE "data/maps/force_bike_surf.asm" IsPlayerFacingEdgeOfMap:: push hl @@ -176,7 +176,7 @@ IsWarpTileInFrontOfPlayer:: pop hl ret -INCLUDE "data/warp_carpet_tile_ids.asm" +INCLUDE "data/tilesets/warp_carpet_tile_ids.asm" IsSSAnneBowWarpTileInFrontOfPlayer: ld a, [wTileInFrontOfPlayer] @@ -215,7 +215,7 @@ IsPlayerStandingOnDoorTileOrWarpTile:: pop hl ret -INCLUDE "data/warp_tile_ids.asm" +INCLUDE "data/tilesets/warp_tile_ids.asm" PrintSafariZoneSteps:: ld a, [wCurMap] @@ -297,7 +297,7 @@ _GetTileAndCoordsInFrontOfPlayer: GetTileTwoStepsInFrontOfPlayer: xor a - ld [$ffdb], a + ld [hPlayerFacing], a ld hl, wYCoord ld a, [hli] ld d, a @@ -306,7 +306,7 @@ GetTileTwoStepsInFrontOfPlayer: and a ; cp SPRITE_FACING_DOWN jr nz, .notFacingDown ; facing down - ld hl, $ffdb + ld hl, hPlayerFacing set 0, [hl] aCoord 8, 13 inc d @@ -315,7 +315,7 @@ GetTileTwoStepsInFrontOfPlayer: cp SPRITE_FACING_UP jr nz, .notFacingUp ; facing up - ld hl, $ffdb + ld hl, hPlayerFacing set 1, [hl] aCoord 8, 5 dec d @@ -324,7 +324,7 @@ GetTileTwoStepsInFrontOfPlayer: cp SPRITE_FACING_LEFT jr nz, .notFacingLeft ; facing left - ld hl, $ffdb + ld hl, hPlayerFacing set 2, [hl] aCoord 4, 9 dec e @@ -333,7 +333,7 @@ GetTileTwoStepsInFrontOfPlayer: cp SPRITE_FACING_RIGHT jr nz, .storeTile ; facing right - ld hl, $ffdb + ld hl, hPlayerFacing set 3, [hl] aCoord 12, 9 inc e @@ -378,33 +378,33 @@ CheckForBoulderCollisionWithSprites: ld hl, wSpriteStateData2 + $14 add hl, de ld a, [hli] ; map Y position - ld [$ffdc], a + ld [hPlayerYCoord], a ld a, [hl] ; map X position - ld [$ffdd], a + ld [hPlayerXCoord], a ld a, [wNumSprites] ld c, a ld de, $f ld hl, wSpriteStateData2 + $14 - ld a, [$ffdb] + ld a, [hPlayerFacing] and $3 ; facing up or down? jr z, .pushingHorizontallyLoop .pushingVerticallyLoop inc hl - ld a, [$ffdd] + ld a, [hPlayerXCoord] cp [hl] jr nz, .nextSprite1 ; if X coordinates don't match dec hl ld a, [hli] ld b, a - ld a, [$ffdb] + ld a, [hPlayerFacing] rrca jr c, .pushingDown ; pushing up - ld a, [$ffdc] + ld a, [hPlayerYCoord] dec a jr .compareYCoords .pushingDown - ld a, [$ffdc] + ld a, [hPlayerYCoord] inc a .compareYCoords cp b @@ -417,19 +417,19 @@ CheckForBoulderCollisionWithSprites: .pushingHorizontallyLoop ld a, [hli] ld b, a - ld a, [$ffdc] + ld a, [hPlayerYCoord] cp b jr nz, .nextSprite2 ld b, [hl] - ld a, [$ffdb] + ld a, [hPlayerFacing] bit 2, a jr nz, .pushingLeft ; pushing right - ld a, [$ffdd] + ld a, [hPlayerXCoord] inc a jr .compareXCoords .pushingLeft - ld a, [$ffdd] + ld a, [hPlayerXCoord] dec a .compareXCoords cp b diff --git a/engine/overworld/push_boulder.asm b/engine/overworld/push_boulder.asm index c45554f1..e4dd91cf 100644 --- a/engine/overworld/push_boulder.asm +++ b/engine/overworld/push_boulder.asm @@ -92,7 +92,7 @@ DoBoulderDustAnimation:: call ResetBoulderPushFlags set 7, [hl] ld a, [wBoulderSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteMovementByte2Pointer ld [hl], $10 ld a, SFX_CUT diff --git a/engine/overworld/special_warps.asm b/engine/overworld/special_warps.asm index eee85402..042146f9 100644 --- a/engine/overworld/special_warps.asm +++ b/engine/overworld/special_warps.asm @@ -146,4 +146,4 @@ LoadSpecialWarpData: ld [wDestinationWarpID], a ret -INCLUDE "data/special_warps.asm" +INCLUDE "data/maps/special_warps.asm" diff --git a/engine/overworld/sprite_collisions.asm b/engine/overworld/sprite_collisions.asm index 0e6b2d06..c5ff8ebb 100644 --- a/engine/overworld/sprite_collisions.asm +++ b/engine/overworld/sprite_collisions.asm @@ -6,7 +6,7 @@ _UpdateSprites:: ld l, a sub $e ld c, a - ld [H_CURRENTSPRITEOFFSET], a + ld [hCurrentSpriteOffset], a ld a, [hl] and a jr z, .skipSprite ; tests $c2Xe @@ -31,17 +31,17 @@ _UpdateSprites:: UpdateNonPlayerSprite: dec a swap a - ld [$ff93], a ; $10 * sprite# + ld [hTilePlayerStandingOn], a ; $10 * sprite# ld a, [wNPCMovementScriptSpriteOffset] ; some sprite offset? ld b, a - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] cp b jr nz, .unequal jp DoScriptedNPCMovement .unequal jp UpdateNPCSprite -; This detects if the current sprite (whose offset is at H_CURRENTSPRITEOFFSET) +; This detects if the current sprite (whose offset is at hCurrentSpriteOffset) ; is going to collide with another sprite by looping over the other sprites. ; The current sprite's offset will be labelled with i (e.g. $c1i0). ; The loop sprite's offset will labelled with j (e.g. $c1j0). @@ -54,7 +54,7 @@ DetectCollisionBetweenSprites: nop ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add wSpriteStateData1 % $100 ld l, a @@ -79,7 +79,7 @@ DetectCollisionBetweenSprites: and $f0 or c - ld [$ff90], a ; store Y coordinate adjusted for direction of movement + ld [hFF90], a ; store Y coordinate adjusted for direction of movement ld a, [hli] ; a = [$c1i5] (delta X) (-1, 0, or 1) call SetSpriteCollisionValues @@ -92,7 +92,7 @@ DetectCollisionBetweenSprites: and $f0 or c - ld [$ff91], a ; store X coordinate adjusted for direction of movement + ld [hFF91], a ; store X coordinate adjusted for direction of movement ld a, l add 7 @@ -102,18 +102,18 @@ DetectCollisionBetweenSprites: ld [hld], a ; zero [$c1id] XXX what's [$c1id] for? ld [hld], a ; zero [$c1ic] (directions in which collisions occurred) - ld a, [$ff91] + ld a, [hFF91] ld [hld], a ; [$c1ib] = adjusted X coordinate - ld a, [$ff90] + ld a, [hFF90] ld [hl], a ; [$c1ia] = adjusted Y coordinate xor a ; zero the loop counter .loop - ld [$ff8f], a ; store loop counter + ld [hFF8F], a ; store loop counter swap a ld e, a - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] cp e ; does the loop sprite match the current sprite? jp z, .next ; go to the next sprite if they match @@ -128,7 +128,7 @@ DetectCollisionBetweenSprites: inc a jp z, .next ; go the next sprite if offscreen - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add 10 ld l, a @@ -154,7 +154,7 @@ DetectCollisionBetweenSprites: cpl inc a .noCarry1 - ld [$ff90], a ; store the distance between the two sprites' adjusted Y values + ld [hFF90], a ; store the distance between the two sprites' adjusted Y values ; Use the carry flag set by the above subtraction to determine which sprite's ; Y coordinate is larger. This information is used later to set [$c1ic], @@ -176,11 +176,11 @@ DetectCollisionBetweenSprites: ld b, 9 .next1 - ld a, [$ff90] ; a = distance between adjusted Y coordinates + ld a, [hFF90] ; a = distance between adjusted Y coordinates sub b - ld [$ff92], a ; store distance adjusted using sprite i's direction + ld [hFF92], a ; store distance adjusted using sprite i's direction ld a, b - ld [$ff90], a ; store 7 or 9 depending on sprite i's delta Y + ld [hFF90], a ; store 7 or 9 depending on sprite i's delta Y jr c, .checkXDistance ; If sprite j's delta Y is 0, then b = 7, else b = 9. @@ -193,7 +193,7 @@ DetectCollisionBetweenSprites: ld b, 9 .next2 - ld a, [$ff92] ; a = distance adjusted using sprite i's direction + ld a, [hFF92] ; a = distance adjusted using sprite i's direction sub b ; adjust distance using sprite j's direction jr z, .checkXDistance jr nc, .next ; go to next sprite if distance is still positive after both adjustments @@ -225,7 +225,7 @@ DetectCollisionBetweenSprites: cpl inc a .noCarry2 - ld [$ff91], a ; store the distance between the two sprites' adjusted X values + ld [hFF91], a ; store the distance between the two sprites' adjusted X values ; Use the carry flag set by the above subtraction to determine which sprite's ; X coordinate is larger. This information is used later to set [$c1ic], @@ -247,11 +247,11 @@ DetectCollisionBetweenSprites: ld b, 9 .next3 - ld a, [$ff91] ; a = distance between adjusted X coordinates + ld a, [hFF91] ; a = distance between adjusted X coordinates sub b - ld [$ff92], a ; store distance adjusted using sprite i's direction + ld [hFF92], a ; store distance adjusted using sprite i's direction ld a, b - ld [$ff91], a ; store 7 or 9 depending on sprite i's delta X + ld [hFF91], a ; store 7 or 9 depending on sprite i's delta X jr c, .collision ; If sprite j's delta X is 0, then b = 7, else b = 9. @@ -264,15 +264,15 @@ DetectCollisionBetweenSprites: ld b, 9 .next4 - ld a, [$ff92] ; a = distance adjusted using sprite i's direction + ld a, [hFF92] ; a = distance adjusted using sprite i's direction sub b ; adjust distance using sprite j's direction jr z, .collision jr nc, .next ; go to next sprite if distance is still positive after both adjustments .collision - ld a, [$ff91] ; a = 7 or 9 depending on sprite i's delta X + ld a, [hFF91] ; a = 7 or 9 depending on sprite i's delta X ld b, a - ld a, [$ff90] ; a = 7 or 9 depending on sprite i's delta Y + ld a, [hFF90] ; a = 7 or 9 depending on sprite i's delta Y inc l ; If delta X isn't 0 and delta Y is 0, then b = %0011, else b = %1100. @@ -294,7 +294,7 @@ DetectCollisionBetweenSprites: ; set bit in [$c1ie] or [$c1if] to indicate which sprite the collision occurred with inc l inc l - ld a, [$ff8f] ; a = loop counter + ld a, [hFF8F] ; a = loop counter ld de, SpriteCollisionBitTable add a add e @@ -311,7 +311,7 @@ DetectCollisionBetweenSprites: ld [hl], a .next - ld a, [$ff8f] ; a = loop counter + ld a, [hFF8F] ; a = loop counter inc a cp $10 jp nz, .loop diff --git a/engine/overworld/tilesets.asm b/engine/overworld/tilesets.asm index 6e33974f..88147233 100644 --- a/engine/overworld/tilesets.asm +++ b/engine/overworld/tilesets.asm @@ -25,7 +25,7 @@ LoadTilesetHeader: ld a, [hl] ld [hTilesetType], a xor a - ld [$ffd8], a + ld [hMovingBGTilesCounter1], a pop hl ld a, [wCurMapTileset] push hl @@ -55,6 +55,6 @@ LoadTilesetHeader: .done ret -INCLUDE "data/dungeon_tilesets.asm" +INCLUDE "data/tilesets/dungeon_tilesets.asm" -INCLUDE "data/tileset_headers.asm" +INCLUDE "data/tilesets/tileset_headers.asm" diff --git a/engine/overworld/trainer_sight.asm b/engine/overworld/trainer_sight.asm index 5a68b627..81978c35 100755 --- a/engine/overworld/trainer_sight.asm +++ b/engine/overworld/trainer_sight.asm @@ -2,26 +2,26 @@ _GetSpritePosition1:: ld hl, wSpriteStateData1 ld de, $4 ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteDataPointer ld a, [hli] ; c1x4 (screen Y pos) - ld [$ffeb], a + ld [hSpriteScreenYCoord], a inc hl ld a, [hl] ; c1x6 (screen X pos) - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) add hl, de ld a, [hli] ; c2x4 (map Y pos) - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, [hl] ; c2x5 (map X pos) - ld [$ffee], a + ld [hSpriteMapXCoord], a ret _GetSpritePosition2:: ld hl, wSpriteStateData1 ld de, $4 ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteDataPointer ld a, [hli] ; c1x4 (screen Y pos) ld [wSavedSpriteScreenY], a @@ -40,18 +40,18 @@ _SetSpritePosition1:: ld hl, wSpriteStateData1 ld de, $4 ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteDataPointer - ld a, [$ffeb] ; c1x4 (screen Y pos) + ld a, [hSpriteScreenYCoord] ; c1x4 (screen Y pos) ld [hli], a inc hl - ld a, [$ffec] ; c1x6 (screen X pos) + ld a, [hSpriteScreenXCoord] ; c1x6 (screen X pos) ld [hl], a ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) add hl, de - ld a, [$ffed] ; c2x4 (map Y pos) + ld a, [hSpriteMapYCoord] ; c2x4 (map Y pos) ld [hli], a - ld a, [$ffee] ; c2x5 (map X pos) + ld a, [hSpriteMapXCoord] ; c2x5 (map X pos) ld [hl], a ret @@ -59,7 +59,7 @@ _SetSpritePosition2:: ld hl, wSpriteStateData1 ld de, 4 ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteDataPointer ld a, [wSavedSpriteScreenY] ld [hli], a ; c1x4 (screen Y pos) @@ -144,7 +144,7 @@ TrainerWalkUpToPlayer:: call FillMemory ; write the necessary steps to reach player ld [hl], $ff ; write end of list sentinel ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp MoveSprite_ ; input: de = offset within sprite entry @@ -152,7 +152,7 @@ TrainerWalkUpToPlayer:: GetSpriteDataPointer: push de add hl, de - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] swap a ld d, $0 ld e, a diff --git a/engine/overworld/turn_sprite.asm b/engine/overworld/turn_sprite.asm index c7f7712b..bef26537 100755 --- a/engine/overworld/turn_sprite.asm +++ b/engine/overworld/turn_sprite.asm @@ -1,12 +1,12 @@ UpdateSpriteFacingOffsetAndDelayMovement:: ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a ld a, $7f ; maximum movement delay ld [hl], a ; c2x8 (movement delay) dec h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld a, [hld] ; c1x9 (facing direction) @@ -14,7 +14,7 @@ UpdateSpriteFacingOffsetAndDelayMovement:: xor a ld [hld], a ld [hl], a ; c1x8 (walk animation frame) - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld a, [hl] ; c1x2 (facing and animation table offset) diff --git a/engine/overworld/update_map.asm b/engine/overworld/update_map.asm index 8577b9e7..92ae2b10 100644 --- a/engine/overworld/update_map.asm +++ b/engine/overworld/update_map.asm @@ -50,12 +50,12 @@ RedrawMapView: ld a, [wIsInBattle] inc a ret z - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] push af ld a, [hTilesetType] push af xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [hTilesetType], a ; no flower/water BG tile animations call LoadCurrentMapView call RunDefaultPaletteCommand @@ -63,7 +63,7 @@ RedrawMapView: ld a, [hli] ld h, [hl] ld l, a - ld de, -2 * 32 + ld de, -2 * BG_MAP_WIDTH add hl, de ld a, h and $3 @@ -73,23 +73,23 @@ RedrawMapView: ld a, h ld [wBuffer + 1], a ; this copy of the address is not used ld a, 2 - ld [$ffbe], a - ld c, 9 ; number of rows of 2x2 tiles (this covers the whole screen) + ld [hRedrawMapViewRowOffset], a + ld c, SCREEN_HEIGHT / 2 ; number of rows of 2x2 tiles (this covers the whole screen) .redrawRowLoop push bc push hl push hl ld hl, wTileMap - 2 * SCREEN_WIDTH ld de, SCREEN_WIDTH - ld a, [$ffbe] + ld a, [hRedrawMapViewRowOffset] .calcWRAMAddrLoop add hl, de dec a jr nz, .calcWRAMAddrLoop call CopyToRedrawRowOrColumnSrcTiles pop hl - ld de, $20 - ld a, [$ffbe] + ld de, BG_MAP_WIDTH + ld a, [hRedrawMapViewRowOffset] ld c, a .calcVRAMAddrLoop add hl, de @@ -104,7 +104,7 @@ RedrawMapView: ld a, REDRAW_ROW ld [hRedrawRowOrColumnMode], a call DelayFrame - ld hl, $ffbe + ld hl, hRedrawMapViewRowOffset inc [hl] inc [hl] pop hl @@ -114,7 +114,7 @@ RedrawMapView: pop af ld [hTilesetType], a pop af - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret CompareHLWithBC: diff --git a/engine/overworld/wild_mons.asm b/engine/overworld/wild_mons.asm index df4d3121..2593e0ec 100644 --- a/engine/overworld/wild_mons.asm +++ b/engine/overworld/wild_mons.asm @@ -16,10 +16,10 @@ LoadWildData:: jr z, .NoGrassData ; if no grass data, skip to surfing data push hl ld de, wGrassMons ; otherwise, load grass data - ld bc, $0014 + ld bc, $14 call CopyData pop hl - ld bc, $0014 + ld bc, $14 add hl, bc .NoGrassData ld a, [hli] @@ -27,7 +27,7 @@ LoadWildData:: and a ret z ; if no water data, we're done ld de, wWaterMons ; otherwise, load surfing data - ld bc, $0014 + ld bc, $14 jp CopyData -INCLUDE "data/wild_mons.asm" +INCLUDE "data/wild/grass_water.asm" diff --git a/engine/pokemon/add_mon.asm b/engine/pokemon/add_mon.asm index 7627136b..8d0a6495 100644 --- a/engine/pokemon/add_mon.asm +++ b/engine/pokemon/add_mon.asm @@ -129,10 +129,10 @@ _AddPartyMon:: xor a ld b, a call CalcStat ; calc HP stat (set cur Hp to max HP) - ld a, [H_MULTIPLICAND+1] + ld a, [hMultiplicand+1] ld [de], a inc de - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] ld [de], a inc de xor a diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index e5855f1d..d9a329f5 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -1,6 +1,6 @@ DisplayPCMainMenu:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call SaveScreenTilesToBuffer2 ld a, [wNumHoFTeams] and a @@ -82,7 +82,7 @@ DisplayPCMainMenu:: ld [wCurrentMenuItem], a ld [wLastMenuItem], a ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret SomeonesPCText: db "SOMEONE's PC@" @@ -168,7 +168,7 @@ BillsPCMenu: ld de, BoxNoPCText call PlaceString ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 call HandleMenuInput bit 1, a @@ -376,7 +376,8 @@ KnowsHMMove:: and a ret -INCLUDE "data/hm_moves.asm" +HMMoveArray: +INCLUDE "data/moves/hm_moves.asm" DisplayDepositWithdrawMenu: coord hl, 9, 10 diff --git a/engine/pokemon/evos_moves.asm b/engine/pokemon/evos_moves.asm index f50f8081..36f135cc 100755 --- a/engine/pokemon/evos_moves.asm +++ b/engine/pokemon/evos_moves.asm @@ -120,12 +120,12 @@ Evolution_PartyMonLoop: ; loop over party mons ld c, 50 call DelayFrames xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 0, 0 lb bc, 12, 20 call ClearScreenArea ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, $ff ld [wUpdateSpritesEnabled], a call ClearSprites @@ -510,4 +510,4 @@ WriteMonMoves_ShiftMoveData: Evolution_FlagAction: predef_jump FlagActionPredef -INCLUDE "data/evos_moves.asm" +INCLUDE "data/pokemon/evos_moves.asm" diff --git a/engine/pokemon/experience.asm b/engine/pokemon/experience.asm index 3ee4b2a8..76e6b88b 100755 --- a/engine/pokemon/experience.asm +++ b/engine/pokemon/experience.asm @@ -38,58 +38,58 @@ CalcExperience:: add hl, bc call CalcDSquared ld a, d - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hl] and $f0 swap a - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hli] and $f - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide - ld a, [H_QUOTIENT + 1] + ld a, [hQuotient + 1] push af - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] push af - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] push af call CalcDSquared ld a, [hl] and $7f - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply - ld a, [H_PRODUCT + 1] + ld a, [hProduct + 1] push af - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] push af - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] push af ld a, [hli] push af xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, d - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [hli] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld b, [hl] - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] sub b - ld [H_PRODUCT + 3], a + ld [hProduct + 3], a ld b, $0 - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] sbc b - ld [H_PRODUCT + 2], a - ld a, [H_PRODUCT + 1] + ld [hProduct + 2], a + ld a, [hProduct + 1] sbc b - ld [H_PRODUCT + 1], a + ld [hProduct + 1], a ; The difference of the linear term and the constant term consists of 3 bytes -; starting at H_PRODUCT + 1. Below, hExperience (an alias of that address) will +; starting at hProduct + 1. Below, hExperience (an alias of that address) will ; be used instead for the further work of adding or subtracting the squared ; term and adding the cubed term. pop af @@ -139,11 +139,11 @@ CalcExperience:: ; calculates d*d CalcDSquared: xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, d - ld [H_MULTIPLICAND + 2], a - ld [H_MULTIPLIER], a + ld [hMultiplicand + 2], a + ld [hMultiplier], a jp Multiply INCLUDE "data/growth_rates.asm" diff --git a/engine/pokemon/learn_move.asm b/engine/pokemon/learn_move.asm index 53c7f87e..09413c9b 100755 --- a/engine/pokemon/learn_move.asm +++ b/engine/pokemon/learn_move.asm @@ -126,13 +126,13 @@ TryingToLearn: call TextBoxBorder coord hl, 6, 8 ld de, wMovesString - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 2, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a call PlaceString - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 2, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ld hl, wTopMenuItemY ld a, 8 ld [hli], a ; wTopMenuItemY @@ -146,10 +146,10 @@ TryingToLearn: ld a, A_BUTTON | B_BUTTON ld [hli], a ; wMenuWatchedKeys ld [hl], 0 ; wLastMenuItem - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] push af call LoadScreenTilesFromBuffer1 diff --git a/engine/pokemon/status_screen.asm b/engine/pokemon/status_screen.asm index 20bee0ee..b262a8b7 100755 --- a/engine/pokemon/status_screen.asm +++ b/engine/pokemon/status_screen.asm @@ -40,7 +40,7 @@ DrawHP_: push hl call DrawHPBar pop hl - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 0, a jr z, .printFractionBelowBar ld bc, $9 ; right of bar @@ -254,7 +254,7 @@ PrintStatsBox: ld c, 8 call TextBoxBorder ; Draws the box coord hl, 1, 9 ; Start printing stats from here - ld bc, $0019 ; Number offset + ld bc, $19 ; Number offset jr .PrintStats .DifferentBox coord hl, 9, 2 @@ -262,7 +262,7 @@ PrintStatsBox: ld c, 9 call TextBoxBorder coord hl, 11, 3 - ld bc, $0018 + ld bc, $18 .PrintStats push bc push hl @@ -299,7 +299,7 @@ StatusScreen2: push af xor a ld [hTilesetType], a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld bc, NUM_MOVES + 1 ld hl, wMoves call FillMemory @@ -424,7 +424,7 @@ StatusScreen2: coord hl, 9, 1 call PlaceString ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 call WaitForTextScrollButtonPress ; wait for button pop af diff --git a/engine/slots/game_corner_slots.asm b/engine/slots/game_corner_slots.asm index 2108695f..d95d20a3 100755 --- a/engine/slots/game_corner_slots.asm +++ b/engine/slots/game_corner_slots.asm @@ -22,7 +22,7 @@ StartSlotMachine: ld a, 250 .next ld [wSlotMachineSevenAndBarModeChance], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wSlotMachineSavedROMBank], a call PromptUserToPlaySlots ret diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index 0a92c69b..c3de5dd2 100755 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -31,7 +31,7 @@ PromptUserToPlaySlots: xor a ld [wSlotMachineAllowMatchesCounter], a ld hl, wStoppingWhichSlotMachineWheel - ld bc, $0014 + ld bc, $14 call FillMemory call MainSlotMachineLoop ld hl, wd730 @@ -881,7 +881,7 @@ SlotMachineMap: INCBIN "gfx/slots/slots.tilemap" SlotMachineMapEnd: -INCLUDE "data/slot_machine_wheels.asm" +INCLUDE "data/events/slot_machine_wheels.asm" SlotMachineTiles1: IF DEF(_RED) diff --git a/gfx/fishing.asm b/gfx/fishing.asm new file mode 100644 index 00000000..0a040262 --- /dev/null +++ b/gfx/fishing.asm @@ -0,0 +1,4 @@ +RedFishingTilesFront: INCBIN "gfx/overworld/red_fish_front.2bpp" +RedFishingTilesBack: INCBIN "gfx/overworld/red_fish_back.2bpp" +RedFishingTilesSide: INCBIN "gfx/overworld/red_fish_side.2bpp" +RedFishingRodTiles: INCBIN "gfx/overworld/fishing_rod.2bpp" diff --git a/gfx/font.asm b/gfx/font.asm new file mode 100644 index 00000000..b3dda1e7 --- /dev/null +++ b/gfx/font.asm @@ -0,0 +1,31 @@ +PokemonLogoGraphics: INCBIN "gfx/title/pokemon_logo.2bpp" +FontGraphics:: INCBIN "gfx/font/font.1bpp" +FontGraphicsEnd:: + +ABTiles: INCBIN "gfx/font/AB.2bpp" + +HpBarAndStatusGraphics:: INCBIN "gfx/font/font_battle_extra.2bpp" +HpBarAndStatusGraphicsEnd:: + +BattleHudTiles1: INCBIN "gfx/battle/battle_hud_1.1bpp" +BattleHudTiles1End: +BattleHudTiles2: INCBIN "gfx/battle/battle_hud_2.1bpp" +BattleHudTiles3: INCBIN "gfx/battle/battle_hud_3.1bpp" +BattleHudTiles3End: + +NintendoCopyrightLogoGraphics: INCBIN "gfx/intro_credits/copyright.2bpp" + +GamefreakLogoGraphics: INCBIN "gfx/title/gamefreak_inc.2bpp" +GamefreakLogoGraphicsEnd: + +TextBoxGraphics:: INCBIN "gfx/font/font_extra.2bpp" +TextBoxGraphicsEnd:: + +PokedexTileGraphics: INCBIN "gfx/pokedex/pokedex.2bpp" +PokedexTileGraphicsEnd: + +WorldMapTileGraphics: INCBIN "gfx/town_map/town_map.2bpp" +WorldMapTileGraphicsEnd: + +PlayerCharacterTitleGraphics: INCBIN "gfx/title/player.2bpp" +PlayerCharacterTitleGraphicsEnd: diff --git a/pics.asm b/gfx/pics.asm similarity index 100% rename from pics.asm rename to gfx/pics.asm diff --git a/gfx/player.asm b/gfx/player.asm new file mode 100644 index 00000000..188daaf2 --- /dev/null +++ b/gfx/player.asm @@ -0,0 +1,3 @@ +RedPicFront:: INCBIN "gfx/player/red.pic" +ShrinkPic1:: INCBIN "gfx/player/shrink1.pic" +ShrinkPic2:: INCBIN "gfx/player/shrink2.pic" diff --git a/sprites.asm b/gfx/sprites.asm similarity index 100% rename from sprites.asm rename to gfx/sprites.asm diff --git a/tilesets.asm b/gfx/tilesets.asm similarity index 100% rename from tilesets.asm rename to gfx/tilesets.asm diff --git a/gfx/trade.asm b/gfx/trade.asm new file mode 100644 index 00000000..e5d8db05 --- /dev/null +++ b/gfx/trade.asm @@ -0,0 +1,7 @@ +TradingAnimationGraphics: +INCBIN "gfx/trade/game_boy.2bpp" +INCBIN "gfx/trade/link_cable.2bpp" +TradingAnimationGraphicsEnd: + +TradingAnimationGraphics2: INCBIN "gfx/trade/cable_ball.2bpp" +TradingAnimationGraphics2End: diff --git a/gfx/trainer_card.asm b/gfx/trainer_card.asm new file mode 100644 index 00000000..7484e4ee --- /dev/null +++ b/gfx/trainer_card.asm @@ -0,0 +1,8 @@ +TrainerInfoTextBoxTileGraphics: INCBIN "gfx/trainer_card/trainer_info.2bpp" +TrainerInfoTextBoxTileGraphicsEnd: + +BlankLeaderNames: INCBIN "gfx/trainer_card/blank_leader_names.2bpp" + +CircleTile: INCBIN "gfx/trainer_card/circle_tile.2bpp" + +BadgeNumbersTileGraphics: INCBIN "gfx/trainer_card/badge_numbers.2bpp" diff --git a/gfx/version.asm b/gfx/version.asm new file mode 100644 index 00000000..6f49bca9 --- /dev/null +++ b/gfx/version.asm @@ -0,0 +1,8 @@ +Version_GFX: +IF DEF(_RED) + INCBIN "gfx/title/red_version.1bpp" ; 10 tiles +ENDC +IF DEF(_BLUE) + INCBIN "gfx/title/blue_version.1bpp" ; 8 tiles +ENDC +Version_GFXEnd: diff --git a/home.asm b/home.asm index dfa1bec2..19101c9a 100644 --- a/home.asm +++ b/home.asm @@ -1,120 +1,24 @@ INCLUDE "constants.asm" -; The rst vectors are unused. -SECTION "rst 00", ROM0 - rst $38 -SECTION "rst 08", ROM0 - rst $38 -SECTION "rst 10", ROM0 - rst $38 -SECTION "rst 18", ROM0 - rst $38 -SECTION "rst 20", ROM0 - rst $38 -SECTION "rst 28", ROM0 - rst $38 -SECTION "rst 30", ROM0 - rst $38 -SECTION "rst 38", ROM0 - rst $38 +SECTION "NULL", ROM0 +NULL:: -; Hardware interrupts -SECTION "vblank", ROM0 - jp VBlank -SECTION "hblank", ROM0 - rst $38 -SECTION "timer", ROM0 - jp Timer -SECTION "serial", ROM0 - jp Serial -SECTION "joypad", ROM0 - reti +INCLUDE "home/header.asm" + + +SECTION "High Home", ROM0 + +INCLUDE "home/lcd.asm" +INCLUDE "home/clear_sprites.asm" +INCLUDE "home/copy.asm" SECTION "Home", ROM0 -DisableLCD:: - xor a - ld [rIF], a - ld a, [rIE] - ld b, a - res 0, a - ld [rIE], a - -.wait - ld a, [rLY] - cp LY_VBLANK - jr nz, .wait - - ld a, [rLCDC] - and $ff ^ rLCDC_ENABLE_MASK - ld [rLCDC], a - ld a, b - ld [rIE], a - ret - -EnableLCD:: - ld a, [rLCDC] - set rLCDC_ENABLE, a - ld [rLCDC], a - ret - -ClearSprites:: - xor a - ld hl, wOAMBuffer - ld b, 40 * 4 -.loop - ld [hli], a - dec b - jr nz, .loop - ret - -HideSprites:: - ld a, 160 - ld hl, wOAMBuffer - ld de, 4 - ld b, 40 -.loop - ld [hl], a - add hl, de - dec b - jr nz, .loop - ret - -INCLUDE "home/copy.asm" - - -SECTION "Entry", ROM0 - - nop - jp Start - - -SECTION "Header", ROM0 - - ; The header is generated by rgbfix. - ; The space here is allocated to prevent code from being overwritten. - - ds $150 - $104 - - -SECTION "Main", ROM0 - -Start:: - cp GBC - jr z, .gbc - xor a - jr .ok -.gbc - ld a, 0 -.ok - ld [wGBC], a - jp Init - - +INCLUDE "home/start.asm" INCLUDE "home/joypad.asm" -INCLUDE "data/map_header_pointers.asm" +INCLUDE "data/maps/map_header_pointers.asm" INCLUDE "home/overworld.asm" CheckForUserInterruption:: @@ -149,10 +53,10 @@ CheckForUserInterruption:: ; a = ID of destination warp within destination map LoadDestinationWarpPosition:: ld b, a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wPredefParentBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, b add a @@ -164,753 +68,14 @@ LoadDestinationWarpPosition:: ld de, wCurrentTileBlockMapViewPointer call CopyData pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret - -DrawHPBar:: -; Draw an HP bar d tiles long, and fill it to e pixels. -; If c is nonzero, show at least a sliver regardless. -; The right end of the bar changes with [wHPBarType]. - - push hl - push de - push bc - - ; Left - ld a, $71 ; "HP:" - ld [hli], a - ld a, $62 - ld [hli], a - - push hl - - ; Middle - ld a, $63 ; empty -.draw - ld [hli], a - dec d - jr nz, .draw - - ; Right - ld a, [wHPBarType] - dec a - ld a, $6d ; status screen and battle - jr z, .ok - dec a ; pokemon menu -.ok - ld [hl], a - - pop hl - - ld a, e - and a - jr nz, .fill - - ; If c is nonzero, draw a pixel anyway. - ld a, c - and a - jr z, .done - ld e, 1 - -.fill - ld a, e - sub 8 - jr c, .partial - ld e, a - ld a, $6b ; full - ld [hli], a - ld a, e - and a - jr z, .done - jr .fill - -.partial - ; Fill remaining pixels at the end if necessary. - ld a, $63 ; empty - add e - ld [hl], a -.done - pop bc - pop de - pop hl - ret - - -; loads pokemon data from one of multiple sources to wLoadedMon -; loads base stats to wMonHeader -; INPUT: -; [wWhichPokemon] = index of pokemon within party/box -; [wMonDataLocation] = source -; 00: player's party -; 01: enemy's party -; 02: current box -; 03: daycare -; OUTPUT: -; [wcf91] = pokemon ID -; wLoadedMon = base address of pokemon data -; wMonHeader = base address of base stats -LoadMonData:: - jpab LoadMonData_ - -OverwritewMoves:: -; Write c to [wMoves + b]. Unused. - ld hl, wMoves - ld e, b - ld d, 0 - add hl, de - ld a, c - ld [hl], a - ret - -LoadFlippedFrontSpriteByMonIndex:: - ld a, 1 - ld [wSpriteFlipped], a - -LoadFrontSpriteByMonIndex:: - push hl - ld a, [wd11e] - push af - ld a, [wcf91] - ld [wd11e], a - predef IndexToPokedex - ld hl, wd11e - ld a, [hl] - pop bc - ld [hl], b - and a - pop hl - jr z, .invalidDexNumber ; dex #0 invalid - cp NUM_POKEMON + 1 - jr c, .validDexNumber ; dex >#151 invalid -.invalidDexNumber - ld a, RHYDON ; $1 - ld [wcf91], a - ret -.validDexNumber - push hl - ld de, vFrontPic - call LoadMonFrontSprite - pop hl - ld a, [H_LOADEDROMBANK] - push af - ld a, Bank(CopyUncompressedPicToHL) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - xor a - ld [hStartTileID], a - call CopyUncompressedPicToHL - xor a - ld [wSpriteFlipped], a - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - - -PlayCry:: -; Play monster a's cry. - call GetCryData - call PlaySound - jp WaitForSoundToFinish - -GetCryData:: -; Load cry data for monster a. - dec a - ld c, a - ld b, 0 - ld hl, CryData - add hl, bc - add hl, bc - add hl, bc - - ld a, BANK(CryData) - call BankswitchHome - ld a, [hli] - ld b, a ; cry id - ld a, [hli] - ld [wFrequencyModifier], a - ld a, [hl] - ld [wTempoModifier], a - call BankswitchBack - - ; Cry headers have 3 channels, - ; and start from index CRY_SFX_START, - ; so add 3 times the cry id. - ld a, b - ld c, CRY_SFX_START - rlca ; * 2 - add b - add c - ret - -DisplayPartyMenu:: - ld a, [hTilesetType] - push af - xor a - ld [hTilesetType], a - call GBPalWhiteOutWithDelay3 - call ClearSprites - call PartyMenuInit - call DrawPartyMenu - jp HandlePartyMenuInput - -GoBackToPartyMenu:: - ld a, [hTilesetType] - push af - xor a - ld [hTilesetType], a - call PartyMenuInit - call RedrawPartyMenu - jp HandlePartyMenuInput - -PartyMenuInit:: - ld a, 1 ; hardcoded bank - call BankswitchHome - call LoadHpBarAndStatusTilePatterns - ld hl, wd730 - set 6, [hl] ; turn off letter printing delay - xor a ; PLAYER_PARTY_DATA - ld [wMonDataLocation], a - ld [wMenuWatchMovingOutOfBounds], a - ld hl, wTopMenuItemY - inc a - ld [hli], a ; top menu item Y - xor a - ld [hli], a ; top menu item X - ld a, [wPartyAndBillsPCSavedMenuItem] - push af - ld [hli], a ; current menu item ID - inc hl - ld a, [wPartyCount] - and a ; are there more than 0 pokemon in the party? - jr z, .storeMaxMenuItemID - dec a -; if party is not empty, the max menu item ID is ([wPartyCount] - 1) -; otherwise, it is 0 -.storeMaxMenuItemID - ld [hli], a ; max menu item ID - ld a, [wForcePlayerToChooseMon] - and a - ld a, A_BUTTON | B_BUTTON - jr z, .next - xor a - ld [wForcePlayerToChooseMon], a - inc a ; a = A_BUTTON -.next - ld [hli], a ; menu watched keys - pop af - ld [hl], a ; old menu item ID - ret - -HandlePartyMenuInput:: - ld a, 1 - ld [wMenuWrappingEnabled], a - ld a, $40 - ld [wPartyMenuAnimMonEnabled], a - call HandleMenuInput_ - call PlaceUnfilledArrowMenuCursor - ld b, a - xor a - ld [wPartyMenuAnimMonEnabled], a - ld a, [wCurrentMenuItem] - ld [wPartyAndBillsPCSavedMenuItem], a - ld hl, wd730 - res 6, [hl] ; turn on letter printing delay - ld a, [wMenuItemToSwap] - and a - jp nz, .swappingPokemon - pop af - ld [hTilesetType], a - bit 1, b - jr nz, .noPokemonChosen - ld a, [wPartyCount] - and a - jr z, .noPokemonChosen - ld a, [wCurrentMenuItem] - ld [wWhichPokemon], a - ld hl, wPartySpecies - ld b, 0 - ld c, a - add hl, bc - ld a, [hl] - ld [wcf91], a - ld [wBattleMonSpecies2], a - call BankswitchBack - and a - ret -.noPokemonChosen - call BankswitchBack - scf - ret -.swappingPokemon - bit 1, b ; was the B button pressed? - jr z, .handleSwap ; if not, handle swapping the pokemon -.cancelSwap ; if the B button was pressed - callba ErasePartyMenuCursors - xor a - ld [wMenuItemToSwap], a - ld [wPartyMenuTypeOrMessageID], a - call RedrawPartyMenu - jr HandlePartyMenuInput -.handleSwap - ld a, [wCurrentMenuItem] - ld [wWhichPokemon], a - callba SwitchPartyMon - jr HandlePartyMenuInput - -DrawPartyMenu:: - ld hl, DrawPartyMenu_ - jr DrawPartyMenuCommon - -RedrawPartyMenu:: - ld hl, RedrawPartyMenu_ - -DrawPartyMenuCommon:: - ld b, BANK(RedrawPartyMenu_) - jp Bankswitch - -; prints a pokemon's status condition -; INPUT: -; de = address of status condition -; hl = destination address -PrintStatusCondition:: - push de - dec de - dec de ; de = address of current HP - ld a, [de] - ld b, a - dec de - ld a, [de] - or b ; is the pokemon's HP zero? - pop de - jr nz, PrintStatusConditionNotFainted -; if the pokemon's HP is 0, print "FNT" - ld a, "F" - ld [hli], a - ld a, "N" - ld [hli], a - ld [hl], "T" - and a - ret - -PrintStatusConditionNotFainted:: - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(PrintStatusAilment) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call PrintStatusAilment ; print status condition - pop bc - ld a, b - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - -; function to print pokemon level, leaving off the ":L" if the level is at least 100 -; INPUT: -; hl = destination address -; [wLoadedMonLevel] = level -PrintLevel:: - ld a, $6e ; ":L" tile ID - ld [hli], a - ld c, 2 ; number of digits - ld a, [wLoadedMonLevel] ; level - cp 100 - jr c, PrintLevelCommon -; if level at least 100, write over the ":L" tile - dec hl - inc c ; increment number of digits to 3 - jr PrintLevelCommon - -; prints the level without leaving off ":L" regardless of level -; INPUT: -; hl = destination address -; [wLoadedMonLevel] = level -PrintLevelFull:: - ld a, $6e ; ":L" tile ID - ld [hli], a - ld c, 3 ; number of digits - ld a, [wLoadedMonLevel] ; level - -PrintLevelCommon:: - ld [wd11e], a - ld de, wd11e - ld b, LEFT_ALIGN | 1 ; 1 byte - jp PrintNumber - -GetwMoves:: -; Unused. Returns the move at index a from wMoves in a - ld hl, wMoves - ld c, a - ld b, 0 - add hl, bc - ld a, [hl] - ret - -; copies the base stat data of a pokemon to wMonHeader -; INPUT: -; [wd0b5] = pokemon ID -GetMonHeader:: - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(BaseStats) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - push bc - push de - push hl - ld a, [wd11e] - push af - ld a, [wd0b5] - ld [wd11e], a - ld de, FossilKabutopsPic - ld b, $66 ; size of Kabutops fossil and Ghost sprites - cp FOSSIL_KABUTOPS ; Kabutops fossil - jr z, .specialID - ld de, GhostPic - cp MON_GHOST ; Ghost - jr z, .specialID - ld de, FossilAerodactylPic - ld b, $77 ; size of Aerodactyl fossil sprite - cp FOSSIL_AERODACTYL ; Aerodactyl fossil - jr z, .specialID - cp MEW - jr z, .mew - predef IndexToPokedex ; convert pokemon ID in [wd11e] to pokedex number - ld a, [wd11e] - dec a - ld bc, MonBaseStatsEnd - MonBaseStats - ld hl, BaseStats - call AddNTimes - ld de, wMonHeader - ld bc, MonBaseStatsEnd - MonBaseStats - call CopyData - jr .done -.specialID - ld hl, wMonHSpriteDim - ld [hl], b ; write sprite dimensions - inc hl - ld [hl], e ; write front sprite pointer - inc hl - ld [hl], d - jr .done -.mew - ld hl, MewBaseStats - ld de, wMonHeader - ld bc, MonBaseStatsEnd - MonBaseStats - ld a, BANK(MewBaseStats) - call FarCopyData -.done - ld a, [wd0b5] - ld [wMonHIndex], a - pop af - ld [wd11e], a - pop hl - pop de - pop bc - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - -; copy party pokemon's name to wcd6d -GetPartyMonName2:: - ld a, [wWhichPokemon] ; index within party - ld hl, wPartyMonNicks - -; this is called more often -GetPartyMonName:: - push hl - push bc - call SkipFixedLengthTextEntries ; add NAME_LENGTH to hl, a times - ld de, wcd6d - push de - ld bc, NAME_LENGTH - call CopyData - pop de - pop bc - pop hl - ret - -; function to print a BCD (Binary-coded decimal) number -; de = address of BCD number -; hl = destination address -; c = flags and length -; bit 7: if set, do not print leading zeroes -; if unset, print leading zeroes -; bit 6: if set, left-align the string (do not pad empty digits with spaces) -; if unset, right-align the string -; bit 5: if set, print currency symbol at the beginning of the string -; if unset, do not print the currency symbol -; bits 0-4: length of BCD number in bytes -; Note that bits 5 and 7 are modified during execution. The above reflects -; their meaning at the beginning of the functions's execution. -PrintBCDNumber:: - ld b, c ; save flags in b - res 7, c - res 6, c - res 5, c ; c now holds the length - bit 5, b - jr z, .loop - bit 7, b - jr nz, .loop - ld [hl], "¥" - inc hl -.loop - ld a, [de] - swap a - call PrintBCDDigit ; print upper digit - ld a, [de] - call PrintBCDDigit ; print lower digit - inc de - dec c - jr nz, .loop - bit 7, b ; were any non-zero digits printed? - jr z, .done ; if so, we are done -.numberEqualsZero ; if every digit of the BCD number is zero - bit 6, b ; left or right alignment? - jr nz, .skipRightAlignmentAdjustment - dec hl ; if the string is right-aligned, it needs to be moved back one space -.skipRightAlignmentAdjustment - bit 5, b - jr z, .skipCurrencySymbol - ld [hl], "¥" - inc hl -.skipCurrencySymbol - ld [hl], "0" - call PrintLetterDelay - inc hl -.done - ret - -PrintBCDDigit:: - and $f - and a - jr z, .zeroDigit -.nonzeroDigit - bit 7, b ; have any non-space characters been printed? - jr z, .outputDigit -; if bit 7 is set, then no numbers have been printed yet - bit 5, b ; print the currency symbol? - jr z, .skipCurrencySymbol - ld [hl], "¥" - inc hl - res 5, b -.skipCurrencySymbol - res 7, b ; unset 7 to indicate that a nonzero digit has been reached -.outputDigit - add "0" - ld [hli], a - jp PrintLetterDelay -.zeroDigit - bit 7, b ; either printing leading zeroes or already reached a nonzero digit? - jr z, .outputDigit ; if so, print a zero digit - bit 6, b ; left or right alignment? - ret nz - inc hl ; if right-aligned, "print" a space by advancing the pointer - ret - -; uncompresses the front or back sprite of the specified mon -; assumes the corresponding mon header is already loaded -; hl contains offset to sprite pointer ($b for front or $d for back) -UncompressMonSprite:: - ld bc, wMonHeader - add hl, bc - ld a, [hli] - ld [wSpriteInputPtr], a ; fetch sprite input pointer - ld a, [hl] - ld [wSpriteInputPtr+1], a -; define (by index number) the bank that a pokemon's image is in -; index = Mew, bank 1 -; index = Kabutops fossil, bank $B -; index < $1F, bank 9 -; $1F ≤ index < $4A, bank $A -; $4A ≤ index < $74, bank $B -; $74 ≤ index < $99, bank $C -; $99 ≤ index, bank $D - ld a, [wcf91] ; XXX name for this ram location - ld b, a - cp MEW - ld a, BANK(MewPicFront) - jr z, .GotBank - ld a, b - cp FOSSIL_KABUTOPS - ld a, BANK(FossilKabutopsPic) - jr z, .GotBank - ld a, b - cp TANGELA + 1 - ld a, BANK(TangelaPicFront) - jr c, .GotBank - ld a, b - cp MOLTRES + 1 - ld a, BANK(MoltresPicFront) - jr c, .GotBank - ld a, b - cp BEEDRILL + 2 - ld a, BANK(BeedrillPicFront) - jr c, .GotBank - ld a, b - cp STARMIE + 1 - ld a, BANK(StarmiePicFront) - jr c, .GotBank - ld a, BANK(VictreebelPicFront) -.GotBank - jp UncompressSpriteData - -; de: destination location -LoadMonFrontSprite:: - push de - ld hl, wMonHFrontSprite - wMonHeader - call UncompressMonSprite - ld hl, wMonHSpriteDim - ld a, [hli] - ld c, a - pop de - ; fall through - -; postprocesses uncompressed sprite chunks to a 2bpp sprite and loads it into video ram -; calculates alignment parameters to place both sprite chunks in the center of the 7*7 tile sprite buffers -; de: destination location -; a,c: sprite dimensions (in tiles of 8x8 each) -LoadUncompressedSpriteData:: - push de - and $f - ld [H_SPRITEWIDTH], a ; each byte contains 8 pixels (in 1bpp), so tiles=bytes for width - ld b, a - ld a, $7 - sub b ; 7-w - inc a ; 8-w - srl a ; (8-w)/2 ; horizontal center (in tiles, rounded up) - ld b, a - add a - add a - add a - sub b ; 7*((8-w)/2) ; skip for horizontal center (in tiles) - ld [H_SPRITEOFFSET], a - ld a, c - swap a - and $f - ld b, a - add a - add a - add a ; 8*tiles is height in bytes - ld [H_SPRITEHEIGHT], a - ld a, $7 - sub b ; 7-h ; skip for vertical center (in tiles, relative to current column) - ld b, a - ld a, [H_SPRITEOFFSET] - add b ; 7*((8-w)/2) + 7-h ; combined overall offset (in tiles) - add a - add a - add a ; 8*(7*((8-w)/2) + 7-h) ; combined overall offset (in bytes) - ld [H_SPRITEOFFSET], a - xor a - ld [$4000], a - ld hl, sSpriteBuffer0 - call ZeroSpriteBuffer ; zero buffer 0 - ld de, sSpriteBuffer1 - ld hl, sSpriteBuffer0 - call AlignSpriteDataCentered ; copy and align buffer 1 to 0 (containing the MSB of the 2bpp sprite) - ld hl, sSpriteBuffer1 - call ZeroSpriteBuffer ; zero buffer 1 - ld de, sSpriteBuffer2 - ld hl, sSpriteBuffer1 - call AlignSpriteDataCentered ; copy and align buffer 2 to 1 (containing the LSB of the 2bpp sprite) - pop de - jp InterlaceMergeSpriteBuffers - -; copies and aligns the sprite data properly inside the sprite buffer -; sprite buffers are 7*7 tiles in size, the loaded sprite is centered within this area -AlignSpriteDataCentered:: - ld a, [H_SPRITEOFFSET] - ld b, $0 - ld c, a - add hl, bc - ld a, [H_SPRITEWIDTH] -.columnLoop - push af - push hl - ld a, [H_SPRITEHEIGHT] - ld c, a -.columnInnerLoop - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .columnInnerLoop - pop hl - ld bc, 7*8 ; 7 tiles - add hl, bc ; advance one full column - pop af - dec a - jr nz, .columnLoop - ret - -; fills the sprite buffer (pointed to in hl) with zeros -ZeroSpriteBuffer:: - ld bc, SPRITEBUFFERSIZE -.nextByteLoop - xor a - ld [hli], a - dec bc - ld a, b - or c - jr nz, .nextByteLoop - ret - -; combines the (7*7 tiles, 1bpp) sprite chunks in buffer 0 and 1 into a 2bpp sprite located in buffer 1 through 2 -; in the resulting sprite, the rows of the two source sprites are interlaced -; de: output address -InterlaceMergeSpriteBuffers:: - xor a - ld [$4000], a - push de - ld hl, sSpriteBuffer2 + (SPRITEBUFFERSIZE - 1) ; destination: end of buffer 2 - ld de, sSpriteBuffer1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1 - ld bc, sSpriteBuffer0 + (SPRITEBUFFERSIZE - 1) ; source 1: end of buffer 0 - ld a, SPRITEBUFFERSIZE/2 ; $c4 - ld [H_SPRITEINTERLACECOUNTER], a -.interlaceLoop - ld a, [de] - dec de - ld [hld], a ; write byte of source 2 - ld a, [bc] - dec bc - ld [hld], a ; write byte of source 1 - ld a, [de] - dec de - ld [hld], a ; write byte of source 2 - ld a, [bc] - dec bc - ld [hld], a ; write byte of source 1 - ld a, [H_SPRITEINTERLACECOUNTER] - dec a - ld [H_SPRITEINTERLACECOUNTER], a - jr nz, .interlaceLoop - ld a, [wSpriteFlipped] - and a - jr z, .notFlipped - ld bc, 2*SPRITEBUFFERSIZE - ld hl, sSpriteBuffer1 -.swapLoop - swap [hl] ; if flipped swap nybbles in all bytes - inc hl - dec bc - ld a, b - or c - jr nz, .swapLoop -.notFlipped - pop hl - ld de, sSpriteBuffer1 - ld c, (2*SPRITEBUFFERSIZE)/16 ; $31, number of 16 byte chunks to be copied - ld a, [H_LOADEDROMBANK] - ld b, a - jp CopyVideoData - - -INCLUDE "data/collision_tile_ids.asm" +INCLUDE "home/pokemon.asm" +INCLUDE "home/print_bcd.asm" +INCLUDE "home/pics.asm" +INCLUDE "data/tilesets/collision_tile_ids.asm" INCLUDE "home/copy2.asm" INCLUDE "home/text.asm" INCLUDE "home/vcopy.asm" @@ -921,58 +86,24 @@ INCLUDE "home/serial.asm" INCLUDE "home/timer.asm" INCLUDE "home/audio.asm" - UpdateSprites:: ld a, [wUpdateSpritesEnabled] dec a ret nz - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af - ld a, Bank(_UpdateSprites) - ld [H_LOADEDROMBANK], a + ld a, BANK(_UpdateSprites) + ld [hLoadedROMBank], a ld [MBC1RomBank], a call _UpdateSprites pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret -INCLUDE "data/mart_inventories.asm" - -TextScriptEndingChar:: - db "@" -TextScriptEnd:: - ld hl, TextScriptEndingChar - ret - -ExclamationText:: - TX_FAR _ExclamationText - db "@" - -GroundRoseText:: - TX_FAR _GroundRoseText - db "@" - -BoulderText:: - TX_FAR _BoulderText - db "@" - -MartSignText:: - TX_FAR _MartSignText - db "@" - -PokeCenterSignText:: - TX_FAR _PokeCenterSignText - db "@" - -PickUpItemText:: - TX_ASM - predef PickUpItem - jp TextScriptEnd - - -INCLUDE "home/pic.asm" - +INCLUDE "data/items/marts.asm" +INCLUDE "home/overworld_text.asm" +INCLUDE "home/uncompress.asm" ResetPlayerSpriteData:: ld hl, wSpriteStateData1 @@ -1035,7 +166,7 @@ FadeOutAudio:: ld b, a xor a ld [wAudioFadeOutControl], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, [wAudioSavedROMBank] @@ -1044,244 +175,7 @@ FadeOutAudio:: ld [wNewSoundID], a jp PlaySound -; this function is used to display sign messages, sprite dialog, etc. -; INPUT: [hSpriteIndexOrTextID] = sprite ID or text ID -DisplayTextID:: - ld a, [H_LOADEDROMBANK] - push af - callba DisplayTextIDInit ; initialization - ld hl, wTextPredefFlag - bit 0, [hl] - res 0, [hl] - jr nz, .skipSwitchToMapBank - ld a, [wCurMap] - call SwitchToMapRomBank -.skipSwitchToMapBank - ld a, 30 ; half a second - ld [H_FRAMECOUNTER], a ; used as joypad poll timer - ld hl, wMapTextPtr - ld a, [hli] - ld h, [hl] - ld l, a ; hl = map text pointer - ld d, $00 - ld a, [hSpriteIndexOrTextID] ; text ID - ld [wSpriteIndex], a - and a - jp z, DisplayStartMenu - cp TEXT_SAFARI_GAME_OVER - jp z, DisplaySafariGameOverText - cp TEXT_MON_FAINTED - jp z, DisplayPokemonFaintedText - cp TEXT_BLACKED_OUT - jp z, DisplayPlayerBlackedOutText - cp TEXT_REPEL_WORE_OFF - jp z, DisplayRepelWoreOffText - ld a, [wNumSprites] - ld e, a - ld a, [hSpriteIndexOrTextID] ; sprite ID - cp e - jr z, .spriteHandling - jr nc, .skipSpriteHandling -.spriteHandling -; get the text ID of the sprite - push hl - push de - push bc - callba UpdateSpriteFacingOffsetAndDelayMovement ; update the graphics of the sprite the player is talking to (to face the right direction) - pop bc - pop de - ld hl, wMapSpriteData ; NPC text entries - ld a, [hSpriteIndexOrTextID] - dec a - add a - add l - ld l, a - jr nc, .noCarry - inc h -.noCarry - inc hl - ld a, [hl] ; a = text ID of the sprite - pop hl -.skipSpriteHandling -; look up the address of the text in the map's text entries - dec a - ld e, a - sla e - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a ; hl = address of the text - ld a, [hl] ; a = first byte of text -; check first byte of text for special cases - cp $fe ; Pokemart NPC - jp z, DisplayPokemartDialogue - cp $ff ; Pokemon Center NPC - jp z, DisplayPokemonCenterDialogue - cp $fc ; Item Storage PC - jp z, FuncTX_ItemStoragePC - cp $fd ; Bill's PC - jp z, FuncTX_BillsPC - cp $f9 ; Pokemon Center PC - jp z, FuncTX_PokemonCenterPC - cp $f5 ; Vending Machine - jr nz, .notVendingMachine - callba VendingMachineMenu ; jump banks to vending machine routine - jr AfterDisplayingTextID -.notVendingMachine - cp $f7 ; prize menu - jp z, FuncTX_GameCornerPrizeMenu - cp $f6 ; cable connection NPC in Pokemon Center - jr nz, .notSpecialCase - callab CableClubNPC - jr AfterDisplayingTextID -.notSpecialCase - call PrintText_NoCreatingTextBox ; display the text - ld a, [wDoNotWaitForButtonPressAfterDisplayingText] - and a - jr nz, HoldTextDisplayOpen - -AfterDisplayingTextID:: - ld a, [wEnteringCableClub] - and a - jr nz, HoldTextDisplayOpen - call WaitForTextScrollButtonPress ; wait for a button press after displaying all the text - -; loop to hold the dialogue box open as long as the player keeps holding down the A button -HoldTextDisplayOpen:: - call Joypad - ld a, [hJoyHeld] - bit 0, a ; is the A button being pressed? - jr nz, HoldTextDisplayOpen - -CloseTextDisplay:: - ld a, [wCurMap] - call SwitchToMapRomBank - ld a, $90 - ld [hWY], a ; move the window off the screen - call DelayFrame - call LoadGBPal - xor a - ld [H_AUTOBGTRANSFERENABLED], a ; disable continuous WRAM to VRAM transfer each V-blank -; loop to make sprites face the directions they originally faced before the dialogue - ld hl, wSpriteStateData2 + $19 - ld c, $0f - ld de, $0010 -.restoreSpriteFacingDirectionLoop - ld a, [hl] - dec h - ld [hl], a - inc h - add hl, de - dec c - jr nz, .restoreSpriteFacingDirectionLoop - ld a, BANK(InitMapSprites) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call InitMapSprites ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns) - ld hl, wFontLoaded - res 0, [hl] - ld a, [wd732] - bit 3, a ; used fly warp - call z, LoadPlayerSpriteGraphics - call LoadCurrentMapView - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - jp UpdateSprites - -DisplayPokemartDialogue:: - push hl - ld hl, PokemartGreetingText - call PrintText - pop hl - inc hl - call LoadItemList - ld a, PRICEDITEMLISTMENU - ld [wListMenuID], a - ld a, [H_LOADEDROMBANK] - push af - ld a, Bank(DisplayPokemartDialogue_) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call DisplayPokemartDialogue_ - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - jp AfterDisplayingTextID - -PokemartGreetingText:: - TX_FAR _PokemartGreetingText - db "@" - -LoadItemList:: - ld a, 1 - ld [wUpdateSpritesEnabled], a - ld a, h - ld [wItemListPointer], a - ld a, l - ld [wItemListPointer + 1], a - ld de, wItemList -.loop - ld a, [hli] - ld [de], a - inc de - cp $ff - jr nz, .loop - ret - -DisplayPokemonCenterDialogue:: -; zeroing these doesn't appear to serve any purpose - xor a - ld [$ff8b], a - ld [$ff8c], a - ld [$ff8d], a - - inc hl - ld a, [H_LOADEDROMBANK] - push af - ld a, Bank(DisplayPokemonCenterDialogue_) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call DisplayPokemonCenterDialogue_ - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - jp AfterDisplayingTextID - -DisplaySafariGameOverText:: - callab PrintSafariGameOverText - jp AfterDisplayingTextID - -DisplayPokemonFaintedText:: - ld hl, PokemonFaintedText - call PrintText - jp AfterDisplayingTextID - -PokemonFaintedText:: - TX_FAR _PokemonFaintedText - db "@" - -DisplayPlayerBlackedOutText:: - ld hl, PlayerBlackedOutText - call PrintText - ld a, [wd732] - res 5, a ; reset forced to use bike bit - ld [wd732], a - jp HoldTextDisplayOpen - -PlayerBlackedOutText:: - TX_FAR _PlayerBlackedOutText - db "@" - -DisplayRepelWoreOffText:: - ld hl, RepelWoreOffText - call PrintText - jp AfterDisplayingTextID - -RepelWoreOffText:: - TX_FAR _RepelWoreOffText - db "@" - +INCLUDE "home/predef_text.asm" INCLUDE "home/start_menu.asm" ; function to count how many bits are set in a string of bytes @@ -1333,14 +227,14 @@ AddAmountSoldToMoney:: ; [wWhichPokemon] = index (within the inventory) of the item to remove ; [wItemQuantity] = quantity to remove RemoveItemFromInventory:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(RemoveItemFromInventory_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call RemoveItemFromInventory_ pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -1352,692 +246,25 @@ RemoveItemFromInventory:: ; sets carry flag if successful, unsets carry flag if unsuccessful AddItemToInventory:: push bc - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(AddItemToInventory_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call AddItemToInventory_ pop bc ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop bc ret -; INPUT: -; [wListMenuID] = list menu ID -; [wListPointer] = address of the list (2 bytes) -DisplayListMenuID:: - xor a - ld [H_AUTOBGTRANSFERENABLED], a ; disable auto-transfer - ld a, 1 - ld [hJoy7], a ; joypad state update flag - ld a, [wBattleType] - and a ; is it the Old Man battle? - jr nz, .specialBattleType - ld a, $01 ; hardcoded bank - jr .bankswitch -.specialBattleType ; Old Man battle - ld a, BANK(DisplayBattleMenu) -.bankswitch - call BankswitchHome - ld hl, wd730 - set 6, [hl] ; turn off letter printing delay - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - ld [wListCount], a - ld a, [wListPointer] - ld l, a - ld a, [wListPointer + 1] - ld h, a ; hl = address of the list - ld a, [hl] ; the first byte is the number of entries in the list - ld [wListCount], a - ld a, LIST_MENU_BOX - ld [wTextBoxID], a - call DisplayTextBoxID ; draw the menu text box - call UpdateSprites ; disable sprites behind the text box -; the code up to .skipMovingSprites appears to be useless - coord hl, 4, 2 ; coordinates of upper left corner of menu text box - lb de, 9, 14 ; height and width of menu text box - ld a, [wListMenuID] - and a ; is it a PC pokemon list? - jr nz, .skipMovingSprites - call UpdateSprites -.skipMovingSprites - ld a, 1 ; max menu item ID is 1 if the list has less than 2 entries - ld [wMenuWatchMovingOutOfBounds], a - ld a, [wListCount] - cp 2 ; does the list have less than 2 entries? - jr c, .setMenuVariables - ld a, 2 ; max menu item ID is 2 if the list has at least 2 entries -.setMenuVariables - ld [wMaxMenuItem], a - ld a, 4 - ld [wTopMenuItemY], a - ld a, 5 - ld [wTopMenuItemX], a - ld a, A_BUTTON | B_BUTTON | SELECT - ld [wMenuWatchedKeys], a - ld c, 10 - call DelayFrames - -DisplayListMenuIDLoop:: - xor a - ld [H_AUTOBGTRANSFERENABLED], a ; disable transfer - call PrintListMenuEntries - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a ; enable transfer - call Delay3 - ld a, [wBattleType] - and a ; is it the Old Man battle? - jr z, .notOldManBattle -.oldManBattle - ld a, "▶" - Coorda 5, 4 ; place menu cursor in front of first menu entry - ld c, 80 - call DelayFrames - xor a - ld [wCurrentMenuItem], a - coord hl, 5, 4 - ld a, l - ld [wMenuCursorLocation], a - ld a, h - ld [wMenuCursorLocation + 1], a - jr .buttonAPressed -.notOldManBattle - call LoadGBPal - call HandleMenuInput - push af - call PlaceMenuCursor - pop af - bit 0, a ; was the A button pressed? - jp z, .checkOtherKeys -.buttonAPressed - ld a, [wCurrentMenuItem] - call PlaceUnfilledArrowMenuCursor - -; pointless because both values are overwritten before they are read - ld a, $01 - ld [wMenuExitMethod], a - ld [wChosenMenuItem], a - - xor a - ld [wMenuWatchMovingOutOfBounds], a - ld a, [wCurrentMenuItem] - ld c, a - ld a, [wListScrollOffset] - add c - ld c, a - ld a, [wListCount] - and a ; is the list empty? - jp z, ExitListMenu ; if so, exit the menu - dec a - cp c ; did the player select Cancel? - jp c, ExitListMenu ; if so, exit the menu - ld a, c - ld [wWhichPokemon], a - ld a, [wListMenuID] - cp ITEMLISTMENU - jr nz, .skipMultiplying -; if it's an item menu - sla c ; item entries are 2 bytes long, so multiply by 2 -.skipMultiplying - ld a, [wListPointer] - ld l, a - ld a, [wListPointer + 1] - ld h, a - inc hl ; hl = beginning of list entries - ld b, 0 - add hl, bc - ld a, [hl] - ld [wcf91], a - ld a, [wListMenuID] - and a ; is it a PC pokemon list? - jr z, .pokemonList - push hl - call GetItemPrice - pop hl - ld a, [wListMenuID] - cp ITEMLISTMENU - jr nz, .skipGettingQuantity -; if it's an item menu - inc hl - ld a, [hl] ; a = item quantity - ld [wMaxItemQuantity], a -.skipGettingQuantity - ld a, [wcf91] - ld [wd0b5], a - ld a, BANK(ItemNames) - ld [wPredefBank], a - call GetName - jr .storeChosenEntry -.pokemonList - ld hl, wPartyCount - ld a, [wListPointer] - cp l ; is it a list of party pokemon or box pokemon? - ld hl, wPartyMonNicks - jr z, .getPokemonName - ld hl, wBoxMonNicks ; box pokemon names -.getPokemonName - ld a, [wWhichPokemon] - call GetPartyMonName -.storeChosenEntry ; store the menu entry that the player chose and return - ld de, wcd6d - call CopyStringToCF4B ; copy name to wcf4b - ld a, CHOSE_MENU_ITEM - ld [wMenuExitMethod], a - ld a, [wCurrentMenuItem] - ld [wChosenMenuItem], a - xor a - ld [hJoy7], a ; joypad state update flag - ld hl, wd730 - res 6, [hl] ; turn on letter printing delay - jp BankswitchBack -.checkOtherKeys ; check B, SELECT, Up, and Down keys - bit 1, a ; was the B button pressed? - jp nz, ExitListMenu ; if so, exit the menu - bit 2, a ; was the select button pressed? - jp nz, HandleItemListSwapping ; if so, allow the player to swap menu entries - ld b, a - bit 7, b ; was Down pressed? - ld hl, wListScrollOffset - jr z, .upPressed -.downPressed - ld a, [hl] - add 3 - ld b, a - ld a, [wListCount] - cp b ; will going down scroll past the Cancel button? - jp c, DisplayListMenuIDLoop - inc [hl] ; if not, go down - jp DisplayListMenuIDLoop -.upPressed - ld a, [hl] - and a - jp z, DisplayListMenuIDLoop - dec [hl] - jp DisplayListMenuIDLoop - -DisplayChooseQuantityMenu:: -; text box dimensions/coordinates for just quantity - coord hl, 15, 9 - ld b, 1 ; height - ld c, 3 ; width - ld a, [wListMenuID] - cp PRICEDITEMLISTMENU - jr nz, .drawTextBox -; text box dimensions/coordinates for quantity and price - coord hl, 7, 9 - ld b, 1 ; height - ld c, 11 ; width -.drawTextBox - call TextBoxBorder - coord hl, 16, 10 - ld a, [wListMenuID] - cp PRICEDITEMLISTMENU - jr nz, .printInitialQuantity - coord hl, 8, 10 -.printInitialQuantity - ld de, InitialQuantityText - call PlaceString - xor a - ld [wItemQuantity], a ; initialize current quantity to 0 - jp .incrementQuantity -.waitForKeyPressLoop - call JoypadLowSensitivity - ld a, [hJoyPressed] ; newly pressed buttons - bit 0, a ; was the A button pressed? - jp nz, .buttonAPressed - bit 1, a ; was the B button pressed? - jp nz, .buttonBPressed - bit 6, a ; was Up pressed? - jr nz, .incrementQuantity - bit 7, a ; was Down pressed? - jr nz, .decrementQuantity - jr .waitForKeyPressLoop -.incrementQuantity - ld a, [wMaxItemQuantity] - inc a - ld b, a - ld hl, wItemQuantity ; current quantity - inc [hl] - ld a, [hl] - cp b - jr nz, .handleNewQuantity -; wrap to 1 if the player goes above the max quantity - ld a, 1 - ld [hl], a - jr .handleNewQuantity -.decrementQuantity - ld hl, wItemQuantity ; current quantity - dec [hl] - jr nz, .handleNewQuantity -; wrap to the max quantity if the player goes below 1 - ld a, [wMaxItemQuantity] - ld [hl], a -.handleNewQuantity - coord hl, 17, 10 - ld a, [wListMenuID] - cp PRICEDITEMLISTMENU - jr nz, .printQuantity -.printPrice - ld c, $03 - ld a, [wItemQuantity] - ld b, a - ld hl, hMoney ; total price -; initialize total price to 0 - xor a - ld [hli], a - ld [hli], a - ld [hl], a -.addLoop ; loop to multiply the individual price by the quantity to get the total price - ld de, hMoney + 2 - ld hl, hItemPrice + 2 - push bc - predef AddBCDPredef ; add the individual price to the current sum - pop bc - dec b - jr nz, .addLoop - ld a, [hHalveItemPrices] - and a ; should the price be halved (for selling items)? - jr z, .skipHalvingPrice - xor a - ld [hDivideBCDDivisor], a - ld [hDivideBCDDivisor + 1], a - ld a, $02 - ld [hDivideBCDDivisor + 2], a - predef DivideBCDPredef3 ; halves the price -; store the halved price - ld a, [hDivideBCDQuotient] - ld [hMoney], a - ld a, [hDivideBCDQuotient + 1] - ld [hMoney + 1], a - ld a, [hDivideBCDQuotient + 2] - ld [hMoney + 2], a -.skipHalvingPrice - coord hl, 12, 10 - ld de, SpacesBetweenQuantityAndPriceText - call PlaceString - ld de, hMoney ; total price - ld c, $a3 - call PrintBCDNumber - coord hl, 9, 10 -.printQuantity - ld de, wItemQuantity ; current quantity - lb bc, LEADING_ZEROES | 1, 2 ; 1 byte, 2 digits - call PrintNumber - jp .waitForKeyPressLoop -.buttonAPressed ; the player chose to make the transaction - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - ret -.buttonBPressed ; the player chose to cancel the transaction - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - ld a, $ff - ret - -InitialQuantityText:: - db "×01@" - -SpacesBetweenQuantityAndPriceText:: - db " @" - -ExitListMenu:: - ld a, [wCurrentMenuItem] - ld [wChosenMenuItem], a - ld a, CANCELLED_MENU - ld [wMenuExitMethod], a - ld [wMenuWatchMovingOutOfBounds], a - xor a - ld [hJoy7], a - ld hl, wd730 - res 6, [hl] - call BankswitchBack - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - scf - ret - -PrintListMenuEntries:: - coord hl, 5, 3 - ld b, 9 - ld c, 14 - call ClearScreenArea - ld a, [wListPointer] - ld e, a - ld a, [wListPointer + 1] - ld d, a - inc de ; de = beginning of list entries - ld a, [wListScrollOffset] - ld c, a - ld a, [wListMenuID] - cp ITEMLISTMENU - ld a, c - jr nz, .skipMultiplying -; if it's an item menu -; item entries are 2 bytes long, so multiply by 2 - sla a - sla c -.skipMultiplying - add e - ld e, a - jr nc, .noCarry - inc d -.noCarry - coord hl, 6, 4 ; coordinates of first list entry name - ld b, 4 ; print 4 names -.loop - ld a, b - ld [wWhichPokemon], a - ld a, [de] - ld [wd11e], a - cp $ff - jp z, .printCancelMenuItem - push bc - push de - push hl - push hl - push de - ld a, [wListMenuID] - and a - jr z, .pokemonPCMenu - cp MOVESLISTMENU - jr z, .movesMenu -.itemMenu - call GetItemName - jr .placeNameString -.pokemonPCMenu - push hl - ld hl, wPartyCount - ld a, [wListPointer] - cp l ; is it a list of party pokemon or box pokemon? - ld hl, wPartyMonNicks - jr z, .getPokemonName - ld hl, wBoxMonNicks ; box pokemon names -.getPokemonName - ld a, [wWhichPokemon] - ld b, a - ld a, 4 - sub b - ld b, a - ld a, [wListScrollOffset] - add b - call GetPartyMonName - pop hl - jr .placeNameString -.movesMenu - call GetMoveName -.placeNameString - call PlaceString - pop de - pop hl - ld a, [wPrintItemPrices] - and a ; should prices be printed? - jr z, .skipPrintingItemPrice -.printItemPrice - push hl - ld a, [de] - ld de, ItemPrices - ld [wcf91], a - call GetItemPrice ; get price - pop hl - ld bc, SCREEN_WIDTH + 5 ; 1 row down and 5 columns right - add hl, bc - ld c, $a3 ; no leading zeroes, right-aligned, print currency symbol, 3 bytes - call PrintBCDNumber -.skipPrintingItemPrice - ld a, [wListMenuID] - and a - jr nz, .skipPrintingPokemonLevel -.printPokemonLevel - ld a, [wd11e] - push af - push hl - ld hl, wPartyCount - ld a, [wListPointer] - cp l ; is it a list of party pokemon or box pokemon? - ld a, PLAYER_PARTY_DATA - jr z, .next - ld a, BOX_DATA -.next - ld [wMonDataLocation], a - ld hl, wWhichPokemon - ld a, [hl] - ld b, a - ld a, $04 - sub b - ld b, a - ld a, [wListScrollOffset] - add b - ld [hl], a - call LoadMonData - ld a, [wMonDataLocation] - and a ; is it a list of party pokemon or box pokemon? - jr z, .skipCopyingLevel -.copyLevel - ld a, [wLoadedMonBoxLevel] - ld [wLoadedMonLevel], a -.skipCopyingLevel - pop hl - ld bc, $001c - add hl, bc - call PrintLevel - pop af - ld [wd11e], a -.skipPrintingPokemonLevel - pop hl - pop de - inc de - ld a, [wListMenuID] - cp ITEMLISTMENU - jr nz, .nextListEntry -.printItemQuantity - ld a, [wd11e] - ld [wcf91], a - call IsKeyItem ; check if item is unsellable - ld a, [wIsKeyItem] - and a ; is the item unsellable? - jr nz, .skipPrintingItemQuantity ; if so, don't print the quantity - push hl - ld bc, SCREEN_WIDTH + 8 ; 1 row down and 8 columns right - add hl, bc - ld a, "×" - ld [hli], a - ld a, [wd11e] - push af - ld a, [de] - ld [wMaxItemQuantity], a - push de - ld de, wd11e - ld [de], a - lb bc, 1, 2 - call PrintNumber - pop de - pop af - ld [wd11e], a - pop hl -.skipPrintingItemQuantity - inc de - pop bc - inc c - push bc - inc c - ld a, [wMenuItemToSwap] ; ID of item chosen for swapping (counts from 1) - and a ; is an item being swapped? - jr z, .nextListEntry - sla a - cp c ; is it this item? - jr nz, .nextListEntry - dec hl - ld a, $ec ; unfilled right arrow menu cursor to indicate an item being swapped - ld [hli], a -.nextListEntry - ld bc, 2 * SCREEN_WIDTH ; 2 rows - add hl, bc - pop bc - inc c - dec b - jp nz, .loop - ld bc, -8 - add hl, bc - ld a, "▼" - ld [hl], a - ret -.printCancelMenuItem - ld de, ListMenuCancelText - jp PlaceString - -ListMenuCancelText:: - db "CANCEL@" - -GetMonName:: - push hl - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(MonsterNames) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ld a, [wd11e] - dec a - ld hl, MonsterNames - ld c, 10 - ld b, 0 - call AddNTimes - ld de, wcd6d - push de - ld bc, 10 - call CopyData - ld hl, wcd6d + 10 - ld [hl], "@" - pop de - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - pop hl - ret - -GetItemName:: -; given an item ID at [wd11e], store the name of the item into a string -; starting at wcd6d - push hl - push bc - ld a, [wd11e] - cp HM_01 ; is this a TM/HM? - jr nc, .Machine - - ld [wd0b5], a - ld a, ITEM_NAME - ld [wNameListType], a - ld a, BANK(ItemNames) - ld [wPredefBank], a - call GetName - jr .Finish - -.Machine - call GetMachineName -.Finish - ld de, wcd6d ; pointer to where item name is stored in RAM - pop bc - pop hl - ret - -GetMachineName:: -; copies the name of the TM/HM in [wd11e] to wcd6d - push hl - push de - push bc - ld a, [wd11e] - push af - cp TM_01 ; is this a TM? [not HM] - jr nc, .WriteTM -; if HM, then write "HM" and add 5 to the item ID, so we can reuse the -; TM printing code - add 5 - ld [wd11e], a - ld hl, HiddenPrefix ; points to "HM" - ld bc, 2 - jr .WriteMachinePrefix -.WriteTM - ld hl, TechnicalPrefix ; points to "TM" - ld bc, 2 -.WriteMachinePrefix - ld de, wcd6d - call CopyData - -; now get the machine number and convert it to text - ld a, [wd11e] - sub TM_01 - 1 - ld b, "0" -.FirstDigit - sub 10 - jr c, .SecondDigit - inc b - jr .FirstDigit -.SecondDigit - add 10 - push af - ld a, b - ld [de], a - inc de - pop af - ld b, "0" - add b - ld [de], a - inc de - ld a, "@" - ld [de], a - pop af - ld [wd11e], a - pop bc - pop de - pop hl - ret - -TechnicalPrefix:: - db "TM" -HiddenPrefix:: - db "HM" - -; sets carry if item is HM, clears carry if item is not HM -; Input: a = item ID -IsItemHM:: - cp HM_01 - jr c, .notHM - cp TM_01 - ret -.notHM - and a - ret - -; sets carry if move is an HM, clears carry if move is not an HM -; Input: a = move ID -IsMoveHM:: - ld hl, HMMoves - ld de, 1 - jp IsInArray - -HMMoves:: - db CUT,FLY,SURF,STRENGTH,FLASH - db $ff ; terminator - -GetMoveName:: - push hl - ld a, MOVE_NAME - ld [wNameListType], a - ld a, [wd11e] - ld [wd0b5], a - ld a, BANK(MoveNames) - ld [wPredefBank], a - call GetName - ld de, wcd6d ; pointer to where move name is stored in RAM - pop hl - ret +INCLUDE "home/list_menu.asm" +INCLUDE "home/names.asm" ; reloads text box tile patterns, current map view, and tileset tile patterns ReloadMapData:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wCurMap] call SwitchToMapRomBank @@ -2047,13 +274,13 @@ ReloadMapData:: call LoadTilesetTilePatternData call EnableLCD pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret ; reloads tileset tile patterns ReloadTilesetTilePatterns:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wCurMap] call SwitchToMapRomBank @@ -2061,7 +288,7 @@ ReloadTilesetTilePatterns:: call LoadTilesetTilePatternData call EnableLCD pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2098,15 +325,15 @@ UseItem:: ; OUTPUT: ; clears carry flag if the item is tossed, sets carry flag if not TossItem:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(TossItem_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call TossItem_ pop de ld a, d - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2132,15 +359,15 @@ IsKeyItem:: ; [wTextBoxID] = text box ID ; b, c = y, x cursor position (TWO_OPTION_MENU only) DisplayTextBoxID:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(DisplayTextBoxID_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call DisplayTextBoxID_ pop bc ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2174,15 +401,15 @@ RunNPCMovementScript:: ld a, [hli] ld h, [hl] ld l, a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wNPCMovementScriptBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, [wNPCMovementScriptFunctionNum] call CallFunctionInTable pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2199,442 +426,7 @@ EndNPCMovementScript:: EmptyFunc2:: ret -; stores hl in [wTrainerHeaderPtr] -StoreTrainerHeaderPointer:: - ld a, h - ld [wTrainerHeaderPtr], a - ld a, l - ld [wTrainerHeaderPtr+1], a - ret - -; executes the current map script from the function pointer array provided in hl. -; a: map script index to execute (unless overridden by [wd733] bit 4) -ExecuteCurMapScriptInTable:: - push af - push de - call StoreTrainerHeaderPointer - pop hl - pop af - push hl - ld hl, wFlags_D733 - bit 4, [hl] - res 4, [hl] - jr z, .useProvidedIndex ; test if map script index was overridden manually - ld a, [wCurMapScript] -.useProvidedIndex - pop hl - ld [wCurMapScript], a - call CallFunctionInTable - ld a, [wCurMapScript] - ret - -LoadGymLeaderAndCityName:: - push de - ld de, wGymCityName - ld bc, $11 - call CopyData ; load city name - pop hl - ld de, wGymLeaderName - ld bc, NAME_LENGTH - jp CopyData ; load gym leader name - -; reads specific information from trainer header (pointed to at wTrainerHeaderPtr) -; a: offset in header data -; 0 -> flag's bit (into wTrainerHeaderFlagBit) -; 2 -> flag's byte ptr (into hl) -; 4 -> before battle text (into hl) -; 6 -> after battle text (into hl) -; 8 -> end battle text (into hl) -ReadTrainerHeaderInfo:: - push de - push af - ld d, $0 - ld e, a - ld hl, wTrainerHeaderPtr - ld a, [hli] - ld l, [hl] - ld h, a - add hl, de - pop af - and a - jr nz, .nonZeroOffset - ld a, [hl] - ld [wTrainerHeaderFlagBit], a ; store flag's bit - jr .done -.nonZeroOffset - cp $2 - jr z, .readPointer ; read flag's byte ptr - cp $4 - jr z, .readPointer ; read before battle text - cp $6 - jr z, .readPointer ; read after battle text - cp $8 - jr z, .readPointer ; read end battle text - cp $a - jr nz, .done - ld a, [hli] ; read end battle text (2) but override the result afterwards (XXX why, bug?) - ld d, [hl] - ld e, a - jr .done -.readPointer - ld a, [hli] - ld h, [hl] - ld l, a -.done - pop de - ret - -TrainerFlagAction:: - predef_jump FlagActionPredef - -TalkToTrainer:: - call StoreTrainerHeaderPointer - xor a - call ReadTrainerHeaderInfo ; read flag's bit - ld a, $2 - call ReadTrainerHeaderInfo ; read flag's byte ptr - ld a, [wTrainerHeaderFlagBit] - ld c, a - ld b, FLAG_TEST - call TrainerFlagAction ; read trainer's flag - ld a, c - and a - jr z, .trainerNotYetFought ; test trainer's flag - ld a, $6 - call ReadTrainerHeaderInfo ; print after battle text - jp PrintText -.trainerNotYetFought - ld a, $4 - call ReadTrainerHeaderInfo ; print before battle text - call PrintText - ld a, $a - call ReadTrainerHeaderInfo ; (?) does nothing apparently (maybe bug in ReadTrainerHeaderInfo) - push de - ld a, $8 - call ReadTrainerHeaderInfo ; read end battle text - pop de - call SaveEndBattleTextPointers - ld hl, wFlags_D733 - set 4, [hl] ; activate map script index override (index is set below) - ld hl, wFlags_0xcd60 - bit 0, [hl] ; test if player is already engaging the trainer (because the trainer saw the player) - ret nz -; if the player talked to the trainer of his own volition - call EngageMapTrainer - ld hl, wCurMapScript - inc [hl] ; increment map script index before StartTrainerBattle increments it again (next script function is usually EndTrainerBattle) - jp StartTrainerBattle - -; checks if any trainers are seeing the player and wanting to fight -CheckFightingMapTrainers:: - call CheckForEngagingTrainers - ld a, [wSpriteIndex] - cp $ff - jr nz, .trainerEngaging - xor a - ld [wSpriteIndex], a - ld [wTrainerHeaderFlagBit], a - ret -.trainerEngaging - ld hl, wFlags_D733 - set 3, [hl] - ld [wEmotionBubbleSpriteIndex], a - xor a ; EXCLAMATION_BUBBLE - ld [wWhichEmotionBubble], a - predef EmotionBubble - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN - ld [wJoyIgnore], a - xor a - ld [hJoyHeld], a - call TrainerWalkUpToPlayer_Bank0 - ld hl, wCurMapScript - inc [hl] ; increment map script index (next script function is usually DisplayEnemyTrainerTextAndStartBattle) - ret - -; display the before battle text after the enemy trainer has walked up to the player's sprite -DisplayEnemyTrainerTextAndStartBattle:: - ld a, [wd730] - and $1 - ret nz ; return if the enemy trainer hasn't finished walking to the player's sprite - ld [wJoyIgnore], a - ld a, [wSpriteIndex] - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ; fall through - -StartTrainerBattle:: - xor a - ld [wJoyIgnore], a - call InitBattleEnemyParameters - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, wd72e - set 1, [hl] - ld hl, wCurMapScript - inc [hl] ; increment map script index (next script function is usually EndTrainerBattle) - ret - -EndTrainerBattle:: - ld hl, wCurrentMapScriptFlags - set 5, [hl] - set 6, [hl] - ld hl, wd72d - res 7, [hl] - ld hl, wFlags_0xcd60 - res 0, [hl] ; player is no longer engaged by any trainer - ld a, [wIsInBattle] - cp $ff - jp z, ResetButtonPressedAndMapScript - ld a, $2 - call ReadTrainerHeaderInfo - ld a, [wTrainerHeaderFlagBit] - ld c, a - ld b, FLAG_SET - call TrainerFlagAction ; flag trainer as fought - ld a, [wEnemyMonOrTrainerClass] - cp OPP_ID_OFFSET - jr nc, .skipRemoveSprite ; test if trainer was fought (in that case skip removing the corresponding sprite) - ld hl, wMissableObjectList - ld de, $2 - ld a, [wSpriteIndex] - call IsInArray ; search for sprite ID - inc hl - ld a, [hl] - ld [wMissableObjectIndex], a ; load corresponding missable object index and remove it - predef HideObject -.skipRemoveSprite - ld hl, wd730 - bit 4, [hl] - res 4, [hl] - ret nz - -ResetButtonPressedAndMapScript:: - xor a - ld [wJoyIgnore], a - ld [hJoyHeld], a - ld [hJoyPressed], a - ld [hJoyReleased], a - ld [wCurMapScript], a ; reset battle status - ret - -; calls TrainerWalkUpToPlayer -TrainerWalkUpToPlayer_Bank0:: - jpba TrainerWalkUpToPlayer - -; sets opponent type and mon set/lvl based on the engaging trainer data -InitBattleEnemyParameters:: - ld a, [wEngagedTrainerClass] - ld [wCurOpponent], a - ld [wEnemyMonOrTrainerClass], a - cp OPP_ID_OFFSET - ld a, [wEngagedTrainerSet] - jr c, .noTrainer - ld [wTrainerNo], a - ret -.noTrainer - ld [wCurEnemyLVL], a - ret - -GetSpritePosition1:: - ld hl, _GetSpritePosition1 - jr SpritePositionBankswitch - -GetSpritePosition2:: - ld hl, _GetSpritePosition2 - jr SpritePositionBankswitch - -SetSpritePosition1:: - ld hl, _SetSpritePosition1 - jr SpritePositionBankswitch - -SetSpritePosition2:: - ld hl, _SetSpritePosition2 -SpritePositionBankswitch:: - ld b, BANK(_GetSpritePosition1) ; BANK(_GetSpritePosition2), BANK(_SetSpritePosition1), BANK(_SetSpritePosition2) - jp Bankswitch ; indirect jump to one of the four functions - -CheckForEngagingTrainers:: - xor a - call ReadTrainerHeaderInfo ; read trainer flag's bit (unused) - ld d, h ; store trainer header address in de - ld e, l -.trainerLoop - call StoreTrainerHeaderPointer ; set trainer header pointer to current trainer - ld a, [de] - ld [wSpriteIndex], a ; store trainer flag's bit - ld [wTrainerHeaderFlagBit], a - cp $ff - ret z - ld a, $2 - call ReadTrainerHeaderInfo ; read trainer flag's byte ptr - ld b, FLAG_TEST - ld a, [wTrainerHeaderFlagBit] - ld c, a - call TrainerFlagAction ; read trainer flag - ld a, c - and a ; has the trainer already been defeated? - jr nz, .continue - push hl - push de - push hl - xor a - call ReadTrainerHeaderInfo ; get trainer header pointer - inc hl - ld a, [hl] ; read trainer engage distance - pop hl - ld [wTrainerEngageDistance], a - ld a, [wSpriteIndex] - swap a - ld [wTrainerSpriteOffset], a - predef TrainerEngage - pop de - pop hl - ld a, [wTrainerSpriteOffset] - and a - ret nz ; break if the trainer is engaging -.continue - ld hl, $c - add hl, de - ld d, h - ld e, l - jr .trainerLoop - -; hl = text if the player wins -; de = text if the player loses -SaveEndBattleTextPointers:: - ld a, [H_LOADEDROMBANK] - ld [wEndBattleTextRomBank], a - ld a, h - ld [wEndBattleWinTextPointer], a - ld a, l - ld [wEndBattleWinTextPointer + 1], a - ld a, d - ld [wEndBattleLoseTextPointer], a - ld a, e - ld [wEndBattleLoseTextPointer + 1], a - ret - -; loads data of some trainer on the current map and plays pre-battle music -; [wSpriteIndex]: sprite ID of trainer who is engaged -EngageMapTrainer:: - ld hl, wMapSpriteExtraData - ld d, $0 - ld a, [wSpriteIndex] - dec a - add a - ld e, a - add hl, de ; seek to engaged trainer data - ld a, [hli] ; load trainer class - ld [wEngagedTrainerClass], a - ld a, [hl] ; load trainer mon set - ld [wEngagedTrainerSet], a - jp PlayTrainerMusic - -PrintEndBattleText:: - push hl - ld hl, wd72d - bit 7, [hl] - res 7, [hl] - pop hl - ret z - ld a, [H_LOADEDROMBANK] - push af - ld a, [wEndBattleTextRomBank] - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - push hl - callba SaveTrainerName - ld hl, TrainerEndBattleText - call PrintText - pop hl - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - callba FreezeEnemyTrainerSprite - jp WaitForSoundToFinish - -GetSavedEndBattleTextPointer:: - ld a, [wBattleResult] - and a -; won battle - jr nz, .lostBattle - ld a, [wEndBattleWinTextPointer] - ld h, a - ld a, [wEndBattleWinTextPointer + 1] - ld l, a - ret -.lostBattle - ld a, [wEndBattleLoseTextPointer] - ld h, a - ld a, [wEndBattleLoseTextPointer + 1] - ld l, a - ret - -TrainerEndBattleText:: - TX_FAR _TrainerNameText - TX_ASM - call GetSavedEndBattleTextPointer - call TextCommandProcessor - jp TextScriptEnd - -; only engage withe trainer if the player is not already -; engaged with another trainer -; XXX unused? -CheckIfAlreadyEngaged:: - ld a, [wFlags_0xcd60] - bit 0, a - ret nz - call EngageMapTrainer - xor a - ret - -PlayTrainerMusic:: - ld a, [wEngagedTrainerClass] - cp OPP_SONY1 - ret z - cp OPP_SONY2 - ret z - cp OPP_SONY3 - ret z - ld a, [wGymLeaderNo] - and a - ret nz - xor a - ld [wAudioFadeOutControl], a - ld a, $ff - call PlaySound - ld a, BANK(Music_MeetEvilTrainer) - ld [wAudioROMBank], a - ld [wAudioSavedROMBank], a - ld a, [wEngagedTrainerClass] - ld b, a - ld hl, EvilTrainerList -.evilTrainerListLoop - ld a, [hli] - cp $ff - jr z, .noEvilTrainer - cp b - jr nz, .evilTrainerListLoop - ld a, MUSIC_MEET_EVIL_TRAINER - jr .PlaySound -.noEvilTrainer - ld hl, FemaleTrainerList -.femaleTrainerListLoop - ld a, [hli] - cp $ff - jr z, .maleTrainer - cp b - jr nz, .femaleTrainerListLoop - ld a, MUSIC_MEET_FEMALE_TRAINER - jr .PlaySound -.maleTrainer - ld a, MUSIC_MEET_MALE_TRAINER -.PlaySound - ld [wNewSoundID], a - jp PlaySound - -INCLUDE "data/trainer_types.asm" +INCLUDE "home/trainers.asm" ; checks if the player's coordinates match an arrow movement tile's coordinates ; and if so, decodes the RLE movement data @@ -2719,7 +511,7 @@ SetSpriteFacingDirectionAndDelay:: SetSpriteFacingDirection:: ld a, $9 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld a, [hSpriteFacingDirection] ld [hl], a @@ -2774,14 +566,14 @@ CheckCoords:: ; tests if a boulder's coordinates are in a specified array ; INPUT: ; hl = address of array -; [H_SPRITEINDEX] = index of boulder sprite +; [hSpriteIndex] = index of boulder sprite ; OUTPUT: ; [wCoordIndex] = if there is match, the matching array index ; sets carry if the coordinates are in the array, clears carry if not CheckBoulderCoords:: push hl ld hl, wSpriteStateData2 + $04 - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] swap a ld d, $0 ld e, a @@ -2803,9 +595,9 @@ GetPointerWithinSpriteStateData2:: ld h, $c2 _GetPointerWithinSpriteStateData: - ld a, [H_SPRITEDATAOFFSET] + ld a, [hSpriteDataOffset] ld b, a - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] swap a add b ld l, a @@ -2842,7 +634,7 @@ DecodeRLEList:: inc a ; include sentinel in counting ret -; sets movement byte 1 for sprite [H_SPRITEINDEX] to $FE and byte 2 to [hSpriteMovementByte2] +; sets movement byte 1 for sprite [hSpriteIndex] to $FE and byte 2 to [hSpriteMovementByte2] SetSpriteMovementBytesToFE:: push hl call GetSpriteMovementByte1Pointer @@ -2853,7 +645,7 @@ SetSpriteMovementBytesToFE:: pop hl ret -; sets both movement bytes for sprite [H_SPRITEINDEX] to $FF +; sets both movement bytes for sprite [hSpriteIndex] to $FF SetSpriteMovementBytesToFF:: push hl call GetSpriteMovementByte1Pointer @@ -2863,20 +655,20 @@ SetSpriteMovementBytesToFF:: pop hl ret -; returns the sprite movement byte 1 pointer for sprite [H_SPRITEINDEX] in hl +; returns the sprite movement byte 1 pointer for sprite [hSpriteIndex] in hl GetSpriteMovementByte1Pointer:: ld h, $C2 - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] swap a add 6 ld l, a ret -; returns the sprite movement byte 2 pointer for sprite [H_SPRITEINDEX] in hl +; returns the sprite movement byte 2 pointer for sprite [hSpriteIndex] in hl GetSpriteMovementByte2Pointer:: push de ld hl, wMapSpriteData - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] dec a add a ld d, 0 @@ -2890,7 +682,7 @@ GetTrainerInformation:: ld a, [wLinkState] and a jr nz, .linkBattle - ld a, Bank(TrainerPicAndMoneyPointers) + ld a, BANK(TrainerPicAndMoneyPointers) call BankswitchHome ld a, [wTrainerClass] dec a @@ -2937,83 +729,8 @@ HasEnoughCoins:: ld c, 2 jp StringCmp - -BankswitchHome:: -; switches to bank # in a -; Only use this when in the home bank! - ld [wBankswitchHomeTemp], a - ld a, [H_LOADEDROMBANK] - ld [wBankswitchHomeSavedROMBank], a - ld a, [wBankswitchHomeTemp] - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - -BankswitchBack:: -; returns from BankswitchHome - ld a, [wBankswitchHomeSavedROMBank] - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - -Bankswitch:: -; self-contained bankswitch, use this when not in the home bank -; switches to the bank in b - ld a, [H_LOADEDROMBANK] - push af - ld a, b - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ld bc, .Return - push bc - jp hl -.Return - pop bc - ld a, b - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - -; displays yes/no choice -; yes -> set carry -YesNoChoice:: - call SaveScreenTilesToBuffer1 - call InitYesNoTextBoxParameters - jr DisplayYesNoChoice - -Func_35f4:: - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call InitYesNoTextBoxParameters - jp DisplayTextBoxID - -InitYesNoTextBoxParameters:: - xor a ; YES_NO_MENU - ld [wTwoOptionMenuID], a - coord hl, 14, 7 - ld bc, $80f - ret - -YesNoChoicePokeCenter:: - call SaveScreenTilesToBuffer1 - ld a, HEAL_CANCEL_MENU - ld [wTwoOptionMenuID], a - coord hl, 11, 6 - lb bc, 8, 12 - jr DisplayYesNoChoice - -WideYesNoChoice:: ; unused - call SaveScreenTilesToBuffer1 - ld a, WIDE_YES_NO_MENU - ld [wTwoOptionMenuID], a - coord hl, 12, 7 - lb bc, 8, 13 - -DisplayYesNoChoice:: - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID - jp LoadScreenTilesFromBuffer1 +INCLUDE "home/bankswitch.asm" +INCLUDE "home/yes_no.asm" ; calculates the difference |a-b|, setting carry flag if a999) - cp 999 / $100 + 1 - jr nc, .overflow - cp 999 / $100 - jr c, .noOverflow - ld a, [H_MULTIPLICAND+2] - cp 999 % $100 + 1 - jr c, .noOverflow -.overflow - ld a, 999 / $100 ; overflow: cap at 999 - ld [H_MULTIPLICAND+1], a - ld a, 999 % $100 - ld [H_MULTIPLICAND+2], a -.noOverflow - pop bc - pop de - pop hl - ret - -AddEnemyMonToPlayerParty:: - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(_AddEnemyMonToPlayerParty) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call _AddEnemyMonToPlayerParty - pop bc - ld a, b - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - -MoveMon:: - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(_MoveMon) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call _MoveMon - pop bc - ld a, b - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret +INCLUDE "home/move_mon.asm" ; skips a text entries, each of size NAME_LENGTH (like trainer name, OT name, rival name, ...) ; hl: base pointer, will be incremented by NAME_LENGTH * a @@ -3897,14 +1278,14 @@ HandleMenuInput:: ld [wPartyMenuAnimMonEnabled], a HandleMenuInput_:: - ld a, [H_DOWNARROWBLINKCNT1] + ld a, [hDownArrowBlinkCount1] push af - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hDownArrowBlinkCount2] push af ; save existing values on stack xor a - ld [H_DOWNARROWBLINKCNT1], a ; blinking down arrow timing value 1 + ld [hDownArrowBlinkCount1], a ; blinking down arrow timing value 1 ld a, 6 - ld [H_DOWNARROWBLINKCNT2], a ; blinking down arrow timing value 2 + ld [hDownArrowBlinkCount2], a ; blinking down arrow timing value 2 .loop1 xor a ld [wAnimCounter], a ; counter for pokemon shaking animation @@ -3933,9 +1314,9 @@ HandleMenuInput_:: .giveUpWaiting ; if a key wasn't pressed within the specified number of checks pop af - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a pop af - ld [H_DOWNARROWBLINKCNT1], a ; restore previous values + ld [hDownArrowBlinkCount1], a ; restore previous values xor a ld [wMenuWrappingEnabled], a ; disable menu wrapping ret @@ -3997,9 +1378,9 @@ HandleMenuInput_:: call PlaySound .skipPlayingSound pop af - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a pop af - ld [H_DOWNARROWBLINKCNT1], a ; restore previous values + ld [hDownArrowBlinkCount1], a ; restore previous values xor a ld [wMenuWrappingEnabled], a ; disable menu wrapping ld a, [hJoy5] @@ -4030,7 +1411,7 @@ PlaceMenuCursor:: and a ; was the previous menu id 0? jr z, .checkForArrow1 push af - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 1, a ; is the menu double spaced? jr z, .doubleSpaced1 ld bc, 20 @@ -4056,7 +1437,7 @@ PlaceMenuCursor:: and a jr z, .checkForArrow2 push af - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 1, a ; is the menu double spaced? jr z, .doubleSpaced2 ld bc, 20 @@ -4110,7 +1491,7 @@ EraseMenuCursor:: ; This toggles a blinking down arrow at hl on and off after a delay has passed. ; This is often called even when no blinking is occurring. -; The reason is that most functions that call this initialize H_DOWNARROWBLINKCNT1 to 0. +; The reason is that most functions that call this initialize hDownArrowBlinkCount1 to 0. ; The effect is that if the tile at hl is initialized with a down arrow, ; this function will toggle that down arrow on and off, but if the tile isn't ; initialized with a down arrow, this function does nothing. @@ -4123,36 +1504,36 @@ HandleDownArrowBlinkTiming:: cp b jr nz, .downArrowOff .downArrowOn - ld a, [H_DOWNARROWBLINKCNT1] + ld a, [hDownArrowBlinkCount1] dec a - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ret nz - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hDownArrowBlinkCount2] dec a - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a ret nz ld a, " " ld [hl], a ld a, $ff - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ld a, $06 - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a ret .downArrowOff - ld a, [H_DOWNARROWBLINKCNT1] + ld a, [hDownArrowBlinkCount1] and a ret z dec a - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ret nz dec a - ld [H_DOWNARROWBLINKCNT1], a - ld a, [H_DOWNARROWBLINKCNT2] + ld [hDownArrowBlinkCount1], a + ld a, [hDownArrowBlinkCount2] dec a - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a ret nz ld a, $06 - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a ld a, "▼" ld [hl], a ret @@ -4187,225 +1568,7 @@ PrintText_NoCreatingTextBox:: coord bc, 1, 14 jp TextCommandProcessor - -PrintNumber:: -; Print the c-digit, b-byte value at de. -; Allows 2 to 7 digits. For 1-digit numbers, add -; the value to char "0" instead of calling PrintNumber. -; Flags LEADING_ZEROES and LEFT_ALIGN can be given -; in bits 7 and 6 of b respectively. - push bc - xor a - ld [H_PASTLEADINGZEROES], a - ld [H_NUMTOPRINT], a - ld [H_NUMTOPRINT + 1], a - ld a, b - and $f - cp 1 - jr z, .byte - cp 2 - jr z, .word -.long - ld a, [de] - ld [H_NUMTOPRINT], a - inc de - ld a, [de] - ld [H_NUMTOPRINT + 1], a - inc de - ld a, [de] - ld [H_NUMTOPRINT + 2], a - jr .start - -.word - ld a, [de] - ld [H_NUMTOPRINT + 1], a - inc de - ld a, [de] - ld [H_NUMTOPRINT + 2], a - jr .start - -.byte - ld a, [de] - ld [H_NUMTOPRINT + 2], a - -.start - push de - - ld d, b - ld a, c - ld b, a - xor a - ld c, a - ld a, b - - cp 2 - jr z, .tens - cp 3 - jr z, .hundreds - cp 4 - jr z, .thousands - cp 5 - jr z, .ten_thousands - cp 6 - jr z, .hundred_thousands - -print_digit: macro - -if (\1) / $10000 - ld a, \1 / $10000 % $100 -else xor a -endc - ld [H_POWEROFTEN + 0], a - -if (\1) / $100 - ld a, \1 / $100 % $100 -else xor a -endc - ld [H_POWEROFTEN + 1], a - - ld a, \1 / $1 % $100 - ld [H_POWEROFTEN + 2], a - - call .PrintDigit - call .NextDigit -endm - -.millions print_digit 1000000 -.hundred_thousands print_digit 100000 -.ten_thousands print_digit 10000 -.thousands print_digit 1000 -.hundreds print_digit 100 - -.tens - ld c, 0 - ld a, [H_NUMTOPRINT + 2] -.mod - cp 10 - jr c, .ok - sub 10 - inc c - jr .mod -.ok - - ld b, a - ld a, [H_PASTLEADINGZEROES] - or c - ld [H_PASTLEADINGZEROES], a - jr nz, .past - call .PrintLeadingZero - jr .next -.past - ld a, "0" - add c - ld [hl], a -.next - - call .NextDigit -.ones - ld a, "0" - add b - ld [hli], a - pop de - dec de - pop bc - ret - -.PrintDigit: -; Divide by the current decimal place. -; Print the quotient, and keep the modulus. - ld c, 0 -.loop - ld a, [H_POWEROFTEN] - ld b, a - ld a, [H_NUMTOPRINT] - ld [H_SAVEDNUMTOPRINT], a - cp b - jr c, .underflow0 - sub b - ld [H_NUMTOPRINT], a - ld a, [H_POWEROFTEN + 1] - ld b, a - ld a, [H_NUMTOPRINT + 1] - ld [H_SAVEDNUMTOPRINT + 1], a - cp b - jr nc, .noborrow1 - - ld a, [H_NUMTOPRINT] - or 0 - jr z, .underflow1 - dec a - ld [H_NUMTOPRINT], a - ld a, [H_NUMTOPRINT + 1] -.noborrow1 - - sub b - ld [H_NUMTOPRINT + 1], a - ld a, [H_POWEROFTEN + 2] - ld b, a - ld a, [H_NUMTOPRINT + 2] - ld [H_SAVEDNUMTOPRINT + 2], a - cp b - jr nc, .noborrow2 - - ld a, [H_NUMTOPRINT + 1] - and a - jr nz, .borrowed - - ld a, [H_NUMTOPRINT] - and a - jr z, .underflow2 - dec a - ld [H_NUMTOPRINT], a - xor a -.borrowed - - dec a - ld [H_NUMTOPRINT + 1], a - ld a, [H_NUMTOPRINT + 2] -.noborrow2 - sub b - ld [H_NUMTOPRINT + 2], a - inc c - jr .loop - -.underflow2 - ld a, [H_SAVEDNUMTOPRINT + 1] - ld [H_NUMTOPRINT + 1], a -.underflow1 - ld a, [H_SAVEDNUMTOPRINT] - ld [H_NUMTOPRINT], a -.underflow0 - ld a, [H_PASTLEADINGZEROES] - or c - jr z, .PrintLeadingZero - - ld a, "0" - add c - ld [hl], a - ld [H_PASTLEADINGZEROES], a - ret - -.PrintLeadingZero: - bit BIT_LEADING_ZEROES, d - ret z - ld [hl], "0" - ret - -.NextDigit: -; Increment unless the number is left-aligned, -; leading zeroes are not printed, and no digits -; have been printed yet. - bit BIT_LEADING_ZEROES, d - jr nz, .inc - bit BIT_LEFT_ALIGN, d - jr z, .inc - ld a, [H_PASTLEADINGZEROES] - and a - ret z -.inc - inc hl - ret - +INCLUDE "home/print_num.asm" CallFunctionInTable:: ; Call function a in jumptable hl. @@ -4429,7 +1592,6 @@ CallFunctionInTable:: pop hl ret - IsInArray:: ; Search an array at hl for the value in a. ; Entry size is de bytes. @@ -4456,7 +1618,6 @@ IsInRestOfArray:: scf ret - RestoreScreenTilesAndReloadTilePatterns:: call ClearSprites ld a, $1 @@ -4467,7 +1628,6 @@ RestoreScreenTilesAndReloadTilePatterns:: call RunDefaultPaletteCommand jr Delay3 - GBPalWhiteOutWithDelay3:: call GBPalWhiteOut @@ -4493,9 +1653,8 @@ GBPalWhiteOut:: ld [rOBP1], a ret - RunDefaultPaletteCommand:: - ld b, $ff + ld b, SET_PAL_DEFAULT RunPaletteCommand:: ld a, [wOnSGB] and a @@ -4537,7 +1696,6 @@ ReloadMapSpriteTilePatterns:: call LoadFontTilePatterns jp UpdateSprites - GiveItem:: ; Give player quantity c of item b, ; and copy the item's name to wcf4b. @@ -4565,7 +1723,6 @@ GivePokemon:: ld [wMonDataLocation], a jpba _GivePokemon - Random:: ; Return a random number in a. ; For battles, use BattleRandom. @@ -4579,30 +1736,28 @@ Random:: pop hl ret - INCLUDE "home/predef.asm" - UpdateCinnabarGymGateTileBlocks:: jpba UpdateCinnabarGymGateTileBlocks_ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hJoyHeld] bit 0, a ; A button jr z, .nothingFound ; A button is pressed - ld a, Bank(CheckForHiddenObject) + ld a, BANK(CheckForHiddenObject) ld [MBC1RomBank], a - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a call CheckForHiddenObject - ld a, [$ffee] + ld a, [hFoundHiddenObject] and a jr nz, .hiddenObjectNotFound ld a, [wHiddenObjectFunctionRomBank] ld [MBC1RomBank], a - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld de, .returnAddress push de jp hl @@ -4611,16 +1766,16 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: jr .done .hiddenObjectNotFound callba PrintBookshelfText - ld a, [$ffdb] + ld a, [hFFDB] and a jr z, .done .nothingFound ld a, $ff .done - ld [$ffeb], a + ld [hFoundHiddenObjectOrBookshelf], a pop af ld [MBC1RomBank], a - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ret PrintPredefTextID:: @@ -4633,89 +1788,21 @@ PrintPredefTextID:: RestoreMapTextPointer:: ld hl, wMapTextPtr - ld a, [$ffec] + ld a, [hSavedMapTextPtr] ld [hli], a - ld a, [$ffec + 1] + ld a, [hSavedMapTextPtr + 1] ld [hl], a ret SetMapTextPointer:: ld a, [wMapTextPtr] - ld [$ffec], a + ld [hSavedMapTextPtr], a ld a, [wMapTextPtr + 1] - ld [$ffec + 1], a + ld [hSavedMapTextPtr + 1], a ld a, l ld [wMapTextPtr], a ld a, h ld [wMapTextPtr + 1], a ret -TextPredefs:: -const_value = 1 - - add_tx_pre CardKeySuccessText ; 01 - add_tx_pre CardKeyFailText ; 02 - add_tx_pre RedBedroomPCText ; 03 - add_tx_pre RedBedroomSNESText ; 04 - add_tx_pre PushStartText ; 05 - add_tx_pre SaveOptionText ; 06 - add_tx_pre StrengthsAndWeaknessesText ; 07 - add_tx_pre OakLabEmailText ; 08 - add_tx_pre AerodactylFossilText ; 09 - add_tx_pre Route15UpstairsBinocularsText ; 0A - add_tx_pre KabutopsFossilText ; 0B - add_tx_pre GymStatueText1 ; 0C - add_tx_pre GymStatueText2 ; 0D - add_tx_pre BookcaseText ; 0E - add_tx_pre ViridianCityPokecenterBenchGuyText ; 0F - add_tx_pre PewterCityPokecenterBenchGuyText ; 10 - add_tx_pre CeruleanCityPokecenterBenchGuyText ; 11 - add_tx_pre LavenderCityPokecenterBenchGuyText ; 12 - add_tx_pre VermilionCityPokecenterBenchGuyText ; 13 - add_tx_pre CeladonCityPokecenterBenchGuyText ; 14 - add_tx_pre CeladonCityHotelText ; 15 - add_tx_pre FuchsiaCityPokecenterBenchGuyText ; 16 - add_tx_pre CinnabarIslandPokecenterBenchGuyText ; 17 - add_tx_pre SaffronCityPokecenterBenchGuyText ; 18 - add_tx_pre MtMoonPokecenterBenchGuyText ; 19 - add_tx_pre RockTunnelPokecenterBenchGuyText ; 1A - add_tx_pre UnusedBenchGuyText1 ; 1B XXX unused - add_tx_pre UnusedBenchGuyText2 ; 1C XXX unused - add_tx_pre UnusedBenchGuyText3 ; 1D XXX unused - add_tx_pre UnusedPredefText ; 1E XXX unused - add_tx_pre PokemonCenterPCText ; 1F - add_tx_pre ViridianSchoolNotebook ; 20 - add_tx_pre ViridianSchoolBlackboard ; 21 - add_tx_pre JustAMomentText ; 22 - add_tx_pre OpenBillsPCText ; 23 - add_tx_pre FoundHiddenItemText ; 24 - add_tx_pre HiddenItemBagFullText ; 25 XXX unused - add_tx_pre VermilionGymTrashText ; 26 - add_tx_pre IndigoPlateauHQText ; 27 - add_tx_pre GameCornerOutOfOrderText ; 28 - add_tx_pre GameCornerOutToLunchText ; 29 - add_tx_pre GameCornerSomeonesKeysText ; 2A - add_tx_pre FoundHiddenCoinsText ; 2B - add_tx_pre DroppedHiddenCoinsText ; 2C - add_tx_pre BillsHouseMonitorText ; 2D - add_tx_pre BillsHouseInitiatedText ; 2E - add_tx_pre BillsHousePokemonList ; 2F - add_tx_pre MagazinesText ; 30 - add_tx_pre CinnabarGymQuiz ; 31 - add_tx_pre GameCornerNoCoinsText ; 32 - add_tx_pre GameCornerCoinCaseText ; 33 - add_tx_pre LinkCableHelp ; 34 - add_tx_pre TMNotebook ; 35 - add_tx_pre FightingDojoText ; 36 - add_tx_pre EnemiesOnEverySideText ; 37 - add_tx_pre WhatGoesAroundComesAroundText ; 38 - add_tx_pre NewBicycleText ; 39 - add_tx_pre IndigoPlateauStatues ; 3A - add_tx_pre VermilionGymTrashSuccessText1 ; 3B - add_tx_pre VermilionGymTrashSuccessText2 ; 3C XXX unused - add_tx_pre VermilionGymTrashSuccessText3 ; 3D - add_tx_pre VermilionGymTrashFailText ; 3E - add_tx_pre TownMapText ; 3F - add_tx_pre BookOrSculptureText ; 40 - add_tx_pre ElevatorText ; 41 - add_tx_pre PokemonStuffText ; 42 +INCLUDE "data/text_predef_pointers.asm" diff --git a/home/audio.asm b/home/audio.asm index 242f038b..04f0276d 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -170,10 +170,10 @@ PlaySound:: .noFadeOut xor a ld [wNewSoundID], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [hSavedROMBank], a ld a, [wAudioROMBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a cp BANK(Audio1_PlaySound) jr nz, .checkForAudio2 @@ -198,7 +198,7 @@ PlaySound:: .next2 ld a, [hSavedROMBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a jr .done diff --git a/home/bankswitch.asm b/home/bankswitch.asm new file mode 100644 index 00000000..086ca2f3 --- /dev/null +++ b/home/bankswitch.asm @@ -0,0 +1,35 @@ +BankswitchHome:: +; switches to bank # in a +; Only use this when in the home bank! + ld [wBankswitchHomeTemp], a + ld a, [hLoadedROMBank] + ld [wBankswitchHomeSavedROMBank], a + ld a, [wBankswitchHomeTemp] + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +BankswitchBack:: +; returns from BankswitchHome + ld a, [wBankswitchHomeSavedROMBank] + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +Bankswitch:: +; self-contained bankswitch, use this when not in the home bank +; switches to the bank in b + ld a, [hLoadedROMBank] + push af + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ld bc, .Return + push bc + jp hl +.Return + pop bc + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret diff --git a/home/clear_sprites.asm b/home/clear_sprites.asm new file mode 100644 index 00000000..34f4b4ec --- /dev/null +++ b/home/clear_sprites.asm @@ -0,0 +1,21 @@ +ClearSprites:: + xor a + ld hl, wOAMBuffer + ld b, 40 * 4 +.loop + ld [hli], a + dec b + jr nz, .loop + ret + +HideSprites:: + ld a, 160 + ld hl, wOAMBuffer + ld de, 4 + ld b, 40 +.loop + ld [hl], a + add hl, de + dec b + jr nz, .loop + ret diff --git a/home/copy.asm b/home/copy.asm index be9c8c0c..910f508b 100644 --- a/home/copy.asm +++ b/home/copy.asm @@ -1,14 +1,14 @@ FarCopyData:: ; Copy bc bytes from a:hl to de. ld [wBuffer], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wBuffer] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call CopyData pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/copy2.asm b/home/copy2.asm index d4f35668..521223b6 100644 --- a/home/copy2.asm +++ b/home/copy2.asm @@ -2,24 +2,24 @@ FarCopyData2:: ; Identical to FarCopyData, but uses hROMBankTemp ; as temp space instead of wBuffer. ld [hROMBankTemp], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call CopyData pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret FarCopyData3:: ; Copy bc bytes from a:de to hl. ld [hROMBankTemp], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a push hl push de @@ -31,7 +31,7 @@ FarCopyData3:: pop de pop hl pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -39,10 +39,10 @@ FarCopyDataDouble:: ; Expand bc bytes of 1bpp image data ; from a:hl to 2bpp data at de. ld [hROMBankTemp], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a .loop ld a, [hli] @@ -55,7 +55,7 @@ FarCopyDataDouble:: or b jr nz, .loop pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -64,27 +64,27 @@ CopyVideoData:: ; tiles from b:de to hl, 8 tiles at a time. ; This takes c/8 frames. - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] push af xor a ; disable auto-transfer while copying - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [hROMBankTemp], a ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, e - ld [H_VBCOPYSRC], a + ld [hVBlankCopySource], a ld a, d - ld [H_VBCOPYSRC + 1], a + ld [hVBlankCopySource + 1], a ld a, l - ld [H_VBCOPYDEST], a + ld [hVBlankCopyDest], a ld a, h - ld [H_VBCOPYDEST + 1], a + ld [hVBlankCopyDest + 1], a .loop ld a, c @@ -92,18 +92,18 @@ CopyVideoData:: jr nc, .keepgoing .done - ld [H_VBCOPYSIZE], a + ld [hVBlankCopySize], a call DelayFrame ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop af - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret .keepgoing ld a, 8 - ld [H_VBCOPYSIZE], a + ld [hVBlankCopySize], a call DelayFrame ld a, c sub 8 @@ -114,26 +114,26 @@ CopyVideoDataDouble:: ; Wait for the next VBlank, then copy c 1bpp ; tiles from b:de to hl, 8 tiles at a time. ; This takes c/8 frames. - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] push af xor a ; disable auto-transfer while copying - ld [H_AUTOBGTRANSFERENABLED], a - ld a, [H_LOADEDROMBANK] + ld [hAutoBGTransferEnabled], a + ld a, [hLoadedROMBank] ld [hROMBankTemp], a ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, e - ld [H_VBCOPYDOUBLESRC], a + ld [hVBlankCopyDoubleSource], a ld a, d - ld [H_VBCOPYDOUBLESRC + 1], a + ld [hVBlankCopyDoubleSource + 1], a ld a, l - ld [H_VBCOPYDOUBLEDEST], a + ld [hVBlankCopyDoubleDest], a ld a, h - ld [H_VBCOPYDOUBLEDEST + 1], a + ld [hVBlankCopyDoubleDest + 1], a .loop ld a, c @@ -141,18 +141,18 @@ CopyVideoDataDouble:: jr nc, .keepgoing .done - ld [H_VBCOPYDOUBLESIZE], a + ld [hVBlankCopyDoubleSize], a call DelayFrame ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop af - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret .keepgoing ld a, 8 - ld [H_VBCOPYDOUBLESIZE], a + ld [hVBlankCopyDoubleSize], a call DelayFrame ld a, c sub 8 @@ -200,16 +200,16 @@ CopyScreenTileBufferToVRAM:: .setup ld a, d - ld [H_VBCOPYBGSRC+1], a + ld [hVBlankCopyBGSource+1], a call GetRowColAddressBgMap ld a, l - ld [H_VBCOPYBGDEST], a + ld [hVBlankCopyBGDest], a ld a, h - ld [H_VBCOPYBGDEST+1], a + ld [hVBlankCopyBGDest+1], a ld a, c - ld [H_VBCOPYBGNUMROWS], a + ld [hVBlankCopyBGNumRows], a ld a, e - ld [H_VBCOPYBGSRC], a + ld [hVBlankCopyBGSource], a ret ClearScreen:: diff --git a/home/header.asm b/home/header.asm new file mode 100644 index 00000000..047f97f4 --- /dev/null +++ b/home/header.asm @@ -0,0 +1,57 @@ +; rst vectors (unused) + +SECTION "rst0", ROM0[$0000] + rst $38 + +SECTION "rst8", ROM0[$0008] + rst $38 + +SECTION "rst10", ROM0[$0010] + rst $38 + +SECTION "rst18", ROM0[$0018] + rst $38 + +SECTION "rst20", ROM0[$0020] + rst $38 + +SECTION "rst28", ROM0[$0028] + rst $38 + +SECTION "rst30", ROM0[$0030] + rst $38 + +SECTION "rst38", ROM0[$0038] + rst $38 + + +; Game Boy hardware interrupts + +SECTION "vblank", ROM0[$0040] + jp VBlank + +SECTION "lcd", ROM0[$0048] + rst $38 + +SECTION "timer", ROM0[$0050] + jp Timer + +SECTION "serial", ROM0[$0058] + jp Serial + +SECTION "joypad", ROM0[$0060] + reti + + +SECTION "Header", ROM0[$0100] + +Start:: +; Nintendo requires all Game Boy ROMs to begin with a nop ($00) and a jp ($C3) +; to the starting address. + nop + jp _Start + +; The Game Boy cartridge header data is patched over by rgbfix. +; This makes sure it doesn't get used for anything else. + + ds $0150 - @, $00 diff --git a/home/init.asm b/home/init.asm index 9e3e2c82..83238bad 100644 --- a/home/init.asm +++ b/home/init.asm @@ -41,8 +41,8 @@ rLCDC_DEFAULT EQU %11100011 ld sp, wStack - ld hl, $c000 ; start of WRAM - ld bc, $2000 ; size of WRAM + ld hl, WRAM0_Begin + ld bc, WRAM1_End - WRAM0_Begin .loop ld [hl], 0 inc hl @@ -53,14 +53,14 @@ rLCDC_DEFAULT EQU %11100011 call ClearVram - ld hl, $ff80 - ld bc, $ffff - $ff80 + ld hl, HRAM_Begin + ld bc, HRAM_End - HRAM_Begin call FillMemory call ClearSprites - ld a, Bank(WriteDMACodeToHRAM) - ld [H_LOADEDROMBANK], a + ld a, BANK(WriteDMACodeToHRAM) + ld [hLoadedROMBank], a ld [MBC1RomBank], a call WriteDMACodeToHRAM @@ -101,9 +101,9 @@ rLCDC_DEFAULT EQU %11100011 ld [wAudioROMBank], a ld [wAudioSavedROMBank], a ld a, $9c - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a xor a - ld [H_AUTOBGTRANSFERDEST], a + ld [hAutoBGTransferDest], a dec a ld [wUpdateSpritesEnabled], a @@ -119,8 +119,8 @@ rLCDC_DEFAULT EQU %11100011 jp SetDefaultNamesBeforeTitlescreen ClearVram:: - ld hl, $8000 - ld bc, $2000 + ld hl, VRAM_Begin + ld bc, VRAM_End - VRAM_Begin xor a jp FillMemory diff --git a/home/lcd.asm b/home/lcd.asm new file mode 100644 index 00000000..e88a42b3 --- /dev/null +++ b/home/lcd.asm @@ -0,0 +1,25 @@ +DisableLCD:: + xor a + ld [rIF], a + ld a, [rIE] + ld b, a + res 0, a + ld [rIE], a + +.wait + ld a, [rLY] + cp LY_VBLANK + jr nz, .wait + + ld a, [rLCDC] + and $ff ^ rLCDC_ENABLE_MASK + ld [rLCDC], a + ld a, b + ld [rIE], a + ret + +EnableLCD:: + ld a, [rLCDC] + set rLCDC_ENABLE, a + ld [rLCDC], a + ret diff --git a/home/list_menu.asm b/home/list_menu.asm new file mode 100644 index 00000000..4ce973b2 --- /dev/null +++ b/home/list_menu.asm @@ -0,0 +1,526 @@ +; INPUT: +; [wListMenuID] = list menu ID +; [wListPointer] = address of the list (2 bytes) +DisplayListMenuID:: + xor a + ld [hAutoBGTransferEnabled], a ; disable auto-transfer + ld a, 1 + ld [hJoy7], a ; joypad state update flag + ld a, [wBattleType] + and a ; is it the Old Man battle? + jr nz, .specialBattleType + ld a, $01 ; hardcoded bank + jr .bankswitch +.specialBattleType ; Old Man battle + ld a, BANK(DisplayBattleMenu) +.bankswitch + call BankswitchHome + ld hl, wd730 + set 6, [hl] ; turn off letter printing delay + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + ld [wListCount], a + ld a, [wListPointer] + ld l, a + ld a, [wListPointer + 1] + ld h, a ; hl = address of the list + ld a, [hl] ; the first byte is the number of entries in the list + ld [wListCount], a + ld a, LIST_MENU_BOX + ld [wTextBoxID], a + call DisplayTextBoxID ; draw the menu text box + call UpdateSprites ; disable sprites behind the text box +; the code up to .skipMovingSprites appears to be useless + coord hl, 4, 2 ; coordinates of upper left corner of menu text box + lb de, 9, 14 ; height and width of menu text box + ld a, [wListMenuID] + and a ; is it a PC pokemon list? + jr nz, .skipMovingSprites + call UpdateSprites +.skipMovingSprites + ld a, 1 ; max menu item ID is 1 if the list has less than 2 entries + ld [wMenuWatchMovingOutOfBounds], a + ld a, [wListCount] + cp 2 ; does the list have less than 2 entries? + jr c, .setMenuVariables + ld a, 2 ; max menu item ID is 2 if the list has at least 2 entries +.setMenuVariables + ld [wMaxMenuItem], a + ld a, 4 + ld [wTopMenuItemY], a + ld a, 5 + ld [wTopMenuItemX], a + ld a, A_BUTTON | B_BUTTON | SELECT + ld [wMenuWatchedKeys], a + ld c, 10 + call DelayFrames + +DisplayListMenuIDLoop:: + xor a + ld [hAutoBGTransferEnabled], a ; disable transfer + call PrintListMenuEntries + ld a, 1 + ld [hAutoBGTransferEnabled], a ; enable transfer + call Delay3 + ld a, [wBattleType] + and a ; is it the Old Man battle? + jr z, .notOldManBattle +.oldManBattle + ld a, "▶" + Coorda 5, 4 ; place menu cursor in front of first menu entry + ld c, 80 + call DelayFrames + xor a + ld [wCurrentMenuItem], a + coord hl, 5, 4 + ld a, l + ld [wMenuCursorLocation], a + ld a, h + ld [wMenuCursorLocation + 1], a + jr .buttonAPressed +.notOldManBattle + call LoadGBPal + call HandleMenuInput + push af + call PlaceMenuCursor + pop af + bit 0, a ; was the A button pressed? + jp z, .checkOtherKeys +.buttonAPressed + ld a, [wCurrentMenuItem] + call PlaceUnfilledArrowMenuCursor + +; pointless because both values are overwritten before they are read + ld a, $01 + ld [wMenuExitMethod], a + ld [wChosenMenuItem], a + + xor a + ld [wMenuWatchMovingOutOfBounds], a + ld a, [wCurrentMenuItem] + ld c, a + ld a, [wListScrollOffset] + add c + ld c, a + ld a, [wListCount] + and a ; is the list empty? + jp z, ExitListMenu ; if so, exit the menu + dec a + cp c ; did the player select Cancel? + jp c, ExitListMenu ; if so, exit the menu + ld a, c + ld [wWhichPokemon], a + ld a, [wListMenuID] + cp ITEMLISTMENU + jr nz, .skipMultiplying +; if it's an item menu + sla c ; item entries are 2 bytes long, so multiply by 2 +.skipMultiplying + ld a, [wListPointer] + ld l, a + ld a, [wListPointer + 1] + ld h, a + inc hl ; hl = beginning of list entries + ld b, 0 + add hl, bc + ld a, [hl] + ld [wcf91], a + ld a, [wListMenuID] + and a ; is it a PC pokemon list? + jr z, .pokemonList + push hl + call GetItemPrice + pop hl + ld a, [wListMenuID] + cp ITEMLISTMENU + jr nz, .skipGettingQuantity +; if it's an item menu + inc hl + ld a, [hl] ; a = item quantity + ld [wMaxItemQuantity], a +.skipGettingQuantity + ld a, [wcf91] + ld [wd0b5], a + ld a, BANK(ItemNames) + ld [wPredefBank], a + call GetName + jr .storeChosenEntry +.pokemonList + ld hl, wPartyCount + ld a, [wListPointer] + cp l ; is it a list of party pokemon or box pokemon? + ld hl, wPartyMonNicks + jr z, .getPokemonName + ld hl, wBoxMonNicks ; box pokemon names +.getPokemonName + ld a, [wWhichPokemon] + call GetPartyMonName +.storeChosenEntry ; store the menu entry that the player chose and return + ld de, wcd6d + call CopyStringToCF4B ; copy name to wcf4b + ld a, CHOSE_MENU_ITEM + ld [wMenuExitMethod], a + ld a, [wCurrentMenuItem] + ld [wChosenMenuItem], a + xor a + ld [hJoy7], a ; joypad state update flag + ld hl, wd730 + res 6, [hl] ; turn on letter printing delay + jp BankswitchBack +.checkOtherKeys ; check B, SELECT, Up, and Down keys + bit 1, a ; was the B button pressed? + jp nz, ExitListMenu ; if so, exit the menu + bit 2, a ; was the select button pressed? + jp nz, HandleItemListSwapping ; if so, allow the player to swap menu entries + ld b, a + bit 7, b ; was Down pressed? + ld hl, wListScrollOffset + jr z, .upPressed +.downPressed + ld a, [hl] + add 3 + ld b, a + ld a, [wListCount] + cp b ; will going down scroll past the Cancel button? + jp c, DisplayListMenuIDLoop + inc [hl] ; if not, go down + jp DisplayListMenuIDLoop +.upPressed + ld a, [hl] + and a + jp z, DisplayListMenuIDLoop + dec [hl] + jp DisplayListMenuIDLoop + +DisplayChooseQuantityMenu:: +; text box dimensions/coordinates for just quantity + coord hl, 15, 9 + ld b, 1 ; height + ld c, 3 ; width + ld a, [wListMenuID] + cp PRICEDITEMLISTMENU + jr nz, .drawTextBox +; text box dimensions/coordinates for quantity and price + coord hl, 7, 9 + ld b, 1 ; height + ld c, 11 ; width +.drawTextBox + call TextBoxBorder + coord hl, 16, 10 + ld a, [wListMenuID] + cp PRICEDITEMLISTMENU + jr nz, .printInitialQuantity + coord hl, 8, 10 +.printInitialQuantity + ld de, InitialQuantityText + call PlaceString + xor a + ld [wItemQuantity], a ; initialize current quantity to 0 + jp .incrementQuantity +.waitForKeyPressLoop + call JoypadLowSensitivity + ld a, [hJoyPressed] ; newly pressed buttons + bit 0, a ; was the A button pressed? + jp nz, .buttonAPressed + bit 1, a ; was the B button pressed? + jp nz, .buttonBPressed + bit 6, a ; was Up pressed? + jr nz, .incrementQuantity + bit 7, a ; was Down pressed? + jr nz, .decrementQuantity + jr .waitForKeyPressLoop +.incrementQuantity + ld a, [wMaxItemQuantity] + inc a + ld b, a + ld hl, wItemQuantity ; current quantity + inc [hl] + ld a, [hl] + cp b + jr nz, .handleNewQuantity +; wrap to 1 if the player goes above the max quantity + ld a, 1 + ld [hl], a + jr .handleNewQuantity +.decrementQuantity + ld hl, wItemQuantity ; current quantity + dec [hl] + jr nz, .handleNewQuantity +; wrap to the max quantity if the player goes below 1 + ld a, [wMaxItemQuantity] + ld [hl], a +.handleNewQuantity + coord hl, 17, 10 + ld a, [wListMenuID] + cp PRICEDITEMLISTMENU + jr nz, .printQuantity +.printPrice + ld c, $03 + ld a, [wItemQuantity] + ld b, a + ld hl, hMoney ; total price +; initialize total price to 0 + xor a + ld [hli], a + ld [hli], a + ld [hl], a +.addLoop ; loop to multiply the individual price by the quantity to get the total price + ld de, hMoney + 2 + ld hl, hItemPrice + 2 + push bc + predef AddBCDPredef ; add the individual price to the current sum + pop bc + dec b + jr nz, .addLoop + ld a, [hHalveItemPrices] + and a ; should the price be halved (for selling items)? + jr z, .skipHalvingPrice + xor a + ld [hDivideBCDDivisor], a + ld [hDivideBCDDivisor + 1], a + ld a, $02 + ld [hDivideBCDDivisor + 2], a + predef DivideBCDPredef3 ; halves the price +; store the halved price + ld a, [hDivideBCDQuotient] + ld [hMoney], a + ld a, [hDivideBCDQuotient + 1] + ld [hMoney + 1], a + ld a, [hDivideBCDQuotient + 2] + ld [hMoney + 2], a +.skipHalvingPrice + coord hl, 12, 10 + ld de, SpacesBetweenQuantityAndPriceText + call PlaceString + ld de, hMoney ; total price + ld c, $a3 + call PrintBCDNumber + coord hl, 9, 10 +.printQuantity + ld de, wItemQuantity ; current quantity + lb bc, LEADING_ZEROES | 1, 2 ; 1 byte, 2 digits + call PrintNumber + jp .waitForKeyPressLoop +.buttonAPressed ; the player chose to make the transaction + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + ret +.buttonBPressed ; the player chose to cancel the transaction + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + ld a, $ff + ret + +InitialQuantityText:: + db "×01@" + +SpacesBetweenQuantityAndPriceText:: + db " @" + +ExitListMenu:: + ld a, [wCurrentMenuItem] + ld [wChosenMenuItem], a + ld a, CANCELLED_MENU + ld [wMenuExitMethod], a + ld [wMenuWatchMovingOutOfBounds], a + xor a + ld [hJoy7], a + ld hl, wd730 + res 6, [hl] + call BankswitchBack + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + scf + ret + +PrintListMenuEntries:: + coord hl, 5, 3 + ld b, 9 + ld c, 14 + call ClearScreenArea + ld a, [wListPointer] + ld e, a + ld a, [wListPointer + 1] + ld d, a + inc de ; de = beginning of list entries + ld a, [wListScrollOffset] + ld c, a + ld a, [wListMenuID] + cp ITEMLISTMENU + ld a, c + jr nz, .skipMultiplying +; if it's an item menu +; item entries are 2 bytes long, so multiply by 2 + sla a + sla c +.skipMultiplying + add e + ld e, a + jr nc, .noCarry + inc d +.noCarry + coord hl, 6, 4 ; coordinates of first list entry name + ld b, 4 ; print 4 names +.loop + ld a, b + ld [wWhichPokemon], a + ld a, [de] + ld [wd11e], a + cp $ff + jp z, .printCancelMenuItem + push bc + push de + push hl + push hl + push de + ld a, [wListMenuID] + and a + jr z, .pokemonPCMenu + cp MOVESLISTMENU + jr z, .movesMenu +.itemMenu + call GetItemName + jr .placeNameString +.pokemonPCMenu + push hl + ld hl, wPartyCount + ld a, [wListPointer] + cp l ; is it a list of party pokemon or box pokemon? + ld hl, wPartyMonNicks + jr z, .getPokemonName + ld hl, wBoxMonNicks ; box pokemon names +.getPokemonName + ld a, [wWhichPokemon] + ld b, a + ld a, 4 + sub b + ld b, a + ld a, [wListScrollOffset] + add b + call GetPartyMonName + pop hl + jr .placeNameString +.movesMenu + call GetMoveName +.placeNameString + call PlaceString + pop de + pop hl + ld a, [wPrintItemPrices] + and a ; should prices be printed? + jr z, .skipPrintingItemPrice +.printItemPrice + push hl + ld a, [de] + ld de, ItemPrices + ld [wcf91], a + call GetItemPrice ; get price + pop hl + ld bc, SCREEN_WIDTH + 5 ; 1 row down and 5 columns right + add hl, bc + ld c, $a3 ; no leading zeroes, right-aligned, print currency symbol, 3 bytes + call PrintBCDNumber +.skipPrintingItemPrice + ld a, [wListMenuID] + and a + jr nz, .skipPrintingPokemonLevel +.printPokemonLevel + ld a, [wd11e] + push af + push hl + ld hl, wPartyCount + ld a, [wListPointer] + cp l ; is it a list of party pokemon or box pokemon? + ld a, PLAYER_PARTY_DATA + jr z, .next + ld a, BOX_DATA +.next + ld [wMonDataLocation], a + ld hl, wWhichPokemon + ld a, [hl] + ld b, a + ld a, $04 + sub b + ld b, a + ld a, [wListScrollOffset] + add b + ld [hl], a + call LoadMonData + ld a, [wMonDataLocation] + and a ; is it a list of party pokemon or box pokemon? + jr z, .skipCopyingLevel +.copyLevel + ld a, [wLoadedMonBoxLevel] + ld [wLoadedMonLevel], a +.skipCopyingLevel + pop hl + ld bc, $1c + add hl, bc + call PrintLevel + pop af + ld [wd11e], a +.skipPrintingPokemonLevel + pop hl + pop de + inc de + ld a, [wListMenuID] + cp ITEMLISTMENU + jr nz, .nextListEntry +.printItemQuantity + ld a, [wd11e] + ld [wcf91], a + call IsKeyItem ; check if item is unsellable + ld a, [wIsKeyItem] + and a ; is the item unsellable? + jr nz, .skipPrintingItemQuantity ; if so, don't print the quantity + push hl + ld bc, SCREEN_WIDTH + 8 ; 1 row down and 8 columns right + add hl, bc + ld a, "×" + ld [hli], a + ld a, [wd11e] + push af + ld a, [de] + ld [wMaxItemQuantity], a + push de + ld de, wd11e + ld [de], a + lb bc, 1, 2 + call PrintNumber + pop de + pop af + ld [wd11e], a + pop hl +.skipPrintingItemQuantity + inc de + pop bc + inc c + push bc + inc c + ld a, [wMenuItemToSwap] ; ID of item chosen for swapping (counts from 1) + and a ; is an item being swapped? + jr z, .nextListEntry + sla a + cp c ; is it this item? + jr nz, .nextListEntry + dec hl + ld a, $ec ; unfilled right arrow menu cursor to indicate an item being swapped + ld [hli], a +.nextListEntry + ld bc, 2 * SCREEN_WIDTH ; 2 rows + add hl, bc + pop bc + inc c + dec b + jp nz, .loop + ld bc, -8 + add hl, bc + ld a, "▼" + ld [hl], a + ret +.printCancelMenuItem + ld de, ListMenuCancelText + jp PlaceString + +ListMenuCancelText:: + db "CANCEL@" diff --git a/home/move_mon.asm b/home/move_mon.asm new file mode 100644 index 00000000..e13ebf4e --- /dev/null +++ b/home/move_mon.asm @@ -0,0 +1,242 @@ +; Function to remove a pokemon from the party or the current box. +; wWhichPokemon determines the pokemon. +; [wRemoveMonFromBox] == 0 specifies the party. +; [wRemoveMonFromBox] != 0 specifies the current box. +RemovePokemon:: + jpab _RemovePokemon + +AddPartyMon:: + push hl + push de + push bc + callba _AddPartyMon + pop bc + pop de + pop hl + ret + +; calculates all 5 stats of current mon and writes them to [de] +CalcStats:: + ld c, $0 +.statsLoop + inc c + call CalcStat + ld a, [hMultiplicand+1] + ld [de], a + inc de + ld a, [hMultiplicand+2] + ld [de], a + inc de + ld a, c + cp NUM_STATS + jr nz, .statsLoop + ret + +; calculates stat c of current mon +; c: stat to calc (HP=1,Atk=2,Def=3,Spd=4,Spc=5) +; b: consider stat exp? +; hl: base ptr to stat exp values ([hl + 2*c - 1] and [hl + 2*c]) +CalcStat:: + push hl + push de + push bc + ld a, b + ld d, a + push hl + ld hl, wMonHeader + ld b, $0 + add hl, bc + ld a, [hl] ; read base value of stat + ld e, a + pop hl + push hl + sla c + ld a, d + and a + jr z, .statExpDone ; consider stat exp? + add hl, bc ; skip to corresponding stat exp value +.statExpLoop ; calculates ceil(Sqrt(stat exp)) in b + xor a + ld [hMultiplicand], a + ld [hMultiplicand+1], a + inc b ; increment current stat exp bonus + ld a, b + cp $ff + jr z, .statExpDone + ld [hMultiplicand+2], a + ld [hMultiplier], a + call Multiply + ld a, [hld] + ld d, a + ld a, [hProduct + 3] + sub d + ld a, [hli] + ld d, a + ld a, [hProduct + 2] + sbc d ; test if (current stat exp bonus)^2 < stat exp + jr c, .statExpLoop +.statExpDone + srl c + pop hl + push bc + ld bc, wPartyMon1DVs - (wPartyMon1HPExp - 1) ; also wEnemyMonDVs - wEnemyMonHP + add hl, bc + pop bc + ld a, c + cp $2 + jr z, .getAttackIV + cp $3 + jr z, .getDefenseIV + cp $4 + jr z, .getSpeedIV + cp $5 + jr z, .getSpecialIV +.getHpIV + push bc + ld a, [hl] ; Atk IV + swap a + and $1 + sla a + sla a + sla a + ld b, a + ld a, [hli] ; Def IV + and $1 + sla a + sla a + add b + ld b, a + ld a, [hl] ; Spd IV + swap a + and $1 + sla a + add b + ld b, a + ld a, [hl] ; Spc IV + and $1 + add b ; HP IV: LSB of the other 4 IVs + pop bc + jr .calcStatFromIV +.getAttackIV + ld a, [hl] + swap a + and $f + jr .calcStatFromIV +.getDefenseIV + ld a, [hl] + and $f + jr .calcStatFromIV +.getSpeedIV + inc hl + ld a, [hl] + swap a + and $f + jr .calcStatFromIV +.getSpecialIV + inc hl + ld a, [hl] + and $f +.calcStatFromIV + ld d, $0 + add e + ld e, a + jr nc, .noCarry + inc d ; de = Base + IV +.noCarry + sla e + rl d ; de = (Base + IV) * 2 + srl b + srl b ; b = ceil(Sqrt(stat exp)) / 4 + ld a, b + add e + jr nc, .noCarry2 + inc d ; de = (Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4 +.noCarry2 + ld [hMultiplicand+2], a + ld a, d + ld [hMultiplicand+1], a + xor a + ld [hMultiplicand], a + ld a, [wCurEnemyLVL] + ld [hMultiplier], a + call Multiply ; ((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level + ld a, [hMultiplicand] + ld [hDividend], a + ld a, [hMultiplicand+1] + ld [hDividend+1], a + ld a, [hMultiplicand+2] + ld [hDividend+2], a + ld a, $64 + ld [hDivisor], a + ld a, $3 + ld b, a + call Divide ; (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + ld a, c + cp $1 + ld a, 5 ; + 5 for non-HP stat + jr nz, .notHPStat + ld a, [wCurEnemyLVL] + ld b, a + ld a, [hMultiplicand+2] + add b + ld [hMultiplicand+2], a + jr nc, .noCarry3 + ld a, [hMultiplicand+1] + inc a + ld [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level +.noCarry3 + ld a, 10 ; +10 for HP stat +.notHPStat + ld b, a + ld a, [hMultiplicand+2] + add b + ld [hMultiplicand+2], a + jr nc, .noCarry4 + ld a, [hMultiplicand+1] + inc a ; non-HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + 5 + ld [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level + 10 +.noCarry4 + ld a, [hMultiplicand+1] ; check for overflow (>999) + cp 999 / $100 + 1 + jr nc, .overflow + cp 999 / $100 + jr c, .noOverflow + ld a, [hMultiplicand+2] + cp 999 % $100 + 1 + jr c, .noOverflow +.overflow + ld a, 999 / $100 ; overflow: cap at 999 + ld [hMultiplicand+1], a + ld a, 999 % $100 + ld [hMultiplicand+2], a +.noOverflow + pop bc + pop de + pop hl + ret + +AddEnemyMonToPlayerParty:: + ld a, [hLoadedROMBank] + push af + ld a, BANK(_AddEnemyMonToPlayerParty) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call _AddEnemyMonToPlayerParty + pop bc + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +MoveMon:: + ld a, [hLoadedROMBank] + push af + ld a, BANK(_MoveMon) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call _MoveMon + pop bc + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret diff --git a/home/names.asm b/home/names.asm new file mode 100644 index 00000000..cbc8910b --- /dev/null +++ b/home/names.asm @@ -0,0 +1,141 @@ +GetMonName:: + push hl + ld a, [hLoadedROMBank] + push af + ld a, BANK(MonsterNames) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ld a, [wd11e] + dec a + ld hl, MonsterNames + ld c, 10 + ld b, 0 + call AddNTimes + ld de, wcd6d + push de + ld bc, 10 + call CopyData + ld hl, wcd6d + 10 + ld [hl], "@" + pop de + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + pop hl + ret + +GetItemName:: +; given an item ID at [wd11e], store the name of the item into a string +; starting at wcd6d + push hl + push bc + ld a, [wd11e] + cp HM_01 ; is this a TM/HM? + jr nc, .Machine + + ld [wd0b5], a + ld a, ITEM_NAME + ld [wNameListType], a + ld a, BANK(ItemNames) + ld [wPredefBank], a + call GetName + jr .Finish + +.Machine + call GetMachineName +.Finish + ld de, wcd6d ; pointer to where item name is stored in RAM + pop bc + pop hl + ret + +GetMachineName:: +; copies the name of the TM/HM in [wd11e] to wcd6d + push hl + push de + push bc + ld a, [wd11e] + push af + cp TM_01 ; is this a TM? [not HM] + jr nc, .WriteTM +; if HM, then write "HM" and add 5 to the item ID, so we can reuse the +; TM printing code + add 5 + ld [wd11e], a + ld hl, HiddenPrefix ; points to "HM" + ld bc, 2 + jr .WriteMachinePrefix +.WriteTM + ld hl, TechnicalPrefix ; points to "TM" + ld bc, 2 +.WriteMachinePrefix + ld de, wcd6d + call CopyData + +; now get the machine number and convert it to text + ld a, [wd11e] + sub TM_01 - 1 + ld b, "0" +.FirstDigit + sub 10 + jr c, .SecondDigit + inc b + jr .FirstDigit +.SecondDigit + add 10 + push af + ld a, b + ld [de], a + inc de + pop af + ld b, "0" + add b + ld [de], a + inc de + ld a, "@" + ld [de], a + pop af + ld [wd11e], a + pop bc + pop de + pop hl + ret + +TechnicalPrefix:: + db "TM" +HiddenPrefix:: + db "HM" + +; sets carry if item is HM, clears carry if item is not HM +; Input: a = item ID +IsItemHM:: + cp HM_01 + jr c, .notHM + cp TM_01 + ret +.notHM + and a + ret + +; sets carry if move is an HM, clears carry if move is not an HM +; Input: a = move ID +IsMoveHM:: + ld hl, HMMoves + ld de, 1 + jp IsInArray + +HMMoves:: +INCLUDE "data/moves/hm_moves.asm" + +GetMoveName:: + push hl + ld a, MOVE_NAME + ld [wNameListType], a + ld a, [wd11e] + ld [wd0b5], a + ld a, BANK(MoveNames) + ld [wPredefBank], a + call GetName + ld de, wcd6d ; pointer to where move name is stored in RAM + pop hl + ret diff --git a/home/names2.asm b/home/names2.asm new file mode 100644 index 00000000..319febd3 --- /dev/null +++ b/home/names2.asm @@ -0,0 +1,93 @@ +NamePointers:: + dw MonsterNames + dw MoveNames + dw UnusedNames + dw ItemNames + dw wPartyMonOT ; player's OT names list + dw wEnemyMonOT ; enemy's OT names list + dw TrainerNames + +GetName:: +; arguments: +; [wd0b5] = which name +; [wNameListType] = which list +; [wPredefBank] = bank of list +; +; returns pointer to name in de + ld a, [wd0b5] + ld [wd11e], a + + ; TM names are separate from item names. + ; BUG: This applies to all names instead of just items. + cp HM_01 + jp nc, GetMachineName + + ld a, [hLoadedROMBank] + push af + push hl + push bc + push de + ld a, [wNameListType] ;List3759_entrySelector + dec a + jr nz, .otherEntries + ;1 = MON_NAMES + call GetMonName + ld hl, NAME_LENGTH + add hl, de + ld e, l + ld d, h + jr .gotPtr +.otherEntries + ;2-7 = OTHER ENTRIES + ld a, [wPredefBank] + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ld a, [wNameListType] ;VariousNames' entryID + dec a + add a + ld d, 0 + ld e, a + jr nc, .skip + inc d +.skip + ld hl, NamePointers + add hl, de + ld a, [hli] + ld [hSwapTemp + 1], a + ld a, [hl] + ld [hSwapTemp], a + ld a, [hSwapTemp] + ld h, a + ld a, [hSwapTemp + 1] + ld l, a + ld a, [wd0b5] + ld b, a + ld c, 0 +.nextName + ld d, h + ld e, l +.nextChar + ld a, [hli] + cp "@" + jr nz, .nextChar + inc c ;entry counter + ld a, b ;wanted entry + cp c + jr nz, .nextName + ld h, d + ld l, e + ld de, wcd6d + ld bc, $14 + call CopyData +.gotPtr + ld a, e + ld [wUnusedCF8D], a + ld a, d + ld [wUnusedCF8D + 1], a + pop de + pop bc + pop hl + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret diff --git a/home/overworld.asm b/home/overworld.asm index b96efcb4..79e4ea97 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -88,7 +88,7 @@ OverworldLoopLessDelay:: call IsPlayerCharacterBeingControlledByGame jr nz, .checkForOpponent call CheckForHiddenObjectOrBookshelfOrCardKeyDoor - ld a, [$ffeb] + ld a, [hFoundHiddenObjectOrBookshelf] and a jp z, OverworldLoop ; jump if a hidden object or bookshelf was found, but not if a card key door was found call IsSpriteOrSignInFrontOfPlayer @@ -762,8 +762,8 @@ HandleBlackOut:: call StopMusic ld hl, wd72e res 5, [hl] - ld a, Bank(ResetStatusAndHalveMoneyOnBlackout) ; also Bank(SpecialWarpIn) and Bank(SpecialEnterMap) - ld [H_LOADEDROMBANK], a + ld a, BANK(ResetStatusAndHalveMoneyOnBlackout) ; also BANK(SpecialWarpIn) and BANK(SpecialEnterMap) + ld [hLoadedROMBank], a ld [MBC1RomBank], a call ResetStatusAndHalveMoneyOnBlackout call SpecialWarpIn @@ -772,7 +772,7 @@ HandleBlackOut:: StopMusic:: ld [wAudioFadeOutControl], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .wait @@ -793,8 +793,8 @@ HandleFlyWarpOrDungeonWarp:: set 2, [hl] ; fly warp or dungeon warp res 5, [hl] ; forced to ride bike call LeaveMapAnim - ld a, Bank(SpecialWarpIn) - ld [H_LOADEDROMBANK], a + ld a, BANK(SpecialWarpIn) + ld [hLoadedROMBank], a ld [MBC1RomBank], a call SpecialWarpIn jp SpecialEnterMap @@ -867,7 +867,7 @@ IsBikeRidingAllowed:: scf ret -INCLUDE "data/bike_riding_tilesets.asm" +INCLUDE "data/tilesets/bike_riding_tilesets.asm" ; load the tile pattern data of the current tileset into VRAM LoadTilesetTilePatternData:: @@ -1372,10 +1372,10 @@ TilePairCollisionsWater:: ; this builds a tile map from the tile block map based on the current X/Y coordinates of the player's character LoadCurrentMapView:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wTilesetBank] ; tile data ROM bank - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ; switch to ROM bank that contains tile data ld a, [wCurrentTileBlockMapViewPointer] ; address of upper left corner of current map view ld e, a @@ -1424,18 +1424,18 @@ LoadCurrentMapView:: dec b jr nz, .rowLoop ld hl, wTileMapBackup - ld bc, $0000 + ld bc, $0 .adjustForYCoordWithinTileBlock ld a, [wYBlockCoord] and a jr z, .adjustForXCoordWithinTileBlock - ld bc, $0030 + ld bc, $30 add hl, bc .adjustForXCoordWithinTileBlock ld a, [wXBlockCoord] and a jr z, .copyToVisibleAreaBuffer - ld bc, $0002 + ld bc, $2 add hl, bc .copyToVisibleAreaBuffer coord de, 0, 0 ; base address for the tiles that are directly transferred to VRAM during V-blank @@ -1457,7 +1457,7 @@ LoadCurrentMapView:: dec b jr nz, .rowLoop2 pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ; restore previous ROM bank ret @@ -1739,7 +1739,7 @@ ScheduleSouthRowRedraw:: ld l, a ld a, [wMapViewVRAMPointer + 1] ld h, a - ld bc, $0200 + ld bc, $200 add hl, bc ld a, h and $03 @@ -1835,7 +1835,7 @@ DrawTileBlock:: ld a, [de] ld [hl], a inc de - ld bc, $0015 + ld bc, $15 add hl, bc pop bc dec c @@ -2180,7 +2180,7 @@ LoadMapHeader:: jr nz, .zeroSpriteDataLoop ; initialize all C100-C1FF sprite entries to disabled (other than player's) ld hl, wSpriteStateData1 + $12 - ld de, $0010 + ld de, $10 ld c, $0f .disableSpriteEntriesLoop ld [hl], $ff @@ -2291,10 +2291,10 @@ LoadMapHeader:: ld a, [wCurMap] ld c, a ld b, $00 - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(MapSongBanks) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld hl, MapSongBanks add hl, bc @@ -2304,7 +2304,7 @@ LoadMapHeader:: ld a, [hl] ld [wMapMusicROMBank], a ; music 2 pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2322,7 +2322,7 @@ CopyMapConnectionHeader:: ; function to load map data LoadMapData:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af call DisableLCD ld a, $98 @@ -2377,7 +2377,7 @@ LoadMapData:: call PlayDefaultMusicFadeOutCurrent .restoreRomBank pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2388,15 +2388,15 @@ SwitchToMapRomBank:: push bc ld c, a ld b, $00 - ld a, Bank(MapHeaderBanks) + ld a, BANK(MapHeaderBanks) call BankswitchHome ; switch to ROM bank 3 ld hl, MapHeaderBanks add hl, bc ld a, [hl] - ld [$ffe8], a ; save map ROM bank + ld [hMapROMBank], a ; save map ROM bank call BankswitchBack - ld a, [$ffe8] - ld [H_LOADEDROMBANK], a + ld a, [hMapROMBank] + ld [hLoadedROMBank], a ld [MBC1RomBank], a ; switch to map ROM bank pop bc pop hl diff --git a/home/overworld_text.asm b/home/overworld_text.asm new file mode 100644 index 00000000..b32335f7 --- /dev/null +++ b/home/overworld_text.asm @@ -0,0 +1,31 @@ +TextScriptEndingChar:: + db "@" + +TextScriptEnd:: + ld hl, TextScriptEndingChar + ret + +ExclamationText:: + TX_FAR _ExclamationText + db "@" + +GroundRoseText:: + TX_FAR _GroundRoseText + db "@" + +BoulderText:: + TX_FAR _BoulderText + db "@" + +MartSignText:: + TX_FAR _MartSignText + db "@" + +PokeCenterSignText:: + TX_FAR _PokeCenterSignText + db "@" + +PickUpItemText:: + TX_ASM + predef PickUpItem + jp TextScriptEnd diff --git a/home/pics.asm b/home/pics.asm new file mode 100644 index 00000000..c6d99cbb --- /dev/null +++ b/home/pics.asm @@ -0,0 +1,196 @@ +; uncompresses the front or back sprite of the specified mon +; assumes the corresponding mon header is already loaded +; hl contains offset to sprite pointer ($b for front or $d for back) +UncompressMonSprite:: + ld bc, wMonHeader + add hl, bc + ld a, [hli] + ld [wSpriteInputPtr], a ; fetch sprite input pointer + ld a, [hl] + ld [wSpriteInputPtr+1], a +; define (by index number) the bank that a pokemon's image is in +; index = Mew, bank 1 +; index = Kabutops fossil, bank $B +; index < $1F, bank 9 +; $1F ≤ index < $4A, bank $A +; $4A ≤ index < $74, bank $B +; $74 ≤ index < $99, bank $C +; $99 ≤ index, bank $D + ld a, [wcf91] ; XXX name for this ram location + ld b, a + cp MEW + ld a, BANK(MewPicFront) + jr z, .GotBank + ld a, b + cp FOSSIL_KABUTOPS + ld a, BANK(FossilKabutopsPic) + jr z, .GotBank + ld a, b + cp TANGELA + 1 + ld a, BANK(TangelaPicFront) + jr c, .GotBank + ld a, b + cp MOLTRES + 1 + ld a, BANK(MoltresPicFront) + jr c, .GotBank + ld a, b + cp BEEDRILL + 2 + ld a, BANK(BeedrillPicFront) + jr c, .GotBank + ld a, b + cp STARMIE + 1 + ld a, BANK(StarmiePicFront) + jr c, .GotBank + ld a, BANK(VictreebelPicFront) +.GotBank + jp UncompressSpriteData + +; de: destination location +LoadMonFrontSprite:: + push de + ld hl, wMonHFrontSprite - wMonHeader + call UncompressMonSprite + ld hl, wMonHSpriteDim + ld a, [hli] + ld c, a + pop de + ; fall through + +; postprocesses uncompressed sprite chunks to a 2bpp sprite and loads it into video ram +; calculates alignment parameters to place both sprite chunks in the center of the 7*7 tile sprite buffers +; de: destination location +; a,c: sprite dimensions (in tiles of 8x8 each) +LoadUncompressedSpriteData:: + push de + and $f + ld [hSpriteWidth], a ; each byte contains 8 pixels (in 1bpp), so tiles=bytes for width + ld b, a + ld a, $7 + sub b ; 7-w + inc a ; 8-w + srl a ; (8-w)/2 ; horizontal center (in tiles, rounded up) + ld b, a + add a + add a + add a + sub b ; 7*((8-w)/2) ; skip for horizontal center (in tiles) + ld [hSpriteOffset], a + ld a, c + swap a + and $f + ld b, a + add a + add a + add a ; 8*tiles is height in bytes + ld [hSpriteHeight], a + ld a, $7 + sub b ; 7-h ; skip for vertical center (in tiles, relative to current column) + ld b, a + ld a, [hSpriteOffset] + add b ; 7*((8-w)/2) + 7-h ; combined overall offset (in tiles) + add a + add a + add a ; 8*(7*((8-w)/2) + 7-h) ; combined overall offset (in bytes) + ld [hSpriteOffset], a + xor a + ld [MBC1SRamBank], a + ld hl, sSpriteBuffer0 + call ZeroSpriteBuffer ; zero buffer 0 + ld de, sSpriteBuffer1 + ld hl, sSpriteBuffer0 + call AlignSpriteDataCentered ; copy and align buffer 1 to 0 (containing the MSB of the 2bpp sprite) + ld hl, sSpriteBuffer1 + call ZeroSpriteBuffer ; zero buffer 1 + ld de, sSpriteBuffer2 + ld hl, sSpriteBuffer1 + call AlignSpriteDataCentered ; copy and align buffer 2 to 1 (containing the LSB of the 2bpp sprite) + pop de + jp InterlaceMergeSpriteBuffers + +; copies and aligns the sprite data properly inside the sprite buffer +; sprite buffers are 7*7 tiles in size, the loaded sprite is centered within this area +AlignSpriteDataCentered:: + ld a, [hSpriteOffset] + ld b, $0 + ld c, a + add hl, bc + ld a, [hSpriteWidth] +.columnLoop + push af + push hl + ld a, [hSpriteHeight] + ld c, a +.columnInnerLoop + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .columnInnerLoop + pop hl + ld bc, 7*8 ; 7 tiles + add hl, bc ; advance one full column + pop af + dec a + jr nz, .columnLoop + ret + +; fills the sprite buffer (pointed to in hl) with zeros +ZeroSpriteBuffer:: + ld bc, SPRITEBUFFERSIZE +.nextByteLoop + xor a + ld [hli], a + dec bc + ld a, b + or c + jr nz, .nextByteLoop + ret + +; combines the (7*7 tiles, 1bpp) sprite chunks in buffer 0 and 1 into a 2bpp sprite located in buffer 1 through 2 +; in the resulting sprite, the rows of the two source sprites are interlaced +; de: output address +InterlaceMergeSpriteBuffers:: + xor a + ld [MBC1SRamBank], a + push de + ld hl, sSpriteBuffer2 + (SPRITEBUFFERSIZE - 1) ; destination: end of buffer 2 + ld de, sSpriteBuffer1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1 + ld bc, sSpriteBuffer0 + (SPRITEBUFFERSIZE - 1) ; source 1: end of buffer 0 + ld a, SPRITEBUFFERSIZE/2 ; $c4 + ld [hSpriteInterlaceCounter], a +.interlaceLoop + ld a, [de] + dec de + ld [hld], a ; write byte of source 2 + ld a, [bc] + dec bc + ld [hld], a ; write byte of source 1 + ld a, [de] + dec de + ld [hld], a ; write byte of source 2 + ld a, [bc] + dec bc + ld [hld], a ; write byte of source 1 + ld a, [hSpriteInterlaceCounter] + dec a + ld [hSpriteInterlaceCounter], a + jr nz, .interlaceLoop + ld a, [wSpriteFlipped] + and a + jr z, .notFlipped + ld bc, 2*SPRITEBUFFERSIZE + ld hl, sSpriteBuffer1 +.swapLoop + swap [hl] ; if flipped swap nybbles in all bytes + inc hl + dec bc + ld a, b + or c + jr nz, .swapLoop +.notFlipped + pop hl + ld de, sSpriteBuffer1 + ld c, (2*SPRITEBUFFERSIZE)/16 ; $31, number of 16 byte chunks to be copied + ld a, [hLoadedROMBank] + ld b, a + jp CopyVideoData diff --git a/home/pokemon.asm b/home/pokemon.asm new file mode 100644 index 00000000..141baa65 --- /dev/null +++ b/home/pokemon.asm @@ -0,0 +1,464 @@ +DrawHPBar:: +; Draw an HP bar d tiles long, and fill it to e pixels. +; If c is nonzero, show at least a sliver regardless. +; The right end of the bar changes with [wHPBarType]. + + push hl + push de + push bc + + ; Left + ld a, $71 ; "HP:" + ld [hli], a + ld a, $62 + ld [hli], a + + push hl + + ; Middle + ld a, $63 ; empty +.draw + ld [hli], a + dec d + jr nz, .draw + + ; Right + ld a, [wHPBarType] + dec a + ld a, $6d ; status screen and battle + jr z, .ok + dec a ; pokemon menu +.ok + ld [hl], a + + pop hl + + ld a, e + and a + jr nz, .fill + + ; If c is nonzero, draw a pixel anyway. + ld a, c + and a + jr z, .done + ld e, 1 + +.fill + ld a, e + sub 8 + jr c, .partial + ld e, a + ld a, $6b ; full + ld [hli], a + ld a, e + and a + jr z, .done + jr .fill + +.partial + ; Fill remaining pixels at the end if necessary. + ld a, $63 ; empty + add e + ld [hl], a +.done + pop bc + pop de + pop hl + ret + + +; loads pokemon data from one of multiple sources to wLoadedMon +; loads base stats to wMonHeader +; INPUT: +; [wWhichPokemon] = index of pokemon within party/box +; [wMonDataLocation] = source +; 00: player's party +; 01: enemy's party +; 02: current box +; 03: daycare +; OUTPUT: +; [wcf91] = pokemon ID +; wLoadedMon = base address of pokemon data +; wMonHeader = base address of base stats +LoadMonData:: + jpab LoadMonData_ + +OverwritewMoves:: +; Write c to [wMoves + b]. Unused. + ld hl, wMoves + ld e, b + ld d, 0 + add hl, de + ld a, c + ld [hl], a + ret + +LoadFlippedFrontSpriteByMonIndex:: + ld a, 1 + ld [wSpriteFlipped], a + +LoadFrontSpriteByMonIndex:: + push hl + ld a, [wd11e] + push af + ld a, [wcf91] + ld [wd11e], a + predef IndexToPokedex + ld hl, wd11e + ld a, [hl] + pop bc + ld [hl], b + and a + pop hl + jr z, .invalidDexNumber ; dex #0 invalid + cp NUM_POKEMON + 1 + jr c, .validDexNumber ; dex >#151 invalid +.invalidDexNumber + ld a, RHYDON ; $1 + ld [wcf91], a + ret +.validDexNumber + push hl + ld de, vFrontPic + call LoadMonFrontSprite + pop hl + ld a, [hLoadedROMBank] + push af + ld a, BANK(CopyUncompressedPicToHL) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + xor a + ld [hStartTileID], a + call CopyUncompressedPicToHL + xor a + ld [wSpriteFlipped], a + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + + +PlayCry:: +; Play monster a's cry. + call GetCryData + call PlaySound + jp WaitForSoundToFinish + +GetCryData:: +; Load cry data for monster a. + dec a + ld c, a + ld b, 0 + ld hl, CryData + add hl, bc + add hl, bc + add hl, bc + + ld a, BANK(CryData) + call BankswitchHome + ld a, [hli] + ld b, a ; cry id + ld a, [hli] + ld [wFrequencyModifier], a + ld a, [hl] + ld [wTempoModifier], a + call BankswitchBack + + ; Cry headers have 3 channels, + ; and start from index CRY_SFX_START, + ; so add 3 times the cry id. + ld a, b + ld c, CRY_SFX_START + rlca ; * 2 + add b + add c + ret + +DisplayPartyMenu:: + ld a, [hTilesetType] + push af + xor a + ld [hTilesetType], a + call GBPalWhiteOutWithDelay3 + call ClearSprites + call PartyMenuInit + call DrawPartyMenu + jp HandlePartyMenuInput + +GoBackToPartyMenu:: + ld a, [hTilesetType] + push af + xor a + ld [hTilesetType], a + call PartyMenuInit + call RedrawPartyMenu + jp HandlePartyMenuInput + +PartyMenuInit:: + ld a, 1 ; hardcoded bank + call BankswitchHome + call LoadHpBarAndStatusTilePatterns + ld hl, wd730 + set 6, [hl] ; turn off letter printing delay + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + ld [wMenuWatchMovingOutOfBounds], a + ld hl, wTopMenuItemY + inc a + ld [hli], a ; top menu item Y + xor a + ld [hli], a ; top menu item X + ld a, [wPartyAndBillsPCSavedMenuItem] + push af + ld [hli], a ; current menu item ID + inc hl + ld a, [wPartyCount] + and a ; are there more than 0 pokemon in the party? + jr z, .storeMaxMenuItemID + dec a +; if party is not empty, the max menu item ID is ([wPartyCount] - 1) +; otherwise, it is 0 +.storeMaxMenuItemID + ld [hli], a ; max menu item ID + ld a, [wForcePlayerToChooseMon] + and a + ld a, A_BUTTON | B_BUTTON + jr z, .next + xor a + ld [wForcePlayerToChooseMon], a + inc a ; a = A_BUTTON +.next + ld [hli], a ; menu watched keys + pop af + ld [hl], a ; old menu item ID + ret + +HandlePartyMenuInput:: + ld a, 1 + ld [wMenuWrappingEnabled], a + ld a, $40 + ld [wPartyMenuAnimMonEnabled], a + call HandleMenuInput_ + call PlaceUnfilledArrowMenuCursor + ld b, a + xor a + ld [wPartyMenuAnimMonEnabled], a + ld a, [wCurrentMenuItem] + ld [wPartyAndBillsPCSavedMenuItem], a + ld hl, wd730 + res 6, [hl] ; turn on letter printing delay + ld a, [wMenuItemToSwap] + and a + jp nz, .swappingPokemon + pop af + ld [hTilesetType], a + bit 1, b + jr nz, .noPokemonChosen + ld a, [wPartyCount] + and a + jr z, .noPokemonChosen + ld a, [wCurrentMenuItem] + ld [wWhichPokemon], a + ld hl, wPartySpecies + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] + ld [wcf91], a + ld [wBattleMonSpecies2], a + call BankswitchBack + and a + ret +.noPokemonChosen + call BankswitchBack + scf + ret +.swappingPokemon + bit 1, b ; was the B button pressed? + jr z, .handleSwap ; if not, handle swapping the pokemon +.cancelSwap ; if the B button was pressed + callba ErasePartyMenuCursors + xor a + ld [wMenuItemToSwap], a + ld [wPartyMenuTypeOrMessageID], a + call RedrawPartyMenu + jr HandlePartyMenuInput +.handleSwap + ld a, [wCurrentMenuItem] + ld [wWhichPokemon], a + callba SwitchPartyMon + jr HandlePartyMenuInput + +DrawPartyMenu:: + ld hl, DrawPartyMenu_ + jr DrawPartyMenuCommon + +RedrawPartyMenu:: + ld hl, RedrawPartyMenu_ + +DrawPartyMenuCommon:: + ld b, BANK(RedrawPartyMenu_) + jp Bankswitch + +; prints a pokemon's status condition +; INPUT: +; de = address of status condition +; hl = destination address +PrintStatusCondition:: + push de + dec de + dec de ; de = address of current HP + ld a, [de] + ld b, a + dec de + ld a, [de] + or b ; is the pokemon's HP zero? + pop de + jr nz, PrintStatusConditionNotFainted +; if the pokemon's HP is 0, print "FNT" + ld a, "F" + ld [hli], a + ld a, "N" + ld [hli], a + ld [hl], "T" + and a + ret + +PrintStatusConditionNotFainted:: + ld a, [hLoadedROMBank] + push af + ld a, BANK(PrintStatusAilment) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call PrintStatusAilment ; print status condition + pop bc + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +; function to print pokemon level, leaving off the ":L" if the level is at least 100 +; INPUT: +; hl = destination address +; [wLoadedMonLevel] = level +PrintLevel:: + ld a, $6e ; ":L" tile ID + ld [hli], a + ld c, 2 ; number of digits + ld a, [wLoadedMonLevel] ; level + cp 100 + jr c, PrintLevelCommon +; if level at least 100, write over the ":L" tile + dec hl + inc c ; increment number of digits to 3 + jr PrintLevelCommon + +; prints the level without leaving off ":L" regardless of level +; INPUT: +; hl = destination address +; [wLoadedMonLevel] = level +PrintLevelFull:: + ld a, $6e ; ":L" tile ID + ld [hli], a + ld c, 3 ; number of digits + ld a, [wLoadedMonLevel] ; level + +PrintLevelCommon:: + ld [wd11e], a + ld de, wd11e + ld b, LEFT_ALIGN | 1 ; 1 byte + jp PrintNumber + +GetwMoves:: +; Unused. Returns the move at index a from wMoves in a + ld hl, wMoves + ld c, a + ld b, 0 + add hl, bc + ld a, [hl] + ret + +; copies the base stat data of a pokemon to wMonHeader +; INPUT: +; [wd0b5] = pokemon ID +GetMonHeader:: + ld a, [hLoadedROMBank] + push af + ld a, BANK(BaseStats) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + push bc + push de + push hl + ld a, [wd11e] + push af + ld a, [wd0b5] + ld [wd11e], a + ld de, FossilKabutopsPic + ld b, $66 ; size of Kabutops fossil and Ghost sprites + cp FOSSIL_KABUTOPS ; Kabutops fossil + jr z, .specialID + ld de, GhostPic + cp MON_GHOST ; Ghost + jr z, .specialID + ld de, FossilAerodactylPic + ld b, $77 ; size of Aerodactyl fossil sprite + cp FOSSIL_AERODACTYL ; Aerodactyl fossil + jr z, .specialID + cp MEW + jr z, .mew + predef IndexToPokedex ; convert pokemon ID in [wd11e] to pokedex number + ld a, [wd11e] + dec a + ld bc, MonBaseStatsEnd - MonBaseStats + ld hl, BaseStats + call AddNTimes + ld de, wMonHeader + ld bc, MonBaseStatsEnd - MonBaseStats + call CopyData + jr .done +.specialID + ld hl, wMonHSpriteDim + ld [hl], b ; write sprite dimensions + inc hl + ld [hl], e ; write front sprite pointer + inc hl + ld [hl], d + jr .done +.mew + ld hl, MewBaseStats + ld de, wMonHeader + ld bc, MonBaseStatsEnd - MonBaseStats + ld a, BANK(MewBaseStats) + call FarCopyData +.done + ld a, [wd0b5] + ld [wMonHIndex], a + pop af + ld [wd11e], a + pop hl + pop de + pop bc + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +; copy party pokemon's name to wcd6d +GetPartyMonName2:: + ld a, [wWhichPokemon] ; index within party + ld hl, wPartyMonNicks + +; this is called more often +GetPartyMonName:: + push hl + push bc + call SkipFixedLengthTextEntries ; add NAME_LENGTH to hl, a times + ld de, wcd6d + push de + ld bc, NAME_LENGTH + call CopyData + pop de + pop bc + pop hl + ret diff --git a/home/predef.asm b/home/predef.asm index 9bb9be74..4f0c37d9 100644 --- a/home/predef.asm +++ b/home/predef.asm @@ -8,18 +8,18 @@ Predef:: ; A hack for LoadDestinationWarpPosition. ; See LoadTilesetHeader (predef $19). - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wPredefParentBank], a push af ld a, BANK(GetPredefPointer) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call GetPredefPointer ld a, [wPredefBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld de, .done @@ -28,7 +28,7 @@ Predef:: .done pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/predef_text.asm b/home/predef_text.asm new file mode 100644 index 00000000..059e23ab --- /dev/null +++ b/home/predef_text.asm @@ -0,0 +1,237 @@ +; this function is used to display sign messages, sprite dialog, etc. +; INPUT: [hSpriteIndexOrTextID] = sprite ID or text ID +DisplayTextID:: + ld a, [hLoadedROMBank] + push af + callba DisplayTextIDInit ; initialization + ld hl, wTextPredefFlag + bit 0, [hl] + res 0, [hl] + jr nz, .skipSwitchToMapBank + ld a, [wCurMap] + call SwitchToMapRomBank +.skipSwitchToMapBank + ld a, 30 ; half a second + ld [hFrameCounter], a ; used as joypad poll timer + ld hl, wMapTextPtr + ld a, [hli] + ld h, [hl] + ld l, a ; hl = map text pointer + ld d, $00 + ld a, [hSpriteIndexOrTextID] ; text ID + ld [wSpriteIndex], a + and a + jp z, DisplayStartMenu + cp TEXT_SAFARI_GAME_OVER + jp z, DisplaySafariGameOverText + cp TEXT_MON_FAINTED + jp z, DisplayPokemonFaintedText + cp TEXT_BLACKED_OUT + jp z, DisplayPlayerBlackedOutText + cp TEXT_REPEL_WORE_OFF + jp z, DisplayRepelWoreOffText + ld a, [wNumSprites] + ld e, a + ld a, [hSpriteIndexOrTextID] ; sprite ID + cp e + jr z, .spriteHandling + jr nc, .skipSpriteHandling +.spriteHandling +; get the text ID of the sprite + push hl + push de + push bc + callba UpdateSpriteFacingOffsetAndDelayMovement ; update the graphics of the sprite the player is talking to (to face the right direction) + pop bc + pop de + ld hl, wMapSpriteData ; NPC text entries + ld a, [hSpriteIndexOrTextID] + dec a + add a + add l + ld l, a + jr nc, .noCarry + inc h +.noCarry + inc hl + ld a, [hl] ; a = text ID of the sprite + pop hl +.skipSpriteHandling +; look up the address of the text in the map's text entries + dec a + ld e, a + sla e + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a ; hl = address of the text + ld a, [hl] ; a = first byte of text +; check first byte of text for special cases + cp $fe ; Pokemart NPC + jp z, DisplayPokemartDialogue + cp $ff ; Pokemon Center NPC + jp z, DisplayPokemonCenterDialogue + cp $fc ; Item Storage PC + jp z, FuncTX_ItemStoragePC + cp $fd ; Bill's PC + jp z, FuncTX_BillsPC + cp $f9 ; Pokemon Center PC + jp z, FuncTX_PokemonCenterPC + cp $f5 ; Vending Machine + jr nz, .notVendingMachine + callba VendingMachineMenu ; jump banks to vending machine routine + jr AfterDisplayingTextID +.notVendingMachine + cp $f7 ; prize menu + jp z, FuncTX_GameCornerPrizeMenu + cp $f6 ; cable connection NPC in Pokemon Center + jr nz, .notSpecialCase + callab CableClubNPC + jr AfterDisplayingTextID +.notSpecialCase + call PrintText_NoCreatingTextBox ; display the text + ld a, [wDoNotWaitForButtonPressAfterDisplayingText] + and a + jr nz, HoldTextDisplayOpen + +AfterDisplayingTextID:: + ld a, [wEnteringCableClub] + and a + jr nz, HoldTextDisplayOpen + call WaitForTextScrollButtonPress ; wait for a button press after displaying all the text + +; loop to hold the dialogue box open as long as the player keeps holding down the A button +HoldTextDisplayOpen:: + call Joypad + ld a, [hJoyHeld] + bit 0, a ; is the A button being pressed? + jr nz, HoldTextDisplayOpen + +CloseTextDisplay:: + ld a, [wCurMap] + call SwitchToMapRomBank + ld a, $90 + ld [hWY], a ; move the window off the screen + call DelayFrame + call LoadGBPal + xor a + ld [hAutoBGTransferEnabled], a ; disable continuous WRAM to VRAM transfer each V-blank +; loop to make sprites face the directions they originally faced before the dialogue + ld hl, wSpriteStateData2 + $19 + ld c, $0f + ld de, $10 +.restoreSpriteFacingDirectionLoop + ld a, [hl] + dec h + ld [hl], a + inc h + add hl, de + dec c + jr nz, .restoreSpriteFacingDirectionLoop + ld a, BANK(InitMapSprites) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call InitMapSprites ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns) + ld hl, wFontLoaded + res 0, [hl] + ld a, [wd732] + bit 3, a ; used fly warp + call z, LoadPlayerSpriteGraphics + call LoadCurrentMapView + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + jp UpdateSprites + +DisplayPokemartDialogue:: + push hl + ld hl, PokemartGreetingText + call PrintText + pop hl + inc hl + call LoadItemList + ld a, PRICEDITEMLISTMENU + ld [wListMenuID], a + ld a, [hLoadedROMBank] + push af + ld a, BANK(DisplayPokemartDialogue_) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call DisplayPokemartDialogue_ + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + jp AfterDisplayingTextID + +PokemartGreetingText:: + TX_FAR _PokemartGreetingText + db "@" + +LoadItemList:: + ld a, 1 + ld [wUpdateSpritesEnabled], a + ld a, h + ld [wItemListPointer], a + ld a, l + ld [wItemListPointer + 1], a + ld de, wItemList +.loop + ld a, [hli] + ld [de], a + inc de + cp $ff + jr nz, .loop + ret + +DisplayPokemonCenterDialogue:: +; zeroing these doesn't appear to serve any purpose + xor a + ld [hItemPrice], a + ld [hItemPrice + 1], a + ld [hItemPrice + 2], a + + inc hl + ld a, [hLoadedROMBank] + push af + ld a, BANK(DisplayPokemonCenterDialogue_) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call DisplayPokemonCenterDialogue_ + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + jp AfterDisplayingTextID + +DisplaySafariGameOverText:: + callab PrintSafariGameOverText + jp AfterDisplayingTextID + +DisplayPokemonFaintedText:: + ld hl, PokemonFaintedText + call PrintText + jp AfterDisplayingTextID + +PokemonFaintedText:: + TX_FAR _PokemonFaintedText + db "@" + +DisplayPlayerBlackedOutText:: + ld hl, PlayerBlackedOutText + call PrintText + ld a, [wd732] + res 5, a ; reset forced to use bike bit + ld [wd732], a + jp HoldTextDisplayOpen + +PlayerBlackedOutText:: + TX_FAR _PlayerBlackedOutText + db "@" + +DisplayRepelWoreOffText:: + ld hl, RepelWoreOffText + call PrintText + jp AfterDisplayingTextID + +RepelWoreOffText:: + TX_FAR _RepelWoreOffText + db "@" diff --git a/home/print_bcd.asm b/home/print_bcd.asm new file mode 100644 index 00000000..38aedd3c --- /dev/null +++ b/home/print_bcd.asm @@ -0,0 +1,77 @@ +; function to print a BCD (Binary-coded decimal) number +; de = address of BCD number +; hl = destination address +; c = flags and length +; bit 7: if set, do not print leading zeroes +; if unset, print leading zeroes +; bit 6: if set, left-align the string (do not pad empty digits with spaces) +; if unset, right-align the string +; bit 5: if set, print currency symbol at the beginning of the string +; if unset, do not print the currency symbol +; bits 0-4: length of BCD number in bytes +; Note that bits 5 and 7 are modified during execution. The above reflects +; their meaning at the beginning of the functions's execution. +PrintBCDNumber:: + ld b, c ; save flags in b + res 7, c + res 6, c + res 5, c ; c now holds the length + bit 5, b + jr z, .loop + bit 7, b + jr nz, .loop + ld [hl], "¥" + inc hl +.loop + ld a, [de] + swap a + call PrintBCDDigit ; print upper digit + ld a, [de] + call PrintBCDDigit ; print lower digit + inc de + dec c + jr nz, .loop + bit 7, b ; were any non-zero digits printed? + jr z, .done ; if so, we are done +.numberEqualsZero ; if every digit of the BCD number is zero + bit 6, b ; left or right alignment? + jr nz, .skipRightAlignmentAdjustment + dec hl ; if the string is right-aligned, it needs to be moved back one space +.skipRightAlignmentAdjustment + bit 5, b + jr z, .skipCurrencySymbol + ld [hl], "¥" + inc hl +.skipCurrencySymbol + ld [hl], "0" + call PrintLetterDelay + inc hl +.done + ret + +PrintBCDDigit:: + and $f + and a + jr z, .zeroDigit +.nonzeroDigit + bit 7, b ; have any non-space characters been printed? + jr z, .outputDigit +; if bit 7 is set, then no numbers have been printed yet + bit 5, b ; print the currency symbol? + jr z, .skipCurrencySymbol + ld [hl], "¥" + inc hl + res 5, b +.skipCurrencySymbol + res 7, b ; unset 7 to indicate that a nonzero digit has been reached +.outputDigit + add "0" + ld [hli], a + jp PrintLetterDelay +.zeroDigit + bit 7, b ; either printing leading zeroes or already reached a nonzero digit? + jr z, .outputDigit ; if so, print a zero digit + bit 6, b ; left or right alignment? + ret nz + inc hl ; if right-aligned, "print" a space by advancing the pointer + ret diff --git a/home/print_num.asm b/home/print_num.asm new file mode 100644 index 00000000..5155977b --- /dev/null +++ b/home/print_num.asm @@ -0,0 +1,217 @@ +PrintNumber:: +; Print the c-digit, b-byte value at de. +; Allows 2 to 7 digits. For 1-digit numbers, add +; the value to char "0" instead of calling PrintNumber. +; Flags LEADING_ZEROES and LEFT_ALIGN can be given +; in bits 7 and 6 of b respectively. + push bc + xor a + ld [hPastLeadingZeros], a + ld [hNumToPrint], a + ld [hNumToPrint + 1], a + ld a, b + and $f + cp 1 + jr z, .byte + cp 2 + jr z, .word +.long + ld a, [de] + ld [hNumToPrint], a + inc de + ld a, [de] + ld [hNumToPrint + 1], a + inc de + ld a, [de] + ld [hNumToPrint + 2], a + jr .start + +.word + ld a, [de] + ld [hNumToPrint + 1], a + inc de + ld a, [de] + ld [hNumToPrint + 2], a + jr .start + +.byte + ld a, [de] + ld [hNumToPrint + 2], a + +.start + push de + + ld d, b + ld a, c + ld b, a + xor a + ld c, a + ld a, b + + cp 2 + jr z, .tens + cp 3 + jr z, .hundreds + cp 4 + jr z, .thousands + cp 5 + jr z, .ten_thousands + cp 6 + jr z, .hundred_thousands + +print_digit: macro + +if (\1) / $10000 + ld a, \1 / $10000 % $100 +else xor a +endc + ld [hPowerOf10 + 0], a + +if (\1) / $100 + ld a, \1 / $100 % $100 +else xor a +endc + ld [hPowerOf10 + 1], a + + ld a, \1 / $1 % $100 + ld [hPowerOf10 + 2], a + + call .PrintDigit + call .NextDigit +endm + +.millions print_digit 1000000 +.hundred_thousands print_digit 100000 +.ten_thousands print_digit 10000 +.thousands print_digit 1000 +.hundreds print_digit 100 + +.tens + ld c, 0 + ld a, [hNumToPrint + 2] +.mod + cp 10 + jr c, .ok + sub 10 + inc c + jr .mod +.ok + + ld b, a + ld a, [hPastLeadingZeros] + or c + ld [hPastLeadingZeros], a + jr nz, .past + call .PrintLeadingZero + jr .next +.past + ld a, "0" + add c + ld [hl], a +.next + + call .NextDigit +.ones + ld a, "0" + add b + ld [hli], a + pop de + dec de + pop bc + ret + +.PrintDigit: +; Divide by the current decimal place. +; Print the quotient, and keep the modulus. + ld c, 0 +.loop + ld a, [hPowerOf10] + ld b, a + ld a, [hNumToPrint] + ld [hSavedNumToPrint], a + cp b + jr c, .underflow0 + sub b + ld [hNumToPrint], a + ld a, [hPowerOf10 + 1] + ld b, a + ld a, [hNumToPrint + 1] + ld [hSavedNumToPrint + 1], a + cp b + jr nc, .noborrow1 + + ld a, [hNumToPrint] + or 0 + jr z, .underflow1 + dec a + ld [hNumToPrint], a + ld a, [hNumToPrint + 1] +.noborrow1 + + sub b + ld [hNumToPrint + 1], a + ld a, [hPowerOf10 + 2] + ld b, a + ld a, [hNumToPrint + 2] + ld [hSavedNumToPrint + 2], a + cp b + jr nc, .noborrow2 + + ld a, [hNumToPrint + 1] + and a + jr nz, .borrowed + + ld a, [hNumToPrint] + and a + jr z, .underflow2 + dec a + ld [hNumToPrint], a + xor a +.borrowed + + dec a + ld [hNumToPrint + 1], a + ld a, [hNumToPrint + 2] +.noborrow2 + sub b + ld [hNumToPrint + 2], a + inc c + jr .loop + +.underflow2 + ld a, [hSavedNumToPrint + 1] + ld [hNumToPrint + 1], a +.underflow1 + ld a, [hSavedNumToPrint] + ld [hNumToPrint], a +.underflow0 + ld a, [hPastLeadingZeros] + or c + jr z, .PrintLeadingZero + + ld a, "0" + add c + ld [hl], a + ld [hPastLeadingZeros], a + ret + +.PrintLeadingZero: + bit BIT_LEADING_ZEROES, d + ret z + ld [hl], "0" + ret + +.NextDigit: +; Increment unless the number is left-aligned, +; leading zeroes are not printed, and no digits +; have been printed yet. + bit BIT_LEADING_ZEROES, d + jr nz, .inc + bit BIT_LEFT_ALIGN, d + jr z, .inc + ld a, [hPastLeadingZeros] + and a + ret z +.inc + inc hl + ret diff --git a/home/start.asm b/home/start.asm new file mode 100644 index 00000000..448b6362 --- /dev/null +++ b/home/start.asm @@ -0,0 +1,10 @@ +_Start:: + cp GBC + jr z, .gbc + xor a + jr .ok +.gbc + ld a, 0 +.ok + ld [wGBC], a + jp Init diff --git a/home/start_menu.asm b/home/start_menu.asm index eb4b4f2d..38333644 100755 --- a/home/start_menu.asm +++ b/home/start_menu.asm @@ -1,6 +1,6 @@ DisplayStartMenu:: ld a, BANK(StartMenu_Pokedex) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, [wWalkBikeSurfState] ; walking/biking/surfing ld [wWalkBikeSurfStateCopy], a diff --git a/home/text.asm b/home/text.asm index 9db81530..0d2ed0a2 100644 --- a/home/text.asm +++ b/home/text.asm @@ -62,7 +62,7 @@ Char4ETest:: cp $4E ; next jr nz, .char4FTest ld bc, 2 * SCREEN_WIDTH - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 2, a jr z, .ok ld bc, SCREEN_WIDTH @@ -180,7 +180,7 @@ Char59:: ; or ; player active monster’s name ; (like Char5A but flipped) - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor 1 jr MonsterNameCharsCommon @@ -189,7 +189,7 @@ Char5A:: ; player active monster’s name ; or ; enemy active monster’s name, prefixed with “Enemy ” - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] MonsterNameCharsCommon:: push de and a @@ -365,7 +365,7 @@ TextCommandProcessor:: push af set 1, a ld e, a - ld a, [$fff4] + ld a, [hClearLetterPrintingDelayFlags] xor e ld [wLetterPrintingDelayFlags], a ld a, c @@ -675,14 +675,14 @@ TextCommand0D:: ; BB = bank TextCommand17:: pop hl - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hli] ld e, a ld a, [hli] ld d, a ld a, [hli] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a push hl ld l, e @@ -690,7 +690,7 @@ TextCommand17:: call TextCommandProcessor pop hl pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a jp NextTextCommand diff --git a/home/trainers.asm b/home/trainers.asm new file mode 100644 index 00000000..9c3519a2 --- /dev/null +++ b/home/trainers.asm @@ -0,0 +1,436 @@ +; stores hl in [wTrainerHeaderPtr] +StoreTrainerHeaderPointer:: + ld a, h + ld [wTrainerHeaderPtr], a + ld a, l + ld [wTrainerHeaderPtr+1], a + ret + +; executes the current map script from the function pointer array provided in hl. +; a: map script index to execute (unless overridden by [wd733] bit 4) +ExecuteCurMapScriptInTable:: + push af + push de + call StoreTrainerHeaderPointer + pop hl + pop af + push hl + ld hl, wFlags_D733 + bit 4, [hl] + res 4, [hl] + jr z, .useProvidedIndex ; test if map script index was overridden manually + ld a, [wCurMapScript] +.useProvidedIndex + pop hl + ld [wCurMapScript], a + call CallFunctionInTable + ld a, [wCurMapScript] + ret + +LoadGymLeaderAndCityName:: + push de + ld de, wGymCityName + ld bc, $11 + call CopyData ; load city name + pop hl + ld de, wGymLeaderName + ld bc, NAME_LENGTH + jp CopyData ; load gym leader name + +; reads specific information from trainer header (pointed to at wTrainerHeaderPtr) +; a: offset in header data +; 0 -> flag's bit (into wTrainerHeaderFlagBit) +; 2 -> flag's byte ptr (into hl) +; 4 -> before battle text (into hl) +; 6 -> after battle text (into hl) +; 8 -> end battle text (into hl) +ReadTrainerHeaderInfo:: + push de + push af + ld d, $0 + ld e, a + ld hl, wTrainerHeaderPtr + ld a, [hli] + ld l, [hl] + ld h, a + add hl, de + pop af + and a + jr nz, .nonZeroOffset + ld a, [hl] + ld [wTrainerHeaderFlagBit], a ; store flag's bit + jr .done +.nonZeroOffset + cp $2 + jr z, .readPointer ; read flag's byte ptr + cp $4 + jr z, .readPointer ; read before battle text + cp $6 + jr z, .readPointer ; read after battle text + cp $8 + jr z, .readPointer ; read end battle text + cp $a + jr nz, .done + ld a, [hli] ; read end battle text (2) but override the result afterwards (XXX why, bug?) + ld d, [hl] + ld e, a + jr .done +.readPointer + ld a, [hli] + ld h, [hl] + ld l, a +.done + pop de + ret + +TrainerFlagAction:: + predef_jump FlagActionPredef + +TalkToTrainer:: + call StoreTrainerHeaderPointer + xor a + call ReadTrainerHeaderInfo ; read flag's bit + ld a, $2 + call ReadTrainerHeaderInfo ; read flag's byte ptr + ld a, [wTrainerHeaderFlagBit] + ld c, a + ld b, FLAG_TEST + call TrainerFlagAction ; read trainer's flag + ld a, c + and a + jr z, .trainerNotYetFought ; test trainer's flag + ld a, $6 + call ReadTrainerHeaderInfo ; print after battle text + jp PrintText +.trainerNotYetFought + ld a, $4 + call ReadTrainerHeaderInfo ; print before battle text + call PrintText + ld a, $a + call ReadTrainerHeaderInfo ; (?) does nothing apparently (maybe bug in ReadTrainerHeaderInfo) + push de + ld a, $8 + call ReadTrainerHeaderInfo ; read end battle text + pop de + call SaveEndBattleTextPointers + ld hl, wFlags_D733 + set 4, [hl] ; activate map script index override (index is set below) + ld hl, wFlags_0xcd60 + bit 0, [hl] ; test if player is already engaging the trainer (because the trainer saw the player) + ret nz +; if the player talked to the trainer of his own volition + call EngageMapTrainer + ld hl, wCurMapScript + inc [hl] ; increment map script index before StartTrainerBattle increments it again (next script function is usually EndTrainerBattle) + jp StartTrainerBattle + +; checks if any trainers are seeing the player and wanting to fight +CheckFightingMapTrainers:: + call CheckForEngagingTrainers + ld a, [wSpriteIndex] + cp $ff + jr nz, .trainerEngaging + xor a + ld [wSpriteIndex], a + ld [wTrainerHeaderFlagBit], a + ret +.trainerEngaging + ld hl, wFlags_D733 + set 3, [hl] + ld [wEmotionBubbleSpriteIndex], a + xor a ; EXCLAMATION_BUBBLE + ld [wWhichEmotionBubble], a + predef EmotionBubble + ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld [wJoyIgnore], a + xor a + ld [hJoyHeld], a + call TrainerWalkUpToPlayer_Bank0 + ld hl, wCurMapScript + inc [hl] ; increment map script index (next script function is usually DisplayEnemyTrainerTextAndStartBattle) + ret + +; display the before battle text after the enemy trainer has walked up to the player's sprite +DisplayEnemyTrainerTextAndStartBattle:: + ld a, [wd730] + and $1 + ret nz ; return if the enemy trainer hasn't finished walking to the player's sprite + ld [wJoyIgnore], a + ld a, [wSpriteIndex] + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ; fall through + +StartTrainerBattle:: + xor a + ld [wJoyIgnore], a + call InitBattleEnemyParameters + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, wd72e + set 1, [hl] + ld hl, wCurMapScript + inc [hl] ; increment map script index (next script function is usually EndTrainerBattle) + ret + +EndTrainerBattle:: + ld hl, wCurrentMapScriptFlags + set 5, [hl] + set 6, [hl] + ld hl, wd72d + res 7, [hl] + ld hl, wFlags_0xcd60 + res 0, [hl] ; player is no longer engaged by any trainer + ld a, [wIsInBattle] + cp $ff + jp z, ResetButtonPressedAndMapScript + ld a, $2 + call ReadTrainerHeaderInfo + ld a, [wTrainerHeaderFlagBit] + ld c, a + ld b, FLAG_SET + call TrainerFlagAction ; flag trainer as fought + ld a, [wEnemyMonOrTrainerClass] + cp OPP_ID_OFFSET + jr nc, .skipRemoveSprite ; test if trainer was fought (in that case skip removing the corresponding sprite) + ld hl, wMissableObjectList + ld de, $2 + ld a, [wSpriteIndex] + call IsInArray ; search for sprite ID + inc hl + ld a, [hl] + ld [wMissableObjectIndex], a ; load corresponding missable object index and remove it + predef HideObject +.skipRemoveSprite + ld hl, wd730 + bit 4, [hl] + res 4, [hl] + ret nz + +ResetButtonPressedAndMapScript:: + xor a + ld [wJoyIgnore], a + ld [hJoyHeld], a + ld [hJoyPressed], a + ld [hJoyReleased], a + ld [wCurMapScript], a ; reset battle status + ret + +; calls TrainerWalkUpToPlayer +TrainerWalkUpToPlayer_Bank0:: + jpba TrainerWalkUpToPlayer + +; sets opponent type and mon set/lvl based on the engaging trainer data +InitBattleEnemyParameters:: + ld a, [wEngagedTrainerClass] + ld [wCurOpponent], a + ld [wEnemyMonOrTrainerClass], a + cp OPP_ID_OFFSET + ld a, [wEngagedTrainerSet] + jr c, .noTrainer + ld [wTrainerNo], a + ret +.noTrainer + ld [wCurEnemyLVL], a + ret + +GetSpritePosition1:: + ld hl, _GetSpritePosition1 + jr SpritePositionBankswitch + +GetSpritePosition2:: + ld hl, _GetSpritePosition2 + jr SpritePositionBankswitch + +SetSpritePosition1:: + ld hl, _SetSpritePosition1 + jr SpritePositionBankswitch + +SetSpritePosition2:: + ld hl, _SetSpritePosition2 +SpritePositionBankswitch:: + ld b, BANK(_GetSpritePosition1) ; BANK(_GetSpritePosition2), BANK(_SetSpritePosition1), BANK(_SetSpritePosition2) + jp Bankswitch ; indirect jump to one of the four functions + +CheckForEngagingTrainers:: + xor a + call ReadTrainerHeaderInfo ; read trainer flag's bit (unused) + ld d, h ; store trainer header address in de + ld e, l +.trainerLoop + call StoreTrainerHeaderPointer ; set trainer header pointer to current trainer + ld a, [de] + ld [wSpriteIndex], a ; store trainer flag's bit + ld [wTrainerHeaderFlagBit], a + cp $ff + ret z + ld a, $2 + call ReadTrainerHeaderInfo ; read trainer flag's byte ptr + ld b, FLAG_TEST + ld a, [wTrainerHeaderFlagBit] + ld c, a + call TrainerFlagAction ; read trainer flag + ld a, c + and a ; has the trainer already been defeated? + jr nz, .continue + push hl + push de + push hl + xor a + call ReadTrainerHeaderInfo ; get trainer header pointer + inc hl + ld a, [hl] ; read trainer engage distance + pop hl + ld [wTrainerEngageDistance], a + ld a, [wSpriteIndex] + swap a + ld [wTrainerSpriteOffset], a + predef TrainerEngage + pop de + pop hl + ld a, [wTrainerSpriteOffset] + and a + ret nz ; break if the trainer is engaging +.continue + ld hl, $c + add hl, de + ld d, h + ld e, l + jr .trainerLoop + +; hl = text if the player wins +; de = text if the player loses +SaveEndBattleTextPointers:: + ld a, [hLoadedROMBank] + ld [wEndBattleTextRomBank], a + ld a, h + ld [wEndBattleWinTextPointer], a + ld a, l + ld [wEndBattleWinTextPointer + 1], a + ld a, d + ld [wEndBattleLoseTextPointer], a + ld a, e + ld [wEndBattleLoseTextPointer + 1], a + ret + +; loads data of some trainer on the current map and plays pre-battle music +; [wSpriteIndex]: sprite ID of trainer who is engaged +EngageMapTrainer:: + ld hl, wMapSpriteExtraData + ld d, $0 + ld a, [wSpriteIndex] + dec a + add a + ld e, a + add hl, de ; seek to engaged trainer data + ld a, [hli] ; load trainer class + ld [wEngagedTrainerClass], a + ld a, [hl] ; load trainer mon set + ld [wEngagedTrainerSet], a + jp PlayTrainerMusic + +PrintEndBattleText:: + push hl + ld hl, wd72d + bit 7, [hl] + res 7, [hl] + pop hl + ret z + ld a, [hLoadedROMBank] + push af + ld a, [wEndBattleTextRomBank] + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + push hl + callba SaveTrainerName + ld hl, TrainerEndBattleText + call PrintText + pop hl + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + callba FreezeEnemyTrainerSprite + jp WaitForSoundToFinish + +GetSavedEndBattleTextPointer:: + ld a, [wBattleResult] + and a +; won battle + jr nz, .lostBattle + ld a, [wEndBattleWinTextPointer] + ld h, a + ld a, [wEndBattleWinTextPointer + 1] + ld l, a + ret +.lostBattle + ld a, [wEndBattleLoseTextPointer] + ld h, a + ld a, [wEndBattleLoseTextPointer + 1] + ld l, a + ret + +TrainerEndBattleText:: + TX_FAR _TrainerNameText + TX_ASM + call GetSavedEndBattleTextPointer + call TextCommandProcessor + jp TextScriptEnd + +; only engage with the trainer if the player is not already +; engaged with another trainer +; XXX unused? +CheckIfAlreadyEngaged:: + ld a, [wFlags_0xcd60] + bit 0, a + ret nz + call EngageMapTrainer + xor a + ret + +PlayTrainerMusic:: + ld a, [wEngagedTrainerClass] + cp OPP_SONY1 + ret z + cp OPP_SONY2 + ret z + cp OPP_SONY3 + ret z + ld a, [wGymLeaderNo] + and a + ret nz + xor a + ld [wAudioFadeOutControl], a + ld a, SFX_STOP_ALL_MUSIC + call PlaySound + ld a, BANK(Music_MeetEvilTrainer) + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a + ld a, [wEngagedTrainerClass] + ld b, a + ld hl, EvilTrainerList +.evilTrainerListLoop + ld a, [hli] + cp $ff + jr z, .noEvilTrainer + cp b + jr nz, .evilTrainerListLoop + ld a, MUSIC_MEET_EVIL_TRAINER + jr .PlaySound +.noEvilTrainer + ld hl, FemaleTrainerList +.femaleTrainerListLoop + ld a, [hli] + cp $ff + jr z, .maleTrainer + cp b + jr nz, .femaleTrainerListLoop + ld a, MUSIC_MEET_FEMALE_TRAINER + jr .PlaySound +.maleTrainer + ld a, MUSIC_MEET_MALE_TRAINER +.PlaySound + ld [wNewSoundID], a + jp PlaySound + +INCLUDE "data/trainers/encounter_types.asm" diff --git a/home/pic.asm b/home/uncompress.asm similarity index 99% rename from home/pic.asm rename to home/uncompress.asm index a1c18e8a..cfc39f0f 100644 --- a/home/pic.asm +++ b/home/uncompress.asm @@ -2,10 +2,10 @@ ; bank is given in a, sprite input stream is pointed to in wSpriteInputPtr UncompressSpriteData:: ld b, a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, SRAM_ENABLE ld [MBC1SRamEnable], a @@ -13,7 +13,7 @@ UncompressSpriteData:: ld [MBC1SRamBank], a call _UncompressSpriteData pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/vblank.asm b/home/vblank.asm index e80fba75..78f5f69d 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -5,7 +5,7 @@ VBlank:: push de push hl - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wVBlankSavedROMBank], a ld a, [hSCX] @@ -26,9 +26,9 @@ VBlank:: call VBlankCopy call VBlankCopyDouble call UpdateMovingBgTiles - call $ff80 ; hOAMDMA + call hDMARoutine ld a, BANK(PrepareOAMData) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call PrepareOAMData @@ -36,24 +36,24 @@ VBlank:: call Random - ld a, [H_VBLANKOCCURRED] + ld a, [hVBlankOccurred] and a jr z, .skipZeroing xor a - ld [H_VBLANKOCCURRED], a + ld [hVBlankOccurred], a .skipZeroing - ld a, [H_FRAMECOUNTER] + ld a, [hFrameCounter] and a jr z, .skipDec dec a - ld [H_FRAMECOUNTER], a + ld [hFrameCounter], a .skipDec call FadeOutAudio ld a, [wAudioROMBank] ; music ROM bank - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a cp BANK(Audio1_UpdateMusic) @@ -79,7 +79,7 @@ VBlank:: call z, ReadJoypad ld a, [wVBlankSavedROMBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop hl @@ -96,10 +96,10 @@ DelayFrame:: NOT_VBLANKED EQU 1 ld a, NOT_VBLANKED - ld [H_VBLANKOCCURRED], a + ld [hVBlankOccurred], a .halt halt - ld a, [H_VBLANKOCCURRED] + ld a, [hVBlankOccurred] and a jr nz, .halt ret diff --git a/home/vcopy.asm b/home/vcopy.asm index 3f49ad3e..a6213b32 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -120,15 +120,15 @@ RedrawRowOrColumn:: ; the above function, RedrawRowOrColumn, is used when walking to ; improve efficiency. AutoBgMapTransfer:: - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] and a ret z ld hl, sp + 0 ld a, h - ld [H_SPTEMP], a + ld [hSPTemp], a ld a, l - ld [H_SPTEMP + 1], a ; save stack pinter - ld a, [H_AUTOBGTRANSFERPORTION] + ld [hSPTemp + 1], a ; save stack pinter + ld a, [hAutoBGTransferPortion] and a jr z, .transferTopThird dec a @@ -136,9 +136,9 @@ AutoBgMapTransfer:: .transferBottomThird coord hl, 0, 12 ld sp, hl - ld a, [H_AUTOBGTRANSFERDEST + 1] + ld a, [hAutoBGTransferDest + 1] ld h, a - ld a, [H_AUTOBGTRANSFERDEST] + ld a, [hAutoBGTransferDest] ld l, a ld de, (12 * 32) add hl, de @@ -147,24 +147,24 @@ AutoBgMapTransfer:: .transferTopThird coord hl, 0, 0 ld sp, hl - ld a, [H_AUTOBGTRANSFERDEST + 1] + ld a, [hAutoBGTransferDest + 1] ld h, a - ld a, [H_AUTOBGTRANSFERDEST] + ld a, [hAutoBGTransferDest] ld l, a ld a, TRANSFERMIDDLE jr .doTransfer .transferMiddleThird coord hl, 0, 6 ld sp, hl - ld a, [H_AUTOBGTRANSFERDEST + 1] + ld a, [hAutoBGTransferDest + 1] ld h, a - ld a, [H_AUTOBGTRANSFERDEST] + ld a, [hAutoBGTransferDest] ld l, a ld de, (6 * 32) add hl, de ld a, TRANSFERBOTTOM .doTransfer - ld [H_AUTOBGTRANSFERPORTION], a ; store next portion + ld [hAutoBGTransferPortion], a ; store next portion ld b, 6 TransferBgRows:: @@ -192,73 +192,73 @@ TransferBgRows:: dec b jr nz, TransferBgRows - ld a, [H_SPTEMP] + ld a, [hSPTemp] ld h, a - ld a, [H_SPTEMP + 1] + ld a, [hSPTemp + 1] ld l, a ld sp, hl ret -; Copies [H_VBCOPYBGNUMROWS] rows from H_VBCOPYBGSRC to H_VBCOPYBGDEST. -; If H_VBCOPYBGSRC is XX00, the transfer is disabled. +; Copies [hVBlankCopyBGNumRows] rows from hVBlankCopyBGSource to hVBlankCopyBGDest. +; If hVBlankCopyBGSource is XX00, the transfer is disabled. VBlankCopyBgMap:: - ld a, [H_VBCOPYBGSRC] ; doubles as enabling byte + ld a, [hVBlankCopyBGSource] ; doubles as enabling byte and a ret z ld hl, sp + 0 ld a, h - ld [H_SPTEMP], a + ld [hSPTemp], a ld a, l - ld [H_SPTEMP + 1], a ; save stack pointer - ld a, [H_VBCOPYBGSRC] + ld [hSPTemp + 1], a ; save stack pointer + ld a, [hVBlankCopyBGSource] ld l, a - ld a, [H_VBCOPYBGSRC + 1] + ld a, [hVBlankCopyBGSource + 1] ld h, a ld sp, hl - ld a, [H_VBCOPYBGDEST] + ld a, [hVBlankCopyBGDest] ld l, a - ld a, [H_VBCOPYBGDEST + 1] + ld a, [hVBlankCopyBGDest + 1] ld h, a - ld a, [H_VBCOPYBGNUMROWS] + ld a, [hVBlankCopyBGNumRows] ld b, a xor a - ld [H_VBCOPYBGSRC], a ; disable transfer so it doesn't continue next V-blank + ld [hVBlankCopyBGSource], a ; disable transfer so it doesn't continue next V-blank jr TransferBgRows VBlankCopyDouble:: -; Copy [H_VBCOPYDOUBLESIZE] 1bpp tiles -; from H_VBCOPYDOUBLESRC to H_VBCOPYDOUBLEDEST. +; Copy [hVBlankCopyDoubleSize] 1bpp tiles +; from hVBlankCopyDoubleSource to hVBlankCopyDoubleDest. ; While we're here, convert to 2bpp. ; The process is straightforward: ; copy each byte twice. - ld a, [H_VBCOPYDOUBLESIZE] + ld a, [hVBlankCopyDoubleSize] and a ret z ld hl, sp + 0 ld a, h - ld [H_SPTEMP], a + ld [hSPTemp], a ld a, l - ld [H_SPTEMP + 1], a + ld [hSPTemp + 1], a - ld a, [H_VBCOPYDOUBLESRC] + ld a, [hVBlankCopyDoubleSource] ld l, a - ld a, [H_VBCOPYDOUBLESRC + 1] + ld a, [hVBlankCopyDoubleSource + 1] ld h, a ld sp, hl - ld a, [H_VBCOPYDOUBLEDEST] + ld a, [hVBlankCopyDoubleDest] ld l, a - ld a, [H_VBCOPYDOUBLEDEST + 1] + ld a, [hVBlankCopyDoubleDest + 1] ld h, a - ld a, [H_VBCOPYDOUBLESIZE] + ld a, [hVBlankCopyDoubleSize] ld b, a xor a ; transferred - ld [H_VBCOPYDOUBLESIZE], a + ld [hVBlankCopyDoubleSize], a .loop rept 3 @@ -286,19 +286,19 @@ VBlankCopyDouble:: jr nz, .loop ld a, l - ld [H_VBCOPYDOUBLEDEST], a + ld [hVBlankCopyDoubleDest], a ld a, h - ld [H_VBCOPYDOUBLEDEST + 1], a + ld [hVBlankCopyDoubleDest + 1], a ld hl, sp + 0 ld a, l - ld [H_VBCOPYDOUBLESRC], a + ld [hVBlankCopyDoubleSource], a ld a, h - ld [H_VBCOPYDOUBLESRC + 1], a + ld [hVBlankCopyDoubleSource + 1], a - ld a, [H_SPTEMP] + ld a, [hSPTemp] ld h, a - ld a, [H_SPTEMP + 1] + ld a, [hSPTemp + 1] ld l, a ld sp, hl @@ -306,37 +306,37 @@ VBlankCopyDouble:: VBlankCopy:: -; Copy [H_VBCOPYSIZE] 2bpp tiles (or 16 * [H_VBCOPYSIZE] tile map entries) -; from H_VBCOPYSRC to H_VBCOPYDEST. +; Copy [hVBlankCopySize] 2bpp tiles (or 16 * [hVBlankCopySize] tile map entries) +; from hVBlankCopySource to hVBlankCopyDest. ; Source and destination addresses are updated, ; so transfer can continue in subsequent calls. - ld a, [H_VBCOPYSIZE] + ld a, [hVBlankCopySize] and a ret z ld hl, sp + 0 ld a, h - ld [H_SPTEMP], a + ld [hSPTemp], a ld a, l - ld [H_SPTEMP + 1], a + ld [hSPTemp + 1], a - ld a, [H_VBCOPYSRC] + ld a, [hVBlankCopySource] ld l, a - ld a, [H_VBCOPYSRC + 1] + ld a, [hVBlankCopySource + 1] ld h, a ld sp, hl - ld a, [H_VBCOPYDEST] + ld a, [hVBlankCopyDest] ld l, a - ld a, [H_VBCOPYDEST + 1] + ld a, [hVBlankCopyDest + 1] ld h, a - ld a, [H_VBCOPYSIZE] + ld a, [hVBlankCopySize] ld b, a xor a ; transferred - ld [H_VBCOPYSIZE], a + ld [hVBlankCopySize], a .loop rept 7 @@ -356,19 +356,19 @@ VBlankCopy:: jr nz, .loop ld a, l - ld [H_VBCOPYDEST], a + ld [hVBlankCopyDest], a ld a, h - ld [H_VBCOPYDEST + 1], a + ld [hVBlankCopyDest + 1], a ld hl, sp + 0 ld a, l - ld [H_VBCOPYSRC], a + ld [hVBlankCopySource], a ld a, h - ld [H_VBCOPYSRC + 1], a + ld [hVBlankCopySource + 1], a - ld a, [H_SPTEMP] + ld a, [hSPTemp] ld h, a - ld a, [H_SPTEMP + 1] + ld a, [hSPTemp + 1] ld l, a ld sp, hl diff --git a/home/yes_no.asm b/home/yes_no.asm new file mode 100644 index 00000000..61aa1390 --- /dev/null +++ b/home/yes_no.asm @@ -0,0 +1,40 @@ +; displays yes/no choice +; yes -> set carry +YesNoChoice:: + call SaveScreenTilesToBuffer1 + call InitYesNoTextBoxParameters + jr DisplayYesNoChoice + +Func_35f4:: + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call InitYesNoTextBoxParameters + jp DisplayTextBoxID + +InitYesNoTextBoxParameters:: + xor a ; YES_NO_MENU + ld [wTwoOptionMenuID], a + coord hl, 14, 7 + ld bc, $80f + ret + +YesNoChoicePokeCenter:: + call SaveScreenTilesToBuffer1 + ld a, HEAL_CANCEL_MENU + ld [wTwoOptionMenuID], a + coord hl, 11, 6 + lb bc, 8, 12 + jr DisplayYesNoChoice + +WideYesNoChoice:: ; unused + call SaveScreenTilesToBuffer1 + ld a, WIDE_YES_NO_MENU + ld [wTwoOptionMenuID], a + coord hl, 12, 7 + lb bc, 8, 13 + +DisplayYesNoChoice:: + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID + jp LoadScreenTilesFromBuffer1 diff --git a/hram.asm b/hram.asm index 4beca9c4..ab18b8c9 100644 --- a/hram.asm +++ b/hram.asm @@ -1,3 +1,5 @@ +hDMARoutine EQU $FF80 + hSoftReset EQU $FF8A ; Initialized to 16. ; Decremented each input iteration if the player @@ -26,17 +28,17 @@ hSlideAmount EQU $FF8B hRLEByteValue EQU $FF8B -H_SPRITEWIDTH EQU $FF8B ; in tiles -H_SPRITEINTERLACECOUNTER EQU $FF8B -H_SPRITEHEIGHT EQU $FF8C ; in tiles -H_SPRITEOFFSET EQU $FF8D +hSpriteWidth EQU $FF8B ; in tiles +hSpriteInterlaceCounter EQU $FF8B +hSpriteHeight EQU $FF8C ; in tiles +hSpriteOffset EQU $FF8D ; counters for blinking down arrow -H_DOWNARROWBLINKCNT1 EQU $FF8B -H_DOWNARROWBLINKCNT2 EQU $FF8C +hDownArrowBlinkCount1 EQU $FF8B +hDownArrowBlinkCount2 EQU $FF8C -H_SPRITEDATAOFFSET EQU $FF8B -H_SPRITEINDEX EQU $FF8C +hSpriteDataOffset EQU $FF8B +hSpriteIndex EQU $FF8C hMapStride EQU $FF8B hMapWidth EQU $FF8C @@ -81,6 +83,11 @@ hOAMBufferOffset EQU $FF90 hSpriteScreenX EQU $FF91 hSpriteScreenY EQU $FF92 +hFF8F EQU $FF8F +hFF90 EQU $FF90 +hFF91 EQU $FF91 +hFF92 EQU $FF92 + hTilePlayerStandingOn EQU $FF93 hSpritePriority EQU $FF94 @@ -90,35 +97,41 @@ hSignCoordPointer EQU $FF95 hNPCMovementDirections2Index EQU $FF95 +hSwapItemID EQU $FF95 +hSwapItemQuantity EQU $FF96 + ; CalcPositionOfPlayerRelativeToNPC hNPCSpriteOffset EQU $FF95 -; temp value used when swapping bytes +; temp value used when swapping bytes or words hSwapTemp EQU $FF95 hExperience EQU $FF96 ; 3 bytes, big endian +hMutateWY EQU $FF96 +hMutateWX EQU $FF97 + ; Multiplication and division variables are meant ; to overlap for back-to-back usage. Big endian. -H_MULTIPLICAND EQU $FF96 ; 3 bytes -H_MULTIPLIER EQU $FF99 ; 1 byte -H_PRODUCT EQU $FF95 ; 4 bytes +hMultiplicand EQU $FF96 ; 3 bytes +hMultiplier EQU $FF99 ; 1 byte +hProduct EQU $FF95 ; 4 bytes -H_DIVIDEND EQU $FF95 ; 4 bytes -H_DIVISOR EQU $FF99 ; 1 byte -H_QUOTIENT EQU $FF95 ; 4 bytes -H_REMAINDER EQU $FF99 ; 1 byte +hDividend EQU $FF95 ; 4 bytes +hDivisor EQU $FF99 ; 1 byte +hQuotient EQU $FF95 ; 4 bytes +hRemainder EQU $FF99 ; 1 byte -H_DIVIDEBUFFER EQU $FF9A +hDivideBuffer EQU $FF9A -H_MULTIPLYBUFFER EQU $FF9B +hMultiplyBuffer EQU $FF9B ; PrintNumber (big endian). -H_PASTLEADINGZEROES EQU $FF95 ; last char printed -H_NUMTOPRINT EQU $FF96 ; 3 bytes -H_POWEROFTEN EQU $FF99 ; 3 bytes -H_SAVEDNUMTOPRINT EQU $FF9C ; 3 bytes +hPastLeadingZeros EQU $FF95 ; last char printed +hNumToPrint EQU $FF96 ; 3 bytes +hPowerOf10 EQU $FF99 ; 3 bytes +hSavedNumToPrint EQU $FF9C ; 3 bytes ; distance in steps between NPC and player hNPCPlayerYDistance EQU $FF95 @@ -183,14 +196,14 @@ hJoy5 EQU $FFB5 hJoy6 EQU $FFB6 hJoy7 EQU $FFB7 -H_LOADEDROMBANK EQU $FFB8 +hLoadedROMBank EQU $FFB8 hSavedROMBank EQU $FFB9 ; is automatic background transfer during V-blank enabled? ; if nonzero, yes ; if zero, no -H_AUTOBGTRANSFERENABLED EQU $FFBA +hAutoBGTransferEnabled EQU $FFBA TRANSFERTOP EQU 0 TRANSFERMIDDLE EQU 1 @@ -199,45 +212,47 @@ TRANSFERBOTTOM EQU 2 ; 00 = top third of background ; 01 = middle third of background ; 02 = bottom third of background -H_AUTOBGTRANSFERPORTION EQU $FFBB +hAutoBGTransferPortion EQU $FFBB ; the destination address of the automatic background transfer -H_AUTOBGTRANSFERDEST EQU $FFBC ; 2 bytes +hAutoBGTransferDest EQU $FFBC ; 2 bytes + +hRedrawMapViewRowOffset EQU $FFBE ; temporary storage for stack pointer during memory transfers that use pop ; to increase speed -H_SPTEMP EQU $FFBF ; 2 bytes +hSPTemp EQU $FFBF ; 2 bytes ; source address for VBlankCopyBgMap function ; the first byte doubles as the byte that enabled the transfer. ; if it is 0, the transfer is disabled ; if it is not 0, the transfer is enabled ; this means that XX00 is not a valid source address -H_VBCOPYBGSRC EQU $FFC1 ; 2 bytes +hVBlankCopyBGSource EQU $FFC1 ; 2 bytes ; destination address for VBlankCopyBgMap function -H_VBCOPYBGDEST EQU $FFC3 ; 2 bytes +hVBlankCopyBGDest EQU $FFC3 ; 2 bytes ; number of rows for VBlankCopyBgMap to copy -H_VBCOPYBGNUMROWS EQU $FFC5 +hVBlankCopyBGNumRows EQU $FFC5 ; size of VBlankCopy transfer in 16-byte units -H_VBCOPYSIZE EQU $FFC6 +hVBlankCopySize EQU $FFC6 ; source address for VBlankCopy function -H_VBCOPYSRC EQU $FFC7 +hVBlankCopySource EQU $FFC7 ; destination address for VBlankCopy function -H_VBCOPYDEST EQU $FFC9 +hVBlankCopyDest EQU $FFC9 ; size of source data for VBlankCopyDouble in 8-byte units -H_VBCOPYDOUBLESIZE EQU $FFCB +hVBlankCopyDoubleSize EQU $FFCB ; source address for VBlankCopyDouble function -H_VBCOPYDOUBLESRC EQU $FFCC +hVBlankCopyDoubleSource EQU $FFCC ; destination address for VBlankCopyDouble function -H_VBCOPYDOUBLEDEST EQU $FFCE +hVBlankCopyDoubleDest EQU $FFCE ; controls whether a row or column of 2x2 tile blocks is redrawn in V-blank ; 00 = no redraw @@ -253,12 +268,12 @@ hRedrawRowOrColumnDest EQU $FFD1 hRandomAdd EQU $FFD3 hRandomSub EQU $FFD4 -H_FRAMECOUNTER EQU $FFD5 ; decremented every V-blank (used for delays) +hFrameCounter EQU $FFD5 ; decremented every V-blank (used for delays) ; V-blank sets this to 0 each time it runs. ; So, by setting it to a nonzero value and waiting for it to become 0 again, ; you can detect that the V-blank handler has run since then. -H_VBLANKOCCURRED EQU $FFD6 +hVBlankOccurred EQU $FFD6 ; 00 = indoor ; 01 = cave @@ -268,11 +283,12 @@ hTilesetType EQU $FFD7 hMovingBGTilesCounter1 EQU $FFD8 -H_CURRENTSPRITEOFFSET EQU $FFDA ; multiple of $10 +hCurrentSpriteOffset EQU $FFDA ; multiple of $10 hItemCounter EQU $FFDB -hGymGateIndex EQU $FFDB +hGymGateIndex EQU $FFDB +hGymGateAnswer EQU $FFDC hGymTrashCanRandNumMask EQU $FFDB @@ -285,40 +301,70 @@ hDexRatingNumMonsOwned EQU $FFDC ; $FF = player cancelled hOaksAideResult EQU $FFDB +hSavedCoordIndex EQU $FFDB + hOaksAideRequirement EQU $FFDB ; required number of owned mons hOaksAideRewardItem EQU $FFDC hOaksAideNumMonsOwned EQU $FFDD +hPlayerFacing EQU $FFDB +hPlayerYCoord EQU $FFDC +hPlayerXCoord EQU $FFDD + +hMissableObjectIndex EQU $FFDB + hItemToRemoveID EQU $FFDB hItemToRemoveIndex EQU $FFDC hVendingMachineItem EQU $FFDB hVendingMachinePrice EQU $FFDC ; 3-byte BCD number +hFFDB EQU $FFDB +hFFDC EQU $FFDC + +hBackupGymGateIndex EQU $FFE0 + +hUnlockedSilphCoDoors EQU $FFE0 + ; the first tile ID in a sequence of tile IDs that increase by 1 each step hStartTileID EQU $FFE1 hNewPartyLength EQU $FFE4 +hIsHiddenMissableObject EQU $FFE5 + hDividend2 EQU $FFE5 hDivisor2 EQU $FFE6 hQuotient2 EQU $FFE7 +hMapROMBank EQU $FFE8 + hSpriteVRAMSlotAndFacing EQU $FFE9 hCoordsInFrontOfPlayerMatch EQU $FFEA hSpriteAnimFrameCounter EQU $FFEA -H_WHOSETURN EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn +hSpriteScreenYCoord EQU $FFEB +hSpriteScreenXCoord EQU $FFEC +hSpriteMapYCoord EQU $FFED +hSpriteMapXCoord EQU $FFEE + +hFoundHiddenObjectOrBookshelf EQU $FFEB +hFoundHiddenObject EQU $FFEE + +hSavedMapTextPtr EQU $FFEC + +hWhoseTurn EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn + +hClearLetterPrintingDelayFlags EQU $FFF4 ; bit 0: draw HP fraction to the right of bar instead of below (for party menu) ; bit 1: menu is double spaced -hFlags_0xFFF6 EQU $FFF6 +hFlagsFFF6 EQU $FFF6 hFieldMoveMonMenuTopMenuItemX EQU $FFF7 hDisableJoypadPolling EQU $FFF9 hJoyInput EQU $FFF8 - diff --git a/layout.link b/layout.link index 6391c9d5..d4473435 100644 --- a/layout.link +++ b/layout.link @@ -1,59 +1,43 @@ ROM0 org $0000 - "rst 00" - + "NULL" + org $0000 + "rst0" org $0008 - "rst 08" - + "rst8" org $0010 - "rst 10" - + "rst10" org $0018 - "rst 18" - + "rst18" org $0020 - "rst 20" - + "rst20" org $0028 - "rst 28" - + "rst28" org $0030 - "rst 30" - + "rst30" org $0038 - "rst 38" - + "rst38" org $0040 "vblank" - org $0048 - "hblank" - + "lcd" org $0050 "timer" - org $0058 "serial" - org $0060 "joypad" ; $0061 + "High Home" + org $100 + "Header" + org $150 "Home" - org $100 - "Entry" - ; $0104 - "Header" - - org $150 - "Main" - ROMX $1 - org $4000 "bank1" ROMX $2 - org $4000 "Sound Effect Headers 1" "Music Headers 1" "Sound Effects 1" @@ -61,36 +45,30 @@ ROMX $2 "Music 1" ROMX $3 - org $4000 "bank3" ROMX $4 - org $4000 "NPC Sprites 1" "Graphics (BANK 4)" "Battle (BANK 4)" ROMX $5 - org $4000 "NPC Sprites 2" "Battle (BANK 5)" ROMX $6 - org $4000 "Maps 1" "bank6_1" "Maps 2" "bank6_2" ROMX $7 - org $4000 "Maps 3" "bank7_1" "Maps 4" "bank7_2" ROMX $8 - org $4000 "Sound Effect Headers 2" "Music Headers 2" "Sound Effects 2" @@ -100,113 +78,92 @@ ROMX $8 "Music 2" ROMX $9 - org $4000 "Pics 1" "Battle (BANK 9)" ROMX $A - org $4000 "Pics 2" "Battle (BANK A)" ROMX $B - org $4000 "Pics 3" "Battle (BANK B)" ROMX $C - org $4000 "Pics 4" "Battle (BANK C)" ROMX $D - org $4000 "Pics 5" "Battle (BANK D)" ROMX $E - org $4000 "bankE" ROMX $F - org $4000 "bankF" ROMX $10 - org $4000 "bank10" ROMX $11 - org $4000 "Maps 5" "bank11_1" "Maps 6" "bank11_2" ROMX $12 - org $4000 "Maps 7" "bank12" "Maps 8" ROMX $13 - org $4000 "Pics 6" "Maps 9" "bank13" ROMX $14 - org $4000 "Maps 10" "bank14" ROMX $15 - org $4000 "Maps 11" "bank15_1" "Maps 12" "bank15_2" ROMX $16 - org $4000 "Maps 13" "bank16_1" "Maps 14" "bank16_2" ROMX $17 - org $4000 "Maps 15" "bank17_1" "Maps 16" "bank17_2" ROMX $18 - org $4000 "Maps 17" "bank18_1" "Maps 18" "bank18_2" ROMX $19 - org $4000 "Tilesets 1" ROMX $1A - org $4000 "bank1A" "Tilesets 2" ROMX $1B - org $4000 "Tilesets 3" ROMX $1C - org $4000 "bank1C" ROMX $1D - org $4000 "Maps 19" "bank1D_1" "Maps 20" @@ -215,11 +172,9 @@ ROMX $1D "bank1D_3" ROMX $1E - org $4000 "bank1E" ROMX $1F - org $4000 "Sound Effect Headers 3" "Music Headers 3" "Sound Effects 3" @@ -227,81 +182,60 @@ ROMX $1F "Music 3" ROMX $20 - org $4000 "Text 1" ROMX $21 - org $4000 "Text 2" ROMX $22 - org $4000 "Text 3" ROMX $23 - org $4000 "Text 4" ROMX $24 - org $4000 "Text 5" ROMX $25 - org $4000 "Text 6" ROMX $26 - org $4000 "Text 7" ROMX $27 - org $4000 "Text 8" ROMX $28 - org $4000 "Text 9" ROMX $29 - org $4000 "Text 10" ROMX $2A - org $4000 "Text 11" ROMX $2B - org $4000 "Pokedex Text" ROMX $2C - org $4000 "Move Names" WRAM0 - org $c000 "WRAM Bank 0" - org $c100 "Sprite State Data" "OAM Buffer" - org $dfff "Stack" -SRAM 0 - org $a000 +SRAM $0 "Sprite Buffers" -SRAM 1 - org $a000 +SRAM $1 "Save Data" -SRAM 2 - org $a000 +SRAM $2 "Saved Boxes 1" -SRAM 3 - org $a000 +SRAM $3 "Saved Boxes 2" - diff --git a/macros.asm b/macros.asm index b779ec5f..a092d25c 100644 --- a/macros.asm +++ b/macros.asm @@ -1,5 +1,11 @@ -INCLUDE "macros/asm_macros.asm" -INCLUDE "macros/data_macros.asm" -INCLUDE "macros/text_macros.asm" -INCLUDE "macros/audio_macros.asm" -INCLUDE "macros/event_macros.asm" +INCLUDE "macros/enum.asm" +INCLUDE "macros/predef.asm" +INCLUDE "macros/farcall.asm" +INCLUDE "macros/data.asm" +INCLUDE "macros/code.asm" +INCLUDE "macros/coords.asm" + +INCLUDE "macros/scripts/audio.asm" +INCLUDE "macros/scripts/maps.asm" +INCLUDE "macros/scripts/events.asm" +INCLUDE "macros/scripts/text.asm" diff --git a/macros/asm_macros.asm b/macros/asm_macros.asm deleted file mode 100755 index d3f00b0c..00000000 --- a/macros/asm_macros.asm +++ /dev/null @@ -1,192 +0,0 @@ - -lb: MACRO ; r, hi, lo - ld \1, ((\2) & $ff) << 8 + ((\3) & $ff) -ENDM - -homecall: MACRO - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(\1) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call \1 - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a -ENDM - -farcall EQUS "callba" - -callba: MACRO - ld b, BANK(\1) - ld hl, \1 - call Bankswitch -ENDM - -callab: MACRO - ld hl, \1 - ld b, BANK(\1) - call Bankswitch -ENDM - -jpba: MACRO - ld b, BANK(\1) - ld hl, \1 - jp Bankswitch -ENDM - -jpab: MACRO - ld hl, \1 - ld b, BANK(\1) - jp Bankswitch -ENDM - -validateCoords: MACRO - IF \1 >= SCREEN_WIDTH - fail "x coord out of range" - ENDC - IF \2 >= SCREEN_HEIGHT - fail "y coord out of range" - ENDC -ENDM - -;\1 = r -;\2 = X -;\3 = Y -;\4 = which tilemap (optional) -coord: MACRO - validateCoords \2, \3 - IF _NARG >= 4 - ld \1, \4 + SCREEN_WIDTH * \3 + \2 - ELSE - ld \1, wTileMap + SCREEN_WIDTH * \3 + \2 - ENDC -ENDM - -;\1 = X -;\2 = Y -;\3 = which tilemap (optional) -aCoord: MACRO - validateCoords \1, \2 - IF _NARG >= 3 - ld a, [\3 + SCREEN_WIDTH * \2 + \1] - ELSE - ld a, [wTileMap + SCREEN_WIDTH * \2 + \1] - ENDC -ENDM - -;\1 = X -;\2 = Y -;\3 = which tilemap (optional) -Coorda: MACRO - validateCoords \1, \2 - IF _NARG >= 3 - ld [\3 + SCREEN_WIDTH * \2 + \1], a - ELSE - ld [wTileMap + SCREEN_WIDTH * \2 + \1], a - ENDC -ENDM - -;\1 = X -;\2 = Y -;\3 = which tilemap (optional) -dwCoord: MACRO - validateCoords \1, \2 - IF _NARG >= 3 - dw \3 + SCREEN_WIDTH * \2 + \1 - ELSE - dw wTileMap + SCREEN_WIDTH * \2 + \1 - ENDC -ENDM - -;\1 = r -;\2 = X -;\3 = Y -;\4 = map width -overworldMapCoord: MACRO - ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2))) -ENDM - -; macro for two nibbles -dn: MACRO - db (\1 << 4 | \2) -ENDM - -; macro for putting a byte then a word -dbw: MACRO - db \1 - dw \2 -ENDM - -dba: MACRO - dbw BANK(\1), \1 -ENDM - -dwb: MACRO - dw \1 - db \2 -ENDM - -dab: MACRO - dwb \1, BANK(\1) -ENDM - -dbbw: MACRO - db \1, \2 - dw \3 -ENDM - -; Predef macro. -predef_const: MACRO - const \1PredefID -ENDM - -add_predef: MACRO -\1Predef:: - db BANK(\1) - dw \1 -ENDM - -predef_id: MACRO - ld a, (\1Predef - PredefPointers) / 3 -ENDM - -predef: MACRO - predef_id \1 - call Predef -ENDM - -predef_jump: MACRO - predef_id \1 - jp Predef -ENDM - -tx_pre_const: MACRO - const \1_id -ENDM - -add_tx_pre: MACRO -\1_id:: dw \1 -ENDM - -db_tx_pre: MACRO - db (\1_id - TextPredefs) / 2 + 1 -ENDM - -tx_pre_id: MACRO - ld a, (\1_id - TextPredefs) / 2 + 1 -ENDM - -tx_pre: MACRO - tx_pre_id \1 - call PrintPredefTextID -ENDM - -tx_pre_jump: MACRO - tx_pre_id \1 - jp PrintPredefTextID -ENDM - -ldPal: MACRO - ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5 -ENDM diff --git a/macros/code.asm b/macros/code.asm new file mode 100755 index 00000000..8b7d6184 --- /dev/null +++ b/macros/code.asm @@ -0,0 +1,9 @@ +; Syntactic sugar macros + +lb: MACRO ; r, hi, lo + ld \1, ((\2) & $ff) << 8 + ((\3) & $ff) +ENDM + +ldPal: MACRO + ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5 +ENDM diff --git a/macros/coords.asm b/macros/coords.asm new file mode 100644 index 00000000..302260d7 --- /dev/null +++ b/macros/coords.asm @@ -0,0 +1,65 @@ +validateCoords: MACRO + IF \1 >= SCREEN_WIDTH + fail "x coord out of range" + ENDC + IF \2 >= SCREEN_HEIGHT + fail "y coord out of range" + ENDC +ENDM + +;\1 = r +;\2 = X +;\3 = Y +;\4 = which tilemap (optional) +coord: MACRO + validateCoords \2, \3 + IF _NARG >= 4 + ld \1, \4 + SCREEN_WIDTH * \3 + \2 + ELSE + ld \1, wTileMap + SCREEN_WIDTH * \3 + \2 + ENDC +ENDM + +;\1 = X +;\2 = Y +;\3 = which tilemap (optional) +aCoord: MACRO + validateCoords \1, \2 + IF _NARG >= 3 + ld a, [\3 + SCREEN_WIDTH * \2 + \1] + ELSE + ld a, [wTileMap + SCREEN_WIDTH * \2 + \1] + ENDC +ENDM + +;\1 = X +;\2 = Y +;\3 = which tilemap (optional) +Coorda: MACRO + validateCoords \1, \2 + IF _NARG >= 3 + ld [\3 + SCREEN_WIDTH * \2 + \1], a + ELSE + ld [wTileMap + SCREEN_WIDTH * \2 + \1], a + ENDC +ENDM + +;\1 = X +;\2 = Y +;\3 = which tilemap (optional) +dwCoord: MACRO + validateCoords \1, \2 + IF _NARG >= 3 + dw \3 + SCREEN_WIDTH * \2 + \1 + ELSE + dw wTileMap + SCREEN_WIDTH * \2 + \1 + ENDC +ENDM + +;\1 = r +;\2 = X +;\3 = Y +;\4 = map width +overworldMapCoord: MACRO + ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2))) +ENDM diff --git a/macros/data.asm b/macros/data.asm new file mode 100755 index 00000000..54d1d561 --- /dev/null +++ b/macros/data.asm @@ -0,0 +1,62 @@ +; Value macros + +percent EQUS "* $ff / 100" + +bcd2: MACRO + dn ((\1) / 1000) % 10, ((\1) / 100) % 10 + dn ((\1) / 10) % 10, (\1) % 10 +ENDM + +bcd3: MACRO + dn ((\1) / 100000) % 10, ((\1) / 10000) % 10 + dn ((\1) / 1000) % 10, ((\1) / 100) % 10 + dn ((\1) / 10) % 10, (\1) % 10 +ENDM + +coins equs "bcd2" +money equs "bcd3" + +RGB: MACRO + dw (\3 << 10 | \2 << 5 | \1) +ENDM + +tmlearn: MACRO +x = 0 + REPT _NARG +IF \1 != 0 +x = x | (1 << ((\1 - 1) % 8)) +ENDC + SHIFT + ENDR + db x +ENDM + + +; Constant data (db, dw, dl) macros + +dn: MACRO ; nybbles + db (\1 << 4 | \2) +ENDM + +dbw: MACRO + db \1 + dw \2 +ENDM + +dba: MACRO + dbw BANK(\1), \1 +ENDM + +dwb: MACRO + dw \1 + db \2 +ENDM + +dab: MACRO + dwb \1, BANK(\1) +ENDM + +dbbw: MACRO + db \1, \2 + dw \3 +ENDM diff --git a/macros/data_macros.asm b/macros/data_macros.asm deleted file mode 100755 index ee5cb8f0..00000000 --- a/macros/data_macros.asm +++ /dev/null @@ -1,242 +0,0 @@ - -; Constant enumeration is useful for monsters, items, moves, etc. -const_def: MACRO -const_value = 0 -ENDM - -const: MACRO -\1 EQU const_value -const_value = const_value + 1 -ENDM - -; data format macros - -percent EQUS "* $ff / 100" - -bcd2: MACRO - dn ((\1) / 1000) % 10, ((\1) / 100) % 10 - dn ((\1) / 10) % 10, (\1) % 10 -ENDM - -bcd3: MACRO - dn ((\1) / 100000) % 10, ((\1) / 10000) % 10 - dn ((\1) / 1000) % 10, ((\1) / 100) % 10 - dn ((\1) / 10) % 10, (\1) % 10 -ENDM - -coins equs "bcd2" -money equs "bcd3" - -;\1 = Map Width -;\2 = Rows above (Y-blocks) -;\3 = X movement (X-blocks) -EVENT_DISP: MACRO - dw (wOverworldMap + 7 + (\1) + ((\1) + 6) * ((\2) >> 1) + ((\3) >> 1)) ; Ev.Disp - db \2,\3 ;Y,X -ENDM - -FLYWARP_DATA: MACRO - EVENT_DISP \1,\2,\3 - db ((\2) & $01) ;sub-block Y - db ((\3) & $01) ;sub-block X -ENDM - -; external map entry macro -EMAP: MACRO ; emap x-coordinate,y-coordinate,textpointer -; the appearance of towns and routes in the town map, indexed by map id - ; nybble: y-coordinate - ; nybble: x-coordinate - ; word : pointer to map name - dn \2, \1 - dw \3 -ENDM - -; internal map entry macro -IMAP: MACRO ; imap mapid_less_than,x-coordinate,y-coordinate,textpointer -; the appearance of buildings and dungeons in the town map - ; byte : maximum map id subject to this rule - ; nybble: y-coordinate - ; nybble: x-coordinate - ; word : pointer to map name - db \1 + 1 - dn \3, \2 - dw \4 -ENDM - -; tilesets' headers macro -tileset: MACRO - db BANK(\2) ; BANK(GFX) - dw \1, \2, \3 ; Block, GFX, Coll - db \4, \5, \6 ; counter tiles - db \7 ; grass tile - db \8 ; permission (indoor, cave, outdoor) -ENDM - -INDOOR EQU 0 -CAVE EQU 1 -OUTDOOR EQU 2 - -RGB: MACRO - dw (\3 << 10 | \2 << 5 | \1) -ENDM - -WALK EQU $FE -STAY EQU $FF - -DOWN EQU $D0 -UP EQU $D1 -LEFT EQU $D2 -RIGHT EQU $D3 -NONE EQU $FF - -;\1 sprite id -;\2 x position -;\3 y position -;\4 movement (WALK/STAY) -;\5 range or direction -;\6 text id -;\7 items only: item id -;\7 trainers only: trainer class/pokemon id -;\8 trainers only: trainer number/pokemon level -object: MACRO - db \1 - db \3 + 4 - db \2 + 4 - db \4 - db \5 - IF (_NARG > 7) - db TRAINER | \6 - db \7 - db \8 - ELSE - IF (_NARG > 6) - db ITEM | \6 - db \7 - ELSE - db \6 - ENDC - ENDC -ENDM - -;\1 x position -;\2 y position -;\3 destination warp id -;\4 destination map (-1 = wLastMap) -warp: MACRO - db \2, \1, \3, \4 -ENDM - -;\1 x position -;\2 y position -;\3 sign id -sign: MACRO - db \2, \1, \3 -ENDM - -;\1 x position -;\2 y position -;\3 map width -warp_to: MACRO - EVENT_DISP \3, \2, \1 -ENDM - -;\1 (byte) = current map id -;\2 (byte) = connected map id -;\3 (byte) = x movement of connection strip -;\4 (byte) = connection strip offset -;\5 (word) = connected map blocks pointer -NORTH_MAP_CONNECTION: MACRO - db \2 ; map id - dw \5 + (\2_WIDTH * (\2_HEIGHT - 3)) + \4; "Connection Strip" location - dw wOverworldMap + 3 + \3 ; current map position - IF (\1_WIDTH < \2_WIDTH) - db \1_WIDTH - \3 + 3 ; width of connection strip - ELSE - db \2_WIDTH - \4 ; width of connection strip - ENDC - db \2_WIDTH ; map width - db (\2_HEIGHT * 2) - 1 ; y alignment (y coordinate of player when entering map) - db (\3 - \4) * -2 ; x alignment (x coordinate of player when entering map) - dw wOverworldMap + 1 + (\2_HEIGHT * (\2_WIDTH + 6)) ; window (position of the upper left block after entering the map) -ENDM - -;\1 (byte) = current map id -;\2 (byte) = connected map id -;\3 (byte) = x movement of connection strip -;\4 (byte) = connection strip offset -;\5 (word) = connected map blocks pointer -;\6 (flag) = add 3 to width of connection strip (why?) -SOUTH_MAP_CONNECTION: MACRO - db \2 ; map id - dw \5 + \4 ; "Connection Strip" location - dw wOverworldMap + 3 + (\1_HEIGHT + 3) * (\1_WIDTH + 6) + \3 ; current map position - IF (\1_WIDTH < \2_WIDTH) - IF (_NARG > 5) - db \1_WIDTH - \3 + 3 ; width of connection strip - ELSE - db \1_WIDTH - \3 ; width of connection strip - ENDC - ELSE - db \2_WIDTH - \4 ; width of connection strip - ENDC - db \2_WIDTH ; map width - db 0 ; y alignment (y coordinate of player when entering map) - db (\3 - \4) * -2 ; x alignment (x coordinate of player when entering map) - dw wOverworldMap + 7 + \2_WIDTH ; window (position of the upper left block after entering the map) -ENDM - -;\1 (byte) = current map id -;\2 (byte) = connected map id -;\3 (byte) = y movement of connection strip -;\4 (byte) = connection strip offset -;\5 (word) = connected map blocks pointer -WEST_MAP_CONNECTION: MACRO - db \2 ; map id - dw \5 + (\2_WIDTH * \4) + \2_WIDTH - 3 ; "Connection Strip" location - dw wOverworldMap + (\1_WIDTH + 6) * (\3 + 3) ; current map position - IF (\1_HEIGHT < \2_HEIGHT) - db \1_HEIGHT - \3 + 3 ; height of connection strip - ELSE - db \2_HEIGHT - \4 ; height of connection strip - ENDC - db \2_WIDTH ; map width - db (\3 - \4) * -2 ; y alignment - db (\2_WIDTH * 2) - 1 ; x alignment - dw wOverworldMap + 6 + (2 * \2_WIDTH) ; window (position of the upper left block after entering the map) -ENDM - -;\1 (byte) = current map id -;\2 (byte) = connected map id -;\3 (byte) = y movement of connection strip -;\4 (byte) = connection strip offset -;\5 (word) = connected map blocks pointer -;\6 (flag) = add 3 to height of connection strip (why?) -EAST_MAP_CONNECTION: MACRO - db \2 ; map id - dw \5 + (\2_WIDTH * \4) ; "Connection Strip" location - dw wOverworldMap - 3 + (\1_WIDTH + 6) * (\3 + 4) ; current map position - IF (\1_HEIGHT < \2_HEIGHT) - IF (_NARG > 5) - db \1_HEIGHT - \3 + 3 ; height of connection strip - ELSE - db \1_HEIGHT - \3 ; height of connection strip - ENDC - ELSE - db \2_HEIGHT - \4 ; height of connection strip - ENDC - db \2_WIDTH ; map width - db (\3 - \4) * -2 ; y alignment - db 0 ; x alignment - dw wOverworldMap + 7 + \2_WIDTH ; window (position of the upper left block after entering the map) -ENDM - -tmlearn: MACRO -x = 0 - REPT _NARG -IF \1 != 0 -x = x | (1 << ((\1 - 1) % 8)) -ENDC - SHIFT - ENDR - db x -ENDM diff --git a/macros/enum.asm b/macros/enum.asm new file mode 100644 index 00000000..8fe5b534 --- /dev/null +++ b/macros/enum.asm @@ -0,0 +1,43 @@ +; Enumerate variables + +enum_start: MACRO +if _NARG >= 1 +__enum__ = \1 +else +__enum__ = 0 +endc +if _NARG >= 2 +__enumdir__ = \2 +else +__enumdir__ = 1 +endc +ENDM + +enum: MACRO +\1 EQU __enum__ +__enum__ = __enum__ + __enumdir__ +ENDM + +enum_set: MACRO +__enum__ = \1 +ENDM + +; Enumerate constants + +const_def: MACRO +if _NARG >= 1 +const_value = \1 +else +const_value = 0 +endc +ENDM + +const: MACRO +\1 EQU const_value +const_value = const_value + 1 +ENDM + +shift_const: MACRO +\1 EQU (1 << const_value) +const_value = const_value + 1 +ENDM diff --git a/macros/farcall.asm b/macros/farcall.asm new file mode 100644 index 00000000..885f8c66 --- /dev/null +++ b/macros/farcall.asm @@ -0,0 +1,37 @@ +farcall EQUS "callba" + +callba: MACRO + ld b, BANK(\1) + ld hl, \1 + call Bankswitch +ENDM + +callab: MACRO + ld hl, \1 + ld b, BANK(\1) + call Bankswitch +ENDM + +jpba: MACRO + ld b, BANK(\1) + ld hl, \1 + jp Bankswitch +ENDM + +jpab: MACRO + ld hl, \1 + ld b, BANK(\1) + jp Bankswitch +ENDM + +homecall: MACRO + ld a, [hLoadedROMBank] + push af + ld a, BANK(\1) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call \1 + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a +ENDM diff --git a/macros/predef.asm b/macros/predef.asm new file mode 100644 index 00000000..d86582d1 --- /dev/null +++ b/macros/predef.asm @@ -0,0 +1,32 @@ +predef_id: MACRO + ld a, (\1Predef - PredefPointers) / 3 +ENDM + +predef: MACRO + predef_id \1 + call Predef +ENDM + +predef_jump: MACRO + predef_id \1 + jp Predef +ENDM + + +tx_pre_id: MACRO + ld a, (\1_id - TextPredefs) / 2 + 1 +ENDM + +tx_pre: MACRO + tx_pre_id \1 + call PrintPredefTextID +ENDM + +tx_pre_jump: MACRO + tx_pre_id \1 + jp PrintPredefTextID +ENDM + +db_tx_pre: MACRO + db (\1_id - TextPredefs) / 2 + 1 +ENDM diff --git a/macros/audio_macros.asm b/macros/scripts/audio.asm similarity index 93% rename from macros/audio_macros.asm rename to macros/scripts/audio.asm index 95b9ecbc..8a250c63 100755 --- a/macros/audio_macros.asm +++ b/macros/scripts/audio.asm @@ -1,18 +1,3 @@ - -StopAllMusic: MACRO - ld a, $ff - call PlaySound -ENDM - -Ch1 EQU 0 -Ch2 EQU 1 -Ch3 EQU 2 -Ch4 EQU 3 -Ch5 EQU 4 -Ch6 EQU 5 -Ch7 EQU 6 -Ch8 EQU 7 - audio_header: MACRO db (_NARG - 2) << 6 | \2 dw \1_\2 @@ -73,19 +58,6 @@ noise_note: MACRO db \4 ENDM -C_ EQU $0 -C# EQU $1 -D_ EQU $2 -D# EQU $3 -E_ EQU $4 -F_ EQU $5 -F# EQU $6 -G_ EQU $7 -G# EQU $8 -A_ EQU $9 -A# EQU $A -B_ EQU $B - ; arguments: pitch, length [1, 16] note: MACRO db (\1 << 4) | (\2 - 1) diff --git a/macros/event_macros.asm b/macros/scripts/events.asm similarity index 96% rename from macros/event_macros.asm rename to macros/scripts/events.asm index 20027209..c5f90107 100755 --- a/macros/event_macros.asm +++ b/macros/scripts/events.asm @@ -15,7 +15,8 @@ event_byte = ((\1) / 8) ELSE bit (\1) % 8, a ENDC - ENDM +ENDM + ;\1 = event index CheckEventReuseA: MACRO @@ -25,7 +26,8 @@ event_byte = ((\1) / 8) ENDC bit (\1) % 8, a - ENDM +ENDM + ;\1 = event index ;\2 = event index of the last event used before the branch @@ -37,7 +39,8 @@ event_byte = ((\1) / 8) ENDC bit (\1) % 8, a - ENDM +ENDM + ;\1 = reg ;\2 = event index @@ -48,21 +51,24 @@ EventFlagBit: MACRO ELSE ld \1, (\2) % 8 ENDC - ENDM +ENDM + ;\1 = reg ;\2 = event index EventFlagAddress: MACRO event_byte = ((\2) / 8) ld \1, wEventFlags + event_byte - ENDM +ENDM + ;\1 = event index CheckEventHL: MACRO event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte bit (\1) % 8, [hl] - ENDM +ENDM + ;\1 = event index CheckEventReuseHL: MACRO @@ -72,14 +78,16 @@ event_byte = ((\1) / 8) ENDC bit (\1) % 8, [hl] - ENDM +ENDM + ; dangerous, only use when HL is guaranteed to be the desired value ;\1 = event index CheckEventForceReuseHL: MACRO event_byte = ((\1) / 8) bit (\1) % 8, [hl] - ENDM +ENDM + ;\1 = event index ;\2 = event index of the last event used before the branch @@ -91,7 +99,8 @@ event_byte = ((\1) / 8) ENDC bit (\1) % 8, [hl] - ENDM +ENDM + ;\1 = event index CheckAndSetEvent: MACRO @@ -99,7 +108,8 @@ event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte bit (\1) % 8, [hl] set (\1) % 8, [hl] - ENDM +ENDM + ;\1 = event index CheckAndResetEvent: MACRO @@ -107,7 +117,8 @@ event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte bit (\1) % 8, [hl] res (\1) % 8, [hl] - ENDM +ENDM + ;\1 = event index CheckAndSetEventA: MACRO @@ -115,7 +126,8 @@ CheckAndSetEventA: MACRO bit (\1) % 8, a set (\1) % 8, a ld [wEventFlags + ((\1) / 8)], a - ENDM +ENDM + ;\1 = event index CheckAndResetEventA: MACRO @@ -123,14 +135,16 @@ CheckAndResetEventA: MACRO bit (\1) % 8, a res (\1) % 8, a ld [wEventFlags + ((\1) / 8)], a - ENDM +ENDM + ;\1 = event index SetEvent: MACRO event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte set (\1) % 8, [hl] - ENDM +ENDM + ;\1 = event index SetEventReuseHL: MACRO @@ -140,7 +154,8 @@ event_byte = ((\1) / 8) ENDC set (\1) % 8, [hl] - ENDM +ENDM + ;\1 = event index ;\2 = event index of the last event used before the branch @@ -152,32 +167,36 @@ event_byte = ((\1) / 8) ENDC set (\1) % 8, [hl] - ENDM +ENDM + ; dangerous, only use when HL is guaranteed to be the desired value ;\1 = event index SetEventForceReuseHL: MACRO event_byte = ((\1) / 8) set (\1) % 8, [hl] - ENDM +ENDM + ;\1 = event index ;\2 = event index ;\3, \4, ... = additional (optional) event indices SetEvents: MACRO SetEvent \1 - rept (_NARG + -1) + rept _NARG - 1 SetEventReuseHL \2 shift endr - ENDM +ENDM + ;\1 = event index ResetEvent: MACRO event_byte = ((\1) / 8) ld hl, wEventFlags + event_byte res (\1) % 8, [hl] - ENDM +ENDM + ;\1 = event index ResetEventReuseHL: MACRO @@ -187,7 +206,8 @@ event_byte = ((\1) / 8) ENDC res (\1) % 8, [hl] - ENDM +ENDM + ;\1 = event index ;\2 = event index of the last event used before the branch @@ -199,25 +219,28 @@ event_byte = ((\1) / 8) ENDC res (\1) % 8, [hl] - ENDM +ENDM + ; dangerous, only use when HL is guaranteed to be the desired value ;\1 = event index ResetEventForceReuseHL: MACRO event_byte = ((\1) / 8) res (\1) % 8, [hl] - ENDM +ENDM + ;\1 = event index ;\2 = event index ;\3 = event index (optional) ResetEvents: MACRO ResetEvent \1 - rept (_NARG + -1) + rept _NARG - 1 ResetEventReuseHL \2 shift endr - ENDM +ENDM + ;\1 = event index ;\2 = number of bytes away from the base address (optional, for matching the ROM) @@ -227,7 +250,8 @@ dbEventFlagBit: MACRO ELSE db ((\1) % 8) ENDC - ENDM +ENDM + ;\1 = event index ;\2 = number of bytes away from the base address (optional, for matching the ROM) @@ -237,7 +261,8 @@ dwEventFlagAddress: MACRO ELSE dw wEventFlags + ((\1) / 8) ENDC - ENDM +ENDM + ;\1 = start ;\2 = end @@ -258,7 +283,7 @@ event_fill_start = event_start_byte + 1 event_fill_count = event_end_byte - event_start_byte - 1 IF ((\1) % 8) == 0 -event_fill_start = event_fill_start + -1 +event_fill_start = event_fill_start - 1 event_fill_count = event_fill_count + 1 ELSE ld a, [wEventFlags + event_start_byte] @@ -279,7 +304,7 @@ event_fill_count = event_fill_count + 1 ld a, $ff ld hl, wEventFlags + event_fill_start - REPT event_fill_count + -1 + REPT event_fill_count - 1 ld [hli], a ENDR @@ -297,7 +322,8 @@ event_fill_count = event_fill_count + 1 ENDC ENDC ENDC - ENDM +ENDM + ;\1 = start ;\2 = end @@ -319,7 +345,7 @@ event_fill_start = event_start_byte + 1 event_fill_count = event_end_byte - event_start_byte - 1 IF ((\1) % 8) == 0 -event_fill_start = event_fill_start + -1 +event_fill_start = event_fill_start - 1 event_fill_count = event_fill_count + 1 ELSE ld a, [wEventFlags + event_start_byte] @@ -344,7 +370,7 @@ event_fill_count = event_fill_count + 1 xor a ENDC - REPT event_fill_count + -1 + REPT event_fill_count - 1 ld [hli], a ENDR @@ -362,7 +388,8 @@ event_fill_count = event_fill_count + 1 ENDC ENDC ENDC - ENDM +ENDM + ; returns whether both events are set in Z flag ; This is counter-intuitive because the other event checks set the Z flag when @@ -400,7 +427,8 @@ event_byte = ((\1) / 8) pop bc ENDC ENDC - ENDM +ENDM + ; returns the complement of whether either event is set in Z flag ;\1 = event index 1 @@ -429,7 +457,8 @@ CheckEitherEventSet: MACRO pop bc ENDC ENDC - ENDM +ENDM + ; for handling fixed event bits when events are inserted/removed ;\1 = event index @@ -438,4 +467,5 @@ AdjustEventBit: MACRO IF ((\1) % 8) != (\2) add ((\1) % 8) - (\2) ENDC - ENDM +ENDM + diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm new file mode 100644 index 00000000..a30561b9 --- /dev/null +++ b/macros/scripts/maps.asm @@ -0,0 +1,184 @@ +;\1 map width +;\2 Rows above (Y-blocks) +;\3 X movement (X-blocks) +EVENT_DISP: MACRO + dw (wOverworldMap + 7 + (\1) + ((\1) + 6) * ((\2) >> 1) + ((\3) >> 1)) ; Ev.Disp + db \2,\3 ;Y,X +ENDM + +FLYWARP_DATA: MACRO + EVENT_DISP \1,\2,\3 + db ((\2) & $01) ;sub-block Y + db ((\3) & $01) ;sub-block X +ENDM + +; external map entry macro +EMAP: MACRO ; emap x-coordinate,y-coordinate,textpointer +; the appearance of towns and routes in the town map, indexed by map id + ; nybble: y-coordinate + ; nybble: x-coordinate + ; word : pointer to map name + dn \2, \1 + dw \3 +ENDM + +; internal map entry macro +IMAP: MACRO ; imap mapid_less_than,x-coordinate,y-coordinate,textpointer +; the appearance of buildings and dungeons in the town map + ; byte : maximum map id subject to this rule + ; nybble: y-coordinate + ; nybble: x-coordinate + ; word : pointer to map name + db \1 + 1 + dn \3, \2 + dw \4 +ENDM + +;\1 sprite id +;\2 x position +;\3 y position +;\4 movement (WALK/STAY) +;\5 range or direction +;\6 text id +;\7 items only: item id +;\7 trainers only: trainer class/pokemon id +;\8 trainers only: trainer number/pokemon level +object: MACRO + db \1 + db \3 + 4 + db \2 + 4 + db \4 + db \5 + IF (_NARG > 7) + db TRAINER | \6 + db \7 + db \8 + ELSE + IF (_NARG > 6) + db ITEM | \6 + db \7 + ELSE + db \6 + ENDC + ENDC +ENDM + +;\1 x position +;\2 y position +;\3 destination warp id +;\4 destination map (-1 = wLastMap) +warp: MACRO + db \2, \1, \3, \4 +ENDM + +;\1 x position +;\2 y position +;\3 sign id +sign: MACRO + db \2, \1, \3 +ENDM + +;\1 x position +;\2 y position +;\3 map width +warp_to: MACRO + EVENT_DISP \3, \2, \1 +ENDM + +;\1 map name +;\2 map id +;\3 tileset +;\4 connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none +map_header: MACRO +CURRENT_MAP_WIDTH = \2_WIDTH +CURRENT_MAP_HEIGHT = \2_HEIGHT +CURRENT_MAP_OBJECT EQUS "\1_Object" +\1_h:: + db \3 + db CURRENT_MAP_HEIGHT, CURRENT_MAP_WIDTH + dw \1_Blocks + dw \1_TextPointers + dw \1_Script + db \4 +ENDM + +; Comes after map_header and connection macros +end_map_header: MACRO + dw CURRENT_MAP_OBJECT +PURGE CURRENT_MAP_WIDTH +PURGE CURRENT_MAP_HEIGHT +PURGE CURRENT_MAP_OBJECT +ENDM + +; Connections go in order: north, south, west, east +;\1 direction +;\2 map name +;\3 map id +;\4 offset of the target map relative to the current map +; (x offset for east/west, y offset for north/south) +connection: MACRO + +; Calculate tile offsets for source (current) and target maps +_src = 0 +_tgt = (\4) + 3 +if _tgt < 2 +_src = -_tgt +_tgt = 0 +endc + +if "\1" == "north" +_blk = \3_WIDTH * (\3_HEIGHT - 3) + _src +_map = _tgt +_win = (\3_WIDTH + 6) * \3_HEIGHT + 1 +_y = \3_HEIGHT * 2 - 1 +_x = (\4) * -2 +_len = CURRENT_MAP_WIDTH + 3 - (\4) +if _len > \3_WIDTH +_len = \3_WIDTH +endc + +elif "\1" == "south" +_blk = _src +_map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt +_win = \3_WIDTH + 7 +_y = 0 +_x = (\4) * -2 +_len = CURRENT_MAP_WIDTH + 3 - (\4) +if _len > \3_WIDTH +_len = \3_WIDTH +endc + +elif "\1" == "west" +_blk = (\3_WIDTH * _src) + \3_WIDTH - 3 +_map = (CURRENT_MAP_WIDTH + 6) * _tgt +_win = (\3_WIDTH + 6) * 2 - 6 +_y = (\4) * -2 +_x = \3_WIDTH * 2 - 1 +_len = CURRENT_MAP_HEIGHT + 3 - (\4) +if _len > \3_HEIGHT +_len = \3_HEIGHT +endc + +elif "\1" == "east" +_blk = (\3_WIDTH * _src) +_map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3 +_win = \3_WIDTH + 7 +_y = (\4) * -2 +_x = 0 +_len = CURRENT_MAP_HEIGHT + 3 - (\4) +if _len > \3_HEIGHT +_len = \3_HEIGHT +endc + +else +fail "Invalid direction for 'connection'." +endc + + db \3 + dw \2_Blocks + _blk + dw wOverworldMap + _map + db _len - _src + db \3_WIDTH + db _y, _x + dw wOverworldMap + _win +ENDM diff --git a/macros/text_macros.asm b/macros/scripts/text.asm similarity index 99% rename from macros/text_macros.asm rename to macros/scripts/text.asm index 21e02634..732a22d4 100755 --- a/macros/text_macros.asm +++ b/macros/scripts/text.asm @@ -1,5 +1,3 @@ - -; text macros text EQUS "db $00," ; Start writing text. next EQUS "db $4e," ; Move a line down. line EQUS "db $4f," ; Start writing at the bottom line. diff --git a/macros/wram.asm b/macros/wram.asm new file mode 100644 index 00000000..7a9b4a6a --- /dev/null +++ b/macros/wram.asm @@ -0,0 +1,92 @@ +; Used in wram.asm + +flag_array: MACRO + ds ((\1) + 7) / 8 +ENDM + +BOX_STRUCT_LENGTH EQU 25 + NUM_MOVES * 2 + +box_struct: MACRO +\1Species:: db +\1HP:: dw +\1BoxLevel:: db +\1Status:: db +\1Type:: +\1Type1:: db +\1Type2:: db +\1CatchRate:: db +\1Moves:: ds NUM_MOVES +\1OTID:: dw +\1Exp:: ds 3 +\1HPExp:: dw +\1AttackExp:: dw +\1DefenseExp:: dw +\1SpeedExp:: dw +\1SpecialExp:: dw +\1DVs:: ds 2 +\1PP:: ds NUM_MOVES +ENDM + +party_struct: MACRO + box_struct \1 +\1Level:: db +\1Stats:: +\1MaxHP:: dw +\1Attack:: dw +\1Defense:: dw +\1Speed:: dw +\1Special:: dw +ENDM + +battle_struct: MACRO +\1Species:: db +\1HP:: dw +\1PartyPos:: +\1BoxLevel:: db +\1Status:: db +\1Type:: +\1Type1:: db +\1Type2:: db +\1CatchRate:: db +\1Moves:: ds NUM_MOVES +\1DVs:: ds 2 +\1Level:: db +\1Stats:: +\1MaxHP:: dw +\1Attack:: dw +\1Defense:: dw +\1Speed:: dw +\1Special:: dw +\1PP:: ds NUM_MOVES +ENDM + +spritestatedata1: MACRO +\1PictureID:: db +\1MovementStatus:: db +\1ImageIndex:: db +\1YStepVector:: db +\1YPixels:: db +\1XStepVector:: db +\1XPixels:: db +\1IntraAnimFrameCounter:: db +\1AnimFrameCounter:: db +\1FacingDirection:: db + ds 6 +\1End:: +ENDM + +spritestatedata2: MACRO +\1WalkAnimationCounter:: db + ds 1 +\1YDisplacement:: db +\1XDisplacement:: db +\1MapY:: db +\1MapX:: db +\1MovementByte1:: db +\1GrassPriority:: db +\1MovementDelay:: db + ds 5 +\1ImageBaseOffset:: db + ds 1 +\1End:: +ENDM diff --git a/main.asm b/main.asm index 1c3b5800..b325a343 100755 --- a/main.asm +++ b/main.asm @@ -3,19 +3,15 @@ INCLUDE "constants.asm" SECTION "bank1", ROMX -INCLUDE "data/facing.asm" +INCLUDE "data/sprites/facings.asm" INCLUDE "engine/events/black_out.asm" - -MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" -MewPicBack:: INCBIN "gfx/pokemon/back/mewb.pic" -INCLUDE "data/baseStats/mew.asm" - +INCLUDE "data/pokemon/mew.asm" INCLUDE "engine/battle/safari_zone.asm" -INCLUDE "engine/movie/titlescreen.asm" +INCLUDE "engine/movie/title.asm" INCLUDE "engine/pokemon/load_mon_data.asm" -INCLUDE "data/item_prices.asm" -INCLUDE "text/item_names.asm" -INCLUDE "text/unused_names.asm" +INCLUDE "data/items/prices.asm" +INCLUDE "data/items/names.asm" +INCLUDE "data/text/unused_names.asm" INCLUDE "engine/gfx/sprite_oam.asm" INCLUDE "engine/gfx/oam_dma.asm" INCLUDE "engine/link/print_waiting_text.asm" @@ -49,14 +45,14 @@ INCLUDE "engine/events/display_pokedex.asm" SECTION "bank3", ROMX INCLUDE "engine/joypad.asm" -INCLUDE "data/map_songs.asm" -INCLUDE "data/map_header_banks.asm" +INCLUDE "data/maps/songs.asm" +INCLUDE "data/maps/map_header_banks.asm" INCLUDE "engine/overworld/clear_variables.asm" INCLUDE "engine/overworld/player_state.asm" INCLUDE "engine/events/poison.asm" INCLUDE "engine/overworld/tilesets.asm" INCLUDE "engine/overworld/daycare_exp.asm" -INCLUDE "data/hide_show_data.asm" +INCLUDE "data/maps/hide_show_data.asm" INCLUDE "engine/overworld/field_move_messages.asm" INCLUDE "engine/items/inventory.asm" INCLUDE "engine/overworld/wild_mons.asm" @@ -74,33 +70,17 @@ INCLUDE "engine/movie/oak_speech/init_player_data.asm" INCLUDE "engine/items/get_bag_item_quantity.asm" INCLUDE "engine/overworld/pathfinding.asm" INCLUDE "engine/gfx/hp_bar.asm" -INCLUDE "engine/events/hidden_object_functions3.asm" +INCLUDE "engine/events/hidden_objects/bookshelves.asm" +INCLUDE "engine/events/hidden_objects/indigo_plateau_statues.asm" +INCLUDE "engine/events/hidden_objects/book_or_sculpture.asm" +INCLUDE "engine/events/hidden_objects/elevator.asm" +INCLUDE "engine/events/hidden_objects/town_map.asm" +INCLUDE "engine/events/hidden_objects/pokemon_stuff.asm" SECTION "Graphics (BANK 4)", ROMX -PokemonLogoGraphics: INCBIN "gfx/title/pokemon_logo.2bpp" -FontGraphics:: INCBIN "gfx/font/font.1bpp" -FontGraphicsEnd:: -ABTiles: INCBIN "gfx/font/AB.2bpp" -HpBarAndStatusGraphics:: INCBIN "gfx/font/font_battle_extra.2bpp" -HpBarAndStatusGraphicsEnd:: -BattleHudTiles1: INCBIN "gfx/battle/battle_hud_1.1bpp" -BattleHudTiles1End: -BattleHudTiles2: INCBIN "gfx/battle/battle_hud_2.1bpp" -BattleHudTiles3: INCBIN "gfx/battle/battle_hud_3.1bpp" -BattleHudTiles3End: -NintendoCopyrightLogoGraphics: INCBIN "gfx/intro_credits/copyright.2bpp" -GamefreakLogoGraphics: INCBIN "gfx/title/gamefreak_inc.2bpp" -GamefreakLogoGraphicsEnd: -TextBoxGraphics:: INCBIN "gfx/font/font_extra.2bpp" -TextBoxGraphicsEnd:: -PokedexTileGraphics: INCBIN "gfx/pokedex/pokedex.2bpp" -PokedexTileGraphicsEnd: -WorldMapTileGraphics: INCBIN "gfx/town_map/town_map.2bpp" -WorldMapTileGraphicsEnd: -PlayerCharacterTitleGraphics: INCBIN "gfx/title/player.2bpp" -PlayerCharacterTitleGraphicsEnd: +INCLUDE "gfx/font.asm" SECTION "Battle (BANK 4)", ROMX @@ -108,11 +88,7 @@ SECTION "Battle (BANK 4)", ROMX INCLUDE "engine/overworld/is_player_just_outside_map.asm" INCLUDE "engine/pokemon/status_screen.asm" INCLUDE "engine/menus/party_menu.asm" - -RedPicFront:: INCBIN "gfx/player/red.pic" -ShrinkPic1:: INCBIN "gfx/player/shrink1.pic" -ShrinkPic2:: INCBIN "gfx/player/shrink2.pic" - +INCLUDE "gfx/player.asm" INCLUDE "engine/overworld/turn_sprite.asm" INCLUDE "engine/menus/start_sub_menus.asm" INCLUDE "engine/items/tms.asm" @@ -149,7 +125,7 @@ INCLUDE "engine/overworld/ledges.asm" SECTION "bank7_1", ROMX -INCLUDE "text/monster_names.asm" +INCLUDE "data/pokemon/names.asm" INCLUDE "engine/movie/oak_speech/clear_save.asm" INCLUDE "engine/events/elevator.asm" @@ -157,7 +133,13 @@ INCLUDE "engine/events/elevator.asm" SECTION "bank7_2", ROMX INCLUDE "engine/menus/oaks_pc.asm" -INCLUDE "engine/events/hidden_object_functions7.asm" +INCLUDE "engine/events/hidden_objects/new_bike.asm" +INCLUDE "engine/events/hidden_objects/oaks_lab_posters.asm" +INCLUDE "engine/events/hidden_objects/safari_game.asm" +INCLUDE "engine/events/hidden_objects/cinnabar_gym_quiz.asm" +INCLUDE "engine/events/hidden_objects/magazines.asm" +INCLUDE "engine/events/hidden_objects/bills_house_pc.asm" +INCLUDE "engine/events/hidden_objects/oaks_lab_email.asm" SECTION "Bill's PC", ROMX @@ -180,13 +162,7 @@ INCLUDE "engine/battle/move_effects/leech_seed.asm" SECTION "Battle (BANK B)", ROMX INCLUDE "engine/battle/display_effectiveness.asm" - -TrainerInfoTextBoxTileGraphics: INCBIN "gfx/trainer_card/trainer_info.2bpp" -TrainerInfoTextBoxTileGraphicsEnd: -BlankLeaderNames: INCBIN "gfx/trainer_card/blank_leader_names.2bpp" -CircleTile: INCBIN "gfx/trainer_card/circle_tile.2bpp" -BadgeNumbersTileGraphics: INCBIN "gfx/trainer_card/badge_numbers.2bpp" - +INCLUDE "gfx/trainer_card.asm" INCLUDE "engine/items/tmhm.asm" INCLUDE "engine/battle/scale_sprites.asm" INCLUDE "engine/battle/move_effects/pay_day.asm" @@ -201,7 +177,7 @@ INCLUDE "engine/battle/move_effects/one_hit_ko.asm" SECTION "Battle (BANK D)", ROMX -INCLUDE "engine/movie/titlescreen2.asm" +INCLUDE "engine/movie/title2.asm" INCLUDE "engine/battle/link_battle_versus_text.asm" INCLUDE "engine/slots/slot_machine.asm" INCLUDE "engine/events/pewter_guys.asm" @@ -211,23 +187,14 @@ INCLUDE "engine/slots/game_corner_slots.asm" SECTION "bankE", ROMX -INCLUDE "data/moves.asm" -INCLUDE "data/base_stats.asm" -INCLUDE "data/cries.asm" +INCLUDE "data/moves/moves.asm" +INCLUDE "data/pokemon/base_stats.asm" +INCLUDE "data/pokemon/cries.asm" INCLUDE "engine/battle/unused_stats_functions.asm" INCLUDE "engine/battle/scroll_draw_trainer_pic.asm" INCLUDE "engine/battle/trainer_ai.asm" INCLUDE "engine/battle/draw_hud_pokeball_gfx.asm" - -TradingAnimationGraphics: -INCBIN "gfx/trade/game_boy.2bpp" -INCBIN "gfx/trade/link_cable.2bpp" -TradingAnimationGraphicsEnd: - -; Pokeball traveling through the link cable. -TradingAnimationGraphics2: INCBIN "gfx/trade/cable_ball.2bpp" -TradingAnimationGraphics2End: - +INCLUDE "gfx/trade.asm" INCLUDE "engine/pokemon/evos_moves.asm" INCLUDE "engine/battle/move_effects/heal.asm" INCLUDE "engine/battle/move_effects/transform.asm" @@ -275,7 +242,9 @@ INCLUDE "engine/battle/init_battle_variables.asm" INCLUDE "engine/battle/move_effects/paralyze.asm" INCLUDE "engine/events/card_key.asm" INCLUDE "engine/events/prize_menu.asm" -INCLUDE "engine/events/hidden_object_functions14.asm" +INCLUDE "engine/events/hidden_objects/school_notebooks.asm" +INCLUDE "engine/events/hidden_objects/fighting_dojo.asm" +INCLUDE "engine/events/hidden_objects/indigo_plateau_hq.asm" SECTION "bank15_1", ROMX @@ -309,7 +278,11 @@ INCLUDE "engine/events/starter_dex.asm" SECTION "bank17_2", ROMX INCLUDE "engine/pokemon/set_types.asm" -INCLUDE "engine/events/hidden_object_functions17.asm" +INCLUDE "engine/events/hidden_objects/reds_room.asm" +INCLUDE "engine/events/hidden_objects/route_15_binoculars.asm" +INCLUDE "engine/events/hidden_objects/museum_fossils.asm" +INCLUDE "engine/events/hidden_objects/school_blackboard.asm" +INCLUDE "engine/events/hidden_objects/vermilion_gym_trash.asm" SECTION "bank18_1", ROMX @@ -319,21 +292,16 @@ INCLUDE "engine/events/cinnabar_lab.asm" SECTION "bank18_2", ROMX -INCLUDE "engine/events/hidden_object_functions18.asm" +INCLUDE "engine/events/hidden_objects/gym_statues.asm" +INCLUDE "engine/events/hidden_objects/bench_guys.asm" +INCLUDE "engine/events/hidden_objects/blues_room.asm" +INCLUDE "engine/events/hidden_objects/pokecenter_pc.asm" SECTION "bank1A", ROMX INCLUDE "engine/battle/decrement_pp.asm" - -Version_GFX: -IF DEF(_RED) - INCBIN "gfx/title/red_version.1bpp" ; 10 tiles -ENDC -IF DEF(_BLUE) - INCBIN "gfx/title/blue_version.1bpp" ; 8 tiles -ENDC -Version_GFXEnd: +INCLUDE "gfx/version.asm" SECTION "bank1C", ROMX @@ -374,13 +342,8 @@ SECTION "bank1E", ROMX INCLUDE "engine/battle/animations.asm" INCLUDE "engine/overworld/cut2.asm" INCLUDE "engine/overworld/dust_smoke.asm" - -RedFishingTilesFront: INCBIN "gfx/overworld/red_fish_front.2bpp" -RedFishingTilesBack: INCBIN "gfx/overworld/red_fish_back.2bpp" -RedFishingTilesSide: INCBIN "gfx/overworld/red_fish_side.2bpp" -RedFishingRodTiles: INCBIN "gfx/overworld/fishing_rod.2bpp" - -INCLUDE "data/animations.asm" +INCLUDE "gfx/fishing.asm" +INCLUDE "data/moves/animations.asm" INCLUDE "engine/movie/evolution.asm" INCLUDE "engine/overworld/elevator.asm" INCLUDE "engine/items/tm_prices.asm" diff --git a/maps.asm b/maps.asm index 8b3cbea4..4f00f451 100644 --- a/maps.asm +++ b/maps.asm @@ -3,33 +3,33 @@ INCLUDE "constants.asm" SECTION "Maps 1", ROMX -INCLUDE "data/mapHeaders/CeladonCity.asm" -INCLUDE "data/mapObjects/CeladonCity.asm" +INCLUDE "data/maps/headers/CeladonCity.asm" +INCLUDE "data/maps/objects/CeladonCity.asm" CeladonCity_Blocks: INCBIN "maps/CeladonCity.blk" -INCLUDE "data/mapHeaders/PalletTown.asm" -INCLUDE "data/mapObjects/PalletTown.asm" +INCLUDE "data/maps/headers/PalletTown.asm" +INCLUDE "data/maps/objects/PalletTown.asm" PalletTown_Blocks: INCBIN "maps/PalletTown.blk" -INCLUDE "data/mapHeaders/ViridianCity.asm" -INCLUDE "data/mapObjects/ViridianCity.asm" +INCLUDE "data/maps/headers/ViridianCity.asm" +INCLUDE "data/maps/objects/ViridianCity.asm" ViridianCity_Blocks: INCBIN "maps/ViridianCity.blk" -INCLUDE "data/mapHeaders/PewterCity.asm" +INCLUDE "data/maps/headers/PewterCity.asm" ds 1 -INCLUDE "data/mapObjects/PewterCity.asm" +INCLUDE "data/maps/objects/PewterCity.asm" PewterCity_Blocks: INCBIN "maps/PewterCity.blk" -INCLUDE "data/mapHeaders/CeruleanCity.asm" -INCLUDE "data/mapObjects/CeruleanCity.asm" +INCLUDE "data/maps/headers/CeruleanCity.asm" +INCLUDE "data/maps/objects/CeruleanCity.asm" CeruleanCity_Blocks: INCBIN "maps/CeruleanCity.blk" -INCLUDE "data/mapHeaders/VermilionCity.asm" -INCLUDE "data/mapObjects/VermilionCity.asm" +INCLUDE "data/maps/headers/VermilionCity.asm" +INCLUDE "data/maps/objects/VermilionCity.asm" VermilionCity_Blocks: INCBIN "maps/VermilionCity.blk" -INCLUDE "data/mapHeaders/FuchsiaCity.asm" -INCLUDE "data/mapObjects/FuchsiaCity.asm" +INCLUDE "data/maps/headers/FuchsiaCity.asm" +INCLUDE "data/maps/objects/FuchsiaCity.asm" FuchsiaCity_Blocks: INCBIN "maps/FuchsiaCity.blk" @@ -43,45 +43,45 @@ INCLUDE "scripts/VermilionCity.asm" INCLUDE "scripts/CeladonCity.asm" INCLUDE "scripts/FuchsiaCity.asm" -INCLUDE "data/mapHeaders/BluesHouse.asm" +INCLUDE "data/maps/headers/BluesHouse.asm" INCLUDE "scripts/BluesHouse.asm" -INCLUDE "data/mapObjects/BluesHouse.asm" +INCLUDE "data/maps/objects/BluesHouse.asm" BluesHouse_Blocks: INCBIN "maps/BluesHouse.blk" -INCLUDE "data/mapHeaders/VermilionTradeHouse.asm" +INCLUDE "data/maps/headers/VermilionTradeHouse.asm" INCLUDE "scripts/VermilionTradeHouse.asm" -INCLUDE "data/mapObjects/VermilionTradeHouse.asm" +INCLUDE "data/maps/objects/VermilionTradeHouse.asm" VermilionTradeHouse_Blocks: INCBIN "maps/VermilionTradeHouse.blk" -INCLUDE "data/mapHeaders/IndigoPlateauLobby.asm" +INCLUDE "data/maps/headers/IndigoPlateauLobby.asm" INCLUDE "scripts/IndigoPlateauLobby.asm" -INCLUDE "data/mapObjects/IndigoPlateauLobby.asm" +INCLUDE "data/maps/objects/IndigoPlateauLobby.asm" IndigoPlateauLobby_Blocks: INCBIN "maps/IndigoPlateauLobby.blk" -INCLUDE "data/mapHeaders/SilphCo4F.asm" +INCLUDE "data/maps/headers/SilphCo4F.asm" INCLUDE "scripts/SilphCo4F.asm" -INCLUDE "data/mapObjects/SilphCo4F.asm" +INCLUDE "data/maps/objects/SilphCo4F.asm" SilphCo4F_Blocks: INCBIN "maps/SilphCo4F.blk" -INCLUDE "data/mapHeaders/SilphCo5F.asm" +INCLUDE "data/maps/headers/SilphCo5F.asm" INCLUDE "scripts/SilphCo5F.asm" -INCLUDE "data/mapObjects/SilphCo5F.asm" +INCLUDE "data/maps/objects/SilphCo5F.asm" SilphCo5F_Blocks: INCBIN "maps/SilphCo5F.blk" -INCLUDE "data/mapHeaders/SilphCo6F.asm" +INCLUDE "data/maps/headers/SilphCo6F.asm" INCLUDE "scripts/SilphCo6F.asm" -INCLUDE "data/mapObjects/SilphCo6F.asm" +INCLUDE "data/maps/objects/SilphCo6F.asm" SilphCo6F_Blocks: INCBIN "maps/SilphCo6F.blk" SECTION "Maps 3", ROMX -INCLUDE "data/mapHeaders/CinnabarIsland.asm" -INCLUDE "data/mapObjects/CinnabarIsland.asm" +INCLUDE "data/maps/headers/CinnabarIsland.asm" +INCLUDE "data/maps/objects/CinnabarIsland.asm" CinnabarIsland_Blocks: INCBIN "maps/CinnabarIsland.blk" -INCLUDE "data/mapHeaders/Route1.asm" -INCLUDE "data/mapObjects/Route1.asm" +INCLUDE "data/maps/headers/Route1.asm" +INCLUDE "data/maps/objects/Route1.asm" Route1_Blocks: INCBIN "maps/Route1.blk" UndergroundPathRoute8_Blocks: INCBIN "maps/UndergroundPathRoute8.blk" @@ -116,143 +116,143 @@ INCLUDE "scripts/CinnabarIsland.asm" INCLUDE "scripts/Route1.asm" -INCLUDE "data/mapHeaders/OaksLab.asm" +INCLUDE "data/maps/headers/OaksLab.asm" INCLUDE "scripts/OaksLab.asm" -INCLUDE "data/mapObjects/OaksLab.asm" +INCLUDE "data/maps/objects/OaksLab.asm" -INCLUDE "data/mapHeaders/ViridianMart.asm" +INCLUDE "data/maps/headers/ViridianMart.asm" INCLUDE "scripts/ViridianMart.asm" -INCLUDE "data/mapObjects/ViridianMart.asm" +INCLUDE "data/maps/objects/ViridianMart.asm" ViridianMart_Blocks: INCBIN "maps/ViridianMart.blk" -INCLUDE "data/mapHeaders/ViridianSchoolHouse.asm" +INCLUDE "data/maps/headers/ViridianSchoolHouse.asm" INCLUDE "scripts/ViridianSchoolHouse.asm" -INCLUDE "data/mapObjects/ViridianSchoolHouse.asm" +INCLUDE "data/maps/objects/ViridianSchoolHouse.asm" -INCLUDE "data/mapHeaders/ViridianNicknameHouse.asm" +INCLUDE "data/maps/headers/ViridianNicknameHouse.asm" ds 1 INCLUDE "scripts/ViridianNicknameHouse.asm" -INCLUDE "data/mapObjects/ViridianNicknameHouse.asm" +INCLUDE "data/maps/objects/ViridianNicknameHouse.asm" -INCLUDE "data/mapHeaders/PewterNidoranHouse.asm" +INCLUDE "data/maps/headers/PewterNidoranHouse.asm" INCLUDE "scripts/PewterNidoranHouse.asm" -INCLUDE "data/mapObjects/PewterNidoranHouse.asm" +INCLUDE "data/maps/objects/PewterNidoranHouse.asm" -INCLUDE "data/mapHeaders/PewterSpeechHouse.asm" +INCLUDE "data/maps/headers/PewterSpeechHouse.asm" INCLUDE "scripts/PewterSpeechHouse.asm" -INCLUDE "data/mapObjects/PewterSpeechHouse.asm" +INCLUDE "data/maps/objects/PewterSpeechHouse.asm" -INCLUDE "data/mapHeaders/CeruleanTrashedHouse.asm" +INCLUDE "data/maps/headers/CeruleanTrashedHouse.asm" INCLUDE "scripts/CeruleanTrashedHouse.asm" -INCLUDE "data/mapObjects/CeruleanTrashedHouse.asm" +INCLUDE "data/maps/objects/CeruleanTrashedHouse.asm" -INCLUDE "data/mapHeaders/CeruleanTradeHouse.asm" +INCLUDE "data/maps/headers/CeruleanTradeHouse.asm" INCLUDE "scripts/CeruleanTradeHouse.asm" -INCLUDE "data/mapObjects/CeruleanTradeHouse.asm" +INCLUDE "data/maps/objects/CeruleanTradeHouse.asm" -INCLUDE "data/mapHeaders/BikeShop.asm" +INCLUDE "data/maps/headers/BikeShop.asm" INCLUDE "scripts/BikeShop.asm" -INCLUDE "data/mapObjects/BikeShop.asm" +INCLUDE "data/maps/objects/BikeShop.asm" BikeShop_Blocks: INCBIN "maps/BikeShop.blk" -INCLUDE "data/mapHeaders/MrFujisHouse.asm" +INCLUDE "data/maps/headers/MrFujisHouse.asm" INCLUDE "scripts/MrFujisHouse.asm" -INCLUDE "data/mapObjects/MrFujisHouse.asm" +INCLUDE "data/maps/objects/MrFujisHouse.asm" -INCLUDE "data/mapHeaders/LavenderCuboneHouse.asm" +INCLUDE "data/maps/headers/LavenderCuboneHouse.asm" INCLUDE "scripts/LavenderCuboneHouse.asm" -INCLUDE "data/mapObjects/LavenderCuboneHouse.asm" +INCLUDE "data/maps/objects/LavenderCuboneHouse.asm" -INCLUDE "data/mapHeaders/NameRatersHouse.asm" +INCLUDE "data/maps/headers/NameRatersHouse.asm" INCLUDE "scripts/NameRatersHouse.asm" -INCLUDE "data/mapObjects/NameRatersHouse.asm" +INCLUDE "data/maps/objects/NameRatersHouse.asm" -INCLUDE "data/mapHeaders/VermilionPidgeyHouse.asm" +INCLUDE "data/maps/headers/VermilionPidgeyHouse.asm" INCLUDE "scripts/VermilionPidgeyHouse.asm" -INCLUDE "data/mapObjects/VermilionPidgeyHouse.asm" +INCLUDE "data/maps/objects/VermilionPidgeyHouse.asm" -INCLUDE "data/mapHeaders/VermilionDock.asm" +INCLUDE "data/maps/headers/VermilionDock.asm" INCLUDE "scripts/VermilionDock.asm" -INCLUDE "data/mapObjects/VermilionDock.asm" +INCLUDE "data/maps/objects/VermilionDock.asm" VermilionDock_Blocks: INCBIN "maps/VermilionDock.blk" -INCLUDE "data/mapHeaders/CeladonMansionRoofHouse.asm" +INCLUDE "data/maps/headers/CeladonMansionRoofHouse.asm" INCLUDE "scripts/CeladonMansionRoofHouse.asm" -INCLUDE "data/mapObjects/CeladonMansionRoofHouse.asm" +INCLUDE "data/maps/objects/CeladonMansionRoofHouse.asm" -INCLUDE "data/mapHeaders/FuchsiaMart.asm" +INCLUDE "data/maps/headers/FuchsiaMart.asm" INCLUDE "scripts/FuchsiaMart.asm" -INCLUDE "data/mapObjects/FuchsiaMart.asm" +INCLUDE "data/maps/objects/FuchsiaMart.asm" FuchsiaMart_Blocks: INCBIN "maps/FuchsiaMart.blk" -INCLUDE "data/mapHeaders/SaffronPidgeyHouse.asm" +INCLUDE "data/maps/headers/SaffronPidgeyHouse.asm" INCLUDE "scripts/SaffronPidgeyHouse.asm" -INCLUDE "data/mapObjects/SaffronPidgeyHouse.asm" +INCLUDE "data/maps/objects/SaffronPidgeyHouse.asm" -INCLUDE "data/mapHeaders/MrPsychicsHouse.asm" +INCLUDE "data/maps/headers/MrPsychicsHouse.asm" INCLUDE "scripts/MrPsychicsHouse.asm" -INCLUDE "data/mapObjects/MrPsychicsHouse.asm" +INCLUDE "data/maps/objects/MrPsychicsHouse.asm" -INCLUDE "data/mapHeaders/DiglettsCaveRoute2.asm" +INCLUDE "data/maps/headers/DiglettsCaveRoute2.asm" INCLUDE "scripts/DiglettsCaveRoute2.asm" -INCLUDE "data/mapObjects/DiglettsCaveRoute2.asm" +INCLUDE "data/maps/objects/DiglettsCaveRoute2.asm" -INCLUDE "data/mapHeaders/Route2TradeHouse.asm" +INCLUDE "data/maps/headers/Route2TradeHouse.asm" INCLUDE "scripts/Route2TradeHouse.asm" -INCLUDE "data/mapObjects/Route2TradeHouse.asm" +INCLUDE "data/maps/objects/Route2TradeHouse.asm" -INCLUDE "data/mapHeaders/Route5Gate.asm" +INCLUDE "data/maps/headers/Route5Gate.asm" INCLUDE "scripts/Route5Gate.asm" -INCLUDE "data/mapObjects/Route5Gate.asm" +INCLUDE "data/maps/objects/Route5Gate.asm" Route5Gate_Blocks: INCBIN "maps/Route5Gate.blk" -INCLUDE "data/mapHeaders/Route6Gate.asm" +INCLUDE "data/maps/headers/Route6Gate.asm" INCLUDE "scripts/Route6Gate.asm" -INCLUDE "data/mapObjects/Route6Gate.asm" +INCLUDE "data/maps/objects/Route6Gate.asm" Route6Gate_Blocks: INCBIN "maps/Route6Gate.blk" -INCLUDE "data/mapHeaders/Route7Gate.asm" +INCLUDE "data/maps/headers/Route7Gate.asm" INCLUDE "scripts/Route7Gate.asm" -INCLUDE "data/mapObjects/Route7Gate.asm" +INCLUDE "data/maps/objects/Route7Gate.asm" Route7Gate_Blocks: INCBIN "maps/Route7Gate.blk" -INCLUDE "data/mapHeaders/Route8Gate.asm" +INCLUDE "data/maps/headers/Route8Gate.asm" INCLUDE "scripts/Route8Gate.asm" -INCLUDE "data/mapObjects/Route8Gate.asm" +INCLUDE "data/maps/objects/Route8Gate.asm" Route8Gate_Blocks: INCBIN "maps/Route8Gate.blk" -INCLUDE "data/mapHeaders/UndergroundPathRoute8.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute8.asm" INCLUDE "scripts/UndergroundPathRoute8.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute8.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute8.asm" -INCLUDE "data/mapHeaders/PowerPlant.asm" +INCLUDE "data/maps/headers/PowerPlant.asm" INCLUDE "scripts/PowerPlant.asm" -INCLUDE "data/mapObjects/PowerPlant.asm" +INCLUDE "data/maps/objects/PowerPlant.asm" PowerPlant_Blocks: INCBIN "maps/PowerPlant.blk" -INCLUDE "data/mapHeaders/DiglettsCaveRoute11.asm" +INCLUDE "data/maps/headers/DiglettsCaveRoute11.asm" INCLUDE "scripts/DiglettsCaveRoute11.asm" -INCLUDE "data/mapObjects/DiglettsCaveRoute11.asm" +INCLUDE "data/maps/objects/DiglettsCaveRoute11.asm" -INCLUDE "data/mapHeaders/Route16FlyHouse.asm" +INCLUDE "data/maps/headers/Route16FlyHouse.asm" INCLUDE "scripts/Route16FlyHouse.asm" -INCLUDE "data/mapObjects/Route16FlyHouse.asm" +INCLUDE "data/maps/objects/Route16FlyHouse.asm" -INCLUDE "data/mapHeaders/Route22Gate.asm" +INCLUDE "data/maps/headers/Route22Gate.asm" INCLUDE "scripts/Route22Gate.asm" -INCLUDE "data/mapObjects/Route22Gate.asm" +INCLUDE "data/maps/objects/Route22Gate.asm" Route22Gate_Blocks: INCBIN "maps/Route22Gate.blk" -INCLUDE "data/mapHeaders/BillsHouse.asm" +INCLUDE "data/maps/headers/BillsHouse.asm" INCLUDE "scripts/BillsHouse.asm" -INCLUDE "data/mapObjects/BillsHouse.asm" +INCLUDE "data/maps/objects/BillsHouse.asm" BillsHouse_Blocks: INCBIN "maps/BillsHouse.blk" SECTION "Maps 5", ROMX -INCLUDE "data/mapHeaders/LavenderTown.asm" -INCLUDE "data/mapObjects/LavenderTown.asm" +INCLUDE "data/maps/headers/LavenderTown.asm" +INCLUDE "data/maps/objects/LavenderTown.asm" LavenderTown_Blocks: INCBIN "maps/LavenderTown.blk" ViridianPokecenter_Blocks: INCBIN "maps/ViridianPokecenter.blk" @@ -267,136 +267,136 @@ INCLUDE "scripts/LavenderTown.asm" SECTION "Maps 6", ROMX -INCLUDE "data/mapHeaders/ViridianPokecenter.asm" +INCLUDE "data/maps/headers/ViridianPokecenter.asm" INCLUDE "scripts/ViridianPokecenter.asm" -INCLUDE "data/mapObjects/ViridianPokecenter.asm" +INCLUDE "data/maps/objects/ViridianPokecenter.asm" -INCLUDE "data/mapHeaders/PokemonMansion1F.asm" +INCLUDE "data/maps/headers/PokemonMansion1F.asm" INCLUDE "scripts/PokemonMansion1F.asm" -INCLUDE "data/mapObjects/PokemonMansion1F.asm" +INCLUDE "data/maps/objects/PokemonMansion1F.asm" PokemonMansion1F_Blocks: INCBIN "maps/PokemonMansion1F.blk" -INCLUDE "data/mapHeaders/RockTunnel1F.asm" +INCLUDE "data/maps/headers/RockTunnel1F.asm" INCLUDE "scripts/RockTunnel1F.asm" -INCLUDE "data/mapObjects/RockTunnel1F.asm" +INCLUDE "data/maps/objects/RockTunnel1F.asm" RockTunnel1F_Blocks: INCBIN "maps/RockTunnel1F.blk" -INCLUDE "data/mapHeaders/SeafoamIslands1F.asm" +INCLUDE "data/maps/headers/SeafoamIslands1F.asm" INCLUDE "scripts/SeafoamIslands1F.asm" -INCLUDE "data/mapObjects/SeafoamIslands1F.asm" +INCLUDE "data/maps/objects/SeafoamIslands1F.asm" SeafoamIslands1F_Blocks: INCBIN "maps/SeafoamIslands1F.blk" -INCLUDE "data/mapHeaders/SSAnne3F.asm" +INCLUDE "data/maps/headers/SSAnne3F.asm" INCLUDE "scripts/SSAnne3F.asm" -INCLUDE "data/mapObjects/SSAnne3F.asm" +INCLUDE "data/maps/objects/SSAnne3F.asm" SSAnne3F_Blocks: INCBIN "maps/SSAnne3F.blk" -INCLUDE "data/mapHeaders/VictoryRoad3F.asm" +INCLUDE "data/maps/headers/VictoryRoad3F.asm" INCLUDE "scripts/VictoryRoad3F.asm" -INCLUDE "data/mapObjects/VictoryRoad3F.asm" +INCLUDE "data/maps/objects/VictoryRoad3F.asm" VictoryRoad3F_Blocks: INCBIN "maps/VictoryRoad3F.blk" -INCLUDE "data/mapHeaders/RocketHideoutB1F.asm" +INCLUDE "data/maps/headers/RocketHideoutB1F.asm" INCLUDE "scripts/RocketHideoutB1F.asm" -INCLUDE "data/mapObjects/RocketHideoutB1F.asm" +INCLUDE "data/maps/objects/RocketHideoutB1F.asm" RocketHideoutB1F_Blocks: INCBIN "maps/RocketHideoutB1F.blk" -INCLUDE "data/mapHeaders/RocketHideoutB2F.asm" +INCLUDE "data/maps/headers/RocketHideoutB2F.asm" INCLUDE "scripts/RocketHideoutB2F.asm" -INCLUDE "data/mapObjects/RocketHideoutB2F.asm" +INCLUDE "data/maps/objects/RocketHideoutB2F.asm" RocketHideoutB2F_Blocks: INCBIN "maps/RocketHideoutB2F.blk" -INCLUDE "data/mapHeaders/RocketHideoutB3F.asm" +INCLUDE "data/maps/headers/RocketHideoutB3F.asm" INCLUDE "scripts/RocketHideoutB3F.asm" -INCLUDE "data/mapObjects/RocketHideoutB3F.asm" +INCLUDE "data/maps/objects/RocketHideoutB3F.asm" RocketHideoutB3F_Blocks: INCBIN "maps/RocketHideoutB3F.blk" -INCLUDE "data/mapHeaders/RocketHideoutB4F.asm" +INCLUDE "data/maps/headers/RocketHideoutB4F.asm" INCLUDE "scripts/RocketHideoutB4F.asm" -INCLUDE "data/mapObjects/RocketHideoutB4F.asm" +INCLUDE "data/maps/objects/RocketHideoutB4F.asm" RocketHideoutB4F_Blocks: INCBIN "maps/RocketHideoutB4F.blk" -INCLUDE "data/mapHeaders/RocketHideoutElevator.asm" +INCLUDE "data/maps/headers/RocketHideoutElevator.asm" INCLUDE "scripts/RocketHideoutElevator.asm" -INCLUDE "data/mapObjects/RocketHideoutElevator.asm" +INCLUDE "data/maps/objects/RocketHideoutElevator.asm" RocketHideoutElevator_Blocks: INCBIN "maps/RocketHideoutElevator.blk" -INCLUDE "data/mapHeaders/SilphCoElevator.asm" +INCLUDE "data/maps/headers/SilphCoElevator.asm" INCLUDE "scripts/SilphCoElevator.asm" -INCLUDE "data/mapObjects/SilphCoElevator.asm" +INCLUDE "data/maps/objects/SilphCoElevator.asm" SilphCoElevator_Blocks: INCBIN "maps/SilphCoElevator.blk" -INCLUDE "data/mapHeaders/SafariZoneEast.asm" +INCLUDE "data/maps/headers/SafariZoneEast.asm" INCLUDE "scripts/SafariZoneEast.asm" -INCLUDE "data/mapObjects/SafariZoneEast.asm" +INCLUDE "data/maps/objects/SafariZoneEast.asm" SafariZoneEast_Blocks: INCBIN "maps/SafariZoneEast.blk" -INCLUDE "data/mapHeaders/SafariZoneNorth.asm" +INCLUDE "data/maps/headers/SafariZoneNorth.asm" INCLUDE "scripts/SafariZoneNorth.asm" -INCLUDE "data/mapObjects/SafariZoneNorth.asm" +INCLUDE "data/maps/objects/SafariZoneNorth.asm" SafariZoneNorth_Blocks: INCBIN "maps/SafariZoneNorth.blk" -INCLUDE "data/mapHeaders/SafariZoneCenter.asm" +INCLUDE "data/maps/headers/SafariZoneCenter.asm" INCLUDE "scripts/SafariZoneCenter.asm" -INCLUDE "data/mapObjects/SafariZoneCenter.asm" +INCLUDE "data/maps/objects/SafariZoneCenter.asm" SafariZoneCenter_Blocks: INCBIN "maps/SafariZoneCenter.blk" -INCLUDE "data/mapHeaders/SafariZoneCenterRestHouse.asm" +INCLUDE "data/maps/headers/SafariZoneCenterRestHouse.asm" INCLUDE "scripts/SafariZoneCenterRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneCenterRestHouse.asm" +INCLUDE "data/maps/objects/SafariZoneCenterRestHouse.asm" -INCLUDE "data/mapHeaders/SafariZoneWestRestHouse.asm" +INCLUDE "data/maps/headers/SafariZoneWestRestHouse.asm" INCLUDE "scripts/SafariZoneWestRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneWestRestHouse.asm" +INCLUDE "data/maps/objects/SafariZoneWestRestHouse.asm" -INCLUDE "data/mapHeaders/SafariZoneEastRestHouse.asm" +INCLUDE "data/maps/headers/SafariZoneEastRestHouse.asm" INCLUDE "scripts/SafariZoneEastRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneEastRestHouse.asm" +INCLUDE "data/maps/objects/SafariZoneEastRestHouse.asm" -INCLUDE "data/mapHeaders/SafariZoneNorthRestHouse.asm" +INCLUDE "data/maps/headers/SafariZoneNorthRestHouse.asm" INCLUDE "scripts/SafariZoneNorthRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneNorthRestHouse.asm" +INCLUDE "data/maps/objects/SafariZoneNorthRestHouse.asm" -INCLUDE "data/mapHeaders/CeruleanCave2F.asm" +INCLUDE "data/maps/headers/CeruleanCave2F.asm" INCLUDE "scripts/CeruleanCave2F.asm" -INCLUDE "data/mapObjects/CeruleanCave2F.asm" +INCLUDE "data/maps/objects/CeruleanCave2F.asm" CeruleanCave2F_Blocks: INCBIN "maps/CeruleanCave2F.blk" -INCLUDE "data/mapHeaders/CeruleanCaveB1F.asm" +INCLUDE "data/maps/headers/CeruleanCaveB1F.asm" INCLUDE "scripts/CeruleanCaveB1F.asm" -INCLUDE "data/mapObjects/CeruleanCaveB1F.asm" +INCLUDE "data/maps/objects/CeruleanCaveB1F.asm" CeruleanCaveB1F_Blocks: INCBIN "maps/CeruleanCaveB1F.blk" -INCLUDE "data/mapHeaders/RockTunnelB1F.asm" +INCLUDE "data/maps/headers/RockTunnelB1F.asm" INCLUDE "scripts/RockTunnelB1F.asm" -INCLUDE "data/mapObjects/RockTunnelB1F.asm" +INCLUDE "data/maps/objects/RockTunnelB1F.asm" RockTunnelB1F_Blocks: INCBIN "maps/RockTunnelB1F.blk" -INCLUDE "data/mapHeaders/SeafoamIslandsB1F.asm" +INCLUDE "data/maps/headers/SeafoamIslandsB1F.asm" INCLUDE "scripts/SeafoamIslandsB1F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB1F.asm" +INCLUDE "data/maps/objects/SeafoamIslandsB1F.asm" SeafoamIslandsB1F_Blocks: INCBIN "maps/SeafoamIslandsB1F.blk" -INCLUDE "data/mapHeaders/SeafoamIslandsB2F.asm" +INCLUDE "data/maps/headers/SeafoamIslandsB2F.asm" INCLUDE "scripts/SeafoamIslandsB2F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB2F.asm" +INCLUDE "data/maps/objects/SeafoamIslandsB2F.asm" SeafoamIslandsB2F_Blocks: INCBIN "maps/SeafoamIslandsB2F.blk" -INCLUDE "data/mapHeaders/SeafoamIslandsB3F.asm" +INCLUDE "data/maps/headers/SeafoamIslandsB3F.asm" INCLUDE "scripts/SeafoamIslandsB3F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB3F.asm" +INCLUDE "data/maps/objects/SeafoamIslandsB3F.asm" SeafoamIslandsB3F_Blocks: INCBIN "maps/SeafoamIslandsB3F.blk" -INCLUDE "data/mapHeaders/SeafoamIslandsB4F.asm" +INCLUDE "data/maps/headers/SeafoamIslandsB4F.asm" INCLUDE "scripts/SeafoamIslandsB4F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB4F.asm" +INCLUDE "data/maps/objects/SeafoamIslandsB4F.asm" SeafoamIslandsB4F_Blocks: INCBIN "maps/SeafoamIslandsB4F.blk" SECTION "Maps 7", ROMX -INCLUDE "data/mapHeaders/Route7.asm" -INCLUDE "data/mapObjects/Route7.asm" +INCLUDE "data/maps/headers/Route7.asm" +INCLUDE "data/maps/objects/Route7.asm" Route7_Blocks: INCBIN "maps/Route7.blk" CeladonPokecenter_Blocks: @@ -418,203 +418,203 @@ SECTION "Maps 8", ROMX INCLUDE "scripts/Route7.asm" -INCLUDE "data/mapHeaders/RedsHouse1F.asm" +INCLUDE "data/maps/headers/RedsHouse1F.asm" INCLUDE "scripts/RedsHouse1F.asm" -INCLUDE "data/mapObjects/RedsHouse1F.asm" +INCLUDE "data/maps/objects/RedsHouse1F.asm" RedsHouse1F_Blocks: INCBIN "maps/RedsHouse1F.blk" -INCLUDE "data/mapHeaders/CeladonMart3F.asm" +INCLUDE "data/maps/headers/CeladonMart3F.asm" INCLUDE "scripts/CeladonMart3F.asm" -INCLUDE "data/mapObjects/CeladonMart3F.asm" +INCLUDE "data/maps/objects/CeladonMart3F.asm" CeladonMart3F_Blocks: INCBIN "maps/CeladonMart3F.blk" -INCLUDE "data/mapHeaders/CeladonMart4F.asm" +INCLUDE "data/maps/headers/CeladonMart4F.asm" INCLUDE "scripts/CeladonMart4F.asm" -INCLUDE "data/mapObjects/CeladonMart4F.asm" +INCLUDE "data/maps/objects/CeladonMart4F.asm" CeladonMart4F_Blocks: INCBIN "maps/CeladonMart4F.blk" -INCLUDE "data/mapHeaders/CeladonMartRoof.asm" +INCLUDE "data/maps/headers/CeladonMartRoof.asm" INCLUDE "scripts/CeladonMartRoof.asm" -INCLUDE "data/mapObjects/CeladonMartRoof.asm" +INCLUDE "data/maps/objects/CeladonMartRoof.asm" CeladonMartRoof_Blocks: INCBIN "maps/CeladonMartRoof.blk" -INCLUDE "data/mapHeaders/CeladonMartElevator.asm" +INCLUDE "data/maps/headers/CeladonMartElevator.asm" INCLUDE "scripts/CeladonMartElevator.asm" -INCLUDE "data/mapObjects/CeladonMartElevator.asm" +INCLUDE "data/maps/objects/CeladonMartElevator.asm" CeladonMartElevator_Blocks: INCBIN "maps/CeladonMartElevator.blk" -INCLUDE "data/mapHeaders/CeladonMansion1F.asm" +INCLUDE "data/maps/headers/CeladonMansion1F.asm" INCLUDE "scripts/CeladonMansion1F.asm" -INCLUDE "data/mapObjects/CeladonMansion1F.asm" +INCLUDE "data/maps/objects/CeladonMansion1F.asm" CeladonMansion1F_Blocks: INCBIN "maps/CeladonMansion1F.blk" -INCLUDE "data/mapHeaders/CeladonMansion2F.asm" +INCLUDE "data/maps/headers/CeladonMansion2F.asm" INCLUDE "scripts/CeladonMansion2F.asm" -INCLUDE "data/mapObjects/CeladonMansion2F.asm" +INCLUDE "data/maps/objects/CeladonMansion2F.asm" CeladonMansion2F_Blocks: INCBIN "maps/CeladonMansion2F.blk" -INCLUDE "data/mapHeaders/CeladonMansion3F.asm" +INCLUDE "data/maps/headers/CeladonMansion3F.asm" INCLUDE "scripts/CeladonMansion3F.asm" -INCLUDE "data/mapObjects/CeladonMansion3F.asm" +INCLUDE "data/maps/objects/CeladonMansion3F.asm" CeladonMansion3F_Blocks: INCBIN "maps/CeladonMansion3F.blk" -INCLUDE "data/mapHeaders/CeladonMansionRoof.asm" +INCLUDE "data/maps/headers/CeladonMansionRoof.asm" INCLUDE "scripts/CeladonMansionRoof.asm" -INCLUDE "data/mapObjects/CeladonMansionRoof.asm" +INCLUDE "data/maps/objects/CeladonMansionRoof.asm" CeladonMansionRoof_Blocks: INCBIN "maps/CeladonMansionRoof.blk" -INCLUDE "data/mapHeaders/CeladonPokecenter.asm" +INCLUDE "data/maps/headers/CeladonPokecenter.asm" INCLUDE "scripts/CeladonPokecenter.asm" -INCLUDE "data/mapObjects/CeladonPokecenter.asm" +INCLUDE "data/maps/objects/CeladonPokecenter.asm" -INCLUDE "data/mapHeaders/CeladonGym.asm" +INCLUDE "data/maps/headers/CeladonGym.asm" INCLUDE "scripts/CeladonGym.asm" -INCLUDE "data/mapObjects/CeladonGym.asm" +INCLUDE "data/maps/objects/CeladonGym.asm" CeladonGym_Blocks: INCBIN "maps/CeladonGym.blk" -INCLUDE "data/mapHeaders/GameCorner.asm" +INCLUDE "data/maps/headers/GameCorner.asm" INCLUDE "scripts/GameCorner.asm" -INCLUDE "data/mapObjects/GameCorner.asm" +INCLUDE "data/maps/objects/GameCorner.asm" GameCorner_Blocks: INCBIN "maps/GameCorner.blk" -INCLUDE "data/mapHeaders/CeladonMart5F.asm" +INCLUDE "data/maps/headers/CeladonMart5F.asm" INCLUDE "scripts/CeladonMart5F.asm" -INCLUDE "data/mapObjects/CeladonMart5F.asm" +INCLUDE "data/maps/objects/CeladonMart5F.asm" CeladonMart5F_Blocks: INCBIN "maps/CeladonMart5F.blk" -INCLUDE "data/mapHeaders/GameCornerPrizeRoom.asm" +INCLUDE "data/maps/headers/GameCornerPrizeRoom.asm" INCLUDE "scripts/GameCornerPrizeRoom.asm" -INCLUDE "data/mapObjects/GameCornerPrizeRoom.asm" +INCLUDE "data/maps/objects/GameCornerPrizeRoom.asm" GameCornerPrizeRoom_Blocks: INCBIN "maps/GameCornerPrizeRoom.blk" -INCLUDE "data/mapHeaders/CeladonDiner.asm" +INCLUDE "data/maps/headers/CeladonDiner.asm" INCLUDE "scripts/CeladonDiner.asm" -INCLUDE "data/mapObjects/CeladonDiner.asm" +INCLUDE "data/maps/objects/CeladonDiner.asm" CeladonDiner_Blocks: INCBIN "maps/CeladonDiner.blk" -INCLUDE "data/mapHeaders/CeladonChiefHouse.asm" +INCLUDE "data/maps/headers/CeladonChiefHouse.asm" INCLUDE "scripts/CeladonChiefHouse.asm" -INCLUDE "data/mapObjects/CeladonChiefHouse.asm" +INCLUDE "data/maps/objects/CeladonChiefHouse.asm" CeladonChiefHouse_Blocks: INCBIN "maps/CeladonChiefHouse.blk" -INCLUDE "data/mapHeaders/CeladonHotel.asm" +INCLUDE "data/maps/headers/CeladonHotel.asm" INCLUDE "scripts/CeladonHotel.asm" -INCLUDE "data/mapObjects/CeladonHotel.asm" +INCLUDE "data/maps/objects/CeladonHotel.asm" CeladonHotel_Blocks: INCBIN "maps/CeladonHotel.blk" -INCLUDE "data/mapHeaders/MtMoonPokecenter.asm" +INCLUDE "data/maps/headers/MtMoonPokecenter.asm" INCLUDE "scripts/MtMoonPokecenter.asm" -INCLUDE "data/mapObjects/MtMoonPokecenter.asm" +INCLUDE "data/maps/objects/MtMoonPokecenter.asm" -INCLUDE "data/mapHeaders/RockTunnelPokecenter.asm" +INCLUDE "data/maps/headers/RockTunnelPokecenter.asm" INCLUDE "scripts/RockTunnelPokecenter.asm" -INCLUDE "data/mapObjects/RockTunnelPokecenter.asm" +INCLUDE "data/maps/objects/RockTunnelPokecenter.asm" -INCLUDE "data/mapHeaders/Route11Gate1F.asm" +INCLUDE "data/maps/headers/Route11Gate1F.asm" INCLUDE "scripts/Route11Gate1F.asm" -INCLUDE "data/mapObjects/Route11Gate1F.asm" +INCLUDE "data/maps/objects/Route11Gate1F.asm" -INCLUDE "data/mapHeaders/Route11Gate2F.asm" +INCLUDE "data/maps/headers/Route11Gate2F.asm" INCLUDE "scripts/Route11Gate2F.asm" -INCLUDE "data/mapObjects/Route11Gate2F.asm" +INCLUDE "data/maps/objects/Route11Gate2F.asm" -INCLUDE "data/mapHeaders/Route12Gate1F.asm" +INCLUDE "data/maps/headers/Route12Gate1F.asm" INCLUDE "scripts/Route12Gate1F.asm" -INCLUDE "data/mapObjects/Route12Gate1F.asm" +INCLUDE "data/maps/objects/Route12Gate1F.asm" Route12Gate1F_Blocks: INCBIN "maps/Route12Gate1F.blk" -INCLUDE "data/mapHeaders/Route12Gate2F.asm" +INCLUDE "data/maps/headers/Route12Gate2F.asm" INCLUDE "scripts/Route12Gate2F.asm" -INCLUDE "data/mapObjects/Route12Gate2F.asm" +INCLUDE "data/maps/objects/Route12Gate2F.asm" -INCLUDE "data/mapHeaders/Route15Gate1F.asm" +INCLUDE "data/maps/headers/Route15Gate1F.asm" INCLUDE "scripts/Route15Gate1F.asm" -INCLUDE "data/mapObjects/Route15Gate1F.asm" +INCLUDE "data/maps/objects/Route15Gate1F.asm" -INCLUDE "data/mapHeaders/Route15Gate2F.asm" +INCLUDE "data/maps/headers/Route15Gate2F.asm" INCLUDE "scripts/Route15Gate2F.asm" -INCLUDE "data/mapObjects/Route15Gate2F.asm" +INCLUDE "data/maps/objects/Route15Gate2F.asm" -INCLUDE "data/mapHeaders/Route16Gate1F.asm" +INCLUDE "data/maps/headers/Route16Gate1F.asm" INCLUDE "scripts/Route16Gate1F.asm" -INCLUDE "data/mapObjects/Route16Gate1F.asm" +INCLUDE "data/maps/objects/Route16Gate1F.asm" Route16Gate1F_Blocks: INCBIN "maps/Route16Gate1F.blk" -INCLUDE "data/mapHeaders/Route16Gate2F.asm" +INCLUDE "data/maps/headers/Route16Gate2F.asm" INCLUDE "scripts/Route16Gate2F.asm" -INCLUDE "data/mapObjects/Route16Gate2F.asm" +INCLUDE "data/maps/objects/Route16Gate2F.asm" -INCLUDE "data/mapHeaders/Route18Gate1F.asm" +INCLUDE "data/maps/headers/Route18Gate1F.asm" INCLUDE "scripts/Route18Gate1F.asm" -INCLUDE "data/mapObjects/Route18Gate1F.asm" +INCLUDE "data/maps/objects/Route18Gate1F.asm" -INCLUDE "data/mapHeaders/Route18Gate2F.asm" +INCLUDE "data/maps/headers/Route18Gate2F.asm" INCLUDE "scripts/Route18Gate2F.asm" -INCLUDE "data/mapObjects/Route18Gate2F.asm" +INCLUDE "data/maps/objects/Route18Gate2F.asm" -INCLUDE "data/mapHeaders/MtMoon1F.asm" +INCLUDE "data/maps/headers/MtMoon1F.asm" INCLUDE "scripts/MtMoon1F.asm" -INCLUDE "data/mapObjects/MtMoon1F.asm" +INCLUDE "data/maps/objects/MtMoon1F.asm" MtMoon1F_Blocks: INCBIN "maps/MtMoon1F.blk" -INCLUDE "data/mapHeaders/MtMoonB2F.asm" +INCLUDE "data/maps/headers/MtMoonB2F.asm" INCLUDE "scripts/MtMoonB2F.asm" -INCLUDE "data/mapObjects/MtMoonB2F.asm" +INCLUDE "data/maps/objects/MtMoonB2F.asm" MtMoonB2F_Blocks: INCBIN "maps/MtMoonB2F.blk" -INCLUDE "data/mapHeaders/SafariZoneWest.asm" +INCLUDE "data/maps/headers/SafariZoneWest.asm" INCLUDE "scripts/SafariZoneWest.asm" -INCLUDE "data/mapObjects/SafariZoneWest.asm" +INCLUDE "data/maps/objects/SafariZoneWest.asm" SafariZoneWest_Blocks: INCBIN "maps/SafariZoneWest.blk" -INCLUDE "data/mapHeaders/SafariZoneSecretHouse.asm" +INCLUDE "data/maps/headers/SafariZoneSecretHouse.asm" INCLUDE "scripts/SafariZoneSecretHouse.asm" -INCLUDE "data/mapObjects/SafariZoneSecretHouse.asm" +INCLUDE "data/maps/objects/SafariZoneSecretHouse.asm" SafariZoneSecretHouse_Blocks: INCBIN "maps/SafariZoneSecretHouse.blk" SECTION "Maps 9", ROMX -INCLUDE "data/mapHeaders/TradeCenter.asm" +INCLUDE "data/maps/headers/TradeCenter.asm" INCLUDE "scripts/TradeCenter.asm" -INCLUDE "data/mapObjects/TradeCenter.asm" +INCLUDE "data/maps/objects/TradeCenter.asm" TradeCenter_Blocks: INCBIN "maps/TradeCenter.blk" -INCLUDE "data/mapHeaders/Colosseum.asm" +INCLUDE "data/maps/headers/Colosseum.asm" INCLUDE "scripts/Colosseum.asm" -INCLUDE "data/mapObjects/Colosseum.asm" +INCLUDE "data/maps/objects/Colosseum.asm" Colosseum_Blocks: INCBIN "maps/Colosseum.blk" SECTION "Maps 10", ROMX -INCLUDE "data/mapHeaders/Route22.asm" -INCLUDE "data/mapObjects/Route22.asm" +INCLUDE "data/maps/headers/Route22.asm" +INCLUDE "data/maps/objects/Route22.asm" Route22_Blocks: INCBIN "maps/Route22.blk" -INCLUDE "data/mapHeaders/Route20.asm" -INCLUDE "data/mapObjects/Route20.asm" +INCLUDE "data/maps/headers/Route20.asm" +INCLUDE "data/maps/objects/Route20.asm" Route20_Blocks: INCBIN "maps/Route20.blk" -INCLUDE "data/mapHeaders/Route23.asm" -INCLUDE "data/mapObjects/Route23.asm" +INCLUDE "data/maps/headers/Route23.asm" +INCLUDE "data/maps/objects/Route23.asm" Route23_Blocks: INCBIN "maps/Route23.blk" -INCLUDE "data/mapHeaders/Route24.asm" -INCLUDE "data/mapObjects/Route24.asm" +INCLUDE "data/maps/headers/Route24.asm" +INCLUDE "data/maps/objects/Route24.asm" Route24_Blocks: INCBIN "maps/Route24.blk" -INCLUDE "data/mapHeaders/Route25.asm" -INCLUDE "data/mapObjects/Route25.asm" +INCLUDE "data/maps/headers/Route25.asm" +INCLUDE "data/maps/objects/Route25.asm" Route25_Blocks: INCBIN "maps/Route25.blk" -INCLUDE "data/mapHeaders/IndigoPlateau.asm" +INCLUDE "data/maps/headers/IndigoPlateau.asm" INCLUDE "scripts/IndigoPlateau.asm" -INCLUDE "data/mapObjects/IndigoPlateau.asm" +INCLUDE "data/maps/objects/IndigoPlateau.asm" IndigoPlateau_Blocks: INCBIN "maps/IndigoPlateau.blk" -INCLUDE "data/mapHeaders/SaffronCity.asm" -INCLUDE "data/mapObjects/SaffronCity.asm" +INCLUDE "data/maps/headers/SaffronCity.asm" +INCLUDE "data/maps/objects/SaffronCity.asm" SaffronCity_Blocks: INCBIN "maps/SaffronCity.blk" INCLUDE "scripts/SaffronCity.asm" @@ -624,77 +624,77 @@ INCLUDE "scripts/Route23.asm" INCLUDE "scripts/Route24.asm" INCLUDE "scripts/Route25.asm" -INCLUDE "data/mapHeaders/VictoryRoad2F.asm" +INCLUDE "data/maps/headers/VictoryRoad2F.asm" INCLUDE "scripts/VictoryRoad2F.asm" -INCLUDE "data/mapObjects/VictoryRoad2F.asm" +INCLUDE "data/maps/objects/VictoryRoad2F.asm" VictoryRoad2F_Blocks: INCBIN "maps/VictoryRoad2F.blk" -INCLUDE "data/mapHeaders/MtMoonB1F.asm" +INCLUDE "data/maps/headers/MtMoonB1F.asm" INCLUDE "scripts/MtMoonB1F.asm" -INCLUDE "data/mapObjects/MtMoonB1F.asm" +INCLUDE "data/maps/objects/MtMoonB1F.asm" MtMoonB1F_Blocks: INCBIN "maps/MtMoonB1F.blk" -INCLUDE "data/mapHeaders/SilphCo7F.asm" +INCLUDE "data/maps/headers/SilphCo7F.asm" INCLUDE "scripts/SilphCo7F.asm" -INCLUDE "data/mapObjects/SilphCo7F.asm" +INCLUDE "data/maps/objects/SilphCo7F.asm" SilphCo7F_Blocks: INCBIN "maps/SilphCo7F.blk" -INCLUDE "data/mapHeaders/PokemonMansion2F.asm" +INCLUDE "data/maps/headers/PokemonMansion2F.asm" INCLUDE "scripts/PokemonMansion2F.asm" -INCLUDE "data/mapObjects/PokemonMansion2F.asm" +INCLUDE "data/maps/objects/PokemonMansion2F.asm" PokemonMansion2F_Blocks: INCBIN "maps/PokemonMansion2F.blk" -INCLUDE "data/mapHeaders/PokemonMansion3F.asm" +INCLUDE "data/maps/headers/PokemonMansion3F.asm" INCLUDE "scripts/PokemonMansion3F.asm" -INCLUDE "data/mapObjects/PokemonMansion3F.asm" +INCLUDE "data/maps/objects/PokemonMansion3F.asm" PokemonMansion3F_Blocks: INCBIN "maps/PokemonMansion3F.blk" -INCLUDE "data/mapHeaders/PokemonMansionB1F.asm" +INCLUDE "data/maps/headers/PokemonMansionB1F.asm" INCLUDE "scripts/PokemonMansionB1F.asm" -INCLUDE "data/mapObjects/PokemonMansionB1F.asm" +INCLUDE "data/maps/objects/PokemonMansionB1F.asm" PokemonMansionB1F_Blocks: INCBIN "maps/PokemonMansionB1F.blk" SECTION "Maps 11", ROMX -INCLUDE "data/mapHeaders/Route2.asm" -INCLUDE "data/mapObjects/Route2.asm" +INCLUDE "data/maps/headers/Route2.asm" +INCLUDE "data/maps/objects/Route2.asm" Route2_Blocks: INCBIN "maps/Route2.blk" -INCLUDE "data/mapHeaders/Route3.asm" -INCLUDE "data/mapObjects/Route3.asm" +INCLUDE "data/maps/headers/Route3.asm" +INCLUDE "data/maps/objects/Route3.asm" Route3_Blocks: INCBIN "maps/Route3.blk" -INCLUDE "data/mapHeaders/Route4.asm" -INCLUDE "data/mapObjects/Route4.asm" +INCLUDE "data/maps/headers/Route4.asm" +INCLUDE "data/maps/objects/Route4.asm" Route4_Blocks: INCBIN "maps/Route4.blk" -INCLUDE "data/mapHeaders/Route5.asm" -INCLUDE "data/mapObjects/Route5.asm" +INCLUDE "data/maps/headers/Route5.asm" +INCLUDE "data/maps/objects/Route5.asm" Route5_Blocks: INCBIN "maps/Route5.blk" -INCLUDE "data/mapHeaders/Route9.asm" -INCLUDE "data/mapObjects/Route9.asm" +INCLUDE "data/maps/headers/Route9.asm" +INCLUDE "data/maps/objects/Route9.asm" Route9_Blocks: INCBIN "maps/Route9.blk" -INCLUDE "data/mapHeaders/Route13.asm" -INCLUDE "data/mapObjects/Route13.asm" +INCLUDE "data/maps/headers/Route13.asm" +INCLUDE "data/maps/objects/Route13.asm" Route13_Blocks: INCBIN "maps/Route13.blk" -INCLUDE "data/mapHeaders/Route14.asm" -INCLUDE "data/mapObjects/Route14.asm" +INCLUDE "data/maps/headers/Route14.asm" +INCLUDE "data/maps/objects/Route14.asm" Route14_Blocks: INCBIN "maps/Route14.blk" -INCLUDE "data/mapHeaders/Route17.asm" -INCLUDE "data/mapObjects/Route17.asm" +INCLUDE "data/maps/headers/Route17.asm" +INCLUDE "data/maps/objects/Route17.asm" Route17_Blocks: INCBIN "maps/Route17.blk" -INCLUDE "data/mapHeaders/Route19.asm" -INCLUDE "data/mapObjects/Route19.asm" +INCLUDE "data/maps/headers/Route19.asm" +INCLUDE "data/maps/objects/Route19.asm" Route19_Blocks: INCBIN "maps/Route19.blk" -INCLUDE "data/mapHeaders/Route21.asm" -INCLUDE "data/mapObjects/Route21.asm" +INCLUDE "data/maps/headers/Route21.asm" +INCLUDE "data/maps/objects/Route21.asm" Route21_Blocks: INCBIN "maps/Route21.blk" VermilionOldRodHouse_Blocks: @@ -717,65 +717,65 @@ INCLUDE "scripts/Route17.asm" INCLUDE "scripts/Route19.asm" INCLUDE "scripts/Route21.asm" -INCLUDE "data/mapHeaders/VermilionOldRodHouse.asm" +INCLUDE "data/maps/headers/VermilionOldRodHouse.asm" INCLUDE "scripts/VermilionOldRodHouse.asm" -INCLUDE "data/mapObjects/VermilionOldRodHouse.asm" +INCLUDE "data/maps/objects/VermilionOldRodHouse.asm" -INCLUDE "data/mapHeaders/CeladonMart2F.asm" +INCLUDE "data/maps/headers/CeladonMart2F.asm" INCLUDE "scripts/CeladonMart2F.asm" -INCLUDE "data/mapObjects/CeladonMart2F.asm" +INCLUDE "data/maps/objects/CeladonMart2F.asm" CeladonMart2F_Blocks: INCBIN "maps/CeladonMart2F.blk" -INCLUDE "data/mapHeaders/FuchsiaGoodRodHouse.asm" +INCLUDE "data/maps/headers/FuchsiaGoodRodHouse.asm" INCLUDE "scripts/FuchsiaGoodRodHouse.asm" -INCLUDE "data/mapObjects/FuchsiaGoodRodHouse.asm" +INCLUDE "data/maps/objects/FuchsiaGoodRodHouse.asm" -INCLUDE "data/mapHeaders/Daycare.asm" +INCLUDE "data/maps/headers/Daycare.asm" INCLUDE "scripts/Daycare.asm" -INCLUDE "data/mapObjects/Daycare.asm" +INCLUDE "data/maps/objects/Daycare.asm" -INCLUDE "data/mapHeaders/Route12SuperRodHouse.asm" +INCLUDE "data/maps/headers/Route12SuperRodHouse.asm" INCLUDE "scripts/Route12SuperRodHouse.asm" -INCLUDE "data/mapObjects/Route12SuperRodHouse.asm" +INCLUDE "data/maps/objects/Route12SuperRodHouse.asm" -INCLUDE "data/mapHeaders/SilphCo8F.asm" +INCLUDE "data/maps/headers/SilphCo8F.asm" INCLUDE "scripts/SilphCo8F.asm" -INCLUDE "data/mapObjects/SilphCo8F.asm" +INCLUDE "data/maps/objects/SilphCo8F.asm" SilphCo8F_Blocks: INCBIN "maps/SilphCo8F.blk" SECTION "Maps 13", ROMX -INCLUDE "data/mapHeaders/Route6.asm" -INCLUDE "data/mapObjects/Route6.asm" +INCLUDE "data/maps/headers/Route6.asm" +INCLUDE "data/maps/objects/Route6.asm" Route6_Blocks: INCBIN "maps/Route6.blk" -INCLUDE "data/mapHeaders/Route8.asm" -INCLUDE "data/mapObjects/Route8.asm" +INCLUDE "data/maps/headers/Route8.asm" +INCLUDE "data/maps/objects/Route8.asm" Route8_Blocks: INCBIN "maps/Route8.blk" -INCLUDE "data/mapHeaders/Route10.asm" -INCLUDE "data/mapObjects/Route10.asm" +INCLUDE "data/maps/headers/Route10.asm" +INCLUDE "data/maps/objects/Route10.asm" Route10_Blocks: INCBIN "maps/Route10.blk" -INCLUDE "data/mapHeaders/Route11.asm" -INCLUDE "data/mapObjects/Route11.asm" +INCLUDE "data/maps/headers/Route11.asm" +INCLUDE "data/maps/objects/Route11.asm" Route11_Blocks: INCBIN "maps/Route11.blk" -INCLUDE "data/mapHeaders/Route12.asm" -INCLUDE "data/mapObjects/Route12.asm" +INCLUDE "data/maps/headers/Route12.asm" +INCLUDE "data/maps/objects/Route12.asm" Route12_Blocks: INCBIN "maps/Route12.blk" -INCLUDE "data/mapHeaders/Route15.asm" -INCLUDE "data/mapObjects/Route15.asm" +INCLUDE "data/maps/headers/Route15.asm" +INCLUDE "data/maps/objects/Route15.asm" Route15_Blocks: INCBIN "maps/Route15.blk" -INCLUDE "data/mapHeaders/Route16.asm" -INCLUDE "data/mapObjects/Route16.asm" +INCLUDE "data/maps/headers/Route16.asm" +INCLUDE "data/maps/objects/Route16.asm" Route16_Blocks: INCBIN "maps/Route16.blk" -INCLUDE "data/mapHeaders/Route18.asm" -INCLUDE "data/mapObjects/Route18.asm" +INCLUDE "data/maps/headers/Route18.asm" +INCLUDE "data/maps/objects/Route18.asm" Route18_Blocks: INCBIN "maps/Route18.blk" INCBIN "maps/UnusedPokecenterCopy.blk" @@ -792,34 +792,34 @@ INCLUDE "scripts/Route15.asm" INCLUDE "scripts/Route16.asm" INCLUDE "scripts/Route18.asm" -INCLUDE "data/mapHeaders/PokemonFanClub.asm" +INCLUDE "data/maps/headers/PokemonFanClub.asm" INCLUDE "scripts/PokemonFanClub.asm" -INCLUDE "data/mapObjects/PokemonFanClub.asm" +INCLUDE "data/maps/objects/PokemonFanClub.asm" PokemonFanClub_Blocks: INCBIN "maps/PokemonFanClub.blk" -INCLUDE "data/mapHeaders/SilphCo2F.asm" +INCLUDE "data/maps/headers/SilphCo2F.asm" INCLUDE "scripts/SilphCo2F.asm" -INCLUDE "data/mapObjects/SilphCo2F.asm" +INCLUDE "data/maps/objects/SilphCo2F.asm" SilphCo2F_Blocks: INCBIN "maps/SilphCo2F.blk" -INCLUDE "data/mapHeaders/SilphCo3F.asm" +INCLUDE "data/maps/headers/SilphCo3F.asm" INCLUDE "scripts/SilphCo3F.asm" -INCLUDE "data/mapObjects/SilphCo3F.asm" +INCLUDE "data/maps/objects/SilphCo3F.asm" SilphCo3F_Blocks: INCBIN "maps/SilphCo3F.blk" -INCLUDE "data/mapHeaders/SilphCo10F.asm" +INCLUDE "data/maps/headers/SilphCo10F.asm" INCLUDE "scripts/SilphCo10F.asm" -INCLUDE "data/mapObjects/SilphCo10F.asm" +INCLUDE "data/maps/objects/SilphCo10F.asm" SilphCo10F_Blocks: INCBIN "maps/SilphCo10F.blk" -INCLUDE "data/mapHeaders/LancesRoom.asm" +INCLUDE "data/maps/headers/LancesRoom.asm" INCLUDE "scripts/LancesRoom.asm" -INCLUDE "data/mapObjects/LancesRoom.asm" +INCLUDE "data/maps/objects/LancesRoom.asm" LancesRoom_Blocks: INCBIN "maps/LancesRoom.blk" -INCLUDE "data/mapHeaders/HallOfFame.asm" +INCLUDE "data/maps/headers/HallOfFame.asm" INCLUDE "scripts/HallOfFame.asm" -INCLUDE "data/mapObjects/HallOfFame.asm" +INCLUDE "data/maps/objects/HallOfFame.asm" HallOfFame_Blocks: INCBIN "maps/HallOfFame.blk" @@ -851,128 +851,128 @@ Route2Gate_Blocks: ViridianForestSouthGate_Blocks: ViridianForestNorthGate_Blocks: INCBIN "maps/ViridianForestNorthGate.blk" -INCLUDE "data/mapHeaders/RedsHouse2F.asm" +INCLUDE "data/maps/headers/RedsHouse2F.asm" INCLUDE "scripts/RedsHouse2F.asm" -INCLUDE "data/mapObjects/RedsHouse2F.asm" +INCLUDE "data/maps/objects/RedsHouse2F.asm" SECTION "Maps 16", ROMX -INCLUDE "data/mapHeaders/Museum1F.asm" +INCLUDE "data/maps/headers/Museum1F.asm" INCLUDE "scripts/Museum1F.asm" -INCLUDE "data/mapObjects/Museum1F.asm" +INCLUDE "data/maps/objects/Museum1F.asm" -INCLUDE "data/mapHeaders/Museum2F.asm" +INCLUDE "data/maps/headers/Museum2F.asm" INCLUDE "scripts/Museum2F.asm" -INCLUDE "data/mapObjects/Museum2F.asm" +INCLUDE "data/maps/objects/Museum2F.asm" -INCLUDE "data/mapHeaders/PewterGym.asm" +INCLUDE "data/maps/headers/PewterGym.asm" INCLUDE "scripts/PewterGym.asm" -INCLUDE "data/mapObjects/PewterGym.asm" +INCLUDE "data/maps/objects/PewterGym.asm" PewterGym_Blocks: INCBIN "maps/PewterGym.blk" -INCLUDE "data/mapHeaders/PewterPokecenter.asm" +INCLUDE "data/maps/headers/PewterPokecenter.asm" INCLUDE "scripts/PewterPokecenter.asm" -INCLUDE "data/mapObjects/PewterPokecenter.asm" +INCLUDE "data/maps/objects/PewterPokecenter.asm" -INCLUDE "data/mapHeaders/CeruleanPokecenter.asm" +INCLUDE "data/maps/headers/CeruleanPokecenter.asm" INCLUDE "scripts/CeruleanPokecenter.asm" -INCLUDE "data/mapObjects/CeruleanPokecenter.asm" +INCLUDE "data/maps/objects/CeruleanPokecenter.asm" CeruleanPokecenter_Blocks: INCBIN "maps/CeruleanPokecenter.blk" -INCLUDE "data/mapHeaders/CeruleanGym.asm" +INCLUDE "data/maps/headers/CeruleanGym.asm" INCLUDE "scripts/CeruleanGym.asm" -INCLUDE "data/mapObjects/CeruleanGym.asm" +INCLUDE "data/maps/objects/CeruleanGym.asm" CeruleanGym_Blocks: INCBIN "maps/CeruleanGym.blk" -INCLUDE "data/mapHeaders/CeruleanMart.asm" +INCLUDE "data/maps/headers/CeruleanMart.asm" INCLUDE "scripts/CeruleanMart.asm" -INCLUDE "data/mapObjects/CeruleanMart.asm" +INCLUDE "data/maps/objects/CeruleanMart.asm" -INCLUDE "data/mapHeaders/LavenderPokecenter.asm" +INCLUDE "data/maps/headers/LavenderPokecenter.asm" INCLUDE "scripts/LavenderPokecenter.asm" -INCLUDE "data/mapObjects/LavenderPokecenter.asm" +INCLUDE "data/maps/objects/LavenderPokecenter.asm" -INCLUDE "data/mapHeaders/LavenderMart.asm" +INCLUDE "data/maps/headers/LavenderMart.asm" INCLUDE "scripts/LavenderMart.asm" -INCLUDE "data/mapObjects/LavenderMart.asm" +INCLUDE "data/maps/objects/LavenderMart.asm" -INCLUDE "data/mapHeaders/VermilionPokecenter.asm" +INCLUDE "data/maps/headers/VermilionPokecenter.asm" INCLUDE "scripts/VermilionPokecenter.asm" -INCLUDE "data/mapObjects/VermilionPokecenter.asm" +INCLUDE "data/maps/objects/VermilionPokecenter.asm" -INCLUDE "data/mapHeaders/VermilionMart.asm" +INCLUDE "data/maps/headers/VermilionMart.asm" INCLUDE "scripts/VermilionMart.asm" -INCLUDE "data/mapObjects/VermilionMart.asm" +INCLUDE "data/maps/objects/VermilionMart.asm" -INCLUDE "data/mapHeaders/VermilionGym.asm" +INCLUDE "data/maps/headers/VermilionGym.asm" INCLUDE "scripts/VermilionGym.asm" -INCLUDE "data/mapObjects/VermilionGym.asm" +INCLUDE "data/maps/objects/VermilionGym.asm" VermilionGym_Blocks: INCBIN "maps/VermilionGym.blk" -INCLUDE "data/mapHeaders/CopycatsHouse2F.asm" +INCLUDE "data/maps/headers/CopycatsHouse2F.asm" INCLUDE "scripts/CopycatsHouse2F.asm" -INCLUDE "data/mapObjects/CopycatsHouse2F.asm" +INCLUDE "data/maps/objects/CopycatsHouse2F.asm" -INCLUDE "data/mapHeaders/FightingDojo.asm" +INCLUDE "data/maps/headers/FightingDojo.asm" INCLUDE "scripts/FightingDojo.asm" -INCLUDE "data/mapObjects/FightingDojo.asm" +INCLUDE "data/maps/objects/FightingDojo.asm" FightingDojo_Blocks: INCBIN "maps/FightingDojo.blk" -INCLUDE "data/mapHeaders/SaffronGym.asm" +INCLUDE "data/maps/headers/SaffronGym.asm" INCLUDE "scripts/SaffronGym.asm" -INCLUDE "data/mapObjects/SaffronGym.asm" +INCLUDE "data/maps/objects/SaffronGym.asm" SaffronGym_Blocks: INCBIN "maps/SaffronGym.blk" -INCLUDE "data/mapHeaders/SaffronMart.asm" +INCLUDE "data/maps/headers/SaffronMart.asm" INCLUDE "scripts/SaffronMart.asm" -INCLUDE "data/mapObjects/SaffronMart.asm" +INCLUDE "data/maps/objects/SaffronMart.asm" -INCLUDE "data/mapHeaders/SilphCo1F.asm" +INCLUDE "data/maps/headers/SilphCo1F.asm" INCLUDE "scripts/SilphCo1F.asm" -INCLUDE "data/mapObjects/SilphCo1F.asm" +INCLUDE "data/maps/objects/SilphCo1F.asm" SilphCo1F_Blocks: INCBIN "maps/SilphCo1F.blk" -INCLUDE "data/mapHeaders/SaffronPokecenter.asm" +INCLUDE "data/maps/headers/SaffronPokecenter.asm" INCLUDE "scripts/SaffronPokecenter.asm" -INCLUDE "data/mapObjects/SaffronPokecenter.asm" +INCLUDE "data/maps/objects/SaffronPokecenter.asm" -INCLUDE "data/mapHeaders/ViridianForestNorthGate.asm" +INCLUDE "data/maps/headers/ViridianForestNorthGate.asm" INCLUDE "scripts/ViridianForestNorthGate.asm" -INCLUDE "data/mapObjects/ViridianForestNorthGate.asm" +INCLUDE "data/maps/objects/ViridianForestNorthGate.asm" -INCLUDE "data/mapHeaders/Route2Gate.asm" +INCLUDE "data/maps/headers/Route2Gate.asm" INCLUDE "scripts/Route2Gate.asm" -INCLUDE "data/mapObjects/Route2Gate.asm" +INCLUDE "data/maps/objects/Route2Gate.asm" -INCLUDE "data/mapHeaders/ViridianForestSouthGate.asm" +INCLUDE "data/maps/headers/ViridianForestSouthGate.asm" INCLUDE "scripts/ViridianForestSouthGate.asm" -INCLUDE "data/mapObjects/ViridianForestSouthGate.asm" +INCLUDE "data/maps/objects/ViridianForestSouthGate.asm" -INCLUDE "data/mapHeaders/UndergroundPathRoute5.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute5.asm" INCLUDE "scripts/UndergroundPathRoute5.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute5.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute5.asm" -INCLUDE "data/mapHeaders/UndergroundPathRoute6.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute6.asm" INCLUDE "scripts/UndergroundPathRoute6.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute6.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute6.asm" -INCLUDE "data/mapHeaders/UndergroundPathRoute7.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute7.asm" INCLUDE "scripts/UndergroundPathRoute7.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute7.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute7.asm" -INCLUDE "data/mapHeaders/UndergroundPathRoute7Copy.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute7Copy.asm" INCLUDE "scripts/UndergroundPathRoute7Copy.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute7Copy.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute7Copy.asm" -INCLUDE "data/mapHeaders/SilphCo9F.asm" +INCLUDE "data/maps/headers/SilphCo9F.asm" INCLUDE "scripts/SilphCo9F.asm" -INCLUDE "data/mapObjects/SilphCo9F.asm" +INCLUDE "data/maps/objects/SilphCo9F.asm" SilphCo9F_Blocks: INCBIN "maps/SilphCo9F.blk" -INCLUDE "data/mapHeaders/VictoryRoad1F.asm" +INCLUDE "data/maps/headers/VictoryRoad1F.asm" INCLUDE "scripts/VictoryRoad1F.asm" -INCLUDE "data/mapObjects/VictoryRoad1F.asm" +INCLUDE "data/maps/objects/VictoryRoad1F.asm" VictoryRoad1F_Blocks: INCBIN "maps/VictoryRoad1F.blk" @@ -987,114 +987,114 @@ UndergroundPathWestEast_Blocks: INCBIN "maps/UndergroundPathWestEast.blk" SSAnneB1FRooms_Blocks: SSAnne2FRooms_Blocks: INCBIN "maps/SSAnne2FRooms.blk" -INCLUDE "data/mapHeaders/PokemonTower1F.asm" +INCLUDE "data/maps/headers/PokemonTower1F.asm" INCLUDE "scripts/PokemonTower1F.asm" -INCLUDE "data/mapObjects/PokemonTower1F.asm" +INCLUDE "data/maps/objects/PokemonTower1F.asm" PokemonTower1F_Blocks: INCBIN "maps/PokemonTower1F.blk" -INCLUDE "data/mapHeaders/PokemonTower2F.asm" +INCLUDE "data/maps/headers/PokemonTower2F.asm" INCLUDE "scripts/PokemonTower2F.asm" -INCLUDE "data/mapObjects/PokemonTower2F.asm" +INCLUDE "data/maps/objects/PokemonTower2F.asm" PokemonTower2F_Blocks: INCBIN "maps/PokemonTower2F.blk" -INCLUDE "data/mapHeaders/PokemonTower3F.asm" +INCLUDE "data/maps/headers/PokemonTower3F.asm" INCLUDE "scripts/PokemonTower3F.asm" -INCLUDE "data/mapObjects/PokemonTower3F.asm" +INCLUDE "data/maps/objects/PokemonTower3F.asm" PokemonTower3F_Blocks: INCBIN "maps/PokemonTower3F.blk" -INCLUDE "data/mapHeaders/PokemonTower4F.asm" +INCLUDE "data/maps/headers/PokemonTower4F.asm" INCLUDE "scripts/PokemonTower4F.asm" -INCLUDE "data/mapObjects/PokemonTower4F.asm" +INCLUDE "data/maps/objects/PokemonTower4F.asm" PokemonTower4F_Blocks: INCBIN "maps/PokemonTower4F.blk" -INCLUDE "data/mapHeaders/PokemonTower5F.asm" +INCLUDE "data/maps/headers/PokemonTower5F.asm" INCLUDE "scripts/PokemonTower5F.asm" -INCLUDE "data/mapObjects/PokemonTower5F.asm" +INCLUDE "data/maps/objects/PokemonTower5F.asm" PokemonTower5F_Blocks: INCBIN "maps/PokemonTower5F.blk" -INCLUDE "data/mapHeaders/PokemonTower6F.asm" +INCLUDE "data/maps/headers/PokemonTower6F.asm" INCLUDE "scripts/PokemonTower6F.asm" -INCLUDE "data/mapObjects/PokemonTower6F.asm" +INCLUDE "data/maps/objects/PokemonTower6F.asm" PokemonTower6F_Blocks: INCBIN "maps/PokemonTower6F.blk" INCBIN "maps/UnusedEmptyMap.blk" -INCLUDE "data/mapHeaders/PokemonTower7F.asm" +INCLUDE "data/maps/headers/PokemonTower7F.asm" INCLUDE "scripts/PokemonTower7F.asm" -INCLUDE "data/mapObjects/PokemonTower7F.asm" +INCLUDE "data/maps/objects/PokemonTower7F.asm" PokemonTower7F_Blocks: INCBIN "maps/PokemonTower7F.blk" -INCLUDE "data/mapHeaders/CeladonMart1F.asm" +INCLUDE "data/maps/headers/CeladonMart1F.asm" INCLUDE "scripts/CeladonMart1F.asm" -INCLUDE "data/mapObjects/CeladonMart1F.asm" +INCLUDE "data/maps/objects/CeladonMart1F.asm" CeladonMart1F_Blocks: INCBIN "maps/CeladonMart1F.blk" SECTION "Maps 18", ROMX -INCLUDE "data/mapHeaders/ViridianForest.asm" +INCLUDE "data/maps/headers/ViridianForest.asm" INCLUDE "scripts/ViridianForest.asm" -INCLUDE "data/mapObjects/ViridianForest.asm" +INCLUDE "data/maps/objects/ViridianForest.asm" -INCLUDE "data/mapHeaders/SSAnne1F.asm" +INCLUDE "data/maps/headers/SSAnne1F.asm" INCLUDE "scripts/SSAnne1F.asm" -INCLUDE "data/mapObjects/SSAnne1F.asm" +INCLUDE "data/maps/objects/SSAnne1F.asm" SSAnne1F_Blocks: INCBIN "maps/SSAnne1F.blk" -INCLUDE "data/mapHeaders/SSAnne2F.asm" +INCLUDE "data/maps/headers/SSAnne2F.asm" INCLUDE "scripts/SSAnne2F.asm" -INCLUDE "data/mapObjects/SSAnne2F.asm" +INCLUDE "data/maps/objects/SSAnne2F.asm" SSAnne2F_Blocks: INCBIN "maps/SSAnne2F.blk" -INCLUDE "data/mapHeaders/SSAnneB1F.asm" +INCLUDE "data/maps/headers/SSAnneB1F.asm" INCLUDE "scripts/SSAnneB1F.asm" -INCLUDE "data/mapObjects/SSAnneB1F.asm" +INCLUDE "data/maps/objects/SSAnneB1F.asm" SSAnneB1F_Blocks: INCBIN "maps/SSAnneB1F.blk" -INCLUDE "data/mapHeaders/SSAnneBow.asm" +INCLUDE "data/maps/headers/SSAnneBow.asm" INCLUDE "scripts/SSAnneBow.asm" -INCLUDE "data/mapObjects/SSAnneBow.asm" +INCLUDE "data/maps/objects/SSAnneBow.asm" SSAnneBow_Blocks: INCBIN "maps/SSAnneBow.blk" -INCLUDE "data/mapHeaders/SSAnneKitchen.asm" +INCLUDE "data/maps/headers/SSAnneKitchen.asm" INCLUDE "scripts/SSAnneKitchen.asm" -INCLUDE "data/mapObjects/SSAnneKitchen.asm" +INCLUDE "data/maps/objects/SSAnneKitchen.asm" SSAnneKitchen_Blocks: INCBIN "maps/SSAnneKitchen.blk" -INCLUDE "data/mapHeaders/SSAnneCaptainsRoom.asm" +INCLUDE "data/maps/headers/SSAnneCaptainsRoom.asm" INCLUDE "scripts/SSAnneCaptainsRoom.asm" -INCLUDE "data/mapObjects/SSAnneCaptainsRoom.asm" +INCLUDE "data/maps/objects/SSAnneCaptainsRoom.asm" SSAnneCaptainsRoom_Blocks: INCBIN "maps/SSAnneCaptainsRoom.blk" -INCLUDE "data/mapHeaders/SSAnne1FRooms.asm" +INCLUDE "data/maps/headers/SSAnne1FRooms.asm" INCLUDE "scripts/SSAnne1FRooms.asm" -INCLUDE "data/mapObjects/SSAnne1FRooms.asm" +INCLUDE "data/maps/objects/SSAnne1FRooms.asm" SSAnne1FRooms_Blocks: INCBIN "maps/SSAnne1FRooms.blk" -INCLUDE "data/mapHeaders/SSAnne2FRooms.asm" +INCLUDE "data/maps/headers/SSAnne2FRooms.asm" INCLUDE "scripts/SSAnne2FRooms.asm" -INCLUDE "data/mapObjects/SSAnne2FRooms.asm" +INCLUDE "data/maps/objects/SSAnne2FRooms.asm" -INCLUDE "data/mapHeaders/SSAnneB1FRooms.asm" +INCLUDE "data/maps/headers/SSAnneB1FRooms.asm" INCLUDE "scripts/SSAnneB1FRooms.asm" -INCLUDE "data/mapObjects/SSAnneB1FRooms.asm" +INCLUDE "data/maps/objects/SSAnneB1FRooms.asm" -INCLUDE "data/mapHeaders/UndergroundPathNorthSouth.asm" +INCLUDE "data/maps/headers/UndergroundPathNorthSouth.asm" INCLUDE "scripts/UndergroundPathNorthSouth.asm" -INCLUDE "data/mapObjects/UndergroundPathNorthSouth.asm" +INCLUDE "data/maps/objects/UndergroundPathNorthSouth.asm" -INCLUDE "data/mapHeaders/UndergroundPathWestEast.asm" +INCLUDE "data/maps/headers/UndergroundPathWestEast.asm" INCLUDE "scripts/UndergroundPathWestEast.asm" -INCLUDE "data/mapObjects/UndergroundPathWestEast.asm" +INCLUDE "data/maps/objects/UndergroundPathWestEast.asm" -INCLUDE "data/mapHeaders/DiglettsCave.asm" +INCLUDE "data/maps/headers/DiglettsCave.asm" INCLUDE "scripts/DiglettsCave.asm" -INCLUDE "data/mapObjects/DiglettsCave.asm" +INCLUDE "data/maps/objects/DiglettsCave.asm" DiglettsCave_Blocks: INCBIN "maps/DiglettsCave.blk" -INCLUDE "data/mapHeaders/SilphCo11F.asm" +INCLUDE "data/maps/headers/SilphCo11F.asm" INCLUDE "scripts/SilphCo11F.asm" -INCLUDE "data/mapObjects/SilphCo11F.asm" +INCLUDE "data/maps/objects/SilphCo11F.asm" SilphCo11F_Blocks: INCBIN "maps/SilphCo11F.blk" @@ -1117,108 +1117,108 @@ SECTION "Maps 20", ROMX INCLUDE "scripts/CeruleanCity_2.asm" -INCLUDE "data/mapHeaders/ViridianGym.asm" +INCLUDE "data/maps/headers/ViridianGym.asm" INCLUDE "scripts/ViridianGym.asm" -INCLUDE "data/mapObjects/ViridianGym.asm" +INCLUDE "data/maps/objects/ViridianGym.asm" ViridianGym_Blocks: INCBIN "maps/ViridianGym.blk" -INCLUDE "data/mapHeaders/PewterMart.asm" +INCLUDE "data/maps/headers/PewterMart.asm" INCLUDE "scripts/PewterMart.asm" -INCLUDE "data/mapObjects/PewterMart.asm" +INCLUDE "data/maps/objects/PewterMart.asm" -INCLUDE "data/mapHeaders/CeruleanCave1F.asm" +INCLUDE "data/maps/headers/CeruleanCave1F.asm" INCLUDE "scripts/CeruleanCave1F.asm" -INCLUDE "data/mapObjects/CeruleanCave1F.asm" +INCLUDE "data/maps/objects/CeruleanCave1F.asm" CeruleanCave1F_Blocks: INCBIN "maps/CeruleanCave1F.blk" -INCLUDE "data/mapHeaders/CeruleanBadgeHouse.asm" +INCLUDE "data/maps/headers/CeruleanBadgeHouse.asm" INCLUDE "scripts/CeruleanBadgeHouse.asm" -INCLUDE "data/mapObjects/CeruleanBadgeHouse.asm" +INCLUDE "data/maps/objects/CeruleanBadgeHouse.asm" SECTION "Maps 21", ROMX -INCLUDE "data/mapHeaders/FuchsiaBillsGrandpasHouse.asm" +INCLUDE "data/maps/headers/FuchsiaBillsGrandpasHouse.asm" INCLUDE "scripts/FuchsiaBillsGrandpasHouse.asm" -INCLUDE "data/mapObjects/FuchsiaBillsGrandpasHouse.asm" +INCLUDE "data/maps/objects/FuchsiaBillsGrandpasHouse.asm" -INCLUDE "data/mapHeaders/FuchsiaPokecenter.asm" +INCLUDE "data/maps/headers/FuchsiaPokecenter.asm" INCLUDE "scripts/FuchsiaPokecenter.asm" -INCLUDE "data/mapObjects/FuchsiaPokecenter.asm" +INCLUDE "data/maps/objects/FuchsiaPokecenter.asm" -INCLUDE "data/mapHeaders/WardensHouse.asm" +INCLUDE "data/maps/headers/WardensHouse.asm" INCLUDE "scripts/WardensHouse.asm" -INCLUDE "data/mapObjects/WardensHouse.asm" +INCLUDE "data/maps/objects/WardensHouse.asm" WardensHouse_Blocks: INCBIN "maps/WardensHouse.blk" -INCLUDE "data/mapHeaders/SafariZoneGate.asm" +INCLUDE "data/maps/headers/SafariZoneGate.asm" INCLUDE "scripts/SafariZoneGate.asm" -INCLUDE "data/mapObjects/SafariZoneGate.asm" +INCLUDE "data/maps/objects/SafariZoneGate.asm" SafariZoneGate_Blocks: INCBIN "maps/SafariZoneGate.blk" -INCLUDE "data/mapHeaders/FuchsiaGym.asm" +INCLUDE "data/maps/headers/FuchsiaGym.asm" INCLUDE "scripts/FuchsiaGym.asm" -INCLUDE "data/mapObjects/FuchsiaGym.asm" +INCLUDE "data/maps/objects/FuchsiaGym.asm" FuchsiaGym_Blocks: INCBIN "maps/FuchsiaGym.blk" -INCLUDE "data/mapHeaders/FuchsiaMeetingRoom.asm" +INCLUDE "data/maps/headers/FuchsiaMeetingRoom.asm" INCLUDE "scripts/FuchsiaMeetingRoom.asm" -INCLUDE "data/mapObjects/FuchsiaMeetingRoom.asm" +INCLUDE "data/maps/objects/FuchsiaMeetingRoom.asm" FuchsiaMeetingRoom_Blocks: INCBIN "maps/FuchsiaMeetingRoom.blk" -INCLUDE "data/mapHeaders/CinnabarGym.asm" +INCLUDE "data/maps/headers/CinnabarGym.asm" INCLUDE "scripts/CinnabarGym.asm" -INCLUDE "data/mapObjects/CinnabarGym.asm" +INCLUDE "data/maps/objects/CinnabarGym.asm" CinnabarGym_Blocks: INCBIN "maps/CinnabarGym.blk" -INCLUDE "data/mapHeaders/CinnabarLab.asm" +INCLUDE "data/maps/headers/CinnabarLab.asm" INCLUDE "scripts/CinnabarLab.asm" -INCLUDE "data/mapObjects/CinnabarLab.asm" +INCLUDE "data/maps/objects/CinnabarLab.asm" CinnabarLab_Blocks: INCBIN "maps/CinnabarLab.blk" -INCLUDE "data/mapHeaders/CinnabarLabTradeRoom.asm" +INCLUDE "data/maps/headers/CinnabarLabTradeRoom.asm" INCLUDE "scripts/CinnabarLabTradeRoom.asm" -INCLUDE "data/mapObjects/CinnabarLabTradeRoom.asm" +INCLUDE "data/maps/objects/CinnabarLabTradeRoom.asm" CinnabarLabTradeRoom_Blocks: INCBIN "maps/CinnabarLabTradeRoom.blk" -INCLUDE "data/mapHeaders/CinnabarLabMetronomeRoom.asm" +INCLUDE "data/maps/headers/CinnabarLabMetronomeRoom.asm" INCLUDE "scripts/CinnabarLabMetronomeRoom.asm" -INCLUDE "data/mapObjects/CinnabarLabMetronomeRoom.asm" +INCLUDE "data/maps/objects/CinnabarLabMetronomeRoom.asm" CinnabarLabMetronomeRoom_Blocks: INCBIN "maps/CinnabarLabMetronomeRoom.blk" -INCLUDE "data/mapHeaders/CinnabarLabFossilRoom.asm" +INCLUDE "data/maps/headers/CinnabarLabFossilRoom.asm" INCLUDE "scripts/CinnabarLabFossilRoom.asm" -INCLUDE "data/mapObjects/CinnabarLabFossilRoom.asm" +INCLUDE "data/maps/objects/CinnabarLabFossilRoom.asm" CinnabarLabFossilRoom_Blocks: INCBIN "maps/CinnabarLabFossilRoom.blk" -INCLUDE "data/mapHeaders/CinnabarPokecenter.asm" +INCLUDE "data/maps/headers/CinnabarPokecenter.asm" INCLUDE "scripts/CinnabarPokecenter.asm" -INCLUDE "data/mapObjects/CinnabarPokecenter.asm" +INCLUDE "data/maps/objects/CinnabarPokecenter.asm" -INCLUDE "data/mapHeaders/CinnabarMart.asm" +INCLUDE "data/maps/headers/CinnabarMart.asm" INCLUDE "scripts/CinnabarMart.asm" -INCLUDE "data/mapObjects/CinnabarMart.asm" +INCLUDE "data/maps/objects/CinnabarMart.asm" -INCLUDE "data/mapHeaders/CopycatsHouse1F.asm" +INCLUDE "data/maps/headers/CopycatsHouse1F.asm" INCLUDE "scripts/CopycatsHouse1F.asm" -INCLUDE "data/mapObjects/CopycatsHouse1F.asm" +INCLUDE "data/maps/objects/CopycatsHouse1F.asm" -INCLUDE "data/mapHeaders/ChampionsRoom.asm" +INCLUDE "data/maps/headers/ChampionsRoom.asm" INCLUDE "scripts/ChampionsRoom.asm" -INCLUDE "data/mapObjects/ChampionsRoom.asm" +INCLUDE "data/maps/objects/ChampionsRoom.asm" ChampionsRoom_Blocks: INCBIN "maps/ChampionsRoom.blk" -INCLUDE "data/mapHeaders/LoreleisRoom.asm" +INCLUDE "data/maps/headers/LoreleisRoom.asm" INCLUDE "scripts/LoreleisRoom.asm" -INCLUDE "data/mapObjects/LoreleisRoom.asm" +INCLUDE "data/maps/objects/LoreleisRoom.asm" LoreleisRoom_Blocks: INCBIN "maps/LoreleisRoom.blk" -INCLUDE "data/mapHeaders/BrunosRoom.asm" +INCLUDE "data/maps/headers/BrunosRoom.asm" INCLUDE "scripts/BrunosRoom.asm" -INCLUDE "data/mapObjects/BrunosRoom.asm" +INCLUDE "data/maps/objects/BrunosRoom.asm" BrunosRoom_Blocks: INCBIN "maps/BrunosRoom.blk" -INCLUDE "data/mapHeaders/AgathasRoom.asm" +INCLUDE "data/maps/headers/AgathasRoom.asm" INCLUDE "scripts/AgathasRoom.asm" -INCLUDE "data/mapObjects/AgathasRoom.asm" +INCLUDE "data/maps/objects/AgathasRoom.asm" AgathasRoom_Blocks: INCBIN "maps/AgathasRoom.blk" diff --git a/rgbdscheck.asm b/rgbdscheck.asm new file mode 100644 index 00000000..d10f8d50 --- /dev/null +++ b/rgbdscheck.asm @@ -0,0 +1,12 @@ +; pokered requires rgbds 0.4.0 or newer. +MAJOR EQU 0 +MINOR EQU 4 +PATCH EQU 0 + +if !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) + fail "pokered requires rgbds {MAJOR}.{MINOR}.{PATCH} or newer." +elif (__RGBDS_MAJOR__ < MAJOR) || \ + (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ < MINOR) || \ + (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ == MINOR && __RGBDS_PATCH__ < PATCH) + fail "pokered requires rgbds {MAJOR}.{MINOR}.{PATCH} or newer." +endc diff --git a/scripts/BikeShop.asm b/scripts/BikeShop.asm index 71149759..2661ca70 100755 --- a/scripts/BikeShop.asm +++ b/scripts/BikeShop.asm @@ -23,7 +23,7 @@ BikeShopText1: call GiveItem jr nc, .BagFull ld a, BIKE_VOUCHER - ld [$ffdb], a + ld [hItemToRemoveID], a callba RemoveItemByID SetEvent EVENT_GOT_BICYCLE ld hl, BikeShopText_1d824 diff --git a/scripts/BillsHouse.asm b/scripts/BillsHouse.asm index 74efc960..395694a3 100755 --- a/scripts/BillsHouse.asm +++ b/scripts/BillsHouse.asm @@ -23,7 +23,7 @@ BillsHouseScript1: ld de, MovementData_1e7a0 .notDown ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $2 ld [wBillsHouseCurScript], a @@ -66,13 +66,13 @@ BillsHouseScript3: ld a, $2 ld [wSpriteIndex], a ld a, $c - ld [$ffeb], a + ld [hSpriteScreenYCoord], a ld a, $40 - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld a, $6 - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, $5 - ld [$ffee], a + ld [hSpriteMapXCoord], a call SetSpritePosition1 ld a, HS_BILL_1 ld [wMissableObjectIndex], a @@ -80,7 +80,7 @@ BillsHouseScript3: ld c, 8 call DelayFrames ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, MovementData_1e807 call MoveSprite ld a, $4 diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm index 50c02196..e2665555 100755 --- a/scripts/CeladonGym.asm +++ b/scripts/CeladonGym.asm @@ -170,7 +170,7 @@ CeladonGymText1: ld hl, CeladonGymText_48a63 ld de, CeladonGymText_48a63 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/CeladonMart3F.asm b/scripts/CeladonMart3F.asm index e7e216d9..c8d8b509 100755 --- a/scripts/CeladonMart3F.asm +++ b/scripts/CeladonMart3F.asm @@ -74,7 +74,7 @@ CeladonMart3Text5: TX_FAR _CeladonMart3Text5 db "@" -CeladonMart3Text12 +CeladonMart3Text12: CeladonMart3Text10: CeladonMart3Text8: CeladonMart3Text6: diff --git a/scripts/CeruleanCaveB1F.asm b/scripts/CeruleanCaveB1F.asm index a570ab18..9017bec3 100755 --- a/scripts/CeruleanCaveB1F.asm +++ b/scripts/CeruleanCaveB1F.asm @@ -7,7 +7,7 @@ CeruleanCaveB1F_Script: ld [wCeruleanCaveB1FCurScript], a ret -CeruleanCaveB1F_ScriptPointers +CeruleanCaveB1F_ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 117ec4da..61dd03f6 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -64,7 +64,7 @@ CeruleanCityScript0: ld a, [wWalkBikeSurfState] and a jr z, .asm_19512 - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .asm_19512 @@ -79,9 +79,9 @@ CeruleanCityScript0: cp $14 jr z, .asm_19535 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $5 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData2 ld [hl], $19 .asm_19535 @@ -90,7 +90,7 @@ CeruleanCityScript0: predef ShowObject ld de, CeruleanCityMovement1 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $1 ld [wCeruleanCityCurScript], a @@ -114,7 +114,7 @@ CeruleanCityMovement1: CeruleanCityScript_1955d: ld a, 1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay ; face object @@ -171,12 +171,12 @@ CeruleanCityScript2: ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wXCoord] cp $14 @@ -187,7 +187,7 @@ CeruleanCityScript2: ld de, CeruleanCityMovement3 .asm_195f3 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $3 ld [wCeruleanCityCurScript], a diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm index c4aaf7de..a3a8f18d 100755 --- a/scripts/CeruleanGym.asm +++ b/scripts/CeruleanGym.asm @@ -121,7 +121,7 @@ CeruleanGymText1: ld hl, CeruleanGymText_5c7d8 ld de, CeruleanGymText_5c7d8 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/ChampionsRoom.asm b/scripts/ChampionsRoom.asm index e3cdc6d2..506dc525 100755 --- a/scripts/ChampionsRoom.asm +++ b/scripts/ChampionsRoom.asm @@ -101,7 +101,7 @@ GaryScript3: ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, $4 ld [wChampionsRoomCurScript], a @@ -113,11 +113,11 @@ GaryScript4: ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, OakEntranceAfterVictoryMovement ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, HS_CHAMPIONS_ROOM_OAK ld [wMissableObjectIndex], a @@ -141,12 +141,12 @@ GaryScript5: ld a, PLAYER_DIR_LEFT ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -159,7 +159,7 @@ GaryScript5: GaryScript6: ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_RIGHT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -172,7 +172,7 @@ GaryScript6: GaryScript7: ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -181,7 +181,7 @@ GaryScript7: call GaryScript_760c8 ld de, OakExitGaryRoomMovement ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $8 ld [wChampionsRoomCurScript], a diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index f8be5823..08bbbe8b 100755 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -50,7 +50,7 @@ CinnabarGymScript0: ld a, [wOpponentAfterWrongAnswer] and a ret z - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a cp $4 jr nz, .asm_757c3 ld a, PLAYER_DIR_DOWN @@ -96,7 +96,7 @@ CinnabarGymScript2: cp $ff jp z, CinnabarGymScript_75792 ld a, [wTrainerHeaderFlagBit] - ld [$ffdb], a + ld [hGymGateIndex], a AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 ld c, a ld b, FLAG_TEST @@ -111,7 +111,7 @@ CinnabarGymScript2: call WaitForSoundToFinish .asm_7581b ld a, [wTrainerHeaderFlagBit] - ld [$ffdb], a + ld [hGymGateIndex], a AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 ld c, a ld b, FLAG_SET diff --git a/scripts/CopycatsHouse2F.asm b/scripts/CopycatsHouse2F.asm index b43234c3..64612535 100755 --- a/scripts/CopycatsHouse2F.asm +++ b/scripts/CopycatsHouse2F.asm @@ -29,7 +29,7 @@ CopycatsHouse2FText1: ld hl, ReceivedTM31Text call PrintText ld a, POKE_DOLL - ld [$ffdb], a + ld [hItemToRemoveID], a callba RemoveItemByID SetEvent EVENT_GOT_TM31 jr .asm_62ecd diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm index fc691dba..acedbbfe 100755 --- a/scripts/FightingDojo.asm +++ b/scripts/FightingDojo.asm @@ -43,7 +43,7 @@ FightingDojoScript1: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -62,7 +62,7 @@ FightingDojoScript3: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm index 15f016af..d0917106 100755 --- a/scripts/FuchsiaGym.asm +++ b/scripts/FuchsiaGym.asm @@ -161,7 +161,7 @@ FuchsiaGymText1: ld hl, KogaAfterBattleText ld de, KogaAfterBattleText call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/GameCorner.asm b/scripts/GameCorner.asm index 265508e0..57f18ac7 100755 --- a/scripts/GameCorner.asm +++ b/scripts/GameCorner.asm @@ -60,7 +60,7 @@ CeladonGameCornerScript1: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $b - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, MovementData_48c5a ld a, [wYCoord] @@ -75,7 +75,7 @@ CeladonGameCornerScript1: ld de, MovementData_48c63 .asm_48c4d ld a, $b - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $2 ld [wGameCornerCurScript], a @@ -418,7 +418,7 @@ CeladonGameCornerText11: ld hl, CeladonGameCornerText_48ed3 ld de, CeladonGameCornerText_48ed3 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/HallOfFame.asm b/scripts/HallOfFame.asm index af424089..14b4f15e 100755 --- a/scripts/HallOfFame.asm +++ b/scripts/HallOfFame.asm @@ -79,7 +79,7 @@ HallofFameRoomScript1: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm index 863d9d22..3a9ec99f 100755 --- a/scripts/MtMoonB2F.asm +++ b/scripts/MtMoonB2F.asm @@ -88,7 +88,7 @@ MtMoon3Script3: MtMoon3Script4: ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld hl, CoordsData_49dea call ArePlayerCoordsInArray @@ -102,7 +102,7 @@ MtMoon3Script4: ld de, MovementData_49df8 .asm_49dda ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $5 ld [wMtMoonB2FCurScript], a @@ -222,7 +222,7 @@ MtMoon3Text1: ld hl, MtMoon3Text_49f8a ld de, MtMoon3Text_49f8a call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index 11abdf65..b3347849 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -48,7 +48,7 @@ OaksLabScript0: OaksLabScript1: ld a, $8 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, OakEntryMovement call MoveSprite @@ -86,12 +86,12 @@ OaksLabScript3: ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -111,7 +111,7 @@ OaksLabScript4: SetEvent EVENT_FOLLOWED_OAK_INTO_LAB SetEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -155,12 +155,12 @@ OaksLabScript6: cp $6 ret nz ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -254,9 +254,9 @@ OaksLabScript8: jr nz, .moveBlue push hl ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $4 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 push hl ld [hl], $4c @@ -281,7 +281,7 @@ OaksLabScript8: .moveBlue ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $9 @@ -295,7 +295,7 @@ OaksLabScript9: ld a, $fc ld [wJoyIgnore], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -324,7 +324,7 @@ OaksLabScript9: ld [wd11e], a call GetMonName ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -344,7 +344,7 @@ OaksLabScript10: cp $6 ret nz ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -368,7 +368,7 @@ OaksLabScript10: predef FindPathToPlayer ld de, wNPCMovementDirections2 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $b @@ -424,7 +424,7 @@ OaksLabScript12: ld [wSpriteIndex], a call SetSpritePosition1 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -443,7 +443,7 @@ OaksLabScript13: call DisplayTextID callba Music_RivalAlternateStart ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, .RivalExitMovement call MoveSprite ld a, [wXCoord] @@ -510,7 +510,7 @@ OaksLabScript15: xor a ld [hJoyHeld], a call EnableAutoTextBoxDrawing - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart @@ -530,7 +530,7 @@ OaksLabScript15: call FillMemory ld [hl], $ff ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, wNPCMovementDirections2 call MoveSprite @@ -540,12 +540,12 @@ OaksLabScript15: OaksLabScript_1cefd: ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $8 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay @@ -588,7 +588,7 @@ OaksLabScript16: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_RIGHT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -611,12 +611,12 @@ OaksLabScript16: xor a ; NPC_MOVEMENT_DOWN call FillMemory ld [hl], $ff - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, wNPCMovementDirections2 call MoveSprite @@ -652,7 +652,7 @@ OaksLabScript18: OaksLabScript_RemoveParcel: ld hl, wBagItems - ld bc, $0000 + ld bc, 0 .loop ld a, [hli] cp $ff @@ -672,9 +672,9 @@ OaksLabScript_RemoveParcel: OaksLabScript_1d02b: ld a, $7c - ld [$ffeb], a + ld [hSpriteScreenYCoord], a ld a, $8 - ld [$ffee], a + ld [hSpriteMapXCoord], a ld a, [wYCoord] cp $3 jr nz, .asm_1d045 @@ -703,9 +703,9 @@ OaksLabScript_1d02b: .asm_1d066 ld a, $20 .asm_1d068 - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld a, b - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, $1 ld [wSpriteIndex], a call SetSpritePosition1 @@ -840,15 +840,15 @@ OaksLabText39: OaksLabScript_1d157: ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $9 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], SPRITE_FACING_DOWN ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $9 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], SPRITE_FACING_RIGHT ld hl, wd730 @@ -947,9 +947,9 @@ OaksLabReceivedMonText: OaksLabScript_1d22d: ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $9 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], $0 ld hl, OaksLabLastMonText diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm index 5ad7d40f..ff500ca0 100755 --- a/scripts/PalletTown.asm +++ b/scripts/PalletTown.asm @@ -27,8 +27,8 @@ PalletTownScript0: ld [hJoyHeld], a ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a - ld a, $FF - call PlaySound ; stop music + ld a, SFX_STOP_ALL_MUSIC + call PlaySound ld a, BANK(Music_MeetProfOak) ld c, a ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music @@ -61,7 +61,7 @@ PalletTownScript1: PalletTownScript2: ld a, 1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -79,7 +79,7 @@ PalletTownScript2: predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2 ld de, wNPCMovementDirections2 ld a, 1 ; oak - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $FF ld [wJoyIgnore], a @@ -111,7 +111,7 @@ PalletTownScript3: ld [wNPCMovementScriptFunctionNum], a ld a, 1 ld [wNPCMovementScriptPointerTableNum], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wNPCMovementScriptBank], a ; trigger the next script diff --git a/scripts/PewterCity.asm b/scripts/PewterCity.asm index 18296675..86037c13 100755 --- a/scripts/PewterCity.asm +++ b/scripts/PewterCity.asm @@ -44,7 +44,7 @@ PewterCityScript1: and a ret nz ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -58,18 +58,18 @@ PewterCityScript1: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3c - ld [$ffeb], a + ld [hSpriteScreenYCoord], a ld a, $30 - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld a, $c - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, $11 - ld [$ffee], a + ld [hSpriteMapXCoord], a ld a, $3 ld [wSpriteIndex], a call SetSpritePosition1 ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, MovementData_PewterMuseumGuyExit call MoveSprite ld a, $2 @@ -112,7 +112,7 @@ PewterCityScript4: and a ret nz ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -126,18 +126,18 @@ PewterCityScript4: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3c - ld [$ffeb], a + ld [hSpriteScreenYCoord], a ld a, $40 - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld a, $16 - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, $10 - ld [$ffee], a + ld [hSpriteMapXCoord], a ld a, $5 ld [wSpriteIndex], a call SetSpritePosition1 ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, MovementData_PewterGymGuyExit call MoveSprite ld a, $5 @@ -220,7 +220,7 @@ PewterCityText3: ld [wNPCMovementScriptFunctionNum], a ld a, $2 ld [wNPCMovementScriptPointerTableNum], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wNPCMovementScriptBank], a ld a, $3 ld [wSpriteIndex], a @@ -284,7 +284,7 @@ PewterCityText5: ld [wNPCMovementScriptFunctionNum], a ld a, $3 ld [wNPCMovementScriptPointerTableNum], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wNPCMovementScriptBank], a ld a, $5 ld [wSpriteIndex], a diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm index cf02b141..643fe41c 100755 --- a/scripts/PewterGym.asm +++ b/scripts/PewterGym.asm @@ -120,7 +120,7 @@ PewterGymText1: ld hl, PewterGymText_5c4bc ld de, PewterGymText_5c4bc call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/PewterPokecenter.asm b/scripts/PewterPokecenter.asm index 22d2fb6b..be933fee 100755 --- a/scripts/PewterPokecenter.asm +++ b/scripts/PewterPokecenter.asm @@ -21,7 +21,8 @@ PewterJigglypuffText: ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, .Text call PrintText - StopAllMusic + ld a, SFX_STOP_ALL_MUSIC + call PlaySound ld c, 32 call DelayFrames ld hl, JigglypuffFacingDirections diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm index 81f4c0b3..cc00d938 100755 --- a/scripts/PokemonTower2F.asm +++ b/scripts/PokemonTower2F.asm @@ -22,7 +22,7 @@ PokemonTower2Script0: ld hl, CoordsData_6055e call ArePlayerCoordsInArray ret nc - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld c, BANK(Music_MeetRival) @@ -41,7 +41,7 @@ PokemonTower2Script0: .asm_60544 ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, b ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -74,9 +74,9 @@ PokemonTower2Script1: ld de, MovementData_605a9 .asm_60589 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart diff --git a/scripts/PokemonTower7F.asm b/scripts/PokemonTower7F.asm index 4b2a1827..fa2ca9bc 100755 --- a/scripts/PokemonTower7F.asm +++ b/scripts/PokemonTower7F.asm @@ -107,7 +107,7 @@ PokemonTower7Script_60db6: ld d, [hl] ld e, a ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp MoveSprite .asm_60dde inc hl diff --git a/scripts/PowerPlant.asm b/scripts/PowerPlant.asm index 35b4893f..f720b6f8 100755 --- a/scripts/PowerPlant.asm +++ b/scripts/PowerPlant.asm @@ -7,7 +7,7 @@ PowerPlant_Script: ld [wPowerPlantCurScript], a ret -PowerPlant_ScriptPointers +PowerPlant_ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle diff --git a/scripts/RocketHideoutB4F.asm b/scripts/RocketHideoutB4F.asm index b2ce21f4..71fe7d1c 100755 --- a/scripts/RocketHideoutB4F.asm +++ b/scripts/RocketHideoutB4F.asm @@ -125,7 +125,7 @@ RocketHideout4Text1: ld hl, RocketHideout4Text_4557f ld de, RocketHideout4Text_4557f call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/Route22.asm b/scripts/Route22.asm index 7226e509..8fde2d42 100755 --- a/scripts/Route22.asm +++ b/scripts/Route22.asm @@ -88,7 +88,7 @@ Route22Script0: ld a, [wWalkBikeSurfState] and a jr z, .asm_50f4e - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .asm_50f4e @@ -96,7 +96,7 @@ Route22Script0: ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call Route22MoveRivalSprite ld a, $1 ld [wRoute22CurScript], a @@ -118,7 +118,7 @@ Route22Script1: .asm_50f7a ld [hSpriteFacingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteFacingDirectionAndDelay xor a ld [wJoyIgnore], a @@ -159,7 +159,7 @@ Route22Script2: .done ld [hSpriteFacingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a @@ -167,7 +167,7 @@ Route22Script2: ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart @@ -191,7 +191,7 @@ Route22Script_5100d: ld de, Route22RivalExitMovementData2 Route22MoveRival1: ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp MoveSprite Route22RivalExitMovementData1: @@ -241,16 +241,16 @@ Route22Script_5104e: ld a, [wWalkBikeSurfState] and a jr z, .skipYVisibilityTesta - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .skipYVisibilityTesta - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateTempo ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call Route22MoveRivalSprite ld a, $4 ld [wRoute22CurScript], a @@ -261,7 +261,7 @@ Route22Script4: bit 0, a ret nz ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, [wcf0d] cp $1 jr nz, .asm_510a1 @@ -305,7 +305,7 @@ Route22Script5: cp $ff jp z, Route22Script_50ece ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, [wcf0d] cp $1 jr nz, .asm_510fb @@ -326,7 +326,7 @@ Route22Script5: ld a, $2 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStartAndTempo @@ -350,7 +350,7 @@ Route22Script_51142: ld de, MovementData_5114d Route22MoveRival2: ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp MoveSprite MovementData_5114c: diff --git a/scripts/Route5Gate.asm b/scripts/Route5Gate.asm index bc763dfd..e5d86b97 100755 --- a/scripts/Route5Gate.asm +++ b/scripts/Route5Gate.asm @@ -27,7 +27,7 @@ Route5GateScript0: xor a ld [hJoyHeld], a callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_1df82 ld a, $2 @@ -74,7 +74,7 @@ Route5GateText1: bit 6, a jr nz, .asm_88856 callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_768a2 ld hl, Route5GateText2 diff --git a/scripts/Route6Gate.asm b/scripts/Route6Gate.asm index 348f61ac..6b00eddb 100755 --- a/scripts/Route6Gate.asm +++ b/scripts/Route6Gate.asm @@ -21,7 +21,7 @@ Route6GateScript0: xor a ld [hJoyHeld], a callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_1e080 ld a, $2 diff --git a/scripts/Route7Gate.asm b/scripts/Route7Gate.asm index 724172c5..06c5c91b 100755 --- a/scripts/Route7Gate.asm +++ b/scripts/Route7Gate.asm @@ -33,7 +33,7 @@ Route7GateScript0: xor a ld [hJoyHeld], a callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_1e15a ld a, $2 diff --git a/scripts/Route8Gate.asm b/scripts/Route8Gate.asm index 8ecea68e..80b8b9a4 100755 --- a/scripts/Route8Gate.asm +++ b/scripts/Route8Gate.asm @@ -32,7 +32,7 @@ Route8GateScript0: xor a ld [hJoyHeld], a callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_1e220 ld a, $2 diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm index ba900748..face08d8 100755 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -24,26 +24,26 @@ SSAnne2Script0: ld hl, CoordsData_61411 call ArePlayerCoordsInArray ret nc - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, [wCoordIndex] - ld [$ffdb], a + ld [hSavedCoordIndex], a ld a, HS_SS_ANNE_2F_RIVAL ld [wMissableObjectIndex], a predef ShowObject call Delay3 ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF xor a ld [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a - ld a, [$ffdb] + ld a, [hSavedCoordIndex] cp $2 jr nz, .asm_61400 ld de, MovementData_6140c @@ -83,7 +83,7 @@ SSAnne2Script_61416: .asm_61427 ld [hSpriteFacingDirection], a ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp SetSpriteFacingDirectionAndDelay SSAnne2Script1: @@ -132,7 +132,7 @@ SSAnne2Script2: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wXCoord] cp $25 @@ -143,9 +143,9 @@ SSAnne2Script2: ld de, MovementData_614b7 .asm_6149a ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart diff --git a/scripts/SSAnneCaptainsRoom.asm b/scripts/SSAnneCaptainsRoom.asm index de0272e4..6078ccf0 100755 --- a/scripts/SSAnneCaptainsRoom.asm +++ b/scripts/SSAnneCaptainsRoom.asm @@ -48,10 +48,10 @@ SSAnne7RubText: cp BANK(Audio3_UpdateMusic) ld [wAudioSavedROMBank], a jr nz, .asm_61908 - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound - ld a, Bank(Music_PkmnHealed) + ld a, BANK(Music_PkmnHealed) ld [wAudioROMBank], a .asm_61908 ld a, MUSIC_PKMN_HEALED diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index 0539d613..8842472c 100755 --- a/scripts/SaffronGym.asm +++ b/scripts/SaffronGym.asm @@ -171,7 +171,7 @@ SaffronGymText1: ld hl, SaffronGymText_5d167 ld de, SaffronGymText_5d167 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/SilphCo10F.asm b/scripts/SilphCo10F.asm index 40506682..92d95de1 100755 --- a/scripts/SilphCo10F.asm +++ b/scripts/SilphCo10F.asm @@ -28,7 +28,7 @@ SilphCo10GateCoords: db $FF SilphCo10Text_5a176: - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR diff --git a/scripts/SilphCo11F.asm b/scripts/SilphCo11F.asm index 483082a1..116b528f 100755 --- a/scripts/SilphCo11F.asm +++ b/scripts/SilphCo11F.asm @@ -35,14 +35,14 @@ SilphCo11Script_62137: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_62143 ld a, [hli] cp $ff jr z, .asm_6215f push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -60,11 +60,11 @@ SilphCo11Script_62137: ret .asm_6215f xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo11Script_62163: - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR @@ -178,7 +178,7 @@ SilphCo11Script0: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, MovementData_62216 call MoveSprite @@ -199,7 +199,7 @@ MovementData_62216: SilphCo11Script_6221a: ld [wPlayerMovingDirection], a ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, b ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay @@ -239,7 +239,7 @@ SilphCo11Script3: bit 0, a ret nz ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wcf0d] cp $1 @@ -263,7 +263,7 @@ SilphCo11Script4: ld hl, SilphCo10Text_62330 ld de, SilphCo10Text_62330 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/SilphCo2F.asm b/scripts/SilphCo2F.asm index 5fd542cb..0ff7cee3 100755 --- a/scripts/SilphCo2F.asm +++ b/scripts/SilphCo2F.asm @@ -45,14 +45,14 @@ SilphCo2Script_59d43: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_59d4f ld a, [hli] cp $ff jr z, .asm_59d6b push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -70,12 +70,12 @@ SilphCo2Script_59d43: ret .asm_59d6b xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo2Script_59d6f: EventFlagAddress hl, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo3F.asm b/scripts/SilphCo3F.asm index 42b5d611..3b6b1da8 100755 --- a/scripts/SilphCo3F.asm +++ b/scripts/SilphCo3F.asm @@ -39,7 +39,7 @@ SilphCo3GateCoords: SilphCo3Script_59fad: EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo4F.asm b/scripts/SilphCo4F.asm index 7d5072f6..61288277 100755 --- a/scripts/SilphCo4F.asm +++ b/scripts/SilphCo4F.asm @@ -45,14 +45,14 @@ SilphCo4Script_19d5d: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_19d69 ld a, [hli] cp $ff jr z, .asm_19d85 push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -70,12 +70,12 @@ SilphCo4Script_19d5d: ret .asm_19d85 xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo4Script_19d89: EventFlagAddress hl, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo5F.asm b/scripts/SilphCo5F.asm index d9deda5b..39d7235b 100755 --- a/scripts/SilphCo5F.asm +++ b/scripts/SilphCo5F.asm @@ -49,7 +49,7 @@ SilphCo5GateCoords: SilphCo5Script_19f9e: EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo6F.asm b/scripts/SilphCo6F.asm index ddbcba79..9e6ffaf1 100755 --- a/scripts/SilphCo6F.asm +++ b/scripts/SilphCo6F.asm @@ -28,7 +28,7 @@ SilphCo6GateCoords: db $FF SilphCo6Script_1a1e6: - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index e7594663..4966bba6 100755 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -55,14 +55,14 @@ SilphCo7Text_51bc8: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_51bd4 ld a, [hli] cp $ff jr z, .asm_51bf0 push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -80,12 +80,12 @@ SilphCo7Text_51bc8: ret .asm_51bf0 xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo7Text_51bf4: EventFlagAddress hl, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 @@ -130,7 +130,7 @@ SilphCo7Script0: ld [wJoyIgnore], a ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld c, BANK(Music_MeetRival) @@ -140,7 +140,7 @@ SilphCo7Script0: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $9 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, MovementData_51c7d ld a, [wCoordIndex] @@ -150,7 +150,7 @@ SilphCo7Script0: inc de .asm_51c6c ld a, $9 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $3 jp SilphCo7Text_51c10 @@ -212,14 +212,14 @@ SilphCo7Script4: ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a ld a, $9 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $f ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart @@ -230,7 +230,7 @@ SilphCo7Script4: ld de, MovementData_51d1a .asm_51d0e ld a, $9 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $5 jp SilphCo7Text_51c10 diff --git a/scripts/SilphCo8F.asm b/scripts/SilphCo8F.asm index ce6579f7..b1c32a34 100755 --- a/scripts/SilphCo8F.asm +++ b/scripts/SilphCo8F.asm @@ -35,14 +35,14 @@ SilphCo8Script_56541: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_5654d ld a, [hli] cp $ff jr z, .asm_56569 push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -60,11 +60,11 @@ SilphCo8Script_56541: ret .asm_56569 xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo8Script_5656d: - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR diff --git a/scripts/SilphCo9F.asm b/scripts/SilphCo9F.asm index 66291e98..d9fdc625 100755 --- a/scripts/SilphCo9F.asm +++ b/scripts/SilphCo9F.asm @@ -65,14 +65,14 @@ SilphCo9Script_5d837: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_5d843 ld a, [hli] cp $ff jr z, .asm_5d85f push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -90,12 +90,12 @@ SilphCo9Script_5d837: ret .asm_5d85f xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo9Script_5d863: EventFlagAddress hl, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/TradeCenter.asm b/scripts/TradeCenter.asm index ddb3061e..3201c8cd 100755 --- a/scripts/TradeCenter.asm +++ b/scripts/TradeCenter.asm @@ -8,7 +8,7 @@ TradeCenter_Script: .next ld [hSpriteFacingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteFacingDirection ld hl, wd72d bit 0, [hl] diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index 65b66c52..90fef6b2 100755 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -38,7 +38,7 @@ VermilionDock_Script: VermilionDock_1db9b: SetEventForceReuseHL EVENT_SS_ANNE_LEFT - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wJoyIgnore], a ld [wNewSoundID], a call PlaySound @@ -57,10 +57,10 @@ VermilionDock_1db9b: ld a, $14 ; water tile call FillMemory ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [wSSAnneSmokeDriftAmount], a ld [rOBP1], a ld a, 88 @@ -78,7 +78,7 @@ VermilionDock_1db9b: ld d, $0 ld e, $8 .asm_1dbfa - ld hl, $0002 + ld hl, $2 add hl, bc ld a, l ld [wMapViewVRAMPointer], a diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm index 0af37945..1569fb55 100755 --- a/scripts/VermilionGym.asm +++ b/scripts/VermilionGym.asm @@ -150,7 +150,7 @@ LTSurgeText: ld hl, ReceivedThunderbadgeText ld de, ReceivedThunderbadgeText call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm index 643431a4..c3eb9a79 100755 --- a/scripts/ViridianCity.asm +++ b/scripts/ViridianCity.asm @@ -59,14 +59,14 @@ ViridianCityScript_1903d: ret ViridianCityScript1: - ld a, [wSpriteStateData1 + $34] - ld [$ffeb], a - ld a, [wSpriteStateData1 + $36] - ld [$ffec], a - ld a, [wSpriteStateData2 + $34] - ld [$ffed], a - ld a, [wSpriteStateData2 + $35] - ld [$ffee], a + ld a, [wSprite03StateData1YPixels] + ld [hSpriteScreenYCoord], a + ld a, [wSprite03StateData1XPixels] + ld [hSpriteScreenXCoord], a + ld a, [wSprite03StateData2MapY] + ld [hSpriteMapYCoord], a + ld a, [wSprite03StateData2MapX] + ld [hSpriteMapXCoord], a xor a ld [wListScrollOffset], a @@ -82,14 +82,14 @@ ViridianCityScript1: ret ViridianCityScript2: - ld a, [$ffeb] - ld [wSpriteStateData1 + $34], a - ld a, [$ffec] - ld [wSpriteStateData1 + $36], a - ld a, [$ffed] - ld [wSpriteStateData2 + $34], a - ld a, [$ffee] - ld [wSpriteStateData2 + $35], a + ld a, [hSpriteScreenYCoord] + ld [wSprite03StateData1YPixels], a + ld a, [hSpriteScreenXCoord] + ld [wSprite03StateData1XPixels], a + ld a, [hSpriteMapYCoord] + ld [wSprite03StateData2MapY], a + ld a, [hSpriteMapXCoord] + ld [wSprite03StateData2MapX], a call UpdateSprites call Delay3 xor a diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index b0f94b9d..40e6a57f 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -289,7 +289,7 @@ ViridianGymText1: ld hl, ViridianGymText_74ad3 ld de, ViridianGymText_74ad3 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/WardensHouse.asm b/scripts/WardensHouse.asm index 69e199c9..015d137f 100755 --- a/scripts/WardensHouse.asm +++ b/scripts/WardensHouse.asm @@ -32,7 +32,7 @@ FuchsiaHouse2Text1: ld hl, WardenTeethText1 call PrintText ld a, GOLD_TEETH - ld [$ffdb], a + ld [hItemToRemoveID], a callba RemoveItemByID SetEvent EVENT_GAVE_GOLD_TEETH .asm_60cba @@ -95,7 +95,7 @@ HM04NoRoomText: FuchsiaHouse2Text5: FuchsiaHouse2Text4: TX_ASM - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] cp $4 ld hl, FuchsiaHouse2Text_7517b jr nz, .asm_4c9a2 diff --git a/text.asm b/text.asm index a426de39..d15f258a 100644 --- a/text.asm +++ b/text.asm @@ -1,3189 +1,280 @@ -INCLUDE "macros.asm" -INCLUDE "charmap.asm" - -INCLUDE "hram.asm" - -INCLUDE "constants/text_constants.asm" +INCLUDE "constants.asm" SECTION "Text 1", ROMX -_CardKeySuccessText1:: - text "Bingo!@@" +INCLUDE "data/text/text_1.asm" -_CardKeySuccessText2:: - text "" - line "The CARD KEY" - cont "opened the door!" - done - -_CardKeyFailText:: - text "Darn! It needs a" - line "CARD KEY!" - done - -_TrainerNameText:: - TX_RAM wcd6d - text ": @@" - -_NoNibbleText:: - text "Not even a nibble!" - prompt - -_NothingHereText:: - text "Looks like there's" - line "nothing here." - prompt - -_ItsABiteText:: - text "Oh!" - line "It's a bite!" - prompt - -_ExclamationText:: - text "!" - done - -_GroundRoseText:: - text "Ground rose up" - line "somewhere!" - done - -_BoulderText:: - text "This requires" - line "STRENGTH to move!" - done - -_MartSignText:: - text "All your item" - line "needs fulfilled!" - cont "#MON MART" - done - -_PokeCenterSignText:: - text "Heal Your #MON!" - line "#MON CENTER" - done - -_FoundItemText:: - text " found" - line "@" - TX_RAM wcf4b - text "!@@" - -_NoMoreRoomForItemText:: - text "No more room for" - line "items!" - done - -_OaksAideHiText:: - text "Hi! Remember me?" - line "I'm PROF.OAK's" - cont "AIDE!" - - para "If you caught @" - TX_NUM hOaksAideRequirement, 1, 3 - text "" - line "kinds of #MON," - cont "I'm supposed to" - cont "give you an" - cont "@" - TX_RAM wOaksAideRewardItemName - text "!" - - para "So, ! Have" - line "you caught at" - cont "least @" - TX_NUM hOaksAideRequirement, 1, 3 - text " kinds of" - cont "#MON?" - done - -_OaksAideUhOhText:: - text "Let's see..." - line "Uh-oh! You have" - cont "caught only @" - TX_NUM hOaksAideNumMonsOwned, 1, 3 - text "" - cont "kinds of #MON!" - - para "You need @" - TX_NUM hOaksAideRequirement, 1, 3 - text " kinds" - line "if you want the" - cont "@" - TX_RAM wOaksAideRewardItemName - text "." - done - -_OaksAideComeBackText:: - text "Oh. I see." - - para "When you get @" - TX_NUM hOaksAideRequirement, 1, 3 - text "" - line "kinds, come back" - cont "for @" - TX_RAM wOaksAideRewardItemName - text "." - done - -_OaksAideHereYouGoText:: - text "Great! You have" - line "caught @" - TX_NUM hOaksAideNumMonsOwned, 1, 3 - text " kinds " - cont "of #MON!" - cont "Congratulations!" - - para "Here you go!" - prompt - -_OaksAideGotItemText:: - text " got the" - line "@" - TX_RAM wOaksAideRewardItemName - text "!@@" - -_OaksAideNoRoomText:: - text "Oh! I see you" - line "don't have any" - cont "room for the" - cont "@" - TX_RAM wOaksAideRewardItemName - text "." - done - -INCLUDE "text/maps/ViridianForest.asm" -INCLUDE "text/maps/MtMoon1F.asm" -INCLUDE "text/maps/MtMoonB1F.asm" -INCLUDE "text/maps/MtMoonB2F.asm" -INCLUDE "text/maps/SSAnne1F.asm" -INCLUDE "text/maps/SSAnne2F.asm" -INCLUDE "text/maps/SSAnne3F.asm" -INCLUDE "text/maps/SSAnneBow.asm" -INCLUDE "text/maps/SSAnneKitchen.asm" -INCLUDE "text/maps/SSAnneCaptainsRoom.asm" -INCLUDE "text/maps/SSAnne1FRooms.asm" -INCLUDE "text/maps/SSAnne2FRooms.asm" -INCLUDE "text/maps/SSAnneB1FRooms.asm" -INCLUDE "text/maps/VictoryRoad3F.asm" -INCLUDE "text/maps/RocketHideoutB1F.asm" -INCLUDE "text/maps/RocketHideoutB2F.asm" -INCLUDE "text/maps/RocketHideoutB3F.asm" -INCLUDE "text/maps/RocketHideoutB4F.asm" -INCLUDE "text/maps/RocketHideoutElevator.asm" -INCLUDE "text/maps/SilphCo2F.asm" -INCLUDE "text/maps/SilphCo3F.asm" -INCLUDE "text/maps/SilphCo4F.asm" -INCLUDE "text/maps/SilphCo5F.asm" +INCLUDE "text/ViridianForest.asm" +INCLUDE "text/MtMoon1F.asm" +INCLUDE "text/MtMoonB1F.asm" +INCLUDE "text/MtMoonB2F.asm" +INCLUDE "text/SSAnne1F.asm" +INCLUDE "text/SSAnne2F.asm" +INCLUDE "text/SSAnne3F.asm" +INCLUDE "text/SSAnneBow.asm" +INCLUDE "text/SSAnneKitchen.asm" +INCLUDE "text/SSAnneCaptainsRoom.asm" +INCLUDE "text/SSAnne1FRooms.asm" +INCLUDE "text/SSAnne2FRooms.asm" +INCLUDE "text/SSAnneB1FRooms.asm" +INCLUDE "text/VictoryRoad3F.asm" +INCLUDE "text/RocketHideoutB1F.asm" +INCLUDE "text/RocketHideoutB2F.asm" +INCLUDE "text/RocketHideoutB3F.asm" +INCLUDE "text/RocketHideoutB4F.asm" +INCLUDE "text/RocketHideoutElevator.asm" +INCLUDE "text/SilphCo2F.asm" +INCLUDE "text/SilphCo3F.asm" +INCLUDE "text/SilphCo4F.asm" +INCLUDE "text/SilphCo5F.asm" SECTION "Text 2", ROMX -INCLUDE "text/maps/SilphCo5F_2.asm" -INCLUDE "text/maps/SilphCo6F.asm" -INCLUDE "text/maps/SilphCo7F.asm" -INCLUDE "text/maps/SilphCo8F.asm" -INCLUDE "text/maps/SilphCo9F.asm" -INCLUDE "text/maps/SilphCo10F.asm" -INCLUDE "text/maps/SilphCo11F.asm" -INCLUDE "text/maps/PokemonMansion2F.asm" -INCLUDE "text/maps/PokemonMansion3F.asm" -INCLUDE "text/maps/PokemonMansionB1F.asm" -INCLUDE "text/maps/SafariZoneEast.asm" -INCLUDE "text/maps/SafariZoneNorth.asm" -INCLUDE "text/maps/SafariZoneWest.asm" -INCLUDE "text/maps/SafariZoneCenter.asm" -INCLUDE "text/maps/SafariZoneCenterRestHouse.asm" -INCLUDE "text/maps/SafariZoneSecretHouse.asm" -INCLUDE "text/maps/SafariZoneWestRestHouse.asm" -INCLUDE "text/maps/SafariZoneEastRestHouse.asm" -INCLUDE "text/maps/SafariZoneNorthRestHouse.asm" -INCLUDE "text/maps/CeruleanCaveB1F.asm" -INCLUDE "text/maps/VictoryRoad1F.asm" -INCLUDE "text/maps/LancesRoom.asm" -INCLUDE "text/maps/HallOfFame.asm" -INCLUDE "text/maps/ChampionsRoom.asm" -INCLUDE "text/maps/LoreleisRoom.asm" -INCLUDE "text/maps/BrunosRoom.asm" -INCLUDE "text/maps/AgathasRoom.asm" -INCLUDE "text/maps/RockTunnelB1F.asm" +INCLUDE "text/SilphCo5F_2.asm" +INCLUDE "text/SilphCo6F.asm" +INCLUDE "text/SilphCo7F.asm" +INCLUDE "text/SilphCo8F.asm" +INCLUDE "text/SilphCo9F.asm" +INCLUDE "text/SilphCo10F.asm" +INCLUDE "text/SilphCo11F.asm" +INCLUDE "text/PokemonMansion2F.asm" +INCLUDE "text/PokemonMansion3F.asm" +INCLUDE "text/PokemonMansionB1F.asm" +INCLUDE "text/SafariZoneEast.asm" +INCLUDE "text/SafariZoneNorth.asm" +INCLUDE "text/SafariZoneWest.asm" +INCLUDE "text/SafariZoneCenter.asm" +INCLUDE "text/SafariZoneCenterRestHouse.asm" +INCLUDE "text/SafariZoneSecretHouse.asm" +INCLUDE "text/SafariZoneWestRestHouse.asm" +INCLUDE "text/SafariZoneEastRestHouse.asm" +INCLUDE "text/SafariZoneNorthRestHouse.asm" +INCLUDE "text/CeruleanCaveB1F.asm" +INCLUDE "text/VictoryRoad1F.asm" +INCLUDE "text/LancesRoom.asm" +INCLUDE "text/HallOfFame.asm" +INCLUDE "text/ChampionsRoom.asm" +INCLUDE "text/LoreleisRoom.asm" +INCLUDE "text/BrunosRoom.asm" +INCLUDE "text/AgathasRoom.asm" +INCLUDE "text/RockTunnelB1F.asm" SECTION "Text 3", ROMX -INCLUDE "text/maps/RockTunnelB1F_2.asm" -INCLUDE "text/maps/SeafoamIslandsB4F.asm" - -_AIBattleWithdrawText:: - TX_RAM wTrainerName - text " with-" - line "drew @" - TX_RAM wEnemyMonNick - text "!" - prompt - -_AIBattleUseItemText:: - TX_RAM wTrainerName - text "" - line "used @" - TX_RAM wcd6d - text "" - cont "on @" - TX_RAM wEnemyMonNick - text "!" - prompt - -_TradeWentToText:: - TX_RAM wcf4b - text " went" - line "to @" - TX_RAM wLinkEnemyTrainerName - text "." - done - -_TradeForText:: - text "For 's" - line "@" - TX_RAM wcf4b - text "," - done - -_TradeSendsText:: - TX_RAM wLinkEnemyTrainerName - text " sends" - line "@" - TX_RAM wcd6d - text "." - done - -_TradeWavesFarewellText:: - TX_RAM wLinkEnemyTrainerName - text " waves" - line "farewell as" - done - -_TradeTransferredText:: - TX_RAM wcd6d - text " is" - line "transferred." - done - -_TradeTakeCareText:: - text "Take good care of" - line "@" - TX_RAM wcd6d - text "." - done - -_TradeWillTradeText:: - TX_RAM wLinkEnemyTrainerName - text " will" - line "trade @" - TX_RAM wcd6d - text "" - done - -_TradeforText:: - text "for 's" - line "@" - TX_RAM wcf4b - text "." - done - -_PlaySlotMachineText:: - text "A slot machine!" - line "Want to play?" - done - -_OutOfCoinsSlotMachineText:: - text "Darn!" - line "Ran out of coins!" - done - -_BetHowManySlotMachineText:: - text "Bet how many" - line "coins?" - done - -_StartSlotMachineText:: - text "Start!" - done - -_NotEnoughCoinsSlotMachineText:: - text "Not enough" - line "coins!" - prompt - -_OneMoreGoSlotMachineText:: - text "One more " - line "go?" - done - -_LinedUpText:: - text " lined up!" - line "Scored @" - TX_RAM wcf4b - text " coins!" - done - -_NotThisTimeText:: - text "Not this time!" - prompt - -_YeahText:: - text "Yeah!@@" - -_DexSeenOwnedText:: - text "#DEX Seen:@" - TX_NUM wDexRatingNumMonsSeen, 1, 3 - text "" - line " Owned:@" - TX_NUM wDexRatingNumMonsOwned, 1, 3 - db "@" - -_DexRatingText:: - text "#DEX Rating", $6d - done - -_GymStatueText1:: - TX_RAM wGymCityName - text "" - line "#MON GYM" - cont "LEADER: @" - TX_RAM wGymLeaderName - text "" - - para "WINNING TRAINERS:" - line "" - done - -_GymStatueText2:: - TX_RAM wGymCityName - text "" - line "#MON GYM" - cont "LEADER: @" - TX_RAM wGymLeaderName - text "" - - para "WINNING TRAINERS:" - line "" - cont "" - done - -_ViridianCityPokecenterGuyText:: - text "#MON CENTERs" - line "heal your tired," - cont "hurt or fainted" - cont "#MON!" - done - -_PewterCityPokecenterGuyText:: - text "Yawn!" - - para "When JIGGLYPUFF" - line "sings, #MON" - cont "get drowsy..." - - para "...Me too..." - line "Snore..." - done - -_CeruleanPokecenterGuyText:: - text "BILL has lots of" - line "#MON!" - - para "He collects rare" - line "ones too!" - done - -_LavenderPokecenterGuyText:: - text "CUBONEs wear" - line "skulls, right?" - - para "People will pay a" - line "lot for one!" - done - -_MtMoonPokecenterBenchGuyText:: - text "If you have too" - line "many #MON, you" - cont "should store them" - cont "via PC!" - done - -_RockTunnelPokecenterGuyText:: - text "I heard that" - line "GHOSTs haunt" - cont "LAVENDER TOWN!" - done - -_UnusedBenchGuyText1:: - text "I wish I could" - line "catch #MON." - done - -_UnusedBenchGuyText2:: - text "I'm tired from" - line "all the fun..." - done - -_UnusedBenchGuyText3:: - text "SILPH's manager" - line "is hiding in the" - cont "SAFARI ZONE." - done - -_VermilionPokecenterGuyText:: - text "It is true that a" - line "higher level" - cont "#MON will be" - cont "more powerful..." - - para "But, all #MON" - line "will have weak" - cont "points against" - cont "specific types." - - para "So, there is no" - line "universally" - cont "strong #MON." - done - -_CeladonCityPokecenterGuyText:: - text "If I had a BIKE," - line "I would go to" - cont "CYCLING ROAD!" - done - -_FuchsiaCityPokecenterGuyText:: - text "If you're studying " - line "#MON, visit" - cont "the SAFARI ZONE." - - para "It has all sorts" - line "of rare #MON." - done - -_CinnabarPokecenterGuyText:: - text "#MON can still" - line "learn techniques" - cont "after canceling" - cont "evolution." - - para "Evolution can wait" - line "until new moves" - cont "have been learned." - done - -_SaffronCityPokecenterGuyText1:: - text "It would be great" - line "if the ELITE FOUR" - cont "came and stomped" - cont "TEAM ROCKET!" - done - -_SaffronCityPokecenterGuyText2:: - text "TEAM ROCKET took" - line "off! We can go" - cont "out safely again!" - cont "That's great!" - done - -_CeladonCityHotelText:: - text "My sis brought me" - line "on this vacation!" - done - -_BookcaseText:: - text "Crammed full of" - line "#MON books!" - done - -_NewBicycleText:: - text "A shiny new" - line "BICYCLE!" - done - -_PushStartText:: - text "Push START to" - line "open the MENU!" - done - -_SaveOptionText:: - text "The SAVE option is" - line "on the MENU" - cont "screen." - done - -_StrengthsAndWeaknessesText:: - text "All #MON types" - line "have strong and" - cont "weak points" - cont "against others." - done - -_TimesUpText:: - text "PA: Ding-dong!" - - para "Time's up!" - prompt - -_GameOverText:: - text "PA: Your SAFARI" - line "GAME is over!" - done - -_CinnabarGymQuizIntroText:: - text "#MON Quiz!" - - para "Get it right and" - line "the door opens to" - cont "the next room!" - - para "Get it wrong and" - line "face a trainer!" - - para "If you want to" - line "conserve your" - cont "#MON for the" - cont "GYM LEADER..." - - para "Then get it right!" - line "Here we go!" - prompt - -_CinnabarQuizQuestionsText1:: - text "CATERPIE evolves" - line "into BUTTERFREE?" - done - -_CinnabarQuizQuestionsText2:: - text "There are 9" - line "certified #MON" - cont "LEAGUE BADGEs?" - done - -_CinnabarQuizQuestionsText3:: - text "POLIWAG evolves 3" - line "times?" - done - -_CinnabarQuizQuestionsText4:: - text "Are thunder moves" - line "effective against" - cont "ground element-" - cont "type #MON?" - done - -_CinnabarQuizQuestionsText5:: - text "#MON of the" - line "same kind and" - cont "level are not" - cont "identical?" - done - -_CinnabarQuizQuestionsText6:: - text "TM28 contains" - line "TOMBSTONER?" - done - -_CinnabarGymQuizCorrectText:: - text "You're absolutely" - line "correct!" - - para "Go on through!@@" - -_CinnabarGymQuizIncorrectText:: - text "Sorry! Bad call!" - prompt - -_MagazinesText:: - text "#MON magazines!" - - para "#MON notebooks!" - - para "#MON graphs!" - done - -_BillsHouseMonitorText:: - text "TELEPORTER is" - line "displayed on the" - cont "PC monitor." - done - -_BillsHouseInitiatedText:: - text " initiated" - line "TELEPORTER's Cell" - cont "Separator!@@" - -_BillsHousePokemonListText1:: - text "BILL's favorite" - line "#MON list!" - prompt - -_BillsHousePokemonListText2:: - text "Which #MON do" - line "you want to see?" - done - -_OakLabEmailText:: - text "There's an e-mail" - line "message here!" - - para "..." - - para "Calling all" - line "#MON trainers!" - - para "The elite trainers" - line "of #MON LEAGUE" - cont "are ready to take" - cont "on all comers!" - - para "Bring your best" - line "#MON and see" - cont "how you rate as a" - cont "trainer!" - - para "#MON LEAGUE HQ" - line "INDIGO PLATEAU" - - para "PS: PROF.OAK," - line "please visit us!" - cont "..." - done - -_GameCornerCoinCaseText:: - text "A COIN CASE is" - line "required!" - done - -_GameCornerNoCoinsText:: - text "You don't have" - line "any coins!" - done - -_GameCornerOutOfOrderText:: - text "OUT OF ORDER" - line "This is broken." - done - -_GameCornerOutToLunchText:: - text "OUT TO LUNCH" - line "This is reserved." - done - -_GameCornerSomeonesKeysText:: - text "Someone's keys!" - line "They'll be back." - done - -_JustAMomentText:: - text "Just a moment." - done - -TMNotebookText:: - text "It's a pamphlet" - line "on TMs." - - para "..." - - para "There are 50 TMs" - line "in all." - - para "There are also 5" - line "HMs that can be" - cont "used repeatedly." - - para "SILPH CO.@@" - -_TurnPageText:: - text "Turn the page?" - done - -_ViridianSchoolNotebookText5:: - text "GIRL: Hey! Don't" - line "look at my notes!@@" - -_ViridianSchoolNotebookText1:: - text "Looked at the" - line "notebook!" - - para "First page..." - - para "# BALLs are" - line "used to catch" - cont "#MON." - - para "Up to 6 #MON" - line "can be carried." - - para "People who raise" - line "and make #MON" - cont "fight are called" - cont "#MON trainers." - prompt - -_ViridianSchoolNotebookText2:: - text "Second page..." - - para "A healthy #MON" - line "may be hard to" - cont "catch, so weaken" - cont "it first!" - - para "Poison, burns and" - line "other damage are" - cont "effective!" - prompt - -_ViridianSchoolNotebookText3:: - text "Third page..." - - para "#MON trainers" - line "seek others to" - cont "engage in #MON" - cont "fights." - - para "Battles are" - line "constantly fought" - cont "at #MON GYMs." - prompt - -_ViridianSchoolNotebookText4:: - text "Fourth page..." - - para "The goal for" - line "#MON trainers" - cont "is to beat the " - cont "top 8 #MON" - cont "GYM LEADERs." - - para "Do so to earn the" - line "right to face..." - - para "The ELITE FOUR of" - line "#MON LEAGUE!" - prompt - -_EnemiesOnEverySideText:: - text "Enemies on every" - line "side!" - done - -_WhatGoesAroundComesAroundText:: - text "What goes around" - line "comes around!" - done - -_FightingDojoText:: - text "FIGHTING DOJO" - done - -_IndigoPlateauHQText:: - text "INDIGO PLATEAU" - line "#MON LEAGUE HQ" - done - -_RedBedroomSNESText:: - text " is" - line "playing the SNES!" - cont "...Okay!" - cont "It's time to go!" - done - -_Route15UpstairsBinocularsText:: - text "Looked into the" - line "binoculars..." - - para "A large, shining" - line "bird is flying" - cont "toward the sea." - done - -_AerodactylFossilText:: - text "AERODACTYL Fossil" - line "A primitive and" - cont "rare #MON." - done - -_KabutopsFossilText:: - text "KABUTOPS Fossil" - line "A primitive and" - cont "rare #MON." - done - -_LinkCableHelpText1:: - text "TRAINER TIPS" - - para "Using a Game Link" - line "Cable" - prompt - -_LinkCableHelpText2:: - text "Which heading do" - line "you want to read?" - done - -_LinkCableInfoText1:: - text "When you have" - line "linked your GAME" - cont "BOY with another" - cont "GAME BOY, talk to" - cont "the attendant on" - cont "the right in any" - cont "#MON CENTER." - prompt - -_LinkCableInfoText2:: - text "COLOSSEUM lets" - line "you play against" - cont "a friend." - prompt - -_LinkCableInfoText3:: - text "TRADE CENTER is" - line "used for trading" - cont "#MON." - prompt - -_ViridianSchoolBlackboardText1:: - text "The blackboard" - line "describes #MON" - cont "STATUS changes" - cont "during battles." - prompt - -_ViridianSchoolBlackboardText2:: - text "Which heading do" - line "you want to read?" - done - -_ViridianBlackboardSleepText:: - text "A #MON can't" - line "attack if it's" - cont "asleep!" - - para "#MON will stay" - line "asleep even after" - cont "battles." - - para "Use AWAKENING to" - line "wake them up!" - prompt - -_ViridianBlackboardPoisonText:: - text "When poisoned, a" - line "#MON's health" - cont "steadily drops." - - para "Poison lingers" - line "after battles." - - para "Use an ANTIDOTE" - line "to cure poison!" - prompt - -_ViridianBlackboardPrlzText:: - text "Paralysis could" - line "make #MON" - cont "moves misfire!" - - para "Paralysis remains" - line "after battles." - - para "Use PARLYZ HEAL" - line "for treatment!" - prompt - -_ViridianBlackboardBurnText:: - text "A burn reduces" - line "power and speed." - cont "It also causes" - cont "ongoing damage." - - para "Burns remain" - line "after battles." - - para "Use BURN HEAL to" - line "cure a burn!" - prompt - -_ViridianBlackboardFrozenText:: - text "If frozen, a" - line "#MON becomes" - cont "totally immobile!" - - para "It stays frozen" - line "even after the" - cont "battle ends." - - para "Use ICE HEAL to" - line "thaw out #MON!" - prompt - -_VermilionGymTrashText:: - text "Nope, there's" - line "only trash here." - done - -_VermilionGymTrashSuccessText1:: - text "Hey! There's a" - line "switch under the" - cont "trash!" - cont "Turn it on!" - - para "The 1st electric" - line "lock opened!@@" - -_VermilionGymTrashSuccessText2:: - text "Hey! There's" - line "another switch" - cont "under the trash!" - cont "Turn it on!" - prompt - -_VermilionGymTrashSuccessText3:: - text "The 2nd electric" - line "lock opened!" - - para "The motorized door" - line "opened!@@" - -_VermilionGymTrashFailText:: - text "Nope! There's" - line "only trash here." - cont "Hey! The electric" - cont "locks were reset!@@" - -_FoundHiddenItemText:: - text " found" - line "@" - TX_RAM wcd6d - text "!@@" - -_HiddenItemBagFullText:: - text "But, has" - line "no more room for" - cont "other items!" - done - -_FoundHiddenCoinsText:: - text " found" - line "@" - TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN - text " coins!@@" - -_FoundHiddenCoins2Text:: - text " found" - line "@" - TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN - text " coins!@@" - -_DroppedHiddenCoinsText:: - text "" - para "Oops! Dropped" - line "some coins!" - done - -_IndigoPlateauStatuesText1:: - text "INDIGO PLATEAU" - prompt - -_IndigoPlateauStatuesText2:: - text "The ultimate goal" - line "of trainers!" - cont "#MON LEAGUE HQ" - done - -_IndigoPlateauStatuesText3:: - text "The highest" - line "#MON authority" - cont "#MON LEAGUE HQ" - done - -_PokemonBooksText:: - text "Crammed full of" - line "#MON books!" - done - -_DiglettSculptureText:: - text "It's a sculpture" - line "of DIGLETT." - done - -_ElevatorText:: - text "This is an" - line "elevator." - done - -_TownMapText:: - text "A TOWN MAP.@@" - -_PokemonStuffText:: - text "Wow! Tons of" - line "#MON stuff!" - done - -_OutOfSafariBallsText:: - text "PA: Ding-dong!" - - para "You are out of" - line "SAFARI BALLs!" - prompt - -_WildRanText:: - text "Wild @" - TX_RAM wEnemyMonNick - text "" - line "ran!" - prompt - -_EnemyRanText:: - text "Enemy @" - TX_RAM wEnemyMonNick - text "" - line "ran!" - prompt - -_HurtByPoisonText:: - text "'s" - line "hurt by poison!" - prompt - -_HurtByBurnText:: - text "'s" - line "hurt by the burn!" - prompt - -_HurtByLeechSeedText:: - text "LEECH SEED saps" - line "!" - prompt - -_EnemyMonFaintedText:: - text "Enemy @" - TX_RAM wEnemyMonNick - text "" - line "fainted!" - prompt - -_MoneyForWinningText:: - text " got ¥@" - TX_BCD wAmountMoneyWon, 3 | LEADING_ZEROES | LEFT_ALIGN - text "" - line "for winning!" - prompt - -_TrainerDefeatedText:: - text " defeated" - line "@" - TX_RAM wTrainerName - text "!" - prompt - -_PlayerMonFaintedText:: - TX_RAM wBattleMonNick - text "" - line "fainted!" - prompt - -_UseNextMonText:: - text "Use next #MON?" - done - -_Sony1WinText:: - text ": Yeah! Am" - line "I great or what?" - prompt - -_PlayerBlackedOutText2:: - text " is out of" - line "useable #MON!" - - para " blacked" - line "out!" - prompt - -_LinkBattleLostText:: - text " lost to" - line "@" - TX_RAM wTrainerName - text "!" - prompt - -_TrainerAboutToUseText:: - TX_RAM wTrainerName - text " is" - line "about to use" - cont"@" - TX_RAM wEnemyMonNick - text "!" - - para "Will " - line "change #MON?" - done - -_TrainerSentOutText:: - TX_RAM wTrainerName - text " sent" - line "out @" - TX_RAM wEnemyMonNick - text "!" - done - -_NoWillText:: - text "There's no will" - line "to fight!" - prompt - -_CantEscapeText:: - text "Can't escape!" - prompt - -_NoRunningText:: - text "No! There's no" - line "running from a" - cont "trainer battle!" - prompt - -_GotAwayText:: - text "Got away safely!" - prompt - -_ItemsCantBeUsedHereText:: - text "Items can't be" - line "used here." - prompt - -_AlreadyOutText:: - TX_RAM wBattleMonNick - text " is" - line "already out!" - prompt - -_MoveNoPPText:: - text "No PP left for" - line "this move!" - prompt - -_MoveDisabledText:: - text "The move is" - line "disabled!" - prompt - -_NoMovesLeftText:: - TX_RAM wBattleMonNick - text " has no" - line "moves left!" - done - -_MultiHitText:: - text "Hit the enemy" - line "@" - TX_NUM wPlayerNumHits,1,1 - text " times!" - prompt - -_ScaredText:: - TX_RAM wBattleMonNick - text " is too" - line "scared to move!" - prompt - -_GetOutText:: - text "GHOST: Get out..." - line "Get out..." - prompt - -_FastAsleepText:: - text "" - line "is fast asleep!" - prompt - -_WokeUpText:: - text "" - line "woke up!" - prompt - -_IsFrozenText:: - text "" - line "is frozen solid!" - prompt - -_FullyParalyzedText:: - text "'s" - line "fully paralyzed!" - prompt - -_FlinchedText:: - text "" - line "flinched!" - prompt - -_MustRechargeText:: - text "" - line "must recharge!" - prompt - -_DisabledNoMoreText:: - text "'s" - line "disabled no more!" - prompt - -_IsConfusedText:: - text "" - line "is confused!" - prompt - -_HurtItselfText:: - text "It hurt itself in" - line "its confusion!" - prompt - -_ConfusedNoMoreText:: - text "'s" - line "confused no more!" - prompt - -_SavingEnergyText:: - text "" - line "is saving energy!" - prompt - -_UnleashedEnergyText:: - text "" - line "unleashed energy!" - prompt - -_ThrashingAboutText:: - text "'s" - line "thrashing about!" - done - -_AttackContinuesText:: - text "'s" - line "attack continues!" - done - -_CantMoveText:: - text "" - line "can't move!" - prompt - -_MoveIsDisabledText:: - text "'s" - line "@" - TX_RAM wcd6d - text " is" - cont "disabled!" - prompt - -_MonName1Text:: - text "@@" - -_Used1Text:: - text "" - line "used @@" - -_Used2Text:: - text "" - line "used @@" - -_InsteadText:: - text "instead," - cont "@@" - -_CF4BText:: - TX_RAM wcf4b - text "@" - -_ExclamationPoint1Text:: - text "!" - done - -_ExclamationPoint2Text:: - text "!" - done - -_ExclamationPoint3Text:: - text "!" - done - -_ExclamationPoint4Text:: - text "!" - done - -_ExclamationPoint5Text:: - text "!" - done - -_AttackMissedText:: - text "'s" - line "attack missed!" - prompt - -_KeptGoingAndCrashedText:: - text "" - line "kept going and" - cont "crashed!" - prompt - -_UnaffectedText:: - text "'s" - line "unaffected!" - prompt - -_DoesntAffectMonText:: - text "It doesn't affect" - line "!" - prompt - -_CriticalHitText:: - text "Critical hit!" - prompt - -_OHKOText:: - text "One-hit KO!" - prompt - -_LoafingAroundText:: - TX_RAM wBattleMonNick - text " is" - line "loafing around." - prompt - -_BeganToNapText:: - TX_RAM wBattleMonNick - text " began" - line "to nap!" - prompt - -_WontObeyText:: - TX_RAM wBattleMonNick - text " won't" - line "obey!" - prompt - -_TurnedAwayText:: - TX_RAM wBattleMonNick - text " turned" - line "away!" - prompt - -_IgnoredOrdersText:: - TX_RAM wBattleMonNick - text "" - line "ignored orders!" - prompt - -_SubstituteTookDamageText:: - text "The SUBSTITUTE" - line "took damage for" - cont "!" - prompt - -_SubstituteBrokeText:: - text "'s" - line "SUBSTITUTE broke!" - prompt - -_BuildingRageText:: - text "'s" - line "RAGE is building!" - prompt - -_MirrorMoveFailedText:: - text "The MIRROR MOVE" - next "failed!" - prompt - -_HitXTimesText:: - text "Hit @" - TX_NUM wEnemyNumHits, 1, 1 - text " times!" - prompt - -_GainedText:: - TX_RAM wcd6d - text " gained" - line "@@" - -_WithExpAllText:: - text "with EXP.ALL," - cont "@@" - -_BoostedText:: - text "a boosted" - cont "@@" - -_ExpPointsText:: - TX_NUM wExpAmountGained, 2, 4 - text " EXP. Points!" - prompt - -_GrewLevelText:: - TX_RAM wcd6d - text " grew" - line "to level @" - TX_NUM wCurEnemyLVL, 1, 3 - text "!@@" - -_WildMonAppearedText:: - text "Wild @" - TX_RAM wEnemyMonNick - text "" - line "appeared!" - prompt - -_HookedMonAttackedText:: - text "The hooked" - line "@" - TX_RAM wEnemyMonNick - text "" - cont "attacked!" - prompt - -_EnemyAppearedText:: - TX_RAM wEnemyMonNick - text "" - line "appeared!" - prompt - -_TrainerWantsToFightText:: - TX_RAM wTrainerName - text " wants" - line "to fight!" - prompt - -_UnveiledGhostText:: - text "SILPH SCOPE" - line "unveiled the" - cont "GHOST's identity!" - prompt - -_GhostCantBeIDdText:: - text "Darn! The GHOST" - line "can't be ID'd!" - prompt - -_GoText:: - text "Go! @@" - -_DoItText:: - text "Do it! @@" - -_GetmText:: - text "Get'm! @@" - -_EnemysWeakText:: - text "The enemy's weak!" - line "Get'm! @@" - -_PlayerMon1Text:: - TX_RAM wBattleMonNick - text "!" - done - -_PlayerMon2Text:: - TX_RAM wBattleMonNick - text " @@" - -_EnoughText:: - text "enough!@@" - -_OKExclamationText:: - text "OK!@@" - -_GoodText:: - text "good!@@" - -_ComeBackText:: - text "" - line "Come back!" - done - -_SuperEffectiveText:: - text "It's super" - line "effective!" - prompt - -_NotVeryEffectiveText:: - text "It's not very" - line "effective..." - prompt - -_SafariZoneEatingText:: - text "Wild @" - TX_RAM wEnemyMonNick - text "" - line "is eating!" - prompt - -_SafariZoneAngryText:: - text "Wild @" - TX_RAM wEnemyMonNick - text "" - line "is angry!" - prompt - -; money related -_PickUpPayDayMoneyText:: - text " picked up" - line "¥@" - TX_BCD wTotalPayDayMoney, 3 | LEADING_ZEROES | LEFT_ALIGN - text "!" - prompt - -_ClearSaveDataText:: - text "Clear all saved" - line "data?" - done - -_WhichFloorText:: - text "Which floor do" - line "you want? " - done - -_PartyMenuNormalText:: - text "Choose a #MON." - done - -_PartyMenuItemUseText:: - text "Use item on which" - line "#MON?" - done - -_PartyMenuBattleText:: - text "Bring out which" - line "#MON?" - done - -_PartyMenuUseTMText:: - text "Use TM on which" - line "#MON?" - done - -_PartyMenuSwapMonText:: - text "Move #MON" - line "where?" - done - -_PotionText:: - TX_RAM wcd6d - text "" - line "recovered by @" - TX_NUM wHPBarHPDifference, 2, 3 - text "!" - done - -_AntidoteText:: - TX_RAM wcd6d - text " was" - line "cured of poison!" - done - -_ParlyzHealText:: - TX_RAM wcd6d - text "'s" - line "rid of paralysis!" - done - -_BurnHealText:: - TX_RAM wcd6d - text "'s" - line "burn was healed!" - done - -_IceHealText:: - TX_RAM wcd6d - text " was" - line "defrosted!" - done - -_AwakeningText:: - TX_RAM wcd6d - text "" - line "woke up!" - done - -_FullHealText:: - TX_RAM wcd6d - text "'s" - line "health returned!" - done - -_ReviveText:: - TX_RAM wcd6d - text "" - line "is revitalized!" - done - -_RareCandyText:: - TX_RAM wcd6d - text " grew" - line "to level @" - TX_NUM wCurEnemyLVL, 1, 3 - text "!@@" - -_TurnedOnPC1Text:: - text " turned on" - line "the PC." - prompt - -_AccessedBillsPCText:: - text "Accessed BILL's" - line "PC." - - para "Accessed #MON" - line "Storage System." - prompt - -_AccessedSomeonesPCText:: - text "Accessed someone's" - line "PC." - - para "Accessed #MON" - line "Storage System." - prompt - -_AccessedMyPCText:: - text "Accessed my PC." - - para "Accessed Item" - line "Storage System." - prompt - -_TurnedOnPC2Text:: - text " turned on" - line "the PC." - prompt - -_WhatDoYouWantText:: - text "What do you want" - line "to do?" - done - -_WhatToDepositText:: - text "What do you want" - line "to deposit?" - done - -_DepositHowManyText:: - text "How many?" - done - -_ItemWasStoredText:: - TX_RAM wcd6d - text " was" - line "stored via PC." - prompt - -_NothingToDepositText:: - text "You have nothing" - line "to deposit." - prompt - -_NoRoomToStoreText:: - text "No room left to" - line "store items." - prompt - -_WhatToWithdrawText:: - text "What do you want" - line "to withdraw?" - done - -_WithdrawHowManyText:: - text "How many?" - done - -_WithdrewItemText:: - text "Withdrew" - line "@" - TX_RAM wcd6d - text "." - prompt - -_NothingStoredText:: - text "There is nothing" - line "stored." - prompt - -_CantCarryMoreText:: - text "You can't carry" - line "any more items." - prompt - -_WhatToTossText:: - text "What do you want" - line "to toss away?" - done - -_TossHowManyText:: - text "How many?" - done - -_AccessedHoFPCText:: - text "Accessed #MON" - line "LEAGUE's site." - - para "Accessed the HALL" - line "OF FAME List." - prompt - -_SwitchOnText:: - text "Switch on!" - prompt - -_WhatText:: - text "What?" - done - -_DepositWhichMonText:: - text "Deposit which" - line "#MON?" - done - -_MonWasStoredText:: - TX_RAM wcf4b - text " was" - line "stored in Box @" - TX_RAM wBoxNumString - text "." - prompt - -_CantDepositLastMonText:: - text "You can't deposit" - line "the last #MON!" - prompt - -_BoxFullText:: - text "Oops! This Box is" - line "full of #MON." - prompt - -_MonIsTakenOutText:: - TX_RAM wcf4b - text " is" - line "taken out." - cont "Got @" - TX_RAM wcf4b - text "." - prompt - -_NoMonText:: - text "What? There are" - line "no #MON here!" - prompt - -_CantTakeMonText:: - text "You can't take" - line "any more #MON." - - para "Deposit #MON" - line "first." - prompt - -_ReleaseWhichMonText:: - text "Release which" - line "#MON?" - done - -_OnceReleasedText:: - text "Once released," - line "@" - TX_RAM wcf4b - text " is" - cont "gone forever. OK?" - done - -_MonWasReleasedText:: - TX_RAM wcf4b - text " was" - line "released outside." - cont "Bye @" - -_CF4BExclamationText:: - TX_RAM wcf4b - text "!" - prompt - -_RequireCoinCaseText:: - text "A COIN CASE is" - line "required!@@" - -_ExchangeCoinsForPrizesText:: - text "We exchange your" - line "coins for prizes." - prompt - -_WhichPrizeText:: - text "Which prize do" - line "you want?" - done - -_HereYouGoText:: - text "Here you go!@@" - -_SoYouWantPrizeText:: - text "So, you want" - line "@" - TX_RAM wcd6d - text "?" - done - -_SorryNeedMoreCoinsText:: - text "Sorry, you need" - line "more coins.@@" - -_OopsYouDontHaveEnoughRoomText:: - text "Oops! You don't" - line "have enough room.@@" - -_OhFineThenText:: - text "Oh, fine then.@@" - -_GetDexRatedText:: - text "Want to get your" - line "#DEX rated?" - done - -_ClosedOaksPCText:: - text "Closed link to" - line "PROF.OAK's PC.@@" - -_AccessedOaksPCText:: - text "Accessed PROF." - line "OAK's PC." - - para "Accessed #DEX" - line "Rating System." - prompt - -_WhereWouldYouLikeText:: - text "Where would you" - line "like to go?" - done - -_PleaseWaitText:: - text "OK, please wait" - line "just a moment." - done - -_LinkCanceledText:: - text "The link was" - line "canceled." - done - -INCLUDE "text/oakspeech.asm" - -_DoYouWantToNicknameText:: - text "Do you want to" - line "give a nickname" - cont "to @" - TX_RAM wcd6d - text "?" - done - -_YourNameIsText:: - text "Right! So your" - line "name is !" - prompt - -_HisNameIsText:: - text "That's right! I" - line "remember now! His" - cont "name is !" - prompt - -_WillBeTradedText:: - TX_RAM wNameOfPlayerMonToBeTraded - text " and" - line "@" - TX_RAM wcd6d - text " will" - cont "be traded." - done - -_Char00Text:: - TX_NUM hSpriteIndexOrTextID,1,2 - text " ERROR." - done - -_Char55Text:: - text $4B,"@@" - -INCLUDE "text/maps/DiglettsCaveRoute2.asm" -INCLUDE "text/maps/ViridianForestNorthGate.asm" -INCLUDE "text/maps/Route2TradeHouse.asm" -INCLUDE "text/maps/Route2Gate.asm" -INCLUDE "text/maps/ViridianForestSouthGate.asm" -INCLUDE "text/maps/MtMoonPokecenter.asm" -INCLUDE "text/maps/SaffronGates.asm" -INCLUDE "text/maps/Daycare.asm" +INCLUDE "text/RockTunnelB1F_2.asm" +INCLUDE "text/SeafoamIslandsB4F.asm" + +INCLUDE "data/text/text_2.asm" + +INCLUDE "text/DiglettsCaveRoute2.asm" +INCLUDE "text/ViridianForestNorthGate.asm" +INCLUDE "text/Route2TradeHouse.asm" +INCLUDE "text/Route2Gate.asm" +INCLUDE "text/ViridianForestSouthGate.asm" +INCLUDE "text/MtMoonPokecenter.asm" +INCLUDE "text/SaffronGates.asm" +INCLUDE "text/Daycare.asm" SECTION "Text 4", ROMX -INCLUDE "text/maps/Daycare_2.asm" -INCLUDE "text/maps/UndergroundPathRoute6.asm" -INCLUDE "text/maps/UndergroundPathRoute7.asm" -INCLUDE "text/maps/UndergroundPathRoute7Copy.asm" -INCLUDE "text/maps/UndergroundPathRoute8.asm" -INCLUDE "text/maps/RockTunnelPokecenter.asm" -INCLUDE "text/maps/RockTunnel1F.asm" -INCLUDE "text/maps/PowerPlant.asm" -INCLUDE "text/maps/Route11Gate1F.asm" -INCLUDE "text/maps/Route11Gate2F.asm" -INCLUDE "text/maps/DiglettsCaveRoute11.asm" -INCLUDE "text/maps/Route12Gate1F.asm" -INCLUDE "text/maps/Route12Gate2F.asm" -INCLUDE "text/maps/Route12SuperRodHouse.asm" -INCLUDE "text/maps/Route15Gate1F.asm" -INCLUDE "text/maps/Route15Gate2F.asm" -INCLUDE "text/maps/Route16Gate1F.asm" -INCLUDE "text/maps/Route16Gate2F.asm" -INCLUDE "text/maps/Route16FlyHouse.asm" -INCLUDE "text/maps/Route18Gate1F.asm" -INCLUDE "text/maps/Route18Gate2F.asm" -INCLUDE "text/maps/Route22Gate.asm" -INCLUDE "text/maps/VictoryRoad2F.asm" -INCLUDE "text/maps/BillsHouse.asm" -INCLUDE "text/maps/Route1.asm" -INCLUDE "text/maps/Route2.asm" -INCLUDE "text/maps/Route3.asm" -INCLUDE "text/maps/Route4.asm" -INCLUDE "text/maps/Route5.asm" -INCLUDE "text/maps/Route6.asm" -INCLUDE "text/maps/Route7.asm" -INCLUDE "text/maps/Route8.asm" -INCLUDE "text/maps/Route9.asm" -INCLUDE "text/maps/Route10.asm" -INCLUDE "text/maps/Route11.asm" +INCLUDE "text/Daycare_2.asm" +INCLUDE "text/UndergroundPathRoute6.asm" +INCLUDE "text/UndergroundPathRoute7.asm" +INCLUDE "text/UndergroundPathRoute7Copy.asm" +INCLUDE "text/UndergroundPathRoute8.asm" +INCLUDE "text/RockTunnelPokecenter.asm" +INCLUDE "text/RockTunnel1F.asm" +INCLUDE "text/PowerPlant.asm" +INCLUDE "text/Route11Gate1F.asm" +INCLUDE "text/Route11Gate2F.asm" +INCLUDE "text/DiglettsCaveRoute11.asm" +INCLUDE "text/Route12Gate1F.asm" +INCLUDE "text/Route12Gate2F.asm" +INCLUDE "text/Route12SuperRodHouse.asm" +INCLUDE "text/Route15Gate1F.asm" +INCLUDE "text/Route15Gate2F.asm" +INCLUDE "text/Route16Gate1F.asm" +INCLUDE "text/Route16Gate2F.asm" +INCLUDE "text/Route16FlyHouse.asm" +INCLUDE "text/Route18Gate1F.asm" +INCLUDE "text/Route18Gate2F.asm" +INCLUDE "text/Route22Gate.asm" +INCLUDE "text/VictoryRoad2F.asm" +INCLUDE "text/BillsHouse.asm" +INCLUDE "text/Route1.asm" +INCLUDE "text/Route2.asm" +INCLUDE "text/Route3.asm" +INCLUDE "text/Route4.asm" +INCLUDE "text/Route5.asm" +INCLUDE "text/Route6.asm" +INCLUDE "text/Route7.asm" +INCLUDE "text/Route8.asm" +INCLUDE "text/Route9.asm" +INCLUDE "text/Route10.asm" +INCLUDE "text/Route11.asm" SECTION "Text 5", ROMX -INCLUDE "text/maps/Route11_2.asm" -INCLUDE "text/maps/Route12.asm" -INCLUDE "text/maps/Route13.asm" -INCLUDE "text/maps/Route14.asm" -INCLUDE "text/maps/Route15.asm" -INCLUDE "text/maps/Route16.asm" -INCLUDE "text/maps/Route17.asm" -INCLUDE "text/maps/Route18.asm" -INCLUDE "text/maps/Route19.asm" -INCLUDE "text/maps/Route20.asm" -INCLUDE "text/maps/Route21.asm" -INCLUDE "text/maps/Route22.asm" -INCLUDE "text/maps/Route23.asm" -INCLUDE "text/maps/Route24.asm" +INCLUDE "text/Route11_2.asm" +INCLUDE "text/Route12.asm" +INCLUDE "text/Route13.asm" +INCLUDE "text/Route14.asm" +INCLUDE "text/Route15.asm" +INCLUDE "text/Route16.asm" +INCLUDE "text/Route17.asm" +INCLUDE "text/Route18.asm" +INCLUDE "text/Route19.asm" +INCLUDE "text/Route20.asm" +INCLUDE "text/Route21.asm" +INCLUDE "text/Route22.asm" +INCLUDE "text/Route23.asm" +INCLUDE "text/Route24.asm" SECTION "Text 6", ROMX -INCLUDE "text/maps/Route24_2.asm" -INCLUDE "text/maps/Route25.asm" - -_FileDataDestroyedText:: - text "The file data is" - line "destroyed!" - prompt - -_WouldYouLikeToSaveText:: - text "Would you like to" - line "SAVE the game?" - done - -_GameSavedText:: - text " saved" - line "the game!" - done - -_OlderFileWillBeErasedText:: - text "The older file" - line "will be erased to" - cont "save. Okay?" - done - -_WhenYouChangeBoxText:: - text "When you change a" - line "#MON BOX, data" - cont "will be saved." - - para "Is that okay?" - done - -_ChooseABoxText:: - text "Choose a" - line " BOX.@@" - -_EvolvedText:: - TX_RAM wcf4b - text " evolved" - done - -_IntoText:: - text "" - line "into @" - TX_RAM wcd6d - text "!" - done - -_StoppedEvolvingText:: - text "Huh? @" - TX_RAM wcf4b - text "" - line "stopped evolving!" - prompt - -_IsEvolvingText:: - text "What? @" - TX_RAM wcf4b - text "" - line "is evolving!" - done - -_FellAsleepText:: - text "" - line "fell asleep!" - prompt - -_AlreadyAsleepText:: - text "'s" - line "already asleep!" - prompt - -_PoisonedText:: - text "" - line "was poisoned!" - prompt - -_BadlyPoisonedText:: - text "'s" - line "badly poisoned!" - prompt - -_BurnedText:: - text "" - line "was burned!" - prompt - -_FrozenText:: - text "" - line "was frozen solid!" - prompt - -_FireDefrostedText:: - text "Fire defrosted" - line "!" - prompt - -_MonsStatsRoseText:: - text "'s" - line "@" - TX_RAM wcf4b - text "@@" - -_GreatlyRoseText:: - text $4c, "greatly@@" - -_RoseText:: - text " rose!" - prompt - -_MonsStatsFellText:: - text "'s" - line "@" - TX_RAM wcf4b - text "@@" - -_GreatlyFellText:: - text $4c, "greatly@@" - -_FellText:: - text " fell!" - prompt - -_RanFromBattleText:: - text "" - line "ran from battle!" - prompt - -_RanAwayScaredText:: - text "" - line "ran away scared!" - prompt - -_WasBlownAwayText:: - text "" - line "was blown away!" - prompt - -_ChargeMoveEffectText:: - text "@@" - -_MadeWhirlwindText:: - text "" - line "made a whirlwind!" - prompt - -_TookInSunlightText:: - text "" - line "took in sunlight!" - prompt - -_LoweredItsHeadText:: - text "" - line "lowered its head!" - prompt - -_SkyAttackGlowingText:: - text "" - line "is glowing!" - prompt - -_FlewUpHighText:: - text "" - line "flew up high!" - prompt - -_DugAHoleText:: - text "" - line "dug a hole!" - prompt - -_BecameConfusedText:: - text "" - line "became confused!" - prompt - -_MimicLearnedMoveText:: - text "" - line "learned" - cont "@" - TX_RAM wcd6d - text "!" - prompt - -_MoveWasDisabledText:: - text "'s" - line "@" - TX_RAM wcd6d - text " was" - cont "disabled!" - prompt - -_NothingHappenedText:: - text "Nothing happened!" - prompt - -_NoEffectText:: - text "No effect!" - prompt - -_ButItFailedText:: - text "But, it failed! " - prompt - -_DidntAffectText:: - text "It didn't affect" - line "!" - prompt - -_IsUnaffectedText:: - text "" - line "is unaffected!" - prompt - -_ParalyzedMayNotAttackText:: - text "'s" - line "paralyzed! It may" - cont "not attack!" - prompt - -_SubstituteText:: - text "It created a" - line "SUBSTITUTE!" - prompt - -_HasSubstituteText:: - text "" - line "has a SUBSTITUTE!" - prompt - -_TooWeakSubstituteText:: - text "Too weak to make" - line "a SUBSTITUTE!" - prompt - -_CoinsScatteredText:: - text "Coins scattered" - line "everywhere!" - prompt - -_GettingPumpedText:: - text "'s" - line "getting pumped!" - prompt - -_WasSeededText:: - text "" - line "was seeded!" - prompt - -_EvadedAttackText:: - text "" - line "evaded attack!" - prompt - -_HitWithRecoilText:: - text "'s" - line "hit with recoil!" - prompt - -_ConvertedTypeText:: - text "Converted type to" - line "'s!" - prompt - -_StatusChangesEliminatedText:: - text "All STATUS changes" - line "are eliminated!" - prompt - -_StartedSleepingEffect:: - text "" - line "started sleeping!" - done - -_FellAsleepBecameHealthyText:: - text "" - line "fell asleep and" - cont "became healthy!" - done - -_RegainedHealthText:: - text "" - line "regained health!" - prompt - -_TransformedText:: - text "" - line "transformed into" - cont "@" - TX_RAM wcd6d - text "!" - prompt - -_LightScreenProtectedText:: - text "'s" - line "protected against" - cont "special attacks!" - prompt - -_ReflectGainedArmorText:: - text "" - line "gained armor!" - prompt - -_ShroudedInMistText:: - text "'s" - line "shrouded in mist!" - prompt - -_SuckedHealthText:: - text "Sucked health from" - line "!" - prompt - -_DreamWasEatenText:: - text "'s" - line "dream was eaten!" - prompt - -_TradeCenterText1:: - text "!" - done - -_ColosseumText1:: - text "!" - done - -INCLUDE "text/maps/RedsHouse1F.asm" -INCLUDE "text/maps/BluesHouse.asm" -INCLUDE "text/maps/OaksLab.asm" -INCLUDE "text/maps/ViridianPokecenter.asm" -INCLUDE "text/maps/ViridianMart.asm" -INCLUDE "text/maps/ViridianSchoolHouse.asm" -INCLUDE "text/maps/ViridianNicknameHouse.asm" -INCLUDE "text/maps/ViridianGym.asm" -INCLUDE "text/maps/Museum1F.asm" -INCLUDE "text/maps/Museum2F.asm" -INCLUDE "text/maps/PewterGym.asm" +INCLUDE "text/Route24_2.asm" +INCLUDE "text/Route25.asm" + +INCLUDE "data/text/text_3.asm" + +INCLUDE "text/RedsHouse1F.asm" +INCLUDE "text/BluesHouse.asm" +INCLUDE "text/OaksLab.asm" +INCLUDE "text/ViridianPokecenter.asm" +INCLUDE "text/ViridianMart.asm" +INCLUDE "text/ViridianSchoolHouse.asm" +INCLUDE "text/ViridianNicknameHouse.asm" +INCLUDE "text/ViridianGym.asm" +INCLUDE "text/Museum1F.asm" +INCLUDE "text/Museum2F.asm" +INCLUDE "text/PewterGym.asm" SECTION "Text 7", ROMX -INCLUDE "text/maps/PewterGym_2.asm" -INCLUDE "text/maps/PewterNidoranHouse.asm" -INCLUDE "text/maps/PewterMart.asm" -INCLUDE "text/maps/PewterSpeechHouse.asm" -INCLUDE "text/maps/PewterPokecenter.asm" -INCLUDE "text/maps/CeruleanTrashedHouse.asm" -INCLUDE "text/maps/CeruleanTradeHouse.asm" -INCLUDE "text/maps/CeruleanPokecenter.asm" -INCLUDE "text/maps/CeruleanGym.asm" -INCLUDE "text/maps/BikeShop.asm" -INCLUDE "text/maps/CeruleanMart.asm" -INCLUDE "text/maps/CeruleanBadgeHouse.asm" -INCLUDE "text/maps/LavenderPokecenter.asm" -INCLUDE "text/maps/PokemonTower1F.asm" -INCLUDE "text/maps/PokemonTower2F.asm" -INCLUDE "text/maps/PokemonTower3F.asm" -INCLUDE "text/maps/PokemonTower4F.asm" -INCLUDE "text/maps/PokemonTower5F.asm" -INCLUDE "text/maps/PokemonTower6F.asm" -INCLUDE "text/maps/PokemonTower7F.asm" -INCLUDE "text/maps/MrFujisHouse.asm" -INCLUDE "text/maps/LavenderMart.asm" -INCLUDE "text/maps/LavenderCuboneHouse.asm" -INCLUDE "text/maps/NameRatersHouse.asm" -INCLUDE "text/maps/VermilionPokecenter.asm" -INCLUDE "text/maps/PokemonFanClub.asm" -INCLUDE "text/maps/VermilionMart.asm" -INCLUDE "text/maps/VermilionGym.asm" +INCLUDE "text/PewterGym_2.asm" +INCLUDE "text/PewterNidoranHouse.asm" +INCLUDE "text/PewterMart.asm" +INCLUDE "text/PewterSpeechHouse.asm" +INCLUDE "text/PewterPokecenter.asm" +INCLUDE "text/CeruleanTrashedHouse.asm" +INCLUDE "text/CeruleanTradeHouse.asm" +INCLUDE "text/CeruleanPokecenter.asm" +INCLUDE "text/CeruleanGym.asm" +INCLUDE "text/BikeShop.asm" +INCLUDE "text/CeruleanMart.asm" +INCLUDE "text/CeruleanBadgeHouse.asm" +INCLUDE "text/LavenderPokecenter.asm" +INCLUDE "text/PokemonTower1F.asm" +INCLUDE "text/PokemonTower2F.asm" +INCLUDE "text/PokemonTower3F.asm" +INCLUDE "text/PokemonTower4F.asm" +INCLUDE "text/PokemonTower5F.asm" +INCLUDE "text/PokemonTower6F.asm" +INCLUDE "text/PokemonTower7F.asm" +INCLUDE "text/MrFujisHouse.asm" +INCLUDE "text/LavenderMart.asm" +INCLUDE "text/LavenderCuboneHouse.asm" +INCLUDE "text/NameRatersHouse.asm" +INCLUDE "text/VermilionPokecenter.asm" +INCLUDE "text/PokemonFanClub.asm" +INCLUDE "text/VermilionMart.asm" +INCLUDE "text/VermilionGym.asm" SECTION "Text 8", ROMX -INCLUDE "text/maps/VermilionGym_2.asm" -INCLUDE "text/maps/VermilionPidgeyHouse.asm" -INCLUDE "text/maps/VermilionDock.asm" -INCLUDE "text/maps/VermilionOldRodHouse.asm" -INCLUDE "text/maps/CeladonMart1F.asm" -INCLUDE "text/maps/CeladonMart2F.asm" -INCLUDE "text/maps/CeladonMart3F.asm" -INCLUDE "text/maps/CeladonMart4F.asm" -INCLUDE "text/maps/CeladonMartRoof.asm" -INCLUDE "text/maps/CeladonMansion1F.asm" -INCLUDE "text/maps/CeladonMansion2F.asm" -INCLUDE "text/maps/CeladonMansion3F.asm" -INCLUDE "text/maps/CeladonMansionRoof.asm" -INCLUDE "text/maps/CeladonMansionRoofHouse.asm" -INCLUDE "text/maps/CeladonPokecenter.asm" -INCLUDE "text/maps/CeladonGym.asm" -INCLUDE "text/maps/GameCorner.asm" -INCLUDE "text/maps/CeladonMart5F.asm" -INCLUDE "text/maps/GameCornerPrizeRoom.asm" -INCLUDE "text/maps/CeladonDiner.asm" -INCLUDE "text/maps/CeladonChiefHouse.asm" -INCLUDE "text/maps/CeladonHotel.asm" -INCLUDE "text/maps/FuchsiaMart.asm" -INCLUDE "text/maps/FuchsiaBillsGrandpasHouse.asm" -INCLUDE "text/maps/FuchsiaPokecenter.asm" -INCLUDE "text/maps/WardensHouse.asm" -INCLUDE "text/maps/SafariZoneGate.asm" -INCLUDE "text/maps/FuchsiaGym.asm" +INCLUDE "text/VermilionGym_2.asm" +INCLUDE "text/VermilionPidgeyHouse.asm" +INCLUDE "text/VermilionDock.asm" +INCLUDE "text/VermilionOldRodHouse.asm" +INCLUDE "text/CeladonMart1F.asm" +INCLUDE "text/CeladonMart2F.asm" +INCLUDE "text/CeladonMart3F.asm" +INCLUDE "text/CeladonMart4F.asm" +INCLUDE "text/CeladonMartRoof.asm" +INCLUDE "text/CeladonMansion1F.asm" +INCLUDE "text/CeladonMansion2F.asm" +INCLUDE "text/CeladonMansion3F.asm" +INCLUDE "text/CeladonMansionRoof.asm" +INCLUDE "text/CeladonMansionRoofHouse.asm" +INCLUDE "text/CeladonPokecenter.asm" +INCLUDE "text/CeladonGym.asm" +INCLUDE "text/GameCorner.asm" +INCLUDE "text/CeladonMart5F.asm" +INCLUDE "text/GameCornerPrizeRoom.asm" +INCLUDE "text/CeladonDiner.asm" +INCLUDE "text/CeladonChiefHouse.asm" +INCLUDE "text/CeladonHotel.asm" +INCLUDE "text/FuchsiaMart.asm" +INCLUDE "text/FuchsiaBillsGrandpasHouse.asm" +INCLUDE "text/FuchsiaPokecenter.asm" +INCLUDE "text/WardensHouse.asm" +INCLUDE "text/SafariZoneGate.asm" +INCLUDE "text/FuchsiaGym.asm" SECTION "Text 9", ROMX -INCLUDE "text/maps/FuchsiaGym_2.asm" -INCLUDE "text/maps/FuchsiaMeetingRoom.asm" -INCLUDE "text/maps/FuchsiaGoodRodHouse.asm" -INCLUDE "text/maps/PokemonMansion1F.asm" -INCLUDE "text/maps/CinnabarGym.asm" -INCLUDE "text/maps/CinnabarLab.asm" -INCLUDE "text/maps/CinnabarLabTradeRoom.asm" -INCLUDE "text/maps/CinnabarLabMetronomeRoom.asm" -INCLUDE "text/maps/CinnabarLabFossilRoom.asm" -INCLUDE "text/maps/CinnabarPokecenter.asm" -INCLUDE "text/maps/CinnabarMart.asm" -INCLUDE "text/maps/IndigoPlateauLobby.asm" -INCLUDE "text/maps/CopycatsHouse1F.asm" -INCLUDE "text/maps/CopycatsHouse2F.asm" -INCLUDE "text/maps/FightingDojo.asm" -INCLUDE "text/maps/SaffronGym.asm" -INCLUDE "text/maps/SaffronPidgeyHouse.asm" -INCLUDE "text/maps/SaffronMart.asm" -INCLUDE "text/maps/SilphCo1F.asm" -INCLUDE "text/maps/SaffronPokecenter.asm" -INCLUDE "text/maps/MrPsychicsHouse.asm" +INCLUDE "text/FuchsiaGym_2.asm" +INCLUDE "text/FuchsiaMeetingRoom.asm" +INCLUDE "text/FuchsiaGoodRodHouse.asm" +INCLUDE "text/PokemonMansion1F.asm" +INCLUDE "text/CinnabarGym.asm" +INCLUDE "text/CinnabarLab.asm" +INCLUDE "text/CinnabarLabTradeRoom.asm" +INCLUDE "text/CinnabarLabMetronomeRoom.asm" +INCLUDE "text/CinnabarLabFossilRoom.asm" +INCLUDE "text/CinnabarPokecenter.asm" +INCLUDE "text/CinnabarMart.asm" +INCLUDE "text/IndigoPlateauLobby.asm" +INCLUDE "text/CopycatsHouse1F.asm" +INCLUDE "text/CopycatsHouse2F.asm" +INCLUDE "text/FightingDojo.asm" +INCLUDE "text/SaffronGym.asm" +INCLUDE "text/SaffronPidgeyHouse.asm" +INCLUDE "text/SaffronMart.asm" +INCLUDE "text/SilphCo1F.asm" +INCLUDE "text/SaffronPokecenter.asm" +INCLUDE "text/MrPsychicsHouse.asm" -_PokemartGreetingText:: - text "Hi there!" - next "May I help you?" - done - -_PokemonFaintedText:: - TX_RAM wcd6d - text "" - line "fainted!" - done - -_PlayerBlackedOutText:: - text " is out of" - line "useable #MON!" - - para " blacked" - line "out!" - prompt - -_RepelWoreOffText:: - text "REPEL's effect" - line "wore off." - done - -_PokemartBuyingGreetingText:: - text "Take your time." - done - -_PokemartTellBuyPriceText:: - TX_RAM wcf4b - text "?" - line "That will be" - cont "¥@" - TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN - text ". OK?" - done - -_PokemartBoughtItemText:: - text "Here you are!" - line "Thank you!" - prompt - -_PokemartNotEnoughMoneyText:: - text "You don't have" - line "enough money." - prompt - -_PokemartItemBagFullText:: - text "You can't carry" - line "any more items." - prompt - -_PokemonSellingGreetingText:: - text "What would you" - line "like to sell?" - done - -_PokemartTellSellPriceText:: - text "I can pay you" - line "¥@" - TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN - text " for that." - done - -_PokemartItemBagEmptyText:: - text "You don't have" - line "anything to sell." - prompt - -_PokemartUnsellableItemText:: - text "I can't put a" - line "price on that." - prompt - -_PokemartThankYouText:: - text "Thank you!" - done - -_PokemartAnythingElseText:: - text "Is there anything" - line "else I can do?" - done - -_LearnedMove1Text:: - TX_RAM wLearnMoveMonName - text " learned" - line "@" - TX_RAM wcf4b - text "!@@" - -_WhichMoveToForgetText:: - text "Which move should" - next "be forgotten?" - done - -_AbandonLearningText:: - text "Abandon learning" - line "@" - TX_RAM wcf4b - text "?" - done - -_DidNotLearnText:: - TX_RAM wLearnMoveMonName - text "" - line "did not learn" - cont "@" - TX_RAM wcf4b - text "!" - prompt - -_TryingToLearnText:: - TX_RAM wLearnMoveMonName - text " is" - line "trying to learn" - cont "@" - TX_RAM wcf4b - text "!" - - para "But, @" - TX_RAM wLearnMoveMonName - text "" - line "can't learn more" - cont "than 4 moves!" - - para "Delete an older" - line "move to make room" - cont "for @" - TX_RAM wcf4b - text "?" - done - -_OneTwoAndText:: - text "1, 2 and...@@" - -_PoofText:: - text " Poof!@@" - -_ForgotAndText:: - text "" - para "@" - TX_RAM wLearnMoveMonName - text " forgot" - line "@" - TX_RAM wcd6d - text "!" - - para "And..." - prompt - -_HMCantDeleteText:: - text "HM techniques" - line "can't be deleted!" - prompt - -_PokemonCenterWelcomeText:: - text "Welcome to our" - line "#MON CENTER!" - - para "We heal your" - line "#MON back to" - cont "perfect health!" - prompt - -_ShallWeHealYourPokemonText:: - text "Shall we heal your" - line "#MON?" - done - -_NeedYourPokemonText:: - text "OK. We'll need" - line "your #MON." - done - -_PokemonFightingFitText:: - text "Thank you!" - line "Your #MON are" - cont "fighting fit!" - prompt - -_PokemonCenterFarewellText:: - text "We hope to see" - line "you again!" - done - -_CableClubNPCAreaReservedFor2FriendsLinkedByCableText:: - text "This area is" - line "reserved for 2" - cont "friends who are" - cont "linked by cable." - done - -_CableClubNPCWelcomeText:: - text "Welcome to the" - line "Cable Club!" - done - -_CableClubNPCPleaseApplyHereHaveToSaveText:: - text "Please apply here." - - para "Before opening" - line "the link, we have" - cont "to save the game." - done - -_CableClubNPCPleaseWaitText:: - text "Please wait.@@" - -_CableClubNPCLinkClosedBecauseOfInactivityText:: - text "The link has been" - line "closed because of" - cont "inactivity." - - para "Please contact" - line "your friend and" - cont "come again!" - done +INCLUDE "data/text/text_4.asm" SECTION "Text 10", ROMX -_CableClubNPCPleaseComeAgainText:: - text "Please come again!" - done +INCLUDE "data/text/text_5.asm" -_CableClubNPCMakingPreparationsText:: - text "We're making" - line "preparations." - cont "Please wait." - done +INCLUDE "text/PalletTown.asm" +INCLUDE "text/ViridianCity.asm" +INCLUDE "text/PewterCity.asm" +INCLUDE "text/CeruleanCity.asm" +INCLUDE "text/LavenderTown.asm" +INCLUDE "text/VermilionCity.asm" +INCLUDE "text/CeladonCity.asm" +INCLUDE "text/FuchsiaCity.asm" +INCLUDE "text/CinnabarIsland.asm" +INCLUDE "text/SaffronCity.asm" -_UsedStrengthText:: - TX_RAM wcd6d - text " used" - line "STRENGTH.@@" - -_CanMoveBouldersText:: - TX_RAM wcd6d - text " can" - line "move boulders." - prompt - -_CurrentTooFastText:: - text "The current is" - line "much too fast!" - prompt - -_CyclingIsFunText:: - text "Cycling is fun!" - line "Forget SURFing!" - prompt - -_FlashLightsAreaText:: - text "A blinding FLASH" - line "lights the area!" - prompt - -_WarpToLastPokemonCenterText:: - text "Warp to the last" - line "#MON CENTER." - done - -_CannotUseTeleportNowText:: - TX_RAM wcd6d - text " can't" - line "use TELEPORT now." - prompt - -_CannotFlyHereText:: - TX_RAM wcd6d - text " can't" - line "FLY here." - prompt - -_NotHealthyEnoughText:: - text "Not healthy" - line "enough." - prompt - -_NewBadgeRequiredText:: - text "No! A new BADGE" - line "is required." - prompt - -_CannotUseItemsHereText:: - text "You can't use items" - line "here." - prompt - -_CannotGetOffHereText:: - text "You can't get off" - line "here." - prompt - -_GotMonText:: - text " got" - line "@" - TX_RAM wcd6d - text "!@@" - -_SentToBoxText:: - text "There's no more" - line "room for #MON!" - cont "@" - TX_RAM wBoxMonNicks - text " was" - cont "sent to #MON" - cont "BOX @" - TX_RAM wcf4b - text " on PC!" - done - -_BoxIsFullText:: - text "There's no more" - line "room for #MON!" - - para "The #MON BOX" - line "is full and can't" - cont "accept any more!" - - para "Change the BOX at" - line "a #MON CENTER!" - done - -INCLUDE "text/maps/PalletTown.asm" -INCLUDE "text/maps/ViridianCity.asm" -INCLUDE "text/maps/PewterCity.asm" -INCLUDE "text/maps/CeruleanCity.asm" -INCLUDE "text/maps/LavenderTown.asm" -INCLUDE "text/maps/VermilionCity.asm" -INCLUDE "text/maps/CeladonCity.asm" -INCLUDE "text/maps/FuchsiaCity.asm" -INCLUDE "text/maps/CinnabarIsland.asm" -INCLUDE "text/maps/SaffronCity.asm" - -_ItemUseBallText00:: - text "It dodged the" - line "thrown BALL!" - - para "This #MON" - line "can't be caught!" - prompt - -_ItemUseBallText01:: - text "You missed the" - line "#MON!" - prompt - -_ItemUseBallText02:: - text "Darn! The #MON" - line "broke free!" - prompt - -_ItemUseBallText03:: - text "Aww! It appeared" - line "to be caught! " - prompt - -_ItemUseBallText04:: - text "Shoot! It was so" - line "close too!" - prompt - -_ItemUseBallText05:: - text "All right!" - line "@" - TX_RAM wEnemyMonNick - text " was" - cont "caught!@@" - -_ItemUseBallText07:: - TX_RAM wBoxMonNicks - text " was" - line "transferred to" - cont "BILL's PC!" - prompt - -_ItemUseBallText08:: - TX_RAM wBoxMonNicks - text " was" - line "transferred to" - cont "someone's PC!" - prompt - -_ItemUseBallText06:: - text "New #DEX data" - line "will be added for" - cont "@" - TX_RAM wEnemyMonNick - text "!@@" - -_SurfingGotOnText:: - text " got on" - line "@" - TX_RAM wcd6d - text "!" - prompt - -_SurfingNoPlaceToGetOffText:: - text "There's no place" - line "to get off!" - prompt - -_VitaminStatRoseText:: - TX_RAM wcd6d - text "'s" - line "@" - TX_RAM wcf4b - text " rose." - prompt - -_VitaminNoEffectText:: - text "It won't have any" - line "effect." - prompt - -_ThrewBaitText:: - text " threw" - line "some BAIT." - done - -_ThrewRockText:: - text " threw a" - line "ROCK." - done - -_PlayedFluteNoEffectText:: - text "Played the #" - line "FLUTE." - - para "Now, that's a" - line "catchy tune!" - prompt - -_FluteWokeUpText:: - text "All sleeping" - line "#MON woke up." - prompt - -_PlayedFluteHadEffectText:: - text " played the" - line "# FLUTE.@@" - -_CoinCaseNumCoinsText:: - text "Coins" - line "@" - TX_BCD wPlayerCoins, 2 | LEADING_ZEROES | LEFT_ALIGN - text " " - prompt - -_ItemfinderFoundItemText:: - text "Yes! ITEMFINDER" - line "indicates there's" - cont "an item nearby." - prompt - -_ItemfinderFoundNothingText:: - text "Nope! ITEMFINDER" - line "isn't responding." - prompt - -_RaisePPWhichTechniqueText:: - text "Raise PP of which" - line "technique?" - done - -_RestorePPWhichTechniqueText:: - text "Restore PP of" - line "which technique?" - done - -_PPMaxedOutText:: - TX_RAM wcf4b - text "'s PP" - line "is maxed out." - prompt - -_PPIncreasedText:: - TX_RAM wcf4b - text "'s PP" - line "increased." - prompt - -_PPRestoredText:: - text "PP was restored." - prompt - -_BootedUpTMText:: - text "Booted up a TM!" - prompt - -_BootedUpHMText:: - text "Booted up an HM!" - prompt - -_TeachMachineMoveText:: - text "It contained" - line "@" - TX_RAM wcf4b - text "!" - - para "Teach @" - TX_RAM wcf4b - text "" - line "to a #MON?" - done - -_MonCannotLearnMachineMoveText:: - TX_RAM wcd6d - text " is not" - line "compatible with" - cont "@" - TX_RAM wcf4b - text "." - - para "It can't learn" - line "@" - TX_RAM wcf4b - text "." - prompt - -_ItemUseNotTimeText:: - text "OAK: !" - line "This isn't the" - cont "time to use that! " - prompt - -_ItemUseNotYoursToUseText:: - text "This isn't yours" - line "to use!" - prompt - -_ItemUseNoEffectText:: - text "It won't have any" - line "effect." - prompt - -_ThrowBallAtTrainerMonText1:: - text "The trainer" - line "blocked the BALL!" - prompt - -_ThrowBallAtTrainerMonText2:: - text "Don't be a thief!" - prompt - -_NoCyclingAllowedHereText:: - text "No cycling" - next "allowed here." - prompt - -_NoSurfingHereText:: - text "No SURFing on" - line "@" - TX_RAM wcd6d - text " here!" - prompt - -_BoxFullCannotThrowBallText:: - text "The #MON BOX" - line "is full! Can't" - cont "use that item!" - prompt +INCLUDE "data/text/text_6.asm" SECTION "Text 11", ROMX -_ItemUseText001:: - text " used@@" - -_ItemUseText002:: - TX_RAM wcf4b - text "!" - done - -_GotOnBicycleText1:: - text " got on the@@" - -_GotOnBicycleText2:: - TX_RAM wcf4b - text "!" - prompt - -_GotOffBicycleText1:: - text " got off@@" - -_GotOffBicycleText2:: - text "the @" - TX_RAM wcf4b - text "." - prompt - -_ThrewAwayItemText:: - text "Threw away" - line "@" - TX_RAM wcd6d - text "." - prompt - -_IsItOKToTossItemText:: - text "Is it OK to toss" - line "@" - TX_RAM wcf4b - text "?" - prompt - -_TooImportantToTossText:: - text "That's too impor-" - line "tant to toss!" - prompt - -_AlreadyKnowsText:: - TX_RAM wcd6d - text " knows" - line "@" - TX_RAM wcf4b - text "!" - prompt - -_ConnectCableText:: - text "Okay, connect the" - line "cable like so!" - prompt - -_TradedForText:: - text " traded" - line "@" - TX_RAM wInGameTradeGiveMonName - text " for" - cont "@" - TX_RAM wInGameTradeReceiveMonName - text "!@@" - -_WannaTrade1Text:: - text "I'm looking for" - line "@" - TX_RAM wInGameTradeGiveMonName - text "! Wanna" - - para "trade one for" - line "@" - TX_RAM wInGameTradeReceiveMonName - text "? " - done - -_NoTrade1Text:: - text "Awww!" - line "Oh well..." - done - -_WrongMon1Text:: - text "What? That's not" - line "@" - TX_RAM wInGameTradeGiveMonName - text "!" - - para "If you get one," - line "come back here!" - done - -_Thanks1Text:: - text "Hey thanks!" - done - -_AfterTrade1Text:: - text "Isn't my old" - line "@" - TX_RAM wInGameTradeReceiveMonName - text " great?" - done - -_WannaTrade2Text:: - text "Hello there! Do" - line "you want to trade" - - para "your @" - TX_RAM wInGameTradeGiveMonName - text "" - line "for @" - TX_RAM wInGameTradeReceiveMonName - text "?" - done - -_NoTrade2Text:: - text "Well, if you" - line "don't want to..." - done - -_WrongMon2Text:: - text "Hmmm? This isn't" - line "@" - TX_RAM wInGameTradeGiveMonName - text "." - - para "Think of me when" - line "you get one." - done - -_Thanks2Text:: - text "Thanks!" - done - -_AfterTrade2Text:: - text "The @" - TX_RAM wInGameTradeGiveMonName - text " you" - line "traded to me" - - para "went and evolved!" - done - -_WannaTrade3Text:: - text "Hi! Do you have" - line "@" - TX_RAM wInGameTradeGiveMonName - text "?" - - para "Want to trade it" - line "for @" - TX_RAM wInGameTradeReceiveMonName - text "?" - done - -_NoTrade3Text:: - text "That's too bad." - done - -_WrongMon3Text:: - text "...This is no" - line "@" - TX_RAM wInGameTradeGiveMonName - text "." - - para "If you get one," - line "trade it with me!" - done - -_Thanks3Text:: - text "Thanks pal!" - done - -_AfterTrade3Text:: - text "How is my old" - line "@" - TX_RAM wInGameTradeReceiveMonName - text "?" - - para "My @" - TX_RAM wInGameTradeGiveMonName - text " is" - line "doing great!" - done - -_NothingToCutText:: - text "There isn't" - line "anything to CUT!" - prompt - -_UsedCutText:: - TX_RAM wcd6d - text " hacked" - line "away with CUT!" - prompt +INCLUDE "data/text/text_7.asm" SECTION "Pokedex Text", ROMX -INCLUDE "text/pokedex.asm" +INCLUDE "data/pokemon/dex_text.asm" SECTION "Move Names", ROMX -INCLUDE "text/move_names.asm" +INCLUDE "data/moves/names.asm" diff --git a/text/maps/AgathasRoom.asm b/text/AgathasRoom.asm similarity index 100% rename from text/maps/AgathasRoom.asm rename to text/AgathasRoom.asm diff --git a/text/maps/BikeShop.asm b/text/BikeShop.asm similarity index 100% rename from text/maps/BikeShop.asm rename to text/BikeShop.asm diff --git a/text/maps/BillsHouse.asm b/text/BillsHouse.asm similarity index 100% rename from text/maps/BillsHouse.asm rename to text/BillsHouse.asm diff --git a/text/maps/BluesHouse.asm b/text/BluesHouse.asm similarity index 100% rename from text/maps/BluesHouse.asm rename to text/BluesHouse.asm diff --git a/text/maps/BrunosRoom.asm b/text/BrunosRoom.asm similarity index 100% rename from text/maps/BrunosRoom.asm rename to text/BrunosRoom.asm diff --git a/text/maps/CeladonChiefHouse.asm b/text/CeladonChiefHouse.asm similarity index 100% rename from text/maps/CeladonChiefHouse.asm rename to text/CeladonChiefHouse.asm diff --git a/text/maps/CeladonCity.asm b/text/CeladonCity.asm similarity index 100% rename from text/maps/CeladonCity.asm rename to text/CeladonCity.asm diff --git a/text/maps/CeladonDiner.asm b/text/CeladonDiner.asm similarity index 100% rename from text/maps/CeladonDiner.asm rename to text/CeladonDiner.asm diff --git a/text/maps/CeladonGym.asm b/text/CeladonGym.asm similarity index 100% rename from text/maps/CeladonGym.asm rename to text/CeladonGym.asm diff --git a/text/maps/CeladonHotel.asm b/text/CeladonHotel.asm similarity index 100% rename from text/maps/CeladonHotel.asm rename to text/CeladonHotel.asm diff --git a/text/maps/CeladonMansion1F.asm b/text/CeladonMansion1F.asm similarity index 100% rename from text/maps/CeladonMansion1F.asm rename to text/CeladonMansion1F.asm diff --git a/text/maps/CeladonMansion2F.asm b/text/CeladonMansion2F.asm similarity index 100% rename from text/maps/CeladonMansion2F.asm rename to text/CeladonMansion2F.asm diff --git a/text/maps/CeladonMansion3F.asm b/text/CeladonMansion3F.asm similarity index 100% rename from text/maps/CeladonMansion3F.asm rename to text/CeladonMansion3F.asm diff --git a/text/maps/CeladonMansionRoof.asm b/text/CeladonMansionRoof.asm similarity index 100% rename from text/maps/CeladonMansionRoof.asm rename to text/CeladonMansionRoof.asm diff --git a/text/maps/CeladonMansionRoofHouse.asm b/text/CeladonMansionRoofHouse.asm similarity index 100% rename from text/maps/CeladonMansionRoofHouse.asm rename to text/CeladonMansionRoofHouse.asm diff --git a/text/maps/CeladonMart1F.asm b/text/CeladonMart1F.asm similarity index 100% rename from text/maps/CeladonMart1F.asm rename to text/CeladonMart1F.asm diff --git a/text/maps/CeladonMart2F.asm b/text/CeladonMart2F.asm similarity index 100% rename from text/maps/CeladonMart2F.asm rename to text/CeladonMart2F.asm diff --git a/text/maps/CeladonMart3F.asm b/text/CeladonMart3F.asm similarity index 100% rename from text/maps/CeladonMart3F.asm rename to text/CeladonMart3F.asm diff --git a/text/maps/CeladonMart4F.asm b/text/CeladonMart4F.asm similarity index 100% rename from text/maps/CeladonMart4F.asm rename to text/CeladonMart4F.asm diff --git a/text/maps/CeladonMart5F.asm b/text/CeladonMart5F.asm similarity index 100% rename from text/maps/CeladonMart5F.asm rename to text/CeladonMart5F.asm diff --git a/text/maps/CeladonMartRoof.asm b/text/CeladonMartRoof.asm similarity index 100% rename from text/maps/CeladonMartRoof.asm rename to text/CeladonMartRoof.asm diff --git a/text/maps/CeladonPokecenter.asm b/text/CeladonPokecenter.asm similarity index 100% rename from text/maps/CeladonPokecenter.asm rename to text/CeladonPokecenter.asm diff --git a/text/maps/CeruleanBadgeHouse.asm b/text/CeruleanBadgeHouse.asm similarity index 100% rename from text/maps/CeruleanBadgeHouse.asm rename to text/CeruleanBadgeHouse.asm diff --git a/text/maps/CeruleanCaveB1F.asm b/text/CeruleanCaveB1F.asm similarity index 100% rename from text/maps/CeruleanCaveB1F.asm rename to text/CeruleanCaveB1F.asm diff --git a/text/maps/CeruleanCity.asm b/text/CeruleanCity.asm similarity index 100% rename from text/maps/CeruleanCity.asm rename to text/CeruleanCity.asm diff --git a/text/maps/CeruleanGym.asm b/text/CeruleanGym.asm similarity index 100% rename from text/maps/CeruleanGym.asm rename to text/CeruleanGym.asm diff --git a/text/maps/CeruleanMart.asm b/text/CeruleanMart.asm similarity index 100% rename from text/maps/CeruleanMart.asm rename to text/CeruleanMart.asm diff --git a/text/maps/CeruleanPokecenter.asm b/text/CeruleanPokecenter.asm similarity index 100% rename from text/maps/CeruleanPokecenter.asm rename to text/CeruleanPokecenter.asm diff --git a/text/maps/CeruleanTradeHouse.asm b/text/CeruleanTradeHouse.asm similarity index 100% rename from text/maps/CeruleanTradeHouse.asm rename to text/CeruleanTradeHouse.asm diff --git a/text/maps/CeruleanTrashedHouse.asm b/text/CeruleanTrashedHouse.asm similarity index 100% rename from text/maps/CeruleanTrashedHouse.asm rename to text/CeruleanTrashedHouse.asm diff --git a/text/maps/ChampionsRoom.asm b/text/ChampionsRoom.asm similarity index 100% rename from text/maps/ChampionsRoom.asm rename to text/ChampionsRoom.asm diff --git a/text/maps/CinnabarGym.asm b/text/CinnabarGym.asm similarity index 100% rename from text/maps/CinnabarGym.asm rename to text/CinnabarGym.asm diff --git a/text/maps/CinnabarIsland.asm b/text/CinnabarIsland.asm similarity index 100% rename from text/maps/CinnabarIsland.asm rename to text/CinnabarIsland.asm diff --git a/text/maps/CinnabarLab.asm b/text/CinnabarLab.asm similarity index 100% rename from text/maps/CinnabarLab.asm rename to text/CinnabarLab.asm diff --git a/text/maps/CinnabarLabFossilRoom.asm b/text/CinnabarLabFossilRoom.asm similarity index 100% rename from text/maps/CinnabarLabFossilRoom.asm rename to text/CinnabarLabFossilRoom.asm diff --git a/text/maps/CinnabarLabMetronomeRoom.asm b/text/CinnabarLabMetronomeRoom.asm similarity index 100% rename from text/maps/CinnabarLabMetronomeRoom.asm rename to text/CinnabarLabMetronomeRoom.asm diff --git a/text/maps/CinnabarLabTradeRoom.asm b/text/CinnabarLabTradeRoom.asm similarity index 100% rename from text/maps/CinnabarLabTradeRoom.asm rename to text/CinnabarLabTradeRoom.asm diff --git a/text/maps/CinnabarMart.asm b/text/CinnabarMart.asm similarity index 100% rename from text/maps/CinnabarMart.asm rename to text/CinnabarMart.asm diff --git a/text/maps/CinnabarPokecenter.asm b/text/CinnabarPokecenter.asm similarity index 100% rename from text/maps/CinnabarPokecenter.asm rename to text/CinnabarPokecenter.asm diff --git a/text/maps/CopycatsHouse1F.asm b/text/CopycatsHouse1F.asm similarity index 100% rename from text/maps/CopycatsHouse1F.asm rename to text/CopycatsHouse1F.asm diff --git a/text/maps/CopycatsHouse2F.asm b/text/CopycatsHouse2F.asm similarity index 100% rename from text/maps/CopycatsHouse2F.asm rename to text/CopycatsHouse2F.asm diff --git a/text/maps/Daycare.asm b/text/Daycare.asm similarity index 100% rename from text/maps/Daycare.asm rename to text/Daycare.asm diff --git a/text/maps/Daycare_2.asm b/text/Daycare_2.asm similarity index 100% rename from text/maps/Daycare_2.asm rename to text/Daycare_2.asm diff --git a/text/maps/DiglettsCaveRoute11.asm b/text/DiglettsCaveRoute11.asm similarity index 100% rename from text/maps/DiglettsCaveRoute11.asm rename to text/DiglettsCaveRoute11.asm diff --git a/text/maps/DiglettsCaveRoute2.asm b/text/DiglettsCaveRoute2.asm similarity index 100% rename from text/maps/DiglettsCaveRoute2.asm rename to text/DiglettsCaveRoute2.asm diff --git a/text/maps/FightingDojo.asm b/text/FightingDojo.asm similarity index 100% rename from text/maps/FightingDojo.asm rename to text/FightingDojo.asm diff --git a/text/maps/FuchsiaBillsGrandpasHouse.asm b/text/FuchsiaBillsGrandpasHouse.asm similarity index 100% rename from text/maps/FuchsiaBillsGrandpasHouse.asm rename to text/FuchsiaBillsGrandpasHouse.asm diff --git a/text/maps/FuchsiaCity.asm b/text/FuchsiaCity.asm similarity index 100% rename from text/maps/FuchsiaCity.asm rename to text/FuchsiaCity.asm diff --git a/text/maps/FuchsiaGoodRodHouse.asm b/text/FuchsiaGoodRodHouse.asm similarity index 100% rename from text/maps/FuchsiaGoodRodHouse.asm rename to text/FuchsiaGoodRodHouse.asm diff --git a/text/maps/FuchsiaGym.asm b/text/FuchsiaGym.asm similarity index 100% rename from text/maps/FuchsiaGym.asm rename to text/FuchsiaGym.asm diff --git a/text/maps/FuchsiaGym_2.asm b/text/FuchsiaGym_2.asm similarity index 100% rename from text/maps/FuchsiaGym_2.asm rename to text/FuchsiaGym_2.asm diff --git a/text/maps/FuchsiaMart.asm b/text/FuchsiaMart.asm similarity index 100% rename from text/maps/FuchsiaMart.asm rename to text/FuchsiaMart.asm diff --git a/text/maps/FuchsiaMeetingRoom.asm b/text/FuchsiaMeetingRoom.asm similarity index 100% rename from text/maps/FuchsiaMeetingRoom.asm rename to text/FuchsiaMeetingRoom.asm diff --git a/text/maps/FuchsiaPokecenter.asm b/text/FuchsiaPokecenter.asm similarity index 100% rename from text/maps/FuchsiaPokecenter.asm rename to text/FuchsiaPokecenter.asm diff --git a/text/maps/GameCorner.asm b/text/GameCorner.asm similarity index 100% rename from text/maps/GameCorner.asm rename to text/GameCorner.asm diff --git a/text/maps/GameCornerPrizeRoom.asm b/text/GameCornerPrizeRoom.asm similarity index 100% rename from text/maps/GameCornerPrizeRoom.asm rename to text/GameCornerPrizeRoom.asm diff --git a/text/maps/HallOfFame.asm b/text/HallOfFame.asm similarity index 100% rename from text/maps/HallOfFame.asm rename to text/HallOfFame.asm diff --git a/text/maps/IndigoPlateauLobby.asm b/text/IndigoPlateauLobby.asm similarity index 100% rename from text/maps/IndigoPlateauLobby.asm rename to text/IndigoPlateauLobby.asm diff --git a/text/maps/LancesRoom.asm b/text/LancesRoom.asm similarity index 100% rename from text/maps/LancesRoom.asm rename to text/LancesRoom.asm diff --git a/text/maps/LavenderCuboneHouse.asm b/text/LavenderCuboneHouse.asm similarity index 100% rename from text/maps/LavenderCuboneHouse.asm rename to text/LavenderCuboneHouse.asm diff --git a/text/maps/LavenderMart.asm b/text/LavenderMart.asm similarity index 100% rename from text/maps/LavenderMart.asm rename to text/LavenderMart.asm diff --git a/text/maps/LavenderPokecenter.asm b/text/LavenderPokecenter.asm similarity index 100% rename from text/maps/LavenderPokecenter.asm rename to text/LavenderPokecenter.asm diff --git a/text/maps/LavenderTown.asm b/text/LavenderTown.asm similarity index 100% rename from text/maps/LavenderTown.asm rename to text/LavenderTown.asm diff --git a/text/maps/LoreleisRoom.asm b/text/LoreleisRoom.asm similarity index 100% rename from text/maps/LoreleisRoom.asm rename to text/LoreleisRoom.asm diff --git a/text/maps/MrFujisHouse.asm b/text/MrFujisHouse.asm similarity index 100% rename from text/maps/MrFujisHouse.asm rename to text/MrFujisHouse.asm diff --git a/text/maps/MrPsychicsHouse.asm b/text/MrPsychicsHouse.asm similarity index 100% rename from text/maps/MrPsychicsHouse.asm rename to text/MrPsychicsHouse.asm diff --git a/text/maps/MtMoon1F.asm b/text/MtMoon1F.asm similarity index 100% rename from text/maps/MtMoon1F.asm rename to text/MtMoon1F.asm diff --git a/text/maps/MtMoonB1F.asm b/text/MtMoonB1F.asm similarity index 100% rename from text/maps/MtMoonB1F.asm rename to text/MtMoonB1F.asm diff --git a/text/maps/MtMoonB2F.asm b/text/MtMoonB2F.asm similarity index 100% rename from text/maps/MtMoonB2F.asm rename to text/MtMoonB2F.asm diff --git a/text/maps/MtMoonPokecenter.asm b/text/MtMoonPokecenter.asm similarity index 100% rename from text/maps/MtMoonPokecenter.asm rename to text/MtMoonPokecenter.asm diff --git a/text/maps/Museum1F.asm b/text/Museum1F.asm similarity index 100% rename from text/maps/Museum1F.asm rename to text/Museum1F.asm diff --git a/text/maps/Museum2F.asm b/text/Museum2F.asm similarity index 100% rename from text/maps/Museum2F.asm rename to text/Museum2F.asm diff --git a/text/maps/NameRatersHouse.asm b/text/NameRatersHouse.asm similarity index 100% rename from text/maps/NameRatersHouse.asm rename to text/NameRatersHouse.asm diff --git a/text/maps/OaksLab.asm b/text/OaksLab.asm similarity index 100% rename from text/maps/OaksLab.asm rename to text/OaksLab.asm diff --git a/text/maps/PalletTown.asm b/text/PalletTown.asm similarity index 100% rename from text/maps/PalletTown.asm rename to text/PalletTown.asm diff --git a/text/maps/PewterCity.asm b/text/PewterCity.asm similarity index 100% rename from text/maps/PewterCity.asm rename to text/PewterCity.asm diff --git a/text/maps/PewterGym.asm b/text/PewterGym.asm similarity index 100% rename from text/maps/PewterGym.asm rename to text/PewterGym.asm diff --git a/text/maps/PewterGym_2.asm b/text/PewterGym_2.asm similarity index 100% rename from text/maps/PewterGym_2.asm rename to text/PewterGym_2.asm diff --git a/text/maps/PewterMart.asm b/text/PewterMart.asm similarity index 100% rename from text/maps/PewterMart.asm rename to text/PewterMart.asm diff --git a/text/maps/PewterNidoranHouse.asm b/text/PewterNidoranHouse.asm similarity index 100% rename from text/maps/PewterNidoranHouse.asm rename to text/PewterNidoranHouse.asm diff --git a/text/maps/PewterPokecenter.asm b/text/PewterPokecenter.asm similarity index 100% rename from text/maps/PewterPokecenter.asm rename to text/PewterPokecenter.asm diff --git a/text/maps/PewterSpeechHouse.asm b/text/PewterSpeechHouse.asm similarity index 100% rename from text/maps/PewterSpeechHouse.asm rename to text/PewterSpeechHouse.asm diff --git a/text/maps/PokemonFanClub.asm b/text/PokemonFanClub.asm similarity index 100% rename from text/maps/PokemonFanClub.asm rename to text/PokemonFanClub.asm diff --git a/text/maps/PokemonMansion1F.asm b/text/PokemonMansion1F.asm similarity index 100% rename from text/maps/PokemonMansion1F.asm rename to text/PokemonMansion1F.asm diff --git a/text/maps/PokemonMansion2F.asm b/text/PokemonMansion2F.asm similarity index 100% rename from text/maps/PokemonMansion2F.asm rename to text/PokemonMansion2F.asm diff --git a/text/maps/PokemonMansion3F.asm b/text/PokemonMansion3F.asm similarity index 100% rename from text/maps/PokemonMansion3F.asm rename to text/PokemonMansion3F.asm diff --git a/text/maps/PokemonMansionB1F.asm b/text/PokemonMansionB1F.asm similarity index 100% rename from text/maps/PokemonMansionB1F.asm rename to text/PokemonMansionB1F.asm diff --git a/text/maps/PokemonTower1F.asm b/text/PokemonTower1F.asm similarity index 100% rename from text/maps/PokemonTower1F.asm rename to text/PokemonTower1F.asm diff --git a/text/maps/PokemonTower2F.asm b/text/PokemonTower2F.asm similarity index 100% rename from text/maps/PokemonTower2F.asm rename to text/PokemonTower2F.asm diff --git a/text/maps/PokemonTower3F.asm b/text/PokemonTower3F.asm similarity index 100% rename from text/maps/PokemonTower3F.asm rename to text/PokemonTower3F.asm diff --git a/text/maps/PokemonTower4F.asm b/text/PokemonTower4F.asm similarity index 100% rename from text/maps/PokemonTower4F.asm rename to text/PokemonTower4F.asm diff --git a/text/maps/PokemonTower5F.asm b/text/PokemonTower5F.asm similarity index 100% rename from text/maps/PokemonTower5F.asm rename to text/PokemonTower5F.asm diff --git a/text/maps/PokemonTower6F.asm b/text/PokemonTower6F.asm similarity index 100% rename from text/maps/PokemonTower6F.asm rename to text/PokemonTower6F.asm diff --git a/text/maps/PokemonTower7F.asm b/text/PokemonTower7F.asm similarity index 100% rename from text/maps/PokemonTower7F.asm rename to text/PokemonTower7F.asm diff --git a/text/maps/PowerPlant.asm b/text/PowerPlant.asm similarity index 100% rename from text/maps/PowerPlant.asm rename to text/PowerPlant.asm diff --git a/text/maps/RedsHouse1F.asm b/text/RedsHouse1F.asm similarity index 100% rename from text/maps/RedsHouse1F.asm rename to text/RedsHouse1F.asm diff --git a/text/maps/RockTunnel1F.asm b/text/RockTunnel1F.asm similarity index 100% rename from text/maps/RockTunnel1F.asm rename to text/RockTunnel1F.asm diff --git a/text/maps/RockTunnelB1F.asm b/text/RockTunnelB1F.asm similarity index 100% rename from text/maps/RockTunnelB1F.asm rename to text/RockTunnelB1F.asm diff --git a/text/maps/RockTunnelB1F_2.asm b/text/RockTunnelB1F_2.asm similarity index 100% rename from text/maps/RockTunnelB1F_2.asm rename to text/RockTunnelB1F_2.asm diff --git a/text/maps/RockTunnelPokecenter.asm b/text/RockTunnelPokecenter.asm similarity index 100% rename from text/maps/RockTunnelPokecenter.asm rename to text/RockTunnelPokecenter.asm diff --git a/text/maps/RocketHideoutB1F.asm b/text/RocketHideoutB1F.asm similarity index 100% rename from text/maps/RocketHideoutB1F.asm rename to text/RocketHideoutB1F.asm diff --git a/text/maps/RocketHideoutB2F.asm b/text/RocketHideoutB2F.asm similarity index 100% rename from text/maps/RocketHideoutB2F.asm rename to text/RocketHideoutB2F.asm diff --git a/text/maps/RocketHideoutB3F.asm b/text/RocketHideoutB3F.asm similarity index 100% rename from text/maps/RocketHideoutB3F.asm rename to text/RocketHideoutB3F.asm diff --git a/text/maps/RocketHideoutB4F.asm b/text/RocketHideoutB4F.asm similarity index 100% rename from text/maps/RocketHideoutB4F.asm rename to text/RocketHideoutB4F.asm diff --git a/text/maps/RocketHideoutElevator.asm b/text/RocketHideoutElevator.asm similarity index 100% rename from text/maps/RocketHideoutElevator.asm rename to text/RocketHideoutElevator.asm diff --git a/text/maps/Route1.asm b/text/Route1.asm similarity index 100% rename from text/maps/Route1.asm rename to text/Route1.asm diff --git a/text/maps/Route10.asm b/text/Route10.asm similarity index 100% rename from text/maps/Route10.asm rename to text/Route10.asm diff --git a/text/maps/Route11.asm b/text/Route11.asm similarity index 100% rename from text/maps/Route11.asm rename to text/Route11.asm diff --git a/text/maps/Route11Gate1F.asm b/text/Route11Gate1F.asm similarity index 100% rename from text/maps/Route11Gate1F.asm rename to text/Route11Gate1F.asm diff --git a/text/maps/Route11Gate2F.asm b/text/Route11Gate2F.asm similarity index 100% rename from text/maps/Route11Gate2F.asm rename to text/Route11Gate2F.asm diff --git a/text/maps/Route11_2.asm b/text/Route11_2.asm similarity index 100% rename from text/maps/Route11_2.asm rename to text/Route11_2.asm diff --git a/text/maps/Route12.asm b/text/Route12.asm similarity index 100% rename from text/maps/Route12.asm rename to text/Route12.asm diff --git a/text/maps/Route12Gate1F.asm b/text/Route12Gate1F.asm similarity index 100% rename from text/maps/Route12Gate1F.asm rename to text/Route12Gate1F.asm diff --git a/text/maps/Route12Gate2F.asm b/text/Route12Gate2F.asm similarity index 100% rename from text/maps/Route12Gate2F.asm rename to text/Route12Gate2F.asm diff --git a/text/maps/Route12SuperRodHouse.asm b/text/Route12SuperRodHouse.asm similarity index 100% rename from text/maps/Route12SuperRodHouse.asm rename to text/Route12SuperRodHouse.asm diff --git a/text/maps/Route13.asm b/text/Route13.asm similarity index 100% rename from text/maps/Route13.asm rename to text/Route13.asm diff --git a/text/maps/Route14.asm b/text/Route14.asm similarity index 100% rename from text/maps/Route14.asm rename to text/Route14.asm diff --git a/text/maps/Route15.asm b/text/Route15.asm similarity index 100% rename from text/maps/Route15.asm rename to text/Route15.asm diff --git a/text/maps/Route15Gate1F.asm b/text/Route15Gate1F.asm similarity index 100% rename from text/maps/Route15Gate1F.asm rename to text/Route15Gate1F.asm diff --git a/text/maps/Route15Gate2F.asm b/text/Route15Gate2F.asm similarity index 100% rename from text/maps/Route15Gate2F.asm rename to text/Route15Gate2F.asm diff --git a/text/maps/Route16.asm b/text/Route16.asm similarity index 100% rename from text/maps/Route16.asm rename to text/Route16.asm diff --git a/text/maps/Route16FlyHouse.asm b/text/Route16FlyHouse.asm similarity index 100% rename from text/maps/Route16FlyHouse.asm rename to text/Route16FlyHouse.asm diff --git a/text/maps/Route16Gate1F.asm b/text/Route16Gate1F.asm similarity index 100% rename from text/maps/Route16Gate1F.asm rename to text/Route16Gate1F.asm diff --git a/text/maps/Route16Gate2F.asm b/text/Route16Gate2F.asm similarity index 100% rename from text/maps/Route16Gate2F.asm rename to text/Route16Gate2F.asm diff --git a/text/maps/Route17.asm b/text/Route17.asm similarity index 100% rename from text/maps/Route17.asm rename to text/Route17.asm diff --git a/text/maps/Route18.asm b/text/Route18.asm similarity index 100% rename from text/maps/Route18.asm rename to text/Route18.asm diff --git a/text/maps/Route18Gate1F.asm b/text/Route18Gate1F.asm similarity index 100% rename from text/maps/Route18Gate1F.asm rename to text/Route18Gate1F.asm diff --git a/text/maps/Route18Gate2F.asm b/text/Route18Gate2F.asm similarity index 100% rename from text/maps/Route18Gate2F.asm rename to text/Route18Gate2F.asm diff --git a/text/maps/Route19.asm b/text/Route19.asm similarity index 100% rename from text/maps/Route19.asm rename to text/Route19.asm diff --git a/text/maps/Route2.asm b/text/Route2.asm similarity index 100% rename from text/maps/Route2.asm rename to text/Route2.asm diff --git a/text/maps/Route20.asm b/text/Route20.asm similarity index 100% rename from text/maps/Route20.asm rename to text/Route20.asm diff --git a/text/maps/Route21.asm b/text/Route21.asm similarity index 100% rename from text/maps/Route21.asm rename to text/Route21.asm diff --git a/text/maps/Route22.asm b/text/Route22.asm similarity index 100% rename from text/maps/Route22.asm rename to text/Route22.asm diff --git a/text/maps/Route22Gate.asm b/text/Route22Gate.asm similarity index 100% rename from text/maps/Route22Gate.asm rename to text/Route22Gate.asm diff --git a/text/maps/Route23.asm b/text/Route23.asm similarity index 100% rename from text/maps/Route23.asm rename to text/Route23.asm diff --git a/text/maps/Route24.asm b/text/Route24.asm similarity index 100% rename from text/maps/Route24.asm rename to text/Route24.asm diff --git a/text/maps/Route24_2.asm b/text/Route24_2.asm similarity index 100% rename from text/maps/Route24_2.asm rename to text/Route24_2.asm diff --git a/text/maps/Route25.asm b/text/Route25.asm similarity index 100% rename from text/maps/Route25.asm rename to text/Route25.asm diff --git a/text/maps/Route2Gate.asm b/text/Route2Gate.asm similarity index 100% rename from text/maps/Route2Gate.asm rename to text/Route2Gate.asm diff --git a/text/maps/Route2TradeHouse.asm b/text/Route2TradeHouse.asm similarity index 100% rename from text/maps/Route2TradeHouse.asm rename to text/Route2TradeHouse.asm diff --git a/text/maps/Route3.asm b/text/Route3.asm similarity index 100% rename from text/maps/Route3.asm rename to text/Route3.asm diff --git a/text/maps/Route4.asm b/text/Route4.asm similarity index 100% rename from text/maps/Route4.asm rename to text/Route4.asm diff --git a/text/maps/Route5.asm b/text/Route5.asm similarity index 100% rename from text/maps/Route5.asm rename to text/Route5.asm diff --git a/text/maps/Route6.asm b/text/Route6.asm similarity index 100% rename from text/maps/Route6.asm rename to text/Route6.asm diff --git a/text/maps/Route7.asm b/text/Route7.asm similarity index 100% rename from text/maps/Route7.asm rename to text/Route7.asm diff --git a/text/maps/Route8.asm b/text/Route8.asm similarity index 100% rename from text/maps/Route8.asm rename to text/Route8.asm diff --git a/text/maps/Route9.asm b/text/Route9.asm similarity index 100% rename from text/maps/Route9.asm rename to text/Route9.asm diff --git a/text/maps/SSAnne1F.asm b/text/SSAnne1F.asm similarity index 100% rename from text/maps/SSAnne1F.asm rename to text/SSAnne1F.asm diff --git a/text/maps/SSAnne1FRooms.asm b/text/SSAnne1FRooms.asm similarity index 100% rename from text/maps/SSAnne1FRooms.asm rename to text/SSAnne1FRooms.asm diff --git a/text/maps/SSAnne2F.asm b/text/SSAnne2F.asm similarity index 100% rename from text/maps/SSAnne2F.asm rename to text/SSAnne2F.asm diff --git a/text/maps/SSAnne2FRooms.asm b/text/SSAnne2FRooms.asm similarity index 100% rename from text/maps/SSAnne2FRooms.asm rename to text/SSAnne2FRooms.asm diff --git a/text/maps/SSAnne3F.asm b/text/SSAnne3F.asm similarity index 100% rename from text/maps/SSAnne3F.asm rename to text/SSAnne3F.asm diff --git a/text/maps/SSAnneB1FRooms.asm b/text/SSAnneB1FRooms.asm similarity index 100% rename from text/maps/SSAnneB1FRooms.asm rename to text/SSAnneB1FRooms.asm diff --git a/text/maps/SSAnneBow.asm b/text/SSAnneBow.asm similarity index 100% rename from text/maps/SSAnneBow.asm rename to text/SSAnneBow.asm diff --git a/text/maps/SSAnneCaptainsRoom.asm b/text/SSAnneCaptainsRoom.asm similarity index 100% rename from text/maps/SSAnneCaptainsRoom.asm rename to text/SSAnneCaptainsRoom.asm diff --git a/text/maps/SSAnneKitchen.asm b/text/SSAnneKitchen.asm similarity index 100% rename from text/maps/SSAnneKitchen.asm rename to text/SSAnneKitchen.asm diff --git a/text/maps/SafariZoneCenter.asm b/text/SafariZoneCenter.asm similarity index 100% rename from text/maps/SafariZoneCenter.asm rename to text/SafariZoneCenter.asm diff --git a/text/maps/SafariZoneCenterRestHouse.asm b/text/SafariZoneCenterRestHouse.asm similarity index 100% rename from text/maps/SafariZoneCenterRestHouse.asm rename to text/SafariZoneCenterRestHouse.asm diff --git a/text/maps/SafariZoneEast.asm b/text/SafariZoneEast.asm similarity index 100% rename from text/maps/SafariZoneEast.asm rename to text/SafariZoneEast.asm diff --git a/text/maps/SafariZoneEastRestHouse.asm b/text/SafariZoneEastRestHouse.asm similarity index 100% rename from text/maps/SafariZoneEastRestHouse.asm rename to text/SafariZoneEastRestHouse.asm diff --git a/text/maps/SafariZoneGate.asm b/text/SafariZoneGate.asm similarity index 100% rename from text/maps/SafariZoneGate.asm rename to text/SafariZoneGate.asm diff --git a/text/maps/SafariZoneNorth.asm b/text/SafariZoneNorth.asm similarity index 100% rename from text/maps/SafariZoneNorth.asm rename to text/SafariZoneNorth.asm diff --git a/text/maps/SafariZoneNorthRestHouse.asm b/text/SafariZoneNorthRestHouse.asm similarity index 100% rename from text/maps/SafariZoneNorthRestHouse.asm rename to text/SafariZoneNorthRestHouse.asm diff --git a/text/maps/SafariZoneSecretHouse.asm b/text/SafariZoneSecretHouse.asm similarity index 100% rename from text/maps/SafariZoneSecretHouse.asm rename to text/SafariZoneSecretHouse.asm diff --git a/text/maps/SafariZoneWest.asm b/text/SafariZoneWest.asm similarity index 100% rename from text/maps/SafariZoneWest.asm rename to text/SafariZoneWest.asm diff --git a/text/maps/SafariZoneWestRestHouse.asm b/text/SafariZoneWestRestHouse.asm similarity index 100% rename from text/maps/SafariZoneWestRestHouse.asm rename to text/SafariZoneWestRestHouse.asm diff --git a/text/maps/SaffronCity.asm b/text/SaffronCity.asm similarity index 100% rename from text/maps/SaffronCity.asm rename to text/SaffronCity.asm diff --git a/text/maps/SaffronGates.asm b/text/SaffronGates.asm similarity index 100% rename from text/maps/SaffronGates.asm rename to text/SaffronGates.asm diff --git a/text/maps/SaffronGym.asm b/text/SaffronGym.asm similarity index 100% rename from text/maps/SaffronGym.asm rename to text/SaffronGym.asm diff --git a/text/maps/SaffronMart.asm b/text/SaffronMart.asm similarity index 100% rename from text/maps/SaffronMart.asm rename to text/SaffronMart.asm diff --git a/text/maps/SaffronPidgeyHouse.asm b/text/SaffronPidgeyHouse.asm similarity index 100% rename from text/maps/SaffronPidgeyHouse.asm rename to text/SaffronPidgeyHouse.asm diff --git a/text/maps/SaffronPokecenter.asm b/text/SaffronPokecenter.asm similarity index 100% rename from text/maps/SaffronPokecenter.asm rename to text/SaffronPokecenter.asm diff --git a/text/maps/SeafoamIslandsB4F.asm b/text/SeafoamIslandsB4F.asm similarity index 100% rename from text/maps/SeafoamIslandsB4F.asm rename to text/SeafoamIslandsB4F.asm diff --git a/text/maps/SilphCo10F.asm b/text/SilphCo10F.asm similarity index 100% rename from text/maps/SilphCo10F.asm rename to text/SilphCo10F.asm diff --git a/text/maps/SilphCo11F.asm b/text/SilphCo11F.asm similarity index 100% rename from text/maps/SilphCo11F.asm rename to text/SilphCo11F.asm diff --git a/text/maps/SilphCo1F.asm b/text/SilphCo1F.asm similarity index 100% rename from text/maps/SilphCo1F.asm rename to text/SilphCo1F.asm diff --git a/text/maps/SilphCo2F.asm b/text/SilphCo2F.asm similarity index 100% rename from text/maps/SilphCo2F.asm rename to text/SilphCo2F.asm diff --git a/text/maps/SilphCo3F.asm b/text/SilphCo3F.asm similarity index 100% rename from text/maps/SilphCo3F.asm rename to text/SilphCo3F.asm diff --git a/text/maps/SilphCo4F.asm b/text/SilphCo4F.asm similarity index 100% rename from text/maps/SilphCo4F.asm rename to text/SilphCo4F.asm diff --git a/text/maps/SilphCo5F.asm b/text/SilphCo5F.asm similarity index 100% rename from text/maps/SilphCo5F.asm rename to text/SilphCo5F.asm diff --git a/text/maps/SilphCo5F_2.asm b/text/SilphCo5F_2.asm similarity index 100% rename from text/maps/SilphCo5F_2.asm rename to text/SilphCo5F_2.asm diff --git a/text/maps/SilphCo6F.asm b/text/SilphCo6F.asm similarity index 100% rename from text/maps/SilphCo6F.asm rename to text/SilphCo6F.asm diff --git a/text/maps/SilphCo7F.asm b/text/SilphCo7F.asm similarity index 100% rename from text/maps/SilphCo7F.asm rename to text/SilphCo7F.asm diff --git a/text/maps/SilphCo8F.asm b/text/SilphCo8F.asm similarity index 100% rename from text/maps/SilphCo8F.asm rename to text/SilphCo8F.asm diff --git a/text/maps/SilphCo9F.asm b/text/SilphCo9F.asm similarity index 100% rename from text/maps/SilphCo9F.asm rename to text/SilphCo9F.asm diff --git a/text/maps/UndergroundPathRoute6.asm b/text/UndergroundPathRoute6.asm similarity index 100% rename from text/maps/UndergroundPathRoute6.asm rename to text/UndergroundPathRoute6.asm diff --git a/text/maps/UndergroundPathRoute7.asm b/text/UndergroundPathRoute7.asm similarity index 100% rename from text/maps/UndergroundPathRoute7.asm rename to text/UndergroundPathRoute7.asm diff --git a/text/maps/UndergroundPathRoute7Copy.asm b/text/UndergroundPathRoute7Copy.asm similarity index 100% rename from text/maps/UndergroundPathRoute7Copy.asm rename to text/UndergroundPathRoute7Copy.asm diff --git a/text/maps/UndergroundPathRoute8.asm b/text/UndergroundPathRoute8.asm similarity index 100% rename from text/maps/UndergroundPathRoute8.asm rename to text/UndergroundPathRoute8.asm diff --git a/text/maps/VermilionCity.asm b/text/VermilionCity.asm similarity index 100% rename from text/maps/VermilionCity.asm rename to text/VermilionCity.asm diff --git a/text/maps/VermilionDock.asm b/text/VermilionDock.asm similarity index 100% rename from text/maps/VermilionDock.asm rename to text/VermilionDock.asm diff --git a/text/maps/VermilionGym.asm b/text/VermilionGym.asm similarity index 100% rename from text/maps/VermilionGym.asm rename to text/VermilionGym.asm diff --git a/text/maps/VermilionGym_2.asm b/text/VermilionGym_2.asm similarity index 100% rename from text/maps/VermilionGym_2.asm rename to text/VermilionGym_2.asm diff --git a/text/maps/VermilionMart.asm b/text/VermilionMart.asm similarity index 100% rename from text/maps/VermilionMart.asm rename to text/VermilionMart.asm diff --git a/text/maps/VermilionOldRodHouse.asm b/text/VermilionOldRodHouse.asm similarity index 100% rename from text/maps/VermilionOldRodHouse.asm rename to text/VermilionOldRodHouse.asm diff --git a/text/maps/VermilionPidgeyHouse.asm b/text/VermilionPidgeyHouse.asm similarity index 100% rename from text/maps/VermilionPidgeyHouse.asm rename to text/VermilionPidgeyHouse.asm diff --git a/text/maps/VermilionPokecenter.asm b/text/VermilionPokecenter.asm similarity index 100% rename from text/maps/VermilionPokecenter.asm rename to text/VermilionPokecenter.asm diff --git a/text/maps/VictoryRoad1F.asm b/text/VictoryRoad1F.asm similarity index 100% rename from text/maps/VictoryRoad1F.asm rename to text/VictoryRoad1F.asm diff --git a/text/maps/VictoryRoad2F.asm b/text/VictoryRoad2F.asm similarity index 100% rename from text/maps/VictoryRoad2F.asm rename to text/VictoryRoad2F.asm diff --git a/text/maps/VictoryRoad3F.asm b/text/VictoryRoad3F.asm similarity index 100% rename from text/maps/VictoryRoad3F.asm rename to text/VictoryRoad3F.asm diff --git a/text/maps/ViridianCity.asm b/text/ViridianCity.asm similarity index 100% rename from text/maps/ViridianCity.asm rename to text/ViridianCity.asm diff --git a/text/maps/ViridianForest.asm b/text/ViridianForest.asm similarity index 100% rename from text/maps/ViridianForest.asm rename to text/ViridianForest.asm diff --git a/text/maps/ViridianForestNorthGate.asm b/text/ViridianForestNorthGate.asm similarity index 100% rename from text/maps/ViridianForestNorthGate.asm rename to text/ViridianForestNorthGate.asm diff --git a/text/maps/ViridianForestSouthGate.asm b/text/ViridianForestSouthGate.asm similarity index 100% rename from text/maps/ViridianForestSouthGate.asm rename to text/ViridianForestSouthGate.asm diff --git a/text/maps/ViridianGym.asm b/text/ViridianGym.asm similarity index 100% rename from text/maps/ViridianGym.asm rename to text/ViridianGym.asm diff --git a/text/maps/ViridianMart.asm b/text/ViridianMart.asm similarity index 100% rename from text/maps/ViridianMart.asm rename to text/ViridianMart.asm diff --git a/text/maps/ViridianNicknameHouse.asm b/text/ViridianNicknameHouse.asm similarity index 100% rename from text/maps/ViridianNicknameHouse.asm rename to text/ViridianNicknameHouse.asm diff --git a/text/maps/ViridianPokecenter.asm b/text/ViridianPokecenter.asm similarity index 100% rename from text/maps/ViridianPokecenter.asm rename to text/ViridianPokecenter.asm diff --git a/text/maps/ViridianSchoolHouse.asm b/text/ViridianSchoolHouse.asm similarity index 100% rename from text/maps/ViridianSchoolHouse.asm rename to text/ViridianSchoolHouse.asm diff --git a/text/maps/WardensHouse.asm b/text/WardensHouse.asm similarity index 100% rename from text/maps/WardensHouse.asm rename to text/WardensHouse.asm diff --git a/text/oakspeech.asm b/text/oakspeech.asm deleted file mode 100644 index e006d16f..00000000 --- a/text/oakspeech.asm +++ /dev/null @@ -1,55 +0,0 @@ -_OakSpeechText1:: - text "Hello there!" - line "Welcome to the" - cont "world of #MON!" - - para "My name is OAK!" - line "People call me" - cont "the #MON PROF!" - prompt - -_OakSpeechText2A:: - text "This world is" - line "inhabited by" - cont "creatures called" - cont "#MON!@@" - -_OakSpeechText2B:: - text $51,"For some people," - line "#MON are" - cont "pets. Others use" - cont "them for fights." - - para "Myself..." - - para "I study #MON" - line "as a profession." - prompt - -_IntroducePlayerText:: - text "First, what is" - line "your name?" - prompt - -_IntroduceRivalText:: - text "This is my grand-" - line "son. He's been" - cont "your rival since" - cont "you were a baby." - - para "...Erm, what is" - line "his name again?" - prompt - -_OakSpeechText3:: - text "!" - - para "Your very own" - line "#MON legend is" - cont "about to unfold!" - - para "A world of dreams" - line "and adventures" - cont "with #MON" - cont "awaits! Let's go!" - done diff --git a/text/unused_names.asm b/text/unused_names.asm deleted file mode 100644 index 4aca7ca2..00000000 --- a/text/unused_names.asm +++ /dev/null @@ -1,20 +0,0 @@ -UnusedNames:: - db "かみなりバッヂ@" - db "かいがらバッヂ@" - db "おじぞうバッヂ@" - db "はやぶさバッヂ@" - db "ひんやりバッヂ@" - db "なかよしバッヂ@" - db "バラバッヂ@" - db "ひのたまバッヂ@" - db "ゴールドバッヂ@" - db "たまご@" - db "ひよこ@" - db "ブロンズ@" - db "シルバー@" - db "ゴールド@" - db "プチキャプテン@" - db "キャプテン@" - db "プチマスター@" - db "マスター@" - db "エクセレント" diff --git a/wram.asm b/wram.asm index 40e1604a..e2fa05a6 100755 --- a/wram.asm +++ b/wram.asm @@ -1,63 +1,6 @@ INCLUDE "constants.asm" -flag_array: MACRO - ds ((\1) + 7) / 8 -ENDM - -box_struct_length EQU 25 + NUM_MOVES * 2 -box_struct: MACRO -\1Species:: db -\1HP:: dw -\1BoxLevel:: db -\1Status:: db -\1Type:: -\1Type1:: db -\1Type2:: db -\1CatchRate:: db -\1Moves:: ds NUM_MOVES -\1OTID:: dw -\1Exp:: ds 3 -\1HPExp:: dw -\1AttackExp:: dw -\1DefenseExp:: dw -\1SpeedExp:: dw -\1SpecialExp:: dw -\1DVs:: ds 2 -\1PP:: ds NUM_MOVES -ENDM - -party_struct: MACRO - box_struct \1 -\1Level:: db -\1Stats:: -\1MaxHP:: dw -\1Attack:: dw -\1Defense:: dw -\1Speed:: dw -\1Special:: dw -ENDM - -battle_struct: MACRO -\1Species:: db -\1HP:: dw -\1PartyPos:: -\1BoxLevel:: db -\1Status:: db -\1Type:: -\1Type1:: db -\1Type2:: db -\1CatchRate:: db -\1Moves:: ds NUM_MOVES -\1DVs:: ds 2 -\1Level:: db -\1Stats:: -\1MaxHP:: dw -\1Attack:: dw -\1Defense:: dw -\1Speed:: dw -\1Special:: dw -\1PP:: ds NUM_MOVES -ENDM +INCLUDE "macros/wram.asm" SECTION "WRAM Bank 0", WRAM0 @@ -228,21 +171,6 @@ wSpriteStateData1:: ; C1xD ; C1xE ; C1xF -spritestatedata1: MACRO -\1PictureID:: db -\1MovementStatus:: db -\1ImageIndex:: db -\1YStepVector:: db -\1YPixels:: db -\1XStepVector:: db -\1XPixels:: db -\1IntraAnimFrameCounter:: db -\1AnimFrameCounter:: db -\1FacingDirection:: db - ds 6 -\1End:: -endm - wSpritePlayerStateData1:: spritestatedata1 wSpritePlayerStateData1 wSprite01StateData1:: spritestatedata1 wSprite01StateData1 wSprite02StateData1:: spritestatedata1 wSprite02StateData1 @@ -280,22 +208,6 @@ wSpriteStateData2:: ; C2xD ; C2xE: sprite image base offset (in video ram, player always has value 1, used to compute c1x2) ; C2xF -spritestatedata2: MACRO -\1WalkAnimationCounter:: db - ds 1 -\1YDisplacement:: db -\1XDisplacement:: db -\1MapY:: db -\1MapX:: db -\1MovementByte1:: db -\1GrassPriority:: db -\1MovementDelay:: db - ds 5 -\1ImageBaseOffset:: db - ds 1 -\1End:: -endm - wSpritePlayerStateData2:: spritestatedata2 wSpritePlayerStateData2 wSprite01StateData2:: spritestatedata2 wSprite01StateData2 wSprite02StateData2:: spritestatedata2 wSprite02StateData2 @@ -1050,7 +962,7 @@ wOptionsCancelCursorX:: ds 1 wDayCarePerLevelCost:: -; 2-byte BCD number (always set to $0100) +; 2-byte BCD number (always set to $100) wHoFTeamIndex2:: @@ -1985,7 +1897,7 @@ wSpriteOutputBitOffset:: ; determines where in the output byte the two bits are ds 1 wSpriteLoadFlags:: -; bit 0 determines used buffer (0 -> $a188, 1 -> $a310) +; bit 0 determines used buffer (0 -> sSpriteBuffer1, 1 -> sSpriteBuffer2) ; bit 1 loading last sprite chunk? (there are at most 2 chunks per load operation) ds 1 wSpriteUnpackMode:: @@ -3185,7 +3097,7 @@ wBoxSpecies:: ds MONS_PER_BOX + 1 wBoxMons:: wBoxMon1:: box_struct wBoxMon1 -wBoxMon2:: ds box_struct_length * (MONS_PER_BOX + -1) +wBoxMon2:: ds BOX_STRUCT_LENGTH * (MONS_PER_BOX - 1) wBoxMonOT:: ds NAME_LENGTH * MONS_PER_BOX wBoxMonNicks:: ds NAME_LENGTH * MONS_PER_BOX