Merge pull request #257 from Rangi42/master

More reorganization
This commit is contained in:
Rangi 2020-07-04 16:19:15 -04:00 committed by GitHub
commit 2718c36065
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
1466 changed files with 14365 additions and 17030 deletions

View file

@ -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\\*\<user>*\Desktop**, enter this command:
git clone https://github.com/pret/pokered
cd pokered
```bash
cd /mnt/c/Users/<user>/Desktop
```
To build **pokered.gbc** and **pokeblue.gbc**:
(The Windows `C:\` drive is called `/mnt/c/` in WSL. Replace *\<user>* 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\\*\<user>***. 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\\*\<user>*\Desktop**:
```bash
cd /cygdrive/c/Users/<user>/Desktop
```
(The Windows `C:\` drive is called `/cygdrive/c/` in Cygwin. Replace *\<user>* 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
```

View file

@ -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) $@

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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]

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -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

View file

@ -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

View file

@ -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

File diff suppressed because it is too large Load diff

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -1,5 +1,4 @@
const_value = 0
const_def
const OVERWORLD ; 0
const REDS_HOUSE_1 ; 1
const MART ; 2

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -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:

View file

@ -1,7 +0,0 @@
HMMoveArray:
db CUT
db FLY
db SURF
db STRENGTH
db FLASH
db -1

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

Some files were not shown because too many files have changed in this diff Show more