summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2013-12-15 16:18:14 -0600
committerMarcus Huderle <huderlem@gmail.com>2013-12-15 16:18:14 -0600
commit549fe35420c2cd114cafa5997633297fa3ff9290 (patch)
tree454f88103f1a3616612afd73bc532adbdf036459
parentac9e6221441aa17666f556ea4ad35ecdeaccc56a (diff)
parent323a1a638fb2b35a93506f1c3ca13f87e9357467 (diff)
Merged and fixed incbin conflicts with Danny.
-rw-r--r--.gitignore18
-rw-r--r--INSTALL.md45
-rw-r--r--Makefile67
-rw-r--r--README19
-rw-r--r--README.md18
-rw-r--r--constants.asm3551
-rwxr-xr-xconstants/connection_constants.asm5
-rwxr-xr-xconstants/evolution_constants.asm4
-rwxr-xr-xconstants/hardware_constants.asm21
-rw-r--r--constants/item_constants.asm139
-rwxr-xr-xconstants/list_constants.asm14
-rw-r--r--constants/map_constants.asm249
-rw-r--r--constants/map_dimensions.asm889
-rw-r--r--constants/move_constants.asm179
-rw-r--r--constants/move_effect_constants.asm76
-rwxr-xr-xconstants/oam_constants.asm9
-rw-r--r--constants/palette_constants.asm38
-rw-r--r--constants/pokedex_constants.asm151
-rw-r--r--constants/pokemon_constants.asm154
-rwxr-xr-xconstants/sprite_constants.asm89
-rwxr-xr-xconstants/status_constants.asm6
-rw-r--r--constants/trainer_constants.asm48
-rwxr-xr-xconstants/type_constants.asm16
m---------extras0
-rwxr-xr-xgfx/ED_tile.1bpp1
-rwxr-xr-x[-rw-r--r--]gfx/blue/slotmachine1.2bppbin432 -> 592 bytes
-rwxr-xr-xgfx/emotion_bubbles.2bppbin200 -> 192 bytes
-rwxr-xr-x[-rw-r--r--]gfx/red/slotmachine1.2bppbin432 -> 592 bytes
-rw-r--r--hram.asm116
-rwxr-xr-xinit.sh17
-rw-r--r--macros.asm265
-rwxr-xr-xmain.asm15129
-rwxr-xr-xmaps/unusedblocks58d7d.blk2
-rwxr-xr-xmaps/unusedblocks601f8.blk1
-rwxr-xr-xmaps/unusedblocks60cef.blk1
-rw-r--r--pokeblue.asm1
-rw-r--r--pokered.asm1
-rw-r--r--preprocessor.py (renamed from textpre.py)32
-rw-r--r--prequeue.py40
-rw-r--r--wram.asm1432
40 files changed, 14466 insertions, 8377 deletions
diff --git a/.gitignore b/.gitignore
index aaab40fa..527dfdd0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
+# global label defs are generated
+globals.asm
+
# precompiled python
*.pyc
@@ -9,6 +12,11 @@
# roms
*.gbc
+*.gb
+
+# rgbds extras
+*.map
+*.sym
# generated
*.tx
@@ -20,13 +28,9 @@
*.json
# for any of the poor souls with save game files in their working directory
-baserom.sgm
-baserom.sav
-pokered.sgm
-pokered.sav
-
-baserom.sys
-pokered.sys
+*.sgm
+*.sav
+*.sys
# for vim configuration
# url: http://www.vim.org/scripts/script.php?script_id=441
diff --git a/INSTALL.md b/INSTALL.md
new file mode 100644
index 00000000..d687288c
--- /dev/null
+++ b/INSTALL.md
@@ -0,0 +1,45 @@
+# Getting Started
+
+A base rom of Pokémon Red is required to assemble **pokered.gbc**.
+
+ Pokemon Red (UE) [S][!].gb
+ (MD5: 3d45c1ee9abd5738df46d2bdda8b57dc)
+
+
+# Linux
+
+Linux dependencies. OSX users already have these after installing Xcode.
+
+ sudo apt-get install make gcc bison git python python-setuptools
+
+
+Set up the **pokered** repository:
+
+ git clone git://github.com/iimarckus/pokered.git
+ cd pokered
+
+ ./init.sh
+
+Copy the Pokémon Red rom to this directory. Name it **baserom.gbc**.
+
+Now **pokered.gbc** can be built from source.
+
+ make red
+
+This should take about 10-15 seconds. Subsequent builds are faster.
+
+
+To build Pokémon Blue:
+
+ make blue
+
+
+# OSX
+
+Download and install **Xcode**. Then follow the Linux instructions.
+
+
+# Windows
+
+Not yet.
+
diff --git a/Makefile b/Makefile
index cb0b7036..3a31e258 100644
--- a/Makefile
+++ b/Makefile
@@ -1,32 +1,65 @@
+PYTHON := python
.SUFFIXES: .asm .tx .o .gbc
+.PHONY: all clean red blue
+.SECONDEXPANSION:
-TEXTFILES := $(shell find ./ -type f -name '*.asm')
-all: pokered.gbc
+TEXTQUEUE :=
-pokered.o: pokered.tx main.tx constants.tx wram.tx ${TEXTFILES:.asm=.tx}
- rgbasm -o pokered.o pokered.tx
-
-pokeblue.o: pokeblue.tx main.tx constants.tx wram.tx ${TEXTFILES:.asm=.tx}
- rgbasm -o pokeblue.o pokeblue.tx
+RED_OBJS := pokered.o
+BLUE_OBJS := pokeblue.o
+
+OBJS := $(RED_OBJS) $(BLUE_OBJS)
+
+ROMS := pokered.gbc pokeblue.gbc
+
+# generate dependencies for each object
+$(shell $(foreach obj, $(OBJS), \
+ $(eval $(obj:.o=)_DEPENDENCIES := $(shell $(PYTHON) extras/pokemontools/scan_includes.py $(obj:.o=.asm) | sed s/globals.asm//g)) \
+))
+$(shell $(foreach obj, $(OBJS), \
+ $(eval ALL_DEPENDENCIES += $($(obj:.o=)_DEPENDENCIES)) \
+))
+
+all: $(ROMS)
+red: pokered.gbc
+blue: pokeblue.gbc
redrle: extras/redtools/redrle.c
${CC} -o $@ $>
+clean:
+ rm -f $(ROMS)
+ rm -f $(OBJS)
+ rm -f globals.asm
+ @echo "removing *.tx" && find . -iname '*.tx' -exec rm {} +
+ rm -f redrle
+
+
+baserom.gbc: ;
+ @echo "Wait! Need baserom.gbc first. Check README and INSTALL for details." && false
+
+%.asm: ;
.asm.tx:
- python textpre.py < $< > $@
+ $(eval TEXTQUEUE := $(TEXTQUEUE) $<)
+ @rm -f $@
+
+globals.asm: $(ALL_DEPENDENCIES:.asm=.tx) $(OBJS:.o=.tx)
+ @touch $@
+ @$(PYTHON) prequeue.py $(TEXTQUEUE)
+globals.tx: globals.asm
+ @cp $< $@
+
+$(OBJS): $$*.tx $$(patsubst %.asm, %.tx, $$($$*_DEPENDENCIES))
+ rgbasm -o $@ $*.tx
-pokered.gbc: pokered.o
- rgblink -o $@ $*.o
+pokered.gbc: globals.tx $(RED_OBJS)
+ rgblink -n $*.sym -m $*.map -o $@ $(RED_OBJS)
rgbfix -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON RED" $@
cmp baserom.gbc $@
-
-pokeblue.gbc: pokeblue.o
- rgblink -o $@ $*.o
+
+pokeblue.gbc: globals.tx $(BLUE_OBJS)
+ rgblink -n $*.sym -m $*.map -o $@ $(BLUE_OBJS)
rgbfix -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE" $@
cmp blue.gbc $@
-clean:
- rm -f pokered.o pokered.gbc pokeblue.o pokeblue.gbc redrle $(TEXTFILES:.asm=.tx)
-
-more: pokered.gbc pokeblue.gbc
diff --git a/README b/README
deleted file mode 100644
index bdf5ac67..00000000
--- a/README
+++ /dev/null
@@ -1,19 +0,0 @@
-This is a disassembly of Pokémon Red.
-
-It uses the following ROM as a base:
-Pokemon Red (UE) [S][!].gb
-(MD5: 3d45c1ee9abd5738df46d2bdda8b57dc)
-
-To assemble, first install RGBDS and put it in your path.
-
-The version of RGBDS needed is rgbds-linux:
-https://github.com/bentley/rgbds/
-git://github.com/bentley/rgbds.git
-
-Then copy the Pokémon ROM to this directory as "baserom.gbc".
-Then run "make" in your shell.
-
-This will output a file named "pokered.gbc".
-
-Our IRC channel is located here:
-server nucleus.kafuka.org, channel #skeetendo
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..412b3222
--- /dev/null
+++ b/README.md
@@ -0,0 +1,18 @@
+# Pokémon Red
+
+This is a disassembly of Pokémon Red.
+
+It uses the following ROM as a base:
+
+ Pokemon Red (UE) [S][!].gb
+ (MD5: 3d45c1ee9abd5738df46d2bdda8b57dc)
+
+To set up the repository, see [**INSTALL.md**](INSTALL.md).
+
+
+## See also
+
+* Disassembly of [**Pokémon Crystal**](https://github.com/kanzure/pokecrystal)
+
+* irc: **nucleus.kafuka.org** [**#skeetendo**](https://kiwiirc.com/client/irc.nolimitzone.com/?#skeetendo)
+
diff --git a/constants.asm b/constants.asm
index fa0f3afc..87f0b633 100644
--- a/constants.asm
+++ b/constants.asm
@@ -2,3532 +2,25 @@ _JAPAN EQU 0
_GREEN EQU 0
_YELLOW EQU 0
-;\1 = X
-;\2 = Y
-FuncCoord: MACRO
-Coord = $C3A0 + 20 * \2 + \1
- ENDM
-
-;\1 = Map Width
-;\2 = Rows above (Y-blocks)
-;\3 = X movement (X-blocks)
-EVENT_DISP: MACRO
- dw ($C6EF + (\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
- db (\1 + (\2 << 4))
- 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
- db \2 + \3 << 4
- dw \4
- ENDM
-
-; tilesets' headers macro
-TSETHEAD: MACRO
- db BANK(\2)
- dw \1,\2,\3
- db \4,\5,\6,\7,\8
- 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
-
-; data format macros
-RGB: MACRO
- dw (\3 << 10 | \2 << 5 | \1)
- ENDM
-
-; text macros
-TX_NUM: MACRO
-; print a big-endian decimal number.
-; \1: address to read from
-; \2: number of bytes to read
-; \3: number of digits to display
- db $09
- dw \1
- db \2 << 4 | \3
- ENDM
-
-TX_FAR: MACRO
- db $17
- dw \1
- db BANK(\1)
- ENDM
-
-; text engine command $1
-TX_RAM: MACRO
-; prints text to screen
-; \1: RAM address to read from
- db $1
- dw \1
- ENDM
-
-; Predef macro.
-PREDEF: MACRO
- ld a, (\1 - PredefPointers) / 3
- call Predef
- ENDM
-
-PREDEF_JUMP: MACRO
- ld a, (\1 - PredefPointers) / 3
- jp Predef
- ENDM
-
-; wram locations
-
-; data for all sprites on the current map
-; holds info for 16 sprites with $10 bytes each
-; player sprite is always sprite 0
-; C1x0: picture ID (fixed, loaded at map init)
-; C1x1: movement status (0: uninitialized, 1: ready, 2: delayed, 3: moving)
-; C1x2: sprite image index (changed on update, $ff if off screen, includes facing direction, progress in walking animation and a sprite-specific offset)
-; C1x3: Y screen position delta (-1,0 or 1; added to c1x4 on each walking animation update)
-; C1x4: Y screen position (in pixels, always 4 pixels above grid which makes sprites appear to be in the center of a tile)
-; C1x5: X screen position delta (-1,0 or 1; added to c1x6 on each walking animation update)
-; C1x6: X screen position (in pixels, snaps to grid if not currently walking)
-; C1x7: intra-animation-frame counter (counting upwards to 4 until c1x8 is incremented)
-; C1x8: animation frame counter (increased every 4 updates, hold four states (totalling to 16 walking frames)
-; C1x9: facing direction (0: down, 4: up, 8: left, $c: right)
-; C1xA
-; C1xB
-; C1xC
-; C1xD
-; C1xE
-; C1xF
-W_SPRITESTATEDATA1 EQU $C100 ; to $C200
-
-; more data for all sprites on the current map
-; holds info for 16 sprites with $10 bytes each
-; player sprite is always sprite 0
-; C2x0: walk animation counter (counting from $10 backwards when moving)
-; C2x1:
-; C2x2: Y displacement (initialized at 8, supposed to keep moving sprites from moving too far, but bugged)
-; C2x3: X displacement (initialized at 8, supposed to keep moving sprites from moving too far, but bugged)
-; C2x4: Y position (in 2x2 tile grid steps, topmost 2x2 tile has value 4)
-; C2x5: X position (in 2x2 tile grid steps, leftmost 2x2 tile has value 4)
-; C2x6: movement byte 1 (determines whether a sprite can move, $ff:not moving, $fe:random movements, others unknown)
-; C2x7: (?) (set to $80 when in grass, else $0; may be used to draw grass above the sprite)
-; C2x8: delay until next movement (counted downwards, status (c1x1) is set to ready if reached 0)
-; C2x9
-; C2xA
-; C2xB
-; C2xC
-; C2xD
-; C2xE: sprite image base offset (in video ram, player always has value 1, used to compute c1x2)
-; C2xF
-W_SPRITESTATEDATA2 EQU $C200 ; to $C300
-
-; buffer for OAM data. Is copied to OAM RAM by OAM DMA
-W_OAMBUFFER EQU $C300 ; size $a0, to $C3A0
-
-; buffer for tiles that are visible on screen (20 columns by 18 rows = $168 bytes)
-W_SCREENTILESBUFFER EQU $C3A0 ; size $168, to $C508
-
-; buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top)
-W_SCREENTILESBACKBUFFER EQU $C508 ; size $168, to $C670
-
-; the tiles of the row or column to be redrawn by RedrawExposedScreenEdge
-W_SCREENEDGETILES EQU $CBFC
-
-; coordinates of the position of the cursor for the top menu item (id 0)
-W_TOPMENUITEMY EQU $CC24
-W_TOPMENUITEMX EQU $CC25
-
-; the id of the currently selected menu item
-; the top item has id 0, the one below that has id 1, etc.
-; note that the "top item" means the top item currently visible on the screen
-; add this value to [W_LISTSCROLLOFFSET] to get the item's position within the list
-W_CURMENUITEMID EQU $CC26
-
-; the tile that was behind the menu cursor's current location
-W_TILEBEHINDCURSOR EQU $CC27
-
-W_MAXMENUITEMID EQU $CC28 ; id of the bottom menu item
-
-W_MENUWATCHEDKEYS EQU $CC29 ; bit mask of keys that the menu will respond to
-
-W_OLDMENUITEMID EQU $CC2A ; id of previously selected menu item
-
-; how many times should HandleMenuInput poll the joypad state before it returns?
-W_MENUJOYPADPOLLCOUNT EQU $CC34
-
-W_PLAYERMOVELISTINDEX EQU $CC2E
-W_PLAYERMONNUMBER EQU $CC2F
-
-; the address of the menu cursor's current location within C3A0-C507
-W_MENUCURSORLOCATION EQU $CC30 ; 2 bytes
-
-; offset of the current top menu item from the beginning of the list
-; keeps track of what section of the list is on screen
-W_LISTSCROLLOFFSET EQU $CC36
-
-; set to 1 if you can go from the bottom to the top or top to bottom of a menu
-; set to 0 if you can't go past the top or bottom of the menu
-W_MENUWRAPPINGENABLED EQU $CC4A
-
-W_TRAINERHEADERFLAGBIT EQU $CC55
-
-W_RLEBYTECOUNTER EQU $CCD2
-
-; current HP of player and enemy substitutes
-W_PLAYERSUBSITUTEHP EQU $CCD7
-W_ENEMYSUBSITUTEHP EQU $CCD8
-
-W_MOVEMENUTYPE EQU $CCDB ; 0=regular, 1=mimic, 2=above message box (relearn, heal pp..)
-W_PLAYERSELECTEDMOVE EQU $CCDC
-W_ENEMYSELECTEDMOVE EQU $CCDD
-
-W_ENEMYMOVELISTINDEX EQU $CCE2
-
-W_AICOUNT EQU $CCDF ; number of times remaining that AI action can occur
-
-; stat modifiers for the player's current pokemon
-; value can range from 1 - 13 ($1 to $D)
-; 7 is normal
-
-W_PLAYERMONATTACKMOD EQU $CD1A
-W_PLAYERMONDEFENSEMOD EQU $CD1B
-W_PLAYERMONSPEEDMOD EQU $CD1C
-W_PLAYERMONSPECIALMOD EQU $CD1D
-W_PLAYERMONACCURACYMOD EQU $CD1E
-W_PLAYERMONEVASIONMOD EQU $CD1F
-
-
-W_ENGAGEDTRAINERCLASS EQU $CD2D
-W_ENGAGEDTRAINERSETNUM EQU $CD2E
-
-; stat modifiers for the enemy's current pokemon
-; value can range from 1 - 13 ($1 to $D)
-; 7 is normal
-W_ENEMYMONATTACKMOD EQU $CD2E
-W_ENEMYMONDEFENSEMOD EQU $CD2F
-W_ENEMYMONSPEEDMOD EQU $CD30
-W_ENEMYMONSPECIALMOD EQU $CD31
-W_ENEMYMONACCURACYMOD EQU $CD32
-W_ENEMYMONEVASIONMOD EQU $CD33
-
-W_WHICHTRADE EQU $CD3D ; which entry from TradeMons to select
-W_TRAINERSPRITEOFFSET EQU $CD3D
-W_TRAINERENGAGEDISTANCE EQU $CD3E
-W_TRAINERFACINGDIR EQU $CD3F
-W_TRAINERSCREENYPOS EQU $CD40
-W_TRAINERSCREENXPOS EQU $CD41
-
-; bit 0: is player engaged by trainer (to avoid being engaged by multiple trainers simultaniously)
-W_FLAGS_CD60 EQU $CD60
-
-; bit 1 means button presses will be ignored for that futton
-W_JOYPADFORBIDDENBUTTONSMASK EQU $CD6B
-
-; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top)
-W_SCREENTILESBACKBUFFER2 EQU $CD81 ; size $168, to $CEE9
-
-W_HPBARMAXHP EQU $CEE9
-W_HPBAROLDHP EQU $CEEB
-W_HPBARNEWHP EQU $CEED
-W_HPBARDELTA EQU $CEEF
-
-W_HPBARHPDIFFERENCE EQU $CEFD
-
-W_BUFFER EQU $CEE9 ; used for temporary things
-
-W_ANIMSOUNDID EQU $CF07 ; sound ID during battle animations
-
-; movement byte 2 of current sprite
-W_CURSPRITEMOVEMENT2 EQU $CF14
-
-W_GYMCITYNAME EQU $CF5F
-W_GYMLEADERNAME EQU $CF70
-
-W_WHICHPOKEMON EQU $CF92 ; which pokemon you selected
-
-W_LISTMENUID EQU $CF94 ; ID used by DisplayListMenuID
-
-W_WALKCOUNTER EQU $CFC5 ; walk animation counter
-
-W_CURCHANNELPOINTER EQU $CFC7 ; (the current music channel pointer - $4000) / 3
-
-W_ENEMYMOVENUM EQU $CFCC
-W_ENEMYMOVEEFFECT EQU $CFCD
-W_ENEMYMOVEPOWER EQU $CFCE
-W_ENEMYMOVETYPE EQU $CFCF
-W_ENEMYMOVEACCURACY EQU $CFD0
-W_ENEMYMOVEMAXPP EQU $CFD1
-
-W_PLAYERMOVENUM EQU $CFD2
-W_PLAYERMOVEEFFECT EQU $CFD3
-W_PLAYERMOVEPOWER EQU $CFD4
-W_PLAYERMOVETYPE EQU $CFD5
-W_PLAYERMOVEACCURACY EQU $CFD6
-W_PLAYERMOVEMAXPP EQU $CFD7
-
-W_ENEMYMONID EQU $CFD8
-
-W_ENEMYMONNAME EQU $CFDA
-
-W_ENEMYMONCURHP EQU $CFE6 ; active opponent's hp (16 bits)
-W_ENEMYMONNUMBER EQU $CFE8 ; active opponent's position in team (0 to 5)
-W_ENEMYMONSTATUS EQU $CFE9 ; active opponent's status condition
- ; bit 0 slp
- ; bit 1 slp
- ; bit 2 slp
- ; bit 3 psn
- ; bit 4 brn
- ; bit 5 frz
- ; bit 6 par
- ; unused? (XXX confirm)
-W_ENEMYMONTYPES EQU $CFEA
-W_ENEMYMONTYPE1 EQU $CFEA
-W_ENEMYMONTYPE2 EQU $CFEB
-W_ENEMYMONMOVES EQU $CFED
-W_ENEMYMONATKDEFIV EQU $CFF1
-W_ENEMYMONSPDSPCIV EQU $CFF2
-W_ENEMYMONLEVEL EQU $CFF3
-W_ENEMYMONMAXHP EQU $CFF4 ; (16 bits)
-W_ENEMYMONATTACK EQU $CFF6
-W_ENEMYMONDEFENSE EQU $CFF8
-W_ENEMYMONSPEED EQU $CFFA
-W_ENEMYMONSPECIAL EQU $CFFC
-W_ENEMYMONPP EQU $CFFE
-
-W_PLAYERMONNAME EQU $D009
-W_PLAYERMONID EQU $D014
-W_PLAYERMONCURHP EQU $D015 ; active opponent's hp (16 bits)
-W_PLAYERMONSTATUS EQU $D018 ; the status of the player’s current monster
- ; bit 0 slp
- ; bit 1 slp
- ; bit 2 slp
- ; bit 3 psn
- ; bit 4 brn
- ; bit 5 frz
- ; bit 6 par
- ; unused? (XXX confirm)
-W_PLAYERMONTYPES EQU $D019
-W_PLAYERMONTYPE1 EQU $D019
-W_PLAYERMONTYPE2 EQU $D01A
-W_PLAYERMONMOVES EQU $D01C
-W_PLAYERMONIVS EQU $D020 ; 4x 4 bit: atk, def, spd, spc
-W_PLAYERMONLEVEL EQU $D022
-W_PLAYERMONMAXHP EQU $D023 ; (16 bits)
-W_PLAYERMONATK EQU $D025
-W_PLAYERMONDEF EQU $D027
-W_PLAYERMONSPEED EQU $D029
-W_PLAYERMONSPECIAL EQU $D02B
-W_PLAYERMONPP EQU $D02D
-
-W_TRAINERCLASS EQU $D031
-
-W_ISINBATTLE EQU $D057 ; no battle, this is 0
- ; wild battle, this is 1
- ; trainer battle, this is 2
-
-W_PLAYERMONSALIVEFLAGS EQU $D058 ; 6 bit array, 1 if player mon is alive
-
-W_CUROPPONENT EQU $D059 ; in a wild battle, this is the species of pokemon
- ; in a trainer battle, this is the trainer class + $C8
-
-W_BATTLETYPE EQU $D05A ; in normal battle, this is 0
- ; in old man battle, this is 1
- ; in safari battle, this is 2
-
-W_LONEATTACKNO EQU $D05C ; which entry in LoneAttacks to use
-W_GYMLEADERNO EQU $D05C ; it's actually the same thing as ^
-W_TRAINERNO EQU $D05D ; which instance of [youngster, lass, etc] is this?
-
-W_MOVEMISSED EQU $D05F
-
-; not entirely sure that all these bits are 100% correct
-; Battle Status Byte 1
-; bit 0 - bide
-; bit 1 - thrash / petal dance
-; bit 2 - attacking multiple times (e.g. double kick)
-; bit 3 - flinch
-; bit 4 - charging up for attack
-; bit 5 - using multi-turn move (e.g. wrap)
-; bit 6 - invulnerable to normal attack (using fly/dig)
-; bit 7 - confusion
-
-; Battle Status Byte 2
-; bit 0 - X Accuracy effect
-; bit 1 - protected by "mist"
-; bit 2 - focus energy effect
-; bit 4 - has a substitute
-; bit 5 - need to recharge
-; bit 6 - rage
-; bit 7 - leech seeded
-
-; Battle Status Byte 3
-; bit 0 - toxic
-; bit 1 - light screen
-; bit 2 - reflect
-; bit 3 - tranformed
-
-W_PLAYERBATTSTATUS1 EQU $D062
-W_PLAYERBATTSTATUS2 EQU $D063
-W_PLAYERBATTSTATUS3 EQU $D064
-
-W_ENEMYBATTSTATUS1 EQU $D067
-W_ENEMYBATTSTATUS2 EQU $D068
-W_ENEMYBATTSTATUS3 EQU $D069
-
-W_PLAYERTOXICCOUNTER EQU $D06C
-W_PLAYERDISABLEDMOVE EQU $D06D
-
-W_ENEMYTOXICCOUNTER EQU $D071
-W_ENEMYDISABLEDMOVE EQU $D072
-
-W_NUMHITS EQU $D074 ; number of hits in attacks like Doubleslap, etc.
-
-W_ANIMATIONID EQU $D07C ; ID number of the current battle animation
-
-; base coordinates of frame block
-W_BASECOORDX EQU $D081
-W_BASECOORDY EQU $D082
-
-W_FBTILECOUNTER EQU $D084 ; counts how many tiles of the current frame block have been drawn
-
-W_SUBANIMFRAMEDELAY EQU $D086 ; duration of each frame of the current subanimation in terms of screen refreshes
-W_SUBANIMCOUNTER EQU $D087 ; counts the number of subentries left in the current subanimation
-
-W_NUMFBTILES EQU $D089 ; number of tiles in current battle animation frame block
-
-W_SUBANIMTRANSFORM EQU $D08B ; controls what transformations are applied to the subanimation
-; 01: flip horizontally and vertically
-; 02: flip horizontally and translate downwards 40 pixels
-; 03: translate base coordinates of frame blocks, but don't change their internal coordinates or flip their tiles
-; 04: reverse the subanimation
-
-W_PBSTOREDREGISTERH EQU $D08C
-W_PBSTOREDREGISTERL EQU $D08D
-W_PBSTOREDREGISTERD EQU $D08E
-W_PBSTOREDREGISTERE EQU $D08F
-W_PBSTOREDROMBANK EQU $D092
-
-W_SUBANIMADDRPTR EQU $D094 ; the address _of the address_ of the current subanimation entry (2 bytes)
-
-W_SUBANIMSUBENTRYADDR EQU $D096 ; the address of the current subentry of the current subanimation (2 bytes)
-
-W_FBDESTADDR EQU $D09C ; current destination address in OAM for frame blocks (2 bytes, big endian)
-
-W_FBMODE EQU $D09E ; controls how the frame blocks are put together to form frames
-; specifically, after finishing drawing the frame block, the frame block's mode determines what happens
-; 00: clean OAM buffer and delay
-; 02: move onto the next frame block with no delay and no cleaning OAM buffer
-; 03: delay, but don't clean OAM buffer
-; 04: delay, without cleaning OAM buffer, and do not advance [W_FBDESTADDR], so that the next frame block will overwrite this one
-
-; sprite data is written column by column, each byte contains 8 columns (one for ech bit)
-; for 2bpp sprites, pairs of two consecutive bytes (i.e. pairs of consecutive rows of sprite data)
-; contain the upper and lower bit of each of the 8 pixels, respectively
-SPRITEBUFFERSIZE EQU $188 ; 7 * 7 (tiles) * 8 (bytes per tile)
-S_SPRITEBUFFER0 EQU $A000 + 0 * SPRITEBUFFERSIZE
-S_SPRITEBUFFER1 EQU $A000 + 1 * SPRITEBUFFERSIZE
-S_SPRITEBUFFER2 EQU $A000 + 2 * SPRITEBUFFERSIZE
-
-W_SPRITECURPOSX EQU $D0A1
-W_SPRITECURPOSY EQU $D0A2
-W_SPRITEWITDH EQU $D0A3
-W_SPRITEHEIGHT EQU $D0A4
-W_SPRITEINPUTCURBYTE EQU $D0A5 ; current input byte
-W_SPRITEINPUTBITCOUNTER EQU $D0A6 ; bit offset of last read input bit
-
-; determines where in the output byte the two bits are placed. Each byte contains four columns (2bpp data)
-; 3 -> XX000000 1st column
-; 2 -> 00XX0000 2nd column
-; 1 -> 0000XX00 3rd column
-; 0 -> 000000XX 4th column
-W_SPRITEOUTPUTBITOFFSET EQU $D0A7
-
-; bit 0 determines used buffer (0 -> $a188, 1 -> $a310)
-; bit 1 loading last sprite chunk? (there are at most 2 chunks per load operation)
-W_SPRITELOADFLAGS EQU $D0A8
-W_SPRITEUNPACKMODE EQU $D0A9
-W_SPRITEFLIPPED EQU $D0AA
-
-W_SPRITEINPUTPTR EQU $D0AB ; pointer to next input byte
-W_SPRITEOUTPUTPTR EQU $D0AD ; pointer to current output byte
-W_SPRITEOUTPUTPTRCACHED EQU $D0AF ; used to revert pointer for different bit offsets
-W_SPRITEDECODETABLE0PTR EQU $D0B1 ; pointer to differential decoding table (assuming initial value 0)
-W_SPRITEDECODETABLE1PTR EQU $D0B3 ; pointer to differential decoding table (assuming initial value 1)
-
-H_SPRITEWIDTH EQU $FF8B ; in bytes
-H_SPRITEINTERLACECOUNTER EQU $FF8B
-H_SPRITEHEIGHT EQU $FF8C ; in bytes
-H_SPRITEOFFSET EQU $FF8D
-
-; OAM flags used by this game
-OAMFLAG_ENDOFDATA EQU %00000001 ; pseudo OAM flag, only used by game logic
-OAMFLAG_CANBEMASKED EQU %00000010 ; pseudo OAM flag, only used by game logic
-OAMFLAG_VFLIPPED EQU %00100000 ; OAM flag flips the sprite vertically. Used for making left facing sprites face right and to alternate between left and right foot animation when walking up or down
-
-; List type
-; used in $D0B6
-W_LISTTYPE EQU $D0B6
-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
-
-W_MONHEADER EQU $d0b8
-W_MONHDEXNUM EQU $d0b8
-W_MONHBASESTATS EQU $d0b9
-;W_MONHBASEHP EQU $d0b9
-;W_MONHBASEATTACK EQU $d0ba
-;W_MONHBASEDEFENSE EQU $d0bb
-W_MONHBASESPEED EQU $d0bc
-;W_MONHBASESPECIAL EQU $d0bd
-W_MONHTYPES EQU $d0be
-W_MONHTYPE1 EQU $d0be
-W_MONHTYPE2 EQU $d0bf
-W_MONHCATCHRATE EQU $d0c0
-;W_MONHBASEXP EQU $d0c1
-W_MONHSPRITEDIM EQU $d0c2
-W_MONHFRONTSPRITE EQU $d0c3
-W_MONHBACKSPRITE EQU $d0c5
-W_MONHMOVES EQU $d0c7
-;W_MONHMOVE1 EQU $d0c7
-;W_MONHMOVE2 EQU $d0c8
-;W_MONHMOVE3 EQU $d0c9
-;W_MONHMOVE4 EQU $d0ca
-W_MONHGROWTHRATE EQU $d0cb
-W_MONHLEARNSET EQU $d0cc ; bit field, 7 bytes
-;W_MONHPADDING EQU $d0d7
-
-
-
-W_DAMAGE EQU $D0D7
-
-
-W_CURENEMYLVL EQU $D127
-
-W_ISLINKBATTLE EQU $D12B
-
-W_PRIZE1 EQU $D13D
-W_PRIZE2 EQU $D13E
-W_PRIZE3 EQU $D13F
-
-W_PLAYERNAME EQU $D158 ; 11 characters, including null
-
-W_NUMINPARTY EQU $D163
-
-W_PARTYMON1 EQU $D164
-W_PARTYMON2 EQU $D165
-W_PARTYMON3 EQU $D166
-W_PARTYMON4 EQU $D167
-W_PARTYMON5 EQU $D168
-W_PARTYMON6 EQU $D169
-W_PARTYMONEND EQU $D16A
-
-W_PARTYMON1DATA EQU $D16B
-W_PARTYMON1_NUM EQU $D16B
-W_PARTYMON1_HP EQU $D16C
-W_PARTYMON1_BOXLEVEL EQU $D16E
-W_PARTYMON1_STATUS EQU $D16F
-W_PARTYMON1_TYPE1 EQU $D170
-W_PARTYMON1_TYPE2 EQU $D171
-W_PARTYMON1_CRATE EQU $D172
-W_PARTYMON1_MOVE1 EQU $D173
-W_PARTYMON1_MOVE2 EQU $D174
-W_PARTYMON1_MOVE3 EQU $D175
-W_PARTYMON1_MOVE4 EQU $D176
-W_PARTYMON1_OTID EQU $D177
-W_PARTYMON1_EXP EQU $D179
-W_PARTYMON1_EVHP EQU $D17C
-W_PARTYMON1_EVATTACK EQU $D17E
-W_PARTYMON1_EVDEFENSE EQU $D180
-W_PARTYMON1_EVSPEED EQU $D182
-W_PARTYMON1_EVSECIAL EQU $D184
-W_PARTYMON1_IV EQU $D186
-W_PARTYMON1_MOVE1PP EQU $D188
-W_PARTYMON1_MOVE2PP EQU $D189
-W_PARTYMON1_MOVE3PP EQU $D18A
-W_PARTYMON1_MOVE4PP EQU $D18B
-W_PARTYMON1_LEVEL EQU $D18C
-W_PARTYMON1_MAXHP EQU $D18D
-W_PARTYMON1_ATACK EQU $D18F
-W_PARTYMON1_DEFENSE EQU $D191
-W_PARTYMON1_SPEED EQU $D193
-W_PARTYMON1_SPECIAL EQU $D195
-
-W_PARTYMON2DATA EQU $D197
-W_PARTYMON2_NUM EQU $D197
-W_PARTYMON2_HP EQU $D198
-W_PARTYMON2_BOXLEVEL EQU $D19A
-W_PARTYMON2_STATUS EQU $D19B
-W_PARTYMON2_TYPE1 EQU $D19C
-W_PARTYMON2_TYPE2 EQU $D19D
-W_PARTYMON2_CRATE EQU $D19E
-W_PARTYMON2_MOVE1 EQU $D19F
-W_PARTYMON2_MOVE2 EQU $D1A0
-W_PARTYMON2_MOVE3 EQU $D1A1
-W_PARTYMON2_MOVE4 EQU $D1A2
-W_PARTYMON2_OTID EQU $D1A3
-W_PARTYMON2_EXP EQU $D1A5
-W_PARTYMON2_EVHP EQU $D1A8
-W_PARTYMON2_EVATTACK EQU $D1AA
-W_PARTYMON2_EVDEFENSE EQU $D1AC
-W_PARTYMON2_EVSPEED EQU $D1AE
-W_PARTYMON2_EVSECIAL EQU $D1B0
-W_PARTYMON2_IV EQU $D1B2
-W_PARTYMON2_MOVE1PP EQU $D1B4
-W_PARTYMON2_MOVE2PP EQU $D1B5
-W_PARTYMON2_MOVE3PP EQU $D1B6
-W_PARTYMON2_MOVE4PP EQU $D1B7
-W_PARTYMON2_LEVEL EQU $D1B8
-W_PARTYMON2_MAXHP EQU $D1B9
-W_PARTYMON2_ATACK EQU $D1BB
-W_PARTYMON2_DEFENSE EQU $D1BD
-W_PARTYMON2_SPEED EQU $D1BF
-W_PARTYMON2_SPECIAL EQU $D1C1
-
-W_PARTYMON3DATA EQU $D1C3
-W_PARTYMON3_NUM EQU $D1C3
-W_PARTYMON3_HP EQU $D1C4
-W_PARTYMON3_BOXLEVEL EQU $D1C6
-W_PARTYMON3_STATUS EQU $D1C7
-W_PARTYMON3_TYPE1 EQU $D1C8
-W_PARTYMON3_TYPE2 EQU $D1C9
-W_PARTYMON3_CRATE EQU $D1CA
-W_PARTYMON3_MOVE1 EQU $D1CB
-W_PARTYMON3_MOVE2 EQU $D1CC
-W_PARTYMON3_MOVE3 EQU $D1CD
-W_PARTYMON3_MOVE4 EQU $D1CE
-W_PARTYMON3_OTID EQU $D1CF
-W_PARTYMON3_EXP EQU $D1D1
-W_PARTYMON3_EVHP EQU $D1D4
-W_PARTYMON3_EVATTACK EQU $D1D6
-W_PARTYMON3_EVDEFENSE EQU $D1D8
-W_PARTYMON3_EVSPEED EQU $D1DA
-W_PARTYMON3_EVSECIAL EQU $D1DC
-W_PARTYMON3_IV EQU $D1DE
-W_PARTYMON3_MOVE1PP EQU $D1E0
-W_PARTYMON3_MOVE2PP EQU $D1E1
-W_PARTYMON3_MOVE3PP EQU $D1E2
-W_PARTYMON3_MOVE4PP EQU $D1E3
-W_PARTYMON3_LEVEL EQU $D1E4
-W_PARTYMON3_MAXHP EQU $D1E5
-W_PARTYMON3_ATACK EQU $D1E7
-W_PARTYMON3_DEFENSE EQU $D1E9
-W_PARTYMON3_SPEED EQU $D1EB
-W_PARTYMON3_SPECIAL EQU $D1ED
-
-W_PARTYMON4DATA EQU $D1EF
-W_PARTYMON4_NUM EQU $D1EF
-W_PARTYMON4_HP EQU $D1F0
-W_PARTYMON4_BOXLEVEL EQU $D1F2
-W_PARTYMON4_STATUS EQU $D1F3
-W_PARTYMON4_TYPE1 EQU $D1F4
-W_PARTYMON4_TYPE2 EQU $D1F5
-W_PARTYMON4_CRATE EQU $D1F6
-W_PARTYMON4_MOVE1 EQU $D1F7
-W_PARTYMON4_MOVE2 EQU $D1F8
-W_PARTYMON4_MOVE3 EQU $D1F9
-W_PARTYMON4_MOVE4 EQU $D1FA
-W_PARTYMON4_OTID EQU $D1FB
-W_PARTYMON4_EXP EQU $D1FD
-W_PARTYMON4_EVHP EQU $D200
-W_PARTYMON4_EVATTACK EQU $D202
-W_PARTYMON4_EVDEFENSE EQU $D204
-W_PARTYMON4_EVSPEED EQU $D206
-W_PARTYMON4_EVSECIAL EQU $D208
-W_PARTYMON4_IV EQU $D20A
-W_PARTYMON4_MOVE1PP EQU $D20C
-W_PARTYMON4_MOVE2PP EQU $D20D
-W_PARTYMON4_MOVE3PP EQU $D20E
-W_PARTYMON4_MOVE4PP EQU $D20F
-W_PARTYMON4_LEVEL EQU $D210
-W_PARTYMON4_MAXHP EQU $D211
-W_PARTYMON4_ATACK EQU $D213
-W_PARTYMON4_DEFENSE EQU $D215
-W_PARTYMON4_SPEED EQU $D217
-W_PARTYMON4_SPECIAL EQU $D219
-
-W_PARTYMON5DATA EQU $D21B
-W_PARTYMON5_NUM EQU $D21B
-W_PARTYMON5_HP EQU $D21C
-W_PARTYMON5_BOXLEVEL EQU $D21E
-W_PARTYMON5_STATUS EQU $D21F
-W_PARTYMON5_TYPE1 EQU $D220
-W_PARTYMON5_TYPE2 EQU $D221
-W_PARTYMON5_CRATE EQU $D222
-W_PARTYMON5_MOVE1 EQU $D223
-W_PARTYMON5_MOVE2 EQU $D224
-W_PARTYMON5_MOVE3 EQU $D225
-W_PARTYMON5_MOVE4 EQU $D226
-W_PARTYMON5_OTID EQU $D227
-W_PARTYMON5_EXP EQU $D229
-W_PARTYMON5_EVHP EQU $D22C
-W_PARTYMON5_EVATTACK EQU $D22E
-W_PARTYMON5_EVDEFENSE EQU $D230
-W_PARTYMON5_EVSPEED EQU $D232
-W_PARTYMON5_EVSECIAL EQU $D234
-W_PARTYMON5_IV EQU $D236
-W_PARTYMON5_MOVE1PP EQU $D238
-W_PARTYMON5_MOVE2PP EQU $D239
-W_PARTYMON5_MOVE3PP EQU $D23A
-W_PARTYMON5_MOVE4PP EQU $D23B
-W_PARTYMON5_LEVEL EQU $D23C
-W_PARTYMON5_MAXHP EQU $D23D
-W_PARTYMON5_ATACK EQU $D23F
-W_PARTYMON5_DEFENSE EQU $D241
-W_PARTYMON5_SPEED EQU $D243
-W_PARTYMON5_SPECIAL EQU $D245
-
-W_PARTYMON6DATA EQU $D247
-W_PARTYMON6_NUM EQU $D247
-W_PARTYMON6_HP EQU $D248
-W_PARTYMON6_BOXLEVEL EQU $D24A
-W_PARTYMON6_STATUS EQU $D24B
-W_PARTYMON6_TYPE1 EQU $D24C
-W_PARTYMON6_TYPE2 EQU $D24D
-W_PARTYMON6_CRATE EQU $D24E
-W_PARTYMON6_MOVE1 EQU $D24F
-W_PARTYMON6_MOVE2 EQU $D250
-W_PARTYMON6_MOVE3 EQU $D251
-W_PARTYMON6_MOVE4 EQU $D252
-W_PARTYMON6_OTID EQU $D253
-W_PARTYMON6_EXP EQU $D255
-W_PARTYMON6_EVHP EQU $D258
-W_PARTYMON6_EVATTACK EQU $D25A
-W_PARTYMON6_EVDEFENSE EQU $D25C
-W_PARTYMON6_EVSPEED EQU $D25E
-W_PARTYMON6_EVSECIAL EQU $D260
-W_PARTYMON6_IV EQU $D262
-W_PARTYMON6_MOVE1PP EQU $D264
-W_PARTYMON6_MOVE2PP EQU $D265
-W_PARTYMON6_MOVE3PP EQU $D266
-W_PARTYMON6_MOVE4PP EQU $D267
-W_PARTYMON6_LEVEL EQU $D268
-W_PARTYMON6_MAXHP EQU $D269
-W_PARTYMON6_ATACK EQU $D26B
-W_PARTYMON6_DEFENSE EQU $D26D
-W_PARTYMON6_SPEED EQU $D26F
-W_PARTYMON6_SPECIAL EQU $D271
-
-W_PARTYMON1OT EQU $D273
-W_PARTYMON2OT EQU $D27E
-W_PARTYMON3OT EQU $D289
-W_PARTYMON4OT EQU $D294
-W_PARTYMON5OT EQU $D29F
-W_PARTYMON6OT EQU $D2AA
-
-W_PARTYMON1NAME EQU $D2B5
-W_PARTYMON2NAME EQU $D2C0
-W_PARTYMON3NAME EQU $D2CB
-W_PARTYMON4NAME EQU $D2D6
-W_PARTYMON5NAME EQU $D2E1
-W_PARTYMON6NAME EQU $D2EC
-
-W_OWNEDPOKEMON EQU $D2F7 ; bit field, 19 bytes
-
-W_SEENPOKEMON EQU $D30A ; bit field, 19 bytes
-
-;number of items in bag
-W_NUMBAGITEMS EQU $D31D
-; BAGITEM01 is an item id
-; BAGCOUNT01 is how many of this item
-W_BAGITEM01 EQU $D31E
-W_BAGITEM01QTY EQU $D31F
-W_BAGITEM02 EQU $D320
-W_BAGITEM02QTY EQU $D321
-W_BAGITEM03 EQU $D322
-W_BAGITEM03QTY EQU $D323
-W_BAGITEM04 EQU $D324
-W_BAGITEM04QTY EQU $D325
-W_BAGITEM05 EQU $D326
-W_BAGITEM05QTY EQU $D327
-W_BAGITEM06 EQU $D328
-W_BAGITEM06QTY EQU $D329
-W_BAGITEM07 EQU $D32A
-W_BAGITEM07QTY EQU $D32B
-W_BAGITEM08 EQU $D32C
-W_BAGITEM08QTY EQU $D32D
-W_BAGITEM09 EQU $D32E
-W_BAGITEM09QTY EQU $D32F
-W_BAGITEM10 EQU $D330
-W_BAGITEM10QTY EQU $D331
-W_BAGITEM11 EQU $D332
-W_BAGITEM11QTY EQU $D333
-W_BAGITEM12 EQU $D334
-W_BAGITEM12QTY EQU $D335
-W_BAGITEM13 EQU $D336
-W_BAGITEM13QTY EQU $D337
-W_BAGITEM14 EQU $D338
-W_BAGITEM14QTY EQU $D339
-W_BAGITEM15 EQU $D33A
-W_BAGITEM15QTY EQU $D33B
-W_BAGITEM16 EQU $D33C
-W_BAGITEM16QTY EQU $D33D
-W_BAGITEM17 EQU $D33E
-W_BAGITEM17QTY EQU $D33F
-W_BAGITEM18 EQU $D340
-W_BAGITEM18QTY EQU $D341
-W_BAGITEM19 EQU $D342
-W_BAGITEM19QTY EQU $D343
-W_BAGITEM20 EQU $D344
-W_BAGITEM20QTY EQU $D345
-
-; money is in decimal
-W_PLAYERMONEY3 EQU $D347
-W_PLAYERMONEY2 EQU $D348
-W_PLAYERMONEY1 EQU $D349
-
-W_RIVALNAME EQU $D34A ; 11 characters, including null
-
-W_OPTIONS EQU $D355
-; bit 7 = battle animation
-; 0: On
-; 1: Off
-; bit 6 = battle style
-; 0: Shift
-; 1: Set
-; bits 0-3 = text speed (number of frames to delay after printing a letter)
-; 1: Fast
-; 3: Medium
-; 5: Slow
-
-W_OBTAINEDBADGES EQU $D356
-
-W_PLAYERIDHI EQU $D359
-W_PLAYERIDLO EQU $D35A
-
-W_CURMAP EQU $D35E
-
-W_YCOORD EQU $D361 ; player’s position on the current map
-W_XCOORD EQU $D362
-W_YBLOCKCOORD EQU $D363 ; player's y position (by block)
-W_XBLOCKCOORD EQU $D364
-
-W_CURMAPTILESET EQU $D367
-W_CURMAPHEIGHT EQU $D368 ; blocks
-W_CURMAPWIDTH EQU $D369 ; blocks
-
-W_MAPDATAPTR EQU $D36A
-W_MAPTEXTPTR EQU $D36C
-W_MAPSCRIPTPTR EQU $D36E
-W_MAPCONNECTIONS EQU $D370 ; connection byte
-W_MAPCONN1PTR EQU $D371
-W_MAPCONN2PTR EQU $D37C
-W_MAPCONN3PTR EQU $D387
-W_MAPCONN4PTR EQU $D392
-
-W_SPRITESET EQU $D39D ; sprite set for the current map (11 sprite picture ID's)
-W_SPRITESETID EQU $D3A8 ; sprite set ID for the current map
-
-W_NUMSPRITES EQU $D4E1 ; number of sprites on the current map
-
-; two bytes per sprite (movement byte 2 , text ID)
-W_MAPSPRITEDATA EQU $D4e4
-
-; two bytes per sprite (trainer class/item ID , trainer set ID)
-W_MAPSPRITEEXTRADATA EQU $D504
-
-W_TILESETBANK EQU $D52B
-W_TILESETBLOCKSPTR EQU $D52C ; maps blocks (4x4 tiles) to it's tiles
-W_TILESETGFXPTR EQU $D52E
-W_TILESETCOLLISIONPTR EQU $D530 ; list of all walkable tiles
-W_TILESETTALKINGOVERTILES EQU $D532 ; 3 bytes
-W_GRASSTILE EQU $D535
-
-;number of items in box
-W_NUMBOXITEMS EQU $D53A
-; BOXITEM01 is an item id
-; BOXITEM01QTY is how many of this item
-W_BOXITEM01 EQU $D53B
-W_BOXITEM01QTY EQU $D53C
-W_BOXITEM02 EQU $D53D
-W_BOXITEM02QTY EQU $D53E
-W_BOXITEM03 EQU $D53F
-W_BOXITEM03QTY EQU $D540
-W_BOXITEM04 EQU $D541
-W_BOXITEM04QTY EQU $D542
-W_BOXITEM05 EQU $D543
-W_BOXITEM05QTY EQU $D544
-W_BOXITEM06 EQU $D545
-W_BOXITEM06QTY EQU $D546
-W_BOXITEM07 EQU $D547
-W_BOXITEM07QTY EQU $D548
-W_BOXITEM08 EQU $D549
-W_BOXITEM08QTY EQU $D54A
-W_BOXITEM09 EQU $D54B
-W_BOXITEM09QTY EQU $D54C
-W_BOXITEM10 EQU $D54D
-W_BOXITEM10QTY EQU $D54E
-W_BOXITEM11 EQU $D54F
-W_BOXITEM11QTY EQU $D550
-W_BOXITEM12 EQU $D551
-W_BOXITEM12QTY EQU $D552
-W_BOXITEM13 EQU $D553
-W_BOXITEM13QTY EQU $D554
-W_BOXITEM14 EQU $D555
-W_BOXITEM14QTY EQU $D556
-W_BOXITEM15 EQU $D557
-W_BOXITEM15QTY EQU $D558
-W_BOXITEM16 EQU $D559
-W_BOXITEM16QTY EQU $D55A
-W_BOXITEM17 EQU $D55B
-W_BOXITEM17QTY EQU $D55C
-W_BOXITEM18 EQU $D55D
-W_BOXITEM18QTY EQU $D55E
-W_BOXITEM19 EQU $D55F
-W_BOXITEM19QTY EQU $D560
-W_BOXITEM20 EQU $D561
-W_BOXITEM20QTY EQU $D562
-W_BOXITEM21 EQU $D563
-W_BOXITEM21QTY EQU $D564
-W_BOXITEM22 EQU $D565
-W_BOXITEM22QTY EQU $D566
-W_BOXITEM23 EQU $D567
-W_BOXITEM23QTY EQU $D568
-W_BOXITEM24 EQU $D569
-W_BOXITEM24QTY EQU $D56A
-W_BOXITEM25 EQU $D56B
-W_BOXITEM25QTY EQU $D56C
-W_BOXITEM26 EQU $D56D
-W_BOXITEM26QTY EQU $D56E
-W_BOXITEM27 EQU $D56F
-W_BOXITEM27QTY EQU $D570
-W_BOXITEM28 EQU $D571
-W_BOXITEM28QTY EQU $D572
-W_BOXITEM29 EQU $D573
-W_BOXITEM29QTY EQU $D574
-W_BOXITEM30 EQU $D575
-W_BOXITEM30QTY EQU $D576
-W_BOXITEM31 EQU $D577
-W_BOXITEM31QTY EQU $D578
-W_BOXITEM32 EQU $D579
-W_BOXITEM32QTY EQU $D57A
-W_BOXITEM33 EQU $D57B
-W_BOXITEM33QTY EQU $D57C
-W_BOXITEM34 EQU $D57D
-W_BOXITEM34QTY EQU $D57E
-W_BOXITEM35 EQU $D57F
-W_BOXITEM35QTY EQU $D580
-W_BOXITEM36 EQU $D581
-W_BOXITEM36QTY EQU $D582
-W_BOXITEM37 EQU $D583
-W_BOXITEM37QTY EQU $D584
-W_BOXITEM38 EQU $D585
-W_BOXITEM38QTY EQU $D586
-W_BOXITEM39 EQU $D587
-W_BOXITEM39QTY EQU $D588
-W_BOXITEM40 EQU $D589
-W_BOXITEM40QTY EQU $D58A
-W_BOXITEM41 EQU $D58B
-W_BOXITEM41QTY EQU $D58C
-W_BOXITEM42 EQU $D58D
-W_BOXITEM42QTY EQU $D58E
-W_BOXITEM43 EQU $D58F
-W_BOXITEM43QTY EQU $D590
-W_BOXITEM44 EQU $D591
-W_BOXITEM44QTY EQU $D592
-W_BOXITEM45 EQU $D593
-W_BOXITEM45QTY EQU $D594
-W_BOXITEM46 EQU $D595
-W_BOXITEM46QTY EQU $D596
-W_BOXITEM47 EQU $D597
-W_BOXITEM47QTY EQU $D598
-W_BOXITEM48 EQU $D599
-W_BOXITEM48QTY EQU $D59A
-W_BOXITEM49 EQU $D59B
-W_BOXITEM49QTY EQU $D59C
-W_BOXITEM50 EQU $D59D
-W_BOXITEM50QTY EQU $D59E
-;box end of list $D59F
-
-; coins are in decimal
-W_PLAYERCOINS1 EQU $D5A4
-W_PLAYERCOINS2 EQU $D5A5
-W_MISSABLEOBJECTFLAGS EQU $D5A6 ; $20 bytes, bit array of missable objects. bit 1 = removed
-
-; each entry consists of 2 bytes
-; * the sprite ID (depending on the current map)
-; * the missable object index (global, used for W_MISSABLEOBJECTFLAGS)
-; terminated with $FF
-W_MISSABLEOBJECTLIST EQU $D5CE
-
-W_GAMEPROGRESSFLAGS EQU $D5F0 ; $c8 bytes
-W_OAKSLABCURSCRIPT EQU $D5F0
-W_PALLETTOWNCURSCRIPT EQU $D5F1
-
-W_BLUESHOUSECURSCRIPT EQU $D5F3
-W_VIRIDIANCITYCURSCRIPT EQU $D5F4
-
-W_PEWTERCITYCURSCRIPT EQU $D5F7
-W_ROUTE3CURSCRIPT EQU $D5F8
-W_ROUTE4CURSCRIPT EQU $D5F9
-
-W_VIRIDIANGYMCURSCRIPT EQU $D5FB
-W_PEWTERGYMCURSCRIPT EQU $D5FC
-W_CERULEANGYMCURSCRIPT EQU $D5FD
-W_VERMILIONGYMCURSCRIPT EQU $D5FE
-W_CELADONGYMCURSCRIPT EQU $D5FF
-W_ROUTE6CURSCRIPT EQU $D600
-W_ROUTE8CURSCRIPT EQU $D601
-W_ROUTE24CURSCRIPT EQU $D602
-W_ROUTE25CURSCRIPT EQU $D603
-W_ROUTE9CURSCRIPT EQU $D604
-W_ROUTE10CURSCRIPT EQU $D605
-W_MTMOON1CURSCRIPT EQU $D606
-W_MTMOON3CURSCRIPT EQU $D607
-W_SSANNE8CURSCRIPT EQU $D608
-W_SSANNE9CURSCRIPT EQU $D609
-W_ROUTE22CURSCRIPT EQU $D60A
-
-W_REDSHOUSE2CURSCRIPT EQU $D60C
-W_VIRIDIANMARKETCURSCRIPT EQU $D60D
-W_ROUTE22GATECURSCRIPT EQU $D60E
-W_CERULEANCITYCURSCRIPT EQU $D60F
-
-W_SSANNE5CURSCRIPT EQU $D617
-W_VIRIDIANFORESTCURSCRIPT EQU $D618
-W_MUSEUMF1CURSCRIPT EQU $D619
-W_ROUTE13CURSCRIPT EQU $D61A
-W_ROUTE14CURSCRIPT EQU $D61B
-W_ROUTE17CURSCRIPT EQU $D61C
-W_ROUTE19CURSCRIPT EQU $D61D
-W_ROUTE21CURSCRIPT EQU $D61E
-W_SAFARIZONEENTRANCECURSCRIPT EQU $D61F
-W_ROCKTUNNEL2CURSCRIPT EQU $D620
-W_ROCKTUNNEL1CURSCRIPT EQU $D621
-
-W_ROUTE11CURSCRIPT EQU $D623
-W_ROUTE12CURSCRIPT EQU $D624
-W_ROUTE15CURSCRIPT EQU $D625
-W_ROUTE16CURSCRIPT EQU $D626
-W_ROUTE18CURSCRIPT EQU $D627
-W_ROUTE20CURSCRIPT EQU $D628
-W_SSANNE10CURSCRIPT EQU $D629
-W_VERMILIONCITYCURSCRIPT EQU $D62A
-W_POKEMONTOWER2CURSCRIPT EQU $D62B
-W_POKEMONTOWER3CURSCRIPT EQU $D62C
-W_POKEMONTOWER4CURSCRIPT EQU $D62D
-W_POKEMONTOWER5CURSCRIPT EQU $D62E
-W_POKEMONTOWER6CURSCRIPT EQU $D62F
-W_POKEMONTOWER7CURSCRIPT EQU $D630
-W_ROCKETHIDEOUT1CURSCRIPT EQU $D631
-W_ROCKETHIDEOUT2CURSCRIPT EQU $D632
-W_ROCKETHIDEOUT3CURSCRIPT EQU $D633
-W_ROCKETHIDEOUT4CURSCRIPT EQU $D634
-
-W_ROUTE6GATECURSCRIPT EQU $D636
-W_ROUTE8GATECURSCRIPT EQU $D637
-
-W_CINNABARISLANDCURSCRIPT EQU $D639
-W_MANSION1CURSCRIPT EQU $D63A
-
-W_MANSION2CURSCRIPT EQU $D63C
-W_MANSION3CURSCRIPT EQU $D63D
-W_MANSION4CURSCRIPT EQU $D63E
-W_VICTORYROAD2CURSCRIPT EQU $D63F
-W_VICTORYROAD3CURSCRIPT EQU $D640
-
-W_FIGHTINGDOJOCURSCRIPT EQU $D642
-W_SILPHCO2CURSCRIPT EQU $D643
-W_SILPHCO3CURSCRIPT EQU $D644
-W_SILPHCO4CURSCRIPT EQU $D645
-W_SILPHCO5CURSCRIPT EQU $D646
-W_SILPHCO6CURSCRIPT EQU $D647
-W_SILPHCO7CURSCRIPT EQU $D648
-W_SILPHCO8CURSCRIPT EQU $D649
-W_SILPHCO9CURSCRIPT EQU $D64A
-W_HALLOFFAMEROOMCURSCRIPT EQU $D64B
-W_GARYCURSCRIPT EQU $D64C
-W_LORELEICURSCRIPT EQU $D64D
-W_BRUNOCURSCRIPT EQU $D64E
-W_AGATHACURSCRIPT EQU $D64F
-W_UNKNOWNDUNGEON3CURSCRIPT EQU $D650
-W_VICTORYROAD1CURSCRIPT EQU $D651
-
-W_LANCECURSCRIPT EQU $D653
-
-W_SILPHCO10CURSCRIPT EQU $D658
-W_SILPHCO11CURSCRIPT EQU $D659
-
-W_FUCHSIAGYMCURSCRIPT EQU $D65B
-W_SAFFRONGYMCURSCRIPT EQU $D65C
-
-W_CINNABARGYMCURSCRIPT EQU $D65E
-W_CELADONGAMECORNERCURSCRIPT EQU $D65F
-W_ROUTE16GATECURSCRIPT EQU $D660
-W_BILLSHOUSECURSCRIPT EQU $D661
-W_ROUTE5GATECURSCRIPT EQU $D662
-W_POWERPLANTCURSCRIPT EQU $D663 ; overload
-W_ROUTE7GATECURSCRIPT EQU $D663 ; overload
-
-W_SSANNE2CURSCRIPT EQU $D665
-W_SEAFOAMISLANDS4CURSCRIPT EQU $D666
-W_ROUTE23CURSCRIPT EQU $D667
-W_SEAFOAMISLANDS5CURSCRIPT EQU $D668
-W_ROUTE18GATECURSCRIPT EQU $D669
-
-W_TOWNVISITEDFLAG EQU $D70B ; 2 bytes bit array, 1 means visited
-
-W_SAFARITIMER1 EQU $D70D ; use 01 for maximum
-W_SAFARITIMER2 EQU $D70E ; use F4 for maximum
-W_FOSSILITEM EQU $D70F ; item given to cinnabar lab
-W_FOSSILMON EQU $D710 ; mon that will result from the item
-
-W_ENEMYMONORTRAINERCLASS EQU $D713 ; trainer classes start at $c8
-
-W_RIVALSTARTER EQU $D715
-
-W_PLAYERSTARTER EQU $D717
-
-; bit 4: use variable [W_CURMAPSCRIPT] instead of the provided index for next frame's map script (used to start battle when talking to trainers)
-W_FLAGS_D733 EQU $D733
-
-
-W_GRASSRATE EQU $D887
-W_GRASSMONS EQU $D888
-W_WATERRATE EQU $D8A4 ; OVERLOADED
-W_WATERMONS EQU $D8A5 ; OVERLOADED
-
-W_ENEMYMONCOUNT EQU $D89C
-
-W_ENEMYMON1HP EQU $D8A5 ; 16 bits
-
-W_ENEMYMON1MOVE3 EQU $D8AE
-
-W_ENEMYMON2MOVE3 EQU $D8DA
-
-W_ENEMYMON3MOVE3 EQU $D906
-
-W_ENEMYMON4MOVE3 EQU $D932
-
-W_ENEMYMON5MOVE3 EQU $D95E
-
-W_ENEMYMON6MOVE3 EQU $D98A
-
-W_ENEMYMON1OT EQU $D9AC
-W_ENEMYMON2OT EQU $D9B7
-W_ENEMYMON3OT EQU $D9C2
-W_ENEMYMON4OT EQU $D9CD
-W_ENEMYMON5OT EQU $D9D8
-W_ENEMYMON6OT EQU $D9E3
-
-W_ENEMYMON1NAME EQU $D9EE
-W_ENEMYMON2NAME EQU $D9F9
-W_ENEMYMON3NAME EQU $DA04
-W_ENEMYMON4NAME EQU $DA0F
-W_ENEMYMON5NAME EQU $DA1A
-W_ENEMYMON6NAME EQU $DA25 ; to $da2f
-W_TRAINERHEADERPTR EQU $DA30
-
-; index of current map script, mostly used as index for function pointer array
-; mostly copied from map-specific map script pointer and wirtten back later
-W_CURMAPSCRIPT EQU $DA39
-
-W_PLAYTIMEHOURS EQU $DA40 ; two bytes
-W_PLAYTIMEMINUTES EQU $DA42 ; two bytes
-W_PLAYTIMESECONDS EQU $DA44 ; one byte
-W_PLAYTIMEFRAMES EQU $DA45 ; one byte
-
-W_NUMSAFARIBALLS EQU $DA47
-
-; number of mons in current box
-W_NUMINBOX EQU $DA80
-W_BOXMON1DATA EQU $DA96
-W_BOXMON2DATA EQU $DAB7
-
-
-H_SOFTRESETCOUNTER EQU $FF8A ; initialized to 16, decremented each input iteration if the user presses the reset sequence (A+B+S+s). Soft reset when 0 is reached.
-
-; counters for blinking down arrow
-H_DOWNARROWBLINKCNT1 EQU $FF8B
-H_DOWNARROWBLINKCNT2 EQU $FF8C
-
-; Note: the following multiplication and division addresses are used for multiple purposes
-; and so they overlap with each other
-
-H_MULTIPLICAND EQU $FF96 ; 3 bytes, big endian order
-H_MULTIPLIER EQU $FF99 ; 1 byte
-H_PRODUCT EQU $FF95 ; 4 bytes, big endian order
-
-H_DIVIDEND EQU $FF95 ; 4 bytes, big endian order
-H_DIVISOR EQU $FF99 ; 1 byte
-H_QUOTIENT EQU $FF95 ; 4 bytes, big endian order
-H_REMAINDER EQU $FF99 ; 1 byte
-
-; used to convert numbers to decimal
-H_PASTLEADINGZEROES EQU $FF95 ; flag to indicate that a nonzero digit has been printed
-H_NUMTOPRINT EQU $FF96 ; 3 bytes, big endian order
-H_POWEROFTEN EQU $FF99 ; 3 bytes, big endian order
-H_SAVEDNUMTOPRINT EQU $FF9C ; 3 bytes, big endian order (to back out of a subtraction)
-
-H_OLDPRESSEDBUTTONS EQU $FFB1
-H_NEWLYRELEASEDBUTTONS EQU $FFB2
-H_NEWLYPRESSEDBUTTONS EQU $FFB3
-H_CURRENTPRESSEDBUTTONS EQU $FFB4
-
-H_LOADEDROMBANK EQU $FFB8
-
-; is automatic background transfer during V-blank enabled?
-; if nonzero, yes
-; if zero, no
-H_AUTOBGTRANSFERENABLED EQU $FFBA
-
-TRANSFERTOP EQU 0
-TRANSFERMIDDLE EQU 1
-TRANSFERBOTTOM EQU 2
-
-; 00 = top third of background
-; 01 = middle third of background
-; 02 = bottom third of background
-H_AUTOBGTRANSFERPORTION EQU $FFBB
-
-; the destination address of the automatic background transfer
-H_AUTOBGTRANSFERDEST EQU $FFBC ; 2 bytes
-
-; temporary storage for stack pointer during memory transfers that use pop
-; to increase speed
-H_SPTEMP 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
-
-; destination address for VBlankCopyBgMap function
-H_VBCOPYBGDEST EQU $FFC3 ; 2 bytes
-
-; number of rows for VBlankCopyBgMap to copy
-H_VBCOPYBGNUMROWS EQU $FFC5
-
-; size of VBlankCopy transfer in 16-byte units
-H_VBCOPYSIZE EQU $FFC6
-
-; source address for VBlankCopy function
-H_VBCOPYSRC EQU $FFC7
-
-; destination address for VBlankCopy function
-H_VBCOPYDEST EQU $FFC9
-
-; size of source data for VBlankCopyDouble in 8-byte units
-H_VBCOPYDOUBLESIZE EQU $FFCB
-
-; source address for VBlankCopyDouble function
-H_VBCOPYDOUBLESRC EQU $FFCC
-
-; destination address for VBlankCopyDouble function
-H_VBCOPYDOUBLEDEST EQU $FFCE
-
-; controls whether a row or column of 2x2 tile blocks is redrawn in V-blank
-; 00 = no redraw
-; 01 = redraw column
-; 02 = redraw row
-H_SCREENEDGEREDRAW EQU $FFD0
-
-REDRAWCOL EQU 1
-REDRAWROW EQU 2
-
-H_SCREENEDGEREDRAWADDR EQU $FFD1
-
-H_RAND1 EQU $FFD3
-H_RAND2 EQU $FFD4
-
-H_FRAMECOUNTER 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
-
-H_CURRENTSPRITEOFFSET EQU $FFDA ; multiple of $10
-
-H_WHOSETURN EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn
-
-H_JOYPADSTATE EQU $FFF8
-
-; hardware registers, from the pandocs http://nocash.emubase.de/pandocs.htm
-rJOYP EQU $FF00
-rDIV EQU $FF04
-rLCDC EQU $FF40
-rSCY EQU $FF42
-rSCX EQU $FF43
-rBGP EQU $FF47
-rOBP0 EQU $FF48
-rOBP1 EQU $FF49
-rWY EQU $FF4A
-rWX EQU $FF4B
-rIE EQU $FFFF
-
-BTN_A EQU %00000001
-BTN_B EQU %00000010
-BTN_SELECT EQU %00000100
-BTN_START EQU %00001000
-BTN_RIGHT EQU %00010000
-BTN_LEFT EQU %00100000
-BTN_UP EQU %01000000
-BTN_DOWN EQU %10000000
-
-; OAM attribute flags
-OAM_HFLIP EQU %00100000 ; horizontal flip
-OAM_VFLIP EQU %01000000 ; vertical flip
-
-; 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
-
-; pokemon name constants
-RHYDON EQU $01
-KANGASKHAN EQU $02
-NIDORAN_M EQU $03
-CLEFAIRY EQU $04
-SPEAROW EQU $05
-VOLTORB EQU $06
-NIDOKING EQU $07
-SLOWBRO EQU $08
-IVYSAUR EQU $09
-EXEGGUTOR EQU $0A
-LICKITUNG EQU $0B
-EXEGGCUTE EQU $0C
-GRIMER EQU $0D
-GENGAR EQU $0E
-NIDORAN_F EQU $0F
-NIDOQUEEN EQU $10
-CUBONE EQU $11
-RHYHORN EQU $12
-LAPRAS EQU $13
-ARCANINE EQU $14
-MEW EQU $15
-GYARADOS EQU $16
-SHELLDER EQU $17
-TENTACOOL EQU $18
-GASTLY EQU $19
-SCYTHER EQU $1A
-STARYU EQU $1B
-BLASTOISE EQU $1C
-PINSIR EQU $1D
-TANGELA EQU $1E
-GROWLITHE EQU $21
-ONIX EQU $22
-FEAROW EQU $23
-PIDGEY EQU $24
-SLOWPOKE EQU $25
-KADABRA EQU $26
-GRAVELER EQU $27
-CHANSEY EQU $28
-MACHOKE EQU $29
-MR_MIME EQU $2A
-HITMONLEE EQU $2B
-HITMONCHAN EQU $2C
-ARBOK EQU $2D
-PARASECT EQU $2E
-PSYDUCK EQU $2F
-DROWZEE EQU $30
-GOLEM EQU $31
-MAGMAR EQU $33
-ELECTABUZZ EQU $35
-MAGNETON EQU $36
-KOFFING EQU $37
-MANKEY EQU $39
-SEEL EQU $3A
-DIGLETT EQU $3B
-TAUROS EQU $3C
-FARFETCH_D EQU $40
-VENONAT EQU $41
-DRAGONITE EQU $42
-DODUO EQU $46
-POLIWAG EQU $47
-JYNX EQU $48
-MOLTRES EQU $49
-ARTICUNO EQU $4A
-ZAPDOS EQU $4B
-DITTO EQU $4C
-MEOWTH EQU $4D
-KRABBY EQU $4E
-VULPIX EQU $52
-NINETALES EQU $53
-PIKACHU EQU $54
-RAICHU EQU $55
-DRATINI EQU $58
-DRAGONAIR EQU $59
-KABUTO EQU $5A
-KABUTOPS EQU $5B
-HORSEA EQU $5C
-SEADRA EQU $5D
-SANDSHREW EQU $60
-SANDSLASH EQU $61
-OMANYTE EQU $62
-OMASTAR EQU $63
-JIGGLYPUFF EQU $64
-WIGGLYTUFF EQU $65
-EEVEE EQU $66
-FLAREON EQU $67
-JOLTEON EQU $68
-VAPOREON EQU $69
-MACHOP EQU $6A
-ZUBAT EQU $6B
-EKANS EQU $6C
-PARAS EQU $6D
-POLIWHIRL EQU $6E
-POLIWRATH EQU $6F
-WEEDLE EQU $70
-KAKUNA EQU $71
-BEEDRILL EQU $72
-DODRIO EQU $74
-PRIMEAPE EQU $75
-DUGTRIO EQU $76
-VENOMOTH EQU $77
-DEWGONG EQU $78
-CATERPIE EQU $7B
-METAPOD EQU $7C
-BUTTERFREE EQU $7D
-MACHAMP EQU $7E
-GOLDUCK EQU $80
-HYPNO EQU $81
-GOLBAT EQU $82
-MEWTWO EQU $83
-SNORLAX EQU $84
-MAGIKARP EQU $85
-MUK EQU $88
-KINGLER EQU $8A
-CLOYSTER EQU $8B
-ELECTRODE EQU $8D
-CLEFABLE EQU $8E
-WEEZING EQU $8F
-PERSIAN EQU $90
-MAROWAK EQU $91
-HAUNTER EQU $93
-ABRA EQU $94
-ALAKAZAM EQU $95
-PIDGEOTTO EQU $96
-PIDGEOT EQU $97
-STARMIE EQU $98
-BULBASAUR EQU $99
-VENUSAUR EQU $9A
-TENTACRUEL EQU $9B
-GOLDEEN EQU $9D
-SEAKING EQU $9E
-PONYTA EQU $A3
-RAPIDASH EQU $A4
-RATTATA EQU $A5
-RATICATE EQU $A6
-NIDORINO EQU $A7
-NIDORINA EQU $A8
-GEODUDE EQU $A9
-PORYGON EQU $AA
-AERODACTYL EQU $AB
-MAGNEMITE EQU $AD
-CHARMANDER EQU $B0
-SQUIRTLE EQU $B1
-CHARMELEON EQU $B2
-WARTORTLE EQU $B3
-CHARIZARD EQU $B4
-FOSSIL_KABUTOPS EQU $B6
-FOSSIL_AERODACTYL EQU $B7
-MON_GHOST EQU $B8
-ODDISH EQU $B9
-GLOOM EQU $BA
-VILEPLUME EQU $BB
-BELLSPROUT EQU $BC
-WEEPINBELL EQU $BD
-VICTREEBEL EQU $BE
-
-
-; trainer name constants
-; sometimes it's necessary to add $C8 to these values
-YOUNGSTER EQU $01
-BUG_CATCHER EQU $02
-LASS EQU $03
-SAILOR EQU $04
-JR__TRAINER_M EQU $05
-JR__TRAINER_F EQU $06
-POKEMANIAC EQU $07
-SUPER_NERD EQU $08
-HIKER EQU $09
-BIKER EQU $0A
-BURGLAR EQU $0B
-ENGINEER EQU $0C
-JUGGLER_X EQU $0D
-FISHER EQU $0E
-SWIMMER EQU $0F
-CUE_BALL EQU $10
-GAMBLER EQU $11
-BEAUTY EQU $12
-PSYCHIC_TR EQU $13
-ROCKER EQU $14
-JUGGLER EQU $15
-TAMER EQU $16
-BIRD_KEEPER EQU $17
-BLACKBELT EQU $18
-SONY1 EQU $19
-PROF_OAK EQU $1A
-CHIEF EQU $1B
-SCIENTIST EQU $1C
-GIOVANNI EQU $1D
-ROCKET EQU $1E
-COOLTRAINER_M EQU $1F
-COOLTRAINER_F EQU $20
-BRUNO EQU $21
-BROCK EQU $22
-MISTY EQU $23
-LT__SURGE EQU $24
-ERIKA EQU $25
-KOGA EQU $26
-BLAINE EQU $27
-SABRINA EQU $28
-GENTLEMAN EQU $29
-SONY2 EQU $2A
-SONY3 EQU $2B
-LORELEI EQU $2C
-CHANNELER EQU $2D
-AGATHA EQU $2E
-LANCE EQU $2F
-
-; pokemon dex numbers
-DEX_BULBASAUR EQU 1
-DEX_IVYSAUR EQU 2
-DEX_VENUSAUR EQU 3
-DEX_CHARMANDER EQU 4
-DEX_CHARMELEON EQU 5
-DEX_CHARIZARD EQU 6
-DEX_SQUIRTLE EQU 7
-DEX_WARTORTLE EQU 8
-DEX_BLASTOISE EQU 9
-DEX_CATERPIE EQU 10
-DEX_METAPOD EQU 11
-DEX_BUTTERFREE EQU 12
-DEX_WEEDLE EQU 13
-DEX_KAKUNA EQU 14
-DEX_BEEDRILL EQU 15
-DEX_PIDGEY EQU 16
-DEX_PIDGEOTTO EQU 17
-DEX_PIDGEOT EQU 18
-DEX_RATTATA EQU 19
-DEX_RATICATE EQU 20
-DEX_SPEAROW EQU 21
-DEX_FEAROW EQU 22
-DEX_EKANS EQU 23
-DEX_ARBOK EQU 24
-DEX_PIKACHU EQU 25
-DEX_RAICHU EQU 26
-DEX_SANDSHREW EQU 27
-DEX_SANDSLASH EQU 28
-DEX_NIDORAN_F EQU 29
-DEX_NIDORINA EQU 30
-DEX_NIDOQUEEN EQU 31
-DEX_NIDORAN_M EQU 32
-DEX_NIDORINO EQU 33
-DEX_NIDOKING EQU 34
-DEX_CLEFAIRY EQU 35
-DEX_CLEFABLE EQU 36
-DEX_VULPIX EQU 37
-DEX_NINETALES EQU 38
-DEX_JIGGLYPUFF EQU 39
-DEX_WIGGLYTUFF EQU 40
-DEX_ZUBAT EQU 41
-DEX_GOLBAT EQU 42
-DEX_ODDISH EQU 43
-DEX_GLOOM EQU 44
-DEX_VILEPLUME EQU 45
-DEX_PARAS EQU 46
-DEX_PARASECT EQU 47
-DEX_VENONAT EQU 48
-DEX_VENOMOTH EQU 49
-DEX_DIGLETT EQU 50
-DEX_DUGTRIO EQU 51
-DEX_MEOWTH EQU 52
-DEX_PERSIAN EQU 53
-DEX_PSYDUCK EQU 54
-DEX_GOLDUCK EQU 55
-DEX_MANKEY EQU 56
-DEX_PRIMEAPE EQU 57
-DEX_GROWLITHE EQU 58
-DEX_ARCANINE EQU 59
-DEX_POLIWAG EQU 60
-DEX_POLIWHIRL EQU 61
-DEX_POLIWRATH EQU 62
-DEX_ABRA EQU 63
-DEX_KADABRA EQU 64
-DEX_ALAKAZAM EQU 65
-DEX_MACHOP EQU 66
-DEX_MACHOKE EQU 67
-DEX_MACHAMP EQU 68
-DEX_BELLSPROUT EQU 69
-DEX_WEEPINBELL EQU 70
-DEX_VICTREEBEL EQU 71
-DEX_TENTACOOL EQU 72
-DEX_TENTACRUEL EQU 73
-DEX_GEODUDE EQU 74
-DEX_GRAVELER EQU 75
-DEX_GOLEM EQU 76
-DEX_PONYTA EQU 77
-DEX_RAPIDASH EQU 78
-DEX_SLOWPOKE EQU 79
-DEX_SLOWBRO EQU 80
-DEX_MAGNEMITE EQU 81
-DEX_MAGNETON EQU 82
-DEX_FARFETCH_D EQU 83
-DEX_DODUO EQU 84
-DEX_DODRIO EQU 85
-DEX_SEEL EQU 86
-DEX_DEWGONG EQU 87
-DEX_GRIMER EQU 88
-DEX_MUK EQU 89
-DEX_SHELLDER EQU 90
-DEX_CLOYSTER EQU 91
-DEX_GASTLY EQU 92
-DEX_HAUNTER EQU 93
-DEX_GENGAR EQU 94
-DEX_ONIX EQU 95
-DEX_DROWZEE EQU 96
-DEX_HYPNO EQU 97
-DEX_KRABBY EQU 98
-DEX_KINGLER EQU 99
-DEX_VOLTORB EQU 100
-DEX_ELECTRODE EQU 101
-DEX_EXEGGCUTE EQU 102
-DEX_EXEGGUTOR EQU 103
-DEX_CUBONE EQU 104
-DEX_MAROWAK EQU 105
-DEX_HITMONLEE EQU 106
-DEX_HITMONCHAN EQU 107
-DEX_LICKITUNG EQU 108
-DEX_KOFFING EQU 109
-DEX_WEEZING EQU 110
-DEX_RHYHORN EQU 111
-DEX_RHYDON EQU 112
-DEX_CHANSEY EQU 113
-DEX_TANGELA EQU 114
-DEX_KANGASKHAN EQU 115
-DEX_HORSEA EQU 116
-DEX_SEADRA EQU 117
-DEX_GOLDEEN EQU 118
-DEX_SEAKING EQU 119
-DEX_STARYU EQU 120
-DEX_STARMIE EQU 121
-DEX_MR_MIME EQU 122
-DEX_SCYTHER EQU 123
-DEX_JYNX EQU 124
-DEX_ELECTABUZZ EQU 125
-DEX_MAGMAR EQU 126
-DEX_PINSIR EQU 127
-DEX_TAUROS EQU 128
-DEX_MAGIKARP EQU 129
-DEX_GYARADOS EQU 130
-DEX_LAPRAS EQU 131
-DEX_DITTO EQU 132
-DEX_EEVEE EQU 133
-DEX_VAPOREON EQU 134
-DEX_JOLTEON EQU 135
-DEX_FLAREON EQU 136
-DEX_PORYGON EQU 137
-DEX_OMANYTE EQU 138
-DEX_OMASTAR EQU 139
-DEX_KABUTO EQU 140
-DEX_KABUTOPS EQU 141
-DEX_AERODACTYL EQU 142
-DEX_SNORLAX EQU 143
-DEX_ARTICUNO EQU 144
-DEX_ZAPDOS EQU 145
-DEX_MOLTRES EQU 146
-DEX_DRATINI EQU 147
-DEX_DRAGONAIR EQU 148
-DEX_DRAGONITE EQU 149
-DEX_MEWTWO EQU 150
-DEX_MEW EQU 151
-
-
-; item name constants
-MASTER_BALL EQU $01
-ULTRA_BALL EQU $02
-GREAT_BALL EQU $03
-POKE_BALL EQU $04
-TOWN_MAP EQU $05
-BICYCLE EQU $06
-SURFBOARD EQU $07 ; buggy?
-SAFARI_BALL EQU $08
-POKEDEX EQU $09
-MOON_STONE EQU $0A
-ANTIDOTE EQU $0B
-BURN_HEAL EQU $0C
-ICE_HEAL EQU $0D
-AWAKENING EQU $0E
-PARLYZ_HEAL EQU $0F
-FULL_RESTORE EQU $10
-MAX_POTION EQU $11
-HYPER_POTION EQU $12
-SUPER_POTION EQU $13
-POTION EQU $14
-BOULDERBADGE EQU $15
-CASCADEBADGE EQU $16
-THUNDERBADGE EQU $17
-RAINBOWBADGE EQU $18
-SOULBADGE EQU $19
-MARSHBADGE EQU $1A
-VOLCANOBADGE EQU $1B
-EARTHBADGE EQU $1C
-ESCAPE_ROPE EQU $1D
-REPEL EQU $1E
-OLD_AMBER EQU $1F
-FIRE_STONE EQU $20
-THUNDER_STONE EQU $21
-WATER_STONE EQU $22
-HP_UP EQU $23
-PROTEIN EQU $24
-IRON EQU $25
-CARBOS EQU $26
-CALCIUM EQU $27
-RARE_CANDY EQU $28
-DOME_FOSSIL EQU $29
-HELIX_FOSSIL EQU $2A
-SECRET_KEY EQU $2B
-; XXX ????? EQU $2C
-BIKE_VOUCHER EQU $2D
-X_ACCURACY EQU $2E
-LEAF_STONE EQU $2F
-CARD_KEY EQU $30
-NUGGET EQU $31
-;PP_UP EQU $32
-POKE_DOLL EQU $33
-FULL_HEAL EQU $34
-REVIVE EQU $35
-MAX_REVIVE EQU $36
-GUARD_SPEC_ EQU $37
-SUPER_REPEL EQU $38
-MAX_REPEL EQU $39
-DIRE_HIT EQU $3A
-COIN EQU $3B
-FRESH_WATER EQU $3C
-SODA_POP EQU $3D
-LEMONADE EQU $3E
-S_S__TICKET EQU $3F
-GOLD_TEETH EQU $40
-X_ATTACK EQU $41
-X_DEFEND EQU $42
-X_SPEED EQU $43
-X_SPECIAL EQU $44
-COIN_CASE EQU $45
-OAKS_PARCEL EQU $46
-ITEMFINDER EQU $47
-SILPH_SCOPE EQU $48
-POKE_FLUTE EQU $49
-LIFT_KEY EQU $4A
-EXP__ALL EQU $4B
-OLD_ROD EQU $4C
-GOOD_ROD EQU $4D
-SUPER_ROD EQU $4E
-; XXX todo: compare this to $32
-PP_UP EQU $4F
-ETHER EQU $50
-MAX_ETHER EQU $51
-ELIXER EQU $52
-MAX_ELIXER EQU $53
-HM_01 EQU $C4
-HM_02 EQU $C5
-HM_03 EQU $C6
-HM_04 EQU $C7
-HM_05 EQU $C8
-TM_01 EQU $C9
-TM_02 EQU $CA
-TM_03 EQU $CB
-TM_04 EQU $CC
-TM_05 EQU $CD
-TM_06 EQU $CE
-TM_07 EQU $CF
-TM_08 EQU $D0
-TM_09 EQU $D1
-TM_10 EQU $D2
-TM_11 EQU $D3
-TM_12 EQU $D4
-TM_13 EQU $D5
-TM_14 EQU $D6
-TM_15 EQU $D7
-TM_16 EQU $D8
-TM_17 EQU $D9
-TM_18 EQU $DA
-TM_19 EQU $DB
-TM_20 EQU $DC
-TM_21 EQU $DD
-TM_22 EQU $DE
-TM_23 EQU $DF
-TM_24 EQU $E0
-TM_25 EQU $E1
-TM_26 EQU $E2
-TM_27 EQU $E3
-TM_28 EQU $E4
-TM_29 EQU $E5
-TM_30 EQU $E6
-TM_31 EQU $E7
-TM_32 EQU $E8
-TM_33 EQU $E9
-TM_34 EQU $EA
-TM_35 EQU $EB
-TM_36 EQU $EC
-TM_37 EQU $ED
-TM_38 EQU $EE
-TM_39 EQU $EF
-TM_40 EQU $F0
-TM_41 EQU $F1
-TM_42 EQU $F2
-TM_43 EQU $F3
-TM_44 EQU $F4
-TM_45 EQU $F5
-TM_46 EQU $F6
-TM_47 EQU $F7
-TM_48 EQU $F8
-TM_49 EQU $F9
-TM_50 EQU $FA
-
-; tentative move effect constants
-; {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
-NO_ADDITIONAL_EFFECT EQU $00
-POISON_SIDE_EFFECT1 EQU $02
-DRAIN_HP_EFFECT EQU $03
-BURN_SIDE_EFFECT1 EQU $04
-FREEZE_SIDE_EFFECT EQU $05
-PARALYZE_SIDE_EFFECT1 EQU $06
-EXPLODE_EFFECT EQU $07 ; Explosion, Self Destruct
-DREAM_EATER_EFFECT EQU $08
-MIRROR_MOVE_EFFECT EQU $09
-ATTACK_UP1_EFFECT EQU $0A
-DEFENSE_UP1_EFFECT EQU $0B
-SPECIAL_UP1_EFFECT EQU $0D
-EVASION_UP1_EFFECT EQU $0F
-PAY_DAY_EFFECT EQU $10
-SWIFT_EFFECT EQU $11
-ATTACK_DOWN1_EFFECT EQU $12
-DEFENSE_DOWN1_EFFECT EQU $13
-SPEED_DOWN1_EFFECT EQU $14
-ACCURACY_DOWN1_EFFECT EQU $16
-CONVERSION_EFFECT EQU $18
-HAZE_EFFECT EQU $19
-BIDE_EFFECT EQU $1A
-THRASH_PETAL_DANCE_EFFECT EQU $1B
-SWITCH_AND_TELEPORT_EFFECT EQU $1C
-TWO_TO_FIVE_ATTACKS_EFFECT EQU $1D
-FLINCH_SIDE_EFFECT1 EQU $1F
-SLEEP_EFFECT EQU $20
-POISON_SIDE_EFFECT2 EQU $21
-BURN_SIDE_EFFECT2 EQU $22
-PARALYZE_SIDE_EFFECT2 EQU $24
-FLINCH_SIDE_EFFECT2 EQU $25
-OHKO_EFFECT EQU $26 ; moves like Horn Drill
-CHARGE_EFFECT EQU $27 ; moves like Solar Beam
-SUPER_FANG_EFFECT EQU $28
-SPECIAL_DAMAGE_EFFECT EQU $29 ; Seismic Toss, Night Shade, Sonic Boom, Dragon Rage, Psywave
-TRAPPING_EFFECT EQU $2A ; moves like Wrap
-FLY_EFFECT EQU $2B
-ATTACK_TWICE_EFFECT EQU $2C
-JUMP_KICK_EFFECT EQU $2D ; Jump Kick and Hi Jump Kick effect
-MIST_EFFECT EQU $2E
-FOCUS_ENERGY_EFFECT EQU $2F
-RECOIL_EFFECT EQU $30 ; moves like Double Edge
-CONFUSION_EFFECT EQU $31 ; Confuse Ray, Supersonic (not the move Confusion)
-ATTACK_UP2_EFFECT EQU $32
-DEFENSE_UP2_EFFECT EQU $33
-SPEED_UP2_EFFECT EQU $34
-SPECIAL_UP2_EFFECT EQU $35
-HEAL_EFFECT EQU $38 ; Recover, Softboiled, Rest
-TRANSFORM_EFFECT EQU $39
-DEFENSE_DOWN2_EFFECT EQU $3B
-LIGHT_SCREEN_EFFECT EQU $40
-REFLECT_EFFECT EQU $41
-POISON_EFFECT EQU $42
-PARALYZE_EFFECT EQU $43
-ATTACK_DOWN_SIDE_EFFECT EQU $44
-DEFENSE_DOWN_SIDE_EFFECT EQU $45
-SPEED_DOWN_SIDE_EFFECT EQU $46
-SPECIAL_DOWN_SIDE_EFFECT EQU $47
-CONFUSION_SIDE_EFFECT EQU $4C
-TWINEEDLE_EFFECT EQU $4D
-SUBSTITUTE_EFFECT EQU $4F
-HYPER_BEAM_EFFECT EQU $50
-RAGE_EFFECT EQU $51
-MIMIC_EFFECT EQU $52
-METRONOME_EFFECT EQU $53
-LEECH_SEED_EFFECT EQU $54
-SPLASH_EFFECT EQU $55
-DISABLE_EFFECT EQU $56
-
-; fixed damage constants
-SONICBOOM_DAMAGE EQU 20
-DRAGON_RAGE_DAMAGE EQU 40
-
-; move name constants
-POUND EQU $01
-KARATE_CHOP EQU $02
-DOUBLESLAP EQU $03
-COMET_PUNCH EQU $04
-MEGA_PUNCH EQU $05
-PAY_DAY EQU $06
-FIRE_PUNCH EQU $07
-ICE_PUNCH EQU $08
-THUNDERPUNCH EQU $09
-SCRATCH EQU $0A
-VICEGRIP EQU $0B
-GUILLOTINE EQU $0C
-RAZOR_WIND EQU $0D
-SWORDS_DANCE EQU $0E
-CUT EQU $0F
-GUST EQU $10
-WING_ATTACK EQU $11
-WHIRLWIND EQU $12
-FLY EQU $13
-BIND EQU $14
-SLAM EQU $15
-VINE_WHIP EQU $16
-STOMP EQU $17
-DOUBLE_KICK EQU $18
-MEGA_KICK EQU $19
-JUMP_KICK EQU $1A
-ROLLING_KICK EQU $1B
-SAND_ATTACK EQU $1C
-HEADBUTT EQU $1D
-HORN_ATTACK EQU $1E
-FURY_ATTACK EQU $1F
-HORN_DRILL EQU $20
-TACKLE EQU $21
-BODY_SLAM EQU $22
-WRAP EQU $23
-TAKE_DOWN EQU $24
-THRASH EQU $25
-DOUBLE_EDGE EQU $26
-TAIL_WHIP EQU $27
-POISON_STING EQU $28
-TWINEEDLE EQU $29
-PIN_MISSILE EQU $2A
-LEER EQU $2B
-BITE EQU $2C
-GROWL EQU $2D
-ROAR EQU $2E
-SING EQU $2F
-SUPERSONIC EQU $30
-SONICBOOM EQU $31
-DISABLE EQU $32
-ACID EQU $33
-EMBER EQU $34
-FLAMETHROWER EQU $35
-MIST EQU $36
-WATER_GUN EQU $37
-HYDRO_PUMP EQU $38
-SURF EQU $39
-ICE_BEAM EQU $3A
-BLIZZARD EQU $3B
-PSYBEAM EQU $3C
-BUBBLEBEAM EQU $3D
-AURORA_BEAM EQU $3E
-HYPER_BEAM EQU $3F
-PECK EQU $40
-DRILL_PECK EQU $41
-SUBMISSION EQU $42
-LOW_KICK EQU $43
-COUNTER EQU $44
-SEISMIC_TOSS EQU $45
-STRENGTH EQU $46
-ABSORB EQU $47
-MEGA_DRAIN EQU $48
-LEECH_SEED EQU $49
-GROWTH EQU $4A
-RAZOR_LEAF EQU $4B
-SOLARBEAM EQU $4C
-POISONPOWDER EQU $4D
-STUN_SPORE EQU $4E
-SLEEP_POWDER EQU $4F
-PETAL_DANCE EQU $50
-STRING_SHOT EQU $51
-DRAGON_RAGE EQU $52
-FIRE_SPIN EQU $53
-THUNDERSHOCK EQU $54
-THUNDERBOLT EQU $55
-THUNDER_WAVE EQU $56
-THUNDER EQU $57
-ROCK_THROW EQU $58
-EARTHQUAKE EQU $59
-FISSURE EQU $5A
-DIG EQU $5B
-TOXIC EQU $5C
-CONFUSION EQU $5D
-PSYCHIC_M EQU $5E
-HYPNOSIS EQU $5F
-MEDITATE EQU $60
-AGILITY EQU $61
-QUICK_ATTACK EQU $62
-RAGE EQU $63
-TELEPORT EQU $64
-NIGHT_SHADE EQU $65
-MIMIC EQU $66
-SCREECH EQU $67
-DOUBLE_TEAM EQU $68
-RECOVER EQU $69
-HARDEN EQU $6A
-MINIMIZE EQU $6B
-SMOKESCREEN EQU $6C
-CONFUSE_RAY EQU $6D
-WITHDRAW EQU $6E
-DEFENSE_CURL EQU $6F
-BARRIER EQU $70
-LIGHT_SCREEN EQU $71
-HAZE EQU $72
-REFLECT EQU $73
-FOCUS_ENERGY EQU $74
-BIDE EQU $75
-METRONOME EQU $76
-MIRROR_MOVE EQU $77
-SELFDESTRUCT EQU $78
-EGG_BOMB EQU $79
-LICK EQU $7A
-SMOG EQU $7B
-SLUDGE EQU $7C
-BONE_CLUB EQU $7D
-FIRE_BLAST EQU $7E
-WATERFALL EQU $7F
-CLAMP EQU $80
-SWIFT EQU $81
-SKULL_BASH EQU $82
-SPIKE_CANNON EQU $83
-CONSTRICT EQU $84
-AMNESIA EQU $85
-KINESIS EQU $86
-SOFTBOILED EQU $87
-HI_JUMP_KICK EQU $88
-GLARE EQU $89
-DREAM_EATER EQU $8A
-POISON_GAS EQU $8B
-BARRAGE EQU $8C
-LEECH_LIFE EQU $8D
-LOVELY_KISS EQU $8E
-SKY_ATTACK EQU $8F
-TRANSFORM EQU $90
-BUBBLE EQU $91
-DIZZY_PUNCH EQU $92
-SPORE EQU $93
-FLASH EQU $94
-PSYWAVE EQU $95
-SPLASH EQU $96
-ACID_ARMOR EQU $97
-CRABHAMMER EQU $98
-EXPLOSION EQU $99
-FURY_SWIPES EQU $9A
-BONEMERANG EQU $9B
-REST EQU $9C
-ROCK_SLIDE EQU $9D
-HYPER_FANG EQU $9E
-SHARPEN EQU $9F
-CONVERSION EQU $A0
-TRI_ATTACK EQU $A1
-SUPER_FANG EQU $A2
-SLASH EQU $A3
-SUBSTITUTE EQU $A4
-STRUGGLE EQU $A5
-; these do double duty as animation identifiers
-SHOWPIC_ANIM EQU $A6 ; redraw monster pic
-XSTATITEM_ANIM EQU $AE ; use X Attack/Defense/Speed/Special
-SLP_ANIM EQU $BD ; sleeping monster
-CONF_ANIM EQU $BF ; confused monster
-TOSS_ANIM EQU $C1 ; toss Poké Ball
-SHAKE_ANIM EQU $C2 ; shaking Poké Ball when catching monster
-POOF_ANIM EQU $C3 ; puff of smoke
-BLOCKBALL_ANIM EQU $C4 ; trainer knocks away Poké Ball
-GREATTOSS_ANIM EQU $C5 ; toss Great Ball
-ULTRATOSS_ANIM EQU $C6 ; toss Ultra Ball or Master Ball
-HIDEPIC_ANIM EQU $C8 ; monster disappears
-ROCK_ANIM EQU $C9 ; throw rock
-BAIT_ANIM EQU $CA ; throw bait
-
-; super game boy palettes
-PAL_ROUTE EQU $00
-PAL_PALLET EQU $01
-PAL_VIRIDIAN EQU $02
-PAL_PEWTER EQU $03
-PAL_CERULEAN EQU $04
-PAL_LAVENDER EQU $05
-PAL_VERMILION EQU $06
-PAL_CELADON EQU $07
-PAL_FUCHSIA EQU $08
-PAL_CINNABAR EQU $09
-PAL_INDIGO EQU $0A
-PAL_SAFFRON EQU $0B
-PAL_TOWNMAP EQU $0C
-PAL_LOGO1 EQU $0D
-; XXX
-PAL_LOGO2 EQU $0F
-PAL_MEWMON EQU $10
-PAL_BLUEMON EQU $11
-PAL_REDMON EQU $12
-PAL_CYANMON EQU $13
-PAL_PURPLEMON EQU $14
-PAL_BROWNMON EQU $15
-PAL_GREENMON EQU $16
-PAL_PINKMON EQU $17
-PAL_YELLOWMON EQU $18
-PAL_GREYMON EQU $19
-PAL_SLOTS1 EQU $1A
-PAL_SLOTS2 EQU $1B
-PAL_SLOTS3 EQU $1C
-PAL_SLOTS4 EQU $1D
-PAL_BLACK EQU $1E
-PAL_GREENBAR EQU $1F
-PAL_YELLOWBAR EQU $20
-PAL_REDBAR EQU $21
-PAL_BADGE EQU $22
-PAL_CAVE EQU $23
-; XXX
-
-; map name constants
-PALLET_TOWN EQU $00
-VIRIDIAN_CITY EQU $01
-PEWTER_CITY EQU $02
-CERULEAN_CITY EQU $03
-LAVENDER_TOWN EQU $04
-VERMILION_CITY EQU $05
-CELADON_CITY EQU $06
-FUCHSIA_CITY EQU $07
-CINNABAR_ISLAND EQU $08
-INDIGO_PLATEAU EQU $09
-SAFFRON_CITY EQU $0A
-; unused EQU $0B
-ROUTE_1 EQU $0C
-ROUTE_2 EQU $0D
-ROUTE_3 EQU $0E
-ROUTE_4 EQU $0F
-ROUTE_5 EQU $10
-ROUTE_6 EQU $11
-ROUTE_7 EQU $12
-ROUTE_8 EQU $13
-ROUTE_9 EQU $14
-ROUTE_10 EQU $15
-ROUTE_11 EQU $16
-ROUTE_12 EQU $17
-ROUTE_13 EQU $18
-ROUTE_14 EQU $19
-ROUTE_15 EQU $1A
-ROUTE_16 EQU $1B
-ROUTE_17 EQU $1C
-ROUTE_18 EQU $1D
-ROUTE_19 EQU $1E
-ROUTE_20 EQU $1F
-ROUTE_21 EQU $20
-ROUTE_22 EQU $21
-ROUTE_23 EQU $22
-ROUTE_24 EQU $23
-ROUTE_25 EQU $24
-REDS_HOUSE_1F EQU $25
-REDS_HOUSE_2F EQU $26
-BLUES_HOUSE EQU $27
-OAKS_LAB EQU $28
-VIRIDIAN_POKECENTER EQU $29
-VIRIDIAN_MART EQU $2A
-VIRIDIAN_SCHOOL EQU $2B
-VIRIDIAN_HOUSE EQU $2C
-VIRIDIAN_GYM EQU $2D
-DIGLETTS_CAVE_EXIT EQU $2E
-VIRIDIAN_FOREST_EXIT EQU $2F
-ROUTE_2_HOUSE EQU $30
-ROUTE_2_GATE EQU $31
-VIRIDIAN_FOREST_ENTRANCE EQU $32
-VIRIDIAN_FOREST EQU $33
-MUSEUM_1F EQU $34
-MUSEUM_2F EQU $35
-PEWTER_GYM EQU $36
-PEWTER_HOUSE_1 EQU $37
-PEWTER_MART EQU $38
-PEWTER_HOUSE_2 EQU $39
-PEWTER_POKECENTER EQU $3A
-MT_MOON_1 EQU $3B
-MT_MOON_2 EQU $3C
-MT_MOON_3 EQU $3D
-TRASHED_HOUSE EQU $3E
-CERULEAN_HOUSE EQU $3F
-CERULEAN_POKECENTER EQU $40
-CERULEAN_GYM EQU $41
-BIKE_SHOP EQU $42
-CERULEAN_MART EQU $43
-MT_MOON_POKECENTER EQU $44
-;copy of TRASHED_HOUSE EQU $45
-ROUTE_5_GATE EQU $46
-PATH_ENTRANCE_ROUTE_5 EQU $47
-DAYCAREM EQU $48
-ROUTE_6_GATE EQU $49
-PATH_ENTRANCE_ROUTE_6 EQU $4A
-;copy of PATH_ENTRANCE_ROUTE_6 EQU $4B
-ROUTE_7_GATE EQU $4C
-PATH_ENTRANCE_ROUTE_7 EQU $4D
-;copy of PATH_ENTRANCE_ROUTE_7 EQU $4E
-ROUTE_8_GATE EQU $4F
-PATH_ENTRANCE_ROUTE_8 EQU $50
-ROCK_TUNNEL_POKECENTER EQU $51
-ROCK_TUNNEL_1 EQU $52
-POWER_PLANT EQU $53
-ROUTE_11_GATE_1F EQU $54
-DIGLETTS_CAVE_ENTRANCE EQU $55
-ROUTE_11_GATE_2F EQU $56
-ROUTE_12_GATE EQU $57
-BILLS_HOUSE EQU $58
-VERMILION_POKECENTER EQU $59
-POKEMON_FAN_CLUB EQU $5A
-VERMILION_MART EQU $5B
-VERMILION_GYM EQU $5C
-VERMILION_HOUSE_1 EQU $5D
-VERMILION_DOCK EQU $5E
-SS_ANNE_1 EQU $5F
-SS_ANNE_2 EQU $60
-SS_ANNE_3 EQU $61
-SS_ANNE_4 EQU $62
-SS_ANNE_5 EQU $63
-SS_ANNE_6 EQU $64
-SS_ANNE_7 EQU $65
-SS_ANNE_8 EQU $66
-SS_ANNE_9 EQU $67
-SS_ANNE_10 EQU $68
-;EQU $69
-;EQU $6A
-;EQU $6B
-VICTORY_ROAD_1 EQU $6C
-;EQU $6D
-;EQU $6E
-;EQU $6F
-;EQU $70
-LANCES_ROOM EQU $71
-;EQU $72
-;EQU $73
-;EQU $74
-;EQU $75
-HALL_OF_FAME EQU $76
-UNDERGROUND_PATH_NS EQU $77
-CHAMPIONS_ROOM EQU $78
-UNDERGROUND_PATH_WE EQU $79
-CELADON_MART_1 EQU $7A
-CELADON_MART_2 EQU $7B
-CELADON_MART_3 EQU $7C
-CELADON_MART_4 EQU $7D
-CELADON_MART_ROOF EQU $7E
-CELADON_MART_ELEVATOR EQU $7F
-CELADON_MANSION_1 EQU $80
-CELADON_MANSION_2 EQU $81
-CELADON_MANSION_3 EQU $82
-CELADON_MANSION_4 EQU $83
-CELADON_MANSION_5 EQU $84
-CELADON_POKECENTER EQU $85
-CELADON_GYM EQU $86
-GAME_CORNER EQU $87
-CELADON_MART_5 EQU $88
-CELADONPRIZE_ROOM EQU $89
-CELADON_DINER EQU $8A
-CELADON_HOUSE EQU $8B
-CELADON_HOTEL EQU $8C
-LAVENDER_POKECENTER EQU $8D
-POKEMONTOWER_1 EQU $8E
-POKEMONTOWER_2 EQU $8F
-POKEMONTOWER_3 EQU $90
-POKEMONTOWER_4 EQU $91
-POKEMONTOWER_5 EQU $92
-POKEMONTOWER_6 EQU $93
-POKEMONTOWER_7 EQU $94
-LAVENDER_HOUSE_1 EQU $95
-LAVENDER_MART EQU $96
-LAVENDER_HOUSE_2 EQU $97
-FUCHSIA_MART EQU $98
-FUCHSIA_HOUSE_1 EQU $99
-FUCHSIA_POKECENTER EQU $9A
-FUCHSIA_HOUSE_2 EQU $9B
-SAFARIZONEENTRANCE EQU $9C
-FUCHSIA_GYM EQU $9D
-FUCHSIAMEETINGROOM EQU $9E
-SEAFOAM_ISLANDS_2 EQU $9F
-SEAFOAM_ISLANDS_3 EQU $A0
-SEAFOAM_ISLANDS_4 EQU $A1
-SEAFOAM_ISLANDS_5 EQU $A2
-VERMILION_HOUSE_2 EQU $A3
-FUCHSIA_HOUSE_3 EQU $A4
-MANSION_1 EQU $A5
-CINNABAR_GYM EQU $A6
-CINNABAR_LAB_1 EQU $A7
-CINNABAR_LAB_2 EQU $A8
-CINNABAR_LAB_3 EQU $A9
-CINNABAR_LAB_4 EQU $AA
-CINNABAR_POKECENTER EQU $AB
-CINNABAR_MART EQU $AC
-;copy of CINNABAR_MART EQU $AD
-INDIGO_PLATEAU_LOBBY EQU $AE
-COPYCATS_HOUSE_1F EQU $AF
-COPYCATS_HOUSE_2F EQU $B0
-FIGHTINGDOJO EQU $B1
-SAFFRON_GYM EQU $B2
-SAFFRON_HOUSE_1 EQU $B3
-SAFFRON_MART EQU $B4
-SILPH_CO_1F EQU $B5
-SAFFRON_POKECENTER EQU $B6
-SAFFRON_HOUSE_2 EQU $B7
-ROUTE_15_GATE_1F EQU $B8
-ROUTE_15_GATE_2F EQU $B9
-ROUTE_16_GATE_1F EQU $BA
-ROUTE_16_GATE_2F EQU $BB
-ROUTE_16_HOUSE EQU $BC
-ROUTE_12_HOUSE EQU $BD
-ROUTE_18_GATE_1F EQU $BE
-ROUTE_18_GATE_2F EQU $BF
-SEAFOAM_ISLANDS_1 EQU $C0
-ROUTE_22_GATE EQU $C1
-VICTORY_ROAD_2 EQU $C2
-ROUTE_12_GATE_2F EQU $C3
-VERMILION_HOUSE_3 EQU $C4
-DIGLETTS_CAVE EQU $C5
-VICTORY_ROAD_3 EQU $C6
-ROCKET_HIDEOUT_1 EQU $C7
-ROCKET_HIDEOUT_2 EQU $C8
-ROCKET_HIDEOUT_3 EQU $C9
-ROCKET_HIDEOUT_4 EQU $CA
-ROCKET_HIDEOUT_ELEVATOR EQU $CB
-;EQU $CC
-;EQU $CD
-;EQU $CE
-SILPH_CO_2F EQU $CF
-SILPH_CO_3F EQU $D0
-SILPH_CO_4F EQU $D1
-SILPH_CO_5F EQU $D2
-SILPH_CO_6F EQU $D3
-SILPH_CO_7F EQU $D4
-SILPH_CO_8F EQU $D5
-MANSION_2 EQU $D6
-MANSION_3 EQU $D7
-MANSION_4 EQU $D8
-SAFARI_ZONE_EAST EQU $D9
-SAFARI_ZONE_NORTH EQU $DA
-SAFARI_ZONE_WEST EQU $DB
-SAFARI_ZONE_CENTER EQU $DC
-SAFARI_ZONE_REST_HOUSE_1 EQU $DD
-SAFARI_ZONE_SECRET_HOUSE EQU $DE
-SAFARI_ZONE_REST_HOUSE_2 EQU $DF
-SAFARI_ZONE_REST_HOUSE_3 EQU $E0
-SAFARI_ZONE_REST_HOUSE_4 EQU $E1
-UNKNOWN_DUNGEON_2 EQU $E2
-UNKNOWN_DUNGEON_3 EQU $E3
-UNKNOWN_DUNGEON_1 EQU $E4
-NAME_RATERS_HOUSE EQU $E5
-CERULEAN_HOUSE_3 EQU $E6
-;EQU $E7
-ROCK_TUNNEL_2 EQU $E8
-SILPH_CO_9F EQU $E9
-SILPH_CO_10F EQU $EA
-SILPH_CO_11F EQU $EB
-SILPH_CO_ELEVATOR EQU $EC
-;EQU $ED
-;EQU $EE
-BATTLE_CENTER EQU $EF
-TRADE_CENTER EQU $F0
-;EQU $F1
-;EQU $F2
-;EQU $F3
-;EQU $F4
-LORELEIS_ROOM EQU $F5
-BRUNOS_ROOM EQU $F6
-AGATHAS_ROOM EQU $F7
-BEACH_HOUSE EQU $F8 ; Yellow only
-
-; Evolution types
-EV_LEVEL EQU 1
-EV_ITEM EQU 2
-EV_TRADE EQU 3
-
-; 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
-
-EAST EQU 1
-WEST EQU 2
-SOUTH EQU 4
-NORTH EQU 8
-
-; different kinds of people events
-ITEM EQU $80
-TRAINER EQU $40
-
-; status ailments (masks)
-SLP EQU %00000111
-PSN EQU %00001000
-BRN EQU %00010000
-FRZ EQU %00100000
-PAR EQU %01000000
-
-; pokemon's overworld sprites
-SPRITE_MON EQU $0
-SPRITE_BALL_M EQU $1
-SPRITE_HELIX EQU $2
-SPRITE_FAIRY EQU $3
-SPRITE_BIRD_M EQU $4
-SPRITE_WATER EQU $5
-SPRITE_BUG EQU $6
-SPRITE_GRASS EQU $7
-SPRITE_SNAKE EQU $8
-SPRITE_QUADRUPED EQU $9
-
-; overworld sprites
-SPRITE_RED EQU $01
-SPRITE_BLUE EQU $02
-SPRITE_OAK EQU $03
-SPRITE_BUG_CATCHER EQU $04
-SPRITE_SLOWBRO EQU $05
-SPRITE_LASS EQU $06
-SPRITE_BLACK_HAIR_BOY_1 EQU $07
-SPRITE_LITTLE_GIRL EQU $08
-SPRITE_BIRD EQU $09
-SPRITE_FAT_BALD_GUY EQU $0a
-SPRITE_GAMBLER EQU $0b
-SPRITE_BLACK_HAIR_BOY_2 EQU $0c
-SPRITE_GIRL EQU $0d
-SPRITE_HIKER EQU $0e
-SPRITE_FOULARD_WOMAN EQU $0f
-SPRITE_GENTLEMAN EQU $10
-SPRITE_DAISY EQU $11
-SPRITE_BIKER EQU $12
-SPRITE_SAILOR EQU $13
-SPRITE_COOK EQU $14
-SPRITE_BIKE_SHOP_GUY EQU $15
-SPRITE_MR_FUJI EQU $16
-SPRITE_GIOVANNI EQU $17
-SPRITE_ROCKET EQU $18
-SPRITE_MEDIUM EQU $19
-SPRITE_WAITER EQU $1a
-SPRITE_ERIKA EQU $1b
-SPRITE_MOM_GEISHA EQU $1c
-SPRITE_BRUNETTE_GIRL EQU $1d
-SPRITE_LANCE EQU $1e
-SPRITE_OAK_SCIENTIST_AIDE EQU $1f
-SPRITE_OAK_AIDE EQU $20
-SPRITE_ROCKER EQU $21
-SPRITE_SWIMMER EQU $22
-SPRITE_WHITE_PLAYER EQU $23
-SPRITE_GYM_HELPER EQU $24
-SPRITE_OLD_PERSON EQU $25
-SPRITE_MART_GUY EQU $26
-SPRITE_FISHER EQU $27
-SPRITE_OLD_MEDIUM_WOMAN EQU $28
-SPRITE_NURSE EQU $29
-SPRITE_CABLE_CLUB_WOMAN EQU $2a
-SPRITE_MR_MASTERBALL EQU $2b
-SPRITE_LAPRAS_GIVER EQU $2c
-SPRITE_WARDEN EQU $2d
-SPRITE_SS_CAPTAIN EQU $2e
-SPRITE_FISHER2 EQU $2f
-SPRITE_BLACKBELT EQU $30
-SPRITE_GUARD EQU $31
-;SPRITE_COP_GUARD EQU $32
-SPRITE_MOM EQU $33
-SPRITE_BALDING_GUY EQU $34
-SPRITE_YOUNG_BOY EQU $35
-SPRITE_GAMEBOY_KID EQU $36
-SPRITE_GAMEBOY_KID_COPY EQU $37
-SPRITE_CLEFAIRY EQU $38
-SPRITE_AGATHA EQU $39
-SPRITE_BRUNO EQU $3a
-SPRITE_LORELEI EQU $3b
-SPRITE_SEEL EQU $3c
-SPRITE_BALL EQU $3d
-SPRITE_OMANYTE EQU $3e
-SPRITE_BOULDER EQU $3f
-SPRITE_PAPER_SHEET EQU $40
-SPRITE_BOOK_MAP_DEX EQU $41
-SPRITE_CLIPBOARD EQU $42
-SPRITE_SNORLAX EQU $43
-SPRITE_OLD_AMBER_COPY EQU $44
-SPRITE_OLD_AMBER EQU $45
-SPRITE_LYING_OLD_MAN_UNUSED_1 EQU $46
-SPRITE_LYING_OLD_MAN_UNUSED_2 EQU $47
-SPRITE_LYING_OLD_MAN EQU $48
-
-; Map sizes (y, x)
-
-; PalletTown_h map_id=0
-PALLET_TOWN_HEIGHT EQU $09
-PALLET_TOWN_WIDTH EQU $0a
-
-; ViridianCity_h map_id=1
-VIRIDIAN_CITY_HEIGHT EQU $12
-VIRIDIAN_CITY_WIDTH EQU $14
-
-; PewterCity_h map_id=2
-PEWTER_CITY_HEIGHT EQU $12
-PEWTER_CITY_WIDTH EQU $14
-
-; CeruleanCity_h map_id=3
-CERULEAN_CITY_HEIGHT EQU $12
-CERULEAN_CITY_WIDTH EQU $14
-
-; LavenderTown_h map_id=4
-LAVENDER_TOWN_HEIGHT EQU $09
-LAVENDER_TOWN_WIDTH EQU $0a
-
-; VermilionCity_h map_id=5
-VERMILION_CITY_HEIGHT EQU $12
-VERMILION_CITY_WIDTH EQU $14
-
-; CeladonCity_h map_id=6
-CELADON_CITY_HEIGHT EQU $12
-CELADON_CITY_WIDTH EQU $19
-
-; FuchsiaCity_h map_id=7
-FUCHSIA_CITY_HEIGHT EQU $12
-FUCHSIA_CITY_WIDTH EQU $14
-
-; CinnabarIsland_h map_id=8
-CINNABAR_ISLAND_HEIGHT EQU $09
-CINNABAR_ISLAND_WIDTH EQU $0a
-
-; IndigoPlateau_h map_id=9
-INDIGO_PLATEAU_HEIGHT EQU $09
-INDIGO_PLATEAU_WIDTH EQU $0a
-
-; SaffronCity_h map_id=10
-SAFFRON_CITY_HEIGHT EQU $12
-SAFFRON_CITY_WIDTH EQU $14
-
-; Route1_h map_id=12
-ROUTE_1_HEIGHT EQU $12
-ROUTE_1_WIDTH EQU $0a
-
-; Route2_h map_id=13
-ROUTE_2_HEIGHT EQU $24
-ROUTE_2_WIDTH EQU $0a
-
-; Route3_h map_id=14
-ROUTE_3_HEIGHT EQU $09
-ROUTE_3_WIDTH EQU $23
-
-; Route4_h map_id=15
-ROUTE_4_HEIGHT EQU $09
-ROUTE_4_WIDTH EQU $2d
-
-; Route5_h map_id=16
-ROUTE_5_HEIGHT EQU $12
-ROUTE_5_WIDTH EQU $0a
-
-; Route6_h map_id=17
-ROUTE_6_HEIGHT EQU $12
-ROUTE_6_WIDTH EQU $0a
-
-; Route7_h map_id=18
-ROUTE_7_HEIGHT EQU $09
-ROUTE_7_WIDTH EQU $0a
-
-; Route8_h map_id=19
-ROUTE_8_HEIGHT EQU $09
-ROUTE_8_WIDTH EQU $1e
-
-; Route9_h map_id=20
-ROUTE_9_HEIGHT EQU $09
-ROUTE_9_WIDTH EQU $1e
-
-; Route10_h map_id=21
-ROUTE_10_HEIGHT EQU $24
-ROUTE_10_WIDTH EQU $0a
-
-; Route11_h map_id=22
-ROUTE_11_HEIGHT EQU $09
-ROUTE_11_WIDTH EQU $1e
-
-; Route12_h map_id=23
-ROUTE_12_HEIGHT EQU $36
-ROUTE_12_WIDTH EQU $0a
-
-; Route13_h map_id=24
-ROUTE_13_HEIGHT EQU $09
-ROUTE_13_WIDTH EQU $1e
-
-; Route14_h map_id=25
-ROUTE_14_HEIGHT EQU $1b
-ROUTE_14_WIDTH EQU $0a
-
-; Route15_h map_id=26
-ROUTE_15_HEIGHT EQU $09
-ROUTE_15_WIDTH EQU $1e
-
-; Route16_h map_id=27
-ROUTE_16_HEIGHT EQU $09
-ROUTE_16_WIDTH EQU $14
-
-; Route17_h map_id=28
-ROUTE_17_HEIGHT EQU $48
-ROUTE_17_WIDTH EQU $0a
-
-; Route18_h map_id=29
-ROUTE_18_HEIGHT EQU $09
-ROUTE_18_WIDTH EQU $19
-
-; Route19_h map_id=30
-ROUTE_19_HEIGHT EQU $1b
-ROUTE_19_WIDTH EQU $0a
-
-; Route20_h map_id=31
-ROUTE_20_HEIGHT EQU $09
-ROUTE_20_WIDTH EQU $32
-
-; Route21_h map_id=32
-ROUTE_21_HEIGHT EQU $2d
-ROUTE_21_WIDTH EQU $0a
-
-; Route22_h map_id=33
-ROUTE_22_HEIGHT EQU $09
-ROUTE_22_WIDTH EQU $14
-
-; Route23_h map_id=34
-ROUTE_23_HEIGHT EQU $48
-ROUTE_23_WIDTH EQU $0a
-
-; Route24_h map_id=35
-ROUTE_24_HEIGHT EQU $12
-ROUTE_24_WIDTH EQU $0a
-
-; Route25_h map_id=36
-ROUTE_25_HEIGHT EQU $09
-ROUTE_25_WIDTH EQU $1e
-
-; RedsHouse1F_h map_id=37
-REDS_HOUSE_1F_HEIGHT EQU $04
-REDS_HOUSE_1F_WIDTH EQU $04
-
-; RedsHouse2F_h map_id=38
-REDS_HOUSE_2F_HEIGHT EQU $04
-REDS_HOUSE_2F_WIDTH EQU $04
-
-; BluesHouse_h map_id=39
-BLUES_HOUSE_HEIGHT EQU $04
-BLUES_HOUSE_WIDTH EQU $04
-
-; OaksLab_h map_id=40
-OAKS_LAB_HEIGHT EQU $06
-OAKS_LAB_WIDTH EQU $05
-
-; ViridianPokeCenter_h map_id=41
-VIRIDIAN_POKECENTER_HEIGHT EQU $04
-VIRIDIAN_POKECENTER_WIDTH EQU $07
-
-; ViridianMart_h map_id=42
-VIRIDIAN_MART_HEIGHT EQU $04
-VIRIDIAN_MART_WIDTH EQU $04
-
-; School_h map_id=43
-VIRIDIAN_SCHOOL_HEIGHT EQU $04
-VIRIDIAN_SCHOOL_WIDTH EQU $04
-
-; ViridianHouse_h map_id=44
-VIRIDIAN_HOUSE_HEIGHT EQU $04
-VIRIDIAN_HOUSE_WIDTH EQU $04
-
-; ViridianGym_h map_id=45
-VIRIDIAN_GYM_HEIGHT EQU $09
-VIRIDIAN_GYM_WIDTH EQU $0a
-
-; DiglettsCaveRoute2_h map_id=46
-DIGLETTS_CAVE_EXIT_HEIGHT EQU $04
-DIGLETTS_CAVE_EXIT_WIDTH EQU $04
-
-; ViridianForestexit_h map_id=47
-VIRIDIAN_FOREST_EXIT_HEIGHT EQU $04
-VIRIDIAN_FOREST_EXIT_WIDTH EQU $05
-
-; Route2House_h map_id=48
-ROUTE_2_HOUSE_HEIGHT EQU $04
-ROUTE_2_HOUSE_WIDTH EQU $04
-
-; Route2Gate_h map_id=49
-ROUTE_2_GATE_HEIGHT EQU $04
-ROUTE_2_GATE_WIDTH EQU $05
-
-; ViridianForestEntrance_h map_id=50
-VIRIDIAN_FOREST_ENTRANCE_HEIGHT EQU $04
-VIRIDIAN_FOREST_ENTRANCE_WIDTH EQU $05
-
-; ViridianForest_h map_id=51
-VIRIDIAN_FOREST_HEIGHT EQU $18
-VIRIDIAN_FOREST_WIDTH EQU $11
-
-; MuseumF1_h map_id=52
-MUSEUM_1F_HEIGHT EQU $04
-MUSEUM_1F_WIDTH EQU $0a
-
-; MuseumF2_h map_id=53
-MUSEUM_2F_HEIGHT EQU $04
-MUSEUM_2F_WIDTH EQU $07
-
-; PewterGym_h map_id=54
-PEWTER_GYM_HEIGHT EQU $07
-PEWTER_GYM_WIDTH EQU $05
-
-; PewterHouse1_h map_id=55
-PEWTER_HOUSE_1_HEIGHT EQU $04
-PEWTER_HOUSE_1_WIDTH EQU $04
-
-; PewterMart_h map_id=56
-PEWTER_MART_HEIGHT EQU $04
-PEWTER_MART_WIDTH EQU $04
-
-; PewterHouse2_h map_id=57
-PEWTER_HOUSE_2_HEIGHT EQU $04
-PEWTER_HOUSE_2_WIDTH EQU $04
-
-; PewterPokecenter_h map_id=58
-PEWTER_POKECENTER_HEIGHT EQU $04
-PEWTER_POKECENTER_WIDTH EQU $07
-
-; MtMoon1_h map_id=59
-MT_MOON_1_HEIGHT EQU $12
-MT_MOON_1_WIDTH EQU $14
-
-; MtMoon2_h map_id=60
-MT_MOON_2_HEIGHT EQU $0e
-MT_MOON_2_WIDTH EQU $0e
-
-; MtMoon3_h map_id=61
-MT_MOON_3_HEIGHT EQU $12
-MT_MOON_3_WIDTH EQU $14
-
-; CeruleanHouseTrashed_h map_id=62
-TRASHED_HOUSE_HEIGHT EQU $04
-TRASHED_HOUSE_WIDTH EQU $04
-
-; CeruleanHouse_h map_id=63
-CERULEAN_HOUSE_HEIGHT EQU $04
-CERULEAN_HOUSE_WIDTH EQU $04
-
-; CeruleanPokecenter_h map_id=64
-CERULEAN_POKECENTER_HEIGHT EQU $04
-CERULEAN_POKECENTER_WIDTH EQU $07
-
-; CeruleanGym_h map_id=65
-CERULEAN_GYM_HEIGHT EQU $07
-CERULEAN_GYM_WIDTH EQU $05
-
-; BikeShop_h map_id=66
-BIKE_SHOP_HEIGHT EQU $04
-BIKE_SHOP_WIDTH EQU $04
-
-; CeruleanMart_h map_id=67
-CERULEAN_MART_HEIGHT EQU $04
-CERULEAN_MART_WIDTH EQU $04
-
-; MtMoonPokecenter_h map_id=68
-MT_MOON_POKECENTER_HEIGHT EQU $04
-MT_MOON_POKECENTER_WIDTH EQU $07
-
-; Route5Gate_h map_id=70
-ROUTE_5_GATE_HEIGHT EQU $03
-ROUTE_5_GATE_WIDTH EQU $04
-
-; UndergroundTunnelEntranceRoute5_h map_id=71
-PATH_ENTRANCE_ROUTE_5_HEIGHT EQU $04
-PATH_ENTRANCE_ROUTE_5_WIDTH EQU $04
-
-; DayCareM_h map_id=72
-DAYCAREM_HEIGHT EQU $04
-DAYCAREM_WIDTH EQU $04
-
-; Route6Gate_h map_id=73
-ROUTE_6_GATE_HEIGHT EQU $03
-ROUTE_6_GATE_WIDTH EQU $04
-
-; UndergroundTunnelEntranceRoute6_h map_id=74
-PATH_ENTRANCE_ROUTE_6_HEIGHT EQU $04
-PATH_ENTRANCE_ROUTE_6_WIDTH EQU $04
-
-; Route7Gate_h map_id=76
-ROUTE_7_GATE_HEIGHT EQU $04
-ROUTE_7_GATE_WIDTH EQU $03
-
-; UndergroundPathEntranceRoute7_h map_id=77
-PATH_ENTRANCE_ROUTE_7_HEIGHT EQU $04
-PATH_ENTRANCE_ROUTE_7_WIDTH EQU $04
-
-; Route8Gate_h map_id=79
-ROUTE_8_GATE_HEIGHT EQU $04
-ROUTE_8_GATE_WIDTH EQU $03
-
-; UndergroundPathEntranceRoute8_h map_id=80
-PATH_ENTRANCE_ROUTE_8_HEIGHT EQU $04
-PATH_ENTRANCE_ROUTE_8_WIDTH EQU $04
-
-; RockTunnelPokecenter_h map_id=81
-ROCK_TUNNEL_POKECENTER_HEIGHT EQU $04
-ROCK_TUNNEL_POKECENTER_WIDTH EQU $07
-
-; RockTunnel1_h map_id=82
-ROCK_TUNNEL_1_HEIGHT EQU $12
-ROCK_TUNNEL_1_WIDTH EQU $14
-
-; PowerPlant_h map_id=83
-POWER_PLANT_HEIGHT EQU $12
-POWER_PLANT_WIDTH EQU $14
-
-; Route11Gate_h map_id=84
-ROUTE_11_GATE_1F_HEIGHT EQU $05
-ROUTE_11_GATE_1F_WIDTH EQU $04
-
-; DiglettsCaveEntranceRoute11_h map_id=85
-DIGLETTS_CAVE_ENTRANCE_HEIGHT EQU $04
-DIGLETTS_CAVE_ENTRANCE_WIDTH EQU $04
-
-; Route11GateUpstairs_h map_id=86
-ROUTE_11_GATE_2F_HEIGHT EQU $04
-ROUTE_11_GATE_2F_WIDTH EQU $04
-
-; Route12Gate_h map_id=87
-ROUTE_12_GATE_HEIGHT EQU $04
-ROUTE_12_GATE_WIDTH EQU $05
-
-; BillsHouse_h map_id=88
-BILLS_HOUSE_HEIGHT EQU $04
-BILLS_HOUSE_WIDTH EQU $04
-
-; VermilionPokecenter_h map_id=89
-VERMILION_POKECENTER_HEIGHT EQU $04
-VERMILION_POKECENTER_WIDTH EQU $07
-
-; FanClub_h map_id=90
-POKEMON_FAN_CLUB_HEIGHT EQU $04
-POKEMON_FAN_CLUB_WIDTH EQU $04
-
-; VermilionMart_h map_id=91
-VERMILION_MART_HEIGHT EQU $04
-VERMILION_MART_WIDTH EQU $04
-
-; VermilionGym_h map_id=92
-VERMILION_GYM_HEIGHT EQU $09
-VERMILION_GYM_WIDTH EQU $05
-
-; VermilionHouse1_h map_id=93
-VERMILION_HOUSE_1_HEIGHT EQU $04
-VERMILION_HOUSE_1_WIDTH EQU $04
-
-; VermilionDock_h map_id=94
-VERMILION_DOCK_HEIGHT EQU $06
-VERMILION_DOCK_WIDTH EQU $0e
-
-; SSAnne1_h map_id=95
-SS_ANNE_1_HEIGHT EQU $09
-SS_ANNE_1_WIDTH EQU $14
-
-; SSAnne2_h map_id=96
-SS_ANNE_2_HEIGHT EQU $09
-SS_ANNE_2_WIDTH EQU $14
-
-; SSAnne3_h map_id=97
-SS_ANNE_3_HEIGHT EQU $03
-SS_ANNE_3_WIDTH EQU $0a
-
-; SSAnne4_h map_id=98
-SS_ANNE_4_HEIGHT EQU $04
-SS_ANNE_4_WIDTH EQU $0f
-
-; SSAnne5_h map_id=99
-SS_ANNE_5_HEIGHT EQU $07
-SS_ANNE_5_WIDTH EQU $0a
-
-; SSAnne6_h map_id=100
-SS_ANNE_6_HEIGHT EQU $08
-SS_ANNE_6_WIDTH EQU $07
-
-; SSAnne7_h map_id=101
-SS_ANNE_7_HEIGHT EQU $04
-SS_ANNE_7_WIDTH EQU $03
-
-; SSAnne8_h map_id=102
-SS_ANNE_8_HEIGHT EQU $08
-SS_ANNE_8_WIDTH EQU $0c
-
-; SSAnne9_h map_id=103
-SS_ANNE_9_HEIGHT EQU $08
-SS_ANNE_9_WIDTH EQU $0c
-
-; SSAnne10_h map_id=104
-SS_ANNE_10_HEIGHT EQU $08
-SS_ANNE_10_WIDTH EQU $0c
-
-; VictoryRoad1_h map_id=108
-VICTORY_ROAD_1_HEIGHT EQU $09
-VICTORY_ROAD_1_WIDTH EQU $0a
-
-; Lance_h map_id=113
-LANCES_ROOM_HEIGHT EQU $0d
-LANCES_ROOM_WIDTH EQU $0d
-
-; HallofFameRoom_h map_id=118
-HALL_OF_FAME_HEIGHT EQU $04
-HALL_OF_FAME_WIDTH EQU $05
-
-; UndergroundPathNS_h map_id=119
-UNDERGROUND_PATH_NS_HEIGHT EQU $18
-UNDERGROUND_PATH_NS_WIDTH EQU $04
-
-; Gary_h map_id=120
-CHAMPIONS_ROOM_HEIGHT EQU $04
-CHAMPIONS_ROOM_WIDTH EQU $04
-
-; UndergroundPathWE_h map_id=121
-UNDERGROUND_PATH_WE_HEIGHT EQU $04
-UNDERGROUND_PATH_WE_WIDTH EQU $19
-
-; CeladonMart1_h map_id=122
-CELADON_MART_1_HEIGHT EQU $04
-CELADON_MART_1_WIDTH EQU $0a
-
-; CeladonMart2_h map_id=123
-CELADON_MART_2_HEIGHT EQU $04
-CELADON_MART_2_WIDTH EQU $0a
-
-; CeladonMart3_h map_id=124
-CELADON_MART_3_HEIGHT EQU $04
-CELADON_MART_3_WIDTH EQU $0a
-
-; CeladonMart4_h map_id=125
-CELADON_MART_4_HEIGHT EQU $04
-CELADON_MART_4_WIDTH EQU $0a
-
-; CeladonMartRoof_h map_id=126
-CELADON_MART_ROOF_HEIGHT EQU $04
-CELADON_MART_ROOF_WIDTH EQU $0a
-
-; CeladonMartElevator_h map_id=127
-CELADON_MART_ELEVATOR_HEIGHT EQU $02
-CELADON_MART_ELEVATOR_WIDTH EQU $02
-
-; CeladonMansion1_h map_id=128
-CELADON_MANSION_1_HEIGHT EQU $06
-CELADON_MANSION_1_WIDTH EQU $04
-
-; CeladonMansion2_h map_id=129
-CELADON_MANSION_2_HEIGHT EQU $06
-CELADON_MANSION_2_WIDTH EQU $04
-
-; CeladonMansion3_h map_id=130
-CELADON_MANSION_3_HEIGHT EQU $06
-CELADON_MANSION_3_WIDTH EQU $04
-
-; CeladonMansion4_h map_id=131
-CELADON_MANSION_4_HEIGHT EQU $06
-CELADON_MANSION_4_WIDTH EQU $04
-
-; CeladonMansion5_h map_id=132
-CELADON_MANSION_5_HEIGHT EQU $04
-CELADON_MANSION_5_WIDTH EQU $04
-
-; CeladonPokecenter_h map_id=133
-CELADON_POKECENTER_HEIGHT EQU $04
-CELADON_POKECENTER_WIDTH EQU $07
-
-; CeladonGym_h map_id=134
-CELADON_GYM_HEIGHT EQU $09
-CELADON_GYM_WIDTH EQU $05
-
-; CeladonGameCorner_h map_id=135
-GAME_CORNER_HEIGHT EQU $09
-GAME_CORNER_WIDTH EQU $0a
-
-; CeladonMart5_h map_id=136
-CELADON_MART_5_HEIGHT EQU $04
-CELADON_MART_5_WIDTH EQU $0a
-
-; CeladonPrizeRoom_h map_id=137
-CELADONPRIZE_ROOM_HEIGHT EQU $04
-CELADONPRIZE_ROOM_WIDTH EQU $05
-
-; CeladonDiner_h map_id=138
-CELADON_DINER_HEIGHT EQU $04
-CELADON_DINER_WIDTH EQU $05
-
-; CeladonHouse_h map_id=139
-CELADON_HOUSE_HEIGHT EQU $04
-CELADON_HOUSE_WIDTH EQU $04
-
-; CeladonHotel_h map_id=140
-CELADONHOTEL_HEIGHT EQU $04
-CELADONHOTEL_WIDTH EQU $07
-
-; LavenderPokecenter_h map_id=141
-LAVENDER_POKECENTER_HEIGHT EQU $04
-LAVENDER_POKECENTER_WIDTH EQU $07
-
-; PokemonTower1_h map_id=142
-POKEMONTOWER_1_HEIGHT EQU $09
-POKEMONTOWER_1_WIDTH EQU $0a
-
-; PokemonTower2_h map_id=143
-POKEMONTOWER_2_HEIGHT EQU $09
-POKEMONTOWER_2_WIDTH EQU $0a
-
-; PokemonTower3_h map_id=144
-POKEMONTOWER_3_HEIGHT EQU $09
-POKEMONTOWER_3_WIDTH EQU $0a
-
-; PokemonTower4_h map_id=145
-POKEMONTOWER_4_HEIGHT EQU $09
-POKEMONTOWER_4_WIDTH EQU $0a
-
-; PokemonTower5_h map_id=146
-POKEMONTOWER_5_HEIGHT EQU $09
-POKEMONTOWER_5_WIDTH EQU $0a
-
-; PokemonTower6_h map_id=147
-POKEMONTOWER_6_HEIGHT EQU $09
-POKEMONTOWER_6_WIDTH EQU $0a
-
-; PokemonTower7_h map_id=148
-POKEMONTOWER_7_HEIGHT EQU $09
-POKEMONTOWER_7_WIDTH EQU $0a
-
-; LavenderHouse1_h map_id=149
-LAVENDER_HOUSE_1_HEIGHT EQU $04
-LAVENDER_HOUSE_1_WIDTH EQU $04
-
-; LavenderMart_h map_id=150
-LAVENDER_MART_HEIGHT EQU $04
-LAVENDER_MART_WIDTH EQU $04
-
-; LavenderHouse2_h map_id=151
-LAVENDER_HOUSE_2_HEIGHT EQU $04
-LAVENDER_HOUSE_2_WIDTH EQU $04
-
-; FuchsiaMart_h map_id=152
-FUCHSIA_MART_HEIGHT EQU $04
-FUCHSIA_MART_WIDTH EQU $04
-
-; FuchsiaHouse1_h map_id=153
-FUCHSIA_HOUSE_1_HEIGHT EQU $04
-FUCHSIA_HOUSE_1_WIDTH EQU $04
-
-; FuchsiaPokecenter_h map_id=154
-FUCHSIA_POKECENTER_HEIGHT EQU $04
-FUCHSIA_POKECENTER_WIDTH EQU $07
-
-; FuchsiaHouse2_h map_id=155
-FUCHSIA_HOUSE_2_HEIGHT EQU $04
-FUCHSIA_HOUSE_2_WIDTH EQU $05
-
-; SafariZoneEntrance_h map_id=156
-SAFARIZONEENTRANCE_HEIGHT EQU $03
-SAFARIZONEENTRANCE_WIDTH EQU $04
-
-; FuchsiaGym_h map_id=157
-FUCHSIA_GYM_HEIGHT EQU $09
-FUCHSIA_GYM_WIDTH EQU $05
-
-; FuchsiaMeetingRoom_h map_id=158
-FUCHSIAMEETINGROOM_HEIGHT EQU $04
-FUCHSIAMEETINGROOM_WIDTH EQU $07
-
-; SeafoamIslands2_h map_id=159
-SEAFOAM_ISLANDS_2_HEIGHT EQU $09
-SEAFOAM_ISLANDS_2_WIDTH EQU $0f
-
-; SeafoamIslands3_h map_id=160
-SEAFOAM_ISLANDS_3_HEIGHT EQU $09
-SEAFOAM_ISLANDS_3_WIDTH EQU $0f
-
-; SeafoamIslands4_h map_id=161
-SEAFOAM_ISLANDS_4_HEIGHT EQU $09
-SEAFOAM_ISLANDS_4_WIDTH EQU $0f
-
-; SeafoamIslands5_h map_id=162
-SEAFOAM_ISLANDS_5_HEIGHT EQU $09
-SEAFOAM_ISLANDS_5_WIDTH EQU $0f
-
-; VermilionHouse2_h map_id=163
-VERMILION_HOUSE_2_HEIGHT EQU $04
-VERMILION_HOUSE_2_WIDTH EQU $04
-
-; FuchsiaHouse3_h map_id=164
-FUCHSIA_HOUSE_3_HEIGHT EQU $04
-FUCHSIA_HOUSE_3_WIDTH EQU $04
-
-; Mansion1_h map_id=165
-MANSION_1_HEIGHT EQU $0e
-MANSION_1_WIDTH EQU $0f
-
-; CinnabarGym_h map_id=166
-CINNABAR_GYM_HEIGHT EQU $09
-CINNABAR_GYM_WIDTH EQU $0a
-
-; Lab1_h map_id=167
-CINNABAR_LAB_1_HEIGHT EQU $04
-CINNABAR_LAB_1_WIDTH EQU $09
-
-; Lab2_h map_id=168
-CINNABAR_LAB_2_HEIGHT EQU $04
-CINNABAR_LAB_2_WIDTH EQU $04
-
-; Lab3_h map_id=169
-CINNABAR_LAB_3_HEIGHT EQU $04
-CINNABAR_LAB_3_WIDTH EQU $04
-
-; Lab4_h map_id=170
-CINNABAR_LAB_4_HEIGHT EQU $04
-CINNABAR_LAB_4_WIDTH EQU $04
-
-; CinnabarPokecenter_h map_id=171
-CINNABAR_POKECENTER_HEIGHT EQU $04
-CINNABAR_POKECENTER_WIDTH EQU $07
-
-; CinnabarMart_h map_id=172
-CINNABAR_MART_HEIGHT EQU $04
-CINNABAR_MART_WIDTH EQU $04
-
-; IndigoPlateauLobby_h map_id=174
-INDIGO_PLATEAU_LOBBY_HEIGHT EQU $06
-INDIGO_PLATEAU_LOBBY_WIDTH EQU $08
-
-; CopycatsHouseF1_h map_id=175
-COPYCATS_HOUSE_1F_HEIGHT EQU $04
-COPYCATS_HOUSE_1F_WIDTH EQU $04
-
-; CopycatsHouseF2_h map_id=176
-COPYCATS_HOUSE_2F_HEIGHT EQU $04
-COPYCATS_HOUSE_2F_WIDTH EQU $04
-
-; FightingDojo_h map_id=177
-FIGHTINGDOJO_HEIGHT EQU $06
-FIGHTINGDOJO_WIDTH EQU $05
-
-; SaffronGym_h map_id=178
-SAFFRON_GYM_HEIGHT EQU $09
-SAFFRON_GYM_WIDTH EQU $0a
-
-; SaffronHouse1_h map_id=179
-SAFFRON_HOUSE_1_HEIGHT EQU $04
-SAFFRON_HOUSE_1_WIDTH EQU $04
-
-; SaffronMart_h map_id=180
-SAFFRON_MART_HEIGHT EQU $04
-SAFFRON_MART_WIDTH EQU $04
-
-; SilphCo1_h map_id=181
-SILPH_CO_1F_HEIGHT EQU $09
-SILPH_CO_1F_WIDTH EQU $0f
-
-; SaffronPokecenter_h map_id=182
-SAFFRON_POKECENTER_HEIGHT EQU $04
-SAFFRON_POKECENTER_WIDTH EQU $07
-
-; SaffronHouse2_h map_id=183
-SAFFRON_HOUSE_2_HEIGHT EQU $04
-SAFFRON_HOUSE_2_WIDTH EQU $04
-
-; Route15Gate1F_h map_id=184
-ROUTE_15_GATE_1F_HEIGHT EQU $05
-ROUTE_15_GATE_1F_WIDTH EQU $04
-
-; Route15GateUpstairs_h map_id=185
-ROUTE_15_GATE_2F_HEIGHT EQU 4
-ROUTE_15_GATE_2F_WIDTH EQU 4
-
-; Route16GateMap_h map_id=186
-ROUTE_16_GATE_1F_HEIGHT EQU $07
-ROUTE_16_GATE_1F_WIDTH EQU $04
-
-; Route16GateUpstairs_h map_id=187
-ROUTE_16_GATE_2F_HEIGHT EQU $04
-ROUTE_16_GATE_2F_WIDTH EQU $04
-
-; Route16House_h map_id=188
-ROUTE_16_HOUSE_HEIGHT EQU $04
-ROUTE_16_HOUSE_WIDTH EQU $04
-
-; Route12House_h map_id=189
-ROUTE_12_HOUSE_HEIGHT EQU $04
-ROUTE_12_HOUSE_WIDTH EQU $04
-
-; Route18Gate_h map_id=190
-ROUTE_18_GATE_1F_HEIGHT EQU $05
-ROUTE_18_GATE_1F_WIDTH EQU $04
-
-; Route18GateHeader_h map_id=191
-ROUTE_18_GATE_2F_HEIGHT EQU $04
-ROUTE_18_GATE_2F_WIDTH EQU $04
-
-; SeafoamIslands1_h map_id=192
-SEAFOAM_ISLANDS_1_HEIGHT EQU $09
-SEAFOAM_ISLANDS_1_WIDTH EQU $0f
-
-; Route22Gate_h map_id=193
-ROUTE_22_GATE_HEIGHT EQU $04
-ROUTE_22_GATE_WIDTH EQU $05
-
-; VictoryRoad2_h map_id=194
-VICTORY_ROAD_2_HEIGHT EQU $09
-VICTORY_ROAD_2_WIDTH EQU $0f
-
-; Route12GateUpstairs_h map_id=195
-ROUTE_12_GATE_2F_HEIGHT EQU $04
-ROUTE_12_GATE_2F_WIDTH EQU $04
-
-; VermilionHouse3_h map_id=196
-VERMILION_HOUSE_3_HEIGHT EQU $04
-VERMILION_HOUSE_3_WIDTH EQU $04
-
-; DiglettsCave_h map_id=197
-DIGLETTS_CAVE_HEIGHT EQU $12
-DIGLETTS_CAVE_WIDTH EQU $14
-
-; VictoryRoad3_h map_id=198
-VICTORY_ROAD_3_HEIGHT EQU $09
-VICTORY_ROAD_3_WIDTH EQU $0f
-
-; RocketHideout1_h map_id=199
-ROCKET_HIDEOUT_1_HEIGHT EQU $0e
-ROCKET_HIDEOUT_1_WIDTH EQU $0f
-
-; RocketHideout2_h map_id=200
-ROCKET_HIDEOUT_2_HEIGHT EQU $0e
-ROCKET_HIDEOUT_2_WIDTH EQU $0f
-
-; RocketHideout3_h map_id=201
-ROCKET_HIDEOUT_3_HEIGHT EQU $0e
-ROCKET_HIDEOUT_3_WIDTH EQU $0f
-
-; RocketHideout4_h map_id=202
-ROCKET_HIDEOUT_4_HEIGHT EQU $0c
-ROCKET_HIDEOUT_4_WIDTH EQU $0f
-
-; RocketHideoutElevator_h map_id=203
-ROCKET_HIDEOUT_ELEVATOR_HEIGHT EQU $04
-ROCKET_HIDEOUT_ELEVATOR_WIDTH EQU $03
-
-; SilphCo2_h map_id=207
-SILPH_CO_2F_HEIGHT EQU $09
-SILPH_CO_2F_WIDTH EQU $0f
-
-; SilphCo3_h map_id=208
-SILPH_CO_3F_HEIGHT EQU $09
-SILPH_CO_3F_WIDTH EQU $0f
-
-; SilphCo4_h map_id=209
-SILPH_CO_4F_HEIGHT EQU $09
-SILPH_CO_4F_WIDTH EQU $0f
-
-; SilphCo5_h map_id=210
-SILPH_CO_5F_HEIGHT EQU $09
-SILPH_CO_5F_WIDTH EQU $0f
-
-; SilphCo6_h map_id=211
-SILPH_CO_6F_HEIGHT EQU $09
-SILPH_CO_6F_WIDTH EQU $0d
-
-; SilphCo7_h map_id=212
-SILPH_CO_7F_HEIGHT EQU $09
-SILPH_CO_7F_WIDTH EQU $0d
-
-; SilphCo8_h map_id=213
-SILPH_CO_8F_HEIGHT EQU $09
-SILPH_CO_8F_WIDTH EQU $0d
-
-; Mansion2_h map_id=214
-MANSION_2_HEIGHT EQU $0e
-MANSION_2_WIDTH EQU $0f
-
-; Mansion3_h map_id=215
-MANSION_3_HEIGHT EQU $09
-MANSION_3_WIDTH EQU $0f
-
-; Mansion4_h map_id=216
-MANSION_4_HEIGHT EQU $0e
-MANSION_4_WIDTH EQU $0f
-
-; SafariZoneEast_h map_id=217
-SAFARI_ZONE_EAST_HEIGHT EQU $0d
-SAFARI_ZONE_EAST_WIDTH EQU $0f
-
-; SafariZoneNorth_h map_id=218
-SAFARI_ZONE_NORTH_HEIGHT EQU $12
-SAFARI_ZONE_NORTH_WIDTH EQU $14
-
-; SafariZoneWest_h map_id=219
-SAFARI_ZONE_WEST_HEIGHT EQU $0d
-SAFARI_ZONE_WEST_WIDTH EQU $0f
-
-; SafariZoneCenter_h map_id=220
-SAFARI_ZONE_CENTER_HEIGHT EQU $0d
-SAFARI_ZONE_CENTER_WIDTH EQU $0f
-
-; SafariZoneRestHouse1_h map_id=221
-SAFARI_ZONE_REST_HOUSE_1_HEIGHT EQU $04
-SAFARI_ZONE_REST_HOUSE_1_WIDTH EQU $04
-
-; SafariZoneSecretHouse_h map_id=222
-SAFARI_ZONE_SECRET_HOUSE_HEIGHT EQU $04
-SAFARI_ZONE_SECRET_HOUSE_WIDTH EQU $04
-
-; SafariZoneRestHouse2_h map_id=223
-SAFARI_ZONE_REST_HOUSE_2_HEIGHT EQU $04
-SAFARI_ZONE_REST_HOUSE_2_WIDTH EQU $04
-
-; SafariZoneRestHouse3_h map_id=224
-SAFARI_ZONE_REST_HOUSE_3_HEIGHT EQU $04
-SAFARI_ZONE_REST_HOUSE_3_WIDTH EQU $04
-
-; SafariZoneRestHouse4_h map_id=225
-SAFARI_ZONE_REST_HOUSE_4_HEIGHT EQU $04
-SAFARI_ZONE_REST_HOUSE_4_WIDTH EQU $04
-
-; UnknownDungeon2_h map_id=226
-UNKNOWN_DUNGEON_2_HEIGHT EQU $09
-UNKNOWN_DUNGEON_2_WIDTH EQU $0f
-
-; UnknownDungeon3_h map_id=227
-UNKNOWN_DUNGEON_3_HEIGHT EQU $09
-UNKNOWN_DUNGEON_3_WIDTH EQU $0f
-
-; UnknownDungeon1_h map_id=228
-UNKNOWN_DUNGEON_1_HEIGHT EQU $09
-UNKNOWN_DUNGEON_1_WIDTH EQU $0f
-
-; NameRater_h map_id=229
-NAME_RATERS_HOUSE_HEIGHT EQU $04
-NAME_RATERS_HOUSE_WIDTH EQU $04
-
-; CeruleanHouse2_h map_id=230
-CERULEAN_HOUSE_2_HEIGHT EQU $04
-CERULEAN_HOUSE_2_WIDTH EQU $04
-
-; RockTunnel2_h map_id=232
-ROCK_TUNNEL_2_HEIGHT EQU $12
-ROCK_TUNNEL_2_WIDTH EQU $14
-
-; SilphCo9_h map_id=233
-SILPH_CO_9F_HEIGHT EQU $09
-SILPH_CO_9F_WIDTH EQU $0d
-
-; SilphCo10_h map_id=234
-SILPH_CO_10F_HEIGHT EQU $09
-SILPH_CO_10F_WIDTH EQU $08
-
-; SilphCo11_h map_id=235
-SILPH_CO_11F_HEIGHT EQU $09
-SILPH_CO_11F_WIDTH EQU $09
-
-; SilphCoElevator_h map_id=236
-SILPH_CO_ELEVATOR_HEIGHT EQU $02
-SILPH_CO_ELEVATOR_WIDTH EQU $02
-
-; BattleCenterM_h map_id=239
-BATTLE_CENTER_HEIGHT EQU $04
-BATTLE_CENTER_WIDTH EQU $05
-
-; TradeCenterM_h map_id=240
-TRADE_CENTER_HEIGHT EQU $04
-TRADE_CENTER_WIDTH EQU $05
-
-; Lorelei_h map_id=245
-LORELEIS_ROOM_HEIGHT EQU $06
-LORELEIS_ROOM_WIDTH EQU $05
-
-; Bruno_h map_id=246
-BRUNOS_ROOM_HEIGHT EQU $06
-BRUNOS_ROOM_WIDTH EQU $05
-
-; Agatha_h map_id=247
-AGATHAS_ROOM_HEIGHT EQU $06
-AGATHAS_ROOM_WIDTH EQU $05
-
-;1_channel EQU $00
-;2_channels EQU $40
-;3_channels EQU $80
-;4_channels EQU $C0
-
-CH0 EQU 0
-CH1 EQU 1
-CH2 EQU 2
-CH3 EQU 3
-CH4 EQU 4
-CH5 EQU 5
-CH6 EQU 6
-CH7 EQU 7
-
-;Note Pitch
-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
-
-;drum instruments
-snare1 EQU $01
-snare2 EQU $02
-snare3 EQU $03
-snare4 EQU $04
-snare5 EQU $05
-triangle1 EQU $06
-triangle2 EQU $07
-snare6 EQU $08
-snare7 EQU $09
-snare8 EQU $0a
-snare9 EQU $0b
-cymbal1 EQU $0c
-cymbal2 EQU $0d
-cymbal3 EQU $0e
-mutedsnare1 EQU $0f
-triangle3 EQU $10
-mutedsnare2 EQU $11
-mutedsnare3 EQU $12
-mutedsnare4 EQU $13
-
-unknownsfx0x10: MACRO
- db $10
- db \1
-ENDM
-
-unknownsfx0x20: MACRO
- db $20 | \1
- db \2
- db \3
- db \4
-ENDM
-
-unknownnoise0x20: MACRO
- db $20 | \1
- db \2
- db \3
-ENDM
-
-;format: note pitch, length (in 16ths)
-note: MACRO
- db (\1 << 4) | (\2 - 1)
-ENDM
-
-;format: dnote length (in 16ths), instrument
-dnote: MACRO
- db $B0 | (\1 - 1)
- db \2
-ENDM
-
-;format: rest length (in 16ths)
-rest: MACRO
- db $C0 | (\1 - 1)
-ENDM
-
-; format: notetype speed, volume, fade
-notetype: MACRO
- db $D0 | \1
- db (\2 << 4) | \3
-ENDM
-
-dspeed: MACRO
- db $D0 | \1
-ENDM
-
-octave: MACRO
- db $E8 - \1
-ENDM
-
-togglecall: MACRO
- db $E8
-ENDM
-
-;format: vibrato delay, rate, depth
-vibrato: MACRO
- db $EA
- db \1
- db (\2 << 4) | \3
-ENDM
-
-pitchbend: MACRO
- db $EB
- db \1
- db \2
-ENDM
-
-duty: MACRO
- db $EC
- db \1
-ENDM
-
-tempo: MACRO
- db $ED
- db \1
- db \2
-ENDM
-
-unknownmusic0xee: MACRO
- db $EE
- db \1
-ENDM
-
-stereopanning: MACRO
- db $F0
- db \1
-ENDM
-
-executemusic: MACRO
- db $F8
-ENDM
-
-dutycycle: MACRO
- db $FC
- db \1
-ENDM
-
-;format: callchannel address
-;callchannel: MACRO
-; db $FD
-; dw \1
-;ENDM
-
-;format: loopchannel count, address
-;loopchannel: MACRO
-; db $FE
-; db \1
-; dw \2
-;ENDM
-
-endchannel: MACRO
- db $FF
-ENDM
+INCLUDE "macros.asm"
+
+INCLUDE "hram.asm"
+
+INCLUDE "constants/hardware_constants.asm"
+INCLUDE "constants/oam_constants.asm"
+
+INCLUDE "constants/pokemon_constants.asm"
+INCLUDE "constants/pokedex_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_effect_constants.asm"
+INCLUDE "constants/status_constants.asm"
+INCLUDE "constants/sprite_constants.asm"
+INCLUDE "constants/palette_constants.asm"
+INCLUDE "constants/evolution_constants.asm"
+INCLUDE "constants/list_constants.asm"
+INCLUDE "constants/map_constants.asm"
+INCLUDE "constants/map_dimensions.asm"
+INCLUDE "constants/connection_constants.asm" \ No newline at end of file
diff --git a/constants/connection_constants.asm b/constants/connection_constants.asm
new file mode 100755
index 00000000..389ba867
--- /dev/null
+++ b/constants/connection_constants.asm
@@ -0,0 +1,5 @@
+; connection directions
+EAST EQU 1
+WEST EQU 2
+SOUTH EQU 4
+NORTH EQU 8 \ No newline at end of file
diff --git a/constants/evolution_constants.asm b/constants/evolution_constants.asm
new file mode 100755
index 00000000..96b063cc
--- /dev/null
+++ b/constants/evolution_constants.asm
@@ -0,0 +1,4 @@
+; Evolution types
+EV_LEVEL EQU 1
+EV_ITEM EQU 2
+EV_TRADE EQU 3 \ No newline at end of file
diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm
new file mode 100755
index 00000000..de9d2311
--- /dev/null
+++ b/constants/hardware_constants.asm
@@ -0,0 +1,21 @@
+; hardware registers, from the pandocs http://nocash.emubase.de/pandocs.htm
+rJOYP EQU $FF00
+rDIV EQU $FF04
+rLCDC EQU $FF40
+rSCY EQU $FF42
+rSCX EQU $FF43
+rBGP EQU $FF47
+rOBP0 EQU $FF48
+rOBP1 EQU $FF49
+rWY EQU $FF4A
+rWX EQU $FF4B
+rIE EQU $FFFF
+
+BTN_A EQU %00000001
+BTN_B EQU %00000010
+BTN_SELECT EQU %00000100
+BTN_START EQU %00001000
+BTN_RIGHT EQU %00010000
+BTN_LEFT EQU %00100000
+BTN_UP EQU %01000000
+BTN_DOWN EQU %10000000 \ No newline at end of file
diff --git a/constants/item_constants.asm b/constants/item_constants.asm
new file mode 100644
index 00000000..224e0b78
--- /dev/null
+++ b/constants/item_constants.asm
@@ -0,0 +1,139 @@
+MASTER_BALL EQU $01
+ULTRA_BALL EQU $02
+GREAT_BALL EQU $03
+POKE_BALL EQU $04
+TOWN_MAP EQU $05
+BICYCLE EQU $06
+SURFBOARD EQU $07 ; buggy?
+SAFARI_BALL EQU $08
+POKEDEX EQU $09
+MOON_STONE EQU $0A
+ANTIDOTE EQU $0B
+BURN_HEAL EQU $0C
+ICE_HEAL EQU $0D
+AWAKENING EQU $0E
+PARLYZ_HEAL EQU $0F
+FULL_RESTORE EQU $10
+MAX_POTION EQU $11
+HYPER_POTION EQU $12
+SUPER_POTION EQU $13
+POTION EQU $14
+BOULDERBADGE EQU $15
+CASCADEBADGE EQU $16
+THUNDERBADGE EQU $17
+RAINBOWBADGE EQU $18
+SOULBADGE EQU $19
+MARSHBADGE EQU $1A
+VOLCANOBADGE EQU $1B
+EARTHBADGE EQU $1C
+ESCAPE_ROPE EQU $1D
+REPEL EQU $1E
+OLD_AMBER EQU $1F
+FIRE_STONE EQU $20
+THUNDER_STONE EQU $21
+WATER_STONE EQU $22
+HP_UP EQU $23
+PROTEIN EQU $24
+IRON EQU $25
+CARBOS EQU $26
+CALCIUM EQU $27
+RARE_CANDY EQU $28
+DOME_FOSSIL EQU $29
+HELIX_FOSSIL EQU $2A
+SECRET_KEY EQU $2B
+; XXX ????? EQU $2C
+BIKE_VOUCHER EQU $2D
+X_ACCURACY EQU $2E
+LEAF_STONE EQU $2F
+CARD_KEY EQU $30
+NUGGET EQU $31
+;PP_UP EQU $32
+POKE_DOLL EQU $33
+FULL_HEAL EQU $34
+REVIVE EQU $35
+MAX_REVIVE EQU $36
+GUARD_SPEC_ EQU $37
+SUPER_REPEL EQU $38
+MAX_REPEL EQU $39
+DIRE_HIT EQU $3A
+COIN EQU $3B
+FRESH_WATER EQU $3C
+SODA_POP EQU $3D
+LEMONADE EQU $3E
+S_S__TICKET EQU $3F
+GOLD_TEETH EQU $40
+X_ATTACK EQU $41
+X_DEFEND EQU $42
+X_SPEED EQU $43
+X_SPECIAL EQU $44
+COIN_CASE EQU $45
+OAKS_PARCEL EQU $46
+ITEMFINDER EQU $47
+SILPH_SCOPE EQU $48
+POKE_FLUTE EQU $49
+LIFT_KEY EQU $4A
+EXP__ALL EQU $4B
+OLD_ROD EQU $4C
+GOOD_ROD EQU $4D
+SUPER_ROD EQU $4E
+; XXX todo: compare this to $32
+PP_UP EQU $4F
+ETHER EQU $50
+MAX_ETHER EQU $51
+ELIXER EQU $52
+MAX_ELIXER EQU $53
+HM_01 EQU $C4
+HM_02 EQU $C5
+HM_03 EQU $C6
+HM_04 EQU $C7
+HM_05 EQU $C8
+TM_01 EQU $C9
+TM_02 EQU $CA
+TM_03 EQU $CB
+TM_04 EQU $CC
+TM_05 EQU $CD
+TM_06 EQU $CE
+TM_07 EQU $CF
+TM_08 EQU $D0
+TM_09 EQU $D1
+TM_10 EQU $D2
+TM_11 EQU $D3
+TM_12 EQU $D4
+TM_13 EQU $D5
+TM_14 EQU $D6
+TM_15 EQU $D7
+TM_16 EQU $D8
+TM_17 EQU $D9
+TM_18 EQU $DA
+TM_19 EQU $DB
+TM_20 EQU $DC
+TM_21 EQU $DD
+TM_22 EQU $DE
+TM_23 EQU $DF
+TM_24 EQU $E0
+TM_25 EQU $E1
+TM_26 EQU $E2
+TM_27 EQU $E3
+TM_28 EQU $E4
+TM_29 EQU $E5
+TM_30 EQU $E6
+TM_31 EQU $E7
+TM_32 EQU $E8
+TM_33 EQU $E9
+TM_34 EQU $EA
+TM_35 EQU $EB
+TM_36 EQU $EC
+TM_37 EQU $ED
+TM_38 EQU $EE
+TM_39 EQU $EF
+TM_40 EQU $F0
+TM_41 EQU $F1
+TM_42 EQU $F2
+TM_43 EQU $F3
+TM_44 EQU $F4
+TM_45 EQU $F5
+TM_46 EQU $F6
+TM_47 EQU $F7
+TM_48 EQU $F8
+TM_49 EQU $F9
+TM_50 EQU $FA \ No newline at end of file
diff --git a/constants/list_constants.asm b/constants/list_constants.asm
new file mode 100755
index 00000000..1299f7d8
--- /dev/null
+++ b/constants/list_constants.asm
@@ -0,0 +1,14 @@
+; 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
+
+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 \ No newline at end of file
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
new file mode 100644
index 00000000..b1d36a4d
--- /dev/null
+++ b/constants/map_constants.asm
@@ -0,0 +1,249 @@
+PALLET_TOWN EQU $00
+VIRIDIAN_CITY EQU $01
+PEWTER_CITY EQU $02
+CERULEAN_CITY EQU $03
+LAVENDER_TOWN EQU $04
+VERMILION_CITY EQU $05
+CELADON_CITY EQU $06
+FUCHSIA_CITY EQU $07
+CINNABAR_ISLAND EQU $08
+INDIGO_PLATEAU EQU $09
+SAFFRON_CITY EQU $0A
+; unused EQU $0B
+ROUTE_1 EQU $0C
+ROUTE_2 EQU $0D
+ROUTE_3 EQU $0E
+ROUTE_4 EQU $0F
+ROUTE_5 EQU $10
+ROUTE_6 EQU $11
+ROUTE_7 EQU $12
+ROUTE_8 EQU $13
+ROUTE_9 EQU $14
+ROUTE_10 EQU $15
+ROUTE_11 EQU $16
+ROUTE_12 EQU $17
+ROUTE_13 EQU $18
+ROUTE_14 EQU $19
+ROUTE_15 EQU $1A
+ROUTE_16 EQU $1B
+ROUTE_17 EQU $1C
+ROUTE_18 EQU $1D
+ROUTE_19 EQU $1E
+ROUTE_20 EQU $1F
+ROUTE_21 EQU $20
+ROUTE_22 EQU $21
+ROUTE_23 EQU $22
+ROUTE_24 EQU $23
+ROUTE_25 EQU $24
+REDS_HOUSE_1F EQU $25
+REDS_HOUSE_2F EQU $26
+BLUES_HOUSE EQU $27
+OAKS_LAB EQU $28
+VIRIDIAN_POKECENTER EQU $29
+VIRIDIAN_MART EQU $2A
+VIRIDIAN_SCHOOL EQU $2B
+VIRIDIAN_HOUSE EQU $2C
+VIRIDIAN_GYM EQU $2D
+DIGLETTS_CAVE_EXIT EQU $2E
+VIRIDIAN_FOREST_EXIT EQU $2F
+ROUTE_2_HOUSE EQU $30
+ROUTE_2_GATE EQU $31
+VIRIDIAN_FOREST_ENTRANCE EQU $32
+VIRIDIAN_FOREST EQU $33
+MUSEUM_1F EQU $34
+MUSEUM_2F EQU $35
+PEWTER_GYM EQU $36
+PEWTER_HOUSE_1 EQU $37
+PEWTER_MART EQU $38
+PEWTER_HOUSE_2 EQU $39
+PEWTER_POKECENTER EQU $3A
+MT_MOON_1 EQU $3B
+MT_MOON_2 EQU $3C
+MT_MOON_3 EQU $3D
+TRASHED_HOUSE EQU $3E
+CERULEAN_HOUSE EQU $3F
+CERULEAN_POKECENTER EQU $40
+CERULEAN_GYM EQU $41
+BIKE_SHOP EQU $42
+CERULEAN_MART EQU $43
+MT_MOON_POKECENTER EQU $44
+;copy of TRASHED_HOUSE EQU $45
+ROUTE_5_GATE EQU $46
+PATH_ENTRANCE_ROUTE_5 EQU $47
+DAYCAREM EQU $48
+ROUTE_6_GATE EQU $49
+PATH_ENTRANCE_ROUTE_6 EQU $4A
+;copy of PATH_ENTRANCE_ROUTE_6 EQU $4B
+ROUTE_7_GATE EQU $4C
+PATH_ENTRANCE_ROUTE_7 EQU $4D
+;copy of PATH_ENTRANCE_ROUTE_7 EQU $4E
+ROUTE_8_GATE EQU $4F
+PATH_ENTRANCE_ROUTE_8 EQU $50
+ROCK_TUNNEL_POKECENTER EQU $51
+ROCK_TUNNEL_1 EQU $52
+POWER_PLANT EQU $53
+ROUTE_11_GATE_1F EQU $54
+DIGLETTS_CAVE_ENTRANCE EQU $55
+ROUTE_11_GATE_2F EQU $56
+ROUTE_12_GATE EQU $57
+BILLS_HOUSE EQU $58
+VERMILION_POKECENTER EQU $59
+POKEMON_FAN_CLUB EQU $5A
+VERMILION_MART EQU $5B
+VERMILION_GYM EQU $5C
+VERMILION_HOUSE_1 EQU $5D
+VERMILION_DOCK EQU $5E
+SS_ANNE_1 EQU $5F
+SS_ANNE_2 EQU $60
+SS_ANNE_3 EQU $61
+SS_ANNE_4 EQU $62
+SS_ANNE_5 EQU $63
+SS_ANNE_6 EQU $64
+SS_ANNE_7 EQU $65
+SS_ANNE_8 EQU $66
+SS_ANNE_9 EQU $67
+SS_ANNE_10 EQU $68
+;EQU $69
+;EQU $6A
+;EQU $6B
+VICTORY_ROAD_1 EQU $6C
+;EQU $6D
+;EQU $6E
+;EQU $6F
+;EQU $70
+LANCES_ROOM EQU $71
+;EQU $72
+;EQU $73
+;EQU $74
+;EQU $75
+HALL_OF_FAME EQU $76
+UNDERGROUND_PATH_NS EQU $77
+CHAMPIONS_ROOM EQU $78
+UNDERGROUND_PATH_WE EQU $79
+CELADON_MART_1 EQU $7A
+CELADON_MART_2 EQU $7B
+CELADON_MART_3 EQU $7C
+CELADON_MART_4 EQU $7D
+CELADON_MART_ROOF EQU $7E
+CELADON_MART_ELEVATOR EQU $7F
+CELADON_MANSION_1 EQU $80
+CELADON_MANSION_2 EQU $81
+CELADON_MANSION_3 EQU $82
+CELADON_MANSION_4 EQU $83
+CELADON_MANSION_5 EQU $84
+CELADON_POKECENTER EQU $85
+CELADON_GYM EQU $86
+GAME_CORNER EQU $87
+CELADON_MART_5 EQU $88
+CELADONPRIZE_ROOM EQU $89
+CELADON_DINER EQU $8A
+CELADON_HOUSE EQU $8B
+CELADON_HOTEL EQU $8C
+LAVENDER_POKECENTER EQU $8D
+POKEMONTOWER_1 EQU $8E
+POKEMONTOWER_2 EQU $8F
+POKEMONTOWER_3 EQU $90
+POKEMONTOWER_4 EQU $91
+POKEMONTOWER_5 EQU $92
+POKEMONTOWER_6 EQU $93
+POKEMONTOWER_7 EQU $94
+LAVENDER_HOUSE_1 EQU $95
+LAVENDER_MART EQU $96
+LAVENDER_HOUSE_2 EQU $97
+FUCHSIA_MART EQU $98
+FUCHSIA_HOUSE_1 EQU $99
+FUCHSIA_POKECENTER EQU $9A
+FUCHSIA_HOUSE_2 EQU $9B
+SAFARIZONEENTRANCE EQU $9C
+FUCHSIA_GYM EQU $9D
+FUCHSIAMEETINGROOM EQU $9E
+SEAFOAM_ISLANDS_2 EQU $9F
+SEAFOAM_ISLANDS_3 EQU $A0
+SEAFOAM_ISLANDS_4 EQU $A1
+SEAFOAM_ISLANDS_5 EQU $A2
+VERMILION_HOUSE_2 EQU $A3
+FUCHSIA_HOUSE_3 EQU $A4
+MANSION_1 EQU $A5
+CINNABAR_GYM EQU $A6
+CINNABAR_LAB_1 EQU $A7
+CINNABAR_LAB_2 EQU $A8
+CINNABAR_LAB_3 EQU $A9
+CINNABAR_LAB_4 EQU $AA
+CINNABAR_POKECENTER EQU $AB
+CINNABAR_MART EQU $AC
+;copy of CINNABAR_MART EQU $AD
+INDIGO_PLATEAU_LOBBY EQU $AE
+COPYCATS_HOUSE_1F EQU $AF
+COPYCATS_HOUSE_2F EQU $B0
+FIGHTINGDOJO EQU $B1
+SAFFRON_GYM EQU $B2
+SAFFRON_HOUSE_1 EQU $B3
+SAFFRON_MART EQU $B4
+SILPH_CO_1F EQU $B5
+SAFFRON_POKECENTER EQU $B6
+SAFFRON_HOUSE_2 EQU $B7
+ROUTE_15_GATE_1F EQU $B8
+ROUTE_15_GATE_2F EQU $B9
+ROUTE_16_GATE_1F EQU $BA
+ROUTE_16_GATE_2F EQU $BB
+ROUTE_16_HOUSE EQU $BC
+ROUTE_12_HOUSE EQU $BD
+ROUTE_18_GATE_1F EQU $BE
+ROUTE_18_GATE_2F EQU $BF
+SEAFOAM_ISLANDS_1 EQU $C0
+ROUTE_22_GATE EQU $C1
+VICTORY_ROAD_2 EQU $C2
+ROUTE_12_GATE_2F EQU $C3
+VERMILION_HOUSE_3 EQU $C4
+DIGLETTS_CAVE EQU $C5
+VICTORY_ROAD_3 EQU $C6
+ROCKET_HIDEOUT_1 EQU $C7
+ROCKET_HIDEOUT_2 EQU $C8
+ROCKET_HIDEOUT_3 EQU $C9
+ROCKET_HIDEOUT_4 EQU $CA
+ROCKET_HIDEOUT_ELEVATOR EQU $CB
+;EQU $CC
+;EQU $CD
+;EQU $CE
+SILPH_CO_2F EQU $CF
+SILPH_CO_3F EQU $D0
+SILPH_CO_4F EQU $D1
+SILPH_CO_5F EQU $D2
+SILPH_CO_6F EQU $D3
+SILPH_CO_7F EQU $D4
+SILPH_CO_8F EQU $D5
+MANSION_2 EQU $D6
+MANSION_3 EQU $D7
+MANSION_4 EQU $D8
+SAFARI_ZONE_EAST EQU $D9
+SAFARI_ZONE_NORTH EQU $DA
+SAFARI_ZONE_WEST EQU $DB
+SAFARI_ZONE_CENTER EQU $DC
+SAFARI_ZONE_REST_HOUSE_1 EQU $DD
+SAFARI_ZONE_SECRET_HOUSE EQU $DE
+SAFARI_ZONE_REST_HOUSE_2 EQU $DF
+SAFARI_ZONE_REST_HOUSE_3 EQU $E0
+SAFARI_ZONE_REST_HOUSE_4 EQU $E1
+UNKNOWN_DUNGEON_2 EQU $E2
+UNKNOWN_DUNGEON_3 EQU $E3
+UNKNOWN_DUNGEON_1 EQU $E4
+NAME_RATERS_HOUSE EQU $E5
+CERULEAN_HOUSE_3 EQU $E6
+;EQU $E7
+ROCK_TUNNEL_2 EQU $E8
+SILPH_CO_9F EQU $E9
+SILPH_CO_10F EQU $EA
+SILPH_CO_11F EQU $EB
+SILPH_CO_ELEVATOR EQU $EC
+;EQU $ED
+;EQU $EE
+BATTLE_CENTER EQU $EF
+TRADE_CENTER EQU $F0
+;EQU $F1
+;EQU $F2
+;EQU $F3
+;EQU $F4
+LORELEIS_ROOM EQU $F5
+BRUNOS_ROOM EQU $F6
+AGATHAS_ROOM EQU $F7
+BEACH_HOUSE EQU $F8 ; Yellow only \ No newline at end of file
diff --git a/constants/map_dimensions.asm b/constants/map_dimensions.asm
new file mode 100644
index 00000000..8bb41a25
--- /dev/null
+++ b/constants/map_dimensions.asm
@@ -0,0 +1,889 @@
+; Map sizes (y, x)
+
+; PalletTown_h map_id=0
+PALLET_TOWN_HEIGHT EQU $09
+PALLET_TOWN_WIDTH EQU $0a
+
+; ViridianCity_h map_id=1
+VIRIDIAN_CITY_HEIGHT EQU $12
+VIRIDIAN_CITY_WIDTH EQU $14
+
+; PewterCity_h map_id=2
+PEWTER_CITY_HEIGHT EQU $12
+PEWTER_CITY_WIDTH EQU $14
+
+; CeruleanCity_h map_id=3
+CERULEAN_CITY_HEIGHT EQU $12
+CERULEAN_CITY_WIDTH EQU $14
+
+; LavenderTown_h map_id=4
+LAVENDER_TOWN_HEIGHT EQU $09
+LAVENDER_TOWN_WIDTH EQU $0a
+
+; VermilionCity_h map_id=5
+VERMILION_CITY_HEIGHT EQU $12
+VERMILION_CITY_WIDTH EQU $14
+
+; CeladonCity_h map_id=6
+CELADON_CITY_HEIGHT EQU $12
+CELADON_CITY_WIDTH EQU $19
+
+; FuchsiaCity_h map_id=7
+FUCHSIA_CITY_HEIGHT EQU $12
+FUCHSIA_CITY_WIDTH EQU $14
+
+; CinnabarIsland_h map_id=8
+CINNABAR_ISLAND_HEIGHT EQU $09
+CINNABAR_ISLAND_WIDTH EQU $0a
+
+; IndigoPlateau_h map_id=9
+INDIGO_PLATEAU_HEIGHT EQU $09
+INDIGO_PLATEAU_WIDTH EQU $0a
+
+; SaffronCity_h map_id=10
+SAFFRON_CITY_HEIGHT EQU $12
+SAFFRON_CITY_WIDTH EQU $14
+
+; Route1_h map_id=12
+ROUTE_1_HEIGHT EQU $12
+ROUTE_1_WIDTH EQU $0a
+
+; Route2_h map_id=13
+ROUTE_2_HEIGHT EQU $24
+ROUTE_2_WIDTH EQU $0a
+
+; Route3_h map_id=14
+ROUTE_3_HEIGHT EQU $09
+ROUTE_3_WIDTH EQU $23
+
+; Route4_h map_id=15
+ROUTE_4_HEIGHT EQU $09
+ROUTE_4_WIDTH EQU $2d
+
+; Route5_h map_id=16
+ROUTE_5_HEIGHT EQU $12
+ROUTE_5_WIDTH EQU $0a
+
+; Route6_h map_id=17
+ROUTE_6_HEIGHT EQU $12
+ROUTE_6_WIDTH EQU $0a
+
+; Route7_h map_id=18
+ROUTE_7_HEIGHT EQU $09
+ROUTE_7_WIDTH EQU $0a
+
+; Route8_h map_id=19
+ROUTE_8_HEIGHT EQU $09
+ROUTE_8_WIDTH EQU $1e
+
+; Route9_h map_id=20
+ROUTE_9_HEIGHT EQU $09
+ROUTE_9_WIDTH EQU $1e
+
+; Route10_h map_id=21
+ROUTE_10_HEIGHT EQU $24
+ROUTE_10_WIDTH EQU $0a
+
+; Route11_h map_id=22
+ROUTE_11_HEIGHT EQU $09
+ROUTE_11_WIDTH EQU $1e
+
+; Route12_h map_id=23
+ROUTE_12_HEIGHT EQU $36
+ROUTE_12_WIDTH EQU $0a
+
+; Route13_h map_id=24
+ROUTE_13_HEIGHT EQU $09
+ROUTE_13_WIDTH EQU $1e
+
+; Route14_h map_id=25
+ROUTE_14_HEIGHT EQU $1b
+ROUTE_14_WIDTH EQU $0a
+
+; Route15_h map_id=26
+ROUTE_15_HEIGHT EQU $09
+ROUTE_15_WIDTH EQU $1e
+
+; Route16_h map_id=27
+ROUTE_16_HEIGHT EQU $09
+ROUTE_16_WIDTH EQU $14
+
+; Route17_h map_id=28
+ROUTE_17_HEIGHT EQU $48
+ROUTE_17_WIDTH EQU $0a
+
+; Route18_h map_id=29
+ROUTE_18_HEIGHT EQU $09
+ROUTE_18_WIDTH EQU $19
+
+; Route19_h map_id=30
+ROUTE_19_HEIGHT EQU $1b
+ROUTE_19_WIDTH EQU $0a
+
+; Route20_h map_id=31
+ROUTE_20_HEIGHT EQU $09
+ROUTE_20_WIDTH EQU $32
+
+; Route21_h map_id=32
+ROUTE_21_HEIGHT EQU $2d
+ROUTE_21_WIDTH EQU $0a
+
+; Route22_h map_id=33
+ROUTE_22_HEIGHT EQU $09
+ROUTE_22_WIDTH EQU $14
+
+; Route23_h map_id=34
+ROUTE_23_HEIGHT EQU $48
+ROUTE_23_WIDTH EQU $0a
+
+; Route24_h map_id=35
+ROUTE_24_HEIGHT EQU $12
+ROUTE_24_WIDTH EQU $0a
+
+; Route25_h map_id=36
+ROUTE_25_HEIGHT EQU $09
+ROUTE_25_WIDTH EQU $1e
+
+; RedsHouse1F_h map_id=37
+REDS_HOUSE_1F_HEIGHT EQU $04
+REDS_HOUSE_1F_WIDTH EQU $04
+
+; RedsHouse2F_h map_id=38
+REDS_HOUSE_2F_HEIGHT EQU $04
+REDS_HOUSE_2F_WIDTH EQU $04
+
+; BluesHouse_h map_id=39
+BLUES_HOUSE_HEIGHT EQU $04
+BLUES_HOUSE_WIDTH EQU $04
+
+; OaksLab_h map_id=40
+OAKS_LAB_HEIGHT EQU $06
+OAKS_LAB_WIDTH EQU $05
+
+; ViridianPokeCenter_h map_id=41
+VIRIDIAN_POKECENTER_HEIGHT EQU $04
+VIRIDIAN_POKECENTER_WIDTH EQU $07
+
+; ViridianMart_h map_id=42
+VIRIDIAN_MART_HEIGHT EQU $04
+VIRIDIAN_MART_WIDTH EQU $04
+
+; School_h map_id=43
+VIRIDIAN_SCHOOL_HEIGHT EQU $04
+VIRIDIAN_SCHOOL_WIDTH EQU $04
+
+; ViridianHouse_h map_id=44
+VIRIDIAN_HOUSE_HEIGHT EQU $04
+VIRIDIAN_HOUSE_WIDTH EQU $04
+
+; ViridianGym_h map_id=45
+VIRIDIAN_GYM_HEIGHT EQU $09
+VIRIDIAN_GYM_WIDTH EQU $0a
+
+; DiglettsCaveRoute2_h map_id=46
+DIGLETTS_CAVE_EXIT_HEIGHT EQU $04
+DIGLETTS_CAVE_EXIT_WIDTH EQU $04
+
+; ViridianForestexit_h map_id=47
+VIRIDIAN_FOREST_EXIT_HEIGHT EQU $04
+VIRIDIAN_FOREST_EXIT_WIDTH EQU $05
+
+; Route2House_h map_id=48
+ROUTE_2_HOUSE_HEIGHT EQU $04
+ROUTE_2_HOUSE_WIDTH EQU $04
+
+; Route2Gate_h map_id=49
+ROUTE_2_GATE_HEIGHT EQU $04
+ROUTE_2_GATE_WIDTH EQU $05
+
+; ViridianForestEntrance_h map_id=50
+VIRIDIAN_FOREST_ENTRANCE_HEIGHT EQU $04
+VIRIDIAN_FOREST_ENTRANCE_WIDTH EQU $05
+
+; ViridianForest_h map_id=51
+VIRIDIAN_FOREST_HEIGHT EQU $18
+VIRIDIAN_FOREST_WIDTH EQU $11
+
+; MuseumF1_h map_id=52
+MUSEUM_1F_HEIGHT EQU $04
+MUSEUM_1F_WIDTH EQU $0a
+
+; MuseumF2_h map_id=53
+MUSEUM_2F_HEIGHT EQU $04
+MUSEUM_2F_WIDTH EQU $07
+
+; PewterGym_h map_id=54
+PEWTER_GYM_HEIGHT EQU $07
+PEWTER_GYM_WIDTH EQU $05
+
+; PewterHouse1_h map_id=55
+PEWTER_HOUSE_1_HEIGHT EQU $04
+PEWTER_HOUSE_1_WIDTH EQU $04
+
+; PewterMart_h map_id=56
+PEWTER_MART_HEIGHT EQU $04
+PEWTER_MART_WIDTH EQU $04
+
+; PewterHouse2_h map_id=57
+PEWTER_HOUSE_2_HEIGHT EQU $04
+PEWTER_HOUSE_2_WIDTH EQU $04
+
+; PewterPokecenter_h map_id=58
+PEWTER_POKECENTER_HEIGHT EQU $04
+PEWTER_POKECENTER_WIDTH EQU $07
+
+; MtMoon1_h map_id=59
+MT_MOON_1_HEIGHT EQU $12
+MT_MOON_1_WIDTH EQU $14
+
+; MtMoon2_h map_id=60
+MT_MOON_2_HEIGHT EQU $0e
+MT_MOON_2_WIDTH EQU $0e
+
+; MtMoon3_h map_id=61
+MT_MOON_3_HEIGHT EQU $12
+MT_MOON_3_WIDTH EQU $14
+
+; CeruleanHouseTrashed_h map_id=62
+TRASHED_HOUSE_HEIGHT EQU $04
+TRASHED_HOUSE_WIDTH EQU $04
+
+; CeruleanHouse_h map_id=63
+CERULEAN_HOUSE_HEIGHT EQU $04
+CERULEAN_HOUSE_WIDTH EQU $04
+
+; CeruleanPokecenter_h map_id=64
+CERULEAN_POKECENTER_HEIGHT EQU $04
+CERULEAN_POKECENTER_WIDTH EQU $07
+
+; CeruleanGym_h map_id=65
+CERULEAN_GYM_HEIGHT EQU $07
+CERULEAN_GYM_WIDTH EQU $05
+
+; BikeShop_h map_id=66
+BIKE_SHOP_HEIGHT EQU $04
+BIKE_SHOP_WIDTH EQU $04
+
+; CeruleanMart_h map_id=67
+CERULEAN_MART_HEIGHT EQU $04
+CERULEAN_MART_WIDTH EQU $04
+
+; MtMoonPokecenter_h map_id=68
+MT_MOON_POKECENTER_HEIGHT EQU $04
+MT_MOON_POKECENTER_WIDTH EQU $07
+
+; Route5Gate_h map_id=70
+ROUTE_5_GATE_HEIGHT EQU $03
+ROUTE_5_GATE_WIDTH EQU $04
+
+; UndergroundTunnelEntranceRoute5_h map_id=71
+PATH_ENTRANCE_ROUTE_5_HEIGHT EQU $04
+PATH_ENTRANCE_ROUTE_5_WIDTH EQU $04
+
+; DayCareM_h map_id=72
+DAYCAREM_HEIGHT EQU $04
+DAYCAREM_WIDTH EQU $04
+
+; Route6Gate_h map_id=73
+ROUTE_6_GATE_HEIGHT EQU $03
+ROUTE_6_GATE_WIDTH EQU $04
+
+; UndergroundTunnelEntranceRoute6_h map_id=74
+PATH_ENTRANCE_ROUTE_6_HEIGHT EQU $04
+PATH_ENTRANCE_ROUTE_6_WIDTH EQU $04
+
+; Route7Gate_h map_id=76
+ROUTE_7_GATE_HEIGHT EQU $04
+ROUTE_7_GATE_WIDTH EQU $03
+
+; UndergroundPathEntranceRoute7_h map_id=77
+PATH_ENTRANCE_ROUTE_7_HEIGHT EQU $04
+PATH_ENTRANCE_ROUTE_7_WIDTH EQU $04
+
+; Route8Gate_h map_id=79
+ROUTE_8_GATE_HEIGHT EQU $04
+ROUTE_8_GATE_WIDTH EQU $03
+
+; UndergroundPathEntranceRoute8_h map_id=80
+PATH_ENTRANCE_ROUTE_8_HEIGHT EQU $04
+PATH_ENTRANCE_ROUTE_8_WIDTH EQU $04
+
+; RockTunnelPokecenter_h map_id=81
+ROCK_TUNNEL_POKECENTER_HEIGHT EQU $04
+ROCK_TUNNEL_POKECENTER_WIDTH EQU $07
+
+; RockTunnel1_h map_id=82
+ROCK_TUNNEL_1_HEIGHT EQU $12
+ROCK_TUNNEL_1_WIDTH EQU $14
+
+; PowerPlant_h map_id=83
+POWER_PLANT_HEIGHT EQU $12
+POWER_PLANT_WIDTH EQU $14
+
+; Route11Gate_h map_id=84
+ROUTE_11_GATE_1F_HEIGHT EQU $05
+ROUTE_11_GATE_1F_WIDTH EQU $04
+
+; DiglettsCaveEntranceRoute11_h map_id=85
+DIGLETTS_CAVE_ENTRANCE_HEIGHT EQU $04
+DIGLETTS_CAVE_ENTRANCE_WIDTH EQU $04
+
+; Route11GateUpstairs_h map_id=86
+ROUTE_11_GATE_2F_HEIGHT EQU $04
+ROUTE_11_GATE_2F_WIDTH EQU $04
+
+; Route12Gate_h map_id=87
+ROUTE_12_GATE_HEIGHT EQU $04
+ROUTE_12_GATE_WIDTH EQU $05
+
+; BillsHouse_h map_id=88
+BILLS_HOUSE_HEIGHT EQU $04
+BILLS_HOUSE_WIDTH EQU $04
+
+; VermilionPokecenter_h map_id=89
+VERMILION_POKECENTER_HEIGHT EQU $04
+VERMILION_POKECENTER_WIDTH EQU $07
+
+; FanClub_h map_id=90
+POKEMON_FAN_CLUB_HEIGHT EQU $04
+POKEMON_FAN_CLUB_WIDTH EQU $04
+
+; VermilionMart_h map_id=91
+VERMILION_MART_HEIGHT EQU $04
+VERMILION_MART_WIDTH EQU $04
+
+; VermilionGym_h map_id=92
+VERMILION_GYM_HEIGHT EQU $09
+VERMILION_GYM_WIDTH EQU $05
+
+; VermilionHouse1_h map_id=93
+VERMILION_HOUSE_1_HEIGHT EQU $04
+VERMILION_HOUSE_1_WIDTH EQU $04
+
+; VermilionDock_h map_id=94
+VERMILION_DOCK_HEIGHT EQU $06
+VERMILION_DOCK_WIDTH EQU $0e
+
+; SSAnne1_h map_id=95
+SS_ANNE_1_HEIGHT EQU $09
+SS_ANNE_1_WIDTH EQU $14
+
+; SSAnne2_h map_id=96
+SS_ANNE_2_HEIGHT EQU $09
+SS_ANNE_2_WIDTH EQU $14
+
+; SSAnne3_h map_id=97
+SS_ANNE_3_HEIGHT EQU $03
+SS_ANNE_3_WIDTH EQU $0a
+
+; SSAnne4_h map_id=98
+SS_ANNE_4_HEIGHT EQU $04
+SS_ANNE_4_WIDTH EQU $0f
+
+; SSAnne5_h map_id=99
+SS_ANNE_5_HEIGHT EQU $07
+SS_ANNE_5_WIDTH EQU $0a
+
+; SSAnne6_h map_id=100
+SS_ANNE_6_HEIGHT EQU $08
+SS_ANNE_6_WIDTH EQU $07
+
+; SSAnne7_h map_id=101
+SS_ANNE_7_HEIGHT EQU $04
+SS_ANNE_7_WIDTH EQU $03
+
+; SSAnne8_h map_id=102
+SS_ANNE_8_HEIGHT EQU $08
+SS_ANNE_8_WIDTH EQU $0c
+
+; SSAnne9_h map_id=103
+SS_ANNE_9_HEIGHT EQU $08
+SS_ANNE_9_WIDTH EQU $0c
+
+; SSAnne10_h map_id=104
+SS_ANNE_10_HEIGHT EQU $08
+SS_ANNE_10_WIDTH EQU $0c
+
+; VictoryRoad1_h map_id=108
+VICTORY_ROAD_1_HEIGHT EQU $09
+VICTORY_ROAD_1_WIDTH EQU $0a
+
+; Lance_h map_id=113
+LANCES_ROOM_HEIGHT EQU $0d
+LANCES_ROOM_WIDTH EQU $0d
+
+; HallofFameRoom_h map_id=118
+HALL_OF_FAME_HEIGHT EQU $04
+HALL_OF_FAME_WIDTH EQU $05
+
+; UndergroundPathNS_h map_id=119
+UNDERGROUND_PATH_NS_HEIGHT EQU $18
+UNDERGROUND_PATH_NS_WIDTH EQU $04
+
+; Gary_h map_id=120
+CHAMPIONS_ROOM_HEIGHT EQU $04
+CHAMPIONS_ROOM_WIDTH EQU $04
+
+; UndergroundPathWE_h map_id=121
+UNDERGROUND_PATH_WE_HEIGHT EQU $04
+UNDERGROUND_PATH_WE_WIDTH EQU $19
+
+; CeladonMart1_h map_id=122
+CELADON_MART_1_HEIGHT EQU $04
+CELADON_MART_1_WIDTH EQU $0a
+
+; CeladonMart2_h map_id=123
+CELADON_MART_2_HEIGHT EQU $04
+CELADON_MART_2_WIDTH EQU $0a
+
+; CeladonMart3_h map_id=124
+CELADON_MART_3_HEIGHT EQU $04
+CELADON_MART_3_WIDTH EQU $0a
+
+; CeladonMart4_h map_id=125
+CELADON_MART_4_HEIGHT EQU $04
+CELADON_MART_4_WIDTH EQU $0a
+
+; CeladonMartRoof_h map_id=126
+CELADON_MART_ROOF_HEIGHT EQU $04
+CELADON_MART_ROOF_WIDTH EQU $0a
+
+; CeladonMartElevator_h map_id=127
+CELADON_MART_ELEVATOR_HEIGHT EQU $02
+CELADON_MART_ELEVATOR_WIDTH EQU $02
+
+; CeladonMansion1_h map_id=128
+CELADON_MANSION_1_HEIGHT EQU $06
+CELADON_MANSION_1_WIDTH EQU $04
+
+; CeladonMansion2_h map_id=129
+CELADON_MANSION_2_HEIGHT EQU $06
+CELADON_MANSION_2_WIDTH EQU $04
+
+; CeladonMansion3_h map_id=130
+CELADON_MANSION_3_HEIGHT EQU $06
+CELADON_MANSION_3_WIDTH EQU $04
+
+; CeladonMansion4_h map_id=131
+CELADON_MANSION_4_HEIGHT EQU $06
+CELADON_MANSION_4_WIDTH EQU $04
+
+; CeladonMansion5_h map_id=132
+CELADON_MANSION_5_HEIGHT EQU $04
+CELADON_MANSION_5_WIDTH EQU $04
+
+; CeladonPokecenter_h map_id=133
+CELADON_POKECENTER_HEIGHT EQU $04
+CELADON_POKECENTER_WIDTH EQU $07
+
+; CeladonGym_h map_id=134
+CELADON_GYM_HEIGHT EQU $09
+CELADON_GYM_WIDTH EQU $05
+
+; CeladonGameCorner_h map_id=135
+GAME_CORNER_HEIGHT EQU $09
+GAME_CORNER_WIDTH EQU $0a
+
+; CeladonMart5_h map_id=136
+CELADON_MART_5_HEIGHT EQU $04
+CELADON_MART_5_WIDTH EQU $0a
+
+; CeladonPrizeRoom_h map_id=137
+CELADONPRIZE_ROOM_HEIGHT EQU $04
+CELADONPRIZE_ROOM_WIDTH EQU $05
+
+; CeladonDiner_h map_id=138
+CELADON_DINER_HEIGHT EQU $04
+CELADON_DINER_WIDTH EQU $05
+
+; CeladonHouse_h map_id=139
+CELADON_HOUSE_HEIGHT EQU $04
+CELADON_HOUSE_WIDTH EQU $04
+
+; CeladonHotel_h map_id=140
+CELADONHOTEL_HEIGHT EQU $04
+CELADONHOTEL_WIDTH EQU $07
+
+; LavenderPokecenter_h map_id=141
+LAVENDER_POKECENTER_HEIGHT EQU $04
+LAVENDER_POKECENTER_WIDTH EQU $07
+
+; PokemonTower1_h map_id=142
+POKEMONTOWER_1_HEIGHT EQU $09
+POKEMONTOWER_1_WIDTH EQU $0a
+
+; PokemonTower2_h map_id=143
+POKEMONTOWER_2_HEIGHT EQU $09
+POKEMONTOWER_2_WIDTH EQU $0a
+
+; PokemonTower3_h map_id=144
+POKEMONTOWER_3_HEIGHT EQU $09
+POKEMONTOWER_3_WIDTH EQU $0a
+
+; PokemonTower4_h map_id=145
+POKEMONTOWER_4_HEIGHT EQU $09
+POKEMONTOWER_4_WIDTH EQU $0a
+
+; PokemonTower5_h map_id=146
+POKEMONTOWER_5_HEIGHT EQU $09
+POKEMONTOWER_5_WIDTH EQU $0a
+
+; PokemonTower6_h map_id=147
+POKEMONTOWER_6_HEIGHT EQU $09
+POKEMONTOWER_6_WIDTH EQU $0a
+
+; PokemonTower7_h map_id=148
+POKEMONTOWER_7_HEIGHT EQU $09
+POKEMONTOWER_7_WIDTH EQU $0a
+
+; LavenderHouse1_h map_id=149
+LAVENDER_HOUSE_1_HEIGHT EQU $04
+LAVENDER_HOUSE_1_WIDTH EQU $04
+
+; LavenderMart_h map_id=150
+LAVENDER_MART_HEIGHT EQU $04
+LAVENDER_MART_WIDTH EQU $04
+
+; LavenderHouse2_h map_id=151
+LAVENDER_HOUSE_2_HEIGHT EQU $04
+LAVENDER_HOUSE_2_WIDTH EQU $04
+
+; FuchsiaMart_h map_id=152
+FUCHSIA_MART_HEIGHT EQU $04
+FUCHSIA_MART_WIDTH EQU $04
+
+; FuchsiaHouse1_h map_id=153
+FUCHSIA_HOUSE_1_HEIGHT EQU $04
+FUCHSIA_HOUSE_1_WIDTH EQU $04
+
+; FuchsiaPokecenter_h map_id=154
+FUCHSIA_POKECENTER_HEIGHT EQU $04
+FUCHSIA_POKECENTER_WIDTH EQU $07
+
+; FuchsiaHouse2_h map_id=155
+FUCHSIA_HOUSE_2_HEIGHT EQU $04
+FUCHSIA_HOUSE_2_WIDTH EQU $05
+
+; SafariZoneEntrance_h map_id=156
+SAFARIZONEENTRANCE_HEIGHT EQU $03
+SAFARIZONEENTRANCE_WIDTH EQU $04
+
+; FuchsiaGym_h map_id=157
+FUCHSIA_GYM_HEIGHT EQU $09
+FUCHSIA_GYM_WIDTH EQU $05
+
+; FuchsiaMeetingRoom_h map_id=158
+FUCHSIAMEETINGROOM_HEIGHT EQU $04
+FUCHSIAMEETINGROOM_WIDTH EQU $07
+
+; SeafoamIslands2_h map_id=159
+SEAFOAM_ISLANDS_2_HEIGHT EQU $09
+SEAFOAM_ISLANDS_2_WIDTH EQU $0f
+
+; SeafoamIslands3_h map_id=160
+SEAFOAM_ISLANDS_3_HEIGHT EQU $09
+SEAFOAM_ISLANDS_3_WIDTH EQU $0f
+
+; SeafoamIslands4_h map_id=161
+SEAFOAM_ISLANDS_4_HEIGHT EQU $09
+SEAFOAM_ISLANDS_4_WIDTH EQU $0f
+
+; SeafoamIslands5_h map_id=162
+SEAFOAM_ISLANDS_5_HEIGHT EQU $09
+SEAFOAM_ISLANDS_5_WIDTH EQU $0f
+
+; VermilionHouse2_h map_id=163
+VERMILION_HOUSE_2_HEIGHT EQU $04
+VERMILION_HOUSE_2_WIDTH EQU $04
+
+; FuchsiaHouse3_h map_id=164
+FUCHSIA_HOUSE_3_HEIGHT EQU $04
+FUCHSIA_HOUSE_3_WIDTH EQU $04
+
+; Mansion1_h map_id=165
+MANSION_1_HEIGHT EQU $0e
+MANSION_1_WIDTH EQU $0f
+
+; CinnabarGym_h map_id=166
+CINNABAR_GYM_HEIGHT EQU $09
+CINNABAR_GYM_WIDTH EQU $0a
+
+; Lab1_h map_id=167
+CINNABAR_LAB_1_HEIGHT EQU $04
+CINNABAR_LAB_1_WIDTH EQU $09
+
+; Lab2_h map_id=168
+CINNABAR_LAB_2_HEIGHT EQU $04
+CINNABAR_LAB_2_WIDTH EQU $04
+
+; Lab3_h map_id=169
+CINNABAR_LAB_3_HEIGHT EQU $04
+CINNABAR_LAB_3_WIDTH EQU $04
+
+; Lab4_h map_id=170
+CINNABAR_LAB_4_HEIGHT EQU $04
+CINNABAR_LAB_4_WIDTH EQU $04
+
+; CinnabarPokecenter_h map_id=171
+CINNABAR_POKECENTER_HEIGHT EQU $04
+CINNABAR_POKECENTER_WIDTH EQU $07
+
+; CinnabarMart_h map_id=172
+CINNABAR_MART_HEIGHT EQU $04
+CINNABAR_MART_WIDTH EQU $04
+
+; IndigoPlateauLobby_h map_id=174
+INDIGO_PLATEAU_LOBBY_HEIGHT EQU $06
+INDIGO_PLATEAU_LOBBY_WIDTH EQU $08
+
+; CopycatsHouseF1_h map_id=175
+COPYCATS_HOUSE_1F_HEIGHT EQU $04
+COPYCATS_HOUSE_1F_WIDTH EQU $04
+
+; CopycatsHouseF2_h map_id=176
+COPYCATS_HOUSE_2F_HEIGHT EQU $04
+COPYCATS_HOUSE_2F_WIDTH EQU $04
+
+; FightingDojo_h map_id=177
+FIGHTINGDOJO_HEIGHT EQU $06
+FIGHTINGDOJO_WIDTH EQU $05
+
+; SaffronGym_h map_id=178
+SAFFRON_GYM_HEIGHT EQU $09
+SAFFRON_GYM_WIDTH EQU $0a
+
+; SaffronHouse1_h map_id=179
+SAFFRON_HOUSE_1_HEIGHT EQU $04
+SAFFRON_HOUSE_1_WIDTH EQU $04
+
+; SaffronMart_h map_id=180
+SAFFRON_MART_HEIGHT EQU $04
+SAFFRON_MART_WIDTH EQU $04
+
+; SilphCo1_h map_id=181
+SILPH_CO_1F_HEIGHT EQU $09
+SILPH_CO_1F_WIDTH EQU $0f
+
+; SaffronPokecenter_h map_id=182
+SAFFRON_POKECENTER_HEIGHT EQU $04
+SAFFRON_POKECENTER_WIDTH EQU $07
+
+; SaffronHouse2_h map_id=183
+SAFFRON_HOUSE_2_HEIGHT EQU $04
+SAFFRON_HOUSE_2_WIDTH EQU $04
+
+; Route15Gate1F_h map_id=184
+ROUTE_15_GATE_1F_HEIGHT EQU $05
+ROUTE_15_GATE_1F_WIDTH EQU $04
+
+; Route15GateUpstairs_h map_id=185
+ROUTE_15_GATE_2F_HEIGHT EQU 4
+ROUTE_15_GATE_2F_WIDTH EQU 4
+
+; Route16GateMap_h map_id=186
+ROUTE_16_GATE_1F_HEIGHT EQU $07
+ROUTE_16_GATE_1F_WIDTH EQU $04
+
+; Route16GateUpstairs_h map_id=187
+ROUTE_16_GATE_2F_HEIGHT EQU $04
+ROUTE_16_GATE_2F_WIDTH EQU $04
+
+; Route16House_h map_id=188
+ROUTE_16_HOUSE_HEIGHT EQU $04
+ROUTE_16_HOUSE_WIDTH EQU $04
+
+; Route12House_h map_id=189
+ROUTE_12_HOUSE_HEIGHT EQU $04
+ROUTE_12_HOUSE_WIDTH EQU $04
+
+; Route18Gate_h map_id=190
+ROUTE_18_GATE_1F_HEIGHT EQU $05
+ROUTE_18_GATE_1F_WIDTH EQU $04
+
+; Route18GateHeader_h map_id=191
+ROUTE_18_GATE_2F_HEIGHT EQU $04
+ROUTE_18_GATE_2F_WIDTH EQU $04
+
+; SeafoamIslands1_h map_id=192
+SEAFOAM_ISLANDS_1_HEIGHT EQU $09
+SEAFOAM_ISLANDS_1_WIDTH EQU $0f
+
+; Route22Gate_h map_id=193
+ROUTE_22_GATE_HEIGHT EQU $04
+ROUTE_22_GATE_WIDTH EQU $05
+
+; VictoryRoad2_h map_id=194
+VICTORY_ROAD_2_HEIGHT EQU $09
+VICTORY_ROAD_2_WIDTH EQU $0f
+
+; Route12GateUpstairs_h map_id=195
+ROUTE_12_GATE_2F_HEIGHT EQU $04
+ROUTE_12_GATE_2F_WIDTH EQU $04
+
+; VermilionHouse3_h map_id=196
+VERMILION_HOUSE_3_HEIGHT EQU $04
+VERMILION_HOUSE_3_WIDTH EQU $04
+
+; DiglettsCave_h map_id=197
+DIGLETTS_CAVE_HEIGHT EQU $12
+DIGLETTS_CAVE_WIDTH EQU $14
+
+; VictoryRoad3_h map_id=198
+VICTORY_ROAD_3_HEIGHT EQU $09
+VICTORY_ROAD_3_WIDTH EQU $0f
+
+; RocketHideout1_h map_id=199
+ROCKET_HIDEOUT_1_HEIGHT EQU $0e
+ROCKET_HIDEOUT_1_WIDTH EQU $0f
+
+; RocketHideout2_h map_id=200
+ROCKET_HIDEOUT_2_HEIGHT EQU $0e
+ROCKET_HIDEOUT_2_WIDTH EQU $0f
+
+; RocketHideout3_h map_id=201
+ROCKET_HIDEOUT_3_HEIGHT EQU $0e
+ROCKET_HIDEOUT_3_WIDTH EQU $0f
+
+; RocketHideout4_h map_id=202
+ROCKET_HIDEOUT_4_HEIGHT EQU $0c
+ROCKET_HIDEOUT_4_WIDTH EQU $0f
+
+; RocketHideoutElevator_h map_id=203
+ROCKET_HIDEOUT_ELEVATOR_HEIGHT EQU $04
+ROCKET_HIDEOUT_ELEVATOR_WIDTH EQU $03
+
+; SilphCo2_h map_id=207
+SILPH_CO_2F_HEIGHT EQU $09
+SILPH_CO_2F_WIDTH EQU $0f
+
+; SilphCo3_h map_id=208
+SILPH_CO_3F_HEIGHT EQU $09
+SILPH_CO_3F_WIDTH EQU $0f
+
+; SilphCo4_h map_id=209
+SILPH_CO_4F_HEIGHT EQU $09
+SILPH_CO_4F_WIDTH EQU $0f
+
+; SilphCo5_h map_id=210
+SILPH_CO_5F_HEIGHT EQU $09
+SILPH_CO_5F_WIDTH EQU $0f
+
+; SilphCo6_h map_id=211
+SILPH_CO_6F_HEIGHT EQU $09
+SILPH_CO_6F_WIDTH EQU $0d
+
+; SilphCo7_h map_id=212
+SILPH_CO_7F_HEIGHT EQU $09
+SILPH_CO_7F_WIDTH EQU $0d
+
+; SilphCo8_h map_id=213
+SILPH_CO_8F_HEIGHT EQU $09
+SILPH_CO_8F_WIDTH EQU $0d
+
+; Mansion2_h map_id=214
+MANSION_2_HEIGHT EQU $0e
+MANSION_2_WIDTH EQU $0f
+
+; Mansion3_h map_id=215
+MANSION_3_HEIGHT EQU $09
+MANSION_3_WIDTH EQU $0f
+
+; Mansion4_h map_id=216
+MANSION_4_HEIGHT EQU $0e
+MANSION_4_WIDTH EQU $0f
+
+; SafariZoneEast_h map_id=217
+SAFARI_ZONE_EAST_HEIGHT EQU $0d
+SAFARI_ZONE_EAST_WIDTH EQU $0f
+
+; SafariZoneNorth_h map_id=218
+SAFARI_ZONE_NORTH_HEIGHT EQU $12
+SAFARI_ZONE_NORTH_WIDTH EQU $14
+
+; SafariZoneWest_h map_id=219
+SAFARI_ZONE_WEST_HEIGHT EQU $0d
+SAFARI_ZONE_WEST_WIDTH EQU $0f
+
+; SafariZoneCenter_h map_id=220
+SAFARI_ZONE_CENTER_HEIGHT EQU $0d
+SAFARI_ZONE_CENTER_WIDTH EQU $0f
+
+; SafariZoneRestHouse1_h map_id=221
+SAFARI_ZONE_REST_HOUSE_1_HEIGHT EQU $04
+SAFARI_ZONE_REST_HOUSE_1_WIDTH EQU $04
+
+; SafariZoneSecretHouse_h map_id=222
+SAFARI_ZONE_SECRET_HOUSE_HEIGHT EQU $04
+SAFARI_ZONE_SECRET_HOUSE_WIDTH EQU $04
+
+; SafariZoneRestHouse2_h map_id=223
+SAFARI_ZONE_REST_HOUSE_2_HEIGHT EQU $04
+SAFARI_ZONE_REST_HOUSE_2_WIDTH EQU $04
+
+; SafariZoneRestHouse3_h map_id=224
+SAFARI_ZONE_REST_HOUSE_3_HEIGHT EQU $04
+SAFARI_ZONE_REST_HOUSE_3_WIDTH EQU $04
+
+; SafariZoneRestHouse4_h map_id=225
+SAFARI_ZONE_REST_HOUSE_4_HEIGHT EQU $04
+SAFARI_ZONE_REST_HOUSE_4_WIDTH EQU $04
+
+; UnknownDungeon2_h map_id=226
+UNKNOWN_DUNGEON_2_HEIGHT EQU $09
+UNKNOWN_DUNGEON_2_WIDTH EQU $0f
+
+; UnknownDungeon3_h map_id=227
+UNKNOWN_DUNGEON_3_HEIGHT EQU $09
+UNKNOWN_DUNGEON_3_WIDTH EQU $0f
+
+; UnknownDungeon1_h map_id=228
+UNKNOWN_DUNGEON_1_HEIGHT EQU $09
+UNKNOWN_DUNGEON_1_WIDTH EQU $0f
+
+; NameRater_h map_id=229
+NAME_RATERS_HOUSE_HEIGHT EQU $04
+NAME_RATERS_HOUSE_WIDTH EQU $04
+
+; CeruleanHouse2_h map_id=230
+CERULEAN_HOUSE_2_HEIGHT EQU $04
+CERULEAN_HOUSE_2_WIDTH EQU $04
+
+; RockTunnel2_h map_id=232
+ROCK_TUNNEL_2_HEIGHT EQU $12
+ROCK_TUNNEL_2_WIDTH EQU $14
+
+; SilphCo9_h map_id=233
+SILPH_CO_9F_HEIGHT EQU $09
+SILPH_CO_9F_WIDTH EQU $0d
+
+; SilphCo10_h map_id=234
+SILPH_CO_10F_HEIGHT EQU $09
+SILPH_CO_10F_WIDTH EQU $08
+
+; SilphCo11_h map_id=235
+SILPH_CO_11F_HEIGHT EQU $09
+SILPH_CO_11F_WIDTH EQU $09
+
+; SilphCoElevator_h map_id=236
+SILPH_CO_ELEVATOR_HEIGHT EQU $02
+SILPH_CO_ELEVATOR_WIDTH EQU $02
+
+; BattleCenterM_h map_id=239
+BATTLE_CENTER_HEIGHT EQU $04
+BATTLE_CENTER_WIDTH EQU $05
+
+; TradeCenterM_h map_id=240
+TRADE_CENTER_HEIGHT EQU $04
+TRADE_CENTER_WIDTH EQU $05
+
+; Lorelei_h map_id=245
+LORELEIS_ROOM_HEIGHT EQU $06
+LORELEIS_ROOM_WIDTH EQU $05
+
+; Bruno_h map_id=246
+BRUNOS_ROOM_HEIGHT EQU $06
+BRUNOS_ROOM_WIDTH EQU $05
+
+; Agatha_h map_id=247
+AGATHAS_ROOM_HEIGHT EQU $06
+AGATHAS_ROOM_WIDTH EQU $05 \ No newline at end of file
diff --git a/constants/move_constants.asm b/constants/move_constants.asm
new file mode 100644
index 00000000..dd287fde
--- /dev/null
+++ b/constants/move_constants.asm
@@ -0,0 +1,179 @@
+POUND EQU $01
+KARATE_CHOP EQU $02
+DOUBLESLAP EQU $03
+COMET_PUNCH EQU $04
+MEGA_PUNCH EQU $05
+PAY_DAY EQU $06
+FIRE_PUNCH EQU $07
+ICE_PUNCH EQU $08
+THUNDERPUNCH EQU $09
+SCRATCH EQU $0A
+VICEGRIP EQU $0B
+GUILLOTINE EQU $0C
+RAZOR_WIND EQU $0D
+SWORDS_DANCE EQU $0E
+CUT EQU $0F
+GUST EQU $10
+WING_ATTACK EQU $11
+WHIRLWIND EQU $12
+FLY EQU $13
+BIND EQU $14
+SLAM EQU $15
+VINE_WHIP EQU $16
+STOMP EQU $17
+DOUBLE_KICK EQU $18
+MEGA_KICK EQU $19
+JUMP_KICK EQU $1A
+ROLLING_KICK EQU $1B
+SAND_ATTACK EQU $1C
+HEADBUTT EQU $1D
+HORN_ATTACK EQU $1E
+FURY_ATTACK EQU $1F
+HORN_DRILL EQU $20
+TACKLE EQU $21
+BODY_SLAM EQU $22
+WRAP EQU $23
+TAKE_DOWN EQU $24
+THRASH EQU $25
+DOUBLE_EDGE EQU $26
+TAIL_WHIP EQU $27
+POISON_STING EQU $28
+TWINEEDLE EQU $29
+PIN_MISSILE EQU $2A
+LEER EQU $2B
+BITE EQU $2C
+GROWL EQU $2D
+ROAR EQU $2E
+SING EQU $2F
+SUPERSONIC EQU $30
+SONICBOOM EQU $31
+DISABLE EQU $32
+ACID EQU $33
+EMBER EQU $34
+FLAMETHROWER EQU $35
+MIST EQU $36
+WATER_GUN EQU $37
+HYDRO_PUMP EQU $38
+SURF EQU $39
+ICE_BEAM EQU $3A
+BLIZZARD EQU $3B
+PSYBEAM EQU $3C
+BUBBLEBEAM EQU $3D
+AURORA_BEAM EQU $3E
+HYPER_BEAM EQU $3F
+PECK EQU $40
+DRILL_PECK EQU $41
+SUBMISSION EQU $42
+LOW_KICK EQU $43
+COUNTER EQU $44
+SEISMIC_TOSS EQU $45
+STRENGTH EQU $46
+ABSORB EQU $47
+MEGA_DRAIN EQU $48
+LEECH_SEED EQU $49
+GROWTH EQU $4A
+RAZOR_LEAF EQU $4B
+SOLARBEAM EQU $4C
+POISONPOWDER EQU $4D
+STUN_SPORE EQU $4E
+SLEEP_POWDER EQU $4F
+PETAL_DANCE EQU $50
+STRING_SHOT EQU $51
+DRAGON_RAGE EQU $52
+FIRE_SPIN EQU $53
+THUNDERSHOCK EQU $54
+THUNDERBOLT EQU $55
+THUNDER_WAVE EQU $56
+THUNDER EQU $57
+ROCK_THROW EQU $58
+EARTHQUAKE EQU $59
+FISSURE EQU $5A
+DIG EQU $5B
+TOXIC EQU $5C
+CONFUSION EQU $5D
+PSYCHIC_M EQU $5E
+HYPNOSIS EQU $5F
+MEDITATE EQU $60
+AGILITY EQU $61
+QUICK_ATTACK EQU $62
+RAGE EQU $63
+TELEPORT EQU $64
+NIGHT_SHADE EQU $65
+MIMIC EQU $66
+SCREECH EQU $67
+DOUBLE_TEAM EQU $68
+RECOVER EQU $69
+HARDEN EQU $6A
+MINIMIZE EQU $6B
+SMOKESCREEN EQU $6C
+CONFUSE_RAY EQU $6D
+WITHDRAW EQU $6E
+DEFENSE_CURL EQU $6F
+BARRIER EQU $70
+LIGHT_SCREEN EQU $71
+HAZE EQU $72
+REFLECT EQU $73
+FOCUS_ENERGY EQU $74
+BIDE EQU $75
+METRONOME EQU $76
+MIRROR_MOVE EQU $77
+SELFDESTRUCT EQU $78
+EGG_BOMB EQU $79
+LICK EQU $7A
+SMOG EQU $7B
+SLUDGE EQU $7C
+BONE_CLUB EQU $7D
+FIRE_BLAST EQU $7E
+WATERFALL EQU $7F
+CLAMP EQU $80
+SWIFT EQU $81
+SKULL_BASH EQU $82
+SPIKE_CANNON EQU $83
+CONSTRICT EQU $84
+AMNESIA EQU $85
+KINESIS EQU $86
+SOFTBOILED EQU $87
+HI_JUMP_KICK EQU $88
+GLARE EQU $89
+DREAM_EATER EQU $8A
+POISON_GAS EQU $8B
+BARRAGE EQU $8C
+LEECH_LIFE EQU $8D
+LOVELY_KISS EQU $8E
+SKY_ATTACK EQU $8F
+TRANSFORM EQU $90
+BUBBLE EQU $91
+DIZZY_PUNCH EQU $92
+SPORE EQU $93
+FLASH EQU $94
+PSYWAVE EQU $95
+SPLASH EQU $96
+ACID_ARMOR EQU $97
+CRABHAMMER EQU $98
+EXPLOSION EQU $99
+FURY_SWIPES EQU $9A
+BONEMERANG EQU $9B
+REST EQU $9C
+ROCK_SLIDE EQU $9D
+HYPER_FANG EQU $9E
+SHARPEN EQU $9F
+CONVERSION EQU $A0
+TRI_ATTACK EQU $A1
+SUPER_FANG EQU $A2
+SLASH EQU $A3
+SUBSTITUTE EQU $A4
+STRUGGLE EQU $A5
+; these do double duty as animation identifiers
+SHOWPIC_ANIM EQU $A6 ; redraw monster pic
+XSTATITEM_ANIM EQU $AE ; use X Attack/Defense/Speed/Special
+SLP_ANIM EQU $BD ; sleeping monster
+CONF_ANIM EQU $BF ; confused monster
+TOSS_ANIM EQU $C1 ; toss Poké Ball
+SHAKE_ANIM EQU $C2 ; shaking Poké Ball when catching monster
+POOF_ANIM EQU $C3 ; puff of smoke
+BLOCKBALL_ANIM EQU $C4 ; trainer knocks away Poké Ball
+GREATTOSS_ANIM EQU $C5 ; toss Great Ball
+ULTRATOSS_ANIM EQU $C6 ; toss Ultra Ball or Master Ball
+HIDEPIC_ANIM EQU $C8 ; monster disappears
+ROCK_ANIM EQU $C9 ; throw rock
+BAIT_ANIM EQU $CA ; throw bait \ No newline at end of file
diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm
new file mode 100644
index 00000000..088482dc
--- /dev/null
+++ b/constants/move_effect_constants.asm
@@ -0,0 +1,76 @@
+; tentative move effect constants
+; {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
+NO_ADDITIONAL_EFFECT EQU $00
+POISON_SIDE_EFFECT1 EQU $02
+DRAIN_HP_EFFECT EQU $03
+BURN_SIDE_EFFECT1 EQU $04
+FREEZE_SIDE_EFFECT EQU $05
+PARALYZE_SIDE_EFFECT1 EQU $06
+EXPLODE_EFFECT EQU $07 ; Explosion, Self Destruct
+DREAM_EATER_EFFECT EQU $08
+MIRROR_MOVE_EFFECT EQU $09
+ATTACK_UP1_EFFECT EQU $0A
+DEFENSE_UP1_EFFECT EQU $0B
+SPECIAL_UP1_EFFECT EQU $0D
+EVASION_UP1_EFFECT EQU $0F
+PAY_DAY_EFFECT EQU $10
+SWIFT_EFFECT EQU $11
+ATTACK_DOWN1_EFFECT EQU $12
+DEFENSE_DOWN1_EFFECT EQU $13
+SPEED_DOWN1_EFFECT EQU $14
+ACCURACY_DOWN1_EFFECT EQU $16
+CONVERSION_EFFECT EQU $18
+HAZE_EFFECT EQU $19
+BIDE_EFFECT EQU $1A
+THRASH_PETAL_DANCE_EFFECT EQU $1B
+SWITCH_AND_TELEPORT_EFFECT EQU $1C
+TWO_TO_FIVE_ATTACKS_EFFECT EQU $1D
+FLINCH_SIDE_EFFECT1 EQU $1F
+SLEEP_EFFECT EQU $20
+POISON_SIDE_EFFECT2 EQU $21
+BURN_SIDE_EFFECT2 EQU $22
+PARALYZE_SIDE_EFFECT2 EQU $24
+FLINCH_SIDE_EFFECT2 EQU $25
+OHKO_EFFECT EQU $26 ; moves like Horn Drill
+CHARGE_EFFECT EQU $27 ; moves like Solar Beam
+SUPER_FANG_EFFECT EQU $28
+SPECIAL_DAMAGE_EFFECT EQU $29 ; Seismic Toss, Night Shade, Sonic Boom, Dragon Rage, Psywave
+TRAPPING_EFFECT EQU $2A ; moves like Wrap
+FLY_EFFECT EQU $2B
+ATTACK_TWICE_EFFECT EQU $2C
+JUMP_KICK_EFFECT EQU $2D ; Jump Kick and Hi Jump Kick effect
+MIST_EFFECT EQU $2E
+FOCUS_ENERGY_EFFECT EQU $2F
+RECOIL_EFFECT EQU $30 ; moves like Double Edge
+CONFUSION_EFFECT EQU $31 ; Confuse Ray, Supersonic (not the move Confusion)
+ATTACK_UP2_EFFECT EQU $32
+DEFENSE_UP2_EFFECT EQU $33
+SPEED_UP2_EFFECT EQU $34
+SPECIAL_UP2_EFFECT EQU $35
+HEAL_EFFECT EQU $38 ; Recover, Softboiled, Rest
+TRANSFORM_EFFECT EQU $39
+DEFENSE_DOWN2_EFFECT EQU $3B
+LIGHT_SCREEN_EFFECT EQU $40
+REFLECT_EFFECT EQU $41
+POISON_EFFECT EQU $42
+PARALYZE_EFFECT EQU $43
+ATTACK_DOWN_SIDE_EFFECT EQU $44
+DEFENSE_DOWN_SIDE_EFFECT EQU $45
+SPEED_DOWN_SIDE_EFFECT EQU $46
+SPECIAL_DOWN_SIDE_EFFECT EQU $47
+CONFUSION_SIDE_EFFECT EQU $4C
+TWINEEDLE_EFFECT EQU $4D
+SUBSTITUTE_EFFECT EQU $4F
+HYPER_BEAM_EFFECT EQU $50
+RAGE_EFFECT EQU $51
+MIMIC_EFFECT EQU $52
+METRONOME_EFFECT EQU $53
+LEECH_SEED_EFFECT EQU $54
+SPLASH_EFFECT EQU $55
+DISABLE_EFFECT EQU $56
+
+; fixed damage constants
+SONICBOOM_DAMAGE EQU 20
+DRAGON_RAGE_DAMAGE EQU 40 \ No newline at end of file
diff --git a/constants/oam_constants.asm b/constants/oam_constants.asm
new file mode 100755
index 00000000..a707e16d
--- /dev/null
+++ b/constants/oam_constants.asm
@@ -0,0 +1,9 @@
+; OAM flags used by this game
+OAMFLAG_ENDOFDATA EQU %00000001 ; pseudo OAM flag, only used by game logic
+OAMFLAG_CANBEMASKED EQU %00000010 ; pseudo OAM flag, only used by game logic
+OAMFLAG_VFLIPPED EQU %00100000 ; OAM flag flips the sprite vertically.
+; Used for making left facing sprites face right and to alternate between left and right foot animation when walking up or down
+
+; OAM attribute flags
+OAM_HFLIP EQU %00100000 ; horizontal flip
+OAM_VFLIP EQU %01000000 ; vertical flip \ No newline at end of file
diff --git a/constants/palette_constants.asm b/constants/palette_constants.asm
new file mode 100644
index 00000000..56e48080
--- /dev/null
+++ b/constants/palette_constants.asm
@@ -0,0 +1,38 @@
+; super game boy palettes
+PAL_ROUTE EQU $00
+PAL_PALLET EQU $01
+PAL_VIRIDIAN EQU $02
+PAL_PEWTER EQU $03
+PAL_CERULEAN EQU $04
+PAL_LAVENDER EQU $05
+PAL_VERMILION EQU $06
+PAL_CELADON EQU $07
+PAL_FUCHSIA EQU $08
+PAL_CINNABAR EQU $09
+PAL_INDIGO EQU $0A
+PAL_SAFFRON EQU $0B
+PAL_TOWNMAP EQU $0C
+PAL_LOGO1 EQU $0D
+; XXX
+PAL_LOGO2 EQU $0F
+PAL_MEWMON EQU $10
+PAL_BLUEMON EQU $11
+PAL_REDMON EQU $12
+PAL_CYANMON EQU $13
+PAL_PURPLEMON EQU $14
+PAL_BROWNMON EQU $15
+PAL_GREENMON EQU $16
+PAL_PINKMON EQU $17
+PAL_YELLOWMON EQU $18
+PAL_GREYMON EQU $19
+PAL_SLOTS1 EQU $1A
+PAL_SLOTS2 EQU $1B
+PAL_SLOTS3 EQU $1C
+PAL_SLOTS4 EQU $1D
+PAL_BLACK EQU $1E
+PAL_GREENBAR EQU $1F
+PAL_YELLOWBAR EQU $20
+PAL_REDBAR EQU $21
+PAL_BADGE EQU $22
+PAL_CAVE EQU $23
+; XXX \ No newline at end of file
diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm
new file mode 100644
index 00000000..c9ba6ae8
--- /dev/null
+++ b/constants/pokedex_constants.asm
@@ -0,0 +1,151 @@
+DEX_BULBASAUR EQU 1
+DEX_IVYSAUR EQU 2
+DEX_VENUSAUR EQU 3
+DEX_CHARMANDER EQU 4
+DEX_CHARMELEON EQU 5
+DEX_CHARIZARD EQU 6
+DEX_SQUIRTLE EQU 7
+DEX_WARTORTLE EQU 8
+DEX_BLASTOISE EQU 9
+DEX_CATERPIE EQU 10
+DEX_METAPOD EQU 11
+DEX_BUTTERFREE EQU 12
+DEX_WEEDLE EQU 13
+DEX_KAKUNA EQU 14
+DEX_BEEDRILL EQU 15
+DEX_PIDGEY EQU 16
+DEX_PIDGEOTTO EQU 17
+DEX_PIDGEOT EQU 18
+DEX_RATTATA EQU 19
+DEX_RATICATE EQU 20
+DEX_SPEAROW EQU 21
+DEX_FEAROW EQU 22
+DEX_EKANS EQU 23
+DEX_ARBOK EQU 24
+DEX_PIKACHU EQU 25
+DEX_RAICHU EQU 26
+DEX_SANDSHREW EQU 27
+DEX_SANDSLASH EQU 28
+DEX_NIDORAN_F EQU 29
+DEX_NIDORINA EQU 30
+DEX_NIDOQUEEN EQU 31
+DEX_NIDORAN_M EQU 32
+DEX_NIDORINO EQU 33
+DEX_NIDOKING EQU 34
+DEX_CLEFAIRY EQU 35
+DEX_CLEFABLE EQU 36
+DEX_VULPIX EQU 37
+DEX_NINETALES EQU 38
+DEX_JIGGLYPUFF EQU 39
+DEX_WIGGLYTUFF EQU 40
+DEX_ZUBAT EQU 41
+DEX_GOLBAT EQU 42
+DEX_ODDISH EQU 43
+DEX_GLOOM EQU 44
+DEX_VILEPLUME EQU 45
+DEX_PARAS EQU 46
+DEX_PARASECT EQU 47
+DEX_VENONAT EQU 48
+DEX_VENOMOTH EQU 49
+DEX_DIGLETT EQU 50
+DEX_DUGTRIO EQU 51
+DEX_MEOWTH EQU 52
+DEX_PERSIAN EQU 53
+DEX_PSYDUCK EQU 54
+DEX_GOLDUCK EQU 55
+DEX_MANKEY EQU 56
+DEX_PRIMEAPE EQU 57
+DEX_GROWLITHE EQU 58
+DEX_ARCANINE EQU 59
+DEX_POLIWAG EQU 60
+DEX_POLIWHIRL EQU 61
+DEX_POLIWRATH EQU 62
+DEX_ABRA EQU 63
+DEX_KADABRA EQU 64
+DEX_ALAKAZAM EQU 65
+DEX_MACHOP EQU 66
+DEX_MACHOKE EQU 67
+DEX_MACHAMP EQU 68
+DEX_BELLSPROUT EQU 69
+DEX_WEEPINBELL EQU 70
+DEX_VICTREEBEL EQU 71
+DEX_TENTACOOL EQU 72
+DEX_TENTACRUEL EQU 73
+DEX_GEODUDE EQU 74
+DEX_GRAVELER EQU 75
+DEX_GOLEM EQU 76
+DEX_PONYTA EQU 77
+DEX_RAPIDASH EQU 78
+DEX_SLOWPOKE EQU 79
+DEX_SLOWBRO EQU 80
+DEX_MAGNEMITE EQU 81
+DEX_MAGNETON EQU 82
+DEX_FARFETCH_D EQU 83
+DEX_DODUO EQU 84
+DEX_DODRIO EQU 85
+DEX_SEEL EQU 86
+DEX_DEWGONG EQU 87
+DEX_GRIMER EQU 88
+DEX_MUK EQU 89
+DEX_SHELLDER EQU 90
+DEX_CLOYSTER EQU 91
+DEX_GASTLY EQU 92
+DEX_HAUNTER EQU 93
+DEX_GENGAR EQU 94
+DEX_ONIX EQU 95
+DEX_DROWZEE EQU 96
+DEX_HYPNO EQU 97
+DEX_KRABBY EQU 98
+DEX_KINGLER EQU 99
+DEX_VOLTORB EQU 100
+DEX_ELECTRODE EQU 101
+DEX_EXEGGCUTE EQU 102
+DEX_EXEGGUTOR EQU 103
+DEX_CUBONE EQU 104
+DEX_MAROWAK EQU 105
+DEX_HITMONLEE EQU 106
+DEX_HITMONCHAN EQU 107
+DEX_LICKITUNG EQU 108
+DEX_KOFFING EQU 109
+DEX_WEEZING EQU 110
+DEX_RHYHORN EQU 111
+DEX_RHYDON EQU 112
+DEX_CHANSEY EQU 113
+DEX_TANGELA EQU 114
+DEX_KANGASKHAN EQU 115
+DEX_HORSEA EQU 116
+DEX_SEADRA EQU 117
+DEX_GOLDEEN EQU 118
+DEX_SEAKING EQU 119
+DEX_STARYU EQU 120
+DEX_STARMIE EQU 121
+DEX_MR_MIME EQU 122
+DEX_SCYTHER EQU 123
+DEX_JYNX EQU 124
+DEX_ELECTABUZZ EQU 125
+DEX_MAGMAR EQU 126
+DEX_PINSIR EQU 127
+DEX_TAUROS EQU 128
+DEX_MAGIKARP EQU 129
+DEX_GYARADOS EQU 130
+DEX_LAPRAS EQU 131
+DEX_DITTO EQU 132
+DEX_EEVEE EQU 133
+DEX_VAPOREON EQU 134
+DEX_JOLTEON EQU 135
+DEX_FLAREON EQU 136
+DEX_PORYGON EQU 137
+DEX_OMANYTE EQU 138
+DEX_OMASTAR EQU 139
+DEX_KABUTO EQU 140
+DEX_KABUTOPS EQU 141
+DEX_AERODACTYL EQU 142
+DEX_SNORLAX EQU 143
+DEX_ARTICUNO EQU 144
+DEX_ZAPDOS EQU 145
+DEX_MOLTRES EQU 146
+DEX_DRATINI EQU 147
+DEX_DRAGONAIR EQU 148
+DEX_DRAGONITE EQU 149
+DEX_MEWTWO EQU 150
+DEX_MEW EQU 151 \ No newline at end of file
diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm
new file mode 100644
index 00000000..af74e8f4
--- /dev/null
+++ b/constants/pokemon_constants.asm
@@ -0,0 +1,154 @@
+RHYDON EQU $01
+KANGASKHAN EQU $02
+NIDORAN_M EQU $03
+CLEFAIRY EQU $04
+SPEAROW EQU $05
+VOLTORB EQU $06
+NIDOKING EQU $07
+SLOWBRO EQU $08
+IVYSAUR EQU $09
+EXEGGUTOR EQU $0A
+LICKITUNG EQU $0B
+EXEGGCUTE EQU $0C
+GRIMER EQU $0D
+GENGAR EQU $0E
+NIDORAN_F EQU $0F
+NIDOQUEEN EQU $10
+CUBONE EQU $11
+RHYHORN EQU $12
+LAPRAS EQU $13
+ARCANINE EQU $14
+MEW EQU $15
+GYARADOS EQU $16
+SHELLDER EQU $17
+TENTACOOL EQU $18
+GASTLY EQU $19
+SCYTHER EQU $1A
+STARYU EQU $1B
+BLASTOISE EQU $1C
+PINSIR EQU $1D
+TANGELA EQU $1E
+GROWLITHE EQU $21
+ONIX EQU $22
+FEAROW EQU $23
+PIDGEY EQU $24
+SLOWPOKE EQU $25
+KADABRA EQU $26
+GRAVELER EQU $27
+CHANSEY EQU $28
+MACHOKE EQU $29
+MR_MIME EQU $2A
+HITMONLEE EQU $2B
+HITMONCHAN EQU $2C
+ARBOK EQU $2D
+PARASECT EQU $2E
+PSYDUCK EQU $2F
+DROWZEE EQU $30
+GOLEM EQU $31
+MAGMAR EQU $33
+ELECTABUZZ EQU $35
+MAGNETON EQU $36
+KOFFING EQU $37
+MANKEY EQU $39
+SEEL EQU $3A
+DIGLETT EQU $3B
+TAUROS EQU $3C
+FARFETCH_D EQU $40
+VENONAT EQU $41
+DRAGONITE EQU $42
+DODUO EQU $46
+POLIWAG EQU $47
+JYNX EQU $48
+MOLTRES EQU $49
+ARTICUNO EQU $4A
+ZAPDOS EQU $4B
+DITTO EQU $4C
+MEOWTH EQU $4D
+KRABBY EQU $4E
+VULPIX EQU $52
+NINETALES EQU $53
+PIKACHU EQU $54
+RAICHU EQU $55
+DRATINI EQU $58
+DRAGONAIR EQU $59
+KABUTO EQU $5A
+KABUTOPS EQU $5B
+HORSEA EQU $5C
+SEADRA EQU $5D
+SANDSHREW EQU $60
+SANDSLASH EQU $61
+OMANYTE EQU $62
+OMASTAR EQU $63
+JIGGLYPUFF EQU $64
+WIGGLYTUFF EQU $65
+EEVEE EQU $66
+FLAREON EQU $67
+JOLTEON EQU $68
+VAPOREON EQU $69
+MACHOP EQU $6A
+ZUBAT EQU $6B
+EKANS EQU $6C
+PARAS EQU $6D
+POLIWHIRL EQU $6E
+POLIWRATH EQU $6F
+WEEDLE EQU $70
+KAKUNA EQU $71
+BEEDRILL EQU $72
+DODRIO EQU $74
+PRIMEAPE EQU $75
+DUGTRIO EQU $76
+VENOMOTH EQU $77
+DEWGONG EQU $78
+CATERPIE EQU $7B
+METAPOD EQU $7C
+BUTTERFREE EQU $7D
+MACHAMP EQU $7E
+GOLDUCK EQU $80
+HYPNO EQU $81
+GOLBAT EQU $82
+MEWTWO EQU $83
+SNORLAX EQU $84
+MAGIKARP EQU $85
+MUK EQU $88
+KINGLER EQU $8A
+CLOYSTER EQU $8B
+ELECTRODE EQU $8D
+CLEFABLE EQU $8E
+WEEZING EQU $8F
+PERSIAN EQU $90
+MAROWAK EQU $91
+HAUNTER EQU $93
+ABRA EQU $94
+ALAKAZAM EQU $95
+PIDGEOTTO EQU $96
+PIDGEOT EQU $97
+STARMIE EQU $98
+BULBASAUR EQU $99
+VENUSAUR EQU $9A
+TENTACRUEL EQU $9B
+GOLDEEN EQU $9D
+SEAKING EQU $9E
+PONYTA EQU $A3
+RAPIDASH EQU $A4
+RATTATA EQU $A5
+RATICATE EQU $A6
+NIDORINO EQU $A7
+NIDORINA EQU $A8
+GEODUDE EQU $A9
+PORYGON EQU $AA
+AERODACTYL EQU $AB
+MAGNEMITE EQU $AD
+CHARMANDER EQU $B0
+SQUIRTLE EQU $B1
+CHARMELEON EQU $B2
+WARTORTLE EQU $B3
+CHARIZARD EQU $B4
+FOSSIL_KABUTOPS EQU $B6
+FOSSIL_AERODACTYL EQU $B7
+MON_GHOST EQU $B8
+ODDISH EQU $B9
+GLOOM EQU $BA
+VILEPLUME EQU $BB
+BELLSPROUT EQU $BC
+WEEPINBELL EQU $BD
+VICTREEBEL EQU $BE \ No newline at end of file
diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm
new file mode 100755
index 00000000..cc791a57
--- /dev/null
+++ b/constants/sprite_constants.asm
@@ -0,0 +1,89 @@
+; pokemon's overworld sprites
+SPRITE_MON EQU $0
+SPRITE_BALL_M EQU $1
+SPRITE_HELIX EQU $2
+SPRITE_FAIRY EQU $3
+SPRITE_BIRD_M EQU $4
+SPRITE_WATER EQU $5
+SPRITE_BUG EQU $6
+SPRITE_GRASS EQU $7
+SPRITE_SNAKE EQU $8
+SPRITE_QUADRUPED EQU $9
+
+; overworld sprites
+SPRITE_RED EQU $01
+SPRITE_BLUE EQU $02
+SPRITE_OAK EQU $03
+SPRITE_BUG_CATCHER EQU $04
+SPRITE_SLOWBRO EQU $05
+SPRITE_LASS EQU $06
+SPRITE_BLACK_HAIR_BOY_1 EQU $07
+SPRITE_LITTLE_GIRL EQU $08
+SPRITE_BIRD EQU $09
+SPRITE_FAT_BALD_GUY EQU $0a
+SPRITE_GAMBLER EQU $0b
+SPRITE_BLACK_HAIR_BOY_2 EQU $0c
+SPRITE_GIRL EQU $0d
+SPRITE_HIKER EQU $0e
+SPRITE_FOULARD_WOMAN EQU $0f
+SPRITE_GENTLEMAN EQU $10
+SPRITE_DAISY EQU $11
+SPRITE_BIKER EQU $12
+SPRITE_SAILOR EQU $13
+SPRITE_COOK EQU $14
+SPRITE_BIKE_SHOP_GUY EQU $15
+SPRITE_MR_FUJI EQU $16
+SPRITE_GIOVANNI EQU $17
+SPRITE_ROCKET EQU $18
+SPRITE_MEDIUM EQU $19
+SPRITE_WAITER EQU $1a
+SPRITE_ERIKA EQU $1b
+SPRITE_MOM_GEISHA EQU $1c
+SPRITE_BRUNETTE_GIRL EQU $1d
+SPRITE_LANCE EQU $1e
+SPRITE_OAK_SCIENTIST_AIDE EQU $1f
+SPRITE_OAK_AIDE EQU $20
+SPRITE_ROCKER EQU $21
+SPRITE_SWIMMER EQU $22
+SPRITE_WHITE_PLAYER EQU $23
+SPRITE_GYM_HELPER EQU $24
+SPRITE_OLD_PERSON EQU $25
+SPRITE_MART_GUY EQU $26
+SPRITE_FISHER EQU $27
+SPRITE_OLD_MEDIUM_WOMAN EQU $28
+SPRITE_NURSE EQU $29
+SPRITE_CABLE_CLUB_WOMAN EQU $2a
+SPRITE_MR_MASTERBALL EQU $2b
+SPRITE_LAPRAS_GIVER EQU $2c
+SPRITE_WARDEN EQU $2d
+SPRITE_SS_CAPTAIN EQU $2e
+SPRITE_FISHER2 EQU $2f
+SPRITE_BLACKBELT EQU $30
+SPRITE_GUARD EQU $31
+;SPRITE_COP_GUARD EQU $32
+SPRITE_MOM EQU $33
+SPRITE_BALDING_GUY EQU $34
+SPRITE_YOUNG_BOY EQU $35
+SPRITE_GAMEBOY_KID EQU $36
+SPRITE_GAMEBOY_KID_COPY EQU $37
+SPRITE_CLEFAIRY EQU $38
+SPRITE_AGATHA EQU $39
+SPRITE_BRUNO EQU $3a
+SPRITE_LORELEI EQU $3b
+SPRITE_SEEL EQU $3c
+SPRITE_BALL EQU $3d
+SPRITE_OMANYTE EQU $3e
+SPRITE_BOULDER EQU $3f
+SPRITE_PAPER_SHEET EQU $40
+SPRITE_BOOK_MAP_DEX EQU $41
+SPRITE_CLIPBOARD EQU $42
+SPRITE_SNORLAX EQU $43
+SPRITE_OLD_AMBER_COPY EQU $44
+SPRITE_OLD_AMBER EQU $45
+SPRITE_LYING_OLD_MAN_UNUSED_1 EQU $46
+SPRITE_LYING_OLD_MAN_UNUSED_2 EQU $47
+SPRITE_LYING_OLD_MAN EQU $48
+
+; different kinds of people events
+ITEM EQU $80
+TRAINER EQU $40 \ No newline at end of file
diff --git a/constants/status_constants.asm b/constants/status_constants.asm
new file mode 100755
index 00000000..8dd99e1d
--- /dev/null
+++ b/constants/status_constants.asm
@@ -0,0 +1,6 @@
+; status ailments (masks)
+SLP EQU %00000111
+PSN EQU %00001000
+BRN EQU %00010000
+FRZ EQU %00100000
+PAR EQU %01000000 \ No newline at end of file
diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm
new file mode 100644
index 00000000..37a51376
--- /dev/null
+++ b/constants/trainer_constants.asm
@@ -0,0 +1,48 @@
+; sometimes it's necessary to add $C8 to these values
+YOUNGSTER EQU $01
+BUG_CATCHER EQU $02
+LASS EQU $03
+SAILOR EQU $04
+JR__TRAINER_M EQU $05
+JR__TRAINER_F EQU $06
+POKEMANIAC EQU $07
+SUPER_NERD EQU $08
+HIKER EQU $09
+BIKER EQU $0A
+BURGLAR EQU $0B
+ENGINEER EQU $0C
+JUGGLER_X EQU $0D
+FISHER EQU $0E
+SWIMMER EQU $0F
+CUE_BALL EQU $10
+GAMBLER EQU $11
+BEAUTY EQU $12
+PSYCHIC_TR EQU $13
+ROCKER EQU $14
+JUGGLER EQU $15
+TAMER EQU $16
+BIRD_KEEPER EQU $17
+BLACKBELT EQU $18
+SONY1 EQU $19
+PROF_OAK EQU $1A
+CHIEF EQU $1B
+SCIENTIST EQU $1C
+GIOVANNI EQU $1D
+ROCKET EQU $1E
+COOLTRAINER_M EQU $1F
+COOLTRAINER_F EQU $20
+BRUNO EQU $21
+BROCK EQU $22
+MISTY EQU $23
+LT__SURGE EQU $24
+ERIKA EQU $25
+KOGA EQU $26
+BLAINE EQU $27
+SABRINA EQU $28
+GENTLEMAN EQU $29
+SONY2 EQU $2A
+SONY3 EQU $2B
+LORELEI EQU $2C
+CHANNELER EQU $2D
+AGATHA EQU $2E
+LANCE EQU $2F \ No newline at end of file
diff --git a/constants/type_constants.asm b/constants/type_constants.asm
new file mode 100755
index 00000000..7ded18c3
--- /dev/null
+++ b/constants/type_constants.asm
@@ -0,0 +1,16 @@
+; 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 \ No newline at end of file
diff --git a/extras b/extras
-Subproject c57e0f0706608a4acba89182945bec975a43acf
+Subproject d8f4e687ebc49d4b135f0d8b7f10a643114a0d8
diff --git a/gfx/ED_tile.1bpp b/gfx/ED_tile.1bpp
new file mode 100755
index 00000000..7bbee183
--- /dev/null
+++ b/gfx/ED_tile.1bpp
@@ -0,0 +1 @@
+  \ No newline at end of file
diff --git a/gfx/blue/slotmachine1.2bpp b/gfx/blue/slotmachine1.2bpp
index c83ef184..0b79d447 100644..100755
--- a/gfx/blue/slotmachine1.2bpp
+++ b/gfx/blue/slotmachine1.2bpp
Binary files differ
diff --git a/gfx/emotion_bubbles.2bpp b/gfx/emotion_bubbles.2bpp
index c8a13e2f..b1900c58 100755
--- a/gfx/emotion_bubbles.2bpp
+++ b/gfx/emotion_bubbles.2bpp
Binary files differ
diff --git a/gfx/red/slotmachine1.2bpp b/gfx/red/slotmachine1.2bpp
index 32d4daa5..be40a1df 100644..100755
--- a/gfx/red/slotmachine1.2bpp
+++ b/gfx/red/slotmachine1.2bpp
Binary files differ
diff --git a/hram.asm b/hram.asm
new file mode 100644
index 00000000..6f807c90
--- /dev/null
+++ b/hram.asm
@@ -0,0 +1,116 @@
+
+H_SPRITEWIDTH EQU $FF8B ; in bytes
+H_SPRITEINTERLACECOUNTER EQU $FF8B
+H_SPRITEHEIGHT EQU $FF8C ; in bytes
+H_SPRITEOFFSET EQU $FF8D
+
+H_SOFTRESETCOUNTER EQU $FF8A ; initialized to 16, decremented each input iteration if the user presses the reset sequence (A+B+S+s). Soft reset when 0 is reached.
+
+; counters for blinking down arrow
+H_DOWNARROWBLINKCNT1 EQU $FF8B
+H_DOWNARROWBLINKCNT2 EQU $FF8C
+
+; Note: the following multiplication and division addresses are used for multiple purposes
+; and so they overlap with each other
+
+H_MULTIPLICAND EQU $FF96 ; 3 bytes, big endian order
+H_MULTIPLIER EQU $FF99 ; 1 byte
+H_PRODUCT EQU $FF95 ; 4 bytes, big endian order
+
+H_DIVIDEND EQU $FF95 ; 4 bytes, big endian order
+H_DIVISOR EQU $FF99 ; 1 byte
+H_QUOTIENT EQU $FF95 ; 4 bytes, big endian order
+H_REMAINDER EQU $FF99 ; 1 byte
+
+; used to convert numbers to decimal
+H_PASTLEADINGZEROES EQU $FF95 ; flag to indicate that a nonzero digit has been printed
+H_NUMTOPRINT EQU $FF96 ; 3 bytes, big endian order
+H_POWEROFTEN EQU $FF99 ; 3 bytes, big endian order
+H_SAVEDNUMTOPRINT EQU $FF9C ; 3 bytes, big endian order (to back out of a subtraction)
+
+H_OLDPRESSEDBUTTONS EQU $FFB1
+H_NEWLYRELEASEDBUTTONS EQU $FFB2
+H_NEWLYPRESSEDBUTTONS EQU $FFB3
+H_CURRENTPRESSEDBUTTONS EQU $FFB4
+
+H_LOADEDROMBANK EQU $FFB8
+
+; is automatic background transfer during V-blank enabled?
+; if nonzero, yes
+; if zero, no
+H_AUTOBGTRANSFERENABLED EQU $FFBA
+
+TRANSFERTOP EQU 0
+TRANSFERMIDDLE EQU 1
+TRANSFERBOTTOM EQU 2
+
+; 00 = top third of background
+; 01 = middle third of background
+; 02 = bottom third of background
+H_AUTOBGTRANSFERPORTION EQU $FFBB
+
+; the destination address of the automatic background transfer
+H_AUTOBGTRANSFERDEST EQU $FFBC ; 2 bytes
+
+; temporary storage for stack pointer during memory transfers that use pop
+; to increase speed
+H_SPTEMP 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
+
+; destination address for VBlankCopyBgMap function
+H_VBCOPYBGDEST EQU $FFC3 ; 2 bytes
+
+; number of rows for VBlankCopyBgMap to copy
+H_VBCOPYBGNUMROWS EQU $FFC5
+
+; size of VBlankCopy transfer in 16-byte units
+H_VBCOPYSIZE EQU $FFC6
+
+; source address for VBlankCopy function
+H_VBCOPYSRC EQU $FFC7
+
+; destination address for VBlankCopy function
+H_VBCOPYDEST EQU $FFC9
+
+; size of source data for VBlankCopyDouble in 8-byte units
+H_VBCOPYDOUBLESIZE EQU $FFCB
+
+; source address for VBlankCopyDouble function
+H_VBCOPYDOUBLESRC EQU $FFCC
+
+; destination address for VBlankCopyDouble function
+H_VBCOPYDOUBLEDEST EQU $FFCE
+
+; controls whether a row or column of 2x2 tile blocks is redrawn in V-blank
+; 00 = no redraw
+; 01 = redraw column
+; 02 = redraw row
+H_SCREENEDGEREDRAW EQU $FFD0
+
+REDRAWCOL EQU 1
+REDRAWROW EQU 2
+
+H_SCREENEDGEREDRAWADDR EQU $FFD1
+
+H_RAND1 EQU $FFD3
+H_RAND2 EQU $FFD4
+
+H_FRAMECOUNTER 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
+
+H_CURRENTSPRITEOFFSET EQU $FFDA ; multiple of $10
+
+H_WHOSETURN EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn
+
+H_JOYPADSTATE EQU $FFF8
+
diff --git a/init.sh b/init.sh
new file mode 100755
index 00000000..671f61fd
--- /dev/null
+++ b/init.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# install rgbds
+git clone git://github.com/bentley/rgbds.git && \
+cd rgbds && \
+make && \
+sudo mkdir -p /usr/local/man/man{1,7} && \
+sudo make install && \
+cd .. && \
+rm -rf rgbds
+
+# set up the submodule (extras/)
+git submodule init && \
+git submodule update && \
+sudo easy_install pip && \
+sudo pip install -r extras/requirements.txt
+
diff --git a/macros.asm b/macros.asm
new file mode 100644
index 00000000..7a5660a4
--- /dev/null
+++ b/macros.asm
@@ -0,0 +1,265 @@
+
+;\1 = X
+;\2 = Y
+FuncCoord: MACRO
+Coord = $C3A0 + 20 * \2 + \1
+ ENDM
+
+;\1 = Map Width
+;\2 = Rows above (Y-blocks)
+;\3 = X movement (X-blocks)
+EVENT_DISP: MACRO
+ dw ($C6EF + (\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
+ db (\1 + (\2 << 4))
+ 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
+ db \2 + \3 << 4
+ dw \4
+ ENDM
+
+; tilesets' headers macro
+TSETHEAD: MACRO
+ db BANK(\2)
+ dw \1,\2,\3
+ db \4,\5,\6,\7,\8
+ 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
+
+; data format macros
+RGB: MACRO
+ dw (\3 << 10 | \2 << 5 | \1)
+ ENDM
+
+; text macros
+TX_NUM: MACRO
+; print a big-endian decimal number.
+; \1: address to read from
+; \2: number of bytes to read
+; \3: number of digits to display
+ db $09
+ dw \1
+ db \2 << 4 | \3
+ ENDM
+
+TX_FAR: MACRO
+ db $17
+ dw \1
+ db BANK(\1)
+ ENDM
+
+; text engine command $1
+TX_RAM: MACRO
+; prints text to screen
+; \1: RAM address to read from
+ db $1
+ dw \1
+ ENDM
+
+; Predef macro.
+PREDEF: MACRO
+ ld a, (\1 - PredefPointers) / 3
+ call Predef
+ ENDM
+
+PREDEF_JUMP: MACRO
+ ld a, (\1 - PredefPointers) / 3
+ jp Predef
+ ENDM
+
+
+
+;1_channel EQU $00
+;2_channels EQU $40
+;3_channels EQU $80
+;4_channels EQU $C0
+
+CH0 EQU 0
+CH1 EQU 1
+CH2 EQU 2
+CH3 EQU 3
+CH4 EQU 4
+CH5 EQU 5
+CH6 EQU 6
+CH7 EQU 7
+
+;Note Pitch
+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
+
+;drum instruments
+snare1 EQU $01
+snare2 EQU $02
+snare3 EQU $03
+snare4 EQU $04
+snare5 EQU $05
+triangle1 EQU $06
+triangle2 EQU $07
+snare6 EQU $08
+snare7 EQU $09
+snare8 EQU $0a
+snare9 EQU $0b
+cymbal1 EQU $0c
+cymbal2 EQU $0d
+cymbal3 EQU $0e
+mutedsnare1 EQU $0f
+triangle3 EQU $10
+mutedsnare2 EQU $11
+mutedsnare3 EQU $12
+mutedsnare4 EQU $13
+
+unknownsfx0x10: MACRO
+ db $10
+ db \1
+ENDM
+
+unknownsfx0x20: MACRO
+ db $20 | \1
+ db \2
+ db \3
+ db \4
+ENDM
+
+unknownnoise0x20: MACRO
+ db $20 | \1
+ db \2
+ db \3
+ENDM
+
+;format: note pitch, length (in 16ths)
+note: MACRO
+ db (\1 << 4) | (\2 - 1)
+ENDM
+
+;format: dnote length (in 16ths), instrument
+dnote: MACRO
+ db $B0 | (\1 - 1)
+ db \2
+ENDM
+
+;format: rest length (in 16ths)
+rest: MACRO
+ db $C0 | (\1 - 1)
+ENDM
+
+; format: notetype speed, volume, fade
+notetype: MACRO
+ db $D0 | \1
+ db (\2 << 4) | \3
+ENDM
+
+dspeed: MACRO
+ db $D0 | \1
+ENDM
+
+octave: MACRO
+ db $E8 - \1
+ENDM
+
+togglecall: MACRO
+ db $E8
+ENDM
+
+;format: vibrato delay, rate, depth
+vibrato: MACRO
+ db $EA
+ db \1
+ db (\2 << 4) | \3
+ENDM
+
+pitchbend: MACRO
+ db $EB
+ db \1
+ db \2
+ENDM
+
+duty: MACRO
+ db $EC
+ db \1
+ENDM
+
+tempo: MACRO
+ db $ED
+ db \1
+ db \2
+ENDM
+
+unknownmusic0xee: MACRO
+ db $EE
+ db \1
+ENDM
+
+stereopanning: MACRO
+ db $F0
+ db \1
+ENDM
+
+executemusic: MACRO
+ db $F8
+ENDM
+
+dutycycle: MACRO
+ db $FC
+ db \1
+ENDM
+
+;format: callchannel address
+;callchannel: MACRO
+; db $FD
+; dw \1
+;ENDM
+
+;format: loopchannel count, address
+;loopchannel: MACRO
+; db $FE
+; db \1
+; dw \2
+;ENDM
+
+endchannel: MACRO
+ db $FF
+ENDM
+
diff --git a/main.asm b/main.asm
index ac7eeafa..2960c2f4 100755
--- a/main.asm
+++ b/main.asm
@@ -58,7 +58,7 @@ EnableLCD: ; 007b (0:007b)
CleanLCD_OAM: ; 0082 (0:0082)
xor a
- ld hl,W_OAMBUFFER
+ ld hl,wOAMBuffer
ld b,$a0
.loop
ld [hli],a
@@ -68,7 +68,7 @@ CleanLCD_OAM: ; 0082 (0:0082)
ResetLCD_OAM: ; 008d (0:008d)
ld a,$a0
- ld hl,W_OAMBUFFER
+ ld hl,wOAMBuffer
ld de,$0004
ld b,$28
.loop
@@ -261,7 +261,7 @@ MapHeaderPointers: ; 01ae (0:01ae)
dw UndergroundTunnelEntranceRoute6_h ; unused
dw Route7Gate_h
dw UndergroundPathEntranceRoute7_h
- dw $575d
+ dw UndergroundPathEntranceRoute7Copy_h
dw Route8Gate_h
dw UndergroundPathEntranceRoute8_h ;id=80
dw RockTunnelPokecenter_h
@@ -444,7 +444,7 @@ HandleMidJump: ; 039e (0:039e)
; this is jumped to immediately after loading a save / starting a new game / loading a new map
EnterMap: ; 03a6 (0:03a6)
ld a,$ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK],a
+ ld [wJoypadForbiddenButtonsMask],a
call LoadMapData ; load map data
ld b,BANK(Func_c335)
ld hl,Func_c335
@@ -480,7 +480,7 @@ EnterMap: ; 03a6 (0:03a6)
set 5,[hl]
set 6,[hl]
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK],a
+ ld [wJoypadForbiddenButtonsMask],a
OverworldLoop: ; 03ff (0:03ff)
call DelayFrame
@@ -490,7 +490,7 @@ OverworldLoopLessDelay: ; 0402 (0:0402)
ld a,[$d736]
bit 6,a ; jumping down a ledge?
call nz, HandleMidJump
- ld a,[W_WALKCOUNTER]
+ ld a,[wWalkCounter]
and a
jp nz,.moveAhead ; if the player sprite has not yet completed the walking animation
call GetJoypadStateOverworld ; get joypad state (which is possibly simulated)
@@ -545,7 +545,7 @@ OverworldLoopLessDelay: ; 0402 (0:0402)
ld a,$35
call Predef ; check what is in front of the player
call UpdateSprites ; move sprites
- ld a,[W_FLAGS_CD60]
+ ld a,[wFlags_0xcd60]
bit 2,a
jr nz,.checkForOpponent
bit 0,a
@@ -565,7 +565,7 @@ OverworldLoopLessDelay: ; 0402 (0:0402)
call Predef
ld a,[W_CURMAP]
ld [$d71a],a
- call Function62CE
+ call Func_62ce
ld a,[W_CURMAP]
call SwitchToMapRomBank ; switch to the ROM bank of the current map
ld hl,$d367
@@ -578,7 +578,7 @@ OverworldLoopLessDelay: ; 0402 (0:0402)
jp nz,.newBattle
jp OverworldLoop
.noDirectionButtonsPressed
- ld hl,W_FLAGS_CD60
+ ld hl,wFlags_0xcd60
res 2,[hl]
call UpdateSprites ; move sprites
ld a,$01
@@ -659,7 +659,7 @@ OverworldLoopLessDelay: ; 0402 (0:0402)
ld a,$08
ld [$d528],a
.oddLoop
- ld hl,W_FLAGS_CD60
+ ld hl,wFlags_0xcd60
set 2,[hl]
ld hl,$cc4b
dec [hl]
@@ -694,7 +694,7 @@ OverworldLoopLessDelay: ; 0402 (0:0402)
jp c,OverworldLoop
.noCollision
ld a,$08
- ld [W_WALKCOUNTER],a
+ ld [wWalkCounter],a
jr .moveAhead2
.moveAhead
ld a,[$d736]
@@ -706,7 +706,7 @@ OverworldLoopLessDelay: ; 0402 (0:0402)
.noSpinning
call UpdateSprites ; move sprites
.moveAhead2
- ld hl,W_FLAGS_CD60
+ ld hl,wFlags_0xcd60
res 2,[hl]
ld a,[$d700]
dec a ; riding a bike?
@@ -717,7 +717,7 @@ OverworldLoopLessDelay: ; 0402 (0:0402)
call BikeSpeedup ; if riding a bike and not jumping a ledge
.normalPlayerSpriteAdvancement
call AdvancePlayerSprite
- ld a,[W_WALKCOUNTER]
+ ld a,[wWalkCounter]
and a
jp nz,CheckMapConnections ; it seems like this check will never succeed (the other place where CheckMapConnections is run works)
; walking animation finished
@@ -1209,17 +1209,17 @@ HandleBlackOut: ; 0931 (0:0931)
ld [H_LOADEDROMBANK],a
ld [$2000],a
call Func_40b0
- call Function62CE
+ call Func_62ce
call Func_2312
jp Func_5d5f
StopMusic: ; 0951 (0:0951)
- ld [W_CURCHANNELPOINTER],a
+ ld [wMusicHeaderPointer],a
ld a,$ff
ld [$c0ee],a
call PlaySound
.waitLoop
- ld a,[W_CURCHANNELPOINTER]
+ ld a,[wMusicHeaderPointer]
and a
jr nz,.waitLoop
jp StopAllSounds
@@ -1239,7 +1239,7 @@ HandleFlyOrTeleportAway: ; 0965 (0:0965)
ld a,$01
ld [H_LOADEDROMBANK],a
ld [$2000],a
- call Function62CE
+ call Func_62ce
jp Func_5d5f
; function that calls a function to do fly away or teleport away graphics
@@ -1299,7 +1299,7 @@ IsBikeRidingAllowed: ; 09c5 (0:09c5)
ret
BikeRidingTilesets: ; 09e2 (0:09e2)
-db $00, $03, $0B, $0E, $11, $FF
+ db $00, $03, $0B, $0E, $11, $FF
; load the tile pattern data of the current tileset into VRAM
LoadTilesetTilePatternData: ; 09e8 (0:09e8)
@@ -1787,24 +1787,24 @@ CheckForTilePairCollisions: ; 0c4a (0:0c4a)
; it's mainly used to simulate differences in elevation
TilePairCollisionsLand: ; 0c7e (0:0c7e)
-db $11, $20, $05;
-db $11, $41, $05;
-db $03, $30, $2E;
-db $11, $2A, $05;
-db $11, $05, $21;
-db $03, $52, $2E;
-db $03, $55, $2E;
-db $03, $56, $2E;
-db $03, $20, $2E;
-db $03, $5E, $2E;
-db $03, $5F, $2E;
-db $FF;
+ db $11, $20, $05;
+ db $11, $41, $05;
+ db $03, $30, $2E;
+ db $11, $2A, $05;
+ db $11, $05, $21;
+ db $03, $52, $2E;
+ db $03, $55, $2E;
+ db $03, $56, $2E;
+ db $03, $20, $2E;
+ db $03, $5E, $2E;
+ db $03, $5F, $2E;
+ db $FF;
TilePairCollisionsWater: ; 0ca0 (0:0ca0)
-db $03, $14, $2E;
-db $03, $48, $2E;
-db $11, $14, $05;
-db $FF;
+ db $03, $14, $2E;
+ db $03, $48, $2E;
+ db $11, $14, $05;
+ db $FF;
; this builds a tile map from the tile block map based on the current X/Y coordinates of the player's character
LoadCurrentMapView: ; 0caa (0:0caa)
@@ -1817,7 +1817,7 @@ LoadCurrentMapView: ; 0caa (0:0caa)
ld e,a
ld a,[$d360]
ld d,a
- ld hl,W_SCREENTILESBACKBUFFER
+ ld hl,wTileMapBackup
ld b,$05
.rowLoop ; each loop iteration fills in one row of tile blocks
push hl
@@ -1859,7 +1859,7 @@ LoadCurrentMapView: ; 0caa (0:0caa)
.noCarry2
dec b
jr nz,.rowLoop
- ld hl,W_SCREENTILESBACKBUFFER
+ ld hl,wTileMapBackup
ld bc,$0000
.adjustForYCoordWithinTileBlock
ld a,[W_YBLOCKCOORD]
@@ -1874,7 +1874,7 @@ LoadCurrentMapView: ; 0caa (0:0caa)
ld bc,$0002
add hl,bc
.copyToVisibleAreaBuffer
- ld de,W_SCREENTILESBUFFER ; base address for the tiles that are directly transfered to VRAM during V-blank
+ ld de,wTileMap ; base address for the tiles that are directly transfered to VRAM during V-blank
ld b,$12
.rowLoop2
ld c,$14
@@ -1902,7 +1902,7 @@ AdvancePlayerSprite: ; 0d27 (0:0d27)
ld b,a
ld a,[$c105] ; delta X
ld c,a
- ld hl,W_WALKCOUNTER ; walking animation counter
+ ld hl,wWalkCounter ; walking animation counter
dec [hl]
jr nz,.afterUpdateMapCoords
; if it's the end of the animation, update the player's map coordinates
@@ -1913,7 +1913,7 @@ AdvancePlayerSprite: ; 0d27 (0:0d27)
add c
ld [W_XCOORD],a
.afterUpdateMapCoords
- ld a,[W_WALKCOUNTER] ; walking animation counter
+ ld a,[wWalkCounter] ; walking animation counter
cp a,$07
jp nz,.scrollBackgroundAndSprites
; if this is the first iteration of the animation
@@ -2159,7 +2159,7 @@ ScheduleNorthRowRedraw: ; 0e91 (0:0e91)
ret
ScheduleRowRedrawHelper: ; 0ea6 (0:0ea6)
- ld de,W_SCREENEDGETILES
+ ld de,wScreenEdgeTiles
ld c,$28
.loop
ld a,[hli]
@@ -2209,7 +2209,7 @@ ScheduleEastColumnRedraw: ; 0ed3 (0:0ed3)
ret
ScheduleColumnRedrawHelper: ; 0ef2 (0:0ef2)
- ld de,W_SCREENEDGETILES
+ ld de,wScreenEdgeTiles
ld c,$12
.loop
ld a,[hli]
@@ -2335,7 +2335,7 @@ GetJoypadStateOverworld: ; 0f4d (0:0f4d)
ld [$cd3a],a
ld [$cd38],a
ld [$ccd3],a
- ld [W_JOYPADFORBIDDENBUTTONSMASK],a
+ ld [wJoypadForbiddenButtonsMask],a
ld [H_CURRENTPRESSEDBUTTONS],a
ld hl,$d736
ld a,[hl]
@@ -2421,7 +2421,7 @@ RunMapScript: ; 101b (0:101b)
ld b, BANK(Func_f225)
ld hl, Func_f225
call Bankswitch ; check if the player is pushing a boulder
- ld a,[W_FLAGS_CD60]
+ ld a,[wFlags_0xcd60]
bit 1,a ; is the player pushing a boulder?
jr z,.afterBoulderEffect
ld b, BANK(Func_f2b5)
@@ -2781,7 +2781,7 @@ LoadMapData: ; 1241 (0:1241)
ld [$d526],a
ld [$ffaf],a
ld [$ffae],a
- ld [W_WALKCOUNTER],a
+ ld [wWalkCounter],a
ld [$d119],a
ld [$d11a],a
ld [$d3a8],a
@@ -2794,7 +2794,7 @@ LoadMapData: ; 1241 (0:1241)
call LoadTilesetTilePatternData
call LoadCurrentMapView
; copy current map view to VRAM
- ld hl,W_SCREENTILESBUFFER
+ ld hl,wTileMap
ld de,$9800
ld b,$12
.vramCopyLoop
@@ -3121,7 +3121,7 @@ PartyMenuInit: ; 1420 (0:1420)
xor a
ld [$cc49],a
ld [$cc37],a
- ld hl,W_TOPMENUITEMY
+ ld hl,wTopMenuItemY
inc a
ld [hli],a ; top menu item Y
xor a
@@ -3161,7 +3161,7 @@ HandlePartyMenuInput: ; 145a (0:145a)
ld b,a
xor a
ld [$d09b],a
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
ld [$cc2b],a
ld hl,$d730
res 6,[hl] ; turn on letter printing delay
@@ -3175,7 +3175,7 @@ HandlePartyMenuInput: ; 145a (0:145a)
ld a,[W_NUMINPARTY]
and a
jr z,.noPokemonChosen
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
ld [$cf92],a
ld hl,W_PARTYMON1
ld b,0
@@ -3204,7 +3204,7 @@ HandlePartyMenuInput: ; 145a (0:145a)
call RedrawPartyMenu
jr HandlePartyMenuInput
.handleSwap
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
ld [$cf92],a
ld b, BANK(Func_13613)
ld hl, Func_13613
@@ -3876,15 +3876,15 @@ ClearScreenArea: ; 18c4 (0:18c4)
CopyScreenTileBufferToVRAM: ; 18d6 (0:18d6)
ld c, $6
ld hl, $0000
- ld de, W_SCREENTILESBUFFER
+ ld de, wTileMap
call InitScreenTileBufferTransferParameters
call DelayFrame
ld hl, $600
- ld de, W_SCREENTILESBUFFER + 20 * 6 ; $c418
+ ld de, wTileMap + 20 * 6 ; $c418
call InitScreenTileBufferTransferParameters
call DelayFrame
ld hl, $c00
- ld de, W_SCREENTILESBUFFER + 20 * 12 ; $c490
+ ld de, wTileMap + 20 * 12 ; $c490
call InitScreenTileBufferTransferParameters
jp DelayFrame
@@ -3907,7 +3907,7 @@ ClearScreen: ; 190f (0:190f)
; then wait three frames
ld bc,$0168 ; tilemap size
inc b
- ld hl,W_SCREENTILESBUFFER ; TILEMAP_START
+ ld hl,wTileMap ; TILEMAP_START
ld a,$7F ; $7F is blank tile
.loop
ld [hli],a
@@ -4568,16 +4568,16 @@ TextCommand0B: ; 1c31 (0:1c31)
; format: text command ID, sound ID or cry ID
TextCommandSounds: ; 1c64 (0:1c64)
-db $0B,$86
-db $12,$9A
-db $0E,$91
-db $0F,$86
-db $10,$89
-db $11,$94
-db $13,$98
-db $14,$A8
-db $15,$97
-db $16,$78
+ db $0B,$86
+ db $12,$9A
+ db $0E,$91
+ db $0F,$86
+ db $10,$89
+ db $11,$94
+ db $13,$98
+ db $14,$A8
+ db $15,$97
+ db $16,$78
; draw ellipses
; 0CAA
@@ -4644,20 +4644,20 @@ TextCommand17: ; 1ca3 (0:1ca3)
jp NextTextCommand
TextCommandJumpTable: ; 1cc1 (0:1cc1)
-dw TextCommand00
-dw TextCommand01
-dw TextCommand02
-dw TextCommand03
-dw TextCommand04
-dw TextCommand05
-dw TextCommand06
-dw TextCommand07
-dw TextCommand08
-dw TextCommand09
-dw TextCommand0A
-dw TextCommand0B
-dw TextCommand0C
-dw TextCommand0D
+ dw TextCommand00
+ dw TextCommand01
+ dw TextCommand02
+ dw TextCommand03
+ dw TextCommand04
+ dw TextCommand05
+ dw TextCommand06
+ dw TextCommand07
+ dw TextCommand08
+ dw TextCommand09
+ dw TextCommand0A
+ dw TextCommand0B
+ dw TextCommand0C
+ dw TextCommand0D
; this function seems to be used only once
; it store the address of a row and column of the VRAM background map in hl
@@ -4707,7 +4707,7 @@ RedrawExposedScreenEdge: ; 1d01 (0:1d01)
dec b
jr nz,.redrawRow
.redrawColumn
- ld hl,W_SCREENEDGETILES
+ ld hl,wScreenEdgeTiles
ld a,[H_SCREENEDGEREDRAWADDR]
ld e,a
ld a,[H_SCREENEDGEREDRAWADDR + 1]
@@ -4736,7 +4736,7 @@ RedrawExposedScreenEdge: ; 1d01 (0:1d01)
ld [H_SCREENEDGEREDRAW],a
ret
.redrawRow
- ld hl,W_SCREENEDGETILES
+ ld hl,wScreenEdgeTiles
ld a,[H_SCREENEDGEREDRAWADDR]
ld e,a
ld a,[H_SCREENEDGEREDRAWADDR + 1]
@@ -4770,7 +4770,7 @@ RedrawExposedScreenEdge: ; 1d01 (0:1d01)
ret
; This function automatically transfers tile number data from the tile map at
-; C3A0 to VRAM during V-blank. Note that it only transfers one third of the
+; wTileMap to VRAM during V-blank. Note that it only transfers one third of the
; background per V-blank. It cycles through which third it draws.
; This transfer is turned off when walking around the map, but is turned
; on when talking to sprites, battling, using menus, etc. This is because
@@ -5271,7 +5271,7 @@ StopAllSounds: ; 200e (0:200e)
ld [$c0ef], a
ld [$c0f0], a
xor a
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
ld [$c0ee], a
ld [$cfca], a
dec a
@@ -5825,7 +5825,7 @@ asm_2324: ; 2324 (0:2324)
ret z
.asm_2351
ld a, c
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
ld a, b
ld [$cfca], a
ld [$c0ee], a
@@ -5883,7 +5883,7 @@ PlayMusic: ; 23a1 (0:23a1)
ld b, a
ld [$c0ee], a
xor a
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
ld a, c
ld [$c0ef], a
ld [$c0f0], a
@@ -5904,7 +5904,7 @@ PlaySound: ; 23b1 (0:23b1)
ld [$c02c], a
ld [$c02d], a
.asm_23c8
- ld a, [W_CURCHANNELPOINTER]
+ ld a, [wMusicHeaderPointer]
and a
jr z, .asm_23e3
ld a, [$c0ee]
@@ -5916,7 +5916,7 @@ PlaySound: ; 23b1 (0:23b1)
cp $ff
jr nz, .asm_2414
xor a
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
.asm_23e3
xor a
ld [$c0ee], a
@@ -5949,11 +5949,11 @@ PlaySound: ; 23b1 (0:23b1)
.asm_2414
ld a, b
ld [$cfca], a
- ld a, [W_CURCHANNELPOINTER]
+ ld a, [wMusicHeaderPointer]
ld [$cfc8], a
ld [$cfc9], a
ld a, b
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
.asm_2425
pop bc
pop de
@@ -6677,12 +6677,12 @@ StoreSpriteOutputPointer: ; 2897 (0:2897)
ret
ResetPlayerSpriteData: ; 28a6 (0:28a6)
- ld hl, $c100
+ ld hl, wSpriteStateData1
call ResetPlayerSpriteData_ClearSpriteData
- ld hl, $c200
+ ld hl, wSpriteStateData2
call ResetPlayerSpriteData_ClearSpriteData
ld a, $1
- ld [$c100], a
+ ld [wSpriteStateData1], a
ld [$c20e], a
ld hl, $c104
ld [hl], $3c ; set Y screen pos
@@ -6698,7 +6698,7 @@ ResetPlayerSpriteData_ClearSpriteData: ; 28c4 (0:28c4)
jp FillMemory
Func_28cb: ; 28cb (0:28cb)
- ld a, [W_CURCHANNELPOINTER]
+ ld a, [wMusicHeaderPointer]
and a
jr nz, .asm_28dc
ld a, [$d72c]
@@ -6733,10 +6733,10 @@ Func_28cb: ; 28cb (0:28cb)
ld [$FF00+$24], a
ret
.asm_2903
- ld a, [W_CURCHANNELPOINTER]
+ ld a, [wMusicHeaderPointer]
ld b, a
xor a
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
ld a, $ff
ld [$c0ee], a
call PlaySound
@@ -7015,10 +7015,10 @@ RedisplayStartMenu: ; 2adf (0:2adf)
.checkIfUpPressed
bit 6,a ; was Up pressed?
jr z,.checkIfDownPressed
- ld a,[W_CURMENUITEMID] ; menu selection
+ ld a,[wCurrentMenuItem] ; menu selection
and a
jr nz,.loop
- ld a,[W_OLDMENUITEMID]
+ ld a,[wLastMenuItem]
and a
jr nz,.loop
; if the player pressed tried to go past the top item, wrap around to the bottom
@@ -7028,7 +7028,7 @@ RedisplayStartMenu: ; 2adf (0:2adf)
jr nz,.wrapMenuItemId
dec a ; there are only 6 menu items without the pokedex
.wrapMenuItemId
- ld [W_CURMENUITEMID],a
+ ld [wCurrentMenuItem],a
call EraseMenuCursor
jr .loop
.checkIfDownPressed
@@ -7037,7 +7037,7 @@ RedisplayStartMenu: ; 2adf (0:2adf)
; if the player pressed tried to go past the bottom item, wrap around to the top
ld a,[$d74b]
bit 5,a ; does the player have the pokedex?
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
ld c,7 ; there are 7 menu items with the pokedex
jr nz,.checkIfPastBottom
dec c ; there are only 6 menu items without the pokedex
@@ -7046,20 +7046,20 @@ RedisplayStartMenu: ; 2adf (0:2adf)
jr nz,.loop
; the player went past the bottom, so wrap to the top
xor a
- ld [W_CURMENUITEMID],a
+ ld [wCurrentMenuItem],a
call EraseMenuCursor
jr .loop
.buttonPressed ; A, B, or Start button pressed
call PlaceUnfilledArrowMenuCursor
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
ld [$cc2d],a ; save current menu item ID
ld a,b
and a,%00001010 ; was the Start button or B button pressed?
jp nz,CloseStartMenu
- call SaveScreenTilesToBuffer2 ; copy background from W_SCREENTILESBUFFER to W_SCREENTILESBACKBUFFER2
+ call SaveScreenTilesToBuffer2 ; copy background from wTileMap to wTileMapBackup2
ld a,[$d74b]
bit 5,a ; does the player have the pokedex?
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
jr nz,.displayMenuItem
inc a ; adjust position to account for missing pokedex menu item
.displayMenuItem
@@ -7119,7 +7119,7 @@ SubtractAmountPaidFromMoney: ; 2b96 (0:2b96)
; adds the amount the player sold to their money
AddAmountSoldToMoney: ; 2b9e (0:2b9e)
- ld de,W_PLAYERMONEY1
+ ld de,wPlayerMoney + 2
ld hl,$ffa1 ; total price of items
ld c,3 ; length of money in bytes
ld a,$0b
@@ -7133,7 +7133,7 @@ AddAmountSoldToMoney: ; 2b9e (0:2b9e)
; function to remove an item (in varying quantities) from the player's bag or PC box
; INPUT:
-; HL = address of inventory (either W_NUMBAGITEMS or W_NUMBOXITEMS)
+; HL = address of inventory (either wNumBagItems or wNumBoxItems)
; [$CF92] = index (within the inventory) of the item to remove
; [$CF96] = quantity to remove
RemoveItemFromInventory: ; 2bbb (0:2bbb)
@@ -7150,7 +7150,7 @@ RemoveItemFromInventory: ; 2bbb (0:2bbb)
; function to add an item (in varying quantities) to the player's bag or PC box
; INPUT:
-; HL = address of inventory (either W_NUMBAGITEMS or W_NUMBOXITEMS)
+; HL = address of inventory (either wNumBagItems or wNumBoxItems)
; [$CF91] = item ID
; [$CF96] = item quantity
; sets carry flag if successful, unsets carry flag if unsuccessful
@@ -7170,7 +7170,7 @@ AddItemToInventory: ; 2bcf (0:2bcf)
ret
; INPUT:
-; [W_LISTMENUID] = list menu ID
+; [wListMenuID] = list menu ID
; [$cf8b] = address of the list (2 bytes)
DisplayListMenuID: ; 2be6 (0:2be6)
xor a
@@ -7204,7 +7204,7 @@ DisplayListMenuID: ; 2be6 (0:2be6)
FuncCoord 4,2 ; coordinates of upper left corner of menu text box
ld hl,Coord
ld de,$090e ; height and width of menu text box
- ld a,[W_LISTMENUID]
+ ld a,[wListMenuID]
and a ; is it a PC pokemon list?
jr nz,.skipMovingSprites
call UpdateSprites ; move sprites
@@ -7216,13 +7216,13 @@ DisplayListMenuID: ; 2be6 (0:2be6)
jr c,.setMenuVariables
ld a,2 ; max menu item ID is 2 if the list has at least 2 entries
.setMenuVariables
- ld [W_MAXMENUITEMID],a
+ ld [wMaxMenuItem],a
ld a,4
- ld [W_TOPMENUITEMY],a
+ ld [wTopMenuItemY],a
ld a,5
- ld [W_TOPMENUITEMX],a
+ ld [wTopMenuItemX],a
ld a,%00000111 ; A button, B button, Select button
- ld [W_MENUWATCHEDKEYS],a
+ ld [wMenuWatchedKeys],a
ld c,10
call DelayFrames
@@ -7243,12 +7243,12 @@ DisplayListMenuIDLoop: ; 2c53 (0:2c53)
ld c,80
call DelayFrames
xor a
- ld [W_CURMENUITEMID],a
+ ld [wCurrentMenuItem],a
ld hl,Coord
ld a,l
- ld [W_MENUCURSORLOCATION],a
+ ld [wMenuCursorLocation],a
ld a,h
- ld [W_MENUCURSORLOCATION + 1],a
+ ld [wMenuCursorLocation + 1],a
jr .buttonAPressed
.notOldManBattle
call LoadGBPal
@@ -7259,16 +7259,16 @@ DisplayListMenuIDLoop: ; 2c53 (0:2c53)
bit 0,a ; was the A button pressed?
jp z,.checkOtherKeys
.buttonAPressed
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
call PlaceUnfilledArrowMenuCursor
ld a,$01
ld [$d12e],a
ld [$d12d],a
xor a
ld [$cc37],a
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
ld c,a
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
add c
ld c,a
ld a,[$d12a] ; number of list entries
@@ -7279,7 +7279,7 @@ DisplayListMenuIDLoop: ; 2c53 (0:2c53)
jp c,ExitListMenu ; if so, exit the menu
ld a,c
ld [$cf92],a
- ld a,[W_LISTMENUID]
+ ld a,[wListMenuID]
cp a,ITEMLISTMENU
jr nz,.skipMultiplying
; if it's an item menu
@@ -7294,13 +7294,13 @@ DisplayListMenuIDLoop: ; 2c53 (0:2c53)
add hl,bc
ld a,[hl]
ld [$cf91],a
- ld a,[W_LISTMENUID]
+ ld a,[wListMenuID]
and a ; is it a PC pokemon list?
jr z,.pokemonList
push hl
call GetItemPrice
pop hl
- ld a,[W_LISTMENUID]
+ ld a,[wListMenuID]
cp a,ITEMLISTMENU
jr nz,.skipGettingQuantity
; if it's an item menu
@@ -7329,7 +7329,7 @@ DisplayListMenuIDLoop: ; 2c53 (0:2c53)
call CopyStringToCF4B ; copy name to $cf4b
ld a,$01
ld [$d12e],a
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
ld [$d12d],a
xor a
ld [$ffb7],a ; joypad state update flag
@@ -7343,7 +7343,7 @@ DisplayListMenuIDLoop: ; 2c53 (0:2c53)
jp nz,HandleItemListSwapping ; if so, allow the player to swap menu entries
ld b,a
bit 7,b ; was Down pressed?
- ld hl,W_LISTSCROLLOFFSET
+ ld hl,wListScrollOffset
jr z,.upPressed
.downPressed
ld a,[hl]
@@ -7367,7 +7367,7 @@ DisplayChooseQuantityMenu: ; 2d57 (0:2d57)
ld hl,Coord
ld b,1 ; height
ld c,3 ; width
- ld a,[W_LISTMENUID]
+ ld a,[wListMenuID]
cp a,PRICEDITEMLISTMENU
jr nz,.drawTextBox
; text box dimensions/coordinates for quantity and price
@@ -7379,7 +7379,7 @@ DisplayChooseQuantityMenu: ; 2d57 (0:2d57)
call TextBoxBorder
FuncCoord 16,10
ld hl,Coord
- ld a,[W_LISTMENUID]
+ ld a,[wListMenuID]
cp a,PRICEDITEMLISTMENU
jr nz,.printInitialQuantity
FuncCoord 8,10
@@ -7425,7 +7425,7 @@ DisplayChooseQuantityMenu: ; 2d57 (0:2d57)
.handleNewQuantity
FuncCoord 17,10
ld hl,Coord
- ld a,[W_LISTMENUID]
+ ld a,[wListMenuID]
cp a,PRICEDITEMLISTMENU
jr nz,.printQuantity
.printPrice
@@ -7496,7 +7496,7 @@ SpacesBetweenQuantityAndPriceText: ; 2e34 (0:2e34)
db " @"
ExitListMenu: ; 2e3b (0:2e3b)
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
ld [$d12d],a
ld a,$02
ld [$d12e],a
@@ -7522,9 +7522,9 @@ PrintListMenuEntries: ; 2e5a (0:2e5a)
ld a,[$cf8c]
ld d,a
inc de ; de = beginning of list entries
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
ld c,a
- ld a,[W_LISTMENUID]
+ ld a,[wListMenuID]
cp a,ITEMLISTMENU
ld a,c
jr nz,.skipMultiplying
@@ -7553,7 +7553,7 @@ PrintListMenuEntries: ; 2e5a (0:2e5a)
push hl
push hl
push de
- ld a,[W_LISTMENUID]
+ ld a,[wListMenuID]
and a
jr z,.pokemonPCMenu
cp a,$01
@@ -7575,7 +7575,7 @@ PrintListMenuEntries: ; 2e5a (0:2e5a)
ld a,4
sub b
ld b,a
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
add b
call GetPartyMonName
pop hl
@@ -7601,7 +7601,7 @@ PrintListMenuEntries: ; 2e5a (0:2e5a)
ld c,$a3 ; no leading zeroes, right-aligned, print currency symbol, 3 bytes
call PrintBCDNumber
.skipPrintingItemPrice
- ld a,[W_LISTMENUID]
+ ld a,[wListMenuID]
and a
jr nz,.skipPrintingPokemonLevel
.printPokemonLevel
@@ -7622,7 +7622,7 @@ PrintListMenuEntries: ; 2e5a (0:2e5a)
ld a,$04
sub b
ld b,a
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
add b
ld [hl],a
call LoadMonData ; load pokemon info
@@ -7643,7 +7643,7 @@ PrintListMenuEntries: ; 2e5a (0:2e5a)
pop hl
pop de
inc de
- ld a,[W_LISTMENUID]
+ ld a,[wListMenuID]
cp a,ITEMLISTMENU
jr nz,.nextListEntry
.printItemQuantity
@@ -7909,7 +7909,7 @@ UseItem: ; 30bc (0:30bc)
; confirms the item toss and then tosses the item
; INPUT:
-; hl = address of inventory (either W_NUMBAGITEMS or W_NUMBOXITEMS)
+; hl = address of inventory (either wNumBagItems or wNumBoxItems)
; [$cf91] = item ID
; [$cf92] = index of item within inventory
; [$cf96] = quantity to toss
@@ -7986,7 +7986,7 @@ Func_310e: ; 310e (0:310e)
add a
ld d, $0
ld e, a
- ld hl, .unknown_3140
+ ld hl, .pointerTable_3140
add hl, de
ld a, [hli]
ld h, [hl]
@@ -8002,10 +8002,10 @@ Func_310e: ; 310e (0:310e)
ld [H_LOADEDROMBANK], a
ld [$2000], a
ret
-.unknown_3140 ; 0x3140
- dw Unknown_1a442
- dw Unknown_1a510
- dw Unknown_1a57d
+.pointerTable_3140
+ dw PointerTable_1a442
+ dw PointerTable_1a510
+ dw PointerTable_1a57d
.asm_3146
ld b, BANK(Func_1a3e0)
ld hl, Func_1a3e0
@@ -8050,17 +8050,17 @@ ExecuteCurMapScriptInTable: ; 3160 (0:3160)
LoadGymLeaderAndCityName: ; 317f (0:317f)
push de
- ld de, W_GYMCITYNAME
+ ld de, wGymCityName
ld bc, $11
call CopyData ; load city name
pop hl
- ld de, W_GYMLEADERNAME
+ ld de, wGymLeaderName
ld bc, $b
jp CopyData ; load gym leader name
; reads specific information from trainer header (pointed to at W_TRAINERHEADERPTR)
; a: offset in header data
-; 0 -> flag's bit (into W_TRAINERHEADERFLAGBIT)
+; 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)
@@ -8079,7 +8079,7 @@ ReadTrainerHeaderInfo: ; 3193 (0:3193)
and a
jr nz, .nonZeroOffset
ld a, [hl]
- ld [W_TRAINERHEADERFLAGBIT], a ; store flag's bit
+ ld [wTrainerHeaderFlagBit], a ; store flag's bit
jr .done
.nonZeroOffset
cp $2
@@ -8116,7 +8116,7 @@ TalkToTrainer: ; 31cc (0:31cc)
call ReadTrainerHeaderInfo ; read flag's bit
ld a, $2
call ReadTrainerHeaderInfo ; read flag's byte ptr
- ld a, [W_TRAINERHEADERFLAGBIT]
+ ld a, [wTrainerHeaderFlagBit]
ld c, a
ld b, $2
call HandleBitArray_Bank0 ; read trainer's flag
@@ -8139,7 +8139,7 @@ TalkToTrainer: ; 31cc (0:31cc)
call PreBattleSaveRegisters
ld hl, W_FLAGS_D733
set 4, [hl] ; activate map script index override (index is set below)
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
bit 0, [hl] ; test if player is already being engaged by another trainer
ret nz
call EngageMapTrainer
@@ -8155,7 +8155,7 @@ CheckFightingMapTrainers: ; 3219 (0:3219)
jr nz, .trainerEngaging
xor a
ld [$cf13], a
- ld [W_TRAINERHEADERFLAGBIT], a
+ ld [wTrainerHeaderFlagBit], a
ret
.trainerEngaging
ld hl, W_FLAGS_D733
@@ -8166,7 +8166,7 @@ CheckFightingMapTrainers: ; 3219 (0:3219)
ld a, $4c
call Predef
ld a, BTN_RIGHT | BTN_LEFT | BTN_UP | BTN_DOWN
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
xor a
ldh [$b4], a
call TrainerWalkUpToPlayer_Bank0
@@ -8178,14 +8178,14 @@ Func_324c: ; 324c (0:324c)
ld a, [$d730]
and $1
ret nz
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, [$cf13]
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
call DisplayTextID
Func_325d: ; 325d (0:325d)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
call InitBattleEnemyParameters
ld hl, $d72d
set 6, [hl]
@@ -8202,14 +8202,14 @@ EndTrainerBattle: ; 3275 (0:3275)
set 6, [hl]
ld hl, $d72d
res 7, [hl]
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
res 0, [hl] ; player is no longer engaged by any trainer
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, ResetButtonPressedAndMapScript
ld a, $2
call ReadTrainerHeaderInfo
- ld a, [W_TRAINERHEADERFLAGBIT]
+ ld a, [wTrainerHeaderFlagBit]
ld c, a
ld b, $1
call HandleBitArray_Bank0 ; flag trainer as fought
@@ -8233,7 +8233,7 @@ EndTrainerBattle: ; 3275 (0:3275)
ResetButtonPressedAndMapScript: ; 32c1 (0:32c1)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [H_CURRENTPRESSEDBUTTONS], a
ld [H_NEWLYPRESSEDBUTTONS], a
ld [H_NEWLYRELEASEDBUTTONS], a
@@ -8248,11 +8248,11 @@ TrainerWalkUpToPlayer_Bank0: ; 32cf (0:32cf)
; sets opponent type and mon set/lvl based on the engaging trainer data
InitBattleEnemyParameters: ; 32d7 (0:32d7)
- ld a, [W_ENGAGEDTRAINERCLASS]
+ ld a, [wEngagedTrainerClass]
ld [W_CUROPPONENT], a ; $d059
ld [W_ENEMYMONORTRAINERCLASS], a
cp $c8
- ld a, [W_ENGAGEDTRAINERSETNUM] ; $cd2e
+ ld a, [wEngagedTrainerSet] ; $cd2e
jr c, .noTrainer
ld [W_TRAINERNO], a ; $d05d
ret
@@ -8287,13 +8287,13 @@ CheckForEngagingTrainers: ; 3306 (0:3306)
call StoreTrainerHeaderPointer ; set trainer header pointer to current trainer
ld a, [de]
ld [$cf13], a ; store trainer flag's bit
- ld [W_TRAINERHEADERFLAGBIT], a
+ ld [wTrainerHeaderFlagBit], a
cp $ff
ret z
ld a, $2
call ReadTrainerHeaderInfo ; read trainer flag's byte ptr
ld b, $2
- ld a, [W_TRAINERHEADERFLAGBIT]
+ ld a, [wTrainerHeaderFlagBit]
ld c, a
call HandleBitArray_Bank0 ; read trainer flag
ld a, c
@@ -8307,15 +8307,15 @@ CheckForEngagingTrainers: ; 3306 (0:3306)
inc hl
ld a, [hl] ; read trainer engage distance
pop hl
- ld [W_TRAINERENGAGEDISTANCE], a
+ ld [wTrainerEngageDistance], a
ld a, [$cf13]
swap a
- ld [W_TRAINERSPRITEOFFSET], a ; $cd3d
+ ld [wTrainerSpriteOffset], a ; $cd3d
ld a, $39
call Predef ; indirect jump to CheckEngagePlayer (5690f (15:690f))
pop de
pop hl
- ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
+ ld a, [wTrainerSpriteOffset] ; $cd3d
and a
ret nz ; break if the trainer is engaging
.trainerAlreadyFought
@@ -8350,9 +8350,9 @@ EngageMapTrainer: ; 336a (0:336a)
ld e, a
add hl, de ; seek to engaged trainer data
ld a, [hli] ; load trainer class
- ld [W_ENGAGEDTRAINERCLASS], a
+ ld [wEngagedTrainerClass], a
ld a, [hl] ; load trainer mon set
- ld [W_ENEMYMONATTACKMOD], a ; $cd2e
+ ld [wEnemyMonAttackMod], a ; $cd2e
jp PlayTrainerMusic
Func_3381: ; 3381 (0:3381)
@@ -8408,7 +8408,7 @@ Func_33d4: ; 33d4 (0:33d4)
jp TextScriptEnd
Func_33dd: ; 33dd (0:33dd)
- ld a, [W_FLAGS_CD60]
+ ld a, [wFlags_0xcd60]
bit 0, a
ret nz
call EngageMapTrainer
@@ -8416,7 +8416,7 @@ Func_33dd: ; 33dd (0:33dd)
ret
PlayTrainerMusic: ; 33e8 (0:33e8)
- ld a, [W_ENGAGEDTRAINERCLASS]
+ ld a, [wEngagedTrainerClass]
cp $c8 + SONY1
ret z
cp $c8 + SONY2
@@ -8427,13 +8427,13 @@ PlayTrainerMusic: ; 33e8 (0:33e8)
and a
ret nz
xor a
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
ld a, $ff
call PlaySound ; stop music
ld a, BANK(Music_MeetEvilTrainer)
ld [$c0ef], a
ld [$c0f0], a
- ld a, [W_ENGAGEDTRAINERCLASS]
+ ld a, [wEngagedTrainerClass]
ld b, a
ld hl, EvilTrainerList
.evilTrainerListLoop
@@ -8461,22 +8461,22 @@ PlayTrainerMusic: ; 33e8 (0:33e8)
jp PlaySound
FemaleTrainerList: ; 3434 (0:3434)
-db $c8+LASS
-db $c8+JR__TRAINER_F
-db $c8+BEAUTY
-db $c8+COOLTRAINER_F
-db $FF
+ db $c8+LASS
+ db $c8+JR__TRAINER_F
+ db $c8+BEAUTY
+ db $c8+COOLTRAINER_F
+ db $FF
EvilTrainerList: ; 3439 (0:3439)
-db $c8+JUGGLER_X
-db $c8+GAMBLER
-db $c8+ROCKER
-db $c8+JUGGLER
-db $c8+CHIEF
-db $c8+SCIENTIST
-db $c8+GIOVANNI
-db $c8+ROCKET
-db $FF
+ db $c8+JUGGLER_X
+ db $c8+GAMBLER
+ db $c8+ROCKER
+ db $c8+JUGGLER
+ db $c8+CHIEF
+ db $c8+SCIENTIST
+ db $c8+GIOVANNI
+ db $c8+ROCKET
+ db $FF
Func_3442: ; 3442 (0:3442)
ld a, [hli]
@@ -8658,7 +8658,7 @@ asm_3502: ; 3502 (0:3502)
; hl: output list
DecodeRLEList: ; 350c (0:350c)
xor a
- ld [W_RLEBYTECOUNTER], a ; count written bytes here
+ ld [wRLEByteCount], a ; count written bytes here
.listLoop
ld a, [de]
cp $ff
@@ -8668,9 +8668,9 @@ DecodeRLEList: ; 350c (0:350c)
ld a, [de]
ld b, $0
ld c, a ; number of bytes to be written
- ld a, [W_RLEBYTECOUNTER]
+ ld a, [wRLEByteCount]
add c
- ld [W_RLEBYTECOUNTER], a ; update total number of written bytes
+ ld [wRLEByteCount], a ; update total number of written bytes
ld a, [H_DOWNARROWBLINKCNT1] ; $FF00+$8b
call FillMemory ; write a c-times to output
inc de
@@ -8678,7 +8678,7 @@ DecodeRLEList: ; 350c (0:350c)
.endOfList
ld a, $ff
ld [hl], a ; write final $ff
- ld a, [W_RLEBYTECOUNTER]
+ ld a, [wRLEByteCount]
inc a ; include sentinel in counting
ret
@@ -8767,7 +8767,7 @@ Func_359e: ; 359e (0:359e)
; sets carry flag if not enough money
; sets zero flag if amounts match exactly
HasEnoughMoney: ; 35a6 (0:35a6)
- ld de, W_PLAYERMONEY3 ; $d347
+ ld de, wPlayerMoney ; $d347
ld hl, $ff9f
ld c, $3
jp StringCmp
@@ -8776,7 +8776,7 @@ HasEnoughMoney: ; 35a6 (0:35a6)
; sets carry flag if not enough coins
; sets zero flag if amounts match exactly
HasEnoughCoins: ; 35b1 (0:35b1)
- ld de, W_PLAYERCOINS1
+ ld de, wPlayerCoins
ld hl, $ffa0
ld c, $2
jp StringCmp
@@ -8901,7 +8901,7 @@ MoveSprite_: ; 363d (0:363d)
ld [$CD3B],a
ld [$CCD3],a
dec a
- ld [W_JOYPADFORBIDDENBUTTONSMASK],a
+ ld [wJoypadForbiddenButtonsMask],a
ld [$CD3A],a
ret
@@ -9000,8 +9000,8 @@ UncompressSpriteFromDE: ; 36eb (0:36eb)
jp UncompressSpriteData
SaveScreenTilesToBuffer2: ; 36f4 (0:36f4)
- ld hl, W_SCREENTILESBUFFER
- ld de, W_SCREENTILESBACKBUFFER2
+ ld hl, wTileMap
+ ld de, wTileMapBackup2
ld bc, $168
call CopyData
ret
@@ -9012,27 +9012,27 @@ LoadScreenTilesFromBuffer2: ; 3701 (0:3701)
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
ret
-; loads screen tiles stored in W_SCREENTILESBACKBUFFER2 but leaves H_AUTOBGTRANSFERENABLED disabled
+; loads screen tiles stored in wTileMapBackup2 but leaves H_AUTOBGTRANSFERENABLED disabled
LoadScreenTilesFromBuffer2DisableBGTransfer: ; 3709 (0:3709)
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
- ld hl, W_SCREENTILESBACKBUFFER2
- ld de, W_SCREENTILESBUFFER
+ ld hl, wTileMapBackup2
+ ld de, wTileMap
ld bc, $168
call CopyData
ret
SaveScreenTilesToBuffer1: ; 3719 (0:3719)
- ld hl, W_SCREENTILESBUFFER
- ld de, W_SCREENTILESBACKBUFFER
+ ld hl, wTileMap
+ ld de, wTileMapBackup
ld bc, $168
jp CopyData
LoadScreenTilesFromBuffer1: ; 3725 (0:3725)
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
- ld hl, W_SCREENTILESBACKBUFFER
- ld de, W_SCREENTILESBUFFER
+ ld hl, wTileMapBackup
+ ld de, wTileMap
ld bc, $168
call CopyData
ld a, $1
@@ -9164,7 +9164,7 @@ GetName: ; 376b (0:376b)
GetItemPrice: ; 37df (0:37df)
ld a, [H_LOADEDROMBANK]
push af
- ld a, [W_LISTMENUID] ; $cf94
+ ld a, [wListMenuID] ; $cf94
cp $1
ld a, $1
jr nz, .asm_37ed
@@ -9422,7 +9422,7 @@ CopyDataUntil: ; 3913 (0:3913)
ret
; Function to remove a pokemon from the party or the current box.
-; W_WHICHPOKEMON determines the pokemon.
+; wWhichPokemon determines the pokemon.
; [$cf95] == 0 specifies the party.
; [$cf95] != 0 specifies the current box.
RemovePokemon: ; 391f (0:391f)
@@ -9776,7 +9776,7 @@ HandleMenuInputPokemonSelection: ; 3ac2 (0:3ac2)
ld hl,Coord
call HandleDownArrowBlinkTiming ; blink down arrow (if any)
pop hl
- ld a,[W_MENUJOYPADPOLLCOUNT]
+ ld a,[wMenuJoypadPollCount]
dec a
jr z,.giveUpWaiting
jr .loop2
@@ -9787,7 +9787,7 @@ HandleMenuInputPokemonSelection: ; 3ac2 (0:3ac2)
pop af
ld [H_DOWNARROWBLINKCNT1],a ; restore previous values
xor a
- ld [W_MENUWRAPPINGENABLED],a ; disable menu wrapping
+ ld [wMenuWrappingEnabled],a ; disable menu wrapping
ret
.keyPressed
xor a
@@ -9797,40 +9797,40 @@ HandleMenuInputPokemonSelection: ; 3ac2 (0:3ac2)
bit 6,a ; pressed Up key?
jr z,.checkIfDownPressed
.upPressed
- ld a,[W_CURMENUITEMID] ; selected menu item
+ ld a,[wCurrentMenuItem] ; selected menu item
and a ; already at the top of the menu?
jr z,.alreadyAtTop
.notAtTop
dec a
- ld [W_CURMENUITEMID],a ; move selected menu item up one space
+ ld [wCurrentMenuItem],a ; move selected menu item up one space
jr .checkOtherKeys
.alreadyAtTop
- ld a,[W_MENUWRAPPINGENABLED]
+ ld a,[wMenuWrappingEnabled]
and a ; is wrapping around enabled?
jr z,.noWrappingAround
- ld a,[W_MAXMENUITEMID]
- ld [W_CURMENUITEMID],a ; wrap to the bottom of the menu
+ ld a,[wMaxMenuItem]
+ ld [wCurrentMenuItem],a ; wrap to the bottom of the menu
jr .checkOtherKeys
.checkIfDownPressed
bit 7,a
jr z,.checkOtherKeys
.downPressed
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
inc a
ld c,a
- ld a,[W_MAXMENUITEMID]
+ ld a,[wMaxMenuItem]
cp c
jr nc,.notAtBottom
.alreadyAtBottom
- ld a,[W_MENUWRAPPINGENABLED]
+ ld a,[wMenuWrappingEnabled]
and a ; is wrapping around enabled?
jr z,.noWrappingAround
ld c,$00 ; wrap from bottom to top
.notAtBottom
ld a,c
- ld [W_CURMENUITEMID],a
+ ld [wCurrentMenuItem],a
.checkOtherKeys
- ld a,[W_MENUWATCHEDKEYS]
+ ld a,[wMenuWatchedKeys]
and b ; does the menu care about any of the pressed keys?
jp z,.loop1
.checkIfAButtonOrBButtonPressed
@@ -9839,7 +9839,7 @@ HandleMenuInputPokemonSelection: ; 3ac2 (0:3ac2)
jr z,.skipPlayingSound
.AButtonOrBButtonPressed
push hl
- ld hl,W_FLAGS_CD60
+ ld hl,wFlags_0xcd60
bit 5,[hl]
pop hl
jr nz,.skipPlayingSound
@@ -9851,7 +9851,7 @@ HandleMenuInputPokemonSelection: ; 3ac2 (0:3ac2)
pop af
ld [H_DOWNARROWBLINKCNT1],a ; restore previous values
xor a
- ld [W_MENUWRAPPINGENABLED],a ; disable menu wrapping
+ ld [wMenuWrappingEnabled],a ; disable menu wrapping
ld a,[$ffb5]
ret
.noWrappingAround
@@ -9861,22 +9861,22 @@ HandleMenuInputPokemonSelection: ; 3ac2 (0:3ac2)
jr .checkIfAButtonOrBButtonPressed
PlaceMenuCursor: ; 3b7c (0:3b7c)
- ld a,[W_TOPMENUITEMY]
+ ld a,[wTopMenuItemY]
and a ; is the y coordinate 0?
jr z,.adjustForXCoord
- ld hl,W_SCREENTILESBUFFER
+ ld hl,wTileMap
ld bc,20 ; screen width
.topMenuItemLoop
add hl,bc
dec a
jr nz,.topMenuItemLoop
.adjustForXCoord
- ld a,[W_TOPMENUITEMX]
+ ld a,[wTopMenuItemX]
ld b,$00
ld c,a
add hl,bc
push hl
- ld a,[W_OLDMENUITEMID]
+ ld a,[wLastMenuItem]
and a ; was the previous menu id 0?
jr z,.checkForArrow1
push af
@@ -9898,11 +9898,11 @@ PlaceMenuCursor: ; 3b7c (0:3b7c)
cp a,"▶" ; was an arrow next to the previously selected menu item?
jr nz,.skipClearingArrow
.clearArrow
- ld a,[W_TILEBEHINDCURSOR]
+ ld a,[wTileBehindCursor]
ld [hl],a
.skipClearingArrow
pop hl
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
and a
jr z,.checkForArrow2
push af
@@ -9923,16 +9923,16 @@ PlaceMenuCursor: ; 3b7c (0:3b7c)
ld a,[hl]
cp a,"▶" ; has the right arrow already been placed?
jr z,.skipSavingTile ; if so, don't lose the saved tile
- ld [W_TILEBEHINDCURSOR],a ; save tile before overwriting with right arrow
+ ld [wTileBehindCursor],a ; save tile before overwriting with right arrow
.skipSavingTile
ld a,"▶" ; place right arrow
ld [hl],a
ld a,l
- ld [W_MENUCURSORLOCATION],a
+ ld [wMenuCursorLocation],a
ld a,h
- ld [W_MENUCURSORLOCATION + 1],a
- ld a,[W_CURMENUITEMID]
- ld [W_OLDMENUITEMID],a
+ ld [wMenuCursorLocation + 1],a
+ ld a,[wCurrentMenuItem]
+ ld [wLastMenuItem],a
ret
; This is used to mark a menu cursor other than the one currently being
@@ -9941,9 +9941,9 @@ PlaceMenuCursor: ; 3b7c (0:3b7c)
; this is used to mark the item that was first chosen to be swapped.
PlaceUnfilledArrowMenuCursor: ; 3bec (0:3bec)
ld b,a
- ld a,[W_MENUCURSORLOCATION]
+ ld a,[wMenuCursorLocation]
ld l,a
- ld a,[W_MENUCURSORLOCATION + 1]
+ ld a,[wMenuCursorLocation + 1]
ld h,a
ld [hl],$ec ; outline of right arrow
ld a,b
@@ -9951,9 +9951,9 @@ PlaceUnfilledArrowMenuCursor: ; 3bec (0:3bec)
; Replaces the menu cursor with a blank space.
EraseMenuCursor: ; 3bf9 (0:3bf9)
- ld a,[W_MENUCURSORLOCATION]
+ ld a,[wMenuCursorLocation]
ld l,a
- ld a,[W_MENUCURSORLOCATION + 1]
+ ld a,[wMenuCursorLocation + 1]
ld h,a
ld [hl]," "
ret
@@ -10406,7 +10406,7 @@ GiveItem: ; 3e2e (0:3e2e)
ld [$cf91], a
ld a, c
ld [$cf96], a
- ld hl,W_NUMBAGITEMS
+ ld hl,wNumBagItems
call AddItemToInventory
ret nc
call GetItemName ; $2fcf
@@ -10531,7 +10531,7 @@ Func_3eb5: ; 3eb5 (0:3eb5)
Func_3ef5: ; 3ef5 (0:3ef5)
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
- ld hl, $3f22
+ ld hl, PointerTable_3f22
call Func_3f0f
ld hl, $cf11
set 0, [hl]
@@ -10555,7 +10555,8 @@ Func_3f0f: ; 3f0f (0:3f0f)
ld a, h
ld [$d36d], a
ret
-; 3f22 (0:3f22)
+
+PointerTable_3f22: ; 3f22 (0:3f22)
dw $66ee
dw $66f8
dw $5b8e
@@ -10626,38 +10627,38 @@ Func_3f0f: ; 3f0f (0:3f0f)
SECTION "bank1",ROMX,BANK[$1]
SpriteFacingAndAnimationTable: ; 4000 (1:4000)
-dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 0
-dw SpriteFacingDownAndWalking, SpriteOAMParameters ; facing down, walk animation frame 1
-dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 2
-dw SpriteFacingDownAndWalking, SpriteOAMParametersFlipped ; facing down, walk animation frame 3
-dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 0
-dw SpriteFacingUpAndWalking, SpriteOAMParameters ; facing up, walk animation frame 1
-dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 2
-dw SpriteFacingUpAndWalking, SpriteOAMParametersFlipped ; facing up, walk animation frame 3
-dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 0
-dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 1
-dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 2
-dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 3
-dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 0
-dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 1
-dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 2
-dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 3
-dw SpriteFacingDownAndStanding, SpriteOAMParameters ; ---
-dw SpriteFacingDownAndStanding, SpriteOAMParameters ; This table is used for sprites $a and $b.
-dw SpriteFacingDownAndStanding, SpriteOAMParameters ; All orientation and animation parameters
-dw SpriteFacingDownAndStanding, SpriteOAMParameters ; lead to the same result. Used for immobile
-dw SpriteFacingDownAndStanding, SpriteOAMParameters ; sprites like items on the ground
-dw SpriteFacingDownAndStanding, SpriteOAMParameters ; ---
-dw SpriteFacingDownAndStanding, SpriteOAMParameters
-dw SpriteFacingDownAndStanding, SpriteOAMParameters
-dw SpriteFacingDownAndStanding, SpriteOAMParameters
-dw SpriteFacingDownAndStanding, SpriteOAMParameters
-dw SpriteFacingDownAndStanding, SpriteOAMParameters
-dw SpriteFacingDownAndStanding, SpriteOAMParameters
-dw SpriteFacingDownAndStanding, SpriteOAMParameters
-dw SpriteFacingDownAndStanding, SpriteOAMParameters
-dw SpriteFacingDownAndStanding, SpriteOAMParameters
-dw SpriteFacingDownAndStanding, SpriteOAMParameters
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 0
+ dw SpriteFacingDownAndWalking, SpriteOAMParameters ; facing down, walk animation frame 1
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 2
+ dw SpriteFacingDownAndWalking, SpriteOAMParametersFlipped ; facing down, walk animation frame 3
+ dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 0
+ dw SpriteFacingUpAndWalking, SpriteOAMParameters ; facing up, walk animation frame 1
+ dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 2
+ dw SpriteFacingUpAndWalking, SpriteOAMParametersFlipped ; facing up, walk animation frame 3
+ dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 0
+ dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 1
+ dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 2
+ dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 3
+ dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 0
+ dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 1
+ dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 2
+ dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 3
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters ; ---
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters ; This table is used for sprites $a and $b.
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters ; All orientation and animation parameters
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters ; lead to the same result. Used for immobile
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters ; sprites like items on the ground
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters ; ---
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters
+ dw SpriteFacingDownAndStanding, SpriteOAMParameters
SpriteFacingDownAndStanding: ; 4080 (1:4080)
db $00,$01,$02,$03
@@ -10692,17 +10693,17 @@ Func_40b0: ; 40b0 (1:40b0)
ld [$cf10], a
ld [H_CURRENTPRESSEDBUTTONS], a
ld [$cc57], a
- ld [W_FLAGS_CD60], a
+ ld [wFlags_0xcd60], a
ld [$FF00+$9f], a
ld [$FF00+$a0], a
ld [$FF00+$a1], a
call HasEnoughMoney
jr c, .asm_40ff
- ld a, [W_PLAYERMONEY3] ; $d347
+ ld a, [wPlayerMoney] ; $d347
ld [$FF00+$9f], a
- ld a, [W_PLAYERMONEY2] ; $d348
+ ld a, [wPlayerMoney + 1] ; $d348
ld [$FF00+$a0], a
- ld a, [W_PLAYERMONEY1] ; $d349
+ ld a, [wPlayerMoney + 2] ; $d349
ld [$FF00+$a1], a
xor a
ld [$FF00+$a2], a
@@ -10712,18 +10713,18 @@ Func_40b0: ; 40b0 (1:40b0)
ld a, $d
call Predef ; indirect jump to Func_f71e (f71e (3:771e))
ld a, [$FF00+$a2]
- ld [W_PLAYERMONEY3], a ; $d347
+ ld [wPlayerMoney], a ; $d347
ld a, [$FF00+$a3]
- ld [W_PLAYERMONEY2], a ; $d348
+ ld [wPlayerMoney + 1], a ; $d348
ld a, [$FF00+$a4]
- ld [W_PLAYERMONEY1], a ; $d349
+ ld [wPlayerMoney + 2], a ; $d349
.asm_40ff
ld hl, $d732
set 2, [hl]
res 3, [hl]
set 6, [hl]
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $7
jp Predef ; indirect jump to HealParty (f6a5 (3:76a5))
@@ -10918,7 +10919,7 @@ ENDC
jr .asm_438f
.titlescreenTilemap ; 437f (1:437f)
-db $41,$42,$43,$42,$44,$42,$45,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E ; ©'95.'96.'98 GAME FREAK inc.
+ db $41,$42,$43,$42,$44,$42,$45,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E ; ©'95.'96.'98 GAME FREAK inc.
.asm_438f
call SaveScreenTilesToBuffer2
@@ -10931,7 +10932,7 @@ IF _BLUE
ld a,SQUIRTLE ; which Pokemon to show first on the title screen
ENDC
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
call Func_4524
ld a, $9b
call Func_4533
@@ -11031,7 +11032,7 @@ ENDC
call Func_4496
jr .asm_443b
.asm_4459
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
call PlayCry
call WaitForSoundToFinish
call GBPalWhiteOutWithDelay3
@@ -11070,7 +11071,7 @@ Func_4496: ; 4496 (1:4496)
ld hl, TitleMons ; $4588
add hl, bc
ld a, [hl]
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
cp [hl]
jr z, .asm_449b
ld [hl], a
@@ -11112,8 +11113,8 @@ Func_44dd: ; 44dd (1:44dd)
call FarCopyData2
call CleanLCD_OAM
xor a
- ld [W_WHICHTRADE], a ; $cd3d
- ld hl, W_OAMBUFFER
+ ld [wWhichTrade], a ; $cd3d
+ ld hl, wOAMBuffer
ld de, $605a
ld b, $7
.asm_44fa
@@ -11126,10 +11127,10 @@ Func_44dd: ; 44dd (1:44dd)
ld [hli], a
add $8
ld e, a
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld [hli], a
inc a
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
inc hl
dec c
jr nz, .asm_44fd
@@ -11292,7 +11293,7 @@ LoadMonData_: ; 45b6 (1:45b6)
ld a,[$cc49]
cp a,$01
jr c,.getMonEntry
- ld hl,$d8a4 ; enemy pokemon 1 data
+ ld hl,wEnemyMons ; enemy pokemon 1 data
jr z,.getMonEntry
cp a,$02
ld hl,W_BOXMON1DATA ; box pokemon 1 data
@@ -11525,10 +11526,9 @@ UnusedNames: ; 4a92 (1:4a92)
db "キャプテン@"
db "プチマスター@"
db "マスター@"
+ db "エクセレント"
-INCBIN "baserom.gbc",$4b09,$4b0f - $4b09
-
-; calculates the OAM data for all currently visible sprites and writes it to W_OAMBUFFER
+; calculates the OAM data for all currently visible sprites and writes it to wOAMBuffer
PrepareOAMData: ; 4b0f (1:4b0f)
ld a, [$cfcb]
dec a
@@ -11590,7 +11590,7 @@ PrepareOAMData: ; 4b0f (1:4b0f)
call Func_4bd1
ld a, [$FF00+$90]
ld e, a
- ld d, $c3 ; W_OAMBUFFER+x is buffer for OAM data
+ ld d, $c3 ; wOAMBuffer+x is buffer for OAM data
.spriteTilesLoop ; loops 4 times for the 4 tiles a sprite consists of
ld a, [$FF00+$92] ; temp for sprite Y position
add $10 ; Y=16 is top of screen (Y=0 is invisible)
@@ -11980,7 +11980,36 @@ Func_4d72: ; 4d72 (1:4d72)
DiagonalLines: ; 4d85 (1:4d85)
INCBIN "gfx/diagonal_lines.2bpp"
-INCBIN "baserom.gbc",$4da5,$4de1 - $4da5
+Func_4da5: ; 4da5 (1:4da5)
+ ret
+
+Func_4da6: ; 4da6 (1:4da6)
+ call GBPalNormal
+ ld a, $80
+ ld [W_OBTAINEDBADGES], a
+ ld hl, W_FLAGS_D733
+ set 0, [hl]
+ ld hl, W_NUMINPARTY
+ xor a
+ ld [hli], a
+ dec a
+ ld [hl], a
+ ld a, $1
+ ld [$cf91], a
+ ld a, $14
+ ld [W_CURENEMYLVL], a
+ xor a
+ ld [$cc49], a
+ ld [W_CURMAP], a
+ call AddPokemonToParty
+ ld a, $1
+ ld [W_CUROPPONENT], a
+ ld a, $2c
+ call Predef
+ ld a, $1
+ ld [$cfcb], a
+ ld [H_AUTOBGTRANSFERENABLED], a
+ jr Func_4da6
PickupItem: ; 4de1 (1:4de1)
call EnableAutoTextBoxDrawing
@@ -12034,13 +12063,13 @@ NoMoreRoomForItemText: ; 4e2c (1:4e2c)
db "@"
UpdatePlayerSprite: ; 4e31 (1:4e31)
- ld a, [$c200]
+ ld a, [wSpriteStateData2]
and a
jr z, .asm_4e41
cp $ff
jr z, .asm_4e4a
dec a
- ld [$c200], a
+ ld [wSpriteStateData2], a
jr .asm_4e4a
.asm_4e41
FuncCoord 8, 9 ; $c45c
@@ -12055,7 +12084,7 @@ UpdatePlayerSprite: ; 4e31 (1:4e31)
.asm_4e50
call Func_4c70
ld h, $c1
- ld a, [W_WALKCOUNTER] ; $cfc5
+ ld a, [wWalkCounter] ; $cfc5
and a
jr nz, .asm_4e90
ld a, [$d528]
@@ -12125,7 +12154,16 @@ UpdatePlayerSprite: ; 4e31 (1:4e31)
ld [$c207], a
ret
-INCBIN "baserom.gbc",$4ec7,$4ed1 - $4ec7
+Func_4ec7: ; 4ec7 (1:4ec7)
+ push bc
+ push af
+ ld a, [$ffda]
+ ld c, a
+ pop af
+ add c
+ ld l, a
+ pop bc
+ ret
Func_4ed1: ; 4ed1 (1:4ed1)
ld a, [H_CURRENTSPRITEOFFSET]
@@ -12136,7 +12174,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
add l
ld l, a
ld a, [hl] ; read movement byte 2
- ld [W_CURSPRITEMOVEMENT2], a
+ ld [wCurSpriteMovement2], a
ld h, $c1
ld a, [H_CURRENTSPRITEOFFSET]
ld l, a
@@ -12162,7 +12200,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
jp z, UpdateSpriteMovementDelay ; c1x1 == 2
cp $3
jp z, UpdateSpriteInWalkingAnimation ; c1x1 == 3
- ld a, [W_WALKCOUNTER] ; $cfc5
+ ld a, [wWalkCounter] ; $cfc5
and a
ret nz ; don't do anything yet if player is currently moving (redundant, already tested in CheckSpriteAvailability)
call InitializeSpriteScreenPosition
@@ -12207,7 +12245,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
call GenRandom
.asm_4f5f
ld b, a
- ld a, [W_CURSPRITEMOVEMENT2]
+ ld a, [wCurSpriteMovement2]
cp $d0
jr z, .moveDown ; movement byte 2 = $d0 forces down
cp $d1
@@ -12219,7 +12257,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
ld a, b
cp $40 ; a < $40: down (or left)
jr nc, .notDown
- ld a, [W_CURSPRITEMOVEMENT2]
+ ld a, [wCurSpriteMovement2]
cp $2
jr z, .moveLeft ; movement byte 2 = $2 only allows left or right
.moveDown
@@ -12232,7 +12270,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
.notDown
cp $80 ; $40 <= a < $80: up (or right)
jr nc, .notUp
- ld a, [W_CURSPRITEMOVEMENT2]
+ ld a, [wCurSpriteMovement2]
cp $2
jr z, .moveRight ; movement byte 2 = $2 only allows left or right
.moveUp
@@ -12244,7 +12282,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
.notUp
cp $c0 ; $80 <= a < $c0: left (or up)
jr nc, .notLeft
- ld a, [W_CURSPRITEMOVEMENT2]
+ ld a, [wCurSpriteMovement2]
cp $1
jr z, .moveUp ; movement byte 2 = $1 only allows up or down
.moveLeft
@@ -12254,7 +12292,7 @@ Func_4ed1: ; 4ed1 (1:4ed1)
ld bc, $208
jr TryWalking
.notLeft ; $c0 <= a: right (or down)
- ld a, [W_CURSPRITEMOVEMENT2]
+ ld a, [wCurSpriteMovement2]
cp $1
jr z, .moveDown ; movement byte 2 = $1 only allows up or down
.moveRight
@@ -12544,7 +12582,7 @@ CheckSpriteAvailability: ; 50dc (1:50dc)
jr .done
.spriteVisible
ld c, a
- ld a, [W_WALKCOUNTER] ; $cfc5
+ ld a, [wWalkCounter] ; $cfc5
and a
jr nz, .done ; if player is currently walking, we're done
call UpdateSpriteImage
@@ -12717,13 +12755,13 @@ getTileSpriteStandsOn: ; 5207 (1:5207)
add $14 ; screen X tile + 20
ld d, $0
ld e, a
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
add hl, bc
add hl, bc
add hl, bc
add hl, bc
add hl, bc
- add hl, de ; W_SCREENTILESBUFFER + 20*(screen Y tile + 1) + screen X tile
+ add hl, de ; wTileMap + 20*(screen Y tile + 1) + screen X tile
ret
; loads [de+a] into a
@@ -12818,7 +12856,7 @@ Func_52b7: ; 52b7 (1:52b7)
ld a, $6
ld b, a
asm_52ba: ; 52ba (1:52ba)
- ld hl, $c100
+ ld hl, wSpriteStateData1
ld a, [H_CURRENTSPRITEOFFSET]
add l
add b
@@ -12826,7 +12864,7 @@ asm_52ba: ; 52ba (1:52ba)
ret
Func_52c3: ; 52c3 (1:52c3)
- ld hl, $c200
+ ld hl, wSpriteStateData2
ld a, [H_CURRENTSPRITEOFFSET]
add $e
ld l, a
@@ -12834,7 +12872,7 @@ Func_52c3: ; 52c3 (1:52c3)
dec a
swap a
ld b, a
- ld hl, $c100
+ ld hl, wSpriteStateData1
ld a, [H_CURRENTSPRITEOFFSET]
add $9
ld l, a
@@ -12853,7 +12891,7 @@ Func_52c3: ; 52c3 (1:52c3)
ld b, a
ld [$FF00+$e9], a
call Func_5301
- ld hl, $c100
+ ld hl, wSpriteStateData1
ld a, [H_CURRENTSPRITEOFFSET]
add $2
ld l, a
@@ -12926,7 +12964,7 @@ Func_5317: ; 5317 (1:5317)
ld [hli], a
dec b
jr nz, .asm_535d
- ld hl, W_SCREENTILESBACKBUFFER
+ ld hl, wTileMapBackup
ld a, $fd
ld [hli], a
ld [hli], a
@@ -12998,7 +13036,7 @@ Func_5317: ; 5317 (1:5317)
ld a, $8
ld [rIE], a ; $FF00+$ff
ld hl, $d141
- ld de, W_SCREENTILESBACKBUFFER2
+ ld de, wTileMapBackup2
ld bc, $11
call Func_216f
ld a, $fe
@@ -13009,7 +13047,7 @@ Func_5317: ; 5317 (1:5317)
call Func_216f
ld a, $fe
ld [de], a
- ld hl, W_SCREENTILESBACKBUFFER
+ ld hl, wTileMapBackup
ld de, $c5d0
ld bc, $c8
call Func_216f
@@ -13020,7 +13058,7 @@ Func_5317: ; 5317 (1:5317)
ld a, [$FF00+$aa]
cp $2
jr z, .asm_5431
- ld hl, W_SCREENTILESBACKBUFFER2
+ ld hl, wTileMapBackup2
.asm_5415
ld a, [hli]
and a
@@ -13061,7 +13099,7 @@ Func_5317: ; 5317 (1:5317)
inc de
dec c
jr nz, .asm_5446
- ld de, W_ENEMYMONCOUNT ; $d89c
+ ld de, wEnemyPartyCount ; $d89c
ld bc, $194
.asm_5456
ld a, [hli]
@@ -13073,7 +13111,7 @@ Func_5317: ; 5317 (1:5317)
ld a, b
or c
jr nz, .asm_5456
- ld de, W_SCREENTILESBACKBUFFER
+ ld de, wTileMapBackup
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
ld c, $2
.asm_546a
@@ -13099,7 +13137,7 @@ Func_5317: ; 5317 (1:5317)
pop hl
jr .asm_546a
.asm_5489
- ld hl, W_PARTYMON6_MOVE4PP ; $d267
+ ld hl, W_PARTYMON6DATA + W_PARTYMON1_MOVE4PP - W_PARTYMON1DATA ; $d267
dec c
jr nz, .asm_546a
ld de, $c5d0
@@ -13239,7 +13277,7 @@ Func_5530
ld hl, Func_39bd5
ld b, $e
call Bankswitch
- ld hl, $d8a4
+ ld hl, wEnemyMons
call Func_57d6
jp .asm_565b
.asm_55b0
@@ -13511,7 +13549,7 @@ Func_57d6:
jp Func_57a2
Func_57f2:
- ld hl, $c3a0
+ ld hl, wTileMap
ld b, $6
ld c, $12
call Func_5ab3
@@ -13650,7 +13688,7 @@ Func_5849:
ld de, $cd4e
ld bc, $000b
call CopyData
- ld hl, $d8a4
+ ld hl, wEnemyMons
ld a, [$cd3e]
ld bc, $002c
call AddNTimes
@@ -13680,7 +13718,7 @@ Func_5849:
add hl, de
ld a, [hl]
ld [$cf91], a
- ld hl, $d8a4
+ ld hl, wEnemyMons
ld a, c
ld bc, $002c
call AddNTimes
@@ -13701,7 +13739,7 @@ Func_5849:
ld a, [hl]
ld [$cd3e], a
ld a, $a
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
ld a, $2
ld [$c0f0], a
ld a, $e5
@@ -13798,7 +13836,7 @@ Func_5a5f: ; 5a5f (1:5a5f)
ld [W_ISLINKBATTLE], a ; $d12b
ld [$FF00+$b5], a
ld a, $a
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
ld a, BANK(Music_Celadon)
ld [$c0f0], a
ld a, (Music_Celadon - $4000) / 3
@@ -13808,7 +13846,7 @@ Func_5a5f: ; 5a5f (1:5a5f)
Func_5aaf: ; 5aaf (1:5aaf)
ret
-Unknown_5ab0:
+Func_5ab0:
call Load16BitRegisters
Func_5ab3: ; 5ab3 (1:5ab3)
@@ -13981,7 +14019,7 @@ MainMenu: ; 5af2 (1:5af2)
ld [$D71A],a
ld hl,$D732
set 2,[hl]
- call Function62CE
+ call Func_62ce
jp Func_5d5f
Func_5bff: ; 5bff (1:5bff)
ld a,1
@@ -13995,7 +14033,7 @@ Func_5c0a: ; 5c0a (1:5c0a)
ld [$d358], a
ld hl, $d72e
set 6, [hl]
- ld hl, Unknown_6b20 ; $6b20
+ ld hl, TextTerminator_6b20 ; $6b20
call PrintText
call SaveScreenTilesToBuffer1
ld hl, UnnamedText_5d43 ; $5d43
@@ -14013,7 +14051,7 @@ Func_5c0a: ; 5c0a (1:5c0a)
xor a
ld [$cd37], a
ld [$d72d], a
- ld hl, W_TOPMENUITEMY ; $cc24
+ ld hl, wTopMenuItemY ; $cc24
ld a, $7
ld [hli], a
ld a, $6
@@ -14033,7 +14071,7 @@ Func_5c0a: ; 5c0a (1:5c0a)
add a
add a
ld b, a
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
add b
add $d0
ld [$cc42], a
@@ -14069,7 +14107,7 @@ Func_5c0a: ; 5c0a (1:5c0a)
ld a, b
ld [$cc42], a
and $3
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
.asm_5ca1
ld a, [$FF00+$aa]
cp $2
@@ -14085,7 +14123,7 @@ Func_5c0a: ; 5c0a (1:5c0a)
ld a, [$cc42]
and $8
jr nz, .asm_5ccc
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
cp $2
jr z, .asm_5ccc
ld c, d
@@ -14110,12 +14148,12 @@ Func_5c0a: ; 5c0a (1:5c0a)
ld a, [$cc42]
and $8
jr nz, .asm_5d2d
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
cp $2
jr z, .asm_5d2d
xor a
ld [$d700], a
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
ld a, $f0
jr nz, .asm_5cfc
@@ -14130,11 +14168,11 @@ Func_5c0a: ; 5c0a (1:5c0a)
res 1, [hl]
ld a, [W_ANIMATIONID] ; $d07c
ld [$d71a], a
- call Function62CE
+ call Func_62ce
ld c, $14
call DelayFrames
xor a
- ld [W_MENUJOYPADPOLLCOUNT], a ; $cc34
+ ld [wMenuJoypadPollCount], a ; $cc34
ld [$cc42], a
inc a
ld [W_ISLINKBATTLE], a ; $d12b
@@ -14142,7 +14180,7 @@ Func_5c0a: ; 5c0a (1:5c0a)
jr Func_5d5f
.asm_5d2d
xor a
- ld [W_MENUJOYPADPOLLCOUNT], a ; $cc34
+ ld [wMenuJoypadPollCount], a ; $cc34
call Delay3
call Func_72d7
ld hl, UnnamedText_5d4d ; $5d4d
@@ -14225,7 +14263,31 @@ Func_5db5: ; 5db5 (1:5db5)
ld c, $1e
jp DelayFrames
-INCBIN "baserom.gbc",$5def,$5e2f - $5def
+Func_5def: ; 5def (1:5def)
+ xor a
+ ld [H_AUTOBGTRANSFERENABLED], a
+ ld hl, $c3a4
+ ld b, $8
+ ld c, $e
+ call TextBoxBorder
+ call LoadTextBoxTilePatterns
+ call UpdateSprites
+ ld hl, $c3cd
+ ld de, SaveScreenInfoText
+ call PlaceString
+ ld hl, $c3d4
+ ld de, W_PLAYERNAME
+ call PlaceString
+ ld hl, $c401
+ call Func_5e2f
+ ld hl, $c428
+ call Func_5e42
+ ld hl, $c44d
+ call Func_5e55
+ ld a, $1
+ ld [H_AUTOBGTRANSFERENABLED], a
+ ld c, $1e
+ jp DelayFrames
Func_5e2f: ; 5e2f (1:5e2f)
push hl
@@ -14239,7 +14301,7 @@ Func_5e2f: ; 5e2f (1:5e2f)
Func_5e42: ; 5e42 (1:5e42)
push hl
- ld hl, W_OWNEDPOKEMON ; $d2f7
+ ld hl, wPokedexOwned ; $d2f7
ld b, $13
call CountSetBits
pop hl
@@ -14296,16 +14358,16 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
ld de,OptionMenuCancelText
call PlaceString
xor a
- ld [W_CURMENUITEMID],a
- ld [W_OLDMENUITEMID],a
+ ld [wCurrentMenuItem],a
+ ld [wLastMenuItem],a
inc a
ld [$d358],a
ld [$cd40],a
ld a,3 ; text speed cursor Y coordinate
- ld [W_TOPMENUITEMY],a
+ ld [wTopMenuItemY],a
call SetCursorPositionsFromOptions
ld a,[$cd3d] ; text speed cursor X coordinate
- ld [W_TOPMENUITEMX],a
+ ld [wTopMenuItemX],a
ld a,$01
ld [H_AUTOBGTRANSFERENABLED],a ; enable auto background transfer
call Delay3
@@ -14324,7 +14386,7 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
jr nz,.exitMenu
bit 0,b ; A button pressed?
jr z,.checkDirectionKeys
- ld a,[W_TOPMENUITEMY]
+ ld a,[wTopMenuItemY]
cp a,16 ; is the cursor on Cancel?
jr nz,.loop
.exitMenu
@@ -14332,11 +14394,11 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
call PlaySound ; play sound
ret
.eraseOldMenuCursor
- ld [W_TOPMENUITEMX],a
+ ld [wTopMenuItemX],a
call EraseMenuCursor
jp .loop
.checkDirectionKeys
- ld a,[W_TOPMENUITEMY]
+ ld a,[wTopMenuItemY]
bit 7,b ; Down pressed?
jr nz,.downPressed
bit 6,b ; Up pressed?
@@ -14382,9 +14444,9 @@ DisplayOptionMenu: ; 5e8a (1:5e8a)
inc hl
.updateMenuVariables
add b
- ld [W_TOPMENUITEMY],a
+ ld [wTopMenuItemY],a
ld a,[hl]
- ld [W_TOPMENUITEMX],a
+ ld [wTopMenuItemX],a
call PlaceUnfilledArrowMenuCursor
jp .loop
.cursorInBattleAnimation
@@ -14566,7 +14628,7 @@ Func_60ca: ; 60ca (1:60ca)
ld bc, $d8a
xor a
call FillMemory
- ld hl, $c100
+ ld hl, wSpriteStateData1
ld bc, $200
xor a
call FillMemory
@@ -14608,12 +14670,12 @@ OakSpeech: ; 6115 (1:6115)
call AddItemToInventory ; give one potion
ld a,[$D07C]
ld [$D71A],a
- call Function62CE
+ call Func_62ce
xor a
ld [$FFD7],a
ld a,[$D732]
bit 1,a ; XXX when is bit 1 set?
- jp nz,Function61BC ; easter egg: skip the intro
+ jp nz,Func_61bc ; easter egg: skip the intro
ld de,ProfOakPic
ld bc,$1300
call IntroPredef3B ; displays Oak pic?
@@ -14650,7 +14712,8 @@ OakSpeech: ; 6115 (1:6115)
ld hl,IntroduceRivalText
call PrintText
call Func_69a4
-Function61BC: ; 61bc (1:61bc)
+
+Func_61bc: ; 61bc (1:61bc)
call GBFadeOut2
call ClearScreen
ld de,RedPicFront
@@ -14690,7 +14753,7 @@ Function61BC: ; 61bc (1:61bc)
ld [$C0EF],a
ld [$C0F0],a
ld a,$A
- ld [W_CURCHANNELPOINTER],a
+ ld [wMusicHeaderPointer],a
ld a,$FF
ld [$C0EE],a
call PlaySound ; stop music
@@ -14791,7 +14854,7 @@ IntroPredef3B: ; 62a4 (1:62a4)
ld a,1
jp Predef
-Function62CE: ; 62CE XXX called by 4B2 948 989 5BF9 5D15
+Func_62ce: ; 62ce (1:62ce)
call Func_62ff
ld a,$19
call Predef
@@ -14824,20 +14887,20 @@ Func_62ff: ; 62ff (1:62ff)
ld a, [$d72d]
cp $ef
jr nz, .asm_6314
- ld hl, BattleCenterMWarpSpec1 ; $6428
+ ld hl, BattleCenterSpec1 ; $6428
ld a, [$FF00+$aa]
cp $2
jr z, .asm_6334
- ld hl, BattleCenterMWarpSpec2 ; $6430
+ ld hl, BattleCenterSpec2 ; $6430
jr .asm_6334
.asm_6314
cp $f0
jr nz, .asm_6326
- ld hl, TradeCenterMWarpSpec1 ; $6438
+ ld hl, TradeCenterSpec1 ; $6438
ld a, [$FF00+$aa]
cp $2
jr z, .asm_6334
- ld hl, TradeCenterMWarpSpec2 ; $6440
+ ld hl, TradeCenterSpec2 ; $6440
jr .asm_6334
.asm_6326
ld a, [$d732]
@@ -14845,7 +14908,7 @@ Func_62ff: ; 62ff (1:62ff)
jr nz, .asm_6346
bit 2, a
jr nz, .asm_6346
- ld hl, FirstMapWarpSpec ; $6420
+ ld hl, FirstMapSpec ; $6420
.asm_6334
ld de, W_CURMAP ; $d35e
ld c, $7
@@ -14877,7 +14940,7 @@ Func_62ff: ; 62ff (1:62ff)
ld [W_CURMAP], a ; $d35e
ld a, [$d71e]
ld c, a
- ld hl, SpecialCaseMapsWithFlyWarpData ; $63bf
+ ld hl, DungeonWarpList ; $63bf
ld de, $0
ld a, $6
ld [$d12f], a
@@ -14897,7 +14960,7 @@ Func_62ff: ; 62ff (1:62ff)
ld e, a
jr .asm_6376
.asm_6388
- ld hl, SpecialCaseFlyWarpData ; $63d8
+ ld hl, DungeonWarpData ; $63d8
add hl, de
jr .asm_63a4
.asm_638e
@@ -14936,31 +14999,22 @@ Func_62ff: ; 62ff (1:62ff)
ld [$d42f], a
ret
-SpecialCaseMapsWithFlyWarpData: ; 63bf (1:63bf)
-; List of maps and their corresponing FlyWarp ids
-; These are used for falling down holes
- db $9f,$01 ; SeafoamIslands2, flywarp data 1
- db $9f,$02 ; SeafoamIslands2, flywarp data 2
- db $A0,$01 ; SeafoamIslands3, flywarp data 1
- db $A0,$02 ; SeafoamIslands3, flywarp data 2
- db $A1,$01 ; SeafoamIslands3, flywarp data 1
- db $A1,$02 ; SeafoamIslands4, flywarp data 2
- db $A2,$01 ; SeafoamIslands5, flywarp data 1
- db $A2,$02 ; SeafoamIslands5, flywarp data 2
- db $C2,$02 ; VictoryRoad2, flywarp data 1
- db $A5,$01 ; Mansion1, flywarp data 1
- db $A5,$02 ; Mansion1, flywarp data 2
- db $D6,$03 ; Mansion2, flywarp data 3
- db $FF ; terminate list
-
-SpecialCaseFlyWarpData: ; 63d8 (1:63d8)
-; These are the FlyWarp points for maps in which you fall down
-; holes. The items in SpecialCaseMapsWithFlyWarpData are paired
-; with the corresponding items in this list.
-; Original Format:
-; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
-; Macro Format:
-; FLYWARP_DATA [Map Width][Y-pos][X-pos]
+DungeonWarpList: ; 63bf (1:63bf)
+ db SEAFOAM_ISLANDS_2,$01
+ db SEAFOAM_ISLANDS_2,$02
+ db SEAFOAM_ISLANDS_3,$01
+ db SEAFOAM_ISLANDS_3,$02
+ db SEAFOAM_ISLANDS_4,$01
+ db SEAFOAM_ISLANDS_4,$02
+ db SEAFOAM_ISLANDS_5,$01
+ db SEAFOAM_ISLANDS_5,$02
+ db VICTORY_ROAD_2,$02
+ db MANSION_1,$01
+ db MANSION_1,$02
+ db MANSION_2,$03
+ db $FF
+
+DungeonWarpData: ; 63d8 (1:63d8)
FLYWARP_DATA SEAFOAM_ISLANDS_2_WIDTH,7,18
FLYWARP_DATA SEAFOAM_ISLANDS_2_WIDTH,7,23
FLYWARP_DATA SEAFOAM_ISLANDS_3_WIDTH,7,19
@@ -14974,50 +15028,34 @@ SpecialCaseFlyWarpData: ; 63d8 (1:63d8)
FLYWARP_DATA MANSION_1_WIDTH,14,16
FLYWARP_DATA MANSION_2_WIDTH,14,18
-FirstMapWarpSpec: ; 6420 (1:6420)
- db REDS_HOUSE_2F ; RedsHouse2F
-; Original Format:
-; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
-; Macro Format:
-; FLYWARP_DATA [Map Width][Y-pos][X-pos]
- FLYWARP_DATA 4,6,3
- db $04 ; Tileset_id
+;Format:
+; db Map_id
+; FLYWARP_DATA [Map Width][Y-pos][X-pos]
+; db Tileset_id
+FirstMapSpec: ; 6420 (1:6420)
+ db REDS_HOUSE_2F
+ FLYWARP_DATA REDS_HOUSE_2F_WIDTH,6,3
+ db $04
-BattleCenterMWarpSpec1: ; 6428 (1:6428)
- db BATTLE_CENTER ; BattleCenterM
-; Original Format:
-; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
-; Macro Format:
-; FLYWARP_DATA [Map Width][Y-pos][X-pos]
+BattleCenterSpec1: ; 6428 (1:6428)
+ db BATTLE_CENTER
FLYWARP_DATA BATTLE_CENTER_WIDTH,4,3
- db $15 ; Tileset_id
+ db $15
-BattleCenterMWarpSpec2: ; 6430 (1:6430)
- db BATTLE_CENTER ; BattleCenterM
-; Original Format:
-; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
-; Macro Format:
-; FLYWARP_DATA [Map Width][Y-pos][X-pos]
+BattleCenterSpec2: ; 6430 (1:6430)
+ db BATTLE_CENTER
FLYWARP_DATA BATTLE_CENTER_WIDTH,4,6
- db $15 ; Tileset_id
+ db $15
-TradeCenterMWarpSpec1: ; 6438 (1:6438)
- db TRADE_CENTER ; TradeCenterM
-; Original Format:
-; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
-; Macro Format:
-; FLYWARP_DATA [Map Width][Y-pos][X-pos]
+TradeCenterSpec1: ; 6438 (1:6438)
+ db TRADE_CENTER
FLYWARP_DATA TRADE_CENTER_WIDTH,4,3
- db $15 ; Tileset_id
+ db $15
-TradeCenterMWarpSpec2: ; 6440 (1:6440)
- db TRADE_CENTER ; TradeCenterM
-; Original Format:
-; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block]
-; Macro Format:
-; FLYWARP_DATA [Map Width][Y-pos][X-pos]
+TradeCenterSpec2: ; 6440 (1:6440)
+ db TRADE_CENTER
FLYWARP_DATA TRADE_CENTER_WIDTH,4,6
- db $15 ; Tileset_id
+ db $15
FlyWarpDataPtr: ; 6448 (1:6448)
db $00,0
@@ -15078,7 +15116,36 @@ Map0fFlyWarp: ; 64be (1:64be)
Map15FlyWarp: ; 64c4 (1:64c4)
FLYWARP_DATA 10,20,11
-INCBIN "baserom.gbc",$64ca,$64ea - $64ca
+; This function appears to never be used.
+; It is likely a debugging feature to give the player Tsunekazu Ishihara's
+; favorite Pokemon. This is indicated by the overpowered Exeggutor, which
+; Ishihara (president of Creatures Inc.) said was his favorite Pokemon in an ABC
+; interview on February 8, 2000.
+; "Exeggutor is my favorite. That's because I was always using this character
+; while I was debugging the program."
+; http://www.ign.com/articles/2000/02/09/abc-news-pokamon-chat-transcript
+
+SetIshiharaTeam: ; 64ca (1:64ca)
+ ld de, IshiharaTeam
+.loop
+ ld a, [de]
+ cp $ff
+ ret z
+ ld [$cf91], a
+ inc de
+ ld a, [de]
+ ld [W_CURENEMYLVL], a
+ inc de
+ call AddPokemonToParty
+ jr .loop
+
+IshiharaTeam: ; 64df (1:64df)
+ db EXEGGUTOR,90
+ db MEW,20
+ db JOLTEON,56
+ db DUGTRIO,56
+ db ARTICUNO,57
+ db $FF
Func_64ea: ; 64ea (1:64ea)
ret
@@ -15089,7 +15156,7 @@ AskForMonNickname: ; 64eb (1:64eb)
push hl
ld a, [W_ISINBATTLE] ; $d057
dec a
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld b, $4
ld c, $b
call z, ClearScreenArea ; only if in wild batle
@@ -15105,7 +15172,7 @@ AskForMonNickname: ; 64eb (1:64eb)
ld [$d125], a
call DisplayTextBoxID
pop hl
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
jr nz, .asm_654c
ld a, [$cfcb]
@@ -15137,7 +15204,7 @@ AskForMonNickname: ; 64eb (1:64eb)
DoYouWantToNicknameText: ; 0x6557
TX_FAR _DoYouWantToNicknameText
- db $50
+ db "@"
Func_655c: ; 655c (1:655c)
ld hl, $cee9
@@ -15154,7 +15221,7 @@ Func_655c: ; 655c (1:655c)
jr z, .asm_6594
ld hl, W_PARTYMON1NAME ; $d2b5
ld bc, $b
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
call AddNTimes
ld e, l
ld d, h
@@ -15188,15 +15255,15 @@ Func_6596: ; 6596 (1:6596)
call TextBoxBorder
call Func_68f8
ld a, $3
- ld [W_TOPMENUITEMY], a ; $cc24
+ ld [wTopMenuItemY], a ; $cc24
ld a, $1
- ld [W_TOPMENUITEMX], a ; $cc25
- ld [W_OLDMENUITEMID], a ; $cc2a
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wTopMenuItemX], a ; $cc25
+ ld [wLastMenuItem], a ; $cc2a
+ ld [wCurrentMenuItem], a ; $cc26
ld a, $ff
- ld [W_MENUWATCHEDKEYS], a ; $cc29
+ ld [wMenuWatchedKeys], a ; $cc29
ld a, $7
- ld [W_MAXMENUITEMID], a ; $cc28
+ ld [wMaxMenuItem], a ; $cc28
ld a, $50
ld [$cf4b], a
xor a
@@ -15207,24 +15274,26 @@ Func_6596: ; 6596 (1:6596)
.asm_65ed
call Func_676f
call GBPalNormal
+.asm_65f3
ld a, [$ceea]
and a
jr nz, .asm_662d
call Func_680e
+.asm_65fc
call PlaceMenuCursor
.asm_65ff
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
push af
ld b, BANK(Func_716f7)
ld hl, Func_716f7
call Bankswitch ; indirect jump to Func_716f7 (716f7 (1c:56f7))
pop af
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
call GetJoypadStateLowSensitivity
ld a, [H_NEWLYPRESSEDBUTTONS]
and a
jr z, .asm_65ff
- ld hl, .unknown_665e ; $665e
+ ld hl, .unknownPointerTable_665e ; $665e
.asm_661a
sla a
jr c, .asm_6624
@@ -15264,13 +15333,29 @@ Func_6596: ; 6596 (1:6596)
ld b, BANK(Func_3ee5b)
jp Bankswitch ; indirect jump to Func_3ee5b (3ee5b (f:6e5b))
-.unknown_665e: ; 665e (1:665e)
-INCBIN "baserom.gbc",$665e,$667e - $665e
+.unknownPointerTable_665e: ; 665e (1:665e)
+ dw .asm_65fc
+ dw .asm_673e
+ dw .asm_65fc
+ dw .asm_672c
+ dw .asm_65fc
+ dw .asm_6718
+ dw .asm_65fc
+ dw .asm_6702
+ dw .asm_65f3
+ dw .asm_668c
+ dw .asm_65ed
+ dw .asm_6683
+ dw .asm_65f3
+ dw .asm_66f6
+ dw .asm_65f3
+ dw .asm_6692
.asm_667e
pop de
ld de, .asm_65ed ; $65ed
push de
+.asm_6683
ld a, [$ceeb]
xor $1
ld [$ceeb], a
@@ -15279,21 +15364,22 @@ INCBIN "baserom.gbc",$665e,$667e - $665e
ld a, $1
ld [$ceea], a
ret
- ld a, [W_CURMENUITEMID] ; $cc26
+.asm_6692
+ ld a, [wCurrentMenuItem] ; $cc26
cp $5
jr nz, .asm_66a0
- ld a, [W_TOPMENUITEMX] ; $cc25
+ ld a, [wTopMenuItemX] ; $cc25
cp $11
jr z, .asm_668c
.asm_66a0
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
cp $6
jr nz, .asm_66ae
- ld a, [W_TOPMENUITEMX] ; $cc25
+ ld a, [wTopMenuItemX] ; $cc25
cp $1
jr z, .asm_667e
.asm_66ae
- ld hl, W_MENUCURSORLOCATION ; $cc30
+ ld hl, wMenuCursorLocation ; $cc30
ld a, [hli]
ld h, [hl]
ld l, a
@@ -15333,6 +15419,7 @@ INCBIN "baserom.gbc",$665e,$667e - $665e
ld a, $90
call PlaySound
ret
+.asm_66f6
ld a, [$cee9]
and a
ret z
@@ -15340,65 +15427,66 @@ INCBIN "baserom.gbc",$665e,$667e - $665e
dec hl
ld [hl], $50
ret
- ld a, [W_CURMENUITEMID] ; $cc26
+.asm_6702
+ ld a, [wCurrentMenuItem] ; $cc26
cp $6
ret z
- ld a, [W_TOPMENUITEMX] ; $cc25
+ ld a, [wTopMenuItemX] ; $cc25
cp $11
- jp z, Func_6714
+ jp z, .asm_6714
inc a
inc a
- jr asm_6755
-
-Func_6714: ; 6714 (1:6714)
+ jr .asm_6755
+.asm_6714
ld a, $1
- jr asm_6755
- ld a, [W_CURMENUITEMID] ; $cc26
+ jr .asm_6755
+.asm_6718
+ ld a, [wCurrentMenuItem] ; $cc26
cp $6
ret z
- ld a, [W_TOPMENUITEMX] ; $cc25
+ ld a, [wTopMenuItemX] ; $cc25
dec a
- jp z, Func_6728
+ jp z, .asm_6728
dec a
- jr asm_6755
-
-Func_6728: ; 6728 (1:6728)
+ jr .asm_6755
+.asm_6728
ld a, $11
- jr asm_6755
- ld a, [W_CURMENUITEMID] ; $cc26
+ jr .asm_6755
+.asm_672c
+ ld a, [wCurrentMenuItem] ; $cc26
dec a
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
and a
ret nz
ld a, $6
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
ld a, $1
- jr asm_6755
- ld a, [W_CURMENUITEMID] ; $cc26
+ jr .asm_6755
+.asm_673e
+ ld a, [wCurrentMenuItem] ; $cc26
inc a
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
cp $7
jr nz, .asm_6750
ld a, $1
- ld [W_CURMENUITEMID], a ; $cc26
- jr asm_6755
+ ld [wCurrentMenuItem], a ; $cc26
+ jr .asm_6755
.asm_6750
cp $6
ret nz
ld a, $1
-asm_6755: ; 6755 (1:6755)
- ld [W_TOPMENUITEMX], a ; $cc25
+.asm_6755
+ ld [wTopMenuItemX], a ; $cc25
jp EraseMenuCursor
Func_675b: ; 675b (1:675b)
- ld de, EDpic ; $6767
+ ld de, ED_Tile
ld hl, $8f00
ld bc, $1
jp CopyVideoDataDouble
-EDpic: ; 6767 (1:6767)
-; The 2bpp graphics for the "ED" symbol in the nicknaming screen
- INCBIN "gfx/ed_symbol.2bpp"
+ED_Tile: ; 6767 (1:6767)
+ INCBIN "gfx/ED_tile.1bpp"
Func_676f: ; 676f (1:676f)
xor a
@@ -15476,9 +15564,9 @@ Func_680e: ; 680e (1:680e)
jr nz, .asm_6867
call EraseMenuCursor
ld a, $11
- ld [W_TOPMENUITEMX], a ; $cc25
+ ld [wTopMenuItemX], a ; $cc25
ld a, $5
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
ld a, [$d07d]
cp $2
ld a, $9
@@ -15574,10 +15662,10 @@ NicknameTextString: ; 6953 (1:6953)
db "NICKNAME?@"
Func_695d: ; 695d (1:695d)
- call Unnamed_6a12
+ call Func_6a12
ld de, DefaultNamesPlayer ; $6aa8
call Func_6a6c
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
jr z, .asm_697a
ld hl, DefaultNamesPlayerList ; $6af2
@@ -15607,10 +15695,10 @@ UnnamedText_699f: ; 699f (1:699f)
db "@"
Func_69a4: ; 69a4 (1:69a4)
- call Unnamed_6a12 ; 0x69a4 call 0x6a12
+ call Func_6a12 ; 0x69a4 call 0x6a12
ld de, DefaultNamesRival
call Func_6a6c
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
jr z, .asm_69c1
ld hl, DefaultNamesRivalList
@@ -15641,7 +15729,7 @@ UnnamedText_69e7: ; 69e7 (1:69e7)
Func_69ec: ; 69ec (1:69ec)
push de
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld bc, $c0b
call ClearScreenArea
ld c, $a
@@ -15657,7 +15745,7 @@ Func_69ec: ; 69ec (1:69ec)
ld a, $ff
jr asm_6a19
-Unnamed_6a12: ; 6a12 (1:6a12)
+Func_6a12: ; 6a12 (1:6a12)
FuncCoord 5, 4 ; $c3f5
ld hl, Coord
ld de, $67d
@@ -15732,7 +15820,7 @@ asm_6a19: ; 6a19 (1:6a19)
Func_6a6c: ; 6a6c (1:6a6c)
push de
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld b, $a
ld c, $9
call TextBoxBorder
@@ -15746,15 +15834,15 @@ Func_6a6c: ; 6a6c (1:6a6c)
call PlaceString
call UpdateSprites
xor a
- ld [W_CURMENUITEMID], a ; $cc26
- ld [W_OLDMENUITEMID], a ; $cc2a
+ ld [wCurrentMenuItem], a ; $cc26
+ ld [wLastMenuItem], a ; $cc2a
inc a
- ld [W_TOPMENUITEMX], a ; $cc25
- ld [W_MENUWATCHEDKEYS], a ; $cc29
+ ld [wTopMenuItemX], a ; $cc25
+ ld [wMenuWatchedKeys], a ; $cc29
inc a
- ld [W_TOPMENUITEMY], a ; $cc24
+ ld [wTopMenuItemY], a ; $cc24
inc a
- ld [W_MAXMENUITEMID], a ; $cc28
+ ld [wMaxMenuItem], a ; $cc28
jp HandleMenuInput
.namestring ; 6aa3 (1:6aa3)
@@ -15807,18 +15895,18 @@ DefaultNamesRivalList: ; 6b08 (1:6b08)
db "NEW NAME@RED@ASH@JACK@"
ENDC
-Unknown_6b20: ; 6b20 (1:6b20)
+TextTerminator_6b20: ; 6b20 (1:6b20)
db "@"
; subtracts the amount the player paid from their money
; sets carry flag if there is enough money and unsets carry flag if not
SubtractAmountPaidFromMoney_: ; 6b21 (1:6b21)
- ld de,W_PLAYERMONEY3
+ ld de,wPlayerMoney
ld hl,$ff9f ; total price of items
ld c,3 ; length of money in bytes
call StringCmp
ret c
- ld de,W_PLAYERMONEY1
+ ld de,wPlayerMoney + 2
ld hl,$ffa1 ; total price of items
ld c,3 ; length of money in bytes
ld a,$0c
@@ -15830,7 +15918,7 @@ SubtractAmountPaidFromMoney_: ; 6b21 (1:6b21)
ret
HandleItemListSwapping: ; 6b44 (1:6b44)
- ld a,[W_LISTMENUID]
+ ld a,[wListMenuID]
cp a,ITEMLISTMENU
jp nz,DisplayListMenuIDLoop ; only rearrange item list menus
push hl
@@ -15839,9 +15927,9 @@ HandleItemListSwapping: ; 6b44 (1:6b44)
ld h,[hl]
ld l,a
inc hl ; hl = beginning of list entries
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
ld b,a
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
add b
add a
ld c,a
@@ -15855,20 +15943,20 @@ HandleItemListSwapping: ; 6b44 (1:6b44)
and a ; has the first item to swap already been chosen?
jr nz,.swapItems
; if not, set the currently selected item as the first item
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
inc a
ld b,a
- ld a,[W_LISTSCROLLOFFSET] ; index of top (visible) menu item within the list
+ ld a,[wListScrollOffset] ; index of top (visible) menu item within the list
add b
ld [$cc35],a ; ID of item chosen for swapping (counts from 1)
ld c,20
call DelayFrames
jp DisplayListMenuIDLoop
.swapItems
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
inc a
ld b,a
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
add b
ld b,a
ld a,[$cc35] ; ID of item chosen for swapping (counts from 1)
@@ -15887,9 +15975,9 @@ HandleItemListSwapping: ; 6b44 (1:6b44)
inc hl ; hl = beginning of list entries
ld d,h
ld e,l ; de = beginning of list entries
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
ld b,a
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
add b
add a
ld c,a
@@ -15951,7 +16039,7 @@ HandleItemListSwapping: ; 6b44 (1:6b44)
ld [$d12a],a ; update number of items variable
cp a,1
jr nz,.skipSettingMaxMenuItemID
- ld [W_MAXMENUITEMID],a ; if the number of items is only one now, update the max menu item ID
+ ld [wMaxMenuItem],a ; if the number of items is only one now, update the max menu item ID
.skipSettingMaxMenuItemID
dec de
ld h,d
@@ -15970,8 +16058,8 @@ HandleItemListSwapping: ; 6b44 (1:6b44)
jr .moveItemsUpLoop
.afterMovingItemsUp
xor a
- ld [W_LISTSCROLLOFFSET],a
- ld [W_CURMENUITEMID],a
+ ld [wListScrollOffset],a
+ ld [wCurrentMenuItem],a
.done
xor a
ld [$cc35],a ; 0 means no item is currently being swapped
@@ -15980,15 +16068,15 @@ HandleItemListSwapping: ; 6b44 (1:6b44)
jp DisplayListMenuIDLoop
DisplayPokemartDialogue_: ; 6c20 (1:6c20)
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
ld [$d07e],a
call UpdateSprites ; move sprites
xor a
ld [$cf0a],a ; flag that is set if something is sold or bought
.loop
xor a
- ld [W_LISTSCROLLOFFSET],a
- ld [W_CURMENUITEMID],a
+ ld [wListScrollOffset],a
+ ld [wCurrentMenuItem],a
ld [$cc2f],a
inc a
ld [$cf93],a
@@ -16020,7 +16108,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
ld hl, Func_39bd5
ld b, BANK(Func_39bd5)
call Bankswitch
- ld a,[W_NUMBAGITEMS]
+ ld a,[wNumBagItems]
and a
jp z,.bagEmpty
ld hl,PokemonSellingGreetingText
@@ -16031,16 +16119,16 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
ld a,$13
ld [$d125],a
call DisplayTextBoxID ; draw money text box
- ld hl,W_NUMBAGITEMS
+ ld hl,wNumBagItems
ld a,l
ld [$cf8b],a
ld a,h
ld [$cf8c],a
xor a
ld [$cf93],a
- ld [W_CURMENUITEMID],a
+ ld [wCurrentMenuItem],a
ld a,ITEMLISTMENU
- ld [W_LISTMENUID],a
+ ld [wListMenuID],a
call DisplayListMenuID
jp c,.returnToMainPokemartMenu ; if the player closed the menu
.confirmItemSale ; if the player is trying to sell a specific item
@@ -16052,7 +16140,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
call IsItemHM
jr c,.unsellableItem
ld a,PRICEDITEMLISTMENU
- ld [W_LISTMENUID],a
+ ld [wListMenuID],a
ld [$ff8e],a ; halve prices when selling
call DisplayChooseQuantityMenu
inc a
@@ -16080,7 +16168,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
ld [$cf0a],a
.skipSettingFlag1
call AddAmountSoldToMoney
- ld hl,W_NUMBAGITEMS
+ ld hl,wNumBagItems
call RemoveItemFromInventory
jp .sellMenuLoop
.unsellableItem
@@ -16114,11 +16202,11 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
ld a,h
ld [$cf8c],a
xor a
- ld [W_CURMENUITEMID],a
+ ld [wCurrentMenuItem],a
inc a
ld [$cf93],a
inc a ; a = 2 (PRICEDITEMLISTMENU)
- ld [W_LISTMENUID],a
+ ld [wListMenuID],a
call DisplayListMenuID
jr c,.returnToMainPokemartMenu ; if the player closed the menu
ld a,$63
@@ -16149,7 +16237,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
.buyItem
call .isThereEnoughMoney
jr c,.notEnoughMoney
- ld hl,W_NUMBAGITEMS
+ ld hl,wNumBagItems
call AddItemToInventory
jr nc,.bagFull
call SubtractAmountPaidFromMoney
@@ -16174,7 +16262,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
call PrintText
jp .loop
.isThereEnoughMoney
- ld de,W_PLAYERMONEY3
+ ld de,wPlayerMoney
ld hl,$ff9f ; item price
ld c,3 ; length of money in bytes
jp StringCmp
@@ -16193,7 +16281,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20)
ld [$cfcb],a
call UpdateSprites ; move sprites
ld a,[$d07e]
- ld [W_LISTSCROLLOFFSET],a
+ ld [wListScrollOffset],a
ret
PokemartBuyingGreetingText: ; 6e0c (1:6e0c)
@@ -16242,7 +16330,7 @@ PokemartAnythingElseText: ; 6e3e (1:6e3e)
Func_6e43: ; 6e43 (1:6e43)
call SaveScreenTilesToBuffer1
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld hl, W_PARTYMON1NAME ; $d2b5
call GetPartyMonName
ld hl, $cd6d
@@ -16253,7 +16341,7 @@ Func_6e43: ; 6e43 (1:6e43)
Func_6e5b: ; 6e5b (1:6e5b)
ld hl, W_PARTYMON1_MOVE1 ; $d173
ld bc, $2c
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
call AddNTimes
ld d, h
ld e, l
@@ -16298,9 +16386,9 @@ Func_6e5b: ; 6e5b (1:6e5b)
ld a, [W_ISINBATTLE] ; $d057
and a
jp z, Func_6efe
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld b, a
- ld a, [W_PLAYERMONNUMBER] ; $cc2f
+ ld a, [wPlayerMonNumber] ; $cc2f
cp b
jp nz, Func_6efe
ld h, d
@@ -16324,7 +16412,7 @@ Func_6eda: ; 6eda (1:6eda)
ld a, $14
ld [$d125], a
call DisplayTextBoxID
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
jp nz, Func_6e5b
ld hl, UnnamedText_6fbe ; $6fbe
@@ -16349,7 +16437,7 @@ Func_6f07: ; 6f07 (1:6f07)
ld [$d125], a
call DisplayTextBoxID
pop hl
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
rra
ret c
ld bc, $fffc
@@ -16381,7 +16469,7 @@ Func_6f07: ; 6f07 (1:6f07)
ld a, [$FF00+$f6]
res 2, a
ld [$FF00+$f6], a
- ld hl, W_TOPMENUITEMY ; $cc24
+ ld hl, wTopMenuItemY ; $cc24
ld a, $8
ld [hli], a
ld a, $5
@@ -16406,7 +16494,7 @@ Func_6f07: ; 6f07 (1:6f07)
bit 1, a
jr nz, .asm_6fab
push hl
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld c, a
ld b, $0
add hl, bc
@@ -16484,10 +16572,10 @@ DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6)
call PrintText
.skipShallWeHealYourPokemon
call YesNoChoicePokeCenter ; yes/no menu
- ld a, [W_CURMENUITEMID]
+ ld a, [wCurrentMenuItem]
and a
jr nz, .declinedHealing ; if the player chose No
- call Unknown_7078
+ call Func_7078
call LoadScreenTilesFromBuffer1 ; restore screen
ld hl, NeedYourPokemonText
call PrintText
@@ -16499,7 +16587,7 @@ DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6)
ld hl, Func_70433
call Bankswitch ; do the healing machine animation
xor a
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
ld a, [$c0f0]
ld [$c0ef], a
ld a, [$d35b]
@@ -16542,7 +16630,7 @@ PokemonCenterFarewellText: ; 7072 (1:7072)
TX_FAR _PokemonCenterFarewellText
db "@"
-Unknown_7078: ; 7078 (1:7078)
+Func_7078: ; 7078 (1:7078)
push hl
ld hl, SafariZoneRestHouses
ld a, [W_CURMAP]
@@ -16605,7 +16693,7 @@ DisplayTextIDInit: ; 7096 (1:7096)
.skipDrawingTextBoxBorder
ld hl,$cfc4
set 0,[hl]
- ld hl,W_FLAGS_CD60
+ ld hl,wFlags_0xcd60
bit 4,[hl]
res 4,[hl]
jr nz,.skipMovingSprites
@@ -16717,25 +16805,25 @@ DrawStartMenu: ; 710b (1:710b)
ret
StartMenuPokedexText: ; 718f (1:718f)
-db "POKéDEX@"
+ db "POKéDEX@"
StartMenuPokemonText: ; 7197 (1:7197)
-db "POKéMON@"
+ db "POKéMON@"
StartMenuItemText: ; 719f (1:719f)
-db "ITEM@"
+ db "ITEM@"
StartMenuSaveText: ; 71a4 (1:71a4)
-db "SAVE@"
+ db "SAVE@"
StartMenuResetText: ; 71a9 (1:71a9)
-db "RESET@"
+ db "RESET@"
StartMenuExitText: ; 71af (1:71af)
-db "EXIT@"
+ db "EXIT@"
StartMenuOptionText: ; 71b4 (1:71b4)
-db "OPTION@"
+ db "OPTION@"
PrintStartMenuItem: ; 71bb (1:71bb)
push hl
@@ -16750,14 +16838,14 @@ CableClubNPC: ; 71c5 (1:71c5)
call PrintText
ld a, [$d74b]
bit 5, a
- jp nz, Unknown_71e1
+ jp nz, Func_71e1
ld c, $3c
call DelayFrames
ld hl, CableClubNPCText6 ; $72d2
call PrintText
jp Func_7298
-Unknown_71e1: ; 71e1 (1:71e1)
+Func_71e1: ; 71e1 (1:71e1)
ld a, $1
ld [$cc34], a
ld a, $5a
@@ -17019,7 +17107,7 @@ GetTextBoxIDText: ; 7367 (1:7367)
; hl = address of upper left corner of text box
GetAddressOfScreenCoords: ; 7375 (1:7375)
push bc
- ld hl,W_SCREENTILESBUFFER
+ ld hl,wTileMap
ld bc,20
.loop ; loop to add d rows to the base address
ld a,d
@@ -17192,17 +17280,17 @@ JapanesePokedexMenu: ; 74a1 (1:74a1)
call ClearScreenArea
FuncCoord 12, 1 ; $c3c0
ld hl, Coord
- ld de, W_PLAYERMONEY3 ; $d347
+ ld de, wPlayerMoney ; $d347
ld c, $a3
call PrintBCDNumber
ld hl, $d730
res 6, [hl]
ret
-CurrencyString_74e2: ; 0x74e2, 1:34e2
+CurrencyString: ; 74e2 (1:34e2)
db " ¥@"
-Function_74ea: ; 0x74ea, 1:34ea
+Func_74ea: ; 74ea (1:34ea)
ld a, [$d730]
set 6, a
ld [$d730], a
@@ -17212,16 +17300,16 @@ Function_74ea: ; 0x74ea, 1:34ea
ld [$d125], a
call DisplayTextBoxID
ld a, $3
- ld [W_MENUWATCHEDKEYS], a ; $cc29
+ ld [wMenuWatchedKeys], a ; $cc29
ld a, $2
- ld [W_MAXMENUITEMID], a ; $cc28
+ ld [wMaxMenuItem], a ; $cc28
ld a, $1
- ld [W_TOPMENUITEMY], a ; $cc24
+ ld [wTopMenuItemY], a ; $cc24
ld a, $1
- ld [W_TOPMENUITEMX], a ; $cc25
+ ld [wTopMenuItemX], a ; $cc25
xor a
- ld [W_CURMENUITEMID], a ; $cc26
- ld [W_OLDMENUITEMID], a ; $cc2a
+ ld [wCurrentMenuItem], a ; $cc26
+ ld [wLastMenuItem], a ; $cc2a
ld [$cc37], a
ld a, [$d730]
res 6, a
@@ -17238,17 +17326,17 @@ Function_74ea: ; 0x74ea, 1:34ea
.asm_7539
ld a, $1
ld [$d12e], a
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld [$d12d], a
ld b, a
- ld a, [W_MAXMENUITEMID] ; $cc28
+ ld a, [wMaxMenuItem] ; $cc28
cp b
jr z, .asm_754c
ret
.asm_754c
ld a, $2
ld [$d12e], a
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld [$d12d], a
scf
ret
@@ -17262,15 +17350,15 @@ DisplayYesNoTextBox: ; 7559 (1:7559)
ld [$d12d], a
ld [$d12e], a
ld a, $3
- ld [W_MENUWATCHEDKEYS], a ; $cc29
+ ld [wMenuWatchedKeys], a ; $cc29
ld a, $1
- ld [W_MAXMENUITEMID], a ; $cc28
+ ld [wMaxMenuItem], a ; $cc28
ld a, b
- ld [W_TOPMENUITEMY], a ; $cc24
+ ld [wTopMenuItemY], a ; $cc24
ld a, c
- ld [W_TOPMENUITEMX], a ; $cc25
+ ld [wTopMenuItemX], a ; $cc25
xor a
- ld [W_OLDMENUITEMID], a ; $cc2a
+ ld [wLastMenuItem], a ; $cc2a
ld [$cc37], a
push hl
ld hl, $d12c
@@ -17279,7 +17367,7 @@ DisplayYesNoTextBox: ; 7559 (1:7559)
jr z, .asm_758d
inc a
.asm_758d
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
pop hl
push hl
push hl
@@ -17331,10 +17419,10 @@ DisplayYesNoTextBox: ; 7559 (1:7559)
jr nz, .asm_7603
xor a
ld [$d12c], a
- ld a, [W_FLAGS_CD60]
+ ld a, [wFlags_0xcd60]
push af
push hl
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
bit 5, [hl]
set 5, [hl]
pop hl
@@ -17344,7 +17432,7 @@ DisplayYesNoTextBox: ; 7559 (1:7559)
jr nz, .asm_75f0
pop af
pop hl
- ld [W_FLAGS_CD60], a
+ ld [wFlags_0xcd60], a
ld a, $90
call PlaySound
jr .asm_760f
@@ -17356,7 +17444,7 @@ DisplayYesNoTextBox: ; 7559 (1:7559)
bit 1, a
jr nz, .asm_7627
.asm_760f
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld [$d12d], a
and a
jr nz, .asm_7627
@@ -17369,7 +17457,7 @@ DisplayYesNoTextBox: ; 7559 (1:7559)
ret
.asm_7627
ld a, $1
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
ld [$d12d], a
ld a, $2
ld [$d12e], a
@@ -17434,24 +17522,24 @@ MenuStrings: ; 7671 (1:7671)
db 4,3,0
dw .NoYesMenu
-.NoYesMenu ; 0x7699, 1:3699
+.NoYesMenu ; 7699 (1:3699)
db "NO",$4E,"YES@"
-.YesNoMenu ; 0x76a0, 1:36a0
+.YesNoMenu ; 76a0 (1:36a0)
db "YES",$4E,"NO@"
-.NorthWestMenu ; 0x76a7, 1:36a7
+.NorthWestMenu ; 76a7 (1:36a7)
db "NORTH",$4E,"WEST@"
-.SouthEastMenu ; 0x76b2, 1:36b2
+.SouthEastMenu ; 76b2 (1:36b2)
db "SOUTH",$4E,"EAST@"
-.NorthEastMenu ; 0x76bd, 1:36bd
+.NorthEastMenu ; 76bd (1:36bd)
db "NORTH",$4E,"EAST@"
-.TradeCancelMenu ; 0x76c8, 1:36c8
+.TradeCancelMenu ; 76c8 (1:36c8)
db "TRADE",$4E,"CANCEL@"
-.HealCancelMenu ; 0x76d5, 1:36d5
+.HealCancelMenu ; 76d5 (1:36d5)
db "HEAL",$4E,"CANCEL@"
-Function_76e1: ; 0x76e1, 1:36e1
+Func_76e1: ; 76e1 (1:36e1)
xor a
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
ld [hli], a
ld [hli], a
ld [hli], a
@@ -17515,7 +17603,7 @@ Function_76e1: ; 0x76e1, 1:36e1
jr nz, .asm_7747
xor a
ld [$cd41], a
- ld de, W_WHICHTRADE ; $cd3d
+ ld de, wWhichTrade ; $cd3d
.asm_7752
push hl
ld hl, FieldMoveNames ; $778d
@@ -17575,14 +17663,14 @@ PokemonMenuEntries: ; 77c2 (1:77c2)
db "CANCEL@"
Func_77d6: ; 77d6 (1:77d6)
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld hl, W_PARTYMON1_MOVE1 ; $d173
ld bc, $2c
call AddNTimes
ld d, h
ld e, l
ld c, $5
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
.asm_77e9
push hl
.asm_77ea
@@ -17651,7 +17739,7 @@ Func_783f: ; 783f (1:783f)
ld de, W_ENEMYMONMAXHP ; $cff4
Func_7861: ; 7861 (1:7861)
- ld bc, W_HPBAROLDHP+1
+ ld bc, wHPBarOldHP+1
ld a, [hli]
ld [bc], a
ld a, [hl]
@@ -17668,12 +17756,12 @@ Func_7861: ; 7861 (1:7861)
ld b, [hl]
add b
ld [hld], a
- ld [W_HPBARNEWHP], a
+ ld [wHPBarNewHP], a
ld a, [W_DAMAGE] ; $d0d7
ld b, [hl]
adc b
ld [hli], a
- ld [W_HPBARNEWHP+1], a
+ ld [wHPBarNewHP+1], a
jr c, .asm_7890
ld a, [hld]
ld b, a
@@ -17689,11 +17777,11 @@ Func_7861: ; 7861 (1:7861)
.asm_7890
ld a, [de]
ld [hld], a
- ld [W_HPBARNEWHP], a
+ ld [wHPBarNewHP], a
dec de
ld a, [de]
ld [hli], a
- ld [W_HPBARNEWHP+1], a
+ ld [wHPBarNewHP+1], a
inc de
.asm_789c
ld a, [H_WHOSETURN] ; $FF00+$f3
@@ -17706,7 +17794,7 @@ Func_7861: ; 7861 (1:7861)
ld hl, Coord
xor a
.asm_78aa
- ld [W_LISTMENUID], a ; $cf94
+ ld [wListMenuID], a ; $cf94
ld a, $48
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
ld a, $0
@@ -17746,7 +17834,7 @@ Func_78e6: ; 78e6 (1:78e6)
xor a
ld [$cc2c], a
ld [$ccd3], a
- ld a, [W_FLAGS_CD60]
+ ld a, [wFlags_0xcd60]
bit 3, a
jr nz, Func_790c
ld a, $99
@@ -17756,11 +17844,11 @@ Func_78e6: ; 78e6 (1:78e6)
Func_790c: ; 790c (1:790c)
ld a, [$ccd3]
- ld [W_CURMENUITEMID], a ; $cc26
- ld hl, W_FLAGS_CD60
+ ld [wCurrentMenuItem], a ; $cc26
+ ld hl, wFlags_0xcd60
set 5, [hl]
call LoadScreenTilesFromBuffer2
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld b, $8
ld c, $e
call TextBoxBorder
@@ -17769,7 +17857,7 @@ Func_790c: ; 790c (1:790c)
ld hl, Coord
ld de, PlayersPCMenuEntries ; $7af5
call PlaceString
- ld hl, W_TOPMENUITEMY ; $cc24
+ ld hl, wTopMenuItemY ; $cc24
ld a, $2
ld [hli], a
dec a
@@ -17782,17 +17870,17 @@ Func_790c: ; 790c (1:790c)
ld [hli], a
xor a
ld [hl], a
- ld hl, W_LISTSCROLLOFFSET ; $cc36
+ ld hl, wListScrollOffset ; $cc36
ld [hli], a
ld [hl], a
- ld [W_PLAYERMONNUMBER], a ; $cc2f
+ ld [wPlayerMonNumber], a ; $cc2f
ld hl, UnnamedText_7b27 ; $7b27
call PrintText
call HandleMenuInput
bit 1, a
jp nz, Func_796d
call PlaceUnfilledArrowMenuCursor
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld [$ccd3], a
and a
jp z, Func_7a12
@@ -17802,18 +17890,18 @@ Func_790c: ; 790c (1:790c)
jp z, Func_7a8f
Func_796d: ; 796d (1:796d)
- ld a, [W_FLAGS_CD60]
+ ld a, [wFlags_0xcd60]
bit 3, a
jr nz, .asm_797c
ld a, $9a
call PlaySound
call WaitForSoundToFinish
.asm_797c
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
res 5, [hl]
call LoadScreenTilesFromBuffer2
xor a
- ld [W_LISTSCROLLOFFSET], a ; $cc36
+ ld [wListScrollOffset], a ; $cc36
ld [$cc2c], a
ld hl, $d730
res 6, [hl]
@@ -17823,9 +17911,9 @@ Func_796d: ; 796d (1:796d)
Func_7995: ; 7995 (1:7995)
xor a
- ld [W_CURMENUITEMID], a ; $cc26
- ld [W_LISTSCROLLOFFSET], a ; $cc36
- ld a, [W_NUMBAGITEMS] ; $d31d
+ ld [wCurrentMenuItem], a ; $cc26
+ ld [wListScrollOffset], a ; $cc36
+ ld a, [wNumBagItems] ; $d31d
and a
jr nz, Func_79ab
ld hl, UnnamedText_7b3b ; $7b3b
@@ -17835,7 +17923,7 @@ Func_7995: ; 7995 (1:7995)
Func_79ab: ; 79ab (1:79ab)
ld hl, UnnamedText_7b2c ; $7b2c
call PrintText
- ld hl, W_NUMBAGITEMS ; $d31d
+ ld hl, wNumBagItems ; $d31d
ld a, l
ld [$cf8b], a
ld a, h
@@ -17843,7 +17931,7 @@ Func_79ab: ; 79ab (1:79ab)
xor a
ld [$cf93], a
ld a, $3
- ld [W_LISTMENUID], a ; $cf94
+ ld [wListMenuID], a ; $cf94
call DisplayListMenuID
jp c, Func_790c
call IsKeyItem
@@ -17858,14 +17946,14 @@ Func_79ab: ; 79ab (1:79ab)
cp $ff
jp z, Func_79ab
.asm_79e7
- ld hl, W_NUMBOXITEMS ; $d53a
+ ld hl, wNumBoxItems ; $d53a
call AddItemToInventory
jr c, .asm_79f8
ld hl, UnnamedText_7b40 ; $7b40
call PrintText
jp Func_79ab
.asm_79f8
- ld hl, W_NUMBAGITEMS ; $d31d
+ ld hl, wNumBagItems ; $d31d
call RemoveItemFromInventory
call WaitForSoundToFinish
ld a, $ab
@@ -17877,9 +17965,9 @@ Func_79ab: ; 79ab (1:79ab)
Func_7a12: ; 7a12 (1:7a12)
xor a
- ld [W_CURMENUITEMID], a ; $cc26
- ld [W_LISTSCROLLOFFSET], a ; $cc36
- ld a, [W_NUMBOXITEMS] ; $d53a
+ ld [wCurrentMenuItem], a ; $cc26
+ ld [wListScrollOffset], a ; $cc36
+ ld a, [wNumBoxItems] ; $d53a
and a
jr nz, Func_7a28
ld hl, UnnamedText_7b54 ; $7b54
@@ -17889,7 +17977,7 @@ Func_7a12: ; 7a12 (1:7a12)
Func_7a28: ; 7a28 (1:7a28)
ld hl, UnnamedText_7b45 ; $7b45
call PrintText
- ld hl, W_NUMBOXITEMS ; $d53a
+ ld hl, wNumBoxItems ; $d53a
ld a, l
ld [$cf8b], a
ld a, h
@@ -17897,7 +17985,7 @@ Func_7a28: ; 7a28 (1:7a28)
xor a
ld [$cf93], a
ld a, $3
- ld [W_LISTMENUID], a ; $cf94
+ ld [wListMenuID], a ; $cf94
call DisplayListMenuID
jp c, Func_790c
call IsKeyItem
@@ -17912,14 +18000,14 @@ Func_7a28: ; 7a28 (1:7a28)
cp $ff
jp z, Func_7a28
.asm_7a64
- ld hl, W_NUMBAGITEMS ; $d31d
+ ld hl, wNumBagItems ; $d31d
call AddItemToInventory
jr c, .asm_7a75
ld hl, UnnamedText_7b59 ; $7b59
call PrintText
jp Func_7a28
.asm_7a75
- ld hl, W_NUMBOXITEMS ; $d53a
+ ld hl, wNumBoxItems ; $d53a
call RemoveItemFromInventory
call WaitForSoundToFinish
ld a, $ab
@@ -17931,9 +18019,9 @@ Func_7a28: ; 7a28 (1:7a28)
Func_7a8f: ; 7a8f (1:7a8f)
xor a
- ld [W_CURMENUITEMID], a ; $cc26
- ld [W_LISTSCROLLOFFSET], a ; $cc36
- ld a, [W_NUMBOXITEMS] ; $d53a
+ ld [wCurrentMenuItem], a ; $cc26
+ ld [wListScrollOffset], a ; $cc36
+ ld a, [wNumBoxItems] ; $d53a
and a
jr nz, Func_7aa5
ld hl, UnnamedText_7b54 ; $7b54
@@ -17943,7 +18031,7 @@ Func_7a8f: ; 7a8f (1:7a8f)
Func_7aa5: ; 7aa5 (1:7aa5)
ld hl, UnnamedText_7b5e ; $7b5e
call PrintText
- ld hl, W_NUMBOXITEMS ; $d53a
+ ld hl, wNumBoxItems ; $d53a
ld a, l
ld [$cf8b], a
ld a, h
@@ -17951,7 +18039,7 @@ Func_7aa5: ; 7aa5 (1:7aa5)
xor a
ld [$cf93], a
ld a, $3
- ld [W_LISTMENUID], a ; $cf94
+ ld [wListMenuID], a ; $cf94
push hl
call DisplayListMenuID
pop hl
@@ -18050,7 +18138,7 @@ _RemovePokemon: ; 7b68 (1:7b68)
ld a, [hl]
dec a
ld [hli], a
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld c, a
ld b, $0
add hl, bc
@@ -18071,9 +18159,9 @@ _RemovePokemon: ; 7b68 (1:7b68)
ld hl, $dd2a
ld d, $13
.asm_7b97
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
call SkipFixedLengthTextEntries
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
cp d
jr nz, .asm_7ba6
ld [hl], $ff
@@ -18098,7 +18186,7 @@ _RemovePokemon: ; 7b68 (1:7b68)
ld hl, W_BOXMON1DATA
ld bc, $21
.asm_7bcd
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
call AddNTimes
ld d, h
ld e, l
@@ -18122,13 +18210,13 @@ _RemovePokemon: ; 7b68 (1:7b68)
ld hl, $de06
.asm_7bfa
ld bc, $b
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
call AddNTimes
ld d, h
ld e, l
ld bc, $b
add hl, bc
- ld bc, W_OWNEDPOKEMON ; $d2f7
+ ld bc, wPokedexOwned ; $d2f7
ld a, [$cf95]
and a
jr z, .asm_7c15
@@ -18161,28 +18249,28 @@ Func_7c18: ; 7c18 (1:7c18)
SECTION "bank2",ROMX,BANK[$2]
-INCLUDE "music/headers/sfxheaders02.tx"
-INCLUDE "music/headers/musicheaders02.tx"
-
-INCLUDE "music/sfx/sfx_02_01.tx"
-INCLUDE "music/sfx/sfx_02_02.tx"
-INCLUDE "music/sfx/sfx_02_03.tx"
-INCLUDE "music/sfx/sfx_02_04.tx"
-INCLUDE "music/sfx/sfx_02_05.tx"
-INCLUDE "music/sfx/sfx_02_06.tx"
-INCLUDE "music/sfx/sfx_02_07.tx"
-INCLUDE "music/sfx/sfx_02_08.tx"
-INCLUDE "music/sfx/sfx_02_09.tx"
-INCLUDE "music/sfx/sfx_02_0a.tx"
-INCLUDE "music/sfx/sfx_02_0b.tx"
-INCLUDE "music/sfx/sfx_02_0c.tx"
-INCLUDE "music/sfx/sfx_02_0d.tx"
-INCLUDE "music/sfx/sfx_02_0e.tx"
-INCLUDE "music/sfx/sfx_02_0f.tx"
-INCLUDE "music/sfx/sfx_02_10.tx"
-INCLUDE "music/sfx/sfx_02_11.tx"
-INCLUDE "music/sfx/sfx_02_12.tx"
-INCLUDE "music/sfx/sfx_02_13.tx"
+INCLUDE "music/headers/sfxheaders02.asm"
+INCLUDE "music/headers/musicheaders02.asm"
+
+INCLUDE "music/sfx/sfx_02_01.asm"
+INCLUDE "music/sfx/sfx_02_02.asm"
+INCLUDE "music/sfx/sfx_02_03.asm"
+INCLUDE "music/sfx/sfx_02_04.asm"
+INCLUDE "music/sfx/sfx_02_05.asm"
+INCLUDE "music/sfx/sfx_02_06.asm"
+INCLUDE "music/sfx/sfx_02_07.asm"
+INCLUDE "music/sfx/sfx_02_08.asm"
+INCLUDE "music/sfx/sfx_02_09.asm"
+INCLUDE "music/sfx/sfx_02_0a.asm"
+INCLUDE "music/sfx/sfx_02_0b.asm"
+INCLUDE "music/sfx/sfx_02_0c.asm"
+INCLUDE "music/sfx/sfx_02_0d.asm"
+INCLUDE "music/sfx/sfx_02_0e.asm"
+INCLUDE "music/sfx/sfx_02_0f.asm"
+INCLUDE "music/sfx/sfx_02_10.asm"
+INCLUDE "music/sfx/sfx_02_11.asm"
+INCLUDE "music/sfx/sfx_02_12.asm"
+INCLUDE "music/sfx/sfx_02_13.asm"
Music2_Channel3DutyPointers: ; 0x8361
dw Music2_Channel3Duty1
@@ -18210,83 +18298,83 @@ Music2_Channel3Duty4: ; 0x83a3
Music2_Channel3Duty5: ; 0x83b3
db $01,$23,$45,$67,$8A,$CD,$EE,$F7,$7F,$EE,$DC,$A8,$76,$54,$32,$10
-INCLUDE "music/sfx/sfx_02_3f.tx"
-INCLUDE "music/sfx/sfx_02_5e.tx"
-INCLUDE "music/sfx/sfx_02_56.tx"
-INCLUDE "music/sfx/sfx_02_57.tx"
-INCLUDE "music/sfx/sfx_02_58.tx"
-INCLUDE "music/sfx/sfx_02_3c.tx"
-INCLUDE "music/sfx/sfx_02_59.tx"
-INCLUDE "music/sfx/sfx_02_5a.tx"
-INCLUDE "music/sfx/sfx_02_5b.tx"
-INCLUDE "music/sfx/sfx_02_5c.tx"
-INCLUDE "music/sfx/sfx_02_40.tx"
-INCLUDE "music/sfx/sfx_02_5d.tx"
-INCLUDE "music/sfx/sfx_02_3d.tx"
-INCLUDE "music/sfx/sfx_02_43.tx"
-INCLUDE "music/sfx/sfx_02_3e.tx"
-INCLUDE "music/sfx/sfx_02_44.tx"
-INCLUDE "music/sfx/sfx_02_45.tx"
-INCLUDE "music/sfx/sfx_02_46.tx"
-INCLUDE "music/sfx/sfx_02_47.tx"
-INCLUDE "music/sfx/sfx_02_48.tx"
-INCLUDE "music/sfx/sfx_02_49.tx"
-INCLUDE "music/sfx/sfx_02_4a.tx"
-INCLUDE "music/sfx/sfx_02_4b.tx"
-INCLUDE "music/sfx/sfx_02_4c.tx"
-INCLUDE "music/sfx/sfx_02_4d.tx"
-INCLUDE "music/sfx/sfx_02_4e.tx"
-INCLUDE "music/sfx/sfx_02_4f.tx"
-INCLUDE "music/sfx/sfx_02_50.tx"
-INCLUDE "music/sfx/sfx_02_51.tx"
-INCLUDE "music/sfx/sfx_02_52.tx"
-INCLUDE "music/sfx/sfx_02_53.tx"
-INCLUDE "music/sfx/sfx_02_54.tx"
-INCLUDE "music/sfx/sfx_02_55.tx"
-INCLUDE "music/sfx/sfx_02_5f.tx"
-INCLUDE "music/sfx/sfx_02_unused.tx"
-INCLUDE "music/sfx/sfx_02_1d.tx"
-INCLUDE "music/sfx/sfx_02_37.tx"
-INCLUDE "music/sfx/sfx_02_38.tx"
-INCLUDE "music/sfx/sfx_02_25.tx"
-INCLUDE "music/sfx/sfx_02_39.tx"
-INCLUDE "music/sfx/sfx_02_17.tx"
-INCLUDE "music/sfx/sfx_02_23.tx"
-INCLUDE "music/sfx/sfx_02_24.tx"
-INCLUDE "music/sfx/sfx_02_14.tx"
-INCLUDE "music/sfx/sfx_02_22.tx"
-INCLUDE "music/sfx/sfx_02_1a.tx"
-INCLUDE "music/sfx/sfx_02_1b.tx"
-INCLUDE "music/sfx/sfx_02_19.tx"
-INCLUDE "music/sfx/sfx_02_1f.tx"
-INCLUDE "music/sfx/sfx_02_20.tx"
-INCLUDE "music/sfx/sfx_02_16.tx"
-INCLUDE "music/sfx/sfx_02_21.tx"
-INCLUDE "music/sfx/sfx_02_15.tx"
-INCLUDE "music/sfx/sfx_02_1e.tx"
-INCLUDE "music/sfx/sfx_02_1c.tx"
-INCLUDE "music/sfx/sfx_02_18.tx"
-INCLUDE "music/sfx/sfx_02_2d.tx"
-INCLUDE "music/sfx/sfx_02_2a.tx"
-INCLUDE "music/sfx/sfx_02_2f.tx"
-INCLUDE "music/sfx/sfx_02_26.tx"
-INCLUDE "music/sfx/sfx_02_27.tx"
-INCLUDE "music/sfx/sfx_02_28.tx"
-INCLUDE "music/sfx/sfx_02_32.tx"
-INCLUDE "music/sfx/sfx_02_29.tx"
-INCLUDE "music/sfx/sfx_02_2b.tx"
-INCLUDE "music/sfx/sfx_02_30.tx"
-INCLUDE "music/sfx/sfx_02_2e.tx"
-INCLUDE "music/sfx/sfx_02_31.tx"
-INCLUDE "music/sfx/sfx_02_2c.tx"
-INCLUDE "music/sfx/sfx_02_33.tx"
-INCLUDE "music/sfx/sfx_02_34.tx"
-INCLUDE "music/sfx/sfx_02_35.tx"
-INCLUDE "music/sfx/sfx_02_36.tx"
+INCLUDE "music/sfx/sfx_02_3f.asm"
+INCLUDE "music/sfx/sfx_02_5e.asm"
+INCLUDE "music/sfx/sfx_02_56.asm"
+INCLUDE "music/sfx/sfx_02_57.asm"
+INCLUDE "music/sfx/sfx_02_58.asm"
+INCLUDE "music/sfx/sfx_02_3c.asm"
+INCLUDE "music/sfx/sfx_02_59.asm"
+INCLUDE "music/sfx/sfx_02_5a.asm"
+INCLUDE "music/sfx/sfx_02_5b.asm"
+INCLUDE "music/sfx/sfx_02_5c.asm"
+INCLUDE "music/sfx/sfx_02_40.asm"
+INCLUDE "music/sfx/sfx_02_5d.asm"
+INCLUDE "music/sfx/sfx_02_3d.asm"
+INCLUDE "music/sfx/sfx_02_43.asm"
+INCLUDE "music/sfx/sfx_02_3e.asm"
+INCLUDE "music/sfx/sfx_02_44.asm"
+INCLUDE "music/sfx/sfx_02_45.asm"
+INCLUDE "music/sfx/sfx_02_46.asm"
+INCLUDE "music/sfx/sfx_02_47.asm"
+INCLUDE "music/sfx/sfx_02_48.asm"
+INCLUDE "music/sfx/sfx_02_49.asm"
+INCLUDE "music/sfx/sfx_02_4a.asm"
+INCLUDE "music/sfx/sfx_02_4b.asm"
+INCLUDE "music/sfx/sfx_02_4c.asm"
+INCLUDE "music/sfx/sfx_02_4d.asm"
+INCLUDE "music/sfx/sfx_02_4e.asm"
+INCLUDE "music/sfx/sfx_02_4f.asm"
+INCLUDE "music/sfx/sfx_02_50.asm"
+INCLUDE "music/sfx/sfx_02_51.asm"
+INCLUDE "music/sfx/sfx_02_52.asm"
+INCLUDE "music/sfx/sfx_02_53.asm"
+INCLUDE "music/sfx/sfx_02_54.asm"
+INCLUDE "music/sfx/sfx_02_55.asm"
+INCLUDE "music/sfx/sfx_02_5f.asm"
+INCLUDE "music/sfx/sfx_02_unused.asm"
+INCLUDE "music/sfx/sfx_02_1d.asm"
+INCLUDE "music/sfx/sfx_02_37.asm"
+INCLUDE "music/sfx/sfx_02_38.asm"
+INCLUDE "music/sfx/sfx_02_25.asm"
+INCLUDE "music/sfx/sfx_02_39.asm"
+INCLUDE "music/sfx/sfx_02_17.asm"
+INCLUDE "music/sfx/sfx_02_23.asm"
+INCLUDE "music/sfx/sfx_02_24.asm"
+INCLUDE "music/sfx/sfx_02_14.asm"
+INCLUDE "music/sfx/sfx_02_22.asm"
+INCLUDE "music/sfx/sfx_02_1a.asm"
+INCLUDE "music/sfx/sfx_02_1b.asm"
+INCLUDE "music/sfx/sfx_02_19.asm"
+INCLUDE "music/sfx/sfx_02_1f.asm"
+INCLUDE "music/sfx/sfx_02_20.asm"
+INCLUDE "music/sfx/sfx_02_16.asm"
+INCLUDE "music/sfx/sfx_02_21.asm"
+INCLUDE "music/sfx/sfx_02_15.asm"
+INCLUDE "music/sfx/sfx_02_1e.asm"
+INCLUDE "music/sfx/sfx_02_1c.asm"
+INCLUDE "music/sfx/sfx_02_18.asm"
+INCLUDE "music/sfx/sfx_02_2d.asm"
+INCLUDE "music/sfx/sfx_02_2a.asm"
+INCLUDE "music/sfx/sfx_02_2f.asm"
+INCLUDE "music/sfx/sfx_02_26.asm"
+INCLUDE "music/sfx/sfx_02_27.asm"
+INCLUDE "music/sfx/sfx_02_28.asm"
+INCLUDE "music/sfx/sfx_02_32.asm"
+INCLUDE "music/sfx/sfx_02_29.asm"
+INCLUDE "music/sfx/sfx_02_2b.asm"
+INCLUDE "music/sfx/sfx_02_30.asm"
+INCLUDE "music/sfx/sfx_02_2e.asm"
+INCLUDE "music/sfx/sfx_02_31.asm"
+INCLUDE "music/sfx/sfx_02_2c.asm"
+INCLUDE "music/sfx/sfx_02_33.asm"
+INCLUDE "music/sfx/sfx_02_34.asm"
+INCLUDE "music/sfx/sfx_02_35.asm"
+INCLUDE "music/sfx/sfx_02_36.asm"
PlayBattleMusic: ; 0x90c6
xor a
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
ld [$d083], a
dec a
ld [$c0ee], a
@@ -20039,7 +20127,7 @@ Music_Cities1AlternateTempo: ; 0x9b81
ld [$cfc8], a
ld [$cfc9], a
ld a, $ff
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
ld c, $64
call DelayFrames
ld c, BANK(Music_Cities1)
@@ -20049,31 +20137,31 @@ Music_Cities1AlternateTempo: ; 0x9b81
ld de, Music_Cities1_branch_aa6f
jp Music2_OverwriteChannelPointer
-INCLUDE "music/pkmnhealed.tx"
-INCLUDE "music/routes1.tx"
-INCLUDE "music/routes2.tx"
-INCLUDE "music/routes3.tx"
-INCLUDE "music/routes4.tx"
-INCLUDE "music/indigoplateau.tx"
-INCLUDE "music/pallettown.tx"
-INCLUDE "music/unusedsong.tx"
-INCLUDE "music/cities1.tx"
-INCLUDE "music/sfx/sfx_02_3a.tx"
-INCLUDE "music/museumguy.tx"
-INCLUDE "music/meetprofoak.tx"
-INCLUDE "music/meetrival.tx"
-INCLUDE "music/sfx/sfx_02_41.tx"
-INCLUDE "music/sfx/sfx_02_3b.tx"
-INCLUDE "music/sfx/sfx_02_42.tx"
-INCLUDE "music/ssanne.tx"
-INCLUDE "music/cities2.tx"
-INCLUDE "music/celadon.tx"
-INCLUDE "music/cinnabar.tx"
-INCLUDE "music/vermilion.tx"
-INCLUDE "music/lavender.tx"
-INCLUDE "music/safarizone.tx"
-INCLUDE "music/gym.tx"
-INCLUDE "music/pokecenter.tx"
+INCLUDE "music/pkmnhealed.asm"
+INCLUDE "music/routes1.asm"
+INCLUDE "music/routes2.asm"
+INCLUDE "music/routes3.asm"
+INCLUDE "music/routes4.asm"
+INCLUDE "music/indigoplateau.asm"
+INCLUDE "music/pallettown.asm"
+INCLUDE "music/unusedsong.asm"
+INCLUDE "music/cities1.asm"
+INCLUDE "music/sfx/sfx_02_3a.asm"
+INCLUDE "music/museumguy.asm"
+INCLUDE "music/meetprofoak.asm"
+INCLUDE "music/meetrival.asm"
+INCLUDE "music/sfx/sfx_02_41.asm"
+INCLUDE "music/sfx/sfx_02_3b.asm"
+INCLUDE "music/sfx/sfx_02_42.asm"
+INCLUDE "music/ssanne.asm"
+INCLUDE "music/cities2.asm"
+INCLUDE "music/celadon.asm"
+INCLUDE "music/cinnabar.asm"
+INCLUDE "music/vermilion.asm"
+INCLUDE "music/lavender.asm"
+INCLUDE "music/safarizone.asm"
+INCLUDE "music/gym.asm"
+INCLUDE "music/pokecenter.asm"
SECTION "bank3",ROMX,BANK[$3]
@@ -20098,7 +20186,7 @@ _GetJoypadState: ; c000 (3:4000)
jr nz, DiscardButtonPresses
ld a, [H_OLDPRESSEDBUTTONS]
ld [H_CURRENTPRESSEDBUTTONS], a
- ld a, [W_JOYPADFORBIDDENBUTTONSMASK]
+ ld a, [wJoypadForbiddenButtonsMask]
and a
ret z
cpl
@@ -20703,10 +20791,10 @@ MapHeaderBanks: ; c23d (3:423d)
db BANK(DayCareM_h)
db BANK(Route6Gate_h)
db BANK(UndergroundTunnelEntranceRoute6_h)
- db $17 ;FREEZE
+ db BANK(UndergroundTunnelEntranceRoute6_h) ;FREEZE
db BANK(Route7Gate_h)
db BANK(UndergroundPathEntranceRoute7_h)
- db $17 ;FREEZE
+ db BANK(UndergroundPathEntranceRoute7Copy_h) ;FREEZE
db BANK(Route8Gate_h)
db BANK(UndergroundPathEntranceRoute8_h)
db BANK(RockTunnelPokecenter_h)
@@ -20801,7 +20889,7 @@ MapHeaderBanks: ; c23d (3:423d)
db BANK(Lab4_h)
db BANK(CinnabarPokecenter_h)
db BANK(CinnabarMart_h)
- db $1D
+ db BANK(CinnabarMart_h)
db BANK(IndigoPlateauLobby_h)
db BANK(CopycatsHouseF1_h)
db BANK(CopycatsHouseF2_h)
@@ -20893,7 +20981,7 @@ Func_c335: ; c335 (3:4335)
ld hl, $d73f
ld [hli], a
ld [hl], a
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
ld bc, $1e
call FillMemory
ret
@@ -20983,15 +21071,15 @@ CheckForceBikeOrSurf: ; c38b (3:438b)
ForcedBikeOrSurfMaps: ; c3e6 (3:43e6)
; map id, y, x
-db ROUTE_16,$0A,$11
-db ROUTE_16,$0B,$11
-db ROUTE_18,$08,$21
-db ROUTE_18,$09,$21
-db SEAFOAM_ISLANDS_4,$07,$12
-db SEAFOAM_ISLANDS_4,$07,$13
-db SEAFOAM_ISLANDS_5,$0E,$04
-db SEAFOAM_ISLANDS_5,$0E,$05
-db $FF ;end
+ db ROUTE_16,$0A,$11
+ db ROUTE_16,$0B,$11
+ db ROUTE_18,$08,$21
+ db ROUTE_18,$09,$21
+ db SEAFOAM_ISLANDS_4,$07,$12
+ db SEAFOAM_ISLANDS_4,$07,$13
+ db SEAFOAM_ISLANDS_5,$0E,$04
+ db SEAFOAM_ISLANDS_5,$0E,$05
+ db $FF ;end
Func_c3ff: ; c3ff (3:43ff)
push hl
@@ -21001,7 +21089,7 @@ Func_c3ff: ; c3ff (3:43ff)
srl a
ld c, a
ld b, $0
- ld hl, Unknown_c422 ; $4422
+ ld hl, PointerTable_c422 ; $4422
add hl, bc
ld a, [hli]
ld h, [hl]
@@ -21019,34 +21107,43 @@ Func_c3ff: ; c3ff (3:43ff)
pop hl
ret
-Unknown_c422: ; c422 (3:4422)
-INCBIN "baserom.gbc",$c422,$c42a - $c422
+PointerTable_c422: ; c422 (3:4422)
+ dw .asm_c42a
+ dw .asm_4434
+ dw .asm_443A
+ dw .asm_4440
-Func_c422: ; c42a (3:442a)
+.asm_c42a
ld a, [W_CURMAPHEIGHT] ; $d368
add a
dec a
cp b
- jr z, .asm_c44c
- jr .asm_c44a
+ jr z, .setCarry
+ jr .resetCarry
+
+.asm_4434
ld a, b
and a
- jr z, .asm_c44c
- jr .asm_c44a
+ jr z, .setCarry
+ jr .resetCarry
+
+.asm_443A
ld a, c
and a
- jr z, .asm_c44c
- jr .asm_c44a
+ jr z, .setCarry
+ jr .resetCarry
+
+.asm_4440
ld a, [W_CURMAPWIDTH] ; $d369
add a
dec a
cp c
- jr z, .asm_c44c
- jr .asm_c44a
-.asm_c44a
+ jr z, .setCarry
+ jr .resetCarry
+.resetCarry
and a
ret
-.asm_c44c
+.setCarry
scf
ret
@@ -21056,13 +21153,13 @@ Func_c44e: ; c44e (3:444e)
push bc
call Func_c589
ld a, [W_CURMAP] ; $d35e
- cp $63
- jr z, .asm_c490
+ cp SS_ANNE_5
+ jr z, .ssAnne5
ld a, [$c109]
srl a
ld c, a
ld b, $0
- ld hl, .unknown_c477 ; $4477
+ ld hl, .pointerTable_c477 ; $4477
add hl, bc
ld a, [hli]
ld h, [hl]
@@ -21076,10 +21173,25 @@ Func_c44e: ; c44e (3:444e)
pop hl
ret
-.unknown_c477: ; c477 (3:4477)
-INCBIN "baserom.gbc",$c477,$c490 - $c477
+.pointerTable_c477: ; c477 (3:4477)
+ dw .arrayData_c47f
+ dw .arrayData_c487
+ dw .arrayData_c48a
+ dw .arrayData_c48d
+
+.arrayData_c47f
+ db $01,$12,$17,$3D,$04,$18,$33,$FF
+
+.arrayData_c487
+ db $01,$5C,$FF
+
+.arrayData_c48a
+ db $1A,$4B,$FF
+
+.arrayData_c48d
+ db $0F,$4E,$FF
-.asm_c490
+.ssAnne5
ld a, [$cfc6]
cp $15
jr nz, .asm_c49a
@@ -21101,7 +21213,7 @@ Func_c49d: ; c49d (3:449d)
add a
ld c, a
ld b, $0
- ld hl, Unknown_c4cc ; $44cc
+ ld hl, WarpTileIDPointers ; $44cc
add hl, bc
ld a, [hli]
ld h, [hl]
@@ -21119,22 +21231,105 @@ Func_c49d: ; c49d (3:449d)
pop hl
ret
-Unknown_c4cc: ; c4cc (3:44cc)
-INCBIN "baserom.gbc",$c4cc,$c52f - $c4cc
+WarpTileIDPointers: ; c4cc (3:44cc)
+ dw Tileset00WarpTileIDs
+ dw Tileset01WarpTileIDs
+ dw Tileset02WarpTileIDs
+ dw Tileset03WarpTileIDs
+ dw Tileset04WarpTileIDs
+ dw Tileset05WarpTileIDs
+ dw Tileset06WarpTileIDs
+ dw Tileset07WarpTileIDs
+ dw Tileset08WarpTileIDs
+ dw Tileset09WarpTileIDs
+ dw Tileset0AWarpTileIDs
+ dw Tileset0BWarpTileIDs
+ dw Tileset0CWarpTileIDs
+ dw Tileset0DWarpTileIDs
+ dw Tileset0EWarpTileIDs
+ dw Tileset0FWarpTileIDs
+ dw Tileset10WarpTileIDs
+ dw Tileset11WarpTileIDs
+ dw Tileset12WarpTileIDs
+ dw Tileset13WarpTileIDs
+ dw Tileset14WarpTileIDs
+ dw Tileset15WarpTileIDs
+ dw Tileset16WarpTileIDs
+ dw Tileset17WarpTileIDs
+
+Tileset00WarpTileIDs: ; c4fc (3:44fc)
+ db $1B,$58,$FF
+
+Tileset09WarpTileIDs: ; c4ff (3:44ff)
+Tileset0AWarpTileIDs: ; c4ff (3:44ff)
+Tileset0CWarpTileIDs: ; c4ff (3:44ff)
+ db $3B
+
+Tileset01WarpTileIDs: ; c500 (3:4500)
+Tileset04WarpTileIDs: ; c500 (3:4500)
+ db $1A,$1C,$FF
+
+Tileset02WarpTileIDs: ; c503 (3:4503)
+Tileset06WarpTileIDs: ; c503 (3:4503)
+ db $5E,$FF
+
+Tileset03WarpTileIDs: ; c505 (3:4505)
+ db $5A,$5C,$3A,$FF
+
+Tileset05WarpTileIDs: ; c509 (3:4509)
+Tileset07WarpTileIDs: ; c509 (3:4509)
+ db $4A,$FF
+
+Tileset08WarpTileIDs: ; c50b (3:450b)
+ db $54,$5C,$32,$FF
+
+Tileset0DWarpTileIDs: ; c50f (3:450f)
+ db $37,$39,$1E,$4A,$FF
+
+Tileset10WarpTileIDs: ; c514 (3:4514)
+ db $15,$55,$04,$FF
+
+Tileset11WarpTileIDs: ; c518 (3:4518)
+ db $18,$1A,$22,$FF
+
+Tileset12WarpTileIDs: ; c51c (3:451c)
+ db $1A,$1C,$38,$FF
+
+Tileset13WarpTileIDs: ; c520 (3:4520)
+ db $1A,$1C,$53,$FF
+
+Tileset14WarpTileIDs: ; c524 (3:4524)
+ db $34,$FF
+
+Tileset16WarpTileIDs: ; c526 (3:4526)
+ db $43,$58,$20
+
+Tileset0FWarpTileIDs: ; c529 (3:4529)
+ db $1B
+
+Tileset0BWarpTileIDs: ; c52a (3:452a)
+ db $13,$FF
+
+Tileset17WarpTileIDs: ; c52c (3:452c)
+ db $1B,$3B
+
+Tileset0EWarpTileIDs: ; c52e (3:452e)
+Tileset15WarpTileIDs: ; c52e (3:452e)
+ db $FF
Func_c52f: ; c52f (3:452f)
ld a, [W_CURMAP] ; $d35e
- cp $d9
+ cp SAFARI_ZONE_EAST
ret c
- cp $e2
+ cp UNKNOWN_DUNGEON_2
ret nc
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld b, $3
ld c, $7
call TextBoxBorder
FuncCoord 1, 1 ; $c3b5
ld hl, Coord
- ld de, W_SAFARITIMER1 ; $d70d
+ ld de, wSafariSteps ; $d70d
ld bc, $203
call PrintNumber
FuncCoord 4, 1 ; $c3b8
@@ -21364,7 +21559,7 @@ Func_c69c: ; c69c (3:469c)
ld a, [$d13b]
and $3
jp nz, .asm_c74f
- ld [W_WHICHPOKEMON], a ; $cf92
+ ld [wWhichPokemon], a ; $cf92
ld hl, W_PARTYMON1_STATUS ; $d16f
ld de, W_PARTYMON1 ; $d164
.asm_c6be
@@ -21397,11 +21592,11 @@ Func_c69c: ; c69c (3:469c)
ld a, [de]
ld [$d11e], a
push de
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld hl, W_PARTYMON1NAME ; $d2b5
call GetPartyMonName
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
call EnableAutoTextBoxDrawing
ld a, $d0
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
@@ -21419,7 +21614,7 @@ Func_c69c: ; c69c (3:469c)
ld bc, $2c
add hl, bc
push hl
- ld hl, W_WHICHPOKEMON ; $cf92
+ ld hl, wWhichPokemon ; $cf92
inc [hl]
pop hl
jr .asm_c6be
@@ -21497,7 +21692,7 @@ Func_c754: ; c754 (3:4754)
ld a, [W_CURMAPTILESET] ; $d367
push hl
push de
- ld hl, Unknown_c7b2 ; $47b2
+ ld hl, DungeonTilesetIDs ; $47b2
ld de, $1
call IsInArray
pop de
@@ -21522,8 +21717,8 @@ Func_c754: ; c754 (3:4754)
.asm_c7b1
ret
-Unknown_c7b2: ; c7b2 (3:47b2)
-INCBIN "baserom.gbc",$c7b2,$c7be - $c7b2
+DungeonTilesetIDs: ; c7b2 (3:47b2)
+ db $03,$0A,$0D,$11,$12,$13,$0C,$14,$16,$0F,$07,$FF
TilesetsHeadPtr: ; c7be (3:47be)
TSETHEAD Tset00_Block,Tset00_GFX,Tset00_Coll,$FF,$FF,$FF,$52,2
@@ -22151,13 +22346,14 @@ MapHSA2: ; cd8d (3:4d8d)
Func_cd99: ; cd99 (3:4d99)
ld hl, $d728
set 0, [hl]
- ld hl, Unknown_cdaa ; $4daa
+ ld hl, UsedStrengthText ; $4daa
call PrintText
ld hl, UnnamedText_cdbb ; $4dbb
jp PrintText
-Unknown_cdaa: ; cdaa (3:4daa)
-INCBIN "baserom.gbc",$cdaa,$cdaf - $cdaa
+UsedStrengthText: ; cdaa (3:4daa)
+ TX_FAR _UsedStrengthText
+ db $08 ; asm
ld a, [$cf91]
call PlayCry
call Delay3
@@ -22180,7 +22376,7 @@ Func_cdc0: ; cdc0 (3:4dc0)
and $3
cp $3
ret z
- ld hl, Unknown_cdf7 ; $4df7
+ ld hl, CoordsData_cdf7 ; $4df7
call ArePlayerCoordsInArray
ret nc
ld hl, $d728
@@ -22193,8 +22389,8 @@ Func_cdc0: ; cdc0 (3:4dc0)
ld hl, UnnamedText_cdff ; $4dff
jp PrintText
-Unknown_cdf7: ; cdf7 (3:4df7)
-INCBIN "baserom.gbc",$cdf7,$cdfa - $cdf7
+CoordsData_cdf7: ; cdf7 (3:4df7)
+ db $0B,$07,$FF
UnnamedText_cdfa: ; cdfa (3:4dfa)
TX_FAR _UnnamedText_cdfa
@@ -22204,10 +22400,9 @@ UnnamedText_cdff: ; cdff (3:4dff)
TX_FAR _UnnamedText_cdff
db "@"
-
; function to add an item (in varying quantities) to the player's bag or PC box
; INPUT:
-; hl = address of inventory (either W_NUMBAGITEMS or W_NUMBOXITEMS)
+; hl = address of inventory (either wNumBagItems or wNumBoxItems)
; [$CF91] = item ID
; [$CF96] = item quantity
; sets carry flag if successful, unsets carry flag if unsuccessful
@@ -22219,10 +22414,10 @@ AddItemToInventory_: ; ce04 (3:4e04)
push hl
push hl
ld d,50 ; PC box can hold 50 items
- ld a,W_NUMBAGITEMS & $FF
+ ld a,wNumBagItems & $FF
cp l
jr nz,.checkIfInventoryFull
- ld a,W_NUMBAGITEMS >> 8
+ ld a,wNumBagItems >> 8
cp h
jr nz,.checkIfInventoryFull
; if the destination is the bag
@@ -22301,7 +22496,7 @@ AddItemToInventory_: ; ce04 (3:4e04)
; function to remove an item (in varying quantities) from the player's bag or PC box
; INPUT:
-; hl = address of inventory (either W_NUMBAGITEMS or W_NUMBOXITEMS)
+; hl = address of inventory (either wNumBagItems or wNumBoxItems)
; [$CF92] = index (within the inventory) of the item to remove
; [$CF96] = quantity to remove
RemoveItemFromInventory_: ; ce74 (3:4e74)
@@ -22338,8 +22533,8 @@ RemoveItemFromInventory_: ; ce74 (3:4e74)
jr nz,.loop
; update menu info
xor a
- ld [W_LISTSCROLLOFFSET],a
- ld [W_CURMENUITEMID],a
+ ld [wListScrollOffset],a
+ ld [wCurrentMenuItem],a
ld [$cc2c],a
ld [$d07e],a
pop hl
@@ -22349,7 +22544,7 @@ RemoveItemFromInventory_: ; ce74 (3:4e74)
ld [$d12a],a
cp a,2
jr c,.done
- ld [W_MAXMENUITEMID],a
+ ld [wMaxMenuItem],a
jr .done
.skipMovingUpSlots
pop hl
@@ -26336,8 +26531,8 @@ ItemUseBall: ; d687 (3:5687)
call LoadScreenTilesFromBuffer1 ;restore screenBuffer from Backup
ld hl,ItemUseText00
call PrintText
- ld hl, Function583A
- ld b, BANK(Function583A)
+ ld hl, Func_3d83a
+ ld b, BANK(Func_3d83a)
call Bankswitch
ld b,$10
jp z,.next12
@@ -26800,7 +26995,7 @@ ItemUseSurfboard: ; d9b4 (3:59b4)
xor a
ld [$d700],a ; change player state to walking
dec a
- ld [W_JOYPADFORBIDDENBUTTONSMASK],a
+ ld [wJoypadForbiddenButtonsMask],a
call Func_2307 ; play walking music
jp LoadWalkingPlayerSpriteGraphics
; uses a simulated button press to make the player move forward
@@ -26868,7 +27063,7 @@ ItemUseEvoStone: ; da5b (3:5a5b)
jr z,.noEffect
pop af
ld [$cf92],a
- ld hl,W_NUMBAGITEMS
+ ld hl,wNumBagItems
ld a,1 ; remove 1 stone
ld [$cf96],a
jp RemoveItemFromInventory
@@ -26976,7 +27171,7 @@ ItemUseMedicine: ; dabb (3:5abb)
ld [hl],a ; remove the status ailment in the party data
ld a,b
ld [$d07d],a ; the message to display for the item used
- ld a,[W_PLAYERMONNUMBER]
+ ld a,[wPlayerMonNumber]
cp d ; is pokemon the item was used on active in battle?
jp nz,.doneHealing
; if it is active in battle
@@ -26998,10 +27193,10 @@ ItemUseMedicine: ; dabb (3:5abb)
inc hl ; hl = address of current HP
ld a,[hli]
ld b,a
- ld [W_HPBAROLDHP+1],a
+ ld [wHPBarOldHP+1],a
ld a,[hl]
ld c,a
- ld [W_HPBAROLDHP],a ; current HP stored at $ceeb (2 bytes, big-endian)
+ ld [wHPBarOldHP],a ; current HP stored at $ceeb (2 bytes, big-endian)
or b
jr nz,.notFainted
.fainted
@@ -27082,14 +27277,14 @@ ItemUseMedicine: ; dabb (3:5abb)
ld bc,32
add hl,bc ; hl now points to max HP
ld a,[hli]
- ld [W_HPBARMAXHP+1],a
+ ld [wHPBarMaxHP+1],a
ld a,[hl]
- ld [W_HPBARMAXHP],a ; max HP stored at $cee9 (2 bytes, big-endian)
+ ld [wHPBarMaxHP],a ; max HP stored at $cee9 (2 bytes, big-endian)
ld a,[$d152]
and a ; using Softboiled?
jp z,.notUsingSoftboiled2
; if using softboiled
- ld hl,W_HPBARMAXHP
+ ld hl,wHPBarMaxHP
ld a,[hli]
push af
ld a,[hli]
@@ -27106,7 +27301,7 @@ ItemUseMedicine: ; dabb (3:5abb)
ld [$ceea],a
ld [H_DIVIDEND],a
ld a,[hl]
- ld [W_HPBARMAXHP],a
+ ld [wHPBarMaxHP],a
ld [H_DIVIDEND + 1],a
ld a,5
ld [H_DIVISOR],a
@@ -27119,17 +27314,17 @@ ItemUseMedicine: ; dabb (3:5abb)
push af
ld b,a
ld a,[hl]
- ld [W_HPBAROLDHP],a
+ ld [wHPBarOldHP],a
sub b
ld [hld],a
- ld [W_HPBARNEWHP],a
+ ld [wHPBarNewHP],a
ld a,[H_QUOTIENT + 2]
ld b,a
ld a,[hl]
- ld [W_HPBAROLDHP+1],a
+ ld [wHPBarOldHP+1],a
sbc b
ld [hl],a
- ld [W_HPBARNEWHP+1],a
+ ld [wHPBarNewHP+1],a
FuncCoord 4, 1 ; $c3b8
ld hl,Coord
ld a,[$cf92]
@@ -27181,9 +27376,9 @@ ItemUseMedicine: ; dabb (3:5abb)
ld a,[hl]
add b
ld [hld],a
- ld [W_HPBARNEWHP],a
+ ld [wHPBarNewHP],a
ld a,[hl]
- ld [W_HPBARNEWHP+1],a
+ ld [wHPBarNewHP+1],a
jr nc,.noCarry
inc [hl]
ld a,[hl]
@@ -27219,22 +27414,22 @@ ItemUseMedicine: ; dabb (3:5abb)
ld a,[hli]
srl a
ld [de],a
- ld [W_HPBARNEWHP+1],a
+ ld [wHPBarNewHP+1],a
ld a,[hl]
rr a
inc de
ld [de],a
- ld [W_HPBARNEWHP],a
+ ld [wHPBarNewHP],a
dec de
jr .doneHealingPartyHP
.setCurrentHPToMaxHp
ld a,[hli]
ld [de],a
- ld [W_HPBARNEWHP+1],a
+ ld [wHPBarNewHP+1],a
inc de
ld a,[hl]
ld [de],a
- ld [W_HPBARNEWHP],a
+ ld [wHPBarNewHP],a
dec de
.doneHealingPartyHP ; done updating the pokemon's current HP in the party data structure
ld a,[$cf91]
@@ -27248,7 +27443,7 @@ ItemUseMedicine: ; dabb (3:5abb)
ld h,d
ld l,e
pop de
- ld a,[W_PLAYERMONNUMBER]
+ ld a,[wPlayerMonNumber]
cp d ; is pokemon the item was used on active in battle?
jr nz,.calculateHPBarCoords
; copy party HP to in-battle HP
@@ -28078,8 +28273,8 @@ ItemUseItemfinder: ; e2e1 (3:62e1)
and a
jp nz,ItemUseNotTime
call ItemUseReloadOverworldData
- ld b,BANK(Unknown_7481f)
- ld hl,Unknown_7481f
+ ld b,BANK(Func_7481f)
+ ld hl,Func_7481f
call Bankswitch ; check for hidden items
ld hl,ItemfinderFoundNothingText
jr nc,.printText ; if no hidden items
@@ -28126,7 +28321,7 @@ ItemUsePPRestore: ; e31e (3:631e)
cp a,ELIXER
jp nc,.useElixir ; if Elixir or Max Elixir
ld a,$02
- ld [W_MOVEMENUTYPE],a
+ ld [wMoveMenuType],a
ld hl,RaisePPWhichTechniqueText
ld a,[$cd3d]
cp a,ETHER ; is it a PP Up?
@@ -28181,7 +28376,7 @@ ItemUsePPRestore: ; e31e (3:631e)
.afterRestoringPP ; after using a (Max) Ether/Elixir
ld a,[$cf92]
ld b,a
- ld a,[W_PLAYERMONNUMBER]
+ ld a,[wPlayerMonNumber]
cp b ; is the pokemon whose PP was restored active in battle?
jr nz,.skipUpdatingInBattleData
ld hl,W_PARTYMON1_MOVE1PP
@@ -28249,7 +28444,7 @@ ItemUsePPRestore: ; e31e (3:631e)
dec [hl]
dec [hl]
xor a
- ld hl,W_CURMENUITEMID
+ ld hl,wCurrentMenuItem
ld [hli],a
ld [hl],a ; zero the counter for number of moves that had their PP restored
ld b,4
@@ -28268,7 +28463,7 @@ ItemUsePPRestore: ; e31e (3:631e)
ld hl,$cc27 ; counter for number of moves that had their PP restored
inc [hl]
.nextMove
- ld hl,W_CURMENUITEMID
+ ld hl,wCurrentMenuItem
inc [hl]
pop bc
dec b
@@ -28342,7 +28537,7 @@ ItemUseTMHM: ; e479 (3:6479)
ld a,$14
ld [$d125],a
call DisplayTextBoxID ; yes/no menu
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
and a
jr z,.useMachine
ld a,2
@@ -28437,7 +28632,7 @@ PrintItemUseTextAndRemoveItem: ; e563 (3:6563)
call WaitForTextScrollButtonPress ; wait for button press
RemoveUsedItem: ; e571 (3:6571)
- ld hl,W_NUMBAGITEMS
+ ld hl,wNumBagItems
ld a,1 ; one item
ld [$cf96],a ; store quantity
jp RemoveItemFromInventory
@@ -28541,7 +28736,7 @@ GotOffBicycleText: ; e5fc (3:65fc)
; [$d11e] = mode
; 0: Pokemon Center healing
; 1: using a PP Up
-; [CURMENUITEMID] = index of move (when using a PP Up)
+; [wCurrentMenuItem] = index of move (when using a PP Up)
RestoreBonusPP: ; e606 (3:6606)
ld hl,W_PARTYMON1_MOVE1
ld bc,44
@@ -28567,7 +28762,7 @@ RestoreBonusPP: ; e606 (3:6606)
dec a ; using a PP Up?
jr nz,.skipMenuItemIDCheck
; if using a PP Up, check if this is the move it's being used on
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
inc a
cp b
jr nz,.nextMove
@@ -28633,7 +28828,7 @@ AddBonusPP: ; e642 (3:6642)
; 02: current box
; 03: daycare
; 04: player's in-battle pokemon
-; [W_CURMENUITEMID] = move index
+; [wCurrentMenuItem] = move index
; OUTPUT:
; [$d11e] = max PP
GetMaxPP: ; e677 (3:6677)
@@ -28701,7 +28896,7 @@ GetSelectedMoveOffset: ; e6e3 (3:66e3)
call AddNTimes
GetSelectedMoveOffset2: ; e6e9 (3:66e9)
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
ld c,a
ld b,0
add hl,bc
@@ -28709,7 +28904,7 @@ GetSelectedMoveOffset2: ; e6e9 (3:66e9)
; confirms the item toss and then tosses the item
; INPUT:
-; hl = address of inventory (either W_NUMBAGITEMS or W_NUMBOXITEMS)
+; hl = address of inventory (either wNumBagItems or wNumBoxItems)
; [$cf91] = item ID
; [$cf92] = index of item within inventory
; [$cf96] = quantity to toss
@@ -28951,7 +29146,7 @@ Func_e7a4: ; e7a4 (3:67a4)
ld de, W_BOXMON1DATA
ld bc, $c
call CopyData
- ld hl, W_PLAYERIDHI ; $d359
+ ld hl, wPlayerID ; $d359
ld a, [hli]
ld [de], a
inc de
@@ -29229,7 +29424,6 @@ Func_e9f0: ; e9f0 (3:69f0)
dec hl
ret
-
DrawBadges: ; ea03 (3:6a03)
; Draw 4x2 gym leader faces, with the faces replaced by
; badges if they are owned. Used in the player status screen.
@@ -29506,7 +29700,7 @@ asm_ef82: ; ef82 (3:6f82)
ld [$cd4d], a
ld a, $1
ld [$cd6a], a
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld hl, W_PARTYMON1NAME ; $d2b5
call GetPartyMonName
ld hl, $d730
@@ -29523,7 +29717,7 @@ asm_ef82: ; ef82 (3:6f82)
call Delay3
xor a
ld [$FF00+$b0], a
- ld hl, Unknown_eff2 ; $6ff2
+ ld hl, UsedCutText ; $6ff2
call PrintText
call LoadScreenTilesFromBuffer2
ld hl, $d730
@@ -29546,8 +29740,9 @@ asm_ef82: ; ef82 (3:6f82)
call UpdateSprites
jp Func_eedc
-Unknown_eff2: ; eff2 (3:6ff2)
-INCBIN "baserom.gbc",$eff2,$eff7 - $eff2
+UsedCutText: ; eff2 (3:6ff2)
+ TX_FAR _UsedCutText
+ db "@"
Func_eff7: ; eff7 (3:6ff7)
xor a
@@ -29595,11 +29790,12 @@ Func_f04c: ; f04c (3:704c)
asm_f055: ; f055 (3:7055)
call Func_f068
ld a, $9
- ld de, Unknown_f060 ; $7060
+ ld de, UnknownOAM_f060 ; $7060
jp WriteOAMBlock
-Unknown_f060: ; f060 (3:7060)
-INCBIN "baserom.gbc",$f060,$f068 - $f060
+UnknownOAM_f060: ; f060 (3:7060)
+ db $FC,$10,$FD,$10
+ db $FE,$10,$FF,$10
Func_f068: ; f068 (3:7068)
ld hl, $c104
@@ -29731,6 +29927,8 @@ Func_f113: ; f113 (3:7113)
add hl, bc
ld a, [hli] ; load missable objects pointer in hl
ld h, [hl]
+
+Func_f132: ; f132 (3:7132)
ld l, a
push hl
ld de, MapHS00 ; calculate difference between out pointer and the base pointer
@@ -29810,7 +30008,6 @@ InitializeMissableObjectsFlags: ; f175 (3:7175)
inc hl
jr .missableObjectsLoop
-
; tests if current sprite is a missable object that is hidden/has been removed
IsMissableObjectHidden: ; f1a6 (3:71a6)
ld a, [H_CURRENTSPRITEOFFSET]
@@ -29924,7 +30121,7 @@ Func_f225: ; f225 (3:7225)
ld a, [$d728]
bit 0, a
ret z
- ld a, [W_FLAGS_CD60]
+ ld a, [wFlags_0xcd60]
bit 1, a
ret nz
xor a
@@ -29945,7 +30142,7 @@ Func_f225: ; f225 (3:7225)
ld a, [hl]
cp $10
jp nz, Func_f2dd
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
bit 6, [hl]
set 6, [hl]
ret z
@@ -29968,41 +30165,41 @@ Func_f225: ; f225 (3:7225)
jr z, .asm_f299
bit 7, b
ret z
- ld de, Unknown_f2af ; $72af
+ ld de, MovementData_f2af
jr .asm_f29f
.asm_f289
bit 6, b
ret z
- ld de, Unknown_f2ad ; $72ad
+ ld de, MovementData_f2ad
jr .asm_f29f
.asm_f291
bit 5, b
ret z
- ld de, Unknown_f2b1 ; $72b1
+ ld de, MovementData_f2b1
jr .asm_f29f
.asm_f299
bit 4, b
ret z
- ld de, Unknown_f2b3 ; $72b3
+ ld de, MovementData_f2b3
.asm_f29f
call MoveSprite
ld a, $a8
call PlaySound
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
set 1, [hl]
ret
-Unknown_f2ad: ; f2ad (3:72ad)
-INCBIN "baserom.gbc",$f2ad,$f2af - $f2ad
+MovementData_f2ad: ; f2ad (3:72ad)
+ db $40,$FF
-Unknown_f2af: ; f2af (3:72af)
-INCBIN "baserom.gbc",$f2af,$f2b1 - $f2af
+MovementData_f2af: ; f2af (3:72af)
+ db $00,$FF
-Unknown_f2b1: ; f2b1 (3:72b1)
-INCBIN "baserom.gbc",$f2b1,$f2b3 - $f2b1
+MovementData_f2b1: ; f2b1 (3:72b1)
+ db $80,$FF
-Unknown_f2b3: ; f2b3 (3:72b3)
-INCBIN "baserom.gbc",$f2b3,$f2b5 - $f2b3
+MovementData_f2b3: ; f2b3 (3:72b3)
+ db $C0,$FF
Func_f2b5: ; f2b5 (3:72b5)
ld a, [$d730]
@@ -30012,7 +30209,7 @@ Func_f2b5: ; f2b5 (3:72b5)
ld b, BANK(Func_79f54)
call Bankswitch ; indirect jump to Func_79f54 (79f54 (1e:5f54))
call DiscardButtonPresses
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
call Func_f2dd
set 7, [hl]
ld a, [$d718]
@@ -30023,7 +30220,7 @@ Func_f2b5: ; f2b5 (3:72b5)
jp PlaySound
Func_f2dd: ; f2dd (3:72dd)
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
res 1, [hl]
res 6, [hl]
ret
@@ -30033,7 +30230,7 @@ _AddPokemonToParty: ; f2e5 (3:72e5)
ld a, [$cc49]
and $f
jr z, .asm_f2f2
- ld de, W_ENEMYMONCOUNT ; $d89c
+ ld de, wEnemyPartyCount ; $d89c
.asm_f2f2
ld a, [de]
inc a
@@ -30082,7 +30279,7 @@ _AddPokemonToParty: ; f2e5 (3:72e5)
ld a, [$cc49]
and $f
jr z, .asm_f34c
- ld hl, W_WATERRATE ; $d8a4
+ ld hl, wEnemyMons ; $d8a4
.asm_f34c
ld a, [$FF00+$e4]
dec a
@@ -30115,7 +30312,7 @@ _AddPokemonToParty: ; f2e5 (3:72e5)
dec a
ld c, a
ld b, $2
- ld hl, W_OWNEDPOKEMON ; $d2f7
+ ld hl, wPokedexOwned ; $d2f7
call _HandleBitArray
ld a, c
ld [$d153], a
@@ -30126,7 +30323,7 @@ _AddPokemonToParty: ; f2e5 (3:72e5)
push bc
call _HandleBitArray
pop bc
- ld hl, W_SEENPOKEMON ; $d30a
+ ld hl, wPokedexSeen ; $d30a
call _HandleBitArray
pop hl
push hl
@@ -30214,10 +30411,10 @@ _AddPokemonToParty: ; f2e5 (3:72e5)
ld a, $3e
call Predef ; indirect jump to WriteMonMoves (3afb8 (e:6fb8))
pop de
- ld a, [W_PLAYERIDHI] ; set trainer ID to player ID
+ ld a, [wPlayerID] ; set trainer ID to player ID
inc de
ld [de], a
- ld a, [W_PLAYERIDLO]
+ ld a, [wPlayerID + 1]
inc de
ld [de], a
push de
@@ -30354,11 +30551,11 @@ _AddEnemyMonToPlayerParty: ; f49d (3:749d)
dec a
ld c, a
ld b, $1
- ld hl, W_OWNEDPOKEMON
+ ld hl, wPokedexOwned
push bc
call _HandleBitArray ; add to owned pokemon
pop bc
- ld hl, W_SEENPOKEMON
+ ld hl, wPokedexSeen
call _HandleBitArray ; add to seen pokemon
and a
ret ; return success
@@ -30426,7 +30623,7 @@ Func_f51e: ; f51e (3:751e)
ld hl, W_PARTYMON1DATA ; $d16b
ld bc, W_PARTYMON2DATA - W_PARTYMON1DATA ; $2c
.asm_f591
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
call AddNTimes
.asm_f597
push hl
@@ -30473,7 +30670,7 @@ Func_f51e: ; f51e (3:751e)
jr z, .asm_f5ec
ld hl, W_PARTYMON1OT ; $d273
.asm_f5e6
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
call SkipFixedLengthTextEntries
.asm_f5ec
ld bc, $b
@@ -30503,7 +30700,7 @@ Func_f51e: ; f51e (3:751e)
jr z, .asm_f62a
ld hl, W_PARTYMON1NAME ; $d2b5
.asm_f624
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
call SkipFixedLengthTextEntries
.asm_f62a
ld bc, $b
@@ -30895,21 +31092,21 @@ Func_f839: ; f839 (3:7839)
InitializePlayerData: ; f850 (3:7850)
call GenRandom
ld a, [H_RAND2]
- ld [W_PLAYERIDHI], a ; set player trainer id
+ ld [wPlayerID], a ; set player trainer id
call GenRandom
ld a, [H_RAND1]
- ld [W_PLAYERIDLO], a
+ ld [wPlayerID + 1], a
ld a, $ff
ld [$d71b], a ; XXX what's this?
ld hl, W_NUMINPARTY ; $d163
call InitializeEmptyList ; no party mons
ld hl, W_NUMINBOX ; $da80
call InitializeEmptyList ; no boxed mons
- ld hl, W_NUMBAGITEMS ; $d31d
+ ld hl, wNumBagItems ; $d31d
call InitializeEmptyList ; no items
- ld hl, W_NUMBOXITEMS ; $d53a
+ ld hl, wNumBoxItems ; $d53a
call InitializeEmptyList ; no boxed items
- ld hl, W_PLAYERMONEY2 ; $d348
+ ld hl, wPlayerMoney + 1 ; $d348
ld a, $30
ld [hld], a ; set money to 00 30 00 (3000)
xor a
@@ -30920,7 +31117,7 @@ InitializePlayerData: ; f850 (3:7850)
ld hl, W_OBTAINEDBADGES ; $d356
ld [hli], a ; no badges obtained
ld [hl], a ; XXX what's this?
- ld hl, W_PLAYERCOINS1 ; $d5a4
+ ld hl, wPlayerCoins ; $d5a4
ld [hli], a ; no coins
ld [hl], a
ld hl, W_GAMEPROGRESSFLAGS ; $d5f0
@@ -30938,7 +31135,7 @@ InitializeEmptyList: ; f8a0 (3:78a0)
Func_f8a5: ; f8a5 (3:78a5)
call Load16BitRegisters
- ld hl, W_NUMBAGITEMS ; $d31d
+ ld hl, wNumBagItems ; $d31d
.asm_f8ab
inc hl
ld a, [hli]
@@ -31034,7 +31231,7 @@ Func_f929: ; f929 (3:7929)
ld d, a
ld a, [$c106]
ld e, a
- ld hl, $c100
+ ld hl, wSpriteStateData1
ld a, [H_DIVIDEND] ; $FF00+$95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
add l
add $4
@@ -31102,7 +31299,50 @@ Func_f929: ; f929 (3:7929)
ld [$FF00+$9d], a
ret
-INCBIN "baserom.gbc",$f9a0,$f9dc - $f9a0
+Func_f9a0: ; f9a0 (3:79a0)
+ ld a, [$ff95]
+ ld [$cd37], a
+ dec a
+ ld de, $ccd3
+ ld hl, $cc97
+ add l
+ ld l, a
+ jr nc, .asm_f9b1
+ inc h
+.asm_f9b1
+ ld a, [hld]
+ call Func_f9bf
+ ld [de], a
+ inc de
+ ld a, [$ff95]
+ dec a
+ ld [$ff95], a
+ jr nz, .asm_f9b1
+ ret
+
+Func_f9bf: ; f9bf (3:79bf)
+ push hl
+ ld b, a
+ ld hl, DataTable_f9d2
+.asm_f9c4
+ ld a, [hli]
+ cp $ff
+ jr z, .asm_f9d0
+ cp b
+ jr z, .asm_f9cf
+ inc hl
+ jr .asm_f9c4
+.asm_f9cf
+ ld a, [hl]
+.asm_f9d0
+ pop hl
+ ret
+
+DataTable_f9d2: ; f9d2 (3:79d2)
+ db $40, $40, $00, $80, $80, $20, $c0, $10, $ff
+
+Func_f9db: ; f9db (3:79db)
+ ret
Func_f9dc: ; f9dc (3:79dc)
call Load16BitRegisters
@@ -31153,7 +31393,7 @@ UpdateHPBar_CalcNumberOfHPBarPixels: ; f9df (3:79df)
; predef $48
UpdateHPBar: ; fa1d (3:7a1d)
push hl
- ld hl, W_HPBAROLDHP
+ ld hl, wHPBarOldHP
ld a, [hli]
ld c, a ; old HP into bc
ld a, [hli]
@@ -31166,9 +31406,9 @@ UpdateHPBar: ; fa1d (3:7a1d)
push bc
call UpdateHPBar_CalcHPDifference
ld a, e
- ld [W_HPBARHPDIFFERENCE+1], a
+ ld [wHPBarHPDifference+1], a
ld a, d
- ld [W_HPBARHPDIFFERENCE], a
+ ld [wHPBarHPDifference], a
pop bc
pop de
call UpdateHPBar_CompareNewHPToOldHP
@@ -31177,26 +31417,26 @@ UpdateHPBar: ; fa1d (3:7a1d)
jr c, .HPdecrease
ld a, $1
.HPdecrease
- ld [W_HPBARDELTA], a
+ ld [wHPBarDelta], a
call Load16BitRegisters
- ld a, [W_HPBARNEWHP]
+ ld a, [wHPBarNewHP]
ld e, a
- ld a, [W_HPBARNEWHP+1]
+ ld a, [wHPBarNewHP+1]
ld d, a
.animateHPBarLoop
push de
- ld a, [W_HPBAROLDHP]
+ ld a, [wHPBarOldHP]
ld c, a
- ld a, [W_HPBAROLDHP+1]
+ ld a, [wHPBarOldHP+1]
ld b, a
call UpdateHPBar_CompareNewHPToOldHP
jr z, .animateHPBarDone
jr nc, .HPIncrease
dec bc ; subtract 1 HP
ld a, c
- ld [W_HPBARNEWHP], a
+ ld [wHPBarNewHP], a
ld a, b
- ld [W_HPBARNEWHP+1], a
+ ld [wHPBarNewHP+1], a
call UpdateHPBar_CalcOldNewHPBarPixels
ld a, e
sub d ; calc pixel difference
@@ -31204,9 +31444,9 @@ UpdateHPBar: ; fa1d (3:7a1d)
.HPIncrease
inc bc ; add 1 HP
ld a, c
- ld [W_HPBARNEWHP], a
+ ld [wHPBarNewHP], a
ld a, b
- ld [W_HPBARNEWHP+1], a
+ ld [wHPBarNewHP+1], a
call UpdateHPBar_CalcOldNewHPBarPixels
ld a, d
sub e ; calc pixel difference
@@ -31216,18 +31456,18 @@ UpdateHPBar: ; fa1d (3:7a1d)
jr z, .noPixelDifference
call UpdateHPBar_AnimateHPBar
.noPixelDifference
- ld a, [W_HPBARNEWHP]
- ld [W_HPBAROLDHP], a
- ld a, [W_HPBARNEWHP+1]
- ld [W_HPBAROLDHP+1], a
+ ld a, [wHPBarNewHP]
+ ld [wHPBarOldHP], a
+ ld a, [wHPBarNewHP+1]
+ ld [wHPBarOldHP+1], a
pop de
jr .animateHPBarLoop
.animateHPBarDone
pop de
ld a, e
- ld [W_HPBAROLDHP], a
+ ld [wHPBarOldHP], a
ld a, d
- ld [W_HPBAROLDHP+1], a
+ ld [wHPBarOldHP+1], a
or e
jr z, .monFainted
call UpdateHPBar_CalcOldNewHPBarPixels
@@ -31251,7 +31491,7 @@ UpdateHPBar_AnimateHPBar: ; fab1 (3:7ab1)
ld c, $2
call DelayFrames
pop de
- ld a, [W_HPBARDELTA] ; +1 or -1
+ ld a, [wHPBarDelta] ; +1 or -1
add e
cp $31
jr nc, .barFilledUp
@@ -31308,12 +31548,12 @@ UpdateHPBar_CalcHPDifference: ; fad7 (3:7ad7)
UpdateHPBar_PrintHPNumber: ; faf5 (3:7af5)
push af
push de
- ld a, [W_LISTMENUID] ; $cf94
+ ld a, [wListMenuID] ; $cf94
and a
jr z, .asm_fb2d
- ld a, [W_HPBAROLDHP]
+ ld a, [wHPBarOldHP]
ld [$cef1], a
- ld a, [W_HPBAROLDHP+1]
+ ld a, [wHPBarOldHP+1]
ld [$cef0], a
push hl
ld a, [$FF00+$f6]
@@ -31346,7 +31586,7 @@ UpdateHPBar_PrintHPNumber: ; faf5 (3:7af5)
; e: old pixels
UpdateHPBar_CalcOldNewHPBarPixels: ; fb30 (3:7b30)
push hl
- ld hl, W_HPBARMAXHP
+ ld hl, wHPBarMaxHP
ld a, [hli] ; max HP into de
ld e, a
ld a, [hli]
@@ -31372,6 +31612,7 @@ UpdateHPBar_CalcOldNewHPBarPixels: ; fb30 (3:7b30)
pop hl
ret
+; prints text for bookshelves in buildings without sign events
Func_fb50: ; fb50 (3:7b50)
ld a, [$c109]
cp $4
@@ -31381,7 +31622,7 @@ Func_fb50: ; fb50 (3:7b50)
FuncCoord 8, 7 ; $c434
ld a, [Coord]
ld c, a
- ld hl, Unknown_fb8b ; $7b8b
+ ld hl, BookshelfTileIDs ; $7b8b
.asm_fb62
ld a, [hli]
cp $ff
@@ -31411,8 +31652,39 @@ Func_fb50: ; fb50 (3:7b50)
ld hl, Func_52673
jp Bankswitch ; indirect jump to Func_52673 (52673 (14:6673))
-Unknown_fb8b: ; fb8b (3:7b8b)
-INCBIN "baserom.gbc",$fb8b,$fbd9 - $fb8b
+; format: db tileset id, bookshelf tile id, unknown
+BookshelfTileIDs: ; fb8b (3:7b8b)
+ db $17,$30,$3A
+ db $08,$3D,$3F
+ db $08,$1E,$40
+ db $13,$32,$40
+ db $01,$32,$40
+ db $14,$28,$40
+ db $12,$16,$41
+ db $07,$1D,$40
+ db $05,$1D,$40
+ db $0C,$22,$40
+ db $02,$54,$42
+ db $02,$55,$42
+ db $06,$54,$42
+ db $06,$55,$42
+ db $12,$50,$42
+ db $12,$52,$42
+ db $0D,$36,$40
+ db $FF
+
+UnnamedText_fbbf: ; fbbf (3:7bbf)
+ db $08 ; asm
+ ld hl, UnnamedText_fbd9
+ call PrintText
+ ld a, [W_XCOORD]
+ bit 0, a
+ ld hl, UnnamedText_fbde
+ jr nz, .asm_fbd3
+ ld hl, UnnamedText_fbe3
+.asm_fbd3
+ call PrintText
+ jp TextScriptEnd
UnnamedText_fbd9: ; fbd9 (3:7bd9)
TX_FAR _UnnamedText_fbd9
@@ -31426,7 +31698,19 @@ UnnamedText_fbe3: ; fbe3 (3:7be3)
TX_FAR _UnnamedText_fbe3
db "@"
-INCBIN "baserom.gbc",$fbe8,$fc03 - $fbe8
+UnnamedText_fbe8: ; fbe8 (3:7be8)
+ db $08 ; asm
+ ld hl, UnnamedText_fc03
+ ld a, [W_CURMAPTILESET]
+ cp $13 ; Celadon Mansion tileset
+ jr nz, .asm_fbfd
+ ld a, [$c420]
+ cp $38
+ jr nz, .asm_fbfd
+ ld hl, UnnamedText_fc08
+.asm_fbfd
+ call PrintText
+ jp TextScriptEnd
UnnamedText_fc03: ; fc03 (3:7c03)
TX_FAR _UnnamedText_fc03
@@ -31440,7 +31724,30 @@ UnnamedText_fc0d: ; fc0d (3:7c0d)
TX_FAR _UnnamedText_fc0d
db "@"
-INCBIN "baserom.gbc",$fc12,$fc45 - $fc12
+TownMapText: ; fc12 (3:7c12)
+ TX_FAR _TownMapText
+ db $06
+ db $08 ; asm
+ ld a, $1
+ ld [$cc3c], a
+ ld hl, $d730
+ set 6, [hl]
+ call GBPalWhiteOutWithDelay3
+ xor a
+ ld [$ffb0], a
+ inc a
+ ld [H_AUTOBGTRANSFERENABLED], a
+ call LoadFontTilePatterns
+ ld b, BANK(Func_70e3e)
+ ld hl, Func_70e3e
+ call Bankswitch
+ ld hl, $d730
+ res 6, [hl]
+ ld de, TextScriptEnd
+ push de
+ ld a, [H_LOADEDROMBANK]
+ push af
+ jp CloseTextDisplay
UnnamedText_fc45: ; fc45 (3:7c45)
TX_FAR _UnnamedText_fc45
@@ -31567,7 +31874,7 @@ Func_128f6: ; 128f6 (4:68f6)
call Load16BitRegisters
ld a, $2
asm_128fb: ; 128fb (4:68fb)
- ld [W_LISTMENUID], a ; $cf94
+ ld [wListMenuID], a ; $cf94
push hl
ld a, [$cf99]
ld b, a
@@ -31761,14 +32068,20 @@ StatusScreen: ; 12953 (4:6953)
ld a, [$cc49]
cp $3
ret z
- ld a, [W_WHICHPOKEMON]
+ ld a, [wWhichPokemon]
jp SkipFixedLengthTextEntries
Unknown_12a95: ; 12a95 (4:6a95)
-INCBIN "baserom.gbc",$12a95,$12a9d - $12a95
+ dw W_PARTYMON1OT
+ dw W_ENEMYMON1OT
+ dw $DD2A
+ dw $DA54
Unknown_12a9d: ; 12a9d (4:6a9d)
-INCBIN "baserom.gbc",$12a9d,$12aa5 - $12a9d
+ dw W_PARTYMON1NAME
+ dw W_ENEMYMON1NAME
+ dw $DE06
+ dw $DA49
Type1Text: ; 12aa5 (4:6aa5)
db "TYPE1/", $4e
@@ -31923,7 +32236,7 @@ StatusScreen2: ; 12b57 (4:6b57)
push bc
push hl
push de
- ld hl, W_CURMENUITEMID
+ ld hl, wCurrentMenuItem
ld a, [hl]
push af
ld a, b
@@ -32485,7 +32798,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
dec c
jr .adjustMenuVariablesLoop
.storeMenuVariables
- ld hl,W_TOPMENUITEMY
+ ld hl,wTopMenuItemY
ld a,c
ld [hli],a ; top menu item Y
ld a,[$fff7]
@@ -32506,9 +32819,9 @@ StartMenu_Pokemon: ; 130a9 (4:70a9)
bit 1,a ; was the B button pressed?
jp nz,.loop
; if the B button wasn't pressed
- ld a,[W_MAXMENUITEMID]
+ ld a,[wMaxMenuItem]
ld b,a
- ld a,[W_CURMENUITEMID] ; menu selection
+ ld a,[wCurrentMenuItem] ; menu selection
cp b
jp z,.exitMenu ; if the player chose Cancel
dec b
@@ -32752,7 +33065,7 @@ StartMenu_Item: ; 13302 (4:7302)
call PrintText
jr .exitMenu
.notInLinkBattle
- ld bc,W_NUMBAGITEMS
+ ld bc,wNumBagItems
ld hl,$cf8b
ld a,c
ld [hli],a
@@ -32760,11 +33073,11 @@ StartMenu_Item: ; 13302 (4:7302)
xor a
ld [$cf93],a
ld a,ITEMLISTMENU
- ld [W_LISTMENUID],a
+ ld [wListMenuID],a
ld a,[$cc2c]
- ld [W_CURMENUITEMID],a
+ ld [wCurrentMenuItem],a
call DisplayListMenuID
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
ld [$cc2c],a
jr nc,.choseItem
.exitMenu
@@ -32793,7 +33106,7 @@ StartMenu_Item: ; 13302 (4:7302)
ld a,$06 ; use/toss menu
ld [$d125],a
call DisplayTextBoxID
- ld hl,W_TOPMENUITEMY
+ ld hl,wTopMenuItemY
ld a,11
ld [hli],a ; top menu item Y
ld a,14
@@ -32827,7 +33140,7 @@ StartMenu_Item: ; 13302 (4:7302)
call PrintText
jp ItemMenuLoop
.notBicycle2
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
and a
jr nz,.tossItem
.useItem
@@ -32882,7 +33195,7 @@ StartMenu_Item: ; 13302 (4:7302)
inc a
jr z,.tossZeroItems
.skipAskingQuantity
- ld hl,W_NUMBAGITEMS
+ ld hl,wNumBagItems
call TossItem
.tossZeroItems
jp ItemMenuLoop
@@ -33058,7 +33371,7 @@ DrawTrainerInfo: ; 1349a (4:749a)
call PlaceString
FuncCoord 8,4
ld hl,Coord
- ld de,W_PLAYERMONEY3
+ ld de,wPlayerMoney
ld c,$e3
call PrintBCDNumber
FuncCoord 9,6
@@ -33170,15 +33483,15 @@ StartMenu_Option: ; 135f6 (4:75f6)
Func_13613: ; 13613 (4:7613)
call Func_13653
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
call Func_13625
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
call Func_13625
jp RedrawPartyMenu_
Func_13625: ; 13625 (4:7625)
push af
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld bc, $28
call AddNTimes
ld c, $28
@@ -33188,7 +33501,7 @@ Func_13625: ; 13625 (4:7625)
dec c
jr nz, .asm_13633
pop af
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
ld bc, $10
call AddNTimes
ld de, $4
@@ -33206,7 +33519,7 @@ Func_13653: ; 13653 (4:7653)
ld a, [$cc35]
and a
jr nz, .asm_13661
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
inc a
ld [$cc35], a
ret
@@ -33216,8 +33529,8 @@ Func_13653: ; 13653 (4:7653)
ld a, [$cc35]
dec a
ld b, a
- ld a, [W_CURMENUITEMID] ; $cc26
- ld [W_WHICHTRADE], a ; $cd3d
+ ld a, [wCurrentMenuItem] ; $cc26
+ ld [wWhichTrade], a ; $cd3d
cp b
jr nz, .asm_1367b
xor a
@@ -33232,7 +33545,7 @@ Func_13653: ; 13653 (4:7653)
ld hl, W_PARTYMON1 ; $d164
ld d, h
ld e, l
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
add l
ld l, a
jr nc, .asm_1368e
@@ -33252,7 +33565,7 @@ Func_13653: ; 13653 (4:7653)
ld [de], a
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
ld bc, $2c
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
call AddNTimes
push hl
ld de, $cc97
@@ -33271,7 +33584,7 @@ Func_13653: ; 13653 (4:7653)
ld bc, $2c
call CopyData
ld hl, W_PARTYMON1OT ; $d273
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
call SkipFixedLengthTextEntries
push hl
ld de, $cc97
@@ -33289,7 +33602,7 @@ Func_13653: ; 13653 (4:7653)
ld bc, $b
call CopyData
ld hl, W_PARTYMON1NAME ; $d2b5
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
call SkipFixedLengthTextEntries
push hl
ld de, $cc97
@@ -33307,7 +33620,7 @@ Func_13653: ; 13653 (4:7653)
ld bc, $b
call CopyData
ld a, [$cc35]
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
xor a
ld [$cc35], a
ld [$d07d], a
@@ -33446,7 +33759,7 @@ Func_137aa: ; 137aa (4:77aa)
inc hl
or [hl]
jr z, .asm_1380a
- ld de, W_PLAYERMONEY1 ; $d349
+ ld de, wPlayerMoney + 2 ; $d349
ld c, $3
ld a, $b
call Predef ; indirect jump to Func_f81d (f81d (3:781d))
@@ -33473,7 +33786,7 @@ Func_137aa: ; 137aa (4:77aa)
ld [hli], a
ld [hli], a
ld [hl], a
- ld [W_LISTSCROLLOFFSET], a ; $cc36
+ ld [wListScrollOffset], a ; $cc36
ld hl, $d060
ld b, $18
.asm_1383e
@@ -33540,10 +33853,10 @@ Func_13870: ; 13870 (4:7870)
ld a, [W_WATERRATE] ; $d8a4
jr z, .asm_138c4
ld a, [W_CURMAP] ; $d35e
- cp $25
+ cp REDS_HOUSE_1F
jr c, .asm_13912
ld a, [W_CURMAPTILESET] ; $d367
- cp $3
+ cp $3 ; Viridian Forest/Safari Zone
jr z, .asm_13912
ld a, [W_GRASSRATE] ; $d887
.asm_138c4
@@ -33630,28 +33943,28 @@ Func_1392c: ; 1392c (4:792c)
inc c
.asm_13958
ld a, [hli]
- ld [W_HPBARMAXHP+1], a
+ ld [wHPBarMaxHP+1], a
ld a, [hl]
- ld [W_HPBARMAXHP], a
+ ld [wHPBarMaxHP], a
push bc
ld bc, $fff2
add hl, bc
pop bc
ld a, [hl]
- ld [W_HPBAROLDHP], a
+ ld [wHPBarOldHP], a
sub c
ld [hld], a
- ld [W_HPBARNEWHP], a
+ ld [wHPBarNewHP], a
ld a, [hl]
- ld [W_HPBAROLDHP+1], a
+ ld [wHPBarOldHP+1], a
sbc b
ld [hl], a
- ld [W_HPBARNEWHP+1], a
+ ld [wHPBarNewHP+1], a
jr nc, .asm_13982
xor a
ld [hli], a
ld [hl], a
- ld hl, W_HPBARNEWHP
+ ld hl, wHPBarNewHP
ld [hli], a
ld [hl], a
.asm_13982
@@ -33665,7 +33978,7 @@ Func_1392c: ; 1392c (4:792c)
ld hl, Coord
xor a
.asm_13990
- ld [W_LISTMENUID], a ; $cf94
+ ld [wListMenuID], a ; $cf94
ld a, $48
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
ld hl, UnnamedText_1399e ; $799e
@@ -33674,13 +33987,114 @@ UnnamedText_1399e: ; 1399e (4:799e)
TX_FAR _UnnamedText_1399e
db "@"
-INCBIN "baserom.gbc",$139a3,$139cd - $139a3
+Func_139a3: ; 139a3 (4:79a3)
+ ld hl, W_ENEMYMONTYPE1
+ ld de, W_PLAYERMONTYPE1
+ ld a, [H_WHOSETURN]
+ and a
+ ld a, [W_ENEMYBATTSTATUS1]
+ jr z, .asm_139b8
+ push hl
+ ld h, d
+ ld l, e
+ pop de
+ ld a, [W_PLAYERBATTSTATUS1]
+
+.asm_139b8
+ bit 6, a
+ jr nz, Func_139d2
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ ld hl, Func_3fba8
+ call Func_139d5
+ ld hl, UnnamedText_139cd
+ jp PrintText
UnnamedText_139cd: ; 139cd (4:79cd)
TX_FAR _UnnamedText_139cd
db "@"
-INCBIN "baserom.gbc",$139d2,$13a53 - $139d2
+Func_139d2: ; 139d2 (4:79d2)
+ ld hl, Func_3fb53
+Func_139d5: ; 139d5 (4:79d5)
+ ld b, BANK(Func_3fb53)
+ jp Bankswitch
+
+Func_139da: ; 139da (4:79da)
+ ld a, $7
+ ld hl, wPlayerMonAttackMod
+ call Func_13a43
+ ld hl, wEnemyMonAttackMod
+ call Func_13a43
+ ld hl, $cd12
+ ld de, W_PLAYERMONATK
+ call Func_13a4a
+ ld hl, $cd26
+ ld de, W_ENEMYMONATTACK
+ call Func_13a4a
+ ld hl, W_ENEMYMONSTATUS
+ ld de, wEnemySelectedMove
+ ld a, [H_WHOSETURN]
+ and a
+ jr z, .asm_13a09
+ ld hl, W_PLAYERMONSTATUS
+ dec de
+
+.asm_13a09
+ ld a, [hl]
+ ld [hl], $0
+ and $27
+ jr z, .asm_13a13
+ ld a, $ff
+ ld [de], a
+
+.asm_13a13
+ xor a
+ ld [W_PLAYERDISABLEDMOVE], a
+ ld [W_ENEMYDISABLEDMOVE], a
+ ld hl, $ccee
+ ld [hli], a
+ ld [hl], a
+ ld hl, W_PLAYERBATTSTATUS1
+ call Func_13a37
+ ld hl, W_ENEMYBATTSTATUS1
+ call Func_13a37
+ ld hl, Func_3fba8
+ call Func_139d5
+ ld hl, UnnamedText_13a53
+ jp PrintText
+
+Func_13a37: ; 13a37 (4:7a37)
+ res 7, [hl]
+ inc hl
+ ld a, [hl]
+ and $78
+ ld [hli], a
+ ld a, [hl]
+ and $f8
+ ld [hl], a
+ ret
+
+Func_13a43: ; 13a43 (4:7a43)
+ ld b, $8
+.loop
+ ld [hli], a
+ dec b
+ jr nz, .loop
+ ret
+
+Func_13a4a: ; 13a4a (4:7a4a)
+ ld b, $8
+.loop
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec b
+ jr nz, .loop
+ ret
UnnamedText_13a53: ; 13a53 (4:7a53)
TX_FAR _UnnamedText_13a53
@@ -33834,7 +34248,7 @@ InitMapSprites: ; 1785b (5:785b)
call InitOutsideMapSprites
ret c ; return if the map is an outside map (already handled by above call)
; if the map is an inside map (i.e. mapID >= $25)
- ld hl,$c100
+ ld hl,wSpriteStateData1
ld de,$c20d
; Loop to copy picture ID's from $C1X0 to $C2XD for LoadMapSpriteTilePatterns.
.copyPictureIDLoop
@@ -33879,12 +34293,12 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
.checkIfAlreadyLoadedLoop
ld a,e
and a,$f0
- ld b,a ; b = offset of the $c200 sprite slot being checked against
+ ld b,a ; b = offset of the wSpriteStateData2 sprite slot being checked against
ld a,l
- and a,$f0 ; a = offset of current $c200 sprite slot
+ and a,$f0 ; a = offset of current wSpriteStateData2 sprite slot
cp b ; done checking all previous sprite slots?
jr z,.notAlreadyLoaded
- ld a,[de] ; picture ID of the $c200 sprite slot being checked against
+ ld a,[de] ; picture ID of the wSpriteStateData2 sprite slot being checked against
cp [hl] ; do the picture ID's match?
jp z,.alreadyLoaded
ld a,e
@@ -34031,7 +34445,7 @@ LoadMapSpriteTilePatterns: ; 17871 (5:7871)
.alreadyLoaded ; if the current picture ID has already had its tile patterns loaded
inc de
ld a,[de] ; a = VRAM slot for the current picture ID (from $C2YE)
- ld [hl],a ; store VRAM slot in current $c200 sprite slot (at $C2XE)
+ ld [hl],a ; store VRAM slot in current wSpriteStateData2 sprite slot (at $C2XE)
.nextSpriteSlot
ld a,l
add a,$10
@@ -34815,14 +35229,14 @@ Func_17c47: ; 17c47 (5:7c47)
ld a, [$cd50]
ld c, a
ld b, $0
- ld hl, Unknown_17caf ; $7caf
+ ld hl, EmotionBubblesPointerTable ; $7caf
add hl, bc
add hl, bc
ld e, [hl]
inc hl
ld d, [hl]
ld hl, $8f80
- ld bc, (BANK(Unknown_17caf) << 8) + $04
+ ld bc, (BANK(EmotionBubblesPointerTable) << 8) + $04
call CopyVideoData
ld a, [$cfcb]
push af
@@ -34858,7 +35272,7 @@ Func_17c47: ; 17c47 (5:7c47)
ld a, [hl]
add $8
ld c, a
- ld de, EmotionBubbles ; $7cb5
+ ld de, EmotionBubblesOAM ; $7cb5
xor a
call WriteOAMBlock
ld c, $3c
@@ -34868,25 +35282,31 @@ Func_17c47: ; 17c47 (5:7c47)
call DelayFrame
jp UpdateSprites
-Unknown_17caf: ; 17caf (5:7caf)
-INCBIN "baserom.gbc",$17caf,$17cb5 - $17caf
+EmotionBubblesPointerTable: ; 17caf (5:7caf)
+ dw EmotionBubbles
+ dw EmotionBubbles + $40
+ dw EmotionBubbles + $80
+
+EmotionBubblesOAM: ; 17cb5 (5:7cb5)
+ db $F8,$00,$F9,$00
+ db $FA,$00,$FB,$00
-EmotionBubbles: ; 17cb5 (5:7cb5)
+EmotionBubbles: ; 17cbd (5:7cbd)
INCBIN "gfx/emotion_bubbles.2bpp"
Func_17d7d: ; 17d7d (5:7d7d)
- ld a, [W_PLAYERMONACCURACYMOD] ; $cd1e
+ ld a, [wPlayerMonAccuracyMod] ; $cd1e
cp $86
jr z, .asm_17d8d
cp $92
ret nz
- ld a, [W_PLAYERMONEVASIONMOD] ; $cd1f
+ ld a, [wPlayerMonEvasionMod] ; $cd1f
cp $8f
ret nz
.asm_17d8d
ld a, [W_NUMINPARTY] ; $d163
dec a
- ld [W_WHICHPOKEMON], a ; $cf92
+ ld [wWhichPokemon], a ; $cf92
ld a, $1
ld [$ccd4], a
ld a, $32
@@ -34902,13 +35322,13 @@ SubstituteEffectHandler: ; 17dad (5:7dad)
ld c, 50
call DelayFrames
ld hl, W_PLAYERMONMAXHP
- ld de, W_PLAYERSUBSITUTEHP
+ ld de, wPlayerSubstituteHP
ld bc, W_PLAYERBATTSTATUS2
ld a, [$ff00+$f3] ;whose turn?
and a
jr z, .notEnemy
ld hl, W_ENEMYMONMAXHP
- ld de, W_ENEMYSUBSITUTEHP
+ ld de, wEnemySubstituteHP
ld bc, W_ENEMYBATTSTATUS2
.notEnemy
ld a, [bc] ;load flags
@@ -34977,13 +35397,13 @@ UnnamedText_17e27: ; 17e27 (5:7e27)
db "@"
ActivatePC: ; 17e2c (5:7e2c)
- call SaveScreenTilesToBuffer2 ;XXX: copy background from W_SCREENTILESBUFFER to W_SCREENTILESBACKBUFFER2
+ call SaveScreenTilesToBuffer2 ;XXX: copy background from wTileMap to wTileMapBackup2
ld a, $99
call PlaySound ;XXX: play sound or stop music
ld hl, UnnamedText_17f23 ;player turned on PC
call PrintText
call WaitForSoundToFinish ;XXX: wait for sound to be done
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
set 3, [hl]
call LoadScreenTilesFromBuffer2 ;XXX: restore saved screen
call Delay3
@@ -34991,15 +35411,15 @@ PCMainMenu: ; 17e48 (5:7e48)
ld b, BANK(Func_213c8)
ld hl, Func_213c8
call Bankswitch
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
set 5, [hl]
call HandleMenuInput
bit 1, a ;if player pressed B
jp nz, LogOff
- ld a, [W_MAXMENUITEMID]
+ ld a, [wMaxMenuItem]
cp a, 2
jr nz, .next ;if not 2 menu items (not counting log off) (2 occurs before you get the pokedex)
- ld a, [W_CURMENUITEMID]
+ ld a, [wCurrentMenuItem]
and a
jp z, BillsPC ;if current menu item id is 0, it's bills pc
cp a, 1
@@ -35008,7 +35428,7 @@ PCMainMenu: ; 17e48 (5:7e48)
.next
cp a, 3
jr nz, .next2 ;if not 3 menu items (not counting log off) (3 occurs after you get the pokedex, before you beat the pokemon league)
- ld a, [W_CURMENUITEMID]
+ ld a, [wCurrentMenuItem]
and a
jp z, BillsPC ;if current menu item id is 0, it's bills pc
cp a, 1
@@ -35017,7 +35437,7 @@ PCMainMenu: ; 17e48 (5:7e48)
jp z, OaksPC ;if current menu item id is 2, it's oaks pc
jp LogOff ;otherwise, it's 3, and you're logging off
.next2
- ld a, [W_CURMENUITEMID]
+ ld a, [wCurrentMenuItem]
and a
jp z, BillsPC ;if current menu item id is 0, it's bills pc
cp a, 1
@@ -35028,7 +35448,7 @@ PCMainMenu: ; 17e48 (5:7e48)
jp z, PKMNLeague ;if current menu item id is 3, it's pkmnleague
jp LogOff ;otherwise, it's 4, and you're logging off
.playersPC
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
res 5, [hl]
set 3, [hl]
ld a, $9B
@@ -35082,7 +35502,7 @@ LogOff: ; 17f13 (5:7f13)
ld a, $9A
call PlaySound ;XXX: play sound or stop music
call WaitForSoundToFinish ;XXX: wait for sound to be done
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
res 3, [hl]
res 5, [hl]
ret
@@ -35105,7 +35525,7 @@ UnnamedText_17f32: ; 17f32 (5:7f32)
; removes one of the specified item ID [$FFdb] from bag (if existent)
RemoveItemByID: ; 17f37 (5:7f37)
- ld hl, W_BAGITEM01 ; $d31e
+ ld hl, wBagItems ; $d31e
ld a, [$FF00+$db]
ld b, a
xor a
@@ -35125,8 +35545,8 @@ RemoveItemByID: ; 17f37 (5:7f37)
ld a, $1
ld [$cf96], a
ld a, [$FF00+$dc]
- ld [W_WHICHPOKEMON], a ; $cf92
- ld hl, W_NUMBAGITEMS ; $d31d
+ ld [wWhichPokemon], a ; $cf92
+ ld hl, wNumBagItems ; $d31d
jp RemoveItemFromInventory
SECTION "bank6",ROMX,BANK[$6]
@@ -35134,7 +35554,7 @@ SECTION "bank6",ROMX,BANK[$6]
CeladonCity_h: ; 18000 (6:4000)
db $00 ; tileset
db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH ; dimensions (y, x)
- dw CeladonCityBlocks, CeladonCityTexts, CeladonCityScript ; blocks, texts, scripts
+ dw CeladonCityBlocks, CeladonCityTextPointers, CeladonCityScript ; blocks, texts, scripts
db WEST | EAST ; connections
; connections data
@@ -35216,7 +35636,7 @@ CeladonCityBlocks: ; 180df (6:40df)
PalletTown_h: ; 182a1 (6:42a1)
db $00 ; tileset
db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH ; dimensions
- dw PalletTownBlocks, PalletTownTexts, PalletTownScript
+ dw PalletTownBlocks, PalletTownTextPointers, PalletTownScript
db NORTH | SOUTH ; connections
db ROUTE_1
@@ -35266,7 +35686,7 @@ PalletTownBlocks: ; 182fd (6:42fd)
ViridianCity_h: ; 0x18357 to 0x18384 (45 bytes) (bank=6) (id=1)
db $00 ; tileset
db VIRIDIAN_CITY_HEIGHT, VIRIDIAN_CITY_WIDTH ; dimensions (y, x)
- dw ViridianCityBlocks, ViridianCityTexts, ViridianCityScript ; blocks, texts, scripts
+ dw ViridianCityBlocks, ViridianCityTextPointers, ViridianCityScript ; blocks, texts, scripts
db NORTH | SOUTH | WEST ; connections
; connections data
@@ -35336,7 +35756,7 @@ ViridianCityBlocks: ; 183ec (6:43ec)
PewterCity_h: ; 0x18554 to 0x18576 (34 bytes) (bank=6) (id=2)
db $00 ; tileset
db PEWTER_CITY_HEIGHT, PEWTER_CITY_WIDTH ; dimensions (y, x)
- dw PewterCityBlocks, PewterCityTexts, PewterCityScript ; blocks, texts, scripts
+ dw PewterCityBlocks, PewterCityTextPointers, PewterCityScript ; blocks, texts, scripts
db SOUTH | EAST ; connections
; connections data
@@ -35359,7 +35779,7 @@ PewterCity_h: ; 0x18554 to 0x18576 (34 bytes) (bank=6) (id=2)
dw PewterCityObject ; objects
-db $0
+ db $0
PewterCityObject: ; 0x18577 (size=111)
db $a ; border tile
@@ -35404,7 +35824,7 @@ PewterCityBlocks: ; 185e6 (6:45e6)
CeruleanCity_h: ; 0x1874e to 0x18786 (56 bytes) (bank=6) (id=3)
db $00 ; tileset
db CERULEAN_CITY_HEIGHT, CERULEAN_CITY_WIDTH ; dimensions (y, x)
- dw CeruleanCityBlocks, CeruleanCityTexts, CeruleanCityScript ; blocks, texts, scripts
+ dw CeruleanCityBlocks, CeruleanCityTextPointers, CeruleanCityScript ; blocks, texts, scripts
db NORTH | SOUTH | WEST | EAST ; connections
; connections data
@@ -35495,7 +35915,7 @@ CeruleanCityBlocks: ; 18830 (6:4830)
VermilionCity_h: ; 0x18998 to 0x189ba (34 bytes) (bank=6) (id=5)
db $00 ; tileset
db VERMILION_CITY_HEIGHT, VERMILION_CITY_WIDTH ; dimensions (y, x)
- dw VermilionCityBlocks, VermilionCityTexts, VermilionCityScript ; blocks, texts, scripts
+ dw VermilionCityBlocks, VermilionCityTextPointers, VermilionCityScript ; blocks, texts, scripts
db NORTH | EAST ; connections
; connections data
@@ -35566,7 +35986,7 @@ VermilionCityBlocks: ; 18a3f (6:4a3f)
FuchsiaCity_h: ; 0x18ba7 to 0x18bd4 (45 bytes) (bank=6) (id=7)
db $00 ; tileset
db FUCHSIA_CITY_HEIGHT, FUCHSIA_CITY_WIDTH ; dimensions (y, x)
- dw FuchsiaCityBlocks, FuchsiaCityTexts, FuchsiaCityScript ; blocks, texts, scripts
+ dw FuchsiaCityBlocks, FuchsiaCityTextPointers, FuchsiaCityScript ; blocks, texts, scripts
db SOUTH | WEST | EAST ; connections
; connections data
@@ -35727,9 +36147,15 @@ PalletTownScript: ; 18e5b (6:4e5b)
jp CallFunctionInTable
PalletTownScriptPointers: ; 18e73 (6:4e73)
- dw PalletTownScript1,PalletTownScript2,PalletTownScript3,PalletTownScript4,PalletTownScript5,PalletTownScript6,PalletTownScript7
-
-PalletTownScript1: ; 18e81 (6:4e81)
+ dw PalletTownScript0
+ dw PalletTownScript1
+ dw PalletTownScript2
+ dw PalletTownScript3
+ dw PalletTownScript4
+ dw PalletTownScript5
+ dw PalletTownScript6
+
+PalletTownScript0: ; 18e81 (6:4e81)
ld a,[$D747]
bit 0,a
ret nz
@@ -35747,7 +36173,7 @@ PalletTownScript1: ; 18e81 (6:4e81)
ld a, (Music_MeetProfOak - $4000) / 3 ; “oak appears” music
call PlayMusic ; plays music
ld a,$FC
- ld [W_JOYPADFORBIDDENBUTTONSMASK],a
+ ld [wJoypadForbiddenButtonsMask],a
ld hl,$D74B
set 7,[hl]
@@ -35756,14 +36182,14 @@ PalletTownScript1: ; 18e81 (6:4e81)
ld [W_PALLETTOWNCURSCRIPT],a
ret
-PalletTownScript2: ; 18eb2 (6:4eb2)
+PalletTownScript1: ; 18eb2 (6:4eb2)
xor a
ld [$CF0D],a
ld a,1
ld [$FF8C],a
call DisplayTextID
ld a,$FF
- ld [W_JOYPADFORBIDDENBUTTONSMASK],a
+ ld [wJoypadForbiddenButtonsMask],a
ld a,0
ld [$CC4D],a
ld a,$15
@@ -35774,7 +36200,7 @@ PalletTownScript2: ; 18eb2 (6:4eb2)
ld [W_PALLETTOWNCURSCRIPT],a
ret
-PalletTownScript3: ; 18ed2 (6:4ed2)
+PalletTownScript2: ; 18ed2 (6:4ed2)
ld a,1
ld [$FF8C],a
ld a,4
@@ -35799,14 +36225,14 @@ PalletTownScript3: ; 18ed2 (6:4ed2)
ld [$FF8C],a
call MoveSprite
ld a,$FF
- ld [W_JOYPADFORBIDDENBUTTONSMASK],a
+ ld [wJoypadForbiddenButtonsMask],a
; trigger the next script
ld a,3
ld [W_PALLETTOWNCURSCRIPT],a
ret
-PalletTownScript4: ; 18f12 (6:4f12)
+PalletTownScript3: ; 18f12 (6:4f12)
ld a,[$D730]
bit 0,a
ret nz
@@ -35815,12 +36241,12 @@ PalletTownScript4: ; 18f12 (6:4f12)
ld a,1
ld [$CF0D],a
ld a,$FC
- ld [W_JOYPADFORBIDDENBUTTONSMASK],a
+ ld [wJoypadForbiddenButtonsMask],a
ld a,1
ld [$FF8C],a
call DisplayTextID
ld a,$FF
- ld [W_JOYPADFORBIDDENBUTTONSMASK],a
+ ld [wJoypadForbiddenButtonsMask],a
ld a,1
ld [$CF13],a
xor a
@@ -35835,7 +36261,7 @@ PalletTownScript4: ; 18f12 (6:4f12)
ld [W_PALLETTOWNCURSCRIPT],a
ret
-PalletTownScript5: ; 18f4b (6:4f4b)
+PalletTownScript4: ; 18f4b (6:4f4b)
ld a,[$CC57]
and a
ret nz
@@ -35845,7 +36271,7 @@ PalletTownScript5: ; 18f4b (6:4f4b)
ld [W_PALLETTOWNCURSCRIPT],a
ret
-PalletTownScript6: ; 18f56 (6:4f56)
+PalletTownScript5: ; 18f56 (6:4f56)
ld a,[$D74A]
bit 2,a
jr nz,.next
@@ -35868,11 +36294,17 @@ PalletTownScript6: ; 18f56 (6:4f56)
ret z
ld hl,$D74B
set 6,[hl]
-PalletTownScript7: ; 18f87 (6:4f87)
+PalletTownScript6: ; 18f87 (6:4f87)
ret
-PalletTownTexts: ; 18f88 (6:4f88)
- dw PalletTownText1,PalletTownText2,PalletTownText3,PalletTownText4,PalletTownText5,PalletTownText6,PalletTownText7
+PalletTownTextPointers: ; 18f88 (6:4f88)
+ dw PalletTownText1
+ dw PalletTownText2
+ dw PalletTownText3
+ dw PalletTownText4
+ dw PalletTownText5
+ dw PalletTownText6
+ dw PalletTownText7
PalletTownText1: ; 18f96 (6:4f96)
db 8
@@ -35933,21 +36365,21 @@ PalletTownText7: ; 0x18fec sign by Blue’s house
ViridianCityScript: ; 18ff1 (6:4ff1)
call EnableAutoTextBoxDrawing
- ld hl, ViridianCityScripts
+ ld hl, ViridianCityScriptPointers
ld a, [W_VIRIDIANCITYCURSCRIPT]
jp CallFunctionInTable
-ViridianCityScripts: ; 18ffd (6:4ffd)
+ViridianCityScriptPointers: ; 18ffd (6:4ffd)
dw ViridianCityScript0
dw ViridianCityScript1
dw ViridianCityScript2
dw ViridianCityScript3
ViridianCityScript0: ; 19005 (6:5005)
- call Function1900b
- jp Function1903d
+ call ViridianCityScript_1900b
+ jp ViridianCityScript_1903d
-Function1900b: ; 1900b (6:500b)
+ViridianCityScript_1900b: ; 1900b (6:500b)
ld a, [$d74c]
bit 0, a
ret nz
@@ -35969,12 +36401,12 @@ Function1900b: ; 1900b (6:500b)
call DisplayTextID
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
- call Function190cf
+ call ViridianCityScript_190cf
ld a, $3
ld [W_VIRIDIANCITYCURSCRIPT], a
ret
-Function1903d: ; 1903d (6:503d)
+ViridianCityScript_1903d: ; 1903d (6:503d)
ld a, [$d74b]
bit 5, a
ret nz
@@ -35989,7 +36421,7 @@ Function1903d: ; 1903d (6:503d)
call DisplayTextID
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
- call Function190cf
+ call ViridianCityScript_190cf
ld a, $3
ld [W_VIRIDIANCITYCURSCRIPT], a
ret
@@ -36004,7 +36436,7 @@ ViridianCityScript1: ; 19062 (6:5062)
ld a, [$c235]
ld [$ff00+$ee], a
xor a
- ld [W_LISTSCROLLOFFSET], a
+ ld [wListScrollOffset], a
; set up battle for Old Man
ld a, $1
@@ -36014,7 +36446,7 @@ ViridianCityScript1: ; 19062 (6:5062)
ld a, WEEDLE
ld [W_CUROPPONENT], a
ld a, $2
- ld [W_VIRIDIANCITYCURSCRIPT], a ; XXX what is this
+ ld [W_VIRIDIANCITYCURSCRIPT], a
ret
ViridianCityScript2: ; 1908f (6:508f)
@@ -36029,13 +36461,13 @@ ViridianCityScript2: ; 1908f (6:508f)
call UpdateSprites
call Delay3
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $f
ld [$ff00+$8c], a
call DisplayTextID
xor a
ld [W_BATTLETYPE], a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_VIRIDIANCITYCURSCRIPT], a
ret
@@ -36049,7 +36481,7 @@ ViridianCityScript3: ; 190c1 (6:50c1)
ld [W_VIRIDIANCITYCURSCRIPT], a
ret
-Function190cf: ; 190cf (6:50cf)
+ViridianCityScript_190cf: ; 190cf (6:50cf)
call Func_3486
ld a, $1
ld [$cd38], a
@@ -36057,11 +36489,25 @@ Function190cf: ; 190cf (6:50cf)
ld [$ccd3], a
xor a
ld [$c109], a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
- ret
-
-ViridianCityTexts: ; 190e4 (6:50e4)
- dw ViridianCityText1, ViridianCityText2, ViridianCityText3, ViridianCityText4, ViridianCityText5, ViridianCityText6, ViridianCityText7, ViridianCityText8, ViridianCityText9, ViridianCityText10, MartSignText, PokeCenterSignText, ViridianCityText13, ViridianCityText14, ViridianCityText15
+ ld [wJoypadForbiddenButtonsMask], a
+ ret
+
+ViridianCityTextPointers: ; 190e4 (6:50e4)
+ dw ViridianCityText1
+ dw ViridianCityText2
+ dw ViridianCityText3
+ dw ViridianCityText4
+ dw ViridianCityText5
+ dw ViridianCityText6
+ dw ViridianCityText7
+ dw ViridianCityText8
+ dw ViridianCityText9
+ dw ViridianCityText10
+ dw MartSignText
+ dw PokeCenterSignText
+ dw ViridianCityText13
+ dw ViridianCityText14
+ dw ViridianCityText15
ViridianCityText1: ; 19102 (6:5102)
TX_FAR _ViridianCityText1
@@ -36144,7 +36590,7 @@ ViridianCityText5: ; 1917f (6:517f)
db $08 ; asm
ld hl, UnnamedText_19191
call PrintText
- call Function190cf
+ call ViridianCityScript_190cf
ld a, $3
ld [W_VIRIDIANCITYCURSCRIPT], a
jp TextScriptEnd
@@ -36253,11 +36699,11 @@ ViridianCityText14: ; 19232 (6:5232)
PewterCityScript: ; 19237 (6:5237)
call EnableAutoTextBoxDrawing
- ld hl, PewterCityScripts
+ ld hl, PewterCityScriptPointers
ld a, [W_PEWTERCITYCURSCRIPT]
jp CallFunctionInTable
-PewterCityScripts: ; 19243 (6:5243)
+PewterCityScriptPointers: ; 19243 (6:5243)
dw PewterCityScript0
dw PewterCityScript1
dw PewterCityScript2
@@ -36271,23 +36717,23 @@ PewterCityScript0: ; 19251 (6:5251)
ld [W_MUSEUMF1CURSCRIPT], a
ld hl, $d754
res 0, [hl]
- call Function1925e
+ call PewterCityScript_1925e
ret
-Function1925e: ; 1925e (6:525e)
+PewterCityScript_1925e: ; 1925e (6:525e)
ld a, [$d755]
bit 7, a
ret nz
- ld hl, CoordsData19277
+ ld hl, CoordsData_19277
call ArePlayerCoordsInArray
ret nc
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $5
ld [$ff00+$8c], a
jp DisplayTextID
-CoordsData19277: ; 19277 (6:5277)
+CoordsData_19277: ; 19277 (6:5277)
db $11,$23
db $11,$24
db $12,$25
@@ -36307,7 +36753,7 @@ PewterCityScript1: ; 19280 (6:5280)
ld [$ff00+$8d], a
call Func_34b9
call Func_2307
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
set 4, [hl]
ld a, $d
ld [$ff00+$8c], a
@@ -36325,14 +36771,14 @@ PewterCityScript1: ; 19280 (6:5280)
call Func_32f9
ld a, $3
ld [$ff00+$8c], a
- ld de, MovementData192ce ; $52ce
+ ld de, MovementData_192ce ; $52ce
call MoveSprite
ld a, $2
ld [W_PEWTERCITYCURSCRIPT], a
ret
-MovementData192ce: ; 192ce (6:52ce)
- db 0,0,0,0,$ff
+MovementData_192ce: ; 192ce (6:52ce)
+ db $00,$00,$00,$00,$FF
PewterCityScript2: ; 192d3 (6:52d3)
ld a, [$d730]
@@ -36355,7 +36801,7 @@ PewterCityScript3: ; 192e9 (6:52e9)
ld a, $15
call Predef
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_PEWTERCITYCURSCRIPT], a
ret
@@ -36373,7 +36819,7 @@ PewterCityScript4: ; 19305 (6:5305)
ld [$ff00+$8d], a
call Func_34b9
call Func_2307
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
set 4, [hl]
ld a, $e
ld [$ff00+$8c], a
@@ -36391,14 +36837,14 @@ PewterCityScript4: ; 19305 (6:5305)
call Func_32f9
ld a, $5
ld [$ff00+$8c], a
- ld de, MovementData19353
+ ld de, MovementData_19353
call MoveSprite
ld a, $5
ld [W_PEWTERCITYCURSCRIPT], a
ret
-MovementData19353: ; 19353 (6:5353)
- db $c0,$c0,$c0,$c0,$c0,$ff
+MovementData_19353: ; 19353 (6:5353)
+ db $C0,$C0,$C0,$C0,$C0,$FF
PewterCityScript5: ; 19359 (6:5359)
ld a, [$d730]
@@ -36421,13 +36867,26 @@ PewterCityScript6: ; 1936f (6:536f)
ld a, $15
call Predef
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_PEWTERCITYCURSCRIPT], a
ret
-PewterCityTexts: ; 1938b (6:538b)
- dw PewterCityText1, PewterCityText2, PewterCityText3, PewterCityText4, PewterCityText5, PewterCityText6, PewterCityText7, MartSignText, PokeCenterSignText, PewterCityText10, PewterCityText11, PewterCityText12, PewterCityText13, PewterCityText14
+PewterCityTextPointers: ; 1938b (6:538b)
+ dw PewterCityText1
+ dw PewterCityText2
+ dw PewterCityText3
+ dw PewterCityText4
+ dw PewterCityText5
+ dw PewterCityText6
+ dw PewterCityText7
+ dw MartSignText
+ dw PokeCenterSignText
+ dw PewterCityText10
+ dw PewterCityText11
+ dw PewterCityText12
+ dw PewterCityText13
+ dw PewterCityText14
PewterCityText1: ; 193a7 (6:53a7)
TX_FAR _PewterCityText1
@@ -36480,9 +36939,7 @@ UnnamedText_193fb: ; 193fb (6:53fb)
db "@"
PewterCityText13: ; 19400 (6:5400)
-
-UnnamedText_19400: ; 19400 (6:5400)
- TX_FAR _UnnamedText_19400
+ TX_FAR _PewterCityText13
db "@"
PewterCityText4: ; 19405 (6:5405)
@@ -36564,20 +37021,20 @@ PewterCityText12: ; 1947b (6:547b)
CeruleanCityScript: ; 19480 (6:5480)
call EnableAutoTextBoxDrawing
- ld hl, CeruleanCityScripts
+ ld hl, CeruleanCityScriptPointers
ld a, [W_CERULEANCITYCURSCRIPT]
jp CallFunctionInTable
-CeruleanCity_Unknown1948c: ; 1948c (6:548c)
+CeruleanCityScript_1948c: ; 1948c (6:548c)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_CERULEANCITYCURSCRIPT], a
ld a, $5
ld [$cc4d], a
ld a, $11
jp Predef
-CeruleanCityScripts: ; 1949d (6:549d)
+CeruleanCityScriptPointers: ; 1949d (6:549d)
dw CeruleanCityScript0
dw CeruleanCityScript1
dw CeruleanCityScript2
@@ -36587,16 +37044,16 @@ CeruleanCityScripts: ; 1949d (6:549d)
CeruleanCityScript4: ; 194a7 (6:54a7)
ld a, [W_ISINBATTLE]
cp $ff
- jp z, CeruleanCity_Unknown1948c
+ jp z, CeruleanCityScript_1948c
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d75b
set 7, [hl]
ld a, $2
ld [$ff00+$8c], a
call DisplayTextID
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_CERULEANCITYCURSCRIPT], a
ret
@@ -36642,7 +37099,7 @@ CeruleanCityScript0: ; 194c8 (6:54c8)
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, [$d362]
cp $14
jr z, .asm_19535 ; 0x19526 $d
@@ -36676,9 +37133,9 @@ CeruleanCityCoords2: ; 19554 (6:5554)
db $ff
CeruleanCityMovement1: ; 19559 (6:5559)
- db 0,0,0,$ff
+ db $00,$00,$00,$FF
-CeruleanCityFunction1955d: ; 1955d (6:555d)
+CeruleanCityScript_1955d: ; 1955d (6:555d)
ld a,1
ld [$ff8c],a
xor a
@@ -36690,7 +37147,7 @@ CeruleanCityScript1: ; 19567 (6:5567)
bit 0, a
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $1
ld [$ff00+$8c], a
call DisplayTextID
@@ -36721,7 +37178,7 @@ CeruleanCityScript1: ; 19567 (6:5567)
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
- call CeruleanCityFunction1955d
+ call CeruleanCityScript_1955d
ld a, $2
ld [W_CERULEANCITYCURSCRIPT], a
ret
@@ -36729,10 +37186,10 @@ CeruleanCityScript1: ; 19567 (6:5567)
CeruleanCityScript2: ; 195b1 (6:55b1)
ld a, [$d057]
cp $ff
- jp z, CeruleanCity_Unknown1948c
- call CeruleanCityFunction1955d
+ jp z, CeruleanCityScript_1948c
+ call CeruleanCityScript_1955d
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d75a
set 0, [hl]
ld a, $1
@@ -36763,10 +37220,10 @@ CeruleanCityScript2: ; 195b1 (6:55b1)
ret
CeruleanCityMovement3: ; 19600 (6:5600)
- db $80, $00, $00, $00, $00, $00, $00, $ff
+ db $80,$00,$00,$00,$00,$00,$00,$FF
CeruleanCityMovement4: ; 19608 (6:5608)
- db $c0, $00, $00, $00, $00, $00, $00, $ff
+ db $c0,$00,$00,$00,$00,$00,$00,$FF
CeruleanCityScript3: ; 19610 (6:5610)
ld a, [$d730]
@@ -36777,14 +37234,30 @@ CeruleanCityScript3: ; 19610 (6:5610)
ld a, $11
call Predef
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
call Func_2307
ld a, $0
ld [W_CERULEANCITYCURSCRIPT], a
ret
-CeruleanCityTexts: ; 1962d (6:562d)
- dw CeruleanCityText1, CeruleanCityText2, CeruleanCityText3, CeruleanCityText4, CeruleanCityText5, CeruleanCityText6, CeruleanCityText7, CeruleanCityText8, CeruleanCityText9, CeruleanCityText10, CeruleanCityText11, CeruleanCityText12, CeruleanCityText13, MartSignText, PokeCenterSignText, CeruleanCityText16, CeruleanCityText17
+CeruleanCityTextPointers: ; 1962d (6:562d)
+ dw CeruleanCityText1
+ dw CeruleanCityText2
+ dw CeruleanCityText3
+ dw CeruleanCityText4
+ dw CeruleanCityText5
+ dw CeruleanCityText6
+ dw CeruleanCityText7
+ dw CeruleanCityText8
+ dw CeruleanCityText9
+ dw CeruleanCityText10
+ dw CeruleanCityText11
+ dw CeruleanCityText12
+ dw CeruleanCityText13
+ dw MartSignText
+ dw PokeCenterSignText
+ dw CeruleanCityText16
+ dw CeruleanCityText17
CeruleanCityText1: ; 1964f (6:564f)
db $08 ; asm
@@ -36852,8 +37325,8 @@ CeruleanCityText2: ; 1967c (6:567c)
ld [$cc3c], a
ld hl, ReceivedTM28Text
call PrintText
- ld b, BANK(Unnamed_ASM_74872)
- ld hl, Unnamed_ASM_74872
+ ld b, BANK(Func_74872)
+ ld hl, Func_74872
call Bankswitch
.Done
jp TextScriptEnd
@@ -37001,23 +37474,23 @@ VermilionCityScript: ; 197a1 (6:57a1)
bit 6, [hl]
res 6, [hl]
push hl
- call nz, Function197cb
+ call nz, VermilionCityScript_197cb
pop hl
bit 5, [hl]
res 5, [hl]
- call nz, VermilionCityScript_Unknown197c0
- ld hl, VermilionCityScripts
+ call nz, VermilionCityScript_197c0
+ ld hl, VermilionCityScriptPointers
ld a, [W_VERMILIONCITYCURSCRIPT]
jp CallFunctionInTable
-VermilionCityScript_Unknown197c0: ; 197c0 (6:57c0)
+VermilionCityScript_197c0: ; 197c0 (6:57c0)
call GenRandom
ld a, [$ff00+$d4]
and $e
ld [$d743], a
ret
-Function197cb: ; 197cb (6:57cb)
+VermilionCityScript_197cb: ; 197cb (6:57cb)
ld hl, $d803
bit 2, [hl]
ret z
@@ -37028,7 +37501,7 @@ Function197cb: ; 197cb (6:57cb)
ld [W_VERMILIONCITYCURSCRIPT], a
ret
-VermilionCityScripts: ; 197dc (6:57dc)
+VermilionCityScriptPointers: ; 197dc (6:57dc)
dw VermilionCityScript0
dw VermilionCityScript1
dw VermilionCityScript2
@@ -37039,7 +37512,7 @@ VermilionCityScript0: ; 197e6 (6:57e6)
ld a, [$c109]
and a
ret nz
- ld hl, Coords19823
+ ld hl, CoordsData_19823
call ArePlayerCoordsInArray
ret nc
xor a
@@ -37067,12 +37540,12 @@ VermilionCityScript0: ; 197e6 (6:57e6)
ld [W_VERMILIONCITYCURSCRIPT], a
ret
-Coords19823: ; 19823 (6:5823)
+CoordsData_19823: ; 19823 (6:5823)
db $1e,$12
db $ff
VermilionCityScript4: ; 19826 (6:5826)
- ld hl, Coords19823
+ ld hl, CoordsData_19823
call ArePlayerCoordsInArray
ret c
ld a, $0
@@ -37081,7 +37554,7 @@ VermilionCityScript4: ; 19826 (6:5826)
VermilionCityScript2: ; 19833 (6:5833)
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $40
ld [$ccd3], a
ld [$ccd4], a
@@ -37097,7 +37570,7 @@ VermilionCityScript3: ; 1984e (6:584e)
and a
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $0
ld [W_VERMILIONCITYCURSCRIPT], a
@@ -37113,8 +37586,20 @@ VermilionCityScript1: ; 1985f (6:585f)
ld [W_VERMILIONCITYCURSCRIPT], a
ret
-VermilionCityTexts: ; 1986f (6:586f)
- dw VermilionCityText1, VermilionCityText2, VermilionCityText3, VermilionCityText4, VermilionCityText5, VermilionCityText6, VermilionCityText7, VermilionCityText8, MartSignText, PokeCenterSignText, VermilionCityText11, VermilionCityText12, VermilionCityText13
+VermilionCityTextPointers: ; 1986f (6:586f)
+ dw VermilionCityText1
+ dw VermilionCityText2
+ dw VermilionCityText3
+ dw VermilionCityText4
+ dw VermilionCityText5
+ dw VermilionCityText6
+ dw VermilionCityText7
+ dw VermilionCityText8
+ dw MartSignText
+ dw PokeCenterSignText
+ dw VermilionCityText11
+ dw VermilionCityText12
+ dw VermilionCityText13
VermilionCityText1: ; 19889 (6:5889)
TX_FAR _VermilionCityText1
@@ -37256,8 +37741,25 @@ CeladonCityScript: ; 19956 (6:5956)
res 7, [hl]
ret
-CeladonCityTexts: ; 19966 (6:5966)
- dw CeladonCityText1, CeladonCityText2, CeladonCityText3, CeladonCityText4, CeladonCityText5, CeladonCityText6, CeladonCityText7, CeladonCityText8, CeladonCityText9, CeladonCityText10, CeladonCityText11, PokeCenterSignText, CeladonCityText13, CeladonCityText14, CeladonCityText15, CeladonCityText16, CeladonCityText17, CeladonCityText18
+CeladonCityTextPointers: ; 19966 (6:5966)
+ dw CeladonCityText1
+ dw CeladonCityText2
+ dw CeladonCityText3
+ dw CeladonCityText4
+ dw CeladonCityText5
+ dw CeladonCityText6
+ dw CeladonCityText7
+ dw CeladonCityText8
+ dw CeladonCityText9
+ dw CeladonCityText10
+ dw CeladonCityText11
+ dw PokeCenterSignText
+ dw CeladonCityText13
+ dw CeladonCityText14
+ dw CeladonCityText15
+ dw CeladonCityText16
+ dw CeladonCityText17
+ dw CeladonCityText18
CeladonCityText1: ; 1998a (6:598a)
TX_FAR _CeladonCityText1
@@ -37370,8 +37872,31 @@ CeladonCityText18: ; 19a26 (6:5a26)
FuchsiaCityScript: ; 19a2b (6:5a2b)
jp EnableAutoTextBoxDrawing
-FuchsiaCityTexts: ; 19a2e (6:5a2e)
- dw FuchsiaCityText1, FuchsiaCityText2, FuchsiaCityText3, FuchsiaCityText4, FuchsiaCityText5, FuchsiaCityText6, FuchsiaCityText7, FuchsiaCityText8, FuchsiaCityText9, FuchsiaCityText10, FuchsiaCityText11, FuchsiaCityText12, FuchsiaCityText13, MartSignText, PokeCenterSignText, FuchsiaCityText16, FuchsiaCityText17, FuchsiaCityText18, FuchsiaCityText19, FuchsiaCityText20, FuchsiaCityText21, FuchsiaCityText22, FuchsiaCityText23, FuchsiaCityText24
+FuchsiaCityTextPointers: ; 19a2e (6:5a2e)
+ dw FuchsiaCityText1
+ dw FuchsiaCityText2
+ dw FuchsiaCityText3
+ dw FuchsiaCityText4
+ dw FuchsiaCityText5
+ dw FuchsiaCityText6
+ dw FuchsiaCityText7
+ dw FuchsiaCityText8
+ dw FuchsiaCityText9
+ dw FuchsiaCityText10
+ dw FuchsiaCityText11
+ dw FuchsiaCityText12
+ dw FuchsiaCityText13
+ dw MartSignText
+ dw PokeCenterSignText
+ dw FuchsiaCityText16
+ dw FuchsiaCityText17
+ dw FuchsiaCityText18
+ dw FuchsiaCityText19
+ dw FuchsiaCityText20
+ dw FuchsiaCityText21
+ dw FuchsiaCityText22
+ dw FuchsiaCityText23
+ dw FuchsiaCityText24
FuchsiaCityText1: ; 19a5e (6:5a5e)
TX_FAR _FuchsiaCityText1
@@ -37518,7 +38043,7 @@ UnnamedText_19b2a: ; 19b2a (6:5b2a)
BluesHouse_h: ; 0x19b2f id=39
db $08 ; tileset
db BLUES_HOUSE_HEIGHT, BLUES_HOUSE_WIDTH ; dimensions
- dw BluesHouseBlocks, BluesHouseTexts, BluesHouseScript
+ dw BluesHouseBlocks, BluesHouseTextPointers, BluesHouseScript
db 0
dw BluesHouseObject
@@ -37529,9 +38054,10 @@ BluesHouseScript: ; 19b3b (6:5b3b)
jp CallFunctionInTable
BluesHouseScriptPointers: ; 19b47 (6:5b47)
- dw BluesHouseScript1,BluesHouseScript2
+ dw BluesHouseScript0
+ dw BluesHouseScript1
-BluesHouseScript1: ; 19b4b (6:5b4b)
+BluesHouseScript0: ; 19b4b (6:5b4b)
ld hl,$D74A
set 1,[hl]
@@ -37540,11 +38066,13 @@ BluesHouseScript1: ; 19b4b (6:5b4b)
ld [W_BLUESHOUSECURSCRIPT],a
ret
-BluesHouseScript2: ; 19b56 (6:5b56)
+BluesHouseScript1: ; 19b56 (6:5b56)
ret
-BluesHouseTexts: ; 19b57 (6:5b57)
- dw BluesHouseText1,BluesHouseText2,BluesHouseText3
+BluesHouseTextPointers: ; 19b57 (6:5b57)
+ dw BluesHouseText1
+ dw BluesHouseText2
+ dw BluesHouseText3
BluesHouseText1: ; 19b5d (6:5b5d)
db 8
@@ -37637,7 +38165,7 @@ BluesHouseBlocks: ; 19bf6 (6:5bf6)
VermilionHouse3_h: ; 0x19c06 to 0x19c12 (12 bytes) (bank=6) (id=196)
db $08 ; tileset
db VERMILION_HOUSE_3_HEIGHT, VERMILION_HOUSE_3_WIDTH ; dimensions (y, x)
- dw VermilionHouse3Blocks, VermilionHouse3Texts, VermilionHouse3Script ; blocks, texts, scripts
+ dw VermilionHouse3Blocks, VermilionHouse3TextPointers, VermilionHouse3Script ; blocks, texts, scripts
db $00 ; connections
dw VermilionHouse3Object ; objects
@@ -37645,13 +38173,13 @@ VermilionHouse3_h: ; 0x19c06 to 0x19c12 (12 bytes) (bank=6) (id=196)
VermilionHouse3Script: ; 19c12 (6:5c12)
jp EnableAutoTextBoxDrawing
-VermilionHouse3Texts: ; 19c15 (6:5c15)
+VermilionHouse3TextPointers: ; 19c15 (6:5c15)
dw VermilionHouse3Text1
VermilionHouse3Text1: ; 19c17 (6:5c17)
db $08 ; asm
ld a, $4
- ld [W_WHICHTRADE], a
+ ld [wWhichTrade], a
ld a, $54
call Predef
jp TextScriptEnd
@@ -37678,7 +38206,7 @@ VermilionHouse3Blocks: ; 19c3f (6:5c3f)
IndigoPlateauLobby_h: ; 0x19c4f to 0x19c5b (12 bytes) (bank=6) (id=174)
db $02 ; tileset
db INDIGO_PLATEAU_LOBBY_HEIGHT, INDIGO_PLATEAU_LOBBY_WIDTH ; dimensions (y, x)
- dw IndigoPlateauLobbyBlocks, IndigoPlateauLobbyTexts, IndigoPlateauLobbyScript ; blocks, texts, scripts
+ dw IndigoPlateauLobbyBlocks, IndigoPlateauLobbyTextPointers, IndigoPlateauLobbyScript ; blocks, texts, scripts
db $00 ; connections
dw IndigoPlateauLobbyObject ; objects
@@ -37704,8 +38232,12 @@ IndigoPlateauLobbyScript: ; 19c5b (6:5c5b)
ld [hl], a
ret
-IndigoPlateauLobbyTexts: ; 19c7f (6:5c7f)
- dw IndigoPlateauLobbyText1, IndigoPlateauLobbyText2, IndigoPlateauLobbyText3, IndigoPlateauLobbyText4, IndigoPlateauLobbyText5
+IndigoPlateauLobbyTextPointers: ; 19c7f (6:5c7f)
+ dw IndigoPlateauLobbyText1
+ dw IndigoPlateauLobbyText2
+ dw IndigoPlateauLobbyText3
+ dw IndigoPlateauLobbyText4
+ dw IndigoPlateauLobbyText5
IndigoPlateauLobbyText1: ; 19c89 (6:5c89)
db $ff
@@ -37749,13 +38281,13 @@ IndigoPlateauLobbyBlocks: ; 19ccf (6:5ccf)
SilphCo4_h: ; 0x19cff to 0x19d0b (12 bytes) (bank=6) (id=209)
db $16 ; tileset
db SILPH_CO_4F_HEIGHT, SILPH_CO_4F_WIDTH ; dimensions (y, x)
- dw SilphCo4Blocks, SilphCo4Texts, SilphCo4Script ; blocks, texts, scripts
+ dw SilphCo4Blocks, SilphCo4TextPointers, SilphCo4Script ; blocks, texts, scripts
db $00 ; connections
dw SilphCo4Object ; objects
SilphCo4Script: ; 19d0b (6:5d0b)
- call SilphCo4Script_Unknown19d21
+ call SilphCo4Script_19d21
call EnableAutoTextBoxDrawing
ld hl, SilphCo4TrainerHeaders
ld de, SilphCo4ScriptPointers
@@ -37764,14 +38296,14 @@ SilphCo4Script: ; 19d0b (6:5d0b)
ld [W_SILPHCO4CURSCRIPT], a
ret
-SilphCo4Script_Unknown19d21: ; 19d21 (6:5d21)
+SilphCo4Script_19d21: ; 19d21 (6:5d21)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld hl, SilphCo4Data19d58
- call SilphCo4Function19d5d
- call SilphCo4Function19d89
+ call SilphCo4Script_19d5d
+ call SilphCo4Script_19d89
ld a, [$d82a]
bit 0, a
jr nz, .asm_19d48
@@ -37794,7 +38326,7 @@ SilphCo4Script_Unknown19d21: ; 19d21 (6:5d21)
SilphCo4Data19d58: ; 19d58 (6:5d58)
db $06, $02, $04, $06, $ff
-SilphCo4Function19d5d: ; 19d5d (6:5d5d)
+SilphCo4Script_19d5d: ; 19d5d (6:5d5d)
push hl
ld hl, $d73f
ld a, [hli]
@@ -37830,7 +38362,7 @@ SilphCo4Function19d5d: ; 19d5d (6:5d5d)
ld [$ff00+$e0], a
ret
-SilphCo4Function19d89: ; 19d89 (6:5d89)
+SilphCo4Script_19d89: ; 19d89 (6:5d89)
ld hl, $d82a
ld a, [$ff00+$e0]
and a
@@ -37848,8 +38380,14 @@ SilphCo4ScriptPointers: ; 19d9a (6:5d9a)
dw Func_324c
dw EndTrainerBattle
-SilphCo4Texts: ; 19da0 (6:5da0)
- dw SilphCo4Text1, SilphCo4Text2, SilphCo4Text3, SilphCo4Text4, Predef5CText, Predef5CText, Predef5CText
+SilphCo4TextPointers: ; 19da0 (6:5da0)
+ dw SilphCo4Text1
+ dw SilphCo4Text2
+ dw SilphCo4Text3
+ dw SilphCo4Text4
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
SilphCo4TrainerHeaders: ; 19dae (6:5dae)
SilphCo4TrainerHeader0: ; 19dae (6:5dae)
@@ -37879,13 +38417,13 @@ SilphCo4TrainerHeader3: ; 19dc6 (6:5dc6)
dw SilphCo4EndBattleText4 ; 0x5e2b TextEndBattle
dw SilphCo4EndBattleText4 ; 0x5e2b TextEndBattle
-db $ff
+ db $ff
SilphCo4Text1: ; 19dd3 (6:5dd3)
db $08 ; asm
ld hl, UnnamedText_19de0 ; $5de0
ld de, UnnamedText_19de5 ; $5de5
- call Unnamed_622f
+ call SilphCo6Script_1a22f
jp TextScriptEnd
UnnamedText_19de0: ; 19de0 (6:5de0)
@@ -37988,13 +38526,13 @@ SilphCo4Blocks: ; 19ea4 (6:5ea4)
SilphCo5_h: ; 0x19f2b to 0x19f37 (12 bytes) (bank=6) (id=210)
db $16 ; tileset
db SILPH_CO_5F_HEIGHT, SILPH_CO_5F_WIDTH ; dimensions (y, x)
- dw SilphCo5Blocks, SilphCo5Texts, SilphCo5Script ; blocks, texts, scripts
+ dw SilphCo5Blocks, SilphCo5TextPointers, SilphCo5Script ; blocks, texts, scripts
db $00 ; connections
dw SilphCo5Object ; objects
SilphCo5Script: ; 19f37 (6:5f37)
- call Unnamed_19f4d
+ call SilphCo5Script_19f4d
call EnableAutoTextBoxDrawing
ld hl, SilphCo5TrainerHeaders
ld de, SilphCo5ScriptPointers
@@ -38003,14 +38541,14 @@ SilphCo5Script: ; 19f37 (6:5f37)
ld [W_SILPHCO5CURSCRIPT], a
ret
-Unnamed_19f4d: ; 19f4d (6:5f4d)
+SilphCo5Script_19f4d: ; 19f4d (6:5f4d)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld hl, SilphCo5Coords
- call SilphCo4Function19d5d
- call SilphCo5Function19f9e
+ call SilphCo4Script_19d5d
+ call SilphCo5Script_19f9e
ld a, [$d82c]
bit 0, a
jr nz, .asm_19f74 ; 0x19f63 $f
@@ -38043,7 +38581,7 @@ Unnamed_19f4d: ; 19f4d (6:5f4d)
SilphCo5Coords: ; 19f97 (6:5f97) ; coords?
db $02, $03, $06, $03, $05, $07, $ff
-SilphCo5Function19f9e: ; 19f9e (6:5f9e)
+SilphCo5Script_19f9e: ; 19f9e (6:5f9e)
ld hl, $d82c
ld a, [$ff00+$e0]
and a
@@ -38066,8 +38604,18 @@ SilphCo5ScriptPointers: ; 19fb6 (6:5fb6)
dw Func_324c
dw EndTrainerBattle
-SilphCo5Texts: ; 19fbc (6:5fbc)
- dw SilphCo5Text1, SilphCo5Text2, SilphCo5Text3, SilphCo5Text4, SilphCo5Text5, Predef5CText, Predef5CText, Predef5CText, SilphCo5Text9, SilphCo5Text10, SilphCo5Text11
+SilphCo5TextPointers: ; 19fbc (6:5fbc)
+ dw SilphCo5Text1
+ dw SilphCo5Text2
+ dw SilphCo5Text3
+ dw SilphCo5Text4
+ dw SilphCo5Text5
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw SilphCo5Text9
+ dw SilphCo5Text10
+ dw SilphCo5Text11
SilphCo5TrainerHeaders: ; 19fd2 (6:5fd2)
Silphco5TrainerHeader0: ; 19fd2 (6:5fd2)
@@ -38106,13 +38654,13 @@ Silphco5TrainerHeader4: ; 19ff6 (6:5ff6)
dw SilphCo5EndBattleText5 ; 0x6074 TextEndBattle
dw SilphCo5EndBattleText5 ; 0x6074 TextEndBattle
-db $ff
+ db $ff
SilphCo5Text1: ; 1a003 (6:6003)
db $08 ; asm
ld hl, UnnamedText_1a010 ; $6010
ld de, UnnamedText_1a015 ; $6015
- call Unnamed_622f
+ call SilphCo6Script_1a22f
jp TextScriptEnd
UnnamedText_1a010: ; 1a010 (6:6010)
@@ -38249,13 +38797,13 @@ SilphCo5Blocks: ; 1a116 (6:6116)
SilphCo6_h: ; 0x1a19d to 0x1a1a9 (12 bytes) (bank=6) (id=211)
db $16 ; tileset
db SILPH_CO_6F_HEIGHT, SILPH_CO_6F_WIDTH ; dimensions (y, x)
- dw SilphCo6Blocks, SilphCo6Texts, SilphCo6Script ; blocks, texts, scripts
+ dw SilphCo6Blocks, SilphCo6TextPointers, SilphCo6Script ; blocks, texts, scripts
db $00 ; connections
dw SilphCo6Object ; objects
SilphCo6Script: ; 1a1a9 (6:61a9)
- call Unnamed_1a1bf
+ call SilphCo6Script_1a1bf
call EnableAutoTextBoxDrawing
ld hl, SilphCo6TrainerHeaders
ld de, SilphCo6ScriptPointers
@@ -38264,14 +38812,14 @@ SilphCo6Script: ; 1a1a9 (6:61a9)
ld [W_SILPHCO6CURSCRIPT], a
ret
-Unnamed_1a1bf: ; 1a1bf (6:61bf)
+SilphCo6Script_1a1bf: ; 1a1bf (6:61bf)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
ld hl, SilphCo6Coords1
- call SilphCo4Function19d5d
- call Unknown_1a1e6
+ call SilphCo4Script_19d5d
+ call SilphCo6Script_1a1e6
ld a, [$d82e]
bit 7, a
ret nz
@@ -38285,7 +38833,7 @@ SilphCo6Coords1: ; 1a1e3 (6:61e3)
db $06, $02
db $ff
-Unknown_1a1e6: ; 1a1e6 (6:61e6)
+SilphCo6Script_1a1e6: ; 1a1e6 (6:61e6)
ld a, [$ff00+$e0]
and a
ret z
@@ -38298,8 +38846,17 @@ SilphCo6ScriptPointers: ; 1a1f0 (6:61f0)
dw Func_324c
dw EndTrainerBattle
-SilphCo6Texts: ; 1a1f6 (6:61f6)
- dw SilphCo6Text1, SilphCo6Text2, SilphCo6Text3, SilphCo6Text4, SilphCo6Text5, SilphCo6Text6, SilphCo6Text7, SilphCo6Text8, Predef5CText, Predef5CText
+SilphCo6TextPointers: ; 1a1f6 (6:61f6)
+ dw SilphCo6Text1
+ dw SilphCo6Text2
+ dw SilphCo6Text3
+ dw SilphCo6Text4
+ dw SilphCo6Text5
+ dw SilphCo6Text6
+ dw SilphCo6Text7
+ dw SilphCo6Text8
+ dw Predef5CText
+ dw Predef5CText
SilphCo6TrainerHeaders: ; 1a20a (6:620a)
SilphCo6TrainerHeader0: ; 1a20a (6:620a)
@@ -38329,9 +38886,9 @@ SilphCo6TrainerHeader3: ; 1a222 (6:6222)
dw SilphCo6EndBattleText4 ; 0x62f1 TextEndBattle
dw SilphCo6EndBattleText4 ; 0x62f1 TextEndBattle
-db $ff
+ db $ff
-Unnamed_622f: ; 1a22f (6:622f)
+SilphCo6Script_1a22f: ; 1a22f (6:622f)
ld a, [$d838]
bit 7, a
jr nz, .asm_1a238 ; 0x1a234 $2
@@ -38346,7 +38903,7 @@ SilphCo6Text1: ; 1a23d (6:623d)
db $08 ; asm
ld hl, UnnamedText_1a24a
ld de, UnnamedText_1a24f
- call Unnamed_622f
+ call SilphCo6Script_1a22f
jp TextScriptEnd
UnnamedText_1a24a: ; 1a24a (6:624a)
@@ -38361,7 +38918,7 @@ SilphCo6Text2: ; 1a254 (6:6254)
db $08 ; asm
ld hl, UnnamedText_1a261
ld de, UnnamedText_1a266
- call Unnamed_622f
+ call SilphCo6Script_1a22f
jp TextScriptEnd
UnnamedText_1a261: ; 1a261 (6:6261)
@@ -38376,7 +38933,7 @@ SilphCo6Text3: ; 1a26b (6:626b)
db $08 ; asm
ld hl, UnnamedText_1a278
ld de, UnnamedText_1a27d
- call Unnamed_622f
+ call SilphCo6Script_1a22f
jp TextScriptEnd
UnnamedText_1a278: ; 1a278 (6:6278)
@@ -38391,7 +38948,7 @@ SilphCo6Text4: ; 1a282 (6:6282)
db $08 ; asm
ld hl, UnnamedText_1a28f
ld de, UnnamedText_1a294
- call Unnamed_622f
+ call SilphCo6Script_1a22f
jp TextScriptEnd
UnnamedText_1a28f: ; 1a28f (6:628f)
@@ -38406,7 +38963,7 @@ SilphCo6Text5: ; 1a299 (6:6299)
db $08 ; asm
ld hl, UnnamedText_1a2a6
ld de, UnnamedText_1a2ab
- call Unnamed_622f
+ call SilphCo6Script_1a22f
jp TextScriptEnd
UnnamedText_1a2a6: ; 1a2a6 (6:62a6)
@@ -38511,7 +39068,7 @@ Func_1a3e0: ; 1a3e0 (6:63e0)
call Func_1a609
jr nc, .asm_1a406
ld a, $fc
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d736
set 1, [hl]
ld a, $1
@@ -38551,7 +39108,7 @@ Func_1a41d: ; 1a41d (6:641d)
ld [$ccd3], a
ret
-Unknown_1a442: ; 1a442 (6:6442)
+PointerTable_1a442: ; 1a442 (6:6442)
dw Func_1a44c
dw Func_1a485
dw Func_1a4a1
@@ -38583,7 +39140,7 @@ Func_1a44c: ; 1a44c (6:644c)
ld hl, W_FLAGS_D733
set 1, [hl]
ld a, $fc
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ret
Func_1a485: ; 1a485 (6:6485)
@@ -38630,21 +39187,21 @@ Func_1a4a6: ; 1a4a6 (6:64a6)
ret
RLEList_1a4dc: ; 1a4dc (6:64dc)
-db $00, $05
-db $80, $01
-db $00, $05
-db $C0, $03
-db $40, $01
-db $E0, $01
-db $FF
+ db $00, $05
+ db $80, $01
+ db $00, $05
+ db $C0, $03
+ db $40, $01
+ db $E0, $01
+ db $FF
RLEList_1a4e9: ; 1a4e9 (6:64e9)
-db $40, $02
-db $10, $03
-db $80, $05
-db $20, $01
-db $80, $06
-db $FF
+ db $40, $02
+ db $10, $03
+ db $80, $05
+ db $20, $01
+ db $80, $06
+ db $FF
Func_1a4f4: ; 1a4f4 (6:64f4)
ld a, [$cd38]
@@ -38660,7 +39217,7 @@ Func_1a4f4: ; 1a4f4 (6:64f4)
res 7, [hl]
jp Func_314e
-Unknown_1a510: ; 1a510 (6:6510)
+PointerTable_1a510: ; 1a510 (6:6510)
dw Func_1a514
dw Func_1a56b
@@ -38694,18 +39251,18 @@ Func_1a514: ; 1a514 (6:6514)
ret
RLEList_1a559: ; 1a559 (6:6559)
-db $00, $01
-db $40, $03
-db $20, $0D
-db $40, $06
-db $FF
+ db $00, $01
+ db $40, $03
+ db $20, $0D
+ db $40, $06
+ db $FF
RLEList_1a562: ; 1a562 (6:6562)
-db $40, $06
-db $80, $0D
-db $40, $03
-db $80, $01
-db $FF
+ db $40, $06
+ db $80, $0D
+ db $40, $03
+ db $80, $01
+ db $FF
Func_1a56b: ; 1a56b (6:656b)
ld a, [$cd38]
@@ -38717,7 +39274,7 @@ Func_1a56b: ; 1a56b (6:656b)
res 7, [hl]
jp Func_314e
-Unknown_1a57d: ; 1a57d (6:657d)
+PointerTable_1a57d: ; 1a57d (6:657d)
dw Func_1a581
dw Func_1a56b
@@ -38754,48 +39311,52 @@ Func_1a581: ; 1a581 (6:6581)
ret
RLEList_1a5cd: ; 1a5cd (6:65cd)
-db $00, $01
-db $10, $02
-db $80, $05
-db $20, $0B
-db $40, $05
-db $20, $0F
-db $FF
+ db $00, $01
+ db $10, $02
+ db $80, $05
+ db $20, $0B
+ db $40, $05
+ db $20, $0F
+ db $FF
RLEList_1a5da: ; 1a5da (6:65da)
-db $00, $02
-db $80, $0F
-db $40, $05
-db $80, $0B
-db $00, $05
-db $C0, $03
-db $FF
+ db $00, $02
+ db $80, $0F
+ db $40, $05
+ db $80, $0B
+ db $00, $05
+ db $C0, $03
+ db $FF
+; XXX why would this function want to return on POKEMONTOWER_7?
Func_1a5e7: ; 1a5e7 (6:65e7)
ld a, [W_CURMAP] ; $d35e
- cp $94
+ cp POKEMONTOWER_7
ret z
- ld hl, Unknown_1a605 ; $6605
- ld a, [W_ENGAGEDTRAINERCLASS]
+ ld hl, RivalIDs ; $6605
+ ld a, [wEngagedTrainerClass]
ld b, a
-.asm_1a5f4
+.loop
ld a, [hli]
cp $ff
- jr z, .asm_1a5fd
+ jr z, .notRival
cp b
ret z
- jr .asm_1a5f4
-.asm_1a5fd
+ jr .loop
+.notRival
ld a, [$cf13]
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
jp SetSpriteMovementBytesToFF
-Unknown_1a605: ; 1a605 (6:6605)
-INCBIN "baserom.gbc",$1a605,$1a609 - $1a605
+RivalIDs: ; 1a605 (6:6605)
+ db SONY1 + $c8
+ db SONY2 + $c8
+ db SONY3 + $c8
+ db $ff
Func_1a609: ; 1a609 (6:6609)
push de
- ld hl, Unknown_1a62c ; $662c
+ ld hl, DoorTileIDPointers ; $662c
ld a, [W_CURMAPTILESET] ; $d367
ld de, $3
call IsInArray
@@ -38820,8 +39381,67 @@ Func_1a609: ; 1a609 (6:6609)
and a
ret
-Unknown_1a62c: ; 1a62c (6:662c)
-INCBIN "baserom.gbc",$1a62c,$1a672 - $1a62c
+DoorTileIDPointers: ; 1a62c (6:662c)
+ db $00
+ dw Tileset00DoorTileIDs
+ db $03
+ dw Tileset03DoorTileIDs
+ db $02
+ dw Tileset02DoorTileIDs
+ db $08
+ dw Tileset08DoorTileIDs
+ db $09
+ dw TilesetMuseumDoorTileIDs
+ db $0a
+ dw TilesetMuseumDoorTileIDs
+ db $0c
+ dw TilesetMuseumDoorTileIDs
+ db $0d
+ dw Tileset0DDoorTileIDs
+ db $12
+ dw Tileset12DoorTileIDs
+ db $13
+ dw Tileset13DoorTileIDs
+ db $14
+ dw Tileset14DoorTileIDs
+ db $16
+ dw Tileset16DoorTileIDs
+ db $17
+ dw UnknownTilesetData1a66f
+ db $ff
+
+Tileset00DoorTileIDs: ; 1a654 (6:6654)
+ db $1B,$58,$00
+
+Tileset03DoorTileIDs: ; 1a657 (6:6657)
+ db $3a,$00
+
+Tileset02DoorTileIDs: ; 1a659 (6:6659)
+ db $5e,$00
+
+Tileset08DoorTileIDs: ; 1a65b (6:665b)
+ db $54,$00
+
+TilesetMuseumDoorTileIDs: ; 1a65d (6:665d)
+ db $3b,$00
+
+Tileset0DDoorTileIDs: ; 1a65f (6:665f)
+ db $1e,$00
+
+Tileset12DoorTileIDs: ; 1a661 (6:6661)
+ db $1c,$38,$1a,$00
+
+Tileset13DoorTileIDs: ; 1a665 (6:6665)
+ db $1a,$1c,$53,$00
+
+Tileset14DoorTileIDs: ; 1a669 (6:6669)
+ db $34,$00
+
+Tileset16DoorTileIDs: ; 1a66b (6:666b)
+ db $43,$58,$1b,$00
+
+UnknownTilesetData1a66f: ; 1a66f (6:666f)
+ db $3b,$1b,$00
Func_1a672: ; 1a672 (6:6672)
ld a, [$d736]
@@ -38839,7 +39459,7 @@ Func_1a672: ; 1a672 (6:6672)
ld c, a
ld a, [$cfc6]
ld d, a
- ld hl, Unknown_1a6cf ; $66cf
+ ld hl, DataTable_1a6cf ; $66cf
.asm_1a691
ld a, [hli]
cp $ff
@@ -38867,7 +39487,7 @@ Func_1a672: ; 1a672 (6:6672)
and e
ret z
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d736
set 6, [hl]
call Func_3486
@@ -38881,8 +39501,16 @@ Func_1a672: ; 1a672 (6:6672)
call PlaySound
ret
-Unknown_1a6cf: ; 1a6cf (6:66cf)
-INCBIN "baserom.gbc",$1a6cf,$1a6f0 - $1a6cf
+DataTable_1a6cf: ; 1a6cf (6:66cf)
+ db $00,$2C,$37,$80
+ db $00,$39,$36,$80
+ db $00,$39,$37,$80
+ db $08,$2C,$27,$20
+ db $08,$39,$27,$20
+ db $0C,$2C,$0D,$10
+ db $0C,$2C,$1D,$10
+ db $0C,$39,$0D,$10
+ db $FF
Func_1a6f0: ; 1a6f0 (6:66f0)
ld hl, $8ff0
@@ -38891,22 +39519,23 @@ Func_1a6f0: ; 1a6f0 (6:66f0)
call CopyVideoDataDouble
ld a, $9
ld bc, $5448
- ld de, Unknown_1a710 ; $6710
+ ld de, LedgeHoppingShadowOAM ; $6710
call WriteOAMBlock
ret
LedgeHoppingShadow: ; 1a708 (6:6708)
INCBIN "gfx/ledge_hopping_shadow.1bpp"
-Unknown_1a710: ; 1a710 (6:6710)
-INCBIN "baserom.gbc",$1a710,$1a718 - $1a710
+LedgeHoppingShadowOAM: ; 1a710 (6:6710)
+ db $FF,$10,$FF,$20
+ db $FF,$40,$FF,$60
SECTION "bank7",ROMX,BANK[$7]
CinnabarIsland_h: ; 0x1c000 to 0x1c022 (34 bytes) (bank=7) (id=8)
db $00 ; tileset
db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; dimensions (y, x)
- dw CinnabarIslandBlocks, CinnabarIslandTexts, CinnabarIslandScript ; blocks, texts, scripts
+ dw CinnabarIslandBlocks, CinnabarIslandTextPointers, CinnabarIslandScript ; blocks, texts, scripts
db NORTH | EAST ; connections
; connections data
@@ -38963,7 +39592,7 @@ CinnabarIslandBlocks: ; 1c069 (7:4069)
Route1_h: ; 0x1c0c3 to 0x1c0e5 (34 bytes) (bank=7) (id=12)
db $00 ; tileset
db ROUTE_1_HEIGHT, ROUTE_1_WIDTH ; dimensions (y, x)
- dw Route1Blocks, Route1Texts, Route1Script ; blocks, texts, scripts
+ dw Route1Blocks, Route1TextPointers, Route1Script ; blocks, texts, scripts
db NORTH | SOUTH ; connections
; connections data
@@ -39241,7 +39870,7 @@ Func_1c98a: ; 1c98a (7:498a)
ld a, $14
ld [$d125], a
call DisplayTextBoxID
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
jp z, InitGame
ld b, BANK(Func_73b6a)
@@ -39261,23 +39890,23 @@ Func_1c9c6: ; 1c9c6 (7:49c6)
ld [$cf8b], a
ld a, h
ld [$cf8c], a
- ld a, [W_LISTSCROLLOFFSET] ; $cc36
+ ld a, [wListScrollOffset] ; $cc36
push af
xor a
- ld [W_CURMENUITEMID], a ; $cc26
- ld [W_LISTSCROLLOFFSET], a ; $cc36
+ ld [wCurrentMenuItem], a ; $cc26
+ ld [wListScrollOffset], a ; $cc36
ld [$cf93], a
ld a, $4
- ld [W_LISTMENUID], a ; $cf94
+ ld [wListMenuID], a ; $cf94
call DisplayListMenuID
pop bc
ld a, b
- ld [W_LISTSCROLLOFFSET], a ; $cc36
+ ld [wListScrollOffset], a ; $cc36
ret c
ld hl, $d126
set 7, [hl]
ld hl, $cc5b
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
add a
ld d, $0
ld e, a
@@ -39310,12 +39939,13 @@ CinnabarIslandScript: ; 1ca19 (7:4a19)
res 0, [hl]
ld hl, $d7a3
res 1, [hl]
- ld hl, CinnabarIslandScripts
+ ld hl, CinnabarIslandScriptPointers
ld a, [W_CINNABARISLANDCURSCRIPT]
jp CallFunctionInTable
-CinnabarIslandScripts: ; 1ca34 (7:4a34)
- dw CinnabarIslandScript0, CinnabarIslandScript1
+CinnabarIslandScriptPointers: ; 1ca34 (7:4a34)
+ dw CinnabarIslandScript0
+ dw CinnabarIslandScript1
CinnabarIslandScript0: ; 1ca38 (7:4a38)
ld b, $2b
@@ -39341,7 +39971,7 @@ CinnabarIslandScript0: ; 1ca38 (7:4a38)
call Func_3486
xor a
ld [$c109], a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $1
ld [W_CINNABARISLANDCURSCRIPT], a
ret
@@ -39355,8 +39985,15 @@ CinnabarIslandScript1: ; 1ca73 (7:4a73)
ld [W_CINNABARISLANDCURSCRIPT], a
ret
-CinnabarIslandTexts: ; 1ca81 (7:4a81)
- dw CinnabarIslandText1, CinnabarIslandText2, CinnabarIslandText3, MartSignText, PokeCenterSignText, CinnabarIslandText6, CinnabarIslandText7, CinnabarIslandText8
+CinnabarIslandTextPointers: ; 1ca81 (7:4a81)
+ dw CinnabarIslandText1
+ dw CinnabarIslandText2
+ dw CinnabarIslandText3
+ dw MartSignText
+ dw PokeCenterSignText
+ dw CinnabarIslandText6
+ dw CinnabarIslandText7
+ dw CinnabarIslandText8
CinnabarIslandText8: ; 1ca91 (7:4a91)
TX_FAR _CinnabarIslandText8
@@ -39385,8 +40022,10 @@ CinnabarIslandText7: ; 1caaa (7:4aaa)
Route1Script: ; 1caaf (7:4aaf)
jp EnableAutoTextBoxDrawing
-Route1Texts: ; 1cab2 (7:4ab2)
- dw Route1Text1, Route1Text2, Route1Text3
+Route1TextPointers: ; 1cab2 (7:4ab2)
+ dw Route1Text1
+ dw Route1Text2
+ dw Route1Text3
Route1Text1: ; 1cab8 (7:4ab8)
db $08 ; asm
@@ -39437,7 +40076,7 @@ Route1Text3: ; 1cafd (7:4afd)
OaksLab_h: ; 0x1cb02 to 0x1cb0e (12 bytes) (bank=7) (id=40)
db $05 ; tileset
db OAKS_LAB_HEIGHT, OAKS_LAB_WIDTH ; dimensions (y, x)
- dw OaksLabBlocks, OaksLabTexts, OaksLabScript ; blocks, texts, scripts
+ dw OaksLabBlocks, OaksLabTextPointers, OaksLabScript ; blocks, texts, scripts
db $00 ; connections
dw OaksLabObject ; objects
@@ -39450,12 +40089,30 @@ OaksLabScript: ; 1cb0e (7:4b0e)
ld [$cf0c], a
xor a
ld [$cc3c], a
- ld hl, OaksLabScripts
+ ld hl, OaksLabScriptPointers
ld a, [W_OAKSLABCURSCRIPT]
jp CallFunctionInTable
-OaksLabScripts: ; 1cb28 (7:4b28)
- dw OaksLabScript0, OaksLabScript1, OaksLabScript2, OaksLabScript3, OaksLabScript4, OaksLabScript5, OaksLabScript6, OaksLabScript7, OaksLabScript8, OaksLabScript9, OaksLabScript10, OaksLabScript11, OaksLabScript12, OaksLabScript13, OaksLabScript14, OaksLabScript15, OaksLabScript16, OaksLabScript17, OaksLabScript18
+OaksLabScriptPointers: ; 1cb28 (7:4b28)
+ dw OaksLabScript0
+ dw OaksLabScript1
+ dw OaksLabScript2
+ dw OaksLabScript3
+ dw OaksLabScript4
+ dw OaksLabScript5
+ dw OaksLabScript6
+ dw OaksLabScript7
+ dw OaksLabScript8
+ dw OaksLabScript9
+ dw OaksLabScript10
+ dw OaksLabScript11
+ dw OaksLabScript12
+ dw OaksLabScript13
+ dw OaksLabScript14
+ dw OaksLabScript15
+ dw OaksLabScript16
+ dw OaksLabScript17
+ dw OaksLabScript18
OaksLabScript0: ; 1cb4e (7:4b4e)
ld a, [$d74b]
@@ -39486,7 +40143,7 @@ OaksLabScript1: ; 1cb6e (7:4b6e)
ret
OakEntryMovement: ; 1cb7e (7:4b7e)
- db $40, $40, $40, $ff
+ db $40,$40,$40,$FF
OaksLabScript2: ; 1cb82 (7:4b82)
ld a, [$d730]
@@ -39555,7 +40212,7 @@ OaksLabScript4: ; 1cbd2 (7:4bd2)
OaksLabScript5: ; 1cbfd (7:4bfd)
ld a, $fc
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $11
ld [$ff00+$8c], a
call DisplayTextID
@@ -39574,7 +40231,7 @@ OaksLabScript5: ; 1cbfd (7:4bfd)
ld hl, $d74b
set 1, [hl]
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $6
ld [W_OAKSLABCURSCRIPT], a
@@ -39679,7 +40336,7 @@ OaksLabScript8: ; 1cc80 (7:4c80)
jr .asm_1ccf3 ; 0x1cced $4
.LeftBallMovement1
- db 0,$C0 ; not yet terminated!
+ db $00,$C0 ; not yet terminated!
.LeftBallMovement2
db $C0,$FF
@@ -39697,7 +40354,7 @@ OaksLabScript9: ; 1cd00 (7:4d00)
bit 0, a
ret nz
ld a, $fc
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $1
ld [$ff00+$8c], a
ld a, $4
@@ -39739,7 +40396,7 @@ OaksLabScript9: ; 1cd00 (7:4d00)
ld hl, $d74b
set 2, [hl]
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $a
ld [W_OAKSLABCURSCRIPT], a
@@ -39789,7 +40446,7 @@ OaksLabScript11: ; 1cdb9 (7:4db9)
ret nz
; define which team rival uses, and fight it
- ld a, SONY1 + 200
+ ld a, SONY1 + $C8
ld [W_CUROPPONENT], a
ld a, [W_RIVALSTARTER]
cp SQUIRTLE
@@ -39815,17 +40472,16 @@ OaksLabScript11: ; 1cdb9 (7:4db9)
set 6, [hl]
set 7, [hl]
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $8
ld [$d528], a
-
ld a, $c
ld [W_OAKSLABCURSCRIPT], a
ret
OaksLabScript12: ; 1ce03 (7:4e03)
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $8
ld [$d528], a
call UpdateSprites
@@ -39875,7 +40531,7 @@ OaksLabScript13: ; 1ce32 (7:4e32)
ret
.RivalExitMovement
- db $E0,0,0,0,0,0,$FF
+ db $E0,$00,$00,$00,$00,$00,$FF
OaksLabScript14: ; 1ce6d (7:4e6d)
ld a, [$d730]
@@ -39886,7 +40542,7 @@ OaksLabScript14: ; 1ce6d (7:4e6d)
ld a, $11
call Predef
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
call Func_2307 ; reset to map music
ld a, $12
ld [W_OAKSLABCURSCRIPT], a
@@ -39926,7 +40582,7 @@ OaksLabScript15: ; 1ceb0 (7:4eb0)
ld a, $15
ld [$ff00+$8c], a
call DisplayTextID
- call Unknown_1d02b
+ call OaksLabScript_1d02b
ld a, $2a
ld [$cc4d], a
ld a, $15
@@ -39948,7 +40604,7 @@ OaksLabScript15: ; 1ceb0 (7:4eb0)
ld [W_OAKSLABCURSCRIPT], a
ret
-Function1CEFD ; 0x1cefd
+OaksLabScript_1cefd ; 1cefd (7:4efd)
ld a, $1
ld [$ff00+$8c], a
ld a, $4
@@ -39967,18 +40623,18 @@ OaksLabScript16: ; 1cf12 (7:4f12)
call EnableAutoTextBoxDrawing
call Func_2307
ld a, $fc
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
- call Function1CEFD
+ ld [wJoypadForbiddenButtonsMask], a
+ call OaksLabScript_1cefd
ld a, $16
ld [$ff00+$8c], a
call DisplayTextID
call DelayFrame
- call Function1CEFD
+ call OaksLabScript_1cefd
ld a, $17
ld [$ff00+$8c], a
call DisplayTextID
call DelayFrame
- call Function1CEFD
+ call OaksLabScript_1cefd
ld a, $18
ld [$ff00+$8c], a
call DisplayTextID
@@ -39995,7 +40651,7 @@ OaksLabScript16: ; 1cf12 (7:4f12)
ld [$cc4d], a
ld a, $11
call Predef
- call Function1CEFD
+ call OaksLabScript_1cefd
ld a, $1a
ld [$ff00+$8c], a
call DisplayTextID
@@ -40062,7 +40718,7 @@ OaksLabScript17: ; 1cfd4 (7:4fd4)
ld a, $5
ld [W_PALLETTOWNCURSCRIPT], a
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $12
ld [W_OAKSLABCURSCRIPT], a
@@ -40071,8 +40727,8 @@ OaksLabScript17: ; 1cfd4 (7:4fd4)
OaksLabScript18: ; 1d009 (7:5009)
ret
-Function1D00A: ; 1d00a (7:500a)
- ld hl, W_BAGITEM01
+OaksLabScript_1d00a: ; 1d00a (7:500a)
+ ld hl, wBagItems
ld bc, $0000
.asm_1d010
ld a, [hli]
@@ -40091,7 +40747,7 @@ Function1D00A: ; 1d00a (7:500a)
ld [$cf96], a
jp RemoveItemFromInventory
-Unknown_1d02b: ; 1d02b (7:502b)
+OaksLabScript_1d02b: ; 1d02b (7:502b)
ld a, $7c
ld [$ff00+$eb], a
ld a, $8
@@ -40133,15 +40789,52 @@ Unknown_1d02b: ; 1d02b (7:502b)
ret
Unknown_1d076: ; 1d076 (7:5076)
- ld hl, OaksLabTexts + $36 ; $50b8 ; starts at OaksLabText28
+ ld hl, OaksLabTextPointers + $36 ; $50b8 ; starts at OaksLabText28
ld a, l
ld [W_MAPTEXTPTR], a
ld a, h
ld [W_MAPTEXTPTR+1], a
ret
-OaksLabTexts: ; 1d082 (7:5082)
- dw OaksLabText1, OaksLabText2, OaksLabText3, OaksLabText4, OaksLabText5, OaksLabText6, OaksLabText7, OaksLabText8, OaksLabText9, OaksLabText10, OaksLabText11, OaksLabText12, OaksLabText13, OaksLabText14, OaksLabText15, OaksLabText16, OaksLabText17, OaksLabText18, OaksLabText19, OaksLabText20, OaksLabText21, OaksLabText22, OaksLabText23, OaksLabText24, OaksLabText25, OaksLabText26, OaksLabText27, OaksLabText28, OaksLabText29, OaksLabText30, OaksLabText31, OaksLabText32, OaksLabText33, OaksLabText34, OaksLabText35, OaksLabText36, OaksLabText37, OaksLabText38
+OaksLabTextPointers: ; 1d082 (7:5082)
+ dw OaksLabText1
+ dw OaksLabText2
+ dw OaksLabText3
+ dw OaksLabText4
+ dw OaksLabText5
+ dw OaksLabText6
+ dw OaksLabText7
+ dw OaksLabText8
+ dw OaksLabText9
+ dw OaksLabText10
+ dw OaksLabText11
+ dw OaksLabText12
+ dw OaksLabText13
+ dw OaksLabText14
+ dw OaksLabText15
+ dw OaksLabText16
+ dw OaksLabText17
+ dw OaksLabText18
+ dw OaksLabText19
+ dw OaksLabText20
+ dw OaksLabText21
+ dw OaksLabText22
+ dw OaksLabText23
+ dw OaksLabText24
+ dw OaksLabText25
+ dw OaksLabText26
+ dw OaksLabText27
+ dw OaksLabText28
+ dw OaksLabText29
+ dw OaksLabText30
+ dw OaksLabText31
+ dw OaksLabText32
+ dw OaksLabText33
+ dw OaksLabText34
+ dw OaksLabText35
+ dw OaksLabText36
+ dw OaksLabText37
+ dw OaksLabText38
OaksLabText28: ; 1d0ce (7:50ce)
OaksLabText1: ; 1d0ce (7:50ce)
@@ -40321,7 +41014,7 @@ asm_1d1e5: ; 1d1e5 (7:51e5)
ld hl, $d72e
set 3, [hl]
ld a, $fc
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $8
ld [W_OAKSLABCURSCRIPT], a
OaksLabMonChoiceEnd: ; 1d21f (7:521f)
@@ -40405,7 +41098,7 @@ OaksLabText5: ; 1d248 (7:5248)
.asm_a8fcf ; 0x1d2b8
ld hl, OaksLabDeliverParcelText
call PrintText
- call Function1D00A
+ call OaksLabScript_1d00a
ld a, $f
ld [W_OAKSLABCURSCRIPT], a
jr .asm_0f042 ; 0x1d2c6
@@ -40662,26 +41355,26 @@ OaksLabObject: ; 0x1d40a (size=88)
ViridianMart_h: ; 0x1d462 to 0x1d46e (12 bytes) (bank=7) (id=42)
db $02 ; tileset
db VIRIDIAN_MART_HEIGHT, VIRIDIAN_MART_WIDTH ; dimensions (y, x)
- dw ViridianMartBlocks, ViridianMartTexts, ViridianMartScript ; blocks, texts, scripts
+ dw ViridianMartBlocks, ViridianMartTextPointers, ViridianMartScript ; blocks, texts, scripts
db $00 ; connections
dw ViridianMartObject ; objects
ViridianMartScript: ; 1d46e (7:546e)
- call ViridianMartScript_Unknown1d47d
+ call ViridianMartScript_1d47d
call EnableAutoTextBoxDrawing
ld hl, ViridianMartScriptPointers
ld a, [W_VIRIDIANMARKETCURSCRIPT]
jp CallFunctionInTable
-ViridianMartScript_Unknown1d47d: ; 1d47d (7:547d)
+ViridianMartScript_1d47d: ; 1d47d (7:547d)
ld a, [$d74e]
bit 0, a
jr nz, .asm_1d489 ; 0x1d482 $5
- ld hl, ViridianMartTexts ; $54e0
+ ld hl, ViridianMartTextPointers ; $54e0
jr .asm_1d48c ; 0x1d487 $3
.asm_1d489
- ld hl, ViridianMartTexts + $a ; $54ea ; starts at ViridianMartText6
+ ld hl, ViridianMartTextPointers + $a ; $54ea ; starts at ViridianMartText6
.asm_1d48c
ld a, l
ld [W_MAPTEXTPTR], a
@@ -40732,7 +41425,7 @@ ViridianMartScript1: ; 1d4c0 (7:54c0)
ViridianMartScript2: ; 1d4df (7:54df)
ret
-ViridianMartTexts: ; 1d4e0 (7:54e0)
+ViridianMartTextPointers: ; 1d4e0 (7:54e0)
dw ViridianMartText1
dw ViridianMartText2
dw ViridianMartText3
@@ -40787,7 +41480,7 @@ ViridianMartBlocks: ; 1d530 (7:5530)
School_h: ; 0x1d540 to 0x1d54c (12 bytes) (bank=7) (id=43)
db $08 ; tileset
db VIRIDIAN_SCHOOL_HEIGHT, VIRIDIAN_SCHOOL_WIDTH ; dimensions (y, x)
- dw SchoolBlocks, SchoolTexts, SchoolScript ; blocks, texts, scripts
+ dw SchoolBlocks, SchoolTextPointers, SchoolScript ; blocks, texts, scripts
db $00 ; connections
dw SchoolObject ; objects
@@ -40795,8 +41488,9 @@ School_h: ; 0x1d540 to 0x1d54c (12 bytes) (bank=7) (id=43)
SchoolScript: ; 1d54c (7:554c)
jp EnableAutoTextBoxDrawing
-SchoolTexts: ; 1d54f (7:554f)
- dw SchoolText1, SchoolText2
+SchoolTextPointers: ; 1d54f (7:554f)
+ dw SchoolText1
+ dw SchoolText2
SchoolText1: ; 1d553 (7:5553)
TX_FAR _SchoolText1
@@ -40826,18 +41520,21 @@ SchoolObject: ; 0x1d55d (size=32)
ViridianHouse_h: ; 0x1d57d to 0x1d589 (12 bytes) (bank=7) (id=44)
db $08 ; tileset
db VIRIDIAN_HOUSE_HEIGHT, VIRIDIAN_HOUSE_WIDTH ; dimensions (y, x)
- dw ViridianHouseBlocks, ViridianHouseTexts, ViridianHouseScript ; blocks, texts, scripts
+ dw ViridianHouseBlocks, ViridianHouseTextPointers, ViridianHouseScript ; blocks, texts, scripts
db $00 ; connections
dw ViridianHouseObject ; objects
-db $0
+ db $0
ViridianHouseScript: ; 1d58a (7:558a)
jp EnableAutoTextBoxDrawing
-ViridianHouseTexts: ; 1d58d (7:558d)
- dw ViridianHouseText1, ViridianHouseText2, ViridianHouseText3, ViridianHouseText4
+ViridianHouseTextPointers: ; 1d58d (7:558d)
+ dw ViridianHouseText1
+ dw ViridianHouseText2
+ dw ViridianHouseText3
+ dw ViridianHouseText4
ViridianHouseText1: ; 1d595 (7:5595)
TX_FAR _ViridianHouseText1
@@ -40886,7 +41583,7 @@ ViridianHouseObject: ; 0x1d5bb (size=44)
PewterHouse1_h: ; 0x1d5e7 to 0x1d5f3 (12 bytes) (bank=7) (id=55)
db $08 ; tileset
db PEWTER_HOUSE_1_HEIGHT, PEWTER_HOUSE_1_WIDTH ; dimensions (y, x)
- dw PewterHouse1Blocks, PewterHouse1Texts, PewterHouse1Script ; blocks, texts, scripts
+ dw PewterHouse1Blocks, PewterHouse1TextPointers, PewterHouse1Script ; blocks, texts, scripts
db $00 ; connections
dw PewterHouse1Object ; objects
@@ -40894,8 +41591,10 @@ PewterHouse1_h: ; 0x1d5e7 to 0x1d5f3 (12 bytes) (bank=7) (id=55)
PewterHouse1Script: ; 1d5f3 (7:55f3)
jp EnableAutoTextBoxDrawing
-PewterHouse1Texts: ; 1d5f6 (7:55f6)
- dw PewterHouse1Text1, PewterHouse1Text2, PewterHouse1Text3
+PewterHouse1TextPointers: ; 1d5f6 (7:55f6)
+ dw PewterHouse1Text1
+ dw PewterHouse1Text2
+ dw PewterHouse1Text3
PewterHouse1Text1: ; 1d5fc (7:55fc)
TX_FAR _PewterHouse1Text1
@@ -40934,7 +41633,7 @@ PewterHouse1Object: ; 0x1d616 (size=38)
PewterHouse2_h: ; 0x1d63c to 0x1d648 (12 bytes) (bank=7) (id=57)
db $08 ; tileset
db PEWTER_HOUSE_2_HEIGHT, PEWTER_HOUSE_2_WIDTH ; dimensions (y, x)
- dw PewterHouse2Blocks, PewterHouse2Texts, PewterHouse2Script ; blocks, texts, scripts
+ dw PewterHouse2Blocks, PewterHouse2TextPointers, PewterHouse2Script ; blocks, texts, scripts
db $00 ; connections
dw PewterHouse2Object ; objects
@@ -40942,8 +41641,9 @@ PewterHouse2_h: ; 0x1d63c to 0x1d648 (12 bytes) (bank=7) (id=57)
PewterHouse2Script: ; 1d648 (7:5648)
jp EnableAutoTextBoxDrawing
-PewterHouse2Texts: ; 1d64b (7:564b)
- dw PewterHouse2Text1, PewterHouse2Text2
+PewterHouse2TextPointers: ; 1d64b (7:564b)
+ dw PewterHouse2Text1
+ dw PewterHouse2Text2
PewterHouse2Text1: ; 1d64f (7:564f)
TX_FAR _PewterHouse2Text1
@@ -40973,7 +41673,7 @@ PewterHouse2Object: ; 0x1d659 (size=32)
CeruleanHouseTrashed_h: ; 0x1d679 to 0x1d685 (12 bytes) (bank=7) (id=62)
db $08 ; tileset
db TRASHED_HOUSE_HEIGHT, TRASHED_HOUSE_WIDTH ; dimensions (y, x)
- dw CeruleanHouseTrashedBlocks, CeruleanHouseTrashedTexts, CeruleanHouseTrashedScript ; blocks, texts, scripts
+ dw CeruleanHouseTrashedBlocks, CeruleanHouseTrashedTextPointers, CeruleanHouseTrashedScript ; blocks, texts, scripts
db $00 ; connections
dw CeruleanHouseTrashedObject ; objects
@@ -40982,8 +41682,10 @@ CeruleanHouseTrashedScript: ; 1d685 (7:5685)
call EnableAutoTextBoxDrawing
ret
-CeruleanHouseTrashedTexts: ; 1d689 (7:5689)
- dw CeruleanHouseTrashedText1, CeruleanHouseTrashedText2, CeruleanHouseTrashedText3
+CeruleanHouseTrashedTextPointers: ; 1d689 (7:5689)
+ dw CeruleanHouseTrashedText1
+ dw CeruleanHouseTrashedText2
+ dw CeruleanHouseTrashedText3
CeruleanHouseTrashedText1: ; 1d68f (7:568f)
db $08 ; asm
@@ -41040,7 +41742,7 @@ CeruleanHouseTrashedObject: ; 0x1d6bf (size=43)
CeruleanHouse_h: ; 0x1d6ea to 0x1d6f6 (12 bytes) (bank=7) (id=63)
db $08 ; tileset
db CERULEAN_HOUSE_HEIGHT, CERULEAN_HOUSE_WIDTH ; dimensions (y, x)
- dw CeruleanHouseBlocks, CeruleanHouseTexts, CeruleanHouseScript ; blocks, texts, scripts
+ dw CeruleanHouseBlocks, CeruleanHouseTextPointers, CeruleanHouseScript ; blocks, texts, scripts
db $00 ; connections
dw CeruleanHouseObject ; objects
@@ -41048,8 +41750,9 @@ CeruleanHouse_h: ; 0x1d6ea to 0x1d6f6 (12 bytes) (bank=7) (id=63)
CeruleanHouseScript: ; 1d6f6 (7:56f6)
jp EnableAutoTextBoxDrawing
-CeruleanHouseTexts: ; 1d6f9 (7:56f9)
- dw CeruleanHouseText1, CeruleanHouseText2
+CeruleanHouseTextPointers: ; 1d6f9 (7:56f9)
+ dw CeruleanHouseText1
+ dw CeruleanHouseText2
CeruleanHouseText1: ; 1d6fd (7:56fd)
TX_FAR _CeruleanHouseText1
@@ -41058,7 +41761,7 @@ CeruleanHouseText1: ; 1d6fd (7:56fd)
CeruleanHouseText2: ; 1d702 (7:5702)
db $08 ; asm
ld a, $6
- ld [W_WHICHTRADE], a
+ ld [wWhichTrade], a
ld a, $54
call Predef
jp TextScriptEnd
@@ -41083,7 +41786,7 @@ CeruleanHouseObject: ; 0x1d710 (size=32)
BikeShop_h: ; 0x1d730 to 0x1d73c (12 bytes) (bank=7) (id=66)
db $15 ; tileset
db BIKE_SHOP_HEIGHT, BIKE_SHOP_WIDTH ; dimensions (y, x)
- dw BikeShopBlocks, BikeShopTexts, BikeShopScript ; blocks, texts, scripts
+ dw BikeShopBlocks, BikeShopTextPointers, BikeShopScript ; blocks, texts, scripts
db $00 ; connections
dw BikeShopObject ; objects
@@ -41091,8 +41794,10 @@ BikeShop_h: ; 0x1d730 to 0x1d73c (12 bytes) (bank=7) (id=66)
BikeShopScript: ; 1d73c (7:573c)
jp EnableAutoTextBoxDrawing
-BikeShopTexts: ; 1d73f (7:573f)
- dw BikeShopText1, BikeShopText2, BikeShopText3
+BikeShopTextPointers: ; 1d73f (7:573f)
+ dw BikeShopText1
+ dw BikeShopText2
+ dw BikeShopText3
BikeShopText1: ; 1d745 (7:5745)
db $08 ; asm
@@ -41141,7 +41846,7 @@ BikeShopText1: ; 1d745 (7:5745)
ld [$cc25], a
ld hl, $d730
set 6, [hl]
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld b, $4
ld c, $f
call TextBoxBorder
@@ -41264,7 +41969,7 @@ BikeShopBlocks: ; 1d88c (7:588c)
LavenderHouse1_h: ; 0x1d89c to 0x1d8a8 (12 bytes) (bank=7) (id=149)
db $08 ; tileset
db LAVENDER_HOUSE_1_HEIGHT, LAVENDER_HOUSE_1_WIDTH ; dimensions (y, x)
- dw LavenderHouse1Blocks, LavenderHouse1Texts, LavenderHouse1Script ; blocks, texts, scripts
+ dw LavenderHouse1Blocks, LavenderHouse1TextPointers, LavenderHouse1Script ; blocks, texts, scripts
db $00 ; connections
dw LavenderHouse1Object ; objects
@@ -41273,8 +41978,13 @@ LavenderHouse1Script: ; 1d8a8 (7:58a8)
call EnableAutoTextBoxDrawing
ret
-LavenderHouse1Texts: ; 1d8ac (7:58ac)
- dw LavenderHouse1Text1, LavenderHouse1Text2, LavenderHouse1Text3, LavenderHouse1Text4, LavenderHouse1Text5, LavenderHouse1Text6
+LavenderHouse1TextPointers: ; 1d8ac (7:58ac)
+ dw LavenderHouse1Text1
+ dw LavenderHouse1Text2
+ dw LavenderHouse1Text3
+ dw LavenderHouse1Text4
+ dw LavenderHouse1Text5
+ dw LavenderHouse1Text6
LavenderHouse1Text1: ; 1d8b8 (7:58b8)
db $08 ; asm
@@ -41405,7 +42115,7 @@ LavenderHouse1Object: ; 0x1d96a (size=56)
LavenderHouse2_h: ; 0x1d9a2 to 0x1d9ae (12 bytes) (bank=7) (id=151)
db $08 ; tileset
db LAVENDER_HOUSE_2_HEIGHT, LAVENDER_HOUSE_2_WIDTH ; dimensions (y, x)
- dw LavenderHouse2Blocks, LavenderHouse2Texts, LavenderHouse2Script ; blocks, texts, scripts
+ dw LavenderHouse2Blocks, LavenderHouse2TextPointers, LavenderHouse2Script ; blocks, texts, scripts
db $00 ; connections
dw LavenderHouse2Object ; objects
@@ -41414,8 +42124,9 @@ LavenderHouse2Script: ; 1d9ae (7:59ae)
call EnableAutoTextBoxDrawing
ret
-LavenderHouse2Texts: ; 1d9b2 (7:59b2)
- dw LavenderHouse2Text1, LavenderHouse2Text2
+LavenderHouse2TextPointers: ; 1d9b2 (7:59b2)
+ dw LavenderHouse2Text1
+ dw LavenderHouse2Text2
LavenderHouse2Text1: ; 1d9b6 (7:59b6)
TX_FAR _LavenderHouse2Text1
@@ -41466,7 +42177,7 @@ LavenderHouse2Object: ; 0x1d9e6 (size=32)
NameRater_h: ; 0x1da06 to 0x1da12 (12 bytes) (bank=7) (id=229)
db $08 ; tileset
db NAME_RATERS_HOUSE_HEIGHT, NAME_RATERS_HOUSE_WIDTH ; dimensions (y, x)
- dw NameRaterBlocks, NameRaterTexts, NameRaterScript ; blocks, texts, scripts
+ dw NameRaterBlocks, NameRaterTextPointers, NameRaterScript ; blocks, texts, scripts
db $00 ; connections
dw NameRaterObject ; objects
@@ -41474,14 +42185,14 @@ NameRater_h: ; 0x1da06 to 0x1da12 (12 bytes) (bank=7) (id=229)
NameRaterScript: ; 1da12 (7:5a12)
jp EnableAutoTextBoxDrawing
-Unknown_1da15: ; 1da15 (7:5a15)
+Func_1da15: ; 1da15 (7:5a15)
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
ret
-Unknown_1da20: ; 1da20 (7:5a20)
+Func_1da20: ; 1da20 (7:5a20)
ld hl, $d273
ld bc, $000b
ld a, [$cf92]
@@ -41510,14 +42221,14 @@ Unknown_1da20: ; 1da20 (7:5a20)
scf
ret
-NameRaterTexts: ; 1da54 (7:5a54)
+NameRaterTextPointers: ; 1da54 (7:5a54)
dw NameRaterText1
NameRaterText1: ; 1da56 (7:5a56)
db $8
call SaveScreenTilesToBuffer2
ld hl, UnnamedText_1dab3
- call Unknown_1da15
+ call Func_1da15
jr nz, .asm_1daae ; 0x1da60 $4c
ld hl, UnnamedText_1dab8
call PrintText
@@ -41533,11 +42244,11 @@ NameRaterText1: ; 1da56 (7:5a56)
pop af
jr c, .asm_1daae ; 0x1da80 $2c
call GetPartyMonName2
- call Unknown_1da20
+ call Func_1da20
ld hl, UnnamedText_1dad1
jr c, .asm_1daa8 ; 0x1da8b $1b
ld hl, UnnamedText_1dabd
- call Unknown_1da15
+ call Func_1da15
jr nz, .asm_1daae ; 0x1da93 $19
ld hl, UnnamedText_1dac2
call PrintText
@@ -41600,7 +42311,7 @@ NameRaterObject: ; 0x1dad6 (size=26)
VermilionHouse1_h: ; 0x1daf0 to 0x1dafc (12 bytes) (bank=7) (id=93)
db $08 ; tileset
db VERMILION_HOUSE_1_HEIGHT, VERMILION_HOUSE_1_WIDTH ; dimensions (y, x)
- dw VermilionHouse1Blocks, VermilionHouse1Texts, VermilionHouse1Script ; blocks, texts, scripts
+ dw VermilionHouse1Blocks, VermilionHouse1TextPointers, VermilionHouse1Script ; blocks, texts, scripts
db $00 ; connections
dw VermilionHouse1Object ; objects
@@ -41609,8 +42320,10 @@ VermilionHouse1Script: ; 1dafc (7:5afc)
call EnableAutoTextBoxDrawing
ret
-VermilionHouse1Texts: ; 1db00 (7:5b00)
- dw VermilionHouse1Text1, VermilionHouse1Text2, VermilionHouse1Text3
+VermilionHouse1TextPointers: ; 1db00 (7:5b00)
+ dw VermilionHouse1Text1
+ dw VermilionHouse1Text2
+ dw VermilionHouse1Text3
VermilionHouse1Text1: ; 1db06 (7:5b06)
TX_FAR _VermilionHouse1Text1
@@ -41649,7 +42362,7 @@ VermilionHouse1Object: ; 0x1db20 (size=38)
VermilionDock_h: ; 0x1db46 to 0x1db52 (12 bytes) (bank=7) (id=94)
db $0e ; tileset
db VERMILION_DOCK_HEIGHT, VERMILION_DOCK_WIDTH ; dimensions (y, x)
- dw VermilionDockBlocks, VermilionDockTexts, VermilionDockScript ; blocks, texts, scripts
+ dw VermilionDockBlocks, VermilionDockTextPointers, VermilionDockScript ; blocks, texts, scripts
db $00 ; connections
dw VermilionDockObject ; objects
@@ -41681,7 +42394,7 @@ VermilionDockScript: ; 1db52 (7:5b52)
ld [$c206], a
ld [$cd3b], a
dec a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ret
.asm_1db8d
bit 5, [hl]
@@ -41689,14 +42402,14 @@ VermilionDockScript: ; 1db52 (7:5b52)
ld a, [$cd38]
and a
ret nz
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
set 5, [hl]
ret
VermilionDock_1db9b: ; 1db9b (7:5b9b)
set 2, [hl]
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [$c0ee], a
call PlaySound
ld c, BANK(Music_Surfing)
@@ -41858,11 +42571,11 @@ VermilionDock_1dc94: ; 1dc94 (7:5c94)
call DelayFrames
ret
-VermilionDockTexts: ; 1dcbf (7:5cbf)
- db $c1, $5c
+VermilionDockTextPointers: ; 1dcbf (7:5cbf)
+ dw VermilionDockText1
-UnnamedText_1dcc1: ; 1dcc1 (7:5cc1)
- TX_FAR _UnnamedText_1dcc1
+VermilionDockText1: ; 1dcc1 (7:5cc1)
+ TX_FAR _VermilionDockText1
db "@"
VermilionDockObject: ; 0x1dcc6 (size=20)
@@ -41886,7 +42599,7 @@ VermilionDockBlocks: ; 1dcda (7:5cda)
CeladonMansion5_h: ; 0x1dd2e to 0x1dd3a (12 bytes) (bank=7) (id=132)
db $08 ; tileset
db CELADON_MANSION_5_HEIGHT, CELADON_MANSION_5_WIDTH ; dimensions (y, x)
- dw CeladonMansion5Blocks, CeladonMansion5Texts, CeladonMansion5Script ; blocks, texts, scripts
+ dw CeladonMansion5Blocks, CeladonMansion5TextPointers, CeladonMansion5Script ; blocks, texts, scripts
db $00 ; connections
dw CeladonMansion5Object ; objects
@@ -41894,8 +42607,9 @@ CeladonMansion5_h: ; 0x1dd2e to 0x1dd3a (12 bytes) (bank=7) (id=132)
CeladonMansion5Script: ; 1dd3a (7:5d3a)
jp EnableAutoTextBoxDrawing
-CeladonMansion5Texts: ; 1dd3d (7:5d3d)
- dw CeladonMansion5Text1, CeladonMansion5Text2
+CeladonMansion5TextPointers: ; 1dd3d (7:5d3d)
+ dw CeladonMansion5Text1
+ dw CeladonMansion5Text2
CeladonMansion5Text1: ; 1dd41 (7:5d41)
TX_FAR _CeladonMansion5Text1
@@ -41933,7 +42647,7 @@ CeladonMansion5Object: ; 0x1dd5c (size=32)
FuchsiaMart_h: ; 0x1dd7c to 0x1dd88 (12 bytes) (bank=7) (id=152)
db $02 ; tileset
db FUCHSIA_MART_HEIGHT, FUCHSIA_MART_WIDTH ; dimensions (y, x)
- dw FuchsiaMartBlocks, FuchsiaMartTexts, FuchsiaMartScript ; blocks, texts, scripts
+ dw FuchsiaMartBlocks, FuchsiaMartTextPointers, FuchsiaMartScript ; blocks, texts, scripts
db $00 ; connections
dw FuchsiaMartObject ; objects
@@ -41941,8 +42655,10 @@ FuchsiaMart_h: ; 0x1dd7c to 0x1dd88 (12 bytes) (bank=7) (id=152)
FuchsiaMartScript: ; 1dd88 (7:5d88)
jp EnableAutoTextBoxDrawing
-FuchsiaMartTexts: ; 1dd8b (7:5d8b)
- dw FuchsiaMartText1, FuchsiaMartText2, FuchsiaMartText3
+FuchsiaMartTextPointers: ; 1dd8b (7:5d8b)
+ dw FuchsiaMartText1
+ dw FuchsiaMartText2
+ dw FuchsiaMartText3
FuchsiaMartText2: ; 1dd91 (7:5d91)
TX_FAR _FuchsiaMartText2
@@ -41976,7 +42692,7 @@ FuchsiaMartBlocks: ; 1ddc1 (7:5dc1)
SaffronHouse1_h: ; 0x1ddd1 to 0x1dddd (12 bytes) (bank=7) (id=179)
db $08 ; tileset
db SAFFRON_HOUSE_1_HEIGHT, SAFFRON_HOUSE_1_WIDTH ; dimensions (y, x)
- dw SaffronHouse1Blocks, SaffronHouse1Texts, SaffronHouse1Script ; blocks, texts, scripts
+ dw SaffronHouse1Blocks, SaffronHouse1TextPointers, SaffronHouse1Script ; blocks, texts, scripts
db $00 ; connections
dw SaffronHouse1Object ; objects
@@ -41984,8 +42700,11 @@ SaffronHouse1_h: ; 0x1ddd1 to 0x1dddd (12 bytes) (bank=7) (id=179)
SaffronHouse1Script: ; 1dddd (7:5ddd)
jp EnableAutoTextBoxDrawing
-SaffronHouse1Texts: ; 1dde0 (7:5de0)
- dw SaffronHouse1Text1, SaffronHouse1Text2, SaffronHouse1Text3, SaffronHouse1Text4
+SaffronHouse1TextPointers: ; 1dde0 (7:5de0)
+ dw SaffronHouse1Text1
+ dw SaffronHouse1Text2
+ dw SaffronHouse1Text3
+ dw SaffronHouse1Text4
SaffronHouse1Text1: ; 1dde8 (7:5de8)
TX_FAR _SaffronHouse1Text1
@@ -42028,7 +42747,7 @@ SaffronHouse1Object: ; 0x1de04 (size=44)
SaffronHouse2_h: ; 0x1de30 to 0x1de3c (12 bytes) (bank=7) (id=183)
db $08 ; tileset
db SAFFRON_HOUSE_2_HEIGHT, SAFFRON_HOUSE_2_WIDTH ; dimensions (y, x)
- dw SaffronHouse2Blocks, SaffronHouse2Texts, SaffronHouse2Script ; blocks, texts, scripts
+ dw SaffronHouse2Blocks, SaffronHouse2TextPointers, SaffronHouse2Script ; blocks, texts, scripts
db $00 ; connections
dw SaffronHouse2Object ; objects
@@ -42036,7 +42755,7 @@ SaffronHouse2_h: ; 0x1de30 to 0x1de3c (12 bytes) (bank=7) (id=183)
SaffronHouse2Script: ; 1de3c (7:5e3c)
jp EnableAutoTextBoxDrawing
-SaffronHouse2Texts: ; 1de3f (7:5e3f)
+SaffronHouse2TextPointers: ; 1de3f (7:5e3f)
dw SaffronHouse2Text1
SaffronHouse2Text1: ; 1de41 (7:5e41)
@@ -42099,7 +42818,7 @@ SaffronHouse2Object: ; 0x1de8a (size=26)
DiglettsCaveRoute2_h: ; 0x1dea4 to 0x1deb0 (12 bytes) (bank=7) (id=46)
db $11 ; tileset
db DIGLETTS_CAVE_EXIT_HEIGHT, DIGLETTS_CAVE_EXIT_WIDTH ; dimensions (y, x)
- dw DiglettsCaveRoute2Blocks, DiglettsCaveRoute2Texts, DiglettsCaveRoute2Script ; blocks, texts, scripts
+ dw DiglettsCaveRoute2Blocks, DiglettsCaveRoute2TextPointers, DiglettsCaveRoute2Script ; blocks, texts, scripts
db $00 ; connections
dw DiglettsCaveRoute2Object ; objects
@@ -42109,7 +42828,7 @@ DiglettsCaveRoute2Script: ; 1deb0 (7:5eb0)
ld [$d365], a
jp EnableAutoTextBoxDrawing
-DiglettsCaveRoute2Texts: ; 1deb8 (7:5eb8)
+DiglettsCaveRoute2TextPointers: ; 1deb8 (7:5eb8)
dw DiglettsCaveRoute2Text1
DiglettsCaveRoute2Text1: ; 1deba (7:5eba)
@@ -42137,7 +42856,7 @@ DiglettsCaveRoute2Object: ; 0x1debf (size=34)
Route2House_h: ; 0x1dee1 to 0x1deed (12 bytes) (bank=7) (id=48)
db $08 ; tileset
db ROUTE_2_HOUSE_HEIGHT, ROUTE_2_HOUSE_WIDTH ; dimensions (y, x)
- dw Route2HouseBlocks, Route2HouseTexts, Route2HouseScript ; blocks, texts, scripts
+ dw Route2HouseBlocks, Route2HouseTextPointers, Route2HouseScript ; blocks, texts, scripts
db $00 ; connections
dw Route2HouseObject ; objects
@@ -42145,8 +42864,9 @@ Route2House_h: ; 0x1dee1 to 0x1deed (12 bytes) (bank=7) (id=48)
Route2HouseScript: ; 1deed (7:5eed)
jp EnableAutoTextBoxDrawing
-Route2HouseTexts: ; 1def0 (7:5ef0)
- dw Route2HouseText1, Route2HouseText2
+Route2HouseTextPointers: ; 1def0 (7:5ef0)
+ dw Route2HouseText1
+ dw Route2HouseText2
Route2HouseText1: ; 1def4 (7:5ef4)
TX_FAR _Route2HouseText1
@@ -42155,7 +42875,7 @@ Route2HouseText1: ; 1def4 (7:5ef4)
Route2HouseText2: ; 1def9 (7:5ef9)
db $08 ; asm
ld a, $1
- ld [W_WHICHTRADE], a
+ ld [wWhichTrade], a
ld a, $54
call Predef
jp TextScriptEnd
@@ -42180,7 +42900,7 @@ Route2HouseObject: ; 0x1df07 (size=32)
Route5Gate_h: ; 0x1df27 to 0x1df33 (12 bytes) (bank=7) (id=70)
db $0c ; tileset
db ROUTE_5_GATE_HEIGHT, ROUTE_5_GATE_WIDTH ; dimensions (y, x)
- dw Route5GateBlocks, Route5GateTexts, Route5GateScript ; blocks, texts, scripts
+ dw Route5GateBlocks, Route5GateTextPointers, Route5GateScript ; blocks, texts, scripts
db $00 ; connections
dw Route5GateObject ; objects
@@ -42188,14 +42908,14 @@ Route5Gate_h: ; 0x1df27 to 0x1df33 (12 bytes) (bank=7) (id=70)
Route5GateScript: ; 1df33 (7:5f33)
call EnableAutoTextBoxDrawing
ld a, [W_ROUTE5GATECURSCRIPT]
- ld hl, Route5GateScripts
+ ld hl, Route5GateScriptPointers
jp CallFunctionInTable
-Route5GateScripts: ; 1df3f (7:5f3f)
+Route5GateScriptPointers: ; 1df3f (7:5f3f)
dw Route5GateScript0
dw Route5GateScript1
-Function1df43: ; 1df43 (7:5f43)
+Route5GateScript_1df43: ; 1df43 (7:5f43)
ld a, $40
ld [$ccd3], a
ld a, $1
@@ -42206,7 +42926,7 @@ Route5GateScript0: ; 1df50 (7:5f50)
ld a, [$d728]
bit 6, a
ret nz
- ld hl, Coords1df8f
+ ld hl, CoordsData_1df8f
call ArePlayerCoordsInArray
ret nc
ld a, $2
@@ -42222,7 +42942,7 @@ Route5GateScript0: ; 1df50 (7:5f50)
ld a, $2
ld [$ff00+$8c], a
call DisplayTextID
- call Function1df43
+ call Route5GateScript_1df43
ld a, $1
ld [W_ROUTE5GATECURSCRIPT], a
ret
@@ -42234,7 +42954,7 @@ Route5GateScript0: ; 1df50 (7:5f50)
set 6, [hl]
ret
-Coords1df8f: ; 1df8f (7:5f8f)
+CoordsData_1df8f: ; 1df8f (7:5f8f)
db 3,3
db 3,4
db $ff
@@ -42245,12 +42965,14 @@ Route5GateScript1: ; 1df94 (7:5f94)
ret nz
call Delay3
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_ROUTE5GATECURSCRIPT], a
ret
-Route5GateTexts: ; 1dfa4 (7:5fa4)
- dw Route5GateText1, Route5GateText2, Route5GateText3
+Route5GateTextPointers: ; 1dfa4 (7:5fa4)
+ dw Route5GateText1
+ dw Route5GateText2
+ dw Route5GateText3
Route8GateText1: ; 1dfaa (7:5faa)
Route7GateText1: ; 1dfaa (7:5faa)
@@ -42268,7 +42990,7 @@ Route5GateText1: ; 1dfaa (7:5faa)
jr nz, .asm_768a2 ; 0x1dfbd $11
ld hl, UnnamedText_1dfe7
call PrintText
- call Function1df43
+ call Route5GateScript_1df43
ld a, $1
ld [W_ROUTE5GATECURSCRIPT], a
jp TextScriptEnd
@@ -42331,26 +43053,27 @@ Route5GateBlocks: ; 1e025 (7:6025)
Route6Gate_h: ; 0x1e031 to 0x1e03d (12 bytes) (bank=7) (id=73)
db $0c ; tileset
db ROUTE_6_GATE_HEIGHT, ROUTE_6_GATE_WIDTH ; dimensions (y, x)
- dw Route6GateBlocks, Route6GateTexts, Route6GateScript ; blocks, texts, scripts
+ dw Route6GateBlocks, Route6GateTextPointers, Route6GateScript ; blocks, texts, scripts
db $00 ; connections
dw Route6GateObject ; objects
Route6GateScript: ; 1e03d (7:603d)
call EnableAutoTextBoxDrawing
- ld hl, Route6GateScripts
+ ld hl, Route6GateScriptPointers
ld a, [W_ROUTE6GATECURSCRIPT]
call CallFunctionInTable
ret
-Route6GateScripts: ; 1e04a (7:604a)
- dw Route6GateScript0, Route6GateScript1
+Route6GateScriptPointers: ; 1e04a (7:604a)
+ dw Route6GateScript0
+ dw Route6GateScript1
Route6GateScript0: ; 1e04e (7:604e)
ld a, [$d728]
bit 6, a
ret nz
- ld hl, Unknown_1e08c
+ ld hl, CoordsData_1e08c
call ArePlayerCoordsInArray
ret nc
ld a, $1
@@ -42366,7 +43089,7 @@ Route6GateScript0: ; 1e04e (7:604e)
ld a, $2
ld [$ff00+$8c], a
call DisplayTextID
- call Unknown_1e0a1
+ call Func_1e0a1
ld a, $1
ld [W_ROUTE6GATECURSCRIPT], a
ret
@@ -42377,12 +43100,9 @@ Route6GateScript0: ; 1e04e (7:604e)
ld [$ff00+$8c], a
jp DisplayTextID
-Unknown_1e08c: ; 1e08c (7:608c)
- ld [bc], a
- inc bc
- ld [bc], a
- inc b
- rst $38
+CoordsData_1e08c: ; 1e08c (7:608c)
+ db $02,$03
+ db $02,$04,$FF
Route6GateScript1: ; 1e091 (7:6091)
ld a, [$cd38]
@@ -42390,11 +43110,11 @@ Route6GateScript1: ; 1e091 (7:6091)
ret nz
call Delay3
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_ROUTE6GATECURSCRIPT], a
ret
-Unknown_1e0a1: ; 1e0a1 (7:60a1)
+Func_1e0a1: ; 1e0a1 (7:60a1)
ld hl, $d730
set 7, [hl]
ld a, $80
@@ -42406,8 +43126,10 @@ Unknown_1e0a1: ; 1e0a1 (7:60a1)
ld [$cd3b], a
ret
-Route6GateTexts: ; 1e0b8 (7:60b8)
- dw Route6GateText1, Route6GateText2, Route6GateText3
+Route6GateTextPointers: ; 1e0b8 (7:60b8)
+ dw Route6GateText1
+ dw Route6GateText2
+ dw Route6GateText3
Route6GateObject: ; 0x1e0be (size=42)
db $a ; border tile
@@ -42435,7 +43157,7 @@ Route6GateBlocks: ; 1e0e8 (7:60e8)
Route7Gate_h: ; 0x1e0f4 to 0x1e100 (12 bytes) (bank=7) (id=76)
db $0c ; tileset
db ROUTE_7_GATE_HEIGHT, ROUTE_7_GATE_WIDTH ; dimensions (y, x)
- dw Route7GateBlocks, Route7GateTexts, Route7GateScript ; blocks, texts, scripts
+ dw Route7GateBlocks, Route7GateTextPointers, Route7GateScript ; blocks, texts, scripts
db $00 ; connections
dw Route7GateObject ; objects
@@ -42443,15 +43165,15 @@ Route7Gate_h: ; 0x1e0f4 to 0x1e100 (12 bytes) (bank=7) (id=76)
Route7GateScript: ; 1e100 (7:6100)
call EnableAutoTextBoxDrawing
ld a, [W_ROUTE7GATECURSCRIPT]
- ld hl, Route7GateScripts
+ ld hl, Route7GateScriptPointers
call CallFunctionInTable
ret
-Route7GateScripts: ; 1e10d (7:610d)
+Route7GateScriptPointers: ; 1e10d (7:610d)
dw Route7GateScript0
dw Route7GateScript1
-Function1e111: ; 1e111 (7:6111)
+Route7GateScript_1e111: ; 1e111 (7:6111)
ld hl, $d730
set 7, [hl]
ld a, $20
@@ -42467,7 +43189,7 @@ Route7GateScript0: ; 1e128 (7:6128)
ld a, [$d728]
bit 6, a
ret nz
- ld hl, Coords1e167
+ ld hl, CoordsData_1e167
call ArePlayerCoordsInArray
ret nc
ld a, $8
@@ -42483,7 +43205,7 @@ Route7GateScript0: ; 1e128 (7:6128)
ld a, $2
ld [$ff00+$8c], a
call DisplayTextID
- call Function1e111
+ call Route7GateScript_1e111
ld a, $1
ld [W_ROUTE7GATECURSCRIPT], a
ret
@@ -42495,8 +43217,7 @@ Route7GateScript0: ; 1e128 (7:6128)
set 6, [hl]
ret
-
-Coords1e167: ; 1e167 (7:6167)
+CoordsData_1e167: ; 1e167 (7:6167)
db 3,3
db 4,3
db $ff
@@ -42507,13 +43228,15 @@ Route7GateScript1: ; 1e16c (7:616c)
ret nz
call Delay3
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_ROUTE7GATECURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Route7GateTexts: ; 1e17f (7:617f)
- dw Route7GateText1, Route7GateText2, Route7GateText3
+Route7GateTextPointers: ; 1e17f (7:617f)
+ dw Route7GateText1
+ dw Route7GateText2
+ dw Route7GateText3
Route7GateObject: ; 0x1e185 (size=42)
db $a ; border tile
@@ -42541,22 +43264,22 @@ Route7GateBlocks: ; 1e1af (7:61af)
Route8Gate_h: ; 0x1e1bb to 0x1e1c7 (12 bytes) (bank=7) (id=79)
db $0c ; tileset
db ROUTE_8_GATE_HEIGHT, ROUTE_8_GATE_WIDTH ; dimensions (y, x)
- dw Route8GateBlocks, Route8GateTexts, Route8GateScript ; blocks, texts, scripts
+ dw Route8GateBlocks, Route8GateTextPointers, Route8GateScript ; blocks, texts, scripts
db $00 ; connections
dw Route8GateObject ; objects
Route8GateScript: ; 1e1c7 (7:61c7)
call EnableAutoTextBoxDrawing
- ld hl, Route8GateScripts
+ ld hl, Route8GateScriptPointers
ld a, [W_ROUTE8GATECURSCRIPT]
jp CallFunctionInTable
-Route8GateScripts: ; 1e1d3 (7:61d3)
+Route8GateScriptPointers: ; 1e1d3 (7:61d3)
dw Route8GateScript0
dw Route8GateScript1
-Function1e1d7: ; 1e1d7 (7:61d7)
+Route8GateScript_1e1d7: ; 1e1d7 (7:61d7)
ld hl, $d730
set 7, [hl]
ld a, $10
@@ -42572,7 +43295,7 @@ Route8GateScript0: ; 1e1ee (7:61ee)
ld a, [$d728]
bit 6, a
ret nz
- ld hl, Coords1e22c
+ ld hl, CoordsData_1e22c
call ArePlayerCoordsInArray
ret nc
ld a, $2
@@ -42588,7 +43311,7 @@ Route8GateScript0: ; 1e1ee (7:61ee)
ld a, $2
ld [$ff00+$8c], a
call DisplayTextID
- call Function1e1d7
+ call Route8GateScript_1e1d7
ld a, $1
ld [W_ROUTE8GATECURSCRIPT], a
ret
@@ -42599,7 +43322,7 @@ Route8GateScript0: ; 1e1ee (7:61ee)
ld [$ff00+$8c], a
jp DisplayTextID
-Coords1e22c: ; 1e22c (7:622c)
+CoordsData_1e22c: ; 1e22c (7:622c)
db 3,2
db 4,2
db $ff
@@ -42610,12 +43333,14 @@ Route8GateScript1: ; 1e231 (7:6231)
ret nz
call Delay3
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_ROUTE8GATECURSCRIPT], a
ret
-Route8GateTexts: ; 1e241 (7:6241)
- dw Route8GateText1, Route8GateText2, Route8GateText3
+Route8GateTextPointers: ; 1e241 (7:6241)
+ dw Route8GateText1
+ dw Route8GateText2
+ dw Route8GateText3
Route8GateObject: ; 0x1e247 (size=42)
db $a ; border tile
@@ -42643,7 +43368,7 @@ Route8GateBlocks: ; 1e271 (7:6271)
UndergroundPathEntranceRoute8_h: ; 0x1e27d to 0x1e289 (12 bytes) (bank=7) (id=80)
db $0c ; tileset
db PATH_ENTRANCE_ROUTE_8_HEIGHT, PATH_ENTRANCE_ROUTE_8_WIDTH ; dimensions (y, x)
- dw UndergroundPathEntranceRoute8Blocks, UndergroundPathEntranceRoute8Texts, UndergroundPathEntranceRoute8Script ; blocks, texts, scripts
+ dw UndergroundPathEntranceRoute8Blocks, UndergroundPathEntranceRoute8TextPointers, UndergroundPathEntranceRoute8Script ; blocks, texts, scripts
db $00 ; connections
dw UndergroundPathEntranceRoute8Object ; objects
@@ -42653,7 +43378,7 @@ UndergroundPathEntranceRoute8Script: ; 1e289 (7:6289)
ld [$d365], a
jp EnableAutoTextBoxDrawing
-UndergroundPathEntranceRoute8Texts: ; 1e291 (7:6291)
+UndergroundPathEntranceRoute8TextPointers: ; 1e291 (7:6291)
dw UndergroundPathEntranceRoute8Text1
;XXX wtf? syntax error
@@ -42683,7 +43408,7 @@ UndergroundPathEntranceRoute8Object: ; 0x1e298 (size=34)
PowerPlant_h: ; 0x1e2ba to 0x1e2c6 (12 bytes) (bank=7) (id=83)
db $16 ; tileset
db POWER_PLANT_HEIGHT, POWER_PLANT_WIDTH ; dimensions (y, x)
- dw PowerPlantBlocks, PowerPlantTexts, PowerPlantScript ; blocks, texts, scripts
+ dw PowerPlantBlocks, PowerPlantTextPointers, PowerPlantScript ; blocks, texts, scripts
db $00 ; connections
dw PowerPlantObject ; objects
@@ -42702,8 +43427,21 @@ PowerPlantScriptPointers: ; 1e2d9 (7:62d9)
dw Func_324c
dw EndTrainerBattle
-PowerPlantTexts: ; 1e2df (7:62df)
- dw PowerPlantText1, PowerPlantText2, PowerPlantText3, PowerPlantText4, PowerPlantText5, PowerPlantText6, PowerPlantText7, PowerPlantText8, PowerPlantText9, Predef5CText, Predef5CText, Predef5CText, Predef5CText, Predef5CText
+PowerPlantTextPointers: ; 1e2df (7:62df)
+ dw PowerPlantText1
+ dw PowerPlantText2
+ dw PowerPlantText3
+ dw PowerPlantText4
+ dw PowerPlantText5
+ dw PowerPlantText6
+ dw PowerPlantText7
+ dw PowerPlantText8
+ dw PowerPlantText9
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
PowerPlantTrainerHeaders: ; 1e2fb (7:62fb)
PowerPlantTrainerHeader0: ; 1e2fb (7:62fb)
@@ -42889,7 +43627,7 @@ PowerPlantBlocks: ; 1e446 (7:6446)
DiglettsCaveEntranceRoute11_h: ; 0x1e5ae to 0x1e5ba (12 bytes) (bank=7) (id=85)
db $11 ; tileset
db DIGLETTS_CAVE_ENTRANCE_HEIGHT, DIGLETTS_CAVE_ENTRANCE_WIDTH ; dimensions (y, x)
- dw DiglettsCaveEntranceRoute11Blocks, DiglettsCaveEntranceRoute11Texts, DiglettsCaveEntranceRoute11Script ; blocks, texts, scripts
+ dw DiglettsCaveEntranceRoute11Blocks, DiglettsCaveEntranceRoute11TextPointers, DiglettsCaveEntranceRoute11Script ; blocks, texts, scripts
db $00 ; connections
dw DiglettsCaveEntranceRoute11Object ; objects
@@ -42900,7 +43638,7 @@ DiglettsCaveEntranceRoute11Script: ; 1e5ba (7:65ba)
ld [$d365], a
ret
-DiglettsCaveEntranceRoute11Texts: ; 1e5c3 (7:65c3)
+DiglettsCaveEntranceRoute11TextPointers: ; 1e5c3 (7:65c3)
dw DiglettsCaveEntranceRoute11Text1
; XXX wtf? syntax error
@@ -42930,7 +43668,7 @@ DiglettsCaveEntranceRoute11Object: ; 0x1e5ca (size=34)
Route16House_h: ; 0x1e5ec to 0x1e5f8 (12 bytes) (bank=7) (id=188)
db $08 ; tileset
db ROUTE_16_HOUSE_HEIGHT, ROUTE_16_HOUSE_WIDTH ; dimensions (y, x)
- dw Route16HouseBlocks, Route16HouseTexts, Route16HouseScript ; blocks, texts, scripts
+ dw Route16HouseBlocks, Route16HouseTextPointers, Route16HouseScript ; blocks, texts, scripts
db $00 ; connections
dw Route16HouseObject ; objects
@@ -42938,8 +43676,9 @@ Route16House_h: ; 0x1e5ec to 0x1e5f8 (12 bytes) (bank=7) (id=188)
Route16HouseScript: ; 1e5f8 (7:65f8)
jp EnableAutoTextBoxDrawing
-Route16HouseTexts: ; 1e5fb (7:65fb)
- dw Route16HouseText1, Route16HouseText2
+Route16HouseTextPointers: ; 1e5fb (7:65fb)
+ dw Route16HouseText1
+ dw Route16HouseText2
Route16HouseText1: ; 1e5ff (7:65ff)
db $08 ; asm
@@ -43011,14 +43750,14 @@ Route16HouseObject: ; 0x1e657 (size=32)
Route22Gate_h: ; 0x1e677 to 0x1e683 (12 bytes) (bank=7) (id=193)
db $0c ; tileset
db ROUTE_22_GATE_HEIGHT, ROUTE_22_GATE_WIDTH ; dimensions (y, x)
- dw Route22GateBlocks, Route22GateTexts, Route22GateScript ; blocks, texts, scripts
+ dw Route22GateBlocks, Route22GateTextPointers, Route22GateScript ; blocks, texts, scripts
db $00 ; connections
dw Route22GateObject ; objects
Route22GateScript: ; 1e683 (7:6683)
call EnableAutoTextBoxDrawing
- ld hl, Route22GateScripts
+ ld hl, Route22GateScriptPointers
ld a, [W_ROUTE22GATECURSCRIPT]
call CallFunctionInTable
ld a, [$d361]
@@ -43030,8 +43769,10 @@ Route22GateScript: ; 1e683 (7:6683)
ld [$d365], a
ret
-Route22GateScripts: ; 1e69e (7:669e)
- dw Route22GateScript0, Route22GateScript1, Route22GateScript2
+Route22GateScriptPointers: ; 1e69e (7:669e)
+ dw Route22GateScript0
+ dw Route22GateScript1
+ dw Route22GateScript2
Route22GateScript0: ; 1e6a4 (7:66a4)
ld hl, Route22GateScriptCoords
@@ -43054,7 +43795,7 @@ Func_1e6ba: ; 1e6ba (7:66ba)
ld a, $80
ld [$ccd3], a
ld [$c109], a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
jp Func_3486
Route22GateScript1: ; 1e6cd (7:66cd)
@@ -43062,14 +43803,14 @@ Route22GateScript1: ; 1e6cd (7:66cd)
and a
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
call Delay3
ld a, $0
ld [W_ROUTE22GATECURSCRIPT], a
Route22GateScript2: ; 1e6de (7:66de)
ret
-Route22GateTexts: ; 1e6df (7:66df)
+Route22GateTextPointers: ; 1e6df (7:66df)
dw Route22GateText1
Route22GateText1: ; 1e6e1 (7:66e1)
@@ -43133,7 +43874,7 @@ Route22GateBlocks: ; 1e74a (7:674a)
BillsHouse_h: ; 0x1e75e to 0x1e76a (12 bytes) (bank=7) (id=88)
db $10 ; tileset
db BILLS_HOUSE_HEIGHT, BILLS_HOUSE_WIDTH ; dimensions (y, x)
- dw BillsHouseBlocks, BillsHouseTexts, BillsHouseScript ; blocks, texts, scripts
+ dw BillsHouseBlocks, BillsHouseTextPointers, BillsHouseScript ; blocks, texts, scripts
db $00 ; connections
dw BillsHouseObject ; objects
@@ -43141,10 +43882,10 @@ BillsHouse_h: ; 0x1e75e to 0x1e76a (12 bytes) (bank=7) (id=88)
BillsHouseScript: ; 1e76a (7:676a)
call EnableAutoTextBoxDrawing
ld a, [W_BILLSHOUSECURSCRIPT]
- ld hl, BillsHouseScripts
+ ld hl, BillsHouseScriptPointers
jp CallFunctionInTable
-BillsHouseScripts: ; 1e776 (7:6776)
+BillsHouseScriptPointers: ; 1e776 (7:6776)
dw BillsHouseScript0
dw BillsHouseScript1
dw BillsHouseScript2
@@ -43158,9 +43899,9 @@ BillsHouseScript0: ; 1e782 (7:6782)
BillsHouseScript1: ; 1e783 (7:6783)
ld a, [$c109]
and a
- ld de, MovementData1e79c
+ ld de, MovementData_1e79c
jr nz, .asm_1e78f ; 0x1e78a $3
- ld de, MovementData1e7a0
+ ld de, MovementData_1e7a0
.asm_1e78f
ld a, $1
ld [$ff00+$8c], a
@@ -43169,11 +43910,11 @@ BillsHouseScript1: ; 1e783 (7:6783)
ld [W_BILLSHOUSECURSCRIPT], a
ret
-MovementData1e79c: ; 1e79c (7:679c)
- db $40,$40,$40,$ff
+MovementData_1e79c: ; 1e79c (7:679c)
+ db $40,$40,$40,$FF
-MovementData1e7a0: ; 1e7a0 (7:67a0)
- db $c0,$40,$40,$80,$40,$ff
+MovementData_1e7a0: ; 1e7a0 (7:67a0)
+ db $C0,$40,$40,$80,$40,$FF
BillsHouseScript2: ; 1e7a6 (7:67a6)
ld a, [$d730]
@@ -43186,7 +43927,7 @@ BillsHouseScript2: ; 1e7a6 (7:67a6)
ld hl, $d7f2
set 6, [hl]
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $3
ld [W_BILLSHOUSECURSCRIPT], a
ret
@@ -43196,7 +43937,7 @@ BillsHouseScript3: ; 1e7c5 (7:67c5)
bit 3, a
ret z
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $2
ld [$cf13], a
ld a, $c
@@ -43216,21 +43957,21 @@ BillsHouseScript3: ; 1e7c5 (7:67c5)
call DelayFrames
ld a, $2
ld [$ff00+$8c], a
- ld de, MovementData1e807
+ ld de, MovementData_1e807
call MoveSprite
ld a, $4
ld [W_BILLSHOUSECURSCRIPT], a
ret
-MovementData1e807: ; 1e807 (7:6807)
- db $00,$c0,$c0,$c0,$00,$ff
+MovementData_1e807: ; 1e807 (7:6807)
+ db $00,$C0,$C0,$C0,$00,$FF
BillsHouseScript4: ; 1e80d (7:680d)
ld a, [$d730]
bit 0, a
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d7f2
set 5, [hl]
ld hl, $d7f1
@@ -43247,8 +43988,11 @@ BillsHouseScript5: ; 1e827 (7:6827)
ld [W_BILLSHOUSECURSCRIPT], a
ret
-BillsHouseTexts: ; 1e834 (7:6834)
- dw BillsHouseText1, BillsHouseText2, BillsHouseText3, BillsHouseText4
+BillsHouseTextPointers: ; 1e834 (7:6834)
+ dw BillsHouseText1
+ dw BillsHouseText2
+ dw BillsHouseText3
+ dw BillsHouseText4
BillsHouseText4: ; 1e83c (7:683c)
db $fd
@@ -43372,7 +44116,7 @@ Func_1e915: ; 1e915 (7:6915)
ld hl, UnnamedText_1e93b ; $693b
call PrintText
call YesNoChoice
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
jr nz, .asm_1e932
ld a, $56
@@ -43440,17 +44184,17 @@ Func_1e988: ; 1e988 (7:6988)
jr asm_1e9ab
Func_1e997: ; 1e997 (7:6997)
- ld a, [W_SAFARITIMER1] ; $d70d
+ ld a, [wSafariSteps] ; $d70d
ld b, a
- ld a, [W_SAFARITIMER2] ; $d70e
+ ld a, [wSafariSteps + 1] ; $d70e
ld c, a
or b
jr z, asm_1e9b0
dec bc
ld a, b
- ld [W_SAFARITIMER1], a ; $d70d
+ ld [wSafariSteps], a ; $d70d
ld a, c
- ld [W_SAFARITIMER2], a ; $d70e
+ ld [wSafariSteps + 1], a ; $d70e
asm_1e9ab: ; 1e9ab (7:69ab)
xor a
ld [$da46], a
@@ -43458,7 +44202,7 @@ asm_1e9ab: ; 1e9ab (7:69ab)
asm_1e9b0: ; 1e9b0 (7:69b0)
call EnableAutoTextBoxDrawing
xor a
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
dec a
call PlaySound
ld c, BANK(SFX_02_5f)
@@ -43487,12 +44231,12 @@ asm_1e9b0: ; 1e9b0 (7:69b0)
Func_1e9ed: ; 1e9ed (7:69ed)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
- ld hl, Unknown_1e9f7 ; $69f7
+ ld [wJoypadForbiddenButtonsMask], a
+ ld hl, UnnamedText_1e9f7 ; $69f7
jp PrintText
-Unknown_1e9f7: ; 1e9f7 (7:69f7)
-INCBIN "baserom.gbc",$1e9f7,$1e9f8 - $1e9f7
+UnnamedText_1e9f7: ; 1e9f7 (7:69f7)
+ db $08 ; asm
ld a, [W_NUMSAFARIBALLS] ; $da47
and a
jr z, .asm_1ea04
@@ -43518,10 +44262,11 @@ UnnamedText_1ea12: ; 1ea12 (7:6a12)
ld a, $31
jp Func_3ef5
-INCBIN "baserom.gbc",$1ea25,$1ea26 - $1ea25
+UnnamedText_1ea25: ; 1ea25 (7:6a25)
+ db $08 ; asm
xor a
ld [$da38], a
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
push af
and $f
ld [$FF00+$db], a
@@ -43592,7 +44337,7 @@ Func_1ea92: ; 1ea92 (7:6a92)
call YesNoChoice
ld a, [$FF00+$dc]
ld c, a
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
cp c
jr nz, .asm_1eab8
ld hl, $d126
@@ -43764,10 +44509,10 @@ UnnamedText_1ebdd: ; 1ebdd (7:6bdd)
TX_FAR _UnnamedText_1ebdd
db "@"
-UnnamedText_1ebe2: ; 1ebe2 (7:6be2
+UnnamedText_1ebe2: ; 1ebe2 (7:6be2)
TX_FAR _UnnamedText_1ebe2
- db $06,$08
-
+ db $06
+ db $08 ; asm
ld a, $ff
ld [$c0ee], a
call PlaySound
@@ -43780,8 +44525,8 @@ UnnamedText_1ebe2: ; 1ebe2 (7:6be2
call DelayFrames
jp TextScriptEnd
-INCBIN "baserom.gbc",$1ec05,$1ec06 - $1ec05
-
+UnnamedText_1ec05: ; 1ec05 (7:6c05)
+ db $08 ; asm
call SaveScreenTilesToBuffer1
ld hl, UnnamedText_1ec7f
call PrintText
@@ -43800,7 +44545,7 @@ INCBIN "baserom.gbc",$1ec05,$1ec06 - $1ec05
.asm_1ec2d
ld hl, $d730
set 6, [hl]
- ld hl, $c3a0
+ ld hl, wTileMap
ld b, $a
ld c, $9
call TextBoxBorder
@@ -43845,7 +44590,7 @@ UnnamedText_1ecaa: ; 1ecaa (7:6caa)
TX_FAR _UnnamedText_1ecaa
db "@"
-Unknown_1ecaf
+Func_1ecaf: ; 1ecaf (7:6caf)
ld a, [$c109]
cp $4
ret nz
@@ -43859,28 +44604,28 @@ UnnamedText_1ecbd: ; 1ecbd (7:6cbd)
SECTION "bank8",ROMX,BANK[$8]
-INCLUDE "music/headers/sfxheaders08.tx"
-INCLUDE "music/headers/musicheaders08.tx"
-
-INCLUDE "music/sfx/sfx_08_01.tx"
-INCLUDE "music/sfx/sfx_08_02.tx"
-INCLUDE "music/sfx/sfx_08_03.tx"
-INCLUDE "music/sfx/sfx_08_04.tx"
-INCLUDE "music/sfx/sfx_08_05.tx"
-INCLUDE "music/sfx/sfx_08_06.tx"
-INCLUDE "music/sfx/sfx_08_07.tx"
-INCLUDE "music/sfx/sfx_08_08.tx"
-INCLUDE "music/sfx/sfx_08_09.tx"
-INCLUDE "music/sfx/sfx_08_0a.tx"
-INCLUDE "music/sfx/sfx_08_0b.tx"
-INCLUDE "music/sfx/sfx_08_0c.tx"
-INCLUDE "music/sfx/sfx_08_0d.tx"
-INCLUDE "music/sfx/sfx_08_0e.tx"
-INCLUDE "music/sfx/sfx_08_0f.tx"
-INCLUDE "music/sfx/sfx_08_10.tx"
-INCLUDE "music/sfx/sfx_08_11.tx"
-INCLUDE "music/sfx/sfx_08_12.tx"
-INCLUDE "music/sfx/sfx_08_13.tx"
+INCLUDE "music/headers/sfxheaders08.asm"
+INCLUDE "music/headers/musicheaders08.asm"
+
+INCLUDE "music/sfx/sfx_08_01.asm"
+INCLUDE "music/sfx/sfx_08_02.asm"
+INCLUDE "music/sfx/sfx_08_03.asm"
+INCLUDE "music/sfx/sfx_08_04.asm"
+INCLUDE "music/sfx/sfx_08_05.asm"
+INCLUDE "music/sfx/sfx_08_06.asm"
+INCLUDE "music/sfx/sfx_08_07.asm"
+INCLUDE "music/sfx/sfx_08_08.asm"
+INCLUDE "music/sfx/sfx_08_09.asm"
+INCLUDE "music/sfx/sfx_08_0a.asm"
+INCLUDE "music/sfx/sfx_08_0b.asm"
+INCLUDE "music/sfx/sfx_08_0c.asm"
+INCLUDE "music/sfx/sfx_08_0d.asm"
+INCLUDE "music/sfx/sfx_08_0e.asm"
+INCLUDE "music/sfx/sfx_08_0f.asm"
+INCLUDE "music/sfx/sfx_08_10.asm"
+INCLUDE "music/sfx/sfx_08_11.asm"
+INCLUDE "music/sfx/sfx_08_12.asm"
+INCLUDE "music/sfx/sfx_08_13.asm"
Music8_Channel3DutyPointers: ; 20361 (1f:4361)
dw Music8_Channel3Duty1
@@ -43908,105 +44653,105 @@ Music8_Channel3Duty4: ; 203a3 (8:43a3)
Music8_Channel3Duty5: ; 203b3 (8:43b3)
db $01,$23,$45,$67,$8A,$CD,$EE,$F7,$7F,$EE,$DC,$A8,$76,$54,$32,$10
-INCLUDE "music/sfx/sfx_08_40.tx"
-INCLUDE "music/sfx/sfx_08_3f.tx"
-INCLUDE "music/sfx/sfx_08_3c.tx"
-INCLUDE "music/sfx/sfx_08_3d.tx"
-INCLUDE "music/sfx/sfx_08_3e.tx"
-INCLUDE "music/sfx/sfx_08_77.tx"
-INCLUDE "music/sfx/sfx_08_41.tx"
-INCLUDE "music/sfx/sfx_08_42.tx"
-INCLUDE "music/sfx/sfx_08_43.tx"
-INCLUDE "music/sfx/sfx_08_44.tx"
-INCLUDE "music/sfx/sfx_08_45.tx"
-INCLUDE "music/sfx/sfx_08_pokeflute_ch3.tx"
-INCLUDE "music/sfx/sfx_08_47.tx"
-INCLUDE "music/sfx/sfx_08_48.tx"
-INCLUDE "music/sfx/sfx_08_49.tx"
-INCLUDE "music/sfx/sfx_08_4a.tx"
-INCLUDE "music/sfx/sfx_08_4b.tx"
-INCLUDE "music/sfx/sfx_08_4c.tx"
-INCLUDE "music/sfx/sfx_08_4d.tx"
-INCLUDE "music/sfx/sfx_08_4e.tx"
-INCLUDE "music/sfx/sfx_08_4f.tx"
-INCLUDE "music/sfx/sfx_08_50.tx"
-INCLUDE "music/sfx/sfx_08_51.tx"
-INCLUDE "music/sfx/sfx_08_52.tx"
-INCLUDE "music/sfx/sfx_08_53.tx"
-INCLUDE "music/sfx/sfx_08_54.tx"
-INCLUDE "music/sfx/sfx_08_55.tx"
-INCLUDE "music/sfx/sfx_08_56.tx"
-INCLUDE "music/sfx/sfx_08_57.tx"
-INCLUDE "music/sfx/sfx_08_58.tx"
-INCLUDE "music/sfx/sfx_08_59.tx"
-INCLUDE "music/sfx/sfx_08_5a.tx"
-INCLUDE "music/sfx/sfx_08_5b.tx"
-INCLUDE "music/sfx/sfx_08_5c.tx"
-INCLUDE "music/sfx/sfx_08_5d.tx"
-INCLUDE "music/sfx/sfx_08_5e.tx"
-INCLUDE "music/sfx/sfx_08_5f.tx"
-INCLUDE "music/sfx/sfx_08_60.tx"
-INCLUDE "music/sfx/sfx_08_61.tx"
-INCLUDE "music/sfx/sfx_08_62.tx"
-INCLUDE "music/sfx/sfx_08_63.tx"
-INCLUDE "music/sfx/sfx_08_64.tx"
-INCLUDE "music/sfx/sfx_08_65.tx"
-INCLUDE "music/sfx/sfx_08_66.tx"
-INCLUDE "music/sfx/sfx_08_67.tx"
-INCLUDE "music/sfx/sfx_08_68.tx"
-INCLUDE "music/sfx/sfx_08_69.tx"
-INCLUDE "music/sfx/sfx_08_6a.tx"
-INCLUDE "music/sfx/sfx_08_6b.tx"
-INCLUDE "music/sfx/sfx_08_6c.tx"
-INCLUDE "music/sfx/sfx_08_6d.tx"
-INCLUDE "music/sfx/sfx_08_6e.tx"
-INCLUDE "music/sfx/sfx_08_6f.tx"
-INCLUDE "music/sfx/sfx_08_70.tx"
-INCLUDE "music/sfx/sfx_08_71.tx"
-INCLUDE "music/sfx/sfx_08_72.tx"
-INCLUDE "music/sfx/sfx_08_73.tx"
-INCLUDE "music/sfx/sfx_08_74.tx"
-INCLUDE "music/sfx/sfx_08_75.tx"
-INCLUDE "music/sfx/sfx_08_76.tx"
-INCLUDE "music/sfx/sfx_08_unused.tx"
-INCLUDE "music/sfx/sfx_08_1d.tx"
-INCLUDE "music/sfx/sfx_08_37.tx"
-INCLUDE "music/sfx/sfx_08_38.tx"
-INCLUDE "music/sfx/sfx_08_25.tx"
-INCLUDE "music/sfx/sfx_08_39.tx"
-INCLUDE "music/sfx/sfx_08_17.tx"
-INCLUDE "music/sfx/sfx_08_23.tx"
-INCLUDE "music/sfx/sfx_08_24.tx"
-INCLUDE "music/sfx/sfx_08_14.tx"
-INCLUDE "music/sfx/sfx_08_22.tx"
-INCLUDE "music/sfx/sfx_08_1a.tx"
-INCLUDE "music/sfx/sfx_08_1b.tx"
-INCLUDE "music/sfx/sfx_08_19.tx"
-INCLUDE "music/sfx/sfx_08_1f.tx"
-INCLUDE "music/sfx/sfx_08_20.tx"
-INCLUDE "music/sfx/sfx_08_16.tx"
-INCLUDE "music/sfx/sfx_08_21.tx"
-INCLUDE "music/sfx/sfx_08_15.tx"
-INCLUDE "music/sfx/sfx_08_1e.tx"
-INCLUDE "music/sfx/sfx_08_1c.tx"
-INCLUDE "music/sfx/sfx_08_18.tx"
-INCLUDE "music/sfx/sfx_08_2d.tx"
-INCLUDE "music/sfx/sfx_08_2a.tx"
-INCLUDE "music/sfx/sfx_08_2f.tx"
-INCLUDE "music/sfx/sfx_08_26.tx"
-INCLUDE "music/sfx/sfx_08_27.tx"
-INCLUDE "music/sfx/sfx_08_28.tx"
-INCLUDE "music/sfx/sfx_08_32.tx"
-INCLUDE "music/sfx/sfx_08_29.tx"
-INCLUDE "music/sfx/sfx_08_2b.tx"
-INCLUDE "music/sfx/sfx_08_30.tx"
-INCLUDE "music/sfx/sfx_08_2e.tx"
-INCLUDE "music/sfx/sfx_08_31.tx"
-INCLUDE "music/sfx/sfx_08_2c.tx"
-INCLUDE "music/sfx/sfx_08_33.tx"
-INCLUDE "music/sfx/sfx_08_34.tx"
-INCLUDE "music/sfx/sfx_08_35.tx"
-INCLUDE "music/sfx/sfx_08_36.tx"
+INCLUDE "music/sfx/sfx_08_40.asm"
+INCLUDE "music/sfx/sfx_08_3f.asm"
+INCLUDE "music/sfx/sfx_08_3c.asm"
+INCLUDE "music/sfx/sfx_08_3d.asm"
+INCLUDE "music/sfx/sfx_08_3e.asm"
+INCLUDE "music/sfx/sfx_08_77.asm"
+INCLUDE "music/sfx/sfx_08_41.asm"
+INCLUDE "music/sfx/sfx_08_42.asm"
+INCLUDE "music/sfx/sfx_08_43.asm"
+INCLUDE "music/sfx/sfx_08_44.asm"
+INCLUDE "music/sfx/sfx_08_45.asm"
+INCLUDE "music/sfx/sfx_08_pokeflute_ch3.asm"
+INCLUDE "music/sfx/sfx_08_47.asm"
+INCLUDE "music/sfx/sfx_08_48.asm"
+INCLUDE "music/sfx/sfx_08_49.asm"
+INCLUDE "music/sfx/sfx_08_4a.asm"
+INCLUDE "music/sfx/sfx_08_4b.asm"
+INCLUDE "music/sfx/sfx_08_4c.asm"
+INCLUDE "music/sfx/sfx_08_4d.asm"
+INCLUDE "music/sfx/sfx_08_4e.asm"
+INCLUDE "music/sfx/sfx_08_4f.asm"
+INCLUDE "music/sfx/sfx_08_50.asm"
+INCLUDE "music/sfx/sfx_08_51.asm"
+INCLUDE "music/sfx/sfx_08_52.asm"
+INCLUDE "music/sfx/sfx_08_53.asm"
+INCLUDE "music/sfx/sfx_08_54.asm"
+INCLUDE "music/sfx/sfx_08_55.asm"
+INCLUDE "music/sfx/sfx_08_56.asm"
+INCLUDE "music/sfx/sfx_08_57.asm"
+INCLUDE "music/sfx/sfx_08_58.asm"
+INCLUDE "music/sfx/sfx_08_59.asm"
+INCLUDE "music/sfx/sfx_08_5a.asm"
+INCLUDE "music/sfx/sfx_08_5b.asm"
+INCLUDE "music/sfx/sfx_08_5c.asm"
+INCLUDE "music/sfx/sfx_08_5d.asm"
+INCLUDE "music/sfx/sfx_08_5e.asm"
+INCLUDE "music/sfx/sfx_08_5f.asm"
+INCLUDE "music/sfx/sfx_08_60.asm"
+INCLUDE "music/sfx/sfx_08_61.asm"
+INCLUDE "music/sfx/sfx_08_62.asm"
+INCLUDE "music/sfx/sfx_08_63.asm"
+INCLUDE "music/sfx/sfx_08_64.asm"
+INCLUDE "music/sfx/sfx_08_65.asm"
+INCLUDE "music/sfx/sfx_08_66.asm"
+INCLUDE "music/sfx/sfx_08_67.asm"
+INCLUDE "music/sfx/sfx_08_68.asm"
+INCLUDE "music/sfx/sfx_08_69.asm"
+INCLUDE "music/sfx/sfx_08_6a.asm"
+INCLUDE "music/sfx/sfx_08_6b.asm"
+INCLUDE "music/sfx/sfx_08_6c.asm"
+INCLUDE "music/sfx/sfx_08_6d.asm"
+INCLUDE "music/sfx/sfx_08_6e.asm"
+INCLUDE "music/sfx/sfx_08_6f.asm"
+INCLUDE "music/sfx/sfx_08_70.asm"
+INCLUDE "music/sfx/sfx_08_71.asm"
+INCLUDE "music/sfx/sfx_08_72.asm"
+INCLUDE "music/sfx/sfx_08_73.asm"
+INCLUDE "music/sfx/sfx_08_74.asm"
+INCLUDE "music/sfx/sfx_08_75.asm"
+INCLUDE "music/sfx/sfx_08_76.asm"
+INCLUDE "music/sfx/sfx_08_unused.asm"
+INCLUDE "music/sfx/sfx_08_1d.asm"
+INCLUDE "music/sfx/sfx_08_37.asm"
+INCLUDE "music/sfx/sfx_08_38.asm"
+INCLUDE "music/sfx/sfx_08_25.asm"
+INCLUDE "music/sfx/sfx_08_39.asm"
+INCLUDE "music/sfx/sfx_08_17.asm"
+INCLUDE "music/sfx/sfx_08_23.asm"
+INCLUDE "music/sfx/sfx_08_24.asm"
+INCLUDE "music/sfx/sfx_08_14.asm"
+INCLUDE "music/sfx/sfx_08_22.asm"
+INCLUDE "music/sfx/sfx_08_1a.asm"
+INCLUDE "music/sfx/sfx_08_1b.asm"
+INCLUDE "music/sfx/sfx_08_19.asm"
+INCLUDE "music/sfx/sfx_08_1f.asm"
+INCLUDE "music/sfx/sfx_08_20.asm"
+INCLUDE "music/sfx/sfx_08_16.asm"
+INCLUDE "music/sfx/sfx_08_21.asm"
+INCLUDE "music/sfx/sfx_08_15.asm"
+INCLUDE "music/sfx/sfx_08_1e.asm"
+INCLUDE "music/sfx/sfx_08_1c.asm"
+INCLUDE "music/sfx/sfx_08_18.asm"
+INCLUDE "music/sfx/sfx_08_2d.asm"
+INCLUDE "music/sfx/sfx_08_2a.asm"
+INCLUDE "music/sfx/sfx_08_2f.asm"
+INCLUDE "music/sfx/sfx_08_26.asm"
+INCLUDE "music/sfx/sfx_08_27.asm"
+INCLUDE "music/sfx/sfx_08_28.asm"
+INCLUDE "music/sfx/sfx_08_32.asm"
+INCLUDE "music/sfx/sfx_08_29.asm"
+INCLUDE "music/sfx/sfx_08_2b.asm"
+INCLUDE "music/sfx/sfx_08_30.asm"
+INCLUDE "music/sfx/sfx_08_2e.asm"
+INCLUDE "music/sfx/sfx_08_31.asm"
+INCLUDE "music/sfx/sfx_08_2c.asm"
+INCLUDE "music/sfx/sfx_08_33.asm"
+INCLUDE "music/sfx/sfx_08_34.asm"
+INCLUDE "music/sfx/sfx_08_35.asm"
+INCLUDE "music/sfx/sfx_08_36.asm"
Func_2136e: ; 2136e (8:536e)
ld a, [$d083]
@@ -44080,24 +44825,24 @@ Func_213c8: ; 213c8 (8:53c8)
ld a, [$d5a2]
and a
jr nz, .asm_213f3
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld b, $8
ld c, $e
jr .asm_213fa
.asm_213ea
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld b, $6
ld c, $e
jr .asm_213fa
.asm_213f3
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld b, $a
ld c, $e
.asm_213fa
call TextBoxBorder
call UpdateSprites
ld a, $3
- ld [W_MAXMENUITEMID], a ; $cc28
+ ld [wMaxMenuItem], a ; $cc28
ld a, [$d7f1]
bit 0, a
jr nz, .asm_21414
@@ -44130,7 +44875,7 @@ Func_213c8: ; 213c8 (8:53c8)
and a
jr z, .asm_2145a
ld a, $4
- ld [W_MAXMENUITEMID], a ; $cc28
+ ld [wMaxMenuItem], a ; $cc28
FuncCoord 2, 8 ; $c442
ld hl, Coord
ld de, PKMNLeaguePCText ; $54b2
@@ -44146,21 +44891,21 @@ Func_213c8: ; 213c8 (8:53c8)
jr .asm_2146d
.asm_21462
ld a, $2
- ld [W_MAXMENUITEMID], a ; $cc28
+ ld [wMaxMenuItem], a ; $cc28
FuncCoord 2, 6 ; $c41a
ld hl, Coord
ld de, LogOffPCText ; $54ba
.asm_2146d
call PlaceString
ld a, $3
- ld [W_MENUWATCHEDKEYS], a ; $cc29
+ ld [wMenuWatchedKeys], a ; $cc29
ld a, $2
- ld [W_TOPMENUITEMY], a ; $cc24
+ ld [wTopMenuItemY], a ; $cc24
ld a, $1
- ld [W_TOPMENUITEMX], a ; $cc25
+ ld [wTopMenuItemX], a ; $cc25
xor a
- ld [W_CURMENUITEMID], a ; $cc26
- ld [W_OLDMENUITEMID], a ; $cc2a
+ ld [wCurrentMenuItem], a ; $cc26
+ ld [wLastMenuItem], a ; $cc2a
ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
ret
@@ -44192,9 +44937,9 @@ BillsPC_: ; 0x214c2
inc a ; MONSTER_NAME
ld [W_LISTTYPE], a
call LoadHpBarAndStatusTilePatterns
- ld a, [W_LISTSCROLLOFFSET] ; $cc36
+ ld a, [wListScrollOffset] ; $cc36
push af
- ld a, [W_FLAGS_CD60]
+ ld a, [wFlags_0xcd60]
bit 3, a
jr nz, BillsPCMenu
ld a, $99
@@ -44205,13 +44950,13 @@ BillsPC_: ; 0x214c2
Func_214e8: ; 214e8 (8:54e8)
BillsPCMenu:
ld a, [$ccd3]
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
ld hl, $9780
ld de, PokeballTileGraphics ; $697e
ld bc, (BANK(PokeballTileGraphics) << 8) + $01
call CopyVideoData
call LoadScreenTilesFromBuffer2DisableBGTransfer
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld b, $a
ld c, $c
call TextBoxBorder
@@ -44219,7 +44964,7 @@ BillsPCMenu:
ld hl, Coord
ld de, BillsPCMenuText ; $56e1
call PlaceString
- ld hl, W_TOPMENUITEMY ; $cc24
+ ld hl, wTopMenuItemY ; $cc24
ld a, $2
ld [hli], a
dec a
@@ -44233,10 +44978,10 @@ BillsPCMenu:
xor a
ld [hli], a
ld [hli], a
- ld hl, W_LISTSCROLLOFFSET ; $cc36
+ ld hl, wListScrollOffset ; $cc36
ld [hli], a
ld [hl], a
- ld [W_PLAYERMONNUMBER], a ; $cc2f
+ ld [wPlayerMonNumber], a ; $cc2f
ld hl, WhatText
call PrintText
FuncCoord 9, 14 ; $c4c1
@@ -44270,7 +45015,7 @@ BillsPCMenu:
bit 1, a
jp nz, Func_21588 ; b button
call PlaceUnfilledArrowMenuCursor
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld [$ccd3], a
and a
jp z, Func_21618 ; withdraw
@@ -44282,7 +45027,7 @@ BillsPCMenu:
jp z, Func_216b3 ; change box
Func_21588: ; 21588 (8:5588)
- ld a, [W_FLAGS_CD60]
+ ld a, [wFlags_0xcd60]
bit 3, a
jr nz, .asm_2159a
call LoadTextBoxTilePatterns
@@ -44290,11 +45035,11 @@ Func_21588: ; 21588 (8:5588)
call PlaySound
call WaitForSoundToFinish
.asm_2159a
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
res 5, [hl]
call LoadScreenTilesFromBuffer2
pop af
- ld [W_LISTSCROLLOFFSET], a ; $cc36
+ ld [wListScrollOffset], a ; $cc36
ld hl, $d730
res 6, [hl]
ret
@@ -44330,7 +45075,7 @@ BillsPCDeposit:
ld [$cf95], a
call RemovePokemon
call WaitForSoundToFinish
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
ld a, [$d5a0]
and $7f
cp $9
@@ -44369,7 +45114,7 @@ Func_21618: ; 21618 (8:5618)
jp c, Func_214e8
call Func_2174b
jp nc, Func_214e8
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld hl, $de06
call GetPartyMonName
ld a, [$cf91]
@@ -44400,7 +45145,7 @@ Func_21673: ; 21673 (8:5673)
ld hl, OnceReleasedText ; $581b
call PrintText
call YesNoChoice
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
jr nz, .asm_21682
inc a
@@ -44426,13 +45171,13 @@ Func_216be: ; 216be (8:56be)
ld [$cf8c], a
xor a
ld [$cf93], a
- ld [W_LISTMENUID], a ; $cf94
+ ld [wListMenuID], a ; $cf94
inc a ; MONSTER_NAME
ld [W_LISTTYPE], a
ld a, [$cc2b]
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
call DisplayListMenuID
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld [$cc2b], a
ret
@@ -44494,7 +45239,7 @@ Func_2174b: ; 2174b (8:574b)
ld hl, Coord
ld de, StatsCancelPCText ; $57dc
call PlaceString
- ld hl, W_TOPMENUITEMY ; $cc24
+ ld hl, wTopMenuItemY ; $cc24
ld a, $c
ld [hli], a
ld a, $a
@@ -44508,16 +45253,16 @@ Func_2174b: ; 2174b (8:574b)
ld [hli], a
xor a
ld [hl], a
- ld hl, W_LISTSCROLLOFFSET ; $cc36
+ ld hl, wListScrollOffset ; $cc36
ld [hli], a
ld [hl], a
- ld [W_PLAYERMONNUMBER], a ; $cc2f
+ ld [wPlayerMonNumber], a ; $cc2f
ld [$cc2b], a
.asm_2178f
call HandleMenuInput
bit 1, a
jr nz, .asm_2179f
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
jr z, .asm_217a1
dec a
@@ -46398,18 +47143,18 @@ Music8_OverwriteChannelPointer: ; 2231d (8:631d)
ld [hli], a
ret
-INCLUDE "music/sfx/sfx_08_pokeflute.tx"
-INCLUDE "music/sfx/sfx_08_unused2.tx"
-INCLUDE "music/gymleaderbattle.tx"
-INCLUDE "music/trainerbattle.tx"
-INCLUDE "music/wildbattle.tx"
-INCLUDE "music/finalbattle.tx"
-INCLUDE "music/sfx/sfx_08_3a.tx"
-INCLUDE "music/sfx/sfx_08_3b.tx"
-INCLUDE "music/sfx/sfx_08_46.tx"
-INCLUDE "music/defeatedtrainer.tx"
-INCLUDE "music/defeatedwildmon.tx"
-INCLUDE "music/defeatedgymleader.tx"
+INCLUDE "music/sfx/sfx_08_pokeflute.asm"
+INCLUDE "music/sfx/sfx_08_unused2.asm"
+INCLUDE "music/gymleaderbattle.asm"
+INCLUDE "music/trainerbattle.asm"
+INCLUDE "music/wildbattle.asm"
+INCLUDE "music/finalbattle.asm"
+INCLUDE "music/sfx/sfx_08_3a.asm"
+INCLUDE "music/sfx/sfx_08_3b.asm"
+INCLUDE "music/sfx/sfx_08_46.asm"
+INCLUDE "music/defeatedtrainer.asm"
+INCLUDE "music/defeatedwildmon.asm"
+INCLUDE "music/defeatedgymleader.asm"
SECTION "bank9",ROMX,BANK[$9]
@@ -47121,7 +47866,7 @@ BadgeNumbersTileGraphics: ; 2fd98 (b:7d98)
INCBIN "gfx/badge_numbers.2bpp"
Func_2fe18: ; 2fe18 (b:7e18)
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld hl, W_PARTYMON1_MOVE1 ; $d173
ld bc, $2c
call AddNTimes
@@ -47227,12 +47972,12 @@ ScalePixelsByTwo: ; 2fe97 (b:7e97)
; repeats each input bit twice
DuplicateBitsTable: ; 2fea8 (b:7ea8)
-db $00, $03, $0c, $0f
-db $30, $33, $3c, $3f
-db $c0, $c3, $cc, $cf
-db $f0, $f3, $fc, $ff
+ db $00, $03, $0c, $0f
+ db $30, $33, $3c, $3f
+ db $c0, $c3, $cc, $cf
+ db $f0, $f3, $fc, $ff
-Func_2feb8 ; 0x2feb8
+Func_2feb8 ; 2feb8 (b:7eb8)
xor a
ld hl, $cd6d
ld [hli], a
@@ -47277,6 +48022,7 @@ UnnamedText_2ff04: ; 2ff04 (b:7f04)
TX_FAR _UnnamedText_2ff04
db "@"
+Func_2ff09 ; 2ff09 (b:7f09)
ld a, [$c102]
and $8
jr z, .asm_2ff2e
@@ -47431,6 +48177,7 @@ RedPicBack: ; 33e0a (c:7e0a)
OldManPic: ; 33e9a (c:7e9a)
INCBIN "pic/trainer/oldman.pic"
+Func_33f2b: ; 33f2b (c:7f2b)
ld hl, $d063
ld a, [$ff00+$f3]
and a
@@ -47634,7 +48381,7 @@ Func_3726a: ; 3726a (d:726a)
and $f0
swap a
ld b, a
-.asm_37279
+.loop
ld h, d
ld l, $48
call Func_37292
@@ -47646,7 +48393,7 @@ Func_3726a: ; 3726a (d:726a)
ld d, a
call Func_372c4
dec c
- jr nz, .asm_37279
+ jr nz, .loop
pop bc
jr Func_3726a
@@ -47656,24 +48403,24 @@ Func_37292: ; 37292 (d:7292)
jr nz, Func_37292
ld a, h
ld [rSCX], a ; $FF00+$43
-.asm_3729a
+.loop
ld a, [$FF00+$44]
cp h
- jr z, .asm_3729a
+ jr z, .loop
ret
Unknown_372a0: ; 372a0 (d:72a0)
INCBIN "baserom.gbc",$372a0,$372ac - $372a0
Func_372ac: ; 372ac (d:72ac)
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
cp $b0
- jr z, .asm_372ba
+ jr z, .skip
cp $b1
- jr z, .asm_372ba
+ jr z, .skip
cp $99
ret nz
-.asm_372ba
+.skip
ld e, $1
ld bc, Unknown_37244 ; $7244
ld d, $0
@@ -47723,13 +48470,159 @@ Func_372d6: ; 372d6 (d:72d6)
ld c, $96
jp DelayFrames
-INCBIN "baserom.gbc",$3730e,$37390 - $3730e
+Func_3730e: ; 3730e (d:730e)
+ call SaveScreenTilesToBuffer2
+ ld a, BANK(DisplayTextIDInit)
+ ld [$cf0c], a
+ ld b, a
+ ld hl, DisplayTextIDInit
+ call Bankswitch
+ ld hl, UnnamedText_37390
+ call PrintText
+ call YesNoChoice
+ ld a, [wCurrentMenuItem]
+ and a
+ jr nz, .skip
+ dec a
+ ld [$cfcb], a
+ ld hl, $cd4f
+ xor a
+ ld [hli], a
+ ld [hl], $2
+ ld a, $4c
+ call Predef
+ call GBPalWhiteOutWithDelay3
+ call Func_378a8
+ call LoadFontTilePatterns
+ ld b, $5
+ call GoPAL_SET
+ call GBPalNormal
+ ld a, $e4
+ ld [$ff48], a
+ ld hl, $d730
+ set 6, [hl]
+ xor a
+ ld [W_SUBANIMSUBENTRYADDR], a
+ ld hl, wTrainerSpriteOffset
+ ld bc, $0014
+ call FillMemory
+ call Func_37395
+ ld hl, $d730
+ res 6, [hl]
+ xor a
+ ld [W_SUBANIMSUBENTRYADDR], a
+ call GBPalWhiteOutWithDelay3
+ ld a, $1
+ ld [$cfcb], a
+ call GoPAL_SET_CF1C
+ call Func_3e08
+ call ReloadTilesetTilePatterns
+.skip
+ call LoadScreenTilesFromBuffer2
+ call Delay3
+ call GBPalNormal
+ ld a, [$cc5e]
+ push af
+ jp CloseTextDisplay
UnnamedText_37390: ; 37390 (d:7390)
TX_FAR _UnnamedText_37390
db "@"
-INCBIN "baserom.gbc",$37395,$37467 - $37395
+Func_37395: ; 37395 (d:7395)
+ call Func_37754
+ xor a
+ ld hl, $cd4a
+ ld [hli], a
+ ld [hl], a
+ call Func_3775f
+ ld hl, UnnamedText_3746c
+ call PrintText
+ call SaveScreenTilesToBuffer1
+.loop
+ ld a, $3
+ ld [wMenuWatchedKeys], a
+ ld a, $2
+ ld [wMaxMenuItem], a
+ ld a, $c
+ ld [wTopMenuItemY], a
+ ld a, $f
+ ld [wTopMenuItemX], a
+ xor a
+ ld [wCurrentMenuItem], a
+ ld [wLastMenuItem], a
+ ld [$cc37], a
+ ld hl, $c48a
+ ld b, $5
+ ld c, $4
+ call TextBoxBorder
+ ld hl, $c4a0
+ ld de, UnnamedText_3745e
+ call PlaceString
+ call HandleMenuInput
+ and $2
+ jp nz, LoadScreenTilesFromBuffer1
+ ld a, [wCurrentMenuItem]
+ ld b, a
+ ld a, $3
+ sub b
+ ld [$cd50], a
+ ld hl, wPlayerCoins
+ ld c, a
+ ld a, [hli]
+ and a
+ jr nz, .skip1
+ ld a, [hl]
+ cp c
+ jr nc, .skip1
+ ld hl, UnnamedText_37476
+ call PrintText
+ jr .loop
+.skip1
+ call LoadScreenTilesFromBuffer1
+ call Func_37741
+ call Func_377d5
+ call Func_37480
+ ld a, $4
+ ld hl, $cd4d
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ call WaitForSoundToFinish
+ ld a, $c0
+ call PlaySound
+ ld hl, UnnamedText_37471
+ call PrintText
+ call Func_374ad
+ call Func_37588
+ ld hl, wPlayerCoins
+ ld a, [hli]
+ or [hl]
+ jr nz, .skip2
+ ld hl, UnnamedText_37467
+ call PrintText
+ ld c, $3c
+ jp DelayFrames
+.skip2
+ ld hl, UnnamedText_3747b
+ call PrintText
+ ld hl, $c49e
+ ld bc, $0d0f
+ xor a
+ ld [$d12c], a
+ ld a, $14
+ ld [$d125], a
+ call DisplayTextBoxID
+ ld a, [wCurrentMenuItem]
+ and a
+ ret nz
+ call Func_377ce
+ jp Func_37395
+
+UnnamedText_3745e: ; 3745e (d:745e)
+ db "×3",$4e
+ db "×2",$4e
+ db "×1@"
UnnamedText_37467: ; 37467 (d:7467)
TX_FAR _UnnamedText_37467
@@ -47751,29 +48644,756 @@ UnnamedText_3747b: ; 3747b (d:747b)
TX_FAR _UnnamedText_3747b
db "@"
-INCBIN "baserom.gbc",$37480,$37673 - $37480
+Func_37480: ; 37480 (d:7480)
+ ld hl, $cd4c
+ bit 7, [hl]
+ ret nz
+ ld a, [W_SUBANIMSUBENTRYADDR]
+ and a
+ jr nz, .skip1
+ call GenRandom
+ and a
+ jr z, .skip2
+ ld b, a
+ ld a, [$cc5b]
+ cp b
+ jr c, .skip3
+ ld a, $d2
+ cp b
+ jr c, .skip1
+ ld [hl], $0
+ ret
+.skip1
+ set 6, [hl]
+ ret
+.skip2
+ ld a, $3c
+ ld [W_SUBANIMSUBENTRYADDR], a
+ ret
+.skip3
+ set 7, [hl]
+ ret
+
+Func_374ad: ; 374ad (d:74ad)
+ ld c, $14
+.loop1
+ push bc
+ call Func_37813
+ call Func_37823
+ call Func_37833
+ ld c, $2
+ call DelayFrames
+ pop bc
+ dec c
+ jr nz, .loop1
+ xor a
+ ld [wTrainerSpriteOffset], a
+.loop2
+ call Func_37882
+ call Func_374df
+ call Func_374fb
+ call Func_37517
+ ret c
+ ld a, [$cf1b]
+ xor $1
+ inc a
+ ld c, a
+ call DelayFrames
+ jr .loop2
+
+Func_374df: ; 374df (d:74df)
+ ld a, [wTrainerSpriteOffset]
+ cp $1
+ jr c, .skip
+ ld de, wTrainerEngageDistance
+ ld a, [de]
+ rra
+ jr nc, .skip
+ ld hl, $cd4d
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ call Func_3752c
+ ret nz
+.skip
+ jp Func_37813
+
+Func_374fb: ; 374fb (d:74fb)
+ ld a, [wTrainerSpriteOffset]
+ cp $2
+ jr c, .skip
+ ld de, wTrainerFacingDirection
+ ld a, [de]
+ rra
+ jr nc, .skip
+ ld hl, $cd4e
+ ld a, [hl]
+ and a
+ ret z
+ dec [hl]
+ call Func_37552
+ ret z
+.skip
+ jp Func_37823
+
+Func_37517: ; 37517 (d:7517)
+ ld a, [wTrainerSpriteOffset]
+ cp $3
+ jr c, .skip
+ ld de, wTrainerScreenY
+ ld a, [de]
+ rra
+ jr nc, .skip
+ scf
+ ret
+.skip
+ call Func_37833
+ and a
+ ret
+
+Func_3752c: ; 3752c (d:752c)
+ call Func_376c0
+ ld hl, wTrainerScreenX
+ ld a, [$cd4c]
+ and $80
+ jr nz, .skip1
+ inc hl
+ ld a, [hl]
+ cp $a
+ jr nz, .skip2
+ ret
+.skip1
+ ld c, $3
+.loop
+ ld a, [hli]
+ cp $2
+ jr c, .skip2
+ dec c
+ jr nz, .loop
+ ret
+.skip2
+ inc a
+ ld hl, $cd4d
+ ld [hl], $0
+ ret
+
+Func_37552: ; 37552 (d:7552)
+ call Func_376b4
+ ld a, [$cd4c]
+ and $80
+ jr nz, .skip1
+ call Func_3756e
+ ret nz
+ jr .skip2
+.skip1
+ call Func_3756e
+ ld a, [de]
+ cp $7
+ ret nc
+.skip2
+ xor a
+ ld [$cd4e], a
+ ret
+
+Func_3756e: ; 3756e (d:756e)
+ ld hl, wTrainerScreenX
+ ld de, $cd44
+ ld a, [de]
+ cp [hl]
+ ret z
+ inc de
+ ld a, [de]
+ cp [hl]
+ ret z
+ inc hl
+ cp [hl]
+ ret z
+ inc hl
+ cp [hl]
+ ret z
+ inc de
+ ld a, [de]
+ cp [hl]
+ ret z
+ dec de
+ dec de
+ ret
+
+Func_37588: ; 37588 (d:7588)
+ call Func_376a8
+ ld a, [$cd50]
+ cp $2
+ jr z, .skip1
+ cp $1
+ jr z, .skip2
+ ld hl, wTrainerScreenX
+ ld de, $cd45
+ ld bc, $cd49
+ call Func_376a2
+ jp z, .skip5
+ ld hl, $cd43
+ ld de, $cd45
+ ld bc, $cd47
+ call Func_376a2
+ jr z, .skip5
+.skip1
+ ld hl, $cd43
+ ld de, $cd46
+ ld bc, $cd49
+ call Func_376a2
+ jr z, .skip5
+ ld hl, wTrainerScreenX
+ ld de, $cd44
+ ld bc, $cd47
+ call Func_376a2
+ jr z, .skip5
+.skip2
+ ld hl, $cd42
+ ld de, $cd45
+ ld bc, $cd48
+ call Func_376a2
+ jr z, .skip5
+ ld a, [$cd4c]
+ and $c0
+ jr z, .skip3
+ ld hl, $cd4f
+ dec [hl]
+ jr nz, .skip4
+.skip3
+ ld hl, UnnamedText_3769d
+ call PrintText
+.loop
+ xor a
+ ld [$c002], a
+ ret
+.skip4
+ call Func_37833
+ call DelayFrame
+ call Func_37833
+ call DelayFrame
+ jp Func_37588
+.skip5
+ ld a, [$cd4c]
+ and $c0
+ jr z, .skip4
+ and $80
+ jr nz, .skip6
+ ld a, [hl]
+ cp $7
+ jr c, .skip4
+.skip6
+ ld a, [hl]
+ sub $2
+ ld [wTrainerScreenX], a
+ ld hl, SlotRewardPointers
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ push de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, $cf4b
+ ld bc, $0004
+ call CopyData
+ pop hl
+ ld de, .asm_37638
+ push de
+ jp [hl]
+
+.asm_37638
+ ld a, [$ff47]
+ xor $40
+ ld [$ff47], a
+ ld c, $5
+ call DelayFrames
+ dec b
+ jr nz, .asm_37638
+ ld hl, $cd4a
+ ld [hl], d
+ inc hl
+ ld [hl], e
+ call Func_3775f
+ ld hl, UnnamedText_37665
+ call PrintText
+ call WaitForTextScrollButtonPress
+ call Func_3776b
+ call Func_3775f
+ ld a, $e4
+ ld [$ff48], a
+ jp .loop
+
+UnnamedText_37665: ; 37665 (d:7665)
+ db $08 ; asm
+ push bc
+ call Func_37728
+ ld hl, UnnamedText_37673
+ pop bc
+ inc bc
+ inc bc
+ inc bc
+ inc bc
+ ret
UnnamedText_37673: ; 37673 (d:7673)
TX_FAR _UnnamedText_37673
db "@"
-INCBIN "baserom.gbc",$37678,$37690 - $37678
+SlotRewardPointers: ; 37678 (d:7678)
+ dw SlotReward300Func
+ dw SlotReward300Text
+ dw SlotReward100Func
+ dw SlotReward100Text
+ dw SlotReward8Func
+ dw SlotReward8Text
+ dw SlotReward15Func
+ dw SlotReward15Text
+ dw SlotReward15Func
+ dw SlotReward15Text
+ dw SlotReward15Func
+ dw SlotReward15Text
+
+SlotReward300Text: ; 37690 (d:7690)
+ db "300@"
-SlotRewardValues:
- db "300@100@8@15@"
+SlotReward100Text: ; 37694 (d:7694)
+ db "100@"
+
+SlotReward8Text: ; 37698 (d:7698)
+ db "8@"
+
+SlotReward15Text: ; 3769a (d:769a)
+ db "15@"
UnnamedText_3769d: ; 3769d (d:769d)
TX_FAR _UnnamedText_3769d
db "@"
-INCBIN "baserom.gbc",$376a2,$378f5 - $376a2
+Func_376a2: ; 376a2 (d:76a2)
+ ld a, [de]
+ cp [hl]
+ ret nz
+ ld a, [bc]
+ cp [hl]
+ ret
+
+Func_376a8: ; 376a8 (d:76a8)
+ ld de, $cd47
+ ld hl, SlotMachineWheel3
+ ld a, [wTrainerScreenY]
+ call Func_376c9
+
+Func_376b4: ; 376b4 (d:76b4)
+ ld de, $cd44
+ ld hl, SlotMachineWheel2
+ ld a, [wTrainerFacingDirection]
+ call Func_376c9
+
+Func_376c0: ; 376c0 (d:76c0)
+ ld de, wTrainerScreenX
+ ld hl, SlotMachineWheel1
+ ld a, [wTrainerEngageDistance]
+
+Func_376c9: ; 376c9 (d:76c9)
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld c, $3
+.loop
+ ld a, [hli]
+ ld [de], a
+ inc de
+ inc hl
+ dec c
+ jr nz, .loop
+ ret
+
+SlotReward8Func: ; 376d7 (d:76d7)
+ ld hl, W_SUBANIMSUBENTRYADDR
+ ld a, [hl]
+ and a
+ jr z, .skip
+ dec [hl]
+.skip
+ ld b, $2
+ ld de, 8
+ ret
+
+SlotReward15Func: ; 376e5 (d:76e5)
+ ld hl, W_SUBANIMSUBENTRYADDR
+ ld a, [hl]
+ and a
+ jr z, .skip
+ dec [hl]
+.skip
+ ld b, $4
+ ld de, 15
+ ret
+
+SlotReward100Func: ; 376f3 (d:76f3)
+ ld a, $94
+ call PlaySound
+ xor a
+ ld [$cd4c], a
+ ld b, $8
+ ld de, 100
+ ret
+
+SlotReward300Func: ; 37702 (d:7702)
+ ld hl, UnnamedText_37722
+ call PrintText
+ ld a, $89
+ call PlaySound
+ call GenRandom
+ cp $80
+ ld a, $0
+ jr c, .skip
+ ld [$cd4c], a
+.skip
+ ld [W_SUBANIMSUBENTRYADDR], a
+ ld b, $14
+ ld de, 300
+ ret
+
+UnnamedText_37722: ; 37722 (d:7722)
+ TX_FAR _UnnamedText_37722
+ db $0a, "@"
+
+Func_37728: ; 37728 (d:7728)
+ ld hl, $c4ba
+ ld a, [wTrainerScreenX]
+ add $25
+ ld [hli], a
+ inc a
+ ld [hld], a
+ inc a
+ ld de, $ffec
+ add hl, de
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld hl, $c4f2
+ ld [hl], $ee
+ ret
+
+Func_37741: ; 37741 (d:7741)
+ ld hl, $cd4b
+ ld a, [$cd50]
+ ld [hld], a
+ xor a
+ ld [hli], a
+ ld de, $d5a5
+ ld c, $2
+ ld a, $c
+ call Predef
+
+Func_37754: ; 37754 (d:7754)
+ ld hl, $c3b9
+ ld de, wPlayerCoins
+ ld c, $2
+ jp PrintBCDNumber
+
+Func_3775f: ; 3775f (d:775f)
+ ld hl, $c3bf
+ ld de, $cd4a
+ ld bc, $8204
+ jp PrintNumber
+
+Func_3776b: ; 3776b (d:776b)
+ ld a, $1
+ ld [$c002], a
+ call WaitForSoundToFinish
+ ld hl, $cd46
+ xor a
+ ld [hli], a
+ inc a
+ ld [hl], a
+ ld a, $5
+ ld [W_SUBANIMTRANSFORM], a
+.loop
+ ld a, [$cd4b]
+ ld l, a
+ ld a, [$cd4a]
+ ld h, a
+ or l
+ ret z
+ ld de, $ffff
+ add hl, de
+ ld a, l
+ ld [$cd4b], a
+ ld a, h
+ ld [$cd4a], a
+ ld hl, $cd47
+ ld de, $d5a5
+ ld c, $2
+ ld a, $b
+ call Predef
+ call Func_37754
+ call Func_3775f
+ ld a, $bf
+ call PlaySound
+ ld a, [W_SUBANIMTRANSFORM]
+ dec a
+ jr nz, .skip1
+ ld a, [$ff48]
+ xor $40
+ ld [$ff48], a
+ ld a, $5
+.skip1
+ ld [W_SUBANIMTRANSFORM], a
+ ld a, [wTrainerScreenX]
+ cp $7
+ ld c, $8
+ jr nc, .skip2
+ srl c
+.skip2
+ call DelayFrames
+ jr .loop
+
+Func_377ce: ; 377ce (d:77ce)
+ ld a, $23
+ ld [$d08a], a
+ jr Func_377e3
+
+Func_377d5: ; 377d5 (d:77d5)
+ ld a, $14
+ ld [$d08a], a
+ ld a, [$cd50]
+ dec a
+ jr z, Func_377fb
+ dec a
+ jr z, Func_377ef
+
+Func_377e3: ; 377e3 (d:77e3)
+ ld hl, $c3cb
+ call Func_377fe
+ ld hl, $c46b
+ call Func_377fe
+
+Func_377ef: ; 377ef (d:77ef)
+ ld hl, $c3f3
+ call Func_377fe
+ ld hl, $c443
+ call Func_377fe
+
+Func_377fb: ; 377fb (d:77fb)
+ ld hl, $c41b
+
+Func_377fe: ; 377fe (d:77fe)
+ ld a, [$d08a]
+ ld [hl], a
+ ld bc, $000d
+ add hl, bc
+ ld [hl], a
+ ld bc, $0007
+ add hl, bc
+ inc a
+ ld [hl], a
+ ld bc, $000d
+ add hl, bc
+ ld [hl], a
+ ret
+
+Func_37813: ; 37813 (d:7813)
+ ld bc, SlotMachineWheel1
+ ld de, wTrainerEngageDistance
+ ld hl, wOAMBuffer
+ ld a, $30
+ ld [W_BASECOORDX], a
+ jr Func_37841
+
+Func_37823: ; 37823 (d:7823)
+ ld bc, SlotMachineWheel2
+ ld de, wTrainerFacingDirection
+ ld hl, $c330
+ ld a, $50
+ ld [W_BASECOORDX], a
+ jr Func_37841
+
+Func_37833: ; 37833 (d:7833)
+ ld bc, SlotMachineWheel3
+ ld de, wTrainerScreenY
+ ld hl, $c360
+ ld a, $70
+ ld [W_BASECOORDX], a
+
+Func_37841: ; 37841 (d:7841)
+ ld a, $58
+ ld [W_BASECOORDY], a
+ push de
+ ld a, [de]
+ ld d, b
+ add c
+ ld e, a
+ jr nc, Func_3784e
+ inc d
+
+Func_3784e: ; 3784e (d:784e)
+ ld a, [W_BASECOORDY]
+ ld [hli], a
+ ld a, [W_BASECOORDX]
+ ld [hli], a
+ ld a, [de]
+ ld [hli], a
+ ld a, $80
+ ld [hli], a
+ ld a, [W_BASECOORDY]
+ ld [hli], a
+ ld a, [W_BASECOORDX]
+ add $8
+ ld [hli], a
+ ld a, [de]
+ inc a
+ ld [hli], a
+ ld a, $80
+ ld [hli], a
+ inc de
+ ld a, [W_BASECOORDY]
+ sub $8
+ ld [W_BASECOORDY], a
+ cp $28
+ jr nz, Func_3784e
+ pop de
+ ld a, [de]
+ inc a
+ cp $1e
+ jr nz, .skip
+ xor a
+.skip
+ ld [de], a
+ ret
+
+Func_37882: ; 37882 (d:7882)
+ call DelayFrame
+ call GetJoypadStateLowSensitivity
+ ld a, [$ffb5]
+ and $1
+ ret z
+ ld hl, wTrainerSpriteOffset
+ ld a, [hl]
+ dec a
+ ld de, $cd4d
+ jr z, .skip
+ dec a
+ ld de, $cd4e
+ jr z, .skip
+.loop
+ inc [hl]
+ ld a, $be
+ jp PlaySound
+.skip
+ ld a, [de]
+ and a
+ ret nz
+ jr .loop
+
+Func_378a8: ; 378a8 (d:78a8)
+ call DisableLCD
+ ld hl, SlotMachineTiles2
+ ld de, $8000
+ ld bc, $01c0
+ ld a, BANK(SlotMachineTiles2)
+ call FarCopyData2
+ ld hl, SlotMachineTiles1
+ ld de, $9000
+ ld bc, $0250
+ ld a, BANK(SlotMachineTiles1)
+ call FarCopyData2
+ ld hl, SlotMachineTiles2
+ ld de, $9250
+ ld bc, $01c0
+ ld a, BANK(SlotMachineTiles2)
+ call FarCopyData2
+ ld hl, SlotMachineMap
+ ld de, wTileMap
+ ld bc, $00f0
+ call CopyData
+ call EnableLCD
+ ld hl, wTrainerEngageDistance
+ ld a, $1c
+ ld [hli], a
+ ld [hli], a
+ ld [hl], a
+ call Func_37813
+ call Func_37823
+ jp Func_37833
SlotMachineMap: ; 378f5 (d:78f5)
INCBIN "gfx/tilemaps/slotmachine.map"
-INCBIN "baserom.gbc",$379e5,$37af1 - $379e5
-
-; 0x37af1
+SLOTS7 EQU $0200
+SLOTSBAR EQU $0604
+SLOTSCHERRY EQU $0A08
+SLOTSFISH EQU $0E0C
+SLOTSBIRD EQU $1210
+SLOTSMOUSE EQU $1614
+
+SlotMachineWheel1: ; 379e5 (d:79e5)
+ dw SLOTS7
+ dw SLOTSMOUSE
+ dw SLOTSFISH
+ dw SLOTSBAR
+ dw SLOTSCHERRY
+ dw SLOTS7
+ dw SLOTSFISH
+ dw SLOTSBIRD
+ dw SLOTSBAR
+ dw SLOTSCHERRY
+ dw SLOTS7
+ dw SLOTSMOUSE
+ dw SLOTSBIRD
+ dw SLOTSBAR
+ dw SLOTSCHERRY
+ dw SLOTS7
+ dw SLOTSMOUSE
+ dw SLOTSFISH
+
+SlotMachineWheel2: ; 37a09 (d:7a09)
+ dw SLOTS7
+ dw SLOTSFISH
+ dw SLOTSCHERRY
+ dw SLOTSBIRD
+ dw SLOTSMOUSE
+ dw SLOTSBAR
+ dw SLOTSCHERRY
+ dw SLOTSFISH
+ dw SLOTSBIRD
+ dw SLOTSCHERRY
+ dw SLOTSBAR
+ dw SLOTSFISH
+ dw SLOTSBIRD
+ dw SLOTSCHERRY
+ dw SLOTSMOUSE
+ dw SLOTS7
+ dw SLOTSFISH
+ dw SLOTSCHERRY
+
+SlotMachineWheel3: ; 37a2d (d:7a2d)
+ dw SLOTS7
+ dw SLOTSBIRD
+ dw SLOTSFISH
+ dw SLOTSCHERRY
+ dw SLOTSMOUSE
+ dw SLOTSBIRD
+ dw SLOTSFISH
+ dw SLOTSCHERRY
+ dw SLOTSMOUSE
+ dw SLOTSBIRD
+ dw SLOTSFISH
+ dw SLOTSCHERRY
+ dw SLOTSMOUSE
+ dw SLOTSBIRD
+ dw SLOTSBAR
+ dw SLOTS7
+ dw SLOTSBIRD
+ dw SLOTSFISH
+
+SlotMachineTiles1: ; 37a51 (d:7a51)
IF _RED
INCBIN "gfx/red/slotmachine1.2bpp"
ENDC
@@ -47781,7 +49401,65 @@ IF _BLUE
INCBIN "gfx/blue/slotmachine1.2bpp"
ENDC
-INCBIN "baserom.gbc",$37ca1,$37d41 - $37ca1
+Func_37ca1: ; 37ca1 (d:7ca1)
+ ld hl, $ccd3
+ ld a, [$cd38]
+ dec a
+ ld [$cd38], a
+ ld d, $0
+ ld e, a
+ add hl, de
+ ld d, h
+ ld e, l
+ ld hl, PointerTable_37ce6
+ ld a, [$d12f]
+ add a
+ ld b, $0
+ ld c, a
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [W_YCOORD]
+ ld b, a
+ ld a, [W_XCOORD]
+ ld c, a
+.asm_37cc7
+ ld a, [hli]
+ cp b
+ jr nz, .asm_37ce1
+ ld a, [hli]
+ cp c
+ jr nz, .asm_37ce2
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+.asm_37cd2
+ ld a, [hli]
+ cp $ff
+ ret z
+ ld [de], a
+ inc de
+ ld a, [$cd38]
+ inc a
+ ld [$cd38], a
+ jr .asm_37cd2
+.asm_37ce1
+ inc hl
+.asm_37ce2
+ inc hl
+ inc hl
+ jr .asm_37cc7
+
+PointerTable_37ce6: ; 37ce6 (d:7ce6)
+ dw Unknown_37cea
+ dw Unknown_37d06
+
+Unknown_37cea: ; 37cea (d:7cea)
+INCBIN "baserom.gbc",$37cea,$37d06 - $37cea
+
+Unknown_37d06: ; 37d06 (d:7d06)
+INCBIN "baserom.gbc",$37d06,$37d41 - $37d06
_Multiply: ; 37d41 (d:7d41)
ld a, $8
@@ -47927,7 +49605,50 @@ _Divide: ; 37da5 (d:7da5)
ld [H_DIVIDEND], a ; $FF00+$95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
ret
-INCBIN "baserom.gbc",$37e2d,$37e79 - $37e2d
+Func_37e2d: ; 37e2d (d:7e2d)
+ ld a, [wTrainerSpriteOffset]
+ cp $fd
+ jr z, .asm_37e66
+ cp $fe
+ jr z, .asm_37e6a
+ cp $ff
+ jr z, .asm_37e6e
+ ld b, BANK(Func_2ff09)
+ ld hl, Func_2ff09
+ call Bankswitch
+ ld a, [wTrainerSpriteOffset]
+ and a
+ ret z
+ ld a, [$cd05]
+ ld b, a
+ ld a, [wTrainerFacingDirection]
+ inc a
+ cp b
+ jr z, .asm_37e58
+ ld a, $fd
+ jr .asm_37e5a
+.asm_37e58
+ ld a, $fa
+.asm_37e5a
+ ld [$cc5b], a
+ ld a, [H_LOADEDROMBANK]
+ ld [$cc5e], a
+ call Func_3730e
+ ret
+.asm_37e66
+ ld a, $28
+ jr .asm_37e70
+.asm_37e6a
+ ld a, $29
+ jr .asm_37e70
+.asm_37e6e
+ ld a, $2a
+.asm_37e70
+ push af
+ call EnableAutoTextBoxDrawing
+ pop af
+ call Func_3ef5
+ ret
UnnamedText_37e79: ; 37e79 (d:7e79)
TX_FAR _UnnamedText_37e79
@@ -47946,172 +49667,171 @@ SECTION "bankE",ROMX,BANK[$E]
Moves: ; 38000 (e:4000)
; characteristics of each move
; animation, effect, power, type, accuracy, PP
-db POUND ,NO_ADDITIONAL_EFFECT ,$28,NORMAL, $FF,35
-db KARATE_CHOP ,NO_ADDITIONAL_EFFECT ,$32,NORMAL, $FF,25
-db DOUBLESLAP ,TWO_TO_FIVE_ATTACKS_EFFECT,$0F,NORMAL, $D8,10
-db COMET_PUNCH ,TWO_TO_FIVE_ATTACKS_EFFECT,$12,NORMAL, $D8,15
-db MEGA_PUNCH ,NO_ADDITIONAL_EFFECT ,$50,NORMAL, $D8,20
-db PAY_DAY ,PAY_DAY_EFFECT ,$28,NORMAL, $FF,20
-db FIRE_PUNCH ,BURN_SIDE_EFFECT1 ,$4B,FIRE, $FF,15
-db ICE_PUNCH ,FREEZE_SIDE_EFFECT ,$4B,ICE, $FF,15
-db THUNDERPUNCH,PARALYZE_SIDE_EFFECT1 ,$4B,ELECTRIC,$FF,15
-db SCRATCH ,NO_ADDITIONAL_EFFECT ,$28,NORMAL, $FF,35
-db VICEGRIP ,NO_ADDITIONAL_EFFECT ,$37,NORMAL, $FF,30
-db GUILLOTINE ,OHKO_EFFECT ,$01,NORMAL, $4C,5
-db RAZOR_WIND ,CHARGE_EFFECT ,$50,NORMAL, $BF,10
-db SWORDS_DANCE,ATTACK_UP2_EFFECT ,$00,NORMAL, $FF,30
-db CUT ,NO_ADDITIONAL_EFFECT ,$32,NORMAL, $F2,30
-db GUST ,NO_ADDITIONAL_EFFECT ,$28,NORMAL, $FF,35
-db WING_ATTACK ,NO_ADDITIONAL_EFFECT ,$23,FLYING, $FF,35
-db WHIRLWIND ,SWITCH_AND_TELEPORT_EFFECT,$00,NORMAL, $D8,20
-db FLY ,FLY_EFFECT ,$46,FLYING, $F2,15
-db BIND ,TRAPPING_EFFECT ,$0F,NORMAL, $BF,20
-db SLAM ,NO_ADDITIONAL_EFFECT ,$50,NORMAL, $BF,20
-db VINE_WHIP ,NO_ADDITIONAL_EFFECT ,$23,GRASS, $FF,10
-db STOMP ,FLINCH_SIDE_EFFECT2 ,$41,NORMAL, $FF,20
-db DOUBLE_KICK ,ATTACK_TWICE_EFFECT ,$1E,FIGHTING,$FF,30
-db MEGA_KICK ,NO_ADDITIONAL_EFFECT ,$78,NORMAL, $BF,5
-db JUMP_KICK ,JUMP_KICK_EFFECT ,$46,FIGHTING,$F2,25
-db ROLLING_KICK,FLINCH_SIDE_EFFECT2 ,$3C,FIGHTING,$D8,15
-db SAND_ATTACK ,ACCURACY_DOWN1_EFFECT ,$00,NORMAL, $FF,15
-db HEADBUTT ,FLINCH_SIDE_EFFECT2 ,$46,NORMAL, $FF,15
-db HORN_ATTACK ,NO_ADDITIONAL_EFFECT ,$41,NORMAL, $FF,25
-db FURY_ATTACK ,TWO_TO_FIVE_ATTACKS_EFFECT,$0F,NORMAL, $D8,20
-db HORN_DRILL ,OHKO_EFFECT ,$01,NORMAL, $4C,5
-db TACKLE ,NO_ADDITIONAL_EFFECT ,$23,NORMAL, $F2,35
-db BODY_SLAM ,PARALYZE_SIDE_EFFECT2 ,$55,NORMAL, $FF,15
-db WRAP ,TRAPPING_EFFECT ,$0F,NORMAL, $D8,20
-db TAKE_DOWN ,RECOIL_EFFECT ,$5A,NORMAL, $D8,20
-db THRASH ,THRASH_PETAL_DANCE_EFFECT ,$5A,NORMAL, $FF,20
-db DOUBLE_EDGE ,RECOIL_EFFECT ,$64,NORMAL, $FF,15
-db TAIL_WHIP ,DEFENSE_DOWN1_EFFECT ,$00,NORMAL, $FF,30
-db POISON_STING,POISON_SIDE_EFFECT1 ,$0F,POISON, $FF,35
-db TWINEEDLE ,TWINEEDLE_EFFECT ,$19,BUG, $FF,20
-db PIN_MISSILE ,TWO_TO_FIVE_ATTACKS_EFFECT,$0E,BUG, $D8,20
-db LEER ,DEFENSE_DOWN1_EFFECT ,$00,NORMAL, $FF,30
-db BITE ,FLINCH_SIDE_EFFECT1 ,$3C,NORMAL, $FF,25
-db GROWL ,ATTACK_DOWN1_EFFECT ,$00,NORMAL, $FF,40
-db ROAR ,SWITCH_AND_TELEPORT_EFFECT,$00,NORMAL, $FF,20
-db SING ,SLEEP_EFFECT ,$00,NORMAL, $8C,15
-db SUPERSONIC ,CONFUSION_EFFECT ,$00,NORMAL, $8C,20
-db SONICBOOM ,SPECIAL_DAMAGE_EFFECT ,$01,NORMAL, $E5,20
-db DISABLE ,DISABLE_EFFECT ,$00,NORMAL, $8C,20
-db ACID ,DEFENSE_DOWN_SIDE_EFFECT ,$28,POISON, $FF,30
-db EMBER ,BURN_SIDE_EFFECT1 ,$28,FIRE, $FF,25
-db FLAMETHROWER,BURN_SIDE_EFFECT1 ,$5F,FIRE, $FF,15
-db MIST ,MIST_EFFECT ,$00,ICE, $FF,30
-db WATER_GUN ,NO_ADDITIONAL_EFFECT ,$28,WATER, $FF,25
-db HYDRO_PUMP ,NO_ADDITIONAL_EFFECT ,$78,WATER, $CC,5
-db SURF ,NO_ADDITIONAL_EFFECT ,$5F,WATER, $FF,15
-db ICE_BEAM ,FREEZE_SIDE_EFFECT ,$5F,ICE, $FF,10
-db BLIZZARD ,FREEZE_SIDE_EFFECT ,$78,ICE, $E5,5
-db PSYBEAM ,CONFUSION_SIDE_EFFECT ,$41,PSYCHIC, $FF,20
-db BUBBLEBEAM ,SPEED_DOWN_SIDE_EFFECT ,$41,WATER, $FF,20
-db AURORA_BEAM ,ATTACK_DOWN_SIDE_EFFECT ,$41,ICE, $FF,20
-db HYPER_BEAM ,HYPER_BEAM_EFFECT ,$96,NORMAL, $E5,5
-db PECK ,NO_ADDITIONAL_EFFECT ,$23,FLYING, $FF,35
-db DRILL_PECK ,NO_ADDITIONAL_EFFECT ,$50,FLYING, $FF,20
-db SUBMISSION ,RECOIL_EFFECT ,$50,FIGHTING,$CC,25
-db LOW_KICK ,FLINCH_SIDE_EFFECT2 ,$32,FIGHTING,$E5,20
-db COUNTER ,NO_ADDITIONAL_EFFECT ,$01,FIGHTING,$FF,20
-db SEISMIC_TOSS,SPECIAL_DAMAGE_EFFECT ,$01,FIGHTING,$FF,20
-db STRENGTH ,NO_ADDITIONAL_EFFECT ,$50,NORMAL, $FF,15
-db ABSORB ,DRAIN_HP_EFFECT ,$14,GRASS, $FF,20
-db MEGA_DRAIN ,DRAIN_HP_EFFECT ,$28,GRASS, $FF,10
-db LEECH_SEED ,LEECH_SEED_EFFECT ,$00,GRASS, $E5,10
-db GROWTH ,SPECIAL_UP1_EFFECT ,$00,NORMAL, $FF,40
-db RAZOR_LEAF ,NO_ADDITIONAL_EFFECT ,$37,GRASS, $F2,25
-db SOLARBEAM ,CHARGE_EFFECT ,$78,GRASS, $FF,10
-db POISONPOWDER,POISON_EFFECT ,$00,POISON, $BF,35
-db STUN_SPORE ,PARALYZE_EFFECT ,$00,GRASS, $BF,30
-db SLEEP_POWDER,SLEEP_EFFECT ,$00,GRASS, $BF,15
-db PETAL_DANCE ,THRASH_PETAL_DANCE_EFFECT ,$46,GRASS, $FF,20
-db STRING_SHOT ,SPEED_DOWN1_EFFECT ,$00,BUG, $F2,40
-db DRAGON_RAGE ,SPECIAL_DAMAGE_EFFECT ,$01,DRAGON, $FF,10
-db FIRE_SPIN ,TRAPPING_EFFECT ,$0F,FIRE, $B2,15
-db THUNDERSHOCK,PARALYZE_SIDE_EFFECT1 ,$28,ELECTRIC,$FF,30
-db THUNDERBOLT ,PARALYZE_SIDE_EFFECT1 ,$5F,ELECTRIC,$FF,15
-db THUNDER_WAVE,PARALYZE_EFFECT ,$00,ELECTRIC,$FF,20
-db THUNDER ,PARALYZE_SIDE_EFFECT1 ,$78,ELECTRIC,$B2,10
-db ROCK_THROW ,NO_ADDITIONAL_EFFECT ,$32,ROCK, $A5,15
-db EARTHQUAKE ,NO_ADDITIONAL_EFFECT ,$64,GROUND, $FF,10
-db FISSURE ,OHKO_EFFECT ,$01,GROUND, $4C,5
-db DIG ,CHARGE_EFFECT ,$64,GROUND, $FF,10
-db TOXIC ,POISON_EFFECT ,$00,POISON, $D8,10
-db CONFUSION ,CONFUSION_SIDE_EFFECT ,$32,PSYCHIC, $FF,25
-db PSYCHIC_M ,SPECIAL_DOWN_SIDE_EFFECT ,$5A,PSYCHIC, $FF,10
-db HYPNOSIS ,SLEEP_EFFECT ,$00,PSYCHIC, $99,20
-db MEDITATE ,ATTACK_UP1_EFFECT ,$00,PSYCHIC, $FF,40
-db AGILITY ,SPEED_UP2_EFFECT ,$00,PSYCHIC, $FF,30
-db QUICK_ATTACK,NO_ADDITIONAL_EFFECT ,$28,NORMAL, $FF,30
-db RAGE ,RAGE_EFFECT ,$14,NORMAL, $FF,20
-db TELEPORT ,SWITCH_AND_TELEPORT_EFFECT,$00,PSYCHIC, $FF,20
-db NIGHT_SHADE ,SPECIAL_DAMAGE_EFFECT ,$00,GHOST, $FF,15
-db MIMIC ,MIMIC_EFFECT ,$00,NORMAL, $FF,10
-db SCREECH ,DEFENSE_DOWN2_EFFECT ,$00,NORMAL, $D8,40
-db DOUBLE_TEAM ,EVASION_UP1_EFFECT ,$00,NORMAL, $FF,15
-db RECOVER ,HEAL_EFFECT ,$00,NORMAL, $FF,20
-db HARDEN ,DEFENSE_UP1_EFFECT ,$00,NORMAL, $FF,30
-db MINIMIZE ,EVASION_UP1_EFFECT ,$00,NORMAL, $FF,20
-db SMOKESCREEN ,ACCURACY_DOWN1_EFFECT ,$00,NORMAL, $FF,20
-db CONFUSE_RAY ,CONFUSION_EFFECT ,$00,GHOST, $FF,10
-db WITHDRAW ,DEFENSE_UP1_EFFECT ,$00,WATER, $FF,40
-db DEFENSE_CURL,DEFENSE_UP1_EFFECT ,$00,NORMAL, $FF,40
-db BARRIER ,DEFENSE_UP2_EFFECT ,$00,PSYCHIC, $FF,30
-db LIGHT_SCREEN,LIGHT_SCREEN_EFFECT ,$00,PSYCHIC, $FF,30
-db HAZE ,HAZE_EFFECT ,$00,ICE, $FF,30
-db REFLECT ,REFLECT_EFFECT ,$00,PSYCHIC, $FF,20
-db FOCUS_ENERGY,FOCUS_ENERGY_EFFECT ,$00,NORMAL, $FF,30
-db BIDE ,BIDE_EFFECT ,$00,NORMAL, $FF,10
-db METRONOME ,METRONOME_EFFECT ,$00,NORMAL, $FF,10
-db MIRROR_MOVE ,MIRROR_MOVE_EFFECT ,$00,FLYING, $FF,20
-db SELFDESTRUCT,EXPLODE_EFFECT ,$82,NORMAL, $FF,5
-db EGG_BOMB ,NO_ADDITIONAL_EFFECT ,$64,NORMAL, $BF,10
-db LICK ,PARALYZE_SIDE_EFFECT2 ,$14,GHOST, $FF,30
-db SMOG ,POISON_SIDE_EFFECT2 ,$14,POISON, $B2,20
-db SLUDGE ,POISON_SIDE_EFFECT2 ,$41,POISON, $FF,20
-db BONE_CLUB ,FLINCH_SIDE_EFFECT1 ,$41,GROUND, $D8,20
-db FIRE_BLAST ,BURN_SIDE_EFFECT2 ,$78,FIRE, $D8,5
-db WATERFALL ,NO_ADDITIONAL_EFFECT ,$50,WATER, $FF,15
-db CLAMP ,TRAPPING_EFFECT ,$23,WATER, $BF,10
-db SWIFT ,SWIFT_EFFECT ,$3C,NORMAL, $FF,20
-db SKULL_BASH ,CHARGE_EFFECT ,$64,NORMAL, $FF,15
-db SPIKE_CANNON,TWO_TO_FIVE_ATTACKS_EFFECT,$14,NORMAL, $FF,15
-db CONSTRICT ,SPEED_DOWN_SIDE_EFFECT ,$0A,NORMAL, $FF,35
-db AMNESIA ,SPECIAL_UP2_EFFECT ,$00,PSYCHIC, $FF,20
-db KINESIS ,ACCURACY_DOWN1_EFFECT ,$00,PSYCHIC, $CC,15
-db SOFTBOILED ,HEAL_EFFECT ,$00,NORMAL, $FF,10
-db HI_JUMP_KICK,JUMP_KICK_EFFECT ,$55,FIGHTING,$E5,20
-db GLARE ,PARALYZE_EFFECT ,$00,NORMAL, $BF,30
-db DREAM_EATER ,DREAM_EATER_EFFECT ,$64,PSYCHIC, $FF,15
-db POISON_GAS ,POISON_EFFECT ,$00,POISON, $8C,40
-db BARRAGE ,TWO_TO_FIVE_ATTACKS_EFFECT,$0F,NORMAL, $D8,20
-db LEECH_LIFE ,DRAIN_HP_EFFECT ,$14,BUG, $FF,15
-db LOVELY_KISS ,SLEEP_EFFECT ,$00,NORMAL, $BF,10
-db SKY_ATTACK ,CHARGE_EFFECT ,$8C,FLYING, $E5,5
-db TRANSFORM ,TRANSFORM_EFFECT ,$00,NORMAL, $FF,10
-db BUBBLE ,SPEED_DOWN_SIDE_EFFECT ,$14,WATER, $FF,30
-db DIZZY_PUNCH ,NO_ADDITIONAL_EFFECT ,$46,NORMAL, $FF,10
-db SPORE ,SLEEP_EFFECT ,$00,GRASS, $FF,15
-db FLASH ,ACCURACY_DOWN1_EFFECT ,$00,NORMAL, $B2,20
-db PSYWAVE ,SPECIAL_DAMAGE_EFFECT ,$01,PSYCHIC, $CC,15
-db SPLASH ,SPLASH_EFFECT ,$00,NORMAL, $FF,40
-db ACID_ARMOR ,DEFENSE_UP2_EFFECT ,$00,POISON, $FF,40
-db CRABHAMMER ,NO_ADDITIONAL_EFFECT ,$5A,WATER, $D8,10
-db EXPLOSION ,EXPLODE_EFFECT ,$AA,NORMAL, $FF,5
-db FURY_SWIPES ,TWO_TO_FIVE_ATTACKS_EFFECT,$12,NORMAL, $CC,15
-db BONEMERANG ,ATTACK_TWICE_EFFECT ,$32,GROUND, $E5,10
-db REST ,HEAL_EFFECT ,$00,PSYCHIC, $FF,10
-db ROCK_SLIDE ,NO_ADDITIONAL_EFFECT ,$4B,ROCK, $E5,10
-db HYPER_FANG ,FLINCH_SIDE_EFFECT1 ,$50,NORMAL, $E5,15
-db SHARPEN ,ATTACK_UP1_EFFECT ,$00,NORMAL, $FF,30
-db CONVERSION ,CONVERSION_EFFECT ,$00,NORMAL, $FF,30
-db TRI_ATTACK ,NO_ADDITIONAL_EFFECT ,$50,NORMAL, $FF,10
-db SUPER_FANG ,SUPER_FANG_EFFECT ,$01,NORMAL, $E5,10
-db SLASH ,NO_ADDITIONAL_EFFECT ,$46,NORMAL, $FF,20
-db SUBSTITUTE ,SUBSTITUTE_EFFECT ,$00,NORMAL, $FF,10
-db STRUGGLE ,RECOIL_EFFECT ,$32,NORMAL, $FF,10
-
+ db POUND ,NO_ADDITIONAL_EFFECT ,$28,NORMAL, $FF,35
+ db KARATE_CHOP ,NO_ADDITIONAL_EFFECT ,$32,NORMAL, $FF,25
+ db DOUBLESLAP ,TWO_TO_FIVE_ATTACKS_EFFECT,$0F,NORMAL, $D8,10
+ db COMET_PUNCH ,TWO_TO_FIVE_ATTACKS_EFFECT,$12,NORMAL, $D8,15
+ db MEGA_PUNCH ,NO_ADDITIONAL_EFFECT ,$50,NORMAL, $D8,20
+ db PAY_DAY ,PAY_DAY_EFFECT ,$28,NORMAL, $FF,20
+ db FIRE_PUNCH ,BURN_SIDE_EFFECT1 ,$4B,FIRE, $FF,15
+ db ICE_PUNCH ,FREEZE_SIDE_EFFECT ,$4B,ICE, $FF,15
+ db THUNDERPUNCH,PARALYZE_SIDE_EFFECT1 ,$4B,ELECTRIC,$FF,15
+ db SCRATCH ,NO_ADDITIONAL_EFFECT ,$28,NORMAL, $FF,35
+ db VICEGRIP ,NO_ADDITIONAL_EFFECT ,$37,NORMAL, $FF,30
+ db GUILLOTINE ,OHKO_EFFECT ,$01,NORMAL, $4C,5
+ db RAZOR_WIND ,CHARGE_EFFECT ,$50,NORMAL, $BF,10
+ db SWORDS_DANCE,ATTACK_UP2_EFFECT ,$00,NORMAL, $FF,30
+ db CUT ,NO_ADDITIONAL_EFFECT ,$32,NORMAL, $F2,30
+ db GUST ,NO_ADDITIONAL_EFFECT ,$28,NORMAL, $FF,35
+ db WING_ATTACK ,NO_ADDITIONAL_EFFECT ,$23,FLYING, $FF,35
+ db WHIRLWIND ,SWITCH_AND_TELEPORT_EFFECT,$00,NORMAL, $D8,20
+ db FLY ,FLY_EFFECT ,$46,FLYING, $F2,15
+ db BIND ,TRAPPING_EFFECT ,$0F,NORMAL, $BF,20
+ db SLAM ,NO_ADDITIONAL_EFFECT ,$50,NORMAL, $BF,20
+ db VINE_WHIP ,NO_ADDITIONAL_EFFECT ,$23,GRASS, $FF,10
+ db STOMP ,FLINCH_SIDE_EFFECT2 ,$41,NORMAL, $FF,20
+ db DOUBLE_KICK ,ATTACK_TWICE_EFFECT ,$1E,FIGHTING,$FF,30
+ db MEGA_KICK ,NO_ADDITIONAL_EFFECT ,$78,NORMAL, $BF,5
+ db JUMP_KICK ,JUMP_KICK_EFFECT ,$46,FIGHTING,$F2,25
+ db ROLLING_KICK,FLINCH_SIDE_EFFECT2 ,$3C,FIGHTING,$D8,15
+ db SAND_ATTACK ,ACCURACY_DOWN1_EFFECT ,$00,NORMAL, $FF,15
+ db HEADBUTT ,FLINCH_SIDE_EFFECT2 ,$46,NORMAL, $FF,15
+ db HORN_ATTACK ,NO_ADDITIONAL_EFFECT ,$41,NORMAL, $FF,25
+ db FURY_ATTACK ,TWO_TO_FIVE_ATTACKS_EFFECT,$0F,NORMAL, $D8,20
+ db HORN_DRILL ,OHKO_EFFECT ,$01,NORMAL, $4C,5
+ db TACKLE ,NO_ADDITIONAL_EFFECT ,$23,NORMAL, $F2,35
+ db BODY_SLAM ,PARALYZE_SIDE_EFFECT2 ,$55,NORMAL, $FF,15
+ db WRAP ,TRAPPING_EFFECT ,$0F,NORMAL, $D8,20
+ db TAKE_DOWN ,RECOIL_EFFECT ,$5A,NORMAL, $D8,20
+ db THRASH ,THRASH_PETAL_DANCE_EFFECT ,$5A,NORMAL, $FF,20
+ db DOUBLE_EDGE ,RECOIL_EFFECT ,$64,NORMAL, $FF,15
+ db TAIL_WHIP ,DEFENSE_DOWN1_EFFECT ,$00,NORMAL, $FF,30
+ db POISON_STING,POISON_SIDE_EFFECT1 ,$0F,POISON, $FF,35
+ db TWINEEDLE ,TWINEEDLE_EFFECT ,$19,BUG, $FF,20
+ db PIN_MISSILE ,TWO_TO_FIVE_ATTACKS_EFFECT,$0E,BUG, $D8,20
+ db LEER ,DEFENSE_DOWN1_EFFECT ,$00,NORMAL, $FF,30
+ db BITE ,FLINCH_SIDE_EFFECT1 ,$3C,NORMAL, $FF,25
+ db GROWL ,ATTACK_DOWN1_EFFECT ,$00,NORMAL, $FF,40
+ db ROAR ,SWITCH_AND_TELEPORT_EFFECT,$00,NORMAL, $FF,20
+ db SING ,SLEEP_EFFECT ,$00,NORMAL, $8C,15
+ db SUPERSONIC ,CONFUSION_EFFECT ,$00,NORMAL, $8C,20
+ db SONICBOOM ,SPECIAL_DAMAGE_EFFECT ,$01,NORMAL, $E5,20
+ db DISABLE ,DISABLE_EFFECT ,$00,NORMAL, $8C,20
+ db ACID ,DEFENSE_DOWN_SIDE_EFFECT ,$28,POISON, $FF,30
+ db EMBER ,BURN_SIDE_EFFECT1 ,$28,FIRE, $FF,25
+ db FLAMETHROWER,BURN_SIDE_EFFECT1 ,$5F,FIRE, $FF,15
+ db MIST ,MIST_EFFECT ,$00,ICE, $FF,30
+ db WATER_GUN ,NO_ADDITIONAL_EFFECT ,$28,WATER, $FF,25
+ db HYDRO_PUMP ,NO_ADDITIONAL_EFFECT ,$78,WATER, $CC,5
+ db SURF ,NO_ADDITIONAL_EFFECT ,$5F,WATER, $FF,15
+ db ICE_BEAM ,FREEZE_SIDE_EFFECT ,$5F,ICE, $FF,10
+ db BLIZZARD ,FREEZE_SIDE_EFFECT ,$78,ICE, $E5,5
+ db PSYBEAM ,CONFUSION_SIDE_EFFECT ,$41,PSYCHIC, $FF,20
+ db BUBBLEBEAM ,SPEED_DOWN_SIDE_EFFECT ,$41,WATER, $FF,20
+ db AURORA_BEAM ,ATTACK_DOWN_SIDE_EFFECT ,$41,ICE, $FF,20
+ db HYPER_BEAM ,HYPER_BEAM_EFFECT ,$96,NORMAL, $E5,5
+ db PECK ,NO_ADDITIONAL_EFFECT ,$23,FLYING, $FF,35
+ db DRILL_PECK ,NO_ADDITIONAL_EFFECT ,$50,FLYING, $FF,20
+ db SUBMISSION ,RECOIL_EFFECT ,$50,FIGHTING,$CC,25
+ db LOW_KICK ,FLINCH_SIDE_EFFECT2 ,$32,FIGHTING,$E5,20
+ db COUNTER ,NO_ADDITIONAL_EFFECT ,$01,FIGHTING,$FF,20
+ db SEISMIC_TOSS,SPECIAL_DAMAGE_EFFECT ,$01,FIGHTING,$FF,20
+ db STRENGTH ,NO_ADDITIONAL_EFFECT ,$50,NORMAL, $FF,15
+ db ABSORB ,DRAIN_HP_EFFECT ,$14,GRASS, $FF,20
+ db MEGA_DRAIN ,DRAIN_HP_EFFECT ,$28,GRASS, $FF,10
+ db LEECH_SEED ,LEECH_SEED_EFFECT ,$00,GRASS, $E5,10
+ db GROWTH ,SPECIAL_UP1_EFFECT ,$00,NORMAL, $FF,40
+ db RAZOR_LEAF ,NO_ADDITIONAL_EFFECT ,$37,GRASS, $F2,25
+ db SOLARBEAM ,CHARGE_EFFECT ,$78,GRASS, $FF,10
+ db POISONPOWDER,POISON_EFFECT ,$00,POISON, $BF,35
+ db STUN_SPORE ,PARALYZE_EFFECT ,$00,GRASS, $BF,30
+ db SLEEP_POWDER,SLEEP_EFFECT ,$00,GRASS, $BF,15
+ db PETAL_DANCE ,THRASH_PETAL_DANCE_EFFECT ,$46,GRASS, $FF,20
+ db STRING_SHOT ,SPEED_DOWN1_EFFECT ,$00,BUG, $F2,40
+ db DRAGON_RAGE ,SPECIAL_DAMAGE_EFFECT ,$01,DRAGON, $FF,10
+ db FIRE_SPIN ,TRAPPING_EFFECT ,$0F,FIRE, $B2,15
+ db THUNDERSHOCK,PARALYZE_SIDE_EFFECT1 ,$28,ELECTRIC,$FF,30
+ db THUNDERBOLT ,PARALYZE_SIDE_EFFECT1 ,$5F,ELECTRIC,$FF,15
+ db THUNDER_WAVE,PARALYZE_EFFECT ,$00,ELECTRIC,$FF,20
+ db THUNDER ,PARALYZE_SIDE_EFFECT1 ,$78,ELECTRIC,$B2,10
+ db ROCK_THROW ,NO_ADDITIONAL_EFFECT ,$32,ROCK, $A5,15
+ db EARTHQUAKE ,NO_ADDITIONAL_EFFECT ,$64,GROUND, $FF,10
+ db FISSURE ,OHKO_EFFECT ,$01,GROUND, $4C,5
+ db DIG ,CHARGE_EFFECT ,$64,GROUND, $FF,10
+ db TOXIC ,POISON_EFFECT ,$00,POISON, $D8,10
+ db CONFUSION ,CONFUSION_SIDE_EFFECT ,$32,PSYCHIC, $FF,25
+ db PSYCHIC_M ,SPECIAL_DOWN_SIDE_EFFECT ,$5A,PSYCHIC, $FF,10
+ db HYPNOSIS ,SLEEP_EFFECT ,$00,PSYCHIC, $99,20
+ db MEDITATE ,ATTACK_UP1_EFFECT ,$00,PSYCHIC, $FF,40
+ db AGILITY ,SPEED_UP2_EFFECT ,$00,PSYCHIC, $FF,30
+ db QUICK_ATTACK,NO_ADDITIONAL_EFFECT ,$28,NORMAL, $FF,30
+ db RAGE ,RAGE_EFFECT ,$14,NORMAL, $FF,20
+ db TELEPORT ,SWITCH_AND_TELEPORT_EFFECT,$00,PSYCHIC, $FF,20
+ db NIGHT_SHADE ,SPECIAL_DAMAGE_EFFECT ,$00,GHOST, $FF,15
+ db MIMIC ,MIMIC_EFFECT ,$00,NORMAL, $FF,10
+ db SCREECH ,DEFENSE_DOWN2_EFFECT ,$00,NORMAL, $D8,40
+ db DOUBLE_TEAM ,EVASION_UP1_EFFECT ,$00,NORMAL, $FF,15
+ db RECOVER ,HEAL_EFFECT ,$00,NORMAL, $FF,20
+ db HARDEN ,DEFENSE_UP1_EFFECT ,$00,NORMAL, $FF,30
+ db MINIMIZE ,EVASION_UP1_EFFECT ,$00,NORMAL, $FF,20
+ db SMOKESCREEN ,ACCURACY_DOWN1_EFFECT ,$00,NORMAL, $FF,20
+ db CONFUSE_RAY ,CONFUSION_EFFECT ,$00,GHOST, $FF,10
+ db WITHDRAW ,DEFENSE_UP1_EFFECT ,$00,WATER, $FF,40
+ db DEFENSE_CURL,DEFENSE_UP1_EFFECT ,$00,NORMAL, $FF,40
+ db BARRIER ,DEFENSE_UP2_EFFECT ,$00,PSYCHIC, $FF,30
+ db LIGHT_SCREEN,LIGHT_SCREEN_EFFECT ,$00,PSYCHIC, $FF,30
+ db HAZE ,HAZE_EFFECT ,$00,ICE, $FF,30
+ db REFLECT ,REFLECT_EFFECT ,$00,PSYCHIC, $FF,20
+ db FOCUS_ENERGY,FOCUS_ENERGY_EFFECT ,$00,NORMAL, $FF,30
+ db BIDE ,BIDE_EFFECT ,$00,NORMAL, $FF,10
+ db METRONOME ,METRONOME_EFFECT ,$00,NORMAL, $FF,10
+ db MIRROR_MOVE ,MIRROR_MOVE_EFFECT ,$00,FLYING, $FF,20
+ db SELFDESTRUCT,EXPLODE_EFFECT ,$82,NORMAL, $FF,5
+ db EGG_BOMB ,NO_ADDITIONAL_EFFECT ,$64,NORMAL, $BF,10
+ db LICK ,PARALYZE_SIDE_EFFECT2 ,$14,GHOST, $FF,30
+ db SMOG ,POISON_SIDE_EFFECT2 ,$14,POISON, $B2,20
+ db SLUDGE ,POISON_SIDE_EFFECT2 ,$41,POISON, $FF,20
+ db BONE_CLUB ,FLINCH_SIDE_EFFECT1 ,$41,GROUND, $D8,20
+ db FIRE_BLAST ,BURN_SIDE_EFFECT2 ,$78,FIRE, $D8,5
+ db WATERFALL ,NO_ADDITIONAL_EFFECT ,$50,WATER, $FF,15
+ db CLAMP ,TRAPPING_EFFECT ,$23,WATER, $BF,10
+ db SWIFT ,SWIFT_EFFECT ,$3C,NORMAL, $FF,20
+ db SKULL_BASH ,CHARGE_EFFECT ,$64,NORMAL, $FF,15
+ db SPIKE_CANNON,TWO_TO_FIVE_ATTACKS_EFFECT,$14,NORMAL, $FF,15
+ db CONSTRICT ,SPEED_DOWN_SIDE_EFFECT ,$0A,NORMAL, $FF,35
+ db AMNESIA ,SPECIAL_UP2_EFFECT ,$00,PSYCHIC, $FF,20
+ db KINESIS ,ACCURACY_DOWN1_EFFECT ,$00,PSYCHIC, $CC,15
+ db SOFTBOILED ,HEAL_EFFECT ,$00,NORMAL, $FF,10
+ db HI_JUMP_KICK,JUMP_KICK_EFFECT ,$55,FIGHTING,$E5,20
+ db GLARE ,PARALYZE_EFFECT ,$00,NORMAL, $BF,30
+ db DREAM_EATER ,DREAM_EATER_EFFECT ,$64,PSYCHIC, $FF,15
+ db POISON_GAS ,POISON_EFFECT ,$00,POISON, $8C,40
+ db BARRAGE ,TWO_TO_FIVE_ATTACKS_EFFECT,$0F,NORMAL, $D8,20
+ db LEECH_LIFE ,DRAIN_HP_EFFECT ,$14,BUG, $FF,15
+ db LOVELY_KISS ,SLEEP_EFFECT ,$00,NORMAL, $BF,10
+ db SKY_ATTACK ,CHARGE_EFFECT ,$8C,FLYING, $E5,5
+ db TRANSFORM ,TRANSFORM_EFFECT ,$00,NORMAL, $FF,10
+ db BUBBLE ,SPEED_DOWN_SIDE_EFFECT ,$14,WATER, $FF,30
+ db DIZZY_PUNCH ,NO_ADDITIONAL_EFFECT ,$46,NORMAL, $FF,10
+ db SPORE ,SLEEP_EFFECT ,$00,GRASS, $FF,15
+ db FLASH ,ACCURACY_DOWN1_EFFECT ,$00,NORMAL, $B2,20
+ db PSYWAVE ,SPECIAL_DAMAGE_EFFECT ,$01,PSYCHIC, $CC,15
+ db SPLASH ,SPLASH_EFFECT ,$00,NORMAL, $FF,40
+ db ACID_ARMOR ,DEFENSE_UP2_EFFECT ,$00,POISON, $FF,40
+ db CRABHAMMER ,NO_ADDITIONAL_EFFECT ,$5A,WATER, $D8,10
+ db EXPLOSION ,EXPLODE_EFFECT ,$AA,NORMAL, $FF,5
+ db FURY_SWIPES ,TWO_TO_FIVE_ATTACKS_EFFECT,$12,NORMAL, $CC,15
+ db BONEMERANG ,ATTACK_TWICE_EFFECT ,$32,GROUND, $E5,10
+ db REST ,HEAL_EFFECT ,$00,PSYCHIC, $FF,10
+ db ROCK_SLIDE ,NO_ADDITIONAL_EFFECT ,$4B,ROCK, $E5,10
+ db HYPER_FANG ,FLINCH_SIDE_EFFECT1 ,$50,NORMAL, $E5,15
+ db SHARPEN ,ATTACK_UP1_EFFECT ,$00,NORMAL, $FF,30
+ db CONVERSION ,CONVERSION_EFFECT ,$00,NORMAL, $FF,30
+ db TRI_ATTACK ,NO_ADDITIONAL_EFFECT ,$50,NORMAL, $FF,10
+ db SUPER_FANG ,SUPER_FANG_EFFECT ,$01,NORMAL, $E5,10
+ db SLASH ,NO_ADDITIONAL_EFFECT ,$46,NORMAL, $FF,20
+ db SUBSTITUTE ,SUBSTITUTE_EFFECT ,$00,NORMAL, $FF,10
+ db STRUGGLE ,RECOIL_EFFECT ,$32,NORMAL, $FF,10
BulbasaurBaseStats: ; 383de (e:43de)
db DEX_BULBASAUR ; pokedex id
@@ -54074,10 +55794,10 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
ret
AIMoveChoiceModificationFunctionPointers: ; 397a3 (e:57a3)
-dw AIMoveChoiceModification1
-dw AIMoveChoiceModification2
-dw AIMoveChoiceModification3
-dw AIMoveChoiceModification4 ; unused, does nothing
+ dw AIMoveChoiceModification1
+ dw AIMoveChoiceModification2
+ dw AIMoveChoiceModification3
+ dw AIMoveChoiceModification4 ; unused, does nothing
; discourages moves that cause no damage but only a status ailment if player's mon already has one
AIMoveChoiceModification1: ; 397ab (e:57ab)
@@ -54116,11 +55836,11 @@ AIMoveChoiceModification1: ; 397ab (e:57ab)
jr .nextMove
StatusAilmentMoveEffects ; 57e2
-db $01 ; some sleep effect?
-db SLEEP_EFFECT
-db POISON_EFFECT
-db PARALYZE_EFFECT
-db $FF
+ db $01 ; some sleep effect?
+ db SLEEP_EFFECT
+ db POISON_EFFECT
+ db PARALYZE_EFFECT
+ db $FF
; slightly encourage moves with specific effects
AIMoveChoiceModification2: ; 397e7 (e:57e7)
@@ -54244,196 +55964,196 @@ ReadMove: ; 39884 (e:5884)
; move choice modification methods that are applied for each trainer class
; 0 is sentinel value
TrainerClassMoveChoiceModifications: ; 3989b (e:589b)
-db 0 ; YOUNGSTER
-db 1,0 ; BUG CATCHER
-db 1,0 ; LASS
-db 1,3,0 ; SAILOR
-db 1,0 ; JR__TRAINER_M
-db 1,0 ; JR__TRAINER_F
-db 1,2,3,0; POKEMANIAC
-db 1,2,0 ; SUPER_NERD
-db 1,0 ; HIKER
-db 1,0 ; BIKER
-db 1,3,0 ; BURGLAR
-db 1,0 ; ENGINEER
-db 1,2,0 ; JUGGLER_X
-db 1,3,0 ; FISHER
-db 1,3,0 ; SWIMMER
-db 0 ; CUE_BALL
-db 1,0 ; GAMBLER
-db 1,3,0 ; BEAUTY
-db 1,2,0 ; PSYCHIC_TR
-db 1,3,0 ; ROCKER
-db 1,0 ; JUGGLER
-db 1,0 ; TAMER
-db 1,0 ; BIRD_KEEPER
-db 1,0 ; BLACKBELT
-db 1,0 ; SONY1
-db 1,3,0 ; PROF_OAK
-db 1,2,0 ; CHIEF
-db 1,2,0 ; SCIENTIST
-db 1,3,0 ; GIOVANNI
-db 1,0 ; ROCKET
-db 1,3,0 ; COOLTRAINER_M
-db 1,3,0 ; COOLTRAINER_F
-db 1,0 ; BRUNO
-db 1,0 ; BROCK
-db 1,3,0 ; MISTY
-db 1,3,0 ; LT__SURGE
-db 1,3,0 ; ERIKA
-db 1,3,0 ; KOGA
-db 1,3,0 ; BLAINE
-db 1,3,0 ; SABRINA
-db 1,2,0 ; GENTLEMAN
-db 1,3,0 ; SONY2
-db 1,3,0 ; SONY3
-db 1,2,3,0; LORELEI
-db 1,0 ; CHANNELER
-db 1,0 ; AGATHA
-db 1,3,0 ; LANCE
+ db 0 ; YOUNGSTER
+ db 1,0 ; BUG CATCHER
+ db 1,0 ; LASS
+ db 1,3,0 ; SAILOR
+ db 1,0 ; JR__TRAINER_M
+ db 1,0 ; JR__TRAINER_F
+ db 1,2,3,0; POKEMANIAC
+ db 1,2,0 ; SUPER_NERD
+ db 1,0 ; HIKER
+ db 1,0 ; BIKER
+ db 1,3,0 ; BURGLAR
+ db 1,0 ; ENGINEER
+ db 1,2,0 ; JUGGLER_X
+ db 1,3,0 ; FISHER
+ db 1,3,0 ; SWIMMER
+ db 0 ; CUE_BALL
+ db 1,0 ; GAMBLER
+ db 1,3,0 ; BEAUTY
+ db 1,2,0 ; PSYCHIC_TR
+ db 1,3,0 ; ROCKER
+ db 1,0 ; JUGGLER
+ db 1,0 ; TAMER
+ db 1,0 ; BIRD_KEEPER
+ db 1,0 ; BLACKBELT
+ db 1,0 ; SONY1
+ db 1,3,0 ; PROF_OAK
+ db 1,2,0 ; CHIEF
+ db 1,2,0 ; SCIENTIST
+ db 1,3,0 ; GIOVANNI
+ db 1,0 ; ROCKET
+ db 1,3,0 ; COOLTRAINER_M
+ db 1,3,0 ; COOLTRAINER_F
+ db 1,0 ; BRUNO
+ db 1,0 ; BROCK
+ db 1,3,0 ; MISTY
+ db 1,3,0 ; LT__SURGE
+ db 1,3,0 ; ERIKA
+ db 1,3,0 ; KOGA
+ db 1,3,0 ; BLAINE
+ db 1,3,0 ; SABRINA
+ db 1,2,0 ; GENTLEMAN
+ db 1,3,0 ; SONY2
+ db 1,3,0 ; SONY3
+ db 1,2,3,0; LORELEI
+ db 1,0 ; CHANNELER
+ db 1,0 ; AGATHA
+ db 1,3,0 ; LANCE
; trainer pic pointers and base money.
; money received after battle = base money × level of highest-level enemy mon
-dw YoungsterPic
-db 0,$15,0
+ dw YoungsterPic
+ db 0,$15,0
-dw BugCatcherPic
-db 0,$10,0
+ dw BugCatcherPic
+ db 0,$10,0
-dw LassPic
-db 0,$15,0
+ dw LassPic
+ db 0,$15,0
-dw SailorPic
-db 0,$30,0
+ dw SailorPic
+ db 0,$30,0
-dw JrTrainerMPic
-db 0,$20,0
+ dw JrTrainerMPic
+ db 0,$20,0
-dw JrTrainerFPic
-db 0,$20,0
+ dw JrTrainerFPic
+ db 0,$20,0
-dw PokemaniacPic
-db 0,$50,0
+ dw PokemaniacPic
+ db 0,$50,0
-dw SuperNerdPic
-db 0,$25,0
+ dw SuperNerdPic
+ db 0,$25,0
-dw HikerPic
-db 0,$35,0
+ dw HikerPic
+ db 0,$35,0
-dw BikerPic
-db 0,$20,0
+ dw BikerPic
+ db 0,$20,0
-dw BurglarPic
-db 0,$90,0
+ dw BurglarPic
+ db 0,$90,0
-dw EngineerPic
-db 0,$50,0
+ dw EngineerPic
+ db 0,$50,0
-dw JugglerPic
-db 0,$35,0
+ dw JugglerPic
+ db 0,$35,0
-dw FisherPic
-db 0,$35,0
+ dw FisherPic
+ db 0,$35,0
-dw SwimmerPic
-db 0,$05,0
+ dw SwimmerPic
+ db 0,$05,0
-dw CueBallPic
-db 0,$25,0
+ dw CueBallPic
+ db 0,$25,0
-dw GamblerPic
-db 0,$70,0
+ dw GamblerPic
+ db 0,$70,0
-dw BeautyPic
-db 0,$70,0
+ dw BeautyPic
+ db 0,$70,0
-dw PsychicPic
-db 0,$10,0
+ dw PsychicPic
+ db 0,$10,0
-dw RockerPic
-db 0,$25,0
+ dw RockerPic
+ db 0,$25,0
-dw JugglerPic
-db 0,$35,0
+ dw JugglerPic
+ db 0,$35,0
-dw TamerPic
-db 0,$40,0
+ dw TamerPic
+ db 0,$40,0
-dw BirdKeeperPic
-db 0,$25,0
+ dw BirdKeeperPic
+ db 0,$25,0
-dw BlackbeltPic
-db 0,$25,0
+ dw BlackbeltPic
+ db 0,$25,0
-dw Rival1Pic
-db 0,$35,0
+ dw Rival1Pic
+ db 0,$35,0
-dw ProfOakPic
-db 0,$99,0
+ dw ProfOakPic
+ db 0,$99,0
-dw ChiefPic
-db 0,$30,0
+ dw ChiefPic
+ db 0,$30,0
-dw ScientistPic
-db 0,$50,0
+ dw ScientistPic
+ db 0,$50,0
-dw GiovanniPic
-db 0,$99,0
+ dw GiovanniPic
+ db 0,$99,0
-dw RocketPic
-db 0,$30,0
+ dw RocketPic
+ db 0,$30,0
-dw CooltrainerMPic
-db 0,$35,0
+ dw CooltrainerMPic
+ db 0,$35,0
-dw CooltrainerFPic
-db 0,$35,0
+ dw CooltrainerFPic
+ db 0,$35,0
-dw BrunoPic
-db 0,$99,0
+ dw BrunoPic
+ db 0,$99,0
-dw BrockPic
-db 0,$99,0
+ dw BrockPic
+ db 0,$99,0
-dw MistyPic
-db 0,$99,0
+ dw MistyPic
+ db 0,$99,0
-dw LtSurgePic
-db 0,$99,0
+ dw LtSurgePic
+ db 0,$99,0
-dw ErikaPic
-db 0,$99,0
+ dw ErikaPic
+ db 0,$99,0
-dw KogaPic
-db 0,$99,0
+ dw KogaPic
+ db 0,$99,0
-dw BlainePic
-db 0,$99,0
+ dw BlainePic
+ db 0,$99,0
-dw SabrinaPic
-db 0,$99,0
+ dw SabrinaPic
+ db 0,$99,0
-dw GentlemanPic
-db 0,$70,0
+ dw GentlemanPic
+ db 0,$70,0
-dw Rival2Pic
-db 0,$65,0
+ dw Rival2Pic
+ db 0,$65,0
-dw Rival3Pic
-db 0,$99,0
+ dw Rival3Pic
+ db 0,$99,0
-dw LoreleiPic
-db 0,$99,0
+ dw LoreleiPic
+ db 0,$99,0
-dw ChannelerPic
-db 0,$30,0
+ dw ChannelerPic
+ db 0,$30,0
-dw AgathaPic
-db 0,$99,0
+ dw AgathaPic
+ db 0,$99,0
-dw LancePic
-db 0,$99,0
+ dw LancePic
+ db 0,$99,0
TrainerNames: ; 399ff (e:59ff)
db "YOUNGSTER@"
@@ -54540,7 +56260,7 @@ Func_39bd5: ; 39bd5 (e:5bd5)
ld a, [$d11b]
cp $1
jr nz, .asm_39be6
- ld hl, W_ENEMYMONCOUNT ; $d89c
+ ld hl, wEnemyPartyCount ; $d89c
ld de, $d9ac
ld a, $6
jr .asm_39c18
@@ -54561,7 +56281,7 @@ Func_39bd5: ; 39bd5 (e:5bd5)
.asm_39c02
cp $2
jr nz, .asm_39c10
- ld hl, W_NUMBAGITEMS ; $d31d
+ ld hl, wNumBagItems ; $d31d
ld de, ItemNames ; $472b
ld a, $4
jr .asm_39c18
@@ -54611,10 +56331,10 @@ ReadTrainer: ; 39c53 (e:5c53)
and a
ret nz
-; set [W_ENEMYMONCOUNT] to 0, [$D89D] to FF
+; set [wEnemyPartyCount] to 0, [$D89D] to FF
; XXX first is total enemy pokemon?
; XXX second is species of first pokemon?
- ld hl,W_ENEMYMONCOUNT
+ ld hl,wEnemyPartyCount
xor a
ld [hli],a
dec a
@@ -55575,7 +57295,7 @@ TrainerAI: ; 3a52e (e:652e)
add hl,bc
add hl,bc
add hl,bc
- ld a,[W_AICOUNT]
+ ld a,[wAICount]
and a
ret z ; if no AI uses left, we're done here
inc hl
@@ -55583,7 +57303,7 @@ TrainerAI: ; 3a52e (e:652e)
jr nz,.getpointer
dec hl
ld a,[hli]
- ld [W_AICOUNT],a
+ ld [wAICount],a
.getpointer
ld a,[hli]
ld h,[hl]
@@ -55646,7 +57366,7 @@ TrainerAIPointers: ; 3a55c (e:655c)
JugglerAI: ; 3a5e9 (e:65e9)
cp $40
ret nc
- jp Function672A
+ jp Func_3a72a
BlackbeltAI: ; 3a5ef (e:65ef)
cp $20
@@ -55666,12 +57386,12 @@ CooltrainerMAI: ; 3a5fb (e:65fb)
CooltrainerFAI: ; 3a601 (e:6601)
cp $40
ld a,$A
- call Function67CF
+ call Func_3a7cf
jp c,AIUseHyperPotion
ld a,5
- call Function67CF
+ call Func_3a7cf
ret nc
- jp Function672A
+ jp Func_3a72a
BrockAI: ; 3a614 (e:6614)
; if his active monster has a status condition, use a full heal
@@ -55694,7 +57414,7 @@ ErikaAI: ; 3a628 (e:6628)
cp $80
ret nc
ld a,$A
- call Function67CF
+ call Func_3a7cf
ret nc
jp AIUseSuperPotion
@@ -55712,7 +57432,7 @@ SabrinaAI: ; 3a640 (e:6640)
cp $40
ret nc
ld a,$A
- call Function67CF
+ call Func_3a7cf
ret nc
jp AIUseHyperPotion
@@ -55720,7 +57440,7 @@ Sony2AI: ; 3a64c (e:664c)
cp $20
ret nc
ld a,5
- call Function67CF
+ call Func_3a7cf
ret nc
jp AIUsePotion
@@ -55728,7 +57448,7 @@ Sony3AI: ; 3a658 (e:6658)
cp $20
ret nc
ld a,5
- call Function67CF
+ call Func_3a7cf
ret nc
jp AIUseFullRestore
@@ -55736,7 +57456,7 @@ LoreleiAI: ; 3a664 (e:6664)
cp $80
ret nc
ld a,5
- call Function67CF
+ call Func_3a7cf
ret nc
jp AIUseSuperPotion
@@ -55747,11 +57467,11 @@ BrunoAI: ; 3a670 (e:6670)
AgathaAI: ; 3a676 (e:6676)
cp $14
- jp c,Function672A
+ jp c,Func_3a72a
cp $80
ret nc
ld a,4
- call Function67CF
+ call Func_3a7cf
ret nc
jp AIUseSuperPotion
@@ -55759,7 +57479,7 @@ LanceAI: ; 3a687 (e:6687)
cp $80
ret nc
ld a,5
- call Function67CF
+ call Func_3a7cf
ret nc
jp AIUseHyperPotion
@@ -55770,13 +57490,12 @@ GenericAI: ; 3a693 (e:6693)
; end of individual trainer AI routines
DecrementAICount: ; 3a695 (e:6695)
- ld hl,W_AICOUNT
+ ld hl,wAICount
dec [hl]
scf
ret
-Function669B: ; 3a69b (e:669b)
-; XXX what does this do
+Func_3a69b: ; 3a69b (e:669b)
ld a,$8E
jp PlaySoundWaitForCurrent
@@ -55784,7 +57503,7 @@ AIUseFullRestore: ; 3a6a0 (e:66a0)
call AICureStatus
ld a,FULL_RESTORE
ld [$CF05],a
- ld de,W_HPBAROLDHP
+ ld de,wHPBarOldHP
ld hl,$CFE7
ld a,[hld]
ld [de],a
@@ -55796,13 +57515,13 @@ AIUseFullRestore: ; 3a6a0 (e:66a0)
ld a,[hld]
ld [de],a
inc de
- ld [W_HPBARMAXHP],a
+ ld [wHPBarMaxHP],a
ld [$CFE7],a
ld a,[hl]
ld [de],a
- ld [W_HPBARMAXHP+1],a
+ ld [wHPBarMaxHP+1],a
ld [W_ENEMYMONCURHP],a
- jr Function6718
+ jr Func_3a718
AIUsePotion: ; 3a6ca (e:66ca)
; enemy trainer heals his monster with a potion
@@ -55827,17 +57546,17 @@ AIRecoverHP: ; 3a6da (e:66da)
ld [$CF05],a
ld hl,$CFE7
ld a,[hl]
- ld [W_HPBAROLDHP],a
+ ld [wHPBarOldHP],a
add b
ld [hld],a
- ld [W_HPBARNEWHP],a
+ ld [wHPBarNewHP],a
ld a,[hl]
- ld [W_HPBAROLDHP+1],a
- ld [W_HPBARNEWHP+1],a
+ ld [wHPBarOldHP+1],a
+ ld [wHPBarNewHP+1],a
jr nc,.next
inc a
ld [hl],a
- ld [W_HPBARNEWHP+1],a
+ ld [wHPBarNewHP+1],a
.next
inc hl
ld a,[hld]
@@ -55845,25 +57564,25 @@ AIRecoverHP: ; 3a6da (e:66da)
ld de,$CFF5
ld a,[de]
dec de
- ld [W_HPBARMAXHP],a
+ ld [wHPBarMaxHP],a
sub b
ld a,[hli]
ld b,a
ld a,[de]
- ld [W_HPBARMAXHP+1],a
+ ld [wHPBarMaxHP+1],a
sbc b
- jr nc,Function6718
+ jr nc,Func_3a718
inc de
ld a,[de]
dec de
ld [hld],a
- ld [W_HPBARNEWHP],a
+ ld [wHPBarNewHP],a
ld a,[de]
ld [hl],a
- ld [W_HPBARNEWHP+1],a
+ ld [wHPBarNewHP+1],a
; fallthrough
-Function6718: ; 3a718 (e:6718)
+Func_3a718: ; 3a718 (e:6718)
call AIPrintItemUse_
FuncCoord 2, 2 ; $c3ca
ld hl,Coord
@@ -55873,8 +57592,8 @@ Function6718: ; 3a718 (e:6718)
call Predef
jp DecrementAICount
-Function672A: ; 3a72a (e:672a)
- ld a,[W_ENEMYMONCOUNT]
+Func_3a72a: ; 3a72a (e:672a)
+ ld a,[wEnemyPartyCount]
ld c,a
ld hl,W_ENEMYMON1HP
@@ -55898,11 +57617,11 @@ Function672A: ; 3a72a (e:672a)
ld a,d ; how many available monsters are there?
cp 2 ; don't bother if only 1 or 2
- jp nc,Function674B ; XXX check, does this jump when a = 2?
+ jp nc,Func_3a74b
and a
ret
-Function674B: ; 3a74b (e:674b)
+Func_3a74b: ; 3a74b (e:674b)
; prepare to withdraw the active monster: copy hp, number, and status to roster
@@ -55938,7 +57657,7 @@ AIBattleWithdrawText: ; 3a781 (e:6781)
db "@"
AIUseFullHeal: ; 3a786 (e:6786)
- call Function669B
+ call Func_3a69b
call AICureStatus
ld a,FULL_HEAL
jp AIPrintItemUse
@@ -55957,27 +57676,27 @@ AICureStatus: ; 3a791 (e:6791)
ret
AIUseXAccuracy: ; 0x3a7a8 unused
- call Function669B
+ call Func_3a69b
ld hl,$D068
set 0,[hl]
ld a,X_ACCURACY
jp AIPrintItemUse
AIUseGuardSpec: ; 3a7b5 (e:67b5)
- call Function669B
+ call Func_3a69b
ld hl,$D068
set 1,[hl]
ld a,GUARD_SPEC_
jp AIPrintItemUse
AIUseDireHit: ; 0x3a7c2 unused
- call Function669B
+ call Func_3a69b
ld hl,$D068
set 2,[hl]
ld a,DIRE_HIT
jp AIPrintItemUse
-Function67CF: ; 3a7cf (e:67cf)
+Func_3a7cf: ; 3a7cf (e:67cf)
ld [H_DIVISOR],a
ld hl,$CFF4
ld a,[hli]
@@ -56093,13 +57812,13 @@ SetupOwnPartyPokeballs: ; 3a869 (e:6869)
ld [hl], a
ld a, $8
ld [$cd3e], a
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
jp Func_3a8e1
SetupEnemyPartyPokeballs: ; 3a887 (e:6887)
call Func_3a919
- ld hl, $d8a4
- ld de, W_ENEMYMONCOUNT ; $d89c
+ ld hl, wEnemyMons
+ ld de, wEnemyPartyCount ; $d89c
call SetupPokeballs
ld hl, W_BASECOORDX ; $d081
ld a, $48
@@ -56113,7 +57832,7 @@ SetupEnemyPartyPokeballs: ; 3a887 (e:6887)
SetupPokeballs: ; 0x3a8a6
ld a, [de]
push af
- ld de, W_BUFFER
+ ld de, wBuffer
ld c, $6 ; max num of partymons
ld a, $34 ; empty pokeball
.emptyloop
@@ -56122,7 +57841,7 @@ SetupPokeballs: ; 0x3a8a6
dec c
jr nz, .emptyloop ; 0x3a8b2 $fb
pop af
- ld de, W_BUFFER
+ ld de, wBuffer
.monloop
push af
call PickPokeball
@@ -56190,7 +57909,7 @@ Func_3a902: ; 3a902 (e:6902)
FuncCoord 18, 10 ; $c47a
ld hl, Coord
ld de, rIE ; $ffff
- jr asm_3a930
+ jr Func_3a930
Unknown_3a916: ; 3a916 (e:6916)
INCBIN "baserom.gbc",$3a916,$3a919 - $3a916
@@ -56203,11 +57922,12 @@ Func_3a919: ; 3a919 (e:6919)
FuncCoord 1, 2 ; $c3c9
ld hl, Coord
ld de, $1
- jr asm_3a930
+ jr Func_3a930
Unknown_3a92d: ; 3a92d (e:692d)
INCBIN "baserom.gbc",$3a92d,$3a930 - $3a92d
-asm_3a930: ; 3a930 (e:6930)
+
+Func_3a930: ; 3a930 (e:6930)
ld [hl], $73
ld bc, $14
add hl, bc
@@ -56235,10 +57955,10 @@ Func_3a948: ; 3a948 (e:6948)
ld [hl], $40
ld a, $8
ld [$cd3e], a
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
call Func_3a8e1
- ld hl, W_WATERRATE ; $d8a4
- ld de, W_ENEMYMONCOUNT ; $d89c
+ ld hl, wEnemyMons ; $d8a4
+ ld de, wEnemyPartyCount ; $d89c
call SetupPokeballs
ld hl, W_BASECOORDX ; $d081
ld a, $50
@@ -56263,7 +57983,7 @@ Func_3ad0e: ; 3ad0e (e:6d0e)
ld hl, $ccd3
xor a
ld [hl], a
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld c, a
ld b, $1
call Func_3b057
@@ -56274,14 +57994,14 @@ Func_3ad1c: ; 3ad1c (e:6d1c)
xor a
ld [$d121], a
dec a
- ld [W_WHICHPOKEMON], a ; $cf92
+ ld [wWhichPokemon], a ; $cf92
push hl
push bc
push de
ld hl, W_NUMINPARTY ; $d163
push hl
asm_3ad2e: ; 3ad2e (e:6d2e)
- ld hl, W_WHICHPOKEMON ; $cf92
+ ld hl, wWhichPokemon ; $cf92
inc [hl]
pop hl
inc hl
@@ -56290,7 +58010,7 @@ asm_3ad2e: ; 3ad2e (e:6d2e)
jp z, Func_3aede
ld [$cee9], a
push hl
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld c, a
ld hl, $ccd3
ld b, $2
@@ -56367,7 +58087,7 @@ Func_3ad71: ; 3ad71 (e:6d71)
push hl
ld a, [hl]
ld [$ceea], a
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld hl, W_PARTYMON1NAME ; $d2b5
call GetPartyMonName
call CopyStringToCF4B
@@ -56377,7 +58097,7 @@ Func_3ad71: ; 3ad71 (e:6d71)
call DelayFrames
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld bc, $c14
call ClearScreenArea
ld a, $1
@@ -56432,7 +58152,7 @@ Func_3ad71: ; 3ad71 (e:6d71)
ld de, $cfba
ld b, $1
call CalcStats
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
ld bc, $2c
call AddNTimes
@@ -56479,11 +58199,11 @@ Func_3ad71: ; 3ad71 (e:6d71)
dec a
ld c, a
ld b, $1
- ld hl, W_OWNEDPOKEMON ; $d2f7
+ ld hl, wPokedexOwned ; $d2f7
push bc
call Func_3b057
pop bc
- ld hl, W_SEENPOKEMON ; $d30a
+ ld hl, wPokedexSeen ; $d30a
call Func_3b057
pop de
pop hl
@@ -56536,7 +58256,7 @@ Func_3aef7: ; 3aef7 (e:6ef7)
ret nz
cp $50
jr nz, .asm_3af0e
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld bc, $b
ld hl, W_PARTYMON1NAME ; $d2b5
call AddNTimes
@@ -56608,7 +58328,7 @@ Func_3af5b: ; 3af5b (e:6f5b)
and a
jr nz, .asm_3af96
ld hl, W_PARTYMON1_MOVE1 ; $d173
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld bc, $2c
call AddNTimes
.asm_3af96
@@ -56670,7 +58390,7 @@ WriteMonMoves: ; 3afb8 (e:6fb8)
ld a, [$cee9]
and a
jr z, .skipMinLevelCheck
- ld a, [W_WHICHTRADE] ; $cd3d (min move level)
+ ld a, [wWhichTrade] ; $cd3d (min move level)
cp b
jr nc, .nextMove2 ; min level >= move level
.skipMinLevelCheck
@@ -58973,26 +60693,26 @@ Func_3b9ec: ; 3b9ec (e:79ec)
pop hl
.asm_3ba37
ld a, [hld]
- ld [W_HPBARMAXHP], a
+ ld [wHPBarMaxHP], a
ld c, a
ld a, [hl]
- ld [W_HPBARMAXHP+1], a
+ ld [wHPBarMaxHP+1], a
ld b, a
jr z, .asm_3ba47
srl b
rr c
.asm_3ba47
ld a, [de]
- ld [W_HPBAROLDHP], a
+ ld [wHPBarOldHP], a
add c
ld [de], a
- ld [W_HPBARNEWHP], a
+ ld [wHPBarNewHP], a
dec de
ld a, [de]
- ld [W_HPBAROLDHP+1], a
+ ld [wHPBarOldHP+1], a
adc b
ld [de], a
- ld [W_HPBARNEWHP+1], a
+ ld [wHPBarNewHP+1], a
inc hl
inc de
ld a, [de]
@@ -59004,11 +60724,11 @@ Func_3b9ec: ; 3b9ec (e:79ec)
jr c, .asm_3ba6f
ld a, [hli]
ld [de], a
- ld [W_HPBARNEWHP+1], a
+ ld [wHPBarNewHP+1], a
inc de
ld a, [hl]
ld [de], a
- ld [W_HPBARNEWHP], a
+ ld [wHPBarNewHP], a
.asm_3ba6f
ld hl, Func_3fba8 ; $7ba8
call BankswitchEtoF
@@ -59022,7 +60742,7 @@ Func_3b9ec: ; 3b9ec (e:79ec)
ld hl, Coord
xor a
.asm_3ba83
- ld [W_LISTMENUID], a ; $cf94
+ ld [wListMenuID], a ; $cf94
ld a, $48
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
ld hl, Func_3cd5a ; $4d5a
@@ -59059,7 +60779,7 @@ Func_3bab1: ; 3bab1 (e:7ab1)
ld hl, $cfe5
ld de, W_PLAYERMONID
ld bc, W_PLAYERBATTSTATUS3 ; $d064
- ld [W_PLAYERMOVELISTINDEX], a ; $cc2e
+ ld [wPlayerMoveListIndex], a ; $cc2e
ld a, [W_PLAYERBATTSTATUS1] ; $d062
.asm_3bad1
bit 6, a
@@ -59161,8 +60881,8 @@ Func_3bab1: ; 3bab1 (e:7ab1)
ld hl, $cd26
ld de, $cd12
call Func_3bb7d
- ld hl, W_ENEMYMONATTACKMOD ; $cd2e
- ld de, W_PLAYERMONATTACKMOD ; $cd1a
+ ld hl, wEnemyMonStatMods ; $cd2e
+ ld de, wPlayerMonStatMods ; $cd1a
call Func_3bb7d
ld hl, UnnamedText_3bb92 ; $7b92
jp PrintText
@@ -59275,7 +60995,7 @@ Func_3c04c: ; 3c04c (f:404c)
ld a, b
or c
jr nz, .asm_3c06f
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld de, $9800
ld b, $12
.asm_3c07f
@@ -59384,7 +61104,7 @@ Func_3c11e: ; 3c11e (f:411e)
ld [$cd6a], a
inc a
ld [$d11d], a
- ld hl, W_WATERMONS ; $d8a5 (aliases: W_ENEMYMON1HP)
+ ld hl, W_ENEMYMON1HP ; $d8a5
ld bc, $2b
ld d, $3
.asm_3c134
@@ -59456,16 +61176,16 @@ UnnamedText_3c1a8: ; 3c1a8 (f:41a8)
Func_3c1ad: ; 3c1ad (f:41ad)
xor a
- ld [W_WHICHPOKEMON], a ; $cf92
+ ld [wWhichPokemon], a ; $cf92
.asm_3c1b1
call Func_3ca97
jr nz, .asm_3c1bc
- ld hl, W_WHICHPOKEMON ; $cf92
+ ld hl, wWhichPokemon ; $cf92
inc [hl]
jr .asm_3c1b1
.asm_3c1bc
- ld a, [W_WHICHPOKEMON] ; $cf92
- ld [W_PLAYERMONNUMBER], a ; $cc2f
+ ld a, [wWhichPokemon] ; $cf92
+ ld [wPlayerMonNumber], a ; $cc2f
inc a
ld hl, W_NUMINPARTY ; $d163
ld c, a
@@ -59480,7 +61200,7 @@ Func_3c1ad: ; 3c1ad (f:41ad)
ld a, $9
call Func_3c8df
call SaveScreenTilesToBuffer1
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld c, a
ld b, $1
push bc
@@ -59602,32 +61322,32 @@ MainInBattleLoop: ; 3c233 (f:4233)
ld a, [hl]
cp $76
jr nz, .asm_3c2dd ; 0x3c2d8 $3
- ld [W_PLAYERSELECTEDMOVE], a
+ ld [wPlayerSelectedMove], a
.asm_3c2dd
- ld hl, Function674B
- ld b, BANK(Function674B)
+ ld hl, Func_3a74b
+ ld b, BANK(Func_3a74b)
call Bankswitch
.noLinkBattle
- ld a, [W_PLAYERSELECTEDMOVE]
+ ld a, [wPlayerSelectedMove]
cp QUICK_ATTACK
jr nz, .playerDidNotUseQuickAttack
- ld a, [W_ENEMYSELECTEDMOVE]
+ ld a, [wEnemySelectedMove]
cp QUICK_ATTACK
jr z, .compareSpeed ; both used Quick Attack
jp .playerMovesFirst ; player used Quick Attack
.playerDidNotUseQuickAttack
- ld a, [W_ENEMYSELECTEDMOVE]
+ ld a, [wEnemySelectedMove]
cp QUICK_ATTACK
jr z, .enemyMovesFirst
- ld a, [W_PLAYERSELECTEDMOVE]
+ ld a, [wPlayerSelectedMove]
cp COUNTER
jr nz, .playerDidNotUseCounter
- ld a, [W_ENEMYSELECTEDMOVE]
+ ld a, [wEnemySelectedMove]
cp COUNTER
jr z, .compareSpeed ; both used Counter
jr .enemyMovesFirst ; player used Counter
.playerDidNotUseCounter
- ld a, [W_ENEMYSELECTEDMOVE]
+ ld a, [wEnemySelectedMove]
cp COUNTER
jr z, .playerMovesFirst
.compareSpeed
@@ -59798,10 +61518,10 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: ; 3c43d (f:443d)
ld bc, $e ; skip to max HP
add hl, bc
ld a, [hli] ; load max HP
- ld [W_HPBARMAXHP+1], a
+ ld [wHPBarMaxHP+1], a
ld b, a
ld a, [hl]
- ld [W_HPBARMAXHP], a
+ ld [wHPBarMaxHP], a
ld c, a
srl b
rr c
@@ -59838,21 +61558,21 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: ; 3c43d (f:443d)
pop hl
inc hl
ld a, [hl] ; subtract total damage from current HP
- ld [W_HPBAROLDHP], a
+ ld [wHPBarOldHP], a
sub c
ld [hld], a
- ld [W_HPBARNEWHP], a
+ ld [wHPBarNewHP], a
ld a, [hl]
- ld [W_HPBAROLDHP+1], a
+ ld [wHPBarOldHP+1], a
sbc b
ld [hl], a
- ld [W_HPBARNEWHP+1], a
+ ld [wHPBarNewHP+1], a
jr nc, .noOverkill
xor a ; overkill: zero HP
ld [hli], a
ld [hl], a
- ld [W_HPBARNEWHP], a
- ld [W_HPBARNEWHP+1], a
+ ld [wHPBarNewHP], a
+ ld [wHPBarNewHP+1], a
.noOverkill
call UpdateCurMonHPBar
pop hl
@@ -59868,36 +61588,36 @@ HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ; 3c4a3 (f:44a3)
ld hl, W_PLAYERMONMAXHP ; $d023
.playersTurn
ld a, [hli]
- ld [W_HPBARMAXHP+1], a
+ ld [wHPBarMaxHP+1], a
ld a, [hl]
- ld [W_HPBARMAXHP], a
+ ld [wHPBarMaxHP], a
ld de, $fff2
add hl, de ; skip back fomr max hp to current hp
ld a, [hl]
- ld [W_HPBAROLDHP], a ; add bc to current HP
+ ld [wHPBarOldHP], a ; add bc to current HP
add c
ld [hld], a
- ld [W_HPBARNEWHP], a
+ ld [wHPBarNewHP], a
ld a, [hl]
- ld [W_HPBAROLDHP+1], a
+ ld [wHPBarOldHP+1], a
adc b
ld [hli], a
- ld [W_HPBARNEWHP+1], a
- ld a, [W_HPBARMAXHP]
+ ld [wHPBarNewHP+1], a
+ ld a, [wHPBarMaxHP]
ld c, a
ld a, [hld]
sub c
- ld a, [W_HPBARMAXHP+1]
+ ld a, [wHPBarMaxHP+1]
ld b, a
ld a, [hl]
sbc b
jr c, .noOverfullHeal
ld a, b ; overfull heal, set HP to max HP
ld [hli], a
- ld [W_HPBARNEWHP+1], a
+ ld [wHPBarNewHP+1], a
ld a, c
ld [hl], a
- ld [W_HPBARNEWHP], a
+ ld [wHPBarNewHP], a
.noOverfullHeal
ld a, [H_WHOSETURN] ; $FF00+$f3
xor $1
@@ -59921,7 +61641,7 @@ UpdateCurMonHPBar: ; 3c4f6 (f:44f6)
xor a
.playersTurn
push bc
- ld [W_LISTMENUID], a ; $cf94
+ ld [wListMenuID], a ; $cf94
ld a, $48
call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
pop bc
@@ -60008,7 +61728,7 @@ FaintEnemyPokemon ; 0x3c567
FuncCoord 12, 6 ; $c424
ld de, Coord
call Func_3c893
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld bc, $40b
call ClearScreenArea
ld a, [W_ISINBATTLE] ; $d057
@@ -60098,10 +61818,10 @@ Func_3c643: ; 3c643 (f:4643)
ret
Func_3c64f: ; 3c64f (f:464f)
- ld a, [W_ENEMYMONCOUNT] ; $d89c
+ ld a, [wEnemyPartyCount] ; $d89c
ld b, a
xor a
- ld hl, W_WATERMONS ; $d8a5 (aliases: W_ENEMYMON1HP)
+ ld hl, W_ENEMYMON1HP ; $d8a5
ld de, $2c
.asm_3c65a
or [hl]
@@ -60168,7 +61888,7 @@ TrainerBattleVictory: ; 3c696 (f:4696)
call Func_3381
ld hl, MoneyForWinningText ; $46e4
call PrintText
- ld de, W_PLAYERMONEY1 ; $d349
+ ld de, wPlayerMoney + 2 ; $d349
ld hl, $d07b
ld c, $3
ld a, $b
@@ -60224,7 +61944,7 @@ HandlePlayerMonFainted: ; 3c700 (f:4700)
jp MainInBattleLoop
Func_3c741: ; 3c741 (f:4741)
- ld a, [W_PLAYERMONNUMBER] ; $cc2f
+ ld a, [wPlayerMonNumber] ; $cc2f
ld c, a
ld hl, W_PLAYERMONSALIVEFLAGS ; clear fainted mon's alive flag
ld b, $0
@@ -60289,7 +62009,7 @@ Func_3c79b: ; 3c79b (f:479b)
and a
ret
.asm_3c7c4
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
jr z, .asm_3c7ad
ld hl, W_PARTYMON1_SPEED ; $d193
@@ -60322,8 +62042,8 @@ Func_3c7d8: ; 3c7d8 (f:47d8)
xor a
ld [$cd6a], a
call CleanLCD_OAM
- ld a, [W_WHICHPOKEMON] ; $cf92
- ld [W_PLAYERMONNUMBER], a ; $cc2f
+ ld a, [wWhichPokemon] ; $cf92
+ ld [wPlayerMonNumber], a ; $cc2f
ld c, a
ld hl, W_PLAYERMONSALIVEFLAGS
ld b, $1
@@ -60355,7 +62075,7 @@ HandlePlayerBlackOut: ; 3c837 (f:4837)
ld a, [W_CUROPPONENT] ; $d059
cp $c8 + SONY1
jr nz, .notSony1Battle
- ld hl, W_SCREENTILESBUFFER ; sony 1 battle
+ ld hl, wTileMap ; sony 1 battle
ld bc, $815
call ClearScreenArea
call Func_3ed12
@@ -60515,7 +62235,7 @@ Func_3c92a: ; 3c92a (f:492a)
ld [hli],a
ld [hl],a
dec a
- ld [W_AICOUNT],a
+ ld [wAICount],a
ld hl,W_PLAYERBATTSTATUS1
res 5,[hl]
FuncCoord 18, 0 ; $c3b2
@@ -60625,7 +62345,7 @@ Func_3c92a: ; 3c92a (f:492a)
call LoadScreenTilesFromBuffer1
.next4
call CleanLCD_OAM
- ld hl,W_SCREENTILESBUFFER
+ ld hl,wTileMap
ld bc,$040B
call ClearScreenArea
ld b,1
@@ -60672,7 +62392,7 @@ AnyPokemonAliveCheck: ; 3ca83 (f:4a83)
ld e, a
xor a
ld hl, W_PARTYMON1_HP ; $d16c
- ld bc, W_PARTYMON2_HP - W_PARTYMON1_HP - 1 ; $2b
+ ld bc, W_PARTYMON2DATA - W_PARTYMON1DATA - 1
.partyMonsLoop
or [hl]
inc hl
@@ -60684,7 +62404,7 @@ AnyPokemonAliveCheck: ; 3ca83 (f:4a83)
ret
Func_3ca97: ; 3ca97 (f:4a97)
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld hl, W_PARTYMON1_HP ; $d16c
ld bc, $2c
call AddNTimes
@@ -60705,7 +62425,7 @@ UnnamedText_3cab4: ; 3cab4 (f:4ab4)
db "@"
Func_3cab9: ; 3cab9 (f:4ab9)
- call Function583A
+ call Func_3d83a
jp z, .asm_3cb5c
ld a, [W_BATTLETYPE] ; $d05a
cp $2
@@ -60797,7 +62517,7 @@ Func_3cab9: ; 3cab9 (f:4ab9)
xor a
ld [$cd6a], a
ld a, $f
- ld [W_PLAYERMOVELISTINDEX], a ; $cc2e
+ ld [wPlayerMoveListIndex], a ; $cc2e
call Func_3d605
call LoadScreenTilesFromBuffer1
ld a, [$cc3e]
@@ -60829,7 +62549,7 @@ UnnamedText_3cba1: ; 3cba1 (f:4ba1)
db "@"
Func_3cba6: ; 3cba6 (f:4ba6)
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld bc, $2c
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
call AddNTimes
@@ -60851,7 +62571,7 @@ Func_3cba6: ; 3cba6 (f:4ba6)
ld [$d0b5], a
call GetMonHeader
ld hl, W_PARTYMON1NAME ; $d2b5
- ld a, [W_PLAYERMONNUMBER] ; $cc2f
+ ld a, [wPlayerMonNumber] ; $cc2f
call SkipFixedLengthTextEntries
ld de, W_PLAYERMONNAME
ld bc, $b
@@ -60864,7 +62584,7 @@ Func_3cba6: ; 3cba6 (f:4ba6)
call Func_3ee19
ld a, $7
ld b, $8
- ld hl, W_PLAYERMONATTACKMOD ; $cd1a
+ ld hl, wPlayerMonAttackMod ; $cd1a
.asm_3cc0e
ld [hli], a
dec b
@@ -60872,9 +62592,9 @@ Func_3cba6: ; 3cba6 (f:4ba6)
ret
Func_3cc13: ; 3cc13 (f:4c13)
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld bc, $2c
- ld hl, W_WATERRATE ; $d8a4
+ ld hl, wEnemyMons ; $d8a4
call AddNTimes
ld de, $cfe5
ld bc, $c
@@ -60894,7 +62614,7 @@ Func_3cc13: ; 3cc13 (f:4c13)
ld [$d0b5], a
call GetMonHeader
ld hl, $d9ee
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
call SkipFixedLengthTextEntries
ld de, W_ENEMYMONNAME
ld bc, $b
@@ -60915,12 +62635,12 @@ Func_3cc13: ; 3cc13 (f:4c13)
jr nz, .asm_3cc79
ld a, $7
ld b, $8
- ld hl, W_ENEMYMONATTACKMOD ; $cd2e
+ ld hl, wEnemyMonStatMods ; $cd2e
.asm_3cc86
ld [hli], a
dec b
jr nz, .asm_3cc86
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld [W_ENEMYMONNUMBER], a ; $cfe8
ret
@@ -61014,9 +62734,9 @@ Func_3cd3a: ; 3cd3a (f:4d3a)
; reads player's current mon's HP into W_PLAYERMONCURHP
ReadPlayerMonCurHPAndStatus: ; 3cd43 (f:4d43)
- ld a, [W_PLAYERMONNUMBER] ; $cc2f
+ ld a, [wPlayerMonNumber] ; $cc2f
ld hl, W_PARTYMON1_HP ; $d16c
- ld bc, W_PARTYMON2_HP - W_PARTYMON1_HP ; $2c
+ ld bc, W_PARTYMON2DATA - W_PARTYMON1DATA
call AddNTimes
ld d, h
ld e, l
@@ -61100,7 +62820,7 @@ Func_3cd60: ; 3cd60 (f:4d60)
Func_3cdec: ; 3cdec (f:4dec)
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld bc, $40c
call ClearScreenArea
ld hl, Func_3a919
@@ -61180,7 +62900,7 @@ Func_3cdec: ; 3cdec (f:4dec)
Func_3ce7f: ; 3ce7f (f:4e7f)
xor a
- ld [W_LISTMENUID], a ; $cf94
+ ld [wListMenuID], a ; $cf94
FuncCoord 2, 2 ; $c3ca
ld hl, Coord
call DrawHPBar
@@ -61247,8 +62967,6 @@ InitBattleMenu: ; 3ceb3 (f:4eb3)
; map with wild pokémon. due to an oversight, the data
; may not get overwritten (cinnabar) and the infamous
; missingno. glitch can show up.
-
-
ld hl, OldManName ; $4f12
ld de, W_PLAYERNAME ; $d158
ld bc, $b
@@ -61274,12 +62992,12 @@ OldManName: ; 3cf12 (f:4f12)
RegularBattleMenu: ; 3cf1a (f:4f1a)
ld a, [$cc2d]
- ld [W_CURMENUITEMID], a ; $cc26
- ld [W_OLDMENUITEMID], a ; $cc2a
+ ld [wCurrentMenuItem], a ; $cc26
+ ld [wLastMenuItem], a ; $cc2a
sub $2
jr c, .leftcolumn
- ld [W_CURMENUITEMID], a ; $cc26
- ld [W_OLDMENUITEMID], a ; $cc2a
+ ld [wCurrentMenuItem], a ; $cc26
+ ld [wLastMenuItem], a ; $cc2a
jr .rightcolumn
.leftcolumn
ld a, [W_BATTLETYPE] ; $d05a
@@ -61304,7 +63022,7 @@ RegularBattleMenu: ; 3cf1a (f:4f1a)
call PrintNumber
ld b, $1
.notsafari
- ld hl, W_TOPMENUITEMY ; $cc24
+ ld hl, wTopMenuItemY ; $cc24
ld a, $e
ld [hli], a
ld a, b
@@ -61341,7 +63059,7 @@ RegularBattleMenu: ; 3cf1a (f:4f1a)
call PrintNumber
ld b, $d
.notsafarirightcolumn
- ld hl, W_TOPMENUITEMY ; $cc24
+ ld hl, wTopMenuItemY ; $cc24
ld a, $e
ld [hli], a
ld a, b
@@ -61355,14 +63073,14 @@ RegularBattleMenu: ; 3cf1a (f:4f1a)
call HandleMenuInput
bit 5, a
jr nz, .leftcolumn
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
add $2 ; if we're in the right column, the actual id is +2
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
.selection
call PlaceUnfilledArrowMenuCursor
ld a, [W_BATTLETYPE] ; $d05a
cp $2
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld [$cc2d], a
jr z, .asm_3cfd0
cp $1
@@ -61426,7 +63144,7 @@ asm_3d00e: ; 3d00e (f:500e)
db $01, $04, $32, $ff
.asm_3d031
- ld hl, W_NUMBAGITEMS ; $d31d
+ ld hl, wNumBagItems ; $d31d
ld a, l
ld [$cf8b], a
ld a, h
@@ -61435,11 +63153,11 @@ asm_3d00e: ; 3d00e (f:500e)
xor a
ld [$cf93], a
ld a, $3
- ld [W_LISTMENUID], a ; $cf94
+ ld [wListMenuID], a ; $cf94
ld a, [$cc2c]
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
call DisplayListMenuID
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld [$cc2c], a
ld a, $0
ld [$cc37], a
@@ -61456,7 +63174,7 @@ asm_3d05f: ; 3d05f (f:505f)
call Func_3ee5b
call CleanLCD_OAM
xor a
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
ld a, [W_BATTLETYPE] ; $d05a
cp $2
jr z, .asm_3d09c
@@ -61541,7 +63259,7 @@ Func_3d119: ; 3d119 (f:5119)
ld a, $c
ld [$d125], a
call DisplayTextBoxID
- ld hl, W_TOPMENUITEMY ; $cc24
+ ld hl, wTopMenuItemY ; $cc24
ld a, $c
ld [hli], a
ld [hli], a
@@ -61558,7 +63276,7 @@ Func_3d119: ; 3d119 (f:5119)
bit 1, a
jr nz, Func_3d105
call PlaceUnfilledArrowMenuCursor
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
cp $2
jr z, asm_3d0f0
and a
@@ -61592,9 +63310,9 @@ Func_3d119: ; 3d119 (f:5119)
.asm_3d187
jp Func_3d0e0
.asm_3d18a
- ld a, [W_PLAYERMONNUMBER] ; $cc2f
+ ld a, [wPlayerMonNumber] ; $cc2f
ld d, a
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
cp d
jr nz, .asm_3d19d
ld hl, UnnamedText_3d1f5 ; $51f5
@@ -61619,8 +63337,8 @@ Func_3d1ba: ; 3d1ba (f:51ba)
ld c, $32
call DelayFrames
call Func_3ccfa
- ld a, [W_WHICHPOKEMON] ; $cf92
- ld [W_PLAYERMONNUMBER], a ; $cc2f
+ ld a, [wWhichPokemon] ; $cf92
+ ld [wPlayerMonNumber], a ; $cc2f
ld c, a
ld b, $1
push bc
@@ -61635,7 +63353,7 @@ Func_3d1ba: ; 3d1ba (f:51ba)
call Func_3cc91
call SaveScreenTilesToBuffer1
ld a, $2
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
and a
ret
@@ -61646,7 +63364,7 @@ UnnamedText_3d1f5: ; 3d1f5 (f:51f5)
Func_3d1fa: ; 3d1fa (f:51fa)
call LoadScreenTilesFromBuffer1
ld a, $3
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
ld hl, W_PLAYERMONSPEED
ld de, W_ENEMYMONSPEED
call Func_3cab9
@@ -61659,7 +63377,7 @@ Func_3d1fa: ; 3d1fa (f:51fa)
jp InitBattleMenu
MoveSelectionMenu: ; 3d219 (f:5219)
- ld a, [W_MOVEMENUTYPE]
+ ld a, [wMoveMenuType]
dec a
jr z, .mimicmenu
dec a
@@ -61725,7 +63443,7 @@ MoveSelectionMenu: ; 3d219 (f:5219)
ld a, $7
jr .menuset
.relearnmenu
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld hl, W_PARTYMON1_MOVE1 ; $d173
ld bc, $2c
call AddNTimes
@@ -61741,25 +63459,25 @@ MoveSelectionMenu: ; 3d219 (f:5219)
ld b, $5
ld a, $7
.menuset
- ld hl, W_TOPMENUITEMY ; $cc24
+ ld hl, wTopMenuItemY ; $cc24
ld [hli], a
ld a, b
- ld [hli], a ; W_TOPMENUITEMX
- ld a, [W_MOVEMENUTYPE]
+ ld [hli], a ; wTopMenuItemX
+ ld a, [wMoveMenuType]
cp $1
jr z, .selectedmoveknown
ld a, $1
jr nc, .selectedmoveknown
- ld a, [W_PLAYERMOVELISTINDEX] ; $cc2e
+ ld a, [wPlayerMoveListIndex] ; $cc2e
inc a
.selectedmoveknown
- ld [hli], a ; W_CURMENUITEMID
- inc hl ; W_TILEBEHINDCURSOR untouched
+ ld [hli], a ; wCurrentMenuItem
+ inc hl ; wTileBehindCursor untouched
ld a, [$cd6c]
inc a
inc a
- ld [hli], a ; W_MAXMENUITEMID
- ld a, [W_MOVEMENUTYPE]
+ ld [hli], a ; wMaxMenuItem
+ ld a, [wMoveMenuType]
dec a
ld b, $c1 ; can't use B
jr z, .matchedkeyspicked
@@ -61776,17 +63494,17 @@ MoveSelectionMenu: ; 3d219 (f:5219)
ld b, $ff
.matchedkeyspicked
ld a, b
- ld [hli], a ; W_MENUWATCHEDKEYS
- ld a, [W_MOVEMENUTYPE]
+ ld [hli], a ; wMenuWatchedKeys
+ ld a, [wMoveMenuType]
cp $1
jr z, .movelistindex1
- ld a, [W_PLAYERMOVELISTINDEX] ; $cc2e
+ ld a, [wPlayerMoveListIndex] ; $cc2e
inc a
.movelistindex1
- ld [hl], a ; W_OLDMENUITEMID
+ ld [hl], a ; wLastMenuItem
Func_3d2fe: ; 3d2fe (f:52fe)
- ld a, [W_MOVEMENUTYPE]
+ ld a, [wMoveMenuType]
and a
jr z, .battleselect
dec a
@@ -61826,11 +63544,11 @@ Func_3d2fe: ; 3d2fe (f:52fe)
push af
xor a
ld [$cc35], a
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
dec a
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
ld b, a
- ld a, [W_MOVEMENUTYPE]
+ ld a, [wMoveMenuType]
dec a ; if not mimic
jr nz, .nob
pop af
@@ -61838,7 +63556,7 @@ Func_3d2fe: ; 3d2fe (f:52fe)
.nob
dec a
ld a, b
- ld [W_PLAYERMOVELISTINDEX], a ; $cc2e
+ ld [wPlayerMoveListIndex], a ; $cc2e
jr nz, .moveselected
pop af
ret
@@ -61846,7 +63564,7 @@ Func_3d2fe: ; 3d2fe (f:52fe)
pop af
ret nz
ld hl, W_PLAYERMONPP ; $d02d
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld c, a
ld b, $0
add hl, bc
@@ -61863,13 +63581,13 @@ Func_3d2fe: ; 3d2fe (f:52fe)
bit 3, a ; transformed
jr nz, .dummy ; game freak derp
.dummy
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld hl, W_PLAYERMONMOVES
ld c, a
ld b, $0
add hl, bc
ld a, [hl]
- ld [W_PLAYERSELECTEDMOVE], a ; $ccdc
+ ld [wPlayerSelectedMove], a ; $ccdc
xor a
ret
.disabled
@@ -61894,17 +63612,17 @@ WhichTechniqueString: ; 3d3b8 (f:53b8)
db "WHICH TECHNIQUE?@"
Func_3d3c9: ; 3d3c9 (f:53c9)
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
jp nz, Func_3d2fe
call EraseMenuCursor
ld a, [$cd6c]
inc a
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
jp Func_3d2fe
Func_3d3dd: ; 3d3dd (f:53dd)
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld b, a
ld a, [$cd6c]
inc a
@@ -61913,12 +63631,12 @@ Func_3d3dd: ; 3d3dd (f:53dd)
jp nz, Func_3d2fe
call EraseMenuCursor
ld a, $1
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
jp Func_3d2fe
Func_3d3f5: ; 3d3f5 (f:53f5)
ld a, $a5
- ld [W_PLAYERSELECTEDMOVE], a ; $ccdc
+ ld [wPlayerSelectedMove], a ; $ccdc
ld a, [W_PLAYERDISABLEDMOVE] ; $d06d
and a
ld hl, W_PLAYERMONPP ; $d02d
@@ -61975,7 +63693,7 @@ Func_3d435: ; 3d435 (f:5435)
swap a
and $f
ld b, a
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
cp b
jr nz, .asm_3d463
ld a, [hl]
@@ -61993,13 +63711,13 @@ Func_3d435: ; 3d435 (f:5435)
ld a, [hl]
and $f
ld b, a
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
swap a
add b
ld [hl], a
.asm_3d474
ld hl, W_PARTYMON1_MOVE1 ; $d173
- ld a, [W_PLAYERMONNUMBER] ; $cc2f
+ ld a, [wPlayerMonNumber] ; $cc2f
ld bc, $2c
call AddNTimes
push hl
@@ -62022,7 +63740,7 @@ Func_3d493: ; 3d493 (f:5493)
ld d, h
ld e, l
pop hl
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
dec a
ld c, a
ld b, $0
@@ -62034,7 +63752,7 @@ Func_3d493: ; 3d493 (f:5493)
ld [de], a
ret
asm_3d4ad: ; 3d4ad (f:54ad)
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld [$cc35], a
jp MoveSelectionMenu
@@ -62052,7 +63770,7 @@ Func_3d4b6: ; 3d4b6 (f:54b6)
swap a
and $f
ld b, a
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
cp b
jr nz, .asm_3d4df
FuncCoord 1, 10 ; $c469
@@ -62061,25 +63779,25 @@ Func_3d4b6: ; 3d4b6 (f:54b6)
call PlaceString
jr .asm_3d54e
.asm_3d4df
- ld hl, W_CURMENUITEMID ; $cc26
+ ld hl, wCurrentMenuItem ; $cc26
dec [hl]
xor a
ld [H_WHOSETURN], a ; $FF00+$f3
ld hl, W_PLAYERMONMOVES
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld c, a
ld b, $0
add hl, bc
ld a, [hl]
- ld [W_PLAYERSELECTEDMOVE], a ; $ccdc
- ld a, [W_PLAYERMONNUMBER] ; $cc2f
- ld [W_WHICHPOKEMON], a ; $cf92
+ ld [wPlayerSelectedMove], a ; $ccdc
+ ld a, [wPlayerMonNumber] ; $cc2f
+ ld [wWhichPokemon], a ; $cf92
ld a, $4
ld [$cc49], a
ld hl, GetMaxPP
ld b, BANK(GetMaxPP)
call Bankswitch ; indirect jump to GetMaxPP (e677 (3:6677))
- ld hl, W_CURMENUITEMID ; $cc26
+ ld hl, wCurrentMenuItem ; $cc26
ld c, [hl]
inc [hl]
ld b, $0
@@ -62200,7 +63918,7 @@ SelectEnemyMove: ; 3d564 (f:5564)
.moveChosen
ld a, b
dec a
- ld [W_ENEMYMOVELISTINDEX], a
+ ld [wEnemyMoveListIndex], a
ld a, [W_ENEMYDISABLEDMOVE]
swap a
and $f
@@ -62211,7 +63929,7 @@ SelectEnemyMove: ; 3d564 (f:5564)
and a
jr z, .chooseRandomMove ; move non-existant, try again
.done
- ld [W_ENEMYSELECTEDMOVE], a
+ ld [wEnemySelectedMove], a
ret
.asm_3d601
ld a, $a5
@@ -62220,23 +63938,23 @@ SelectEnemyMove: ; 3d564 (f:5564)
Func_3d605: ; 3d605 (f:5605)
ld a, $ff
ld [$cc3e], a
- ld a, [W_PLAYERMOVELISTINDEX] ; $cc2e
+ ld a, [wPlayerMoveListIndex] ; $cc2e
cp $f
jr z, .asm_3d630
ld a, [$cd6a]
and a
jr nz, .asm_3d629
- ld a, [W_PLAYERSELECTEDMOVE] ; $ccdc
+ ld a, [wPlayerSelectedMove] ; $ccdc
cp $a5
ld b, $e
jr z, .asm_3d62f
dec b
inc a
jr z, .asm_3d62f
- ld a, [W_PLAYERMOVELISTINDEX] ; $cc2e
+ ld a, [wPlayerMoveListIndex] ; $cc2e
jr .asm_3d630
.asm_3d629
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
add $4
ld b, a
.asm_3d62f
@@ -62269,9 +63987,9 @@ Func_3d605: ; 3d605 (f:5605)
Func_3d65e: ; 3d65e (f:565e)
xor a
ld [H_WHOSETURN], a ; $FF00+$f3
- ld a, [W_PLAYERSELECTEDMOVE] ; $ccdc
+ ld a, [wPlayerSelectedMove] ; $ccdc
inc a
- jp z, Function580A
+ jp z, Func_3d80a
xor a
ld [W_MOVEMISSED], a ; $d05f
ld [$cced], a
@@ -62280,10 +63998,10 @@ Func_3d65e: ; 3d65e (f:565e)
ld [$d05b], a
ld a, [$cd6a]
and a
- jp nz, Function580A
- call Function5811
- jp z, Function580A
- call Function5854
+ jp nz, Func_3d80a
+ call Func_3d811
+ jp z, Func_3d80a
+ call Func_3d854
jr nz, .asm_3d68a
jp [hl]
.asm_3d68a
@@ -62292,7 +64010,7 @@ Func_3d65e: ; 3d65e (f:565e)
bit 4, [hl]
jr nz, asm_3d6a9
call Func_3dc88
- jp z, Function580A
+ jp z, Func_3d80a
Func_3d69a: ; 3d69a (f:569a)
ld a, [W_PLAYERMOVEEFFECT] ; $cfd3
@@ -62391,7 +64109,7 @@ asm_3d766
cp a,9
jr nz,.next6 ; 577A
call MirrorMoveCopyMove
- jp z,Function580A
+ jp z,Func_3d80a
xor a
ld [$CCED],a
jp Func_3d69a
@@ -62413,7 +64131,7 @@ asm_3d766
ld a,[W_PLAYERMOVEEFFECT]
cp a,7
jr z,.next9 ; 57B9
- jp Function580A
+ jp Func_3d80a
.next8
call ApplyAttackToEnemyPokemon
call Func_3dc5c
@@ -62451,26 +64169,26 @@ asm_3d766
.next10
ld a,[W_PLAYERMOVEEFFECT]
and a
- jp z,Function580A
+ jp z,Func_3d80a
ld hl,EffectsArray5
ld de,1
call IsInArray
call nc,Func_3f132
- jp Function580A
+ jp Func_3d80a
MultiHitText: ; 3d805 (f:5805)
TX_FAR _MultiHitText
db "@"
-Function580A: ; 3d80a (f:580a)
+Func_3d80a: ; 3d80a (f:580a)
xor a
ld [$CD6A],a
ld b,1
ret
-Function5811: ; 3d811 (f:5811)
+Func_3d811: ; 3d811 (f:5811)
; print the ghost battle messages
- call Function583A
+ call Func_3d83a
ret nz
ld a,[H_WHOSETURN]
and a
@@ -62496,7 +64214,7 @@ GetOutText: ; 3d835 (f:5835)
TX_FAR _GetOutText
db "@"
-Function583A: ; 3d83a (f:583a)
+Func_3d83a: ; 3d83a (f:583a)
ld a,[W_ISINBATTLE]
dec a
ret nz
@@ -62513,7 +64231,7 @@ Function583A: ; 3d83a (f:583a)
and a
ret
-Function5854: ; 3d854 (f:5854)
+Func_3d854: ; 3d854 (f:5854)
ld hl,W_PLAYERMONSTATUS
ld a,[hl]
and a,SLP
@@ -62537,7 +64255,7 @@ Function5854: ; 3d854 (f:5854)
.sleepDone
xor a
ld [$CCF1],a
- ld hl,Function580A
+ ld hl,Func_3d80a
jp Func_3da37
.FrozenCheck
@@ -62547,7 +64265,7 @@ Function5854: ; 3d854 (f:5854)
call PrintText
xor a
ld [$CCF1],a
- ld hl,Function580A
+ ld hl,Func_3d80a
jp Func_3da37
.HeldInPlaceCheck
@@ -62556,7 +64274,7 @@ Function5854: ; 3d854 (f:5854)
jp z,FlinchedCheck
ld hl,CantMoveText
call PrintText
- ld hl,Function580A
+ ld hl,Func_3d80a
jp Func_3da37
FlinchedCheck: ; 3d8ac (f:58ac)
@@ -62566,7 +64284,7 @@ FlinchedCheck: ; 3d8ac (f:58ac)
res 3,[hl]
ld hl,FlinchedText
call PrintText
- ld hl,Function580A
+ ld hl,Func_3d80a
jp Func_3da37
HyperBeamCheck: ; 3d8c2 (f:58c2)
@@ -62576,7 +64294,7 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
res 5,[hl]
ld hl,MustRechargeText
call PrintText
- ld hl,Function580A ; $580a
+ ld hl,Func_3d80a ; $580a
jp Func_3da37
.next
ld hl,$D06D
@@ -62627,7 +64345,7 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
cp [hl]
jr nz,.ParalysisCheck
call Func_3da88
- ld hl,Function580A ; $580a
+ ld hl,Func_3d80a ; $580a
jp Func_3da37
.ParalysisCheck
ld hl,W_PLAYERMONSTATUS
@@ -62655,7 +64373,7 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
ld a,$A7
call PlayMoveAnimation
.next9
- ld hl,Function580A ; $580a
+ ld hl,Func_3d80a ; $580a
jp Func_3da37
.next7
ld hl,W_PLAYERBATTSTATUS1
@@ -62677,7 +64395,7 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
ld hl,$D06A
dec [hl]
jr z,.next11 ; 599B
- ld hl,Function580A ; $580a
+ ld hl,Func_3d80a ; $580a
jp Func_3da37
.next11
ld hl,W_PLAYERBATTSTATUS1
@@ -62823,7 +64541,7 @@ CantMoveText: ; 3da83 (f:5a83)
db "@"
Func_3da88: ; 3da88 (f:5a88)
- ld hl, W_PLAYERSELECTEDMOVE ; $ccdc
+ ld hl, wPlayerSelectedMove ; $ccdc
ld de, W_PLAYERBATTSTATUS1 ; $d062
ld a, [H_WHOSETURN] ; $FF00+$f3
and a
@@ -62888,11 +64606,12 @@ Func_3daad: ; 3daad (f:5aad)
jp ApplyDamageToPlayerPokemon
Func_3daf5: ; 3daf5 (f:5af5)
- ld hl, Unknown_3dafb ; $5afb
+ ld hl, UnnamedText_3dafb ; $5afb
jp PrintText
-Unknown_3dafb: ; 3dafb (f:5afb)
-INCBIN "baserom.gbc",$3dafb,$3db00 - $3dafb
+UnnamedText_3dafb: ; 3dafb (f:5afb)
+ TX_FAR _UnnamedText_3dafb
+ db $08 ; asm
ld a, [H_WHOSETURN] ; $FF00+$f3
and a
ld a, [W_PLAYERMOVENUM] ; $cfd2
@@ -62906,39 +64625,43 @@ INCBIN "baserom.gbc",$3dafb,$3db00 - $3dafb
call Func_3db85
ld a, [$cced]
and a
- ld hl, Unknown_3db34 ; $5b34
+ ld hl, UnnamedText_3db34 ; $5b34
ret nz
ld a, [$d11e]
cp $3
- ld hl, Unknown_3db34 ; $5b34
+ ld hl, UnnamedText_3db34 ; $5b34
ret c
- ld hl, Unknown_3db2d ; $5b2d
+ ld hl, UnnamedText_3db2d ; $5b2d
ret
-Unknown_3db2d: ; 3db2d (f:5b2d)
-INCBIN "baserom.gbc",$3db2d,$3db32 - $3db2d
- jr asm_3db39
+UnnamedText_3db2d: ; 3db2d (f:5b2d)
+ TX_FAR _UnnamedText_3db2d
+ db $08 ; asm
+ jr Func_3db39
-Unknown_3db34: ; 3db34 (f:5b34)
-INCBIN "baserom.gbc",$3db34,$3db39 - $3db34
+UnnamedText_3db34: ; 3db34 (f:5b34)
+ TX_FAR _UnnamedText_3db34
+ db $08 ; asm
-asm_3db39
+Func_3db39: ; 3db39 (f:5b39)
ld a, [$cced]
and a
- jr z, .asm_3db48
- ld hl, .unknown_3db43 ; $5b43
+ jr z, Func_3db48
+ ld hl, UnnamedText_3db43 ; $5b43
ret
-.unknown_3db43: ; 3db43 (f:5b43)
-INCBIN "baserom.gbc",$3db43,$3db48 - $3db43
+UnnamedText_3db43: ; 3db43 (f:5b43)
+ TX_FAR _UnnamedText_3db43
+ db $08 ; asm
-.asm_3db48
- ld hl, Unknown_3db4c ; $5b4c
+Func_3db48: ; 3db48 (f:5b48)
+ ld hl, UnnamedText_3db4c ; $5b4c
ret
-Unknown_3db4c: ; 3db4c (f:5b4c)
-INCBIN "baserom.gbc",$3db4c,$3db51 - $3db4c
- ld hl, Unknown_3db62 ; $5b62
+UnnamedText_3db4c: ; 3db4c (f:5b4c)
+ TX_FAR _UnnamedText_3db4c
+ db $08 ; asm
+ ld hl, TextPointerTable_3db62
ld a, [$d11e]
add a
push bc
@@ -62951,8 +64674,12 @@ INCBIN "baserom.gbc",$3db4c,$3db51 - $3db4c
ld l, a
ret
-Unknown_3db62: ; 3db62 (f:5b62)
-INCBIN "baserom.gbc",$3db62,$3db6c - $3db62
+TextPointerTable_3db62: ; 3db62 (f:5b62)
+ dw UnnamedText_3db6c
+ dw UnnamedText_3db71
+ dw UnnamedText_3db76
+ dw UnnamedText_3db7b
+ dw UnnamedText_3db80
UnnamedText_3db6c: ; 3db6c (f:5b6c)
TX_FAR _UnnamedText_3db6c
@@ -63079,7 +64806,7 @@ Func_3dc5c: ; 3dc5c (f:5c5c)
jr z, .asm_3dc75
dec a
add a
- ld hl, Unknown_3dc7a ; $5c7a
+ ld hl, TextPointerTable_3dc7a ; $5c7a
ld b, $0
ld c, a
add hl, bc
@@ -63093,8 +64820,9 @@ Func_3dc5c: ; 3dc5c (f:5c5c)
ld c, $14
jp DelayFrames
-Unknown_3dc7a: ; 3dc7a (f:5c7a)
-INCBIN "baserom.gbc",$3dc7a,$3dc7e - $3dc7a
+TextPointerTable_3dc7a: ; 3dc7a (f:5c7a)
+ dw UnnamedText_3dc7e
+ dw UnnamedText_3dc83
UnnamedText_3dc7e: ; 3dc7e (f:5c7e)
TX_FAR _UnnamedText_3dc7e
@@ -63116,13 +64844,13 @@ Func_3dc88: ; 3dc88 (f:5c88)
.asm_3dc97
ld hl, W_PARTYMON1_OTID ; $d177
ld bc, $2c
- ld a, [W_PLAYERMONNUMBER] ; $cc2f
+ ld a, [wPlayerMonNumber] ; $cc2f
call AddNTimes
- ld a, [W_PLAYERIDHI] ; $d359
+ ld a, [wPlayerID] ; $d359
cp [hl]
jr nz, .asm_3dcb1
inc hl
- ld a, [W_PLAYERIDLO] ; $d35a
+ ld a, [wPlayerID + 1] ; $d35a
cp [hl]
jp z, Func_3ddb0
.asm_3dcb1
@@ -63211,7 +64939,7 @@ Func_3dc88: ; 3dc88 (f:5c88)
ld a, [$ccee]
and a
jr nz, .asm_3dd20
- ld a, [W_PLAYERSELECTEDMOVE] ; $ccdc
+ ld a, [wPlayerSelectedMove] ; $ccdc
cp $a5
jr z, .asm_3dd20
ld hl, W_PLAYERMONPP ; $d02d
@@ -63232,7 +64960,7 @@ Func_3dc88: ; 3dc88 (f:5c88)
add b
pop hl
push af
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld c, a
ld b, $0
add hl, bc
@@ -63244,9 +64972,9 @@ Func_3dc88: ; 3dc88 (f:5c88)
jr z, .asm_3dd20
ld a, $1
ld [$cced], a
- ld a, [W_MAXMENUITEMID] ; $cc28
+ ld a, [wMaxMenuItem] ; $cc28
ld b, a
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld c, a
.asm_3dd86
call GenRandomInBattle
@@ -63255,7 +64983,7 @@ Func_3dc88: ; 3dc88 (f:5c88)
jr nc, .asm_3dd86
cp c
jr z, .asm_3dd86
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
ld hl, W_PLAYERMONPP ; $d02d
ld e, a
ld d, $0
@@ -63263,13 +64991,13 @@ Func_3dc88: ; 3dc88 (f:5c88)
ld a, [hl]
and a
jr z, .asm_3dd86
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld c, a
ld b, $0
ld hl, W_PLAYERMONMOVES
add hl, bc
ld a, [hl]
- ld [W_PLAYERSELECTEDMOVE], a ; $ccdc
+ ld [wPlayerSelectedMove], a ; $ccdc
call GetCurrentMove
Func_3ddb0: ; 3ddb0 (f:5db0)
@@ -63338,7 +65066,7 @@ CalculateDamage: ; 3ddcf (f:5dcf)
ld c, a
push bc
ld hl, $d18f
- ld a, [W_PLAYERMONNUMBER]
+ ld a, [wPlayerMonNumber]
ld bc, $002c
call AddNTimes
pop bc
@@ -63368,7 +65096,7 @@ CalculateDamage: ; 3ddcf (f:5dcf)
ld c, a
push bc
ld hl, $d195
- ld a, [W_PLAYERMONNUMBER]
+ ld a, [wPlayerMonNumber]
ld bc, $002c
call AddNTimes
pop bc
@@ -63431,7 +65159,7 @@ Func_3de75: ; 3de75 (f:5e75)
and a
jr z, .asm_3deef
ld hl, W_PARTYMON1_DEFENSE ; $d191
- ld a, [W_PLAYERMONNUMBER] ; $cc2f
+ ld a, [wPlayerMonNumber] ; $cc2f
ld bc, $2c
call AddNTimes
ld a, [hli]
@@ -63459,7 +65187,7 @@ Func_3de75: ; 3de75 (f:5e75)
and a
jr z, .asm_3deef
ld hl, W_PARTYMON1_SPECIAL ; $d195
- ld a, [W_PLAYERMONNUMBER] ; $cc2f
+ ld a, [wPlayerMonNumber] ; $cc2f
ld bc, $2c
call AddNTimes
ld a, [hli]
@@ -63755,14 +65483,14 @@ HandleCounterMove: ; 3e093 (f:6093)
ld a,[H_WHOSETURN] ; whose turn
and a
; player's turn
- ld hl,W_ENEMYSELECTEDMOVE
+ ld hl,wEnemySelectedMove
ld de,W_ENEMYMOVEPOWER
- ld a,[W_PLAYERSELECTEDMOVE]
+ ld a,[wPlayerSelectedMove]
jr z,.next
; enemy's turn
- ld hl,W_PLAYERSELECTEDMOVE
+ ld hl,wPlayerSelectedMove
ld de,W_PLAYERMOVEPOWER
- ld a,[W_ENEMYSELECTEDMOVE]
+ ld a,[wEnemySelectedMove]
.next
cp a,COUNTER
ret nz ; return if not using Counter
@@ -63885,25 +65613,25 @@ ApplyDamageToEnemyPokemon: ; 3e142 (f:6142)
bit 4,a ; does the enemy have a substitute?
jp nz,AttackSubstitute
; subtract the damage from the pokemon's current HP
-; also, save the current HP at W_HPBAROLDHP
+; also, save the current HP at wHPBarOldHP
ld a,[hld]
ld b,a
ld a,[W_ENEMYMONCURHP + 1]
- ld [W_HPBAROLDHP],a
+ ld [wHPBarOldHP],a
sub b
ld [W_ENEMYMONCURHP + 1],a
ld a,[hl]
ld b,a
ld a,[W_ENEMYMONCURHP]
- ld [W_HPBAROLDHP+1],a
+ ld [wHPBarOldHP+1],a
sbc b
ld [W_ENEMYMONCURHP],a
jr nc,.animateHpBar
; if more damage was done than the current HP, zero the HP and set the damage
; equal to how much HP the pokemon had before the attack
- ld a,[W_HPBAROLDHP+1]
+ ld a,[wHPBarOldHP+1]
ld [hli],a
- ld a,[W_HPBAROLDHP]
+ ld a,[wHPBarOldHP]
ld [hl],a
xor a
ld hl,W_ENEMYMONCURHP
@@ -63912,14 +65640,14 @@ ApplyDamageToEnemyPokemon: ; 3e142 (f:6142)
.animateHpBar
ld hl,W_ENEMYMONMAXHP
ld a,[hli]
- ld [W_HPBARMAXHP+1],a
+ ld [wHPBarMaxHP+1],a
ld a,[hl]
- ld [W_HPBARMAXHP],a
+ ld [wHPBarMaxHP],a
ld hl,W_ENEMYMONCURHP
ld a,[hli]
- ld [W_HPBARNEWHP+1],a
+ ld [wHPBarNewHP+1],a
ld a,[hl]
- ld [W_HPBARNEWHP],a
+ ld [wHPBarNewHP],a
FuncCoord 2, 2 ; $c3ca
ld hl,Coord
xor a
@@ -64006,40 +65734,40 @@ ApplyDamageToPlayerPokemon: ; 3e200 (f:6200)
bit 4,a ; does the player have a substitute?
jp nz,AttackSubstitute
; subtract the damage from the pokemon's current HP
-; also, save the current HP at W_HPBAROLDHP and the new HP at W_HPBARNEWHP
+; also, save the current HP at wHPBarOldHP and the new HP at wHPBarNewHP
ld a,[hld]
ld b,a
ld a,[W_PLAYERMONCURHP + 1]
- ld [W_HPBAROLDHP],a
+ ld [wHPBarOldHP],a
sub b
ld [W_PLAYERMONCURHP + 1],a
- ld [W_HPBARNEWHP],a
+ ld [wHPBarNewHP],a
ld b,[hl]
ld a,[W_PLAYERMONCURHP]
- ld [W_HPBAROLDHP+1],a
+ ld [wHPBarOldHP+1],a
sbc b
ld [W_PLAYERMONCURHP],a
- ld [W_HPBARNEWHP+1],a
+ ld [wHPBarNewHP+1],a
jr nc,.animateHpBar
; if more damage was done than the current HP, zero the HP and set the damage
; equal to how much HP the pokemon had before the attack
- ld a,[W_HPBAROLDHP+1]
+ ld a,[wHPBarOldHP+1]
ld [hli],a
- ld a,[W_HPBAROLDHP]
+ ld a,[wHPBarOldHP]
ld [hl],a
xor a
ld hl,W_PLAYERMONCURHP
ld [hli],a
ld [hl],a
- ld hl,W_HPBARNEWHP
+ ld hl,wHPBarNewHP
ld [hli],a
ld [hl],a
.animateHpBar
ld hl,W_PLAYERMONMAXHP
ld a,[hli]
- ld [W_HPBARMAXHP+1],a
+ ld [wHPBarMaxHP+1],a
ld a,[hl]
- ld [W_HPBARMAXHP],a
+ ld [wHPBarMaxHP],a
FuncCoord 10, 9 ; $c45e
ld hl,Coord
ld a,$01
@@ -64053,13 +65781,13 @@ AttackSubstitute: ; 3e25e (f:625e)
ld hl,SubstituteTookDamageText
call PrintText
; values for player turn
- ld de,W_ENEMYSUBSITUTEHP
+ ld de,wEnemySubstituteHP
ld bc,W_ENEMYBATTSTATUS2
ld a,[H_WHOSETURN]
and a
jr z,.applyDamageToSubstitute
; values for enemy turn
- ld de,W_PLAYERSUBSITUTEHP
+ ld de,wPlayerSubstituteHP
ld bc,W_PLAYERBATTSTATUS2
.applyDamageToSubstitute
ld hl,W_DAMAGE
@@ -64109,14 +65837,14 @@ SubstituteBrokeText: ; 3e2b1 (f:62b1)
HandleBuildingRage: ; 3e2b6 (f:62b6)
; values for the player turn
ld hl,W_ENEMYBATTSTATUS2
- ld de,W_ENEMYMONATTACKMOD
+ ld de,wEnemyMonStatMods
ld bc,W_ENEMYMOVENUM
ld a,[H_WHOSETURN]
and a
jr z,.next
; values for the enemy turn
ld hl,W_PLAYERBATTSTATUS2
- ld de,W_PLAYERMONATTACKMOD
+ ld de,wPlayerMonStatMods
ld bc,W_PLAYERMOVENUM
.next
bit 6,[hl] ; is the pokemon being attacked under the effect of Rage?
@@ -64159,13 +65887,13 @@ MirrorMoveCopyMove: ; 3e2fd (f:62fd)
and a
; values for player turn
ld a,[$ccf2]
- ld hl,W_PLAYERSELECTEDMOVE
+ ld hl,wPlayerSelectedMove
ld de,W_PLAYERMOVENUM
jr z,.next
; values for enemy turn
ld a,[$ccf1]
ld de,W_ENEMYMOVENUM
- ld hl,W_ENEMYSELECTEDMOVE
+ ld hl,wEnemySelectedMove
.next
ld [hl],a
cp a,MIRROR_MOVE ; did the target pokemon also use Mirror Move?
@@ -64208,13 +65936,13 @@ MetronomePickMove: ; 3e348 (f:6348)
call PlayMoveAnimation ; play Metronome's animation
; values for player turn
ld de,W_PLAYERMOVENUM
- ld hl,W_PLAYERSELECTEDMOVE
+ ld hl,wPlayerSelectedMove
ld a,[H_WHOSETURN]
and a
jr z,.pickMoveLoop
; values for enemy turn
ld de,W_ENEMYMOVENUM
- ld hl,W_ENEMYSELECTEDMOVE
+ ld hl,wEnemySelectedMove
; loop to pick a random number in the range [1, $a5) to be the move used by Metronome
.pickMoveLoop
call GenRandomInBattle ; random number
@@ -64236,12 +65964,12 @@ IncrementMovePP: ; 3e373 (f:6373)
; values for player turn
ld hl,W_PLAYERMONPP
ld de,W_PARTYMON1_MOVE1PP
- ld a,[W_PLAYERMOVELISTINDEX]
+ ld a,[wPlayerMoveListIndex]
jr z,.next
; values for enemy turn
ld hl,W_ENEMYMONPP
ld de,$d8c1 ; enemy party pokemon 1 PP
- ld a,[W_ENEMYMOVELISTINDEX]
+ ld a,[wEnemyMoveListIndex]
.next
ld b,$00
ld c,a
@@ -64252,7 +65980,7 @@ IncrementMovePP: ; 3e373 (f:6373)
add hl,bc
ld a,[H_WHOSETURN]
and a
- ld a,[W_PLAYERMONNUMBER] ; value for player turn
+ ld a,[wPlayerMonNumber] ; value for player turn
jr z,.next2
ld a,[W_ENEMYMONNUMBER] ; value for enemy turn
.next2
@@ -64628,16 +66356,16 @@ CalcHitChance: ; 3e624 (f:6624)
ld hl,W_PLAYERMOVEACCURACY
ld a,[H_WHOSETURN]
and a
- ld a,[W_PLAYERMONACCURACYMOD]
+ ld a,[wPlayerMonAccuracyMod]
ld b,a
- ld a,[W_ENEMYMONEVASIONMOD]
+ ld a,[wEnemyMonEvasionMod]
ld c,a
jr z,.next
; values for enemy turn
ld hl,W_ENEMYMOVEACCURACY
- ld a,[W_ENEMYMONACCURACYMOD]
+ ld a,[wEnemyMonAccuracyMod]
ld b,a
- ld a,[W_PLAYERMONEVASIONMOD]
+ ld a,[wPlayerMonEvasionMod]
ld c,a
.next
ld a,$0e
@@ -64727,10 +66455,10 @@ Func_3e687: ; 3e687 (f:6687)
ret
Func_3e6bc: ; 3e6bc (f:66bc)
- ld a, [W_ENEMYSELECTEDMOVE] ; $ccdd
+ ld a, [wEnemySelectedMove] ; $ccdd
inc a
jp z, Func_3e88c
- call Function5811
+ call Func_3d811
jp z, Func_3e88c
ld a, [W_ISLINKBATTLE] ; $d12b
cp $4
@@ -65091,7 +66819,7 @@ Func_3e9aa: ; 3e9aa (f:69aa)
ld a, [$ccef]
and a
jr z, .asm_3e9bf
- ld hl, W_ENEMYSELECTEDMOVE ; $ccdd
+ ld hl, wEnemySelectedMove ; $ccdd
cp [hl]
jr nz, .asm_3e9bf
call Func_3da88
@@ -65235,7 +66963,7 @@ GetCurrentMove: ; 3eabe (f:6abe)
and a
jp z, .player
ld de, W_ENEMYMOVENUM ; $cfcc
- ld a, [W_ENEMYSELECTEDMOVE] ; $ccdd
+ ld a, [wEnemySelectedMove] ; $ccdd
jr .selected
.player
ld de, W_PLAYERMOVENUM ; $cfd2
@@ -65243,7 +66971,7 @@ GetCurrentMove: ; 3eabe (f:6abe)
bit 0, a
ld a, [$ccd9]
jr nz, .selected
- ld a, [W_PLAYERSELECTEDMOVE] ; $ccdc
+ ld a, [wPlayerSelectedMove] ; $ccdc
.selected
ld [$d0b5], a
dec a
@@ -65311,14 +67039,14 @@ Func_3eb01: ; 3eb01 (f:6b01)
jr .asm_3eb86
.asm_3eb65
ld hl, W_ENEMYMON1HP ; $d8a5 (aliases: W_WATERMONS)
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld bc, $2c
call AddNTimes
ld a, [hli]
ld [W_ENEMYMONCURHP], a ; $cfe6
ld a, [hli]
ld [$cfe7], a
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld [W_ENEMYMONNUMBER], a ; $cfe8
inc hl
ld a, [hl]
@@ -65340,7 +67068,7 @@ Func_3eb01: ; 3eb01 (f:6b01)
cp $2
jr nz, .asm_3ebb0
ld hl, $d8ac
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld bc, $2c
call AddNTimes
ld bc, $4
@@ -65401,7 +67129,7 @@ Func_3eb01: ; 3eb01 (f:6b01)
dec a
ld c, a
ld b, $1
- ld hl, W_SEENPOKEMON ; $d30a
+ ld hl, wPokedexSeen ; $d30a
ld a, $10
call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
ld hl, W_ENEMYMONLEVEL ; $cff3
@@ -65410,7 +67138,7 @@ Func_3eb01: ; 3eb01 (f:6b01)
call CopyData
ld a, $7
ld b, $8
- ld hl, W_ENEMYMONATTACKMOD ; $cd2e
+ ld hl, wEnemyMonStatMods ; $cd2e
.asm_3ec2d
ld [hli], a
dec b
@@ -65422,7 +67150,7 @@ Func_3ec32: ; 3ec32 (f:6c32)
cp $4
jr nz, .asm_3ec4d
xor a
- ld [W_MENUJOYPADPOLLCOUNT], a ; $cc34
+ ld [wMenuJoypadPollCount], a ; $cc34
ld hl, Func_372d6
ld b, BANK(Func_372d6)
call Bankswitch ; indirect jump to Func_372d6 (372d6 (d:72d6))
@@ -65478,7 +67206,7 @@ Func_3ec92: ; 3ec92 (f:6c92)
call UncompressSpriteFromDE
ld a, $3
call Predef ; indirect jump to ScaleSpriteByTwo (2fe40 (b:7e40))
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
xor a
ld [H_DOWNARROWBLINKCNT1], a ; $FF00+$8b
ld b, $7
@@ -65652,11 +67380,11 @@ Func_3eda5: ; 3eda5 (f:6da5)
ld a, c
ld hl, W_PLAYERMONATK
ld de, $cd12
- ld bc, W_PLAYERMONATTACKMOD ; $cd1a
+ ld bc, wPlayerMonAttackMod ; $cd1a
jr z, .asm_3edc0
ld hl, W_ENEMYMONATTACK
ld de, $cd26
- ld bc, W_ENEMYMONATTACKMOD ; $cd2e
+ ld bc, wEnemyMonStatMods ; $cd2e
.asm_3edc0
add c
ld c, a
@@ -65795,11 +67523,11 @@ Func_3ee5b: ; 3ee5b (f:6e5b)
jp CopyVideoDataDouble
Func_3ee94: ; 3ee94 (f:6e94)
- ld hl, Unknown_3ee9a ; $6e9a
+ ld hl, TerminatorText_3ee9a ; $6e9a
jp PrintText
-Unknown_3ee9a: ; 3ee9a (f:6e9a)
-INCBIN "baserom.gbc",$3ee9a,$3ee9b - $3ee9a
+TerminatorText_3ee9a: ; 3ee9a (f:6e9a)
+ db "@"
; generates a random number unless in link battle
; stores random number in A
@@ -65928,7 +67656,7 @@ asm_3ef3d: ; 3ef3d (f:6f3d)
ld [W_ENEMYMONID], a
ld [$FF00+$e1], a
dec a
- ld [W_AICOUNT], a ; $ccdf
+ ld [wAICount], a ; $ccdf
FuncCoord 12, 0 ; $c3ac
ld hl, Coord
ld a, $1
@@ -65947,7 +67675,7 @@ Func_3ef8b: ; 3ef8b (f:6f8b)
ld a, [W_CUROPPONENT] ; $d059
cp MAROWAK
jr z, .isGhost
- call Function583A
+ call Func_3d83a
jr nz, .isNoGhost
.isGhost
ld hl, W_MONHSPRITEDIM
@@ -65996,7 +67724,7 @@ Func_3efeb: ; 3efeb (f:6feb)
call Func_3c04c
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
- ld hl, Unknown_3f04a
+ ld hl, TerminatorText_3f04a
call PrintText
call SaveScreenTilesToBuffer1
call ClearScreen
@@ -66033,8 +67761,8 @@ Func_3efeb: ; 3efeb (f:6feb)
scf
ret
-Unknown_3f04a: ; 3f04a (f:704a)
- db $50
+TerminatorText_3f04a: ; 3f04a (f:704a)
+ db "@"
Func_3f04b: ; 3f04b (f:704b)
ld a, [$d033]
@@ -66053,7 +67781,11 @@ Func_3f04b: ; 3f04b (f:704b)
ld c, a
jp LoadUncompressedSpriteData
-INCBIN "baserom.gbc",$3f069,$3f073 - $3f069
+Func_3f069: ; 3f069 (f:7069)
+ xor a
+ ld [$c0f1], a
+ ld [$c0f2], a
+ jp PlaySound
Func_3f073: ; 3f073 (f:7073)
ld a, [$cc4f]
@@ -66186,7 +67918,7 @@ JumpMoveEffect: ; 3f138 (f:7138)
.next1
dec a ;subtract 1, there is no special effect for 00
add a ;x2, 16bit pointers
- ld hl, Unknown_3f150 ; $7150 ;pointer table at 7150
+ ld hl, MoveEffectPointerTable
ld b, 0
ld c, a
add hl, bc
@@ -66195,8 +67927,95 @@ JumpMoveEffect: ; 3f138 (f:7138)
ld l, a
jp [hl] ;jump to special effect handler
-Unknown_3f150: ; 3f150 (f:7150)
-INCBIN "baserom.gbc",$3f150,$3f1fc - $3f150
+MoveEffectPointerTable: ; 3f150 (f:7150)
+ dw Func_3f1fc
+ dw Func_3f24f
+ dw Func_3f2e9
+ dw FreezeBurnParalyzeEffect
+ dw FreezeBurnParalyzeEffect
+ dw FreezeBurnParalyzeEffect
+ dw Func_3f2f1
+ dw Func_3f2e9
+ dw $0000
+ dw Func_3f428
+ dw Func_3f428
+ dw Func_3f428
+ dw Func_3f428
+ dw Func_3f428
+ dw Func_3f428
+ dw Func_3fb0e
+ dw $0000
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3fb16
+ dw Func_3fb1e
+ dw Func_3f6e5
+ dw Func_3f717
+ dw Func_3f739
+ dw Func_3f811
+ dw Func_3f811
+ dw Func_3f85b
+ dw Func_3f1fc
+ dw Func_3f24f
+ dw FreezeBurnParalyzeEffect
+ dw FreezeBurnParalyzeEffect
+ dw FreezeBurnParalyzeEffect
+ dw Func_3f85b
+ dw Func_3f884
+ dw Func_3f88c
+ dw $0000
+ dw $0000
+ dw Func_3f917
+ dw Func_3f88c
+ dw Func_3f811
+ dw $0000
+ dw Func_3f941
+ dw Func_3f949
+ dw Func_3f951
+ dw Func_3f961
+ dw Func_3f428
+ dw Func_3f428
+ dw Func_3f428
+ dw Func_3f428
+ dw Func_3f428
+ dw Func_3f428
+ dw Func_3fb26
+ dw Func_3fb2e
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3fb36
+ dw Func_3fb36
+ dw Func_3f24f
+ dw Func_3f9b1
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f54c
+ dw Func_3f959
+ dw Func_3f811
+ dw $0000
+ dw Func_3f9b9
+ dw Func_3f9c1
+ dw Func_3f9df
+ dw Func_3f9ed
+ dw $0000
+ dw Func_3fa7c
+ dw Func_3fa84
+ dw Func_3fa8a
+
+Func_3f1fc: ; 3f1fc (f:71fc)
ld de, W_ENEMYMONSTATUS ; $cfe9
ld bc, W_ENEMYBATTSTATUS2 ; $d068
ld a, [H_WHOSETURN] ; $FF00+$f3
@@ -66246,6 +68065,7 @@ UnnamedText_3f24a: ; 3f24a (f:724a)
TX_FAR _UnnamedText_3f24a
db "@"
+Func_3f24f: ; 3f24f (f:724f)
ld hl, W_ENEMYMONSTATUS ; $cfe9
ld de, W_PLAYERMOVEEFFECT ; $cfd3
ld a, [H_WHOSETURN] ; $FF00+$f3
@@ -66339,9 +68159,12 @@ UnnamedText_3f2e4: ; 3f2e4 (f:72e4)
TX_FAR _UnnamedText_3f2e4
db "@"
+Func_3f2e9: ; 3f2e9 (f:72e9)
ld hl, Func_783f
ld b, BANK(Func_783f)
jp Bankswitch ; indirect jump to Func_783f (783f (1:783f))
+
+Func_3f2f1: ; 3f2f1 (f:72f1)
ld hl, W_PLAYERMONCURHP ; $d015
ld de, W_PLAYERBATTSTATUS2 ; $d063
ld a, [H_WHOSETURN] ; $FF00+$f3
@@ -66500,7 +68323,7 @@ CheckDefrost: ; 3f3e2 (f:73e2)
ret nz
ld [W_PLAYERMONSTATUS], a
ld hl, $d16f
- ld a, [W_PLAYERMONNUMBER]
+ ld a, [wPlayerMonNumber]
ld bc, $002c
call AddNTimes
xor a
@@ -66514,12 +68337,12 @@ UnnamedText_3f423: ; 3f423 (f:7423)
db "@"
Func_3f428: ; 3f428 (f:7428)
- ld hl, W_PLAYERMONATTACKMOD ; $cd1a
+ ld hl, wPlayerMonStatMods ; $cd1a
ld de, W_PLAYERMOVEEFFECT ; $cfd3
ld a, [H_WHOSETURN] ; $FF00+$f3
and a
jr z, .asm_3f439
- ld hl, W_ENEMYMONATTACKMOD ; $cd2e
+ ld hl, wEnemyMonStatMods ; $cd2e
ld de, W_ENEMYMOVEEFFECT ; $cfcd
.asm_3f439
ld a, [de]
@@ -66657,7 +68480,7 @@ asm_3f4ca: ; 3f4ca (f:74ca)
ld a, [H_WHOSETURN] ; $FF00+$f3
and a
call z, Func_3ee19
- ld hl, Unknown_3f528 ; $7528
+ ld hl, UnnamedText_3f528 ; $7528
call PrintText
call Func_3ed27
jp Func_3ed64
@@ -66670,9 +68493,10 @@ Func_3f522: ; 3f522 (f:7522)
ld hl, UnnamedText_3fb3e ; $7b3e
jp PrintText
-Unknown_3f528: ; 3f528 (f:7528)
-INCBIN "baserom.gbc",$3f528,$3f52d - $3f528
- ld hl, Unknown_3f542 ; $7542
+UnnamedText_3f528: ; 3f528 (f:7528)
+ TX_FAR _UnnamedText_3f528
+ db $08 ; asm
+ ld hl, UnnamedText_3f542 ; $7542
ld a, [H_WHOSETURN] ; $FF00+$f3
and a
ld a, [W_PLAYERMOVEEFFECT] ; $cfd3
@@ -66684,20 +68508,22 @@ INCBIN "baserom.gbc",$3f528,$3f52d - $3f528
ld hl, UnnamedText_3f547 ; $7547
ret
-Unknown_3f542: ; 3f542 (f:7542)
-INCBIN "baserom.gbc",$3f542,$3f547 - $3f542
+UnnamedText_3f542: ; 3f542 (f:7542)
+ db $0a
+ TX_FAR _UnnamedText_3f542
UnnamedText_3f547: ; 3f547 (f:7547)
TX_FAR _UnnamedText_3f547
db "@"
- ld hl, W_ENEMYMONATTACKMOD ; $cd2e
+Func_3f54c: ; 3f54c (f:754c)
+ ld hl, wEnemyMonStatMods ; $cd2e
ld de, W_PLAYERMOVEEFFECT ; $cfd3
ld bc, W_ENEMYBATTSTATUS1 ; $d067
ld a, [H_WHOSETURN] ; $FF00+$f3
and a
jr z, .asm_3f572
- ld hl, W_PLAYERMONATTACKMOD ; $cd1a
+ ld hl, wPlayerMonStatMods ; $cd1a
ld de, W_ENEMYMOVEEFFECT ; $cfcd
ld bc, W_PLAYERBATTSTATUS1 ; $d062
ld a, [W_ISLINKBATTLE] ; $d12b
@@ -66839,7 +68665,7 @@ asm_3f62c: ; 3f62c (f:762c)
ld a, [H_WHOSETURN] ; $FF00+$f3
and a
call nz, Func_3ee19
- ld hl, Unknown_3f661 ; $7661
+ ld hl, UnnamedText_3f661 ; $7661
call PrintText
call Func_3ed27
jp Func_3ed64
@@ -66862,8 +68688,9 @@ Func_3f65a: ; 3f65a (f:765a)
ret nc
jp Func_3fb4e
-Unknown_3f661: ; 3f661 (f:7661)
-INCBIN "baserom.gbc",$3f661,$3f666 - $3f661
+UnnamedText_3f661: ; 3f661 (f:7661)
+ TX_FAR _UnnamedText_3f661
+ db $08 ; asm
ld hl, UnnamedText_3f683 ; $7683
ld a, [H_WHOSETURN] ; $FF00+$f3
and a
@@ -66875,11 +68702,12 @@ INCBIN "baserom.gbc",$3f661,$3f666 - $3f661
ret c
cp $44
ret nc
- ld hl, Unknown_3f67e ; $767e
+ ld hl, UnnamedText_3f67e ; $767e
ret
-Unknown_3f67e: ; 3f67e (f:767e)
-INCBIN "baserom.gbc",$3f67e,$3f683 - $3f67e
+UnnamedText_3f67e: ; 3f67e (f:767e)
+ db $0a
+ TX_FAR _UnnamedText_3f67e
UnnamedText_3f683: ; 3f683 (f:7683)
TX_FAR _UnnamedText_3f683
@@ -66910,7 +68738,36 @@ StatsTextStrings: ; 3f69f (f:769f)
db "EVADE@"
Unknown_3f6cb: ; 3f6cb (f:76cb)
-INCBIN "baserom.gbc",$3f6cb,$3f717 - $3f6cb
+INCBIN "baserom.gbc",$3f6cb,$3f6e5 - $3f6cb
+
+Func_3f6e5: ; 3f6e5 (f:76e5)
+ ld hl, W_PLAYERBATTSTATUS1
+ ld de, W_NUMHITS
+ ld bc, $d06a
+ ld a, [H_WHOSETURN]
+ and a
+ jr z, .asm_3f6fc
+ ld hl, W_ENEMYBATTSTATUS1
+ ld de, $cd05
+ ld bc, $d06f
+.asm_3f6fc
+ set 0, [hl]
+ xor a
+ ld [de], a
+ inc de
+ ld [de], a
+ ld [W_PLAYERMOVEEFFECT], a
+ ld [W_ENEMYMOVEEFFECT], a
+ call GenRandomInBattle
+ and $1
+ inc a
+ inc a
+ ld [bc], a
+ ld a, [H_WHOSETURN]
+ add $ae
+ jp Func_3fb96
+
+Func_3f717: ; 3f717 (f:7717)
ld hl, W_PLAYERBATTSTATUS1 ; $d062
ld de, $d06a
ld a, [H_WHOSETURN] ; $FF00+$f3
@@ -66928,6 +68785,8 @@ INCBIN "baserom.gbc",$3f6cb,$3f717 - $3f6cb
ld a, [H_WHOSETURN] ; $FF00+$f3
add $b0
jp Func_3fb96
+
+Func_3f739: ; 3f739 (f:7739)
ld a, [H_WHOSETURN] ; $FF00+$f3
and a
jr nz, .asm_3f791
@@ -67042,6 +68901,7 @@ UnnamedText_3f80c: ; 3f80c (f:780c)
TX_FAR _UnnamedText_3f80c
db "@"
+Func_3f811: ; 3f811 (f:7811)
ld hl, W_PLAYERBATTSTATUS1 ; $d062
ld de, $d06a
ld bc, W_NUMHITS ; $d074
@@ -67084,6 +68944,8 @@ UnnamedText_3f80c: ; 3f80c (f:780c)
ld a, $2
ld [hl], a
jr .asm_3f853
+
+Func_3f85b: ; 3f85b (f:785b)
call CheckTargetSubstitute
ret nz
ld hl, W_ENEMYBATTSTATUS1 ; $d067
@@ -67106,9 +68968,13 @@ UnnamedText_3f80c: ; 3f80c (f:780c)
set 3, [hl]
call Func_3f9cf
ret
+
+Func_3f884: ; 3f884 (f:7884)
ld hl, Func_33f57
ld b, BANK(Func_33f57)
jp Bankswitch ; indirect jump to Func_33f57 (33f57 (c:7f57))
+
+Func_3f88c: ; 3f88c (f:788c)
ld hl, W_PLAYERBATTSTATUS1 ; $d062
ld de, W_PLAYERMOVEEFFECT ; $cfd3
ld a, [H_WHOSETURN] ; $FF00+$f3
@@ -67138,13 +69004,14 @@ UnnamedText_3f80c: ; 3f80c (f:780c)
ld a, b
call Func_3fbb9
ld a, [de]
- ld [W_WHICHTRADE], a ; $cd3d
- ld hl, Unknown_3f8c8 ; $78c8
+ ld [wWhichTrade], a ; $cd3d
+ ld hl, UnnamedText_3f8c8 ; $78c8
jp PrintText
-Unknown_3f8c8: ; 3f8c8 (f:78c8)
-INCBIN "baserom.gbc",$3f8c8,$3f8cd - $3f8c8
- ld a, [W_WHICHTRADE] ; $cd3d
+UnnamedText_3f8c8: ; 3f8c8 (f:78c8)
+ TX_FAR _UnnamedText_3f8c8
+ db $08 ; asm
+ ld a, [wWhichTrade] ; $cd3d
cp $d
ld hl, UnnamedText_3f8f9 ; $78f9
jr z, .asm_3f8f8
@@ -67189,6 +69056,7 @@ UnnamedText_3f912: ; 3f912 (f:7912)
TX_FAR _UnnamedText_3f912
db "@"
+Func_3f917: ; 3f917 (f:7917)
ld hl, W_PLAYERBATTSTATUS1 ; $d062
ld de, $d06a
ld a, [H_WHOSETURN] ; $FF00+$f3
@@ -67212,24 +69080,36 @@ UnnamedText_3f912: ; 3f912 (f:7912)
ld [de], a
ret
-INCBIN "baserom.gbc",$3f941,$3f949 - $3f941
+Func_3f941: ; 3f941 (f:7941)
+ ld hl, Func_33f2b
+ ld b, BANK(Func_33f2b)
+ jp Bankswitch
+
+Func_3f949: ; 3f949 (f:7949)
ld hl, Func_27f86
ld b, BANK(Func_27f86)
- jp Bankswitch ; indirect jump to Func_27f86 (27f86 (9:7f86))
+ jp Bankswitch
+
+Func_3f951: ; 3f951 (f:7951)
ld hl, Func_1392c
ld b, BANK(Func_1392c)
- jp Bankswitch ; indirect jump to Func_1392c (1392c (4:792c))
+ jp Bankswitch
+
+Func_3f959: ; 3f959 (f:7959)
call GenRandomInBattle
cp $19
ret nc
- jr .asm_3f96f
+ jr Func_3f96f
+
+Func_3f961: ; 3f961 (f:7961)
call CheckTargetSubstitute
- jr nz, asm_3f9a6
+ jr nz, Func_3f9a6
call MoveHitTest
ld a, [W_MOVEMISSED] ; $d05f
and a
- jr nz, asm_3f9a6
-.asm_3f96f
+ jr nz, Func_3f9a6
+
+Func_3f96f: ; 3f96f (f:796f)
ld a, [H_WHOSETURN] ; $FF00+$f3
and a
ld hl, W_ENEMYBATTSTATUS1 ; $d067
@@ -67241,7 +69121,7 @@ INCBIN "baserom.gbc",$3f941,$3f949 - $3f941
ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
.asm_3f986
bit 7, [hl]
- jr nz, asm_3f9a6
+ jr nz, Func_3f9a6
set 7, [hl]
push af
call GenRandomInBattle
@@ -67259,17 +69139,24 @@ UnnamedText_3f9a1: ; 3f9a1 (f:79a1)
TX_FAR _UnnamedText_3f9a1
db "@"
-asm_3f9a6: ; 3f9a6 (f:79a6)
+Func_3f9a6: ; 3f9a6 (f:79a6)
cp $4c
ret z
ld c, $32
call DelayFrames
jp Func_3fb4e
+
+Func_3f9b1: ; 3f9b1 (f:79b1)
ld hl, Func_52601
ld b, BANK(Func_52601)
jp Bankswitch ; indirect jump to Func_52601 (52601 (14:6601))
-INCBIN "baserom.gbc",$3f9b9,$3f9c1 - $3f9b9
+Func_3f9b9: ; 3f9b9 (f:79b9)
+ ld hl, SubstituteEffectHandler
+ ld b, BANK(SubstituteEffectHandler)
+ jp Bankswitch
+
+Func_3f9c1: ; 3f9c1 (f:79c1)
ld hl, W_PLAYERBATTSTATUS2 ; $d063
ld a, [H_WHOSETURN] ; $FF00+$f3
and a
@@ -67291,17 +69178,102 @@ Func_3f9cf: ; 3f9cf (f:79cf)
pop hl
ret
-INCBIN "baserom.gbc",$3f9df,$3fa77 - $3f9df
+Func_3f9df: ; 3f9df (f:79df)
+ ld hl, W_PLAYERBATTSTATUS2
+ ld a, [H_WHOSETURN]
+ and a
+ jr z, .player
+ ld hl, W_ENEMYBATTSTATUS2
+.player
+ set 6, [hl]
+ ret
+
+Func_3f9ed: ; 3f9ed (f:79ed)
+ ld c, $32
+ call DelayFrames
+ call MoveHitTest
+ ld a, [W_MOVEMISSED]
+ and a
+ jr nz, .asm_3fa74
+ ld a, [H_WHOSETURN]
+ and a
+ ld hl, W_PLAYERMONMOVES
+ ld a, [W_PLAYERBATTSTATUS1]
+ jr nz, .asm_3fa13
+ ld a, [W_ISLINKBATTLE]
+ cp $4
+ jr nz, .asm_3fa3a
+ ld hl, W_ENEMYMONMOVES
+ ld a, [W_ENEMYBATTSTATUS1]
+.asm_3fa13
+ bit 6, a
+ jr nz, .asm_3fa74
+.asm_3fa17
+ push hl
+ call GenRandomInBattle
+ and $3
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld a, [hl]
+ pop hl
+ and a
+ jr z, .asm_3fa17
+ ld d, a
+ ld a, [H_WHOSETURN]
+ and a
+ ld hl, W_PLAYERMONMOVES
+ ld a, [wPlayerMoveListIndex]
+ jr z, .asm_3fa5f
+ ld hl, W_ENEMYMONMOVES
+ ld a, [wEnemyMoveListIndex]
+ jr .asm_3fa5f
+.asm_3fa3a
+ ld a, [W_ENEMYBATTSTATUS1]
+ bit 6, a
+ jr nz, .asm_3fa74
+ ld a, [wCurrentMenuItem]
+ push af
+ ld a, $1
+ ld [wMoveMenuType], a
+ call MoveSelectionMenu
+ call LoadScreenTilesFromBuffer1
+ ld hl, W_ENEMYMONMOVES
+ ld a, [wCurrentMenuItem]
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld d, [hl]
+ pop af
+ ld hl, W_PLAYERMONMOVES
+.asm_3fa5f
+ ld c, a
+ ld b, $0
+ add hl, bc
+ ld a, d
+ ld [hl], a
+ ld [$d11e], a
+ call GetMoveName
+ call Func_3fba8
+ ld hl, UnnamedText_3fa77
+ jp PrintText
+.asm_3fa74
+ jp Func_3fb53
UnnamedText_3fa77: ; 3fa77 (f:7a77)
TX_FAR _UnnamedText_3fa77
db "@"
+Func_3fa7c: ; 3fa7c (f:7a7c)
ld hl, Func_2bea9
ld b, BANK(Func_2bea9)
jp Bankswitch ; indirect jump to Func_2bea9 (2bea9 (a:7ea9))
-INCBIN "baserom.gbc",$3fa84,$3fa8a - $3fa84
+Func_3fa84: ; 3fa84 (f:7a84)
+ call Func_3fba8
+ jp Func_3fb43
+
+Func_3fa8a: ; 3fa8a (f:7a8a)
call MoveHitTest
ld a, [W_MOVEMISSED] ; $d05f
and a
@@ -67385,22 +69357,43 @@ UnnamedText_3fb09: ; 3fb09 (f:7b09)
TX_FAR _UnnamedText_3fb09
db "@"
-INCBIN "baserom.gbc",$3fb0e,$3fb26 - $3fb0e
+Func_3fb0e: ; 3fb0e (f:7b0e)
+ ld hl, Func_2feb8
+ ld b, BANK(Func_2feb8)
+ jp Bankswitch
+
+Func_3fb16: ; 3fb16 (f:7b16)
+ ld hl, Func_139a3
+ ld b, BANK(Func_139a3)
+ jp Bankswitch
+
+Func_3fb1e: ; 3fb1e (f:7b1e)
+ ld hl, Func_139da
+ ld b, BANK(Func_139da)
+ jp Bankswitch
+
+Func_3fb26: ; 3fb26 (f:7b26)
ld hl, Func_3b9ec
ld b, BANK(Func_3b9ec)
- jp Bankswitch ; indirect jump to Func_3b9ec (3b9ec (e:79ec))
+ jp Bankswitch
+
+Func_3fb2e: ; 3fb2e (f:7b2e)
ld hl, Func_3bab1
ld b, BANK(Func_3bab1)
- jp Bankswitch ; indirect jump to Func_3bab1 (3bab1 (e:7ab1))
+ jp Bankswitch
+
+Func_3fb36: ; 3fb36 (f:7b36)
ld hl, Func_3bb97
ld b, BANK(Func_3bb97)
- jp Bankswitch ; indirect jump to Func_3bb97 (3bb97 (e:7b97))
+ jp Bankswitch
UnnamedText_3fb3e: ; 3fb3e (f:7b3e)
TX_FAR _UnnamedText_3fb3e
db "@"
-INCBIN "baserom.gbc",$3fb43,$3fb49 - $3fb43
+Func_3fb43: ; 3fb43 (f:7b43)
+ ld hl, UnnamedText_3fb49
+ jp PrintText
UnnamedText_3fb49: ; 3fb49 (f:7b49)
TX_FAR _UnnamedText_3fb49
@@ -67504,12 +69497,12 @@ DisplayPokedexMenu_: ; 40000 (10:4000)
call GBPalWhiteOut
call ClearScreen
call UpdateSprites ; move sprites
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
push af
xor a
- ld [W_CURMENUITEMID],a
- ld [W_LISTSCROLLOFFSET],a
- ld [W_OLDMENUITEMID],a
+ ld [wCurrentMenuItem],a
+ ld [wListScrollOffset],a
+ ld [wLastMenuItem],a
inc a
ld [$d11e],a
ld [$ffb7],a
@@ -67520,7 +69513,7 @@ DisplayPokedexMenu_: ; 40000 (10:4000)
ld b,BANK(LoadPokedexTilePatterns)
call Bankswitch
.doPokemonListMenu
- ld hl,W_TOPMENUITEMY
+ ld hl,wTopMenuItemY
ld a,3
ld [hli],a ; top menu item Y
xor a
@@ -67537,13 +69530,13 @@ DisplayPokedexMenu_: ; 40000 (10:4000)
.exitPokedex
xor a
ld [$cc37],a
- ld [W_CURMENUITEMID],a
- ld [W_OLDMENUITEMID],a
+ ld [wCurrentMenuItem],a
+ ld [wLastMenuItem],a
ld [$ffb7],a
ld [$cd3a],a
ld [$cd3b],a
pop af
- ld [W_LISTSCROLLOFFSET],a
+ ld [wListScrollOffset],a
call GBPalWhiteOutWithDelay3
call GoPAL_SET_CF1C
jp ReloadMapData
@@ -67563,12 +69556,12 @@ DisplayPokedexMenu_: ; 40000 (10:4000)
; 02: the pokemon has not been seen yet or the player pressed the B button
HandlePokedexSideMenu: ; 4006d (10:406d)
call PlaceUnfilledArrowMenuCursor
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
push af
ld b,a
- ld a,[W_OLDMENUITEMID]
+ ld a,[wLastMenuItem]
push af
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
push af
add b
inc a
@@ -67577,12 +69570,12 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
push af
ld a,[$cd3d]
push af
- ld hl,W_SEENPOKEMON
+ ld hl,wPokedexSeen
call IsPokemonBitSet
ld b,2
jr z,.exitSideMenu
call PokedexToIndex
- ld hl,W_TOPMENUITEMY
+ ld hl,wTopMenuItemY
ld a,10
ld [hli],a ; top menu item Y
ld a,15
@@ -67601,7 +69594,7 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
bit 1,a ; was the B button pressed?
ld b,2
jr nz,.buttonBPressed
- ld a,[W_CURMENUITEMID]
+ ld a,[wCurrentMenuItem]
and a
jr z,.choseData
dec a
@@ -67616,11 +69609,11 @@ HandlePokedexSideMenu: ; 4006d (10:406d)
pop af
ld [$d11e],a
pop af
- ld [W_LISTSCROLLOFFSET],a
+ ld [wListScrollOffset],a
pop af
- ld [W_OLDMENUITEMID],a
+ ld [wLastMenuItem],a
pop af
- ld [W_CURMENUITEMID],a
+ ld [wCurrentMenuItem],a
push bc
FuncCoord 0,3
ld hl,Coord
@@ -67677,7 +69670,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
FuncCoord 14,9
ld hl,Coord
call DrawPokedexVerticalLine
- ld hl,W_SEENPOKEMON
+ ld hl,wPokedexSeen
ld b,19
call CountSetBits
ld de,$d11e
@@ -67685,7 +69678,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
ld hl,Coord
ld bc,$0103
call PrintNumber ; print number of seen pokemon
- ld hl,W_OWNEDPOKEMON
+ ld hl,wPokedexOwned
ld b,19
call CountSetBits
ld de,$d11e
@@ -67710,7 +69703,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
ld de,PokedexMenuItemsText
call PlaceString
; find the highest pokedex number among the pokemon the player has seen
- ld hl,W_SEENPOKEMON + 18
+ ld hl,wPokedexSeen + 18
ld b,153
.maxSeenPokemonLoop
ld a,[hld]
@@ -67734,7 +69727,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
call ClearScreenArea
FuncCoord 1,3
ld hl,Coord
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
ld [$d11e],a
ld d,7
ld a,[$cd3d]
@@ -67742,7 +69735,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
jr nc,.printPokemonLoop
ld d,a
dec a
- ld [W_MAXMENUITEMID],a
+ ld [wMaxMenuItem],a
; loop to print pokemon pokedex numbers and names
; if the player has owned the pokemon, it puts a pokeball beside the name
.printPokemonLoop
@@ -67761,7 +69754,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
add hl,de
dec hl
push hl
- ld hl,W_OWNEDPOKEMON
+ ld hl,wPokedexOwned
call IsPokemonBitSet
pop hl
ld a," "
@@ -67770,7 +69763,7 @@ HandlePokedexListMenu: ; 40111 (10:4111)
.writeTile
ld [hl],a ; put a pokeball next to pokemon that the player has owned
push hl
- ld hl,W_SEENPOKEMON
+ ld hl,wPokedexSeen
call IsPokemonBitSet
jr nz,.getPokemonName ; if the player has seen the pokemon
ld de,.dashedLine ; print a dashed line in place of the name if the player hasn't seen the pokemon
@@ -67803,11 +69796,11 @@ HandlePokedexListMenu: ; 40111 (10:4111)
bit 6,a ; was Up pressed?
jr z,.checkIfDownPressed
.upPressed ; scroll up one row
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
and a
jp z,.loop
dec a
- ld [W_LISTSCROLLOFFSET],a
+ ld [wListScrollOffset],a
jp .loop
.checkIfDownPressed
bit 7,a ; was Down pressed?
@@ -67818,11 +69811,11 @@ HandlePokedexListMenu: ; 40111 (10:4111)
jp c,.loop
sub a,7
ld b,a
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
cp b
jp z,.loop
inc a
- ld [W_LISTSCROLLOFFSET],a
+ ld [wListScrollOffset],a
jp .loop
.checkIfRightPressed
bit 4,a ; was Right pressed?
@@ -67833,25 +69826,25 @@ HandlePokedexListMenu: ; 40111 (10:4111)
jp c,.loop
sub a,6
ld b,a
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
add a,7
- ld [W_LISTSCROLLOFFSET],a
+ ld [wListScrollOffset],a
cp b
jp c,.loop
dec b
ld a,b
- ld [W_LISTSCROLLOFFSET],a
+ ld [wListScrollOffset],a
jp .loop
.checkIfLeftPressed ; scroll up 7 rows
bit 5,a ; was Left pressed?
jr z,.buttonAPressed
.leftPressed
- ld a,[W_LISTSCROLLOFFSET]
+ ld a,[wListScrollOffset]
sub a,7
- ld [W_LISTSCROLLOFFSET],a
+ ld [wListScrollOffset],a
jp nc,.loop
xor a
- ld [W_LISTSCROLLOFFSET],a
+ ld [wListScrollOffset],a
jp .loop
.buttonAPressed
scf
@@ -68000,7 +69993,7 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2)
ld de,$d11e
ld bc,$8103
call PrintNumber ; print pokedex number
- ld hl,W_OWNEDPOKEMON
+ ld hl,wPokedexOwned
call IsPokemonBitSet
pop af
ld [$d11e],a
@@ -69630,15 +71623,21 @@ PokedexOrder: ; 41024 (10:5024)
db DEX_VICTREEBEL
Func_410e2: ; 410e2 (10:50e2)
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld [$cd5e], a
- ld a, [$cd3e]
+ ld a, [wTrainerEngageDistance]
+ ld [$cd5f], a
+ ld de, PointerIDs_41138 ; $5138
+ jr Func_41102
+
+Func_410f3: ; 410f3 (10:50f3)
+ ld a, [wTrainerEngageDistance]
+ ld [$cd5e], a
+ ld a, [wTrainerSpriteOffset]
ld [$cd5f], a
- ld de, Unknown_41138 ; $5138
- jr .asm_41102
+ ld de, PointerIDs_41149
-INCBIN "baserom.gbc",$410f3,$41102 - $410f3
-.asm_41102
+Func_41102: ; 41102 (10:5102)
ld a, [W_OPTIONS] ; $d355
push af
ld a, [$FF00+$af]
@@ -69657,7 +71656,7 @@ INCBIN "baserom.gbc",$410f3,$41102 - $410f3
jr z, .asm_4112d
inc de
push de
- ld hl, Unknown_4115f ; $515f
+ ld hl, PointerTable_4115f ; $515f
add a
ld c, a
ld b, $0
@@ -69677,11 +71676,31 @@ INCBIN "baserom.gbc",$410f3,$41102 - $410f3
ld [W_OPTIONS], a ; $d355
ret
-Unknown_41138: ; 41138 (10:5138)
-INCBIN "baserom.gbc",$41138,$4115f - $41138
-
-Unknown_4115f: ; 4115f (10:515f)
-INCBIN "baserom.gbc",$4115f,$41181 - $4115f
+; these bytes refer to the $00th through $10th pointer of PointerTable_4115f
+PointerIDs_41138: ; 41138 (10:5138)
+ db $00,$01,$02,$03,$05,$07,$08,$09,$0A,$0B,$06,$08,$02,$04,$07,$0E,$FF
+
+PointerIDs_41149: ; 41149 (10:5149)
+ db $00,$08,$0D,$0B,$10,$05,$10,$08,$02,$04,$0F,$01,$02,$03,$10,$06,$10,$07,$08,$09,$0E,$FF
+
+PointerTable_4115f: ; 4115f (10:515f)
+ dw Func_411a1
+ dw Func_41245
+ dw Func_41298
+ dw Func_412d2
+ dw Func_41336
+ dw Func_41376
+ dw Func_413c6
+ dw Func_41181
+ dw Func_415c8
+ dw Func_415fe
+ dw Func_41611
+ dw Func_4162d
+ dw Func_4164c
+ dw Func_4165a
+ dw Func_4123b
+ dw Func_415df
+ dw Func_41217
Func_41181: ; 41181 (10:5181)
ld c, $64
@@ -69700,10 +71719,12 @@ Func_41191: ; 41191 (10:5191)
jp DelayFrames
Func_41196: ; 41196 (10:5196)
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld bc, $168
ld a, $7f
jp FillMemory
+
+Func_411a1: ; 411a1 (10:51a1)
call Func_41196
call DisableLCD
ld hl, TradingAnimationGraphics ; $69be
@@ -69735,7 +71756,7 @@ Func_41196: ; 41196 (10:5196)
call EnableLCD
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld [$d11e], a
call GetMonName
ld hl, $cd6d
@@ -69753,12 +71774,28 @@ Func_4120b: ; 4120b (10:520b)
ld hl, Func_7176c
jp Bankswitch ; indirect jump to Func_7176c (7176c (1c:576c))
-INCBIN "baserom.gbc",$41217,$4123b - $41217
+Func_41217: ; 41217 (10:5217)
+ ld hl, W_PLAYERNAME
+ ld de, wHPBarMaxHP
+ ld bc, $000b
+ call CopyData
+ ld hl, W_GRASSRATE
+ ld de, W_PLAYERNAME
+ ld bc, $000b
+ call CopyData
+ ld hl, wHPBarMaxHP
+ ld de, W_GRASSRATE
+ ld bc, $000b
+ jp CopyData
+
+Func_4123b: ; 4123b (10:523b)
xor a
call LoadGBPal
ld hl, $d730
res 6, [hl]
ret
+
+Func_41245: ; 41245 (10:5245)
ld a, $ab
ld [rLCDC], a ; $FF00+$40
ld a, $50
@@ -69777,7 +71814,7 @@ INCBIN "baserom.gbc",$41217,$4123b - $41217
ld b, $98
call CopyScreenTileBufferToVRAM
call ClearScreen
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
call Func_415a4
ld a, $7e
.asm_41273
@@ -69795,11 +71832,13 @@ INCBIN "baserom.gbc",$41217,$4123b - $41217
call Func_41676
ld a, $aa
call Func_41676
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
call PlayCry
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
ret
+
+Func_41298: ; 41298 (10:5298)
call Func_41196
ld b, $98
call CopyScreenTileBufferToVRAM
@@ -69827,6 +71866,8 @@ INCBIN "baserom.gbc",$41217,$4123b - $41217
dec c
jr nz, .asm_412c8
ret
+
+Func_412d2: ; 412d2 (10:52d2)
ld a, $ab
call Func_41676
ld c, $a
@@ -69839,7 +71880,7 @@ INCBIN "baserom.gbc",$41217,$4123b - $41217
.asm_412e7
push bc
xor a
- ld de, Unknown_4132e ; $532e
+ ld de, UnknownOAM_4132e ; $532e
call WriteOAMBlock
ld a, [$d09f]
xor $1
@@ -69875,8 +71916,11 @@ INCBIN "baserom.gbc",$41217,$4123b - $41217
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
ret
-Unknown_4132e: ; 4132e (10:532e)
-INCBIN "baserom.gbc",$4132e,$41336 - $4132e
+UnknownOAM_4132e: ; 4132e (10:532e)
+ db $7E,$00,$7E,$20
+ db $7E,$40,$7E,$60
+
+Func_41336: ; 41336 (10:5336)
ld a, $ac
call Func_41676
call Func_415c8
@@ -69903,6 +71947,8 @@ INCBIN "baserom.gbc",$4132e,$41336 - $4132e
ld bc, $80c
call ClearScreenArea
jp Func_4164c
+
+Func_41376: ; 41376 (10:5376)
call Func_41411
ld a, $1
ld [$d08a], a
@@ -69934,6 +71980,8 @@ INCBIN "baserom.gbc",$4132e,$41336 - $4132e
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
call Func_41525
jp CleanLCD_OAM
+
+Func_413c6: ; 413c6 (10:53c6)
call Func_41411
xor a
ld [$d08a], a
@@ -70129,7 +72177,7 @@ Func_41505: ; 41505 (10:5505)
call Func_41558
Func_41510: ; 41510 (10:5510)
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
ld c, $14
.asm_41515
ld a, [W_BASECOORDY] ; $d082
@@ -70172,7 +72220,7 @@ Func_41525: ; 41525 (10:5525)
ret
Func_41558: ; 41558 (10:5558)
- ld hl, Unknown_41574 ; $5574
+ ld hl, OAMPointers_41574 ; $5574
ld c, $4
xor a
.asm_4155e
@@ -70196,8 +72244,31 @@ Func_41558: ; 41558 (10:5558)
jr nz, .asm_4155e
ret
-Unknown_41574: ; 41574 (10:5574)
-INCBIN "baserom.gbc",$41574,$415a4 - $41574
+OAMPointers_41574: ; 41574 (10:5574)
+ dw UnknownOAM_41584
+ db $08,$08
+ dw UnknownOAM_4158c
+ db $18,$08
+ dw UnknownOAM_41594
+ db $08,$18
+ dw UnknownOAM_4159c
+ db $18,$18
+
+UnknownOAM_41584: ; 41584 (10:5584)
+ db $38,$10,$39,$10
+ db $3A,$10,$3B,$10
+
+UnknownOAM_4158c: ; 4158c (10:558c)
+ db $39,$30,$38,$30
+ db $3B,$30,$3A,$30
+
+UnknownOAM_41594: ; 41594 (10:5594)
+ db $3A,$50,$3B,$50
+ db $38,$50,$39,$50
+
+UnknownOAM_4159c: ; 4159c (10:559c)
+ db $3B,$70,$3A,$70
+ db $39,$70,$38,$70
Func_415a4: ; 415a4 (10:55a4)
ld [$cf91], a
@@ -70247,6 +72318,8 @@ Func_415df: ; 415df (10:55df)
ld a, $7
ld [rWX], a ; $FF00+$4b
ret
+
+Func_415fe: ; 415fe (10:55fe)
ld hl, UnnamedText_4160c ; $560c
call PrintText
ld c, $c8
@@ -70257,6 +72330,7 @@ UnnamedText_4160c: ; 4160c (10:560c)
TX_FAR _UnnamedText_4160c
db "@"
+Func_41611: ; 41611 (10:5611)
ld hl, UnnamedText_41623 ; $5623
call PrintText
call Func_41191
@@ -70272,6 +72346,7 @@ UnnamedText_41628: ; 41628 (10:5628)
TX_FAR _UnnamedText_41628
db "@"
+Func_4162d: ; 4162d (10:562d)
ld hl, UnnamedText_41642 ; $5642
call PrintText
call Func_41191
@@ -70297,7 +72372,13 @@ UnnamedText_41655: ; 41655 (10:5655)
TX_FAR _UnnamedText_41655
db "@"
-INCBIN "baserom.gbc",$4165a,$4166c - $4165a
+Func_4165a: ; 4165a (10:565a)
+ ld hl, UnnamedText_4166c
+ call PrintText
+ call Func_41191
+ ld hl, UnnamedText_41671
+ call PrintText
+ jp Func_41191
UnnamedText_4166c: ; 4166c (10:566c)
TX_FAR _UnnamedText_4166c
@@ -70467,7 +72548,7 @@ AnimateIntroNidorino: ; 41793 (10:5793)
jr AnimateIntroNidorino
Func_417ae: ; 417ae (10:57ae)
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
ld a, [$d09f]
ld d, a
.asm_417b5
@@ -70486,7 +72567,7 @@ Func_417ae: ; 417ae (10:57ae)
ret
Func_417c7: ; 417c7 (10:57c7)
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
ld d, $0
.asm_417cc
push bc
@@ -70581,9 +72662,13 @@ Func_4183f: ; 4183f (10:583f)
Func_41842: ; 41842 (10:5842)
ld c, $0
ld a, $31
- jp Predef ; indirect jump to Func_79dda (79dda (1e:5dda))
+ jp Predef ; indirect jump to Func_79dda
-INCBIN "baserom.gbc",$41849,$41852 - $41849
+Func_41849: ; 41849 (10:5849)
+ ld a, $33
+ call Predef
+ ld a, b
+ jp PlaySound ; indirect jump to Func_79869
Func_41852: ; 41852 (10:5852)
ld hl, FightIntroBackMon ; $5a99
@@ -70650,7 +72735,7 @@ Func_4188a: ; 4188a (10:588a)
Func_418e9: ; 418e9 (10:58e9)
call Func_417f0
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld c, $50
call Func_41807
FuncCoord 0, 14 ; $c4b8
@@ -70770,7 +72855,7 @@ SECTION "bank11",ROMX,BANK[$11]
LavenderTown_h: ; 0x44000 to 0x4402d (45 bytes) (bank=11) (id=4)
db $00 ; tileset
db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; dimensions (y, x)
- dw LavenderTownBlocks, LavenderTownTexts, LavenderTownScript ; blocks, texts, scripts
+ dw LavenderTownBlocks, LavenderTownTextPointers, LavenderTownScript ; blocks, texts, scripts
db NORTH | SOUTH | WEST ; connections
; connections data
@@ -70844,8 +72929,16 @@ SafariZoneRestHouse1Blocks: ; 440fb (11:40fb)
LavenderTownScript: ; 4410b (11:410b)
jp EnableAutoTextBoxDrawing
-LavenderTownTexts: ; 4410e (11:410e)
- dw LavenderTownText1, LavenderTownText2, LavenderTownText3, LavenderTownText4, LavenderTownText5, MartSignText, PokeCenterSignText, LavenderTownText8, LavenderTownText9
+LavenderTownTextPointers: ; 4410e (11:410e)
+ dw LavenderTownText1
+ dw LavenderTownText2
+ dw LavenderTownText3
+ dw LavenderTownText4
+ dw LavenderTownText5
+ dw MartSignText
+ dw PokeCenterSignText
+ dw LavenderTownText8
+ dw LavenderTownText9
LavenderTownText1: ; 44120 (11:4120)
db $08 ; asm
@@ -70898,12 +72991,12 @@ LavenderTownText9: ; 44164 (11:4164)
db "@"
DisplayDexRating: ; 44169 (11:4169)
- ld hl, W_SEENPOKEMON
+ ld hl, wPokedexSeen
ld b, $13
call CountSetBits
ld a, [$D11E] ; result of CountSetBits (seen count)
ld [$FFDB], a
- ld hl, W_OWNEDPOKEMON
+ ld hl, wPokedexOwned
ld b, $13
call CountSetBits
ld a, [$D11E] ; result of CountSetBits (own count)
@@ -71060,7 +73153,7 @@ UnnamedText_4424c: ; 4424c (11:424c)
ViridianPokecenter_h: ; 0x44251 to 0x4425d (12 bytes) (bank=11) (id=41)
db $06 ; tileset
db $04, $07 ; dimensions (y, x)
- dw ViridianPokecenterBlocks, ViridianPokecenterTexts, ViridianPokeCenterScript ; blocks, texts, scripts
+ dw ViridianPokecenterBlocks, ViridianPokecenterTextPointers, ViridianPokeCenterScript ; blocks, texts, scripts
db $00 ; connections
dw ViridianPokecenterObject ; objects
@@ -71069,8 +73162,11 @@ ViridianPokeCenterScript: ; 4425d (11:425d)
call Func_22fa
jp EnableAutoTextBoxDrawing
-ViridianPokecenterTexts: ; 44263 (11:4263)
- dw ViridianPokeCenterText1, ViridianPokeCenterText2, ViridianPokeCenterText3, ViridianPokeCenterText4
+ViridianPokecenterTextPointers: ; 44263 (11:4263)
+ dw ViridianPokeCenterText1
+ dw ViridianPokeCenterText2
+ dw ViridianPokeCenterText3
+ dw ViridianPokeCenterText4
ViridianPokeCenterText1: ; 4426b (11:426b)
db $ff
@@ -71108,7 +73204,7 @@ ViridianPokecenterObject: ; 0x44277 (size=44)
Mansion1_h: ; 0x442a3 to 0x442af (12 bytes) (bank=11) (id=165)
db $16 ; tileset
db MANSION_1_HEIGHT, MANSION_1_WIDTH ; dimensions (y, x)
- dw Mansion1Blocks, Mansion1Texts, Mansion1Script ; blocks, texts, scripts
+ dw Mansion1Blocks, Mansion1TextPointers, Mansion1Script ; blocks, texts, scripts
db $00 ; connections
dw Mansion1Object ; objects
@@ -71117,7 +73213,7 @@ Mansion1Script: ; 442af (11:42af)
call Mansion1Subscript1
call EnableAutoTextBoxDrawing
ld hl, Mansion1TrainerHeaders
- ld de, Unknown_44326 ; $4326
+ ld de, Mansion1ScriptPointers
ld a, [W_MANSION1CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_MANSION1CURSCRIPT], a
@@ -71162,13 +73258,26 @@ asm_44310: ; 44310 (11:4310)
call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
ret
-INCBIN "baserom.gbc",$44316,$44326 - $44316
+Func_44316: ; 44316 (11:4316)
+ ld a, [$c109]
+ cp $4
+ ret nz
+ xor a
+ ld [H_CURRENTPRESSEDBUTTONS], a
+ ld a, $4
+ ld [H_SPRITEHEIGHT], a
+ jp DisplayTextID
-Unknown_44326: ; 44326 (11:4326)
-INCBIN "baserom.gbc",$44326,$4432c - $44326
+Mansion1ScriptPointers: ; 44326 (11:4326)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Mansion1Texts: ; 4432c (11:432c)
- dw Mansion1Text1, Predef5CText, Predef5CText, Mansion1Text4
+Mansion1TextPointers: ; 4432c (11:432c)
+ dw Mansion1Text1
+ dw Predef5CText
+ dw Predef5CText
+ dw Mansion1Text4
Mansion1TrainerHeaders: ; 44334 (11:4334)
Mansion1TrainerHeader0: ; 44334 (11:4334)
@@ -71180,7 +73289,7 @@ Mansion1TrainerHeader0: ; 44334 (11:4334)
dw Mansion1EndBattleText2 ; 0x4350 TextEndBattle
dw Mansion1EndBattleText2 ; 0x4350 TextEndBattle
-db $ff
+ db $ff
Mansion1Text1: ; 44341 (11:4341)
db $08 ; asm
@@ -71276,166 +73385,220 @@ Mansion1Blocks: ; 443fe (11:43fe)
RockTunnel1_h: ; 0x444d0 to 0x444dc (12 bytes) (bank=11) (id=82)
db $11 ; tileset
db ROCK_TUNNEL_1_HEIGHT, ROCK_TUNNEL_1_WIDTH ; dimensions (y, x)
- dw RockTunnel1Blocks, RockTunnel1Texts, RockTunnel1Script ; blocks, texts, scripts
+ dw RockTunnel1Blocks, RockTunnel1TextPointers, RockTunnel1Script ; blocks, texts, scripts
db $00 ; connections
dw RockTunnel1Object ; objects
RockTunnel1Script: ; 444dc (11:44dc)
call EnableAutoTextBoxDrawing
- ld hl, Unnamed_44505 ; $4505
- ld de, Unnamed_444ef ; $44ef
+ ld hl, RockTunnel1TrainerHeaders
+ ld de, RockTunnel1ScriptPointers
ld a, [W_ROCKTUNNEL1CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROCKTUNNEL1CURSCRIPT], a
ret
-Unnamed_444ef: ; 444ef (11:44ef)
-INCBIN "baserom.gbc",$444ef,$444f5 - $444ef
+RockTunnel1ScriptPointers: ; 444ef (11:44ef)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-RockTunnel1Texts: ; 444f5 (11:44f5)
- dw RockTunnel1Text1, RockTunnel1Text2, RockTunnel1Text3, RockTunnel1Text4, RockTunnel1Text5, RockTunnel1Text6, RockTunnel1Text7, RockTunnel1Text8
+RockTunnel1TextPointers: ; 444f5 (11:44f5)
+ dw RockTunnel1Text1
+ dw RockTunnel1Text2
+ dw RockTunnel1Text3
+ dw RockTunnel1Text4
+ dw RockTunnel1Text5
+ dw RockTunnel1Text6
+ dw RockTunnel1Text7
+ dw RockTunnel1Text8
+
+RockTunnel1TrainerHeaders: ; 44505 (11:4505)
+RockTunnel1TrainerHeader1: ; 44505 (11:4505)
+ db $1 ; flag's bit
+ db ($4 << 4) ; trainer's view range
+ dw $d7d2 ; flag's byte
+ dw RockTunnel1BattleText1 ; 0x4588 TextBeforeBattle
+ dw RockTunnel1AfterBattleText1 ; 0x4592 TextAfterBattle
+ dw RockTunnel1EndBattleText1 ; 0x458d TextEndBattle
+ dw RockTunnel1EndBattleText1 ; 0x458d TextEndBattle
-Unnamed_44505: ; 44505 (11:4505)
-INCBIN "baserom.gbc",$44505,$44511 - $44505
+RockTunnel1TrainerHeader2: ; 44511 (11:4511)
+ db $2 ; flag's bit
+ db ($4 << 4) ; trainer's view range
+ dw $d7d2 ; flag's byte
+ dw RockTunnel1BattleText2 ; 0x4597 TextBeforeBattle
+ dw RockTunnel1AfterBattleText2 ; 0x45a1 TextAfterBattle
+ dw RockTunnel1EndBattleText2 ; 0x459c TextEndBattle
+ dw RockTunnel1EndBattleText2 ; 0x459c TextEndBattle
-Unknown_44511: ; 44511 (11:4511)
-INCBIN "baserom.gbc",$44511,$4451d - $44511
+RockTunnel1TrainerHeader3: ; 4451d (11:451d)
+ db $3 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d7d2 ; flag's byte
+ dw RockTunnel1BattleText3 ; 0x45a6 TextBeforeBattle
+ dw RockTunnel1AfterBattleText3 ; 0x45b0 TextAfterBattle
+ dw RockTunnel1EndBattleText3 ; 0x45ab TextEndBattle
+ dw RockTunnel1EndBattleText3 ; 0x45ab TextEndBattle
-Unknown_4451d: ; 4451d (11:451d)
-INCBIN "baserom.gbc",$4451d,$44529 - $4451d
+RockTunnel1TrainerHeader4: ; 44529 (11:4529)
+ db $4 ; flag's bit
+ db ($3 << 4) ; trainer's view range
+ dw $d7d2 ; flag's byte
+ dw RockTunnel1BattleText4 ; 0x45b5 TextBeforeBattle
+ dw RockTunnel1AfterBattleText4 ; 0x45bf TextAfterBattle
+ dw RockTunnel1EndBattleText4 ; 0x45ba TextEndBattle
+ dw RockTunnel1EndBattleText4; 0x45ba TextEndBattle
-Unknown_44529: ; 44529 (11:4529)
-INCBIN "baserom.gbc",$44529,$44535 - $44529
+RockTunnel1TrainerHeader5: ; 44535 (11:4535)
+ db $5 ; flag's bit
+ db ($4 << 4) ; trainer's view range
+ dw $d7d2 ; flag's byte
+ dw RockTunnel1BattleText5 ; 0x45c4 TextBeforeBattle
+ dw RockTunnel1AfterBattleText5 ; 0x45ce TextAfterBattle
+ dw RockTunnel1EndBattleText5 ; 0x45c9 TextEndBattle
+ dw RockTunnel1EndBattleText5 ; 0x45c9 TextEndBattle
-Unknown_44535: ; 44535 (11:4535)
-INCBIN "baserom.gbc",$44535,$44541 - $44535
+RockTunnel1TrainerHeader6: ; 44541 (11:4541)
+ db $6 ; flag's bit
+ db ($4 << 4) ; trainer's view range
+ dw $d7d2 ; flag's byte
+ dw RockTunnel1BattleText6 ; 0x45d3 TextBeforeBattle
+ dw RockTunnel1AfterBattleText6 ; 0x45dd TextAfterBattle
+ dw RockTunnel1EndBattleText6 ; 0x45d8 TextEndBattle
+ dw RockTunnel1EndBattleText6 ; 0x45d8 TextEndBattle
-Unknown_44541: ; 44541 (11:4541)
-INCBIN "baserom.gbc",$44541,$4454d - $44541
+RockTunnel1TrainerHeader7: ; 4454d (11:454d)
+ db $7 ; flag's bit
+ db ($4 << 4) ; trainer's view range
+ dw $d7d2 ; flag's byte
+ dw RockTunnel1BattleText7; 0x45e2 TextBeforeBattle
+ dw RockTunnel1AfterBattleText7 ; 0x45ec TextAfterBattle
+ dw RockTunnel1EndBattleText7 ; 0x45e7 TextEndBattle
+ dw RockTunnel1EndBattleText7 ; 0x45e7 TextEndBattle
-Unknown_4454d: ; 4454d (11:454d)
-INCBIN "baserom.gbc",$4454d,$4455a - $4454d
+ db $ff
RockTunnel1Text1: ; 4455a (11:455a)
db $8
- ld hl, Unnamed_44505 ; $4505
+ ld hl, RockTunnel1TrainerHeader1 ; $4505
jr asm_0c916 ; 0x4455e $22
RockTunnel1Text2: ; 44560 (11:4560)
db $8
- ld hl, Unknown_44511 ; $4511
+ ld hl, RockTunnel1TrainerHeader2 ; $4511
jr asm_0c916 ; 0x44564 $1c
RockTunnel1Text3: ; 44566 (11:4566)
db $8
- ld hl, Unknown_4451d ; $451d
+ ld hl, RockTunnel1TrainerHeader3 ; $451d
jr asm_0c916 ; 0x4456a $16
RockTunnel1Text4: ; 4456c (11:456c)
db $8
- ld hl, Unknown_44529 ; $4529
+ ld hl, RockTunnel1TrainerHeader4 ; $4529
jr asm_0c916 ; 0x44570 $10
RockTunnel1Text5: ; 44572 (11:4572)
db $8
- ld hl, Unknown_44535 ; $4535
+ ld hl, RockTunnel1TrainerHeader5 ; $4535
jr asm_0c916 ; 0x44576 $a
RockTunnel1Text6: ; 44578 (11:4578)
db $8
- ld hl, Unknown_44541 ; $4541
+ ld hl, RockTunnel1TrainerHeader6 ; $4541
jr asm_0c916 ; 0x4457c $4
RockTunnel1Text7: ; 4457e (11:457e)
db $8
- ld hl, Unknown_4454d ; $454d
+ ld hl, RockTunnel1TrainerHeader7 ; $454d
asm_0c916: ; 44582 (11:4582)
call TalkToTrainer
jp TextScriptEnd
-UnnamedText_44588: ; 44588 (11:4588)
- TX_FAR _UnnamedText_44588
+RockTunnel1BattleText1: ; 44588 (11:4588)
+ TX_FAR _RockTunnel1BattleText1
db "@"
-UnnamedText_4458d: ; 4458d (11:458d)
- TX_FAR _UnnamedText_4458d
+RockTunnel1EndBattleText1: ; 4458d (11:458d)
+ TX_FAR _RockTunnel1EndBattleText1
db "@"
-UnnamedText_44592: ; 44592 (11:4592)
- TX_FAR _UnnamedText_44592
+RockTunnel1AfterBattleText1: ; 44592 (11:4592)
+ TX_FAR _RockTunnel1AfterBattleText1
db "@"
-UnnamedText_44597: ; 44597 (11:4597)
- TX_FAR _UnnamedText_44597
+RockTunnel1BattleText2: ; 44597 (11:4597)
+ TX_FAR _RockTunnel1BattleText2
db "@"
-UnnamedText_4459c: ; 4459c (11:459c)
- TX_FAR _UnnamedText_4459c
+RockTunnel1EndBattleText2: ; 4459c (11:459c)
+ TX_FAR _RockTunnel1EndBattleText2
db "@"
-UnnamedText_445a1: ; 445a1 (11:45a1)
- TX_FAR _UnnamedText_445a1
+RockTunnel1AfterBattleText2: ; 445a1 (11:45a1)
+ TX_FAR _RockTunnel1AfterBattleText2
db "@"
-UnnamedText_445a6: ; 445a6 (11:45a6)
- TX_FAR _UnnamedText_445a6
+RockTunnel1BattleText3: ; 445a6 (11:45a6)
+ TX_FAR _RockTunnel1BattleText3
db "@"
-UnnamedText_445ab: ; 445ab (11:45ab)
- TX_FAR _UnnamedText_445ab
+RockTunnel1EndBattleText3: ; 445ab (11:45ab)
+ TX_FAR _RockTunnel1EndBattleText3
db "@"
-UnnamedText_445b0: ; 445b0 (11:45b0)
- TX_FAR _UnnamedText_445b0
+RockTunnel1AfterBattleText3: ; 445b0 (11:45b0)
+ TX_FAR _RockTunnel1AfterBattleText3
db "@"
-UnnamedText_445b5: ; 445b5 (11:45b5)
- TX_FAR _UnnamedText_445b5
+RockTunnel1BattleText4: ; 445b5 (11:45b5)
+ TX_FAR _RockTunnel1BattleText4
db "@"
-UnnamedText_445ba: ; 445ba (11:45ba)
- TX_FAR _UnnamedText_445ba
+RockTunnel1EndBattleText4: ; 445ba (11:45ba)
+ TX_FAR _RockTunnel1EndBattleText4
db "@"
-UnnamedText_445bf: ; 445bf (11:45bf)
- TX_FAR _UnnamedText_445bf
+RockTunnel1AfterBattleText4: ; 445bf (11:45bf)
+ TX_FAR _RockTunnel1AfterBattleText4
db "@"
-UnnamedText_445c4: ; 445c4 (11:45c4)
- TX_FAR _UnnamedText_445c4
+RockTunnel1BattleText5: ; 445c4 (11:45c4)
+ TX_FAR _RockTunnel1BattleText5
db "@"
-UnnamedText_445c9: ; 445c9 (11:45c9)
- TX_FAR _UnnamedText_445c9
+RockTunnel1EndBattleText5: ; 445c9 (11:45c9)
+ TX_FAR _RockTunnel1EndBattleText5
db "@"
-UnnamedText_445ce: ; 445ce (11:45ce)
- TX_FAR _UnnamedText_445ce
+RockTunnel1AfterBattleText5: ; 445ce (11:45ce)
+ TX_FAR _RockTunnel1AfterBattleText5
db "@"
-UnnamedText_445d3: ; 445d3 (11:45d3)
- TX_FAR _UnnamedText_445d3
+RockTunnel1BattleText6: ; 445d3 (11:45d3)
+ TX_FAR _RockTunnel1BattleText6
db "@"
-UnnamedText_445d8: ; 445d8 (11:45d8)
- TX_FAR _UnnamedText_445d8
+RockTunnel1EndBattleText6: ; 445d8 (11:45d8)
+ TX_FAR _RockTunnel1EndBattleText6
db "@"
-UnnamedText_445dd: ; 445dd (11:45dd)
- TX_FAR _UnnamedText_445dd
+RockTunnel1AfterBattleText6: ; 445dd (11:45dd)
+ TX_FAR _RockTunnel1AfterBattleText6
db "@"
-UnnamedText_445e2: ; 445e2 (11:45e2)
- TX_FAR _UnnamedText_445e2
+RockTunnel1BattleText7: ; 445e2 (11:45e2)
+ TX_FAR _RockTunnel1BattleText7
db "@"
-UnnamedText_445e7: ; 445e7 (11:45e7)
- TX_FAR _UnnamedText_445e7
+RockTunnel1EndBattleText7: ; 445e7 (11:45e7)
+ TX_FAR _RockTunnel1EndBattleText7
db "@"
-UnnamedText_445ec: ; 445ec (11:45ec)
- TX_FAR _UnnamedText_445ec
+RockTunnel1AfterBattleText7: ; 445ec (11:45ec)
+ TX_FAR _RockTunnel1AfterBattleText7
db "@"
RockTunnel1Text8: ; 445f1 (11:45f1)
@@ -71483,7 +73646,7 @@ RockTunnel1Blocks: ; 44675 (11:4675)
SeafoamIslands1_h: ; 0x447dd to 0x447e9 (12 bytes) (bank=11) (id=192)
db $11 ; tileset
db SEAFOAM_ISLANDS_1_HEIGHT, SEAFOAM_ISLANDS_1_WIDTH ; dimensions (y, x)
- dw SeafoamIslands1Blocks, SeafoamIslands1Texts, SeafoamIslands1Script ; blocks, texts, scripts
+ dw SeafoamIslands1Blocks, SeafoamIslands1TextPointers, SeafoamIslands1Script ; blocks, texts, scripts
db $00 ; connections
dw SeafoamIslands1Object ; objects
@@ -71492,7 +73655,7 @@ SeafoamIslands1Script: ; 447e9 (11:47e9)
call EnableAutoTextBoxDrawing
ld hl, $d7e7
set 0, [hl]
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
bit 7, [hl]
res 7, [hl]
jr z, .asm_4483b ; 0x447f8 $41
@@ -71535,8 +73698,9 @@ Seafoam1HolesCoords: ; 44846 (11:4846)
db $06,$18
db $ff
-SeafoamIslands1Texts: ; 4484b (11:484b)
- dw BoulderText, BoulderText
+SeafoamIslands1TextPointers: ; 4484b (11:484b)
+ dw BoulderText
+ dw BoulderText
SeafoamIslands1Object: ; 0x4484f (size=72)
db $7d ; border tile
@@ -71565,7 +73729,9 @@ SeafoamIslands1Object: ; 0x4484f (size=72)
EVENT_DISP $f, $3, $19 ; SEAFOAM_ISLANDS_2
EVENT_DISP $f, $f, $17 ; SEAFOAM_ISLANDS_2
-INCBIN "baserom.gbc",$44897,$4489f - $44897
+ ; holes
+ EVENT_DISP $f, $6, $11
+ EVENT_DISP $f, $6, $18
SeafoamIslands1Blocks: ; 4489f (11:489f)
INCBIN "maps/seafoamislands1.blk"
@@ -71573,7 +73739,7 @@ SeafoamIslands1Blocks: ; 4489f (11:489f)
SSAnne3_h: ; 0x44926 to 0x44932 (12 bytes) (bank=11) (id=97)
db $0d ; tileset
db SS_ANNE_3_HEIGHT, SS_ANNE_3_WIDTH ; dimensions (y, x)
- dw SSAnne3Blocks, SSAnne3Texts, SSAnne3Script ; blocks, texts, scripts
+ dw SSAnne3Blocks, SSAnne3TextPointers, SSAnne3Script ; blocks, texts, scripts
db $00 ; connections
dw SSAnne3Object ; objects
@@ -71581,7 +73747,7 @@ SSAnne3_h: ; 0x44926 to 0x44932 (12 bytes) (bank=11) (id=97)
SSAnne3Script: ; 44932 (11:4932)
jp EnableAutoTextBoxDrawing
-SSAnne3Texts: ; 44935 (11:4935)
+SSAnne3TextPointers: ; 44935 (11:4935)
dw SSAnne3Text1
SSAnne3Text1: ; 44937 (11:4937)
@@ -71610,22 +73776,22 @@ SSAnne3Blocks: ; 44956 (11:4956)
VictoryRoad3_h: ; 0x44974 to 0x44980 (12 bytes) (bank=11) (id=198)
db $11 ; tileset
db VICTORY_ROAD_3_HEIGHT, VICTORY_ROAD_3_WIDTH ; dimensions (y, x)
- dw VictoryRoad3Blocks, VictoryRoad3Texts, VictoryRoad3Script ; blocks, texts, scripts
+ dw VictoryRoad3Blocks, VictoryRoad3TextPointers, VictoryRoad3Script ; blocks, texts, scripts
db $00 ; connections
dw VictoryRoad3Object ; objects
VictoryRoad3Script: ; 44980 (11:4980)
- call VictoryRoad3Script_Unknown44996
+ call VictoryRoad3Script_44996
call EnableAutoTextBoxDrawing
ld hl, VictoryRoad3TrainerHeaders
- ld de, Unknown_449b1 ; $49b1
+ ld de, VictoryRoad3ScriptPointers
ld a, [W_VICTORYROAD3CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_VICTORYROAD3CURSCRIPT], a
ret
-VictoryRoad3Script_Unknown44996: ; 44996 (11:4996)
+VictoryRoad3Script_44996: ; 44996 (11:4996)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
@@ -71639,16 +73805,20 @@ VictoryRoad3Script_Unknown44996: ; 44996 (11:4996)
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
-Unknown_449b1: ; 449b1 (11:49b1)
-INCBIN "baserom.gbc",$449b1,$449b7 - $449b1
- ld hl, W_FLAGS_CD60
+VictoryRoad3ScriptPointers: ; 449b1 (11:49b1)
+ dw VictoryRoad3Script0
+ dw Func_324c
+ dw EndTrainerBattle
+
+VictoryRoad3Script0: ; 449b7 (11:49b7)
+ ld hl, wFlags_0xcd60
bit 7, [hl]
res 7, [hl]
jp z, .asm_449fe
- ld hl, .unknown_449f9 ; $49f9
+ ld hl, .coordsData_449f9 ; $49f9
call CheckBoulderCoords
jp nc, .asm_449fe
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
cp $1
jr nz, .asm_449dc
ld hl, $d126
@@ -71670,15 +73840,17 @@ INCBIN "baserom.gbc",$449b1,$449b7 - $449b1
ld a, $15
jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8))
-.unknown_449f9: ; 449f9 (11:49f9)
-INCBIN "baserom.gbc",$449f9,$449fe - $449f9
+.coordsData_449f9: ; 449f9 (11:49f9)
+ db $05,$03
+ db $0F,$17
+ db $FF
.asm_449fe
ld a, $c2
ld [$d71d], a
- ld hl, .unknown_449f9 ; $49f9
+ ld hl, .coordsData_449f9 ; $49f9
call Func_46981
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
cp $1
jr nz, .asm_44a1b
ld hl, $d72d
@@ -71692,8 +73864,17 @@ INCBIN "baserom.gbc",$449f9,$449fe - $449f9
jp z, CheckFightingMapTrainers
ret
-VictoryRoad3Texts: ; 44a24 (11:4a24)
- dw VictoryRoad3Text1, VictoryRoad3Text2, VictoryRoad3Text3, VictoryRoad3Text4, Predef5CText, Predef5CText, BoulderText, BoulderText, BoulderText, BoulderText
+VictoryRoad3TextPointers: ; 44a24 (11:4a24)
+ dw VictoryRoad3Text1
+ dw VictoryRoad3Text2
+ dw VictoryRoad3Text3
+ dw VictoryRoad3Text4
+ dw Predef5CText
+ dw Predef5CText
+ dw BoulderText
+ dw BoulderText
+ dw BoulderText
+ dw BoulderText
VictoryRoad3TrainerHeaders: ; 44a38 (11:4a38)
VictoryRoad3TrainerHeader0: ; 44a38 (11:4a38)
@@ -71732,7 +73913,7 @@ VictoryRoad3TrainerHeader4: ; 44a5c (11:4a5c)
dw VictoryRoad3EndBattleText5 ; 0x4ac3 TextEndBattle
dw VictoryRoad3EndBattleText5 ; 0x4ac3 TextEndBattle
-db $ff
+ db $ff
VictoryRoad3Text1: ; 44a69 (11:4a69)
db $08 ; asm
@@ -71841,29 +74022,59 @@ VictoryRoad3Blocks: ; 44b37 (11:4b37)
RocketHideout1_h: ; 0x44bbe to 0x44bca (12 bytes) (bank=11) (id=199)
db $16 ; tileset
db ROCKET_HIDEOUT_1_HEIGHT, ROCKET_HIDEOUT_1_WIDTH ; dimensions (y, x)
- dw RocketHideout1Blocks, RocketHideout1Texts, RocketHideout1Script ; blocks, texts, scripts
+ dw RocketHideout1Blocks, RocketHideout1TextPointers, RocketHideout1Script ; blocks, texts, scripts
db $00 ; connections
dw RocketHideout1Object ; objects
RocketHideout1Script: ; 44bca (11:4bca)
- call Unknown_44be0
+ call Func_44be0
call EnableAutoTextBoxDrawing
ld hl, RocketHideout1TrainerHeaders
- ld de, Unknown_44c0e ; $4c0e
+ ld de, RocketHideout1ScriptPointers
ld a, [W_ROCKETHIDEOUT1CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROCKETHIDEOUT1CURSCRIPT], a
ret
-Unknown_44be0: ; 44be0 (11:4be0)
-INCBIN "baserom.gbc",$44be0,$44c0e - $44be0
+Func_44be0: ; 44be0 (11:4be0)
+ ld hl, $d126
+ bit 5, [hl]
+ res 5, [hl]
+ ret z
+ ld a, [$d815]
+ bit 7, a
+ jr nz, .asm_44c01
+ bit 5, a
+ jr nz, .asm_44bf7
+ ld a, $54
+ jr .asm_44c03
+.asm_44bf7
+ ld a, $ad
+ call $23b1
+ ld hl, $d815
+ bit 7, [hl]
+.asm_44c01
+ ld a, $e
+.asm_44c03
+ ld [$d09f], a
+ ld bc, $080c
+ ld a, $17
+ jp Predef
-Unknown_44c0e: ; 44c0e (11:4c0e)
-INCBIN "baserom.gbc",$44c0e,$44c14 - $44c0e
+RocketHideout1ScriptPointers: ; 44c0e (11:4c0e)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-RocketHideout1Texts: ; 44c14 (11:4c14)
- dw RocketHideout1Text1, RocketHideout1Text2, RocketHideout1Text3, RocketHideout1Text4, RocketHideout1Text5, Predef5CText, Predef5CText
+RocketHideout1TextPointers: ; 44c14 (11:4c14)
+ dw RocketHideout1Text1
+ dw RocketHideout1Text2
+ dw RocketHideout1Text3
+ dw RocketHideout1Text4
+ dw RocketHideout1Text5
+ dw Predef5CText
+ dw Predef5CText
RocketHideout1TrainerHeaders: ; 44c22 (11:4c22)
RocketHideout1TrainerHeader0: ; 44c22 (11:4c22)
@@ -71911,7 +74122,7 @@ RocketHideout1TrainerHeader5: ; 44c52 (11:4c52)
dw RocketHideout1EndBattleText6 ; 0x4c91 TextEndBattle
dw RocketHideout1EndBattleText6 ; 0x4c91 TextEndBattle
-db $ff
+ db $ff
RocketHideout1Text1: ; 44c5f (11:4c5f)
db $08 ; asm
@@ -72044,7 +74255,7 @@ RocketHideout1Blocks: ; 44d49 (11:4d49)
RocketHideout2_h: ; 0x44e1b to 0x44e27 (12 bytes) (bank=11) (id=200)
db $16 ; tileset
db ROCKET_HIDEOUT_2_HEIGHT, ROCKET_HIDEOUT_2_WIDTH ; dimensions (y, x)
- dw RocketHideout2Blocks, RocketHideout2Texts, RocketHideout2Script ; blocks, texts, scripts
+ dw RocketHideout2Blocks, RocketHideout2TextPointers, RocketHideout2Script ; blocks, texts, scripts
db $00 ; connections
dw RocketHideout2Object ; objects
@@ -72052,14 +74263,321 @@ RocketHideout2_h: ; 0x44e1b to 0x44e27 (12 bytes) (bank=11) (id=200)
RocketHideout2Script: ; 44e27 (11:4e27)
call EnableAutoTextBoxDrawing
ld hl, RocketHideout2TrainerHeaders
- ld de, RocketHideout2_Unknown44e3a
+ ld de, RocketHideout2ScriptPointers
ld a, [W_ROCKETHIDEOUT2CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROCKETHIDEOUT2CURSCRIPT], a
ret
-RocketHideout2_Unknown44e3a: ; 44e3a (11:4e3a)
-INCBIN "baserom.gbc",$44e3a,$44fd7 - $44e3a
+RocketHideout2ScriptPointers: ; 44e3a (11:4e3a)
+ dw RocketHideout2Script0
+ dw Func_324c
+ dw EndTrainerBattle
+ dw RocketHideout2Script3
+
+RocketHideout2Script0: ; 44e42 (11:4e42)
+ ld a, [W_YCOORD]
+ ld b, a
+ ld a, [W_XCOORD]
+ ld c, a
+ ld hl, RocketHideout2ArrowTilePlayerMovement
+ call Func_3442
+ cp $ff
+ jp z, CheckFightingMapTrainers
+ ld hl, $d736
+ set 7, [hl]
+ call Func_3486
+ ld a, $a7
+ call PlaySound
+ ld a, $ff
+ ld [wJoypadForbiddenButtonsMask], a
+ ld a, $3
+ ld [W_CURMAPSCRIPT], a
+ ret
+
+;format:
+;db y,x
+;dw pointer to movement
+RocketHideout2ArrowTilePlayerMovement: ; 44e6d (11:4e6d)
+ db $9,$4
+ dw RocketHideout2ArrowMovement1
+ db $b,$4
+ dw RocketHideout2ArrowMovement2
+ db $f,$4
+ dw RocketHideout2ArrowMovement3
+ db $10,$4
+ dw RocketHideout2ArrowMovement4
+ db $13,$4
+ dw RocketHideout2ArrowMovement1
+ db $16,$4
+ dw RocketHideout2ArrowMovement5
+ db $e,$5
+ dw RocketHideout2ArrowMovement6
+ db $16,$6
+ dw RocketHideout2ArrowMovement7
+ db $18,$6
+ dw RocketHideout2ArrowMovement8
+ db $9,$8
+ dw RocketHideout2ArrowMovement9
+ db $c,$8
+ dw RocketHideout2ArrowMovement10
+ db $f,$8
+ dw RocketHideout2ArrowMovement8
+ db $13,$8
+ dw RocketHideout2ArrowMovement9
+ db $17,$8
+ dw RocketHideout2ArrowMovement11
+ db $e,$9
+ dw RocketHideout2ArrowMovement12
+ db $16,$9
+ dw RocketHideout2ArrowMovement12
+ db $9,$a
+ dw RocketHideout2ArrowMovement13
+ db $a,$a
+ dw RocketHideout2ArrowMovement14
+ db $f,$a
+ dw RocketHideout2ArrowMovement15
+ db $11,$a
+ dw RocketHideout2ArrowMovement16
+ db $13,$a
+ dw RocketHideout2ArrowMovement17
+ db $19,$a
+ dw RocketHideout2ArrowMovement2
+ db $e,$b
+ dw RocketHideout2ArrowMovement18
+ db $10,$b
+ dw RocketHideout2ArrowMovement19
+ db $12,$b
+ dw RocketHideout2ArrowMovement12
+ db $9,$c
+ dw RocketHideout2ArrowMovement20
+ db $b,$c
+ dw RocketHideout2ArrowMovement21
+ db $d,$c
+ dw RocketHideout2ArrowMovement22
+ db $11,$c
+ dw RocketHideout2ArrowMovement23
+ db $a,$d
+ dw RocketHideout2ArrowMovement24
+ db $c,$d
+ dw RocketHideout2ArrowMovement25
+ db $10,$d
+ dw RocketHideout2ArrowMovement26
+ db $12,$d
+ dw RocketHideout2ArrowMovement27
+ db $13,$d
+ dw RocketHideout2ArrowMovement28
+ db $16,$d
+ dw RocketHideout2ArrowMovement29
+ db $17,$d
+ dw RocketHideout2ArrowMovement30
+ db $11,$e
+ dw RocketHideout2ArrowMovement31
+ db $10,$f
+ dw RocketHideout2ArrowMovement12
+ db $e,$10
+ dw RocketHideout2ArrowMovement32
+ db $10,$10
+ dw RocketHideout2ArrowMovement33
+ db $12,$10
+ dw RocketHideout2ArrowMovement34
+ db $a,$11
+ dw RocketHideout2ArrowMovement35
+ db $b,$11
+ dw RocketHideout2ArrowMovement36
+ db $FF
+
+;format: direction, count
+;right: $10
+;left: $20
+;up: $40
+;down: $80
+;each list is read starting from the $FF and working backwards
+RocketHideout2ArrowMovement1: ; 44f1a (11:4f1a)
+ db $20,$02
+ db $FF
+
+RocketHideout2ArrowMovement2: ; 44f1d (11:4f1d)
+ db $10,$04
+ db $FF
+
+RocketHideout2ArrowMovement3: ; 44f20 (11:4f20)
+ db $40,$04
+ db $10,$04
+ db $FF
+
+RocketHideout2ArrowMovement4: ; 44f25 (11:4f25)
+ db $40,$04
+ db $10,$04
+ db $40,$01
+ db $FF
+
+RocketHideout2ArrowMovement5: ; 44f2c (11:4f2c)
+ db $20,$02
+ db $40,$03
+ db $FF
+
+RocketHideout2ArrowMovement6: ; 44f31 (11:4f31)
+ db $80,$02
+ db $10,$04
+ db $FF
+
+RocketHideout2ArrowMovement7: ; 44f36 (11:4f36)
+ db $40,$02
+ db $FF
+
+RocketHideout2ArrowMovement8: ; 44f39 (11:4f39)
+ db $40,$04
+ db $FF
+
+RocketHideout2ArrowMovement9: ; 44f3c (11:4f3c)
+ db $20,$06
+ db $FF
+
+RocketHideout2ArrowMovement10: ; 44f3f (11:4f3f)
+ db $40,$01
+ db $FF
+
+RocketHideout2ArrowMovement11: ; 44f42 (11:4f42)
+ db $20,$06
+ db $40,$04
+ db $FF
+
+RocketHideout2ArrowMovement12: ; 44f47 (11:4f47)
+ db $80,$02
+ db $FF
+
+RocketHideout2ArrowMovement13: ; 44f4a (11:4f4a)
+ db $20,$08
+ db $FF
+
+RocketHideout2ArrowMovement14: ; 44f4d (11:4f4d)
+ db $20,$08
+ db $40,$01
+ db $FF
+
+RocketHideout2ArrowMovement15: ; 44f52 (11:4f52)
+ db $20,$08
+ db $40,$06
+ db $FF
+
+RocketHideout2ArrowMovement16: ; 44f57 (11:4f57)
+ db $40,$02
+ db $10,$04
+ db $FF
+
+RocketHideout2ArrowMovement17: ; 44f5c (11:4f5c)
+ db $40,$02
+ db $10,$04
+ db $40,$02
+ db $FF
+
+RocketHideout2ArrowMovement18: ; 44f63 (11:4f63)
+ db $80,$02
+ db $10,$04
+ db $80,$02
+ db $FF
+
+RocketHideout2ArrowMovement19: ; 44f6a (11:4f6a)
+ db $80,$02
+ db $10,$04
+ db $FF
+
+RocketHideout2ArrowMovement20: ; 44f6f (11:4f6f)
+ db $20,$0A
+ db $FF
+
+RocketHideout2ArrowMovement21: ; 44f72 (11:4f72)
+ db $20,$0A
+ db $40,$02
+ db $FF
+
+RocketHideout2ArrowMovement22: ; 44f77 (11:4f77)
+ db $20,$0A
+ db $40,$04
+ db $FF
+
+RocketHideout2ArrowMovement23: ; 44f7c (11:4f7c)
+ db $40,$02
+ db $10,$02
+ db $FF
+
+RocketHideout2ArrowMovement24: ; 44f81 (11:4f81)
+ db $10,$01
+ db $80,$02
+ db $FF
+
+RocketHideout2ArrowMovement25: ; 44f86 (11:4f86)
+ db $10,$01
+ db $FF
+
+RocketHideout2ArrowMovement26: ; 44f89 (11:4f89)
+ db $80,$02
+ db $10,$02
+ db $FF
+
+RocketHideout2ArrowMovement27: ; 44f8e (11:4f8e)
+ db $80,$02
+ db $20,$02
+ db $FF
+
+RocketHideout2ArrowMovement28: ; 44f93 (11:4f93)
+ db $40,$02
+ db $10,$04
+ db $40,$02
+ db $20,$03
+ db $FF
+
+RocketHideout2ArrowMovement29: ; 44f9c (11:4f9c)
+ db $80,$02
+ db $20,$04
+ db $FF
+
+RocketHideout2ArrowMovement30: ; 44fa1 (11:4fa1)
+ db $20,$06
+ db $40,$04
+ db $20,$05
+ db $FF
+
+RocketHideout2ArrowMovement31: ; 44fa8 (11:4fa8)
+ db $40,$02
+ db $FF
+
+RocketHideout2ArrowMovement32: ; 44fab (11:4fab)
+ db $40,$01
+ db $FF
+
+RocketHideout2ArrowMovement33: ; 44fae (11:4fae)
+ db $40,$03
+ db $FF
+
+RocketHideout2ArrowMovement34: ; 44fb1 (11:4fb1)
+ db $40,$05
+ db $FF
+
+RocketHideout2ArrowMovement35: ; 44fb4 (11:4fb4)
+ db $10,$01
+ db $80,$02
+ db $20,$04
+ db $FF
+
+RocketHideout2ArrowMovement36: ; 44fbb (11:4fbb)
+ db $20,$0A
+ db $40,$02
+ db $20,$05
+ db $FF
+
+RocketHideout2Script3: ; 44fc2 (11:4fc2)
+ ld a, [$cd38]
+ and a
+ jr nz, Func_44fd7
+ xor a
+ ld [wJoypadForbiddenButtonsMask], a
+ ld hl, $d736
+ res 7, [hl]
+ ld a, $0
+ ld [W_CURMAPSCRIPT], a
+ ret
Func_44fd7: ; 44fd7 (11:4fd7)
ld a, [$c102]
@@ -72073,9 +74591,9 @@ Func_44fd7: ; 44fd7 (11:4fd7)
ld [$c102], a
ld a, [W_CURMAPTILESET] ; $d367
cp $16
- ld hl, Unknown_45023 ; $5023
+ ld hl, SpinnerArrowTilePointers1 ; $5023
jr z, .asm_44ff6
- ld hl, Unknown_45053 ; $5053
+ ld hl, SpinnerArrowTilePointers2 ; $5053
.asm_44ff6
ld a, [$cd38]
bit 0, a
@@ -72112,12 +74630,11 @@ Func_44fd7: ; 44fd7 (11:4fd7)
jr nz, .asm_45006
ret
-Unknown_45023: ; 45023 (11:5023)
-; XXX: it looks to me this is probably data for copying tiles into memory, maybe to mix and match a few tilesets, but I don't really know for sure
+SpinnerArrowTilePointers1: ; 45023 (11:5023)
dw SpinnerArrowAnimTiles ;address from within tileset graphics
- db 1 ;number of tiles to copy?
+ db 1 ;number of tiles to copy?
db BANK(SpinnerArrowAnimTiles) ;bank of tileset graphics
- dw $9200 ;where to load in VRAM
+ dw $9200 ;where to load in VRAM
dw SpinnerArrowAnimTiles + $10
db 1
@@ -72136,25 +74653,25 @@ Unknown_45023: ; 45023 (11:5023)
dw Tset16_GFX + $200
db 1
- db $1A
+ db BANK(Tset16_GFX)
dw $9200
dw Tset16_GFX + $210
db 1
- db $1A
+ db BANK(Tset16_GFX)
dw $9210
dw Tset16_GFX + $300
db 1
- db $1A
+ db BANK(Tset16_GFX)
dw $9300
dw Tset16_GFX + $310
db 1
- db $1A
+ db BANK(Tset16_GFX)
dw $9310
-Unknown_45053: ; 45053 (11:5053)
+SpinnerArrowTilePointers2: ; 45053 (11:5053)
dw SpinnerArrowAnimTiles + $10
db 1
db BANK(SpinnerArrowAnimTiles)
@@ -72177,22 +74694,22 @@ Unknown_45053: ; 45053 (11:5053)
dw Tset05_GFX + $3C0
db 1
- db $1A
+ db BANK(Tset16_GFX)
dw $93C0
dw Tset05_GFX + $3D0
db 1
- db $1A
+ db BANK(Tset16_GFX)
dw $93D0
dw Tset05_GFX + $4C0
db 1
- db $1A
+ db BANK(Tset16_GFX)
dw $94C0
dw Tset05_GFX + $4D0
db 1
- db $1A
+ db BANK(Tset16_GFX)
dw $94D0
Unknown_45083: ; 45083 (11:5083)
@@ -72202,8 +74719,12 @@ INCBIN "baserom.gbc",$45083,$45087 - $45083
SpinnerArrowAnimTiles: ; 45087 (11:5087)
INCBIN "gfx/spinner_arrow.2bpp"
-RocketHideout2Texts: ; 450c7 (11:50c7)
- dw RocketHideout2Text1, Predef5CText, Predef5CText, Predef5CText, Predef5CText
+RocketHideout2TextPointers: ; 450c7 (11:50c7)
+ dw RocketHideout2Text1
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
RocketHideout2TrainerHeaders: ; 450d1 (11:50d1)
RocketHideout2TrainerHeader0: ; 450d1 (11:50d1)
@@ -72215,7 +74736,7 @@ RocketHideout2TrainerHeader0: ; 450d1 (11:50d1)
dw RocketHideout2EndBattleText2 ; 0x50ed TextEndBattle
dw RocketHideout2EndBattleText2 ; 0x50ed TextEndBattle
-db $ff
+ db $ff
RocketHideout2Text1: ; 450de (11:50de)
db $08 ; asm
@@ -72267,7 +74788,7 @@ RocketHideout2Blocks: ; 45147 (11:5147)
RocketHideout3_h: ; 0x45219 to 0x45225 (12 bytes) (bank=11) (id=201)
db $16 ; tileset
db ROCKET_HIDEOUT_3_HEIGHT, ROCKET_HIDEOUT_3_WIDTH ; dimensions (y, x)
- dw RocketHideout3Blocks, RocketHideout3Texts, RocketHideout3Script ; blocks, texts, scripts
+ dw RocketHideout3Blocks, RocketHideout3TextPointers, RocketHideout3Script ; blocks, texts, scripts
db $00 ; connections
dw RocketHideout3Object ; objects
@@ -72275,17 +74796,157 @@ RocketHideout3_h: ; 0x45219 to 0x45225 (12 bytes) (bank=11) (id=201)
RocketHideout3Script: ; 45225 (11:5225)
call EnableAutoTextBoxDrawing
ld hl, RocketHideout3TrainerHeaders
- ld de, RocketHideout3Script_Unknown45238
+ ld de, RocketHideout3ScriptPointers
ld a, [W_ROCKETHIDEOUT3CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROCKETHIDEOUT3CURSCRIPT], a
ret
-RocketHideout3Script_Unknown45238: ; 45238 (11:5238)
-INCBIN "baserom.gbc",$45238,$452fa - $45238
+RocketHideout3ScriptPointers: ; 45238 (11:5238)
+ dw RocketHideout3Script0
+ dw Func_324c
+ dw EndTrainerBattle
+ dw RocketHideout3Script3
-RocketHideout3Texts: ; 452fa (11:52fa)
- dw RocketHideout3Text1, RocketHideout3Text2, Predef5CText, Predef5CText
+RocketHideout3Script0: ; 45240 (11:5240)
+ ld a, [W_YCOORD]
+ ld b, a
+ ld a, [W_XCOORD]
+ ld c, a
+ ld hl, RocketHideout3ArrowTilePlayerMovement
+ call Func_3442
+ cp $ff
+ jp z, CheckFightingMapTrainers
+ ld hl, $d736
+ set 7, [hl]
+ call Func_3486
+ ld a, $a7
+ call PlaySound
+ ld a, $ff
+ ld [wJoypadForbiddenButtonsMask], a
+ ld a, $3
+ ld [W_CURMAPSCRIPT], a
+ ret
+
+;format:
+;db y,x
+;dw pointer to movement
+RocketHideout3ArrowTilePlayerMovement: ; 4526b (11:526b)
+ db $d,$a
+ dw RocketHideout3ArrowMovement6
+ db $13,$a
+ dw RocketHideout3ArrowMovement1
+ db $12,$b
+ dw RocketHideout3ArrowMovement2
+ db $b,$c
+ dw RocketHideout3ArrowMovement3
+ db $11,$c
+ dw RocketHideout3ArrowMovement4
+ db $14,$c
+ dw RocketHideout3ArrowMovement5
+ db $10,$d
+ dw RocketHideout3ArrowMovement6
+ db $b,$e
+ dw RocketHideout3ArrowMovement7
+ db $f,$e
+ dw RocketHideout3ArrowMovement6
+ db $11,$e
+ dw RocketHideout3ArrowMovement8
+ db $13,$e
+ dw RocketHideout3ArrowMovement9
+ db $10,$f
+ dw RocketHideout3ArrowMovement7
+ db $12,$f
+ dw RocketHideout3ArrowMovement10
+ db $d,$10
+ dw RocketHideout3ArrowMovement11
+ db $c,$11
+ dw RocketHideout3ArrowMovement10
+ db $10,$12
+ dw RocketHideout3ArrowMovement12
+ db $FF
+
+;format: direction, count
+;right: $10
+;left: $20
+;up: $40
+;down: $80
+;each list is read starting from the $FF and working backwards
+RocketHideout3ArrowMovement1: ; 452ac (11:52ac)
+ db $10,$04
+ db $40,$04
+ db $10,$04
+ db $FF
+
+RocketHideout3ArrowMovement2: ; 452b3 (11:52b3)
+ db $80,$04
+ db $10,$04
+ db $FF
+
+RocketHideout3ArrowMovement3: ; 452b8 (11:52b8)
+ db $20,$02
+ db $FF
+
+RocketHideout3ArrowMovement4: ; 452bb (11:52bb)
+ db $10,$04
+ db $40,$02
+ db $10,$02
+ db $FF
+
+RocketHideout3ArrowMovement5: ; 452c2 (11:52c2)
+ db $10,$04
+ db $40,$02
+ db $10,$02
+ db $40,$03
+ db $FF
+
+RocketHideout3ArrowMovement6: ; 452cb (11:52cb)
+ db $10,$04
+ db $FF
+
+RocketHideout3ArrowMovement7: ; 452ce (11:52ce)
+ db $10,$02
+ db $FF
+
+RocketHideout3ArrowMovement8: ; 452d1 (11:52d1)
+ db $10,$04
+ db $40,$02
+ db $FF
+
+RocketHideout3ArrowMovement9: ; 452d6 (11:52d6)
+ db $10,$04
+ db $40,$04
+ db $FF
+
+RocketHideout3ArrowMovement10: ; 452db (11:52db)
+ db $80,$04
+ db $FF
+
+RocketHideout3ArrowMovement11: ; 452de (11:52de)
+ db $40,$02
+ db $FF
+
+RocketHideout3ArrowMovement12: ; 452e1 (11:52e1)
+ db $40,$01
+ db $FF
+
+RocketHideout3Script3 ; 452e4 (11:452e4)
+ ld a, [$cd38]
+ and a
+ jp nz, Func_44fd7
+ xor a
+ ld [wJoypadForbiddenButtonsMask], a
+ ld hl, $d736
+ res 7, [hl]
+ ld a, $0
+ ld [W_CURMAPSCRIPT], a
+ ret
+
+RocketHideout3TextPointers: ; 452fa (11:52fa)
+ dw RocketHideout3Text1
+ dw RocketHideout3Text2
+ dw Predef5CText
+ dw Predef5CText
RocketHideout3TrainerHeaders: ; 45302 (11:5302)
RocketHideout3TrainerHeader0: ; 45302 (11:5302)
@@ -72306,7 +74967,7 @@ RocketHideout3TrainerHeader2: ; 4530e (11:530e)
dw RocketHideout3EndBattleText3 ; 0x5343 TextEndBattle
dw RocketHideout3EndBattleText3 ; 0x5343 TextEndBattle
-db $ff
+ db $ff
RocketHideout3Text1: ; 4531b (11:531b)
db $08 ; asm
@@ -72372,29 +75033,103 @@ RocketHideout3Blocks: ; 4537f (11:537f)
RocketHideout4_h: ; 0x45451 to 0x4545d (12 bytes) (bank=11) (id=202)
db $16 ; tileset
db ROCKET_HIDEOUT_4_HEIGHT, ROCKET_HIDEOUT_4_WIDTH ; dimensions (y, x)
- dw RocketHideout4Blocks, RocketHideout4Texts, RocketHideout4Script ; blocks, texts, scripts
+ dw RocketHideout4Blocks, RocketHideout4TextPointers, RocketHideout4Script ; blocks, texts, scripts
db $00 ; connections
dw RocketHideout4Object ; objects
RocketHideout4Script: ; 4545d (11:545d)
- call Unnamed_45473
+ call Func_45473
call EnableAutoTextBoxDrawing
ld hl, RocketHideout4TrainerHeader0
- ld de, Unknown_454ae ; $54ae
+ ld de, RocketHideout4ScriptPointers
ld a, [W_ROCKETHIDEOUT4CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROCKETHIDEOUT4CURSCRIPT], a
ret
-Unnamed_45473: ; 45473 (11:5473)
-INCBIN "baserom.gbc",$45473,$454ae - $45473
+Func_45473: ; 45473 (11:5473)
+ ld hl, $d126
+ bit 5, [hl]
+ res 5, [hl]
+ ret z
+ ld a, [$d81b]
+ bit 5, a
+ jr nz, .asm_45496
+ and $c
+ cp $c
+ jr z, .asm_4548c
+ ld a, $2d
+ jr .asm_45498
+.asm_4548c
+ ld a, $ad
+ call PlaySound
+ ld hl, $d81b
+ set 5, [hl]
+.asm_45496
+ ld a, $e
+.asm_45498
+ ld [$d09f], a
+ ld bc, $050c
+ ld a, $17
+ jp Predef
+
+Func_454a3: ; 454a3 (11:54a3)
+ xor a
+ ld [wJoypadForbiddenButtonsMask], a
+ ld [W_ROCKETHIDEOUT4CURSCRIPT], a
+ ld [W_CURMAPSCRIPT], a
+ ret
-Unknown_454ae: ; 454ae (11:54ae)
-INCBIN "baserom.gbc",$454ae,$45501 - $454ae
+RocketHideout4ScriptPointers: ; 454ae (11:54ae)c
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
+ dw RocketHideout4Script3
+
+RocketHideout4Script3: ; 454b6 (11:54b6)
+ ld a, [W_ISINBATTLE]
+ cp $ff
+ jp z, Func_454a3
+ call UpdateSprites
+ ld a, $f0
+ ld [wJoypadForbiddenButtonsMask], a
+ ld hl, $d81b
+ set 7, [hl]
+ ld a, $a
+ ld [H_SPRITEHEIGHT], a
+ call DisplayTextID
+ call GBFadeIn1
+ ld a, $83
+ ld [$cc4d], a
+ ld a, $11
+ call Predef
+ ld a, $87
+ ld [$cc4d], a
+ ld a, $15
+ call Predef
+ call UpdateSprites
+ call GBFadeOut1
+ xor a
+ ld [wJoypadForbiddenButtonsMask], a
+ ld hl, $d126
+ set 5, [hl]
+ ld a, $0
+ ld [W_ROCKETHIDEOUT4CURSCRIPT], a
+ ld [W_CURMAPSCRIPT], a
+ ret
-RocketHideout4Texts: ; 45501 (11:5501)
- dw RocketHideout4Text1, RocketHideout4Text2, RocketHideout4Text3, RocketHideout4Text4, Predef5CText, Predef5CText, Predef5CText, Predef5CText, Predef5CText, RocketHideout4Text10
+RocketHideout4TextPointers: ; 45501 (11:5501)
+ dw RocketHideout4Text1
+ dw RocketHideout4Text2
+ dw RocketHideout4Text3
+ dw RocketHideout4Text4
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw RocketHideout4Text10
RocketHideout4TrainerHeaders: ; 45515 (11:5515)
RocketHideout4TrainerHeader0: ; 45515 (11:5515)
@@ -72424,7 +75159,7 @@ RocketHideout4TrainerHeader3: ; 4552d (11:552d)
dw RocketHideout4EndBattleText4 ; 0x55ca TextEndBattle
dw RocketHideout4EndBattleText4 ; 0x55ca TextEndBattle
-db $ff
+ db $ff
RocketHideout4Text1: ; 4553a (11:553a)
db $08 ; asm
@@ -72574,7 +75309,7 @@ RocketHideout4Blocks: ; 45650 (11:5650)
RocketHideoutElevator_h: ; 0x45704 to 0x45710 (12 bytes) (bank=11) (id=203)
db $12 ; tileset
db ROCKET_HIDEOUT_ELEVATOR_HEIGHT, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; dimensions (y, x)
- dw RocketHideoutElevatorBlocks, RocketHideoutElevatorTexts, RocketHideoutElevatorScript ; blocks, texts, scripts
+ dw RocketHideoutElevatorBlocks, RocketHideoutElevatorTextPointers, RocketHideoutElevatorScript ; blocks, texts, scripts
db $00 ; connections
dw RocketHideoutElevatorObject ; objects
@@ -72584,7 +75319,7 @@ RocketHideoutElevatorScript: ; 45710 (11:5710)
bit 5, [hl]
res 5, [hl]
push hl
- call nz, RocketHideoutElevatorScript_Unknown4572c
+ call nz, RocketHideoutElevatorScript_4572c
pop hl
bit 7, [hl]
res 7, [hl]
@@ -72595,10 +75330,24 @@ RocketHideoutElevatorScript: ; 45710 (11:5710)
ld [$cc3c], a
ret
-RocketHideoutElevatorScript_Unknown4572c: ; 4572c (11:572c)
-INCBIN "baserom.gbc",$4572c,$45741 - $4572c
+RocketHideoutElevatorScript_4572c: ; 4572c (11:572c)
+ ld hl, $d3af
+ ld a, [$d73b]
+ ld b, a
+ ld a, [$d73c]
+ ld c, a
+ call RocketHideoutElevatorScript_4573a
+
+RocketHideoutElevatorScript_4573a: ; 4573a (11:573a)
+ inc hl
+ inc hl
+ ld a, b
+ ld [hli], a
+ ld a, c
+ ld [hli], a
+ ret
-Func_45741: ; 45741 (11:5741)
+RocketHideoutElevatorScript_45741: ; 45741 (11:5741)
ld hl, Unknown_45754 ; $5754
call LoadItemList
ld hl, Unknown_45759 ; $5759
@@ -72620,7 +75369,7 @@ Func_4575f: ; 4575f (11:575f)
call Bankswitch
ret
-RocketHideoutElevatorTexts: ; 4576b (11:576b)
+RocketHideoutElevatorTextPointers: ; 4576b (11:576b)
dw RocketHideoutElevatorText1
RocketHideoutElevatorText1: ; 4576d (11:576d)
@@ -72628,7 +75377,7 @@ RocketHideoutElevatorText1: ; 4576d (11:576d)
ld b, LIFT_KEY
call IsItemInBag
jr z, .asm_8d8f0 ; 0x45773
- call Func_45741
+ call RocketHideoutElevatorScript_45741
ld hl, Unknown_45759 ; $5759
ld a, $61
call Predef
@@ -72665,7 +75414,7 @@ RocketHideoutElevatorBlocks: ; 457a8 (11:57a8)
SilphCoElevator_h: ; 0x457b4 to 0x457c0 (12 bytes) (bank=11) (id=236)
db $12 ; tileset
db SILPH_CO_ELEVATOR_HEIGHT, SILPH_CO_ELEVATOR_WIDTH ; dimensions (y, x)
- dw SilphCoElevatorBlocks, SilphCoElevatorTexts, SilphCoElevatorScript ; blocks, texts, scripts
+ dw SilphCoElevatorBlocks, SilphCoElevatorTextPointers, SilphCoElevatorScript ; blocks, texts, scripts
db $00 ; connections
dw SilphCoElevatorObject ; objects
@@ -72675,7 +75424,7 @@ SilphCoElevatorScript: ; 457c0 (11:57c0)
bit 5, [hl]
res 5, [hl]
push hl
- call nz, SilphCoElevatorScript_Unknown457dc
+ call nz, SilphCoElevatorScript_457dc
pop hl
bit 7, [hl]
res 7, [hl]
@@ -72686,15 +75435,15 @@ SilphCoElevatorScript: ; 457c0 (11:57c0)
ld [$cc3c], a
ret
-SilphCoElevatorScript_Unknown457dc: ; 457dc (11:57dc)
+SilphCoElevatorScript_457dc: ; 457dc (11:57dc)
ld hl, $d3af
ld a, [$d73b]
ld b, a
ld a, [$d73c]
ld c, a
- call Func_457ea
+ call SilphCoElevatorScript_457ea
-Func_457ea: ; 457ea (11:57ea)
+SilphCoElevatorScript_457ea: ; 457ea (11:57ea)
inc hl
inc hl
ld a, b
@@ -72703,7 +75452,7 @@ Func_457ea: ; 457ea (11:57ea)
ld [hli], a
ret
-Func_457f1: ; 457f1 (11:57f1)
+SilphCoElevatorScript_457f1: ; 457f1 (11:57f1)
ld hl, Unknown_45804 ; $5804
call LoadItemList
ld hl, Unknown_45811 ; $5811
@@ -72725,12 +75474,12 @@ Func_45827: ; 45827 (11:5827)
call Bankswitch ; indirect jump to Func_7bf15 (7bf15 (1e:7f15))
ret
-SilphCoElevatorTexts: ; 45833 (11:5833)
+SilphCoElevatorTextPointers: ; 45833 (11:5833)
dw SilphCoElevatorText1
SilphCoElevatorText1: ; 45835 (11:5835)
db $08 ; asm
- call Func_457f1
+ call SilphCoElevatorScript_457f1
ld hl, Unknown_45811 ; $5811
ld a, $61
call Predef
@@ -72758,7 +75507,7 @@ SilphCoElevatorBlocks: ; 4585b (11:585b)
SafariZoneEast_h: ; 0x4585f to 0x4586b (12 bytes) (bank=11) (id=217)
db $03 ; tileset
db SAFARI_ZONE_EAST_HEIGHT, SAFARI_ZONE_EAST_WIDTH ; dimensions (y, x)
- dw SafariZoneEastBlocks, SafariZoneEastTexts, SafariZoneEastScript ; blocks, texts, scripts
+ dw SafariZoneEastBlocks, SafariZoneEastTextPointers, SafariZoneEastScript ; blocks, texts, scripts
db $00 ; connections
dw SafariZoneEastObject ; objects
@@ -72766,8 +75515,14 @@ SafariZoneEast_h: ; 0x4585f to 0x4586b (12 bytes) (bank=11) (id=217)
SafariZoneEastScript: ; 4586b (11:586b)
jp EnableAutoTextBoxDrawing
-SafariZoneEastTexts: ; 4586e (11:586e)
- dw Predef5CText, Predef5CText, Predef5CText, Predef5CText, SafariZoneEastText5, SafariZoneEastText6, SafariZoneEastText7
+SafariZoneEastTextPointers: ; 4586e (11:586e)
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw SafariZoneEastText5
+ dw SafariZoneEastText6
+ dw SafariZoneEastText7
SafariZoneEastText5: ; 4587c (11:587c)
TX_FAR _SafariZoneEastText5
@@ -72815,7 +75570,7 @@ SafariZoneEastBlocks: ; 458dc (11:58dc)
SafariZoneNorth_h: ; 0x4599f to 0x459ab (12 bytes) (bank=11) (id=218)
db $03 ; tileset
db SAFARI_ZONE_NORTH_HEIGHT, SAFARI_ZONE_NORTH_WIDTH ; dimensions (y, x)
- dw SafariZoneNorthBlocks, SafariZoneNorthTexts, SafariZoneNorthScript ; blocks, texts, scripts
+ dw SafariZoneNorthBlocks, SafariZoneNorthTextPointers, SafariZoneNorthScript ; blocks, texts, scripts
db $00 ; connections
dw SafariZoneNorthObject ; objects
@@ -72823,8 +75578,14 @@ SafariZoneNorth_h: ; 0x4599f to 0x459ab (12 bytes) (bank=11) (id=218)
SafariZoneNorthScript: ; 459ab (11:59ab)
jp EnableAutoTextBoxDrawing
-SafariZoneNorthTexts: ; 459ae (11:59ae)
- dw Predef5CText, Predef5CText, SafariZoneNorthText3, SafariZoneNorthText4, SafariZoneNorthText5, SafariZoneNorthText6, SafariZoneNorthText7
+SafariZoneNorthTextPointers: ; 459ae (11:59ae)
+ dw Predef5CText
+ dw Predef5CText
+ dw SafariZoneNorthText3
+ dw SafariZoneNorthText4
+ dw SafariZoneNorthText5
+ dw SafariZoneNorthText6
+ dw SafariZoneNorthText7
SafariZoneNorthText3: ; 459bc (11:59bc)
TX_FAR _SafariZoneNorthText3
@@ -72888,7 +75649,7 @@ SafariZoneNorthBlocks: ; 45a3e (11:5a3e)
SafariZoneCenter_h: ; 0x45ba6 to 0x45bb2 (12 bytes) (bank=11) (id=220)
db $03 ; tileset
db SAFARI_ZONE_CENTER_HEIGHT, SAFARI_ZONE_CENTER_WIDTH ; dimensions (y, x)
- dw SafariZoneCenterBlocks, SafariZoneCenterTexts, SafariZoneCenterScript ; blocks, texts, scripts
+ dw SafariZoneCenterBlocks, SafariZoneCenterTextPointers, SafariZoneCenterScript ; blocks, texts, scripts
db $00 ; connections
dw SafariZoneCenterObject ; objects
@@ -72896,8 +75657,10 @@ SafariZoneCenter_h: ; 0x45ba6 to 0x45bb2 (12 bytes) (bank=11) (id=220)
SafariZoneCenterScript: ; 45bb2 (11:5bb2)
jp EnableAutoTextBoxDrawing
-SafariZoneCenterTexts: ; 45bb5 (11:5bb5)
- dw Predef5CText, SafariZoneCenterText2, SafariZoneCenterText3
+SafariZoneCenterTextPointers: ; 45bb5 (11:5bb5)
+ dw Predef5CText
+ dw SafariZoneCenterText2
+ dw SafariZoneCenterText3
SafariZoneCenterText2: ; 45bbb (11:5bbb)
TX_FAR _SafariZoneCenterText2
@@ -72945,7 +75708,7 @@ SafariZoneCenterBlocks: ; 45c1e (11:5c1e)
SafariZoneRestHouse1_h: ; 0x45ce1 to 0x45ced (12 bytes) (bank=11) (id=221)
db $0c ; tileset
db SAFARI_ZONE_REST_HOUSE_1_HEIGHT, SAFARI_ZONE_REST_HOUSE_1_WIDTH ; dimensions (y, x)
- dw SafariZoneRestHouse1Blocks, SafariZoneRestHouse1Texts, SafariZoneRestHouse1Script ; blocks, texts, scripts
+ dw SafariZoneRestHouse1Blocks, SafariZoneRestHouse1TextPointers, SafariZoneRestHouse1Script ; blocks, texts, scripts
db $00 ; connections
dw SafariZoneRestHouse1Object ; objects
@@ -72953,8 +75716,9 @@ SafariZoneRestHouse1_h: ; 0x45ce1 to 0x45ced (12 bytes) (bank=11) (id=221)
SafariZoneRestHouse1Script: ; 45ced (11:5ced)
jp EnableAutoTextBoxDrawing
-SafariZoneRestHouse1Texts: ; 45cf0 (11:5cf0)
- dw SafariZoneRestHouse1Text1, SafariZoneRestHouse1Text2
+SafariZoneRestHouse1TextPointers: ; 45cf0 (11:5cf0)
+ dw SafariZoneRestHouse1Text1
+ dw SafariZoneRestHouse1Text2
SafariZoneRestHouse1Text1: ; 45cf4 (11:5cf4)
TX_FAR _SafariZoneRestHouse1Text1
@@ -72984,7 +75748,7 @@ SafariZoneRestHouse1Object: ; 0x45cfe (size=32)
SafariZoneRestHouse2_h: ; 0x45d1e to 0x45d2a (12 bytes) (bank=11) (id=223)
db $0c ; tileset
db SAFARI_ZONE_REST_HOUSE_2_HEIGHT, SAFARI_ZONE_REST_HOUSE_2_WIDTH ; dimensions (y, x)
- dw $40fb, SafariZoneRestHouse2Texts, SafariZoneRestHouse2Script ; blocks, texts, scripts
+ dw $40fb, SafariZoneRestHouse2TextPointers, SafariZoneRestHouse2Script ; blocks, texts, scripts
db $00 ; connections
dw SafariZoneRestHouse2Object ; objects
@@ -72993,8 +75757,10 @@ SafariZoneRestHouse2Script: ; 45d2a (11:5d2a)
call EnableAutoTextBoxDrawing
ret
-SafariZoneRestHouse2Texts: ; 45d2e (11:5d2e)
- dw SafariZoneRestHouse2Text1, SafariZoneRestHouse2Text2, SafariZoneRestHouse2Text3
+SafariZoneRestHouse2TextPointers: ; 45d2e (11:5d2e)
+ dw SafariZoneRestHouse2Text1
+ dw SafariZoneRestHouse2Text2
+ dw SafariZoneRestHouse2Text3
SafariZoneRestHouse2Text1: ; 45d34 (11:5d34)
TX_FAR _SafariZoneRestHouse2Text1
@@ -73029,7 +75795,7 @@ SafariZoneRestHouse2Object: ; 0x45d43 (size=38)
SafariZoneRestHouse3_h: ; 0x45d69 to 0x45d75 (12 bytes) (bank=11) (id=224)
db $0c ; tileset
db SAFARI_ZONE_REST_HOUSE_3_HEIGHT, SAFARI_ZONE_REST_HOUSE_3_WIDTH ; dimensions (y, x)
- dw $40fb, SafariZoneRestHouse3Texts, SafariZoneRestHouse3Script ; blocks, texts, scripts
+ dw $40fb, SafariZoneRestHouse3TextPointers, SafariZoneRestHouse3Script ; blocks, texts, scripts
db $00 ; connections
dw SafariZoneRestHouse3Object ; objects
@@ -73038,8 +75804,10 @@ SafariZoneRestHouse3Script: ; 45d75 (11:5d75)
call EnableAutoTextBoxDrawing
ret
-SafariZoneRestHouse3Texts: ; 45d79 (11:5d79)
- dw SafariZoneRestHouse3Text1, SafariZoneRestHouse3Text2, SafariZoneRestHouse3Text3
+SafariZoneRestHouse3TextPointers: ; 45d79 (11:5d79)
+ dw SafariZoneRestHouse3Text1
+ dw SafariZoneRestHouse3Text2
+ dw SafariZoneRestHouse3Text3
SafariZoneRestHouse3Text1: ; 45d7f (11:5d7f)
TX_FAR _SafariZoneRestHouse3Text1
@@ -73074,7 +75842,7 @@ SafariZoneRestHouse3Object: ; 0x45d8e (size=38)
SafariZoneRestHouse4_h: ; 0x45db4 to 0x45dc0 (12 bytes) (bank=11) (id=225)
db $0c ; tileset
db SAFARI_ZONE_REST_HOUSE_4_HEIGHT, SAFARI_ZONE_REST_HOUSE_4_WIDTH ; dimensions (y, x)
- dw $40fb, SafariZoneRestHouse4Texts, SafariZoneRestHouse4Script ; blocks, texts, scripts
+ dw $40fb, SafariZoneRestHouse4TextPointers, SafariZoneRestHouse4Script ; blocks, texts, scripts
db $00 ; connections
dw SafariZoneRestHouse4Object ; objects
@@ -73083,8 +75851,10 @@ SafariZoneRestHouse4Script: ; 45dc0 (11:5dc0)
call EnableAutoTextBoxDrawing
ret
-SafariZoneRestHouse4Texts: ; 45dc4 (11:5dc4)
- dw SafariZoneRestHouse4Text1, SafariZoneRestHouse4Text2, SafariZoneRestHouse4Text3
+SafariZoneRestHouse4TextPointers: ; 45dc4 (11:5dc4)
+ dw SafariZoneRestHouse4Text1
+ dw SafariZoneRestHouse4Text2
+ dw SafariZoneRestHouse4Text3
SafariZoneRestHouse4Text1: ; 45dca (11:5dca)
TX_FAR _SafariZoneRestHouse4Text1
@@ -73119,7 +75889,7 @@ SafariZoneRestHouse4Object: ; 0x45dd9 (size=38)
UnknownDungeon2_h: ; 0x45dff to 0x45e0b (12 bytes) (bank=11) (id=226)
db $11 ; tileset
db UNKNOWN_DUNGEON_2_HEIGHT, UNKNOWN_DUNGEON_2_WIDTH ; dimensions (y, x)
- dw UnknownDungeon2Blocks, UnknownDungeon2Texts, UnknownDungeon2Script ; blocks, texts, scripts
+ dw UnknownDungeon2Blocks, UnknownDungeon2TextPointers, UnknownDungeon2Script ; blocks, texts, scripts
db $00 ; connections
dw UnknownDungeon2Object ; objects
@@ -73127,8 +75897,10 @@ UnknownDungeon2_h: ; 0x45dff to 0x45e0b (12 bytes) (bank=11) (id=226)
UnknownDungeon2Script: ; 45e0b (11:5e0b)
jp EnableAutoTextBoxDrawing
-UnknownDungeon2Texts: ; 45e0e (11:5e0e)
- dw Predef5CText, Predef5CText, Predef5CText
+UnknownDungeon2TextPointers: ; 45e0e (11:5e0e)
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
UnknownDungeon2Object: ; 0x45e14 (size=73)
db $7d ; border tile
@@ -73162,7 +75934,7 @@ UnknownDungeon2Blocks: ; 45e5d (11:5e5d)
UnknownDungeon3_h: ; 0x45ee4 to 0x45ef0 (12 bytes) (bank=11) (id=227)
db $11 ; tileset
db UNKNOWN_DUNGEON_3_HEIGHT, UNKNOWN_DUNGEON_3_WIDTH ; dimensions (y, x)
- dw UnknownDungeon3Blocks, UnknownDungeon3Texts, UnknownDungeon3Script ; blocks, texts, scripts
+ dw UnknownDungeon3Blocks, UnknownDungeon3TextPointers, UnknownDungeon3Script ; blocks, texts, scripts
db $00 ; connections
dw UnknownDungeon3Object ; objects
@@ -73170,17 +75942,21 @@ UnknownDungeon3_h: ; 0x45ee4 to 0x45ef0 (12 bytes) (bank=11) (id=227)
UnknownDungeon3Script: ; 45ef0 (11:5ef0)
call EnableAutoTextBoxDrawing
ld hl, UnknownDungeon3TrainerHeaders
- ld de, UnknownDungeon3Script_Unknown45f03
+ ld de, UnknownDungeon3ScriptPointers
ld a, [W_UNKNOWNDUNGEON3CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_UNKNOWNDUNGEON3CURSCRIPT], a
ret
-UnknownDungeon3Script_Unknown45f03: ; 45f03 (11:5f03)
-INCBIN "baserom.gbc",$45f03,$45f09 - $45f03
+UnknownDungeon3ScriptPointers: ; 45f03 (11:5f03)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-UnknownDungeon3Texts: ; 45f09 (11:5f09)
- dw UnknownDungeon3Text1, Predef5CText, Predef5CText
+UnknownDungeon3TextPointers: ; 45f09 (11:5f09)
+ dw UnknownDungeon3Text1
+ dw Predef5CText
+ dw Predef5CText
UnknownDungeon3TrainerHeaders: ; 45f0f (11:5f0f)
UnknownDungeon3TrainerHeader0: ; 45f0f (11:5f0f)
@@ -73192,7 +75968,7 @@ UnknownDungeon3TrainerHeader0: ; 45f0f (11:5f0f)
dw UnknownDungeon3MewtwoText ; 0x5f26 TextEndBattle
dw UnknownDungeon3MewtwoText ; 0x5f26 TextEndBattle
-db $ff
+ db $ff
UnknownDungeon3Text1: ; 45f1c (11:5f1c)
db $08 ; asm
@@ -73230,7 +76006,7 @@ UnknownDungeon3Blocks: ; 45f58 (11:5f58)
RockTunnel2_h: ; 0x45fdf to 0x45feb (12 bytes) (bank=11) (id=232)
db $11 ; tileset
db ROCK_TUNNEL_2_HEIGHT, ROCK_TUNNEL_2_WIDTH ; dimensions (y, x)
- dw RockTunnel2Blocks, RockTunnel2Texts, RockTunnel2Script ; blocks, texts, scripts
+ dw RockTunnel2Blocks, RockTunnel2TextPointers, RockTunnel2Script ; blocks, texts, scripts
db $00 ; connections
dw RockTunnel2Object ; objects
@@ -73238,17 +76014,26 @@ RockTunnel2_h: ; 0x45fdf to 0x45feb (12 bytes) (bank=11) (id=232)
RockTunnel2Script: ; 45feb (11:5feb)
call EnableAutoTextBoxDrawing
ld hl, RockTunnel2TrainerHeaders
- ld de, RockTunnel2Script_Unknown45ffe
+ ld de, RockTunnel2ScriptPointers
ld a, [W_ROCKTUNNEL2CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROCKTUNNEL2CURSCRIPT], a
ret
-RockTunnel2Script_Unknown45ffe: ; 45ffe (11:5ffe)
-INCBIN "baserom.gbc",$45ffe,$46004 - $45ffe
+RockTunnel2ScriptPointers: ; 45ffe (11:5ffe)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-RockTunnel2Texts: ; 46004 (11:6004)
- dw RockTunnel2Text1, RockTunnel2Text2, RockTunnel2Text3, RockTunnel2Text4, RockTunnel2Text5, RockTunnel2Text6, RockTunnel2Text7, RockTunnel2Text8
+RockTunnel2TextPointers: ; 46004 (11:6004)
+ dw RockTunnel2Text1
+ dw RockTunnel2Text2
+ dw RockTunnel2Text3
+ dw RockTunnel2Text4
+ dw RockTunnel2Text5
+ dw RockTunnel2Text6
+ dw RockTunnel2Text7
+ dw RockTunnel2Text8
RockTunnel2TrainerHeaders: ; 46014 (11:6014)
RockTunnel2TrainerHeader0: ; 46014 (11:6014)
@@ -73323,7 +76108,7 @@ RockTunnel2TrainerHeader8: ; 46068 (11:6068)
dw RockTunnel2EndBattleText9 ; 0x6133 TextEndBattle
dw RockTunnel2EndBattleText9 ; 0x6133 TextEndBattle
-db $ff
+ db $ff
RockTunnel2Text1: ; 46075 (11:6075)
db $08 ; asm
@@ -73502,14 +76287,14 @@ RockTunnel2Blocks: ; 461a1 (11:61a1)
SeafoamIslands2_h: ; 0x46309 to 0x46315 (12 bytes) (bank=11) (id=159)
db $11 ; tileset
db SEAFOAM_ISLANDS_2_HEIGHT, SEAFOAM_ISLANDS_2_WIDTH ; dimensions (y, x)
- dw SeafoamIslands2Blocks, SeafoamIslands2Texts, SeafoamIslands2Script ; blocks, texts, scripts
+ dw SeafoamIslands2Blocks, SeafoamIslands2TextPointers, SeafoamIslands2Script ; blocks, texts, scripts
db $00 ; connections
dw SeafoamIslands2Object ; objects
SeafoamIslands2Script: ; 46315 (11:6315)
call EnableAutoTextBoxDrawing
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
bit 7, [hl]
res 7, [hl]
jr z, .asm_46362 ; 0x4631f $41
@@ -73552,8 +76337,9 @@ Seafoam2HolesCoords: ; 4636d (11:636d)
db $06,$17
db $ff
-SeafoamIslands2Texts: ; 46372 (11:6372)
- dw BoulderText, BoulderText
+SeafoamIslands2TextPointers: ; 46372 (11:6372)
+ dw BoulderText
+ dw BoulderText
SeafoamIslands2Object: ; 0x46376 (size=72)
db $7d ; border tile
@@ -73588,14 +76374,14 @@ SeafoamIslands2Blocks: ; 463be (11:63be)
SeafoamIslands3_h: ; 0x46445 to 0x46451 (12 bytes) (bank=11) (id=160)
db $11 ; tileset
db SEAFOAM_ISLANDS_3_HEIGHT, SEAFOAM_ISLANDS_3_WIDTH ; dimensions (y, x)
- dw SeafoamIslands3Blocks, SeafoamIslands3Texts, SeafoamIslands3Script ; blocks, texts, scripts
+ dw SeafoamIslands3Blocks, SeafoamIslands3TextPointers, SeafoamIslands3Script ; blocks, texts, scripts
db $00 ; connections
dw SeafoamIslands3Object ; objects
SeafoamIslands3Script: ; 46451 (11:6451)
call EnableAutoTextBoxDrawing
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
bit 7, [hl]
res 7, [hl]
jr z, .asm_4649e ; 0x4645b $41
@@ -73638,8 +76424,9 @@ Seafoam3HolesCoords: ; 464a9 (11:64a9)
db $06,$16
db $ff
-SeafoamIslands3Texts: ; 464ae (11:64ae)
- dw BoulderText, BoulderText
+SeafoamIslands3TextPointers: ; 464ae (11:64ae)
+ dw BoulderText
+ dw BoulderText
SeafoamIslands3Object: ; 0x464b2 (size=72)
db $7d ; border tile
@@ -73674,14 +76461,14 @@ SeafoamIslands3Blocks: ; 464fa (11:64fa)
SeafoamIslands4_h: ; 0x46581 to 0x4658d (12 bytes) (bank=11) (id=161)
db $11 ; tileset
db SEAFOAM_ISLANDS_4_HEIGHT, SEAFOAM_ISLANDS_4_WIDTH ; dimensions (y, x)
- dw SeafoamIslands4Blocks, SeafoamIslands4Texts, SeafoamIslands4Script ; blocks, texts, scripts
+ dw SeafoamIslands4Blocks, SeafoamIslands4TextPointers, SeafoamIslands4Script ; blocks, texts, scripts
db $00 ; connections
dw SeafoamIslands4Object ; objects
SeafoamIslands4Script: ; 4658d (11:658d)
call EnableAutoTextBoxDrawing
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
bit 7, [hl]
res 7, [hl]
jr z, .asm_465dc ; 0x46597 $43
@@ -73723,7 +76510,7 @@ SeafoamIslands4Script: ; 4658d (11:658d)
bit 4, a
ret nz
.asm_465ed
- ld hl, SeafoamIslands4Scripts
+ ld hl, SeafoamIslands4ScriptPointers
ld a, [W_SEAFOAMISLANDS4CURSCRIPT]
jp CallFunctionInTable
@@ -73732,8 +76519,11 @@ Seafoam4HolesCoords: ; 465f6 (11:65f6)
db $10,$06
db $ff
-SeafoamIslands4Scripts: ; 465fb (11:65fb)
- dw SeafoamIslands4Script0, SeafoamIslands4Script1, SeafoamIslands4Script2, SeafoamIslands4Script3
+SeafoamIslands4ScriptPointers: ; 465fb (11:65fb)
+ dw SeafoamIslands4Script0
+ dw SeafoamIslands4Script1
+ dw SeafoamIslands4Script2
+ dw SeafoamIslands4Script3
SeafoamIslands4Script0: ; 46603 (11:6603)
ld a, [$d880]
@@ -73773,7 +76563,41 @@ SeafoamIslands4Script1: ; 46639 (11:6639)
ret
SeafoamIslands4Script2: ; 46644 (11:6644)
-INCBIN "baserom.gbc",$46644,$4668f - $46644
+ ld a, [$d880]
+ and $3
+ cp $3
+ ret z
+ ld a, [W_XCOORD]
+ cp $12
+ jr z, .asm_4665e
+ cp $13
+ ld a, $0
+ jr nz, .asm_4667b
+ ld de, RLEData_4667f
+ jr .asm_46661
+.asm_4665e
+ ld de, RLEData_46688
+.asm_46661
+ ld hl, $ccd3
+ call DecodeRLEList
+ dec a
+ ld [$cd38], a
+ xor a
+ ld [$c206], a
+ ld hl, $d730
+ set 7, [hl]
+ ld hl, W_FLAGS_D733
+ set 2, [hl]
+ ld a, $3
+.asm_4667b
+ ld [W_SEAFOAMISLANDS4CURSCRIPT], a
+ ret
+
+RLEData_4667f: ; 4667f (11:667f)
+ db $80,$06,$10,$02,$80,$04,$20,$01,$FF
+
+RLEData_46688: ; 46688 (11:6688)
+ db $80,$06,$10,$02,$80,$04,$FF
SeafoamIslands4Script3: ; 4668f (11:668f)
ld a, [$cd38]
@@ -73783,8 +76607,13 @@ SeafoamIslands4Script3: ; 4668f (11:668f)
ld [W_SEAFOAMISLANDS4CURSCRIPT], a
ret
-SeafoamIslands4Texts: ; 4669a (11:669a)
- dw BoulderText, BoulderText, BoulderText, BoulderText, BoulderText, BoulderText
+SeafoamIslands4TextPointers: ; 4669a (11:669a)
+ dw BoulderText
+ dw BoulderText
+ dw BoulderText
+ dw BoulderText
+ dw BoulderText
+ dw BoulderText
SeafoamIslands4Object: ; 0x466a6 (size=96)
db $7d ; border tile
@@ -73823,7 +76652,7 @@ SeafoamIslands4Blocks: ; 46706 (11:6706)
SeafoamIslands5_h: ; 0x4678d to 0x46799 (12 bytes) (bank=11) (id=162)
db $11 ; tileset
db SEAFOAM_ISLANDS_5_HEIGHT, SEAFOAM_ISLANDS_5_WIDTH ; dimensions (y, x)
- dw SeafoamIslands5Blocks, SeafoamIslands5Texts, SeafoamIslands5Script ; blocks, texts, scripts
+ dw SeafoamIslands5Blocks, SeafoamIslands5TextPointers, SeafoamIslands5Script ; blocks, texts, scripts
db $00 ; connections
dw SeafoamIslands5Object ; objects
@@ -73831,31 +76660,46 @@ SeafoamIslands5_h: ; 0x4678d to 0x46799 (12 bytes) (bank=11) (id=162)
SeafoamIslands5Script: ; 46799 (11:6799)
call EnableAutoTextBoxDrawing
ld a, [W_SEAFOAMISLANDS5CURSCRIPT]
- ld hl, SeafoamIslands5Scripts
+ ld hl, SeafoamIslands5ScriptPointers
jp CallFunctionInTable
-INCBIN "baserom.gbc",$467a5,$467ad - $467a5
+SeafoamIslands5Script_467a5: ; 467a5 (11:67a5)
+ xor a
+ ld [W_SEAFOAMISLANDS5CURSCRIPT], a
+ ld [wJoypadForbiddenButtonsMask], a
+ ret
-SeafoamIslands5Scripts: ; 467ad (11:67ad)
- dw SeafoamIslands5Script0, SeafoamIslands5Script1
+SeafoamIslands5ScriptPointers: ; 467ad (11:67ad)
+ dw SeafoamIslands5Script0
+ dw SeafoamIslands5Script1
+ dw SeafoamIslands5Script2
+ dw SeafoamIslands5Script3
+ dw SeafoamIslands5Script4
-INCBIN "baserom.gbc",$467b1,$467c7 - $467b1
+SeafoamIslands5Script4: ; 467b7 (11:67b7)
+ ld a, [W_ISINBATTLE]
+ cp $ff
+ jr z, SeafoamIslands5Script_467a5
+ call EndTrainerBattle
+ ld a, $0
+ ld [W_SEAFOAMISLANDS5CURSCRIPT], a
+ ret
SeafoamIslands5Script0: ; 467c7 (11:67c7)
ld a, [$d880]
and $3
cp $3
ret z
- ld hl, Unknown_467fe ; $67fe
+ ld hl, CoordsData_467fe
call ArePlayerCoordsInArray
ret nc
ld a, [$cd3d]
cp $3
- jr nc, .asm_467e6 ; 0x467db $9
+ jr nc, .asm_467e6
ld a, $40
ld [$ccd4], a
ld a, $2
- jr .asm_467e8 ; 0x467e4 $2
+ jr .asm_467e8
.asm_467e6
ld a, $1
.asm_467e8
@@ -73869,23 +76713,92 @@ SeafoamIslands5Script0: ; 467c7 (11:67c7)
ld [W_SEAFOAMISLANDS5CURSCRIPT], a
ret
-Unknown_467fe: ; 467fe (11:67fe)
-INCBIN "baserom.gbc",$467fe,$46807 - $467fe
+CoordsData_467fe: ; 467fe (11:67fe)
+ db $11,$14
+ db $11,$15
+ db $10,$14
+ db $10,$15
+ db $FF
SeafoamIslands5Script1: ; 46807 (11:6807)
ld a, [$cd38]
and a
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_SEAFOAMISLANDS5CURSCRIPT], a
ret
-INCBIN "baserom.gbc",$46816,$4687c - $46816
+SeafoamIslands5Script2: ; 46816 (11:6816)
+ ld a, [$d881]
+ and $3
+ cp $3
+ ld a, $0
+ jr z, .asm_46849
+ ld hl, CoordsData_4684d
+ call ArePlayerCoordsInArray
+ ld a, $0
+ jr nc, .asm_46849
+ ld a, [$cd3d]
+ cp $1
+ jr nz, .asm_46837
+ ld de, RLEMovementData_46859
+ jr .asm_4683a
+.asm_46837
+ ld de, RLEMovementData_46852
+.asm_4683a
+ ld hl, $ccd3
+ call DecodeRLEList
+ dec a
+ ld [$cd38], a
+ call Func_3486
+ ld a, $3
+.asm_46849
+ ld [W_SEAFOAMISLANDS5CURSCRIPT], a
+ ret
-SeafoamIslands5Texts: ; 4687c (11:687c)
- dw BoulderText, BoulderText, SeafoamIslands5Text3, SeafoamIslands5Text4, SeafoamIslands5Text5
+CoordsData_4684d: ; 4684d (11:684d)
+ db $0E,$04
+ db $0E,$05
+ db $FF
+
+RLEMovementData_46852: ; 46852 (11:6852)
+ db $40,$03
+ db $10,$02
+ db $40,$01
+ db $FF
+
+RLEMovementData_46859: ; 46859 (11:6859)
+ db $40,$03
+ db $10,$03
+ db $40,$01
+ db $FF
+
+SeafoamIslands5Script3: ; 46860 (11:6860)
+ ld a, [$cd38]
+ ld b, a
+ cp $1
+ call z, SeaFoamIslands5Script_46872
+ ld a, b
+ and a
+ ret nz
+ ld a, $0
+ ld [W_SEAFOAMISLANDS5CURSCRIPT], a
+ ret
+
+SeaFoamIslands5Script_46872: ; 46872 (11:6872)
+ xor a
+ ld [$d700], a
+ ld [$d11a], a
+ jp ForceBikeOrSurf
+
+SeafoamIslands5TextPointers: ; 4687c (11:687c)
+ dw BoulderText
+ dw BoulderText
+ dw SeafoamIslands5Text3
+ dw SeafoamIslands5Text4
+ dw SeafoamIslands5Text5
SeafoamIslands5TrainerHeaders: ; 46886 (11:6886)
SeafoamIslands5TrainerHeader0: ; 46886 (11:6886)
@@ -73897,7 +76810,7 @@ SeafoamIslands5TrainerHeader0: ; 46886 (11:6886)
dw SeafoamIslands5BattleText2 ; 0x68a2 TextEndBattle
dw SeafoamIslands5BattleText2 ; 0x68a2 TextEndBattle
-db $ff
+ db $ff
SeafoamIslands5Text3: ; 46893 (11:6893)
db $08 ; asm
@@ -73958,7 +76871,7 @@ Func_46981: ; 46981 (11:6981)
ret nz
call ArePlayerCoordsInArray
ret nc
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld [$d71e], a
ld hl, $d72d
set 4, [hl]
@@ -73993,7 +76906,7 @@ Func_469a0: ; 469a0 (11:69a0)
ld h, [hl]
ld l, a
push hl
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
xor a
ld [hli], a
ld [hli], a
@@ -74023,7 +76936,7 @@ Func_469a0: ; 469a0 (11:69a0)
jr .asm_469ce
.asm_469f0
ld a, [hli]
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
ld a, [hli]
ld [$cd3e], a
ld a, [hli]
@@ -74684,7 +77597,7 @@ Mansion1HiddenObjects: ; 46f2b (11:6f2b)
db $10,$08,MOON_STONE
dbw BANK(HiddenItems),HiddenItems
db $05,$02,$04 ; XXX, y, x
- dbw $11,$4316
+ dbw BANK(Func_44316),Func_44316
db $FF
Mansion2HiddenObjects: ; 46f38 (11:6f38)
db $0b,$02,$04 ; XXX, y, x
@@ -74998,7 +77911,7 @@ Route7Script: ; 48152 (12:4152)
jp EnableAutoTextBoxDrawing
; XXX
-db $57, $41
+ db $57, $41
Route7Text1: ; 48157 (12:4157)
TX_FAR _Route7Text1
@@ -75007,15 +77920,16 @@ Route7Text1: ; 48157 (12:4157)
RedsHouse1F_h: ; 4815c (12:415c)
db $01 ; tileset
db $04,$04 ; dimensions
- dw RedsHouse1FBlocks, RedsHouse1FTexts, RedsHouse1FScript
+ dw RedsHouse1FBlocks, RedsHouse1FTextPointers, RedsHouse1FScript
db 0 ; no connections
dw RedsHouse1FObject
RedsHouse1FScript: ; 48168 (12:4168)
jp EnableAutoTextBoxDrawing
-RedsHouse1FTexts: ; 4816b (12:416b)
- dw RedsHouse1FText1,RedsHouse1FText2
+RedsHouse1FTextPointers: ; 4816b (12:416b)
+ dw RedsHouse1FText1
+ dw RedsHouse1FText2
RedsHouse1FText1: ; 4816f (12:416f) ; 416F Mom
db 8
@@ -75111,7 +78025,7 @@ RedsHouse1FBlocks: ; 48209 (12:4209)
CeladonMart3_h: ; 0x48219 to 0x48225 (12 bytes) (bank=12) (id=124)
db $12 ; tileset
db CELADON_MART_3_HEIGHT, CELADON_MART_3_WIDTH ; dimensions (y, x)
- dw CeladonMart3Blocks, CeladonMart3Texts, CeladonMart3Script ; blocks, texts, scripts
+ dw CeladonMart3Blocks, CeladonMart3TextPointers, CeladonMart3Script ; blocks, texts, scripts
db $00 ; connections
dw CeladonMart3Object ; objects
@@ -75119,8 +78033,24 @@ CeladonMart3_h: ; 0x48219 to 0x48225 (12 bytes) (bank=12) (id=124)
CeladonMart3Script: ; 48225 (12:4225)
jp EnableAutoTextBoxDrawing
-CeladonMart3Texts: ; 48228 (12:4228)
- dw CeladonMart3Text1, CeladonMart3Text2, CeladonMart3Text3, CeladonMart3Text4, CeladonMart3Text5, CeladonMart3Text6, CeladonMart3Text7, CeladonMart3Text8, CeladonMart3Text9, CeladonMart3Text10, CeladonMart3Text11, CeladonMart3Text12, CeladonMart3Text13, CeladonMart3Text14, CeladonMart3Text15, CeladonMart3Text16, CeladonMart3Text17
+CeladonMart3TextPointers: ; 48228 (12:4228)
+ dw CeladonMart3Text1
+ dw CeladonMart3Text2
+ dw CeladonMart3Text3
+ dw CeladonMart3Text4
+ dw CeladonMart3Text5
+ dw CeladonMart3Text6
+ dw CeladonMart3Text7
+ dw CeladonMart3Text8
+ dw CeladonMart3Text9
+ dw CeladonMart3Text10
+ dw CeladonMart3Text11
+ dw CeladonMart3Text12
+ dw CeladonMart3Text13
+ dw CeladonMart3Text14
+ dw CeladonMart3Text15
+ dw CeladonMart3Text16
+ dw CeladonMart3Text17
CeladonMart3Text1: ; 4824a (12:424a)
db $08 ; asm
@@ -75250,7 +78180,7 @@ CeladonMart3Blocks: ; 48322 (12:4322)
CeladonMart4_h: ; 0x4834a to 0x48356 (12 bytes) (bank=12) (id=125)
db $12 ; tileset
db CELADON_MART_4_HEIGHT, CELADON_MART_4_WIDTH ; dimensions (y, x)
- dw CeladonMart4Blocks, CeladonMart4Texts, CeladonMart4Script ; blocks, texts, scripts
+ dw CeladonMart4Blocks, CeladonMart4TextPointers, CeladonMart4Script ; blocks, texts, scripts
db $00 ; connections
dw CeladonMart4Object ; objects
@@ -75258,8 +78188,11 @@ CeladonMart4_h: ; 0x4834a to 0x48356 (12 bytes) (bank=12) (id=125)
CeladonMart4Script: ; 48356 (12:4356)
jp EnableAutoTextBoxDrawing
-CeladonMart4Texts: ; 48359 (12:4359)
- dw CeladonMart4Text1, CeladonMart4Text2, CeladonMart4Text3, CeladonMart4Text4
+CeladonMart4TextPointers: ; 48359 (12:4359)
+ dw CeladonMart4Text1
+ dw CeladonMart4Text2
+ dw CeladonMart4Text3
+ dw CeladonMart4Text4
CeladonMart4Text2: ; 48361 (12:4361)
TX_FAR _CeladonMart4Text2
@@ -75300,7 +78233,7 @@ CeladonMart4Blocks: ; 483a1 (12:43a1)
CeladonMartRoof_h: ; 0x483c9 to 0x483d5 (12 bytes) (bank=12) (id=126)
db $12 ; tileset
db CELADON_MART_ROOF_HEIGHT, CELADON_MART_ROOF_WIDTH ; dimensions (y, x)
- dw CeladonMartRoofBlocks, CeladonMartRoofTexts, CeladonMartRoofScript ; blocks, texts, scripts
+ dw CeladonMartRoofBlocks, CeladonMartRoofTextPointers, CeladonMartRoofScript ; blocks, texts, scripts
db $00 ; connections
dw CeladonMartRoofObject ; objects
@@ -75308,11 +78241,11 @@ CeladonMartRoof_h: ; 0x483c9 to 0x483d5 (12 bytes) (bank=12) (id=126)
CeladonMartRoofScript: ; 483d5 (12:43d5)
jp EnableAutoTextBoxDrawing
-Func_483d8: ; 483d8 (12:43d8)
+CeladonMartRoofScript_483d8: ; 483d8 (12:43d8)
xor a
ld [$cd37], a
ld de, $cc5b
- ld hl, Unknown_48408 ; $4408
+ ld hl, CeladonMartRoofDrinkList ; $4408
.asm_483e2
ld a, [hli]
and a
@@ -75341,25 +78274,28 @@ Func_483d8: ; 483d8 (12:43d8)
ld [de], a
ret
-Unknown_48408: ; 48408 (12:4408)
-INCBIN "baserom.gbc",$48408,$4840c - $48408
+CeladonMartRoofDrinkList: ; 48408 (12:4408)
+ db FRESH_WATER
+ db SODA_POP
+ db LEMONADE
+ db $00
-Func_4840c: ; 4840c (12:440c)
+CeladonMartRoofScript_4840c: ; 4840c (12:440c)
ld hl, $d730
set 6, [hl]
ld hl, UnnamedText_484ee ; $44ee
call PrintText
xor a
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
ld a, $3
- ld [W_MENUWATCHEDKEYS], a ; $cc29
+ ld [wMenuWatchedKeys], a ; $cc29
ld a, [$cd37]
dec a
- ld [W_MAXMENUITEMID], a ; $cc28
+ ld [wMaxMenuItem], a ; $cc28
ld a, $2
- ld [W_TOPMENUITEMY], a ; $cc24
+ ld [wTopMenuItemY], a ; $cc24
ld a, $1
- ld [W_TOPMENUITEMX], a ; $cc25
+ ld [wTopMenuItemX], a ; $cc25
ld a, [$cd37]
dec a
ld bc, $2
@@ -75368,17 +78304,17 @@ Func_4840c: ; 4840c (12:440c)
dec l
ld b, l
ld c, $c
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
call TextBoxBorder
call UpdateSprites
- call Func_48532
+ call CeladonMartRoofScript_48532
ld hl, $d730
res 6, [hl]
call HandleMenuInput
bit 1, a
ret nz
ld hl, $cc5b
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld d, $0
ld e, a
add hl, de
@@ -75391,13 +78327,13 @@ Func_4840c: ; 4840c (12:440c)
ld a, [$d778]
bit 6, a
jr nz, .asm_484e0
- ld hl, Unknown_48515 ; $4515
+ ld hl, UnnamedText_48515 ; $4515
call PrintText
call RemoveItemByIDBank12
ld bc, (TM_49 << 8) | 1
call GiveItem
jr nc, .BagFull
- ld hl, Unknown_4851b ; $451b
+ ld hl, ReceivedTM49Text ; $451b
call PrintText
ld hl, $d778
set 6, [hl]
@@ -75406,13 +78342,13 @@ Func_4840c: ; 4840c (12:440c)
ld a, [$d778]
bit 5, a
jr nz, .asm_484e0
- ld hl, Unknown_48504 ; $4504
+ ld hl, UnnamedText_48504 ; $4504
call PrintText
call RemoveItemByIDBank12
ld bc, (TM_48 << 8) | 1
call GiveItem
jr nc, .BagFull
- ld hl, Unknown_4850a ; $450a
+ ld hl, UnnamedText_4850a ; $450a
call PrintText
ld hl, $d778
set 5, [hl]
@@ -75421,22 +78357,22 @@ Func_4840c: ; 4840c (12:440c)
ld a, [$d778]
bit 4, a
jr nz, .asm_484e0
- ld hl, Unknown_484f3 ; $44f3
+ ld hl, UnnamedText_484f3 ; $44f3
call PrintText
call RemoveItemByIDBank12
ld bc, (TM_13 << 8) | 1
call GiveItem
jr nc, .BagFull
- ld hl, Unknown_484f9 ; $44f9
+ ld hl, UnnamedText_484f9 ; $44f9
call PrintText
ld hl, $d778
set 4, [hl]
ret
.BagFull
- ld hl, Unknown_48526 ; $4526
+ ld hl, UnnamedText_48526 ; $4526
jp PrintText
.asm_484e0
- ld hl, Unknown_4852c ; $452c
+ ld hl, UnnamedText_4852c ; $452c
jp PrintText
RemoveItemByIDBank12: ; 484e6 (12:44e6)
@@ -75448,31 +78384,53 @@ UnnamedText_484ee: ; 484ee (12:44ee)
TX_FAR _UnnamedText_484ee
db "@"
-Unknown_484f3: ; 484f3 (12:44f3)
-INCBIN "baserom.gbc",$484f3,$484f9 - $484f3
+UnnamedText_484f3: ; 484f3 (12:44f3)
+ TX_FAR _UnnamedText_484f3
+ db $0d
+ db "@"
-Unknown_484f9: ; 484f9 (12:44f9)
-INCBIN "baserom.gbc",$484f9,$48504 - $484f9
+UnnamedText_484f9: ; 484f9 (12:44f9)
+ TX_FAR _UnnamedText_484f9
+ db $0b
+ TX_FAR _UnnamedText_484fe
+ db $0d
+ db "@"
-Unknown_48504: ; 48504 (12:4504)
-INCBIN "baserom.gbc",$48504,$4850a - $48504
+UnnamedText_48504: ; 48504 (12:4504)
+ TX_FAR _UnnamedText_48504
+ db $0d
+ db "@"
-Unknown_4850a: ; 4850a (12:450a)
-INCBIN "baserom.gbc",$4850a,$48515 - $4850a
+UnnamedText_4850a: ; 4850a (12:450a)
+ TX_FAR _UnnamedText_4850a
+ db $0b
+ TX_FAR _UnnamedText_4850f
+ db $0d
+ db "@"
-Unknown_48515: ; 48515 (12:4515)
-INCBIN "baserom.gbc",$48515,$4851b - $48515
+UnnamedText_48515: ; 48515 (12:4515)
+ TX_FAR _UnnamedText_48515
+ db $0d
+ db "@"
-Unknown_4851b: ; 4851b (12:451b)
-INCBIN "baserom.gbc",$4851b,$48526 - $4851b
+ReceivedTM49Text: ; 4851b (12:451b)
+ TX_FAR _ReceivedTM49Text
+ db $0b
+ TX_FAR _UnnamedText_48520
+ db $0d
+ db "@"
-Unknown_48526: ; 48526 (12:4526)
-INCBIN "baserom.gbc",$48526,$4852c - $48526
+UnnamedText_48526: ; 48526 (12:4526)
+ TX_FAR _UnnamedText_48526
+ db $0d
+ db "@"
-Unknown_4852c: ; 4852c (12:452c)
-INCBIN "baserom.gbc",$4852c,$48532 - $4852c
+UnnamedText_4852c: ; 4852c (12:452c)
+ TX_FAR _UnnamedText_4852c
+ db $0d
+ db "@"
-Func_48532: ; 48532 (12:4532)
+CeladonMartRoofScript_48532: ; 48532 (12:4532)
ld hl, $cc5b
xor a
ld [$FF00+$db], a
@@ -75495,8 +78453,13 @@ Func_48532: ; 48532 (12:4532)
pop hl
jr .asm_48538
-CeladonMartRoofTexts: ; 4855b (12:455b)
- dw CeladonMartRoofText1, CeladonMartRoofText2, CeladonMartRoofText5, CeladonMartRoofText5, CeladonMartRoofText5, CeladonMartRoofText6
+CeladonMartRoofTextPointers: ; 4855b (12:455b)
+ dw CeladonMartRoofText1
+ dw CeladonMartRoofText2
+ dw CeladonMartRoofText5
+ dw CeladonMartRoofText5
+ dw CeladonMartRoofText5
+ dw CeladonMartRoofText6
CeladonMartRoofText1: ; 48567 (12:4567)
TX_FAR _CeladonMartRoofText1
@@ -75504,7 +78467,7 @@ CeladonMartRoofText1: ; 48567 (12:4567)
CeladonMartRoofText2: ; 4856c (12:456c)
db $08 ; asm
- call Func_483d8
+ call CeladonMartRoofScript_483d8
ld a, [$cd37]
and a
jr z, .asm_914b9 ; 0x48574
@@ -75516,7 +78479,7 @@ CeladonMartRoofText2: ; 4856c (12:456c)
ld a, [$cc26]
and a
jr nz, .asm_05aa4 ; 0x48588
- call Func_4840c
+ call CeladonMartRoofScript_4840c
jr .asm_05aa4 ; 0x4858d
.asm_914b9 ; 0x4858f
ld hl, CeladonMartRoofText3
@@ -75529,8 +78492,7 @@ CeladonMartRoofText3: ; 48598 (12:4598)
db "@"
CeladonMartRoofText4: ; 4859d (12:459d)
-UnnamedText_4859d: ; 4859d (12:459d)
- TX_FAR _UnnamedText_4859d
+ TX_FAR _CeladonMartRoofText4
db "@"
CeladonMartRoofText5: ; 485a2 (12:45a2)
@@ -75565,7 +78527,7 @@ CeladonMartRoofBlocks: ; 485cc (12:45cc)
CeladonMartElevator_h: ; 0x485f4 to 0x48600 (12 bytes) (bank=12) (id=127)
db $12 ; tileset
db CELADON_MART_ELEVATOR_HEIGHT, CELADON_MART_ELEVATOR_WIDTH ; dimensions (y, x)
- dw CeladonMartElevatorBlocks, CeladonMartElevatorTexts, CeladonMartElevatorScript ; blocks, texts, scripts
+ dw CeladonMartElevatorBlocks, CeladonMartElevatorTextPointers, CeladonMartElevatorScript ; blocks, texts, scripts
db $00 ; connections
dw CeladonMartElevatorObject ; objects
@@ -75575,7 +78537,7 @@ CeladonMartElevatorScript: ; 48600 (12:4600)
bit 5, [hl]
res 5, [hl]
push hl
- call nz, CeladonMartElevatorScript_Unknown4861c
+ call nz, CeladonMartElevatorScript_4861c
pop hl
bit 7, [hl]
res 7, [hl]
@@ -75586,10 +78548,24 @@ CeladonMartElevatorScript: ; 48600 (12:4600)
ld [$cc3c], a
ret
-CeladonMartElevatorScript_Unknown4861c: ; 4861c (12:461c)
-INCBIN "baserom.gbc",$4861c,$48631 - $4861c
+CeladonMartElevatorScript_4861c: ; 4861c (12:461c)
+ ld hl, $d3af
+ ld a, [$d73b]
+ ld b, a
+ ld a, [$d73c]
+ ld c, a
+ call CeladonMartElevatorScript_4862a
+
+CeladonMartElevatorScript_4862a: ; 4862a (12:462a)
+ inc hl
+ inc hl
+ ld a, b
+ ld [hli], a
+ ld a, c
+ ld [hli], a
+ ret
-Func_48631: ; 48631 (12:4631)
+CeladonMartElevatorScript_48631: ; 48631 (12:4631)
ld hl, Unknown_48643 ; $4643
call LoadItemList
ld hl, Unknown_4864a ; $464a
@@ -75608,12 +78584,12 @@ Func_48654: ; 48654 (12:4654)
ld hl, Func_7bf15
jp Bankswitch
-CeladonMartElevatorTexts: ; 4865c (12:465c)
+CeladonMartElevatorTextPointers: ; 4865c (12:465c)
dw CeladonMartElevatorText1
CeladonMartElevatorText1: ; 4865e (12:465e)
db $08 ; asm
- call Func_48631
+ call CeladonMartElevatorScript_48631
ld hl, Unknown_4864a ; $464a
ld a, $61
call Predef
@@ -75641,7 +78617,7 @@ CeladonMartElevatorBlocks: ; 48684 (12:4684)
CeladonMansion1_h: ; 0x48688 to 0x48694 (12 bytes) (bank=12) (id=128)
db $13 ; tileset
db CELADON_MANSION_1_HEIGHT, CELADON_MANSION_1_WIDTH ; dimensions (y, x)
- dw CeladonMansion1Blocks, CeladonMansion1Texts, CeladonMansion1Script ; blocks, texts, scripts
+ dw CeladonMansion1Blocks, CeladonMansion1TextPointers, CeladonMansion1Script ; blocks, texts, scripts
db $00 ; connections
dw CeladonMansion1Object ; objects
@@ -75649,8 +78625,12 @@ CeladonMansion1_h: ; 0x48688 to 0x48694 (12 bytes) (bank=12) (id=128)
CeladonMansion1Script: ; 48694 (12:4694)
jp EnableAutoTextBoxDrawing
-CeladonMansion1Texts: ; 48697 (12:4697)
- dw CeladonMansion1Text1, CeladonMansion1Text2, CeladonMansion1Text3, CeladonMansion1Text4, CeladonMansion1Text5
+CeladonMansion1TextPointers: ; 48697 (12:4697)
+ dw CeladonMansion1Text1
+ dw CeladonMansion1Text2
+ dw CeladonMansion1Text3
+ dw CeladonMansion1Text4
+ dw CeladonMansion1Text5
Func_486a1: ; 486a1 (12:46a1)
call PlayCry
@@ -75714,7 +78694,7 @@ CeladonMansion1Blocks: ; 48716 (12:4716)
CeladonMansion2_h: ; 0x4872e to 0x4873a (12 bytes) (bank=12) (id=129)
db $13 ; tileset
db CELADON_MANSION_2_HEIGHT, CELADON_MANSION_2_WIDTH ; dimensions (y, x)
- dw CeladonMansion2Blocks, CeladonMansion2Texts, CeladonMansion2Script ; blocks, texts, scripts
+ dw CeladonMansion2Blocks, CeladonMansion2TextPointers, CeladonMansion2Script ; blocks, texts, scripts
db $00 ; connections
dw CeladonMansion2Object ; objects
@@ -75723,7 +78703,7 @@ CeladonMansion2Script: ; 4873a (12:473a)
call EnableAutoTextBoxDrawing
ret
-CeladonMansion2Texts: ; 4873e (12:473e)
+CeladonMansion2TextPointers: ; 4873e (12:473e)
dw CeladonMansion2Text1
CeladonMansion2Text1: ; 48740 (12:4740)
@@ -75756,7 +78736,7 @@ CeladonMansion2Blocks: ; 4876c (12:476c)
CeladonMansion3_h: ; 0x48784 to 0x48790 (12 bytes) (bank=12) (id=130)
db $13 ; tileset
db CELADON_MANSION_3_HEIGHT, CELADON_MANSION_3_WIDTH ; dimensions (y, x)
- dw CeladonMansion3Blocks, CeladonMansion3Texts, CeladonMansion3Script ; blocks, texts, scripts
+ dw CeladonMansion3Blocks, CeladonMansion3TextPointers, CeladonMansion3Script ; blocks, texts, scripts
db $00 ; connections
dw CeladonMansion3Object ; objects
@@ -75764,7 +78744,7 @@ CeladonMansion3_h: ; 0x48784 to 0x48790 (12 bytes) (bank=12) (id=130)
CeladonMansion3Script: ; 48790 (12:4790)
jp EnableAutoTextBoxDrawing
-CeladonMansion3Texts: ; 48793 (12:4793)
+CeladonMansion3TextPointers: ; 48793 (12:4793)
dw ProgrammerText
dw GraphicArtistText
dw WriterText
@@ -75790,8 +78770,8 @@ DirectorText: ; 487b2 (12:47b2)
db $08 ; asm
; check pokédex
- ld hl, WPokedexOwned
- ld b, WPokedexOwnedEnd-WPokedexOwned
+ ld hl, wPokedexOwned
+ ld b, wPokedexOwnedEnd - wPokedexOwned
call CountSetBits
ld a, [$d11e]
cp 150
@@ -75868,7 +78848,7 @@ CeladonMansion3Blocks: ; 48847 (12:4847)
CeladonMansion4_h: ; 0x4885f to 0x4886b (12 bytes) (bank=12) (id=131)
db $13 ; tileset
db CELADON_MANSION_4_HEIGHT, CELADON_MANSION_4_WIDTH ; dimensions (y, x)
- dw CeladonMansion4Blocks, CeladonMansion4Texts, CeladonMansion4Script ; blocks, texts, scripts
+ dw CeladonMansion4Blocks, CeladonMansion4TextPointers, CeladonMansion4Script ; blocks, texts, scripts
db $00 ; connections
dw CeladonMansion4Object ; objects
@@ -75876,7 +78856,7 @@ CeladonMansion4_h: ; 0x4885f to 0x4886b (12 bytes) (bank=12) (id=131)
CeladonMansion4Script: ; 4886b (12:486b)
jp EnableAutoTextBoxDrawing
-CeladonMansion4Texts: ; 4886e (12:486e)
+CeladonMansion4TextPointers: ; 4886e (12:486e)
dw CeladonMansion4Text1
CeladonMansion4Text1: ; 48870 (12:4870)
@@ -75907,7 +78887,7 @@ CeladonMansion4Blocks: ; 48894 (12:4894)
CeladonPokecenter_h: ; 0x488ac to 0x488b8 (12 bytes) (bank=12) (id=133)
db $06 ; tileset
db CELADON_POKECENTER_HEIGHT, CELADON_POKECENTER_WIDTH ; dimensions (y, x)
- dw CeladonPokecenterBlocks, CeladonPokecenterTexts, CeladonPokecenterScript ; blocks, texts, scripts
+ dw CeladonPokecenterBlocks, CeladonPokecenterTextPointers, CeladonPokecenterScript ; blocks, texts, scripts
db $00 ; connections
dw CeladonPokecenterObject ; objects
@@ -75916,8 +78896,11 @@ CeladonPokecenterScript: ; 488b8 (12:48b8)
call Func_22fa
jp EnableAutoTextBoxDrawing
-CeladonPokecenterTexts: ; 488be (12:48be)
- dw CeladonPokecenterText1, CeladonPokecenterText2, CeladonPokecenterText3, CeladonPokecenterText4
+CeladonPokecenterTextPointers: ; 488be (12:48be)
+ dw CeladonPokecenterText1
+ dw CeladonPokecenterText2
+ dw CeladonPokecenterText3
+ dw CeladonPokecenterText4
CeladonPokecenterText4: ; 488c6 (12:48c6)
db $f6
@@ -75955,7 +78938,7 @@ CeladonPokecenterObject: ; 0x488d2 (size=44)
CeladonGym_h: ; 0x488fe to 0x4890a (12 bytes) (bank=12) (id=134)
db $07 ; tileset
db CELADON_GYM_HEIGHT, CELADON_GYM_WIDTH ; dimensions (y, x)
- dw CeladonGymBlocks, CeladonGymTexts, CeladonGymScript ; blocks, texts, scripts
+ dw CeladonGymBlocks, CeladonGymTextPointers, CeladonGymScript ; blocks, texts, scripts
db $00 ; connections
dw CeladonGymObject ; objects
@@ -75964,16 +78947,16 @@ CeladonGymScript: ; 4890a (12:490a)
ld hl, $d126
bit 6, [hl]
res 6, [hl]
- call nz, CeladonGymScript_Unknown48927
+ call nz, CeladonGymScript_48927
call EnableAutoTextBoxDrawing
ld hl, CeladonGymTrainerHeaders
- ld de, Unknown_4894e ; $494e
+ ld de, CeladonGymScriptPointers
ld a, [W_CELADONGYMCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_CELADONGYMCURSCRIPT], a
ret
-CeladonGymScript_Unknown48927: ; 48927 (12:4927)
+CeladonGymScript_48927: ; 48927 (12:4927)
ld hl, Gym4CityName ; $4930
ld de, Gym4LeaderName ; $493d
jp LoadGymLeaderAndCityName
@@ -75986,18 +78969,23 @@ Gym4LeaderName: ; 4893d (12:493d)
Func_48943: ; 48943 (12:4943)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_CELADONGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_4894e: ; 4894e (12:494e)
-INCBIN "baserom.gbc",$4894e,$48956 - $4894e
+CeladonGymScriptPointers: ; 4894e (12:494e)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
+ dw CeladonGymScript3
+
+CeladonGymScript3: ; 48956 (12:4956)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_48943
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
Func_48963: ; 48963 (12:4963)
ld a, $9
@@ -76030,8 +79018,18 @@ Func_48963: ; 48963 (12:4963)
set 0, [hl]
jp Func_48943
-CeladonGymTexts: ; 489a6 (12:49a6)
- dw CeladonGymText1, CeladonGymText2, CeladonGymText3, CeladonGymText4, CeladonGymText5, CeladonGymText6, CeladonGymText7, CeladonGymText8, CeladonGymText9, TM21Text, TM21NoRoomText
+CeladonGymTextPointers: ; 489a6 (12:49a6)
+ dw CeladonGymText1
+ dw CeladonGymText2
+ dw CeladonGymText3
+ dw CeladonGymText4
+ dw CeladonGymText5
+ dw CeladonGymText6
+ dw CeladonGymText7
+ dw CeladonGymText8
+ dw CeladonGymText9
+ dw TM21Text
+ dw TM21NoRoomText
CeladonGymTrainerHeaders: ; 489bc (12:49bc)
CeladonGymTrainerHeader0: ; 489bc (12:49bc)
@@ -76097,7 +79095,7 @@ CeladonGymTrainerHeader7: ; 48a04 (12:4a04)
dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle
dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle
-db $ff
+ db $ff
CeladonGymText1: ; 48a11 (12:4a11)
db $08 ; asm
@@ -76316,21 +79314,35 @@ CeladonGymBlocks: ; 48b84 (12:4b84)
CeladonGameCorner_h: ; 0x48bb1 to 0x48bbd (12 bytes) (bank=12) (id=135)
db $12 ; tileset
db GAME_CORNER_HEIGHT, GAME_CORNER_WIDTH ; dimensions (y, x)
- dw CeladonGameCornerBlocks, CeladonGameCornerTexts, CeladonGameCornerScript ; blocks, texts, scripts
+ dw CeladonGameCornerBlocks, CeladonGameCornerTextPointers, CeladonGameCornerScript ; blocks, texts, scripts
db $00 ; connections
dw CeladonGameCornerObject ; objects
CeladonGameCornerScript: ; 48bbd (12:4bbd)
- call Unknown_48bcf
+ call CeladonGameCornerScript_48bcf
call Func_48bec
call EnableAutoTextBoxDrawing
- ld hl, CeladonGameCornerScripts
+ ld hl, CeladonGameCornerScriptPointers
ld a, [W_CELADONGAMECORNERCURSCRIPT]
jp CallFunctionInTable
-Unknown_48bcf: ; 48bcf (12:4bcf)
-INCBIN "baserom.gbc",$48bcf,$48bec - $48bcf
+CeladonGameCornerScript_48bcf: ; 48bcf (12:4bcf)
+ ld hl, $d126
+ bit 6, [hl]
+ res 6, [hl]
+ ret z
+ call GenRandom
+ ld a, [$ffd3]
+ cp $7
+ jr nc, .asm_48be2
+ ld a, $8
+.asm_48be2
+ srl a
+ srl a
+ srl a
+ ld [$cd05], a
+ ret
Func_48bec: ; 48bec (12:4bec)
ld hl, $d126
@@ -76346,24 +79358,89 @@ Func_48bec: ; 48bec (12:4bec)
ld a, $17
jp Predef
-INCBIN "baserom.gbc",$48c07,$48c12 - $48c07
+CeladonGameCornerScript_48c07: ; 48c07 (12:4c07)
+ xor a
+ ld [wJoypadForbiddenButtonsMask], a
+ ld [W_CELADONGAMECORNERCURSCRIPT], a
+ ld [W_CURMAPSCRIPT], a
+ ret
-CeladonGameCornerScripts: ; 48c12 (12:4c12)
- dw CeladonGameCornerScript0, CeladonGameCornerScript1, CeladonGameCornerScript2
+CeladonGameCornerScriptPointers: ; 48c12 (12:4c12)
+ dw CeladonGameCornerScript0
+ dw CeladonGameCornerScript1
+ dw CeladonGameCornerScript2
CeladonGameCornerScript0: ; 48c18 (12:4c18)
ret
CeladonGameCornerScript1: ; 48c19 (12:4c19)
-INCBIN "baserom.gbc",$48c19,$48c5a - $48c19
+ ld a, [W_ISINBATTLE]
+ cp $ff
+ jp z, CeladonGameCornerScript_48c07
+ ld a, $f0
+ ld [wJoypadForbiddenButtonsMask], a
+ ld a, $d
+ ld [H_SPRITEHEIGHT], a
+ call DisplayTextID
+ ld a, $b
+ ld [H_SPRITEHEIGHT], a
+ call SetSpriteMovementBytesToFF
+ ld de, $4c5a
+ ld a, [$d361]
+ cp $6
+ jr nz, .asm_48c43
+ ld de, $4c63
+ jr .asm_48c4d
+.asm_48c43
+ ld a, [$d362]
+ cp $8
+ jr nz, .asm_48c4d
+ ld de, $4c63
+.asm_48c4d
+ ld a, $b
+ ld [H_DOWNARROWBLINKCNT2], a
+ call MoveSprite
+ ld a, $2
+ ld [W_CELADONGAMECORNERCURSCRIPT], a
+ ret
-INCBIN "baserom.gbc",$48c5a,$48c69 - $48c5a
+MovementData_48c5a: ; 48c5a (12:4c5a)
+ db $00,$C0,$C0,$40,$C0,$C0,$C0,$C0,$FF
+
+MovementData_48c63: ; 48c63 (12:4c63)
+ db $C0,$C0,$C0,$C0,$C0,$FF
CeladonGameCornerScript2: ; 48c69 (12:4c69)
-INCBIN "baserom.gbc",$48c69,$48c8a - $48c69
+ ld a, [$d730]
+ bit 0, a
+ ret nz
+ xor a
+ ld [wJoypadForbiddenButtonsMask], a
+ ld a, $46
+ ld [$cc4d], a
+ ld a, $11
+ call Predef
+ ld hl, $d126
+ set 5, [hl]
+ set 6, [hl]
+ ld a, $0
+ ld [W_CELADONGAMECORNERCURSCRIPT], a
+ ret
-CeladonGameCornerTexts: ; 48c8a (12:4c8a)
- dw CeladonGameCornerText1, CeladonGameCornerText2, CeladonGameCornerText3, CeladonGameCornerText4, CeladonGameCornerText5, CeladonGameCornerText6, CeladonGameCornerText7, CeladonGameCornerText8, CeladonGameCornerText9, CeladonGameCornerText10, CeladonGameCornerText11, CeladonGameCornerText12, CeladonGameCornerText13
+CeladonGameCornerTextPointers: ; 48c8a (12:4c8a)
+ dw CeladonGameCornerText1
+ dw CeladonGameCornerText2
+ dw CeladonGameCornerText3
+ dw CeladonGameCornerText4
+ dw CeladonGameCornerText5
+ dw CeladonGameCornerText6
+ dw CeladonGameCornerText7
+ dw CeladonGameCornerText8
+ dw CeladonGameCornerText9
+ dw CeladonGameCornerText10
+ dw CeladonGameCornerText11
+ dw CeladonGameCornerText12
+ dw CeladonGameCornerText13
CeladonGameCornerText1: ; 48ca4 (12:4ca4)
TX_FAR _CeladonGameCornerText1
@@ -76814,7 +79891,7 @@ CeladonGameCornerBlocks: ; 49003 (12:5003)
CeladonMart5_h: ; 0x4905d to 0x49069 (12 bytes) (bank=12) (id=136)
db $12 ; tileset
db CELADON_MART_5_HEIGHT, CELADON_MART_5_WIDTH ; dimensions (y, x)
- dw CeladonMart5Blocks, CeladonMart5Texts, CeladonMart5Script ; blocks, texts, scripts
+ dw CeladonMart5Blocks, CeladonMart5TextPointers, CeladonMart5Script ; blocks, texts, scripts
db $00 ; connections
dw CeladonMart5Object ; objects
@@ -76822,8 +79899,12 @@ CeladonMart5_h: ; 0x4905d to 0x49069 (12 bytes) (bank=12) (id=136)
CeladonMart5Script: ; 49069 (12:5069)
jp EnableAutoTextBoxDrawing
-CeladonMart5Texts: ; 4906c (12:506c)
- dw CeladonMart5Text1, CeladonMart5Text2, CeladonMart5Text3, CeladonMart5Text4, CeladonMart5Text5
+CeladonMart5TextPointers: ; 4906c (12:506c)
+ dw CeladonMart5Text1
+ dw CeladonMart5Text2
+ dw CeladonMart5Text3
+ dw CeladonMart5Text4
+ dw CeladonMart5Text5
CeladonMart5Text1: ; 49076 (12:5076)
TX_FAR _CeladonMart5Text1
@@ -76865,7 +79946,7 @@ CeladonMart5Blocks: ; 490bc (12:50bc)
CeladonPrizeRoom_h: ; 0x490e4 to 0x490f0 (12 bytes) (bank=12) (id=137)
db $12 ; tileset
db CELADONPRIZE_ROOM_HEIGHT, CELADONPRIZE_ROOM_WIDTH ; dimensions (y, x)
- dw CeladonPrizeRoomBlocks, CeladonPrizeRoomTexts, CeladonPrizeRoomScript ; blocks, texts, scripts
+ dw CeladonPrizeRoomBlocks, CeladonPrizeRoomTextPointers, CeladonPrizeRoomScript ; blocks, texts, scripts
db $00 ; connections
dw CeladonPrizeRoomObject ; objects
@@ -76873,8 +79954,12 @@ CeladonPrizeRoom_h: ; 0x490e4 to 0x490f0 (12 bytes) (bank=12) (id=137)
CeladonPrizeRoomScript: ; 490f0 (12:50f0)
jp EnableAutoTextBoxDrawing
-CeladonPrizeRoomTexts: ; 490f3 (12:50f3)
- dw CeladonPrizeRoomText1, CeladonPrizeRoomText2, CeladonPrizeRoomText3, CeladonPrizeRoomText3, CeladonPrizeRoomText3
+CeladonPrizeRoomTextPointers: ; 490f3 (12:50f3)
+ dw CeladonPrizeRoomText1
+ dw CeladonPrizeRoomText2
+ dw CeladonPrizeRoomText3
+ dw CeladonPrizeRoomText3
+ dw CeladonPrizeRoomText3
CeladonPrizeRoomText1: ; 490fd (12:50fd)
TX_FAR _CeladonPrizeRoomText1
@@ -76913,7 +79998,7 @@ CeladonPrizeRoomBlocks: ; 49131 (12:5131)
CeladonDiner_h: ; 0x49145 to 0x49151 (12 bytes) (bank=12) (id=138)
db $12 ; tileset
db CELADON_DINER_HEIGHT, CELADON_DINER_WIDTH ; dimensions (y, x)
- dw CeladonDinerBlocks, CeladonDinerTexts, CeladonDinerScript ; blocks, texts, scripts
+ dw CeladonDinerBlocks, CeladonDinerTextPointers, CeladonDinerScript ; blocks, texts, scripts
db $00 ; connections
dw CeladonDinerObject ; objects
@@ -76922,8 +80007,12 @@ CeladonDinerScript: ; 49151 (12:5151)
call EnableAutoTextBoxDrawing
ret
-CeladonDinerTexts: ; 49155 (12:5155)
- dw CeladonDinerText1, CeladonDinerText2, CeladonDinerText3, CeladonDinerText4, CeladonDinerText5
+CeladonDinerTextPointers: ; 49155 (12:5155)
+ dw CeladonDinerText1
+ dw CeladonDinerText2
+ dw CeladonDinerText3
+ dw CeladonDinerText4
+ dw CeladonDinerText5
CeladonDinerText1: ; 4915f (12:515f)
TX_FAR _CeladonDinerText1
@@ -77008,7 +80097,7 @@ CeladonDinerBlocks: ; 491ee (12:51ee)
CeladonHouse_h: ; 0x49202 to 0x4920e (12 bytes) (bank=12) (id=139)
db $13 ; tileset
db CELADON_HOUSE_HEIGHT, CELADON_HOUSE_WIDTH ; dimensions (y, x)
- dw CeladonHouseBlocks, CeladonHouseTexts, CeladonHouseScript ; blocks, texts, scripts
+ dw CeladonHouseBlocks, CeladonHouseTextPointers, CeladonHouseScript ; blocks, texts, scripts
db $00 ; connections
dw CeladonHouseObject ; objects
@@ -77017,8 +80106,10 @@ CeladonHouseScript: ; 4920e (12:520e)
call EnableAutoTextBoxDrawing
ret
-CeladonHouseTexts: ; 49212 (12:5212)
- dw CeladonHouseText1, CeladonHouseText2, CeladonHouseText3
+CeladonHouseTextPointers: ; 49212 (12:5212)
+ dw CeladonHouseText1
+ dw CeladonHouseText2
+ dw CeladonHouseText3
CeladonHouseText1: ; 49218 (12:5218)
TX_FAR _CeladonHouseText1
@@ -77056,7 +80147,7 @@ CeladonHouseBlocks: ; 4924d (12:524d)
CeladonHotel_h: ; 0x4925d to 0x49269 (12 bytes) (bank=12) (id=140)
db $06 ; tileset
db CELADONHOTEL_HEIGHT, CELADONHOTEL_WIDTH ; dimensions (y, x)
- dw CeladonHotelBlocks, CeladonHotelTexts, CeladonHotelScript ; blocks, texts, scripts
+ dw CeladonHotelBlocks, CeladonHotelTextPointers, CeladonHotelScript ; blocks, texts, scripts
db $00 ; connections
dw CeladonHotelObject ; objects
@@ -77064,8 +80155,10 @@ CeladonHotel_h: ; 0x4925d to 0x49269 (12 bytes) (bank=12) (id=140)
CeladonHotelScript: ; 49269 (12:5269)
jp EnableAutoTextBoxDrawing
-CeladonHotelTexts: ; 4926c (12:526c)
- dw CeladonHotelText1, CeladonHotelText2, CeladonHotelText3
+CeladonHotelTextPointers: ; 4926c (12:526c)
+ dw CeladonHotelText1
+ dw CeladonHotelText2
+ dw CeladonHotelText3
CeladonHotelText1: ; 49272 (12:5272)
TX_FAR _CeladonHotelText1
@@ -77103,7 +80196,7 @@ CeladonHotelBlocks: ; 492a7 (12:52a7)
MtMoonPokecenter_h: ; 0x492c3 to 0x492cf (12 bytes) (bank=12) (id=68)
db $06 ; tileset
db MT_MOON_POKECENTER_HEIGHT, MT_MOON_POKECENTER_WIDTH ; dimensions (y, x)
- dw MtMoonPokecenterBlocks, MtMoonPokecenterTexts, MtMoonPokecenterScript ; blocks, texts, scripts
+ dw MtMoonPokecenterBlocks, MtMoonPokecenterTextPointers, MtMoonPokecenterScript ; blocks, texts, scripts
db $00 ; connections
dw MtMoonPokecenterObject ; objects
@@ -77112,8 +80205,13 @@ MtMoonPokecenterScript: ; 492cf (12:52cf)
call Func_22fa
jp EnableAutoTextBoxDrawing
-MtMoonPokecenterTexts: ; 492d5 (12:52d5)
- dw MtMoonPokecenterText1, MtMoonPokecenterText2, MtMoonPokecenterText3, MtMoonPokecenterText4, MtMoonPokecenterText5, MtMoonPokecenterText6
+MtMoonPokecenterTextPointers: ; 492d5 (12:52d5)
+ dw MtMoonPokecenterText1
+ dw MtMoonPokecenterText2
+ dw MtMoonPokecenterText3
+ dw MtMoonPokecenterText4
+ dw MtMoonPokecenterText5
+ dw MtMoonPokecenterText6
MtMoonPokecenterText1: ; 492e1 (12:52e1)
db $ff
@@ -77153,7 +80251,7 @@ MtMoonPokecenterText4: ; 492ec (12:52ec)
call GivePokemon
jr nc, .asm_49359 ; 0x49324
xor a
- ld [W_WHICHTRADE], a
+ ld [wWhichTrade], a
ld [$cd3f], a
ld a, $5
ld [$cd3e], a
@@ -77225,7 +80323,7 @@ MtMoonPokecenterObject: ; 0x49376 (size=56)
RockTunnelPokecenter_h: ; 0x493ae to 0x493ba (12 bytes) (id=81)
db $06 ; tileset
db ROCK_TUNNEL_POKECENTER_HEIGHT, ROCK_TUNNEL_POKECENTER_WIDTH ; dimensions (y, x)
- dw RockTunnelPokecenterBlocks, RockTunnelPokecenterTexts, RockTunnelPokecenterScript ; blocks, texts, scripts
+ dw RockTunnelPokecenterBlocks, RockTunnelPokecenterTextPointers, RockTunnelPokecenterScript ; blocks, texts, scripts
db $00 ; connections
dw RockTunnelPokecenterObject ; objects
@@ -77234,8 +80332,11 @@ RockTunnelPokecenterScript: ; 493ba (12:53ba)
call Func_22fa
jp EnableAutoTextBoxDrawing
-RockTunnelPokecenterTexts: ; 493c0 (12:53c0)
- dw RockTunnelPokecenterText1, RockTunnelPokecenterText2, RockTunnelPokecenterText3, RockTunnelPokecenterText4
+RockTunnelPokecenterTextPointers: ; 493c0 (12:53c0)
+ dw RockTunnelPokecenterText1
+ dw RockTunnelPokecenterText2
+ dw RockTunnelPokecenterText3
+ dw RockTunnelPokecenterText4
RockTunnelPokecenterText1: ; 493c8 (12:53c8)
db $ff
@@ -77273,7 +80374,7 @@ RockTunnelPokecenterObject: ; 0x493d4 (size=44)
Route11Gate_h: ; 0x49400 to 0x4940c (12 bytes) (id=84)
db $0c ; tileset
db ROUTE_11_GATE_1F_HEIGHT, ROUTE_11_GATE_1F_WIDTH ; dimensions (y, x)
- dw Route11GateBlocks, Route11GateTexts, Route11GateScript ; blocks, texts, scripts
+ dw Route11GateBlocks, Route11GateTextPointers, Route11GateScript ; blocks, texts, scripts
db $00 ; connections
dw Route11GateObject ; objects
@@ -77281,7 +80382,7 @@ Route11Gate_h: ; 0x49400 to 0x4940c (12 bytes) (id=84)
Route11GateScript: ; 4940c (12:540c)
jp EnableAutoTextBoxDrawing
-Route11GateTexts: ; 4940f (12:540f)
+Route11GateTextPointers: ; 4940f (12:540f)
dw Route11GateText1
Route11GateText1: ; 49411 (12:5411)
@@ -77313,7 +80414,7 @@ Route11GateObject: ; 0x49416 (size=50)
Route11GateUpstairs_h: ; 0x49448 to 0x49454 (12 bytes) (id=86)
db $0c ; tileset
db ROUTE_11_GATE_2F_HEIGHT, ROUTE_11_GATE_2F_WIDTH ; dimensions (y, x)
- dw Route11GateUpstairsBlocks, Route11GateUpstairsTexts, Route11GateUpstairsScript ; blocks, texts, scripts
+ dw Route11GateUpstairsBlocks, Route11GateUpstairsTextPointers, Route11GateUpstairsScript ; blocks, texts, scripts
db $00 ; connections
dw Route11GateUpstairsObject ; objects
@@ -77321,13 +80422,16 @@ Route11GateUpstairs_h: ; 0x49448 to 0x49454 (12 bytes) (id=86)
Route11GateUpstairsScript: ; 49454 (12:5454)
jp DisableAutoTextBoxDrawing
-Route11GateUpstairsTexts: ; 49457 (12:5457)
- dw Route11GateUpstairsText1, Route11GateUpstairsText2, Route11GateUpstairsText3, Route11GateUpstairsText4
+Route11GateUpstairsTextPointers: ; 49457 (12:5457)
+ dw Route11GateUpstairsText1
+ dw Route11GateUpstairsText2
+ dw Route11GateUpstairsText3
+ dw Route11GateUpstairsText4
Route11GateUpstairsText1: ; 4945f (12:545f)
db $08 ; asm
xor a
- ld [W_WHICHTRADE], a
+ ld [wWhichTrade], a
ld a, $54
call Predef
asm_49469: ; 49469 (12:5469)
@@ -77370,7 +80474,7 @@ Route11GateUpstairsText3: ; 494a8 (12:54a8)
db $08 ; asm
ld a, [$c109]
cp $4
- jp nz, Unnamed_55c9
+ jp nz, Func_55c9
ld a, [$d7d8]
bit 7, a
ld hl, UnnamedText_494c4
@@ -77391,7 +80495,7 @@ UnnamedText_494c9: ; 494c9 (12:54c9)
Route11GateUpstairsText4: ; 494ce (12:54ce)
db $8
ld hl, UnnamedText_494d5 ; $54d5
- jp Unnamed_55c9
+ jp Func_55c9
UnnamedText_494d5: ; 494d5 (12:54d5)
TX_FAR _UnnamedText_494d5
@@ -77417,7 +80521,7 @@ Route11GateUpstairsObject: ; 0x494da (size=30)
Route12Gate_h: ; 0x494f8 to 0x49504 (12 bytes) (id=87)
db $0c ; tileset
db ROUTE_12_GATE_HEIGHT, ROUTE_12_GATE_WIDTH ; dimensions (y, x)
- dw Route12GateBlocks, Route12GateTexts, Route12GateScript ; blocks, texts, scripts
+ dw Route12GateBlocks, Route12GateTextPointers, Route12GateScript ; blocks, texts, scripts
db $00 ; connections
dw Route12GateObject ; objects
@@ -77425,7 +80529,7 @@ Route12Gate_h: ; 0x494f8 to 0x49504 (12 bytes) (id=87)
Route12GateScript: ; 49504 (12:5504)
jp EnableAutoTextBoxDrawing
-Route12GateTexts: ; 49507 (12:5507)
+Route12GateTextPointers: ; 49507 (12:5507)
dw Route12GateText1
Route12GateText1: ; 49509 (12:5509)
@@ -77460,7 +80564,7 @@ Route12GateBlocks: ; 49540 (12:5540)
Route12GateUpstairs_h: ; 0x49554 to 0x49560 (12 bytes) (id=195)
db $0c ; tileset
db ROUTE_12_GATE_2F_HEIGHT, ROUTE_12_GATE_2F_WIDTH ; dimensions (y, x)
- dw Route12GateUpstairsBlocks, Route12GateUpstairsTexts, Route12GateUpstairsScript ; blocks, texts, scripts
+ dw Route12GateUpstairsBlocks, Route12GateUpstairsTextPointers, Route12GateUpstairsScript ; blocks, texts, scripts
db $00 ; connections
dw Route12GateUpstairsObject ; objects
@@ -77468,8 +80572,10 @@ Route12GateUpstairs_h: ; 0x49554 to 0x49560 (12 bytes) (id=195)
Route12GateUpstairsScript: ; 49560 (12:5560)
jp DisableAutoTextBoxDrawing
-Route12GateUpstairsTexts: ; 49563 (12:5563)
- dw Route12GateUpstairsText1, Route12GateUpstairsText2, Route12GateUpstairsText3
+Route12GateUpstairsTextPointers: ; 49563 (12:5563)
+ dw Route12GateUpstairsText1
+ dw Route12GateUpstairsText2
+ dw Route12GateUpstairsText3
Route12GateUpstairsText1: ; 49569 (12:5569)
db $08 ; asm
@@ -77515,7 +80621,7 @@ TM39NoRoomText: ; 495ac (12:55ac)
Route12GateUpstairsText2: ; 495b1 (12:55b1)
db $08 ; asm
ld hl, UnnamedText_495b8
- jp Unnamed_55c9
+ jp Func_55c9
UnnamedText_495b8: ; 495b8 (12:55b8)
TX_FAR _UnnamedText_495b8 ; 0x8c95a
@@ -77524,13 +80630,13 @@ UnnamedText_495b8: ; 495b8 (12:55b8)
Route12GateUpstairsText3: ; 495bd (12:55bd)
db $8
ld hl, UnnamedText_495c4
- jp Unnamed_55c9
+ jp Func_55c9
UnnamedText_495c4: ; 495c4 (12:55c4)
TX_FAR _UnnamedText_495c4
db "@"
-Unnamed_55c9: ; 495c9 (12:55c9)
+Func_55c9: ; 495c9 (12:55c9)
ld a, [$c109]
cp $4
jr z, .asm_495d4 ; 0x495ce $4
@@ -77562,7 +80668,7 @@ Route12GateUpstairsObject: ; 0x495de (size=24)
Route15Gate_h: ; 0x495f6 to 0x49602 (12 bytes) (id=184)
db $0c ; tileset
db ROUTE_15_GATE_1F_HEIGHT, ROUTE_15_GATE_1F_WIDTH ; dimensions (y, x)
- dw Route15GateBlocks, Route15GateTexts, Route15GateScript ; blocks, texts, scripts
+ dw Route15GateBlocks, Route15GateTextPointers, Route15GateScript ; blocks, texts, scripts
db $00 ; connections
dw Route15GateObject ; objects
@@ -77570,7 +80676,7 @@ Route15Gate_h: ; 0x495f6 to 0x49602 (12 bytes) (id=184)
Route15GateScript: ; 49602 (12:5602)
jp EnableAutoTextBoxDrawing
-Route15GateTexts: ; 49605 (12:5605)
+Route15GateTextPointers: ; 49605 (12:5605)
dw Route15GateText1
Route15GateText1: ; 49607 (12:5607)
@@ -77602,7 +80708,7 @@ Route15GateObject: ; 0x4960c (size=50)
Route15GateUpstairs_h: ; 4963e (12:563e)
db $0c ; tileset
db ROUTE_15_GATE_2F_HEIGHT, ROUTE_15_GATE_2F_WIDTH ; dimensions (y, x)
- dw Route15GateUpstairsBlocks, Route15GateUpstairsTexts, Route15GateUpstairsScript ; blocks, texts, scripts
+ dw Route15GateUpstairsBlocks, Route15GateUpstairsTextPointers, Route15GateUpstairsScript ; blocks, texts, scripts
;dw 40db, 564d, 564a ; blocks, texts, scripts
db $00 ; connections
dw Route15GateUpstairsObject ; objects
@@ -77610,7 +80716,7 @@ Route15GateUpstairs_h: ; 4963e (12:563e)
Route15GateUpstairsScript: ; 4964a (12:564a)
jp DisableAutoTextBoxDrawing
-Route15GateUpstairsTexts: ; 4964d (12:564d)
+Route15GateUpstairsTextPointers: ; 4964d (12:564d)
dw Route15GateUpstairsText1
dw Route15GateUpstairsText2
@@ -77649,7 +80755,7 @@ UnnamedText_4968c: ; 4968c (12:568c)
Route15GateUpstairsText2: ; 49691 (12:5691)
db $8
ld hl, UnnamedText_49698
- jp Unnamed_55c9
+ jp Func_55c9
UnnamedText_49698: ; 49698 (12:5698)
TX_FAR _UnnamedText_49698
@@ -77673,7 +80779,7 @@ Route15GateUpstairsObject: ; 4969d (12:569d)
Route16GateMap_h: ; 0x496b2 to 0x496be (12 bytes) (id=186)
db $0c ; tileset
db ROUTE_16_GATE_1F_HEIGHT, ROUTE_16_GATE_1F_WIDTH ; dimensions (y, x)
- dw Route16GateMapBlocks, Route16GateMapTexts, Route16GateMapScript ; blocks, texts, scripts
+ dw Route16GateMapBlocks, Route16GateMapTextPointers, Route16GateMapScript ; blocks, texts, scripts
db $00 ; connections
dw Route16GateMapObject ; objects
@@ -77683,18 +80789,19 @@ Route16GateMapScript: ; 496be (12:56be)
res 5, [hl]
call EnableAutoTextBoxDrawing
ld a, [W_ROUTE16GATECURSCRIPT]
- ld hl, Route16GateMapScripts
+ ld hl, Route16GateMapScriptPointers
jp CallFunctionInTable
-Route16GateMapScripts: ; 496cf (12:56cf)
+Route16GateMapScriptPointers: ; 496cf (12:56cf)
dw Route16GateMapScript0
-
-INCBIN "baserom.gbc",$496d1,$496d7 - $496d1
+ dw Route16GateMapScript1
+ dw Route16GateMapScript2
+ dw Route16GateMapScript3
Route16GateMapScript0: ; 496d7 (12:56d7)
call Func_49755
ret nz
- ld hl, Unknown_49714 ; $5714
+ ld hl, CoordsData_49714
call ArePlayerCoordsInArray
ret nc
ld a, $3
@@ -77722,15 +80829,53 @@ Route16GateMapScript0: ; 496d7 (12:56d7)
ld [W_ROUTE16GATECURSCRIPT], a
ret
-Unknown_49714: ; 49714 (12:5714)
-INCBIN "baserom.gbc",$49714,$49755 - $49714
+CoordsData_49714: ; 49714 (12:5714)
+ db $07,$04
+ db $08,$04
+ db $09,$04
+ db $0A,$04
+ db $FF
+
+Route16GateMapScript1: ; 4971d (12:571d)
+ ld a, [$cd38]
+ and a
+ ret nz
+ ld a, $f0
+ ld [wJoypadForbiddenButtonsMask], a
+
+Route16GateMapScript2: ; 49727 (12:5727)
+ ld a, $1
+ ld [H_SPRITEHEIGHT], a
+ call DisplayTextID
+ ld a, $1
+ ld [$cd38], a
+ ld a, $10
+ ld [$ccd3], a
+ call Func_3486
+ ld a, $3
+ ld [W_ROUTE16GATECURSCRIPT], a
+ ret
+
+Route16GateMapScript3: ; 49741 (12:5741)
+ ld a, [$cd38]
+ and a
+ ret nz
+ xor a
+ ld [wJoypadForbiddenButtonsMask], a
+ ld hl, $d730
+ res 7, [hl]
+ ld a, $0
+ ld [W_ROUTE16GATECURSCRIPT], a
+ ret
Func_49755: ; 49755 (12:5755)
ld b, $6
jp IsItemInBag
-Route16GateMapTexts: ; 4975a (12:575a)
- dw Route16GateMapText1, Route16GateMapText2, Route16GateMapText3
+Route16GateMapTextPointers: ; 4975a (12:575a)
+ dw Route16GateMapText1
+ dw Route16GateMapText2
+ dw Route16GateMapText3
Route16GateMapText1: ; 49760 (12:5760)
db $08 ; asm
@@ -77798,7 +80943,7 @@ Route16GateMapBlocks: ; 497e3 (12:57e3)
Route16GateUpstairs_h: ; 0x497ff to 0x4980b (12 bytes) (id=187)
db $0c ; tileset
db ROUTE_16_GATE_2F_HEIGHT, ROUTE_16_GATE_2F_WIDTH ; dimensions (y, x)
- dw Route16GateUpstairsBlocks, Route16GateUpstairsTexts, Route16GateUpstairsScript ; blocks, texts, scripts
+ dw Route16GateUpstairsBlocks, Route16GateUpstairsTextPointers, Route16GateUpstairsScript ; blocks, texts, scripts
db $00 ; connections
dw Route16GateUpstairsObject ; objects
@@ -77806,8 +80951,11 @@ Route16GateUpstairs_h: ; 0x497ff to 0x4980b (12 bytes) (id=187)
Route16GateUpstairsScript: ; 4980b (12:580b)
jp DisableAutoTextBoxDrawing
-Route16GateUpstairsTexts: ; 4980e (12:580e)
- dw Route16GateUpstairsText1, Route16GateUpstairsText2, Route16GateUpstairsText3, Route16GateUpstairsText4
+Route16GateUpstairsTextPointers: ; 4980e (12:580e)
+ dw Route16GateUpstairsText1
+ dw Route16GateUpstairsText2
+ dw Route16GateUpstairsText3
+ dw Route16GateUpstairsText4
Route16GateUpstairsText1: ; 49816 (12:5816)
db $08 ; asm
@@ -77832,7 +80980,7 @@ UnnamedText_4982f: ; 4982f (12:582f)
Route16GateUpstairsText3: ; 49834 (12:5834)
db $8
ld hl, UnnamedText_4983b
- jp Unnamed_55c9
+ jp Func_55c9
UnnamedText_4983b: ; 4983b (12:583b)
TX_FAR _UnnamedText_4983b
@@ -77841,7 +80989,7 @@ UnnamedText_4983b: ; 4983b (12:583b)
Route16GateUpstairsText4: ; 49840 (12:5840)
db $8
ld hl, UnnamedText_49847 ; $5847
- jp Unnamed_55c9
+ jp Func_55c9
UnnamedText_49847: ; 49847 (12:5847)
TX_FAR _UnnamedText_49847
@@ -77867,7 +81015,7 @@ Route16GateUpstairsObject: ; 0x4984c (size=30)
Route18Gate_h: ; 0x4986a to 0x49876 (12 bytes) (id=190)
db $0c ; tileset
db ROUTE_18_GATE_1F_HEIGHT, ROUTE_18_GATE_1F_WIDTH ; dimensions (y, x)
- dw Route18GateBlocks, Route18GateTexts, Route18GateScript ; blocks, texts, scripts
+ dw Route18GateBlocks, Route18GateTextPointers, Route18GateScript ; blocks, texts, scripts
db $00 ; connections
dw Route18GateObject ; objects
@@ -77877,18 +81025,19 @@ Route18GateScript: ; 49876 (12:5876)
res 5, [hl]
call EnableAutoTextBoxDrawing
ld a, [W_ROUTE18GATECURSCRIPT]
- ld hl, Route18GateScripts
+ ld hl, Route18GateScriptPointers
jp CallFunctionInTable
-Route18GateScripts: ; 49887 (12:5887)
+Route18GateScriptPointers: ; 49887 (12:5887)
dw Route18GateScript0
-
-INCBIN "baserom.gbc",$49889,$4988f - $49889
+ dw Route18GateScript1
+ dw Route18GateScript2
+ dw Route18GateScript3
Route18GateScript0: ; 4988f (12:588f)
call Func_49755
ret nz
- ld hl, Unknown_498cc ; $58cc
+ ld hl, CoordsData_498cc
call ArePlayerCoordsInArray
ret nc
ld a, $2
@@ -77916,11 +81065,48 @@ Route18GateScript0: ; 4988f (12:588f)
ld [W_ROUTE18GATECURSCRIPT], a
ret
-Unknown_498cc: ; 498cc (12:58cc)
-INCBIN "baserom.gbc",$498cc,$4990d - $498cc
+CoordsData_498cc: ; 498cc (12:58cc)
+ db $03,$04
+ db $04,$04
+ db $05,$04
+ db $06,$04
+ db $FF
+
+Route18GateScript1: ; 498d5 (12:58d5)
+ ld a, [$cd38]
+ and a
+ ret nz
+ ld a, $f0
+ ld [wJoypadForbiddenButtonsMask], a
+
+Route18GateScript2: ; 498df (12:58df)
+ ld a, $1
+ ld [H_SPRITEHEIGHT], a
+ call DisplayTextID
+ ld a, $1
+ ld [$cd38], a
+ ld a, $10
+ ld [$ccd3], a
+ call Func_3486
+ ld a, $3
+ ld [W_ROUTE18GATECURSCRIPT], a
+ ret
+
+Route18GateScript3: ; 498f9 (12:58f9)
+ ld a, [$cd38]
+ and a
+ ret nz
+ xor a
+ ld [wJoypadForbiddenButtonsMask], a
+ ld hl, $d730
+ res 7, [hl]
+ ld a, $0
+ ld [W_ROUTE18GATECURSCRIPT], a
+ ret
-Route18GateTexts: ; 4990d (12:590d)
- dw Route18GateText1, Route18GateText2
+Route18GateTextPointers: ; 4990d (12:590d)
+ dw Route18GateText1
+ dw Route18GateText2
Route18GateText1: ; 49911 (12:5911)
db $08 ; asm
@@ -77972,7 +81158,7 @@ Route18GateObject: ; 0x49937 (size=50)
Route18GateUpstairs_h: ; 0x49969 to 0x49975 (12 bytes) (id=191)
db $0c ; tileset
db ROUTE_18_GATE_2F_HEIGHT, ROUTE_18_GATE_2F_WIDTH ; dimensions (y, x)
- dw Route18GateUpstairsBlocks, Route18GateUpstairsTexts, Route18GateUpstairsScript ; blocks, texts, scripts
+ dw Route18GateUpstairsBlocks, Route18GateUpstairsTextPointers, Route18GateUpstairsScript ; blocks, texts, scripts
db $00 ; connections
dw Route18GateUpstairsObject ; objects
@@ -77980,13 +81166,15 @@ Route18GateUpstairs_h: ; 0x49969 to 0x49975 (12 bytes) (id=191)
Route18GateUpstairsScript: ; 49975 (12:5975)
jp DisableAutoTextBoxDrawing
-Route18GateUpstairsTexts: ; 49978 (12:5978)
- dw Route18GateUpstairsText1, Route18GateUpstairsText2, Route18GateUpstairsText3
+Route18GateUpstairsTextPointers: ; 49978 (12:5978)
+ dw Route18GateUpstairsText1
+ dw Route18GateUpstairsText2
+ dw Route18GateUpstairsText3
Route18GateUpstairsText1: ; 4997e (12:597e)
db $08 ; asm
ld a, $5
- ld [W_WHICHTRADE], a
+ ld [wWhichTrade], a
ld a, $54
call Predef
jp TextScriptEnd
@@ -77994,7 +81182,7 @@ Route18GateUpstairsText1: ; 4997e (12:597e)
Route18GateUpstairsText2: ; 4998c (12:598c)
db $8
ld hl, UnnamedText_49993 ; $5993
- jp Unnamed_55c9
+ jp Func_55c9
UnnamedText_49993: ; 49993 (12:5993)
TX_FAR _UnnamedText_49993
@@ -78003,7 +81191,7 @@ UnnamedText_49993: ; 49993 (12:5993)
Route18GateUpstairsText3: ; 49998 (12:5998)
db $8
ld hl, UnnamedText_4999f ; $599f
- jp Unnamed_55c9
+ jp Func_55c9
UnnamedText_4999f: ; 4999f (12:599f)
TX_FAR _UnnamedText_4999f
@@ -78028,7 +81216,7 @@ Route18GateUpstairsObject: ; 0x499a4 (size=24)
MtMoon1_h: ; 0x499bc to 0x499c8 (12 bytes) (id=59)
db $11 ; tileset
db MT_MOON_1_HEIGHT, MT_MOON_1_WIDTH ; dimensions (y, x)
- dw MtMoon1Blocks, MtMoon1Texts, MtMoon1Script ; blocks, texts, scripts
+ dw MtMoon1Blocks, MtMoon1TextPointers, MtMoon1Script ; blocks, texts, scripts
db $00 ; connections
dw MtMoon1Object ; objects
@@ -78036,17 +81224,32 @@ MtMoon1_h: ; 0x499bc to 0x499c8 (12 bytes) (id=59)
MtMoon1Script: ; 499c8 (12:59c8)
call EnableAutoTextBoxDrawing
ld hl, MtMoon1TrainerHeader0
- ld de, Unknown_59db
+ ld de, MtMoon1ScriptPointers
ld a, [W_MTMOON1CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_MTMOON1CURSCRIPT], a
ret
-Unknown_59db: ; 499db (12:59db)
-INCBIN "baserom.gbc",$499db,$499e1 - $499db
+MtMoon1ScriptPointers: ; 499db (12:59db)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-MtMoon1Texts: ; 499e1 (12:59e1)
- dw MtMoon1Text1, MtMoon1Text2, MtMoon1Text3, MtMoon1Text4, MtMoon1Text5, MtMoon1Text6, MtMoon1Text7, Predef5CText, Predef5CText, Predef5CText, Predef5CText, Predef5CText, Predef5CText, MtMoon1Text14
+MtMoon1TextPointers: ; 499e1 (12:59e1)
+ dw MtMoon1Text1
+ dw MtMoon1Text2
+ dw MtMoon1Text3
+ dw MtMoon1Text4
+ dw MtMoon1Text5
+ dw MtMoon1Text6
+ dw MtMoon1Text7
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw MtMoon1Text14
MtMoon1TrainerHeaders: ; 499fd (12:59fd)
MtMoon1TrainerHeader0: ; 499fd (12:59fd)
@@ -78112,7 +81315,7 @@ MtMoon1TrainerHeader7: ; 49a45 (12:5a45)
dw MtMoon1EndBattleText8 ; 0x5af7 TextEndBattle
dw MtMoon1EndBattleText8 ; 0x5af7 TextEndBattle
-db $ff
+ db $ff
MtMoon1Text1: ; 49a52 (12:5a52)
db $08 ; asm
@@ -78285,7 +81488,7 @@ MtMoon1Blocks: ; 49b97 (12:5b97)
MtMoon3_h: ; 0x49cff to 0x49d0b (12 bytes) (id=61)
db $11 ; tileset
db MT_MOON_3_HEIGHT, MT_MOON_3_WIDTH ; dimensions (y, x)
- dw MtMoon3Blocks, MtMoon3Texts, MtMoon3Script ; blocks, texts, scripts
+ dw MtMoon3Blocks, MtMoon3TextPointers, MtMoon3Script ; blocks, texts, scripts
db $00 ; connections
dw MtMoon3Object ; objects
@@ -78293,14 +81496,14 @@ MtMoon3_h: ; 0x49cff to 0x49d0b (12 bytes) (id=61)
MtMoon3Script: ; 49d0b (12:5d0b)
call EnableAutoTextBoxDrawing
ld hl, MtMoon3TrainerHeader0 ; $5e48
- ld de, Unknown_49d63 ; $5d63
+ ld de, MtMoon3ScriptPointers
ld a, [W_MTMOON3CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_MTMOON3CURSCRIPT], a
ld a, [$d7f6]
bit 1, a
ret z
- ld hl, Unknown_49d37 ; $5d37
+ ld hl, CoordsData_49d37
call ArePlayerCoordsInArray
jr nc, .asm_49d31 ; 0x49d29 $6
ld hl, $d72e
@@ -78311,18 +81514,41 @@ MtMoon3Script: ; 49d0b (12:5d0b)
res 4, [hl]
ret
-Unknown_49d37: ; 49d37 (12:5d37)
-INCBIN "baserom.gbc",$49d37,$49d58 - $49d37
+CoordsData_49d37: ; 49d37 (12:5d37)
+ db $05,$0B
+ db $05,$0C
+ db $05,$0D
+ db $05,$0E
+ db $06,$0B
+ db $06,$0C
+ db $06,$0D
+ db $06,$0E
+ db $07,$0B
+ db $07,$0C
+ db $07,$0D
+ db $07,$0E
+ db $08,$0B
+ db $08,$0C
+ db $08,$0D
+ db $08,$0E
+ db $FF
Func_49d58: ; 49d58 (12:5d58)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_MTMOON3CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_49d63: ; 49d63 (12:5d63)
-INCBIN "baserom.gbc",$49d63,$49d6f - $49d63
+MtMoon3ScriptPointers: ; 49d63 (12:5d63)
+ dw MtMoon3Script0
+ dw Func_324c
+ dw EndTrainerBattle
+ dw MtMoon3Script3
+ dw MtMoon3Script4
+ dw MtMoon3Script5
+
+MtMoon3Script0: ; 49d6f (12:5d6f)
ld a, [$d7f6]
bit 1, a
jp nz, Func_49d91
@@ -78343,6 +81569,8 @@ Func_49d91: ; 49d91 (12:5d91)
and $c0
jp z, CheckFightingMapTrainers
ret
+
+MtMoon3Script3: ; 49d9a (12:5d9a)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_49d58
@@ -78351,24 +81579,26 @@ Func_49d91: ; 49d91 (12:5d91)
ld hl, $d7f6
set 1, [hl]
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_MTMOON3CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
+
+MtMoon3Script4: ; 49dba (12:5dba)
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
call SetSpriteMovementBytesToFF
- ld hl, Unknown_49dea ; $5dea
+ ld hl, CoordsData_49dea
call ArePlayerCoordsInArray
jr c, .asm_49dd7
- ld hl, Unknown_49df1 ; $5df1
+ ld hl, CoordsData_49df1
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
- ld de, Unknown_49df9 ; $5df9
+ ld de, MovementData_49df9
jr .asm_49dda
.asm_49dd7
- ld de, Unknown_49df8 ; $5df8
+ ld de, MovementData_49df8
.asm_49dda
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
@@ -78378,22 +81608,30 @@ Func_49d91: ; 49d91 (12:5d91)
ld [W_CURMAPSCRIPT], a
ret
-Unknown_49dea: ; 49dea (12:5dea)
-INCBIN "baserom.gbc",$49dea,$49df1 - $49dea
+CoordsData_49dea: ; 49dea (12:5dea)
+ db $07,$0C
+ db $06,$0B
+ db $05,$0C
+ db $FF
+
+CoordsData_49df1: ; 49df1 (12:5df1)
+ db $07,$0D
+ db $06,$0E
+ db $05,$0E
+ db $FF
-Unknown_49df1: ; 49df1 (12:5df1)
-INCBIN "baserom.gbc",$49df1,$49df8 - $49df1
+MovementData_49df8: ; 49df8 (12:5df8)
+ db $C0
-Unknown_49df8: ; 49df8 (12:5df8)
-INCBIN "baserom.gbc",$49df8,$49df9 - $49df8
+MovementData_49df9: ; 49df9 (12:5df9)
+ db $40,$FF
-Unknown_49df9: ; 49df9 (12:5df9)
-INCBIN "baserom.gbc",$49df9,$49dfb - $49df9
+MtMoon3Script5: ; 49dfb (12:5dfb)
ld a, [$d730]
bit 0, a
ret nz
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $1
ld [$cc3c], a
ld a, $a
@@ -78411,14 +81649,23 @@ INCBIN "baserom.gbc",$49df9,$49dfb - $49df9
ld a, $11
call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_MTMOON3CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-MtMoon3Texts: ; 49e34 (12:5e34)
- dw MtMoon3Text1, MtMoon3Text2, MtMoon3Text3, MtMoon3Text4, MtMoon3Text5, MtMoon3Text6, MtMoon3Text7, Predef5CText, Predef5CText, Unnamed_49f99
+MtMoon3TextPointers: ; 49e34 (12:5e34)
+ dw MtMoon3Text1
+ dw MtMoon3Text2
+ dw MtMoon3Text3
+ dw MtMoon3Text4
+ dw MtMoon3Text5
+ dw MtMoon3Text6
+ dw MtMoon3Text7
+ dw Predef5CText
+ dw Predef5CText
+ dw UnnamedText_49f99
MtMoon3TrainerHeaders: ; 49e48 (12:5e48)
MtMoon3TrainerHeader0: ; 49e48 (12:5e48)
@@ -78457,7 +81704,7 @@ MtMoon3TrainerHeader4: ; 49e6c (12:5e6c)
dw MtMoon3EndBattleText5 ; 0x5fd1 TextEndBattle
dw MtMoon3EndBattleText5 ; 0x5fd1 TextEndBattle
-db $ff
+ db $ff
MtMoon3Text1: ; 49e79 (12:5e79)
db $08 ; asm
@@ -78528,8 +81775,8 @@ MtMoon3Text6: ; 49ee9 (12:5ee9)
jr nz, .asm_1fa5e ; 0x49efc
ld bc,(DOME_FOSSIL << 8) | 1
call GiveItem
- jp nc, Unnamed_49f76
- call Unnamed_49f69
+ jp nc, Func_49f76
+ call Func_49f69
ld a, $6d
ld [$cc4d], a
ld a, $11
@@ -78558,8 +81805,8 @@ MtMoon3Text7: ; 49f29 (12:5f29)
jr nz, .asm_8e988 ; 0x49f3c
ld bc, (HELIX_FOSSIL << 8) | 1
call GiveItem
- jp nc, Unnamed_49f76
- call Unnamed_49f69
+ jp nc, Func_49f76
+ call Func_49f69
ld a, $6e
ld [$cc4d], a
ld a, $11
@@ -78576,7 +81823,7 @@ UnnamedText_49f64: ; 49f64 (12:5f64)
TX_FAR _UnnamedText_49f64
db "@"
-Unnamed_49f69: ; 49f69 (12:5f69)
+Func_49f69: ; 49f69 (12:5f69)
ld hl, UnnamedText_49f6f
jp PrintText
@@ -78584,7 +81831,7 @@ UnnamedText_49f6f: ; 49f6f (12:5f6f)
TX_FAR _UnnamedText_49f6f ; 0x80995
db $11, $d, "@"
-Unnamed_49f76: ; 49f76 (12:5f76)
+Func_49f76: ; 49f76 (12:5f76)
ld hl, UnnamedText_49f7f
call PrintText
jp TextScriptEnd
@@ -78609,8 +81856,9 @@ UnnamedText_49f94: ; 49f94 (12:5f94)
TX_FAR _UnnamedText_49f94
db "@"
-Unnamed_49f99: ; 49f99 (12:5f99)
-INCBIN "baserom.gbc",$49f99,$49f9f - $49f99
+UnnamedText_49f99: ; 49f99 (12:5f99)
+ TX_FAR _UnnamedText_49f99
+ db $11, "@"
MtMoon3BattleText2: ; 49f9f (12:5f9f)
TX_FAR _MtMoon3BattleText2
@@ -78694,7 +81942,7 @@ MtMoon3Blocks: ; 4a041 (12:6041)
SafariZoneWest_h: ; 0x4a1a9 to 0x4a1b5 (12 bytes) (id=219)
db $03 ; tileset
db SAFARI_ZONE_WEST_HEIGHT, SAFARI_ZONE_WEST_WIDTH ; dimensions (y, x)
- dw SafariZoneWestBlocks, SafariZoneWestTexts, SafariZoneWestScript ; blocks, texts, scripts
+ dw SafariZoneWestBlocks, SafariZoneWestTextPointers, SafariZoneWestScript ; blocks, texts, scripts
db $00 ; connections
dw SafariZoneWestObject ; objects
@@ -78702,8 +81950,15 @@ SafariZoneWest_h: ; 0x4a1a9 to 0x4a1b5 (12 bytes) (id=219)
SafariZoneWestScript: ; 4a1b5 (12:61b5)
jp EnableAutoTextBoxDrawing
-SafariZoneWestTexts: ; 4a1b8 (12:61b8)
- dw Predef5CText, Predef5CText, Predef5CText, Predef5CText, SafariZoneWestText5, SafariZoneWestText6, SafariZoneWestText7, SafariZoneWestText8
+SafariZoneWestTextPointers: ; 4a1b8 (12:61b8)
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw SafariZoneWestText5
+ dw SafariZoneWestText6
+ dw SafariZoneWestText7
+ dw SafariZoneWestText8
SafariZoneWestText5: ; 4a1c8 (12:61c8)
TX_FAR _SafariZoneWestText5
@@ -78762,7 +82017,7 @@ SafariZoneWestBlocks: ; 4a248 (12:6248)
SafariZoneSecretHouse_h: ; 0x4a30b to 0x4a317 (12 bytes) (id=222)
db $14 ; tileset
db SAFARI_ZONE_SECRET_HOUSE_HEIGHT, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; dimensions (y, x)
- dw SafariZoneSecretHouseBlocks, SafariZoneSecretHouseTexts, SafariZoneSecretHouseScript ; blocks, texts, scripts
+ dw SafariZoneSecretHouseBlocks, SafariZoneSecretHouseTextPointers, SafariZoneSecretHouseScript ; blocks, texts, scripts
db $00 ; connections
dw SafariZoneSecretHouseObject ; objects
@@ -78770,7 +82025,7 @@ SafariZoneSecretHouse_h: ; 0x4a30b to 0x4a317 (12 bytes) (id=222)
SafariZoneSecretHouseScript: ; 4a317 (12:6317)
jp EnableAutoTextBoxDrawing
-SafariZoneSecretHouseTexts: ; 4a31a (12:631a)
+SafariZoneSecretHouseTextPointers: ; 4a31a (12:631a)
dw SafariZoneSecretHouseText1
SafariZoneSecretHouseText1: ; 4a31c (12:631c)
@@ -78930,7 +82185,7 @@ LancePic: ; 4fba2 (13:7ba2)
BattleCenterM_h: ; 0x4fd04 to 0x4fd10 (12 bytes) (id=239)
db $15 ; tileset
db BATTLE_CENTER_HEIGHT, BATTLE_CENTER_WIDTH ; dimensions (y, x)
- dw BattleCenterMBlocks, BattleCenterMTexts, BattleCenterMScript ; blocks, texts, scripts
+ dw BattleCenterMBlocks, BattleCenterMTextPointers, BattleCenterMScript ; blocks, texts, scripts
db $00 ; connections
dw BattleCenterMObject ; objects
@@ -78967,7 +82222,7 @@ BattleCenterMScript: ; 4fd10 (13:7d10)
ld [$c119], a
ret
-BattleCenterMTexts: ; 4fd4c (13:7d4c)
+BattleCenterMTextPointers: ; 4fd4c (13:7d4c)
dw BattleCenterMText1
BattleCenterMText1: ; 4fd4e (13:7d4e)
@@ -78990,7 +82245,7 @@ BattleCenterMBlocks: ; 4fd5d (13:7d5d)
TradeCenterM_h: ; 0x4fd71 to 0x4fd7d (12 bytes) (id=240)
db $15 ; tileset
db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x)
- dw TradeCenterMBlocks, TradeCenterMTexts, TradeCenterMScript ; blocks, texts, scripts
+ dw TradeCenterMBlocks, TradeCenterMTextPointers, TradeCenterMScript ; blocks, texts, scripts
db $00 ; connections
dw TradeCenterMObject ; objects
@@ -78998,7 +82253,7 @@ TradeCenterM_h: ; 0x4fd71 to 0x4fd7d (12 bytes) (id=240)
TradeCenterMScript: ; 4fd7d (13:7d7d)
jp BattleCenterMScript
-TradeCenterMTexts: ; 4fd80 (13:7d80)
+TradeCenterMTextPointers: ; 4fd80 (13:7d80)
dw TradeCenterMText1
TradeCenterMText1: ; 4fd82 (13:7d82)
@@ -79081,18 +82336,20 @@ Func_4fe11: ; 4fe11 (13:7e11)
ld a, [$d11e]
dec a
ld c, a
- ld hl, W_OWNEDPOKEMON ; $d2f7
+ ld hl, wPokedexOwned ; $d2f7
ld b, $1
ld a, $10
call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
pop af
ld [$d11e], a
call GetMonName
- ld hl, Unknown_4fe39 ; $7e39
+ ld hl, UnnamedText_4fe39 ; $7e39
jp PrintText
-Unknown_4fe39: ; 4fe39 (13:7e39)
-INCBIN "baserom.gbc",$4fe39,$4fe3f - $4fe39
+UnnamedText_4fe39: ; 4fe39 (13:7e39)
+ TX_FAR _UnnamedText_4fe39
+ db $0b
+ db "@"
UnnamedText_4fe3f: ; 4fe3f (13:7e3f)
TX_FAR _UnnamedText_4fe3f
@@ -79169,116 +82426,123 @@ PredefPointers: ; 4fe79 (13:7e79)
db BANK(LoadMonBackSprite) ; dbw macro gives an error for some reason
dw LoadMonBackSprite
dbw BANK(Func_79aba),Func_79aba
- dbw $03,$7132
+ dbw BANK(Func_f132),Func_f132
HealPartyPredef: ; 4fe8e (13:7e8e)
dbw BANK(HealParty),HealParty
MoveAnimationPredef: ; 4fe91 (13:7e91)
dbw BANK(MoveAnimation),MoveAnimation; 08 play move animation
dbw BANK(Func_f71e),Func_f71e
dbw BANK(Func_f71e),Func_f71e
- dbw $03,$781D
- dbw $03,$7836
+ dbw BANK(Func_f81d),Func_f81d
+ dbw BANK(Func_f836),Func_f836
dbw BANK(Func_f71e),Func_f71e
dbw BANK(Func_f71e),Func_f71e
db BANK(InitializePlayerData)
dw InitializePlayerData
- dbw $03,$7666
- dbw $03,$71D7
- dbw $03,$71A6
- dbw $03,$469C
- dbw $0F,$4A83
- dbw $03,$71C8
- dbw $03,$71C8
- dbw $03,$6E9E
+ dbw BANK(HandleBitArray),HandleBitArray
+ db BANK(RemoveMissableObject)
+ dw RemoveMissableObject
+ db BANK(IsMissableObjectHidden)
+ dw IsMissableObjectHidden
+ dbw BANK(Func_c69c),Func_c69c
+ db BANK(AnyPokemonAliveCheck)
+ dw AnyPokemonAliveCheck
+ db BANK(AddMissableObject)
+ dw AddMissableObject
+ db BANK(AddMissableObject)
+ dw AddMissableObject
+ dbw BANK(Func_ee9e),Func_ee9e
db BANK(InitializePlayerData)
dw InitializePlayerData
- dbw $03,$4754
- dbw $0E,$6F5B
- dbw $01,$6E43
- dbw $03,$78A5; 1C, used in Pokémon Tower
- dbw $03,$3EB5
- dbw $03,$3E2E
- dbw $12,$40EB
- dbw $03,$78BA
- dbw $12,$40FF
- dbw $03,$7929
- dbw $03,$79A0
- dbw $12,$4125
- dbw $03,$7A1D
- dbw $03,$79DC
- dbw $01,$5AB0
- dbw $0F,$6D02
- dbw $10,$4000
- dbw $0E,$6D1C
- dbw $1C,$778C
- dbw $0F,$6F18
- dbw $01,$5A5F
+ dbw BANK(Func_c754),Func_c754
+ dbw BANK(Func_3af5b),Func_3af5b
+ dbw BANK(Func_6e43),Func_6e43
+ dbw BANK(Func_f8a5),Func_f8a5; 1C, used in Pokémon Tower
+ dbw $03,Func_3eb5 ; for these two, the bank number is actually 0
+ dbw $03,GiveItem
+ dbw BANK(Func_480eb),Func_480eb
+ dbw BANK(Func_f8ba),Func_f8ba
+ dbw BANK(Func_480ff),Func_480ff
+ dbw BANK(Func_f929),Func_f929
+ dbw BANK(Func_f9a0),Func_f9a0
+ dbw BANK(Func_48125),Func_48125
+ dbw BANK(UpdateHPBar),UpdateHPBar
+ dbw BANK(Func_f9dc),Func_f9dc
+ dbw BANK(Func_5ab0),Func_5ab0
+ dbw BANK(Func_3ed02),Func_3ed02
+ db BANK(DisplayPokedexMenu_)
+ dw DisplayPokedexMenu_
+ dbw BANK(Func_3ad1c),Func_3ad1c
+ dbw BANK(SaveSAVtoSRAM0),SaveSAVtoSRAM0
+ dbw BANK(Func_3ef18),Func_3ef18
+ dbw BANK(Func_5a5f),Func_5a5f
dbw BANK(DrawBadges), DrawBadges
- dbw $10,$50F3
- dbw $1C,$496D
- dbw $1E,$5DDA
- dbw $10,$5682
- dbw $1E,$5869
- dbw $1C,$4B5D
- dbw $03,$4586
-StatusScreenPredef: ; 4ff1b (13:7f1b)
+ dbw BANK(Func_410f3),Func_410f3
+ dbw BANK(Func_7096d),Func_7096d
+ dbw BANK(Func_79dda),Func_79dda
+ dbw BANK(PlayIntro),PlayIntro
+ dbw BANK(Func_79869),Func_79869
+ dbw BANK(Func_70b5d),Func_70b5d
+ dbw BANK(Func_c586),Func_c586
dbw BANK(StatusScreen),StatusScreen ; 37 0x12953
-StatusSceren2Predef: ; 4ff1e (13:7f1e)
dbw BANK(StatusScreen2),StatusScreen2 ; 38
- dbw $10,$50E2
- dbw $15,$690F
- dbw $10,$5010
-Predef3BPredef: ; 4ff2a (13:7f2a)
+ dbw BANK(Func_410e2),Func_410e2
+ db BANK(CheckEngagePlayer)
+ dw CheckEngagePlayer
+ dbw BANK(IndexToPokedex),IndexToPokedex
dbw BANK(Predef3B),Predef3B; 3B display pic?
- dbw $03,$6F54
- dbw $10,$42D1
- dbw $0E,$6FB8
- dbw $1C,$770A
- dbw $1C,$602B
- dbw $03,$7113
- dbw $17,$5B5E
- dbw $04,$773E
- dbw $04,$7763
- dbw $1C,$5DDF
- dbw $17,$40DC; 46 load dex screen
- dbw $03,$72E5
- dbw $03,$7A1D
- dbw $0F,$4DEC
- dbw $1C,$4F60
- dbw $09,$7D6B
- dbw $05,$7C47; 4C player exclamation
- dbw $01,$5AAF; return immediately
- dbw $01,$64EB
- dbw $0D,$7CA1
- dbw $1C,$780F
- dbw $1C,$76BD
- dbw $1C,$75E8
- dbw $1C,$77E2
-Predef54Predef: ; 4ff75 (13:7f75)
+ dbw BANK(Func_ef54),Func_ef54
+ dbw BANK(ShowPokedexData),ShowPokedexData
+ dbw BANK(WriteMonMoves),WriteMonMoves
+ dbw BANK(SaveSAV),SaveSAV
+ dbw BANK(Func_7202b),Func_7202b
+ dbw BANK(Func_f113),Func_f113
+ dbw BANK(SetPartyMonTypes),SetPartyMonTypes
+ db BANK(TestMonMoveCompatibility)
+ dw TestMonMoveCompatibility
+ dbw BANK(TMToMove),TMToMove
+ dbw BANK(Func_71ddf),Func_71ddf
+ dbw BANK(Func_5c0dc),Func_5c0dc; 46 load dex screen
+ db BANK(_AddPokemonToParty)
+ dw _AddPokemonToParty
+ dbw BANK(UpdateHPBar),UpdateHPBar
+ dbw BANK(Func_3cdec),Func_3cdec
+ dbw BANK(Func_70f60),Func_70f60
+ dbw BANK(Func_27d6b),Func_27d6b
+ dbw BANK(Func_17c47),Func_17c47; 4C player exclamation
+ dbw BANK(Func_5aaf),Func_5aaf; return immediately
+ db BANK(AskForMonNickname)
+ dw AskForMonNickname
+ dbw BANK(Func_37ca1),Func_37ca1
+ dbw BANK(SaveSAVtoSRAM2),SaveSAVtoSRAM2
+ dbw BANK(LoadSAVCheckSum2),LoadSAVCheckSum2
+ dbw BANK(LoadSAV),LoadSAV
+ dbw BANK(SaveSAVtoSRAM1),SaveSAVtoSRAM1
dbw BANK(Predef54),Predef54 ; 54 initiate trade
- dbw $1D,$405C
- dbw $11,$4169
- dbw $1E,$45BA
- dbw $1E,$4510
- dbw $03,$45BE
- dbw $03,$460B
- dbw $03,$4D99
- dbw $01,$4DE1
- dbw $09,$7D98
-LoadMovePPsPredef:
+ dbw BANK(Func_7405c),Func_7405c
+ dbw BANK(DisplayDexRating),DisplayDexRating
+ db $1E ; uses wrong bank number
+ dw _DoFlyOrTeleportAwayGraphics
+ db $1E ; uses wrong bank number
+ dw Func_70510
+ dbw BANK(Func_c5be),Func_c5be
+ dbw BANK(Func_c60b),Func_c60b
+ dbw BANK(Func_cd99),Func_cd99
+ dbw BANK(PickupItem),PickupItem
+ dbw BANK(Func_27d98),Func_27d98
dbw BANK(LoadMovePPs),LoadMovePPs
DrawHPBarPredef: ; 4ff96 (13:7f96)
- dbw $04,$68EF ; 5F draw HP bar
- dbw $04,$68F6
- dbw $07,$49C6
- dbw $16,$5035
+ dbw BANK(Func_128ef),Func_128ef ; 5F draw HP bar
+ dbw BANK(Func_128f6),Func_128f6
+ dbw BANK(Func_1c9c6),Func_1c9c6
+ dbw BANK(Func_59035),Func_59035
SECTION "bank14",ROMX,BANK[$14]
Route22_h: ; 0x50000 to 0x50022 (34 bytes) (id=33)
db $00 ; tileset
db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; dimensions (y, x)
- dw Route22Blocks, Route22Texts, Route22Script ; blocks, texts, scripts
+ dw Route22Blocks, Route22TextPointers, Route22Script ; blocks, texts, scripts
db NORTH | EAST ; connections
; connections data
@@ -79323,7 +82587,7 @@ Route22Blocks: ; 5003d (14:403d)
Route20_h: ; 0x500f1 to 0x50113 (34 bytes) (id=31)
db $00 ; tileset
db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; dimensions (y, x)
- dw Route20Blocks, Route20Texts, Route20Script ; blocks, texts, scripts
+ dw Route20Blocks, Route20TextPointers, Route20Script ; blocks, texts, scripts
db WEST | EAST ; connections
; connections data
@@ -79379,7 +82643,7 @@ Route20Blocks: ; 5017d (14:417d)
Route23_h: ; 0x5033f to 0x50361 (34 bytes) (id=34)
db $17 ; tileset
db ROUTE_23_HEIGHT, ROUTE_23_WIDTH ; dimensions (y, x)
- dw Route23Blocks, Route23Texts, Route23Script ; blocks, texts, scripts
+ dw Route23Blocks, Route23TextPointers, Route23Script ; blocks, texts, scripts
db NORTH | SOUTH ; connections
; connections data
@@ -79435,7 +82699,7 @@ Route23Blocks: ; 503b2 (14:43b2)
Route24_h: ; 0x50682 to 0x506a4 (34 bytes) (id=35)
db $00 ; tileset
db ROUTE_24_HEIGHT, ROUTE_24_WIDTH ; dimensions (y, x)
- dw Route24Blocks, Route24Texts, Route24Script ; blocks, texts, scripts
+ dw Route24Blocks, Route24TextPointers, Route24Script ; blocks, texts, scripts
db SOUTH | EAST ; connections
; connections data
@@ -79481,7 +82745,7 @@ Route24Blocks: ; 506e7 (14:46e7)
Route25_h: ; 0x5079b to 0x507b2 (23 bytes) (id=36)
db $00 ; tileset
db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; dimensions (y, x)
- dw Route25Blocks, Route25Texts, Route25Script ; blocks, texts, scripts
+ dw Route25Blocks, Route25TextPointers, Route25Script ; blocks, texts, scripts
db WEST ; connections
; connections data
@@ -79527,7 +82791,7 @@ Route25Blocks: ; 50810 (14:4810)
IndigoPlateau_h: ; 0x5091e to 0x50935 (23 bytes) (id=9)
db $17 ; tileset
db INDIGO_PLATEAU_HEIGHT, INDIGO_PLATEAU_WIDTH ; dimensions (y, x)
- dw IndigoPlateauBlocks, IndigoPlateauTexts, IndigoPlateauScript ; blocks, texts, scripts
+ dw IndigoPlateauBlocks, IndigoPlateauTextPointers, IndigoPlateauScript ; blocks, texts, scripts
db SOUTH ; connections
; connections data
@@ -79546,7 +82810,7 @@ IndigoPlateau_h: ; 0x5091e to 0x50935 (23 bytes) (id=9)
IndigoPlateauScript: ; 50935 (14:4935)
ret
-IndigoPlateauTexts: ; 50936 (14:4936)
+IndigoPlateauTextPointers: ; 50936 (14:4936)
IndigoPlateauObject: ; 0x50936 (size=20)
db $e ; border tile
@@ -79568,7 +82832,7 @@ IndigoPlateauBlocks: ; 5094a (14:494a)
SaffronCity_h: ; 0x509a4 to 0x509dc (56 bytes) (id=10)
db $00 ; tileset
db SAFFRON_CITY_HEIGHT, SAFFRON_CITY_WIDTH ; dimensions (y, x)
- dw SaffronCityBlocks, SaffronCityTexts, SaffronCityScript ; blocks, texts, scripts
+ dw SaffronCityBlocks, SaffronCityTextPointers, SaffronCityScript ; blocks, texts, scripts
db NORTH | SOUTH | WEST | EAST ; connections
; connections data
@@ -79663,8 +82927,32 @@ SaffronCityBlocks: ; 50a98 (14:4a98)
SaffronCityScript: ; 50c00 (14:4c00)
jp EnableAutoTextBoxDrawing
-SaffronCityTexts: ; 50c03 (14:4c03)
- dw SaffronCityText1, SaffronCityText2, SaffronCityText3, SaffronCityText4, SaffronCityText5, SaffronCityText6, SaffronCityText7, SaffronCityText8, SaffronCityText9, SaffronCityText10, SaffronCityText11, SaffronCityText12, SaffronCityText13, SaffronCityText14, SaffronCityText15, SaffronCityText16, SaffronCityText17, SaffronCityText18, MartSignText, SaffronCityText20, SaffronCityText21, SaffronCityText22, PokeCenterSignText, SaffronCityText24, SaffronCityText25
+SaffronCityTextPointers: ; 50c03 (14:4c03)
+ dw SaffronCityText1
+ dw SaffronCityText2
+ dw SaffronCityText3
+ dw SaffronCityText4
+ dw SaffronCityText5
+ dw SaffronCityText6
+ dw SaffronCityText7
+ dw SaffronCityText8
+ dw SaffronCityText9
+ dw SaffronCityText10
+ dw SaffronCityText11
+ dw SaffronCityText12
+ dw SaffronCityText13
+ dw SaffronCityText14
+ dw SaffronCityText15
+ dw SaffronCityText16
+ dw SaffronCityText17
+ dw SaffronCityText18
+ dw MartSignText
+ dw SaffronCityText20
+ dw SaffronCityText21
+ dw SaffronCityText22
+ dw PokeCenterSignText
+ dw SaffronCityText24
+ dw SaffronCityText25
SaffronCityText1: ; 50c35 (14:4c35)
TX_FAR _SaffronCityText1
@@ -79765,7 +83053,7 @@ Route20Script: ; 50ca9 (14:4ca9)
call nz, Func_50cc6
call EnableAutoTextBoxDrawing
ld hl, Route20TrainerHeader0 ; $4d3a
- ld de, Unknown_50d1c ; $4d1c
+ ld de, Route20ScriptPointers
ld a, [W_ROUTE20CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE20CURSCRIPT], a
@@ -79780,7 +83068,7 @@ Func_50cc6: ; 50cc6 (14:4cc6)
call Func_50d0c
ld a, $d8
call Func_50d0c
- ld hl, .unknown_50ce8 ; $4ce8
+ ld hl, .MissableObjectIDs ; $4ce8
.asm_50cdc
ld a, [hli]
cp $ff
@@ -79790,8 +83078,8 @@ Func_50cc6: ; 50cc6 (14:4cc6)
pop hl
jr .asm_50cdc
-.unknown_50ce8: ; 50ce8 (14:4ce8)
-INCBIN "baserom.gbc",$50ce8,$50cef - $50ce8
+.MissableObjectIDs: ; 50ce8 (14:4ce8)
+ db $D9,$DA,$DB,$DC,$DF,$E0,$FF
.asm_50cef
ld a, [$d881]
@@ -79818,11 +83106,24 @@ Func_50d14: ; 50d14 (14:4d14)
ld a, $11
jp Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
-Unknown_50d1c: ; 50d1c (14:4d1c)
-INCBIN "baserom.gbc",$50d1c,$50d22 - $50d1c
+Route20ScriptPointers: ; 50d1c (14:4d1c)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route20Texts: ; 50d22 (14:4d22)
- dw Route20Text1, Route20Text2, Route20Text3, Route20Text4, Route20Text5, Route20Text6, Route20Text7, Route20Text8, Route20Text9, Route20Text10, Route20Text11, Route20Text12
+Route20TextPointers: ; 50d22 (14:4d22)
+ dw Route20Text1
+ dw Route20Text2
+ dw Route20Text3
+ dw Route20Text4
+ dw Route20Text5
+ dw Route20Text6
+ dw Route20Text7
+ dw Route20Text8
+ dw Route20Text9
+ dw Route20Text10
+ dw Route20Text11
+ dw Route20Text12
Route20TrainerHeaders: ; 50d3a (14:4d3a)
Route20TrainerHeader0: ; 50d3a (14:4d3a)
@@ -79915,7 +83216,7 @@ Route20TrainerHeader10: ; 50da6 (14:4da6)
dw Route20EndBattleText10 ; 0x4ea3 TextEndBattle
dw Route20EndBattleText10 ; 0x4ea3 TextEndBattle
-db $ff
+ db $ff
Route20Text1: ; 50db3 (14:4db3)
db $08 ; asm
@@ -80104,19 +83405,25 @@ Route20Text11: ; 50ead (14:4ead)
Route22Script: ; 50eb2 (14:4eb2)
call EnableAutoTextBoxDrawing
- ld hl, Route22Scripts
+ ld hl, Route22ScriptPointers
ld a, [W_ROUTE22CURSCRIPT]
jp CallFunctionInTable
-Route22Scripts: ; 50ebe (14:4ebe)
- dw Route22Script0, Route22Script1, Route22Script2, Route22Script3
-
-INCBIN "baserom.gbc",$50ec6,$50ece - $50ec6
+Route22ScriptPointers: ; 50ebe (14:4ebe)
+ dw Route22Script0
+ dw Route22Script1
+ dw Route22Script2
+ dw Route22Script3
+ dw Route22Script4
+ dw Route22Script5
+ dw Route22Script6
+ dw $4Ed5
Func_50ece: ; 50ece (14:4ece)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_ROUTE22CURSCRIPT], a
+Route22Script7: ; 50ed5 (14:4ed5)
ret
Func_50ed6: ; 50ed6 (14:4ed6)
@@ -80134,7 +83441,7 @@ Func_50ed6: ; 50ed6 (14:4ed6)
ret
Func_50ee6: ; 50ee6 (14:4ee6)
- ld de, Unknown_50efb ; $4efb
+ ld de, MovementData_50efb ; $4efb
ld a, [$cf0d]
cp $1
jr z, .asm_50ef1
@@ -80145,14 +83452,14 @@ Func_50ee6: ; 50ee6 (14:4ee6)
ld [$FF00+$8d], a
jp Func_34a6
-Unknown_50efb: ; 50efb (14:4efb)
-INCBIN "baserom.gbc",$50efb,$50f00 - $50efb
+MovementData_50efb: ; 50efb (14:4efb)
+ db $C0,$C0,$C0,$C0,$FF
Route22Script0: ; 50f00 (14:4f00)
ld a, [$d7eb]
bit 7, a
ret z
- ld hl, .unknown_50f2d ; $4f2d
+ ld hl, .CoordsData_50f2d ; $4f2d
call ArePlayerCoordsInArray
ret nc
ld a, [$cd3d]
@@ -80160,7 +83467,7 @@ Route22Script0: ; 50f00 (14:4f00)
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $2
ld [$d528], a
ld a, [$d7eb]
@@ -80170,7 +83477,7 @@ Route22Script0: ; 50f00 (14:4f00)
jp nz, Func_5104e
ret
-.unknown_50f2d
+.CoordsData_50f2d
db $04, $1D
db $05, $1D
db $FF
@@ -80218,7 +83525,7 @@ Route22Script1: ; 50f62 (14:4f62)
ld [$ff00+$8c], a
call Func_34a6
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $1
ld [$ff00+$8c], a
call DisplayTextID
@@ -80237,7 +83544,9 @@ Route22Script1: ; 50f62 (14:4f62)
ret
Unknown_50faf: ; 50faf (14:4faf)
-INCBIN "baserom.gbc",$50faf,$50fb5 - $50faf
+ db SQUIRTLE,$04
+ db BULBASAUR,$05
+ db CHARMANDER,$06
Route22Script2: ; 50fb5 (14:4fb5)
ld a, [$d057]
@@ -80256,7 +83565,7 @@ Route22Script2: ; 50fb5 (14:4fb5)
ld [$ff00+$8c], a
call Func_34a6
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d7eb
set 5, [hl]
ld a, $1
@@ -80281,28 +83590,28 @@ Route22Script2: ; 50fb5 (14:4fb5)
ret
Func_51008: ; 51008 (14:5008)
- ld de, Unknown_51017 ; $5017
+ ld de, MovementData_51017 ; $5017
jr asm_51010
Func_5100d: ; 5100d (14:500d)
- ld de, Unknown_5101f ; $501f
+ ld de, MovementData_5101f ; $501f
asm_51010
ld a, $1
ld [H_SPRITEHEIGHT], a
jp MoveSprite
-Unknown_51017: ; 51017 (14:5017)
-INCBIN "baserom.gbc",$51017,$5101f - $51017
+MovementData_51017: ; 51017 (14:5017)
+ db $C0,$C0,$00,$00,$00,$00,$00,$FF
-Unknown_5101f: ; 5101f (14:501f)
-INCBIN "baserom.gbc",$5101f,$5102a - $5101f
+MovementData_5101f: ; 5101f (14:501f)
+ db $40,$C0,$C0,$C0,$00,$00,$00,$00,$00,$00,$FF
Route22Script3: ; 5102a (14:502a)
ld a, [$d730]
bit 0, a
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $22
ld [$cc4d], a
ld a, $11
@@ -80341,6 +83650,8 @@ Func_5104e: ; 5104e (14:504e)
ld a, $4
ld [W_ROUTE22CURSCRIPT], a
ret
+
+Route22Script4: ; 51087 (14:5087)
ld a, [$d730]
bit 0, a
ret nz
@@ -80361,7 +83672,7 @@ Func_5104e: ; 5104e (14:504e)
ld [$FF00+$8d], a
call Func_34a6
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
call DisplayTextID
@@ -80380,7 +83691,11 @@ Func_5104e: ; 5104e (14:504e)
ret
Unknown_510d9: ; 510d9 (14:50d9)
-INCBIN "baserom.gbc",$510d9,$510df - $510d9
+ db SQUIRTLE,$0a
+ db BULBASAUR,$0b
+ db CHARMANDER,$0c
+
+Route22Script5: ; 510df (14:50df)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_50ece
@@ -80401,7 +83716,7 @@ INCBIN "baserom.gbc",$510d9,$510df - $510d9
ld [$FF00+$8d], a
call Func_34a6
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d7eb
set 6, [hl]
ld a, $2
@@ -80426,26 +83741,28 @@ INCBIN "baserom.gbc",$510d9,$510df - $510d9
ret
Func_5113d: ; 5113d (14:513d)
- ld de, Unknown_5114c ; $514c
+ ld de, MovementData_5114c ; $514c
jr asm_51145
Func_51142: ; 51142 (14:5142)
- ld de, Unknown_5114d ; $514d
+ ld de, MovementData_5114d ; $514d
asm_51145: ; 51145 (14:5145)
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
jp MoveSprite
-Unknown_5114c: ; 5114c (14:514c)
-INCBIN "baserom.gbc",$5114c,$5114d - $5114c
+MovementData_5114c: ; 5114c (14:514c)
+ db $80
+
+MovementData_5114d: ; 5114d (14:514d)
+ db $80,$80,$80,$FF
-Unknown_5114d: ; 5114d (14:514d)
-INCBIN "baserom.gbc",$5114d,$51151 - $5114d
+Route22Script6: ; 51151 (14:5151)
ld a, [$d730]
bit 0, a
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $23
ld [$cc4d], a
ld a, $11
@@ -80458,8 +83775,10 @@ INCBIN "baserom.gbc",$5114d,$51151 - $5114d
ld [W_ROUTE22CURSCRIPT], a
ret
-Route22Texts: ; 51175 (14:5175)
- dw Route22Text1, Route22Text2, Route22Text3
+Route22TextPointers: ; 51175 (14:5175)
+ dw Route22Text1
+ dw Route22Text2
+ dw Route22Text3
Route22Text1: ; 5117b (14:517b)
db $08 ; asm
@@ -80528,7 +83847,7 @@ Route22Text3: ; 511d5 (14:51d5)
Route23Script: ; 511da (14:51da)
call Func_511e9
call EnableAutoTextBoxDrawing
- ld hl, Route23Scripts
+ ld hl, Route23ScriptPointers
ld a, [W_ROUTE23CURSCRIPT]
jp CallFunctionInTable
@@ -80552,12 +83871,14 @@ Func_511e9: ; 511e9 (14:51e9)
ld a, $11
jp Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
-Route23Scripts: ; 51213 (14:5213)
- dw Route23Script0, Route23Script1, Route23Script2
+Route23ScriptPointers: ; 51213 (14:5213)
+ dw Route23Script0
+ dw Route23Script1
+ dw Route23Script2
Route23Script0: ; 51219 (14:5219)
- ld hl, Unknown_51255 ; $5255
- ld a, [$d361]
+ ld hl, YCoordsData_51255 ; $5255
+ ld a, [W_YCOORD]
ld b, a
ld e, $0
ld c, $7
@@ -80571,7 +83892,7 @@ Route23Script0: ; 51219 (14:5219)
jr nz, .asm_51224 ; 0x5122b $f7
cp $23
jr nz, .asm_51237 ; 0x5122f $6
- ld a, [$d362]
+ ld a, [W_XCOORD]
cp $e
ret nc
.asm_51237
@@ -80592,12 +83913,12 @@ Route23Script0: ; 51219 (14:5219)
ld [H_CURRENTPRESSEDBUTTONS], a
ret
-Unknown_51255: ; 51255 (14:5255)
-INCBIN "baserom.gbc",$51255,$5125d - $51255
+YCoordsData_51255: ; 51255 (14:5255)
+ db $23,$38,$55,$60,$69,$77,$88,$FF
Func_5125d: ; 5125d (14:525d)
- ld hl, Unknown_51276 ; $5276
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld hl, BadgeTextPointers ; $5276
+ ld a, [wWhichTrade] ; $cd3d
ld c, a
ld b, $0
add hl, bc
@@ -80614,16 +83935,34 @@ Func_5125d: ; 5125d (14:525d)
jr nz, .asm_5126e
ret
-Unknown_51276: ; 51276 (14:5276)
-INCBIN "baserom.gbc",$51276,$51284 - $51276
+BadgeTextPointers: ; 51276 (14:5276)
+ dw CascadeBadgeText
+ dw ThunderBadgeText
+ dw RainbowBadgeText
+ dw SoulBadgeText
+ dw MarshBadgeText
+ dw VolcanoBadgeText
+ dw EarthBadgeText
-BadgeList: ; 51284 (14:5284)
+EarthBadgeText: ; 51284 (14:5284)
db "EARTHBADGE@"
+
+VolcanoBadgeText: ; 5128f (14:528f)
db "VOLCANOBADGE@"
+
+MarshBadgeText: ; 5129c (14:529c)
db "MARSHBADGE@"
+
+SoulBadgeText: ; 512a7 (14:52a7)
db "SOULBADGE@"
+
+RainbowBadgeText: ; 512b1 (14:52b1)
db "RAINBOWBADGE@"
+
+ThunderBadgeText: ; 512be (14:52be)
db "THUNDERBADGE@"
+
+CascadeBadgeText: ; 512cb (14:52cb)
db "CASCADEBADGE@"
Func_512d8: ; 512d8 (14:52d8)
@@ -80633,7 +83972,7 @@ Func_512d8: ; 512d8 (14:52d8)
ld [$ccd3], a
xor a
ld [$c109], a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
jp Func_3486
Route23Script1: ; 512ec (14:52ec)
@@ -80645,8 +83984,15 @@ Route23Script2: ; 512f1 (14:52f1)
ld [W_ROUTE23CURSCRIPT], a
ret
-Route23Texts: ; 512f7 (14:52f7)
- dw Route23Text1, Route23Text2, Route23Text3, Route23Text4, Route23Text5, Route23Text6, Route23Text7, Route23Text8
+Route23TextPointers: ; 512f7 (14:52f7)
+ dw Route23Text1
+ dw Route23Text2
+ dw Route23Text3
+ dw Route23Text4
+ dw Route23Text5
+ dw Route23Text6
+ dw Route23Text7
+ dw Route23Text8
Route23Text1: ; 51307 (14:5307)
db $08 ; asm
@@ -80691,9 +84037,9 @@ Route23Text7: ; 5133d (14:533d)
jp TextScriptEnd
Func_51346: ; 51346 (14:5346)
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
call Func_5125d
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
inc a
ld c, a
ld b, $2
@@ -80703,16 +84049,16 @@ Func_51346: ; 51346 (14:5346)
ld a, c
and a
jr nz, .asm_5136e
- ld hl, Unknown_5138e ; $538e
+ ld hl, VictoryRoadGuardText1 ; $538e
call PrintText
call Func_512d8
ld a, $1
ld [W_ROUTE23CURSCRIPT], a
ret
.asm_5136e
- ld hl, Unknown_5139e ; $539e
+ ld hl, VictoryRoadGuardText2 ; $539e
call PrintText
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld c, a
ld b, $1
ld hl, $d7ed
@@ -80722,15 +84068,21 @@ Func_51346: ; 51346 (14:5346)
ld [W_ROUTE23CURSCRIPT], a
ret
-INCBIN "baserom.gbc",$51388,$5138e - $51388
-
-Unknown_5138e: ; 5138e (14:538e)
-INCBIN "baserom.gbc",$5138e,$5139e - $5138e
+Func_51388: ; 51388 (14:5388)
+ ld hl, VictoryRoadGuardText2
+ jp PrintText
-Unknown_5139e: ; 5139e (14:539e)
-INCBIN "baserom.gbc",$5139e,$513a3 - $5139e
+VictoryRoadGuardText1: ; 5138e (14:538e)
+ TX_FAR _VictoryRoadGuardText1
+ db $08 ; asm
+ ld a, $a5
+ call PlaySoundWaitForCurrent
+ call WaitForSoundToFinish
+ jp TextScriptEnd
-UnnamedText_513a3: ; 513a3 (14:53a3)
+VictoryRoadGuardText2: ; 5139e (14:539e)
+ TX_FAR _VictoryRoadGuardText2
+ db $b
TX_FAR _UnnamedText_513a3
db "@"
@@ -80741,7 +84093,7 @@ Route23Text8: ; 513a8 (14:53a8)
Route24Script: ; 513ad (14:53ad)
call EnableAutoTextBoxDrawing
ld hl, Route24TrainerHeaders
- ld de, Unknown_513cb ; $53cb
+ ld de, Route24ScriptPointers
ld a, [W_ROUTE24CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE24CURSCRIPT], a
@@ -80749,17 +84101,23 @@ Route24Script: ; 513ad (14:53ad)
Func_513c0: ; 513c0 (14:53c0)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_ROUTE24CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_513cb: ; 513cb (14:53cb)
-INCBIN "baserom.gbc",$513cb,$513d5 - $513cb
+Route24ScriptPointers: ; 513cb (14:53cb)
+ dw Route24Script0
+ dw Func_324c
+ dw EndTrainerBattle
+ dw Route24Script3
+ dw Route24Script4
+
+Route24Script0: ; 513d5 (14:53d5)
ld a, [$d7ef]
bit 0, a
jp nz, CheckFightingMapTrainers
- ld hl, Unknown_5140e ; $540e
+ ld hl, CoordsData_5140e ; $540e
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
@@ -80781,28 +84139,47 @@ INCBIN "baserom.gbc",$513cb,$513d5 - $513cb
ld [W_CURMAPSCRIPT], a
ret
-Unknown_5140e: ; 5140e (14:540e)
-INCBIN "baserom.gbc",$5140e,$51422 - $5140e
+CoordsData_5140e: ; 5140e (14:540e)
+ db $0F,$0A,$FF
+
+Route24Script4: ; 51411 (14:5411)
+ ld a, [$cd38]
+ and a
+ ret nz
+ call Delay3
+ ld a, $0
+ ld [W_ROUTE24CURSCRIPT], a
+ ld [W_CURMAPSCRIPT], a
+ ret
+
+Route24Script3: ; 51422 (14:5422)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_513c0
call UpdateSprites
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d7ef
set 1, [hl]
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
call DisplayTextID
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_ROUTE24CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Route24Texts: ; 5144b (14:544b)
- dw Route24Text1, Route24Text2, Route24Text3, Route24Text4, Route24Text5, Route24Text6, Route24Text7, Predef5CText
+Route24TextPointers: ; 5144b (14:544b)
+ dw Route24Text1
+ dw Route24Text2
+ dw Route24Text3
+ dw Route24Text4
+ dw Route24Text5
+ dw Route24Text6
+ dw Route24Text7
+ dw Predef5CText
Route24TrainerHeaders: ; 5145b (14:545b)
Route24TrainerHeader0: ; 5145b (14:545b)
@@ -80859,7 +84236,7 @@ Route24TrainerHeader6: ; 51497 (14:5497)
dw Route24EndBattleText6 ; 0x55c1 TextEndBattle
dw Route24EndBattleText6 ; 0x55c1 TextEndBattle
-db $ff
+ db $ff
Route24Text1: ; 514a4 (14:54a4)
db $8
@@ -81041,16 +84418,16 @@ Route24AfterBattleText6: ; 515c6 (14:55c6)
db "@"
Route25Script: ; 515cb (14:55cb)
- call Unknown_515e1
+ call Route25Script_515e1
call EnableAutoTextBoxDrawing
ld hl, Route25TrainerHeaders
- ld de, Unknown_51622 ; $5622
+ ld de, Route25ScriptPointers
ld a, [W_ROUTE25CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE25CURSCRIPT], a
ret
-Unknown_515e1: ; 515e1 (14:55e1)
+Route25Script_515e1: ; 515e1 (14:55e1)
ld hl, $d126
bit 6, [hl]
res 6, [hl]
@@ -81082,11 +84459,23 @@ Unknown_515e1: ; 515e1 (14:55e1)
ld a, $15
jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8))
-Unknown_51622: ; 51622 (14:5622)
-INCBIN "baserom.gbc",$51622,$51628 - $51622
+Route25ScriptPointers: ; 51622 (14:5622)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route25Texts: ; 51628 (14:5628)
- dw Route25Text1, Route25Text2, Route25Text3, Route25Text4, Route25Text5, Route25Text6, Route25Text7, Route25Text8, Route25Text9, Predef5CText, Route25Text11
+Route25TextPointers: ; 51628 (14:5628)
+ dw Route25Text1
+ dw Route25Text2
+ dw Route25Text3
+ dw Route25Text4
+ dw Route25Text5
+ dw Route25Text6
+ dw Route25Text7
+ dw Route25Text8
+ dw Route25Text9
+ dw Predef5CText
+ dw Route25Text11
Route25TrainerHeaders: ; 5163e (14:563e)
Route25TrainerHeader0: ; 5163e (14:563e)
@@ -81170,7 +84559,7 @@ Route25TrainerHeader9: ; 5169e (14:569e)
dw Route25EndBattleText9 ; 0x5782 TextEndBattle
dw Route25EndBattleText9 ; 0x5782 TextEndBattle
-db $ff
+ db $ff
Route25Text1: ; 516ab (14:56ab)
db $08 ; asm
@@ -81341,7 +84730,7 @@ Route25Text11: ; 5178c (14:578c)
VictoryRoad2_h: ; 0x51791 to 0x5179d (12 bytes) (id=194)
db $11 ; tileset
db VICTORY_ROAD_2_HEIGHT, VICTORY_ROAD_2_WIDTH ; dimensions (y, x)
- dw VictoryRoad2Blocks, VictoryRoad2Texts, VictoryRoad2Script ; blocks, texts, scripts
+ dw VictoryRoad2Blocks, VictoryRoad2TextPointers, VictoryRoad2Script ; blocks, texts, scripts
db $00 ; connections
dw VictoryRoad2Object ; objects
@@ -81350,20 +84739,20 @@ VictoryRoad2Script: ; 5179d (14:579d)
ld hl, $d126
bit 6, [hl]
res 6, [hl]
- call nz, VictoryRoad2Script_Unknown517c4
+ call nz, VictoryRoad2Script_517c4
ld hl, $d126
bit 5, [hl]
res 5, [hl]
call nz, Func_517c9
call EnableAutoTextBoxDrawing
ld hl, VictoryRoad2TrainerHeaders
- ld de, Unknown_517eb ; $57eb
+ ld de, VictoryRoad2ScriptPointers
ld a, [W_VICTORYROAD2CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_VICTORYROAD2CURSCRIPT], a
ret
-VictoryRoad2Script_Unknown517c4: ; 517c4 (14:57c4)
+VictoryRoad2Script_517c4: ; 517c4 (14:57c4)
ld hl, $d869
res 7, [hl]
@@ -81388,13 +84777,17 @@ Func_517e2: ; 517e2 (14:57e2)
call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
ret
-Unknown_517eb: ; 517eb (14:57eb)
-INCBIN "baserom.gbc",$517eb,$517f1 - $517eb
- ld hl, Unknown_51816 ; $5816
+VictoryRoad2ScriptPointers: ; 517eb (14:57eb)
+ dw VictoryRoad2Script0
+ dw Func_324c
+ dw EndTrainerBattle
+
+VictoryRoad2Script0: ; 517f1 (14:57f1)
+ ld hl, CoordsData_51816 ; $5816
call CheckBoulderCoords
jp nc, CheckFightingMapTrainers
ld hl, $d7ee
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
cp $2
jr z, .asm_5180b
bit 0, [hl]
@@ -81410,11 +84803,25 @@ INCBIN "baserom.gbc",$517eb,$517f1 - $517eb
set 5, [hl]
ret
-Unknown_51816: ; 51816 (14:5816)
-INCBIN "baserom.gbc",$51816,$5181b - $51816
+CoordsData_51816: ; 51816 (14:5816)
+ db $10,$01
+ db $10,$09
+ db $FF
-VictoryRoad2Texts: ; 5181b (14:581b)
- dw VictoryRoad2Text1, VictoryRoad2Text2, VictoryRoad2Text3, VictoryRoad2Text4, VictoryRoad2Text5, VictoryRoad2Text6, Predef5CText, Predef5CText, Predef5CText, Predef5CText, BoulderText, BoulderText, BoulderText
+VictoryRoad2TextPointers: ; 5181b (14:581b)
+ dw VictoryRoad2Text1
+ dw VictoryRoad2Text2
+ dw VictoryRoad2Text3
+ dw VictoryRoad2Text4
+ dw VictoryRoad2Text5
+ dw VictoryRoad2Text6
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw BoulderText
+ dw BoulderText
+ dw BoulderText
VictoryRoad2TrainerHeaders: ; 51835 (14:5835)
VictoryRoad2TrainerHeader0: ; 51835 (14:5835)
@@ -81471,7 +84878,7 @@ VictoryRoad2TrainerHeader6: ; 51871 (14:5871)
dw VictoryRoad2BattleText6 ; 0x58ba TextEndBattle
dw VictoryRoad2BattleText6 ; 0x58ba TextEndBattle
-db $ff
+ db $ff
VictoryRoad2Text1: ; 5187e (14:587e)
db $08 ; asm
@@ -81621,7 +85028,7 @@ VictoryRoad2Blocks: ; 519af (14:59af)
MtMoon2_h: ; 0x51a36 to 0x51a42 (12 bytes) (id=60)
db $11 ; tileset
db MT_MOON_2_HEIGHT, MT_MOON_2_WIDTH ; dimensions (y, x)
- dw MtMoon2Blocks, MtMoon2Texts, MtMoon2Script ; blocks, texts, scripts
+ dw MtMoon2Blocks, MtMoon2TextPointers, MtMoon2Script ; blocks, texts, scripts
db $00 ; connections
dw MtMoon2Object ; objects
@@ -81630,7 +85037,7 @@ MtMoon2Script: ; 51a42 (14:5a42)
call EnableAutoTextBoxDrawing
ret
-MtMoon2Texts: ; 51a46 (14:5a46)
+MtMoon2TextPointers: ; 51a46 (14:5a46)
dw MtMoonText1
MtMoonText1: ; 51a48 (14:5a48)
@@ -81670,27 +85077,27 @@ MtMoon2Blocks: ; 51a91 (14:5a91)
SilphCo7_h: ; 0x51b55 to 0x51b61 (12 bytes) (id=212)
db $16 ; tileset
db SILPH_CO_7F_HEIGHT, SILPH_CO_7F_WIDTH ; dimensions (y, x)
- dw SilphCo7Blocks, SilphCo7Texts, SilphCo7Script ; blocks, texts, scripts
+ dw SilphCo7Blocks, SilphCo7TextPointers, SilphCo7Script ; blocks, texts, scripts
db $00 ; connections
dw SilphCo7Object ; objects
SilphCo7Script: ; 51b61 (14:5b61)
- call SilphCo7Script_Unknown51b77
+ call SilphCo7Script_51b77
call EnableAutoTextBoxDrawing
ld hl, SilphCo7TrainerHeaders
- ld de, Unknown_51c17 ; $5c17
+ ld de, SilphCo7ScriptPointers
ld a, [W_SILPHCO7CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SILPHCO7CURSCRIPT], a
ret
-SilphCo7Script_Unknown51b77: ; 51b77 (14:5b77)
+SilphCo7Script_51b77: ; 51b77 (14:5b77)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
- ld hl, Unknown_51bc1 ; $5bc1
+ ld hl, DataTable_51bc1 ; $5bc1
call Func_51bc8
call Func_51bf4
ld a, [$d830]
@@ -81722,8 +85129,8 @@ SilphCo7Script_Unknown51b77: ; 51b77 (14:5b77)
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
-Unknown_51bc1: ; 51bc1 (14:5bc1)
-INCBIN "baserom.gbc",$51bc1,$51bc8 - $51bc1
+DataTable_51bc1: ; 51bc1 (14:5bc1)
+ db $03,$05,$02,$0A,$06,$0A,$FF
Func_51bc8: ; 51bc8 (14:5bc8)
push hl
@@ -81781,25 +85188,32 @@ Func_51bf4: ; 51bf4 (14:5bf4)
Func_51c0c: ; 51c0c (14:5c0c)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
Func_51c10: ; 51c10 (14:5c10)
ld [W_SILPHCO7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_51c17: ; 51c17 (14:5c17)
-INCBIN "baserom.gbc",$51c17,$51c23 - $51c17
+SilphCo7ScriptPointers: ; 51c17 (14:5c17)
+ dw SilphCo7Script0
+ dw Func_324c
+ dw EndTrainerBattle
+ dw SilphCo7Script3
+ dw SilphCo7Script4
+ dw SilphCo7Script5
+
+SilphCo7Script0: ; 51c23 (14:5c23)
ld a, [$d82f]
bit 0, a
jp nz, CheckFightingMapTrainers
- ld hl, Unknown_51c78 ; $5c78
+ ld hl, CoordsData_51c78
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $4
ld [$d528], a
ld a, $ff
@@ -81814,8 +85228,8 @@ INCBIN "baserom.gbc",$51c17,$51c23 - $51c17
ld a, $9
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
call SetSpriteMovementBytesToFF
- ld de, Unknown_51c7d ; $5c7d
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld de, MovementData_51c7d
+ ld a, [wWhichTrade] ; $cd3d
ld [$cf0d], a
cp $1
jr z, .asm_51c6c
@@ -81827,16 +85241,20 @@ INCBIN "baserom.gbc",$51c17,$51c23 - $51c17
ld a, $3
jp Func_51c10
-Unknown_51c78: ; 51c78 (14:5c78)
-INCBIN "baserom.gbc",$51c78,$51c7d - $51c78
+CoordsData_51c78: ; 51c78 (14:5c78)
+ db $02,$03
+ db $03,$03
+ db $FF
+
+MovementData_51c7d: ; 51c7d (14:5c7d)
+ db $40,$40,$40,$40,$FF
-Unknown_51c7d: ; 51c7d (14:5c7d)
-INCBIN "baserom.gbc",$51c7d,$51c82 - $51c7d
+SilphCo7Script3: ; 51c82 (14:5c82)
ld a, [$d730]
bit 0, a
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $d
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
call DisplayTextID
@@ -81865,11 +85283,13 @@ INCBIN "baserom.gbc",$51c7d,$51c82 - $51c7d
ld [W_TRAINERNO], a ; $d05d
ld a, $4
jp Func_51c10
+
+SilphCo7Script4: ; 51cc8 (14:5cc8)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_51c0c
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d82f
set 0, [hl]
ld a, $4
@@ -81888,11 +85308,11 @@ INCBIN "baserom.gbc",$51c7d,$51c82 - $51c7d
ld b, BANK(Music_RivalAlternateStart)
ld hl, Music_RivalAlternateStart
call Bankswitch ; indirect jump to Music_RivalAlternateStart (9b47 (2:5b47))
- ld de, Unknown_51d1d ; $5d1d
+ ld de, MovementData_51d1d
ld a, [$cf0d]
cp $1
jr nz, .asm_51d0e
- ld de, Unknown_51d1a ; $5d1a
+ ld de, MovementData_51d1a
.asm_51d0e
ld a, $9
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
@@ -81900,11 +85320,13 @@ INCBIN "baserom.gbc",$51c7d,$51c82 - $51c7d
ld a, $5
jp Func_51c10
-Unknown_51d1a: ; 51d1a (14:5d1a)
-INCBIN "baserom.gbc",$51d1a,$51d1d - $51d1a
+MovementData_51d1a: ; 51d1a (14:5d1a)
+ db $C0,$C0,$FF
+
+MovementData_51d1d: ; 51d1d (14:5d1d)
+ db $80,$40,$40,$C0,$C0,$C0,$00,$FF
-Unknown_51d1d: ; 51d1d (14:5d1d)
-INCBIN "baserom.gbc",$51d1d,$51d25 - $51d1d
+SilphCo7Script5: ; 51d25 (14:5d25)
ld a, [$d730]
bit 0, a
ret nz
@@ -81914,11 +85336,25 @@ INCBIN "baserom.gbc",$51d1d,$51d25 - $51d1d
call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
call Func_2307
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
jp Func_51c10
-SilphCo7Texts: ; 51d3f (14:5d3f)
- dw SilphCo7Text1, SilphCo7Text2, SilphCo7Text3, SilphCo7Text4, SilphCo7Text5, SilphCo7Text6, SilphCo7Text7, SilphCo7Text8, SilphCo7Text9, Predef5CText, Predef5CText, Predef5CText, SilphCo7Text13, SilphCo7Text14, SilphCo7Text15
+SilphCo7TextPointers: ; 51d3f (14:5d3f)
+ dw SilphCo7Text1
+ dw SilphCo7Text2
+ dw SilphCo7Text3
+ dw SilphCo7Text4
+ dw SilphCo7Text5
+ dw SilphCo7Text6
+ dw SilphCo7Text7
+ dw SilphCo7Text8
+ dw SilphCo7Text9
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw SilphCo7Text13
+ dw SilphCo7Text14
+ dw SilphCo7Text15
SilphCo7TrainerHeaders: ; 51d5d (14:5d5d)
SilphCo7TrainerHeader0: ; 51d5d (14:5d5d)
@@ -81957,7 +85393,7 @@ SilphCo7TrainerHeader4: ; 51d81 (14:5d81)
dw SilphCo7EndBattleText4 ; 0x5eaa TextEndBattle
dw SilphCo7EndBattleText4 ; 0x5eaa TextEndBattle
-db $ff
+ db $ff
SilphCo7Text1: ; 51d8e (14:5d8e)
db $08 ; asm
@@ -82211,22 +85647,22 @@ SilphCo7Blocks: ; 51f57 (14:5f57)
Mansion2_h: ; 0x51fcc to 0x51fd8 (12 bytes) (id=214)
db $16 ; tileset
db MANSION_2_HEIGHT, MANSION_2_WIDTH ; dimensions (y, x)
- dw Mansion2Blocks, Mansion2Texts, Mansion2Script ; blocks, texts, scripts
+ dw Mansion2Blocks, Mansion2TextPointers, Mansion2Script ; blocks, texts, scripts
db $00 ; connections
dw Mansion2Object ; objects
Mansion2Script: ; 51fd8 (14:5fd8)
- call Mansion2Script_Unknown51fee
+ call Mansion2Script_51fee
call EnableAutoTextBoxDrawing
ld hl, Mansion2TrainerHeaders
- ld de, Unknown_52047 ; $6047
+ ld de, Mansion2ScriptPointers
ld a, [W_MANSION2CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_MANSION2CURSCRIPT], a
ret
-Mansion2Script_Unknown51fee: ; 51fee (14:5fee)
+Mansion2Script_51fee: ; 51fee (14:5fee)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
@@ -82261,13 +85697,27 @@ Func_5202f: ; 5202f (14:602f)
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
-INCBIN "baserom.gbc",$52037,$52047 - $52037
+Func_52037: ; 52037 (14:6037)
+ ld a, [$c109]
+ cp $4
+ ret nz
+ xor a
+ ld [H_CURRENTPRESSEDBUTTONS], a
+ ld a, $5
+ ld [H_SPRITEHEIGHT], a
+ jp DisplayTextID
-Unknown_52047: ; 52047 (14:6047)
-INCBIN "baserom.gbc",$52047,$5204d - $52047
+Mansion2ScriptPointers: ; 52047 (14:6047)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Mansion2Texts: ; 5204d (14:604d)
- dw Mansion2Text1, Predef5CText, Mansion2Text3, Mansion2Text4, Mansion2Text5
+Mansion2TextPointers: ; 5204d (14:604d)
+ dw Mansion2Text1
+ dw Predef5CText
+ dw Mansion2Text3
+ dw Mansion2Text4
+ dw Mansion2Text5
Mansion2TrainerHeaders: ; 52057 (14:6057)
Mansion2TrainerHeader0: ; 52057 (14:6057)
@@ -82279,7 +85729,7 @@ Mansion2TrainerHeader0: ; 52057 (14:6057)
dw Mansion2EndBattleText1 ; 0x6073 TextEndBattle
dw Mansion2EndBattleText1 ; 0x6073 TextEndBattle
-db $ff
+ db $ff
Mansion2Text1: ; 52064 (14:6064)
db $08 ; asm
@@ -82377,22 +85827,22 @@ Mansion2Blocks: ; 52110 (14:6110)
Mansion3_h: ; 0x521e2 to 0x521ee (12 bytes) (id=215)
db $16 ; tileset
db MANSION_3_HEIGHT, MANSION_3_WIDTH ; dimensions (y, x)
- dw Mansion3Blocks, Mansion3Texts, Mansion3Script ; blocks, texts, scripts
+ dw Mansion3Blocks, Mansion3TextPointers, Mansion3Script ; blocks, texts, scripts
db $00 ; connections
dw Mansion3Object ; objects
Mansion3Script: ; 521ee (14:61ee)
- call Unnamed_52204
+ call Mansion3Script_52204
call EnableAutoTextBoxDrawing
ld hl, Mansion3TrainerHeader0
- ld de, Unknown_52235 ; $6235
+ ld de, Mansion3ScriptPointers
ld a, [W_MANSION3CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_MANSION3CURSCRIPT], a
ret
-Unnamed_52204: ; 52204 (14:6204)
+Mansion3Script_52204: ; 52204 (14:6204)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
@@ -82416,9 +85866,13 @@ Unnamed_52204: ; 52204 (14:6204)
call Func_5202f
ret
-Unknown_52235: ; 52235 (14:6235)
-INCBIN "baserom.gbc",$52235,$5223b - $52235
- ld hl, Unknown_52254 ; $6254
+Mansion3ScriptPointers: ; 52235 (14:6235)
+ dw Mansion3Script0
+ dw Func_324c
+ dw EndTrainerBattle
+
+Mansion3Script0: ; 5223b (14:623b)
+ ld hl, CoordsData_52254
call Func_5225b
ld a, [$d71e]
and a
@@ -82431,8 +85885,11 @@ INCBIN "baserom.gbc",$52235,$5223b - $52235
ld [$d71d], a
ret
-Unknown_52254: ; 52254 (14:6254)
-INCBIN "baserom.gbc",$52254,$5225b - $52254
+CoordsData_52254: ; 52254 (14:6254)
+ db $0E,$10
+ db $0E,$11
+ db $0E,$13
+ db $FF
Func_5225b: ; 5225b (14:625b)
xor a
@@ -82442,7 +85899,7 @@ Func_5225b: ; 5225b (14:625b)
ret nz
call ArePlayerCoordsInArray
ret nc
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld [$d71e], a
ld hl, $d72d
set 4, [hl]
@@ -82458,8 +85915,13 @@ Func_5225b: ; 5225b (14:625b)
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
jp DisplayTextID
-Mansion3Texts: ; 5228a (14:628a)
- dw Mansion3Text1, Mansion3Text2, Predef5CText, Predef5CText, Mansion3Text5, Mansion3Text6
+Mansion3TextPointers: ; 5228a (14:628a)
+ dw Mansion3Text1
+ dw Mansion3Text2
+ dw Predef5CText
+ dw Predef5CText
+ dw Mansion3Text5
+ dw Mansion3Text6
Mansion3TrainerHeaders: ; 52296 (14:6296)
Mansion3TrainerHeader0: ; 52296 (14:6296)
@@ -82480,7 +85942,7 @@ Mansion3TrainerHeader2: ; 522a2 (14:62a2)
dw Mansion3EndBattleText2 ; 0x62d7 TextEndBattle
dw Mansion3EndBattleText2 ; 0x62d7 TextEndBattle
-db $ff
+ db $ff
Mansion3Text1: ; 522af (14:62af)
db $08 ; asm
@@ -82550,22 +86012,22 @@ Mansion3Blocks: ; 52326 (14:6326)
Mansion4_h: ; 0x523ad to 0x523b9 (12 bytes) (id=216)
db $16 ; tileset
db MANSION_4_HEIGHT, MANSION_4_WIDTH ; dimensions (y, x)
- dw Mansion4Blocks, Mansion4Texts, Mansion4Script ; blocks, texts, scripts
+ dw Mansion4Blocks, Mansion4TextPointers, Mansion4Script ; blocks, texts, scripts
db $00 ; connections
dw Mansion4Object ; objects
Mansion4Script: ; 523b9 (14:63b9)
- call Unknown_523cf
+ call Mansion4Script_523cf
call EnableAutoTextBoxDrawing
ld hl, Mansion4TrainerHeader0
- ld de, Unknown_52430 ; $6430
+ ld de, Mansion4ScriptPointers
ld a, [W_MANSION4CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_MANSION4CURSCRIPT], a
ret
-Unknown_523cf: ; 523cf (14:63cf)
+Mansion4Script_523cf: ; 523cf (14:63cf)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
@@ -82609,11 +86071,21 @@ Unknown_523cf: ; 523cf (14:63cf)
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
jp DisplayTextID
-Unknown_52430: ; 52430 (14:6430)
-INCBIN "baserom.gbc",$52430,$52436 - $52430
+Mansion4ScriptPointers: ; 52430 (14:6430)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Mansion4Texts: ; 52436 (14:6436)
-INCBIN "baserom.gbc",$52436,$52448 - $52436
+Mansion4TextPointers: ; 52436 (14:6436)
+ dw Mansion4Text1
+ dw Mansion4Text2
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw Mansion4Text7
+ dw Predef5CText
+ dw Mansion3Text6
Mansion4TrainerHeaders: ; 52448 (14:6448)
Mansion4TrainerHeader0: ; 52448 (14:6448)
@@ -82634,7 +86106,7 @@ Mansion4TrainerHeader2: ; 52454 (14:6454)
dw Mansion4EndBattleText2 ; 0x6489 TextEndBattle
dw Mansion4EndBattleText2 ; 0x6489 TextEndBattle
-db $ff
+ db $ff
Mansion4Text1: ; 52461 (14:6461)
db $08 ; asm
@@ -82711,11 +86183,11 @@ Func_525af: ; 525af (14:65af)
ld [hli], a
ld [hli], a
ld [hl], a
- ld [W_LISTSCROLLOFFSET], a ; $cc36
+ ld [wListScrollOffset], a ; $cc36
ld [$d05e], a
ld [W_PLAYERMONID], a
ld [W_PLAYERMONSALIVEFLAGS], a
- ld [W_PLAYERMONNUMBER], a ; $cc2f
+ ld [wPlayerMonNumber], a ; $cc2f
ld [$d078], a
ld [$d35d], a
ld hl, $cf1d
@@ -82802,8 +86274,8 @@ Func_52613: ; 52613 (14:6613)
jp Bankswitch ; indirect jump to Func_3dc51 (3dc51 (f:5c51))
Func_52673: ; 52673 (14:6673)
- ld hl, Unknown_526e3 ; $66e3
- ld a, [W_CURMAP] ; $d35e
+ ld hl, SilphCoMapList
+ ld a, [W_CURMAP]
ld b, a
.asm_5267a
ld a, [hli]
@@ -82819,8 +86291,8 @@ Func_52673: ; 52673 (14:6673)
cp $24
jr z, .asm_5269c
ld b, a
- ld a, [W_CURMAP] ; $d35e
- cp $eb
+ ld a, [W_CURMAP]
+ cp SILPH_CO_11F
ret nz
ld a, b
cp $5e
@@ -82844,7 +86316,7 @@ Func_52673: ; 52673 (14:6673)
ld c, a
ld [$d740], a
ld a, [W_CURMAP] ; $d35e
- cp $eb
+ cp SILPH_CO_11F
jr nz, .asm_526c8
ld a, $3
jr .asm_526ca
@@ -82853,7 +86325,7 @@ Func_52673: ; 52673 (14:6673)
.asm_526ca
ld [$d09f], a
ld a, $17
- call Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
+ call Predef ; indirect jump to Func_ee9e
ld hl, $d126
set 5, [hl]
ld a, $ad
@@ -82863,8 +86335,22 @@ Func_52673: ; 52673 (14:6673)
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
jp Func_3ef5
-Unknown_526e3: ; 526e3 (14:66e3)
-INCBIN "baserom.gbc",$526e3,$526f3 - $526e3
+SilphCoMapList: ; 526e3 (14:66e3)
+ db SILPH_CO_2F
+ db SILPH_CO_3F
+ db SILPH_CO_4F
+ db SILPH_CO_5F
+ db SILPH_CO_6F
+ db SILPH_CO_7F
+ db SILPH_CO_8F
+ db SILPH_CO_9F
+ db SILPH_CO_10F
+ db SILPH_CO_11F
+ db $FF
+
+UnnamedText_526ee: ; 526ee (14:66ee)
+ TX_FAR _UnnamedText_526ee
+ db $0b
UnnamedText_526f3: ; 526f3 (14:66f3)
TX_FAR _UnnamedText_526f3
@@ -83143,7 +86629,7 @@ PrintPrizePrice: ; 5287a (14:687a)
call PlaceString
FuncCoord 13,1
ld hl,Coord
- ld de,W_PLAYERCOINS1
+ ld de,wPlayerCoins
ld c,%10000010
call PrintBCDNumber
ret
@@ -83223,7 +86709,7 @@ HandlePrizeChoice: ; 528c6 (14:68c6)
.SubtractCoins ; 14:692C
call LoadCoinsToSubtract
ld hl,$FFA1
- ld de,W_PLAYERCOINS2
+ ld de,wPlayerCoins + 1
ld c,$02 ; how many bytes
ld a,$0C
call Predef ; subtract coins (BCD daa operations)
@@ -83301,13 +86787,55 @@ IF _BLUE
db PORYGON,18
ENDC
-INCBIN "baserom.gbc",$52996,$529e9 - $52996
+Func_52996: ; 52996 (14:6996)
+ call EnableAutoTextBoxDrawing
+ ld a, $1
+ ld [$cc3c], a
+ ld a, [wTrainerSpriteOffset]
+ jp Func_3ef5
+
+UnnamedText_529a4: ; 529a4 (14:69a4)
+ TX_FAR UnnamedText_88bfd
+ db $0d
+ db "@"
+
+UnnamedText_529aa: ; 529aa (14:69aa)
+ db $08 ; asm
+ ld hl, UnnamedText_529f4
+ call PrintText
+ call Func_529db
+ jr nz, .asm_529d8
+ ld hl, UnnamedText_529f9
+ call PrintText
+ call Func_529db
+ jr nz, .asm_529d8
+ ld hl, UnnamedText_529fe
+ call PrintText
+ call Func_529db
+ jr nz, .asm_529d8
+ ld hl, UnnamedText_52a03
+ call PrintText
+ ld hl, UnnamedText_529ee
+ call PrintText
+.asm_529d8
+ jp TextScriptEnd
+
+Func_529db: ; 529db (14:69db)
+ ld hl, UnnamedText_529e9
+ call PrintText
+ call YesNoChoice
+ ld a, [wCurrentMenuItem]
+ and a
+ ret
UnnamedText_529e9: ; 529e9 (14:69e9)
TX_FAR _UnnamedText_529e9
db "@"
-INCBIN "baserom.gbc",$529ee,$529f4 - $529ee
+UnnamedText_529ee: ; 529ee (14:69ee)
+ TX_FAR _UnnamedText_529ee
+ db $0d
+ db "@"
UnnamedText_529f4: ; 529f4 (14:69f4)
TX_FAR _UnnamedText_529f4
@@ -83325,25 +86853,40 @@ UnnamedText_52a03: ; 52a03 (14:6a03)
TX_FAR _UnnamedText_52a03
db "@"
-INCBIN "baserom.gbc",$52a08,$52a10 - $52a08
+Func_52a08: ; 52a08 (14:6a08)
+ call EnableAutoTextBoxDrawing
+ ld a, $37
+ jp Func_3ef5
UnnamedText_52a10: ; 52a10 (14:6a10)
TX_FAR _UnnamedText_52a10
db "@"
-INCBIN "baserom.gbc",$52a15,$52a1d - $52a15
+Func_52a15: ; 52a15 (14:6a15)
+ call EnableAutoTextBoxDrawing
+ ld a, $38
+ jp Func_3ef5
UnnamedText_52a1d: ; 52a1d (14:6a1d)
TX_FAR _UnnamedText_52a1d
db "@"
-INCBIN "baserom.gbc",$52a22,$52a2a - $52a22
+Func_52a22: ; 52a22 (14:6a22)
+ call EnableAutoTextBoxDrawing
+ ld a, $36
+ jp Func_3ef5
UnnamedText_52a2a: ; 52a2a (14:6a2a)
TX_FAR _UnnamedText_52a2a
db "@"
-INCBIN "baserom.gbc",$52a2f,$52a3d - $52a2f
+Func_52a2f: ; 52a2f (14:6a2f)
+ ld a, [$c109]
+ cp $4
+ ret nz
+ call EnableAutoTextBoxDrawing
+ ld a, $27
+ jp Func_3ef5
UnnamedText_52a3d: ; 52a3d (14:6a3d)
TX_FAR _UnnamedText_52a3d
@@ -83355,7 +86898,7 @@ Route2_h: ; 54000 (15:4000)
db 00 ; Tileset
db ROUTE_2_HEIGHT,ROUTE_2_WIDTH ;Height,Width blocks (1 block = 4x4 tiles)
dw Route2Blocks ;Map-Pointer
- dw Route2Texts ;Maps text pointer
+ dw Route2TextPointers ;Maps text pointer
dw Route2Script ;Maps script pointer
db NORTH | SOUTH ;Connection Byte
@@ -83407,7 +86950,12 @@ Route2Object: ; 0x54022 (size=72)
EVENT_DISP $a, $27, $f ; ROUTE_2_GATE
EVENT_DISP $a, $2b, $3 ; VIRIDIAN_FOREST_ENTRANCE
-INCBIN "baserom.gbc",$5406a,$5407e - $5406a
+ ; unused
+ EVENT_DISP $4, $7, $2
+ db $12, $c7, $9, $7
+ EVENT_DISP $4, $7, $2
+ EVENT_DISP $4, $7, $2
+ EVENT_DISP $4, $7, $2
Route2Blocks: ; 5407e (15:407e)
INCBIN "maps/route2.blk"
@@ -83415,7 +86963,7 @@ Route2Blocks: ; 5407e (15:407e)
Route3_h: ; 0x541e6 to 0x54208 (34 bytes) (id=14)
db $00 ; tileset
db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; dimensions (y, x)
- dw Route3Blocks, Route3Texts, Route3Script ; blocks, texts, scripts
+ dw Route3Blocks, Route3TextPointers, Route3Script ; blocks, texts, scripts
db NORTH | WEST ; connections
; connections data
@@ -83463,7 +87011,7 @@ Route3Blocks: ; 54255 (15:4255)
Route4_h: ; 0x54390 to 0x543b2 (34 bytes) (id=15)
db $00 ; tileset
db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; dimensions (y, x)
- dw Route4Blocks, Route4Texts, Route4Script; blocks, texts, scripts
+ dw Route4Blocks, Route4TextPointers, Route4Script; blocks, texts, scripts
db SOUTH | EAST ; connections
; connections data
@@ -83515,7 +87063,7 @@ Route4Blocks: ; 543ec (15:43ec)
Route5_h: ; 0x54581 to 0x545a3 (34 bytes) (id=16)
db $00 ; tileset
db ROUTE_5_HEIGHT, ROUTE_5_WIDTH ; dimensions (y, x)
- dw Route5Blocks, Route5Texts, Route5Script ; blocks, texts, scripts
+ dw Route5Blocks, Route5TextPointers, Route5Script ; blocks, texts, scripts
db NORTH | SOUTH ; connections
; connections data
@@ -83566,7 +87114,7 @@ Route5Blocks: ; 545d2 (15:45d2)
Route9_h: ; 0x54686 to 0x546a8 (34 bytes) (id=20)
db $00 ; tileset
db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; dimensions (y, x)
- dw Route9Blocks, Route9Texts, Route9Script ; blocks, texts, scripts
+ dw Route9Blocks, Route9TextPointers, Route9Script ; blocks, texts, scripts
db WEST | EAST ; connections
; connections data
@@ -83615,7 +87163,7 @@ Route9Blocks: ; 546fe (15:46fe)
Route13_h: ; 0x5480c to 0x5482e (34 bytes) (id=24)
db $00 ; tileset
db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; dimensions (y, x)
- dw Route13Blocks, Route13Texts, Route13Script ; blocks, texts, scripts
+ dw Route13Blocks, Route13TextPointers, Route13Script ; blocks, texts, scripts
db NORTH | WEST ; connections
; connections data
@@ -83666,7 +87214,7 @@ Route13Blocks: ; 5488b (15:488b)
Route14_h: ; 0x54999 to 0x549bb (34 bytes) (id=25)
db $00 ; tileset
db ROUTE_14_HEIGHT, ROUTE_14_WIDTH ; dimensions (y, x)
- dw Route14Blocks, Route14Texts, Route14Script ; blocks, texts, scripts
+ dw Route14Blocks, Route14TextPointers, Route14Script ; blocks, texts, scripts
db WEST | EAST ; connections
; connections data
@@ -83715,7 +87263,7 @@ Route14Blocks: ; 54a12 (15:4a12)
Route17_h: ; 0x54b20 to 0x54b42 (34 bytes) (id=28)
db $00 ; tileset
db ROUTE_17_HEIGHT, ROUTE_17_WIDTH ; dimensions (y, x)
- dw Route17Blocks, Route17Texts, Route17Script ; blocks, texts, scripts
+ dw Route17Blocks, Route17TextPointers, Route17Script ; blocks, texts, scripts
db NORTH | SOUTH ; connections
; connections data
@@ -83769,7 +87317,7 @@ Route17Blocks: ; 54ba8 (15:4ba8)
Route19_h: ; 0x54e78 to 0x54e9a (34 bytes) (id=30)
db $00 ; tileset
db ROUTE_19_HEIGHT, ROUTE_19_WIDTH ; dimensions (y, x)
- dw Route19Blocks, Route19Texts, Route19Script ; blocks, texts, scripts
+ dw Route19Blocks, Route19TextPointers, Route19Script ; blocks, texts, scripts
db NORTH | WEST ; connections
; connections data
@@ -83818,7 +87366,7 @@ Route19Blocks: ; 54ef1 (15:4ef1)
Route21_h: ; 0x54fff to 0x55021 (34 bytes) (id=32)
db $00 ; tileset
db ROUTE_21_HEIGHT, ROUTE_21_WIDTH ; dimensions (y, x)
- dw Route21Blocks, Route21Texts, Route21Script ; blocks, texts, scripts
+ dw Route21Blocks, Route21TextPointers, Route21Script ; blocks, texts, scripts
db NORTH | SOUTH ; connections
; connections data
@@ -83877,7 +87425,7 @@ Func_5524f: ; 5524f (15:524f)
call Func_5546c
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
xor a
- ld [W_WHICHPOKEMON], a ; $cf92
+ ld [wWhichPokemon], a ; $cf92
Func_5525f: ; 5525f (15:525f)
inc hl
@@ -83886,7 +87434,7 @@ Func_5525f: ; 5525f (15:525f)
jp z, Func_55436
push hl
ld hl, W_PLAYERMONSALIVEFLAGS
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld c, a
ld b, $2
ld a, $10
@@ -83943,11 +87491,11 @@ Func_5525f: ; 5525f (15:525f)
add hl, de
ld b, [hl]
inc hl
- ld a, [W_PLAYERIDHI] ; $d359
+ ld a, [wPlayerID] ; $d359
cp b
jr nz, .asm_552d1
ld b, [hl]
- ld a, [W_PLAYERIDLO] ; $d35a
+ ld a, [wPlayerID + 1] ; $d35a
cp b
ld a, $0
jr z, .asm_552d6
@@ -83979,7 +87527,7 @@ Func_5525f: ; 5525f (15:525f)
.asm_552f8
inc hl
push hl
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld c, a
ld b, $0
ld hl, W_PARTYMON1 ; $d164
@@ -84014,10 +87562,10 @@ Func_5525f: ; 5525f (15:525f)
dec hl
.asm_5532e
push hl
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld hl, W_PARTYMON1NAME ; $d2b5
call GetPartyMonName
- ld hl, Unknown_554b2 ; $54b2
+ ld hl, UnnamedText_554b2 ; $54b2
call PrintText
xor a
ld [$cc49], a
@@ -84074,9 +87622,9 @@ Func_5525f: ; 5525f (15:525f)
ld a, [hl]
adc b
ld [hl], a
- ld a, [W_PLAYERMONNUMBER] ; $cc2f
+ ld a, [wPlayerMonNumber] ; $cc2f
ld b, a
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
cp b
jr nz, .asm_553f7
ld de, W_PLAYERMONCURHP ; $d015
@@ -84118,7 +87666,7 @@ Func_5525f: ; 5525f (15:525f)
call Bankswitch ; indirect jump to Func_3ee94 (3ee94 (f:6e94))
call SaveScreenTilesToBuffer1
.asm_553f7
- ld hl, Unknown_554dd ; $54dd
+ ld hl, UnnamedText_554dd ; $54dd
call PrintText
xor a
ld [$cc49], a
@@ -84136,7 +87684,7 @@ Func_5525f: ; 5525f (15:525f)
ld a, $1a
call Predef ; indirect jump to Func_3af5b (3af5b (e:6f5b))
ld hl, $ccd3
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
ld c, a
ld b, $1
ld a, $10
@@ -84148,11 +87696,11 @@ Func_5525f: ; 5525f (15:525f)
Func_55436: ; 55436 (15:5436)
ld a, [W_NUMINPARTY] ; $d163
ld b, a
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
inc a
cp b
jr z, .asm_55450
- ld [W_WHICHPOKEMON], a ; $cf92
+ ld [wWhichPokemon], a ; $cf92
ld bc, $2c
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
call AddNTimes
@@ -84161,7 +87709,7 @@ Func_55436: ; 55436 (15:5436)
ld hl, W_PLAYERMONSALIVEFLAGS
xor a
ld [hl], a
- ld a, [W_PLAYERMONNUMBER] ; $cc2f
+ ld a, [wPlayerMonNumber] ; $cc2f
ld c, a
ld b, $1
push bc
@@ -84221,37 +87769,46 @@ Func_5549f: ; 5549f (15:549f)
ld [$FF00+$97], a
ret
-Unknown_554b2: ; 554b2 (15:54b2)
-INCBIN "baserom.gbc",$554b2,$554b7 - $554b2
+UnnamedText_554b2: ; 554b2 (15:54b2)
+ TX_FAR _UnnamedText_554b2
+ db $08 ; asm
ld a, [$cc5b]
- ld hl, Unknown_554cb ; $54cb
+ ld hl, UnnamedText_554cb
and a
ret nz
- ld hl, UnnamedText_554d8 ; $54d8
+ ld hl, UnnamedText_554d8
ld a, [$cf4d]
and a
ret z
- ld hl, Unknown_554d4 ; $54d4
+ ld hl, UnnamedText_554d4
ret
-Unknown_554cb: ; 554cb (15:54cb)
-INCBIN "baserom.gbc",$554cb,$554d4 - $554cb
+UnnamedText_554cb: ; 554cb (15:54cb)
+ TX_FAR _UnnamedText_554cb
+ db $08 ; asm
+ ld hl, UnnamedText_554d8
+ ret
-Unknown_554d4: ; 554d4 (15:54d4)
-INCBIN "baserom.gbc",$554d4,$554d8 - $554d4
+UnnamedText_554d4: ; 554d4 (15:54d4)
+ TX_FAR _UnnamedText_554d4
UnnamedText_554d8: ; 554d8 (15:54d8)
- TX_FAR _UnnamedText_554d8 ; 0x89bee
+ TX_FAR _UnnamedText_554d8
db "@"
-Unknown_554dd: ; 554dd (15:54dd)
-INCBIN "baserom.gbc",$554dd,$554e3 - $554dd
+UnnamedText_554dd: ; 554dd (15:54dd)
+ TX_FAR UnnamedText_89c01
+ db $0b
+ db "@"
Route2Script: ; 554e3 (15:54e3)
jp EnableAutoTextBoxDrawing
-Route2Texts: ; 554e6 (15:54e6)
- dw Predef5CText, Predef5CText, Route2Text3, Route2Text4
+Route2TextPointers: ; 554e6 (15:54e6)
+ dw Predef5CText
+ dw Predef5CText
+ dw Route2Text3
+ dw Route2Text4
Route2Text3: ; 554ee (15:54ee)
TX_FAR _Route2Text3
@@ -84264,17 +87821,28 @@ Route2Text4: ; 554f3 (15:54f3)
Route3Script: ; 554f8 (15:54f8)
call EnableAutoTextBoxDrawing
ld hl, Route3TrainerHeader0
- ld de, Unknown_5550b
+ ld de, Route3ScriptPointers
ld a, [W_ROUTE3CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE3CURSCRIPT], a
ret
-Unknown_5550b: ; 5550b (15:550b)
-INCBIN "baserom.gbc",$5550b,$55511 - $5550b
+Route3ScriptPointers: ; 5550b (15:550b)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route3Texts: ; 55511 (15:5511)
- dw Route3Text1, Route3Text2, Route3Text3, Route3Text4, Route3Text5, Route3Text6, Route3Text7, Route3Text8, Route3Text9, Route3Text10
+Route3TextPointers: ; 55511 (15:5511)
+ dw Route3Text1
+ dw Route3Text2
+ dw Route3Text3
+ dw Route3Text4
+ dw Route3Text5
+ dw Route3Text6
+ dw Route3Text7
+ dw Route3Text8
+ dw Route3Text9
+ dw Route3Text10
Route3TrainerHeaders: ; 55525 (15:5525)
Route3TrainerHeader0: ; 55525 (15:5525)
@@ -84349,7 +87917,7 @@ Route3TrainerHeader8: ; 55579 (15:5579)
dw Route3EndBattleText8 ; 0x5649 TextEndBattle
dw Route3EndBattleText8 ; 0x5649 TextEndBattle
-db $ff
+ db $ff
Route3Text1: ; 55586 (15:5586)
TX_FAR _Route3Text1
@@ -84506,17 +88074,24 @@ Route3Text10: ; 55653 (15:5653)
Route4Script: ; 55658 (15:5658)
call EnableAutoTextBoxDrawing
ld hl, Route4TrainerHeaders
- ld de, Unknown_5566b
+ ld de, Route4ScriptPointers
ld a, [W_ROUTE4CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE4CURSCRIPT], a
ret
-Unknown_5566b: ; 5566b (15:566b)
-INCBIN "baserom.gbc",$5566b,$55671 - $5566b
+Route4ScriptPointers: ; 5566b (15:566b)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route4Texts: ; 55671 (15:5671)
- dw Route4Text1, Route4Text2, Predef5CText, PokeCenterSignText, Route4Text5, Route4Text6
+Route4TextPointers: ; 55671 (15:5671)
+ dw Route4Text1
+ dw Route4Text2
+ dw Predef5CText
+ dw PokeCenterSignText
+ dw Route4Text5
+ dw Route4Text6
Route4TrainerHeaders: ; 5567d (15:567d)
Route4TrainerHeader0: ; 5567d (15:567d)
@@ -84528,7 +88103,7 @@ Route4TrainerHeader0: ; 5567d (15:567d)
dw Route4EndBattleText1 ; 0x569e TextEndBattle
dw Route4EndBattleText1 ; 0x569e TextEndBattle
-db $ff
+ db $ff
Route4Text1: ; 5568a (15:568a)
TX_FAR _Route4Text1
@@ -84563,7 +88138,7 @@ Route4Text6: ; 556ad (15:56ad)
Route5Script: ; 556b2 (15:56b2)
jp EnableAutoTextBoxDrawing
-Route5Texts: ; 556b5 (15:56b5)
+Route5TextPointers: ; 556b5 (15:56b5)
dw Route5Text1
Route5Text1: ; 556b7 (15:56b7)
@@ -84573,17 +88148,29 @@ Route5Text1: ; 556b7 (15:56b7)
Route9Script: ; 556bc (15:56bc)
call EnableAutoTextBoxDrawing
ld hl, Route9TrainerHeaders
- ld de, Unknown_556cf
+ ld de, Route9ScriptPointers
ld a, [W_ROUTE9CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE9CURSCRIPT], a
ret
-Unknown_556cf: ; 556cf (15:56cf)
-INCBIN "baserom.gbc",$556cf,$556d5 - $556cf
+Route9ScriptPointers: ; 556cf (15:56cf)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route9Texts: ; 556d5 (15:56d5)
- dw Route9Text1, Route9Text2, Route9Text3, Route9Text4, Route9Text5, Route9Text6, Route9Text7, Route9Text8, Route9Text9, Predef5CText, Route9Text11
+Route9TextPointers: ; 556d5 (15:56d5)
+ dw Route9Text1
+ dw Route9Text2
+ dw Route9Text3
+ dw Route9Text4
+ dw Route9Text5
+ dw Route9Text6
+ dw Route9Text7
+ dw Route9Text8
+ dw Route9Text9
+ dw Predef5CText
+ dw Route9Text11
Route9TrainerHeaders: ; 556eb (15:56eb)
Route9TrainerHeader0: ; 556eb (15:56eb)
@@ -84667,7 +88254,7 @@ Route9TrainerHeader9: ; 5574b (15:574b)
dw Route9EndBattleText9 ; 0x580f TextEndBattle
dw Route9EndBattleText9 ; 0x580f TextEndBattle
-db $ff
+ db $ff
Route9Text1: ; 55758 (15:5758)
db $8 ; asm
@@ -84831,17 +88418,31 @@ Route9Text11: ; 55819 (15:5819)
Route13Script: ; 5581e (15:581e)
call EnableAutoTextBoxDrawing
ld hl, Route13TrainerHeaders
- ld de, Route13Script_Unknown55831
+ ld de, Route13ScriptPointers
ld a, [W_ROUTE13CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE13CURSCRIPT], a
ret
-Route13Script_Unknown55831: ; 55831 (15:5831)
-INCBIN "baserom.gbc",$55831,$55837 - $55831
+Route13ScriptPointers: ; 55831 (15:5831)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route13Texts: ; 55837 (15:5837)
- dw Route13Text1, Route13Text2, Route13Text3, Route13Text4, Route13Text5, Route13Text6, Route13Text7, Route13Text8, Route13Text9, Route13Text10, Route13Text11, Route13Text12, Route13Text13
+Route13TextPointers: ; 55837 (15:5837)
+ dw Route13Text1
+ dw Route13Text2
+ dw Route13Text3
+ dw Route13Text4
+ dw Route13Text5
+ dw Route13Text6
+ dw Route13Text7
+ dw Route13Text8
+ dw Route13Text9
+ dw Route13Text10
+ dw Route13Text11
+ dw Route13Text12
+ dw Route13Text13
Route13TrainerHeaders: ; 55851 (15:5851)
Route13TrainerHeader0: ; 55851 (15:5851)
@@ -84934,7 +88535,7 @@ Route13TrainerHeader10: ; 558bd (15:58bd)
dw Route13EndBattleText11 ; 0x59ba TextEndBattle
dw Route13EndBattleText11 ; 0x59ba TextEndBattle
-db $ff
+ db $ff
Route13Text1: ; 558ca (15:58ca)
db $08 ; asm
@@ -85131,17 +88732,29 @@ Route13Text13: ; 559ce (15:59ce)
Route14Script: ; 559d3 (15:59d3)
call EnableAutoTextBoxDrawing
ld hl, Route14TrainerHeaders
- ld de, Unknown_559e6
+ ld de, Route14ScriptPointers
ld a, [W_ROUTE14CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE14CURSCRIPT], a
ret
-Unknown_559e6: ; 559e6 (15:59e6)
-INCBIN "baserom.gbc",$559e6,$559ec - $559e6
+Route14ScriptPointers: ; 559e6 (15:59e6)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route14Texts: ; 559ec (15:59ec)
- dw Route14Text1, Route14Text2, Route14Text3, Route14Text4, Route14Text5, Route14Text6, Route14Text7, Route14Text8, Route14Text9, Route14Text10, Route14Text11
+Route14TextPointers: ; 559ec (15:59ec)
+ dw Route14Text1
+ dw Route14Text2
+ dw Route14Text3
+ dw Route14Text4
+ dw Route14Text5
+ dw Route14Text6
+ dw Route14Text7
+ dw Route14Text8
+ dw Route14Text9
+ dw Route14Text10
+ dw Route14Text11
Route14TrainerHeaders: ; 55a02 (15:5a02)
Route14TrainerHeader0: ; 55a02 (15:5a02)
@@ -85234,7 +88847,7 @@ Route14TrainerHeader9: ; 55a6e (15:5a6e)
dw Route14EndBattleText10 ; 0x5b6b TextEndBattle
dw Route14EndBattleText10 ; 0x5b6b TextEndBattle
-db $ff
+ db $ff
Route14Text1: ; 55a7b (15:5a7b)
db $08 ; asm
@@ -85423,17 +89036,34 @@ Route14Text11: ; 55b75 (15:5b75)
Route17Script: ; 55b7a (15:5b7a)
call EnableAutoTextBoxDrawing
ld hl, Route17TrainerHeaders
- ld de, Route17_Unknown55b8d
+ ld de, Route17ScriptPointers
ld a, [W_ROUTE17CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE17CURSCRIPT], a
ret
-Route17_Unknown55b8d: ; 55b8d (15:5b8d)
-INCBIN "baserom.gbc",$55b8d,$55b93 - $55b8d
+Route17ScriptPointers: ; 55b8d (15:5b8d)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route17Texts: ; 55b93 (15:5b93)
- dw Route17Text1, Route17Text2, Route17Text3, Route17Text4, Route17Text5, Route17Text6, Route17Text7, Route17Text8, Route17Text9, Route17Text10, Route17Text11, Route17Text12, Route17Text13, Route17Text14, Route17Text15, Route17Text16
+Route17TextPointers: ; 55b93 (15:5b93)
+ dw Route17Text1
+ dw Route17Text2
+ dw Route17Text3
+ dw Route17Text4
+ dw Route17Text5
+ dw Route17Text6
+ dw Route17Text7
+ dw Route17Text8
+ dw Route17Text9
+ dw Route17Text10
+ dw Route17Text11
+ dw Route17Text12
+ dw Route17Text13
+ dw Route17Text14
+ dw Route17Text15
+ dw Route17Text16
Route17TrainerHeaders: ; 55bb3 (15:5bb3)
Route17TrainerHeader0: ; 55bb3 (15:5bb3)
@@ -85526,7 +89156,7 @@ Route17TrainerHeader9: ; 55c1f (15:5c1f)
dw Route17EndBattleText10 ; 0x5d1c TextEndBattle
dw Route17EndBattleText10 ; 0x5d1c TextEndBattle
-db $ff
+ db $ff
Route17Text1: ; 55c2c (15:5c2c)
db $08 ; asm
@@ -85735,17 +89365,29 @@ Route17Text16: ; 55d3f (15:5d3f)
Route19Script: ; 55d44 (15:5d44)
call EnableAutoTextBoxDrawing
ld hl, Route19TrainerHeaders
- ld de, Route19_Unknown55d57
+ ld de, Route19ScriptPointers
ld a, [W_ROUTE19CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE19CURSCRIPT], a
ret
-Route19_Unknown55d57: ; 55d57 (15:5d57)
-INCBIN "baserom.gbc",$55d57,$55d5d - $55d57
+Route19ScriptPointers: ; 55d57 (15:5d57)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route19Texts: ; 55d5d (15:5d5d)
- dw Route19Text1, Route19Text2, Route19Text3, Route19Text4, Route19Text5, Route19Text6, Route19Text7, Route19Text8, Route19Text9, Route19Text10, Route19Text11
+Route19TextPointers: ; 55d5d (15:5d5d)
+ dw Route19Text1
+ dw Route19Text2
+ dw Route19Text3
+ dw Route19Text4
+ dw Route19Text5
+ dw Route19Text6
+ dw Route19Text7
+ dw Route19Text8
+ dw Route19Text9
+ dw Route19Text10
+ dw Route19Text11
Route19TrainerHeaders: ; 55d73 (15:5d73)
Route19TrainerHeader0: ; 55d73 (15:5d73)
@@ -85838,7 +89480,7 @@ Route19TrainerHeader9: ; 55ddf (15:5ddf)
dw Route19EndBattleText10 ; 0x5edc TextEndBattle
dw Route19EndBattleText10 ; 0x5edc TextEndBattle
-db $ff
+ db $ff
Route19Text1: ; 55dec (15:5dec)
db $08 ; asm
@@ -86027,17 +89669,27 @@ Route19Text11: ; 55ee6 (15:5ee6)
Route21Script: ; 55eeb (15:5eeb)
call EnableAutoTextBoxDrawing
ld hl, Route21TrainerHeaders
- ld de, Route21_Unknown55efe
+ ld de, Route21ScriptPointers
ld a, [W_ROUTE21CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE21CURSCRIPT], a
ret
-Route21_Unknown55efe: ; 55efe (15:5efe)
-INCBIN "baserom.gbc",$55efe,$55f04 - $55efe
+Route21ScriptPointers: ; 55efe (15:5efe)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route21Texts: ; 55f04 (15:5f04)
- dw Route21Text1, Route21Text2, Route21Text3, Route21Text4, Route21Text5, Route21Text6, Route21Text7, Route21Text8, Route21Text9
+Route21TextPointers: ; 55f04 (15:5f04)
+ dw Route21Text1
+ dw Route21Text2
+ dw Route21Text3
+ dw Route21Text4
+ dw Route21Text5
+ dw Route21Text6
+ dw Route21Text7
+ dw Route21Text8
+ dw Route21Text9
Route21TrainerHeaders: ; 55f16 (15:5f16)
Route21TrainerHeader0: ; 55f16 (15:5f16)
@@ -86121,7 +89773,7 @@ Route21TrainerHeader8: ; 55f76 (15:5f76)
dw Route21EndBattleText9 ; 0x605a TextEndBattle
dw Route21EndBattleText9 ; 0x605a TextEndBattle
-db $ff
+ db $ff
Route21Text1: ; 55f83 (15:5f83)
db $08 ; asm
@@ -86288,7 +89940,7 @@ Route21AfterBattleText9: ; 5605f (15:605f)
VermilionHouse2_h: ; 0x56064 to 0x56070 (12 bytes) (id=163)
db $08 ; tileset
db VERMILION_HOUSE_2_HEIGHT, VERMILION_HOUSE_2_WIDTH ; dimensions (y, x)
- dw VermilionHouse2Blocks, VermilionHouse2Texts, VermilionHouse2Script ; blocks, texts, scripts
+ dw VermilionHouse2Blocks, VermilionHouse2TextPointers, VermilionHouse2Script ; blocks, texts, scripts
db $00 ; connections
dw VermilionHouse2Object ; objects
@@ -86296,7 +89948,7 @@ VermilionHouse2_h: ; 0x56064 to 0x56070 (12 bytes) (id=163)
VermilionHouse2Script: ; 56070 (15:6070)
jp EnableAutoTextBoxDrawing
-VermilionHouse2Texts: ; 56073 (15:6073)
+VermilionHouse2TextPointers: ; 56073 (15:6073)
dw VermilionHouse2Text1
VermilionHouse2Text1: ; 56075 (15:6075)
@@ -86370,7 +90022,7 @@ VermilionHouse2Object: ; 0x560cf (size=26)
CeladonMart2_h: ; 0x560e9 to 0x560f5 (12 bytes) (id=123)
db $12 ; tileset
db CELADON_MART_2_HEIGHT, CELADON_MART_2_WIDTH ; dimensions (y, x)
- dw CeladonMart2Blocks, CeladonMart2Texts, CeladonMart2Script ; blocks, texts, scripts
+ dw CeladonMart2Blocks, CeladonMart2TextPointers, CeladonMart2Script ; blocks, texts, scripts
db $00 ; connections
dw CeladonMart2Object ; objects
@@ -86378,8 +90030,12 @@ CeladonMart2_h: ; 0x560e9 to 0x560f5 (12 bytes) (id=123)
CeladonMart2Script: ; 560f5 (15:60f5)
jp EnableAutoTextBoxDrawing
-CeladonMart2Texts: ; 560f8 (15:60f8)
- dw CeladonMart2Text1, CeladonMart2Text2, CeladonMart2Text3, CeladonMart2Text4, CeladonMart2Text5
+CeladonMart2TextPointers: ; 560f8 (15:60f8)
+ dw CeladonMart2Text1
+ dw CeladonMart2Text2
+ dw CeladonMart2Text3
+ dw CeladonMart2Text4
+ dw CeladonMart2Text5
CeladonMart2Text3: ; 56102 (15:6102)
TX_FAR _CeladonMart2Text3
@@ -86421,7 +90077,7 @@ CeladonMart2Blocks: ; 56148 (15:6148)
FuchsiaHouse3_h: ; 0x56170 to 0x5617c (12 bytes) (id=164)
db $0d ; tileset
db FUCHSIA_HOUSE_3_HEIGHT, FUCHSIA_HOUSE_3_WIDTH ; dimensions (y, x)
- dw FuchsiaHouse3Blocks, FuchsiaHouse3Texts, FuchsiaHouse3Script ; blocks, texts, scripts
+ dw FuchsiaHouse3Blocks, FuchsiaHouse3TextPointers, FuchsiaHouse3Script ; blocks, texts, scripts
db $00 ; connections
dw FuchsiaHouse3Object ; objects
@@ -86429,7 +90085,7 @@ FuchsiaHouse3_h: ; 0x56170 to 0x5617c (12 bytes) (id=164)
FuchsiaHouse3Script: ; 5617c (15:617c)
jp EnableAutoTextBoxDrawing
-FuchsiaHouse3Texts: ; 5617f (15:617f)
+FuchsiaHouse3TextPointers: ; 5617f (15:617f)
dw FuchsiaHouse3Text1
FuchsiaHouse3Text1: ; 56181 (15:6181)
@@ -86505,7 +90161,7 @@ FuchsiaHouse3Object: ; 0x56221 (size=34)
DayCareM_h: ; 0x56243 to 0x5624f (12 bytes) (id=72)
db $08 ; tileset
db DAYCAREM_HEIGHT, DAYCAREM_WIDTH ; dimensions (y, x)
- dw DayCareMBlocks, DayCareMTexts, DayCareMScript ; blocks, texts, scripts
+ dw DayCareMBlocks, DayCareMTextPointers, DayCareMScript ; blocks, texts, scripts
db $00 ; connections
dw DayCareMObject ; objects
@@ -86513,7 +90169,7 @@ DayCareM_h: ; 0x56243 to 0x5624f (12 bytes) (id=72)
DayCareMScript: ; 5624f (15:624f)
jp EnableAutoTextBoxDrawing
-DayCareMTexts: ; 56252 (15:6252)
+DayCareMTextPointers: ; 56252 (15:6252)
dw DayCareMText1
DayCareMText1: ; 56254 (15:6254)
@@ -86521,18 +90177,18 @@ DayCareMText1: ; 56254 (15:6254)
call SaveScreenTilesToBuffer2
ld a, [$da48]
and a
- jp nz, Unnamed_562e1
+ jp nz, Func_562e1
ld hl, UnnamedText_5640f
call PrintText
call YesNoChoice
ld a, [$cc26]
and a
ld hl, UnnamedText_5643b
- jp nz, Unnamed_56409
+ jp nz, Func_56409
ld a, [$d163]
dec a
ld hl, UnnamedText_56445
- jp z, Unnamed_56409
+ jp z, Func_56409
ld hl, UnnamedText_56414
call PrintText
xor a
@@ -86546,12 +90202,12 @@ DayCareMText1: ; 56254 (15:6254)
call LoadGBPal
pop af
ld hl, UnnamedText_56437
- jp c, Unnamed_56409
+ jp c, Func_56409
ld hl, Func_2171b
ld b, BANK(Func_2171b)
call Bankswitch
ld hl, UnnamedText_5644a
- jp c, Unnamed_56409
+ jp c, Func_56409
xor a
ld [$cc2b], a
ld a, [$cf92]
@@ -86570,12 +90226,160 @@ DayCareMText1: ; 56254 (15:6254)
ld a, [$cf91]
call PlayCry
ld hl, UnnamedText_5641e
- jp Unnamed_56409
+ jp Func_56409
+
+Func_562e1: ; 562e1 (15:62e1)
+ xor a
+ ld hl, $da49
+ call GetPartyMonName
+ ld a, $3
+ ld [$cc49], a
+ call LoadMonData
+ ld hl, Func_58f43
+ ld b, BANK(Func_58f43)
+ call Bankswitch
+ ld a, d
+ cp $64
+ jr c, .asm_56315
+ ld d, $64
+ ld hl, CalcExperience
+ ld b, BANK(CalcExperience)
+ call Bankswitch
+ ld hl, $da6d
+ ld a, [H_NUMTOPRINT]
+ ld [hli], a
+ ld a, [$ff97]
+ ld [hli], a
+ ld a, [$ff98]
+ ld [hl], a
+ ld d, $64
-Unnamed_562e1: ; 562e1 (15:62e1)
-INCBIN "baserom.gbc",$562e1,$56409 - $562e1
+.asm_56315
+ xor a
+ ld [wTrainerEngageDistance], a
+ ld hl, $da62
+ ld a, [hl]
+ ld [wTrainerSpriteOffset], a
+ cp d
+ ld [hl], d
+ ld hl, UnnamedText_56432
+ jr z, .asm_56333
+ ld a, [wTrainerSpriteOffset]
+ ld b, a
+ ld a, d
+ sub b
+ ld [wTrainerEngageDistance], a
+ ld hl, UnnamedText_56423
-Unnamed_56409: ; 56409 (15:6409)
+.asm_56333
+ call PrintText
+ ld a, [W_NUMINPARTY]
+ cp $6
+ ld hl, UnnamedText_56440
+ jp z, .asm_56403
+ ld de, wTrainerFacingDirection
+ xor a
+ ld [de], a
+ inc de
+ ld [de], a
+ ld hl, wTrainerScreenX
+ ld a, $1
+ ld [hli], a
+ ld [hl], $0
+ ld a, [wTrainerEngageDistance]
+ inc a
+ ld b, a
+ ld c, $2
+.asm_56357
+ push hl
+ push de
+ push bc
+ ld a, $b
+ call Predef
+ pop bc
+ pop de
+ pop hl
+ dec b
+ jr nz, .asm_56357
+ ld hl, UnnamedText_56428
+ call PrintText
+ ld a, $13
+ ld [$d125], a
+ call DisplayTextBoxID
+ call YesNoChoice
+ ld hl, UnnamedText_56437
+ ld a, [wCurrentMenuItem]
+ and a
+ jp nz, .asm_56403
+ ld hl, wTrainerFacingDirection
+ ld [$ff9f], a
+ ld a, [hli]
+ ld [$ffa0], a
+ ld a, [hl]
+ ld [$ffa1], a
+ call HasEnoughMoney
+ jr nc, .asm_56396
+ ld hl, UnnamedText_56454
+ jp .asm_56403
+
+.asm_56396
+ xor a
+ ld [$da48], a
+ ld hl, wTrainerEngageDistance
+ ld [hli], a
+ inc hl
+ ld de, $d349
+ ld c, $3
+ ld a, $c
+ call Predef
+ ld a, $b2
+ call PlaySoundWaitForCurrent
+ ld a, $13
+ ld [$d125], a
+ call DisplayTextBoxID
+ ld hl, UnnamedText_5644f
+ call PrintText
+ ld a, $2
+ ld [$cf95], a
+ call Func_3a68
+ ld a, [$da5f]
+ ld [$cf91], a
+ ld a, [W_NUMINPARTY]
+ dec a
+ push af
+ ld bc, $002c
+ push bc
+ ld hl, W_PARTYMON1_MOVE1
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld a, $1
+ ld [wHPBarMaxHP], a
+ ld a, $3e
+ call Predef
+ pop bc
+ pop af
+ ld hl, W_PARTYMON1_HP
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld bc, $0021
+ add hl, bc
+ ld a, [hli]
+ ld [de], a
+ inc de
+ ld a, [hl]
+ ld [de], a
+ ld a, [$cf91]
+ call PlayCry
+ ld hl, UnnamedText_5642d
+ jr Func_56409
+
+.asm_56403
+ ld a, [wTrainerSpriteOffset]
+ ld [$da62], a
+
+Func_56409: ; 56409 (15:6409)
call PrintText
jp TextScriptEnd
@@ -86656,7 +90460,7 @@ DayCareMObject: ; 0x56459 (size=26)
Route12House_h: ; 0x56473 to 0x5647f (12 bytes) (id=189)
db $08 ; tileset
db ROUTE_12_HOUSE_HEIGHT, ROUTE_12_HOUSE_WIDTH ; dimensions (y, x)
- dw Route12HouseBlocks, Route12HouseTexts, Route12HouseScript ; blocks, texts, scripts
+ dw Route12HouseBlocks, Route12HouseTextPointers, Route12HouseScript ; blocks, texts, scripts
db $00 ; connections
dw Route12HouseObject ; objects
@@ -86664,7 +90468,7 @@ Route12House_h: ; 0x56473 to 0x5647f (12 bytes) (id=189)
Route12HouseScript: ; 5647f (15:647f)
jp EnableAutoTextBoxDrawing
-Route12HouseTexts: ; 56482 (15:6482)
+Route12HouseTextPointers: ; 56482 (15:6482)
dw Route12HouseText1
Route12HouseText1: ; 56484 (15:6484)
@@ -86738,27 +90542,27 @@ Route12HouseObject: ; 0x564de (size=26)
SilphCo8_h: ; 0x564f8 to 0x56504 (12 bytes) (id=213)
db $16 ; tileset
db SILPH_CO_8F_HEIGHT, SILPH_CO_8F_WIDTH ; dimensions (y, x)
- dw SilphCo8Blocks, SilphCo8Texts, SilphCo8Script ; blocks, texts, scripts
+ dw SilphCo8Blocks, SilphCo8TextPointers, SilphCo8Script ; blocks, texts, scripts
db $00 ; connections
dw SilphCo8Object ; objects
SilphCo8Script: ; 56504 (15:6504)
- call SilphCo8_Unknown5651a
+ call SilphCo8Script_5651a
call EnableAutoTextBoxDrawing
ld hl, SilphCo8TrainerHeader0
- ld de, Unknown_56577 ; $6577
+ ld de, SilphCo8ScriptPointers
ld a, [W_SILPHCO8CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SILPHCO8CURSCRIPT], a
ret
-SilphCo8_Unknown5651a: ; 5651a (15:651a)
+SilphCo8Script_5651a: ; 5651a (15:651a)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
- ld hl, Unknown_5653e ; $653e
+ ld hl, DataTable_5653e ; $653e
call Func_56541
call Func_5656d
ld a, [$d832]
@@ -86770,8 +90574,8 @@ SilphCo8_Unknown5651a: ; 5651a (15:651a)
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
-Unknown_5653e: ; 5653e (15:653e)
-INCBIN "baserom.gbc",$5653e,$56541 - $5653e
+DataTable_5653e: ; 5653e (15:653e)
+ db $04,$03,$FF
Func_56541: ; 56541 (15:6541)
push hl
@@ -86817,11 +90621,16 @@ Func_5656d: ; 5656d (15:656d)
set 0, [hl]
ret
-Unknown_56577: ; 56577 (15:6577)
-INCBIN "baserom.gbc",$56577,$5657d - $56577
+SilphCo8ScriptPointers: ; 56577 (15:6577)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-SilphCo8Texts: ; 5657d (15:657d)
- dw SilphCo8Text1, SilphCo8Text2, SilphCo8Text3, SilphCo8Text4
+SilphCo8TextPointers: ; 5657d (15:657d)
+ dw SilphCo8Text1
+ dw SilphCo8Text2
+ dw SilphCo8Text3
+ dw SilphCo8Text4
SilphCo8TrainerHeaders: ; 56585 (15:6585)
SilphCo8TrainerHeader0: ; 56585 (15:6585)
@@ -86851,7 +90660,7 @@ SilphCo8TrainerHeader2: ; 5659d (15:659d)
dw SilphCo8EndBattleText3 ; 0x6609 TextEndBattle
dw SilphCo8EndBattleText3 ; 0x6609 TextEndBattle
-db $ff
+ db $ff
SilphCo8Text1: ; 565aa (15:65aa)
db $08 ; asm
@@ -86972,7 +90781,7 @@ DisplayDiploma: ; 566e2 (15:66e2)
ld bc, $0010
ld a, BANK(CircleTile)
call FarCopyData2
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld bc, $1012
ld a, $27
call Predef
@@ -87069,7 +90878,7 @@ DiplomaGameFreak:
db "GAME FREAK@"
Func_567f9: ; 567f9 (15:67f9)
- ld hl, $c100
+ ld hl, wSpriteStateData1
ld de, $4
ld a, [$cf13]
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
@@ -87088,7 +90897,7 @@ Func_567f9: ; 567f9 (15:67f9)
ret
Func_56819: ; 56819 (15:6819)
- ld hl, $c100
+ ld hl, wSpriteStateData1
ld de, $0004
ld a, [$cf13]
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
@@ -87107,7 +90916,7 @@ Func_56819: ; 56819 (15:6819)
ret
Func_5683d: ; 5683d (15:683d)
- ld hl, $c100
+ ld hl, wSpriteStateData1
ld de, $4
ld a, [$cf13]
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
@@ -87126,7 +90935,7 @@ Func_5683d: ; 5683d (15:683d)
ret
Func_5685d: ; 5685d (15:685d)
- ld hl, $c100
+ ld hl, wSpriteStateData1
ld de, $0004
ld a, [$cf13]
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
@@ -87147,9 +90956,9 @@ Func_5685d: ; 5685d (15:685d)
TrainerWalkUpToPlayer: ; 56881 (15:6881)
ld a, [$cf13]
swap a
- ld [W_TRAINERSPRITEOFFSET], a ; $cd3d
+ ld [wTrainerSpriteOffset], a ; $cd3d
call ReadTrainerScreenPosition
- ld a, [W_TRAINERFACINGDIR]
+ ld a, [wTrainerFacingDirection]
and a
jr z, .facingDown
cp $4
@@ -87158,7 +90967,7 @@ TrainerWalkUpToPlayer: ; 56881 (15:6881)
jr z, .facingLeft
jr .facingRight
.facingDown
- ld a, [W_TRAINERSCREENYPOS]
+ ld a, [wTrainerScreenY]
ld b, a
ld a, $3c ; (fixed) player screen Y pos
call CalcDifference
@@ -87171,7 +90980,7 @@ TrainerWalkUpToPlayer: ; 56881 (15:6881)
ld b, a ; a = direction to go to
jr .writeWalkScript
.facingUp
- ld a, [W_TRAINERSCREENYPOS]
+ ld a, [wTrainerScreenY]
ld b, a
ld a, $3c ; (fixed) player screen Y pos
call CalcDifference
@@ -87184,7 +90993,7 @@ TrainerWalkUpToPlayer: ; 56881 (15:6881)
ld a, $40 ; a = direction to go to
jr .writeWalkScript
.facingRight
- ld a, [W_TRAINERSCREENXPOS]
+ ld a, [wTrainerScreenX]
ld b, a
ld a, $40 ; (fixed) player screen X pos
call CalcDifference
@@ -87232,22 +91041,22 @@ Func_56903: ; 56903 (15:6903)
CheckEngagePlayer: ; 5690f (15:690f)
push hl
push de
- ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
+ ld a, [wTrainerSpriteOffset] ; $cd3d
add $2
ld d, $0
ld e, a
- ld hl, $c100
+ ld hl, wSpriteStateData1
add hl, de
ld a, [hl] ; c1x2: sprite image index
sub $ff
jr nz, .spriteOnScreen ; test if sprite is on screen
jp .noEngage
.spriteOnScreen
- ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
+ ld a, [wTrainerSpriteOffset] ; $cd3d
add $9
ld d, $0
ld e, a
- ld hl, $c100
+ ld hl, wSpriteStateData1
add hl, de
ld a, [hl] ; c1x9: facing direction
ld [$cd3f], a
@@ -87286,34 +91095,34 @@ CheckEngagePlayer: ; 5690f (15:690f)
jp .noEngage
.engage
call CheckPlayerIsInFrontOfSprite
- ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
+ ld a, [wTrainerSpriteOffset] ; $cd3d
and a
jr z, .noEngage
- ld hl, W_FLAGS_CD60
+ ld hl, wFlags_0xcd60
set 0, [hl]
call EngageMapTrainer
ld a, $ff
.noEngage: ; 56988 (15:6988)
- ld [W_TRAINERSPRITEOFFSET], a ; $cd3d
+ ld [wTrainerSpriteOffset], a ; $cd3d
pop de
pop hl
ret
; reads trainer's Y position to $cd40 and X position to $cd41
ReadTrainerScreenPosition: ; 5698e (15:698e)
- ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
+ ld a, [wTrainerSpriteOffset] ; $cd3d
add $4
ld d, $0
ld e, a
- ld hl, $c100
+ ld hl, wSpriteStateData1
add hl, de
ld a, [hl]
ld [$cd40], a
- ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
+ ld a, [wTrainerSpriteOffset] ; $cd3d
add $6
ld d, $0
ld e, a
- ld hl, $c100
+ ld hl, wSpriteStateData1
add hl, de
ld a, [hl]
ld [$cd41], a
@@ -87324,7 +91133,7 @@ ReadTrainerScreenPosition: ; 5698e (15:698e)
; a: distance player to sprite
CheckSpriteCanSeePlayer: ; 569af (15:69af)
ld b, a
- ld a, [W_TRAINERENGAGEDISTANCE] ; sprite line of sight (engage distance)
+ ld a, [wTrainerEngageDistance] ; sprite line of sight (engage distance)
cp b
jr nc, .checkIfLinedUp
jr .notInLine ; player too far away
@@ -87362,11 +91171,11 @@ CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3)
ld a, [W_CURMAP] ; $d35e
cp POWER_PLANT
jp z, .engage ; XXX not sure why bypass this for power plant (maybe to get voltorb fake items to work?)
- ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
+ ld a, [wTrainerSpriteOffset] ; $cd3d
add $4
ld d, $0
ld e, a
- ld hl, $c100
+ ld hl, wSpriteStateData1
add hl, de
ld a, [hl] ; c1x4 (sprite screen Y pos)
cp $fc
@@ -87374,11 +91183,11 @@ CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3)
ld a, $c
.notOnTopmostTile
ld [$cd40], a
- ld a, [W_TRAINERSPRITEOFFSET] ; $cd3d
+ ld a, [wTrainerSpriteOffset] ; $cd3d
add $6
ld d, $0
ld e, a
- ld hl, $c100
+ ld hl, wSpriteStateData1
add hl, de
ld a, [hl] ; c1x6 (sprite screen X pos)
ld [$cd41], a
@@ -87413,7 +91222,7 @@ CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3)
.noEngage
xor a
.done
- ld [W_TRAINERSPRITEOFFSET], a ; $cd3d
+ ld [wTrainerSpriteOffset], a ; $cd3d
ret
SECTION "bank16",ROMX,BANK[$16]
@@ -87421,7 +91230,7 @@ SECTION "bank16",ROMX,BANK[$16]
Route6_h: ; 0x58000 to 0x58022 (34 bytes) (id=17)
db $00 ; tileset
db ROUTE_6_HEIGHT, ROUTE_6_WIDTH ; dimensions (y, x)
- dw Route6Blocks, Route6Texts, Route6Script ; blocks, texts, scripts
+ dw Route6Blocks, Route6TextPointers, Route6Script ; blocks, texts, scripts
db NORTH | SOUTH ; connections
; connections data
@@ -87476,7 +91285,7 @@ Route6Blocks: ; 58079 (16:4079)
Route8_h: ; 0x5812d to 0x5814f (34 bytes) (id=19)
db $00 ; tileset
db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; dimensions (y, x)
- dw Route8Blocks, Route8Texts, Route8Script ; blocks, texts, scripts
+ dw Route8Blocks, Route8TextPointers, Route8Script ; blocks, texts, scripts
db WEST | EAST ; connections
; connections data
@@ -87536,7 +91345,7 @@ Route8Blocks: ; 581c6 (16:41c6)
Route10_h: ; 0x582d4 to 0x582f6 (34 bytes) (id=21)
db $00 ; tileset
db ROUTE_10_HEIGHT, ROUTE_10_WIDTH ; dimensions (y, x)
- dw Route10Blocks, Route10Texts, Route10Script ; blocks, texts, scripts
+ dw Route10Blocks, Route10TextPointers, Route10Script ; blocks, texts, scripts
db SOUTH | WEST ; connections
; connections data
@@ -87594,7 +91403,7 @@ Route10Blocks: ; 58356 (16:4356)
Route11_h: ; 0x584be to 0x584e0 (34 bytes) (id=22)
db $00 ; tileset
db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; dimensions (y, x)
- dw Route11Blocks, Route11Texts, Route11Script ; blocks, texts, scripts
+ dw Route11Blocks, Route11TextPointers, Route11Script ; blocks, texts, scripts
db WEST | EAST ; connections
; connections data
@@ -87655,7 +91464,7 @@ Route11Blocks: ; 5855f (16:455f)
Route12_h: ; 0x5866d to 0x5869a (45 bytes) (id=23)
db $00 ; tileset
db ROUTE_12_HEIGHT, ROUTE_12_WIDTH ; dimensions (y, x)
- dw Route12Blocks, Route12Texts, Route12Script ; blocks, texts, scripts
+ dw Route12Blocks, Route12TextPointers, Route12Script ; blocks, texts, scripts
db NORTH | SOUTH | WEST ; connections
; connections data
@@ -87722,7 +91531,7 @@ Route12Blocks: ; 58710 (16:4710)
Route15_h: ; 0x5892c to 0x5894e (34 bytes) (id=26)
db $00 ; tileset
db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; dimensions (y, x)
- dw Route15Blocks, Route15Texts, Route15Script ; blocks, texts, scripts
+ dw Route15Blocks, Route15TextPointers, Route15Script ; blocks, texts, scripts
db WEST | EAST ; connections
; connections data
@@ -87782,7 +91591,7 @@ Route15Blocks: ; 589cc (16:49cc)
Route16_h: ; 0x58ada to 0x58afc (34 bytes) (id=27)
db $00 ; tileset
db ROUTE_16_HEIGHT, ROUTE_16_WIDTH ; dimensions (y, x)
- dw Route16Blocks, Route16Texts, Route16Script ; blocks, texts, scripts
+ dw Route16Blocks, Route16TextPointers, Route16Script ; blocks, texts, scripts
db SOUTH | EAST ; connections
; connections data
@@ -87849,7 +91658,7 @@ Route16Blocks: ; 58b84 (16:4b84)
Route18_h: ; 0x58c38 to 0x58c5a (34 bytes) (id=29)
db $00 ; tileset
db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; dimensions (y, x)
- dw Route18Blocks, Route18Texts, Route18Script ; blocks, texts, scripts
+ dw Route18Blocks, Route18TextPointers, Route18Script ; blocks, texts, scripts
db NORTH | EAST ; connections
; connections data
@@ -87899,7 +91708,7 @@ Route18Object: ; 0x58c5a (size=66)
Route18Blocks: ; 58c9c (16:4c9c)
INCBIN "maps/route18.blk"
-INCBIN "baserom.gbc",$58d7d,$58d99 - $58d7d
+ INCBIN "maps/unusedblocks58d7d.blk"
Func_58d99: ; 58d99 (16:4d99)
ld a, [W_ISINBATTLE] ; $d057
@@ -88009,7 +91818,7 @@ Func_58e59: ; 58e59 (16:4e59)
ld hl, W_ENEMYMONCURHP ; $cfe6
ld a, [hli]
or [hl]
- ld hl, .unknown_58eae ; $4eae
+ ld hl, UnnamedText_58eae ; $4eae
jr z, .asm_58eab
xor a
ld [H_NUMTOPRINT], a ; $FF00+$96 (aliases: H_MULTIPLICAND)
@@ -88035,36 +91844,39 @@ Func_58e59: ; 58e59 (16:4e59)
ld [H_REMAINDER], a ; $FF00+$99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
call Divide
ld a, [$FF00+$98]
- ld hl, .unknown_58eae ; $4eae
+ ld hl, UnnamedText_58eae ; $4eae
cp $46
jr nc, .asm_58eab
- ld hl, .unknown_58eb5 ; $4eb5
+ ld hl, UnnamedText_58eb5 ; $4eb5
cp $28
jr nc, .asm_58eab
- ld hl, .unknown_58ebc ; $4ebc
+ ld hl, UnnamedText_58ebc ; $4ebc
cp $a
jr nc, .asm_58eab
- ld hl, .unknown_58ec3 ; $4ec3
+ ld hl, UnnamedText_58ec3 ; $4ec3
.asm_58eab
jp PrintText
-.unknown_58eae: ; 58eae (16:4eae)
-INCBIN "baserom.gbc",$58eae,$58eb3 - $58eae
-
- jr .asm_58ec8
-
-.unknown_58eb5: ; 58eb5 (16:4eb5)
-INCBIN "baserom.gbc",$58eb5,$58eba - $58eb5
+UnnamedText_58eae: ; 58eae (16:4eae)
+ TX_FAR _UnnamedText_58eae
+ db $08 ; asm
+ jr Func_58ec8
- jr .asm_58ec8
+UnnamedText_58eb5: ; 58eb5 (16:4eb5)
+ TX_FAR _UnnamedText_58eb5
+ db $08 ; asm
+ jr Func_58ec8
-.unknown_58ebc: ; 58ebc (16:4ebc)
-INCBIN "baserom.gbc",$58ebc,$58ec3 - $58ebc
+UnnamedText_58ebc: ; 58ebc (16:4ebc)
+ TX_FAR _UnnamedText_58ebc
+ db $08 ; asm
+ jr Func_58ec8
-.unknown_58ec3: ; 58ec3 (16:4ec3)
-INCBIN "baserom.gbc",$58ec3,$58ec8 - $58ec3
+UnnamedText_58ec3: ; 58ec3 (16:4ec3)
+ TX_FAR _UnnamedText_58ec3
+ db $08 ; asm
-.asm_58ec8
+Func_58ec8
ld hl, UnnamedText_58ecc ; $4ecc
ret
@@ -88073,11 +91885,73 @@ UnnamedText_58ecc: ; 58ecc (16:4ecc)
db "@"
Func_58ed1: ; 58ed1 (16:4ed1)
- ld hl, Unknown_58ed7 ; $4ed7
+ ld hl, UnnamedText_58ed7 ; $4ed7
jp PrintText
-Unknown_58ed7: ; 58ed7 (16:4ed7)
-INCBIN "baserom.gbc",$58ed7,$58f3e - $58ed7
+UnnamedText_58ed7: ; 58ed7 (16:4ed7)
+ TX_FAR _UnnamedText_58ed7
+ db $08 ; asm
+ push de
+ push bc
+ ld hl, $cfe7
+ ld de, $cce4
+ ld b, [hl]
+ dec hl
+ ld a, [de]
+ sub b
+ ld [$ff98], a
+ dec de
+ ld b, [hl]
+ ld a, [de]
+ sbc b
+ ld [$ff97], a
+ ld a, $19
+ ld [H_POWEROFTEN], a
+ call Multiply
+ ld hl, W_ENEMYMONMAXHP
+ ld a, [hli]
+ ld b, [hl]
+ srl a
+ rr b
+ srl a
+ rr b
+ ld a, b
+ ld b, $4
+ ld [H_POWEROFTEN], a
+ call Divide
+ pop bc
+ pop de
+ ld a, [$ff98]
+ ld hl, UnnamedText_58f25
+ and a
+ ret z
+ ld hl, UnnamedText_58f3e
+ cp $1e
+ ret c
+ ld hl, UnnamedText_58f2c
+ cp $46
+ ret c
+ ld hl, UnnamedText_58f33
+ ret
+
+UnnamedText_58f25: ; 58f25 (16:4f25)
+ TX_FAR _UnnamedText_58f25
+ db $08 ; asm
+ jr Func_58f3a
+
+UnnamedText_58f2c: ; 58f2c (16:4f2c)
+ TX_FAR _UnnamedText_58f2c
+ db $08 ; asm
+ jr Func_58f3a
+
+UnnamedText_58f33: ; 58f33 (16:4f33)
+ TX_FAR _UnnamedText_58f33
+ db $08 ; asm
+ jr Func_58f3a
+
+Func_58f3a: ; 58f3a (16:4f3a)
+ ld hl, UnnamedText_58f3e
+ ret
UnnamedText_58f3e: ; 58f3e (16:4f3e)
TX_FAR _UnnamedText_58f3e
@@ -88231,12 +92105,12 @@ CalcDSquared: ; 59010 (16:5010)
; (a*n^3)/b + sign*c*n^2 + d*n - e
; where sign = -1 <=> S=1
GrowthRateTable: ; 5901d (16:501d)
-db $11,$00,$00,$00 ; medium fast n^3
-db $34,$0A,$00,$1E ; (unused?) 3/4 n^3 + 10 n^2 - 30
-db $34,$14,$00,$46 ; (unused?) 3/4 n^3 + 20 n^2 - 70
-db $65,$8F,$64,$8C ; medium slow: 6/5 n^3 - 15 n^2 + 100 n - 140
-db $45,$00,$00,$00 ; fast: 4/5 n^3
-db $54,$00,$00,$00 ; slow: 5/4 n^3
+ db $11,$00,$00,$00 ; medium fast n^3
+ db $34,$0A,$00,$1E ; (unused?) 3/4 n^3 + 10 n^2 - 30
+ db $34,$14,$00,$46 ; (unused?) 3/4 n^3 + 20 n^2 - 70
+ db $65,$8F,$64,$8C ; medium slow: 6/5 n^3 - 15 n^2 + 100 n - 140
+ db $45,$00,$00,$00 ; fast: 4/5 n^3
+ db $54,$00,$00,$00 ; slow: 5/4 n^3
Func_59035 ; 0x59035
ld hl, UnnamedText_59091 ; $5091
@@ -88263,7 +92137,7 @@ Func_59035 ; 0x59035
ld c, 1
call GiveItem
jr nc, .BagFull
- ld hl, Unknown_590a5 ; $50a5
+ ld hl, UnnamedText_590a5 ; $50a5
call PrintText
ld a, $1
jr .asm_5908e ; 0x59071 $1b
@@ -88301,8 +92175,10 @@ UnnamedText_590a0: ; 590a0 (16:50a0)
TX_FAR _UnnamedText_590a0
db "@"
-Unknown_590a5: ; 590a5 (16:50a5)
-INCBIN "baserom.gbc",$590a5,$590ab - $590a5
+UnnamedText_590a5: ; 590a5 (16:50a5)
+ TX_FAR _UnnamedText_590a5
+ db $0b
+ db "@"
UnnamedText_590ab: ; 590ab (16:50ab)
TX_FAR _UnnamedText_590ab
@@ -88311,17 +92187,25 @@ UnnamedText_590ab: ; 590ab (16:50ab)
Route6Script: ; 590b0 (16:50b0)
call EnableAutoTextBoxDrawing
ld hl, Route6TrainerHeaders
- ld de, Route6_Unknown590c3
+ ld de, Route6ScriptPointers
ld a, [W_ROUTE6CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE6CURSCRIPT], a
ret
-Route6_Unknown590c3: ; 590c3 (16:50c3)
-INCBIN "baserom.gbc",$590c3,$590c9 - $590c3
+Route6ScriptPointers: ; 590c3 (16:50c3)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route6Texts: ; 590c9 (16:50c9)
- dw Route6Text1, Route6Text2, Route6Text3, Route6Text4, Route6Text5, Route6Text6, Route6Text7
+Route6TextPointers: ; 590c9 (16:50c9)
+ dw Route6Text1
+ dw Route6Text2
+ dw Route6Text3
+ dw Route6Text4
+ dw Route6Text5
+ dw Route6Text6
+ dw Route6Text7
Route6TrainerHeaders: ; 590d7 (16:50d7)
Route6TrainerHeader0: ; 590d7 (16:50d7)
@@ -88378,7 +92262,7 @@ Route6TrainerHeader5: ; 59113 (16:5113)
dw Route6EndBattleText6 ; 0x51a7 TextEndBattle
dw Route6EndBattleText6 ; 0x51a7 TextEndBattle
-db $ff
+ db $ff
Route6Text1: ; 59120 (16:5120)
db $8
@@ -88491,17 +92375,28 @@ Route6Text7: ; 591b1 (16:51b1)
Route8Script: ; 591b6 (16:51b6)
call EnableAutoTextBoxDrawing
ld hl, Route8TrainerHeaders
- ld de, Route8_Unknown591c9
+ ld de, Route8ScriptPointers
ld a, [W_ROUTE8CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE8CURSCRIPT], a
ret
-Route8_Unknown591c9: ; 591c9 (16:51c9)
-INCBIN "baserom.gbc",$591c9,$591cf - $591c9
+Route8ScriptPointers: ; 591c9 (16:51c9)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route8Texts: ; 591cf (16:51cf)
- dw Route8Text1, Route8Text2, Route8Text3, Route8Text4, Route8Text5, Route8Text6, Route8Text7, Route8Text8, Route8Text9, Route8Text10
+Route8TextPointers: ; 591cf (16:51cf)
+ dw Route8Text1
+ dw Route8Text2
+ dw Route8Text3
+ dw Route8Text4
+ dw Route8Text5
+ dw Route8Text6
+ dw Route8Text7
+ dw Route8Text8
+ dw Route8Text9
+ dw Route8Text10
Route8TrainerHeaders: ; 591e3 (16:51e3)
Route8TrainerHeader0: ; 591e3 (16:51e3)
@@ -88585,7 +92480,7 @@ Route8TrainerHeader8: ; 59243 (16:5243)
dw Route8EndBattleText9 ; 0x5327 TextEndBattle
dw Route8EndBattleText9 ; 0x5327 TextEndBattle
-db $ff
+ db $ff
Route8Text1: ; 59250 (16:5250)
db $8
@@ -88756,17 +92651,28 @@ Route8Text10: ; 59331 (16:5331)
Route10Script: ; 59336 (16:5336)
call EnableAutoTextBoxDrawing
ld hl, Route10TrainerHeaders
- ld de, Route10_Unknown59349
+ ld de, Route10ScriptPointers
ld a, [W_ROUTE10CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE10CURSCRIPT], a
ret
-Route10_Unknown59349: ; 59349 (16:5349)
-INCBIN "baserom.gbc",$59349,$5934f - $59349
+Route10ScriptPointers: ; 59349 (16:5349)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route10Texts: ; 5934f (16:534f)
- dw Route10Text1, Route10Text2, Route10Text3, Route10Text4, Route10Text5, Route10Text6, Route10Text7, PokeCenterSignText, Route10Text9, Route10Text10
+Route10TextPointers: ; 5934f (16:534f)
+ dw Route10Text1
+ dw Route10Text2
+ dw Route10Text3
+ dw Route10Text4
+ dw Route10Text5
+ dw Route10Text6
+ dw Route10Text7
+ dw PokeCenterSignText
+ dw Route10Text9
+ dw Route10Text10
Route10TrainerHeaders: ; 59363 (16:5363)
Route10TrainerHeader0: ; 59363 (16:5363)
@@ -88823,7 +92729,7 @@ Route10TrainerHeader5: ; 5939f (16:539f)
dw Route10EndBattleText6 ; 0x5438 TextEndBattle
dw Route10EndBattleText6 ; 0x5438 TextEndBattle
-db $ff
+ db $ff
Route10Text1: ; 593ac (16:53ac)
db $08 ; asm
@@ -88945,19 +92851,29 @@ Route10Text10: ; 59447 (16:5447)
Route11Script: ; 5944c (16:544c)
call EnableAutoTextBoxDrawing
ld hl, Route11TrainerHeaders
- ld de, Route11_Unknown5945f
+ ld de, Route11ScriptPointers
ld a, [W_ROUTE11CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE11CURSCRIPT], a
ret
-Route11_Unknown5945f: ; 5945f (16:545f)
+Route11ScriptPointers: ; 5945f (16:545f)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
-Route11Texts: ; 59465 (16:5465)
- dw UnnamedText_594f4, Route11Text2, Route11Text3, Route11Text4, Route11Text5, Route11Text6, Route11Text7, Route11Text8, Route11Text9, Route11Text10, Route11Text11
+Route11TextPointers: ; 59465 (16:5465)
+ dw Route11Text1
+ dw Route11Text2
+ dw Route11Text3
+ dw Route11Text4
+ dw Route11Text5
+ dw Route11Text6
+ dw Route11Text7
+ dw Route11Text8
+ dw Route11Text9
+ dw Route11Text10
+ dw Route11Text11
Route11TrainerHeaders: ; 5947b (16:547b)
Route11TrainerHeader0: ; 5947b (16:547b)
@@ -89050,9 +92966,9 @@ Route11TrainerHeader9: ; 594e7 (16:54e7)
dw Route11EndBattleText10 ; 0x55e4 TextEndBattle
dw Route11EndBattleText10 ; 0x55e4 TextEndBattle
-db $ff
+ db $ff
-UnnamedText_594f4: ; 594f4 (16:54f4)
+Route11Text1: ; 594f4 (16:54f4)
db $8
ld hl, Route11TrainerHeader0
call TalkToTrainer
@@ -89239,21 +93155,26 @@ Route11Text11: ; 595ee (16:55ee)
Route12Script: ; 595f3 (16:55f3)
call EnableAutoTextBoxDrawing
ld hl, Route12TrainerHeaders
- ld de, .unknown_59611 ; $5611
+ ld de, Route12ScriptPointers
ld a, [W_ROUTE12CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE12CURSCRIPT], a
ret
-.asm_59606
+
+Route12Script_59606: ; 59606 (16:5606)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_ROUTE12CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-.unknown_59611: ; 59611 (16:5611)
-INCBIN "baserom.gbc",$59611,$59619 - $59611
+Route12ScriptPointers: ; 59611 (16:5611)
+ dw Route12Script0
+ dw Func_324c
+ dw EndTrainerBattle
+ dw Route12Script3
+Route12Script0: ; 59619 (16:5619)
ld hl, $d7d8
bit 7, [hl]
jp nz, CheckFightingMapTrainers
@@ -89275,9 +93196,11 @@ INCBIN "baserom.gbc",$59611,$59619 - $59611
ld [W_ROUTE12CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
+
+Route12Script3: ; 5964c (16:564c)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
- jr z, .asm_59606
+ jr z, Route12Script_59606
call UpdateSprites
ld a, [$cf0b]
cp $2
@@ -89294,8 +93217,21 @@ INCBIN "baserom.gbc",$59611,$59619 - $59611
ld [W_CURMAPSCRIPT], a
ret
-Route12Texts: ; 59675 (16:5675)
- dw Route12Text1, Route12Text2, Route12Text3, Route12Text4, Route12Text5, Route12Text6, Route12Text7, Route12Text8, Predef5CText, Predef5CText, Route12Text11, Route12Text12, Route12Text13, Route12Text14
+Route12TextPointers: ; 59675 (16:5675)
+ dw Route12Text1
+ dw Route12Text2
+ dw Route12Text3
+ dw Route12Text4
+ dw Route12Text5
+ dw Route12Text6
+ dw Route12Text7
+ dw Route12Text8
+ dw Predef5CText
+ dw Predef5CText
+ dw Route12Text11
+ dw Route12Text12
+ dw Route12Text13
+ dw Route12Text14
Route12TrainerHeaders: ; 59691 (16:5691)
Route12TrainerHeader0: ; 59691 (16:5691)
@@ -89361,7 +93297,7 @@ Route12TrainerHeader6: ; 596d9 (16:56d9)
dw Route12EndBattleText7 ; 0x579a TextEndBattle
dw Route12EndBattleText7 ; 0x579a TextEndBattle
-db $ff
+ db $ff
Route12Text1: ; 596e6 (16:56e6)
TX_FAR _Route12Text1
@@ -89514,17 +93450,30 @@ Route12Text12: ; 597a9 (16:57a9)
Route15Script: ; 597ae (16:57ae)
call EnableAutoTextBoxDrawing
ld hl, Route15TrainerHeaders
- ld de, Route15_Unknown597c1
+ ld de, Route15ScriptPointers
ld a, [W_ROUTE15CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE15CURSCRIPT], a
ret
-Route15_Unknown597c1: ; 597c1 (16:57c1)
-INCBIN "baserom.gbc",$597c1,$597c7 - $597c1
+Route15ScriptPointers: ; 597c1 (16:57c1)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route15Texts: ; 597c7 (16:57c7)
- dw Route15Text1, Route15Text2, Route15Text3, Route15Text4, Route15Text5, Route15Text6, Route15Text7, Route15Text8, Route15Text9, Route15Text10, Predef5CText, Route15Text12
+Route15TextPointers: ; 597c7 (16:57c7)
+ dw Route15Text1
+ dw Route15Text2
+ dw Route15Text3
+ dw Route15Text4
+ dw Route15Text5
+ dw Route15Text6
+ dw Route15Text7
+ dw Route15Text8
+ dw Route15Text9
+ dw Route15Text10
+ dw Predef5CText
+ dw Route15Text12
Route15TrainerHeaders: ; 597df (16:57df)
Route15TrainerHeader0: ; 597df (16:57df)
@@ -89617,7 +93566,7 @@ Route15TrainerHeader9: ; 5984b (16:584b)
dw Route15EndBattleText10 ; 0x5924 TextEndBattle
dw Route15EndBattleText10 ; 0x5924 TextEndBattle
-db $ff
+ db $ff
Route15Text1: ; 59858 (16:5858)
db $8 ; asm
@@ -89798,7 +93747,7 @@ Route15Text12: ; 5992e (16:592e)
Route16Script: ; 59933 (16:5933)
call EnableAutoTextBoxDrawing
ld hl, Route16TrainerHeaders
- ld de, Unknown_59951 ; $5951
+ ld de, Route16ScriptPointers
ld a, [W_ROUTE16CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE16CURSCRIPT], a
@@ -89806,13 +93755,18 @@ Route16Script: ; 59933 (16:5933)
Func_59946: ; 59946 (16:5946)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_ROUTE16CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_59951: ; 59951 (16:5951)
-INCBIN "baserom.gbc",$59951,$59959 - $59951
+Route16ScriptPointers: ; 59951 (16:5951)
+ dw Route16Script0
+ dw Func_324c
+ dw EndTrainerBattle
+ dw Route16Script3
+
+Route16Script0: ; 59959 (16:5959)
ld hl, $d7e0
bit 1, [hl]
jp nz, CheckFightingMapTrainers
@@ -89835,6 +93789,8 @@ INCBIN "baserom.gbc",$59951,$59959 - $59951
ld [W_ROUTE16CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
+
+Route16Script3: ; 5998f (16:598f)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_59946
@@ -89854,8 +93810,18 @@ INCBIN "baserom.gbc",$59951,$59959 - $59951
ld [W_CURMAPSCRIPT], a
ret
-Route16Texts: ; 599b9 (16:59b9)
- dw Route16Text1, Route16Text2, Route16Text3, Route16Text4, Route16Text5, Route16Text6, Route16Text7, Route16Text8, Route16Text9, Route16Text10, Route16Text11
+Route16TextPointers: ; 599b9 (16:59b9)
+ dw Route16Text1
+ dw Route16Text2
+ dw Route16Text3
+ dw Route16Text4
+ dw Route16Text5
+ dw Route16Text6
+ dw Route16Text7
+ dw Route16Text8
+ dw Route16Text9
+ dw Route16Text10
+ dw Route16Text11
Route16TrainerHeaders: ; 599cf (16:59cf)
Route16TrainerHeader0: ; 599cf (16:59cf)
@@ -89912,7 +93878,7 @@ Route16TrainerHeader5: ; 59a0b (16:5a0b)
dw Route16EndBattleText6 ; 0x5aa4 TextEndBattle
dw Route16EndBattleText6 ; 0x5aa4 TextEndBattle
-db $ff
+ db $ff
Route16Text1: ; 59a18 (16:5a18)
db $08 ; asm
@@ -90045,17 +94011,23 @@ Route16Text9: ; 59ac2 (16:5ac2)
Route18Script: ; 59ac7 (16:5ac7)
call EnableAutoTextBoxDrawing
ld hl, Route18TrainerHeaders
- ld de, Route18_Unknown59ada
+ ld de, Route18ScriptPointers
ld a, [W_ROUTE18CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_ROUTE18CURSCRIPT], a
ret
-Route18_Unknown59ada: ; 59ada (16:5ada)
-INCBIN "baserom.gbc",$59ada,$59ae0 - $59ada
+Route18ScriptPointers: ; 59ada (16:5ada)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-Route18Texts: ; 59ae0 (16:5ae0)
- dw Route18Text1, Route18Text2, Route18Text3, Route18Text4, Route18Text5
+Route18TextPointers: ; 59ae0 (16:5ae0)
+ dw Route18Text1
+ dw Route18Text2
+ dw Route18Text3
+ dw Route18Text4
+ dw Route18Text5
Route18TrainerHeaders: ; 59aea (16:5aea)
Route18TrainerHeader0: ; 59aea (16:5aea)
@@ -90085,7 +94057,7 @@ Route18TrainerHeader2: ; 59b02 (16:5b02)
dw Route18EndBattleText3 ; 0x5b50 TextEndBattle
dw Route18EndBattleText3 ; 0x5b50 TextEndBattle
-db $ff
+ db $ff
Route18Text1: ; 59b0f (16:5b0f)
db $08 ; asm
@@ -90152,7 +94124,7 @@ Route18Text5: ; 59b5f (16:5b5f)
FanClub_h: ; 0x59b64 to 0x59b70 (12 bytes) (id=90)
db $10 ; tileset
db POKEMON_FAN_CLUB_HEIGHT, POKEMON_FAN_CLUB_WIDTH ; dimensions (y, x)
- dw FanClubBlocks, FanClubTexts, FanClubScript ; blocks, texts, scripts
+ dw FanClubBlocks, FanClubTextPointers, FanClubScript ; blocks, texts, scripts
db $00 ; connections
dw FanClubObject ; objects
@@ -90170,8 +94142,15 @@ Func_59b73: ; 59b73 (16:5b73)
ld b, $2d
jp IsItemInBag
-FanClubTexts: ; 59b84 (16:5b84)
- dw FanClubText1, FanClubText2, FanClubText3, FanClubText4, FanClubText5, FanClubText6, FanClubText7, FanClubText8
+FanClubTextPointers: ; 59b84 (16:5b84)
+ dw FanClubText1
+ dw FanClubText2
+ dw FanClubText3
+ dw FanClubText4
+ dw FanClubText5
+ dw FanClubText6
+ dw FanClubText7
+ dw FanClubText8
FanClubText1: ; 59b94 (16:5b94)
db $08 ; asm
@@ -90352,23 +94331,50 @@ FanClubBlocks: ; 59cd5 (16:5cd5)
SilphCo2_h: ; 0x59ce5 to 0x59cf1 (12 bytes) (id=207)
db $16 ; tileset
db SILPH_CO_2F_HEIGHT, SILPH_CO_2F_WIDTH ; dimensions (y, x)
- dw SilphCo2Blocks, SilphCo2Texts, SilphCo2Script ; blocks, texts, scripts
+ dw SilphCo2Blocks, SilphCo2TextPointers, SilphCo2Script ; blocks, texts, scripts
db $00 ; connections
dw SilphCo2Object ; objects
SilphCo2Script: ; 59cf1 (16:5cf1)
- call SilphCo2_Unknown59d07
+ call SilphCo2Script_59d07
call EnableAutoTextBoxDrawing
ld hl, SilphCo2TrainerHeaders
- ld de, Unknown_59d80 ; $5d80
+ ld de, SilphCo2ScriptPointers
ld a, [W_SILPHCO2CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SILPHCO2CURSCRIPT], a
ret
-SilphCo2_Unknown59d07: ; 59d07 (16:5d07)
-INCBIN "baserom.gbc",$59d07,$59d43 - $59d07
+SilphCo2Script_59d07: ; 59d07 (16:5d07)
+ ld hl, $d126
+ bit 5, [hl]
+ res 5, [hl]
+ ret z
+ ld hl, DataTable_59d3e
+ call Func_59d43
+ call Func_59d6f
+ ld a, [$d826]
+ bit 5, a
+ jr nz, .asm_59d2e
+ push af
+ ld a, $54
+ ld [$d09f], a
+ ld bc, $0202
+ ld a, $17
+ call Predef
+ pop af
+.asm_59d2e
+ bit 6, a
+ ret nz
+ ld a, $54
+ ld [$d09f], a
+ ld bc, $0502
+ ld a, $17
+ jp Predef
+
+DataTable_59d3e: ; 59d3e (16:5d3e)
+ db $02,$02,$05,$02,$FF
Func_59d43: ; 59d43 (16:5d43)
push hl
@@ -90406,13 +94412,30 @@ Func_59d43: ; 59d43 (16:5d43)
ld [$FF00+$e0], a
ret
-INCBIN "baserom.gbc",$59d6f,$59d80 - $59d6f
+Func_59d6f: ; 59d6f (16:5d6f)
+ ld hl, $d826
+ ld a, [$ffe0]
+ and a
+ ret z
+ cp $1
+ jr nz, .asm_59d7d
+ set 5, [hl]
+ ret
+.asm_59d7d
+ set 6, [hl]
+ ret
-Unknown_59d80: ; 59d80 (16:5d80)
-INCBIN "baserom.gbc",$59d80,$59d86 - $59d80
+SilphCo2ScriptPointers: ; 59d80 (16:5d80)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-SilphCo2Texts: ; 59d86 (16:5d86)
- dw SilphCo2Text1, SilphCo2Text2, SilphCo2Text3, SilphCo2Text4, SilphCo2Text5
+SilphCo2TextPointers: ; 59d86 (16:5d86)
+ dw SilphCo2Text1
+ dw SilphCo2Text2
+ dw SilphCo2Text3
+ dw SilphCo2Text4
+ dw SilphCo2Text5
SilphCo2TrainerHeaders: ; 59d90 (16:5d90)
SilphCo2TrainerHeader0: ; 59d90 (16:5d90)
@@ -90451,7 +94474,7 @@ SilphCo2TrainerHeader3: ; 59db4 (16:5db4)
dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle
dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle
-db $ff
+ db $ff
SilphCo2Text1: ; 59dc1 (16:5dc1)
db $08 ; asm
@@ -90598,27 +94621,27 @@ SilphCo2Blocks: ; 59ec8 (16:5ec8)
SilphCo3_h: ; 0x59f4f to 0x59f5b (12 bytes) (id=208)
db $16 ; tileset
db SILPH_CO_3F_HEIGHT, SILPH_CO_3F_WIDTH ; dimensions (y, x)
- dw SilphCo3Blocks, SilphCo3Texts, SilphCo3Script ; blocks, texts, scripts
+ dw SilphCo3Blocks, SilphCo3TextPointers, SilphCo3Script ; blocks, texts, scripts
db $00 ; connections
dw SilphCo3Object ; objects
SilphCo3Script: ; 59f5b (16:5f5b)
- call SilphCo3Script_Unknown59f71
+ call SilphCo3Script_59f71
call EnableAutoTextBoxDrawing
ld hl, SilphCo3TrainerHeaders
- ld de, Unknown_59fbe ; $5fbe
+ ld de, SilphCo3ScriptPointers
ld a, [W_SILPHCO3CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SILPHCO3CURSCRIPT], a
ret
-SilphCo3Script_Unknown59f71: ; 59f71 (16:5f71)
+SilphCo3Script_59f71: ; 59f71 (16:5f71)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
- ld hl, Unknown_59fa8 ; $5fa8
+ ld hl, DataTable_59fa8 ; $5fa8
call Func_59d43
call Func_59fad
ld a, [$d828]
@@ -90640,8 +94663,8 @@ SilphCo3Script_Unknown59f71: ; 59f71 (16:5f71)
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
-Unknown_59fa8: ; 59fa8 (16:5fa8)
-INCBIN "baserom.gbc",$59fa8,$59fad - $59fa8
+DataTable_59fa8: ; 59fa8 (16:5fa8)
+ db $04,$04,$04,$08,$FF
Func_59fad: ; 59fad (16:5fad)
ld hl, $d828
@@ -90656,11 +94679,16 @@ Func_59fad: ; 59fad (16:5fad)
set 1, [hl]
ret
-Unknown_59fbe: ; 59fbe (16:5fbe)
-INCBIN "baserom.gbc",$59fbe,$59fc4 - $59fbe
+SilphCo3ScriptPointers: ; 59fbe (16:5fbe)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-SilphCo3Texts: ; 59fc4 (16:5fc4)
- dw SilphCo3Text1, SilphCo3Text2, SilphCo3Text3, Predef5CText
+SilphCo3TextPointers: ; 59fc4 (16:5fc4)
+ dw SilphCo3Text1
+ dw SilphCo3Text2
+ dw SilphCo3Text3
+ dw Predef5CText
SilphCo3TrainerHeaders: ; 59fcc (16:5fcc)
SilphCo3TrainerHeader0: ; 59fcc (16:5fcc)
@@ -90681,7 +94709,7 @@ SilphCo3TrainerHeader1: ; 59fd8 (16:5fd8)
dw SilphCo3EndBattleText2 ; 0x602b TextEndBattle
dw SilphCo3EndBattleText2 ; 0x602b TextEndBattle
-db $ff
+ db $ff
SilphCo3Text1: ; 59fe5 (16:5fe5)
db $08 ; asm
@@ -90779,27 +94807,27 @@ SilphCo3Blocks: ; 5a0a6 (16:60a6)
SilphCo10_h: ; 0x5a12d to 0x5a139 (12 bytes) (id=234)
db $16 ; tileset
db SILPH_CO_10F_HEIGHT, SILPH_CO_10F_WIDTH ; dimensions (y, x)
- dw SilphCo10Blocks, SilphCo10Texts, SilphCo10Script ; blocks, texts, scripts
+ dw SilphCo10Blocks, SilphCo10TextPointers, SilphCo10Script ; blocks, texts, scripts
db $00 ; connections
dw SilphCo10Object ; objects
SilphCo10Script: ; 5a139 (16:6139)
- call SilphCo10Script_Unknown5a14f
+ call SilphCo10Script_5a14f
call EnableAutoTextBoxDrawing
ld hl, SilphCo10TrainerHeaders
- ld de, Unknown_5a180 ; $6180
+ ld de, SilphCo10ScriptPointers
ld a, [W_SILPHCO10CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SILPHCO10CURSCRIPT], a
ret
-SilphCo10Script_Unknown5a14f: ; 5a14f (16:614f)
+SilphCo10Script_5a14f: ; 5a14f (16:614f)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
- ld hl, Unknown_5a173 ; $6173
+ ld hl, DataTable_5a173 ; $6173
call Func_59d43
call Func_5a176
ld a, [$d836]
@@ -90811,8 +94839,8 @@ SilphCo10Script_Unknown5a14f: ; 5a14f (16:614f)
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
-Unknown_5a173: ; 5a173 (16:6173)
-INCBIN "baserom.gbc",$5a173,$5a176 - $5a173
+DataTable_5a173: ; 5a173 (16:6173)
+ db $04,$05,$FF
Func_5a176: ; 5a176 (16:6176)
ld a, [$FF00+$e0]
@@ -90822,11 +94850,18 @@ Func_5a176: ; 5a176 (16:6176)
set 0, [hl]
ret
-Unknown_5a180: ; 5a180 (16:6180)
-INCBIN "baserom.gbc",$5a180,$5a186 - $5a180
+SilphCo10ScriptPointers: ; 5a180 (16:6180)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-SilphCo10Texts: ; 5a186 (16:6186)
- dw SilphCo10Text1, SilphCo10Text2, SilphCo10Text3, Predef5CText, Predef5CText, Predef5CText
+SilphCo10TextPointers: ; 5a186 (16:6186)
+ dw SilphCo10Text1
+ dw SilphCo10Text2
+ dw SilphCo10Text3
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
SilphCo10TrainerHeaders: ; 5a192 (16:6192)
SilphCo10TrainerHeader0: ; 5a192 (16:6192)
@@ -90847,7 +94882,7 @@ SilphCo10TrainerHeader1: ; 5a19e (16:619e)
dw SilphCo10EndBattleText2 ; 0x61f1 TextEndBattle
dw SilphCo10EndBattleText2 ; 0x61f1 TextEndBattle
-db $ff
+ db $ff
SilphCo10Text1: ; 5a1ab (16:61ab)
db $08 ; asm
@@ -90866,9 +94901,9 @@ SilphCo10Text3: ; 5a1bf (16:61bf)
ld a, [$d838]
bit 7, a
ld hl, UnnamedText_5a1d8
- jr nz, asm_cf85f ; 0x5a1c8
+ jr nz, .asm_cf85f
ld hl, UnnamedText_5a1d3
-asm_cf85f ; 0x5a1cd
+.asm_cf85f
call PrintText
jp TextScriptEnd
@@ -90939,22 +94974,22 @@ SilphCo10Blocks: ; 5a25a (16:625a)
Lance_h: ; 0x5a2a2 to 0x5a2ae (12 bytes) (id=113)
db $05 ; tileset
db LANCES_ROOM_HEIGHT, LANCES_ROOM_WIDTH ; dimensions (y, x)
- dw LanceBlocks, LanceTexts, LanceScript ; blocks, texts, scripts
+ dw LanceBlocks, LanceTextPointers, LanceScript ; blocks, texts, scripts
db $00 ; connections
dw LanceObject ; objects
LanceScript: ; 5a2ae (16:62ae)
- call LanceScript_Unknown5a2c4
+ call LanceScript_5a2c4
call EnableAutoTextBoxDrawing
ld hl, LanceTrainerHeaders
- ld de, Unknown_5a2fa ; $62fa
+ ld de, LanceScriptPointers
ld a, [W_LANCECURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_LANCECURSCRIPT], a
ret
-LanceScript_Unknown5a2c4: ; 5a2c4 (16:62c4)
+LanceScript_5a2c4: ; 5a2c4 (16:62c4)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
@@ -90988,17 +95023,26 @@ Func_5a2f5: ; 5a2f5 (16:62f5)
ld [W_LANCECURSCRIPT], a
ret
-Unknown_5a2fa: ; 5a2fa (16:62fa)
-INCBIN "baserom.gbc",$5a2fa,$5a305 - $5a2fa
+LanceScriptPointers: ; 5a2fa (16:62fa)
+ dw LanceScript0
+ dw Func_324c
+ dw LanceScript2
+ dw LanceScript3
+ dw LanceScript4
+
+LanceScript4: ; 5a304 (16:6304)
+ ret
+
+LanceScript0: ; 5a305 (16:6305)
ld a, [$d866]
bit 6, a
ret nz
- ld hl, .unknown_5a33e ; $633e
+ ld hl, CoordsData_5a33e
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
cp $3
jr nc, .asm_5a325
ld a, $1
@@ -91006,7 +95050,7 @@ INCBIN "baserom.gbc",$5a2fa,$5a305 - $5a2fa
jp DisplayTextID
.asm_5a325
cp $5
- jr z, .asm_5a35b
+ jr z, Func_5a35b
ld hl, $d866
bit 7, [hl]
set 7, [hl]
@@ -91015,11 +95059,17 @@ INCBIN "baserom.gbc",$5a2fa,$5a305 - $5a2fa
set 5, [hl]
ld a, $ad
call PlaySound
- jp LanceScript_Unknown5a2c4
-
-.unknown_5a33e: ; 5a33e (16:633e)
-INCBIN "baserom.gbc",$5a33e,$5a349 - $5a33e
+ jp LanceScript_5a2c4
+
+CoordsData_5a33e: ; 5a33e (16:633e)
+ db $01,$05
+ db $02,$06
+ db $0B,$05
+ db $0B,$06
+ db $10,$18
+ db $FF
+LanceScript2: ; 5a349 (16:6349)
call EndTrainerBattle
ld a, [W_ISINBATTLE] ; $d057
cp $ff
@@ -91027,9 +95077,10 @@ INCBIN "baserom.gbc",$5a33e,$5a349 - $5a33e
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
jp DisplayTextID
-.asm_5a35b
+
+Func_5a35b: ; 5a35b (16:635b)
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $ccd3
ld de, RLEList_5a379
call DecodeRLEList
@@ -91042,24 +95093,24 @@ INCBIN "baserom.gbc",$5a33e,$5a349 - $5a33e
ret
RLEList_5a379: ; 5a379 (16:6379)
-db $40, $0C
-db $20, $0C
-db $80, $07
-db $20, $06
-db $FF
+ db $40, $0C
+ db $20, $0C
+ db $80, $07
+ db $20, $06
+ db $FF
-Func_5a382: ; 5a382 (16:6382)
+LanceScript3: ; 5a382 (16:6382)
ld a, [$cd38]
and a
ret nz
call Delay3
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_LANCECURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-LanceTexts: ; 5a395 (16:6395)
+LanceTextPointers: ; 5a395 (16:6395)
dw LanceText1
LanceTrainerHeaders: ; 5a397 (16:6397)
@@ -91072,7 +95123,7 @@ LanceTrainerHeader0: ; 5a397 (16:6397)
dw LanceEndBattleText ; 0x63b3 TextEndBattle
dw LanceEndBattleText ; 0x63b3 TextEndBattle
-db $ff
+ db $ff
LanceText1: ; 5a3a4 (16:63a4)
db $08 ; asm
@@ -91119,31 +95170,38 @@ LanceBlocks: ; 5a3e9 (16:63e9)
HallofFameRoom_h: ; 0x5a492 to 0x5a49e (12 bytes) (id=118)
db $07 ; tileset
db HALL_OF_FAME_HEIGHT, HALL_OF_FAME_WIDTH ; dimensions (y, x)
- dw HallofFameRoomBlocks, HallofFameRoomTexts, HallofFameRoomScript ; blocks, texts, scripts
+ dw HallofFameRoomBlocks, HallofFameRoomTextPointers, HallofFameRoomScript ; blocks, texts, scripts
db $00 ; connections
dw HallofFameRoomObject ; objects
HallofFameRoomScript: ; 5a49e (16:649e)
call EnableAutoTextBoxDrawing
- ld hl, HallofFameRoomScripts
+ ld hl, HallofFameRoomScriptPointers
ld a, [W_HALLOFFAMEROOMCURSCRIPT]
jp CallFunctionInTable
-INCBIN "baserom.gbc",$5a4aa,$5a4b2 - $5a4aa
+Func_5a4aa: ; 5a4aa (16:64aa)
+ xor a
+ ld [wJoypadForbiddenButtonsMask], a
+ ld [W_HALLOFFAMEROOMCURSCRIPT], a
+ ret
-HallofFameRoomScripts: ; 5a4b2 (16:64b2)
- dw HallofFameRoomScript0, HallofFameRoomScript1, HallofFameRoomScript2, HallofFameRoomScript3
+HallofFameRoomScriptPointers: ; 5a4b2 (16:64b2)
+ dw HallofFameRoomScript0
+ dw HallofFameRoomScript1
+ dw HallofFameRoomScript2
+ dw HallofFameRoomScript3
HallofFameRoomScript3: ; 5a4ba (16:64ba)
- db $c9
+ ret
HallofFameRoomScript2: ; 5a4bb (16:64bb)
call Delay3
ld a, [$d358]
push af
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $55
call Predef
pop af
@@ -91183,7 +95241,7 @@ HallofFameRoomScript2: ; 5a4bb (16:64bb)
HallofFameRoomScript0: ; 5a50d (16:650d)
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $ccd3
ld de, RLEMovement5a528
call DecodeRLEList
@@ -91212,14 +95270,14 @@ HallofFameRoomScript1: ; 5a52b (16:652b)
call Func_34a6
call Delay3
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
inc a
ld [$d528], a
ld a, $1
ld [$ff00+$8c], a
call DisplayTextID
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $8
ld [$cc4d], a
ld a, $11
@@ -91228,7 +95286,7 @@ HallofFameRoomScript1: ; 5a52b (16:652b)
ld [W_HALLOFFAMEROOMCURSCRIPT], a
ret
-HallofFameRoomTexts: ; 5a56a (16:656a)
+HallofFameRoomTextPointers: ; 5a56a (16:656a)
dw HallofFameRoomText1
HallofFameRoomText1: ; 5a56c (16:656c)
@@ -91298,6 +95356,7 @@ PewterPokecenterBlocks: ; 5c064 (17:4064)
INCBIN "maps/pewterpokecenter.blk"
UndergroundTunnelEntranceRoute7Blocks: ; 5c080 (17:4080)
+UndergroundTunnelEntranceRoute7CopyBlocks: ; 5c080 (17:4080)
UndergroundTunnelEntranceRoute6Blocks: ; 5c080 (17:4080)
UndergroundTunnelEntranceRoute5Blocks: ; 5c080 (17:4080)
INCBIN "maps/undergroundtunnelentranceroute5.blk"
@@ -91310,7 +95369,7 @@ ViridianForestexitBlocks: ; 5c090 (17:4090)
RedsHouse2F_h: ; 5c0a4 (17:40a4)
db $04 ; tileset
db $04,$04 ; dimensions
- dw RedsHouse2FBlocks, RedsHouse2FTexts, RedsHouse2FScript
+ dw RedsHouse2FBlocks, RedsHouse2FTextPointers, RedsHouse2FScript
db 0 ; no connections
dw RedsHouse2FObject
@@ -91321,9 +95380,10 @@ RedsHouse2FScript: ; 5c0b0 (17:40b0)
jp CallFunctionInTable
RedsHouse2FScriptPointers: ; 5c0bc (17:40bc)
- dw RedsHouse2FScript1,RedsHouse2FScript2
+ dw RedsHouse2FScript0
+ dw RedsHouse2FScript1
-RedsHouse2FScript1: ; 5c0c0 (17:40c0)
+RedsHouse2FScript0: ; 5c0c0 (17:40c0)
xor a
ld [H_CURRENTPRESSEDBUTTONS],a
ld a,8
@@ -91332,10 +95392,10 @@ RedsHouse2FScript1: ; 5c0c0 (17:40c0)
ld [W_REDSHOUSE2CURSCRIPT],a
ret
-RedsHouse2FScript2: ; 5c0ce (17:40ce)
+RedsHouse2FScript1: ; 5c0ce (17:40ce)
ret
-RedsHouse2FTexts: ; 5c0cf (17:40cf)
+RedsHouse2FTextPointers: ; 5c0cf (17:40cf)
db "@"
RedsHouse2FObject: ; 0x5c0d0 ?
@@ -91353,17 +95413,17 @@ RedsHouse2FObject: ; 0x5c0d0 ?
Func_5c0dc: ; 5c0dc (17:40dc)
ld a, $4b
- ld [W_OWNEDPOKEMON], a ; $d2f7
+ ld [wPokedexOwned], a ; $d2f7
ld a, $3d
call Predef ; indirect jump to ShowPokedexData (402d1 (10:42d1))
xor a
- ld [W_OWNEDPOKEMON], a ; $d2f7
+ ld [wPokedexOwned], a ; $d2f7
ret
MuseumF1_h: ; 0x5c0eb to 0x5c0f7 (12 bytes) (id=52)
db $0a ; tileset
db MUSEUM_1F_HEIGHT, MUSEUM_1F_WIDTH ; dimensions (y, x)
- dw MuseumF1Blocks, MuseumF1Texts, MuseumF1Script ; blocks, texts, scripts
+ dw MuseumF1Blocks, MuseumF1TextPointers, MuseumF1Script ; blocks, texts, scripts
db $00 ; connections
dw MuseumF1Object ; objects
@@ -91373,12 +95433,13 @@ MuseumF1Script: ; 5c0f7 (17:40f7)
ld [$cf0c], a
xor a
ld [$cc3c], a
- ld hl, MuseumF1Scripts
+ ld hl, MuseumF1ScriptPointers
ld a, [W_MUSEUMF1CURSCRIPT]
jp CallFunctionInTable
-MuseumF1Scripts: ; 5c109 (17:4109)
- dw MuseumF1Script0, MuseumF1Script1
+MuseumF1ScriptPointers: ; 5c109 (17:4109)
+ dw MuseumF1Script0
+ dw MuseumF1Script1
MuseumF1Script0: ; 5c10d (17:410d)
ld a, [$d361]
@@ -91400,8 +95461,12 @@ MuseumF1Script0: ; 5c10d (17:410d)
MuseumF1Script1: ; 5c12a (17:412a)
ret
-MuseumF1Texts: ; 5c12b (17:412b)
- dw MuseumF1Text1, MuseumF1Text2, MuseumF1Text3, MuseumF1Text4, MuseumF1Text5
+MuseumF1TextPointers: ; 5c12b (17:412b)
+ dw MuseumF1Text1
+ dw MuseumF1Text2
+ dw MuseumF1Text3
+ dw MuseumF1Text4
+ dw MuseumF1Text5
MuseumF1Text1: ; 5c135 (17:4135)
db $8
@@ -91646,7 +95711,7 @@ MuseumF1Object: ; 0x5c2c1 (size=74)
MuseumF2_h: ; 0x5c30b to 0x5c317 (12 bytes) (id=53)
db $0a ; tileset
db MUSEUM_2F_HEIGHT, MUSEUM_2F_WIDTH ; dimensions (y, x)
- dw MuseumF2Blocks, MuseumF2Texts, MuseumF2Script ; blocks, texts, scripts
+ dw MuseumF2Blocks, MuseumF2TextPointers, MuseumF2Script ; blocks, texts, scripts
db $00 ; connections
dw MuseumF2Object ; objects
@@ -91654,8 +95719,14 @@ MuseumF2_h: ; 0x5c30b to 0x5c317 (12 bytes) (id=53)
MuseumF2Script: ; 5c317 (17:4317)
jp EnableAutoTextBoxDrawing
-MuseumF2Texts: ; 5c31a (17:431a)
- dw MuseumF2Text1, MuseumF2Text2, MuseumF2Text3, MuseumF2Text4, MuseumF2Text5, MuseumF2Text6, MuseumF2Text7
+MuseumF2TextPointers: ; 5c31a (17:431a)
+ dw MuseumF2Text1
+ dw MuseumF2Text2
+ dw MuseumF2Text3
+ dw MuseumF2Text4
+ dw MuseumF2Text5
+ dw MuseumF2Text6
+ dw MuseumF2Text7
MuseumF2Text1: ; 5c328 (17:4328)
TX_FAR _MuseumF2Text1
@@ -91708,7 +95779,7 @@ MuseumF2Object: ; 0x5c34b (size=48)
PewterGym_h: ; 0x5c37b to 0x5c387 (12 bytes) (id=54)
db $07 ; tileset
db PEWTER_GYM_HEIGHT, PEWTER_GYM_WIDTH ; dimensions (y, x)
- dw PewterGymBlocks, PewterGymTexts, PewterGymScript ; blocks, texts, scripts
+ dw PewterGymBlocks, PewterGymTextPointers, PewterGymScript ; blocks, texts, scripts
db $00 ; connections
dw PewterGymObject ; objects
@@ -91717,16 +95788,16 @@ PewterGymScript: ; 5c387 (17:4387)
ld hl, $d126
bit 6, [hl]
res 6, [hl]
- call nz, PewterGymScript_Unknown5c3a4
+ call nz, PewterGymScript_5c3a4
call EnableAutoTextBoxDrawing
ld hl, PewterGymTrainerHeaders
- ld de, Unknown_5c3ca ; $43ca
+ ld de, PewterGymScriptPointers
ld a, [W_PEWTERGYMCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_PEWTERGYMCURSCRIPT], a
ret
-PewterGymScript_Unknown5c3a4: ; 5c3a4 (17:43a4)
+PewterGymScript_5c3a4: ; 5c3a4 (17:43a4)
ld hl, Gym1CityName ; $43ad
ld de, Gym1LeaderName ; $43b9
jp LoadGymLeaderAndCityName
@@ -91739,18 +95810,23 @@ Gym1LeaderName: ; 5c3b9 (17:43b9)
Func_5c3bf: ; 5c3bf (17:43bf)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_PEWTERGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_5c3ca: ; 5c3ca (17:43ca)
-INCBIN "baserom.gbc",$5c3ca,$5c3d2 - $5c3ca
+PewterGymScriptPointers: ; 5c3ca (17:43ca)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
+ dw PewterGymScript3
+
+PewterGymScript3: ; 5c3d2 (17:43d2)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_5c3bf
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
Func_5c3df: ; 5c3df (17:43df)
ld a, $4
@@ -91791,8 +95867,13 @@ Func_5c3df: ; 5c3df (17:43df)
set 2, [hl]
jp Func_5c3bf
-PewterGymTexts: ; 5c435 (17:4435)
- dw PewterGymText1, PewterGymText2, PewterGymText3, PewterGymText4, PewterGymText5, PewterGymText6
+PewterGymTextPointers: ; 5c435 (17:4435)
+ dw PewterGymText1
+ dw PewterGymText2
+ dw PewterGymText3
+ dw PewterGymText4
+ dw PewterGymText5
+ dw PewterGymText6
PewterGymTrainerHeaders: ; 5c441 (17:4441)
PewterGymTrainerHeader0: ; 5c441 (17:4441)
@@ -91804,7 +95885,7 @@ PewterGymTrainerHeader0: ; 5c441 (17:4441)
dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle
dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle
-db $ff
+ db $ff
PewterGymText1: ; 5c44e (17:444e)
db $08 ; asm
@@ -91960,7 +96041,7 @@ PewterGymBlocks: ; 5c558 (17:4558)
PewterPokecenter_h: ; 0x5c57b to 0x5c587 (12 bytes) (id=58)
db $06 ; tileset
db PEWTER_POKECENTER_HEIGHT, PEWTER_POKECENTER_WIDTH ; dimensions (y, x)
- dw PewterPokecenterBlocks, PewterPokecenterTexts, PewterPokecenterScript ; blocks, texts, scripts
+ dw PewterPokecenterBlocks, PewterPokecenterTextPointers, PewterPokecenterScript ; blocks, texts, scripts
db $00 ; connections
dw PewterPokecenterObject ; objects
@@ -91969,8 +96050,11 @@ PewterPokecenterScript: ; 5c587 (17:4587)
call Func_22fa
jp EnableAutoTextBoxDrawing
-PewterPokecenterTexts: ; 5c58d (17:458d)
- dw PewterPokecenterText1, PewterPokecenterText2, PewterPokecenterText3, PewterPokecenterText4
+PewterPokecenterTextPointers: ; 5c58d (17:458d)
+ dw PewterPokecenterText1
+ dw PewterPokecenterText2
+ dw PewterPokecenterText3
+ dw PewterPokecenterText4
PewterPokecenterText1: ; 5c595 (17:4595)
db $ff
@@ -92033,7 +96117,7 @@ PewterPokecenterText5: ; 5c603 (17:4603)
db "@"
Unknown_5c608: ; 5c608 (17:4608)
-db $30, $38, $34, $3c
+ db $30, $38, $34, $3c
PewterPokecenterText4: ; 5c60c (17:460c)
db $f6
@@ -92060,7 +96144,7 @@ PewterPokecenterObject: ; 0x5c60d (size=44)
CeruleanPokecenter_h: ; 0x5c639 to 0x5c645 (12 bytes) (id=64)
db $06 ; tileset
db CERULEAN_POKECENTER_HEIGHT, CERULEAN_POKECENTER_WIDTH ; dimensions (y, x)
- dw CeruleanPokecenterBlocks, CeruleanPokecenterTexts, CeruleanPokecenterScript ; blocks, texts, scripts
+ dw CeruleanPokecenterBlocks, CeruleanPokecenterTextPointers, CeruleanPokecenterScript ; blocks, texts, scripts
db $00 ; connections
dw CeruleanPokecenterObject ; objects
@@ -92069,8 +96153,11 @@ CeruleanPokecenterScript: ; 5c645 (17:4645)
call Func_22fa
jp EnableAutoTextBoxDrawing
-CeruleanPokecenterTexts: ; 5c64b (17:464b)
- dw CeruleanPokecenterText1, CeruleanPokecenterText2, CeruleanPokecenterText3, CeruleanPokecenterText4
+CeruleanPokecenterTextPointers: ; 5c64b (17:464b)
+ dw CeruleanPokecenterText1
+ dw CeruleanPokecenterText2
+ dw CeruleanPokecenterText3
+ dw CeruleanPokecenterText4
CeruleanPokecenterText4: ; 5c653 (17:4653)
db $f6
@@ -92111,7 +96198,7 @@ CeruleanPokecenterBlocks: ; 5c68b (17:468b)
CeruleanGym_h: ; 0x5c6a7 to 0x5c6b3 (12 bytes) (id=65)
db $07 ; tileset
db CERULEAN_GYM_HEIGHT, CERULEAN_GYM_WIDTH ; dimensions (y, x)
- dw CeruleanGymBlocks, CeruleanGymTexts, CeruleanGymScript ; blocks, texts, scripts
+ dw CeruleanGymBlocks, CeruleanGymTextPointers, CeruleanGymScript ; blocks, texts, scripts
db $00 ; connections
dw CeruleanGymObject ; objects
@@ -92120,16 +96207,16 @@ CeruleanGymScript: ; 5c6b3 (17:46b3)
ld hl, $d126
bit 6, [hl]
res 6, [hl]
- call nz, CeruleanGymScript_Unknown5c6d0
+ call nz, CeruleanGymScript_5c6d0
call EnableAutoTextBoxDrawing
ld hl, CeruleanGymTrainerHeaders
- ld de, Unknown_5c6f8 ; $46f8
+ ld de, CeruleanGymScriptPointers
ld a, [W_CERULEANGYMCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_CERULEANGYMCURSCRIPT], a
ret
-CeruleanGymScript_Unknown5c6d0: ; 5c6d0 (17:46d0)
+CeruleanGymScript_5c6d0: ; 5c6d0 (17:46d0)
ld hl, Gym2CityName ; $46d9
ld de, Gym2LeaderName ; $46e7
jp LoadGymLeaderAndCityName
@@ -92142,18 +96229,23 @@ Gym2LeaderName: ; 5c6e7 (17:46e7)
Func_5c6ed: ; 5c6ed (17:46ed)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_CERULEANGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_5c6f8: ; 5c6f8 (17:46f8)
-INCBIN "baserom.gbc",$5c6f8,$5c700 - $5c6f8
+CeruleanGymScriptPointers: ; 5c6f8 (17:46f8)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
+ dw CeruleanGymScript3
+
+CeruleanGymScript3: ; 5c700 (17:4700)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_5c6ed
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
Func_5c70d: ; 5c70d (17:470d)
ld a, $5
@@ -92184,8 +96276,14 @@ Func_5c70d: ; 5c70d (17:470d)
set 3, [hl]
jp Func_5c6ed
-CeruleanGymTexts: ; 5c74a (17:474a)
- dw CeruleanGymText1, CeruleanGymText2, CeruleanGymText3, CeruleanGymText4, CeruleanGymText5, CeruleanGymText6, CeruleanGymText7
+CeruleanGymTextPointers: ; 5c74a (17:474a)
+ dw CeruleanGymText1
+ dw CeruleanGymText2
+ dw CeruleanGymText3
+ dw CeruleanGymText4
+ dw CeruleanGymText5
+ dw CeruleanGymText6
+ dw CeruleanGymText7
CeruleanGymTrainerHeaders: ; 5c758 (17:4758)
CeruleanGymTrainerHeader0: ; 5c758 (17:4758)
@@ -92206,7 +96304,7 @@ CeruleanGymTrainerHeader1: ; 5c764 (17:4764)
dw CeruleanGymEndBattleText2 ; 0x4807 TextEndBattle
dw CeruleanGymEndBattleText2 ; 0x4807 TextEndBattle
-db $ff
+ db $ff
CeruleanGymText1: ; 5c771 (17:4771)
db $08 ; asm
@@ -92352,7 +96450,7 @@ CeruleanGymBlocks: ; 5c866 (17:4866)
CeruleanMart_h: ; 0x5c889 to 0x5c895 (12 bytes) (id=67)
db $02 ; tileset
db CERULEAN_MART_HEIGHT, CERULEAN_MART_WIDTH ; dimensions (y, x)
- dw CeruleanMartBlocks, CeruleanMartTexts, CeruleanMartScript ; blocks, texts, scripts
+ dw CeruleanMartBlocks, CeruleanMartTextPointers, CeruleanMartScript ; blocks, texts, scripts
db $00 ; connections
dw CeruleanMartObject ; objects
@@ -92360,8 +96458,10 @@ CeruleanMart_h: ; 0x5c889 to 0x5c895 (12 bytes) (id=67)
CeruleanMartScript: ; 5c895 (17:4895)
jp EnableAutoTextBoxDrawing
-CeruleanMartTexts: ; 5c898 (17:4898)
- dw CeruleanMartText1, CeruleanMartText2, CeruleanMartText3
+CeruleanMartTextPointers: ; 5c898 (17:4898)
+ dw CeruleanMartText1
+ dw CeruleanMartText2
+ dw CeruleanMartText3
CeruleanMartText2: ; 5c89e (17:489e)
TX_FAR _CeruleanMartText2
@@ -92392,7 +96492,7 @@ CeruleanMartObject: ; 0x5c8a8 (size=38)
LavenderPokecenter_h: ; 0x5c8ce to 0x5c8da (12 bytes) (id=141)
db $06 ; tileset
db LAVENDER_POKECENTER_HEIGHT, LAVENDER_POKECENTER_WIDTH ; dimensions (y, x)
- dw LavenderPokecenterBlocks, LavenderPokecenterTexts, LavenderPokecenterScript ; blocks, texts, scripts
+ dw LavenderPokecenterBlocks, LavenderPokecenterTextPointers, LavenderPokecenterScript ; blocks, texts, scripts
db $00 ; connections
dw LavenderPokecenterObject ; objects
@@ -92401,8 +96501,11 @@ LavenderPokecenterScript: ; 5c8da (17:48da)
call Func_22fa
jp EnableAutoTextBoxDrawing
-LavenderPokecenterTexts: ; 5c8e0 (17:48e0)
- dw LavenderPokecenterText1, LavenderPokecenterText2, LavenderPokecenterText3, LavenderPokecenterText4
+LavenderPokecenterTextPointers: ; 5c8e0 (17:48e0)
+ dw LavenderPokecenterText1
+ dw LavenderPokecenterText2
+ dw LavenderPokecenterText3
+ dw LavenderPokecenterText4
LavenderPokecenterText4: ; 5c8e8 (17:48e8)
db $f6
@@ -92440,7 +96543,7 @@ LavenderPokecenterObject: ; 0x5c8f4 (size=44)
LavenderMart_h: ; 0x5c920 to 0x5c92c (12 bytes) (id=150)
db $02 ; tileset
db LAVENDER_MART_HEIGHT, LAVENDER_MART_WIDTH ; dimensions (y, x)
- dw LavenderMartBlocks, LavenderMartTexts, LavenderMartScript ; blocks, texts, scripts
+ dw LavenderMartBlocks, LavenderMartTextPointers, LavenderMartScript ; blocks, texts, scripts
db $00 ; connections
dw LavenderMartObject ; objects
@@ -92448,8 +96551,10 @@ LavenderMart_h: ; 0x5c920 to 0x5c92c (12 bytes) (id=150)
LavenderMartScript: ; 5c92c (17:492c)
jp EnableAutoTextBoxDrawing
-LavenderMartTexts: ; 5c92f (17:492f)
- dw LavenderMartText1, LavenderMartText2, LavenderMartText3
+LavenderMartTextPointers: ; 5c92f (17:492f)
+ dw LavenderMartText1
+ dw LavenderMartText2
+ dw LavenderMartText3
LavenderMartText2: ; 5c935 (17:4935)
TX_FAR _LavenderMartText2
@@ -92498,7 +96603,7 @@ LavenderMartObject: ; 0x5c95d (size=38)
VermilionPokecenter_h: ; 0x5c983 to 0x5c98f (12 bytes) (id=89)
db $06 ; tileset
db VERMILION_POKECENTER_HEIGHT, VERMILION_POKECENTER_WIDTH ; dimensions (y, x)
- dw VermilionPokecenterBlocks, VermilionPokecenterTexts, VermilionPokecenterScript ; blocks, texts, scripts
+ dw VermilionPokecenterBlocks, VermilionPokecenterTextPointers, VermilionPokecenterScript ; blocks, texts, scripts
db $00 ; connections
dw VermilionPokecenterObject ; objects
@@ -92507,8 +96612,11 @@ VermilionPokecenterScript: ; 5c98f (17:498f)
call Func_22fa
jp EnableAutoTextBoxDrawing
-VermilionPokecenterTexts: ; 5c995 (17:4995)
- dw VermilionPokecenterText1, VermilionPokecenterText2, VermilionPokecenterText3, VermilionPokecenterText4
+VermilionPokecenterTextPointers: ; 5c995 (17:4995)
+ dw VermilionPokecenterText1
+ dw VermilionPokecenterText2
+ dw VermilionPokecenterText3
+ dw VermilionPokecenterText4
VermilionPokecenterText1: ; 5c99d (17:499d)
db $ff
@@ -92546,7 +96654,7 @@ VermilionPokecenterObject: ; 0x5c9a9 (size=44)
VermilionMart_h: ; 0x5c9d5 to 0x5c9e1 (12 bytes) (id=91)
db $02 ; tileset
db VERMILION_MART_HEIGHT, VERMILION_MART_WIDTH ; dimensions (y, x)
- dw VermilionMartBlocks, VermilionMartTexts, VermilionMartScript ; blocks, texts, scripts
+ dw VermilionMartBlocks, VermilionMartTextPointers, VermilionMartScript ; blocks, texts, scripts
db $00 ; connections
dw VermilionMartObject ; objects
@@ -92554,8 +96662,10 @@ VermilionMart_h: ; 0x5c9d5 to 0x5c9e1 (12 bytes) (id=91)
VermilionMartScript: ; 5c9e1 (17:49e1)
jp EnableAutoTextBoxDrawing
-VermilionMartTexts: ; 5c9e4 (17:49e4)
- dw VermilionMartText1, VermilionMartText2, VermilionMartText3
+VermilionMartTextPointers: ; 5c9e4 (17:49e4)
+ dw VermilionMartText1
+ dw VermilionMartText2
+ dw VermilionMartText3
VermilionMartText2: ; 5c9ea (17:49ea)
TX_FAR _VermilionMartText2
@@ -92586,7 +96696,7 @@ VermilionMartObject: ; 0x5c9f4 (size=38)
VermilionGym_h: ; 0x5ca1a to 0x5ca26 (12 bytes) (id=92)
db $07 ; tileset
db VERMILION_GYM_HEIGHT, VERMILION_GYM_WIDTH ; dimensions (y, x)
- dw VermilionGymBlocks, VermilionGymTexts, VermilionGymScript ; blocks, texts, scripts
+ dw VermilionGymBlocks, VermilionGymTextPointers, VermilionGymScript ; blocks, texts, scripts
db $00 ; connections
dw VermilionGymObject ; objects
@@ -92596,20 +96706,20 @@ VermilionGymScript: ; 5ca26 (17:4a26)
bit 5, [hl]
res 5, [hl]
push hl
- call nz, VermilionGymScript_Unknown5ca4c
+ call nz, VermilionGymScript_5ca4c
pop hl
bit 6, [hl]
res 6, [hl]
- call nz, Func_5ca6d
+ call nz, VermilionGymScript_5ca6d
call EnableAutoTextBoxDrawing
ld hl, VermilionGymTrainerHeader0
- ld de, Unknown_5ca95 ; $4a95
+ ld de, VermilionGymScriptPointers
ld a, [W_VERMILIONGYMCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_VERMILIONGYMCURSCRIPT], a
ret
-VermilionGymScript_Unknown5ca4c: ; 5ca4c (17:4a4c)
+VermilionGymScript_5ca4c: ; 5ca4c (17:4a4c)
ld hl, Gym3CityName ; $4a55
ld de, Gym3LeaderName ; $4a64
jp LoadGymLeaderAndCityName
@@ -92620,7 +96730,7 @@ Gym3CityName: ; 5ca55 (17:4a55)
Gym3LeaderName: ; 5ca64 (17:4a64)
db "LT.SURGE@"
-Func_5ca6d: ; 5ca6d (17:4a6d)
+VermilionGymScript_5ca6d: ; 5ca6d (17:4a6d)
ld a, [$d773]
bit 0, a
jr nz, .asm_5ca78
@@ -92636,20 +96746,25 @@ Func_5ca6d: ; 5ca6d (17:4a6d)
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
-Func_5ca8a: ; 5ca8a (17:4a8a)
+VermilionGymScript_5ca8a: ; 5ca8a (17:4a8a)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_VERMILIONGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_5ca95: ; 5ca95 (17:4a95)
-INCBIN "baserom.gbc",$5ca95,$5ca9d - $5ca95
+VermilionGymScriptPointers: ; 5ca95 (17:4a95)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
+ dw VermilionGymScript3
+
+VermilionGymScript3: ; 5ca9d (17:4a9d)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
- jp z, Func_5ca8a
+ jp z, VermilionGymScript_5ca8a
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
Func_5caaa: ; 5caaa (17:4aaa)
ld a, $6
@@ -92678,10 +96793,17 @@ Func_5caaa: ; 5caaa (17:4aaa)
ld a, [$d773]
or $1c
ld [$d773], a
- jp Func_5ca8a
-
-VermilionGymTexts: ; 5cae8 (17:4ae8)
- dw VermilionGymText1, VermilionGymText2, VermilionGymText3, VermilionGymText4, VermilionGymText5, VermilionGymText6, VermilionGymText7, VermilionGymText8
+ jp VermilionGymScript_5ca8a
+
+VermilionGymTextPointers: ; 5cae8 (17:4ae8)
+ dw VermilionGymText1
+ dw VermilionGymText2
+ dw VermilionGymText3
+ dw VermilionGymText4
+ dw VermilionGymText5
+ dw VermilionGymText6
+ dw VermilionGymText7
+ dw VermilionGymText8
VermilionGymTrainerHeaders: ; 5caf8 (17:4af8)
VermilionGymTrainerHeader0: ; 5caf8 (17:4af8)
@@ -92711,7 +96833,7 @@ VermilionGymTrainerHeader2: ; 5cb10 (17:4b10)
dw VermilionGymEndBattleText3 ; 0x4bd1 TextEndBattle
dw VermilionGymEndBattleText3 ; 0x4bd1 TextEndBattle
-db $ff
+ db $ff
VermilionGymText1: ; 5cb1d (17:4b1d)
db $08 ; asm
@@ -92878,7 +97000,7 @@ VermilionGymBlocks: ; 5cc38 (17:4c38)
CopycatsHouseF2_h: ; 0x5cc65 to 0x5cc71 (12 bytes) (id=176)
db $04 ; tileset
db COPYCATS_HOUSE_2F_HEIGHT, COPYCATS_HOUSE_2F_WIDTH ; dimensions (y, x)
- dw CopycatsHouseF2Blocks, CopycatsHouseF2Texts, CopycatsHouseF2Script ; blocks, texts, scripts
+ dw CopycatsHouseF2Blocks, CopycatsHouseF2TextPointers, CopycatsHouseF2Script ; blocks, texts, scripts
db $00 ; connections
dw CopycatsHouseF2Object ; objects
@@ -92886,8 +97008,14 @@ CopycatsHouseF2_h: ; 0x5cc65 to 0x5cc71 (12 bytes) (id=176)
CopycatsHouseF2Script: ; 5cc71 (17:4c71)
jp EnableAutoTextBoxDrawing
-CopycatsHouseF2Texts: ; 5cc74 (17:4c74)
- dw CopycatsHouseF2Text1, CopycatsHouseF2Text2, CopycatsHouseF2Text3, CopycatsHouseF2Text4, CopycatsHouseF2Text5, CopycatsHouseF2Text6, CopycatsHouseF2Text7
+CopycatsHouseF2TextPointers: ; 5cc74 (17:4c74)
+ dw CopycatsHouseF2Text1
+ dw CopycatsHouseF2Text2
+ dw CopycatsHouseF2Text3
+ dw CopycatsHouseF2Text4
+ dw CopycatsHouseF2Text5
+ dw CopycatsHouseF2Text6
+ dw CopycatsHouseF2Text7
CopycatsHouseF2Text1: ; 5cc82 (17:4c82)
db $08 ; asm
@@ -93005,7 +97133,7 @@ CopycatsHouseF2Object: ; 0x5cd21 (size=48)
FightingDojo_h: ; 0x5cd51 to 0x5cd5d (12 bytes) (id=177)
db $05 ; tileset
db FIGHTINGDOJO_HEIGHT, FIGHTINGDOJO_WIDTH ; dimensions (y, x)
- dw FightingDojoBlocks, FightingDojoTexts, FightingDojoScript ; blocks, texts, scripts
+ dw FightingDojoBlocks, FightingDojoTextPointers, FightingDojoScript ; blocks, texts, scripts
db $00 ; connections
dw FightingDojoObject ; objects
@@ -93013,19 +97141,98 @@ FightingDojo_h: ; 0x5cd51 to 0x5cd5d (12 bytes) (id=177)
FightingDojoScript: ; 5cd5d (17:4d5d)
call EnableAutoTextBoxDrawing
ld hl, FightingDojoTrainerHeaders
- ld de, Unknown_5cd7b ; $4d7b
+ ld de, FightingDojoScriptPointers
ld a, [W_FIGHTINGDOJOCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_FIGHTINGDOJOCURSCRIPT], a
ret
-INCBIN "baserom.gbc",$5cd70,$5cd7b - $5cd70
+FightingDojoScript_5cd70: ; 5cd70 (17:4d70)
+ xor a
+ ld [$cd6b], a
+ ld [$d642], a
+ ld [$da39], a
+ ret
-Unknown_5cd7b: ; 5cd7b (17:4d7b)
-INCBIN "baserom.gbc",$5cd7b,$5ce03 - $5cd7b
+FightingDojoScriptPointers: ; 5cd7b (17:4d7b)
+ dw FightingDojoScript1
+ dw Func_324c
+ dw EndTrainerBattle
+ dw FightingDojoScript3
-FightingDojoTexts: ; 5ce03 (17:4e03)
- dw FightingDojoText1, FightingDojoText2, FightingDojoText3, FightingDojoText4, FightingDojoText5, FightingDojoText6, FightingDojoText7, FightingDojoText8
+FightingDojoScript1: ; 5cd83 (17:4d83)
+ ld a, [$d7b1]
+ bit 0, a
+ ret nz
+ call CheckFightingMapTrainers
+ ld a, [wTrainerHeaderFlagBit]
+ and a
+ ret nz
+ ld a, [$d7b1]
+ bit 1, a
+ ret nz
+ xor a
+ ld [H_CURRENTPRESSEDBUTTONS], a
+ ld [$cf0d], a
+ ld a, [W_YCOORD]
+ cp $3
+ ret nz
+ ld a, [W_XCOORD]
+ cp $4
+ ret nz
+ ld a, $1
+ ld [$cf0d], a
+ ld a, $1
+ ld [$d528], a
+ ld a, $1
+ ld [$ff8c], a
+ ld a, $8
+ ld [$ff8d], a
+ call $34a6
+ ld a, $1
+ ld [$ff8c], a
+ call DisplayTextID
+ ret
+
+FightingDojoScript3: ; 5cdc6 (17:4dc6)
+ ld a, [$d057]
+ cp $ff
+ jp z, $4d70
+ ld a, [$cf0d]
+ and a
+ jr z, .asm_5cde4
+ ld a, $1
+ ld [$d528], a
+ ld a, $1
+ ld [$ff8c], a
+ ld a, $8
+ ld [$ff8d], a
+ call $34a6
+
+.asm_5cde4
+ ld a, $f0
+ ld [$cd6b], a
+ ld a, [$d7b1]
+ or $3e
+ ld [$d7b1], a
+ ld a, $8
+ ld [$ff8c], a
+ call DisplayTextID
+ xor a
+ ld [$cd6b], a
+ ld [$d642], a
+ ld [$da39], a
+ ret
+
+FightingDojoTextPointers: ; 5ce03 (17:4e03)
+ dw FightingDojoText1
+ dw FightingDojoText2
+ dw FightingDojoText3
+ dw FightingDojoText4
+ dw FightingDojoText5
+ dw FightingDojoText6
+ dw FightingDojoText7
+ dw FightingDojoText8
FightingDojoTrainerHeaders: ; 5ce13 (17:4e13)
FightingDojoTrainerHeader0: ; 5ce13 (17:4e13)
@@ -93064,7 +97271,7 @@ FightingDojoTrainerHeader3: ; 5ce37 (17:4e37)
dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle
dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle
-db $ff
+ db $ff
FightingDojoText1: ; 5ce44 (17:4e44)
db $08 ; asm
@@ -93297,7 +97504,7 @@ FightingDojoBlocks: ; 5cfe3 (17:4fe3)
SaffronGym_h: ; 0x5d001 to 0x5d00d (12 bytes) (id=178)
db $16 ; tileset
db SAFFRON_GYM_HEIGHT, SAFFRON_GYM_WIDTH ; dimensions (y, x)
- dw SaffronGymBlocks, SaffronGymTexts, SaffronGymScript ; blocks, texts, scripts
+ dw SaffronGymBlocks, SaffronGymTextPointers, SaffronGymScript ; blocks, texts, scripts
db $00 ; connections
dw SaffronGymObject ; objects
@@ -93308,8 +97515,8 @@ SaffronGymScript: ; 5d00d (17:500d)
res 6, [hl]
call nz, .extra
call EnableAutoTextBoxDrawing
- ld hl, SaffronGymTrainerHeader0 ; $50c3
- ld de, Unknown_5d053 ; $5053
+ ld hl, SaffronGymTrainerHeader0
+ ld de, SaffronGymScriptPointers
ld a, [W_SAFFRONGYMCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SAFFRONGYMCURSCRIPT], a
@@ -93328,18 +97535,23 @@ Gym6LeaderName: ; 5d040 (17:5040)
Func_5d048: ; 5d048 (17:5048)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_SAFFRONGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_5d053: ; 5d053 (17:5053)
-INCBIN "baserom.gbc",$5d053,$5d05b - $5d053
+SaffronGymScriptPointers: ; 5d053 (17:5053)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
+ dw SaffronGymScript3
+
+SaffronGymScript3: ; 5d05b (17:505b)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_5d048
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
Func_5d068: ; 5d068 (17:5068)
ld a, $a
@@ -93372,8 +97584,19 @@ Func_5d068: ; 5d068 (17:5068)
set 0, [hl]
jp Func_5d048
-SaffronGymTexts: ; 5d0ab (17:50ab)
- dw SaffronGymText1, SaffronGymText2, SaffronGymText3, SaffronGymText4, SaffronGymText5, SaffronGymText6, SaffronGymText7, SaffronGymText8, SaffronGymText9, SaffronGymText10, SaffronGymText11, SaffronGymText12
+SaffronGymTextPointers: ; 5d0ab (17:50ab)
+ dw SaffronGymText1
+ dw SaffronGymText2
+ dw SaffronGymText3
+ dw SaffronGymText4
+ dw SaffronGymText5
+ dw SaffronGymText6
+ dw SaffronGymText7
+ dw SaffronGymText8
+ dw SaffronGymText9
+ dw SaffronGymText10
+ dw SaffronGymText11
+ dw SaffronGymText12
SaffronGymTrainerHeaders: ; 5d0c3 (17:50c3)
SaffronGymTrainerHeader0: ; 5d0c3 (17:50c3)
@@ -93439,7 +97662,7 @@ SaffronGymTrainerHeader6: ; 5d10b (17:510b)
dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle
dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle
-db $ff
+ db $ff
SaffronGymText1: ; 5d118 (17:5118)
db $08 ; asm
@@ -93741,7 +97964,7 @@ SaffronGymBlocks: ; 5d3a3 (17:53a3)
SaffronMart_h: ; 0x5d3fd to 0x5d409 (12 bytes) (id=180)
db $02 ; tileset
db SAFFRON_MART_HEIGHT, SAFFRON_MART_WIDTH ; dimensions (y, x)
- dw SaffronMartBlocks, SaffronMartTexts, SaffronMartScript ; blocks, texts, scripts
+ dw SaffronMartBlocks, SaffronMartTextPointers, SaffronMartScript ; blocks, texts, scripts
db $00 ; connections
dw SaffronMartObject ; objects
@@ -93749,8 +97972,10 @@ SaffronMart_h: ; 0x5d3fd to 0x5d409 (12 bytes) (id=180)
SaffronMartScript: ; 5d409 (17:5409)
jp EnableAutoTextBoxDrawing
-SaffronMartTexts: ; 5d40c (17:540c)
- dw SaffronMartText1, SaffronMartText2, SaffronMartText3
+SaffronMartTextPointers: ; 5d40c (17:540c)
+ dw SaffronMartText1
+ dw SaffronMartText2
+ dw SaffronMartText3
SaffronMartText2: ; 5d412 (17:5412)
TX_FAR _SaffronMartText2
@@ -93781,7 +98006,7 @@ SaffronMartObject: ; 0x5d41c (size=38)
SilphCo1_h: ; 0x5d442 to 0x5d44e (12 bytes) (id=181)
db $16 ; tileset
db SILPH_CO_1F_HEIGHT, SILPH_CO_1F_WIDTH ; dimensions (y, x)
- dw SilphCo1Blocks, SilphCo1Texts, SilphCo1Script ; blocks, texts, scripts
+ dw SilphCo1Blocks, SilphCo1TextPointers, SilphCo1Script ; blocks, texts, scripts
db $00 ; connections
dw SilphCo1Object ; objects
@@ -93800,7 +98025,7 @@ SilphCo1Script: ; 5d44e (17:544e)
ld a, $15
jp Predef
-SilphCo1Texts: ; 5d469 (17:5469)
+SilphCo1TextPointers: ; 5d469 (17:5469)
dw SilphCo1Text1
SilphCo1Text1: ; 5d46b (17:546b)
@@ -93835,7 +98060,7 @@ SilphCo1Blocks: ; 5d4a2 (17:54a2)
SaffronPokecenter_h: ; 0x5d529 to 0x5d535 (12 bytes) (id=182)
db $06 ; tileset
db SAFFRON_POKECENTER_HEIGHT, SAFFRON_POKECENTER_WIDTH ; dimensions (y, x)
- dw SaffronPokecenterBlocks, SaffronPokecenterTexts, SaffronPokecenterScript ; blocks, texts, scripts
+ dw SaffronPokecenterBlocks, SaffronPokecenterTextPointers, SaffronPokecenterScript ; blocks, texts, scripts
db $00 ; connections
dw SaffronPokecenterObject ; objects
@@ -93844,8 +98069,11 @@ SaffronPokecenterScript: ; 5d535 (17:5535)
call Func_22fa
jp EnableAutoTextBoxDrawing
-SaffronPokecenterTexts: ; 5d53b (17:553b)
- dw SaffronPokecenterText1, SaffronPokecenterText2, SaffronPokecenterText3, SaffronPokecenterText4
+SaffronPokecenterTextPointers: ; 5d53b (17:553b)
+ dw SaffronPokecenterText1
+ dw SaffronPokecenterText2
+ dw SaffronPokecenterText3
+ dw SaffronPokecenterText4
SaffronPokecenterText1: ; 5d543 (17:5543)
db $ff
@@ -93883,7 +98111,7 @@ SaffronPokecenterObject: ; 0x5d54f (size=44)
ViridianForestexit_h: ; 0x5d57b to 0x5d587 (12 bytes) (id=47)
db $09 ; tileset
db VIRIDIAN_FOREST_EXIT_HEIGHT, VIRIDIAN_FOREST_EXIT_WIDTH ; dimensions (y, x)
- dw ViridianForestexitBlocks, ViridianForestexitTexts, ViridianForestexitScript ; blocks, texts, scripts
+ dw ViridianForestexitBlocks, ViridianForestexitTextPointers, ViridianForestexitScript ; blocks, texts, scripts
db $00 ; connections
dw ViridianForestexitObject ; objects
@@ -93891,8 +98119,9 @@ ViridianForestexit_h: ; 0x5d57b to 0x5d587 (12 bytes) (id=47)
ViridianForestexitScript: ; 5d587 (17:5587)
jp EnableAutoTextBoxDrawing
-ViridianForestexitTexts: ; 5d58a (17:558a)
- dw ViridianForestexitText1, ViridianForestexitText2
+ViridianForestexitTextPointers: ; 5d58a (17:558a)
+ dw ViridianForestexitText1
+ dw ViridianForestexitText2
ViridianForestexitText1: ; 5d58e (17:558e)
TX_FAR _ViridianForestexitText1
@@ -93926,7 +98155,7 @@ ViridianForestexitObject: ; 0x5d598 (size=48)
Route2Gate_h: ; 0x5d5c8 to 0x5d5d4 (12 bytes) (id=49)
db $0c ; tileset
db ROUTE_2_GATE_HEIGHT, ROUTE_2_GATE_WIDTH ; dimensions (y, x)
- dw Route2GateBlocks, Route2GateTexts, Route2GateScript ; blocks, texts, scripts
+ dw Route2GateBlocks, Route2GateTextPointers, Route2GateScript ; blocks, texts, scripts
db $00 ; connections
dw Route2GateObject ; objects
@@ -93934,8 +98163,9 @@ Route2Gate_h: ; 0x5d5c8 to 0x5d5d4 (12 bytes) (id=49)
Route2GateScript: ; 5d5d4 (17:55d4)
jp EnableAutoTextBoxDrawing
-Route2GateTexts: ; 5d5d7 (17:55d7)
- dw Route2GateText1, Route2GateText2
+Route2GateTextPointers: ; 5d5d7 (17:55d7)
+ dw Route2GateText1
+ dw Route2GateText2
Route2GateText1: ; 5d5db (17:55db)
db $08 ; asm
@@ -93997,7 +98227,7 @@ Route2GateObject: ; 0x5d620 (size=48)
ViridianForestEntrance_h: ; 0x5d650 to 0x5d65c (12 bytes) (id=50)
db $09 ; tileset
db VIRIDIAN_FOREST_ENTRANCE_HEIGHT, VIRIDIAN_FOREST_ENTRANCE_WIDTH ; dimensions (y, x)
- dw ViridianForestEntranceBlocks, ViridianForestEntranceTexts, ViridianForestEntranceScript ; blocks, texts, scripts
+ dw ViridianForestEntranceBlocks, ViridianForestEntranceTextPointers, ViridianForestEntranceScript ; blocks, texts, scripts
db $00 ; connections
dw ViridianForestEntranceObject ; objects
@@ -94005,8 +98235,9 @@ ViridianForestEntrance_h: ; 0x5d650 to 0x5d65c (12 bytes) (id=50)
ViridianForestEntranceScript: ; 5d65c (17:565c)
jp EnableAutoTextBoxDrawing
-ViridianForestEntranceTexts: ; 5d65f (17:565f)
- dw ViridianForestEntranceText1, ViridianForestEntranceText2
+ViridianForestEntranceTextPointers: ; 5d65f (17:565f)
+ dw ViridianForestEntranceText1
+ dw ViridianForestEntranceText2
ViridianForestEntranceText1: ; 5d663 (17:5663)
TX_FAR _ViridianForestEntranceText1
@@ -94040,7 +98271,7 @@ ViridianForestEntranceObject: ; 0x5d66d (size=48)
UndergroundTunnelEntranceRoute5_h: ; 0x5d69d to 0x5d6a9 (12 bytes) (id=71)
db $0c ; tileset
db PATH_ENTRANCE_ROUTE_5_HEIGHT, PATH_ENTRANCE_ROUTE_5_WIDTH ; dimensions (y, x)
- dw UndergroundTunnelEntranceRoute5Blocks, UndergroundTunnelEntranceRoute5Texts, UndergroundTunnelEntranceRoute5Script ; blocks, texts, scripts
+ dw UndergroundTunnelEntranceRoute5Blocks, UndergroundTunnelEntranceRoute5TextPointers, UndergroundTunnelEntranceRoute5Script ; blocks, texts, scripts
db $00 ; connections
dw UndergroundTunnelEntranceRoute5Object ; objects
@@ -94053,13 +98284,13 @@ UndergroundTunnelEntranceRoute5Script: ; 5d6a9 (17:56a9)
UndergroundTunnelEntranceRoute5_5d6af: ; 5d6af (17:56af)
db $50
-UndergroundTunnelEntranceRoute5Texts: ; 5d6b0 (17:56b0)
+UndergroundTunnelEntranceRoute5TextPointers: ; 5d6b0 (17:56b0)
dw UndergroundTunnelEntranceRoute5Text1
UndergroundTunnelEntranceRoute5Text1: ; 5d6b2 (17:56b2)
db $08 ; asm
ld a, $9
- ld [W_WHICHTRADE], a
+ ld [wWhichTrade], a
ld a, $54
call Predef
ld hl, UndergroundTunnelEntranceRoute5_5d6af
@@ -94086,7 +98317,7 @@ UndergroundTunnelEntranceRoute5Object: ; 0x5d6c1 (size=34)
UndergroundTunnelEntranceRoute6_h: ; 0x5d6e3 to 0x5d6ef (12 bytes) (id=74)
db $0c ; tileset
db PATH_ENTRANCE_ROUTE_6_HEIGHT, PATH_ENTRANCE_ROUTE_6_WIDTH ; dimensions (y, x)
- dw UndergroundTunnelEntranceRoute6Blocks, UndergroundTunnelEntranceRoute6Texts, UndergroundTunnelEntranceRoute6Script ; blocks, texts, scripts
+ dw UndergroundTunnelEntranceRoute6Blocks, UndergroundTunnelEntranceRoute6TextPointers, UndergroundTunnelEntranceRoute6Script ; blocks, texts, scripts
db $00 ; connections
dw UndergroundTunnelEntranceRoute6Object ; objects
@@ -94096,7 +98327,7 @@ UndergroundTunnelEntranceRoute6Script: ; 5d6ef (17:56ef)
ld [$d365], a
jp EnableAutoTextBoxDrawing
-UndergroundTunnelEntranceRoute6Texts: ; 5d6f7 (17:56f7)
+UndergroundTunnelEntranceRoute6TextPointers: ; 5d6f7 (17:56f7)
dw UndergroundTunnelEntranceRoute6Text1
;XXX wtf? syntax error on TX_FAR?
@@ -94126,7 +98357,7 @@ UndergroundTunnelEntranceRoute6Object: ; 0x5d6fe (size=34)
UndergroundPathEntranceRoute7_h: ; 0x5d720 to 0x5d72c (12 bytes) (id=77)
db $0c ; tileset
db PATH_ENTRANCE_ROUTE_7_HEIGHT, PATH_ENTRANCE_ROUTE_7_WIDTH ; dimensions (y, x)
- dw UndergroundTunnelEntranceRoute7Blocks, UndergroundPathEntranceRoute7Texts, UndergroundPathEntranceRoute7Script ; blocks, texts, scripts
+ dw UndergroundTunnelEntranceRoute7Blocks, UndergroundPathEntranceRoute7TextPointers, UndergroundPathEntranceRoute7Script ; blocks, texts, scripts
db $00 ; connections
dw UndergroundPathEntranceRoute7Object ; objects
@@ -94136,7 +98367,7 @@ UndergroundPathEntranceRoute7Script: ; 5d72c (17:572c)
ld [$d365], a
jp EnableAutoTextBoxDrawing
-UndergroundPathEntranceRoute7Texts: ; 5d734 (17:5734)
+UndergroundPathEntranceRoute7TextPointers: ; 5d734 (17:5734)
dw UndergroundPathEntranceRoute7Text1
UndergroundPathEntranceRoute7Text1: ; 5d736 (17:5736)
@@ -94162,7 +98393,22 @@ UndergroundPathEntranceRoute7Object: ; 0x5d73b (size=34)
EVENT_DISP $4, $7, $4
EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_WE
-INCBIN "baserom.gbc",$5d75d,$5d773 - $5d75d
+UndergroundPathEntranceRoute7Copy_h: ; 5d75d (17:575d)
+ db $0c ; tileset
+ db PATH_ENTRANCE_ROUTE_7_HEIGHT, PATH_ENTRANCE_ROUTE_7_WIDTH ; dimensions (y, x)
+ dw UndergroundTunnelEntranceRoute7CopyBlocks, UndergroundPathEntranceRoute7CopyTextPointers, UndergroundPathEntranceRoute7CopyScript ; blocks, texts, scripts
+ db $00 ; connections
+
+ dw UndergroundPathEntranceRoute7CopyObject ; objects
+
+UndergroundPathEntranceRoute7CopyScript: ; 5d769 (17:5769)
+ ld a, $12
+ ld [$d365], a
+ ret
+
+UndergroundPathEntranceRoute7CopyTextPointers: ; 5d76f (17:576f)
+ dw UnnamedText_5d773
+ dw UnnamedText_5d77d
UnnamedText_5d773: ; 5d773 (17:5773)
TX_FAR _UnnamedText_5d773
@@ -94180,32 +98426,49 @@ UnnamedText_5d782: ; 5d782 (17:5782)
TX_FAR _UnnamedText_5d782
db "@"
-INCBIN "baserom.gbc",$5d787,$5d7af - $5d787
+UndergroundPathEntranceRoute7CopyObject: ; 5d787 (17:5787)
+ db $a ; border tile
+
+ db $3 ; warps
+ db $7, $3, $5, $ff
+ db $7, $4, $5, $ff
+ db $4, $4, $0, UNDERGROUND_PATH_WE
+
+ db $0 ; signs
+
+ db $2 ; people
+ db SPRITE_GIRL, $2 + 4, $3 + 4, $ff, $ff, $1 ; person
+ db SPRITE_FAT_BALD_GUY, $4 + 4, $2 + 4, $ff, $ff, $2 ; person
+
+ ; warp-to
+ EVENT_DISP $4, $7, $3
+ EVENT_DISP $4, $7, $4
+ EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_WE
SilphCo9_h: ; 0x5d7af to 0x5d7bb (12 bytes) (id=233)
db $16 ; tileset
db SILPH_CO_9F_HEIGHT, SILPH_CO_9F_WIDTH ; dimensions (y, x)
- dw SilphCo9Blocks, SilphCo9Texts, SilphCo9Script ; blocks, texts, scripts
+ dw SilphCo9Blocks, SilphCo9TextPointers, SilphCo9Script ; blocks, texts, scripts
db $00 ; connections
dw SilphCo9Object ; objects
SilphCo9Script: ; 5d7bb (17:57bb)
- call SilphCo9Script_Unknown5d7d1
+ call SilphCo9Script_5d7d1
call EnableAutoTextBoxDrawing
ld hl, SilphCo9TrainerHeaders
- ld de, Unknown_5d885 ; $5885
+ ld de, SilphCo9ScriptPointers
ld a, [W_SILPHCO9CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SILPHCO9CURSCRIPT], a
ret
-SilphCo9Script_Unknown5d7d1: ; 5d7d1 (17:57d1)
+SilphCo9Script_5d7d1: ; 5d7d1 (17:57d1)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
- ld hl, Unknown_5d82e ; $582e
+ ld hl, DataTable_5d82e ; $582e
call Func_5d837
call Func_5d863
ld a, [$d834]
@@ -94247,8 +98510,8 @@ SilphCo9Script_Unknown5d7d1: ; 5d7d1 (17:57d1)
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
-Unknown_5d82e: ; 5d82e (17:582e)
-INCBIN "baserom.gbc",$5d82e,$5d837 - $5d82e
+DataTable_5d82e: ; 5d82e (17:582e)
+ db $04,$01,$02,$09,$05,$09,$06,$05,$FF
Func_5d837: ; 5d837 (17:5837)
push hl
@@ -94311,11 +98574,16 @@ Func_5d863: ; 5d863 (17:5863)
set 3, [hl]
ret
-Unknown_5d885: ; 5d885 (17:5885)
-INCBIN "baserom.gbc",$5d885,$5d88b - $5d885
+SilphCo9ScriptPointers: ; 5d885 (17:5885)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-SilphCo9Texts: ; 5d88b (17:588b)
- dw SilphCo9Text1, SilphCo9Text2, SilphCo9Text3, SilphCo9Text4
+SilphCo9TextPointers: ; 5d88b (17:588b)
+ dw SilphCo9Text1
+ dw SilphCo9Text2
+ dw SilphCo9Text3
+ dw SilphCo9Text4
SilphCo9TrainerHeaders: ; 5d893 (17:5893)
SilphCo9TrainerHeader0: ; 5d893 (17:5893)
@@ -94345,7 +98613,7 @@ SilphCo9TrainerHeader2: ; 5d8ab (17:58ab)
dw SilphCo9EndBattleText3 ; 0x5935 TextEndBattle
dw SilphCo9EndBattleText3 ; 0x5935 TextEndBattle
-db $ff
+ db $ff
SilphCo9Text1: ; 5d8b8 (17:58b8)
db $08 ; asm
@@ -94465,7 +98733,7 @@ SilphCo9Blocks: ; 5d989 (17:5989)
VictoryRoad1_h: ; 0x5d9fe to 0x5da0a (12 bytes) (id=108)
db $11 ; tileset
db VICTORY_ROAD_1_HEIGHT, VICTORY_ROAD_1_WIDTH ; dimensions (y, x)
- dw VictoryRoad1Blocks, VictoryRoad1Texts, VictoryRoad1Script ; blocks, texts, scripts
+ dw VictoryRoad1Blocks, VictoryRoad1TextPointers, VictoryRoad1Script ; blocks, texts, scripts
db $00 ; connections
dw VictoryRoad1Object ; objects
@@ -94477,7 +98745,7 @@ VictoryRoad1Script: ; 5da0a (17:5a0a)
call nz, .next
call EnableAutoTextBoxDrawing
ld hl, VictoryRoad1TrainerHeaders
- ld de, Unknown_5da3a ; $5a3a
+ ld de, VictoryRoad1ScriptPointers
ld a, [W_VICTORYROAD1CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_VICTORYROAD1CURSCRIPT], a
@@ -94492,12 +98760,16 @@ VictoryRoad1Script: ; 5da0a (17:5a0a)
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
-Unknown_5da3a: ; 5da3a (17:5a3a)
-INCBIN "baserom.gbc",$5da3a,$5da40 - $5da3a
+VictoryRoad1ScriptPointers: ; 5da3a (17:5a3a)
+ dw VictoryRoad1Script0
+ dw Func_324c
+ dw EndTrainerBattle
+
+VictoryRoad1Script0: ; 5da40 (17:5a40)
ld a, [$d869]
bit 7, a
jp nz, CheckFightingMapTrainers
- ld hl, Unknown_5da5c ; $5a5c
+ ld hl, CoordsData_5da5c ; $5a5c
call CheckBoulderCoords
jp nc, CheckFightingMapTrainers
ld hl, $d126
@@ -94506,11 +98778,17 @@ INCBIN "baserom.gbc",$5da3a,$5da40 - $5da3a
set 7, [hl]
ret
-Unknown_5da5c: ; 5da5c (17:5a5c)
-INCBIN "baserom.gbc",$5da5c,$5da5f - $5da5c
+CoordsData_5da5c: ; 5da5c (17:5a5c)
+ db $0D,$11,$FF
-VictoryRoad1Texts: ; 5da5f (17:5a5f)
- dw VictoryRoad1Text1, VictoryRoad1Text2, Predef5CText, Predef5CText, BoulderText, BoulderText, BoulderText
+VictoryRoad1TextPointers: ; 5da5f (17:5a5f)
+ dw VictoryRoad1Text1
+ dw VictoryRoad1Text2
+ dw Predef5CText
+ dw Predef5CText
+ dw BoulderText
+ dw BoulderText
+ dw BoulderText
VictoryRoad1TrainerHeaders: ; 5da6d (17:5a6d)
VictoryRoad1TrainerHeader0: ; 5da6d (17:5a6d)
@@ -94531,7 +98809,7 @@ VictoryRoad1TrainerHeader1: ; 5da79 (17:5a79)
dw VictoryRoad1EndBattleText2 ; 0x5aae TextEndBattle
dw VictoryRoad1EndBattleText2 ; 0x5aae TextEndBattle
-db $ff
+ db $ff
VictoryRoad1Text1: ; 5da86 (17:5a86)
db $08 ; asm
@@ -94612,13 +98890,32 @@ SetPartyMonTypes: ; 5db5e (17:5b5e)
ld [hl], a
ret
-INCBIN "baserom.gbc",$5db79,$5db81 - $5db79
+Func_5db79: ; 5db79 (17:5b79)
+ call EnableAutoTextBoxDrawing
+ ld a, $4
+ jp Func_3ef5
UnnamedText_5db81: ; 5db81 (17:5b81)
TX_FAR _UnnamedText_5db81
db "@"
-INCBIN "baserom.gbc",$5db86,$5dba8 - $5db86
+Func_5db86: ; 5db86 (17:5b86)
+ call EnableAutoTextBoxDrawing
+ ld a, $3
+ jp Func_3ef5
+
+Func_5db8e: ; 5db8e (17:5b8e)
+ db $fc
+ ld a, [$c109]
+ cp $4
+ ret nz
+ call EnableAutoTextBoxDrawing
+ ld a, $a
+ call Func_3ef5
+ ld a, ARTICUNO
+ ld [$cf91], a
+ call PlayCry
+ jp Func_5dbd9
UnnamedText_5dba8: ; 5dba8 (17:5ba8)
TX_FAR _UnnamedText_5dba8
@@ -94677,7 +98974,7 @@ Func_5dbd9: ; 5dbd9 (17:5bd9)
ld [$FF00+$b0], a
ret
-Unknown_5dc1a: ; 5dc1a (17:5c1a)
+Func_5dc1a: ; 5dc1a (17:5c1a)
call EnableAutoTextBoxDrawing
ld a, $1
ld [$cc3c], a
@@ -94685,28 +98982,27 @@ Unknown_5dc1a: ; 5dc1a (17:5c1a)
call Func_3ef5
ret
-INCBIN "baserom.gbc",$5dc29,$5dc2a - $5dc29
-
-Unknown_5dc2a: ; 5dc2a (17:5c2a)
+UnnamedText_5dc29: ; 5dc29 (17:5c29)
+ db $08 ; asm
call SaveScreenTilesToBuffer1
ld hl, UnnamedText_5dc9e
call PrintText
xor a
- ld [$d07c], a
- ld [$cc26], a
- ld [$cc2a], a
+ ld [W_ANIMATIONID], a
+ ld [wCurrentMenuItem], a
+ ld [wLastMenuItem], a
ld a, $3
- ld [$cc29], a
+ ld [wMenuWatchedKeys], a
ld a, $3
- ld [$cc28], a
+ ld [wMaxMenuItem], a
ld a, $2
- ld [$cc24], a
+ ld [wTopMenuItemY], a
ld a, $1
- ld [$cc25], a
+ ld [wTopMenuItemX], a
.asm_5c51
ld hl, $d730
set 6, [hl]
- ld hl, $c3a0
+ ld hl, wTileMap
ld b, $8
ld c, $d
call TextBoxBorder
@@ -94718,7 +99014,7 @@ Unknown_5dc2a: ; 5dc2a (17:5c2a)
call HandleMenuInput
bit 1, a
jr nz, .asm_5dc93 ; 0x5dc74 $1d
- ld a, [$cc26]
+ ld a, [wCurrentMenuItem]
cp $3
jr z, .asm_5dc93 ; 0x5dc7b $16
ld hl, $d730
@@ -94767,7 +99063,87 @@ UnnamedText_5dce8: ; 5dce8 (17:5ce8)
TX_FAR _UnnamedText_5dce8
db "@"
-INCBIN "baserom.gbc",$5dced,$5dda2 - $5dced
+UnnamedText_5dced: ; 5dced (17:5ced)
+ db $08 ; asm
+ call SaveScreenTilesToBuffer1
+ ld hl, UnnamedText_5dda2
+ call PrintText
+ xor a
+ ld [W_ANIMATIONID], a
+ ld [wCurrentMenuItem], a
+ ld [wLastMenuItem], a
+ ld a, $33
+ ld [wMenuWatchedKeys], a
+ ld a, $2
+ ld [wMaxMenuItem], a
+ ld a, $2
+ ld [wTopMenuItemY], a
+ ld a, $1
+ ld [wTopMenuItemX], a
+.asm_5dd15
+ ld hl, $d730
+ set 6, [hl]
+ ld hl, wTileMap
+ ld bc, $060a
+ call TextBoxBorder
+ ld hl, $c3c9
+ ld de, StatusAilmentText1
+ call PlaceString
+ ld hl, $c3ce
+ ld de, StatusAilmentText2
+ call PlaceString
+ ld hl, UnnamedText_5dda7
+ call PrintText
+ call HandleMenuInput
+ bit 1, a
+ jr nz, .asm_5dd97
+ bit 4, a
+ jr z, .asm_5dd5c
+ ld a, $2
+ ld [wMaxMenuItem], a
+ ld a, $2
+ ld [wTopMenuItemY], a
+ ld a, $6
+ ld [wTopMenuItemX], a
+ ld a, $3
+ ld [W_ANIMATIONID], a
+ jr .asm_5dd15
+.asm_5dd5c
+ bit 5, a
+ jr z, .asm_5dd75
+ ld a, $2
+ ld [wMaxMenuItem], a
+ ld a, $2
+ ld [wTopMenuItemY], a
+ ld a, $1
+ ld [wTopMenuItemX], a
+ xor a
+ ld [W_ANIMATIONID], a
+ jr .asm_5dd15
+.asm_5dd75
+ ld a, [wCurrentMenuItem]
+ ld b, a
+ ld a, [W_ANIMATIONID]
+ add b
+ cp $5
+ jr z, .asm_5dd97
+ ld hl, $d730
+ res 6, [hl]
+ ld hl, PointerTable_5ddcc
+ add a
+ ld d, $0
+ ld e, a
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call PrintText
+ jp .asm_5dd15
+.asm_5dd97
+ ld hl, $d730
+ res 6, [hl]
+ call LoadScreenTilesFromBuffer1
+ jp TextScriptEnd
UnnamedText_5dda2: ; 5dda2 (17:5da2)
TX_FAR _UnnamedText_5dda2
@@ -94777,10 +99153,12 @@ UnnamedText_5dda7: ; 5dda7 (17:5da7)
TX_FAR _UnnamedText_5dda7
db "@"
-StatusAilmentText:
+StatusAilmentText1: ; 5ddac (17:5dac)
db " SLP",$4e
db " PSN",$4e
db " PAR@"
+
+StatusAilmentText2: ; 5ddbb (17:5dbb)
db " BRN",$4e
db " FRZ",$4e
db " QUIT@@"
@@ -94812,7 +99190,7 @@ UnnamedText_5ddea: ; 5ddea (17:5dea)
TX_FAR _UnnamedText_5ddea
db "@"
-Unknown_5ddef: ; 5ddef (17:5def)
+Func_5ddef: ; 5ddef (17:5def)
call EnableAutoTextBoxDrawing
ld a, $26
jp Func_3ef5
@@ -94822,7 +99200,7 @@ UnnamedText_5ddf7: ; 5ddf7 (17:5df7)
db "@"
call EnableAutoTextBoxDrawing
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld [$cd5b], a
ld a, [$d773]
bit 0, a
@@ -94892,7 +99270,11 @@ UnnamedText_5ddf7: ; 5ddf7 (17:5df7)
jp Func_3ef5
Unknown_5de7d: ; 5de7d (17:5e7d)
-INCBIN "baserom.gbc",$5de7d,$5decd - $5de7d
+INCBIN "baserom.gbc",$5de7d,$5dec8 - $5de7d
+
+UnnamedText_5dec8: ; 5dec8 (17:5ec8)
+ TX_FAR _UnnamedText_5dec8
+ db $08 ; asm
call WaitForSoundToFinish
ld a, $9d
call PlaySound
@@ -94903,14 +99285,26 @@ UnnamedText_5dedb: ; 5dedb (17:5edb)
TX_FAR _UnnamedText_5dedb
db "@"
-INCBIN "baserom.gbc",$5dee0,$5def4 - $5dee0
+UnnamedText_5dee0: ; 5dee0 (17:5ee0)
+ db $08 ; asm
+ call WaitForSoundToFinish
+ ld a, $9d
+ call PlaySound
+ call WaitForSoundToFinish
+ jp TextScriptEnd
+
+UnnamedText_5deef: ; 5deef (17:5eef)
+ TX_FAR _UnnamedText_5deef
+ db $08 ; asm
call WaitForSoundToFinish
ld a, $ad
call PlaySound
call WaitForSoundToFinish
jp TextScriptEnd
-INCBIN "baserom.gbc",$5df02,$5df07 - $5df02
+UnnamedText_5df02: ; 5df02 (17:5f02)
+ TX_FAR _UnnamedText_5df02
+ db $08 ; asm
call WaitForSoundToFinish
ld a, $a5
call PlaySound
@@ -94925,7 +99319,7 @@ ViridianForestBlocks: ; 60000 (18:4000)
UndergroundPathNSBlocks: ; 60198 (18:4198)
INCBIN "maps/undergroundpathns.blk"
-INCBIN "baserom.gbc",$601f8,$603c0 - $601f8
+ INCBIN "maps/unusedblocks601f8.blk"
SSAnne10Blocks: ; 603c0 (18:43c0)
SSAnne9Blocks: ; 603c0 (18:43c0)
@@ -94934,7 +99328,7 @@ SSAnne9Blocks: ; 603c0 (18:43c0)
PokemonTower1_h: ; 0x60420 to 0x6042c (12 bytes) (id=142)
db $0f ; tileset
db POKEMONTOWER_1_HEIGHT, POKEMONTOWER_1_WIDTH ; dimensions (y, x)
- dw PokemonTower1Blocks, PokemonTower1Texts, PokemonTower1Script ; blocks, texts, scripts
+ dw PokemonTower1Blocks, PokemonTower1TextPointers, PokemonTower1Script ; blocks, texts, scripts
db $00 ; connections
dw PokemonTower1Object ; objects
@@ -94942,8 +99336,12 @@ PokemonTower1_h: ; 0x60420 to 0x6042c (12 bytes) (id=142)
PokemonTower1Script: ; 6042c (18:442c)
jp EnableAutoTextBoxDrawing
-PokemonTower1Texts: ; 6042f (18:442f)
- dw PokemonTower1Text1, PokemonTower1Text2, PokemonTower1Text3, PokemonTower1Text4, PokemonTower1Text5
+PokemonTower1TextPointers: ; 6042f (18:442f)
+ dw PokemonTower1Text1
+ dw PokemonTower1Text2
+ dw PokemonTower1Text3
+ dw PokemonTower1Text4
+ dw PokemonTower1Text5
PokemonTower1Text1: ; 60439 (18:4439)
TX_FAR _PokemonTower1Text1
@@ -94993,32 +99391,34 @@ PokemonTower1Blocks: ; 6048c (18:448c)
PokemonTower2_h: ; 0x604e6 to 0x604f2 (12 bytes) (id=143)
db $0f ; tileset
db POKEMONTOWER_2_HEIGHT, POKEMONTOWER_2_WIDTH ; dimensions (y, x)
- dw PokemonTower2Blocks, PokemonTower2Texts, PokemonTower2Script ; blocks, texts, scripts
+ dw PokemonTower2Blocks, PokemonTower2TextPointers, PokemonTower2Script ; blocks, texts, scripts
db $00 ; connections
dw PokemonTower2Object ; objects
PokemonTower2Script: ; 604f2 (18:44f2)
call EnableAutoTextBoxDrawing
- ld hl, PokemonTower2Scripts
+ ld hl, PokemonTower2ScriptPointers
ld a, [W_POKEMONTOWER2CURSCRIPT]
jp CallFunctionInTable
Func_604fe: ; 604fe (18:44fe)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_POKEMONTOWER2CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-PokemonTower2Scripts: ; 60509 (18:4509)
- dw PokemonTower2Script0, PokemonTower2Script1, PokemonTower2Script2
+PokemonTower2ScriptPointers: ; 60509 (18:4509)
+ dw PokemonTower2Script0
+ dw PokemonTower2Script1
+ dw PokemonTower2Script2
PokemonTower2Script0: ; 6050f (18:450f)
ld a, [$d764]
bit 7, a
ret nz
- ld hl, Unknown_6055e ; $455e
+ ld hl, CoordsData_6055e ; $455e
call ArePlayerCoordsInArray
ret nc
ld a, $ff
@@ -95053,25 +99453,27 @@ PokemonTower2Script0: ; 6050f (18:450f)
ld [H_NEWLYPRESSEDBUTTONS], a
ret
-Unknown_6055e: ; 6055e (18:455e)
-INCBIN "baserom.gbc",$6055e,$60563 - $6055e
+CoordsData_6055e: ; 6055e (18:455e)
+ db $05,$0F
+ db $06,$0E
+ db $0F ; isn't this supposed to end in $ff?
PokemonTower2Script1: ; 60563 (18:4563)
ld a, [$d057]
cp $ff
jp z, Func_604fe
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d764
set 7, [hl]
ld a, $1
ld [$ff00+$8c], a
call DisplayTextID
- ld de, Unknown_605b2 ; $45b2
+ ld de, MovementData_605b2
ld a, [$d764]
bit 6, a
jr nz, .asm_60589 ; 0x60584 $3
- ld de, Unknown_605a9 ; $45a9
+ ld de, MovementData_605a9
.asm_60589
ld a, $1
ld [$ff00+$8c], a
@@ -95087,11 +99489,11 @@ PokemonTower2Script1: ; 60563 (18:4563)
ld [W_CURMAPSCRIPT], a
ret
-Unknown_605a9: ; 605a9 (18:45a9)
-INCBIN "baserom.gbc",$605a9,$605b2 - $605a9
+MovementData_605a9: ; 605a9 (18:45a9)
+ db $C0,$00,$00,$C0,$00,$00,$C0,$C0,$FF
-Unknown_605b2: ; 605b2 (18:45b2)
-INCBIN "baserom.gbc",$605b2,$605bb - $605b2
+MovementData_605b2: ; 605b2 (18:45b2)
+ db $00,$00,$C0,$C0,$C0,$C0,$00,$00,$FF
PokemonTower2Script2: ; 605bb (18:45bb)
ld a, [$d730]
@@ -95102,15 +99504,16 @@ PokemonTower2Script2: ; 605bb (18:45bb)
ld a, $11
call Predef
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
call Func_2307
ld a, $0
ld [W_POKEMONTOWER2CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-PokemonTower2Texts: ; 605db (18:45db)
- dw PokemonTower2Text1, PokemonTower2Text2
+PokemonTower2TextPointers: ; 605db (18:45db)
+ dw PokemonTower2Text1
+ dw PokemonTower2Text2
PokemonTower2Text1: ; 605df (18:45df)
db $08 ; asm
@@ -95197,7 +99600,7 @@ PokemonTower2Blocks: ; 60666 (18:4666)
PokemonTower3_h: ; 0x606c0 to 0x606cc (12 bytes) (id=144)
db $0f ; tileset
db POKEMONTOWER_3_HEIGHT, POKEMONTOWER_3_WIDTH ; dimensions (y, x)
- dw PokemonTower3Blocks, PokemonTower3Texts, PokemonTower3Script ; blocks, texts, scripts
+ dw PokemonTower3Blocks, PokemonTower3TextPointers, PokemonTower3Script ; blocks, texts, scripts
db $00 ; connections
dw PokemonTower3Object ; objects
@@ -95205,17 +99608,22 @@ PokemonTower3_h: ; 0x606c0 to 0x606cc (12 bytes) (id=144)
PokemonTower3Script: ; 606cc (18:46cc)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower3TrainerHeaders
- ld de, Unknown_606df
+ ld de, PokemonTower3ScriptPointers
ld a, [W_POKEMONTOWER3CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_POKEMONTOWER3CURSCRIPT], a
ret
-Unknown_606df: ; 606df (18:46df)
-INCBIN "baserom.gbc",$606df,$606e5 - $606df
+PokemonTower3ScriptPointers: ; 606df (18:46df)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-PokemonTower3Texts: ; 606e5 (18:46e5)
- dw PokemonTower3Text1, PokemonTower3Text2, PokemonTower3Text3, Predef5CText
+PokemonTower3TextPointers: ; 606e5 (18:46e5)
+ dw PokemonTower3Text1
+ dw PokemonTower3Text2
+ dw PokemonTower3Text3
+ dw Predef5CText
PokemonTower3TrainerHeaders: ; 606ed (18:46ed)
PokemonTower3TrainerHeader0: ; 606ed (18:46ed)
@@ -95244,7 +99652,7 @@ PokemonTower3TrainerHeader2: ; 60705 (18:4705)
dw PokemonTower3AfterBattleText3 ; 0x4758 TextAfterBattle
dw PokemonTower3EndBattleText3 ; 0x4753 TextEndBattle
dw PokemonTower3EndBattleText3 ; 0x4753 TextEndBattle
-db $ff
+ db $ff
PokemonTower3Text1: ; 60712 (18:4712)
db $08 ; asm
@@ -95325,7 +99733,7 @@ PokemonTower3Blocks: ; 60790 (18:4790)
PokemonTower4_h: ; 0x607ea to 0x607f6 (12 bytes) (id=145)
db $0f ; tileset
db POKEMONTOWER_4_HEIGHT, POKEMONTOWER_4_WIDTH ; dimensions (y, x)
- dw PokemonTower4Blocks, PokemonTower4Texts, PokemonTower4Script ; blocks, texts, scripts
+ dw PokemonTower4Blocks, PokemonTower4TextPointers, PokemonTower4Script ; blocks, texts, scripts
db $00 ; connections
dw PokemonTower4Object ; objects
@@ -95333,17 +99741,24 @@ PokemonTower4_h: ; 0x607ea to 0x607f6 (12 bytes) (id=145)
PokemonTower4Script: ; 607f6 (18:47f6)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower4TrainerHeaders
- ld de, PokemonTower4Script_Unknown60809
+ ld de, PokemonTower4ScriptPointers
ld a, [W_POKEMONTOWER4CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_POKEMONTOWER4CURSCRIPT], a
ret
-PokemonTower4Script_Unknown60809: ; 60809 (18:4809)
-INCBIN "baserom.gbc",$60809,$6080f - $60809
+PokemonTower4ScriptPointers: ; 60809 (18:4809)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-PokemonTower4Texts: ; 6080f (18:480f)
- dw PokemonTower4Text1, PokemonTower4Text2, PokemonTower4Text3, Predef5CText, Predef5CText, Predef5CText
+PokemonTower4TextPointers: ; 6080f (18:480f)
+ dw PokemonTower4Text1
+ dw PokemonTower4Text2
+ dw PokemonTower4Text3
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
PokemonTower4TrainerHeaders: ; 6081b (18:481b)
PokemonTower4TrainerHeader0: ; 6081b (18:481b)
@@ -95373,7 +99788,7 @@ PokemonTower4TrainerHeader2: ; 60833 (18:4833)
dw PokemonTower4EndBattleText3 ; 0x4881 TextEndBattle
dw PokemonTower4EndBattleText3 ; 0x4881 TextEndBattle
-db $ff
+ db $ff
PokemonTower4Text1: ; 60840 (18:4840)
db $08 ; asm
@@ -95456,7 +99871,7 @@ PokemonTower4Blocks: ; 608cc (18:48cc)
PokemonTower5_h: ; 0x60926 to 0x60932 (12 bytes) (id=146)
db $0f ; tileset
db POKEMONTOWER_5_HEIGHT, POKEMONTOWER_5_WIDTH ; dimensions (y, x)
- dw PokemonTower5Blocks, PokemonTower5Texts, PokemonTower5Script ; blocks, texts, scripts
+ dw PokemonTower5Blocks, PokemonTower5TextPointers, PokemonTower5Script ; blocks, texts, scripts
db $00 ; connections
dw PokemonTower5Object ; objects
@@ -95464,15 +99879,19 @@ PokemonTower5_h: ; 0x60926 to 0x60932 (12 bytes) (id=146)
PokemonTower5Script: ; 60932 (18:4932)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower5TrainerHeaders
- ld de, PokemonTower5Script_Unknown60945
+ ld de, PokemonTower5ScriptPointers
ld a, [W_POKEMONTOWER5CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_POKEMONTOWER5CURSCRIPT], a
ret
-PokemonTower5Script_Unknown60945: ; 60945 (18:4945)
-INCBIN "baserom.gbc",$60945,$6094b - $60945
- ld hl, Unknown_60992 ; $4992
+PokemonTower5ScriptPointers: ; 60945 (18:4945)
+ dw PokemonTower5Script0
+ dw Func_324c
+ dw EndTrainerBattle
+
+PokemonTower5Script0: ; 6094b (18:494b)
+ ld hl, CoordsData_60992 ; $4992
call ArePlayerCoordsInArray
jr c, .asm_60960
ld hl, $d72e
@@ -95488,7 +99907,7 @@ INCBIN "baserom.gbc",$60945,$6094b - $60945
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d72e
set 4, [hl]
ld a, $7
@@ -95501,14 +99920,24 @@ INCBIN "baserom.gbc",$60945,$6094b - $60945
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
call DisplayTextID
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ret
-Unknown_60992: ; 60992 (18:4992)
-INCBIN "baserom.gbc",$60992,$6099b - $60992
+CoordsData_60992: ; 60992 (18:4992)
+ db $08,$0A
+ db $08,$0B
+ db $09,$0A
+ db $09,$0B
+ db $FF
-PokemonTower5Texts: ; 6099b (18:499b)
- dw PokemonTower5Text1, PokemonTower5Text2, PokemonTower5Text3, PokemonTower5Text4, PokemonTower5Text5, Predef5CText, PokemonTower5Text7
+PokemonTower5TextPointers: ; 6099b (18:499b)
+ dw PokemonTower5Text1
+ dw PokemonTower5Text2
+ dw PokemonTower5Text3
+ dw PokemonTower5Text4
+ dw PokemonTower5Text5
+ dw Predef5CText
+ dw PokemonTower5Text7
PokemonTower5TrainerHeaders: ; 609a9 (18:49a9)
PokemonTower5TrainerHeader0: ; 609a9 (18:49a9)
@@ -95547,7 +99976,7 @@ PokemonTower5TrainerHeader3: ; 609cd (18:49cd)
dw PokemonTower5EndBattleText4 ; 0x4a39 TextEndBattle
dw PokemonTower5EndBattleText4 ; 0x4a39 TextEndBattle
-db $ff
+ db $ff
PokemonTower5Text1: ; 609da (18:49da)
TX_FAR _PokemonTower5Text1
@@ -95656,7 +100085,7 @@ PokemonTower5Blocks: ; 60a89 (18:4a89)
PokemonTower6_h: ; 0x60ae3 to 0x60aef (12 bytes) (id=147)
db $0f ; tileset
db POKEMONTOWER_6_HEIGHT, POKEMONTOWER_6_WIDTH ; dimensions (y, x)
- dw PokemonTower6Blocks, PokemonTower6Texts, PokemonTower6Script ; blocks, texts, scripts
+ dw PokemonTower6Blocks, PokemonTower6TextPointers, PokemonTower6Script ; blocks, texts, scripts
db $00 ; connections
dw PokemonTower6Object ; objects
@@ -95664,7 +100093,7 @@ PokemonTower6_h: ; 0x60ae3 to 0x60aef (12 bytes) (id=147)
PokemonTower6Script: ; 60aef (18:4aef)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower6TrainerHeaders
- ld de, Unknown_60b0d ; $4b0d
+ ld de, PokemonTower6ScriptPointers
ld a, [W_POKEMONTOWER6CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_POKEMONTOWER6CURSCRIPT], a
@@ -95672,17 +100101,23 @@ PokemonTower6Script: ; 60aef (18:4aef)
Func_60b02: ; 60b02 (18:4b02)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_POKEMONTOWER6CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_60b0d: ; 60b0d (18:4b0d)
-INCBIN "baserom.gbc",$60b0d,$60b17 - $60b0d
+PokemonTower6ScriptPointers: ; 60b0d (18:4b0d)
+ dw PokemonTower6Script0
+ dw Func_324c
+ dw EndTrainerBattle
+ dw PokemonTower6Script3
+ dw PokemonTower6Script4
+
+PokemonTower6Script0: ; 60b17 (18:4b17)
ld a, [$d768]
bit 7, a
jp nz, CheckFightingMapTrainers
- ld hl, Unknown_60b45 ; $4b45
+ ld hl, CoordsData_60b45 ; $4b45
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
@@ -95699,19 +100134,21 @@ INCBIN "baserom.gbc",$60b0d,$60b17 - $60b0d
ld [W_CURMAPSCRIPT], a
ret
-Unknown_60b45: ; 60b45 (18:4b45)
-INCBIN "baserom.gbc",$60b45,$60b48 - $60b45
+CoordsData_60b45: ; 60b45 (18:4b45)
+ db $10,$0A,$FF
+
+PokemonTower6Script4: ; 60b48 (18:4b48)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_60b02
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, [$d72d]
bit 6, a
ret nz
call UpdateSprites
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, [$cf0b]
and a
jr nz, .asm_60b82
@@ -95721,7 +100158,7 @@ INCBIN "baserom.gbc",$60b45,$60b48 - $60b45
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
call DisplayTextID
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_POKEMONTOWER6CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
@@ -95741,10 +100178,24 @@ INCBIN "baserom.gbc",$60b45,$60b48 - $60b45
ld [W_CURMAPSCRIPT], a
ret
-INCBIN "baserom.gbc",$60ba1,$60bb1 - $60ba1
+PokemonTower6Script3: ; 60ba1 (18:4ba1)
+ ld a, [$cd38]
+ and a
+ ret nz
+ call Delay3
+ xor a
+ ld [W_POKEMONTOWER6CURSCRIPT], a
+ ld [W_CURMAPSCRIPT], a
+ ret
-PokemonTower6Texts: ; 60bb1 (18:4bb1)
- dw PokemonTower6Text1, PokemonTower6Text2, PokemonTower6Text3, Predef5CText, Predef5CText, PokemonTower6Text6, PokemonTower6Text7
+PokemonTower6TextPointers: ; 60bb1 (18:4bb1)
+ dw PokemonTower6Text1
+ dw PokemonTower6Text2
+ dw PokemonTower6Text3
+ dw Predef5CText
+ dw Predef5CText
+ dw PokemonTower6Text6
+ dw PokemonTower6Text7
PokemonTower6TrainerHeaders: ; 60bbf (18:4bbf)
PokemonTower6TrainerHeader0: ; 60bbf (18:4bbf)
@@ -95774,7 +100225,7 @@ PokemonTower6TrainerHeader2: ; 60bd7 (18:4bd7)
dw PokemonTower6EndBattleText3 ; 0x4c4c TextEndBattle
dw PokemonTower6EndBattleText3 ; 0x4c4c TextEndBattle
-db $ff
+ db $ff
PokemonTower6Text1: ; 60be4 (18:4be4)
db $08 ; asm
@@ -95878,12 +100329,12 @@ PokemonTower6Object: ; 0x60c5b (size=58)
PokemonTower6Blocks: ; 60c95 (18:4c95)
INCBIN "maps/pokemontower6.blk"
-INCBIN "baserom.gbc",$60cef,$60cf9 - $60cef
+ INCBIN "maps/unusedblocks60cef.blk"
PokemonTower7_h: ; 0x60cf9 to 0x60d05 (12 bytes) (id=148)
db $0f ; tileset
db POKEMONTOWER_7_HEIGHT, POKEMONTOWER_7_WIDTH ; dimensions (y, x)
- dw PokemonTower7Blocks, PokemonTower7Texts, PokemonTower7Script ; blocks, texts, scripts
+ dw PokemonTower7Blocks, PokemonTower7TextPointers, PokemonTower7Script ; blocks, texts, scripts
db $00 ; connections
dw PokemonTower7Object ; objects
@@ -95891,7 +100342,7 @@ PokemonTower7_h: ; 0x60cf9 to 0x60d05 (12 bytes) (id=148)
PokemonTower7Script: ; 60d05 (18:4d05)
call EnableAutoTextBoxDrawing
ld hl, PokemonTower7TrainerHeaders
- ld de, Unknown_60d23 ; $4d23
+ ld de, PokemonTower7ScriptPointers
ld a, [W_POKEMONTOWER7CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_POKEMONTOWER7CURSCRIPT], a
@@ -95899,21 +100350,27 @@ PokemonTower7Script: ; 60d05 (18:4d05)
Func_60d18: ; 60d18 (18:4d18)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_60d23: ; 60d23 (18:4d23)
-INCBIN "baserom.gbc",$60d23,$60d2d - $60d23
- ld hl, W_FLAGS_CD60
+PokemonTower7ScriptPointers: ; 60d23 (18:4d23)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw PokemonTower7Script2
+ dw PokemonTower7Script3
+ dw PokemonTower7Script4
+
+PokemonTower7Script2: ; 60d23 (18:4d23)
+ ld hl, wFlags_0xcd60
res 0, [hl]
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_60d18
call EndTrainerBattle
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, [$cf13]
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
call DisplayTextID
@@ -95922,6 +100379,8 @@ INCBIN "baserom.gbc",$60d23,$60d2d - $60d23
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
+
+PokemonTower7Script3: ; 60d56 (18:4d56)
ld a, [$d730]
bit 0, a
ret nz
@@ -95937,16 +100396,18 @@ INCBIN "baserom.gbc",$60d23,$60d2d - $60d23
ld a, $11
call Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7))
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [$cf13], a
- ld [W_TRAINERHEADERFLAGBIT], a
+ ld [wTrainerHeaderFlagBit], a
ld [$da38], a
ld a, $0
ld [W_POKEMONTOWER7CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
+
+PokemonTower7Script4: ; 60d86 (18:4d86)
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $43
ld [$cc4d], a
ld a, $11
@@ -95967,7 +100428,7 @@ INCBIN "baserom.gbc",$60d23,$60d2d - $60d23
ret
Func_60db6: ; 60db6 (18:4db6)
- ld hl, Unknown_60de3 ; $4de3
+ ld hl, CoordsData_60de3 ; $4de3
ld a, [$cf13]
dec a
swap a
@@ -95998,11 +100459,55 @@ Func_60db6: ; 60db6 (18:4db6)
inc hl
jr .asm_60dcb
-Unknown_60de3: ; 60de3 (18:4de3)
-INCBIN "baserom.gbc",$60de3,$60e3f - $60de3
-
-PokemonTower7Texts: ; 60e3f (18:4e3f)
- dw PokemonTower7Text1, PokemonTower7Text2, PokemonTower7Text3, PokemonTower7Text4
+CoordsData_60de3: ; 60de3 (18:4de3)
+ db $0C,$09
+ dw MovementData_60e13
+ db $0B,$0A
+ dw MovementData_60e1b
+ db $0B,$0B
+ dw MovementData_60e22
+ db $0B,$0C
+ dw MovementData_60e22
+ db $0A,$0C
+ dw MovementData_60e28
+ db $09,$0B
+ dw MovementData_60e30
+ db $09,$0A
+ dw MovementData_60e22
+ db $09,$09
+ dw MovementData_60e22
+ db $08,$09
+ dw MovementData_60e37
+ db $07,$0A
+ dw MovementData_60e22
+ db $07,$0B
+ dw MovementData_60e22
+ db $07,$0C
+ dw MovementData_60e22
+
+MovementData_60e13: ; 60e13
+ db $C0,$00,$00,$00,$00,$00,$80,$FF
+
+MovementData_60e1b: ; 60e1b
+ db $00,$C0,$00,$00,$00,$00,$FF
+
+MovementData_60e22: ; 60e22
+ db $00,$00,$00,$00,$00,$FF
+
+MovementData_60e28: ; 60e28
+ db $80,$00,$00,$00,$00,$00,$00,$FF
+
+MovementData_60e30: ; 60e30
+ db $00,$00,$00,$80,$00,$00,$FF
+
+MovementData_60e37: ; 60e37
+ db $C0,$00,$00,$00,$00,$00,$00,$FF
+
+PokemonTower7TextPointers: ; 60e3f (18:4e3f)
+ dw PokemonTower7Text1
+ dw PokemonTower7Text2
+ dw PokemonTower7Text3
+ dw PokemonTower7Text4
PokemonTower7TrainerHeaders: ; 60e47 (18:4e47)
PokemonTower7TrainerHeader0: ; 60e47 (18:4e47)
@@ -96032,7 +100537,7 @@ PokemonTower7TrainerHeader2: ; 60e5f (18:4e5f)
dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle
dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle
-db $ff
+ db $ff
PokemonTower7Text1: ; 60e6c (18:4e6c)
db $08 ; asm
@@ -96140,7 +100645,7 @@ PokemonTower7Blocks: ; 60f20 (18:4f20)
CeladonMart1_h: ; 0x60f7a to 0x60f86 (12 bytes) (id=122)
db $12 ; tileset
db CELADON_MART_1_HEIGHT, CELADON_MART_1_WIDTH ; dimensions (y, x)
- dw CeladonMart1Blocks, CeladonMart1Texts, CeladonMart1Script ; blocks, texts, scripts
+ dw CeladonMart1Blocks, CeladonMart1TextPointers, CeladonMart1Script ; blocks, texts, scripts
db $00 ; connections
dw CeladonMart1Object ; objects
@@ -96148,8 +100653,10 @@ CeladonMart1_h: ; 0x60f7a to 0x60f86 (12 bytes) (id=122)
CeladonMart1Script: ; 60f86 (18:4f86)
jp EnableAutoTextBoxDrawing
-CeladonMart1Texts: ; 60f89 (18:4f89)
- dw CeladonMart1Text1, CeladonMart1Text2, CeladonMart1Text3
+CeladonMart1TextPointers: ; 60f89 (18:4f89)
+ dw CeladonMart1Text1
+ dw CeladonMart1Text2
+ dw CeladonMart1Text3
CeladonMart1Text1: ; 60f8f (18:4f8f)
TX_FAR _CeladonMart1Text1
@@ -96196,16 +100703,16 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006)
ld hl, $d730
set 6, [hl]
xor a
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
ld a, $3
- ld [W_MENUWATCHEDKEYS], a ; $cc29
+ ld [wMenuWatchedKeys], a ; $cc29
ld a, [$cd37]
dec a
- ld [W_MAXMENUITEMID], a ; $cc28
+ ld [wMaxMenuItem], a ; $cc28
ld a, $2
- ld [W_TOPMENUITEMY], a ; $cc24
+ ld [wTopMenuItemY], a ; $cc24
ld a, $1
- ld [W_TOPMENUITEMX], a ; $cc25
+ ld [wTopMenuItemX], a ; $cc25
ld a, [$cd37]
dec a
ld bc, $2
@@ -96214,7 +100721,7 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006)
dec l
ld b, l
ld c, $d
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
call TextBoxBorder
call UpdateSprites
call Func_610c2
@@ -96224,7 +100731,7 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006)
bit 1, a
jr nz, .asm_610a7
ld hl, $cc5b
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld d, $0
ld e, a
add hl, de
@@ -96249,7 +100756,7 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006)
ld hl, UnnamedText_610ae
call PrintText
call YesNoChoice
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
jr nz, .asm_610a7
ld hl, UnnamedText_610b3
@@ -96323,7 +100830,7 @@ LoadFossilItemAndMonName: ; 610eb (18:50eb)
ViridianForest_h: ; 0x61101 to 0x6110d (12 bytes) (id=51)
db $03 ; tileset
db VIRIDIAN_FOREST_HEIGHT, VIRIDIAN_FOREST_WIDTH ; dimensions (y, x)
- dw ViridianForestBlocks, ViridianForestTexts, ViridianForestScript ; blocks, texts, scripts
+ dw ViridianForestBlocks, ViridianForestTextPointers, ViridianForestScript ; blocks, texts, scripts
db $00 ; connections
dw ViridianForestObject ; objects
@@ -96331,17 +100838,32 @@ ViridianForest_h: ; 0x61101 to 0x6110d (12 bytes) (id=51)
ViridianForestScript: ; 6110d (18:510d)
call EnableAutoTextBoxDrawing
ld hl, ViridianForestTrainerHeaders
- ld de, ViridianForestScript_Unknown61120
+ ld de, ViridianForestScriptPointers
ld a, [W_VIRIDIANFORESTCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_VIRIDIANFORESTCURSCRIPT], a
ret
-ViridianForestScript_Unknown61120: ; 61120 (18:5120)
-INCBIN "baserom.gbc",$61120,$61126 - $61120
+ViridianForestScriptPointers: ; 61120 (18:5120)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-ViridianForestTexts: ; 61126 (18:5126)
- dw ViridianForestText1, ViridianForestText2, ViridianForestText3, ViridianForestText4, Predef5CText, Predef5CText, Predef5CText, ViridianForestText8, ViridianForestText9, ViridianForestText10, ViridianForestText11, ViridianForestText12, ViridianForestText13, ViridianForestText14
+ViridianForestTextPointers: ; 61126 (18:5126)
+ dw ViridianForestText1
+ dw ViridianForestText2
+ dw ViridianForestText3
+ dw ViridianForestText4
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
+ dw ViridianForestText8
+ dw ViridianForestText9
+ dw ViridianForestText10
+ dw ViridianForestText11
+ dw ViridianForestText12
+ dw ViridianForestText13
+ dw ViridianForestText14
ViridianForestTrainerHeaders: ; 61142 (18:5142)
ViridianForestTrainerHeader0: ; 61142 (18:5142)
@@ -96371,7 +100893,7 @@ ViridianForestTrainerHeader2: ; 6115a (18:515a)
dw ViridianForestEndBattleText3 ; 0x51ad TextEndBattle
dw ViridianForestEndBattleText3 ; 0x51ad TextEndBattle
-db $ff
+ db $ff
ViridianForestText1: ; 61167 (18:5167)
TX_FAR _ViridianForestText1
@@ -96508,7 +101030,7 @@ ViridianForestObject: ; 0x611da (size=127)
SSAnne1_h: ; 0x61259 to 0x61265 (12 bytes) (id=95)
db $0d ; tileset
db SS_ANNE_1_HEIGHT, SS_ANNE_1_WIDTH ; dimensions (y, x)
- dw SSAnne1Blocks, SSAnne1Texts, SSAnne1Script ; blocks, texts, scripts
+ dw SSAnne1Blocks, SSAnne1TextPointers, SSAnne1Script ; blocks, texts, scripts
db $00 ; connections
dw SSAnne1Object ; objects
@@ -96517,8 +101039,9 @@ SSAnne1Script: ; 61265 (18:5265)
call EnableAutoTextBoxDrawing
ret
-SSAnne1Texts: ; 61269 (18:5269)
- dw SSAnne1Text1, SSAnne1Text2
+SSAnne1TextPointers: ; 61269 (18:5269)
+ dw SSAnne1Text1
+ dw SSAnne1Text2
SSAnne1Text1: ; 6126d (18:526d)
TX_FAR _SSAnne1Text1
@@ -96569,31 +101092,35 @@ SSAnne1Blocks: ; 612df (18:52df)
SSAnne2_h: ; 0x61393 to 0x6139f (12 bytes) (id=96)
db $0d ; tileset
db SS_ANNE_2_HEIGHT, SS_ANNE_2_WIDTH ; dimensions (y, x)
- dw SSAnne2Blocks, SSAnne2Texts, SSAnne2Script ; blocks, texts, scripts
+ dw SSAnne2Blocks, SSAnne2TextPointers, SSAnne2Script ; blocks, texts, scripts
db $00 ; connections
dw SSAnne2Object ; objects
SSAnne2Script: ; 6139f (18:539f)
call EnableAutoTextBoxDrawing
- ld hl, SSAnne2Scripts
+ ld hl, SSAnne2ScriptPointers
ld a, [W_SSANNE2CURSCRIPT]
jp CallFunctionInTable
Func_613ab: ; 613ab (18:53ab)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_SSANNE2CURSCRIPT], a
ret
-SSAnne2Scripts: ; 613b3 (18:53b3)
- dw SSAnne2Script0, SSAnne2Script1, SSAnne2Script2, SSAnne2Script3, SSAnne2Script4
+SSAnne2ScriptPointers: ; 613b3 (18:53b3)
+ dw SSAnne2Script0
+ dw SSAnne2Script1
+ dw SSAnne2Script2
+ dw SSAnne2Script3
+ dw SSAnne2Script4
SSAnne2Script4: ; 613bd (18:53bd)
ret
SSAnne2Script0: ; 613be (18:53be)
- ld hl, Unknown_61411 ; $5411
+ ld hl, CoordsData_61411 ; $5411
call ArePlayerCoordsInArray
ret nc
ld a, $ff
@@ -96615,28 +101142,28 @@ SSAnne2Script0: ; 613be (18:53be)
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, [$ff00+$db]
cp $2
jr nz, .asm_61400 ; 0x613f9 $5
- ld de, Unknown_6140c ; $540c
+ ld de, MovementData_6140c
jr .asm_61403 ; 0x613fe $3
.asm_61400
- ld de, Unknown_6140d ; $540d
+ ld de, MovementData_6140d
.asm_61403
call MoveSprite
ld a, $1
ld [W_SSANNE2CURSCRIPT], a
ret
-Unknown_6140c: ; 6140c (18:540c)
-INCBIN "baserom.gbc",$6140c,$6140d - $6140c
+MovementData_6140c: ; 6140c (18:540c)
+ db $00
-Unknown_6140d: ; 6140d (18:540d)
-INCBIN "baserom.gbc",$6140d,$61411 - $6140d
+MovementData_6140d: ; 6140d (18:540d)
+ db $00,$00,$00,$FF
-Unknown_61411: ; 61411 (18:5411)
-INCBIN "baserom.gbc",$61411,$61416 - $61411
+CoordsData_61411: ; 61411 (18:5411)
+ db $08,$24,$08,$25,$FF
Func_61416: ; 61416 (18:5416)
ld a, [W_XCOORD] ; $d362
@@ -96660,7 +101187,7 @@ SSAnne2Script1: ; 61430 (18:5430)
ret nz
call Func_61416
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $2
ld [$ff00+$8c], a
call DisplayTextID
@@ -96695,7 +101222,7 @@ SSAnne2Script2: ; 6146d (18:546d)
jp z, Func_613ab
call Func_61416
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $3
ld [$ff00+$8c], a
call DisplayTextID
@@ -96705,10 +101232,10 @@ SSAnne2Script2: ; 6146d (18:546d)
ld a, [$d362]
cp $25
jr nz, .asm_61497 ; 0x61490 $5
- ld de, Unknown_614b9 ; $54b9
+ ld de, MovementData_614b9
jr .asm_6149a ; 0x61495 $3
.asm_61497
- ld de, Unknown_614b7 ; $54b7
+ ld de, MovementData_614b7
.asm_6149a
ld a, $2
ld [$ff00+$8c], a
@@ -96723,18 +101250,18 @@ SSAnne2Script2: ; 6146d (18:546d)
ld [W_SSANNE2CURSCRIPT], a
ret
-Unknown_614b7: ; 614b7 (18:54b7)
-INCBIN "baserom.gbc",$614b7,$614b9 - $614b7
+MovementData_614b7: ; 614b7 (18:54b7)
+ db $C0,$00
-Unknown_614b9: ; 614b9 (18:54b9)
-INCBIN "baserom.gbc",$614b9,$614be - $614b9
+MovementData_614b9: ; 614b9 (18:54b9)
+ db $00,$00,$00,$00,$FF
SSAnne2Script3: ; 614be (18:54be)
ld a, [$d730]
bit 0, a
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $71
ld [$cc4d], a
ld a, $11
@@ -96744,8 +101271,10 @@ SSAnne2Script3: ; 614be (18:54be)
ld [W_SSANNE2CURSCRIPT], a
ret
-SSAnne2Texts: ; 614db (18:54db)
- dw SSAnne2Text1, SSAnne2Text2, SSAnne2Text3
+SSAnne2TextPointers: ; 614db (18:54db)
+ dw SSAnne2Text1
+ dw SSAnne2Text2
+ dw SSAnne2Text3
SSAnne2Text1: ; 614e1 (18:54e1)
TX_FAR _SSAnne2Text1
@@ -96816,7 +101345,7 @@ SSAnne2Blocks: ; 6156e (18:556e)
SSAnne4_h: ; 0x61622 to 0x6162e (12 bytes) (id=98)
db $0d ; tileset
db SS_ANNE_4_HEIGHT, SS_ANNE_4_WIDTH ; dimensions (y, x)
- dw SSAnne4Blocks, SSAnne4Texts, SSAnne4Script ; blocks, texts, scripts
+ dw SSAnne4Blocks, SSAnne4TextPointers, SSAnne4Script ; blocks, texts, scripts
db $00 ; connections
dw SSAnne4Object ; objects
@@ -96824,7 +101353,7 @@ SSAnne4_h: ; 0x61622 to 0x6162e (12 bytes) (id=98)
SSAnne4Script: ; 6162e (18:562e)
jp EnableAutoTextBoxDrawing
-SSAnne4Texts: ; 61631 (18:5631)
+SSAnne4TextPointers: ; 61631 (18:5631)
db "@"
SSAnne4Object: ; 0x61632 (size=52)
@@ -96856,7 +101385,7 @@ SSAnne4Blocks: ; 61666 (18:5666)
SSAnne5_h: ; 0x616a2 to 0x616ae (12 bytes) (id=99)
db $0d ; tileset
db SS_ANNE_5_HEIGHT, SS_ANNE_5_WIDTH ; dimensions (y, x)
- dw SSAnne5Blocks, SSAnne5Texts, SSAnne5Script ; blocks, texts, scripts
+ dw SSAnne5Blocks, SSAnne5TextPointers, SSAnne5Script ; blocks, texts, scripts
db $00 ; connections
dw SSAnne5Object ; objects
@@ -96864,17 +101393,23 @@ SSAnne5_h: ; 0x616a2 to 0x616ae (12 bytes) (id=99)
SSAnne5Script: ; 616ae (18:56ae)
call EnableAutoTextBoxDrawing
ld hl, SSAnneTrainerHeader0 ; $56d1
- ld de, SSAnne5Script_Unknown616c1
+ ld de, SSAnne5ScriptPointers
ld a, [W_SSANNE5CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SSANNE5CURSCRIPT], a
ret
-SSAnne5Script_Unknown616c1: ; 616c1 (18:56c1)
-INCBIN "baserom.gbc",$616c1,$616c7 - $616c1
+SSAnne5ScriptPointers: ; 616c1 (18:56c1)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-SSAnne5Texts: ; 616c7 (18:56c7)
- dw SSAnne5Text1, SSAnne5Text2, SSAnne5Text3, SSAnne5Text4, SSAnne5Text5
+SSAnne5TextPointers: ; 616c7 (18:56c7)
+ dw SSAnne5Text1
+ dw SSAnne5Text2
+ dw SSAnne5Text3
+ dw SSAnne5Text4
+ dw SSAnne5Text5
SSAnneTrainerHeaders: ; 616d1 (18:56d1)
SSAnneTrainerHeader0: ; 616d1 (18:56d1)
@@ -96895,7 +101430,7 @@ SSAnneTrainerHeader1: ; 616dd (18:56dd)
dw SSAnneEndBattleText2 ; 0x5721 TextEndBattle
dw SSAnneEndBattleText2 ; 0x5721 TextEndBattle
-db $ff
+ db $ff
SSAnne5Text1: ; 616ea (18:56ea)
TX_FAR _SSAnne5Text1
@@ -96971,7 +101506,7 @@ SSAnne5Blocks: ; 61761 (18:5761)
SSAnne6_h: ; 0x617a7 to 0x617b3 (12 bytes) (id=100)
db $0d ; tileset
db SS_ANNE_6_HEIGHT, SS_ANNE_6_WIDTH ; dimensions (y, x)
- dw SSAnne6Blocks, SSAnne6Texts, SSAnne6Script ; blocks, texts, scripts
+ dw SSAnne6Blocks, SSAnne6TextPointers, SSAnne6Script ; blocks, texts, scripts
db $00 ; connections
dw SSAnne6Object ; objects
@@ -96980,8 +101515,14 @@ SSAnne6Script: ; 617b3 (18:57b3)
call EnableAutoTextBoxDrawing
ret
-SSAnne6Texts: ; 617b7 (18:57b7)
- dw SSAnne6Text1, SSAnne6Text2, SSAnne6Text3, SSAnne6Text4, SSAnne6Text5, SSAnne6Text6, SSAnne6Text7
+SSAnne6TextPointers: ; 617b7 (18:57b7)
+ dw SSAnne6Text1
+ dw SSAnne6Text2
+ dw SSAnne6Text3
+ dw SSAnne6Text4
+ dw SSAnne6Text5
+ dw SSAnne6Text6
+ dw SSAnne6Text7
SSAnne6Text1: ; 617c5 (18:57c5)
TX_FAR _SSAnne6Text1
@@ -97069,16 +101610,16 @@ SSAnne6Blocks: ; 61851 (18:5851)
SSAnne7_h: ; 0x61889 to 0x61895 (12 bytes) (id=101)
db $0d ; tileset
db SS_ANNE_7_HEIGHT, SS_ANNE_7_WIDTH ; dimensions (y, x)
- dw SSAnne7Blocks, SSAnne7Texts, SSAnne7Script ; blocks, texts, scripts
+ dw SSAnne7Blocks, SSAnne7TextPointers, SSAnne7Script ; blocks, texts, scripts
db $00 ; connections
dw SSAnne7Object ; objects
SSAnne7Script: ; 61895 (18:5895)
- call SSAnne7Script_Unknown6189b
+ call SSAnne7Script_6189b
jp EnableAutoTextBoxDrawing
-SSAnne7Script_Unknown6189b: ; 6189b (18:589b)
+SSAnne7Script_6189b: ; 6189b (18:589b)
ld a, [$d803]
bit 1, a
ret nz
@@ -97086,8 +101627,10 @@ SSAnne7Script_Unknown6189b: ; 6189b (18:589b)
set 5, [hl]
ret
-SSAnne7Texts: ; 618a7 (18:58a7)
- dw SSAnne7Text1, SSAnne7Text2, SSAnne7Text3
+SSAnne7TextPointers: ; 618a7 (18:58a7)
+ dw SSAnne7Text1
+ dw SSAnne7Text2
+ dw SSAnne7Text3
SSAnne7Text1: ; 618ad (18:58ad)
db $08 ; asm
@@ -97191,7 +101734,7 @@ SSAnne7Blocks: ; 6195e (18:595e)
SSAnne8_h: ; 0x6196a to 0x61976 (12 bytes) (id=102)
db $0d ; tileset
db SS_ANNE_8_HEIGHT, SS_ANNE_8_WIDTH ; dimensions (y, x)
- dw SSAnne8Blocks, SSAnne8Texts, SSAnne8Script ; blocks, texts, scripts
+ dw SSAnne8Blocks, SSAnne8TextPointers, SSAnne8Script ; blocks, texts, scripts
db $00 ; connections
dw SSAnne8Object ; objects
@@ -97199,17 +101742,29 @@ SSAnne8_h: ; 0x6196a to 0x61976 (12 bytes) (id=102)
SSAnne8Script: ; 61976 (18:5976)
call EnableAutoTextBoxDrawing
ld hl, SSAnne8TrainerHeaders
- ld de, SSAnne8Script_Unknown61989
+ ld de, SSAnne8ScriptPointers
ld a, [W_SSANNE8CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SSANNE8CURSCRIPT], a
ret
-SSAnne8Script_Unknown61989: ; 61989 (18:5989)
-INCBIN "baserom.gbc",$61989,$6198f - $61989
+SSAnne8ScriptPointers: ; 61989 (18:5989)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-SSAnne8Texts: ; 6198f (18:598f)
- dw SSAnne8Text1, SSAnne8Text2, SSAnne8Text3, SSAnne8Text4, SSAnne8Text5, SSAnne8Text6, SSAnne8Text7, SSAnne8Text8, SSAnne8Text9, Predef5CText, SSAnne8Text11
+SSAnne8TextPointers: ; 6198f (18:598f)
+ dw SSAnne8Text1
+ dw SSAnne8Text2
+ dw SSAnne8Text3
+ dw SSAnne8Text4
+ dw SSAnne8Text5
+ dw SSAnne8Text6
+ dw SSAnne8Text7
+ dw SSAnne8Text8
+ dw SSAnne8Text9
+ dw Predef5CText
+ dw SSAnne8Text11
SSAnne8TrainerHeaders: ; 619a5 (18:59a5)
SSAnne8TrainerHeader0: ; 619a5 (18:59a5)
@@ -97248,7 +101803,7 @@ SSAnne8TrainerHeader3: ; 619c9 (18:59c9)
dw SSAnne8EndBattleText4 ; 0x5a3d TextEndBattle
dw SSAnne8EndBattleText4 ; 0x5a3d TextEndBattle
-db $ff
+ db $ff
SSAnne8Text1: ; 619d6 (18:59d6)
db $08 ; asm
@@ -97389,7 +101944,7 @@ SSAnne8Blocks: ; 61adf (18:5adf)
SSAnne9_h: ; 0x61b3f to 0x61b4b (12 bytes) (id=103)
db $0d ; tileset
db SS_ANNE_9_HEIGHT, SS_ANNE_9_WIDTH ; dimensions (y, x)
- dw SSAnne9Blocks, SSAnne9Texts, SSAnne9Script ; blocks, texts, scripts
+ dw SSAnne9Blocks, SSAnne9TextPointers, SSAnne9Script ; blocks, texts, scripts
db $00 ; connections
dw SSAnne9Object ; objects
@@ -97400,17 +101955,31 @@ SSAnne9Script: ; 61b4b (18:5b4b)
xor a
ld [$cc3c], a
ld hl, SSAnne9TrainerHeaders
- ld de, SSAnne9Script_Unknown61b64
+ ld de, SSAnne9ScriptPointers
ld a, [W_SSANNE9CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SSANNE9CURSCRIPT], a
ret
-SSAnne9Script_Unknown61b64: ; 61b64 (18:5b64)
-INCBIN "baserom.gbc",$61b64,$61b6a - $61b64
+SSAnne9ScriptPointers: ; 61b64 (18:5b64)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-SSAnne9Texts: ; 61b6a (18:5b6a)
- dw SSAnne9Text1, SSAnne9Text2, SSAnne9Text3, SSAnne9Text4, SSAnne9Text5, Predef5CText, SSAnne9Text7, SSAnne9Text8, Predef5CText, SSAnne9Text10, SSAnne9Text11, SSAnne9Text12, SSAnne9Text13
+SSAnne9TextPointers: ; 61b6a (18:5b6a)
+ dw SSAnne9Text1
+ dw SSAnne9Text2
+ dw SSAnne9Text3
+ dw SSAnne9Text4
+ dw SSAnne9Text5
+ dw Predef5CText
+ dw SSAnne9Text7
+ dw SSAnne9Text8
+ dw Predef5CText
+ dw SSAnne9Text10
+ dw SSAnne9Text11
+ dw SSAnne9Text12
+ dw SSAnne9Text13
SSAnne9TrainerHeaders: ; 61b84 (18:5b84)
SSAnne9TrainerHeader0: ; 61b84 (18:5b84)
@@ -97449,8 +102018,7 @@ SSAnne9TrainerHeader3: ; 61ba8 (18:5ba8)
dw SSAnne9EndBattleText4 ; 0x5c83 TextEndBattle
dw SSAnne9EndBattleText4 ; 0x5c83 TextEndBattle
-
-db $ff
+ db $ff
SSAnne9Text1: ; 61bb5 (18:5bb5)
db $08 ; asm
@@ -97649,7 +102217,7 @@ SSAnne9Object: ; 0x61c8d (size=188)
SSAnne10_h: ; 0x61d49 to 0x61d55 (12 bytes) (id=104)
db $0d ; tileset
db SS_ANNE_10_HEIGHT, SS_ANNE_10_WIDTH ; dimensions (y, x)
- dw SSAnne10Blocks, SSAnne10Texts, SSAnne10Script ; blocks, texts, scripts
+ dw SSAnne10Blocks, SSAnne10TextPointers, SSAnne10Script ; blocks, texts, scripts
db $00 ; connections
dw SSAnne10Object ; objects
@@ -97657,17 +102225,29 @@ SSAnne10_h: ; 0x61d49 to 0x61d55 (12 bytes) (id=104)
SSAnne10Script: ; 61d55 (18:5d55)
call EnableAutoTextBoxDrawing
ld hl, SSAnne10TrainerHeaders
- ld de, SSAnne10Script_Unknown61d68
+ ld de, SSAnne10ScriptPointers
ld a, [W_SSANNE10CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SSANNE10CURSCRIPT], a
ret
-SSAnne10Script_Unknown61d68: ; 61d68 (18:5d68)
-INCBIN "baserom.gbc",$61d68,$61d6e - $61d68
+SSAnne10ScriptPointers: ; 61d68 (18:5d68)
+ dw CheckFightingMapTrainers
+ dw Func_324c
+ dw EndTrainerBattle
-SSAnne10Texts: ; 61d6e (18:5d6e)
- dw SSAnne10Text1, SSAnne10Text2, SSAnne10Text3, SSAnne10Text4, SSAnne10Text5, SSAnne10Text6, SSAnne10Text7, SSAnne10Text8, Predef5CText, Predef5CText, Predef5CText
+SSAnne10TextPointers: ; 61d6e (18:5d6e)
+ dw SSAnne10Text1
+ dw SSAnne10Text2
+ dw SSAnne10Text3
+ dw SSAnne10Text4
+ dw SSAnne10Text5
+ dw SSAnne10Text6
+ dw SSAnne10Text7
+ dw SSAnne10Text8
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
SSAnne10TrainerHeaders: ; 61d84 (18:5d84)
SSAnne10TrainerHeader0: ; 61d84 (18:5d84)
@@ -97724,7 +102304,7 @@ SSAnne10TrainerHeader5: ; 61dc0 (18:5dc0)
dw SSAnne10EndBattleText6 ; 0x5e66 TextEndBattle
dw SSAnne10EndBattleText6 ; 0x5e66 TextEndBattle
-db $ff
+ db $ff
SSAnne10Text1: ; 61dcd (18:5dcd)
db $08 ; asm
@@ -97890,7 +102470,7 @@ SSAnne10Object: ; 0x61e75 (size=165)
UndergroundPathNS_h: ; 0x61f1a to 0x61f26 (12 bytes) (id=119)
db $0b ; tileset
db UNDERGROUND_PATH_NS_HEIGHT, UNDERGROUND_PATH_NS_WIDTH ; dimensions (y, x)
- dw UndergroundPathNSBlocks, UndergroundPathNSTexts, UndergroundPathNSScript ; blocks, texts, scripts
+ dw UndergroundPathNSBlocks, UndergroundPathNSTextPointers, UndergroundPathNSScript ; blocks, texts, scripts
db $00 ; connections
dw UndergroundPathNSObject ; objects
@@ -97898,7 +102478,7 @@ UndergroundPathNS_h: ; 0x61f1a to 0x61f26 (12 bytes) (id=119)
UndergroundPathNSScript: ; 61f26 (18:5f26)
jp EnableAutoTextBoxDrawing
-UndergroundPathNSTexts: ; 61f29 (18:5f29)
+UndergroundPathNSTextPointers: ; 61f29 (18:5f29)
db "@"
UndergroundPathNSObject: ; 0x61f2a (size=20)
@@ -97919,7 +102499,7 @@ UndergroundPathNSObject: ; 0x61f2a (size=20)
UndergroundPathWE_h: ; 0x61f3e to 0x61f4a (12 bytes) (id=121)
db $0b ; tileset
db UNDERGROUND_PATH_WE_HEIGHT, UNDERGROUND_PATH_WE_WIDTH ; dimensions (y, x)
- dw $41f4, UndergroundPathWETexts, UndergroundPathWEScript ; blocks, texts, scripts
+ dw $41f4, UndergroundPathWETextPointers, UndergroundPathWEScript ; blocks, texts, scripts
db $00 ; connections
dw UndergroundPathWEObject ; objects
@@ -97927,7 +102507,7 @@ UndergroundPathWE_h: ; 0x61f3e to 0x61f4a (12 bytes) (id=121)
UndergroundPathWEScript: ; 61f4a (18:5f4a)
jp EnableAutoTextBoxDrawing
-UndergroundPathWETexts: ; 61f4d (18:5f4d)
+UndergroundPathWETextPointers: ; 61f4d (18:5f4d)
db "@"
UndergroundPathWEObject: ; 0x61f4e (size=20)
@@ -97948,7 +102528,7 @@ UndergroundPathWEObject: ; 0x61f4e (size=20)
DiglettsCave_h: ; 0x61f62 to 0x61f6e (12 bytes) (id=197)
db $11 ; tileset
db DIGLETTS_CAVE_HEIGHT, DIGLETTS_CAVE_WIDTH ; dimensions (y, x)
- dw DiglettsCaveBlocks, DiglettsCaveTexts, DiglettsCaveScript ; blocks, texts, scripts
+ dw DiglettsCaveBlocks, DiglettsCaveTextPointers, DiglettsCaveScript ; blocks, texts, scripts
db $00 ; connections
dw DiglettsCaveObject ; objects
@@ -97956,7 +102536,7 @@ DiglettsCave_h: ; 0x61f62 to 0x61f6e (12 bytes) (id=197)
DiglettsCaveScript: ; 61f6e (18:5f6e)
jp EnableAutoTextBoxDrawing
-DiglettsCaveTexts: ; 61f71 (18:5f71)
+DiglettsCaveTextPointers: ; 61f71 (18:5f71)
db "@"
DiglettsCaveObject: ; 0x61f72 (size=20)
@@ -97980,27 +102560,27 @@ DiglettsCaveBlocks: ; 61f86 (18:5f86)
SilphCo11_h: ; 0x620ee to 0x620fa (12 bytes) (id=235)
db $10 ; tileset
db SILPH_CO_11F_HEIGHT, SILPH_CO_11F_WIDTH ; dimensions (y, x)
- dw SilphCo11Blocks, SilphCo11Texts, SilphCo11Script ; blocks, texts, scripts
+ dw SilphCo11Blocks, SilphCo11TextPointers, SilphCo11Script ; blocks, texts, scripts
db $00 ; connections
dw SilphCo11Object ; objects
SilphCo11Script: ; 620fa (18:60fa)
- call SilphCo11Script_Unknown62110
+ call SilphCo11Script_62110
call EnableAutoTextBoxDrawing
ld hl, SilphCo11TrainerHeaders
- ld de, Unknown_621cf ; $61cf
+ ld de, SilphCo11ScriptPointers
ld a, [W_SILPHCO11CURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_SILPHCO11CURSCRIPT], a
ret
-SilphCo11Script_Unknown62110: ; 62110 (18:6110)
+SilphCo11Script_62110: ; 62110 (18:6110)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
ret z
- ld hl, Unknown_62134 ; $6134
+ ld hl, DataTable_62134 ; $6134
call Func_62137
call Func_62163
ld a, [$d838]
@@ -98012,8 +102592,8 @@ SilphCo11Script_Unknown62110: ; 62110 (18:6110)
ld a, $17
jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e))
-Unknown_62134: ; 62134 (18:6134)
-INCBIN "baserom.gbc",$62134,$62137 - $62134
+DataTable_62134: ; 62134 (18:6134)
+ db $06,$03,$FF
Func_62137: ; 62137 (18:6137)
push hl
@@ -98060,7 +102640,7 @@ Func_62163: ; 62163 (18:6163)
ret
Func_6216d: ; 6216d (18:616d)
- ld hl, Unknown_6219b ; $619b
+ ld hl, MissableObjectIDs_6219b ; $619b
.asm_62170
ld a, [hli]
cp $ff
@@ -98072,7 +102652,7 @@ Func_6216d: ; 6216d (18:616d)
pop hl
jr .asm_62170
.asm_62181
- ld hl, Unknown_62194 ; $6194
+ ld hl, MissableObjectIDs_62194 ; $6194
.asm_62184
ld a, [hli]
cp $ff
@@ -98084,62 +102664,78 @@ Func_6216d: ; 6216d (18:616d)
pop hl
jr .asm_62184
-Unknown_62194: ; 62194 (18:6194)
-INCBIN "baserom.gbc",$62194,$6219b - $62194
+MissableObjectIDs_62194: ; 62194 (18:6194)
+ db $11,$12,$13,$14,$15,$16,$FF
-Unknown_6219b: ; 6219b (18:619b)
-INCBIN "baserom.gbc",$6219b,$621c4 - $6219b
+MissableObjectIDs_6219b: ; 6219b (18:619b)
+ db $0A,$0B,$0C,$0D,$0E,$0F,$10,$17
+ db $18,$8A,$8B,$8C,$8D,$8E,$8F,$91
+ db $92,$93,$97,$98,$99,$9A,$9E,$9F
+ db $A0,$A3,$A4,$A5,$A6,$AB,$AC,$AD
+ db $AE,$AF,$B0,$B1,$B2,$B7,$B8,$B9
+ db $FF
-Func_621c4: ; 621c4 (18:61c4)
+SilphCo11Script_621c4: ; 621c4 (18:61c4)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
-Func_621c8: ; 621c8 (18:61c8)
+SilphCo11Script_621c8: ; 621c8 (18:61c8)
ld [W_SILPHCO11CURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_621cf: ; 621cf (18:61cf)
-INCBIN "baserom.gbc",$621cf,$621db - $621cf
+SilphCo11ScriptPointers: ; 621cf (18:61cf)
+ dw SilphCo11Script0
+ dw Func_324c
+ dw EndTrainerBattle
+ dw SilphCo11Script3
+ dw SilphCo11Script4
+ dw SilphCo11Script5
+
+SilphCo11Script0: ; 621db (18:61db)
ld a, [$d838]
bit 7, a
ret nz
- ld hl, Unknown_62211 ; $6211
+ ld hl, CoordsData_62211 ; $6211
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld [$cf0d], a
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $3
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
call DisplayTextID
ld a, $3
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
call SetSpriteMovementBytesToFF
- ld de, Unknown_62216 ; $6216
+ ld de, MovementData_62216
call MoveSprite
ld a, $3
- jp Func_621c8
+ jp SilphCo11Script_621c8
-Unknown_62211: ; 62211 (18:6211)
-INCBIN "baserom.gbc",$62211,$62216 - $62211
+CoordsData_62211: ; 62211 (18:6211)
+ db $0D,$06
+ db $0C,$07
+ db $FF
-Unknown_62216: ; 62216 (18:6216)
-INCBIN "baserom.gbc",$62216,$6221a - $62216
+MovementData_62216: ; 62216 (18:6216)
+ db $00,$00,$00,$FF
-Func_6221a: ; 6221a (18:621a)
+SilphCo11Script_6221a: ; 6221a (18:621a)
ld [$d528], a
ld a, $3
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
ld a, b
ld [$FF00+$8d], a
jp Func_34a6
+
+SilphCo11Script5: ; 62227 (18:6227)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
- jp z, Func_621c4
+ jp z, SilphCo11Script_621c4
ld a, [$cf0d]
cp $1
jr z, .asm_6223c
@@ -98150,9 +102746,9 @@ Func_6221a: ; 6221a (18:621a)
ld a, $8
ld b, $0
.asm_62240
- call Func_6221a
+ call SilphCo11Script_6221a
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $6
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
call DisplayTextID
@@ -98164,8 +102760,10 @@ Func_6221a: ; 6221a (18:621a)
ld hl, $d838
set 7, [hl]
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
- jp Func_621c8
+ ld [wJoypadForbiddenButtonsMask], a
+ jp SilphCo11Script_621c8
+
+SilphCo11Script3: ; 6226a (18:626a)
ld a, [$d730]
bit 0, a
ret nz
@@ -98182,10 +102780,12 @@ Func_6221a: ; 6221a (18:621a)
ld a, $8
ld b, $0
.asm_62288
- call Func_6221a
+ call SilphCo11Script_6221a
call Delay3
ld a, $4
- jp Func_621c8
+ jp SilphCo11Script_621c8
+
+SilphCo11Script4: ; 62293 (18:6293)
ld hl, $d72d
set 6, [hl]
set 7, [hl]
@@ -98197,12 +102797,17 @@ Func_6221a: ; 6221a (18:621a)
call EngageMapTrainer
call InitBattleEnemyParameters
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $5
- jp Func_621c8
+ jp SilphCo11Script_621c8
-SilphCo11Texts: ; 622b7 (18:62b7)
- dw SilphCo11Text1, SilphCo11Text2, SilphCo11Text3, SilphCo11Text4, SilphCo11Text5, SilphCo11Text6
+SilphCo11TextPointers: ; 622b7 (18:62b7)
+ dw SilphCo11Text1
+ dw SilphCo11Text2
+ dw SilphCo11Text3
+ dw SilphCo11Text4
+ dw SilphCo11Text5
+ dw SilphCo11Text6
SilphCo11TrainerHeaders: ; 622c3 (18:62c3)
SilphCo11TrainerHeader0: ; 622c3 (18:62c3)
@@ -98223,7 +102828,7 @@ SilphCo11TrainerHeader1: ; 622cf (18:62cf)
dw SilphCo11EndBattleText2 ; 0x6362 TextEndBattle
dw SilphCo11EndBattleText2 ; 0x6362 TextEndBattle
-db $ff
+ db $ff
SilphCo11Text1: ; 622dc (18:62dc)
db $08 ; asm
@@ -98318,7 +102923,7 @@ SilphCo11AfterBattleText2: ; 62367 (18:6367)
TX_FAR _SilphCo11AfterBattleText2
db "@"
-UnknownText_6236c: ; 6236c (18:636c)
+UnnamedText_6236c: ; 6236c (18:636c)
db $8
ld hl, UnnamedText_6237b
call PrintText
@@ -98406,7 +103011,44 @@ UnnamedText_62458: ; 62458 (18:6458)
TX_FAR _UnnamedText_62458
db "@"
-INCBIN "baserom.gbc",$6245d,$624a3 - $6245d
+Func_6245d: ; 6245d (18:645d)
+ call EnableAutoTextBoxDrawing
+ ld hl, PokeCenterMapIDList
+ ld a, [W_CURMAP]
+ ld b, a
+.asm_62467
+ ld a, [hli]
+ cp $ff
+ ret z
+ cp b
+ jr z, .asm_62472
+ inc hl
+ inc hl
+ jr .asm_62467
+.asm_62472
+ ld a, [hli]
+ ld b, a
+ ld a, [$c109]
+ cp b
+ jr nz, .asm_62467
+ ld a, [hl]
+ jp Func_3ef5
+
+; format: db map id, 08, text id of PointerTable_3f22
+PokeCenterMapIDList: ; 6247e (18:647e)
+ db VIRIDIAN_POKECENTER,$08,$0F
+ db PEWTER_POKECENTER,$08,$10
+ db CERULEAN_POKECENTER,$08,$11
+ db LAVENDER_POKECENTER,$08,$12
+ db VERMILION_POKECENTER,$08,$13
+ db CELADON_POKECENTER,$08,$14
+ db CELADON_HOTEL,$08,$15
+ db FUCHSIA_POKECENTER,$08,$16
+ db CINNABAR_POKECENTER,$08,$17
+ db SAFFRON_POKECENTER,$08,$18
+ db MT_MOON_POKECENTER,$08,$19
+ db ROCK_TUNNEL_POKECENTER,$08,$1A
+ db $FF
UnnamedText_624a3: ; 624a3 (18:64a3)
TX_FAR _UnnamedText_624a3
@@ -98483,7 +103125,12 @@ UnnamedText_62502: ; 62502 (18:6502)
TX_FAR _UnnamedText_62502
db "@"
-INCBIN "baserom.gbc",$62507,$62511 - $62507
+ ret
+ db "@"
+
+ call EnableAutoTextBoxDrawing
+ ld a, $e
+ jp Func_3ef5
UnnamedText_62511: ; 62511 (18:6511)
TX_FAR _UnnamedText_62511
@@ -98656,11 +103303,11 @@ Func_70000: ; 70000 (1c:4000)
ld bc, (BANK(FallingStar) << 8) + $01
call CopyVideoData
ld hl, GameFreakLogoOAMData ; $4140
- ld de, $c360
+ ld de, wOAMBuffer + $60
ld bc, $40
call CopyData
ld hl, GameFreakShootingStarOAMData ; $4180
- ld de, W_OAMBUFFER
+ ld de, wOAMBuffer
ld bc, $10
jp CopyData
@@ -98668,7 +103315,7 @@ Func_70044: ; 70044 (1c:4044)
call Func_70000
ld a, $c2
call PlaySound
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
ld bc, $a004
.asm_70052
push hl
@@ -98696,7 +103343,7 @@ Func_70044: ; 70044 (1c:4044)
.asm_70070
cp b
jr nz, .asm_70052
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
ld c, $4
ld de, $4
.asm_7007b
@@ -98714,19 +103361,19 @@ Func_70044: ; 70044 (1c:4044)
ret c
dec b
jr nz, .asm_70083
- ld de, W_OAMBUFFER
+ ld de, wOAMBuffer
ld a, $18
.asm_70098
push af
- ld hl, Unknown_700ee ; $40ee
+ ld hl, OAMData_700ee ; $40ee
ld bc, $4
call CopyData
pop af
dec a
jr nz, .asm_70098
xor a
- ld [W_WHICHTRADE], a ; $cd3d
- ld hl, Unknown_700f2 ; $40f2
+ ld [wWhichTrade], a ; $cd3d
+ ld hl, PointerTable_700f2 ; $40f2
ld c, $6
.asm_700af
ld a, [hli]
@@ -98735,7 +103382,7 @@ Func_70044: ; 70044 (1c:4044)
ld d, a
push bc
push hl
- ld hl, $c350
+ ld hl, wOAMBuffer + $50
ld c, $4
.asm_700ba
ld a, [de]
@@ -98750,16 +103397,16 @@ Func_70044: ; 70044 (1c:4044)
inc hl
dec c
jr nz, .asm_700ba
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
cp $18
jr z, .asm_700d5
add $6
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
.asm_700d5
call Func_7011f
push af
ld hl, $c310
- ld de, W_OAMBUFFER
+ ld de, wOAMBuffer
ld bc, $50
call CopyData
pop af
@@ -98771,17 +103418,50 @@ Func_70044: ; 70044 (1c:4044)
and a
ret
-Unknown_700ee: ; 700ee (1c:40ee)
-INCBIN "baserom.gbc",$700ee,$700f2 - $700ee
-
-Unknown_700f2: ; 700f2 (1c:40f2)
-INCBIN "baserom.gbc",$700f2,$7011f - $700f2
+OAMData_700ee: ; 700ee (1c:40ee)
+ db $00,$00,$A2,$90
+
+PointerTable_700f2: ; 700f2 (1c:40f2)
+ dw OAMData_700fe
+ dw OAMData_70106
+ dw OAMData_7010e
+ dw OAMData_70116
+ dw OAMData_7011e
+ dw OAMData_7011e
+
+; each entry is only half of an OAM tile
+OAMData_700fe: ; 700fe (1c:40fe)
+ db $68,$30
+ db $68,$40
+ db $68,$58
+ db $68,$78
+
+OAMData_70106: ; 70106 (1c:4106)
+ db $68,$38
+ db $68,$48
+ db $68,$60
+ db $68,$70
+
+OAMData_7010e: ; 7010e (1c:410e)
+ db $68,$34
+ db $68,$4C
+ db $68,$54
+ db $68,$64
+
+OAMData_70116: ; 70116 (1c:4116)
+ db $68,$3C
+ db $68,$5C
+ db $68,$6C
+ db $68,$74
+
+OAMData_7011e: ; 7011e (1c:411e)
+ db $FF
Func_7011f: ; 7011f (1c:411f)
ld b, $8
.asm_70121
ld hl, $c35c
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld de, $fffc
ld c, a
.asm_7012b
@@ -98873,7 +103553,7 @@ Func_701a0: ; 701a0 (1c:41a0)
inc c
push hl
push bc
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
ld a, c
ld [$cd3e], a
ld hl, W_PARTYMON1_LEVEL ; $d18c
@@ -98909,7 +103589,7 @@ Func_701a0: ; 701a0 (1c:41a0)
ld [hl], $ff
call Func_73b0d
xor a
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
inc a
ld [$cd40], a
call Func_70278
@@ -98930,7 +103610,7 @@ Func_70278: ; 70278 (1c:4278)
ld [$FF00+$af], a
ld a, $c0
ld [$FF00+$ae], a
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld [$cf91], a
ld [$d0b5], a
ld [$cfd9], a
@@ -99003,13 +103683,13 @@ Func_702f0: ; 702f0 (1c:42f0)
FuncCoord 8, 7 ; $c434
ld hl, Coord
call PrintLevelCommon
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld [$d0b5], a
FuncCoord 3, 9 ; $c457
ld hl, Coord
ld a, $4b
call Predef ; indirect jump to Func_27d6b (27d6b (9:7d6b))
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
jp PlayCry
HoFMonInfoText: ; 70329 (1c:4329)
@@ -99080,7 +103760,7 @@ Func_70377: ; 70377 (1c:4377)
call PlaceString
FuncCoord 4, 10 ; $c46c
ld hl, Coord
- ld de, W_PLAYERMONEY3 ; $d347
+ ld de, wPlayerMoney ; $d347
ld c, $a3
call PrintBCDNumber
ld hl, UnnamedText_703fa ; $43fa
@@ -99113,7 +103793,7 @@ Func_70404: ; 70404 (1c:4404)
ld bc, $10
ld a, [$cd3e]
call AddNTimes
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld [hli], a
ld a, [$cd3f]
ld [hli], a
@@ -99128,13 +103808,13 @@ Func_70423: ; 70423 (1c:4423)
ld [$cfc8], a
ld [$cfc9], a
ld a, $ff
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
jp GBFadeOut2
Func_70433: ; 70433 (1c:4433)
- ld de, PokeCenterHealBall ; $44b7
+ ld de, PokeCenterFlashingMonitorAndHealBall ; $44b7
ld hl, $87c0
- ld bc, (BANK(PokeCenterHealBall) << 8) + $03
+ ld bc, (BANK(PokeCenterFlashingMonitorAndHealBall) << 8) + $03
call CopyVideoData
ld hl, $cfcb
ld a, [hl]
@@ -99146,15 +103826,15 @@ Func_70433: ; 70433 (1c:4433)
ld a, $e0
ld [rOBP1], a ; $FF00+$49
ld hl, $c384
- ld de, Unknown_704d7 ; $44d7
+ ld de, PokeCenterOAMData ; $44d7
call Func_70503
ld a, $4
- ld [W_CURCHANNELPOINTER], a
+ ld [wMusicHeaderPointer], a
ld a, $ff
ld [$c0ee], a
call PlaySound
.asm_70464
- ld a, [W_CURCHANNELPOINTER]
+ ld a, [wMusicHeaderPointer]
and a
jr nz, .asm_70464
ld a, [W_NUMINPARTY] ; $d163
@@ -99195,11 +103875,17 @@ Func_70433: ; 70433 (1c:4433)
ld [hl], a
jp UpdateSprites
-PokeCenterHealBall: ; 704b7 (1c:44b7)
+PokeCenterFlashingMonitorAndHealBall: ; 704b7 (1c:44b7)
INCBIN "gfx/pokecenter_ball.2bpp"
-Unknown_704d7: ; 704d7 (1c:44d7)
-INCBIN "baserom.gbc",$704d7,$704f3 - $704d7
+PokeCenterOAMData: ; 704d7 (1c:44d7)
+ db $24,$34,$7C,$10 ; heal machine monitor
+ db $2B,$30,$7D,$10 ; pokeballs 1-6
+ db $2B,$38,$7D,$30
+ db $30,$30,$7D,$10
+ db $30,$38,$7D,$30
+ db $35,$30,$7D,$10
+ db $35,$38,$7D,$30
Func_704f3: ; 704f3 (1c:44f3)
ld b, $8
@@ -99253,7 +103939,7 @@ Func_70510: ; 70510 (1c:4510)
ld a, b
and a
jr nz, .asm_7055b
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
xor a
ld [hli], a
inc a
@@ -99281,7 +103967,7 @@ Func_70510: ; 70510 (1c:4510)
call Func_706d7
ld a, $a4
call PlaySound
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
xor a
ld [hli], a
ld a, $c
@@ -99296,7 +103982,7 @@ Unknown_70592: ; 70592 (1c:4592)
INCBIN "baserom.gbc",$70592,$705aa - $70592
Func_705aa: ; 705aa (1c:45aa)
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
ld a, $10
ld [hli], a
ld a, $3c
@@ -99316,7 +104002,7 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
.asm_705c8
ld a, $9f
call PlaySound
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
ld a, $f0
ld [hli], a
ld a, $ec
@@ -99339,7 +104025,7 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
ld a, [$d732]
bit 6, a
jr z, .asm_70610
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
ld a, $10
ld [hli], a
ld a, $ff
@@ -99352,7 +104038,7 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
jr .asm_705c8
.asm_70610
call Func_706d7
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
ld a, $ff
ld [hli], a
ld a, $8
@@ -99361,7 +104047,7 @@ _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba)
call Func_706ae
ld a, $a4
call PlaySound
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
xor a
ld [hli], a
ld a, $c
@@ -99394,7 +104080,7 @@ Func_7067d: ; 7067d (1c:467d)
ld a, [$c306]
ld [$c30e], a
ld a, $a0
- ld [W_OAMBUFFER], a
+ ld [wOAMBuffer], a
ld [$c304], a
ld c, $2
call DelayFrames
@@ -99412,7 +104098,7 @@ Func_706ae: ; 706ae (1c:46ae)
ld [$cd3f], a
ld [$c102], a
call Delay3
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
cp $ff
jr z, .asm_706cd
ld hl, $c104
@@ -99476,7 +104162,7 @@ Func_70717: ; 70717 (1c:4717)
Func_70730: ; 70730 (1c:4730)
call Func_70717
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld c, a
and $3
jr nz, .asm_70743
@@ -99486,7 +104172,7 @@ Func_70730: ; 70730 (1c:4730)
.asm_70743
ld a, [$cd3e]
add c
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
ld c, a
ld a, [$cd3f]
cp c
@@ -99496,7 +104182,7 @@ Func_70730: ; 70730 (1c:4730)
Func_70755: ; 70755 (1c:4755)
call Func_70717
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld c, a
ld a, [$c104]
add c
@@ -99526,7 +104212,7 @@ Func_7077f: ; 7077f (1c:477f)
Func_70787: ; 70787 (1c:4787)
ld b, $0
- ld hl, Unknown_707a9 ; $47a9
+ ld hl, DataTable_707a9 ; $47a9
ld a, [W_CURMAPTILESET] ; $d367
ld c, a
.asm_70790
@@ -99551,8 +104237,13 @@ Func_70787: ; 70787 (1c:4787)
ld [$cd5b], a
ret
-Unknown_707a9: ; 707a9 (1c:47a9)
-INCBIN "baserom.gbc",$707a9,$707b6 - $707a9
+; format: db tileset id, tile id, value to be put in $cd5b
+DataTable_707a9: ; 707a9 (1c:47a9)
+ db $16,$20,$01
+ db $16,$11,$02
+ db $11,$22,$02
+ db $10,$55,$01
+ db $FF
Func_707b6: ; 707b6 (1c:47b6)
ld c, $a
@@ -99576,7 +104267,7 @@ Func_707b6: ; 707b6 (1c:47b6)
call CopyData
ld c, $64
call DelayFrames
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
and a
ld hl, UnnamedText_70847 ; $4847
jr z, .asm_70836
@@ -99656,7 +104347,7 @@ _HandleMidJump: ; 7087e (1c:487e)
ld [$c104], a
ret
.asm_70895
- ld a, [W_WALKCOUNTER] ; $cfc5
+ ld a, [wWalkCounter] ; $cfc5
cp $0
ret nz
call UpdateSprites
@@ -99671,7 +104362,7 @@ _HandleMidJump: ; 7087e (1c:487e)
ld hl, $d730
res 7, [hl]
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ret
Unknown_708ba: ; 708ba (1c:48ba)
@@ -99734,7 +104425,7 @@ Func_7092a: ; 7092a (1c:492a)
ld [W_BASECOORDY], a ; $d082
ld a, $70
ld [W_BASECOORDX], a ; $d081
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
ld bc, $606
ld d, $8
.asm_70948
@@ -99816,7 +104507,7 @@ Func_7096d: ; 7096d (1c:496d)
call Func_709ef
call Func_70a19
.asm_709c9
- ld hl, Unknown_709d2 ; $49d2
+ ld hl, PointerTable_709d2 ; $49d2
add hl, bc
add hl, bc
ld a, [hli]
@@ -99824,8 +104515,15 @@ Func_7096d: ; 7096d (1c:496d)
ld l, a
jp [hl]
-Unknown_709d2: ; 709d2 (1c:49d2)
-INCBIN "baserom.gbc",$709d2,$709e2 - $709d2
+PointerTable_709d2: ; 709d2 (1c:49d2)
+ dw Func_70d24
+ dw Func_70a72
+ dw Func_70ce4
+ dw Func_70a72
+ dw Func_70cb4
+ dw Func_70b7f
+ dw Func_70c7e
+ dw Func_70bca
Func_709e2: ; 709e2 (1c:49e2)
ld a, [W_CUROPPONENT] ; $d059
@@ -99868,7 +104566,7 @@ Func_709ef: ; 709ef (1c:49ef)
Func_70a19: ; 70a19 (1c:4a19)
ld a, [W_CURMAP] ; $d35e
ld e, a
- ld hl, Unknown_70a3f ; $4a3f
+ ld hl, MapIDList_70a3f ; $4a3f
.asm_70a20
ld a, [hli]
cp $ff
@@ -99879,7 +104577,7 @@ Func_70a19: ; 70a19 (1c:4a19)
set 2, c
ret
.asm_70a2b
- ld hl, Unknown_70a44 ; $4a44
+ ld hl, MapIDList_70a44 ; $4a44
.asm_70a2e
ld a, [hli]
cp $ff
@@ -99895,11 +104593,33 @@ Func_70a19: ; 70a19 (1c:4a19)
res 2, c
ret
-Unknown_70a3f: ; 70a3f (1c:4a3f)
-INCBIN "baserom.gbc",$70a3f,$70a44 - $70a3f
+; Func_70a19 checks if W_CURMAP is equal to one of these maps
+MapIDList_70a3f: ; 70a3f (1c:4a3f)
+ db VIRIDIAN_FOREST
+ db ROCK_TUNNEL_1
+ db SEAFOAM_ISLANDS_1
+ db ROCK_TUNNEL_2
+ db $FF
+
+; Func_70a19 checks if W_CURMAP is in between or equal to each pair of maps
+MapIDList_70a44: ; 70a44 (1c:4a44)
+ ; all MT_MOON maps
+ db MT_MOON_1
+ db MT_MOON_3
-Unknown_70a44: ; 70a44 (1c:4a44)
-INCBIN "baserom.gbc",$70a44,$70a4d - $70a44
+ ; all SS_ANNE maps, VICTORY_ROAD_1, LANCES_ROOM, and HALL_OF_FAME
+ db SS_ANNE_1
+ db HALL_OF_FAME
+
+ ; all POKEMONTOWER maps and Lavender Town buildings
+ db LAVENDER_POKECENTER
+ db LAVENDER_HOUSE_2
+
+ ; all SILPH_CO, MANSION, SAFARI_ZONE, and UNKNOWN_DUNGEON maps,
+ ; except for SILPH_CO_1F
+ db SILPH_CO_2F
+ db UNKNOWN_DUNGEON_1
+ db $FF
Func_70a4d: ; 70a4d (1c:4a4d)
ld hl, $8ff0
@@ -99916,6 +104636,8 @@ Func_70a69: ; 70a69 (1c:4a69)
ld [rOBP0], a ; $FF00+$48
ld [rOBP1], a ; $FF00+$49
ret
+
+Func_70a72: ; 70a72 (1c:4a72)
ld a, [$cd47]
and a
jr z, .asm_70a7d
@@ -99951,8 +104673,8 @@ Func_70a69: ; 70a69 (1c:4a69)
Func_70aaa: ; 70aaa (1c:4aaa)
ld a, $7
- ld [W_WHICHTRADE], a ; $cd3d
- ld hl, W_SCREENTILESBUFFER
+ ld [wWhichTrade], a ; $cd3d
+ ld hl, wTileMap
ld c, $11
ld de, $14
call Func_70ae0
@@ -99985,13 +104707,13 @@ Func_70ae0: ; 70ae0 (1c:4ae0)
ld [hl], $ff
add hl, de
push bc
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
dec a
jr nz, .asm_70af0
call Func_70d19
ld a, $7
.asm_70af0
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
pop bc
dec c
jr nz, .asm_70ae1
@@ -100066,7 +104788,7 @@ Func_70af9: ; 70af9 (1c:4af9)
jr .asm_70b1c
Func_70b5d: ; 70b5d (1c:4b5d)
- ld hl, Unknown_70b72 ; $4b72
+ ld hl, DataTable_70b72 ; $4b72
.asm_70b60
ld a, [hli]
cp $1
@@ -100080,8 +104802,11 @@ Func_70b5d: ; 70b5d (1c:4b5d)
jr nz, Func_70b5d
ret
-Unknown_70b72: ; 70b72 (1c:4b72)
-INCBIN "baserom.gbc",$70b72,$70b7f - $70b72
+DataTable_70b72: ; 70b72 (1c:4b72)
+ db $F9,$FE,$FF,$FE,$F9,$E4,$90,$40,$00,$40,$90,$E4
+ db $01 ; terminator
+
+Func_70b7f: ; 70b7f (1c:4b7f)
ld c, $9
.asm_70b81
push bc
@@ -100121,6 +104846,8 @@ INCBIN "baserom.gbc",$70b72,$70b7f - $70b72
call Func_70a69
ld c, $a
jp DelayFrames
+
+Func_70bca: ; 70bca (1c:4bca)
ld c, $9
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
@@ -100134,7 +104861,7 @@ INCBIN "baserom.gbc",$70b72,$70b7f - $70b72
call Func_70c12
FuncCoord 0, 1 ; $c3b4
ld hl, Coord
- ld de, W_SCREENTILESBUFFER
+ ld de, wTileMap
ld bc, $28
call Func_70c12
FuncCoord 18, 0 ; $c3b2
@@ -100145,7 +104872,7 @@ INCBIN "baserom.gbc",$70b72,$70b7f - $70b72
call Func_70c3f
FuncCoord 1, 0 ; $c3a1
ld hl, Coord
- ld de, W_SCREENTILESBUFFER
+ ld de, wTileMap
ld bc, $2
call Func_70c3f
call Func_70d19
@@ -100159,7 +104886,7 @@ INCBIN "baserom.gbc",$70b72,$70b7f - $70b72
Func_70c12: ; 70c12 (1c:4c12)
ld a, c
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
ld a, b
ld [$cd3e], a
ld c, $8
@@ -100171,7 +104898,7 @@ Func_70c12: ; 70c12 (1c:4c12)
call CopyData
pop hl
pop de
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld c, a
ld a, [$cd3e]
ld b, a
@@ -100191,7 +104918,7 @@ Func_70c12: ; 70c12 (1c:4c12)
Func_70c3f: ; 70c3f (1c:4c3f)
ld a, c
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
ld a, b
ld [$cd3e], a
ld c, $9
@@ -100219,7 +104946,7 @@ Func_70c3f: ; 70c3f (1c:4c3f)
jr nz, .asm_70c4e
pop hl
pop de
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld c, a
ld a, [$cd3e]
ld b, a
@@ -100237,8 +104964,10 @@ Func_70c3f: ; 70c3f (1c:4c3f)
dec c
jr nz, .asm_70c77
ret
+
+Func_70c7e: ; 70c7e (1c:4c7e)
ld c, $12
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
FuncCoord 1, 17 ; $c4f5
ld de, Coord
xor a
@@ -100274,8 +105003,10 @@ Func_70caa: ; 70caa (1c:4caa)
dec c
jr nz, .asm_70cac
ret
+
+Func_70cb4: ; 70cb4 (1c:4cb4)
ld c, $14
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
FuncCoord 19, 1 ; $c3c7
ld de, Coord
xor a
@@ -100308,7 +105039,16 @@ Func_70cd8: ; 70cd8 (1c:4cd8)
jr nz, .asm_70cdd
ret
-INCBIN "baserom.gbc",$70ce4,$70cfd - $70ce4
+Func_70ce4: ; 70ce4 (1c:4ce4)
+ call Func_70cfd
+ ld bc, $000a
+ ld hl, Unknown_70d61
+ call Func_70d06
+ ld c, $a
+ ld b, $1
+ ld hl, Unknown_70d93
+ call Func_70d06
+ jp Func_70a69
Func_70cfd: ; 70cfd (1c:4cfd)
ld b, $3
@@ -100317,7 +105057,19 @@ Func_70cfd: ; 70cfd (1c:4cfd)
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
ret
-INCBIN "baserom.gbc",$70d06,$70d19 - $70d06
+Func_70d06: ; 70d06 (1c:4d06)
+ push bc
+ push hl
+ ld a, b
+ call Func_70d50
+ pop hl
+ ld bc, $0005
+ add hl, bc
+ call Func_70d19
+ pop bc
+ dec c
+ jr nz, Func_70d06
+ ret
Func_70d19: ; 70d19 (1c:4d19)
ld a, $1
@@ -100326,6 +105078,8 @@ Func_70d19: ; 70d19 (1c:4d19)
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
ret
+
+Func_70d24: ; 70d24 (1c:4d24)
call Func_70cfd
ld c, $a
ld hl, Unknown_70d61 ; $4d61
@@ -100354,7 +105108,7 @@ Func_70d19: ; 70d19 (1c:4d19)
jp Func_70a69
Func_70d50: ; 70d50 (1c:4d50)
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
ld a, [hli]
ld [$cd3e], a
ld a, [hli]
@@ -100364,15 +105118,111 @@ Func_70d50: ; 70d50 (1c:4d50)
ld a, [hli]
ld h, [hl]
ld l, a
- jp asm_70dc5
+ jp Func_70dc5
Unknown_70d61: ; 70d61 (1c:4d61)
-INCBIN "baserom.gbc",$70d61,$70d93 - $70d61
+ db $01
+ dw Unknown_70dfe
+ FuncCoord 18, 6
+ dw Coord
+
+ db $01
+ dw Unknown_70e04
+ FuncCoord 19, 3
+ dw Coord
+
+ db $01
+ dw Unknown_70e0e
+ FuncCoord 18, 0
+ dw Coord
+
+ db $01
+ dw Unknown_70e20
+ FuncCoord 14, 0
+ dw Coord
+
+ db $01
+ dw Unknown_70e2e
+ FuncCoord 10, 0
+ dw Coord
+
+ db $00
+ dw Unknown_70e2e
+ FuncCoord 9, 0
+ dw Coord
+
+ db $00
+ dw Unknown_70e20
+ FuncCoord 5, 0
+ dw Coord
+
+ db $00
+ dw Unknown_70e0e
+ FuncCoord 1, 0
+ dw Coord
+
+ db $00
+ dw Unknown_70e04
+ FuncCoord 0, 3
+ dw Coord
+
+ db $00
+ dw Unknown_70dfe
+ FuncCoord 1, 6
+ dw Coord
Unknown_70d93: ; 70d93 (1c:4d93)
-INCBIN "baserom.gbc",$70d93,$70dc5 - $70d93
+ db $00
+ dw Unknown_70dfe
+ FuncCoord 1, 11
+ dw Coord
+
+ db $00
+ dw Unknown_70e04
+ FuncCoord 0, 14
+ dw Coord
+
+ db $00
+ dw Unknown_70e0e
+ FuncCoord 1, 17
+ dw Coord
+
+ db $00
+ dw Unknown_70e20
+ FuncCoord 5, 17
+ dw Coord
+
+ db $00
+ dw Unknown_70e2e
+ FuncCoord 9, 17
+ dw Coord
+
+ db $01
+ dw Unknown_70e2e
+ FuncCoord 10, 17
+ dw Coord
+
+ db $01
+ dw Unknown_70e20
+ FuncCoord 14, 17
+ dw Coord
+
+ db $01
+ dw Unknown_70e0e
+ FuncCoord 18, 17
+ dw Coord
+
+ db $01
+ dw Unknown_70e04
+ FuncCoord 19, 14
+ dw Coord
+
+ db $01
+ dw Unknown_70dfe
+ FuncCoord 18, 11
+ dw Coord
-asm_70dc5
+Func_70dc5: ; 70dc5 (1c:4dc5)
push hl
ld a, [de]
ld c, a
@@ -100390,7 +105240,7 @@ asm_70dc5
dec c
jr nz, .asm_70dc9
pop hl
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
and a
ld bc, $14
jr z, .asm_70de5
@@ -100402,7 +105252,7 @@ asm_70dc5
cp $ff
ret z
and a
- jr z, asm_70dc5
+ jr z, Func_70dc5
ld c, a
.asm_70def
ld a, [$cd3e]
@@ -100415,9 +105265,22 @@ asm_70dc5
.asm_70df9
dec c
jr nz, .asm_70def
- jr asm_70dc5
+ jr Func_70dc5
+
+Unknown_70dfe: ; 70dfe (1c:4dfe)
+ db $02,$03,$05,$04,$09,$FF
+
+Unknown_70e04: ; 70e04 (1c:4e04)
+ db $01,$01,$02,$02,$04,$02,$04,$02,$03,$FF
-INCBIN "baserom.gbc",$70dfe,$70e3e - $70dfe
+Unknown_70e0e: ; 70e0e (1c:4e0e)
+ db $02,$01,$03,$01,$04,$01,$04,$01,$04,$01,$03,$01,$02,$01,$01,$01,$01,$FF
+
+Unknown_70e20: ; 70e20 (1c:4e20)
+ db $04,$01,$04,$00,$03,$01,$03,$00,$02,$01,$02,$00,$01,$FF
+
+Unknown_70e2e: ; 70e2e (1c:4e2e)
+ db $04,$00,$03,$00,$03,$00,$02,$00,$02,$00,$01,$00,$01,$00,$01,$FF
Func_70e3e: ; 70e3e (1c:4e3e)
call Func_7109b
@@ -100436,8 +105299,8 @@ Func_70e3e: ; 70e3e (1c:4e3e)
ld hl, Coord
ld de, $cd6d
call PlaceString
- ld hl, W_OAMBUFFER
- ld de, W_SCREENTILESBACKBUFFER
+ ld hl, wOAMBuffer
+ ld de, wTileMapBackup
ld bc, $10
call CopyData
ld hl, $8040
@@ -100445,21 +105308,22 @@ Func_70e3e: ; 70e3e (1c:4e3e)
ld bc, (BANK(TownMapCursor) << 8) + $04
call CopyVideoDataDouble
xor a
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
pop af
- jr asm_70e92
+ jr Func_70e92
Func_70e7e: ; 70e7e (1c:4e7e)
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld bc, $114
call ClearScreenArea
ld hl, TownMapOrder ; $4f11
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
ld c, a
ld b, $0
add hl, bc
ld a, [hl]
-asm_70e92: ; 70e92 (1c:4e92)
+
+Func_70e92: ; 70e92 (1c:4e92)
ld de, $cee9
call Func_712f1
ld a, [de]
@@ -100508,22 +105372,22 @@ asm_70e92: ; 70e92 (1c:4e92)
ld [hl], a
ret
.asm_70ef2
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
inc a
cp $2f
jr nz, .asm_70efb
xor a
.asm_70efb
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
jp Func_70e7e
.asm_70f01
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
dec a
cp $ff
jr nz, .asm_70f0b
ld a, $2e
.asm_70f0b
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
jp Func_70e7e
TownMapOrder: ; 70f11 (1c:4f11)
@@ -100623,7 +105487,7 @@ Func_70f90: ; 70f90 (1c:4f90)
push af
ld [hl], $ff
push hl
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld de, ToText ; $506d
call PlaceString
ld a, [W_CURMAP] ; $d35e
@@ -100725,7 +105589,7 @@ ToText: ; 7106d (1c:506d)
db "To@"
Func_71070: ; 71070 (1c:5070)
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
ld [hl], $ff
inc hl
ld a, [$d70b]
@@ -100755,7 +105619,7 @@ Func_7109b: ; 7109b (1c:509b)
call GBPalWhiteOutWithDelay3
call ClearScreen
call UpdateSprites
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld b, $12
ld c, $12
call TextBoxBorder
@@ -100770,7 +105634,7 @@ Func_7109b: ; 7109b (1c:509b)
ld bc, $8
ld a, BANK(MonNestIcon)
call FarCopyDataDouble
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld de, CompressedMap ; $5100
.asm_710d3
ld a, [de]
@@ -100835,8 +105699,8 @@ Func_711c4: ; 711c4 (1c:51c4)
inc de
cp $50
jr nz, .asm_711dc
- ld hl, W_OAMBUFFER
- ld de, W_SCREENTILESBACKBUFFER
+ ld hl, wOAMBuffer
+ ld de, wTileMapBackup
ld bc, $a0
jp CopyData
@@ -100845,7 +105709,7 @@ Func_711ef: ; 711ef (1c:51ef)
ld hl, Func_e9cb
call Bankswitch ; indirect jump to Func_e9cb (e9cb (3:69cb))
call Func_712d9
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
ld de, $cee9
.asm_71200
ld a, [de]
@@ -100886,8 +105750,8 @@ Func_711ef: ; 711ef (1c:51ef)
ld b, $0
call Func_711c4
.asm_7123e
- ld hl, W_OAMBUFFER
- ld de, W_SCREENTILESBACKBUFFER
+ ld hl, wOAMBuffer
+ ld de, wTileMapBackup
ld bc, $a0
jp CopyData
@@ -101017,7 +105881,7 @@ Func_712d9: ; 712d9 (1c:52d9)
jr .asm_712e4
Func_712f1: ; 712f1 (1c:52f1)
- cp $25
+ cp REDS_HOUSE_1F
jr c, .asm_71304
ld bc, $4
ld hl, InternalMapEntries ; $5382
@@ -101264,14 +106128,14 @@ Func_716c6: ; 716c6 (1c:56c6)
jr z, .asm_716e1
cp $32
jr nz, .asm_716f1
- ld hl, W_SCREENTILESBACKBUFFER
- ld de, W_OAMBUFFER
+ ld hl, wTileMapBackup
+ ld de, wOAMBuffer
ld bc, $90
call CopyData
xor a
jr .asm_716f1
.asm_716e1
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
ld b, $24
ld de, $4
.asm_716e9
@@ -101286,21 +106150,21 @@ Func_716c6: ; 716c6 (1c:56c6)
Func_716f7: ; 716f7 (1c:56f7)
xor a
- ld [W_CURMENUITEMID], a ; $cc26
+ ld [wCurrentMenuItem], a ; $cc26
ld b, a
inc a
jr asm_7170a
Func_716ff: ; 716ff (1c:56ff)
ld hl, $cf1f
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
ld c, a
ld b, $0
add hl, bc
ld a, [hl]
asm_7170a: ; 7170a (1c:570a)
ld c, a
- ld hl, Unknown_71769 ; $5769
+ ld hl, DataTable_71769 ; $5769
add hl, bc
ld a, [$cf1b]
xor $1
@@ -101324,7 +106188,7 @@ asm_7170a: ; 7170a (1c:570a)
.asm_7172c
push bc
ld hl, $cc5b
- ld de, W_OAMBUFFER
+ ld de, wOAMBuffer
ld bc, $60
call CopyData
pop bc
@@ -101334,7 +106198,7 @@ asm_7170a: ; 7170a (1c:570a)
push bc
ld hl, $c302
ld bc, $10
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
call AddNTimes
ld c, $40
ld a, [hl]
@@ -101360,11 +106224,11 @@ asm_7170a: ; 7170a (1c:570a)
ld a, c
jr .asm_71721
-Unknown_71769: ; 71769 (1c:5769)
-INCBIN "baserom.gbc",$71769,$7176c - $71769
+DataTable_71769: ; 71769 (1c:5769)
+ db $05,$10,$20
Func_7176c: ; 7176c (1c:576c)
- ld hl, Unknown_717c0 ; $57c0
+ ld hl, MonOverworldSpritePointers ; $57c0
ld a, $1c
Func_71771: ; 71771 (1c:5771)
@@ -101398,7 +106262,7 @@ Func_71771: ; 71771 (1c:5771)
Func_71791: ; 71791 (1c:5791)
call DisableLCD
- ld hl, Unknown_717c0 ; $57c0
+ ld hl, MonOverworldSpritePointers ; $57c0
ld a, $1c
ld bc, $0
.asm_7179c
@@ -101431,8 +106295,146 @@ Func_71791: ; 71791 (1c:5791)
jr nz, .asm_7179c
jp EnableLCD
-Unknown_717c0: ; 717c0 (1c:57c0)
-INCBIN "baserom.gbc",$717c0,$71868 - $717c0
+MonOverworldSpritePointers: ; 717c0 (1c:57c0)
+ dw SlowbroSprite + $c0
+ db $40 / $10 ; 40 bytes
+ db BANK(SlowbroSprite)
+ dw $8000
+
+ dw BallSprite
+ db $80 / $10 ; $80 bytes
+ db BANK(BallSprite)
+ dw $8040
+
+ dw ClefairySprite + $c0
+ db $40 / $10 ; $40 bytes
+ db BANK(ClefairySprite)
+ dw $80C0
+
+ dw BirdSprite + $c0
+ db $40 / $10 ; $40 bytes
+ db BANK(BirdSprite)
+ dw $8100
+
+ dw SeelSprite
+ db $40 / $10 ; $40 bytes
+ db BANK(SeelSprite)
+ dw $8140
+
+ dw MonOverworldSprites + $40
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $8180
+
+ dw MonOverworldSprites + $50
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $81A0
+
+ dw MonOverworldSprites + $60
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $81C0
+
+ dw MonOverworldSprites + $70
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $81E0
+
+ dw MonOverworldSprites + $80
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $8200
+
+ dw MonOverworldSprites + $90
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $8220
+
+ dw MonOverworldSprites + $A0
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $8240
+
+ dw MonOverworldSprites + $B0
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $8260
+
+ dw MonOverworldSprites + $100
+ db $40 / $10 ; $40 bytes
+ db BANK(MonOverworldSprites)
+ dw $8380
+
+ dw SlowbroSprite
+ db $40 / $10 ; $40 bytes
+ db BANK(SlowbroSprite)
+ dw $8400
+
+ dw BallSprite
+ db $80 / $10 ; $80 bytes
+ db BANK(BallSprite)
+ dw $8440
+
+ dw ClefairySprite
+ db $40 / $10 ; $40 bytes
+ db BANK(ClefairySprite)
+ dw $84C0
+
+ dw BirdSprite
+ db $40 / $10 ; $40 bytes
+ db BANK(BirdSprite)
+ dw $8500
+
+ dw SeelSprite + $C0
+ db $40 / $10 ; $40 bytes
+ db BANK(SeelSprite)
+ dw $8540
+
+ dw MonOverworldSprites
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $8580
+
+ dw MonOverworldSprites + $10
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $85A0
+
+ dw MonOverworldSprites + $20
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $85C0
+
+ dw MonOverworldSprites + $30
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $85E0
+
+ dw MonOverworldSprites + $C0
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $8600
+
+ dw MonOverworldSprites + $D0
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $8620
+
+ dw MonOverworldSprites + $E0
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $8640
+
+ dw MonOverworldSprites + $F0
+ db $10 / $10 ; $10 bytes
+ db BANK(MonOverworldSprites)
+ dw $8660
+
+ dw MonOverworldSprites + $140
+ db $40 / $10 ; $40 bytes
+ db BANK(MonOverworldSprites)
+ dw $8780
Func_71868: ; 71868 (1c:5868)
push hl
@@ -101446,7 +106448,7 @@ Func_71868: ; 71868 (1c:5868)
ld a, [hl]
call Func_718e9
ld [$cd5b], a
- call asm_718c3
+ call Func_718c3
pop bc
pop de
pop hl
@@ -101458,10 +106460,43 @@ Func_71882: ; 71882 (1c:5882)
ld a, [$cd5d]
call Func_718e9
ld [$cd5b], a
- jr asm_718c3
+ jr Func_718c3
-INCBIN "baserom.gbc",$71890,$718c3 - $71890
-asm_718c3: ; 718c3 (1c:58c3)
+Func_71890: ; 71890 (1c:5890)
+ ld a, [$cf91]
+ call Func_718e9
+ push af
+ ld hl, $8000
+ call Func_718ac
+ pop af
+ add $54
+ ld hl, $8040
+ call Func_718ac
+ xor a
+ ld [$cd5d], a
+ jr Func_71882
+
+Func_718ac: ; 718ac (1c:58ac)
+ push hl
+ add a
+ ld c, a
+ ld b, $0
+ ld hl, MonOverworldSpritePointers
+ add hl, bc
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld e, a
+ ld a, [hli]
+ ld d, a
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+ pop hl
+ jp CopyVideoData
+
+Func_718c3: ; 718c3 (1c:58c3)
push af
ld c, $10
ld h, $c3
@@ -101478,7 +106513,7 @@ asm_718c3: ; 718c3 (1c:58c3)
.asm_718da
call Func_71281
.asm_718dd
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
ld de, $cc5b
ld bc, $60
jp CopyData
@@ -101583,14 +106618,14 @@ MonOverworldData: ; 7190d (1c:590d)
dn SPRITE_SNAKE, SPRITE_MON ;Dragonite/Mewtwo
dn SPRITE_MON, 0 ;Mew/Padding
-MonOverworldSprites:
+MonOverworldSprites: ; 71959 (1c:5959)
INCBIN "gfx/mon_ow_sprites.2bpp"
Predef54: ; 71ad9 (1c:5ad9)
-; trigger the trade offer/action specified by W_WHICHTRADE
+; trigger the trade offer/action specified by wWhichTrade
call SaveScreenTilesToBuffer2
ld hl,TradeMons
- ld a,[W_WHICHTRADE]
+ ld a,[wWhichTrade]
ld b,a
swap a
sub b
@@ -101610,7 +106645,7 @@ Predef54: ; 71ad9 (1c:5ad9)
pop af
ld l,a
ld h,$0
- ld de,Unknown_71d64 ; $5d64
+ ld de,InGameTradeTextPointers ; $5d64
add hl,hl
add hl,de
ld a,[hli]
@@ -101619,12 +106654,12 @@ Predef54: ; 71ad9 (1c:5ad9)
ld [$cd11],a
ld a,[$cd0f]
ld de,$cd13
- call Function71b6a
+ call Func_71b6a
ld a,[$cd34]
ld de,$cd1e
- call Function71b6a
+ call Func_71b6a
ld hl,$d737
- ld a,[W_WHICHTRADE]
+ ld a,[wWhichTrade]
ld c,a
ld b,$2
ld a,$10
@@ -101643,7 +106678,7 @@ Predef54: ; 71ad9 (1c:5ad9)
ld a,[$cc26]
and a
jr nz,.asm_99bca ; 0x71b4b $b
- call Function71c07
+ call Func_71c07
jr c,.asm_99bca ; 0x71b50 $6
ld hl, UnnamedText_71d8d
call PrintText
@@ -101662,7 +106697,7 @@ Predef54: ; 71ad9 (1c:5ad9)
ld l,a
jp PrintText
-Function71b6a: ; 71b6a (1c:5b6a)
+Func_71b6a: ; 71b6a (1c:5b6a)
push de
ld [$d11e],a
call GetMonName
@@ -101684,7 +106719,7 @@ TradeMons: ; 71b7b (1c:5b7b)
db VENONAT, TANGELA, 2,"CRINKLES@@@"
db NIDORAN_M, NIDORAN_F, 2,"SPOT@@@@@@@"
-Function71c07: ; 71c07 (1c:5c07)
+Func_71c07: ; 71c07 (1c:5c07)
xor a
ld [$d07d],a
dec a
@@ -101708,7 +106743,7 @@ Function71c07: ; 71c07 (1c:5c07)
ld a,[hl]
ld [$d127],a
ld hl,$d737
- ld a,[W_WHICHTRADE]
+ ld a,[wWhichTrade]
ld c,a
ld b,$1
ld a,$10
@@ -101768,14 +106803,14 @@ Func_71ca2: ; 71ca2 (1c:5ca2)
jp Bankswitch ; indirect jump to LoadWildData (ceb8 (3:4eb8))
Func_71cc1: ; 71cc1 (1c:5cc1)
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
ld a, [$cd0f]
ld [hli], a
ld a, [$cd34]
ld [hl], a
ld hl, W_PARTYMON1OT ; $d273
ld bc, $b
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
call AddNTimes
ld de, $cd41
ld bc, $b
@@ -101787,7 +106822,7 @@ Func_71cc1: ; 71cc1 (1c:5cc1)
call Func_71d11
ld hl, W_PARTYMON1_OTID ; $d177
ld bc, $2c
- ld a, [W_WHICHPOKEMON] ; $cf92
+ ld a, [wWhichPokemon] ; $cf92
call AddNTimes
ld de, $cd4c
ld bc, $2
@@ -101836,8 +106871,31 @@ Func_71d4f: ; 71d4f (1c:5d4f)
Unknown_71d59: ; 71d59 (1c:5d59)
INCBIN "baserom.gbc",$71d59,$71d64 - $71d59
-Unknown_71d64: ; 71d64 (1c:5d64)
-INCBIN "baserom.gbc",$71d64,$71d88 - $71d64
+InGameTradeTextPointers: ; 71d64 (1c:5d64)
+ dw TradeTextPointers1
+ dw TradeTextPointers2
+ dw TradeTextPointers3
+
+TradeTextPointers1: ; 71d6a (1c:5d6a)
+ dw UnnamedText_71d94
+ dw UnnamedText_71d99
+ dw UnnamedText_71d9e
+ dw UnnamedText_71da3
+ dw UnnamedText_71da8
+
+TradeTextPointers2: ; 71d74 (1c:5d74)
+ dw UnnamedText_71dad
+ dw UnnamedText_71db2
+ dw UnnamedText_71db7
+ dw UnnamedText_71dbc
+ dw UnnamedText_71dc1
+
+TradeTextPointers3: ; 71d7e (1c:5d7e)
+ dw UnnamedText_71dc6
+ dw UnnamedText_71dcb
+ dw UnnamedText_71dd0
+ dw UnnamedText_71dd5
+ dw UnnamedText_71dda
UnnamedText_71d88: ; 71d88 (1c:5d88)
TX_FAR _UnnamedText_71d88
@@ -101919,29 +106977,32 @@ Func_71ddf: ; 71ddf (1c:5ddf)
ld l, a
ld h, $0
add hl, hl
- ld de, Unknown_71f73 ; $5f73
+ ld de, PointerTable_71f73
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, Func_72156 ; $6156
+ ld de, Func_72156
push de
jp [hl]
- ld hl, PalPacket_72448 ; $6448
- ld de, Unknown_721b5 ; $61b5
+
+Func_71dff: ; 71dff (1c:5dff)
+ ld hl, PalPacket_72448
+ ld de, Unknown_721b5
ret
- ld hl, PalPacket_72428 ; $6428
+
+Func_71e06: ; 71e06 (1c:5e06)
+ ld hl, PalPacket_72428
ld de, $cf2d
ld bc, $10
call CopyData
ld a, [W_PLAYERBATTSTATUS3]
- ld hl, W_PLAYERMONID ; player Pokemon ID
+ ld hl, W_PLAYERMONID
call DeterminePaletteID
ld b, a
ld a, [W_ENEMYBATTSTATUS3]
- ld hl, W_ENEMYMONID ; enemy Pokemon ID
+ ld hl, W_ENEMYMONID
call DeterminePaletteID
-
ld c, a
ld hl, $cf2e
ld a, [$cf1d]
@@ -101958,23 +107019,27 @@ Func_71ddf: ; 71ddf (1c:5ddf)
ld a, c
ld [hl], a
ld hl, $cf2d
- ld de, Unknown_721b5 ; $61b5
+ ld de, Unknown_721b5
ld a, $1
ld [$cf1c], a
ret
- ld hl, PalPacket_72458 ; $6458
- ld de, Unknown_7219e ; $619e
+
+Func_71e48: ; 71e48 (1c:5e48)
+ ld hl, PalPacket_72458
+ ld de, Unknown_7219e
ret
- ld hl, PalPacket_72428 ; $6428
+
+Func_71e4f: ; 71e4f (1c:5e4f)
+ ld hl, PalPacket_72428
ld de, $cf2d
ld bc, $10
call CopyData
ld a, [$cf91]
- cp $bf
- jr c, .asm_71e64
- ld a, $1
-.asm_71e64
- call Func_71f9d
+ cp VICTREEBEL + 1
+ jr c, .pokemon
+ ld a, $1 ; not pokemon
+.pokemon
+ call DeterminePaletteIDOoutOfBattle
push af
ld hl, $cf2e
ld a, [$cf25]
@@ -101984,83 +107049,102 @@ Func_71ddf: ; 71ddf (1c:5ddf)
pop af
ld [hl], a
ld hl, $cf2d
- ld de, Unknown_721fa ; $61fa
+ ld de, Unknown_721fa
ret
- ld hl, PalPacket_72438 ; $6438
+
+Func_71e7b: ; 71e7b (1c:5e7b)
+ ld hl, PalPacket_72438
ld de, $cf2e
ret
- ld hl, PalPacket_72468 ; $6468
+
+Func_71e82: ; 71e82 (1c:5e82)
+ ld hl, PalPacket_72468
ld de, $cf2d
ld bc, $10
call CopyData
ld a, [$cf91]
- call Func_71f9d
+ call DeterminePaletteIDOoutOfBattle
ld hl, $cf30
ld [hl], a
ld hl, $cf2d
- ld de, Unknown_72222 ; $6222
+ ld de, Unknown_72222
ret
-INCBIN "baserom.gbc",$71e9f,$71ea6 - $71e9f
- ld hl, PalPacket_72488 ; $6488
- ld de, Unknown_7228e ; $628e
+Func_71e9f: ; 71e9f (1c:5e9f)
+ ld hl, PalPacket_72478
+ ld de, Unknown_7224f
ret
- ld hl, PalPacket_724a8 ; $64a8
- ld de, Unknown_7219e ; $619e
+
+Func_71ea6: ; 71ea6 (1c:5ea6)
+ ld hl, PalPacket_72488
+ ld de, Unknown_7228e
+ ret
+
+Func_71ead: ; 71ead (1c:5ead)
+ ld hl, PalPacket_724a8
+ ld de, Unknown_7219e
ret
- ld hl, PalPacket_724b8 ; $64b8
- ld de, Unknown_722c1 ; $62c1
+
+Func_71eb4: ; 71eb4 (1c:5eb4)
+ ld hl, PalPacket_724b8
+ ld de, Unknown_722c1
ret
- ld hl, PalPacket_724c8 ; $64c8
- ld de, Unknown_723dd ; $63dd
+
+Func_71ebb: ; 71ebb (1c:5ebb)
+ ld hl, PalPacket_724c8
+ ld de, Unknown_723dd
ld a, $8
ld [$cf1c], a
ret
- ld hl, PalPacket_72428 ; $6428
+
+GetMapPaletteID: ; 71ec7 (1c:5ec7)
+ ld hl, PalPacket_72428
ld de, $cf2d
ld bc, $10
call CopyData
- ld a, [W_CURMAPTILESET] ; $d367
+ ld a, [W_CURMAPTILESET]
cp $f
- jr z, .asm_71f0c
+ jr z, .PokemonTowerOrAgatha
cp $11
- jr z, .asm_71f10
- ld a, [W_CURMAP] ; $d35e
- cp $25
- jr c, .asm_71ef8
- cp $e2
- jr c, .asm_71ef5
- cp $e5
- jr c, .asm_71f10
- cp $f5
- jr z, .asm_71f14
- cp $f6
- jr z, .asm_71f10
-.asm_71ef5
- ld a, [$d365]
-.asm_71ef8
- cp $b
- jr c, .asm_71efe
- ld a, $ff
-.asm_71efe
- inc a
+ jr z, .caveOrBruno
+ ld a, [W_CURMAP]
+ cp REDS_HOUSE_1F
+ jr c, .townOrRoute
+ cp UNKNOWN_DUNGEON_2
+ jr c, .normalDungeonOrBuilding
+ cp NAME_RATERS_HOUSE
+ jr c, .caveOrBruno
+ cp LORELEIS_ROOM
+ jr z, .Lorelei
+ cp BRUNOS_ROOM
+ jr z, .caveOrBruno
+.normalDungeonOrBuilding
+ ld a, [$d365] ; town or route that current dungeon or building is located
+.townOrRoute
+ cp SAFFRON_CITY + 1
+ jr c, .town
+ ld a, PAL_ROUTE - 1
+.town
+ inc a ; a town's pallete ID is its map ID + 1
ld hl, $cf2e
ld [hld], a
- ld de, Unknown_7219e ; $619e
+ ld de, Unknown_7219e
ld a, $9
ld [$cf1c], a
ret
-.asm_71f0c
- ld a, $18
- jr .asm_71efe
-.asm_71f10
- ld a, $22
- jr .asm_71efe
-.asm_71f14
+.PokemonTowerOrAgatha
+ ld a, PAL_GREYMON - 1
+ jr .town
+.caveOrBruno
+ ld a, PAL_CAVE - 1
+ jr .town
+.Lorelei
xor a
- jr .asm_71efe
+ jr .town
+
+Func_71f17: ; 71f17 (1c:5f17)
push bc
- ld hl, PalPacket_72428 ; $6428
+ ld hl, PalPacket_72428
ld de, $cf2d
ld bc, $10
call CopyData
@@ -102070,19 +107154,21 @@ INCBIN "baserom.gbc",$71e9f,$71ea6 - $71e9f
ld a, $1e
jr nz, .asm_71f31
ld a, [$cf1d]
- call Func_71f9d
+ call DeterminePaletteIDOoutOfBattle
.asm_71f31
ld [$cf2e], a
ld hl, $cf2d
- ld de, Unknown_7219e ; $619e
+ ld de, Unknown_7219e
ret
- ld hl, Unknown_72360 ; $6360
+
+LoadTrainerCardBadgePalettes: ; 71f3b (1c:5f3b)
+ ld hl, Unknown_72360
ld de, $cc5b
ld bc, $40
call CopyData
- ld de, Unknown_71f8f ; $5f8f
+ ld de, LoopCounts_71f8f
ld hl, $cc5d
- ld a, [W_OBTAINEDBADGES] ; $d356
+ ld a, [W_OBTAINEDBADGES]
ld c, $8
.asm_71f52
srl a
@@ -102109,22 +107195,36 @@ INCBIN "baserom.gbc",$71e9f,$71ea6 - $71e9f
inc de
dec c
jr nz, .asm_71f52
- ld hl, PalPacket_72498 ; $6498
+ ld hl, PalPacket_72498
ld de, $cc5b
ret
-Unknown_71f73: ; 71f73 (1c:5f73)
-INCBIN "baserom.gbc",$71f73,$71f8f - $71f73
-
-Unknown_71f8f: ; 71f8f (1c:5f8f)
-INCBIN "baserom.gbc",$71f8f,$71f97 - $71f8f
+PointerTable_71f73: ; 71f73 (1c:5f73)
+ dw Func_71dff
+ dw Func_71e06
+ dw Func_71e48
+ dw Func_71e4f
+ dw Func_71e82
+ dw Func_71e9f
+ dw Func_71ea6
+ dw Func_71eb4
+ dw Func_71ead
+ dw GetMapPaletteID
+ dw Func_71e7b
+ dw Func_71f17
+ dw Func_71ebb
+ dw LoadTrainerCardBadgePalettes
+
+; each byte is the number of loops to make in .asm_71f5b for each badge
+LoopCounts_71f8f: ; 71f8f (1c:5f8f)
+ db $06,$06,$06,$12,$06,$06,$06,$06
DeterminePaletteID: ; 71f97 (1c:5f97)
bit 3, a ; bit 3 of battle status 3, set if current Pokemon is transformed
ld a, PAL_GREYMON ; if yes, use Ditto's palette
ret nz
ld a, [hl]
-Func_71f9d: ; 71f9d (1c:5f9d)
+DeterminePaletteIDOoutOfBattle: ; 71f9d (1c:5f9d)
ld [$D11E], a
and a
jr z, .idZero
@@ -102257,25 +107357,25 @@ Func_7202b: ; 7202b (1c:602b)
ei
ld a, $1
ld [$cf2d], a
- ld de, PalPacket_72508 ; $6508
- ld hl, SGBBorderGraphics ; $6fe8
+ ld de, PalPacket_72508
+ ld hl, SGBBorderGraphics
call Func_7210b
xor a
ld [$cf2d], a
- ld de, PalPacket_72518 ; $6518
- ld hl, BorderPalettes ; $6788
+ ld de, PalPacket_72518
+ ld hl, BorderPalettes
call Func_7210b
xor a
ld [$cf2d], a
- ld de, PalPacket_724d8 ; $64d8
- ld hl, SuperPalettes ; $6660
+ ld de, PalPacket_724d8
+ ld hl, SuperPalettes
call Func_7210b
call ZeroVram
- ld hl, PalPacket_72538 ; $6538
+ ld hl, PalPacket_72538
jp SendSGBPacket
Func_72075: ; 72075 (1c:6075)
- ld hl, Unknown_72089 ; $6089
+ ld hl, PointerTable_72089
ld c, $9
.asm_7207a
push bc
@@ -102291,11 +107391,19 @@ Func_72075: ; 72075 (1c:6075)
jr nz, .asm_7207a
ret
-Unknown_72089: ; 72089 (1c:6089)
-INCBIN "baserom.gbc",$72089,$7209b - $72089
+PointerTable_72089: ; 72089 (1c:6089)
+ dw PalPacket_72528
+ dw PalPacket_72548
+ dw PalPacket_72558
+ dw PalPacket_72568
+ dw PalPacket_72578
+ dw PalPacket_72588
+ dw PalPacket_72598
+ dw PalPacket_725a8
+ dw PalPacket_725b8
Func_7209b: ; 7209b (1c:609b)
- ld hl, PalPacket_724f8 ; $64f8
+ ld hl, PalPacket_724f8
di
call SendSGBPacket
ld a, $1
@@ -102346,7 +107454,7 @@ Func_7209b: ; 7209b (1c:609b)
ret
Func_72102: ; 72102 (1c:6102)
- ld hl, PalPacket_724e8 ; $64e8
+ ld hl, PalPacket_724e8
call SendSGBPacket
jp Wait7000
@@ -102429,7 +107537,7 @@ Func_7216d: ; 7216d (1c:616d)
add a
add a
add a
- ld de, SuperPalettes ; $6660
+ ld de, SuperPalettes
add e
jr nc, .asm_72180
inc d
@@ -102474,7 +107582,10 @@ Unknown_721fa: ; 721fa (1c:61fa)
INCBIN "baserom.gbc",$721fa,$72222 - $721fa
Unknown_72222: ; 72222 (1c:6222)
-INCBIN "baserom.gbc",$72222,$7228e - $72222
+INCBIN "baserom.gbc",$72222,$7224f - $72222
+
+Unknown_7224f: ; 7224f (1c:624f)
+INCBIN "baserom.gbc",$7224f,$7228e - $7224f
Unknown_7228e: ; 7228e (1c:628e)
INCBIN "baserom.gbc",$7228e,$722c1 - $7228e
@@ -102545,7 +107656,29 @@ PalPacket_72528: ; 72528 (1c:6528)
PalPacket_72538: ; 72538 (1c:6538)
db $B9,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
-INCBIN "baserom.gbc",$72548,$725c8 - $72548
+PalPacket_72548: ; 72548 (1c:6548)
+ db $79,$5D,$08,$00,$0B,$8C,$D0,$F4,$60,$00,$00,$00,$00,$00,$00,$00
+
+PalPacket_72558: ; 72558 (1c:6558)
+ db $79,$52,$08,$00,$0B,$A9,$E7,$9F,$01,$C0,$7E,$E8,$E8,$E8,$E8,$E0
+
+PalPacket_72568: ; 72568 (1c:6568)
+ db $79,$47,$08,$00,$0B,$C4,$D0,$16,$A5,$CB,$C9,$05,$D0,$10,$A2,$28
+
+PalPacket_72578: ; 72578 (1c:6578)
+ db $79,$3C,$08,$00,$0B,$F0,$12,$A5,$C9,$C9,$C8,$D0,$1C,$A5,$CA,$C9
+
+PalPacket_72588: ; 72588 (1c:6588)
+ db $79,$31,$08,$00,$0B,$0C,$A5,$CA,$C9,$7E,$D0,$06,$A5,$CB,$C9,$7E
+
+PalPacket_72598: ; 72598 (1c:6598)
+ db $79,$26,$08,$00,$0B,$39,$CD,$48,$0C,$D0,$34,$A5,$C9,$C9,$80,$D0
+
+PalPacket_725a8: ; 725a8 (1c:65a8)
+ db $79,$1B,$08,$00,$0B,$EA,$EA,$EA,$EA,$EA,$A9,$01,$CD,$4F,$0C,$D0
+
+PalPacket_725b8: ; 725b8 (1c:65b8)
+ db $79,$10,$08,$00,$0B,$4C,$20,$08,$EA,$EA,$EA,$EA,$EA,$60,$EA,$EA
MonsterPalettes: ; 725c8 (1c:65c8)
db PAL_MEWMON ; MISSINGNO
@@ -102875,8 +108008,8 @@ ENDC
RGB 31,28,14
RGB 24,20,10
RGB 3,2,2
-BorderPalettes: ; 72788 (1c:6788)
+BorderPalettes: ; 72788 (1c:6788)
IF _RED
INCBIN "gfx/red/sgbborder.map"
ENDC
@@ -102884,10 +108017,11 @@ IF _BLUE
INCBIN "gfx/blue/sgbborder.map"
ENDC
-INCBIN "baserom.gbc",$72e88,$72ede - $72e88
+ ds $56
Unknown_72ede: ; 72ede (1c:6ede)
-INCBIN "baserom.gbc",$72ede,$72f88 - $72ede
+ ds $AA
+
IF _RED
RGB 30,29,29 ; PAL_SGB1
RGB 25,22,25
@@ -102901,7 +108035,7 @@ IF _BLUE
RGB 16,20,27
ENDC
-INCBIN "baserom.gbc",$72f90,$72fa8 - $72f90
+ ds $18
IF _RED
RGB 30,29,29 ; PAL_SGB2
@@ -102916,7 +108050,7 @@ IF _BLUE
RGB 28,25,15
ENDC
-INCBIN "baserom.gbc",$72fb0,$72fc8 - $72fb0
+ ds $18
IF _RED
RGB 30,29,29 ; PAL_SGB3
@@ -102931,7 +108065,7 @@ IF _BLUE
RGB 14,22,17
ENDC
-INCBIN "baserom.gbc",$72fd0,$72fe8 - $72fd0
+ ds $18
SGBBorderGraphics: ; 72fe8 (1c:6fe8)
IF _RED
@@ -103001,13 +108135,13 @@ LoadSAVCheckSum: ; 73623 (1c:7623)
ld bc, $b
call CopyData
ld hl, $a5a3
- ld de, W_OWNEDPOKEMON ; $d2f7
+ ld de, wPokedexOwned ; $d2f7
ld bc, $789
call CopyData
ld hl, W_CURMAPTILESET ; $d367
set 7, [hl]
ld hl, $ad2c
- ld de, $c100
+ ld de, wSpriteStateData1
ld bc, $200
call CopyData
ld a, [$b522]
@@ -103057,7 +108191,7 @@ LoadSAVCheckSum2: ; 736bd (1c:76bd)
ld bc, $194
call CopyData
ld hl, $a5a3
- ld de, W_OWNEDPOKEMON ; $d2f7
+ ld de, wPokedexOwned ; $d2f7
ld bc, $26
call CopyData
and a
@@ -103072,7 +108206,7 @@ SAVGoodChecksum: ; 736f8 (1c:76f8)
ld [$0], a
ret
-Function_73701: ; 0x73701
+Func_73701: ; 0x73701
call LoadSAVCheckSum
call LoadSAVCheckSum1
jp LoadSAVCheckSum2
@@ -103108,17 +108242,16 @@ SaveSAV: ;$770a
call DelayFrames
ld hl,GameSavedText
call PrintText
- ld a,$b6 ;sound for saved game?
- call $3740 ;sound-related
- call $3748 ;sound-related
+ ld a,$b6 ;sound for saved game
+ call PlaySoundWaitForCurrent
+ call WaitForSoundToFinish
ld c,$1e
jp DelayFrames
NowSavingString:
db "Now saving...@"
-SaveSAVConfirm:
-;$7768
+SaveSAVConfirm: ; 73768 (1c:7768)
call PrintText
FuncCoord 0, 7
ld hl,Coord
@@ -103151,11 +108284,11 @@ SaveSAVtoSRAM0: ; 7378c (1c:778c)
ld de, $a598
ld bc, $b
call CopyData
- ld hl, W_OWNEDPOKEMON ; $d2f7
+ ld hl, wPokedexOwned ; $d2f7
ld de, $a5a3
ld bc, $789
call CopyData
- ld hl, $c100 ; OAM?
+ ld hl, wSpriteStateData1 ; OAM?
ld de, $ad2c
ld bc, $200
call CopyData
@@ -103204,7 +108337,7 @@ SaveSAVtoSRAM2: ; 7380f (1c:780f)
ld de, $af2c
ld bc, $194
call CopyData
- ld hl, W_OWNEDPOKEMON ; pokédex only
+ ld hl, wPokedexOwned ; pokédex only
ld de, $a5a3
ld bc, $26
call CopyData
@@ -103257,7 +108390,7 @@ Func_73863: ; 73863 (1c:7863)
ret
Func_7387b: ; 7387b (1c:787b)
- ld hl, Unknown_73895 ; $7895
+ ld hl, PointerTable_73895 ; $7895
ld a, [$d5a0]
and $7f
cp $6
@@ -103275,14 +108408,19 @@ Func_7387b: ; 7387b (1c:787b)
ld l, a
ret
-Unknown_73895: ; 73895 (1c:7895)
-INCBIN "baserom.gbc",$73895,$738a1 - $73895
+PointerTable_73895: ; 73895 (1c:7895)
+ dw $A000
+ dw $A462
+ dw $A8C4
+ dw $AD26
+ dw $B188
+ dw $B5EA
Func_738a1: ; 738a1 (1c:78a1)
ld hl, UnnamedText_73909 ; $7909
call PrintText
call YesNoChoice
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
and a
ret nz
ld hl, $d5a0
@@ -103302,14 +108440,14 @@ Func_738a1: ; 738a1 (1c:78a1)
ld d, h
ld hl, W_NUMINBOX ; $da80
call Func_7390e
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
set 7, a
ld [$d5a0], a
call Func_7387b
ld de, W_NUMINBOX ; $da80
call Func_7390e
ld hl, W_MAPTEXTPTR ; $d36c
- ld de, W_WHICHTRADE ; $cd3d
+ ld de, wWhichTrade ; $cd3d
ld a, [hli]
ld [de], a
inc de
@@ -103317,7 +108455,7 @@ Func_738a1: ; 738a1 (1c:78a1)
ld [de], a
call Func_3f05
call SaveSAVtoSRAM
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
call Func_3f0f
ld a, $b6
call PlaySoundWaitForCurrent
@@ -103357,20 +108495,20 @@ Func_7393f: ; 7393f (1c:793f)
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba
ld a, $3
- ld [W_MENUWATCHEDKEYS], a ; $cc29
+ ld [wMenuWatchedKeys], a ; $cc29
ld a, $b
- ld [W_MAXMENUITEMID], a ; $cc28
+ ld [wMaxMenuItem], a ; $cc28
ld a, $1
- ld [W_TOPMENUITEMY], a ; $cc24
+ ld [wTopMenuItemY], a ; $cc24
ld a, $c
- ld [W_TOPMENUITEMX], a ; $cc25
+ ld [wTopMenuItemX], a ; $cc25
xor a
ld [$cc37], a
ld a, [$d5a0]
and $7f
- ld [W_CURMENUITEMID], a ; $cc26
- ld [W_OLDMENUITEMID], a ; $cc2a
- ld hl, W_SCREENTILESBUFFER
+ ld [wCurrentMenuItem], a ; $cc26
+ ld [wLastMenuItem], a ; $cc2a
+ ld hl, wTileMap
ld b, $2
ld c, $9
call TextBoxBorder
@@ -103411,7 +108549,7 @@ Func_7393f: ; 7393f (1c:793f)
call Func_73a84
FuncCoord 18, 1 ; $c3c6
ld hl, Coord
- ld de, W_WHICHTRADE ; $cd3d
+ ld de, wWhichTrade ; $cd3d
ld bc, $14
ld a, $c
.asm_739c2
@@ -103495,7 +108633,7 @@ Func_73a7f: ; 73a7f (1c:7a7f)
ret
Func_73a84: ; 73a84 (1c:7a84)
- ld hl, W_WHICHTRADE ; $cd3d
+ ld hl, wWhichTrade ; $cd3d
push hl
ld a, $a
ld [$0], a
@@ -103595,7 +108733,7 @@ Func_73b0d: ; 73b0d (1c:7b0d)
Func_73b3f: ; 73b3f (1c:7b3f)
ld hl, $a598
ld bc, $60
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
call AddNTimes
ld de, $cc5b
ld bc, $60
@@ -103638,7 +108776,6 @@ PadSRAM_FF: ; 73b8f (1c:7b8f)
ld a, $ff
jp FillMemory
-
SECTION "bank1D",ROMX,BANK[$1D]
CopycatsHouseF1Blocks: ; 74000 (1d:4000)
@@ -103676,7 +108813,7 @@ Func_7405c: ; 7405c (1d:405c)
ld bc, $10
ld a, $ff
call FillMemory
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
call Func_7417b
FuncCoord 0, 14 ; $c4b8
ld hl, Coord
@@ -103692,12 +108829,12 @@ Func_7405c: ; 7405c (1d:405c)
ld c, $80
call DelayFrames
xor a
- ld [W_WHICHTRADE], a ; $cd3d
+ ld [wWhichTrade], a ; $cd3d
ld [$cd3e], a
jp Func_7418e
Func_740ba: ; 740ba (1d:40ba)
- ld hl, Unknown_74160 ; $4160
+ ld hl, DataTable_74160 ; $4160
ld b, $4
.asm_740bf
ld a, [hli]
@@ -103708,11 +108845,11 @@ Func_740ba: ; 740ba (1d:40ba)
jr nz, .asm_740bf
ret
-Func40CB: ; 740cb (1d:40cb)
+Func_740cb: ; 740cb (1d:40cb)
xor a
ld [H_AUTOBGTRANSFERENABLED],a
call SaveScreenTilesToBuffer1
- call Unknown_74183
+ call Func_74183
; display the next monster from CreditsMons
ld hl,$CD3E
@@ -103729,27 +108866,27 @@ Func40CB: ; 740cb (1d:40cb)
call GetMonHeader
call LoadFrontSpriteByMonIndex
ld hl,$980C
- call Unknown_74164
+ call Func_74164
xor a
ld [H_AUTOBGTRANSFERENABLED],a
call LoadScreenTilesFromBuffer1
ld hl,$9800
- call Unknown_74164
+ call Func_74164
ld a,$A7
ld [$FF4B],a
ld hl,$9C00
- call Unknown_74164
- call Unknown_74183
+ call Func_74164
+ call Func_74183
ld a,$FC
ld [$FF47],a
ld bc,7
.next
- call Unknown_74140
+ call Func_74140
dec c
jr nz,.next
ld c,$14
.next2
- call Unknown_74140
+ call Func_74140
ld a,[$FF4B]
sub 8
ld [$FF4B],a
@@ -103778,7 +108915,7 @@ CreditsMons: ; 74131 (1d:4131)
db NIDOKING
db PARASECT
-Unknown_74140: ; 74140 (1d:4140)
+Func_74140: ; 74140 (1d:4140)
ld h, b
ld l, $20
call Func_74152
@@ -103802,10 +108939,10 @@ Func_74152: ; 74152 (1d:4152)
jr z, .asm_7415a
ret
-Unknown_74160: ; 74160 (1d:4160)
-INCBIN "baserom.gbc",$74160,$74164 - $74160
+DataTable_74160: ; 74160 (1d:4160)
+ db $C0,$D0,$E0,$F0
-Unknown_74164: ; 74164 (1d:4164)
+Func_74164: ; 74164 (1d:4164)
ld a, l
ld [H_AUTOBGTRANSFERDEST], a ; $FF00+$bc
ld a, h
@@ -103829,7 +108966,7 @@ Func_7417b: ; 7417b (1d:417b)
ld a, $7e
jp FillMemory
-Unknown_74183: ; 74183 (1d:4183)
+Func_74183: ; 74183 (1d:4183)
FuncCoord 0, 4 ; $c3f0
ld hl, Coord
ld bc, $c8
@@ -103844,7 +108981,7 @@ Func_7418e: ; 7418e (1d:418e)
FuncCoord 9, 6 ; $c421
ld hl, Coord
push hl
- call Unknown_74183
+ call Func_74183
pop hl
.asm_7419b
ld a, [de]
@@ -103892,7 +109029,7 @@ Func_7418e: ; 7418e (1d:418e)
ld c, $6e
.asm_741de
call DelayFrames
- call Func40CB
+ call Func_740cb
jr .asm_74192
.asm_741e6
call Func_740ba
@@ -103914,7 +109051,7 @@ Func_7418e: ; 7418e (1d:418e)
.asm_74201
ld c, $10
call DelayFrames
- call Unknown_74183
+ call Func_74183
pop de
ld de, TheEndGfx
ld hl, $9600
@@ -103922,7 +109059,7 @@ Func_7418e: ; 7418e (1d:418e)
call CopyVideoData
FuncCoord 4, 8 ; $c444
ld hl, Coord
- ld de, UnknownText_74229 ; $4229
+ ld de, UnnamedText_74229 ; $4229
call PlaceString
FuncCoord 4, 9 ; $c458
ld hl, Coord
@@ -103930,7 +109067,7 @@ Func_7418e: ; 7418e (1d:418e)
call PlaceString
jp Func_740ba
-UnknownText_74229: ; 74229 (1d:4229)
+UnnamedText_74229: ; 74229 (1d:4229)
db $60," ",$62," ",$64," ",$64," ",$66," ",$68,"@"
db $61," ",$63," ",$65," ",$65," ",$67," ",$69,"@"
@@ -103938,7 +109075,6 @@ Unknown_74243: ; 74243 (1d:4243)
INCBIN "baserom.gbc",$74243,$742c3 - $74243
CreditsTextPointers: ; 742c3 (1d:42c3)
-
dw CredVersion
dw CredTajiri
dw CredTaOota
@@ -104188,7 +109324,7 @@ PrintStatusAilment: ; 747de (1d:47de)
ld [hl], "R"
ret
-Unknown_7481f: ; 7481f (1d:481f)
+Func_7481f: ; 7481f (1d:481f)
ld hl, HiddenItemCoords
ld b, $0
.asm_74824
@@ -104215,7 +109351,7 @@ Unknown_7481f: ; 7481f (1d:481f)
inc hl
jr nz, .asm_74824 ; 0x74845 $dd
ld a, [$d361]
- call Unknown_7486b
+ call Func_7486b
cp d
jr nc, .asm_74824 ; 0x7484e $d4
ld a, [$d361]
@@ -104223,7 +109359,7 @@ Unknown_7481f: ; 7481f (1d:481f)
cp d
jr c, .asm_74824 ; 0x74856 $cc
ld a, [$d362]
- call Unknown_7486b
+ call Func_7486b
cp e
jr nc, .asm_74824 ; 0x7485f $c3
ld a, [$d362]
@@ -104233,14 +109369,14 @@ Unknown_7481f: ; 7481f (1d:481f)
scf
ret
-Unknown_7486b: ; 7486b (1d:486b)
+Func_7486b: ; 7486b (1d:486b)
sub $5
cp $f0
ret c
xor a
ret
-Unnamed_ASM_74872: ; 74872 (1d:4872)
+Func_74872: ; 74872 (1d:4872)
; code similar to this appears in a lot of banks; this particular
; one is called after you beat the Rocket that gives you TM28 DIG.
; the screen then fades out, he disappears, and fades back in
@@ -104263,7 +109399,7 @@ Unnamed_ASM_74872: ; 74872 (1d:4872)
ViridianGym_h: ; 0x74897 to 0x748a3 (12 bytes) (id=45)
db $07 ; tileset
db VIRIDIAN_GYM_HEIGHT, VIRIDIAN_GYM_WIDTH ; dimensions (y, x)
- dw ViridianGymBlocks, ViridianGymTexts, ViridianGymScript ; blocks, texts, scripts
+ dw ViridianGymBlocks, ViridianGymTextPointers, ViridianGymScript ; blocks, texts, scripts
db $00 ; connections
dw ViridianGymObject ; objects
@@ -104274,7 +109410,7 @@ ViridianGymScript: ; 748a3 (1d:48a3)
call LoadGymLeaderAndCityName
call EnableAutoTextBoxDrawing
ld hl, ViridianGymTrainerHeaders
- ld de, Unknown_748e1
+ ld de, ViridianGymScriptPointers
ld a, [W_VIRIDIANGYMCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_VIRIDIANGYMCURSCRIPT], a
@@ -104287,25 +109423,24 @@ Gym8LeaderName: ; 748cd (1d:48cd)
Func_748d6: ; 748d6 (1d:48d6)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_VIRIDIANGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_748e1: ; 748e1 (1d:48e1)
- dw Func_748eb
+ViridianGymScriptPointers: ; 748e1 (1d:48e1)
+ dw ViridianGymScript0
dw Func_324c
dw EndTrainerBattle
- dw Func_74988
- dw Func_7496b
-
+ dw ViridianGymScript3
+ dw ViridianGymScript4
-Func_748eb: ; 748eb (1d:48eb)
+ViridianGymScript0: ; 748eb (1d:48eb)
ld a, [W_YCOORD] ; $d361
ld b, a
ld a, [W_XCOORD] ; $d362
ld c, a
- ld hl, Unknown_74916
+ ld hl, ViridianGymArrowTilePlayerMovement
call Func_3442
cp $ff
jp z, CheckFightingMapTrainers
@@ -104315,93 +109450,88 @@ Func_748eb: ; 748eb (1d:48eb)
ld a, $a7
call PlaySound
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $4
ld [W_CURMAPSCRIPT], a
ret
-Unknown_74916: ; 74916 (1d:4916)
-dw $130b
-dw Unknown_74947
-dw $1301
-dw Unknown_7494a
-dw $1202
-dw Unknown_7494d
-dw $0b02
-dw Unknown_74950
-dw $100a
-dw Unknown_74953
-dw $0406
-dw Unknown_74956
-dw $050d
-dw Unknown_74959
-dw $040e
-dw Unknown_7495c
-dw $000f
-dw Unknown_7495f
-dw $010f
-dw Unknown_74962
-dw $0d10
-dw Unknown_74965
-dw $0d11
-dw Unknown_74968
-db $FF
-
-Unknown_74947: ; 74947 (1d:4947)
-db $40
-db $09
-db $FF
-Unknown_7494a: ; 7494a (1d:494a)
-db $20
-db $08
-db $FF
-Unknown_7494d: ; 7494d (1d:494d)
-db $80
-db $09
-db $FF
-Unknown_74950: ; 74950 (1d:4950)
-db $10
-db $06
-db $FF
-Unknown_74953: ; 74953 (1d:4953)
-db $80
-db $02
-db $FF
-Unknown_74956: ; 74956 (1d:4956)
-db $80
-db $07
-db $FF
-Unknown_74959: ; 74959 (1d:4959)
-db $10
-db $08
-db $FF
-Unknown_7495c: ; 7495c (1d:495c)
-db $10
-db $09
-db $FF
-Unknown_7495f: ; 7495f (1d:495f)
-db $40
-db $08
-db $FF
-Unknown_74962: ; 74962 (1d:4962)
-db $40
-db $06
-db $FF
-Unknown_74965: ; 74965 (1d:4965)
-db $20
-db $06
-db $FF
-Unknown_74968: ; 74968 (1d:4968)
-db $20
-db $0C
-db $FF
-
-Func_7496b: ; 7496b (1d:496b)
+;format:
+;db y,x
+;dw pointer to movement
+ViridianGymArrowTilePlayerMovement: ; 74916 (1d:4916)
+ db $b,$13
+ dw ViridianGymArrowMovement1
+ db $1,$13
+ dw ViridianGymArrowMovement2
+ db $2,$12
+ dw ViridianGymArrowMovement3
+ db $2,$b
+ dw ViridianGymArrowMovement4
+ db $a,$10
+ dw ViridianGymArrowMovement5
+ db $6,$4
+ dw ViridianGymArrowMovement6
+ db $d,$5
+ dw ViridianGymArrowMovement7
+ db $e,$4
+ dw ViridianGymArrowMovement8
+ db $f,$0
+ dw ViridianGymArrowMovement9
+ db $f,$1
+ dw ViridianGymArrowMovement10
+ db $10,$d
+ dw ViridianGymArrowMovement11
+ db $11,$d
+ dw ViridianGymArrowMovement12
+ db $FF
+
+;format: direction, count
+;right: $10
+;left: $20
+;up: $40
+;down: $80
+ViridianGymArrowMovement1: ; 74947 (1d:4947)
+ db $40,$09,$FF
+
+ViridianGymArrowMovement2: ; 7494a (1d:494a)
+ db $20,$08,$FF
+
+ViridianGymArrowMovement3: ; 7494d (1d:494d)
+ db $80,$09,$FF
+
+ViridianGymArrowMovement4: ; 74950 (1d:4950)
+ db $10,$06,$FF
+
+ViridianGymArrowMovement5: ; 74953 (1d:4953)
+ db $80,$02,$FF
+
+ViridianGymArrowMovement6: ; 74956 (1d:4956)
+ db $80,$07,$FF
+
+ViridianGymArrowMovement7: ; 74959 (1d:4959)
+ db $10,$08,$FF
+
+ViridianGymArrowMovement8: ; 7495c (1d:495c)
+ db $10,$09,$FF
+
+ViridianGymArrowMovement9: ; 7495f (1d:495f)
+ db $40,$08,$FF
+
+ViridianGymArrowMovement10: ; 74962 (1d:4962)
+ db $40,$06,$FF
+
+ViridianGymArrowMovement11: ; 74965 (1d:4965)
+ db $20,$06,$FF
+
+ViridianGymArrowMovement12: ; 74968 (1d:4968)
+ db $20,$0C,$FF
+
+ViridianGymScript4: ; 7496b (1d:496b)
ld a, [$cd38]
and a
jr nz, .asm_74980
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d736
res 7, [hl]
ld a, $0
@@ -104412,12 +109542,12 @@ Func_7496b: ; 7496b (1d:496b)
ld hl, Func_44fd7
jp Bankswitch ; indirect jump to Func_44fd7 (44fd7 (11:4fd7))
-Func_74988: ; 74988 (1d:4988)
+ViridianGymScript3: ; 74988 (1d:4988)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_748d6
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
Unknown_74995: ; 74995 (1d:4995)
ld a, $c
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
@@ -104457,8 +109587,21 @@ Unknown_74995: ; 74995 (1d:4995)
set 7, [hl]
jp Func_748d6
-ViridianGymTexts: ; 749ec (1d:49ec)
- dw ViridianGymText1, ViridianGymText2, ViridianGymText3, ViridianGymText4, ViridianGymText5, ViridianGymText6, ViridianGymText7, ViridianGymText8, ViridianGymText9, ViridianGymText10, Predef5CText, ViridianGymText12, ViridianGymText13, ViridianGymText14
+ViridianGymTextPointers: ; 749ec (1d:49ec)
+ dw ViridianGymText1
+ dw ViridianGymText2
+ dw ViridianGymText3
+ dw ViridianGymText4
+ dw ViridianGymText5
+ dw ViridianGymText6
+ dw ViridianGymText7
+ dw ViridianGymText8
+ dw ViridianGymText9
+ dw ViridianGymText10
+ dw Predef5CText
+ dw ViridianGymText12
+ dw ViridianGymText13
+ dw ViridianGymText14
ViridianGymTrainerHeaders: ; 74a08 (1d:4a08)
ViridianGymTrainerHeader0: ; 74a08 (1d:4a08)
@@ -104533,7 +109676,7 @@ ViridianGymTrainerHeader7: ; 74a5c (1d:4a5c)
dw ViridianGymEndBattleText8 ; 0x4bb1 TextEndBattle
dw ViridianGymEndBattleText8 ; 0x4bb1 TextEndBattle
-db $ff
+ db $ff
ViridianGymText1: ; 74a69 (1d:4a69)
db $08 ; asm
@@ -104805,7 +109948,7 @@ ViridianGymBlocks: ; 74c47 (1d:4c47)
PewterMart_h: ; 0x74ca1 to 0x74cad (12 bytes) (id=56)
db $02 ; tileset
db PEWTER_MART_HEIGHT, PEWTER_MART_WIDTH ; dimensions (y, x)
- dw PewterMartBlocks, PewterMartTexts, PewterMartScript ; blocks, texts, scripts
+ dw PewterMartBlocks, PewterMartTextPointers, PewterMartScript ; blocks, texts, scripts
db $00 ; connections
dw PewterMartObject ; objects
@@ -104816,8 +109959,10 @@ PewterMartScript: ; 74cad (1d:4cad)
ld [$cf0c], a
ret
-PewterMartTexts: ; 74cb6 (1d:4cb6)
- dw PewterMartText1, PewterMartText2, PewterMartText3
+PewterMartTextPointers: ; 74cb6 (1d:4cb6)
+ dw PewterMartText1
+ dw PewterMartText2
+ dw PewterMartText3
PewterMartText2: ; 74cbc (1d:4cbc)
db $08 ; asm
@@ -104860,7 +110005,7 @@ PewterMartObject: ; 0x74cda (size=38)
UnknownDungeon1_h: ; 0x74d00 to 0x74d0c (12 bytes) (id=228)
db $11 ; tileset
db UNKNOWN_DUNGEON_1_HEIGHT, UNKNOWN_DUNGEON_1_WIDTH ; dimensions (y, x)
- dw UnknownDungeon1Blocks, UnknownDungeon1Texts, UnknownDungeon1Script ; blocks, texts, scripts
+ dw UnknownDungeon1Blocks, UnknownDungeon1TextPointers, UnknownDungeon1Script ; blocks, texts, scripts
db $00 ; connections
dw UnknownDungeon1Object ; objects
@@ -104868,8 +110013,10 @@ UnknownDungeon1_h: ; 0x74d00 to 0x74d0c (12 bytes) (id=228)
UnknownDungeon1Script: ; 74d0c (1d:4d0c)
jp EnableAutoTextBoxDrawing
-UnknownDungeon1Texts: ; 74d0f (1d:4d0f)
- dw Predef5CText, Predef5CText, Predef5CText
+UnknownDungeon1TextPointers: ; 74d0f (1d:4d0f)
+ dw Predef5CText
+ dw Predef5CText
+ dw Predef5CText
UnknownDungeon1Object: ; 0x74d15 (size=97)
db $7d ; border tile
@@ -104909,7 +110056,7 @@ UnknownDungeon1Blocks: ; 74d76 (1d:4d76)
CeruleanHouse2_h: ; 0x74dfd to 0x74e09 (12 bytes) (id=230)
db $0d ; tileset
db CERULEAN_HOUSE_2_HEIGHT, CERULEAN_HOUSE_2_WIDTH ; dimensions (y, x)
- dw CeruleanHouse2Blocks, CeruleanHouse2Texts, CeruleanHouse2Script ; blocks, texts, scripts
+ dw CeruleanHouse2Blocks, CeruleanHouse2TextPointers, CeruleanHouse2Script ; blocks, texts, scripts
db $00 ; connections
dw CeruleanHouse2Object ; objects
@@ -104921,7 +110068,7 @@ CeruleanHouse2Script: ; 74e09 (1d:4e09)
ld [$cc3c], a
ret
-CeruleanHouse2Texts: ; 74e13 (1d:4e13)
+CeruleanHouse2TextPointers: ; 74e13 (1d:4e13)
dw CeruleanHouse2Text1
CeruleanHouse2Text1: ; 74e15 (1d:4e15)
@@ -104929,8 +110076,8 @@ CeruleanHouse2Text1: ; 74e15 (1d:4e15)
ld hl, UnnamedText_74e77
call PrintText
xor a
- ld [W_CURMENUITEMID], a
- ld [W_LISTSCROLLOFFSET], a
+ ld [wCurrentMenuItem], a
+ ld [wListScrollOffset], a
.asm_74e23
ld hl, UnnamedText_74e7c
call PrintText
@@ -104945,7 +110092,7 @@ CeruleanHouse2Text1: ; 74e15 (1d:4e15)
ld [$cf93], a
ld [$cc35], a
ld a, SPECIALLISTMENU
- ld [W_LISTMENUID], a
+ ld [wListMenuID], a
call DisplayListMenuID
jr c, .asm_74e60 ; 0x74e49 $15
ld hl, Unknown_74e86
@@ -104962,13 +110109,13 @@ CeruleanHouse2Text1: ; 74e15 (1d:4e15)
jr .asm_74e23 ; 0x74e5e $c3
.asm_74e60
xor a
- ld [W_LISTSCROLLOFFSET], a
+ ld [wListScrollOffset], a
ld hl, UnnamedText_74e81
call PrintText
jp TextScriptEnd
UnnamedText_74e6d: ; 74e6d (1d:4e6d)
-db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF
+ db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF
UnnamedText_74e77: ; 74e77 (1d:4e77)
TX_FAR _UnnamedText_74e77
@@ -104983,14 +110130,14 @@ UnnamedText_74e81: ; 74e81 (1d:4e81)
db "@"
Unknown_74e86: ; 74e86 (1d:4e86)
-dw UnnamedText_74e96
-dw UnnamedText_74e9b
-dw UnnamedText_74ea0
-dw UnnamedText_74ea5
-dw UnnamedText_74eaa
-dw UnnamedText_74eaf
-dw UnnamedText_74eb4
-dw UnnamedText_74eb9
+ dw UnnamedText_74e96
+ dw UnnamedText_74e9b
+ dw UnnamedText_74ea0
+ dw UnnamedText_74ea5
+ dw UnnamedText_74eaa
+ dw UnnamedText_74eaf
+ dw UnnamedText_74eb4
+ dw UnnamedText_74eb9
UnnamedText_74e96: ; 74e96 (1d:4e96)
TX_FAR _UnnamedText_74e96
@@ -105049,16 +110196,16 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0)
ld [$d125], a
call DisplayTextBoxID
xor a
- ld [W_CURMENUITEMID], a ; $cc26
- ld [W_OLDMENUITEMID], a ; $cc2a
+ ld [wCurrentMenuItem], a ; $cc26
+ ld [wLastMenuItem], a ; $cc2a
ld a, $3
- ld [W_MENUWATCHEDKEYS], a ; $cc29
+ ld [wMenuWatchedKeys], a ; $cc29
ld a, $3
- ld [W_MAXMENUITEMID], a ; $cc28
+ ld [wMaxMenuItem], a ; $cc28
ld a, $5
- ld [W_TOPMENUITEMY], a ; $cc24
+ ld [wTopMenuItemY], a ; $cc24
ld a, $1
- ld [W_TOPMENUITEMX], a ; $cc25
+ ld [wTopMenuItemX], a ; $cc25
ld hl, $d730
set 6, [hl]
FuncCoord 0, 3 ; $c3dc
@@ -105069,18 +110216,18 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0)
call UpdateSprites
FuncCoord 2, 5 ; $c406
ld hl, Coord
- ld de, VendingMachineText2
+ ld de, DrinkText
call PlaceString
FuncCoord 9, 6 ; $c421
ld hl, Coord
- ld de, VendingMachineText3
+ ld de, DrinkPriceText
call PlaceString
ld hl, $d730
res 6, [hl]
call HandleMenuInput
bit 1, a
jr nz, .asm_74f93
- ld a, [W_CURMENUITEMID] ; $cc26
+ ld a, [wCurrentMenuItem] ; $cc26
cp $3
jr z, .asm_74f93
xor a
@@ -105091,10 +110238,10 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0)
call HasEnoughMoney
jr nc, .enoughMoney
ld hl, VendingMachineText4
- jp PrintText ; exits here if not enough money
+ jp PrintText
.enoughMoney
- call Unknown_74fe7
- ld a, [$FF00+$db] ; selected refreshment item id
+ call Func_74fe7
+ ld a, [$FF00+$db]
ld b, a
ld c, 1
call GiveItem
@@ -105113,7 +110260,7 @@ VendingMachineMenu: ; 74ee0 (1d:4ee0)
ld hl, VendingMachineText5
call PrintText
ld hl, $ffde
- ld de, W_PLAYERMONEY1 ; $d349
+ ld de, wPlayerMoney + 2 ; $d349
ld c, $3
ld a, $c
call Predef ; indirect jump to Func_f836 (f836 (3:7836))
@@ -105131,12 +110278,13 @@ VendingMachineText1: ; 74f99 (1d:4f99)
TX_FAR _VendingMachineText1
db "@"
-VendingMachineText2: ; 74f9e (1d:4f9e)
+DrinkText: ; 74f9e (1d:4f9e)
db "FRESH WATER",$4E
db "SODA POP",$4E
db "LEMONADE",$4E
db "CANCEL@"
-VendingMachineText3: ; 74fc3 (1d:4fc3)
+
+DrinkPriceText: ; 74fc3 (1d:4fc3)
db "¥200",$4E
db "¥300",$4E
db "¥350",$4E,"@"
@@ -105157,7 +110305,7 @@ VendingMachineText7: ; 74fe2 (1d:4fe2)
TX_FAR _VendingMachineText7
db "@"
-Unknown_74fe7: ; 74fe7 (1d:4fe7)
+Func_74fe7: ; 74fe7 (1d:4fe7)
ld hl, VendingPrices
ld a, [$cc26]
add a
@@ -105183,7 +110331,7 @@ VendingPrices: ; 75000 (1d:5000)
FuchsiaHouse1_h: ; 0x7500c to 0x75018 (12 bytes) (id=153)
db $08 ; tileset
db FUCHSIA_HOUSE_1_HEIGHT, FUCHSIA_HOUSE_1_WIDTH ; dimensions (y, x)
- dw FuchsiaHouse1Blocks, FuchsiaHouse1Texts, FuchsiaHouse1Script ; blocks, texts, scripts
+ dw FuchsiaHouse1Blocks, FuchsiaHouse1TextPointers, FuchsiaHouse1Script ; blocks, texts, scripts
db $00 ; connections
dw FuchsiaHouse1Object ; objects
@@ -105192,8 +110340,10 @@ FuchsiaHouse1Script: ; 75018 (1d:5018)
call EnableAutoTextBoxDrawing
ret
-FuchsiaHouse1Texts: ; 7501c (1d:501c)
- dw FuchsiaHouse1Text1, FuchsiaHouse1Text2, FuchsiaHouse1Text3
+FuchsiaHouse1TextPointers: ; 7501c (1d:501c)
+ dw FuchsiaHouse1Text1
+ dw FuchsiaHouse1Text2
+ dw FuchsiaHouse1Text3
FuchsiaHouse1Text1: ; 75022 (1d:5022)
TX_FAR _FuchsiaHouse1Text1
@@ -105228,7 +110378,7 @@ FuchsiaHouse1Object: ; 0x75031 (size=38)
FuchsiaPokecenter_h: ; 0x75057 to 0x75063 (12 bytes) (id=154)
db $06 ; tileset
db FUCHSIA_POKECENTER_HEIGHT, FUCHSIA_POKECENTER_WIDTH ; dimensions (y, x)
- dw FuchsiaPokecenterBlocks, FuchsiaPokecenterTexts, FuchsiaPokecenterScript ; blocks, texts, scripts
+ dw FuchsiaPokecenterBlocks, FuchsiaPokecenterTextPointers, FuchsiaPokecenterScript ; blocks, texts, scripts
db $00 ; connections
dw FuchsiaPokecenterObject ; objects
@@ -105237,8 +110387,11 @@ FuchsiaPokecenterScript: ; 75063 (1d:5063)
call Func_22fa
jp EnableAutoTextBoxDrawing
-FuchsiaPokecenterTexts: ; 75069 (1d:5069)
- dw FuchsiaPokecenterText1, FuchsiaPokecenterText2, FuchsiaPokecenterText3, FuchsiaPokecenterText4
+FuchsiaPokecenterTextPointers: ; 75069 (1d:5069)
+ dw FuchsiaPokecenterText1
+ dw FuchsiaPokecenterText2
+ dw FuchsiaPokecenterText3
+ dw FuchsiaPokecenterText4
FuchsiaPokecenterText1: ; 75071 (1d:5071)
db $ff
@@ -105276,7 +110429,7 @@ FuchsiaPokecenterObject: ; 0x7507d (size=44)
FuchsiaHouse2_h: ; 0x750a9 to 0x750b5 (12 bytes) (id=155)
db $14 ; tileset
db FUCHSIA_HOUSE_2_HEIGHT, FUCHSIA_HOUSE_2_WIDTH ; dimensions (y, x)
- dw FuchsiaHouse2Blocks, FuchsiaHouse2Texts, FuchsiaHouse2Script ; blocks, texts, scripts
+ dw FuchsiaHouse2Blocks, FuchsiaHouse2TextPointers, FuchsiaHouse2Script ; blocks, texts, scripts
db $00 ; connections
dw FuchsiaHouse2Object ; objects
@@ -105284,8 +110437,12 @@ FuchsiaHouse2_h: ; 0x750a9 to 0x750b5 (12 bytes) (id=155)
FuchsiaHouse2Script: ; 750b5 (1d:50b5)
jp EnableAutoTextBoxDrawing
-FuchsiaHouse2Texts: ; 750b8 (1d:50b8)
- dw FuchsiaHouse2Text1, Predef5CText, BoulderText, FuchsiaHouse2Text4, FuchsiaHouse2Text5
+FuchsiaHouse2TextPointers: ; 750b8 (1d:50b8)
+ dw FuchsiaHouse2Text1
+ dw Predef5CText
+ dw BoulderText
+ dw FuchsiaHouse2Text4
+ dw FuchsiaHouse2Text5
FuchsiaHouse2Text1: ; 750c2 (1d:50c2)
db $08 ; asm
@@ -105422,29 +110579,35 @@ FuchsiaHouse2Blocks: ; 751ad (1d:51ad)
SafariZoneEntrance_h: ; 0x751c1 to 0x751cd (12 bytes) (id=156)
db $0c ; tileset
db SAFARIZONEENTRANCE_HEIGHT, SAFARIZONEENTRANCE_WIDTH ; dimensions (y, x)
- dw SafariZoneEntranceBlocks, SafariZoneEntranceTexts, SafariZoneEntranceScript ; blocks, texts, scripts
+ dw SafariZoneEntranceBlocks, SafariZoneEntranceTextPointers, SafariZoneEntranceScript ; blocks, texts, scripts
db $00 ; connections
dw SafariZoneEntranceObject ; objects
SafariZoneEntranceScript: ; 751cd (1d:51cd)
call EnableAutoTextBoxDrawing
- ld hl, SafariZoneEntranceScripts
+ ld hl, SafariZoneEntranceScriptPointers
ld a, [W_SAFARIZONEENTRANCECURSCRIPT]
jp CallFunctionInTable
-SafariZoneEntranceScripts: ; 751d9 (1d:51d9)
- dw SafariZoneEntranceScript0, SafariZoneEntranceScript1, SafariZoneEntranceScript2, SafariZoneEntranceScript3, SafariZoneEntranceScript4, SafariZoneEntranceScript5, SafariZoneEntranceScript6
+SafariZoneEntranceScriptPointers: ; 751d9 (1d:51d9)
+ dw SafariZoneEntranceScript0
+ dw SafariZoneEntranceScript1
+ dw SafariZoneEntranceScript2
+ dw SafariZoneEntranceScript3
+ dw SafariZoneEntranceScript4
+ dw SafariZoneEntranceScript5
+ dw SafariZoneEntranceScript6
SafariZoneEntranceScript0: ; 751e7 (1d:51e7)
- ld hl, Unknown_75221
+ ld hl, CoordsData_75221
call ArePlayerCoordsInArray
ret nc
ld a, $3
ld [$ff00+$8c], a
call DisplayTextID
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
ld a, $c
@@ -105458,36 +110621,38 @@ SafariZoneEntranceScript0: ; 751e7 (1d:51e7)
.asm_7520f
ld a, $10
ld c, $1
- call Unknown_752a3
+ call Func_752a3
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $1
ld [W_SAFARIZONEENTRANCECURSCRIPT], a
ret
-Unknown_75221: ; 75221 (1d:5221)
-db $2, $3, $2, $4, $ff
+CoordsData_75221: ; 75221 (1d:5221)
+ db $02,$03
+ db $02,$04
+ db $FF
SafariZoneEntranceScript1: ; 75226 (1d:5226)
- call Unknown_752b4
+ call Func_752b4
ret nz
SafariZoneEntranceScript2: ; 7522a (1d:522a)
xor a
ld [H_CURRENTPRESSEDBUTTONS], a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
call UpdateSprites
ld a, $4
ld [$ff00+$8c], a
call DisplayTextID
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ret
SafariZoneEntranceScript3: ; 75240 (1d:5240)
- call Unknown_752b4
+ call Func_752b4
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $5
ld [W_SAFARIZONEENTRANCECURSCRIPT], a
ret
@@ -105502,7 +110667,7 @@ SafariZoneEntranceScript5: ; 7524e (1d:524e)
res 7, [hl]
call UpdateSprites
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $6
ld [$ff00+$8c], a
call DisplayTextID
@@ -105510,7 +110675,7 @@ SafariZoneEntranceScript5: ; 7524e (1d:524e)
ld [$da47], a
ld a, $80
ld c, $3
- call Unknown_752a3
+ call Func_752a3
ld a, $4
ld [W_SAFARIZONEENTRANCECURSCRIPT], a
jr .asm_75286 ; 0x7527d $7
@@ -105522,23 +110687,23 @@ SafariZoneEntranceScript5: ; 7524e (1d:524e)
ret
SafariZoneEntranceScript4: ; 75287 (1d:5287)
- call Unknown_752b4
+ call Func_752b4
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_SAFARIZONEENTRANCECURSCRIPT], a
ret
SafariZoneEntranceScript6: ; 75295 (1d:5295)
- call Unknown_752b4
+ call Func_752b4
ret nz
call Delay3
ld a, [$cf0d]
ld [W_SAFARIZONEENTRANCECURSCRIPT], a
ret
-Unknown_752a3: ; 752a3 (1d:52a3)
+Func_752a3: ; 752a3 (1d:52a3)
push af
ld b, $0
ld a, c
@@ -105548,13 +110713,18 @@ Unknown_752a3: ; 752a3 (1d:52a3)
call FillMemory
jp Func_3486
-Unknown_752b4: ; 752b4 (1d:52b4)
+Func_752b4: ; 752b4 (1d:52b4)
ld a, [$cd38]
and a
ret
-SafariZoneEntranceTexts: ; 752b9 (1d:52b9)
- dw SafariZoneEntranceText1, SafariZoneEntranceText2, SafariZoneEntranceText3, SafariZoneEntranceText4, SafariZoneEntranceText5, SafariZoneEntranceText6
+SafariZoneEntranceTextPointers: ; 752b9 (1d:52b9)
+ dw SafariZoneEntranceText1
+ dw SafariZoneEntranceText2
+ dw SafariZoneEntranceText3
+ dw SafariZoneEntranceText4
+ dw SafariZoneEntranceText5
+ dw SafariZoneEntranceText6
SafariZoneEntranceText3: ; 752c5 (1d:52c5)
SafariZoneEntranceText1: ; 752c5 (1d:52c5)
@@ -105601,13 +110771,13 @@ SafariZoneEntranceText4: ; 752ca (1d:52ca)
call PrintText
ld a, $1e
ld [$da47], a
- ld a, $1
- ld [$d70d], a
- ld a, $f6
- ld [$d70e], a
+ ld a, 502 / $100
+ ld [wSafariSteps], a
+ ld a, 502 % $100
+ ld [wSafariSteps + 1], a
ld a, $40
ld c, $3
- call Unknown_752a3
+ call Func_752a3
ld hl, $d790
set 7, [hl]
res 6, [hl]
@@ -105620,7 +110790,7 @@ SafariZoneEntranceText4: ; 752ca (1d:52ca)
.asm_7534c
ld a, $80
ld c, $1
- call Unknown_752a3
+ call Func_752a3
ld a, $4
ld [W_SAFARIZONEENTRANCECURSCRIPT], a
.asm_75358
@@ -105655,7 +110825,7 @@ SafariZoneEntranceText5: ; 7536f (1d:536f)
ld [$c109], a
ld a, $80
ld c, $3
- call Unknown_752a3
+ call Func_752a3
ld hl, $d790
res 6, [hl]
res 7, [hl]
@@ -105669,7 +110839,7 @@ SafariZoneEntranceText5: ; 7536f (1d:536f)
ld [$c109], a
ld a, $40
ld c, $1
- call Unknown_752a3
+ call Func_752a3
ld a, $5
ld [$cf0d], a
.asm_753b3
@@ -105742,22 +110912,22 @@ SafariZoneEntranceBlocks: ; 75425 (1d:5425)
FuchsiaGym_h: ; 0x75431 to 0x7543d (12 bytes) (id=157)
db $07 ; tileset
db FUCHSIA_GYM_HEIGHT, FUCHSIA_GYM_WIDTH ; dimensions (y, x)
- dw FuchsiaGymBlocks, FuchsiaGymTexts, FuchsiaGymScript ; blocks, texts, scripts
+ dw FuchsiaGymBlocks, FuchsiaGymTextPointers, FuchsiaGymScript ; blocks, texts, scripts
db $00 ; connections
dw FuchsiaGymObject ; objects
FuchsiaGymScript: ; 7543d (1d:543d)
- call FuchsiaGymScript_Unknown75453
+ call FuchsiaGymScript_75453
call EnableAutoTextBoxDrawing
ld hl, FuchsiaGymTrainerHeaders
- ld de, Unknown_75482
+ ld de, FuchsiaGymScriptPointers
ld a, [W_FUCHSIAGYMCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_FUCHSIAGYMCURSCRIPT], a
ret
-FuchsiaGymScript_Unknown75453: ; 75453 (1d:5453)
+FuchsiaGymScript_75453: ; 75453 (1d:5453)
ld hl, $D126
bit 6, [hl]
res 6, [hl]
@@ -105774,23 +110944,23 @@ Gym5LeaderName: ; 75472 (1d:5472)
Func_75477: ; 75477 (1d:5477)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_FUCHSIAGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Unknown_75482: ; 75482 (1d:5482)
+FuchsiaGymScriptPointers: ; 75482 (1d:5482)
dw CheckFightingMapTrainers
dw Func_324c
dw EndTrainerBattle
- dw Func_7548a
+ dw FuchsiaGymScript3
-Func_7548a: ; 7548a (1d:548a)
+FuchsiaGymScript3: ; 7548a (1d:548a)
ld a, [W_ISINBATTLE] ; $d057
cp $ff
jp z, Func_75477
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
Unknown_75497: ; 75497 (1d:5497)
ld a, $9
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
@@ -105820,8 +110990,18 @@ Unknown_75497: ; 75497 (1d:5497)
ld [$d792], a
jp Func_75477
-FuchsiaGymTexts: ; 754d5 (1d:54d5)
- dw FuchsiaGymText1, FuchsiaGymText2, FuchsiaGymText3, FuchsiaGymText4, FuchsiaGymText5, FuchsiaGymText6, FuchsiaGymText7, FuchsiaGymText8, FuchsiaGymText9, FuchsiaGymText10, FuchsiaGymText11
+FuchsiaGymTextPointers: ; 754d5 (1d:54d5)
+ dw FuchsiaGymText1
+ dw FuchsiaGymText2
+ dw FuchsiaGymText3
+ dw FuchsiaGymText4
+ dw FuchsiaGymText5
+ dw FuchsiaGymText6
+ dw FuchsiaGymText7
+ dw FuchsiaGymText8
+ dw FuchsiaGymText9
+ dw FuchsiaGymText10
+ dw FuchsiaGymText11
FuchsiaGymTrainerHeaders: ; 754eb (1d:54eb)
FuchsiaGymTrainerHeader0: ; 754eb (1d:54eb)
@@ -105878,7 +111058,7 @@ FuchsiaGymTrainerHeader6: ; 75527 (1d:5527)
dw FuchsiaGymEndBattleText6 ; 0x5630 TextEndBattle
dw FuchsiaGymEndBattleText6 ; 0x5630 TextEndBattle
-db $ff
+ db $ff
FuchsiaGymText1: ; 75534 (1d:5534)
db $08 ; asm
@@ -106100,7 +111280,7 @@ FuchsiaGymBlocks: ; 756aa (1d:56aa)
FuchsiaMeetingRoom_h: ; 0x756d7 to 0x756e3 (12 bytes) (id=158)
db $14 ; tileset
db FUCHSIAMEETINGROOM_HEIGHT, FUCHSIAMEETINGROOM_WIDTH ; dimensions (y, x)
- dw FuchsiaMeetingRoomBlocks, FuchsiaMeetingRoomTexts, FuchsiaMeetingRoomScript ; blocks, texts, scripts
+ dw FuchsiaMeetingRoomBlocks, FuchsiaMeetingRoomTextPointers, FuchsiaMeetingRoomScript ; blocks, texts, scripts
db $00 ; connections
dw FuchsiaMeetingRoomObject ; objects
@@ -106109,8 +111289,10 @@ FuchsiaMeetingRoomScript: ; 756e3 (1d:56e3)
call EnableAutoTextBoxDrawing
ret
-FuchsiaMeetingRoomTexts: ; 756e7 (1d:56e7)
- dw FuchsiaMeetingRoomText1, FuchsiaMeetingRoomText2, FuchsiaMeetingRoomText3
+FuchsiaMeetingRoomTextPointers: ; 756e7 (1d:56e7)
+ dw FuchsiaMeetingRoomText1
+ dw FuchsiaMeetingRoomText2
+ dw FuchsiaMeetingRoomText3
FuchsiaMeetingRoomText1: ; 756ed (1d:56ed)
TX_FAR _FuchsiaMeetingRoomText1
@@ -106148,24 +111330,24 @@ FuchsiaMeetingRoomBlocks: ; 75722 (1d:5722)
CinnabarGym_h: ; 0x7573e to 0x7574a (12 bytes) (id=166)
db $16 ; tileset
db CINNABAR_GYM_HEIGHT, CINNABAR_GYM_WIDTH ; dimensions (y, x)
- dw CinnabarGymBlocks, CinnabarGymTexts, CinnabarGymScript ; blocks, texts, scripts
+ dw CinnabarGymBlocks, CinnabarGymTextPointers, CinnabarGymScript ; blocks, texts, scripts
db $00 ; connections
dw CinnabarGymObject ; objects
CinnabarGymScript: ; 7574a (1d:574a)
- call CinnabarGymScript_Unknown75759
+ call CinnabarGymScript_75759
call EnableAutoTextBoxDrawing
- ld hl, CinnabarGymScripts
+ ld hl, CinnabarGymScriptPointers
ld a, [W_CINNABARGYMCURSCRIPT]
jp CallFunctionInTable
-CinnabarGymScript_Unknown75759: ; 75759 (1d:5759)
+CinnabarGymScript_75759: ; 75759 (1d:5759)
ld hl, $D126
bit 6, [hl]
res 6, [hl]
push hl
- call nz, CinnabarGymScript_Unknown75772
+ call nz, CinnabarGymScript_75772
pop hl
bit 5, [hl]
res 5, [hl]
@@ -106173,7 +111355,7 @@ CinnabarGymScript_Unknown75759: ; 75759 (1d:5759)
ld hl, $D79B
res 7, [hl]
ret
-CinnabarGymScript_Unknown75772: ; 75772 (1d:5772)
+CinnabarGymScript_75772: ; 75772 (1d:5772)
ld hl, Gym7CityName
ld de, Gym7LeaderName
jp LoadGymLeaderAndCityName
@@ -106183,21 +111365,24 @@ Gym7CityName: ; 7577b (1d:577b)
Gym7LeaderName: ; 7578b (1d:578b)
db "BLAINE@"
-Unknown_75792: ; 75792 (1d:5792)
+CinnabarGymScript_75792: ; 75792 (1d:5792)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_CINNABARGYMCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ld [$da38], a
ret
-Unknown_757a0: ; 757a0 (1d:57a0)
+CinnabarGymScript_757a0: ; 757a0 (1d:57a0)
ld a, [H_DOWNARROWBLINKCNT2] ; $FF00+$8c
- ld [W_TRAINERHEADERFLAGBIT], a
+ ld [wTrainerHeaderFlagBit], a
ret
-CinnabarGymScripts: ; 757a6 (1d:57a6)
- dw CinnabarGymScript0, CinnabarGymScript1, CinnabarGymScript2, CinnabarGymScript3
+CinnabarGymScriptPointers: ; 757a6 (1d:57a6)
+ dw CinnabarGymScript0
+ dw CinnabarGymScript1
+ dw CinnabarGymScript2
+ dw CinnabarGymScript3
CinnabarGymScript0: ; 757ae (1d:57ae)
ld a, [$da38]
@@ -106208,10 +111393,10 @@ CinnabarGymScript0: ; 757ae (1d:57ae)
jr nz, .asm_757c3 ; 0x757b7 $a
ld a, $4
ld [$d528], a
- ld de, Unknown_757d7
+ ld de, MovementData_757d7
jr .asm_757cb ; 0x757c1 $8
.asm_757c3
- ld de, Unknown_757da
+ ld de, MovementData_757da
ld a, $1
ld [$d528], a
.asm_757cb
@@ -106221,37 +111406,37 @@ CinnabarGymScript0: ; 757ae (1d:57ae)
ld [W_CURMAPSCRIPT], a
ret
-Unknown_757d7: ; 757d7 (1d:57d7)
-INCBIN "baserom.gbc",$757d7,$757da - $757d7
+MovementData_757d7: ; 757d7 (1d:57d7)
+ db $80,$40,$FF
-Unknown_757da: ; 757da (1d:57da)
-INCBIN "baserom.gbc",$757da,$757dc - $757da
+MovementData_757da: ; 757da (1d:57da)
+ db $80,$FF
CinnabarGymScript1: ; 757dc (1d:57dc)
ld a, [$d730]
bit 0, a
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, [$da38]
- ld [W_TRAINERHEADERFLAGBIT], a
+ ld [wTrainerHeaderFlagBit], a
ld [$ff00+$8c], a
jp DisplayTextID
-Unknown_757f1: ; 757f1 (1d:57f1)
+Func_757f1: ; 757f1 (1d:57f1)
ld a, $10
jp Predef ; indirect jump to HandleBitArray (f666 (3:7666))
CinnabarGymScript2: ; 757f6 (1d:57f6)
ld a, [$d057]
cp $ff
- jp z, Unknown_75792
- ld a, [W_TRAINERHEADERFLAGBIT]
+ jp z, CinnabarGymScript_75792
+ ld a, [wTrainerHeaderFlagBit]
ld [$ff00+$db], a
ld c, a
ld b, $2
ld hl, $d79a
- call Unknown_757f1
+ call Func_757f1
ld a, c
and a
jr nz, .asm_7581b ; 0x7580e $b
@@ -106260,21 +111445,21 @@ CinnabarGymScript2: ; 757f6 (1d:57f6)
call PlaySound
call WaitForSoundToFinish
.asm_7581b
- ld a, [W_TRAINERHEADERFLAGBIT]
+ ld a, [wTrainerHeaderFlagBit]
ld [$ff00+$db], a
ld c, a
ld b, $1
ld hl, $d79a
- call Unknown_757f1
- ld a, [W_TRAINERHEADERFLAGBIT]
+ call Func_757f1
+ ld a, [wTrainerHeaderFlagBit]
sub $2
ld c, a
ld b, $1
ld hl, $d79c
- call Unknown_757f1
+ call Func_757f1
call Func_3ead
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [$da38], a
ld a, $0
ld [W_CINNABARGYMCURSCRIPT], a
@@ -106284,9 +111469,9 @@ CinnabarGymScript2: ; 757f6 (1d:57f6)
CinnabarGymScript3: ; 7584a (1d:584a)
ld a, [$d057]
cp $ff
- jp z, Unknown_75792
+ jp z, CinnabarGymScript_75792
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
Unknown_75857: ; 75857 (1d:5857)
ld a, $a
ld [$ff00+$8c], a
@@ -106318,13 +111503,21 @@ Unknown_75857: ; 75857 (1d:5857)
set 0, [hl]
ld hl, $d126
set 5, [hl]
- jp Unknown_75792
-
-CinnabarGymTexts: ; 7589f (1d:589f)
- dw CinnabarGymText1, CinnabarGymText2, CinnabarGymText3, CinnabarGymText4, CinnabarGymText5, CinnabarGymText6, CinnabarGymText7, CinnabarGymText8, CinnabarGymText9
-dw UnnamedText_75925 ;CinnabarGymText 10: ; 0x75925
-dw ReceivedTM38Text ;CinnabarGymText 11: ; 0x7592a
-dw TM38NoRoomText ;CinnabarGymText 12: ; 0x75934
+ jp CinnabarGymScript_75792
+
+CinnabarGymTextPointers: ; 7589f (1d:589f)
+ dw CinnabarGymText1
+ dw CinnabarGymText2
+ dw CinnabarGymText3
+ dw CinnabarGymText4
+ dw CinnabarGymText5
+ dw CinnabarGymText6
+ dw CinnabarGymText7
+ dw CinnabarGymText8
+ dw CinnabarGymText9
+ dw UnnamedText_75925
+ dw ReceivedTM38Text
+ dw TM38NoRoomText
Unknown_758b7: ; 758b7 (1d:58b7)
ld a, [H_DOWNARROWBLINKCNT2] ; $FF00+$8c
@@ -106400,7 +111593,7 @@ TM38NoRoomText: ; 75934 (1d:5934)
CinnabarGymText2: ; 75939 (1d:5939)
db $08 ; asm
- call Unknown_757a0
+ call CinnabarGymScript_757a0
ld a, [$d79a]
bit 2, a
jr nz, .asm_46bb4 ; 0x75942
@@ -106429,7 +111622,7 @@ UnnamedText_75969: ; 75969 (1d:5969)
CinnabarGymText3: ; 7596e (1d:596e)
db $08 ; asm
- call Unknown_757a0
+ call CinnabarGymScript_757a0
ld a, [$d79a]
bit 3, a
jr nz, .asm_4b406 ; 0x75977
@@ -106458,7 +111651,7 @@ UnnamedText_7599e: ; 7599e (1d:599e)
CinnabarGymText4: ; 759a3 (1d:59a3)
db $08 ; asm
- call Unknown_757a0
+ call CinnabarGymScript_757a0
ld a, [$d79a]
bit 4, a
jr nz, .asm_c0673 ; 0x759ac
@@ -106487,7 +111680,7 @@ UnnamedText_759d3: ; 759d3 (1d:59d3)
CinnabarGymText5: ; 759d8 (1d:59d8)
db $08 ; asm
- call Unknown_757a0
+ call CinnabarGymScript_757a0
ld a, [$d79a]
bit 5, a
jr nz, .asm_5cfd7 ; 0x759e1
@@ -106516,7 +111709,7 @@ UnnamedText_75a08: ; 75a08 (1d:5a08)
CinnabarGymText6: ; 75a0d (1d:5a0d)
db $08 ; asm
- call Unknown_757a0
+ call CinnabarGymScript_757a0
ld a, [$d79a]
bit 6, a
jr nz, .asm_776b4 ; 0x75a16
@@ -106545,7 +111738,7 @@ UnnamedText_75a3d: ; 75a3d (1d:5a3d)
CinnabarGymText7: ; 75a42 (1d:5a42)
db $08 ; asm
- call Unknown_757a0
+ call CinnabarGymScript_757a0
ld a, [$d79a]
bit 7, a
jr nz, .asm_2f755 ; 0x75a4b
@@ -106574,7 +111767,7 @@ UnnamedText_75a72: ; 75a72 (1d:5a72)
CinnabarGymText8: ; 75a77 (1d:5a77)
db $08 ; asm
- call Unknown_757a0
+ call CinnabarGymScript_757a0
ld a, [$d79b]
bit 0, a
jr nz, .asm_d87be ; 0x75a80
@@ -106652,7 +111845,7 @@ CinnabarGymBlocks: ; 75b26 (1d:5b26)
Lab1_h: ; 0x75b80 to 0x75b8c (12 bytes) (id=167)
db $14 ; tileset
db CINNABAR_LAB_1_HEIGHT, CINNABAR_LAB_1_WIDTH ; dimensions (y, x)
- dw Lab1Blocks, Lab1Texts, Lab1Script ; blocks, texts, scripts
+ dw Lab1Blocks, Lab1TextPointers, Lab1Script ; blocks, texts, scripts
db $00 ; connections
dw Lab1Object ; objects
@@ -106661,8 +111854,12 @@ Lab1Script: ; 75b8c (1d:5b8c)
call EnableAutoTextBoxDrawing
ret
-Lab1Texts: ; 75b90 (1d:5b90)
- dw Lab1Text1, Lab1Text2, Lab1Text3, Lab1Text4, Lab1Text5
+Lab1TextPointers: ; 75b90 (1d:5b90)
+ dw Lab1Text1
+ dw Lab1Text2
+ dw Lab1Text3
+ dw Lab1Text4
+ dw Lab1Text5
Lab1Text1: ; 75b9a (1d:5b9a)
TX_FAR _Lab1Text1
@@ -106716,7 +111913,7 @@ Lab1Blocks: ; 75bf1 (1d:5bf1)
Lab2_h: ; 0x75c15 to 0x75c21 (12 bytes) (id=168)
db $14 ; tileset
db CINNABAR_LAB_2_HEIGHT, CINNABAR_LAB_2_WIDTH ; dimensions (y, x)
- dw Lab2Blocks, Lab2Texts, Lab2Script ; blocks, texts, scripts
+ dw Lab2Blocks, Lab2TextPointers, Lab2Script ; blocks, texts, scripts
db $00 ; connections
dw Lab2Object ; objects
@@ -106724,8 +111921,10 @@ Lab2_h: ; 0x75c15 to 0x75c21 (12 bytes) (id=168)
Lab2Script: ; 75c21 (1d:5c21)
jp EnableAutoTextBoxDrawing
-Lab2Texts: ; 75c24 (1d:5c24)
- dw Lab2Text1, Lab2Text2, Lab2Text3
+Lab2TextPointers: ; 75c24 (1d:5c24)
+ dw Lab2Text1
+ dw Lab2Text2
+ dw Lab2Text3
Lab2Text1: ; 75c2a (1d:5c2a)
TX_FAR _Lab2Text1
@@ -106734,13 +111933,13 @@ Lab2Text1: ; 75c2a (1d:5c2a)
Lab2Text2: ; 75c2f (1d:5c2f)
db $8
ld a, $7
- ld [W_WHICHTRADE], a
+ ld [wWhichTrade], a
jr asm_78552 ; 0x75c35 $6
Lab2Text3: ; 75c37 (1d:5c37)
db $8
ld a, $8
- ld [W_WHICHTRADE], a
+ ld [wWhichTrade], a
asm_78552: ; 75c3d (1d:5c3d)
ld a, $54
call Predef
@@ -106770,7 +111969,7 @@ Lab2Blocks: ; 75c6b (1d:5c6b)
Lab3_h: ; 0x75c7b to 0x75c87 (12 bytes) (id=169)
db $14 ; tileset
db CINNABAR_LAB_3_HEIGHT, CINNABAR_LAB_3_WIDTH ; dimensions (y, x)
- dw Lab3Blocks, Lab3Texts, Lab3Script ; blocks, texts, scripts
+ dw Lab3Blocks, Lab3TextPointers, Lab3Script ; blocks, texts, scripts
db $00 ; connections
dw Lab3Object ; objects
@@ -106778,8 +111977,12 @@ Lab3_h: ; 0x75c7b to 0x75c87 (12 bytes) (id=169)
Lab3Script: ; 75c87 (1d:5c87)
jp EnableAutoTextBoxDrawing
-Lab3Texts: ; 75c8a (1d:5c8a)
- dw Lab3Text1, Lab3Text2, Lab3Text3, Lab3Text4, Lab3Text5
+Lab3TextPointers: ; 75c8a (1d:5c8a)
+ dw Lab3Text1
+ dw Lab3Text2
+ dw Lab3Text3
+ dw Lab3Text4
+ dw Lab3Text5
Lab3Text1: ; 75c94 (1d:5c94)
db $08 ; asm
@@ -106861,7 +112064,7 @@ Lab3Blocks: ; 75d15 (1d:5d15)
Lab4_h: ; 0x75d25 to 0x75d31 (12 bytes) (id=170)
db $14 ; tileset
db CINNABAR_LAB_4_HEIGHT, CINNABAR_LAB_4_WIDTH ; dimensions (y, x)
- dw Lab4Blocks, Lab4Texts, Lab4Script ; blocks, texts, scripts
+ dw Lab4Blocks, Lab4TextPointers, Lab4Script ; blocks, texts, scripts
db $00 ; connections
dw Lab4Object ; objects
@@ -106869,14 +112072,15 @@ Lab4_h: ; 0x75d25 to 0x75d31 (12 bytes) (id=170)
Lab4Script: ; 75d31 (1d:5d31)
jp EnableAutoTextBoxDrawing
-Lab4Texts: ; 75d34 (1d:5d34)
- dw Lab4Text1, Lab4Text2
+Lab4TextPointers: ; 75d34 (1d:5d34)
+ dw Lab4Text1
+ dw Lab4Text2
-Unknown_75d38: ; 75d38 (1d:5d38)
+Func_75d38: ; 75d38 (1d:5d38)
xor a
ld [$cd37], a
ld de, $cc5b
- ld hl, Unknown_75d68
+ ld hl, FossilsList
.asm_75d42
ld a, [hli]
and a
@@ -106905,8 +112109,11 @@ Unknown_75d38: ; 75d38 (1d:5d38)
ld [de], a
ret
-Unknown_75d68: ; 75d68 (1d:5d68)
-INCBIN "baserom.gbc",$75d68,$75d6c - $75d68
+FossilsList: ; 75d68 (1d:5d68)
+ db DOME_FOSSIL
+ db HELIX_FOSSIL
+ db OLD_AMBER
+ db $00
Lab4Text1: ; 75d6c (1d:5d6c)
db $8
@@ -106915,7 +112122,7 @@ Lab4Text1: ; 75d6c (1d:5d6c)
jr nz, .asm_75d96 ; 0x75d72 $22
ld hl, UnnamedText_75dc6
call PrintText
- call Unknown_75d38
+ call Func_75d38
ld a, [$cd37]
and a
jr z, .asm_75d8d ; 0x75d81 $a
@@ -106970,7 +112177,7 @@ UnnamedText_75dd5: ; 75dd5 (1d:5dd5)
Lab4Text2: ; 75dda (1d:5dda)
db $08 ; asm
ld a, $3
- ld [W_WHICHTRADE], a
+ ld [wWhichTrade], a
ld a, $54
call Predef
jp TextScriptEnd
@@ -107003,7 +112210,7 @@ Lab4Blocks: ; 75e10 (1d:5e10)
CinnabarPokecenter_h: ; 0x75e20 to 0x75e2c (12 bytes) (id=171)
db $06 ; tileset
db CINNABAR_POKECENTER_HEIGHT, CINNABAR_POKECENTER_WIDTH ; dimensions (y, x)
- dw CinnabarPokecenterBlocks, CinnabarPokecenterTexts, CinnabarPokecenterScript ; blocks, texts, scripts
+ dw CinnabarPokecenterBlocks, CinnabarPokecenterTextPointers, CinnabarPokecenterScript ; blocks, texts, scripts
db $00 ; connections
dw CinnabarPokecenterObject ; objects
@@ -107012,8 +112219,11 @@ CinnabarPokecenterScript: ; 75e2c (1d:5e2c)
call Func_22fa
jp EnableAutoTextBoxDrawing
-CinnabarPokecenterTexts: ; 75e32 (1d:5e32)
- dw CinnabarPokecenterText1, CinnabarPokecenterText2, CinnabarPokecenterText3, CinnabarPokecenterText4
+CinnabarPokecenterTextPointers: ; 75e32 (1d:5e32)
+ dw CinnabarPokecenterText1
+ dw CinnabarPokecenterText2
+ dw CinnabarPokecenterText3
+ dw CinnabarPokecenterText4
CinnabarPokecenterText1: ; 75e3a (1d:5e3a)
db $ff
@@ -107051,7 +112261,7 @@ CinnabarPokecenterObject: ; 0x75e46 (size=44)
CinnabarMart_h: ; 0x75e72 to 0x75e7e (12 bytes) (id=172)
db $02 ; tileset
db CINNABAR_MART_HEIGHT, CINNABAR_MART_WIDTH ; dimensions (y, x)
- dw CinnabarMartBlocks, CinnabarMartTexts, CinnabarMartScript ; blocks, texts, scripts
+ dw CinnabarMartBlocks, CinnabarMartTextPointers, CinnabarMartScript ; blocks, texts, scripts
db $00 ; connections
dw CinnabarMartObject ; objects
@@ -107059,8 +112269,10 @@ CinnabarMart_h: ; 0x75e72 to 0x75e7e (12 bytes) (id=172)
CinnabarMartScript: ; 75e7e (1d:5e7e)
jp EnableAutoTextBoxDrawing
-CinnabarMartTexts: ; 75e81 (1d:5e81)
- dw CinnabarMartText1, CinnabarMartText2, CinnabarMartText3
+CinnabarMartTextPointers: ; 75e81 (1d:5e81)
+ dw CinnabarMartText1
+ dw CinnabarMartText2
+ dw CinnabarMartText3
CinnabarMartText2: ; 75e87 (1d:5e87)
TX_FAR _CinnabarMartText2
@@ -107091,7 +112303,7 @@ CinnabarMartObject: ; 0x75e91 (size=38)
CopycatsHouseF1_h: ; 0x75eb7 to 0x75ec3 (12 bytes) (id=175)
db $01 ; tileset
db COPYCATS_HOUSE_1F_HEIGHT, COPYCATS_HOUSE_1F_WIDTH ; dimensions (y, x)
- dw CopycatsHouseF1Blocks, CopycatsHouseF1Texts, CopycatsHouseF1Script ; blocks, texts, scripts
+ dw CopycatsHouseF1Blocks, CopycatsHouseF1TextPointers, CopycatsHouseF1Script ; blocks, texts, scripts
db $00 ; connections
dw CopycatsHouseF1Object ; objects
@@ -107099,8 +112311,10 @@ CopycatsHouseF1_h: ; 0x75eb7 to 0x75ec3 (12 bytes) (id=175)
CopycatsHouseF1Script: ; 75ec3 (1d:5ec3)
jp EnableAutoTextBoxDrawing
-CopycatsHouseF1Texts: ; 75ec6 (1d:5ec6)
- dw CopycatsHouseF1Text1, CopycatsHouseF1Text2, CopycatsHouseF1Text3
+CopycatsHouseF1TextPointers: ; 75ec6 (1d:5ec6)
+ dw CopycatsHouseF1Text1
+ dw CopycatsHouseF1Text2
+ dw CopycatsHouseF1Text3
CopycatsHouseF1Text1: ; 75ecc (1d:5ecc)
TX_FAR _CopycatsHouseF1Text1
@@ -107140,24 +112354,24 @@ CopycatsHouseF1Object: ; 0x75ee3 (size=46)
Gary_h: ; 75f11 (1d:5f11)
db $7 ;tileset
db $4, $4 ;Height, Width
- dw GaryBlocks, GaryTexts, GaryScript
+ dw GaryBlocks, GaryTextPointers, GaryScript
db $0 ;No Connections
dw GaryObject
GaryScript: ; 75f1d (1d:5f1d)
call EnableAutoTextBoxDrawing
- ld hl, GaryScripts
+ ld hl, GaryScriptPointers
ld a, [W_GARYCURSCRIPT]
jp CallFunctionInTable
-Function75f29: ; 75f29 (1d:5f29)
+GaryScript_75f29: ; 75f29 (1d:5f29)
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_GARYCURSCRIPT], a
ret
-GaryScripts: ; 75f31 (1d:5f31)
+GaryScriptPointers: ; 75f31 (1d:5f31)
dw GaryScript0
dw GaryScript1
dw GaryScript2
@@ -107168,14 +112382,14 @@ GaryScripts: ; 75f31 (1d:5f31)
dw GaryScript7
dw GaryScript8
dw GaryScript9
- dw GaryScript10 ; 60b9
+ dw GaryScript10
GaryScript0: ; 75f47 (1d:5f47)
ret
GaryScript1: ; 75f48 (1d:5f48)
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $ccd3
ld de, RLEMovement75f63
call DecodeRLEList
@@ -107198,7 +112412,7 @@ GaryScript2: ; 75f6a (1d:5f6a)
ret nz
call Delay3
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $d355
res 7, [hl]
ld a, $1
@@ -107239,15 +112453,15 @@ GaryScript2: ; 75f6a (1d:5f6a)
GaryScript3: ; 75fbb (1d:5fbb)
ld a, [W_ISINBATTLE]
cp $ff
- jp z, Function75f29
+ jp z, GaryScript_75f29
call UpdateSprites ; move sprites
ld hl, $d867
set 1, [hl]
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $1
ld [$ff00+$8c], a
- call Function760c8
+ call GaryScript_760c8
ld a, $1
ld [$ff00+$8c], a
call SetSpriteMovementBytesToFF
@@ -107261,11 +112475,11 @@ GaryScript4: ; 75fe4 (1d:5fe4)
call Bankswitch
ld a, $2
ld [$ff00+$8c], a
- call Function760c8
+ call GaryScript_760c8
ld a, $2
ld [$ff00+$8c], a
call SetSpriteMovementBytesToFF
- ld de, Movement76014
+ ld de, MovementData_76014
ld a, $2
ld [$ff00+$8c], a
call MoveSprite
@@ -107277,8 +112491,8 @@ GaryScript4: ; 75fe4 (1d:5fe4)
ld [W_GARYCURSCRIPT], a
ret
-Movement76014: ; 76014 (1d:6014)
- db $40,$40,$40,$40,$40,$ff
+MovementData_76014: ; 76014 (1d:6014)
+ db $40,$40,$40,$40,$40,$FF
GaryScript5: ; 7601a (1d:601a)
ld a, [$d730]
@@ -107298,7 +112512,7 @@ GaryScript5: ; 7601a (1d:601a)
call Func_34a6 ; face object
ld a, $3
ld [$ff00+$8c], a
- call Function760c8
+ call GaryScript_760c8
ld a, $6
ld [W_GARYCURSCRIPT], a
ret
@@ -107311,7 +112525,7 @@ GaryScript6: ; 76047 (1d:6047)
call Func_34a6 ; face object
ld a, $4
ld [$ff00+$8c], a
- call Function760c8
+ call GaryScript_760c8
ld a, $7
ld [W_GARYCURSCRIPT], a
ret
@@ -107324,8 +112538,8 @@ GaryScript7: ; 7605f (1d:605f)
call Func_34a6 ; face object
ld a, $5
ld [$ff00+$8c], a
- call Function760c8
- ld de, Movement76080
+ call GaryScript_760c8
+ ld de, MovementData_76080
ld a, $2
ld [$ff00+$8c], a
call MoveSprite
@@ -107333,8 +112547,8 @@ GaryScript7: ; 7605f (1d:605f)
ld [W_GARYCURSCRIPT], a
ret
-Movement76080: ; 76080 (1d:6080)
- db $40,$40,$ff
+MovementData_76080: ; 76080 (1d:6080)
+ db $40,$40,$FF
GaryScript8: ; 76083 (1d:6083)
ld a, [$d730]
@@ -107350,7 +112564,7 @@ GaryScript8: ; 76083 (1d:6083)
GaryScript9: ; 76099 (1d:6099)
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld hl, $ccd3
ld de, RLEMovement760b4
call DecodeRLEList
@@ -107361,7 +112575,7 @@ GaryScript9: ; 76099 (1d:6099)
ld [W_GARYCURSCRIPT], a
ret
-RLEMovement760b4; 0x760b4
+RLEMovement760b4 ; 760b4 (1d:60b4)
db $40,4
db $20,1
db $ff
@@ -107371,21 +112585,25 @@ GaryScript10: ; 760b9 (1d:60b9)
and a
ret nz
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld a, $0
ld [W_GARYCURSCRIPT], a
ret
-Function760c8; 0x760c8
+GaryScript_760c8 ; 760c8 (1d:60c8)
ld a, $f0
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
call DisplayTextID
ld a, $ff
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ret
-GaryTexts: ; 760d6 (1d:60d6)
- dw GaryText1, GaryText2, GaryText3, GaryText4, GaryText5
+GaryTextPointers: ; 760d6 (1d:60d6)
+ dw GaryText1
+ dw GaryText2
+ dw GaryText3
+ dw GaryText4
+ dw GaryText5
GaryText1: ; 760e0 (1d:60e0)
db $08 ; asm
@@ -107466,22 +112684,22 @@ GaryBlocks: ; 7615f (1d:615f)
Lorelei_h: ; 0x7616f to 0x7617b (12 bytes) (id=245)
db $07 ; tileset
db LORELEIS_ROOM_HEIGHT, LORELEIS_ROOM_WIDTH ; dimensions (y, x)
- dw LoreleiBlocks, LoreleiTexts, LoreleiScript ; blocks, texts, scripts
+ dw LoreleiBlocks, LoreleiTextPointers, LoreleiScript ; blocks, texts, scripts
db $00 ; connections
dw LoreleiObject ; objects
LoreleiScript: ; 7617b (1d:617b)
- call LoreleiScript_Unknown76191
+ call LoreleiScript_76191
call EnableAutoTextBoxDrawing
ld hl, LoreleiTrainerHeaders
- ld de, Unknown_761bb
+ ld de, LoreleiScriptPointers
ld a, [W_LORELEICURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_LORELEICURSCRIPT], a
ret
-LoreleiScript_Unknown76191: ; 76191 (1d:6191)
+LoreleiScript_76191: ; 76191 (1d:6191)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
@@ -107506,14 +112724,14 @@ Func_761b6: ; 761b6 (1d:61b6)
ld [W_LORELEICURSCRIPT], a
ret
-Unknown_761bb: ; 761bb (1d:61bb)
-dw Func_761e2
-dw Func_324c
-dw Func_7623f
-dw Func_7622c
-dw Func_761c5
+LoreleiScriptPointers: ; 761bb (1d:61bb)
+ dw LoreleiScript0
+ dw Func_324c
+ dw LoreleiScript2
+ dw LoreleiScript3
+ dw LoreleiScript4
-Func_761c5: ; 761c5 (1d:61c5)
+LoreleiScript4: ; 761c5 (1d:61c5)
ret
asm_761c6: ; 761c6 (1d:61c6)
ld hl, $ccd3
@@ -107531,8 +112749,8 @@ asm_761c6: ; 761c6 (1d:61c6)
ld [W_LORELEICURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Func_761e2: ; 761e2 (1d:61e2)
- ld hl, Unknown_76223
+LoreleiScript0: ; 761e2 (1d:61e2)
+ ld hl, CoordsData_76223
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
@@ -107540,7 +112758,7 @@ Func_761e2: ; 761e2 (1d:61e2)
ld [H_CURRENTPRESSEDBUTTONS], a
ld [$ccd3], a
ld [$cd38], a
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
cp $3
jr c, .asm_76206
ld hl, $d863
@@ -107561,20 +112779,24 @@ Func_761e2: ; 761e2 (1d:61e2)
ld [W_CURMAPSCRIPT], a
ret
-Unknown_76223: ; 76223 (1d:6223)
-INCBIN "baserom.gbc",$76223,$7622c - $76223
+CoordsData_76223: ; 76223 (1d:6223)
+ db $0A,$04
+ db $0A,$05
+ db $0B,$04
+ db $0B,$05
+ db $FF
-Func_7622c: ; 7622c (1d:622c)
+LoreleiScript3: ; 7622c (1d:622c)
ld a, [$cd38]
and a
ret nz
call Delay3
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_LORELEICURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Func_7623f: ; 7623f (1d:623f)
+LoreleiScript2: ; 7623f (1d:623f)
call EndTrainerBattle
ld a, [W_ISINBATTLE] ; $d057
cp $ff
@@ -107583,8 +112805,9 @@ Func_7623f: ; 7623f (1d:623f)
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
jp DisplayTextID
-LoreleiTexts: ; 76251 (1d:6251)
- dw LoreleiText1, LoreleiText2
+LoreleiTextPointers: ; 76251 (1d:6251)
+ dw LoreleiText1
+ dw LoreleiText2
LoreleiTrainerHeaders: ; 76255 (1d:6255)
LoreleiTrainerHeader0: ; 76255 (1d:6255)
@@ -107596,7 +112819,7 @@ LoreleiTrainerHeader0: ; 76255 (1d:6255)
dw LoreleiEndBattleText ; 0x6271 TextEndBattle
dw LoreleiEndBattleText ; 0x6271 TextEndBattle
-db $ff
+ db $ff
LoreleiText1: ; 76262 (1d:6262)
db $08 ; asm
@@ -107646,22 +112869,22 @@ LoreleiBlocks: ; 762ac (1d:62ac)
Bruno_h: ; 0x762ca to 0x762d6 (12 bytes) (id=246)
db $07 ; tileset
db BRUNOS_ROOM_HEIGHT, BRUNOS_ROOM_WIDTH ; dimensions (y, x)
- dw BrunoBlocks, BrunoTexts, BrunoScript ; blocks, texts, scripts
+ dw BrunoBlocks, BrunoTextPointers, BrunoScript ; blocks, texts, scripts
db $00 ; connections
dw BrunoObject ; objects
BrunoScript: ; 762d6 (1d:62d6)
- call BrunoScript_Unknown762ec
+ call BrunoScript_762ec
call EnableAutoTextBoxDrawing
ld hl, BrunoTrainerHeaders
- ld de, Unknown_76312
+ ld de, BrunoScriptPointers
ld a, [W_BRUNOCURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_BRUNOCURSCRIPT], a
ret
-BrunoScript_Unknown762ec: ; 762ec (1d:62ec)
+BrunoScript_762ec: ; 762ec (1d:62ec)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
@@ -107685,14 +112908,14 @@ Func_7630d: ; 7630d (1d:630d)
ld [W_BRUNOCURSCRIPT], a
ret
-Unknown_76312: ; 76312 (1d:6312)
-dw Func_76339
-dw Func_324c
-dw Func_76396
-dw Func_76383
-dw Func_7631c
+BrunoScriptPointers: ; 76312 (1d:6312)
+ dw BrunoScript0
+ dw Func_324c
+ dw BrunoScript2
+ dw BrunoScript3
+ dw BrunoScript4
-Func_7631c: ; 7631c (1d:631c)
+BrunoScript4: ; 7631c (1d:631c)
ret
asm_7631d: ; 7631d (1d:631d)
ld hl, $ccd3
@@ -107711,8 +112934,8 @@ asm_7631d: ; 7631d (1d:631d)
ld [W_CURMAPSCRIPT], a
ret
-Func_76339: ; 76339 (1d:6339)
- ld hl, Unknown_7637a
+BrunoScript0: ; 76339 (1d:6339)
+ ld hl, CoordsData_7637a
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
@@ -107720,7 +112943,7 @@ Func_76339: ; 76339 (1d:6339)
ld [H_CURRENTPRESSEDBUTTONS], a
ld [$ccd3], a
ld [$cd38], a
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
cp $3
jr c, .asm_7635d
ld hl, $d864
@@ -107741,21 +112964,25 @@ Func_76339: ; 76339 (1d:6339)
ld [W_CURMAPSCRIPT], a
ret
-Unknown_7637a: ; 7637a (1d:637a)
-INCBIN "baserom.gbc",$7637a,$76383 - $7637a
+CoordsData_7637a: ; 7637a (1d:637a)
+ db $0A,$04
+ db $0A,$05
+ db $0B,$04
+ db $0B,$05
+ db $FF
-Func_76383: ; 76383 (1d:6383)
+BrunoScript3: ; 76383 (1d:6383)
ld a, [$cd38]
and a
ret nz
call Delay3
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_BRUNOCURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Func_76396: ; 76396 (1d:6396)
+BrunoScript2: ; 76396 (1d:6396)
call EndTrainerBattle
ld a, [W_ISINBATTLE] ; $d057
cp $ff
@@ -107764,8 +112991,9 @@ Func_76396: ; 76396 (1d:6396)
ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c
jp DisplayTextID
-BrunoTexts: ; 763a8 (1d:63a8)
- dw BrunoText1, BrunoText2
+BrunoTextPointers: ; 763a8 (1d:63a8)
+ dw BrunoText1
+ dw BrunoText2
BrunoTrainerHeaders: ; 763ac (1d:63ac)
BrunoTrainerHeader0: ; 763ac (1d:63ac)
@@ -107777,7 +113005,7 @@ BrunoTrainerHeader0: ; 763ac (1d:63ac)
dw BrunoEndBattleText ; 0x63c8 TextEndBattle
dw BrunoEndBattleText ; 0x63c8 TextEndBattle
-db $ff
+ db $ff
BrunoText1: ; 763b9 (1d:63b9)
db $08 ; asm
@@ -107827,22 +113055,22 @@ BrunoBlocks: ; 76403 (1d:6403)
Agatha_h: ; 0x76421 to 0x7642d (12 bytes) (id=247)
db $0f ; tileset
db AGATHAS_ROOM_HEIGHT, AGATHAS_ROOM_WIDTH ; dimensions (y, x)
- dw AgathaBlocks, AgathaTexts, AgathaScript ; blocks, texts, scripts
+ dw AgathaBlocks, AgathaTextPointers, AgathaScript ; blocks, texts, scripts
db $00 ; connections
dw AgathaObject ; objects
AgathaScript: ; 7642d (1d:642d)
- call AgathaScript_Unknown76443
+ call AgathaScript_76443
call EnableAutoTextBoxDrawing
ld hl, AgathaTrainerHeaders
- ld de, Unknown_76469
+ ld de, AgathaScriptPointers
ld a, [W_AGATHACURSCRIPT]
call ExecuteCurMapScriptInTable
ld [W_AGATHACURSCRIPT], a
ret
-AgathaScript_Unknown76443: ; 76443 (1d:6443)
+AgathaScript_76443: ; 76443 (1d:6443)
ld hl, $d126
bit 5, [hl]
res 5, [hl]
@@ -107866,14 +113094,14 @@ Func_76464: ; 76464 (1d:6464)
ld [W_AGATHACURSCRIPT], a
ret
-Unknown_76469: ; 76469 (1d:6469)
-dw Func_76490
-dw Func_324c
-dw Func_764ed
-dw Func_764da
-dw Func_76473
+AgathaScriptPointers: ; 76469 (1d:6469)
+ dw AgathaScript0
+ dw Func_324c
+ dw AgathaScript2
+ dw AgathaScript3
+ dw AgathaScript4
-Func_76473: ; 76473 (1d:6473)
+AgathaScript4: ; 76473 (1d:6473)
ret
asm_76474: ; 76474 (1d:6474)
ld hl, $ccd3
@@ -107892,8 +113120,8 @@ asm_76474: ; 76474 (1d:6474)
ld [W_CURMAPSCRIPT], a
ret
-Func_76490: ; 76490 (1d:6490)
- ld hl, Unknown_764d1
+AgathaScript0: ; 76490 (1d:6490)
+ ld hl, CoordsData_764d1
call ArePlayerCoordsInArray
jp nc, CheckFightingMapTrainers
xor a
@@ -107901,7 +113129,7 @@ Func_76490: ; 76490 (1d:6490)
ld [H_CURRENTPRESSEDBUTTONS], a
ld [$ccd3], a
ld [$cd38], a
- ld a, [W_WHICHTRADE] ; $cd3d
+ ld a, [wWhichTrade] ; $cd3d
cp $3
jr c, .asm_764b4
ld hl, $d865
@@ -107922,21 +113150,25 @@ Func_76490: ; 76490 (1d:6490)
ld [W_CURMAPSCRIPT], a
ret
-Unknown_764d1: ; 764d1 (1d:64d1)
-INCBIN "baserom.gbc",$764d1,$764da - $764d1
+CoordsData_764d1: ; 764d1 (1d:64d1)
+ db $0A,$04
+ db $0A,$05
+ db $0B,$04
+ db $0B,$05
+ db $FF
-Func_764da: ; 764da (1d:64da)
+AgathaScript3: ; 764da (1d:64da)
ld a, [$cd38]
and a
ret nz
call Delay3
xor a
- ld [W_JOYPADFORBIDDENBUTTONSMASK], a
+ ld [wJoypadForbiddenButtonsMask], a
ld [W_AGATHACURSCRIPT], a
ld [W_CURMAPSCRIPT], a
ret
-Func_764ed: ; 764ed (1d:64ed)
+AgathaScript2: ; 764ed (1d:64ed)
call EndTrainerBattle
ld a, [W_ISINBATTLE] ; $d057
cp $ff
@@ -107948,8 +113180,9 @@ Func_764ed: ; 764ed (1d:64ed)
ld [W_GARYCURSCRIPT], a
ret
-AgathaTexts: ; 76505 (1d:6505)
- dw AgathaText1, AgathaText2
+AgathaTextPointers: ; 76505 (1d:6505)
+ dw AgathaText1
+ dw AgathaText2
AgathaTrainerHeaders: ; 76509 (1d:6509)
AgathaTrainerHeader0: ; 76509 (1d:6509)
@@ -107961,7 +113194,7 @@ AgathaTrainerHeader0: ; 76509 (1d:6509)
dw AgathaEndBattleText ; 0x6525 TextEndBattle
dw AgathaEndBattleText ; 0x6525 TextEndBattle
-db $ff
+ db $ff
AgathaText1: ; 76516 (1d:6516)
db $08 ; asm
@@ -108040,7 +113273,7 @@ Unknown_7657e: ; XXX: make better (has to do with the hall of fame on the PC) ;
ld b, BANK(Func_73b3f)
ld hl, Func_73b3f
call Bankswitch
- call Unknown_765e5
+ call Func_765e5
pop bc
jr c, .second
ld hl, $CD41
@@ -108059,11 +113292,12 @@ Unknown_7657e: ; XXX: make better (has to do with the hall of fame on the PC) ;
call ClearScreen
call GoPAL_SET_CF1C
jp GBPalNormal
-Unknown_765e5: ; 765e5 (1d:65e5)
+
+Func_765e5: ; 765e5 (1d:65e5)
ld c, 6
.third
push bc
- call Unknown_76610
+ call Func_76610
call WaitForTextScrollButtonPress
ld a, [H_CURRENTPRESSEDBUTTONS]
bit 1, a
@@ -108084,8 +113318,9 @@ Unknown_765e5: ; 765e5 (1d:65e5)
.fifth
pop bc
scf
- ret
-Unknown_76610: ; 76610 (1d:6610)
+ ret
+
+Func_76610: ; 76610 (1d:6610)
call GBPalWhiteOutWithDelay3
call ClearScreen
ld hl, $CC5B
@@ -108304,10 +113539,10 @@ HiddenCoins: ; 76799 (1d:6799)
ld a, $10
call Predef
call EnableAutoTextBoxDrawing
- ld a, [W_PLAYERCOINS1]
+ ld a, [wPlayerCoins]
cp $99
jr nz, .RoomInCoinCase
- ld a, [W_PLAYERCOINS2]
+ ld a, [wPlayerCoins + 1]
cp $99
jr nz, .RoomInCoinCase
ld a, $2c
@@ -108522,7 +113757,7 @@ DrawFrameBlock: ; 78000 (1e:4000)
jr z,.resetFrameBlockDestAddr
call AnimationCleanOAM
.resetFrameBlockDestAddr
- ld hl,W_OAMBUFFER ; OAM buffer
+ ld hl,wOAMBuffer ; OAM buffer
ld a,l
ld [W_FBDESTADDR + 1],a
ld a,h
@@ -108571,10 +113806,10 @@ PlayAnimation: ; 780f1 (1e:40f1)
ld a,[hli]
cp a,$FF ; is there a sound to play?
jr z,.skipPlayingSound
- ld [W_ANIMSOUNDID],a ; store sound
+ ld [wAnimSoundID],a ; store sound
push hl
push de
- call Func586F
+ call Func_7986f
call PlaySound
pop de
pop hl
@@ -108600,7 +113835,7 @@ PlayAnimation: ; 780f1 (1e:40f1)
rla
ld [$D09F],a ; tile select
ld a,[hli] ; sound
- ld [W_ANIMSOUNDID],a ; store sound
+ ld [wAnimSoundID],a ; store sound
ld a,[hli] ; subanimation ID
ld c,l
ld b,h
@@ -108723,17 +113958,17 @@ LoadAnimationTileset: ; 781d2 (1e:41d2)
jp CopyVideoData ; load tileset
AnimationTilesetPointers: ; 781f2 (1e:41f2)
-db 79 ; number of tiles
-dw AnimationTileset1
-db $FF
+ db 79 ; number of tiles
+ dw AnimationTileset1
+ db $FF
-db 79 ; number of tiles
-dw AnimationTileset2
-db $FF
+ db 79 ; number of tiles
+ dw AnimationTileset2
+ db $FF
-db 64 ; number of tiles
-dw AnimationTileset1
-db $FF
+ db 64 ; number of tiles
+ dw AnimationTileset1
+ db $FF
AnimationTileset1: ; 781fe (1e:41fe)
INCBIN "gfx/attack_anim_1.2bpp"
@@ -108741,6 +113976,7 @@ AnimationTileset1: ; 781fe (1e:41fe)
AnimationTileset2: ; 786ee (1e:46ee)
INCBIN "gfx/attack_anim_2.2bpp"
+SlotMachineTiles2: ; 78bde (1e:4bde)
IF _RED
INCBIN "gfx/red/slotmachine2.2bpp"
ENDC
@@ -108778,7 +114014,7 @@ MoveAnimation: ; 78d5e (1e:4d5e)
ld c,30
call DelayFrames
.next4
- call Function4DBD ; reload pic and flash the pic in and out (to show damage)
+ call Func_78dbd ; reload pic and flash the pic in and out (to show damage)
.AnimationFinished
call WaitForSoundToFinish
xor a
@@ -108816,7 +114052,7 @@ ShareMoveAnimations: ; 78da6 (1e:4da6)
ld [W_ANIMATIONID],a
ret
-Function4DBD: ; 78dbd (1e:4dbd)
+Func_78dbd: ; 78dbd (1e:4dbd)
ld a,[$CC5B]
and a
ret z
@@ -108824,31 +114060,48 @@ Function4DBD: ; 78dbd (1e:4dbd)
add a
ld c,a
ld b,0
- ld hl,Pointer4DCF
+ ld hl,PointerTable_78dcf
add hl,bc
ld a,[hli]
ld h,[hl]
ld l,a
jp [hl]
-Pointer4DCF: ; 78dcf (1e:4dcf)
- dw $4DDB,$4DE3,$4DEB,$4DF0,$4DF6,$4DFE
+PointerTable_78dcf: ; 78dcf (1e:4dcf)
+ dw Func_78ddb
+ dw Func_78de3
+ dw Func_78deb
+ dw Func_78df0
+ dw Func_78df6
+ dw Func_78dfe
+Func_78ddb: ; 78ddb (1e:4ddb)
call Func_79e6a
ld b, $8
jp Func_79209
+
+Func_78de3: ; 78de3 (1e:4de3)
call Func_79e6a
ld b, $8
jp Func_79210
+
+Func_78deb: ; 78deb (1e:4deb)
ld bc, $602
- jr .asm_78e01
+ jr Func_78e01
+
+Func_78df0: ; 78df0 (1e:4df0)
call Func_79e6a
jp Func_79369
+
+Func_78df6: ; 78df6 (1e:4df6)
call Func_79e6a
ld b, $2
jp Func_79210
+
+Func_78dfe: ; 78dfe (1e:4dfe)
ld bc, $302
-.asm_78e01
+
+Func_78e01: ; 78e01 (1e:4e01)
push bc
push bc
.asm_78e03
@@ -108870,7 +114123,7 @@ Pointer4DCF: ; 78dcf (1e:4dcf)
jr nz, .asm_78e11
pop bc
dec c
- jr nz, .asm_78e01
+ jr nz, Func_78e01
ret
Func_78e23: ; 78e23 (1e:4e23)
@@ -108902,13 +114155,13 @@ Func_78e23: ; 78e23 (1e:4e23)
ret
PlaySubanimation: ; 78e53 (1e:4e53)
- ld a,[W_ANIMSOUNDID]
+ ld a,[wAnimSoundID]
cp a,$FF
jr z,.skipPlayingSound
- call Func586F
+ call Func_7986f
call PlaySound ; play sound effect
.skipPlayingSound
- ld hl,W_OAMBUFFER ; base address of OAM buffer
+ ld hl,wOAMBuffer ; base address of OAM buffer
ld a,l
ld [W_FBDESTADDR + 1],a
ld a,h
@@ -109019,7 +114272,7 @@ AnimationIdSpecialEffects: ; 78ef5 (1e:4ef5)
dw AnimationFlashScreen
db TAIL_WHIP
- dw Func50D0
+ dw Func_790d0
db GROWL
dw DoGrowlSpecialEffects
@@ -109055,13 +114308,13 @@ AnimationIdSpecialEffects: ; 78ef5 (1e:4ef5)
dw DoRockSlideSpecialEffects
db $AA
- dw Func5041
+ dw Func_79041
db $AB
- dw Func504C
+ dw Func_7904c
db $AC
- dw Func507C
+ dw Func_7907c
db TOSS_ANIM
dw DoBallTossSpecialEffects
@@ -109232,7 +114485,7 @@ DoBlizzardSpecialEffects: ; 79016 (1e:5016)
; flashes the screen at 3 points in the subanimation
; XXX is this unused?
-Func502E: ; 7902e (1e:502e)
+Func_7902e: ; 7902e (1e:502e)
ld a,[W_SUBANIMCOUNTER]
cp a,14
jp z,AnimationFlashScreen
@@ -109244,7 +114497,7 @@ Func502E: ; 7902e (1e:502e)
; function to make the pokemon disappear at the beginning of the animation
; XXX probably a trade-related animation
-Func5041: ; 79041 (1e:5041)
+Func_79041: ; 79041 (1e:5041)
ld a,[W_SUBANIMCOUNTER]
cp a,6
ret nz
@@ -109253,14 +114506,14 @@ Func5041: ; 79041 (1e:5041)
; function to make a shaking pokeball jump up at the end of the animation
; XXX probably a trade-related animation
-Func504C: ; 7904c (1e:504c)
+Func_7904c: ; 7904c (1e:504c)
ld a,[W_SUBANIMCOUNTER]
cp a,1
ret nz
; if it's the end of the animation, make the ball jump up
ld de,BallMoveDistances1
.loop
- ld hl,W_OAMBUFFER ; OAM buffer
+ ld hl,wOAMBuffer ; OAM buffer
ld bc,4
.innerLoop
ld a,[de]
@@ -109283,15 +114536,15 @@ Func504C: ; 7904c (1e:504c)
jp PlaySound ; play sound
BallMoveDistances1: ; 79078 (1e:5078)
-db -12,-12,-8
-db $ff ; terminator
+ db -12,-12,-8
+ db $ff ; terminator
; function to make the pokeball jump up
; XXX probably a trade-related animation
-Func507C ; 507C
+Func_7907c ; 507C
ld de,BallMoveDistances2
.loop
- ld hl,W_OAMBUFFER ; OAM buffer
+ ld hl,wOAMBuffer ; OAM buffer
ld bc,4
.innerLoop
ld a,[de]
@@ -109325,13 +114578,13 @@ Func507C ; 507C
jr .loop
BallMoveDistances2: ; 790b3 (1e:50b3)
-db 11,12,-12,-7,7,12,-8,8
-db $ff ; terminator
+ db 11,12,-12,-7,7,12,-8,8
+ db $ff ; terminator
; this function copies the current musical note graphic
; so that there are two musical notes flying towards the defending pokemon
DoGrowlSpecialEffects: ; 790bc (1e:50bc)
- ld hl,W_OAMBUFFER ; OAM buffer
+ ld hl,wOAMBuffer ; OAM buffer
ld de,$c310
ld bc,$10
call CopyData ; copy the musical note graphic
@@ -109341,8 +114594,7 @@ DoGrowlSpecialEffects: ; 790bc (1e:50bc)
ret
; this is associated with Tail Whip, but Tail Whip doesn't use any subanimations
-; XXX why is this here?
-Func50D0: ; 790d0 (1e:50d0)
+Func_790d0: ; 790d0 (1e:50d0)
ld a,1
ld [W_SUBANIMCOUNTER],a
ld c,20
@@ -109375,7 +114627,7 @@ SpecialEffectPointers: ; 790da (1e:50da)
db $F3
dw $536F
db $F2
- dw $53F9
+ dw Func_793f9
db $F1
dw $5415
db $F0
@@ -109387,7 +114639,7 @@ SpecialEffectPointers: ; 790da (1e:50da)
db $ED
dw $54F9
db $EC
- dw $5566
+ dw Func_79566
db $EB
dw $577A
db $EA
@@ -109401,7 +114653,7 @@ SpecialEffectPointers: ; 790da (1e:50da)
db $E6
dw $5C8A
db $E5
- dw $5645
+ dw Func_79645
db $E4
dw $5D77
db $E3
@@ -109423,11 +114675,11 @@ SpecialEffectPointers: ; 790da (1e:50da)
db $DB
dw $52B9
db $DA
- dw $53B1
+ dw Func_793b1
db $D9
dw $56E0
db $D8
- dw $5666
+ dw Func_79666
db $FF
AnimationDelay10: ; 79150 (1e:5150)
@@ -109477,35 +114729,35 @@ AnimationFlashScreenLong: ; 79165 (1e:5165)
; BG palettes
FlashScreenLongMonochrome: ; 7918e (1e:518e)
-db %11111001 ; 3, 3, 2, 1
-db %11111110 ; 3, 3, 3, 2
-db %11111111 ; 3, 3, 3, 3
-db %11111110 ; 3, 3, 3, 2
-db %11111001 ; 3, 3, 2, 1
-db %11100100 ; 3, 2, 1, 0
-db %10010000 ; 2, 1, 0, 0
-db %01000000 ; 1, 0, 0, 0
-db %00000000 ; 0, 0, 0, 0
-db %01000000 ; 1, 0, 0, 0
-db %10010000 ; 2, 1, 0, 0
-db %11100100 ; 3, 2, 1, 0
-db $01 ; terminator
+ db %11111001 ; 3, 3, 2, 1
+ db %11111110 ; 3, 3, 3, 2
+ db %11111111 ; 3, 3, 3, 3
+ db %11111110 ; 3, 3, 3, 2
+ db %11111001 ; 3, 3, 2, 1
+ db %11100100 ; 3, 2, 1, 0
+ db %10010000 ; 2, 1, 0, 0
+ db %01000000 ; 1, 0, 0, 0
+ db %00000000 ; 0, 0, 0, 0
+ db %01000000 ; 1, 0, 0, 0
+ db %10010000 ; 2, 1, 0, 0
+ db %11100100 ; 3, 2, 1, 0
+ db $01 ; terminator
; BG palettes
FlashScreenLongSGB: ; 7919b (1e:519b)
-db %11111000 ; 3, 3, 2, 0
-db %11111100 ; 3, 3, 3, 0
-db %11111111 ; 3, 3, 3, 3
-db %11111100 ; 3, 3, 3, 0
-db %11111000 ; 3, 3, 2, 0
-db %11100100 ; 3, 2, 1, 0
-db %10010000 ; 2, 1, 0, 0
-db %01000000 ; 1, 0, 0, 0
-db %00000000 ; 0, 0, 0, 0
-db %01000000 ; 1, 0, 0, 0
-db %10010000 ; 2, 1, 0, 0
-db %11100100 ; 3, 2, 1, 0
-db $01 ; terminator
+ db %11111000 ; 3, 3, 2, 0
+ db %11111100 ; 3, 3, 3, 0
+ db %11111111 ; 3, 3, 3, 3
+ db %11111100 ; 3, 3, 3, 0
+ db %11111000 ; 3, 3, 2, 0
+ db %11100100 ; 3, 2, 1, 0
+ db %10010000 ; 2, 1, 0, 0
+ db %01000000 ; 1, 0, 0, 0
+ db %00000000 ; 0, 0, 0, 0
+ db %01000000 ; 1, 0, 0, 0
+ db %10010000 ; 2, 1, 0, 0
+ db %11100100 ; 3, 2, 1, 0
+ db $01 ; terminator
; causes a delay of 2 frames for the first cycle
; causes a delay of 1 frame for the second and third cycles
@@ -109537,18 +114789,28 @@ AnimationFlashScreen: ; 791be (1e:51be)
ld [rBGP],a ; restore initial palette
ret
- ld bc, Unknown_7af6f ; $6f6f
+ ld bc, Unknown_7af6f
+ jr .asm_791fc
+
+ ld bc, $f9f4
+ jr .asm_791fc
+
+ ld bc, $fef8
+ jr .asm_791fc
+
+ ld bc, $ffff
jr .asm_791fc
-INCBIN "baserom.gbc",$791db,$791ea - $791db
ld bc, $e4e4
jr .asm_791fc
-INCBIN "baserom.gbc",$791ef,$791f4 - $791ef
+ ld bc, $0000
+ jr .asm_791fc
+
ld bc, $9090
jr .asm_791fc
-INCBIN "baserom.gbc",$791f9,$791fc - $791f9
+ ld bc, $4040
.asm_791fc
ld a, [$cf1b]
and a
@@ -109559,7 +114821,7 @@ INCBIN "baserom.gbc",$791f9,$791fc - $791f9
ld [rBGP], a ; $FF00+$47
ret
-INCBIN "baserom.gbc",$79207,$79209 - $79207
+ ld b, $5
Func_79209: ; 79209 (1e:5209)
ld a, $21
@@ -109593,7 +114855,7 @@ Func_79210: ; 79210 (1e:5210)
ret
Func_79246: ; 79246 (1e:5246)
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
.asm_79249
ld a, [W_BASECOORDY] ; $d082
ld [hli], a
@@ -109618,7 +114880,20 @@ Func_79246: ; 79246 (1e:5246)
call AnimationCleanOAM
jp DelayFrame
-INCBIN "baserom.gbc",$7927a,$79297 - $7927a
+Func_7927a: ; 7927a (1e:527a)
+ ld c, $7
+ ld a, [H_WHOSETURN]
+ and a
+ ld hl, $c419
+ ld de, $c405
+ ld a, $30
+ jr z, .asm_79291
+ ld hl, $c3c0
+ ld de, $c3ac
+ ld a, $ff
+.asm_79291
+ ld [$d09f], a
+ jp Func_792bf
Func_79297: ; 79297 (1e:5297)
xor a
@@ -109646,7 +114921,73 @@ Func_792b9: ; 792b9 (1e:52b9)
ld hl, Func_792af ; $52af
jp CallWithTurnFlipped
-INCBIN "baserom.gbc",$792bf,$79329 - $792bf
+Func_792bf: ; 792bf (1e:52bf)
+ push de
+ push hl
+ push bc
+ ld b, $6
+.asm_792c4
+ push bc
+ push de
+ push hl
+ ld bc, $0007
+ call CopyData
+ pop de
+ pop hl
+ ld bc, $0028
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .asm_792c4
+ ld a, [H_WHOSETURN]
+ and a
+ ld hl, $c47d
+ jr z, .asm_792e2
+ ld hl, $c424
+.asm_792e2
+ ld a, [$d09f]
+ inc a
+ ld [$d09f], a
+ ld c, $7
+.asm_792eb
+ ld [hli], a
+ add $7
+ dec c
+ jr nz, .asm_792eb
+ ld c, $2
+ call DelayFrames
+ pop bc
+ pop hl
+ pop de
+ dec c
+ jr nz, Func_792bf
+ ret
+
+Func_792fd: ; 792fd (1e:52fd)
+ ld a, $10
+ ld [W_BASECOORDX], a
+ ld a, $30
+ ld [W_BASECOORDY], a
+ ld hl, wOAMBuffer
+ ld d, $0
+ ld c, $7
+.asm_7930e
+ ld a, [W_BASECOORDY]
+ ld e, a
+ ld b, $5
+.asm_79314
+ call Func_79329
+ inc d
+ dec b
+ jr nz, .asm_79314
+ dec c
+ ret z
+ inc d
+ inc d
+ ld a, [W_BASECOORDX]
+ add $8
+ ld [W_BASECOORDX], a
+ jr .asm_7930e
Func_79329: ; 79329 (1e:5329)
ld a, e
@@ -109660,6 +115001,8 @@ Func_79329: ; 79329 (1e:5329)
xor a
ld [hli], a
ret
+
+Func_79337: ; 79337 (1e:5337)
ld l, e
ld h, d
@@ -109681,6 +115024,8 @@ Func_79339: ; 79339 (1e:5339)
dec c
jr nz, .asm_7933c
ret
+
+Func_79350: ; 79350 (1e:5350)
ld l, e
ld h, d
@@ -109731,7 +115076,9 @@ Func_79389: ; 79389 (1e:5389)
ld [$cee9], a
jp Func_79793
-INCBIN "baserom.gbc",$79398,$7939e - $79398
+Func_79398: ; 79398 (1e:5398)
+ ld hl, Func_79389
+ jp CallWithTurnFlipped
Func_7939e: ; 7939e (1e:539e)
xor a
@@ -109742,7 +115089,52 @@ Func_7939e: ; 7939e (1e:539e)
ld hl, Func_7939e ; $539e
jp CallWithTurnFlipped
-INCBIN "baserom.gbc",$793b1,$793f9 - $793b1
+Func_793b1: ; 793b1 (1e:53b1)
+ ld a, [H_WHOSETURN]
+ and a
+ ld hl, $c404
+ ld de, $c406
+ jr z, .asm_793c2
+ ld hl, $c3ab
+ ld de, $c3ad
+
+.asm_793c2
+ xor a
+ ld c, $10
+.asm_793c5
+ push af
+ push bc
+ push de
+ push hl
+ push hl
+ push de
+ push af
+ push hl
+ push hl
+ call Func_79842
+ pop hl
+ call Func_79aae
+ call Delay3
+ pop hl
+ ld bc, $0709
+ call ClearScreenArea
+ pop af
+ call Func_79842
+ pop hl
+ call Func_79aae
+ call Delay3
+ pop hl
+ ld bc, $0709
+ call ClearScreenArea
+ pop hl
+ pop de
+ pop bc
+ pop af
+ dec c
+ jr nz, .asm_793c5
+ ret
+
+Func_793f9: ; 793f9 (1e:53f9)
call Func_79801
ld a, [H_WHOSETURN] ; $FF00+$f3
and a
@@ -109788,7 +115180,7 @@ INCBIN "baserom.gbc",$793b1,$793f9 - $793b1
.asm_79447
push hl
ld c, $3
- ld de, W_OAMBUFFER
+ ld de, wOAMBuffer
.asm_7944d
ld a, [hl]
cp $ff
@@ -109861,7 +115253,7 @@ Func_794d4: ; 794d4 (1e:54d4)
ld a, [$d09f]
cp $0
jr nz, .asm_794e7
- call asm_7985b
+ call Func_7985b
dec hl
jr .asm_794eb
.asm_794e7
@@ -109899,7 +115291,7 @@ Func_79517: ; 79517 (1e:5517)
call LoadAnimationTileset
pop bc
ld d, $7a
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
push bc
ld a, [W_BASECOORDY] ; $d082
ld e, a
@@ -109913,7 +115305,7 @@ Func_79517: ; 79517 (1e:5517)
ld [$d08a], a
.asm_79538
push bc
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
.asm_7953c
ld a, [W_BASECOORDY] ; $d082
add $8
@@ -109941,7 +115333,34 @@ Func_79517: ; 79517 (1e:5517)
jr nz, .asm_79538
ret
-INCBIN "baserom.gbc",$79566,$7959f - $79566
+Func_79566: ; 79566 (1e:5566)
+ ld a, [H_WHOSETURN]
+ and a
+ ld hl, Unknown_79591
+ ld a, $50
+ jr z, .player
+ ld hl, Unknown_79598
+ ld a, $28
+.player
+ ld [wTrainerSpriteOffset], a
+.loop
+ ld a, [wTrainerSpriteOffset]
+ ld [W_BASECOORDY], a
+ ld a, [hli]
+ cp $ff
+ jp z, AnimationCleanOAM
+ ld [W_BASECOORDX], a
+ ld bc, $0401
+ push hl
+ call Func_79517
+ pop hl
+ jr .loop
+
+Unknown_79591: ; 79591 (1e:5591)
+INCBIN "baserom.gbc",$79591,$79598 - $79591
+
+Unknown_79598: ; 79598 (1e:5598)
+INCBIN "baserom.gbc",$79598,$7959f - $79598
Func_7959f: ; 7959f (1e:559f)
ld hl, $c6e8
@@ -110028,7 +115447,12 @@ Func_7963c: ; 7963c (1e:563c)
ld a, $7f
ret
-INCBIN "baserom.gbc",$79645,$79652 - $79645
+Func_79645: ; 79645 (1e:5645)
+ ld e, $4
+ ld a, $4
+ ld [W_SUBANIMTRANSFORM], a
+ call Func_795f8
+ jp Delay3
Func_79652: ; 79652 (1e:5652)
ld a, [H_WHOSETURN] ; $FF00+$f3
@@ -110041,7 +115465,61 @@ Func_79652: ; 79652 (1e:5652)
ld bc, $31
jp CopyVideoData
-INCBIN "baserom.gbc",$79666,$796e0 - $79666
+Func_79666: ; 79666 (1e:5666)
+ ld hl, $9800
+ call Func_79e0d
+ call Delay3
+ xor a
+ ld [H_AUTOBGTRANSFERENABLED], a
+ ld a, $90
+ ld [$ffb0], a
+ ld d, $80
+ ld e, $8f
+ ld c, $ff
+ ld hl, Unknown_796bf
+.asm_7967f
+ push hl
+.asm_79680
+ call Func_796ae
+ ld a, [$ff44]
+ cp e
+ jr nz, .asm_79680
+ pop hl
+ inc hl
+ ld a, [hl]
+ cp d
+ jr nz, .asm_79691
+ ld hl, Unknown_796bf
+.asm_79691
+ dec c
+ jr nz, .asm_7967f
+ xor a
+ ld [$ffb0], a
+ call SaveScreenTilesToBuffer2
+ call ClearScreen
+ ld a, $1
+ ld [H_AUTOBGTRANSFERENABLED], a
+ call Delay3
+ call LoadScreenTilesFromBuffer2
+ ld hl, $9c00
+ call Func_79e0d
+ ret
+
+Func_796ae: ; 796ae (1e:56ae)
+ ld a, [$ff41]
+ and $3
+ jr nz, Func_796ae
+ ld a, [hl]
+ ld [$ff43], a
+ inc hl
+ ld a, [hl]
+ cp d
+ ret nz
+ ld hl, Unknown_796bf
+ ret
+
+Unknown_796bf: ; 796bf (1e:56bf)
+INCBIN "baserom.gbc",$796bf,$796e0 - $796bf
Func_796e0: ; 796e0 (1e:56e0)
ld hl, $c6e8
@@ -110181,7 +115659,7 @@ Func_797e8: ; 797e8 (1e:57e8)
xor a
ld e, a
ld [W_BASECOORDX], a ; $d081
- ld hl, W_OAMBUFFER
+ ld hl, wOAMBuffer
.asm_797fa
call Func_79329
dec c
@@ -110203,7 +115681,7 @@ Func_7980c: ; 7980c (1e:580c)
push bc
ld e, a
ld d, $0
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
add hl, de
ld bc, $707
call ClearScreenArea
@@ -110222,7 +115700,7 @@ Func_79820: ; 79820 (1e:5820)
.asm_7982a
ld a, $c
.asm_7982c
- ld hl, W_SCREENTILESBUFFER
+ ld hl, wTileMap
ld e, a
ld d, $0
add hl, de
@@ -110240,7 +115718,7 @@ Func_79820: ; 79820 (1e:5820)
ret
Func_79842: ; 79842 (1e:5842)
- ld hl, Unknown_79aea ; $5aea
+ ld hl, PointerTable_79aea ; $5aea
ld e, a
ld d, $0
add hl, de
@@ -110259,12 +115737,13 @@ Func_79842: ; 79842 (1e:5842)
and $f
ld b, a
ret
-asm_7985b: ; 7985b (1e:585b)
+
+Func_7985b: ; 7985b (1e:585b)
ld a, [hld]
ld [hli], a
inc hl
dec c
- jr nz, asm_7985b
+ jr nz, Func_7985b
ret
Func_79862: ; 79862 (1e:5862)
@@ -110275,9 +115754,13 @@ Func_79862: ; 79862 (1e:5862)
jr nz, Func_79862
ret
-INCBIN "baserom.gbc",$79869,$7986f - $79869
+Func_79869: ; 79869 (1e:5869)
+ ld a, b
+ call Func_7986f
+ ld b, a
+ ret
-Func586F: ; 7986f (1e:586f)
+Func_7986f: ; 7986f (1e:586f)
ld hl,MoveSoundTable
ld e,a
ld d,0
@@ -110545,8 +116028,23 @@ Func_79ace: ; 79ace (1e:5ace)
pop hl
ret
-Unknown_79aea: ; 79aea (1e:5aea)
-INCBIN "baserom.gbc",$79aea,$79b02 - $79aea
+PointerTable_79aea: ; 79aea (1e:5aea)
+ dw $5b24
+ db $77
+ dw $5b55
+ db $57
+ dw $5b78
+ db $37
+ dw $5b8D
+ db $77
+ dw $5bBE
+ db $77
+ dw $5bEF
+ db $77
+ dw $5c20
+ db $86
+ dw $5c50
+ db $3C
Unknown_79b02: ; 79b02 (1e:5b02)
INCBIN "baserom.gbc",$79b02,$79b1b - $79b02
@@ -110564,7 +116062,32 @@ Func_79dda: ; 79dda (1e:5dda)
pop hl
jp Func_79ace
-INCBIN "baserom.gbc",$79de9,$79e16 - $79de9
+Func_79de9: ; 79de9 (1e:5de9)
+ ld a, [$ffae]
+ ld [wTrainerSpriteOffset], a
+.asm_79dee
+ ld a, [wTrainerSpriteOffset]
+ add d
+ ld [$ffae], a
+ ld c, $2
+ call DelayFrames
+ ld a, [wTrainerSpriteOffset]
+ sub d
+ ld [$ffae], a
+ ld c, $2
+ call DelayFrames
+ dec e
+ jr nz, .asm_79dee
+ ld a, [wTrainerSpriteOffset]
+ ld [$ffae], a
+ ret
+
+Func_79e0d: ; 79e0d (1e:5e0d)
+ ld a, h
+ ld [$ffbd], a
+ ld a, l
+ ld [H_AUTOBGTRANSFERDEST], a
+ jp Delay3
TossBallAnimation: ; 79e16 (1e:5e16)
ld a,[W_ISINBATTLE]
@@ -110771,7 +116294,7 @@ Func_79f54: ; 79f54 (1e:5f54)
Func_79f92: ; 79f92 (1e:5f92)
ld a, [$c109]
- ld hl, Unknown_79fb0 ; $5fb0
+ ld hl, PointerTable_79fb0 ; $5fb0
ld c, a
ld b, $0
add hl, bc
@@ -110791,8 +116314,18 @@ Func_79f92: ; 79f92 (1e:5f92)
pop hl
ret
-Unknown_79fb0: ; 79fb0 (1e:5fb0)
-INCBIN "baserom.gbc",$79fb0,$79fc0 - $79fb0
+PointerTable_79fb0: ; 79fb0 (1e:5fb0)
+ db $FF,$00
+ dw Func_79350
+
+ db $01,$00
+ dw Func_79350
+
+ db $01,$01
+ dw Func_79337
+
+ db $FF,$01
+ dw Func_79337
Func_79fc0: ; 79fc0 (1e:5fc0)
ld hl, $8fc0
@@ -111216,28 +116749,28 @@ TechnicalMachinePrices: ; 7bfa7 (1e:7fa7)
SECTION "bank1F",ROMX,BANK[$1F]
-INCLUDE "music/headers/sfxheaders1f.tx"
-INCLUDE "music/headers/musicheaders1f.tx"
-
-INCLUDE "music/sfx/sfx_1f_01.tx"
-INCLUDE "music/sfx/sfx_1f_02.tx"
-INCLUDE "music/sfx/sfx_1f_03.tx"
-INCLUDE "music/sfx/sfx_1f_04.tx"
-INCLUDE "music/sfx/sfx_1f_05.tx"
-INCLUDE "music/sfx/sfx_1f_06.tx"
-INCLUDE "music/sfx/sfx_1f_07.tx"
-INCLUDE "music/sfx/sfx_1f_08.tx"
-INCLUDE "music/sfx/sfx_1f_09.tx"
-INCLUDE "music/sfx/sfx_1f_0a.tx"
-INCLUDE "music/sfx/sfx_1f_0b.tx"
-INCLUDE "music/sfx/sfx_1f_0c.tx"
-INCLUDE "music/sfx/sfx_1f_0d.tx"
-INCLUDE "music/sfx/sfx_1f_0e.tx"
-INCLUDE "music/sfx/sfx_1f_0f.tx"
-INCLUDE "music/sfx/sfx_1f_10.tx"
-INCLUDE "music/sfx/sfx_1f_11.tx"
-INCLUDE "music/sfx/sfx_1f_12.tx"
-INCLUDE "music/sfx/sfx_1f_13.tx"
+INCLUDE "music/headers/sfxheaders1f.asm"
+INCLUDE "music/headers/musicheaders1f.asm"
+
+INCLUDE "music/sfx/sfx_1f_01.asm"
+INCLUDE "music/sfx/sfx_1f_02.asm"
+INCLUDE "music/sfx/sfx_1f_03.asm"
+INCLUDE "music/sfx/sfx_1f_04.asm"
+INCLUDE "music/sfx/sfx_1f_05.asm"
+INCLUDE "music/sfx/sfx_1f_06.asm"
+INCLUDE "music/sfx/sfx_1f_07.asm"
+INCLUDE "music/sfx/sfx_1f_08.asm"
+INCLUDE "music/sfx/sfx_1f_09.asm"
+INCLUDE "music/sfx/sfx_1f_0a.asm"
+INCLUDE "music/sfx/sfx_1f_0b.asm"
+INCLUDE "music/sfx/sfx_1f_0c.asm"
+INCLUDE "music/sfx/sfx_1f_0d.asm"
+INCLUDE "music/sfx/sfx_1f_0e.asm"
+INCLUDE "music/sfx/sfx_1f_0f.asm"
+INCLUDE "music/sfx/sfx_1f_10.asm"
+INCLUDE "music/sfx/sfx_1f_11.asm"
+INCLUDE "music/sfx/sfx_1f_12.asm"
+INCLUDE "music/sfx/sfx_1f_13.asm"
Music1f_Channel3DutyPointers: ; 7c361 (1f:4361)
dw Music1f_Channel3Duty1
@@ -111265,92 +116798,92 @@ Music1f_Channel3Duty4: ; 7c3a3 (1f:43a3)
Music1f_Channel3Duty5: ; 7c3b3 (1f:43b3)
db $01,$23,$45,$67,$8A,$CD,$EE,$F7,$7F,$EE,$DC,$A8,$76,$54,$32,$10
-INCLUDE "music/sfx/sfx_1f_3f.tx"
-INCLUDE "music/sfx/sfx_1f_56.tx"
-INCLUDE "music/sfx/sfx_1f_57.tx"
-INCLUDE "music/sfx/sfx_1f_58.tx"
-INCLUDE "music/sfx/sfx_1f_3c.tx"
-INCLUDE "music/sfx/sfx_1f_59.tx"
-INCLUDE "music/sfx/sfx_1f_5a.tx"
-INCLUDE "music/sfx/sfx_1f_5b.tx"
-INCLUDE "music/sfx/sfx_1f_5c.tx"
-INCLUDE "music/sfx/sfx_1f_40.tx"
+INCLUDE "music/sfx/sfx_1f_3f.asm"
+INCLUDE "music/sfx/sfx_1f_56.asm"
+INCLUDE "music/sfx/sfx_1f_57.asm"
+INCLUDE "music/sfx/sfx_1f_58.asm"
+INCLUDE "music/sfx/sfx_1f_3c.asm"
+INCLUDE "music/sfx/sfx_1f_59.asm"
+INCLUDE "music/sfx/sfx_1f_5a.asm"
+INCLUDE "music/sfx/sfx_1f_5b.asm"
+INCLUDE "music/sfx/sfx_1f_5c.asm"
+INCLUDE "music/sfx/sfx_1f_40.asm"
IF _RED
- INCLUDE "music/sfx/sfx_1f_5d.tx"
+ INCLUDE "music/sfx/sfx_1f_5d.asm"
ENDC
IF _BLUE
- INCLUDE "music/blue/sfx_1f_5d.tx"
+ INCLUDE "music/blue/sfx_1f_5d.asm"
ENDC
-INCLUDE "music/sfx/sfx_1f_3d.tx"
-INCLUDE "music/sfx/sfx_1f_43.tx"
-INCLUDE "music/sfx/sfx_1f_3e.tx"
-INCLUDE "music/sfx/sfx_1f_44.tx"
-INCLUDE "music/sfx/sfx_1f_45.tx"
-INCLUDE "music/sfx/sfx_1f_46.tx"
-INCLUDE "music/sfx/sfx_1f_47.tx"
-INCLUDE "music/sfx/sfx_1f_48.tx"
-INCLUDE "music/sfx/sfx_1f_49.tx"
-INCLUDE "music/sfx/sfx_1f_4a.tx"
-INCLUDE "music/sfx/sfx_1f_4b.tx"
-INCLUDE "music/sfx/sfx_1f_4c.tx"
-INCLUDE "music/sfx/sfx_1f_4d.tx"
-INCLUDE "music/sfx/sfx_1f_4e.tx"
-INCLUDE "music/sfx/sfx_1f_4f.tx"
-INCLUDE "music/sfx/sfx_1f_50.tx"
-INCLUDE "music/sfx/sfx_1f_51.tx"
-INCLUDE "music/sfx/sfx_1f_52.tx"
-INCLUDE "music/sfx/sfx_1f_53.tx"
-INCLUDE "music/sfx/sfx_1f_54.tx"
-INCLUDE "music/sfx/sfx_1f_55.tx"
-INCLUDE "music/sfx/sfx_1f_5e.tx"
-INCLUDE "music/sfx/sfx_1f_5f.tx"
-INCLUDE "music/sfx/sfx_1f_60.tx"
-INCLUDE "music/sfx/sfx_1f_61.tx"
-INCLUDE "music/sfx/sfx_1f_62.tx"
-INCLUDE "music/sfx/sfx_1f_63.tx"
-INCLUDE "music/sfx/sfx_1f_64.tx"
-INCLUDE "music/sfx/sfx_1f_65.tx"
-INCLUDE "music/sfx/sfx_1f_66.tx"
-INCLUDE "music/sfx/sfx_1f_67.tx"
-INCLUDE "music/sfx/sfx_1f_unused.tx"
-INCLUDE "music/sfx/sfx_1f_1d.tx"
-INCLUDE "music/sfx/sfx_1f_37.tx"
-INCLUDE "music/sfx/sfx_1f_38.tx"
-INCLUDE "music/sfx/sfx_1f_25.tx"
-INCLUDE "music/sfx/sfx_1f_39.tx"
-INCLUDE "music/sfx/sfx_1f_17.tx"
-INCLUDE "music/sfx/sfx_1f_23.tx"
-INCLUDE "music/sfx/sfx_1f_24.tx"
-INCLUDE "music/sfx/sfx_1f_14.tx"
-INCLUDE "music/sfx/sfx_1f_22.tx"
-INCLUDE "music/sfx/sfx_1f_1a.tx"
-INCLUDE "music/sfx/sfx_1f_1b.tx"
-INCLUDE "music/sfx/sfx_1f_19.tx"
-INCLUDE "music/sfx/sfx_1f_1f.tx"
-INCLUDE "music/sfx/sfx_1f_20.tx"
-INCLUDE "music/sfx/sfx_1f_16.tx"
-INCLUDE "music/sfx/sfx_1f_21.tx"
-INCLUDE "music/sfx/sfx_1f_15.tx"
-INCLUDE "music/sfx/sfx_1f_1e.tx"
-INCLUDE "music/sfx/sfx_1f_1c.tx"
-INCLUDE "music/sfx/sfx_1f_18.tx"
-INCLUDE "music/sfx/sfx_1f_2d.tx"
-INCLUDE "music/sfx/sfx_1f_2a.tx"
-INCLUDE "music/sfx/sfx_1f_2f.tx"
-INCLUDE "music/sfx/sfx_1f_26.tx"
-INCLUDE "music/sfx/sfx_1f_27.tx"
-INCLUDE "music/sfx/sfx_1f_28.tx"
-INCLUDE "music/sfx/sfx_1f_32.tx"
-INCLUDE "music/sfx/sfx_1f_29.tx"
-INCLUDE "music/sfx/sfx_1f_2b.tx"
-INCLUDE "music/sfx/sfx_1f_30.tx"
-INCLUDE "music/sfx/sfx_1f_2e.tx"
-INCLUDE "music/sfx/sfx_1f_31.tx"
-INCLUDE "music/sfx/sfx_1f_2c.tx"
-INCLUDE "music/sfx/sfx_1f_33.tx"
-INCLUDE "music/sfx/sfx_1f_34.tx"
-INCLUDE "music/sfx/sfx_1f_35.tx"
-INCLUDE "music/sfx/sfx_1f_36.tx"
+INCLUDE "music/sfx/sfx_1f_3d.asm"
+INCLUDE "music/sfx/sfx_1f_43.asm"
+INCLUDE "music/sfx/sfx_1f_3e.asm"
+INCLUDE "music/sfx/sfx_1f_44.asm"
+INCLUDE "music/sfx/sfx_1f_45.asm"
+INCLUDE "music/sfx/sfx_1f_46.asm"
+INCLUDE "music/sfx/sfx_1f_47.asm"
+INCLUDE "music/sfx/sfx_1f_48.asm"
+INCLUDE "music/sfx/sfx_1f_49.asm"
+INCLUDE "music/sfx/sfx_1f_4a.asm"
+INCLUDE "music/sfx/sfx_1f_4b.asm"
+INCLUDE "music/sfx/sfx_1f_4c.asm"
+INCLUDE "music/sfx/sfx_1f_4d.asm"
+INCLUDE "music/sfx/sfx_1f_4e.asm"
+INCLUDE "music/sfx/sfx_1f_4f.asm"
+INCLUDE "music/sfx/sfx_1f_50.asm"
+INCLUDE "music/sfx/sfx_1f_51.asm"
+INCLUDE "music/sfx/sfx_1f_52.asm"
+INCLUDE "music/sfx/sfx_1f_53.asm"
+INCLUDE "music/sfx/sfx_1f_54.asm"
+INCLUDE "music/sfx/sfx_1f_55.asm"
+INCLUDE "music/sfx/sfx_1f_5e.asm"
+INCLUDE "music/sfx/sfx_1f_5f.asm"
+INCLUDE "music/sfx/sfx_1f_60.asm"
+INCLUDE "music/sfx/sfx_1f_61.asm"
+INCLUDE "music/sfx/sfx_1f_62.asm"
+INCLUDE "music/sfx/sfx_1f_63.asm"
+INCLUDE "music/sfx/sfx_1f_64.asm"
+INCLUDE "music/sfx/sfx_1f_65.asm"
+INCLUDE "music/sfx/sfx_1f_66.asm"
+INCLUDE "music/sfx/sfx_1f_67.asm"
+INCLUDE "music/sfx/sfx_1f_unused.asm"
+INCLUDE "music/sfx/sfx_1f_1d.asm"
+INCLUDE "music/sfx/sfx_1f_37.asm"
+INCLUDE "music/sfx/sfx_1f_38.asm"
+INCLUDE "music/sfx/sfx_1f_25.asm"
+INCLUDE "music/sfx/sfx_1f_39.asm"
+INCLUDE "music/sfx/sfx_1f_17.asm"
+INCLUDE "music/sfx/sfx_1f_23.asm"
+INCLUDE "music/sfx/sfx_1f_24.asm"
+INCLUDE "music/sfx/sfx_1f_14.asm"
+INCLUDE "music/sfx/sfx_1f_22.asm"
+INCLUDE "music/sfx/sfx_1f_1a.asm"
+INCLUDE "music/sfx/sfx_1f_1b.asm"
+INCLUDE "music/sfx/sfx_1f_19.asm"
+INCLUDE "music/sfx/sfx_1f_1f.asm"
+INCLUDE "music/sfx/sfx_1f_20.asm"
+INCLUDE "music/sfx/sfx_1f_16.asm"
+INCLUDE "music/sfx/sfx_1f_21.asm"
+INCLUDE "music/sfx/sfx_1f_15.asm"
+INCLUDE "music/sfx/sfx_1f_1e.asm"
+INCLUDE "music/sfx/sfx_1f_1c.asm"
+INCLUDE "music/sfx/sfx_1f_18.asm"
+INCLUDE "music/sfx/sfx_1f_2d.asm"
+INCLUDE "music/sfx/sfx_1f_2a.asm"
+INCLUDE "music/sfx/sfx_1f_2f.asm"
+INCLUDE "music/sfx/sfx_1f_26.asm"
+INCLUDE "music/sfx/sfx_1f_27.asm"
+INCLUDE "music/sfx/sfx_1f_28.asm"
+INCLUDE "music/sfx/sfx_1f_32.asm"
+INCLUDE "music/sfx/sfx_1f_29.asm"
+INCLUDE "music/sfx/sfx_1f_2b.asm"
+INCLUDE "music/sfx/sfx_1f_30.asm"
+INCLUDE "music/sfx/sfx_1f_2e.asm"
+INCLUDE "music/sfx/sfx_1f_31.asm"
+INCLUDE "music/sfx/sfx_1f_2c.asm"
+INCLUDE "music/sfx/sfx_1f_33.asm"
+INCLUDE "music/sfx/sfx_1f_34.asm"
+INCLUDE "music/sfx/sfx_1f_35.asm"
+INCLUDE "music/sfx/sfx_1f_36.asm"
Func_7d13b: ; 7d13b (1f:513b)
ld a, [$FF00+$dc]
@@ -113075,32 +118608,32 @@ Unknown_7dba3: ; 7dba3 (1f:5ba3)
dw $FB9B
dw $FBDA
-INCLUDE "music/bikeriding.tx"
-INCLUDE "music/dungeon1.tx"
-INCLUDE "music/gamecorner.tx"
-INCLUDE "music/titlescreen.tx"
-INCLUDE "music/sfx/sfx_1f_3a.tx"
-INCLUDE "music/dungeon2.tx"
-INCLUDE "music/dungeon3.tx"
-INCLUDE "music/cinnabarmansion.tx"
-INCLUDE "music/sfx/sfx_1f_41.tx"
-INCLUDE "music/sfx/sfx_1f_3b.tx"
-INCLUDE "music/sfx/sfx_1f_42.tx"
-INCLUDE "music/oakslab.tx"
-INCLUDE "music/pokemontower.tx"
-INCLUDE "music/silphco.tx"
-INCLUDE "music/meeteviltrainer.tx"
-INCLUDE "music/meetfemaletrainer.tx"
-INCLUDE "music/meetmaletrainer.tx"
-INCLUDE "music/introbattle.tx"
-INCLUDE "music/surfing.tx"
-INCLUDE "music/jigglypuffsong.tx"
-INCLUDE "music/halloffame.tx"
-INCLUDE "music/credits.tx"
+INCLUDE "music/bikeriding.asm"
+INCLUDE "music/dungeon1.asm"
+INCLUDE "music/gamecorner.asm"
+INCLUDE "music/titlescreen.asm"
+INCLUDE "music/sfx/sfx_1f_3a.asm"
+INCLUDE "music/dungeon2.asm"
+INCLUDE "music/dungeon3.asm"
+INCLUDE "music/cinnabarmansion.asm"
+INCLUDE "music/sfx/sfx_1f_41.asm"
+INCLUDE "music/sfx/sfx_1f_3b.asm"
+INCLUDE "music/sfx/sfx_1f_42.asm"
+INCLUDE "music/oakslab.asm"
+INCLUDE "music/pokemontower.asm"
+INCLUDE "music/silphco.asm"
+INCLUDE "music/meeteviltrainer.asm"
+INCLUDE "music/meetfemaletrainer.asm"
+INCLUDE "music/meetmaletrainer.asm"
+INCLUDE "music/introbattle.asm"
+INCLUDE "music/surfing.asm"
+INCLUDE "music/jigglypuffsong.asm"
+INCLUDE "music/halloffame.asm"
+INCLUDE "music/credits.asm"
SECTION "bank20",ROMX,BANK[$20]
-UnnamedText_80000: ; 80000 (20:4000)
+_UnnamedText_526ee: ; 80000 (20:4000)
db $0, "Bingo!@@"
_UnnamedText_526f3: ; 80009 (20:4009)
@@ -113217,7 +118750,7 @@ UnnamedText_802a5: ; 802a5 (20:42a5)
db "Congratulations!", $51
db "Here you go!", $58
-UnnamedText_802d9: ; 802d9 (20:42d9)
+_UnnamedText_590a5: ; 802d9 (20:42d9)
db $0, $52, " got the", $4f
db "@"
TX_RAM $cc5b
@@ -113475,7 +119008,7 @@ _UnnamedText_49f94: ; 80a37 (20:4a37)
db "on regenerating", $55
db "fossils.", $57
-UnnamedText_80a93: ; 80a93 (20:4a93)
+_UnnamedText_49f99: ; 80a93 (20:4a93)
db $0, "All right. Then", $4f
db "this is mine!@@"
@@ -115797,7 +121330,7 @@ UnnamedText_8821a: ; 8821a (22:421a)
_UnnamedText_3769d: ; 88226 (22:4226)
db $0, "Not this time!", $58
-UnnamedText_88236: ; 88236 (22:4236)
+_UnnamedText_37722: ; 88236 (22:4236)
db $0, "Yeah!@@"
_UnnamedText_703fa: ; 8823e (22:423e)
@@ -115814,25 +121347,25 @@ _UnnamedText_703ff: ; 88267 (22:4267)
db $0, "#DEX Rating", $6d, $57
_UnnamedText_62453: ; 88275 (22:4275)
- TX_RAM W_GYMCITYNAME
+ TX_RAM wGymCityName
db $0, $4f
db "#MON GYM", $55
db "LEADER: @"
UnnamedText_8828c: ; 8828c (22:428c)
- TX_RAM W_GYMLEADERNAME
+ TX_RAM wGymLeaderName
db $0, $51
db "WINNING TRAINERS:", $4f
db $53, $57
_UnnamedText_62458: ; 882a5 (22:42a5)
- TX_RAM W_GYMCITYNAME
+ TX_RAM wGymCityName
db $0, $4f
db "#MON GYM", $55
db "LEADER: @"
UnnamedText_882bc: ; 882bc (22:42bc)
- TX_RAM W_GYMLEADERNAME
+ TX_RAM wGymLeaderName
db $0, $51
db "WINNING TRAINERS:", $4f
db $53, $55
@@ -116100,7 +121633,7 @@ UnnamedText_88bfd: ; 88bfd (22:4bfd)
_UnnamedText_529e9: ; 88c6f (22:4c6f)
db $0, "Turn the page?", $57
-UnnamedText_88c7f: ; 88c7f (22:4c7f)
+_UnnamedText_529ee: ; 88c7f (22:4c7f)
db $0, "GIRL: Hey! Don't", $4f
db "look at my notes!@@"
@@ -116278,7 +121811,7 @@ _UnnamedText_5ddf7: ; 893a7 (22:53a7)
db $0, "Nope, there's", $4f
db "only trash here.", $57
-UnnamedText_893c6: ; 893c6 (22:53c6)
+_UnnamedText_5dec8: ; 893c6 (22:53c6)
db $0, "Hey! There's a", $4f
db "switch under the", $55
db "trash!", $55
@@ -116292,13 +121825,13 @@ _UnnamedText_5dedb: ; 89418 (22:5418)
db "under the trash!", $55
db "Turn it on!", $58
-UnnamedText_89451: ; 89451 (22:5451)
+_UnnamedText_5deef: ; 89451 (22:5451)
db $0, "The 2nd electric", $4f
db "lock opened!", $51
db "The motorized door", $4f
db "opened!@@"
-UnnamedText_8948c: ; 8948c (22:548c)
+_UnnamedText_5df02: ; 8948c (22:548c)
db $0, "Nope! There's", $4f
db "only trash here.", $55
db "Hey! The electric", $55
@@ -116357,7 +121890,7 @@ _UnnamedText_fc0d: ; 895fb (22:55fb)
db $0, "This is an", $4f
db "elevator.", $57
-UnnamedText_89611: ; 89611 (22:5611)
+_TownMapText: ; 89611 (22:5611)
db $0, "A TOWN MAP.@@"
_UnnamedText_fc45: ; 8961f (22:561f)
@@ -116575,22 +122108,22 @@ UnnamedText_89a2e: ; 89a2e (22:5a2e)
db $0, " is", $55
db "disabled!", $58
-UnnamedText_89a40: ; 89a40 (22:5a40)
+_UnnamedText_3dafb: ; 89a40 (22:5a40)
db $0, $5a, "@@"
-UnnamedText_89a44: ; 89a44 (22:5a44)
+_UnnamedText_3db2d: ; 89a44 (22:5a44)
db $0, $4f
db "used @@"
-UnnamedText_89a4d: ; 89a4d (22:5a4d)
+_UnnamedText_3db34: ; 89a4d (22:5a4d)
db $0, $4f
db "used @@"
-UnnamedText_89a56: ; 89a56 (22:5a56)
+_UnnamedText_3db43: ; 89a56 (22:5a56)
db $0, "instead,", $55
db "@@"
-UnnamedText_89a62: ; 89a62 (22:5a62)
+_UnnamedText_3db4c: ; 89a62 (22:5a62)
TX_RAM $cf4b
db $0, "@"
@@ -116680,16 +122213,16 @@ UnnamedText_89bb5: ; 89bb5 (22:5bb5)
TX_NUM $cd05, 1, 1
db $0, " times!", $58
-UnnamedText_89bc2: ; 89bc2 (22:5bc2)
+_UnnamedText_554b2: ; 89bc2 (22:5bc2)
TX_RAM $cd6d
db $0, " gained", $4f
db "@@"
-UnnamedText_89bd0: ; 89bd0 (22:5bd0)
+_UnnamedText_554cb: ; 89bd0 (22:5bd0)
db $0, "with EXP.ALL,", $55
db "@@"
-UnnamedText_89be1: ; 89be1 (22:5be1)
+_UnnamedText_554d4: ; 89be1 (22:5be1)
db $0, "a boosted", $55
db "@@"
_UnnamedText_554d8: ; 89bee (22:5bee)
@@ -116735,26 +122268,34 @@ _UnnamedText_58e54: ; 89c9e (22:5c9e)
db $0, "Darn! The GHOST", $4f
db "can't be ID'd!", $58
-UnknownText_89cbc: ; 89cbc (22:5cbc)
+_UnnamedText_58eae: ; 89cbc (22:5cbc)
db $0, "Go! @@"
+
+_UnnamedText_58eb5: ; 89cc3 (22:5cc3)
db $0, "Do it! @@"
+
+_UnnamedText_58ebc: ; 89ccd (22:5ccd)
db $0, "Get'm! @@"
-UnknownText_89cd6: ; 89cd6 (22:5cd6)
+_UnnamedText_58ec3: ; 89cd6 (22:5cd6)
db $0, "The enemy's weak!", $4f
db "Get'm! @@"
_UnnamedText_58ecc: ; 89cf0 (22:5cf0)
TX_RAM W_PLAYERMONNAME
db $0, "!", $57
+
+_UnnamedText_58ed7: ; 89cf6 (22:5cf6)
TX_RAM W_PLAYERMONNAME
db $0, " @@"
+
+_UnnamedText_58f25: ; 89cfd (22:5cfd)
db $0, "enough!@@"
-_UnnamedText_89d07: ; 89d07 (22:5d07)
+_UnnamedText_58f2c: ; 89d07 (22:5d07)
db $0, "OK!@@"
-UnknownText_89d0d: ; 89d0d (22:5d0d)
+_UnnamedText_58f33: ; 89d0d (22:5d0d)
db $0, "good!@@"
_UnnamedText_58f3e: ; 89d15 (22:5d15)
@@ -116821,7 +122362,7 @@ _PotionText: ; 89e31 (22:5e31)
TX_RAM $cd6d
db $0, $4f
db "recovered by @"
- TX_NUM W_HPBARHPDIFFERENCE, 2, 3
+ TX_NUM wHPBarHPDifference, 2, 3
db $0, "!", $57
_AntidoteText: ; 89e4b (22:5e4b)
@@ -116979,7 +122520,7 @@ _MonIsTakenOutText: ; 0x8a1b9
db $0, " is", $4f
db "taken out.", $55
db "Got @"
-UnknownText_8a1d1: ; 8a1d1 (22:61d1)
+UnnamedText_8a1d1: ; 8a1d1 (22:61d1)
TX_RAM $cf4b
db $0, ".", $58
@@ -117075,14 +122616,14 @@ _UnnamedText_5d4d: ; 8a40d (22:640d)
db $0, "The link was", $4f
db "canceled.", $57
-INCLUDE "text/oakspeech.tx"
+INCLUDE "text/oakspeech.asm"
_DoYouWantToNicknameText: ; 0x8a605
db $0, "Do you want to", $4f
db "give a nickname", $55
db "to @"
-UnknownText_8a629: ; 8a629 (22:6629)
+UnnamedText_8a629: ; 8a629 (22:6629)
TX_RAM $cd6d
db $0, "?", $57
@@ -117100,7 +122641,7 @@ _SSAnne8AfterBattleText2: ; 8a677 (22:6677)
db $0, " and", $4f
db "@"
-UnknownText_8a681: ; 8a681 (22:6681)
+UnnamedText_8a681: ; 8a681 (22:6681)
TX_RAM $cd6d
db $0, " will", $55
db "be traded.", $57
@@ -117251,7 +122792,7 @@ _UnnamedText_56419: ; 8abf0 (22:6bf0)
db $0, "Fine, I'll look", $4f
db "after @"
-UnknownText_8ac07: ; 8ac07 (22:6c07)
+UnnamedText_8ac07: ; 8ac07 (22:6c07)
TX_RAM $cd6d
db $0, $55
db "for a while.", $58
@@ -117263,14 +122804,14 @@ _UnnamedText_5641e: ; 8ac19 (22:6c19)
_UnnamedText_56423: ; 8ac32 (22:6c32)
db $0, "Your @"
-UnknownText_8ac39: ; 8ac39 (22:6c39)
+UnnamedText_8ac39: ; 8ac39 (22:6c39)
TX_RAM $cd6d
db $0, $4f
db "has grown a lot!", $51
db "By level, it's", $4f
db "grown by @"
-UnknownText_8ac67: ; 8ac67 (22:6c67)
+UnnamedText_8ac67: ; 8ac67 (22:6c67)
TX_NUM $cd3e,$1,$3
db $0, "!", $51
db "Aren't I great?", $58
@@ -117279,9 +122820,9 @@ _UnnamedText_56428: ; 8ac7d (22:6c7d)
db $0, "You owe me ¥@"
;XXX
-db $2, $3f, $cd, $c2
+ db $2, $3f, $cd, $c2
-UnknownText_8ac8f: ; 8ac8f (22:6c8f)
+UnnamedText_8ac8f: ; 8ac8f (22:6c8f)
db $0, $4f
db "for the return", $55
db "of this #MON.", $57
@@ -117290,7 +122831,7 @@ _UnnamedText_5642d: ; 8acae (22:6cae)
db $0, $52, " got", $4f
db "@"
-UnknownText_8acb6: ; 8acb6 (22:6cb6)
+UnnamedText_8acb6: ; 8acb6 (22:6cb6)
TX_RAM $da49
db $0, " back!", $57
@@ -117298,7 +122839,7 @@ _UnnamedText_56432: ; 8acc1 (22:6cc1)
db $0, "Back already?", $4f
db "Your @"
-UnknownText_8acd6: ; 8acd6 (22:6cd6)
+UnnamedText_8acd6: ; 8acd6 (22:6cd6)
TX_RAM $cd6d
db $0, $55
db "needs some more", $55
@@ -117390,92 +122931,92 @@ _RockTunnelPokecenterText3: ; 8c316 (23:4316)
db $0, "I sold a useless", $4f
db "NUGGET for ¥5000!", $57
-_UnnamedText_44588: ; 8c33a (23:433a)
+_RockTunnel1BattleText1: ; 8c33a (23:433a)
db $0, "This tunnel goes", $4f
db "a long way, kid!", $57
-_UnnamedText_4458d: ; 8c35d (23:435d)
+_RockTunnel1EndBattleText1: ; 8c35d (23:435d)
db $0, "Doh!", $4f
db "You win!", $58
-_UnnamedText_44592: ; 8c36c (23:436c)
+_RockTunnel1AfterBattleText1: ; 8c36c (23:436c)
db $0, "Watch for ONIX!", $4f
db "It can put the", $55
db "squeeze on you!", $57
-_UnnamedText_44597: ; 8c39c (23:439c)
+_RockTunnel1BattleText2: ; 8c39c (23:439c)
db $0, "Hmm. Maybe I'm", $4f
db "lost in here...", $57
-_UnnamedText_4459c: ; 8c3bb (23:43bb)
+_RockTunnel1EndBattleText2: ; 8c3bb (23:43bb)
db $0, "Ease up!", $4f
db "What am I doing?", $55
db "Which way is out?", $58
-_UnnamedText_445a1: ; 8c3e8 (23:43e8)
+_RockTunnel1AfterBattleText2: ; 8c3e8 (23:43e8)
db $0, "That sleeping", $4f
db "#MON on ROUTE", $55
db "12 forced me to", $55
db "take this detour.", $57
-_UnnamedText_445a6: ; 8c427 (23:4427)
+_RockTunnel1BattleText3: ; 8c427 (23:4427)
db $0, "Outsiders like", $4f
db "you need to show", $55
db "me some respect!", $57
-_UnnamedText_445ab: ; 8c459 (23:4459)
+_RockTunnel1EndBattleText3: ; 8c459 (23:4459)
db $0, "I give!", $58
-_UnnamedText_445b0: ; 8c462 (23:4462)
+_RockTunnel1AfterBattleText3: ; 8c462 (23:4462)
db $0, "You're talented", $4f
db "enough to hike!", $57
-_UnnamedText_445b5: ; 8c482 (23:4482)
+_RockTunnel1BattleText4: ; 8c482 (23:4482)
db $0, "#MON fight!", $4f
db "Ready, go!", $57
-_UnnamedText_445ba: ; 8c49a (23:449a)
+_RockTunnel1EndBattleText4: ; 8c49a (23:449a)
db $0, "Game", $4f
db "over!", $58
-_UnnamedText_445bf: ; 8c4a6 (23:44a6)
+_RockTunnel1AfterBattleText4: ; 8c4a6 (23:44a6)
db $0, "Oh well, I'll get", $4f
db "a ZUBAT as I go!", $57
-_UnnamedText_445c4: ; 8c4c9 (23:44c9)
+_RockTunnel1BattleText5: ; 8c4c9 (23:44c9)
db $0, "Eek! Don't try", $4f
db "anything funny in", $55
db "the dark!", $57
-_UnnamedText_445c9: ; 8c4f4 (23:44f4)
+_RockTunnel1EndBattleText5: ; 8c4f4 (23:44f4)
db $0, "It", $4f
db "was too dark!", $58
-_UnnamedText_445ce: ; 8c506 (23:4506)
+_RockTunnel1AfterBattleText5: ; 8c506 (23:4506)
db $0, "I saw a MACHOP", $4f
db "in this tunnel!", $57
-_UnnamedText_445d3: ; 8c526 (23:4526)
+_RockTunnel1BattleText6: ; 8c526 (23:4526)
db $0, "I came this far", $4f
db "for #MON!", $57
-_UnnamedText_445d8: ; 8c541 (23:4541)
+_RockTunnel1EndBattleText6: ; 8c541 (23:4541)
db $0, "I'm", $4f
db "out of #MON!", $58
-_UnnamedText_445dd: ; 8c552 (23:4552)
+_RockTunnel1AfterBattleText6: ; 8c552 (23:4552)
db $0, "You looked cute", $4f
db "and harmless!", $57
-_UnnamedText_445e2: ; 8c571 (23:4571)
+_RockTunnel1BattleText7: ; 8c571 (23:4571)
db $0, "You have #MON!", $4f
db "Let's start!", $57
-_UnnamedText_445e7: ; 8c58d (23:458d)
+_RockTunnel1EndBattleText7: ; 8c58d (23:458d)
db $0, "You", $4f
db "play hard!", $58
-_UnnamedText_445ec: ; 8c59d (23:459d)
+_RockTunnel1AfterBattleText7: ; 8c59d (23:459d)
db $0, "Whew! I'm all", $4f
db "sweaty now!", $57
@@ -117595,7 +123136,7 @@ _UnnamedText_564c5: ; 8ca00 (23:4a00)
db $52, " received", $4f
db "a @"
-UnknownText_8ca48: ; 8ca48 (23:4a48)
+UnnamedText_8ca48: ; 8ca48 (23:4a48)
TX_RAM $cf4b
db $0, "!@@"
@@ -117923,7 +123464,7 @@ _UnnamedText_1cae8: ; 8d643 (23:5643)
db $0, $52, " got", $4f
db "@"
-UnknownText_8d64b: ; 8d64b (23:564b)
+UnnamedText_8d64b: ; 8d64b (23:564b)
TX_RAM $cf4b
db $0, "!@@"
@@ -119960,36 +125501,36 @@ _Route22Text3: ; 92606 (24:6606)
db $0, "#MON LEAGUE", $4f
db "Front Gate", $57
-UnknownText_9261e: ; 9261e (24:661e)
+_VictoryRoadGuardText1: ; 9261e (24:661e)
db $0, "You can pass here", $4f
db "only if you have", $55
db "the @"
-UnknownText_92647: ; 92647 (24:6647)
+UnnamedText_92647: ; 92647 (24:6647)
TX_RAM $cd6d
db $0, "!", $51
db "You don't have the", $4f
db "@"
-UnknownText_92660: ; 92660 (24:6660)
+UnnamedText_92660: ; 92660 (24:6660)
TX_RAM $cd6d
db $0, " yet!", $51
db "You have to have", $4f
db "it to get to", $55
db "#MON LEAGUE!@@"
-UnknownText_92696: ; 92696 (24:6696)
+_VictoryRoadGuardText2: ; 92696 (24:6696)
db $0, "You can pass here", $4f
db "only if you have", $55
db "the @"
-UnknownText_926bf: ; 926bf (24:66bf)
+UnnamedText_926bf: ; 926bf (24:66bf)
TX_RAM $cd6d
db $0, "!", $51
db "Oh! That is the", $4f
db "@"
-UnknownText_926d6: ; 926d6 (24:66d6)
+UnnamedText_926d6: ; 926d6 (24:66d6)
TX_RAM $cd6d
db $0, "!@@"
@@ -120016,7 +125557,7 @@ _UnnamedText_5151a: ; 92779 (24:6779)
db $0, $52, " received", $4f
db "a @"
-UnknownText_92788: ; 92788 (24:6788)
+UnnamedText_92788: ; 92788 (24:6788)
TX_RAM $cf4b
db $0, "!@@"
@@ -120295,14 +125836,14 @@ _UnnamedText_3af43: ; 946cf (25:46cf)
db $0, $4f
db "into @"
-UnknownText_946d7: ; 946d7 (25:46d7)
+UnnamedText_946d7: ; 946d7 (25:46d7)
TX_RAM $cd6d
db $0, "!", $57
_UnnamedText_3af48: ; 946dd (25:46dd)
db $0, "Huh? @"
-UnknownText_946e4: ; 946e4 (25:46e4)
+UnnamedText_946e4: ; 946e4 (25:46e4)
TX_RAM $cf4b
db $0, $4f
db "stopped evolving!", $58
@@ -120310,7 +125851,7 @@ UnknownText_946e4: ; 946e4 (25:46e4)
_UnnamedText_3af4d: ; 946fb (25:46fb)
db $0, "What? @"
-UnknownText_94703: ; 94703 (25:4703)
+UnnamedText_94703: ; 94703 (25:4703)
TX_RAM $cf4b
db $0, $4f
db "is evolving!", $57
@@ -120343,29 +125884,29 @@ _UnnamedText_3f423: ; 94782 (25:4782)
db $0, "Fire defrosted", $4f
db $59, "!", $58
-UnknownText_94795: ; 94795 (25:4795)
+_UnnamedText_3f528: ; 94795 (25:4795)
db $0, $5a, "'s", $4f
db "@"
-UnknownText_9479a: ; 9479a (25:479a)
+UnnamedText_9479a: ; 9479a (25:479a)
TX_RAM $cf4b
db $0, "@@"
-UnknownText_947a0: ; 947a0 (25:47a0)
+_UnnamedText_3f542: ; 947a0 (25:47a0)
db $0, $4c, "greatly@@"
_UnnamedText_3f547: ; 947ab (25:47ab)
db $0, " rose!", $58
-UnknownText_947b3: ; 947b3 (25:47b3)
+_UnnamedText_3f661: ; 947b3 (25:47b3)
db $0, $59, "'s", $4f
db "@"
-UnknownText_947b8: ; 947b8 (25:47b8)
+UnnamedText_947b8: ; 947b8 (25:47b8)
TX_RAM $cf4b
db $0, "@@"
-UnknownText_947be: ; 947be (25:47be)
+_UnnamedText_3f67e: ; 947be (25:47be)
db $0, $4c, "greatly@@"
_UnnamedText_3f683: ; 947c9 (25:47c9)
@@ -120383,7 +125924,7 @@ _UnnamedText_3f80c: ; 947f9 (25:47f9)
db $0, $59, $4f
db "was blown away!", $58
-UnnamedText_9480c: ; 9480c (25:480c)
+_UnnamedText_3f8c8: ; 9480c (25:480c)
db $0, $5a, "@@"
_UnnamedText_3f8f9: ; 94810 (25:4810)
@@ -120543,8 +126084,8 @@ _BattleCenterMText1: ; 94b01 (25:4b01)
_TradeCenterMText1: ; 94b04 (25:4b04)
db $0, "!", $57
-INCLUDE "text/mapRedsHouse1F.tx"
-INCLUDE "text/mapBluesHouse.tx"
+INCLUDE "text/mapRedsHouse1F.asm"
+INCLUDE "text/mapBluesHouse.asm"
_OaksLabGaryText1: ; 94d5b (25:4d5b)
db $0, $53, ": Yo", $4f
@@ -122623,7 +128164,7 @@ _VermilionHouse1Text3: ; 9c49c (27:449c)
db "VERMILION appears", $4f
db "to be safe.", $57
-_UnnamedText_1dcc1: ; 9c50e (27:450e)
+_VermilionDockText1: ; 9c50e (27:450e)
db $0, $57
_UnnamedText_560b1: ; 9c510 (27:4510)
@@ -122814,20 +128355,20 @@ _UnnamedText_484ee: ; 9cbb5 (27:4bb5)
db $0, "Give her which", $4f
db "drink?", $57
-UnnamedText_9cbcc: ; 9cbcc (27:4bcc)
+_UnnamedText_484f3: ; 9cbcc (27:4bcc)
db $0, "Yay!", $51
db "FRESH WATER!", $51
db "Thank you!", $51
db "You can have this", $4f
db "from me!@@"
-UnnamedText_9cc06: ; 9cc06 (27:4c06)
+_UnnamedText_484f9: ; 9cc06 (27:4c06)
db $0, $52, " received", $4f
db "@"
TX_RAM $cf4b
db $0, "!@@"
-UnnamedText_9cc1a: ; 9cc1a (27:4c1a)
+_UnnamedText_484fe: ; 9cc1a (27:4c1a)
db $0, $51
db "@"
TX_RAM $cf4b
@@ -122836,20 +128377,20 @@ UnnamedText_9cc1a: ; 9cc1a (27:4c1a)
db "It can freeze the", $4f
db "target sometimes!@@"
-UnnamedText_9cc5a: ; 9cc5a (27:4c5a)
+_UnnamedText_48504: ; 9cc5a (27:4c5a)
db $0, "Yay!", $51
db "SODA POP!", $51
db "Thank you!", $51
db "You can have this", $4f
db "from me!@@"
-UnnamedText_9cc91: ; 9cc91 (27:4c91)
+_UnnamedText_4850a: ; 9cc91 (27:4c91)
db $0, $52, " received", $4f
db "@"
TX_RAM $cf4b
db $0, "!@@"
-UnnamedText_9cca5: ; 9cca5 (27:4ca5)
+_UnnamedText_4850f: ; 9cca5 (27:4ca5)
db $0, $51
db "@"
TX_RAM $cf4b
@@ -122858,27 +128399,27 @@ UnnamedText_9cca5: ; 9cca5 (27:4ca5)
db "It can spook the", $4f
db "target sometimes!@@"
-UnnamedText_9cce6: ; 9cce6 (27:4ce6)
+_UnnamedText_48515: ; 9cce6 (27:4ce6)
db $0, "Yay!", $51
db "LEMONADE!", $51
db "Thank you!", $51
db "You can have this", $4f
db "from me!@@"
-ReceivedTM49Text: ; 9cd1d (27:4d1d)
+_ReceivedTM49Text: ; 9cd1d (27:4d1d)
db $0, $52, " received", $4f
db "TM49!@@"
-UnnamedText_9cd30: ; 9cd30 (27:4d30)
+_UnnamedText_48520: ; 9cd30 (27:4d30)
db $0, $51
db "TM49 contains", $4f
db "TRI ATTACK!@@"
-UnnamedText_9cd4d: ; 9cd4d (27:4d4d)
+_UnnamedText_48526: ; 9cd4d (27:4d4d)
db $0, "You don't have", $4f
db "space for this!@@"
-UnnamedText_9cd6d: ; 9cd6d (27:4d6d)
+_UnnamedText_4852c: ; 9cd6d (27:4d6d)
db $0, "No thank you!", $4f
db "I'm not thirsty", $55
db "after all!@@"
@@ -122896,7 +128437,7 @@ _UnnamedText_48598: ; 9cdee (27:4dee)
db "I want something", $55
db "to drink!", $57
-_UnnamedText_4859d: ; 9ce16 (27:4e16)
+_CeladonMartRoofText4: ; 9ce16 (27:4e16)
db $0, "I'm thirsty!", $4f
db "I want something", $55
db "to drink!", $51
@@ -124948,7 +130489,7 @@ _CableClubNPCText6: ; a4014 (29:4014)
db "preparations.", $55
db "Please wait.", $57
-UnnamedText_a403c: ; a403c (29:403c)
+_UsedStrengthText: ; a403c (29:403c)
TX_RAM $cd6d
db $0, " used", $4f
db "STRENGTH.@@"
@@ -125000,7 +130541,7 @@ _CannotGetOffHereText: ; a4168 (29:4168)
db $0, "You can't get off", $4f
db "here.", $58
-UnnamedText_a4180: ; a4180 (29:4180)
+_UnnamedText_4fe39: ; a4180 (29:4180)
db $0, $52, " got", $4f
db "@"
TX_RAM $cd6d
@@ -125026,7 +130567,7 @@ _UnnamedText_4fe44: ; a41d6 (29:41d6)
db "Change the BOX at", $4f
db "a #MON CENTER!", $57
-INCLUDE "text/mapPalletTown.tx"
+INCLUDE "text/mapPalletTown.asm"
_ViridianCityText1: ; a43cc (29:43cc)
db $0, "Those # BALLs", $4f
@@ -125205,7 +130746,7 @@ _UnnamedText_193fb: ; a4aa2 (29:4aa2)
db "You absolutely", $55
db "have to go!", $57
-_UnnamedText_19400: ; a4ac6 (29:4ac6)
+_PewterCityText13: ; a4ac6 (29:4ac6)
db $0, "It's right here!", $4f
db "You have to pay", $55
db "to get in, but", $55
@@ -126328,13 +131869,15 @@ _UnnamedText_71dda: ; a82c9 (2a:42c9)
_UnnamedText_ef7d ; a82f8 (2a:42f8)
db $0, "There isn't", $4f
db "anything to CUT!", $58
+
+_UsedCutText: ; a8315 (2a:4315)
TX_RAM $cd6d
db $0, " hacked", $4f
db "away with CUT!", $58
SECTION "bank2B",ROMX,BANK[$2B]
-INCLUDE "text/pokedex.tx"
+INCLUDE "text/pokedex.asm"
SECTION "bank2C",ROMX,BANK[$2C]
diff --git a/maps/unusedblocks58d7d.blk b/maps/unusedblocks58d7d.blk
new file mode 100755
index 00000000..9641efe4
--- /dev/null
+++ b/maps/unusedblocks58d7d.blk
@@ -0,0 +1,2 @@
+  !"#
+  \ No newline at end of file
diff --git a/maps/unusedblocks601f8.blk b/maps/unusedblocks601f8.blk
new file mode 100755
index 00000000..eb9bb094
--- /dev/null
+++ b/maps/unusedblocks601f8.blk
@@ -0,0 +1 @@
+   ,+>++++> \ No newline at end of file
diff --git a/maps/unusedblocks60cef.blk b/maps/unusedblocks60cef.blk
new file mode 100755
index 00000000..21808bb7
--- /dev/null
+++ b/maps/unusedblocks60cef.blk
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/pokeblue.asm b/pokeblue.asm
index 33ae260c..dd621ca4 100644
--- a/pokeblue.asm
+++ b/pokeblue.asm
@@ -1,4 +1,5 @@
_RED EQU 0
_BLUE EQU 1
+INCLUDE "globals.asm"
INCLUDE "wram.asm"
INCLUDE "main.asm"
diff --git a/pokered.asm b/pokered.asm
index 8a814544..bcc826c8 100644
--- a/pokered.asm
+++ b/pokered.asm
@@ -1,4 +1,5 @@
_RED EQU 1
_BLUE EQU 0
+INCLUDE "globals.asm"
INCLUDE "wram.asm"
INCLUDE "main.asm"
diff --git a/textpre.py b/preprocessor.py
index 294e9ccb..cb9353af 100644
--- a/textpre.py
+++ b/preprocessor.py
@@ -1,10 +1,17 @@
# -*- coding: utf-8 -*-
import extras.pokemontools.preprocessor as preprocessor
+
import extras.pokemontools.configuration as configuration
+config = configuration.Config()
import sys
+from extras.pokemontools.crystal import (
+ callchannel,
+ loopchannel,
+)
+
chars = {
"ガ": 0x05,
"ギ": 0x06,
@@ -260,14 +267,21 @@ chars = {
"9": 0xFF,
}
-preprocessor.chars = chars
+def load_pokered_macros():
+ macros = [callchannel, loopchannel]
+ return macros
-from extras.pokemontools.crystal import (
- callchannel,
- loopchannel,
-)
+def setup_processor():
+ preprocessor.chars = chars
+ macros = load_pokered_macros()
+ processor = preprocessor.Preprocessor(config, macros)
+ return processor
-config = configuration.Config()
-macros = [callchannel, loopchannel]
-processor = preprocessor.Preprocessor(config, macros)
-processor.preprocess()
+def main():
+ processor = setup_processor()
+ output = processor.preprocess()
+ processor.update_globals()
+ return output
+
+if __name__ == '__main__':
+ main()
diff --git a/prequeue.py b/prequeue.py
new file mode 100644
index 00000000..d9b37e03
--- /dev/null
+++ b/prequeue.py
@@ -0,0 +1,40 @@
+# coding: utf-8
+"""
+Starting a new python process to preprocess each source file creates too much
+overhead. Instead, a list of files to preprocess is fed into a script run from
+a single process.
+"""
+
+import os
+import sys
+
+import preprocessor
+
+def preprocess_queue(filenames=sys.argv[1:]):
+
+ stdin = sys.stdin
+ stdout = sys.stdout
+
+ processor = preprocessor.setup_processor()
+
+ for source in filenames:
+ dest = os.path.splitext(source)[0] + '.tx'
+ sys.stdin = open(source, 'r')
+ sys.stdout = open(dest, 'w')
+ processor.preprocess()
+
+ processor.update_globals()
+
+ sys.stdin = stdin
+ sys.stdout = stdout
+
+def main():
+ filenames = list(set(sys.argv[1:]))
+ if filenames:
+ num_files = len(filenames)
+ s = '' if num_files == 1 else 's'
+ sys.stdout.write('Preprocessing {0} file{1}...\n'.format(num_files, s))
+ preprocess_queue(filenames)
+
+if __name__ == '__main__':
+ main()
diff --git a/wram.asm b/wram.asm
index ead23b85..bdb15701 100644
--- a/wram.asm
+++ b/wram.asm
@@ -1,4 +1,1430 @@
-SECTION "pokedex",WRAMX[$d2f7],BANK[1]
-WPokedexOwned:
+
+
+SECTION "WRAM Bank 0", WRAM0
+
+
+SECTION "Sprite State Data", WRAM0[$c100]
+
+wSpriteStateData1: ; c100
+; data for all sprites on the current map
+; holds info for 16 sprites with $10 bytes each
+; player sprite is always sprite 0
+; C1x0: picture ID (fixed, loaded at map init)
+; C1x1: movement status (0: uninitialized, 1: ready, 2: delayed, 3: moving)
+; C1x2: sprite image index (changed on update, $ff if off screen, includes facing direction, progress in walking animation and a sprite-specific offset)
+; C1x3: Y screen position delta (-1,0 or 1; added to c1x4 on each walking animation update)
+; C1x4: Y screen position (in pixels, always 4 pixels above grid which makes sprites appear to be in the center of a tile)
+; C1x5: X screen position delta (-1,0 or 1; added to c1x6 on each walking animation update)
+; C1x6: X screen position (in pixels, snaps to grid if not currently walking)
+; C1x7: intra-animation-frame counter (counting upwards to 4 until c1x8 is incremented)
+; C1x8: animation frame counter (increased every 4 updates, hold four states (totalling to 16 walking frames)
+; C1x9: facing direction (0: down, 4: up, 8: left, $c: right)
+; C1xA
+; C1xB
+; C1xC
+; C1xD
+; C1xE
+; C1xF
+ ds $10 * $10
+
+wSpriteStateData2: ; c200
+; more data for all sprites on the current map
+; holds info for 16 sprites with $10 bytes each
+; player sprite is always sprite 0
+; C2x0: walk animation counter (counting from $10 backwards when moving)
+; C2x1:
+; C2x2: Y displacement (initialized at 8, supposed to keep moving sprites from moving too far, but bugged)
+; C2x3: X displacement (initialized at 8, supposed to keep moving sprites from moving too far, but bugged)
+; C2x4: Y position (in 2x2 tile grid steps, topmost 2x2 tile has value 4)
+; C2x5: X position (in 2x2 tile grid steps, leftmost 2x2 tile has value 4)
+; C2x6: movement byte 1 (determines whether a sprite can move, $ff:not moving, $fe:random movements, others unknown)
+; C2x7: (?) (set to $80 when in grass, else $0; may be used to draw grass above the sprite)
+; C2x8: delay until next movement (counted downwards, status (c1x1) is set to ready if reached 0)
+; C2x9
+; C2xA
+; C2xB
+; C2xC
+; C2xD
+; C2xE: sprite image base offset (in video ram, player always has value 1, used to compute c1x2)
+; C2xF
+ ds $10 * $10
+
+
+wOAMBuffer: ; c300
+; buffer for OAM data. Copied to OAM by DMA
+ ds 4 * 40
+
+
+SECTION "Tile Map", WRAM0[$c3a0]
+
+wTileMap: ; c3a0
+; buffer for tiles that are visible on screen (20 columns by 18 rows)
+ ds 20 * 18
+
+wTileMapBackup: ; c508
+; buffer for temporarily saving and restoring current screen's tiles
+; (e.g. if menus are drawn on top)
+ ds 20 * 18
+
+; c670
+
+
+SECTION "Screen Edge Tiles", WRAM0[$cbfc]
+
+wScreenEdgeTiles: ; cbfc
+; the tiles of the row or column to be redrawn by RedrawExposedScreenEdge
+ ds 20 * 2
+
+; coordinates of the position of the cursor for the top menu item (id 0)
+wTopMenuItemY: ; cc24
+ ds 1
+wTopMenuItemX: ; cc25
+ ds 1
+
+wCurrentMenuItem: ; cc26
+; the id of the currently selected menu item
+; the top item has id 0, the one below that has id 1, etc.
+; note that the "top item" means the top item currently visible on the screen
+; add this value to [wListScrollOffset] to get the item's position within the list
+ ds 1
+
+wTileBehindCursor: ; cc27
+; the tile that was behind the menu cursor's current location
+ ds 1
+
+wMaxMenuItem: ; cc28
+; id of the bottom menu item
+ ds 1
+
+wMenuWatchedKeys: ; cc29
+; bit mask of keys that the menu will respond to
+ ds 1
+
+wLastMenuItem: ; cc2a
+; id of previously selected menu item
+ ds 1
+
+; cc2b
+
+ ds 3
+
+wPlayerMoveListIndex: ; cc2e
+ ds 1
+
+wPlayerMonNumber: ; cc2f
+ ds 1
+
+wMenuCursorLocation: ; cc30
+; the address of the menu cursor's current location within wTileMap
+ ds 2
+
+ ds 2
+
+wMenuJoypadPollCount: ; cc34
+; how many times should HandleMenuInput poll the joypad state before it returns?
+ ds 1
+
+ ds 1
+
+wListScrollOffset: ; cc36
+; offset of the current top menu item from the beginning of the list
+; keeps track of what section of the list is on screen
+ ds 1
+
+ ds 19
+
+wMenuWrappingEnabled: ; cc4a
+; set to 1 if you can go from the bottom to the top or top to bottom of a menu
+; set to 0 if you can't go past the top or bottom of the menu
+ ds 1
+
+ ds 10
+
+wTrainerHeaderFlagBit: ; cc55
+ ds 1
+
+; cc56
+
+
+SECTION "RLE", WRAM0[$ccd2]
+wRLEByteCount: ; ccd2
+ ds 1
+
+ ds 4
+
+; current HP of player and enemy substitutes
+wPlayerSubstituteHP: ; ccd7
+ ds 1
+wEnemySubstituteHP: ; ccd8
+ ds 1
+
+ ds 2
+
+wMoveMenuType: ; ccdb
+; 0=regular, 1=mimic, 2=above message box (relearn, heal pp..)
+ ds 1
+
+wPlayerSelectedMove: ; ccdc
+ ds 1
+wEnemySelectedMove: ; ccdd
+ ds 1
+
+ ds 1
+
+wAICount: ; ccdf
+; number of times remaining that AI action can occur
+ ds 1
+
+ ds 2
+
+wEnemyMoveListIndex: ; cce2
+ ds 1
+
+; cce3
+
+
+SECTION "Stat Modifiers", WRAM0[$cd1a]
+
+; stat modifiers for the player's current pokemon
+; value can range from 1 - 13 ($1 to $D)
+; 7 is normal
+
+wPlayerMonStatMods:
+wPlayerMonAttackMod: ; cd1a
+ ds 1
+wPlayerMonDefenseMod: ; cd1b
+ ds 1
+wPlayerMonSpeedMod: ; cd1c
+ ds 1
+wPlayerMonSpecialMod: ; cd1d
+ ds 1
+wPlayerMonAccuracyMod: ; cd1e
+ ds 1
+wPlayerMonEvasionMod: ; cd1f
+ ds 1
+
+ ds 13
+
+wEngagedTrainerClass: ; cd2d
+ ds 1
+wEngagedTrainerSet: ; cd2e
+; ds 1
+
+; stat modifiers for the enemy's current pokemon
+; value can range from 1 - 13 ($1 to $D)
+; 7 is normal
+
+wEnemyMonStatMods:
+wEnemyMonAttackMod: ; cd2e
+ ds 1
+wEnemyMonDefenseMod: ; cd2f
+ ds 1
+wEnemyMonSpeedMod: ; cd30
+ ds 1
+wEnemyMonSpecialMod: ; cd31
+ ds 1
+wEnemyMonAccuracyMod: ; cd32
+ ds 1
+wEnemyMonEvasionMod: ; cd33
+ ds 1
+
+ ds 9
+
+wWhichTrade: ; cd3d
+; which entry from TradeMons to select
+; ds 1
+
+wTrainerSpriteOffset: ; cd3d
+ ds 1
+wTrainerEngageDistance: ; cd3e
+ ds 1
+wTrainerFacingDirection: ; cd3f
+ ds 1
+wTrainerScreenY: ; cd40
+ ds 1
+wTrainerScreenX: ; cd41
+ ds 1
+
+ ds 30
+
+wFlags_0xcd60: ; cd60
+; bit 0: is player engaged by trainer (to avoid being engaged by multiple trainers simultaniously)
+ ds 1
+
+ ds 10
+
+wJoypadForbiddenButtonsMask: ; cd6b
+; bit 1 means button presses will be ignored for that button
+ ds 1
+
+ ds 21
+
+wTileMapBackup2: ; cd81
+; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top)
+ ds 20 * 18
+
+wBuffer: ; cee9
+; used for temporary things
+
+wHPBarMaxHP: ; cee9
+ ds 2
+wHPBarOldHP: ; ceeb
+ ds 2
+wHPBarNewHP: ; ceed
+ ds 2
+wHPBarDelta: ; ceef
+ ds 1
+
+ ds 13
+
+wHPBarHPDifference: ; cefd
+ ds 1
+
+ ds 9
+
+wAnimSoundID: ; cf07
+; sound ID during battle animations
+ ds 1
+
+ ds 12
+
+wCurSpriteMovement2: ; cf14
+; movement byte 2 of current sprite
+ ds 1
+
+ ds 74
+
+wGymCityName: ; cf5f
+wStringBuffer1: ; cf5f
+ ds 16 + 1
+wGymLeaderName: ; cf70
+wStringBuffer2: ; cf70
+ ds 16 + 1
+wStringBuffer3: ; cf81
+ ds 16 + 1
+
+wWhichPokemon: ; cf92
+; which pokemon you selected
+ ds 1
+
+ ds 1
+
+wListMenuID: ; cf94
+; ID used by DisplayListMenuID
+ ds 1
+
+ ds 48
+
+wWalkCounter: ; cfc5
+; walk animation counter
+ ds 1
+
+ ds 1
+
+wMusicHeaderPointer: ; cfc7
+; (the current music channel address - $4000) / 3
+ ds 1
+
+ ds 4
+
+W_ENEMYMOVENUM: ; cfcc
+ ds 1
+W_ENEMYMOVEEFFECT: ; cfcd
+ ds 1
+W_ENEMYMOVEPOWER: ; cfce
+ ds 1
+W_ENEMYMOVETYPE: ; cfcf
+ ds 1
+W_ENEMYMOVEACCURACY: ; cfd0
+ ds 1
+W_ENEMYMOVEMAXPP: ; cfd1
+ ds 1
+W_PLAYERMOVENUM: ; cfd2
+ ds 1
+W_PLAYERMOVEEFFECT: ; cfd3
+ ds 1
+W_PLAYERMOVEPOWER: ; cfd4
+ ds 1
+W_PLAYERMOVETYPE: ; cfd5
+ ds 1
+W_PLAYERMOVEACCURACY: ; cfd6
+ ds 1
+W_PLAYERMOVEMAXPP: ; cfd7
+ ds 1
+
+W_ENEMYMONID: ; cfd8
+ ds 1
+
+ ds 1
+
+W_ENEMYMONNAME: ; cfda
+ ds 11
+
+ ds 1
+
+W_ENEMYMONCURHP: ; cfe6
+; active opponent's hp (16 bits)
+ ds 2
+W_ENEMYMONNUMBER: ; cfe8
+; active opponent's position in team (0 to 5)
+ ds 1
+W_ENEMYMONSTATUS: ; cfe9
+; active opponent's status condition
+ ds 1
+W_ENEMYMONTYPES: ; cfea
+W_ENEMYMONTYPE1: ; cfea
+ ds 1
+W_ENEMYMONTYPE2: ; cfeb
+ ds 1
+ ds 1
+W_ENEMYMONMOVES: ; cfed
+ ds 4
+W_ENEMYMONATKDEFIV: ; cff1
+ ds 1
+W_ENEMYMONSPDSPCIV: ; cff2
+ ds 1
+W_ENEMYMONLEVEL: ; cff3
+ ds 1
+W_ENEMYMONMAXHP: ; cff4
+ ds 2
+W_ENEMYMONATTACK: ; cff6
+ ds 2
+W_ENEMYMONDEFENSE: ; cff8
+ ds 2
+W_ENEMYMONSPEED: ; cffa
+ ds 2
+W_ENEMYMONSPECIAL: ; cffc
+ ds 2
+
+W_ENEMYMONPP: ; cffe
+; four moves (extends past $cfff)
+ ds 2
+
+
+SECTION "WRAM Bank 1", WRAMX, BANK[1]
+
+ ds 2 ; W_ENEMYMONPP
+
+ ds 7
+
+W_PLAYERMONNAME: ; d009
+ ds 11
+
+W_PLAYERMONID: ; d014
+ ds 1
+
+W_PLAYERMONCURHP: ; d015
+ ds 2
+ ds 1
+W_PLAYERMONSTATUS: ; d018
+; the status of the player’s current monster
+ ds 1
+W_PLAYERMONTYPES: ; d019
+W_PLAYERMONTYPE1: ; d019
+ ds 1
+W_PLAYERMONTYPE2: ; d01a
+ ds 1
+ ds 1
+W_PLAYERMONMOVES: ; d01c
+ ds 4
+W_PLAYERMONIVS: ; d020
+; 4x 4 bit: atk, def, spd, spc
+ ds 2
+W_PLAYERMONLEVEL: ; d022
+ ds 1
+W_PLAYERMONMAXHP: ; d023
+ ds 2
+W_PLAYERMONATK: ; d025
+ ds 2
+W_PLAYERMONDEF: ; d027
+ ds 2
+W_PLAYERMONSPEED: ; d029
+ ds 2
+W_PLAYERMONSPECIAL: ; d02b
+ ds 2
+W_PLAYERMONPP: ; d02d
+ ds 4
+
+
+
+W_TRAINERCLASS: ; d031
+ ds 1
+
+ ds 37
+
+W_ISINBATTLE: ; d057
+; no battle, this is 0
+; wild battle, this is 1
+; trainer battle, this is 2
+ ds 1
+
+W_PLAYERMONSALIVEFLAGS: ; d058
+; 6 bit array, 1 if player mon is alive
+ ds 1
+
+W_CUROPPONENT: ; d059
+; in a wild battle, this is the species of pokemon
+; in a trainer battle, this is the trainer class + $C8
+ ds 1
+
+W_BATTLETYPE: ; d05a
+; in normal battle, this is 0
+; in old man battle, this is 1
+; in safari battle, this is 2
+ ds 1
+
+ ds 1
+
+W_LONEATTACKNO: ; d05c
+; which entry in LoneAttacks to use
+W_GYMLEADERNO: ; d05c
+; it's actually the same thing as ^
+ ds 1
+W_TRAINERNO: ; d05d
+; which instance of [youngster, lass, etc] is this?
+ ds 1
+
+ ds 1
+
+W_MOVEMISSED: ; d05f
+ ds 1
+
+ ds 2
+
+W_PLAYERBATTSTATUS1: ; d062
+; bit 0 - bide
+; bit 1 - thrash / petal dance
+; bit 2 - attacking multiple times (e.g. double kick)
+; bit 3 - flinch
+; bit 4 - charging up for attack
+; bit 5 - using multi-turn move (e.g. wrap)
+; bit 6 - invulnerable to normal attack (using fly/dig)
+; bit 7 - confusion
+ ds 1
+
+W_PLAYERBATTSTATUS2: ; d063
+; bit 0 - X Accuracy effect
+; bit 1 - protected by "mist"
+; bit 2 - focus energy effect
+; bit 4 - has a substitute
+; bit 5 - need to recharge
+; bit 6 - rage
+; bit 7 - leech seeded
+ ds 1
+
+W_PLAYERBATTSTATUS3: ; d064
+; bit 0 - toxic
+; bit 1 - light screen
+; bit 2 - reflect
+; bit 3 - tranformed
+ ds 1
+
+ ds 2
+
+W_ENEMYBATTSTATUS1: ; d067
+ ds 1
+W_ENEMYBATTSTATUS2: ; d068
+ ds 1
+W_ENEMYBATTSTATUS3: ; d069
+ ds 1
+
+ ds 2
+
+W_PLAYERTOXICCOUNTER: ; d06c
+ ds 1
+W_PLAYERDISABLEDMOVE: ; d06d
+ ds 1
+
+ ds 3
+
+W_ENEMYTOXICCOUNTER: ; d071
+ ds 1
+W_ENEMYDISABLEDMOVE: ; d072
+ ds 1
+
+ ds 1
+
+W_NUMHITS: ; d074
+; number of hits in attacks like Doubleslap, etc.
+ ds 1
+
+ ds 7
+
+W_ANIMATIONID: ; d07c
+; ID number of the current battle animation
+ ds 1
+
+ ds 4
+
+; base coordinates of frame block
+W_BASECOORDX: ; d081
+ ds 1
+W_BASECOORDY: ; d082
+ ds 1
+
+ ds 1
+
+W_FBTILECOUNTER: ; d084
+; counts how many tiles of the current frame block have been drawn
+ ds 1
+
+ ds 1
+
+W_SUBANIMFRAMEDELAY: ; d086
+; duration of each frame of the current subanimation in terms of screen refreshes
+ ds 1
+W_SUBANIMCOUNTER: ; d087
+; counts the number of subentries left in the current subanimation
+ ds 1
+
+ ds 1
+
+W_NUMFBTILES: ; d089
+; number of tiles in current battle animation frame block
+ ds 1
+
+ ds 1
+
+W_SUBANIMTRANSFORM: ; d08b
+; controls what transformations are applied to the subanimation
+; 01: flip horizontally and vertically
+; 02: flip horizontally and translate downwards 40 pixels
+; 03: translate base coordinates of frame blocks, but don't change their internal coordinates or flip their tiles
+; 04: reverse the subanimation
+ ds 1
+
+W_PBSTOREDREGISTERH: ; d08c
+ ds 1
+W_PBSTOREDREGISTERL: ; d08d
+ ds 1
+W_PBSTOREDREGISTERD: ; d08e
+ ds 1
+W_PBSTOREDREGISTERE: ; d08f
+ ds 1
+
+ ds 2
+
+W_PBSTOREDROMBANK: ; d092
+ ds 1
+
+ ds 1
+
+W_SUBANIMADDRPTR: ; d094
+; the address _of the address_ of the current subanimation entry
+ ds 2
+W_SUBANIMSUBENTRYADDR: ; d096
+; the address of the current subentry of the current subanimation
+ ds 2
+
+ ds 4
+
+W_FBDESTADDR: ; d09c
+; current destination address in OAM for frame blocks (big endian)
+ ds 2
+
+W_FBMODE: ; d09e
+; controls how the frame blocks are put together to form frames
+; specifically, after finishing drawing the frame block, the frame block's mode determines what happens
+; 00: clean OAM buffer and delay
+; 02: move onto the next frame block with no delay and no cleaning OAM buffer
+; 03: delay, but don't clean OAM buffer
+; 04: delay, without cleaning OAM buffer, and do not advance [W_FBDESTADDR], so that the next frame block will overwrite this one
+; sprite data is written column by column, each byte contains 8 columns (one for ech bit)
+; for 2bpp sprites, pairs of two consecutive bytes (i.e. pairs of consecutive rows of sprite data)
+; contain the upper and lower bit of each of the 8 pixels, respectively
+ ds 1
+
+
+SECTION "Sprite Buffers", SRAM
+
+SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile)
+
+S_SPRITEBUFFER0: ; a000
+ ds SPRITEBUFFERSIZE
+S_SPRITEBUFFER1: ; a188
+ ds SPRITEBUFFERSIZE
+S_SPRITEBUFFER2: ; a310
+ ds SPRITEBUFFERSIZE
+
+
+SECTION "Sprites", WRAMX[$d0a1], BANK[1]
+
+W_SPRITECURPOSX: ; d0a1
+ ds 1
+W_SPRITECURPOSY: ; d0a2
+ ds 1
+W_SPRITEWITDH: ; d0a3
+ ds 1
+W_SPRITEHEIGHT: ; d0a4
+ ds 1
+W_SPRITEINPUTCURBYTE: ; d0a5
+; current input byte
+ ds 1
+W_SPRITEINPUTBITCOUNTER: ; d0a6
+; bit offset of last read input bit
+ ds 1
+
+W_SPRITEOUTPUTBITOFFSET: ; d0a7; determines where in the output byte the two bits are placed. Each byte contains four columns (2bpp data)
+; 3 -> XX000000 1st column
+; 2 -> 00XX0000 2nd column
+; 1 -> 0000XX00 3rd column
+; 0 -> 000000XX 4th column
+ ds 1
+
+W_SPRITELOADFLAGS: ; d0a8
+; bit 0 determines used buffer (0 -> $a188, 1 -> $a310)
+; bit 1 loading last sprite chunk? (there are at most 2 chunks per load operation)
+ ds 1
+W_SPRITEUNPACKMODE: ; d0a9
+ ds 1
+W_SPRITEFLIPPED: ; d0aa
+ ds 1
+
+W_SPRITEINPUTPTR: ; d0ab
+; pointer to next input byte
+ ds 2
+W_SPRITEOUTPUTPTR: ; d0ad
+; pointer to current output byte
+ ds 2
+W_SPRITEOUTPUTPTRCACHED: ; d0af
+; used to revert pointer for different bit offsets
+ ds 2
+W_SPRITEDECODETABLE0PTR: ; d0b1
+; pointer to differential decoding table (assuming initial value 0)
+ ds 2
+W_SPRITEDECODETABLE1PTR: ; d0b3
+; pointer to differential decoding table (assuming initial value 1)
+ ds 2
+
+ ds 1
+
+W_LISTTYPE: ; d0b6
+ ds 1
+
+ ds 1
+
+W_MONHEADER: ; d0b8
+W_MONHDEXNUM: ; d0b8
+ ds 1
+
+W_MONHBASESTATS: ; d0b9
+W_MONHBASEHP: ; d0b9
+ ds 1
+W_MONHBASEATTACK: ; d0ba
+ ds 1
+W_MONHBASEDEFENSE: ; d0bb
+ ds 1
+W_MONHBASESPEED: ; d0bc
+ ds 1
+W_MONHBASESPECIAL: ; d0bd
+ ds 1
+
+W_MONHTYPES: ; d0be
+W_MONHTYPE1: ; d0be
+ ds 1
+W_MONHTYPE2: ; d0bf
+ ds 1
+
+W_MONHCATCHRATE: ; d0c0
+ ds 1
+W_MONHBASEXP: ; d0c1
+ ds 1
+W_MONHSPRITEDIM: ; d0c2
+ ds 1
+W_MONHFRONTSPRITE: ; d0c3
+ ds 2
+W_MONHBACKSPRITE: ; d0c5
+ ds 2
+
+W_MONHMOVES: ; d0c7
+ ds 4
+
+W_MONHGROWTHRATE: ; d0cb
+ ds 1
+
+W_MONHLEARNSET: ; d0cc
+; bit field
+ ds 7
+
+ ds 4
+
+W_MONHPADDING: ; d0d7
+
+
+W_DAMAGE: ; d0d7
+ ds 1
+
+ ds 79
+
+W_CURENEMYLVL: ; d127
+ ds 1
+
+ ds 3
+
+W_ISLINKBATTLE: ; d12b
+ ds 1
+
+ ds 17
+
+W_PRIZE1: ; d13d
+ ds 1
+W_PRIZE2: ; d13e
+ ds 1
+W_PRIZE3: ; d13f
+ ds 1
+
+ ds 24
+
+W_PLAYERNAME: ; d158
+ ds 11
+
+W_NUMINPARTY: ; d163
+ ds 1
+W_PARTYMON1: ; d164
+ ds 1
+W_PARTYMON2: ; d165
+ ds 1
+W_PARTYMON3: ; d166
+ ds 1
+W_PARTYMON4: ; d167
+ ds 1
+W_PARTYMON5: ; d168
+ ds 1
+W_PARTYMON6: ; d169
+ ds 1
+W_PARTYMONEND: ; d16a
+ ds 1
+
+W_PARTYMON1DATA: ; d16b
+W_PARTYMON1_NUM: ; d16b
+ ds 1
+W_PARTYMON1_HP: ; d16c
+ ds 2
+W_PARTYMON1_BOXLEVEL: ; d16e
+ ds 1
+W_PARTYMON1_STATUS: ; d16f
+ ds 1
+W_PARTYMON1_TYPE1: ; d170
+ ds 1
+W_PARTYMON1_TYPE2: ; d171
+ ds 1
+W_PARTYMON1_CRATE: ; d172
+ ds 1
+W_PARTYMON1_MOVE1: ; d173
+ ds 1
+W_PARTYMON1_MOVE2: ; d174
+ ds 1
+W_PARTYMON1_MOVE3: ; d175
+ ds 1
+W_PARTYMON1_MOVE4: ; d176
+ ds 1
+W_PARTYMON1_OTID: ; d177
+ ds 2
+W_PARTYMON1_EXP: ; d179
+ ds 3
+W_PARTYMON1_EVHP: ; d17c
+ ds 2
+W_PARTYMON1_EVATTACK: ; d17e
+ ds 2
+W_PARTYMON1_EVDEFENSE: ; d180
+ ds 2
+W_PARTYMON1_EVSPEED: ; d182
+ ds 2
+W_PARTYMON1_EVSECIAL: ; d184
+ ds 2
+W_PARTYMON1_IV: ; d186
+ ds 2
+W_PARTYMON1_MOVE1PP: ; d188
+ ds 1
+W_PARTYMON1_MOVE2PP: ; d189
+ ds 1
+W_PARTYMON1_MOVE3PP: ; d18a
+ ds 1
+W_PARTYMON1_MOVE4PP: ; d18b
+ ds 1
+W_PARTYMON1_LEVEL: ; d18c
+ ds 1
+W_PARTYMON1_MAXHP: ; d18d
+ ds 2
+W_PARTYMON1_ATACK: ; d18f
+ ds 2
+W_PARTYMON1_DEFENSE: ; d191
+ ds 2
+W_PARTYMON1_SPEED: ; d193
+ ds 2
+W_PARTYMON1_SPECIAL: ; d195
+ ds 2
+
+W_PARTYMON2DATA: ; d197
+ ds 44
+W_PARTYMON3DATA: ; d1c3
+ ds 44
+W_PARTYMON4DATA: ; d1ef
+ ds 44
+W_PARTYMON5DATA: ; d21b
+ ds 44
+W_PARTYMON6DATA: ; d247
+ ds 44
+
+W_PARTYMON1OT: ; d273
+ ds 11
+W_PARTYMON2OT: ; d27e
+ ds 11
+W_PARTYMON3OT: ; d289
+ ds 11
+W_PARTYMON4OT: ; d294
+ ds 11
+W_PARTYMON5OT: ; d29f
+ ds 11
+W_PARTYMON6OT: ; d2aa
+ ds 11
+
+W_PARTYMON1NAME: ; d2b5
+ ds 11
+W_PARTYMON2NAME: ; d2c0
+ ds 11
+W_PARTYMON3NAME: ; d2cb
+ ds 11
+W_PARTYMON4NAME: ; d2d6
+ ds 11
+W_PARTYMON5NAME: ; d2e1
+ ds 11
+W_PARTYMON6NAME: ; d2ec
+ ds 11
+
+
+SECTION "Pokedex", WRAMX[$d2f7], BANK[1]
+
+wPokedexOwned: ; d2f7
ds (150 / 8) + 1
-WPokedexOwnedEnd:
+wPokedexOwnedEnd:
+
+wPokedexSeen: ; d30a
+ ds (150 / 8) + 1
+wPokedexSeenEnd:
+
+
+wNumBagItems: ; d31d
+ ds 1
+wBagItems: ; d31e
+; item, quantity
+ ds 20 * 2
+ ds 1 ; end
+
+; money is in decimal
+wPlayerMoney: ; d347
+ ds 3
+
+W_RIVALNAME: ; d34a
+ ds 11
+
+W_OPTIONS: ; d355
+; bit 7 = battle animation
+; 0: On
+; 1: Off
+; bit 6 = battle style
+; 0: Shift
+; 1: Set
+; bits 0-3 = text speed (number of frames to delay after printing a letter)
+; 1: Fast
+; 3: Medium
+; 5: Slow
+ ds 1
+
+W_OBTAINEDBADGES: ; d356
+ ds 1
+
+ ds 2
+
+wPlayerID: ; d359
+ ds 2
+
+ ds 3
+
+W_CURMAP: ; d35e
+ ds 1
+
+ ds 2
+
+W_YCOORD: ; d361
+; player’s position on the current map
+ ds 1
+
+W_XCOORD: ; d362
+ ds 1
+
+W_YBLOCKCOORD: ; d363
+; player's y position (by block)
+ ds 1
+
+W_XBLOCKCOORD: ; d364
+ ds 3
+
+W_CURMAPTILESET: ; d367
+ ds 1
+
+W_CURMAPHEIGHT: ; d368
+; blocks
+ ds 1
+
+W_CURMAPWIDTH: ; d369
+; blocks
+ ds 1
+
+W_MAPDATAPTR: ; d36a
+ ds 2
+
+W_MAPTEXTPTR: ; d36c
+ ds 2
+
+W_MAPSCRIPTPTR: ; d36e
+ ds 2
+
+W_MAPCONNECTIONS: ; d370
+; connection byte
+ ds 1
+
+W_MAPCONN1PTR: ; d371
+ ds 2
+ ds 9
+
+W_MAPCONN2PTR: ; d37c
+ ds 2
+ ds 9
+
+W_MAPCONN3PTR: ; d387
+ ds 2
+ ds 9
+
+W_MAPCONN4PTR: ; d392
+ ds 2
+ ds 9
+
+W_SPRITESET: ; d39d
+; sprite set for the current map (11 sprite picture ID's)
+ ds 11
+
+W_SPRITESETID: ; d3a8
+; sprite set ID for the current map
+ ds 1
+
+ ds 312
+
+W_NUMSPRITES: ; d4e1
+; number of sprites on the current map
+; two bytes per sprite (movement byte 2 , text ID)
+ ds 3
+
+W_MAPSPRITEDATA: ; d4e4
+; two bytes per sprite (trainer class/item ID , trainer set ID)
+ ds 32
+
+W_MAPSPRITEEXTRADATA: ; d504
+ ds 39
+
+W_TILESETBANK: ; d52b
+ ds 1
+
+W_TILESETBLOCKSPTR: ; d52c
+; maps blocks (4x4 tiles) to tiles
+ ds 2
+
+W_TILESETGFXPTR: ; d52e
+ ds 2
+
+W_TILESETCOLLISIONPTR: ; d530
+; list of all walkable tiles
+ ds 2
+
+W_TILESETTALKINGOVERTILES: ; d532
+ ds 3
+
+W_GRASSTILE: ; d535
+ ds 1
+
+
+SECTION "Items", WRAMX[$d53a], BANK[1]
+
+wNumBoxItems: ; d53a
+ ds 1
+wBoxItems: ; d53b
+; item, quantity
+ ds 50 * 2
+ ds 1 ; end
+
+ ds 4
+
+; coins are in decimal
+wPlayerCoins: ; d5a4
+ ds 2
+
+W_MISSABLEOBJECTFLAGS: ; d5a6
+; bit array of missable objects. set = removed
+ ds 40
+
+W_MISSABLEOBJECTLIST: ; d5ce
+; each entry consists of 2 bytes
+; * the sprite ID (depending on the current map)
+; * the missable object index (global, used for W_MISSABLEOBJECTFLAGS)
+; terminated with $FF
+ ds 17 * 2
+
+W_GAMEPROGRESSFLAGS: ; d5f0
+; $c8 bytes
+ ds 0
+
+W_OAKSLABCURSCRIPT: ; d5f0
+ ds 1
+W_PALLETTOWNCURSCRIPT: ; d5f1
+ ds 1
+ ds 1
+W_BLUESHOUSECURSCRIPT: ; d5f3
+ ds 1
+W_VIRIDIANCITYCURSCRIPT: ; d5f4
+ ds 1
+ ds 2
+W_PEWTERCITYCURSCRIPT: ; d5f7
+ ds 1
+W_ROUTE3CURSCRIPT: ; d5f8
+ ds 1
+W_ROUTE4CURSCRIPT: ; d5f9
+ ds 1
+ ds 1
+W_VIRIDIANGYMCURSCRIPT: ; d5fb
+ ds 1
+W_PEWTERGYMCURSCRIPT: ; d5fc
+ ds 1
+W_CERULEANGYMCURSCRIPT: ; d5fd
+ ds 1
+W_VERMILIONGYMCURSCRIPT: ; d5fe
+ ds 1
+W_CELADONGYMCURSCRIPT: ; d5ff
+ ds 1
+W_ROUTE6CURSCRIPT: ; d600
+ ds 1
+W_ROUTE8CURSCRIPT: ; d601
+ ds 1
+W_ROUTE24CURSCRIPT: ; d602
+ ds 1
+W_ROUTE25CURSCRIPT: ; d603
+ ds 1
+W_ROUTE9CURSCRIPT: ; d604
+ ds 1
+W_ROUTE10CURSCRIPT: ; d605
+ ds 1
+W_MTMOON1CURSCRIPT: ; d606
+ ds 1
+W_MTMOON3CURSCRIPT: ; d607
+ ds 1
+W_SSANNE8CURSCRIPT: ; d608
+ ds 1
+W_SSANNE9CURSCRIPT: ; d609
+ ds 1
+W_ROUTE22CURSCRIPT: ; d60a
+ ds 1
+ ds 1
+W_REDSHOUSE2CURSCRIPT: ; d60c
+ ds 1
+W_VIRIDIANMARKETCURSCRIPT: ; d60d
+ ds 1
+W_ROUTE22GATECURSCRIPT: ; d60e
+ ds 1
+W_CERULEANCITYCURSCRIPT: ; d60f
+ ds 1
+ ds 7
+W_SSANNE5CURSCRIPT: ; d617
+ ds 1
+W_VIRIDIANFORESTCURSCRIPT: ; d618
+ ds 1
+W_MUSEUMF1CURSCRIPT: ; d619
+ ds 1
+W_ROUTE13CURSCRIPT: ; d61a
+ ds 1
+W_ROUTE14CURSCRIPT: ; d61b
+ ds 1
+W_ROUTE17CURSCRIPT: ; d61c
+ ds 1
+W_ROUTE19CURSCRIPT: ; d61d
+ ds 1
+W_ROUTE21CURSCRIPT: ; d61e
+ ds 1
+W_SAFARIZONEENTRANCECURSCRIPT: ; d61f
+ ds 1
+W_ROCKTUNNEL2CURSCRIPT: ; d620
+ ds 1
+W_ROCKTUNNEL1CURSCRIPT: ; d621
+ ds 1
+ ds 1
+W_ROUTE11CURSCRIPT: ; d623
+ ds 1
+W_ROUTE12CURSCRIPT: ; d624
+ ds 1
+W_ROUTE15CURSCRIPT: ; d625
+ ds 1
+W_ROUTE16CURSCRIPT: ; d626
+ ds 1
+W_ROUTE18CURSCRIPT: ; d627
+ ds 1
+W_ROUTE20CURSCRIPT: ; d628
+ ds 1
+W_SSANNE10CURSCRIPT: ; d629
+ ds 1
+W_VERMILIONCITYCURSCRIPT: ; d62a
+ ds 1
+W_POKEMONTOWER2CURSCRIPT: ; d62b
+ ds 1
+W_POKEMONTOWER3CURSCRIPT: ; d62c
+ ds 1
+W_POKEMONTOWER4CURSCRIPT: ; d62d
+ ds 1
+W_POKEMONTOWER5CURSCRIPT: ; d62e
+ ds 1
+W_POKEMONTOWER6CURSCRIPT: ; d62f
+ ds 1
+W_POKEMONTOWER7CURSCRIPT: ; d630
+ ds 1
+W_ROCKETHIDEOUT1CURSCRIPT: ; d631
+ ds 1
+W_ROCKETHIDEOUT2CURSCRIPT: ; d632
+ ds 1
+W_ROCKETHIDEOUT3CURSCRIPT: ; d633
+ ds 1
+W_ROCKETHIDEOUT4CURSCRIPT: ; d634
+ ds 2
+W_ROUTE6GATECURSCRIPT: ; d636
+ ds 1
+W_ROUTE8GATECURSCRIPT: ; d637
+ ds 2
+W_CINNABARISLANDCURSCRIPT: ; d639
+ ds 1
+W_MANSION1CURSCRIPT: ; d63a
+ ds 2
+W_MANSION2CURSCRIPT: ; d63c
+ ds 1
+W_MANSION3CURSCRIPT: ; d63d
+ ds 1
+W_MANSION4CURSCRIPT: ; d63e
+ ds 1
+W_VICTORYROAD2CURSCRIPT: ; d63f
+ ds 1
+W_VICTORYROAD3CURSCRIPT: ; d640
+ ds 2
+W_FIGHTINGDOJOCURSCRIPT: ; d642
+ ds 1
+W_SILPHCO2CURSCRIPT: ; d643
+ ds 1
+W_SILPHCO3CURSCRIPT: ; d644
+ ds 1
+W_SILPHCO4CURSCRIPT: ; d645
+ ds 1
+W_SILPHCO5CURSCRIPT: ; d646
+ ds 1
+W_SILPHCO6CURSCRIPT: ; d647
+ ds 1
+W_SILPHCO7CURSCRIPT: ; d648
+ ds 1
+W_SILPHCO8CURSCRIPT: ; d649
+ ds 1
+W_SILPHCO9CURSCRIPT: ; d64a
+ ds 1
+W_HALLOFFAMEROOMCURSCRIPT: ; d64b
+ ds 1
+W_GARYCURSCRIPT: ; d64c
+ ds 1
+W_LORELEICURSCRIPT: ; d64d
+ ds 1
+W_BRUNOCURSCRIPT: ; d64e
+ ds 1
+W_AGATHACURSCRIPT: ; d64f
+ ds 1
+W_UNKNOWNDUNGEON3CURSCRIPT: ; d650
+ ds 1
+W_VICTORYROAD1CURSCRIPT: ; d651
+ ds 1
+ ds 1
+W_LANCECURSCRIPT: ; d653
+ ds 1
+ ds 4
+W_SILPHCO10CURSCRIPT: ; d658
+ ds 1
+W_SILPHCO11CURSCRIPT: ; d659
+ ds 1
+ ds 1
+W_FUCHSIAGYMCURSCRIPT: ; d65b
+ ds 1
+W_SAFFRONGYMCURSCRIPT: ; d65c
+ ds 1
+ ds 1
+W_CINNABARGYMCURSCRIPT: ; d65e
+ ds 1
+W_CELADONGAMECORNERCURSCRIPT: ; d65f
+ ds 1
+W_ROUTE16GATECURSCRIPT: ; d660
+ ds 1
+W_BILLSHOUSECURSCRIPT: ; d661
+ ds 1
+W_ROUTE5GATECURSCRIPT: ; d662
+ ds 1
+W_POWERPLANTCURSCRIPT: ; d663
+; overload
+ ds 0
+W_ROUTE7GATECURSCRIPT: ; d663
+; overload
+ ds 1
+ ds 1
+W_SSANNE2CURSCRIPT: ; d665
+ ds 1
+W_SEAFOAMISLANDS4CURSCRIPT: ; d666
+ ds 1
+W_ROUTE23CURSCRIPT: ; d667
+ ds 1
+W_SEAFOAMISLANDS5CURSCRIPT: ; d668
+ ds 1
+W_ROUTE18GATECURSCRIPT: ; d669
+ ds 1
+
+ ds 161
+
+W_TOWNVISITEDFLAG: ; d70b
+; 2 bytes bit array, 1 means visited
+ ds 2
+
+wSafariSteps: ; d70d
+; starts at 502
+ ds 2
+
+W_FOSSILITEM: ; d70f
+; item given to cinnabar lab
+ ds 1
+
+W_FOSSILMON: ; d710
+; mon that will result from the item
+ ds 1
+
+ ds 2
+
+W_ENEMYMONORTRAINERCLASS: ; d713
+; trainer classes start at $c8
+ ds 1
+
+ ds 1
+
+W_RIVALSTARTER: ; d715
+ ds 1
+
+ ds 1
+
+W_PLAYERSTARTER: ; d717
+ ds 1
+
+ ds 27
+
+
+W_FLAGS_D733: ; d733
+; bit 4: use variable [W_CURMAPSCRIPT] instead of the provided index for next frame's map script (used to start battle when talking to trainers)
+ ds 340
+
+W_GRASSRATE: ; d887
+ ds 1
+
+W_GRASSMONS: ; d888
+ ds 20
+
+wEnemyPartyCount: ; d89c
+ ds 1
+wEnemyPartyMons: ; d89d
+ ds 6
+ ds 1 ; end
+
+; Overload enemy party data
+W_WATERRATE EQU $d8a4
+W_WATERMONS EQU $d8a5
+
+wEnemyMons:
+
+wEnemyMon1: ; d8a4
+wEnemyMon1Species: ; d8a4
+ ds 1
+W_ENEMYMON1HP: ; d8a5
+ ds 2
+
+ ds 7
+
+W_ENEMYMON1MOVE3: ; d8ae
+ ds 44
+W_ENEMYMON2MOVE3: ; d8da
+ ds 44
+W_ENEMYMON3MOVE3: ; d906
+ ds 44
+W_ENEMYMON4MOVE3: ; d932
+ ds 44
+W_ENEMYMON5MOVE3: ; d95e
+ ds 44
+W_ENEMYMON6MOVE3: ; d98a
+ ds 34
+
+W_ENEMYMON1OT: ; d9ac
+ ds 11
+W_ENEMYMON2OT: ; d9b7
+ ds 11
+W_ENEMYMON3OT: ; d9c2
+ ds 11
+W_ENEMYMON4OT: ; d9cd
+ ds 11
+W_ENEMYMON5OT: ; d9d8
+ ds 11
+W_ENEMYMON6OT: ; d9e3
+ ds 11
+
+W_ENEMYMON1NAME: ; d9ee
+ ds 11
+W_ENEMYMON2NAME: ; d9f9
+ ds 11
+W_ENEMYMON3NAME: ; da04
+ ds 11
+W_ENEMYMON4NAME: ; da0f
+ ds 11
+W_ENEMYMON5NAME: ; da1a
+ ds 11
+W_ENEMYMON6NAME: ; da25
+ ds 11
+
+W_TRAINERHEADERPTR: ; da30
+ ds 2
+
+ ds 7
+
+W_CURMAPSCRIPT: ; da39
+; index of current map script, mostly used as index for function pointer array
+; mostly copied from map-specific map script pointer and wirtten back later
+ ds 1
+
+ ds 6
+
+W_PLAYTIMEHOURS: ; da40
+ ds 2
+W_PLAYTIMEMINUTES: ; da42
+ ds 2
+W_PLAYTIMESECONDS: ; da44
+ ds 1
+W_PLAYTIMEFRAMES: ; da45
+ ds 1
+
+ ds 1
+
+W_NUMSAFARIBALLS: ; da47
+ ds 1
+
+ ds 56
+
+W_NUMINBOX: ; da80
+; number of mons in current box
+ ds 22
+
+W_BOXMON1DATA: ; da96
+ ds 33
+W_BOXMON2DATA: ; dab7
+ ds 33 * 19
+
+; dd2a
+