diff options
42 files changed, 22303 insertions, 18437 deletions
@@ -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. + @@ -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 music.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 54f367f1..87f0b633 100644 --- a/constants.asm +++ b/constants.asm @@ -2,3530 +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_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 Binary files differindex c83ef184..0b79d447 100644..100755 --- a/gfx/blue/slotmachine1.2bpp +++ b/gfx/blue/slotmachine1.2bpp diff --git a/gfx/emotion_bubbles.2bpp b/gfx/emotion_bubbles.2bpp Binary files differindex c8a13e2f..b1900c58 100755 --- a/gfx/emotion_bubbles.2bpp +++ b/gfx/emotion_bubbles.2bpp diff --git a/gfx/mon_nest_icon.1bpp b/gfx/mon_nest_icon.1bpp new file mode 100755 index 00000000..e15ff415 --- /dev/null +++ b/gfx/mon_nest_icon.1bpp @@ -0,0 +1 @@ +BfZ$
\ No newline at end of file diff --git a/gfx/red/slotmachine1.2bpp b/gfx/red/slotmachine1.2bpp Binary files differindex 32d4daa5..be40a1df 100644..100755 --- a/gfx/red/slotmachine1.2bpp +++ b/gfx/red/slotmachine1.2bpp 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..be1879b7 --- /dev/null +++ b/macros.asm @@ -0,0 +1,337 @@ + +;\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 + +;\1 (byte) = connected map id +;\2 (byte) = connected map width +;\3 (byte) = connected map height +;\4 (byte) = x movement of connection strip +;\5 (byte) = connection strip offset +;\6 (byte) = width of connection strip +;\7 (word) = connected map blocks pointer +NORTH_MAP_CONNECTION: MACRO + db \1 ; map id + dw \7 + (\2 * (\3 - 3)) + \5; "Connection Strip" location + dw $C6EB + \4 ; current map position + db \6 ; width of connection strip + db \2 ; map width + db (\3 * 2) - 1 ; y alignment (y coordinate of player when entering map) + db (\4 - \5) * -2 ; x alignment (x coordinate of player when entering map) + dw $C6E9 + (\3 * (\2 + 6)) ; window (position of the upper left block after entering the map) +ENDM + +;\1 (byte) = connected map id +;\2 (byte) = connected map width +;\3 (byte) = x movement of connection strip +;\4 (byte) = connection strip offset +;\5 (byte) = width of connection strip +;\6 (word) = connected map blocks pointer +;\7 (byte) = current map width +;\8 (byte) = current map height +SOUTH_MAP_CONNECTION: MACRO + db \1 ; map id + dw \6 + \4 ; "Conection Strip" location + dw $C6EB + (\8 + 3) * (\7 + 6) + \3 ; current map positoin + db \5 ; width of connection strip + db \2 ; map width + db 0 ; y alignment (y coordinate of player when entering map) + db (\3 - \4) * -2 ; x alignment (x coordinate of player when entering map) + dw $C6EF + \2 ; window (position of the upper left block after entering the map) +ENDM + +;\1 (byte) = connected map id +;\2 (byte) = connected map width +;\3 (byte) = y movement of connection strip +;\4 (byte) = connection strip offset +;\5 (byte) = height of connection strip +;\6 (word) = connected map blocks pointer +;\7 (byte) = current map width +EAST_MAP_CONNECTION: MACRO + db \1 ; map id + dw \6 + (\2 * \4) ; "Connection Strip" location + dw $C6E5 + (\7 + 6) * (\3 + 4) ; current map position + db \5 ; height of connection strip + db \2 ; map width + db (\3 - \4) * -2 ; y alignment + db 0 ; x alignment + dw $C6EF + \2 ; window (position of the upper left block after entering the map) +ENDM + +;\1 (byte) = connected map id +;\2 (byte) = connected map width +;\3 (byte) = y movement of connection strip +;\4 (byte) = connection strip offset +;\5 (byte) = height of connection strip +;\6 (word) = connected map blocks pointer +;\7 (byte) = current map width +WEST_MAP_CONNECTION: MACRO + db \1 ; map id + dw \6 + (\2 * \4) + \2 - 3 ; "Connection Strip" location + dw $C6E8 + (\7 + 6) * (\3 + 3) ; current map position + db \5 ; height of connection strip + db \2 ; map width + db (\3 - \4) * -2 ; y alignment + db (\2 * 2) - 1 ; x alignment + dw $C6EE + (2 * \2) ; window (position of the upper left block after entring the map) +ENDM @@ -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 @@ -928,7 +928,7 @@ WarpFound2: ; 073c (0:073c) ld [$d73b],a ; save ID of used warp ld a,[W_CURMAP] ld [$d73c],a - call CheckIfInOutsideMap ; check if the tileset number is 0 or the map is Route 12 + call CheckIfInOutsideMap jr nz,.indoorMaps ; this is for handling "outside" maps that can't have the 0xFF destination map ld a,[W_CURMAP] @@ -1144,13 +1144,12 @@ PlayMapChangeSound: ; 08c9 (0:08c9) ret nz jp GBFadeIn1 -; function to set the Z flag if the tileset number is 0 or the map is Route 12 -; strangely, Route 12 has tileset 0, so the check is redundant CheckIfInOutsideMap: ; 08e1 (0:08e1) +; If the player is in an outside map (a town or route), set the z flag ld a,[W_CURMAPTILESET] - and a + and a ; most towns/routes have tileset 0 ret z - cp a,ROUTE_12 + cp a,$17 ; Route 23 / Indigo Plateau ret ; this function is an extra check that sometimes has to pass in order to warp, beyond just standing on a warp @@ -1210,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 @@ -1240,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 @@ -1300,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) @@ -1788,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) @@ -1818,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 @@ -1860,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] @@ -1875,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 @@ -1903,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 @@ -1914,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 @@ -2160,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] @@ -2210,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] @@ -2336,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] @@ -2422,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) @@ -2782,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 @@ -2795,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 @@ -2855,7 +2854,6 @@ SwitchToMapRomBank: ; 12bc (0:12bc) pop hl ret -; known jump sources: 7af (0:7af) Func_12da: ; 12da (0:12da) ld a, $1e ld [$d13a], a @@ -2865,12 +2863,11 @@ Func_12da: ; 12da (0:12da) ld [hl], a ret -; known jump sources: 3c9 (0:3c9) Func_12e7: ; 12e7 (0:12e7) ld hl, $d728 res 0, [hl] ret -; 12ed (0:12ed) + ;appears to be called twice inside function $C38B ;if $d700,$d11a == $1 then biking ;if $d700,$d11a == $2 then surfing @@ -3005,7 +3002,6 @@ LoadMonData: ; 1372 (0:1372) ld b,BANK(LoadMonData_) jp Bankswitch -; no known jump sources ; writes c to $d0dc+b Func_137a: ; 137a (0:137a) ld hl, $d0dc @@ -3016,12 +3012,10 @@ Func_137a: ; 137a (0:137a) ld [hl], a ret -; known jump sources: 617a (1:617a), 12a6e (4:6a6e), 403b0 (10:43b0), 415c0 (10:55c0), 7bebf (1e:7ebf) LoadFlippedFrontSpriteByMonIndex: ; 1384 (0:1384) ld a, $1 ld [W_SPRITEFLIPPED], a -; known jump sources: 4530 (1:4530), 702a3 (1c:42a3), 740ec (1d:40ec), 76643 (1d:6643), 797ab (1e:57ab) LoadFrontSpriteByMonIndex: ; 1389 (0:1389) push hl ld a, [$d11e] @@ -3062,7 +3056,6 @@ LoadFrontSpriteByMonIndex: ; 1389 (0:1389) ld [H_LOADEDROMBANK], a ld [$2000], a ret -; 13d0 (0:13d0) ; plays the cry of a pokemon ; INPUT: @@ -3128,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 @@ -3168,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 @@ -3182,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 @@ -3211,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 @@ -3255,10 +3248,10 @@ PrintStatusCondition: ; 14e1 (0:14e1) PrintStatusConditionNotFainted ; 14f6 ld a,[H_LOADEDROMBANK] push af - ld a,BANK(Unknown_747de) + ld a,BANK(PrintStatusAilment) ld [H_LOADEDROMBANK],a ld [$2000],a - call Unknown_747de ; print status condition + call PrintStatusAilment ; print status condition pop bc ld a,b ld [H_LOADEDROMBANK],a @@ -3297,8 +3290,7 @@ PrintLevelCommon: ; 1523 (0:1523) ld b,$41 ; no leading zeroes, left-aligned, one byte jp PrintNumber -; XXX does anything call this? -Unknown152E: ; 152e (0:152e) +Func_152e: ; 152e (0:152e) ld hl,$d0dc ld c,a ld b,0 @@ -3517,7 +3509,6 @@ UncompressMonSprite: ; 1627 (0:1627) .GotBank jp UncompressSpriteData -; known jump sources: 13b1 (0:13b1), 3ca4f (f:4a4f), 3d17d (f:517d), 3efce (f:6fce), 3efda (f:6fda), 5dbfd (17:5bfd) ; de: destination location LoadMonFrontSprite: ; 1665 (0:1665) push de @@ -3529,7 +3520,6 @@ LoadMonFrontSprite: ; 1665 (0:1665) pop de ; fall through -; known jump sources: 3f066 (f:7066) ; postprocesses uncompressed sprite chunks to a 2bpp sprite and loads it into video ram ; calculates alignment parameters to place both sprite chunks in the center of the 7*7 tile sprite buffers ; de: destination location @@ -3581,7 +3571,6 @@ LoadUncompressedSpriteData: ; 1672 (0:1672) pop de jp InterlaceMergeSpriteBuffers -; known jump sources: 16ac (0:16ac), 16bb (0:16bb) ; copies and aligns the sprite data properly inside the sprite buffer ; sprite buffers are 7*7 tiles in size, the loaded sprite is centered within this area AlignSpriteDataCentered: ; 16c2 (0:16c2) @@ -3621,7 +3610,6 @@ ZeroSpriteBuffer: ; 16df (0:16df) jr nz, .nextByteLoop ret -; known jump sources: 16bf (0:16bf), 62b8 (1:62b8), 3ecd8 (f:6cd8), 3f121 (f:7121), 70355 (1c:4355), 70368 (1c:4368) ; combines the (7*7 tiles, 1bpp) sprite chunks in buffer 0 and 1 into a 2bpp sprite located in buffer 1 through 2 ; in the resulting sprite, the rows of the two source sprites are interlaced ; de: output address @@ -3670,7 +3658,6 @@ InterlaceMergeSpriteBuffers: ; 16ea (0:16ea) ld a, [H_LOADEDROMBANK] ld b, a jp CopyVideoData -; 172f (0:172f) Tset0B_Coll: ; 172f (0:172f) INCBIN "gfx/tilesets/0b.tilecoll" @@ -3882,22 +3869,21 @@ ClearScreenArea: ; 18c4 (0:18c4) jr nz,.loop ret -; known jump sources: 70fd (1:70fd), 1dbc2 (7:5bc2), 41265 (10:5265), 4129d (10:529d), 41324 (10:5324) ; copies the screen tile buffer from WRAM to VRAM ; copying is done in 3 chunks of 6 rows each ; b: high byte of VRAM destination address ($98 or $9c for window tile map 0 or 1 resp.) 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 @@ -3914,13 +3900,13 @@ InitScreenTileBufferTransferParameters: ; 18fc (0:18fc) ld a, e ld [H_VBCOPYBGSRC], a ; $FF00+$c1 ret -; 190f (0:190f) + ClearScreen: ; 190f (0:190f) ; clears all tiles in the tilemap, ; 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 @@ -4332,7 +4318,7 @@ TextCommandProcessor: ; 1b40 (0:1b40) NextTextCommand: ; 1b55 (0:1b55) ld a,[hli] - cp a,$50 ; terminator + cp a, "@" ; terminator jr nz,.doTextCommand pop af ld [$d358],a @@ -4581,16 +4567,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 @@ -4657,20 +4643,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 @@ -4695,7 +4681,7 @@ GetRowColAddressBgMap: ; 1cdd (0:1cdd) ClearBgMap: ; 1cf0 (0:1cf0) ld a," " jr .next - ld a,l ; XXX does anything call this? + ld a,l .next ld de,$400 ; size of VRAM background map ld l,e @@ -4720,7 +4706,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] @@ -4749,7 +4735,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] @@ -4783,7 +4769,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 @@ -5161,15 +5147,14 @@ UpdateMovingBgTiles: ; 1ebe (0:1ebe) ret FlowerTilePattern1: ; 1f19 (0:1f19) -INCBIN "gfx/tilesets/flower/flower1.2bpp" + INCBIN "gfx/tilesets/flower/flower1.2bpp" FlowerTilePattern2: ; 1f29 (0:1f29) -INCBIN "gfx/tilesets/flower/flower2.2bpp" + INCBIN "gfx/tilesets/flower/flower2.2bpp" FlowerTilePattern3: ; 1f39 (0:1f39) -INCBIN "gfx/tilesets/flower/flower3.2bpp" + INCBIN "gfx/tilesets/flower/flower3.2bpp" -; known jump sources: c047 (3:4047) SoftReset: ; 1f49 (0:1f49) call StopAllSounds call GBPalWhiteOut @@ -5177,7 +5162,6 @@ SoftReset: ; 1f49 (0:1f49) call DelayFrames ;fall through -; 1f54 (0:1f54) ; initialization code ; explanation for %11100011 (value stored in rLCDC) ; * LCD enabled @@ -5280,19 +5264,17 @@ ZeroVram: ; 2004 (0:2004) xor a jp FillMemory -; known jump sources: 962 (0:962), 1f49 (0:1f49), 1fd0 (0:1fd0) ; immediately stops all sounds StopAllSounds: ; 200e (0:200e) ld a, $2 ld [$c0ef], a ld [$c0f0], a xor a - ld [W_CURCHANNELPOINTER], a + ld [wMusicHeaderPointer], a ld [$c0ee], a ld [$cfca], a dec a jp PlaySound -; 2024 (0:2024) VBlankHandler: ; 2024 (0:2024) push af @@ -5380,7 +5362,6 @@ DelayFrame: ; 20af (0:20af) ld a,[H_VBLANKOCCURRED] and a jr nz,.halt - ret ; These routines manage gradual fading @@ -5482,7 +5463,6 @@ DecGradGBPalTable_02: ; 2121 (0:2121) db %00000000 db %00000000 -; known jump sources: 58 (0:58) SerialInterruptHandler: ; 2125 (0:2125) push af push bc @@ -5532,7 +5512,6 @@ SerialInterruptHandler: ; 2125 (0:2125) pop af reti -; known jump sources: 53e2 (1:53e2), 53f1 (1:53f1), 5400 (1:5400) Func_216f: ; 216f (0:216f) ld a, $1 ld [$FF00+$ab], a @@ -5567,7 +5546,6 @@ Func_216f: ; 216f (0:216f) jr nz, .asm_2173 ret -; known jump sources: 2176 (0:2176), 222e (0:222e), 2259 (0:2259) Func_219a: ; 219a (0:219a) xor a ld [$FF00+$a9], a @@ -5656,7 +5634,6 @@ Func_219a: ; 219a (0:219a) call DelayFrame jp Func_219a -; known jump sources: 21b7 (0:21b7) Func_2231: ; 2231 (0:2231) ld a, $f .asm_2233 @@ -5664,7 +5641,6 @@ Func_2231: ; 2231 (0:2231) jr nz, .asm_2233 ret -; known jump sources: 21b2 (0:21b2), 21c4 (0:21c4), 2209 (0:2209), 221a (0:221a), 228a (0:228a) Func_2237: ; 2237 (0:2237) push hl ld hl, $cc47 @@ -5673,14 +5649,12 @@ Func_2237: ; 2237 (0:2237) pop hl ret -; known jump sources: 21c9 (0:21c9), 221d (0:221d), 229c (0:229c) Func_223f: ; 223f (0:223f) dec a ld [$cc47], a ld [$cc48], a ret -; known jump sources: 5c66 (1:5c66) Func_2247: ; 2247 (0:2247) ld hl, $cc42 ld de, $cc3d @@ -5706,7 +5680,6 @@ Func_2247: ; 2247 (0:2247) jr nz, .asm_2253 ret -; no known jump sources (dead code?) Func_226e: ; 226e (0:226e) call SaveScreenTilesToBuffer1 ld hl, Func_4c05 @@ -5715,7 +5688,6 @@ Func_226e: ; 226e (0:226e) call Func_227f jp LoadScreenTilesFromBuffer1 -; known jump sources: 53b5 (1:53b5), 7263 (1:7263) Func_227f: ; 227f (0:227f) ld a, $ff ld [$cc3e], a @@ -5756,7 +5728,6 @@ Func_227f: ; 227f (0:227f) ld [$cc3d], a ret -; known jump sources: 2284 (0:2284), 22ab (0:22ab), 3d63b (f:563b), 3d64c (f:564c) Func_22c3: ; 22c3 (0:22c3) call asm_22d7 ld a, [$cc42] @@ -5780,7 +5751,6 @@ asm_22d7: ; 22d7 (0:22d7) ld [$cc3e], a ret -; known jump sources: 22b6 (0:22b6), 721a (1:721a), 7220 (1:7220), 7276 (1:7276), 3d657 (f:5657) Func_22ed: ; 22ed (0:22ed) xor a ld [$FF00+$ac], a @@ -5791,7 +5761,6 @@ Func_22ed: ; 22ed (0:22ed) ld [$FF00+$2], a ret -; known jump sources: 19c5b (6:5c5b), 4425d (11:425d), 488b8 (12:48b8), 492cf (12:52cf), 493ba (12:53ba), 5c587 (17:4587), 5c645 (17:4645), 5c8da (17:48da), 5c98f (17:498f), 5d535 (17:5535), 75063 (1d:5063), 75e2c (1d:5e2c) Func_22fa: ; 22fa (0:22fa) ld a, $2 ld [$FF00+$1], a @@ -5805,7 +5774,6 @@ Func_22fa: ; 22fa (0:22fa) TimerHandler: ; 2306 (0:2306) reti -; known jump sources: 100d (0:100d), 12f5 (0:12f5), d993 (3:5993), d9ae (3:59ae), d9da (3:59da), da22 (3:5a22), e234 (3:6234), 17daa (5:7daa), 19624 (6:5624), 1cbf4 (7:4bf4), 1ce82 (7:4e82), 1cf1b (7:4f1b), 1cfda (7:4fda), 1ebc9 (7:6bc9), 3aef3 (e:6ef3), 51165 (14:5165), 51d35 (14:5d35), 605cf (18:45cf), 614d2 (18:54d2), 61917 (18:5917), 70558 (1c:4558), 7bf61 (1e:7f61), 7d15f (1f:515f) Func_2307: ; 2307 (0:2307) call WaitForSoundToFinish xor a @@ -5814,7 +5782,6 @@ Func_2307: ; 2307 (0:2307) ld [$cfca], a jr asm_2324 -; known jump sources: 8b0 (0:8b0), 94b (0:94b), 12b2 (0:12b2) Func_2312: ; 2312 (0:2312) ld c, $a ld d, $0 @@ -5856,13 +5823,12 @@ 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 jp PlaySound -; known jump sources: 12af (0:12af) Func_235f: ; 235f (0:235f) ld a, [$c0ef] ld b, a @@ -5891,7 +5857,6 @@ Func_235f: ; 235f (0:235f) jr nz, .asm_237a ret -; known jump sources: 2347 (0:2347) Func_2385: ; 2385 (0:2385) ld a, [$d35c] ld e, a @@ -5916,7 +5881,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 @@ -5937,7 +5902,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] @@ -5949,7 +5914,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 @@ -5982,11 +5947,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 @@ -6007,7 +5972,6 @@ UpdateSprites: ; 2429 (0:2429) ld [H_LOADEDROMBANK], a ld [$2000], a ret -; 2442 (0:2442) ; mart inventories are below ; they are texts @@ -6094,12 +6058,10 @@ TextScriptEnd: ; 24d7 (0:24d7) UnnamedText_24db: ; 24db (0:24db) TX_FAR _UnnamedText_24db db "@" -; 0x24db + 5 bytes UnnamedText_24e0: ; 24e0 (0:24e0) TX_FAR _UnnamedText_24e0 db "@" -; 0x24e0 + 5 bytes BoulderText: ; 24e5 (0:24e5) TX_FAR _BoulderText @@ -6388,22 +6350,22 @@ ReadNextInputByte: ; 268b (0:268b) ; the nth item is 2^n - 1 LengthEncodingOffsetList: ; 269f (0:269f) - dw $0001 - dw $0003 - dw $0007 - dw $000F - dw $001F - dw $003F - dw $007F - dw $00FF - dw $01FF - dw $03FF - dw $07FF - dw $0FFF - dw $1FFF - dw $3FFF - dw $7FFF - dw $FFFF + dw %0000000000000001 + dw %0000000000000011 + dw %0000000000000111 + dw %0000000000001111 + dw %0000000000011111 + dw %0000000000111111 + dw %0000000001111111 + dw %0000000011111111 + dw %0000000111111111 + dw %0000001111111111 + dw %0000011111111111 + dw %0000111111111111 + dw %0001111111111111 + dw %0011111111111111 + dw %0111111111111111 + dw %1111111111111111 ; unpacks the sprite data depending on the unpack mode UnpackSprite: ; 26bf (0:26bf) @@ -6712,14 +6674,13 @@ StoreSpriteOutputPointer: ; 2897 (0:2897) ld [W_SPRITEOUTPUTPTRCACHED+1], a ret -; known jump sources: 5d6e (1:5d6e), 6210 (1:6210) 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 @@ -6728,16 +6689,14 @@ ResetPlayerSpriteData: ; 28a6 (0:28a6) ld [hl], $40 ; set X screen pos ret -; known jump sources: 28a9 (0:28a9), 28af (0:28af) ; overwrites sprite data with zeroes ResetPlayerSpriteData_ClearSpriteData: ; 28c4 (0:28c4) ld bc, $10 xor a jp FillMemory -; known jump sources: 2071 (0:2071) Func_28cb: ; 28cb (0:28cb) - ld a, [W_CURCHANNELPOINTER] + ld a, [wMusicHeaderPointer] and a jr nz, .asm_28dc ld a, [$d72c] @@ -6772,10 +6731,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 @@ -6785,7 +6744,6 @@ Func_28cb: ; 28cb (0:28cb) ld [$c0ee], a jp PlaySound -; 2920 (0:2920) ; this function is used to display sign messages, sprite dialog, etc. ; INPUT: [$ff8c] = sprite ID or text ID DisplayTextID: ; 2920 (0:2920) @@ -6871,17 +6829,17 @@ DisplayTextID: ; 2920 (0:2920) jp z,FuncTX_PokemonCenterPC cp a,$f5 ; Vending Machine jr nz,.notVendingMachine - ld b,BANK(Unknown_74ee0) - ld hl,Unknown_74ee0 - call Bankswitch + ld b,BANK(VendingMachineMenu) + ld hl,VendingMachineMenu + call Bankswitch ; jump banks to vending machine routine jr AfterDisplayingTextID .notVendingMachine cp a,$f7 ; slot machine jp z,FuncTX_SlotMachine cp a,$f6 ; cable connection NPC in Pokemon Center jr nz,.notSpecialCase - ld hl, Unknown_71c5 - ld b, BANK(Unknown_71c5) + ld hl, CableClubNPC + ld b, BANK(CableClubNPC) call Bankswitch jr AfterDisplayingTextID .notSpecialCase @@ -6961,7 +6919,7 @@ DisplayPokemartDialogue: ; 2a2e (0:2a2e) PokemartGreetingText: ; 2a55 (0:2a55) TX_FAR _PokemartGreetingText - db $50 + db "@" LoadItemList: ; 2a5a (0:2a5a) ld a,$01 @@ -7009,7 +6967,7 @@ DisplayPokemonFaintedText: ; 2a9b (0:2a9b) PokemonFaintedText: ; 2aa4 (0:2aa4) TX_FAR _PokemonFaintedText - db $50 + db "@" DisplayPlayerBlackedOutText: ; 2aa9 (0:2aa9) ld hl,PlayerBlackedOutText @@ -7021,7 +6979,7 @@ DisplayPlayerBlackedOutText: ; 2aa9 (0:2aa9) PlayerBlackedOutText: ; 2aba (0:2aba) TX_FAR _PlayerBlackedOutText - db $50 + db "@" DisplayRepelWoreOffText: ; 2abf (0:2abf) ld hl,RepelWoreOffText @@ -7030,7 +6988,7 @@ DisplayRepelWoreOffText: ; 2abf (0:2abf) RepelWoreOffText: ; 2ac8 (0:2ac8) TX_FAR _RepelWoreOffText - db $50 + db "@" DisplayStartMenu: ; 2acd (0:2acd) ld a,$04 @@ -7055,10 +7013,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 @@ -7068,7 +7026,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 @@ -7077,7 +7035,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 @@ -7086,20 +7044,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 @@ -7159,7 +7117,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 @@ -7173,7 +7131,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) @@ -7190,7 +7148,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 @@ -7210,7 +7168,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 @@ -7244,7 +7202,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 @@ -7256,13 +7214,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 @@ -7283,12 +7241,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 @@ -7299,16 +7257,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 @@ -7319,7 +7277,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 @@ -7334,13 +7292,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 @@ -7369,7 +7327,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 @@ -7383,7 +7341,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] @@ -7407,7 +7365,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 @@ -7419,7 +7377,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 @@ -7465,7 +7423,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 @@ -7536,7 +7494,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 @@ -7562,9 +7520,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 @@ -7593,7 +7551,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 @@ -7615,7 +7573,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 @@ -7641,7 +7599,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 @@ -7662,7 +7620,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 @@ -7683,7 +7641,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 @@ -7763,7 +7721,7 @@ GetMonName: ; 2f9e (0:2f9e) ld bc,10 call CopyData ld hl,$cd77 - ld [hl],$50 + ld [hl], "@" pop de pop af ld [H_LOADEDROMBANK],a @@ -7949,7 +7907,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 @@ -8003,7 +7961,6 @@ DisplayTextBoxID: ; 30e8 (0:30e8) ld [$2000],a ret -; known jump sources: 466 (0:466), 68a (0:68a) Func_30fd: ; 30fd (0:30fd) ld a, [$cc57] and a @@ -8015,7 +7972,6 @@ Func_30fd: ; 30fd (0:30fd) and $80 ret -; known jump sources: 1038 (0:1038) Func_310e: ; 310e (0:310e) ld hl, $d736 bit 0, [hl] @@ -8028,7 +7984,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] @@ -8044,22 +8000,20 @@ 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 jp Bankswitch ; indirect jump to Func_1a3e0 (1a3e0 (6:63e0)) -; known jump sources: 1a50d (6:650d) Func_314e: ; 314e (0:314e) ld b, BANK(Func_1a41d) ld hl, Func_1a41d jp Bankswitch ; indirect jump to Func_1a41d (1a41d (6:641d)) -; no known jump sources Func_3156: ; 3156 (0:3156) ret @@ -8094,17 +8048,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) @@ -8123,7 +8077,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 @@ -8152,7 +8106,6 @@ ReadTrainerHeaderInfo: ; 3193 (0:3193) HandleBitArray_Bank0: ; 31c7 (0:31c7) ld a, $10 jp Predef ; indirect jump to HandleBitArray (f666 (3:7666)) -; 31cc (0:31cc) ; direct talking to a trainer (rather than getting seen by one) TalkToTrainer: ; 31cc (0:31cc) @@ -8161,7 +8114,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 @@ -8184,7 +8137,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 @@ -8200,7 +8153,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 @@ -8211,7 +8164,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 @@ -8223,15 +8176,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 -; known jump sources: 3216 (0:3216) Func_325d: ; 325d (0:325d) xor a - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a call InitBattleEnemyParameters ld hl, $d72d set 6, [hl] @@ -8242,21 +8194,20 @@ Func_325d: ; 325d (0:325d) inc [hl] ; progress to battle phase 2 (battling) ret -; known jump sources: 5a349 (16:6349), 60d3a (18:4d3a), 7623f (1d:623f), 76396 (1d:6396), 764ed (1d:64ed) EndTrainerBattle: ; 3275 (0:3275) ld hl, $d126 set 5, [hl] 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 @@ -8278,10 +8229,9 @@ EndTrainerBattle: ; 3275 (0:3275) res 4, [hl] ret nz -; known jump sources: 328b (0:328b) 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 @@ -8296,11 +8246,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 @@ -8308,7 +8258,6 @@ InitBattleEnemyParameters: ; 32d7 (0:32d7) ld [W_CURENEMYLVL], a ; $d127 ret -; known jump sources: 1cde1 (7:4de1) Func_32ef: ; 32ef (0:32ef) ld hl, Func_567f9 jr asm_3301 @@ -8317,7 +8266,6 @@ Func_32f4: ; 32f4 (0:32f4) ld hl, Func_56819 jr asm_3301 ; 0x32f7 $8 -; known jump sources: 1ce15 (7:4e15), 1d072 (7:5072), 1e7e5 (7:67e5) Func_32f9: ; 32f9 (0:32f9) ld hl, Func_5683d jr asm_3301 @@ -8328,7 +8276,6 @@ asm_3301: ; 3301 (0:3301) ld b, $15 jp Bankswitch ; indirect jump to one of the four functions -; known jump sources: 3219 (0:3219) CheckForEngagingTrainers: ; 3306 (0:3306) xor a call ReadTrainerHeaderInfo ; read trainer flag's bit (unused) @@ -8338,13 +8285,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 @@ -8358,15 +8305,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 @@ -8401,12 +8348,11 @@ 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 -; known jump sources: 3c6ce (f:46ce) Func_3381: ; 3381 (0:3381) push hl ld hl, $d72d @@ -8434,7 +8380,6 @@ Func_3381: ; 3381 (0:3381) call Bankswitch ; indirect jump to Func_1a5e7 (1a5e7 (6:65e7)) jp WaitForSoundToFinish -; known jump sources: 33d4 (0:33d4) Func_33b7: ; 33b7 (0:33b7) ld a, [$cf0b] and a @@ -8460,19 +8405,16 @@ Func_33d4: ; 33d4 (0:33d4) call TextCommandProcessor jp TextScriptEnd -; no known jump sources Func_33dd: ; 33dd (0:33dd) - ld a, [W_FLAGS_CD60] + ld a, [wFlags_0xcd60] bit 0, a ret nz call EngageMapTrainer xor a ret -; 0x33e8 -; known jump sources: 337e (0:337e) PlayTrainerMusic: ; 33e8 (0:33e8) - ld a, [W_ENGAGEDTRAINERCLASS] + ld a, [wEngagedTrainerClass] cp $c8 + SONY1 ret z cp $c8 + SONY2 @@ -8483,13 +8425,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 @@ -8517,24 +8459,23 @@ 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 - -; known jump sources: 345e (0:345e), 748f6 (1d:48f6) + 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] cp $ff @@ -8559,20 +8500,17 @@ Func_3442: ; 3442 (0:3442) inc hl jr Func_3442 -; known jump sources: 299f (0:299f) FuncTX_ItemStoragePC: ; 3460 (0:3460) call SaveScreenTilesToBuffer2 ld b, BANK(Func_78e6) ld hl, Func_78e6 jr bankswitchAndContinue -; known jump sources: 29a4 (0:29a4) FuncTX_BillsPC: ; 346a (0:346a) call SaveScreenTilesToBuffer2 ld b, BANK(Func_214c2) ld hl, Func_214c2 jr bankswitchAndContinue -; 3474 (0:3474) FuncTX_SlotMachine: ; 3474 (0:3474) ; XXX find a better name for this function @@ -8583,13 +8521,11 @@ bankswitchAndContinue: ; 3479 (0:3479) call Bankswitch jp HoldTextDisplayOpen ; continue to main text-engine function -; known jump sources: 29a9 (0:29a9) FuncTX_PokemonCenterPC: ; 347f (0:347f) ld b, BANK(ActivatePC) ld hl, ActivatePC jr bankswitchAndContinue -; known jump sources: 190cf (6:50cf), 1981a (6:581a), 19845 (6:5845), 1a402 (6:6402), 1a6b7 (6:66b7), 1ca63 (7:4a63), 1cbb2 (7:4bb2), 1cc64 (7:4c64), 1d4b2 (7:54b2), 1e6ca (7:66ca), 49705 (12:5705), 498bd (12:58bd), 512e9 (14:52e9), 51402 (14:5402), 5a36d (16:636d), 5a51f (16:651f), 5c1ea (17:41ea), 748fe (1d:48fe), 752b1 (1d:52b1), 75f5a (1d:5f5a), 760ab (1d:60ab), 761d6 (1d:61d6), 76217 (1d:6217), 7632d (1d:632d), 7636e (1d:636e), 76484 (1d:6484), 764c5 (1d:64c5) Func_3486: ; 3486 (0:3486) xor a ld [$cd3b], a @@ -8597,7 +8533,6 @@ Func_3486: ; 3486 (0:3486) ld hl, $d730 set 7, [hl] ret -; 3493 (0:3493) IsItemInBag: ; 3493 (0:3493) ; given an item_id in b @@ -8615,15 +8550,12 @@ DisplayPokedex: ; 349b (0:349b) ld b, BANK(Func_7c18) ld hl, Func_7c18 jp Bankswitch -; 0x34a6 -; known jump sources: 18eda (6:4eda), 19564 (6:5564), 1cbbc (7:4bbc), 1cbc6 (7:4bc6), 1cbe9 (7:4be9), 1cc43 (7:4c43), 1cc4d (7:4c4d), 1cd13 (7:4d13), 1cd54 (7:4d54), 1cd7a (7:4d7a), 1ce1f (7:4e1f), 1cf05 (7:4f05), 1cf0f (7:4f0f), 1cf7a (7:4f7a), 50ef8 (14:4ef8), 510aa (14:50aa), 51104 (14:5104), 51ce7 (14:5ce7), 5a540 (16:6540), 6054e (18:454e), 6142d (18:542d), 62224 (18:6224), 7602d (1d:602d), 76037 (1d:6037), 7604f (1d:604f), 76066 (1d:6066) Func_34a6: ; 34a6 (0:34a6) call Func_34ae ld c, $6 jp DelayFrames -; known jump sources: 34a6 (0:34a6) Func_34ae: ; 34ae (0:34ae) ld a, $9 ld [H_DOWNARROWBLINKCNT1], a ; $FF00+$8b @@ -8637,7 +8569,6 @@ Func_34b9: ; 34b9 (0:34b9) add hl, de ld [hl], a ret -; 0x34bf ; tests if the player's coordinates are in a specified array ; INPUT: @@ -8702,14 +8633,11 @@ CheckBoulderCoords: ; 34e4 (0:34e4) ld c, a pop hl jp CheckCoords -; 0x34fc -; known jump sources: 34b2 (0:34b2), 1ccd8 (7:4cd8), 1d15f (7:515f), 1d16c (7:516c), 1d235 (7:5235) Func_34fc: ; 34fc (0:34fc) ld h, $c1 jr asm_3502 -; known jump sources: 19530 (6:5530) Func_3500: ; 3500 (0:3500) ld h, $c2 asm_3502: ; 3502 (0:3502) @@ -8721,7 +8649,6 @@ asm_3502: ; 3502 (0:3502) ld l, a ret -; known jump sources: 3453 (0:3453), 1a4bc (6:64bc), 1a4c9 (6:64c9), 1cbab (7:4bab), 1d4ab (7:54ab), 5a366 (16:6366), 5a518 (16:6518), 75f53 (1d:5f53), 760a4 (1d:60a4) ; decodes a $ff-terminated RLEncoded list ; each entry is a pair of bytes <byte value> <repetitions> ; the final $ff will be replicated in the output list and a contains the number of bytes written @@ -8729,7 +8656,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 @@ -8739,9 +8666,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 @@ -8749,7 +8676,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 @@ -8763,7 +8690,6 @@ SetSpriteMovementBytesToFE: ; 3533 (0:3533) ld [hl], a pop hl ret -; 0x3541 ; sets both movement bytes for sprite [$FF8C] to $FF SetSpriteMovementBytesToFF: ; 3541 (0:3541) @@ -8797,7 +8723,6 @@ GetSpriteMovementByte2Pointer: ; 3558 (0:3558) pop de ret -; known jump sources: 3ef5b (f:6f5b) Func_3566: ; 3566 (0:3566) call Func_359e ld a, [W_ISLINKBATTLE] ; $d12b @@ -8831,7 +8756,6 @@ Func_3566: ; 3566 (0:3566) ld [hl], d ret -; known jump sources: 3566 (0:3566) Func_359e: ; 359e (0:359e) ld b, BANK(Func_13a58) ld hl, Func_13a58 @@ -8841,7 +8765,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 @@ -8850,11 +8774,10 @@ 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 -; 0x35bc BankswitchHome: ; 35bc (0:35bc) ; switches to bank # in a @@ -8899,13 +8822,11 @@ YesNoChoice: ; 35ec (0:35ec) call InitYesNoTextBoxParameters jr DisplayYesNoChoice -; no known jump sources Func_35f4: ; 35f4 (0:35f4) ld a, $14 ld [$d125], a call InitYesNoTextBoxParameters jp DisplayTextBoxID -; 0x35ff InitYesNoTextBoxParameters: ; 35ff (0:35ff) xor a @@ -8915,7 +8836,6 @@ InitYesNoTextBoxParameters: ; 35ff (0:35ff) ld bc, $80f ret -; known jump sources: 7000 (1:7000) YesNoChoicePokeCenter: ; 360a (0:360a) call SaveScreenTilesToBuffer1 ld a, $6 @@ -8925,7 +8845,6 @@ YesNoChoicePokeCenter: ; 360a (0:360a) ld bc, $80c jr DisplayYesNoChoice -; no known jump sources Func_361a: ; 361a (0:361a) call SaveScreenTilesToBuffer1 ld a, $3 @@ -8947,7 +8866,6 @@ CalcDifference: ; 3633 (0:3633) add $1 scf ret -; 363a (0:363a) MoveSprite: ; 363a (0:363a) ; move the sprite [$FF8C] with the movement pointed to by de @@ -8981,11 +8899,10 @@ MoveSprite_: ; 363d (0:363d) ld [$CD3B],a ld [$CCD3],a dec a - ld [W_JOYPADFORBIDDENBUTTONSMASK],a + ld [wJoypadForbiddenButtonsMask],a ld [$CD3A],a ret -; known jump sources: f964 (3:7964), f98d (3:798d) Func_366b: ; 366b (0:366b) push hl ld hl, $ffe7 @@ -9005,7 +8922,7 @@ Func_366b: ; 366b (0:366b) .asm_367e pop hl ret -; 3680 (0:3680) + ; copies the tile patterns for letters and numbers into VRAM LoadFontTilePatterns: ; 3680 (0:3680) ld a,[rLCDC] @@ -9072,7 +8989,6 @@ FillMemory: ; 36e0 (0:36e0) pop de ret -; known jump sources: 62a6 (1:62a6), 3eca0 (f:6ca0), 3f05d (f:705d), 70343 (1c:4343), 7035d (1c:435d) ; loads sprite that de points to UncompressSpriteFromDE: ; 36eb (0:36eb) ld hl, W_SPRITEINPUTPTR @@ -9082,8 +8998,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 @@ -9094,33 +9010,32 @@ 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 ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba ret -; 3739 (0:3739) DelayFrames: ; 3739 (0:3739) ; wait n frames, where n is the value in c @@ -9153,15 +9068,14 @@ WaitForSoundToFinish: ; 3748 (0:3748) jr nz, .asm_374f pop hl ret -; 375d (0:375d) NamePointers: ; 375d (0:375d) dw MonsterNames dw MoveNames dw UnusedNames dw ItemNames - dw $D273 ; player's OT names list - dw $D9AC ; enemy's OT names list + dw W_PARTYMON1OT ; player's OT names list + dw W_ENEMYMON1OT ; enemy's OT names list dw TrainerNames GetName: ; 376b (0:376b) @@ -9221,7 +9135,7 @@ GetName: ; 376b (0:376b) ld e,l .nextChar ld a,[hli] - cp a,$50 + cp a, "@" jr nz,.nextChar inc c ;entry counter ld a,b ;wanted entry @@ -9245,11 +9159,10 @@ GetName: ; 376b (0:376b) ld [$2000],a ret -; known jump sources: 2cdc (0:2cdc), 2ee0 (0:2ee0) 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 @@ -9295,14 +9208,13 @@ CopyStringToCF4B: ; 3826 (0:3826) ; fall through ; copies a string from [de] to [hl] -CopyString ; 3829 (0:3829) +CopyString: ; 3829 (0:3829) ld a, [de] inc de ld [hli], a - cp $50 + cp "@" jr nz, CopyString ret -; 3831 (0:3831) ; this function is used when lower button sensitivity is wanted (e.g. menus) ; OUTPUT: [$ffb5] = pressed buttons in usual format @@ -9401,7 +9313,6 @@ ManualTextScroll: ; 3898 (0:3898) .inLinkBattle ld c, $41 jp DelayFrames -; 38ac (0:38ac) ; function to do multiplication ; all values are big endian @@ -9509,7 +9420,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) @@ -9729,7 +9640,6 @@ CalcStat: ; 394a (0:394a) pop hl ret -; no known jump sources AddEnemyMonToPlayerParty: ; 3a53 (0:3a53) ld a, [H_LOADEDROMBANK] push af @@ -9742,9 +9652,7 @@ AddEnemyMonToPlayerParty: ; 3a53 (0:3a53) ld [H_LOADEDROMBANK], a ld [$2000], a ret -; 0x3a68 -; known jump sources: 215e8 (8:55e8), 2165c (8:565c) Func_3a68: ; 3a68 (0:3a68) ld a, [H_LOADEDROMBANK] push af @@ -9769,7 +9677,6 @@ SkipFixedLengthTextEntries: ; 3a7d (0:3a7d) dec a jr nz, .skipLoop ret -; 3a87 (0:3a87) AddNTimes: ; 3a87 (0:3a87) ; add bc to hl a times @@ -9867,7 +9774,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 @@ -9878,7 +9785,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 @@ -9888,40 +9795,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 @@ -9930,7 +9837,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 @@ -9942,7 +9849,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 @@ -9952,22 +9859,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 @@ -9989,11 +9896,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 @@ -10014,16 +9921,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 @@ -10032,9 +9939,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 @@ -10042,9 +9949,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 @@ -10412,7 +10319,6 @@ IsInArrayCummulativeCount: ; 3dad (0:3dad) scf ret -; known jump sources: 656e (1:656e), ef9e (3:6f9e), 130ce (4:70ce), 132d9 (4:72d9), 133f9 (4:73f9), 1da79 (7:5a79), 71ca5 (1c:5ca5) Func_3dbe: ; 3dbe (0:3dbe) call CleanLCD_OAM ld a, $1 @@ -10422,7 +10328,7 @@ Func_3dbe: ; 3dbe (0:3dbe) call LoadTextBoxTilePatterns call GoPAL_SET_CF1C jr Delay3 -; 3dd4 (0:3dd4) + ; calls GBPalWhiteOut and then Delay3 GBPalWhiteOutWithDelay3: ; 3dd4 (0:3dd4) call GBPalWhiteOut @@ -10457,7 +10363,6 @@ GoPAL_SET: ; 3def (0:3def) ld a,$45 jp Predef -; known jump sources: 129eb (4:69eb), 12ed1 (4:6ed1), 3ce91 (f:4e91) Func_3df9: ; 3df9 (0:3df9) ld a, e cp $1b @@ -10471,7 +10376,6 @@ Func_3df9: ; 3df9 (0:3df9) ld [hl], d ret -; known jump sources: 3dc6 (0:3dc6), 653b (1:653b) Func_3e08: ; 3e08 (0:3e08) ld hl, $cfc4 ld a, [hl] @@ -10491,7 +10395,6 @@ Func_3e08: ; 3e08 (0:3e08) call LoadPlayerSpriteGraphics call LoadFontTilePatterns jp UpdateSprites -; 3e2e (0:3e2e) GiveItem: ; 3e2e (0:3e2e) ; Give player quantity c of item b, and copy item name to $cf4b. @@ -10501,7 +10404,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 @@ -10581,15 +10484,12 @@ Load16BitRegisters: ; 3e94 (0:3e94) ld a, [$cc54] ld c, a ret -; 0x3ead -; known jump sources: 75769 (1d:5769), 75837 (1d:5837) Func_3ead: ; 3ead (0:3ead) ld b, BANK(Func_1eb0a) ld hl, Func_1eb0a jp Bankswitch ; indirect jump to Func_1eb0a (1eb0a (7:6b0a)) -; known jump sources: 46b (0:46b) Func_3eb5: ; 3eb5 (0:3eb5) ld a, [H_LOADEDROMBANK] push af @@ -10627,16 +10527,14 @@ Func_3eb5: ; 3eb5 (0:3eb5) ld [H_LOADEDROMBANK], a ret -; known jump sources: fb74 (3:7b74), 1ea22 (7:6a22), 1eb88 (7:6b88), 1eb92 (7:6b92), 1ebd9 (7:6bd9), 526ab (14:66ab), 526e0 (14:66e0), 5dbba (17:5bba), 5dbd0 (17:5bd0), 5de0e (17:5e0e), 5de7a (17:5e7a), 62526 (18:6526), 766b5 (1d:66b5) 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] call DisplayTextID -; known jump sources: 738f4 (1c:78f4) Func_3f05: ; 3f05 (0:3f05) ld hl, W_MAPTEXTPTR ; $d36c ld a, [$FF00+$ec] @@ -10645,7 +10543,6 @@ Func_3f05: ; 3f05 (0:3f05) ld [hl], a ret -; known jump sources: 3efa (0:3efa), 738fd (1c:78fd) Func_3f0f: ; 3f0f (0:3f0f) ld a, [W_MAPTEXTPTR] ; $d36c ld [$FF00+$ec], a @@ -10656,110 +10553,110 @@ Func_3f0f: ; 3f0f (0:3f0f) ld a, h ld [$d36d], a ret -; 3f22 (0:3f22) -; 0x3F22 - dw $66ee - dw $66f8 - dw $5b8e - dw $5b81 - dw $6960 - dw $697e - dw $6983 - dw $6cbd - dw $5bbe - dw $5ba8 - dw $5bd4 - dw $6453 - dw $6458 - dw $6511 - dw $64a3 - dw $64a8 - dw $64ad - dw $64b2 - dw $64d0 - dw $64d5 - dw $6502 - dw $64da - dw $64df - dw $64e4 - dw $64b7 - dw $64bc - dw $64c1 - dw $64c6 - dw $64cb + +PointerTable_3f22: ; 3f22 (0:3f22) + dw CardKeySuccessText ; id = 01 + dw CardKeyFailText ; id = 02 + dw Route15UpstairsLeftBinoculars ; id = 03 + dw RedBedroomSNESText ; id = 04 + dw UnnamedText_1e960 ; id = 05 + dw UnnamedText_1e97e ; id = 06 + dw UnnamedText_1e983 ; id = 07 + dw OakLabEmailText ; id = 08 + dw AerodactylFossilText ; id = 09 + dw Route15UpstairsBinocularsText ; id = 0A + dw KabutopsFossilText ; id = 0B + dw GymStatueText1 ; id = 0C + dw GymStatueText2 ; id = 0D + dw BookcaseText ; id = 0E + dw ViridianCityPokecenterBenchGuyText ; id = 0F + dw PewterCityPokecenterBenchGuyText ; id = 10 + dw CeruleanCityPokecenterBenchGuyText ; id = 11 + dw LavenderCityPokecenterBenchGuyText ; id = 12 + dw VermilionCityPokecenterBenchGuyText ; id = 13 + dw CeladonCityPokecenterBenchGuyText ; id = 14 + dw CeladonCityHotelText ; id = 15 + dw FuchsiaCityPokecenterBenchGuyText ; id = 16 + dw CinnabarIslandPokecenterBenchGuyText ; id = 17 + dw SaffronCityPokecenterBenchGuyText ; id = 18 + dw MtMoonPokecenterBenchGuyText ; id = 19 + dw RockTunnelPokecenterBenchGuyText ; id = 1A + dw UnnamedText_624c1 ; id = 1B + dw UnnamedText_624c6 ; id = 1C + dw UnnamedText_624cb ; id = 1D dw $6508 dw $6529 - dw $69aa - dw $5ced - dw $5865 + dw ViridianSchoolNotebook ; id = 20 + dw ViridianSchoolBlackboard ; id = 21 + dw UnnamedText_21865 ; id = 22 dw $5878 - dw FoundHiddenItemText - dw HiddenItemBagFullText - dw $5df7 - dw $6a3d - dw $7e79 - dw $7e7e - dw $7e83 - dw FoundHiddenCoinsText - dw DroppedHiddenCoinsText - dw $6bdd - dw $6be2 - dw $6c05 - dw $6b69 - dw $6a25 - dw $7f37 - dw $7f32 - dw $5c29 - dw $69a4 - dw $6a2a - dw $6a10 - dw $6a1d - dw $6953 - dw $7bbf - dw $5ec8 - dw $5edb - dw $5eef - dw $5f02 - dw $7c12 - dw $7be8 - dw $7c0d - dw $7c45 + dw FoundHiddenItemText ; id = 24 + dw HiddenItemBagFullText ; id = 25 + dw VermilionGymTrashText ; id = 26 + dw IndigoPlateauHQText ; id = 27 + dw GameCornerOutOfOrderText ; id = 28 + dw GameCornerOutToLunchText ; id = 29 + dw GameCornerSomeonesKeysText ; id = 2A + dw FoundHiddenCoinsText ; id = 2B + dw DroppedHiddenCoinsText ; id = 2C + dw BillsHouseMonitorText ; id = 2D + dw BillsHouseInitiatedText ; id = 2E + dw BillsHousePokemonList ; id = 2F + dw UnnamedText_1eb69 ; id = 30 + dw CinnabarGymQuiz ; id = 31 + dw GameCornerNoCoinsText ; id = 32 + dw GameCornerCoinCaseText ; id = 33 + dw LinkCableHelp ; id = 34 + dw TMNotebook ; id = 35 + dw FightingDojoText ; id = 36 + dw UnnamedText_52a10 ; id = 37 + dw UnnamedText_52a1d ; id = 38 + dw NewBicycleText ; id = 39 + dw IndigoPlateauStatues ; id = 3A + dw VermilionGymTrashSuccesText1 ; id = 3B + dw VermilionGymTrashSuccesText2 ; id = 3C + dw VermilionGymTrashSuccesText3 ; id = 3D + dw VermilionGymTrashFailText ; id = 3E + dw TownMapText ; id = 3F + dw UnnamedText_fbe8 ; id = 40 + dw UnnamedText_fc0d ; id = 41 + dw UnnamedText_fc45 ; id = 42 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 @@ -10785,7 +10682,6 @@ SpriteOAMParametersFlipped: ; 40a4 (1:40a4) db $08,$08, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED db $08,$00, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA -; known jump sources: 945 (0:945) Func_40b0: ; 40b0 (1:40b0) xor a ld [$cf0b], a @@ -10795,17 +10691,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 @@ -10815,26 +10711,25 @@ 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)) -; 4112 (1:4112) + MewPicFront: ; 4112 (1:4112) INCBIN "pic/bmon/mew.pic" MewPicBack: ; 4205 (1:4205) INCBIN "pic/monback/mewb.pic" -; 0x425b MewBaseStats: ; 425b (1:425b) db DEX_MEW ; pokedex id @@ -10853,7 +10748,7 @@ MewBaseStats: ; 425b (1:425b) dw MewPicFront dw MewPicBack - + ; attacks known at lvl 0 db POUND db 0 @@ -10861,7 +10756,7 @@ MewBaseStats: ; 425b (1:425b) db 0 db 3 ; growth rate - + ; include learnset directly db %11111111 db %11111111 @@ -10872,7 +10767,6 @@ MewBaseStats: ; 425b (1:425b) db %11111111 db %11111111 ; usually spacing -; known jump sources: 3c17f (f:417f) Func_4277: ; 4277 (1:4277) ld hl, $cce9 ld a, [hl] @@ -10901,16 +10795,14 @@ Func_4277: ; 4277 (1:4277) call LoadScreenTilesFromBuffer1 pop hl jp PrintText -; 42a7 (1:42a7) + UnnamedText_42a7: ; 42a7 (1:42a7) TX_FAR SafariZoneEatingText - db $50 -; 0x42a7 + 5 bytes + db "@" UnnamedText_42ac: ; 42ac (1:42ac) TX_FAR SafariZoneAngryText - db $50 -; 0x42ac + 5 bytes + db "@" ; copy text of fixed length $b (like player name, rival name, mon names, ...) CopyFixedLengthText: ; 42b1 (1:42b1) @@ -10935,7 +10827,6 @@ Func_42b7: ; 42b7 (1:42b7) ld [$c0ef], a ld [$c0f0], a -; known jump sources: 5526 (1:5526), 5b89 (1:5b89) Func_42dd: ; 42dd (1:42dd) call GBPalWhiteOut ld a, $1 @@ -10971,8 +10862,6 @@ Func_42dd: ; 42dd (1:42dd) ld a, BANK(PokemonLogoGraphics) call FarCopyData2 ; second chunk ld hl, Version_GFX ; $402f -; 4335 (1:4335) -; 0x4335 IF _RED ld de,$9600 ; where to put redgreenversion.2bpp in the VRAM ld bc,$50 ; how big that file is @@ -11028,13 +10917,12 @@ 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 call LoadScreenTilesFromBuffer2 call EnableLCD -; 4398 (1:4398) IF _RED ld a,CHARMANDER ; which Pokemon to show first on the title screen ENDC @@ -11042,7 +10930,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 @@ -11057,8 +10945,8 @@ ENDC call GBPalNormal ld a, $e4 ld [rOBP0], a ; $FF00+$48 - ld bc, $ffaf - ld hl, .unknown_43db ; $43db + ld bc, $ffaf ; background scroll Y + ld hl, .TitleScreenPokemonLogoYScrolls ; $43db .asm_43c6 ld a, [hli] and a @@ -11071,19 +10959,29 @@ ENDC .asm_43d4 ld a, [hli] ld e, a - call .asm_43ea + call .ScrollTitleScreenPokemonLogo jr .asm_43c6 -.unknown_43db: ; 43db (1:43db) -INCBIN "baserom.gbc",$43db,$43ea - $43db - -.asm_43ea +.TitleScreenPokemonLogoYScrolls: ; 43db (1:43db) +; Controls the bouncing effect of the Pokemon logo on the title screen + db -4,16 ; y scroll amount, number of times to scroll + db 3,4 + db -3,4 + db 2,2 + db -2,2 + db 1,2 + db -1,2 + db 0 ; terminate list with 0 + +.ScrollTitleScreenPokemonLogo +; Scrolls the Pokemon logo on the title screen to create the bouncing effect +; Scrolls d pixels e times call DelayFrame ld a, [bc] add d ld [bc], a dec e - jr nz, .asm_43ea + jr nz, .ScrollTitleScreenPokemonLogo ret .asm_43f4 call LoadScreenTilesFromBuffer1 @@ -11132,7 +11030,7 @@ INCBIN "baserom.gbc",$43db,$43ea - $43db call Func_4496 jr .asm_443b .asm_4459 - ld a, [W_WHICHTRADE] ; $cd3d + ld a, [wWhichTrade] ; $cd3d call PlayCry call WaitForSoundToFinish call GBPalWhiteOutWithDelay3 @@ -11155,13 +11053,11 @@ INCBIN "baserom.gbc",$43db,$43ea - $43db jp z, Func_448e jp MainMenu -; known jump sources: 4488 (1:4488) Func_448e: ; 448e (1:448e) ld b, BANK(Func_1c98a) ld hl, Func_1c98a jp Bankswitch ; indirect jump to Func_1c98a (1c98a (7:498a)) -; known jump sources: 4454 (1:4454) Func_4496: ; 4496 (1:4496) ld a, $98 call Func_4533 @@ -11173,7 +11069,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 @@ -11186,7 +11082,6 @@ Func_4496: ; 4496 (1:4496) call Bankswitch ; indirect jump to LoadScreenTilesFromBuffer18 (37258 (d:7258)) ret -; known jump sources: 4442 (1:4442) Func_44c1: ; 44c1 (1:44c1) ld d, $0 ld b, BANK(LoadScreenTilesFromBuffer18) @@ -11196,7 +11091,6 @@ Func_44c1: ; 44c1 (1:44c1) ld [$FF00+$b0], a ret -; known jump sources: 440d (1:440d), 4414 (1:4414), 44d2 (1:44d2) Func_44cf: ; 44cf (1:44cf) ld a, [$FF00+$44] cp l @@ -11209,7 +11103,6 @@ Func_44cf: ; 44cf (1:44cf) jr z, .asm_44d7 ret -; known jump sources: 4366 (1:4366) Func_44dd: ; 44dd (1:44dd) ld hl, PlayerCharacterTitleGraphics ; $66a8 ld de, $8000 @@ -11218,8 +11111,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 @@ -11232,10 +11125,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 @@ -11247,14 +11140,12 @@ Func_44dd: ; 44dd (1:44dd) jr nz, .asm_44fa ret -; known jump sources: 4340 (1:4340) Func_4519: ; 4519 (1:4519) ld hl, $9800 ld bc, $800 ld a, $7f jp FillMemory -; known jump sources: 439d (1:439d), 44af (1:44af) Func_4524: ; 4524 (1:4524) ld [$cf91], a ld [$d0b5], a @@ -11263,19 +11154,16 @@ Func_4524: ; 4524 (1:4524) call GetMonHeader jp LoadFrontSpriteByMonIndex -; known jump sources: 43a2 (1:43a2), 43b1 (1:43b1), 4420 (1:4420), 4473 (1:4473), 4478 (1:4478), 4498 (1:4498) Func_4533: ; 4533 (1:4533) ld [$FF00+$bd], a jp Delay3 -; known jump sources: 41894 (10:5894) Func_4538: ; 4538 (1:4538) xor a ld [$FF00+$b0], a call ClearScreen call LoadTextBoxTilePatterns -; known jump sources: 741fa (1d:41fa) Func_4541: ; 4541 (1:4541) ld de, NintendoCopyrightLogoGraphics ; $60c8 ld hl, $9600 @@ -11354,15 +11242,14 @@ PrintGameVersionOnTitleScreen: ; 4598 (1:4598) ld hl, Coord ld de, VersionOnTitleScreenText ; $45a1 jp PlaceString -; 45a1 (1:45a1) ; these point to special tiles specifically loaded for that purpose ad are no usual text VersionOnTitleScreenText: ; 45a1 (1:45a1) IF _RED - db $60,$61,$7F,$65,$66,$67,$68,$69,$50 ; "Red Version" + db $60,$61,$7F,$65,$66,$67,$68,$69,"@" ; "Red Version" ENDC IF _BLUE - db $61,$62,$63,$64,$65,$66,$67,$68,$50 ; "Blue Version" + db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version" ENDC NintenText: ; 45aa (1:45aa) @@ -11404,7 +11291,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 @@ -11637,10 +11524,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 @@ -11702,7 +11588,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) @@ -11773,7 +11659,6 @@ PrepareOAMData: ; 4b0f (1:4b0f) add hl, de jr .clearUnusedOAMEntriesLoop -; known jump sources: 4b37 (1:4b37), 4b64 (1:4b64) Func_4bd1: ; 4bd1 (1:4bd1) inc e inc e @@ -11796,7 +11681,6 @@ Func_4bd1: ; 4bd1 (1:4bd1) ld [de], a ; c1xb (sprite X pos (snapped to whole steps (?)) ret -; known jump sources: 1f9e (0:1f9e) ; copies DMA routine to HRAM. By GB specifications, all DMA needs to be done in HRAM (no other memory section is available during DMA) WriteDMACodeToHRAM: ; 4bed (1:4bed) ld c, $80 @@ -11819,9 +11703,7 @@ DMARoutine: ; 4bfb (1:4bfb) dec a jr nz, .waitLoop ret -; 0x4c05 -; known jump sources: 3d638 (f:5638) Func_4c05: ; 4c05 (1:4c05) FuncCoord 3, 10 ; $c46b ld hl, Coord @@ -11845,7 +11727,6 @@ Func_4c05: ; 4c05 (1:4c05) WaitingText: ; 4c28 (1:4c28) db "Waiting...!@" -; known jump sources: 2438 (0:2438) _UpdateSprites: ; 4c34 (1:4c34) ld h, $c1 inc h @@ -11876,7 +11757,6 @@ _UpdateSprites: ; 4c34 (1:4c34) jp nz, UpdateNonPlayerSprite jp UpdatePlayerSprite -; known jump sources: 4c56 (1:4c56) UpdateNonPlayerSprite: ; 4c5c (1:4c5c) dec a swap a @@ -11890,7 +11770,6 @@ UpdateNonPlayerSprite: ; 4c5c (1:4c5c) .unequal jp Func_4ed1 -; known jump sources: 4e50 (1:4e50), 51af (1:51af) Func_4c70: ; 4c70 (1:4c70) nop ld h, $c1 @@ -11930,7 +11809,6 @@ Func_4c70: ; 4c70 (1:4c70) ld [hl], a xor a -; known jump sources: 4d6e (1:4d6e) Func_4ca5: ; 4ca5 (1:4ca5) ld [$FF00+$8f], a swap a @@ -12082,7 +11960,6 @@ Func_4ca5: ; 4ca5 (1:4ca5) jp nz, Func_4ca5 ret -; known jump sources: 4c80 (1:4c80), 4c8d (1:4c8d), 4cc4 (1:4cc4), 4d05 (1:4d05) Func_4d72: ; 4d72 (1:4d72) and a ld b, $0 @@ -12099,11 +11976,39 @@ Func_4d72: ; 4d72 (1:4d72) ret DiagonalLines: ; 4d85 (1:4d85) -INCBIN "gfx/diagonal_lines.2bpp" + 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 -; known jump sources: 24f7 (0:24f7) PickupItem: ; 4de1 (1:4de1) call EnableAutoTextBoxDrawing ld a, [H_DOWNARROWBLINKCNT2] ; $FF00+$8c @@ -12149,23 +12054,20 @@ PickupItem: ; 4de1 (1:4de1) FoundItemText: ; 4e26 (1:4e26) TX_FAR _FoundItemText db $0B - db $50 -; 0x4e26 + 5 bytes + db "@" NoMoreRoomForItemText: ; 4e2c (1:4e2c) TX_FAR _NoMoreRoomForItemText - db $50 -; 0x4e2c + 5 bytes + db "@" -; known jump sources: 4c59 (1:4c59) 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 @@ -12180,7 +12082,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] @@ -12250,9 +12152,17 @@ 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 -; known jump sources: 4c6d (1:4c6d) Func_4ed1: ; 4ed1 (1:4ed1) ld a, [H_CURRENTSPRITEOFFSET] swap a @@ -12262,7 +12172,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 @@ -12288,7 +12198,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 @@ -12333,7 +12243,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 @@ -12345,7 +12255,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 @@ -12358,7 +12268,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 @@ -12370,7 +12280,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 @@ -12380,7 +12290,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 @@ -12390,8 +12300,7 @@ Func_4ed1: ; 4ed1 (1:4ed1) ld bc, $10c jr TryWalking -; known jump sources: 4f36 (1:4f36) -; cahnges facing direction by zeroing the movement delta and calling TryWalking +; changes facing direction by zeroing the movement delta and calling TryWalking ChangeFacingDirection: ; 4fc8 (1:4fc8) ld de, $0 ; fall through @@ -12440,7 +12349,6 @@ TryWalking: ; 4fcb (1:4fcb) ld [hl], $3 ; c1x1: set movement status to walking jp UpdateSpriteImage -; known jump sources: 4f0c (1:4f0c) ; update the walking animation parameters for a sprite that is currently walking UpdateSpriteInWalkingAnimation: ; 4ffe (1:4ffe) ld a, [H_CURRENTSPRITEOFFSET] @@ -12514,7 +12422,6 @@ UpdateSpriteInWalkingAnimation: ; 4ffe (1:4ffe) ld [hl], a ; reset movement X delta ret -; known jump sources: 4f07 (1:4f07) ; update delay value (c2x8) for sprites in the delayed state (c1x1) UpdateSpriteMovementDelay: ; 5057 (1:5057) ld h, $c2 @@ -12545,7 +12452,6 @@ notYetMoving: ; 5073 (1:5073) ld [hl], $0 ; c1x8 = 0 (walk animation frame) jp UpdateSpriteImage -; known jump sources: 4ef8 (1:4ef8) InitializeSpriteFacingDirection: ; 507f (1:507f) ld a, [$d72d] bit 5, a @@ -12575,7 +12481,6 @@ InitializeSpriteFacingDirection: ; 507f (1:507f) ld [hl], c ; c1x9: set facing direction jr notYetMoving -; known jump sources: 4ee8 (1:4ee8) InitializeSpriteStatus: ; 50ad (1:50ad) ld [hl], $1 ; $c1x1: set movement status to ready inc l @@ -12589,7 +12494,6 @@ InitializeSpriteStatus: ; 50ad (1:50ad) ld [hl], a ; $c2x3: set X displacement to 8 ret -; known jump sources: 4f14 (1:4f14) ; calculates the spprite's scrren position form its map position and the player position InitializeSpriteScreenPosition: ; 50bd (1:50bd) ld h, $c2 @@ -12614,7 +12518,6 @@ InitializeSpriteScreenPosition: ; 50bd (1:50bd) ld [hl], a ; c1x6 (screen X position) ret -; known jump sources: 4eeb (1:4eeb) ; tests if sprite is off screen or otherwise unable to do anything CheckSpriteAvailability: ; 50dc (1:50dc) ld a, $12 @@ -12677,7 +12580,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 @@ -12696,7 +12599,6 @@ CheckSpriteAvailability: ; 50dc (1:50dc) .done ret -; known jump sources: 4ffb (1:4ffb), 507c (1:507c), 5141 (1:5141) UpdateSpriteImage: ; 5157 (1:5157) ld h, $c1 ld a, [H_CURRENTSPRITEOFFSET] @@ -12716,7 +12618,6 @@ UpdateSpriteImage: ; 5157 (1:5157) ld [hl], b ; c1x2: sprite to display ret -; known jump sources: 4fe0 (1:4fe0) ; tests if sprite can walk the specified direction ; b: direction (1,2,4 or 8) ; c: ID of tile the sprite would walk onto @@ -12830,7 +12731,6 @@ CanWalkOntoTile: ; 516e (1:516e) scf ; set carry (marking failure to walk) ret -; known jump sources: 4f59 (1:4f59), 5115 (1:5115) ; calculates the tile pointer pointing to the tile the current sprite stancs on ; this is always the lower left tile of the 2x2 tile blocks all sprites are snapped to ; hl: output pointer @@ -12853,13 +12753,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 @@ -12872,7 +12772,6 @@ LoadDEPlusA: ; 522f (1:522f) ld a, [de] ret -; known jump sources: 4c6a (1:4c6a) Func_5236: ; 5236 (1:5236) ld a, [$d730] bit 7, a @@ -12939,7 +12838,6 @@ Func_5236: ; 5236 (1:5236) inc [hl] ret -; known jump sources: 5243 (1:5243) Func_52a6: ; 52a6 (1:52a6) xor a ld [$cd37], a @@ -12947,27 +12845,24 @@ Func_52a6: ; 52a6 (1:52a6) ld [$cf18], a jp Func_52c3 -; known jump sources: 5256 (1:5256), 5263 (1:5263) Func_52b2: ; 52b2 (1:52b2) ld a, $4 ld b, a jr asm_52ba -; known jump sources: 5270 (1:5270), 527d (1:527d) 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 ld l, a ret -; known jump sources: 5294 (1:5294), 52af (1:52af) Func_52c3: ; 52c3 (1:52c3) - ld hl, $c200 + ld hl, wSpriteStateData2 ld a, [H_CURRENTSPRITEOFFSET] add $e ld l, a @@ -12975,7 +12870,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 @@ -12994,7 +12889,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 @@ -13005,7 +12900,6 @@ Func_52c3: ; 52c3 (1:52c3) ld [hl], a ret -; known jump sources: 52ee (1:52ee) Func_5301: ; 5301 (1:5301) ld a, [H_CURRENTSPRITEOFFSET] add $7 @@ -13025,7 +12919,6 @@ Func_5301: ; 5301 (1:5301) ld [$FF00+$ea], a ret -; known jump sources: 5a75 (1:5a75) Func_5317: ; 5317 (1:5317) ld c, $50 call DelayFrames @@ -13069,7 +12962,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 @@ -13141,7 +13034,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 @@ -13152,7 +13045,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 @@ -13163,7 +13056,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 @@ -13204,7 +13097,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] @@ -13216,7 +13109,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 @@ -13242,7 +13135,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 @@ -13326,7 +13219,7 @@ Func_551c: ld h, [hl] ld l, a jp [hl] - + Func_5530 call ClearScreen call Func_5ae6 @@ -13382,7 +13275,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 @@ -13596,7 +13489,6 @@ Func_5530 cp $f jr nz, .asm_5745 ; 0x577b $c8 -; known jump sources: 5503 (1:5503) Func_577d: ; 577d (1:577d) call GBPalWhiteOutWithDelay3 ld hl, $cfc4 @@ -13630,7 +13522,7 @@ Func_57a2: ld hl, $c4e2 ld de, CancelTextString jp PlaceString - + CancelTextString: db "CANCEL@" @@ -13655,7 +13547,7 @@ Func_57d6: jp Func_57a2 Func_57f2: - ld hl, $c3a0 + ld hl, wTileMap ld b, $6 ld c, $12 call Func_5ab3 @@ -13773,7 +13665,7 @@ Func_5849: jp Func_5a18 .asm_58fd ld a, [$cd3d] - ld hl, $d273 + ld hl, W_PARTYMON1OT ; OT names of player call SkipFixedLengthTextEntries ld de, $cd41 ld bc, $000b @@ -13789,12 +13681,12 @@ Func_5849: ld a, [hl] ld [$cd4d], a ld a, [$cd3e] - ld hl, $d9ac + ld hl, W_ENEMYMON1OT ; OT names of other player call SkipFixedLengthTextEntries ld de, $cd4e ld bc, $000b call CopyData - ld hl, $d8a4 + ld hl, wEnemyMons ld a, [$cd3e] ld bc, $002c call AddNTimes @@ -13824,7 +13716,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 @@ -13845,7 +13737,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 @@ -13899,8 +13791,7 @@ Func_5a18: SSAnne8AfterBattleText2: ; 5a24 (1:5a24) TX_FAR _SSAnne8AfterBattleText2 - db $50 -; 0x5a24 + 5 bytes + db "@" TradeCompleted: db "Trade completed!@" @@ -13912,7 +13803,6 @@ PointerTable_5a5b: ; 5a5b (1:5a5b) dw Func_5530 dw Func_5849 -; known jump sources: 3888 (0:3888) Func_5a5f: ; 5a5f (1:5a5f) ld a, [W_ISLINKBATTLE] ; $d12b cp $2 @@ -13944,21 +13834,19 @@ 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 ld [$c0ee], a jp PlaySound -; known jump sources: 5a6f (1:5a6f) Func_5aaf: ; 5aaf (1:5aaf) ret -Unknown_5ab0: +Func_5ab0: call Load16BitRegisters -; known jump sources: 4c17 (1:4c17), 5332 (1:5332), 75b4 (1:75b4) Func_5ab3: ; 5ab3 (1:5ab3) push hl ld a, $78 @@ -13989,7 +13877,6 @@ Func_5ab3: ; 5ab3 (1:5ab3) ld [hl], $7d ret -; known jump sources: 5ab8 (1:5ab8), 5ac8 (1:5ac8), 5ada (1:5ada) Func_5ae0: ; 5ae0 (1:5ae0) ld d, c .asm_5ae1 @@ -13998,13 +13885,11 @@ Func_5ae0: ; 5ae0 (1:5ae0) jr nz, .asm_5ae1 ret -; known jump sources: 5328 (1:5328) Func_5ae6: ; 5ae6 (1:5ae6) ld de, TrainerInfoTextBoxTileGraphics ; $7b98 ld hl, $9760 ld bc, (BANK(TrainerInfoTextBoxTileGraphics) << 8) +$09 jp CopyVideoData -; 5af2 (1:5af2) MainMenu: ; 5af2 (1:5af2) ; Check save file @@ -14132,7 +14017,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 @@ -14140,15 +14025,13 @@ Func_5bff: ; 5bff (1:5bff) ld a,3 ld [$D355],a ret -; 0x5c0a -; known jump sources: 72b0 (1:72b0) Func_5c0a: ; 5c0a (1:5c0a) xor a 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 @@ -14166,7 +14049,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 @@ -14186,7 +14069,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 @@ -14222,7 +14105,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 @@ -14238,7 +14121,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 @@ -14263,12 +14146,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 @@ -14283,11 +14166,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 @@ -14295,7 +14178,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 @@ -14303,23 +14186,19 @@ Func_5c0a: ; 5c0a (1:5c0a) ld hl, $d72e res 6, [hl] ret -; 5d43 (1:5d43) + UnnamedText_5d43: ; 5d43 (1:5d43) TX_FAR _UnnamedText_5d43 - db $50 -; 0x5d43 + 5 bytes + db "@" UnnamedText_5d48: ; 5d48 (1:5d48) TX_FAR _UnnamedText_5d48 - db $50 -; 0x5d48 + 5 bytes + db "@" UnnamedText_5d4d: ; 5d4d (1:5d4d) TX_FAR _UnnamedText_5d4d - db $50 -; 0x5d4d + 5 bytes + db "@" -; known jump sources: 5ba4 (1:5ba4) Func_5d52: ; 5d52 (1:5d52) ld hl, $d732 res 1, [hl] @@ -14327,7 +14206,6 @@ Func_5d52: ; 5d52 (1:5d52) ld c, $14 call DelayFrames -; known jump sources: 5be5 (1:5be5), 5bed (1:5bed), 5bfc (1:5bfc), 5d2b (1:5d2b) Func_5d5f: ; 5d5f (1:5d5f) xor a ld [H_NEWLYPRESSEDBUTTONS], a @@ -14353,7 +14231,6 @@ NewGameText: ; 5d87 (1:5d87) TradeCenterText: ; 5d97 (1:5d97) db "TRADE CENTER",$4e,"COLOSSEUM",$4e,"CANCEL@" -; known jump sources: 5bb2 (1:5bb2) Func_5db5: ; 5db5 (1:5db5) xor a ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba @@ -14384,9 +14261,32 @@ 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 -; known jump sources: 5dd7 (1:5dd7) Func_5e2f: ; 5e2f (1:5e2f) push hl ld hl, W_OBTAINEDBADGES ; $d356 @@ -14397,10 +14297,9 @@ Func_5e2f: ; 5e2f (1:5e2f) ld bc, $102 jp PrintNumber -; known jump sources: 5ddd (1:5ddd) Func_5e42: ; 5e42 (1:5e42) push hl - ld hl, W_OWNEDPOKEMON ; $d2f7 + ld hl, wPokedexOwned ; $d2f7 ld b, $13 call CountSetBits pop hl @@ -14408,7 +14307,6 @@ Func_5e42: ; 5e42 (1:5e42) ld bc, $103 jp PrintNumber -; known jump sources: 5de3 (1:5de3) Func_5e55: ; 5e55 (1:5e55) ld de, $da41 ld bc, $103 @@ -14458,16 +14356,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 @@ -14486,7 +14384,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 @@ -14494,11 +14392,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? @@ -14544,9 +14442,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 @@ -14691,7 +14589,6 @@ TextSpeedOptionData: ; 6096 (1:6096) db 7 ; default X coordinate (Medium) db $ff ; terminator -; known jump sources: 5afd (1:5afd) Func_609e: ; 609e (1:609e) ld a, $a ld [$0], a @@ -14718,7 +14615,6 @@ Func_609e: ; 609e (1:609e) scf ret -; known jump sources: 6128 (1:6128) Func_60ca: ; 60ca (1:60ca) ld a, [$d358] push af @@ -14730,7 +14626,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 @@ -14751,7 +14647,6 @@ Func_60ca: ; 60ca (1:60ca) ld de, W_RIVALNAME ; $d34a ld bc, $b jp CopyData -; 6115 (1:6115) OakSpeech: ; 6115 (1:6115) ld a,$FF @@ -14773,12 +14668,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? @@ -14815,7 +14710,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 @@ -14855,7 +14751,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 @@ -14956,7 +14852,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 @@ -14985,25 +14881,24 @@ Function62CE: ; 62CE XXX called by 4B2 948 989 5BF9 5D15 ld [$D365],a ret -; known jump sources: 62ce (1:62ce) Func_62ff: ; 62ff (1:62ff) ld a, [$d72d] cp $ef jr nz, .asm_6314 - ld hl, Unknown_6428 ; $6428 + ld hl, BattleCenterSpec1 ; $6428 ld a, [$FF00+$aa] cp $2 jr z, .asm_6334 - ld hl, Unknown_6430 ; $6430 + ld hl, BattleCenterSpec2 ; $6430 jr .asm_6334 .asm_6314 cp $f0 jr nz, .asm_6326 - ld hl, Unknown_6438 ; $6438 + ld hl, TradeCenterSpec1 ; $6438 ld a, [$FF00+$aa] cp $2 jr z, .asm_6334 - ld hl, Unknown_6440 ; $6440 + ld hl, TradeCenterSpec2 ; $6440 jr .asm_6334 .asm_6326 ld a, [$d732] @@ -15043,7 +14938,7 @@ Func_62ff: ; 62ff (1:62ff) ld [W_CURMAP], a ; $d35e ld a, [$d71e] ld c, a - ld hl, Unknown_63bf ; $63bf + ld hl, DungeonWarpList ; $63bf ld de, $0 ld a, $6 ld [$d12f], a @@ -15063,7 +14958,7 @@ Func_62ff: ; 62ff (1:62ff) ld e, a jr .asm_6376 .asm_6388 - ld hl, Unknown_63d8 ; $63d8 + ld hl, DungeonWarpData ; $63d8 add hl, de jr .asm_63a4 .asm_638e @@ -15102,32 +14997,63 @@ Func_62ff: ; 62ff (1:62ff) ld [$d42f], a ret -Unknown_63bf: ; 63bf (1:63bf) -INCBIN "baserom.gbc",$63bf,$63d8 - $63bf - -Unknown_63d8: ; 63d8 (1:63d8) -INCBIN "baserom.gbc",$63d8,$6420 - $63d8 +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 + FLYWARP_DATA SEAFOAM_ISLANDS_3_WIDTH,7,22 + FLYWARP_DATA SEAFOAM_ISLANDS_4_WIDTH,7,18 + FLYWARP_DATA SEAFOAM_ISLANDS_4_WIDTH,7,19 + FLYWARP_DATA SEAFOAM_ISLANDS_5_WIDTH,14,4 + FLYWARP_DATA SEAFOAM_ISLANDS_5_WIDTH,14,5 + FLYWARP_DATA VICTORY_ROAD_2_WIDTH,16,22 + FLYWARP_DATA MANSION_1_WIDTH,14,16 + FLYWARP_DATA MANSION_1_WIDTH,14,16 + FLYWARP_DATA MANSION_2_WIDTH,14,18 + +;Format: +; db Map_id +; FLYWARP_DATA [Map Width][Y-pos][X-pos] +; db Tileset_id FirstMapSpec: ; 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 + db REDS_HOUSE_2F + FLYWARP_DATA REDS_HOUSE_2F_WIDTH,6,3 + db $04 -Unknown_6428: ; 6428 (1:6428) -INCBIN "baserom.gbc",$6428,$6430 - $6428 +BattleCenterSpec1: ; 6428 (1:6428) + db BATTLE_CENTER + FLYWARP_DATA BATTLE_CENTER_WIDTH,4,3 + db $15 -Unknown_6430: ; 6430 (1:6430) -INCBIN "baserom.gbc",$6430,$6438 - $6430 +BattleCenterSpec2: ; 6430 (1:6430) + db BATTLE_CENTER + FLYWARP_DATA BATTLE_CENTER_WIDTH,4,6 + db $15 -Unknown_6438: ; 6438 (1:6438) -INCBIN "baserom.gbc",$6438,$6440 - $6438 +TradeCenterSpec1: ; 6438 (1:6438) + db TRADE_CENTER + FLYWARP_DATA TRADE_CENTER_WIDTH,4,3 + db $15 -Unknown_6440: ; 6440 (1:6440) -INCBIN "baserom.gbc",$6440,$6448 - $6440 +TradeCenterSpec2: ; 6440 (1:6440) + db TRADE_CENTER + FLYWARP_DATA TRADE_CENTER_WIDTH,4,6 + db $15 FlyWarpDataPtr: ; 6448 (1:6448) db $00,0 @@ -15188,27 +15114,54 @@ 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 -; known jump sources: 62e8 (1:62e8) Func_64ea: ; 64ea (1:64ea) ret -; known jump sources: e834 (3:6834), f33c (3:733c) -Func_64eb: ; 64eb (1:64eb) +AskForMonNickname: ; 64eb (1:64eb) call SaveScreenTilesToBuffer1 call Load16BitRegisters 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 + call z, ClearScreenArea ; only if in wild batle ld a, [$cf91] ld [$d11e], a call GetMonName - ld hl, UnnamedText_6557 ; $6557 + ld hl, DoYouWantToNicknameText ; $6557 call PrintText FuncCoord 14, 7 ; $c43a ld hl, Coord @@ -15217,7 +15170,7 @@ Func_64eb: ; 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] @@ -15244,15 +15197,13 @@ Func_64eb: ; 64eb (1:64eb) ld d, h ld e, l ld hl, $cd6d - ld bc, $b + ld bc, $000b jp CopyData -; 6557 (1:6557) -UnnamedText_6557: ; 6557 (1:6557) - TX_FAR _UnnamedText_6557 - db $50 -; 0x6557 + 5 bytes -; known jump sources: 1daa0 (7:5aa0) +DoYouWantToNicknameText: ; 0x6557 + TX_FAR _DoYouWantToNicknameText + db "@" + Func_655c: ; 655c (1:655c) ld hl, $cee9 xor a @@ -15268,7 +15219,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 @@ -15281,7 +15232,6 @@ Func_655c: ; 655c (1:655c) scf ret -; known jump sources: 6532 (1:6532), 6568 (1:6568), 6981 (1:6981), 69c9 (1:69c9) Func_6596: ; 6596 (1:6596) push hl ld hl, $d730 @@ -15303,15 +15253,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 @@ -15322,24 +15272,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 @@ -15379,13 +15331,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 @@ -15394,21 +15362,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 @@ -15448,6 +15417,7 @@ INCBIN "baserom.gbc",$665e,$667e - $665e ld a, $90 call PlaySound ret +.asm_66f6 ld a, [$cee9] and a ret z @@ -15455,69 +15425,67 @@ 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 - -; known jump sources: 670d (1:670d) -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 - -; known jump sources: 6722 (1:6722) -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 -; known jump sources: 65ad (1:65ad) Func_675b: ; 675b (1:675b) - ld de, Unknown_6767 ; $6767 + ld de, ED_Tile ld hl, $8f00 ld bc, $1 jp CopyVideoDataDouble -Unknown_6767: ; 6767 (1:6767) -INCBIN "baserom.gbc",$6767,$676f - $6767 +ED_Tile: ; 6767 (1:6767) + INCBIN "gfx/ED_tile.1bpp" -; known jump sources: 65ed (1:65ed) Func_676f: ; 676f (1:676f) xor a ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba @@ -15555,7 +15523,6 @@ LowerCaseAlphabet: ; 679e (1:679e) UpperCaseAlphabet: ; 67d6 (1:67d6) db "ABCDEFGHIJKLMNOPQRSTUVWXYZ ×():;[]",$e1,$e2,"-?!♂♀/",$f2,",¥lower case@" -; known jump sources: 65f9 (1:65f9) Func_680e: ; 680e (1:680e) call Func_68eb ld a, c @@ -15595,9 +15562,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 @@ -15612,7 +15579,6 @@ Func_680e: ; 680e (1:680e) ld [hl], $77 ret -; known jump sources: 66e4 (1:66e4) Func_6871: ; 6871 (1:6871) push de call Func_68eb @@ -15633,7 +15599,6 @@ INCBIN "baserom.gbc",$6885,$68d6 - $6885 Unknown_68d6: ; 68d6 (1:68d6) INCBIN "baserom.gbc",$68d6,$68eb - $68d6 -; known jump sources: 66b9 (1:66b9), 66fb (1:66fb), 680e (1:680e), 6872 (1:6872) Func_68eb: ; 68eb (1:68eb) ld hl, $cf4b ld c, $0 @@ -15645,7 +15610,6 @@ Func_68eb: ; 68eb (1:68eb) inc c jr .asm_68f0 -; known jump sources: 65c2 (1:65c2) Func_68f8: ; 68f8 (1:68f8) FuncCoord 0, 1 ; $c3b4 ld hl, Coord @@ -15695,12 +15659,11 @@ NameTextString: ; 694d (1:694d) NicknameTextString: ; 6953 (1:6953) db "NICKNAME?@" -; known jump sources: 619e (1:619e) 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 @@ -15724,17 +15687,16 @@ Func_695d: ; 695d (1:695d) .asm_6999 ld hl, UnnamedText_699f ; $699f jp PrintText -; 699f (1:699f) + UnnamedText_699f: ; 699f (1:699f) TX_FAR _UnnamedText_699f - db $50 -; 0x699f + 5 bytes + 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 @@ -15758,16 +15720,14 @@ Func_69a4: ; 69a4 (1:69a4) .asm_69e1 ld hl, UnnamedText_69e7 ; $69e7 jp PrintText -; 69e7 (1:69e7) + UnnamedText_69e7: ; 69e7 (1:69e7) TX_FAR _UnnamedText_69e7 - db $50 -; 0x69e7 + 5 bytes + db "@" -; known jump sources: 6975 (1:6975), 69bc (1:69bc) Func_69ec: ; 69ec (1:69ec) push de - ld hl, W_SCREENTILESBUFFER + ld hl, wTileMap ld bc, $c0b call ClearScreenArea ld c, $a @@ -15782,8 +15742,8 @@ Func_69ec: ; 69ec (1:69ec) ld de, $67d ld a, $ff jr asm_6a19 -; 6a12 (1:6a12) -Unnamed_6a12: ; 6a12 (1:6a12) + +Func_6a12: ; 6a12 (1:6a12) FuncCoord 5, 4 ; $c3f5 ld hl, Coord ld de, $67d @@ -15856,10 +15816,9 @@ asm_6a19: ; 6a19 (1:6a19) pop hl ret -; known jump sources: 6963 (1:6963), 69aa (1:69aa) Func_6a6c: ; 6a6c (1:6a6c) push de - ld hl, W_SCREENTILESBUFFER + ld hl, wTileMap ld b, $a ld c, $9 call TextBoxBorder @@ -15873,15 +15832,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) @@ -15900,7 +15859,6 @@ DefaultNamesRival: ; 6abe (1:6abe) db "NEW NAME",$4E,"RED",$4E,"ASH",$4E,"JACK@" ENDC -; known jump sources: 696f (1:696f), 69b6 (1:69b6) Func_6ad6: ; 6ad6 (1:6ad6) ld b, a ld c, $0 @@ -15922,7 +15880,6 @@ Func_6ad6: ; 6ad6 (1:6ad6) ld de, $cd6d ld bc, $14 jp CopyData -; 6af2 (1:6af2) IF _RED DefaultNamesPlayerList: ; 6af2 (1:6af2) db "NEW NAME@RED@ASH@JACK@" @@ -15936,18 +15893,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 @@ -15959,7 +15916,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 @@ -15968,9 +15925,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 @@ -15984,20 +15941,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) @@ -16016,9 +15973,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 @@ -16080,7 +16037,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 @@ -16099,8 +16056,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 @@ -16109,15 +16066,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 @@ -16149,7 +16106,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 @@ -16160,16 +16117,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 @@ -16181,7 +16138,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 @@ -16209,7 +16166,7 @@ DisplayPokemartDialogue_: ; 6c20 (1:6c20) ld [$cf0a],a .skipSettingFlag1 call AddAmountSoldToMoney - ld hl,W_NUMBAGITEMS + ld hl,wNumBagItems call RemoveItemFromInventory jp .sellMenuLoop .unsellableItem @@ -16243,11 +16200,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 @@ -16278,7 +16235,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 @@ -16303,7 +16260,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 @@ -16322,57 +16279,56 @@ 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) TX_FAR _PokemartBuyingGreetingText - db $50 + db "@" PokemartTellBuyPrice: ; 6e11 (1:6e11) TX_FAR _PokemartTellBuyPrice - db $50 + db "@" PokemartBoughtItemText: ; 6e16 (1:6e16) TX_FAR _PokemartBoughtItemText - db $50 + db "@" PokemartNotEnoughMoneyText: ; 6e1b (1:6e1b) TX_FAR _PokemartNotEnoughMoneyText - db $50 + db "@" PokemartItemBagFullText: ; 6e20 (1:6e20) TX_FAR _PokemartItemBagFullText - db $50 + db "@" PokemonSellingGreetingText: ; 6e25 (1:6e25) TX_FAR _PokemonSellingGreetingText - db $50 + db "@" PokemartTellSellPrice: ; 6e2a (1:6e2a) TX_FAR _PokemartTellSellPrice - db $50 + db "@" PokemartItemBagEmptyText: ; 6e2f (1:6e2f) TX_FAR _PokemartItemBagEmptyText - db $50 + db "@" PokemartUnsellableItemText: ; 6e34 (1:6e34) TX_FAR _PokemartUnsellableItemText - db $50 + db "@" PokemartThankYouText: ; 6e39 (1:6e39) TX_FAR _PokemartThankYouText - db $50 + db "@" PokemartAnythingElseText: ; 6e3e (1:6e3e) TX_FAR _PokemartAnythingElseText - db $50 + db "@" -; known jump sources: e537 (3:6537), 3afae (e:6fae) 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 @@ -16380,11 +16336,10 @@ Func_6e43: ; 6e43 (1:6e43) ld bc, $b call CopyData -; known jump sources: 6ef2 (1:6ef2) 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 @@ -16429,9 +16384,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 @@ -16446,7 +16401,6 @@ Func_6e5b: ; 6e5b (1:6e5b) call CopyData jp Func_6efe -; known jump sources: 6e78 (1:6e78) Func_6eda: ; 6eda (1:6eda) ld hl, UnnamedText_6fb9 ; $6fb9 call PrintText @@ -16456,7 +16410,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 @@ -16464,14 +16418,12 @@ Func_6eda: ; 6eda (1:6eda) ld b, $0 ret -; known jump sources: 6eb1 (1:6eb1), 6ebc (1:6ebc), 6ed7 (1:6ed7) Func_6efe: ; 6efe (1:6efe) ld hl, UnnamedText_6fad ; $6fad call PrintText ld b, $1 ret -; known jump sources: 6e74 (1:6e74) Func_6f07: ; 6f07 (1:6f07) push hl ld hl, UnnamedText_6fc3 ; $6fc3 @@ -16483,7 +16435,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 @@ -16515,7 +16467,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 @@ -16540,7 +16492,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 @@ -16571,23 +16523,19 @@ UnnamedText_6fad: ; 6fb4 (1:6fb4) UnnamedText_6fb4: ; 6fb4 (1:6fb4) TX_FAR _UnnamedText_6fb4 - db $50 -; 0x6fb4 + 5 bytes + db "@" UnnamedText_6fb9: ; 6fb9 (1:6fb9) TX_FAR _UnnamedText_6fb9 - db $50 -; 0x6fb9 + 5 bytes + db "@" UnnamedText_6fbe: ; 6fbe (1:6fbe) TX_FAR _UnnamedText_6fbe - db $50 -; 0x6fbe + 5 bytes + db "@" UnnamedText_6fc3: ; 6fc3 (1:6fc3) TX_FAR _UnnamedText_6fc3 - db $50 -; 0x6fc3 + 5 bytes + db "@" UnnamedText_6fc8: ; 6fc8 (1:6fc8) TX_FAR _UnnamedText_6fc8 ; 0xa2819 @@ -16597,20 +16545,17 @@ UnnamedText_6fc8: ; 6fc8 (1:6fc8) call PlaySoundWaitForCurrent ld hl, UnnamedText_6fd7 ; $6fd7 ret -; 0x6fd7 UnnamedText_6fd7: ; 6fd7 (1:6fd7) TX_FAR _UnnamedText_6fd7 ; 0xa2827 db $a ; 0x6fdb UnnamedText_6fdc: ; 6fdc (1:6fdc) TX_FAR _UnnamedText_6fdc - db $50 -; 0x6fe1 + db "@" UnnamedText_6fe1: ; 6fe1 (1:6fe1) TX_FAR _UnnamedText_6fe1 - db $50 -; 0x6fe1 + 5 bytes + db "@" DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6) call SaveScreenTilesToBuffer1 ; save screen @@ -16625,10 +16570,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 @@ -16640,7 +16585,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] @@ -16663,27 +16608,27 @@ DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6) PokemonCenterWelcomeText: ; 705d (1:705d) TX_FAR _PokemonCenterWelcomeText - db $50 + db "@" ShallWeHealYourPokemonText: ; 7062 (1:7062) db $a TX_FAR _ShallWeHealYourPokemonText - db $50 + db "@" NeedYourPokemonText: ; 7068 (1:7068) TX_FAR _NeedYourPokemonText - db $50 + db "@" PokemonFightingFitText: ; 706d (1:706d) TX_FAR _PokemonFightingFitText - db $50 + db "@" PokemonCenterFarewellText: ; 7072 (1:7072) db $a TX_FAR _PokemonCenterFarewellText - db $50 + db "@" -Unknown_7078: ; 7078 (1:7078) +Func_7078: ; 7078 (1:7078) push hl ld hl, SafariZoneRestHouses ld a, [W_CURMAP] @@ -16701,7 +16646,6 @@ Unknown_7078: ; 7078 (1:7078) .asm_7090 pop hl ret -; 0x7092 SafariZoneRestHouses: ; 7092 (1:7092) db SAFARI_ZONE_REST_HOUSE_2 @@ -16747,7 +16691,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 @@ -16859,25 +16803,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 @@ -16887,20 +16831,19 @@ PrintStartMenuItem: ; 71bb (1:71bb) add hl,de ret -Unknown_71c5: ; 71c5 (1:71c5) - ld hl, UnnamedText_72b8 ; $72b8 +CableClubNPC: ; 71c5 (1:71c5) + ld hl, CableClubNPCText1 ; $72b8 call PrintText ld a, [$d74b] bit 5, a - jp nz, Unknown_71e1 + jp nz, Func_71e1 ld c, $3c call DelayFrames - ld hl, UnnamedText_72d2 ; $72d2 + ld hl, CableClubNPCText6 ; $72d2 call PrintText jp Func_7298 -; 0x71e1 -Unknown_71e1: ; 71e1 (1:71e1) +Func_71e1: ; 71e1 (1:71e1) ld a, $1 ld [$cc34], a ld a, $5a @@ -16935,7 +16878,7 @@ Unknown_71e1: ; 71e1 (1:71e1) call Func_22ed ld c, $32 call DelayFrames - ld hl, UnnamedText_72bd ; $72bd + ld hl, CableClubNPCText2 ; $72bd call PrintText xor a ld [$cc34], a @@ -16951,7 +16894,7 @@ Unknown_71e1: ; 71e1 (1:71e1) call WaitForSoundToFinish ld a, $b6 call PlaySoundWaitForCurrent - ld hl, UnnamedText_72c2 ; $72c2 + ld hl, CableClubNPCText3 ; $72c2 call PrintText ld hl, $cc47 ld a, $3 @@ -16975,16 +16918,16 @@ Unknown_71e1: ; 71e1 (1:71e1) dec b jr nz, .asm_7273 ; 0x727a $f7 call Func_72d7 - ld hl, UnnamedText_72c8 ; $72c8 + ld hl, CableClubNPCText4 ; $72c8 call PrintText jr Func_7298 ; 0x7285 $11 .asm_7287 - ld hl, UnnamedText_72b3 ; $72b3 + ld hl, CableClubNPCText7 ; $72b3 call PrintText jr Func_7298 ; 0x728d $9 .asm_728f call Func_72d7 - ld hl, UnnamedText_72cd ; $72cd + ld hl, CableClubNPCText5 ; $72cd call PrintText ; fall through @@ -17006,43 +16949,35 @@ Func_72a8: ; 72a8 (1:72a8) ld hl, Func_5c0a ld b, BANK(Func_5c0a) jp Bankswitch -; 0x72b3 -UnnamedText_72b3: ; 72b3 (1:72b3) - TX_FAR _UnnamedText_72b3 - db $50 -; 0x72b3 + 5 bytes +CableClubNPCText7: ; 72b3 (1:72b3) + TX_FAR _CableClubNPCText7 + db "@" -UnnamedText_72b8: ; 72b8 (1:72b8) - TX_FAR _UnnamedText_72b8 - db $50 -; 0x72b8 + 5 bytes +CableClubNPCText1: ; 72b8 (1:72b8) + TX_FAR _CableClubNPCText1 + db "@" -UnnamedText_72bd: ; 72bd (1:72bd) - TX_FAR _UnnamedText_72bd - db $50 -; 0x72bd + 5 bytes +CableClubNPCText2: ; 72bd (1:72bd) + TX_FAR _CableClubNPCText2 + db "@" -UnnamedText_72c2: ; 72c2 (1:72c2) - TX_FAR UnnamedText_a29cc - db $a, $50 +CableClubNPCText3: ; 72c2 (1:72c2) + TX_FAR _CableClubNPCText3 + db $a, "@" -UnnamedText_72c8: ; 72c8 (1:72c8) - TX_FAR _UnnamedText_72c8 - db $50 -; 0x72c8 + 5 bytes +CableClubNPCText4: ; 72c8 (1:72c8) + TX_FAR _CableClubNPCText4 + db "@" -UnnamedText_72cd: ; 72cd (1:72cd) - TX_FAR _UnnamedText_72cd - db $50 -; 0x72cd + 5 bytes +CableClubNPCText5: ; 72cd (1:72cd) + TX_FAR _CableClubNPCText5 + db "@" -UnnamedText_72d2: ; 72d2 (1:72d2) - TX_FAR _UnnamedText_72d2 - db $50 -; 0x72d2 + 5 bytes +CableClubNPCText6: ; 72d2 (1:72d2) + TX_FAR _CableClubNPCText6 + db "@" -; known jump sources: 5d34 (1:5d34), 727c (1:727c), 728f (1:728f) Func_72d7: ; 72d7 (1:72d7) call Delay3 ld a, $ff @@ -17054,7 +16989,6 @@ Func_72d7: ; 72d7 (1:72d7) ld a, $80 ld [$FF00+$2], a ret -; 72ea (1:72ea) ; function to draw various text boxes ; INPUT: @@ -17171,7 +17105,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 @@ -17189,15 +17123,9 @@ GetAddressOfScreenCoords: ; 7375 (1:7375) ; 00: text box ID ; 01-02: function address TextBoxFunctionTable: ; 7387 (1:7387) - db $13 - dw $74ba - - db $15 - dw $74ea - - db $04 - dw $76e1 - + dbw $13, Func_74ba + dbw $15, Func_74ea + dbw $04, Func_76e1 db $ff ; terminator ; Format: @@ -17315,7 +17243,7 @@ BattleMenuText: ; 7455 (1:7455) db "ITEM RUN@" SafariZoneBattleMenuText: ; 7468 (1:7468) - db "BALL",$F1," BAIT",$4E + db "BALL× BAIT",$4E db "THROW ROCK RUN@" SwitchStatsCancelText: ; 7489 (1:7489) @@ -17332,6 +17260,7 @@ JapanesePokedexMenu: ; 74a1 (1:74a1) db "ぶんぷをみる",$4E db "キャンセル@" +Func_74ba: ; 74ba (1:74ba) ld hl, $d730 set 6, [hl] ld a, $f @@ -17344,17 +17273,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:74e2) db " ¥@" -Function_74ea: ; 0x74ea, 1:34ea +Func_74ea: ; 74ea (1:74ea) ld a, [$d730] set 6, a ld [$d730], a @@ -17364,16 +17293,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 @@ -17390,22 +17319,21 @@ 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 -; known jump sources: 72ef (1:72ef) DisplayYesNoTextBox: ; 7559 (1:7559) push hl ld a, [$d730] @@ -17415,15 +17343,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 @@ -17432,7 +17360,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 @@ -17484,10 +17412,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 @@ -17497,7 +17425,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 @@ -17509,7 +17437,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 @@ -17522,7 +17450,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 @@ -17532,7 +17460,6 @@ DisplayYesNoTextBox: ; 7559 (1:7559) scf ret -; known jump sources: 7593 (1:7593) Func_763e: ; 763e (1:763e) ld de, $cee9 ld bc, $506 @@ -17551,7 +17478,6 @@ Func_763e: ; 763e (1:763e) jr nz, .asm_7644 ret -; known jump sources: 7622 (1:7622), 7639 (1:7639) Func_7656: ; 7656 (1:7656) ld de, $cee9 ld bc, $506 @@ -17589,31 +17515,31 @@ 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 ld [hli], a ld [hli], a ld [hl], $c - call Func_77d6 + call GetMonFieldMoves ld a, [$cd41] and a jr nz, .asm_770f @@ -17670,7 +17596,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 @@ -17712,7 +17638,7 @@ Function_76e1: ; 0x76e1, 1:36e1 add hl, de ld de, PokemonMenuEntries ; $77c2 jp PlaceString -; 778d (1:778d) + FieldMoveNames: ; 778d (1:778d) db "CUT@" db "FLY@" @@ -17729,27 +17655,26 @@ PokemonMenuEntries: ; 77c2 (1:77c2) db "SWITCH",$4E db "CANCEL@" -; known jump sources: 76ec (1:76ec) -Func_77d6: ; 77d6 (1:77d6) - ld a, [W_WHICHPOKEMON] ; $cf92 +GetMonFieldMoves: ; 77d6 (1:77d6) + 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 dec c jr z, .asm_7821 - ld a, [de] + ld a, [de] ; de is RAM address of move and a jr z, .asm_7821 ld b, a - inc de - ld hl, Unknown_7823 ; $7823 + inc de ; go to next move + ld hl, FieldMoveDisplayData ; $7823 .asm_77f6 ld a, [hli] cp $ff @@ -17782,10 +17707,25 @@ Func_77d6: ; 77d6 (1:77d6) pop hl ret -Unknown_7823: ; 7823 (1:7823) -INCBIN "baserom.gbc",$7823,$783f - $7823 +; Format: [Move id], [list priority], [leftmost tile] +; Move id = id of move +; List priority = lower number means higher priority when field moves are displayed +; these priorities must be unique +; Leftmost tile = -1 + tile column in which the first letter of the move's name should be displayed +; "SOFTBOILED" is $08 because it has 4 more letters than "SURF", for example, whose value is $0C +FieldMoveDisplayData: ; 7823 (1:7823) + db CUT, $01, $0C + db FLY, $02, $0C + db $B4, $03, $0C ; unused field move + db SURF, $04, $0C + db STRENGTH, $05, $0A + db FLASH, $06, $0C + db DIG, $07, $0C + db TELEPORT, $08, $0A + db SOFTBOILED, $09, $08 + db $ff ; list terminator + -; known jump sources: 3f2ee (f:72ee) Func_783f: ; 783f (1:783f) ld hl, W_DAMAGE ; $d0d7 ld a, [hl] @@ -17807,9 +17747,8 @@ Func_783f: ; 783f (1:783f) ld hl, W_ENEMYMONCURHP ; $cfe6 ld de, W_ENEMYMONMAXHP ; $cff4 -; known jump sources: 7858 (1:7858) Func_7861: ; 7861 (1:7861) - ld bc, W_HPBAROLDHP+1 + ld bc, wHPBarOldHP+1 ld a, [hli] ld [bc], a ld a, [hl] @@ -17826,12 +17765,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 @@ -17847,11 +17786,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 @@ -17864,7 +17803,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 @@ -17886,18 +17825,15 @@ Func_7861: ; 7861 (1:7861) ld hl, UnnamedText_78e1 ; $78e1 .asm_78d9 jp PrintText -; 78dc (1:78dc) + UnnamedText_78dc: ; 78dc (1:78dc) TX_FAR _UnnamedText_78dc - db $50 -; 0x78dc + 5 bytes + db "@" UnnamedText_78e1: ; 78e1 (1:78e1) TX_FAR _UnnamedText_78e1 - db $50 -; 0x78e1 + 5 bytes + db "@" -; known jump sources: 3479 (0:3479), 17ebb (5:7ebb) Func_78e6: ; 78e6 (1:78e6) ld hl, $d730 set 6, [hl] @@ -17907,7 +17843,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 @@ -17915,14 +17851,13 @@ Func_78e6: ; 78e6 (1:78e6) ld hl, UnnamedText_7b22 ; $7b22 call PrintText -; known jump sources: 78ff (1:78ff), 79a8 (1:79a8), 79c8 (1:79c8), 7a25 (1:7a25), 7a45 (1:7a45), 7aa2 (1:7aa2), 7ac4 (1:7ac4) 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 @@ -17931,7 +17866,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 @@ -17944,17 +17879,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 @@ -17963,20 +17898,19 @@ Func_790c: ; 790c (1:790c) dec a jp z, Func_7a8f -; known jump sources: 7955 (1:7955) 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] @@ -17984,23 +17918,21 @@ Func_796d: ; 796d (1:796d) ld [$cc3c], a ret -; known jump sources: 7966 (1:7966) 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 call PrintText jp Func_790c -; known jump sources: 79a0 (1:79a0), 79e4 (1:79e4), 79f5 (1:79f5), 7a0f (1:7a0f) 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 @@ -18008,7 +17940,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 @@ -18023,14 +17955,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 @@ -18040,23 +17972,21 @@ Func_79ab: ; 79ab (1:79ab) call PrintText jp Func_79ab -; known jump sources: 7962 (1:7962) 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 call PrintText jp Func_790c -; known jump sources: 7a1d (1:7a1d), 7a61 (1:7a61), 7a72 (1:7a72), 7a8c (1:7a8c) 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 @@ -18064,7 +17994,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 @@ -18079,14 +18009,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 @@ -18096,23 +18026,21 @@ Func_7a28: ; 7a28 (1:7a28) call PrintText jp Func_7a28 -; known jump sources: 796a (1:796a) 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 call PrintText jp Func_790c -; known jump sources: 7a9a (1:7a9a), 7aec (1:7aec), 7af2 (1:7af2) 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 @@ -18120,7 +18048,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 @@ -18146,7 +18074,7 @@ Func_7aa5: ; 7aa5 (1:7aa5) .asm_7aef call TossItem jp Func_7aa5 -; 7af5 (1:7af5) + PlayersPCMenuEntries: ; 7af5 (1:7af5) db "WITHDRAW ITEM",$4E db "DEPOSIT ITEM",$4E @@ -18155,75 +18083,60 @@ PlayersPCMenuEntries: ; 7af5 (1:7af5) UnnamedText_7b22: ; 7b22 (1:7b22) TX_FAR _UnnamedText_7b22 - db $50 -; 0x7b22 + 5 bytes + db "@" UnnamedText_7b27: ; 7b27 (1:7b27) TX_FAR _UnnamedText_7b27 - db $50 -; 0x7b27 + 5 bytes + db "@" UnnamedText_7b2c: ; 7b2c (1:7b2c) TX_FAR _UnnamedText_7b2c - db $50 -; 0x7b2c + 5 bytes + db "@" UnnamedText_7b31: ; 7b31 (1:7b31) TX_FAR _UnnamedText_7b31 - db $50 -; 0x7b31 + 5 bytes + db "@" UnnamedText_7b36: ; 7b36 (1:7b36) TX_FAR _UnnamedText_7b36 - db $50 -; 0x7b36 + 5 bytes + db "@" UnnamedText_7b3b: ; 7b3b (1:7b3b) TX_FAR _UnnamedText_7b3b - db $50 -; 0x7b3b + 5 bytes + db "@" UnnamedText_7b40: ; 7b40 (1:7b40) TX_FAR _UnnamedText_7b40 - db $50 -; 0x7b40 + 5 bytes + db "@" UnnamedText_7b45: ; 7b45 (1:7b45) TX_FAR _UnnamedText_7b45 - db $50 -; 0x7b45 + 5 bytes + db "@" UnnamedText_7b4a: ; 7b4a (1:7b4a) TX_FAR _UnnamedText_7b4a - db $50 -; 0x7b4a + 5 bytes + db "@" UnnamedText_7b4f: ; 7b4f (1:7b4f) TX_FAR _UnnamedText_7b4f - db $50 -; 0x7b4f + 5 bytes + db "@" UnnamedText_7b54: ; 7b54 (1:7b54) TX_FAR _UnnamedText_7b54 - db $50 -; 0x7b54 + 5 bytes + db "@" UnnamedText_7b59: ; 7b59 (1:7b59) TX_FAR _UnnamedText_7b59 - db $50 -; 0x7b59 + 5 bytes + db "@" UnnamedText_7b5e: ; 7b5e (1:7b5e) TX_FAR _UnnamedText_7b5e - db $50 -; 0x7b5e + 5 bytes + db "@" UnnamedText_7b63: ; 7b63 (1:7b63) TX_FAR _UnnamedText_7b63 - db $50 -; 0x7b63 + 5 bytes + db "@" -; known jump sources: 3924 (0:3924) _RemovePokemon: ; 7b68 (1:7b68) ld hl, W_NUMINPARTY ; $d163 ld a, [$cf95] @@ -18234,7 +18147,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 @@ -18255,9 +18168,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 @@ -18282,7 +18195,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 @@ -18306,13 +18219,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 @@ -18342,32 +18255,31 @@ Func_7c18: ; 7c18 (1:7c18) ld a, $1 ld [$cc3c], a ret -; 0x7c49 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_Channel3Duty0 @@ -18401,83 +18313,83 @@ Music2_Channel3Duty4: ; 0x83b3 ; duty 5 reads from sfx data Music2_Channel3Duty5: ; 0x83c3 -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 @@ -18868,7 +18780,7 @@ Music2_notetype: ; 0x92e4 sla a ld d, a ; fall through - + ; if channel 3, store high nibble as volume ; else, store volume (high nibble) and fade (low nibble) .notChannel3 @@ -18890,7 +18802,7 @@ Music2_togglecall: ; 0x9323 xor $1 ld [hl], a ; flip bit 0 of $c02e (toggle returning from call) jp Music2_endchannel - + Music2_vibrato: ; 0x9335 cp $ea ; is this command a vibrato? jr nz, Music2_pitchbend ; no @@ -18924,7 +18836,7 @@ Music2_vibrato: ; 0x9335 or d ld [hl], a ; store depth as both high and low nibbles jp Music2_endchannel - + Music2_pitchbend: ; 0x936d cp $eb ; is this command a pitchbend? jr nz, Music2_duty ; no @@ -18955,7 +18867,7 @@ Music2_pitchbend: ; 0x936d call Music2_GetNextMusicByte ld d, a jp Music2_notelength - + Music2_duty: ; 0x93a5 cp $ec ; is this command a duty? jr nz, Music2_tempo ; no @@ -18968,7 +18880,7 @@ Music2_duty: ; 0x93a5 add hl, bc ld [hl], a ; store duty jp Music2_endchannel - + Music2_tempo: ; 0x93ba cp $ed ; is this command a tempo? jr nz, Music2_unknownmusic0xee ; no @@ -18997,7 +18909,7 @@ Music2_tempo: ; 0x93ba ld [$c0d5], a .musicChannelDone jp Music2_endchannel - + Music2_unknownmusic0xee: ; 0x93fa cp $ee ; is this command an unknownmusic0xee? jr nz, Music2_unknownmusic0xef ; no @@ -19022,7 +18934,7 @@ Music2_unknownmusic0xef ; 0x9407 ld [$c02d], a .skip jp Music2_endchannel - + Music2_dutycycle: ; 0x9426 cp $fc ; is this command a dutycycle? jr nz, Music2_stereopanning ; no @@ -19039,14 +18951,14 @@ Music2_dutycycle: ; 0x9426 add hl, bc set 6, [hl] ; set dutycycle flag jp Music2_endchannel - + Music2_stereopanning: ; 0x9444 cp $f0 ; is this command a stereopanning? jr nz, Music2_executemusic ; no call Music2_GetNextMusicByte ; yes ld [$ff00+$24], a ; store stereopanning jp Music2_endchannel - + Music2_executemusic: ; 0x9450 cp $f8 ; is this command an executemusic? jr nz, Music2_octave ; no @@ -19055,7 +18967,7 @@ Music2_executemusic: ; 0x9450 add hl, bc set 0, [hl] jp Music2_endchannel - + Music2_octave: ; 0x945f and $f0 cp $e0 ; is this command an octave? @@ -19222,7 +19134,7 @@ Music2_notelength: ; 0x950a jr z, Music2_notepitch pop hl ret - + Music2_notepitch: ; 0x9568 pop af and $f0 @@ -20230,7 +20142,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) @@ -20240,35 +20152,34 @@ 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] -; known jump sources: 1a4 (0:1a4) _GetJoypadState: ; c000 (3:4000) ld a, [H_JOYPADSTATE] cp BTN_A | BTN_B | BTN_SELECT | BTN_START ; soft reset sequence @@ -20290,7 +20201,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 @@ -20311,7 +20222,6 @@ DiscardButtonPresses: ; c034 (3:4034) ld [H_NEWLYRELEASEDBUTTONS], a ret -; known jump sources: c004 (3:4004) HandleJoypadResetButtons: ; c03c (3:403c) call DelayFrame ld a, $30 @@ -20896,10 +20806,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) @@ -20994,7 +20904,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) @@ -21070,7 +20980,6 @@ MapHeaderBanks: ; c23d (3:423d) db BANK(Bruno_h) db BANK(Agatha_h) -; known jump sources: 3b3 (0:3b3), 5798 (1:5798) Func_c335: ; c335 (3:4335) ld a, $90 ld [$FF00+$b0], a @@ -21087,12 +20996,11 @@ 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 -; known jump sources: 924 (0:924) Func_c35f: ; c35f (3:435f) ld a, [$d3ae] and a @@ -21124,7 +21032,7 @@ Func_c35f: ; c35f (3:435f) dec c jr nz, .asm_c368 ret -; c38b (3:438b) + CheckForceBikeOrSurf: ; c38b (3:438b) ld hl, $D732 bit 5, [hl] @@ -21175,22 +21083,19 @@ CheckForceBikeOrSurf: ; c38b (3:438b) ld [$d700], a ld [$d11a], a jp ForceBikeOrSurf -; 0xc3e6 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 -; 0xc3ff - -; known jump sources: 91c (0:91c) + 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 push de @@ -21199,7 +21104,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] @@ -21217,34 +21122,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 @@ -21254,13 +21168,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] @@ -21274,10 +21188,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 -.asm_c490 +.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 + +.ssAnne5 ld a, [$cfc6] cp $15 jr nz, .asm_c49a @@ -21287,7 +21216,6 @@ INCBIN "baserom.gbc",$c477,$c490 - $c477 and a jr .asm_c473 -; known jump sources: 6e0 (0:6e0), 1387f (4:787f) Func_c49d: ; c49d (3:449d) push hl push de @@ -21300,7 +21228,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] @@ -21318,23 +21246,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 -; known jump sources: 2aec (0:2aec) 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 @@ -21365,11 +21375,9 @@ SafariSteps: ; c579 (3:4579) SafariBallText: ; c57e (3:457e) db "BALL×× @" -; known jump sources: 47f (0:47f), b2e (0:b2e), b5a (0:b5a), c12 (0:c12), c2d (0:c2d), fd3 (0:fd3), 1a67f (6:667f), 52683 (14:6683) Func_c586: ; c586 (3:4586) call Load16BitRegisters -; known jump sources: c451 (3:4451) Func_c589: ; c589 (3:4589) ld a, [W_YCOORD] ; $d361 ld d, a @@ -21407,7 +21415,6 @@ Func_c589: ; c589 (3:4589) ld [$cfc6], a ret -; known jump sources: c60b (3:460b) Func_c5be: ; c5be (3:45be) xor a ld [$FF00+$db], a @@ -21456,7 +21463,6 @@ Func_c5be: ; c5be (3:45be) ld [$cfc6], a ret -; known jump sources: f265 (3:7265) Func_c60b: ; c60b (3:460b) call Func_c5be ld hl, $d530 @@ -21482,7 +21488,6 @@ Func_c60b: ; c60b (3:460b) ld [$d71c], a ret -; known jump sources: c62f (3:462f) Func_c636: ; c636 (3:4636) ld a, [$d718] dec a @@ -21558,7 +21563,6 @@ Func_c636: ; c636 (3:4636) xor a ret -; known jump sources: 622 (0:622) Func_c69c: ; c69c (3:469c) ld a, [$d730] add a @@ -21570,7 +21574,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 @@ -21603,11 +21607,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 @@ -21625,7 +21629,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 @@ -21671,7 +21675,6 @@ Func_c69c: ; c69c (3:469c) ld [$d12d], a ret -; known jump sources: 11fa (0:11fa), 62d3 (1:62d3) Func_c754: ; c754 (3:4754) call Load16BitRegisters push hl @@ -21686,9 +21689,7 @@ Func_c754: ; c754 (3:4754) inc d .asm_c765 ld e, a -; c766 (3:4766) ld hl, TilesetsHeadPtr - add hl, de ld de, $d52b ld c, $b @@ -21706,7 +21707,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 @@ -21731,8 +21732,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 @@ -21759,9 +21760,7 @@ TilesetsHeadPtr: ; c7be (3:47be) TSETHEAD Tset15_Block,Tset15_GFX,Tset15_Coll,$07,$17,$FF,$FF,0 TSETHEAD Tset16_Block,Tset16_GFX,Tset16_Coll,$12,$FF,$FF,$FF,1 TSETHEAD Tset17_Block,Tset17_GFX,Tset17_Coll,$FF,$FF,$FF,$45,1 -; 0xC8DE -; known jump sources: c6aa (3:46aa) Func_c8de: ; c8de (3:48de) ld a, [$da48] and a @@ -21780,7 +21779,7 @@ Func_c8de: ; c8de (3:48de) ld a, $50 ld [hl], a ret -; c8f5 (3:48f5) + ; data for default hidden/shown ; objects for each map ($00-$F8) @@ -22359,28 +22358,26 @@ MapHSA2: ; cd8d (3:4d8d) db $FF,$01,Show -; known jump sources: 1320a (4:720a) 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 jp TextScriptEnd -; cdbb (3:4dbb) + UnnamedText_cdbb: ; cdbb (3:4dbb) TX_FAR _UnnamedText_cdbb - db $50 -; 0xcdbb + 5 bytes + db "@" -; known jump sources: 131de (4:71de) Func_cdc0: ; cdc0 (3:4dc0) ld hl, $d728 set 1, [hl] @@ -22394,7 +22391,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 @@ -22407,23 +22404,20 @@ 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 - db $50 -; 0xcdfa + 5 bytes + db "@" UnnamedText_cdff: ; cdff (3:4dff) TX_FAR _UnnamedText_cdff - db $50 -; 0xcdff + 5 bytes - + 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 @@ -22435,10 +22429,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 @@ -22517,7 +22511,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) @@ -22554,8 +22548,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 @@ -22565,7 +22559,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 @@ -26552,8 +26546,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 @@ -27016,7 +27010,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 @@ -27043,11 +27037,11 @@ ItemUseSurfboard: ; d9b4 (3:59b4) SurfingGotOnText: ; da4c (3:5a4c) TX_FAR _SurfingGotOnText - db $50 + db "@" SurfingNoPlaceToGetOffText: ; da51 (3:5a51) TX_FAR _SurfingNoPlaceToGetOffText - db $50 + db "@" ItemUsePokedex: ; da56 (3:5a56) ld a,$29 @@ -27084,7 +27078,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 @@ -27192,7 +27186,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 @@ -27214,10 +27208,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 @@ -27298,14 +27292,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] @@ -27322,7 +27316,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 @@ -27335,17 +27329,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] @@ -27397,9 +27391,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] @@ -27435,22 +27429,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] @@ -27464,7 +27458,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 @@ -27730,11 +27724,11 @@ ItemUseMedicine: ; dabb (3:5abb) VitaminStatRoseText: ; df24 (3:5f24) TX_FAR _VitaminStatRoseText - db $50 + db "@" VitaminNoEffectText: ; df29 (3:5f29) TX_FAR _VitaminNoEffectText - db $50 + db "@" VitaminText: ; df2e (3:5f2e) db "HEALTH@" @@ -27793,11 +27787,11 @@ BaitRockCommon: ; df7f (3:5f7f) ThrewBaitText: ; dfa5 (3:5fa5) TX_FAR _ThrewBaitText - db $50 + db "@" ThrewRockText: ; dfaa (3:5faa) TX_FAR _ThrewRockText - db $50 + db "@" ; also used for Dig out-of-battle effect ItemUseEscapeRope: ; dfaf (3:5faf) @@ -28152,11 +28146,11 @@ Route16SnorlaxFluteCoords: ; e206 (3:6206) PlayedFluteNoEffectText: ; e20b (3:620b) TX_FAR _PlayedFluteNoEffectText - db $50 + db "@" FluteWokeUpText: ; e210 (3:6210) TX_FAR _FluteWokeUpText - db $50 + db "@" PlayedFluteHadEffectText: ; e215 (3:6215) TX_FAR _PlayedFluteHadEffectText @@ -28188,7 +28182,7 @@ ItemUseCoinCase: ; e23a (3:623a) CoinCaseNumCoinsText: ; e247 (3:6247) TX_FAR _CoinCaseNumCoinsText - db $50 + db "@" OldRodCode: ; e24c (3:624c) call FishingInit @@ -28294,8 +28288,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 @@ -28313,11 +28307,11 @@ ItemUseItemfinder: ; e2e1 (3:62e1) ItemfinderFoundItemText: ; e30d (3:630d) TX_FAR _ItemfinderFoundItemText - db $50 + db "@" ItemfinderFoundNothingText: ; e312 (3:6312) TX_FAR _ItemfinderFoundNothingText - db $50 + db "@" ItemUsePPUp: ; e317 (3:6317) ld a,[W_ISINBATTLE] @@ -28342,7 +28336,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? @@ -28397,7 +28391,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 @@ -28465,7 +28459,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 @@ -28484,7 +28478,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 @@ -28504,23 +28498,23 @@ ItemUsePPRestore: ; e31e (3:631e) RaisePPWhichTechniqueText: ; e45d (3:645d) TX_FAR _RaisePPWhichTechniqueText - db $50 + db "@" RestorePPWhichTechniqueText: ; e462 (3:6462) TX_FAR _RestorePPWhichTechniqueText - db $50 + db "@" PPMaxedOutText: ; e467 (3:6467) TX_FAR _PPMaxedOutText - db $50 + db "@" PPIncreasedText: ; e46c (3:646c) TX_FAR _PPIncreasedText - db $50 + db "@" PPRestoredText: ; e471 (3:6471) TX_FAR _PPRestoredText - db $50 + db "@" ; for items that can't be used from the Item menu UnusableItem: ; e476 (3:6476) @@ -28558,7 +28552,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 @@ -28631,19 +28625,19 @@ ItemUseTMHM: ; e479 (3:6479) BootedUpTMText: ; e54f (3:654f) TX_FAR _BootedUpTMText - db $50 + db "@" BootedUpHMText: ; e554 (3:6554) TX_FAR _BootedUpHMText - db $50 + db "@" TeachMachineMoveText: ; e559 (3:6559) TX_FAR _TeachMachineMoveText - db $50 + db "@" MonCannotLearnMachineMoveText: ; e55e (3:655e) TX_FAR _MonCannotLearnMachineMoveText - db $50 + db "@" PrintItemUseTextAndRemoveItem: ; e563 (3:6563) ld hl,ItemUseText00 @@ -28653,7 +28647,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 @@ -28702,53 +28696,53 @@ ItemUseFailed: ; e5b9 (3:65b9) ItemUseNotTimeText: ; e5c0 (3:65c0) TX_FAR _ItemUseNotTimeText - db $50 + db "@" ItemUseNotYoursToUseText: ; e5c5 (3:65c5) TX_FAR _ItemUseNotYoursToUseText - db $50 + db "@" ItemUseNoEffectText: ; e5ca (3:65ca) TX_FAR _ItemUseNoEffectText - db $50 + db "@" ThrowBallAtTrainerMonText1: ; e5cf (3:65cf) TX_FAR _ThrowBallAtTrainerMonText1 - db $50 + db "@" ThrowBallAtTrainerMonText2: ; e5d4 (3:65d4) TX_FAR _ThrowBallAtTrainerMonText2 - db $50 + db "@" NoCyclingAllowedHereText: ; e5d9 (3:65d9) TX_FAR _NoCyclingAllowedHereText - db $50 + db "@" NoSurfingHereText: ; e5de (3:65de) TX_FAR _NoSurfingHereText - db $50 + db "@" BoxFullCannotThrowBallText: ; e5e3 (3:65e3) TX_FAR _BoxFullCannotThrowBallText - db $50 + db "@" ItemUseText00: ; e5e8 (3:65e8) TX_FAR _ItemUseText001 db $05 TX_FAR _ItemUseText002 - db $50 + db "@" GotOnBicycleText: ; e5f2 (3:65f2) TX_FAR _GotOnBicycleText1 db $05 TX_FAR _GotOnBicycleText2 - db $50 + db "@" GotOffBicycleText: ; e5fc (3:65fc) TX_FAR _GotOffBicycleText1 db $05 TX_FAR _GotOffBicycleText2 - db $50 + db "@" ; restores bonus PP (from PP Ups) when healing at a pokemon center ; also, when a PP Up is used, it increases the current PP by one PP Up bonus @@ -28757,7 +28751,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 @@ -28783,7 +28777,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 @@ -28849,7 +28843,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) @@ -28917,7 +28911,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 @@ -28925,7 +28919,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 @@ -28984,15 +28978,15 @@ TossItem_: ; e6f1 (3:66f1) ThrewAwayItemText: ; e755 (3:6755) TX_FAR _ThrewAwayItemText - db $50 + db "@" IsItOKToTossItemText: ; e75a (3:675a) TX_FAR _IsItOKToTossItemText - db $50 + db "@" TooImportantToTossText: ; e75f (3:675f) TX_FAR _TooImportantToTossText - db $50 + db "@" ; checks if an item is a key item ; INPUT: @@ -29044,7 +29038,6 @@ KeyItemBitfield: ; e799 (3:6799) db %00111011 db %00000000 -; known jump sources: d90a (3:590a), 4fdd4 (13:7dd4) Func_e7a4: ; e7a4 (3:67a4) ld de, W_NUMINBOX ; $da80 ld a, [de] @@ -29168,7 +29161,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 @@ -29213,7 +29206,7 @@ Func_e7a4: ; e7a4 (3:67a4) dec b jr nz, .asm_e8b1 ret -; e8b8 (3:68b8) + ; checks if the tile in front of the player is a shore or water tile ; used for surfing and fishing ; unsets carry if it is, sets carry if not @@ -29246,7 +29239,6 @@ WaterTilesets: ; e8e0 (3:68e0) db $00,$03,$05,$07,$0d,$0e,$11,$16,$17 db $ff ; terminator -; 68EA 0xe8ea ReadSuperRodData: ; e8ea (3:68ea) ; return e = 2 if no fish on this map ; return e = 1 if a bite, bc = level,species @@ -29291,7 +29283,6 @@ ReadSuperRodData: ; e8ea (3:68ea) ld c, [hl] ; species ld e, $1 ; $1 if there's a bite ret -; 0xe919 ; super rod data ; format: map, pointer to fishing group @@ -29401,7 +29392,6 @@ ItemUseReloadOverworldData: ; e9c5 (3:69c5) call LoadCurrentMapView jp UpdateSprites -; known jump sources: 711f4 (1c:51f4) Func_e9cb: ; e9cb (3:69cb) ld hl, WildDataPointers ; $4eeb ld de, $cee9 @@ -29431,7 +29421,6 @@ Func_e9cb: ; e9cb (3:69cb) ld [de], a ret -; known jump sources: e9de (3:69de), e9e3 (3:69e3) Func_e9f0: ; e9f0 (3:69f0) inc hl ld b, $a @@ -29450,7 +29439,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 +29494,6 @@ DrawBadges: ; ea03 (3:6a03) ld de, $cd49 + 4 ; call .DrawBadgeRow ; ret -; ea4c .DrawBadgeRow ; ea4c (3:6a4c) ; Draw 4 badges. @@ -29571,12 +29558,10 @@ DrawBadges: ; ea03 (3:6a03) .FaceBadgeTiles db $20, $28, $30, $38, $40, $48, $50, $58 -; ea9e GymLeaderFaceAndBadgeTileGraphics: ; ea9e (3:6a9e) -INCBIN "gfx/badges.2bpp" + INCBIN "gfx/badges.2bpp" -; known jump sources: 19f70 (6:5f70), 19f83 (6:5f83), 19f94 (6:5f94), 1a1e0 (6:61e0), 1eb3e (7:6b3e), 44312 (11:4312), 449ae (11:49ae), 517e7 (14:57e7), 51b9a (14:5b9a), 51bad (14:5bad), 51bbe (14:5bbe), 52034 (14:6034), 526cf (14:66cf), 5653b (15:653b), 59f94 (16:5f94), 59fa5 (16:5fa5), 5a170 (16:6170), 5a2f2 (16:62f2), 5ca87 (17:4a87), 5d7f4 (17:57f4), 5d807 (17:5807), 5d81a (17:581a), 5d82b (17:582b), 5da37 (17:5a37), 62131 (18:6131), 761b3 (1d:61b3), 7630a (1d:630a), 76461 (1d:6461) Func_ee9e: ; ee9e (3:6e9e) call Load16BitRegisters ld hl, $c6e8 @@ -29620,7 +29605,6 @@ Func_ee9e: ; ee9e (3:6e9e) call Func_ef4e ret c -; known jump sources: efd3 (3:6fd3), efef (3:6fef), 71c95 (1c:5c95) Func_eedc: ; eedc (3:6edc) ld a, [W_ISINBATTLE] ; $d057 inc a @@ -29692,7 +29676,6 @@ Func_eedc: ; eedc (3:6edc) ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba ret -; known jump sources: eec8 (3:6ec8), eed8 (3:6ed8) Func_ef4e: ; ef4e (3:6f4e) ld a, h sub b @@ -29701,7 +29684,6 @@ Func_ef4e: ; ef4e (3:6f4e) sub c ret -; known jump sources: 131c7 (4:71c7) Func_ef54: ; ef54 (3:6f54) xor a ld [$cd6a], a @@ -29722,19 +29704,18 @@ Func_ef54: ; ef54 (3:6f54) cp $52 jr z, asm_ef82 .asm_ef77 - ld hl, _UnnamedText_ef7d ; $6f7d + ld hl, UnnamedText_ef7d ; $6f7d jp PrintText -; ef7d (3:6f7d) -_UnnamedText_ef7d: ; ef7d (3:6f7d) - db $17, $f8, $42, $2a - db $50 -; 0xef7d + 5 bytes + +UnnamedText_ef7d: ; ef7d (3:6f7d) + TX_FAR _UnnamedText_ef7d + db "@" 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 @@ -29751,7 +29732,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 @@ -29759,7 +29740,7 @@ asm_ef82: ; ef82 (3:6f82) ld a, $ff ld [$cfcb], a call Func_eff7 - ld de, Unknown_f100 ; $7100 + ld de, CutTreeBlockSwaps ; $7100 call Func_f09f call Func_eedc ld b, BANK(Func_79e96) @@ -29774,10 +29755,10 @@ 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 "@" -; known jump sources: efca (3:6fca) Func_eff7: ; eff7 (3:6ff7) xor a ld [$cd50], a @@ -29817,7 +29798,6 @@ Func_eff7: ; eff7 (3:6ff7) jr nz, .asm_f044 ret -; known jump sources: f023 (3:7023), f029 (3:7029), f02f (3:702f), f035 (3:7035) Func_f04c: ; f04c (3:704c) ld de, AnimationTileset2 + $60 ; $474e ; tile depicting a leaf ld bc, (BANK(AnimationTileset2) << 8) + $01 @@ -29825,31 +29805,31 @@ 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 -; known jump sources: f055 (3:7055) Func_f068: ; f068 (3:7068) ld hl, $c104 ld a, [hli] ld b, a inc hl ld a, [hli] - ld c, a + ld c, a ; bc holds ypos/xpos of player's sprite inc hl inc hl - ld a, [hl] + ld a, [hl] ; a holds direction of player (00: down, 04: up, 08: left, 0C: right) srl a ld e, a - ld d, $0 + ld d, $0 ; de holds direction (00: down, 02: up, 04: left, 06: right) ld a, [$cd50] and a - ld hl, Unknown_f08f ; $708f + ld hl, CutTreeAnimationOffsets ; $708f jr z, .asm_f084 - ld hl, Unknown_f097 ; $7097 + ld hl, CutTreeAnimationOffsets2 ; $7097 .asm_f084 add hl, de ld e, [hl] @@ -29863,13 +29843,22 @@ Func_f068: ; f068 (3:7068) ld c, a ret -Unknown_f08f: ; f08f (3:708f) -INCBIN "baserom.gbc",$f08f,$f097 - $f08f +CutTreeAnimationOffsets: ; f08f (3:708f) +; Each pair represents the x and y pixels offsets from the player of where the cut tree animation should be drawn + db 8, 36 ; player is facing down + db 8, 4 ; player is facing up + db -8, 20 ; player is facing left + db 24, 20 ; player is facing right -Unknown_f097: ; f097 (3:7097) -INCBIN "baserom.gbc",$f097,$f09f - $f097 +CutTreeAnimationOffsets2: ; f097 (3:7097) +; Not sure if these ever get used. CutTreeAnimationOffsets only seems to be used. +; Each pair represents the x and y pixels offsets from the player of where the cut tree animation should be drawn +; These offsets represent 2 blocks away from the player + db 8, 52 ; player is facing down + db 8, -12 ; player is facing up + db -24, 20 ; player is facing left + db 40, 20 ; player is facing right -; known jump sources: efd0 (3:6fd0) Func_f09f: ; f09f (3:709f) push de ld a, [W_CURMAPWIDTH] ; $d369 @@ -29942,10 +29931,20 @@ Func_f09f: ; f09f (3:709f) ld [hl], a ret -Unknown_f100: ; f100 (3:7100) -INCBIN "baserom.gbc",$f100,$f113 - $f100 +CutTreeBlockSwaps: ; f100 (3:7100) +; first byte = tileset block containing the cut tree +; second byte = corresponding tileset block after the cut animation happens + db $32, $6D + db $33, $6C + db $34, $6F + db $35, $4C + db $60, $6E + db $0B, $0A + db $3C, $35 + db $3F, $35 + db $3D, $36 + db $FF ; list terminator -; known jump sources: 1081 (0:1081) Func_f113: ; f113 (3:7113) ld a, [W_CURMAP] ; $d35e cp ROUTE_1 @@ -29964,6 +29963,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 @@ -30013,7 +30014,6 @@ Func_f113: ; f113 (3:7113) ld [de], a ; write sentinel ret -; known jump sources: f89d (3:789d) InitializeMissableObjectsFlags: ; f175 (3:7175) ld hl, W_MISSABLEOBJECTFLAGS ld bc, $20 @@ -30044,8 +30044,6 @@ InitializeMissableObjectsFlags: ; f175 (3:7175) inc hl jr .missableObjectsLoop -; known jump sources: 50de (1:50de) - ; tests if current sprite is a missable object that is hidden/has been removed IsMissableObjectHidden: ; f1a6 (3:71a6) ld a, [H_CURRENTSPRITEOFFSET] @@ -30092,7 +30090,6 @@ RemoveMissableObject: ; f1d7 (3:71d7) call HandleBitArray2 ; set "removed" flag jp UpdateSprites -; known jump sources: f19a (3:719a), f1bd (3:71bd), f1d1 (3:71d1), f1e0 (3:71e0) ; functionally identical to _HandleBitArray, but with less optimized instructions ; executes operations on a field of bits ; b = 0 -> reset bit @@ -30156,12 +30153,11 @@ HandleBitArray2: ; f1e6 (3:71e6) ld c, a ret -; known jump sources: 1023 (0:1023) 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 @@ -30182,7 +30178,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 @@ -30205,43 +30201,42 @@ 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 -; known jump sources: 1032 (0:1032) Func_f2b5: ; f2b5 (3:72b5) ld a, [$d730] bit 0, a @@ -30250,7 +30245,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] @@ -30260,20 +30255,18 @@ Func_f2b5: ; f2b5 (3:72b5) ld a, $ac jp PlaySound -; known jump sources: f23d (3:723d), f253 (3:7253), f26c (3:726c), f2c9 (3:72c9) Func_f2dd: ; f2dd (3:72dd) - ld hl, W_FLAGS_CD60 + ld hl, wFlags_0xcd60 res 1, [hl] res 6, [hl] ret -; known jump sources: 392f (0:392f) _AddPokemonToParty: ; f2e5 (3:72e5) ld de, W_NUMINPARTY ; $d163 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 @@ -30296,7 +30289,7 @@ _AddPokemonToParty: ; f2e5 (3:72e5) ld a, [$cc49] and $f jr z, .asm_f315 - ld hl, $d9ac + ld hl, W_ENEMYMON1OT .asm_f315 ld a, [$FF00+$e4] dec a @@ -30322,7 +30315,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 @@ -30355,7 +30348,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 @@ -30366,7 +30359,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 @@ -30454,10 +30447,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 @@ -30509,11 +30502,9 @@ _AddPokemonToParty: ; f2e5 (3:72e5) scf ret -; known jump sources: e618 (3:6618), 3ebd2 (f:6bd2) LoadMovePPs: ; f473 (3:7473) call Load16BitRegisters ; fallthrough -; known jump sources: f44c (3:744c) AddPokemonToParty_WriteMovePP: ; f476 (3:7476) ld b, $4 .pploop @@ -30596,17 +30587,15 @@ _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 -; 0xf51e -; known jump sources: 3a72 (0:3a72) Func_f51e: ; f51e (3:751e) ld a, [$cf95] and a @@ -30670,7 +30659,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 @@ -30717,7 +30706,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 @@ -30747,7 +30736,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 @@ -30792,7 +30781,6 @@ Func_f51e: ; f51e (3:751e) HandleBitArray: ; f666 (3:7666) call Load16BitRegisters -; known jump sources: f38b (3:738b), f39a (3:739a), f3a1 (3:73a1) _HandleBitArray: ; f669 (3:7669) push hl push de @@ -30845,7 +30833,6 @@ _HandleBitArray: ; f669 (3:7669) pop hl ld c, a ret -; f6a5 (3:76a5) HealParty: ; f6a5 (3:76a5) ld hl, W_PARTYMON1 @@ -30934,7 +30921,6 @@ HealParty: ; f6a5 (3:76a5) ; predef $a ; predef $d ; predef $e -; known jump sources: 2df5 (0:2df5), 40ed (1:40ed) Func_f71e: ; f71e (3:771e) call Load16BitRegisters xor a @@ -31046,7 +31032,6 @@ Func_f71e: ; f71e (3:771e) jr nz, .asm_f7ce ret -; known jump sources: f76c (3:776c), f77c (3:777c), f78e (3:778e), f79e (3:779e), f7b0 (3:77b0), f7cf (3:77cf) Func_f7d7: ; f7d7 (3:77d7) ld a, [$FF00+$a4] swap a @@ -31072,7 +31057,6 @@ Func_f7d7: ; f7d7 (3:77d7) ld [$FF00+$a2], a ret -; known jump sources: f75d (3:775d), f76f (3:776f), f77f (3:777f), f791 (3:7791), f7a1 (3:77a1), f7b3 (3:77b3) Func_f800: ; f800 (3:7800) ld bc, $3 .asm_f803 @@ -31090,7 +31074,6 @@ Func_f800: ; f800 (3:7800) pop bc jr .asm_f803 -; known jump sources: 2ba8 (0:2ba8), 2dde (0:2dde), 13801 (4:7801), 39d18 (e:5d18), 3c6e1 (f:46e1) Func_f81d: ; f81d (3:781d) call Load16BitRegisters and a @@ -31115,11 +31098,9 @@ Func_f81d: ; f81d (3:781d) .asm_f835 ret -; known jump sources: 6b37 (1:6b37), 5c1c5 (17:41c5), 74f82 (1d:4f82), 75311 (1d:5311) Func_f836: ; f836 (3:7836) call Load16BitRegisters -; known jump sources: f817 (3:7817) Func_f839: ; f839 (3:7839) and a ld b, c @@ -31144,25 +31125,24 @@ Func_f839: ; f839 (3:7839) .asm_f84f ret -; known jump sources: 612d (1:612d) 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 @@ -31173,7 +31153,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 @@ -31189,10 +31169,9 @@ InitializeEmptyList: ; f8a0 (3:78a0) ld [hl], a ret -; known jump sources: 3495 (0:3495), 1980a (6:580a), 198da (6:58da), 483ee (12:43ee), 75d4e (1d:5d4e) Func_f8a5: ; f8a5 (3:78a5) call Load16BitRegisters - ld hl, W_NUMBAGITEMS ; $d31d + ld hl, wNumBagItems ; $d31d .asm_f8ab inc hl ld a, [hli] @@ -31207,7 +31186,6 @@ Func_f8a5: ; f8a5 (3:78a5) ld b, $0 ret -; known jump sources: 18efa (6:4efa), 1cda6 (7:4da6) Func_f8ba: ; f8ba (3:78ba) xor a ld hl, $ff97 @@ -31218,7 +31196,6 @@ Func_f8ba: ; f8ba (3:78ba) ld hl, $cc97 ld de, $0 -; known jump sources: f923 (3:7923) Func_f8c8: ; f8c8 (3:78c8) ld a, [H_REMAINDER] ; $FF00+$99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) ld b, a @@ -31283,7 +31260,6 @@ Func_f8c8: ; f8c8 (3:78c8) ld [hl], $ff ret -; known jump sources: 18ef1 (6:4ef1), 1cd9c (7:4d9c) Func_f929: ; f929 (3:7929) xor a ld [$FF00+$9d], a @@ -31291,7 +31267,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 @@ -31359,9 +31335,51 @@ 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 -; known jump sources: 1291d (4:691d) Func_f9dc: ; f9dc (3:79dc) call Load16BitRegisters @@ -31408,11 +31426,10 @@ UpdateHPBar_CalcNumberOfHPBarPixels: ; f9df (3:79df) ld e, $1 ; make result at least 1 ret -; known jump sources: 78af (1:78af), dcad (3:5cad), dda1 (3:5da1), 13995 (4:7995), 3a724 (e:6724), 3ba88 (e:7a88), 3c50a (f:450a), 3e19a (f:619a), 3e258 (f:6258) ; 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] @@ -31425,9 +31442,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 @@ -31436,26 +31453,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 @@ -31463,9 +31480,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 @@ -31475,18 +31492,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 @@ -31497,7 +31514,6 @@ UpdateHPBar: ; fa1d (3:7a1d) call UpdateHPBar_AnimateHPBar jp Delay3 -; known jump sources: fa84 (3:7a84), faab (3:7aab) ; animates the HP bar going up or down for (a) ticks (two waiting frames each) ; stops prematurely if bar is filled up ; e: current health (in pixels) to start with @@ -31511,7 +31527,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 @@ -31535,7 +31551,6 @@ UpdateHPBar_CompareNewHPToOldHP: ; fad1 (3:7ad1) sub c ret -; known jump sources: fa2b (3:7a2b) ; calcs HP difference between bc and de (into de) UpdateHPBar_CalcHPDifference: ; fad7 (3:7ad7) ld a, d @@ -31566,16 +31581,15 @@ UpdateHPBar_CalcHPDifference: ; fad7 (3:7ad7) ld de, $0 ret -; known jump sources: fa7e (3:7a7e), faa6 (3:7aa6) 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] @@ -31603,13 +31617,12 @@ UpdateHPBar_PrintHPNumber: ; faf5 (3:7af5) pop af ret -; known jump sources: fa69 (3:7a69), fa79 (3:7a79), faa2 (3:7aa2) ; calcs number of HP bar pixels for old and new HP value ; d: new pixels ; 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] @@ -31635,7 +31648,7 @@ UpdateHPBar_CalcOldNewHPBarPixels: ; fb30 (3:7b30) pop hl ret -; known jump sources: 3ee2 (0:3ee2) +; prints text for bookshelves in buildings without sign events Func_fb50: ; fb50 (3:7b50) ld a, [$c109] cp $4 @@ -31645,7 +31658,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 @@ -31675,47 +31688,106 @@ 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_fbd9: ; fbd9 (3:7bd9) - TX_FAR _UnnamedText_fbd9 - db $50 -; 0xfbd9 + 5 bytes +IndigoPlateauStatues: ; fbbf (3:7bbf) + db $08 ; asm + ld hl, IndigoPlateauStatuesText1 + call PrintText + ld a, [W_XCOORD] + bit 0, a + ld hl, IndigoPlateauStatuesText2 + jr nz, .asm_fbd3 + ld hl, IndigoPlateauStatuesText3 +.asm_fbd3 + call PrintText + jp TextScriptEnd -UnnamedText_fbde: ; fbde (3:7bde) - TX_FAR _UnnamedText_fbde - db $50 -; 0xfbde + 5 bytes +IndigoPlateauStatuesText1: ; fbd9 (3:7bd9) + TX_FAR _IndigoPlateauStatuesText1 + db "@" -UnnamedText_fbe3: ; fbe3 (3:7be3) - TX_FAR _UnnamedText_fbe3 - db $50 -; 0xfbe3 + 5 bytes +IndigoPlateauStatuesText2: ; fbde (3:7bde) + TX_FAR _IndigoPlateauStatuesText2 + db "@" -INCBIN "baserom.gbc",$fbe8,$fc03 - $fbe8 +IndigoPlateauStatuesText3: ; fbe3 (3:7be3) + TX_FAR _IndigoPlateauStatuesText3 + db "@" + +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 - db $50 -; 0xfc03 + 5 bytes + db "@" UnnamedText_fc08: ; fc08 (3:7c08) TX_FAR _UnnamedText_fc08 - db $50 -; 0xfc08 + 5 bytes + db "@" UnnamedText_fc0d: ; fc0d (3:7c0d) TX_FAR _UnnamedText_fc0d - db $50 -; 0xfc0d + 5 bytes + 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 - db $50 -; 0xfc45 + 5 bytes + db "@" SECTION "bank4",ROMX,BANK[$4] @@ -31773,7 +31845,7 @@ OldAmberSprite: ; 11300 (4:5300) INCBIN "gfx/sprites/old_amber.2bpp" ; was $11300 LyingOldManSprite: ; 11340 (4:5340) INCBIN "gfx/sprites/lying_old_man.2bpp" ; was $11340 - + PokemonLogoGraphics: ; 11380 (4:5380) INCBIN "gfx/pokemon_logo.2bpp" FontGraphics: ; 11a80 (4:5a80) @@ -31786,33 +31858,32 @@ HpBarAndStatusGraphics: ; 11ea0 (4:5ea0) INCBIN "gfx/hp_bar_and_status.2bpp" BattleHudTiles1: ; 12080 (4:6080) -INCBIN "gfx/battle_hud1.1bpp" + INCBIN "gfx/battle_hud1.1bpp" BattleHudTiles2: ; 12098 (4:6098) -INCBIN "gfx/battle_hud2.1bpp" + INCBIN "gfx/battle_hud2.1bpp" BattleHudTiles3: ; 120b0 (4:60b0) -INCBIN "gfx/battle_hud3.1bpp" + INCBIN "gfx/battle_hud3.1bpp" NintendoCopyrightLogoGraphics: ; 120c8 (4:60c8) -INCBIN "gfx/copyright.2bpp" + INCBIN "gfx/copyright.2bpp" GamefreakLogoGraphics: ; 121f8 (4:61f8) -INCBIN "gfx/gamefreak.2bpp" + INCBIN "gfx/gamefreak.2bpp" TextBoxGraphics: ; 12288 (4:6288) INCBIN "gfx/text_box.2bpp" PokedexTileGraphics: ; 12488 (4:6488) -INCBIN "gfx/pokedex.2bpp" + INCBIN "gfx/pokedex.2bpp" WorldMapTileGraphics: ; 125a8 (4:65a8) -INCBIN "gfx/town_map.2bpp" + INCBIN "gfx/town_map.2bpp" PlayerCharacterTitleGraphics: ; 126a8 (4:66a8) -INCBIN "gfx/player_title.2bpp" + INCBIN "gfx/player_title.2bpp" -; known jump sources: 1388d (4:788d) Func_128d8: ; 128d8 (4:68d8) ld a, [W_YCOORD] ; $d361 ld b, a @@ -31823,7 +31894,6 @@ Func_128d8: ; 128d8 (4:68d8) ld b, a ld a, [W_CURMAPWIDTH] ; $d369 -; known jump sources: 128df (4:68df) Func_128ea: ; 128ea (4:68ea) add a cp b @@ -31831,18 +31901,16 @@ Func_128ea: ; 128ea (4:68ea) inc b ret -; known jump sources: 129e5 (4:69e5), 3cdb9 (f:4db9) Func_128ef: ; 128ef (4:68ef) call Load16BitRegisters ld a, $1 jr asm_128fb -; known jump sources: 12d67 (4:6d67) 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 @@ -31867,7 +31935,6 @@ asm_128fb: ; 128fb (4:68fb) ld d, a ld c, a -; known jump sources: 12910 (4:6910) Func_12924: ; 12924 (4:6924) pop hl push de @@ -31887,7 +31954,7 @@ Func_12924: ; 12924 (4:6924) ld de, $cf99 ld bc, $203 call PrintNumber - ld a, $f3 + ld a, "/" ld [hli], a ld de, $cfba ld bc, $203 @@ -31895,7 +31962,7 @@ Func_12924: ; 12924 (4:6924) pop hl pop de ret -; 12953 (4:6953) + ; Predef 0x37 StatusScreen: ; 12953 (4:6953) call LoadMonData @@ -31946,7 +32013,7 @@ StatusScreen: ; 12953 (4:6953) add hl, de ld [hl], $f2 ; . after No ("." is a different one) dec hl - ld [hl], $74 ; No + ld [hl], "№" FuncCoord 19,9 ld hl, Coord ld bc, $0806 @@ -32037,15 +32104,20 @@ StatusScreen: ; 12953 (4:6953) ld a, [$cc49] cp $3 ret z - ld a, [W_WHICHPOKEMON] + ld a, [wWhichPokemon] jp SkipFixedLengthTextEntries -; 0x12a95 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 @@ -32054,7 +32126,7 @@ Type2Text: ; 12aac (4:6aac) db "TYPE2/", $4e IDNoText: ; 12ab3 (4:6ab3) - db $73, $74, "/", $4e + db $73, "№", "/", $4e OTText: ; 12ab7 (4:6ab7) db "OT/", $4e, "@" @@ -32137,7 +32209,7 @@ StatsText: ; 12b3a (4:6b3a) db "ATTACK", $4e db "DEFENSE", $4e db "SPEED", $4e - db "SPECIAL", $50 + db "SPECIAL@" StatusScreen2: ; 12b57 (4:6b57) ld a, [$ff00+$d7] @@ -32186,7 +32258,7 @@ StatusScreen2: ; 12b57 (4:6b57) and a jr z, .InitPP ; 0x12bb3 $6 ld c, a - ld a, $e3 + ld a, "-" call Func_12ccb ; Fill the rest with -- .InitPP ; 12bbb ld hl, $cfa0 @@ -32200,7 +32272,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 @@ -32329,15 +32401,13 @@ EXPPointsText: ; 12caf (4:6caf) db "EXP POINTS", $4e LevelUpText: ; 12cba (4:6cba) - db "LEVEL UP", $50 + db "LEVEL UP@" -; known jump sources: 12c52 (4:6c52), 12c58 (4:6c58) Func_12cc3: ; 12cc3 (4:6cc3) ld bc, $a ld a, $7f jp FillMemory -; known jump sources: 12bae (4:6bae), 12bb8 (4:6bb8), 12ccf (4:6ccf) Func_12ccb: ; 12ccb (4:6ccb) ld [hli], a ld [hld], a @@ -32345,7 +32415,7 @@ Func_12ccb: ; 12ccb (4:6ccb) dec c jr nz, Func_12ccb ret -; 12cd2 (4:6cd2) + ; [$D07D] = menu type / message ID ; if less than $F0, it is a menu type ; menu types: @@ -32612,63 +32682,62 @@ PartyMenuMessagePointers: ; 12e73 (4:6e73) PartyMenuNormalText: ; 12e7f (4:6e7f) TX_FAR _PartyMenuNormalText - db $50 + db "@" PartyMenuItemUseText: ; 12e84 (4:6e84) TX_FAR _PartyMenuItemUseText - db $50 + db "@" PartyMenuBattleText: ; 12e89 (4:6e89) TX_FAR _PartyMenuBattleText - db $50 + db "@" PartyMenuUseTMText: ; 12e8e (4:6e8e) TX_FAR _PartyMenuUseTMText - db $50 + db "@" PartyMenuSwapMonText: ; 12e93 (4:6e93) TX_FAR _PartyMenuSwapMonText - db $50 + db "@" PotionText: ; 12e98 (4:6e98) TX_FAR _PotionText - db $50 + db "@" AntidoteText: ; 12e9d (4:6e9d) TX_FAR _AntidoteText - db $50 + db "@" ParlyzHealText: ; 12ea2 (4:6ea2) TX_FAR _ParlyzHealText - db $50 + db "@" BurnHealText: ; 12ea7 (4:6ea7) TX_FAR _BurnHealText - db $50 + db "@" IceHealText: ; 12eac (4:6eac) TX_FAR _IceHealText - db $50 + db "@" AwakeningText: ; 12eb1 (4:6eb1) TX_FAR _AwakeningText - db $50 + db "@" FullHealText: ; 12eb6 (4:6eb6) TX_FAR _FullHealText - db $50 + db "@" ReviveText: ; 12ebb (4:6ebb) TX_FAR _ReviveText - db $50 + db "@" RareCandyText: ; 12ec0 (4:6ec0) TX_FAR _RareCandyText db $0B db $06 - db $50 + db "@" -; known jump sources: 12d70 (4:6d70) Func_12ec7: ; 12ec7 (4:6ec7) ld hl, $cf1f ld a, [$cf2d] @@ -32681,7 +32750,6 @@ Func_12ec7: ; 12ec7 (4:6ec7) ld hl, $cf2d inc [hl] ret -; 12ede (4:6ede) RedPicFront: ; 12ede (4:6ede) INCBIN "pic/trainer/red.pic" @@ -32690,7 +32758,6 @@ ShrinkPic1: ; 12fe8 (4:6fe8) ShrinkPic2: ; 13042 (4:7042) INCBIN "pic/trainer/shrink2.pic" -; known jump sources: 2976 (0:2976) Func_13074: ; 13074 (4:7074) ld h, $c2 ld a, [H_CURRENTSPRITEOFFSET] @@ -32716,7 +32783,7 @@ Func_13074: ; 13074 (4:7074) ld a, $2 ld [hl], a ret -; 13095 (4:7095) + StartMenu_Pokedex: ; 13095 (4:7095) ld a,$29 call Predef @@ -32767,7 +32834,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] @@ -32788,9 +32855,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 @@ -32917,7 +32984,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9) jp .goBackToMap .flashLightsAreaText TX_FAR _FlashLightsAreaText - db $50 + db "@" .dig ld a,ESCAPE_ROPE ld [$cf91],a @@ -32952,13 +33019,13 @@ StartMenu_Pokemon: ; 130a9 (4:70a9) jp .goBackToMap .warpToLastPokemonCenterText TX_FAR _WarpToLastPokemonCenterText - db $50 + db "@" .cannotUseTeleportNowText TX_FAR _CannotUseTeleportNowText - db $50 + db "@" .cannotFlyHereText TX_FAR _CannotFlyHereText - db $50 + db "@" .softboiled ld hl,W_PARTYMON1_MAXHP ld a,[$cf92] @@ -32997,7 +33064,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9) jp .loop .notHealthyEnoughText TX_FAR _NotHealthyEnoughText - db $50 + db "@" .goBackToMap call Func_3dbe jp CloseTextDisplay @@ -33007,7 +33074,7 @@ StartMenu_Pokemon: ; 130a9 (4:70a9) jp .loop .newBadgeRequiredText TX_FAR _NewBadgeRequiredText - db $50 + db "@" ; writes a blank tile to all possible menu cursor positions on the party menu ErasePartyMenuCursors: ; 132ed (4:72ed) @@ -33034,7 +33101,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 @@ -33042,11 +33109,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 @@ -33075,7 +33142,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 @@ -33109,7 +33176,7 @@ StartMenu_Item: ; 13302 (4:7302) call PrintText jp ItemMenuLoop .notBicycle2 - ld a,[W_CURMENUITEMID] + ld a,[wCurrentMenuItem] and a jr nz,.tossItem .useItem @@ -33164,18 +33231,18 @@ StartMenu_Item: ; 13302 (4:7302) inc a jr z,.tossZeroItems .skipAskingQuantity - ld hl,W_NUMBAGITEMS + ld hl,wNumBagItems call TossItem .tossZeroItems jp ItemMenuLoop CannotUseItemsHereText: ; 1342a (4:742a) TX_FAR _CannotUseItemsHereText - db $50 + db "@" CannotGetOffHereText: ; 1342f (4:742f) TX_FAR _CannotGetOffHereText - db $50 + db "@" ; items which bring up the party menu when used UsableItems_PartyMenu: ; 13434 (4:7434) @@ -33340,7 +33407,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 @@ -33450,19 +33517,17 @@ StartMenu_Option: ; 135f6 (4:75f6) call UpdateSprites jp RedisplayStartMenu -; known jump sources: 14cf (0:14cf) 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_ -; known jump sources: 13619 (4:7619), 1361f (4:761f) Func_13625: ; 13625 (4:7625) push af - ld hl, W_SCREENTILESBUFFER + ld hl, wTileMap ld bc, $28 call AddNTimes ld c, $28 @@ -33472,7 +33537,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 @@ -33486,12 +33551,11 @@ Func_13625: ; 13625 (4:7625) ld a, $ae jp PlaySound -; known jump sources: 1313b (4:713b), 13613 (4:7613) 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 @@ -33501,8 +33565,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 @@ -33517,7 +33581,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 @@ -33537,7 +33601,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 @@ -33556,7 +33620,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 @@ -33574,7 +33638,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 @@ -33592,7 +33656,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 @@ -33600,7 +33664,6 @@ Func_13653: ; 13653 (4:7653) pop hl ret -; known jump sources: e50c (3:650c), 12d79 (4:6d79) ; tests if mon [$cf91] can learn move [$d0e0] TestMonMoveCompatibility: ; 1373e (4:773e) ld a, [$cf91] @@ -33624,7 +33687,6 @@ TestMonMoveCompatibility: ; 1373e (4:773e) ld a, $10 jp Predef ; indirect jump to HandleBitArray (f666 (3:7666)) -; known jump sources: e490 (3:6490) ; converts TM/HM number in $d11e into move number ; HMs start at 51 TMToMove: ; 13763 (4:7763) @@ -33637,7 +33699,6 @@ TMToMove: ; 13763 (4:7763) ld a, [hl] ld [$d11e], a ret -; 13773 (4:7773) TechnicalMachines: ; 13773 (4:7773) db MEGA_PUNCH @@ -33696,7 +33757,6 @@ TechnicalMachines: ; 13773 (4:7773) db STRENGTH db FLASH -; known jump sources: 3f038 (f:7038) Func_137aa: ; 137aa (4:77aa) ld a, [W_ISLINKBATTLE] ; $d12b cp $4 @@ -33735,7 +33795,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)) @@ -33762,7 +33822,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 @@ -33788,10 +33848,8 @@ DrawText: ; 13864 (4:7864) UnnamedText_1386b: ; 1386b (4:786b) TX_FAR _UnnamedText_1386b - db $50 -; 0x1386b + 5 bytes + db "@" -; known jump sources: 3ef39 (f:6f39) Func_13870: ; 13870 (4:7870) ld a, [$cc57] and a @@ -33831,10 +33889,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 @@ -33844,7 +33902,7 @@ Func_13870: ; 13870 (4:7870) jr nc, .asm_13912 ld a, [H_RAND2] ; $FF00+$d4 ld b, a - ld hl, Unknown_13918 ; $7918 + ld hl, WildMonEncounterSlotChances ; $7918 .asm_138d0 ld a, [hli] cp b @@ -33890,10 +33948,22 @@ Func_13870: ; 13870 (4:7870) xor a ret -Unknown_13918: ; 13918 (4:7918) -INCBIN "baserom.gbc",$13918,$1392c - $13918 +WildMonEncounterSlotChances: ; 13918 (4:7918) +; There are 10 slots for wild pokemon, and this is the table that defines how common each of +; those 10 slots is. A random number is generated and then the first byte of each pair in this +; table is compared against that random number. If the random number is less than or equal +; to the first byte, then that slot is chosen. The second byte is double the slot number. + db $32, $00 ; 51/256 = 19.9% chance of slot 0 + db $65, $02 ; 51/256 = 19.9% chance of slot 1 + db $8C, $04 ; 39/256 = 15.2% chance of slot 2 + db $A5, $06 ; 25/256 = 9.8% chance of slot 3 + db $BE, $08 ; 25/256 = 9.8% chance of slot 4 + db $D7, $0A ; 25/256 = 9.8% chance of slot 5 + db $E4, $0C ; 13/256 = 5.1% chance of slot 6 + db $F1, $0E ; 13/256 = 5.1% chance of slot 7 + db $FC, $10 ; 11/256 = 4.3% chance of slot 8 + db $FF, $12 ; 3/256 = 1.2% chance of slot 9 -; known jump sources: 3f956 (f:7956) Func_1392c: ; 1392c (4:792c) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -33922,28 +33992,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 @@ -33957,32 +34027,128 @@ 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 jp PrintText -; 1399e (4:799e) UnnamedText_1399e: ; 1399e (4:799e) TX_FAR _UnnamedText_1399e - db $50 -; 0x1399e + 5 bytes + db "@" + +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] -INCBIN "baserom.gbc",$139a3,$139cd - $139a3 +.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 $50 -; 0x139cd + 5 bytes + db "@" + +Func_139d2: ; 139d2 (4:79d2) + ld hl, Func_3fb53 +Func_139d5: ; 139d5 (4:79d5) + ld b, BANK(Func_3fb53) + jp Bankswitch -INCBIN "baserom.gbc",$139d2,$13a53 - $139d2 +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 - db $50 -; 0x13a53 + 5 bytes + db "@" -; known jump sources: 35a3 (0:35a3) Func_13a58: ; 13a58 (4:7a58) ld hl, W_GRASSRATE ; $d887 ld a, [W_ISLINKBATTLE] ; $d12b @@ -34004,10 +34170,10 @@ Func_13a58: ; 13a58 (4:7a58) call GetName ld hl, $cd6d .asm_13a86 - ld de, $d04a + ld de, W_TRAINERNAME ld bc, $d jp CopyData -; 13a8f (4:7a8f) + GenRandom_: ; 13a8f (4:7a8f) ; generate a random 16-bit integer and store it at $FFD3,$FFD4 ld a,[rDIV] @@ -34115,7 +34281,7 @@ LoadPokedexTilePatterns: ; 17840 (5:7840) ld de,PokeballTileGraphics ; $697e ld hl,$9720 ld bc,(BANK(PokeballTileGraphics) << 8) + $01 - jp CopyVideoData ; load pokeball tile for marking cought mons + jp CopyVideoData ; load pokeball tile for marking caught mons ; Loads tile patterns for map's sprites. ; For outside maps, it loads one of several fixed sets of sprites. @@ -34131,7 +34297,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 @@ -34176,12 +34342,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 @@ -34328,7 +34494,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 @@ -34371,7 +34537,7 @@ ReadSpriteSheetData: ; 17971 (5:7971) ; sets carry if the map is a city or route, unsets carry if not InitOutsideMapSprites: ; 1797b (5:797b) ld a,[W_CURMAP] - cp a,$25 ; is the map a city or a route (map ID less than $25)? + cp a,REDS_HOUSE_1F ; is the map a city or a route (map ID less than $25)? ret nc ; if not, return ld hl,MapSpriteSets add l @@ -35107,21 +35273,19 @@ SpriteSheetPointerTable: ; 17b27 (5:7b27) dw LyingOldManSprite db $40 ; byte count db BANK(LyingOldManSprite) -; 0x17c47 -; known jump sources: 3239 (0:3239), 18fc3 (6:4fc3), 50f3d (14:4f3d), 51059 (14:5059), 70824 (1c:4824) 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 @@ -35157,7 +35321,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 @@ -35167,26 +35331,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) -INCBIN "gfx/emotion_bubbles.2bpp" +EmotionBubbles: ; 17cbd (5:7cbd) + INCBIN "gfx/emotion_bubbles.2bpp" -; known jump sources: 71c87 (1c:5c87) 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 @@ -35197,18 +35366,18 @@ Func_17d7d: ; 17d7d (5:7d7d) xor a ld [W_ISLINKBATTLE], a ; $d12b jp Func_2307 -; 17dad (5:7dad) + SubstituteEffectHandler: ; 17dad (5:7dad) ld c, 50 - call DelayFrames - ld hl, W_PLAYERMONMAXHP - ld de, W_PLAYERSUBSITUTEHP + call DelayFrames + ld hl, W_PLAYERMONMAXHP + 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 @@ -35266,27 +35435,24 @@ SubstituteEffectHandler: ; 17dad (5:7dad) UnnamedText_17e1d: ; 17e1d (5:7e1d) TX_FAR _UnnamedText_17e1d - db $50 -; 0x17e1d + 5 bytes + db "@" UnnamedText_17e22: ; 17e22 (5:7e22) TX_FAR _UnnamedText_17e22 - db $50 -; 0x17e22 + 5 bytes + db "@" UnnamedText_17e27: ; 17e27 (5:7e27) TX_FAR _UnnamedText_17e27 - db $50 -; 0x17e27 + 5 bytes + 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 @@ -35294,15 +35460,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 @@ -35311,7 +35477,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 @@ -35320,7 +35486,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 @@ -35331,7 +35497,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 @@ -35355,8 +35521,8 @@ PKMNLeague: ; 17ed2 (5:7ed2) ld a, $9B call PlaySound ;XXX: play sound or stop music call WaitForSoundToFinish ;XXX: wait for sound to be done - ld b, BANK(Unknown_7657e) - ld hl, Unknown_7657e + ld b, BANK(Func_7657e) + ld hl, Func_7657e call Bankswitch jr ReloadMainMenu BillsPC: ; 17ee4 (5:7ee4) @@ -35372,8 +35538,8 @@ BillsPC: ; 17ee4 (5:7ee4) ld hl, UnnamedText_17f28 ;accessed bill's pc .printText call PrintText - ld b, BANK(Func_214c2) - ld hl, Func_214c2 + ld b, BANK(BillsPC_) + ld hl, BillsPC_ call Bankswitch ReloadMainMenu: ; 17f06 (5:7f06) xor a @@ -35385,35 +35551,30 @@ 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 UnnamedText_17f23: ; 17f23 (5:7f23) TX_FAR _UnnamedText_17f23 - db $50 -; 0x17f23 + 5 bytes + db "@" UnnamedText_17f28: ; 17f28 (5:7f28) TX_FAR _UnnamedText_17f28 - db $50 -; 0x17f28 + 5 bytes + db "@" UnnamedText_17f2d: ; 17f2d (5:7f2d) TX_FAR _UnnamedText_17f2d - db $50 -; 0x17f2d + 5 bytes + db "@" UnnamedText_17f32: ; 17f32 (5:7f32) TX_FAR _UnnamedText_17f32 - db $50 -; 0x17f32 + 5 bytes + db "@" -; known jump sources: 1d774 (7:5774), 484eb (12:44eb), 5a5b4 (16:65b4), 61096 (18:5096), 75101 (1d:5101) ; 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 @@ -35433,34 +35594,19 @@ 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 -; 17f5f (5:7f5f) + 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 - - db ROUTE_16 - dw $4B95, $C7C1 ; pointers (connected, current) (strip) - db $09, $14 ; bigness, width - db $F8, $27 ; alignments (y, x) - dw $C716 ; window - - db ROUTE_7 - dw $4051, $C7DD ; pointers (connected, current) (strip) - db $09, $0A ; bigness, width - db $F8, $00 ; alignments (y, x) - dw $C6F9 ; window - - ; end connections data - + WEST_MAP_CONNECTION ROUTE_16, ROUTE_16_WIDTH, 4, 0, ROUTE_16_HEIGHT, Route16Blocks, CELADON_CITY_WIDTH + EAST_MAP_CONNECTION ROUTE_7, ROUTE_7_WIDTH, 4, 0, ROUTE_7_HEIGHT, Route7Blocks, CELADON_CITY_WIDTH dw CeladonCityObject ; objects CeladonCityObject: ; 0x18022 (size=189) @@ -35524,24 +35670,10 @@ 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 - dw Route1Blocks + ((ROUTE_1_WIDTH * 15) + 0) ;y, x Strip Starting Point - dw $C6EB + 0 ;Strip X-Offset to current map - db ROUTE_1_WIDTH ;"Bigness" (Unsure) ;Something to do with MapData - db ROUTE_1_WIDTH ;"Map Width" (Unsure) ;Something to do with TileSet - db (ROUTE_1_HEIGHT * 2) - 1 ;Player's new Y-Coordinates - db (0 * -2) ;Player's new X-Coordinates - dw $C6E9 + ROUTE_1_HEIGHT * (ROUTE_1_WIDTH + 6) ;New UL Block Pos (Window) - - db ROUTE_21 - dw Route21Blocks,$C7AB ; pointers - db $0A,$0A ; bigness, width - db $00,$00 ; alignments - dw $C6F9 ; window - + NORTH_MAP_CONNECTION ROUTE_1, ROUTE_1_WIDTH, ROUTE_1_HEIGHT, 0, 0, ROUTE_1_WIDTH, Route1Blocks + SOUTH_MAP_CONNECTION ROUTE_21, ROUTE_21_WIDTH, 0, 0, ROUTE_21_WIDTH, Route21Blocks, PALLET_TOWN_WIDTH, PALLET_TOWN_HEIGHT dw PalletTownObject PalletTownObject: ; 0x182c3 (size=58) @@ -35574,34 +35706,11 @@ 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 - - db ROUTE_2 - dw Route2Blocks + (ROUTE_2_HEIGHT - 3) * ROUTE_2_WIDTH ; connection strip location - dw $C6EB + 5 ; current map position - db ROUTE_2_WIDTH, ROUTE_2_WIDTH ; bigness, width - db (ROUTE_2_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_2_HEIGHT * (ROUTE_2_WIDTH + 6) ; window - - db ROUTE_1 - dw Route1Blocks ; connection strip location - dw $C6EB + (VIRIDIAN_CITY_HEIGHT + 3) * (VIRIDIAN_CITY_WIDTH + 6) + 5 ; current map position - db ROUTE_1_WIDTH, ROUTE_1_WIDTH ; bigness, width - db 0, (5 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_1_WIDTH ; window - - db ROUTE_22 - dw Route22Blocks - 3 + (ROUTE_22_WIDTH) ; connection strip location - dw $C6E8 + (VIRIDIAN_CITY_WIDTH + 6) * (4 + 3) ; current map position - db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; bigness, width - db (4 * -2), (ROUTE_22_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_22_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION ROUTE_2, ROUTE_2_WIDTH, ROUTE_2_HEIGHT, 5, 0, ROUTE_2_WIDTH, Route2Blocks + SOUTH_MAP_CONNECTION ROUTE_1, ROUTE_1_WIDTH, 5, 0, ROUTE_1_WIDTH, Route1Blocks, VIRIDIAN_CITY_WIDTH, VIRIDIAN_CITY_HEIGHT + WEST_MAP_CONNECTION ROUTE_22, ROUTE_22_WIDTH, 4, 0, ROUTE_22_HEIGHT, Route22Blocks, VIRIDIAN_CITY_WIDTH dw ViridianCityObject ; objects ViridianCityObject: ; 0x18384 (size=104) @@ -35644,31 +35753,13 @@ 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 - - db ROUTE_2 - dw Route2Blocks ; connection strip location - dw $C6EB + (PEWTER_CITY_HEIGHT + 3) * (PEWTER_CITY_WIDTH + 6) + 5 ; current map position - db ROUTE_2_WIDTH, ROUTE_2_WIDTH ; bigness, width - db 0, (5 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_2_WIDTH ; window - - db ROUTE_3 - dw Route3Blocks + (ROUTE_3_WIDTH * 0) ; connection strip location - dw $C6E5 + (PEWTER_CITY_WIDTH + 6) * (4 + 4) ; current map position - db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; bigness, width - db (4 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_3_WIDTH ; window - - ; end connections data - + SOUTH_MAP_CONNECTION ROUTE_2, ROUTE_2_WIDTH, 5, 0, ROUTE_2_WIDTH, Route2Blocks, PEWTER_CITY_WIDTH, PEWTER_CITY_HEIGHT + EAST_MAP_CONNECTION ROUTE_3, ROUTE_3_WIDTH, 4, 0, ROUTE_3_HEIGHT, Route3Blocks, PEWTER_CITY_WIDTH dw PewterCityObject ; objects -; 0x18576 -db $0 + db $0 PewterCityObject: ; 0x18577 (size=111) db $a ; border tile @@ -35713,41 +35804,12 @@ 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 - - db ROUTE_24 - dw Route24Blocks + (ROUTE_24_HEIGHT - 3) * ROUTE_24_WIDTH ; connection strip location - dw $C6EB + 5 ; current map position - db ROUTE_24_WIDTH, ROUTE_24_WIDTH ; bigness, width - db (ROUTE_24_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_24_HEIGHT * (ROUTE_24_WIDTH + 6) ; window - - db ROUTE_5 - dw Route5Blocks ; connection strip location - dw $C6EB + (CERULEAN_CITY_HEIGHT + 3) * (CERULEAN_CITY_WIDTH + 6) + 5 ; current map position - db ROUTE_5_WIDTH, ROUTE_5_WIDTH ; bigness, width - db 0, (5 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_5_WIDTH ; window - - db ROUTE_4 - dw Route4Blocks - 3 + (ROUTE_4_WIDTH) ; connection strip location - dw $C6E8 + (CERULEAN_CITY_WIDTH + 6) * (4 + 3) ; current map position - db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; bigness, width - db (4 * -2), (ROUTE_4_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_4_WIDTH ; window - - db ROUTE_9 - dw Route9Blocks + (ROUTE_9_WIDTH * 0) ; connection strip location - dw $C6E5 + (CERULEAN_CITY_WIDTH + 6) * (4 + 4) ; current map position - db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; bigness, width - db (4 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_9_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION ROUTE_24, ROUTE_24_WIDTH, ROUTE_24_HEIGHT, 5, 0, ROUTE_24_WIDTH, Route24Blocks + SOUTH_MAP_CONNECTION ROUTE_5, ROUTE_5_WIDTH, 5, 0, ROUTE_5_WIDTH, Route5Blocks, CERULEAN_CITY_WIDTH, CERULEAN_CITY_HEIGHT + WEST_MAP_CONNECTION ROUTE_4, ROUTE_4_WIDTH, 4, 0, ROUTE_4_HEIGHT, Route4Blocks, CERULEAN_CITY_WIDTH + EAST_MAP_CONNECTION ROUTE_9, ROUTE_9_WIDTH, 4, 0, ROUTE_9_HEIGHT, Route9Blocks, CERULEAN_CITY_WIDTH dw CeruleanCityObject ; objects CeruleanCityObject: ; 0x18786 (size=170) @@ -35804,27 +35866,10 @@ 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 - - db ROUTE_6 - dw Route6Blocks + (ROUTE_6_HEIGHT - 3) * ROUTE_6_WIDTH ; connection strip location - dw $C6EB + 5 ; current map position - db ROUTE_6_WIDTH, ROUTE_6_WIDTH ; bigness, width - db (ROUTE_6_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_6_HEIGHT * (ROUTE_6_WIDTH + 6) ; window - - db ROUTE_11 - dw Route11Blocks + (ROUTE_11_WIDTH * 0) ; connection strip location - dw $C6E5 + (VERMILION_CITY_WIDTH + 6) * (4 + 4) ; current map position - db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; bigness, width - db (4 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_11_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION ROUTE_6, ROUTE_6_WIDTH, ROUTE_6_HEIGHT, 5, 0, ROUTE_6_WIDTH, Route6Blocks + EAST_MAP_CONNECTION ROUTE_11, ROUTE_11_WIDTH, 4, 0, ROUTE_11_HEIGHT, Route11Blocks, VERMILION_CITY_WIDTH dw VermilionCityObject ; objects VermilionCityObject: ; 0x189ba (size=133) @@ -35875,34 +35920,11 @@ 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 - - db ROUTE_19 - dw Route19Blocks ; connection strip location - dw $C6EB + (FUCHSIA_CITY_HEIGHT + 3) * (FUCHSIA_CITY_WIDTH + 6) + 5 ; current map position - db ROUTE_19_WIDTH, ROUTE_19_WIDTH ; bigness, width - db 0, (5 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_19_WIDTH ; window - - db ROUTE_18 - dw Route18Blocks - 3 + (ROUTE_18_WIDTH) ; connection strip location - dw $C6E8 + (FUCHSIA_CITY_WIDTH + 6) * (4 + 3) ; current map position - db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; bigness, width - db (4 * -2), (ROUTE_18_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_18_WIDTH ; window - - db ROUTE_15 - dw Route15Blocks + (ROUTE_15_WIDTH * 0) ; connection strip location - dw $C6E5 + (FUCHSIA_CITY_WIDTH + 6) * (4 + 4) ; current map position - db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; bigness, width - db (4 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_15_WIDTH ; window - - ; end connections data - + SOUTH_MAP_CONNECTION ROUTE_19, ROUTE_19_WIDTH, 5, 0, ROUTE_19_WIDTH, Route19Blocks, FUCHSIA_CITY_WIDTH, FUCHSIA_CITY_HEIGHT + WEST_MAP_CONNECTION ROUTE_18, ROUTE_18_WIDTH, 4, 0, ROUTE_18_HEIGHT, Route18Blocks, FUCHSIA_CITY_WIDTH + EAST_MAP_CONNECTION ROUTE_15, ROUTE_15_WIDTH, 4, 0, ROUTE_15_HEIGHT, Route15Blocks, FUCHSIA_CITY_WIDTH dw FuchsiaCityObject ; objects FuchsiaCityObject: ; 0x18bd4 (size=178) @@ -35961,7 +35983,6 @@ FuchsiaCityObject: ; 0x18bd4 (size=178) FuchsiaCityBlocks: ; 18c86 (6:4c86) INCBIN "maps/fuchsiacity.blk" -; known jump sources: 2099 (0:2099) Func_18dee: ; 18dee (6:4dee) call Func_18e36 ld a, [$d732] @@ -36000,7 +36021,6 @@ Func_18dee: ; 18dee (6:4dee) ld [W_PLAYTIMEMINUTES], a ; $da42 ret -; known jump sources: 18dee (6:4dee) Func_18e36: ; 18e36 (6:4e36) ld a, [$d13a] and a @@ -36024,7 +36044,7 @@ Func_18e36: ; 18e36 (6:4e36) ld [H_NEWLYPRESSEDBUTTONS], a ld [H_CURRENTPRESSEDBUTTONS], a ret -; 18e5b (6:4e5b) + PalletTownScript: ; 18e5b (6:4e5b) ld a,[$D74B] bit 4,a @@ -36036,12 +36056,17 @@ PalletTownScript: ; 18e5b (6:4e5b) ld hl,PalletTownScriptPointers ld a,[W_PALLETTOWNCURSCRIPT] jp CallFunctionInTable -; 0x18e73 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 @@ -36059,7 +36084,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] @@ -36068,14 +36093,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 @@ -36086,7 +36111,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 @@ -36111,14 +36136,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 @@ -36127,12 +36152,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 @@ -36147,7 +36172,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 @@ -36157,7 +36182,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 @@ -36180,11 +36205,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 @@ -36222,27 +36253,22 @@ OakWalksUpText: ; 18fce (6:4fce) PalletTownText2: ; 0x18fd3 girl TX_FAR _PalletTownText2 ; dc 42 29 pointing to 0xa42dc db "@" -; 0x18fd8 PalletTownText3: ; 0x18fd8 fat man TX_FAR _PalletTownText3 db "@" -; 0x18fdd PalletTownText4: ; 0x18fdd sign by lab TX_FAR _PalletTownText4 db "@" -; 0x18fe2 PalletTownText5: ; 0x18fe2 sign by fence TX_FAR _PalletTownText5 db "@" -; 0x18fe7 PalletTownText6: ; 0x18fe7 sign by Red’s house TX_FAR _PalletTownText6 db "@" -; 0x18fec PalletTownText7: ; 0x18fec sign by Blue’s house TX_FAR _PalletTownText7 @@ -36250,22 +36276,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 -; 0x18ffd -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 @@ -36287,12 +36312,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 @@ -36307,7 +36332,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 @@ -36322,7 +36347,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 @@ -36332,7 +36357,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) @@ -36347,13 +36372,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 @@ -36367,7 +36392,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 @@ -36375,15 +36400,29 @@ 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 - db $50 + db "@" ViridianCityText2: ; 19107 (6:5107) db $08 ; asm @@ -36401,13 +36440,11 @@ ViridianCityText2: ; 19107 (6:5107) UnnamedText_19122: ; 19122 (6:5122) TX_FAR _UnnamedText_19122 - db $50 -; 0x19122 + 5 bytes + db "@" UnnamedText_19127: ; 19127 (6:5127) TX_FAR _UnnamedText_19127 - db $50 -; 0x19127 + 5 bytes + db "@" ViridianCityText3: ; 1912c (6:512c) db $08 ; asm @@ -36428,18 +36465,15 @@ ViridianCityText3: ; 1912c (6:512c) UnnamedText_1914d: ; 1914d (6:514d) TX_FAR _UnnamedText_1914d - db $50 -; 0x1914d + 5 bytes + db "@" UnnamedText_19152: ; 19152 (6:5152) TX_FAR _UnnamedText_19152 - db $50 -; 0x19152 + 5 bytes + db "@" UnnamedText_19157: ; 19157 (6:5157) TX_FAR _UnnamedText_19157 - db $50 -; 0x19157 + 5 bytes + db "@" ViridianCityText4: ; 1915c (6:515c) db $08 ; asm @@ -36457,27 +36491,24 @@ ViridianCityText4: ; 1915c (6:515c) UnnamedText_19175: ; 19175 (6:5175) TX_FAR _UnnamedText_19175 - db $50 -; 0x19175 + 5 bytes + db "@" UnnamedText_1917a: ; 1917a (6:517a) TX_FAR _UnnamedText_1917a - db $50 -; 0x1917a + 5 bytes + db "@" 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 UnnamedText_19191: ; 19191 (6:5191) TX_FAR _UnnamedText_19191 - db $50 -; 0x19191 + 5 bytes + db "@" ViridianCityText6: ; 19196 (6:5196) db $08 ; asm @@ -36506,23 +36537,19 @@ ViridianCityText6: ; 19196 (6:5196) UnnamedText_191ca: ; 191ca (6:51ca) TX_FAR _UnnamedText_191ca - db $50 -; 0x191ca + 5 bytes + db "@" ReceivedTM42Text: ; 191cf (6:51cf) TX_FAR _ReceivedTM42Text ; 0xa469a - db $10, $50 -; 0x191cf + 6 bytes = 0x191d5 + db $10, "@" TM42Explanation: ; 191d5 (6:51d5) TX_FAR _TM42Explanation - db $50 -; 0x191d5 + 5 bytes + db "@" TM42NoRoomText: ; 191da (6:51da) TX_FAR _TM42NoRoomText - db $50 -; 0x191da + 5 bytes + db "@" ViridianCityText7: ; 191df (6:51df) db $08 ; asm @@ -36547,53 +36574,47 @@ ViridianCityText7: ; 191df (6:51df) UnnamedText_1920a: ; 1920a (6:520a) TX_FAR _UnnamedText_1920a - db $50 -; 0x1920a + 5 bytes + db "@" UnnamedText_1920f: ; 1920f (6:520f) TX_FAR _UnnamedText_1920f - db $50 -; 0x1920f + 5 bytes + db "@" UnnamedText_19214: ; 19214 (6:5214) TX_FAR _UnnamedText_19214 - db $50 -; 0x19214 + 5 bytes + db "@" ViridianCityText15: ; 19219 (6:5219) TX_FAR _UnnamedText_19219 - db $50 -; 0x19219 + 5 bytes + db "@" ViridianCityText8: ; 1921e (6:521e) TX_FAR _ViridianCityText8 - db $50 + db "@" ViridianCityText9: ; 19223 (6:5223) TX_FAR _ViridianCityText9 - db $50 + db "@" ViridianCityText10: ; 19228 (6:5228) TX_FAR _ViridianCityText10 - db $50 + db "@" ViridianCityText13: ; 1922d (6:522d) TX_FAR _ViridianCityText13 - db $50 + db "@" ViridianCityText14: ; 19232 (6:5232) TX_FAR _ViridianCityText14 - db $50 -; 0x19232 + 5 bytes + db "@" PewterCityScript: ; 19237 (6:5237) call EnableAutoTextBoxDrawing - ld hl, PewterCityScripts + ld hl, PewterCityScriptPointers ld a, [W_PEWTERCITYCURSCRIPT] jp CallFunctionInTable -; 0x19243 -PewterCityScripts: ; 19243 (6:5243) +PewterCityScriptPointers: ; 19243 (6:5243) dw PewterCityScript0 dw PewterCityScript1 dw PewterCityScript2 @@ -36607,24 +36628,23 @@ PewterCityScript0: ; 19251 (6:5251) ld [W_MUSEUMF1CURSCRIPT], a ld hl, $d754 res 0, [hl] - call Function1925e + call PewterCityScript_1925e ret -; 0x1925e -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 @@ -36644,7 +36664,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 @@ -36662,15 +36682,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 -; 0x192ce -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] @@ -36693,7 +36712,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 @@ -36711,7 +36730,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 @@ -36729,14 +36748,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] @@ -36759,21 +36778,34 @@ 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 - db $50 + db "@" PewterCityText2: ; 193ac (6:53ac) TX_FAR _PewterCityText2 - db $50 + db "@" PewterCityText3: ; 193b1 (6:53b1) db $08 ; asm @@ -36807,25 +36839,19 @@ PewterCityText3: ; 193b1 (6:53b1) UnnamedText_193f1: ; 193f1 (6:53f1) TX_FAR _UnnamedText_193f1 - db $50 -; 0x193f1 + 5 bytes + db "@" UnnamedText_193f6: ; 193f6 (6:53f6) TX_FAR _UnnamedText_193f6 - db $50 -; 0x193f6 + 5 bytes + db "@" UnnamedText_193fb: ; 193fb (6:53fb) TX_FAR _UnnamedText_193fb - db $50 -; 0x193fb + 5 bytes + db "@" PewterCityText13: ; 19400 (6:5400) - -UnnamedText_19400: ; 19400 (6:5400) - TX_FAR _UnnamedText_19400 - db $50 -; 0x19400 + 5 bytes + TX_FAR _PewterCityText13 + db "@" PewterCityText4: ; 19405 (6:5405) db $8 @@ -36843,22 +36869,18 @@ PewterCityText4: ; 19405 (6:5405) call PrintText .asm_e4604 ; 0x19424 jp TextScriptEnd -; 0x19427 UnnamedText_19427: ; 19427 (6:5427) TX_FAR _UnnamedText_19427 - db $50 -; 0x19427 + 5 bytes + db "@" UnnamedText_1942c: ; 1942c (6:542c) TX_FAR _UnnamedText_1942c - db $50 -; 0x1942c + 5 bytes + db "@" UnnamedText_19431: ; 19431 (6:5431) TX_FAR _UnnamedText_19431 - db $50 -; 0x19431 + 5 bytes + db "@" PewterCityText5: ; 19436 (6:5436) db $08 ; asm @@ -36880,54 +36902,50 @@ PewterCityText5: ; 19436 (6:5436) UnnamedText_1945d: ; 1945d (6:545d) TX_FAR _UnnamedText_1945d - db $50 -; 0x1945d + 5 bytes + db "@" PewterCityText14: ; 19462 (6:5462) UnnamedText_19462: ; 19462 (6:5462) TX_FAR _UnnamedText_19462 - db $50 -; 0x19462 + 5 bytes + db "@" PewterCityText6: ; 19467 (6:5467) TX_FAR _PewterCityText6 - db $50 + db "@" PewterCityText7: ; 1946c (6:546c) TX_FAR _PewterCityText7 - db $50 + db "@" PewterCityText10: ; 19471 (6:5471) TX_FAR _PewterCityText10 - db $50 + db "@" PewterCityText11: ; 19476 (6:5476) TX_FAR _PewterCityText11 - db $50 + db "@" PewterCityText12: ; 1947b (6:547b) TX_FAR _PewterCityText12 - db $50 + db "@" CeruleanCityScript: ; 19480 (6:5480) call EnableAutoTextBoxDrawing - ld hl, CeruleanCityScripts + ld hl, CeruleanCityScriptPointers ld a, [W_CERULEANCITYCURSCRIPT] jp CallFunctionInTable -; 0x1948c -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 -; 0x1949d -CeruleanCityScripts: ; 1949d (6:549d) +CeruleanCityScriptPointers: ; 1949d (6:549d) dw CeruleanCityScript0 dw CeruleanCityScript1 dw CeruleanCityScript2 @@ -36937,16 +36955,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 @@ -36992,7 +37010,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 @@ -37014,7 +37032,6 @@ CeruleanCityScript0: ; 194c8 (6:54c8) ld a, $1 ld [W_CERULEANCITYCURSCRIPT], a ret -; 0x1954f CeruleanCityCoords1: ; 1954f (6:554f) db $07,$1e @@ -37027,9 +37044,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 @@ -37041,7 +37058,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 @@ -37072,19 +37089,18 @@ CeruleanCityScript1: ; 19567 (6:5567) xor a ld [H_CURRENTPRESSEDBUTTONS], a - call CeruleanCityFunction1955d + call CeruleanCityScript_1955d ld a, $2 ld [W_CERULEANCITYCURSCRIPT], a ret -; 0x195b1 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 @@ -37115,10 +37131,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] @@ -37129,15 +37145,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 -; 0x1962d -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 @@ -37157,23 +37188,19 @@ CeruleanCityText1: ; 1964f (6:564f) UnnamedText_19668: ; 19668 (6:5668) TX_FAR _UnnamedText_19668 - db $50 -; 0x19668 + 5 bytes + db "@" UnnamedText_1966d: ; 1966d (6:566d) TX_FAR _UnnamedText_1966d - db $50 -; 0x1966d + 5 bytes + db "@" UnnamedText_19672: ; 19672 (6:5672) TX_FAR _UnnamedText_19672 - db $50 -; 0x19672 + 5 bytes + db "@" UnnamedText_19677: ; 19677 (6:5677) TX_FAR _UnnamedText_19677 - db $50 -; 0x19677 + 5 bytes + db "@" CeruleanCityText2: ; 1967c (6:567c) db $8 @@ -37209,56 +37236,50 @@ 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 -; 0x196d9 UnnamedText_196d9: ; 196d9 (6:56d9) TX_FAR _UnnamedText_196d9 - db $50 -; 0x196d9 + 5 bytes + db "@" ReceivedTM28Text: ; 196de (6:56de) TX_FAR _ReceivedTM28Text ; 0xa4f82 db $0B TX_FAR _ReceivedTM28Text2 ; 0xa4f96 - db $0D, $50 -; 0x196e9 + db $0D, "@" TM28NoRoomText: ; 196e9 (6:56e9) TX_FAR _TM28NoRoomText - db $50 -; 0x196e9 + 5 bytes + db "@" UnnamedText_196ee: ; 196ee (6:56ee) TX_FAR _UnnamedText_196ee - db $50 -; 0x196ee + 5 bytes + db "@" UnnamedText_196f3: ; 196f3 (6:56f3) TX_FAR _UnnamedText_196f3 - db $50 -; 0x196f3 + 5 bytes + db "@" CeruleanCityText3: ; 196f8 (6:56f8) TX_FAR _CeruleanCityText3 - db $50 + db "@" CeruleanCityText4: ; 196fd (6:56fd) TX_FAR _CeruleanCityText4 - db $50 + db "@" CeruleanCityText5: ; 19702 (6:5702) TX_FAR _CeruleanCityText5 - db $50 + db "@" CeruleanCityText11: ; 19707 (6:5707) CeruleanCityText6: ; 19707 (6:5707) TX_FAR _CeruleanCityText6 - db $50 + db "@" CeruleanCityText7: ; 1970c (6:570c) db $08 ; asm @@ -37282,18 +37303,15 @@ CeruleanCityText7: ; 1970c (6:570c) UnnamedText_19730: ; 19730 (6:5730) TX_FAR _UnnamedText_19730 - db $50 -; 0x19730 + 5 bytes + db "@" UnnamedText_19735: ; 19735 (6:5735) TX_FAR _UnnamedText_19735 - db $50 -; 0x19735 + 5 bytes + db "@" UnnamedText_1973a: ; 1973a (6:573a) TX_FAR _UnnamedText_1973a - db $50 -; 0x1973a + 5 bytes + db "@" CeruleanCityText8: ; 1973f (6:573f) db $08 ; asm @@ -37323,47 +37341,43 @@ CeruleanCityText8: ; 1973f (6:573f) UnnamedText_1976f: ; 1976f (6:576f) TX_FAR _UnnamedText_1976f - db $50 -; 0x1976f + 5 bytes + db "@" UnnamedText_19774: ; 19774 (6:5774) TX_FAR _UnnamedText_19774 - db $50 -; 0x19774 + 5 bytes + db "@" UnnamedText_19779: ; 19779 (6:5779) TX_FAR _UnnamedText_19779 - db $50 -; 0x19779 + 5 bytes + db "@" UnnamedText_1977e: ; 1977e (6:577e) TX_FAR _UnnamedText_1977e - db $50 -; 0x1977e + 5 bytes + db "@" CeruleanCityText9: ; 19783 (6:5783) TX_FAR _CeruleanCityText9 - db $50 + db "@" CeruleanCityText10: ; 19788 (6:5788) TX_FAR _CeruleanCityText10 - db $50 + db "@" CeruleanCityText12: ; 1978d (6:578d) TX_FAR _CeruleanCityText12 - db $50 + db "@" CeruleanCityText13: ; 19792 (6:5792) TX_FAR _CeruleanCityText13 - db $50 + db "@" CeruleanCityText16: ; 19797 (6:5797) TX_FAR _CeruleanCityText16 - db $50 + db "@" CeruleanCityText17: ; 1979c (6:579c) TX_FAR _CeruleanCityText17 - db $50 + db "@" VermilionCityScript: ; 197a1 (6:57a1) call EnableAutoTextBoxDrawing @@ -37371,24 +37385,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 -; 0x197c0 -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 @@ -37399,7 +37412,7 @@ Function197cb: ; 197cb (6:57cb) ld [W_VERMILIONCITYCURSCRIPT], a ret -VermilionCityScripts: ; 197dc (6:57dc) +VermilionCityScriptPointers: ; 197dc (6:57dc) dw VermilionCityScript0 dw VermilionCityScript1 dw VermilionCityScript2 @@ -37410,7 +37423,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 @@ -37438,12 +37451,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 @@ -37452,7 +37465,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 @@ -37468,7 +37481,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 @@ -37483,14 +37496,25 @@ VermilionCityScript1: ; 1985f (6:585f) ld a, $0 ld [W_VERMILIONCITYCURSCRIPT], a ret -; 0x1986f -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 - db $50 + db "@" VermilionCityText2: ; 1988e (6:588e) db $08 ; asm @@ -37508,13 +37532,11 @@ VermilionCityText2: ; 1988e (6:588e) UnnamedText_198a7: ; 198a7 (6:58a7) TX_FAR _UnnamedText_198a7 - db $50 -; 0x198a7 + 5 bytes + db "@" UnnamedText_198ac: ; 198ac (6:58ac) TX_FAR _UnnamedText_198ac - db $50 -; 0x198ac + 5 bytes + db "@" VermilionCityText3: ; 198b1 (6:58b1) db $08 ; asm @@ -37562,32 +37584,27 @@ VermilionCityCoords1: ; 198ff (6:58ff) SSAnneWelcomeText4: ; 19904 (6:5904) TX_FAR _SSAnneWelcomeText4 - db $50 -; 0x19904 + 5 bytes + db "@" SSAnneWelcomeText9: ; 19909 (6:5909) TX_FAR _SSAnneWelcomeText9 - db $50 -; 0x19909 + 5 bytes + db "@" SSAnneFlashedTicketText: ; 1990e (6:590e) TX_FAR _SSAnneFlashedTicketText - db $50 -; 0x1990e + 5 bytes + db "@" SSAnneNoTicketText: ; 19913 (6:5913) TX_FAR _SSAnneNoTicketText - db $50 -; 0x19913 + 5 bytes + db "@" SSAnneNotHereText: ; 19918 (6:5918) TX_FAR _SSAnneNotHereText - db $50 -; 0x19918 + 5 bytes + db "@" VermilionCityText4: ; 1991d (6:591d) TX_FAR _VermilionCityText4 - db $50 + db "@" VermilionCityText5: ; 19922 (6:5922) TX_FAR _VermilionCityText5 @@ -37600,31 +37617,31 @@ VermilionCityText5: ; 19922 (6:5922) VermilionCityText14: ; 19933 (6:5933) TX_FAR _VermilionCityText14 - db $50 + db "@" VermilionCityText6: ; 19938 (6:5938) TX_FAR _VermilionCityText6 - db $50 + db "@" VermilionCityText7: ; 1993d (6:593d) TX_FAR _VermilionCityText7 - db $50 + db "@" VermilionCityText8: ; 19942 (6:5942) TX_FAR _VermilionCityText8 - db $50 + db "@" VermilionCityText11: ; 19947 (6:5947) TX_FAR _VermilionCityText11 - db $50 + db "@" VermilionCityText12: ; 1994c (6:594c) TX_FAR _VermilionCityText12 - db $50 + db "@" VermilionCityText13: ; 19951 (6:5951) TX_FAR _VermilionCityText13 - db $50 + db "@" CeladonCityScript: ; 19956 (6:5956) call EnableAutoTextBoxDrawing @@ -37634,26 +37651,42 @@ CeladonCityScript: ; 19956 (6:5956) ld hl, $d816 res 7, [hl] ret -; 0x19966 -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 - db $50 + db "@" CeladonCityText2: ; 1998f (6:598f) TX_FAR _CeladonCityText2 - db $50 + db "@" CeladonCityText3: ; 19994 (6:5994) TX_FAR _CeladonCityText3 - db $50 + db "@" CeladonCityText4: ; 19999 (6:5999) TX_FAR _CeladonCityText4 - db $50 + db "@" CeladonCityText5: ; 1999e (6:599e) db $08 ; asm @@ -37682,27 +37715,23 @@ CeladonCityText5: ; 1999e (6:599e) TM41PreText: ; 199d2 (6:59d2) TX_FAR _TM41PreText - db $50 -; 0x199d2 + 5 bytes + db "@" ReceivedTM41Text: ; 199d7 (6:59d7) TX_FAR _ReceivedTM41Text ; 0xa5b5a - db $0B, $50 -; 0x199d7 + 6 bytes = 0x199dd + db $0B, "@" TM41ExplanationText: ; 199dd (6:59dd) TX_FAR _TM41ExplanationText - db $50 -; 0x199dd + 5 bytes + db "@" TM41NoRoomText: ; 199e2 (6:59e2) TX_FAR _TM41NoRoomText - db $50 -; 0x199e2 + 5 bytes + db "@" CeladonCityText6: ; 199e7 (6:59e7) TX_FAR _CeladonCityText6 - db $50 + db "@" CeladonCityText7: ; 199ec (6:59ec) TX_FAR _CeladonCityText7 @@ -37713,66 +37742,88 @@ CeladonCityText7: ; 199ec (6:59ec) CeladonCityText8: ; 199f9 (6:59f9) TX_FAR _CeladonCityText8 - db $50 + db "@" CeladonCityText9: ; 199fe (6:59fe) TX_FAR _CeladonCityText9 - db $50 + db "@" CeladonCityText10: ; 19a03 (6:5a03) TX_FAR _CeladonCityText10 - db $50 + db "@" CeladonCityText11: ; 19a08 (6:5a08) TX_FAR _CeladonCityText11 - db $50 + db "@" CeladonCityText13: ; 19a0d (6:5a0d) TX_FAR _CeladonCityText13 - db $50 + db "@" CeladonCityText14: ; 19a12 (6:5a12) TX_FAR _CeladonCityText14 - db $50 + db "@" CeladonCityText15: ; 19a17 (6:5a17) TX_FAR _CeladonCityText15 - db $50 + db "@" CeladonCityText16: ; 19a1c (6:5a1c) TX_FAR _CeladonCityText16 - db $50 + db "@" CeladonCityText17: ; 19a21 (6:5a21) TX_FAR _CeladonCityText17 - db $50 + db "@" CeladonCityText18: ; 19a26 (6:5a26) TX_FAR _CeladonCityText18 - db $50 + db "@" FuchsiaCityScript: ; 19a2b (6:5a2b) jp EnableAutoTextBoxDrawing -; 0x19a2e -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 - db $50 + db "@" FuchsiaCityText2: ; 19a63 (6:5a63) TX_FAR _FuchsiaCityText2 - db $50 + db "@" FuchsiaCityText3: ; 19a68 (6:5a68) TX_FAR _FuchsiaCityText3 - db $50 + db "@" FuchsiaCityText4: ; 19a6d (6:5a6d) TX_FAR _FuchsiaCityText4 - db $50 + db "@" FuchsiaCityText5: ; 19a72 (6:5a72) FuchsiaCityText6: ; 19a72 (6:5a72) @@ -37781,28 +37832,28 @@ FuchsiaCityText8: ; 19a72 (6:5a72) FuchsiaCityText9: ; 19a72 (6:5a72) FuchsiaCityText10: ; 19a72 (6:5a72) TX_FAR _FuchsiaCityText5 - db $50 + db "@" FuchsiaCityText12: ; 19a77 (6:5a77) FuchsiaCityText11: ; 19a77 (6:5a77) TX_FAR _FuchsiaCityText11 - db $50 + db "@" FuchsiaCityText13: ; 19a7c (6:5a7c) TX_FAR _FuchsiaCityText13 - db $50 + db "@" FuchsiaCityText16: ; 19a81 (6:5a81) TX_FAR _FuchsiaCityText16 - db $50 + db "@" FuchsiaCityText17: ; 19a86 (6:5a86) TX_FAR _FuchsiaCityText17 - db $50 + db "@" FuchsiaCityText18: ; 19a8b (6:5a8b) TX_FAR _FuchsiaCityText18 - db $50 + db "@" FuchsiaCityText19: ; 19a90 (6:5a90) db $08 ; asm @@ -37814,8 +37865,7 @@ FuchsiaCityText19: ; 19a90 (6:5a90) FuchsiaCityChanseyText: ; 19a9f (6:5a9f) TX_FAR _FuchsiaCityChanseyText - db $50 -; 0x19a9f + 5 bytes + db "@" FuchsiaCityText20: ; 19aa4 (6:5aa4) db $08 ; asm @@ -37827,8 +37877,7 @@ FuchsiaCityText20: ; 19aa4 (6:5aa4) FuchsiaCityVoltorbText: ; 19ab3 (6:5ab3) TX_FAR _FuchsiaCityVoltorbText - db $50 -; 0x19ab3 + 5 bytes + db "@" FuchsiaCityText21: ; 19ab8 (6:5ab8) db $08 ; asm @@ -37840,8 +37889,7 @@ FuchsiaCityText21: ; 19ab8 (6:5ab8) FuchsiaCityKangaskhanText: ; 19ac7 (6:5ac7) TX_FAR _FuchsiaCityKangaskhanText - db $50 -; 0x19ac7 + 5 bytes + db "@" FuchsiaCityText22: ; 19acc (6:5acc) db $08 ; asm @@ -37853,8 +37901,7 @@ FuchsiaCityText22: ; 19acc (6:5acc) FuchsiaCitySlowpokeText: ; 19adb (6:5adb) TX_FAR _FuchsiaCitySlowpokeText - db $50 -; 0x19adb + 5 bytes + db "@" FuchsiaCityText23: ; 19ae0 (6:5ae0) db $08 ; asm @@ -37866,8 +37913,7 @@ FuchsiaCityText23: ; 19ae0 (6:5ae0) FuchsiaCityLaprasText: ; 19aef (6:5aef) TX_FAR _FuchsiaCityLaprasText - db $50 -; 0x19aef + 5 bytes + db "@" FuchsiaCityText24: ; 19af4 (6:5af4) db $08 ; asm @@ -37895,23 +37941,20 @@ FuchsiaCityText24: ; 19af4 (6:5af4) FuchsiaCityOmanyteText: ; 19b20 (6:5b20) TX_FAR _FuchsiaCityOmanyteText - db $50 -; 0x19b20 + 5 bytes + db "@" FuchsiaCityKabutoText: ; 19b25 (6:5b25) TX_FAR _FuchsiaCityKabutoText - db $50 -; 0x19b25 + 5 bytes + db "@" UnnamedText_19b2a: ; 19b2a (6:5b2a) TX_FAR _UnnamedText_19b2a - db $50 -; 0x19b2a + 5 bytes + db "@" 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 @@ -37922,9 +37965,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] @@ -37933,11 +37977,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 @@ -38018,11 +38064,8 @@ BluesHouseObject: ; 19bce (6:5bce) db $41,4+3,4+3,$FF,$FF,ITEM|3,0 ; Daisy, walking around ; warp-to - dw $C712 - db 7,2 - - dw $C712 - db 7,3 + EVENT_DISP BLUES_HOUSE_WIDTH, 7, 2 + EVENT_DISP BLUES_HOUSE_WIDTH, 7, 3 BluesHouseBlocks: ; 19bf6 (6:5bf6) INCBIN "maps/blueshouse.blk" @@ -38030,22 +38073,20 @@ 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 VermilionHouse3Script: ; 19c12 (6:5c12) jp EnableAutoTextBoxDrawing -; 0x19c15 -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 @@ -38063,8 +38104,8 @@ VermilionHouse3Object: ; 0x19c25 (size=26) db SPRITE_LITTLE_GIRL, $5 + 4, $3 + 4, $ff, $d1, $1 ; person ; warp-to - EVENT_DISP $4, $7, $2 - EVENT_DISP $4, $7, $3 + EVENT_DISP VERMILION_HOUSE_3_WIDTH, $7, $2 + EVENT_DISP VERMILION_HOUSE_3_WIDTH, $7, $3 VermilionHouse3Blocks: ; 19c3f (6:5c3f) INCBIN "maps/vermilionhouse3.blk" @@ -38072,9 +38113,8 @@ 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 IndigoPlateauLobbyScript: ; 19c5b (6:5c5b) @@ -38097,21 +38137,24 @@ IndigoPlateauLobbyScript: ; 19c5b (6:5c5b) ld [hli], a ld [hl], a ret -; 0x19c7f -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 IndigoPlateauLobbyText2: ; 19c8a (6:5c8a) TX_FAR _IndigoPlateauLobbyText1 - db $50 + db "@" IndigoPlateauLobbyText3: ; 19c8f (6:5c8f) TX_FAR _IndigoPlateauLobbyText3 - db $50 + db "@" IndigoPlateauLobbyText5: ; 19c94 (6:5c94) db $f6 @@ -38144,13 +38187,12 @@ 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 @@ -38158,16 +38200,15 @@ SilphCo4Script: ; 19d0b (6:5d0b) call ExecuteCurMapScriptInTable ld [W_SILPHCO4CURSCRIPT], a ret -; 0x19d21 -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 @@ -38190,7 +38231,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] @@ -38226,7 +38267,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 @@ -38244,8 +38285,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) @@ -38256,7 +38303,6 @@ SilphCo4TrainerHeader0: ; 19dae (6:5dae) dw SilphCo4AfterBattleText2 ; 0x5dfe TextAfterBattle dw SilphCo4EndBattleText2 ; 0x5df9 TextEndBattle dw SilphCo4EndBattleText2 ; 0x5df9 TextEndBattle -; 0x19dba SilphCo4TrainerHeader2: ; 19dba (6:5dba) db $3 ; flag's bit @@ -38266,7 +38312,6 @@ SilphCo4TrainerHeader2: ; 19dba (6:5dba) dw SilphCo4AfterBattleText3 ; 0x5e17 TextAfterBattle dw SilphCo4EndBattleText3 ; 0x5e12 TextEndBattle dw SilphCo4EndBattleText3 ; 0x5e12 TextEndBattle -; 0x19dc4 SilphCo4TrainerHeader3: ; 19dc6 (6:5dc6) db $4 ; flag's bit @@ -38276,26 +38321,23 @@ SilphCo4TrainerHeader3: ; 19dc6 (6:5dc6) dw SilphCo4AfterBattleText4 ; 0x5e30 TextAfterBattle dw SilphCo4EndBattleText4 ; 0x5e2b TextEndBattle dw SilphCo4EndBattleText4 ; 0x5e2b TextEndBattle -; 0x19dd2 -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) TX_FAR _UnnamedText_19de0 - db $50 -; 0x19de0 + 5 bytes + db "@" UnnamedText_19de5: ; 19de5 (6:5de5) TX_FAR _UnnamedText_19de5 - db $50 -; 0x19de5 + 5 bytes + db "@" SilphCo4Text2: ; 19dea (6:5dea) db $08 ; asm @@ -38305,18 +38347,15 @@ SilphCo4Text2: ; 19dea (6:5dea) SilphCo4BattleText2: ; 19df4 (6:5df4) TX_FAR _SilphCo4BattleText2 - db $50 -; 0x19df4 + 5 bytes + db "@" SilphCo4EndBattleText2: ; 19df9 (6:5df9) TX_FAR _SilphCo4EndBattleText2 - db $50 -; 0x19df9 + 5 bytes + db "@" SilphCo4AfterBattleText2: ; 19dfe (6:5dfe) TX_FAR _SilphCo4AfterBattleText2 - db $50 -; 0x19dfe + 5 bytes + db "@" SilphCo4Text3: ; 19e03 (6:5e03) db $08 ; asm @@ -38326,18 +38365,15 @@ SilphCo4Text3: ; 19e03 (6:5e03) SilphCo4BattleText3: ; 19e0d (6:5e0d) TX_FAR _SilphCo4BattleText3 - db $50 -; 0x19e0d + 5 bytes + db "@" SilphCo4EndBattleText3: ; 19e12 (6:5e12) TX_FAR _SilphCo4EndBattleText3 - db $50 -; 0x19e12 + 5 bytes + db "@" SilphCo4AfterBattleText3: ; 19e17 (6:5e17) TX_FAR _SilphCo4AfterBattleText3 - db $50 -; 0x19e17 + 5 bytes + db "@" SilphCo4Text4: ; 19e1c (6:5e1c) db $08 ; asm @@ -38347,18 +38383,15 @@ SilphCo4Text4: ; 19e1c (6:5e1c) SilphCo4BattleText4: ; 19e26 (6:5e26) TX_FAR _SilphCo4BattleText4 - db $50 -; 0x19e26 + 5 bytes + db "@" SilphCo4EndBattleText4: ; 19e2b (6:5e2b) TX_FAR _SilphCo4EndBattleText4 - db $50 -; 0x19e2b + 5 bytes + db "@" SilphCo4AfterBattleText4: ; 19e30 (6:5e30) TX_FAR _SilphCo4AfterBattleText4 - db $50 -; 0x19e30 + 5 bytes + db "@" SilphCo4Object: ; 0x19e35 (size=111) db $2e ; border tile @@ -38398,13 +38431,12 @@ 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 @@ -38412,16 +38444,15 @@ SilphCo5Script: ; 19f37 (6:5f37) call ExecuteCurMapScriptInTable ld [W_SILPHCO5CURSCRIPT], a ret -; 0x19f4d -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 @@ -38450,12 +38481,11 @@ Unnamed_19f4d: ; 19f4d (6:5f4d) ld bc, $0507 ld a, $17 jp Predef -; 0x19f97 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 @@ -38478,8 +38508,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) @@ -38490,7 +38530,6 @@ Silphco5TrainerHeader0: ; 19fd2 (6:5fd2) dw SilphCo5AfterBattleText2 ; 0x602e TextAfterBattle dw SilphCo5EndBattleText2 ; 0x6029 TextEndBattle dw SilphCo5EndBattleText2 ; 0x6029 TextEndBattle -; 0x19fde Silphco5TrainerHeader2: ; 19fde (6:5fde) db $3 ; flag's bit @@ -38500,7 +38539,6 @@ Silphco5TrainerHeader2: ; 19fde (6:5fde) dw SilphCo5AfterBattleText3 ; 0x6047 TextAfterBattle dw SilphCo5EndBattleText3 ; 0x6042 TextEndBattle dw SilphCo5EndBattleText3 ; 0x6042 TextEndBattle -; 0x19fea Silphco5TrainerHeader3: ; 19fea (6:5fea) db $4 ; flag's bit @@ -38510,7 +38548,6 @@ Silphco5TrainerHeader3: ; 19fea (6:5fea) dw SilphCo5AfterBattleText4 ; 0x6060 TextAfterBattle dw SilphCo5EndBattleText4 ; 0x605b TextEndBattle dw SilphCo5EndBattleText4 ; 0x605b TextEndBattle -; 0x19ff4 Silphco5TrainerHeader4: ; 19ff6 (6:5ff6) db $5 ; flag's bit @@ -38520,26 +38557,23 @@ Silphco5TrainerHeader4: ; 19ff6 (6:5ff6) dw SilphCo5AfterBattleText5 ; 0x6079 TextAfterBattle dw SilphCo5EndBattleText5 ; 0x6074 TextEndBattle dw SilphCo5EndBattleText5 ; 0x6074 TextEndBattle -; 0x1a002 -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) TX_FAR _UnnamedText_1a010 - db $50 -; 0x1a010 + 5 bytes + db "@" UnnamedText_1a015: ; 1a015 (6:6015) TX_FAR _UnnamedText_1a015 - db $50 -; 0x1a015 + 5 bytes + db "@" SilphCo5Text2: ; 1a01a (6:601a) db $08 ; asm @@ -38549,18 +38583,15 @@ SilphCo5Text2: ; 1a01a (6:601a) SilphCo5BattleText2: ; 1a024 (6:6024) TX_FAR _SilphCo5BattleText2 - db $50 -; 0x1a024 + 5 bytes + db "@" SilphCo5EndBattleText2: ; 1a029 (6:6029) TX_FAR _SilphCo5EndBattleText2 - db $50 -; 0x1a029 + 5 bytes + db "@" SilphCo5AfterBattleText2: ; 1a02e (6:602e) TX_FAR _SilphCo5AfterBattleText2 - db $50 -; 0x1a02e + 5 bytes + db "@" SilphCo5Text3: ; 1a033 (6:6033) db $08 ; asm @@ -38570,18 +38601,15 @@ SilphCo5Text3: ; 1a033 (6:6033) SilphCo5BattleText3: ; 1a03d (6:603d) TX_FAR _SilphCo5BattleText3 - db $50 -; 0x1a03d + 5 bytes + db "@" SilphCo5EndBattleText3: ; 1a042 (6:6042) TX_FAR _SilphCo5EndBattleText3 - db $50 -; 0x1a042 + 5 bytes + db "@" SilphCo5AfterBattleText3: ; 1a047 (6:6047) TX_FAR _SilphCo5AfterBattleText3 - db $50 -; 0x1a047 + 5 bytes + db "@" SilphCo5Text4: ; 1a04c (6:604c) db $08 ; asm @@ -38591,18 +38619,15 @@ SilphCo5Text4: ; 1a04c (6:604c) SilphCo5BattleText4: ; 1a056 (6:6056) TX_FAR _SilphCo5BattleText4 - db $50 -; 0x1a056 + 5 bytes + db "@" SilphCo5EndBattleText4: ; 1a05b (6:605b) TX_FAR _SilphCo5EndBattleText4 - db $50 -; 0x1a05b + 5 bytes + db "@" SilphCo5AfterBattleText4: ; 1a060 (6:6060) TX_FAR _SilphCo5AfterBattleText4 - db $50 -; 0x1a060 + 5 bytes + db "@" SilphCo5Text5: ; 1a065 (6:6065) db $08 ; asm @@ -38612,30 +38637,27 @@ SilphCo5Text5: ; 1a065 (6:6065) SilphCo5BattleText5: ; 1a06f (6:606f) TX_FAR _SilphCo5BattleText5 - db $50 -; 0x1a06f + 5 bytes + db "@" SilphCo5EndBattleText5: ; 1a074 (6:6074) TX_FAR _SilphCo5EndBattleText5 - db $50 -; 0x1a074 + 5 bytes + db "@" SilphCo5AfterBattleText5: ; 1a079 (6:6079) TX_FAR _SilphCo5AfterBattleText5 - db $50 -; 0x1a079 + 5 bytes + db "@" SilphCo5Text9: ; 1a07e (6:607e) TX_FAR _SilphCo5Text9 - db $50 + db "@" SilphCo5Text10: ; 1a083 (6:6083) TX_FAR _SilphCo5Text10 - db $50 + db "@" SilphCo5Text11: ; 1a088 (6:6088) TX_FAR _SilphCo5Text11 - db $50 + db "@" SilphCo5Object: ; 0x1a08d (size=137) db $2e ; border tile @@ -38679,13 +38701,12 @@ 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 @@ -38693,16 +38714,15 @@ SilphCo6Script: ; 1a1a9 (6:61a9) call ExecuteCurMapScriptInTable ld [W_SILPHCO6CURSCRIPT], a ret -; 0x1a1bf -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 @@ -38716,7 +38736,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 @@ -38729,8 +38749,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) @@ -38741,7 +38770,6 @@ SilphCo6TrainerHeader0: ; 1a20a (6:620a) dw SilphCo6AfterBattleText2 ; 0x62c4 TextAfterBattle dw SilphCo6EndBattleText2 ; 0x62bf TextEndBattle dw SilphCo6EndBattleText2 ; 0x62bf TextEndBattle -; 0x1a216 SilphCo6TrainerHeader2: ; 1a216 (6:6216) db $7 ; flag's bit @@ -38751,7 +38779,6 @@ SilphCo6TrainerHeader2: ; 1a216 (6:6216) dw SilphCo6AfterBattleText3 ; 0x62dd TextAfterBattle dw SilphCo6EndBattleText3 ; 0x62d8 TextEndBattle dw SilphCo6EndBattleText3 ; 0x62d8 TextEndBattle -; 0x1a222 SilphCo6TrainerHeader3: ; 1a222 (6:6222) db $8 ; flag's bit @@ -38761,11 +38788,10 @@ SilphCo6TrainerHeader3: ; 1a222 (6:6222) dw SilphCo6AfterBattleText4 ; 0x62f6 TextAfterBattle dw SilphCo6EndBattleText4 ; 0x62f1 TextEndBattle dw SilphCo6EndBattleText4 ; 0x62f1 TextEndBattle -; 0x1a22e -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 @@ -38780,86 +38806,76 @@ 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) TX_FAR _UnnamedText_1a24a - db $50 -; 0x1a24a + 5 bytes + db "@" UnnamedText_1a24f: ; 1a24f (6:624f) TX_FAR _UnnamedText_1a24f - db $50 -; 0x1a24f + 5 bytes + db "@" 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) TX_FAR _UnnamedText_1a261 - db $50 -; 0x1a261 + 5 bytes + db "@" UnnamedText_1a266: ; 1a266 (6:6266) TX_FAR _UnnamedText_1a266 - db $50 -; 0x1a266 + 5 bytes + db "@" 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) TX_FAR _UnnamedText_1a278 - db $50 -; 0x1a278 + 5 bytes + db "@" UnnamedText_1a27d: ; 1a27d (6:627d) TX_FAR _UnnamedText_1a27d - db $50 -; 0x1a27d + 5 bytes + db "@" 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) TX_FAR _UnnamedText_1a28f - db $50 -; 0x1a28f + 5 bytes + db "@" UnnamedText_1a294: ; 1a294 (6:6294) TX_FAR _UnnamedText_1a294 - db $50 -; 0x1a294 + 5 bytes + db "@" 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) TX_FAR _UnnamedText_1a2a6 - db $50 -; 0x1a2a6 + 5 bytes + db "@" UnnamedText_1a2ab: ; 1a2ab (6:62ab) TX_FAR _UnnamedText_1a2ab - db $50 -; 0x1a2ab + 5 bytes + db "@" SilphCo6Text6: ; 1a2b0 (6:62b0) db $08 ; asm @@ -38869,18 +38885,15 @@ SilphCo6Text6: ; 1a2b0 (6:62b0) SilphCo6BattleText2: ; 1a2ba (6:62ba) TX_FAR _SilphCo6BattleText2 - db $50 -; 0x1a2ba + 5 bytes + db "@" SilphCo6EndBattleText2: ; 1a2bf (6:62bf) TX_FAR _SilphCo6EndBattleText2 - db $50 -; 0x1a2bf + 5 bytes + db "@" SilphCo6AfterBattleText2: ; 1a2c4 (6:62c4) TX_FAR _SilphCo6AfterBattleText2 - db $50 -; 0x1a2c4 + 5 bytes + db "@" SilphCo6Text7: ; 1a2c9 (6:62c9) db $08 ; asm @@ -38890,18 +38903,15 @@ SilphCo6Text7: ; 1a2c9 (6:62c9) SilphCo6BattleText3: ; 1a2d3 (6:62d3) TX_FAR _SilphCo6BattleText3 - db $50 -; 0x1a2d3 + 5 bytes + db "@" SilphCo6EndBattleText3: ; 1a2d8 (6:62d8) TX_FAR _SilphCo6EndBattleText3 - db $50 -; 0x1a2d8 + 5 bytes + db "@" SilphCo6AfterBattleText3: ; 1a2dd (6:62dd) TX_FAR _SilphCo6AfterBattleText3 - db $50 -; 0x1a2dd + 5 bytes + db "@" SilphCo6Text8: ; 1a2e2 (6:62e2) db $08 ; asm @@ -38911,18 +38921,15 @@ SilphCo6Text8: ; 1a2e2 (6:62e2) SilphCo6BattleText4: ; 1a2ec (6:62ec) TX_FAR _SilphCo6BattleText4 - db $50 -; 0x1a2ec + 5 bytes + db "@" SilphCo6EndBattleText4: ; 1a2f1 (6:62f1) TX_FAR _SilphCo6EndBattleText4 - db $50 -; 0x1a2f1 + 5 bytes + db "@" SilphCo6AfterBattleText4: ; 1a2f6 (6:62f6) TX_FAR _SilphCo6AfterBattleText4 - db $50 -; 0x1a2f6 + 5 bytes + db "@" SilphCo6Object: ; 0x1a2fb (size=112) db $2e ; border tile @@ -38958,14 +38965,13 @@ SilphCo6Object: ; 0x1a2fb (size=112) SilphCo6Blocks: ; 1a36b (6:636b) INCBIN "maps/silphco6.blk" -; known jump sources: 314b (0:314b) Func_1a3e0: ; 1a3e0 (6:63e0) ld hl, $d730 res 1, [hl] 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 @@ -38988,7 +38994,6 @@ Func_1a3e0: ; 1a3e0 (6:63e0) res 7, [hl] ret -; known jump sources: 3153 (0:3153) Func_1a41d: ; 1a41d (6:641d) ld hl, $d730 res 7, [hl] @@ -39006,7 +39011,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 @@ -39038,7 +39043,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) @@ -39054,7 +39059,6 @@ Func_1a485: ; 1a485 (6:6485) ld a, $2 ld [$cf10], a ret -; 0x1a4a1 Func_1a4a1: ; 1a4a1 (6:64a1) ld a, [$cd38] @@ -39086,21 +39090,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] @@ -39116,7 +39120,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 @@ -39148,21 +39152,20 @@ Func_1a514: ; 1a514 (6:6514) ld a, $1 ld [$cf10], a ret -; 0x1a559 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] @@ -39173,9 +39176,8 @@ Func_1a56b: ; 1a56b (6:656b) ld hl, $d72e res 7, [hl] jp Func_314e -; 0x1a57d -Unknown_1a57d: ; 1a57d (6:657d) +PointerTable_1a57d: ; 1a57d (6:657d) dw Func_1a581 dw Func_1a56b @@ -39210,53 +39212,54 @@ Func_1a581: ; 1a581 (6:6581) ld a, $1 ld [$cf10], a ret -; 0x1a5cd 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 - -; known jump sources: 33b1 (0:33b1) + 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 -; known jump sources: c4a5 (3:44a5), 1a3e5 (6:63e5) 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 @@ -39281,10 +39284,68 @@ 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 Tileset17DoorTileIDs + 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 + +Tileset17DoorTileIDs: ; 1a66f (6:666f) + db $3b,$1b,$00 -; known jump sources: c37 (0:c37) Func_1a672: ; 1a672 (6:6672) ld a, [$d736] bit 6, a @@ -39301,7 +39362,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 @@ -39329,7 +39390,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 @@ -39343,10 +39404,17 @@ 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 -; known jump sources: 1a6c6 (6:66c6) Func_1a6f0: ; 1a6f0 (6:66f0) ld hl, $8ff0 ld de, LedgeHoppingShadow ; $6708 @@ -39354,42 +39422,26 @@ 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" + 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 - - db ROUTE_21 - dw Route21Blocks + (ROUTE_21_HEIGHT - 3) * ROUTE_21_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db ROUTE_21_WIDTH, ROUTE_21_WIDTH ; bigness, width - db (ROUTE_21_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_21_HEIGHT * (ROUTE_21_WIDTH + 6) ; window - - db ROUTE_20 - dw Route20Blocks + (ROUTE_20_WIDTH * 0) ; connection strip location - dw $C6E5 + (CINNABAR_ISLAND_WIDTH + 6) * (0 + 4) ; current map position - db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; bigness, width - db (0 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_20_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION ROUTE_21, ROUTE_21_WIDTH, ROUTE_21_HEIGHT, 0, 0, ROUTE_21_WIDTH, Route21Blocks + EAST_MAP_CONNECTION ROUTE_20, ROUTE_20_WIDTH, 0, 0, ROUTE_20_HEIGHT, Route20Blocks, CINNABAR_ISLAND_WIDTH dw CinnabarIslandObject ; objects CinnabarIslandObject: ; 0x1c022 (size=71) @@ -39426,25 +39478,10 @@ 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 - - db VIRIDIAN_CITY - dw ViridianCityBlocks + (VIRIDIAN_CITY_HEIGHT - 3) * VIRIDIAN_CITY_WIDTH + 2, $c6e8 ; pointers (connected, current) (strip) - db $10, $14 ; bigness, width - db $23, $0a ; alignments (y, x) - dw $c8bd ; window - - db PALLET_TOWN - dw PalletTownBlocks, $c83b ; pointers (connected, current) (strip) - db $0a, $0a ; bigness, width - db $00, $00 ; alignments (y, x) - dw $c6f9 ; window - - ; end connections data - + NORTH_MAP_CONNECTION VIRIDIAN_CITY, VIRIDIAN_CITY_WIDTH, VIRIDIAN_CITY_HEIGHT, -3, 2, VIRIDIAN_CITY_WIDTH - 4, ViridianCityBlocks + SOUTH_MAP_CONNECTION PALLET_TOWN, PALLET_TOWN_WIDTH, 0, 0, PALLET_TOWN_WIDTH, PalletTownBlocks, ROUTE_1_WIDTH, ROUTE_1_HEIGHT dw Route1Object ; objects Route1Object: ; 0x1c0e5 (size=19) @@ -39459,9 +39496,8 @@ Route1Object: ; 0x1c0e5 (size=19) db SPRITE_BUG_CATCHER, $18 + 4, $5 + 4, $fe, $1, $1 ; person db SPRITE_BUG_CATCHER, $d + 4, $f + 4, $fe, $2, $2 ; person -; XXX what is this? -Unknown_1c0f8: ; 1c0f8 (7:40f8) - db $12, $c7, $7, $2 + ; warp-to (unused) + EVENT_DISP $4, $7, $2 Route1Blocks: ; 1c0fc (7:40fc) INCBIN "maps/route1.blk" @@ -39689,7 +39725,6 @@ MonsterNames: ; 1c21e (7:421e) db "WEEPINBELL" db "VICTREEBEL" -; known jump sources: 4493 (1:4493) Func_1c98a: ; 1c98a (7:498a) call ClearScreen call GoPAL_SET_CF1C @@ -39705,20 +39740,18 @@ 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) ld hl, Func_73b6a call Bankswitch ; indirect jump to Func_73b6a (73b6a (1c:7b6a)) jp InitGame -; 1c9c1 (7:49c1) + UnnamedText_1c9c1: ; 1c9c1 (7:49c1) TX_FAR _UnnamedText_1c9c1 - db $50 -; 0x1c9c1 + 5 bytes + db "@" -; known jump sources: 4583e (11:583e) Func_1c9c6: ; 1c9c6 (7:49c6) ld hl, UnnamedText_1ca14 ; $4a14 call PrintText @@ -39727,23 +39760,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 @@ -39755,7 +39788,6 @@ Func_1c9c6: ; 1c9c6 (7:49c6) ld hl, $d3af call Func_1ca0d -; known jump sources: 1ca0a (7:4a0a) Func_1ca0d: ; 1ca0d (7:4a0d) inc hl inc hl @@ -39764,11 +39796,10 @@ Func_1ca0d: ; 1ca0d (7:4a0d) ld a, c ld [hli], a ret -; 1ca14 (7:4a14) + UnnamedText_1ca14: ; 1ca14 (7:4a14) TX_FAR _UnnamedText_1ca14 - db $50 -; 0x1ca14 + 5 bytes + db "@" CinnabarIslandScript: ; 1ca19 (7:4a19) call EnableAutoTextBoxDrawing @@ -39778,13 +39809,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 -; 0x1ca34 -CinnabarIslandScripts: ; 1ca34 (7:4a34) - dw CinnabarIslandScript0, CinnabarIslandScript1 +CinnabarIslandScriptPointers: ; 1ca34 (7:4a34) + dw CinnabarIslandScript0 + dw CinnabarIslandScript1 CinnabarIslandScript0: ; 1ca38 (7:4a38) ld b, $2b @@ -39810,11 +39841,10 @@ 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 -; 0x1ca73 CinnabarIslandScript1: ; 1ca73 (7:4a73) ld a, [$cd38] @@ -39824,42 +39854,48 @@ CinnabarIslandScript1: ; 1ca73 (7:4a73) ld a, $0 ld [W_CINNABARISLANDCURSCRIPT], a ret -; 0x1ca81 -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 - db $50 -; 0x1ca91 + 5 bytes + db "@" CinnabarIslandText1: ; 1ca96 (7:4a96) TX_FAR _CinnabarIslandText1 - db $50 + db "@" CinnabarIslandText2: ; 1ca9b (7:4a9b) TX_FAR _CinnabarIslandText2 - db $50 + db "@" CinnabarIslandText3: ; 1caa0 (7:4aa0) TX_FAR _CinnabarIslandText3 - db $50 + db "@" CinnabarIslandText6: ; 1caa5 (7:4aa5) TX_FAR _CinnabarIslandText6 - db $50 + db "@" CinnabarIslandText7: ; 1caaa (7:4aaa) TX_FAR _CinnabarIslandText7 - db $50 + db "@" Route1Script: ; 1caaf (7:4aaf) jp EnableAutoTextBoxDrawing -; 0x1cab2 -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 @@ -39885,54 +39921,67 @@ Route1Text1: ; 1cab8 (7:4ab8) Route1ViridianMartSampleText: ; 1cae3 (7:4ae3) TX_FAR _Route1ViridianMartSampleText - db $50 -; 0x1cae3 + 5 bytes + db "@" UnnamedText_1cae8: ; 1cae8 (7:4ae8) TX_FAR _UnnamedText_1cae8 - db $0b,$50 + db $0b,"@" UnnamedText_1caee: ; 1caee (7:4aee) TX_FAR _UnnamedText_1caee - db $50 -; 0x1caee + 5 bytes + db "@" UnnamedText_1caf3: ; 1caf3 (7:4af3) TX_FAR _UnnamedText_1caf3 - db $50 -; 0x1caf3 + 5 bytes + db "@" Route1Text2: ; 1caf8 (7:4af8) TX_FAR _Route1Text2 - db $50 + db "@" Route1Text3: ; 1cafd (7:4afd) TX_FAR _Route1Text3 - db $50 + db "@" 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 OaksLabScript: ; 1cb0e (7:4b0e) ld a, [$d74b] bit 6, a - call nz, Unknown_1d076 + call nz, OaksLabScript_1d076 ld a, $1 ld [$cf0c], a xor a ld [$cc3c], a - ld hl, OaksLabScripts + ld hl, OaksLabScriptPointers ld a, [W_OAKSLABCURSCRIPT] jp CallFunctionInTable -; 0x1cb28 -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] @@ -39951,7 +40000,6 @@ OaksLabScript0: ; 1cb4e (7:4b4e) ld a, $1 ld [W_OAKSLABCURSCRIPT], a ret -; 0x1cb6e OaksLabScript1: ; 1cb6e (7:4b6e) ld a, $8 @@ -39962,10 +40010,9 @@ OaksLabScript1: ; 1cb6e (7:4b6e) ld a, $2 ld [W_OAKSLABCURSCRIPT], a ret -; 0x1cb7e OakEntryMovement: ; 1cb7e (7:4b7e) - db $40, $40, $40, $ff + db $40,$40,$40,$FF OaksLabScript2: ; 1cb82 (7:4b82) ld a, [$d730] @@ -39983,7 +40030,6 @@ OaksLabScript2: ; 1cb82 (7:4b82) ld a, $3 ld [W_OAKSLABCURSCRIPT], a ret -; 0x1cba2 OaksLabScript3: ; 1cba2 (7:4ba2) call Delay3 @@ -40007,7 +40053,6 @@ OaksLabScript3: ; 1cba2 (7:4ba2) ld a, $4 ld [W_OAKSLABCURSCRIPT], a ret -; 0x1cbcf PlayerEntryMovementRLE: ; 1cbcf (7:4bcf) db $40, $8, $ff @@ -40033,11 +40078,10 @@ OaksLabScript4: ; 1cbd2 (7:4bd2) ld a, $5 ld [W_OAKSLABCURSCRIPT], a ret -; 0x1cbfd OaksLabScript5: ; 1cbfd (7:4bfd) ld a, $fc - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a ld a, $11 ld [$ff00+$8c], a call DisplayTextID @@ -40056,12 +40100,11 @@ 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 ret -; 0x1cc36 OaksLabScript6: ; 1cc36 (7:4c36) ld a, [W_YCOORD] @@ -40092,7 +40135,6 @@ OaksLabScript6: ; 1cc36 (7:4c36) ld a, $7 ld [W_OAKSLABCURSCRIPT], a ret -; 0x1cc72 OaksLabScript7: ; 1cc72 (7:4c72) ld a, [$cd38] @@ -40103,7 +40145,6 @@ OaksLabScript7: ; 1cc72 (7:4c72) ld a, $6 ld [W_OAKSLABCURSCRIPT], a ret -; 0x1cc80 OaksLabScript8: ; 1cc80 (7:4c80) ld a, [W_PLAYERSTARTER] @@ -40164,7 +40205,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 @@ -40176,14 +40217,13 @@ OaksLabScript8: ; 1cc80 (7:4c80) ld a, $9 ld [W_OAKSLABCURSCRIPT], a ret -; 0x1cd00 OaksLabScript9: ; 1cd00 (7:4d00) ld a, [$d730] 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 @@ -40225,12 +40265,11 @@ 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 ret -; 0x1cd6d OaksLabScript10: ; 1cd6d (7:4d6d) ld a, [W_YCOORD] @@ -40269,7 +40308,6 @@ OaksLabScript10: ; 1cd6d (7:4d6d) ld a, $b ld [W_OAKSLABCURSCRIPT], a ret -; 0x1cdb9 OaksLabScript11: ; 1cdb9 (7:4db9) ld a, [$d730] @@ -40277,7 +40315,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 @@ -40303,18 +40341,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 -; 0x1ce03 OaksLabScript12: ; 1ce03 (7:4e03) ld a, $f0 - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a ld a, $8 ld [$d528], a call UpdateSprites @@ -40334,7 +40370,6 @@ OaksLabScript12: ; 1ce03 (7:4e03) ld a, $d ld [W_OAKSLABCURSCRIPT], a ret -; 0x1ce32 OaksLabScript13: ; 1ce32 (7:4e32) ld c, $14 @@ -40363,10 +40398,9 @@ OaksLabScript13: ; 1ce32 (7:4e32) ld a, $e ld [W_OAKSLABCURSCRIPT], a ret -; 0x1ce66 .RivalExitMovement - db $E0,0,0,0,0,0,$FF + db $E0,$00,$00,$00,$00,$00,$FF OaksLabScript14: ; 1ce6d (7:4e6d) ld a, [$d730] @@ -40377,7 +40411,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 @@ -40403,7 +40437,6 @@ OaksLabScript14: ; 1ce6d (7:4e6d) ld [$c109], a .done ret -; 0x1ceb0 OaksLabScript15: ; 1ceb0 (7:4eb0) xor a @@ -40418,7 +40451,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 @@ -40439,9 +40472,8 @@ OaksLabScript15: ; 1ceb0 (7:4eb0) ld a, $10 ld [W_OAKSLABCURSCRIPT], a ret -; 0x1cefd -Function1CEFD ; 0x1cefd +OaksLabScript_1cefd ; 1cefd (7:4efd) ld a, $1 ld [$ff00+$8c], a ld a, $4 @@ -40452,7 +40484,6 @@ Function1CEFD ; 0x1cefd xor a ld [$ff00+$8d], a jp Func_34a6 ; face object -; 0x1cf12 OaksLabScript16: ; 1cf12 (7:4f12) ld a, [$d730] @@ -40461,18 +40492,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 @@ -40489,7 +40520,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 @@ -40535,7 +40566,6 @@ OaksLabScript16: ; 1cf12 (7:4f12) ld a, $11 ld [W_OAKSLABCURSCRIPT], a ret -; 0x1cfd4 OaksLabScript17: ; 1cfd4 (7:4fd4) ld a, [$d730] @@ -40557,19 +40587,17 @@ 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 ret -; 0x1d009 OaksLabScript18: ; 1d009 (7:5009) ret -; 0x1d00a -Function1D00A: ; 1d00a (7:500a) - ld hl, W_BAGITEM01 +OaksLabScript_1d00a: ; 1d00a (7:500a) + ld hl, wBagItems ld bc, $0000 .asm_1d010 ld a, [hli] @@ -40588,7 +40616,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 @@ -40629,16 +40657,53 @@ Unknown_1d02b: ; 1d02b (7:502b) call Func_32f9 ret -Unknown_1d076: ; 1d076 (7:5076) - ld hl, OaksLabTexts + $36 ; $50b8 ; starts at OaksLabText28 +OaksLabScript_1d076: ; 1d076 (7:5076) + 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) @@ -40663,18 +40728,15 @@ OaksLabText1: ; 1d0ce (7:50ce) OaksLabGaryText1: ; 1d0f3 (7:50f3) TX_FAR _OaksLabGaryText1 - db $50 -; 0x1d0f8 + db "@" OaksLabText40: ; 1d0f8 (7:50f8) TX_FAR _OaksLabText40 - db $50 -; 0x1d0f8 + 5 bytes + db "@" OaksLabText41: ; 1d0fd (7:50fd) TX_FAR _OaksLabText41 - db $50 -; 0x1d0fd + 5 bytes + db "@" OaksLabText29: ; 1d102 (7:5102) OaksLabText2: ; 1d102 (7:5102) @@ -40685,7 +40747,7 @@ OaksLabText2: ; 1d102 (7:5102) ld [$cd3e], a ld a, $b0 ld b, $2 - jr asm_1d133 ; 0x1d111 $20 + jr OaksLabScript_1d133 ; 0x1d111 $20 OaksLabText30: ; 1d113 (7:5113) OaksLabText3: ; 1d113 (7:5113) @@ -40696,7 +40758,7 @@ OaksLabText3: ; 1d113 (7:5113) ld [$cd3e], a ld a, $b1 ld b, $3 - jr asm_1d133 ; 0x1d122 $f + jr OaksLabScript_1d133 ; 0x1d122 $f OaksLabText31: ; 1d124 (7:5124) OaksLabText4: ; 1d124 (7:5124) @@ -40708,26 +40770,25 @@ OaksLabText4: ; 1d124 (7:5124) ld a, $99 ld b, $4 -asm_1d133: ; 1d133 (7:5133) +OaksLabScript_1d133: ; 1d133 (7:5133) ld [$cf91], a ld [$d11e], a ld a, b ld [$cf13], a ld a, [$d74b] bit 2, a - jp nz, Unknown_1d22d + jp nz, OaksLabScript_1d22d bit 1, a - jr nz, asm_1d157 ; 0x1d147 $e + jr nz, OaksLabScript_1d157 ; 0x1d147 $e ld hl, OaksLabText39 call PrintText jp TextScriptEnd -; 0x1d152 OaksLabText39: ; 1d152 (7:5152) TX_FAR _OaksLabText39 - db $50 + db "@" -asm_1d157: ; 1d157 (7:5157) +OaksLabScript_1d157: ; 1d157 (7:5157) ld a, $5 ld [$ff00+$8c], a ld a, $9 @@ -40762,24 +40823,21 @@ OaksLabLookAtCharmander ; 0x1d195 jr OaksLabMonChoiceMenu OaksLabCharmanderText: ; 1d19a (7:519a) TX_FAR _OaksLabCharmanderText ; 0x94e06 - db $50 -; 0x1d19f + db "@" OaksLabLookAtSquirtle: ; 1d19f (7:519f) ld hl, OaksLabSquirtleText jr OaksLabMonChoiceMenu OaksLabSquirtleText: ; 1d1a4 (7:51a4) TX_FAR _OaksLabSquirtleText ; 0x94e2f - db $50 -; 0x1d1a9 + db "@" OaksLabLookAtBulbasaur: ; 1d1a9 (7:51a9) ld hl, OaksLabBulbasaurText jr OaksLabMonChoiceMenu OaksLabBulbasaurText: ; 1d1ae (7:51ae) TX_FAR _OaksLabBulbasaurText ; 0x94e57 - db $50 -; 0x1d1b3 + db "@" OaksLabMonChoiceMenu: ; 1d1b3 (7:51b3) call PrintText @@ -40825,24 +40883,21 @@ 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) jp TextScriptEnd -; 0x1d222 OaksLabMonEnergeticText: ; 1d222 (7:5222) TX_FAR _OaksLabMonEnergeticText - db $50 -; 0x1d222 + 5 bytes + db "@" OaksLabReceivedMonText: ; 1d227 (7:5227) TX_FAR _OaksLabReceivedMonText ; 0x94ea0 - db $11, $50 -; 0x1d22d + db $11, "@" -Unknown_1d22d: ; 1d22d (7:522d) +OaksLabScript_1d22d: ; 1d22d (7:522d) ld a, $5 ld [$ff00+$8c], a ld a, $9 @@ -40855,8 +40910,7 @@ Unknown_1d22d: ; 1d22d (7:522d) OaksLabLastMonText: ; 1d243 (7:5243) TX_FAR _OaksLabLastMonText - db $50 -; 0x1d248 + db "@" OaksLabText32: ; 1d248 (7:5248) OaksLabText5: ; 1d248 (7:5248) @@ -40913,7 +40967,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 @@ -40936,51 +40990,42 @@ OaksLabText5: ; 1d248 (7:5248) call PrintText .asm_0f042 ; 0x1d2ed jp TextScriptEnd -; 0x1d2f0 UnnamedText_1d2f0: ; 1d2f0 (7:52f0) TX_FAR _UnnamedText_1d2f0 - db $50 -; 0x1d2f5 + db "@" UnnamedText_1d2f5: ; 1d2f5 (7:52f5) TX_FAR _UnnamedText_1d2f5 - db $50 -; 0x1d2fa + db "@" UnnamedText_1d2fa: ; 1d2fa (7:52fa) TX_FAR _UnnamedText_1d2fa - db $50 -; 0x1d2ff + db "@" OaksLabDeliverParcelText: ; 1d2ff (7:52ff) TX_FAR _OaksLabDeliverParcelText1 ; 0x94f69 db $11 TX_FAR _OaksLabDeliverParcelText2 - db $50 -; 0x1d309 + db "@" OaksLabAroundWorldText: ; 1d309 (7:5309) TX_FAR _OaksLabAroundWorldText - db $50 -; 0x1d30e + db "@" OaksLabGivePokeballsText: ; 1d30e (7:530e) TX_FAR _OaksLabGivePokeballsText1 ; 0x9506d db $11 TX_FAR _OaksLabGivePokeballsText2 - db $50 -; 0x1d318 + db "@" OaksLabPleaseVisitText: ; 1d318 (7:5318) TX_FAR _OaksLabPleaseVisitText - db $50 -; 0x1d318 + 5 bytes + db "@" UnnamedText_1d31d: ; 1d31d (7:531d) TX_FAR _UnnamedText_1d31d - db $50 -; 0x1d31d + 5 bytes + db "@" OaksLabText34: ; 1d322 (7:5322) OaksLabText33: ; 1d322 (7:5322) @@ -40993,13 +41038,12 @@ OaksLabText6: ; 1d322 (7:5322) UnnamedText_1d32c: ; 1d32c (7:532c) TX_FAR _UnnamedText_1d32c - db $50 -; 0x1d32c + 5 bytes + db "@" OaksLabText35: ; 1d331 (7:5331) OaksLabText8: ; 1d331 (7:5331) TX_FAR _OaksLabText8 - db $50 + db "@" OaksLabText36: ; 1d336 (7:5336) OaksLabText9: ; 1d336 (7:5336) @@ -41010,161 +41054,133 @@ OaksLabText9: ; 1d336 (7:5336) UnnamedText_1d340: ; 1d340 (7:5340) TX_FAR _UnnamedText_1d340 - db $50 -; 0x1d340 + 5 bytes + db "@" OaksLabText17: ; 1d345 (7:5345) db $8 ld hl, OaksLabRivalWaitingText call PrintText jp TextScriptEnd -; 0x1d34f OaksLabRivalWaitingText: ; 1d34f (7:534f) TX_FAR _OaksLabRivalWaitingText - db $50 -; 0x1d34f + 5 bytes + db "@" OaksLabText18: ; 1d354 (7:5354) db $8 ld hl, OaksLabChooseMonText call PrintText jp TextScriptEnd -; 0x1d35e OaksLabChooseMonText: ; 1d35e (7:535e) TX_FAR _OaksLabChooseMonText - db $50 -; 0x1d35e + 5 bytes + db "@" OaksLabText19: ; 1d363 (7:5363) db $8 ld hl, OaksLabRivalInterjectionText call PrintText jp TextScriptEnd -; 0x1d36d OaksLabRivalInterjectionText: ; 1d36d (7:536d) TX_FAR _OaksLabRivalInterjectionText - db $50 -; 0x1d36d + 5 bytes + db "@" OaksLabText20: ; 1d372 (7:5372) db $8 ld hl, OaksLabBePatientText call PrintText jp TextScriptEnd -; 0x1d37c OaksLabBePatientText: ; 1d37c (7:537c) TX_FAR _OaksLabBePatientText - db $50 -; 0x1d37c + 5 bytes + db "@" OaksLabText12: ; 1d381 (7:5381) db $8 ld hl, OaksLabLeavingText call PrintText jp TextScriptEnd -; 0x1d38b OaksLabLeavingText: ; 1d38b (7:538b) TX_FAR _OaksLabLeavingText - db $50 -; 0x1d38b + 5 bytes + db "@" OaksLabText13: ; 1d390 (7:5390) db $8 ld hl, OaksLabRivalPickingMonText call PrintText jp TextScriptEnd -; 0x1d39a OaksLabRivalPickingMonText: ; 1d39a (7:539a) TX_FAR _OaksLabRivalPickingMonText - db $50 -; 0x1d39f + db "@" OaksLabText14: ; 1d39f (7:539f) db $8 ld hl, OaksLabRivalReceivedMonText call PrintText jp TextScriptEnd -; 0x1d3a9 OaksLabRivalReceivedMonText: ; 1d3a9 (7:53a9) TX_FAR _OaksLabRivalReceivedMonText ; 0x95461 - db $11, $50 -; 0x1d3af + db $11, "@" OaksLabText15: ; 1d3af (7:53af) db $8 ld hl, OaksLabRivalChallengeText call PrintText jp TextScriptEnd -; 0x1d3b9 OaksLabRivalChallengeText: ; 1d3b9 (7:53b9) TX_FAR _OaksLabRivalChallengeText - db $50 -; 0x1d3be + db "@" UnnamedText_1d3be: ; 1d3be (7:53be) TX_FAR _UnnamedText_1d3be - db $50 -; 0x1d3c3 + db "@" UnnamedText_1d3c3: ; 1d3c3 (7:53c3) TX_FAR _UnnamedText_1d3c3 - db $50 -; 0x1d3c8 + db "@" OaksLabText16: ; 1d3c8 (7:53c8) db $8 ld hl, OaksLabRivalToughenUpText call PrintText jp TextScriptEnd -; 0x1d3d2 OaksLabRivalToughenUpText: ; 1d3d2 (7:53d2) TX_FAR _OaksLabRivalToughenUpText - db $50 -; 0x1d3d7 + db "@" OaksLabText21: ; 1d3d7 (7:53d7) TX_FAR _OaksLabText21 - db $50 -; 0x1d3dc + db "@" OaksLabText22: ; 1d3dc (7:53dc) TX_FAR _OaksLabText22 - db $50 -; 0x1d3e1 + db "@" OaksLabText23: ; 1d3e1 (7:53e1) TX_FAR _OaksLabText23 - db $50 -; 0x1d3e6 + db "@" OaksLabText24: ; 1d3e6 (7:53e6) TX_FAR _OaksLabText24 - db $50 -; 0x1d3eb + db "@" OaksLabText25: ; 1d3eb (7:53eb) TX_FAR _OaksLabText25 - db $11, $50 -; 0x1d3f1 + db $11, "@" OaksLabText26: ; 1d3f1 (7:53f1) TX_FAR _OaksLabText26 - db $50 -; 0x1d3f6 + db "@" OaksLabText27: ; 1d3f6 (7:53f6) TX_FAR _OaksLabText27 - db $50 -; 0x1d3fb + db "@" OaksLabText38: ; 1d3fb (7:53fb) OaksLabText37: ; 1d3fb (7:53fb) @@ -41177,8 +41193,7 @@ OaksLabText10: ; 1d3fb (7:53fb) UnnamedText_1d405: ; 1d405 (7:5405) TX_FAR _UnnamedText_1d405 - db $50 -; 0x1d405 + 5 bytes + db "@" OaksLabObject: ; 0x1d40a (size=88) db $3 ; border tile @@ -41209,27 +41224,25 @@ 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 -; 0x1d47d -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 @@ -41279,9 +41292,8 @@ ViridianMartScript1: ; 1d4c0 (7:54c0) ; fallthrough ViridianMartScript2: ; 1d4df (7:54df) ret -; 0x1d4e0 -ViridianMartTexts: ; 1d4e0 (7:54e0) +ViridianMartTextPointers: ; 1d4e0 (7:54e0) dw ViridianMartText1 dw ViridianMartText2 dw ViridianMartText3 @@ -41293,24 +41305,24 @@ ViridianMartTexts: ; 1d4e0 (7:54e0) ViridianMartText1: ; 1d4f0 (7:54f0) TX_FAR _ViridianMartText1 - db $50 + db "@" ViridianMartText4: ; 1d4f5 (7:54f5) TX_FAR _ViridianMartText4 - db $50 + db "@" ViridianMartText5: ; 1d4fa (7:54fa) TX_FAR ViridianMartParcelQuestText db $11 - db $50 + db "@" ViridianMartText2: ; 1d500 (7:5500) TX_FAR _ViridianMartText2 - db $50 + db "@" ViridianMartText3: ; 1d505 (7:5505) TX_FAR _ViridianMartText3 - db $50 + db "@" ViridianMartObject: ; 0x1d50a (size=38) db $0 ; border tile @@ -41336,25 +41348,24 @@ 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 SchoolScript: ; 1d54c (7:554c) jp EnableAutoTextBoxDrawing -; 0x1d54f -SchoolTexts: ; 1d54f (7:554f) - dw SchoolText1, SchoolText2 +SchoolTextPointers: ; 1d54f (7:554f) + dw SchoolText1 + dw SchoolText2 SchoolText1: ; 1d553 (7:5553) TX_FAR _SchoolText1 - db $50 + db "@" SchoolText2: ; 1d558 (7:5558) TX_FAR _SchoolText2 - db $50 + db "@" SchoolObject: ; 0x1d55d (size=32) db $a ; border tile @@ -41376,28 +41387,28 @@ 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 -; 0x1d589 -db $0 + db $0 ViridianHouseScript: ; 1d58a (7:558a) jp EnableAutoTextBoxDrawing -; 0x1d58d -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 - db $50 + db "@" ViridianHouseText2: ; 1d59a (7:559a) TX_FAR _ViridianHouseText2 - db $50 + db "@" ViridianHouseText3: ; 1d59f (7:559f) db $08 ; asm @@ -41410,12 +41421,11 @@ ViridianHouseText3: ; 1d59f (7:559f) UnnamedText_1d5b1: ; 1d5b1 (7:55b1) TX_FAR _UnnamedText_1d5b1 - db $50 -; 0x1d5b1 + 5 bytes + db "@" ViridianHouseText4: ; 1d5b6 (7:55b6) TX_FAR _ViridianHouseText4 - db $50 + db "@" ViridianHouseObject: ; 0x1d5bb (size=44) db $a ; border tile @@ -41439,17 +41449,17 @@ 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 PewterHouse1Script: ; 1d5f3 (7:55f3) jp EnableAutoTextBoxDrawing -; 0x1d5f6 -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 @@ -41461,11 +41471,11 @@ PewterHouse1Text1: ; 1d5fc (7:55fc) PewterHouse1Text2: ; 1d60c (7:560c) TX_FAR _PewterHouse1Text2 - db $50 + db "@" PewterHouse1Text3: ; 1d611 (7:5611) TX_FAR _PewterHouse1Text3 - db $50 + db "@" PewterHouse1Object: ; 0x1d616 (size=38) db $a ; border tile @@ -41488,25 +41498,24 @@ 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 PewterHouse2Script: ; 1d648 (7:5648) jp EnableAutoTextBoxDrawing -; 0x1d64b -PewterHouse2Texts: ; 1d64b (7:564b) - dw PewterHouse2Text1, PewterHouse2Text2 +PewterHouse2TextPointers: ; 1d64b (7:564b) + dw PewterHouse2Text1 + dw PewterHouse2Text2 PewterHouse2Text1: ; 1d64f (7:564f) TX_FAR _PewterHouse2Text1 - db $50 + db "@" PewterHouse2Text2: ; 1d654 (7:5654) TX_FAR _PewterHouse2Text2 - db $50 + db "@" PewterHouse2Object: ; 0x1d659 (size=32) db $a ; border tile @@ -41528,18 +41537,18 @@ 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 CeruleanHouseTrashedScript: ; 1d685 (7:5685) call EnableAutoTextBoxDrawing ret -; 0x1d689 -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 @@ -41559,21 +41568,19 @@ CeruleanHouseTrashedText1: ; 1d68f (7:568f) UnnamedText_1d6ab: ; 1d6ab (7:56ab) TX_FAR _UnnamedText_1d6ab - db $50 -; 0x1d6ab + 5 bytes + db "@" UnnamedText_1d6b0: ; 1d6b0 (7:56b0) TX_FAR _UnnamedText_1d6b0 - db $50 -; 0x1d6b0 + 5 bytes + db "@" CeruleanHouseTrashedText2: ; 1d6b5 (7:56b5) TX_FAR _CeruleanHouseTrashedText2 - db $50 + db "@" CeruleanHouseTrashedText3: ; 1d6ba (7:56ba) TX_FAR _CeruleanHouseTrashedText3 - db $50 + db "@" CeruleanHouseTrashedObject: ; 0x1d6bf (size=43) db $a ; border tile @@ -41598,26 +41605,25 @@ 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 CeruleanHouseScript: ; 1d6f6 (7:56f6) jp EnableAutoTextBoxDrawing -; 0x1d6f9 -CeruleanHouseTexts: ; 1d6f9 (7:56f9) - dw CeruleanHouseText1, CeruleanHouseText2 +CeruleanHouseTextPointers: ; 1d6f9 (7:56f9) + dw CeruleanHouseText1 + dw CeruleanHouseText2 CeruleanHouseText1: ; 1d6fd (7:56fd) TX_FAR _CeruleanHouseText1 - db $50 + db "@" CeruleanHouseText2: ; 1d702 (7:5702) db $08 ; asm ld a, $6 - ld [W_WHICHTRADE], a + ld [wWhichTrade], a ld a, $54 call Predef jp TextScriptEnd @@ -41642,17 +41648,17 @@ 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 BikeShopScript: ; 1d73c (7:573c) jp EnableAutoTextBoxDrawing -; 0x1d73f -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 @@ -41701,7 +41707,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 @@ -41741,42 +41747,35 @@ BikeShopMenuPrice: ; 1d807 (7:5807) UnnamedText_1d810: ; 1d810 (7:5810) TX_FAR _UnnamedText_1d810 - db $50 -; 0x1d810 + 5 bytes + db "@" UnnamedText_1d815: ; 1d815 (7:5815) TX_FAR _UnnamedText_1d815 - db $50 -; 0x1d815 + 5 bytes + db "@" UnnamedText_1d81a: ; 1d81a (7:581a) TX_FAR _UnnamedText_1d81a - db $50 -; 0x1d81a + 5 bytes + db "@" UnnamedText_1d81f: ; 1d81f (7:581f) TX_FAR _UnnamedText_1d81f - db $50 -; 0x1d81f + 5 bytes + db "@" UnnamedText_1d824: ; 1d824 (7:5824) TX_FAR _UnnamedText_1d824 ; 0x98eb2 - db $11, $50 + db $11, "@" UnnamedText_1d82a: ; 1d82a (7:582a) TX_FAR _UnnamedText_1d82a - db $50 -; 0x1d82a + 5 bytes + db "@" UnnamedText_1d82f: ; 1d82f (7:582f) TX_FAR _UnnamedText_1d82f - db $50 -; 0x1d82f + 5 bytes + db "@" UnnamedText_1d834: ; 1d834 (7:5834) TX_FAR _UnnamedText_1d834 - db $50 -; 0x1d834 + 5 bytes + db "@" BikeShopText2: ; 1d839 (7:5839) db $08 ; asm @@ -41786,8 +41785,7 @@ BikeShopText2: ; 1d839 (7:5839) UnnamedText_1d843: ; 1d843 (7:5843) TX_FAR _UnnamedText_1d843 - db $50 -; 0x1d843 + 5 bytes + db "@" BikeShopText3: ; 1d848 (7:5848) db $08 ; asm @@ -41802,13 +41800,11 @@ BikeShopText3: ; 1d848 (7:5848) UnnamedText_1d85c: ; 1d85c (7:585c) TX_FAR _UnnamedText_1d85c - db $50 -; 0x1d85c + 5 bytes + db "@" UnnamedText_1d861: ; 1d861 (7:5861) TX_FAR _UnnamedText_1d861 - db $50 -; 0x1d861 + 5 bytes + db "@" BikeShopObject: ; 0x1d866 (size=38) db $e ; border tile @@ -41834,18 +41830,21 @@ 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 LavenderHouse1Script: ; 1d8a8 (7:58a8) call EnableAutoTextBoxDrawing ret -; 0x1d8ac -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 @@ -41863,13 +41862,11 @@ LavenderHouse1Text1: ; 1d8b8 (7:58b8) UnnamedText_1d8d1: ; 1d8d1 (7:58d1) TX_FAR _UnnamedText_1d8d1 - db $50 -; 0x1d8d1 + 5 bytes + db "@" UnnamedText_1d8d6: ; 1d8d6 (7:58d6) TX_FAR _UnnamedText_1d8d6 - db $50 -; 0x1d8d6 + 5 bytes + db "@" LavenderHouse1Text2: ; 1d8db (7:58db) db $08 ; asm @@ -41887,13 +41884,11 @@ LavenderHouse1Text2: ; 1d8db (7:58db) UnnamedText_1d8f4: ; 1d8f4 (7:58f4) TX_FAR _UnnamedText_1d8f4 - db $50 -; 0x1d8f4 + 5 bytes + db "@" UnnamedText_1d8f9: ; 1d8f9 (7:58f9) TX_FAR _UnnamedText_1d8f9 - db $50 -; 0x1d8f9 + 5 bytes + db "@" LavenderHouse1Text3: ; 1d8fe (7:58fe) TX_FAR _LavenderHouse1Text3 @@ -41908,7 +41903,6 @@ LavenderHouse1Text4: ; 1d90b (7:590b) ld a, NIDORINO call PlayCry jp TextScriptEnd -; 0x1d918 LavenderHouse1Text5: ; 1d918 (7:5918) db $08 ; asm @@ -41937,29 +41931,25 @@ LavenderHouse1Text5: ; 1d918 (7:5918) UnnamedText_1d94c: ; 1d94c (7:594c) TX_FAR _UnnamedText_1d94c - db $50 -; 0x1d94c + 5 bytes + db "@" ReceivedFluteText: ; 1d951 (7:5951) TX_FAR _ReceivedFluteText ; 0x99ffb db $11 TX_FAR _FluteExplanationText ; 0x9a011 - db $50 -; 0x1d95b + db "@" FluteNoRoomText: ; 1d95b (7:595b) TX_FAR _FluteNoRoomText - db $50 -; 0x1d95b + 5 bytes + db "@" MrFujiAfterFluteText: ; 1d960 (7:5960) TX_FAR _MrFujiAfterFluteText - db $50 -; 0x1d960 + 5 bytes + db "@" LavenderHouse1Text6: ; 1d965 (7:5965) TX_FAR _LavenderHouse1Text6 - db $50 + db "@" LavenderHouse1Object: ; 0x1d96a (size=56) db $a ; border tile @@ -41985,18 +41975,17 @@ 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 LavenderHouse2Script: ; 1d9ae (7:59ae) call EnableAutoTextBoxDrawing ret -; 0x1d9b2 -LavenderHouse2Texts: ; 1d9b2 (7:59b2) - dw LavenderHouse2Text1, LavenderHouse2Text2 +LavenderHouse2TextPointers: ; 1d9b2 (7:59b2) + dw LavenderHouse2Text1 + dw LavenderHouse2Text2 LavenderHouse2Text1: ; 1d9b6 (7:59b6) TX_FAR _LavenderHouse2Text1 @@ -42004,7 +41993,6 @@ LavenderHouse2Text1: ; 1d9b6 (7:59b6) ld a, CUBONE call PlayCry jp TextScriptEnd -; 0x1d9c3 LavenderHouse2Text2: ; 1d9c3 (7:59c3) db $08 ; asm @@ -42022,13 +42010,11 @@ LavenderHouse2Text2: ; 1d9c3 (7:59c3) UnnamedText_1d9dc: ; 1d9dc (7:59dc) TX_FAR _UnnamedText_1d9dc - db $50 -; 0x1d9dc + 5 bytes + db "@" UnnamedText_1d9e1: ; 1d9e1 (7:59e1) TX_FAR _UnnamedText_1d9e1 - db $50 -; 0x1d9e1 + 5 bytes + db "@" LavenderHouse2Object: ; 0x1d9e6 (size=32) db $a ; border tile @@ -42050,24 +42036,22 @@ 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 NameRaterScript: ; 1da12 (7:5a12) jp EnableAutoTextBoxDrawing -; 0x1da15 -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) - ld hl, $d273 +Func_1da20: ; 1da20 (7:5a20) + ld hl, W_PARTYMON1OT ld bc, $000b ld a, [$cf92] call AddNTimes @@ -42095,14 +42079,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 @@ -42118,11 +42102,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 @@ -42137,42 +42121,34 @@ NameRaterText1: ; 1da56 (7:5a56) .asm_1daae ld hl, UnnamedText_1dacc jr .asm_1daa8 ; 0x1dab1 $f5 -; 0x1dab3 UnnamedText_1dab3: ; 1dab3 (7:5ab3) TX_FAR _UnnamedText_1dab3 - db $50 -; 0x1dab3 + 5 bytes + db "@" UnnamedText_1dab8: ; 1dab8 (7:5ab8) TX_FAR _UnnamedText_1dab8 - db $50 -; 0x1dab8 + 5 bytes + db "@" UnnamedText_1dabd: ; 1dabd (7:5abd) TX_FAR _UnnamedText_1dabd - db $50 -; 0x1dabd + 5 bytes + db "@" UnnamedText_1dac2: ; 1dac2 (7:5ac2) TX_FAR _UnnamedText_1dac2 - db $50 -; 0x1dac2 + 5 bytes + db "@" UnnamedText_1dac7: ; 1dac7 (7:5ac7) TX_FAR _UnnamedText_1dac7 - db $50 -; 0x1dac7 + 5 bytes + db "@" UnnamedText_1dacc: ; 1dacc (7:5acc) TX_FAR _UnnamedText_1dacc - db $50 -; 0x1dacc + 5 bytes + db "@" UnnamedText_1dad1: ; 1dad1 (7:5ad1) TX_FAR _UnnamedText_1dad1 - db $50 -; 0x1dad1 + 5 bytes + db "@" NameRaterObject: ; 0x1dad6 (size=26) db $a ; border tile @@ -42193,22 +42169,22 @@ 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 VermilionHouse1Script: ; 1dafc (7:5afc) call EnableAutoTextBoxDrawing ret -; 0x1db00 -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 - db $50 + db "@" VermilionHouse1Text2: ; 1db0b (7:5b0b) TX_FAR _VermilionHouse1Text2 @@ -42220,7 +42196,7 @@ VermilionHouse1Text2: ; 1db0b (7:5b0b) VermilionHouse1Text3: ; 1db1b (7:5b1b) TX_FAR _VermilionHouse1Text3 - db $50 + db "@" VermilionHouse1Object: ; 0x1db20 (size=38) db $a ; border tile @@ -42243,9 +42219,8 @@ 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 VermilionDockScript: ; 1db52 (7:5b52) @@ -42275,7 +42250,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] @@ -42283,15 +42258,14 @@ VermilionDockScript: ; 1db52 (7:5b52) ld a, [$cd38] and a ret nz - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a set 5, [hl] ret -; 0x1db9b 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) @@ -42453,13 +42427,12 @@ 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 - db $50 -; 0x1dcc1 + 5 bytes +VermilionDockText1: ; 1dcc1 (7:5cc1) + TX_FAR _VermilionDockText1 + db "@" VermilionDockObject: ; 0x1dcc6 (size=20) db $f ; border tile @@ -42482,21 +42455,20 @@ 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 CeladonMansion5Script: ; 1dd3a (7:5d3a) jp EnableAutoTextBoxDrawing -; 0x1dd3d -CeladonMansion5Texts: ; 1dd3d (7:5d3d) - dw CeladonMansion5Text1, CeladonMansion5Text2 +CeladonMansion5TextPointers: ; 1dd3d (7:5d3d) + dw CeladonMansion5Text1 + dw CeladonMansion5Text2 CeladonMansion5Text1: ; 1dd41 (7:5d41) TX_FAR _CeladonMansion5Text1 - db $50 + db "@" CeladonMansion5Text2: ; 1dd46 (7:5d46) db $08 ; asm @@ -42530,25 +42502,25 @@ 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 FuchsiaMartScript: ; 1dd88 (7:5d88) jp EnableAutoTextBoxDrawing -; 0x1dd8b -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 - db $50 + db "@" FuchsiaMartText3: ; 1dd96 (7:5d96) TX_FAR _FuchsiaMartText3 - db $50 + db "@" FuchsiaMartObject: ; 0x1dd9b (size=38) db $0 ; border tile @@ -42574,21 +42546,22 @@ 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 SaffronHouse1Script: ; 1dddd (7:5ddd) jp EnableAutoTextBoxDrawing -; 0x1dde0 -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 - db $50 + db "@" SaffronHouse1Text2: ; 1dded (7:5ded) TX_FAR _SaffronHouse1Text2 @@ -42596,15 +42569,14 @@ SaffronHouse1Text2: ; 1dded (7:5ded) ld a, PIDGEY call PlayCry jp TextScriptEnd -; 0x1ddfa SaffronHouse1Text3: ; 1ddfa (7:5dfa) TX_FAR _SaffronHouse1Text3 - db $50 + db "@" SaffronHouse1Text4: ; 1ddff (7:5dff) TX_FAR _SaffronHouse1Text4 - db $50 + db "@" SaffronHouse1Object: ; 0x1de04 (size=44) db $a ; border tile @@ -42628,16 +42600,14 @@ 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 SaffronHouse2Script: ; 1de3c (7:5e3c) jp EnableAutoTextBoxDrawing -; 0x1de3f -SaffronHouse2Texts: ; 1de3f (7:5e3f) +SaffronHouse2TextPointers: ; 1de3f (7:5e3f) dw SaffronHouse2Text1 SaffronHouse2Text1: ; 1de41 (7:5e41) @@ -42667,23 +42637,19 @@ SaffronHouse2Text1: ; 1de41 (7:5e41) TM29PreReceiveText: ; 1de75 (7:5e75) TX_FAR _TM29PreReceiveText - db $50 -; 0x1de75 + 5 bytes + db "@" ReceivedTM29Text: ; 1de7a (7:5e7a) TX_FAR _ReceivedTM29Text ; 0xa252a - db $0B, $50 -; 0x1de80 + db $0B, "@" TM29ExplanationText: ; 1de80 (7:5e80) TX_FAR _TM29ExplanationText - db $50 -; 0x1de80 + 5 bytes + db "@" TM29NoRoomText: ; 1de85 (7:5e85) TX_FAR _TM29NoRoomText - db $50 -; 0x1de85 + 5 bytes + db "@" SaffronHouse2Object: ; 0x1de8a (size=26) db $a ; border tile @@ -42704,23 +42670,21 @@ 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 DiglettsCaveRoute2Script: ; 1deb0 (7:5eb0) ld a, $d ld [$d365], a jp EnableAutoTextBoxDrawing -; 0x1deb8 -DiglettsCaveRoute2Texts: ; 1deb8 (7:5eb8) +DiglettsCaveRoute2TextPointers: ; 1deb8 (7:5eb8) dw DiglettsCaveRoute2Text1 DiglettsCaveRoute2Text1: ; 1deba (7:5eba) TX_FAR _DiglettsCaveRoute2Text1 - db $50 + db "@" DiglettsCaveRoute2Object: ; 0x1debf (size=34) db $7d ; border tile @@ -42743,26 +42707,25 @@ 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 Route2HouseScript: ; 1deed (7:5eed) jp EnableAutoTextBoxDrawing -; 0x1def0 -Route2HouseTexts: ; 1def0 (7:5ef0) - dw Route2HouseText1, Route2HouseText2 +Route2HouseTextPointers: ; 1def0 (7:5ef0) + dw Route2HouseText1 + dw Route2HouseText2 Route2HouseText1: ; 1def4 (7:5ef4) TX_FAR _Route2HouseText1 - db $50 + db "@" Route2HouseText2: ; 1def9 (7:5ef9) db $08 ; asm ld a, $1 - ld [W_WHICHTRADE], a + ld [wWhichTrade], a ld a, $54 call Predef jp TextScriptEnd @@ -42787,23 +42750,21 @@ 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 Route5GateScript: ; 1df33 (7:5f33) call EnableAutoTextBoxDrawing ld a, [W_ROUTE5GATECURSCRIPT] - ld hl, Route5GateScripts + ld hl, Route5GateScriptPointers jp CallFunctionInTable -; 0x1df3f -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 @@ -42814,7 +42775,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 @@ -42830,7 +42791,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 @@ -42842,7 +42803,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 @@ -42853,12 +42814,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) @@ -42876,7 +42839,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 @@ -42890,7 +42853,6 @@ Route5GateText1: ; 1dfaa (7:5faa) ld hl, UnnamedText_1dff6 call PrintText jp TextScriptEnd -; 0x1dfe7 Route8GateText2: ; 1dfe7 (7:5fe7) Route7GateText2: ; 1dfe7 (7:5fe7) @@ -42898,8 +42860,7 @@ Route6GateText2: ; 1dfe7 (7:5fe7) Route5GateText2: ; 1dfe7 (7:5fe7) UnnamedText_1dfe7: ; 1dfe7 (7:5fe7) TX_FAR _UnnamedText_1dfe7 - db $50 -; 0x1dfe7 + 5 bytes + db "@" Route8GateText3: ; 1dfec (7:5fec) Route7GateText3: ; 1dfec (7:5fec) @@ -42909,13 +42870,11 @@ UnnamedText_1dfec: ; 1dfec (7:5fec) TX_FAR _UnnamedText_8aaa9 ; 0x8aaa9 db $11 TX_FAR _UnnamedText_1dff1 ; 0x8aaef - db $50 -; 0x1dff6 + db "@" UnnamedText_1dff6: ; 1dff6 (7:5ff6) TX_FAR _UnnamedText_1dff6 - db $50 -; 0x1dff6 + 5 bytes + db "@" Route5GateObject: ; 0x1dffb (size=42) db $a ; border tile @@ -42943,27 +42902,26 @@ 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 -; 0x1e04a -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 @@ -42979,7 +42937,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 @@ -42989,14 +42947,10 @@ Route6GateScript0: ; 1e04e (7:604e) ld a, $3 ld [$ff00+$8c], a jp DisplayTextID -; 0x1e08c -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] @@ -43004,12 +42958,11 @@ Route6GateScript1: ; 1e091 (7:6091) ret nz call Delay3 xor a - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a ld [W_ROUTE6GATECURSCRIPT], a ret -; 0x1e0a1 -Unknown_1e0a1: ; 1e0a1 (7:60a1) +Func_1e0a1: ; 1e0a1 (7:60a1) ld hl, $d730 set 7, [hl] ld a, $80 @@ -43020,10 +42973,11 @@ Unknown_1e0a1: ; 1e0a1 (7:60a1) ld [$c206], a ld [$cd3b], a ret -; 0x1e0b8 -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 @@ -43051,24 +43005,22 @@ 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 Route7GateScript: ; 1e100 (7:6100) call EnableAutoTextBoxDrawing ld a, [W_ROUTE7GATECURSCRIPT] - ld hl, Route7GateScripts + ld hl, Route7GateScriptPointers call CallFunctionInTable ret -; 0x1e10d -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 @@ -43084,7 +43036,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 @@ -43100,7 +43052,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 @@ -43112,8 +43064,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 @@ -43124,13 +43075,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 @@ -43158,23 +43111,21 @@ 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 -; 0x1e1d3 -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 @@ -43190,7 +43141,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 @@ -43206,7 +43157,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 @@ -43216,9 +43167,8 @@ Route8GateScript0: ; 1e1ee (7:61ee) ld a, $3 ld [$ff00+$8c], a jp DisplayTextID -; 0x1e22c -Coords1e22c: ; 1e22c (7:622c) +CoordsData_1e22c: ; 1e22c (7:622c) db 3,2 db 4,2 db $ff @@ -43229,12 +43179,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 @@ -43262,25 +43214,21 @@ 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 UndergroundPathEntranceRoute8Script: ; 1e289 (7:6289) ld a, $13 ld [$d365], a jp EnableAutoTextBoxDrawing -; 0x1e291 -UndergroundPathEntranceRoute8Texts: ; 1e291 (7:6291) +UndergroundPathEntranceRoute8TextPointers: ; 1e291 (7:6291) dw UndergroundPathEntranceRoute8Text1 -;XXX wtf? syntax error UndergroundPathEntranceRoute8Text1: ; 1e293 (7:6293) - db $17, $8d, $42, $23 - ;TX_FAR _UndergroundPathEntranceRoute8Text1 - db $50 + TX_FAR _UndergroundPathEntRoute8Text1 + db "@" UndergroundPathEntranceRoute8Object: ; 0x1e298 (size=34) db $a ; border tile @@ -43303,9 +43251,8 @@ 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 PowerPlantScript: ; 1e2c6 (7:62c6) @@ -43316,15 +43263,27 @@ PowerPlantScript: ; 1e2c6 (7:62c6) call ExecuteCurMapScriptInTable ld [W_POWERPLANTCURSCRIPT], a ret -; 0x1e2d9 PowerPlantScriptPointers: ; 1e2d9 (7:62d9) dw CheckFightingMapTrainers 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) @@ -43415,7 +43374,6 @@ asm_234cc: ; 1e368 (7:6368) ld a, [W_CURMAPSCRIPT] ld [W_POWERPLANTCURSCRIPT], a jp TextScriptEnd -; 0x1e374 PowerPlantText1: ; 1e374 (7:6374) db $8 ; asm @@ -43461,12 +43419,10 @@ PowerPlantText9: ; 1e3a4 (7:63a4) db $8 ; asm ld hl, PowerPlantTrainerHeader8 ; $635b jr asm_234cc ; 0x1e3a8 $be -; 0x1e3aa VoltorbBattleText: ; 1e3aa (7:63aa) TX_FAR _VoltorbBattleText ; 0x8c5e2 - db $50 -; 0x1e3af + db "@" ZapdosBattleText: ; 1e3af (7:63af) TX_FAR _ZapdosBattleText ; 0x8c5ea @@ -43475,7 +43431,6 @@ ZapdosBattleText: ; 1e3af (7:63af) call PlayCry call WaitForSoundToFinish jp TextScriptEnd -; 0x1e3bf PowerPlantObject: ; 0x1e3bf (size=135) db $2e ; border tile @@ -43514,9 +43469,8 @@ 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 DiglettsCaveEntranceRoute11Script: ; 1e5ba (7:65ba) @@ -43524,16 +43478,13 @@ DiglettsCaveEntranceRoute11Script: ; 1e5ba (7:65ba) ld a, $16 ld [$d365], a ret -; 0x1e5c3 -DiglettsCaveEntranceRoute11Texts: ; 1e5c3 (7:65c3) +DiglettsCaveEntranceRoute11TextPointers: ; 1e5c3 (7:65c3) dw DiglettsCaveEntranceRoute11Text1 -; XXX wtf? syntax error DiglettsCaveEntranceRoute11Text1: ; 1e5c5 (7:65c5) - db $17, $f9, $47, $23 - ;TX_FAR _DiglettsCaveEntranceRoute11Text1 - db $50 + TX_FAR _DiglettsCaveEntRoute11Text1 + db "@" DiglettsCaveEntranceRoute11Object: ; 0x1e5ca (size=34) db $7d ; border tile @@ -43556,17 +43507,16 @@ 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 Route16HouseScript: ; 1e5f8 (7:65f8) jp EnableAutoTextBoxDrawing -; 0x1e5fb -Route16HouseTexts: ; 1e5fb (7:65fb) - dw Route16HouseText1, Route16HouseText2 +Route16HouseTextPointers: ; 1e5fb (7:65fb) + dw Route16HouseText1 + dw Route16HouseText2 Route16HouseText1: ; 1e5ff (7:65ff) db $08 ; asm @@ -43591,22 +43541,19 @@ Route16HouseText1: ; 1e5ff (7:65ff) Route16HouseText3: ; 1e62b (7:662b) TX_FAR _Route16HouseText3 - db $50 -; 0x1e62b + 5 bytes + db "@" ReceivedHM02Text: ; 1e630 (7:6630) TX_FAR _ReceivedHM02Text ; 0x8ce66 - db $11, $50 + db $11, "@" HM02ExplanationText: ; 1e636 (7:6636) TX_FAR _HM02ExplanationText - db $50 -; 0x1e636 + 5 bytes + db "@" HM02NoRoomText: ; 1e63b (7:663b) TX_FAR _HM02NoRoomText - db $50 -; 0x1e63b + 5 bytes + db "@" Route16HouseText2: ; 1e640 (7:6640) db $08 ; asm @@ -43619,8 +43566,7 @@ Route16HouseText2: ; 1e640 (7:6640) UnnamedText_1e652: ; 1e652 (7:6652) TX_FAR _UnnamedText_1e652 - db $50 -; 0x1e652 + 5 bytes + db "@" Route16HouseObject: ; 0x1e657 (size=32) db $a ; border tile @@ -43642,14 +43588,13 @@ 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] @@ -43660,10 +43605,11 @@ Route22GateScript: ; 1e683 (7:6683) .asm_1e69a ld [$d365], a ret -; 0x1e69e -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 @@ -43674,7 +43620,6 @@ Route22GateScript0: ; 1e6a4 (7:66a4) ld a, $1 ld [$ff00+$8c], a jp DisplayTextID -; 0x1e6b5 Route22GateScriptCoords: ; 1e6b5 (7:66b5) db 2,4 @@ -43687,24 +43632,22 @@ Func_1e6ba: ; 1e6ba (7:66ba) ld a, $80 ld [$ccd3], a ld [$c109], a - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a jp Func_3486 -; 0x1e6cd Route22GateScript1: ; 1e6cd (7:66cd) ld a, [$cd38] 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 -; 0x1e6df -Route22GateTexts: ; 1e6df (7:66df) +Route22GateTextPointers: ; 1e6df (7:66df) dw Route22GateText1 Route22GateText1: ; 1e6e1 (7:66e1) @@ -43724,7 +43667,6 @@ Route22GateText1: ; 1e6e1 (7:66e1) .asm_20f7e ; 0x1e6fe ld [W_ROUTE22GATECURSCRIPT], a jp TextScriptEnd -; 0x1e704 UnnamedText_1e704: ; 1e704 (7:6704) TX_FAR _UnnamedText_1e704 ; 0x8cfbb @@ -43734,17 +43676,14 @@ UnnamedText_1e704: ; 1e704 (7:6704) call WaitForSoundToFinish ld hl, UnnamedText_1e715 ; $6715 ret -; 0x1e715 UnnamedText_1e715: ; 1e715 (7:6715) TX_FAR _UnnamedText_1e715 - db $50 -; 0x1e71a + db "@" UnnamedText_1e71a: ; 1e71a (7:671a) TX_FAR _UnnamedText_1e71a ; 0x8d03e - db $0B, $50 -; 0x1e720 + db $0B, "@" Route22GateObject: ; 0x1e720 (size=42) db $a ; border tile @@ -43772,19 +43711,17 @@ 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 BillsHouseScript: ; 1e76a (7:676a) call EnableAutoTextBoxDrawing ld a, [W_BILLSHOUSECURSCRIPT] - ld hl, BillsHouseScripts + ld hl, BillsHouseScriptPointers jp CallFunctionInTable -; 0x1e776 -BillsHouseScripts: ; 1e776 (7:6776) +BillsHouseScriptPointers: ; 1e776 (7:6776) dw BillsHouseScript0 dw BillsHouseScript1 dw BillsHouseScript2 @@ -43798,9 +43735,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 @@ -43809,11 +43746,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] @@ -43826,7 +43763,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 @@ -43836,7 +43773,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 @@ -43856,21 +43793,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 @@ -43887,8 +43824,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 @@ -43916,18 +43856,15 @@ asm_fd4e2 ; 0x1e862 UnnamedText_1e865: ; 1e865 (7:6865) TX_FAR _UnnamedText_1e865 ; 0x8d267 - db $50 -; 0x1e86a + db "@" UnnamedText_1e86a: ; 1e86a (7:686a) TX_FAR _UnnamedText_1e86a ; 0x8d345 - db $50 -; 0x1e86f + db "@" UnnamedText_1e86f: ; 1e86f (7:686f) TX_FAR _UnnamedText_1e86f ; 0x8d391 - db $50 -; 0x1e874 + db "@" BillsHouseText2: ; 1e874 (7:6874) db $08 ; asm @@ -43963,34 +43900,29 @@ BillsHouseText2: ; 1e874 (7:6874) BillThankYouText: ; 1e8ba (7:68ba) TX_FAR _BillThankYouText - db $50 -; 0x1e8ba + 5 bytes + db "@" SSTicketReceivedText: ; 1e8bf (7:68bf) TX_FAR _SSTicketReceivedText ; 0x8d499 - db $11, $6, $50 + db $11, $6, "@" SSTicketNoRoomText: ; 1e8c6 (7:68c6) TX_FAR _SSTicketNoRoomText - db $50 -; 0x1e8c6 + 5 bytes + db "@" UnnamedText_1e8cb: ; 1e8cb (7:68cb) TX_FAR _UnnamedText_1e8cb - db $50 -; 0x1e8cb + 5 bytes + db "@" BillsHouseText3: ; 1e8d0 (7:68d0) db $08 ; asm ld hl, UnnamedText_1e8da call PrintText jp TextScriptEnd -; 0x1e8da UnnamedText_1e8da: ; 1e8da (7:68da) TX_FAR _UnnamedText_1e8da - db $50 -; 0x1e8da + 5 bytes + db "@" BillsHouseObject: ; 0x1e8df (size=38) db $d ; border tile @@ -44013,7 +43945,6 @@ BillsHouseObject: ; 0x1e8df (size=38) BillsHouseBlocks: ; 1e905 (7:6905) INCBIN "maps/billshouse.blk" -; known jump sources: 17ecd (5:7ecd) Func_1e915: ; 1e915 (7:6915) call SaveScreenTilesToBuffer2 ld hl, UnnamedText_1e946 ; $6946 @@ -44021,7 +43952,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 @@ -44030,29 +43961,26 @@ Func_1e915: ; 1e915 (7:6915) ld hl, UnnamedText_1e940 ; $6940 call PrintText jp LoadScreenTilesFromBuffer2 -; 1e93b (7:693b) + UnnamedText_1e93b: ; 1e93b (7:693b) TX_FAR _UnnamedText_1e93b - db $50 -; 0x1e93b + 5 bytes + db "@" UnnamedText_1e940: ; 1e940 (7:6940) TX_FAR _UnnamedText_1e940 - db $0d,$50 + db $0d,"@" UnnamedText_1e946: ; 1e946 (7:6946) TX_FAR _UnnamedText_1e946 - db $50 -; 0x1e946 + 5 bytes + db "@" call EnableAutoTextBoxDrawing ld a, $39 jp Func_3ef5 -UnnamedText_1e953: ; 1e953 (7:6953) - TX_FAR _UnnamedText_1e953 - db $50 -; 0x1e953 + 5 bytes +NewBicycleText: ; 1e953 (7:6953) + TX_FAR _NewBicycleText + db "@" call EnableAutoTextBoxDrawing ld a, $05 @@ -44060,8 +43988,7 @@ UnnamedText_1e953: ; 1e953 (7:6953) UnnamedText_1e960: ; 1e960 (7:6960) TX_FAR _UnnamedText_1e960 - db $50 -; 0x1e960 + 5 bytes + db "@" call EnableAutoTextBoxDrawing ld hl, $d2f7 @@ -44077,15 +44004,12 @@ UnnamedText_1e960: ; 1e960 (7:6960) UnnamedText_1e97e: ; 1e97e (7:697e) TX_FAR _UnnamedText_1e97e - db $50 -; 0x1e97e + 5 bytes + db "@" UnnamedText_1e983: ; 1e983 (7:6983) TX_FAR _UnnamedText_1e983 - db $50 -; 0x1e983 + 5 bytes + db "@" -; known jump sources: 41f (0:41f) Func_1e988: ; 1e988 (7:6988) ld hl, $d790 bit 7, [hl] @@ -44095,19 +44019,18 @@ Func_1e988: ; 1e988 (7:6988) jr z, asm_1e9b0 jr asm_1e9ab -; known jump sources: 60f (0:60f) 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 @@ -44115,7 +44038,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) @@ -44142,15 +44065,14 @@ asm_1e9b0: ; 1e9b0 (7:69b0) ld [$da46], a ret -; known jump sources: 2a95 (0:2a95) 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 @@ -44160,16 +44082,14 @@ INCBIN "baserom.gbc",$1e9f7,$1e9f8 - $1e9f7 ld hl, UnnamedText_1ea12 ; $6a12 call PrintText jp TextScriptEnd -; 1ea0d (7:6a0d) + UnnamedText_1ea0d: ; 1ea0d (7:6a0d) TX_FAR _UnnamedText_1ea0d - db $50 -; 0x1ea0d + 5 bytes + db "@" UnnamedText_1ea12: ; 1ea12 (7:6a12) TX_FAR _UnnamedText_1ea12 - db $50 -; 0x1ea12 + 5 bytes + db "@" ld a, [$c109] cp $4 @@ -44178,10 +44098,11 @@ UnnamedText_1ea12: ; 1ea12 (7:6a12) ld a, $31 jp Func_3ef5 -INCBIN "baserom.gbc",$1ea25,$1ea26 - $1ea25 +CinnabarGymQuiz: ; 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 @@ -44189,14 +44110,14 @@ INCBIN "baserom.gbc",$1ea25,$1ea26 - $1ea25 and $f0 swap a ld [$FF00+$dc], a - ld hl, UnnamedText_1ea5b ; $6a5b + ld hl, CinnabarGymQuizIntroText ; $6a5b call PrintText ld a, [$FF00+$db] dec a add a ld d, $0 ld e, a - ld hl, PointerTable_1ea60 ; $6a60 + ld hl, CinnabarQuizQuestions ; $6a60 add hl, de ld a, [hli] ld h, [hl] @@ -44206,69 +44127,60 @@ INCBIN "baserom.gbc",$1ea25,$1ea26 - $1ea25 ld [$cc3c], a call Func_1ea92 jp TextScriptEnd -; 1ea5b (7:6a5b) -UnnamedText_1ea5b: ; 1ea5b (7:6a5b) - TX_FAR _UnnamedText_1ea5b - db $50 -; 0x1ea5b + 5 bytes - -PointerTable_1ea60: ; 1ea60 (7:6a60) - dw UnnamedText_1ea6c - dw UnnamedText_1ea71 - dw UnnamedText_1ea76 - dw UnnamedText_1ea7b - dw UnnamedText_1ea80 - dw UnnamedText_1ea85 - -UnnamedText_1ea6c: ; 1ea6c (7:6a6c) - TX_FAR _UnnamedText_1ea6c - db $50 -; 0x1ea6c + 5 bytes -UnnamedText_1ea71: ; 1ea71 (7:6a71) - TX_FAR _UnnamedText_1ea71 - db $50 -; 0x1ea71 + 5 bytes +CinnabarGymQuizIntroText: ; 1ea5b (7:6a5b) + TX_FAR _CinnabarGymQuizIntroText + db "@" -UnnamedText_1ea76: ; 1ea76 (7:6a76) - TX_FAR _UnnamedText_1ea76 - db $50 -; 0x1ea76 + 5 bytes +CinnabarQuizQuestions: ; 1ea60 (7:6a60) + dw CinnabarQuizQuestionsText1 + dw CinnabarQuizQuestionsText2 + dw CinnabarQuizQuestionsText3 + dw CinnabarQuizQuestionsText4 + dw CinnabarQuizQuestionsText5 + dw CinnabarQuizQuestionsText6 -UnnamedText_1ea7b: ; 1ea7b (7:6a7b) - TX_FAR _UnnamedText_1ea7b - db $50 -; 0x1ea7b + 5 bytes +CinnabarQuizQuestionsText1: ; 1ea6c (7:6a6c) + TX_FAR _CinnabarQuizQuestionsText1 + db "@" -UnnamedText_1ea80: ; 1ea80 (7:6a80) - TX_FAR _UnnamedText_1ea80 - db $50 -; 0x1ea80 + 5 bytes +CinnabarQuizQuestionsText2: ; 1ea71 (7:6a71) + TX_FAR _CinnabarQuizQuestionsText2 + db "@" -UnnamedText_1ea85: ; 1ea85 (7:6a85) - TX_FAR _UnnamedText_1ea85 - db $50 -; 0x1ea85 + 5 bytes +CinnabarQuizQuestionsText3: ; 1ea76 (7:6a76) + TX_FAR _CinnabarQuizQuestionsText3 + db "@" + +CinnabarQuizQuestionsText4: ; 1ea7b (7:6a7b) + TX_FAR _CinnabarQuizQuestionsText4 + db "@" + +CinnabarQuizQuestionsText5: ; 1ea80 (7:6a80) + TX_FAR _CinnabarQuizQuestionsText5 + db "@" + +CinnabarQuizQuestionsText6: ; 1ea85 (7:6a85) + TX_FAR _CinnabarQuizQuestionsText6 + db "@" -; known jump sources: 1eab2 (7:6ab2), 1eaef (7:6aef), 1eb2a (7:6b2a) Func_1ea8a: ; 1ea8a (7:6a8a) ld hl, $d79c ld a, $10 jp Predef ; indirect jump to HandleBitArray (f666 (3:7666)) -; known jump sources: 1ea55 (7:6a55) 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 set 5, [hl] ld a, [$FF00+$db] ld [$FF00+$e0], a - ld hl, UnnamedText_1eae3 ; $6ae3 + ld hl, CinnabarGymQuizCorrectText ; $6ae3 call PrintText ld a, [$FF00+$e0] ld c, a @@ -44280,7 +44192,7 @@ Func_1ea92: ; 1ea92 (7:6a92) ld a, $a5 call PlaySound call WaitForSoundToFinish - ld hl, UnnamedText_1eb05 ; $6b05 + ld hl, CinnabarGymQuizIncorrectText ; $6b05 call PrintText ld a, [$FF00+$db] add $2 @@ -44297,11 +44209,11 @@ Func_1ea92: ; 1ea92 (7:6a92) ld [$da38], a ret -UnnamedText_1eae3: ; 1eae3 (7:6ae3) +CinnabarGymQuizCorrectText: ; 1eae3 (7:6ae3) db $0b - TX_FAR _UnnamedText_1eae3 + TX_FAR _CinnabarGymQuizCorrectText db $06,$08 - + ld a, [$FF00+$e0] ld c, a ld b, $2 @@ -44314,13 +44226,11 @@ UnnamedText_1eae3: ; 1eae3 (7:6ae3) call PlaySound call WaitForSoundToFinish jp TextScriptEnd -; 1eb05 (7:6b05) -UnnamedText_1eb05: ; 1eb05 (7:6b05) - TX_FAR _UnnamedText_1eb05 - db $50 -; 0x1eb05 + 5 bytes -; known jump sources: 3eb2 (0:3eb2), 1eab5 (7:6ab5) +CinnabarGymQuizIncorrectText: ; 1eb05 (7:6b05) + TX_FAR _CinnabarGymQuizIncorrectText + db "@" + Func_1eb0a: ; 1eb0a (7:6b0a) ld a, $6 ld [$FF00+$db], a @@ -44363,7 +44273,7 @@ Func_1eb0a: ; 1eb0a (7:6b0a) ret CinnabarGymGateCoords: ; 1eb48 (7:6b48) - ; format: x-coord, y-coord, direction, buffer + ; format: x-coord, y-coord, direction, padding ; direction: $54 = horizontal gate, $5f = vertical gate db $09,$03,$54,$00 db $06,$03,$54,$00 @@ -44379,8 +44289,7 @@ CinnabarGymGateCoords: ; 1eb48 (7:6b48) UnnamedText_1eb69: ; 1eb69 (7:6b69) TX_FAR _UnnamedText_1eb69 - db $50 -; 0x1eb69 + 5 bytes + db "@" call EnableAutoTextBoxDrawing ld a, [$c109] @@ -44431,16 +44340,15 @@ UnnamedText_1eb69: ; 1eb69 (7:6b69) ld a, $2f call Func_3ef5 ret -; 1ebdd (7:6bdd) -UnnamedText_1ebdd: ; 1ebdd (7:6bdd) - TX_FAR _UnnamedText_1ebdd - db $50 -; 0x1ebdd + 5 bytes -UnnamedText_1ebe2: ; 1ebe2 (7:6be2 - TX_FAR _UnnamedText_1ebe2 - db $06,$08 - +BillsHouseMonitorText: ; 1ebdd (7:6bdd) + TX_FAR _BillsHouseMonitorText + db "@" + +BillsHouseInitiatedText: ; 1ebe2 (7:6be2) + TX_FAR _BillsHouseInitiatedText + db $06 + db $08 ; asm ld a, $ff ld [$c0ee], a call PlaySound @@ -44453,10 +44361,10 @@ UnnamedText_1ebe2: ; 1ebe2 (7:6be2 call DelayFrames jp TextScriptEnd -INCBIN "baserom.gbc",$1ec05,$1ec06 - $1ec05 - +BillsHousePokemonList: ; 1ec05 (7:6c05) + db $08 ; asm call SaveScreenTilesToBuffer1 - ld hl, UnnamedText_1ec7f + ld hl, BillsHousePokemonListText1 call PrintText xor a ld [$d07c], a @@ -44473,14 +44381,14 @@ 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 ld hl, $c3ca ld de, BillsMonListText call PlaceString - ld hl, UnnamedText_1ecaa + ld hl, BillsHousePokemonListText2 call PrintText call SaveScreenTilesToBuffer2 call HandleMenuInput @@ -44488,13 +44396,13 @@ INCBIN "baserom.gbc",$1ec05,$1ec06 - $1ec05 jr nz, .asm_1ec74 ld a, [$cc26] add $66 - cp $66 + cp EEVEE jr z, .asm_1ec6c - cp $67 + cp FLAREON jr z, .asm_1ec6c - cp $68 + cp JOLTEON jr z, .asm_1ec6c - cp $69 + cp VAPOREON jr z, .asm_1ec6c jr .asm_1ec74 .asm_1ec6c @@ -44507,20 +44415,18 @@ INCBIN "baserom.gbc",$1ec05,$1ec06 - $1ec05 call LoadScreenTilesFromBuffer2 jp TextScriptEnd -UnnamedText_1ec7f: ; 1ec7f (7:6c7f) - TX_FAR _UnnamedText_1ec7f - db $50 -; 0x1ec7f + 5 bytes +BillsHousePokemonListText1: ; 1ec7f (7:6c7f) + TX_FAR _BillsHousePokemonListText1 + db "@" BillsMonListText: ; 1ec84 (7:6c84) db "EEVEE",$4e,"FLAREON",$4e,"JOLTEON",$4e,"VAPOREON",$4e,"CANCEL@" -UnnamedText_1ecaa: ; 1ecaa (7:6caa) - TX_FAR _UnnamedText_1ecaa - db $50 -; 0x1ecaa + 5 bytes +BillsHousePokemonListText2: ; 1ecaa (7:6caa) + TX_FAR _BillsHousePokemonListText2 + db "@" -Unknown_1ecaf +Func_1ecaf: ; 1ecaf (7:6caf) ld a, [$c109] cp $4 ret nz @@ -44528,35 +44434,34 @@ Unknown_1ecaf ld a, $8 jp Func_3ef5 -UnnamedText_1ecbd: ; 1ecbd (7:6cbd) - TX_FAR _UnnamedText_1ecbd - db $50 -; 0x1ecbd + 5 bytes +OakLabEmailText: ; 1ecbd (7:6cbd) + TX_FAR _OakLabEmailText + db "@" 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 (8:4361) dw Music8_Channel3Duty0 @@ -44588,105 +44493,105 @@ Music8_Channel3Duty3: ; 203a3 (8:43a3) Music8_Channel3Duty4: ; 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] @@ -44720,12 +44625,10 @@ Func_2136e: ; 2136e (8:536e) ld de, Unknown_213c4 ; $53c4 jr asm_213af -; known jump sources: 2137c (8:537c) Func_213a7: ; 213a7 (8:53a7) ld de, Unknown_213bc ; $53bc jr asm_213af -; known jump sources: 21387 (8:5387) Func_213ac: ; 213ac (8:53ac) ld de, Unknown_213c0 ; $53c0 asm_213af: ; 213af (8:53af) @@ -44749,7 +44652,6 @@ Unknown_213c0: ; 213c0 (8:53c0) Unknown_213c4: ; 213c4 (8:53c4) db $00,$00,$00,$80 -; known jump sources: 17e4d (5:7e4d) Func_213c8: ; 213c8 (8:53c8) xor a ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba @@ -44763,24 +44665,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 @@ -44813,7 +44715,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 @@ -44829,21 +44731,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 @@ -44866,8 +44768,8 @@ PKMNLeaguePCText: ; 214b2 (8:54b2) LogOffPCText: ; 214ba (8:54ba) db "LOG OFF@" -; known jump sources: 17f03 (5:7f03) Func_214c2: ; 214c2 (8:54c2) +BillsPC_: ; 0x214c2 ld hl, $d730 set 6, [hl] xor a @@ -44875,26 +44777,26 @@ Func_214c2: ; 214c2 (8:54c2) 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, Func_214e8 + jr nz, BillsPCMenu ld a, $99 call PlaySound - ld hl, UnnamedText_217e9 ; $57e9 + ld hl, SwitchOnText call PrintText -; known jump sources: 214db (8:54db), 215b8 (8:55b8), 215c8 (8:55c8), 215d1 (8:55d1), 215d7 (8:55d7), 21615 (8:5615), 21624 (8:5624), 21634 (8:5634), 2163d (8:563d), 21643 (8:5643), 21670 (8:5670), 2167f (8:567f), 21688 (8:5688), 216b0 (8:56b0), 216bb (8:56bb) 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 @@ -44902,7 +44804,7 @@ Func_214e8: ; 214e8 (8:54e8) 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 @@ -44916,11 +44818,11 @@ Func_214e8: ; 214e8 (8:54e8) 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 hl, UnnamedText_217ee ; $57ee + ld [wPlayerMonNumber], a ; $cc2f + ld hl, WhatText call PrintText FuncCoord 9, 14 ; $c4c1 ld hl, Coord @@ -44951,22 +44853,21 @@ Func_214e8: ; 214e8 (8:54e8) call Delay3 call HandleMenuInput bit 1, a - jp nz, Func_21588 + 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 + jp z, Func_21618 ; withdraw cp $1 - jp z, Func_215ac + jp z, Func_215ac ; deposit cp $2 - jp z, Func_21673 + jp z, Func_21673 ; release cp $3 - jp z, Func_216b3 + jp z, Func_216b3 ; change box -; known jump sources: 21569 (8:5569) Func_21588: ; 21588 (8:5588) - ld a, [W_FLAGS_CD60] + ld a, [wFlags_0xcd60] bit 3, a jr nz, .asm_2159a call LoadTextBoxTilePatterns @@ -44974,36 +44875,36 @@ 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 -; known jump sources: 2157b (8:557b) Func_215ac: ; 215ac (8:55ac) +BillsPCDeposit: ld a, [W_NUMINPARTY] ; $d163 dec a jr nz, .asm_215bb - ld hl, UnnamedText_217fd ; $57fd + ld hl, CantDepositLastMonText call PrintText - jp Func_214e8 + jp BillsPCMenu .asm_215bb ld a, [W_NUMINBOX] ; $da80 cp $14 jr nz, .asm_215cb - ld hl, UnnamedText_21802 ; $5802 + ld hl, BoxFullText ; $5802 call PrintText - jp Func_214e8 + jp BillsPCMenu .asm_215cb ld hl, W_NUMINPARTY ; $d163 call Func_216be - jp c, Func_214e8 + jp c, BillsPCMenu call Func_2174b - jp nc, Func_214e8 + jp nc, BillsPCMenu ld a, [$cf91] call GetCryData call PlaySoundWaitForCurrent @@ -45014,7 +44915,7 @@ Func_215ac: ; 215ac (8:55ac) ld [$cf95], a call RemovePokemon call WaitForSoundToFinish - ld hl, W_WHICHTRADE ; $cd3d + ld hl, wWhichTrade ; $cd3d ld a, [$d5a0] and $7f cp $9 @@ -45029,23 +44930,22 @@ Func_215ac: ; 215ac (8:55ac) .asm_2160c ld [hli], a ld [hl], $50 - ld hl, UnnamedText_217f8 ; $57f8 + ld hl, MonWasStoredText ; $57f8 call PrintText - jp Func_214e8 + jp BillsPCMenu -; known jump sources: 21576 (8:5576) Func_21618: ; 21618 (8:5618) ld a, [W_NUMINBOX] ; $da80 and a jr nz, .asm_21627 - ld hl, UnnamedText_2180c ; $580c + ld hl, NoMonText ; $580c call PrintText jp Func_214e8 .asm_21627 ld a, [W_NUMINPARTY] ; $d163 cp $6 jr nz, .asm_21637 - ld hl, UnnamedText_21811 ; $5811 + ld hl, CantTakeMonText ; $5811 call PrintText jp Func_214e8 .asm_21637 @@ -45054,7 +44954,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] @@ -45067,26 +44967,25 @@ Func_21618: ; 21618 (8:5618) ld [$cf95], a call RemovePokemon call WaitForSoundToFinish - ld hl, UnnamedText_21807 ; $5807 + ld hl, MonIsTakenOutText ; $5807 call PrintText jp Func_214e8 -; known jump sources: 21580 (8:5580) Func_21673: ; 21673 (8:5673) ld a, [W_NUMINBOX] ; $da80 and a jr nz, .asm_21682 - ld hl, UnnamedText_2180c ; $580c + ld hl, NoMonText ; $580c call PrintText jp Func_214e8 .asm_21682 ld hl, W_NUMINBOX ; $da80 call Func_216be jp c, Func_214e8 - ld hl, UnnamedText_2181b ; $581b + 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 @@ -45095,18 +44994,16 @@ Func_21673: ; 21673 (8:5673) call WaitForSoundToFinish ld a, [$cf91] call PlayCry - ld hl, UnnamedText_21820 ; $5820 + ld hl, MonWasReleasedText ; $5820 call PrintText jp Func_214e8 -; known jump sources: 21585 (8:5585) Func_216b3: ; 216b3 (8:56b3) ld b, BANK(Func_738a1) ld hl, Func_738a1 call Bankswitch ; indirect jump to Func_738a1 (738a1 (1c:78a1)) jp Func_214e8 -; known jump sources: 215ce (8:55ce), 2163a (8:563a), 21685 (8:5685) Func_216be: ; 216be (8:56be) ld a, l ld [$cf8b], a @@ -45114,13 +45011,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 @@ -45154,7 +45051,6 @@ Func_2171b: ; 2171b (8:571b) jr nz, .asm_21731 ; 0x21741 $ee and a ret -; 0x21745 HMMoveArray: ; 21745 (8:5745) db CUT @@ -45164,7 +45060,6 @@ HMMoveArray: ; 21745 (8:5745) db FLASH db $ff -; known jump sources: 215d4 (8:55d4), 21640 (8:5640) Func_2174b: ; 2174b (8:574b) FuncCoord 9, 10 ; $c471 ld hl, Coord @@ -45184,7 +45079,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 @@ -45198,16 +45093,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 @@ -45246,65 +45141,53 @@ WithdrawPCText: ; 217d3 (8:57d3) StatsCancelPCText: ; 217dc (8:57dc) db "STATS",$4e,"CANCEL@" -UnnamedText_217e9: ; 217e9 (8:57e9) - TX_FAR _UnnamedText_217e9 - db $50 -; 0x217e9 + 5 bytes +SwitchOnText: ; 0x217e9 + TX_FAR _SwitchOnText + db "@" -UnnamedText_217ee: ; 217ee (8:57ee) - TX_FAR _UnnamedText_217ee - db $50 -; 0x217ee + 5 bytes +WhatText: ; 0x217ee + TX_FAR _WhatText + db "@" -UnnamedText_217f3: ; 217f3 (8:57f3) - TX_FAR _UnnamedText_217f3 - db $50 -; 0x217f3 + 5 bytes +DepositWhichMonText: ; 0x217f3 + TX_FAR _DepositWhichMonText + db "@" -UnnamedText_217f8: ; 217f8 (8:57f8) - TX_FAR _UnnamedText_217f8 - db $50 -; 0x217f8 + 5 bytes +MonWasStoredText: ; 0x217f8 + TX_FAR _MonWasStoredText + db "@" -UnnamedText_217fd: ; 217fd (8:57fd) - TX_FAR _UnnamedText_217fd - db $50 -; 0x217fd + 5 bytes +CantDepositLastMonText: ; 0x217fd + TX_FAR _CantDepositLastMonText + db "@" -UnnamedText_21802: ; 21802 (8:5802) - TX_FAR _UnnamedText_21802 - db $50 -; 0x21802 + 5 bytes +BoxFullText: ; 0x21802 + TX_FAR _BoxFullText + db "@" -UnnamedText_21807: ; 21807 (8:5807) - TX_FAR _UnnamedText_21807 - db $50 -; 0x21807 + 5 bytes +MonIsTakenOutText: ; 0x21807 + TX_FAR _MonIsTakenOutText + db "@" -UnnamedText_2180c: ; 2180c (8:580c) - TX_FAR _UnnamedText_2180c - db $50 -; 0x2180c + 5 bytes +NoMonText: ; 0x2180c + TX_FAR _NoMonText + db "@" -UnnamedText_21811: ; 21811 (8:5811) - TX_FAR _UnnamedText_21811 - db $50 -; 0x21811 + 5 bytes +CantTakeMonText: ; 0x21811 + TX_FAR _CantTakeMonText + db "@" -UnnamedText_21816: ; 21816 (8:5816) - TX_FAR _UnnamedText_21816 - db $50 -; 0x21816 + 5 bytes +ReleaseWhichMonText: ; 0x21816 + TX_FAR _ReleaseWhichMonText + db "@" -UnnamedText_2181b: ; 2181b (8:581b) - TX_FAR _UnnamedText_2181b - db $50 -; 0x2181b + 5 bytes +OnceReleasedText: ; 0x2181b + TX_FAR _OnceReleasedText + db "@" -UnnamedText_21820: ; 21820 (8:5820) - TX_FAR _UnnamedText_21820 - db $50 -; 0x21820 + 5 bytes +MonWasReleasedText: ; 0x21820 + TX_FAR _MonWasReleasedText + db "@" ld a, [$ff00+$aa] cp $1 @@ -45342,8 +45225,7 @@ UnnamedText_21820: ; 21820 (8:5820) UnnamedText_21865: ; 21865 (8:5865) TX_FAR _UnnamedText_21865 - db $50 -; 0x21865 + 5 bytes + db "@" ld a, [$c109] cp $4 @@ -45719,7 +45601,7 @@ Music8_notetype: ; 21a65 (8:5a65) sla a ld d, a ; fall through - + ; if channel 3, store high nibble as volume ; else, store volume (high nibble) and fade (low nibble) .notChannel3 @@ -45741,7 +45623,7 @@ Music8_togglecall: ; 21aa4 (8:5aa4) xor $1 ld [hl], a ; flip bit 0 of $c02e (toggle returning from call) jp Music8_endchannel - + Music8_vibrato: ; 21ab6 (8:5ab6) cp $ea ; is this command a vibrato? jr nz, Music8_pitchbend ; no @@ -45775,7 +45657,7 @@ Music8_vibrato: ; 21ab6 (8:5ab6) or d ld [hl], a ; store depth as both high and low nibbles jp Music8_endchannel - + Music8_pitchbend: ; 21aee (8:5aee) cp $eb ; is this command a pitchbend? jr nz, Music8_duty ; no @@ -45806,7 +45688,7 @@ Music8_pitchbend: ; 21aee (8:5aee) call Music8_GetNextMusicByte ld d, a jp Music8_notelength - + Music8_duty: ; 21b26 (8:5b26) cp $ec ; is this command a duty? jr nz, Music8_tempo ; no @@ -45819,7 +45701,7 @@ Music8_duty: ; 21b26 (8:5b26) add hl, bc ld [hl], a ; store duty jp Music8_endchannel - + Music8_tempo: ; 21b3b (8:5b3b) cp $ed ; is this command a tempo? jr nz, Music8_unknownmusic0xee ; no @@ -45848,14 +45730,14 @@ Music8_tempo: ; 21b3b (8:5b3b) ld [$c0d5], a .musicChannelDone jp Music8_endchannel - + Music8_unknownmusic0xee: ; 21b7b (8:5b7b) cp $ee ; is this command an unknownmusic0xee? jr nz, Music8_unknownmusic0xef ; no call Music8_GetNextMusicByte ; yes ld [$c004], a ; store first param jp Music8_endchannel - + ; this appears to never be used Music8_unknownmusic0xef: ; 21b88 (8:5b88) cp $ef ; is this command an unknownmusic0xef? @@ -45873,7 +45755,7 @@ Music8_unknownmusic0xef: ; 21b88 (8:5b88) ld [$c02d], a .skip jp Music8_endchannel - + Music8_dutycycle: ; 21ba7 (8:5ba7) cp $fc ; is this command a dutycycle? jr nz, Music8_stereopanning ; no @@ -45890,14 +45772,14 @@ Music8_dutycycle: ; 21ba7 (8:5ba7) add hl, bc set 6, [hl] ; set dutycycle flag jp Music8_endchannel - + Music8_stereopanning: ; 21bc5 (8:5bc5) cp $f0 ; is this command a stereopanning? jr nz, Music8_executemusic ; no call Music8_GetNextMusicByte ; yes ld [$FF00+$24], a jp Music8_endchannel - + Music8_executemusic: ; 21bd1 (8:5bd1) cp $f8 ; is this command an executemusic? jr nz, Music8_octave ; no @@ -45906,7 +45788,7 @@ Music8_executemusic: ; 21bd1 (8:5bd1) add hl, bc set 0, [hl] jp Music8_endchannel - + Music8_octave: ; 21be0 (8:5be0) and $f0 cp $e0 ; is this command an octave? @@ -45918,7 +45800,7 @@ Music8_octave: ; 21be0 (8:5be0) and $f ld [hl], a ; store low nibble as octave jp Music8_endchannel - + Music8_unknownsfx0x20: ; 21bf3 cp $20 ; is this command an unknownsfx0x20? jr nz, Music8_unknownsfx0x10 ; no @@ -45963,7 +45845,7 @@ Music8_unknownsfx0x20: ; 21bf3 pop de call Func_21dcc ret - + Music8_unknownsfx0x10: ; 21c40 (8:5c40) ld a, c cp CH4 @@ -45979,7 +45861,7 @@ Music8_unknownsfx0x10: ; 21c40 (8:5c40) call Music8_GetNextMusicByte ; yes ld [$FF00+$10], a jp Music8_endchannel - + Music8_note: ; 21c5c (8:5c5c) ld a, c cp CH3 @@ -45998,7 +45880,7 @@ Music8_note: ; 21c5c (8:5c5c) push de push bc jr asm_21c7e - + Music8_dnote: ; 21c76 (8:5c76) ld a, d and $f @@ -46073,7 +45955,7 @@ Music8_notelength: ; 21c8b (8:5c8b) jr z, Music8_notepitch pop hl ret - + Music8_notepitch: ; 21ce9 (8:5ce9) pop af and $f0 @@ -47101,18 +46983,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] @@ -47233,7 +47115,6 @@ TangelaPicFront: ; 27b39 (9:7b39) TangelaPicBack: ; 27ce7 (9:7ce7) INCBIN "pic/monback/tangelab.pic" -; known jump sources: 12a35 (4:6a35), 70320 (1c:4320) Func_27d6b: ; 27d6b (9:7d6b) call Load16BitRegisters push hl @@ -47251,7 +47132,6 @@ Func_27d6b: ; 27d6b (9:7d6b) ld bc, $28 add hl, bc -; known jump sources: 27d77 (9:7d77) Func_27d89: ; 27d89 (9:7d89) push hl jr asm_27d9f @@ -47262,7 +47142,6 @@ asm_27d8c: ; 27d8c (9:7d8c) ld bc, $6 jp FillMemory -; known jump sources: 3d54b (f:554b) Func_27d98: ; 27d98 (9:7d98) call Load16BitRegisters push hl @@ -47278,7 +47157,7 @@ asm_27d9f: ; 27d9f (9:7d9f) ld d, [hl] pop hl jp PlaceString -; 27dae (9:7dae) + TypeNamePointers: ; 27dae (9:7dae) dw Type00Name dw Type01Name @@ -47366,50 +47245,50 @@ TrainerNamePointers: ; 27e64 (9:7e64) dw YoungsterName dw BugCatcherName dw LassName - dw $D04A + dw W_TRAINERNAME dw JrTrainerMName dw JrTrainerFName dw PokemaniacName dw SuperNerdName - dw $D04A - dw $D04A + dw W_TRAINERNAME + dw W_TRAINERNAME dw BurglarName dw EngineerName dw JugglerXName - dw $D04A + dw W_TRAINERNAME dw SwimmerName - dw $D04A - dw $D04A + dw W_TRAINERNAME + dw W_TRAINERNAME dw BeautyName - dw $D04A + dw W_TRAINERNAME dw RockerName dw JugglerName - dw $D04A - dw $D04A + dw W_TRAINERNAME + dw W_TRAINERNAME dw BlackbeltName - dw $D04A + dw W_TRAINERNAME dw ProfOakName dw ChiefName dw ScientistName - dw $D04A + dw W_TRAINERNAME dw RocketName dw CooltrainerMName dw CooltrainerFName - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A - dw $D04A + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME + dw W_TRAINERNAME YoungsterName: ; 27ec2 (9:7ec2) db "YOUNGSTER@" @@ -47454,7 +47333,6 @@ CooltrainerMName: ; 27f6c (9:7f6c) CooltrainerFName: ; 27f79 (9:7f79) db "COOLTRAINER♀@" -; known jump sources: 3f94e (f:794e) Func_27f86: ; 27f86 (9:7f86) ld hl, W_PLAYERBATTSTATUS2 ; $d063 ld a, [H_WHOSETURN] ; $FF00+$f3 @@ -47480,8 +47358,7 @@ Func_27f86: ; 27f86 (9:7f86) UnnamedText_27fb3: ; 27fb3 (9:7fb3) db $0a TX_FAR _UnnamedText_27fb3 - db $50 -; 0x27fb3 + 5 bytes + db "@" SECTION "bankA",ROMX,BANK[$A] GrowlithePicFront: ; 28000 (a:4000) @@ -47613,7 +47490,6 @@ MoltresPicFront: ; 2bbac (a:7bac) MoltresPicBack: ; 2be02 (a:7e02) INCBIN "pic/monback/moltresb.pic" -; known jump sources: 3fa81 (f:7a81) Func_2bea9: ; 2bea9 (a:7ea9) ld hl, MoveHitTest ld b, BANK(MoveHitTest) @@ -47649,16 +47525,14 @@ Func_2bea9: ; 2bea9 (a:7ea9) call DelayFrames ld hl, UnnamedText_2bef7 ; $7ef7 jp PrintText -; 2bef2 (a:7ef2) + UnnamedText_2bef2: ; 2bef2 (a:7ef2) TX_FAR _UnnamedText_2bef2 - db $50 -; 0x2bef2 + 5 bytes + db "@" UnnamedText_2bef7: ; 2bef7 (a:7ef7) TX_FAR _UnnamedText_2bef7 - db $50 -; 0x2bef7 + 5 bytes + db "@" SECTION "bankB",ROMX,BANK[$B] ArticunoPicFront: ; 2c000 (b:4000) @@ -47813,29 +47687,26 @@ DisplayEffectiveness: ; 2fb7b (b:7b7b) UnnamedText_2fb8e: ; 2fb8e (b:7b8e) TX_FAR _UnnamedText_2fb8e - db $50 -; 0x2fb8e + 5 bytes + db "@" UnnamedText_2fb93: ; 2fb93 (b:7b93) TX_FAR _UnnamedText_2fb93 - db $50 -; 0x2fb93 + 5 bytes + db "@" TrainerInfoTextBoxTileGraphics: ; 2fb98 (b:7b98) -INCBIN "gfx/trainer_info.2bpp" + INCBIN "gfx/trainer_info.2bpp" BlankLeaderNames: ; 2fc28 (b:7c28) -INCBIN "gfx/blank_leader_names.2bpp" + INCBIN "gfx/blank_leader_names.2bpp" CircleTile: ; 2fd88 (b:7d88) -INCBIN "gfx/circle_tile.2bpp" + INCBIN "gfx/circle_tile.2bpp" BadgeNumbersTileGraphics: ; 2fd98 (b:7d98) -INCBIN "gfx/badge_numbers.2bpp" + INCBIN "gfx/badge_numbers.2bpp" -; known jump sources: e530 (3:6530) 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 @@ -47855,13 +47726,11 @@ Func_2fe18: ; 2fe18 (b:7e18) call PrintText scf ret -; 2fe3b (b:7e3b) + UnnamedText_2fe3b: ; 2fe3b (b:7e3b) TX_FAR _UnnamedText_2fe3b - db $50 -; 0x2fe3b + 5 bytes + db "@" -; known jump sources: 3eca5 (f:6ca5), 3f11b (f:711b), 70362 (1c:4362) ; scales both uncompressed sprite chunks by two in every dimension (creating 2x2 output pixels per input pixel) ; assumes that input sprite chunks are 4x4 tiles, and the rightmost and bottommost 4 pixels will be ignored ; resulting in a 7*7 tile output sprite chunk @@ -47874,7 +47743,6 @@ ScaleSpriteByTwo: ; 2fe40 (b:7e40) ld hl, S_SPRITEBUFFER1 + SPRITEBUFFERSIZE - 1 ; end of destination buffer call ScaleLastSpriteColumnByTwo ; last tile column is special case -; known jump sources: 2fe49 (b:7e49) ScaleFirstThreeSpriteColumnsByTwo: ; 2fe55 (b:7e55) ld b, $3 ; 3 tile columns .columnLoop @@ -47904,7 +47772,6 @@ ScaleFirstThreeSpriteColumnsByTwo: ; 2fe55 (b:7e55) jr nz, .columnLoop ret -; known jump sources: 2fe46 (b:7e46), 2fe52 (b:7e52) ScaleLastSpriteColumnByTwo: ; 2fe7d (b:7e7d) ld a, 4*8 - 4 ; $1c, 4 tiles minus 4 unused rows ld [H_SPRITEINTERLACECOUNTER], a ; $FF00+$8b @@ -47924,7 +47791,6 @@ ScaleLastSpriteColumnByTwo: ; 2fe7d (b:7e7d) dec de ret -; known jump sources: 2fe5e (b:7e5e), 2fe68 (b:7e68), 2fe88 (b:7e88) ; scales the given 4 bits in a (4x1 pixels) to 2 output bytes (8x2 pixels) ; hl: destination pointer ; bc: destination pointer offset (added after the two bytes have been written) @@ -47946,13 +47812,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 -; no known jump sources -Func_2feb8 ; 0x2feb8 +Func_2feb8 ; 2feb8 (b:7eb8) xor a ld hl, $cd6d ld [hli], a @@ -47992,13 +47857,12 @@ Func_2feb8 ; 0x2feb8 call Predef ld hl, UnnamedText_2ff04 ; $7f04 jp PrintText -; 0x2ff04 UnnamedText_2ff04: ; 2ff04 (b:7f04) TX_FAR _UnnamedText_2ff04 - db $50 -; 0x2ff04 + 5 bytes + db "@" +Func_2ff09 ; 2ff09 (b:7f09) ld a, [$c102] and $8 jr z, .asm_2ff2e @@ -48023,15 +47887,13 @@ UnnamedText_2ff04: ; 2ff04 (b:7f04) ld [$cd3d], a ret -UnnamedText_2ff32: ; 2ff32 (b:7f32) - TX_FAR _UnnamedText_2ff32 - db $50 -; 0x2ff32 + 5 bytes +GameCornerCoinCaseText: ; 2ff32 (b:7f32) + TX_FAR _GameCornerCoinCaseText + db "@" -UnnamedText_2ff37: ; 2ff37 (b:7f37) - TX_FAR _UnnamedText_2ff37 - db $50 -; 0x2ff37 + 5 bytes +GameCornerNoCoinsText: ; 2ff37 (b:7f37) + TX_FAR _GameCornerNoCoinsText + db "@" SECTION "bankC",ROMX,BANK[$C] DodrioPicFront: ; 30000 (c:4000) @@ -48155,6 +48017,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 @@ -48176,10 +48039,8 @@ OldManPic: ; 33e9a (c:7e9a) UnnamedText_33f52: ; 33f52 (c:7f52) TX_FAR _UnnamedText_33f52 - db $50 -; 0x33f52 + 5 bytes + db "@" -; known jump sources: 3f889 (f:7889) Func_33f57: ; 33f57 (c:7f57) ld hl, W_DAMAGE ; $d0d7 xor a @@ -48216,7 +48077,7 @@ Func_33f57: ; 33f57 (c:7f57) ld a, $1 ld [W_MOVEMISSED], a ; $d05f ret -; 33f90 (c:7f90) + SECTION "bankD",ROMX,BANK[$D] BulbasaurPicFront: ; 34000 (d:4000) INCBIN "pic/bmon/bulbasaur.pic" @@ -48336,7 +48197,6 @@ INCBIN "baserom.gbc",$37247,$3724f - $37247 Unknown_3724f: ; 3724f (d:724f) INCBIN "baserom.gbc",$3724f,$37258 - $3724f -; known jump sources: 44bd (1:44bd), 44c8 (1:44c8) LoadScreenTilesFromBuffer18: ; 37258 (d:7258) ld a, d ld bc, Unknown_37247 ; $7247 @@ -48348,7 +48208,6 @@ LoadScreenTilesFromBuffer18: ; 37258 (d:7258) ld d, $0 ld e, $0 -; known jump sources: 37261 (d:7261), 37290 (d:7290), 372c1 (d:72c1) Func_3726a: ; 3726a (d:726a) ld a, [bc] and a @@ -48362,7 +48221,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 @@ -48374,42 +48233,39 @@ 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 -; known jump sources: 3727c (d:727c), 37283 (d:7283), 37295 (d:7295) Func_37292: ; 37292 (d:7292) ld a, [$FF00+$44] cp l 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 -; known jump sources: 4451 (1:4451) 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 jp Func_3726a -; known jump sources: 37289 (d:7289) Func_372c4: ; 372c4 (d:72c4) push de push hl @@ -48426,7 +48282,6 @@ Func_372c4: ; 372c4 (d:72c4) inc e ret -; known jump sources: 137c9 (4:77c9), 3ec42 (f:6c42) Func_372d6: ; 372d6 (d:72d6) call LoadTextBoxTilePatterns FuncCoord 3, 4 ; $c3f3 @@ -48455,65 +48310,930 @@ 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 $50 -; 0x37390 + 5 bytes + 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 - db $50 -; 0x37467 + 5 bytes + db "@" UnnamedText_3746c: ; 3746c (d:746c) TX_FAR _UnnamedText_3746c - db $50 -; 0x3746c + 5 bytes + db "@" UnnamedText_37471: ; 37471 (d:7471) TX_FAR _UnnamedText_37471 - db $50 -; 0x37471 + 5 bytes + db "@" UnnamedText_37476: ; 37476 (d:7476) TX_FAR _UnnamedText_37476 - db $50 -; 0x37476 + 5 bytes + db "@" UnnamedText_3747b: ; 3747b (d:747b) TX_FAR _UnnamedText_3747b - db $50 -; 0x3747b + 5 bytes + db "@" + +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 -INCBIN "baserom.gbc",$37480,$37673 - $37480 +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 $50 -; 0x37673 + 5 bytes + db "@" + +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@" -INCBIN "baserom.gbc",$37678,$37690 - $37678 +SlotReward100Text: ; 37694 (d:7694) + db "100@" -SlotRewardValues: - db "300@100@8@15@" +SlotReward8Text: ; 37698 (d:7698) + db "8@" + +SlotReward15Text: ; 3769a (d:769a) + db "15@" UnnamedText_3769d: ; 3769d (d:769d) TX_FAR _UnnamedText_3769d - db $50 -; 0x3769d + 5 bytes + 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 -SlotMachineMap: ; 378f5 (d:78f5) -INCBIN "gfx/tilemaps/slotmachine.map" +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 -INCBIN "baserom.gbc",$379e5,$37af1 - $379e5 +UnnamedText_37722: ; 37722 (d:7722) + TX_FAR _UnnamedText_37722 + db $0a, "@" -; 0x37af1 +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" + +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 @@ -48521,9 +49241,66 @@ 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 -; known jump sources: 38b3 (0:38b3) _Multiply: ; 37d41 (d:7d41) ld a, $8 ld b, a @@ -48585,7 +49362,6 @@ _Multiply: ; 37d41 (d:7d41) ld [H_DIVIDEND], a ; $FF00+$95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) ret -; known jump sources: 38c6 (0:38c6) _Divide: ; 37da5 (d:7da5) xor a ld [$FF00+$9a], a @@ -48669,194 +49445,233 @@ _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 - db $50 -; 0x37e79 + 5 bytes +GameCornerOutOfOrderText: ; 37e79 (d:7e79) + TX_FAR _GameCornerOutOfOrderText + db "@" -UnnamedText_37e7e: ; 37e7e (d:7e7e) - TX_FAR _UnnamedText_37e7e - db $50 -; 0x37e7e + 5 bytes +GameCornerOutToLunchText: ; 37e7e (d:7e7e) + TX_FAR _GameCornerOutToLunchText + db "@" -UnnamedText_37e83: ; 37e83 (d:7e83) - TX_FAR _UnnamedText_37e83 - db $50 -; 0x37e83 + 5 bytes +GameCornerSomeonesKeysText: ; 37e83 (d:7e83) + TX_FAR _GameCornerSomeonesKeysText + db "@" 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 @@ -48875,7 +49690,7 @@ BulbasaurBaseStats: ; 383de (e:43de) dw BulbasaurPicFront dw BulbasaurPicBack - + ; attacks known at lvl 0 db TACKLE db GROWL @@ -48883,7 +49698,7 @@ BulbasaurBaseStats: ; 383de (e:43de) db 0 db 3 ; growth rate - + ; learnset db %10100100 db %00000011 @@ -48912,7 +49727,7 @@ IvysaurBaseStats: ; 383fa (e:43fa) dw IvysaurPicFront dw IvysaurPicBack - + ; attacks known at lvl 0 db TACKLE db GROWL @@ -48920,7 +49735,7 @@ IvysaurBaseStats: ; 383fa (e:43fa) db 0 db 3 ; growth rate - + ; learnset db %10100100 db %00000011 @@ -48949,7 +49764,7 @@ VenusaurBaseStats: ; 38416 (e:4416) dw VenusaurPicFront dw VenusaurPicBack - + ; attacks known at lvl 0 db TACKLE db GROWL @@ -48957,7 +49772,7 @@ VenusaurBaseStats: ; 38416 (e:4416) db VINE_WHIP db 3 ; growth rate - + ; learnset db %10100100 db %01000011 @@ -48986,7 +49801,7 @@ CharmanderBaseStats: ; 38432 (e:4432) dw CharmanderPicFront dw CharmanderPicBack - + ; attacks known at lvl 0 db SCRATCH db GROWL @@ -48994,7 +49809,7 @@ CharmanderBaseStats: ; 38432 (e:4432) db 0 db 3 ; growth rate - + ; learnset db %10110101 db %00000011 @@ -49023,7 +49838,7 @@ CharmeleonBaseStats: ; 3844e (e:444e) dw CharmeleonPicFront dw CharmeleonPicBack - + ; attacks known at lvl 0 db SCRATCH db GROWL @@ -49031,7 +49846,7 @@ CharmeleonBaseStats: ; 3844e (e:444e) db 0 db 3 ; growth rate - + ; learnset db %10110101 db %00000011 @@ -49060,7 +49875,7 @@ CharizardBaseStats: ; 3846a (e:446a) dw CharizardPicFront dw CharizardPicBack - + ; attacks known at lvl 0 db SCRATCH db GROWL @@ -49068,7 +49883,7 @@ CharizardBaseStats: ; 3846a (e:446a) db LEER db 3 ; growth rate - + ; learnset db %10110101 db %01000011 @@ -49097,7 +49912,7 @@ SquirtleBaseStats: ; 38486 (e:4486) dw SquirtlePicFront dw SquirtlePicBack - + ; attacks known at lvl 0 db TACKLE db TAIL_WHIP @@ -49105,7 +49920,7 @@ SquirtleBaseStats: ; 38486 (e:4486) db 0 db 3 ; growth rate - + ; learnset db %10110001 db %00111111 @@ -49134,7 +49949,7 @@ WartortleBaseStats: ; 384a2 (e:44a2) dw WartortlePicFront dw WartortlePicBack - + ; attacks known at lvl 0 db TACKLE db TAIL_WHIP @@ -49142,7 +49957,7 @@ WartortleBaseStats: ; 384a2 (e:44a2) db 0 db 3 ; growth rate - + ; learnset db %10110001 db %00111111 @@ -49171,7 +49986,7 @@ BlastoiseBaseStats: ; 384be (e:44be) dw BlastoisePicFront dw BlastoisePicBack - + ; attacks known at lvl 0 db TACKLE db TAIL_WHIP @@ -49179,7 +49994,7 @@ BlastoiseBaseStats: ; 384be (e:44be) db WATER_GUN db 3 ; growth rate - + ; learnset db %10110001 db %01111111 @@ -49208,7 +50023,7 @@ CaterpieBaseStats: ; 384da (e:44da) dw CaterpiePicFront dw CaterpiePicBack - + ; attacks known at lvl 0 db TACKLE db STRING_SHOT @@ -49216,7 +50031,7 @@ CaterpieBaseStats: ; 384da (e:44da) db 0 db 0 ; growth rate - + ; learnset db %00000000 db %00000000 @@ -49245,7 +50060,7 @@ MetapodBaseStats: ; 384f6 (e:44f6) dw MetapodPicFront dw MetapodPicBack - + ; attacks known at lvl 0 db HARDEN db 0 @@ -49253,7 +50068,7 @@ MetapodBaseStats: ; 384f6 (e:44f6) db 0 db 0 ; growth rate - + ; learnset db %00000000 db %00000000 @@ -49282,7 +50097,7 @@ ButterfreeBaseStats: ; 38512 (e:4512) dw ButterfreePicFront dw ButterfreePicBack - + ; attacks known at lvl 0 db CONFUSION db 0 @@ -49290,7 +50105,7 @@ ButterfreeBaseStats: ; 38512 (e:4512) db 0 db 0 ; growth rate - + ; learnset db %00101010 db %01000011 @@ -49319,7 +50134,7 @@ WeedleBaseStats: ; 3852e (e:452e) dw WeedlePicFront dw WeedlePicBack - + ; attacks known at lvl 0 db POISON_STING db STRING_SHOT @@ -49327,7 +50142,7 @@ WeedleBaseStats: ; 3852e (e:452e) db 0 db 0 ; growth rate - + ; learnset db %00000000 db %00000000 @@ -49356,7 +50171,7 @@ KakunaBaseStats: ; 3854a (e:454a) dw KakunaPicFront dw KakunaPicBack - + ; attacks known at lvl 0 db HARDEN db 0 @@ -49364,7 +50179,7 @@ KakunaBaseStats: ; 3854a (e:454a) db 0 db 0 ; growth rate - + ; learnset db %00000000 db %00000000 @@ -49393,7 +50208,7 @@ BeedrillBaseStats: ; 38566 (e:4566) dw BeedrillPicFront dw BeedrillPicBack - + ; attacks known at lvl 0 db FURY_ATTACK db 0 @@ -49401,7 +50216,7 @@ BeedrillBaseStats: ; 38566 (e:4566) db 0 db 0 ; growth rate - + ; learnset db %00100100 db %01000011 @@ -49430,7 +50245,7 @@ PidgeyBaseStats: ; 38582 (e:4582) dw PidgeyPicFront dw PidgeyPicBack - + ; attacks known at lvl 0 db GUST db 0 @@ -49438,7 +50253,7 @@ PidgeyBaseStats: ; 38582 (e:4582) db 0 db 3 ; growth rate - + ; learnset db %00101010 db %00000011 @@ -49467,7 +50282,7 @@ PidgeottoBaseStats: ; 3859e (e:459e) dw PidgeottoPicFront dw PidgeottoPicBack - + ; attacks known at lvl 0 db GUST db SAND_ATTACK @@ -49475,7 +50290,7 @@ PidgeottoBaseStats: ; 3859e (e:459e) db 0 db 3 ; growth rate - + ; learnset db %00101010 db %00000011 @@ -49504,7 +50319,7 @@ PidgeotBaseStats: ; 385ba (e:45ba) dw PidgeotPicFront dw PidgeotPicBack - + ; attacks known at lvl 0 db GUST db SAND_ATTACK @@ -49512,7 +50327,7 @@ PidgeotBaseStats: ; 385ba (e:45ba) db 0 db 3 ; growth rate - + ; learnset db %00101010 db %01000011 @@ -49541,7 +50356,7 @@ RattataBaseStats: ; 385d6 (e:45d6) dw RattataPicFront dw RattataPicBack - + ; attacks known at lvl 0 db TACKLE db TAIL_WHIP @@ -49549,7 +50364,7 @@ RattataBaseStats: ; 385d6 (e:45d6) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %00101111 @@ -49578,7 +50393,7 @@ RaticateBaseStats: ; 385f2 (e:45f2) dw RaticatePicFront dw RaticatePicBack - + ; attacks known at lvl 0 db TACKLE db TAIL_WHIP @@ -49586,7 +50401,7 @@ RaticateBaseStats: ; 385f2 (e:45f2) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %01111111 @@ -49615,7 +50430,7 @@ SpearowBaseStats: ; 3860e (e:460e) dw SpearowPicFront dw SpearowPicBack - + ; attacks known at lvl 0 db PECK db GROWL @@ -49623,7 +50438,7 @@ SpearowBaseStats: ; 3860e (e:460e) db 0 db 0 ; growth rate - + ; learnset db %00101010 db %00000011 @@ -49652,7 +50467,7 @@ FearowBaseStats: ; 3862a (e:462a) dw FearowPicFront dw FearowPicBack - + ; attacks known at lvl 0 db PECK db GROWL @@ -49660,7 +50475,7 @@ FearowBaseStats: ; 3862a (e:462a) db 0 db 0 ; growth rate - + ; learnset db %00101010 db %01000011 @@ -49689,7 +50504,7 @@ EkansBaseStats: ; 38646 (e:4646) dw EkansPicFront dw EkansPicBack - + ; attacks known at lvl 0 db WRAP db LEER @@ -49697,7 +50512,7 @@ EkansBaseStats: ; 38646 (e:4646) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %00000011 @@ -49726,7 +50541,7 @@ ArbokBaseStats: ; 38662 (e:4662) dw ArbokPicFront dw ArbokPicBack - + ; attacks known at lvl 0 db WRAP db LEER @@ -49734,7 +50549,7 @@ ArbokBaseStats: ; 38662 (e:4662) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %01000011 @@ -49763,7 +50578,7 @@ PikachuBaseStats: ; 3867e (e:467e) dw PikachuPicFront dw PikachuPicBack - + ; attacks known at lvl 0 db THUNDERSHOCK db GROWL @@ -49771,7 +50586,7 @@ PikachuBaseStats: ; 3867e (e:467e) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %10000011 @@ -49800,7 +50615,7 @@ RaichuBaseStats: ; 3869a (e:469a) dw RaichuPicFront dw RaichuPicBack - + ; attacks known at lvl 0 db THUNDERSHOCK db GROWL @@ -49808,7 +50623,7 @@ RaichuBaseStats: ; 3869a (e:469a) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %11000011 @@ -49837,7 +50652,7 @@ SandshrewBaseStats: ; 386b6 (e:46b6) dw SandshrewPicFront dw SandshrewPicBack - + ; attacks known at lvl 0 db SCRATCH db 0 @@ -49845,7 +50660,7 @@ SandshrewBaseStats: ; 386b6 (e:46b6) db 0 db 0 ; growth rate - + ; learnset db %10100100 db %00000011 @@ -49874,7 +50689,7 @@ SandslashBaseStats: ; 386d2 (e:46d2) dw SandslashPicFront dw SandslashPicBack - + ; attacks known at lvl 0 db SCRATCH db SAND_ATTACK @@ -49882,7 +50697,7 @@ SandslashBaseStats: ; 386d2 (e:46d2) db 0 db 0 ; growth rate - + ; learnset db %10100100 db %01000011 @@ -49911,7 +50726,7 @@ NidoranFBaseStats: ; 386ee (e:46ee) dw NidoranFPicFront dw NidoranFPicBack - + ; attacks known at lvl 0 db GROWL db TACKLE @@ -49919,7 +50734,7 @@ NidoranFBaseStats: ; 386ee (e:46ee) db 0 db 3 ; growth rate - + ; learnset db %10100000 db %00100011 @@ -49948,7 +50763,7 @@ NidorinaBaseStats: ; 3870a (e:470a) dw NidorinaPicFront dw NidorinaPicBack - + ; attacks known at lvl 0 db GROWL db TACKLE @@ -49956,7 +50771,7 @@ NidorinaBaseStats: ; 3870a (e:470a) db 0 db 3 ; growth rate - + ; learnset db %11100000 db %00111111 @@ -49985,7 +50800,7 @@ NidoqueenBaseStats: ; 38726 (e:4726) dw NidoqueenPicFront dw NidoqueenPicBack - + ; attacks known at lvl 0 db TACKLE db SCRATCH @@ -49993,7 +50808,7 @@ NidoqueenBaseStats: ; 38726 (e:4726) db BODY_SLAM db 3 ; growth rate - + ; learnset db %11110001 db %11111111 @@ -50022,7 +50837,7 @@ NidoranMBaseStats: ; 38742 (e:4742) dw NidoranMPicFront dw NidoranMPicBack - + ; attacks known at lvl 0 db LEER db TACKLE @@ -50030,7 +50845,7 @@ NidoranMBaseStats: ; 38742 (e:4742) db 0 db 3 ; growth rate - + ; learnset db %11100000 db %00100011 @@ -50059,7 +50874,7 @@ NidorinoBaseStats: ; 3875e (e:475e) dw NidorinoPicFront dw NidorinoPicBack - + ; attacks known at lvl 0 db LEER db TACKLE @@ -50067,7 +50882,7 @@ NidorinoBaseStats: ; 3875e (e:475e) db 0 db 3 ; growth rate - + ; learnset db %11100000 db %00111111 @@ -50096,7 +50911,7 @@ NidokingBaseStats: ; 3877a (e:477a) dw NidokingPicFront dw NidokingPicBack - + ; attacks known at lvl 0 db TACKLE db HORN_ATTACK @@ -50104,7 +50919,7 @@ NidokingBaseStats: ; 3877a (e:477a) db THRASH db 3 ; growth rate - + ; learnset db %11110001 db %11111111 @@ -50133,7 +50948,7 @@ ClefairyBaseStats: ; 38796 (e:4796) dw ClefairyPicFront dw ClefairyPicBack - + ; attacks known at lvl 0 db POUND db GROWL @@ -50141,7 +50956,7 @@ ClefairyBaseStats: ; 38796 (e:4796) db 0 db 4 ; growth rate - + ; learnset db %10110001 db %00111111 @@ -50170,7 +50985,7 @@ ClefableBaseStats: ; 387b2 (e:47b2) dw ClefablePicFront dw ClefablePicBack - + ; attacks known at lvl 0 db SING db DOUBLESLAP @@ -50178,7 +50993,7 @@ ClefableBaseStats: ; 387b2 (e:47b2) db METRONOME db 4 ; growth rate - + ; learnset db %10110001 db %01111111 @@ -50207,7 +51022,7 @@ VulpixBaseStats: ; 387ce (e:47ce) dw VulpixPicFront dw VulpixPicBack - + ; attacks known at lvl 0 db EMBER db TAIL_WHIP @@ -50215,7 +51030,7 @@ VulpixBaseStats: ; 387ce (e:47ce) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %00000011 @@ -50244,7 +51059,7 @@ NinetalesBaseStats: ; 387ea (e:47ea) dw NinetalesPicFront dw NinetalesPicBack - + ; attacks known at lvl 0 db EMBER db TAIL_WHIP @@ -50252,7 +51067,7 @@ NinetalesBaseStats: ; 387ea (e:47ea) db ROAR db 0 ; growth rate - + ; learnset db %10100000 db %01000011 @@ -50281,7 +51096,7 @@ JigglypuffBaseStats: ; 38806 (e:4806) dw JigglypuffPicFront dw JigglypuffPicBack - + ; attacks known at lvl 0 db SING db 0 @@ -50289,7 +51104,7 @@ JigglypuffBaseStats: ; 38806 (e:4806) db 0 db 4 ; growth rate - + ; learnset db %10110001 db %00111111 @@ -50318,7 +51133,7 @@ WigglytuffBaseStats: ; 38822 (e:4822) dw WigglytuffPicFront dw WigglytuffPicBack - + ; attacks known at lvl 0 db SING db DISABLE @@ -50326,7 +51141,7 @@ WigglytuffBaseStats: ; 38822 (e:4822) db DOUBLESLAP db 4 ; growth rate - + ; learnset db %10110001 db %01111111 @@ -50355,7 +51170,7 @@ ZubatBaseStats: ; 3883e (e:483e) dw ZubatPicFront dw ZubatPicBack - + ; attacks known at lvl 0 db LEECH_LIFE db 0 @@ -50363,7 +51178,7 @@ ZubatBaseStats: ; 3883e (e:483e) db 0 db 0 ; growth rate - + ; learnset db %00101010 db %00000011 @@ -50392,7 +51207,7 @@ GolbatBaseStats: ; 3885a (e:485a) dw GolbatPicFront dw GolbatPicBack - + ; attacks known at lvl 0 db LEECH_LIFE db SCREECH @@ -50400,7 +51215,7 @@ GolbatBaseStats: ; 3885a (e:485a) db 0 db 0 ; growth rate - + ; learnset db %00101010 db %01000011 @@ -50429,7 +51244,7 @@ OddishBaseStats: ; 38876 (e:4876) dw OddishPicFront dw OddishPicBack - + ; attacks known at lvl 0 db ABSORB db 0 @@ -50437,7 +51252,7 @@ OddishBaseStats: ; 38876 (e:4876) db 0 db 3 ; growth rate - + ; learnset db %00100100 db %00000011 @@ -50466,7 +51281,7 @@ GloomBaseStats: ; 38892 (e:4892) dw GloomPicFront dw GloomPicBack - + ; attacks known at lvl 0 db ABSORB db POISONPOWDER @@ -50474,7 +51289,7 @@ GloomBaseStats: ; 38892 (e:4892) db 0 db 3 ; growth rate - + ; learnset db %00100100 db %00000011 @@ -50503,7 +51318,7 @@ VileplumeBaseStats: ; 388ae (e:48ae) dw VileplumePicFront dw VileplumePicBack - + ; attacks known at lvl 0 db STUN_SPORE db SLEEP_POWDER @@ -50511,7 +51326,7 @@ VileplumeBaseStats: ; 388ae (e:48ae) db PETAL_DANCE db 3 ; growth rate - + ; learnset db %10100100 db %01000011 @@ -50540,7 +51355,7 @@ ParasBaseStats: ; 388ca (e:48ca) dw ParasPicFront dw ParasPicBack - + ; attacks known at lvl 0 db SCRATCH db 0 @@ -50548,7 +51363,7 @@ ParasBaseStats: ; 388ca (e:48ca) db 0 db 0 ; growth rate - + ; learnset db %10100100 db %00000011 @@ -50577,7 +51392,7 @@ ParasectBaseStats: ; 388e6 (e:48e6) dw ParasectPicFront dw ParasectPicBack - + ; attacks known at lvl 0 db SCRATCH db STUN_SPORE @@ -50585,7 +51400,7 @@ ParasectBaseStats: ; 388e6 (e:48e6) db 0 db 0 ; growth rate - + ; learnset db %10100100 db %01000011 @@ -50614,7 +51429,7 @@ VenonatBaseStats: ; 38902 (e:4902) dw VenonatPicFront dw VenonatPicBack - + ; attacks known at lvl 0 db TACKLE db DISABLE @@ -50622,7 +51437,7 @@ VenonatBaseStats: ; 38902 (e:4902) db 0 db 0 ; growth rate - + ; learnset db %00100000 db %00000011 @@ -50651,7 +51466,7 @@ VenomothBaseStats: ; 3891e (e:491e) dw VenomothPicFront dw VenomothPicBack - + ; attacks known at lvl 0 db TACKLE db DISABLE @@ -50659,7 +51474,7 @@ VenomothBaseStats: ; 3891e (e:491e) db LEECH_LIFE db 0 ; growth rate - + ; learnset db %00101010 db %01000011 @@ -50688,7 +51503,7 @@ DiglettBaseStats: ; 3893a (e:493a) dw DiglettPicFront dw DiglettPicBack - + ; attacks known at lvl 0 db SCRATCH db 0 @@ -50696,7 +51511,7 @@ DiglettBaseStats: ; 3893a (e:493a) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %00000011 @@ -50725,7 +51540,7 @@ DugtrioBaseStats: ; 38956 (e:4956) dw DugtrioPicFront dw DugtrioPicBack - + ; attacks known at lvl 0 db SCRATCH db GROWL @@ -50733,7 +51548,7 @@ DugtrioBaseStats: ; 38956 (e:4956) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %01000011 @@ -50762,7 +51577,7 @@ MeowthBaseStats: ; 38972 (e:4972) dw MeowthPicFront dw MeowthPicBack - + ; attacks known at lvl 0 db SCRATCH db GROWL @@ -50770,7 +51585,7 @@ MeowthBaseStats: ; 38972 (e:4972) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %10001111 @@ -50799,7 +51614,7 @@ PersianBaseStats: ; 3898e (e:498e) dw PersianPicFront dw PersianPicBack - + ; attacks known at lvl 0 db SCRATCH db GROWL @@ -50807,7 +51622,7 @@ PersianBaseStats: ; 3898e (e:498e) db SCREECH db 0 ; growth rate - + ; learnset db %10100000 db %11001111 @@ -50836,7 +51651,7 @@ PsyduckBaseStats: ; 389aa (e:49aa) dw PsyduckPicFront dw PsyduckPicBack - + ; attacks known at lvl 0 db SCRATCH db 0 @@ -50844,7 +51659,7 @@ PsyduckBaseStats: ; 389aa (e:49aa) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %10111111 @@ -50873,7 +51688,7 @@ GolduckBaseStats: ; 389c6 (e:49c6) dw GolduckPicFront dw GolduckPicBack - + ; attacks known at lvl 0 db SCRATCH db TAIL_WHIP @@ -50881,7 +51696,7 @@ GolduckBaseStats: ; 389c6 (e:49c6) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %11111111 @@ -50910,7 +51725,7 @@ MankeyBaseStats: ; 389e2 (e:49e2) dw MankeyPicFront dw MankeyPicBack - + ; attacks known at lvl 0 db SCRATCH db LEER @@ -50918,7 +51733,7 @@ MankeyBaseStats: ; 389e2 (e:49e2) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %10000011 @@ -50947,7 +51762,7 @@ PrimeapeBaseStats: ; 389fe (e:49fe) dw PrimeapePicFront dw PrimeapePicBack - + ; attacks known at lvl 0 db SCRATCH db LEER @@ -50955,7 +51770,7 @@ PrimeapeBaseStats: ; 389fe (e:49fe) db FURY_SWIPES db 0 ; growth rate - + ; learnset db %10110001 db %11000011 @@ -50984,7 +51799,7 @@ GrowlitheBaseStats: ; 38a1a (e:4a1a) dw GrowlithePicFront dw GrowlithePicBack - + ; attacks known at lvl 0 db BITE db ROAR @@ -50992,7 +51807,7 @@ GrowlitheBaseStats: ; 38a1a (e:4a1a) db 0 db 5 ; growth rate - + ; learnset db %10100000 db %00000011 @@ -51021,7 +51836,7 @@ ArcanineBaseStats: ; 38a36 (e:4a36) dw ArcaninePicFront dw ArcaninePicBack - + ; attacks known at lvl 0 db ROAR db EMBER @@ -51029,7 +51844,7 @@ ArcanineBaseStats: ; 38a36 (e:4a36) db TAKE_DOWN db 5 ; growth rate - + ; learnset db %10100000 db %01000011 @@ -51058,7 +51873,7 @@ PoliwagBaseStats: ; 38a52 (e:4a52) dw PoliwagPicFront dw PoliwagPicBack - + ; attacks known at lvl 0 db BUBBLE db 0 @@ -51066,7 +51881,7 @@ PoliwagBaseStats: ; 38a52 (e:4a52) db 0 db 3 ; growth rate - + ; learnset db %10100000 db %00111111 @@ -51095,7 +51910,7 @@ PoliwhirlBaseStats: ; 38a6e (e:4a6e) dw PoliwhirlPicFront dw PoliwhirlPicBack - + ; attacks known at lvl 0 db BUBBLE db HYPNOSIS @@ -51103,7 +51918,7 @@ PoliwhirlBaseStats: ; 38a6e (e:4a6e) db 0 db 3 ; growth rate - + ; learnset db %10110001 db %00111111 @@ -51132,7 +51947,7 @@ PoliwrathBaseStats: ; 38a8a (e:4a8a) dw PoliwrathPicFront dw PoliwrathPicBack - + ; attacks known at lvl 0 db HYPNOSIS db WATER_GUN @@ -51140,7 +51955,7 @@ PoliwrathBaseStats: ; 38a8a (e:4a8a) db BODY_SLAM db 3 ; growth rate - + ; learnset db %10110001 db %01111111 @@ -51169,7 +51984,7 @@ AbraBaseStats: ; 38aa6 (e:4aa6) dw AbraPicFront dw AbraPicBack - + ; attacks known at lvl 0 db TELEPORT db 0 @@ -51177,7 +51992,7 @@ AbraBaseStats: ; 38aa6 (e:4aa6) db 0 db 3 ; growth rate - + ; learnset db %10110001 db %00000011 @@ -51206,7 +52021,7 @@ KadabraBaseStats: ; 38ac2 (e:4ac2) dw KadabraPicFront dw KadabraPicBack - + ; attacks known at lvl 0 db TELEPORT db CONFUSION @@ -51214,7 +52029,7 @@ KadabraBaseStats: ; 38ac2 (e:4ac2) db 0 db 3 ; growth rate - + ; learnset db %10110001 db %00000011 @@ -51243,7 +52058,7 @@ AlakazamBaseStats: ; 38ade (e:4ade) dw AlakazamPicFront dw AlakazamPicBack - + ; attacks known at lvl 0 db TELEPORT db CONFUSION @@ -51251,7 +52066,7 @@ AlakazamBaseStats: ; 38ade (e:4ade) db 0 db 3 ; growth rate - + ; learnset db %10110001 db %01000011 @@ -51280,7 +52095,7 @@ MachopBaseStats: ; 38afa (e:4afa) dw MachopPicFront dw MachopPicBack - + ; attacks known at lvl 0 db KARATE_CHOP db 0 @@ -51288,7 +52103,7 @@ MachopBaseStats: ; 38afa (e:4afa) db 0 db 3 ; growth rate - + ; learnset db %10110001 db %00000011 @@ -51317,7 +52132,7 @@ MachokeBaseStats: ; 38b16 (e:4b16) dw MachokePicFront dw MachokePicBack - + ; attacks known at lvl 0 db KARATE_CHOP db LOW_KICK @@ -51325,7 +52140,7 @@ MachokeBaseStats: ; 38b16 (e:4b16) db 0 db 3 ; growth rate - + ; learnset db %10110001 db %00000011 @@ -51354,7 +52169,7 @@ MachampBaseStats: ; 38b32 (e:4b32) dw MachampPicFront dw MachampPicBack - + ; attacks known at lvl 0 db KARATE_CHOP db LOW_KICK @@ -51362,7 +52177,7 @@ MachampBaseStats: ; 38b32 (e:4b32) db 0 db 3 ; growth rate - + ; learnset db %10110001 db %01000011 @@ -51391,7 +52206,7 @@ BellsproutBaseStats: ; 38b4e (e:4b4e) dw BellsproutPicFront dw BellsproutPicBack - + ; attacks known at lvl 0 db VINE_WHIP db GROWTH @@ -51399,7 +52214,7 @@ BellsproutBaseStats: ; 38b4e (e:4b4e) db 0 db 3 ; growth rate - + ; learnset db %00100100 db %00000011 @@ -51428,7 +52243,7 @@ WeepinbellBaseStats: ; 38b6a (e:4b6a) dw WeepinbellPicFront dw WeepinbellPicBack - + ; attacks known at lvl 0 db VINE_WHIP db GROWTH @@ -51436,7 +52251,7 @@ WeepinbellBaseStats: ; 38b6a (e:4b6a) db 0 db 3 ; growth rate - + ; learnset db %00100100 db %00000011 @@ -51465,7 +52280,7 @@ VictreebelBaseStats: ; 38b86 (e:4b86) dw VictreebelPicFront dw VictreebelPicBack - + ; attacks known at lvl 0 db SLEEP_POWDER db STUN_SPORE @@ -51473,7 +52288,7 @@ VictreebelBaseStats: ; 38b86 (e:4b86) db RAZOR_LEAF db 3 ; growth rate - + ; learnset db %10100100 db %01000011 @@ -51502,7 +52317,7 @@ TentacoolBaseStats: ; 38ba2 (e:4ba2) dw TentacoolPicFront dw TentacoolPicBack - + ; attacks known at lvl 0 db ACID db 0 @@ -51510,7 +52325,7 @@ TentacoolBaseStats: ; 38ba2 (e:4ba2) db 0 db 5 ; growth rate - + ; learnset db %00100100 db %00111111 @@ -51539,7 +52354,7 @@ TentacruelBaseStats: ; 38bbe (e:4bbe) dw TentacruelPicFront dw TentacruelPicBack - + ; attacks known at lvl 0 db ACID db SUPERSONIC @@ -51547,7 +52362,7 @@ TentacruelBaseStats: ; 38bbe (e:4bbe) db 0 db 5 ; growth rate - + ; learnset db %00100100 db %01111111 @@ -51576,7 +52391,7 @@ GeodudeBaseStats: ; 38bda (e:4bda) dw GeodudePicFront dw GeodudePicBack - + ; attacks known at lvl 0 db TACKLE db 0 @@ -51584,7 +52399,7 @@ GeodudeBaseStats: ; 38bda (e:4bda) db 0 db 3 ; growth rate - + ; learnset db %10100001 db %00000011 @@ -51613,7 +52428,7 @@ GravelerBaseStats: ; 38bf6 (e:4bf6) dw GravelerPicFront dw GravelerPicBack - + ; attacks known at lvl 0 db TACKLE db DEFENSE_CURL @@ -51621,7 +52436,7 @@ GravelerBaseStats: ; 38bf6 (e:4bf6) db 0 db 3 ; growth rate - + ; learnset db %10100001 db %00000011 @@ -51650,7 +52465,7 @@ GolemBaseStats: ; 38c12 (e:4c12) dw GolemPicFront dw GolemPicBack - + ; attacks known at lvl 0 db TACKLE db DEFENSE_CURL @@ -51658,7 +52473,7 @@ GolemBaseStats: ; 38c12 (e:4c12) db 0 db 3 ; growth rate - + ; learnset db %10110001 db %01000011 @@ -51687,7 +52502,7 @@ PonytaBaseStats: ; 38c2e (e:4c2e) dw PonytaPicFront dw PonytaPicBack - + ; attacks known at lvl 0 db EMBER db 0 @@ -51695,7 +52510,7 @@ PonytaBaseStats: ; 38c2e (e:4c2e) db 0 db 0 ; growth rate - + ; learnset db %11100000 db %00000011 @@ -51724,7 +52539,7 @@ RapidashBaseStats: ; 38c4a (e:4c4a) dw RapidashPicFront dw RapidashPicBack - + ; attacks known at lvl 0 db EMBER db TAIL_WHIP @@ -51732,7 +52547,7 @@ RapidashBaseStats: ; 38c4a (e:4c4a) db GROWL db 0 ; growth rate - + ; learnset db %11100000 db %01000011 @@ -51761,7 +52576,7 @@ SlowpokeBaseStats: ; 38c66 (e:4c66) dw SlowpokePicFront dw SlowpokePicBack - + ; attacks known at lvl 0 db CONFUSION db 0 @@ -51769,7 +52584,7 @@ SlowpokeBaseStats: ; 38c66 (e:4c66) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %10111111 @@ -51798,7 +52613,7 @@ SlowbroBaseStats: ; 38c82 (e:4c82) dw SlowbroPicFront dw SlowbroPicBack - + ; attacks known at lvl 0 db CONFUSION db DISABLE @@ -51806,7 +52621,7 @@ SlowbroBaseStats: ; 38c82 (e:4c82) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %11111111 @@ -51835,7 +52650,7 @@ MagnemiteBaseStats: ; 38c9e (e:4c9e) dw MagnemitePicFront dw MagnemitePicBack - + ; attacks known at lvl 0 db TACKLE db 0 @@ -51843,7 +52658,7 @@ MagnemiteBaseStats: ; 38c9e (e:4c9e) db 0 db 0 ; growth rate - + ; learnset db %00100000 db %00000011 @@ -51872,7 +52687,7 @@ MagnetonBaseStats: ; 38cba (e:4cba) dw MagnetonPicFront dw MagnetonPicBack - + ; attacks known at lvl 0 db TACKLE db SONICBOOM @@ -51880,7 +52695,7 @@ MagnetonBaseStats: ; 38cba (e:4cba) db 0 db 0 ; growth rate - + ; learnset db %00100000 db %01000011 @@ -51909,7 +52724,7 @@ FarfetchdBaseStats: ; 38cd6 (e:4cd6) dw FarfetchdPicFront dw FarfetchdPicBack - + ; attacks known at lvl 0 db PECK db SAND_ATTACK @@ -51917,7 +52732,7 @@ FarfetchdBaseStats: ; 38cd6 (e:4cd6) db 0 db 0 ; growth rate - + ; learnset db %10101110 db %00000011 @@ -51946,7 +52761,7 @@ DoduoBaseStats: ; 38cf2 (e:4cf2) dw DoduoPicFront dw DoduoPicBack - + ; attacks known at lvl 0 db PECK db 0 @@ -51954,7 +52769,7 @@ DoduoBaseStats: ; 38cf2 (e:4cf2) db 0 db 0 ; growth rate - + ; learnset db %10101000 db %00000011 @@ -51983,7 +52798,7 @@ DodrioBaseStats: ; 38d0e (e:4d0e) dw DodrioPicFront dw DodrioPicBack - + ; attacks known at lvl 0 db PECK db GROWL @@ -51991,7 +52806,7 @@ DodrioBaseStats: ; 38d0e (e:4d0e) db 0 db 0 ; growth rate - + ; learnset db %10101000 db %01000011 @@ -52020,7 +52835,7 @@ SeelBaseStats: ; 38d2a (e:4d2a) dw SeelPicFront dw SeelPicBack - + ; attacks known at lvl 0 db HEADBUTT db 0 @@ -52028,7 +52843,7 @@ SeelBaseStats: ; 38d2a (e:4d2a) db 0 db 0 ; growth rate - + ; learnset db %11100000 db %10111111 @@ -52057,7 +52872,7 @@ DewgongBaseStats: ; 38d46 (e:4d46) dw DewgongPicFront dw DewgongPicBack - + ; attacks known at lvl 0 db HEADBUTT db GROWL @@ -52065,7 +52880,7 @@ DewgongBaseStats: ; 38d46 (e:4d46) db 0 db 0 ; growth rate - + ; learnset db %11100000 db %11111111 @@ -52094,7 +52909,7 @@ GrimerBaseStats: ; 38d62 (e:4d62) dw GrimerPicFront dw GrimerPicBack - + ; attacks known at lvl 0 db POUND db DISABLE @@ -52102,7 +52917,7 @@ GrimerBaseStats: ; 38d62 (e:4d62) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %00000000 @@ -52131,7 +52946,7 @@ MukBaseStats: ; 38d7e (e:4d7e) dw MukPicFront dw MukPicBack - + ; attacks known at lvl 0 db POUND db DISABLE @@ -52139,7 +52954,7 @@ MukBaseStats: ; 38d7e (e:4d7e) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %01000000 @@ -52168,7 +52983,7 @@ ShellderBaseStats: ; 38d9a (e:4d9a) dw ShellderPicFront dw ShellderPicBack - + ; attacks known at lvl 0 db TACKLE db WITHDRAW @@ -52176,7 +52991,7 @@ ShellderBaseStats: ; 38d9a (e:4d9a) db 0 db 5 ; growth rate - + ; learnset db %00100000 db %00111111 @@ -52205,7 +53020,7 @@ CloysterBaseStats: ; 38db6 (e:4db6) dw CloysterPicFront dw CloysterPicBack - + ; attacks known at lvl 0 db WITHDRAW db SUPERSONIC @@ -52213,7 +53028,7 @@ CloysterBaseStats: ; 38db6 (e:4db6) db AURORA_BEAM db 5 ; growth rate - + ; learnset db %00100000 db %01111111 @@ -52242,7 +53057,7 @@ GastlyBaseStats: ; 38dd2 (e:4dd2) dw GastlyPicFront dw GastlyPicBack - + ; attacks known at lvl 0 db LICK db CONFUSE_RAY @@ -52250,7 +53065,7 @@ GastlyBaseStats: ; 38dd2 (e:4dd2) db 0 db 3 ; growth rate - + ; learnset db %00100000 db %00000000 @@ -52279,7 +53094,7 @@ HaunterBaseStats: ; 38dee (e:4dee) dw HaunterPicFront dw HaunterPicBack - + ; attacks known at lvl 0 db LICK db CONFUSE_RAY @@ -52287,7 +53102,7 @@ HaunterBaseStats: ; 38dee (e:4dee) db 0 db 3 ; growth rate - + ; learnset db %00100000 db %00000000 @@ -52316,7 +53131,7 @@ GengarBaseStats: ; 38e0a (e:4e0a) dw GengarPicFront dw GengarPicBack - + ; attacks known at lvl 0 db LICK db CONFUSE_RAY @@ -52324,7 +53139,7 @@ GengarBaseStats: ; 38e0a (e:4e0a) db 0 db 3 ; growth rate - + ; learnset db %10110001 db %01000011 @@ -52353,7 +53168,7 @@ OnixBaseStats: ; 38e26 (e:4e26) dw OnixPicFront dw OnixPicBack - + ; attacks known at lvl 0 db TACKLE db SCREECH @@ -52361,7 +53176,7 @@ OnixBaseStats: ; 38e26 (e:4e26) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %00000011 @@ -52390,7 +53205,7 @@ DrowzeeBaseStats: ; 38e42 (e:4e42) dw DrowzeePicFront dw DrowzeePicBack - + ; attacks known at lvl 0 db POUND db HYPNOSIS @@ -52398,7 +53213,7 @@ DrowzeeBaseStats: ; 38e42 (e:4e42) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %00000011 @@ -52427,7 +53242,7 @@ HypnoBaseStats: ; 38e5e (e:4e5e) dw HypnoPicFront dw HypnoPicBack - + ; attacks known at lvl 0 db POUND db HYPNOSIS @@ -52435,7 +53250,7 @@ HypnoBaseStats: ; 38e5e (e:4e5e) db CONFUSION db 0 ; growth rate - + ; learnset db %10110001 db %01000011 @@ -52464,7 +53279,7 @@ KrabbyBaseStats: ; 38e7a (e:4e7a) dw KrabbyPicFront dw KrabbyPicBack - + ; attacks known at lvl 0 db BUBBLE db LEER @@ -52472,7 +53287,7 @@ KrabbyBaseStats: ; 38e7a (e:4e7a) db 0 db 0 ; growth rate - + ; learnset db %10100100 db %00111111 @@ -52501,7 +53316,7 @@ KinglerBaseStats: ; 38e96 (e:4e96) dw KinglerPicFront dw KinglerPicBack - + ; attacks known at lvl 0 db BUBBLE db LEER @@ -52509,7 +53324,7 @@ KinglerBaseStats: ; 38e96 (e:4e96) db 0 db 0 ; growth rate - + ; learnset db %10100100 db %01111111 @@ -52538,7 +53353,7 @@ VoltorbBaseStats: ; 38eb2 (e:4eb2) dw VoltorbPicFront dw VoltorbPicBack - + ; attacks known at lvl 0 db TACKLE db SCREECH @@ -52546,7 +53361,7 @@ VoltorbBaseStats: ; 38eb2 (e:4eb2) db 0 db 0 ; growth rate - + ; learnset db %00100000 db %00000001 @@ -52575,7 +53390,7 @@ ElectrodeBaseStats: ; 38ece (e:4ece) dw ElectrodePicFront dw ElectrodePicBack - + ; attacks known at lvl 0 db TACKLE db SCREECH @@ -52583,7 +53398,7 @@ ElectrodeBaseStats: ; 38ece (e:4ece) db 0 db 0 ; growth rate - + ; learnset db %00100000 db %01000001 @@ -52612,7 +53427,7 @@ ExeggcuteBaseStats: ; 38eea (e:4eea) dw ExeggcutePicFront dw ExeggcutePicBack - + ; attacks known at lvl 0 db BARRAGE db HYPNOSIS @@ -52620,7 +53435,7 @@ ExeggcuteBaseStats: ; 38eea (e:4eea) db 0 db 5 ; growth rate - + ; learnset db %00100000 db %00000011 @@ -52649,7 +53464,7 @@ ExeggutorBaseStats: ; 38f06 (e:4f06) dw ExeggutorPicFront dw ExeggutorPicBack - + ; attacks known at lvl 0 db BARRAGE db HYPNOSIS @@ -52657,7 +53472,7 @@ ExeggutorBaseStats: ; 38f06 (e:4f06) db 0 db 5 ; growth rate - + ; learnset db %00100000 db %01000011 @@ -52686,7 +53501,7 @@ CuboneBaseStats: ; 38f22 (e:4f22) dw CubonePicFront dw CubonePicBack - + ; attacks known at lvl 0 db BONE_CLUB db GROWL @@ -52694,7 +53509,7 @@ CuboneBaseStats: ; 38f22 (e:4f22) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %00111111 @@ -52723,7 +53538,7 @@ MarowakBaseStats: ; 38f3e (e:4f3e) dw MarowakPicFront dw MarowakPicBack - + ; attacks known at lvl 0 db BONE_CLUB db GROWL @@ -52731,7 +53546,7 @@ MarowakBaseStats: ; 38f3e (e:4f3e) db FOCUS_ENERGY db 0 ; growth rate - + ; learnset db %10110001 db %01111111 @@ -52760,7 +53575,7 @@ HitmonleeBaseStats: ; 38f5a (e:4f5a) dw HitmonleePicFront dw HitmonleePicBack - + ; attacks known at lvl 0 db DOUBLE_KICK db MEDITATE @@ -52768,7 +53583,7 @@ HitmonleeBaseStats: ; 38f5a (e:4f5a) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %00000011 @@ -52797,7 +53612,7 @@ HitmonchanBaseStats: ; 38f76 (e:4f76) dw HitmonchanPicFront dw HitmonchanPicBack - + ; attacks known at lvl 0 db COMET_PUNCH db AGILITY @@ -52805,7 +53620,7 @@ HitmonchanBaseStats: ; 38f76 (e:4f76) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %00000011 @@ -52834,7 +53649,7 @@ LickitungBaseStats: ; 38f92 (e:4f92) dw LickitungPicFront dw LickitungPicBack - + ; attacks known at lvl 0 db WRAP db SUPERSONIC @@ -52842,7 +53657,7 @@ LickitungBaseStats: ; 38f92 (e:4f92) db 0 db 0 ; growth rate - + ; learnset db %10110101 db %01111111 @@ -52871,7 +53686,7 @@ KoffingBaseStats: ; 38fae (e:4fae) dw KoffingPicFront dw KoffingPicBack - + ; attacks known at lvl 0 db TACKLE db SMOG @@ -52879,7 +53694,7 @@ KoffingBaseStats: ; 38fae (e:4fae) db 0 db 0 ; growth rate - + ; learnset db %00100000 db %00000000 @@ -52908,7 +53723,7 @@ WeezingBaseStats: ; 38fca (e:4fca) dw WeezingPicFront dw WeezingPicBack - + ; attacks known at lvl 0 db TACKLE db SMOG @@ -52916,7 +53731,7 @@ WeezingBaseStats: ; 38fca (e:4fca) db 0 db 0 ; growth rate - + ; learnset db %00100000 db %01000000 @@ -52945,7 +53760,7 @@ RhyhornBaseStats: ; 38fe6 (e:4fe6) dw RhyhornPicFront dw RhyhornPicBack - + ; attacks known at lvl 0 db HORN_ATTACK db 0 @@ -52953,7 +53768,7 @@ RhyhornBaseStats: ; 38fe6 (e:4fe6) db 0 db 5 ; growth rate - + ; learnset db %11100000 db %00000011 @@ -52982,7 +53797,7 @@ RhydonBaseStats: ; 39002 (e:5002) dw RhydonPicFront dw RhydonPicBack - + ; attacks known at lvl 0 db HORN_ATTACK db STOMP @@ -52990,7 +53805,7 @@ RhydonBaseStats: ; 39002 (e:5002) db FURY_ATTACK db 5 ; growth rate - + ; learnset db %11110001 db %11111111 @@ -53019,7 +53834,7 @@ ChanseyBaseStats: ; 3901e (e:501e) dw ChanseyPicFront dw ChanseyPicBack - + ; attacks known at lvl 0 db POUND db DOUBLESLAP @@ -53027,7 +53842,7 @@ ChanseyBaseStats: ; 3901e (e:501e) db 0 db 4 ; growth rate - + ; learnset db %10110001 db %01111111 @@ -53056,7 +53871,7 @@ TangelaBaseStats: ; 3903a (e:503a) dw TangelaPicFront dw TangelaPicBack - + ; attacks known at lvl 0 db CONSTRICT db BIND @@ -53064,7 +53879,7 @@ TangelaBaseStats: ; 3903a (e:503a) db 0 db 0 ; growth rate - + ; learnset db %10100100 db %01000011 @@ -53093,7 +53908,7 @@ KangaskhanBaseStats: ; 39056 (e:5056) dw KangaskhanPicFront dw KangaskhanPicBack - + ; attacks known at lvl 0 db COMET_PUNCH db RAGE @@ -53101,7 +53916,7 @@ KangaskhanBaseStats: ; 39056 (e:5056) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %01111111 @@ -53130,7 +53945,7 @@ HorseaBaseStats: ; 39072 (e:5072) dw HorseaPicFront dw HorseaPicBack - + ; attacks known at lvl 0 db BUBBLE db 0 @@ -53138,7 +53953,7 @@ HorseaBaseStats: ; 39072 (e:5072) db 0 db 0 ; growth rate - + ; learnset db %00100000 db %00111111 @@ -53167,7 +53982,7 @@ SeadraBaseStats: ; 3908e (e:508e) dw SeadraPicFront dw SeadraPicBack - + ; attacks known at lvl 0 db BUBBLE db SMOKESCREEN @@ -53175,7 +53990,7 @@ SeadraBaseStats: ; 3908e (e:508e) db 0 db 0 ; growth rate - + ; learnset db %00100000 db %01111111 @@ -53204,7 +54019,7 @@ GoldeenBaseStats: ; 390aa (e:50aa) dw GoldeenPicFront dw GoldeenPicBack - + ; attacks known at lvl 0 db PECK db TAIL_WHIP @@ -53212,7 +54027,7 @@ GoldeenBaseStats: ; 390aa (e:50aa) db 0 db 0 ; growth rate - + ; learnset db %01100000 db %00111111 @@ -53241,7 +54056,7 @@ SeakingBaseStats: ; 390c6 (e:50c6) dw SeakingPicFront dw SeakingPicBack - + ; attacks known at lvl 0 db PECK db TAIL_WHIP @@ -53249,7 +54064,7 @@ SeakingBaseStats: ; 390c6 (e:50c6) db 0 db 0 ; growth rate - + ; learnset db %01100000 db %01111111 @@ -53278,7 +54093,7 @@ StaryuBaseStats: ; 390e2 (e:50e2) dw StaryuPicFront dw StaryuPicBack - + ; attacks known at lvl 0 db TACKLE db 0 @@ -53286,7 +54101,7 @@ StaryuBaseStats: ; 390e2 (e:50e2) db 0 db 5 ; growth rate - + ; learnset db %00100000 db %00111111 @@ -53315,7 +54130,7 @@ StarmieBaseStats: ; 390fe (e:50fe) dw StarmiePicFront dw StarmiePicBack - + ; attacks known at lvl 0 db TACKLE db WATER_GUN @@ -53323,7 +54138,7 @@ StarmieBaseStats: ; 390fe (e:50fe) db 0 db 5 ; growth rate - + ; learnset db %00100000 db %01111111 @@ -53352,7 +54167,7 @@ MrMimeBaseStats: ; 3911a (e:511a) dw MrMimePicFront dw MrMimePicBack - + ; attacks known at lvl 0 db CONFUSION db BARRIER @@ -53360,7 +54175,7 @@ MrMimeBaseStats: ; 3911a (e:511a) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %01000011 @@ -53389,7 +54204,7 @@ ScytherBaseStats: ; 39136 (e:5136) dw ScytherPicFront dw ScytherPicBack - + ; attacks known at lvl 0 db QUICK_ATTACK db 0 @@ -53397,7 +54212,7 @@ ScytherBaseStats: ; 39136 (e:5136) db 0 db 0 ; growth rate - + ; learnset db %00100100 db %01000011 @@ -53426,7 +54241,7 @@ JynxBaseStats: ; 39152 (e:5152) dw JynxPicFront dw JynxPicBack - + ; attacks known at lvl 0 db POUND db LOVELY_KISS @@ -53434,7 +54249,7 @@ JynxBaseStats: ; 39152 (e:5152) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %01111111 @@ -53463,7 +54278,7 @@ ElectabuzzBaseStats: ; 3916e (e:516e) dw ElectabuzzPicFront dw ElectabuzzPicBack - + ; attacks known at lvl 0 db QUICK_ATTACK db LEER @@ -53471,7 +54286,7 @@ ElectabuzzBaseStats: ; 3916e (e:516e) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %01000011 @@ -53500,7 +54315,7 @@ MagmarBaseStats: ; 3918a (e:518a) dw MagmarPicFront dw MagmarPicBack - + ; attacks known at lvl 0 db EMBER db 0 @@ -53508,7 +54323,7 @@ MagmarBaseStats: ; 3918a (e:518a) db 0 db 0 ; growth rate - + ; learnset db %10110001 db %01000011 @@ -53537,7 +54352,7 @@ PinsirBaseStats: ; 391a6 (e:51a6) dw PinsirPicFront dw PinsirPicBack - + ; attacks known at lvl 0 db VICEGRIP db 0 @@ -53545,7 +54360,7 @@ PinsirBaseStats: ; 391a6 (e:51a6) db 0 db 5 ; growth rate - + ; learnset db %10100100 db %01000011 @@ -53574,7 +54389,7 @@ TaurosBaseStats: ; 391c2 (e:51c2) dw TaurosPicFront dw TaurosPicBack - + ; attacks known at lvl 0 db TACKLE db 0 @@ -53582,7 +54397,7 @@ TaurosBaseStats: ; 391c2 (e:51c2) db 0 db 5 ; growth rate - + ; learnset db %11100000 db %01110011 @@ -53611,7 +54426,7 @@ MagikarpBaseStats: ; 391de (e:51de) dw MagikarpPicFront dw MagikarpPicBack - + ; attacks known at lvl 0 db SPLASH db 0 @@ -53619,7 +54434,7 @@ MagikarpBaseStats: ; 391de (e:51de) db 0 db 5 ; growth rate - + ; learnset db %00000000 db %00000000 @@ -53648,7 +54463,7 @@ GyaradosBaseStats: ; 391fa (e:51fa) dw GyaradosPicFront dw GyaradosPicBack - + ; attacks known at lvl 0 db BITE db DRAGON_RAGE @@ -53656,7 +54471,7 @@ GyaradosBaseStats: ; 391fa (e:51fa) db HYDRO_PUMP db 5 ; growth rate - + ; learnset db %10100000 db %01111111 @@ -53685,7 +54500,7 @@ LaprasBaseStats: ; 39216 (e:5216) dw LaprasPicFront dw LaprasPicBack - + ; attacks known at lvl 0 db WATER_GUN db GROWL @@ -53693,7 +54508,7 @@ LaprasBaseStats: ; 39216 (e:5216) db 0 db 5 ; growth rate - + ; learnset db %11100000 db %01111111 @@ -53722,7 +54537,7 @@ DittoBaseStats: ; 39232 (e:5232) dw DittoPicFront dw DittoPicBack - + ; attacks known at lvl 0 db TRANSFORM db 0 @@ -53730,7 +54545,7 @@ DittoBaseStats: ; 39232 (e:5232) db 0 db 0 ; growth rate - + ; learnset db %00000000 db %00000000 @@ -53759,7 +54574,7 @@ EeveeBaseStats: ; 3924e (e:524e) dw EeveePicFront dw EeveePicBack - + ; attacks known at lvl 0 db TACKLE db SAND_ATTACK @@ -53767,7 +54582,7 @@ EeveeBaseStats: ; 3924e (e:524e) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %00000011 @@ -53796,7 +54611,7 @@ VaporeonBaseStats: ; 3926a (e:526a) dw VaporeonPicFront dw VaporeonPicBack - + ; attacks known at lvl 0 db TACKLE db SAND_ATTACK @@ -53804,7 +54619,7 @@ VaporeonBaseStats: ; 3926a (e:526a) db WATER_GUN db 0 ; growth rate - + ; learnset db %10100000 db %01111111 @@ -53833,7 +54648,7 @@ JolteonBaseStats: ; 39286 (e:5286) dw JolteonPicFront dw JolteonPicBack - + ; attacks known at lvl 0 db TACKLE db SAND_ATTACK @@ -53841,7 +54656,7 @@ JolteonBaseStats: ; 39286 (e:5286) db THUNDERSHOCK db 0 ; growth rate - + ; learnset db %10100000 db %01000011 @@ -53870,7 +54685,7 @@ FlareonBaseStats: ; 392a2 (e:52a2) dw FlareonPicFront dw FlareonPicBack - + ; attacks known at lvl 0 db TACKLE db SAND_ATTACK @@ -53878,7 +54693,7 @@ FlareonBaseStats: ; 392a2 (e:52a2) db EMBER db 0 ; growth rate - + ; learnset db %10100000 db %01000011 @@ -53907,7 +54722,7 @@ PorygonBaseStats: ; 392be (e:52be) dw PorygonPicFront dw PorygonPicBack - + ; attacks known at lvl 0 db TACKLE db SHARPEN @@ -53915,7 +54730,7 @@ PorygonBaseStats: ; 392be (e:52be) db 0 db 0 ; growth rate - + ; learnset db %00100000 db %01110011 @@ -53944,7 +54759,7 @@ OmanyteBaseStats: ; 392da (e:52da) dw OmanytePicFront dw OmanytePicBack - + ; attacks known at lvl 0 db WATER_GUN db WITHDRAW @@ -53952,7 +54767,7 @@ OmanyteBaseStats: ; 392da (e:52da) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %00111111 @@ -53981,7 +54796,7 @@ OmastarBaseStats: ; 392f6 (e:52f6) dw OmastarPicFront dw OmastarPicBack - + ; attacks known at lvl 0 db WATER_GUN db WITHDRAW @@ -53989,7 +54804,7 @@ OmastarBaseStats: ; 392f6 (e:52f6) db 0 db 0 ; growth rate - + ; learnset db %11100000 db %01111111 @@ -54018,7 +54833,7 @@ KabutoBaseStats: ; 39312 (e:5312) dw KabutoPicFront dw KabutoPicBack - + ; attacks known at lvl 0 db SCRATCH db HARDEN @@ -54026,7 +54841,7 @@ KabutoBaseStats: ; 39312 (e:5312) db 0 db 0 ; growth rate - + ; learnset db %10100000 db %00111111 @@ -54055,7 +54870,7 @@ KabutopsBaseStats: ; 3932e (e:532e) dw KabutopsPicFront dw KabutopsPicBack - + ; attacks known at lvl 0 db SCRATCH db HARDEN @@ -54063,7 +54878,7 @@ KabutopsBaseStats: ; 3932e (e:532e) db 0 db 0 ; growth rate - + ; learnset db %10110110 db %01111111 @@ -54092,7 +54907,7 @@ AerodactylBaseStats: ; 3934a (e:534a) dw AerodactylPicFront dw AerodactylPicBack - + ; attacks known at lvl 0 db WING_ATTACK db AGILITY @@ -54100,7 +54915,7 @@ AerodactylBaseStats: ; 3934a (e:534a) db 0 db 5 ; growth rate - + ; learnset db %00101010 db %01000011 @@ -54129,7 +54944,7 @@ SnorlaxBaseStats: ; 39366 (e:5366) dw SnorlaxPicFront dw SnorlaxPicBack - + ; attacks known at lvl 0 db HEADBUTT db AMNESIA @@ -54137,7 +54952,7 @@ SnorlaxBaseStats: ; 39366 (e:5366) db 0 db 5 ; growth rate - + ; learnset db %10110001 db %11111111 @@ -54166,7 +54981,7 @@ ArticunoBaseStats: ; 39382 (e:5382) dw ArticunoPicFront dw ArticunoPicBack - + ; attacks known at lvl 0 db PECK db ICE_BEAM @@ -54174,7 +54989,7 @@ ArticunoBaseStats: ; 39382 (e:5382) db 0 db 5 ; growth rate - + ; learnset db %00101010 db %01111111 @@ -54203,7 +55018,7 @@ ZapdosBaseStats: ; 3939e (e:539e) dw ZapdosPicFront dw ZapdosPicBack - + ; attacks known at lvl 0 db THUNDERSHOCK db DRILL_PECK @@ -54211,7 +55026,7 @@ ZapdosBaseStats: ; 3939e (e:539e) db 0 db 5 ; growth rate - + ; learnset db %00101010 db %01000011 @@ -54240,7 +55055,7 @@ MoltresBaseStats: ; 393ba (e:53ba) dw MoltresPicFront dw MoltresPicBack - + ; attacks known at lvl 0 db PECK db FIRE_SPIN @@ -54248,7 +55063,7 @@ MoltresBaseStats: ; 393ba (e:53ba) db 0 db 5 ; growth rate - + ; learnset db %00101010 db %01000011 @@ -54277,7 +55092,7 @@ DratiniBaseStats: ; 393d6 (e:53d6) dw DratiniPicFront dw DratiniPicBack - + ; attacks known at lvl 0 db WRAP db LEER @@ -54285,7 +55100,7 @@ DratiniBaseStats: ; 393d6 (e:53d6) db 0 db 5 ; growth rate - + ; learnset db %10100000 db %00111111 @@ -54314,7 +55129,7 @@ DragonairBaseStats: ; 393f2 (e:53f2) dw DragonairPicFront dw DragonairPicBack - + ; attacks known at lvl 0 db WRAP db LEER @@ -54322,7 +55137,7 @@ DragonairBaseStats: ; 393f2 (e:53f2) db 0 db 5 ; growth rate - + ; learnset db %11100000 db %00111111 @@ -54351,7 +55166,7 @@ DragoniteBaseStats: ; 3940e (e:540e) dw DragonitePicFront dw DragonitePicBack - + ; attacks known at lvl 0 db WRAP db LEER @@ -54359,7 +55174,7 @@ DragoniteBaseStats: ; 3940e (e:540e) db AGILITY db 5 ; growth rate - + ; learnset db %11100010 db %01111111 @@ -54388,7 +55203,7 @@ MewtwoBaseStats: ; 3942a (e:542a) dw MewtwoPicFront dw MewtwoPicBack - + ; attacks known at lvl 0 db CONFUSION db DISABLE @@ -54396,7 +55211,7 @@ MewtwoBaseStats: ; 3942a (e:542a) db PSYCHIC_M db 5 ; growth rate - + ; learnset db %10110001 db %11111111 @@ -54601,7 +55416,6 @@ CryData: ; 39446 (e:5446) db $25, $44, $20; Weepinbell db $25, $66, $CC; Victreebel -; known jump sources: 3ed07 (f:6d07) Func_39680: ; 39680 (e:5680) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -54622,7 +55436,6 @@ Func_39680: ; 39680 (e:5680) ret z jr .asm_39694 -; known jump sources: 39696 (e:5696) Func_3969f: ; 3969f (e:569f) ld a, [hl] add a @@ -54632,7 +55445,6 @@ Func_3969f: ; 3969f (e:569f) ld [hli], a ret -; known jump sources: 3ed0f (f:6d0f) Func_396a7: ; 396a7 (e:56a7) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -54653,7 +55465,6 @@ Func_396a7: ; 396a7 (e:56a7) ret z jr .asm_396bb -; known jump sources: 396bd (e:56bd) Func_396c6: ; 396c6 (e:56c6) ld a, [hl] srl a @@ -54666,7 +55477,6 @@ Func_396c6: ; 396c6 (e:56c6) dec hl ret -; known jump sources: 3ed17 (f:6d17) Func_396d3: ; 396d3 (e:56d3) xor a ld [W_ENEMYMONID], a @@ -54701,7 +55511,6 @@ Func_396d3: ; 396d3 (e:56d3) dec hl jr .asm_396e9 -; known jump sources: 396f2 (e:56f2) Func_39707: ; 39707 (e:5707) push hl push de @@ -54718,7 +55527,7 @@ Func_39707: ; 39707 (e:5707) pop de pop hl ret -; 39719 (e:5719) + ; creates a set of moves that may be used and returns its address in hl ; unused slots are filled with 0, all used slots may be chosen with equal probability AIEnemyTrainerChooseMoves: ; 39719 (e:5719) @@ -54825,10 +55634,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) @@ -54867,11 +55676,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) @@ -54992,198 +55801,199 @@ ReadMove: ; 39884 (e:5884) pop hl ret -; move choice modifiaction methods that are applied for each trainer class +; 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. -dw YoungsterPic -db 0,$15,0 +; money received after battle = base money × level of highest-level enemy mon + 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@" @@ -55234,7 +56044,6 @@ TrainerNames: ; 399ff (e:59ff) db "AGATHA@" db "LANCE@" -; known jump sources: 6f35 (1:6f35), 12b79 (4:6b79), 3d232 (f:5232) Func_39b87: ; 39b87 (e:5b87) ld hl, $d0dc ld de, $d0e1 @@ -55271,7 +56080,7 @@ Func_39b87: ; 39b87 (e:5b87) jr z, .asm_39bd1 jr .asm_39b8f .asm_39bc1 - ld a, $e3 + ld a, "-" ld [de], a inc de inc b @@ -55283,17 +56092,16 @@ Func_39b87: ; 39b87 (e:5b87) inc de jr .asm_39bc1 .asm_39bd1 - ld a, $50 + ld a, "@" ld [de], a ret -; known jump sources: 6c76 (1:6c76), 6d2d (1:6d2d) Func_39bd5: ; 39bd5 (e:5bd5) ld a, [$d11b] cp $1 jr nz, .asm_39be6 - ld hl, W_ENEMYMONCOUNT ; $d89c - ld de, $d9ac + ld hl, wEnemyPartyCount ; $d89c + ld de, W_ENEMYMON1OT ; $d9ac OT names of other player ld a, $6 jr .asm_39c18 .asm_39be6 @@ -55313,7 +56121,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 @@ -55338,7 +56146,6 @@ Func_39bd5: ; 39bd5 (e:5bd5) ld [$cf90], a ret -; known jump sources: 45cc (1:45cc) Func_39c37: ; 39c37 (e:5c37) ld hl, W_PARTYMON1 ; $d164 ld a, [$cc49] @@ -55356,7 +56163,7 @@ Func_39c37: ; 39c37 (e:5c37) ld a, [hl] ld [$cf91], a ret -; 39c53 (e:5c53) + ReadTrainer: ; 39c53 (e:5c53) ; don't change any moves in a link battle @@ -55364,10 +56171,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 @@ -56328,7 +57135,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 @@ -56336,7 +57143,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] @@ -56399,7 +57206,7 @@ TrainerAIPointers: ; 3a55c (e:655c) JugglerAI: ; 3a5e9 (e:65e9) cp $40 ret nc - jp Function672A + jp Func_3a72a BlackbeltAI: ; 3a5ef (e:65ef) cp $20 @@ -56419,12 +57226,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 @@ -56447,7 +57254,7 @@ ErikaAI: ; 3a628 (e:6628) cp $80 ret nc ld a,$A - call Function67CF + call Func_3a7cf ret nc jp AIUseSuperPotion @@ -56465,7 +57272,7 @@ SabrinaAI: ; 3a640 (e:6640) cp $40 ret nc ld a,$A - call Function67CF + call Func_3a7cf ret nc jp AIUseHyperPotion @@ -56473,7 +57280,7 @@ Sony2AI: ; 3a64c (e:664c) cp $20 ret nc ld a,5 - call Function67CF + call Func_3a7cf ret nc jp AIUsePotion @@ -56481,7 +57288,7 @@ Sony3AI: ; 3a658 (e:6658) cp $20 ret nc ld a,5 - call Function67CF + call Func_3a7cf ret nc jp AIUseFullRestore @@ -56489,7 +57296,7 @@ LoreleiAI: ; 3a664 (e:6664) cp $80 ret nc ld a,5 - call Function67CF + call Func_3a7cf ret nc jp AIUseSuperPotion @@ -56500,11 +57307,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 @@ -56512,7 +57319,7 @@ LanceAI: ; 3a687 (e:6687) cp $80 ret nc ld a,5 - call Function67CF + call Func_3a7cf ret nc jp AIUseHyperPotion @@ -56523,13 +57330,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 @@ -56537,7 +57343,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 @@ -56549,14 +57355,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 -; 0x3a6ca + jr Func_3a718 AIUsePotion: ; 3a6ca (e:66ca) ; enemy trainer heals his monster with a potion @@ -56581,17 +57386,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] @@ -56599,25 +57404,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 @@ -56627,8 +57432,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 @@ -56652,11 +57457,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 @@ -56692,7 +57497,7 @@ AIBattleWithdrawText: ; 3a781 (e:6781) db "@" AIUseFullHeal: ; 3a786 (e:6786) - call Function669B + call Func_3a69b call AICureStatus ld a,FULL_HEAL jp AIPrintItemUse @@ -56711,27 +57516,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] @@ -56817,48 +57622,44 @@ AIBattleUseItemText: ; 3a844 (e:6844) TX_FAR _AIBattleUseItemText db "@" -; known jump sources: 58dcf (16:4dcf) Func_3a849: ; 3a849 (e:6849) - call Func_3a85d - call Func_3a869 +DrawAllPokeballs: ; 0x3a849 + call LoadPartyPokeballGfx + call SetupOwnPartyPokeballs ld a, [W_ISINBATTLE] ; $d057 dec a - ret z - jp Func_3a887 + ret z ; return if wild pokémon + jp SetupEnemyPartyPokeballs -; known jump sources: 3c671 (f:4671) -Func_3a857: ; 3a857 (e:6857) - call Func_3a85d - jp Func_3a887 +DrawEnemyPokeballs: ; 0x3a857 + call LoadPartyPokeballGfx + jp SetupEnemyPartyPokeballs -; known jump sources: 3a849 (e:6849), 3a857 (e:6857), 3a948 (e:6948) -Func_3a85d: ; 3a85d (e:685d) +LoadPartyPokeballGfx: ; 3a85d (e:685d) ld de, PokeballTileGraphics ; $697e ld hl, $8310 ld bc, (BANK(PokeballTileGraphics) << 8) + $04 jp CopyVideoData -; known jump sources: 3a84c (e:684c) -Func_3a869: ; 3a869 (e:6869) +SetupOwnPartyPokeballs: ; 3a869 (e:6869) call Func_3a902 - ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA) + ld hl, W_PARTYMON1DATA ld de, W_NUMINPARTY ; $d163 - call Func_3a8a6 + call SetupPokeballs ld a, $60 ld hl, W_BASECOORDX ; $d081 ld [hli], a ld [hl], a ld a, $8 ld [$cd3e], a - ld hl, W_OAMBUFFER + ld hl, wOAMBuffer jp Func_3a8e1 -; known jump sources: 3a854 (e:6854), 3a85a (e:685a) -Func_3a887: ; 3a887 (e:6887) +SetupEnemyPartyPokeballs: ; 3a887 (e:6887) call Func_3a919 - ld hl, W_WATERRATE ; $d8a4 - ld de, W_ENEMYMONCOUNT ; $d89c - call Func_3a8a6 + ld hl, wEnemyMons + ld de, wEnemyPartyCount ; $d89c + call SetupPokeballs ld hl, W_BASECOORDX ; $d081 ld a, $48 ld [hli], a @@ -56868,59 +57669,56 @@ Func_3a887: ; 3a887 (e:6887) ld hl, $c318 jp Func_3a8e1 -; known jump sources: 3a872 (e:6872), 3a890 (e:6890), 3a951 (e:6951), 3a96d (e:696d) -Func_3a8a6: ; 3a8a6 (e:68a6) +SetupPokeballs: ; 0x3a8a6 ld a, [de] push af - ld de, $cee9 - ld c, $6 - ld a, $34 -.asm_3a8af + ld de, wBuffer + ld c, $6 ; max num of partymons + ld a, $34 ; empty pokeball +.emptyloop ld [de], a inc de dec c - jr nz, .asm_3a8af + jr nz, .emptyloop ; 0x3a8b2 $fb pop af - ld de, $cee9 -.asm_3a8b8 + ld de, wBuffer +.monloop push af - call Func_3a8c2 + call PickPokeball inc de pop af dec a - jr nz, .asm_3a8b8 + jr nz, .monloop ret -; known jump sources: 3a8b9 (e:68b9) -Func_3a8c2: ; 3a8c2 (e:68c2) +PickPokeball: ; 3a8c2 (e:68c2) inc hl ld a, [hli] and a - jr nz, .asm_3a8cd + jr nz, .alive ld a, [hl] and a - ld b, $33 - jr z, .asm_3a8d8 -.asm_3a8cd + ld b, $33 ; crossed ball (fainted) + jr z, .done_fainted +.alive inc hl inc hl - ld a, [hl] + ld a, [hl] ; status and a - ld b, $32 - jr nz, .asm_3a8da - dec b - jr .asm_3a8da -.asm_3a8d8 + ld b, $32 ; black ball (status) + jr nz, .done + dec b ; regular ball + jr .done +.done_fainted inc hl inc hl -.asm_3a8da +.done ld a, b ld [de], a - ld bc, $28 + ld bc, $0028 ; rest of mon struct add hl, bc ret -; known jump sources: 3a884 (e:6884), 3a8a3 (e:68a3), 3a964 (e:6964), 3a97b (e:697b) Func_3a8e1: ; 3a8e1 (e:68e1) ld de, $cee9 ld c, $6 @@ -56943,34 +57741,39 @@ Func_3a8e1: ; 3a8e1 (e:68e1) jr nz, .asm_3a8e6 ret -; known jump sources: 3a869 (e:6869), 3cd71 (f:4d71) Func_3a902: ; 3a902 (e:6902) - ld hl, Unknown_3a916 ; $6916 + ld hl, PlayerBattleHUDGraphicsTiles ; $6916 ld de, $cd3f ld bc, $3 call CopyData 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 +PlayerBattleHUDGraphicsTiles: ; 3a916 (e:6916) +; The tile numbers for specific parts of the battle display for the player's pokemon + db $73 ; unused ($73 is hardcoded into the routine that uses these bytes) + db $77 ; lower-right corner tile of the HUD + db $6F ; lower-left triangle tile of the HUD -; known jump sources: 3a887 (e:6887), 3cdfd (f:4dfd) Func_3a919: ; 3a919 (e:6919) - ld hl, Unknown_3a92d ; $692d + ld hl, EnemyBattleHUDGraphicsTiles ; $692d ld de, $cd3f ld bc, $3 call CopyData FuncCoord 1, 2 ; $c3c9 ld hl, Coord ld de, $1 - jr asm_3a930 + jr Func_3a930 + +EnemyBattleHUDGraphicsTiles: ; 3a92d (e:692d) +; The tile numbers for specific parts of the battle display for the enemy + db $73 ; unused ($73 is hardcoded in the routine that uses these bytes) + db $74 ; lower-left corner tile of the HUD + db $78 ; lower-right triangle tile of the HUD -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 @@ -56987,23 +57790,22 @@ asm_3a930: ; 3a930 (e:6930) ld [hl], a ret -; known jump sources: 37306 (d:7306) Func_3a948: ; 3a948 (e:6948) - call Func_3a85d + call LoadPartyPokeballGfx ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA) ld de, W_NUMINPARTY ; $d163 - call Func_3a8a6 + call SetupPokeballs ld hl, W_BASECOORDX ; $d081 ld a, $50 ld [hli], a 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 - call Func_3a8a6 + ld hl, wEnemyMons ; $d8a4 + ld de, wEnemyPartyCount ; $d89c + call SetupPokeballs ld hl, W_BASECOORDX ; $d081 ld a, $50 ld [hli], a @@ -57013,41 +57815,39 @@ Func_3a948: ; 3a948 (e:6948) ; four tiles: pokeball, black pokeball (status ailment), crossed out pokeball (faited) and pokeball slot (no mon) PokeballTileGraphics: ; 3a97e (e:697e) -INCBIN "gfx/pokeball.2bpp" + INCBIN "gfx/pokeball.2bpp" ; tiles for gameboy and link cable graphics used for trading sequence animation TradingAnimationGraphics: ; 3a9be (e:69be) -INCBIN "gfx/trade.2bpp" + INCBIN "gfx/trade.2bpp" ; 4 tiles for actual wire transfer animation (pokeball wandering inside wire) TradingAnimationGraphics2: ; 3acce (e:6cce) -INCBIN "gfx/trade2.2bpp" + INCBIN "gfx/trade2.2bpp" -; known jump sources: df11 (3:5f11), 17da3 (5:7da3) 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 -; known jump sources: 13810 (4:7810) Func_3ad1c: ; 3ad1c (e:6d1c) ld a, [$FF00+$d7] push af 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 @@ -57056,7 +57856,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 @@ -57085,7 +57885,6 @@ asm_3ad2e: ; 3ad2e (e:6d2e) ld [$cf91], a pop hl -; known jump sources: 3aedb (e:6edb) Func_3ad71: ; 3ad71 (e:6d71) ld a, [hli] and a @@ -57134,7 +57933,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 @@ -57144,7 +57943,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 @@ -57199,7 +57998,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 @@ -57246,11 +58045,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 @@ -57261,16 +58060,13 @@ Func_3ad71: ; 3ad71 (e:6d71) ld h, d jr Func_3aeda -; known jump sources: 3ad96 (e:6d96), 3adaa (e:6daa) Func_3aed9: ; 3aed9 (e:6ed9) inc hl -; known jump sources: 3adb3 (e:6db3), 3aed7 (e:6ed7) Func_3aeda: ; 3aeda (e:6eda) inc hl jp Func_3ad71 -; known jump sources: 3ad37 (e:6d37) Func_3aede: ; 3aede (e:6ede) pop de pop bc @@ -57288,7 +58084,6 @@ Func_3aede: ; 3aede (e:6ede) call nz, Func_2307 ret -; known jump sources: 3ae32 (e:6e32) Func_3aef7: ; 3aef7 (e:6ef7) ld a, [$d0b5] push af @@ -57307,7 +58102,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 @@ -57317,7 +58112,6 @@ Func_3aef7: ; 3aef7 (e:6ef7) pop de jp CopyData -; known jump sources: 3adfa (e:6dfa) Func_3af2e: ; 3af2e (e:6f2e) ld hl, UnnamedText_3af48 ; $6f48 call PrintText @@ -57325,35 +58119,29 @@ Func_3af2e: ; 3af2e (e:6f2e) pop hl call Func_3af52 jp asm_3ad2e -; 3af3e (e:6f3e) + UnnamedText_3af3e: ; 3af3e (e:6f3e) TX_FAR _UnnamedText_3af3e - db $50 -; 0x3af3e + 5 bytes + db "@" UnnamedText_3af43: ; 3af43 (e:6f43) TX_FAR _UnnamedText_3af43 - db $50 -; 0x3af43 + 5 bytes + db "@" UnnamedText_3af48: ; 3af48 (e:6f48) TX_FAR _UnnamedText_3af48 - db $50 -; 0x3af48 + 5 bytes + db "@" UnnamedText_3af4d: ; 3af4d (e:6f4d) TX_FAR _UnnamedText_3af4d - db $50 -; 0x3af4d + 5 bytes + db "@" -; known jump sources: 3aeb1 (e:6eb1), 3af38 (e:6f38) Func_3af52: ; 3af52 (e:6f52) ld a, [W_ISLINKBATTLE] ; $d12b cp $32 ret z jp ReloadTilesetTilePatterns -; known jump sources: df05 (3:5f05), 3aea4 (e:6ea4), 55420 (15:5420) Func_3af5b: ; 3af5b (e:6f5b) ld hl, EvosMovesPointerTable ld a, [$d11e] @@ -57386,7 +58174,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 @@ -57409,7 +58197,6 @@ Func_3af5b: ; 3af5b (e:6f5b) ld [$d11e], a ret -; known jump sources: f419 (3:7419), 3ebc7 (f:6bc7) ; writes the moves a mon has at level [W_CURENEMYLVL] to [de] ; move slots are being filled up sequentially and shifted if all slots are full ; [$cee9]: (?) @@ -57449,7 +58236,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 @@ -57530,11 +58317,9 @@ WriteMonMoves_ShiftMoveData: ; 3b04e (e:704e) jr nz, .asm_3b050 ret -; known jump sources: 3ad19 (e:6d19), 3ad47 (e:6d47), 3aec4 (e:6ec4), 3aecb (e:6ecb) Func_3b057: ; 3b057 (e:7057) ld a, $10 jp Predef ; indirect jump to HandleBitArray (f666 (3:7666)) -; 3b05c (e:705c) EvosMovesPointerTable: ; 3b05c (e:705c) dw Mon112_EvosMoves @@ -59708,7 +60493,6 @@ Mon071_EvosMoves: ; 3b9e4 (e:79e4) db 18,SLEEP_POWDER db 0 -; known jump sources: 3fb2b (f:7b2b) Func_3b9ec: ; 3b9ec (e:79ec) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -59755,26 +60539,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] @@ -59786,11 +60570,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 @@ -59804,7 +60588,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 @@ -59812,29 +60596,24 @@ Func_3b9ec: ; 3b9ec (e:79ec) ld hl, UnnamedText_3baac ; $7aac jp PrintText -; known jump sources: 3ba0a (e:7a0a) Func_3ba97: ; 3ba97 (e:7a97) ld c, $32 call DelayFrames ld hl, Func_3fb53 jp BankswitchEtoF -; 3baa2 (e:7aa2) + UnnamedText_3baa2: ; 3baa2 (e:7aa2) TX_FAR _UnnamedText_3baa2 - db $50 -; 0x3baa2 + 5 bytes + db "@" UnnamedText_3baa7: ; 3baa7 (e:7aa7) TX_FAR _UnnamedText_3baa7 - db $50 -; 0x3baa7 + 5 bytes + db "@" UnnamedText_3baac: ; 3baac (e:7aac) TX_FAR _UnnamedText_3baac - db $50 -; 0x3baac + 5 bytes + db "@" -; known jump sources: 3fb33 (f:7b33) Func_3bab1: ; 3bab1 (e:7ab1) ld hl, W_PLAYERMONID ld de, $cfe5 @@ -59846,7 +60625,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 @@ -59948,13 +60727,12 @@ 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 -; known jump sources: 3bb6b (e:7b6b), 3bb74 (e:7b74) Func_3bb7d: ; 3bb7d (e:7b7d) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -59967,17 +60745,14 @@ Func_3bb7d: ; 3bb7d (e:7b7d) ld bc, $8 jp CopyData -; known jump sources: 3bad3 (e:7ad3) Func_3bb8c: ; 3bb8c (e:7b8c) ld hl, Func_3fb53 ; $7b53 jp BankswitchEtoF -; 3bb92 (e:7b92) + UnnamedText_3bb92: ; 3bb92 (e:7b92) TX_FAR _UnnamedText_3bb92 - db $50 -; 0x3bb92 + 5 bytes + db "@" -; known jump sources: 3fb3b (f:7b3b) Func_3bb97: ; 3bb97 (e:7b97) ld hl, W_PLAYERBATTSTATUS3 ; $d064 ld de, W_PLAYERMOVEEFFECT ; $cfd3 @@ -60011,21 +60786,18 @@ Func_3bb97: ; 3bb97 (e:7b97) call DelayFrames ld hl, Func_3fb53 ; $7b53 jp BankswitchEtoF -; 3bbd7 (e:7bd7) + UnnamedText_3bbd7: ; 3bbd7 (e:7bd7) TX_FAR _UnnamedText_3bbd7 - db $50 -; 0x3bbd7 + 5 bytes + db "@" UnnamedText_3bbdc: ; 3bbdc (e:7bdc) TX_FAR _UnnamedText_3bbdc - db $50 -; 0x3bbdc + 5 bytes + db "@" BankswitchEtoF: ; 3bbe1 (e:7be1) ld b, $f jp Bankswitch -; 0x3bbe6 SECTION "bankF",ROMX,BANK[$F] @@ -60048,7 +60820,6 @@ EffectsArray5B: ; 3c049 (f:4049) ; moves that prevent the player from switching moves? db $1B,$2A,$FF -; known jump sources: 3eff0 (f:6ff0) Func_3c04c: ; 3c04c (f:404c) call Func_3ec92 ld a, $1 @@ -60070,7 +60841,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 @@ -60146,7 +60917,6 @@ Func_3c04c: ; 3c04c (f:404c) ld b, BANK(Func_58d99) jp Bankswitch ; indirect jump to Func_58d99 (58d99 (16:4d99)) -; known jump sources: 3c0ca (f:40ca) Func_3c0ff: ; 3c0ff (f:40ff) push bc ld hl, $c301 @@ -60161,7 +60931,6 @@ Func_3c0ff: ; 3c0ff (f:40ff) pop bc ret -; known jump sources: 3c0be (f:40be), 3c0c7 (f:40c7), 3c113 (f:4113) Func_3c110: ; 3c110 (f:4110) ld a, [$FF00+$44] cp l @@ -60174,7 +60943,6 @@ Func_3c110: ; 3c110 (f:4110) jr z, .asm_3c118 ret -; known jump sources: 3f030 (f:7030) Func_3c11e: ; 3c11e (f:411e) xor a ld [W_PLAYERMONSALIVEFLAGS], a @@ -60182,7 +60950,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 @@ -60247,25 +61015,23 @@ Func_3c11e: ; 3c11e (f:411e) cp b jr nc, .asm_3c14f jr asm_3c202 -; 3c1a8 (f:41a8) + UnnamedText_3c1a8: ; 3c1a8 (f:41a8) TX_FAR _UnnamedText_3c1a8 - db $50 -; 0x3c1a8 + 5 bytes + db "@" -; known jump sources: 3c15e (f:415e) 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 @@ -60280,7 +61046,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 @@ -60313,17 +61079,14 @@ asm_3c202: ; 3c202 (f:4202) ld hl, Func_792b9 ld b, BANK(Func_792b9) jp Bankswitch ; indirect jump to Func_792b9 (792b9 (1e:52b9)) -; 3c229 (f:4229) + UnnamedText_3c229: ; 3c229 (f:4229) TX_FAR _UnnamedText_3c229 - db $50 -; 0x3c229 + 5 bytes + db "@" UnnamedText_3c22e: ; 3c22e (f:422e) TX_FAR _UnnamedText_3c22e - db $50 -; 0x3c22e + 5 bytes - + db "@" MainInBattleLoop: ; 3c233 (f:4233) call ReadPlayerMonCurHPAndStatus @@ -60405,32 +61168,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 @@ -60515,7 +61278,6 @@ MainInBattleLoop: ; 3c233 (f:4233) call Func_3c50f jp MainInBattleLoop -; known jump sources: 3c358 (f:4358), 3c36e (f:436e), 3c38a (f:438a), 3c3ae (f:43ae) HandlePoisonBurnLeechSeed: ; 3c3bd (f:43bd) ld hl, W_PLAYERMONCURHP ; $d015 ld de, W_PLAYERMONSTATUS ; $d018 @@ -60579,24 +61341,19 @@ HandlePoisonBurnLeechSeed: ; 3c3bd (f:43bd) call DelayFrames xor a ret -; 3c42e (f:442e) HurtByPoisonText: ; 3c42e (f:442e) TX_FAR _HurtByPoisonText - db $50 -; 0x3c42e + 5 bytes + db "@" HurtByBurnText: ; 3c433 (f:4433) TX_FAR _HurtByBurnText - db $50 -; 0x3c433 + 5 bytes + db "@" HurtByLeechSeedText: ; 3c438 (f:4438) TX_FAR _HurtByLeechSeedText - db $50 -; 0x3c438 + 5 bytes + db "@" -; known jump sources: 3c3ec (f:43ec), 3c413 (f:4413) ; decreases the mon's current HP by 1/16 of the Max HP (multiplied by number of toxic ticks if active) ; note that the toxic ticks are considered even if the damage is not poison (hence the Leech Seed glitch) ; hl: HP pointer @@ -60607,10 +61364,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 @@ -60647,27 +61404,26 @@ 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 ret -; known jump sources: 3c416 (f:4416) ; adds bc to enemy HP HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ; 3c4a3 (f:44a3) push hl @@ -60678,36 +61434,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 @@ -60719,7 +61475,6 @@ HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ; 3c4a3 (f:44a3) pop hl ret -; known jump sources: 3c49e (f:449e), 3c4eb (f:44eb) UpdateCurMonHPBar: ; 3c4f6 (f:44f6) FuncCoord 10, 9 ; $c45e ld hl, Coord ; tile pointer to player HP bar @@ -60732,13 +61487,12 @@ 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 ret -; known jump sources: 3c377 (f:4377), 3c3b7 (f:43b7) Func_3c50f: ; 3c50f (f:450f) ld a, [$d06a] and a @@ -60753,11 +61507,10 @@ Func_3c50f: ; 3c50f (f:450f) res 5, [hl] ret -; known jump sources: 3c243 (f:4243), 3c35b (f:435b), 3c36b (f:436b), 3c387 (f:4387), 3c3b1 (f:43b1) Func_3c525: ; 3c525 (f:4525) xor a ld [$ccf0], a - call Func_3c567 + call FaintEnemyPokemon call AnyPokemonAliveCheck ld a, d and a @@ -60787,25 +61540,24 @@ Func_3c525: ; 3c525 (f:4525) ld [$cd6a], a jp MainInBattleLoop -; known jump sources: 3c529 (f:4529), 3c717 (f:4717) -Func_3c567: ; 3c567 (f:4567) +FaintEnemyPokemon ; 0x3c567 call ReadPlayerMonCurHPAndStatus ld a, [W_ISINBATTLE] ; $d057 dec a - jr z, .asm_3c57f + jr z, .wild ld a, [W_ENEMYMONNUMBER] ; $cfe8 - ld hl, W_WATERMONS ; $d8a5 (aliases: W_ENEMYMON1HP) - ld bc, $2c + ld hl, W_ENEMYMON1HP + ld bc, $2c ; mon struct len call AddNTimes xor a ld [hli], a ld [hl], a -.asm_3c57f +.wild ld hl, W_PLAYERBATTSTATUS1 ; $d062 res 2, [hl] xor a ld [W_NUMHITS], a ; $d074 - ld hl, $d065 + ld hl, $d065 ; enemy statuses ld [hli], a ld [hli], a ld [hli], a @@ -60822,61 +61574,61 @@ Func_3c567: ; 3c567 (f:4567) 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 dec a - jr z, .asm_3c5d3 + jr z, .wild_win xor a ld [$c0f1], a ld [$c0f2], a - ld a, $9e + ld a, $9e ; SFX_FALL? call PlaySoundWaitForCurrent -.asm_3c5c2 +.sfxwait ld a, [$c02a] cp $9e - jr z, .asm_3c5c2 - ld a, $95 + jr z, .sfxwait + ld a, $95 ; SFX_DROP call PlaySound call WaitForSoundToFinish - jr .asm_3c5db -.asm_3c5d3 + jr .sfxplayed +.wild_win call Func_3c643 ld a, (Music_DefeatedWildMon - $4000) / 3 call Func_3c6ee -.asm_3c5db +.sfxplayed ld hl, W_PLAYERMONCURHP ; $d015 ld a, [hli] or [hl] - jr nz, .asm_3c5eb + jr nz, .playermonnotfaint ld a, [$ccf0] and a - jr nz, .asm_3c5eb + jr nz, .playermonnotfaint call Func_3c741 -.asm_3c5eb +.playermonnotfaint call AnyPokemonAliveCheck ld a, d and a ret z - ld hl, UnnamedText_3c63e ; $463e + ld hl, EnemyMonFainted ; $463e call PrintText call Func_3ee94 call SaveScreenTilesToBuffer1 xor a ld [$cf0b], a - ld b, $4b + ld b, EXP__ALL call IsItemInBag push af - jr z, .asm_3c614 + jr z, .no_exp_all ld hl, $d002 ld b, $7 -.asm_3c60e +.exp_all_loop srl [hl] inc hl dec b - jr nz, .asm_3c60e -.asm_3c614 + jr nz, .exp_all_loop +.no_exp_all xor a ld [$cc5b], a ld hl, Func_5524f @@ -60898,13 +61650,11 @@ Func_3c567: ; 3c567 (f:4567) ld hl, Func_5524f ld b, BANK(Func_5524f) jp Bankswitch ; indirect jump to Func_5524f (5524f (15:524f)) -; 3c63e (f:463e) -UnnamedText_3c63e: ; 3c63e (f:463e) - TX_FAR _UnnamedText_3c63e - db $50 -; 0x3c63e + 5 bytes -; known jump sources: 3c5d3 (f:45d3), 3c696 (f:4696) +EnemyMonFainted: ; 0x3c63e + TX_FAR _EnemyMonFainted + db "@" + Func_3c643: ; 3c643 (f:4643) xor a ld [$d083], a @@ -60913,12 +61663,11 @@ Func_3c643: ; 3c643 (f:4643) ld [$ccf6], a ret -; known jump sources: 3c541 (f:4541), 3c71f (f:471f) 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] @@ -60931,13 +61680,12 @@ Func_3c64f: ; 3c64f (f:464f) and a ret -; known jump sources: 3c55a (f:455a), 3c734 (f:4734) Func_3c664: ; 3c664 (f:4664) ld hl, $cf1e ld e, $30 call Func_3ce90 - ld hl, Func_3a857 - ld b, BANK(Func_3a857) + ld hl, DrawEnemyPokeballs + ld b, BANK(DrawEnemyPokeballs) call Bankswitch ; indirect jump to Func_3a857 (3a857 (e:6857)) ld a, [W_ISLINKBATTLE] ; $d12b cp $4 @@ -60956,7 +61704,6 @@ Func_3c664: ; 3c664 (f:4664) inc a ret -; known jump sources: 3c544 (f:4544), 3c722 (f:4722) TrainerBattleVictory: ; 3c696 (f:4696) call Func_3c643 ld b, (Music_DefeatedGymLeader - $4000) / 3 @@ -60987,12 +61734,11 @@ 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 jp Predef ; indirect jump to Func_f81d (f81d (3:781d)) -; 3c6e4 (f:46e4) MoneyForWinningText: ; 3c6e4 (f:46e4) TX_FAR _MoneyForWinningText @@ -61001,9 +61747,7 @@ MoneyForWinningText: ; 3c6e4 (f:46e4) TrainerDefeatedText: ; 3c6e9 (f:46e9) TX_FAR _TrainerDefeatedText db "@" -; 0x3c6e9 + 5 bytes -; known jump sources: 3c5d8 (f:45d8), 3c6b7 (f:46b7) Func_3c6ee: ; 3c6ee (f:46ee) push af ld a, $ff @@ -61014,7 +61758,6 @@ Func_3c6ee: ; 3c6ee (f:46ee) call PlayMusic jp Delay3 -; known jump sources: 3c23b (f:423b), 3c355 (f:4355), 3c371 (f:4371), 3c38d (f:438d), 3c3ab (f:43ab) HandlePlayerMonFainted: ; 3c700 (f:4700) ld a, $1 ld [$ccf0], a @@ -61027,7 +61770,7 @@ HandlePlayerMonFainted: ; 3c700 (f:4700) ld a, [hli] or [hl] jr nz, .enemyMonNotFainted - call Func_3c567 + call FaintEnemyPokemon ld a, [W_ISINBATTLE] ; $d057 dec a ret z ; if wild encounter, battle is over @@ -61046,9 +61789,8 @@ HandlePlayerMonFainted: ; 3c700 (f:4700) ld [$cd6a], a jp MainInBattleLoop -; known jump sources: 3c5e8 (f:45e8), 3c705 (f:4705) 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 @@ -61086,14 +61828,11 @@ Func_3c741: ; 3c741 (f:4741) call PlayCry ld hl, PlayerMonFaintedText jp PrintText -; 3c796 (f:4796) PlayerMonFaintedText: ; 3c796 (f:4796) TX_FAR _PlayerMonFaintedText - db $50 -; 0x3c796 + 5 bytes + db "@" -; known jump sources: 3c54e (f:454e), 3c725 (f:4725) Func_3c79b: ; 3c79b (f:479b) call Func_3ee94 call SaveScreenTilesToBuffer1 @@ -61116,19 +61855,17 @@ 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 ld de, W_ENEMYMONSPEED jp Func_3cab9 -; 3c7d3 (f:47d3) + UnnamedText_3c7d3: ; 3c7d3 (f:47d3) TX_FAR _UnnamedText_3c7d3 - db $50 -; 0x3c7d3 + 5 bytes + db "@" -; known jump sources: 3c552 (f:4552), 3c729 (f:4729) Func_3c7d8: ; 3c7d8 (f:47d8) ld a, $2 ld [$d07d], a @@ -61151,8 +61888,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 @@ -61175,7 +61912,6 @@ Func_3c7d8: ; 3c7d8 (f:47d8) or [hl] ret -; known jump sources: 3c154 (f:4154), 3c531 (f:4531), 3c70d (f:470d) ; called when player is out of usable mons. ; prints approriate lose message, sets carry flag if player blacked out (special case for initial rival fight) HandlePlayerBlackOut: ; 3c837 (f:4837) @@ -61185,7 +61921,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 @@ -61212,24 +61948,19 @@ HandlePlayerBlackOut: ; 3c837 (f:4837) call ClearScreen scf ret -; 3c884 (f:4884) Sony1WinText: ; 3c884 (f:4884) TX_FAR _Sony1WinText - db $50 -; 0x3c884 + 5 bytes + db "@" PlayerBlackedOutText2: ; 3c889 (f:4889) TX_FAR _PlayerBlackedOutText2 - db $50 -; 0x3c889 + 5 bytes + db "@" LinkBattleLostText: ; 3c88e (f:488e) TX_FAR _LinkBattleLostText - db $50 -; 0x3c88e + 5 bytes + db "@" -; known jump sources: 3c5a4 (f:45a4), 3c77d (f:477d) Func_3c893: ; 3c893 (f:4893) ld a, [$d730] push af @@ -61279,7 +62010,6 @@ Func_3c893: ; 3c893 (f:4893) SevenSpacesText: ; 3c8d7 (f:48d7) db " @" -; known jump sources: 3c1d9 (f:41d9), 3c94f (f:494f) Func_3c8df: ; 3c8df (f:48df) ld [H_DOWNARROWBLINKCNT1], a ; $FF00+$8b ld c, a @@ -61318,7 +62048,6 @@ Func_3c8df: ; 3c8df (f:48df) dec c jr nz, .asm_3c8e2 ret -; 3c90e (f:490e) ; XXX this needs cleaning up. it's what runs when a juggler switches pokemon EnemySendOut: ; 3c90e (f:490e) @@ -61352,7 +62081,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 @@ -61462,7 +62191,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 @@ -61509,7 +62238,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 @@ -61520,9 +62249,8 @@ AnyPokemonAliveCheck: ; 3ca83 (f:4a83) ld d, a ret -; known jump sources: 3c1b1 (f:41b1), 3c7e7 (f:47e7), 3ca14 (f:4a14), 3d19d (f:519d) 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 @@ -61537,15 +62265,13 @@ Func_3ca97: ; 3ca97 (f:4a97) .asm_3cab2 xor a ret -; 3cab4 (f:4ab4) + UnnamedText_3cab4: ; 3cab4 (f:4ab4) TX_FAR _UnnamedText_3cab4 - db $50 -; 0x3cab4 + 5 bytes + db "@" -; known jump sources: 3c7d0 (f:47d0), 3d208 (f:5208) Func_3cab9: ; 3cab9 (f:4ab9) - call Function583A + call Func_3d83a jp z, .asm_3cb5c ld a, [W_BATTLETYPE] ; $d05a cp $2 @@ -61637,7 +62363,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] @@ -61655,25 +62381,21 @@ Func_3cab9: ; 3cab9 (f:4ab9) call SaveScreenTilesToBuffer1 scf ret -; 3cb97 (f:4b97) + UnnamedText_3cb97: ; 3cb97 (f:4b97) TX_FAR _UnnamedText_3cb97 - db $50 -; 0x3cb97 + 5 bytes + db "@" UnnamedText_3cb9c: ; 3cb9c (f:4b9c) TX_FAR _UnnamedText_3cb9c - db $50 -; 0x3cb9c + 5 bytes + db "@" UnnamedText_3cba1: ; 3cba1 (f:4ba1) TX_FAR _UnnamedText_3cba1 - db $50 -; 0x3cba1 + 5 bytes + db "@" -; known jump sources: 3c1f7 (f:41f7), 3c81c (f:481c), 3d1e5 (f:51e5) 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 @@ -61695,7 +62417,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 @@ -61708,18 +62430,17 @@ 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 jr nz, .asm_3cc0e ret -; known jump sources: 3eb06 (f:6b06) 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 @@ -61739,7 +62460,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 @@ -61760,16 +62481,15 @@ 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 -; known jump sources: 3c1fd (f:41fd), 3c82e (f:482e), 3d1e8 (f:51e8) Func_3cc91: ; 3cc91 (f:4c91) ld hl, Func_58e59 ld b, BANK(Func_58e59) @@ -61780,7 +62500,6 @@ Func_3cc91: ; 3cc91 (f:4c91) jp z, Func_3cca4 call Func_3cdec -; known jump sources: 3cc9e (f:4c9e) Func_3cca4: ; 3cca4 (f:4ca4) call Func_3cd60 ld a, $4 @@ -61822,7 +62541,6 @@ Func_3cca4: ; 3cca4 (f:4ca4) call Func_3ee94 jp SaveScreenTilesToBuffer1 -; known jump sources: 3d1c7 (f:51c7) Func_3ccfa: ; 3ccfa (f:4cfa) FuncCoord 1, 5 ; $c405 ld hl, Coord @@ -61854,19 +62572,17 @@ Func_3ccfa: ; 3ccfa (f:4cfa) FuncCoord 5, 11 ; $c481 ld [Coord], a -; known jump sources: 3cd19 (f:4d19), 3cd32 (f:4d32) Func_3cd3a: ; 3cd3a (f:4d3a) FuncCoord 1, 5 ; $c405 ld hl, Coord ld bc, $707 jp ClearScreenArea -; known jump sources: 78c1 (1:78c1), 3c233 (f:4233), 3c567 (f:4567), 3c76b (f:476b), 3f76e (f:776e), 3f7c1 (f:77c1) ; 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 @@ -61874,12 +62590,10 @@ ReadPlayerMonCurHPAndStatus: ; 3cd43 (f:4d43) ld bc, $4 ; 2 bytes HP, 1 byte unknown (unused?), 1 byte status jp CopyData -; known jump sources: 3c2a0 (f:42a0), 3c35e (f:435e), 3c374 (f:4374), 3c390 (f:4390), 3c3b4 (f:43b4), 3c424 (f:4424), 3cebc (f:4ebc), 3d017 (f:5017), 3d0ac (f:50ac), 3e19d (f:619d), 3e25b (f:625b), 3e2a9 (f:62a9) Func_3cd5a: ; 3cd5a (f:4d5a) call Func_3cd60 jp Func_3cdec -; known jump sources: 78b4 (1:78b4), 3c539 (f:4539), 3cca4 (f:4ca4), 3cd5a (f:4d5a), 3d739 (f:5739), 3daec (f:5aec), 553e9 (15:53e9) Func_3cd60: ; 3cd60 (f:4d60) xor a ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba @@ -61949,11 +62663,10 @@ Func_3cd60: ; 3cd60 (f:4d60) set 7, [hl] ret -; known jump sources: 78b9 (1:78b9), 3ca64 (f:4a64), 3cca1 (f:4ca1), 3cd5d (f:4d5d), 3e7bf (f:67bf), 3f02d (f:702d) 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 @@ -62031,10 +62744,9 @@ Func_3cdec: ; 3cdec (f:4dec) ld d, a ld c, a -; known jump sources: 3ce33 (f:4e33) 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 @@ -62042,7 +62754,6 @@ Func_3ce7f: ; 3ce7f (f:4e7f) ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba ld hl, $cf1e -; known jump sources: 3c669 (f:4669), 3cdc3 (f:4dc3) Func_3ce90: ; 3ce90 (f:4e90) ld b, [hl] call Func_3df9 @@ -62052,7 +62763,6 @@ Func_3ce90: ; 3ce90 (f:4e90) ld b, $1 jp GoPAL_SET -; known jump sources: 3cd7f (f:4d7f), 3ce06 (f:4e06) Func_3ce9c: ; 3ce9c (f:4e9c) push de inc hl @@ -62074,7 +62784,6 @@ Func_3ce9c: ; 3ce9c (f:4e9c) pop de ret -; known jump sources: 3c161 (f:4161), 3c263 (f:4263), 3cffa (f:4ffa), 3d05c (f:505c), 3d102 (f:5102), 3d216 (f:5216) InitBattleMenu: ; 3ceb3 (f:4eb3) call LoadScreenTilesFromBuffer1 ; restore saved screen ld a, [W_BATTLETYPE] ; $d05a @@ -62104,8 +62813,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 @@ -62131,12 +62838,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 @@ -62161,7 +62868,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 @@ -62198,7 +62905,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 @@ -62212,14 +62919,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 @@ -62245,7 +62952,6 @@ RegularBattleMenu: ; 3cf1a (f:4f1a) ld [$cf91], a jr asm_3d05f -; known jump sources: 3cf0f (f:4f0f), 3cfd1 (f:4fd1) Func_3cfe8: ; 3cfe8 (f:4fe8) cp $2 jp nz, Func_3d0ca @@ -62284,7 +62990,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 @@ -62293,11 +62999,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 @@ -62314,7 +63020,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 @@ -62351,13 +63057,11 @@ asm_3d05f: ; 3d05f (f:505f) ld [$cf0b], a scf ret -; 3d0c5 (f:50c5) + ItemsCantBeUsedHere: ; 3d0c5 (f:50c5) TX_FAR ItemsCantBeUsedHere_ db "@" -; 0x3d0c5 + 5 bytes -; known jump sources: 3cfea (f:4fea) Func_3d0ca: ; 3d0ca (f:50ca) dec a jp nz, Func_3d1fa @@ -62369,7 +63073,6 @@ Func_3d0ca: ; 3d0ca (f:50ca) ld [$cf91], a jp asm_3d05f -; known jump sources: 3d0d6 (f:50d6), 3d187 (f:5187) Func_3d0e0: ; 3d0e0 (f:50e0) call LoadScreenTilesFromBuffer1 xor a @@ -62387,7 +63090,6 @@ asm_3d0f0: ; 3d0f0 (f:50f0) call GBPalNormal jp InitBattleMenu -; known jump sources: 3d138 (f:5138), 3d19a (f:519a), 3d1a0 (f:51a0) Func_3d105: ; 3d105 (f:5105) FuncCoord 11, 11 ; $c487 ld hl, Coord @@ -62399,12 +63101,11 @@ Func_3d105: ; 3d105 (f:5105) call GoBackToPartyMenu jr asm_3d0ed -; known jump sources: 3d0ed (f:50ed) 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 @@ -62421,7 +63122,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 @@ -62455,9 +63156,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 @@ -62475,7 +63176,6 @@ Func_3d119: ; 3d119 (f:5119) call GoPAL_SET_CF1C call GBPalNormal -; known jump sources: 3ca76 (f:4a76) Func_3d1ba: ; 3d1ba (f:51ba) ld hl, Func_58ed1 ld b, BANK(Func_58ed1) @@ -62483,8 +63183,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 @@ -62499,20 +63199,18 @@ 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 -; 3d1f5 (f:51f5) + UnnamedText_3d1f5: ; 3d1f5 (f:51f5) TX_FAR _UnnamedText_3d1f5 - db $50 -; 0x3d1f5 + 5 bytes + db "@" -; known jump sources: 3d0cb (f:50cb) 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 @@ -62524,16 +63222,14 @@ Func_3d1fa: ; 3d1fa (f:51fa) ret nz jp InitBattleMenu -; known jump sources: e35f (3:635f), 3c299 (f:4299), 3d3ab (f:53ab), 3d490 (f:5490), 3d4b3 (f:54b3) MoveSelectionMenu: ; 3d219 (f:5219) - ld a, [W_MOVEMENUTYPE] + ld a, [wMoveMenuType] dec a jr z, .mimicmenu dec a jr z, .relearnmenu jr .regularmenu -; known jump sources: 3d250 (f:5250), 3d278 (f:5278), 3d29d (f:529d) .loadmoves ld de, $d0dc ld bc, $4 @@ -62543,7 +63239,6 @@ MoveSelectionMenu: ; 3d219 (f:5219) call Bankswitch ; indirect jump to Func_39b87 (39b87 (e:5b87)) ret -; known jump sources: 3d26c (f:526c), 3d288 (f:5288), 3d2ad (f:52ad) .writemoves ld de, $d0e1 ld a, [$FF00+$f6] @@ -62594,7 +63289,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 @@ -62610,25 +63305,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 @@ -62645,18 +63340,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 -; known jump sources: 3d3cd (f:53cd), 3d3da (f:53da), 3d3e7 (f:53e7), 3d3f2 (f:53f2) Func_3d2fe: ; 3d2fe (f:52fe) - ld a, [W_MOVEMENUTYPE] + ld a, [wMoveMenuType] and a jr z, .battleselect dec a @@ -62696,11 +63390,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 @@ -62708,7 +63402,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 @@ -62716,7 +63410,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 @@ -62733,13 +63427,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 @@ -62763,20 +63457,18 @@ MoveDisabledText: ; 3d3b3 (f:53b3) WhichTechniqueString: ; 3d3b8 (f:53b8) db "WHICH TECHNIQUE?@" -; known jump sources: 3d33d (f:533d) 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 -; known jump sources: 3d342 (f:5342) Func_3d3dd: ; 3d3dd (f:53dd) - ld a, [W_CURMENUITEMID] ; $cc26 + ld a, [wCurrentMenuItem] ; $cc26 ld b, a ld a, [$cd6c] inc a @@ -62785,13 +63477,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 -; known jump sources: 3d249 (f:5249) 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 @@ -62830,13 +63521,11 @@ Func_3d3f5: ; 3d3f5 (f:53f5) call DelayFrames xor a ret -; 3d430 (f:5430) + UnnamedText_3d430: ; 3d430 (f:5430) TX_FAR _UnnamedText_3d430 - db $50 -; 0x3d430 + 5 bytes + db "@" -; known jump sources: 3d347 (f:5347) Func_3d435: ; 3d435 (f:5435) ld a, [$cc35] and a @@ -62850,7 +63539,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] @@ -62868,13 +63557,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 @@ -62887,7 +63576,6 @@ Func_3d435: ; 3d435 (f:5435) ld [$cc35], a jp MoveSelectionMenu -; known jump sources: 3d43e (f:543e), 3d444 (f:5444), 3d481 (f:5481), 3d489 (f:5489) Func_3d493: ; 3d493 (f:5493) push hl ld a, [$cc35] @@ -62898,7 +63586,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 @@ -62910,11 +63598,10 @@ 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 -; known jump sources: 3d319 (f:5319) Func_3d4b6: ; 3d4b6 (f:54b6) xor a ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba @@ -62929,7 +63616,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 @@ -62938,25 +63625,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 @@ -62971,10 +63658,10 @@ Func_3d4b6: ; 3d4b6 (f:54b6) call PlaceString FuncCoord 7, 11 ; $c483 ld hl, Coord - ld [hl], $f3 + ld [hl], "/" FuncCoord 5, 9 ; $c459 ld hl, Coord - ld [hl], $f3 + ld [hl], "/" FuncCoord 5, 11 ; $c481 ld hl, Coord ld de, $cd6d @@ -63077,7 +63764,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 @@ -63088,33 +63775,32 @@ 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 jr .done -; known jump sources: 3c67b (f:467b), 3c7f7 (f:47f7), 3cb71 (f:4b71), 3d56e (f:556e) 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 @@ -63144,13 +63830,12 @@ Func_3d605: ; 3d605 (f:5605) jr nz, .asm_3d654 ret -; known jump sources: 3c361 (f:4361), 3c37d (f:437d) 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 @@ -63159,10 +63844,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 @@ -63171,9 +63856,8 @@ Func_3d65e: ; 3d65e (f:565e) bit 4, [hl] jr nz, asm_3d6a9 call Func_3dc88 - jp z, Function580A + jp z, Func_3d80a -; known jump sources: 3d777 (f:5777), 3d781 (f:5781) Func_3d69a: ; 3d69a (f:569a) ld a, [W_PLAYERMOVEEFFECT] ; $cfd3 cp $27 @@ -63181,7 +63865,7 @@ Func_3d69a: ; 3d69a (f:569a) cp $2b jp z, Func_3f132 jr asm_3d6b0 -; 3d6a9 (f:56a9) + ; in-battle stuff asm_3d6a9: ; 3d6a9 (f:56a9) ld hl,W_PLAYERBATTSTATUS1 @@ -63271,7 +63955,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 @@ -63293,7 +63977,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 @@ -63331,26 +64015,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 @@ -63376,14 +64060,14 @@ 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 ld a,[W_CURMAP] - cp a,$8E ; Lavender Town + cp a,POKEMONTOWER_1 jr c,.next - cp a,$95 ; Pokémon Tower + cp a,LAVENDER_HOUSE_1 jr nc,.next ld b,SILPH_SCOPE call IsItemInBag ; $3493 @@ -63393,7 +64077,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 @@ -63417,7 +64101,7 @@ Function5854: ; 3d854 (f:5854) .sleepDone xor a ld [$CCF1],a - ld hl,Function580A + ld hl,Func_3d80a jp Func_3da37 .FrozenCheck @@ -63427,7 +64111,7 @@ Function5854: ; 3d854 (f:5854) call PrintText xor a ld [$CCF1],a - ld hl,Function580A + ld hl,Func_3d80a jp Func_3da37 .HeldInPlaceCheck @@ -63436,7 +64120,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) @@ -63446,7 +64130,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) @@ -63456,7 +64140,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 @@ -63507,7 +64191,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 @@ -63535,7 +64219,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 @@ -63557,7 +64241,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 @@ -63620,7 +64304,6 @@ HyperBeamCheck: ; 3d8c2 (f:58c2) jp nz,Func_3da37 jp Func_3da37 -; known jump sources: 3da01 (f:5a01) Func_3da1a: ; 3da1a (f:5a1a) ld a, [W_PLAYERBATTSTATUS2] ; $d063 bit 6, a @@ -63634,17 +64317,15 @@ Func_3da1a: ; 3da1a (f:5a1a) ld hl, asm_3d6b0 ; $56b0 jp Func_3da37 -; known jump sources: 3d881 (f:5881), 3d895 (f:5895), 3d8a9 (f:58a9), 3d8bf (f:58bf), 3d8d4 (f:58d4), 3d93b (f:593b), 3d972 (f:5972), 3d998 (f:5998), 3d9cd (f:59cd), 3d9e6 (f:59e6), 3d9fc (f:59fc), 3da14 (f:5a14), 3da17 (f:5a17), 3da34 (f:5a34) Func_3da37: ; 3da37 (f:5a37) xor a ret -; known jump sources: 3da1f (f:5a1f) Func_3da39: ; 3da39 (f:5a39) ld a, $1 and a ret -; 3da3d (f:5a3d) + FastAsleepText: ; 3da3d (f:5a3d) TX_FAR _FastAsleepText db "@" @@ -63705,9 +64386,8 @@ CantMoveText: ; 3da83 (f:5a83) TX_FAR _CantMoveText db "@" -; known jump sources: 3d935 (f:5935), 3e9b6 (f:69b6) 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 @@ -63723,13 +64403,11 @@ Func_3da88: ; 3da88 (f:5a88) call GetMoveName ld hl, UnnamedText_3daa8 ; $5aa8 jp PrintText -; 3daa8 (f:5aa8) + UnnamedText_3daa8: ; 3daa8 (f:5aa8) TX_FAR _UnnamedText_3daa8 - db $50 -; 0x3daa8 + 5 bytes + db "@" -; known jump sources: 3d924 (f:5924), 3dd08 (f:5d08) Func_3daad: ; 3daad (f:5aad) ld hl, HurtItselfText ; $5a65 call PrintText @@ -63773,13 +64451,13 @@ Func_3daad: ; 3daad (f:5aad) ld [H_WHOSETURN], a ; $FF00+$f3 jp ApplyDamageToPlayerPokemon -; known jump sources: 3d6b0 (f:56b0), 3e72f (f:672f) 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 @@ -63793,39 +64471,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 @@ -63838,38 +64520,36 @@ 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 - db $50 -; 0x3db6c + 5 bytes + db "@" UnnamedText_3db71: ; 3db71 (f:5b71) TX_FAR _UnnamedText_3db71 - db $50 -; 0x3db71 + 5 bytes + db "@" UnnamedText_3db76: ; 3db76 (f:5b76) TX_FAR _UnnamedText_3db76 - db $50 -; 0x3db76 + 5 bytes + db "@" UnnamedText_3db7b: ; 3db7b (f:5b7b) TX_FAR _UnnamedText_3db7b - db $50 -; 0x3db7b + 5 bytes + db "@" UnnamedText_3db80: ; 3db80 (f:5b80) TX_FAR _UnnamedText_3db80 - db $50 -; 0x3db80 + 5 bytes + db "@" -; known jump sources: 3db15 (f:5b15) Func_3db85: ; 3db85 (f:5b85) push bc - ld a, [$d11e] + ld a, [$d11e] ; move number ld c, a ld b, $0 ld hl, Unknown_3dba3 ; $5ba3 @@ -63892,7 +64572,6 @@ Func_3db85: ; 3db85 (f:5b85) Unknown_3dba3: ; 3dba3 (f:5ba3) INCBIN "baserom.gbc",$3dba3,$3dbe2 - $3dba3 -; known jump sources: 3d799 (f:5799), 3e81e (f:681e) Func_3dbe2: ; 3dbe2 (f:5be2) ld de, W_PLAYERMOVEEFFECT ; $cfd3 ld a, [H_WHOSETURN] ; $FF00+$f3 @@ -63946,40 +64625,34 @@ Func_3dbe2: ; 3dbe2 (f:5be2) jp ApplyDamageToPlayerPokemon .asm_3dc3f jp ApplyDamageToEnemyPokemon -; 3dc42 (f:5c42) + UnnamedText_3dc42: ; 3dc42 (f:5c42) TX_FAR _UnnamedText_3dc42 - db $50 -; 0x3dc42 + 5 bytes + db "@" UnnamedText_3dc47: ; 3dc47 (f:5c47) TX_FAR _UnnamedText_3dc47 - db $50 -; 0x3dc47 + 5 bytes + db "@" UnnamedText_3dc4c: ; 3dc4c (f:5c4c) TX_FAR _UnnamedText_3dc4c - db $50 -; 0x3dc4c + 5 bytes + db "@" -; known jump sources: 52670 (14:6670) Func_3dc51: ; 3dc51 (f:5c51) ld hl, UnnamedText_3dc57 ; $5c57 jp PrintText -; 3dc57 (f:5c57) + UnnamedText_3dc57: ; 3dc57 (f:5c57) TX_FAR _UnnamedText_3dc57 - db $50 -; 0x3dc57 + 5 bytes + db "@" -; known jump sources: 3d7a9 (f:57a9), 3e82e (f:682e) Func_3dc5c: ; 3dc5c (f:5c5c) ld a, [$d05e] and a 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 @@ -63993,20 +64666,18 @@ 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 - db $50 -; 0x3dc7e + 5 bytes + db "@" UnnamedText_3dc83: ; 3dc83 (f:5c83) TX_FAR _UnnamedText_3dc83 - db $50 -; 0x3dc83 + 5 bytes + db "@" -; known jump sources: 3d694 (f:5694) Func_3dc88: ; 3dc88 (f:5c88) xor a ld [$cced], a @@ -64019,13 +64690,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 @@ -64114,7 +64785,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 @@ -64135,7 +64806,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 @@ -64147,9 +64818,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 @@ -64158,7 +64829,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 @@ -64166,50 +64837,43 @@ 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 -; known jump sources: 3dcae (f:5cae), 3dcdc (f:5cdc), 3dce8 (f:5ce8) Func_3ddb0: ; 3ddb0 (f:5db0) ld a, $1 and a ret -; known jump sources: 3dd0b (f:5d0b), 3dd3d (f:5d3d) Func_3ddb4: ; 3ddb4 (f:5db4) xor a ret -; 3ddb6 (f:5db6) + UnnamedText_3ddb6: ; 3ddb6 (f:5db6) TX_FAR _UnnamedText_3ddb6 - db $50 -; 0x3ddb6 + 5 bytes + db "@" UnnamedText_3ddbb: ; 3ddbb (f:5dbb) TX_FAR _UnnamedText_3ddbb - db $50 -; 0x3ddbb + 5 bytes + db "@" UnnamedText_3ddc0: ; 3ddc0 (f:5dc0) TX_FAR _UnnamedText_3ddc0 - db $50 -; 0x3ddc0 + 5 bytes + db "@" UnnamedText_3ddc5: ; 3ddc5 (f:5dc5) TX_FAR _UnnamedText_3ddc5 - db $50 -; 0x3ddc5 + 5 bytes + db "@" UnnamedText_3ddca: ; 3ddca (f:5dca) TX_FAR _UnnamedText_3ddca - db $50 -; 0x3ddca + 5 bytes + db "@" CalculateDamage: ; 3ddcf (f:5dcf) xor a @@ -64248,7 +64912,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 @@ -64278,9 +64942,9 @@ CalculateDamage: ; 3ddcf (f:5dcf) ld c, a push bc ld hl, $d195 - ld a, [W_PLAYERMONNUMBER] + ld a, [wPlayerMonNumber] ld bc, $002c - call AddNTimes + call AddNTimes pop bc .next3 ld a, [hli] ;HL: when this was taken @@ -64313,7 +64977,6 @@ CalculateDamage: ; 3ddcf (f:5dcf) and a ret -; known jump sources: 3e76d (f:676d), 3e986 (f:6986) Func_3de75: ; 3de75 (f:5e75) ld hl, W_DAMAGE ; $d0d7 xor a @@ -64342,7 +65005,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] @@ -64370,7 +65033,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] @@ -64413,7 +65076,6 @@ Func_3de75: ; 3de75 (f:5e75) and a ret -; known jump sources: 3ddfd (f:5dfd), 3de32 (f:5e32), 3deb3 (f:5eb3), 3dee8 (f:5ee8) Func_3df1c: ; 3df1c (f:5f1c) push de push bc @@ -64454,7 +65116,7 @@ Func_3df1c: ; 3df1c (f:5f1c) call CalcStat pop de ret -; 3df65 (f:5f65) + MoreCalculateDamage: ; 3df65 (f:5f65) ld a, [$ff00+$f3] ;FFF3 decides which address to use and a @@ -64511,7 +65173,7 @@ MoreCalculateDamage: ; 3df65 (f:5f65) ld [hl], c ld b, 4 call Divide ;*divide by defender defense stat - ld [hl], $32 + ld [hl], $32 ld b, 4 call Divide ;divide above result by 50 ld hl, W_DAMAGE ;[stuff below I never got to, was only interested in stuff above] @@ -64577,7 +65239,6 @@ MoreCalculateDamage: ; 3df65 (f:5f65) and a ret -; known jump sources: 3df83 (f:5f83) Func_3e016: ; 3e016 (f:6016) call Func_3f132 ld a, [W_MOVEMISSED] ; $d05f @@ -64654,7 +65315,6 @@ CriticalHitTest: ; 3e023 (f:6023) ld a, $1 ld [$d05e], a ; set critical hit flag ret -; 0x3e08e ; high critical hit moves HighCriticalMoves: ; 3e08e (f:608e) @@ -64663,21 +65323,20 @@ HighCriticalMoves: ; 3e08e (f:608e) db CRABHAMMER db SLASH db $FF -; 0x3e093 ; function to determine if Counter hits and if so, how much damage it does 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 @@ -64800,25 +65459,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 @@ -64827,14 +65486,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 @@ -64921,40 +65580,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 @@ -64968,13 +65627,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 @@ -65014,26 +65673,24 @@ AttackSubstitute: ; 3e25e (f:625e) SubstituteTookDamageText: ; 3e2ac (f:62ac) TX_FAR _SubstituteTookDamageText - db $50 -; 0x3e2ac + 5 bytes + db "@" SubstituteBrokeText: ; 3e2b1 (f:62b1) TX_FAR _SubstituteBrokeText - db $50 -; 0x3e2b1 + 5 bytes + db "@" ; this function raises the attack modifier of a pokemon using Rage when that pokemon is attacked 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? @@ -65067,8 +65724,7 @@ HandleBuildingRage: ; 3e2b6 (f:62b6) BuildingRageText: ; 3e2f8 (f:62f8) TX_FAR _BuildingRageText - db $50 -; 0x3e2f8 + 5 bytes + db "@" ; copy last move for Mirror Move ; sets zero flag on failure and unsets zero flag on success @@ -65077,13 +65733,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? @@ -65099,8 +65755,7 @@ MirrorMoveCopyMove: ; 3e2fd (f:62fd) MirrorMoveFailedText: ; 3e324 (f:6324) TX_FAR _MirrorMoveFailedText - db $50 -; 0x3e324 + 5 bytes + db "@" ; function used to reload move data for moves like Mirror Move and Metronome ReloadMoveData: ; 3e329 (f:6329) @@ -65127,13 +65782,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 @@ -65155,12 +65810,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 @@ -65171,7 +65826,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 @@ -65547,16 +66202,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 @@ -65573,7 +66228,7 @@ CalcHitChance: ; 3e624 (f:6624) ; loop to do the calculations, the first iteration multiplies by the accuracy ratio and the second iteration multiplies by the evasion ratio .loop push bc - ld hl,Unknown_3f6cb ; $76cb ; stat modifier ratios + ld hl, StatModifierRatios ; $76cb ; stat modifier ratios dec b sla b ld c,b @@ -65611,7 +66266,6 @@ CalcHitChance: ; 3e624 (f:6624) ld [hl],a ; store the hit chance in the move accuracy variable ret -; known jump sources: 3d6ff (f:56ff), 3e77c (f:677c) Func_3e687: ; 3e687 (f:6687) ld hl, W_DAMAGE ; $d0d7 ld a, [hli] @@ -65646,12 +66300,11 @@ Func_3e687: ; 3e687 (f:6687) ld [hl], a ret -; known jump sources: 3c34b (f:434b), 3c3a1 (f:43a1) 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 @@ -65679,7 +66332,6 @@ Func_3e6bc: ; 3e6bc (f:66bc) jr nz, asm_3e70b call GetCurrentMove -; known jump sources: 3e7fc (f:67fc), 3e806 (f:6806) Func_3e6fc: ; 3e6fc (f:66fc) ld a, [W_ENEMYMOVEEFFECT] ; $cfcd cp $27 @@ -65732,7 +66384,6 @@ asm_3e750: ; 3e750 (f:6750) call AdjustDamageForMoveType call Func_3e687 -; known jump sources: 3e75f (f:675f) Func_3e77f: ; 3e77f (f:677f) call MoveHitTest asm_3e782: ; 3e782 (f:6782) @@ -65746,7 +66397,6 @@ asm_3e782: ; 3e782 (f:6782) .asm_3e791 call Func_3ec81 -; known jump sources: 3e864 (f:6864) Func_3e794: ; 3e794 (f:6794) ld a, [W_ENEMYMOVEEFFECT] ; $cfcd and a @@ -65777,7 +66427,6 @@ asm_3e7a4: ; 3e7a4 (f:67a4) call nz, Bankswitch jr asm_3e7ef -; known jump sources: 3e776 (f:6776), 3e78f (f:678f) Func_3e7d1: ; 3e7d1 (f:67d1) call Func_3ec81 ld c, $1e @@ -65861,18 +66510,15 @@ asm_3e7ef: ; 3e7ef (f:67ef) call IsInArray call nc, Func_3f132 jr Func_3e88c -; 3e887 (f:6887) + UnnamedText_3e887: ; 3e887 (f:6887) TX_FAR _UnnamedText_3e887 - db $50 -; 0x3e887 + 5 bytes + db "@" -; known jump sources: 3e6c0 (f:66c0), 3e6c6 (f:66c6), 3e7f9 (f:67f9), 3e828 (f:6828), 3e877 (f:6877), 3e885 (f:6885) Func_3e88c: ; 3e88c (f:688c) ld b, $1 ret -; known jump sources: 3e6ec (f:66ec) Func_3e88f: ; 3e88f (f:688f) ld hl, W_ENEMYMONSTATUS ; $cfe9 ld a, [hl] @@ -65915,7 +66561,6 @@ Func_3e88f: ; 3e88f (f:688f) ld hl, Func_3e88c ; $688c jp Func_3eab8 -; known jump sources: 3e8d8 (f:68d8) Func_3e8e7: ; 3e8e7 (f:68e7) ld hl, W_ENEMYBATTSTATUS1 ; $d067 bit 3, [hl] @@ -65926,7 +66571,6 @@ Func_3e8e7: ; 3e8e7 (f:68e7) ld hl, Func_3e88c ; $688c jp Func_3eab8 -; known jump sources: 3e8ec (f:68ec) Func_3e8fd: ; 3e8fd (f:68fd) ld hl, W_ENEMYBATTSTATUS2 ; $d068 bit 5, [hl] @@ -66017,12 +66661,11 @@ Func_3e8fd: ; 3e8fd (f:68fd) call ApplyDamageToEnemyPokemon jr asm_3e9d3 -; known jump sources: 3e92d (f:692d), 3e941 (f:6941), 3e958 (f:6958) 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 @@ -66139,7 +66782,6 @@ asm_3e9f6: ; 3e9f6 (f:69f6) jp nz, Func_3eab8 jp Func_3eab8 -; known jump sources: 3ea85 (f:6a85) Func_3ea9b: ; 3ea9b (f:6a9b) ld a, [W_ENEMYBATTSTATUS2] ; $d068 bit 6, a @@ -66153,24 +66795,21 @@ Func_3ea9b: ; 3ea9b (f:6a9b) ld hl, asm_3e72b ; $672b jp Func_3eab8 -; known jump sources: 3e8bc (f:68bc), 3e8d0 (f:68d0), 3e8e4 (f:68e4), 3e8fa (f:68fa), 3e90f (f:690f), 3e9bc (f:69bc), 3e9f3 (f:69f3), 3ea19 (f:6a19), 3ea51 (f:6a51), 3ea6a (f:6a6a), 3ea80 (f:6a80), 3ea95 (f:6a95), 3ea98 (f:6a98), 3eab5 (f:6ab5) Func_3eab8: ; 3eab8 (f:6ab8) xor a ret -; known jump sources: 3eaa0 (f:6aa0) Func_3eaba: ; 3eaba (f:6aba) ld a, $1 and a ret -; known jump sources: 3d543 (f:5543), 3d68a (f:568a), 3ddad (f:5dad), 3e6f9 (f:66f9) GetCurrentMove: ; 3eabe (f:6abe) ld a, [H_WHOSETURN] ; $FF00+$f3 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 @@ -66178,7 +66817,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 @@ -66195,7 +66834,6 @@ GetCurrentMove: ; 3eabe (f:6abe) ld de, $cd6d jp CopyStringToCF4B -; known jump sources: d893 (3:5893), 3c9aa (f:49aa), 3ef90 (f:6f90), 4fdc9 (13:7dc9), 58df0 (16:4df0), 58e18 (16:4e18) Func_3eb01: ; 3eb01 (f:6b01) ld a, [W_ISLINKBATTLE] ; $d12b cp $4 @@ -66247,14 +66885,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] @@ -66276,7 +66914,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 @@ -66337,7 +66975,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 @@ -66346,20 +66984,19 @@ 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 jr nz, .asm_3ec2d ret -; known jump sources: 3ef66 (f:6f66), 3ef93 (f:6f93) Func_3ec32: ; 3ec32 (f:6c32) ld a, [W_ISLINKBATTLE] ; $d12b 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)) @@ -66393,7 +67030,6 @@ Func_3ec32: ; 3ec32 (f:6c32) ld [W_PLAYERDISABLEDMOVE], a ; $d06d ret -; known jump sources: 3e750 (f:6750), 3e76a (f:676a), 3e770 (f:6770), 3e791 (f:6791), 3e7a0 (f:67a0), 3e7d1 (f:67d1), 3ea4b (f:6a4b) Func_3ec81: ; 3ec81 (f:6c81) push bc ld a, [W_PLAYERMONLEVEL] ; $d022 @@ -66405,7 +67041,6 @@ Func_3ec81: ; 3ec81 (f:6c81) pop bc ret -; known jump sources: 3c04c (f:404c) Func_3ec92: ; 3ec92 (f:6c92) ld a, [W_BATTLETYPE] ; $d05a dec a @@ -66417,7 +67052,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 @@ -66469,7 +67104,6 @@ Func_3ec92: ; 3ec92 (f:6c92) ld a, $1 jp Predef ; indirect jump to Func_3f0c6 (3f0c6 (f:70c6)) -; known jump sources: dba3 (3:5ba3) Func_3ed02: ; 3ed02 (f:6d02) ld hl, Func_39680 ld b, BANK(Func_39680) @@ -66478,18 +67112,15 @@ Func_3ed02: ; 3ed02 (f:6d02) ld b, BANK(Func_396a7) jp Bankswitch ; indirect jump to Func_396a7 (396a7 (e:56a7)) -; known jump sources: 3c6c6 (f:46c6), 3c84e (f:484e) Func_3ed12: ; 3ed12 (f:6d12) ld hl, Func_396d3 ld b, BANK(Func_396d3) jp Bankswitch ; indirect jump to Func_396d3 (396d3 (e:56d3)) -; known jump sources: 3cc01 (f:4c01), 553d9 (15:53d9) Func_3ed1a: ; 3ed1a (f:6d1a) ld a, $1 jr asm_3ed1f -; known jump sources: 3cc6e (f:4c6e) Func_3ed1e: ; 3ed1e (f:6d1e) xor a asm_3ed1f: ; 3ed1f (f:6d1f) @@ -66497,7 +67128,6 @@ asm_3ed1f: ; 3ed1f (f:6d1f) call Func_3ed27 jp Func_3ed64 -; known jump sources: 3ed21 (f:6d21), 3f351 (f:7351), 3f3b9 (f:73b9), 3f51a (f:751a), 3f647 (f:7647), 52641 (14:6641) Func_3ed27: ; 3ed27 (f:6d27) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -66540,7 +67170,6 @@ Func_3ed27: ; 3ed27 (f:6d27) ld [hl], b ret -; known jump sources: 3ed24 (f:6d24), 3f361 (f:7361), 3f3c4 (f:73c4), 3f51d (f:751d), 3f64a (f:764a) Func_3ed64: ; 3ed64 (f:6d64) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -66579,7 +67208,6 @@ Func_3ed64: ; 3ed64 (f:6d64) ld [hl], b ret -; known jump sources: 553d1 (15:53d1) Func_3ed99: ; 3ed99 (f:6d99) ld c, $0 .asm_3ed9b @@ -66590,7 +67218,6 @@ Func_3ed99: ; 3ed99 (f:6d99) jr nz, .asm_3ed9b ret -; known jump sources: 3ed9b (f:6d9b) Func_3eda5: ; 3eda5 (f:6da5) push bc push bc @@ -66599,11 +67226,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 @@ -66625,7 +67252,7 @@ Func_3eda5: ; 3eda5 (f:6da5) .asm_3edd4 pop bc push hl - ld hl, Unknown_3f6cb ; $76cb + ld hl, StatModifierRatios ; $76cb dec b sla b ld c, b @@ -66656,7 +67283,6 @@ Func_3eda5: ; 3eda5 (f:6da5) ld a, $e7 ld [$FF00+$98], a -; known jump sources: 3ee01 (f:6e01) Func_3ee0c: ; 3ee0c (f:6e0c) ld a, [$FF00+$97] ld [hli], a @@ -66670,7 +67296,6 @@ Func_3ee0c: ; 3ee0c (f:6e0c) pop bc ret -; known jump sources: 3cc04 (f:4c04), 3f511 (f:7511), 3f63e (f:763e), 553e1 (15:53e1) Func_3ee19: ; 3ee19 (f:6e19) ld a, [W_ISLINKBATTLE] ; $d12b cp $4 @@ -66689,7 +67314,6 @@ Func_3ee19: ; 3ee19 (f:6e19) jr nz, .asm_3ee28 ret -; known jump sources: 3ee2a (f:6e2a) Func_3ee35: ; 3ee35 (f:6e35) ld a, [hli] ld d, a @@ -66717,11 +67341,9 @@ Func_3ee35: ; 3ee35 (f:6e35) ld [hld], a ret -; known jump sources: 3c066 (f:4066), 3ec5a (f:6c5a) Func_3ee58: ; 3ee58 (f:6e58) call LoadHpBarAndStatusTilePatterns -; known jump sources: 665b (1:665b), 3c822 (f:4822), 3ca20 (f:4a20), 3d072 (f:5072), 3d0f6 (f:50f6), 3d1ae (f:51ae) Func_3ee5b: ; 3ee5b (f:6e5b) ld a, [rLCDC] ; $FF00+$40 add a @@ -66746,13 +67368,12 @@ Func_3ee5b: ; 3ee5b (f:6e5b) ld bc, (BANK(BattleHudTiles2) << 8) + $06 jp CopyVideoDataDouble -; known jump sources: 3c5f7 (f:45f7), 3c79b (f:479b), 3c952 (f:4952), 3ccf4 (f:4cf4), 3cebf (f:4ebf), 553f1 (15:53f1) 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 @@ -66795,9 +67416,7 @@ GenRandomInBattle: ; 3ee9b (f:6e9b) pop bc pop hl ret -; 0x3eed3 -; known jump sources: 3d736 (f:5736), 3e7bc (f:67bc) Func_3eed3: ; 3eed3 (f:6ed3) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -66828,19 +67447,17 @@ Func_3eed3: ; 3eed3 (f:6ed3) ret nz ld a, $5 ld [$cc5b], a -; 3ef07 (f:6f07) + PlayMoveAnimation: ; 3ef07 (f:6f07) ld [$D07C],a call Delay3 PREDEF_JUMP MoveAnimationPredef ; predef 8 -; known jump sources: 69b (0:69b) Func_3ef12: ; 3ef12 (f:6f12) ld a, [W_CUROPPONENT] ; $d059 and a jr z, asm_3ef23 -; known jump sources: 54fb (1:54fb) Func_3ef18: ; 3ef18 (f:6f18) ld a, [W_CUROPPONENT] ; $d059 ld [$cf91], a @@ -66885,7 +67502,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 @@ -66896,7 +67513,6 @@ asm_3ef3d: ; 3ef3d (f:6f3d) ld [W_ISINBATTLE], a ; $d057 jp Func_3efeb -; known jump sources: 3ef55 (f:6f55) Func_3ef8b: ; 3ef8b (f:6f8b) ld a, $1 ld [W_ISINBATTLE], a ; $d057 @@ -66905,7 +67521,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 @@ -66926,7 +67542,7 @@ Func_3ef8b: ; 3ef8b (f:6f8b) ld [hli], a ld a, "T" ld [hli], a - ld [hl], $50 + ld [hl], "@" ld a, [$cf91] push af ld a, MON_GHOST @@ -66948,14 +67564,13 @@ Func_3ef8b: ; 3ef8b (f:6f8b) ld a, $1 call Predef ; indirect jump to Func_3f0c6 (3f0c6 (f:70c6)) -; known jump sources: 3ef88 (f:6f88) Func_3efeb: ; 3efeb (f:6feb) ld b, $0 call GoPAL_SET 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 @@ -66992,10 +67607,9 @@ Func_3efeb: ; 3efeb (f:6feb) scf ret -Unknown_3f04a: ; 3f04a (f:704a) - db $50 +TerminatorText_3f04a: ; 3f04a (f:704a) + db "@" -; known jump sources: 396e1 (e:56e1), 3ef69 (f:6f69) Func_3f04b: ; 3f04b (f:704b) ld a, [$d033] ld e, a @@ -67013,9 +67627,12 @@ 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 -; known jump sources: 3ca5b (f:4a5b), 3cceb (f:4ceb), 5dc09 (17:5c09) Func_3f073: ; 3f073 (f:7073) ld a, [$cc4f] ld h, a @@ -67058,7 +67675,6 @@ Func_3f073: ; 3f073 (f:7073) add $31 jr asm_3f0d0 -; known jump sources: 62cb (1:62cb), 3c0e1 (f:40e1), 3ecff (f:6cff), 3ef7b (f:6f7b), 3efe8 (f:6fe8) Func_3f0c6: ; 3f0c6 (f:70c6) ld a, [$cc4f] ld h, a @@ -67111,7 +67727,6 @@ asm_3f0d0: ; 3f0d0 (f:70d0) jr nz, .asm_3f0f4 ret -; known jump sources: 3cca9 (f:4ca9), 702a8 (1c:42a8), 797c2 (1e:57c2) ; loads back sprite of mon to $8000 ; assumes the corresponding mon header is already loaded LoadMonBackSprite: ; 3f103 (f:7103) @@ -67135,12 +67750,11 @@ LoadMonBackSprite: ; 3f103 (f:7103) ld b, a jp CopyVideoData -; known jump sources: 3d69f (f:569f), 3d6a4 (f:56a4), 3d6ca (f:56ca), 3d6d9 (f:56d9), 3d790 (f:5790), 3d7c5 (f:57c5), 3d7ff (f:57ff), 3e016 (f:6016), 3e701 (f:6701), 3e706 (f:6706), 3e73e (f:673e), 3e74d (f:674d), 3e815 (f:6815), 3e84a (f:684a), 3e882 (f:6882) Func_3f132: ; 3f132 (f:7132) call JumpMoveEffect ld b, $1 ret -; 3f138 (f:7138) + JumpMoveEffect: ; 3f138 (f:7138) ld a, [$ff00+$f3] ;whose turn? and a @@ -67150,7 +67764,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 @@ -67159,8 +67773,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 @@ -67169,7 +67870,6 @@ INCBIN "baserom.gbc",$3f150,$3f1fc - $3f150 ld de, W_PLAYERMONSTATUS ; $d018 ld bc, W_PLAYERBATTSTATUS2 ; $d063 -; known jump sources: 3f205 (f:7205) Func_3f20e: ; 3f20e (f:720e) ld a, [bc] bit 5, a @@ -67202,17 +67902,16 @@ Func_3f20e: ; 3f20e (f:720e) jp PrintText .asm_3f242 jp Func_3fb5e -; 3f245 (f:7245) + UnnamedText_3f245: ; 3f245 (f:7245) TX_FAR _UnnamedText_3f245 - db $50 -; 0x3f245 + 5 bytes + db "@" UnnamedText_3f24a: ; 3f24a (f:724a) TX_FAR _UnnamedText_3f24a - db $50 -; 0x3f24a + 5 bytes + db "@" +Func_3f24f: ; 3f24f (f:724f) ld hl, W_ENEMYMONSTATUS ; $cfe9 ld de, W_PLAYERMOVEEFFECT ; $cfd3 ld a, [H_WHOSETURN] ; $FF00+$f3 @@ -67297,20 +67996,21 @@ UnnamedText_3f24a: ; 3f24a (f:724a) ld c, $32 call DelayFrames jp Func_3fb5e -; 3f2df (f:72df) + UnnamedText_3f2df: ; 3f2df (f:72df) TX_FAR _UnnamedText_3f2df - db $50 -; 0x3f2df + 5 bytes + db "@" UnnamedText_3f2e4: ; 3f2e4 (f:72e4) TX_FAR _UnnamedText_3f2e4 - db $50 -; 0x3f2e4 + 5 bytes + 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 @@ -67328,7 +68028,7 @@ UnnamedText_3f2e4: ; 3f2e4 (f:72e4) res 7, a ld [de], a ret -; 3f30c (f:730c) + FreezeBurnParalyzeEffect: ; 3f30c (f:730c) xor a ld [$cc5b], a @@ -67436,13 +68136,11 @@ opponentAttacker: ; 3f382 (f:7382) UnnamedText_3f3d8: ; 3f3d8 (f:73d8) TX_FAR _UnnamedText_3f3d8 - db $50 -; 0x3f3d8 + 5 bytes + db "@" UnnamedText_3f3dd: ; 3f3dd (f:73dd) TX_FAR _UnnamedText_3f3dd - db $50 -; 0x3f3dd + 5 bytes + db "@" CheckDefrost: ; 3f3e2 (f:73e2) and a, FRZ ;are they frozen? @@ -67471,7 +68169,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 @@ -67482,17 +68180,15 @@ CheckDefrost: ; 3f3e2 (f:73e2) UnnamedText_3f423: ; 3f423 (f:7423) TX_FAR _UnnamedText_3f423 - db $50 -; 0x3f423 + 5 bytes + db "@" -; known jump sources: e137 (3:6137), 3a821 (e:6821), 3e2e8 (f:62e8) 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] @@ -67551,7 +68247,7 @@ Func_3f428: ; 3f428 (f:7428) .asm_3f48a push hl push bc - ld hl, Unknown_3f6cb ; $76cb + ld hl, StatModifierRatios ; $76cb dec b sla b ld c, b @@ -67583,7 +68279,6 @@ Func_3f428: ; 3f428 (f:7428) ld a, $e7 ld [$FF00+$98], a -; known jump sources: 3f4b8 (f:74b8) Func_3f4c3: ; 3f4c3 (f:74c3) ld a, [$FF00+$97] ld [hli], a @@ -67631,24 +68326,23 @@ 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 -; known jump sources: 3f487 (f:7487) Func_3f520: ; 3f520 (f:7520) pop hl dec [hl] -; known jump sources: 3f44b (f:744b) 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 @@ -67660,21 +68354,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 $50 -; 0x3f547 + 5 bytes + 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 @@ -67764,7 +68459,7 @@ UnnamedText_3f547: ; 3f547 (f:7547) .asm_3f5ef push hl push bc - ld hl, Unknown_3f6cb ; $76cb + ld hl, StatModifierRatios ; $76cb dec b sla b ld c, b @@ -67795,7 +68490,6 @@ UnnamedText_3f547: ; 3f547 (f:7547) ld a, $1 ld [$FF00+$98], a -; known jump sources: 3f61b (f:761b) Func_3f624: ; 3f624 (f:7624) ld a, [$FF00+$97] ld [hli], a @@ -67817,18 +68511,16 @@ 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 -; known jump sources: 3f5ec (f:75ec) Func_3f64d: ; 3f64d (f:764d) pop de pop hl inc [hl] -; known jump sources: 3f582 (f:7582), 3f5af (f:75af) Func_3f650: ; 3f650 (f:7650) ld a, [de] cp $44 @@ -67836,15 +68528,15 @@ Func_3f650: ; 3f650 (f:7650) ld hl, UnnamedText_3fb3e ; $7b3e jp PrintText -; known jump sources: 3f56f (f:756f), 3f575 (f:7575), 3f597 (f:7597), 3f59d (f:759d) Func_3f65a: ; 3f65a (f:765a) ld a, [de] cp $44 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 @@ -67856,18 +68548,17 @@ 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 - db $50 -; 0x3f683 + 5 bytes + db "@" -; known jump sources: 3f4cc (f:74cc), 3f62f (f:762f) Func_3f688: ; 3f688 (f:7688) ld hl, StatsTextStrings ; $769f ld c, $50 @@ -67892,8 +68583,50 @@ StatsTextStrings: ; 3f69f (f:769f) db "ACCURACY@" db "EVADE@" -Unknown_3f6cb: ; 3f6cb (f:76cb) -INCBIN "baserom.gbc",$3f6cb,$3f717 - $3f6cb +StatModifierRatios: ; 3f6cb (f:76cb) +; first byte is numerator, second byte is denominator + db 25, 100 ; 0.25 + db 28, 100 ; 0.28 + db 33, 100 ; 0.33 + db 40, 100 ; 0.40 + db 50, 100 ; 0.50 + db 66, 100 ; 0.66 + db 1, 1 ; 1.00 + db 15, 10 ; 1.50 + db 2, 1 ; 2.00 + db 25, 10 ; 2.50 + db 3, 1 ; 3.00 + db 35, 10 ; 3.50 + db 4, 1 ; 4.00 + +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 @@ -67911,6 +68644,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 @@ -68012,22 +68747,20 @@ INCBIN "baserom.gbc",$3f6cb,$3f717 - $3f6cb ld hl, UnnamedText_3f80c ; $780c .asm_3f7ff jp PrintText -; 3f802 (f:7802) + UnnamedText_3f802: ; 3f802 (f:7802) TX_FAR _UnnamedText_3f802 - db $50 -; 0x3f802 + 5 bytes + db "@" UnnamedText_3f807: ; 3f807 (f:7807) TX_FAR _UnnamedText_3f807 - db $50 -; 0x3f807 + 5 bytes + db "@" UnnamedText_3f80c: ; 3f80c (f:780c) TX_FAR _UnnamedText_3f80c - db $50 -; 0x3f80c + 5 bytes + db "@" +Func_3f811: ; 3f811 (f:7811) ld hl, W_PLAYERBATTSTATUS1 ; $d062 ld de, $d06a ld bc, W_NUMHITS ; $d074 @@ -68070,6 +68803,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 @@ -68092,9 +68827,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 @@ -68124,13 +68863,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 @@ -68150,37 +68890,32 @@ INCBIN "baserom.gbc",$3f8c8,$3f8cd - $3f8c8 ld hl, UnnamedText_3f912 ; $7912 .asm_3f8f8 ret -; 3f8f9 (f:78f9) + UnnamedText_3f8f9: ; 3f8f9 (f:78f9) TX_FAR _UnnamedText_3f8f9 - db $50 -; 0x3f8f9 + 5 bytes + db "@" UnnamedText_3f8fe: ; 3f8fe (f:78fe) TX_FAR _UnnamedText_3f8fe - db $50 -; 0x3f8fe + 5 bytes + db "@" UnnamedText_3f903: ; 3f903 (f:7903) TX_FAR _UnnamedText_3f903 - db $50 -; 0x3f903 + 5 bytes + db "@" UnnamedText_3f908: ; 3f908 (f:7908) TX_FAR _UnnamedText_3f908 - db $50 -; 0x3f908 + 5 bytes + db "@" UnnamedText_3f90d: ; 3f90d (f:790d) TX_FAR _UnnamedText_3f90d - db $50 -; 0x3f90d + 5 bytes + db "@" UnnamedText_3f912: ; 3f912 (f:7912) TX_FAR _UnnamedText_3f912 - db $50 -; 0x3f912 + 5 bytes + db "@" +Func_3f917: ; 3f917 (f:7917) ld hl, W_PLAYERBATTSTATUS1 ; $d062 ld de, $d06a ld a, [H_WHOSETURN] ; $FF00+$f3 @@ -68204,24 +68939,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 @@ -68233,7 +68980,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 @@ -68246,23 +68993,29 @@ INCBIN "baserom.gbc",$3f941,$3f949 - $3f941 call nz, Func_3fb89 ld hl, UnnamedText_3f9a1 ; $79a1 jp PrintText -; 3f9a1 (f:79a1) + UnnamedText_3f9a1: ; 3f9a1 (f:79a1) TX_FAR _UnnamedText_3f9a1 - db $50 -; 0x3f9a1 + 5 bytes + 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 @@ -68272,7 +69025,6 @@ INCBIN "baserom.gbc",$3f9b9,$3f9c1 - $3f9b9 set 5, [hl] ret -; known jump sources: 3f36f (f:736f), 3f880 (f:7880), 3f92b (f:792b) Func_3f9cf: ; 3f9cf (f:79cf) push hl ld hl, W_ENEMYBATTSTATUS2 ; $d068 @@ -68285,18 +69037,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 $50 -; 0x3fa77 + 5 bytes + 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 @@ -68375,75 +69211,85 @@ INCBIN "baserom.gbc",$3fa84,$3fa8a - $3fa84 pop hl .asm_3fb06 jp Func_3fb53 -; 3fb09 (f:7b09) + UnnamedText_3fb09: ; 3fb09 (f:7b09) TX_FAR _UnnamedText_3fb09 - db $50 -; 0x3fb09 + 5 bytes + 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)) -; 3fb3e (f:7b3e) + jp Bankswitch + UnnamedText_3fb3e: ; 3fb3e (f:7b3e) TX_FAR _UnnamedText_3fb3e - db $50 -; 0x3fb3e + 5 bytes + 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 - db $50 -; 0x3fb49 + 5 bytes + db "@" -; known jump sources: 3f65e (f:765e), 3f7e1 (f:77e1), 3f9ae (f:79ae) Func_3fb4e: ; 3fb4e (f:7b4e) ld a, [$ccf4] and a ret nz -; known jump sources: 27faf (9:7faf), 3bbe3 (e:7be3), 3f76b (f:776b), 3f78e (f:778e), 3f7be (f:77be), 3fb06 (f:7b06) Func_3fb53: ; 3fb53 (f:7b53) ld hl, UnnamedText_3fb59 ; $7b59 jp PrintText -; 3fb59 (f:7b59) + UnnamedText_3fb59: ; 3fb59 (f:7b59) TX_FAR _UnnamedText_3fb59 - db $50 -; 0x3fb59 + 5 bytes + db "@" -; known jump sources: 3f242 (f:7242), 3f2dc (f:72dc), 3f768 (f:7768), 3f7bb (f:77bb), 52663 (14:6663) Func_3fb5e: ; 3fb5e (f:7b5e) ld hl, UnnamedText_3fb64 ; $7b64 jp PrintText -; 3fb64 (f:7b64) + UnnamedText_3fb64: ; 3fb64 (f:7b64) TX_FAR _UnnamedText_3fb64 - db $50 -; 0x3fb64 + 5 bytes + db "@" UnnamedText_3fb69: ; 3fb69 (f:7b69) TX_FAR _UnnamedText_3fb69 - db $50 -; 0x3fb69 + 5 bytes + db "@" -; known jump sources: 3f359 (f:7359), 3f3bc (f:73bc), 52656 (14:6656) Func_3fb6e: ; 3fb6e (f:7b6e) ld hl, UnnamedText_3fb74 ; $7b74 jp PrintText -; 3fb74 (f:7b74) + UnnamedText_3fb74: ; 3fb74 (f:7b74) TX_FAR _UnnamedText_3fb74 - db $50 -; 0x3fb74 + 5 bytes + db "@" CheckTargetSubstitute: ; 3fb79 (f:7b79) push hl @@ -68457,7 +69303,6 @@ CheckTargetSubstitute: ; 3fb79 (f:7b79) pop hl ret -; known jump sources: 3f239 (f:7239), 3f2cd (f:72cd), 3f638 (f:7638), 3f998 (f:7998), 3faec (f:7aec) Func_3fb89: ; 3fb89 (f:7b89) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -68468,7 +69313,6 @@ Func_3fb89: ; 3fb89 (f:7b89) and a ret z -; known jump sources: 3f2c7 (f:72c7), 3f736 (f:7736) Func_3fb96: ; 3fb96 (f:7b96) ld [W_ANIMATIONID], a ; $d07c ld a, [H_WHOSETURN] ; $FF00+$f3 @@ -68480,7 +69324,6 @@ Func_3fb96: ; 3fb96 (f:7b96) ld [$cc5b], a jp Func_3fbbc -; known jump sources: 27f9c (9:7f9c), 2bede (a:7ede), 3f4f9 (f:74f9), 5264e (14:664e) Func_3fba8: ; 3fba8 (f:7ba8) xor a ld [$cc5b], a @@ -68493,11 +69336,9 @@ Func_3fba8: ; 3fba8 (f:7ba8) and a ret z -; known jump sources: 3f356 (f:7356), 3f366 (f:7366), 3f379 (f:7379), 3f7e5 (f:77e5), 3f8bb (f:78bb) Func_3fbb9: ; 3fbb9 (f:7bb9) ld [W_ANIMATIONID], a ; $d07c -; known jump sources: 3fba5 (f:7ba5) Func_3fbbc: ; 3fbbc (f:7bbc) push hl push de @@ -68508,19 +69349,19 @@ Func_3fbbc: ; 3fbbc (f:7bbc) pop de pop hl ret -; 3fbc8 (f:7bc8) + SECTION "bank10",ROMX,BANK[$10] 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 @@ -68531,7 +69372,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 @@ -68548,13 +69389,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 @@ -68574,12 +69415,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 @@ -68588,12 +69429,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 @@ -68612,7 +69453,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 @@ -68627,11 +69468,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 @@ -68688,7 +69529,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 @@ -68696,7 +69537,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 @@ -68721,7 +69562,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] @@ -68745,7 +69586,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] @@ -68753,7 +69594,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 @@ -68772,7 +69613,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," " @@ -68781,7 +69622,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 @@ -68814,11 +69655,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? @@ -68829,11 +69670,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? @@ -68844,25 +69685,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 @@ -69004,14 +69845,14 @@ ShowPokedexDataInternal: ; 402e2 (10:42e2) call IndexToPokedex FuncCoord 2,8 ld hl,Coord - ld a,$74 + ld a, "№" ld [hli],a ld a,$f2 ld [hli],a 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 @@ -70640,17 +71481,22 @@ PokedexOrder: ; 41024 (10:5024) db DEX_WEEPINBELL db DEX_VICTREEBEL -; known jump sources: 71c5c (1c:5c5c) 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] @@ -70669,7 +71515,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 @@ -70689,18 +71535,36 @@ 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 -; known jump sources: 41367 (10:5367) Func_41181: ; 41181 (10:5181) ld c, $64 jp DelayFrames -; known jump sources: 412be (10:52be), 4134b (10:534b), 41398 (10:5398), 413e3 (10:53e3) Func_41186: ; 41186 (10:5186) ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba @@ -70709,17 +71573,17 @@ Func_41186: ; 41186 (10:5186) ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba ret -; known jump sources: 41281 (10:5281), 41617 (10:5617), 41620 (10:5620), 41633 (10:5633), 4163c (10:563c), 41652 (10:5652) Func_41191: ; 41191 (10:5191) ld c, $50 jp DelayFrames -; known jump sources: 411a1 (10:51a1), 41298 (10:5298), 4142d (10:542d), 4145c (10:545c), 4149f (10:549f), 415f1 (10:55f1) 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 @@ -70751,7 +71615,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 @@ -70762,7 +71626,6 @@ Func_41196: ; 41196 (10:5196) ld [$d11e], a jp GetMonName -; known jump sources: 4141b (10:541b) Func_4120b: ; 4120b (10:520b) ld a, $d0 ld [rOBP1], a ; $FF00+$49 @@ -70770,12 +71633,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 @@ -70794,7 +71673,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 @@ -70812,11 +71691,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 @@ -70844,6 +71725,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 @@ -70856,7 +71739,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 @@ -70892,8 +71775,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 @@ -70920,6 +71806,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 @@ -70951,6 +71839,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 @@ -70981,7 +71871,6 @@ INCBIN "baserom.gbc",$4132e,$41336 - $4132e ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba jp CleanLCD_OAM -; known jump sources: 41376 (10:5376), 413c6 (10:53c6) Func_41411: ; 41411 (10:5411) ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba @@ -70998,7 +71887,6 @@ Func_41411: ; 41411 (10:5411) ld [$FF00+$b0], a ret -; known jump sources: 41395 (10:5395), 41403 (10:5403) Func_4142d: ; 4142d (10:542d) call Func_41196 FuncCoord 11, 4 ; $c3fb @@ -71026,7 +71914,6 @@ Func_4142d: ; 4142d (10:542d) call PlaceString jp DelayFrame -; known jump sources: 413b5 (10:53b5), 413e0 (10:53e0) Func_4145c: ; 4145c (10:545c) call Func_41196 FuncCoord 0, 4 ; $c3f0 @@ -71069,7 +71956,6 @@ Func_4145c: ; 4145c (10:545c) call PlaceString jp DelayFrame -; known jump sources: 4139b (10:539b), 413ad (10:53ad), 413e6 (10:53e6), 413fb (10:53fb) Func_4149f: ; 4149f (10:549f) call Func_41196 FuncCoord 0, 4 ; $c3f0 @@ -71082,7 +71968,6 @@ Func_4149f: ; 4149f (10:549f) jr nz, .asm_414a9 ret -; known jump sources: 412a8 (10:52a8), 413a1 (10:53a1), 413ec (10:53ec) Func_414ae: ; 414ae (10:54ae) push hl FuncCoord 0, 4 ; $c3f0 @@ -71098,7 +71983,6 @@ Func_414ae: ; 414ae (10:54ae) ld c, $a jp DelayFrames -; known jump sources: 413a6 (10:53a6), 413b2 (10:53b2), 413ba (10:53ba), 413f4 (10:53f4), 41400 (10:5400), 41408 (10:5408), 414e5 (10:54e5) Func_414c5: ; 414c5 (10:54c5) ld a, [$d08a] ld e, a @@ -71123,7 +72007,6 @@ Func_414c5: ; 414c5 (10:54c5) jr nz, Func_414c5 ret -; known jump sources: 414e1 (10:54e1), 4154c (10:554c) Func_414e8: ; 414e8 (10:54e8) push de push bc @@ -71146,16 +72029,14 @@ Func_414e8: ; 414e8 (10:54e8) pop de ret -; known jump sources: 41392 (10:5392), 413dd (10:53dd) Func_41505: ; 41505 (10:5505) ld b, BANK(Func_71882) ld hl, Func_71882 call Bankswitch ; indirect jump to Func_71882 (71882 (1c:5882)) call Func_41558 -; known jump sources: 41549 (10:5549) Func_41510: ; 41510 (10:5510) - ld hl, W_OAMBUFFER + ld hl, wOAMBuffer ld c, $14 .asm_41515 ld a, [W_BASECOORDY] ; $d082 @@ -71170,7 +72051,6 @@ Func_41510: ; 41510 (10:5510) jr nz, .asm_41515 ret -; known jump sources: 413c0 (10:53c0), 413ef (10:53ef) Func_41525: ; 41525 (10:5525) ld a, [$d08a] and a @@ -71198,9 +72078,8 @@ Func_41525: ; 41525 (10:5525) jr nz, .asm_41549 ret -; known jump sources: 4150d (10:550d) Func_41558: ; 41558 (10:5558) - ld hl, Unknown_41574 ; $5574 + ld hl, OAMPointers_41574 ; $5574 ld c, $4 xor a .asm_4155e @@ -71224,10 +72103,32 @@ 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 -; known jump sources: 4126e (10:526e), 41355 (10:5355) Func_415a4: ; 415a4 (10:55a4) ld [$cf91], a ld [$d0b5], a @@ -71245,7 +72146,6 @@ Func_415a4: ; 415a4 (10:55a4) ld c, $a jp DelayFrames -; known jump sources: 4133b (10:533b) Func_415c8: ; 415c8 (10:55c8) ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba @@ -71260,7 +72160,6 @@ Func_415c8: ; 415c8 (10:55c8) ld [$FF00+$ae], a ret -; known jump sources: 41609 (10:5609), 4163f (10:563f) Func_415df: ; 415df (10:55df) ld c, $32 call DelayFrames @@ -71278,34 +72177,35 @@ 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 call DelayFrames jp Func_415df -; 4160c (10:560c) + UnnamedText_4160c: ; 4160c (10:560c) TX_FAR _UnnamedText_4160c - db $50 -; 0x4160c + 5 bytes + db "@" +Func_41611: ; 41611 (10:5611) ld hl, UnnamedText_41623 ; $5623 call PrintText call Func_41191 ld hl, UnnamedText_41628 ; $5628 call PrintText jp Func_41191 -; 41623 (10:5623) + UnnamedText_41623: ; 41623 (10:5623) TX_FAR _UnnamedText_41623 - db $50 -; 0x41623 + 5 bytes + db "@" UnnamedText_41628: ; 41628 (10:5628) TX_FAR _UnnamedText_41628 - db $50 -; 0x41628 + 5 bytes + db "@" +Func_4162d: ; 4162d (10:562d) ld hl, UnnamedText_41642 ; $5642 call PrintText call Func_41191 @@ -71313,41 +72213,40 @@ UnnamedText_41628: ; 41628 (10:5628) call PrintText call Func_41191 jp Func_415df -; 41642 (10:5642) + UnnamedText_41642: ; 41642 (10:5642) TX_FAR _UnnamedText_41642 - db $50 -; 0x41642 + 5 bytes + db "@" UnnamedText_41647: ; 41647 (10:5647) TX_FAR _UnnamedText_41647 - db $50 -; 0x41647 + 5 bytes + db "@" -; known jump sources: 41373 (10:5373) Func_4164c: ; 4164c (10:564c) ld hl, UnnamedText_41655 ; $5655 call PrintText jp Func_41191 -; 41655 (10:5655) + UnnamedText_41655: ; 41655 (10:5655) TX_FAR _UnnamedText_41655 - db $50 -; 0x41655 + 5 bytes + 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 - db $50 -; 0x4166c + 5 bytes + db "@" UnnamedText_41671: ; 41671 (10:5671) TX_FAR _UnnamedText_41671 - db $50 -; 0x41671 + 5 bytes + db "@" -; known jump sources: 41286 (10:5286), 4128b (10:528b), 412d4 (10:52d4), 41338 (10:5338), 4135a (10:535a) Func_41676: ; 41676 (10:5676) ld [W_ANIMATIONID], a ; $d07c xor a @@ -71355,7 +72254,6 @@ Func_41676: ; 41676 (10:5676) ld a, $8 jp Predef ; indirect jump to MoveAnimation (78d5e (1e:4d5e)) -; known jump sources: 1fee (0:1fee) PlayIntro: ; 41682 (10:5682) xor a ld [H_CURRENTPRESSEDBUTTONS], a @@ -71397,12 +72295,12 @@ PlayIntroScene: ; 4169d (10:569d) call PlaySound xor a ld [$d09f], a - ld de, Unknown_41910 + ld de, IntroNidorinoAnimation1 call AnimateIntroNidorino ; hop ld a, $ba call PlaySound - ld de, Unknown_4191b + ld de, IntroNidorinoAnimation2 call AnimateIntroNidorino ld c, $a call CheckForUserInterruption @@ -71411,12 +72309,12 @@ PlayIntroScene: ; 4169d (10:569d) ; hip ld a, $b9 call PlaySound - ld de, Unknown_41910 + ld de, IntroNidorinoAnimation1 call AnimateIntroNidorino ; hop ld a, $ba call PlaySound - ld de, Unknown_4191b + ld de, IntroNidorinoAnimation2 call AnimateIntroNidorino ld c, $1e call CheckForUserInterruption @@ -71445,7 +72343,7 @@ PlayIntroScene: ; 4169d (10:569d) call PlaySound ld a, $24 ld [$d09f], a - ld de, Unknown_41926 + ld de, IntroNidorinoAnimation3 call AnimateIntroNidorino ld c, $1e call CheckForUserInterruption @@ -71464,12 +72362,12 @@ PlayIntroScene: ; 4169d (10:569d) call PlaySound xor a ld [$d09f], a - ld de, Unknown_41931 ; $5931 + ld de, IntroNidorinoAnimation4 ; $5931 call AnimateIntroNidorino ; hop ld a, $ba call PlaySound - ld de, Unknown_4193c ; $593c + ld de, IntroNidorinoAnimation5 ; $593c call AnimateIntroNidorino ld c, $14 call CheckForUserInterruption @@ -71477,7 +72375,7 @@ PlayIntroScene: ; 4169d (10:569d) ld a, $24 ld [$d09f], a - ld de, Unknown_41947 ; $5947 + ld de, IntroNidorinoAnimation6 ; $5947 call AnimateIntroNidorino ld c, $1e call CheckForUserInterruption @@ -71488,7 +72386,7 @@ PlayIntroScene: ; 4169d (10:569d) call PlaySound ld a, $48 ld [$d09f], a - ld de, Unknown_41950 ; $5950 + ld de, IntroNidorinoAnimation7 ; $5950 jp AnimateIntroNidorino AnimateIntroNidorino: ; 41793 (10:5793) @@ -71508,9 +72406,8 @@ AnimateIntroNidorino: ; 41793 (10:5793) inc de jr AnimateIntroNidorino -; known jump sources: 417a2 (10:57a2), 41829 (10:5829) Func_417ae: ; 417ae (10:57ae) - ld hl, W_OAMBUFFER + ld hl, wOAMBuffer ld a, [$d09f] ld d, a .asm_417b5 @@ -71528,9 +72425,8 @@ Func_417ae: ; 417ae (10:57ae) jr nz, .asm_417b5 ret -; known jump sources: 416bf (10:56bf) Func_417c7: ; 417c7 (10:57c7) - ld hl, W_OAMBUFFER + ld hl, wOAMBuffer ld d, $0 .asm_417cc push bc @@ -71558,13 +72454,11 @@ Func_417c7: ; 417c7 (10:57c7) jr nz, .asm_417cc ret -; known jump sources: 418e9 (10:58e9) Func_417f0: ; 417f0 (10:57f0) ld hl, $9c00 ld bc, $240 jr asm_417fe -; known jump sources: 418e0 (10:58e0) Func_417f8: ; 417f8 (10:57f8) FuncCoord 0, 4 ; $c3f0 ld hl, Coord @@ -71578,7 +72472,6 @@ asm_417fe: ; 417fe (10:57fe) jr nz, asm_417fe ret -; known jump sources: 418f1 (10:58f1), 418f9 (10:58f9), 41901 (10:5901), 41909 (10:5909) Func_41807: ; 41807 (10:5807) ld a, $1 .asm_41809 @@ -71587,7 +72480,6 @@ Func_41807: ; 41807 (10:5807) jr nz, .asm_41809 ret -; known jump sources: 416c5 (10:56c5), 41712 (10:5712), 41728 (10:5728), 41744 (10:5744), 4183c (10:583c) Func_4180e: ; 4180e (10:580e) ld a, e cp $ff @@ -71622,20 +72514,21 @@ Func_4180e: ; 4180e (10:580e) jr nz, Func_4180e ret -; known jump sources: 416af (10:56af), 41707 (10:5707), 4171d (10:571d), 41749 (10:5749) Func_4183f: ; 4183f (10:583f) FuncCoord 13, 7 ; $c439 ld hl, Coord -; known jump sources: 412bb (10:52bb), 41443 (10:5443), 41486 (10:5486) 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 -; known jump sources: 418ad (10:58ad) Func_41852: ; 41852 (10:5852) ld hl, FightIntroBackMon ; $5a99 ld de, $9000 @@ -71658,7 +72551,6 @@ Func_41852: ; 41852 (10:5852) ld a, BANK(FightIntroFrontMon) jp FarCopyData2 -; known jump sources: 41688 (10:5688) Func_4188a: ; 4188a (10:588a) ld b, $c call GoPAL_SET @@ -71700,10 +72592,9 @@ Func_4188a: ; 4188a (10:588a) call CleanLCD_OAM jp Delay3 -; known jump sources: 418aa (10:58aa) 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 @@ -71719,32 +72610,80 @@ Func_418e9: ; 418e9 (10:58e9) INCBIN "baserom.gbc",$4190c,$41910 - $4190c -Unknown_41910: ; 41910 (10:5910) -INCBIN "baserom.gbc",$41910,$4191b - $41910 - -Unknown_4191b: ; 4191b (10:591b) -INCBIN "baserom.gbc",$4191b,$41926 - $4191b - -Unknown_41926: ; 41926 (10:5926) -INCBIN "baserom.gbc",$41926,$41931 - $41926 - -Unknown_41931: ; 41931 (10:5931) -INCBIN "baserom.gbc",$41931,$4193c - $41931 - -Unknown_4193c: ; 4193c (10:593c) -INCBIN "baserom.gbc",$4193c,$41947 - $4193c - -Unknown_41947: ; 41947 (10:5947) -INCBIN "baserom.gbc",$41947,$41950 - $41947 - -Unknown_41950: ; 41950 (10:5950) -INCBIN "baserom.gbc",$41950,$41959 - $41950 +IntroNidorinoAnimation1: ; 41910 (10:5910) +; This is a sequence of pixel movements for part of the Nidorino animation. This +; list describes how Nidorino should hop. +; First byte is y movement, second byte is x movement + db 0, 0 + db -2, 2 + db -1, 2 + db 1, 2 + db 2, 2 + db $50 ; list terminator + +IntroNidorinoAnimation2: ; 4191b (10:591b) +; This is a sequence of pixel movements for part of the Nidorino animation. +; First byte is y movement, second byte is x movement + db 0, 0 + db -2, -2 + db -1, -2 + db 1, -2 + db 2, -2 + db $50 ; list terminator + +IntroNidorinoAnimation3: ; 41926 (10:5926) +; This is a sequence of pixel movements for part of the Nidorino animation. +; First byte is y movement, second byte is x movement + db 0, 0 + db -12, 6 + db -8, 6 + db 8, 6 + db 12, 6 + db $50 ; list terminator + +IntroNidorinoAnimation4: ; 41931 (10:5931) +; This is a sequence of pixel movements for part of the Nidorino animation. +; First byte is y movement, second byte is x movement + db 0, 0 + db -8, -4 + db -4, -4 + db 4, -4 + db 8, -4 + db $50 ; list terminator + +IntroNidorinoAnimation5: ; 4193c (10:593c) +; This is a sequence of pixel movements for part of the Nidorino animation. +; First byte is y movement, second byte is x movement + db 0, 0 + db -8, 4 + db -4, 4 + db 4, 4 + db 8, 4 + db $50 ; list terminator + +IntroNidorinoAnimation6: ; 41947 (10:5947) +; This is a sequence of pixel movements for part of the Nidorino animation. +; First byte is y movement, second byte is x movement + db 0, 0 + db 2, 0 + db 2, 0 + db 0, 0 + db $50 ; list terminator + +IntroNidorinoAnimation7: ; 41950 (10:5950) +; This is a sequence of pixel movements for part of the Nidorino animation. +; First byte is y movement, second byte is x movement + db -8, -16 + db -7, -14 + db -6, -12 + db -4, -10 + db $50 ; list terminator GameFreakIntro: ; 41959 (10:5959) -INCBIN "gfx/gamefreak_intro.2bpp" + INCBIN "gfx/gamefreak_intro.2bpp" FightIntroBackMon: ; 41a99 (10:5a99) -INCBIN "gfx/intro_fight.2bpp" + INCBIN "gfx/intro_fight.2bpp" FightIntroFrontMon: ; 42099 (10:6099) @@ -71823,34 +72762,11 @@ 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 - - db ROUTE_10 - dw Route10Blocks + (ROUTE_10_HEIGHT - 3) * ROUTE_10_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db ROUTE_10_WIDTH, ROUTE_10_WIDTH ; bigness, width - db (ROUTE_10_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_10_HEIGHT * (ROUTE_10_WIDTH + 6) ; window - - db ROUTE_12 - dw Route12Blocks ; connection strip location - dw $C6EB + (LAVENDER_TOWN_HEIGHT + 3) * (LAVENDER_TOWN_WIDTH + 6) + 0 ; current map position - db ROUTE_12_WIDTH, ROUTE_12_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_12_WIDTH ; window - - db ROUTE_8 - dw Route8Blocks - 3 + (ROUTE_8_WIDTH) ; connection strip location - dw $C6E8 + (LAVENDER_TOWN_WIDTH + 6) * (0 + 3) ; current map position - db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; bigness, width - db (0 * -2), (ROUTE_8_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_8_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION ROUTE_10, ROUTE_10_WIDTH, ROUTE_10_HEIGHT, 0, 0, ROUTE_10_WIDTH, Route10Blocks + SOUTH_MAP_CONNECTION ROUTE_12, ROUTE_12_WIDTH, 0, 0, ROUTE_12_WIDTH, Route12Blocks, LAVENDER_TOWN_WIDTH, LAVENDER_TOWN_HEIGHT + WEST_MAP_CONNECTION ROUTE_8, ROUTE_8_WIDTH, 0, 0, ROUTE_8_HEIGHT, Route8Blocks, LAVENDER_TOWN_WIDTH dw LavenderTownObject ; objects LavenderTownObject: ; 0x4402d (size=88) @@ -71892,14 +72808,24 @@ ViridianPokecenterBlocks: ; 440df (11:40df) INCBIN "maps/viridianpokecenter.blk" SafariZoneRestHouse1Blocks: ; 440fb (11:40fb) +SafariZoneRestHouse2Blocks: ; 440fb (11:40fb) +SafariZoneRestHouse3Blocks: ; 440fb (11:40fb) +SafariZoneRestHouse4Blocks: ; 440fb (11:40fb) INCBIN "maps/safarizoneresthouse1.blk" LavenderTownScript: ; 4410b (11:410b) jp EnableAutoTextBoxDrawing -; 0x4410e -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 @@ -71917,50 +72843,47 @@ LavenderTownText1: ; 44120 (11:4120) UnnamedText_4413c: ; 4413c (11:413c) TX_FAR _UnnamedText_4413c - db $50 -; 0x4413c + 5 bytes + db "@" UnnamedText_44141: ; 44141 (11:4141) TX_FAR _UnnamedText_44141 - db $50 -; 0x44141 + 5 bytes + db "@" UnnamedText_44146: ; 44146 (11:4146) TX_FAR _UnnamedText_44146 - db $50 -; 0x44146 + 5 bytes + db "@" LavenderTownText2: ; 4414b (11:414b) TX_FAR _LavenderTownText2 - db $50 + db "@" LavenderTownText3: ; 44150 (11:4150) TX_FAR _LavenderTownText3 - db $50 + db "@" LavenderTownText4: ; 44155 (11:4155) TX_FAR _LavenderTownText4 - db $50 + db "@" LavenderTownText5: ; 4415a (11:415a) TX_FAR _LavenderTownText5 - db $50 + db "@" LavenderTownText8: ; 4415f (11:415f) TX_FAR _LavenderTownText8 - db $50 + db "@" LavenderTownText9: ; 44164 (11:4164) TX_FAR _LavenderTownText9 - db $50 + 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) @@ -72014,8 +72937,7 @@ DisplayDexRating: ; 44169 (11:4169) UnnamedText_441cc: ; 441cc (11:41cc) TX_FAR _UnnamedText_441cc - db $50 -; 0x441cc + 5 bytes + db "@" DexRatingsTable: ; 441d1 (11:41d1) db 10 @@ -72053,111 +72975,95 @@ DexRatingsTable: ; 441d1 (11:41d1) UnnamedText_44201: ; 44201 (11:4201) TX_FAR _UnnamedText_44201 - db $50 -; 0x44201 + 5 bytes + db "@" UnnamedText_44206: ; 44206 (11:4206) TX_FAR _UnnamedText_44206 - db $50 -; 0x44206 + 5 bytes + db "@" UnnamedText_4420b: ; 4420b (11:420b) TX_FAR _UnnamedText_4420b - db $50 -; 0x4420b + 5 bytes + db "@" UnnamedText_44210: ; 44210 (11:4210) TX_FAR _UnnamedText_44210 - db $50 -; 0x44210 + 5 bytes + db "@" UnnamedText_44215: ; 44215 (11:4215) TX_FAR _UnnamedText_44215 - db $50 -; 0x44215 + 5 bytes + db "@" UnnamedText_4421a: ; 4421a (11:421a) TX_FAR _UnnamedText_4421a - db $50 -; 0x4421a + 5 bytes + db "@" UnnamedText_4421f: ; 4421f (11:421f) TX_FAR _UnnamedText_4421f - db $50 -; 0x4421f + 5 bytes + db "@" UnnamedText_44224: ; 44224 (11:4224) TX_FAR _UnnamedText_44224 - db $50 -; 0x44224 + 5 bytes + db "@" UnnamedText_44229: ; 44229 (11:4229) TX_FAR _UnnamedText_44229 - db $50 -; 0x44229 + 5 bytes + db "@" UnnamedText_4422e: ; 4422e (11:422e) TX_FAR _UnnamedText_4422e - db $50 -; 0x4422e + 5 bytes + db "@" UnnamedText_44233: ; 44233 (11:4233) TX_FAR _UnnamedText_44233 - db $50 -; 0x44233 + 5 bytes + db "@" UnnamedText_44238: ; 44238 (11:4238) TX_FAR _UnnamedText_44238 - db $50 -; 0x44238 + 5 bytes + db "@" UnnamedText_4423d: ; 4423d (11:423d) TX_FAR _UnnamedText_4423d - db $50 -; 0x4423d + 5 bytes + db "@" UnnamedText_44242: ; 44242 (11:4242) TX_FAR _UnnamedText_44242 - db $50 -; 0x44242 + 5 bytes + db "@" UnnamedText_44247: ; 44247 (11:4247) TX_FAR _UnnamedText_44247 - db $50 -; 0x44247 + 5 bytes + db "@" UnnamedText_4424c: ; 4424c (11:424c) TX_FAR _UnnamedText_4424c - db $50 -; 0x4424c + 5 bytes + db "@" 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 + db VIRIDIAN_POKECENTER_HEIGHT, VIRIDIAN_POKECENTER_WIDTH ; dimensions (y, x) + dw ViridianPokecenterBlocks, ViridianPokecenterTextPointers, ViridianPokeCenterScript ; blocks, texts, scripts db $00 ; connections - dw ViridianPokecenterObject ; objects ViridianPokeCenterScript: ; 4425d (11:425d) call Func_22fa jp EnableAutoTextBoxDrawing -; 0x44263 -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 ViridianPokeCenterText2: ; 4426c (11:426c) TX_FAR _ViridianPokeCenterText1 - db $50 - + db "@" ViridianPokeCenterText3: ; 44271 (11:4271) TX_FAR _ViridianPokeCenterText3 - db $50 + db "@" ViridianPokeCenterText4: ; 44276 (11:4276) db $f6 @@ -72184,21 +73090,19 @@ 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 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 ret -; 0x442c5 Mansion1Subscript1: ; 442c5 (11:42c5) ld hl, $d126 @@ -72225,15 +73129,12 @@ Mansion1Subscript1: ; 442c5 (11:42c5) call Func_4430b ld bc, $0d0d jp Func_4430b -; 0x44304 -; known jump sources: 442dd (11:42dd), 442e3 (11:42e3), 442e9 (11:42e9), 442ef (11:42ef) Func_44304: ; 44304 (11:4304) ld a, $2d ld [$d09f], a jr asm_44310 -; known jump sources: 442d7 (11:42d7), 442f5 (11:42f5), 442fb (11:42fb), 44301 (11:4301) Func_4430b: ; 4430b (11:430b) ld a, $e ld [$d09f], a @@ -72242,13 +73143,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) @@ -72259,9 +73173,8 @@ Mansion1TrainerHeader0: ; 44334 (11:4334) dw Mansion1AfterBattleText2 ; 0x4355 TextAfterBattle dw Mansion1EndBattleText2 ; 0x4350 TextEndBattle dw Mansion1EndBattleText2 ; 0x4350 TextEndBattle -; 0x44340 -db $ff + db $ff Mansion1Text1: ; 44341 (11:4341) db $08 ; asm @@ -72271,18 +73184,15 @@ Mansion1Text1: ; 44341 (11:4341) Mansion1BattleText2: ; 4434b (11:434b) TX_FAR _Mansion1BattleText2 - db $50 -; 0x4434b + 5 bytes + db "@" Mansion1EndBattleText2: ; 44350 (11:4350) TX_FAR _Mansion1EndBattleText2 - db $50 -; 0x44350 + 5 bytes + db "@" Mansion1AfterBattleText2: ; 44355 (11:4355) TX_FAR _Mansion1AfterBattleText2 - db $50 -; 0x44355 + 5 bytes + db "@" Mansion1Text4: ; 4435a (11:435a) db $8 @@ -72311,22 +73221,18 @@ Mansion1Text4: ; 4435a (11:435a) call PrintText .asm_44392 jp TextScriptEnd -; 0x44395 UnnamedText_44395: ; 44395 (11:4395) TX_FAR _UnnamedText_44395 - db $50 -; 0x44395 + 5 bytes + db "@" UnnamedText_4439a: ; 4439a (11:439a) TX_FAR _UnnamedText_4439a - db $50 -; 0x4439a + 5 bytes + db "@" UnnamedText_4439f: ; 4439f (11:439f) TX_FAR _UnnamedText_4439f - db $50 -; 0x4439f + 5 bytes + db "@" Mansion1Object: ; 0x443a4 (size=90) db $2e ; border tile @@ -72364,193 +73270,224 @@ 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 -; 0x444ef -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 - db $50 -; 0x44588 + 5 bytes +RockTunnel1BattleText1: ; 44588 (11:4588) + TX_FAR _RockTunnel1BattleText1 + db "@" -UnnamedText_4458d: ; 4458d (11:458d) - TX_FAR _UnnamedText_4458d - db $50 -; 0x4458d + 5 bytes +RockTunnel1EndBattleText1: ; 4458d (11:458d) + TX_FAR _RockTunnel1EndBattleText1 + db "@" -UnnamedText_44592: ; 44592 (11:4592) - TX_FAR _UnnamedText_44592 - db $50 -; 0x44592 + 5 bytes +RockTunnel1AfterBattleText1: ; 44592 (11:4592) + TX_FAR _RockTunnel1AfterBattleText1 + db "@" -UnnamedText_44597: ; 44597 (11:4597) - TX_FAR _UnnamedText_44597 - db $50 -; 0x44597 + 5 bytes +RockTunnel1BattleText2: ; 44597 (11:4597) + TX_FAR _RockTunnel1BattleText2 + db "@" -UnnamedText_4459c: ; 4459c (11:459c) - TX_FAR _UnnamedText_4459c - db $50 -; 0x4459c + 5 bytes +RockTunnel1EndBattleText2: ; 4459c (11:459c) + TX_FAR _RockTunnel1EndBattleText2 + db "@" -UnnamedText_445a1: ; 445a1 (11:45a1) - TX_FAR _UnnamedText_445a1 - db $50 -; 0x445a1 + 5 bytes +RockTunnel1AfterBattleText2: ; 445a1 (11:45a1) + TX_FAR _RockTunnel1AfterBattleText2 + db "@" -UnnamedText_445a6: ; 445a6 (11:45a6) - TX_FAR _UnnamedText_445a6 - db $50 -; 0x445a6 + 5 bytes +RockTunnel1BattleText3: ; 445a6 (11:45a6) + TX_FAR _RockTunnel1BattleText3 + db "@" -UnnamedText_445ab: ; 445ab (11:45ab) - TX_FAR _UnnamedText_445ab - db $50 -; 0x445ab + 5 bytes +RockTunnel1EndBattleText3: ; 445ab (11:45ab) + TX_FAR _RockTunnel1EndBattleText3 + db "@" -UnnamedText_445b0: ; 445b0 (11:45b0) - TX_FAR _UnnamedText_445b0 - db $50 -; 0x445b0 + 5 bytes +RockTunnel1AfterBattleText3: ; 445b0 (11:45b0) + TX_FAR _RockTunnel1AfterBattleText3 + db "@" -UnnamedText_445b5: ; 445b5 (11:45b5) - TX_FAR _UnnamedText_445b5 - db $50 -; 0x445b5 + 5 bytes +RockTunnel1BattleText4: ; 445b5 (11:45b5) + TX_FAR _RockTunnel1BattleText4 + db "@" -UnnamedText_445ba: ; 445ba (11:45ba) - TX_FAR _UnnamedText_445ba - db $50 -; 0x445ba + 5 bytes +RockTunnel1EndBattleText4: ; 445ba (11:45ba) + TX_FAR _RockTunnel1EndBattleText4 + db "@" -UnnamedText_445bf: ; 445bf (11:45bf) - TX_FAR _UnnamedText_445bf - db $50 -; 0x445bf + 5 bytes +RockTunnel1AfterBattleText4: ; 445bf (11:45bf) + TX_FAR _RockTunnel1AfterBattleText4 + db "@" -UnnamedText_445c4: ; 445c4 (11:45c4) - TX_FAR _UnnamedText_445c4 - db $50 -; 0x445c4 + 5 bytes +RockTunnel1BattleText5: ; 445c4 (11:45c4) + TX_FAR _RockTunnel1BattleText5 + db "@" -UnnamedText_445c9: ; 445c9 (11:45c9) - TX_FAR _UnnamedText_445c9 - db $50 -; 0x445c9 + 5 bytes +RockTunnel1EndBattleText5: ; 445c9 (11:45c9) + TX_FAR _RockTunnel1EndBattleText5 + db "@" -UnnamedText_445ce: ; 445ce (11:45ce) - TX_FAR _UnnamedText_445ce - db $50 -; 0x445ce + 5 bytes +RockTunnel1AfterBattleText5: ; 445ce (11:45ce) + TX_FAR _RockTunnel1AfterBattleText5 + db "@" -UnnamedText_445d3: ; 445d3 (11:45d3) - TX_FAR _UnnamedText_445d3 - db $50 -; 0x445d3 + 5 bytes +RockTunnel1BattleText6: ; 445d3 (11:45d3) + TX_FAR _RockTunnel1BattleText6 + db "@" -UnnamedText_445d8: ; 445d8 (11:45d8) - TX_FAR _UnnamedText_445d8 - db $50 -; 0x445d8 + 5 bytes +RockTunnel1EndBattleText6: ; 445d8 (11:45d8) + TX_FAR _RockTunnel1EndBattleText6 + db "@" -UnnamedText_445dd: ; 445dd (11:45dd) - TX_FAR _UnnamedText_445dd - db $50 -; 0x445dd + 5 bytes +RockTunnel1AfterBattleText6: ; 445dd (11:45dd) + TX_FAR _RockTunnel1AfterBattleText6 + db "@" -UnnamedText_445e2: ; 445e2 (11:45e2) - TX_FAR _UnnamedText_445e2 - db $50 -; 0x445e2 + 5 bytes +RockTunnel1BattleText7: ; 445e2 (11:45e2) + TX_FAR _RockTunnel1BattleText7 + db "@" -UnnamedText_445e7: ; 445e7 (11:45e7) - TX_FAR _UnnamedText_445e7 - db $50 -; 0x445e7 + 5 bytes +RockTunnel1EndBattleText7: ; 445e7 (11:45e7) + TX_FAR _RockTunnel1EndBattleText7 + db "@" -UnnamedText_445ec: ; 445ec (11:45ec) - TX_FAR _UnnamedText_445ec - db $50 -; 0x445ec + 5 bytes +RockTunnel1AfterBattleText7: ; 445ec (11:45ec) + TX_FAR _RockTunnel1AfterBattleText7 + db "@" RockTunnel1Text8: ; 445f1 (11:45f1) TX_FAR _RockTunnel1Text8 - db $50 + db "@" RockTunnel1Object: ; 0x445f6 (size=127) db $3 ; border tile @@ -72593,16 +73530,15 @@ 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 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 @@ -72639,15 +73575,15 @@ SeafoamIslands1Script: ; 447e9 (11:47e9) ld [$d71d], a ld hl, Seafoam1HolesCoords jp Func_46981 -; 0x44846 Seafoam1HolesCoords: ; 44846 (11:4846) db $06,$11 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 @@ -72676,7 +73612,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" @@ -72684,21 +73622,19 @@ 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 SSAnne3Script: ; 44932 (11:4932) jp EnableAutoTextBoxDrawing -; 0x44935 -SSAnne3Texts: ; 44935 (11:4935) +SSAnne3TextPointers: ; 44935 (11:4935) dw SSAnne3Text1 SSAnne3Text1: ; 44937 (11:4937) TX_FAR _SSAnne3Text1 - db $50 + db "@" SSAnne3Object: ; 0x4493c (size=26) db $c ; border tile @@ -72722,23 +73658,21 @@ 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 -; 0x44996 -VictoryRoad3Script_Unknown44996: ; 44996 (11:4996) +VictoryRoad3Script_44996: ; 44996 (11:4996) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -72752,16 +73686,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 @@ -72783,15 +73721,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 @@ -72804,9 +73744,18 @@ INCBIN "baserom.gbc",$449f9,$449fe - $449f9 bit 4, a jp z, CheckFightingMapTrainers ret -; 44a24 (11:4a24) -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) @@ -72817,7 +73766,6 @@ VictoryRoad3TrainerHeader0: ; 44a38 (11:4a38) dw VictoryRoad3AfterBattleText2 ; 0x4a9b TextAfterBattle dw VictoryRoad3EndBattleText2 ; 0x4a96 TextEndBattle dw VictoryRoad3EndBattleText2 ; 0x4a96 TextEndBattle -; 0x44a44 VictoryRoad3TrainerHeader2: ; 44a44 (11:4a44) db $2 ; flag's bit @@ -72827,7 +73775,6 @@ VictoryRoad3TrainerHeader2: ; 44a44 (11:4a44) dw VictoryRoad3AfterBattleText3 ; 0x4aaa TextAfterBattle dw VictoryRoad3EndBattleText3 ; 0x4aa5 TextEndBattle dw VictoryRoad3EndBattleText3 ; 0x4aa5 TextEndBattle -; 0x44a50 VictoryRoad3TrainerHeader3: ; 44a50 (11:4a50) db $3 ; flag's bit @@ -72837,7 +73784,6 @@ VictoryRoad3TrainerHeader3: ; 44a50 (11:4a50) dw VictoryRoad3AfterBattleText4 ; 0x4ab9 TextAfterBattle dw VictoryRoad3EndBattleText4 ; 0x4ab4 TextEndBattle dw VictoryRoad3EndBattleText4 ; 0x4ab4 TextEndBattle -; 0x44a5c VictoryRoad3TrainerHeader4: ; 44a5c (11:4a5c) db $4 ; flag's bit @@ -72847,9 +73793,8 @@ VictoryRoad3TrainerHeader4: ; 44a5c (11:4a5c) dw VictoryRoad3AfterBattleText5 ; 0x4ac8 TextAfterBattle dw VictoryRoad3EndBattleText5 ; 0x4ac3 TextEndBattle dw VictoryRoad3EndBattleText5 ; 0x4ac3 TextEndBattle -; 0x44a68 -db $ff + db $ff VictoryRoad3Text1: ; 44a69 (11:4a69) db $08 ; asm @@ -72877,63 +73822,51 @@ VictoryRoad3Text4: ; 44a87 (11:4a87) VictoryRoad3BattleText2: ; 44a91 (11:4a91) TX_FAR _VictoryRoad3BattleText2 - db $50 -; 0x44a91 + 5 bytes + db "@" VictoryRoad3EndBattleText2: ; 44a96 (11:4a96) TX_FAR _VictoryRoad3EndBattleText2 - db $50 -; 0x44a96 + 5 bytes + db "@" VictoryRoad3AfterBattleText2: ; 44a9b (11:4a9b) TX_FAR _VictoryRoad3AfterBattleText2 - db $50 -; 0x44a9b + 5 bytes + db "@" VictoryRoad3BattleText3: ; 44aa0 (11:4aa0) TX_FAR _VictoryRoad3BattleText3 - db $50 -; 0x44aa0 + 5 bytes + db "@" VictoryRoad3EndBattleText3: ; 44aa5 (11:4aa5) TX_FAR _VictoryRoad3EndBattleText3 - db $50 -; 0x44aa5 + 5 bytes + db "@" VictoryRoad3AfterBattleText3: ; 44aaa (11:4aaa) TX_FAR _VictoryRoad3AfterBattleText3 - db $50 -; 0x44aaa + 5 bytes + db "@" VictoryRoad3BattleText4: ; 44aaf (11:4aaf) TX_FAR _VictoryRoad3BattleText4 - db $50 -; 0x44aaf + 5 bytes + db "@" VictoryRoad3EndBattleText4: ; 44ab4 (11:4ab4) TX_FAR _VictoryRoad3EndBattleText4 - db $50 -; 0x44ab4 + 5 bytes + db "@" VictoryRoad3AfterBattleText4: ; 44ab9 (11:4ab9) TX_FAR _VictoryRoad3AfterBattleText4 - db $50 -; 0x44ab9 + 5 bytes + db "@" VictoryRoad3BattleText5: ; 44abe (11:4abe) TX_FAR _VictoryRoad3BattleText5 - db $50 -; 0x44abe + 5 bytes + db "@" VictoryRoad3EndBattleText5: ; 44ac3 (11:4ac3) TX_FAR _VictoryRoad3EndBattleText5 - db $50 -; 0x44ac3 + 5 bytes + db "@" VictoryRoad3AfterBattleText5: ; 44ac8 (11:4ac8) TX_FAR _VictoryRoad3AfterBattleText5 - db $50 -; 0x44ac8 + 5 bytes + db "@" VictoryRoad3Object: ; 0x44acd (size=106) db $7d ; border tile @@ -72970,30 +73903,58 @@ 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 -; 0x44be0 -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) @@ -73004,7 +73965,6 @@ RocketHideout1TrainerHeader0: ; 44c22 (11:4c22) dw RocketHideout1AfterBattleTxt2 ; 0x4cab TextAfterBattle dw RocketHideout1EndBattleText2 ; 0x4ca6 TextEndBattle dw RocketHideout1EndBattleText2 ; 0x4ca6 TextEndBattle -; 0x44c2e RocketHideout1TrainerHeader2: ; 44c2e (11:4c2e) db $2 ; flag's bit @@ -73014,7 +73974,6 @@ RocketHideout1TrainerHeader2: ; 44c2e (11:4c2e) dw RocketHideout1AfterBattleTxt3 ; 0x4cba TextAfterBattle dw RocketHideout1EndBattleText3 ; 0x4cb5 TextEndBattle dw RocketHideout1EndBattleText3 ; 0x4cb5 TextEndBattle -; 0x44c3a RocketHideout1TrainerHeader3: ; 44c3a (11:4c3a) db $3 ; flag's bit @@ -73024,7 +73983,6 @@ RocketHideout1TrainerHeader3: ; 44c3a (11:4c3a) dw RocketHideout1AfterBattleTxt4 ; 0x4cc9 TextAfterBattle dw RocketHideout1EndBattleText4 ; 0x4cc4 TextEndBattle dw RocketHideout1EndBattleText4 ; 0x4cc4 TextEndBattle -; 0x44c46 RocketHideout1TrainerHeader4: ; 44c46 (11:4c46) db $4 ; flag's bit @@ -73034,7 +73992,6 @@ RocketHideout1TrainerHeader4: ; 44c46 (11:4c46) dw RocketHideout1AfterBattleTxt5 ; 0x4cd8 TextAfterBattle dw RocketHideout1EndBattleText5 ; 0x4cd3 TextEndBattle dw RocketHideout1EndBattleText5 ; 0x4cd3 TextEndBattle -; 0x44c52 RocketHideout1TrainerHeader5: ; 44c52 (11:4c52) db $5 ; flag's bit @@ -73044,9 +74001,8 @@ RocketHideout1TrainerHeader5: ; 44c52 (11:4c52) dw RocketHideout1AfterBattleTxt6 ; 0x4ce2 TextAfterBattle dw RocketHideout1EndBattleText6 ; 0x4c91 TextEndBattle dw RocketHideout1EndBattleText6 ; 0x4c91 TextEndBattle -; 0x44c5e -db $ff + db $ff RocketHideout1Text1: ; 44c5f (11:4c5f) db $08 ; asm @@ -73085,81 +74041,65 @@ RocketHideout1EndBattleText6: ; 44c91 (11:4c91) set 5, [hl] ld hl, UnnamedText_44c9f ret -; 0x44c9f UnnamedText_44c9f: ; 44c9f (11:4c9f) db $6, $50 -; 0x44ca1 RocketHideout1BattleText2: ; 44ca1 (11:4ca1) TX_FAR _RocketHideout1BattleText2 - db $50 -; 0x44ca1 + 5 bytes + db "@" RocketHideout1EndBattleText2: ; 44ca6 (11:4ca6) TX_FAR _RocketHideout1EndBattleText2 - db $50 -; 0x44ca6 + 5 bytes + db "@" RocketHideout1AfterBattleTxt2: ; 44cab (11:4cab) TX_FAR _RocketHideout1AfterBattleTxt2 - db $50 -; 0x44cab + 5 bytes + db "@" RocketHideout1BattleText3: ; 44cb0 (11:4cb0) TX_FAR _RocketHideout1BattleText3 - db $50 -; 0x44cb0 + 5 bytes + db "@" RocketHideout1EndBattleText3: ; 44cb5 (11:4cb5) TX_FAR _RocketHideout1EndBattleText3 - db $50 -; 0x44cb5 + 5 bytes + db "@" RocketHideout1AfterBattleTxt3: ; 44cba (11:4cba) TX_FAR _RocketHideout1AfterBattleTxt3 - db $50 -; 0x44cba + 5 bytes + db "@" RocketHideout1BattleText4: ; 44cbf (11:4cbf) TX_FAR _RocketHideout1BattleText4 - db $50 -; 0x44cbf + 5 bytes + db "@" RocketHideout1EndBattleText4: ; 44cc4 (11:4cc4) TX_FAR _RocketHideout1EndBattleText4 - db $50 -; 0x44cc4 + 5 bytes + db "@" RocketHideout1AfterBattleTxt4: ; 44cc9 (11:4cc9) TX_FAR _RocketHideout1AfterBattleTxt4 - db $50 -; 0x44cc9 + 5 bytes + db "@" RocketHideout1BattleText5: ; 44cce (11:4cce) TX_FAR _RocketHideout1BattleText5 - db $50 -; 0x44cce + 5 bytes + db "@" RocketHideout1EndBattleText5: ; 44cd3 (11:4cd3) TX_FAR _RocketHideout1EndBattleText5 - db $50 -; 0x44cd3 + 5 bytes + db "@" RocketHideout1AfterBattleTxt5: ; 44cd8 (11:4cd8) TX_FAR _RocketHideout1AfterBattleTxt5 - db $50 -; 0x44cd8 + 5 bytes + db "@" RocketHideout1BattleText6: ; 44cdd (11:4cdd) TX_FAR _RocketHideout1BattleText6 - db $50 -; 0x44cdd + 5 bytes + db "@" RocketHideout1AfterBattleTxt6: ; 44ce2 (11:4ce2) TX_FAR _RocketHideout1AfterBattleTxt6 - db $50 -; 0x44ce2 + 5 bytes + db "@" RocketHideout1Object: ; 0x44ce7 (size=98) db $2e ; border tile @@ -73195,25 +74135,329 @@ 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 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 -; 0x44e3a -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 -; known jump sources: 5c1 (0:5c1), 74985 (1d:4985) Func_44fd7: ; 44fd7 (11:4fd7) ld a, [$c102] srl a @@ -73226,9 +74470,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 @@ -73264,89 +74508,87 @@ Func_44fd7: ; 44fd7 (11:4fd7) dec a jr nz, .asm_45006 ret -; 45023 (11:5023) -Unknown_45023: ; 45023 (11:5023) -; 0x45023 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 db BANK(SpinnerArrowAnimTiles) dw $9210 - + dw SpinnerArrowAnimTiles + $20 db 1 db BANK(SpinnerArrowAnimTiles) dw $9300 - + dw SpinnerArrowAnimTiles + $30 db 1 db BANK(SpinnerArrowAnimTiles) dw $9310 - + 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) dw $93C0 - + dw SpinnerArrowAnimTiles + $30 db 1 db BANK(SpinnerArrowAnimTiles) dw $93D0 - + dw SpinnerArrowAnimTiles db 1 db BANK(SpinnerArrowAnimTiles) dw $94C0 - + dw SpinnerArrowAnimTiles + $20 db 1 db BANK(SpinnerArrowAnimTiles) dw $94D0 - + 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) @@ -73354,10 +74596,14 @@ INCBIN "baserom.gbc",$45083,$45087 - $45083 ; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ SpinnerArrowAnimTiles: ; 45087 (11:5087) -INCBIN "gfx/spinner_arrow.2bpp" + 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) @@ -73368,9 +74614,8 @@ RocketHideout2TrainerHeader0: ; 450d1 (11:50d1) dw RocketHideout2AfterBattleTxt2 ; 0x50f2 TextAfterBattle dw RocketHideout2EndBattleText2 ; 0x50ed TextEndBattle dw RocketHideout2EndBattleText2 ; 0x50ed TextEndBattle -; 0x450dd -db $ff + db $ff RocketHideout2Text1: ; 450de (11:50de) db $08 ; asm @@ -73380,18 +74625,15 @@ RocketHideout2Text1: ; 450de (11:50de) RocketHideout2BattleText2: ; 450e8 (11:50e8) TX_FAR _RocketHideout2BattleText2 - db $50 -; 0x450e8 + 5 bytes + db "@" RocketHideout2EndBattleText2: ; 450ed (11:50ed) TX_FAR _RocketHideout2EndBattleText2 - db $50 -; 0x450ed + 5 bytes + db "@" RocketHideout2AfterBattleTxt2: ; 450f2 (11:50f2) TX_FAR _RocketHideout2AfterBattleTxt2 - db $50 -; 0x450f2 + 5 bytes + db "@" RocketHideout2Object: ; 0x450f7 (size=80) db $2e ; border tile @@ -73425,26 +74667,164 @@ 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 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 -; 0x45238 -RocketHideout3Script_Unknown45238: ; 45238 (11:5238) -INCBIN "baserom.gbc",$45238,$452fa - $45238 +RocketHideout3ScriptPointers: ; 45238 (11:5238) + dw RocketHideout3Script0 + dw Func_324c + dw EndTrainerBattle + dw RocketHideout3Script3 + +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 -RocketHideout3Texts: ; 452fa (11:52fa) - dw RocketHideout3Text1, RocketHideout3Text2, Predef5CText, Predef5CText +RocketHideout3TextPointers: ; 452fa (11:52fa) + dw RocketHideout3Text1 + dw RocketHideout3Text2 + dw Predef5CText + dw Predef5CText RocketHideout3TrainerHeaders: ; 45302 (11:5302) RocketHideout3TrainerHeader0: ; 45302 (11:5302) @@ -73455,7 +74835,6 @@ RocketHideout3TrainerHeader0: ; 45302 (11:5302) dw RocketHideout3AfterBattleTxt2 ; 0x532f TextAfterBattle dw RocketHideout3EndBattleText2 ; 0x532a TextEndBattle dw RocketHideout3EndBattleText2 ; 0x532a TextEndBattle -; 0x4530e RocketHideout3TrainerHeader2: ; 4530e (11:530e) db $2 ; flag's bit @@ -73465,9 +74844,8 @@ RocketHideout3TrainerHeader2: ; 4530e (11:530e) dw RocketHideout3AfterBattleText3 ; 0x5348 TextAfterBattle dw RocketHideout3EndBattleText3 ; 0x5343 TextEndBattle dw RocketHideout3EndBattleText3 ; 0x5343 TextEndBattle -; 0x4531a -db $ff + db $ff RocketHideout3Text1: ; 4531b (11:531b) db $08 ; asm @@ -73477,18 +74855,15 @@ RocketHideout3Text1: ; 4531b (11:531b) RocketHideout3BattleText2: ; 45325 (11:5325) TX_FAR _RocketHideout3BattleText2 - db $50 -; 0x45325 + 5 bytes + db "@" RocketHideout3EndBattleText2: ; 4532a (11:532a) TX_FAR _RocketHideout3EndBattleText2 - db $50 -; 0x4532a + 5 bytes + db "@" RocketHideout3AfterBattleTxt2: ; 4532f (11:532f) TX_FAR _RocketHideout3AfterBattleTxt2 - db $50 -; 0x4532f + 5 bytes + db "@" RocketHideout3Text2: ; 45334 (11:5334) db $08 ; asm @@ -73498,21 +74873,15 @@ RocketHideout3Text2: ; 45334 (11:5334) RocketHideout3BattleTxt: ; 4533e (11:533e) TX_FAR _RocketHideout3BattleTxt - db $50 -; 0x4533e + 5 bytes + db "@" RocketHideout3EndBattleText3: ; 45343 (11:5343) TX_FAR _RocketHideout3EndBattleText3 - db $50 -; 0x45343 + 5 bytes + db "@" RocketHideout3AfterBattleText3: ; 45348 (11:5348) - ;TX_FAR _RocketHideout3AfterBattleText3 - db $17 - dw _RocketHideout3AfterBattleText3 - db BANK(_RocketHideout3AfterBattleText3) - db $50 -; 0x45348 + 5 bytes + TX_FAR _RocketHide3AfterBattleText3 + db "@" RocketHideout3Object: ; 0x4534d (size=50) db $2e ; border tile @@ -73539,30 +74908,102 @@ 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 -; 0x45473 -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 -Unknown_454ae: ; 454ae (11:54ae) -INCBIN "baserom.gbc",$454ae,$45501 - $454ae +Func_454a3: ; 454a3 (11:54a3) + xor a + ld [wJoypadForbiddenButtonsMask], a + ld [W_ROCKETHIDEOUT4CURSCRIPT], a + ld [W_CURMAPSCRIPT], a + ret -RocketHideout4Texts: ; 45501 (11:5501) - dw RocketHideout4Text1, RocketHideout4Text2, RocketHideout4Text3, RocketHideout4Text4, Predef5CText, Predef5CText, Predef5CText, Predef5CText, Predef5CText, RocketHideout4Text10 +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 + +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) @@ -73573,7 +75014,6 @@ RocketHideout4TrainerHeader0: ; 45515 (11:5515) dw RocketHideout4AfterBattleText2 ; 0x559d TextAfterBattle dw RocketHideout4EndBattleText2 ; 0x5598 TextEndBattle dw RocketHideout4EndBattleText2 ; 0x5598 TextEndBattle -; 0x45521 RocketHideout4TrainerHeader2: ; 45521 (11:5521) db $3 ; flag's bit @@ -73583,7 +75023,6 @@ RocketHideout4TrainerHeader2: ; 45521 (11:5521) dw RocketHideout4AfterBattleText3 ; 0x55b6 TextAfterBattle dw RocketHideout4EndBattleText3 ; 0x55b1 TextEndBattle dw RocketHideout4EndBattleText3 ; 0x55b1 TextEndBattle -; 0x4552d RocketHideout4TrainerHeader3: ; 4552d (11:552d) db $4 ; flag's bit @@ -73593,9 +75032,8 @@ RocketHideout4TrainerHeader3: ; 4552d (11:552d) dw RocketHideout4AfterBattleText4 ; 0x55cf TextAfterBattle dw RocketHideout4EndBattleText4 ; 0x55ca TextEndBattle dw RocketHideout4EndBattleText4 ; 0x55ca TextEndBattle -; 0x45539 -db $ff + db $ff RocketHideout4Text1: ; 4553a (11:553a) db $08 ; asm @@ -73628,18 +75066,15 @@ RocketHideout4Text1: ; 4553a (11:553a) UnnamedText_4557a: ; 4557a (11:557a) TX_FAR _UnnamedText_4557a - db $50 -; 0x4557a + 5 bytes + db "@" UnnamedText_4557f: ; 4557f (11:557f) TX_FAR _UnnamedText_4557f - db $50 -; 0x4557f + 5 bytes + db "@" RocketHideout4Text10: ; 45584 (11:5584) TX_FAR _UnnamedText_45584 - db $50 -; 0x45584 + 5 bytes + db "@" RocketHideout4Text2: ; 45589 (11:5589) db $08 ; asm @@ -73649,21 +75084,15 @@ RocketHideout4Text2: ; 45589 (11:5589) RocketHideout4BattleText2: ; 45593 (11:5593) TX_FAR _RocketHideout4BattleText2 - db $50 -; 0x45593 + 5 bytes + db "@" RocketHideout4EndBattleText2: ; 45598 (11:5598) TX_FAR _RocketHideout4EndBattleText2 - db $50 -; 0x45598 + 5 bytes + db "@" RocketHideout4AfterBattleText2: ; 4559d (11:559d) - ;TX_FAR _RocketHideout4AfterBattleText2 - db $17 - dw _RocketHideout4AfterBattleText2 - db BANK(_RocketHideout4AfterBattleText2) - db $50 -; 0x4559d + 5 bytes + TX_FAR _RocketHide4AfterBattleText2 + db "@" RocketHideout4Text3: ; 455a2 (11:55a2) db $08 ; asm @@ -73673,21 +75102,15 @@ RocketHideout4Text3: ; 455a2 (11:55a2) RocketHideout4BattleText3: ; 455ac (11:55ac) TX_FAR _RocketHideout4BattleText3 - db $50 -; 0x455ac + 5 bytes + db "@" RocketHideout4EndBattleText3: ; 455b1 (11:55b1) TX_FAR _RocketHideout4EndBattleText3 - db $50 -; 0x455b1 + 5 bytes + db "@" RocketHideout4AfterBattleText3: ; 455b6 (11:55b6) - ;TX_FAR _RocketHideout4AfterBattleText3 - db $17 - dw _RocketHideout4AfterBattleText3 - db BANK(_RocketHideout4AfterBattleText3) - db $50 -; 0x455b6 + 5 bytes + TX_FAR _RocketHide4AfterBattleText3 + db "@" RocketHideout4Text4: ; 455bb (11:55bb) db $08 ; asm @@ -73697,13 +75120,11 @@ RocketHideout4Text4: ; 455bb (11:55bb) RocketHideout4BattleText4: ; 455c5 (11:55c5) TX_FAR _RocketHideout4BattleText4 - db $50 -; 0x455c5 + 5 bytes + db "@" RocketHideout4EndBattleText4: ; 455ca (11:55ca) TX_FAR _RocketHideout4EndBattleText4 - db $50 -; 0x455ca + 5 bytes + db "@" RocketHideout4AfterBattleText4: ; 455cf (11:55cf) db $8 @@ -73719,12 +75140,10 @@ RocketHideout4AfterBattleText4: ; 455cf (11:55cf) call Predef .asm_455e9 jp TextScriptEnd -; 0x455ec UnnamedText_455ec: ; 455ec (11:55ec) TX_FAR _UnnamedText_455ec - db $50 -; 0x455ec + 5 bytes + db "@" RocketHideout4Object: ; 0x455f1 (size=95) db $2e ; border tile @@ -73758,9 +75177,8 @@ 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 RocketHideoutElevatorScript: ; 45710 (11:5710) @@ -73768,7 +75186,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] @@ -73778,12 +75196,25 @@ RocketHideoutElevatorScript: ; 45710 (11:5710) inc a ld [$cc3c], a ret -; 0x4572c -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 @@ -73791,7 +75222,6 @@ Func_45741: ; 45741 (11:5741) ld bc, $0006 call CopyData ret -; 0x45754 Unknown_45754: ; 45754 (11:5754) INCBIN "baserom.gbc",$45754,$45759 - $45754 @@ -73805,9 +75235,8 @@ Func_4575f: ; 4575f (11:575f) ld hl, Func_7bf15 call Bankswitch ret -; 0x4576b -RocketHideoutElevatorTexts: ; 4576b (11:576b) +RocketHideoutElevatorTextPointers: ; 4576b (11:576b) dw RocketHideoutElevatorText1 RocketHideoutElevatorText1: ; 4576d (11:576d) @@ -73815,7 +75244,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 @@ -73828,7 +75257,7 @@ RocketHideoutElevatorText1: ; 4576d (11:576d) UnnamedText_4578b: ; 4578b (11:578b) TX_FAR _UnnamedText_4578b ; 0x82438 - db $d, $50 + db $d, "@" RocketHideoutElevatorObject: ; 0x45791 (size=23) db $f ; border tile @@ -73852,9 +75281,8 @@ 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 SilphCoElevatorScript: ; 457c0 (11:57c0) @@ -73862,7 +75290,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] @@ -73872,18 +75300,16 @@ SilphCoElevatorScript: ; 457c0 (11:57c0) inc a ld [$cc3c], a ret -; 0x457dc -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 -; known jump sources: 457e7 (11:57e7) -Func_457ea: ; 457ea (11:57ea) +SilphCoElevatorScript_457ea: ; 457ea (11:57ea) inc hl inc hl ld a, b @@ -73892,8 +75318,7 @@ Func_457ea: ; 457ea (11:57ea) ld [hli], a ret -; known jump sources: 45836 (11:5836) -Func_457f1: ; 457f1 (11:57f1) +SilphCoElevatorScript_457f1: ; 457f1 (11:57f1) ld hl, Unknown_45804 ; $5804 call LoadItemList ld hl, Unknown_45811 ; $5811 @@ -73908,20 +75333,19 @@ INCBIN "baserom.gbc",$45804,$45811 - $45804 Unknown_45811: ; 45811 (11:5811) INCBIN "baserom.gbc",$45811,$45827 - $45811 -; known jump sources: 457d0 (11:57d0) Func_45827: ; 45827 (11:5827) call Delay3 ld b, BANK(Func_7bf15) ld hl, Func_7bf15 call Bankswitch ; indirect jump to Func_7bf15 (7bf15 (1e:7f15)) ret -; 45833 (11:5833) -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 @@ -73949,29 +75373,33 @@ 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 SafariZoneEastScript: ; 4586b (11:586b) jp EnableAutoTextBoxDrawing -; 0x4586e -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 - db $50 + db "@" SafariZoneEastText6: ; 45881 (11:5881) TX_FAR _SafariZoneEastText6 - db $50 + db "@" SafariZoneEastText7: ; 45886 (11:5886) TX_FAR _SafariZoneEastText7 - db $50 + db "@" SafariZoneEastObject: ; 0x4588b (size=81) db $0 ; border tile @@ -74007,37 +75435,41 @@ 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 SafariZoneNorthScript: ; 459ab (11:59ab) jp EnableAutoTextBoxDrawing -; 0x459ae -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 - db $50 + db "@" SafariZoneNorthText4: ; 459c1 (11:59c1) TX_FAR _SafariZoneNorthText4 - db $50 + db "@" SafariZoneNorthText5: ; 459c6 (11:59c6) TX_FAR _SafariZoneNorthText5 - db $50 + db "@" SafariZoneNorthText6: ; 459cb (11:59cb) TX_FAR _SafariZoneNorthText6 - db $50 + db "@" SafariZoneNorthText7: ; 459d0 (11:59d0) TX_FAR _SafariZoneNorthText7 - db $50 + db "@" SafariZoneNorthObject: ; 0x459d5 (size=105) db $0 ; border tile @@ -74081,25 +75513,25 @@ 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 SafariZoneCenterScript: ; 45bb2 (11:5bb2) jp EnableAutoTextBoxDrawing -; 0x45bb5 -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 - db $50 + db "@" SafariZoneCenterText3: ; 45bc0 (11:5bc0) TX_FAR _SafariZoneCenterText3 - db $50 + db "@" SafariZoneCenterObject: ; 0x45bc5 (size=89) db $0 ; border tile @@ -74139,25 +75571,24 @@ 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 SafariZoneRestHouse1Script: ; 45ced (11:5ced) jp EnableAutoTextBoxDrawing -; 0x45cf0 -SafariZoneRestHouse1Texts: ; 45cf0 (11:5cf0) - dw SafariZoneRestHouse1Text1, SafariZoneRestHouse1Text2 +SafariZoneRestHouse1TextPointers: ; 45cf0 (11:5cf0) + dw SafariZoneRestHouse1Text1 + dw SafariZoneRestHouse1Text2 SafariZoneRestHouse1Text1: ; 45cf4 (11:5cf4) TX_FAR _SafariZoneRestHouse1Text1 - db $50 + db "@" SafariZoneRestHouse1Text2: ; 45cf9 (11:5cf9) TX_FAR _SafariZoneRestHouse1Text2 - db $50 + db "@" SafariZoneRestHouse1Object: ; 0x45cfe (size=32) db $a ; border tile @@ -74179,30 +75610,30 @@ 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 SafariZoneRestHouse2Blocks, SafariZoneRestHouse2TextPointers, SafariZoneRestHouse2Script ; blocks, texts, scripts db $00 ; connections - dw SafariZoneRestHouse2Object ; objects SafariZoneRestHouse2Script: ; 45d2a (11:5d2a) call EnableAutoTextBoxDrawing ret -; 0x45d2e -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 - db $50 + db "@" SafariZoneRestHouse2Text2: ; 45d39 (11:5d39) TX_FAR _SafariZoneRestHouse2Text2 - db $50 + db "@" SafariZoneRestHouse2Text3: ; 45d3e (11:5d3e) TX_FAR _SafariZoneRestHouse2Text3 - db $50 + db "@" SafariZoneRestHouse2Object: ; 0x45d43 (size=38) db $a ; border tile @@ -74225,30 +75656,30 @@ 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 SafariZoneRestHouse3Blocks, SafariZoneRestHouse3TextPointers, SafariZoneRestHouse3Script ; blocks, texts, scripts db $00 ; connections - dw SafariZoneRestHouse3Object ; objects SafariZoneRestHouse3Script: ; 45d75 (11:5d75) call EnableAutoTextBoxDrawing ret -; 0x45d79 -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 - db $50 + db "@" SafariZoneRestHouse3Text2: ; 45d84 (11:5d84) TX_FAR _SafariZoneRestHouse3Text2 - db $50 + db "@" SafariZoneRestHouse3Text3: ; 45d89 (11:5d89) TX_FAR _SafariZoneRestHouse3Text3 - db $50 + db "@" SafariZoneRestHouse3Object: ; 0x45d8e (size=38) db $a ; border tile @@ -74271,30 +75702,30 @@ 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 SafariZoneRestHouse4Blocks, SafariZoneRestHouse4TextPointers, SafariZoneRestHouse4Script ; blocks, texts, scripts db $00 ; connections - dw SafariZoneRestHouse4Object ; objects SafariZoneRestHouse4Script: ; 45dc0 (11:5dc0) call EnableAutoTextBoxDrawing ret -; 0x45dc4 -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 - db $50 + db "@" SafariZoneRestHouse4Text2: ; 45dcf (11:5dcf) TX_FAR _SafariZoneRestHouse4Text2 - db $50 + db "@" SafariZoneRestHouse4Text3: ; 45dd4 (11:5dd4) TX_FAR _SafariZoneRestHouse4Text3 - db $50 + db "@" SafariZoneRestHouse4Object: ; 0x45dd9 (size=38) db $a ; border tile @@ -74317,17 +75748,17 @@ 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 UnknownDungeon2Script: ; 45e0b (11:5e0b) jp EnableAutoTextBoxDrawing -; 0x45e0e -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 @@ -74361,26 +75792,28 @@ 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 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 -; 0x45f03 -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) @@ -74391,9 +75824,8 @@ UnknownDungeon3TrainerHeader0: ; 45f0f (11:5f0f) dw UnknownDungeon3MewtwoText ; 0x5f26 TextAfterBattle dw UnknownDungeon3MewtwoText ; 0x5f26 TextEndBattle dw UnknownDungeon3MewtwoText ; 0x5f26 TextEndBattle -; 0x45f1b -db $ff + db $ff UnknownDungeon3Text1: ; 45f1c (11:5f1c) db $08 ; asm @@ -74408,7 +75840,6 @@ UnknownDungeon3MewtwoText: ; 45f26 (11:5f26) call PlayCry call WaitForSoundToFinish jp TextScriptEnd -; 0x45f36 UnknownDungeon3Object: ; 0x45f36 (size=34) db $7d ; border tile @@ -74432,26 +75863,33 @@ 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 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 -; 0x45ffe -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) @@ -74462,7 +75900,6 @@ RockTunnel2TrainerHeader0: ; 46014 (11:6014) dw RockTunnel2AfterBattleText2 ; 0x60cf TextAfterBattle dw RockTunnel2EndBattleText2 ; 0x60ca TextEndBattle dw RockTunnel2EndBattleText2 ; 0x60ca TextEndBattle -; 0x46020 RockTunnel2TrainerHeader2: ; 46020 (11:6020) db $2 ; flag's bit @@ -74472,7 +75909,6 @@ RockTunnel2TrainerHeader2: ; 46020 (11:6020) dw RockTunnel2AfterBattleText3 ; 0x60de TextAfterBattle dw RockTunnel2EndBattleText3 ; 0x60d9 TextEndBattle dw RockTunnel2EndBattleText3 ; 0x60d9 TextEndBattle -; 0x4602c RockTunnel2TrainerHeader3: ; 4602c (11:602c) db $3 ; flag's bit @@ -74482,7 +75918,6 @@ RockTunnel2TrainerHeader3: ; 4602c (11:602c) dw RockTunnel2AfterBattleText4 ; 0x60ed TextAfterBattle dw RockTunnel2EndBattleText4 ; 0x60e8 TextEndBattle dw RockTunnel2EndBattleText4 ; 0x60e8 TextEndBattle -; 0x46038 RockTunnel2TrainerHeader4: ; 46038 (11:6038) db $4 ; flag's bit @@ -74492,7 +75927,6 @@ RockTunnel2TrainerHeader4: ; 46038 (11:6038) dw RockTunnel2AfterBattleText5 ; 0x60fc TextAfterBattle dw RockTunnel2EndBattleText5 ; 0x60f7 TextEndBattle dw RockTunnel2EndBattleText5 ; 0x60f7 TextEndBattle -; 0x46044 RockTunnel2TrainerHeader5: ; 46044 (11:6044) db $5 ; flag's bit @@ -74502,7 +75936,6 @@ RockTunnel2TrainerHeader5: ; 46044 (11:6044) dw RockTunnel2AfterBattleText6 ; 0x610b TextAfterBattle dw RockTunnel2EndBattleText6 ; 0x6106 TextEndBattle dw RockTunnel2EndBattleText6 ; 0x6106 TextEndBattle -; 0x46050 RockTunnel2TrainerHeader6: ; 46050 (11:6050) db $6 ; flag's bit @@ -74512,7 +75945,6 @@ RockTunnel2TrainerHeader6: ; 46050 (11:6050) dw RockTunnel2AfterBattleText7 ; 0x611a TextAfterBattle dw RockTunnel2EndBattleText7 ; 0x6115 TextEndBattle dw RockTunnel2EndBattleText7 ; 0x6115 TextEndBattle -; 0x4605c RockTunnel2TrainerHeader7: ; 4605c (11:605c) db $7 ; flag's bit @@ -74522,7 +75954,6 @@ RockTunnel2TrainerHeader7: ; 4605c (11:605c) dw RockTunnel2AfterBattleText8 ; 0x6129 TextAfterBattle dw RockTunnel2EndBattleText8 ; 0x6124 TextEndBattle dw RockTunnel2EndBattleText8 ; 0x6124 TextEndBattle -; 0x46068 RockTunnel2TrainerHeader8: ; 46068 (11:6068) db $8 ; flag's bit @@ -74532,9 +75963,8 @@ RockTunnel2TrainerHeader8: ; 46068 (11:6068) dw RockTunnel2AfterBattleText9 ; 0x6138 TextAfterBattle dw RockTunnel2EndBattleText9 ; 0x6133 TextEndBattle dw RockTunnel2EndBattleText9 ; 0x6133 TextEndBattle -; 0x46074 -db $ff + db $ff RockTunnel2Text1: ; 46075 (11:6075) db $08 ; asm @@ -74586,123 +76016,99 @@ RockTunnel2Text8: ; 460bb (11:60bb) RockTunnel2BattleText2: ; 460c5 (11:60c5) TX_FAR _RockTunnel2BattleText2 - db $50 -; 0x460c5 + 5 bytes + db "@" RockTunnel2EndBattleText2: ; 460ca (11:60ca) TX_FAR _RockTunnel2EndBattleText2 - db $50 -; 0x460ca + 5 bytes + db "@" RockTunnel2AfterBattleText2: ; 460cf (11:60cf) TX_FAR _RockTunnel2AfterBattleText2 - db $50 -; 0x460cf + 5 bytes + db "@" RockTunnel2BattleText3: ; 460d4 (11:60d4) TX_FAR _RockTunnel2BattleText3 - db $50 -; 0x460d4 + 5 bytes + db "@" RockTunnel2EndBattleText3: ; 460d9 (11:60d9) TX_FAR _RockTunnel2EndBattleText3 - db $50 -; 0x460d9 + 5 bytes + db "@" RockTunnel2AfterBattleText3: ; 460de (11:60de) TX_FAR _RockTunnel2AfterBattleText3 - db $50 -; 0x460de + 5 bytes + db "@" RockTunnel2BattleText4: ; 460e3 (11:60e3) TX_FAR _RockTunnel2BattleText4 - db $50 -; 0x460e3 + 5 bytes + db "@" RockTunnel2EndBattleText4: ; 460e8 (11:60e8) TX_FAR _RockTunnel2EndBattleText4 - db $50 -; 0x460e8 + 5 bytes + db "@" RockTunnel2AfterBattleText4: ; 460ed (11:60ed) TX_FAR _RockTunnel2AfterBattleText4 - db $50 -; 0x460ed + 5 bytes + db "@" RockTunnel2BattleText5: ; 460f2 (11:60f2) TX_FAR _RockTunnel2BattleText5 - db $50 -; 0x460f2 + 5 bytes + db "@" RockTunnel2EndBattleText5: ; 460f7 (11:60f7) TX_FAR _RockTunnel2EndBattleText5 - db $50 -; 0x460f7 + 5 bytes + db "@" RockTunnel2AfterBattleText5: ; 460fc (11:60fc) TX_FAR _RockTunnel2AfterBattleText5 - db $50 -; 0x460fc + 5 bytes + db "@" RockTunnel2BattleText6: ; 46101 (11:6101) TX_FAR _RockTunnel2BattleText6 - db $50 -; 0x46101 + 5 bytes + db "@" RockTunnel2EndBattleText6: ; 46106 (11:6106) TX_FAR _RockTunnel2EndBattleText6 - db $50 -; 0x46106 + 5 bytes + db "@" RockTunnel2AfterBattleText6: ; 4610b (11:610b) TX_FAR _RockTunnel2AfterBattleText6 - db $50 -; 0x4610b + 5 bytes + db "@" RockTunnel2BattleText7: ; 46110 (11:6110) TX_FAR _RockTunnel2BattleText7 - db $50 -; 0x46110 + 5 bytes + db "@" RockTunnel2EndBattleText7: ; 46115 (11:6115) TX_FAR _RockTunnel2EndBattleText7 - db $50 -; 0x46115 + 5 bytes + db "@" RockTunnel2AfterBattleText7: ; 4611a (11:611a) TX_FAR _RockTunnel2AfterBattleText7 - db $50 -; 0x4611a + 5 bytes + db "@" RockTunnel2BattleText8: ; 4611f (11:611f) TX_FAR _RockTunnel2BattleText8 - db $50 -; 0x4611f + 5 bytes + db "@" RockTunnel2EndBattleText8: ; 46124 (11:6124) TX_FAR _RockTunnel2EndBattleText8 - db $50 -; 0x46124 + 5 bytes + db "@" RockTunnel2AfterBattleText8: ; 46129 (11:6129) TX_FAR _RockTunnel2AfterBattleText8 - db $50 -; 0x46129 + 5 bytes + db "@" RockTunnel2BattleText9: ; 4612e (11:612e) TX_FAR _RockTunnel2BattleText9 - db $50 -; 0x4612e + 5 bytes + db "@" RockTunnel2EndBattleText9: ; 46133 (11:6133) TX_FAR _RockTunnel2EndBattleText9 - db $50 -; 0x46133 + 5 bytes + db "@" RockTunnel2AfterBattleText9: ; 46138 (11:6138) TX_FAR _RockTunnel2AfterBattleText9 - db $50 -; 0x46138 + 5 bytes + db "@" RockTunnel2Object: ; 0x4613d (size=100) db $3 ; border tile @@ -74737,14 +76143,13 @@ 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 @@ -74781,15 +76186,15 @@ SeafoamIslands2Script: ; 46315 (11:6315) ld [$d71d], a ld hl, Seafoam2HolesCoords jp Func_46981 -; 0x4636d Seafoam2HolesCoords: ; 4636d (11:636d) db $06,$12 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 @@ -74824,14 +76229,13 @@ 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 @@ -74868,15 +76272,15 @@ SeafoamIslands3Script: ; 46451 (11:6451) ld [$d71d], a ld hl, Seafoam3HolesCoords jp Func_46981 -; 0x464a9 Seafoam3HolesCoords: ; 464a9 (11:64a9) db $06,$13 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 @@ -74911,14 +76315,13 @@ 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 @@ -74960,18 +76363,20 @@ SeafoamIslands4Script: ; 4658d (11:658d) bit 4, a ret nz .asm_465ed - ld hl, SeafoamIslands4Scripts + ld hl, SeafoamIslands4ScriptPointers ld a, [W_SEAFOAMISLANDS4CURSCRIPT] jp CallFunctionInTable -; 0x465f6 Seafoam4HolesCoords: ; 465f6 (11:65f6) db $10,$03 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] @@ -74995,7 +76400,6 @@ SeafoamIslands4Script0: ; 46603 (11:6603) ld a, $1 ld [W_SEAFOAMISLANDS4CURSCRIPT], a ret -; 0x46632 RLEMovement46632: ; 46632 (11:6632) db $80,6 @@ -75010,10 +76414,43 @@ SeafoamIslands4Script1: ; 46639 (11:6639) ld a, $0 ld [W_SEAFOAMISLANDS4CURSCRIPT], a ret -; 0x46644 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] @@ -75022,10 +76459,14 @@ SeafoamIslands4Script3: ; 4668f (11:668f) ld a, $0 ld [W_SEAFOAMISLANDS4CURSCRIPT], a ret -; 0x4669a -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 @@ -75064,40 +76505,53 @@ 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 SeafoamIslands5Script: ; 46799 (11:6799) call EnableAutoTextBoxDrawing ld a, [W_SEAFOAMISLANDS5CURSCRIPT] - ld hl, SeafoamIslands5Scripts + ld hl, SeafoamIslands5ScriptPointers jp CallFunctionInTable -; 0x467a5 -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 @@ -75110,26 +76564,93 @@ SeafoamIslands5Script0: ; 467c7 (11:67c7) ld a, $1 ld [W_SEAFOAMISLANDS5CURSCRIPT], a ret -; 0x467fe -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 + +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 + +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 -; 0x46816 -INCBIN "baserom.gbc",$46816,$4687c - $46816 +SeaFoamIslands5Script_46872: ; 46872 (11:6872) + xor a + ld [$d700], a + ld [$d11a], a + jp ForceBikeOrSurf -SeafoamIslands5Texts: ; 4687c (11:687c) - dw BoulderText, BoulderText, SeafoamIslands5Text3, SeafoamIslands5Text4, SeafoamIslands5Text5 +SeafoamIslands5TextPointers: ; 4687c (11:687c) + dw BoulderText + dw BoulderText + dw SeafoamIslands5Text3 + dw SeafoamIslands5Text4 + dw SeafoamIslands5Text5 SeafoamIslands5TrainerHeaders: ; 46886 (11:6886) SeafoamIslands5TrainerHeader0: ; 46886 (11:6886) @@ -75140,9 +76661,8 @@ SeafoamIslands5TrainerHeader0: ; 46886 (11:6886) dw SeafoamIslands5BattleText2 ; 0x68a2 TextAfterBattle dw SeafoamIslands5BattleText2 ; 0x68a2 TextEndBattle dw SeafoamIslands5BattleText2 ; 0x68a2 TextEndBattle -; 0x46892 -db $ff + db $ff SeafoamIslands5Text3: ; 46893 (11:6893) db $08 ; asm @@ -75159,15 +76679,14 @@ SeafoamIslands5BattleText2: ; 468a2 (11:68a2) call PlayCry call WaitForSoundToFinish jp TextScriptEnd -; 0x468b2 SeafoamIslands5Text4: ; 468b2 (11:68b2) TX_FAR _SeafoamIslands5Text4 - db $50 + db "@" SeafoamIslands5Text5: ; 468b7 (11:68b7) TX_FAR _SeafoamIslands5Text5 - db $50 + db "@" SeafoamIslands5Object: ; 0x468bc (size=62) db $7d ; border tile @@ -75196,7 +76715,6 @@ SeafoamIslands5Object: ; 0x468bc (size=62) SeafoamIslands5Blocks: ; 468fa (11:68fa) INCBIN "maps/seafoamislands5.blk" -; known jump sources: 44843 (11:4843), 44a06 (11:4a06), 4636a (11:636a) Func_46981: ; 46981 (11:6981) xor a ld [$d71e], a @@ -75205,7 +76723,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] @@ -75213,7 +76731,6 @@ Func_46981: ; 46981 (11:6981) set 4, [hl] ret -; known jump sources: 3ec5 (0:3ec5) Func_469a0: ; 469a0 (11:69a0) ld hl, $ffeb xor a @@ -75241,7 +76758,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 @@ -75271,7 +76788,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] @@ -75283,7 +76800,6 @@ Func_469a0: ; 469a0 (11:69a0) ld [$FF00+$ee], a ret -; known jump sources: 469dc (11:69dc) Func_46a01: ; 46a01 (11:6a01) ld a, [$c109] cp $4 @@ -75326,7 +76842,7 @@ Func_46a01: ; 46a01 (11:6a01) .asm_46a3d ld [$FF00+$ea], a ret -; 46a40 (11:6a40) + HiddenObjectMaps: ; 46a40 (11:6a40) db REDS_HOUSE_2F db BLUES_HOUSE @@ -75933,7 +77449,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 @@ -76113,27 +77629,10 @@ SECTION "bank12",ROMX,BANK[$12] Route7_h: ; 0x48000 to 0x48022 (34 bytes) (bank=12) (id=18) db $00 ; tileset db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; dimensions (y, x) - dw Route7Blocks, $4155, Route7Script ; blocks, texts, scripts + dw Route7Blocks, Route7TextPointers, Route7Script ; blocks, texts, scripts db WEST | EAST ; connections - - ; connections data - - db CELADON_CITY - dw CeladonCityBlocks - 3 + (CELADON_CITY_WIDTH * 2) ; connection strip location - dw $C6E8 + (ROUTE_7_WIDTH + 6) * (-3 + 3) ; current map position - db $f, CELADON_CITY_WIDTH ; bigness, width - db (-4 * -2), (CELADON_CITY_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * CELADON_CITY_WIDTH ; window - - db SAFFRON_CITY - dw SaffronCityBlocks + (SAFFRON_CITY_WIDTH) ; connection strip location - dw $C6E5 + (ROUTE_7_WIDTH + 6) * (-3 + 4) ; current map position - db $f, SAFFRON_CITY_WIDTH ; bigness, width - db (-4 * -2), 0 ; alignments (y, x) - dw $C6EF + SAFFRON_CITY_WIDTH ; window - - ; end connections data - + WEST_MAP_CONNECTION CELADON_CITY, CELADON_CITY_WIDTH, -3, 1, CELADON_CITY_HEIGHT - 3, CeladonCityBlocks, ROUTE_7_WIDTH + EAST_MAP_CONNECTION SAFFRON_CITY, SAFFRON_CITY_WIDTH, -3, 1, SAFFRON_CITY_HEIGHT - 3, SaffronCityBlocks, ROUTE_7_WIDTH dw Route7Object ; objects Route7Object: ; 0x48022 (size=47) @@ -76178,7 +77677,6 @@ Route15GateUpstairsBlocks: ; 480db (12:40db) Route11GateUpstairsBlocks: ; 480db (12:40db) INCBIN "maps/route11gateupstairs.blk" -; known jump sources: c72b (3:472b) Func_480eb: ; 480eb (12:40eb) call Load16BitRegisters ld a, [rBGP] ; $FF00+$47 @@ -76191,7 +77689,6 @@ Func_480eb: ; 480eb (12:40eb) ld [rBGP], a ; $FF00+$47 ret -; known jump sources: 7920b (1e:520b) Func_480ff: ; 480ff (12:40ff) call Load16BitRegisters ld a, $1 @@ -76208,7 +77705,6 @@ Func_480ff: ; 480ff (12:40ff) ld [$d0a0], a ret -; known jump sources: 4810a (12:410a), 4810d (12:410d) Func_48119: ; 48119 (12:4119) ld a, [H_NUMTOPRINT] ; $FF00+$96 (aliases: H_MULTIPLICAND) xor b @@ -76217,7 +77713,6 @@ Func_48119: ; 48119 (12:4119) ld c, $3 jp DelayFrames -; known jump sources: 3dc34 (f:5c34), 79212 (1e:5212) Func_48125: ; 48125 (12:4125) call Load16BitRegisters xor a @@ -76234,7 +77729,6 @@ Func_48125: ; 48125 (12:4125) ld [rWX], a ; $FF00+$4b ret -; known jump sources: 4812b (12:412b), 48133 (12:4133) Func_4813f: ; 4813f (12:413f) ld a, [$FF00+$97] xor b @@ -76247,30 +77741,30 @@ Func_4813f: ; 4813f (12:413f) ld [rWX], a ; $FF00+$4b ld c, $4 jp DelayFrames -; 48152 (12:4152) + Route7Script: ; 48152 (12:4152) jp EnableAutoTextBoxDrawing -; 0x48155 -; XXX -db $57, $41 +Route7TextPointers: ; 48155 (12:4155) + dw Route7Text1 Route7Text1: ; 48157 (12:4157) TX_FAR _Route7Text1 - db $50 + db "@" RedsHouse1F_h: ; 4815c (12:415c) db $01 ; tileset - db $04,$04 ; dimensions - dw RedsHouse1FBlocks, RedsHouse1FTexts, RedsHouse1FScript + db REDS_HOUSE_1F_HEIGHT, REDS_HOUSE_1F_WIDTH ; dimensions + 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 @@ -76350,15 +77844,9 @@ RedsHouse1FObject: ; 481e4 (12:41e4) db $33,4+4,5+4,$FF,$D2,1 ; Mom ; warp-to - - dw $C6EF + 4 + (4 + 6) * (3) + 1 - db 7,2 - - dw $C6EF + 4 + (4 + 6) * (3) + 1 - db 7,3 - - dw $C6EF + 4 + (4 + 6) * (0) + 3 - db 1,7 + EVENT_DISP REDS_HOUSE_1F_WIDTH, 7, 2 + EVENT_DISP REDS_HOUSE_1F_WIDTH, 7, 3 + EVENT_DISP REDS_HOUSE_1F_WIDTH, 1, 7 RedsHouse1FBlocks: ; 48209 (12:4209) INCBIN "maps/redshouse1f.blk" @@ -76366,17 +77854,31 @@ 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 CeladonMart3Script: ; 48225 (12:4225) jp EnableAutoTextBoxDrawing -; 0x48228 -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 @@ -76403,72 +77905,68 @@ CeladonMart3Text1: ; 4824a (12:424a) TM18PreReceiveText: ; 48278 (12:4278) TX_FAR _TM18PreReceiveText - db $50 -; 0x48278 + 5 bytes + db "@" ReceivedTM18Text: ; 4827d (12:427d) TX_FAR _ReceivedTM18Text ; 0x9c85a - db $0B, $50 -; 0x48283 + db $0B, "@" TM18ExplanationText: ; 48283 (12:4283) TX_FAR _TM18ExplanationText - db $50 -; 0x48283 + 5 bytes + db "@" TM18NoRoomText: ; 48288 (12:4288) TX_FAR _TM18NoRoomText - db $50 -; 0x48288 + 5 bytes + db "@" CeladonMart3Text2: ; 4828d (12:428d) TX_FAR _CeladonMart3Text2 - db $50 + db "@" CeladonMart3Text3: ; 48292 (12:4292) TX_FAR _CeladonMart3Text3 - db $50 + db "@" CeladonMart3Text4: ; 48297 (12:4297) TX_FAR _CeladonMart3Text4 - db $50 + db "@" CeladonMart3Text5: ; 4829c (12:429c) TX_FAR _CeladonMart3Text5 - db $50 + db "@" CeladonMart3Text12 CeladonMart3Text10: ; 482a1 (12:42a1) CeladonMart3Text8: ; 482a1 (12:42a1) CeladonMart3Text6: ; 482a1 (12:42a1) TX_FAR _CeladonMart3Text6 - db $50 + db "@" CeladonMart3Text7: ; 482a6 (12:42a6) TX_FAR _CeladonMart3Text7 - db $50 + db "@" CeladonMart3Text9: ; 482ab (12:42ab) TX_FAR _CeladonMart3Text9 - db $50 + db "@" CeladonMart3Text11: ; 482b0 (12:42b0) TX_FAR _CeladonMart3Text11 - db $50 + db "@" CeladonMart3Text13: ; 482b5 (12:42b5) TX_FAR _CeladonMart3Text13 - db $50 + db "@" CeladonMart3Text14: ; 482ba (12:42ba) TX_FAR _CeladonMart3Text14 - db $50 + db "@" CeladonMart3Text17: ; 482bf (12:42bf) CeladonMart3Text16: ; 482bf (12:42bf) CeladonMart3Text15: ; 482bf (12:42bf) TX_FAR _CeladonMart3Text15 - db $50 + db "@" CeladonMart3Object: ; 0x482c4 (size=94) db $f ; border tile @@ -76510,29 +78008,30 @@ 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 CeladonMart4Script: ; 48356 (12:4356) jp EnableAutoTextBoxDrawing -; 0x48359 -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 - db $50 + db "@" CeladonMart4Text3: ; 48366 (12:4366) TX_FAR _CeladonMart4Text3 - db $50 + db "@" CeladonMart4Text4: ; 4836b (12:436b) TX_FAR _CeladonMart4Text4 - db $50 + db "@" CeladonMart4Object: ; 0x48370 (size=49) db $f ; border tile @@ -76561,21 +78060,18 @@ 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 CeladonMartRoofScript: ; 483d5 (12:43d5) jp EnableAutoTextBoxDrawing -; 0x483d8 -; known jump sources: 4856d (12:456d) -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 @@ -76604,26 +78100,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 -; known jump sources: 4858a (12:458a) -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 @@ -76632,17 +78130,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 @@ -76655,13 +78153,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] @@ -76670,13 +78168,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] @@ -76685,62 +78183,80 @@ 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 -; known jump sources: 4847b (12:447b), 4849f (12:449f), 484c3 (12:44c3) RemoveItemByIDBank12: ; 484e6 (12:44e6) ld b, BANK(RemoveItemByID) ld hl, RemoveItemByID jp Bankswitch ; indirect jump to RemoveItemByID (17f37 (5:7f37)) -; 484ee (12:44ee) UnnamedText_484ee: ; 484ee (12:44ee) TX_FAR _UnnamedText_484ee - db $50 -; 0x484ee + 5 bytes + 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 "@" -; known jump sources: 4844b (12:444b) -Func_48532: ; 48532 (12:4532) +CeladonMartRoofScript_48532: ; 48532 (12:4532) ld hl, $cc5b xor a ld [$FF00+$db], a @@ -76762,17 +78278,22 @@ Func_48532: ; 48532 (12:4532) inc [hl] pop hl jr .asm_48538 -; 4855b (12:455b) -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 - db $50 + db "@" CeladonMartRoofText2: ; 4856c (12:456c) db $08 ; asm - call Func_483d8 + call CeladonMartRoofScript_483d8 ld a, [$cd37] and a jr z, .asm_914b9 ; 0x48574 @@ -76784,7 +78305,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 @@ -76794,21 +78315,18 @@ CeladonMartRoofText2: ; 4856c (12:456c) CeladonMartRoofText3: ; 48598 (12:4598) TX_FAR _UnnamedText_48598 - db $50 -; 0x48598 + 5 bytes + db "@" CeladonMartRoofText4: ; 4859d (12:459d) -UnnamedText_4859d: ; 4859d (12:459d) - TX_FAR _UnnamedText_4859d - db $50 -; 0x4859d + 5 bytes + TX_FAR _CeladonMartRoofText4 + db "@" CeladonMartRoofText5: ; 485a2 (12:45a2) db $f5 CeladonMartRoofText6: ; 485a3 (12:45a3) TX_FAR _CeladonMartRoofText6 - db $50 + db "@" CeladonMartRoofObject: ; 0x485a8 (size=36) db $42 ; border tile @@ -76835,9 +78353,8 @@ 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 CeladonMartElevatorScript: ; 48600 (12:4600) @@ -76845,7 +78362,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] @@ -76855,19 +78372,31 @@ CeladonMartElevatorScript: ; 48600 (12:4600) inc a ld [$cc3c], a ret -; 0x4861c -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 ld de, $cc5b ld bc, $000a jp CopyData -; 0x48643 Unknown_48643: ; 48643 (12:4643) INCBIN "baserom.gbc",$48643,$4864a - $48643 @@ -76879,14 +78408,13 @@ Func_48654: ; 48654 (12:4654) ld b, BANK(Func_7bf15) ld hl, Func_7bf15 jp Bankswitch -; 0x4865c -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 @@ -76914,23 +78442,23 @@ 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 CeladonMansion1Script: ; 48694 (12:4694) jp EnableAutoTextBoxDrawing -; 0x48697 -CeladonMansion1Texts: ; 48697 (12:4697) - dw CeladonMansion1Text1, CeladonMansion1Text2, CeladonMansion1Text3, CeladonMansion1Text4, CeladonMansion1Text5 -;0x486a1 +CeladonMansion1TextPointers: ; 48697 (12:4697) + dw CeladonMansion1Text1 + dw CeladonMansion1Text2 + dw CeladonMansion1Text3 + dw CeladonMansion1Text4 + dw CeladonMansion1Text5 Func_486a1: ; 486a1 (12:46a1) call PlayCry jp TextScriptEnd -; 0x486a7 CeladonMansion1Text1: ; 486a7 (12:46a7) TX_FAR _CeladonMansion1Text1 @@ -76940,25 +78468,23 @@ CeladonMansion1Text1: ; 486a7 (12:46a7) CeladonMansion1Text2: ; 486b1 (12:46b1) TX_FAR _CeladonMansion1Text2 - db $50 + db "@" CeladonMansion1Text3: ; 486b6 (12:46b6) TX_FAR _CeladonMansion1Text3 db $8 ld a, $4 jp Func_486a1 -; 0x486c0 CeladonMansion1Text4: ; 486c0 (12:46c0) TX_FAR _CeladonMansion1Text4 db $8 ld a, $f jp Func_486a1 -; 0x486ca CeladonMansion1Text5: ; 486ca (12:46ca) TX_FAR _CeladonMansion1Text5 - db $50 + db "@" CeladonMansion1Object: ; 0x486cf (size=71) db $f ; border tile @@ -76992,22 +78518,20 @@ 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 CeladonMansion2Script: ; 4873a (12:473a) call EnableAutoTextBoxDrawing ret -; 0x4873e -CeladonMansion2Texts: ; 4873e (12:473e) +CeladonMansion2TextPointers: ; 4873e (12:473e) dw CeladonMansion2Text1 CeladonMansion2Text1: ; 48740 (12:4740) TX_FAR _CeladonMansion2Text1 - db $50 + db "@" CeladonMansion2Object: ; 0x48745 (size=39) db $f ; border tile @@ -77035,16 +78559,14 @@ 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 CeladonMansion3Script: ; 48790 (12:4790) jp EnableAutoTextBoxDrawing -; 0x48793 -CeladonMansion3Texts: ; 48793 (12:4793) +CeladonMansion3TextPointers: ; 48793 (12:4793) dw ProgrammerText dw GraphicArtistText dw WriterText @@ -77056,22 +78578,22 @@ CeladonMansion3Texts: ; 48793 (12:4793) ProgrammerText: ; 487a3 (12:47a3) TX_FAR _ProgrammerText - db $50 + db "@" GraphicArtistText: ; 487a8 (12:47a8) TX_FAR _GraphicArtistText - db $50 + db "@" WriterText: ; 487ad (12:47ad) TX_FAR _WriterText - db $50 + db "@" 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 @@ -77087,7 +78609,6 @@ DirectorText: ; 487b2 (12:47b2) .GameDesigner ; 487d0 (12:47d0) TX_FAR _GameDesignerText db "@" -; 0x487d5 .CompletedDexText TX_FAR _CompletedDexText ; 0x9d0ad @@ -77099,23 +78620,22 @@ DirectorText: ; 487b2 (12:47b2) ld a, $1 ld [$cc3c], a jp TextScriptEnd -; 0x487eb GameFreakPCText1: ; 487eb (12:47eb) TX_FAR _CeladonMansion3Text5 - db $50 + db "@" GameFreakPCText2: ; 487f0 (12:47f0) TX_FAR _CeladonMansion3Text6 - db $50 + db "@" GameFreakPCText3: ; 487f5 (12:47f5) TX_FAR _CeladonMansion3Text7 - db $50 + db "@" GameFreakSignText: ; 487fa (12:47fa) TX_FAR _CeladonMansion3Text8 - db $50 + db "@" CeladonMansion3Object: ; 0x487ff (size=72) db $f ; border tile @@ -77150,21 +78670,19 @@ 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 CeladonMansion4Script: ; 4886b (12:486b) jp EnableAutoTextBoxDrawing -; 0x4886e -CeladonMansion4Texts: ; 4886e (12:486e) +CeladonMansion4TextPointers: ; 4886e (12:486e) dw CeladonMansion4Text1 CeladonMansion4Text1: ; 48870 (12:4870) TX_FAR _CeladonMansion4Text1 - db $50 + db "@" CeladonMansion4Object: ; 0x48875 (size=31) db $9 ; border tile @@ -77190,18 +78708,19 @@ 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 CeladonPokecenterScript: ; 488b8 (12:48b8) call Func_22fa jp EnableAutoTextBoxDrawing -; 0x488be -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 @@ -77211,11 +78730,11 @@ CeladonPokecenterText1: ; 488c7 (12:48c7) CeladonPokecenterText2: ; 488c8 (12:48c8) TX_FAR _CeladonPokecenterText2 - db $50 + db "@" CeladonPokecenterText3: ; 488cd (12:48cd) TX_FAR _CeladonPokecenterText3 - db $50 + db "@" CeladonPokecenterObject: ; 0x488d2 (size=44) db $0 ; border tile @@ -77239,26 +78758,24 @@ 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 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 -; 0x48927 -CeladonGymScript_Unknown48927: ; 48927 (12:4927) +CeladonGymScript_48927: ; 48927 (12:4927) ld hl, Gym4CityName ; $4930 ld de, Gym4LeaderName ; $493d jp LoadGymLeaderAndCityName @@ -77269,23 +78786,26 @@ Gym4CityName: ; 48930 (12:4930) Gym4LeaderName: ; 4893d (12:493d) db "ERIKA@" -; known jump sources: 4895b (12:495b), 489a3 (12:49a3) 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 -; known jump sources: 48a1d (12:4a1d) Func_48963: ; 48963 (12:4963) ld a, $9 ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c @@ -77316,9 +78836,19 @@ Func_48963: ; 48963 (12:4963) ld hl, $d77d set 0, [hl] jp Func_48943 -; 489a6 (12:49a6) -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) @@ -77329,7 +78859,6 @@ CeladonGymTrainerHeader0: ; 489bc (12:49bc) dw CeladonGymAfterBattleText2 ; 0x4a95 TextAfterBattle dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle dw CeladonGymEndBattleText2 ; 0x4a90 TextEndBattle -; 0x489c8 CeladonGymTrainerHeader2: ; 489c8 (12:49c8) db $3 ; flag's bit @@ -77339,7 +78868,6 @@ CeladonGymTrainerHeader2: ; 489c8 (12:49c8) dw CeladonGymAfterBattleText3 ; 0x4aae TextAfterBattle dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle dw CeladonGymEndBattleText3 ; 0x4aa9 TextEndBattle -; 0x489d4 CeladonGymTrainerHeader3: ; 489d4 (12:49d4) db $4 ; flag's bit @@ -77349,7 +78877,6 @@ CeladonGymTrainerHeader3: ; 489d4 (12:49d4) dw CeladonGymAfterBattleText4 ; 0x4ac7 TextAfterBattle dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle dw CeladonGymEndBattleText4 ; 0x4ac2 TextEndBattle -; 0x489e0 CeladonGymTrainerHeader4: ; 489e0 (12:49e0) db $5 ; flag's bit @@ -77359,7 +78886,6 @@ CeladonGymTrainerHeader4: ; 489e0 (12:49e0) dw CeladonGymAfterBattleText5 ; 0x4ae0 TextAfterBattle dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle dw CeladonGymEndBattleText5 ; 0x4adb TextEndBattle -; 0x489ec CeladonGymTrainerHeader5: ; 489ec (12:49ec) db $6 ; flag's bit @@ -77369,7 +78895,6 @@ CeladonGymTrainerHeader5: ; 489ec (12:49ec) dw CeladonGymAfterBattleText6 ; 0x4af9 TextAfterBattle dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle dw CeladonGymEndBattleText6 ; 0x4af4 TextEndBattle -; 0x489f8 CeladonGymTrainerHeader6: ; 489f8 (12:49f8) db $7 ; flag's bit @@ -77379,7 +78904,6 @@ CeladonGymTrainerHeader6: ; 489f8 (12:49f8) dw CeladonGymAfterBattleText7 ; 0x4b12 TextAfterBattle dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle dw CeladonGymEndBattleText7 ; 0x4b0d TextEndBattle -; 0x48a04 CeladonGymTrainerHeader7: ; 48a04 (12:4a04) db $8 ; flag's bit @@ -77389,9 +78913,8 @@ CeladonGymTrainerHeader7: ; 48a04 (12:4a04) dw CeladonGymAfterBattleText8 ; 0x4b2b TextAfterBattle dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle dw CeladonGymEndBattleText8 ; 0x4b26 TextEndBattle -; 0x48a10 -db $ff + db $ff CeladonGymText1: ; 48a11 (12:4a11) db $08 ; asm @@ -77430,36 +78953,30 @@ CeladonGymText1: ; 48a11 (12:4a11) UnnamedText_48a5e: ; 48a5e (12:4a5e) TX_FAR _UnnamedText_48a5e - db $50 -; 0x48a5e + 5 bytes + db "@" UnnamedText_48a63: ; 48a63 (12:4a63) TX_FAR _UnnamedText_48a63 - db $50 -; 0x48a63 + 5 bytes + db "@" UnnamedText_48a68: ; 48a68 (12:4a68) TX_FAR _UnnamedText_48a68 - db $50 -; 0x48a68 + 5 bytes + db "@" CeladonGymText9: ; 48a6d (12:4a6d) UnnamedText_48a6d: ; 48a6d (12:4a6d) TX_FAR _UnnamedText_48a6d - db $50 -; 0x48a6d + 5 bytes + db "@" TM21Text: ; 48a72 (12:4a72) TX_FAR _ReceivedTM21Text ; 0x9d50c db $0B TX_FAR _TM21ExplanationText ; 0x9d520 - db $50 -; 0x48a7c + db "@" TM21NoRoomText: ; 48a7c (12:4a7c) TX_FAR _TM21NoRoomText - db $50 -; 0x48a7c + 5 bytes + db "@" CeladonGymText2: ; 48a81 (12:4a81) db $08 ; asm @@ -77469,18 +78986,15 @@ CeladonGymText2: ; 48a81 (12:4a81) CeladonGymBattleText2: ; 48a8b (12:4a8b) TX_FAR _CeladonGymBattleText2 - db $50 -; 0x48a8b + 5 bytes + db "@" CeladonGymEndBattleText2: ; 48a90 (12:4a90) TX_FAR _CeladonGymEndBattleText2 - db $50 -; 0x48a90 + 5 bytes + db "@" CeladonGymAfterBattleText2: ; 48a95 (12:4a95) TX_FAR _CeladonGymAfterBattleText2 - db $50 -; 0x48a95 + 5 bytes + db "@" CeladonGymText3: ; 48a9a (12:4a9a) db $08 ; asm @@ -77490,18 +79004,15 @@ CeladonGymText3: ; 48a9a (12:4a9a) CeladonGymBattleText3: ; 48aa4 (12:4aa4) TX_FAR _CeladonGymBattleText3 - db $50 -; 0x48aa4 + 5 bytes + db "@" CeladonGymEndBattleText3: ; 48aa9 (12:4aa9) TX_FAR _CeladonGymEndBattleText3 - db $50 -; 0x48aa9 + 5 bytes + db "@" CeladonGymAfterBattleText3: ; 48aae (12:4aae) TX_FAR _CeladonGymAfterBattleText3 - db $50 -; 0x48aae + 5 bytes + db "@" CeladonGymText4: ; 48ab3 (12:4ab3) db $08 ; asm @@ -77511,18 +79022,15 @@ CeladonGymText4: ; 48ab3 (12:4ab3) CeladonGymBattleText4: ; 48abd (12:4abd) TX_FAR _CeladonGymBattleText4 - db $50 -; 0x48abd + 5 bytes + db "@" CeladonGymEndBattleText4: ; 48ac2 (12:4ac2) TX_FAR _CeladonGymEndBattleText4 - db $50 -; 0x48ac2 + 5 bytes + db "@" CeladonGymAfterBattleText4: ; 48ac7 (12:4ac7) TX_FAR _CeladonGymAfterBattleText4 - db $50 -; 0x48ac7 + 5 bytes + db "@" CeladonGymText5: ; 48acc (12:4acc) db $08 ; asm @@ -77532,18 +79040,15 @@ CeladonGymText5: ; 48acc (12:4acc) CeladonGymBattleText5: ; 48ad6 (12:4ad6) TX_FAR _CeladonGymBattleText5 - db $50 -; 0x48ad6 + 5 bytes + db "@" CeladonGymEndBattleText5: ; 48adb (12:4adb) TX_FAR _CeladonGymEndBattleText5 - db $50 -; 0x48adb + 5 bytes + db "@" CeladonGymAfterBattleText5: ; 48ae0 (12:4ae0) TX_FAR _CeladonGymAfterBattleText5 - db $50 -; 0x48ae0 + 5 bytes + db "@" CeladonGymText6: ; 48ae5 (12:4ae5) db $08 ; asm @@ -77553,18 +79058,15 @@ CeladonGymText6: ; 48ae5 (12:4ae5) CeladonGymBattleText6: ; 48aef (12:4aef) TX_FAR _CeladonGymBattleText6 - db $50 -; 0x48aef + 5 bytes + db "@" CeladonGymEndBattleText6: ; 48af4 (12:4af4) TX_FAR _CeladonGymEndBattleText6 - db $50 -; 0x48af4 + 5 bytes + db "@" CeladonGymAfterBattleText6: ; 48af9 (12:4af9) TX_FAR _CeladonGymAfterBattleText6 - db $50 -; 0x48af9 + 5 bytes + db "@" CeladonGymText7: ; 48afe (12:4afe) db $08 ; asm @@ -77574,18 +79076,15 @@ CeladonGymText7: ; 48afe (12:4afe) CeladonGymBattleText7: ; 48b08 (12:4b08) TX_FAR _CeladonGymBattleText7 - db $50 -; 0x48b08 + 5 bytes + db "@" CeladonGymEndBattleText7: ; 48b0d (12:4b0d) TX_FAR _CeladonGymEndBattleText7 - db $50 -; 0x48b0d + 5 bytes + db "@" CeladonGymAfterBattleText7: ; 48b12 (12:4b12) TX_FAR _CeladonGymAfterBattleText7 - db $50 -; 0x48b12 + 5 bytes + db "@" CeladonGymText8: ; 48b17 (12:4b17) db $08 ; asm @@ -77595,18 +79094,15 @@ CeladonGymText8: ; 48b17 (12:4b17) CeladonGymBattleText8: ; 48b21 (12:4b21) TX_FAR _CeladonGymBattleText8 - db $50 -; 0x48b21 + 5 bytes + db "@" CeladonGymEndBattleText8: ; 48b26 (12:4b26) TX_FAR _CeladonGymEndBattleText8 - db $50 -; 0x48b26 + 5 bytes + db "@" CeladonGymAfterBattleText8: ; 48b2b (12:4b2b) TX_FAR _CeladonGymAfterBattleText8 - db $50 -; 0x48b2b + 5 bytes + db "@" CeladonGymObject: ; 0x48b30 (size=84) db $3 ; border tile @@ -77637,22 +79133,34 @@ 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 -; 0x48bcf -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 @@ -77667,32 +79175,94 @@ Func_48bec: ; 48bec (12:4bec) ld bc, $0208 ld a, $17 jp Predef -; 0x48c07 -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 -; 0x48c19 CeladonGameCornerScript1: ; 48c19 (12:4c19) -INCBIN "baserom.gbc",$48c19,$48c5a - $48c19 -; 0x48c5a + 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 + +MovementData_48c5a: ; 48c5a (12:4c5a) + db $00,$C0,$C0,$40,$C0,$C0,$C0,$C0,$FF -INCBIN "baserom.gbc",$48c5a,$48c69 - $48c5a +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 - db $50 + db "@" CeladonGameCornerText2: ; 48ca9 (12:4ca9) db $08 ; asm @@ -77755,41 +79325,35 @@ CeladonGameCornerText2: ; 48ca9 (12:4ca9) UnnamedText_48d22: ; 48d22 (12:4d22) TX_FAR _UnnamedText_48d22 - db $50 -; 0x48d27 + db "@" UnnamedText_48d27: ; 48d27 (12:4d27) TX_FAR _UnnamedText_48d27 - db $50 -; 0x48d2c + db "@" UnnamedText_48d2c: ; 48d2c (12:4d2c) TX_FAR _UnnamedText_48d2c - db $50 -; 0x48d31 + db "@" UnnamedText_48d31: ; 48d31 (12:4d31) TX_FAR _UnnamedText_48d31 - db $50 -; 0x48d36 + db "@" UnnamedText_48d36: ; 48d36 (12:4d36) TX_FAR _UnnamedText_48d36 - db $50 -; 0x48d3b + db "@" UnnamedText_48d3b: ; 48d3b (12:4d3b) TX_FAR _UnnamedText_48d3b - db $50 -; 0x48d40 + db "@" CeladonGameCornerText3: ; 48d40 (12:4d40) TX_FAR _CeladonGameCornerText3 - db $50 + db "@" CeladonGameCornerText4: ; 48d45 (12:4d45) TX_FAR _CeladonGameCornerText4 - db $50 + db "@" CeladonGameCornerText5: ; 48d4a (12:4d4a) db $08 ; asm @@ -77833,26 +79397,23 @@ CeladonGameCornerText5: ; 48d4a (12:4d4a) UnnamedText_48d9c: ; 48d9c (12:4d9c) TX_FAR _UnnamedText_48d9c - db $50 -; 0x48d9c + 5 bytes + db "@" Received10CoinsText: ; 48da1 (12:4da1) TX_FAR _Received10CoinsText ; 0x9daa9 - db $0B, $50 + db $0B, "@" UnnamedText_48da7: ; 48da7 (12:4da7) TX_FAR _UnnamedText_48da7 - db $50 -; 0x48da7 + 5 bytes + db "@" UnnamedText_48dac: ; 48dac (12:4dac) TX_FAR _UnnamedText_48dac - db $50 -; 0x48dac + 5 bytes + db "@" CeladonGameCornerText6: ; 48db1 (12:4db1) TX_FAR _CeladonGameCornerText6 - db $50 + db "@" CeladonGameCornerText7: ; 48db6 (12:4db6) db $08 ; asm @@ -77867,17 +79428,15 @@ CeladonGameCornerText7: ; 48db6 (12:4db6) UnnamedText_48dca: ; 48dca (12:4dca) TX_FAR _UnnamedText_48dca - db $50 -; 0x48dca + 5 bytes + db "@" UnnamedText_48dcf: ; 48dcf (12:4dcf) TX_FAR _UnnamedText_48dcf - db $50 -; 0x48dcf + 5 bytes + db "@" CeladonGameCornerText8: ; 48dd4 (12:4dd4) TX_FAR _CeladonGameCornerText8 - db $50 + db "@" CeladonGameCornerText9: ; 48dd9 (12:4dd9) db $08 ; asm @@ -77919,23 +79478,19 @@ CeladonGameCornerText9: ; 48dd9 (12:4dd9) UnnamedText_48e26: ; 48e26 (12:4e26) TX_FAR _UnnamedText_48e26 - db $50 -; 0x48e26 + 5 bytes + db "@" Received20CoinsText: ; 48e2b (12:4e2b) TX_FAR _Received20CoinsText ; 0x9dc4f - db $0B, $50 -; 0x48e31 + db $0B, "@" UnnamedText_48e31: ; 48e31 (12:4e31) TX_FAR _UnnamedText_48e31 - db $50 -; 0x48e31 + 5 bytes + db "@" UnnamedText_48e36: ; 48e36 (12:4e36) TX_FAR _UnnamedText_48e36 - db $50 -; 0x48e36 + 5 bytes + db "@" CeladonGameCornerText10: ; 48e3b (12:4e3b) db $08 ; asm @@ -77977,23 +79532,19 @@ CeladonGameCornerText10: ; 48e3b (12:4e3b) UnnamedText_48e88: ; 48e88 (12:4e88) TX_FAR _UnnamedText_48e88 - db $50 -; 0x48e88 + 5 bytes + db "@" UnnamedText_48e8d: ; 48e8d (12:4e8d) TX_FAR _UnnamedText_48e8d ; 0x9dceb - db $0B, $50 -; 0x48e93 + db $0B, "@" UnnamedText_48e93: ; 48e93 (12:4e93) TX_FAR _UnnamedText_48e93 - db $50 -; 0x48e93 + 5 bytes + db "@" UnnamedText_48e98: ; 48e98 (12:4e98) TX_FAR _UnnamedText_48e98 - db $50 -; 0x48e98 + 5 bytes + db "@" CeladonGameCornerText11: ; 48e9d (12:4e9d) db $08 ; asm @@ -78019,18 +79570,15 @@ CeladonGameCornerText11: ; 48e9d (12:4e9d) UnnamedText_48ece: ; 48ece (12:4ece) TX_FAR _UnnamedText_48ece - db $50 -; 0x48ece + 5 bytes + db "@" UnnamedText_48ed3: ; 48ed3 (12:4ed3) TX_FAR _UnnamedText_48ed3 - db $50 -; 0x48ed3 + 5 bytes + db "@" CeladonGameCornerText13: ; 48ed8 (12:4ed8) TX_FAR _UnnamedText_48ed8 - db $50 -; 0x48ed8 + 5 bytes + db "@" CeladonGameCornerText12: ; 48edd (12:4edd) db $08 ; asm @@ -78058,12 +79606,10 @@ UnnamedText_48f09: ; 48f09 (12:4f09) call PlaySound call WaitForSoundToFinish jp TextScriptEnd -; 0x48f19 UnnamedText_48f19: ; 48f19 (12:4f19) TX_FAR _UnnamedText_48f19 - db $50 -; 0x48f19 + 5 bytes + db "@" Func_48f1e: ; 48f1e (12:4f1e) ld hl, $d730 @@ -78108,7 +79654,6 @@ Func_48f1e: ; 48f1e (12:4f1e) ld hl, $d730 res 6, [hl] ret -; 0x48f7a GameCornerMoneyText: ; 48f7a (12:4f7a) db "MONEY@" @@ -78128,7 +79673,6 @@ Has9990Coins: ; 48f95 (12:4f95) ld a, $90 ld [$ff00+$a1], a jp HasEnoughCoins -; 0x48fa0 CeladonGameCornerObject: ; 0x48fa0 (size=99) db $f ; border tile @@ -78165,29 +79709,31 @@ 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 CeladonMart5Script: ; 49069 (12:5069) jp EnableAutoTextBoxDrawing -; 0x4906c -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 - db $50 + db "@" CeladonMart5Text2: ; 4907b (12:507b) TX_FAR _CeladonMart5Text2 - db $50 + db "@" CeladonMart5Text5: ; 49080 (12:5080) TX_FAR _CeladonMart5Text5 - db $50 + db "@" CeladonMart5Object: ; 0x49085 (size=55) db $f ; border tile @@ -78217,25 +79763,27 @@ 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 CeladonPrizeRoomScript: ; 490f0 (12:50f0) jp EnableAutoTextBoxDrawing -; 0x490f3 -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 - db $50 + db "@" CeladonPrizeRoomText2: ; 49102 (12:5102) TX_FAR _CeladonPrizeRoomText2 - db $50 + db "@" CeladonPrizeRoomText3: ; 49107 (12:5107) db $f7 @@ -78266,34 +79814,36 @@ 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 CeladonDinerScript: ; 49151 (12:5151) call EnableAutoTextBoxDrawing ret -; 0x49155 -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 - db $50 + db "@" CeladonDinerText2: ; 49164 (12:5164) TX_FAR _CeladonDinerText2 - db $50 + db "@" CeladonDinerText3: ; 49169 (12:5169) TX_FAR _CeladonDinerText3 - db $50 + db "@" CeladonDinerText4: ; 4916e (12:516e) TX_FAR _CeladonDinerText4 - db $50 + db "@" CeladonDinerText5: ; 49173 (12:5173) db $08 ; asm @@ -78322,23 +79872,19 @@ CeladonDinerText5: ; 49173 (12:5173) UnnamedText_491a7: ; 491a7 (12:51a7) TX_FAR _UnnamedText_491a7 - db $50 -; 0x491a7 + 5 bytes + db "@" ReceivedCoinCaseText: ; 491ac (12:51ac) TX_FAR _ReceivedCoinCaseText ; 0x9e07a - db $11, $50 -; 0x491b2 + db $11, "@" CoinCaseNoRoomText: ; 491b2 (12:51b2) TX_FAR _CoinCaseNoRoomText - db $50 -; 0x491b2 + 5 bytes + db "@" UnnamedText_491b7: ; 491b7 (12:51b7) TX_FAR _UnnamedText_491b7 - db $50 -; 0x491b7 + 5 bytes + db "@" CeladonDinerObject: ; 0x491bc (size=50) db $f ; border tile @@ -78366,30 +79912,30 @@ 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 CeladonHouseScript: ; 4920e (12:520e) call EnableAutoTextBoxDrawing ret -; 0x49212 -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 - db $50 + db "@" CeladonHouseText2: ; 4921d (12:521d) TX_FAR _CeladonHouseText2 - db $50 + db "@" CeladonHouseText3: ; 49222 (12:5222) TX_FAR _CeladonHouseText3 - db $50 + db "@" CeladonHouseObject: ; 0x49227 (size=38) db $f ; border tile @@ -78415,29 +79961,29 @@ 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 CeladonHotelScript: ; 49269 (12:5269) jp EnableAutoTextBoxDrawing -; 0x4926c -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 - db $50 + db "@" CeladonHotelText2: ; 49277 (12:5277) TX_FAR _CeladonHotelText2 - db $50 + db "@" CeladonHotelText3: ; 4927c (12:527c) TX_FAR _CeladonHotelText3 - db $50 + db "@" CeladonHotelObject: ; 0x49281 (size=38) db $0 ; border tile @@ -78463,29 +80009,32 @@ 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 MtMoonPokecenterScript: ; 492cf (12:52cf) call Func_22fa jp EnableAutoTextBoxDrawing -; 0x492d5 -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 MtMoonPokecenterText2: ; 492e2 (12:52e2) TX_FAR _MtMoonPokecenterText1 - db $50 + db "@" MtMoonPokecenterText3: ; 492e7 (12:52e7) TX_FAR _MtMoonPokecenterText3 - db $50 + db "@" MtMoonPokecenterText4: ; 492ec (12:52ec) db $08 ; asm @@ -78514,7 +80063,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 @@ -78541,27 +80090,23 @@ MtMoonPokecenterText4: ; 492ec (12:52ec) UnnamedText_4935c: ; 4935c (12:535c) TX_FAR _UnnamedText_4935c - db $50 -; 0x4935c + 5 bytes + db "@" UnnamedText_49361: ; 49361 (12:5361) TX_FAR _UnnamedText_49361 - db $50 -; 0x49361 + 5 bytes + db "@" UnnamedText_49366: ; 49366 (12:5366) TX_FAR _UnnamedText_49366 - db $50 -; 0x49366 + 5 bytes + db "@" UnnamedText_4936b: ; 4936b (12:536b) TX_FAR _UnnamedText_4936b - db $50 -; 0x4936b + 5 bytes + db "@" MtMoonPokecenterText5: ; 49370 (12:5370) TX_FAR _MtMoonPokecenterText5 - db $50 + db "@" MtMoonPokecenterText6: ; 49375 (12:5375) db $f6 @@ -78590,29 +80135,30 @@ 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 RockTunnelPokecenterScript: ; 493ba (12:53ba) call Func_22fa jp EnableAutoTextBoxDrawing -; 0x493c0 -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 RockTunnelPokecenterText2: ; 493c9 (12:53c9) TX_FAR _RockTunnelPokecenterText1 - db $50 + db "@" RockTunnelPokecenterText3: ; 493ce (12:53ce) TX_FAR _RockTunnelPokecenterText3 - db $50 + db "@" RockTunnelPokecenterText4: ; 493d3 (12:53d3) db $f6 @@ -78639,21 +80185,19 @@ 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 Route11GateScript: ; 4940c (12:540c) jp EnableAutoTextBoxDrawing -; 0x4940f -Route11GateTexts: ; 4940f (12:540f) +Route11GateTextPointers: ; 4940f (12:540f) dw Route11GateText1 Route11GateText1: ; 49411 (12:5411) TX_FAR _Route11GateText1 - db $50 + db "@" Route11GateObject: ; 0x49416 (size=50) db $a ; border tile @@ -78680,22 +80224,23 @@ 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 Route11GateUpstairsScript: ; 49454 (12:5454) jp DisableAutoTextBoxDrawing -; 0x49457 -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) @@ -78729,18 +80274,16 @@ Route11GateUpstairsText2: ; 4946c (12:546c) call PrintText .asm_494a1 jr asm_49469 ; 0x494a1 $c6 -; 0x494a3 UnnamedText_494a3: ; 494a3 (12:54a3) TX_FAR _UnnamedText_494a3 - db $50 -; 0x494a3 + 5 bytes + db "@" 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 @@ -78752,24 +80295,20 @@ Route11GateUpstairsText3: ; 494a8 (12:54a8) UnnamedText_494c4: ; 494c4 (12:54c4) TX_FAR _UnnamedText_494c4 - db $50 -; 0x494c4 + 5 bytes + db "@" UnnamedText_494c9: ; 494c9 (12:54c9) TX_FAR _UnnamedText_494c9 - db $50 -; 0x494c9 + 5 bytes + db "@" Route11GateUpstairsText4: ; 494ce (12:54ce) db $8 ld hl, UnnamedText_494d5 ; $54d5 - jp Unnamed_55c9 -; 0x494d5 + jp Func_55c9 UnnamedText_494d5: ; 494d5 (12:54d5) TX_FAR _UnnamedText_494d5 - db $50 -; 0x494d5 + 5 bytes + db "@" Route11GateUpstairsObject: ; 0x494da (size=30) db $a ; border tile @@ -78791,21 +80330,19 @@ 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 Route12GateScript: ; 49504 (12:5504) jp EnableAutoTextBoxDrawing -; 0x49507 -Route12GateTexts: ; 49507 (12:5507) +Route12GateTextPointers: ; 49507 (12:5507) dw Route12GateText1 Route12GateText1: ; 49509 (12:5509) TX_FAR _Route12GateText1 - db $50 + db "@" Route12GateObject: ; 0x4950e (size=50) db $a ; border tile @@ -78835,17 +80372,17 @@ 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 Route12GateUpstairsScript: ; 49560 (12:5560) jp DisableAutoTextBoxDrawing -; 0x49563 -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 @@ -78874,46 +80411,39 @@ Route12GateUpstairsText1: ; 49569 (12:5569) TM39PreReceiveText: ; 4959c (12:559c) TX_FAR _TM39PreReceiveText - db $50 -; 0x4959c + 5 bytes + db "@" ReceivedTM39Text: ; 495a1 (12:55a1) TX_FAR _ReceivedTM39Text ; 0x8c8c6 - db $0B, $50 -; 0x495a7 + db $0B, "@" TM39ExplanationText: ; 495a7 (12:55a7) TX_FAR _TM39ExplanationText - db $50 -; 0x495a7 + 5 bytes + db "@" TM39NoRoomText: ; 495ac (12:55ac) TX_FAR _TM39NoRoomText - db $50 -; 0x495ac + 5 bytes + db "@" 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 - db $50 -; 0x495bd + db "@" Route12GateUpstairsText3: ; 495bd (12:55bd) db $8 ld hl, UnnamedText_495c4 - jp Unnamed_55c9 -; 0x495c4 + jp Func_55c9 UnnamedText_495c4: ; 495c4 (12:55c4) TX_FAR _UnnamedText_495c4 - db $50 -; 0x495c4 + 5 bytes + db "@" -Unnamed_55c9: ; 495c9 (12:55c9) +Func_55c9: ; 495c9 (12:55c9) ld a, [$c109] cp $4 jr z, .asm_495d4 ; 0x495ce $4 @@ -78925,7 +80455,6 @@ Unnamed_55c9: ; 495c9 (12:55c9) .asm_495d8 ld [$cc3c], a jp TextScriptEnd -; 0x495de Route12GateUpstairsObject: ; 0x495de (size=24) db $a ; border tile @@ -78946,21 +80475,19 @@ 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 Route15GateScript: ; 49602 (12:5602) jp EnableAutoTextBoxDrawing -; 0x49605 -Route15GateTexts: ; 49605 (12:5605) +Route15GateTextPointers: ; 49605 (12:5605) dw Route15GateText1 Route15GateText1: ; 49607 (12:5607) TX_FAR _Route15GateText1 - db $50 + db "@" Route15GateObject: ; 0x4960c (size=50) db $a ; border tile @@ -78987,15 +80514,14 @@ 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 40db, 564d, 564a ; blocks, texts, scripts + dw Route15GateUpstairsBlocks, Route15GateUpstairsTextPointers, Route15GateUpstairsScript ; blocks, texts, scripts db $00 ; connections dw Route15GateUpstairsObject ; objects Route15GateUpstairsScript: ; 4964a (12:564a) jp DisableAutoTextBoxDrawing -Route15GateUpstairsTexts: ; 4964d (12:564d) +Route15GateUpstairsTextPointers: ; 4964d (12:564d) dw Route15GateUpstairsText1 dw Route15GateUpstairsText2 @@ -79026,23 +80552,19 @@ Route15GateUpstairsText1: ; 49651 (12:5651) call PrintText .asm_49689 jp TextScriptEnd -; 0x4968c UnnamedText_4968c: ; 4968c (12:568c) TX_FAR _UnnamedText_4968c - db $50 -; 0x4968c + 5 bytes + db "@" Route15GateUpstairsText2: ; 49691 (12:5691) db $8 ld hl, UnnamedText_49698 - jp Unnamed_55c9 -; 0x49698 + jp Func_55c9 UnnamedText_49698: ; 49698 (12:5698) TX_FAR _UnnamedText_49698 - db $50 -; 0x49698 + 5 bytes + db "@" Route15GateUpstairsObject: ; 4969d (12:569d) db $a ; border tile @@ -79062,9 +80584,8 @@ 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 Route16GateMapScript: ; 496be (12:56be) @@ -79072,19 +80593,19 @@ Route16GateMapScript: ; 496be (12:56be) res 5, [hl] call EnableAutoTextBoxDrawing ld a, [W_ROUTE16GATECURSCRIPT] - ld hl, Route16GateMapScripts + ld hl, Route16GateMapScriptPointers jp CallFunctionInTable -; 0x496cf -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 @@ -79111,18 +80632,54 @@ Route16GateMapScript0: ; 496d7 (12:56d7) ld a, $2 ld [W_ROUTE16GATECURSCRIPT], a ret -; 0x49714 -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 -; known jump sources: 496d7 (12:56d7), 4988f (12:588f) Func_49755: ; 49755 (12:5755) ld b, $6 jp IsItemInBag -; 4975a (12:575a) -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 @@ -79139,22 +80696,19 @@ Route16GateMapText1: ; 49760 (12:5760) UnnamedText_49777: ; 49777 (12:5777) TX_FAR _UnnamedText_49777 - db $50 -; 0x49777 + 5 bytes + db "@" UnnamedText_4977c: ; 4977c (12:577c) TX_FAR _UnnamedText_4977c - db $50 -; 0x4977c + 5 bytes + db "@" Route16GateMapText3: ; 49781 (12:5781) TX_FAR _UnnamedText_49781 - db $50 -; 0x49781 + 5 bytes + db "@" Route16GateMapText2: ; 49786 (12:5786) TX_FAR _Route16GateMapText2 - db $50 + db "@" Route16GateMapObject: ; 0x4978b (size=88) db $a ; border tile @@ -79193,17 +80747,18 @@ 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 Route16GateUpstairsScript: ; 4980b (12:580b) jp DisableAutoTextBoxDrawing -; 0x4980e -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 @@ -79213,8 +80768,7 @@ Route16GateUpstairsText1: ; 49816 (12:5816) UnnamedText_49820: ; 49820 (12:5820) TX_FAR _UnnamedText_49820 - db $50 -; 0x49820 + 5 bytes + db "@" Route16GateUpstairsText2: ; 49825 (12:5825) db $08 ; asm @@ -79224,30 +80778,25 @@ Route16GateUpstairsText2: ; 49825 (12:5825) UnnamedText_4982f: ; 4982f (12:582f) TX_FAR _UnnamedText_4982f - db $50 -; 0x4982f + 5 bytes + db "@" Route16GateUpstairsText3: ; 49834 (12:5834) db $8 ld hl, UnnamedText_4983b - jp Unnamed_55c9 -; 0x4983b + jp Func_55c9 UnnamedText_4983b: ; 4983b (12:583b) TX_FAR _UnnamedText_4983b - db $50 -; 0x4983b + 5 bytes + db "@" Route16GateUpstairsText4: ; 49840 (12:5840) db $8 ld hl, UnnamedText_49847 ; $5847 - jp Unnamed_55c9 -; 0x49847 + jp Func_55c9 UnnamedText_49847: ; 49847 (12:5847) TX_FAR _UnnamedText_49847 - db $50 -; 0x49847 + 5 bytes + db "@" Route16GateUpstairsObject: ; 0x4984c (size=30) db $a ; border tile @@ -79269,9 +80818,8 @@ 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 Route18GateScript: ; 49876 (12:5876) @@ -79279,19 +80827,19 @@ Route18GateScript: ; 49876 (12:5876) res 5, [hl] call EnableAutoTextBoxDrawing ld a, [W_ROUTE18GATECURSCRIPT] - ld hl, Route18GateScripts + ld hl, Route18GateScriptPointers jp CallFunctionInTable -; 0x49887 -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 @@ -79318,13 +80866,49 @@ Route18GateScript0: ; 4988f (12:588f) ld a, $2 ld [W_ROUTE18GATECURSCRIPT], a ret -; 0x498cc -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 @@ -79341,18 +80925,15 @@ Route18GateText1: ; 49911 (12:5911) UnnamedText_49928: ; 49928 (12:5928) TX_FAR _UnnamedText_49928 - db $50 -; 0x4992d + db "@" UnnamedText_4992d: ; 4992d (12:592d) TX_FAR _UnnamedText_4992d - db $50 -; 0x49932 + db "@" Route18GateText2: ; 49932 (12:5932) TX_FAR _UnnamedText_49932 - db $50 -; 0x49937 + db "@" Route18GateObject: ; 0x49937 (size=50) db $a ; border tile @@ -79379,22 +80960,22 @@ 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 Route18GateUpstairsScript: ; 49975 (12:5975) jp DisableAutoTextBoxDrawing -; 0x49978 -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 @@ -79402,24 +80983,20 @@ Route18GateUpstairsText1: ; 4997e (12:597e) Route18GateUpstairsText2: ; 4998c (12:598c) db $8 ld hl, UnnamedText_49993 ; $5993 - jp Unnamed_55c9 -; 0x49993 + jp Func_55c9 UnnamedText_49993: ; 49993 (12:5993) TX_FAR _UnnamedText_49993 - db $50 -; 0x49993 + 5 bytes + db "@" Route18GateUpstairsText3: ; 49998 (12:5998) db $8 ld hl, UnnamedText_4999f ; $599f - jp Unnamed_55c9 -; 0x4999f + jp Func_55c9 UnnamedText_4999f: ; 4999f (12:599f) TX_FAR _UnnamedText_4999f - db $50 -; 0x4999f + 5 bytes + db "@" Route18GateUpstairsObject: ; 0x499a4 (size=24) db $a ; border tile @@ -79440,26 +81017,39 @@ 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 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 -; 0x499db -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) @@ -79470,7 +81060,6 @@ MtMoon1TrainerHeader0: ; 499fd (12:59fd) dw MtMoon1AfterBattleText2 ; 0x5aa2 TextAfterBattle dw MtMoon1EndBattleText2 ; 0x5a9d TextEndBattle dw MtMoon1EndBattleText2 ; 0x5a9d TextEndBattle -; 0x49a09 MtMoon1TrainerHeader2: ; 49a09 (12:5a09) db $2 ; flag's bit @@ -79480,7 +81069,6 @@ MtMoon1TrainerHeader2: ; 49a09 (12:5a09) dw MtMoon1AfterBattleText3 ; 0x5ab1 TextAfterBattle dw MtMoon1EndBattleText3 ; 0x5aac TextEndBattle dw MtMoon1EndBattleText3 ; 0x5aac TextEndBattle -; 0x49a15 MtMoon1TrainerHeader3: ; 49a15 (12:5a15) db $3 ; flag's bit @@ -79490,7 +81078,6 @@ MtMoon1TrainerHeader3: ; 49a15 (12:5a15) dw MtMoon1AfterBattleText4 ; 0x5ac0 TextAfterBattle dw MtMoon1EndBattleText4 ; 0x5abb TextEndBattle dw MtMoon1EndBattleText4 ; 0x5abb TextEndBattle -; 0x49a21 MtMoon1TrainerHeader4: ; 49a21 (12:5a21) db $4 ; flag's bit @@ -79500,7 +81087,6 @@ MtMoon1TrainerHeader4: ; 49a21 (12:5a21) dw MtMoon1AfterBattleText5 ; 0x5acf TextAfterBattle dw MtMoon1EndBattleText5 ; 0x5aca TextEndBattle dw MtMoon1EndBattleText5 ; 0x5aca TextEndBattle -; 0x49a2d MtMoon1TrainerHeader5: ; 49a2d (12:5a2d) db $5 ; flag's bit @@ -79510,7 +81096,6 @@ MtMoon1TrainerHeader5: ; 49a2d (12:5a2d) dw MtMoon1AfterBattleText6 ; 0x5ade TextAfterBattle dw MtMoon1EndBattleText6 ; 0x5ad9 TextEndBattle dw MtMoon1EndBattleText6 ; 0x5ad9 TextEndBattle -; 0x49a39 MtMoon1TrainerHeader6: ; 49a39 (12:5a39) db $6 ; flag's bit @@ -79520,7 +81105,6 @@ MtMoon1TrainerHeader6: ; 49a39 (12:5a39) dw MtMoon1AfterBattleText7 ; 0x5aed TextAfterBattle dw MtMoon1EndBattleText7 ; 0x5ae8 TextEndBattle dw MtMoon1EndBattleText7 ; 0x5ae8 TextEndBattle -; 0x49a45 MtMoon1TrainerHeader7: ; 49a45 (12:5a45) db $7 ; flag's bit @@ -79530,9 +81114,8 @@ MtMoon1TrainerHeader7: ; 49a45 (12:5a45) dw MtMoon1AfterBattleText8 ; 0x5afc TextAfterBattle dw MtMoon1EndBattleText8 ; 0x5af7 TextEndBattle dw MtMoon1EndBattleText8 ; 0x5af7 TextEndBattle -; 0x49a51 -db $ff + db $ff MtMoon1Text1: ; 49a52 (12:5a52) db $08 ; asm @@ -79578,112 +81161,91 @@ MtMoon1Text7: ; 49a8e (12:5a8e) MtMoon1BattleText2: ; 49a98 (12:5a98) TX_FAR _MtMoon1BattleText2 - db $50 -; 0x49a98 + 5 bytes + db "@" MtMoon1EndBattleText2: ; 49a9d (12:5a9d) TX_FAR _MtMoon1EndBattleText2 - db $50 -; 0x49a9d + 5 bytes + db "@" MtMoon1AfterBattleText2: ; 49aa2 (12:5aa2) TX_FAR _MtMoon1AfterBattleText2 - db $50 -; 0x49aa2 + 5 bytes + db "@" MtMoon1BattleText3: ; 49aa7 (12:5aa7) TX_FAR _MtMoon1BattleText3 - db $50 -; 0x49aa7 + 5 bytes + db "@" MtMoon1EndBattleText3: ; 49aac (12:5aac) TX_FAR _MtMoon1EndBattleText3 - db $50 -; 0x49aac + 5 bytes + db "@" MtMoon1AfterBattleText3: ; 49ab1 (12:5ab1) TX_FAR _MtMoon1AfterBattleText3 - db $50 -; 0x49ab1 + 5 bytes + db "@" MtMoon1BattleText4: ; 49ab6 (12:5ab6) TX_FAR _MtMoon1BattleText4 - db $50 -; 0x49ab6 + 5 bytes + db "@" MtMoon1EndBattleText4: ; 49abb (12:5abb) TX_FAR _MtMoon1EndBattleText4 - db $50 -; 0x49abb + 5 bytes + db "@" MtMoon1AfterBattleText4: ; 49ac0 (12:5ac0) TX_FAR _MtMoon1AfterBattleText4 - db $50 -; 0x49ac0 + 5 bytes + db "@" MtMoon1BattleText5: ; 49ac5 (12:5ac5) TX_FAR _MtMoon1BattleText5 - db $50 -; 0x49ac5 + 5 bytes + db "@" MtMoon1EndBattleText5: ; 49aca (12:5aca) TX_FAR _MtMoon1EndBattleText5 - db $50 -; 0x49aca + 5 bytes + db "@" MtMoon1AfterBattleText5: ; 49acf (12:5acf) TX_FAR _MtMoon1AfterBattleText5 - db $50 -; 0x49acf + 5 bytes + db "@" MtMoon1BattleText6: ; 49ad4 (12:5ad4) TX_FAR _MtMoon1BattleText6 - db $50 -; 0x49ad4 + 5 bytes + db "@" MtMoon1EndBattleText6: ; 49ad9 (12:5ad9) TX_FAR _MtMoon1EndBattleText6 - db $50 -; 0x49ad9 + 5 bytes + db "@" MtMoon1AfterBattleText6: ; 49ade (12:5ade) TX_FAR _MtMoon1AfterBattleText6 - db $50 -; 0x49ade + 5 bytes + db "@" MtMoon1BattleText7: ; 49ae3 (12:5ae3) TX_FAR _MtMoon1BattleText7 - db $50 -; 0x49ae3 + 5 bytes + db "@" MtMoon1EndBattleText7: ; 49ae8 (12:5ae8) TX_FAR _MtMoon1EndBattleText7 - db $50 -; 0x49ae8 + 5 bytes + db "@" MtMoon1AfterBattleText7: ; 49aed (12:5aed) TX_FAR _MtMoon1AfterBattleText7 - db $50 -; 0x49aed + 5 bytes + db "@" MtMoon1BattleText8: ; 49af2 (12:5af2) TX_FAR _MtMoon1BattleText8 - db $50 -; 0x49af2 + 5 bytes + db "@" MtMoon1EndBattleText8: ; 49af7 (12:5af7) TX_FAR _MtMoon1EndBattleText8 - db $50 -; 0x49af7 + 5 bytes + db "@" MtMoon1AfterBattleText8: ; 49afc (12:5afc) TX_FAR _MtMoon1AfterBattleText8 - db $50 -; 0x49afc + 5 bytes + db "@" MtMoon1Text14: ; 49b01 (12:5b01) TX_FAR _MtMoon1Text14 - db $50 + db "@" MtMoon1Object: ; 0x49b06 (size=145) db $3 ; border tile @@ -79726,22 +81288,21 @@ 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 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 @@ -79751,21 +81312,42 @@ MtMoon3Script: ; 49d0b (12:5d0b) ld hl, $d72e res 4, [hl] ret -; 0x49d37 -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 -; known jump sources: 49d9f (12:5d9f) 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 @@ -79781,12 +81363,13 @@ INCBIN "baserom.gbc",$49d63,$49d6f - $49d63 ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c jp DisplayTextID -; known jump sources: 49d74 (12:5d74), 49d7c (12:5d7c), 49d84 (12:5d84) Func_49d91: ; 49d91 (12:5d91) ld a, [$d7f6] and $c0 jp z, CheckFightingMapTrainers ret + +MtMoon3Script3: ; 49d9a (12:5d9a) ld a, [W_ISINBATTLE] ; $d057 cp $ff jp z, Func_49d58 @@ -79795,24 +81378,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 @@ -79822,22 +81407,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 @@ -79855,14 +81448,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 -; 49e34 (12:5e34) -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) @@ -79873,7 +81475,6 @@ MtMoon3TrainerHeader0: ; 49e48 (12:5e48) dw MtMoon3AfterBattleText2 ; 0x5fa9 TextAfterBattle dw MtMoon3EndBattleText2 ; 0x5fa4 TextEndBattle dw MtMoon3EndBattleText2 ; 0x5fa4 TextEndBattle -; 0x49e54 MtMoon3TrainerHeader2: ; 49e54 (12:5e54) db $3 ; flag's bit @@ -79883,7 +81484,6 @@ MtMoon3TrainerHeader2: ; 49e54 (12:5e54) dw MtMoon3AfterBattleText3 ; 0x5fb8 TextAfterBattle dw MtMoon3EndBattleText3 ; 0x5fb3 TextEndBattle dw MtMoon3EndBattleText3 ; 0x5fb3 TextEndBattle -; 0x49e60 MtMoon3TrainerHeader3: ; 49e60 (12:5e60) db $4 ; flag's bit @@ -79893,7 +81493,6 @@ MtMoon3TrainerHeader3: ; 49e60 (12:5e60) dw MtMoon3AfterBattleText4 ; 0x5fc7 TextAfterBattle dw MtMoon3EndBattleText4 ; 0x5fc2 TextEndBattle dw MtMoon3EndBattleText4 ; 0x5fc2 TextEndBattle -; 0x49e6c MtMoon3TrainerHeader4: ; 49e6c (12:5e6c) db $5 ; flag's bit @@ -79903,9 +81502,8 @@ MtMoon3TrainerHeader4: ; 49e6c (12:5e6c) dw MtMoon3AfterBattleText5 ; 0x5fd6 TextAfterBattle dw MtMoon3EndBattleText5 ; 0x5fd1 TextEndBattle dw MtMoon3EndBattleText5 ; 0x5fd1 TextEndBattle -; 0x49e78 -db $ff + db $ff MtMoon3Text1: ; 49e79 (12:5e79) db $08 ; asm @@ -79976,8 +81574,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 @@ -79992,8 +81590,7 @@ MtMoon3Text6: ; 49ee9 (12:5ee9) UnnamedText_49f24: ; 49f24 (12:5f24) TX_FAR _UnnamedText_49f24 - db $50 -; 0x49f24 + 5 bytes + db "@" MtMoon3Text7: ; 49f29 (12:5f29) db $08 ; asm @@ -80007,8 +81604,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 @@ -80023,112 +81620,92 @@ MtMoon3Text7: ; 49f29 (12:5f29) UnnamedText_49f64: ; 49f64 (12:5f64) TX_FAR _UnnamedText_49f64 - db $50 -; 0x49f64 + 5 bytes + db "@" -Unnamed_49f69: ; 49f69 (12:5f69) +Func_49f69: ; 49f69 (12:5f69) ld hl, UnnamedText_49f6f jp PrintText -; 0x49f6f UnnamedText_49f6f: ; 49f6f (12:5f6f) TX_FAR _UnnamedText_49f6f ; 0x80995 - db $11, $d, $50 -; 0x49f76 + db $11, $d, "@" -Unnamed_49f76: ; 49f76 (12:5f76) +Func_49f76: ; 49f76 (12:5f76) ld hl, UnnamedText_49f7f call PrintText jp TextScriptEnd -; 0x49f7f UnnamedText_49f7f: ; 49f7f (12:5f7f) TX_FAR _UnnamedText_49f7f ; 0x809a8 - db $d, $50 -; 0x49f85 + db $d, "@" UnnamedText_49f85: ; 49f85 (12:5f85) TX_FAR _UnnamedText_49f85 - db $50 -; 0x49f85 + 5 bytes + db "@" UnnamedText_49f8a: ; 49f8a (12:5f8a) TX_FAR _UnnamedText_49f8a - db $50 -; 0x49f8a + 5 bytes + db "@" UnnamedText_49f8f: ; 49f8f (12:5f8f) TX_FAR _UnnamedText_49f8f - db $50 -; 0x49f8f + 5 bytes + db "@" UnnamedText_49f94: ; 49f94 (12:5f94) TX_FAR _UnnamedText_49f94 - db $50 -; 0x49f94 + 5 bytes + 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 - db $50 -; 0x49f9f + 5 bytes + db "@" MtMoon3EndBattleText2: ; 49fa4 (12:5fa4) TX_FAR _MtMoon3EndBattleText2 - db $50 -; 0x49fa4 + 5 bytes + db "@" MtMoon3AfterBattleText2: ; 49fa9 (12:5fa9) TX_FAR _MtMoon3AfterBattleText2 - db $50 -; 0x49fa9 + 5 bytes + db "@" MtMoon3BattleText3: ; 49fae (12:5fae) TX_FAR _MtMoon3BattleText3 - db $50 -; 0x49fae + 5 bytes + db "@" MtMoon3EndBattleText3: ; 49fb3 (12:5fb3) TX_FAR _MtMoon3EndBattleText3 - db $50 -; 0x49fb3 + 5 bytes + db "@" MtMoon3AfterBattleText3: ; 49fb8 (12:5fb8) TX_FAR _MtMoon3AfterBattleText3 - db $50 -; 0x49fb8 + 5 bytes + db "@" MtMoon3BattleText4: ; 49fbd (12:5fbd) TX_FAR _MtMoon3BattleText4 - db $50 -; 0x49fbd + 5 bytes + db "@" MtMoon3EndBattleText4: ; 49fc2 (12:5fc2) TX_FAR _MtMoon3EndBattleText4 - db $50 -; 0x49fc2 + 5 bytes + db "@" MtMoon3AfterBattleText4: ; 49fc7 (12:5fc7) TX_FAR _MtMoon3AfterBattleText4 - db $50 -; 0x49fc7 + 5 bytes + db "@" MtMoon3BattleText5: ; 49fcc (12:5fcc) TX_FAR _MtMoon3BattleText5 - db $50 -; 0x49fcc + 5 bytes + db "@" MtMoon3EndBattleText5: ; 49fd1 (12:5fd1) TX_FAR _MtMoon3EndBattleText5 - db $50 -; 0x49fd1 + 5 bytes + db "@" MtMoon3AfterBattleText5: ; 49fd6 (12:5fd6) TX_FAR _MtMoon3AfterBattleText5 - db $50 -; 0x49fd6 + 5 bytes + db "@" MtMoon3Object: ; 0x49fdb (size=102) db $3 ; border tile @@ -80164,33 +81741,38 @@ 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 SafariZoneWestScript: ; 4a1b5 (12:61b5) jp EnableAutoTextBoxDrawing -; 0x4a1b8 -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 - db $50 + db "@" SafariZoneWestText6: ; 4a1cd (12:61cd) TX_FAR _SafariZoneWestText6 - db $50 + db "@" SafariZoneWestText7: ; 4a1d2 (12:61d2) TX_FAR _SafariZoneWestText7 - db $50 + db "@" SafariZoneWestText8: ; 4a1d7 (12:61d7) TX_FAR _SafariZoneWestText8 - db $50 + db "@" SafariZoneWestObject: ; 0x4a1dc (size=108) db $0 ; border tile @@ -80233,16 +81815,14 @@ 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 SafariZoneSecretHouseScript: ; 4a317 (12:6317) jp EnableAutoTextBoxDrawing -; 0x4a31a -SafariZoneSecretHouseTexts: ; 4a31a (12:631a) +SafariZoneSecretHouseTextPointers: ; 4a31a (12:631a) dw SafariZoneSecretHouseText1 SafariZoneSecretHouseText1: ; 4a31c (12:631c) @@ -80272,23 +81852,19 @@ SafariZoneSecretHouseText1: ; 4a31c (12:631c) UnnamedText_4a350: ; 4a350 (12:6350) TX_FAR _UnnamedText_4a350 - db $50 -; 0x4a350 + 5 bytes + db "@" ReceivedHM03Text: ; 4a355 (12:6355) TX_FAR _ReceivedHM03Text ; 0x85943 - db $0B, $50 -; 0x4a35b + db $0B, "@" HM03ExplanationText: ; 4a35b (12:635b) TX_FAR _HM03ExplanationText - db $50 -; 0x4a35b + 5 bytes + db "@" HM03NoRoomText: ; 4a360 (12:6360) TX_FAR _HM03NoRoomText - db $50 -; 0x4a360 + 5 bytes + db "@" SafariZoneSecretHouseObject: ; 0x4a365 (size=26) db $17 ; border tile @@ -80406,9 +81982,8 @@ 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 BattleCenterMScript: ; 4fd10 (13:7d10) @@ -80442,14 +82017,13 @@ BattleCenterMScript: ; 4fd10 (13:7d10) ld a, $c ld [$c119], a ret -; 0x4fd4c -BattleCenterMTexts: ; 4fd4c (13:7d4c) +BattleCenterMTextPointers: ; 4fd4c (13:7d4c) dw BattleCenterMText1 BattleCenterMText1: ; 4fd4e (13:7d4e) TX_FAR _BattleCenterMText1 - db $50 + db "@" BattleCenterMObject: ; 0x4fd53 (size=10) db $e ; border tile @@ -80467,21 +82041,19 @@ 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 TradeCenterMScript: ; 4fd7d (13:7d7d) jp BattleCenterMScript -; 0x4fd80 -TradeCenterMTexts: ; 4fd80 (13:7d80) +TradeCenterMTextPointers: ; 4fd80 (13:7d80) dw TradeCenterMText1 TradeCenterMText1: ; 4fd82 (13:7d82) TX_FAR _TradeCenterMText1 - db $50 + db "@" TradeCenterMObject: ; 0x4fd87 (size=10) db $e ; border tile @@ -80496,7 +82068,6 @@ TradeCenterMObject: ; 0x4fd87 (size=10) TradeCenterMBlocks: ; 4fd91 (13:7d91) INCBIN "maps/tradecenterm.blk" -; known jump sources: 3e59 (0:3e59) Func_4fda5: ; 4fda5 (13:7da5) call EnableAutoTextBoxDrawing xor a @@ -80551,7 +82122,6 @@ Func_4fda5: ; 4fda5 (13:7da5) scf ret -; known jump sources: 4fdcc (13:7dcc), 4fe01 (13:7e01) Func_4fe11: ; 4fe11 (13:7e11) ld a, [$cf91] push af @@ -80561,28 +82131,28 @@ 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 - db $50 -; 0x4fe3f + 5 bytes + db "@" UnnamedText_4fe44: ; 4fe44 (13:7e44) TX_FAR _UnnamedText_4fe44 - db $50 -; 0x4fe44 + 5 bytes + db "@" GetPredefPointer: ; 4fe49 (13:7e49) ; stores hl in $CC4F,$CC50 @@ -80651,136 +82221,126 @@ 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 - - db ROUTE_23 - dw Route23Blocks + (ROUTE_23_HEIGHT - 3) * ROUTE_23_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db ROUTE_23_WIDTH, ROUTE_23_WIDTH ; bigness, width - db (ROUTE_23_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_23_HEIGHT * (ROUTE_23_WIDTH + 6) ; window - - db VIRIDIAN_CITY - dw ViridianCityBlocks + (VIRIDIAN_CITY_WIDTH) ; connection strip location - dw $C6E5 + (ROUTE_22_WIDTH + 6) * (-3 + 4) ; current map position - db $f, VIRIDIAN_CITY_WIDTH ; bigness, width - db (-4 * -2), 0 ; alignments (y, x) - dw $C6EF + VIRIDIAN_CITY_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION ROUTE_23, ROUTE_23_WIDTH, ROUTE_23_HEIGHT, 0, 0, ROUTE_23_WIDTH, Route23Blocks + EAST_MAP_CONNECTION VIRIDIAN_CITY, VIRIDIAN_CITY_WIDTH, -3, 1, VIRIDIAN_CITY_HEIGHT - 3, ViridianCityBlocks, ROUTE_22_WIDTH dw Route22Object ; objects Route22Object: ; 0x50022 (size=27) @@ -80805,27 +82365,10 @@ 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 - - db CINNABAR_ISLAND - dw CinnabarIslandBlocks - 3 + (CINNABAR_ISLAND_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_20_WIDTH + 6) * (0 + 3) ; current map position - db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; bigness, width - db (0 * -2), (CINNABAR_ISLAND_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * CINNABAR_ISLAND_WIDTH ; window - - db ROUTE_19 - dw Route19Blocks + (ROUTE_19_WIDTH * 15) ; connection strip location - dw $C6E5 + (ROUTE_20_WIDTH + 6) * (-3 + 4) ; current map position - db $c, ROUTE_19_WIDTH ; bigness, width - db (-18 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_19_WIDTH ; window - - ; end connections data - + WEST_MAP_CONNECTION CINNABAR_ISLAND, CINNABAR_ISLAND_WIDTH, 0, 0, CINNABAR_ISLAND_HEIGHT, CinnabarIslandBlocks, ROUTE_20_WIDTH + EAST_MAP_CONNECTION ROUTE_19, ROUTE_19_WIDTH, -3, 15, ROUTE_19_HEIGHT - 15, Route19Blocks, ROUTE_20_WIDTH dw Route20Object ; objects Route20Object: ; 0x50113 (size=106) @@ -80861,27 +82404,10 @@ 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 - - db INDIGO_PLATEAU - dw IndigoPlateauBlocks + (INDIGO_PLATEAU_HEIGHT - 3) * INDIGO_PLATEAU_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db INDIGO_PLATEAU_WIDTH, INDIGO_PLATEAU_WIDTH ; bigness, width - db (INDIGO_PLATEAU_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + INDIGO_PLATEAU_HEIGHT * (INDIGO_PLATEAU_WIDTH + 6) ; window - - db ROUTE_22 - dw Route22Blocks ; connection strip location - dw $C6EB + (ROUTE_23_HEIGHT + 3) * (ROUTE_23_WIDTH + 6) + 0 ; current map position - db $d, ROUTE_22_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_22_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION INDIGO_PLATEAU, INDIGO_PLATEAU_WIDTH, INDIGO_PLATEAU_HEIGHT, 0, 0, INDIGO_PLATEAU_WIDTH, IndigoPlateauBlocks + SOUTH_MAP_CONNECTION ROUTE_22, ROUTE_22_WIDTH, 0, 0, ROUTE_22_WIDTH - 7, Route22Blocks, ROUTE_23_WIDTH, ROUTE_23_HEIGHT dw Route23Object ; objects Route23Object: ; 0x50361 (size=81) @@ -80917,27 +82443,10 @@ 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 - - db CERULEAN_CITY - dw CeruleanCityBlocks + 2 ; connection strip location - dw $C6EB + (ROUTE_24_HEIGHT + 3) * (ROUTE_24_WIDTH + 6) + -3 ; current map position - db $10, CERULEAN_CITY_WIDTH ; bigness, width - db 0, (-5 * -2) ; alignments (y, x) - dw $C6EF + CERULEAN_CITY_WIDTH ; window - - db ROUTE_25 - dw Route25Blocks + (ROUTE_25_WIDTH * 0) ; connection strip location - dw $C6E5 + (ROUTE_24_WIDTH + 6) * (0 + 4) ; current map position - db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; bigness, width - db (0 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_25_WIDTH ; window - - ; end connections data - + SOUTH_MAP_CONNECTION CERULEAN_CITY, CERULEAN_CITY_WIDTH, -3, 2, CERULEAN_CITY_WIDTH - 4, CeruleanCityBlocks, ROUTE_24_WIDTH, ROUTE_24_HEIGHT + EAST_MAP_CONNECTION ROUTE_25, ROUTE_25_WIDTH, 0, 0, ROUTE_25_HEIGHT, Route25Blocks, ROUTE_24_WIDTH dw Route24Object ; objects Route24Object: ; 0x506a4 (size=67) @@ -80963,20 +82472,9 @@ 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 - - db ROUTE_24 - dw Route24Blocks - 3 + (ROUTE_24_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_25_WIDTH + 6) * (0 + 3) ; current map position - db $c, ROUTE_24_WIDTH ; bigness, width - db (0 * -2), (ROUTE_24_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_24_WIDTH ; window - - ; end connections data - + WEST_MAP_CONNECTION ROUTE_24, ROUTE_24_WIDTH, 0, 0, ROUTE_24_HEIGHT - 6, Route24Blocks, ROUTE_25_WIDTH dw Route25Object ; objects Route25Object: ; 0x507b2 (size=94) @@ -81009,27 +82507,15 @@ 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 - - db ROUTE_23 - dw Route23Blocks ; connection strip location - dw $C6EB + (INDIGO_PLATEAU_HEIGHT + 3) * (INDIGO_PLATEAU_WIDTH + 6) + 0 ; current map position - db ROUTE_23_WIDTH, ROUTE_23_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_23_WIDTH ; window - - ; end connections data - + SOUTH_MAP_CONNECTION ROUTE_23, ROUTE_23_WIDTH, 0, 0, ROUTE_23_WIDTH, Route23Blocks, INDIGO_PLATEAU_WIDTH, INDIGO_PLATEAU_HEIGHT dw IndigoPlateauObject ; objects IndigoPlateauScript: ; 50935 (14:4935) ret -; 0x50936 -IndigoPlateauTexts: ; 50936 (14:4936) +IndigoPlateauTextPointers: ; 50936 (14:4936) IndigoPlateauObject: ; 0x50936 (size=20) db $e ; border tile @@ -81051,41 +82537,12 @@ 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 - - db ROUTE_5 - dw Route5Blocks + (ROUTE_5_HEIGHT - 3) * ROUTE_5_WIDTH ; connection strip location - dw $C6EB + 5 ; current map position - db ROUTE_5_WIDTH, ROUTE_5_WIDTH ; bigness, width - db (ROUTE_5_HEIGHT * 2) - 1, (5 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_5_HEIGHT * (ROUTE_5_WIDTH + 6) ; window - - db ROUTE_6 - dw Route6Blocks ; connection strip location - dw $C6EB + (SAFFRON_CITY_HEIGHT + 3) * (SAFFRON_CITY_WIDTH + 6) + 5 ; current map position - db ROUTE_6_WIDTH, ROUTE_6_WIDTH ; bigness, width - db 0, (5 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_6_WIDTH ; window - - db ROUTE_7 - dw Route7Blocks - 3 + (ROUTE_7_WIDTH) ; connection strip location - dw $C6E8 + (SAFFRON_CITY_WIDTH + 6) * (4 + 3) ; current map position - db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; bigness, width - db (4 * -2), (ROUTE_7_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_7_WIDTH ; window - - db ROUTE_8 - dw Route8Blocks + (ROUTE_8_WIDTH * 0) ; connection strip location - dw $C6E5 + (SAFFRON_CITY_WIDTH + 6) * (4 + 4) ; current map position - db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; bigness, width - db (4 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_8_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION ROUTE_5, ROUTE_5_WIDTH, ROUTE_5_HEIGHT, 5, 0, ROUTE_5_WIDTH, Route5Blocks + SOUTH_MAP_CONNECTION ROUTE_6, ROUTE_6_WIDTH, 5, 0, ROUTE_6_WIDTH, Route6Blocks, SAFFRON_CITY_WIDTH, SAFFRON_CITY_HEIGHT + WEST_MAP_CONNECTION ROUTE_7, ROUTE_7_WIDTH, 4, 0, ROUTE_7_HEIGHT, Route7Blocks, SAFFRON_CITY_WIDTH + EAST_MAP_CONNECTION ROUTE_8, ROUTE_8_WIDTH, 4, 0, ROUTE_8_HEIGHT, Route8Blocks, SAFFRON_CITY_WIDTH dw SaffronCityObject ; objects SaffronCityObject: ; 0x509dc (size=188) @@ -81145,102 +82602,125 @@ SaffronCityBlocks: ; 50a98 (14:4a98) SaffronCityScript: ; 50c00 (14:4c00) jp EnableAutoTextBoxDrawing -; 0x50c03 -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 - db $50 + db "@" SaffronCityText2: ; 50c3a (14:4c3a) TX_FAR _SaffronCityText2 - db $50 + db "@" SaffronCityText3: ; 50c3f (14:4c3f) TX_FAR _SaffronCityText3 - db $50 + db "@" SaffronCityText4: ; 50c44 (14:4c44) TX_FAR _SaffronCityText4 - db $50 + db "@" SaffronCityText5: ; 50c49 (14:4c49) TX_FAR _SaffronCityText5 - db $50 + db "@" SaffronCityText6: ; 50c4e (14:4c4e) TX_FAR _SaffronCityText6 - db $50 + db "@" SaffronCityText7: ; 50c53 (14:4c53) TX_FAR _SaffronCityText7 - db $50 + db "@" SaffronCityText8: ; 50c58 (14:4c58) TX_FAR _SaffronCityText8 - db $50 + db "@" SaffronCityText9: ; 50c5d (14:4c5d) TX_FAR _SaffronCityText9 - db $50 + db "@" SaffronCityText10: ; 50c62 (14:4c62) TX_FAR _SaffronCityText10 - db $50 + db "@" SaffronCityText11: ; 50c67 (14:4c67) TX_FAR _SaffronCityText11 - db $50 + db "@" SaffronCityText12: ; 50c6c (14:4c6c) TX_FAR _SaffronCityText12 - db $15, $50 + db $15, "@" SaffronCityText13: ; 50c72 (14:4c72) TX_FAR _SaffronCityText13 - db $50 + db "@" SaffronCityText14: ; 50c77 (14:4c77) TX_FAR _SaffronCityText14 - db $50 + db "@" SaffronCityText15: ; 50c7c (14:4c7c) TX_FAR _SaffronCityText15 - db $50 + db "@" SaffronCityText16: ; 50c81 (14:4c81) TX_FAR _SaffronCityText16 - db $50 + db "@" SaffronCityText17: ; 50c86 (14:4c86) TX_FAR _SaffronCityText17 - db $50 + db "@" SaffronCityText18: ; 50c8b (14:4c8b) TX_FAR _SaffronCityText18 - db $50 + db "@" SaffronCityText20: ; 50c90 (14:4c90) TX_FAR _SaffronCityText20 - db $50 + db "@" SaffronCityText21: ; 50c95 (14:4c95) TX_FAR _SaffronCityText21 - db $50 + db "@" SaffronCityText22: ; 50c9a (14:4c9a) TX_FAR _SaffronCityText22 - db $50 + db "@" SaffronCityText24: ; 50c9f (14:4c9f) TX_FAR _SaffronCityText24 - db $50 + db "@" SaffronCityText25: ; 50ca4 (14:4ca4) TX_FAR _SaffronCityText25 - db $50 + db "@" Route20Script: ; 50ca9 (14:4ca9) ld hl, $d7e7 @@ -81249,14 +82729,12 @@ 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 ret -; 0x50cc6 -; known jump sources: 50cb0 (14:4cb0) Func_50cc6: ; 50cc6 (14:4cc6) ld a, [$d880] and $3 @@ -81266,7 +82744,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 @@ -81276,8 +82754,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] @@ -81294,23 +82772,34 @@ INCBIN "baserom.gbc",$50ce8,$50cef - $50ce8 call Func_50d14 ret -; known jump sources: 50cd1 (14:4cd1), 50cd6 (14:4cd6), 50cf9 (14:4cf9), 50cfe (14:4cfe) Func_50d0c: ; 50d0c (14:4d0c) ld [$cc4d], a ld a, $15 jp Predef ; indirect jump to AddMissableObject (f1c8 (3:71c8)) -; known jump sources: 50ce2 (14:4ce2), 50d03 (14:4d03), 50d08 (14:4d08) Func_50d14: ; 50d14 (14:4d14) ld [$cc4d], a 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) @@ -81321,7 +82810,6 @@ Route20TrainerHeader0: ; 50d3a (14:4d3a) dw Route20AfterBattleText1 ; 0x4e21 TextAfterBattle dw Route20EndBattleText1 ; 0x4e1c TextEndBattle dw Route20EndBattleText1 ; 0x4e1c TextEndBattle -; 0x50d46 Route20TrainerHeader2: ; 50d46 (14:4d46) db $2 ; flag's bit @@ -81331,7 +82819,6 @@ Route20TrainerHeader2: ; 50d46 (14:4d46) dw Route20AfterBattleText2 ; 0x4e30 TextAfterBattle dw Route20EndBattleText2 ; 0x4e2b TextEndBattle dw Route20EndBattleText2 ; 0x4e2b TextEndBattle -; 0x50d52 Route20TrainerHeader3: ; 50d52 (14:4d52) db $3 ; flag's bit @@ -81341,7 +82828,6 @@ Route20TrainerHeader3: ; 50d52 (14:4d52) dw Route20AfterBattleText3 ; 0x4e3f TextAfterBattle dw Route20EndBattleText3 ; 0x4e3a TextEndBattle dw Route20EndBattleText3 ; 0x4e3a TextEndBattle -; 0x50d5e Route20TrainerHeader4: ; 50d5e (14:4d5e) db $4 ; flag's bit @@ -81351,7 +82837,6 @@ Route20TrainerHeader4: ; 50d5e (14:4d5e) dw Route20AfterBattleText4 ; 0x4e4e TextAfterBattle dw Route20EndBattleText4 ; 0x4e49 TextEndBattle dw Route20EndBattleText4 ; 0x4e49 TextEndBattle -; 0x50d6a Route20TrainerHeader5: ; 50d6a (14:4d6a) db $5 ; flag's bit @@ -81361,7 +82846,6 @@ Route20TrainerHeader5: ; 50d6a (14:4d6a) dw Route20AfterBattleText5 ; 0x4e5d TextAfterBattle dw Route20EndBattleText5 ; 0x4e58 TextEndBattle dw Route20EndBattleText5 ; 0x4e58 TextEndBattle -; 0x50d76 Route20TrainerHeader6: ; 50d76 (14:4d76) db $6 ; flag's bit @@ -81371,7 +82855,6 @@ Route20TrainerHeader6: ; 50d76 (14:4d76) dw Route20AfterBattleText6 ; 0x4e6c TextAfterBattle dw Route20EndBattleText6 ; 0x4e67 TextEndBattle dw Route20EndBattleText6 ; 0x4e67 TextEndBattle -; 0x50d82 Route20TrainerHeader7: ; 50d82 (14:4d82) db $7 ; flag's bit @@ -81381,7 +82864,6 @@ Route20TrainerHeader7: ; 50d82 (14:4d82) dw Route20AfterBattleText7 ; 0x4e7b TextAfterBattle dw Route20EndBattleText7 ; 0x4e76 TextEndBattle dw Route20EndBattleText7 ; 0x4e76 TextEndBattle -; 0x50d8e Route20TrainerHeader8: ; 50d8e (14:4d8e) db $8 ; flag's bit @@ -81391,7 +82873,6 @@ Route20TrainerHeader8: ; 50d8e (14:4d8e) dw Route20AfterBattleText8 ; 0x4e8a TextAfterBattle dw Route20EndBattleText8 ; 0x4e85 TextEndBattle dw Route20EndBattleText8 ; 0x4e85 TextEndBattle -; 0x50d9a Route20TrainerHeader9: ; 50d9a (14:4d9a) db $9 ; flag's bit @@ -81401,7 +82882,6 @@ Route20TrainerHeader9: ; 50d9a (14:4d9a) dw Route20AfterBattleText9 ; 0x4e99 TextAfterBattle dw Route20EndBattleText9 ; 0x4e94 TextEndBattle dw Route20EndBattleText9 ; 0x4e94 TextEndBattle -; 0x50da6 Route20TrainerHeader10: ; 50da6 (14:4da6) db $a ; flag's bit @@ -81411,9 +82891,8 @@ Route20TrainerHeader10: ; 50da6 (14:4da6) dw Route20AfterBattleText10 ; 0x4ea8 TextAfterBattle dw Route20EndBattleText10 ; 0x4ea3 TextEndBattle dw Route20EndBattleText10 ; 0x4ea3 TextEndBattle -; 0x50db2 -db $ff + db $ff Route20Text1: ; 50db3 (14:4db3) db $08 ; asm @@ -81477,179 +82956,152 @@ Route20Text10: ; 50e0d (14:4e0d) Route20BattleText1: ; 50e17 (14:4e17) TX_FAR _Route20BattleText1 - db $50 -; 0x50e17 + 5 bytes + db "@" Route20EndBattleText1: ; 50e1c (14:4e1c) TX_FAR _Route20EndBattleText1 - db $50 -; 0x50e1c + 5 bytes + db "@" Route20AfterBattleText1: ; 50e21 (14:4e21) TX_FAR _Route20AfterBattleText1 - db $50 -; 0x50e21 + 5 bytes + db "@" Route20BattleText2: ; 50e26 (14:4e26) TX_FAR _Route20BattleText2 - db $50 -; 0x50e26 + 5 bytes + db "@" Route20EndBattleText2: ; 50e2b (14:4e2b) TX_FAR _Route20EndBattleText2 - db $50 -; 0x50e2b + 5 bytes + db "@" Route20AfterBattleText2: ; 50e30 (14:4e30) TX_FAR _Route20AfterBattleText2 - db $50 -; 0x50e30 + 5 bytes + db "@" Route20BattleText3: ; 50e35 (14:4e35) TX_FAR _Route20BattleText3 - db $50 -; 0x50e35 + 5 bytes + db "@" Route20EndBattleText3: ; 50e3a (14:4e3a) TX_FAR _Route20EndBattleText3 - db $50 -; 0x50e3a + 5 bytes + db "@" Route20AfterBattleText3: ; 50e3f (14:4e3f) TX_FAR _Route20AfterBattleText3 - db $50 -; 0x50e3f + 5 bytes + db "@" Route20BattleText4: ; 50e44 (14:4e44) TX_FAR _Route20BattleText4 - db $50 -; 0x50e44 + 5 bytes + db "@" Route20EndBattleText4: ; 50e49 (14:4e49) TX_FAR _Route20EndBattleText4 - db $50 -; 0x50e49 + 5 bytes + db "@" Route20AfterBattleText4: ; 50e4e (14:4e4e) TX_FAR _Route20AfterBattleText4 - db $50 -; 0x50e4e + 5 bytes + db "@" Route20BattleText5: ; 50e53 (14:4e53) TX_FAR _Route20BattleText5 - db $50 -; 0x50e53 + 5 bytes + db "@" Route20EndBattleText5: ; 50e58 (14:4e58) TX_FAR _Route20EndBattleText5 - db $50 -; 0x50e58 + 5 bytes + db "@" Route20AfterBattleText5: ; 50e5d (14:4e5d) TX_FAR _Route20AfterBattleText5 - db $50 -; 0x50e5d + 5 bytes + db "@" Route20BattleText6: ; 50e62 (14:4e62) TX_FAR _Route20BattleText6 - db $50 -; 0x50e62 + 5 bytes + db "@" Route20EndBattleText6: ; 50e67 (14:4e67) TX_FAR _Route20EndBattleText6 - db $50 -; 0x50e67 + 5 bytes + db "@" Route20AfterBattleText6: ; 50e6c (14:4e6c) TX_FAR _Route20AfterBattleText6 - db $50 -; 0x50e6c + 5 bytes + db "@" Route20BattleText7: ; 50e71 (14:4e71) TX_FAR _Route20BattleText7 - db $50 -; 0x50e71 + 5 bytes + db "@" Route20EndBattleText7: ; 50e76 (14:4e76) TX_FAR _Route20EndBattleText7 - db $50 -; 0x50e76 + 5 bytes + db "@" Route20AfterBattleText7: ; 50e7b (14:4e7b) TX_FAR _Route20AfterBattleText7 - db $50 -; 0x50e7b + 5 bytes + db "@" Route20BattleText8: ; 50e80 (14:4e80) TX_FAR _Route20BattleText8 - db $50 -; 0x50e80 + 5 bytes + db "@" Route20EndBattleText8: ; 50e85 (14:4e85) TX_FAR _Route20EndBattleText8 - db $50 -; 0x50e85 + 5 bytes + db "@" Route20AfterBattleText8: ; 50e8a (14:4e8a) TX_FAR _Route20AfterBattleText8 - db $50 -; 0x50e8a + 5 bytes + db "@" Route20BattleText9: ; 50e8f (14:4e8f) TX_FAR _Route20BattleText9 - db $50 -; 0x50e8f + 5 bytes + db "@" Route20EndBattleText9: ; 50e94 (14:4e94) TX_FAR _Route20EndBattleText9 - db $50 -; 0x50e94 + 5 bytes + db "@" Route20AfterBattleText9: ; 50e99 (14:4e99) TX_FAR _Route20AfterBattleText9 - db $50 -; 0x50e99 + 5 bytes + db "@" Route20BattleText10: ; 50e9e (14:4e9e) TX_FAR _Route20BattleText10 - db $50 -; 0x50e9e + 5 bytes + db "@" Route20EndBattleText10: ; 50ea3 (14:4ea3) TX_FAR _Route20EndBattleText10 - db $50 -; 0x50ea3 + 5 bytes + db "@" Route20AfterBattleText10: ; 50ea8 (14:4ea8) TX_FAR _Route20AfterBattleText10 - db $50 -; 0x50ea8 + 5 bytes + db "@" Route20Text12: ; 50ead (14:4ead) Route20Text11: ; 50ead (14:4ead) TX_FAR _Route20Text11 - db $50 + db "@" Route22Script: ; 50eb2 (14:4eb2) call EnableAutoTextBoxDrawing - ld hl, Route22Scripts + ld hl, Route22ScriptPointers ld a, [W_ROUTE22CURSCRIPT] jp CallFunctionInTable -; 0x50ebe - -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 Route22Script7 -; known jump sources: 510e4 (14:50e4) Func_50ece: ; 50ece (14:4ece) xor a - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a ld [W_ROUTE22CURSCRIPT], a +Route22Script7: ; 50ed5 (14:4ed5) ret -; known jump sources: 510d0 (14:50d0) Func_50ed6: ; 50ed6 (14:4ed6) ld a, [W_RIVALSTARTER] ; $d715 ld b, a @@ -81664,9 +83116,8 @@ Func_50ed6: ; 50ed6 (14:4ed6) ld [W_TRAINERNO], a ; $d05d ret -; known jump sources: 50f59 (14:4f59), 5107e (14:507e) Func_50ee6: ; 50ee6 (14:4ee6) - ld de, Unknown_50efb ; $4efb + ld de, MovementData_50efb ; $4efb ld a, [$cf0d] cp $1 jr z, .asm_50ef1 @@ -81677,14 +83128,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] @@ -81692,7 +83143,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] @@ -81702,7 +83153,7 @@ Route22Script0: ; 50f00 (14:4f00) jp nz, Func_5104e ret -.unknown_50f2d +.CoordsData_50f2d db $04, $1D db $05, $1D db $FF @@ -81730,7 +83181,6 @@ Route22Script0: ; 50f00 (14:4f00) ld a, $1 ld [W_ROUTE22CURSCRIPT], a ret -; 0x50f62 Route22Script1: ; 50f62 (14:4f62) ld a, [$d730] @@ -81751,7 +83201,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 @@ -81763,15 +83213,16 @@ Route22Script1: ; 50f62 (14:4f62) call PreBattleSaveRegisters ld a, $e1 ld [$d059], a - ld hl, Unknown_50faf ; $4faf + ld hl, StarterMons_50faf ; $4faf call Func_50ed6 ld a, $2 ld [W_ROUTE22CURSCRIPT], a ret -; 0x50faf -Unknown_50faf: ; 50faf (14:4faf) -INCBIN "baserom.gbc",$50faf,$50fb5 - $50faf +StarterMons_50faf: ; 50faf (14:4faf) + db SQUIRTLE,$04 + db BULBASAUR,$05 + db CHARMANDER,$06 Route22Script2: ; 50fb5 (14:4fb5) ld a, [$d057] @@ -81790,7 +83241,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 @@ -81813,32 +83264,30 @@ Route22Script2: ; 50fb5 (14:4fb5) ld a, $3 ld [W_ROUTE22CURSCRIPT], a ret -; 0x51008 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 -; 0x51017 -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 @@ -81850,9 +83299,7 @@ Route22Script3: ; 5102a (14:502a) ld a, $0 ld [W_ROUTE22CURSCRIPT], a ret -; 0x5104e -; known jump sources: 50f29 (14:4f29) Func_5104e: ; 5104e (14:504e) ld a, $2 ld [$cd4f], a @@ -81879,6 +83326,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 @@ -81899,7 +83348,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 @@ -81911,14 +83360,18 @@ Func_5104e: ; 5104e (14:504e) call PreBattleSaveRegisters ld a, $f2 ld [W_CUROPPONENT], a ; $d059 - ld hl, Unknown_510d9 ; $50d9 + ld hl, StarterMons_510d9 ; $50d9 call Func_50ed6 ld a, $5 ld [W_ROUTE22CURSCRIPT], a ret -Unknown_510d9: ; 510d9 (14:50d9) -INCBIN "baserom.gbc",$510d9,$510df - $510d9 +StarterMons_510d9: ; 510d9 (14:50d9) + db SQUIRTLE,$0a + db BULBASAUR,$0b + db CHARMANDER,$0c + +Route22Script5: ; 510df (14:50df) ld a, [W_ISINBATTLE] ; $d057 cp $ff jp z, Func_50ece @@ -81939,7 +83392,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 @@ -81963,29 +83416,29 @@ INCBIN "baserom.gbc",$510d9,$510df - $510d9 ld [W_ROUTE22CURSCRIPT], a ret -; known jump sources: 5112f (14:512f) Func_5113d: ; 5113d (14:513d) - ld de, Unknown_5114c ; $514c + ld de, MovementData_5114c ; $514c jr asm_51145 -; known jump sources: 51134 (14:5134) 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 @@ -81997,9 +83450,11 @@ INCBIN "baserom.gbc",$5114d,$51151 - $5114d ld a, $7 ld [W_ROUTE22CURSCRIPT], a ret -; 51175 (14:5175) -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 @@ -82031,57 +83486,47 @@ Route22Text2: ; 51194 (14:5194) UnnamedText_511ad: ; 511ad (14:51ad) TX_FAR _UnnamedText_511ad - db $50 -; 0x511ad + 5 bytes + db "@" UnnamedText_511b2: ; 511b2 (14:51b2) TX_FAR _UnnamedText_511b2 - db $50 -; 0x511b2 + 5 bytes + db "@" UnnamedText_511b7: ; 511b7 (14:51b7) TX_FAR _UnnamedText_511b7 - db $50 -; 0x511b7 + 5 bytes + db "@" UnnamedText_511bc: ; 511bc (14:51bc) TX_FAR _UnnamedText_511bc - db $50 -; 0x511bc + 5 bytes + db "@" UnnamedText_511c1: ; 511c1 (14:51c1) TX_FAR _UnnamedText_511c1 - db $50 -; 0x511c1 + 5 bytes + db "@" UnnamedText_511c6: ; 511c6 (14:51c6) TX_FAR _UnnamedText_511c6 - db $50 -; 0x511c6 + 5 bytes + db "@" UnnamedText_511cb: ; 511cb (14:51cb) TX_FAR _UnnamedText_511cb - db $50 -; 0x511cb + 5 bytes + db "@" UnnamedText_511d0: ; 511d0 (14:51d0) TX_FAR _UnnamedText_511d0 - db $50 -; 0x511d0 + 5 bytes + db "@" Route22Text3: ; 511d5 (14:51d5) TX_FAR _Route22Text3 - db $50 + db "@" Route23Script: ; 511da (14:51da) call Func_511e9 call EnableAutoTextBoxDrawing - ld hl, Route23Scripts + ld hl, Route23ScriptPointers ld a, [W_ROUTE23CURSCRIPT] jp CallFunctionInTable -; 0x511e9 -; known jump sources: 511da (14:51da) Func_511e9: ; 511e9 (14:51e9) ld hl, $d126 bit 6, [hl] @@ -82101,13 +83546,15 @@ Func_511e9: ; 511e9 (14:51e9) ld [$cc4d], a ld a, $11 jp Predef ; indirect jump to RemoveMissableObject (f1d7 (3:71d7)) -; 51213 (14:5213) -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 @@ -82121,7 +83568,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 @@ -82141,15 +83588,13 @@ Route23Script0: ; 51219 (14:5219) xor a ld [H_CURRENTPRESSEDBUTTONS], a ret -; 0x51255 -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 -; known jump sources: 5124b (14:524b), 51349 (14:5349) 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 @@ -82166,19 +83611,36 @@ 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@" -; known jump sources: 51365 (14:5365) Func_512d8: ; 512d8 (14:52d8) ld a, $1 ld [$cd38], a @@ -82186,9 +83648,9 @@ Func_512d8: ; 512d8 (14:52d8) ld [$ccd3], a xor a ld [$c109], a - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a jp Func_3486 -; 512ec (14:52ec) + Route23Script1: ; 512ec (14:52ec) ld a, [$cd38] and a @@ -82197,10 +83659,16 @@ Route23Script2: ; 512f1 (14:52f1) ld a, $0 ld [W_ROUTE23CURSCRIPT], a ret -; 0x512f7 -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 @@ -82243,13 +83711,11 @@ Route23Text7: ; 5133d (14:533d) ld a, $0 call Func_51346 jp TextScriptEnd -; 0x51346 -; known jump sources: 5130a (14:530a), 51313 (14:5313), 5131c (14:531c), 51325 (14:5325), 5132e (14:532e), 51337 (14:5337), 51340 (14:5340) 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 @@ -82259,16 +83725,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 @@ -82278,47 +83744,56 @@ 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 $50 -; 0x513a3 + 5 bytes + db "@" Route23Text8: ; 513a8 (14:53a8) TX_FAR _Route23Text8 - db $50 + db "@" 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 ret -; 0x513c0 -; known jump sources: 51427 (14:5427) 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 @@ -82340,28 +83815,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 -; 5144b (14:544b) -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) @@ -82372,7 +83866,6 @@ Route24TrainerHeader0: ; 5145b (14:545b) dw Route24AfterBattleText1 ; 0x557b TextAfterBattle dw Route24EndBattleText1 ; 0x5576 TextEndBattle dw Route24EndBattleText1 ; 0x5576 TextEndBattle -; 0x51467 Route24TrainerHeader2: ; 51467 (14:5467) db $3 ; flag's bit @@ -82382,7 +83875,6 @@ Route24TrainerHeader2: ; 51467 (14:5467) dw Route24AfterBattleText2 ; 0x558a TextAfterBattle dw Route24EndBattleText2 ; 0x5585 TextEndBattle dw Route24EndBattleText2 ; 0x5585 TextEndBattle -; 0x51473 Route24TrainerHeader3: ; 51473 (14:5473) db $4 ; flag's bit @@ -82392,7 +83884,6 @@ Route24TrainerHeader3: ; 51473 (14:5473) dw Route24AfterBattleText3 ; 0x5599 TextAfterBattle dw Route24EndBattleText3 ; 0x5594 TextEndBattle dw Route24EndBattleText3 ; 0x5594 TextEndBattle -; 0x5147f Route24TrainerHeader4: ; 5147f (14:547f) db $5 ; flag's bit @@ -82402,7 +83893,6 @@ Route24TrainerHeader4: ; 5147f (14:547f) dw Route24AfterBattleText4 ; 0x55a8 TextAfterBattle dw Route24EndBattleText4 ; 0x55a3 TextEndBattle dw Route24EndBattleText4 ; 0x55a3 TextEndBattle -; 0x5148b Route24TrainerHeader5: ; 5148b (14:548b) db $6 ; flag's bit @@ -82412,7 +83902,6 @@ Route24TrainerHeader5: ; 5148b (14:548b) dw Route24AfterBattleText5 ; 0x55b7 TextAfterBattle dw Route24EndBattleText5 ; 0x55b2 TextEndBattle dw Route24EndBattleText5 ; 0x55b2 TextEndBattle -; 0x51497 Route24TrainerHeader6: ; 51497 (14:5497) db $7 ; flag's bit @@ -82422,9 +83911,8 @@ Route24TrainerHeader6: ; 51497 (14:5497) dw Route24AfterBattleText6 ; 0x55c6 TextAfterBattle dw Route24EndBattleText6 ; 0x55c1 TextEndBattle dw Route24EndBattleText6 ; 0x55c1 TextEndBattle -; 0x514a3 -db $ff + db $ff Route24Text1: ; 514a4 (14:54a4) db $8 @@ -82470,38 +83958,32 @@ Route24Text1: ; 514a4 (14:54a4) ld hl, $d7f0 set 1, [hl] jp TextScriptEnd -; 0x51510 UnnamedText_51510: ; 51510 (14:5510) TX_FAR _UnnamedText_51510 ; 0x92721 db $0B TX_FAR _UnnamedText_51515 ; 0x92755 - db $50 -; 0x5151a + db "@" UnnamedText_5151a: ; 5151a (14:551a) TX_FAR _UnnamedText_5151a ; 0x92779 - db $0B, $6, $50 + db $0B, $6, "@" UnnamedText_51521: ; 51521 (14:5521) TX_FAR _UnnamedText_51521 - db $50 -; 0x51521 + 5 bytes + db "@" UnnamedText_51526: ; 51526 (14:5526) TX_FAR _UnnamedText_51526 - db $50 -; 0x51526 + 5 bytes + db "@" UnnamedText_5152b: ; 5152b (14:552b) TX_FAR _UnnamedText_5152b - db $50 -; 0x5152b + 5 bytes + db "@" UnnamedText_51530: ; 51530 (14:5530) TX_FAR _UnnamedText_51530 - db $50 -; 0x51530 + 5 bytes + db "@" Route24Text2: ; 51535 (14:5535) db $08 ; asm @@ -82541,106 +84023,87 @@ Route24Text7: ; 51567 (14:5567) Route24BattleText1: ; 51571 (14:5571) TX_FAR _Route24BattleText1 - db $50 -; 0x51571 + 5 bytes + db "@" Route24EndBattleText1: ; 51576 (14:5576) TX_FAR _Route24EndBattleText1 - db $50 -; 0x51576 + 5 bytes + db "@" Route24AfterBattleText1: ; 5157b (14:557b) TX_FAR _Route24AfterBattleText1 - db $50 -; 0x5157b + 5 bytes + db "@" Route24BattleText2: ; 51580 (14:5580) TX_FAR _Route24BattleText2 - db $50 -; 0x51580 + 5 bytes + db "@" Route24EndBattleText2: ; 51585 (14:5585) TX_FAR _Route24EndBattleText2 - db $50 -; 0x51585 + 5 bytes + db "@" Route24AfterBattleText2: ; 5158a (14:558a) TX_FAR _Route24AfterBattleText2 - db $50 -; 0x5158a + 5 bytes + db "@" Route24BattleText3: ; 5158f (14:558f) TX_FAR _Route24BattleText3 - db $50 -; 0x5158f + 5 bytes + db "@" Route24EndBattleText3: ; 51594 (14:5594) TX_FAR _Route24EndBattleText3 - db $50 -; 0x51594 + 5 bytes + db "@" Route24AfterBattleText3: ; 51599 (14:5599) TX_FAR _Route24AfterBattleText3 - db $50 -; 0x51599 + 5 bytes + db "@" Route24BattleText4: ; 5159e (14:559e) TX_FAR _Route24BattleText4 - db $50 -; 0x5159e + 5 bytes + db "@" Route24EndBattleText4: ; 515a3 (14:55a3) TX_FAR _Route24EndBattleText4 - db $50 -; 0x515a3 + 5 bytes + db "@" Route24AfterBattleText4: ; 515a8 (14:55a8) TX_FAR _Route24AfterBattleText4 - db $50 -; 0x515a8 + 5 bytes + db "@" Route24BattleText5: ; 515ad (14:55ad) TX_FAR _Route24BattleText5 - db $50 -; 0x515ad + 5 bytes + db "@" Route24EndBattleText5: ; 515b2 (14:55b2) TX_FAR _Route24EndBattleText5 - db $50 -; 0x515b2 + 5 bytes + db "@" Route24AfterBattleText5: ; 515b7 (14:55b7) TX_FAR _Route24AfterBattleText5 - db $50 -; 0x515b7 + 5 bytes + db "@" Route24BattleText6: ; 515bc (14:55bc) TX_FAR _Route24BattleText6 - db $50 -; 0x515bc + 5 bytes + db "@" Route24EndBattleText6: ; 515c1 (14:55c1) TX_FAR _Route24EndBattleText6 - db $50 -; 0x515c1 + 5 bytes + db "@" Route24AfterBattleText6: ; 515c6 (14:55c6) TX_FAR _Route24AfterBattleText6 - db $50 -; 0x515c6 + 5 bytes + 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 -; 0x515e1 -Unknown_515e1: ; 515e1 (14:55e1) +Route25Script_515e1: ; 515e1 (14:55e1) ld hl, $d126 bit 6, [hl] res 6, [hl] @@ -82672,11 +84135,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) @@ -82687,7 +84162,6 @@ Route25TrainerHeader0: ; 5163e (14:563e) dw Route25AfterBattleText1 ; 0x570f TextAfterBattle dw Route25EndBattleText1 ; 0x570a TextEndBattle dw Route25EndBattleText1 ; 0x570a TextEndBattle -; 0x5164a Route25TrainerHeader2: ; 5164a (14:564a) db $2 ; flag's bit @@ -82697,7 +84171,6 @@ Route25TrainerHeader2: ; 5164a (14:564a) dw Route25AfterBattleText2 ; 0x571e TextAfterBattle dw Route25EndBattleText2 ; 0x5719 TextEndBattle dw Route25EndBattleText2 ; 0x5719 TextEndBattle -; 0x51656 Route25TrainerHeader3: ; 51656 (14:5656) db $3 ; flag's bit @@ -82707,7 +84180,6 @@ Route25TrainerHeader3: ; 51656 (14:5656) dw Route25AfterBattleText3 ; 0x572d TextAfterBattle dw Route25EndBattleText3 ; 0x5728 TextEndBattle dw Route25EndBattleText3 ; 0x5728 TextEndBattle -; 0x51662 Route25TrainerHeader4: ; 51662 (14:5662) db $4 ; flag's bit @@ -82717,7 +84189,6 @@ Route25TrainerHeader4: ; 51662 (14:5662) dw Route25AfterBattleText4 ; 0x573c TextAfterBattle dw Route25EndBattleText4 ; 0x5737 TextEndBattle dw Route25EndBattleText4 ; 0x5737 TextEndBattle -; 0x5166e Route25TrainerHeader5: ; 5166e (14:566e) db $5 ; flag's bit @@ -82727,7 +84198,6 @@ Route25TrainerHeader5: ; 5166e (14:566e) dw Route25AfterBattleText5 ; 0x574b TextAfterBattle dw Route25EndBattleText5 ; 0x5746 TextEndBattle dw Route25EndBattleText5 ; 0x5746 TextEndBattle -; 0x5167a Route25TrainerHeader6: ; 5167a (14:567a) db $6 ; flag's bit @@ -82737,7 +84207,6 @@ Route25TrainerHeader6: ; 5167a (14:567a) dw Route25AfterBattleText6 ; 0x575a TextAfterBattle dw Route25EndBattleText6 ; 0x5755 TextEndBattle dw Route25EndBattleText6 ; 0x5755 TextEndBattle -; 0x51686 Route25TrainerHeader7: ; 51686 (14:5686) db $7 ; flag's bit @@ -82747,7 +84216,6 @@ Route25TrainerHeader7: ; 51686 (14:5686) dw Route25AfterBattleText7 ; 0x5769 TextAfterBattle dw Route25EndBattleText7 ; 0x5764 TextEndBattle dw Route25EndBattleText7 ; 0x5764 TextEndBattle -; 0x51692 Route25TrainerHeader8: ; 51692 (14:5692) db $8 ; flag's bit @@ -82757,7 +84225,6 @@ Route25TrainerHeader8: ; 51692 (14:5692) dw Route25AfterBattleText8 ; 0x5778 TextAfterBattle dw Route25EndBattleText8 ; 0x5773 TextEndBattle dw Route25EndBattleText8 ; 0x5773 TextEndBattle -; 0x5169e Route25TrainerHeader9: ; 5169e (14:569e) db $9 ; flag's bit @@ -82767,9 +84234,8 @@ Route25TrainerHeader9: ; 5169e (14:569e) dw Route25AfterBattleText9 ; 0x5787 TextAfterBattle dw Route25EndBattleText9 ; 0x5782 TextEndBattle dw Route25EndBattleText9 ; 0x5782 TextEndBattle -; 0x516aa -db $ff + db $ff Route25Text1: ; 516ab (14:56ab) db $08 ; asm @@ -82827,174 +84293,144 @@ Route25Text9: ; 516fb (14:56fb) Route25BattleText1: ; 51705 (14:5705) TX_FAR _Route25BattleText1 - db $50 -; 0x51705 + 5 bytes + db "@" Route25EndBattleText1: ; 5170a (14:570a) TX_FAR _Route25EndBattleText1 - db $50 -; 0x5170a + 5 bytes + db "@" Route25AfterBattleText1: ; 5170f (14:570f) TX_FAR _Route25AfterBattleText1 - db $50 -; 0x5170f + 5 bytes + db "@" Route25BattleText2: ; 51714 (14:5714) TX_FAR _Route25BattleText2 - db $50 -; 0x51714 + 5 bytes + db "@" Route25EndBattleText2: ; 51719 (14:5719) TX_FAR _Route25EndBattleText2 - db $50 -; 0x51719 + 5 bytes + db "@" Route25AfterBattleText2: ; 5171e (14:571e) TX_FAR _Route25AfterBattleText2 - db $50 -; 0x5171e + 5 bytes + db "@" Route25BattleText3: ; 51723 (14:5723) TX_FAR _Route25BattleText3 - db $50 -; 0x51723 + 5 bytes + db "@" Route25EndBattleText3: ; 51728 (14:5728) TX_FAR _Route25EndBattleText3 - db $50 -; 0x51728 + 5 bytes + db "@" Route25AfterBattleText3: ; 5172d (14:572d) TX_FAR _Route25AfterBattleText3 - db $50 -; 0x5172d + 5 bytes + db "@" Route25BattleText4: ; 51732 (14:5732) TX_FAR _Route25BattleText4 - db $50 -; 0x51732 + 5 bytes + db "@" Route25EndBattleText4: ; 51737 (14:5737) TX_FAR _Route25EndBattleText4 - db $50 -; 0x51737 + 5 bytes + db "@" Route25AfterBattleText4: ; 5173c (14:573c) TX_FAR _Route25AfterBattleText4 - db $50 -; 0x5173c + 5 bytes + db "@" Route25BattleText5: ; 51741 (14:5741) TX_FAR _Route25BattleText5 - db $50 -; 0x51741 + 5 bytes + db "@" Route25EndBattleText5: ; 51746 (14:5746) TX_FAR _Route25EndBattleText5 - db $50 -; 0x51746 + 5 bytes + db "@" Route25AfterBattleText5: ; 5174b (14:574b) TX_FAR _Route25AfterBattleText5 - db $50 -; 0x5174b + 5 bytes + db "@" Route25BattleText6: ; 51750 (14:5750) TX_FAR _Route25BattleText6 - db $50 -; 0x51750 + 5 bytes + db "@" Route25EndBattleText6: ; 51755 (14:5755) TX_FAR _Route25EndBattleText6 - db $50 -; 0x51755 + 5 bytes + db "@" Route25AfterBattleText6: ; 5175a (14:575a) TX_FAR _Route25AfterBattleText6 - db $50 -; 0x5175a + 5 bytes + db "@" Route25BattleText7: ; 5175f (14:575f) TX_FAR _Route25BattleText7 - db $50 -; 0x5175f + 5 bytes + db "@" Route25EndBattleText7: ; 51764 (14:5764) TX_FAR _Route25EndBattleText7 - db $50 -; 0x51764 + 5 bytes + db "@" Route25AfterBattleText7: ; 51769 (14:5769) TX_FAR _Route25AfterBattleText7 - db $50 -; 0x51769 + 5 bytes + db "@" Route25BattleText8: ; 5176e (14:576e) TX_FAR _Route25BattleText8 - db $50 -; 0x5176e + 5 bytes + db "@" Route25EndBattleText8: ; 51773 (14:5773) TX_FAR _Route25EndBattleText8 - db $50 -; 0x51773 + 5 bytes + db "@" Route25AfterBattleText8: ; 51778 (14:5778) TX_FAR _Route25AfterBattleText8 - db $50 -; 0x51778 + 5 bytes + db "@" Route25BattleText9: ; 5177d (14:577d) TX_FAR _Route25BattleText9 - db $50 -; 0x5177d + 5 bytes + db "@" Route25EndBattleText9: ; 51782 (14:5782) TX_FAR _Route25EndBattleText9 - db $50 -; 0x51782 + 5 bytes + db "@" Route25AfterBattleText9: ; 51787 (14:5787) TX_FAR _Route25AfterBattleText9 - db $50 -; 0x51787 + 5 bytes + db "@" Route25Text11: ; 5178c (14:578c) TX_FAR _Route25Text11 - db $50 + db "@" 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 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 -; 0x517c4 -VictoryRoad2Script_Unknown517c4: ; 517c4 (14:57c4) +VictoryRoad2Script_517c4: ; 517c4 (14:57c4) ld hl, $d869 res 7, [hl] -; known jump sources: 517ae (14:57ae) Func_517c9: ; 517c9 (14:57c9) ld a, [$d7ee] bit 0, a @@ -83010,20 +84446,23 @@ Func_517c9: ; 517c9 (14:57c9) ld a, $1d ld bc, $70b -; known jump sources: 517d6 (14:57d6) Func_517e2: ; 517e2 (14:57e2) ld [$d09f], a ld a, $17 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] @@ -83039,11 +84478,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) @@ -83054,7 +84507,6 @@ VictoryRoad2TrainerHeader0: ; 51835 (14:5835) dw VictoryRoad2AfterBattleText1 ; 0x58d4 TextAfterBattle dw VictoryRoad2EndBattleText1 ; 0x58cf TextEndBattle dw VictoryRoad2EndBattleText1 ; 0x58cf TextEndBattle -; 0x51841 VictoryRoad2TrainerHeader2: ; 51841 (14:5841) db $2 ; flag's bit @@ -83064,7 +84516,6 @@ VictoryRoad2TrainerHeader2: ; 51841 (14:5841) dw VictoryRoad2AfterBattleText2 ; 0x58e3 TextAfterBattle dw VictoryRoad2EndBattleText2 ; 0x58de TextEndBattle dw VictoryRoad2EndBattleText2 ; 0x58de TextEndBattle -; 0x5184d VictoryRoad2TrainerHeader3: ; 5184d (14:584d) db $3 ; flag's bit @@ -83074,7 +84525,6 @@ VictoryRoad2TrainerHeader3: ; 5184d (14:584d) dw VictoryRoad2AfterBattleText3 ; 0x58f2 TextAfterBattle dw VictoryRoad2EndBattleText3 ; 0x58ed TextEndBattle dw VictoryRoad2EndBattleText3 ; 0x58ed TextEndBattle -; 0x51859 VictoryRoad2TrainerHeader4: ; 51859 (14:5859) db $4 ; flag's bit @@ -83084,7 +84534,6 @@ VictoryRoad2TrainerHeader4: ; 51859 (14:5859) dw VictoryRoad2AfterBattleText4 ; 0x5901 TextAfterBattle dw VictoryRoad2EndBattleText4 ; 0x58fc TextEndBattle dw VictoryRoad2EndBattleText4 ; 0x58fc TextEndBattle -; 0x51865 VictoryRoad2TrainerHeader5: ; 51865 (14:5865) db $5 ; flag's bit @@ -83094,7 +84543,6 @@ VictoryRoad2TrainerHeader5: ; 51865 (14:5865) dw VictoryRoad2AfterBattleText5 ; 0x5910 TextAfterBattle dw VictoryRoad2EndBattleText5 ; 0x590b TextEndBattle dw VictoryRoad2EndBattleText5 ; 0x590b TextEndBattle -; 0x51871 VictoryRoad2TrainerHeader6: ; 51871 (14:5871) db $6 ; flag's bit @@ -83104,9 +84552,8 @@ VictoryRoad2TrainerHeader6: ; 51871 (14:5871) dw VictoryRoad2BattleText6 ; 0x58ba TextAfterBattle dw VictoryRoad2BattleText6 ; 0x58ba TextEndBattle dw VictoryRoad2BattleText6 ; 0x58ba TextEndBattle -; 0x5187d -db $ff + db $ff VictoryRoad2Text1: ; 5187e (14:587e) db $08 ; asm @@ -83151,82 +84598,66 @@ VictoryRoad2BattleText6: ; 518ba (14:58ba) call PlayCry call WaitForSoundToFinish jp TextScriptEnd -; 0x518ca VictoryRoad2BattleText1: ; 518ca (14:58ca) TX_FAR _VictoryRoad2BattleText1 - db $50 -; 0x518ca + 5 bytes + db "@" VictoryRoad2EndBattleText1: ; 518cf (14:58cf) TX_FAR _VictoryRoad2EndBattleText1 - db $50 -; 0x518cf + 5 bytes + db "@" VictoryRoad2AfterBattleText1: ; 518d4 (14:58d4) TX_FAR _VictoryRoad2AfterBattleText1 - db $50 -; 0x518d4 + 5 bytes + db "@" VictoryRoad2BattleText2: ; 518d9 (14:58d9) TX_FAR _VictoryRoad2BattleText2 - db $50 -; 0x518d9 + 5 bytes + db "@" VictoryRoad2EndBattleText2: ; 518de (14:58de) TX_FAR _VictoryRoad2EndBattleText2 - db $50 -; 0x518de + 5 bytes + db "@" VictoryRoad2AfterBattleText2: ; 518e3 (14:58e3) TX_FAR _VictoryRoad2AfterBattleText2 - db $50 -; 0x518e3 + 5 bytes + db "@" VictoryRoad2BattleText3: ; 518e8 (14:58e8) TX_FAR _VictoryRoad2BattleText3 - db $50 -; 0x518e8 + 5 bytes + db "@" VictoryRoad2EndBattleText3: ; 518ed (14:58ed) TX_FAR _VictoryRoad2EndBattleText3 - db $50 -; 0x518ed + 5 bytes + db "@" VictoryRoad2AfterBattleText3: ; 518f2 (14:58f2) TX_FAR _VictoryRoad2AfterBattleText3 - db $50 -; 0x518f2 + 5 bytes + db "@" VictoryRoad2BattleText4: ; 518f7 (14:58f7) TX_FAR _VictoryRoad2BattleText4 - db $50 -; 0x518f7 + 5 bytes + db "@" VictoryRoad2EndBattleText4: ; 518fc (14:58fc) TX_FAR _VictoryRoad2EndBattleText4 - db $50 -; 0x518fc + 5 bytes + db "@" VictoryRoad2AfterBattleText4: ; 51901 (14:5901) TX_FAR _VictoryRoad2AfterBattleText4 - db $50 -; 0x51901 + 5 bytes + db "@" VictoryRoad2BattleText5: ; 51906 (14:5906) TX_FAR _VictoryRoad2BattleText5 - db $50 -; 0x51906 + 5 bytes + db "@" VictoryRoad2EndBattleText5: ; 5190b (14:590b) TX_FAR _VictoryRoad2EndBattleText5 - db $50 -; 0x5190b + 5 bytes + db "@" VictoryRoad2AfterBattleText5: ; 51910 (14:5910) TX_FAR _VictoryRoad2AfterBattleText5 - db $50 -; 0x51910 + 5 bytes + db "@" VictoryRoad2Object: ; 0x51915 (size=154) db $7d ; border tile @@ -83272,23 +84703,20 @@ 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 MtMoon2Script: ; 51a42 (14:5a42) call EnableAutoTextBoxDrawing ret -; 0x51a46 -MtMoon2Texts: ; 51a46 (14:5a46) +MtMoon2TextPointers: ; 51a46 (14:5a46) dw MtMoonText1 MtMoonText1: ; 51a48 (14:5a48) TX_FAR _UnnamedText_51a48 - db $50 -; 0x51a48 + 5 bytes + db "@" MtMoon2Object: ; 0x51a4d (size=68) db $3 ; border tile @@ -83323,28 +84751,26 @@ 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 -; 0x51b77 -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] @@ -83376,10 +84802,9 @@ 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 -; known jump sources: 51b82 (14:5b82) Func_51bc8: ; 51bc8 (14:5bc8) push hl ld hl, $d73f @@ -83416,7 +84841,6 @@ Func_51bc8: ; 51bc8 (14:5bc8) ld [$FF00+$e0], a ret -; known jump sources: 51b85 (14:5b85) Func_51bf4: ; 51bf4 (14:5bf4) ld hl, $d830 ld a, [$FF00+$e0] @@ -83435,29 +84859,34 @@ Func_51bf4: ; 51bf4 (14:5bf4) set 6, [hl] ret -; known jump sources: 51ccd (14:5ccd) Func_51c0c: ; 51c0c (14:5c0c) xor a - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a -; known jump sources: 51c75 (14:5c75), 51cc5 (14:5cc5), 51d17 (14:5d17), 51d3c (14:5d3c) 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 @@ -83472,8 +84901,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 @@ -83485,16 +84914,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 @@ -83523,11 +84956,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 @@ -83546,11 +84981,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 @@ -83558,11 +84993,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 @@ -83572,11 +85009,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 -; 51d3f (14:5d3f) -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) @@ -83587,7 +85038,6 @@ SilphCo7TrainerHeader0: ; 51d5d (14:5d5d) dw SilphCo7AfterBattleText1 ; 0x5e64 TextAfterBattle dw SilphCo7EndBattleText1 ; 0x5e5f TextEndBattle dw SilphCo7EndBattleText1 ; 0x5e5f TextEndBattle -; 0x51d69 SilphCo7TrainerHeader2: ; 51d69 (14:5d69) db $6 ; flag's bit @@ -83597,7 +85047,6 @@ SilphCo7TrainerHeader2: ; 51d69 (14:5d69) dw SilphCo7AfterBattleText2 ; 0x5e7d TextAfterBattle dw SilphCo7EndBattleText2 ; 0x5e78 TextEndBattle dw SilphCo7EndBattleText2 ; 0x5e78 TextEndBattle -; 0x51d75 SilphCo7TrainerHeader3: ; 51d75 (14:5d75) db $7 ; flag's bit @@ -83607,7 +85056,6 @@ SilphCo7TrainerHeader3: ; 51d75 (14:5d75) dw SilphCo7AfterBattleText3 ; 0x5e96 TextAfterBattle dw SilphCo7EndBattleText3 ; 0x5e91 TextEndBattle dw SilphCo7EndBattleText3 ; 0x5e91 TextEndBattle -; 0x51d81 SilphCo7TrainerHeader4: ; 51d81 (14:5d81) db $8 ; flag's bit @@ -83617,9 +85065,8 @@ SilphCo7TrainerHeader4: ; 51d81 (14:5d81) dw SilphCo7AfterBattleText4 ; 0x5eaf TextAfterBattle dw SilphCo7EndBattleText4 ; 0x5eaa TextEndBattle dw SilphCo7EndBattleText4 ; 0x5eaa TextEndBattle -; 0x51d8d -db $ff + db $ff SilphCo7Text1: ; 51d8e (14:5d8e) db $08 ; asm @@ -83655,23 +85102,19 @@ SilphCo7Text1: ; 51d8e (14:5d8e) UnnamedText_51dd3: ; 51dd3 (14:5dd3) TX_FAR _UnnamedText_51dd3 - db $50 -; 0x51dd3 + 5 bytes + db "@" UnnamedText_51dd8: ; 51dd8 (14:5dd8) TX_FAR _UnnamedText_51dd8 - db $50 -; 0x51dd8 + 5 bytes + db "@" UnnamedText_51ddd: ; 51ddd (14:5ddd) TX_FAR _UnnamedText_51ddd - db $50 -; 0x51ddd + 5 bytes + db "@" UnnamedText_51de2: ; 51de2 (14:5de2) TX_FAR _UnnamedText_51de2 - db $50 -; 0x51de2 + 5 bytes + db "@" SilphCo7Text2: ; 51de7 (14:5de7) db $8 @@ -83686,17 +85129,14 @@ SilphCo7Text2: ; 51de7 (14:5de7) call PrintText .asm_e4d89 ; 0x51dfd jp TextScriptEnd -; 0x51e00 UnnamedText_51e00: ; 51e00 (14:5e00) TX_FAR _UnnamedText_51e00 - db $50 -; 0x51e00 + 5 bytes + db "@" UnnamedText_51e05: ; 51e05 (14:5e05) TX_FAR _UnnamedText_51e05 - db $50 -; 0x51e05 + 5 bytes + db "@" SilphCo7Text3: ; 51e0a (14:5e0a) db $08 ; asm @@ -83714,13 +85154,11 @@ SilphCo7Text3: ; 51e0a (14:5e0a) UnnamedText_51e23: ; 51e23 (14:5e23) TX_FAR _UnnamedText_51e23 - db $50 -; 0x51e23 + 5 bytes + db "@" UnnamedText_51e28: ; 51e28 (14:5e28) TX_FAR _UnnamedText_51e28 - db $50 -; 0x51e28 + 5 bytes + db "@" SilphCo7Text4: ; 51e2d (14:5e2d) db $08 ; asm @@ -83738,13 +85176,11 @@ SilphCo7Text4: ; 51e2d (14:5e2d) UnnamedText_51e46: ; 51e46 (14:5e46) TX_FAR _UnnamedText_51e46 - db $50 -; 0x51e46 + 5 bytes + db "@" UnnamedText_51e4b: ; 51e4b (14:5e4b) TX_FAR _UnnamedText_51e4b - db $50 -; 0x51e4b + 5 bytes + db "@" SilphCo7Text5: ; 51e50 (14:5e50) db $08 ; asm @@ -83754,18 +85190,15 @@ SilphCo7Text5: ; 51e50 (14:5e50) SilphCo7BattleText1: ; 51e5a (14:5e5a) TX_FAR _SilphCo7BattleText1 - db $50 -; 0x51e5a + 5 bytes + db "@" SilphCo7EndBattleText1: ; 51e5f (14:5e5f) TX_FAR _SilphCo7EndBattleText1 - db $50 -; 0x51e5f + 5 bytes + db "@" SilphCo7AfterBattleText1: ; 51e64 (14:5e64) TX_FAR _SilphCo7AfterBattleText1 - db $50 -; 0x51e64 + 5 bytes + db "@" SilphCo7Text6: ; 51e69 (14:5e69) db $08 ; asm @@ -83775,18 +85208,15 @@ SilphCo7Text6: ; 51e69 (14:5e69) SilphCo7BattleText2: ; 51e73 (14:5e73) TX_FAR _SilphCo7BattleText2 - db $50 -; 0x51e73 + 5 bytes + db "@" SilphCo7EndBattleText2: ; 51e78 (14:5e78) TX_FAR _SilphCo7EndBattleText2 - db $50 -; 0x51e78 + 5 bytes + db "@" SilphCo7AfterBattleText2: ; 51e7d (14:5e7d) TX_FAR _SilphCo7AfterBattleText2 - db $50 -; 0x51e7d + 5 bytes + db "@" SilphCo7Text7: ; 51e82 (14:5e82) db $08 ; asm @@ -83796,18 +85226,15 @@ SilphCo7Text7: ; 51e82 (14:5e82) SilphCo7BattleText3: ; 51e8c (14:5e8c) TX_FAR _SilphCo7BattleText3 - db $50 -; 0x51e8c + 5 bytes + db "@" SilphCo7EndBattleText3: ; 51e91 (14:5e91) TX_FAR _SilphCo7EndBattleText3 - db $50 -; 0x51e91 + 5 bytes + db "@" SilphCo7AfterBattleText3: ; 51e96 (14:5e96) TX_FAR _SilphCo7AfterBattleText3 - db $50 -; 0x51e96 + 5 bytes + db "@" SilphCo7Text8: ; 51e9b (14:5e9b) db $08 ; asm @@ -83817,18 +85244,15 @@ SilphCo7Text8: ; 51e9b (14:5e9b) SilphCo7BattleText4: ; 51ea5 (14:5ea5) TX_FAR _SilphCo7BattleText4 - db $50 -; 0x51ea5 + 5 bytes + db "@" SilphCo7EndBattleText4: ; 51eaa (14:5eaa) TX_FAR _SilphCo7EndBattleText4 - db $50 -; 0x51eaa + 5 bytes + db "@" SilphCo7AfterBattleText4: ; 51eaf (14:5eaf) TX_FAR _SilphCo7AfterBattleText4 - db $50 -; 0x51eaf + 5 bytes + db "@" SilphCo7Text9: ; 51eb4 (14:5eb4) db $08 ; asm @@ -83838,28 +85262,23 @@ SilphCo7Text9: ; 51eb4 (14:5eb4) UnnamedText_51ebe: ; 51ebe (14:5ebe) TX_FAR _UnnamedText_51ebe - db $50 -; 0x51ebe + 5 bytes + db "@" SilphCo7Text13: ; 51ec3 (14:5ec3) TX_FAR _UnnamedText_51ec3 - db $50 -; 0x51ec3 + 5 bytes + db "@" SilphCo7Text14: ; 51ec8 (14:5ec8) TX_FAR _UnnamedText_51ec8 - db $50 -; 0x51ec8 + 5 bytes + db "@" UnnamedText_51ecd: ; 51ecd (14:5ecd) TX_FAR _UnnamedText_51ecd - db $50 -; 0x51ecd + 5 bytes + db "@" SilphCo7Text15: ; 51ed2 (14:5ed2) TX_FAR _UnnamedText_51ed2 - db $50 -; 0x51ed2 + 5 bytes + db "@" SilphCo7Object: ; 0x51ed7 (size=128) db $2e ; border tile @@ -83901,23 +85320,21 @@ 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 -; 0x51fee -Mansion2Script_Unknown51fee: ; 51fee (14:5fee) +Mansion2Script_51fee: ; 51fee (14:5fee) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -83947,19 +85364,32 @@ Mansion2Script_Unknown51fee: ; 51fee (14:5fee) call Func_5202f ret -; known jump sources: 52002 (14:6002), 5200a (14:600a), 52012 (14:6012), 5201b (14:601b), 52023 (14:6023), 5202b (14:602b), 52218 (14:6218), 52220 (14:6220), 52229 (14:6229), 52231 (14:6231), 523e3 (14:63e3), 523eb (14:63eb), 523f3 (14:63f3), 523fb (14:63fb), 52404 (14:6404), 5240c (14:640c), 52414 (14:6414), 5241c (14:641c) Func_5202f: ; 5202f (14:602f) ld [$d09f], a 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) @@ -83970,9 +85400,8 @@ Mansion2TrainerHeader0: ; 52057 (14:6057) dw Mansion2AfterBattleText1 ; 0x6078 TextAfterBattle dw Mansion2EndBattleText1 ; 0x6073 TextEndBattle dw Mansion2EndBattleText1 ; 0x6073 TextEndBattle -; 0x52063 -db $ff + db $ff Mansion2Text1: ; 52064 (14:6064) db $08 ; asm @@ -83982,26 +85411,23 @@ Mansion2Text1: ; 52064 (14:6064) Mansion2BattleText1: ; 5206e (14:606e) TX_FAR _Mansion2BattleText1 - db $50 -; 0x5206e + 5 bytes + db "@" Mansion2EndBattleText1: ; 52073 (14:6073) TX_FAR _Mansion2EndBattleText1 - db $50 -; 0x52073 + 5 bytes + db "@" Mansion2AfterBattleText1: ; 52078 (14:6078) TX_FAR _Mansion2AfterBattleText1 - db $50 -; 0x52078 + 5 bytes + db "@" Mansion2Text3: ; 5207d (14:607d) TX_FAR _Mansion2Text3 - db $50 + db "@" Mansion2Text4: ; 52082 (14:6082) TX_FAR _Mansion2Text4 - db $50 + db "@" Mansion3Text6: ; 52087 (14:6087) Mansion2Text5: ; 52087 (14:6087) @@ -84031,22 +85457,18 @@ Mansion2Text5: ; 52087 (14:6087) call PrintText .asm_520bf jp TextScriptEnd -; 0x520c2 UnnamedText_520c2: ; 520c2 (14:60c2) TX_FAR _UnnamedText_520c2 - db $50 -; 0x520c2 + 5 bytes + db "@" UnnamedText_520c7: ; 520c7 (14:60c7) TX_FAR _UnnamedText_520c7 - db $50 -; 0x520c7 + 5 bytes + db "@" UnnamedText_520cc: ; 520cc (14:60cc) TX_FAR _UnnamedText_520cc - db $50 -; 0x520cc + 5 bytes + db "@" Mansion2Object: ; 0x520d1 (size=63) db $1 ; border tile @@ -84077,23 +85499,21 @@ 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 -; 0x52204 -Unnamed_52204: ; 52204 (14:6204) +Mansion3Script_52204: ; 52204 (14:6204) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -84117,9 +85537,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 @@ -84132,10 +85556,12 @@ 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 -; known jump sources: 5223e (14:623e) Func_5225b: ; 5225b (14:625b) xor a ld [$d71e], a @@ -84144,7 +85570,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] @@ -84159,9 +85585,14 @@ Func_5225b: ; 5225b (14:625b) ld a, $6 ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c jp DisplayTextID -; 5228a (14:628a) -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) @@ -84172,7 +85603,6 @@ Mansion3TrainerHeader0: ; 52296 (14:6296) dw Mansion3AfterBattleText1 ; 0x62cd TextAfterBattle dw Mansion3EndBattleText1 ; 0x62c8 TextEndBattle dw Mansion3EndBattleText1 ; 0x62c8 TextEndBattle -; 0x522a2 Mansion3TrainerHeader2: ; 522a2 (14:62a2) db $2 ; flag's bit @@ -84182,9 +85612,8 @@ Mansion3TrainerHeader2: ; 522a2 (14:62a2) dw Mansion3AfterBattleText2 ; 0x62dc TextAfterBattle dw Mansion3EndBattleText2 ; 0x62d7 TextEndBattle dw Mansion3EndBattleText2 ; 0x62d7 TextEndBattle -; 0x522ae -db $ff + db $ff Mansion3Text1: ; 522af (14:62af) db $08 ; asm @@ -84200,37 +85629,31 @@ Mansion3Text2: ; 522b9 (14:62b9) Mansion3BattleText1: ; 522c3 (14:62c3) TX_FAR _Mansion3BattleText1 - db $50 -; 0x522c3 + 5 bytes + db "@" Mansion3EndBattleText1: ; 522c8 (14:62c8) TX_FAR _Mansion3EndBattleText1 - db $50 -; 0x522c8 + 5 bytes + db "@" Mansion3AfterBattleText1: ; 522cd (14:62cd) TX_FAR _Mansion3AfterBattleText1 - db $50 -; 0x522cd + 5 bytes + db "@" Mansion3BattleText2: ; 522d2 (14:62d2) TX_FAR _Mansion3BattleText2 - db $50 -; 0x522d2 + 5 bytes + db "@" Mansion3EndBattleText2: ; 522d7 (14:62d7) TX_FAR _Mansion3EndBattleText2 - db $50 -; 0x522d7 + 5 bytes + db "@" Mansion3AfterBattleText2: ; 522dc (14:62dc) TX_FAR _Mansion3AfterBattleText2 - db $50 -; 0x522dc + 5 bytes + db "@" Mansion3Text5: ; 522e1 (14:62e1) TX_FAR _Mansion3Text5 - db $50 + db "@" Mansion3Object: ; 0x522e6 (size=64) db $1 ; border tile @@ -84260,23 +85683,21 @@ 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 -; 0x523cf -Unknown_523cf: ; 523cf (14:63cf) +Mansion4Script_523cf: ; 523cf (14:63cf) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -84320,11 +85741,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) @@ -84335,7 +85766,6 @@ Mansion4TrainerHeader0: ; 52448 (14:6448) dw Mansion4AfterBattleText1 ; 0x647f TextAfterBattle dw Mansion4EndBattleText1 ; 0x647a TextEndBattle dw Mansion4EndBattleText1 ; 0x647a TextEndBattle -; 0x52454 Mansion4TrainerHeader2: ; 52454 (14:6454) db $2 ; flag's bit @@ -84345,9 +85775,8 @@ Mansion4TrainerHeader2: ; 52454 (14:6454) dw Mansion4AfterBattleText2 ; 0x648e TextAfterBattle dw Mansion4EndBattleText2 ; 0x6489 TextEndBattle dw Mansion4EndBattleText2 ; 0x6489 TextEndBattle -; 0x52460 -db $ff + db $ff Mansion4Text1: ; 52461 (14:6461) db $08 ; asm @@ -84363,37 +85792,31 @@ Mansion4Text2: ; 5246b (14:646b) Mansion4BattleText1: ; 52475 (14:6475) TX_FAR _Mansion4BattleText1 - db $50 -; 0x52475 + 5 bytes + db "@" Mansion4EndBattleText1: ; 5247a (14:647a) TX_FAR _Mansion4EndBattleText1 - db $50 -; 0x5247a + 5 bytes + db "@" Mansion4AfterBattleText1: ; 5247f (14:647f) TX_FAR _Mansion4AfterBattleText1 - db $50 -; 0x5247f + 5 bytes + db "@" Mansion4BattleText2: ; 52484 (14:6484) TX_FAR _Mansion4BattleText2 - db $50 -; 0x52484 + 5 bytes + db "@" Mansion4EndBattleText2: ; 52489 (14:6489) TX_FAR _Mansion4EndBattleText2 - db $50 -; 0x52489 + 5 bytes + db "@" Mansion4AfterBattleText2: ; 5248e (14:648e) TX_FAR _Mansion4AfterBattleText2 - db $50 -; 0x5248e + 5 bytes + db "@" Mansion4Text7: ; 52493 (14:6493) TX_FAR _Mansion4Text7 - db $50 + db "@" Mansion4Object: ; 0x52498 (size=69) db $1 ; border tile @@ -84419,7 +85842,6 @@ Mansion4Object: ; 0x52498 (size=69) Mansion4Blocks: ; 524dd (14:64dd) INCBIN "maps/mansion4.blk" -; known jump sources: 3ef4d (f:6f4d) Func_525af: ; 525af (14:65af) ld a, [$FF00+$d7] ld [$d0d4], a @@ -84431,11 +85853,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 @@ -84450,9 +85872,9 @@ Func_525af: ; 525af (14:65af) inc a ld [$ccd9], a ld a, [W_CURMAP] ; $d35e - cp $d9 + cp SAFARI_ZONE_EAST jr c, .asm_525f9 - cp $dd + cp SAFARI_ZONE_REST_HOUSE_1 jr nc, .asm_525f9 ld a, $2 ld [W_BATTLETYPE], a ; $d05a @@ -84461,7 +85883,6 @@ Func_525af: ; 525af (14:65af) ld b, BANK(PlayBattleMusic) jp Bankswitch ; indirect jump to PlayBattleMusic (90c6 (2:50c6)) -; known jump sources: 3f9b6 (f:79b6) Func_52601: ; 52601 (14:6601) ld hl, W_ENEMYMONSTATUS ; $cfe9 ld de, W_PLAYERMOVETYPE ; $cfd5 @@ -84471,7 +85892,6 @@ Func_52601: ; 52601 (14:6601) ld hl, W_PLAYERMONSTATUS ; $d018 ld de, W_ENEMYMOVETYPE ; $cfcf -; known jump sources: 5260a (14:660a) Func_52613: ; 52613 (14:6613) ld a, [hl] and a @@ -84523,10 +85943,9 @@ Func_52613: ; 52613 (14:6613) ld b, BANK(Func_3dc51) jp Bankswitch ; indirect jump to Func_3dc51 (3dc51 (f:5c51)) -; known jump sources: fb88 (3:7b88) 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] @@ -84542,8 +85961,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 @@ -84567,7 +85986,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 @@ -84576,7 +85995,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 @@ -84586,20 +86005,29 @@ 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_526f3: ; 526f3 (14:66f3) - TX_FAR _UnnamedText_526f3 - db $50 -; 0x526f3 + 5 bytes +CardKeySuccessText: ; 526ee (14:66ee) + TX_FAR _CardKeySuccessText1 + db $0b + TX_FAR _CardKeySuccessText2 + db "@" -UnnamedText_526f8: ; 526f8 (14:66f8) - TX_FAR _UnnamedText_526f8 - db $50 -; 0x526f8 + 5 bytes +CardKeyFailText: ; 526f8 (14:66f8) + TX_FAR _CardKeyFailText + db "@" -; known jump sources: 526a3 (14:66a3) Func_526fd: ; 526fd (14:66fd) ld a, [W_YCOORD] ; $d361 ld d, a @@ -84623,7 +86051,7 @@ Func_526fd: ; 526fd (14:66fd) .asm_52719 inc e ret -; 5271b (14:671b) + CeladonPrizeMenu: ; 5271b (14:671b) ld b,COIN_CASE call IsItemInBag @@ -84687,7 +86115,7 @@ GetPrizeMenuId: ; 5278e (14:678e) ; prize-texts has been selected ; using the text ID (stored in [$FF8C]) ; load the three prizes at $D13D-$D13F -; load the three prices ar $D141-$D146 +; load the three prices at $D141-$D146 ; display the three prizes' names ; (distinguishing between Pokemon names ; and Items (specifically TMs) names) @@ -84869,7 +86297,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 @@ -84949,7 +86377,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) @@ -85027,92 +86455,120 @@ 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_529e9: ; 529e9 (14:69e9) - TX_FAR _UnnamedText_529e9 - db $50 -; 0x529e9 + 5 bytes +TMNotebook: ; 529a4 (14:69a4) + TX_FAR TMNotebookText + db $0d + db "@" -INCBIN "baserom.gbc",$529ee,$529f4 - $529ee +ViridianSchoolNotebook: ; 529aa (14:69aa) + db $08 ; asm + ld hl, ViridianSchoolNotebookText1 + call PrintText + call TurnPageSchoolNotebook + jr nz, .doneReading + ld hl, ViridianSchoolNotebookText2 + call PrintText + call TurnPageSchoolNotebook + jr nz, .doneReading + ld hl, ViridianSchoolNotebookText3 + call PrintText + call TurnPageSchoolNotebook + jr nz, .doneReading + ld hl, ViridianSchoolNotebookText4 + call PrintText + ld hl, ViridianSchoolNotebookText5 + call PrintText +.doneReading + jp TextScriptEnd -UnnamedText_529f4: ; 529f4 (14:69f4) - TX_FAR _UnnamedText_529f4 - db $50 -; 0x529f4 + 5 bytes +TurnPageSchoolNotebook: ; 529db (14:69db) + ld hl, TurnPageText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + ret -UnnamedText_529f9: ; 529f9 (14:69f9) - TX_FAR _UnnamedText_529f9 - db $50 -; 0x529f9 + 5 bytes +TurnPageText: ; 529e9 (14:69e9) + TX_FAR _TurnPageText + db "@" -UnnamedText_529fe: ; 529fe (14:69fe) - TX_FAR _UnnamedText_529fe - db $50 -; 0x529fe + 5 bytes +ViridianSchoolNotebookText5: ; 529ee (14:69ee) + TX_FAR _ViridianSchoolNotebookText5 + db $0d + db "@" -UnnamedText_52a03: ; 52a03 (14:6a03) - TX_FAR _UnnamedText_52a03 - db $50 -; 0x52a03 + 5 bytes +ViridianSchoolNotebookText1: ; 529f4 (14:69f4) + TX_FAR _ViridianSchoolNotebookText1 + db "@" + +ViridianSchoolNotebookText2: ; 529f9 (14:69f9) + TX_FAR _ViridianSchoolNotebookText2 + db "@" + +ViridianSchoolNotebookText3: ; 529fe (14:69fe) + TX_FAR _ViridianSchoolNotebookText3 + db "@" -INCBIN "baserom.gbc",$52a08,$52a10 - $52a08 +ViridianSchoolNotebookText4: ; 52a03 (14:6a03) + TX_FAR _ViridianSchoolNotebookText4 + db "@" + +Func_52a08: ; 52a08 (14:6a08) + call EnableAutoTextBoxDrawing + ld a, $37 + jp Func_3ef5 UnnamedText_52a10: ; 52a10 (14:6a10) TX_FAR _UnnamedText_52a10 - db $50 -; 0x52a10 + 5 bytes + 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 $50 -; 0x52a1d + 5 bytes + 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 $50 -; 0x52a2a + 5 bytes +FightingDojoText: ; 52a2a (14:6a2a) + TX_FAR _FightingDojoText + 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 - db $50 -; 0x52a3d + 5 bytes +IndigoPlateauHQText: ; 52a3d (14:6a3d) + TX_FAR _IndigoPlateauHQText + db "@" SECTION "bank15",ROMX,BANK[$15] 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 Route2Script ;Maps script pointer + dw Route2Blocks, Route2TextPointers, Route2Script db NORTH | SOUTH ;Connection Byte - - ;Connection data - db PEWTER_CITY ;Map - dw $4714 ;y, x Strip Starting Point - dw $C6E8 ;Strip X-Offset to current map - db 16 ;"Bigness" (Unsure) ;Something to do with MapData - db 20 ;"Map Width" (Unsure) ;Something to do with TileSet - db 35 ;Player's new Y-Coordinates - db 10 ;Player's new X-Coordinates - dw $C8BD ;New UL Block Pos (Window) - - db VIRIDIAN_CITY ;Map - dw $43EE ;y, x Strip Starting Point - dw $C958 ;Strip X-Offset to current map - db 16 ;"Bigness" (Unsure) ;Something to do with MapData - db 20 ;"Map Width" (Unsure) ;Something to do with TileSet - db 0 ;Player's new Y-Coordinates - db 10 ;Player's new X-Coordinates - dw $C703 ;New UL Block Pos (Window) - + NORTH_MAP_CONNECTION PEWTER_CITY, PEWTER_CITY_WIDTH, PEWTER_CITY_HEIGHT, -3, 2, PEWTER_CITY_WIDTH - 4, PewterCityBlocks + SOUTH_MAP_CONNECTION VIRIDIAN_CITY, VIRIDIAN_CITY_WIDTH, -3, 2, VIRIDIAN_CITY_WIDTH - 4, ViridianCityBlocks, ROUTE_2_WIDTH, ROUTE_2_HEIGHT dw Route2Object ;Object Data Pointer Route2Object: ; 0x54022 (size=72) @@ -85142,7 +86598,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" @@ -85150,27 +86611,10 @@ 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 - - db ROUTE_4 - dw Route4Blocks + (ROUTE_4_HEIGHT - 3) * ROUTE_4_WIDTH ; connection strip location - dw $C6EB + 25 ; current map position - db $d, ROUTE_4_WIDTH ; bigness, width - db (ROUTE_4_HEIGHT * 2) - 1, (25 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_4_HEIGHT * (ROUTE_4_WIDTH + 6) ; window - - db PEWTER_CITY - dw PewterCityBlocks - 3 + (PEWTER_CITY_WIDTH * 2) ; connection strip location - dw $C6E8 + (ROUTE_3_WIDTH + 6) * (-3 + 3) ; current map position - db $f, PEWTER_CITY_WIDTH ; bigness, width - db (-4 * -2), (PEWTER_CITY_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * PEWTER_CITY_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION ROUTE_4, ROUTE_4_WIDTH, ROUTE_4_HEIGHT, 25, 0, ROUTE_4_WIDTH - 32, Route4Blocks + WEST_MAP_CONNECTION PEWTER_CITY, PEWTER_CITY_WIDTH, -3, 1, PEWTER_CITY_HEIGHT - 3, PewterCityBlocks, ROUTE_3_WIDTH dw Route3Object ; objects Route3Object: ; 0x54208 (size=77) @@ -85198,27 +86642,10 @@ 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 - - db ROUTE_3 - dw Route3Blocks + 22 ; connection strip location - dw $C6EB + (ROUTE_4_HEIGHT + 3) * (ROUTE_4_WIDTH + 6) + -3 ; current map position - db $d, ROUTE_3_WIDTH ; bigness, width - db 0, (-25 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_3_WIDTH ; window - - db CERULEAN_CITY - dw CeruleanCityBlocks + (CERULEAN_CITY_WIDTH) ; connection strip location - dw $C6E5 + (ROUTE_4_WIDTH + 6) * (-3 + 4) ; current map position - db $f, CERULEAN_CITY_WIDTH ; bigness, width - db (-4 * -2), 0 ; alignments (y, x) - dw $C6EF + CERULEAN_CITY_WIDTH ; window - - ; end connections data - + SOUTH_MAP_CONNECTION ROUTE_3, ROUTE_3_WIDTH, -3, 22, ROUTE_3_WIDTH - 22, Route3Blocks, ROUTE_4_WIDTH, ROUTE_4_HEIGHT + EAST_MAP_CONNECTION CERULEAN_CITY, CERULEAN_CITY_WIDTH, -3, 1, CERULEAN_CITY_HEIGHT - 3, CeruleanCityBlocks, ROUTE_4_WIDTH dw Route4Object ; objects Route4Object: ; 0x543b2 (size=58) @@ -85250,27 +86677,10 @@ 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 - - db CERULEAN_CITY - dw CeruleanCityBlocks + (CERULEAN_CITY_HEIGHT - 3) * CERULEAN_CITY_WIDTH + 2 ; connection strip location - dw $C6EB + -3 ; current map position - db $10, CERULEAN_CITY_WIDTH ; bigness, width - db (CERULEAN_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x) - dw $C6E9 + CERULEAN_CITY_HEIGHT * (CERULEAN_CITY_WIDTH + 6) ; window - - db SAFFRON_CITY - dw SaffronCityBlocks + 2 ; connection strip location - dw $C6EB + (ROUTE_5_HEIGHT + 3) * (ROUTE_5_WIDTH + 6) + -3 ; current map position - db $10, SAFFRON_CITY_WIDTH ; bigness, width - db 0, (-5 * -2) ; alignments (y, x) - dw $C6EF + SAFFRON_CITY_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION CERULEAN_CITY, CERULEAN_CITY_WIDTH, CERULEAN_CITY_HEIGHT, -3, 2, CERULEAN_CITY_WIDTH - 4, CeruleanCityBlocks + SOUTH_MAP_CONNECTION SAFFRON_CITY, SAFFRON_CITY_WIDTH, -3, 2, SAFFRON_CITY_WIDTH - 4, SaffronCityBlocks, ROUTE_5_WIDTH, ROUTE_5_HEIGHT dw Route5Object ; objects Route5Object: ; 0x545a3 (size=47) @@ -85301,27 +86711,10 @@ 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 - - db CERULEAN_CITY - dw CeruleanCityBlocks - 3 + (CERULEAN_CITY_WIDTH * 2) ; connection strip location - dw $C6E8 + (ROUTE_9_WIDTH + 6) * (-3 + 3) ; current map position - db $f, CERULEAN_CITY_WIDTH ; bigness, width - db (-4 * -2), (CERULEAN_CITY_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * CERULEAN_CITY_WIDTH ; window - - db ROUTE_10 - dw Route10Blocks + (ROUTE_10_WIDTH * 0) ; connection strip location - dw $C6E5 + (ROUTE_9_WIDTH + 6) * (0 + 4) ; current map position - db $c, ROUTE_10_WIDTH ; bigness, width - db (0 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_10_WIDTH ; window - - ; end connections data - + WEST_MAP_CONNECTION CERULEAN_CITY, CERULEAN_CITY_WIDTH, -3, 1, CERULEAN_CITY_HEIGHT - 3, CeruleanCityBlocks, ROUTE_9_WIDTH + EAST_MAP_CONNECTION ROUTE_10, ROUTE_10_WIDTH, 0, 0, ROUTE_10_HEIGHT - 24, Route10Blocks, ROUTE_9_WIDTH dw Route9Object ; objects Route9Object: ; 0x546a8 (size=86) @@ -85350,27 +86743,10 @@ 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 - - db ROUTE_12 - dw Route12Blocks + (ROUTE_12_HEIGHT - 3) * ROUTE_12_WIDTH ; connection strip location - dw $C6EB + 20 ; current map position - db ROUTE_12_WIDTH, ROUTE_12_WIDTH ; bigness, width - db (ROUTE_12_HEIGHT * 2) - 1, (20 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_12_HEIGHT * (ROUTE_12_WIDTH + 6) ; window - - db ROUTE_14 - dw Route14Blocks - 3 + (ROUTE_14_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_13_WIDTH + 6) * (0 + 3) ; current map position - db $c, ROUTE_14_WIDTH ; bigness, width - db (0 * -2), (ROUTE_14_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_14_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION ROUTE_12, ROUTE_12_WIDTH, ROUTE_12_HEIGHT, 20, 0, ROUTE_12_WIDTH, Route12Blocks + WEST_MAP_CONNECTION ROUTE_14, ROUTE_14_WIDTH, 0, 0, ROUTE_14_HEIGHT - 15, Route14Blocks, ROUTE_13_WIDTH dw Route13Object ; objects Route13Object: ; 0x5482e (size=93) @@ -85401,27 +86777,10 @@ 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 - - db ROUTE_15 - dw Route15Blocks - 3 + (ROUTE_15_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_14_WIDTH + 6) * (18 + 3) ; current map position - db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; bigness, width - db (18 * -2), (ROUTE_15_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_15_WIDTH ; window - - db ROUTE_13 - dw Route13Blocks + (ROUTE_13_WIDTH * 0) ; connection strip location - dw $C6E5 + (ROUTE_14_WIDTH + 6) * (0 + 4) ; current map position - db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; bigness, width - db (0 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_13_WIDTH ; window - - ; end connections data - + WEST_MAP_CONNECTION ROUTE_15, ROUTE_15_WIDTH, 18, 0, ROUTE_15_HEIGHT, Route15Blocks, ROUTE_14_WIDTH + EAST_MAP_CONNECTION ROUTE_13, ROUTE_13_WIDTH, 0, 0, ROUTE_13_HEIGHT, Route13Blocks, ROUTE_14_WIDTH dw Route14Object ; objects Route14Object: ; 0x549bb (size=87) @@ -85450,27 +86809,10 @@ 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 - - db ROUTE_16 - dw Route16Blocks + (ROUTE_16_HEIGHT - 3) * ROUTE_16_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db $d, ROUTE_16_WIDTH ; bigness, width - db (ROUTE_16_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_16_HEIGHT * (ROUTE_16_WIDTH + 6) ; window - - db ROUTE_18 - dw Route18Blocks ; connection strip location - dw $C6EB + (ROUTE_17_HEIGHT + 3) * (ROUTE_17_WIDTH + 6) + 0 ; current map position - db $d, ROUTE_18_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_18_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION ROUTE_16, ROUTE_16_WIDTH, ROUTE_16_HEIGHT, 0, 0, ROUTE_16_WIDTH - 7, Route16Blocks + SOUTH_MAP_CONNECTION ROUTE_18, ROUTE_18_WIDTH, 0, 0, ROUTE_18_WIDTH - 12, Route18Blocks, ROUTE_17_WIDTH, ROUTE_17_HEIGHT dw Route17Object ; objects Route17Object: ; 0x54b42 (size=102) @@ -85504,27 +86846,10 @@ 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 - - db FUCHSIA_CITY - dw FuchsiaCityBlocks + (FUCHSIA_CITY_HEIGHT - 3) * FUCHSIA_CITY_WIDTH + 2 ; connection strip location - dw $C6EB + -3 ; current map position - db $10, FUCHSIA_CITY_WIDTH ; bigness, width - db (FUCHSIA_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x) - dw $C6E9 + FUCHSIA_CITY_HEIGHT * (FUCHSIA_CITY_WIDTH + 6) ; window - - db ROUTE_20 - dw Route20Blocks - 3 + (ROUTE_20_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_19_WIDTH + 6) * (18 + 3) ; current map position - db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; bigness, width - db (18 * -2), (ROUTE_20_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_20_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION FUCHSIA_CITY, FUCHSIA_CITY_WIDTH, FUCHSIA_CITY_HEIGHT, -3, 2, FUCHSIA_CITY_WIDTH - 4, FuchsiaCityBlocks + WEST_MAP_CONNECTION ROUTE_20, ROUTE_20_WIDTH, 18, 0, ROUTE_20_HEIGHT, Route20Blocks, ROUTE_19_WIDTH dw Route19Object ; objects Route19Object: ; 0x54e9a (size=87) @@ -85553,27 +86878,10 @@ 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 - - db PALLET_TOWN - dw PalletTownBlocks + (PALLET_TOWN_HEIGHT - 3) * PALLET_TOWN_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db PALLET_TOWN_WIDTH, PALLET_TOWN_WIDTH ; bigness, width - db (PALLET_TOWN_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + PALLET_TOWN_HEIGHT * (PALLET_TOWN_WIDTH + 6) ; window - - db CINNABAR_ISLAND - dw CinnabarIslandBlocks ; connection strip location - dw $C6EB + (ROUTE_21_HEIGHT + 3) * (ROUTE_21_WIDTH + 6) + 0 ; current map position - db CINNABAR_ISLAND_WIDTH, CINNABAR_ISLAND_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + CINNABAR_ISLAND_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION PALLET_TOWN, PALLET_TOWN_WIDTH, PALLET_TOWN_HEIGHT, 0, 0, PALLET_TOWN_WIDTH, PalletTownBlocks + SOUTH_MAP_CONNECTION CINNABAR_ISLAND, CINNABAR_ISLAND_WIDTH, 0, 0, CINNABAR_ISLAND_WIDTH, CinnabarIslandBlocks, ROUTE_21_WIDTH, ROUTE_21_HEIGHT dw Route21Object ; objects Route21Object: ; 0x55021 (size=76) @@ -85605,7 +86913,6 @@ DayCareMBlocks: ; 5522f (15:522f) FuchsiaHouse3Blocks: ; 5523f (15:523f) INCBIN "maps/fuchsiahouse3.blk" -; known jump sources: 3c61d (f:461d), 3c63b (f:463b) Func_5524f: ; 5524f (15:524f) ld a, [W_ISLINKBATTLE] ; $d12b cp $4 @@ -85613,9 +86920,8 @@ 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 -; known jump sources: 5544d (15:544d) Func_5525f: ; 5525f (15:525f) inc hl ld a, [hli] @@ -85623,7 +86929,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 @@ -85680,11 +86986,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 @@ -85716,7 +87022,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 @@ -85751,10 +87057,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 @@ -85811,9 +87117,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 @@ -85855,7 +87161,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 @@ -85873,7 +87179,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 @@ -85882,15 +87188,14 @@ Func_5525f: ; 5525f (15:525f) pop af ld [W_CURENEMYLVL], a ; $d127 -; known jump sources: 55262 (15:5262), 55277 (15:5277), 55356 (15:5356) 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 @@ -85899,7 +87204,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 @@ -85912,7 +87217,6 @@ Func_55436: ; 55436 (15:5436) ld a, $10 jp Predef ; indirect jump to HandleBitArray (f666 (3:7666)) -; known jump sources: 55255 (15:5255) Func_5546c: ; 5546c (15:546c) ld a, [W_PLAYERMONSALIVEFLAGS] ld b, a @@ -85946,7 +87250,6 @@ Func_5546c: ; 5546c (15:546c) jr nz, .asm_55488 ret -; known jump sources: 552d1 (15:52d1), 552dd (15:52dd) Func_5549f: ; 5549f (15:549f) ld a, [$FF00+$97] ld b, a @@ -85961,63 +87264,80 @@ 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 - db $50 -; 0x554dd + 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 -; 0x554e6 -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 - db $50 + db "@" Route2Text4: ; 554f3 (15:54f3) TX_FAR _Route2Text4 - db $50 + db "@" 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 -; 0x5550b -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) @@ -86028,7 +87348,6 @@ Route3TrainerHeader0: ; 55525 (15:5525) dw Route3AfterBattleText1 ; 0x559f TextAfterBattle dw Route3EndBattleText1 ; 0x559a TextEndBattle dw Route3EndBattleText1 ; 0x559a TextEndBattle -; 0x55531 Route3TrainerHeader2: ; 55531 (15:5531) db $3 ; flag's bit @@ -86038,7 +87357,6 @@ Route3TrainerHeader2: ; 55531 (15:5531) dw Route3AfterBattleText2 ; 0x55b8 TextAfterBattle dw Route3EndBattleText2 ; 0x55b3 TextEndBattle dw Route3EndBattleText2 ; 0x55b3 TextEndBattle -; 0x5553d Route3TrainerHeader3: ; 5553d (15:553d) db $4 ; flag's bit @@ -86048,7 +87366,6 @@ Route3TrainerHeader3: ; 5553d (15:553d) dw Route3AfterBattleText3 ; 0x55d1 TextAfterBattle dw Route3EndBattleText3 ; 0x55cc TextEndBattle dw Route3EndBattleText3 ; 0x55cc TextEndBattle -; 0x55549 Route3TrainerHeader4: ; 55549 (15:5549) db $5 ; flag's bit @@ -86058,7 +87375,6 @@ Route3TrainerHeader4: ; 55549 (15:5549) dw Route3AfterBattleText4 ; 0x55ea TextAfterBattle dw Route3EndBattleText4 ; 0x55e5 TextEndBattle dw Route3EndBattleText4 ; 0x55e5 TextEndBattle -; 0x55555 Route3TrainerHeader5: ; 55555 (15:5555) db $6 ; flag's bit @@ -86068,7 +87384,6 @@ Route3TrainerHeader5: ; 55555 (15:5555) dw Route3AfterBattleText5 ; 0x5603 TextAfterBattle dw Route3EndBattleText5 ; 0x55fe TextEndBattle dw Route3EndBattleText5 ; 0x55fe TextEndBattle -; 0x55561 Route3TrainerHeader6: ; 55561 (15:5561) db $7 ; flag's bit @@ -86078,7 +87393,6 @@ Route3TrainerHeader6: ; 55561 (15:5561) dw Route3AfterBattleText6 ; 0x561c TextAfterBattle dw Route3EndBattleText6 ; 0x5617 TextEndBattle dw Route3EndBattleText6 ; 0x5617 TextEndBattle -; 0x5556d Route3TrainerHeader7: ; 5556d (15:556d) db $8 ; flag's bit @@ -86088,7 +87402,6 @@ Route3TrainerHeader7: ; 5556d (15:556d) dw Route3AfterBattleText7 ; 0x5635 TextAfterBattle dw Route3EndBattleText7 ; 0x5630 TextEndBattle dw Route3EndBattleText7 ; 0x5630 TextEndBattle -; 0x55579 Route3TrainerHeader8: ; 55579 (15:5579) db $9 ; flag's bit @@ -86098,13 +87411,12 @@ Route3TrainerHeader8: ; 55579 (15:5579) dw Route3AfterBattleText8 ; 0x564e TextAfterBattle dw Route3EndBattleText8 ; 0x5649 TextEndBattle dw Route3EndBattleText8 ; 0x5649 TextEndBattle -; 0x55585 -db $ff + db $ff Route3Text1: ; 55586 (15:5586) TX_FAR _Route3Text1 - db $50 + db "@" Route3Text2: ; 5558b (15:558b) db $08 ; asm @@ -86114,18 +87426,15 @@ Route3Text2: ; 5558b (15:558b) Route3BattleText1: ; 55595 (15:5595) TX_FAR _Route3BattleText1 - db $50 -; 0x55595 + 5 bytes + db "@" Route3EndBattleText1: ; 5559a (15:559a) TX_FAR _Route3EndBattleText1 - db $50 -; 0x5559a + 5 bytes + db "@" Route3AfterBattleText1: ; 5559f (15:559f) TX_FAR _Route3AfterBattleText1 - db $50 -; 0x5559f + 5 bytes + db "@" Route3Text3: ; 555a4 (15:55a4) db $08 ; asm @@ -86135,18 +87444,15 @@ Route3Text3: ; 555a4 (15:55a4) Route3BattleText2: ; 555ae (15:55ae) TX_FAR _Route3BattleText2 - db $50 -; 0x555ae + 5 bytes + db "@" Route3EndBattleText2: ; 555b3 (15:55b3) TX_FAR _Route3EndBattleText2 - db $50 -; 0x555b3 + 5 bytes + db "@" Route3AfterBattleText2: ; 555b8 (15:55b8) TX_FAR _Route3AfterBattleText2 - db $50 -; 0x555b8 + 5 bytes + db "@" Route3Text4: ; 555bd (15:55bd) db $08 ; asm @@ -86156,18 +87462,15 @@ Route3Text4: ; 555bd (15:55bd) Route3BattleText3: ; 555c7 (15:55c7) TX_FAR _Route3BattleText3 - db $50 -; 0x555c7 + 5 bytes + db "@" Route3EndBattleText3: ; 555cc (15:55cc) TX_FAR _Route3EndBattleText3 - db $50 -; 0x555cc + 5 bytes + db "@" Route3AfterBattleText3: ; 555d1 (15:55d1) TX_FAR _Route3AfterBattleText3 - db $50 -; 0x555d1 + 5 bytes + db "@" Route3Text5: ; 555d6 (15:55d6) db $08 ; asm @@ -86177,18 +87480,15 @@ Route3Text5: ; 555d6 (15:55d6) Route3BattleText4: ; 555e0 (15:55e0) TX_FAR _Route3BattleText4 - db $50 -; 0x555e0 + 5 bytes + db "@" Route3EndBattleText4: ; 555e5 (15:55e5) TX_FAR _Route3EndBattleText4 - db $50 -; 0x555e5 + 5 bytes + db "@" Route3AfterBattleText4: ; 555ea (15:55ea) TX_FAR _Route3AfterBattleText4 - db $50 -; 0x555ea + 5 bytes + db "@" Route3Text6: ; 555ef (15:55ef) db $08 ; asm @@ -86198,18 +87498,15 @@ Route3Text6: ; 555ef (15:55ef) Route3BattleText5: ; 555f9 (15:55f9) TX_FAR _Route3BattleText5 - db $50 -; 0x555f9 + 5 bytes + db "@" Route3EndBattleText5: ; 555fe (15:55fe) TX_FAR _Route3EndBattleText5 - db $50 -; 0x555fe + 5 bytes + db "@" Route3AfterBattleText5: ; 55603 (15:5603) TX_FAR _Route3AfterBattleText5 - db $50 -; 0x55603 + 5 bytes + db "@" Route3Text7: ; 55608 (15:5608) db $08 ; asm @@ -86219,18 +87516,15 @@ Route3Text7: ; 55608 (15:5608) Route3BattleText6: ; 55612 (15:5612) TX_FAR _Route3BattleText6 - db $50 -; 0x55612 + 5 bytes + db "@" Route3EndBattleText6: ; 55617 (15:5617) TX_FAR _Route3EndBattleText6 - db $50 -; 0x55617 + 5 bytes + db "@" Route3AfterBattleText6: ; 5561c (15:561c) TX_FAR _Route3AfterBattleText6 - db $50 -; 0x5561c + 5 bytes + db "@" Route3Text8: ; 55621 (15:5621) db $08 ; asm @@ -86240,18 +87534,15 @@ Route3Text8: ; 55621 (15:5621) Route3BattleText7: ; 5562b (15:562b) TX_FAR _Route3BattleText7 - db $50 -; 0x5562b + 5 bytes + db "@" Route3EndBattleText7: ; 55630 (15:5630) TX_FAR _Route3EndBattleText7 - db $50 -; 0x55630 + 5 bytes + db "@" Route3AfterBattleText7: ; 55635 (15:5635) TX_FAR _Route3AfterBattleText7 - db $50 -; 0x55635 + 5 bytes + db "@" Route3Text9: ; 5563a (15:563a) db $08 ; asm @@ -86261,38 +87552,41 @@ Route3Text9: ; 5563a (15:563a) Route3BattleText8: ; 55644 (15:5644) TX_FAR _Route3BattleText8 - db $50 -; 0x55644 + 5 bytes + db "@" Route3EndBattleText8: ; 55649 (15:5649) TX_FAR _Route3EndBattleText8 - db $50 -; 0x55649 + 5 bytes + db "@" Route3AfterBattleText8: ; 5564e (15:564e) TX_FAR _Route3AfterBattleText8 - db $50 -; 0x5564e + 5 bytes + db "@" Route3Text10: ; 55653 (15:5653) TX_FAR _Route3Text10 - db $50 + db "@" 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 -; 0x5566b -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) @@ -86303,13 +87597,12 @@ Route4TrainerHeader0: ; 5567d (15:567d) dw Route4AfterBattleText1 ; 0x56a3 TextAfterBattle dw Route4EndBattleText1 ; 0x569e TextEndBattle dw Route4EndBattleText1 ; 0x569e TextEndBattle -; 0x55689 -db $ff + db $ff Route4Text1: ; 5568a (15:568a) TX_FAR _Route4Text1 - db $50 + db "@" Route4Text2: ; 5568f (15:568f) db $08 ; asm @@ -86319,53 +87612,60 @@ Route4Text2: ; 5568f (15:568f) Route4BattleText1: ; 55699 (15:5699) TX_FAR _Route4BattleText1 - db $50 -; 0x55699 + 5 bytes + db "@" Route4EndBattleText1: ; 5569e (15:569e) TX_FAR _Route4EndBattleText1 - db $50 -; 0x5569e + 5 bytes + db "@" Route4AfterBattleText1: ; 556a3 (15:56a3) TX_FAR _Route4AfterBattleText1 - db $50 -; 0x556a3 + 5 bytes + db "@" Route4Text5: ; 556a8 (15:56a8) TX_FAR _Route4Text5 - db $50 + db "@" Route4Text6: ; 556ad (15:56ad) TX_FAR _Route4Text6 - db $50 + db "@" Route5Script: ; 556b2 (15:56b2) jp EnableAutoTextBoxDrawing -; 0x556b5 -Route5Texts: ; 556b5 (15:56b5) +Route5TextPointers: ; 556b5 (15:56b5) dw Route5Text1 Route5Text1: ; 556b7 (15:56b7) TX_FAR _Route5Text1 - db $50 + db "@" 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 -; 0x556cf -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) @@ -86376,7 +87676,6 @@ Route9TrainerHeader0: ; 556eb (15:56eb) dw Route9AfterBattleText1 ; 0x579c TextAfterBattle dw Route9EndBattleText1 ; 0x5797 TextEndBattle dw Route9EndBattleText1 ; 0x5797 TextEndBattle -; 0x556f7 Route9TrainerHeader2: ; 556f7 (15:56f7) db $2 ; flag's bit @@ -86386,7 +87685,6 @@ Route9TrainerHeader2: ; 556f7 (15:56f7) dw Route9AfterBattleText2 ; 0x57ab TextAfterBattle dw Route9EndBattleText2 ; 0x57a6 TextEndBattle dw Route9EndBattleText2 ; 0x57a6 TextEndBattle -; 0x55703 Route9TrainerHeader3: ; 55703 (15:5703) db $3 ; flag's bit @@ -86396,7 +87694,6 @@ Route9TrainerHeader3: ; 55703 (15:5703) dw Route9AfterBattleText3 ; 0x57ba TextAfterBattle dw Route9EndBattleText3 ; 0x57b5 TextEndBattle dw Route9EndBattleText3 ; 0x57b5 TextEndBattle -; 0x5570f Route9TrainerHeader4: ; 5570f (15:570f) db $4 ; flag's bit @@ -86406,7 +87703,6 @@ Route9TrainerHeader4: ; 5570f (15:570f) dw Route9AfterBattleText4 ; 0x57c9 TextAfterBattle dw Route9EndBattleText4 ; 0x57c4 TextEndBattle dw Route9EndBattleText4 ; 0x57c4 TextEndBattle -; 0x5571b Route9TrainerHeader5: ; 5571b (15:571b) db $5 ; flag's bit @@ -86416,7 +87712,6 @@ Route9TrainerHeader5: ; 5571b (15:571b) dw Route9AfterBattleText5 ; 0x57d8 TextAfterBattle dw Route9EndBattleText5 ; 0x57d3 TextEndBattle dw Route9EndBattleText5 ; 0x57d3 TextEndBattle -; 0x55727 Route9TrainerHeader6: ; 55727 (15:5727) db $6 ; flag's bit @@ -86426,7 +87721,6 @@ Route9TrainerHeader6: ; 55727 (15:5727) dw Route9AfterBattleText6 ; 0x57e7 TextAfterBattle dw Route9EndBattleText6 ; 0x57e2 TextEndBattle dw Route9EndBattleText6 ; 0x57e2 TextEndBattle -; 0x55733 Route9TrainerHeader7: ; 55733 (15:5733) db $7 ; flag's bit @@ -86436,7 +87730,6 @@ Route9TrainerHeader7: ; 55733 (15:5733) dw Route9AfterBattleText7 ; 0x57f6 TextAfterBattle dw Route9EndBattleText7 ; 0x57f1 TextEndBattle dw Route9EndBattleText7 ; 0x57f1 TextEndBattle -; 0x5573f Route9TrainerHeader8: ; 5573f (15:573f) db $8 ; flag's bit @@ -86446,7 +87739,6 @@ Route9TrainerHeader8: ; 5573f (15:573f) dw Route9AfterBattleText8 ; 0x5805 TextAfterBattle dw Route9EndBattleText8 ; 0x5800 TextEndBattle dw Route9EndBattleText8 ; 0x5800 TextEndBattle -; 0x5574b Route9TrainerHeader9: ; 5574b (15:574b) db $9 ; flag's bit @@ -86456,9 +87748,8 @@ Route9TrainerHeader9: ; 5574b (15:574b) dw Route9AfterBattleText9 ; 0x5814 TextAfterBattle dw Route9EndBattleText9 ; 0x580f TextEndBattle dw Route9EndBattleText9 ; 0x580f TextEndBattle -; 0x55757 -db $ff + db $ff Route9Text1: ; 55758 (15:5758) db $8 ; asm @@ -86506,162 +87797,147 @@ Route9Text9: ; 55788 (15:5788) asm_8be3d: ; 5578c (15:578c) call TalkToTrainer jp TextScriptEnd -; 0x55792 Route9BattleText1: ; 55792 (15:5792) TX_FAR _Route9BattleText1 - db $50 -; 0x55792 + 5 bytes + db "@" Route9EndBattleText1: ; 55797 (15:5797) TX_FAR _Route9EndBattleText1 - db $50 -; 0x55797 + 5 bytes + db "@" Route9AfterBattleText1: ; 5579c (15:579c) TX_FAR _Route9AfterBattleText1 - db $50 -; 0x5579c + 5 bytes + db "@" Route9BattleText2: ; 557a1 (15:57a1) TX_FAR _Route9BattleText2 - db $50 -; 0x557a1 + 5 bytes + db "@" Route9EndBattleText2: ; 557a6 (15:57a6) TX_FAR _Route9EndBattleText2 - db $50 -; 0x557a6 + 5 bytes + db "@" Route9AfterBattleText2: ; 557ab (15:57ab) TX_FAR _Route9AfterBattleText2 - db $50 -; 0x557ab + 5 bytes + db "@" Route9BattleText3: ; 557b0 (15:57b0) TX_FAR _Route9BattleText3 - db $50 -; 0x557b0 + 5 bytes + db "@" Route9EndBattleText3: ; 557b5 (15:57b5) TX_FAR _Route9EndBattleText3 - db $50 -; 0x557b5 + 5 bytes + db "@" Route9AfterBattleText3: ; 557ba (15:57ba) TX_FAR _Route9AfterBattleText3 - db $50 -; 0x557ba + 5 bytes + db "@" Route9BattleText4: ; 557bf (15:57bf) TX_FAR _Route9BattleText4 - db $50 -; 0x557bf + 5 bytes + db "@" Route9EndBattleText4: ; 557c4 (15:57c4) TX_FAR _Route9EndBattleText4 - db $50 -; 0x557c4 + 5 bytes + db "@" Route9AfterBattleText4: ; 557c9 (15:57c9) TX_FAR _Route9AfterBattleText4 - db $50 -; 0x557c9 + 5 bytes + db "@" Route9BattleText5: ; 557ce (15:57ce) TX_FAR _Route9BattleText5 - db $50 -; 0x557ce + 5 bytes + db "@" Route9EndBattleText5: ; 557d3 (15:57d3) TX_FAR _Route9EndBattleText5 - db $50 -; 0x557d3 + 5 bytes + db "@" Route9AfterBattleText5: ; 557d8 (15:57d8) TX_FAR _Route9AfterBattleText5 - db $50 -; 0x557d8 + 5 bytes + db "@" Route9BattleText6: ; 557dd (15:57dd) TX_FAR _Route9BattleText6 - db $50 -; 0x557dd + 5 bytes + db "@" Route9EndBattleText6: ; 557e2 (15:57e2) TX_FAR _Route9EndBattleText6 - db $50 -; 0x557e2 + 5 bytes + db "@" Route9AfterBattleText6: ; 557e7 (15:57e7) TX_FAR _Route9AfterBattleText6 - db $50 -; 0x557e7 + 5 bytes + db "@" Route9BattleText7: ; 557ec (15:57ec) TX_FAR _Route9BattleText7 - db $50 -; 0x557ec + 5 bytes + db "@" Route9EndBattleText7: ; 557f1 (15:57f1) TX_FAR _Route9EndBattleText7 - db $50 -; 0x557f1 + 5 bytes + db "@" Route9AfterBattleText7: ; 557f6 (15:57f6) TX_FAR _Route9AfterBattleText7 - db $50 -; 0x557f6 + 5 bytes + db "@" Route9BattleText8: ; 557fb (15:57fb) TX_FAR _Route9BattleText8 - db $50 -; 0x557fb + 5 bytes + db "@" Route9EndBattleText8: ; 55800 (15:5800) TX_FAR _Route9EndBattleText8 - db $50 -; 0x55800 + 5 bytes + db "@" Route9AfterBattleText8: ; 55805 (15:5805) TX_FAR _Route9AfterBattleText8 - db $50 -; 0x55805 + 5 bytes + db "@" Route9BattleText9: ; 5580a (15:580a) TX_FAR _Route9BattleText9 - db $50 -; 0x5580a + 5 bytes + db "@" Route9EndBattleText9: ; 5580f (15:580f) TX_FAR _Route9EndBattleText9 - db $50 -; 0x5580f + 5 bytes + db "@" Route9AfterBattleText9: ; 55814 (15:5814) TX_FAR _Route9AfterBattleText9 - db $50 -; 0x55814 + 5 bytes + db "@" Route9Text11: ; 55819 (15:5819) TX_FAR _Route9Text11 - db $50 + db "@" 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 -; 0x55831 -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) @@ -86672,7 +87948,6 @@ Route13TrainerHeader0: ; 55851 (15:5851) dw Route13AfterBattleText2 ; 0x58de TextAfterBattle dw Route13EndBattleText2 ; 0x58d9 TextEndBattle dw Route13EndBattleText2 ; 0x58d9 TextEndBattle -; 0x5585d Route13TrainerHeader2: ; 5585d (15:585d) db $2 ; flag's bit @@ -86682,7 +87957,6 @@ Route13TrainerHeader2: ; 5585d (15:585d) dw Route13AfterBattleText3 ; 0x58f7 TextAfterBattle dw Route13EndBattleText3 ; 0x58f2 TextEndBattle dw Route13EndBattleText3 ; 0x58f2 TextEndBattle -; 0x55869 Route13TrainerHeader3: ; 55869 (15:5869) db $3 ; flag's bit @@ -86692,7 +87966,6 @@ Route13TrainerHeader3: ; 55869 (15:5869) dw Route13AfterBattleText4 ; 0x5910 TextAfterBattle dw Route13EndBattleText4 ; 0x590b TextEndBattle dw Route13EndBattleText4 ; 0x590b TextEndBattle -; 0x55875 Route13TrainerHeader4: ; 55875 (15:5875) db $4 ; flag's bit @@ -86702,7 +87975,6 @@ Route13TrainerHeader4: ; 55875 (15:5875) dw Route13AfterBattleText5 ; 0x5929 TextAfterBattle dw Route13EndBattleText5 ; 0x5924 TextEndBattle dw Route13EndBattleText5 ; 0x5924 TextEndBattle -; 0x55881 Route13TrainerHeader5: ; 55881 (15:5881) db $5 ; flag's bit @@ -86712,7 +87984,6 @@ Route13TrainerHeader5: ; 55881 (15:5881) dw Route13AfterBattleText6 ; 0x5942 TextAfterBattle dw Route13EndBattleText6 ; 0x593d TextEndBattle dw Route13EndBattleText6 ; 0x593d TextEndBattle -; 0x5588d Route13TrainerHeader6: ; 5588d (15:588d) db $6 ; flag's bit @@ -86722,7 +87993,6 @@ Route13TrainerHeader6: ; 5588d (15:588d) dw Route13AfterBattleText7 ; 0x595b TextAfterBattle dw Route13EndBattleText7 ; 0x5956 TextEndBattle dw Route13EndBattleText7 ; 0x5956 TextEndBattle -; 0x55899 Route13TrainerHeader7: ; 55899 (15:5899) db $7 ; flag's bit @@ -86732,7 +88002,6 @@ Route13TrainerHeader7: ; 55899 (15:5899) dw Route13AfterBattleText8 ; 0x5974 TextAfterBattle dw Route13EndBattleText8 ; 0x596f TextEndBattle dw Route13EndBattleText8 ; 0x596f TextEndBattle -; 0x558a5 Route13TrainerHeader8: ; 558a5 (15:58a5) db $8 ; flag's bit @@ -86742,7 +88011,6 @@ Route13TrainerHeader8: ; 558a5 (15:58a5) dw Route13AfterBattleText9 ; 0x598d TextAfterBattle dw Route13EndBattleText9 ; 0x5988 TextEndBattle dw Route13EndBattleText9 ; 0x5988 TextEndBattle -; 0x558b1 Route13TrainerHeader9: ; 558b1 (15:58b1) db $9 ; flag's bit @@ -86752,7 +88020,6 @@ Route13TrainerHeader9: ; 558b1 (15:58b1) dw Route13AfterBattleText10 ; 0x59a6 TextAfterBattle dw Route13EndBattleText10 ; 0x59a1 TextEndBattle dw Route13EndBattleText10 ; 0x59a1 TextEndBattle -; 0x558bd Route13TrainerHeader10: ; 558bd (15:58bd) db $a ; flag's bit @@ -86762,9 +88029,8 @@ Route13TrainerHeader10: ; 558bd (15:58bd) dw Route13AfterBattleText11 ; 0x59bf TextAfterBattle dw Route13EndBattleText11 ; 0x59ba TextEndBattle dw Route13EndBattleText11 ; 0x59ba TextEndBattle -; 0x558c9 -db $ff + db $ff Route13Text1: ; 558ca (15:58ca) db $08 ; asm @@ -86774,18 +88040,15 @@ Route13Text1: ; 558ca (15:58ca) Route13BattleText2: ; 558d4 (15:58d4) TX_FAR _Route13BattleText2 - db $50 -; 0x558d4 + 5 bytes + db "@" Route13EndBattleText2: ; 558d9 (15:58d9) TX_FAR _Route13EndBattleText2 - db $50 -; 0x558d9 + 5 bytes + db "@" Route13AfterBattleText2: ; 558de (15:58de) TX_FAR _Route13AfterBattleText2 - db $50 -; 0x558de + 5 bytes + db "@" Route13Text2: ; 558e3 (15:58e3) db $08 ; asm @@ -86795,18 +88058,15 @@ Route13Text2: ; 558e3 (15:58e3) Route13BattleText3: ; 558ed (15:58ed) TX_FAR _Route13BattleText3 - db $50 -; 0x558ed + 5 bytes + db "@" Route13EndBattleText3: ; 558f2 (15:58f2) TX_FAR _Route13EndBattleText3 - db $50 -; 0x558f2 + 5 bytes + db "@" Route13AfterBattleText3: ; 558f7 (15:58f7) TX_FAR _Route13AfterBattleText3 - db $50 -; 0x558f7 + 5 bytes + db "@" Route13Text3: ; 558fc (15:58fc) db $08 ; asm @@ -86816,18 +88076,15 @@ Route13Text3: ; 558fc (15:58fc) Route13BattleText4: ; 55906 (15:5906) TX_FAR _Route13BattleText4 - db $50 -; 0x55906 + 5 bytes + db "@" Route13EndBattleText4: ; 5590b (15:590b) TX_FAR _Route13EndBattleText4 - db $50 -; 0x5590b + 5 bytes + db "@" Route13AfterBattleText4: ; 55910 (15:5910) TX_FAR _Route13AfterBattleText4 - db $50 -; 0x55910 + 5 bytes + db "@" Route13Text4: ; 55915 (15:5915) db $08 ; asm @@ -86837,18 +88094,15 @@ Route13Text4: ; 55915 (15:5915) Route13BattleText5: ; 5591f (15:591f) TX_FAR _Route13BattleText5 - db $50 -; 0x5591f + 5 bytes + db "@" Route13EndBattleText5: ; 55924 (15:5924) TX_FAR _Route13EndBattleText5 - db $50 -; 0x55924 + 5 bytes + db "@" Route13AfterBattleText5: ; 55929 (15:5929) TX_FAR _Route13AfterBattleText5 - db $50 -; 0x55929 + 5 bytes + db "@" Route13Text5: ; 5592e (15:592e) db $08 ; asm @@ -86858,18 +88112,15 @@ Route13Text5: ; 5592e (15:592e) Route13BattleText6: ; 55938 (15:5938) TX_FAR _Route13BattleText6 - db $50 -; 0x55938 + 5 bytes + db "@" Route13EndBattleText6: ; 5593d (15:593d) TX_FAR _Route13EndBattleText6 - db $50 -; 0x5593d + 5 bytes + db "@" Route13AfterBattleText6: ; 55942 (15:5942) TX_FAR _Route13AfterBattleText6 - db $50 -; 0x55942 + 5 bytes + db "@" Route13Text6: ; 55947 (15:5947) db $08 ; asm @@ -86879,18 +88130,15 @@ Route13Text6: ; 55947 (15:5947) Route13BattleText7: ; 55951 (15:5951) TX_FAR _Route13BattleText7 - db $50 -; 0x55951 + 5 bytes + db "@" Route13EndBattleText7: ; 55956 (15:5956) TX_FAR _Route13EndBattleText7 - db $50 -; 0x55956 + 5 bytes + db "@" Route13AfterBattleText7: ; 5595b (15:595b) TX_FAR _Route13AfterBattleText7 - db $50 -; 0x5595b + 5 bytes + db "@" Route13Text7: ; 55960 (15:5960) db $08 ; asm @@ -86900,18 +88148,15 @@ Route13Text7: ; 55960 (15:5960) Route13BattleText8: ; 5596a (15:596a) TX_FAR _Route13BattleText8 - db $50 -; 0x5596a + 5 bytes + db "@" Route13EndBattleText8: ; 5596f (15:596f) TX_FAR _Route13EndBattleText8 - db $50 -; 0x5596f + 5 bytes + db "@" Route13AfterBattleText8: ; 55974 (15:5974) TX_FAR _Route13AfterBattleText8 - db $50 -; 0x55974 + 5 bytes + db "@" Route13Text8: ; 55979 (15:5979) db $08 ; asm @@ -86921,18 +88166,15 @@ Route13Text8: ; 55979 (15:5979) Route13BattleText9: ; 55983 (15:5983) TX_FAR _Route13BattleText9 - db $50 -; 0x55983 + 5 bytes + db "@" Route13EndBattleText9: ; 55988 (15:5988) TX_FAR _Route13EndBattleText9 - db $50 -; 0x55988 + 5 bytes + db "@" Route13AfterBattleText9: ; 5598d (15:598d) TX_FAR _Route13AfterBattleText9 - db $50 -; 0x5598d + 5 bytes + db "@" Route13Text9: ; 55992 (15:5992) db $08 ; asm @@ -86942,18 +88184,15 @@ Route13Text9: ; 55992 (15:5992) Route13BattleText10: ; 5599c (15:599c) TX_FAR _Route13BattleText10 - db $50 -; 0x5599c + 5 bytes + db "@" Route13EndBattleText10: ; 559a1 (15:59a1) TX_FAR _Route13EndBattleText10 - db $50 -; 0x559a1 + 5 bytes + db "@" Route13AfterBattleText10: ; 559a6 (15:59a6) TX_FAR _Route13AfterBattleText10 - db $50 -; 0x559a6 + 5 bytes + db "@" Route13Text10: ; 559ab (15:59ab) db $08 ; asm @@ -86963,46 +88202,54 @@ Route13Text10: ; 559ab (15:59ab) Route13BattleText11: ; 559b5 (15:59b5) TX_FAR _Route13BattleText11 - db $50 -; 0x559b5 + 5 bytes + db "@" Route13EndBattleText11: ; 559ba (15:59ba) TX_FAR _Route13EndBattleText11 - db $50 -; 0x559ba + 5 bytes + db "@" Route13AfterBattleText11: ; 559bf (15:59bf) TX_FAR _Route13AfterBattleText11 - db $50 -; 0x559bf + 5 bytes + db "@" Route13Text11: ; 559c4 (15:59c4) TX_FAR _Route13Text11 - db $50 + db "@" Route13Text12: ; 559c9 (15:59c9) TX_FAR _Route13Text12 - db $50 + db "@" Route13Text13: ; 559ce (15:59ce) TX_FAR _Route13Text13 - db $50 + db "@" 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 -; 0x559e6 -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) @@ -87013,7 +88260,6 @@ Route14TrainerHeader0: ; 55a02 (15:5a02) dw Route14AfterBattleText1 ; 0x5a8f TextAfterBattle dw Route14EndBattleText1 ; 0x5a8a TextEndBattle dw Route14EndBattleText1 ; 0x5a8a TextEndBattle -; 0x55a0e Route14TrainerHeader1: ; 55a0e (15:5a0e) db $2 ; flag's bit @@ -87023,7 +88269,6 @@ Route14TrainerHeader1: ; 55a0e (15:5a0e) dw Route14AfterBattleText2 ; 0x5aa8 TextAfterBattle dw Route14EndBattleText2 ; 0x5aa3 TextEndBattle dw Route14EndBattleText2 ; 0x5aa3 TextEndBattle -; 0x55a1a Route14TrainerHeader2: ; 55a1a (15:5a1a) db $3 ; flag's bit @@ -87033,7 +88278,6 @@ Route14TrainerHeader2: ; 55a1a (15:5a1a) dw Route14AfterBattleText3 ; 0x5ac1 TextAfterBattle dw Route14EndBattleText3 ; 0x5abc TextEndBattle dw Route14EndBattleText3 ; 0x5abc TextEndBattle -; 0x55a26 Route14TrainerHeader3: ; 55a26 (15:5a26) db $4 ; flag's bit @@ -87043,7 +88287,6 @@ Route14TrainerHeader3: ; 55a26 (15:5a26) dw Route14AfterBattleText4 ; 0x5ada TextAfterBattle dw Route14EndBattleText4 ; 0x5ad5 TextEndBattle dw Route14EndBattleText4 ; 0x5ad5 TextEndBattle -; 0x55a32 Route14TrainerHeader4: ; 55a32 (15:5a32) db $5 ; flag's bit @@ -87053,7 +88296,6 @@ Route14TrainerHeader4: ; 55a32 (15:5a32) dw Route14AfterBattleText5 ; 0x5af3 TextAfterBattle dw Route14EndBattleText5 ; 0x5aee TextEndBattle dw Route14EndBattleText5 ; 0x5aee TextEndBattle -; 0x55a3e Route14TrainerHeader5: ; 55a3e (15:5a3e) db $6 ; flag's bit @@ -87063,7 +88305,6 @@ Route14TrainerHeader5: ; 55a3e (15:5a3e) dw Route14AfterBattleText6 ; 0x5b0c TextAfterBattle dw Route14EndBattleText6 ; 0x5b07 TextEndBattle dw Route14EndBattleText6 ; 0x5b07 TextEndBattle -; 0x55a4a Route14TrainerHeader6: ; 55a4a (15:5a4a) db $7 ; flag's bit @@ -87073,7 +88314,6 @@ Route14TrainerHeader6: ; 55a4a (15:5a4a) dw Route14AfterBattleText7 ; 0x5b25 TextAfterBattle dw Route14EndBattleText7 ; 0x5b20 TextEndBattle dw Route14EndBattleText7 ; 0x5b20 TextEndBattle -; 0x55a56 Route14TrainerHeader7: ; 55a56 (15:5a56) db $8 ; flag's bit @@ -87083,7 +88323,6 @@ Route14TrainerHeader7: ; 55a56 (15:5a56) dw Route14AfterBattleText8 ; 0x5b3e TextAfterBattle dw Route14EndBattleText8 ; 0x5b39 TextEndBattle dw Route14EndBattleText8 ; 0x5b39 TextEndBattle -; 0x55a62 Route14TrainerHeader8: ; 55a62 (15:5a62) db $9 ; flag's bit @@ -87093,7 +88332,6 @@ Route14TrainerHeader8: ; 55a62 (15:5a62) dw Route14AfterBattleText9 ; 0x5b57 TextAfterBattle dw Route14EndBattleText9 ; 0x5b52 TextEndBattle dw Route14EndBattleText9 ; 0x5b52 TextEndBattle -; 0x55a6e Route14TrainerHeader9: ; 55a6e (15:5a6e) db $a ; flag's bit @@ -87103,9 +88341,8 @@ Route14TrainerHeader9: ; 55a6e (15:5a6e) dw Route14AfterBattleText10 ; 0x5b70 TextAfterBattle dw Route14EndBattleText10 ; 0x5b6b TextEndBattle dw Route14EndBattleText10 ; 0x5b6b TextEndBattle -; 0x55a7a -db $ff + db $ff Route14Text1: ; 55a7b (15:5a7b) db $08 ; asm @@ -87115,18 +88352,15 @@ Route14Text1: ; 55a7b (15:5a7b) Route14BattleText1: ; 55a85 (15:5a85) TX_FAR _Route14BattleText1 - db $50 -; 0x55a85 + 5 bytes + db "@" Route14EndBattleText1: ; 55a8a (15:5a8a) TX_FAR _Route14EndBattleText1 - db $50 -; 0x55a8a + 5 bytes + db "@" Route14AfterBattleText1: ; 55a8f (15:5a8f) TX_FAR _Route14AfterBattleText1 - db $50 -; 0x55a8f + 5 bytes + db "@" Route14Text2: ; 55a94 (15:5a94) db $08 ; asm @@ -87136,18 +88370,15 @@ Route14Text2: ; 55a94 (15:5a94) Route14BattleText2: ; 55a9e (15:5a9e) TX_FAR _Route14BattleText2 - db $50 -; 0x55a9e + 5 bytes + db "@" Route14EndBattleText2: ; 55aa3 (15:5aa3) TX_FAR _Route14EndBattleText2 - db $50 -; 0x55aa3 + 5 bytes + db "@" Route14AfterBattleText2: ; 55aa8 (15:5aa8) TX_FAR _Route14AfterBattleText2 - db $50 -; 0x55aa8 + 5 bytes + db "@" Route14Text3: ; 55aad (15:5aad) db $08 ; asm @@ -87157,18 +88388,15 @@ Route14Text3: ; 55aad (15:5aad) Route14BattleText3: ; 55ab7 (15:5ab7) TX_FAR _Route14BattleText3 - db $50 -; 0x55ab7 + 5 bytes + db "@" Route14EndBattleText3: ; 55abc (15:5abc) TX_FAR _Route14EndBattleText3 - db $50 -; 0x55abc + 5 bytes + db "@" Route14AfterBattleText3: ; 55ac1 (15:5ac1) TX_FAR _Route14AfterBattleText3 - db $50 -; 0x55ac1 + 5 bytes + db "@" Route14Text4: ; 55ac6 (15:5ac6) db $08 ; asm @@ -87178,18 +88406,15 @@ Route14Text4: ; 55ac6 (15:5ac6) Route14BattleText4: ; 55ad0 (15:5ad0) TX_FAR _Route14BattleText4 - db $50 -; 0x55ad0 + 5 bytes + db "@" Route14EndBattleText4: ; 55ad5 (15:5ad5) TX_FAR _Route14EndBattleText4 - db $50 -; 0x55ad5 + 5 bytes + db "@" Route14AfterBattleText4: ; 55ada (15:5ada) TX_FAR _Route14AfterBattleText4 - db $50 -; 0x55ada + 5 bytes + db "@" Route14Text5: ; 55adf (15:5adf) db $08 ; asm @@ -87199,18 +88424,15 @@ Route14Text5: ; 55adf (15:5adf) Route14BattleText5: ; 55ae9 (15:5ae9) TX_FAR _Route14BattleText5 - db $50 -; 0x55ae9 + 5 bytes + db "@" Route14EndBattleText5: ; 55aee (15:5aee) TX_FAR _Route14EndBattleText5 - db $50 -; 0x55aee + 5 bytes + db "@" Route14AfterBattleText5: ; 55af3 (15:5af3) TX_FAR _Route14AfterBattleText5 - db $50 -; 0x55af3 + 5 bytes + db "@" Route14Text6: ; 55af8 (15:5af8) db $08 ; asm @@ -87220,18 +88442,15 @@ Route14Text6: ; 55af8 (15:5af8) Route14BattleText6: ; 55b02 (15:5b02) TX_FAR _Route14BattleText6 - db $50 -; 0x55b02 + 5 bytes + db "@" Route14EndBattleText6: ; 55b07 (15:5b07) TX_FAR _Route14EndBattleText6 - db $50 -; 0x55b07 + 5 bytes + db "@" Route14AfterBattleText6: ; 55b0c (15:5b0c) TX_FAR _Route14AfterBattleText6 - db $50 -; 0x55b0c + 5 bytes + db "@" Route14Text7: ; 55b11 (15:5b11) db $08 ; asm @@ -87241,18 +88460,15 @@ Route14Text7: ; 55b11 (15:5b11) Route14BattleText7: ; 55b1b (15:5b1b) TX_FAR _Route14BattleText7 - db $50 -; 0x55b1b + 5 bytes + db "@" Route14EndBattleText7: ; 55b20 (15:5b20) TX_FAR _Route14EndBattleText7 - db $50 -; 0x55b20 + 5 bytes + db "@" Route14AfterBattleText7: ; 55b25 (15:5b25) TX_FAR _Route14AfterBattleText7 - db $50 -; 0x55b25 + 5 bytes + db "@" Route14Text8: ; 55b2a (15:5b2a) db $08 ; asm @@ -87262,18 +88478,15 @@ Route14Text8: ; 55b2a (15:5b2a) Route14BattleText8: ; 55b34 (15:5b34) TX_FAR _Route14BattleText8 - db $50 -; 0x55b34 + 5 bytes + db "@" Route14EndBattleText8: ; 55b39 (15:5b39) TX_FAR _Route14EndBattleText8 - db $50 -; 0x55b39 + 5 bytes + db "@" Route14AfterBattleText8: ; 55b3e (15:5b3e) TX_FAR _Route14AfterBattleText8 - db $50 -; 0x55b3e + 5 bytes + db "@" Route14Text9: ; 55b43 (15:5b43) db $08 ; asm @@ -87283,18 +88496,15 @@ Route14Text9: ; 55b43 (15:5b43) Route14BattleText9: ; 55b4d (15:5b4d) TX_FAR _Route14BattleText9 - db $50 -; 0x55b4d + 5 bytes + db "@" Route14EndBattleText9: ; 55b52 (15:5b52) TX_FAR _Route14EndBattleText9 - db $50 -; 0x55b52 + 5 bytes + db "@" Route14AfterBattleText9: ; 55b57 (15:5b57) TX_FAR _Route14AfterBattleText9 - db $50 -; 0x55b57 + 5 bytes + db "@" Route14Text10: ; 55b5c (15:5b5c) db $08 ; asm @@ -87304,38 +88514,51 @@ Route14Text10: ; 55b5c (15:5b5c) Route14BattleText10: ; 55b66 (15:5b66) TX_FAR _Route14BattleText10 - db $50 -; 0x55b66 + 5 bytes + db "@" Route14EndBattleText10: ; 55b6b (15:5b6b) TX_FAR _Route14EndBattleText10 - db $50 -; 0x55b6b + 5 bytes + db "@" Route14AfterBattleText10: ; 55b70 (15:5b70) TX_FAR _Route14AfterBattleText10 - db $50 -; 0x55b70 + 5 bytes + db "@" Route14Text11: ; 55b75 (15:5b75) TX_FAR _Route14Text11 - db $50 + db "@" 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 -; 0x55b8d -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) @@ -87346,7 +88569,6 @@ Route17TrainerHeader0: ; 55bb3 (15:5bb3) dw Route17AfterBattleText1 ; 0x5c40 TextAfterBattle dw Route17EndBattleText1 ; 0x5c3b TextEndBattle dw Route17EndBattleText1 ; 0x5c3b TextEndBattle -; 0x55bbf Route17TrainerHeader1: ; 55bbf (15:5bbf) db $2 ; flag's bit @@ -87356,7 +88578,6 @@ Route17TrainerHeader1: ; 55bbf (15:5bbf) dw Route17AfterBattleText2 ; 0x5c59 TextAfterBattle dw Route17EndBattleText2 ; 0x5c54 TextEndBattle dw Route17EndBattleText2 ; 0x5c54 TextEndBattle -; 0x55bcb Route17TrainerHeader2: ; 55bcb (15:5bcb) db $3 ; flag's bit @@ -87366,7 +88587,6 @@ Route17TrainerHeader2: ; 55bcb (15:5bcb) dw Route17AfterBattleText3 ; 0x5c72 TextAfterBattle dw Route17EndBattleText3 ; 0x5c6d TextEndBattle dw Route17EndBattleText3 ; 0x5c6d TextEndBattle -; 0x55bd7 Route17TrainerHeader3: ; 55bd7 (15:5bd7) db $4 ; flag's bit @@ -87376,7 +88596,6 @@ Route17TrainerHeader3: ; 55bd7 (15:5bd7) dw Route17AfterBattleText4 ; 0x5c8b TextAfterBattle dw Route17EndBattleText4 ; 0x5c86 TextEndBattle dw Route17EndBattleText4 ; 0x5c86 TextEndBattle -; 0x55be3 Route17TrainerHeader4: ; 55be3 (15:5be3) db $5 ; flag's bit @@ -87386,7 +88605,6 @@ Route17TrainerHeader4: ; 55be3 (15:5be3) dw Route17AfterBattleText5 ; 0x5ca4 TextAfterBattle dw Route17EndBattleText5 ; 0x5c9f TextEndBattle dw Route17EndBattleText5 ; 0x5c9f TextEndBattle -; 0x55bef Route17TrainerHeader5: ; 55bef (15:5bef) db $6 ; flag's bit @@ -87396,7 +88614,6 @@ Route17TrainerHeader5: ; 55bef (15:5bef) dw Route17AfterBattleText6 ; 0x5cbd TextAfterBattle dw Route17EndBattleText6 ; 0x5cb8 TextEndBattle dw Route17EndBattleText6 ; 0x5cb8 TextEndBattle -; 0x55bfb Route17TrainerHeader6: ; 55bfb (15:5bfb) db $7 ; flag's bit @@ -87406,7 +88623,6 @@ Route17TrainerHeader6: ; 55bfb (15:5bfb) dw Route17AfterBattleText7 ; 0x5cd6 TextAfterBattle dw Route17EndBattleText7 ; 0x5cd1 TextEndBattle dw Route17EndBattleText7 ; 0x5cd1 TextEndBattle -; 0x55c07 Route17TrainerHeader7: ; 55c07 (15:5c07) db $8 ; flag's bit @@ -87416,7 +88632,6 @@ Route17TrainerHeader7: ; 55c07 (15:5c07) dw Route17AfterBattleText8 ; 0x5cef TextAfterBattle dw Route17EndBattleText8 ; 0x5cea TextEndBattle dw Route17EndBattleText8 ; 0x5cea TextEndBattle -; 0x55c13 Route17TrainerHeader8: ; 55c13 (15:5c13) db $9 ; flag's bit @@ -87426,7 +88641,6 @@ Route17TrainerHeader8: ; 55c13 (15:5c13) dw Route17AfterBattleText9 ; 0x5d08 TextAfterBattle dw Route17EndBattleText9 ; 0x5d03 TextEndBattle dw Route17EndBattleText9 ; 0x5d03 TextEndBattle -; 0x55c1f Route17TrainerHeader9: ; 55c1f (15:5c1f) db $a ; flag's bit @@ -87436,9 +88650,8 @@ Route17TrainerHeader9: ; 55c1f (15:5c1f) dw Route17AfterBattleText10 ; 0x5d21 TextAfterBattle dw Route17EndBattleText10 ; 0x5d1c TextEndBattle dw Route17EndBattleText10 ; 0x5d1c TextEndBattle -; 0x55c2b -db $ff + db $ff Route17Text1: ; 55c2c (15:5c2c) db $08 ; asm @@ -87448,18 +88661,15 @@ Route17Text1: ; 55c2c (15:5c2c) Route17BattleText1: ; 55c36 (15:5c36) TX_FAR _Route17BattleText1 - db $50 -; 0x55c36 + 5 bytes + db "@" Route17EndBattleText1: ; 55c3b (15:5c3b) TX_FAR _Route17EndBattleText1 - db $50 -; 0x55c3b + 5 bytes + db "@" Route17AfterBattleText1: ; 55c40 (15:5c40) TX_FAR _Route17AfterBattleText1 - db $50 -; 0x55c40 + 5 bytes + db "@" Route17Text2: ; 55c45 (15:5c45) db $08 ; asm @@ -87469,18 +88679,15 @@ Route17Text2: ; 55c45 (15:5c45) Route17BattleText2: ; 55c4f (15:5c4f) TX_FAR _Route17BattleText2 - db $50 -; 0x55c4f + 5 bytes + db "@" Route17EndBattleText2: ; 55c54 (15:5c54) TX_FAR _Route17EndBattleText2 - db $50 -; 0x55c54 + 5 bytes + db "@" Route17AfterBattleText2: ; 55c59 (15:5c59) TX_FAR _Route17AfterBattleText2 - db $50 -; 0x55c59 + 5 bytes + db "@" Route17Text3: ; 55c5e (15:5c5e) db $08 ; asm @@ -87490,18 +88697,15 @@ Route17Text3: ; 55c5e (15:5c5e) Route17BattleText3: ; 55c68 (15:5c68) TX_FAR _Route17BattleText3 - db $50 -; 0x55c68 + 5 bytes + db "@" Route17EndBattleText3: ; 55c6d (15:5c6d) TX_FAR _Route17EndBattleText3 - db $50 -; 0x55c6d + 5 bytes + db "@" Route17AfterBattleText3: ; 55c72 (15:5c72) TX_FAR _Route17AfterBattleText3 - db $50 -; 0x55c72 + 5 bytes + db "@" Route17Text4: ; 55c77 (15:5c77) db $08 ; asm @@ -87511,18 +88715,15 @@ Route17Text4: ; 55c77 (15:5c77) Route17BattleText4: ; 55c81 (15:5c81) TX_FAR _Route17BattleText4 - db $50 -; 0x55c81 + 5 bytes + db "@" Route17EndBattleText4: ; 55c86 (15:5c86) TX_FAR _Route17EndBattleText4 - db $50 -; 0x55c86 + 5 bytes + db "@" Route17AfterBattleText4: ; 55c8b (15:5c8b) TX_FAR _Route17AfterBattleText4 - db $50 -; 0x55c8b + 5 bytes + db "@" Route17Text5: ; 55c90 (15:5c90) db $08 ; asm @@ -87532,18 +88733,15 @@ Route17Text5: ; 55c90 (15:5c90) Route17BattleText5: ; 55c9a (15:5c9a) TX_FAR _Route17BattleText5 - db $50 -; 0x55c9a + 5 bytes + db "@" Route17EndBattleText5: ; 55c9f (15:5c9f) TX_FAR _Route17EndBattleText5 - db $50 -; 0x55c9f + 5 bytes + db "@" Route17AfterBattleText5: ; 55ca4 (15:5ca4) TX_FAR _Route17AfterBattleText5 - db $50 -; 0x55ca4 + 5 bytes + db "@" Route17Text6: ; 55ca9 (15:5ca9) db $08 ; asm @@ -87553,18 +88751,15 @@ Route17Text6: ; 55ca9 (15:5ca9) Route17BattleText6: ; 55cb3 (15:5cb3) TX_FAR _Route17BattleText6 - db $50 -; 0x55cb3 + 5 bytes + db "@" Route17EndBattleText6: ; 55cb8 (15:5cb8) TX_FAR _Route17EndBattleText6 - db $50 -; 0x55cb8 + 5 bytes + db "@" Route17AfterBattleText6: ; 55cbd (15:5cbd) TX_FAR _Route17AfterBattleText6 - db $50 -; 0x55cbd + 5 bytes + db "@" Route17Text7: ; 55cc2 (15:5cc2) db $08 ; asm @@ -87574,18 +88769,15 @@ Route17Text7: ; 55cc2 (15:5cc2) Route17BattleText7: ; 55ccc (15:5ccc) TX_FAR _Route17BattleText7 - db $50 -; 0x55ccc + 5 bytes + db "@" Route17EndBattleText7: ; 55cd1 (15:5cd1) TX_FAR _Route17EndBattleText7 - db $50 -; 0x55cd1 + 5 bytes + db "@" Route17AfterBattleText7: ; 55cd6 (15:5cd6) TX_FAR _Route17AfterBattleText7 - db $50 -; 0x55cd6 + 5 bytes + db "@" Route17Text8: ; 55cdb (15:5cdb) db $08 ; asm @@ -87595,18 +88787,15 @@ Route17Text8: ; 55cdb (15:5cdb) Route17BattleText8: ; 55ce5 (15:5ce5) TX_FAR _Route17BattleText8 - db $50 -; 0x55ce5 + 5 bytes + db "@" Route17EndBattleText8: ; 55cea (15:5cea) TX_FAR _Route17EndBattleText8 - db $50 -; 0x55cea + 5 bytes + db "@" Route17AfterBattleText8: ; 55cef (15:5cef) TX_FAR _Route17AfterBattleText8 - db $50 -; 0x55cef + 5 bytes + db "@" Route17Text9: ; 55cf4 (15:5cf4) db $08 ; asm @@ -87616,18 +88805,15 @@ Route17Text9: ; 55cf4 (15:5cf4) Route17BattleText9: ; 55cfe (15:5cfe) TX_FAR _Route17BattleText9 - db $50 -; 0x55cfe + 5 bytes + db "@" Route17EndBattleText9: ; 55d03 (15:5d03) TX_FAR _Route17EndBattleText9 - db $50 -; 0x55d03 + 5 bytes + db "@" Route17AfterBattleText9: ; 55d08 (15:5d08) TX_FAR _Route17AfterBattleText9 - db $50 -; 0x55d08 + 5 bytes + db "@" Route17Text10: ; 55d0d (15:5d0d) db $08 ; asm @@ -87637,58 +88823,66 @@ Route17Text10: ; 55d0d (15:5d0d) Route17BattleText10: ; 55d17 (15:5d17) TX_FAR _Route17BattleText10 - db $50 -; 0x55d17 + 5 bytes + db "@" Route17EndBattleText10: ; 55d1c (15:5d1c) TX_FAR _Route17EndBattleText10 - db $50 -; 0x55d1c + 5 bytes + db "@" Route17AfterBattleText10: ; 55d21 (15:5d21) TX_FAR _Route17AfterBattleText10 - db $50 -; 0x55d21 + 5 bytes + db "@" Route17Text11: ; 55d26 (15:5d26) TX_FAR _Route17Text11 - db $50 + db "@" Route17Text12: ; 55d2b (15:5d2b) TX_FAR _Route17Text12 - db $50 + db "@" Route17Text13: ; 55d30 (15:5d30) TX_FAR _Route17Text13 - db $50 + db "@" Route17Text14: ; 55d35 (15:5d35) TX_FAR _Route17Text14 - db $50 + db "@" Route17Text15: ; 55d3a (15:5d3a) TX_FAR _Route17Text15 - db $50 + db "@" Route17Text16: ; 55d3f (15:5d3f) TX_FAR _Route17Text16 - db $50 + db "@" 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 -; 0x55d57 -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) @@ -87699,7 +88893,6 @@ Route19TrainerHeader0: ; 55d73 (15:5d73) dw Route19AfterBattleText1 ; 0x5e5a TextAfterBattle dw Route19EndBattleText1 ; 0x5e55 TextEndBattle dw Route19EndBattleText1 ; 0x5e55 TextEndBattle -; 0x55d7f Route19TrainerHeader1: ; 55d7f (15:5d7f) db $2 ; flag's bit @@ -87709,7 +88902,6 @@ Route19TrainerHeader1: ; 55d7f (15:5d7f) dw Route19AfterBattleText2 ; 0x5e69 TextAfterBattle dw Route19EndBattleText2 ; 0x5e64 TextEndBattle dw Route19EndBattleText2 ; 0x5e64 TextEndBattle -; 0x55d8b Route19TrainerHeader2: ; 55d8b (15:5d8b) db $3 ; flag's bit @@ -87719,7 +88911,6 @@ Route19TrainerHeader2: ; 55d8b (15:5d8b) dw Route19AfterBattleText3 ; 0x5e78 TextAfterBattle dw Route19EndBattleText3 ; 0x5e73 TextEndBattle dw Route19EndBattleText3 ; 0x5e73 TextEndBattle -; 0x55d97 Route19TrainerHeader3: ; 55d97 (15:5d97) db $4 ; flag's bit @@ -87729,7 +88920,6 @@ Route19TrainerHeader3: ; 55d97 (15:5d97) dw Route19AfterBattleText4 ; 0x5e87 TextAfterBattle dw Route19EndBattleText4 ; 0x5e82 TextEndBattle dw Route19EndBattleText4 ; 0x5e82 TextEndBattle -; 0x55da3 Route19TrainerHeader4: ; 55da3 (15:5da3) db $5 ; flag's bit @@ -87739,7 +88929,6 @@ Route19TrainerHeader4: ; 55da3 (15:5da3) dw Route19AfterBattleText5 ; 0x5e96 TextAfterBattle dw Route19EndBattleText5 ; 0x5e91 TextEndBattle dw Route19EndBattleText5 ; 0x5e91 TextEndBattle -; 0x55daf Route19TrainerHeader5: ; 55daf (15:5daf) db $6 ; flag's bit @@ -87749,7 +88938,6 @@ Route19TrainerHeader5: ; 55daf (15:5daf) dw Route19AfterBattleText6 ; 0x5ea5 TextAfterBattle dw Route19EndBattleText6 ; 0x5ea0 TextEndBattle dw Route19EndBattleText6 ; 0x5ea0 TextEndBattle -; 0x55dbb Route19TrainerHeader6: ; 55dbb (15:5dbb) db $7 ; flag's bit @@ -87759,7 +88947,6 @@ Route19TrainerHeader6: ; 55dbb (15:5dbb) dw Route19AfterBattleText7 ; 0x5eb4 TextAfterBattle dw Route19EndBattleText7 ; 0x5eaf TextEndBattle dw Route19EndBattleText7 ; 0x5eaf TextEndBattle -; 0x55dc7 Route19TrainerHeader7: ; 55dc7 (15:5dc7) db $8 ; flag's bit @@ -87769,7 +88956,6 @@ Route19TrainerHeader7: ; 55dc7 (15:5dc7) dw Route19AfterBattleText8 ; 0x5ec3 TextAfterBattle dw Route19EndBattleText8 ; 0x5ebe TextEndBattle dw Route19EndBattleText8 ; 0x5ebe TextEndBattle -; 0x55dd3 Route19TrainerHeader8: ; 55dd3 (15:5dd3) db $9 ; flag's bit @@ -87779,7 +88965,6 @@ Route19TrainerHeader8: ; 55dd3 (15:5dd3) dw Route19AfterBattleText9 ; 0x5ed2 TextAfterBattle dw Route19EndBattleText9 ; 0x5ecd TextEndBattle dw Route19EndBattleText9 ; 0x5ecd TextEndBattle -; 0x55ddf Route19TrainerHeader9: ; 55ddf (15:5ddf) db $a ; flag's bit @@ -87789,9 +88974,8 @@ Route19TrainerHeader9: ; 55ddf (15:5ddf) dw Route19AfterBattleText10 ; 0x5ee1 TextAfterBattle dw Route19EndBattleText10 ; 0x5edc TextEndBattle dw Route19EndBattleText10 ; 0x5edc TextEndBattle -; 0x55deb -db $ff + db $ff Route19Text1: ; 55dec (15:5dec) db $08 ; asm @@ -87855,173 +89039,152 @@ Route19Text10: ; 55e46 (15:5e46) Route19BattleText1: ; 55e50 (15:5e50) TX_FAR _Route19BattleText1 - db $50 -; 0x55e50 + 5 bytes + db "@" Route19EndBattleText1: ; 55e55 (15:5e55) TX_FAR _Route19EndBattleText1 - db $50 -; 0x55e55 + 5 bytes + db "@" Route19AfterBattleText1: ; 55e5a (15:5e5a) TX_FAR _Route19AfterBattleText1 - db $50 -; 0x55e5a + 5 bytes + db "@" Route19BattleText2: ; 55e5f (15:5e5f) TX_FAR _Route19BattleText2 - db $50 -; 0x55e5f + 5 bytes + db "@" Route19EndBattleText2: ; 55e64 (15:5e64) TX_FAR _Route19EndBattleText2 - db $50 -; 0x55e64 + 5 bytes + db "@" Route19AfterBattleText2: ; 55e69 (15:5e69) TX_FAR _Route19AfterBattleText2 - db $50 -; 0x55e69 + 5 bytes + db "@" Route19BattleText3: ; 55e6e (15:5e6e) TX_FAR _Route19BattleText3 - db $50 -; 0x55e6e + 5 bytes + db "@" Route19EndBattleText3: ; 55e73 (15:5e73) TX_FAR _Route19EndBattleText3 - db $50 -; 0x55e73 + 5 bytes + db "@" Route19AfterBattleText3: ; 55e78 (15:5e78) TX_FAR _Route19AfterBattleText3 - db $50 -; 0x55e78 + 5 bytes + db "@" Route19BattleText4: ; 55e7d (15:5e7d) TX_FAR _Route19BattleText4 - db $50 -; 0x55e7d + 5 bytes + db "@" Route19EndBattleText4: ; 55e82 (15:5e82) TX_FAR _Route19EndBattleText4 - db $50 -; 0x55e82 + 5 bytes + db "@" Route19AfterBattleText4: ; 55e87 (15:5e87) TX_FAR _Route19AfterBattleText4 - db $50 -; 0x55e87 + 5 bytes + db "@" Route19BattleText5: ; 55e8c (15:5e8c) TX_FAR _Route19BattleText5 - db $50 -; 0x55e8c + 5 bytes + db "@" Route19EndBattleText5: ; 55e91 (15:5e91) TX_FAR _Route19EndBattleText5 - db $50 -; 0x55e91 + 5 bytes + db "@" Route19AfterBattleText5: ; 55e96 (15:5e96) TX_FAR _Route19AfterBattleText5 - db $50 -; 0x55e96 + 5 bytes + db "@" Route19BattleText6: ; 55e9b (15:5e9b) TX_FAR _Route19BattleText6 - db $50 -; 0x55e9b + 5 bytes + db "@" Route19EndBattleText6: ; 55ea0 (15:5ea0) TX_FAR _Route19EndBattleText6 - db $50 -; 0x55ea0 + 5 bytes + db "@" Route19AfterBattleText6: ; 55ea5 (15:5ea5) TX_FAR _Route19AfterBattleText6 - db $50 -; 0x55ea5 + 5 bytes + db "@" Route19BattleText7: ; 55eaa (15:5eaa) TX_FAR _Route19BattleText7 - db $50 -; 0x55eaa + 5 bytes + db "@" Route19EndBattleText7: ; 55eaf (15:5eaf) TX_FAR _Route19EndBattleText7 - db $50 -; 0x55eaf + 5 bytes + db "@" Route19AfterBattleText7: ; 55eb4 (15:5eb4) TX_FAR _Route19AfterBattleText7 - db $50 -; 0x55eb4 + 5 bytes + db "@" Route19BattleText8: ; 55eb9 (15:5eb9) TX_FAR _Route19BattleText8 - db $50 -; 0x55eb9 + 5 bytes + db "@" Route19EndBattleText8: ; 55ebe (15:5ebe) TX_FAR _Route19EndBattleText8 - db $50 -; 0x55ebe + 5 bytes + db "@" Route19AfterBattleText8: ; 55ec3 (15:5ec3) TX_FAR _Route19AfterBattleText8 - db $50 -; 0x55ec3 + 5 bytes + db "@" Route19BattleText9: ; 55ec8 (15:5ec8) TX_FAR _Route19BattleText9 - db $50 -; 0x55ec8 + 5 bytes + db "@" Route19EndBattleText9: ; 55ecd (15:5ecd) TX_FAR _Route19EndBattleText9 - db $50 -; 0x55ecd + 5 bytes + db "@" Route19AfterBattleText9: ; 55ed2 (15:5ed2) TX_FAR _Route19AfterBattleText9 - db $50 -; 0x55ed2 + 5 bytes + db "@" Route19BattleText10: ; 55ed7 (15:5ed7) TX_FAR _Route19BattleText10 - db $50 -; 0x55ed7 + 5 bytes + db "@" Route19EndBattleText10: ; 55edc (15:5edc) TX_FAR _Route19EndBattleText10 - db $50 -; 0x55edc + 5 bytes + db "@" Route19AfterBattleText10: ; 55ee1 (15:5ee1) TX_FAR _Route19AfterBattleText10 - db $50 -; 0x55ee1 + 5 bytes + db "@" Route19Text11: ; 55ee6 (15:5ee6) TX_FAR _Route19Text11 - db $50 + db "@" 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 -; 0x55efe -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) @@ -88032,7 +89195,6 @@ Route21TrainerHeader0: ; 55f16 (15:5f16) dw Route21AfterBattleText1 ; 0x5fe7 TextAfterBattle dw Route21EndBattleText1 ; 0x5fe2 TextEndBattle dw Route21EndBattleText1 ; 0x5fe2 TextEndBattle -; 0x55f22 Route21TrainerHeader1: ; 55f22 (15:5f22) db $2 ; flag's bit @@ -88042,7 +89204,6 @@ Route21TrainerHeader1: ; 55f22 (15:5f22) dw Route21AfterBattleText2 ; 0x5ff6 TextAfterBattle dw Route21EndBattleText2 ; 0x5ff1 TextEndBattle dw Route21EndBattleText2 ; 0x5ff1 TextEndBattle -; 0x55f2e Route21TrainerHeader2: ; 55f2e (15:5f2e) db $3 ; flag's bit @@ -88052,7 +89213,6 @@ Route21TrainerHeader2: ; 55f2e (15:5f2e) dw Route21AfterBattleText3 ; 0x6005 TextAfterBattle dw Route21EndBattleText3 ; 0x6000 TextEndBattle dw Route21EndBattleText3 ; 0x6000 TextEndBattle -; 0x55f3a Route21TrainerHeader3: ; 55f3a (15:5f3a) db $4 ; flag's bit @@ -88062,7 +89222,6 @@ Route21TrainerHeader3: ; 55f3a (15:5f3a) dw Route21AfterBattleText4 ; 0x6014 TextAfterBattle dw Route21EndBattleText4 ; 0x600f TextEndBattle dw Route21EndBattleText4 ; 0x600f TextEndBattle -; 0x55f46 Route21TrainerHeader4: ; 55f46 (15:5f46) db $5 ; flag's bit @@ -88072,7 +89231,6 @@ Route21TrainerHeader4: ; 55f46 (15:5f46) dw Route21AfterBattleText5 ; 0x6023 TextAfterBattle dw Route21EndBattleText5 ; 0x601e TextEndBattle dw Route21EndBattleText5 ; 0x601e TextEndBattle -; 0x55f52 Route21TrainerHeader5: ; 55f52 (15:5f52) db $6 ; flag's bit @@ -88082,7 +89240,6 @@ Route21TrainerHeader5: ; 55f52 (15:5f52) dw Route21AfterBattleText6 ; 0x6032 TextAfterBattle dw Route21EndBattleText6 ; 0x602d TextEndBattle dw Route21EndBattleText6 ; 0x602d TextEndBattle -; 0x55f5e Route21TrainerHeader6: ; 55f5e (15:5f5e) db $7 ; flag's bit @@ -88092,7 +89249,6 @@ Route21TrainerHeader6: ; 55f5e (15:5f5e) dw Route21AfterBattleText7 ; 0x6041 TextAfterBattle dw Route21EndBattleText7 ; 0x603c TextEndBattle dw Route21EndBattleText7 ; 0x603c TextEndBattle -; 0x55f6a Route21TrainerHeader7: ; 55f6a (15:5f6a) db $8 ; flag's bit @@ -88102,7 +89258,6 @@ Route21TrainerHeader7: ; 55f6a (15:5f6a) dw Route21AfterBattleText8 ; 0x6050 TextAfterBattle dw Route21EndBattleText8 ; 0x604b TextEndBattle dw Route21EndBattleText8 ; 0x604b TextEndBattle -; 0x55f76 Route21TrainerHeader8: ; 55f76 (15:5f76) db $9 ; flag's bit @@ -88112,9 +89267,8 @@ Route21TrainerHeader8: ; 55f76 (15:5f76) dw Route21AfterBattleText9 ; 0x605f TextAfterBattle dw Route21EndBattleText9 ; 0x605a TextEndBattle dw Route21EndBattleText9 ; 0x605a TextEndBattle -; 0x55f82 -db $ff + db $ff Route21Text1: ; 55f83 (15:5f83) db $08 ; asm @@ -88172,152 +89326,123 @@ Route21Text9: ; 55fd3 (15:5fd3) Route21BattleText1: ; 55fdd (15:5fdd) TX_FAR _Route21BattleText1 - db $50 -; 0x55fdd + 5 bytes + db "@" Route21EndBattleText1: ; 55fe2 (15:5fe2) TX_FAR _Route21EndBattleText1 - db $50 -; 0x55fe2 + 5 bytes + db "@" Route21AfterBattleText1: ; 55fe7 (15:5fe7) TX_FAR _Route21AfterBattleText1 - db $50 -; 0x55fe7 + 5 bytes + db "@" Route21BattleText2: ; 55fec (15:5fec) TX_FAR _Route21BattleText2 - db $50 -; 0x55fec + 5 bytes + db "@" Route21EndBattleText2: ; 55ff1 (15:5ff1) TX_FAR _Route21EndBattleText2 - db $50 -; 0x55ff1 + 5 bytes + db "@" Route21AfterBattleText2: ; 55ff6 (15:5ff6) TX_FAR _Route21AfterBattleText2 - db $50 -; 0x55ff6 + 5 bytes + db "@" Route21BattleText3: ; 55ffb (15:5ffb) TX_FAR _Route21BattleText3 - db $50 -; 0x55ffb + 5 bytes + db "@" Route21EndBattleText3: ; 56000 (15:6000) TX_FAR _Route21EndBattleText3 - db $50 -; 0x56000 + 5 bytes + db "@" Route21AfterBattleText3: ; 56005 (15:6005) TX_FAR _Route21AfterBattleText3 - db $50 -; 0x56005 + 5 bytes + db "@" Route21BattleText4: ; 5600a (15:600a) TX_FAR _Route21BattleText4 - db $50 -; 0x5600a + 5 bytes + db "@" Route21EndBattleText4: ; 5600f (15:600f) TX_FAR _Route21EndBattleText4 - db $50 -; 0x5600f + 5 bytes + db "@" Route21AfterBattleText4: ; 56014 (15:6014) TX_FAR _Route21AfterBattleText4 - db $50 -; 0x56014 + 5 bytes + db "@" Route21BattleText5: ; 56019 (15:6019) TX_FAR _Route21BattleText5 - db $50 -; 0x56019 + 5 bytes + db "@" Route21EndBattleText5: ; 5601e (15:601e) TX_FAR _Route21EndBattleText5 - db $50 -; 0x5601e + 5 bytes + db "@" Route21AfterBattleText5: ; 56023 (15:6023) TX_FAR _Route21AfterBattleText5 - db $50 -; 0x56023 + 5 bytes + db "@" Route21BattleText6: ; 56028 (15:6028) TX_FAR _Route21BattleText6 - db $50 -; 0x56028 + 5 bytes + db "@" Route21EndBattleText6: ; 5602d (15:602d) TX_FAR _Route21EndBattleText6 - db $50 -; 0x5602d + 5 bytes + db "@" Route21AfterBattleText6: ; 56032 (15:6032) TX_FAR _Route21AfterBattleText6 - db $50 -; 0x56032 + 5 bytes + db "@" Route21BattleText7: ; 56037 (15:6037) TX_FAR _Route21BattleText7 - db $50 -; 0x56037 + 5 bytes + db "@" Route21EndBattleText7: ; 5603c (15:603c) TX_FAR _Route21EndBattleText7 - db $50 -; 0x5603c + 5 bytes + db "@" Route21AfterBattleText7: ; 56041 (15:6041) TX_FAR _Route21AfterBattleText7 - db $50 -; 0x56041 + 5 bytes + db "@" Route21BattleText8: ; 56046 (15:6046) TX_FAR _Route21BattleText8 - db $50 -; 0x56046 + 5 bytes + db "@" Route21EndBattleText8: ; 5604b (15:604b) TX_FAR _Route21EndBattleText8 - db $50 -; 0x5604b + 5 bytes + db "@" Route21AfterBattleText8: ; 56050 (15:6050) TX_FAR _Route21AfterBattleText8 - db $50 -; 0x56050 + 5 bytes + db "@" Route21BattleText9: ; 56055 (15:6055) TX_FAR _Route21BattleText9 - db $50 -; 0x56055 + 5 bytes + db "@" Route21EndBattleText9: ; 5605a (15:605a) TX_FAR _Route21EndBattleText9 - db $50 -; 0x5605a + 5 bytes + db "@" Route21AfterBattleText9: ; 5605f (15:605f) TX_FAR _Route21AfterBattleText9 - db $50 -; 0x5605f + 5 bytes + db "@" 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 VermilionHouse2Script: ; 56070 (15:6070) jp EnableAutoTextBoxDrawing -; 0x56073 -VermilionHouse2Texts: ; 56073 (15:6073) +VermilionHouse2TextPointers: ; 56073 (15:6073) dw VermilionHouse2Text1 VermilionHouse2Text1: ; 56075 (15:6075) @@ -88352,30 +89477,25 @@ asm_5dd95 ; 0x560ab UnnamedText_560b1: ; 560b1 (15:60b1) TX_FAR _UnnamedText_560b1 - db $50 -; 0x560b1 + 5 bytes + db "@" UnnamedText_560b6: ; 560b6 (15:60b6) TX_FAR _UnnamedText_560b6 ; 0x9c554 db $0B TX_FAR _UnnamedText_560bb ; 0x9c5a4 - db $50 -; 0x560c0 + db "@" UnnamedText_560c0: ; 560c0 (15:60c0) TX_FAR _UnnamedText_560c0 - db $50 -; 0x560c0 + 5 bytes + db "@" UnnamedText_560c5: ; 560c5 (15:60c5) TX_FAR _UnnamedText_560c5 - db $50 -; 0x560c5 + 5 bytes + db "@" UnnamedText_560ca: ; 560ca (15:60ca) TX_FAR _UnnamedText_560ca - db $50 -; 0x560ca + 5 bytes + db "@" VermilionHouse2Object: ; 0x560cf (size=26) db $a ; border tile @@ -88396,29 +89516,31 @@ 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 CeladonMart2Script: ; 560f5 (15:60f5) jp EnableAutoTextBoxDrawing -; 0x560f8 -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 - db $50 + db "@" CeladonMart2Text4: ; 56107 (15:6107) TX_FAR _CeladonMart2Text4 - db $50 + db "@" CeladonMart2Text5: ; 5610c (15:610c) TX_FAR _CeladonMart2Text5 - db $50 + db "@" CeladonMart2Object: ; 0x56111 (size=55) db $f ; border tile @@ -88448,16 +89570,14 @@ 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 FuchsiaHouse3Script: ; 5617c (15:617c) jp EnableAutoTextBoxDrawing -; 0x5617f -FuchsiaHouse3Texts: ; 5617f (15:617f) +FuchsiaHouse3TextPointers: ; 5617f (15:617f) dw FuchsiaHouse3Text1 FuchsiaHouse3Text1: ; 56181 (15:6181) @@ -88492,30 +89612,25 @@ asm_1b09c ; 0x561b7 UnnamedText_561bd: ; 561bd (15:61bd) TX_FAR _UnnamedText_561bd - db $50 -; 0x561bd + 5 bytes + db "@" UnnamedText_561c2: ; 561c2 (15:61c2) TX_FAR _UnnamedText_561c2 ; 0xa06e8 - db $0B, $50 -; 0x561c8 + db $0B, "@" INCBIN "baserom.gbc",$561c8,$56212 - $561c8 UnnamedText_56212: ; 56212 (15:6212) TX_FAR _UnnamedText_56212 - db $50 -; 0x56212 + 5 bytes + db "@" UnnamedText_56217: ; 56217 (15:6217) TX_FAR _UnnamedText_56217 - db $50 -; 0x56217 + 5 bytes + db "@" UnnamedText_5621c: ; 5621c (15:621c) TX_FAR _UnnamedText_5621c - db $50 -; 0x5621c + 5 bytes + db "@" FuchsiaHouse3Object: ; 0x56221 (size=34) db $c ; border tile @@ -88538,16 +89653,14 @@ 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 DayCareMScript: ; 5624f (15:624f) jp EnableAutoTextBoxDrawing -; 0x56252 -DayCareMTexts: ; 56252 (15:6252) +DayCareMTextPointers: ; 56252 (15:6252) dw DayCareMText1 DayCareMText1: ; 56254 (15:6254) @@ -88555,18 +89668,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 @@ -88580,12 +89693,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] @@ -88604,88 +89717,220 @@ DayCareMText1: ; 56254 (15:6254) ld a, [$cf91] call PlayCry ld hl, UnnamedText_5641e - jp Unnamed_56409 -; 0x562e1 + jp Func_56409 -Unnamed_562e1: ; 562e1 (15:62e1) -INCBIN "baserom.gbc",$562e1,$56409 - $562e1 +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 + +.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 -; 0x5640f UnnamedText_5640f: ; 5640f (15:640f) TX_FAR _UnnamedText_5640f - db $50 -; 0x5640f + 5 bytes + db "@" UnnamedText_56414: ; 56414 (15:6414) TX_FAR _UnnamedText_56414 - db $50 -; 0x56414 + 5 bytes + db "@" UnnamedText_56419: ; 56419 (15:6419) TX_FAR _UnnamedText_56419 - db $50 -; 0x56419 + 5 bytes + db "@" UnnamedText_5641e: ; 5641e (15:641e) TX_FAR _UnnamedText_5641e - db $50 -; 0x5641e + 5 bytes + db "@" UnnamedText_56423: ; 56423 (15:6423) TX_FAR _UnnamedText_56423 - db $50 -; 0x56423 + 5 bytes + db "@" UnnamedText_56428: ; 56428 (15:6428) TX_FAR _UnnamedText_56428 - db $50 -; 0x56428 + 5 bytes + db "@" UnnamedText_5642d: ; 5642d (15:642d) TX_FAR _UnnamedText_5642d - db $50 -; 0x5642d + 5 bytes + db "@" UnnamedText_56432: ; 56432 (15:6432) TX_FAR _UnnamedText_56432 - db $50 -; 0x56432 + 5 bytes + db "@" UnnamedText_56437: ; 56437 (15:6437) TX_FAR _UnnamedText_56437 ; 0x8c000 UnnamedText_5643b: ; 5643b (15:643b) TX_FAR _UnnamedText_5643b ; 0x8c013 - db $50 -; 0x5643b + 5 bytes + db "@" UnnamedText_56440: ; 56440 (15:6440) TX_FAR _UnnamedText_56440 - db $50 -; 0x56440 + 5 bytes + db "@" UnnamedText_56445: ; 56445 (15:6445) TX_FAR _UnnamedText_56445 - db $50 -; 0x56445 + 5 bytes + db "@" UnnamedText_5644a: ; 5644a (15:644a) TX_FAR _UnnamedText_5644a - db $50 -; 0x5644a + 5 bytes + db "@" UnnamedText_5644f: ; 5644f (15:644f) TX_FAR _UnnamedText_5644f - db $50 -; 0x5644f + 5 bytes + db "@" UnnamedText_56454: ; 56454 (15:6454) TX_FAR _UnnamedText_56454 - db $50 -; 0x56454 + 5 bytes + db "@" DayCareMObject: ; 0x56459 (size=26) db $a ; border tile @@ -88706,16 +89951,14 @@ 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 Route12HouseScript: ; 5647f (15:647f) jp EnableAutoTextBoxDrawing -; 0x56482 -Route12HouseTexts: ; 56482 (15:6482) +Route12HouseTextPointers: ; 56482 (15:6482) dw Route12HouseText1 Route12HouseText1: ; 56484 (15:6484) @@ -88750,30 +89993,25 @@ asm_df984 ; 0x564ba UnnamedText_564c0: ; 564c0 (15:64c0) TX_FAR _UnnamedText_564c0 - db $50 -; 0x564c0 + 5 bytes + db "@" UnnamedText_564c5: ; 564c5 (15:64c5) TX_FAR _UnnamedText_564c5 ; 0x8ca00 db $0B TX_FAR _UnnamedText_564ca ; 0x8ca4f - db $50 -; 0x564c5 + 10 bytes = 0x564cf + db "@" UnnamedText_564cf: ; 564cf (15:64cf) TX_FAR _UnnamedText_564cf - db $50 -; 0x564cf + 5 bytes + db "@" UnnamedText_564d4: ; 564d4 (15:64d4) TX_FAR _UnnamedText_564d4 - db $50 -; 0x564d4 + 5 bytes + db "@" UnnamedText_564d9: ; 564d9 (15:64d9) TX_FAR _UnnamedText_564d9 - db $50 -; 0x564d9 + 5 bytes + db "@" Route12HouseObject: ; 0x564de (size=26) db $a ; border tile @@ -88794,28 +90032,26 @@ 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 -; 0x5651a -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] @@ -88827,10 +90063,9 @@ 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 -; known jump sources: 56525 (15:6525) Func_56541: ; 56541 (15:6541) push hl ld hl, $d73f @@ -88867,7 +90102,6 @@ Func_56541: ; 56541 (15:6541) ld [$FF00+$e0], a ret -; known jump sources: 56528 (15:6528) Func_5656d: ; 5656d (15:656d) ld a, [$FF00+$e0] and a @@ -88876,11 +90110,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) @@ -88891,7 +90130,6 @@ SilphCo8TrainerHeader0: ; 56585 (15:6585) dw SilphCo8AfterBattleText1 ; 0x65f0 TextAfterBattle dw SilphCo8EndBattleText1 ; 0x65eb TextEndBattle dw SilphCo8EndBattleText1 ; 0x65eb TextEndBattle -; 0x56591 SilphCo8TrainerHeader1: ; 56591 (15:6591) db $3 ; flag's bit @@ -88901,7 +90139,6 @@ SilphCo8TrainerHeader1: ; 56591 (15:6591) dw SilphCo8AfterBattleText2 ; 0x65ff TextAfterBattle dw SilphCo8EndBattleText2 ; 0x65fa TextEndBattle dw SilphCo8EndBattleText2 ; 0x65fa TextEndBattle -; 0x5659d SilphCo8TrainerHeader2: ; 5659d (15:659d) db $4 ; flag's bit @@ -88911,9 +90148,8 @@ SilphCo8TrainerHeader2: ; 5659d (15:659d) dw SilphCo8AfterBattleText3 ; 0x660e TextAfterBattle dw SilphCo8EndBattleText3 ; 0x6609 TextEndBattle dw SilphCo8EndBattleText3 ; 0x6609 TextEndBattle -; 0x565a9 -db $ff + db $ff SilphCo8Text1: ; 565aa (15:65aa) db $08 ; asm @@ -88928,13 +90164,11 @@ asm_a468f ; 0x565b8 UnnamedText_565be: ; 565be (15:65be) TX_FAR _UnnamedText_565be - db $50 -; 0x565be + 5 bytes + db "@" UnnamedText_565c3: ; 565c3 (15:65c3) TX_FAR _UnnamedText_565c3 - db $50 -; 0x565c3 + 5 bytes + db "@" SilphCo8Text2: ; 565c8 (15:65c8) db $08 ; asm @@ -88956,48 +90190,39 @@ SilphCo8Text4: ; 565dc (15:65dc) SilphCo8BattleText1: ; 565e6 (15:65e6) TX_FAR _SilphCo8BattleText1 - db $50 -; 0x565e6 + 5 bytes + db "@" SilphCo8EndBattleText1: ; 565eb (15:65eb) TX_FAR _SilphCo8EndBattleText1 - db $50 -; 0x565eb + 5 bytes + db "@" SilphCo8AfterBattleText1: ; 565f0 (15:65f0) TX_FAR _SilphCo8AfterBattleText1 - db $50 -; 0x565f0 + 5 bytes + db "@" SilphCo8BattleText2: ; 565f5 (15:65f5) TX_FAR _SilphCo8BattleText2 - db $50 -; 0x565f5 + 5 bytes + db "@" SilphCo8EndBattleText2: ; 565fa (15:65fa) TX_FAR _SilphCo8EndBattleText2 - db $50 -; 0x565fa + 5 bytes + db "@" SilphCo8AfterBattleText2: ; 565ff (15:65ff) TX_FAR _SilphCo8AfterBattleText2 - db $50 -; 0x565ff + 5 bytes + db "@" SilphCo8BattleText3: ; 56604 (15:6604) TX_FAR _SilphCo8BattleText3 - db $50 -; 0x56604 + 5 bytes + db "@" SilphCo8EndBattleText3: ; 56609 (15:6609) TX_FAR _SilphCo8EndBattleText3 - db $50 -; 0x56609 + 5 bytes + db "@" SilphCo8AfterBattleText3: ; 5660e (15:660e) TX_FAR _SilphCo8AfterBattleText3 - db $50 -; 0x5660e + 5 bytes + db "@" SilphCo8Object: ; 0x56613 (size=90) db $2e ; border tile @@ -89045,7 +90270,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 @@ -89103,7 +90328,6 @@ DisplayDiploma: ; 566e2 (15:66e2) call Func_3dbe call Delay3 jp GBPalNormal -; 0x56777 Func_56777: ; 56777 (15:6777) ld hl, $d158 @@ -89129,22 +90353,21 @@ DiplomaTextPointersAndCoords: ; 56784 (15:6784) DiplomaText: db $70,"Diploma",$70,"@" - + DiplomaPlayer: db "Player@" - + DiplomaEmptyText: db "@" - + DiplomaCongrats: db "Congrats! This",$4e,"diploma certifies",$4e,"that you have",$4e,"completed your",$4e,"#DEX.@" - + DiplomaGameFreak: db "GAME FREAK@" -; known jump sources: 3303 (0:3303) Func_567f9: ; 567f9 (15:67f9) - ld hl, $c100 + ld hl, wSpriteStateData1 ld de, $4 ld a, [$cf13] ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c @@ -89163,7 +90386,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 @@ -89180,10 +90403,9 @@ Func_56819: ; 56819 (15:6819) ld a, [hl] ld [$d133], a ret -; 0x5683d Func_5683d: ; 5683d (15:683d) - ld hl, $c100 + ld hl, wSpriteStateData1 ld de, $4 ld a, [$cf13] ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c @@ -89202,7 +90424,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 @@ -89219,15 +90441,13 @@ Func_5685d: ; 5685d (15:685d) ld a, [$d133] ld [hl], a ret -; 0x56881 -; known jump sources: 32d4 (0:32d4) 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 @@ -89236,7 +90456,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 @@ -89249,7 +90469,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 @@ -89262,7 +90482,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 @@ -89295,7 +90515,6 @@ TrainerWalkUpToPlayer: ; 56881 (15:6881) ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c jp MoveSprite_ -; known jump sources: 56804 (15:6804), 56848 (15:6848) Func_56903: ; 56903 (15:6903) push de add hl, de @@ -89311,22 +90530,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 @@ -89365,34 +90584,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 @@ -89403,7 +90622,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 @@ -89441,11 +90660,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 @@ -89453,11 +90672,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 @@ -89492,36 +90711,18 @@ CheckPlayerIsInFrontOfSprite: ; 569e3 (15:69e3) .noEngage xor a .done - ld [W_TRAINERSPRITEOFFSET], a ; $cd3d + ld [wTrainerSpriteOffset], a ; $cd3d ret -; 56a4b (15:6a4b) 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 - - db SAFFRON_CITY - dw SaffronCityBlocks + (SAFFRON_CITY_HEIGHT - 3) * SAFFRON_CITY_WIDTH + 2 ; connection strip location - dw $C6EB + -3 ; current map position - db $10, SAFFRON_CITY_WIDTH ; bigness, width - db (SAFFRON_CITY_HEIGHT * 2) - 1, (-5 * -2) ; alignments (y, x) - dw $C6E9 + SAFFRON_CITY_HEIGHT * (SAFFRON_CITY_WIDTH + 6) ; window - - db VERMILION_CITY - dw VermilionCityBlocks + 2 ; connection strip location - dw $C6EB + (ROUTE_6_HEIGHT + 3) * (ROUTE_6_WIDTH + 6) + -3 ; current map position - db $10, VERMILION_CITY_WIDTH ; bigness, width - db 0, (-5 * -2) ; alignments (y, x) - dw $C6EF + VERMILION_CITY_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION SAFFRON_CITY, SAFFRON_CITY_WIDTH, SAFFRON_CITY_HEIGHT, -3, 2, SAFFRON_CITY_WIDTH - 4, SaffronCityBlocks + SOUTH_MAP_CONNECTION VERMILION_CITY, VERMILION_CITY_WIDTH, -3, 2, VERMILION_CITY_WIDTH - 4, VermilionCityBlocks, ROUTE_6_WIDTH, ROUTE_6_HEIGHT dw Route6Object ; objects Route6Object: ; 0x58022 (size=87) @@ -89556,27 +90757,10 @@ 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 - - db SAFFRON_CITY - dw SaffronCityBlocks - 3 + (SAFFRON_CITY_WIDTH * 2) ; connection strip location - dw $C6E8 + (ROUTE_8_WIDTH + 6) * (-3 + 3) ; current map position - db $f, SAFFRON_CITY_WIDTH ; bigness, width - db (-4 * -2), (SAFFRON_CITY_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * SAFFRON_CITY_WIDTH ; window - - db LAVENDER_TOWN - dw LavenderTownBlocks + (LAVENDER_TOWN_WIDTH * 0) ; connection strip location - dw $C6E5 + (ROUTE_8_WIDTH + 6) * (0 + 4) ; current map position - db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; bigness, width - db (0 * -2), 0 ; alignments (y, x) - dw $C6EF + LAVENDER_TOWN_WIDTH ; window - - ; end connections data - + WEST_MAP_CONNECTION SAFFRON_CITY, SAFFRON_CITY_WIDTH, -3, 1, SAFFRON_CITY_HEIGHT - 3, SaffronCityBlocks, ROUTE_8_WIDTH + EAST_MAP_CONNECTION LAVENDER_TOWN, LAVENDER_TOWN_WIDTH, 0, 0, LAVENDER_TOWN_HEIGHT, LavenderTownBlocks, ROUTE_8_WIDTH dw Route8Object ; objects Route8Object: ; 0x5814f (size=119) @@ -89616,27 +90800,10 @@ 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 - - db LAVENDER_TOWN - dw LavenderTownBlocks ; connection strip location - dw $C6EB + (ROUTE_10_HEIGHT + 3) * (ROUTE_10_WIDTH + 6) + 0 ; current map position - db LAVENDER_TOWN_WIDTH, LAVENDER_TOWN_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + LAVENDER_TOWN_WIDTH ; window - - db ROUTE_9 - dw Route9Blocks - 3 + (ROUTE_9_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_10_WIDTH + 6) * (0 + 3) ; current map position - db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; bigness, width - db (0 * -2), (ROUTE_9_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_9_WIDTH ; window - - ; end connections data - + SOUTH_MAP_CONNECTION LAVENDER_TOWN, LAVENDER_TOWN_WIDTH, 0, 0, LAVENDER_TOWN_WIDTH, LavenderTownBlocks, ROUTE_10_WIDTH, ROUTE_10_HEIGHT + WEST_MAP_CONNECTION ROUTE_9, ROUTE_9_WIDTH, 0, 0, ROUTE_9_HEIGHT, Route9Blocks, ROUTE_10_WIDTH dw Route10Object ; objects Route10Object: ; 0x582f6 (size=96) @@ -89674,27 +90841,10 @@ 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 - - db VERMILION_CITY - dw VermilionCityBlocks - 3 + (VERMILION_CITY_WIDTH * 2) ; connection strip location - dw $C6E8 + (ROUTE_11_WIDTH + 6) * (-3 + 3) ; current map position - db $f, VERMILION_CITY_WIDTH ; bigness, width - db (-4 * -2), (VERMILION_CITY_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * VERMILION_CITY_WIDTH ; window - - db ROUTE_12 - dw Route12Blocks + (ROUTE_12_WIDTH * 24) ; connection strip location - dw $C6E5 + (ROUTE_11_WIDTH + 6) * (-3 + 4) ; current map position - db $f, ROUTE_12_WIDTH ; bigness, width - db (-27 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_12_WIDTH ; window - - ; end connections data - + WEST_MAP_CONNECTION VERMILION_CITY, VERMILION_CITY_WIDTH, -3, 1, VERMILION_CITY_HEIGHT - 3, VermilionCityBlocks, ROUTE_11_WIDTH + EAST_MAP_CONNECTION ROUTE_12, ROUTE_12_WIDTH, -3, 24, ROUTE_12_HEIGHT - 39, Route12Blocks, ROUTE_11_WIDTH dw Route11Object ; objects Route11Object: ; 0x584e0 (size=127) @@ -89735,34 +90885,11 @@ 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 - - db LAVENDER_TOWN - dw LavenderTownBlocks + (LAVENDER_TOWN_HEIGHT - 3) * LAVENDER_TOWN_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db LAVENDER_TOWN_WIDTH, LAVENDER_TOWN_WIDTH ; bigness, width - db (LAVENDER_TOWN_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + LAVENDER_TOWN_HEIGHT * (LAVENDER_TOWN_WIDTH + 6) ; window - - db ROUTE_13 - dw Route13Blocks + 17 ; connection strip location - dw $C6EB + (ROUTE_12_HEIGHT + 3) * (ROUTE_12_WIDTH + 6) + -3 ; current map position - db $d, ROUTE_13_WIDTH ; bigness, width - db 0, (-20 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_13_WIDTH ; window - - db ROUTE_11 - dw Route11Blocks - 3 + (ROUTE_11_WIDTH) ; connection strip location - dw $C6E8 + (ROUTE_12_WIDTH + 6) * (27 + 3) ; current map position - db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; bigness, width - db (27 * -2), (ROUTE_11_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * ROUTE_11_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION LAVENDER_TOWN, LAVENDER_TOWN_WIDTH, LAVENDER_TOWN_HEIGHT, 0, 0, LAVENDER_TOWN_WIDTH, LavenderTownBlocks + SOUTH_MAP_CONNECTION ROUTE_13, ROUTE_13_WIDTH, -3, 17, ROUTE_13_WIDTH - 17, Route13Blocks, ROUTE_12_WIDTH, ROUTE_12_HEIGHT + WEST_MAP_CONNECTION ROUTE_11, ROUTE_11_WIDTH, 27, 0, ROUTE_11_HEIGHT, Route11Blocks, ROUTE_12_WIDTH dw Route12Object ; objects Route12Object: ; 0x5869a (size=118) @@ -89802,27 +90929,10 @@ 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 - - db FUCHSIA_CITY - dw FuchsiaCityBlocks - 3 + (FUCHSIA_CITY_WIDTH * 2) ; connection strip location - dw $C6E8 + (ROUTE_15_WIDTH + 6) * (-3 + 3) ; current map position - db $f, FUCHSIA_CITY_WIDTH ; bigness, width - db (-4 * -2), (FUCHSIA_CITY_WIDTH * 2) - 1 ; alignments (y, x) - dw $C6EE + 2 * FUCHSIA_CITY_WIDTH ; window - - db ROUTE_14 - dw Route14Blocks + (ROUTE_14_WIDTH * 15) ; connection strip location - dw $C6E5 + (ROUTE_15_WIDTH + 6) * (-3 + 4) ; current map position - db $c, ROUTE_14_WIDTH ; bigness, width - db (-18 * -2), 0 ; alignments (y, x) - dw $C6EF + ROUTE_14_WIDTH ; window - - ; end connections data - + WEST_MAP_CONNECTION FUCHSIA_CITY, FUCHSIA_CITY_WIDTH, -3, 1, FUCHSIA_CITY_HEIGHT - 3, FuchsiaCityBlocks, ROUTE_15_WIDTH + EAST_MAP_CONNECTION ROUTE_14, ROUTE_14_WIDTH, -3, 15, ROUTE_14_HEIGHT - 15, Route14Blocks, ROUTE_15_WIDTH dw Route15Object ; objects Route15Object: ; 0x5894e (size=126) @@ -89862,27 +90972,10 @@ 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 - - db ROUTE_17 - dw Route17Blocks ; connection strip location - dw $C6EB + (ROUTE_16_HEIGHT + 3) * (ROUTE_16_WIDTH + 6) + 0 ; current map position - db ROUTE_17_WIDTH, ROUTE_17_WIDTH ; bigness, width - db 0, (0 * -2) ; alignments (y, x) - dw $C6EF + ROUTE_17_WIDTH ; window - - db CELADON_CITY - dw CeladonCityBlocks + (CELADON_CITY_WIDTH) ; connection strip location - dw $C6E5 + (ROUTE_16_WIDTH + 6) * (-3 + 4) ; current map position - db $f, CELADON_CITY_WIDTH ; bigness, width - db (-4 * -2), 0 ; alignments (y, x) - dw $C6EF + CELADON_CITY_WIDTH ; window - - ; end connections data - + SOUTH_MAP_CONNECTION ROUTE_17, ROUTE_17_WIDTH, 0, 0, ROUTE_17_WIDTH, Route17Blocks, ROUTE_16_WIDTH, ROUTE_16_HEIGHT + EAST_MAP_CONNECTION CELADON_CITY, CELADON_CITY_WIDTH, -3, 1, CELADON_CITY_HEIGHT - 3, CeladonCityBlocks, ROUTE_16_WIDTH dw Route16Object ; objects Route16Object: ; 0x58afc (size=136) @@ -89929,27 +91022,10 @@ 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 - - db ROUTE_17 - dw Route17Blocks + (ROUTE_17_HEIGHT - 3) * ROUTE_17_WIDTH ; connection strip location - dw $C6EB + 0 ; current map position - db ROUTE_17_WIDTH, ROUTE_17_WIDTH ; bigness, width - db (ROUTE_17_HEIGHT * 2) - 1, (0 * -2) ; alignments (y, x) - dw $C6E9 + ROUTE_17_HEIGHT * (ROUTE_17_WIDTH + 6) ; window - - db FUCHSIA_CITY - dw FuchsiaCityBlocks + (FUCHSIA_CITY_WIDTH) ; connection strip location - dw $C6E5 + (ROUTE_18_WIDTH + 6) * (-3 + 4) ; current map position - db $f, FUCHSIA_CITY_WIDTH ; bigness, width - db (-4 * -2), 0 ; alignments (y, x) - dw $C6EF + FUCHSIA_CITY_WIDTH ; window - - ; end connections data - + NORTH_MAP_CONNECTION ROUTE_17, ROUTE_17_WIDTH, ROUTE_17_HEIGHT, 0, 0, ROUTE_17_WIDTH, Route17Blocks + EAST_MAP_CONNECTION FUCHSIA_CITY, FUCHSIA_CITY_WIDTH, -3, 1, FUCHSIA_CITY_HEIGHT - 3, FuchsiaCityBlocks, ROUTE_18_WIDTH dw Route18Object ; objects Route18Object: ; 0x58c5a (size=66) @@ -89979,17 +91055,16 @@ Route18Object: ; 0x58c5a (size=66) Route18Blocks: ; 58c9c (16:4c9c) INCBIN "maps/route18.blk" -INCBIN "baserom.gbc",$58d7d,$58d99 - $58d7d + INCBIN "maps/unusedblocks58d7d.blk" -; known jump sources: 3c0fc (f:40fc) Func_58d99: ; 58d99 (16:4d99) ld a, [W_ISINBATTLE] ; $d057 dec a jr nz, .asm_58dbe ld a, [W_CURMAP] ; $d35e - cp $90 + cp POKEMONTOWER_3 jr c, .asm_58daa - cp $95 + cp LAVENDER_HOUSE_1 jr c, .asm_58dd8 .asm_58daa ld a, [W_ENEMYMONID] @@ -90051,7 +91126,6 @@ Func_58d99: ; 58d99 (16:4d99) ld hl, UnnamedText_58e3b ; $4e3b call PrintText -; known jump sources: 58dbe (16:4dbe) Func_58e29: ; 58e29 (16:4e29) xor a ld [$c0f1], a @@ -90062,43 +91136,36 @@ Func_58e29: ; 58e29 (16:4e29) jp WaitForSoundToFinish asm_58e3a: ; 58e3a (16:4e3a) ret -; 58e3b (16:4e3b) + UnnamedText_58e3b: ; 58e3b (16:4e3b) TX_FAR _UnnamedText_58e3b - db $50 -; 0x58e3b + 5 bytes + db "@" UnnamedText_58e40: ; 58e40 (16:4e40) TX_FAR _UnnamedText_58e40 - db $50 -; 0x58e40 + 5 bytes + db "@" UnnamedText_58e45: ; 58e45 (16:4e45) TX_FAR _UnnamedText_58e45 - db $50 -; 0x58e45 + 5 bytes + db "@" UnnamedText_58e4a: ; 58e4a (16:4e4a) TX_FAR _UnnamedText_58e4a - db $50 -; 0x58e4a + 5 bytes + db "@" UnnamedText_58e4f: ; 58e4f (16:4e4f) TX_FAR _UnnamedText_58e4f - db $50 -; 0x58e4f + 5 bytes + db "@" UnnamedText_58e54: ; 58e54 (16:4e54) TX_FAR _UnnamedText_58e54 - db $50 -; 0x58e54 + 5 bytes + db "@" -; known jump sources: 3cc96 (f:4c96) 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) @@ -90124,59 +91191,119 @@ 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 -; 58ecc (16:4ecc) UnnamedText_58ecc: ; 58ecc (16:4ecc) TX_FAR _UnnamedText_58ecc - db $50 -; 0x58ecc + 5 bytes + db "@" -; known jump sources: 3d1bf (f:51bf) 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 - db $50 -; 0x58f3e + 5 bytes + db "@" -; known jump sources: f64c (3:764c), 55350 (15:5350) Func_58f43: ; 58f43 (16:4f43) ld a, [$cf98] ld [$d0b5], a @@ -90204,7 +91331,6 @@ Func_58f43: ; 58f43 (16:4f43) dec d ret -; known jump sources: de9a (3:5e9a), e88c (3:688c), f431 (3:7431), 12c94 (4:6c94), 55312 (15:5312), 58f4f (16:4f4f) ; calculates the amount of experience needed for level d CalcExperience: ; 58f6a (16:4f6a) ld a, [W_MONHGROWTHRATE] @@ -90310,7 +91436,6 @@ CalcExperience: ; 58f6a (16:4f6a) ld [H_MULTIPLICAND], a ret -; known jump sources: 58f76 (16:4f76), 58f9c (16:4f9c) ; calculates d*d CalcDSquared: ; 59010 (16:5010) xor a @@ -90327,14 +91452,13 @@ 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 - -; no known jump sources + 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 call PrintText @@ -90360,7 +91484,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 @@ -90381,51 +91505,54 @@ Func_59035 ; 0x59035 .asm_5908e ld [$ff00+$db], a ret -; 0x59091 UnnamedText_59091: ; 59091 (16:5091) TX_FAR _UnnamedText_59091 - db $50 -; 0x59091 + 5 bytes + db "@" UnnamedText_59096: ; 59096 (16:5096) TX_FAR _UnnamedText_59096 - db $50 -; 0x59096 + 5 bytes + db "@" UnnamedText_5909b: ; 5909b (16:509b) TX_FAR _UnnamedText_5909b - db $50 -; 0x5909b + 5 bytes + db "@" UnnamedText_590a0: ; 590a0 (16:50a0) TX_FAR _UnnamedText_590a0 - db $50 -; 0x590a0 + 5 bytes + 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 - db $50 -; 0x590ab + 5 bytes + db "@" 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 -; 0x590c3 -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) @@ -90436,7 +91563,6 @@ Route6TrainerHeader0: ; 590d7 (16:50d7) dw Route6AfterBattleText1 ; 0x5134 TextAfterBattle dw Route6EndBattleText1 ; 0x512f TextEndBattle dw Route6EndBattleText1 ; 0x512f TextEndBattle -; 0x590e3 Route6TrainerHeader1: ; 590e3 (16:50e3) db $2 ; flag's bit @@ -90446,7 +91572,6 @@ Route6TrainerHeader1: ; 590e3 (16:50e3) dw Route6AfterBattleText1 ; 0x5134 TextAfterBattle dw Route6EndBattleText2 ; 0x5148 TextEndBattle dw Route6EndBattleText2 ; 0x5148 TextEndBattle -; 0x590ef Route6TrainerHeader2: ; 590ef (16:50ef) db $3 ; flag's bit @@ -90456,7 +91581,6 @@ Route6TrainerHeader2: ; 590ef (16:50ef) dw Route6AfterBattleText3 ; 0x5161 TextAfterBattle dw Route6EndBattleText3 ; 0x515c TextEndBattle dw Route6EndBattleText3 ; 0x515c TextEndBattle -; 0x590fb Route6TrainerHeader3: ; 590fb (16:50fb) db $4 ; flag's bit @@ -90466,7 +91590,6 @@ Route6TrainerHeader3: ; 590fb (16:50fb) dw Route6AfterBattleText4 ; 0x517a TextAfterBattle dw Route6EndBattleText4 ; 0x5175 TextEndBattle dw Route6EndBattleText4 ; 0x5175 TextEndBattle -; 0x59107 Route6TrainerHeader4: ; 59107 (16:5107) db $5 ; flag's bit @@ -90476,7 +91599,6 @@ Route6TrainerHeader4: ; 59107 (16:5107) dw Route6AfterBattleText5 ; 0x5193 TextAfterBattle dw Route6EndBattleText5 ; 0x518e TextEndBattle dw Route6EndBattleText5 ; 0x518e TextEndBattle -; 0x59113 Route6TrainerHeader5: ; 59113 (16:5113) db $6 ; flag's bit @@ -90486,31 +91608,26 @@ Route6TrainerHeader5: ; 59113 (16:5113) dw Route6AfterBattleText6 ; 0x51ac TextAfterBattle dw Route6EndBattleText6 ; 0x51a7 TextEndBattle dw Route6EndBattleText6 ; 0x51a7 TextEndBattle -; 0x5911e -db $ff + db $ff Route6Text1: ; 59120 (16:5120) db $8 ld hl, Route6TrainerHeader0 call TalkToTrainer jp TextScriptEnd -; 0x5912a Route6BattleText1: ; 5912a (16:512a) TX_FAR _Route6BattleText1 - db $50 -; 0x5912a + 5 bytes + db "@" Route6EndBattleText1: ; 5912f (16:512f) TX_FAR _Route6EndBattleText1 - db $50 -; 0x5912f + 5 bytes + db "@" Route6AfterBattleText1: ; 59134 (16:5134) TX_FAR _Route6AfterBattleText1 - db $50 -; 0x59134 + 5 bytes + db "@" Route6Text2: ; 59139 (16:5139) db $08 ; asm @@ -90520,13 +91637,11 @@ Route6Text2: ; 59139 (16:5139) Route6BattleText2: ; 59143 (16:5143) TX_FAR _Route6BattleText2 - db $50 -; 0x59143 + 5 bytes + db "@" Route6EndBattleText2: ; 59148 (16:5148) TX_FAR _Route6EndBattleText2 - db $50 -; 0x59148 + 5 bytes + db "@" Route6Text3: ; 5914d (16:514d) db $08 ; asm @@ -90536,18 +91651,15 @@ Route6Text3: ; 5914d (16:514d) Route6BattleText3: ; 59157 (16:5157) TX_FAR _Route6BattleText3 - db $50 -; 0x59157 + 5 bytes + db "@" Route6EndBattleText3: ; 5915c (16:515c) TX_FAR _Route6EndBattleText3 - db $50 -; 0x5915c + 5 bytes + db "@" Route6AfterBattleText3: ; 59161 (16:5161) TX_FAR _Route6AfterBattleText3 - db $50 -; 0x59161 + 5 bytes + db "@" Route6Text4: ; 59166 (16:5166) db $08 ; asm @@ -90557,18 +91669,15 @@ Route6Text4: ; 59166 (16:5166) Route6BattleText4: ; 59170 (16:5170) TX_FAR _Route6BattleText4 - db $50 -; 0x59170 + 5 bytes + db "@" Route6EndBattleText4: ; 59175 (16:5175) TX_FAR _Route6EndBattleText4 - db $50 -; 0x59175 + 5 bytes + db "@" Route6AfterBattleText4: ; 5917a (16:517a) TX_FAR _Route6AfterBattleText4 - db $50 -; 0x5917a + 5 bytes + db "@" Route6Text5: ; 5917f (16:517f) db $08 ; asm @@ -90578,18 +91687,15 @@ Route6Text5: ; 5917f (16:517f) Route6BattleText5: ; 59189 (16:5189) TX_FAR _Route6BattleText5 - db $50 -; 0x59189 + 5 bytes + db "@" Route6EndBattleText5: ; 5918e (16:518e) TX_FAR _Route6EndBattleText5 - db $50 -; 0x5918e + 5 bytes + db "@" Route6AfterBattleText5: ; 59193 (16:5193) TX_FAR _Route6AfterBattleText5 - db $50 -; 0x59193 + 5 bytes + db "@" Route6Text6: ; 59198 (16:5198) db $08 ; asm @@ -90599,38 +91705,45 @@ Route6Text6: ; 59198 (16:5198) Route6BattleText6: ; 591a2 (16:51a2) TX_FAR _Route6BattleText6 - db $50 -; 0x591a2 + 5 bytes + db "@" Route6EndBattleText6: ; 591a7 (16:51a7) TX_FAR _Route6EndBattleText6 - db $50 -; 0x591a7 + 5 bytes + db "@" Route6AfterBattleText6: ; 591ac (16:51ac) TX_FAR _Route6AfterBattleText6 - db $50 -; 0x591ac + 5 bytes + db "@" Route6Text7: ; 591b1 (16:51b1) TX_FAR _Route6Text7 - db $50 + db "@" 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 -; 0x591c9 -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) @@ -90641,7 +91754,6 @@ Route8TrainerHeader0: ; 591e3 (16:51e3) dw Route8AfterBattleText1 ; 0x5264 TextAfterBattle dw Route8EndBattleText1 ; 0x525f TextEndBattle dw Route8EndBattleText1 ; 0x525f TextEndBattle -; 0x591ef Route8TrainerHeader1: ; 591ef (16:51ef) db $2 ; flag's bit @@ -90651,7 +91763,6 @@ Route8TrainerHeader1: ; 591ef (16:51ef) dw Route8AfterBattleText2 ; 0x527d TextAfterBattle dw Route8EndBattleText2 ; 0x5278 TextEndBattle dw Route8EndBattleText2 ; 0x5278 TextEndBattle -; 0x591fb Route8TrainerHeader2: ; 591fb (16:51fb) db $3 ; flag's bit @@ -90661,7 +91772,6 @@ Route8TrainerHeader2: ; 591fb (16:51fb) dw Route8AfterBattleText3 ; 0x5296 TextAfterBattle dw Route8EndBattleText3 ; 0x5291 TextEndBattle dw Route8EndBattleText3 ; 0x5291 TextEndBattle -; 0x59207 Route8TrainerHeader3: ; 59207 (16:5207) db $4 ; flag's bit @@ -90671,7 +91781,6 @@ Route8TrainerHeader3: ; 59207 (16:5207) dw Route8AfterBattleText4 ; 0x52af TextAfterBattle dw Route8EndBattleText4 ; 0x52aa TextEndBattle dw Route8EndBattleText4 ; 0x52aa TextEndBattle -; 0x59213 Route8TrainerHeader4: ; 59213 (16:5213) db $5 ; flag's bit @@ -90681,7 +91790,6 @@ Route8TrainerHeader4: ; 59213 (16:5213) dw Route8AfterBattleText5 ; 0x52c8 TextAfterBattle dw Route8EndBattleText5 ; 0x52c3 TextEndBattle dw Route8EndBattleText5 ; 0x52c3 TextEndBattle -; 0x5921f Route8TrainerHeader5: ; 5921f (16:521f) db $6 ; flag's bit @@ -90691,7 +91799,6 @@ Route8TrainerHeader5: ; 5921f (16:521f) dw Route8AfterBattleText6 ; 0x52e1 TextAfterBattle dw Route8EndBattleText6 ; 0x52dc TextEndBattle dw Route8EndBattleText6 ; 0x52dc TextEndBattle -; 0x5922b Route8TrainerHeader6: ; 5922b (16:522b) db $7 ; flag's bit @@ -90701,7 +91808,6 @@ Route8TrainerHeader6: ; 5922b (16:522b) dw Route8AfterBattleText7 ; 0x52fa TextAfterBattle dw Route8EndBattleText7 ; 0x52f5 TextEndBattle dw Route8EndBattleText7 ; 0x52f5 TextEndBattle -; 0x59237 Route8TrainerHeader7: ; 59237 (16:5237) db $8 ; flag's bit @@ -90711,7 +91817,6 @@ Route8TrainerHeader7: ; 59237 (16:5237) dw Route8AfterBattleText8 ; 0x5313 TextAfterBattle dw Route8EndBattleText8 ; 0x530e TextEndBattle dw Route8EndBattleText8 ; 0x530e TextEndBattle -; 0x59243 Route8TrainerHeader8: ; 59243 (16:5243) db $9 ; flag's bit @@ -90721,31 +91826,26 @@ Route8TrainerHeader8: ; 59243 (16:5243) dw Route8AfterBattleText9 ; 0x532c TextAfterBattle dw Route8EndBattleText9 ; 0x5327 TextEndBattle dw Route8EndBattleText9 ; 0x5327 TextEndBattle -; 0x5924e -db $ff + db $ff Route8Text1: ; 59250 (16:5250) db $8 ld hl, Route8TrainerHeader0 call TalkToTrainer jp TextScriptEnd -; 0x5925a Route8BattleText1: ; 5925a (16:525a) TX_FAR _Route8BattleText1 - db $50 -; 0x5925f + db "@" Route8EndBattleText1: ; 5925f (16:525f) TX_FAR _Route8EndBattleText1 - db $50 -; 0x5925f + 5 bytes + db "@" Route8AfterBattleText1: ; 59264 (16:5264) TX_FAR _Route8AfterBattleText1 - db $50 -; 0x59264 + 5 bytes + db "@" Route8Text2: ; 59269 (16:5269) db $08 ; asm @@ -90755,18 +91855,15 @@ Route8Text2: ; 59269 (16:5269) Route8BattleText2: ; 59273 (16:5273) TX_FAR _Route8BattleText2 - db $50 -; 0x59273 + 5 bytes + db "@" Route8EndBattleText2: ; 59278 (16:5278) TX_FAR _Route8EndBattleText2 - db $50 -; 0x59278 + 5 bytes + db "@" Route8AfterBattleText2: ; 5927d (16:527d) TX_FAR _Route8AfterBattleText2 - db $50 -; 0x5927d + 5 bytes + db "@" Route8Text3: ; 59282 (16:5282) db $08 ; asm @@ -90776,18 +91873,15 @@ Route8Text3: ; 59282 (16:5282) Route8BattleText3: ; 5928c (16:528c) TX_FAR _Route8BattleText3 - db $50 -; 0x5928c + 5 bytes + db "@" Route8EndBattleText3: ; 59291 (16:5291) TX_FAR _Route8EndBattleText3 - db $50 -; 0x59291 + 5 bytes + db "@" Route8AfterBattleText3: ; 59296 (16:5296) TX_FAR _Route8AfterBattleText3 - db $50 -; 0x59296 + 5 bytes + db "@" Route8Text4: ; 5929b (16:529b) db $08 ; asm @@ -90797,18 +91891,15 @@ Route8Text4: ; 5929b (16:529b) Route8BattleText4: ; 592a5 (16:52a5) TX_FAR _Route8BattleText4 - db $50 -; 0x592a5 + 5 bytes + db "@" Route8EndBattleText4: ; 592aa (16:52aa) TX_FAR _Route8EndBattleText4 - db $50 -; 0x592aa + 5 bytes + db "@" Route8AfterBattleText4: ; 592af (16:52af) TX_FAR _Route8AfterBattleText4 - db $50 -; 0x592af + 5 bytes + db "@" Route8Text5: ; 592b4 (16:52b4) db $08 ; asm @@ -90818,18 +91909,15 @@ Route8Text5: ; 592b4 (16:52b4) Route8BattleText5: ; 592be (16:52be) TX_FAR _Route8BattleText5 - db $50 -; 0x592be + 5 bytes + db "@" Route8EndBattleText5: ; 592c3 (16:52c3) TX_FAR _Route8EndBattleText5 - db $50 -; 0x592c3 + 5 bytes + db "@" Route8AfterBattleText5: ; 592c8 (16:52c8) TX_FAR _Route8AfterBattleText5 - db $50 -; 0x592c8 + 5 bytes + db "@" Route8Text6: ; 592cd (16:52cd) db $08 ; asm @@ -90839,18 +91927,15 @@ Route8Text6: ; 592cd (16:52cd) Route8BattleText6: ; 592d7 (16:52d7) TX_FAR _Route8BattleText6 - db $50 -; 0x592d7 + 5 bytes + db "@" Route8EndBattleText6: ; 592dc (16:52dc) TX_FAR _Route8EndBattleText6 - db $50 -; 0x592dc + 5 bytes + db "@" Route8AfterBattleText6: ; 592e1 (16:52e1) TX_FAR _Route8AfterBattleText6 - db $50 -; 0x592e1 + 5 bytes + db "@" Route8Text7: ; 592e6 (16:52e6) db $08 ; asm @@ -90860,18 +91945,15 @@ Route8Text7: ; 592e6 (16:52e6) Route8BattleText7: ; 592f0 (16:52f0) TX_FAR _Route8BattleText7 - db $50 -; 0x592f0 + 5 bytes + db "@" Route8EndBattleText7: ; 592f5 (16:52f5) TX_FAR _Route8EndBattleText7 - db $50 -; 0x592f5 + 5 bytes + db "@" Route8AfterBattleText7: ; 592fa (16:52fa) TX_FAR _Route8AfterBattleText7 - db $50 -; 0x592fa + 5 bytes + db "@" Route8Text8: ; 592ff (16:52ff) db $08 ; asm @@ -90881,18 +91963,15 @@ Route8Text8: ; 592ff (16:52ff) Route8BattleText8: ; 59309 (16:5309) TX_FAR _Route8BattleText8 - db $50 -; 0x59309 + 5 bytes + db "@" Route8EndBattleText8: ; 5930e (16:530e) TX_FAR _Route8EndBattleText8 - db $50 -; 0x5930e + 5 bytes + db "@" Route8AfterBattleText8: ; 59313 (16:5313) TX_FAR _Route8AfterBattleText8 - db $50 -; 0x59313 + 5 bytes + db "@" Route8Text9: ; 59318 (16:5318) db $08 ; asm @@ -90902,38 +91981,45 @@ Route8Text9: ; 59318 (16:5318) Route8BattleText9: ; 59322 (16:5322) TX_FAR _Route8BattleText9 - db $50 -; 0x59322 + 5 bytes + db "@" Route8EndBattleText9: ; 59327 (16:5327) TX_FAR _Route8EndBattleText9 - db $50 -; 0x59327 + 5 bytes + db "@" Route8AfterBattleText9: ; 5932c (16:532c) TX_FAR _Route8AfterBattleText9 - db $50 -; 0x5932c + 5 bytes + db "@" Route8Text10: ; 59331 (16:5331) TX_FAR _Route8Text10 - db $50 + db "@" 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 -; 0x59349 -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) @@ -90944,7 +92030,6 @@ Route10TrainerHeader0: ; 59363 (16:5363) dw Route10AfterBattleText1 ; 0x53c0 TextAfterBattle dw Route10EndBattleText1 ; 0x53bb TextEndBattle dw Route10EndBattleText1 ; 0x53bb TextEndBattle -; 0x5936f Route10TrainerHeader1: ; 5936f (16:536f) db $2 ; flag's bit @@ -90954,7 +92039,6 @@ Route10TrainerHeader1: ; 5936f (16:536f) dw Route10AfterBattleText2 ; 0x53d9 TextAfterBattle dw Route10EndBattleText2 ; 0x53d4 TextEndBattle dw Route10EndBattleText2 ; 0x53d4 TextEndBattle -; 0x5937b Route10TrainerHeader2: ; 5937b (16:537b) db $3 ; flag's bit @@ -90964,7 +92048,6 @@ Route10TrainerHeader2: ; 5937b (16:537b) dw Route10AfterBattleText3 ; 0x53f2 TextAfterBattle dw Route10EndBattleText3 ; 0x53ed TextEndBattle dw Route10EndBattleText3 ; 0x53ed TextEndBattle -; 0x59387 Route10TrainerHeader3: ; 59387 (16:5387) db $4 ; flag's bit @@ -90974,7 +92057,6 @@ Route10TrainerHeader3: ; 59387 (16:5387) dw Route10AfterBattleText4 ; 0x540b TextAfterBattle dw Route10EndBattleText4 ; 0x5406 TextEndBattle dw Route10EndBattleText4 ; 0x5406 TextEndBattle -; 0x59393 Route10TrainerHeader4: ; 59393 (16:5393) db $5 ; flag's bit @@ -90984,7 +92066,6 @@ Route10TrainerHeader4: ; 59393 (16:5393) dw Route10AfterBattleText5 ; 0x5424 TextAfterBattle dw Route10EndBattleText5 ; 0x541f TextEndBattle dw Route10EndBattleText5 ; 0x541f TextEndBattle -; 0x5939f Route10TrainerHeader5: ; 5939f (16:539f) db $6 ; flag's bit @@ -90994,9 +92075,8 @@ Route10TrainerHeader5: ; 5939f (16:539f) dw Route10AfterBattleText6 ; 0x543d TextAfterBattle dw Route10EndBattleText6 ; 0x5438 TextEndBattle dw Route10EndBattleText6 ; 0x5438 TextEndBattle -; 0x593ab -db $ff + db $ff Route10Text1: ; 593ac (16:53ac) db $08 ; asm @@ -91006,18 +92086,15 @@ Route10Text1: ; 593ac (16:53ac) Route10BattleText1: ; 593b6 (16:53b6) TX_FAR _Route10BattleText1 - db $50 -; 0x593b6 + 5 bytes + db "@" Route10EndBattleText1: ; 593bb (16:53bb) TX_FAR _Route10EndBattleText1 - db $50 -; 0x593bb + 5 bytes + db "@" Route10AfterBattleText1: ; 593c0 (16:53c0) TX_FAR _Route10AfterBattleText1 - db $50 -; 0x593c0 + 5 bytes + db "@" Route10Text2: ; 593c5 (16:53c5) db $08 ; asm @@ -91027,18 +92104,15 @@ Route10Text2: ; 593c5 (16:53c5) Route10BattleText2: ; 593cf (16:53cf) TX_FAR _Route10BattleText2 - db $50 -; 0x593cf + 5 bytes + db "@" Route10EndBattleText2: ; 593d4 (16:53d4) TX_FAR _Route10EndBattleText2 - db $50 -; 0x593d4 + 5 bytes + db "@" Route10AfterBattleText2: ; 593d9 (16:53d9) TX_FAR _Route10AfterBattleText2 - db $50 -; 0x593d9 + 5 bytes + db "@" Route10Text3: ; 593de (16:53de) db $08 ; asm @@ -91048,18 +92122,15 @@ Route10Text3: ; 593de (16:53de) Route10BattleText3: ; 593e8 (16:53e8) TX_FAR _Route10BattleText3 - db $50 -; 0x593e8 + 5 bytes + db "@" Route10EndBattleText3: ; 593ed (16:53ed) TX_FAR _Route10EndBattleText3 - db $50 -; 0x593ed + 5 bytes + db "@" Route10AfterBattleText3: ; 593f2 (16:53f2) TX_FAR _Route10AfterBattleText3 - db $50 -; 0x593f2 + 5 bytes + db "@" Route10Text4: ; 593f7 (16:53f7) db $08 ; asm @@ -91069,18 +92140,15 @@ Route10Text4: ; 593f7 (16:53f7) Route10BattleText4: ; 59401 (16:5401) TX_FAR _Route10BattleText4 - db $50 -; 0x59401 + 5 bytes + db "@" Route10EndBattleText4: ; 59406 (16:5406) TX_FAR _Route10EndBattleText4 - db $50 -; 0x59406 + 5 bytes + db "@" Route10AfterBattleText4: ; 5940b (16:540b) TX_FAR _Route10AfterBattleText4 - db $50 -; 0x5940b + 5 bytes + db "@" Route10Text5: ; 59410 (16:5410) db $08 ; asm @@ -91090,18 +92158,15 @@ Route10Text5: ; 59410 (16:5410) Route10BattleText5: ; 5941a (16:541a) TX_FAR _Route10BattleText5 - db $50 -; 0x5941a + 5 bytes + db "@" Route10EndBattleText5: ; 5941f (16:541f) TX_FAR _Route10EndBattleText5 - db $50 -; 0x5941f + 5 bytes + db "@" Route10AfterBattleText5: ; 59424 (16:5424) TX_FAR _Route10AfterBattleText5 - db $50 -; 0x59424 + 5 bytes + db "@" Route10Text6: ; 59429 (16:5429) db $08 ; asm @@ -91111,45 +92176,51 @@ Route10Text6: ; 59429 (16:5429) Route10BattleText6: ; 59433 (16:5433) TX_FAR _Route10BattleText6 - db $50 -; 0x59433 + 5 bytes + db "@" Route10EndBattleText6: ; 59438 (16:5438) TX_FAR _Route10EndBattleText6 - db $50 -; 0x59438 + 5 bytes + db "@" Route10AfterBattleText6: ; 5943d (16:543d) TX_FAR _Route10AfterBattleText6 - db $50 -; 0x5943d + 5 bytes + db "@" Route10Text9: ; 59442 (16:5442) Route10Text7: ; 59442 (16:5442) TX_FAR _Route10Text7 ; _Route10Text9 - db $50 + db "@" Route10Text10: ; 59447 (16:5447) TX_FAR _Route10Text10 - db $50 + db "@" 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 -; 0x5945f -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) @@ -91160,7 +92231,6 @@ Route11TrainerHeader0: ; 5947b (16:547b) dw Route11AfterBattleText1 ; 0x5508 TextAfterBattle dw Route11EndBattleText1 ; 0x5503 TextEndBattle dw Route11EndBattleText1 ; 0x5503 TextEndBattle -; 0x59487 Route11TrainerHeader1: ; 59487 (16:5487) db $2 ; flag's bit @@ -91170,7 +92240,6 @@ Route11TrainerHeader1: ; 59487 (16:5487) dw Route11AfterBattleText2 ; 0x5521 TextAfterBattle dw Route11EndBattleText2 ; 0x551c TextEndBattle dw Route11EndBattleText2 ; 0x551c TextEndBattle -; 0x59493 Route11TrainerHeader2: ; 59493 (16:5493) db $3 ; flag's bit @@ -91180,7 +92249,6 @@ Route11TrainerHeader2: ; 59493 (16:5493) dw Route11AfterBattleText3 ; 0x553a TextAfterBattle dw Route11EndBattleText3 ; 0x5535 TextEndBattle dw Route11EndBattleText3 ; 0x5535 TextEndBattle -; 0x5949f Route11TrainerHeader3: ; 5949f (16:549f) db $4 ; flag's bit @@ -91190,7 +92258,6 @@ Route11TrainerHeader3: ; 5949f (16:549f) dw Route11AfterBattleText4 ; 0x5553 TextAfterBattle dw Route11EndBattleText4 ; 0x554e TextEndBattle dw Route11EndBattleText4 ; 0x554e TextEndBattle -; 0x594ab Route11TrainerHeader4: ; 594ab (16:54ab) db $5 ; flag's bit @@ -91200,7 +92267,6 @@ Route11TrainerHeader4: ; 594ab (16:54ab) dw Route11AfterBattleText5 ; 0x556c TextAfterBattle dw Route11EndBattleText5 ; 0x5567 TextEndBattle dw Route11EndBattleText5 ; 0x5567 TextEndBattle -; 0x594b7 Route11TrainerHeader5: ; 594b7 (16:54b7) db $6 ; flag's bit @@ -91210,7 +92276,6 @@ Route11TrainerHeader5: ; 594b7 (16:54b7) dw Route11AfterBattleText6 ; 0x5585 TextAfterBattle dw Route11EndBattleText6 ; 0x5580 TextEndBattle dw Route11EndBattleText6 ; 0x5580 TextEndBattle -; 0x594c3 Route11TrainerHeader6: ; 594c3 (16:54c3) db $7 ; flag's bit @@ -91220,7 +92285,6 @@ Route11TrainerHeader6: ; 594c3 (16:54c3) dw Route11AfterBattleText7 ; 0x559e TextAfterBattle dw Route11EndBattleText7 ; 0x5599 TextEndBattle dw Route11EndBattleText7 ; 0x5599 TextEndBattle -; 0x594cf Route11TrainerHeader7: ; 594cf (16:54cf) db $8 ; flag's bit @@ -91230,7 +92294,6 @@ Route11TrainerHeader7: ; 594cf (16:54cf) dw Route11AfterBattleText8 ; 0x55b7 TextAfterBattle dw Route11EndBattleText8 ; 0x55b2 TextEndBattle dw Route11EndBattleText8 ; 0x55b2 TextEndBattle -; 0x594db Route11TrainerHeader8: ; 594db (16:54db) db $9 ; flag's bit @@ -91240,7 +92303,6 @@ Route11TrainerHeader8: ; 594db (16:54db) dw Route11AfterBattleText9 ; 0x55d0 TextAfterBattle dw Route11EndBattleText9 ; 0x55cb TextEndBattle dw Route11EndBattleText9 ; 0x55cb TextEndBattle -; 0x594e7 Route11TrainerHeader9: ; 594e7 (16:54e7) db $a ; flag's bit @@ -91250,31 +92312,26 @@ Route11TrainerHeader9: ; 594e7 (16:54e7) dw Route11AfterBattleText10 ; 0x55e9 TextAfterBattle dw Route11EndBattleText10 ; 0x55e4 TextEndBattle dw Route11EndBattleText10 ; 0x55e4 TextEndBattle -; 0x594f3 -db $ff + db $ff -UnnamedText_594f4: ; 594f4 (16:54f4) +Route11Text1: ; 594f4 (16:54f4) db $8 ld hl, Route11TrainerHeader0 call TalkToTrainer jp TextScriptEnd -; 0x594fe Route11BattleText1: ; 594fe (16:54fe) TX_FAR _Route11BattleText1 - db $50 -; 0x594fe + 5 bytes + db "@" Route11EndBattleText1: ; 59503 (16:5503) TX_FAR _Route11EndBattleText1 - db $50 -; 0x59503 + 5 bytes + db "@" Route11AfterBattleText1: ; 59508 (16:5508) TX_FAR _Route11AfterBattleText1 - db $50 -; 0x59508 + 5 bytes + db "@" Route11Text2: ; 5950d (16:550d) db $08 ; asm @@ -91284,18 +92341,15 @@ Route11Text2: ; 5950d (16:550d) Route11BattleText2: ; 59517 (16:5517) TX_FAR _Route11BattleText2 - db $50 -; 0x59517 + 5 bytes + db "@" Route11EndBattleText2: ; 5951c (16:551c) TX_FAR _Route11EndBattleText2 - db $50 -; 0x5951c + 5 bytes + db "@" Route11AfterBattleText2: ; 59521 (16:5521) TX_FAR _Route11AfterBattleText2 - db $50 -; 0x59521 + 5 bytes + db "@" Route11Text3: ; 59526 (16:5526) db $08 ; asm @@ -91305,18 +92359,15 @@ Route11Text3: ; 59526 (16:5526) Route11BattleText3: ; 59530 (16:5530) TX_FAR _Route11BattleText3 - db $50 -; 0x59530 + 5 bytes + db "@" Route11EndBattleText3: ; 59535 (16:5535) TX_FAR _Route11EndBattleText3 - db $50 -; 0x59535 + 5 bytes + db "@" Route11AfterBattleText3: ; 5953a (16:553a) TX_FAR _Route11AfterBattleText3 - db $50 -; 0x5953a + 5 bytes + db "@" Route11Text4: ; 5953f (16:553f) db $08 ; asm @@ -91326,18 +92377,15 @@ Route11Text4: ; 5953f (16:553f) Route11BattleText4: ; 59549 (16:5549) TX_FAR _Route11BattleText4 - db $50 -; 0x59549 + 5 bytes + db "@" Route11EndBattleText4: ; 5954e (16:554e) TX_FAR _Route11EndBattleText4 - db $50 -; 0x5954e + 5 bytes + db "@" Route11AfterBattleText4: ; 59553 (16:5553) TX_FAR _Route11AfterBattleText4 - db $50 -; 0x59553 + 5 bytes + db "@" Route11Text5: ; 59558 (16:5558) db $08 ; asm @@ -91347,18 +92395,15 @@ Route11Text5: ; 59558 (16:5558) Route11BattleText5: ; 59562 (16:5562) TX_FAR _Route11BattleText5 - db $50 -; 0x59562 + 5 bytes + db "@" Route11EndBattleText5: ; 59567 (16:5567) TX_FAR _Route11EndBattleText5 - db $50 -; 0x59567 + 5 bytes + db "@" Route11AfterBattleText5: ; 5956c (16:556c) TX_FAR _Route11AfterBattleText5 - db $50 -; 0x5956c + 5 bytes + db "@" Route11Text6: ; 59571 (16:5571) db $08 ; asm @@ -91368,18 +92413,15 @@ Route11Text6: ; 59571 (16:5571) Route11BattleText6: ; 5957b (16:557b) TX_FAR _Route11BattleText6 - db $50 -; 0x5957b + 5 bytes + db "@" Route11EndBattleText6: ; 59580 (16:5580) TX_FAR _Route11EndBattleText6 - db $50 -; 0x59580 + 5 bytes + db "@" Route11AfterBattleText6: ; 59585 (16:5585) TX_FAR _Route11AfterBattleText6 - db $50 -; 0x59585 + 5 bytes + db "@" Route11Text7: ; 5958a (16:558a) db $08 ; asm @@ -91389,18 +92431,15 @@ Route11Text7: ; 5958a (16:558a) Route11BattleText7: ; 59594 (16:5594) TX_FAR _Route11BattleText7 - db $50 -; 0x59594 + 5 bytes + db "@" Route11EndBattleText7: ; 59599 (16:5599) TX_FAR _Route11EndBattleText7 - db $50 -; 0x59599 + 5 bytes + db "@" Route11AfterBattleText7: ; 5959e (16:559e) TX_FAR _Route11AfterBattleText7 - db $50 -; 0x5959e + 5 bytes + db "@" Route11Text8: ; 595a3 (16:55a3) db $08 ; asm @@ -91410,18 +92449,15 @@ Route11Text8: ; 595a3 (16:55a3) Route11BattleText8: ; 595ad (16:55ad) TX_FAR _Route11BattleText8 - db $50 -; 0x595ad + 5 bytes + db "@" Route11EndBattleText8: ; 595b2 (16:55b2) TX_FAR _Route11EndBattleText8 - db $50 -; 0x595b2 + 5 bytes + db "@" Route11AfterBattleText8: ; 595b7 (16:55b7) TX_FAR _Route11AfterBattleText8 - db $50 -; 0x595b7 + 5 bytes + db "@" Route11Text9: ; 595bc (16:55bc) db $08 ; asm @@ -91431,18 +92467,15 @@ Route11Text9: ; 595bc (16:55bc) Route11BattleText9: ; 595c6 (16:55c6) TX_FAR _Route11BattleText9 - db $50 -; 0x595c6 + 5 bytes + db "@" Route11EndBattleText9: ; 595cb (16:55cb) TX_FAR _Route11EndBattleText9 - db $50 -; 0x595cb + 5 bytes + db "@" Route11AfterBattleText9: ; 595d0 (16:55d0) TX_FAR _Route11AfterBattleText9 - db $50 -; 0x595d0 + 5 bytes + db "@" Route11Text10: ; 595d5 (16:55d5) db $08 ; asm @@ -91452,41 +92485,43 @@ Route11Text10: ; 595d5 (16:55d5) Route11BattleText10: ; 595df (16:55df) TX_FAR _Route11BattleText10 - db $50 -; 0x595df + 5 bytes + db "@" Route11EndBattleText10: ; 595e4 (16:55e4) TX_FAR _Route11EndBattleText10 - db $50 -; 0x595e4 + 5 bytes + db "@" Route11AfterBattleText10: ; 595e9 (16:55e9) TX_FAR _Route11AfterBattleText10 - db $50 -; 0x595e9 + 5 bytes + db "@" Route11Text11: ; 595ee (16:55ee) TX_FAR _Route11Text11 - db $50 + db "@" 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 @@ -91508,9 +92543,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 @@ -91526,9 +92563,22 @@ INCBIN "baserom.gbc",$59611,$59619 - $59611 ld [W_ROUTE12CURSCRIPT], a ld [W_CURMAPSCRIPT], a ret -; 59675 (16:5675) -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) @@ -91539,7 +92589,6 @@ Route12TrainerHeader0: ; 59691 (16:5691) dw Route12AfterBattleText1 ; 0x5709 TextAfterBattle dw Route12EndBattleText1 ; 0x5704 TextEndBattle dw Route12EndBattleText1 ; 0x5704 TextEndBattle -; 0x5969d Route12TrainerHeader1: ; 5969d (16:569d) db $3 ; flag's bit @@ -91549,7 +92598,6 @@ Route12TrainerHeader1: ; 5969d (16:569d) dw Route12AfterBattleText2 ; 0x5722 TextAfterBattle dw Route12EndBattleText2 ; 0x571d TextEndBattle dw Route12EndBattleText2 ; 0x571d TextEndBattle -; 0x596a9 Route12TrainerHeader2: ; 596a9 (16:56a9) db $4 ; flag's bit @@ -91559,7 +92607,6 @@ Route12TrainerHeader2: ; 596a9 (16:56a9) dw Route12AfterBattleText3 ; 0x573b TextAfterBattle dw Route12EndBattleText3 ; 0x5736 TextEndBattle dw Route12EndBattleText3 ; 0x5736 TextEndBattle -; 0x596b5 Route12TrainerHeader3: ; 596b5 (16:56b5) db $5 ; flag's bit @@ -91569,7 +92616,6 @@ Route12TrainerHeader3: ; 596b5 (16:56b5) dw Route12AfterBattleText4 ; 0x5754 TextAfterBattle dw Route12EndBattleText4 ; 0x574f TextEndBattle dw Route12EndBattleText4 ; 0x574f TextEndBattle -; 0x596c1 Route12TrainerHeader4: ; 596c1 (16:56c1) db $6 ; flag's bit @@ -91579,7 +92625,6 @@ Route12TrainerHeader4: ; 596c1 (16:56c1) dw Route12AfterBattleText5 ; 0x576d TextAfterBattle dw Route12EndBattleText5 ; 0x5768 TextEndBattle dw Route12EndBattleText5 ; 0x5768 TextEndBattle -; 0x596cd Route12TrainerHeader5: ; 596cd (16:56cd) db $7 ; flag's bit @@ -91589,7 +92634,6 @@ Route12TrainerHeader5: ; 596cd (16:56cd) dw Route12AfterBattleText6 ; 0x5786 TextAfterBattle dw Route12EndBattleText6 ; 0x5781 TextEndBattle dw Route12EndBattleText6 ; 0x5781 TextEndBattle -; 0x596d9 Route12TrainerHeader6: ; 596d9 (16:56d9) db $8 ; flag's bit @@ -91599,25 +92643,22 @@ Route12TrainerHeader6: ; 596d9 (16:56d9) dw Route12AfterBattleText7 ; 0x579f TextAfterBattle dw Route12EndBattleText7 ; 0x579a TextEndBattle dw Route12EndBattleText7 ; 0x579a TextEndBattle -; 0x596e5 -db $ff + db $ff Route12Text1: ; 596e6 (16:56e6) TX_FAR _Route12Text1 - db $50 + db "@" Route12Text13: ; 596eb (16:56eb) UnnamedText_596eb: ; 596eb (16:56eb) TX_FAR _UnnamedText_596eb - db $50 -; 0x596eb + 5 bytes + db "@" Route12Text14: ; 596f0 (16:56f0) UnnamedText_596f0: ; 596f0 (16:56f0) TX_FAR _UnnamedText_596f0 - db $50 -; 0x596f0 + 5 bytes + db "@" Route12Text2: ; 596f5 (16:56f5) db $08 ; asm @@ -91627,18 +92668,15 @@ Route12Text2: ; 596f5 (16:56f5) Route12BattleText1: ; 596ff (16:56ff) TX_FAR _Route12BattleText1 - db $50 -; 0x596ff + 5 bytes + db "@" Route12EndBattleText1: ; 59704 (16:5704) TX_FAR _Route12EndBattleText1 - db $50 -; 0x59704 + 5 bytes + db "@" Route12AfterBattleText1: ; 59709 (16:5709) TX_FAR _Route12AfterBattleText1 - db $50 -; 0x59709 + 5 bytes + db "@" Route12Text3: ; 5970e (16:570e) db $08 ; asm @@ -91648,18 +92686,15 @@ Route12Text3: ; 5970e (16:570e) Route12BattleText2: ; 59718 (16:5718) TX_FAR _Route12BattleText2 - db $50 -; 0x59718 + 5 bytes + db "@" Route12EndBattleText2: ; 5971d (16:571d) TX_FAR _Route12EndBattleText2 - db $50 -; 0x5971d + 5 bytes + db "@" Route12AfterBattleText2: ; 59722 (16:5722) TX_FAR _Route12AfterBattleText2 - db $50 -; 0x59722 + 5 bytes + db "@" Route12Text4: ; 59727 (16:5727) db $08 ; asm @@ -91669,18 +92704,15 @@ Route12Text4: ; 59727 (16:5727) Route12BattleText3: ; 59731 (16:5731) TX_FAR _Route12BattleText3 - db $50 -; 0x59731 + 5 bytes + db "@" Route12EndBattleText3: ; 59736 (16:5736) TX_FAR _Route12EndBattleText3 - db $50 -; 0x59736 + 5 bytes + db "@" Route12AfterBattleText3: ; 5973b (16:573b) TX_FAR _Route12AfterBattleText3 - db $50 -; 0x5973b + 5 bytes + db "@" Route12Text5: ; 59740 (16:5740) db $08 ; asm @@ -91690,18 +92722,15 @@ Route12Text5: ; 59740 (16:5740) Route12BattleText4: ; 5974a (16:574a) TX_FAR _Route12BattleText4 - db $50 -; 0x5974a + 5 bytes + db "@" Route12EndBattleText4: ; 5974f (16:574f) TX_FAR _Route12EndBattleText4 - db $50 -; 0x5974f + 5 bytes + db "@" Route12AfterBattleText4: ; 59754 (16:5754) TX_FAR _Route12AfterBattleText4 - db $50 -; 0x59754 + 5 bytes + db "@" Route12Text6: ; 59759 (16:5759) db $08 ; asm @@ -91711,18 +92740,15 @@ Route12Text6: ; 59759 (16:5759) Route12BattleText5: ; 59763 (16:5763) TX_FAR _Route12BattleText5 - db $50 -; 0x59763 + 5 bytes + db "@" Route12EndBattleText5: ; 59768 (16:5768) TX_FAR _Route12EndBattleText5 - db $50 -; 0x59768 + 5 bytes + db "@" Route12AfterBattleText5: ; 5976d (16:576d) TX_FAR _Route12AfterBattleText5 - db $50 -; 0x5976d + 5 bytes + db "@" Route12Text7: ; 59772 (16:5772) db $08 ; asm @@ -91732,18 +92758,15 @@ Route12Text7: ; 59772 (16:5772) Route12BattleText6: ; 5977c (16:577c) TX_FAR _Route12BattleText6 - db $50 -; 0x5977c + 5 bytes + db "@" Route12EndBattleText6: ; 59781 (16:5781) TX_FAR _Route12EndBattleText6 - db $50 -; 0x59781 + 5 bytes + db "@" Route12AfterBattleText6: ; 59786 (16:5786) TX_FAR _Route12AfterBattleText6 - db $50 -; 0x59786 + 5 bytes + db "@" Route12Text8: ; 5978b (16:578b) db $08 ; asm @@ -91753,42 +92776,51 @@ Route12Text8: ; 5978b (16:578b) Route12BattleText7: ; 59795 (16:5795) TX_FAR _Route12BattleText7 - db $50 -; 0x59795 + 5 bytes + db "@" Route12EndBattleText7: ; 5979a (16:579a) TX_FAR _Route12EndBattleText7 - db $50 -; 0x5979a + 5 bytes + db "@" Route12AfterBattleText7: ; 5979f (16:579f) TX_FAR _Route12AfterBattleText7 - db $50 -; 0x5979f + 5 bytes + db "@" Route12Text11: ; 597a4 (16:57a4) TX_FAR _Route12Text11 - db $50 + db "@" Route12Text12: ; 597a9 (16:57a9) TX_FAR _Route12Text12 - db $50 + db "@" 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 -; 0x597c1 -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) @@ -91799,7 +92831,6 @@ Route15TrainerHeader0: ; 597df (16:57df) dw Route15AfterBattleText1 ; 0x58a2 TextAfterBattle dw Route15EndBattleText1 ; 0x589d TextEndBattle dw Route15EndBattleText1 ; 0x589d TextEndBattle -; 0x597eb Route15TrainerHeader1: ; 597eb (16:57eb) db $2 ; flag's bit @@ -91809,7 +92840,6 @@ Route15TrainerHeader1: ; 597eb (16:57eb) dw Route15AfterBattleText2 ; 0x58b1 TextAfterBattle dw Route15EndBattleText2 ; 0x58ac TextEndBattle dw Route15EndBattleText2 ; 0x58ac TextEndBattle -; 0x597f7 Route15TrainerHeader2: ; 597f7 (16:57f7) db $3 ; flag's bit @@ -91819,7 +92849,6 @@ Route15TrainerHeader2: ; 597f7 (16:57f7) dw Route15AfterBattleText3 ; 0x58c0 TextAfterBattle dw Route15EndBattleText3 ; 0x58bb TextEndBattle dw Route15EndBattleText3 ; 0x58bb TextEndBattle -; 0x59803 Route15TrainerHeader3: ; 59803 (16:5803) db $4 ; flag's bit @@ -91829,7 +92858,6 @@ Route15TrainerHeader3: ; 59803 (16:5803) dw Route15AfterBattleText4 ; 0x58cf TextAfterBattle dw Route15EndBattleText4 ; 0x58ca TextEndBattle dw Route15EndBattleText4 ; 0x58ca TextEndBattle -; 0x5980f Route15TrainerHeader4: ; 5980f (16:580f) db $5 ; flag's bit @@ -91839,7 +92867,6 @@ Route15TrainerHeader4: ; 5980f (16:580f) dw Route15AfterBattleText5 ; 0x58de TextAfterBattle dw Route15EndBattleText5 ; 0x58d9 TextEndBattle dw Route15EndBattleText5 ; 0x58d9 TextEndBattle -; 0x5981b Route15TrainerHeader5: ; 5981b (16:581b) db $6 ; flag's bit @@ -91849,7 +92876,6 @@ Route15TrainerHeader5: ; 5981b (16:581b) dw Route15AfterBattleText6 ; 0x58ed TextAfterBattle dw Route15EndBattleText6 ; 0x58e8 TextEndBattle dw Route15EndBattleText6 ; 0x58e8 TextEndBattle -; 0x59827 Route15TrainerHeader6: ; 59827 (16:5827) db $7 ; flag's bit @@ -91859,7 +92885,6 @@ Route15TrainerHeader6: ; 59827 (16:5827) dw Route15AfterBattleText7 ; 0x58fc TextAfterBattle dw Route15EndBattleText7 ; 0x58f7 TextEndBattle dw Route15EndBattleText7 ; 0x58f7 TextEndBattle -; 0x59833 Route15TrainerHeader7: ; 59833 (16:5833) db $8 ; flag's bit @@ -91869,7 +92894,6 @@ Route15TrainerHeader7: ; 59833 (16:5833) dw Route15AfterBattleText8 ; 0x590b TextAfterBattle dw Route15EndBattleText8 ; 0x5906 TextEndBattle dw Route15EndBattleText8 ; 0x5906 TextEndBattle -; 0x5983f Route15TrainerHeader8: ; 5983f (16:583f) db $9 ; flag's bit @@ -91879,7 +92903,6 @@ Route15TrainerHeader8: ; 5983f (16:583f) dw Route15AfterBattleText9 ; 0x591a TextAfterBattle dw Route15EndBattleText9 ; 0x5915 TextEndBattle dw Route15EndBattleText9 ; 0x5915 TextEndBattle -; 0x5984b Route15TrainerHeader9: ; 5984b (16:584b) db $a ; flag's bit @@ -91889,9 +92912,8 @@ Route15TrainerHeader9: ; 5984b (16:584b) dw Route15AfterBattleText10 ; 0x5929 TextAfterBattle dw Route15EndBattleText10 ; 0x5924 TextEndBattle dw Route15EndBattleText10 ; 0x5924 TextEndBattle -; 0x59857 -db $ff + db $ff Route15Text1: ; 59858 (16:5858) db $8 ; asm @@ -91944,182 +92966,154 @@ Route15Text10: ; 5988e (16:588e) asm_33cb7: ; 59892 (16:5892) call TalkToTrainer jp TextScriptEnd -; 0x59898 Route15BattleText1: ; 59898 (16:5898) TX_FAR _Route15BattleText1 - db $50 -; 0x59898 + 5 bytes + db "@" Route15EndBattleText1: ; 5989d (16:589d) TX_FAR _Route15EndBattleText1 - db $50 -; 0x5989d + 5 bytes + db "@" Route15AfterBattleText1: ; 598a2 (16:58a2) TX_FAR _Route15AfterBattleText1 - db $50 -; 0x598a2 + 5 bytes + db "@" Route15BattleText2: ; 598a7 (16:58a7) TX_FAR _Route15BattleText2 - db $50 -; 0x598a7 + 5 bytes + db "@" Route15EndBattleText2: ; 598ac (16:58ac) TX_FAR _Route15EndBattleText2 - db $50 -; 0x598ac + 5 bytes + db "@" Route15AfterBattleText2: ; 598b1 (16:58b1) TX_FAR _Route15AfterBattleText2 - db $50 -; 0x598b1 + 5 bytes + db "@" Route15BattleText3: ; 598b6 (16:58b6) TX_FAR _Route15BattleText3 - db $50 -; 0x598b6 + 5 bytes + db "@" Route15EndBattleText3: ; 598bb (16:58bb) TX_FAR _Route15EndBattleText3 - db $50 -; 0x598bb + 5 bytes + db "@" Route15AfterBattleText3: ; 598c0 (16:58c0) TX_FAR _Route15AfterBattleText3 - db $50 -; 0x598c0 + 5 bytes + db "@" Route15BattleText4: ; 598c5 (16:58c5) TX_FAR _Route15BattleText4 - db $50 -; 0x598c5 + 5 bytes + db "@" Route15EndBattleText4: ; 598ca (16:58ca) TX_FAR _Route15EndBattleText4 - db $50 -; 0x598ca + 5 bytes + db "@" Route15AfterBattleText4: ; 598cf (16:58cf) TX_FAR _Route15AfterBattleText4 - db $50 -; 0x598cf + 5 bytes + db "@" Route15BattleText5: ; 598d4 (16:58d4) TX_FAR _Route15BattleText5 - db $50 -; 0x598d4 + 5 bytes + db "@" Route15EndBattleText5: ; 598d9 (16:58d9) TX_FAR _Route15EndBattleText5 - db $50 -; 0x598d9 + 5 bytes + db "@" Route15AfterBattleText5: ; 598de (16:58de) TX_FAR _Route15AfterBattleText5 - db $50 -; 0x598de + 5 bytes + db "@" Route15BattleText6: ; 598e3 (16:58e3) TX_FAR _Route15BattleText6 - db $50 -; 0x598e3 + 5 bytes + db "@" Route15EndBattleText6: ; 598e8 (16:58e8) TX_FAR _Route15EndBattleText6 - db $50 -; 0x598e8 + 5 bytes + db "@" Route15AfterBattleText6: ; 598ed (16:58ed) TX_FAR _Route15AfterBattleText6 - db $50 -; 0x598ed + 5 bytes + db "@" Route15BattleText7: ; 598f2 (16:58f2) TX_FAR _Route15BattleText7 - db $50 -; 0x598f2 + 5 bytes + db "@" Route15EndBattleText7: ; 598f7 (16:58f7) TX_FAR _Route15EndBattleText7 - db $50 -; 0x598f7 + 5 bytes + db "@" Route15AfterBattleText7: ; 598fc (16:58fc) TX_FAR _Route15AfterBattleText7 - db $50 -; 0x598fc + 5 bytes + db "@" Route15BattleText8: ; 59901 (16:5901) TX_FAR _Route15BattleText8 - db $50 -; 0x59901 + 5 bytes + db "@" Route15EndBattleText8: ; 59906 (16:5906) TX_FAR _Route15EndBattleText8 - db $50 -; 0x59906 + 5 bytes + db "@" Route15AfterBattleText8: ; 5990b (16:590b) TX_FAR _Route15AfterBattleText8 - db $50 -; 0x5990b + 5 bytes + db "@" Route15BattleText9: ; 59910 (16:5910) TX_FAR _Route15BattleText9 - db $50 -; 0x59910 + 5 bytes + db "@" Route15EndBattleText9: ; 59915 (16:5915) TX_FAR _Route15EndBattleText9 - db $50 -; 0x59915 + 5 bytes + db "@" Route15AfterBattleText9: ; 5991a (16:591a) TX_FAR _Route15AfterBattleText9 - db $50 -; 0x5991a + 5 bytes + db "@" Route15BattleText10: ; 5991f (16:591f) TX_FAR _Route15BattleText10 - db $50 -; 0x5991f + 5 bytes + db "@" Route15EndBattleText10: ; 59924 (16:5924) TX_FAR _Route15EndBattleText10 - db $50 -; 0x59924 + 5 bytes + db "@" Route15AfterBattleText10: ; 59929 (16:5929) TX_FAR _Route15AfterBattleText10 - db $50 -; 0x59929 + 5 bytes + db "@" Route15Text12: ; 5992e (16:592e) TX_FAR _Route15Text12 - db $50 + db "@" 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 ret -; 0x59946 -; known jump sources: 59994 (16:5994) 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 @@ -92142,6 +93136,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 @@ -92160,9 +93156,19 @@ INCBIN "baserom.gbc",$59951,$59959 - $59951 ld [W_ROUTE16CURSCRIPT], a ld [W_CURMAPSCRIPT], a ret -; 599b9 (16:59b9) -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) @@ -92173,7 +93179,6 @@ Route16TrainerHeader0: ; 599cf (16:59cf) dw Route16AfterBattleText1 ; 0x5a2c TextAfterBattle dw Route16EndBattleText1 ; 0x5a27 TextEndBattle dw Route16EndBattleText1 ; 0x5a27 TextEndBattle -; 0x599db Route16TrainerHeader1: ; 599db (16:59db) db $2 ; flag's bit @@ -92183,7 +93188,6 @@ Route16TrainerHeader1: ; 599db (16:59db) dw Route16AfterBattleText2 ; 0x5a45 TextAfterBattle dw Route16EndBattleText2 ; 0x5a40 TextEndBattle dw Route16EndBattleText2 ; 0x5a40 TextEndBattle -; 0x599e7 Route16TrainerHeader2: ; 599e7 (16:59e7) db $3 ; flag's bit @@ -92193,7 +93197,6 @@ Route16TrainerHeader2: ; 599e7 (16:59e7) dw Route16AfterBattleText3 ; 0x5a5e TextAfterBattle dw Route16EndBattleText3 ; 0x5a59 TextEndBattle dw Route16EndBattleText3 ; 0x5a59 TextEndBattle -; 0x599f3 Route16TrainerHeader3: ; 599f3 (16:59f3) db $4 ; flag's bit @@ -92203,7 +93206,6 @@ Route16TrainerHeader3: ; 599f3 (16:59f3) dw Route16AfterBattleText4 ; 0x5a77 TextAfterBattle dw Route16EndBattleText4 ; 0x5a72 TextEndBattle dw Route16EndBattleText4 ; 0x5a72 TextEndBattle -; 0x599ff Route16TrainerHeader4: ; 599ff (16:59ff) db $5 ; flag's bit @@ -92213,7 +93215,6 @@ Route16TrainerHeader4: ; 599ff (16:59ff) dw Route16AfterBattleText5 ; 0x5a90 TextAfterBattle dw Route16EndBattleText5 ; 0x5a8b TextEndBattle dw Route16EndBattleText5 ; 0x5a8b TextEndBattle -; 0x59a0b Route16TrainerHeader5: ; 59a0b (16:5a0b) db $6 ; flag's bit @@ -92223,9 +93224,8 @@ Route16TrainerHeader5: ; 59a0b (16:5a0b) dw Route16AfterBattleText6 ; 0x5aa9 TextAfterBattle dw Route16EndBattleText6 ; 0x5aa4 TextEndBattle dw Route16EndBattleText6 ; 0x5aa4 TextEndBattle -; 0x59a17 -db $ff + db $ff Route16Text1: ; 59a18 (16:5a18) db $08 ; asm @@ -92235,18 +93235,15 @@ Route16Text1: ; 59a18 (16:5a18) Route16BattleText1: ; 59a22 (16:5a22) TX_FAR _Route16BattleText1 - db $50 -; 0x59a22 + 5 bytes + db "@" Route16EndBattleText1: ; 59a27 (16:5a27) TX_FAR _Route16EndBattleText1 - db $50 -; 0x59a27 + 5 bytes + db "@" Route16AfterBattleText1: ; 59a2c (16:5a2c) TX_FAR _Route16AfterBattleText1 - db $50 -; 0x59a2c + 5 bytes + db "@" Route16Text2: ; 59a31 (16:5a31) db $08 ; asm @@ -92256,18 +93253,15 @@ Route16Text2: ; 59a31 (16:5a31) Route16BattleText2: ; 59a3b (16:5a3b) TX_FAR _Route16BattleText2 - db $50 -; 0x59a3b + 5 bytes + db "@" Route16EndBattleText2: ; 59a40 (16:5a40) TX_FAR _Route16EndBattleText2 - db $50 -; 0x59a40 + 5 bytes + db "@" Route16AfterBattleText2: ; 59a45 (16:5a45) TX_FAR _Route16AfterBattleText2 - db $50 -; 0x59a45 + 5 bytes + db "@" Route16Text3: ; 59a4a (16:5a4a) db $08 ; asm @@ -92277,18 +93271,15 @@ Route16Text3: ; 59a4a (16:5a4a) Route16BattleText3: ; 59a54 (16:5a54) TX_FAR _Route16BattleText3 - db $50 -; 0x59a54 + 5 bytes + db "@" Route16EndBattleText3: ; 59a59 (16:5a59) TX_FAR _Route16EndBattleText3 - db $50 -; 0x59a59 + 5 bytes + db "@" Route16AfterBattleText3: ; 59a5e (16:5a5e) TX_FAR _Route16AfterBattleText3 - db $50 -; 0x59a5e + 5 bytes + db "@" Route16Text4: ; 59a63 (16:5a63) db $08 ; asm @@ -92298,18 +93289,15 @@ Route16Text4: ; 59a63 (16:5a63) Route16BattleText4: ; 59a6d (16:5a6d) TX_FAR _Route16BattleText4 - db $50 -; 0x59a6d + 5 bytes + db "@" Route16EndBattleText4: ; 59a72 (16:5a72) TX_FAR _Route16EndBattleText4 - db $50 -; 0x59a72 + 5 bytes + db "@" Route16AfterBattleText4: ; 59a77 (16:5a77) TX_FAR _Route16AfterBattleText4 - db $50 -; 0x59a77 + 5 bytes + db "@" Route16Text5: ; 59a7c (16:5a7c) db $08 ; asm @@ -92319,18 +93307,15 @@ Route16Text5: ; 59a7c (16:5a7c) Route16BattleText5: ; 59a86 (16:5a86) TX_FAR _Route16BattleText5 - db $50 -; 0x59a86 + 5 bytes + db "@" Route16EndBattleText5: ; 59a8b (16:5a8b) TX_FAR _Route16EndBattleText5 - db $50 -; 0x59a8b + 5 bytes + db "@" Route16AfterBattleText5: ; 59a90 (16:5a90) TX_FAR _Route16AfterBattleText5 - db $50 -; 0x59a90 + 5 bytes + db "@" Route16Text6: ; 59a95 (16:5a95) db $08 ; asm @@ -92340,56 +93325,56 @@ Route16Text6: ; 59a95 (16:5a95) Route16BattleText6: ; 59a9f (16:5a9f) TX_FAR _Route16BattleText6 - db $50 -; 0x59a9f + 5 bytes + db "@" Route16EndBattleText6: ; 59aa4 (16:5aa4) TX_FAR _Route16EndBattleText6 - db $50 -; 0x59aa4 + 5 bytes + db "@" Route16AfterBattleText6: ; 59aa9 (16:5aa9) TX_FAR _Route16AfterBattleText6 - db $50 -; 0x59aa9 + 5 bytes + db "@" Route16Text7: ; 59aae (16:5aae) TX_FAR _Route16Text7 - db $50 + db "@" Route16Text10: ; 59ab3 (16:5ab3) TX_FAR _UnnamedText_59ab3 - db $50 -; 0x59ab3 + 5 bytes + db "@" Route16Text11: ; 59ab8 (16:5ab8) TX_FAR _UnnamedText_59ab8 - db $50 -; 0x59ab8 + 5 bytes + db "@" Route16Text8: ; 59abd (16:5abd) TX_FAR _Route16Text8 - db $50 + db "@" Route16Text9: ; 59ac2 (16:5ac2) TX_FAR _Route16Text9 - db $50 + db "@" 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 -; 0x59ada -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) @@ -92400,7 +93385,6 @@ Route18TrainerHeader0: ; 59aea (16:5aea) dw Route18AfterBattleText1 ; 0x5b23 TextAfterBattle dw Route18EndBattleText1 ; 0x5b1e TextEndBattle dw Route18EndBattleText1 ; 0x5b1e TextEndBattle -; 0x59af6 Route18TrainerHeader1: ; 59af6 (16:5af6) db $2 ; flag's bit @@ -92410,7 +93394,6 @@ Route18TrainerHeader1: ; 59af6 (16:5af6) dw Route18AfterBattleText2 ; 0x5b3c TextAfterBattle dw Route18EndBattleText2 ; 0x5b37 TextEndBattle dw Route18EndBattleText2 ; 0x5b37 TextEndBattle -; 0x59b02 Route18TrainerHeader2: ; 59b02 (16:5b02) db $3 ; flag's bit @@ -92420,9 +93403,8 @@ Route18TrainerHeader2: ; 59b02 (16:5b02) dw Route18AfterBattleText3 ; 0x5b55 TextAfterBattle dw Route18EndBattleText3 ; 0x5b50 TextEndBattle dw Route18EndBattleText3 ; 0x5b50 TextEndBattle -; 0x59b0e -db $ff + db $ff Route18Text1: ; 59b0f (16:5b0f) db $08 ; asm @@ -92432,18 +93414,15 @@ Route18Text1: ; 59b0f (16:5b0f) Route18BattleText1: ; 59b19 (16:5b19) TX_FAR _Route18BattleText1 - db $50 -; 0x59b19 + 5 bytes + db "@" Route18EndBattleText1: ; 59b1e (16:5b1e) TX_FAR _Route18EndBattleText1 - db $50 -; 0x59b1e + 5 bytes + db "@" Route18AfterBattleText1: ; 59b23 (16:5b23) TX_FAR _Route18AfterBattleText1 - db $50 -; 0x59b23 + 5 bytes + db "@" Route18Text2: ; 59b28 (16:5b28) db $08 ; asm @@ -92453,18 +93432,15 @@ Route18Text2: ; 59b28 (16:5b28) Route18BattleText2: ; 59b32 (16:5b32) TX_FAR _Route18BattleText2 - db $50 -; 0x59b32 + 5 bytes + db "@" Route18EndBattleText2: ; 59b37 (16:5b37) TX_FAR _Route18EndBattleText2 - db $50 -; 0x59b37 + 5 bytes + db "@" Route18AfterBattleText2: ; 59b3c (16:5b3c) TX_FAR _Route18AfterBattleText2 - db $50 -; 0x59b3c + 5 bytes + db "@" Route18Text3: ; 59b41 (16:5b41) db $08 ; asm @@ -92474,40 +93450,34 @@ Route18Text3: ; 59b41 (16:5b41) Route18BattleText3: ; 59b4b (16:5b4b) TX_FAR _Route18BattleText3 - db $50 -; 0x59b4b + 5 bytes + db "@" Route18EndBattleText3: ; 59b50 (16:5b50) TX_FAR _Route18EndBattleText3 - db $50 -; 0x59b50 + 5 bytes + db "@" Route18AfterBattleText3: ; 59b55 (16:5b55) TX_FAR _Route18AfterBattleText3 - db $50 -; 0x59b55 + 5 bytes + db "@" Route18Text4: ; 59b5a (16:5b5a) TX_FAR _Route18Text4 - db $50 + db "@" Route18Text5: ; 59b5f (16:5b5f) TX_FAR _Route18Text5 - db $50 + db "@" 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 FanClubScript: ; 59b70 (16:5b70) jp EnableAutoTextBoxDrawing -; 0x59b73 -; known jump sources: 59c1d (16:5c1d) Func_59b73: ; 59b73 (16:5b73) ld a, [$d771] bit 1, a @@ -92517,9 +93487,16 @@ Func_59b73: ; 59b73 (16:5b73) ret nz ld b, $2d jp IsItemInBag -; 59b84 (16:5b84) -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 @@ -92541,13 +93518,11 @@ asm_64f01 ; 0x59bb4 UnnamedText_59bb7: ; 59bb7 (16:5bb7) TX_FAR _UnnamedText_59bb7 - db $50 -; 0x59bb7 + 5 bytes + db "@" UnnamedText_59bbc: ; 59bbc (16:5bbc) TX_FAR _UnnamedText_59bbc - db $50 -; 0x59bbc + 5 bytes + db "@" FanClubText2: ; 59bc1 (16:5bc1) db $08 ; asm @@ -92569,13 +93544,11 @@ asm_59625 ; 0x59be1 UnnamedText_59be4: ; 59be4 (16:5be4) TX_FAR _UnnamedText_59be4 - db $50 -; 0x59be4 + 5 bytes + db "@" UnnamedText_59be9: ; 59be9 (16:5be9) TX_FAR _UnnamedText_59be9 - db $50 -; 0x59be9 + 5 bytes + db "@" FanClubText3: ; 59bee (16:5bee) db $8 @@ -92585,12 +93558,10 @@ FanClubText3: ; 59bee (16:5bee) call PlayCry call WaitForSoundToFinish jp TextScriptEnd -; 0x59c00 UnnamedText_59c00: ; 59c00 (16:5c00) TX_FAR _UnnamedText_59c00 - db $50 -; 0x59c00 + 5 bytes + db "@" FanClubText4: ; 59c05 (16:5c05) db $08 ; asm @@ -92603,8 +93574,7 @@ FanClubText4: ; 59c05 (16:5c05) UnnamedText_59c17: ; 59c17 (16:5c17) TX_FAR _UnnamedText_59c17 - db $50 -; 0x59c17 + 5 bytes + db "@" FanClubText5: ; 59c1c (16:5c1c) db $08 ; asm @@ -92642,47 +93612,41 @@ asm_d3c26 ; 0x59c62 UnnamedText_59c65: ; 59c65 (16:5c65) TX_FAR _UnnamedText_59c65 - db $50 -; 0x59c65 + 5 bytes + db "@" UnnamedText_59c6a: ; 59c6a (16:5c6a) TX_FAR _UnnamedText_59c6a - db $50 -; 0x59c6a + 5 bytes + db "@" ReceivedBikeVoucherText: ; 59c6f (16:5c6f) TX_FAR _ReceivedBikeVoucherText ; 0x9a82e db $11 TX_FAR _UnnamedText_59c74 ; 0x9a844 - db $50 -; 0x59c6f + 10 bytes = 0x59c79 + db "@" UnnamedText_59c79: ; 59c79 (16:5c79) TX_FAR _UnnamedText_59c79 - db $50 -; 0x59c79 + 5 bytes + db "@" UnnamedText_59c7e: ; 59c7e (16:5c7e) TX_FAR _UnnamedText_59c7e - db $50 -; 0x59c7e + 5 bytes + db "@" UnnamedText_59c83: ; 59c83 (16:5c83) TX_FAR _UnnamedText_59c83 - db $50 -; 0x59c83 + 5 bytes + db "@" FanClubText6: ; 59c88 (16:5c88) TX_FAR _FanClubText6 - db $50 + db "@" FanClubText7: ; 59c8d (16:5c8d) TX_FAR _FanClubText7 - db $50 + db "@" FanClubText8: ; 59c92 (16:5c92) TX_FAR _FanClubText8 - db $50 + db "@" FanClubObject: ; 0x59c97 (size=62) db $d ; border tile @@ -92713,26 +93677,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 -; 0x59d07 -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 -; known jump sources: 59f7c (16:5f7c), 5a15a (16:615a) Func_59d43: ; 59d43 (16:5d43) push hl ld hl, $d73f @@ -92769,13 +93757,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) @@ -92786,7 +93791,6 @@ SilphCo2TrainerHeader0: ; 59d90 (16:5d90) dw SilphCo2AfterBattleText1 ; 0x5e34 TextAfterBattle dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle dw SilphCo2EndBattleText1 ; 0x5e2f TextEndBattle -; 0x59d9c SilphCo2TrainerHeader1: ; 59d9c (16:5d9c) db $3 ; flag's bit @@ -92796,7 +93800,6 @@ SilphCo2TrainerHeader1: ; 59d9c (16:5d9c) dw SilphCo2AfterBattleText2 ; 0x5e43 TextAfterBattle dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle dw SilphCo2EndBattleText2 ; 0x5e3e TextEndBattle -; 0x59da8 SilphCo2TrainerHeader2: ; 59da8 (16:5da8) db $4 ; flag's bit @@ -92806,7 +93809,6 @@ SilphCo2TrainerHeader2: ; 59da8 (16:5da8) dw SilphCo2AfterBattleText3 ; 0x5e52 TextAfterBattle dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle dw SilphCo2EndBattleText3 ; 0x5e4d TextEndBattle -; 0x59db4 SilphCo2TrainerHeader3: ; 59db4 (16:5db4) db $5 ; flag's bit @@ -92816,9 +93818,8 @@ SilphCo2TrainerHeader3: ; 59db4 (16:5db4) dw SilphCo2AfterBattleText4 ; 0x5e61 TextAfterBattle dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle dw SilphCo2EndBattleText4 ; 0x5e5c TextEndBattle -; 0x59dc0 -db $ff + db $ff SilphCo2Text1: ; 59dc1 (16:5dc1) db $08 ; asm @@ -92843,23 +93844,19 @@ asm_2c1e0 ; 0x59de7 UnnamedText_59ded: ; 59ded (16:5ded) TX_FAR _UnnamedText_59ded - db $50 -; 0x59ded + 5 bytes + db "@" ReceivedTM36Text: ; 59df2 (16:5df2) TX_FAR _ReceivedTM36Text ; 0x824ba - db $0B, $50 -; 0x59df2 + 6 bytes = 0x59df8 + db $0B, "@" TM36ExplanationText: ; 59df8 (16:5df8) TX_FAR _TM36ExplanationText - db $50 -; 0x59df8 + 5 bytes + db "@" TM36NoRoomText: ; 59dfd (16:5dfd) TX_FAR _TM36NoRoomText - db $50 -; 0x59dfd + 5 bytes + db "@" SilphCo2Text2: ; 59e02 (16:5e02) db $08 ; asm @@ -92887,63 +93884,51 @@ SilphCo2Text5: ; 59e20 (16:5e20) SilphCo2BattleText1: ; 59e2a (16:5e2a) TX_FAR _SilphCo2BattleText1 - db $50 -; 0x59e2a + 5 bytes + db "@" SilphCo2EndBattleText1: ; 59e2f (16:5e2f) TX_FAR _SilphCo2EndBattleText1 - db $50 -; 0x59e2f + 5 bytes + db "@" SilphCo2AfterBattleText1: ; 59e34 (16:5e34) TX_FAR _SilphCo2AfterBattleText1 - db $50 -; 0x59e34 + 5 bytes + db "@" SilphCo2BattleText2: ; 59e39 (16:5e39) TX_FAR _SilphCo2BattleText2 - db $50 -; 0x59e39 + 5 bytes + db "@" SilphCo2EndBattleText2: ; 59e3e (16:5e3e) TX_FAR _SilphCo2EndBattleText2 - db $50 -; 0x59e3e + 5 bytes + db "@" SilphCo2AfterBattleText2: ; 59e43 (16:5e43) TX_FAR _SilphCo2AfterBattleText2 - db $50 -; 0x59e43 + 5 bytes + db "@" SilphCo2BattleText3: ; 59e48 (16:5e48) TX_FAR _SilphCo2BattleText3 - db $50 -; 0x59e48 + 5 bytes + db "@" SilphCo2EndBattleText3: ; 59e4d (16:5e4d) TX_FAR _SilphCo2EndBattleText3 - db $50 -; 0x59e4d + 5 bytes + db "@" SilphCo2AfterBattleText3: ; 59e52 (16:5e52) TX_FAR _SilphCo2AfterBattleText3 - db $50 -; 0x59e52 + 5 bytes + db "@" SilphCo2BattleText4: ; 59e57 (16:5e57) TX_FAR _SilphCo2BattleText4 - db $50 -; 0x59e57 + 5 bytes + db "@" SilphCo2EndBattleText4: ; 59e5c (16:5e5c) TX_FAR _SilphCo2EndBattleText4 - db $50 -; 0x59e5c + 5 bytes + db "@" SilphCo2AfterBattleText4: ; 59e61 (16:5e61) TX_FAR _SilphCo2AfterBattleText4 - db $50 -; 0x59e61 + 5 bytes + db "@" SilphCo2Object: ; 0x59e66 (size=98) db $2e ; border tile @@ -92981,28 +93966,26 @@ 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 -; 0x59f71 -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] @@ -93024,10 +94007,9 @@ 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 -; known jump sources: 59f7f (16:5f7f) Func_59fad: ; 59fad (16:5fad) ld hl, $d828 ld a, [$FF00+$e0] @@ -93041,11 +94023,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) @@ -93056,7 +94043,6 @@ SilphCo3TrainerHeader0: ; 59fcc (16:5fcc) dw SilphCo3AfterBattleText1 ; 0x6017 TextAfterBattle dw SilphCo3EndBattleText1 ; 0x6012 TextEndBattle dw SilphCo3EndBattleText1 ; 0x6012 TextEndBattle -; 0x59fd8 SilphCo3TrainerHeader1: ; 59fd8 (16:5fd8) db $3 ; flag's bit @@ -93066,9 +94052,8 @@ SilphCo3TrainerHeader1: ; 59fd8 (16:5fd8) dw SilphCo3AfterBattleText2 ; 0x6030 TextAfterBattle dw SilphCo3EndBattleText2 ; 0x602b TextEndBattle dw SilphCo3EndBattleText2 ; 0x602b TextEndBattle -; 0x59fe4 -db $ff + db $ff SilphCo3Text1: ; 59fe5 (16:5fe5) db $08 ; asm @@ -93083,13 +94068,11 @@ asm_8c56f ; 0x59ff3 UnnamedText_59ff9: ; 59ff9 (16:5ff9) TX_FAR _UnnamedText_59ff9 - db $50 -; 0x59ff9 + 5 bytes + db "@" UnnamedText_59ffe: ; 59ffe (16:5ffe) TX_FAR _UnnamedText_59ffe - db $50 -; 0x59ffe + 5 bytes + db "@" SilphCo3Text2: ; 5a003 (16:6003) db $08 ; asm @@ -93099,18 +94082,15 @@ SilphCo3Text2: ; 5a003 (16:6003) SilphCo3BattleText1: ; 5a00d (16:600d) TX_FAR _SilphCo3BattleText1 - db $50 -; 0x5a00d + 5 bytes + db "@" SilphCo3EndBattleText1: ; 5a012 (16:6012) TX_FAR _SilphCo3EndBattleText1 - db $50 -; 0x5a012 + 5 bytes + db "@" SilphCo3AfterBattleText1: ; 5a017 (16:6017) TX_FAR _SilphCo3AfterBattleText1 - db $50 -; 0x5a017 + 5 bytes + db "@" SilphCo3Text3: ; 5a01c (16:601c) db $08 ; asm @@ -93120,18 +94100,15 @@ SilphCo3Text3: ; 5a01c (16:601c) SilphCo3BattleText2: ; 5a026 (16:6026) TX_FAR _SilphCo3BattleText2 - db $50 -; 0x5a026 + 5 bytes + db "@" SilphCo3EndBattleText2: ; 5a02b (16:602b) TX_FAR _SilphCo3EndBattleText2 - db $50 -; 0x5a02b + 5 bytes + db "@" SilphCo3AfterBattleText2: ; 5a030 (16:6030) TX_FAR _SilphCo3AfterBattleText2 - db $50 -; 0x5a030 + 5 bytes + db "@" SilphCo3Object: ; 0x5a035 (size=113) db $2e ; border tile @@ -93174,28 +94151,26 @@ 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 -; 0x5a14f -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] @@ -93207,10 +94182,9 @@ 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 -; known jump sources: 5a15d (16:615d) Func_5a176: ; 5a176 (16:6176) ld a, [$FF00+$e0] and a @@ -93219,11 +94193,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) @@ -93234,7 +94215,6 @@ SilphCo10TrainerHeader0: ; 5a192 (16:6192) dw SilphCo10AfterBattleText1 ; 0x61e7 TextAfterBattle dw SilphCo10EndBattleText1 ; 0x61e2 TextEndBattle dw SilphCo10EndBattleText1 ; 0x61e2 TextEndBattle -; 0x5a19e SilphCo10TrainerHeader1: ; 5a19e (16:619e) db $2 ; flag's bit @@ -93244,9 +94224,8 @@ SilphCo10TrainerHeader1: ; 5a19e (16:619e) dw SilphCo10AfterBattleText2 ; 0x61f6 TextAfterBattle dw SilphCo10EndBattleText2 ; 0x61f1 TextEndBattle dw SilphCo10EndBattleText2 ; 0x61f1 TextEndBattle -; 0x5a1aa -db $ff + db $ff SilphCo10Text1: ; 5a1ab (16:61ab) db $08 ; asm @@ -93265,51 +94244,43 @@ 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 UnnamedText_5a1d3: ; 5a1d3 (16:61d3) TX_FAR _UnnamedText_5a1d3 - db $50 -; 0x5a1d3 + 5 bytes + db "@" UnnamedText_5a1d8: ; 5a1d8 (16:61d8) TX_FAR _UnnamedText_5a1d8 - db $50 -; 0x5a1d8 + 5 bytes + db "@" SilphCo10BattleText1: ; 5a1dd (16:61dd) TX_FAR _SilphCo10BattleText1 - db $50 -; 0x5a1dd + 5 bytes + db "@" SilphCo10EndBattleText1: ; 5a1e2 (16:61e2) TX_FAR _SilphCo10EndBattleText1 - db $50 -; 0x5a1e2 + 5 bytes + db "@" SilphCo10AfterBattleText1: ; 5a1e7 (16:61e7) TX_FAR _SilphCo10AfterBattleText1 - db $50 -; 0x5a1e7 + 5 bytes + db "@" SilphCo10BattleText2: ; 5a1ec (16:61ec) TX_FAR _SilphCo10BattleText2 - db $50 -; 0x5a1ec + 5 bytes + db "@" SilphCo10EndBattleText2: ; 5a1f1 (16:61f1) TX_FAR _SilphCo10EndBattleText2 - db $50 -; 0x5a1f1 + 5 bytes + db "@" SilphCo10AfterBattleText2: ; 5a1f6 (16:61f6) TX_FAR _SilphCo10AfterBattleText2 - db $50 -; 0x5a1f6 + 5 bytes + db "@" SilphCo10Object: ; 0x5a1fb (size=95) db $2e ; border tile @@ -93346,23 +94317,21 @@ 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 -; 0x5a2c4 -LanceScript_Unknown5a2c4: ; 5a2c4 (16:62c4) +LanceScript_5a2c4: ; 5a2c4 (16:62c4) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -93377,7 +94346,6 @@ LanceScript_Unknown5a2c4: ; 5a2c4 (16:62c4) ld a, $72 ld b, $73 -; known jump sources: 5a2d7 (16:62d7) Func_5a2de: ; 5a2de (16:62de) push bc ld [$d09f], a @@ -93388,28 +94356,35 @@ Func_5a2de: ; 5a2de (16:62de) ld [$d09f], a ld bc, $603 -; known jump sources: 5a2e5 (16:62e5) Func_5a2f0: ; 5a2f0 (16:62f0) ld a, $17 jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) -; known jump sources: 5a351 (16:6351) Func_5a2f5: ; 5a2f5 (16:62f5) xor a 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 @@ -93417,7 +94392,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] @@ -93426,11 +94401,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 @@ -93438,9 +94419,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 @@ -93453,24 +94435,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 -; 5a395 (16:6395) -LanceTexts: ; 5a395 (16:6395) + +LanceTextPointers: ; 5a395 (16:6395) dw LanceText1 LanceTrainerHeaders: ; 5a397 (16:6397) @@ -93482,9 +94464,8 @@ LanceTrainerHeader0: ; 5a397 (16:6397) dw LanceAfterBattleText ; 0x63b8 TextAfterBattle dw LanceEndBattleText ; 0x63b3 TextEndBattle dw LanceEndBattleText ; 0x63b3 TextEndBattle -; 0x5a3a3 -db $ff + db $ff LanceText1: ; 5a3a4 (16:63a4) db $08 ; asm @@ -93494,13 +94475,11 @@ LanceText1: ; 5a3a4 (16:63a4) LanceBeforeBattleText: ; 5a3ae (16:63ae) TX_FAR _LanceBeforeBattleText - db $50 -; 0x5a3ae + 5 bytes + db "@" LanceEndBattleText: ; 5a3b3 (16:63b3) TX_FAR _LanceEndBattleText - db $50 -; 0x5a3b3 + 5 bytes + db "@" LanceAfterBattleText: ; 5a3b8 (16:63b8) TX_FAR _LanceAfterBattleText ; 0x85e9e @@ -93508,7 +94487,6 @@ LanceAfterBattleText: ; 5a3b8 (16:63b8) ld hl, $d866 set 6, [hl] jp TextScriptEnd -; 0x5a3c5 LanceObject: ; 0x5a3c5 (size=36) db $3 ; border tile @@ -93534,32 +94512,37 @@ 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 -; 0x5a4aa -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 @@ -93596,11 +94579,10 @@ HallofFameRoomScript2: ; 5a4bb (16:64bb) jr nz, .asm_5a4ff ; 0x5a505 $f8 call WaitForTextScrollButtonPress jp InitGame -; 0x5a50d HallofFameRoomScript0: ; 5a50d (16:650d) ld a, $ff - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a ld hl, $ccd3 ld de, RLEMovement5a528 call DecodeRLEList @@ -93610,7 +94592,6 @@ HallofFameRoomScript0: ; 5a50d (16:650d) ld a, $1 ld [W_HALLOFFAMEROOMCURSCRIPT], a ret -; 0x5a528 RLEMovement5a528: ; 5a528 (16:6528) db $40,$5 @@ -93630,14 +94611,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 @@ -93645,14 +94626,13 @@ HallofFameRoomScript1: ; 5a52b (16:652b) ld a, $2 ld [W_HALLOFFAMEROOMCURSCRIPT], a ret -; 0x5a56a -HallofFameRoomTexts: ; 5a56a (16:656a) +HallofFameRoomTextPointers: ; 5a56a (16:656a) dw HallofFameRoomText1 HallofFameRoomText1: ; 5a56c (16:656c) TX_FAR _HallofFameRoomText1 - db $50 + db "@" HallofFameRoomObject: ; 0x5a571 (size=26) db $3 ; border tile @@ -93673,7 +94653,6 @@ HallofFameRoomObject: ; 0x5a571 (size=26) HallofFameRoomBlocks: ; 5a58b (16:658b) INCBIN "maps/halloffameroom.blk" -; known jump sources: 1e142 (7:6142) RemoveGuardDrink: ; 5a59f (16:659f) ld hl, GuardDrinksList .drinkLoop @@ -93718,6 +94697,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" @@ -93729,9 +94709,9 @@ ViridianForestexitBlocks: ; 5c090 (17:4090) RedsHouse2F_h: ; 5c0a4 (17:40a4) db $04 ; tileset - db $04,$04 ; dimensions - dw RedsHouse2FBlocks, RedsHouse2FTexts, RedsHouse2FScript - db 0 ; no connections + db REDS_HOUSE_2F_HEIGHT, REDS_HOUSE_2F_WIDTH ; dimensions + dw RedsHouse2FBlocks, RedsHouse2FTextPointers, RedsHouse2FScript + db $00 ; no connections dw RedsHouse2FObject RedsHouse2FScript: ; 5c0b0 (17:40b0) @@ -93741,9 +94721,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 @@ -93752,41 +94733,39 @@ 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 ? db $0A ; border tile db 1 ; warps - db 1,7,2,$25 + db 1, 7, 2, REDS_HOUSE_1F db 0 ; signs db 0 ; people - dw $C6EF + 4 + (4 + 6) * 0 + 3 - db 1,7 + ; warp-to + EVENT_DISP REDS_HOUSE_2F_WIDTH, 1, 7 -; known jump sources: 1d178 (7:5178) 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 -; 5c0eb (17:40eb) + 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 MuseumF1Script: ; 5c0f7 (17:40f7) @@ -93794,13 +94773,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 -; 0x5c109 -MuseumF1Scripts: ; 5c109 (17:4109) - dw MuseumF1Script0, MuseumF1Script1 +MuseumF1ScriptPointers: ; 5c109 (17:4109) + dw MuseumF1Script0 + dw MuseumF1Script1 MuseumF1Script0: ; 5c10d (17:410d) ld a, [$d361] @@ -93818,14 +94797,16 @@ MuseumF1Script0: ; 5c10d (17:410d) ld a, $1 ld [$ff00+$8c], a jp DisplayTextID -; 0x5c12a MuseumF1Script1: ; 5c12a (17:412a) ret -; 0x5c12b -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 @@ -93931,52 +94912,42 @@ asm_d1144: ; 5c211 (17:4211) call PrintText asm_d1145: ; 5c217 (17:4217) jp TextScriptEnd -; 0x5c21a UnnamedText_5c21a: ; 5c21a (17:421a) TX_FAR _UnnamedText_5c21a - db $50 -; 0x5c21a + 5 bytes + db "@" UnnamedText_5c21f: ; 5c21f (17:421f) TX_FAR _UnnamedText_5c21f - db $50 -; 0x5c21f + 5 bytes + db "@" UnnamedText_5c224: ; 5c224 (17:4224) TX_FAR _UnnamedText_5c224 - db $50 -; 0x5c224 + 5 bytes + db "@" UnnamedText_5c229: ; 5c229 (17:4229) TX_FAR _UnnamedText_5c229 - db $50 -; 0x5c229 + 5 bytes + db "@" UnnamedText_5c22e: ; 5c22e (17:422e) TX_FAR _UnnamedText_5c22e - db $50 -; 0x5c22e + 5 bytes + db "@" UnnamedText_5c233: ; 5c233 (17:4233) TX_FAR _UnnamedText_5c233 - db $50 -; 0x5c233 + 5 bytes + db "@" UnnamedText_5c238: ; 5c238 (17:4238) TX_FAR _UnnamedText_5c238 - db $50 -; 0x5c238 + 5 bytes + db "@" UnnamedText_5c23d: ; 5c23d (17:423d) TX_FAR _UnnamedText_5c23d - db $50 -; 0x5c23d + 5 bytes + db "@" UnnamedText_5c242: ; 5c242 (17:4242) TX_FAR _UnnamedText_5c242 - db $50 -; 0x5c242 + 5 bytes + db "@" MuseumF1Text2: ; 5c247 (17:4247) db $08 ; asm @@ -93986,8 +94957,7 @@ MuseumF1Text2: ; 5c247 (17:4247) UnnamedText_5c251: ; 5c251 (17:4251) TX_FAR _UnnamedText_5c251 - db $50 -; 0x5c251 + 5 bytes + db "@" MuseumF1Text3: ; 5c256 (17:4256) db $08 ; asm @@ -94018,23 +94988,19 @@ MuseumF1Text3: ; 5c256 (17:4256) UnnamedText_5c28e: ; 5c28e (17:428e) TX_FAR _UnnamedText_5c28e - db $50 -; 0x5c28e + 5 bytes + db "@" ReceivedOldAmberText: ; 5c293 (17:4293) TX_FAR _ReceivedOldAmberText ; 0x96790 - db $0B, $50 -; 0x5c293 + 6 bytes = 0x5c299 + db $0B, "@" UnnamedText_5c299: ; 5c299 (17:4299) TX_FAR _UnnamedText_5c299 - db $50 -; 0x5c299 + 5 bytes + db "@" UnnamedText_5c29e: ; 5c29e (17:429e) TX_FAR _UnnamedText_5c29e - db $50 -; 0x5c29e + 5 bytes + db "@" MuseumF1Text4: ; 5c2a3 (17:42a3) db $08 ; asm @@ -94044,8 +95010,7 @@ MuseumF1Text4: ; 5c2a3 (17:42a3) UnnamedText_5c2ad: ; 5c2ad (17:42ad) TX_FAR _UnnamedText_5c2ad - db $50 -; 0x5c2ad + 5 bytes + db "@" MuseumF1Text5: ; 5c2b2 (17:42b2) db $08 ; asm @@ -94055,8 +95020,7 @@ MuseumF1Text5: ; 5c2b2 (17:42b2) UnnamedText_5c2bc: ; 5c2bc (17:42bc) TX_FAR _UnnamedText_5c2bc - db $50 -; 0x5c2bc + 5 bytes + db "@" MuseumF1Object: ; 0x5c2c1 (size=74) db $a ; border tile @@ -94087,45 +95051,49 @@ 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 MuseumF2Script: ; 5c317 (17:4317) jp EnableAutoTextBoxDrawing -; 0x5c31a -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 - db $50 + db "@" MuseumF2Text2: ; 5c32d (17:432d) TX_FAR _MuseumF2Text2 - db $50 + db "@" MuseumF2Text3: ; 5c332 (17:4332) TX_FAR _MuseumF2Text3 - db $50 + db "@" MuseumF2Text4: ; 5c337 (17:4337) TX_FAR _MuseumF2Text4 - db $50 + db "@" MuseumF2Text5: ; 5c33c (17:433c) TX_FAR _MuseumF2Text5 - db $50 + db "@" MuseumF2Text6: ; 5c341 (17:4341) TX_FAR _MuseumF2Text6 - db $50 + db "@" MuseumF2Text7: ; 5c346 (17:4346) TX_FAR _MuseumF2Text7 - db $50 + db "@" MuseumF2Object: ; 0x5c34b (size=48) db $a ; border tile @@ -94150,26 +95118,24 @@ 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 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 -; 0x5c3a4 -PewterGymScript_Unknown5c3a4: ; 5c3a4 (17:43a4) +PewterGymScript_5c3a4: ; 5c3a4 (17:43a4) ld hl, Gym1CityName ; $43ad ld de, Gym1LeaderName ; $43b9 jp LoadGymLeaderAndCityName @@ -94180,23 +95146,26 @@ Gym1CityName: ; 5c3ad (17:43ad) Gym1LeaderName: ; 5c3b9 (17:43b9) db "BROCK@" -; known jump sources: 5c3d7 (17:43d7), 5c432 (17:4432) 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 -; known jump sources: 5c45a (17:445a) Func_5c3df: ; 5c3df (17:43df) ld a, $4 ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c @@ -94235,9 +95204,14 @@ Func_5c3df: ; 5c3df (17:43df) ld hl, $d755 set 2, [hl] jp Func_5c3bf -; 5c435 (17:4435) -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) @@ -94248,9 +95222,8 @@ PewterGymTrainerHeader0: ; 5c441 (17:4441) dw PewterGymAfterBattleText1 ; 0x44da TextAfterBattle dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle dw PewterGymEndBattleText1 ; 0x44d5 TextEndBattle -; 0x5c44d -db $ff + db $ff PewterGymText1: ; 5c44e (17:444e) db $08 ; asm @@ -94291,36 +95264,31 @@ PewterGymText1: ; 5c44e (17:444e) UnnamedText_5c49e: ; 5c49e (17:449e) TX_FAR _UnnamedText_5c49e - db $50 -; 0x5c49e + 5 bytes + db "@" UnnamedText_5c4a3: ; 5c4a3 (17:44a3) TX_FAR _UnnamedText_5c4a3 - db $50 -; 0x5c4a3 + 5 bytes + db "@" PewterGymText4: ; 5c4a8 (17:44a8) TX_FAR _TM34PreReceiveText - db $50 -; 0x5c4a8 + 5 bytes + db "@" PewterGymText5: ; 5c4ad (17:44ad) TX_FAR _ReceivedTM34Text ; 0x980ad db $0B TX_FAR _TM34ExplanationText ; 0x980c0 - db $50 -; 0x5c4ad + 10 bytes = 0x5c4b7 + db "@" PewterGymText6: ; 5c4b7 (17:44b7) TX_FAR _TM34NoRoomText - db $50 + db "@" UnnamedText_5c4bc: ; 5c4bc (17:44bc) TX_FAR _UnnamedText_5c4bc ; 0x981c9 db $0B TX_FAR _UnnamedText_5c4c1 ; 0x98232 - db $50 -; 0x5c4c6 + db "@" PewterGymText2: ; 5c4c6 (17:44c6) db $08 ; asm @@ -94330,18 +95298,15 @@ PewterGymText2: ; 5c4c6 (17:44c6) PewterGymBattleText1: ; 5c4d0 (17:44d0) TX_FAR _PewterGymBattleText1 - db $50 -; 0x5c4d0 + 5 bytes + db "@" PewterGymEndBattleText1: ; 5c4d5 (17:44d5) TX_FAR _PewterGymEndBattleText1 - db $50 -; 0x5c4d5 + 5 bytes + db "@" PewterGymAfterBattleText1: ; 5c4da (17:44da) TX_FAR _PewterGymAfterBattleText1 - db $50 -; 0x5c4da + 5 bytes + db "@" PewterGymText3: ; 5c4df (17:44df) db $08 ; asm @@ -94372,28 +95337,23 @@ PewterGymText3: ; 5c4df (17:44df) UnnamedText_5c515: ; 5c515 (17:4515) TX_FAR _UnnamedText_5c515 - db $50 -; 0x5c515 + 5 bytes + db "@" UnnamedText_5c51a: ; 5c51a (17:451a) TX_FAR _UnnamedText_5c51a - db $50 -; 0x5c51a + 5 bytes + db "@" UnnamedText_5c51f: ; 5c51f (17:451f) TX_FAR _UnnamedText_5c51f - db $50 -; 0x5c51f + 5 bytes + db "@" UnnamedText_5c524: ; 5c524 (17:4524) TX_FAR _UnnamedText_5c524 - db $50 -; 0x5c524 + 5 bytes + db "@" UnnamedText_5c529: ; 5c529 (17:4529) TX_FAR _UnnamedText_5c529 - db $50 -; 0x5c529 + 5 bytes + db "@" PewterGymObject: ; 0x5c52e (size=42) db $3 ; border tile @@ -94419,25 +95379,26 @@ 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 PewterPokecenterScript: ; 5c587 (17:4587) call Func_22fa jp EnableAutoTextBoxDrawing -; 0x5c58d -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 PewterPokecenterText2: ; 5c596 (17:4596) TX_FAR _PewterPokecenterText1 - db $50 + db "@" PewterPokecenterText3: ; 5c59b (17:459b) db $8 @@ -94487,15 +95448,13 @@ PewterPokecenterText3: ; 5c59b (17:459b) call DelayFrames call Func_2307 jp TextScriptEnd -; 0x5c603 PewterPokecenterText5: ; 5c603 (17:4603) TX_FAR _PewterPokecenterText5 ; 0x98744 - db $50 -; 0x5c603 + 5 bytes = 0x5c608 + db "@" Unknown_5c608: ; 5c608 (17:4608) -db $30, $38, $34, $3c + db $30, $38, $34, $3c PewterPokecenterText4: ; 5c60c (17:460c) db $f6 @@ -94522,18 +95481,19 @@ 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 CeruleanPokecenterScript: ; 5c645 (17:4645) call Func_22fa jp EnableAutoTextBoxDrawing -; 0x5c64b -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 @@ -94543,11 +95503,11 @@ CeruleanPokecenterText1: ; 5c654 (17:4654) CeruleanPokecenterText2: ; 5c655 (17:4655) TX_FAR _CeruleanPokecenterText1 - db $50 + db "@" CeruleanPokecenterText3: ; 5c65a (17:465a) TX_FAR _CeruleanPokecenterText3 - db $50 + db "@" CeruleanPokecenterObject: ; 0x5c65f (size=44) db $0 ; border tile @@ -94574,26 +95534,24 @@ 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 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 -; 0x5c6d0 -CeruleanGymScript_Unknown5c6d0: ; 5c6d0 (17:46d0) +CeruleanGymScript_5c6d0: ; 5c6d0 (17:46d0) ld hl, Gym2CityName ; $46d9 ld de, Gym2LeaderName ; $46e7 jp LoadGymLeaderAndCityName @@ -94604,23 +95562,26 @@ Gym2CityName: ; 5c6d9 (17:46d9) Gym2LeaderName: ; 5c6e7 (17:46e7) db "MISTY@" -; known jump sources: 5c705 (17:4705), 5c747 (17:4747) 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 -; known jump sources: 5c77d (17:477d) Func_5c70d: ; 5c70d (17:470d) ld a, $5 ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c @@ -94649,9 +95610,15 @@ Func_5c70d: ; 5c70d (17:470d) set 2, [hl] set 3, [hl] jp Func_5c6ed -; 5c74a (17:474a) -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) @@ -94662,7 +95629,6 @@ CeruleanGymTrainerHeader0: ; 5c758 (17:4758) dw CeruleanGymAfterBattleText1 ; 0x47f3 TextAfterBattle dw CeruleanGymEndBattleText1 ; 0x47ee TextEndBattle dw CeruleanGymEndBattleText1 ; 0x47ee TextEndBattle -; 0x5c764 CeruleanGymTrainerHeader1: ; 5c764 (17:4764) db $3 ; flag's bit @@ -94672,9 +95638,8 @@ CeruleanGymTrainerHeader1: ; 5c764 (17:4764) dw CeruleanGymAfterBattleText2 ; 0x480c TextAfterBattle dw CeruleanGymEndBattleText2 ; 0x4807 TextEndBattle dw CeruleanGymEndBattleText2 ; 0x4807 TextEndBattle -; 0x5c770 -db $ff + db $ff CeruleanGymText1: ; 5c771 (17:4771) db $08 ; asm @@ -94714,34 +95679,28 @@ CeruleanGymText1: ; 5c771 (17:4771) UnnamedText_5c7be: ; 5c7be (17:47be) TX_FAR _UnnamedText_5c7be - db $50 -; 0x5c7be + 5 bytes + db "@" UnnamedText_5c7c3: ; 5c7c3 (17:47c3) TX_FAR _UnnamedText_5c7c3 - db $50 -; 0x5c7c3 + 5 bytes + db "@" CeruleanGymText5: ; 5c7c8 (17:47c8) TX_FAR _UnnamedText_5c7c8 - db $50 -; 0x5c7c8 + 5 bytes + db "@" CeruleanGymText6: ; 5c7cd (17:47cd) ReceivedTM11Text: ; 5c7cd (17:47cd) TX_FAR _ReceivedTM11Text ; 0x98b7d - db $0B, $50 -; 0x5c7cd + 6 bytes = 0x5c7d3 + db $0B, "@" CeruleanGymText7: ; 5c7d3 (17:47d3) TX_FAR _UnnamedText_5c7d3 - db $50 -; 0x5c7d3 + 5 bytes + db "@" UnnamedText_5c7d8: ; 5c7d8 (17:47d8) TX_FAR _UnnamedText_5c7d8 ; 0x98bb0 - db $11, $6, $50 -; 0x5c7d8 + 7 bytes = 0x5c7df + db $11, $6, "@" CeruleanGymText2: ; 5c7df (17:47df) db $08 ; asm @@ -94751,18 +95710,15 @@ CeruleanGymText2: ; 5c7df (17:47df) CeruleanGymBattleText1: ; 5c7e9 (17:47e9) TX_FAR _CeruleanGymBattleText1 - db $50 -; 0x5c7e9 + 5 bytes + db "@" CeruleanGymEndBattleText1: ; 5c7ee (17:47ee) TX_FAR _CeruleanGymEndBattleText1 - db $50 -; 0x5c7ee + 5 bytes + db "@" CeruleanGymAfterBattleText1: ; 5c7f3 (17:47f3) TX_FAR _CeruleanGymAfterBattleText1 - db $50 -; 0x5c7f3 + 5 bytes + db "@" CeruleanGymText3: ; 5c7f8 (17:47f8) db $08 ; asm @@ -94772,18 +95728,15 @@ CeruleanGymText3: ; 5c7f8 (17:47f8) CeruleanGymBattleText2: ; 5c802 (17:4802) TX_FAR _CeruleanGymBattleText2 - db $50 -; 0x5c802 + 5 bytes + db "@" CeruleanGymEndBattleText2: ; 5c807 (17:4807) TX_FAR _CeruleanGymEndBattleText2 - db $50 -; 0x5c807 + 5 bytes + db "@" CeruleanGymAfterBattleText2: ; 5c80c (17:480c) TX_FAR _CeruleanGymAfterBattleText2 - db $50 -; 0x5c80c + 5 bytes + db "@" CeruleanGymText4: ; 5c811 (17:4811) db $08 ; asm @@ -94801,13 +95754,11 @@ CeruleanGymText4: ; 5c811 (17:4811) UnnamedText_5c82a: ; 5c82a (17:482a) TX_FAR _UnnamedText_5c82a - db $50 -; 0x5c82a + 5 bytes + db "@" UnnamedText_5c82f: ; 5c82f (17:482f) TX_FAR _UnnamedText_5c82f - db $50 -; 0x5c82f + 5 bytes + db "@" CeruleanGymObject: ; 0x5c834 (size=50) db $3 ; border tile @@ -94834,25 +95785,25 @@ 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 CeruleanMartScript: ; 5c895 (17:4895) jp EnableAutoTextBoxDrawing -; 0x5c898 -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 - db $50 + db "@" CeruleanMartText3: ; 5c8a3 (17:48a3) TX_FAR _CeruleanMartText3 - db $50 + db "@" CeruleanMartObject: ; 0x5c8a8 (size=38) db $0 ; border tile @@ -94875,18 +95826,19 @@ 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 LavenderPokecenterScript: ; 5c8da (17:48da) call Func_22fa jp EnableAutoTextBoxDrawing -; 0x5c8e0 -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 @@ -94896,11 +95848,11 @@ LavenderPokecenterText1: ; 5c8e9 (17:48e9) LavenderPokecenterText2: ; 5c8ea (17:48ea) TX_FAR _LavenderPokecenterText1 - db $50 + db "@" LavenderPokecenterText3: ; 5c8ef (17:48ef) TX_FAR _LavenderPokecenterText3 - db $50 + db "@" LavenderPokecenterObject: ; 0x5c8f4 (size=44) db $0 ; border tile @@ -94924,21 +95876,21 @@ 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 LavenderMartScript: ; 5c92c (17:492c) jp EnableAutoTextBoxDrawing -; 0x5c92f -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 - db $50 + db "@" LavenderMartText3: ; 5c93a (17:493a) db $08 ; asm @@ -94956,13 +95908,11 @@ LavenderMartText3: ; 5c93a (17:493a) UnnamedText_5c953: ; 5c953 (17:4953) TX_FAR _UnnamedText_5c953 - db $50 -; 0x5c953 + 5 bytes + db "@" UnnamedText_5c958: ; 5c958 (17:4958) TX_FAR _UnnamedText_5c958 - db $50 -; 0x5c958 + 5 bytes + db "@" LavenderMartObject: ; 0x5c95d (size=38) db $0 ; border tile @@ -94985,29 +95935,30 @@ 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 VermilionPokecenterScript: ; 5c98f (17:498f) call Func_22fa jp EnableAutoTextBoxDrawing -; 0x5c995 -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 VermilionPokecenterText2: ; 5c99e (17:499e) TX_FAR _VermilionPokecenterText1 - db $50 + db "@" VermilionPokecenterText3: ; 5c9a3 (17:49a3) TX_FAR _VermilionPokecenterText3 - db $50 + db "@" VermilionPokecenterText4: ; 5c9a8 (17:49a8) db $f6 @@ -95034,25 +95985,25 @@ 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 VermilionMartScript: ; 5c9e1 (17:49e1) jp EnableAutoTextBoxDrawing -; 0x5c9e4 -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 - db $50 + db "@" VermilionMartText3: ; 5c9ef (17:49ef) TX_FAR _VermilionMartText3 - db $50 + db "@" VermilionMartObject: ; 0x5c9f4 (size=38) db $0 ; border tile @@ -95075,9 +96026,8 @@ 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 VermilionGymScript: ; 5ca26 (17:4a26) @@ -95085,21 +96035,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 -; 0x5ca4c -VermilionGymScript_Unknown5ca4c: ; 5ca4c (17:4a4c) +VermilionGymScript_5ca4c: ; 5ca4c (17:4a4c) ld hl, Gym3CityName ; $4a55 ld de, Gym3LeaderName ; $4a64 jp LoadGymLeaderAndCityName @@ -95110,8 +96059,7 @@ Gym3CityName: ; 5ca55 (17:4a55) Gym3LeaderName: ; 5ca64 (17:4a64) db "LT.SURGE@" -; known jump sources: 5ca36 (17:4a36) -Func_5ca6d: ; 5ca6d (17:4a6d) +VermilionGymScript_5ca6d: ; 5ca6d (17:4a6d) ld a, [$d773] bit 0, a jr nz, .asm_5ca78 @@ -95127,23 +96075,26 @@ Func_5ca6d: ; 5ca6d (17:4a6d) ld a, $17 jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) -; known jump sources: 5caa2 (17:4aa2), 5cae5 (17:4ae5) -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 -; known jump sources: 5cb29 (17:4b29) Func_5caaa: ; 5caaa (17:4aaa) ld a, $6 ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c @@ -95171,10 +96122,17 @@ Func_5caaa: ; 5caaa (17:4aaa) ld a, [$d773] or $1c ld [$d773], a - jp Func_5ca8a -; 5cae8 (17:4ae8) -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) @@ -95185,7 +96143,6 @@ VermilionGymTrainerHeader0: ; 5caf8 (17:4af8) dw VermilionGymAfterBattleText1 ; 0x4ba4 TextAfterBattle dw VermilionGymEndBattleText1 ; 0x4b9f TextEndBattle dw VermilionGymEndBattleText1 ; 0x4b9f TextEndBattle -; 0x5cb04 VermilionGymTrainerHeader1: ; 5cb04 (17:4b04) db $3 ; flag's bit @@ -95195,7 +96152,6 @@ VermilionGymTrainerHeader1: ; 5cb04 (17:4b04) dw VermilionGymAfterBattleText2 ; 0x4bbd TextAfterBattle dw VermilionGymEndBattleText2 ; 0x4bb8 TextEndBattle dw VermilionGymEndBattleText2 ; 0x4bb8 TextEndBattle -; 0x5cb10 VermilionGymTrainerHeader2: ; 5cb10 (17:4b10) db $4 ; flag's bit @@ -95205,9 +96161,8 @@ VermilionGymTrainerHeader2: ; 5cb10 (17:4b10) dw VermilionGymAfterBattleText3 ; 0x4bd6 TextAfterBattle dw VermilionGymEndBattleText3 ; 0x4bd1 TextEndBattle dw VermilionGymEndBattleText3 ; 0x4bd1 TextEndBattle -; 0x5cb1c -db $ff + db $ff VermilionGymText1: ; 5cb1d (17:4b1d) db $08 ; asm @@ -95248,33 +96203,29 @@ VermilionGymText1: ; 5cb1d (17:4b1d) UnnamedText_5cb6d: ; 5cb6d (17:4b6d) TX_FAR _UnnamedText_5cb6d - db $50 -; 0x5cb6d + 5 bytes + db "@" UnnamedText_5cb72: ; 5cb72 (17:4b72) TX_FAR _UnnamedText_5cb72 - db $50 -; 0x5cb72 + 5 bytes + db "@" VermilionGymText6: ; 5cb77 (17:4b77) TX_FAR _UnnamedText_5cb77 - db $50 -; 0x5cb77 + 5 bytes + db "@" VermilionGymText7: ; 5cb7c (17:4b7c) TX_FAR _ReceivedTM24Text ; 0x9c0e0 db $11 TX_FAR _TM24ExplanationText ; 0x9c0f5 - db $50 -; 0x5cb7c + 10 bytes = 0x5cb86 + db "@" VermilionGymText8: ; 5cb86 (17:4b86) TX_FAR _TM24NoRoomText - db $50 + db "@" ReceivedThunderbadgeText: ; 5cb8b (17:4b8b) TX_FAR _ReceivedThunderbadgeText - db $50 + db "@" VermilionGymText2: ; 5cb90 (17:4b90) db $08 ; asm @@ -95284,18 +96235,15 @@ VermilionGymText2: ; 5cb90 (17:4b90) VermilionGymBattleText1: ; 5cb9a (17:4b9a) TX_FAR _VermilionGymBattleText1 - db $50 -; 0x5cb9a + 5 bytes + db "@" VermilionGymEndBattleText1: ; 5cb9f (17:4b9f) TX_FAR _VermilionGymEndBattleText1 - db $50 -; 0x5cb9f + 5 bytes + db "@" VermilionGymAfterBattleText1: ; 5cba4 (17:4ba4) TX_FAR _VermilionGymAfterBattleText1 - db $50 -; 0x5cba4 + 5 bytes + db "@" VermilionGymText3: ; 5cba9 (17:4ba9) db $08 ; asm @@ -95305,18 +96253,15 @@ VermilionGymText3: ; 5cba9 (17:4ba9) VermilionGymBattleText2: ; 5cbb3 (17:4bb3) TX_FAR _VermilionGymBattleText2 - db $50 -; 0x5cbb3 + 5 bytes + db "@" VermilionGymEndBattleText2: ; 5cbb8 (17:4bb8) TX_FAR _VermilionGymEndBattleText2 - db $50 -; 0x5cbb8 + 5 bytes + db "@" VermilionGymAfterBattleText2: ; 5cbbd (17:4bbd) TX_FAR _VermilionGymAfterBattleText2 - db $50 -; 0x5cbbd + 5 bytes + db "@" VermilionGymText4: ; 5cbc2 (17:4bc2) db $08 ; asm @@ -95326,18 +96271,15 @@ VermilionGymText4: ; 5cbc2 (17:4bc2) VermilionGymBattleText3: ; 5cbcc (17:4bcc) TX_FAR _VermilionGymBattleText3 - db $50 -; 0x5cbcc + 5 bytes + db "@" VermilionGymEndBattleText3: ; 5cbd1 (17:4bd1) TX_FAR _VermilionGymEndBattleText3 - db $50 -; 0x5cbd1 + 5 bytes + db "@" VermilionGymAfterBattleText3: ; 5cbd6 (17:4bd6) TX_FAR _VermilionGymAfterBattleText3 - db $50 -; 0x5cbd6 + 5 bytes + db "@" VermilionGymText5: ; 5cbdb (17:4bdb) db $08 ; asm @@ -95355,13 +96297,11 @@ VermilionGymText5: ; 5cbdb (17:4bdb) UnnamedText_5cbf4: ; 5cbf4 (17:4bf4) TX_FAR _UnnamedText_5cbf4 - db $50 -; 0x5cbf4 + 5 bytes + db "@" UnnamedText_5cbf9: ; 5cbf9 (17:4bf9) TX_FAR _UnnamedText_5cbf9 - db $50 -; 0x5cbf9 + 5 bytes + db "@" VermilionGymObject: ; 0x5cbfe (size=58) db $3 ; border tile @@ -95389,17 +96329,21 @@ 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 CopycatsHouseF2Script: ; 5cc71 (17:4c71) jp EnableAutoTextBoxDrawing -; 0x5cc74 -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 @@ -95440,45 +96384,40 @@ CopycatsHouseF2Text1: ; 5cc82 (17:4c82) UnnamedText_5ccd4: ; 5ccd4 (17:4cd4) TX_FAR _UnnamedText_5ccd4 - db $50 -; 0x5ccd4 + 5 bytes + db "@" TM31PreReceiveText: ; 5ccd9 (17:4cd9) TX_FAR _TM31PreReceiveText - db $50 -; 0x5ccd9 + 5 bytes + db "@" ReceivedTM31Text: ; 5ccde (17:4cde) TX_FAR _ReceivedTM31Text ; 0xa1675 db $0B TM31ExplanationText1: ; 5cce3 (17:4ce3) TX_FAR _TM31ExplanationText1 ; 0xa1689 - db $d, $50 -; 0x5cce9 + db $d, "@" TM31ExplanationText2: ; 5cce9 (17:4ce9) TX_FAR _TM31ExplanationText2 ; 0xa16c5 - db $50 -; 0x5cce9 + 5 bytes = 0x5ccee + db "@" TM31NoRoomText: ; 5ccee (17:4cee) TX_FAR _TM31NoRoomText ; 0xa1733 - db $d, $50 -; 0x5ccf4 + db $d, "@" CopycatsHouseF2Text2: ; 5ccf4 (17:4cf4) TX_FAR _CopycatsHouseF2Text2 - db $50 + db "@" CopycatsHouseF2Text5: ; 5ccf9 (17:4cf9) CopycatsHouseF2Text4: ; 5ccf9 (17:4cf9) CopycatsHouseF2Text3: ; 5ccf9 (17:4cf9) TX_FAR _CopycatsHouseF2Text3 - db $50 + db "@" CopycatsHouseF2Text6: ; 5ccfe (17:4cfe) TX_FAR _CopycatsHouseF2Text6 - db $50 + db "@" CopycatsHouseF2Text7: ; 5cd03 (17:4d03) db $08 ; asm @@ -95493,13 +96432,11 @@ CopycatsHouseF2Text7: ; 5cd03 (17:4d03) UnnamedText_5cd17: ; 5cd17 (17:4d17) TX_FAR _UnnamedText_5cd17 - db $50 -; 0x5cd17 + 5 bytes + db "@" UnnamedText_5cd1c: ; 5cd1c (17:4d1c) TX_FAR _UnnamedText_5cd1c - db $50 -; 0x5cd1c + 5 bytes + db "@" CopycatsHouseF2Object: ; 0x5cd21 (size=48) db $a ; border tile @@ -95524,28 +96461,105 @@ 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 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 -; 0x5cd70 -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) @@ -95556,7 +96570,6 @@ FightingDojoTrainerHeader0: ; 5ce13 (17:4e13) dw FightingDojoAfterBattleText1 ; 0x4eb6 TextAfterBattle dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle dw FightingDojoEndBattleText1 ; 0x4eb1 TextEndBattle -; 0x5ce1f FightingDojoTrainerHeader1: ; 5ce1f (17:4e1f) db $3 ; flag's bit @@ -95566,7 +96579,6 @@ FightingDojoTrainerHeader1: ; 5ce1f (17:4e1f) dw FightingDojoAfterBattleText2 ; 0x4ecf TextAfterBattle dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle dw FightingDojoEndBattleText2 ; 0x4eca TextEndBattle -; 0x5ce2b FightingDojoTrainerHeader2: ; 5ce2b (17:4e2b) db $4 ; flag's bit @@ -95576,7 +96588,6 @@ FightingDojoTrainerHeader2: ; 5ce2b (17:4e2b) dw FightingDojoAfterBattleText3 ; 0x4ee8 TextAfterBattle dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle dw FightingDojoEndBattleText3 ; 0x4ee3 TextEndBattle -; 0x5ce37 FightingDojoTrainerHeader3: ; 5ce37 (17:4e37) db $5 ; flag's bit @@ -95586,9 +96597,8 @@ FightingDojoTrainerHeader3: ; 5ce37 (17:4e37) dw FightingDojoAfterBattleText4 ; 0x4f01 TextAfterBattle dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle dw FightingDojoEndBattleText4 ; 0x4efc TextEndBattle -; 0x5ce43 -db $ff + db $ff FightingDojoText1: ; 5ce44 (17:4e44) db $08 ; asm @@ -95625,23 +96635,19 @@ FightingDojoText1: ; 5ce44 (17:4e44) UnnamedText_5ce8e: ; 5ce8e (17:4e8e) TX_FAR _UnnamedText_5ce8e - db $50 -; 0x5ce8e + 5 bytes + db "@" UnnamedText_5ce93: ; 5ce93 (17:4e93) TX_FAR _UnnamedText_5ce93 - db $50 -; 0x5ce93 + 5 bytes + db "@" FightingDojoText8: ; 5ce98 (17:4e98) TX_FAR _UnnamedText_5ce98 - db $50 -; 0x5ce98 + 5 bytes + db "@" UnnamedText_5ce9d: ; 5ce9d (17:4e9d) TX_FAR _UnnamedText_5ce9d - db $50 -; 0x5ce9d + 5 bytes + db "@" FightingDojoText2: ; 5cea2 (17:4ea2) db $08 ; asm @@ -95651,18 +96657,15 @@ FightingDojoText2: ; 5cea2 (17:4ea2) FightingDojoBattleText1: ; 5ceac (17:4eac) TX_FAR _FightingDojoBattleText1 - db $50 -; 0x5ceac + 5 bytes + db "@" FightingDojoEndBattleText1: ; 5ceb1 (17:4eb1) TX_FAR _FightingDojoEndBattleText1 - db $50 -; 0x5ceb1 + 5 bytes + db "@" FightingDojoAfterBattleText1: ; 5ceb6 (17:4eb6) TX_FAR _FightingDojoAfterBattleText1 - db $50 -; 0x5ceb6 + 5 bytes + db "@" FightingDojoText3: ; 5cebb (17:4ebb) db $08 ; asm @@ -95672,18 +96675,15 @@ FightingDojoText3: ; 5cebb (17:4ebb) FightingDojoBattleText2: ; 5cec5 (17:4ec5) TX_FAR _FightingDojoBattleText2 - db $50 -; 0x5cec5 + 5 bytes + db "@" FightingDojoEndBattleText2: ; 5ceca (17:4eca) TX_FAR _FightingDojoEndBattleText2 - db $50 -; 0x5ceca + 5 bytes + db "@" FightingDojoAfterBattleText2: ; 5cecf (17:4ecf) TX_FAR _FightingDojoAfterBattleText2 - db $50 -; 0x5cecf + 5 bytes + db "@" FightingDojoText4: ; 5ced4 (17:4ed4) db $08 ; asm @@ -95693,18 +96693,15 @@ FightingDojoText4: ; 5ced4 (17:4ed4) FightingDojoBattleText3: ; 5cede (17:4ede) TX_FAR _FightingDojoBattleText3 - db $50 -; 0x5cede + 5 bytes + db "@" FightingDojoEndBattleText3: ; 5cee3 (17:4ee3) TX_FAR _FightingDojoEndBattleText3 - db $50 -; 0x5cee3 + 5 bytes + db "@" FightingDojoAfterBattleText3: ; 5cee8 (17:4ee8) TX_FAR _FightingDojoAfterBattleText3 - db $50 -; 0x5cee8 + 5 bytes + db "@" FightingDojoText5: ; 5ceed (17:4eed) db $08 ; asm @@ -95714,18 +96711,15 @@ FightingDojoText5: ; 5ceed (17:4eed) FightingDojoBattleText4: ; 5cef7 (17:4ef7) TX_FAR _FightingDojoBattleText4 - db $50 -; 0x5cef7 + 5 bytes + db "@" FightingDojoEndBattleText4: ; 5cefc (17:4efc) TX_FAR _FightingDojoEndBattleText4 - db $50 -; 0x5cefc + 5 bytes + db "@" FightingDojoAfterBattleText4: ; 5cf01 (17:4f01) TX_FAR _FightingDojoAfterBattleText4 - db $50 -; 0x5cf01 + 5 bytes + db "@" FightingDojoText6: ; 5cf06 (17:4f06) ; Hitmonlee Poké Ball @@ -95764,8 +96758,7 @@ FightingDojoText6: ; 5cf06 (17:4f06) WantHitmonleeText: ; 5cf49 (17:4f49) TX_FAR _WantHitmonleeText - db $50 -; 0x5cf49 + 5 bytes + db "@" FightingDojoText7: ; 5cf4e (17:4f4e) ; Hitmonchan Poké Ball @@ -95804,13 +96797,11 @@ FightingDojoText7: ; 5cf4e (17:4f4e) WantHitmonchanText: ; 5cf91 (17:4f91) TX_FAR _WantHitmonchanText - db $50 -; 0x5cf91 + 5 bytes + db "@" OtherHitmonText: ; 5cf96 (17:4f96) TX_FAR _OtherHitmonText - db $50 -; 0x5cf96 + 5 bytes + db "@" FightingDojoObject: ; 0x5cf9b (size=72) db $3 ; border tile @@ -95840,9 +96831,8 @@ 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 SaffronGymScript: ; 5d00d (17:500d) @@ -95851,13 +96841,13 @@ 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 ret -; 0x5d02a + .extra ld hl, Gym6CityName ; $5033 ld de, Gym6LeaderName ; $5040 @@ -95869,23 +96859,26 @@ Gym6CityName: ; 5d033 (17:5033) Gym6LeaderName: ; 5d040 (17:5040) db "SABRINA@" -; known jump sources: 5d060 (17:5060), 5d0a8 (17:50a8) 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 -; known jump sources: 5d124 (17:5124) Func_5d068: ; 5d068 (17:5068) ld a, $a ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c @@ -95916,9 +96909,20 @@ Func_5d068: ; 5d068 (17:5068) ld hl, $d7b4 set 0, [hl] jp Func_5d048 -; 5d0ab (17:50ab) -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) @@ -95929,7 +96933,6 @@ SaffronGymTrainerHeader0: ; 5d0c3 (17:50c3) dw SaffronGymAfterBattleText1 ; 0x51fa TextAfterBattle dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle dw SaffronGymEndBattleText1 ; 0x51f5 TextEndBattle -; 0x5d0cf SaffronGymTrainerHeader1: ; 5d0cf (17:50cf) db $3 ; flag's bit @@ -95939,7 +96942,6 @@ SaffronGymTrainerHeader1: ; 5d0cf (17:50cf) dw SaffronGymAfterBattleText2 ; 0x5209 TextAfterBattle dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle dw SaffronGymEndBattleText2 ; 0x5204 TextEndBattle -; 0x5d0db SaffronGymTrainerHeader2: ; 5d0db (17:50db) db $4 ; flag's bit @@ -95949,7 +96951,6 @@ SaffronGymTrainerHeader2: ; 5d0db (17:50db) dw SaffronGymAfterBattleText3 ; 0x5218 TextAfterBattle dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle dw SaffronGymEndBattleText3 ; 0x5213 TextEndBattle -; 0x5d0e7 SaffronGymTrainerHeader3: ; 5d0e7 (17:50e7) db $5 ; flag's bit @@ -95959,7 +96960,6 @@ SaffronGymTrainerHeader3: ; 5d0e7 (17:50e7) dw SaffronGymAfterBattleText4 ; 0x5227 TextAfterBattle dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle dw SaffronGymEndBattleText4 ; 0x5222 TextEndBattle -; 0x5d0f3 SaffronGymTrainerHeader4: ; 5d0f3 (17:50f3) db $6 ; flag's bit @@ -95969,7 +96969,6 @@ SaffronGymTrainerHeader4: ; 5d0f3 (17:50f3) dw SaffronGymAfterBattleText5 ; 0x5236 TextAfterBattle dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle dw SaffronGymEndBattleText5 ; 0x5231 TextEndBattle -; 0x5d0ff SaffronGymTrainerHeader5: ; 5d0ff (17:50ff) db $7 ; flag's bit @@ -95979,7 +96978,6 @@ SaffronGymTrainerHeader5: ; 5d0ff (17:50ff) dw SaffronGymAfterBattleText6 ; 0x5245 TextAfterBattle dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle dw SaffronGymEndBattleText6 ; 0x5240 TextEndBattle -; 0x5d10b SaffronGymTrainerHeader6: ; 5d10b (17:510b) db $8 ; flag's bit @@ -95989,9 +96987,8 @@ SaffronGymTrainerHeader6: ; 5d10b (17:510b) dw SaffronGymAfterBattleText7 ; 0x5254 TextAfterBattle dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle dw SaffronGymEndBattleText7 ; 0x524f TextEndBattle -; 0x5d117 -db $ff + db $ff SaffronGymText1: ; 5d118 (17:5118) db $08 ; asm @@ -96029,36 +97026,31 @@ SaffronGymText1: ; 5d118 (17:5118) UnnamedText_5d162: ; 5d162 (17:5162) TX_FAR _UnnamedText_5d162 - db $50 -; 0x5d162 + 5 bytes + db "@" UnnamedText_5d167: ; 5d167 (17:5167) TX_FAR _UnnamedText_5d167 ; 0xa1c73 db $11 ; play same sound as red giving oak parcel db $6 ; wait for keypress - db $50 -; 0x5d16e + db "@" UnnamedText_5d16e: ; 5d16e (17:516e) TX_FAR _UnnamedText_5d16e - db $50 -; 0x5d16e + 5 bytes + db "@" SaffronGymText10: ; 5d173 (17:5173) TX_FAR _UnnamedText_5d173 - db $50 -; 0x5d173 + 5 bytes + db "@" SaffronGymText11: ; 5d178 (17:5178) TX_FAR ReceivedTM46Text db $b TX_FAR _TM46ExplanationText - db $50 + db "@" SaffronGymText12: ; 5d182 (17:5182) TX_FAR _TM46NoRoomText ; pack full - db $50 -; 0x5d182 + 5 bytes + db "@" SaffronGymText2: ; 5d187 (17:5187) db $08 ; asm @@ -96118,118 +97110,95 @@ SaffronGymText9: ; 5d1cd (17:51cd) UnnamedText_5d1e6: ; 5d1e6 (17:51e6) TX_FAR _UnnamedText_5d1e6 - db $50 -; 0x5d1e6 + 5 bytes + db "@" UnnamedText_5d1eb: ; 5d1eb (17:51eb) TX_FAR _UnnamedText_5d1eb - db $50 -; 0x5d1eb + 5 bytes + db "@" SaffronGymBattleText1: ; 5d1f0 (17:51f0) TX_FAR _SaffronGymBattleText1 - db $50 -; 0x5d1f0 + 5 bytes + db "@" SaffronGymEndBattleText1: ; 5d1f5 (17:51f5) TX_FAR _SaffronGymEndBattleText1 - db $50 -; 0x5d1f5 + 5 bytes + db "@" SaffronGymAfterBattleText1: ; 5d1fa (17:51fa) TX_FAR _SaffronGymAfterBattleText1 - db $50 -; 0x5d1fa + 5 bytes + db "@" SaffronGymBattleText2: ; 5d1ff (17:51ff) TX_FAR _SaffronGymBattleText2 - db $50 -; 0x5d1ff + 5 bytes + db "@" SaffronGymEndBattleText2: ; 5d204 (17:5204) TX_FAR _SaffronGymEndBattleText2 - db $50 -; 0x5d204 + 5 bytes + db "@" SaffronGymAfterBattleText2: ; 5d209 (17:5209) TX_FAR _SaffronGymAfterBattleText2 - db $50 -; 0x5d209 + 5 bytes + db "@" SaffronGymBattleText3: ; 5d20e (17:520e) TX_FAR _SaffronGymBattleText3 - db $50 -; 0x5d20e + 5 bytes + db "@" SaffronGymEndBattleText3: ; 5d213 (17:5213) TX_FAR _SaffronGymEndBattleText3 - db $50 -; 0x5d213 + 5 bytes + db "@" SaffronGymAfterBattleText3: ; 5d218 (17:5218) TX_FAR _SaffronGymAfterBattleText3 - db $50 -; 0x5d218 + 5 bytes + db "@" SaffronGymBattleText4: ; 5d21d (17:521d) TX_FAR _SaffronGymBattleText4 - db $50 -; 0x5d21d + 5 bytes + db "@" SaffronGymEndBattleText4: ; 5d222 (17:5222) TX_FAR _SaffronGymEndBattleText4 - db $50 -; 0x5d222 + 5 bytes + db "@" SaffronGymAfterBattleText4: ; 5d227 (17:5227) TX_FAR _SaffronGymAfterBattleText4 - db $50 -; 0x5d227 + 5 bytes + db "@" SaffronGymBattleText5: ; 5d22c (17:522c) TX_FAR _SaffronGymBattleText5 - db $50 -; 0x5d22c + 5 bytes + db "@" SaffronGymEndBattleText5: ; 5d231 (17:5231) TX_FAR _SaffronGymEndBattleText5 - db $50 -; 0x5d231 + 5 bytes + db "@" SaffronGymAfterBattleText5: ; 5d236 (17:5236) TX_FAR _SaffronGymAfterBattleText5 - db $50 -; 0x5d236 + 5 bytes + db "@" SaffronGymBattleText6: ; 5d23b (17:523b) TX_FAR _SaffronGymBattleText6 - db $50 -; 0x5d23b + 5 bytes + db "@" SaffronGymEndBattleText6: ; 5d240 (17:5240) TX_FAR _SaffronGymEndBattleText6 - db $50 -; 0x5d240 + 5 bytes + db "@" SaffronGymAfterBattleText6: ; 5d245 (17:5245) TX_FAR _SaffronGymAfterBattleText6 - db $50 -; 0x5d245 + 5 bytes + db "@" SaffronGymBattleText7: ; 5d24a (17:524a) TX_FAR _SaffronGymBattleText7 - db $50 -; 0x5d24a + 5 bytes + db "@" SaffronGymEndBattleText7: ; 5d24f (17:524f) TX_FAR _SaffronGymEndBattleText7 - db $50 -; 0x5d24f + 5 bytes + db "@" SaffronGymAfterBattleText7: ; 5d254 (17:5254) TX_FAR _SaffronGymAfterBattleText7 - db $50 -; 0x5d254 + 5 bytes + db "@" SaffronGymObject: ; 0x5d259 (size=330) db $2e ; border tile @@ -96321,25 +97290,25 @@ 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 SaffronMartScript: ; 5d409 (17:5409) jp EnableAutoTextBoxDrawing -; 0x5d40c -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 - db $50 + db "@" SaffronMartText3: ; 5d417 (17:5417) TX_FAR _SaffronMartText3 - db $50 + db "@" SaffronMartObject: ; 0x5d41c (size=38) db $0 ; border tile @@ -96362,9 +97331,8 @@ 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 SilphCo1Script: ; 5d44e (17:544e) @@ -96380,14 +97348,13 @@ SilphCo1Script: ; 5d44e (17:544e) ld [$cc4d], a ld a, $15 jp Predef -; 0x5d469 -SilphCo1Texts: ; 5d469 (17:5469) +SilphCo1TextPointers: ; 5d469 (17:5469) dw SilphCo1Text1 SilphCo1Text1: ; 5d46b (17:546b) TX_FAR _SilphCo1Text1 - db $50 + db "@" SilphCo1Object: ; 0x5d470 (size=50) db $2e ; border tile @@ -96417,29 +97384,30 @@ 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 SaffronPokecenterScript: ; 5d535 (17:5535) call Func_22fa jp EnableAutoTextBoxDrawing -; 0x5d53b -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 SaffronPokecenterText2: ; 5d544 (17:5544) TX_FAR _SaffronPokecenterText1 - db $50 + db "@" SaffronPokecenterText3: ; 5d549 (17:5549) TX_FAR _SaffronPokecenterText3 - db $50 + db "@" SaffronPokecenterText4: ; 5d54e (17:554e) db $f6 @@ -96466,25 +97434,24 @@ 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 ViridianForestexitScript: ; 5d587 (17:5587) jp EnableAutoTextBoxDrawing -; 0x5d58a -ViridianForestexitTexts: ; 5d58a (17:558a) - dw ViridianForestexitText1, ViridianForestexitText2 +ViridianForestexitTextPointers: ; 5d58a (17:558a) + dw ViridianForestexitText1 + dw ViridianForestexitText2 ViridianForestexitText1: ; 5d58e (17:558e) TX_FAR _ViridianForestexitText1 - db $50 + db "@" ViridianForestexitText2: ; 5d593 (17:5593) TX_FAR _ViridianForestexitText2 - db $50 + db "@" ViridianForestexitObject: ; 0x5d598 (size=48) db $a ; border tile @@ -96510,17 +97477,16 @@ 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 Route2GateScript: ; 5d5d4 (17:55d4) jp EnableAutoTextBoxDrawing -; 0x5d5d7 -Route2GateTexts: ; 5d5d7 (17:55d7) - dw Route2GateText1, Route2GateText2 +Route2GateTextPointers: ; 5d5d7 (17:55d7) + dw Route2GateText1 + dw Route2GateText2 Route2GateText1: ; 5d5db (17:55db) db $08 ; asm @@ -96552,12 +97518,11 @@ Route2GateText1: ; 5d5db (17:55db) UnnamedText_5d616: ; 5d616 (17:5616) TX_FAR _UnnamedText_5d616 - db $50 -; 0x5d616 + 5 bytes + db "@" Route2GateText2: ; 5d61b (17:561b) TX_FAR _Route2GateText2 - db $50 + db "@" Route2GateObject: ; 0x5d620 (size=48) db $a ; border tile @@ -96583,25 +97548,24 @@ 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 ViridianForestEntranceScript: ; 5d65c (17:565c) jp EnableAutoTextBoxDrawing -; 0x5d65f -ViridianForestEntranceTexts: ; 5d65f (17:565f) - dw ViridianForestEntranceText1, ViridianForestEntranceText2 +ViridianForestEntranceTextPointers: ; 5d65f (17:565f) + dw ViridianForestEntranceText1 + dw ViridianForestEntranceText2 ViridianForestEntranceText1: ; 5d663 (17:5663) TX_FAR _ViridianForestEntranceText1 - db $50 + db "@" ViridianForestEntranceText2: ; 5d668 (17:5668) TX_FAR _ViridianForestEntranceText2 - db $50 + db "@" ViridianForestEntranceObject: ; 0x5d66d (size=48) db $a ; border tile @@ -96627,27 +97591,25 @@ 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 UndergroundTunnelEntranceRoute5Script: ; 5d6a9 (17:56a9) ld a, $10 ld [$d365], a ret -; 0x5d6af 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 @@ -96674,25 +97636,21 @@ 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 UndergroundTunnelEntranceRoute6Script: ; 5d6ef (17:56ef) ld a, $11 ld [$d365], a jp EnableAutoTextBoxDrawing -; 0x5d6f7 -UndergroundTunnelEntranceRoute6Texts: ; 5d6f7 (17:56f7) +UndergroundTunnelEntranceRoute6TextPointers: ; 5d6f7 (17:56f7) dw UndergroundTunnelEntranceRoute6Text1 -;XXX wtf? syntax error on TX_FAR? UndergroundTunnelEntranceRoute6Text1: ; 5d6f9 (17:56f9) - db $17, $cb, $40, $23 - ;TX_FAR _UndergroundTunnelEntranceRoute6Text1 ; $cb, $40, $23 - db $50 + TX_FAR _UndergrdTunnelEntRoute6Text1 + db "@" UndergroundTunnelEntranceRoute6Object: ; 0x5d6fe (size=34) db $a ; border tile @@ -96715,24 +97673,21 @@ 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 UndergroundPathEntranceRoute7Script: ; 5d72c (17:572c) ld a, $12 ld [$d365], a jp EnableAutoTextBoxDrawing -; 0x5d734 -UndergroundPathEntranceRoute7Texts: ; 5d734 (17:5734) +UndergroundPathEntranceRoute7TextPointers: ; 5d734 (17:5734) dw UndergroundPathEntranceRoute7Text1 UndergroundPathEntranceRoute7Text1: ; 5d736 (17:5736) - db $17, $ff, $40, $23 - ;TX_FAR _UndergroundPathEntranceRoute7Text1 - db $50 + TX_FAR _UndergroundPathEntRoute7Text1 + db "@" UndergroundPathEntranceRoute7Object: ; 0x5d73b (size=34) db $a ; border tile @@ -96752,55 +97707,80 @@ 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 - db $50 -; 0x5d773 + 5 bytes + db "@" UnnamedText_5d778: ; 5d778 (17:5778) TX_FAR _UnnamedText_5d778 - db $50 -; 0x5d778 + 5 bytes + db "@" UnnamedText_5d77d: ; 5d77d (17:577d) TX_FAR _UnnamedText_5d77d - db $50 -; 0x5d77d + 5 bytes + db "@" UnnamedText_5d782: ; 5d782 (17:5782) TX_FAR _UnnamedText_5d782 - db $50 -; 0x5d782 + 5 bytes + db "@" + +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 -INCBIN "baserom.gbc",$5d787,$5d7af - $5d787 + ; 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 -; 0x5d7d1 -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] @@ -96842,10 +97822,9 @@ 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 -; known jump sources: 5d7dc (17:57dc) Func_5d837: ; 5d837 (17:5837) push hl ld hl, $d73f @@ -96882,7 +97861,6 @@ Func_5d837: ; 5d837 (17:5837) ld [$FF00+$e0], a ret -; known jump sources: 5d7df (17:57df) Func_5d863: ; 5d863 (17:5863) ld hl, $d834 ld a, [$FF00+$e0] @@ -96908,11 +97886,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) @@ -96923,7 +97906,6 @@ SilphCo9TrainerHeader0: ; 5d893 (17:5893) dw SilphCo9AfterBattleText1 ; 0x591c TextAfterBattle dw SilphCo9EndBattleText1 ; 0x5917 TextEndBattle dw SilphCo9EndBattleText1 ; 0x5917 TextEndBattle -; 0x5d89f SilphCo9TrainerHeader1: ; 5d89f (17:589f) db $3 ; flag's bit @@ -96933,7 +97915,6 @@ SilphCo9TrainerHeader1: ; 5d89f (17:589f) dw SilphCo9AfterBattleText2 ; 0x592b TextAfterBattle dw SilphCo9EndBattleText2 ; 0x5926 TextEndBattle dw SilphCo9EndBattleText2 ; 0x5926 TextEndBattle -; 0x5d8ab SilphCo9TrainerHeader2: ; 5d8ab (17:58ab) db $4 ; flag's bit @@ -96943,9 +97924,8 @@ SilphCo9TrainerHeader2: ; 5d8ab (17:58ab) dw SilphCo9AfterBattleText3 ; 0x593a TextAfterBattle dw SilphCo9EndBattleText3 ; 0x5935 TextEndBattle dw SilphCo9EndBattleText3 ; 0x5935 TextEndBattle -; 0x5d8b7 -db $ff + db $ff SilphCo9Text1: ; 5d8b8 (17:58b8) db $08 ; asm @@ -96970,18 +97950,15 @@ SilphCo9Text1: ; 5d8b8 (17:58b8) UnnamedText_5d8e5: ; 5d8e5 (17:58e5) TX_FAR _UnnamedText_5d8e5 - db $50 -; 0x5d8e5 + 5 bytes + db "@" UnnamedText_5d8ea: ; 5d8ea (17:58ea) TX_FAR _UnnamedText_5d8ea - db $50 -; 0x5d8ea + 5 bytes + db "@" UnnamedText_5d8ef: ; 5d8ef (17:58ef) TX_FAR _UnnamedText_5d8ef - db $50 -; 0x5d8ef + 5 bytes + db "@" SilphCo9Text2: ; 5d8f4 (17:58f4) db $08 ; asm @@ -97003,48 +97980,39 @@ SilphCo9Text4: ; 5d908 (17:5908) SilphCo9BattleText1: ; 5d912 (17:5912) TX_FAR _SilphCo9BattleText1 - db $50 -; 0x5d912 + 5 bytes + db "@" SilphCo9EndBattleText1: ; 5d917 (17:5917) TX_FAR _SilphCo9EndBattleText1 - db $50 -; 0x5d917 + 5 bytes + db "@" SilphCo9AfterBattleText1: ; 5d91c (17:591c) TX_FAR _SilphCo9AfterBattleText1 - db $50 -; 0x5d91c + 5 bytes + db "@" SilphCo9BattleText2: ; 5d921 (17:5921) TX_FAR _SilphCo9BattleText2 - db $50 -; 0x5d921 + 5 bytes + db "@" SilphCo9EndBattleText2: ; 5d926 (17:5926) TX_FAR _SilphCo9EndBattleText2 - db $50 -; 0x5d926 + 5 bytes + db "@" SilphCo9AfterBattleText2: ; 5d92b (17:592b) TX_FAR _SilphCo9AfterBattleText2 - db $50 -; 0x5d92b + 5 bytes + db "@" SilphCo9BattleText3: ; 5d930 (17:5930) TX_FAR _SilphCo9BattleText3 - db $50 -; 0x5d930 + 5 bytes + db "@" SilphCo9EndBattleText3: ; 5d935 (17:5935) TX_FAR _SilphCo9EndBattleText3 - db $50 -; 0x5d935 + 5 bytes + db "@" SilphCo9AfterBattleText3: ; 5d93a (17:593a) TX_FAR _SilphCo9AfterBattleText3 - db $50 -; 0x5d93a + 5 bytes + db "@" SilphCo9Object: ; 0x5d93f (size=74) db $2e ; border tile @@ -97077,9 +98045,8 @@ 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 VictoryRoad1Script: ; 5da0a (17:5a0a) @@ -97089,12 +98056,11 @@ 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 ret -; 0x5da27 .next ld a, [$d869] bit 7, a @@ -97105,12 +98071,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 @@ -97119,11 +98089,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) @@ -97134,7 +98110,6 @@ VictoryRoad1TrainerHeader0: ; 5da6d (17:5a6d) dw VictoryRoad1AfterBattleText1 ; 0x5aa4 TextAfterBattle dw VictoryRoad1EndBattleText1 ; 0x5a9f TextEndBattle dw VictoryRoad1EndBattleText1 ; 0x5a9f TextEndBattle -; 0x5da79 VictoryRoad1TrainerHeader1: ; 5da79 (17:5a79) db $2 ; flag's bit @@ -97144,9 +98119,8 @@ VictoryRoad1TrainerHeader1: ; 5da79 (17:5a79) dw VictoryRoad1AfterBattleText2 ; 0x5ab3 TextAfterBattle dw VictoryRoad1EndBattleText2 ; 0x5aae TextEndBattle dw VictoryRoad1EndBattleText2 ; 0x5aae TextEndBattle -; 0x5da85 -db $ff + db $ff VictoryRoad1Text1: ; 5da86 (17:5a86) db $08 ; asm @@ -97162,33 +98136,27 @@ VictoryRoad1Text2: ; 5da90 (17:5a90) VictoryRoad1BattleText1: ; 5da9a (17:5a9a) TX_FAR _VictoryRoad1BattleText1 - db $50 -; 0x5da9a + 5 bytes + db "@" VictoryRoad1EndBattleText1: ; 5da9f (17:5a9f) TX_FAR _VictoryRoad1EndBattleText1 - db $50 -; 0x5da9f + 5 bytes + db "@" VictoryRoad1AfterBattleText1: ; 5daa4 (17:5aa4) TX_FAR _VictoryRoad1AfterBattleText1 - db $50 -; 0x5daa4 + 5 bytes + db "@" VictoryRoad1BattleText2: ; 5daa9 (17:5aa9) TX_FAR _VictoryRoad1BattleText2 - db $50 -; 0x5daa9 + 5 bytes + db "@" VictoryRoad1EndBattleText2: ; 5daae (17:5aae) TX_FAR _VictoryRoad1EndBattleText2 - db $50 -; 0x5daae + 5 bytes + db "@" VictoryRoad1AfterBattleText2: ; 5dab3 (17:5ab3) TX_FAR _VictoryRoad1AfterBattleText2 - db $50 -; 0x5dab3 + 5 bytes + db "@" VictoryRoad1Object: ; 0x5dab8 (size=76) db $7d ; border tile @@ -97217,7 +98185,6 @@ VictoryRoad1Object: ; 0x5dab8 (size=76) VictoryRoad1Blocks: ; 5db04 (17:5b04) INCBIN "maps/victoryroad1.blk" -; known jump sources: 3aeaa (e:6eaa) ; updates the types of a party mon (pointed to in hl) to the ones of the mon specified in $d11e SetPartyMonTypes: ; 5db5e (17:5b5e) call Load16BitRegisters @@ -97234,48 +98201,64 @@ 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 $50 -; 0x5db81 + 5 bytes +RedBedroomSNESText: ; 5db81 (17:5b81) + TX_FAR _RedBedroomSNESText + db "@" + +Func_5db86: ; 5db86 (17:5b86) + call EnableAutoTextBoxDrawing + ld a, $3 + jp Func_3ef5 -INCBIN "baserom.gbc",$5db86,$5dba8 - $5db86 +Route15UpstairsLeftBinoculars: ; 5db8e (17:5b8e) + db $fc + ld a, [$c109] + cp $4 ; i + ret nz + call EnableAutoTextBoxDrawing + ld a, $a ; text id Route15UpstairsBinocularsText + call Func_3ef5 + ld a, ARTICUNO + ld [$cf91], a + call PlayCry + jp DisplayMonFrontSpriteInBox -UnnamedText_5dba8: ; 5dba8 (17:5ba8) - TX_FAR _UnnamedText_5dba8 - db $50 -; 0x5dba8 + 5 bytes +Route15UpstairsBinocularsText: ; 5dba8 (17:5ba8) + TX_FAR _Route15UpstairsBinocularsText + db "@" ld a, $b7 ld [$cf91], a - call Func_5dbd9 + call DisplayMonFrontSpriteInBox call EnableAutoTextBoxDrawing ld a, $9 call Func_3ef5 ret -; 5dbbe (17:5bbe) -UnnamedText_5dbbe: ; 5dbbe (17:5bbe) - TX_FAR _UnnamedText_5dbbe - db $50 -; 0x5dbbe + 5 bytes + +AerodactylFossilText: ; 5dbbe (17:5bbe) + TX_FAR _AerodactylFossilText + db "@" ld a, $b6 ld [$cf91], a - call Func_5dbd9 + call DisplayMonFrontSpriteInBox call EnableAutoTextBoxDrawing ld a, $b call Func_3ef5 ret -; 5dbd4 (17:5bd4) -UnnamedText_5dbd4: ; 5dbd4 (17:5bd4) - TX_FAR _UnnamedText_5dbd4 - db $50 -; 0x5dbd4 + 5 bytes -; known jump sources: 5dbb2 (17:5bb2), 5dbc8 (17:5bc8) -Func_5dbd9: ; 5dbd9 (17:5bd9) +KabutopsFossilText: ; 5dbd4 (17:5bd4) + TX_FAR _KabutopsFossilText + db "@" + +DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9) +; Displays a pokemon's front sprite in a pop-up window. +; [$cf91] = pokemon interal id number ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba call Delay3 @@ -97304,7 +98287,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 @@ -97312,45 +98295,44 @@ Unknown_5dc1a: ; 5dc1a (17:5c1a) call Func_3ef5 ret -INCBIN "baserom.gbc",$5dc29,$5dc2a - $5dc29 - -Unknown_5dc2a: ; 5dc2a (17:5c2a) +LinkCableHelp: ; 5dc29 (17:5c29) + db $08 ; asm call SaveScreenTilesToBuffer1 - ld hl, UnnamedText_5dc9e + ld hl, LinkCableHelpText1 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 ld hl, $c3ca ld de, HowToLinkText call PlaceString - ld hl, UnnamedText_5dca3 + ld hl, LinkCableHelpText2 call PrintText 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 res 6, [hl] - ld hl, PointerTable_5dcd8 + ld hl, LinkCableInfoTexts add a ld d, $0 ld e, a @@ -97366,103 +98348,172 @@ Unknown_5dc2a: ; 5dc2a (17:5c2a) call LoadScreenTilesFromBuffer1 jp TextScriptEnd -UnnamedText_5dc9e: ; 5dc9e (17:5c9e) - TX_FAR _UnnamedText_5dc9e - db $50 -; 0x5dc9e + 5 bytes +LinkCableHelpText1: ; 5dc9e (17:5c9e) + TX_FAR _LinkCableHelpText1 + db "@" -UnnamedText_5dca3: ; 5dca3 (17:5ca3) - TX_FAR _UnnamedText_5dca3 - db $50 -; 0x5dca3 + 5 bytes +LinkCableHelpText2: ; 5dca3 (17:5ca3) + TX_FAR _LinkCableHelpText2 + db "@" HowToLinkText: ; 5dca8 (17:5ca8) db "HOW TO LINK",$4e,"COLOSSEUM",$4e,"TRADE CENTER",$4e,"STOP READING@" -PointerTable_5dcd8: ; 5dcd8 (17:5cd8) - dw UnnamedText_5dcde - dw UnnamedText_5dce3 - dw UnnamedText_5dce8 +LinkCableInfoTexts: ; 5dcd8 (17:5cd8) + dw LinkCableInfoText1 + dw LinkCableInfoText2 + dw LinkCableInfoText3 -UnnamedText_5dcde: ; 5dcde (17:5cde) - TX_FAR _UnnamedText_5dcde - db $50 -; 0x5dcde + 5 bytes +LinkCableInfoText1: ; 5dcde (17:5cde) + TX_FAR _LinkCableInfoText1 + db "@" -UnnamedText_5dce3: ; 5dce3 (17:5ce3) - TX_FAR _UnnamedText_5dce3 - db $50 -; 0x5dce3 + 5 bytes +LinkCableInfoText2: ; 5dce3 (17:5ce3) + TX_FAR _LinkCableInfoText2 + db "@" -UnnamedText_5dce8: ; 5dce8 (17:5ce8) - TX_FAR _UnnamedText_5dce8 - db $50 -; 0x5dce8 + 5 bytes +LinkCableInfoText3: ; 5dce8 (17:5ce8) + TX_FAR _LinkCableInfoText3 + db "@" -INCBIN "baserom.gbc",$5dced,$5dda2 - $5dced +ViridianSchoolBlackboard: ; 5dced (17:5ced) + db $08 ; asm + call SaveScreenTilesToBuffer1 + ld hl, ViridianSchoolBlackboardText1 + 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, ViridianSchoolBlackboardText2 + call PrintText + call HandleMenuInput + bit 1, a + jr nz, .exitBlackboard + 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, .exitBlackboard + ld hl, $d730 + res 6, [hl] + ld hl, ViridianBlackboardStatusPointers + add a + ld d, $0 + ld e, a + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + jp .asm_5dd15 +.exitBlackboard + ld hl, $d730 + res 6, [hl] + call LoadScreenTilesFromBuffer1 + jp TextScriptEnd -UnnamedText_5dda2: ; 5dda2 (17:5da2) - TX_FAR _UnnamedText_5dda2 - db $50 -; 0x5dda2 + 5 bytes +ViridianSchoolBlackboardText1: ; 5dda2 (17:5da2) + TX_FAR _ViridianSchoolBlackboardText1 + db "@" -UnnamedText_5dda7: ; 5dda7 (17:5da7) - TX_FAR _UnnamedText_5dda7 - db $50 -; 0x5dda7 + 5 bytes +ViridianSchoolBlackboardText2: ; 5dda7 (17:5da7) + TX_FAR _ViridianSchoolBlackboardText2 + 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@@" - -PointerTable_5ddcc: ; 5ddcc (17:5ddc) - dw UnnamedText_5ddd6 - dw UnnamedText_5dddb - dw UnnamedText_5dde0 - dw UnnamedText_5dde5 - dw UnnamedText_5ddea - -UnnamedText_5ddd6: ; 5ddd6 (17:5dd6) - TX_FAR _UnnamedText_5ddd6 - db $50 -; 0x5ddd6 + 5 bytes -UnnamedText_5dddb: ; 5dddb (17:5ddb) - TX_FAR _UnnamedText_5dddb - db $50 -; 0x5dddb + 5 bytes +ViridianBlackboardStatusPointers: ; 5ddcc (17:5ddc) + dw ViridianBlackboardSleepText + dw ViridianBlackboardPoisonText + dw ViridianBlackbaordPrlzText + dw ViridianBlackboardBurnText + dw ViridianBlackboardFrozenText -UnnamedText_5dde0: ; 5dde0 (17:5de0) - TX_FAR _UnnamedText_5dde0 - db $50 -; 0x5dde0 + 5 bytes +ViridianBlackboardSleepText: ; 5ddd6 (17:5dd6) + TX_FAR _ViridianBlackboardSleepText + db "@" -UnnamedText_5dde5: ; 5dde5 (17:5de5) - TX_FAR _UnnamedText_5dde5 - db $50 -; 0x5dde5 + 5 bytes +ViridianBlackboardPoisonText: ; 5dddb (17:5ddb) + TX_FAR _ViridianBlackboardPoisonText + db "@" -UnnamedText_5ddea: ; 5ddea (17:5dea) - TX_FAR _UnnamedText_5ddea - db $50 -; 0x5ddea + 5 bytes +ViridianBlackbaordPrlzText: ; 5dde0 (17:5de0) + TX_FAR _ViridianBlackbaordPrlzText + db "@" + +ViridianBlackboardBurnText: ; 5dde5 (17:5de5) + TX_FAR _ViridianBlackboardBurnText + db "@" + +ViridianBlackboardFrozenText: ; 5ddea (17:5dea) + TX_FAR _ViridianBlackboardFrozenText + db "@" -Unknown_5ddef: ; 5ddef (17:5def) +Func_5ddef: ; 5ddef (17:5def) call EnableAutoTextBoxDrawing ld a, $26 jp Func_3ef5 -UnnamedText_5ddf7: ; 5ddf7 (17:5df7) - TX_FAR _UnnamedText_5ddf7 - db $50 -; 0x5ddf7 + 5 bytes +VermilionGymTrashText: ; 5ddf7 (17:5df7) + TX_FAR _VermilionGymTrashText + db "@" call EnableAutoTextBoxDrawing - ld a, [W_WHICHTRADE] ; $cd3d + ld a, [wWhichTrade] ; $cd3d ld [$cd5b], a ld a, [$d773] bit 0, a @@ -97532,32 +98583,47 @@ 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 + +VermilionGymTrashSuccesText1: ; 5dec8 (17:5ec8) + TX_FAR _VermilionGymTrashSuccesText1 + db $08 ; asm + call WaitForSoundToFinish + ld a, $9d + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +VermilionGymTrashSuccesText2: ; 5dedb (17:5edb) + TX_FAR _VermilionGymTrashSuccesText2 + db "@" + +UnnamedText_5dee0: ; 5dee0 (17:5ee0) + db $08 ; asm call WaitForSoundToFinish ld a, $9d call PlaySound call WaitForSoundToFinish jp TextScriptEnd -; 5dedb (17:5edb) -UnnamedText_5dedb: ; 5dedb (17:5edb) - TX_FAR _UnnamedText_5dedb - db $50 -; 0x5dedb + 5 bytes -INCBIN "baserom.gbc",$5dee0,$5def4 - $5dee0 +VermilionGymTrashSuccesText3: ; 5deef (17:5eef) + TX_FAR _VermilionGymTrashSuccesText3 + db $08 ; asm call WaitForSoundToFinish ld a, $ad call PlaySound call WaitForSoundToFinish jp TextScriptEnd -INCBIN "baserom.gbc",$5df02,$5df07 - $5df02 +VermilionGymTrashFailText: ; 5df02 (17:5f02) + TX_FAR _VermilionGymTrashFailText + db $08 ; asm call WaitForSoundToFinish ld a, $a5 call PlaySound call WaitForSoundToFinish jp TextScriptEnd -; 5df15 (17:5f15) + SECTION "bank18",ROMX,BANK[$18] ViridianForestBlocks: ; 60000 (18:4000) @@ -97566,7 +98632,10 @@ ViridianForestBlocks: ; 60000 (18:4000) UndergroundPathNSBlocks: ; 60198 (18:4198) INCBIN "maps/undergroundpathns.blk" -INCBIN "baserom.gbc",$601f8,$603c0 - $601f8 +UndergroundPathWEBlocks: ; 601f4 (18:41f4) + INCBIN "maps/undergroundpathwe.blk" + + INCBIN "maps/unusedblocks60258.blk" SSAnne10Blocks: ; 603c0 (18:43c0) SSAnne9Blocks: ; 603c0 (18:43c0) @@ -97575,37 +98644,39 @@ 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 PokemonTower1Script: ; 6042c (18:442c) jp EnableAutoTextBoxDrawing -; 0x6042f -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 - db $50 + db "@" PokemonTower1Text2: ; 6043e (18:443e) TX_FAR _PokemonTower1Text2 - db $50 + db "@" PokemonTower1Text3: ; 60443 (18:4443) TX_FAR _PokemonTower1Text3 - db $50 + db "@" PokemonTower1Text4: ; 60448 (18:4448) TX_FAR _PokemonTower1Text4 - db $50 + db "@" PokemonTower1Text5: ; 6044d (18:444d) TX_FAR _PokemonTower1Text5 - db $50 + db "@" PokemonTower1Object: ; 0x60452 (size=58) db $1 ; border tile @@ -97635,34 +98706,33 @@ 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 -; 0x604fe -; known jump sources: 60568 (18:4568) Func_604fe: ; 604fe (18:44fe) xor a - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a ld [W_POKEMONTOWER2CURSCRIPT], a ld [W_CURMAPSCRIPT], a ret -; 60509 (18:4509) -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 @@ -97696,27 +98766,28 @@ PokemonTower2Script0: ; 6050f (18:450f) ld [H_CURRENTPRESSEDBUTTONS], a ld [H_NEWLYPRESSEDBUTTONS], a ret -; 0x6055e -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 @@ -97731,13 +98802,12 @@ PokemonTower2Script1: ; 60563 (18:4563) ld [W_POKEMONTOWER2CURSCRIPT], a ld [W_CURMAPSCRIPT], a ret -; 0x605a9 -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] @@ -97748,16 +98818,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 -; 0x605db -PokemonTower2Texts: ; 605db (18:45db) - dw PokemonTower2Text1, PokemonTower2Text2 +PokemonTower2TextPointers: ; 605db (18:45db) + dw PokemonTower2Text1 + dw PokemonTower2Text2 PokemonTower2Text1: ; 605df (18:45df) db $08 ; asm @@ -97803,27 +98873,23 @@ PokemonTower2Text1: ; 605df (18:45df) UnnamedText_6062d: ; 6062d (18:462d) TX_FAR _UnnamedText_6062d - db $50 -; 0x6062d + 5 bytes + db "@" UnnamedText_60632: ; 60632 (18:4632) TX_FAR _UnnamedText_60632 - db $50 -; 0x60632 + 5 bytes + db "@" UnnamedText_60637: ; 60637 (18:4637) TX_FAR _UnnamedText_60637 - db $50 -; 0x60637 + 5 bytes + db "@" UnnamedText_6063c: ; 6063c (18:463c) TX_FAR _UnnamedText_6063c - db $50 -; 0x6063c + 5 bytes + db "@" PokemonTower2Text2: ; 60641 (18:4641) TX_FAR _PokemonTower2Text2 - db $50 + db "@" PokemonTower2Object: ; 0x60646 (size=32) db $1 ; border tile @@ -97848,26 +98914,29 @@ 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 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 -; 0x606df -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) @@ -97878,7 +98947,6 @@ PokemonTower3TrainerHeader0: ; 606ed (18:46ed) dw PokemonTower3AfterBattleText1 ; 0x473a TextAfterBattle dw PokemonTower3EndBattleText1 ; 0x4735 TextEndBattle dw PokemonTower3EndBattleText1 ; 0x4735 TextEndBattle -; 0x606f9 PokemonTower3TrainerHeader1: ; 606f9 (18:46f9) db $2 ; flag's bit @@ -97888,7 +98956,6 @@ PokemonTower3TrainerHeader1: ; 606f9 (18:46f9) dw PokemonTower3AfterBattleText2 ; 0x4749 TextAfterBattle dw PokemonTower3EndBattleText2 ; 0x4744 TextEndBattle dw PokemonTower3EndBattleText2 ; 0x4744 TextEndBattle -; 0x60705 PokemonTower3TrainerHeader2: ; 60705 (18:4705) db $3 ; flag's bit @@ -97898,8 +98965,7 @@ PokemonTower3TrainerHeader2: ; 60705 (18:4705) dw PokemonTower3AfterBattleText3 ; 0x4758 TextAfterBattle dw PokemonTower3EndBattleText3 ; 0x4753 TextEndBattle dw PokemonTower3EndBattleText3 ; 0x4753 TextEndBattle -; 0x60711 -db $ff + db $ff PokemonTower3Text1: ; 60712 (18:4712) db $08 ; asm @@ -97921,48 +98987,39 @@ PokemonTower3Text3: ; 60726 (18:4726) PokemonTower3BattleText1: ; 60730 (18:4730) TX_FAR _PokemonTower3BattleText1 - db $50 -; 0x60730 + 5 bytes + db "@" PokemonTower3EndBattleText1: ; 60735 (18:4735) TX_FAR _PokemonTower3EndBattleText1 - db $50 -; 0x60735 + 5 bytes + db "@" PokemonTower3AfterBattleText1: ; 6073a (18:473a) TX_FAR _PokemonTower3AfterBattleText1 - db $50 -; 0x6073a + 5 bytes + db "@" PokemonTower3BattleText2: ; 6073f (18:473f) TX_FAR _PokemonTower3BattleText2 - db $50 -; 0x6073f + 5 bytes + db "@" PokemonTower3EndBattleText2: ; 60744 (18:4744) TX_FAR _PokemonTower3EndBattleText2 - db $50 -; 0x60744 + 5 bytes + db "@" PokemonTower3AfterBattleText2: ; 60749 (18:4749) TX_FAR _PokemonTower3AfterBattleText2 - db $50 -; 0x60749 + 5 bytes + db "@" PokemonTower3BattleText3: ; 6074e (18:474e) TX_FAR _PokemonTower3BattleText3 - db $50 -; 0x6074e + 5 bytes + db "@" PokemonTower3EndBattleText3: ; 60753 (18:4753) TX_FAR _PokemonTower3EndBattleText3 - db $50 -; 0x60753 + 5 bytes + db "@" PokemonTower3AfterBattleText3: ; 60758 (18:4758) TX_FAR _PokemonTower3AfterBattleText3 - db $50 -; 0x60758 + 5 bytes + db "@" PokemonTower3Object: ; 0x6075d (size=51) db $1 ; border tile @@ -97989,26 +99046,31 @@ 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 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 -; 0x60809 -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) @@ -98019,7 +99081,6 @@ PokemonTower4TrainerHeader0: ; 6081b (18:481b) dw PokemonTower4AfterBattleText1 ; 0x4868 TextAfterBattle dw PokemonTower4EndBattleText1 ; 0x4863 TextEndBattle dw PokemonTower4EndBattleText1 ; 0x4863 TextEndBattle -; 0x60827 PokemonTower4TrainerHeader1: ; 60827 (18:4827) db $2 ; flag's bit @@ -98029,7 +99090,6 @@ PokemonTower4TrainerHeader1: ; 60827 (18:4827) dw PokemonTower4AfterBattleText2 ; 0x4877 TextAfterBattle dw PokemonTower4EndBattleText2 ; 0x4872 TextEndBattle dw PokemonTower4EndBattleText2 ; 0x4872 TextEndBattle -; 0x60833 PokemonTower4TrainerHeader2: ; 60833 (18:4833) db $3 ; flag's bit @@ -98039,9 +99099,8 @@ PokemonTower4TrainerHeader2: ; 60833 (18:4833) dw PokemonTower4AfterBattleText3 ; 0x4886 TextAfterBattle dw PokemonTower4EndBattleText3 ; 0x4881 TextEndBattle dw PokemonTower4EndBattleText3 ; 0x4881 TextEndBattle -; 0x6083f -db $ff + db $ff PokemonTower4Text1: ; 60840 (18:4840) db $08 ; asm @@ -98063,48 +99122,39 @@ PokemonTower4Text3: ; 60854 (18:4854) PokemonTower4BattleText1: ; 6085e (18:485e) TX_FAR _PokemonTower4BattleText1 - db $50 -; 0x6085e + 5 bytes + db "@" PokemonTower4EndBattleText1: ; 60863 (18:4863) TX_FAR _PokemonTower4EndBattleText1 - db $50 -; 0x60863 + 5 bytes + db "@" PokemonTower4AfterBattleText1: ; 60868 (18:4868) TX_FAR _PokemonTower4AfterBattleText1 - db $50 -; 0x60868 + 5 bytes + db "@" PokemonTower4BattleText2: ; 6086d (18:486d) TX_FAR _PokemonTower4BattleText2 - db $50 -; 0x6086d + 5 bytes + db "@" PokemonTower4EndBattleText2: ; 60872 (18:4872) TX_FAR _PokemonTower4EndBattleText2 - db $50 -; 0x60872 + 5 bytes + db "@" PokemonTower4AfterBattleText2: ; 60877 (18:4877) TX_FAR _PokemonTower4AfterBattleText2 - db $50 -; 0x60877 + 5 bytes + db "@" PokemonTower4BattleText3: ; 6087c (18:487c) TX_FAR _PokemonTower4BattleText3 - db $50 -; 0x6087c + 5 bytes + db "@" PokemonTower4EndBattleText3: ; 60881 (18:4881) TX_FAR _PokemonTower4EndBattleText3 - db $50 -; 0x60881 + 5 bytes + db "@" PokemonTower4AfterBattleText3: ; 60886 (18:4886) TX_FAR _PokemonTower4AfterBattleText3 - db $50 -; 0x60886 + 5 bytes + db "@" PokemonTower4Object: ; 0x6088b (size=65) db $1 ; border tile @@ -98133,24 +99183,26 @@ 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 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 -; 0x60945 -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 @@ -98166,7 +99218,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 @@ -98179,14 +99231,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) @@ -98197,7 +99259,6 @@ PokemonTower5TrainerHeader0: ; 609a9 (18:49a9) dw PokemonTower5AfterBattleText1 ; 0x49f3 TextAfterBattle dw PokemonTower5EndBattleText1 ; 0x49ee TextEndBattle dw PokemonTower5EndBattleText1 ; 0x49ee TextEndBattle -; 0x609b5 PokemonTower5TrainerHeader1: ; 609b5 (18:49b5) db $3 ; flag's bit @@ -98207,7 +99268,6 @@ PokemonTower5TrainerHeader1: ; 609b5 (18:49b5) dw PokemonTower5AfterBattleText2 ; 0x4a0c TextAfterBattle dw PokemonTower5EndBattleText2 ; 0x4a07 TextEndBattle dw PokemonTower5EndBattleText2 ; 0x4a07 TextEndBattle -; 0x609c1 PokemonTower5TrainerHeader2: ; 609c1 (18:49c1) db $4 ; flag's bit @@ -98217,7 +99277,6 @@ PokemonTower5TrainerHeader2: ; 609c1 (18:49c1) dw PokemonTower5AfterBattleText3 ; 0x4a25 TextAfterBattle dw PokemonTower5EndBattleText3 ; 0x4a20 TextEndBattle dw PokemonTower5EndBattleText3 ; 0x4a20 TextEndBattle -; 0x609cd PokemonTower5TrainerHeader3: ; 609cd (18:49cd) db $5 ; flag's bit @@ -98227,13 +99286,12 @@ PokemonTower5TrainerHeader3: ; 609cd (18:49cd) dw PokemonTower5AfterBattleText4 ; 0x4a3e TextAfterBattle dw PokemonTower5EndBattleText4 ; 0x4a39 TextEndBattle dw PokemonTower5EndBattleText4 ; 0x4a39 TextEndBattle -; 0x609d9 -db $ff + db $ff PokemonTower5Text1: ; 609da (18:49da) TX_FAR _PokemonTower5Text1 - db $50 + db "@" PokemonTower5Text2: ; 609df (18:49df) db $08 ; asm @@ -98243,18 +99301,15 @@ PokemonTower5Text2: ; 609df (18:49df) PokemonTower5BattleText1: ; 609e9 (18:49e9) TX_FAR _PokemonTower5BattleText1 - db $50 -; 0x609e9 + 5 bytes + db "@" PokemonTower5EndBattleText1: ; 609ee (18:49ee) TX_FAR _PokemonTower5EndBattleText1 - db $50 -; 0x609ee + 5 bytes + db "@" PokemonTower5AfterBattleText1: ; 609f3 (18:49f3) TX_FAR _PokemonTower5AfterBattleText1 - db $50 -; 0x609f3 + 5 bytes + db "@" PokemonTower5Text3: ; 609f8 (18:49f8) db $08 ; asm @@ -98264,18 +99319,15 @@ PokemonTower5Text3: ; 609f8 (18:49f8) PokemonTower5BattleText2: ; 60a02 (18:4a02) TX_FAR _PokemonTower5BattleText2 - db $50 -; 0x60a02 + 5 bytes + db "@" PokemonTower5EndBattleText2: ; 60a07 (18:4a07) TX_FAR _PokemonTower5EndBattleText2 - db $50 -; 0x60a07 + 5 bytes + db "@" PokemonTower5AfterBattleText2: ; 60a0c (18:4a0c) TX_FAR _PokemonTower5AfterBattleText2 - db $50 -; 0x60a0c + 5 bytes + db "@" PokemonTower5Text4: ; 60a11 (18:4a11) db $08 ; asm @@ -98285,18 +99337,15 @@ PokemonTower5Text4: ; 60a11 (18:4a11) PokemonTower5BattleText3: ; 60a1b (18:4a1b) TX_FAR _PokemonTower5BattleText3 - db $50 -; 0x60a1b + 5 bytes + db "@" PokemonTower5EndBattleText3: ; 60a20 (18:4a20) TX_FAR _PokemonTower5EndBattleText3 - db $50 -; 0x60a20 + 5 bytes + db "@" PokemonTower5AfterBattleText3: ; 60a25 (18:4a25) TX_FAR _PokemonTower5AfterBattleText3 - db $50 -; 0x60a25 + 5 bytes + db "@" PokemonTower5Text5: ; 60a2a (18:4a2a) db $08 ; asm @@ -98306,23 +99355,19 @@ PokemonTower5Text5: ; 60a2a (18:4a2a) PokemonTower5BattleText4: ; 60a34 (18:4a34) TX_FAR _PokemonTower5BattleText4 - db $50 -; 0x60a34 + 5 bytes + db "@" PokemonTower5EndBattleText4: ; 60a39 (18:4a39) TX_FAR _PokemonTower5EndBattleText4 - db $50 -; 0x60a39 + 5 bytes + db "@" PokemonTower5AfterBattleText4: ; 60a3e (18:4a3e) TX_FAR _PokemonTower5AfterBattleText4 - db $50 -; 0x60a3e + 5 bytes + db "@" PokemonTower5Text7: ; 60a43 (18:4a43) TX_FAR _UnnamedText_60a43 - db $50 -; 0x60a43 + 5 bytes + db "@" PokemonTower5Object: ; 0x60a48 (size=65) db $1 ; border tile @@ -98351,35 +99396,38 @@ 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 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 ret -; 0x60b02 -; known jump sources: 60b4d (18:4b4d) 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 @@ -98396,19 +99444,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 @@ -98418,7 +99468,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 @@ -98438,10 +99488,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) @@ -98452,7 +99516,6 @@ PokemonTower6TrainerHeader0: ; 60bbf (18:4bbf) dw PokemonTower6AfterBattleText1 ; 0x4c33 TextAfterBattle dw PokemonTower6EndBattleText1 ; 0x4c2e TextEndBattle dw PokemonTower6EndBattleText1 ; 0x4c2e TextEndBattle -; 0x60bcb PokemonTower6TrainerHeader1: ; 60bcb (18:4bcb) db $2 ; flag's bit @@ -98462,7 +99525,6 @@ PokemonTower6TrainerHeader1: ; 60bcb (18:4bcb) dw PokemonTower6AfterBattleText2 ; 0x4c42 TextAfterBattle dw PokemonTower6EndBattleText2 ; 0x4c3d TextEndBattle dw PokemonTower6EndBattleText2 ; 0x4c3d TextEndBattle -; 0x60bd7 PokemonTower6TrainerHeader2: ; 60bd7 (18:4bd7) db $3 ; flag's bit @@ -98472,9 +99534,8 @@ PokemonTower6TrainerHeader2: ; 60bd7 (18:4bd7) dw PokemonTower6AfterBattleText3 ; 0x4c51 TextAfterBattle dw PokemonTower6EndBattleText3 ; 0x4c4c TextEndBattle dw PokemonTower6EndBattleText3 ; 0x4c4c TextEndBattle -; 0x60be3 -db $ff + db $ff PokemonTower6Text1: ; 60be4 (18:4be4) db $08 ; asm @@ -98506,67 +99567,54 @@ PokemonTower6Text7: ; 60c02 (18:4c02) ld hl, UnnamedText_60c24 call PrintText jp TextScriptEnd -; 0x60c1f UnnamedText_60c1f: ; 60c1f (18:4c1f) TX_FAR _UnnamedText_60c1f - db $50 -; 0x60c1f + 5 bytes + db "@" UnnamedText_60c24: ; 60c24 (18:4c24) TX_FAR _UnnamedText_60c24 - db $50 -; 0x60c24 + 5 bytes + db "@" PokemonTower6BattleText1: ; 60c29 (18:4c29) TX_FAR _PokemonTower6BattleText1 - db $50 -; 0x60c29 + 5 bytes + db "@" PokemonTower6EndBattleText1: ; 60c2e (18:4c2e) TX_FAR _PokemonTower6EndBattleText1 - db $50 -; 0x60c2e + 5 bytes + db "@" PokemonTower6AfterBattleText1: ; 60c33 (18:4c33) TX_FAR _PokemonTower6AfterBattleText1 - db $50 -; 0x60c33 + 5 bytes + db "@" PokemonTower6BattleText2: ; 60c38 (18:4c38) TX_FAR _PokemonTower6BattleText2 - db $50 -; 0x60c38 + 5 bytes + db "@" PokemonTower6EndBattleText2: ; 60c3d (18:4c3d) TX_FAR _PokemonTower6EndBattleText2 - db $50 -; 0x60c3d + 5 bytes + db "@" PokemonTower6AfterBattleText2: ; 60c42 (18:4c42) TX_FAR _PokemonTower6AfterBattleText2 - db $50 -; 0x60c42 + 5 bytes + db "@" PokemonTower6BattleText3: ; 60c47 (18:4c47) TX_FAR _PokemonTower6BattleText3 - db $50 -; 0x60c47 + 5 bytes + db "@" PokemonTower6EndBattleText3: ; 60c4c (18:4c4c) TX_FAR _PokemonTower6EndBattleText3 - db $50 -; 0x60c4c + 5 bytes + db "@" PokemonTower6AfterBattleText3: ; 60c51 (18:4c51) TX_FAR _PokemonTower6AfterBattleText3 - db $50 -; 0x60c51 + 5 bytes + db "@" PokemonTower6Text6: ; 60c56 (18:4c56) TX_FAR _UnnamedText_60c56 - db $50 -; 0x60c56 + 5 bytes + db "@" PokemonTower6Object: ; 0x60c5b (size=58) db $1 ; border tile @@ -98591,44 +99639,47 @@ 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 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 ret -; 0x60d18 -; known jump sources: 60d37 (18:4d37) 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 @@ -98637,6 +99688,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 @@ -98652,16 +99705,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 @@ -98681,9 +99736,8 @@ INCBIN "baserom.gbc",$60d23,$60d2d - $60d23 ld [W_CURMAPSCRIPT], a ret -; known jump sources: 60d4a (18:4d4a) Func_60db6: ; 60db6 (18:4db6) - ld hl, Unknown_60de3 ; $4de3 + ld hl, CoordsData_60de3 ; $4de3 ld a, [$cf13] dec a swap a @@ -98714,11 +99768,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) @@ -98729,7 +99827,6 @@ PokemonTower7TrainerHeader0: ; 60e47 (18:4e47) dw PokemonTower7AfterBattleText1 ; 0x4ed3 TextAfterBattle dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle dw PokemonTower7EndBattleText1 ; 0x4ece TextEndBattle -; 0x60e53 PokemonTower7TrainerHeader1: ; 60e53 (18:4e53) db $2 ; flag's bit @@ -98739,7 +99836,6 @@ PokemonTower7TrainerHeader1: ; 60e53 (18:4e53) dw PokemonTower7AfterBattleText2 ; 0x4ee2 TextAfterBattle dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle dw PokemonTower7EndBattleText2 ; 0x4edd TextEndBattle -; 0x60e5f PokemonTower7TrainerHeader2: ; 60e5f (18:4e5f) db $3 ; flag's bit @@ -98749,9 +99845,8 @@ PokemonTower7TrainerHeader2: ; 60e5f (18:4e5f) dw PokemonTower7AfterBattleText3 ; 0x4ef1 TextAfterBattle dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle dw PokemonTower7EndBattleText3 ; 0x4eec TextEndBattle -; 0x60e6b -db $ff + db $ff PokemonTower7Text1: ; 60e6c (18:4e6c) db $08 ; asm @@ -98798,53 +99893,43 @@ PokemonTower7Text4: ; 60e8a (18:4e8a) UnnamedText_60ec4: ; 60ec4 (18:4ec4) TX_FAR _UnnamedText_60ec4 - db $50 -; 0x60ec4 + 5 bytes + db "@" PokemonTower7BattleText1: ; 60ec9 (18:4ec9) TX_FAR _PokemonTower7BattleText1 - db $50 -; 0x60ec9 + 5 bytes + db "@" PokemonTower7EndBattleText1: ; 60ece (18:4ece) TX_FAR _PokemonTower7EndBattleText1 - db $50 -; 0x60ece + 5 bytes + db "@" PokemonTower7AfterBattleText1: ; 60ed3 (18:4ed3) TX_FAR _PokemonTower7AfterBattleText1 - db $50 -; 0x60ed3 + 5 bytes + db "@" PokemonTower7BattleText2: ; 60ed8 (18:4ed8) TX_FAR _PokemonTower7BattleText2 - db $50 -; 0x60ed8 + 5 bytes + db "@" PokemonTower7EndBattleText2: ; 60edd (18:4edd) TX_FAR _PokemonTower7EndBattleText2 - db $50 -; 0x60edd + 5 bytes + db "@" PokemonTower7AfterBattleText2: ; 60ee2 (18:4ee2) TX_FAR _PokemonTower7AfterBattleText2 - db $50 -; 0x60ee2 + 5 bytes + db "@" PokemonTower7BattleText3: ; 60ee7 (18:4ee7) TX_FAR _PokemonTower7BattleText3 - db $50 -; 0x60ee7 + 5 bytes + db "@" PokemonTower7EndBattleText3: ; 60eec (18:4eec) TX_FAR _PokemonTower7EndBattleText3 - db $50 -; 0x60eec + 5 bytes + db "@" PokemonTower7AfterBattleText3: ; 60ef1 (18:4ef1) TX_FAR _PokemonTower7AfterBattleText3 - db $50 -; 0x60ef1 + 5 bytes + db "@" PokemonTower7Object: ; 0x60ef6 (size=42) db $1 ; border tile @@ -98869,29 +99954,29 @@ 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 CeladonMart1Script: ; 60f86 (18:4f86) jp EnableAutoTextBoxDrawing -; 0x60f89 -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 - db $50 + db "@" CeladonMart1Text2: ; 60f94 (18:4f94) TX_FAR _CeladonMart1Text2 - db $50 + db "@" CeladonMart1Text3: ; 60f99 (18:4f99) TX_FAR _CeladonMart1Text3 - db $50 + db "@" CeladonMart1Object: ; 0x60f9e (size=64) db $f ; border tile @@ -98922,21 +100007,20 @@ CeladonMart1Object: ; 0x60f9e (size=64) CeladonMart1Blocks: ; 60fde (18:4fde) INCBIN "maps/celadonmart1.blk" -; known jump sources: 75d88 (1d:5d88) 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 @@ -98945,7 +100029,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 @@ -98955,7 +100039,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 @@ -98980,7 +100064,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 @@ -99000,29 +100084,23 @@ GiveFossilToCinnabarLab: ; 61006 (18:5006) ld hl, UnnamedText_610bd call PrintText ret -; 610ae (18:50ae) UnnamedText_610ae: ; 610ae (18:50ae) TX_FAR _UnnamedText_610ae - db $50 -; 0x610ae + 5 bytes + db "@" UnnamedText_610b3: ; 610b3 (18:50b3) TX_FAR _UnnamedText_610b3 - db $50 -; 0x610b3 + 5 bytes + db "@" UnnamedText_610b8: ; 610b8 (18:50b8) TX_FAR _UnnamedText_610b8 - db $50 -; 0x610b8 + 5 bytes + db "@" UnnamedText_610bd: ; 610bd (18:50bd) TX_FAR _UnnamedText_610bd - db $50 -; 0x610bd + 5 bytes + db "@" -; known jump sources: 6103f (18:503f) Func_610c2: ; 610c2 (18:50c2) ld hl, $cc5b xor a @@ -99046,7 +100124,6 @@ Func_610c2: ; 610c2 (18:50c2) pop hl jr .asm_610c8 -; known jump sources: 61074 (18:5074), 75ded (1d:5ded) ; loads the names of the fossil item and the resulting mon LoadFossilItemAndMonName: ; 610eb (18:50eb) ld a, [W_FOSSILMON] @@ -99057,31 +100134,43 @@ LoadFossilItemAndMonName: ; 610eb (18:50eb) ld [$d11e], a call GetItemName ret -; 61101 (18:5101) 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 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 -; 0x61120 -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) @@ -99092,7 +100181,6 @@ ViridianForestTrainerHeader0: ; 61142 (18:5142) dw ViridianForestAfterBattleText1 ; 0x5194 TextAfterBattle dw ViridianForestEndBattleText1 ; 0x518f TextEndBattle dw ViridianForestEndBattleText1 ; 0x518f TextEndBattle -; 0x6114e ViridianForestTrainerHeader1: ; 6114e (18:514e) db $3 ; flag's bit @@ -99102,7 +100190,6 @@ ViridianForestTrainerHeader1: ; 6114e (18:514e) dw ViridianForestAfterBattleText2 ; 0x51a3 TextAfterBattle dw ViridianForestEndBattleText2 ; 0x519e TextEndBattle dw ViridianForestEndBattleText2 ; 0x519e TextEndBattle -; 0x6115a ViridianForestTrainerHeader2: ; 6115a (18:515a) db $4 ; flag's bit @@ -99112,13 +100199,12 @@ ViridianForestTrainerHeader2: ; 6115a (18:515a) dw ViridianForestAfterBattleText3 ; 0x51b2 TextAfterBattle dw ViridianForestEndBattleText3 ; 0x51ad TextEndBattle dw ViridianForestEndBattleText3 ; 0x51ad TextEndBattle -; 0x61166 -db $ff + db $ff ViridianForestText1: ; 61167 (18:5167) TX_FAR _ViridianForestText1 - db $50 + db "@" ViridianForestText2: ; 6116c (18:516c) db $08 ; asm @@ -99140,85 +100226,67 @@ ViridianForestText4: ; 61180 (18:5180) ViridianForestBattleText1: ; 6118a (18:518a) TX_FAR _ViridianForestBattleText1 - db $50 -; 0x6118a + 5 bytes + db "@" ViridianForestEndBattleText1: ; 6118f (18:518f) TX_FAR _ViridianForestEndBattleText1 - db $50 -; 0x6118f + 5 bytes + db "@" ViridianForestAfterBattleText1: ; 61194 (18:5194) - ;TX_FAR _ViridianForestAfterBattleText1 - db $17 - dw _ViridianForestAfterBattleText1 - db BANK(_ViridianForestAfterBattleText1) - db $50 -; 0x61194 + 5 bytes + TX_FAR _ViridianFrstAfterBattleText1 + db "@" ViridianForestBattleText2: ; 61199 (18:5199) TX_FAR _ViridianForestBattleText2 - db $50 -; 0x61199 + 5 bytes + db "@" ViridianForestEndBattleText2: ; 6119e (18:519e) TX_FAR _ViridianForestEndBattleText2 - db $50 -; 0x6119e + 5 bytes + db "@" ViridianForestAfterBattleText2: ; 611a3 (18:51a3) - ;TX_FAR _ViridianForestAfterBattleText2 - db $17 - dw _ViridianForestAfterBattleText2 - db BANK(_ViridianForestAfterBattleText2) - db $50 -; 0x611a3 + 5 bytes + TX_FAR _ViridianFrstAfterBattleText2 + db "@" ViridianForestBattleText3: ; 611a8 (18:51a8) TX_FAR _ViridianForestBattleText3 - db $50 -; 0x611a8 + 5 bytes + db "@" ViridianForestEndBattleText3: ; 611ad (18:51ad) TX_FAR _ViridianForestEndBattleText3 - db $50 -; 0x611ad + 5 bytes + db "@" ViridianForestAfterBattleText3: ; 611b2 (18:51b2) - ;TX_FAR _ViridianForestAfterBattleText3 - db $17 - dw _ViridianForestAfterBattleText3 - db BANK(_ViridianForestAfterBattleText3) - db $50 -; 0x611b2 + 5 bytes + TX_FAR _ViridianFrstAfterBattleText3 + db "@" ViridianForestText8: ; 611b7 (18:51b7) TX_FAR _ViridianForestText8 - db $50 + db "@" ViridianForestText9: ; 611bc (18:51bc) TX_FAR _ViridianForestText9 - db $50 + db "@" ViridianForestText10: ; 611c1 (18:51c1) TX_FAR _ViridianForestText10 - db $50 + db "@" ViridianForestText11: ; 611c6 (18:51c6) TX_FAR _ViridianForestText11 - db $50 + db "@" ViridianForestText12: ; 611cb (18:51cb) TX_FAR _ViridianForestText12 - db $50 + db "@" ViridianForestText13: ; 611d0 (18:51d0) TX_FAR _ViridianForestText13 - db $50 + db "@" ViridianForestText14: ; 611d5 (18:51d5) TX_FAR _ViridianForestText14 - db $50 + db "@" ViridianForestObject: ; 0x611da (size=127) db $3 ; border tile @@ -99260,26 +100328,25 @@ 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 SSAnne1Script: ; 61265 (18:5265) call EnableAutoTextBoxDrawing ret -; 0x61269 -SSAnne1Texts: ; 61269 (18:5269) - dw SSAnne1Text1, SSAnne1Text2 +SSAnne1TextPointers: ; 61269 (18:5269) + dw SSAnne1Text1 + dw SSAnne1Text2 SSAnne1Text1: ; 6126d (18:526d) TX_FAR _SSAnne1Text1 - db $50 + db "@" SSAnne1Text2: ; 61272 (18:5272) TX_FAR _SSAnne1Text2 - db $50 + db "@" SSAnne1Object: ; 0x61277 (size=104) db $c ; border tile @@ -99322,34 +100389,34 @@ 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 -; 0x613ab -; known jump sources: 61472 (18:5472) -Func_613ab: ; 613ab (18:53ab) +SSAnne2Script_613ab: ; 613ab (18:53ab) xor a - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a ld [W_SSANNE2CURSCRIPT], a ret -; 613b3 (18:53b3) -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 -; 0x613be SSAnne2Script0: ; 613be (18:53be) - ld hl, Unknown_61411 ; $5411 + ld hl, CoordsData_61411 ; $5411 call ArePlayerCoordsInArray ret nc ld a, $ff @@ -99371,31 +100438,29 @@ 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 -; 0x6140c -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 -; known jump sources: 61436 (18:5436), 61464 (18:5464), 61475 (18:5475) Func_61416: ; 61416 (18:5416) ld a, [W_XCOORD] ; $d362 cp $25 @@ -99411,14 +100476,14 @@ Func_61416: ; 61416 (18:5416) ld a, $2 ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c jp Func_34a6 -; 61430 (18:5430) + SSAnne2Script1: ; 61430 (18:5430) ld a, [$d730] bit 0, a ret nz call Func_61416 xor a - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a ld a, $2 ld [$ff00+$8c], a call DisplayTextID @@ -99446,15 +100511,14 @@ SSAnne2Script1: ; 61430 (18:5430) ld a, $2 ld [W_SSANNE2CURSCRIPT], a ret -; 0x6146d SSAnne2Script2: ; 6146d (18:546d) ld a, [$d057] cp $ff - jp z, Func_613ab + jp z, SSAnne2Script_613ab call Func_61416 ld a, $f0 - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a ld a, $3 ld [$ff00+$8c], a call DisplayTextID @@ -99464,10 +100528,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 @@ -99481,20 +100545,19 @@ SSAnne2Script2: ; 6146d (18:546d) ld a, $3 ld [W_SSANNE2CURSCRIPT], a ret -; 0x614b7 -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 @@ -99503,14 +100566,15 @@ SSAnne2Script3: ; 614be (18:54be) ld a, $4 ld [W_SSANNE2CURSCRIPT], a ret -; 0x614db -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 - db $50 + db "@" SSAnne2Text2: ; 614e6 (18:54e6) db $8 @@ -99523,27 +100587,22 @@ SSAnne2Text2: ; 614e6 (18:54e6) ld de, SSAnneRivalWonText call PreBattleSaveRegisters jp TextScriptEnd -; 0x61500 SSAnneRivalBeforeBattleText: ; 61500 (18:5500) TX_FAR _SSAnneRivalBeforeBattleText - db $50 -; 0x61500 + 5 bytes + db "@" SSAnneRivalDefeatedText: ; 61505 (18:5505) TX_FAR _SSAnneRivalDefeatedText - db $50 -; 0x61505 + 5 bytes + db "@" SSAnneRivalWonText: ; 6150a (18:550a) TX_FAR _SSAnneRivalWonText - db $50 -; 0x6150a + 5 bytes + db "@" SSAnne2Text3: ; 6150f (18:550f) TX_FAR _SSAnneRivalCaptainText - db $50 -; 0x6150f + 5 bytes + db "@" SSAnne2Object: ; 0x61514 (size=90) db $c ; border tile @@ -99582,17 +100641,15 @@ 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 SSAnne4Script: ; 6162e (18:562e) jp EnableAutoTextBoxDrawing -; 0x61631 -SSAnne4Texts: ; 61631 (18:5631) - db $50 +SSAnne4TextPointers: ; 61631 (18:5631) + db "@" SSAnne4Object: ; 0x61632 (size=52) db $c ; border tile @@ -99623,26 +100680,30 @@ 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 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 -; 0x616c1 -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) @@ -99653,7 +100714,6 @@ SSAnneTrainerHeader0: ; 616d1 (18:56d1) dw SSAnneAfterBattleText1 ; 0x570d TextAfterBattle dw SSAnneEndBattleText1 ; 0x5708 TextEndBattle dw SSAnneEndBattleText1 ; 0x5708 TextEndBattle -; 0x616dd SSAnneTrainerHeader1: ; 616dd (18:56dd) db $5 ; flag's bit @@ -99663,21 +100723,20 @@ SSAnneTrainerHeader1: ; 616dd (18:56dd) dw SSAnneAfterBattleText2 ; 0x5726 TextAfterBattle dw SSAnneEndBattleText2 ; 0x5721 TextEndBattle dw SSAnneEndBattleText2 ; 0x5721 TextEndBattle -; 0x616e9 -db $ff + db $ff SSAnne5Text1: ; 616ea (18:56ea) TX_FAR _SSAnne5Text1 - db $50 + db "@" SSAnne5Text2: ; 616ef (18:56ef) TX_FAR _SSAnne5Text2 - db $50 + db "@" SSAnne5Text3: ; 616f4 (18:56f4) TX_FAR _SSAnne5Text3 - db $50 + db "@" SSAnne5Text4: ; 616f9 (18:56f9) db $08 ; asm @@ -99687,18 +100746,15 @@ SSAnne5Text4: ; 616f9 (18:56f9) SSAnneBattleText1: ; 61703 (18:5703) TX_FAR _SSAnneBattleText1 - db $50 -; 0x61703 + 5 bytes + db "@" SSAnneEndBattleText1: ; 61708 (18:5708) TX_FAR _SSAnneEndBattleText1 - db $50 -; 0x61708 + 5 bytes + db "@" SSAnneAfterBattleText1: ; 6170d (18:570d) TX_FAR _SSAnneAfterBattleText1 - db $50 -; 0x6170d + 5 bytes + db "@" SSAnne5Text5: ; 61712 (18:5712) db $08 ; asm @@ -99708,18 +100764,15 @@ SSAnne5Text5: ; 61712 (18:5712) SSAnneBattleText2: ; 6171c (18:571c) TX_FAR _SSAnneBattleText2 - db $50 -; 0x6171c + 5 bytes + db "@" SSAnneEndBattleText2: ; 61721 (18:5721) TX_FAR _SSAnneEndBattleText2 - db $50 -; 0x61721 + 5 bytes + db "@" SSAnneAfterBattleText2: ; 61726 (18:5726) TX_FAR _SSAnneAfterBattleText2 - db $50 -; 0x61726 + 5 bytes + db "@" SSAnne5Object: ; 0x6172b (size=54) db $23 ; border tile @@ -99747,42 +100800,46 @@ 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 SSAnne6Script: ; 617b3 (18:57b3) call EnableAutoTextBoxDrawing ret -; 0x617b7 -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 - db $50 + db "@" SSAnne6Text2: ; 617ca (18:57ca) TX_FAR _SSAnne6Text2 - db $50 + db "@" SSAnne6Text3: ; 617cf (18:57cf) TX_FAR _SSAnne6Text3 - db $50 + db "@" SSAnne6Text4: ; 617d4 (18:57d4) TX_FAR _SSAnne6Text4 - db $50 + db "@" SSAnne6Text5: ; 617d9 (18:57d9) TX_FAR _SSAnne6Text5 - db $50 + db "@" SSAnne6Text6: ; 617de (18:57de) TX_FAR _SSAnne6Text6 - db $50 + db "@" SSAnne6Text7: ; 617e3 (18:57e3) db $08 ; asm @@ -99806,23 +100863,19 @@ SSAnne6Text7: ; 617e3 (18:57e3) UnnamedText_61807: ; 61807 (18:5807) TX_FAR _UnnamedText_61807 - db $50 -; 0x61807 + 5 bytes + db "@" UnnamedText_6180c: ; 6180c (18:580c) TX_FAR _UnnamedText_6180c - db $50 -; 0x6180c + 5 bytes + db "@" UnnamedText_61811: ; 61811 (18:5811) TX_FAR _UnnamedText_61811 - db $50 -; 0x61811 + 5 bytes + db "@" UnnamedText_61816: ; 61816 (18:5816) TX_FAR _UnnamedText_61816 - db $50 -; 0x61816 + 5 bytes + db "@" SSAnne6Object: ; 0x6181b (size=54) db $c ; border tile @@ -99850,26 +100903,26 @@ 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 -; 0x6189b -SSAnne7Script_Unknown6189b: ; 6189b (18:589b) +SSAnne7Script_6189b: ; 6189b (18:589b) ld a, [$d803] bit 1, a ret nz ld hl, $d72d set 5, [hl] ret -; 618a7 (18:58a7) -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 @@ -99926,35 +100979,30 @@ SSAnne7RubText: ; 618ec (18:58ec) ld hl, $d72d res 5, [hl] jp TextScriptEnd -; 0x61927 ReceivingHM01Text: ; 61927 (18:5927) TX_FAR _ReceivingHM01Text - db $50 -; 0x61927 + 5 bytes + db "@" ReceivedHM01Text: ; 6192c (18:592c) TX_FAR _ReceivedHM01Text ; 0x8140d - db $11, $50 -; 0x6192c + 6 bytes = 0x61932 + db $11, "@" UnnamedText_61932: ; 61932 (18:5932) TX_FAR _UnnamedText_61932 - db $50 -; 0x61932 + 5 bytes + db "@" HM01NoRoomText: ; 61937 (18:5937) TX_FAR _HM01NoRoomText - db $50 -; 0x61937 + 5 bytes + db "@" SSAnne7Text2: ; 6193c (18:593c) TX_FAR _SSAnne7Text2 - db $50 + db "@" SSAnne7Text3: ; 61941 (18:5941) TX_FAR _SSAnne7Text3 - db $50 + db "@" SSAnne7Object: ; 0x61946 (size=24) db $c ; border tile @@ -99978,26 +101026,36 @@ 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 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 -; 0x61989 -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) @@ -100008,7 +101066,6 @@ SSAnne8TrainerHeader0: ; 619a5 (18:59a5) dw SSAnne8AfterBattleText1 ; 0x5a15 TextAfterBattle dw SSAnne8EndBattleText1 ; 0x5a10 TextEndBattle dw SSAnne8EndBattleText1 ; 0x5a10 TextEndBattle -; 0x619b1 SSAnne8TrainerHeader1: ; 619b1 (18:59b1) db $2 ; flag's bit @@ -100018,7 +101075,6 @@ SSAnne8TrainerHeader1: ; 619b1 (18:59b1) dw SSAnne8AfterBattleText2 ; 0x5a24 TextAfterBattle dw SSAnne8EndBattleText2 ; 0x5a1f TextEndBattle dw SSAnne8EndBattleText2 ; 0x5a1f TextEndBattle -; 0x619bd SSAnne8TrainerHeader2: ; 619bd (18:59bd) db $3 ; flag's bit @@ -100028,7 +101084,6 @@ SSAnne8TrainerHeader2: ; 619bd (18:59bd) dw SSAnne8AfterBattleText3 ; 0x5a33 TextAfterBattle dw SSAnne8EndBattleText3 ; 0x5a2e TextEndBattle dw SSAnne8EndBattleText3 ; 0x5a2e TextEndBattle -; 0x619c9 SSAnne8TrainerHeader3: ; 619c9 (18:59c9) db $4 ; flag's bit @@ -100038,9 +101093,8 @@ SSAnne8TrainerHeader3: ; 619c9 (18:59c9) dw SSAnne8AfterBattleText4 ; 0x5a42 TextAfterBattle dw SSAnne8EndBattleText4 ; 0x5a3d TextEndBattle dw SSAnne8EndBattleText4 ; 0x5a3d TextEndBattle -; 0x619d5 -db $ff + db $ff SSAnne8Text1: ; 619d6 (18:59d6) db $08 ; asm @@ -100075,83 +101129,71 @@ SSAnne8Text8: ; 619fe (18:59fe) SSAnne8BattleText1: ; 61a0b (18:5a0b) TX_FAR _SSAnne8BattleText1 - db $50 -; 0x61a0b + 5 bytes + db "@" SSAnne8EndBattleText1: ; 61a10 (18:5a10) TX_FAR _SSAnne8EndBattleText1 - db $50 -; 0x61a10 + 5 bytes + db "@" SSAnne8AfterBattleText1: ; 61a15 (18:5a15) TX_FAR _SSAnne8AfterBattleText1 - db $50 -; 0x61a15 + 5 bytes + db "@" SSAnne8BattleText2: ; 61a1a (18:5a1a) TX_FAR _SSAnne8BattleText2 - db $50 -; 0x61a1a + 5 bytes + db "@" SSAnne8EndBattleText2: ; 61a1f (18:5a1f) TX_FAR _SSAnne8EndBattleText2 - db $50 -; 0x61a1f + 5 bytes + db "@" UnnamedText_61a24: ; 61a24 (18:5a24) TX_FAR _UnnamedText_61a24 - db $50 -; 0x61a24 + 5 bytes + db "@" SSAnne8BattleText3: ; 61a29 (18:5a29) TX_FAR _SSAnne8BattleText3 - db $50 -; 0x61a29 + 5 bytes + db "@" SSAnne8EndBattleText3: ; 61a2e (18:5a2e) TX_FAR _SSAnne8EndBattleText3 - db $50 -; 0x61a2e + 5 bytes + db "@" SSAnne8AfterBattleText3: ; 61a33 (18:5a33) TX_FAR _SSAnne8AfterBattleText3 - db $50 -; 0x61a33 + 5 bytes + db "@" SSAnne8BattleText4: ; 61a38 (18:5a38) TX_FAR _SSAnne8BattleText4 - db $50 -; 0x61a38 + 5 bytes + db "@" SSAnne8EndBattleText4: ; 61a3d (18:5a3d) TX_FAR _SSAnne8EndBattleText4 - db $50 -; 0x61a3d + 5 bytes + db "@" SSAnne8AfterBattleText4: ; 61a42 (18:5a42) TX_FAR _SSAnne8AfterBattleText4 - db $50 -; 0x61a42 + 5 bytes + db "@" SSAnne8Text5: ; 61a47 (18:5a47) TX_FAR _SSAnne8Text5 - db $50 + db "@" SSAnne8Text6: ; 61a4c (18:5a4c) TX_FAR _SSAnne8Text6 - db $50 + db "@" SSAnne8Text7: ; 61a51 (18:5a51) TX_FAR _SSAnne8Text7 - db $50 + db "@" SSAnne8Text9: ; 61a56 (18:5a56) TX_FAR _SSAnne8Text9 - db $50 + db "@" SSAnne8Text11: ; 61a5b (18:5a5b) TX_FAR _SSAnne8Text11 - db $50 + db "@" SSAnne8Object: ; 0x61a60 (size=127) db $c ; border tile @@ -100193,9 +101235,8 @@ 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 SSAnne9Script: ; 61b4b (18:5b4b) @@ -100204,18 +101245,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 -; 0x61b64 -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) @@ -100226,7 +101280,6 @@ SSAnne9TrainerHeader0: ; 61b84 (18:5b84) dw SSAnne9AfterBattleText1 ; 0x5c5b TextAfterBattle dw SSAnne9EndBattleText1 ; 0x5c56 TextEndBattle dw SSAnne9EndBattleText1 ; 0x5c56 TextEndBattle -; 0x61b90 SSAnne9TrainerHeader1: ; 61b90 (18:5b90) db $2 ; flag's bit @@ -100236,7 +101289,6 @@ SSAnne9TrainerHeader1: ; 61b90 (18:5b90) dw SSAnne9AfterBattleText2 ; 0x5c6a TextAfterBattle dw SSAnne9EndBattleText2 ; 0x5c65 TextEndBattle dw SSAnne9EndBattleText2 ; 0x5c65 TextEndBattle -; 0x61b9c SSAnne9TrainerHeader2: ; 61b9c (18:5b9c) db $3 ; flag's bit @@ -100246,7 +101298,6 @@ SSAnne9TrainerHeader2: ; 61b9c (18:5b9c) dw SSAnne9AfterBattleText3 ; 0x5c79 TextAfterBattle dw SSAnne9EndBattleText3 ; 0x5c74 TextEndBattle dw SSAnne9EndBattleText3 ; 0x5c74 TextEndBattle -; 0x61ba8 SSAnne9TrainerHeader3: ; 61ba8 (18:5ba8) db $4 ; flag's bit @@ -100256,10 +101307,8 @@ SSAnne9TrainerHeader3: ; 61ba8 (18:5ba8) dw SSAnne9AfterBattleText4 ; 0x5c88 TextAfterBattle dw SSAnne9EndBattleText4 ; 0x5c83 TextEndBattle dw SSAnne9EndBattleText4 ; 0x5c83 TextEndBattle -; 0x61bb4 - -db $ff + db $ff SSAnne9Text1: ; 61bb5 (18:5bb5) db $08 ; asm @@ -100297,8 +101346,7 @@ SSAnne9Text5: ; 61bdd (18:5bdd) UnnamedText_61bf2: ; 61bf2 (18:5bf2) TX_FAR _UnnamedText_61bf2 - db $50 -; 0x61bf2 + 5 bytes + db "@" SSAnne9Text7: ; 61bf7 (18:5bf7) db $08 ; asm @@ -100308,8 +101356,7 @@ SSAnne9Text7: ; 61bf7 (18:5bf7) UnnamedText_61c01: ; 61c01 (18:5c01) TX_FAR _UnnamedText_61c01 - db $50 -; 0x61c01 + 5 bytes + db "@" SSAnne9Text8: ; 61c06 (18:5c06) db $08 ; asm @@ -100319,8 +101366,7 @@ SSAnne9Text8: ; 61c06 (18:5c06) UnnamedText_61c10: ; 61c10 (18:5c10) TX_FAR _UnnamedText_61c10 - db $50 -; 0x61c10 + 5 bytes + db "@" SSAnne9Text10: ; 61c15 (18:5c15) db $08 ; asm @@ -100330,8 +101376,7 @@ SSAnne9Text10: ; 61c15 (18:5c15) UnnamedText_61c1f: ; 61c1f (18:5c1f) TX_FAR _UnnamedText_61c1f - db $50 -; 0x61c1f + 5 bytes + db "@" SSAnne9Text11: ; 61c24 (18:5c24) db $08 ; asm @@ -100341,8 +101386,7 @@ SSAnne9Text11: ; 61c24 (18:5c24) UnnamedText_61c2e: ; 61c2e (18:5c2e) TX_FAR _UnnamedText_61c2e - db $50 -; 0x61c2e + 5 bytes + db "@" SSAnne9Text12: ; 61c33 (18:5c33) db $08 ; asm @@ -100352,8 +101396,7 @@ SSAnne9Text12: ; 61c33 (18:5c33) UnnamedText_61c3d: ; 61c3d (18:5c3d) TX_FAR _UnnamedText_61c3d - db $50 -; 0x61c3d + 5 bytes + db "@" SSAnne9Text13: ; 61c42 (18:5c42) db $08 ; asm @@ -100363,68 +101406,55 @@ SSAnne9Text13: ; 61c42 (18:5c42) UnnamedText_61c4c: ; 61c4c (18:5c4c) TX_FAR _UnnamedText_61c4c - db $50 -; 0x61c4c + 5 bytes + db "@" SSAnne9BattleText1: ; 61c51 (18:5c51) TX_FAR _SSAnne9BattleText1 - db $50 -; 0x61c51 + 5 bytes + db "@" SSAnne9EndBattleText1: ; 61c56 (18:5c56) TX_FAR _SSAnne9EndBattleText1 - db $50 -; 0x61c56 + 5 bytes + db "@" SSAnne9AfterBattleText1: ; 61c5b (18:5c5b) TX_FAR _SSAnne9AfterBattleText1 - db $50 -; 0x61c5b + 5 bytes + db "@" SSAnne9BattleText2: ; 61c60 (18:5c60) TX_FAR _SSAnne9BattleText2 - db $50 -; 0x61c60 + 5 bytes + db "@" SSAnne9EndBattleText2: ; 61c65 (18:5c65) TX_FAR _SSAnne9EndBattleText2 - db $50 -; 0x61c65 + 5 bytes + db "@" SSAnne9AfterBattleText2: ; 61c6a (18:5c6a) TX_FAR _SSAnne9AfterBattleText2 - db $50 -; 0x61c6a + 5 bytes + db "@" SSAnne9BattleText3: ; 61c6f (18:5c6f) TX_FAR _SSAnne9BattleText3 - db $50 -; 0x61c6f + 5 bytes + db "@" SSAnne9EndBattleText3: ; 61c74 (18:5c74) TX_FAR _SSAnne9EndBattleText3 - db $50 -; 0x61c74 + 5 bytes + db "@" SSAnne9AfterBattleText3: ; 61c79 (18:5c79) TX_FAR _SSAnne9AfterBattleText3 - db $50 -; 0x61c79 + 5 bytes + db "@" SSAnne9BattleText4: ; 61c7e (18:5c7e) TX_FAR _SSAnne9BattleText4 - db $50 -; 0x61c7e + 5 bytes + db "@" SSAnne9EndBattleText4: ; 61c83 (18:5c83) TX_FAR _SSAnne9EndBattleText4 - db $50 -; 0x61c83 + 5 bytes + db "@" SSAnne9AfterBattleText4: ; 61c88 (18:5c88) TX_FAR _SSAnne9AfterBattleText4 - db $50 -; 0x61c88 + 5 bytes + db "@" SSAnne9Object: ; 0x61c8d (size=188) db $c ; border tile @@ -100477,26 +101507,36 @@ 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 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 -; 0x61d68 -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) @@ -100507,7 +101547,6 @@ SSAnne10TrainerHeader0: ; 61d84 (18:5d84) dw SSAnne10AfterBattleText1 ; 0x5e20 TextAfterBattle dw SSAnne10EndBattleText1 ; 0x5e1b TextEndBattle dw SSAnne10EndBattleText1 ; 0x5e1b TextEndBattle -; 0x61d90 SSAnne10TrainerHeader1: ; 61d90 (18:5d90) db $2 ; flag's bit @@ -100517,7 +101556,6 @@ SSAnne10TrainerHeader1: ; 61d90 (18:5d90) dw SSAnne10AfterBattleText2 ; 0x5e2f TextAfterBattle dw SSAnne10EndBattleText2 ; 0x5e2a TextEndBattle dw SSAnne10EndBattleText2 ; 0x5e2a TextEndBattle -; 0x61d9c SSAnne10TrainerHeader2: ; 61d9c (18:5d9c) db $3 ; flag's bit @@ -100527,7 +101565,6 @@ SSAnne10TrainerHeader2: ; 61d9c (18:5d9c) dw SSAnne10AfterBattleText3 ; 0x5e3e TextAfterBattle dw SSAnne10EndBattleText3 ; 0x5e39 TextEndBattle dw SSAnne10EndBattleText3 ; 0x5e39 TextEndBattle -; 0x61da8 SSAnne10TrainerHeader3: ; 61da8 (18:5da8) db $4 ; flag's bit @@ -100537,7 +101574,6 @@ SSAnne10TrainerHeader3: ; 61da8 (18:5da8) dw SSAnne10AfterBattleText4 ; 0x5e4d TextAfterBattle dw SSAnne10EndBattleText4 ; 0x5e48 TextEndBattle dw SSAnne10EndBattleText4 ; 0x5e48 TextEndBattle -; 0x61db4 SSAnne10TrainerHeader4: ; 61db4 (18:5db4) db $5 ; flag's bit @@ -100547,7 +101583,6 @@ SSAnne10TrainerHeader4: ; 61db4 (18:5db4) dw SSAnne10AfterBattleText5 ; 0x5e5c TextAfterBattle dw SSAnne10EndBattleText5 ; 0x5e57 TextEndBattle dw SSAnne10EndBattleText5 ; 0x5e57 TextEndBattle -; 0x61dc0 SSAnne10TrainerHeader5: ; 61dc0 (18:5dc0) db $6 ; flag's bit @@ -100557,9 +101592,8 @@ SSAnne10TrainerHeader5: ; 61dc0 (18:5dc0) dw SSAnne10AfterBattleText6 ; 0x5e6b TextAfterBattle dw SSAnne10EndBattleText6 ; 0x5e66 TextEndBattle dw SSAnne10EndBattleText6 ; 0x5e66 TextEndBattle -; 0x61dcc -db $ff + db $ff SSAnne10Text1: ; 61dcd (18:5dcd) db $08 ; asm @@ -100606,97 +101640,79 @@ SSAnne10Text8: ; 61e09 (18:5e09) SSAnne10BattleText1: ; 61e16 (18:5e16) TX_FAR _SSAnne10BattleText1 - db $50 -; 0x61e16 + 5 bytes + db "@" SSAnne10EndBattleText1: ; 61e1b (18:5e1b) TX_FAR _SSAnne10EndBattleText1 - db $50 -; 0x61e1b + 5 bytes + db "@" SSAnne10AfterBattleText1: ; 61e20 (18:5e20) TX_FAR _SSAnne10AfterBattleText1 - db $50 -; 0x61e20 + 5 bytes + db "@" SSAnne10BattleText2: ; 61e25 (18:5e25) TX_FAR _SSAnne10BattleText2 - db $50 -; 0x61e25 + 5 bytes + db "@" SSAnne10EndBattleText2: ; 61e2a (18:5e2a) TX_FAR _SSAnne10EndBattleText2 - db $50 -; 0x61e2a + 5 bytes + db "@" SSAnne10AfterBattleText2: ; 61e2f (18:5e2f) TX_FAR _SSAnne10AfterBattleText2 - db $50 -; 0x61e2f + 5 bytes + db "@" SSAnne10BattleText3: ; 61e34 (18:5e34) TX_FAR _SSAnne10BattleText3 - db $50 -; 0x61e34 + 5 bytes + db "@" SSAnne10EndBattleText3: ; 61e39 (18:5e39) TX_FAR _SSAnne10EndBattleText3 - db $50 -; 0x61e39 + 5 bytes + db "@" SSAnne10AfterBattleText3: ; 61e3e (18:5e3e) TX_FAR _SSAnne10AfterBattleText3 - db $50 -; 0x61e3e + 5 bytes + db "@" SSAnne10BattleText4: ; 61e43 (18:5e43) TX_FAR _SSAnne10BattleText4 - db $50 -; 0x61e43 + 5 bytes + db "@" SSAnne10EndBattleText4: ; 61e48 (18:5e48) TX_FAR _SSAnne10EndBattleText4 - db $50 -; 0x61e48 + 5 bytes + db "@" SSAnne10AfterBattleText4: ; 61e4d (18:5e4d) TX_FAR _SSAnne10AfterBattleText4 - db $50 -; 0x61e4d + 5 bytes + db "@" SSAnne10BattleText5: ; 61e52 (18:5e52) TX_FAR _SSAnne10BattleText5 - db $50 -; 0x61e52 + 5 bytes + db "@" SSAnne10EndBattleText5: ; 61e57 (18:5e57) TX_FAR _SSAnne10EndBattleText5 - db $50 -; 0x61e57 + 5 bytes + db "@" SSAnne10AfterBattleText5: ; 61e5c (18:5e5c) TX_FAR _SSAnne10AfterBattleText5 - db $50 -; 0x61e5c + 5 bytes + db "@" SSAnne10BattleText6: ; 61e61 (18:5e61) TX_FAR _SSAnne10BattleText6 - db $50 -; 0x61e61 + 5 bytes + db "@" SSAnne10EndBattleText6: ; 61e66 (18:5e66) TX_FAR _SSAnne10EndBattleText6 - db $50 -; 0x61e66 + 5 bytes + db "@" SSAnne10AfterBattleText6: ; 61e6b (18:5e6b) TX_FAR _SSAnne10AfterBattleText6 - db $50 -; 0x61e6b + 5 bytes + db "@" SSAnne10Text7: ; 61e70 (18:5e70) TX_FAR _SSAnne10Text7 - db $50 + db "@" SSAnne10Object: ; 0x61e75 (size=165) db $c ; border tile @@ -100743,17 +101759,15 @@ 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 UndergroundPathNSScript: ; 61f26 (18:5f26) jp EnableAutoTextBoxDrawing -; 0x61f29 -UndergroundPathNSTexts: ; 61f29 (18:5f29) - db $50 +UndergroundPathNSTextPointers: ; 61f29 (18:5f29) + db "@" UndergroundPathNSObject: ; 0x61f2a (size=20) db $1 ; border tile @@ -100773,17 +101787,15 @@ 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 UndergroundPathWEBlocks, UndergroundPathWETextPointers, UndergroundPathWEScript ; blocks, texts, scripts db $00 ; connections - dw UndergroundPathWEObject ; objects UndergroundPathWEScript: ; 61f4a (18:5f4a) jp EnableAutoTextBoxDrawing -; 0x61f4d -UndergroundPathWETexts: ; 61f4d (18:5f4d) - db $50 +UndergroundPathWETextPointers: ; 61f4d (18:5f4d) + db "@" UndergroundPathWEObject: ; 0x61f4e (size=20) db $1 ; border tile @@ -100803,17 +101815,15 @@ 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 DiglettsCaveScript: ; 61f6e (18:5f6e) jp EnableAutoTextBoxDrawing -; 0x61f71 -DiglettsCaveTexts: ; 61f71 (18:5f71) - db $50 +DiglettsCaveTextPointers: ; 61f71 (18:5f71) + db "@" DiglettsCaveObject: ; 0x61f72 (size=20) db $19 ; border tile @@ -100836,28 +101846,26 @@ 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 -; 0x62110 -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] @@ -100869,10 +101877,9 @@ 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 -; known jump sources: 6211b (18:611b) Func_62137: ; 62137 (18:6137) push hl ld hl, $d73f @@ -100909,7 +101916,6 @@ Func_62137: ; 62137 (18:6137) ld [$FF00+$e0], a ret -; known jump sources: 6211e (18:611e) Func_62163: ; 62163 (18:6163) ld a, [$FF00+$e0] and a @@ -100918,9 +101924,8 @@ Func_62163: ; 62163 (18:6163) set 0, [hl] ret -; known jump sources: 62252 (18:6252) Func_6216d: ; 6216d (18:616d) - ld hl, Unknown_6219b ; $619b + ld hl, MissableObjectIDs_6219b ; $619b .asm_62170 ld a, [hli] cp $ff @@ -100932,7 +101937,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 @@ -100944,65 +101949,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 -; known jump sources: 6222c (18:622c) -Func_621c4: ; 621c4 (18:61c4) +SilphCo11Script_621c4: ; 621c4 (18:61c4) xor a - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a -; known jump sources: 6220e (18:620e), 62267 (18:6267), 62290 (18:6290), 622b4 (18:62b4) -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 -; known jump sources: 62240 (18:6240), 62288 (18:6288) -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 @@ -101013,9 +102031,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 @@ -101027,8 +102045,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 @@ -101045,10 +102065,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] @@ -101060,12 +102082,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 -; 622b7 (18:62b7) -SilphCo11Texts: ; 622b7 (18:62b7) - dw SilphCo11Text1, SilphCo11Text2, SilphCo11Text3, SilphCo11Text4, SilphCo11Text5, SilphCo11Text6 + jp SilphCo11Script_621c8 + +SilphCo11TextPointers: ; 622b7 (18:62b7) + dw SilphCo11Text1 + dw SilphCo11Text2 + dw SilphCo11Text3 + dw SilphCo11Text4 + dw SilphCo11Text5 + dw SilphCo11Text6 SilphCo11TrainerHeaders: ; 622c3 (18:62c3) SilphCo11TrainerHeader0: ; 622c3 (18:62c3) @@ -101076,7 +102103,6 @@ SilphCo11TrainerHeader0: ; 622c3 (18:62c3) dw SilphCo11AfterBattleText1 ; 0x634e TextAfterBattle dw SilphCo11EndBattleText1 ; 0x6349 TextEndBattle dw SilphCo11EndBattleText1 ; 0x6349 TextEndBattle -; 0x622cf SilphCo11TrainerHeader1: ; 622cf (18:62cf) db $5 ; flag's bit @@ -101086,9 +102112,8 @@ SilphCo11TrainerHeader1: ; 622cf (18:62cf) dw SilphCo11AfterBattleText2 ; 0x6367 TextAfterBattle dw SilphCo11EndBattleText2 ; 0x6362 TextEndBattle dw SilphCo11EndBattleText2 ; 0x6362 TextEndBattle -; 0x622db -db $ff + db $ff SilphCo11Text1: ; 622dc (18:62dc) db $08 ; asm @@ -101117,41 +102142,35 @@ SilphCo11Text1: ; 622dc (18:62dc) SilphCoPresidentText: ; 62311 (18:6311) TX_FAR _SilphCoPresidentText - db $50 -; 0x62311 + 5 bytes + db "@" ReceivedSilphCoMasterBallText: ; 62316 (18:6316) TX_FAR _ReceivedSilphCoMasterBallText ; 0x84f63 - db $11, $50 -; 0x62316 + 6 bytes = 0x6231c + db $11, "@" UnnamedText_6231c: ; 6231c (18:631c) TX_FAR _UnnamedText_6231c - db $50 -; 0x6231c + 5 bytes + db "@" SilphCoMasterBallNoRoomText: ; 62321 (18:6321) TX_FAR _SilphCoMasterBallNoRoomText - db $50 -; 0x62321 + 5 bytes + db "@" SilphCo11Text2: ; 62326 (18:6326) TX_FAR _SilphCo11Text2 - db $50 + db "@" SilphCo11Text3: ; 6232b (18:632b) TX_FAR _SilphCo11Text3 - db $50 + db "@" UnnamedText_62330: ; 62330 (18:6330) TX_FAR _UnnamedText_62330 - db $50 -; 0x62330 + 5 bytes + db "@" SilphCo11Text6: ; 62335 (18:6335) TX_FAR _UnnamedText_62335 - db $50 -; 0x62335 + 5 bytes + db "@" SilphCo11Text4: ; 6233a (18:633a) db $08 ; asm @@ -101161,18 +102180,15 @@ SilphCo11Text4: ; 6233a (18:633a) SilphCo11BattleText1: ; 62344 (18:6344) TX_FAR _SilphCo11BattleText1 - db $50 -; 0x62344 + 5 bytes + db "@" SilphCo11EndBattleText1: ; 62349 (18:6349) TX_FAR _SilphCo11EndBattleText1 - db $50 -; 0x62349 + 5 bytes + db "@" SilphCo11AfterBattleText1: ; 6234e (18:634e) TX_FAR _SilphCo11AfterBattleText1 - db $50 -; 0x6234e + 5 bytes + db "@" SilphCo11Text5: ; 62353 (18:6353) db $08 ; asm @@ -101182,32 +102198,27 @@ SilphCo11Text5: ; 62353 (18:6353) SilphCo11BattleText2: ; 6235d (18:635d) TX_FAR _SilphCo11BattleText2 - db $50 -; 0x6235d + 5 bytes + db "@" SilphCo11EndBattleText2: ; 62362 (18:6362) TX_FAR _SilphCo11EndBattleText2 - db $50 -; 0x62362 + 5 bytes + db "@" SilphCo11AfterBattleText2: ; 62367 (18:6367) TX_FAR _SilphCo11AfterBattleText2 - db $50 -; 0x62367 + 5 bytes + db "@" -UnknownText_6236c: ; 6236c (18:636c) +UnnamedText_6236c: ; 6236c (18:636c) db $8 ld hl, UnnamedText_6237b call PrintText ld a, PORYGON call DisplayPokedex jp TextScriptEnd -; 0x6237b UnnamedText_6237b: ; 6237b (18:637b) TX_FAR _UnnamedText_6237b - db $50 -; 0x6237b + 5 bytes + db "@" SilphCo11Object: ; 0x62380 (size=72) db $d ; border tile @@ -101277,119 +102288,141 @@ GymStatues: ; 62419 (18:6419) db VIRIDIAN_GYM, %10000000 db $ff -UnnamedText_62453: ; 62453 (18:6453) - TX_FAR _UnnamedText_62453 - db $50 -; 0x62453 + 5 bytes +GymStatueText1: ; 62453 (18:6453) + TX_FAR _GymStatueText1 + db "@" -UnnamedText_62458: ; 62458 (18:6458) - TX_FAR _UnnamedText_62458 - db $50 -; 0x62458 + 5 bytes +GymStatueText2: ; 62458 (18:6458) + TX_FAR _GymStatueText2 + 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 -UnnamedText_624a3: ; 624a3 (18:64a3) - TX_FAR _UnnamedText_624a3 - db $50 -; 0x624a3 + 5 bytes +; 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_624a8: ; 624a8 (18:64a8) - TX_FAR _UnnamedText_624a8 - db $50 -; 0x624a8 + 5 bytes +ViridianCityPokecenterBenchGuyText: ; 624a3 (18:64a3) + TX_FAR _ViridianCityPokecenterGuyText + db "@" -UnnamedText_624ad: ; 624ad (18:64ad) - TX_FAR _UnnamedText_624ad - db $50 -; 0x624ad + 5 bytes +PewterCityPokecenterBenchGuyText: ; 624a8 (18:64a8) + TX_FAR _PewterCityPokecenterGuyText + db "@" -UnnamedText_624b2: ; 624b2 (18:64b2) - TX_FAR _UnnamedText_624b2 - db $50 -; 0x624b2 + 5 bytes +CeruleanCityPokecenterBenchGuyText: ; 624ad (18:64ad) + TX_FAR _CeruleanPokecenterGuyText + db "@" -UnnamedText_624b7: ; 624b7 (18:64b7) - TX_FAR _UnnamedText_624b7 - db $50 -; 0x624b7 + 5 bytes +LavenderCityPokecenterBenchGuyText: ; 624b2 (18:64b2) + TX_FAR _LavenderPokecenterGuyText + db "@" -UnnamedText_624bc: ; 624bc (18:64bc) - TX_FAR _UnnamedText_624bc - db $50 -; 0x624bc + 5 bytes +MtMoonPokecenterBenchGuyText: ; 624b7 (18:64b7) + TX_FAR _MtMoonPokecenterBenchGuyText + db "@" + +RockTunnelPokecenterBenchGuyText: ; 624bc (18:64bc) + TX_FAR _RockTunnelPokecenterGuyText + db "@" UnnamedText_624c1: ; 624c1 (18:64c1) TX_FAR _UnnamedText_624c1 - db $50 -; 0x624c1 + 5 bytes + db "@" UnnamedText_624c6: ; 624c6 (18:64c6) TX_FAR _UnnamedText_624c6 - db $50 -; 0x624c6 + 5 bytes + db "@" UnnamedText_624cb: ; 624cb (18:64cb) TX_FAR _UnnamedText_624cb - db $50 -; 0x624cb + 5 bytes + db "@" -UnnamedText_624d0: ; 624d0 (18:64d0) - TX_FAR _UnnamedText_624d0 - db $50 -; 0x624d0 + 5 bytes +VermilionCityPokecenterBenchGuyText: ; 624d0 (18:64d0) + TX_FAR _VermilionPokecenterGuyText + db "@" -UnnamedText_624d5: ; 624d5 (18:64d5) - TX_FAR _UnnamedText_624d5 - db $50 -; 0x624d5 + 5 bytes +CeladonCityPokecenterBenchGuyText: ; 624d5 (18:64d5) + TX_FAR _CeladonCityPokecenterGuyText + db "@" -UnnamedText_624da: ; 624da (18:64da) - TX_FAR _UnnamedText_624da - db $50 -; 0x624da + 5 bytes +FuchsiaCityPokecenterBenchGuyText: ; 624da (18:64da) + TX_FAR _FuchsiaCityPokecenterGuyText + db "@" -UnnamedText_624df: ; 624df (18:64df) - TX_FAR _UnnamedText_624df - db $50 -; 0x624df + 5 bytes +CinnabarIslandPokecenterBenchGuyText: ; 624df (18:64df) + TX_FAR _CinnabarPokecenterGuyText + db "@" -UnnamedText_624e4: ; 624e4 (18:64e4) - db $8 +SaffronCityPokecenterBenchGuyText: ; 624e4 (18:64e4) + db $8 ; asm ld a, [$d838] bit 7, a - ld hl, UnnamedText_624fd + ld hl, SaffronCityPokecenterBenchGuyText2 jr nz, .asm_624f2 ; 0x624ed $3 - ld hl, UnnamedText_624f8 + ld hl, SaffronCityPokecenterBenchGuyText1 .asm_624f2 call PrintText jp TextScriptEnd -; 0x624f8 -UnnamedText_624f8: ; 624f8 (18:64f8) - TX_FAR _UnnamedText_624f8 - db $50 -; 0x624f8 + 5 bytes +SaffronCityPokecenterBenchGuyText1: ; 624f8 (18:64f8) + TX_FAR _SaffronCityPokecenterGuyText1 + db "@" -UnnamedText_624fd: ; 624fd (18:64fd) - TX_FAR _UnnamedText_624fd - db $50 -; 0x624fd + 5 bytes +SaffronCityPokecenterBenchGuyText2: ; 624fd (18:64fd) + TX_FAR _SaffronCityPokecenterGuyText2 + db "@" -UnnamedText_62502: ; 62502 (18:6502) - TX_FAR _UnnamedText_62502 - db $50 -; 0x62502 + 5 bytes +CeladonCityHotelText: ; 62502 (18:6502) + TX_FAR _CeladonCityHotelText + db "@" + + ret + db "@" -INCBIN "baserom.gbc",$62507,$62511 - $62507 + call EnableAutoTextBoxDrawing + ld a, $e + jp Func_3ef5 -UnnamedText_62511: ; 62511 (18:6511) - TX_FAR _UnnamedText_62511 - db $50 -; 0x62511 + 5 bytes +BookcaseText: ; 62511 (18:6511) + TX_FAR _BookcaseText + db "@" ld a, [$c109] - cp $4 + cp $4 ; check to see if player is facing up ret nz call EnableAutoTextBoxDrawing ld a, $1 @@ -101472,7 +102505,6 @@ DecrementPP: ; 68000 (1a:4000) ; based on the move chosen. dec [hl] ; Decrement PP ret -; 0x6802f Version_GFX: ; 6802f (1a:402f) IF _RED @@ -101538,7 +102570,6 @@ Tset0B_Block: ; 6fef0 (1b:7ef0) SECTION "bank1C",ROMX,BANK[$1C] -; known jump sources: 70044 (1c:4044) Func_70000: ; 70000 (1c:4000) ld a, $f9 ld [rOBP0], a ; $FF00+$48 @@ -101557,20 +102588,19 @@ 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 -; known jump sources: 418c4 (10:58c4) 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 @@ -101598,7 +102628,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 @@ -101616,19 +102646,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] @@ -101637,7 +102667,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] @@ -101652,16 +102682,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 @@ -101673,18 +102703,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 -; known jump sources: 700d5 (1c:40d5) 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 @@ -101727,9 +102789,8 @@ GameFreakShootingStarOAMData: ; 70180 (1c:4180) db $08,$A8,$A1,$30 FallingStar: ; 70190 (1c:4190) -INCBIN "gfx/falling_star.2bpp" + INCBIN "gfx/falling_star.2bpp" -; known jump sources: 74061 (1d:4061) Func_701a0: ; 701a0 (1c:41a0) call Func_70423 call ClearScreen @@ -101777,7 +102838,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 @@ -101813,7 +102874,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 @@ -101828,14 +102889,13 @@ Func_701a0: ; 701a0 (1c:41a0) HallOfFameText: ; 7026b (1c:426b) db "HALL OF FAME@" -; known jump sources: 70217 (1c:4217), 70259 (1c:4259) Func_70278: ; 70278 (1c:4278) call ClearScreen ld a, $d0 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 @@ -101883,7 +102943,6 @@ Func_70278: ; 70278 (1c:4278) jr nz, .asm_702d5 ret -; known jump sources: 7021a (1c:421a) Func_702e1: ; 702e1 (1c:42e1) ld a, [$cd3e] ld hl, W_PARTYMON1NAME ; $d2b5 @@ -101891,7 +102950,6 @@ Func_702e1: ; 702e1 (1c:42e1) call Func_702f0 jp Func_70404 -; known jump sources: 702ea (1c:42ea), 7666d (1d:666d) Func_702f0: ; 702f0 (1c:42f0) FuncCoord 0, 2 ; $c3c8 ld hl, Coord @@ -101910,19 +102968,18 @@ 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) db "LEVEL/",$4e,"TYPE1/",$4e,"TYPE2/@" -; known jump sources: 70298 (1c:4298) Func_7033e: ; 7033e (1c:433e) ld de, Unknown_72ede ; $6ede ld a, $4 @@ -101942,7 +102999,6 @@ Func_7033e: ; 7033e (1c:433e) call InterlaceMergeSpriteBuffers ld c, $1 -; known jump sources: 702b8 (1c:42b8), 702ce (1c:42ce) Func_7036d: ; 7036d (1c:436d) ld b, $0 FuncCoord 12, 5 ; $c410 @@ -101950,7 +103006,6 @@ Func_7036d: ; 7036d (1c:436d) ld a, $31 jp Predef ; indirect jump to Func_79dda (79dda (1e:5dda)) -; known jump sources: 7025c (1c:425c) Func_70377: ; 70377 (1c:4377) ld hl, $d747 set 3, [hl] @@ -101990,7 +103045,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 @@ -101999,7 +103054,6 @@ Func_70377: ; 70377 (1c:4377) call Func_703e2 ld hl, $cc5d -; known jump sources: 703d6 (1c:43d6), 703dc (1c:43dc) Func_703e2: ; 703e2 (1c:43e2) call PrintText ld c, $78 @@ -102013,21 +103067,18 @@ HoFMoneyText: ; 703f4 (1c:43f4) UnnamedText_703fa: ; 703fa (1c:43fa) TX_FAR _UnnamedText_703fa - db $50 -; 0x703fa + 5 bytes + db "@" UnnamedText_703ff: ; 703ff (1c:43ff) TX_FAR _UnnamedText_703ff - db $50 -; 0x703ff + 5 bytes + db "@" -; known jump sources: 702ed (1c:42ed) Func_70404: ; 70404 (1c:4404) ld hl, $cc5b 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 @@ -102037,20 +103088,18 @@ Func_70404: ; 70404 (1c:4404) ld bc, $b jp CopyData -; known jump sources: 701a0 (1c:41a0), 7025f (1c:425f) Func_70423: ; 70423 (1c:4423) ld a, $a ld [$cfc8], a ld [$cfc9], a ld a, $ff - ld [W_CURCHANNELPOINTER], a + ld [wMusicHeaderPointer], a jp GBFadeOut2 -; known jump sources: 7027 (1:7027) 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] @@ -102062,15 +103111,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 @@ -102111,13 +103160,18 @@ Func_70433: ; 70433 (1c:4433) ld [hl], a jp UpdateSprites -PokeCenterHealBall: ; 704b7 (1c:44b7) -INCBIN "gfx/pokecenter_ball.2bpp" +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 -; known jump sources: 7049f (1c:449f), 708f3 (1c:48f3) Func_704f3: ; 704f3 (1c:44f3) ld b, $8 .asm_704f5 @@ -102130,7 +103184,6 @@ Func_704f3: ; 704f3 (1c:44f3) jr nz, .asm_704f5 ret -; known jump sources: 70454 (1c:4454), 7046e (1c:446e) Func_70503: ; 70503 (1c:4503) ld a, [de] inc de @@ -102146,7 +103199,6 @@ Func_70503: ; 70503 (1c:4503) ld [hli], a ret -; known jump sources: 3de (0:3de) Func_70510: ; 70510 (1c:4510) call Func_706ef ld a, $ec @@ -102172,7 +103224,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 @@ -102200,7 +103252,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 @@ -102214,9 +103266,8 @@ Func_70510: ; 70510 (1c:4510) Unknown_70592: ; 70592 (1c:4592) INCBIN "baserom.gbc",$70592,$705aa - $70592 -; known jump sources: 70537 (1c:4537), 70563 (1c:4563) Func_705aa: ; 705aa (1c:45aa) - ld hl, W_WHICHTRADE ; $cd3d + ld hl, wWhichTrade ; $cd3d ld a, $10 ld [hli], a ld a, $3c @@ -102225,7 +103276,6 @@ Func_705aa: ; 705aa (1c:45aa) ld [hl], a jp Func_70755 -; known jump sources: 994 (0:994) _DoFlyOrTeleportAwayGraphics: ; 705ba (1c:45ba) call Func_706ef call Func_70787 @@ -102237,7 +103287,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 @@ -102260,7 +103310,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 @@ -102273,7 +103323,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 @@ -102282,7 +103332,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 @@ -102307,7 +103357,6 @@ INCBIN "baserom.gbc",$7064f,$70667 - $7064f Unknown_70667: ; 70667 (1c:4667) INCBIN "baserom.gbc",$70667,$7067d - $70667 -; known jump sources: 705c5 (1c:45c5) Func_7067d: ; 7067d (1c:467d) ld a, $ff ld [$cfcb], a @@ -102316,7 +103365,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 @@ -102328,14 +103377,13 @@ Func_7067d: ; 7067d (1c:467d) ld [$cfcb], a jp Func_70772 -; known jump sources: 7058a (1c:458a), 7061e (1c:461e), 70633 (1c:4633), 70646 (1c:4646), 706d4 (1c:46d4) Func_706ae: ; 706ae (1c:46ae) ld a, [$cd3f] xor $1 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 @@ -102353,7 +103401,6 @@ Func_706ae: ; 706ae (1c:46ae) jr nz, Func_706ae ret -; known jump sources: 70575 (1c:4575), 70610 (1c:4610) Func_706d7: ; 706d7 (1c:46d7) ld de, BirdSprite ; $4d80 ld hl, $8000 @@ -102364,7 +103411,6 @@ Func_706d7: ; 706d7 (1c:46d7) ld bc, (BANK(BirdSprite) << 8) + $0c jp CopyVideoData -; known jump sources: 70510 (1c:4510), 705ba (1c:45ba) Func_706ef: ; 706ef (1c:46ef) ld a, [$c102] ld [$cd50], a @@ -102386,7 +103432,6 @@ Func_706ef: ; 706ef (1c:46ef) Unknown_70713: ; 70713 (1c:4713) INCBIN "baserom.gbc",$70713,$70717 - $70713 -; known jump sources: 70730 (1c:4730), 70755 (1c:4755) Func_70717: ; 70717 (1c:4717) ld a, [hl] ld [$c102], a @@ -102400,10 +103445,9 @@ Func_70717: ; 70717 (1c:4717) pop hl ret -; known jump sources: 70555 (1c:4555), 7060b (1c:460b), 70753 (1c:4753) 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 @@ -102413,7 +103457,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 @@ -102421,10 +103465,9 @@ Func_70730: ; 70730 (1c:4730) call DelayFrames jr Func_70730 -; known jump sources: 705b7 (1c:45b7), 705da (1c:45da), 70770 (1c:4770) 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 @@ -102438,7 +103481,6 @@ Func_70755: ; 70755 (1c:4755) call DelayFrames jr Func_70755 -; known jump sources: 7055b (1c:455b), 705ec (1c:45ec), 7064c (1c:464c), 706ab (1c:46ab) Func_70772: ; 70772 (1c:4772) ld a, [$cd4f] ld [$c104], a @@ -102446,7 +103488,6 @@ Func_70772: ; 70772 (1c:4772) ld [$c102], a ret -; known jump sources: 705b3 (1c:45b3), 705d6 (1c:45d6) Func_7077f: ; 7077f (1c:477f) ld a, [$cf1b] xor $1 @@ -102454,10 +103495,9 @@ Func_7077f: ; 7077f (1c:477f) inc a ret -; known jump sources: 77e (0:77e), 7053f (1c:453f), 705bd (1c:45bd), 705dd (1c:45dd) 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 @@ -102482,10 +103522,14 @@ 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 -; known jump sources: e2ad (3:62ad) Func_707b6: ; 707b6 (1c:47b6) ld c, $a call DelayFrames @@ -102501,14 +103545,14 @@ Func_707b6: ; 707b6 (1c:47b6) ld a, [$c102] ld c, a ld b, $0 - ld hl, Unknown_70856 ; $4856 + ld hl, FishingRodGfxProperties ; $4856 add hl, bc ld de, $c39c ld bc, $4 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 @@ -102550,35 +103594,38 @@ Func_707b6: ; 707b6 (1c:47b6) call LoadFontTilePatterns ret -; known jump sources: 70801 (1c:4801), 70807 (1c:4807) Func_70842: ; 70842 (1c:4842) ld a, [hl] xor $1 ld [hl], a ret -; 70847 (1c:4847) + UnnamedText_70847: ; 70847 (1c:4847) TX_FAR _UnnamedText_70847 - db $50 -; 0x70847 + 5 bytes + db "@" UnnamedText_7084c: ; 7084c (1c:484c) TX_FAR _UnnamedText_7084c - db $50 -; 0x7084c + 5 bytes + db "@" UnnamedText_70851: ; 70851 (1c:4851) TX_FAR _UnnamedText_70851 - db $50 -; 0x70851 + 5 bytes + db "@" -Unknown_70856: ; 70856 (1c:4856) -INCBIN "baserom.gbc",$70856,$70866 - $70856 +FishingRodGfxProperties: ; 70856 (1c:4856) +; specicies how the fishing rod should be drawn on the screen +; first byte = screen y coordinate +; second byte = screen x coordinate +; third byte = tile number +; fourth byte = sprite properties + db $5B, $4C, $FD, $00 ; player facing down + db $44, $4C, $FD, $00 ; player facing up + db $50, $40, $FE, $00 ; player facing left + db $50, $58, $FE, $20 ; player facing right ($20 means "horizontally flip the tile") Unknown_70866: ; 70866 (1c:4866) INCBIN "baserom.gbc",$70866,$7087e - $70866 -; known jump sources: 3a3 (0:3a3) _HandleMidJump: ; 7087e (1c:487e) ld a, [$d714] ld c, a @@ -102593,7 +103640,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 @@ -102608,13 +103655,12 @@ _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) INCBIN "baserom.gbc",$708ba,$708ca - $708ba -; known jump sources: 58e20 (16:4e20) Func_708ca: ; 708ca (1c:48ca) ld a, $e4 ld [rOBP1], a ; $FF00+$49 @@ -102663,7 +103709,6 @@ Func_708ca: ; 708ca (1c:48ca) call Delay3 jp CleanLCD_OAM -; known jump sources: 708ce (1c:48ce), 70908 (1c:4908) Func_7092a: ; 7092a (1c:492a) ld de, $9000 ld hl, $8000 @@ -102673,7 +103718,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 @@ -102703,7 +103748,6 @@ Func_7092a: ; 7092a (1c:492a) jr nz, .asm_70948 ret -; known jump sources: 3ec52 (f:6c52) Func_7096d: ; 7096d (1c:496d) ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba @@ -102756,7 +103800,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] @@ -102764,10 +103808,16 @@ 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 -; known jump sources: 709c0 (1c:49c0) Func_709e2: ; 709e2 (1c:49e2) ld a, [W_CUROPPONENT] ; $d059 cp $c8 @@ -102778,7 +103828,6 @@ Func_709e2: ; 709e2 (1c:49e2) set 0, c ret -; known jump sources: 709c3 (1c:49c3) Func_709ef: ; 709ef (1c:49ef) ld hl, W_PARTYMON1_HP ; $d16c .asm_709f2 @@ -102807,11 +103856,10 @@ Func_709ef: ; 709ef (1c:49ef) ld [$cd47], a ret -; known jump sources: 709c6 (1c:49c6) 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 @@ -102822,7 +103870,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 @@ -102838,13 +103886,34 @@ 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 -Unknown_70a44: ; 70a44 (1c:4a44) -INCBIN "baserom.gbc",$70a44,$70a4d - $70a44 +; 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 + + ; 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 -; known jump sources: 709b3 (1c:49b3) Func_70a4d: ; 70a4d (1c:4a4d) ld hl, $8ff0 ld de, BattleTransitionTile ; $4a59 @@ -102852,15 +103921,16 @@ Func_70a4d: ; 70a4d (1c:4a4d) jp CopyVideoData BattleTransitionTile: ; 70a59 (1c:4a59) -INCBIN "gfx/battle_transition.2bpp" + INCBIN "gfx/battle_transition.2bpp" -; known jump sources: 70a9f (1c:4a9f), 70bc2 (1c:4bc2), 70c0a (1c:4c0a), 70ca7 (1c:4ca7), 70cd5 (1c:4cd5), 70d4d (1c:4d4d) Func_70a69: ; 70a69 (1c:4a69) ld a, $ff ld [rBGP], a ; $FF00+$47 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 @@ -102894,11 +103964,10 @@ Func_70a69: ; 70a69 (1c:4a69) ld [$d09a], a ret -; known jump sources: 70a78 (1c:4a78) 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 @@ -102925,27 +103994,25 @@ Func_70aaa: ; 70aaa (1c:4aaa) jr nz, .asm_70abd ret -; known jump sources: 70ab7 (1c:4ab7), 70ac0 (1c:4ac0), 70ac7 (1c:4ac7), 70acf (1c:4acf), 70ad6 (1c:4ad6) Func_70ae0: ; 70ae0 (1c:4ae0) push bc .asm_70ae1 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 pop bc ret -; known jump sources: 70a92 (1c:4a92) Func_70af9: ; 70af9 (1c:4af9) ld bc, $ffec ld de, $14 @@ -103013,9 +104080,8 @@ Func_70af9: ; 70af9 (1c:4af9) ld [$d09f], a jr .asm_70b1c -; known jump sources: 70b6f (1c:4b6f), 70cff (1c:4cff) Func_70b5d: ; 70b5d (1c:4b5d) - ld hl, Unknown_70b72 ; $4b72 + ld hl, DataTable_70b72 ; $4b72 .asm_70b60 ld a, [hli] cp $1 @@ -103029,8 +104095,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 @@ -103070,6 +104139,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 @@ -103083,7 +104154,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 @@ -103094,7 +104165,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 @@ -103106,10 +104177,9 @@ INCBIN "baserom.gbc",$70b72,$70b7f - $70b72 ld c, $a jp DelayFrames -; known jump sources: 70b8e (1c:4b8e), 70b9a (1c:4b9a), 70bd9 (1c:4bd9), 70be5 (1c:4be5) 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 @@ -103121,7 +104191,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 @@ -103139,10 +104209,9 @@ Func_70c12: ; 70c12 (1c:4c12) jr nz, .asm_70c3a ret -; known jump sources: 70ba6 (1c:4ba6), 70bb2 (1c:4bb2), 70bf1 (1c:4bf1), 70bfd (1c:4bfd) 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 @@ -103170,7 +104239,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 @@ -103188,8 +104257,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 @@ -103216,7 +104287,6 @@ Func_70c3f: ; 70c3f (1c:4c3f) jr nz, .asm_70c89 jp Func_70a69 -; known jump sources: 70c8d (1c:4c8d), 70c91 (1c:4c91) Func_70caa: ; 70caa (1c:4caa) ld c, $a .asm_70cac @@ -103226,8 +104296,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 @@ -103250,7 +104322,6 @@ Func_70caa: ; 70caa (1c:4caa) jr nz, .asm_70cbf jp Func_70a69 -; known jump sources: 70cc3 (1c:4cc3), 70cc7 (1c:4cc7) Func_70cd8: ; 70cd8 (1c:4cd8) ld c, $9 ld de, $28 @@ -103261,9 +104332,17 @@ 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 -; known jump sources: 70d24 (1c:4d24) Func_70cfd: ; 70cfd (1c:4cfd) ld b, $3 call Func_70b5d @@ -103271,9 +104350,20 @@ 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 -; known jump sources: 70aeb (1c:4aeb), 70c00 (1c:4c00), 70c94 (1c:4c94), 70cca (1c:4cca), 70d46 (1c:4d46) Func_70d19: ; 70d19 (1c:4d19) ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba @@ -103281,6 +104371,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 @@ -103308,9 +104400,8 @@ Func_70d19: ; 70d19 (1c:4d19) jr nz, .asm_70d2f jp Func_70a69 -; known jump sources: 70d34 (1c:4d34), 70d3a (1c:4d3a) Func_70d50: ; 70d50 (1c:4d50) - ld [W_WHICHTRADE], a ; $cd3d + ld [wWhichTrade], a ; $cd3d ld a, [hli] ld [$cd3e], a ld a, [hli] @@ -103320,15 +104411,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 -asm_70dc5 + 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 + +Func_70dc5: ; 70dc5 (1c:4dc5) push hl ld a, [de] ld c, a @@ -103346,7 +104533,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 @@ -103358,7 +104545,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] @@ -103371,11 +104558,23 @@ 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 -INCBIN "baserom.gbc",$70dfe,$70e3e - $70dfe +Unknown_70e04: ; 70e04 (1c:4e04) + db $01,$01,$02,$02,$04,$02,$04,$02,$03,$FF + +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 -; known jump sources: d974 (3:5974) Func_70e3e: ; 70e3e (1c:4e3e) call Func_7109b ld hl, $cfcb @@ -103393,8 +104592,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 @@ -103402,22 +104601,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 -; known jump sources: 70efe (1c:4efe), 70f0e (1c:4f0e) 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] @@ -103466,22 +104665,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) @@ -103534,9 +104733,8 @@ TownMapOrder: ; 70f11 (1c:4f11) db POWER_PLANT TownMapCursor: ; 70f40 (1c:4f40) -INCBIN "gfx/town_map_cursor.1bpp" + INCBIN "gfx/town_map_cursor.1bpp" -; known jump sources: 4010a (10:410a) Func_70f60: ; 70f60 (1c:4f60) call Func_7109b ld hl, $cfcb @@ -103563,7 +104761,6 @@ Func_70f60: ; 70f60 (1c:4f60) MonsNestText: ; 70f89 (1c:4f89) db "'s NEST@" -; known jump sources: 30b3 (0:30b3) Func_70f90: ; 70f90 (1c:4f90) call CleanLCD_OAM call Func_7109b @@ -103583,7 +104780,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 @@ -103593,7 +104790,6 @@ Func_70f90: ; 70f90 (1c:4f90) FuncCoord 18, 0 ; $c3b2 ld de, Coord -; known jump sources: 7104f (1c:504f), 71055 (1c:5055), 71065 (1c:5065) Func_70fd6: ; 70fd6 (1c:4fd6) ld a, $7f ld [de], a @@ -103685,9 +104881,8 @@ Func_70fd6: ; 70fd6 (1c:4fd6) ToText: ; 7106d (1c:506d) db "To@" -; known jump sources: 70fb4 (1c:4fb4) Func_71070: ; 71070 (1c:5070) - ld hl, W_WHICHTRADE ; $cd3d + ld hl, wWhichTrade ; $cd3d ld [hl], $ff inc hl ld a, [$d70b] @@ -103711,14 +104906,13 @@ Func_71070: ; 71070 (1c:5070) ret TownMapUpArrow: ; 71093 (1c:5093) -INCBIN "gfx/up_arrow.1bpp" + INCBIN "gfx/up_arrow.1bpp" -; known jump sources: 70e3e (1c:4e3e), 70f60 (1c:4f60), 70f93 (1c:4f93) 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 @@ -103728,12 +104922,12 @@ Func_7109b: ; 7109b (1c:509b) ld bc, $100 ld a, BANK(WorldMapTileGraphics) call FarCopyData2 - ld hl, Unknown_716be ; $56be + ld hl, MonNestIcon ; $56be ld de, $8040 ld bc, $8 - ld a, BANK(Unknown_716be) + ld a, BANK(MonNestIcon) call FarCopyDataDouble - ld hl, W_SCREENTILESBUFFER + ld hl, wTileMap ld de, CompressedMap ; $5100 .asm_710d3 ld a, [de] @@ -103763,12 +104957,11 @@ Func_7109b: ; 7109b (1c:509b) inc a ld [$d09b], a ret -; 71100 (1c:5100) + CompressedMap: ; 71100 (1c:5100) ; you can decompress this file with the redrle program in the extras/ dir INCBIN "gfx/town_map.rle" -; known jump sources: 70eeb (1c:4eeb), 70f82 (1c:4f82) Func_711ab: ; 711ab (1c:51ab) xor a ld [$d09b], a @@ -103780,7 +104973,6 @@ Func_711ab: ; 711ab (1c:51ab) call UpdateSprites jp GoPAL_SET_CF1C -; known jump sources: 70e53 (1c:4e53), 70fcd (1c:4fcd), 70fe8 (1c:4fe8), 7123b (1c:523b) Func_711c4: ; 711c4 (1c:51c4) push af ld a, b @@ -103800,18 +104992,17 @@ 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 -; known jump sources: 70f6b (1c:4f6b) Func_711ef: ; 711ef (1c:51ef) ld b, BANK(Func_e9cb) 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] @@ -103852,15 +105043,14 @@ 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 AreaUnknownText: ; 7124a (1c:524a) db " AREA UNKNOWN@" -; known jump sources: 70e9a (1c:4e9a), 711d2 (1c:51d2), 71212 (1c:5212) Func_71258: ; 71258 (1c:5258) push af and $f0 @@ -103877,7 +105067,6 @@ Func_71258: ; 71258 (1c:5258) ld [hli], a ret -; known jump sources: 711d5 (1c:51d5) Func_7126d: ; 7126d (1c:526d) ld a, [$cd5b] and a @@ -103885,7 +105074,6 @@ Func_7126d: ; 7126d (1c:526d) jr z, Func_71279 ld hl, $c380 -; known jump sources: 70ea5 (1c:4ea5), 71274 (1c:5274) Func_71279: ; 71279 (1c:5279) push hl ld hl, $fcfc @@ -103894,7 +105082,6 @@ Func_71279: ; 71279 (1c:5279) ld c, l pop hl -; known jump sources: 718da (1c:58da) Func_71281: ; 71281 (1c:5281) ld de, $202 .asm_71284 @@ -103926,7 +105113,6 @@ Func_71281: ; 71281 (1c:5281) jr nz, .asm_71284 ret -; known jump sources: 718d5 (1c:58d5) Func_712a6: ; 712a6 (1c:52a6) xor a ld [$cd5c], a @@ -103965,7 +105151,6 @@ Func_712a6: ; 712a6 (1c:52a6) jr nz, .asm_712ad ret -; known jump sources: 711f7 (1c:51f7) Func_712d9: ; 712d9 (1c:52d9) ld de, $cee9 .asm_712dc @@ -103988,9 +105173,8 @@ Func_712d9: ; 712d9 (1c:52d9) inc hl jr .asm_712e4 -; known jump sources: 70e95 (1c:4e95), 711cd (1c:51cd), 71209 (1c:5209) Func_712f1: ; 712f1 (1c:52f1) - cp $25 + cp REDS_HOUSE_1F jr c, .asm_71304 ld bc, $4 ld hl, InternalMapEntries ; $5382 @@ -104016,7 +105200,7 @@ Func_712f1: ; 712f1 (1c:52f1) ld h, [hl] ld l, a ret -; 71313 (1c:5313) + ExternalMapEntries: ; 71313 (1c:5313) EMAP $2,$B,PalletTownName EMAP $2,$8,ViridianCityName @@ -104227,10 +105411,9 @@ CeruleanCaveName: ; 716a4 (1c:56a4) PowerPlantName: ; 716b2 (1c:56b2) db "POWER PLANT@" -Unknown_716be: ; 716be (1c:56be) -INCBIN "baserom.gbc",$716be,$716c6 - $716be +MonNestIcon: ; 716be (1c:56be) + INCBIN "gfx/mon_nest_icon.1bpp" -; known jump sources: 70ec8 (1c:4ec8) Func_716c6: ; 716c6 (1c:56c6) ld a, [W_SUBANIMTRANSFORM] ; $d08b inc a @@ -104238,14 +105421,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 @@ -104258,25 +105441,23 @@ Func_716c6: ; 716c6 (1c:56c6) ld [W_SUBANIMTRANSFORM], a ; $d08b jp DelayFrame -; known jump sources: 6608 (1:6608) Func_716f7: ; 716f7 (1c:56f7) xor a - ld [W_CURMENUITEMID], a ; $cc26 + ld [wCurrentMenuItem], a ; $cc26 ld b, a inc a jr asm_7170a -; known jump sources: 3ae5 (0:3ae5) 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 @@ -104300,7 +105481,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 @@ -104310,7 +105491,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] @@ -104336,15 +105517,13 @@ 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 -; known jump sources: 65b5 (1:65b5), 41214 (10:5214) Func_7176c: ; 7176c (1c:576c) - ld hl, Unknown_717c0 ; $57c0 + ld hl, MonOverworldSpritePointers ; $57c0 ld a, $1c -; known jump sources: 707d1 (1c:47d1) Func_71771: ; 71771 (1c:5771) ld bc, $0 .asm_71774 @@ -104374,10 +105553,9 @@ Func_71771: ; 71771 (1c:5771) jr nz, .asm_71774 ret -; known jump sources: 12ce0 (4:6ce0) Func_71791: ; 71791 (1c:5791) call DisableLCD - ld hl, Unknown_717c0 ; $57c0 + ld hl, MonOverworldSpritePointers ; $57c0 ld a, $1c ld bc, $0 .asm_7179c @@ -104410,10 +105588,147 @@ 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 -; known jump sources: 12d1d (4:6d1d) Func_71868: ; 71868 (1c:5868) push hl push de @@ -104426,23 +105741,55 @@ 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 ret -; known jump sources: 6916 (1:6916), 4150a (10:550a) Func_71882: ; 71882 (1c:5882) xor a ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c 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 @@ -104459,12 +105806,11 @@ 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 -; known jump sources: 71875 (1c:5875), 71888 (1c:5888) Func_718e9: ; 718e9 (1c:58e9) ld [$d11e], a ld a, $3a @@ -104486,7 +105832,7 @@ Func_718e9: ; 718e9 (1c:58e9) srl a srl a ret -; 7190d (1c:590d) + MonOverworldData: ; 7190d (1c:590d) dn SPRITE_GRASS, SPRITE_GRASS ;Bulbasaur/Ivysaur dn SPRITE_GRASS, SPRITE_MON ;Venusaur/Charmander @@ -104565,14 +105911,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 @@ -104592,7 +105938,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] @@ -104601,12 +105947,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 @@ -104625,7 +105971,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 @@ -104644,7 +105990,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 @@ -104656,7 +106002,7 @@ Function71b6a: ; 71b6a (1c:5b6a) TradeMons: ; 71b7b (1c:5b7b) ; givemonster, getmonster, textstring, nickname (11 bytes), 14 bytes total db NIDORINO, NIDORINA, 0,"TERRY@@@@@@" - db ABRA, MR_MIME, 0,"MARCEL@@@@@" + db ABRA, MR_MIME, 0,"MARCEL@@@@@" db BUTTERFREE,BEEDRILL, 2,"CHIKUCHIKU@" db PONYTA, SEEL, 0,"SAILOR@@@@@" db SPEAROW, FARFETCH_D,2,"DUX@@@@@@@@" @@ -104666,7 +106012,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 @@ -104690,7 +106036,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 @@ -104736,7 +106082,6 @@ Function71c07: ; 71c07 (1c:5c07) ld [$cd12],a ret -; known jump sources: 71c13 (1c:5c13), 71c8d (1c:5c8d) Func_71ca2: ; 71ca2 (1c:5ca2) call GBPalWhiteOutWithDelay3 call Func_3dbe @@ -104750,16 +106095,15 @@ Func_71ca2: ; 71ca2 (1c:5ca2) ld hl, LoadWildData jp Bankswitch ; indirect jump to LoadWildData (ceb8 (3:4eb8)) -; known jump sources: 71c57 (1c:5c57) 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 @@ -104771,7 +106115,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 @@ -104781,7 +106125,6 @@ Func_71cc1: ; 71cc1 (1c:5cc1) ld de, $cd59 jp CopyData -; known jump sources: 71cde (1c:5cde), 71ce7 (1c:5ce7), 71ced (1c:5ced), 71d02 (1c:5d02) Func_71d11: ; 71d11 (1c:5d11) push hl push bc @@ -104790,7 +106133,6 @@ Func_71d11: ; 71d11 (1c:5d11) pop hl ret -; known jump sources: 71c7f (1c:5c7f) Func_71d19: ; 71d19 (1c:5d19) ld hl, W_PARTYMON1NAME ; $d2b5 ld bc, $b @@ -104811,7 +106153,6 @@ Func_71d19: ; 71d19 (1c:5d19) ld bc, $2 jp CopyData -; known jump sources: 71d1f (1c:5d1f), 71d31 (1c:5d31), 71d43 (1c:5d43) Func_71d4f: ; 71d4f (1c:5d4f) ld a, [W_NUMINPARTY] ; $d163 dec a @@ -104823,94 +106164,100 @@ 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 - db $50 -; 0x71d88 + 5 bytes + db "@" UnnamedText_71d8d: ; 71d8d (1c:5d8d) TX_FAR _UnnamedText_71d8d ; 0xa80bc - db $11, $a, $50 + db $11, $a, "@" UnnamedText_71d94: ; 71d94 (1c:5d94) TX_FAR _UnnamedText_71d94 - db $50 -; 0x71d94 + 5 bytes + db "@" UnnamedText_71d99: ; 71d99 (1c:5d99) TX_FAR _UnnamedText_71d99 - db $50 -; 0x71d99 + 5 bytes + db "@" UnnamedText_71d9e: ; 71d9e (1c:5d9e) TX_FAR _UnnamedText_71d9e - db $50 -; 0x71d9e + 5 bytes + db "@" UnnamedText_71da3: ; 71da3 (1c:5da3) TX_FAR _UnnamedText_71da3 - db $50 -; 0x71da3 + 5 bytes + db "@" UnnamedText_71da8: ; 71da8 (1c:5da8) TX_FAR _UnnamedText_71da8 - db $50 -; 0x71da8 + 5 bytes + db "@" UnnamedText_71dad: ; 71dad (1c:5dad) TX_FAR _UnnamedText_71dad - db $50 -; 0x71dad + 5 bytes + db "@" UnnamedText_71db2: ; 71db2 (1c:5db2) TX_FAR _UnnamedText_71db2 - db $50 -; 0x71db2 + 5 bytes + db "@" UnnamedText_71db7: ; 71db7 (1c:5db7) TX_FAR _UnnamedText_71db7 - db $50 -; 0x71db7 + 5 bytes + db "@" UnnamedText_71dbc: ; 71dbc (1c:5dbc) TX_FAR _UnnamedText_71dbc - db $50 -; 0x71dbc + 5 bytes + db "@" UnnamedText_71dc1: ; 71dc1 (1c:5dc1) TX_FAR _UnnamedText_71dc1 - db $50 -; 0x71dc1 + 5 bytes + db "@" UnnamedText_71dc6: ; 71dc6 (1c:5dc6) TX_FAR _UnnamedText_71dc6 - db $50 -; 0x71dc6 + 5 bytes + db "@" UnnamedText_71dcb: ; 71dcb (1c:5dcb) TX_FAR _UnnamedText_71dcb - db $50 -; 0x71dcb + 5 bytes + db "@" UnnamedText_71dd0: ; 71dd0 (1c:5dd0) TX_FAR _UnnamedText_71dd0 - db $50 -; 0x71dd0 + 5 bytes + db "@" UnnamedText_71dd5: ; 71dd5 (1c:5dd5) TX_FAR _UnnamedText_71dd5 - db $50 -; 0x71dd5 + 5 bytes + db "@" UnnamedText_71dda: ; 71dda (1c:5dda) TX_FAR _UnnamedText_71dda - db $50 -; 0x71dda + 5 bytes + db "@" -; known jump sources: 3df6 (0:3df6) Func_71ddf: ; 71ddf (1c:5ddf) call Load16BitRegisters ld a, b @@ -104923,30 +106270,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 -; 71e12 (1c:5e12) 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] @@ -104963,23 +106312,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] @@ -104989,83 +106342,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 + +Func_71e9f: ; 71e9f (1c:5e9f) + ld hl, PalPacket_72478 + ld de, Unknown_7224f ret -INCBIN "baserom.gbc",$71e9f,$71ea6 - $71e9f - ld hl, PalPacket_72488 ; $6488 - ld de, Unknown_7228e ; $628e +Func_71ea6: ; 71ea6 (1c:5ea6) + ld hl, PalPacket_72488 + ld de, Unknown_7228e ret - ld hl, PalPacket_724a8 ; $64a8 - ld de, Unknown_7219e ; $619e + +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 @@ -105075,19 +106447,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 @@ -105114,22 +106488,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 @@ -105146,14 +106534,12 @@ Func_71f9d: ; 71f9d (1c:5f9d) ld a, [hl] ret -; known jump sources: 12cf3 (4:6cf3) Func_71fb6: ; 71fb6 (1c:5fb6) ld hl, Unknown_722f4 ; $62f4 ld de, $cf2e ld bc, $30 jp CopyData -; known jump sources: 71dec (1c:5dec) Func_71fc2: ; 71fc2 (1c:5fc2) ld hl, $cf1f ld a, [$cf2d] @@ -105179,7 +106565,7 @@ Func_71fc2: ; 71fc2 (1c:5fc2) pop de ld [hl], e ret -; 71feb (1c:5feb) + SendSGBPacket: ; 71feb (1c:5feb) ;check number of packets ld a,[hl] @@ -105247,7 +106633,6 @@ SendSGBPacket: ; 71feb (1c:5feb) ; else send 16 more bytes jr .loop2\@ -; known jump sources: 1fd6 (0:1fd6) Func_7202b: ; 7202b (1c:602b) xor a ld [$cf1b], a @@ -105265,26 +106650,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 -; known jump sources: 72040 (1c:6040) Func_72075: ; 72075 (1c:6075) - ld hl, Unknown_72089 ; $6089 + ld hl, PointerTable_72089 ld c, $9 .asm_7207a push bc @@ -105300,12 +106684,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 -; known jump sources: 7202f (1c:602f) Func_7209b: ; 7209b (1c:609b) - ld hl, PalPacket_724f8 ; $64f8 + ld hl, PalPacket_724f8 di call SendSGBPacket ld a, $1 @@ -105355,13 +106746,11 @@ Func_7209b: ; 7209b (1c:609b) scf ret -; known jump sources: 720f8 (1c:60f8), 720fd (1c:60fd) Func_72102: ; 72102 (1c:6102) - ld hl, PalPacket_724e8 ; $64e8 + ld hl, PalPacket_724e8 call SendSGBPacket jp Wait7000 -; known jump sources: 7204f (1c:604f), 7205c (1c:605c), 72069 (1c:6069) Func_7210b: ; 7210b (1c:610b) di push de @@ -105400,7 +106789,7 @@ Func_7210b: ; 7210b (1c:610b) ld [rBGP], a ; $FF00+$47 ei ret -; 7214a (1c:614a) + Wait7000: ; 7214a (1c:614a) ; each loop takes about 10 cycles so this routine actually loops through 70000 ; cycles. @@ -105430,7 +106819,6 @@ Func_72156: ; 72156 (1c:6156) pop hl jp SendSGBPacket -; known jump sources: 7215d (1c:615d) Func_7216d: ; 7216d (1c:616d) ld a, $80 ld [$FF00+$68], a @@ -105442,7 +106830,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 @@ -105453,11 +106841,9 @@ Func_7216d: ; 7216d (1c:616d) jr nz, .asm_72174 ret -; known jump sources: 72161 (1c:6161) Func_72187: ; 72187 (1c:6187) ret -; known jump sources: 7211d (1c:611d) Func_72188: ; 72188 (1c:6188) ld b, $80 .asm_7218a @@ -105489,7 +106875,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 @@ -105520,7 +106909,7 @@ PalPacket_72458: ; 72458 (1c:6458) PalPacket_72468: ; 72468 (1c:6468) db $51,$15,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - + PalPacket_72478: ; 72478 (1c:6478) db $51,$1A,$00,$1B,$00,$1C,$00,$1D,$00,$00,$00,$00,$00,$00,$00,$00 @@ -105553,14 +106942,36 @@ PalPacket_72508: ; 72508 (1c:6508) PalPacket_72518: ; 72518 (1c:6518) db $A1,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 - + PalPacket_72528: ; 72528 (1c:6528) db $B9,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 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 @@ -105890,8 +107301,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 @@ -105899,10 +107310,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 @@ -105916,7 +107328,7 @@ IF _BLUE RGB 16,20,27 ENDC -INCBIN "baserom.gbc",$72f90,$72fa8 - $72f90 + ds $18 IF _RED RGB 30,29,29 ; PAL_SGB2 @@ -105931,7 +107343,7 @@ IF _BLUE RGB 28,25,15 ENDC -INCBIN "baserom.gbc",$72fb0,$72fc8 - $72fb0 + ds $18 IF _RED RGB 30,29,29 ; PAL_SGB3 @@ -105946,7 +107358,7 @@ IF _BLUE RGB 14,22,17 ENDC -INCBIN "baserom.gbc",$72fd0,$72fe8 - $72fd0 + ds $18 SGBBorderGraphics: ; 72fe8 (1c:6fe8) IF _RED @@ -105956,7 +107368,6 @@ IF _BLUE INCBIN "gfx/blue/sgbborder.2bpp" ENDC -; known jump sources: 4a9 (0:4a9), 5b04 (1:5b04) LoadSAV: ; 735e8 (1c:75e8) ;(if carry -> write ;"the file data is destroyed") @@ -105990,7 +107401,6 @@ FileDataDestroyedText: ; 7361e (1c:761e) TX_FAR _FileDataDestroyedText db "@" -; known jump sources: 735f1 (1c:75f1) LoadSAVCheckSum: ; 73623 (1c:7623) ld a, $a ld [$0], a @@ -106018,13 +107428,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] @@ -106036,7 +107446,6 @@ LoadSAVCheckSum: ; 73623 (1c:7623) and a jp SAVGoodChecksum -; known jump sources: 735f6 (1c:75f6) LoadSAVCheckSum1: ; 73690 (1c:7690) ld a, $a ld [$0], a @@ -106057,7 +107466,6 @@ LoadSAVCheckSum1: ; 73690 (1c:7690) and a jp SAVGoodChecksum -; known jump sources: 735fb (1c:75fb) LoadSAVCheckSum2: ; 736bd (1c:76bd) ld a, $a ld [$0], a @@ -106076,24 +107484,22 @@ 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 jp SAVGoodChecksum -; known jump sources: 7364f (1c:764f), 736ab (1c:76ab), 736d8 (1c:76d8) SAVBadCheckSum: ; 736f7 (1c:76f7) scf -; known jump sources: 7368d (1c:768d), 736ba (1c:76ba), 736f4 (1c:76f4) SAVGoodChecksum: ; 736f8 (1c:76f8) ld a, $0 ld [$6000], a ld [$0], a ret -Function_73701: ; 0x73701 +Func_73701: ; 0x73701 call LoadSAVCheckSum call LoadSAVCheckSum1 jp LoadSAVCheckSum2 @@ -106129,17 +107535,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 @@ -106162,7 +107567,6 @@ OlderFileWillBeErasedText: ; 73787 (1c:7787) TX_FAR _OlderFileWillBeErasedText db "@" -; known jump sources: 7384d (1c:784d) SaveSAVtoSRAM0: ; 7378c (1c:778c) ld a, $a ld [$0], a @@ -106173,11 +107577,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 @@ -106196,7 +107600,6 @@ SaveSAVtoSRAM0: ; 7378c (1c:778c) ld [$0], a ret -; known jump sources: 73850 (1c:7850) SaveSAVtoSRAM1: ; 737e2 (1c:77e2) ; stored pokémon ld a, $a @@ -106217,7 +107620,6 @@ SaveSAVtoSRAM1: ; 737e2 (1c:77e2) ld [$0], a ret -; known jump sources: 73853 (1c:7853) SaveSAVtoSRAM2: ; 7380f (1c:780f) ld a, $a ld [$0], a @@ -106228,7 +107630,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 @@ -106241,7 +107643,6 @@ SaveSAVtoSRAM2: ; 7380f (1c:780f) ld [$0], a ret -; known jump sources: 7245 (1:7245), 5a4fa (16:64fa), 738f7 (1c:78f7) SaveSAVtoSRAM: ; 73848 (1c:7848) ld a, $2 ld [$d088], a @@ -106249,7 +107650,6 @@ SaveSAVtoSRAM: ; 73848 (1c:7848) call SaveSAVtoSRAM1 jp SaveSAVtoSRAM2 -; known jump sources: 73636 (1c:7636), 73647 (1c:7647), 736a3 (1c:76a3), 736d0 (1c:76d0), 737d4 (1c:77d4), 73801 (1c:7801), 7383a (1c:783a), 73870 (1c:7870), 7392e (1c:792e), 73a75 (1c:7a75) SAVCheckSum: ; 73856 (1c:7856) ;Check Sum (result[1 byte] is complemented) ld d, $0 @@ -106265,7 +107665,6 @@ SAVCheckSum: ; 73856 (1c:7856) cpl ret -; known jump sources: 73934 (1c:7934), 73a7b (1c:7a7b) Func_73863: ; 73863 (1c:7863) ld hl, $a000 ld de, $ba4d @@ -106283,9 +107682,8 @@ Func_73863: ; 73863 (1c:7863) jr nz, .asm_7386b ret -; known jump sources: 738cd (1c:78cd), 738e0 (1c:78e0) Func_7387b: ; 7387b (1c:787b) - ld hl, Unknown_73895 ; $7895 + ld hl, PointerTable_73895 ; $7895 ld a, [$d5a0] and $7f cp $6 @@ -106303,15 +107701,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 -; known jump sources: 216b8 (8:56b8) 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 @@ -106331,14 +107733,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 @@ -106346,19 +107748,17 @@ 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 call WaitForSoundToFinish ret -; 73909 (1c:7909) + UnnamedText_73909: ; 73909 (1c:7909) TX_FAR _UnnamedText_73909 - db $50 -; 0x73909 + 5 bytes + db "@" -; known jump sources: 738d5 (1c:78d5), 738e6 (1c:78e6) Func_7390e: ; 7390e (1c:790e) push hl ld a, $a @@ -106384,25 +107784,24 @@ Func_7390e: ; 7390e (1c:790e) ld [$0], a ret -; known jump sources: 738b7 (1c:78b7) 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 @@ -106443,7 +107842,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 @@ -106461,11 +107860,10 @@ Func_7393f: ; 7393f (1c:793f) ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba ret -; 739d4 (1c:79d4) + UnnamedText_739d4: ; 739d4 (1c:79d4) TX_FAR _UnnamedText_739d4 - db $50 -; 0x739d4 + 5 bytes + db "@" BoxNames: ; 739d9 (1c:79d9) db "BOX 1",$4e @@ -106484,7 +107882,6 @@ BoxNames: ; 739d9 (1c:79d9) BoxNoText: ; 73a21 (1c:7a21) db "BOX No.@" -; known jump sources: 738b4 (1c:78b4) Func_73a29: ; 73a29 (1c:7a29) ld a, $a ld [$0], a @@ -106501,7 +107898,6 @@ Func_73a29: ; 73a29 (1c:7a29) ld [$0], a ret -; known jump sources: 73a38 (1c:7a38), 73a40 (1c:7a40) Func_73a4b: ; 73a4b (1c:7a4b) ld hl, $a000 call Func_73a7f @@ -106522,7 +107918,6 @@ Func_73a4b: ; 73a4b (1c:7a4b) call Func_73863 ret -; known jump sources: 73a4e (1c:7a4e), 73a54 (1c:7a54), 73a5a (1c:7a5a), 73a60 (1c:7a60), 73a66 (1c:7a66), 73a6c (1c:7a6c) Func_73a7f: ; 73a7f (1c:7a7f) xor a ld [hli], a @@ -106530,9 +107925,8 @@ Func_73a7f: ; 73a7f (1c:7a7f) ld [hl], a ret -; known jump sources: 739b4 (1c:79b4) Func_73a84: ; 73a84 (1c:7a84) - ld hl, W_WHICHTRADE ; $cd3d + ld hl, wWhichTrade ; $cd3d push hl ld a, $a ld [$0], a @@ -106557,7 +107951,6 @@ Func_73a84: ; 73a84 (1c:7a84) ld [hl], a ret -; known jump sources: 73a97 (1c:7a97), 73a9f (1c:7a9f) Func_73ab8: ; 73ab8 (1c:7ab8) ld a, [$a000] ld [hli], a @@ -106607,7 +108000,6 @@ SAVCheckRandomID: ;$7ad1 ld [$0000],a ret -; known jump sources: 7024e (1c:424e) Func_73b0d: ; 73b0d (1c:7b0d) ld a, [$d5a2] dec a @@ -106631,11 +108023,10 @@ Func_73b0d: ; 73b0d (1c:7b0d) ld bc, $60 jr CopyToSRAM0 -; known jump sources: 765be (1d:65be) 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 @@ -106653,7 +108044,6 @@ CopyToSRAM0: ; 73b51 (1c:7b51) ld [$0], a ret -; known jump sources: 1c9bb (7:49bb) Func_73b6a: ; 73b6a (1c:7b6a) ld a, $a ld [$0], a @@ -106672,7 +108062,6 @@ Func_73b6a: ; 73b6a (1c:7b6a) ld [$0], a ret -; known jump sources: 73b75 (1c:7b75), 73b7a (1c:7b7a), 73b7f (1c:7b7f), 73b84 (1c:7b84) PadSRAM_FF: ; 73b8f (1c:7b8f) ld [$4000], a ld hl, $a000 @@ -106680,7 +108069,6 @@ PadSRAM_FF: ; 73b8f (1c:7b8f) ld a, $ff jp FillMemory - SECTION "bank1D",ROMX,BANK[$1D] CopycatsHouseF1Blocks: ; 74000 (1d:4000) @@ -106700,7 +108088,6 @@ FuchsiaPokecenterBlocks: ; 74030 (1d:4030) CeruleanHouse2Blocks: ; 7404c (1d:404c) INCBIN "maps/ceruleanhouse2.blk" -; known jump sources: 5a4c8 (16:64c8) Func_7405c: ; 7405c (1d:405c) ld b, BANK(Func_701a0) ld hl, Func_701a0 @@ -106719,7 +108106,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 @@ -106735,13 +108122,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 -; known jump sources: 741d5 (1d:41d5), 741e6 (1d:41e6), 74226 (1d:4226) Func_740ba: ; 740ba (1d:40ba) - ld hl, Unknown_74160 ; $4160 + ld hl, DataTable_74160 ; $4160 ld b, $4 .asm_740bf ld a, [hli] @@ -106751,12 +108137,12 @@ Func_740ba: ; 740ba (1d:40ba) dec b jr nz, .asm_740bf ret -; 740cb (1d:40cb) -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 @@ -106773,27 +108159,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 @@ -106822,7 +108208,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 @@ -106834,7 +108220,6 @@ Unknown_74140: ; 74140 (1d:4140) ld b, a ret -; known jump sources: 74143 (1d:4143), 7414a (1d:414a), 74155 (1d:4155) Func_74152: ; 74152 (1d:4152) ld a, [$FF00+$44] cp l @@ -106847,10 +108232,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 @@ -106859,7 +108244,6 @@ Unknown_74164: ; 74164 (1d:4164) ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba jp Delay3 -; known jump sources: 74075 (1d:4075), 7407e (1d:407e), 74178 (1d:4178) Func_74171: ; 74171 (1d:4171) ld [hl], $0 inc hl @@ -106870,20 +108254,18 @@ Func_74171: ; 74171 (1d:4171) jr nz, Func_74171 ret -; known jump sources: 7408f (1d:408f), 74095 (1d:4095) Func_7417b: ; 7417b (1d:417b) ld bc, $50 ld a, $7e jp FillMemory -; 74183 (1d:4183) -Unknown_74183: ; 74183 (1d:4183) + +Func_74183: ; 74183 (1d:4183) FuncCoord 0, 4 ; $c3f0 ld hl, Coord ld bc, $c8 ld a, $7f jp FillMemory -; known jump sources: 740b7 (1d:40b7) Func_7418e: ; 7418e (1d:418e) ld de, Unknown_74243 ; $4243 push de @@ -106892,7 +108274,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] @@ -106940,7 +108322,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 @@ -106962,7 +108344,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 @@ -106970,7 +108352,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 @@ -106978,7 +108360,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,"@" @@ -106986,7 +108368,6 @@ Unknown_74243: ; 74243 (1d:4243) INCBIN "baserom.gbc",$74243,$742c3 - $74243 CreditsTextPointers: ; 742c3 (1d:42c3) - dw CredVersion dw CredTajiri dw CredTaOota @@ -107189,55 +108570,54 @@ CredPAAD: ; 74730 (1d:4730) TheEndGfx: ; 7473e (1d:473e) ; 473E (473F on blue) INCBIN "gfx/theend.2bpp" -Unknown_747de: ; 747de (1d:47de) +PrintStatusAilment: ; 747de (1d:47de) ld a, [de] bit 3, a - jr nz, .asm_747fb + jr nz, .psn bit 4, a - jr nz, .asm_74804 + jr nz, .brn bit 5, a - jr nz, .asm_7480d + jr nz, .frz bit 6, a - jr nz, .asm_74816 - and $7 + jr nz, .par + and $7 ; slp ret z - ld a, $92 + ld a, "S" ld [hli], a - ld a, $8b + ld a, "L" ld [hli], a - ld [hl], $8f + ld [hl], "P" ret -.asm_747fb - ld a, $8f +.psn + ld a, "P" ld [hli], a - ld a, $92 + ld a, "S" ld [hli], a - ld [hl], $8d + ld [hl], "N" ret -.asm_74804 - ld a, $81 +.brn + ld a, "B" ld [hli], a - ld a, $91 + ld a, "R" ld [hli], a - ld [hl], $8d + ld [hl], "N" ret -.asm_7480d - ld a, $85 +.frz + ld a, "F" ld [hli], a - ld a, $91 + ld a, "R" ld [hli], a - ld [hl], $99 + ld [hl], "Z" ret -.asm_74816 - ld a, $8f +.par + ld a, "P" ld [hli], a - ld a, $80 + ld a, "A" ld [hli], a - ld [hl], $91 + ld [hl], "R" ret -; 7481f (1d:481f) -Unknown_7481f: ; 7481f (1d:481f) +Func_7481f: ; 7481f (1d:481f) ld hl, HiddenItemCoords ld b, $0 .asm_74824 @@ -107264,7 +108644,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] @@ -107272,7 +108652,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] @@ -107281,17 +108661,15 @@ Unknown_7481f: ; 7481f (1d:481f) jr c, .asm_74824 ; 0x74867 $bb scf ret -; 0x7486b -Unknown_7486b: ; 7486b (1d:486b) +Func_7486b: ; 7486b (1d:486b) sub $5 cp $f0 ret c xor a ret -; 0x74872 -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 @@ -107314,9 +108692,8 @@ 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 ViridianGymScript: ; 748a3 (1d:48a3) @@ -107325,41 +108702,37 @@ 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 ret -; 0x748bf Gym8CityName: ; 748bf (1d:48bf) db "VIRIDIAN CITY@" Gym8LeaderName: ; 748cd (1d:48cd) db "GIOVANNI@" -; known jump sources: 7498d (1d:498d), 749e9 (1d:49e9) Func_748d6: ; 748d6 (1d:48d6) xor a - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a ld [W_VIRIDIANGYMCURSCRIPT], a ld [W_CURMAPSCRIPT], a ret -; 748e1 (1d:48e1) -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 @@ -107369,93 +108742,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 @@ -107465,16 +108833,14 @@ Func_7496b: ; 7496b (1d:496b) ld b, BANK(Func_44fd7) ld hl, Func_44fd7 jp Bankswitch ; indirect jump to Func_44fd7 (44fd7 (11:4fd7)) -; 74988 -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 -; 74995 (1d:4995) -Unknown_74995: ; 74995 (1d:4995) + ld [wJoypadForbiddenButtonsMask], a +ViridianGymScript3_74995: ; 74995 (1d:4995) ld a, $c ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c call DisplayTextID @@ -107512,9 +108878,22 @@ Unknown_74995: ; 74995 (1d:4995) set 1, [hl] set 7, [hl] jp Func_748d6 -; 749ec (1d:49ec) -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) @@ -107525,7 +108904,6 @@ ViridianGymTrainerHeader0: ; 74a08 (1d:4a08) dw ViridianGymAfterBattleText1 ; 0x4b07 TextAfterBattle dw ViridianGymEndBattleText1 ; 0x4b02 TextEndBattle dw ViridianGymEndBattleText1 ; 0x4b02 TextEndBattle -; 0x74a14 ViridianGymTrainerHeader1: ; 74a14 (1d:4a14) db $3 ; flag's bit @@ -107535,7 +108913,6 @@ ViridianGymTrainerHeader1: ; 74a14 (1d:4a14) dw ViridianGymAfterBattleText2 ; 0x4b20 TextAfterBattle dw ViridianGymEndBattleText2 ; 0x4b1b TextEndBattle dw ViridianGymEndBattleText2 ; 0x4b1b TextEndBattle -; 0x74a20 ViridianGymTrainerHeader2: ; 74a20 (1d:4a20) db $4 ; flag's bit @@ -107545,7 +108922,6 @@ ViridianGymTrainerHeader2: ; 74a20 (1d:4a20) dw ViridianGymAfterBattleText3 ; 0x4b39 TextAfterBattle dw ViridianGymEndBattleText3 ; 0x4b34 TextEndBattle dw ViridianGymEndBattleText3 ; 0x4b34 TextEndBattle -; 0x74a2c ViridianGymTrainerHeader3: ; 74a2c (1d:4a2c) db $5 ; flag's bit @@ -107555,7 +108931,6 @@ ViridianGymTrainerHeader3: ; 74a2c (1d:4a2c) dw ViridianGymAfterBattleText4 ; 0x4b52 TextAfterBattle dw ViridianGymEndBattleText4 ; 0x4b4d TextEndBattle dw ViridianGymEndBattleText4 ; 0x4b4d TextEndBattle -; 0x74a38 ViridianGymTrainerHeader4: ; 74a38 (1d:4a38) db $6 ; flag's bit @@ -107565,7 +108940,6 @@ ViridianGymTrainerHeader4: ; 74a38 (1d:4a38) dw ViridianGymAfterBattleText5 ; 0x4b6b TextAfterBattle dw ViridianGymEndBattleText5 ; 0x4b66 TextEndBattle dw ViridianGymEndBattleText5 ; 0x4b66 TextEndBattle -; 0x74a44 ViridianGymTrainerHeader5: ; 74a44 (1d:4a44) db $7 ; flag's bit @@ -107575,7 +108949,6 @@ ViridianGymTrainerHeader5: ; 74a44 (1d:4a44) dw ViridianGymAfterBattleText6 ; 0x4b84 TextAfterBattle dw ViridianGymEndBattleText6 ; 0x4b7f TextEndBattle dw ViridianGymEndBattleText6 ; 0x4b7f TextEndBattle -; 0x74a50 ViridianGymTrainerHeader6: ; 74a50 (1d:4a50) db $8 ; flag's bit @@ -107585,7 +108958,6 @@ ViridianGymTrainerHeader6: ; 74a50 (1d:4a50) dw ViridianGymAfterBattleText7 ; 0x4b9d TextAfterBattle dw ViridianGymEndBattleText7 ; 0x4b98 TextEndBattle dw ViridianGymEndBattleText7 ; 0x4b98 TextEndBattle -; 0x74a5c ViridianGymTrainerHeader7: ; 74a5c (1d:4a5c) db $9 ; flag's bit @@ -107595,9 +108967,8 @@ ViridianGymTrainerHeader7: ; 74a5c (1d:4a5c) dw ViridianGymAfterBattleText8 ; 0x4bb6 TextAfterBattle dw ViridianGymEndBattleText8 ; 0x4bb1 TextEndBattle dw ViridianGymEndBattleText8 ; 0x4bb1 TextEndBattle -; 0x74a68 -db $ff + db $ff ViridianGymText1: ; 74a69 (1d:4a69) db $08 ; asm @@ -107606,7 +108977,7 @@ ViridianGymText1: ; 74a69 (1d:4a69) jr z, .asm_6de66 ; 0x74a6f bit 0, a jr nz, .asm_9fc95 ; 0x74a73 - call z, Unknown_74995 + call z, ViridianGymScript3_74995 call DisableWaitingAfterTextDisplay jr .asm_6dff7 ; 0x74a7b .asm_9fc95 ; 0x74a7d @@ -107645,23 +109016,19 @@ ViridianGymText1: ; 74a69 (1d:4a69) UnnamedText_74ace: ; 74ace (1d:4ace) TX_FAR _UnnamedText_74ace - db $50 -; 0x74ace + 5 bytes + db "@" UnnamedText_74ad3: ; 74ad3 (1d:4ad3) TX_FAR _UnnamedText_74ad3 - db $0b, $50 -; 0x74ad9 + db $0b, "@" UnnamedText_74ad9: ; 74ad9 (1d:4ad9) TX_FAR _UnnamedText_74ad9 - db $0d, $50 -; 0x74add + db $0d, "@" ViridianGymText12: ; 74adf (1d:4adf) TX_FAR _ViridianGymText12 - db $50 -; 0x74adf + 5 bytes + db "@" ViridianGymText13: ; 74ae4 (1d:4ae4) TX_FAR _ReceivedTM27Text @@ -107669,12 +109036,11 @@ ViridianGymText13: ; 74ae4 (1d:4ae4) TM27ExplanationText: ; 74ae9 (1d:4ae9) TX_FAR _TM27ExplanationText - db $50 + db "@" ViridianGymText14: ; 74aee (1d:4aee) TX_FAR _TM27NoRoomText - db $50 -; 0x74aee + 5 bytes + db "@" ViridianGymText2: ; 74af3 (1d:4af3) db $08 ; asm @@ -107684,18 +109050,15 @@ ViridianGymText2: ; 74af3 (1d:4af3) ViridianGymBattleText1: ; 74afd (1d:4afd) TX_FAR _ViridianGymBattleText1 - db $50 -; 0x74afd + 5 bytes + db "@" ViridianGymEndBattleText1: ; 74b02 (1d:4b02) TX_FAR _ViridianGymEndBattleText1 - db $50 -; 0x74b02 + 5 bytes + db "@" ViridianGymAfterBattleText1: ; 74b07 (1d:4b07) TX_FAR _ViridianGymAfterBattleText1 - db $50 -; 0x74b07 + 5 bytes + db "@" ViridianGymText3: ; 74b0c (1d:4b0c) db $08 ; asm @@ -107705,18 +109068,15 @@ ViridianGymText3: ; 74b0c (1d:4b0c) ViridianGymBattleText2: ; 74b16 (1d:4b16) TX_FAR _ViridianGymBattleText2 - db $50 -; 0x74b16 + 5 bytes + db "@" ViridianGymEndBattleText2: ; 74b1b (1d:4b1b) TX_FAR _ViridianGymEndBattleText2 - db $50 -; 0x74b1b + 5 bytes + db "@" ViridianGymAfterBattleText2: ; 74b20 (1d:4b20) TX_FAR _ViridianGymAfterBattleText2 - db $50 -; 0x74b20 + 5 bytes + db "@" ViridianGymText4: ; 74b25 (1d:4b25) db $08 ; asm @@ -107726,18 +109086,15 @@ ViridianGymText4: ; 74b25 (1d:4b25) ViridianGymBattleText3: ; 74b2f (1d:4b2f) TX_FAR _ViridianGymBattleText3 - db $50 -; 0x74b2f + 5 bytes + db "@" ViridianGymEndBattleText3: ; 74b34 (1d:4b34) TX_FAR _ViridianGymEndBattleText3 - db $50 -; 0x74b34 + 5 bytes + db "@" ViridianGymAfterBattleText3: ; 74b39 (1d:4b39) TX_FAR _ViridianGymAfterBattleText3 - db $50 -; 0x74b39 + 5 bytes + db "@" ViridianGymText5: ; 74b3e (1d:4b3e) db $08 ; asm @@ -107747,18 +109104,15 @@ ViridianGymText5: ; 74b3e (1d:4b3e) ViridianGymBattleText4: ; 74b48 (1d:4b48) TX_FAR _ViridianGymBattleText4 - db $50 -; 0x74b48 + 5 bytes + db "@" ViridianGymEndBattleText4: ; 74b4d (1d:4b4d) TX_FAR _ViridianGymEndBattleText4 - db $50 -; 0x74b4d + 5 bytes + db "@" ViridianGymAfterBattleText4: ; 74b52 (1d:4b52) TX_FAR _ViridianGymAfterBattleText4 - db $50 -; 0x74b52 + 5 bytes + db "@" ViridianGymText6: ; 74b57 (1d:4b57) db $08 ; asm @@ -107768,18 +109122,15 @@ ViridianGymText6: ; 74b57 (1d:4b57) ViridianGymBattleText5: ; 74b61 (1d:4b61) TX_FAR _ViridianGymBattleText5 - db $50 -; 0x74b61 + 5 bytes + db "@" ViridianGymEndBattleText5: ; 74b66 (1d:4b66) TX_FAR _ViridianGymEndBattleText5 - db $50 -; 0x74b66 + 5 bytes + db "@" ViridianGymAfterBattleText5: ; 74b6b (1d:4b6b) TX_FAR _ViridianGymAfterBattleText5 - db $50 -; 0x74b6b + 5 bytes + db "@" ViridianGymText7: ; 74b70 (1d:4b70) db $08 ; asm @@ -107789,18 +109140,15 @@ ViridianGymText7: ; 74b70 (1d:4b70) ViridianGymBattleText6: ; 74b7a (1d:4b7a) TX_FAR _ViridianGymBattleText6 - db $50 -; 0x74b7a + 5 bytes + db "@" ViridianGymEndBattleText6: ; 74b7f (1d:4b7f) TX_FAR _ViridianGymEndBattleText6 - db $50 -; 0x74b7f + 5 bytes + db "@" ViridianGymAfterBattleText6: ; 74b84 (1d:4b84) TX_FAR _ViridianGymAfterBattleText6 - db $50 -; 0x74b84 + 5 bytes + db "@" ViridianGymText8: ; 74b89 (1d:4b89) db $08 ; asm @@ -107810,18 +109158,15 @@ ViridianGymText8: ; 74b89 (1d:4b89) ViridianGymBattleText7: ; 74b93 (1d:4b93) TX_FAR _ViridianGymBattleText7 - db $50 -; 0x74b93 + 5 bytes + db "@" ViridianGymEndBattleText7: ; 74b98 (1d:4b98) TX_FAR _ViridianGymEndBattleText7 - db $50 -; 0x74b98 + 5 bytes + db "@" ViridianGymAfterBattleText7: ; 74b9d (1d:4b9d) TX_FAR _ViridianGymAfterBattleText7 - db $50 -; 0x74b9d + 5 bytes + db "@" ViridianGymText9: ; 74ba2 (1d:4ba2) db $08 ; asm @@ -107831,18 +109176,15 @@ ViridianGymText9: ; 74ba2 (1d:4ba2) ViridianGymBattleText8: ; 74bac (1d:4bac) TX_FAR _ViridianGymBattleText8 - db $50 -; 0x74bac + 5 bytes + db "@" ViridianGymEndBattleText8: ; 74bb1 (1d:4bb1) TX_FAR _ViridianGymEndBattleText8 - db $50 -; 0x74bb1 + 5 bytes + db "@" ViridianGymAfterBattleText8: ; 74bb6 (1d:4bb6) TX_FAR _ViridianGymAfterBattleText8 - db $50 -; 0x74bb6 + 5 bytes + db "@" ViridianGymText10: ; 74bbb (1d:4bbb) db $08 ; asm @@ -107860,13 +109202,11 @@ ViridianGymText10: ; 74bbb (1d:4bbb) UnnamedText_74bd4: ; 74bd4 (1d:4bd4) TX_FAR _UnnamedText_74bd4 - db $50 -; 0x74bd4 + 5 bytes + db "@" UnnamedText_74bd9: ; 74bd9 (1d:4bd9) TX_FAR _UnnamedText_74bd9 - db $50 -; 0x74bd9 + 5 bytes + db "@" ViridianGymObject: ; 0x74bde (size=105) db $3 ; border tile @@ -107900,9 +109240,8 @@ 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 PewterMartScript: ; 74cad (1d:4cad) @@ -107910,10 +109249,11 @@ PewterMartScript: ; 74cad (1d:4cad) ld a, $1 ld [$cf0c], a ret -; 0x74cb6 -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 @@ -107923,8 +109263,7 @@ PewterMartText2: ; 74cbc (1d:4cbc) UnnamedText_74cc6: ; 74cc6 (1d:4cc6) TX_FAR _UnnamedText_74cc6 - db $50 -; 0x74cc6 + 5 bytes + db "@" PewterMartText3: ; 74ccb (1d:4ccb) db $08 ; asm @@ -107934,8 +109273,7 @@ PewterMartText3: ; 74ccb (1d:4ccb) UnnamedText_74cd5: ; 74cd5 (1d:4cd5) TX_FAR _UnnamedText_74cd5 - db $50 -; 0x74cd5 + 5 bytes + db "@" PewterMartObject: ; 0x74cda (size=38) db $0 ; border tile @@ -107958,17 +109296,17 @@ 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 UnknownDungeon1Script: ; 74d0c (1d:4d0c) jp EnableAutoTextBoxDrawing -; 0x74d0f -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 @@ -108008,9 +109346,8 @@ 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 CeruleanHouse2Script: ; 74e09 (1d:4e09) @@ -108019,9 +109356,8 @@ CeruleanHouse2Script: ; 74e09 (1d:4e09) dec a ld [$cc3c], a ret -; 0x74e13 -CeruleanHouse2Texts: ; 74e13 (1d:4e13) +CeruleanHouse2TextPointers: ; 74e13 (1d:4e13) dw CeruleanHouse2Text1 CeruleanHouse2Text1: ; 74e15 (1d:4e15) @@ -108029,8 +109365,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 @@ -108045,7 +109381,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 @@ -108062,79 +109398,67 @@ 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 -; 0x74e6d 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 - db $50 -; 0x74e77 + 5 bytes + db "@" UnnamedText_74e7c: ; 74e7c (1d:4e7c) TX_FAR _UnnamedText_74e7c - db $50 -; 0x74e7c + 5 bytes + db "@" UnnamedText_74e81: ; 74e81 (1d:4e81) TX_FAR _UnnamedText_74e81 - db $50 -; 0x74e81 + 5 bytes + 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 - db $50 -; 0x74e96 + 5 bytes + db "@" UnnamedText_74e9b: ; 74e9b (1d:4e9b) TX_FAR _UnnamedText_74e9b - db $50 -; 0x74e9b + 5 bytes + db "@" UnnamedText_74ea0: ; 74ea0 (1d:4ea0) TX_FAR _UnnamedText_74ea0 - db $50 -; 0x74ea0 + 5 bytes + db "@" UnnamedText_74ea5: ; 74ea5 (1d:4ea5) TX_FAR _UnnamedText_74ea5 - db $50 -; 0x74ea5 + 5 bytes + db "@" UnnamedText_74eaa: ; 74eaa (1d:4eaa) TX_FAR _UnnamedText_74eaa - db $50 -; 0x74eaa + 5 bytes + db "@" UnnamedText_74eaf: ; 74eaf (1d:4eaf) TX_FAR _UnnamedText_74eaf - db $50 -; 0x74eaf + 5 bytes + db "@" UnnamedText_74eb4: ; 74eb4 (1d:4eb4) TX_FAR _UnnamedText_74eb4 - db $50 -; 0x74eb4 + 5 bytes + db "@" UnnamedText_74eb9: ; 74eb9 (1d:4eb9) TX_FAR _UnnamedText_74eb9 - db $50 -; 0x74eb9 + 5 bytes + db "@" CeruleanHouse2Object: ; 0x74ebe (size=34) db $c ; border tile @@ -108154,23 +109478,23 @@ CeruleanHouse2Object: ; 0x74ebe (size=34) EVENT_DISP $4, $7, $2 EVENT_DISP $4, $7, $3 -Unknown_74ee0: ; 74ee0 (1d:4ee0) - ld hl, UnnamedText_74f99 +VendingMachineMenu: ; 74ee0 (1d:4ee0) + ld hl, VendingMachineText1 call PrintText ld a, $13 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 @@ -108181,18 +109505,18 @@ Unknown_74ee0: ; 74ee0 (1d:4ee0) call UpdateSprites FuncCoord 2, 5 ; $c406 ld hl, Coord - ld de, Unnamed_74f9e + ld de, DrinkText call PlaceString FuncCoord 9, 6 ; $c421 ld hl, Coord - ld de, Unnamed_74fc3 + 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 @@ -108201,18 +109525,18 @@ Unknown_74ee0: ; 74ee0 (1d:4ee0) ld a, $2 ld [$FF00+$a0], a call HasEnoughMoney - jr nc, .asm_74f54 - ld hl, UnnamedText_74fd3 + jr nc, .enoughMoney + ld hl, VendingMachineText4 jp PrintText -.asm_74f54 - call Unknown_74fe7 +.enoughMoney + call Func_74fe7 ld a, [$FF00+$db] ld b, a ld c, 1 call GiveItem jr nc, .BagFull - ld b, $3c -.asm_74f63 + ld b, $3c ; number of times to play the "brrrrr" sound +.playDeliverySound ; 0x74f63 ld c, $2 call DelayFrames push bc @@ -108220,11 +109544,12 @@ Unknown_74ee0: ; 74ee0 (1d:4ee0) call PlaySound pop bc dec b - jr nz, .asm_74f63 - ld hl, UnnamedText_74fd8 + jr nz, .playDeliverySound +.asm_74f72 + 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)) @@ -108232,48 +109557,44 @@ Unknown_74ee0: ; 74ee0 (1d:4ee0) ld [$d125], a jp DisplayTextBoxID .BagFull - ld hl, UnnamedText_74fdd + ld hl, VendingMachineText6 jp PrintText .asm_74f93 - ld hl, UnnamedText_74fe2 + ld hl, VendingMachineText7 jp PrintText -; 74f99 (1d:4f99) -UnnamedText_74f99: ; 74f99 (1d:4f99) - TX_FAR _UnnamedText_74f99 - db $50 -; 0x74f99 + 5 bytes -Unnamed_74f9e: ; 74f9e (1d:4f9e) +VendingMachineText1: ; 74f99 (1d:4f99) + TX_FAR _VendingMachineText1 + db "@" + +DrinkText: ; 74f9e (1d:4f9e) db "FRESH WATER",$4E db "SODA POP",$4E db "LEMONADE",$4E db "CANCEL@" -Unnamed_74fc3: ; 74fc3 (1d:4fc3) + +DrinkPriceText: ; 74fc3 (1d:4fc3) db "¥200",$4E db "¥300",$4E db "¥350",$4E,"@" -UnnamedText_74fd3: ; 74fd3 (1d:4fd3) - TX_FAR _UnnamedText_74fd3 - db $50 -; 0x74fd3 + 5 bytes +VendingMachineText4: ; 74fd3 (1d:4fd3) + TX_FAR _VendingMachineText4 + db "@" -UnnamedText_74fd8: ; 74fd8 (1d:4fd8) - TX_FAR _UnnamedText_74fd8 - db $50 -; 0x74fd8 + 5 bytes +VendingMachineText5: ; 74fd8 (1d:4fd8) + TX_FAR _VendingMachineText5 + db "@" -UnnamedText_74fdd: ; 74fdd (1d:4fdd) - TX_FAR _UnnamedText_74fdd - db $50 -; 0x74fdd + 5 bytes +VendingMachineText6: ; 74fdd (1d:4fdd) + TX_FAR _VendingMachineText6 + db "@" -UnnamedText_74fe2: ; 74fe2 (1d:4fe2) - TX_FAR _UnnamedText_74fe2 - db $50 -; 0x74fe2 + 5 bytes +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 @@ -108299,30 +109620,30 @@ 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 FuchsiaHouse1Script: ; 75018 (1d:5018) call EnableAutoTextBoxDrawing ret -; 0x7501c -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 - db $50 + db "@" FuchsiaHouse1Text2: ; 75027 (1d:5027) TX_FAR _FuchsiaHouse1Text2 - db $50 + db "@" FuchsiaHouse1Text3: ; 7502c (1d:502c) TX_FAR _FuchsiaHouse1Text3 - db $50 + db "@" FuchsiaHouse1Object: ; 0x75031 (size=38) db $a ; border tile @@ -108345,29 +109666,30 @@ 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 FuchsiaPokecenterScript: ; 75063 (1d:5063) call Func_22fa jp EnableAutoTextBoxDrawing -; 0x75069 -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 FuchsiaPokecenterText2: ; 75072 (1d:5072) TX_FAR _FuchsiaPokecenterText1 - db $50 + db "@" FuchsiaPokecenterText3: ; 75077 (1d:5077) TX_FAR _FuchsiaPokecenterText3 - db $50 + db "@" FuchsiaPokecenterText4: ; 7507c (1d:507c) db $f6 @@ -108394,17 +109716,19 @@ 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 FuchsiaHouse2Script: ; 750b5 (1d:50b5) jp EnableAutoTextBoxDrawing -; 0x750b8 -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 @@ -108461,18 +109785,15 @@ FuchsiaHouse2Text1: ; 750c2 (1d:50c2) WardenGibberishText1: ; 75135 (1d:5135) TX_FAR _WardenGibberishText1 - db $50 -; 0x75135 + 5 bytes + db "@" WardenGibberishText2: ; 7513a (1d:513a) TX_FAR _WardenGibberishText2 - db $50 -; 0x7513a + 5 bytes + db "@" WardenGibberishText3: ; 7513f (1d:513f) TX_FAR _WardenGibberishText3 - db $50 -; 0x7513f + 5 bytes + db "@" WardenTeethText1: ; 75144 (1d:5144) TX_FAR _WardenTeethText1 @@ -108480,28 +109801,23 @@ WardenTeethText1: ; 75144 (1d:5144) WardenTeethText2: ; 75149 (1d:5149) TX_FAR _WardenTeethText2 - db $50 -; 0x75149 + 5 bytes + db "@" WardenThankYouText: ; 7514e (1d:514e) TX_FAR _WardenThankYouText - db $50 -; 0x7514e + 5 bytes + db "@" ReceivedHM04Text: ; 75153 (1d:5153) TX_FAR _ReceivedHM04Text ; 0x9e5a2 - db $0B, $50 -; 0x75153 + 6 bytes = 0x75159 + db $0B, "@" HM04ExplanationText: ; 75159 (1d:5159) TX_FAR _HM04ExplanationText - db $50 -; 0x75159 + 5 bytes + db "@" HM04NoRoomText: ; 7515e (1d:515e) TX_FAR _HM04NoRoomText - db $50 -; 0x7515e + 5 bytes + db "@" FuchsiaHouse2Text5: ; 75163 (1d:5163) FuchsiaHouse2Text4: ; 75163 (1d:5163) @@ -108517,13 +109833,11 @@ FuchsiaHouse2Text4: ; 75163 (1d:5163) UnnamedText_75176: ; 75176 (1d:5176) TX_FAR _UnnamedText_75176 - db $50 -; 0x75176 + 5 bytes + db "@" UnnamedText_7517b: ; 7517b (1d:517b) TX_FAR _UnnamedText_7517b - db $50 -; 0x7517b + 5 bytes + db "@" FuchsiaHouse2Object: ; 0x75180 (size=45) db $17 ; border tile @@ -108551,30 +109865,34 @@ 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 -; 0x751d9 -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 @@ -108588,42 +109906,41 @@ 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 -; 0x75221 -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 -; 0x75240 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 -; 0x7524e SafariZoneEntranceScript5: ; 7524e (1d:524e) ld a, $4 @@ -108635,7 +109952,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 @@ -108643,7 +109960,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 @@ -108653,28 +109970,25 @@ SafariZoneEntranceScript5: ; 7524e (1d:524e) call DisplayTextID .asm_75286 ret -; 0x75287 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 -; 0x75295 SafariZoneEntranceScript6: ; 75295 (1d:5295) - call Unknown_752b4 + call Func_752b4 ret nz call Delay3 ld a, [$cf0d] ld [W_SAFARIZONEENTRANCECURSCRIPT], a ret -; 0x752a3 -Unknown_752a3: ; 752a3 (1d:52a3) +Func_752a3: ; 752a3 (1d:52a3) push af ld b, $0 ld a, c @@ -108683,24 +109997,28 @@ Unknown_752a3: ; 752a3 (1d:52a3) pop af call FillMemory jp Func_3486 -; 752b4 (1d:52b4) -Unknown_752b4: ; 752b4 (1d:52b4) + +Func_752b4: ; 752b4 (1d:52b4) ld a, [$cd38] and a ret -; 752b9 (1d:52b9) -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) TX_FAR _SafariZoneEntranceText1 - db $50 + db "@" SafariZoneEntranceText4: ; 752ca (1d:52ca) TX_FAR UnnamedText_9e6e4 ; 0x9e6e4 db $8 -; 0x752cf ld a, $13 ld [$d125], a call DisplayTextBoxID @@ -108738,13 +110056,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] @@ -108757,12 +110075,11 @@ 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 jp TextScriptEnd -; 0x7535b UnnamedText_7535b: ; 7535b (1d:535b) TX_FAR UnnamedText_9e747 ; 0x9e747 @@ -108770,18 +110087,15 @@ UnnamedText_7535b: ; 7535b (1d:535b) UnnamedText_75360: ; 75360 (1d:5360) TX_FAR _UnnamedText_75360 - db $50 -; 0x75360 + 5 bytes + db "@" UnnamedText_75365: ; 75365 (1d:5365) TX_FAR _UnnamedText_75365 - db $50 -; 0x75365 + 5 bytes + db "@" UnnamedText_7536a: ; 7536a (1d:536a) TX_FAR _UnnamedText_7536a - db $50 -; 0x7536a + 5 bytes + db "@" SafariZoneEntranceText5: ; 7536f (1d:536f) TX_FAR UnnamedText_9e814 ; 0x9e814 @@ -108796,7 +110110,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] @@ -108810,29 +110124,25 @@ 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 ld a, $6 ld [W_SAFARIZONEENTRANCECURSCRIPT], a jp TextScriptEnd -; 0x753bb UnnamedText_753bb: ; 753bb (1d:53bb) TX_FAR _UnnamedText_753bb - db $50 -; 0x753bb + 5 bytes + db "@" UnnamedText_753c0: ; 753c0 (1d:53c0) TX_FAR _UnnamedText_753c0 - db $50 -; 0x753c0 + 5 bytes + db "@" SafariZoneEntranceText6: ; 753c5 (1d:53c5) TX_FAR _UnnamedText_753c5 - db $50 -; 0x753c5 + 5 bytes + db "@" SafariZoneEntranceText2: ; 753ca (1d:53ca) db $08 ; asm @@ -108850,18 +110160,15 @@ SafariZoneEntranceText2: ; 753ca (1d:53ca) UnnamedText_753e6: ; 753e6 (1d:53e6) TX_FAR _UnnamedText_753e6 - db $50 -; 0x753e6 + 5 bytes + db "@" UnnamedText_753eb: ; 753eb (1d:53eb) TX_FAR _UnnamedText_753eb - db $50 -; 0x753eb + 5 bytes + db "@" UnnamedText_753f0: ; 753f0 (1d:53f0) TX_FAR _UnnamedText_753f0 - db $50 -; 0x753f0 + 5 bytes + db "@" SafariZoneEntranceObject: ; 0x753f5 (size=48) db $a ; border tile @@ -108890,23 +110197,21 @@ 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 -; 0x75453 -FuchsiaGymScript_Unknown75453: ; 75453 (1d:5453) +FuchsiaGymScript_75453: ; 75453 (1d:5453) ld hl, $D126 bit 6, [hl] res 6, [hl] @@ -108921,30 +110226,26 @@ Gym5CityName: ; 75465 (1d:5465) Gym5LeaderName: ; 75472 (1d:5472) db "KOGA@" -; known jump sources: 7548f (1d:548f), 754d2 (1d:54d2) Func_75477: ; 75477 (1d:5477) xor a - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a ld [W_FUCHSIAGYMCURSCRIPT], a ld [W_CURMAPSCRIPT], a ret -; 75482 (1d:5482) -Unknown_75482: ; 75482 (1d:5482) +FuchsiaGymScriptPointers: ; 75482 (1d:5482) dw CheckFightingMapTrainers dw Func_324c dw EndTrainerBattle - dw Func_7548a -; 7548a (1d:548a) + 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 -; 75497 (1d:5497) -Unknown_75497: ; 75497 (1d:5497) + ld [wJoypadForbiddenButtonsMask], a +FuchsiaGymScript3_75497: ; 75497 (1d:5497) ld a, $9 ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c call DisplayTextID @@ -108972,9 +110273,19 @@ Unknown_75497: ; 75497 (1d:5497) or $fc ld [$d792], a jp Func_75477 -; 754d5 (1d:54d5) -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) @@ -108985,7 +110296,6 @@ FuchsiaGymTrainerHeader0: ; 754eb (1d:54eb) dw FuchsiaGymAfterBattleText1 ; 0x55b8 TextAfterBattle dw FuchsiaGymEndBattleText1 ; 0x55b3 TextEndBattle dw FuchsiaGymEndBattleText1 ; 0x55b3 TextEndBattle -; 0x754f7 FuchsiaGymTrainerHeader2: ; 754f7 (1d:54f7) db $3 ; flag's bit @@ -108995,7 +110305,6 @@ FuchsiaGymTrainerHeader2: ; 754f7 (1d:54f7) dw FuchsiaGymAfterBattleText2 ; 0x55d1 TextAfterBattle dw FuchsiaGymEndBattleText2 ; 0x55cc TextEndBattle dw FuchsiaGymEndBattleText2 ; 0x55cc TextEndBattle -; 0x75503 FuchsiaGymTrainerHeader3: ; 75503 (1d:5503) db $4 ; flag's bit @@ -109005,7 +110314,6 @@ FuchsiaGymTrainerHeader3: ; 75503 (1d:5503) dw FuchsiaGymAfterBattleText3 ; 0x55ea TextAfterBattle dw FuchsiaGymEndBattleText3 ; 0x55e5 TextEndBattle dw FuchsiaGymEndBattleText3 ; 0x55e5 TextEndBattle -; 0x7550f FuchsiaGymTrainerHeader4: ; 7550f (1d:550f) db $5 ; flag's bit @@ -109015,7 +110323,6 @@ FuchsiaGymTrainerHeader4: ; 7550f (1d:550f) dw FuchsiaGymAfterBattleText4 ; 0x5603 TextAfterBattle dw FuchsiaGymEndBattleText4 ; 0x55fe TextEndBattle dw FuchsiaGymEndBattleText4 ; 0x55fe TextEndBattle -; 0x7551b FuchsiaGymTrainerHeader5: ; 7551b (1d:551b) db $6 ; flag's bit @@ -109025,7 +110332,6 @@ FuchsiaGymTrainerHeader5: ; 7551b (1d:551b) dw FuchsiaGymAfterBattleText5 ; 0x561c TextAfterBattle dw FuchsiaGymEndBattleText5 ; 0x5617 TextEndBattle dw FuchsiaGymEndBattleText5 ; 0x5617 TextEndBattle -; 0x75527 FuchsiaGymTrainerHeader6: ; 75527 (1d:5527) db $7 ; flag's bit @@ -109035,9 +110341,8 @@ FuchsiaGymTrainerHeader6: ; 75527 (1d:5527) dw FuchsiaGymAfterBattleText6 ; 0x5635 TextAfterBattle dw FuchsiaGymEndBattleText6 ; 0x5630 TextEndBattle dw FuchsiaGymEndBattleText6 ; 0x5630 TextEndBattle -; 0x75533 -db $ff + db $ff FuchsiaGymText1: ; 75534 (1d:5534) db $08 ; asm @@ -109046,7 +110351,7 @@ FuchsiaGymText1: ; 75534 (1d:5534) jr z, .asm_181b6 ; 0x7553a bit 0, a jr nz, .asm_adc3b ; 0x7553e - call z, Unknown_75497 + call z, FuchsiaGymScript3_75497 call DisableWaitingAfterTextDisplay jr .asm_e84c6 ; 0x75546 .asm_adc3b ; 0x75548 @@ -109077,23 +110382,19 @@ FuchsiaGymText1: ; 75534 (1d:5534) UnnamedText_75581: ; 75581 (1d:5581) TX_FAR _UnnamedText_75581 - db $50 -; 0x75581 + 5 bytes + db "@" UnnamedText_75586: ; 75586 (1d:5586) TX_FAR _UnnamedText_75586 - db $50 -; 0x75586 + 5 bytes + db "@" UnnamedText_7558b: ; 7558b (1d:558b) TX_FAR _UnnamedText_7558b - db $50 -; 0x7558b + 5 bytes + db "@" FuchsiaGymText9: ; 75590 (1d:5590) TX_FAR _UnnamedText_75590 - db $50 -; 0x75590 + 5 bytes + db "@" FuchsiaGymText10: ; 75595 (1d:5595) TX_FAR _ReceivedTM06Text ; 0xa00eb @@ -109101,13 +110402,11 @@ FuchsiaGymText10: ; 75595 (1d:5595) TM06ExplanationText: ; 7559a (1d:559a) TX_FAR _TM06ExplanationText - db $50 -; 0x7559a + 5 bytes + db "@" FuchsiaGymText11: ; 7559f (1d:559f) TX_FAR _TM06NoRoomText - db $50 -; 0x7559f + 5 bytes + db "@" FuchsiaGymText2: ; 755a4 (1d:55a4) db $08 ; asm @@ -109117,18 +110416,15 @@ FuchsiaGymText2: ; 755a4 (1d:55a4) FuchsiaGymBattleText1: ; 755ae (1d:55ae) TX_FAR _FuchsiaGymBattleText1 - db $50 -; 0x755ae + 5 bytes + db "@" FuchsiaGymEndBattleText1: ; 755b3 (1d:55b3) TX_FAR _FuchsiaGymEndBattleText1 - db $50 -; 0x755b3 + 5 bytes + db "@" FuchsiaGymAfterBattleText1: ; 755b8 (1d:55b8) TX_FAR _FuchsiaGymAfterBattleText1 - db $50 -; 0x755b8 + 5 bytes + db "@" FuchsiaGymText3: ; 755bd (1d:55bd) db $08 ; asm @@ -109138,18 +110434,15 @@ FuchsiaGymText3: ; 755bd (1d:55bd) FuchsiaGymBattleText2: ; 755c7 (1d:55c7) TX_FAR _FuchsiaGymBattleText2 - db $50 -; 0x755c7 + 5 bytes + db "@" FuchsiaGymEndBattleText2: ; 755cc (1d:55cc) TX_FAR _FuchsiaGymEndBattleText2 - db $50 -; 0x755cc + 5 bytes + db "@" FuchsiaGymAfterBattleText2: ; 755d1 (1d:55d1) TX_FAR _FuchsiaGymAfterBattleText2 - db $50 -; 0x755d1 + 5 bytes + db "@" FuchsiaGymText4: ; 755d6 (1d:55d6) db $08 ; asm @@ -109159,18 +110452,15 @@ FuchsiaGymText4: ; 755d6 (1d:55d6) FuchsiaGymBattleText3: ; 755e0 (1d:55e0) TX_FAR _FuchsiaGymBattleText3 - db $50 -; 0x755e0 + 5 bytes + db "@" FuchsiaGymEndBattleText3: ; 755e5 (1d:55e5) TX_FAR _FuchsiaGymEndBattleText3 - db $50 -; 0x755e5 + 5 bytes + db "@" FuchsiaGymAfterBattleText3: ; 755ea (1d:55ea) TX_FAR _FuchsiaGymAfterBattleText3 - db $50 -; 0x755ea + 5 bytes + db "@" FuchsiaGymText5: ; 755ef (1d:55ef) db $08 ; asm @@ -109180,18 +110470,15 @@ FuchsiaGymText5: ; 755ef (1d:55ef) FuchsiaGymBattleText4: ; 755f9 (1d:55f9) TX_FAR _FuchsiaGymBattleText4 - db $50 -; 0x755f9 + 5 bytes + db "@" FuchsiaGymEndBattleText4: ; 755fe (1d:55fe) TX_FAR _FuchsiaGymEndBattleText4 - db $50 -; 0x755fe + 5 bytes + db "@" FuchsiaGymAfterBattleText4: ; 75603 (1d:5603) TX_FAR _FuchsiaGymAfterBattleText4 - db $50 -; 0x75603 + 5 bytes + db "@" FuchsiaGymText6: ; 75608 (1d:5608) db $08 ; asm @@ -109201,18 +110488,15 @@ FuchsiaGymText6: ; 75608 (1d:5608) FuchsiaGymBattleText5: ; 75612 (1d:5612) TX_FAR _FuchsiaGymBattleText5 - db $50 -; 0x75612 + 5 bytes + db "@" FuchsiaGymEndBattleText5: ; 75617 (1d:5617) TX_FAR _FuchsiaGymEndBattleText5 - db $50 -; 0x75617 + 5 bytes + db "@" FuchsiaGymAfterBattleText5: ; 7561c (1d:561c) TX_FAR _FuchsiaGymAfterBattleText5 - db $50 -; 0x7561c + 5 bytes + db "@" FuchsiaGymText7: ; 75621 (1d:5621) db $08 ; asm @@ -109222,18 +110506,15 @@ FuchsiaGymText7: ; 75621 (1d:5621) FuchsiaGymBattleText6: ; 7562b (1d:562b) TX_FAR _FuchsiaGymBattleText6 - db $50 -; 0x7562b + 5 bytes + db "@" FuchsiaGymEndBattleText6: ; 75630 (1d:5630) TX_FAR _FuchsiaGymEndBattleText6 - db $50 -; 0x75630 + 5 bytes + db "@" FuchsiaGymAfterBattleText6: ; 75635 (1d:5635) TX_FAR _FuchsiaGymAfterBattleText6 - db $50 -; 0x75635 + 5 bytes + db "@" FuchsiaGymText8: ; 7563a (1d:563a) db $08 ; asm @@ -109248,13 +110529,11 @@ FuchsiaGymText8: ; 7563a (1d:563a) UnnamedText_7564e: ; 7564e (1d:564e) TX_FAR _UnnamedText_7564e - db $50 -; 0x7564e + 5 bytes + db "@" UnnamedText_75653: ; 75653 (1d:5653) TX_FAR _UnnamedText_75653 - db $50 -; 0x75653 + 5 bytes + db "@" FuchsiaGymObject: ; 0x75658 (size=82) db $3 ; border tile @@ -109285,30 +110564,30 @@ 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 FuchsiaMeetingRoomScript: ; 756e3 (1d:56e3) call EnableAutoTextBoxDrawing ret -; 0x756e7 -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 - db $50 + db "@" FuchsiaMeetingRoomText2: ; 756f2 (1d:56f2) TX_FAR _FuchsiaMeetingRoomText2 - db $50 + db "@" FuchsiaMeetingRoomText3: ; 756f7 (1d:56f7) TX_FAR _FuchsiaMeetingRoomText3 - db $50 + db "@" FuchsiaMeetingRoomObject: ; 0x756fc (size=38) db $17 ; border tile @@ -109334,25 +110613,23 @@ 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 -; 0x75759 -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] @@ -109360,7 +110637,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 @@ -109370,21 +110647,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 -; 757a0 (1d:57a0) -Unknown_757a0: ; 757a0 (1d:57a0) + +CinnabarGymScript_757a0: ; 757a0 (1d:57a0) ld a, [H_DOWNARROWBLINKCNT2] ; $FF00+$8c - ld [W_TRAINERHEADERFLAGBIT], a + ld [wTrainerHeaderFlagBit], a ret -; 757a6 (1d:57a6) -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] @@ -109395,10 +110675,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 @@ -109407,40 +110687,38 @@ CinnabarGymScript0: ; 757ae (1d:57ae) ld [W_CINNABARGYMCURSCRIPT], a ld [W_CURMAPSCRIPT], a ret -; 0x757d7 -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 -; 0x757f1 -Unknown_757f1: ; 757f1 (1d:57f1) +Func_757f1: ; 757f1 (1d:57f1) ld a, $10 jp Predef ; indirect jump to HandleBitArray (f666 (3:7666)) -; 757f6 (1d:57f6) + 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 @@ -109449,35 +110727,34 @@ 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 ld [W_CURMAPSCRIPT], a ret -; 0x7584a CinnabarGymScript3: ; 7584a (1d:584a) ld a, [$d057] cp $ff - jp z, Unknown_75792 + jp z, CinnabarGymScript_75792 ld a, $f0 - ld [W_JOYPADFORBIDDENBUTTONSMASK], a -Unknown_75857: ; 75857 (1d:5857) + ld [wJoypadForbiddenButtonsMask], a +CinnabarGymScript3_75857: ; 75857 (1d:5857) ld a, $a ld [$ff00+$8c], a call DisplayTextID @@ -109508,16 +110785,23 @@ Unknown_75857: ; 75857 (1d:5857) set 0, [hl] ld hl, $d126 set 5, [hl] - jp Unknown_75792 -; 0x7589f - -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 - -Unknown_758b7: ; 758b7 (1d:58b7) + 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 + +Func_758b7: ; 758b7 (1d:58b7) ld a, [H_DOWNARROWBLINKCNT2] ; $FF00+$8c ld [$cf13], a call EngageMapTrainer @@ -109536,7 +110820,7 @@ Unknown_758b7: ; 758b7 (1d:58b7) ld [W_CINNABARGYMCURSCRIPT], a ld [W_CURMAPSCRIPT], a jp TextScriptEnd -; 758df (1d:58df) + CinnabarGymText1: ; 758df (1d:58df) db $8 ld a, [$d79a] @@ -109544,7 +110828,7 @@ CinnabarGymText1: ; 758df (1d:58df) jr z, .asm_d9332 ; 0x758e5 $16 bit 0, a jr nz, .asm_3012f ; 0x758e9 $9 - call z, Unknown_75857 + call z, CinnabarGymScript3_75857 call DisableWaitingAfterTextDisplay jp TextScriptEnd .asm_3012f ; 0x758f4 @@ -109559,45 +110843,39 @@ CinnabarGymText1: ; 758df (1d:58df) call PreBattleSaveRegisters ld a, $7 ld [$d05c], a - jp Unknown_758b7 -; 0x75914 + jp Func_758b7 UnnamedText_75914: ; 75914 (1d:5914) TX_FAR _UnnamedText_75914 - db $50 -; 0x75914 + 5 bytes + db "@" UnnamedText_75919: ; 75919 (1d:5919) TX_FAR UnnamedText_a08c7 db $11 db $d - db $50 + db "@" UnnamedText_75920: ; 75920 (1d:5920) TX_FAR _UnnamedText_75920 - db $50 -; 0x75920 + 5 bytes + db "@" UnnamedText_75925: ; 75925 (1d:5925) TX_FAR _UnnamedText_75925 - db $50 -; 0x75925 + 5 bytes + db "@" ReceivedTM38Text: ; 7592a (1d:592a) TX_FAR _ReceivedTM38Text ; 0xa09a8 db $0B TX_FAR _TM38ExplanationText - db $50 -; 0x75934 + db "@" TM38NoRoomText: ; 75934 (1d:5934) TX_FAR _TM38NoRoomText - db $50 -; 0x75934 + 5 bytes + db "@" CinnabarGymText2: ; 75939 (1d:5939) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79a] bit 2, a jr nz, .asm_46bb4 ; 0x75942 @@ -109606,7 +110884,7 @@ CinnabarGymText2: ; 75939 (1d:5939) ld hl, UnnamedText_75964 ld de, UnnamedText_75964 ; $5964 XXX call PreBattleSaveRegisters - jp Unknown_758b7 + jp Func_758b7 .asm_46bb4 ; 0x75956 ld hl, UnnamedText_75969 call PrintText @@ -109614,22 +110892,19 @@ CinnabarGymText2: ; 75939 (1d:5939) UnnamedText_7595f: ; 7595f (1d:595f) TX_FAR _UnnamedText_7595f - db $50 -; 0x7595f + 5 bytes + db "@" UnnamedText_75964: ; 75964 (1d:5964) TX_FAR _UnnamedText_75964 - db $50 -; 0x75964 + 5 bytes + db "@" UnnamedText_75969: ; 75969 (1d:5969) TX_FAR _UnnamedText_75969 - db $50 -; 0x75969 + 5 bytes + db "@" CinnabarGymText3: ; 7596e (1d:596e) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79a] bit 3, a jr nz, .asm_4b406 ; 0x75977 @@ -109638,7 +110913,7 @@ CinnabarGymText3: ; 7596e (1d:596e) ld hl, UnnamedText_75999 ld de, UnnamedText_75999 ; $5999 XXX call PreBattleSaveRegisters - jp Unknown_758b7 + jp Func_758b7 .asm_4b406 ; 0x7598b ld hl, UnnamedText_7599e call PrintText @@ -109646,22 +110921,19 @@ CinnabarGymText3: ; 7596e (1d:596e) UnnamedText_75994: ; 75994 (1d:5994) TX_FAR _UnnamedText_75994 - db $50 -; 0x75994 + 5 bytes + db "@" UnnamedText_75999: ; 75999 (1d:5999) TX_FAR _UnnamedText_75999 - db $50 -; 0x75999 + 5 bytes + db "@" UnnamedText_7599e: ; 7599e (1d:599e) TX_FAR _UnnamedText_7599e - db $50 -; 0x7599e + 5 bytes + db "@" CinnabarGymText4: ; 759a3 (1d:59a3) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79a] bit 4, a jr nz, .asm_c0673 ; 0x759ac @@ -109670,7 +110942,7 @@ CinnabarGymText4: ; 759a3 (1d:59a3) ld hl, UnnamedText_759ce ld de, UnnamedText_759ce ; $59ce XXX call PreBattleSaveRegisters - jp Unknown_758b7 + jp Func_758b7 .asm_c0673 ; 0x759c0 ld hl, UnnamedText_759d3 call PrintText @@ -109678,22 +110950,19 @@ CinnabarGymText4: ; 759a3 (1d:59a3) UnnamedText_759c9: ; 759c9 (1d:59c9) TX_FAR _UnnamedText_759c9 - db $50 -; 0x759c9 + 5 bytes + db "@" UnnamedText_759ce: ; 759ce (1d:59ce) TX_FAR _UnnamedText_759ce - db $50 -; 0x759ce + 5 bytes + db "@" UnnamedText_759d3: ; 759d3 (1d:59d3) TX_FAR _UnnamedText_759d3 - db $50 -; 0x759d3 + 5 bytes + db "@" CinnabarGymText5: ; 759d8 (1d:59d8) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79a] bit 5, a jr nz, .asm_5cfd7 ; 0x759e1 @@ -109702,7 +110971,7 @@ CinnabarGymText5: ; 759d8 (1d:59d8) ld hl, UnnamedText_75a03 ld de, UnnamedText_75a03 ; $5a03 XXX call PreBattleSaveRegisters - jp Unknown_758b7 + jp Func_758b7 .asm_5cfd7 ; 0x759f5 ld hl, UnnamedText_75a08 call PrintText @@ -109710,22 +110979,19 @@ CinnabarGymText5: ; 759d8 (1d:59d8) UnnamedText_759fe: ; 759fe (1d:59fe) TX_FAR _UnnamedText_759fe - db $50 -; 0x759fe + 5 bytes + db "@" UnnamedText_75a03: ; 75a03 (1d:5a03) TX_FAR _UnnamedText_75a03 - db $50 -; 0x75a03 + 5 bytes + db "@" UnnamedText_75a08: ; 75a08 (1d:5a08) TX_FAR _UnnamedText_75a08 - db $50 -; 0x75a08 + 5 bytes + db "@" CinnabarGymText6: ; 75a0d (1d:5a0d) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79a] bit 6, a jr nz, .asm_776b4 ; 0x75a16 @@ -109734,7 +111000,7 @@ CinnabarGymText6: ; 75a0d (1d:5a0d) ld hl, UnnamedText_75a38 ld de, UnnamedText_75a38 call PreBattleSaveRegisters - jp Unknown_758b7 + jp Func_758b7 .asm_776b4 ; 0x75a2a ld hl, UnnamedText_75a3d call PrintText @@ -109742,22 +111008,19 @@ CinnabarGymText6: ; 75a0d (1d:5a0d) UnnamedText_75a33: ; 75a33 (1d:5a33) TX_FAR _UnnamedText_75a33 - db $50 -; 0x75a33 + 5 bytes + db "@" UnnamedText_75a38: ; 75a38 (1d:5a38) TX_FAR _UnnamedText_75a38 - db $50 -; 0x75a38 + 5 bytes + db "@" UnnamedText_75a3d: ; 75a3d (1d:5a3d) TX_FAR _UnnamedText_75a3d - db $50 -; 0x75a3d + 5 bytes + db "@" CinnabarGymText7: ; 75a42 (1d:5a42) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79a] bit 7, a jr nz, .asm_2f755 ; 0x75a4b @@ -109766,7 +111029,7 @@ CinnabarGymText7: ; 75a42 (1d:5a42) ld hl, UnnamedText_75a6d ld de, UnnamedText_75a6d call PreBattleSaveRegisters - jp Unknown_758b7 + jp Func_758b7 .asm_2f755 ; 0x75a5f ld hl, UnnamedText_75a72 call PrintText @@ -109774,22 +111037,19 @@ CinnabarGymText7: ; 75a42 (1d:5a42) UnnamedText_75a68: ; 75a68 (1d:5a68) TX_FAR _UnnamedText_75a68 - db $50 -; 0x75a68 + 5 bytes + db "@" UnnamedText_75a6d: ; 75a6d (1d:5a6d) TX_FAR _UnnamedText_75a6d - db $50 -; 0x75a6d + 5 bytes + db "@" UnnamedText_75a72: ; 75a72 (1d:5a72) TX_FAR _UnnamedText_75a72 - db $50 -; 0x75a72 + 5 bytes + db "@" CinnabarGymText8: ; 75a77 (1d:5a77) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79b] bit 0, a jr nz, .asm_d87be ; 0x75a80 @@ -109798,7 +111058,7 @@ CinnabarGymText8: ; 75a77 (1d:5a77) ld hl, UnnamedText_75aa2 ld de, UnnamedText_75aa2 ; $5aa2 XXX call PreBattleSaveRegisters - jp Unknown_758b7 + jp Func_758b7 .asm_d87be ; 0x75a94 ld hl, UnnamedText_75aa7 call PrintText @@ -109806,18 +111066,15 @@ CinnabarGymText8: ; 75a77 (1d:5a77) UnnamedText_75a9d: ; 75a9d (1d:5a9d) TX_FAR _UnnamedText_75a9d - db $50 -; 0x75a9d + 5 bytes + db "@" UnnamedText_75aa2: ; 75aa2 (1d:5aa2) TX_FAR _UnnamedText_75aa2 - db $50 -; 0x75aa2 + 5 bytes + db "@" UnnamedText_75aa7: ; 75aa7 (1d:5aa7) TX_FAR _UnnamedText_75aa7 - db $50 -; 0x75aa7 + 5 bytes + db "@" CinnabarGymText9: ; 75aac (1d:5aac) db $08 ; asm @@ -109834,13 +111091,11 @@ CinnabarGymText9: ; 75aac (1d:5aac) UnnamedText_75ac2: ; 75ac2 (1d:5ac2) TX_FAR _UnnamedText_75ac2 - db $50 -; 0x75ac2 + 5 bytes + db "@" UnnamedText_75ac7: ; 75ac7 (1d:5ac7) TX_FAR _UnnamedText_75ac7 - db $50 -; 0x75ac7 + 5 bytes + db "@" CinnabarGymObject: ; 0x75acc (size=90) db $2e ; border tile @@ -109872,38 +111127,40 @@ 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 Lab1Script: ; 75b8c (1d:5b8c) call EnableAutoTextBoxDrawing ret -; 0x75b90 -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 - db $50 + db "@" Lab1Text2: ; 75b9f (1d:5b9f) TX_FAR _Lab1Text2 - db $50 + db "@" Lab1Text3: ; 75ba4 (1d:5ba4) TX_FAR _Lab1Text3 - db $50 + db "@" Lab1Text4: ; 75ba9 (1d:5ba9) TX_FAR _Lab1Text4 - db $50 + db "@" Lab1Text5: ; 75bae (1d:5bae) TX_FAR _Lab1Text5 - db $50 + db "@" Lab1Object: ; 0x75bb3 (size=62) db $17 ; border tile @@ -109937,32 +111194,32 @@ 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 Lab2Script: ; 75c21 (1d:5c21) jp EnableAutoTextBoxDrawing -; 0x75c24 -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 - db $50 + db "@" 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 @@ -109992,17 +111249,19 @@ 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 Lab3Script: ; 75c87 (1d:5c87) jp EnableAutoTextBoxDrawing -; 0x75c8a -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 @@ -110031,36 +111290,32 @@ Lab3Text1: ; 75c94 (1d:5c94) TM35PreReceiveText: ; 75cc8 (1d:5cc8) TX_FAR _TM35PreReceiveText - db $50 -; 0x75cc8 + 5 bytes + db "@" ReceivedTM35Text: ; 75ccd (1d:5ccd) TX_FAR _ReceivedTM35Text ; 0xa0f48 - db $0B, $50 -; 0x75cd3 + db $0B, "@" TM35ExplanationText: ; 75cd3 (1d:5cd3) TX_FAR _TM35ExplanationText - db $50 -; 0x75cd3 + 5 bytes + db "@" TM35NoRoomText: ; 75cd8 (1d:5cd8) TX_FAR _TM35NoRoomText - db $50 -; 0x75cd8 + 5 bytes + db "@" Lab3Text2: ; 75cdd (1d:5cdd) TX_FAR _Lab3Text2 - db $50 + db "@" Lab3Text4: ; 75ce2 (1d:5ce2) Lab3Text3: ; 75ce2 (1d:5ce2) TX_FAR _Lab3Text3 - db $50 + db "@" Lab3Text5: ; 75ce7 (1d:5ce7) TX_FAR _Lab3Text5 - db $50 + db "@" Lab3Object: ; 0x75cec (size=41) db $17 ; border tile @@ -110088,23 +111343,22 @@ 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 Lab4Script: ; 75d31 (1d:5d31) jp EnableAutoTextBoxDrawing -; 0x75d34 -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 @@ -110133,8 +111387,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 @@ -110143,7 +111400,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 @@ -110178,32 +111435,27 @@ Lab4Text1: ; 75d6c (1d:5d6c) res 1, [hl] res 2, [hl] jr .asm_75d93 ; 0x75dc4 $cd -; 0x75dc6 UnnamedText_75dc6: ; 75dc6 (1d:5dc6) TX_FAR _UnnamedText_75dc6 - db $50 -; 0x75dc6 + 5 bytes + db "@" UnnamedText_75dcb: ; 75dcb (1d:5dcb) TX_FAR _UnnamedText_75dcb - db $50 -; 0x75dcb + 5 bytes + db "@" UnnamedText_75dd0: ; 75dd0 (1d:5dd0) TX_FAR _UnnamedText_75dd0 - db $50 -; 0x75dd0 + 5 bytes + db "@" UnnamedText_75dd5: ; 75dd5 (1d:5dd5) TX_FAR _UnnamedText_75dd5 - db $50 -; 0x75dd5 + 5 bytes + db "@" Lab4Text2: ; 75dda (1d:5dda) db $08 ; asm ld a, $3 - ld [W_WHICHTRADE], a + ld [wWhichTrade], a ld a, $54 call Predef jp TextScriptEnd @@ -110212,7 +111464,6 @@ LoadFossilItemAndMonNameBank1D: ; 75de8 (1d:5de8) ld b, BANK(LoadFossilItemAndMonName) ld hl, LoadFossilItemAndMonName jp Bankswitch -; 0x75df0 Lab4Object: ; 0x75df0 (size=32) db $17 ; border tile @@ -110237,29 +111488,30 @@ 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 CinnabarPokecenterScript: ; 75e2c (1d:5e2c) call Func_22fa jp EnableAutoTextBoxDrawing -; 0x75e32 -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 CinnabarPokecenterText2: ; 75e3b (1d:5e3b) TX_FAR _CinnabarPokecenterText1 - db $50 + db "@" CinnabarPokecenterText3: ; 75e40 (1d:5e40) TX_FAR _CinnabarPokecenterText3 - db $50 + db "@" CinnabarPokecenterText4: ; 75e45 (1d:5e45) db $f6 @@ -110286,25 +111538,25 @@ 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 CinnabarMartScript: ; 75e7e (1d:5e7e) jp EnableAutoTextBoxDrawing -; 0x75e81 -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 - db $50 + db "@" CinnabarMartText3: ; 75e8c (1d:5e8c) TX_FAR _CinnabarMartText3 - db $50 + db "@" CinnabarMartObject: ; 0x75e91 (size=38) db $0 ; border tile @@ -110327,25 +111579,25 @@ 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 CopycatsHouseF1Script: ; 75ec3 (1d:5ec3) jp EnableAutoTextBoxDrawing -; 0x75ec6 -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 - db $50 + db "@" CopycatsHouseF1Text2: ; 75ed1 (1d:5ed1) TX_FAR _CopycatsHouseF1Text2 - db $50 + db "@" CopycatsHouseF1Text3: ; 75ed6 (1d:5ed6) TX_FAR _CopycatsHouseF1Text3 @@ -110376,25 +111628,24 @@ CopycatsHouseF1Object: ; 0x75ee3 (size=46) Gary_h: ; 75f11 (1d:5f11) db $7 ;tileset - db $4, $4 ;Height, Width - dw GaryBlocks, GaryTexts, GaryScript + db CHAMPIONS_ROOM_HEIGHT, CHAMPIONS_ROOM_WIDTH ; Height, Width + 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 @@ -110405,15 +111656,14 @@ GaryScripts: ; 75f31 (1d:5f31) dw GaryScript7 dw GaryScript8 dw GaryScript9 - dw GaryScript10 ; 60b9 + dw GaryScript10 GaryScript0: ; 75f47 (1d:5f47) ret -; 0x75f48 GaryScript1: ; 75f48 (1d:5f48) ld a, $ff - ld [W_JOYPADFORBIDDENBUTTONSMASK], a + ld [wJoypadForbiddenButtonsMask], a ld hl, $ccd3 ld de, RLEMovement75f63 call DecodeRLEList @@ -110436,7 +111686,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 @@ -110477,15 +111727,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 @@ -110499,11 +111749,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 @@ -110515,8 +111765,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] @@ -110536,7 +111786,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 @@ -110549,7 +111799,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 @@ -110562,8 +111812,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 @@ -110571,8 +111821,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] @@ -110588,7 +111838,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 @@ -110599,7 +111849,7 @@ GaryScript9: ; 76099 (1d:6099) ld [W_GARYCURSCRIPT], a ret -RLEMovement760b4; 0x760b4 +RLEMovement760b4 ; 760b4 (1d:60b4) db $40,4 db $20,1 db $ff @@ -110609,21 +111859,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 @@ -110638,27 +111892,23 @@ GaryText1: ; 760e0 (1d:60e0) UnnamedText_760f4: ; 760f4 (1d:60f4) TX_FAR _UnnamedText_760f4 - db $50 -; 0x760f4 + 5 bytes + db "@" UnnamedText_760f9: ; 760f9 (1d:60f9) TX_FAR _UnnamedText_760f9 - db $50 -; 0x760f9 + 5 bytes + db "@" UnnamedText_760fe: ; 760fe (1d:60fe) TX_FAR _UnnamedText_760fe - db $50 -; 0x760fe + 5 bytes + db "@" UnnamedText_76103: ; 76103 (1d:6103) TX_FAR _UnnamedText_76103 - db $50 -; 0x76103 + 5 bytes + db "@" GaryText2: ; 76108 (1d:6108) TX_FAR _GaryText2 - db $50 + db "@" GaryText3: ; 7610d (1d:610d) db $8 @@ -110668,22 +111918,18 @@ GaryText3: ; 7610d (1d:610d) ld hl, UnnamedText_76120 call PrintText jp TextScriptEnd -; 0x76120 UnnamedText_76120: ; 76120 (1d:6120) TX_FAR _UnnamedText_76120 - db $50 -; 0x76120 + 5 bytes + db "@" GaryText4: ; 76125 (1d:6125) TX_FAR _UnnamedText_76125 - db $50 -; 0x76125 + 5 bytes + db "@" GaryText5: ; 7612a (1d:612a) TX_FAR _UnnamedText_7612a - db $50 -; 0x7612a + 5 bytes + db "@" GaryObject: ; 0x7612f (size=48) db $3 ; border tile @@ -110712,23 +111958,21 @@ 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 -; 0x76191 -LoreleiScript_Unknown76191: ; 76191 (1d:6191) +LoreleiScript_76191: ; 76191 (1d:6191) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -110748,21 +111992,19 @@ LoreleiScript_Unknown76191: ; 76191 (1d:6191) ld a, $17 jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) -; known jump sources: 76247 (1d:6247) Func_761b6: ; 761b6 (1d:61b6) xor a ld [W_LORELEICURSCRIPT], a ret -; 761bb (1d:61bb) -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 @@ -110780,8 +112022,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 @@ -110789,7 +112031,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 @@ -110810,20 +112052,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 @@ -110831,9 +112077,10 @@ Func_7623f: ; 7623f (1d:623f) ld a, $1 ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c jp DisplayTextID -; 76251 (1d:6251) -LoreleiTexts: ; 76251 (1d:6251) - dw LoreleiText1, LoreleiText2 + +LoreleiTextPointers: ; 76251 (1d:6251) + dw LoreleiText1 + dw LoreleiText2 LoreleiTrainerHeaders: ; 76255 (1d:6255) LoreleiTrainerHeader0: ; 76255 (1d:6255) @@ -110844,9 +112091,8 @@ LoreleiTrainerHeader0: ; 76255 (1d:6255) dw LoreleiAfterBattleText ; 0x6276 TextAfterBattle dw LoreleiEndBattleText ; 0x6271 TextEndBattle dw LoreleiEndBattleText ; 0x6271 TextEndBattle -; 0x76261 -db $ff + db $ff LoreleiText1: ; 76262 (1d:6262) db $08 ; asm @@ -110856,23 +112102,19 @@ LoreleiText1: ; 76262 (1d:6262) LoreleiBeforeBattleText: ; 7626c (1d:626c) TX_FAR _LoreleiBeforeBattleText - db $50 -; 0x7626c + 5 bytes + db "@" LoreleiEndBattleText: ; 76271 (1d:6271) TX_FAR _LoreleiEndBattleText - db $50 -; 0x76271 + 5 bytes + db "@" LoreleiAfterBattleText: ; 76276 (1d:6276) TX_FAR _LoreleiAfterBattleText - db $50 -; 0x76276 + 5 bytes + db "@" LoreleiText2: ; 7627b (1d:627b) TX_FAR _UnnamedText_7627b - db $50 -; 0x7627b + 5 bytes + db "@" LoreleiObject: ; 0x76280 (size=44) db $3 ; border tile @@ -110900,23 +112142,21 @@ 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 -; 0x762ec -BrunoScript_Unknown762ec: ; 762ec (1d:62ec) +BrunoScript_762ec: ; 762ec (1d:62ec) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -110929,28 +112169,25 @@ BrunoScript_Unknown762ec: ; 762ec (1d:62ec) .asm_76300 ld a, $24 -; known jump sources: 762fd (1d:62fd) Func_76302: ; 76302 (1d:6302) ld [$d09f], a ld bc, $2 ld a, $17 jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) -; known jump sources: 7639e (1d:639e) Func_7630d: ; 7630d (1d:630d) xor a ld [W_BRUNOCURSCRIPT], a ret -; 76312 (1d:6312) -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 @@ -110969,8 +112206,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 @@ -110978,7 +112215,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 @@ -110999,21 +112236,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 @@ -111021,9 +112262,10 @@ Func_76396: ; 76396 (1d:6396) ld a, $1 ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c jp DisplayTextID -; 763a8 (1d:63a8) -BrunoTexts: ; 763a8 (1d:63a8) - dw BrunoText1, BrunoText2 + +BrunoTextPointers: ; 763a8 (1d:63a8) + dw BrunoText1 + dw BrunoText2 BrunoTrainerHeaders: ; 763ac (1d:63ac) BrunoTrainerHeader0: ; 763ac (1d:63ac) @@ -111034,9 +112276,8 @@ BrunoTrainerHeader0: ; 763ac (1d:63ac) dw BrunoAfterBattleText ; 0x63cd TextAfterBattle dw BrunoEndBattleText ; 0x63c8 TextEndBattle dw BrunoEndBattleText ; 0x63c8 TextEndBattle -; 0x763b8 -db $ff + db $ff BrunoText1: ; 763b9 (1d:63b9) db $08 ; asm @@ -111046,23 +112287,19 @@ BrunoText1: ; 763b9 (1d:63b9) BrunoBeforeBattleText: ; 763c3 (1d:63c3) TX_FAR _BrunoBeforeBattleText - db $50 -; 0x763c3 + 5 bytes + db "@" BrunoEndBattleText: ; 763c8 (1d:63c8) TX_FAR _BrunoEndBattleText - db $50 -; 0x763c8 + 5 bytes + db "@" BrunoAfterBattleText: ; 763cd (1d:63cd) TX_FAR _BrunoAfterBattleText - db $50 -; 0x763cd + 5 bytes + db "@" BrunoText2: ; 763d2 (1d:63d2) TX_FAR _UnnamedText_763d2 - db $50 -; 0x763d2 + 5 bytes + db "@" BrunoObject: ; 0x763d7 (size=44) db $3 ; border tile @@ -111090,23 +112327,21 @@ 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 -; 0x76443 -AgathaScript_Unknown76443: ; 76443 (1d:6443) +AgathaScript_76443: ; 76443 (1d:6443) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -111119,28 +112354,25 @@ AgathaScript_Unknown76443: ; 76443 (1d:6443) .asm_76457 ld a, $3b -; known jump sources: 76454 (1d:6454) Func_76459: ; 76459 (1d:6459) ld [$d09f], a ld bc, $2 ld a, $17 jp Predef ; indirect jump to Func_ee9e (ee9e (3:6e9e)) -; known jump sources: 764f5 (1d:64f5) Func_76464: ; 76464 (1d:6464) xor a ld [W_AGATHACURSCRIPT], a ret -; 76469 (1d:6469) -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 @@ -111159,8 +112391,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 @@ -111168,7 +112400,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 @@ -111189,21 +112421,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 @@ -111214,9 +112450,10 @@ Func_764ed: ; 764ed (1d:64ed) ld a, $1 ld [W_GARYCURSCRIPT], a ret -; 76505 (1d:6505) -AgathaTexts: ; 76505 (1d:6505) - dw AgathaText1, AgathaText2 + +AgathaTextPointers: ; 76505 (1d:6505) + dw AgathaText1 + dw AgathaText2 AgathaTrainerHeaders: ; 76509 (1d:6509) AgathaTrainerHeader0: ; 76509 (1d:6509) @@ -111227,9 +112464,8 @@ AgathaTrainerHeader0: ; 76509 (1d:6509) dw AgathaAfterBattleText ; 0x652a TextAfterBattle dw AgathaEndBattleText ; 0x6525 TextEndBattle dw AgathaEndBattleText ; 0x6525 TextEndBattle -; 0x76515 -db $ff + db $ff AgathaText1: ; 76516 (1d:6516) db $08 ; asm @@ -111239,23 +112475,19 @@ AgathaText1: ; 76516 (1d:6516) AgathaBeforeBattleText: ; 76520 (1d:6520) TX_FAR _AgathaBeforeBattleText - db $50 -; 0x76520 + 5 bytes + db "@" AgathaEndBattleText: ; 76525 (1d:6525) TX_FAR _AgathaEndBattleText - db $50 -; 0x76525 + 5 bytes + db "@" AgathaAfterBattleText: ; 7652a (1d:652a) TX_FAR _AgathaAfterBattleText - db $50 -; 0x7652a + 5 bytes + db "@" AgathaText2: ; 7652f (1d:652f) TX_FAR _AgathaText2 - db $50 -; 0x7652f + 5 bytes + db "@" AgathaObject: ; 0x76534 (size=44) db $0 ; border tile @@ -111280,7 +112512,7 @@ AgathaObject: ; 0x76534 (size=44) AgathaBlocks: ; 76560 (1d:6560) INCBIN "maps/agatha.blk" -Unknown_7657e: ; XXX: make better (has to do with the hall of fame on the PC) ; 0x7657e +Func_7657e: ; XXX: make better (has to do with the hall of fame on the PC) ; 0x7657e ld hl, UnnamedText_76683 call PrintText ld hl, $D730 @@ -111312,7 +112544,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 @@ -111331,11 +112563,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 @@ -111356,8 +112589,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 @@ -111403,12 +112637,11 @@ HallOfFameNoText: ; 76670 (1d:6670) UnnamedText_76683: ; 76683 (1d:6683) TX_FAR _UnnamedText_76683 - db $50 -; 0x76683 + 5 bytes + db "@" HiddenItems: ; 76688 (1d:6688) ld hl, HiddenItemCoords - call Label76857 + call Func_76857 ld [$cd41], a ld hl, $d6f0 ld a, [$cd41] @@ -111515,7 +112748,7 @@ FoundHiddenItemText: ; 7675b (1d:675b) HiddenItemBagFullText: ; 76794 (1d:6794) TX_FAR _UnnamedText_76794 - db $50 + db "@" HiddenCoins: ; 76799 (1d:6799) ld b, COIN_CASE @@ -111525,7 +112758,7 @@ HiddenCoins: ; 76799 (1d:6799) and a ret z ld hl, HiddenCoinCoords - call Label76857 + call Func_76857 ld [$cd41], a ld hl, $d6fe ld a, [$cd41] @@ -111577,10 +112810,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 @@ -111613,9 +112846,9 @@ DroppedHiddenCoinsText: ; 7684d (1d:684d) TX_FAR _FoundHiddenCoins2Text db $10 TX_FAR _DroppedHiddenCoinsText - db $50 + db "@" -Label76857: ; 76857 (1d:6857) +Func_76857: ; 76857 (1d:6857) ld a, [$cd40] ld d, a ld a, [$cd41] @@ -111795,7 +113028,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 @@ -111818,7 +113051,7 @@ PlayAnimation: ; 780f1 (1e:40f1) ld l,a ld h,0 add hl,hl - ld de,Unknown_7a07d ; $607d ; animation command stream pointers + ld de,AttackAnimationPointers ; $607d ; animation command stream pointers add hl,de ld a,[hli] ld h,[hl] @@ -111844,10 +113077,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 @@ -111864,7 +113097,7 @@ PlayAnimation: ; 780f1 (1e:40f1) jp [hl] ; jump to special effect function .playSubanimation ld c,a - and a,63 + and a,%00111111 ld [W_SUBANIMFRAMEDELAY],a xor a sla c @@ -111873,14 +113106,14 @@ 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 ld l,a ld h,0 add hl,hl - ld de,Unknown_7a76d ; $676d ; subanimation pointer table + ld de,SubanimationPointers add hl,de ld a,l ld [W_SUBANIMADDRPTR],a @@ -111996,24 +113229,25 @@ 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" + INCBIN "gfx/attack_anim_1.2bpp" AnimationTileset2: ; 786ee (1e:46ee) -INCBIN "gfx/attack_anim_2.2bpp" + INCBIN "gfx/attack_anim_2.2bpp" +SlotMachineTiles2: ; 78bde (1e:4bde) IF _RED INCBIN "gfx/red/slotmachine2.2bpp" ENDC @@ -112051,7 +113285,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 @@ -112089,7 +113323,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 @@ -112097,31 +113331,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 @@ -112143,10 +113394,9 @@ Pointer4DCF: ; 78dcf (1e:4dcf) jr nz, .asm_78e11 pop bc dec c - jr nz, .asm_78e01 + jr nz, Func_78e01 ret -; known jump sources: 78d65 (1e:4d65) Func_78e23: ; 78e23 (1e:4e23) ld a, [$cf1b] and a @@ -112174,15 +113424,15 @@ Func_78e23: ; 78e23 (1e:4e23) ld a, $6c ld [rOBP1], a ; $FF00+$49 ret -; 78e53 (1e:4e53) + 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 @@ -112195,7 +113445,7 @@ PlaySubanimation: ; 78e53 (1e:4e53) push hl ld c,[hl] ; frame block ID ld b,0 - ld hl,PointerTable_7af74 + ld hl,FrameBlockPointers add hl,bc add hl,bc ld a,[hli] @@ -112207,7 +113457,7 @@ PlaySubanimation: ; 78e53 (1e:4e53) push hl ld e,[hl] ; base coordinate ID ld d,0 - ld hl,Unknown_7bc85 ; $7c85 ; base coordinate table + ld hl,FrameBlockBaseCoords ; $7c85 ; base coordinate table add hl,de add hl,de ld a,[hli] @@ -112293,7 +113543,7 @@ AnimationIdSpecialEffects: ; 78ef5 (1e:4ef5) dw AnimationFlashScreen db TAIL_WHIP - dw Func50D0 + dw Func_790d0 db GROWL dw DoGrowlSpecialEffects @@ -112329,13 +113579,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 @@ -112506,7 +113756,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 @@ -112518,7 +113768,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 @@ -112527,14 +113777,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] @@ -112557,15 +113807,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] @@ -112599,13 +113849,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 @@ -112615,8 +113865,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 @@ -112627,81 +113876,81 @@ SpecialEffectPointers: ; 790da (1e:50da) db $FE dw AnimationFlashScreen db $FD - dw $51D6 + dw Func_791d6 db $FC - dw $51EA + dw Func_791ea db $FB - dw $520E + dw Func_7920e db $FA - dw $5215 + dw Func_79215 db $F9 - dw $51DB + dw Func_791db db $F8 dw AnimationFlashScreenLong db $F7 - dw $527A + dw Func_7927a db $F6 - dw $5297 + dw Func_79297 db $F5 - dw $5389 + dw Func_79389 db $F4 - dw $52AF + dw Func_792af db $F3 - dw $536F + dw Func_7936f db $F2 - dw $53F9 + dw Func_793f9 db $F1 - dw $5415 + dw Func_79415 db $F0 - dw $51F4 + dw Func_791f4 db $EF - dw $5801 + dw Func_79801 db $EE - dw $54A1 + dw Func_794a1 db $ED - dw $54F9 + dw Func_794f9 db $EC - dw $5566 + dw Func_79566 db $EB - dw $577A + dw Func_7977a db $EA - dw $559F + dw Func_7959f db $E9 - dw $55C9 + dw Func_795c9 db $E8 - dw $5787 + dw Func_79787 db $E7 - dw $5C74 + dw Func_79c74 db $E6 - dw $5C8A + dw Func_79c8a db $E5 - dw $5645 + dw Func_79645 db $E4 - dw $5D77 + dw Func_79d77 db $E3 - dw $5D77 + dw Func_79d77 db $E2 - dw $5424 + dw Func_79424 db $E1 dw AnimationDelay10 db $E0 - dw $5398 + dw Func_79398 db $DF - dw $57D8 + dw Func_797d8 db $DE - dw $5369 + dw Func_79369 db $DD - dw $539E + dw Func_7939e db $DC - dw $53AB + dw Func_793ab db $DB - dw $52B9 + dw Func_792b9 db $DA - dw $53B1 + dw Func_793b1 db $D9 - dw $56E0 + dw Func_796e0 db $D8 - dw $5666 + dw Func_79666 db $FF AnimationDelay10: ; 79150 (1e:5150) @@ -112751,35 +114000,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 @@ -112811,19 +114060,38 @@ AnimationFlashScreen: ; 791be (1e:51be) ld [rBGP],a ; restore initial palette ret - ld bc, Unknown_7af6f ; $6f6f - jr .asm_791fc +Func_791d6: ; 791d6 (1e:51d6) + ld bc, $6f6f + jr Func_791fc -INCBIN "baserom.gbc",$791db,$791ea - $791db +Func_791db: ; 791db (1e:51db) + ld bc, $f9f4 + jr Func_791fc + +Func_791e0: ; 791e0 (1e:51e0) + ld bc, $fef8 + jr Func_791fc + +Func_791e5: ; 791e5 (1e:51e5) + ld bc, $ffff + jr Func_791fc + +Func_791ea: ; 791ea (1e:51ea) ld bc, $e4e4 - jr .asm_791fc + jr Func_791fc + +Func_791ef: ; 791ef (1e:51ef) + ld bc, $0000 + jr Func_791fc -INCBIN "baserom.gbc",$791ef,$791f4 - $791ef +Func_791f4: ; 791f4 (1e:51f4) ld bc, $9090 - jr .asm_791fc + jr Func_791fc -INCBIN "baserom.gbc",$791f9,$791fc - $791f9 -.asm_791fc +Func_791f9: ; 791f9 (1e:51f9) + ld bc, $4040 + +Func_791fc: ; 791fc (1e:51fc) ld a, [$cf1b] and a ld a, b @@ -112833,18 +114101,20 @@ INCBIN "baserom.gbc",$791f9,$791fc - $791f9 ld [rBGP], a ; $FF00+$47 ret -INCBIN "baserom.gbc",$79207,$79209 - $79207 + ld b, $5 -; known jump sources: 78de0 (1e:4de0) Func_79209: ; 79209 (1e:5209) ld a, $21 jp Predef ; indirect jump to Func_480ff (480ff (12:40ff)) + +Func_7920e: ; 7920e (1e:520e) ld b, $8 -; known jump sources: 78de8 (1e:4de8), 78dfb (1e:4dfb) Func_79210: ; 79210 (1e:5210) ld a, $24 jp Predef ; indirect jump to Func_48125 (48125 (12:4125)) + +Func_79215: ; 79215 (1e:5215) xor a ld [$d09f], a call LoadAnimationTileset @@ -112868,9 +114138,8 @@ Func_79210: ; 79210 (1e:5210) jr nz, .asm_79228 ret -; known jump sources: 79232 (1e:5232), 7923f (1e:523f) Func_79246: ; 79246 (1e:5246) - ld hl, W_OAMBUFFER + ld hl, wOAMBuffer .asm_79249 ld a, [W_BASECOORDY] ; $d082 ld [hli], a @@ -112895,9 +114164,21 @@ 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 -; known jump sources: 7975d (1e:575d) Func_79297: ; 79297 (1e:5297) xor a call Func_79842 @@ -112914,21 +114195,84 @@ Func_79297: ; 79297 (1e:5297) jr nz, .asm_7929b ret -; known jump sources: 79762 (1e:5762) Func_792af: ; 792af (1e:52af) ld e, $8 ld a, $3 ld [W_SUBANIMTRANSFORM], a ; $d08b jp Func_795f8 -; known jump sources: 3c226 (f:4226) 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 -; known jump sources: 7952a (1e:552a), 797fa (1e:57fa) Func_79329: ; 79329 (1e:5329) ld a, e add $8 @@ -112941,10 +114285,11 @@ Func_79329: ; 79329 (1e:5329) xor a ld [hli], a ret + +Func_79337: ; 79337 (1e:5337) ld l, e ld h, d -; known jump sources: 79eaa (1e:5eaa), 79eb7 (1e:5eb7), 79ef8 (1e:5ef8), 79f05 (1e:5f05), 79f12 (1e:5f12), 79f1f (1e:5f1f) Func_79339: ; 79339 (1e:5339) ld de, $4 .asm_7933c @@ -112963,10 +114308,11 @@ Func_79339: ; 79339 (1e:5339) dec c jr nz, .asm_7933c ret + +Func_79350: ; 79350 (1e:5350) ld l, e ld h, d -; known jump sources: 79ee5 (1e:5ee5) Func_79352: ; 79352 (1e:5352) ld de, $4 .asm_79355 @@ -112986,7 +114332,6 @@ Func_79352: ; 79352 (1e:5352) jr nz, .asm_79355 ret -; known jump sources: 78df3 (1e:4df3) Func_79369: ; 79369 (1e:5369) ld hl, Func_7936f ; $536f jp CallWithTurnFlipped @@ -113008,7 +114353,6 @@ Func_7936f: ; 7936f (1e:536f) pop af ret -; known jump sources: 7976b (1e:576b) Func_79389: ; 79389 (1e:5389) ld a, [W_PLAYERMONID] ld [$ceea], a @@ -113016,19 +114360,67 @@ 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 -; known jump sources: 7937b (1e:537b), 79421 (1e:5421), 795c1 (1e:55c1), 7976e (1e:576e) Func_7939e: ; 7939e (1e:539e) xor a call Func_79842 call Func_79820 call Func_79aae jp Delay3 - ld hl, Func_7939e ; $539e + +Func_793ab: ; 793ab (1e:53ab) + ld hl, Func_7939e 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 @@ -113045,6 +114437,8 @@ INCBIN "baserom.gbc",$793b1,$793f9 - $793b1 call Func_79aae ld c, $3 jp DelayFrames + +Func_79415: ; 79415 (1e:5415) ld a, [H_WHOSETURN] ; $FF00+$f3 and a ld a, $66 @@ -113053,6 +114447,8 @@ INCBIN "baserom.gbc",$793b1,$793f9 - $793b1 .asm_7941e call Func_7980c jp Func_7939e + +Func_79424: ; 79424 (1e:5424) ld a, [H_WHOSETURN] ; $FF00+$f3 and a jr z, .asm_79435 @@ -113074,7 +114470,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 @@ -113106,6 +114502,8 @@ INCBIN "baserom.gbc",$793b1,$793f9 - $793b1 Unknown_79476: ; 79476 (1e:5476) INCBIN "baserom.gbc",$79476,$794a1 - $79476 + +Func_794a1: ; 794a1 (1e:54a1) ld c, $4 .asm_794a3 push bc @@ -113138,7 +114536,6 @@ INCBIN "baserom.gbc",$79476,$794a1 - $79476 ld c, $2 jp DelayFrame -; known jump sources: 794bc (1e:54bc), 794c5 (1e:54c5) Func_794d4: ; 794d4 (1e:54d4) ld c, $7 .asm_794d6 @@ -113148,7 +114545,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 @@ -113163,6 +114560,8 @@ Func_794d4: ; 794d4 (1e:54d4) dec c jr nz, .asm_794d6 jp Delay3 + +Func_794f9: ; 794f9 (1e:54f9) ld a, [H_WHOSETURN] ; $FF00+$f3 and a jr z, .asm_79503 @@ -113179,7 +114578,6 @@ Func_794d4: ; 794d4 (1e:54d4) call Func_79517 jp AnimationCleanOAM -; known jump sources: 79511 (1e:5511) Func_79517: ; 79517 (1e:5517) push bc xor a @@ -113187,7 +114585,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 @@ -113201,7 +114599,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 @@ -113229,9 +114627,35 @@ 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 -; known jump sources: 79768 (1e:5768) Func_7959f: ; 7959f (1e:559f) ld hl, $c6e8 push hl @@ -113255,9 +114679,34 @@ Func_7959f: ; 7959f (1e:559f) jp Func_7939e Unknown_795c4: ; 795c4 (1e:55c4) -INCBIN "baserom.gbc",$795c4,$795f8 - $795c4 +INCBIN "baserom.gbc",$795c4,$795c9 - $795c4 + +Func_795c9: ; 795c9 (1e:55c9) + ld a, $1 + ld c, $2 +.asm_795cd + push bc + push af + call Func_79801 + pop af + push af + call Func_79842 + call Func_79820 + call Func_79aae + ld c, $8 + call DelayFrames + pop af + inc a + pop bc + dec c + jr nz, .asm_795cd + call Func_79801 + ld hl, $c6e8 + ld bc, $0310 + xor a + call FillMemory + jp Func_79652 -; known jump sources: 792b6 (1e:52b6) Func_795f8: ; 795f8 (1e:55f8) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -113302,7 +114751,6 @@ Func_795f8: ; 795f8 (1e:55f8) jr nz, .asm_79607 ret -; known jump sources: 79616 (1e:5616) Func_79633: ; 79633 (1e:5633) ld a, [hl] add $7 @@ -113311,7 +114759,6 @@ Func_79633: ; 79633 (1e:5633) ld a, $7f ret -; known jump sources: 79611 (1e:5611) Func_7963c: ; 7963c (1e:563c) ld a, [hl] sub $7 @@ -113320,9 +114767,13 @@ 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 -; known jump sources: 795bb (1e:55bb) Func_79652: ; 79652 (1e:5652) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -113334,7 +114785,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 @@ -113373,15 +114878,12 @@ Func_796e0: ; 796e0 (1e:56e0) .asm_79739 call Func_79652 jp Func_7939e -; 0x7973f CopySlowbroSpriteData: ; 7973f (1e:573f) ld bc, $0010 ld a, BANK(SlowbroSprite) jp FarCopyData2 -; 0x79747 -; known jump sources: 3e295 (f:6295) Func_79747: ; 79747 (1e:5747) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -113410,7 +114912,6 @@ Func_79771: ; 79771 (1e:5771) call Func_792af call Func_796e0 jp Func_7939e -; 0x7977a Func_7977a: ; 7977a (1e:577a) ld c, $5 @@ -113421,7 +114922,6 @@ Func_7977a: ; 7977a (1e:577a) dec c jr nz, .asm_7977c ; 0x79782 $f8 jp Func_7939e -; 0x79787 Func_79787: ; 79787 (1e:5787) ld a, [$cfe5] @@ -113429,7 +114929,6 @@ Func_79787: ; 79787 (1e:5787) ld a, [W_PLAYERMONID] ld [$cee9], a -; known jump sources: 708ee (1c:48ee), 79395 (1e:5395) Func_79793: ; 79793 (1e:5793) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -113462,6 +114961,8 @@ Func_79793: ; 79793 (1e:5793) .asm_797d3 ld b, $1 jp GoPAL_SET + +Func_797d8: ; 797d8 (1e:57d8) xor a ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba ld hl, Func_79801 ; $5801 @@ -113470,7 +114971,6 @@ Func_79793: ; 79793 (1e:5793) ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba jp Delay3 -; known jump sources: 79441 (1e:5441) Func_797e8: ; 797e8 (1e:57e8) push bc push de @@ -113481,14 +114981,13 @@ 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 jr nz, .asm_797fa ret -; known jump sources: 792a6 (1e:52a6), 79373 (1e:5373), 793f9 (1e:53f9), 794cc (1e:54cc) Func_79801: ; 79801 (1e:5801) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -113498,14 +114997,13 @@ Func_79801: ; 79801 (1e:5801) .asm_7980a ld a, $65 -; known jump sources: 79049 (1e:5049), 7941e (1e:541e), 79808 (1e:5808) Func_7980c: ; 7980c (1e:580c) push hl push de push bc ld e, a ld d, $0 - ld hl, W_SCREENTILESBUFFER + ld hl, wTileMap add hl, de ld bc, $707 call ClearScreenArea @@ -113514,7 +115012,6 @@ Func_7980c: ; 7980c (1e:580c) pop hl ret -; known jump sources: 7929b (1e:529b), 793a2 (1e:53a2), 797c9 (1e:57c9) Func_79820: ; 79820 (1e:5820) push de ld a, [H_WHOSETURN] ; $FF00+$f3 @@ -113525,7 +115022,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 @@ -113542,9 +115039,8 @@ Func_79820: ; 79820 (1e:5820) pop de ret -; known jump sources: 79298 (1e:5298), 7939f (1e:539f), 79409 (1e:5409), 797c6 (1e:57c6), 79de2 (1e:5de2) Func_79842: ; 79842 (1e:5842) - ld hl, Unknown_79aea ; $5aea + ld hl, PointerTable_79aea ; $5aea ld e, a ld d, $0 add hl, de @@ -113563,15 +115059,15 @@ 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 -; known jump sources: 78f7d (1e:4f7d), 794e7 (1e:54e7), 79866 (1e:5866) Func_79862: ; 79862 (1e:5862) ld a, [hli] ld [hld], a @@ -113580,9 +115076,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 @@ -113621,6 +115121,7 @@ Func586F: ; 7986f (1e:586f) .done ld a,b ret + IsCryMove: ; 798ad (1e:58ad) ; set carry if the move animation involves playing a monster cry ld a,[W_ANIMATIONID] @@ -113802,7 +115303,6 @@ MoveSoundTable: ; 798bc (1e:58bc) db $a1,$00,$80 db $a1,$00,$80 -; known jump sources: 792a0 (1e:52a0), 793a5 (1e:53a5), 7940d (1e:540d), 797cc (1e:57cc) Func_79aae: ; 79aae (1e:5aae) ld a, [H_WHOSETURN] ; $FF00+$f3 and a @@ -113813,7 +115313,6 @@ Func_79aae: ; 79aae (1e:5aae) ld [H_DOWNARROWBLINKCNT1], a ; $FF00+$8b jr asm_79acb -; known jump sources: 3cd11 (f:4d11), 3cd2c (f:4d2c), 3f09a (f:709a), 3f0af (f:70af) Func_79aba: ; 79aba (1e:5aba) call Load16BitRegisters ld a, [$cd6c] @@ -113827,7 +115326,6 @@ asm_79acb: ; 79acb (1e:5acb) xor a ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba -; known jump sources: 79de6 (1e:5de6) Func_79ace: ; 79ace (1e:5ace) push hl .asm_79acf @@ -113853,16 +115351,244 @@ 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 Unknown_79b24 + db $77 + dw Unknown_79b55 + db $57 + dw Unknown_79b78 + db $37 + dw Unknown_79b8d + db $77 + dw Unknown_79bbe + db $77 + dw Unknown_79bef + db $77 + dw Unknown_79c20 + db $86 + dw Unknown_79c50 + db $3C Unknown_79b02: ; 79b02 (1e:5b02) -INCBIN "baserom.gbc",$79b02,$79b1b - $79b02 + db $31,$38,$46,$54,$5B,$32,$39,$47,$55,$5C,$34,$3B,$49,$57,$5E,$36,$3D,$4B,$59,$60,$37,$3E,$4C,$5A,$61 Unknown_79b1b: ; 79b1b (1e:5b1b) -INCBIN "baserom.gbc",$79b1b,$79dda - $79b1b + db $31,$46,$5B,$34,$49,$5E,$37,$4C,$61 + +Unknown_79b24: ; 79b24 (1e:5b24) + db $00,$07,$0E,$15,$1C,$23,$2A,$01,$08,$0F,$16,$1D,$24,$2B,$02,$09,$10,$17,$1E,$25,$2C,$03,$0A,$11,$18,$1F,$26,$2D,$04,$0B,$12,$19,$20,$27,$2E,$05,$0C,$13,$1A,$21,$28,$2F,$06,$0D,$14,$1B,$22,$29,$30 + +Unknown_79b55: ; 79b55 (1e:5b55) + db $00,$07,$0E,$15,$1C,$23,$2A,$01,$08,$0F,$16,$1D,$24,$2B,$03,$0A,$11,$18,$1F,$26,$2D,$04,$0B,$12,$19,$20,$27,$2E,$05,$0C,$13,$1A,$21,$28,$2F + +Unknown_79b78: ; 79b78 (1e:5b78) + db $00,$07,$0E,$15,$1C,$23,$2A,$02,$09,$10,$17,$1E,$25,$2C,$04,$0B,$12,$19,$20,$27,$2E + +Unknown_79b8d: ; 79b8d (1e:5b8d) + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$19,$00,$02,$06,$0B,$10,$14,$1A,$00,$00,$07,$0C,$11,$15,$1B,$00,$03,$08,$0D,$12,$16,$1C,$00,$04,$09,$0E,$13,$17,$1D,$1F,$05,$0A,$0F,$01,$18,$1E,$20 + +Unknown_79bbe: ; 79bbe (1e:5bbe) + db $00,$00,$00,$30,$00,$37,$00,$00,$00,$2B,$31,$34,$38,$3D,$21,$26,$2C,$01,$35,$39,$3E,$22,$27,$2D,$32,$36,$01,$00,$23,$28,$2E,$33,$01,$3A,$00,$24,$29,$2F,$01,$01,$3B,$00,$25,$2A,$01,$01,$01,$3C,$00 + +Unknown_79bef: ; 79bef (1e:5bef) + db $00,$00,$00,$00,$00,$00,$00,$00,$00,$47,$4D,$00,$00,$00,$00,$00,$48,$4E,$52,$56,$5B,$3F,$43,$49,$4F,$53,$57,$5C,$40,$44,$4A,$50,$54,$58,$00,$41,$45,$4B,$51,$4C,$59,$5D,$42,$46,$4C,$4C,$55,$5A,$5E + +Unknown_79c20: ; 79c20 (1e:5c20) + db $31,$32,$32,$32,$32,$33,$34,$35,$36,$36,$37,$38,$34,$39,$3A,$3A,$3B,$38,$3C,$3D,$3E,$3E,$3F,$40,$41,$42,$43,$43,$44,$45,$46,$47,$43,$48,$49,$4A,$41,$43,$4B,$4C,$4D,$4E,$4F,$50,$50,$50,$51,$52 + +Unknown_79c50: ; 79c50 (1e:5c50) + db $43,$55,$56,$53,$53,$53,$53,$53,$53,$53,$53,$53,$43,$57,$58,$54,$54,$54,$54,$54,$54,$54,$54,$54,$43,$59,$5A,$43,$43,$43,$43,$43,$43,$43,$43,$43 + +Func_79c74: ; 79c74 (1e:5c74) + ld a, [$ff48] + push af + ld a, [$cc79] + ld [$ff48], a + ld d, $37 + ld a, $3 + ld [W_SUBANIMTRANSFORM], a + call Func_79c97 + pop af + ld [$ff48], a + ret + +Func_79c8a: ; 79c8a (1e:5c8a) + ld d, $71 + ld a, $14 + ld [W_SUBANIMTRANSFORM], a + call Func_79c97 + jp CleanLCD_OAM + +Func_79c97: ; 79c97 (1e:5c97) + ld c, a + ld a, $1 + call Func_797e8 + call Func_79d2a + call Func_79d52 + ld hl, wOAMBuffer + ld [hl], $0 +.asm_79ca8 + ld hl, wTrainerSpriteOffset + ld de, $0000 + ld a, [W_SUBANIMTRANSFORM] + ld c, a +.asm_79cb2 + push bc + push hl + push de + ld a, [hl] + ld [$d08a], a + call Func_79d16 + call Func_79cdb + pop de + ld hl, $0004 + add hl, de + ld e, l + ld d, h + pop hl + ld a, [$d08a] + ld [hli], a + pop bc + dec c + jr nz, .asm_79cb2 + call Delay3 + ld hl, wOAMBuffer + ld a, [hl] + cp $68 + jr nz, .asm_79ca8 + ret + +Func_79cdb: ; 79cdb (1e:5cdb) + ld hl, wOAMBuffer + add hl, de + ld a, [hl] + inc a + inc a + cp $70 + jr c, .asm_79ce8 + ld a, $a0 +.asm_79ce8 + ld [hli], a + ld a, [$d08a] + ld b, a + ld de, Unknown_79d0d + and $7f + add e + jr nc, .asm_79cf6 + inc d +.asm_79cf6 + ld e, a + ld a, b + and $80 + jr nz, .asm_79d03 + ld a, [de] + add [hl] + ld [hli], a + inc hl + xor a + jr .asm_79d0b +.asm_79d03 + ld a, [de] + ld b, a + ld a, [hl] + sub b + ld [hli], a + inc hl + ld a, $20 +.asm_79d0b + ld [hl], a + ret + +Unknown_79d0d: ; 79d0d (1e:5d0d) + db $00,$01,$03,$05,$07,$09,$0B,$0D,$0F + +Func_79d16: ; 79d16 (1e:5d16) + ld a, [$d08a] + inc a + ld b, a + and $7f + cp $9 + ld a, b + jr nz, .asm_79d26 + and $80 + xor $80 +.asm_79d26 + ld [$d08a], a + ret +Func_79d2a: ; 79d2a (1e:5d2a) + ld hl, $c301 + ld de, Unknown_79d3e + ld a, [W_SUBANIMTRANSFORM] + ld c, a +.asm_79d34 + ld a, [de] + ld [hli], a + inc hl + inc hl + inc hl + inc de + dec c + jr nz, .asm_79d34 + ret + +Unknown_79d3e: ; 79d3e (1e:5d3e) + db $38,$40,$50,$60,$70,$88,$90,$56,$67,$4A,$77,$84,$98,$32,$22,$5C,$6C,$7D,$8E,$99 + +Func_79d52: ; 79d52 (1e:5d52) + ld hl, wTrainerSpriteOffset + ld de, Unknown_79d63 + ld a, [W_SUBANIMTRANSFORM] + ld c, a +.asm_79d5c + ld a, [de] + ld [hli], a + inc de + dec c + jr nz, .asm_79d5c + ret + +Unknown_79d63: ; 79d63 (1e:5d63) + db $00,$84,$06,$81,$02,$88,$01,$83,$05,$89,$09,$80,$07,$87,$03,$82,$04,$85,$08,$86 + +Func_79d77: ; 79d77 (1e:5d77) + ld de, $9310 + ld hl, $8000 + ld bc, $0031 + call CopyVideoData + xor a + ld [$ffae], a + ld hl, $9800 + call Func_79e0d + ld a, $90 + ld [$ffb0], a + ld hl, $9b20 + call Func_79e0d + ld a, $38 + ld [$ffb0], a + call Func_792fd + ld hl, $9800 + call Func_79e0d + call Func_79801 + call Delay3 + ld de, $0208 + call Func_79de9 + call Func_7939e + call CleanLCD_OAM + ld a, $90 + ld [$ffb0], a + ld hl, $9c00 + call Func_79e0d + xor a + ld [$ffb0], a + call SaveScreenTilesToBuffer1 + ld hl, $9800 + call Func_79e0d + call ClearScreen + call Delay3 + call LoadScreenTilesFromBuffer1 + ld hl, $9c00 + jp Func_79e0d -; known jump sources: 41846 (10:5846), 70374 (1c:4374) Func_79dda: ; 79dda (1e:5dda) call Load16BitRegisters ld a, c @@ -113873,7 +115599,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] @@ -113932,7 +115683,6 @@ TossBallAnimation: ; 79e16 (1e:5e16) ld [W_ANIMATIONID],a jp PlayAnimation -; known jump sources: 78ddb (1e:4ddb), 78de3 (1e:4de3), 78df0 (1e:4df0), 78df6 (1e:4df6) Func_79e6a: ; 79e6a (1e:5e6a) call WaitForSoundToFinish ld a, [$d05b] @@ -113957,7 +115707,6 @@ Func_79e6a: ; 79e6a (1e:5e6a) ld a, c jp PlaySound -; known jump sources: efdb (3:6fdb) Func_79e96: ; 79e96 (1e:5e96) ld a, [$cd4d] cp $52 @@ -114003,7 +115752,6 @@ Func_79e96: ; 79e96 (1e:5e96) jr nz, .asm_79eca ret -; known jump sources: 79ecd (1e:5ecd), 79ed5 (1e:5ed5), 79f2d (1e:5f2d) Func_79eed: ; 79eed (1e:5eed) push bc ld hl, $c391 @@ -114035,7 +115783,6 @@ Func_79eed: ; 79eed (1e:5eed) jr nz, Func_79eed ret -; known jump sources: 79ed0 (1e:5ed0), 79ed8 (1e:5ed8) Func_79f30: ; 79f30 (1e:5f30) ld hl, $c390 ld de, $cee9 @@ -114050,7 +115797,6 @@ Func_79f30: ; 79f30 (1e:5f30) ld bc, $8 jp CopyData -; known jump sources: f2c0 (3:72c0) Func_79f54: ; 79f54 (1e:5f54) ld a, $1 ld [$cd50], a @@ -114083,10 +115829,9 @@ Func_79f54: ; 79f54 (1e:5f54) ld [$cfcb], a jp LoadPlayerSpriteGraphics -; known jump sources: 79f74 (1e:5f74) 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 @@ -114106,10 +115851,19 @@ 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 -; known jump sources: 1dbb4 (7:5bb4), 79f66 (1e:5f66) Func_79fc0: ; 79fc0 (1e:5fc0) ld hl, $8fc0 ld c, $4 @@ -114125,154 +115879,3635 @@ Func_79fc0: ; 79fc0 (1e:5fc0) jr nz, .asm_79fc5 ret -; known jump sources: 79fc7 (1e:5fc7) Func_79fd4: ; 79fd4 (1e:5fd4) ld de, RedFishingTiles ; $5fdd ld bc, (BANK(RedFishingTiles) << 8) + $01 jp CopyVideoData RedFishingTiles: ; 79fdd (1e:5fdd) -INCBIN "gfx/red_fishing.2bpp" - -Unknown_7a07d: ; 7a07d (1e:607d) -INCBIN "baserom.gbc",$7a07d,$7a76d - $7a07d - -Unknown_7a76d: ; 7a76d (1e:676d) -INCBIN "baserom.gbc",$7a76d,$7af6f - $7a76d - -Unknown_7af6f: ; 7af6f (1e:6f6f) -INCBIN "baserom.gbc",$7af6f,$7af74 - $7af6f - -PointerTable_7af74: ; 7af74 (1e:6f74) - dw $7de7 - dw $7068 - dw $708d - dw $70ce - dw $70df - dw $70f0 - dw $7101 - dw $7132 - dw $7173 - dw $71b4 - dw $71e5 - dw $7216 - dw $7227 - dw $7238 - dw $7259 - dw $726a - dw $727b - dw $729c - dw $72bd - dw $72ca - dw $72db - dw $72fc - dw $732d - dw $734e - dw $735f - dw $7364 - dw $736d - dw $7376 - dw $737f - dw $7388 - dw $7391 - dw $73ab - dw $73b4 - dw $73cd - dw $73fe - dw $744b - dw $745c - dw $7465 - dw $7496 - dw $74a7 - dw $74bc - dw $74d5 - dw $74e6 - dw $74f7 - dw $7500 - dw $7505 - dw $7526 - dw $7547 - dw $7558 - dw $7569 - dw $756e - dw $758b - dw $75a8 - dw $75ad - dw $75c6 - dw $75d7 - dw $75e8 - dw $75f9 - dw $760a - dw $761b - dw $7630 - dw $7649 - dw $7666 - dw $7687 - dw $76a8 - dw $76b5 - dw $76c6 - dw $76f3 - dw $7720 - dw $7731 - dw $7742 - dw $7753 - dw $7764 - dw $7775 - dw $785a - dw $786b - dw $787c - dw $788d - dw $789e - dw $78bf - dw $78f0 - dw $7911 - dw $7932 - dw $7943 - dw $7950 - dw $7961 - dw $796e - dw $7987 - dw $79ac - dw $79c9 - dw $79ce - dw $79ff - dw $7a10 - dw $7a31 - dw $7a5e - dw $7a9b - dw $7aac - dw $7acd - dw $7afe - dw $7b3f - dw $7b58 - dw $7b71 - dw $7b8a - dw $7b93 - dw $7b98 - dw $7ba9 - dw $7bae - dw $7bcf - dw $7bf0 - dw $7c11 - dw $7c1a - dw $7c2b - dw $7c3c - dw $77b6 - dw $77f7 - dw $7828 - dw $7849 - dw $739a - dw $7c4d - dw $7c6a - dw $7c7b - dw $7c80 - -INCBIN "baserom.gbc",$7b068,$7bc85 - $7b068 - -Unknown_7bc85: ; 7bc85 (1e:7c85) -INCBIN "baserom.gbc",$7bc85,$7bde9 - $7bc85 - -; known jump sources: 3adf7 (e:6df7) + INCBIN "gfx/red_fishing.2bpp" + +AttackAnimationPointers: ; 7a07d (1e:607d) + dw PoundAnim + dw KarateChopAnim + dw DoubleSlapAnim + dw CometPunchAnim + dw MegaPunchAnim + dw PayDayAnim + dw FirePunchAnim + dw IcePunchAnim + dw ThunderPunchAnim + dw ScratchAnim + dw VicegripAnim + dw GuillotineAnim + dw RazorWindAnim + dw SwordsDanceAnim + dw CutAnim + dw GustAnim + dw WingAttackAnim + dw WhirlwindAnim + dw FlyAnim + dw BindAnim + dw SlamAnim + dw VineWhipAnim + dw StompAnim + dw DoubleKickAnim + dw MegaKickAnim + dw JumpKickAnim + dw RollingKickAnim + dw SandAttackAnim + dw HeatButtAnim + dw HornAttackAnim + dw FuryAttackAnim + dw HornDrillAnim + dw TackleAnim + dw BodySlamAnim + dw WrapAnim + dw TakeDownAnim + dw ThrashAnim + dw DoubleEdgeAnim + dw TailWhipAnim + dw PoisonStingAnim + dw TwineedleAnim + dw PinMissileAnim + dw LeerAnim + dw BiteAnim + dw GrowlAnim + dw RoarAnim + dw SingAnim + dw SupersonicAnim + dw SonicBoomAnim + dw DisableAnim + dw AcidAnim + dw EmberAnim + dw FlamethrowerAnim + dw MistAnim + dw WaterGunAnim + dw HydroPumpAnim + dw SurfAnim + dw IceBeamAnim + dw BlizzardAnim + dw PsyBeamAnim + dw BubbleBeamAnim + dw AuroraBeamAnim + dw HyperBeamAnim + dw PeckAnim + dw DrillPeckAnim + dw SubmissionAnim + dw LowKickAnim + dw CounterAnim + dw SeismicTossAnim + dw StrengthAnim + dw AbsorbAnim + dw MegaDrainAnim + dw LeechSeedAnim + dw GrowthAnim + dw RazorLearAnim + dw SolarBeamAnim + dw PoisonPowderAnim + dw StunSporeAnim + dw SleepPowderAnim + dw PedalDanceAnim + dw StringShotAnim + dw DragonRageAnim + dw FireSpinAnim + dw ThunderShockAnim + dw ThunderBoldAnim + dw ThunderWaveAnim + dw ThunderAnim + dw RockThrowAnim + dw EarthquakeAnim + dw FissureAnim + dw DigAnim + dw ToxicAnim + dw ConfusionAnim + dw PsychicAnim + dw HypnosisAnim + dw MeditateAnim + dw AgilityAnim + dw QuickAttackAnim + dw RageAnim + dw TeleportAnim + dw NightShadeAnim + dw MimicAnim + dw ScreechAnim + dw DoubleTeamAnim + dw RecoverAnim + dw HardenAnim + dw MinimizeAnim + dw SmokeScreenAnim + dw ConfuseRayAnim + dw WithdrawAnim + dw DefenseCurlAnim + dw BarrierAnim + dw LightScreenAnim + dw HazeAnim + dw ReflectAnim + dw FocusEnergyAnim + dw BideAnim + dw MetronomeAnim + dw MirrorMoveAnim + dw SelfdestructAnim + dw EggBombAnim + dw LickAnim + dw SmogAnim + dw SludgeAnim + dw BoneClubAnim + dw FireBlastAnim + dw WaterfallAnim + dw ClampAnim + dw SwiftAnim + dw SkullBashAnim + dw SpikeCannonAnim + dw ConstrictAnim + dw AmnesiaAnim + dw KinesisAnim + dw SoftboiledAnim + dw HiJumpKickAnim + dw GlareAnim + dw DreamEaterAnim + dw PoisonGasAnim + dw BarrageAnim + dw LeechLifeAnim + dw LovelyKissAnim + dw SkyAttackAnim + dw TransformAnim + dw BubbleAnim + dw DizzyPunchAnim + dw SporeAnim + dw FlashAnim + dw PsywaveAnim + dw SplashAnim + dw AcidArmorAnim + dw CrabHammerAnim + dw ExplosionAnim + dw FurySwipesAnim + dw BonemerangAnim + dw RestAnim + dw RockSlideAnim + dw HyperFangAnim + dw SharpenAnim + dw ConversionAnim + dw TriAttackAnim + dw SuperFangAnim + dw SlashAnim + dw SubstituteAnim + dw StruggleAnim + dw ShowPicAnim + dw EnemyFlashAnim + dw PlayerFlashAnim + dw EnemyHUDShakeAnim + dw TradeBallDropAnim + dw TradeBallAppear1Anim + dw TradeBallAppear2Anim + dw TradeBallPoofAnim + dw XStatItemAnim + dw XStatItemAnim + dw ShrinkingSquareAnim + dw ShrinkingSquareAnim + dw XStatItemBlackAnim + dw XStatItemBlackAnim + dw ShrinkingSquareBlackAnim + dw ShrinkingSquareBlackAnim + dw UnusedAnim + dw UnusedAnim + dw ParalyzeAnim + dw ParalyzeAnim + dw PoisonAnim + dw PoisonAnim + dw SleepPlayerAnim + dw SleepEnemyAnim + dw ConfusedPlayerAnim + dw ConfusedEnemyAnim + dw FaintAnim + dw BallTossAnim + dw BallShakeAnim + dw BallPoofAnim + dw BallBlockAnim + dw GreatTossAnim + dw UltraTossAnim + dw ShakeScreenAnim + dw HidePicAnim + dw ThrowRockAnim + dw ThrowBaitAnim + dw ZigZagScreenAnim + +; each animation is a list of subanimations and special effects +; if first byte < $56 +; db tileset_and_delay, sound_id, subanimation_id +; if first byte >= $D8 +; db special_effect_id, sound_id +; $FF terminated +ZigZagScreenAnim: ; 7a213 (1e:6213) + db $D8,$FF + db $FF + +PoundAnim: ; 7a216 (1e:6216) +StruggleAnim: ; 7a216 (1e:6216) + db $08,$00,$01 + db $FF + +KarateChopAnim: ; 7a21a (1e:621a) + db $08,$01,$03 + db $FF + +DoubleSlapAnim: ; 7a21e (1e:621e) + db $05,$02,$01 + db $05,$02,$01 + db $FF + +CometPunchAnim: ; 7a225 (1e:6225) + db $04,$03,$02 + db $04,$03,$02 + db $FF + +MegaPunchAnim: ; 7a22c (1e:622c) + db $46,$04,$04 + db $FF + +PayDayAnim: ; 7a230 (1e:6230) + db $08,$00,$01 + db $04,$05,$52 + db $FF + +FirePunchAnim: ; 7a237 (1e:6237) + db $06,$06,$02 + db $46,$FF,$11 + db $FF + +IcePunchAnim: ; 7a23e (1e:623e) + db $06,$07,$02 + db $10,$FF,$2F + db $FF + +ThunderPunchAnim: ; 7a245 (1e:6245) + db $06,$08,$02 + db $FD,$FF + db $46,$FF,$2B + db $FC,$FF + db $FF + +ScratchAnim: ; 7a250 (1e:6250) + db $06,$09,$0F + db $FF + +VicegripAnim: ; 7a254 (1e:6254) + db $08,$0A,$2A + db $FF + +GuillotineAnim: ; 7a258 (1e:6258) + db $06,$0B,$2A + db $FF + +RazorWindAnim: ; 7a25c (1e:625c) + db $04,$0C,$16 + db $FF + +SwordsDanceAnim: ; 7a260 (1e:6260) + db $46,$0D,$18 + db $46,$0D,$18 + db $46,$0D,$18 + db $FF + +CutAnim: ; 7a26a (1e:626a) + db $FE,$0E + db $04,$FF,$16 + db $FF + +GustAnim: ; 7a270 (1e:6270) + db $46,$0F,$10 + db $06,$FF,$02 + db $FF + +WingAttackAnim: ; 7a277 (1e:6277) + db $46,$10,$04 + db $FF + +WhirlwindAnim: ; 7a27b (1e:627b) + db $46,$11,$10 + db $DB,$FF + db $FF + +FlyAnim: ; 7a281 (1e:6281) + db $46,$12,$04 + db $DD,$FF + db $FF + +BindAnim: ; 7a287 (1e:6287) + db $04,$13,$23 + db $04,$13,$23 + db $FF + +SlamAnim: ; 7a28e (1e:628e) + db $06,$14,$02 + db $FF + +VineWhipAnim: ; 7a292 (1e:6292) + db $01,$15,$16 + db $08,$FF,$01 + db $FF + +StompAnim: ; 7a299 (1e:6299) + db $48,$16,$05 + db $FF + +DoubleKickAnim: ; 7a29d (1e:629d) + db $08,$17,$01 + db $08,$17,$01 + db $FF + +MegaKickAnim: ; 7a2a4 (1e:62a4) + db $46,$18,$04 + db $FF + +JumpKickAnim: ; 7a2a8 (1e:62a8) + db $46,$19,$04 + db $FF + +RollingKickAnim: ; 7a2ac (1e:62ac) + db $FE,$1A + db $46,$FF,$04 + db $FF + +SandAttackAnim: ; 7a2b2 (1e:62b2) + db $46,$1B,$28 + db $FF + +HeatButtAnim: ; 7a2b6 (1e:62b6) + db $46,$1C,$05 + db $FF + +HornAttackAnim: ; 7a2ba (1e:62ba) + db $06,$1D,$45 + db $46,$FF,$05 + db $FF + +FuryAttackAnim: ; 7a2c1 (1e:62c1) + db $02,$1E,$46 + db $02,$FF,$46 + db $FF + +HornDrillAnim: ; 7a2c8 (1e:62c8) + db $42,$1F,$05 + db $42,$FF,$05 + db $42,$FF,$05 + db $42,$FF,$05 + db $42,$FF,$05 + db $FF + +TackleAnim: ; 7a2d8 (1e:62d8) + db $F2,$48 + db $F1,$FF + db $FF + +BodySlamAnim: ; 7a2dd (1e:62dd) + db $F2,$48 + db $FE,$FF + db $FE,$FF + db $F1,$FF + db $FF + +WrapAnim: ; 7a2e6 (1e:62e6) + db $04,$22,$23 + db $04,$22,$23 + db $04,$22,$23 + db $FF + +TakeDownAnim: ; 7a2f0 (1e:62f0) + db $F2,$48 + db $FE,$23 + db $F1,$FF + db $FF + +ThrashAnim: ; 7a2f7 (1e:62f7) + db $46,$24,$04 + db $FF + +DoubleEdgeAnim: ; 7a2fb (1e:62fb) + db $F0,$48 + db $06,$FF,$2D + db $FC,$FF + db $F2,$FF + db $FE,$25 + db $F1,$FF + db $FF + +TailWhipAnim: ; 7a309 (1e:6309) + db $F2,$84 + db $E1,$FF + db $F1,$84 + db $E1,$FF + db $F2,$84 + db $E1,$FF + db $F1,$84 + db $FF + +PoisonStingAnim: ; 7a318 (1e:6318) + db $06,$27,$00 + db $FF + +TwineedleAnim: ; 7a31c (1e:631c) + db $05,$28,$01 + db $05,$28,$01 + db $FF + +PinMissileAnim: ; 7a323 (1e:6323) + db $03,$29,$01 + db $FF + +LeerAnim: ; 7a327 (1e:6327) + db $FD,$48 + db $FE,$2A + db $FE,$2A + db $FC,$FF + db $FF + +BiteAnim: ; 7a330 (1e:6330) + db $08,$2B,$02 + db $FF + +GrowlAnim: ; 7a334 (1e:6334) + db $46,$2C,$12 + db $FF + +RoarAnim: ; 7a338 (1e:6338) + db $46,$2D,$15 + db $46,$2D,$15 + db $46,$2D,$15 + db $FF + +SingAnim: ; 7a342 (1e:6342) + db $46,$2E,$12 + db $50,$FF,$40 + db $50,$FF,$40 + db $FF + +SupersonicAnim: ; 7a34c (1e:634c) + db $06,$2F,$31 + db $FF + +SonicBoomAnim: ; 7a350 (1e:6350) + db $46,$2D,$15 + db $46,$2D,$15 + db $46,$0F,$10 + db $46,$FF,$05 + db $FF + +DisableAnim: ; 7a35d (1e:635d) + db $FD,$48 + db $FE,$2A + db $FE,$2A + db $FC,$FF + db $FF + +AcidAnim: ; 7a366 (1e:6366) + db $46,$32,$13 + db $46,$32,$14 + db $FF + +EmberAnim: ; 7a36d (1e:636d) + db $46,$33,$11 + db $FF + +FlamethrowerAnim: ; 7a371 (1e:6371) + db $46,$34,$1F + db $46,$34,$0C + db $46,$34,$0D + db $FF + +MistAnim: ; 7a37b (1e:637b) + db $F0,$FF + db $FA,$38 + db $FC,$FF + db $FF + +WaterGunAnim: ; 7a382 (1e:6382) + db $06,$36,$2C + db $FF + +HydroPumpAnim: ; 7a386 (1e:6386) + db $06,$37,$1A + db $06,$37,$1A + db $FF + +SurfAnim: ; 7a38d (1e:638d) + db $FA,$38 + db $06,$37,$1A + db $FF + +IceBeamAnim: ; 7a393 (1e:6393) + db $03,$39,$2E + db $10,$FF,$2F + db $FF + +BlizzardAnim: ; 7a39a (1e:639a) + db $04,$3A,$38 + db $04,$37,$38 + db $FF + +PsyBeamAnim: ; 7a3a1 (1e:63a1) + db $03,$3B,$2E + db $F8,$FF + db $FF + +BubbleBeamAnim: ; 7a3a7 (1e:63a7) + db $12,$3C,$35 + db $FF + +AuroraBeamAnim: ; 7a3ab (1e:63ab) + db $03,$3D,$2E + db $E1,$FF + db $E1,$FF + db $FF + +HyperBeamAnim: ; 7a3b3 (1e:63b3) + db $FD,$48 + db $E2,$FF + db $02,$3E,$2E + db $FE,$FF + db $FE,$FF + db $46,$04,$04 + db $FC,$FF + db $FF + +PeckAnim: ; 7a3c4 (1e:63c4) + db $08,$3F,$01 + db $FF + +DrillPeckAnim: ; 7a3c8 (1e:63c8) + db $46,$40,$04 + db $FF + +SubmissionAnim: ; 7a3cc (1e:63cc) + db $F4,$41 + db $06,$FF,$01 + db $DD,$FF + db $FF + +LowKickAnim: ; 7a3d4 (1e:63d4) + db $F4,$42 + db $46,$FF,$04 + db $DD,$FF + db $FF + +CounterAnim: ; 7a3dc (1e:63dc) + db $F4,$43 + db $46,$FF,$04 + db $DD,$FF + db $FF + +SeismicTossAnim: ; 7a3e4 (1e:63e4) + db $DE,$FF + db $41,$8B,$4E + db $DF,$FF + db $F4,$FF + db $42,$44,$4F + db $E1,$FF + db $E1,$FF + db $DD,$FF + db $41,$44,$50 + db $DC,$FF + db $FB,$FF + db $FF + +StrengthAnim: ; 7a3fe (1e:63fe) + db $F2,$48 + db $F1,$FF + db $46,$06,$04 + db $FF + +AbsorbAnim: ; 7a406 (1e:6406) + db $F0,$46 + db $06,$FF,$21 + db $06,$FF,$22 + db $FC,$FF + db $FF + +MegaDrainAnim: ; 7a411 (1e:6411) + db $F0,$47 + db $FE,$FF + db $06,$FF,$21 + db $06,$FF,$22 + db $FE,$FF + db $FC,$FF + db $FF + +LeechSeedAnim: ; 7a420 (1e:6420) + db $46,$48,$1B + db $55,$4D,$1C + db $FF + +GrowthAnim: ; 7a427 (1e:6427) + db $F0,$49 + db $E2,$FF + db $FC,$FF + db $FF + +RazorLearAnim: ; 7a42e (1e:642e) + db $E7,$4A + db $41,$80,$44 + db $01,$0C,$16 + db $FF + +SolarBeamAnim: ; 7a437 (1e:6437) + db $06,$4B,$2E + db $06,$FF,$01 + db $FF + +PoisonPowderAnim: ; 7a43e (1e:643e) + db $06,$4C,$36 + db $FF + +StunSporeAnim: ; 7a442 (1e:6442) + db $06,$4D,$36 + db $FF + +SleepPowderAnim: ; 7a446 (1e:6446) + db $06,$4E,$36 + db $FF + +PedalDanceAnim: ; 7a44a (1e:644a) + db $F0,$4F + db $E6,$FF + db $FC,$FF + db $FF + +StringShotAnim: ; 7a451 (1e:6451) + db $08,$50,$37 + db $FF + +DragonRageAnim: ; 7a455 (1e:6455) + db $46,$51,$1F + db $46,$FF,$0C + db $46,$FF,$0D + db $46,$FF,$0E + db $FF + +FireSpinAnim: ; 7a462 (1e:6462) + db $46,$52,$0C + db $46,$FF,$0D + db $46,$FF,$0E + db $FF + +ThunderShockAnim: ; 7a46c (1e:646c) + db $42,$53,$29 + db $FF + +ThunderBoldAnim: ; 7a470 (1e:6470) + db $41,$54,$29 + db $41,$54,$29 + db $FF + +ThunderWaveAnim: ; 7a477 (1e:6477) + db $42,$55,$29 + db $02,$FF,$23 + db $04,$FF,$23 + db $FF + +ThunderAnim: ; 7a481 (1e:6481) + db $FD,$56 + db $FE,$FF + db $46,$FF,$2B + db $FE,$FF + db $42,$54,$29 + db $FC,$FF + db $FF + +RockThrowAnim: ; 7a490 (1e:6490) + db $04,$57,$30 + db $FF + +EarthquakeAnim: ; 7a494 (1e:6494) + db $FB,$58 + db $FB,$58 + db $FF + +FissureAnim: ; 7a499 (1e:6499) + db $FE,$59 + db $FB,$FF + db $FE,$59 + db $FB,$FF + db $FF + +DigAnim: ; 7a4a2 (1e:64a2) + db $46,$5A,$04 + db $F7,$FF + db $FF + +ToxicAnim: ; 7a4a8 (1e:64a8) + db $FA,$38 + db $46,$5B,$14 + db $FF + +ConfusionAnim: ; 7a4ae (1e:64ae) + db $F8,$5C + db $FF + +PsychicAnim: ; 7a4b1 (1e:64b1) + db $F8,$5D + db $D8,$FF + db $FF + +HypnosisAnim: ; 7a4b6 (1e:64b6) + db $F8,$5E + db $FF + +MeditateAnim: ; 7a4b9 (1e:64b9) + db $F0,$5F + db $46,$FF,$43 + db $FE,$FF + db $FC,$FF + db $FF + +AgilityAnim: ; 7a4c3 (1e:64c3) + db $F0,$60 + db $FC,$FF + db $FF + +QuickAttackAnim: ; 7a4c8 (1e:64c8) + db $F4,$61 + db $46,$FF,$04 + db $DD,$FF + db $FF + +RageAnim: ; 7a4d0 (1e:64d0) + db $06,$62,$01 + db $FF + +TeleportAnim: ; 7a4d4 (1e:64d4) + db $EE,$63 + db $ED,$FF + db $FF + +NightShadeAnim: ; 7a4d9 (1e:64d9) + db $F8,$5C + db $D8,$FF + db $FF + +MimicAnim: ; 7a4de (1e:64de) + db $46,$65,$21 + db $46,$65,$22 + db $FF + +ScreechAnim: ; 7a4e5 (1e:64e5) + db $46,$66,$12 + db $FF + +DoubleTeamAnim: ; 7a4e9 (1e:64e9) + db $FD,$FF + db $E1,$FF + db $E1,$FF + db $FE,$FF + db $FE,$FF + db $FC,$FF + db $DA,$67 + db $DD,$FF + db $46,$6F,$33 + db $FF + +RecoverAnim: ; 7a4fd (1e:64fd) + db $F3,$68 + db $F0,$FF + db $E2,$FF + db $FC,$FF + db $FF + +HardenAnim: ; 7a506 (1e:6506) + db $F0,$69 + db $46,$FF,$43 + db $FE,$FF + db $FC,$FF + db $FF + +MinimizeAnim: ; 7a510 (1e:6510) + db $F0,$6A + db $E2,$FF + db $EA,$FF + db $FC,$FF + db $FF + +SmokeScreenAnim: ; 7a519 (1e:6519) + db $46,$6B,$28 + db $04,$FF,$0A + db $F9,$FF + db $E1,$FF + db $E1,$FF + db $FD,$FF + db $E1,$FF + db $E1,$FF + db $E1,$FF + db $E1,$FF + db $E1,$FF + db $E1,$FF + db $F9,$FF + db $E1,$FF + db $FC,$FF + db $FF + +ConfuseRayAnim: ; 7a53a (1e:653a) + db $FD,$6C + db $46,$FF,$3E + db $FC,$FF + db $FF + +WithdrawAnim: ; 7a542 (1e:6542) + db $F0,$6E + db $F6,$FF + db $06,$FF,$51 + db $FC,$FF + db $DD,$FF + db $FF + +DefenseCurlAnim: ; 7a54e (1e:654e) + db $F0,$6E + db $06,$FF,$43 + db $FE,$FF + db $FC,$FF + db $FF + +BarrierAnim: ; 7a558 (1e:6558) + db $46,$6F,$33 + db $46,$6F,$33 + db $FF + +LightScreenAnim: ; 7a55f (1e:655f) + db $F0,$FF + db $46,$70,$33 + db $46,$70,$33 + db $FC,$FF + db $FF + +HazeAnim: ; 7a56a (1e:656a) + db $F9,$FF + db $FA,$38 + db $FC,$FF + db $FF + +ReflectAnim: ; 7a571 (1e:6571) + db $FD,$FF + db $46,$72,$33 + db $46,$72,$33 + db $FC,$FF + db $FF + +FocusEnergyAnim: ; 7a57c (1e:657c) + db $E2,$73 + db $FF + +BideAnim: ; 7a57f (1e:657f) + db $46,$74,$04 + db $FF + +MetronomeAnim: ; 7a583 (1e:6583) + db $F2,$84 + db $E1,$FF + db $F1,$84 + db $E1,$FF + db $F2,$84 + db $E1,$FF + db $F1,$84 + db $FF + +MirrorMoveAnim: ; 7a592 (1e:6592) + db $08,$76,$01 + db $FF + +SelfdestructAnim: ; 7a596 (1e:6596) + db $43,$77,$34 + db $FF + +EggBombAnim: ; 7a59a (1e:659a) + db $44,$78,$41 + db $44,$78,$42 + db $FF + +LickAnim: ; 7a5a1 (1e:65a1) + db $46,$7B,$14 + db $FF + +SmogAnim: ; 7a5a5 (1e:65a5) + db $F9,$48 + db $46,$7A,$19 + db $FC,$FF + db $FF + +SludgeAnim: ; 7a5ad (1e:65ad) + db $46,$7B,$13 + db $46,$7B,$14 + db $FF + +BoneClubAnim: ; 7a5b4 (1e:65b4) + db $08,$7C,$02 + db $FF + +FireBlastAnim: ; 7a5b8 (1e:65b8) + db $46,$7D,$1F + db $46,$FF,$20 + db $46,$FF,$20 + db $46,$FF,$0C + db $46,$FF,$0D + db $FF + +WaterfallAnim: ; 7a5c8 (1e:65c8) + db $F6,$48 + db $06,$37,$1A + db $08,$FF,$02 + db $F7,$FF + db $FF + +ClampAnim: ; 7a5d3 (1e:65d3) + db $08,$7F,$2A + db $06,$83,$23 + db $06,$83,$23 + db $FF + +SwiftAnim: ; 7a5dd (1e:65dd) + db $43,$80,$3F + db $FF + +SkullBashAnim: ; 7a5e1 (1e:65e1) + db $46,$81,$05 + db $FF + +SpikeCannonAnim: ; 7a5e5 (1e:65e5) + db $44,$82,$04 + db $FF + +ConstrictAnim: ; 7a5e9 (1e:65e9) + db $06,$83,$23 + db $06,$83,$23 + db $06,$83,$23 + db $FF + +AmnesiaAnim: ; 7a5f3 (1e:65f3) + db $08,$84,$25 + db $08,$84,$25 + db $FF + +KinesisAnim: ; 7a5fa (1e:65fa) + db $08,$85,$01 + db $FF + +SoftboiledAnim: ; 7a5fe (1e:65fe) + db $E5,$48 + db $08,$86,$4C + db $F0,$FF + db $E2,$FF + db $FC,$FF + db $DD,$FF + db $FF + +HiJumpKickAnim: ; 7a6 (1e:660c) + db $46,$87,$04 + db $FF + +GlareAnim: ; 7a610 (1e:6610) + db $FD,$48 + db $FE,$88 + db $FE,$FF + db $FC,$FF + db $FF + +DreamEaterAnim: ; 7a619 (1e:6619) + db $F8,$89 + db $FD,$89 + db $08,$89,$02 + db $FC,$FF + db $FF + +PoisonGasAnim: ; 7a623 (1e:6623) + db $46,$8A,$19 + db $FF + +BarrageAnim: ; 7a627 (1e:6627) + db $43,$8B,$41 + db $05,$FF,$55 + db $FF + +LeechLifeAnim: ; 7a62e (1e:662e) + db $08,$8C,$02 + db $FE,$FF + db $06,$FF,$21 + db $06,$FF,$22 + db $FE,$FF + db $FF + +LovelyKissAnim: ; 7a63c (1e:663c) + db $06,$8D,$12 + db $FF + +SkyAttackAnim: ; 7a640 (1e:6640) + db $EE,$8E + db $ED,$FF + db $46,$87,$04 + db $DD,$FF + db $FF + +TransformAnim: ; 7a64a (1e:664a) + db $46,$8F,$21 + db $44,$8F,$22 + db $08,$FF,$47 + db $E8,$FF + db $FF + +BubbleAnim: ; 7a656 (1e:6656) + db $16,$90,$35 + db $FF + +DizzyPunchAnim: ; 7a65a (1e:665a) + db $06,$91,$17 + db $06,$91,$17 + db $06,$91,$17 + db $06,$02,$02 + db $FF + +SporeAnim: ; 7a667 (1e:6667) + db $06,$92,$36 + db $FF + +FlashAnim: ; 7a66b (1e:666b) + db $F0,$48 + db $FE,$88 + db $FE,$FF + db $FC,$FF + db $FF + +PsywaveAnim: ; 7a674 (1e:6674) + db $06,$2F,$31 + db $D8,$5C + db $FF + +SplashAnim: ; 7a67a (1e:667a) + db $EB,$95 + db $FF + +AcidArmorAnim: ; 7a67d (1e:667d) + db $E9,$96 + db $FF + +CrabHammerAnim: ; 7a680 (1e:6680) + db $46,$97,$05 + db $06,$FF,$2A + db $FF + +ExplosionAnim: ; 7a687 (1e:6687) + db $43,$98,$34 + db $FF + +FurySwipesAnim: ; 7a68b (1e:668b) + db $04,$99,$0F + db $FF + +BonemerangAnim: ; 7a68f (1e:668f) + db $06,$9A,$02 + db $FF + +RestAnim: ; 7a693 (1e:6693) + db $10,$9B,$3A + db $10,$9B,$3A + db $FF + +RockSlideAnim: ; 7a69a (1e:669a) + db $04,$9C,$1D + db $03,$9C,$1E + db $46,$9D,$04 + db $FF + +HyperFangAnim: ; 7a6a4 (1e:66a4) + db $06,$9D,$02 + db $FF + +SharpenAnim: ; 7a6a8 (1e:66a8) + db $F0,$9E + db $46,$FF,$43 + db $FE,$FF + db $FC,$FF + db $FF + +ConversionAnim: ; 7a6b2 (1e:66b2) + db $FE,$9F + db $46,$FF,$21 + db $46,$FF,$22 + db $FE,$FF + db $FF + +TriAttackAnim: ; 7a6bd (1e:66bd) + db $FE,$A0 + db $46,$FF,$4D + db $FE,$FF + db $FF + +SuperFangAnim: ; 7a6c5 (1e:66c5) + db $FD,$48 + db $46,$A1,$04 + db $FC,$FF + db $FF + +SlashAnim: ; 7a6cd (1e:66cd) + db $06,$A2,$0F + db $FF + +SubstituteAnim: ; 7a6d1 (1e:66d1) + db $F4,$A3 + db $08,$FF,$47 + db $D9,$FF + db $FF + +BallTossAnim: ; 7a6d9 (1e:66d9) + db $03,$FF,$06 + db $FF + +GreatTossAnim: ; 7a6dd (1e:66dd) + db $03,$FF,$07 + db $FF + +UltraTossAnim: ; 7a6e1 (1e:66e1) + db $02,$FF,$08 + db $FF + +BallShakeAnim: ; 7a6e5 (1e:66e5) + db $04,$FF,$09 + db $FF + +BallPoofAnim: ; 7a6e9 (1e:66e9) + db $04,$FF,$0A + db $FF + +ShowPicAnim: ; 7a6ed (1e:66ed) + db $DC,$FF + db $FF + +HidePicAnim: ; 7a6f0 (1e:66f0) + db $DF,$FF + db $FF + +EnemyFlashAnim: ; 7a6f3 (1e:66f3) + db $DD,$FF + db $FF + +PlayerFlashAnim: ; 7a6f6 (1e:66f6) + db $F5,$FF + db $FF + +EnemyHUDShakeAnim: ; 7a6f9 (1e:66f9) + db $E4,$FF + db $FF + +TradeBallDropAnim: ; 7a6fc (1e:66fc) + db $86,$FF,$48 + db $FF + +TradeBallAppear1Anim: ; 7a700 (1e:6700) + db $84,$FF,$49 + db $FF + +TradeBallAppear2Anim: ; 7a704 (1e:6704) + db $86,$FF,$4A + db $FF + +TradeBallPoofAnim: ; 7a708 (1e:6708) + db $86,$FF,$4B + db $FF + +XStatItemAnim: ; 7a7c0 (1e:670c) + db $F0,$FF + db $E2,$FF + db $FC,$FF + db $FF + +ShrinkingSquareAnim: ; 7a713 (1e:6713) + db $F0,$FF + db $46,$FF,$43 + db $FC,$FF + db $FF + +XStatItemBlackAnim: ; 7a71b (1e:671b) + db $F9,$FF + db $E2,$FF + db $FC,$FF + db $FF + +ShrinkingSquareBlackAnim: ; 7a722 (1e:6722) + db $F9,$FF + db $46,$FF,$43 + db $FC,$FF + db $FF + +UnusedAnim: ; 7a72a (1e:672a) + db $F0,$FF + db $EC,$FF + db $FC,$FF + db $FF + +ParalyzeAnim: ; 7a731 (1e:6731) + db $04,$13,$24 + db $04,$13,$24 + db $FF + +PoisonAnim: ; 7a738 (1e:6738) + db $08,$13,$27 + db $08,$13,$27 + db $FF + +SleepPlayerAnim: ; 7a73f (1e:673f) + db $10,$9B,$3A + db $10,$9B,$3A + db $FF + +SleepEnemyAnim: ; 7a746 (1e:6746) + db $10,$9B,$3B + db $10,$9B,$3B + db $FF + +ConfusedPlayerAnim: ; 7a74d (1e:674d) + db $08,$84,$25 + db $08,$84,$25 + db $FF + +ConfusedEnemyAnim: ; 7a754 (1e:6754) + db $08,$84,$26 + db $08,$84,$26 + db $FF + +BallBlockAnim: ; 7a75b (1e:675b) + db $03,$FF,$0B + db $FF + +FaintAnim: ; 7a75f (1e:675f) + db $F6,$5A + db $FF + +ShakeScreenAnim: ; 7a762 (1e:6762) + db $FB,$FF + db $FF + +ThrowRockAnim: ; 7a765 (1e:6765) + db $03,$8B,$53 + db $FF + +ThrowBaitAnim: ; 7a769 (1e:6769) + db $03,$8B,$54 + db $FF + +SubanimationPointers: ; 7a76d (1e:676d) + dw Subanimation00 + dw Subanimation01 + dw Subanimation02 + dw Subanimation03 + dw Subanimation04 + dw Subanimation05 + dw Subanimation06 + dw Subanimation07 + dw Subanimation08 + dw Subanimation09 + dw Subanimation0a + dw Subanimation0b + dw Subanimation0c + dw Subanimation0d + dw Subanimation0e + dw Subanimation0f + dw Subanimation10 + dw Subanimation11 + dw Subanimation12 + dw Subanimation13 + dw Subanimation14 + dw Subanimation15 + dw Subanimation16 + dw Subanimation17 + dw Subanimation18 + dw Subanimation19 + dw Subanimation1a + dw Subanimation1b + dw Subanimation1c + dw Subanimation1d + dw Subanimation1e + dw Subanimation1f + dw Subanimation20 + dw Subanimation21 + dw Subanimation22 + dw Subanimation23 + dw Subanimation24 + dw Subanimation25 + dw Subanimation26 + dw Subanimation27 + dw Subanimation28 + dw Subanimation29 + dw Subanimation2a + dw Subanimation2b + dw Subanimation2c + dw Subanimation2d + dw Subanimation2e + dw Subanimation2f + dw Subanimation30 + dw Subanimation31 + dw Subanimation32 + dw Subanimation33 + dw Subanimation34 + dw Subanimation35 + dw Subanimation36 + dw Subanimation37 + dw Subanimation38 + dw Subanimation39 + dw Subanimation3a + dw Subanimation3b + dw Subanimation3c + dw Subanimation3d + dw Subanimation3e + dw Subanimation3f + dw Subanimation40 + dw Subanimation41 + dw Subanimation42 + dw Subanimation43 + dw Subanimation44 + dw Subanimation45 + dw Subanimation46 + dw Subanimation47 + dw Subanimation48 + dw Subanimation49 + dw Subanimation4a + dw Subanimation4b + dw Subanimation4c + dw Subanimation4d + dw Subanimation4e + dw Subanimation4f + dw Subanimation50 + dw Subanimation51 + dw Subanimation52 + dw Subanimation53 + dw Subanimation54 + dw Subanimation55 + +Subanimation04: ; 7a819 (1e:6819) + db $43 + db $02,$1a,$00 + db $02,$10,$00 + db $02,$03,$00 + +Subanimation05: ; 7a823 (1e:6823) + db $41 + db $02,$10,$00 + +Subanimation08: ; 7a827 (1e:6827) + db $0b + db $03,$30,$00 + db $03,$44,$00 + db $03,$94,$00 + db $03,$60,$00 + db $03,$76,$00 + db $03,$9f,$00 + db $03,$8d,$00 + db $03,$a0,$00 + db $03,$1a,$00 + db $03,$a1,$00 + db $03,$34,$00 + +Subanimation07: ; 7a849 (1e:6849) + db $0b + db $03,$30,$00 + db $03,$a2,$00 + db $03,$31,$00 + db $03,$a3,$00 + db $03,$32,$00 + db $03,$a4,$00 + db $03,$92,$00 + db $03,$a5,$00 + db $03,$15,$00 + db $03,$a6,$00 + db $03,$34,$00 + +Subanimation06: ; 7a86b (1e:686b) + db $0b + db $03,$30,$00 + db $03,$a2,$00 + db $03,$93,$00 + db $03,$61,$00 + db $03,$73,$00 + db $03,$a7,$00 + db $03,$33,$00 + db $03,$a8,$00 + db $03,$0e,$00 + db $03,$a9,$00 + db $03,$34,$00 + +Subanimation09: ; 7a88d (1e:688d) + db $04 + db $03,$21,$04 + db $04,$21,$04 + db $03,$21,$04 + db $05,$21,$04 + +Subanimation0a: ; 7a89a (1e:689a) + db $46 + db $06,$1b,$00 + db $07,$1b,$00 + db $08,$36,$00 + db $09,$36,$00 + db $0a,$15,$00 + db $0a,$15,$00 + +Subanimation0b: ; 7a8ad (1e:68ad) + db $04 + db $01,$2d,$00 + db $03,$2f,$00 + db $03,$35,$00 + db $03,$4d,$00 + +Subanimation55: ; 7a8ba (1e:68ba) + db $41 + db $01,$9d,$00 + +Subanimation11: ; 7a8be (1e:68be) + db $4c + db $0b,$26,$00 + db $0c,$26,$00 + db $0b,$26,$00 + db $0c,$26,$00 + db $0b,$28,$00 + db $0c,$28,$00 + db $0b,$28,$00 + db $0c,$28,$00 + db $0b,$27,$00 + db $0c,$27,$00 + db $0b,$27,$00 + db $0c,$27,$00 + +Subanimation2b: ; 7a8e3 (1e:68e3) + db $4b + db $0d,$03,$03 + db $0e,$03,$03 + db $0f,$03,$00 + db $0d,$11,$00 + db $0d,$11,$00 + db $0d,$37,$00 + db $0d,$37,$00 + db $10,$21,$00 + db $10,$21,$00 + db $11,$1b,$00 + db $11,$1b,$00 + +Subanimation2c: ; 7a905 (1e:6905) + db $4c + db $12,$01,$00 + db $12,$0f,$00 + db $12,$1b,$00 + db $12,$25,$00 + db $13,$38,$00 + db $13,$38,$02 + db $14,$38,$00 + db $14,$38,$02 + db $15,$38,$00 + db $15,$38,$00 + db $16,$38,$00 + db $16,$38,$00 + +Subanimation12: ; 7a92a (1e:692a) + db $69 + db $17,$30,$00 + db $17,$39,$00 + db $17,$3a,$00 + db $17,$3b,$00 + db $17,$3c,$00 + db $17,$3d,$00 + db $17,$3e,$00 + db $17,$3f,$00 + db $17,$1f,$00 + +Subanimation00: ; 7a946 (1e:6946) + db $41 + db $01,$17,$00 + +Subanimation01: ; 7a94a (1e:694a) + db $42 + db $01,$0f,$00 + db $01,$1d,$00 + +Subanimation02: ; 7a951 (1e:6951) + db $43 + db $01,$12,$00 + db $01,$15,$00 + db $01,$1c,$00 + +Subanimation03: ; 7a95b (1e:695b) + db $44 + db $01,$0b,$00 + db $01,$11,$00 + db $01,$18,$00 + db $01,$1d,$00 + +Subanimation0c: ; 7a968 (1e:6968) + db $43 + db $0c,$20,$00 + db $0c,$21,$00 + db $0c,$23,$00 + +Subanimation0d: ; 7a972 (1e:6972) + db $46 + db $0c,$20,$02 + db $0c,$15,$00 + db $0c,$21,$02 + db $0c,$17,$00 + db $0c,$23,$02 + db $0c,$19,$00 + +Subanimation0e: ; 7a985 (1e:6985) + db $49 + db $0c,$20,$02 + db $0c,$15,$02 + db $0c,$07,$00 + db $0c,$21,$02 + db $0c,$17,$02 + db $0c,$09,$00 + db $0c,$23,$02 + db $0c,$19,$02 + db $0c,$0c,$00 + +Subanimation1f: ; 7a9a1 (1e:69a1) + db $85 + db $0c,$30,$03 + db $0c,$40,$03 + db $0c,$41,$03 + db $0c,$42,$03 + db $0c,$21,$00 + +Subanimation2e: ; 7a9b1 (1e:69b1) + db $2e + db $18,$43,$02 + db $75,$52,$04 + db $19,$43,$02 + db $75,$63,$04 + db $1a,$43,$02 + db $75,$4d,$04 + db $1b,$43,$02 + db $75,$97,$04 + db $1c,$43,$02 + db $75,$98,$04 + db $1d,$43,$02 + db $75,$58,$04 + db $1e,$43,$02 + db $75,$1b,$00 + +Subanimation2f: ; 7a9dc (1e:69dc) + db $44 + db $1f,$24,$00 + db $20,$20,$00 + db $21,$1a,$00 + db $22,$15,$00 + +Subanimation30: ; 7a9e9 (1e:69e9) + db $52 + db $23,$00,$02 + db $23,$02,$02 + db $23,$04,$00 + db $23,$07,$02 + db $23,$02,$02 + db $23,$04,$00 + db $23,$0e,$02 + db $23,$02,$02 + db $23,$0c,$00 + db $25,$07,$00 + db $25,$0e,$00 + db $25,$15,$00 + db $24,$24,$02 + db $23,$1c,$02 + db $23,$23,$00 + db $23,$21,$02 + db $24,$28,$00 + db $24,$28,$00 + +Subanimation0f: ; 7aa20 (1e:6a20) + db $4c + db $26,$0e,$02 + db $26,$16,$02 + db $26,$1c,$00 + db $27,$0e,$02 + db $27,$16,$02 + db $27,$1c,$00 + db $28,$0e,$02 + db $28,$16,$02 + db $28,$1c,$00 + db $29,$0e,$02 + db $29,$16,$02 + db $29,$1c,$00 + +Subanimation16: ; 7aa45 (1e:6a45) + db $4c + db $2a,$05,$00 + db $2b,$05,$02 + db $2b,$0c,$02 + db $2a,$11,$04 + db $2b,$11,$02 + db $2b,$17,$02 + db $2a,$1b,$04 + db $2b,$1b,$02 + db $2b,$20,$02 + db $2a,$2f,$04 + db $2c,$00,$02 + db $2c,$00,$00 + +Subanimation10: ; 7aa6a (1e:6a6a) + db $88 + db $2d,$44,$00 + db $2e,$45,$00 + db $2d,$46,$00 + db $2e,$47,$00 + db $2d,$48,$00 + db $2e,$49,$00 + db $2d,$2f,$00 + db $2e,$1a,$00 + +Subanimation31: ; 7aa83 (1e:6a83) + db $2a + db $2f,$46,$00 + db $2f,$4a,$00 + db $2f,$4b,$00 + db $2f,$4c,$00 + db $2f,$4d,$00 + db $2f,$4e,$00 + db $2f,$4f,$00 + db $2f,$50,$00 + db $2f,$2e,$00 + db $2f,$51,$00 + +Subanimation13: ; 7aaa2 (1e:6aa2) + db $86 + db $30,$31,$00 + db $30,$32,$00 + db $30,$92,$00 + db $30,$0e,$00 + db $30,$0f,$00 + db $30,$10,$00 + +Subanimation14: ; 7aab5 (1e:6ab5) + db $49 + db $30,$10,$00 + db $30,$10,$03 + db $31,$1c,$04 + db $31,$21,$04 + db $31,$26,$00 + db $30,$10,$02 + db $31,$1d,$04 + db $31,$22,$04 + db $31,$27,$00 + +Subanimation41: ; 7aad1 (1e:6ad1) + db $85 + db $03,$31,$00 + db $03,$32,$00 + db $03,$92,$00 + db $03,$0e,$00 + db $03,$10,$00 + +Subanimation42: ; 7aae1 (1e:6ae1) + db $43 + db $48,$08,$00 + db $49,$08,$00 + db $5a,$08,$00 + +Subanimation15: ; 7aaeb (1e:6aeb) + db $22 + db $35,$52,$00 + db $35,$53,$00 + +Subanimation17: ; 7aaf2 (1e:6af2) + db $44 + db $36,$54,$00 + db $36,$55,$00 + db $37,$56,$00 + db $37,$57,$00 + +Subanimation18: ; 7aaff (1e:6aff) + db $a4 + db $36,$54,$00 + db $36,$55,$00 + db $37,$56,$00 + db $37,$57,$00 + +Subanimation40: ; 7ab0c (1e:6b0c) + db $46 + db $17,$54,$00 + db $17,$55,$00 + db $17,$0e,$00 + db $17,$56,$00 + db $17,$57,$00 + db $17,$13,$00 + +Subanimation19: ; 7ab1f (1e:6b1f) + db $8c + db $38,$31,$00 + db $39,$31,$00 + db $38,$32,$00 + db $39,$32,$00 + db $38,$92,$00 + db $39,$92,$00 + db $38,$0e,$00 + db $39,$0e,$00 + db $38,$0f,$00 + db $39,$0f,$00 + db $38,$10,$00 + db $39,$10,$00 + +Subanimation1a: ; 7ab44 (1e:6b44) + db $50 + db $3a,$08,$00 + db $3b,$08,$00 + db $3c,$08,$00 + db $3d,$08,$00 + db $3e,$08,$00 + db $3f,$08,$00 + db $3e,$08,$00 + db $3f,$08,$00 + db $3a,$0b,$00 + db $3b,$0b,$00 + db $3c,$0b,$00 + db $3d,$0b,$00 + db $3e,$0b,$00 + db $3f,$0b,$00 + db $3e,$0b,$00 + db $3f,$0b,$00 + +Subanimation1b: ; 7ab75 (1e:6b75) + db $84 + db $40,$31,$00 + db $40,$32,$00 + db $40,$92,$00 + db $40,$15,$00 + +Subanimation1c: ; 7ab82 (1e:6b82) + db $43 + db $41,$58,$00 + db $41,$59,$00 + db $41,$21,$00 + +Subanimation1d: ; 7ab8c (1e:6b8c) + db $af + db $24,$9a,$00 + db $23,$1b,$02 + db $24,$22,$00 + db $23,$16,$02 + db $23,$1d,$02 + db $24,$98,$00 + db $25,$2c,$04 + db $25,$2a,$04 + db $25,$99,$04 + db $25,$62,$04 + db $25,$99,$04 + db $25,$62,$04 + db $25,$99,$04 + db $25,$62,$04 + db $25,$99,$03 + +Subanimation1e: ; 7abba (1e:6bba) + db $01 + db $25,$75,$00 + +Subanimation20: ; 7abbe (1e:6bbe) + db $42 + db $42,$07,$00 + db $43,$07,$00 + +Subanimation21: ; 7abc5 (1e:6bc5) + db $43 + db $44,$00,$00 + db $45,$08,$00 + db $46,$10,$02 + +Subanimation22: ; 7abcf (1e:6bcf) + db $8b + db $47,$10,$00 + db $47,$56,$00 + db $47,$07,$00 + db $47,$aa,$00 + db $47,$ab,$00 + db $47,$ac,$00 + db $47,$ad,$00 + db $47,$ae,$00 + db $47,$af,$00 + db $47,$89,$00 + db $47,$b0,$00 + +Subanimation2d: ; 7abf1 (1e:6bf1) + db $66 + db $44,$64,$00 + db $45,$65,$00 + db $46,$66,$00 + db $47,$66,$00 + db $47,$66,$00 + db $47,$66,$00 + +Subanimation39: ; 7ac04 (1e:6c04) + db $61 + db $47,$67,$00 + +Subanimation4e: ; 7ac08 (1e:6c08) + db $41 + db $71,$0f,$03 + +Subanimation4f: ; 7ac0c (1e:6c0c) + db $47 + db $71,$0f,$00 + db $71,$08,$00 + db $71,$01,$00 + db $71,$95,$00 + db $72,$95,$00 + db $73,$95,$00 + db $74,$95,$00 + +Subanimation50: ; 7ac22 (1e:6c22) + db $48 + db $74,$95,$00 + db $73,$95,$00 + db $72,$95,$00 + db $71,$95,$00 + db $71,$01,$00 + db $71,$08,$00 + db $71,$0f,$00 + db $71,$16,$00 + +Subanimation29: ; 7ac3b (1e:6c3b) + db $5d + db $48,$0f,$00 + db $4a,$68,$03 + db $4b,$2a,$03 + db $49,$0f,$00 + db $4a,$68,$03 + db $4b,$2a,$00 + db $4c,$6a,$03 + db $4d,$69,$03 + db $49,$6b,$00 + db $4c,$6a,$03 + db $4d,$69,$00 + db $4a,$68,$03 + db $4b,$2a,$03 + db $49,$6c,$00 + db $4a,$68,$03 + db $4b,$2a,$00 + db $4c,$6a,$03 + db $4d,$69,$03 + db $49,$6d,$00 + db $4c,$6a,$03 + db $4d,$2a,$00 + db $4a,$68,$03 + db $4b,$2a,$03 + db $49,$0f,$00 + db $4a,$68,$03 + db $4b,$2a,$00 + db $4c,$6a,$03 + db $4d,$2a,$03 + db $49,$6b,$00 + +Subanimation2a: ; 7ac93 (1e:6c93) + db $44 + db $4e,$2b,$00 + db $4f,$2b,$00 + db $50,$2b,$00 + db $50,$2b,$00 + +Subanimation23: ; 7aca0 (1e:6ca0) + db $42 + db $51,$2d,$00 + db $51,$6e,$00 + +Subanimation24: ; 7aca7 (1e:6ca7) + db $a2 + db $51,$2d,$00 + db $51,$6e,$00 + +Subanimation25: ; 7acae (1e:6cae) + db $62 + db $52,$71,$00 + db $52,$72,$00 + +Subanimation26: ; 7acb5 (1e:6cb5) + db $02 + db $52,$01,$00 + db $52,$2c,$00 + +Subanimation3a: ; 7acbc (1e:6cbc) + db $63 + db $53,$71,$00 + db $53,$7f,$00 + db $53,$81,$00 + +Subanimation3b: ; 7acc6 (1e:6cc6) + db $03 + db $53,$01,$00 + db $53,$15,$00 + db $53,$2c,$00 + +Subanimation27: ; 7acd0 (1e:6cd0) + db $a2 + db $54,$01,$00 + db $54,$2c,$00 + +Subanimation28: ; 7acd7 (1e:6cd7) + db $23 + db $55,$73,$03 + db $56,$73,$03 + db $57,$73,$00 + +Subanimation32: ; 7ace1 (1e:6ce1) + db $63 + db $47,$74,$00 + db $47,$43,$00 + db $47,$75,$00 + +Subanimation33: ; 7aceb (1e:6ceb) + db $26 + db $58,$76,$00 + db $34,$76,$00 + db $58,$76,$00 + db $34,$76,$00 + db $58,$76,$00 + db $34,$76,$00 + +Subanimation3c: ; 7acfe (1e:6cfe) + db $67 + db $59,$79,$03 + db $59,$7b,$03 + db $59,$77,$03 + db $59,$7a,$03 + db $59,$78,$03 + db $59,$7c,$03 + db $59,$76,$00 + +Subanimation3d: ; 7ad14 (1e:6d14) + db $08 + db $3a,$4d,$00 + db $3b,$4d,$00 + db $3c,$4d,$00 + db $3d,$4d,$00 + db $3e,$4d,$00 + db $3f,$4d,$00 + db $3e,$4d,$00 + db $3f,$4d,$00 + +Subanimation34: ; 7ad2d (1e:6d2d) + db $35 + db $48,$7d,$00 + db $49,$7d,$00 + db $5a,$7d,$00 + db $48,$30,$00 + db $49,$30,$00 + db $5a,$30,$00 + db $48,$7e,$00 + db $49,$7e,$00 + db $5a,$7e,$00 + db $48,$7f,$00 + db $49,$7f,$00 + db $5a,$7f,$00 + db $48,$80,$00 + db $49,$80,$00 + db $5a,$80,$00 + db $48,$81,$00 + db $49,$81,$00 + db $5a,$81,$00 + db $48,$82,$00 + db $49,$82,$00 + db $5a,$82,$00 + +Subanimation35: ; 7ad6d (1e:6d6d) + db $24 + db $5b,$83,$03 + db $5c,$84,$03 + db $5d,$85,$03 + db $5e,$09,$00 + +Subanimation36: ; 7ad7a (1e:6d7a) + db $48 + db $5f,$2a,$00 + db $5f,$00,$00 + db $60,$2a,$00 + db $60,$00,$00 + db $61,$2a,$00 + db $61,$00,$00 + db $62,$2a,$00 + db $62,$00,$00 + +Subanimation37: ; 7ad93 (1e:6d93) + db $2a + db $63,$89,$00 + db $64,$75,$00 + db $63,$76,$00 + db $65,$0d,$00 + db $65,$86,$00 + db $65,$12,$00 + db $65,$87,$00 + db $65,$17,$00 + db $65,$88,$00 + db $65,$1a,$00 + +Subanimation38: ; 7adb2 (1e:6db2) + db $50 + db $66,$8a,$00 + db $66,$33,$00 + db $66,$2e,$00 + db $67,$24,$03 + db $66,$01,$04 + db $66,$10,$04 + db $66,$1d,$04 + db $67,$28,$03 + db $66,$2a,$04 + db $66,$0e,$04 + db $66,$1b,$04 + db $67,$26,$03 + db $66,$03,$04 + db $66,$12,$04 + db $66,$1e,$04 + db $67,$29,$00 + +Subanimation3e: ; 7ade3 (1e:6de3) + db $92 + db $02,$31,$00 + db $34,$31,$00 + db $02,$31,$00 + db $02,$32,$00 + db $34,$32,$00 + db $02,$32,$00 + db $02,$92,$00 + db $34,$92,$00 + db $02,$92,$00 + db $02,$0e,$00 + db $34,$0e,$00 + db $02,$0e,$00 + db $02,$0f,$00 + db $34,$0f,$00 + db $02,$0f,$00 + db $02,$10,$00 + db $34,$10,$00 + db $02,$10,$00 + +Subanimation3f: ; 7ae1a (1e:6e1a) + db $72 + db $68,$4b,$00 + db $68,$8c,$00 + db $68,$20,$00 + db $68,$1c,$00 + db $68,$19,$00 + db $68,$14,$00 + db $68,$76,$00 + db $68,$8d,$00 + db $68,$15,$00 + db $68,$10,$00 + db $68,$0c,$00 + db $68,$06,$00 + db $68,$8e,$00 + db $68,$8f,$00 + db $68,$90,$00 + db $68,$26,$00 + db $68,$23,$00 + db $68,$1f,$00 + +Subanimation44: ; 7ae51 (1e:6e51) + db $2c + db $69,$4b,$00 + db $69,$8c,$00 + db $69,$20,$00 + db $69,$1c,$00 + db $69,$19,$00 + db $69,$14,$00 + db $69,$76,$00 + db $69,$8d,$00 + db $69,$15,$00 + db $69,$10,$00 + db $69,$0c,$00 + db $69,$06,$00 + +Subanimation43: ; 7ae76 (1e:6e76) + db $a3 + db $6a,$07,$00 + db $6b,$0f,$00 + db $6c,$17,$00 + +Subanimation45: ; 7ae80 (1e:6e80) + db $24 + db $6d,$8b,$00 + db $6d,$84,$00 + db $6d,$63,$00 + db $6d,$8c,$00 + +Subanimation46: ; 7ae8d (1e:6e8d) + db $26 + db $6d,$8b,$00 + db $6d,$84,$00 + db $6d,$63,$00 + db $6d,$8c,$00 + db $6d,$0a,$00 + db $6d,$89,$00 + +Subanimation47: ; 7aea0 (1e:6ea0) + db $23 + db $06,$82,$00 + db $07,$82,$00 + db $08,$96,$00 + +Subanimation48: ; 7aeaa (1e:6eaa) + db $06 + db $03,$41,$04 + db $03,$48,$04 + db $04,$48,$04 + db $03,$48,$04 + db $05,$48,$04 + db $03,$48,$03 + +Subanimation49: ; 7aebd (1e:6ebd) + db $04 + db $04,$48,$04 + db $03,$48,$04 + db $05,$48,$04 + db $03,$48,$03 + +Subanimation4a: ; 7aeca (1e:6eca) + db $01 + db $04,$84,$03 + +Subanimation4b: ; 7aece (1e:6ece) + db $03 + db $06,$72,$00 + db $07,$72,$00 + db $08,$72,$00 + +Subanimation4c: ; 7aed8 (1e:6ed8) + db $68 + db $6f,$30,$00 + db $6e,$30,$00 + db $70,$30,$00 + db $6e,$30,$00 + db $6f,$30,$00 + db $6e,$30,$00 + db $70,$30,$00 + db $6e,$30,$00 + +Subanimation4d: ; 7aef1 (1e:6ef1) + db $26 + db $32,$4b,$00 + db $33,$4f,$00 + db $32,$20,$00 + db $33,$16,$00 + db $32,$19,$00 + db $33,$0d,$00 + +Subanimation51: ; 7af04 (1e:6f04) + db $a6 + db $76,$1b,$00 + db $34,$1b,$00 + db $76,$1b,$00 + db $34,$1b,$00 + db $76,$1b,$00 + db $34,$1b,$00 + +Subanimation52: ; 7af17 (1e:6f17) + db $47 + db $77,$25,$00 + db $77,$9b,$00 + db $77,$1a,$00 + db $77,$9c,$00 + db $77,$2f,$00 + db $77,$50,$00 + db $77,$8c,$00 + +Subanimation53: ; 7af2d (1e:6f2d) + db $0c + db $78,$30,$00 + db $78,$a2,$00 + db $78,$93,$00 + db $78,$61,$00 + db $78,$73,$00 + db $78,$a7,$00 + db $78,$33,$00 + db $78,$a8,$00 + db $78,$0e,$00 + db $78,$a9,$00 + db $78,$34,$00 + db $01,$9e,$00 + +Subanimation54: ; 7af52 (1e:6f52) + db $0b + db $79,$30,$00 + db $79,$a2,$00 + db $79,$93,$00 + db $79,$61,$00 + db $79,$73,$00 + db $79,$a7,$00 + db $79,$33,$00 + db $79,$a8,$00 + db $79,$0e,$00 + db $79,$a9,$00 + db $79,$34,$00 + +FrameBlockPointers: ; 7af74 (1e:6f74) + dw FrameBlock00 + dw FrameBlock01 + dw FrameBlock02 + dw FrameBlock03 + dw FrameBlock04 + dw FrameBlock05 + dw FrameBlock06 + dw FrameBlock07 + dw FrameBlock08 + dw FrameBlock09 + dw FrameBlock0a + dw FrameBlock0b + dw FrameBlock0c + dw FrameBlock0d + dw FrameBlock0e + dw FrameBlock0f + dw FrameBlock10 + dw FrameBlock11 + dw FrameBlock12 + dw FrameBlock13 + dw FrameBlock14 + dw FrameBlock15 + dw FrameBlock16 + dw FrameBlock17 + dw FrameBlock18 + dw FrameBlock19 + dw FrameBlock1a + dw FrameBlock1b + dw FrameBlock1c + dw FrameBlock1d + dw FrameBlock1e + dw FrameBlock1f + dw FrameBlock20 + dw FrameBlock21 + dw FrameBlock22 + dw FrameBlock23 + dw FrameBlock24 + dw FrameBlock25 + dw FrameBlock26 + dw FrameBlock27 + dw FrameBlock28 + dw FrameBlock29 + dw FrameBlock2a + dw FrameBlock2b + dw FrameBlock2c + dw FrameBlock2d + dw FrameBlock2e + dw FrameBlock2f + dw FrameBlock30 + dw FrameBlock31 + dw FrameBlock32 + dw FrameBlock33 + dw FrameBlock34 + dw FrameBlock35 + dw FrameBlock36 + dw FrameBlock37 + dw FrameBlock38 + dw FrameBlock39 + dw FrameBlock3a + dw FrameBlock3b + dw FrameBlock3c + dw FrameBlock3d + dw FrameBlock3e + dw FrameBlock3f + dw FrameBlock40 + dw FrameBlock41 + dw FrameBlock42 + dw FrameBlock43 + dw FrameBlock44 + dw FrameBlock45 + dw FrameBlock46 + dw FrameBlock47 + dw FrameBlock48 + dw FrameBlock49 + dw FrameBlock4a + dw FrameBlock4b + dw FrameBlock4c + dw FrameBlock4d + dw FrameBlock4e + dw FrameBlock4f + dw FrameBlock50 + dw FrameBlock51 + dw FrameBlock52 + dw FrameBlock53 + dw FrameBlock54 + dw FrameBlock55 + dw FrameBlock56 + dw FrameBlock57 + dw FrameBlock58 + dw FrameBlock59 + dw FrameBlock5a + dw FrameBlock5b + dw FrameBlock5c + dw FrameBlock5d + dw FrameBlock5e + dw FrameBlock5f + dw FrameBlock60 + dw FrameBlock61 + dw FrameBlock62 + dw FrameBlock63 + dw FrameBlock64 + dw FrameBlock65 + dw FrameBlock66 + dw FrameBlock67 + dw FrameBlock68 + dw FrameBlock69 + dw FrameBlock6a + dw FrameBlock6b + dw FrameBlock6c + dw FrameBlock6d + dw FrameBlock6e + dw FrameBlock6f + dw FrameBlock70 + dw FrameBlock71 + dw FrameBlock72 + dw FrameBlock73 + dw FrameBlock74 + dw FrameBlock75 + dw FrameBlock76 + dw FrameBlock77 + dw FrameBlock78 + dw FrameBlock79 + +FrameBlock01: ; 7b068 (1e:7068) + db $09 + db $00,$00,$2c,$00 + db $00,$08,$2d,$00 + db $00,$10,$2c,$20 + db $08,$00,$3c,$00 + db $08,$08,$3d,$00 + db $08,$10,$3c,$20 + db $10,$00,$2c,$40 + db $10,$08,$2d,$40 + db $10,$10,$2c,$60 + +FrameBlock02: ; 7b08d (1e:708d) + db $10 + db $00,$00,$20,$00 + db $00,$08,$21,$00 + db $00,$10,$21,$20 + db $00,$18,$20,$20 + db $08,$00,$30,$00 + db $08,$08,$31,$00 + db $08,$10,$31,$20 + db $08,$18,$30,$20 + db $10,$00,$30,$40 + db $10,$08,$31,$40 + db $10,$10,$31,$60 + db $10,$18,$30,$60 + db $18,$00,$20,$40 + db $18,$08,$21,$40 + db $18,$10,$21,$60 + db $18,$18,$20,$60 + +FrameBlock03: ; 7b0ce (1e:70ce) + db $04 + db $00,$00,$02,$00 + db $00,$08,$02,$20 + db $08,$00,$12,$00 + db $08,$08,$12,$20 + +FrameBlock04: ; 7b0df (1e:70df) + db $04 + db $00,$00,$06,$00 + db $00,$08,$07,$00 + db $08,$00,$16,$00 + db $08,$08,$17,$00 + +FrameBlock05: ; 7b0f0 (1e:70f0) + db $04 + db $00,$00,$07,$20 + db $00,$08,$06,$20 + db $08,$00,$17,$20 + db $08,$08,$16,$20 + +FrameBlock06: ; 7b101 (1e:7101) + db $0c + db $00,$08,$23,$00 + db $08,$00,$32,$00 + db $08,$08,$33,$00 + db $00,$10,$23,$20 + db $08,$10,$33,$20 + db $08,$18,$32,$20 + db $10,$00,$32,$40 + db $10,$08,$33,$40 + db $18,$08,$23,$40 + db $10,$10,$33,$60 + db $10,$18,$32,$60 + db $18,$10,$23,$60 + +FrameBlock07: ; 7b132 (1e:7132) + db $10 + db $00,$00,$20,$00 + db $00,$08,$21,$00 + db $08,$00,$30,$00 + db $08,$08,$31,$00 + db $00,$10,$21,$20 + db $00,$18,$20,$20 + db $08,$10,$31,$20 + db $08,$18,$30,$20 + db $10,$00,$30,$40 + db $10,$08,$31,$40 + db $18,$00,$20,$40 + db $18,$08,$21,$40 + db $10,$10,$31,$60 + db $10,$18,$30,$60 + db $18,$10,$21,$60 + db $18,$18,$20,$60 + +FrameBlock08: ; 7b173 (1e:7173) + db $10 + db $00,$00,$20,$00 + db $00,$08,$21,$00 + db $08,$00,$30,$00 + db $08,$08,$31,$00 + db $00,$18,$21,$20 + db $00,$20,$20,$20 + db $08,$18,$31,$20 + db $08,$20,$30,$20 + db $18,$00,$30,$40 + db $18,$08,$31,$40 + db $20,$00,$20,$40 + db $20,$08,$21,$40 + db $18,$18,$31,$60 + db $18,$20,$30,$60 + db $20,$18,$21,$60 + db $20,$20,$20,$60 + +FrameBlock09: ; 7b1b4 (1e:71b4) + db $0c + db $00,$00,$24,$00 + db $00,$08,$25,$00 + db $08,$00,$34,$00 + db $00,$18,$25,$20 + db $00,$20,$24,$20 + db $08,$20,$34,$20 + db $18,$00,$34,$40 + db $20,$00,$24,$40 + db $20,$08,$25,$40 + db $18,$20,$34,$60 + db $20,$18,$25,$60 + db $20,$20,$24,$60 + +FrameBlock0a: ; 7b1e5 (1e:71e5) + db $0c + db $00,$00,$24,$00 + db $00,$08,$25,$00 + db $08,$00,$34,$00 + db $00,$20,$25,$20 + db $00,$28,$24,$20 + db $08,$28,$34,$20 + db $20,$00,$34,$40 + db $28,$00,$24,$40 + db $28,$08,$25,$40 + db $20,$28,$34,$60 + db $28,$20,$25,$60 + db $28,$28,$24,$60 + +FrameBlock0b: ; 7b216 (1e:7216) + db $04 + db $00,$00,$05,$00 + db $00,$08,$05,$20 + db $08,$00,$15,$00 + db $08,$08,$15,$20 + +FrameBlock0c: ; 7b227 (1e:7227) + db $04 + db $00,$00,$04,$00 + db $00,$08,$04,$20 + db $08,$00,$14,$00 + db $08,$08,$14,$20 + +FrameBlock0d: ; 7b238 (1e:7238) + db $08 + db $00,$00,$0c,$00 + db $00,$08,$0d,$00 + db $08,$00,$1c,$00 + db $08,$08,$1d,$00 + db $10,$00,$1d,$60 + db $10,$08,$1c,$60 + db $18,$00,$0d,$60 + db $18,$08,$0c,$60 + +FrameBlock0e: ; 7b259 (1e:7259) + db $04 + db $20,$00,$0c,$00 + db $20,$08,$0d,$00 + db $28,$00,$1c,$00 + db $28,$08,$1d,$00 + +FrameBlock0f: ; 7b26a (1e:726a) + db $04 + db $30,$00,$1d,$60 + db $30,$08,$1c,$60 + db $38,$00,$0d,$60 + db $38,$08,$0c,$60 + +FrameBlock10: ; 7b27b (1e:727b) + db $08 + db $00,$00,$0e,$00 + db $00,$08,$0f,$00 + db $08,$00,$1e,$00 + db $08,$08,$1f,$00 + db $00,$10,$0f,$20 + db $00,$18,$0e,$20 + db $08,$10,$1f,$20 + db $08,$18,$1e,$20 + +FrameBlock11: ; 7b29c (1e:729c) + db $08 + db $00,$00,$0e,$00 + db $00,$08,$0f,$00 + db $08,$00,$1e,$00 + db $08,$08,$1f,$00 + db $00,$20,$0f,$20 + db $00,$28,$0e,$20 + db $08,$20,$1f,$20 + db $08,$28,$1e,$20 + +FrameBlock12: ; 7b2bd (1e:72bd) + db $03 + db $00,$00,$37,$00 + db $08,$10,$37,$00 + db $00,$20,$37,$00 + +FrameBlock13: ; 7b2ca (1e:72ca) + db $04 + db $00,$00,$36,$00 + db $00,$08,$36,$20 + db $08,$00,$36,$40 + db $08,$08,$36,$60 + +FrameBlock14: ; 7b2db (1e:72db) + db $08 + db $00,$10,$28,$00 + db $00,$18,$28,$20 + db $08,$10,$38,$00 + db $08,$18,$38,$20 + db $00,$20,$36,$00 + db $00,$28,$36,$20 + db $08,$20,$36,$40 + db $08,$28,$36,$60 + +FrameBlock15: ; 7b2fc (1e:72fc) + db $0c + db $00,$00,$28,$00 + db $00,$08,$28,$20 + db $08,$00,$38,$00 + db $08,$08,$38,$20 + db $00,$10,$29,$00 + db $00,$18,$29,$20 + db $08,$10,$39,$00 + db $08,$18,$39,$20 + db $00,$20,$28,$00 + db $00,$28,$28,$20 + db $08,$20,$38,$00 + db $08,$28,$38,$20 + +FrameBlock16: ; 7b32d (1e:732d) + db $08 + db $00,$00,$29,$00 + db $00,$08,$29,$20 + db $08,$00,$39,$00 + db $08,$08,$39,$20 + db $00,$20,$29,$00 + db $00,$28,$29,$20 + db $08,$20,$39,$00 + db $08,$28,$39,$20 + +FrameBlock17: ; 7b34e (1e:734e) + db $04 + db $00,$00,$08,$00 + db $00,$08,$09,$00 + db $08,$00,$18,$00 + db $08,$08,$19,$00 + +FrameBlock18: ; 7b35f (1e:735f) + db $01 + db $18,$00,$45,$60 + +FrameBlock19: ; 7b364 (1e:7364) + db $02 + db $18,$08,$45,$00 + db $10,$08,$46,$60 + +FrameBlock1a: ; 7b36d (1e:736d) + db $02 + db $10,$10,$45,$60 + db $18,$10,$46,$00 + +FrameBlock1b: ; 7b376 (1e:7376) + db $02 + db $10,$18,$45,$00 + db $08,$18,$46,$60 + +FrameBlock1c: ; 7b37f (1e:737f) + db $02 + db $08,$20,$45,$60 + db $10,$20,$46,$00 + +FrameBlock1d: ; 7b388 (1e:7388) + db $02 + db $08,$28,$45,$00 + db $00,$28,$46,$60 + +FrameBlock1e: ; 7b391 (1e:7391) + db $02 + db $00,$30,$45,$60 + db $08,$30,$46,$00 + +FrameBlock75: ; 7b39a (1e:739a) + db $04 + db $00,$00,$43,$00 + db $00,$08,$43,$20 + db $08,$00,$22,$00 + db $08,$08,$43,$60 + +FrameBlock1f: ; 7b3ab (1e:73ab) + db $02 + db $00,$00,$03,$00 + db $00,$30,$03,$20 + +FrameBlock20: ; 7b3b4 (1e:73b4) + db $06 + db $00,$00,$03,$00 + db $00,$30,$03,$20 + db $08,$08,$03,$00 + db $08,$28,$03,$20 + db $08,$00,$13,$00 + db $08,$30,$13,$20 + +FrameBlock21: ; 7b3cd (1e:73cd) + db $0c + db $00,$00,$03,$00 + db $00,$30,$03,$20 + db $08,$08,$03,$00 + db $08,$28,$03,$20 + db $08,$00,$13,$00 + db $08,$30,$13,$20 + db $10,$10,$03,$00 + db $10,$20,$03,$20 + db $10,$08,$13,$00 + db $10,$28,$13,$20 + db $10,$00,$03,$00 + db $10,$30,$03,$20 + +FrameBlock22: ; 7b3fe (1e:73fe) + db $13 + db $00,$00,$03,$00 + db $08,$00,$13,$00 + db $10,$00,$03,$00 + db $18,$00,$13,$00 + db $08,$08,$03,$00 + db $10,$08,$13,$00 + db $18,$08,$03,$00 + db $10,$10,$03,$00 + db $18,$10,$13,$00 + db $18,$18,$03,$00 + db $10,$20,$03,$20 + db $18,$20,$13,$20 + db $08,$28,$03,$20 + db $10,$28,$13,$20 + db $18,$28,$03,$20 + db $00,$30,$03,$20 + db $08,$30,$13,$20 + db $10,$30,$03,$20 + db $18,$30,$13,$20 + +FrameBlock23: ; 7b44b (1e:744b) + db $04 + db $00,$00,$0a,$00 + db $00,$08,$0b,$00 + db $08,$00,$1a,$00 + db $08,$08,$1b,$00 + +FrameBlock24: ; 7b45c (1e:745c) + db $02 + db $08,$00,$0a,$00 + db $08,$08,$0b,$00 + +FrameBlock25: ; 7b465 (1e:7465) + db $0c + db $10,$00,$0a,$00 + db $10,$08,$0b,$00 + db $18,$00,$1a,$00 + db $18,$08,$1b,$00 + db $00,$10,$0a,$00 + db $00,$18,$0b,$00 + db $08,$10,$1a,$00 + db $08,$18,$1b,$00 + db $08,$20,$0a,$00 + db $08,$28,$0b,$00 + db $10,$20,$1a,$00 + db $10,$28,$1b,$00 + +FrameBlock26: ; 7b496 (1e:7496) + db $04 + db $00,$10,$44,$00 + db $00,$18,$44,$20 + db $08,$10,$44,$40 + db $08,$18,$44,$60 + +FrameBlock27: ; 7b4a7 (1e:74a7) + db $05 + db $08,$08,$44,$00 + db $08,$10,$44,$20 + db $10,$08,$44,$40 + db $10,$10,$44,$60 + db $00,$18,$47,$00 + +FrameBlock28: ; 7b4bc (1e:74bc) + db $06 + db $10,$00,$44,$00 + db $10,$08,$44,$20 + db $18,$00,$44,$40 + db $18,$08,$44,$60 + db $08,$10,$47,$00 + db $02,$16,$47,$00 + +FrameBlock29: ; 7b4d5 (1e:74d5) + db $04 + db $18,$00,$47,$00 + db $12,$06,$47,$00 + db $0c,$0c,$47,$00 + db $06,$12,$47,$00 + +FrameBlock2a: ; 7b4e6 (1e:74e6) + db $04 + db $00,$00,$44,$00 + db $00,$08,$44,$20 + db $08,$00,$44,$40 + db $08,$08,$44,$60 + +FrameBlock2b: ; 7b4f7 (1e:74f7) + db $02 + db $06,$02,$47,$00 + db $00,$08,$47,$00 + +FrameBlock2c: ; 7b500 (1e:7500) + db $01 + db $a0,$00,$4d,$00 + +FrameBlock2d: ; 7b505 (1e:7505) + db $08 + db $00,$00,$26,$00 + db $00,$08,$27,$00 + db $08,$00,$36,$00 + db $08,$08,$37,$00 + db $10,$00,$28,$00 + db $10,$08,$29,$00 + db $18,$00,$38,$00 + db $18,$08,$39,$00 + +FrameBlock2e: ; 7b526 (1e:7526) + db $08 + db $00,$00,$27,$20 + db $00,$08,$26,$20 + db $08,$00,$37,$20 + db $08,$08,$36,$20 + db $10,$00,$29,$20 + db $10,$08,$28,$20 + db $18,$00,$39,$20 + db $18,$08,$38,$20 + +FrameBlock2f: ; 7b547 (1e:7547) + db $04 + db $00,$00,$0c,$00 + db $00,$08,$0d,$00 + db $08,$00,$0c,$40 + db $08,$08,$0d,$40 + +FrameBlock30: ; 7b558 (1e:7558) + db $04 + db $00,$00,$44,$00 + db $00,$08,$44,$20 + db $08,$00,$44,$40 + db $08,$08,$44,$60 + +FrameBlock31: ; 7b569 (1e:7569) + db $01 + db $00,$00,$45,$00 + +FrameBlock32: ; 7b56e (1e:756e) + db $07 + db $00,$00,$4d,$00 + db $00,$08,$2f,$00 + db $00,$10,$4d,$20 + db $08,$00,$4e,$00 + db $08,$08,$07,$00 + db $08,$10,$4e,$20 + db $10,$08,$3f,$00 + +FrameBlock33: ; 7b58b (1e:758b) + db $07 + db $00,$08,$3f,$40 + db $08,$00,$4e,$40 + db $08,$08,$07,$40 + db $08,$10,$4e,$60 + db $10,$00,$4d,$40 + db $10,$08,$2f,$40 + db $10,$10,$4d,$60 + +FrameBlock34: ; 7b5a8 (1e:75a8) + db $01 + db $a0,$00,$00,$10 + +FrameBlock35: ; 7b5ad (1e:75ad) + db $06 + db $00,$00,$2a,$00 + db $00,$08,$2b,$00 + db $08,$00,$3a,$00 + db $10,$00,$3a,$40 + db $18,$00,$2a,$40 + db $18,$08,$2b,$40 + +FrameBlock36: ; 7b5c6 (1e:75c6) + db $04 + db $00,$00,$00,$00 + db $00,$08,$01,$00 + db $08,$00,$10,$00 + db $08,$08,$11,$00 + +FrameBlock37: ; 7b5d7 (1e:75d7) + db $04 + db $00,$00,$01,$a0 + db $00,$08,$00,$a0 + db $08,$00,$11,$a0 + db $08,$08,$10,$a0 + +FrameBlock38: ; 7b5e8 (1e:75e8) + db $04 + db $00,$00,$0a,$00 + db $00,$08,$0b,$00 + db $08,$00,$1a,$00 + db $08,$08,$1b,$00 + +FrameBlock39: ; 7b5f9 (1e:75f9) + db $04 + db $00,$00,$0b,$20 + db $00,$08,$0a,$20 + db $08,$00,$1b,$20 + db $08,$08,$1a,$20 + +FrameBlock3a: ; 7b60a (1e:760a) + db $04 + db $20,$00,$05,$00 + db $20,$08,$05,$20 + db $28,$00,$15,$00 + db $28,$08,$15,$20 + +FrameBlock3b: ; 7b61b (1e:761b) + db $05 + db $18,$00,$04,$00 + db $18,$08,$04,$20 + db $20,$00,$14,$00 + db $20,$08,$14,$20 + db $28,$04,$41,$00 + +FrameBlock3c: ; 7b630 (1e:7630) + db $06 + db $10,$00,$05,$00 + db $10,$08,$05,$20 + db $18,$00,$15,$00 + db $18,$08,$15,$20 + db $20,$04,$42,$00 + db $28,$04,$42,$00 + +FrameBlock3d: ; 7b649 (1e:7649) + db $07 + db $08,$00,$04,$00 + db $08,$08,$04,$20 + db $10,$00,$14,$00 + db $10,$08,$14,$20 + db $18,$04,$41,$00 + db $20,$04,$41,$00 + db $28,$04,$41,$00 + +FrameBlock3e: ; 7b666 (1e:7666) + db $08 + db $00,$00,$05,$00 + db $00,$08,$05,$20 + db $08,$00,$15,$00 + db $08,$08,$15,$20 + db $10,$04,$42,$00 + db $18,$04,$42,$00 + db $20,$04,$42,$00 + db $28,$04,$42,$00 + +FrameBlock3f: ; 7b687 (1e:7687) + db $08 + db $00,$00,$04,$00 + db $00,$08,$04,$20 + db $08,$00,$14,$00 + db $08,$08,$14,$20 + db $10,$04,$41,$00 + db $18,$04,$41,$00 + db $20,$04,$41,$00 + db $28,$04,$41,$00 + +FrameBlock40: ; 7b6a8 (1e:76a8) + db $03 + db $00,$00,$3d,$00 + db $00,$08,$3d,$00 + db $08,$08,$3d,$00 + +FrameBlock41: ; 7b6b5 (1e:76b5) + db $04 + db $00,$00,$06,$00 + db $00,$08,$06,$20 + db $08,$00,$16,$00 + db $08,$08,$17,$00 + +FrameBlock42: ; 7b6c6 (1e:76c6) + db $0b + db $00,$10,$42,$00 + db $08,$00,$42,$00 + db $08,$08,$42,$00 + db $08,$10,$42,$00 + db $08,$18,$42,$00 + db $08,$20,$42,$00 + db $10,$10,$42,$00 + db $18,$08,$42,$00 + db $18,$18,$42,$00 + db $20,$00,$42,$00 + db $20,$20,$42,$00 + +FrameBlock43: ; 7b6f3 (1e:76f3) + db $0b + db $00,$10,$41,$00 + db $08,$00,$41,$00 + db $08,$08,$41,$00 + db $08,$10,$41,$00 + db $08,$18,$41,$00 + db $08,$20,$41,$00 + db $10,$10,$41,$00 + db $18,$08,$41,$00 + db $18,$18,$41,$00 + db $20,$00,$41,$00 + db $20,$20,$41,$00 + +FrameBlock44: ; 7b720 (1e:7720) + db $04 + db $00,$00,$49,$00 + db $00,$28,$49,$00 + db $28,$00,$49,$00 + db $28,$28,$49,$00 + +FrameBlock45: ; 7b731 (1e:7731) + db $04 + db $00,$00,$49,$00 + db $00,$18,$49,$00 + db $18,$00,$49,$00 + db $18,$18,$49,$00 + +FrameBlock46: ; 7b742 (1e:7742) + db $04 + db $00,$00,$49,$00 + db $00,$08,$49,$00 + db $08,$00,$49,$00 + db $08,$08,$49,$00 + +FrameBlock47: ; 7b753 (1e:7753) + db $04 + db $00,$00,$43,$00 + db $00,$08,$43,$20 + db $08,$00,$43,$40 + db $08,$08,$43,$60 + +FrameBlock48: ; 7b764 (1e:7764) + db $04 + db $08,$08,$33,$00 + db $08,$10,$33,$20 + db $10,$08,$33,$40 + db $10,$10,$33,$60 + +FrameBlock49: ; 7b775 (1e:7775) + db $10 + db $00,$00,$22,$00 + db $00,$08,$23,$00 + db $00,$10,$23,$20 + db $00,$18,$22,$20 + db $08,$00,$32,$00 + db $08,$08,$43,$00 + db $08,$10,$43,$20 + db $08,$18,$32,$20 + db $10,$00,$32,$40 + db $10,$08,$43,$40 + db $10,$10,$43,$60 + db $10,$18,$32,$60 + db $18,$00,$22,$40 + db $18,$08,$23,$40 + db $18,$10,$23,$60 + db $18,$18,$22,$60 + +FrameBlock71: ; 7b7b6 (1e:77b6) + db $10 + db $00,$00,$22,$00 + db $00,$08,$3b,$00 + db $00,$10,$23,$20 + db $00,$18,$22,$20 + db $08,$00,$32,$00 + db $08,$08,$43,$00 + db $08,$10,$43,$20 + db $08,$18,$32,$20 + db $10,$00,$32,$40 + db $10,$08,$43,$40 + db $10,$10,$43,$60 + db $10,$18,$32,$60 + db $18,$00,$22,$40 + db $18,$08,$23,$40 + db $18,$10,$23,$60 + db $18,$18,$22,$60 + +FrameBlock72: ; 7b7f7 (1e:77f7) + db $0c + db $00,$00,$32,$00 + db $00,$08,$43,$00 + db $00,$10,$43,$20 + db $00,$18,$32,$20 + db $08,$00,$32,$40 + db $08,$08,$43,$40 + db $08,$10,$43,$60 + db $08,$18,$32,$60 + db $10,$00,$22,$40 + db $10,$08,$23,$40 + db $10,$10,$23,$60 + db $10,$18,$22,$60 + +FrameBlock73: ; 7b828 (1e:7828) + db $08 + db $00,$00,$32,$40 + db $00,$08,$43,$40 + db $00,$10,$43,$60 + db $00,$18,$32,$60 + db $08,$00,$22,$40 + db $08,$08,$23,$40 + db $08,$10,$23,$60 + db $08,$18,$22,$60 + +FrameBlock74: ; 7b849 (1e:7849) + db $04 + db $00,$00,$22,$40 + db $00,$08,$23,$40 + db $00,$10,$23,$60 + db $00,$18,$22,$60 + +FrameBlock4a: ; 7b85a (1e:785a) + db $04 + db $08,$18,$4c,$20 + db $20,$08,$4b,$00 + db $30,$20,$4c,$00 + db $18,$30,$4b,$40 + +FrameBlock4b: ; 7b86b (1e:786b) + db $04 + db $00,$18,$4c,$00 + db $20,$00,$4b,$40 + db $38,$20,$4c,$20 + db $18,$38,$4b,$00 + +FrameBlock4c: ; 7b87c (1e:787c) + db $04 + db $10,$08,$4a,$40 + db $30,$10,$4a,$00 + db $28,$30,$4a,$20 + db $08,$28,$4a,$60 + +FrameBlock4d: ; 7b88d (1e:788d) + db $04 + db $08,$00,$4a,$20 + db $38,$08,$4a,$60 + db $30,$38,$4a,$40 + db $00,$30,$4a,$00 + +FrameBlock4e: ; 7b89e (1e:789e) + db $08 + db $00,$30,$44,$00 + db $00,$38,$44,$20 + db $08,$30,$44,$40 + db $08,$38,$44,$60 + db $26,$0a,$44,$00 + db $26,$12,$44,$20 + db $2e,$0a,$44,$40 + db $2e,$12,$44,$60 + +FrameBlock4f: ; 7b8bf (1e:78bf) + db $0c + db $0e,$22,$44,$00 + db $0e,$2a,$44,$20 + db $16,$22,$44,$40 + db $16,$2a,$44,$60 + db $06,$32,$47,$00 + db $00,$38,$47,$00 + db $1a,$16,$44,$00 + db $1a,$1e,$44,$20 + db $22,$16,$44,$40 + db $22,$1e,$44,$60 + db $30,$08,$47,$00 + db $2a,$0e,$47,$00 + +FrameBlock50: ; 7b8f0 (1e:78f0) + db $08 + db $06,$32,$47,$00 + db $00,$38,$47,$00 + db $12,$26,$47,$00 + db $0c,$2c,$47,$00 + db $1e,$1a,$47,$00 + db $18,$20,$47,$00 + db $2a,$0e,$47,$00 + db $24,$14,$47,$00 + +FrameBlock51: ; 7b911 (1e:7911) + db $08 + db $00,$00,$35,$20 + db $08,$00,$35,$40 + db $10,$00,$35,$00 + db $18,$00,$35,$60 + db $00,$40,$35,$00 + db $08,$40,$35,$60 + db $10,$40,$35,$20 + db $18,$40,$35,$40 + +FrameBlock52: ; 7b932 (1e:7932) + db $04 + db $00,$00,$2a,$00 + db $00,$08,$2b,$00 + db $08,$00,$3a,$00 + db $08,$08,$3b,$00 + +FrameBlock53: ; 7b943 (1e:7943) + db $03 + db $00,$00,$3f,$00 + db $00,$08,$3f,$00 + db $08,$06,$3f,$00 + +FrameBlock54: ; 7b950 (1e:7950) + db $04 + db $00,$00,$0e,$00 + db $00,$08,$0e,$20 + db $08,$00,$0f,$00 + db $08,$08,$0f,$20 + +FrameBlock55: ; 7b961 (1e:7961) + db $03 + db $10,$00,$2c,$00 + db $10,$08,$3c,$00 + db $10,$10,$2d,$00 + +FrameBlock56: ; 7b96e (1e:796e) + db $06 + db $10,$10,$31,$00 + db $10,$18,$31,$00 + db $08,$10,$2c,$00 + db $08,$18,$3c,$00 + db $08,$20,$2d,$00 + db $10,$20,$2d,$00 + +FrameBlock57: ; 7b987 (1e:7987) + db $09 + db $08,$20,$31,$00 + db $10,$20,$31,$00 + db $08,$28,$31,$00 + db $10,$28,$31,$00 + db $00,$20,$2c,$00 + db $00,$28,$3c,$00 + db $00,$30,$2d,$00 + db $08,$30,$2d,$00 + db $10,$30,$2d,$00 + +FrameBlock58: ; 7b9ac (1e:79ac) + db $07 + db $00,$00,$46,$00 + db $08,$02,$47,$00 + db $10,$03,$48,$00 + db $18,$04,$48,$00 + db $20,$05,$48,$00 + db $28,$05,$48,$00 + db $30,$05,$48,$00 + +FrameBlock59: ; 7b9c9 (1e:79c9) + db $01 + db $00,$00,$42,$00 + +FrameBlock5a: ; 7b9ce (1e:79ce) + db $0c + db $00,$00,$24,$00 + db $00,$08,$25,$00 + db $08,$00,$34,$00 + db $00,$10,$25,$20 + db $00,$18,$24,$20 + db $08,$18,$34,$20 + db $10,$00,$34,$40 + db $18,$00,$24,$40 + db $18,$08,$25,$40 + db $10,$18,$34,$60 + db $18,$10,$25,$60 + db $18,$18,$24,$60 + +FrameBlock5b: ; 7b9ff (1e:79ff) + db $04 + db $00,$00,$43,$00 + db $00,$08,$43,$20 + db $08,$00,$43,$40 + db $08,$08,$43,$60 + +FrameBlock5c: ; 7ba10 (1e:7a10) + db $08 + db $00,$00,$49,$00 + db $02,$08,$49,$00 + db $18,$00,$49,$00 + db $10,$10,$49,$00 + db $08,$00,$43,$00 + db $08,$08,$43,$20 + db $10,$00,$43,$40 + db $10,$08,$43,$60 + +FrameBlock5d: ; 7ba31 (1e:7a31) + db $0b + db $00,$00,$49,$00 + db $18,$02,$49,$00 + db $14,$10,$49,$00 + db $08,$00,$43,$00 + db $00,$08,$43,$20 + db $10,$00,$43,$40 + db $10,$08,$43,$60 + db $04,$08,$43,$00 + db $04,$10,$43,$20 + db $0c,$08,$43,$40 + db $0c,$10,$43,$60 + +FrameBlock5e: ; 7ba5e (1e:7a5e) + db $0f + db $00,$08,$49,$00 + db $08,$10,$49,$00 + db $20,$00,$49,$00 + db $08,$00,$43,$00 + db $08,$08,$43,$20 + db $10,$00,$43,$40 + db $10,$08,$43,$60 + db $10,$10,$43,$00 + db $10,$18,$43,$20 + db $18,$10,$43,$40 + db $18,$18,$43,$60 + db $20,$08,$43,$00 + db $20,$10,$43,$20 + db $28,$08,$43,$40 + db $28,$10,$43,$60 + +FrameBlock5f: ; 7ba9b (1e:7a9b) + db $04 + db $00,$00,$49,$00 + db $00,$10,$49,$00 + db $00,$20,$49,$00 + db $00,$30,$49,$00 + +FrameBlock60: ; 7baac (1e:7aac) + db $08 + db $00,$00,$49,$00 + db $00,$10,$49,$00 + db $00,$20,$49,$00 + db $00,$30,$49,$00 + db $08,$08,$49,$00 + db $08,$18,$49,$00 + db $08,$28,$49,$00 + db $08,$38,$49,$00 + +FrameBlock61: ; 7bacd (1e:7acd) + db $0c + db $00,$00,$49,$00 + db $00,$10,$49,$00 + db $00,$20,$49,$00 + db $00,$30,$49,$00 + db $08,$08,$49,$00 + db $08,$18,$49,$00 + db $08,$28,$49,$00 + db $08,$38,$49,$00 + db $10,$00,$49,$00 + db $10,$10,$49,$00 + db $10,$20,$49,$00 + db $10,$30,$49,$00 + +FrameBlock62: ; 7bafe (1e:7afe) + db $0f + db $00,$00,$49,$00 + db $00,$10,$49,$00 + db $00,$20,$49,$00 + db $00,$30,$49,$00 + db $08,$08,$49,$00 + db $08,$18,$49,$00 + db $08,$28,$49,$00 + db $08,$38,$49,$00 + db $10,$00,$49,$00 + db $10,$10,$49,$00 + db $10,$20,$49,$00 + db $10,$30,$49,$00 + db $18,$08,$49,$00 + db $18,$18,$49,$00 + db $18,$28,$49,$00 + db $18,$38,$49,$00 ; unused + +FrameBlock63: ; 7bb3f (1e:7b3f) + db $06 + db $10,$00,$26,$00 + db $10,$08,$27,$00 + db $08,$10,$26,$00 + db $08,$18,$27,$00 + db $00,$20,$26,$00 + db $00,$28,$27,$00 + +FrameBlock64: ; 7bb58 (1e:7b58) + db $06 + db $18,$00,$27,$00 + db $10,$08,$26,$00 + db $10,$10,$27,$00 + db $08,$18,$26,$00 + db $08,$20,$27,$00 + db $00,$28,$26,$00 + +FrameBlock65: ; 7bb71 (1e:7b71) + db $06 + db $00,$00,$1c,$00 + db $00,$08,$1d,$00 + db $10,$00,$1c,$00 + db $10,$08,$1d,$00 + db $20,$00,$1c,$00 + db $20,$08,$1d,$00 + +FrameBlock66: ; 7bb8a (1e:7b8a) + db $02 + db $00,$00,$03,$00 + db $08,$00,$13,$00 + +FrameBlock67: ; 7bb93 (1e:7b93) + db $01 + db $00,$00,$03,$00 + +FrameBlock68: ; 7bb98 (1e:7b98) + db $04 + db $00,$00,$03,$00 + db $00,$08,$03,$20 + db $08,$00,$13,$00 + db $08,$08,$13,$20 + +FrameBlock69: ; 7bba9 (1e:7ba9) + db $01 + db $00,$00,$06,$00 + +FrameBlock6a: ; 7bbae (1e:7bae) + db $08 + db $00,$00,$2e,$00 + db $00,$30,$2e,$20 + db $30,$00,$2e,$40 + db $30,$30,$2e,$60 + db $00,$18,$2f,$00 + db $30,$18,$2f,$40 + db $18,$00,$3e,$00 + db $18,$30,$3e,$20 + +FrameBlock6b: ; 7bbcf (1e:7bcf) + db $08 + db $00,$00,$2e,$00 + db $00,$20,$2e,$20 + db $20,$00,$2e,$40 + db $20,$20,$2e,$60 + db $00,$10,$2f,$00 + db $20,$10,$2f,$40 + db $10,$00,$3e,$00 + db $10,$20,$3e,$20 + +FrameBlock6c: ; 7bbf0 (1e:7bf0) + db $08 + db $00,$00,$2e,$00 + db $00,$10,$2e,$20 + db $10,$00,$2e,$40 + db $10,$10,$2e,$60 + db $00,$08,$2f,$00 + db $10,$08,$2f,$40 + db $08,$00,$3e,$00 + db $08,$10,$3e,$20 + +FrameBlock6d: ; 7bc11 (1e:7c11) + db $02 + db $00,$00,$1e,$00 + db $00,$08,$1f,$00 + +FrameBlock6e: ; 7bc1a (1e:7c1a) + db $04 + db $00,$00,$48,$00 + db $00,$08,$48,$20 + db $08,$00,$12,$00 + db $08,$08,$12,$20 + +FrameBlock6f: ; 7bc2b (1e:7c2b) + db $04 + db $00,$00,$4a,$00 + db $00,$08,$07,$00 + db $08,$00,$16,$00 + db $08,$08,$17,$00 + +FrameBlock70: ; 7bc3c (1e:7c3c) + db $04 + db $00,$00,$07,$20 + db $00,$08,$4a,$20 + db $08,$00,$17,$20 + db $08,$08,$16,$20 + +FrameBlock76: ; 7bc4d (1e:7c4d) + db $07 + db $00,$10,$2f,$00 + db $01,$08,$2f,$00 + db $01,$18,$2f,$00 + db $02,$00,$2e,$00 + db $02,$20,$2e,$20 + db $0a,$00,$3e,$00 + db $0a,$20,$3e,$20 + +FrameBlock77: ; 7bc6a (1e:7c6a) + db $04 + db $00,$02,$4b,$00 + db $00,$0a,$4c,$00 + db $08,$00,$4c,$60 + db $08,$08,$4b,$60 + +FrameBlock78: ; 7bc7b (1e:7c7b) + db $01 + db $00,$00,$4d,$00 + +FrameBlock79: ; 7bc80 (1e:7c80) + db $01 + db $00,$00,$4e,$00 + +FrameBlockBaseCoords: ; 7bc85 (1e:7c85) + db $10,$68 + db $10,$70 + db $10,$78 + db $10,$80 + db $10,$88 + db $10,$90 + db $10,$98 + db $18,$68 + db $18,$70 + db $18,$78 + db $34,$28 + db $18,$80 + db $18,$88 + db $18,$98 + db $20,$68 + db $20,$70 + db $20,$78 + db $20,$80 + db $20,$88 + db $20,$90 + db $20,$98 + db $28,$68 + db $28,$70 + db $28,$78 + db $28,$80 + db $28,$88 + db $30,$68 + db $30,$70 + db $30,$78 + db $30,$80 + db $30,$90 + db $30,$98 + db $38,$68 + db $38,$78 + db $38,$80 + db $38,$88 + db $40,$68 + db $40,$70 + db $40,$78 + db $40,$80 + db $40,$88 + db $40,$98 + db $10,$60 + db $18,$60 + db $20,$60 + db $28,$60 + db $30,$60 + db $40,$60 + db $58,$28 + db $43,$38 + db $33,$48 + db $20,$58 + db $32,$78 + db $58,$58 + db $2C,$6C + db $34,$80 + db $48,$70 + db $42,$36 + db $38,$44 + db $40,$52 + db $48,$60 + db $3E,$6E + db $28,$7C + db $28,$8A + db $50,$3C + db $48,$50 + db $40,$64 + db $38,$38 + db $50,$30 + db $50,$38 + db $50,$40 + db $50,$48 + db $50,$50 + db $48,$58 + db $50,$44 + db $48,$48 + db $48,$4C + db $40,$50 + db $40,$54 + db $38,$58 + db $38,$5C + db $30,$64 + db $48,$40 + db $48,$39 + db $24,$88 + db $24,$70 + db $1C,$70 + db $1C,$88 + db $34,$68 + db $34,$88 + db $68,$50 + db $60,$50 + db $68,$60 + db $58,$50 + db $60,$60 + db $68,$40 + db $40,$40 + db $38,$40 + db $0B,$60 + db $44,$48 + db $40,$14 + db $48,$1C + db $50,$24 + db $4C,$24 + db $10,$62 + db $12,$62 + db $12,$60 + db $20,$72 + db $22,$72 + db $22,$70 + db $28,$62 + db $50,$0A + db $52,$0A + db $38,$30 + db $40,$48 + db $30,$48 + db $40,$30 + db $30,$40 + db $38,$48 + db $40,$4A + db $48,$4B + db $50,$4C + db $58,$4D + db $60,$4D + db $68,$4D + db $38,$10 + db $50,$10 + db $38,$28 + db $48,$18 + db $40,$20 + db $48,$20 + db $40,$3C + db $38,$50 + db $28,$64 + db $1C,$90 + db $24,$80 + db $2C,$70 + db $30,$38 + db $10,$50 + db $3C,$40 + db $40,$58 + db $30,$58 + db $58,$48 + db $50,$58 + db $48,$68 + db $40,$18 + db $28,$58 + db $40,$38 + db $48,$38 + db $08,$70 + db $44,$1C + db $3C,$58 + db $38,$60 + db $08,$60 + db $38,$70 + db $38,$6C + db $38,$64 + db $1C,$74 + db $2E,$74 + db $34,$50 + db $2F,$60 + db $31,$70 + db $4C,$30 + db $3B,$40 + db $2D,$50 + db $26,$60 + db $2D,$70 + db $28,$50 + db $1E,$60 + db $29,$70 + db $16,$60 + db $14,$58 + db $12,$54 + db $14,$50 + db $18,$4C + db $1C,$48 + db $48,$28 + +FrameBlock00: ; 7bde7 (1e:7de7) + db $00,$00 + Func_7bde9: ; 7bde9 (1e:7de9) push hl push de @@ -114368,12 +119603,10 @@ Func_7bde9: ; 7bde9 (1e:7de9) ld a, [$cee9] jr .asm_7be81 -; known jump sources: 7be1b (1e:7e1b), 7be5d (1e:7e5d), 7be94 (1e:7e94) Func_7beb4: ; 7beb4 (1e:7eb4) ld b, $b jp GoPAL_SET -; known jump sources: 7be27 (1e:7e27), 7be3f (1e:7e3f) Func_7beb9: ; 7beb9 (1e:7eb9) call GetMonHeader FuncCoord 7, 2 ; $c3cf @@ -114390,7 +119623,6 @@ asm_7bec2: ; 7bec2 (1e:7ec2) jr nz, asm_7bec2 ret -; known jump sources: 7be7b (1e:7e7b), 7bec7 (1e:7ec7), 7becf (1e:7ecf) Func_7bed6: ; 7bed6 (1e:7ed6) push bc xor a @@ -114436,7 +119668,6 @@ asm_7befa: ; 7befa (1e:7efa) scf ret -; known jump sources: 4582f (11:582f) Func_7bf15: ; 7bf15 (1e:7f15) ld de, $ffe0 call Func_7bf64 @@ -114478,7 +119709,6 @@ Func_7bf15: ; 7bf15 (1e:7f15) call UpdateSprites jp Func_2307 -; known jump sources: 7bf18 (1e:7f18), 7bf1e (1e:7f1e) Func_7bf64: ; 7bf64 (1e:7f64) ld hl, $d527 ld a, [hld] @@ -114507,7 +119737,6 @@ Func_7bf64: ; 7bf64 (1e:7f64) ld [hl], a jp Delay3 -; known jump sources: 3819 (0:3819) GetMachinePrice: ; 7bf86 (1e:7f86) ld a, [$cf91] sub TM_01 @@ -114537,33 +119766,31 @@ TechnicalMachinePrices: ; 7bfa7 (1e:7fa7) db $55, $52, $54, $52, $41 db $21, $12, $42, $25, $24 db $22, $52, $24, $34, $42 -; 7bfc0 - 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_Channel3Duty0 @@ -114597,92 +119824,92 @@ Music1f_Channel3Duty4: ; 7c3b3 (1f:43b3) ; duty 5 reads from sfx data Music1f_Channel3Duty5: ; 7c3c3 (1f:43c3) -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] @@ -115086,7 +120313,7 @@ Music1f_notetype: ; 7d358 (1f:5358) sla a ld d, a ; fall through - + ; if channel 3, store high nibble as volume ; else, store volume (high nibble) and fade (low nibble) .notChannel3 @@ -115108,7 +120335,7 @@ Music1f_togglecall: ; 7d397 (1f:5397) xor $1 ld [hl], a ; flip bit 0 of $c02e (toggle returning from call) jp Music1f_endchannel - + Music1f_vibrato: ; 7d3a9 (1f:53a9) cp $ea ; is this command a vibrato? jr nz, Music1f_pitchbend ; no @@ -115142,7 +120369,7 @@ Music1f_vibrato: ; 7d3a9 (1f:53a9) or d ld [hl], a ; store depth as both high and low nibbles jp Music1f_endchannel - + Music1f_pitchbend: ; 7d3e1 (1f:53e1) cp $eb ; is this command a pitchbend? jr nz, Music1f_duty ; no @@ -115173,7 +120400,7 @@ Music1f_pitchbend: ; 7d3e1 (1f:53e1) call Music1f_GetNextMusicByte ld d, a jp Music1f_notelength - + Music1f_duty: ; 7d419 (1f:5419) cp $ec ; is this command a duty? jr nz, Music1f_tempo ; no @@ -115186,7 +120413,7 @@ Music1f_duty: ; 7d419 (1f:5419) add hl, bc ld [hl], a ; store duty jp Music1f_endchannel - + Music1f_tempo: ; 7d42e (1f:542e) cp $ed ; is this command a tempo? jr nz, Music1f_unknownmusic0xee ; no @@ -115215,14 +120442,14 @@ Music1f_tempo: ; 7d42e (1f:542e) ld [$c0d5], a .musicChannelDone jp Music1f_endchannel - + Music1f_unknownmusic0xee: ; 7d46e (1f:546e) cp $ee ; is this command an unknownmusic0xee? jr nz, Music1f_unknownmusic0xef ; no call Music1f_GetNextMusicByte ; yes ld [$c004], a ; store first param jp Music1f_endchannel - + ; this appears to never be used Music1f_unknownmusic0xef: ; 7d47b (1f:547b) cp $ef ; is this command an unknownmusic0xef? @@ -115240,7 +120467,7 @@ Music1f_unknownmusic0xef: ; 7d47b (1f:547b) ld [$c02d], a .skip jp Music1f_endchannel - + Music1f_dutycycle: ; 7d49a (1f:549a) cp $fc ; is this command a dutycycle? jr nz, Music1f_stereopanning ; no @@ -115257,14 +120484,14 @@ Music1f_dutycycle: ; 7d49a (1f:549a) add hl, bc set 6, [hl] ; set duty flag jp Music1f_endchannel - + Music1f_stereopanning: ; 7d4b8 (1f:54b8) cp $f0 ; is this command a stereopanning? jr nz, Music1f_executemusic ; no call Music1f_GetNextMusicByte ; yes ld [$FF00+$24], a ; store stereopanning jp Music1f_endchannel - + Music1f_executemusic: ; 7d4c4 (1f:54c4) cp $f8 ; is this command an executemusic? jr nz, Music1f_octave ; no @@ -115273,7 +120500,7 @@ Music1f_executemusic: ; 7d4c4 (1f:54c4) add hl, bc set 0, [hl] jp Music1f_endchannel - + Music1f_octave: ; 7d4d3 (1f:54d3) and $f0 cp $e0 ; is this command an octave? @@ -115285,7 +120512,7 @@ Music1f_octave: ; 7d4d3 (1f:54d3) and $f ld [hl], a ; store low nibble as octave jp Music1f_endchannel - + Music1f_unknownsfx0x20: ; 7d4e6 (1f:54e6) cp $20 ; is this command an unknownsfx0x20? jr nz, Music1f_unknownsfx0x10 ; no @@ -115330,7 +120557,7 @@ Music1f_unknownsfx0x20: ; 7d4e6 (1f:54e6) pop de call Func_7d6bf ret - + Music1f_unknownsfx0x10 ; 7d533 (1f:5533) ld a, c cp CH4 @@ -115346,7 +120573,7 @@ Music1f_unknownsfx0x10 ; 7d533 (1f:5533) call Music1f_GetNextMusicByte ; yes ld [$FF00+$10], a jp Music1f_endchannel - + Music1f_note: ; 7d54f (1f:554f) ld a, c cp CH3 @@ -115365,7 +120592,7 @@ Music1f_note: ; 7d54f (1f:554f) push de push bc jr asm_7d571 - + Music1f_dnote: ; 7d569 (1f:5569) ld a, d and $f @@ -115440,7 +120667,7 @@ Music1f_notelength: ; 7d57e (1f:557e) jr z, Music1f_notepitch pop hl ret - + Music1f_notepitch: ; 7d5dc (1f:55dc) pop af and $f0 @@ -116407,73 +121634,64 @@ 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) +_CardKeySuccessText1: ; 80000 (20:4000) db $0, "Bingo!@@" -; 0xa80009 -_UnnamedText_526f3: ; 80009 (20:4009) +_CardKeySuccessText2: ; 80009 (20:4009) db $0, $4f db "The CARD KEY", $55 db "opened the door!", $57 -; 0x80009 + 32 bytes -_UnnamedText_526f8: ; 80029 (20:4029) +_CardKeyFailText: ; 80029 (20:4029) db $0, "Darn! It needs a", $4f db "CARD KEY!", $57 -; 0x80029 + 28 bytes _UnnamedText_33cf: ; 80045 (20:4045) TX_RAM $cd6d db $0, ": @@" -; 0xa8004d _UnnamedText_70847: ; 8004d (20:404d) db $0, "Not even a nibble!", $58 -; 0x8004d + 20 bytes _UnnamedText_7084c: ; 80061 (20:4061) db $0, "Looks like there's", $4f db "nothing here.", $58 -; 0x80061 + 33 bytes _UnnamedText_70851: ; 80082 (20:4082) db $0, "Oh!", $4f db "It's a bite!", $58 -; 0x80082 + 17 bytes _UnnamedText_24db: ; 80093 (20:4093) db $0, "!", $57 -; 0x80093 + 3 bytes _UnnamedText_24e0: ; 80096 (20:4096) db $0, "Ground rose up", $4f db "somewhere!", $57 -; 0x80096 + 27 bytes _BoulderText: ; 800b1 (20:40b1) db $0, "This requires", $4f @@ -116493,19 +121711,16 @@ _FoundItemText: ; 80119 (20:4119) db "@" TX_RAM $cf4b db $0, "!@@" -; 0x8012a _NoMoreRoomForItemText: ; 8012a (20:412a) db $0, "No more room for", $4f db "items!", $57 -; 0x8012a + 25 bytes _UnnamedText_59091: ; 80143 (20:4143) db $0, "Hi! Remember me?", $4f db "I'm PROF.OAK's", $55 db "AIDE!", $51 db "If you caught @" -; 0x80143 + 52 bytes UnnamedText_80177: ; 80177 (20:4177) TX_NUM $ffdb, 1, 3 @@ -116522,13 +121737,11 @@ UnnamedText_80177: ; 80177 (20:4177) TX_NUM $ffdb, 1, 3 db $0, " kinds of", $55 db "#MON?", $57 -; 0x801e4 _UnnamedText_59096: ; 801e4 (20:41e4) db $0, "Let's see...", $4f db "Uh-oh! You have", $55 db "caught only @" -; 0x801e4 + 42 bytes UnnamedText_8020e: ; 8020e (20:420e) TX_NUM $ffdd, 1, 3 @@ -116541,7 +121754,6 @@ UnnamedText_8020e: ; 8020e (20:420e) db "@" TX_RAM $cc5b db $0, ".", $57 -; 0x80250 _UnnamedText_5909b: ; 80250 (20:4250) db $0, "Oh. I see.", $51 @@ -116552,12 +121764,10 @@ _UnnamedText_5909b: ; 80250 (20:4250) db "for @" TX_RAM $cc5b db $0, ".", $57 -; 0x8028c _UnnamedText_590a0: ; 8028c (20:428c) db $0, "Great! You have", $4f db "caught @" -; 0x8028c + 25 bytes UnnamedText_802a5: ; 802a5 (20:42a5) TX_NUM $ffdd, 1, 3 @@ -116565,26 +121775,22 @@ UnnamedText_802a5: ; 802a5 (20:42a5) db "of #MON!", $55 db "Congratulations!", $51 db "Here you go!", $58 -; 0x802a5 + 52 bytes = 0x802d9 -UnnamedText_802d9: ; 802d9 (20:42d9) +_UnnamedText_590a5: ; 802d9 (20:42d9) db $0, $52, " got the", $4f db "@" TX_RAM $cc5b db $0, "!@@" -; 0xa802ec _UnnamedText_590ab: ; 802ec (20:42ec) db $0, "Oh! I see you", $4f db "don't have any", $55 db "room for the", $55 db "@" -; 0x802ec + 43 bytes UnnamedText_80317: ; 80317 (20:4317) TX_RAM $cc5b db $0, ".", $57 -; 0x80317 + 6 bytes = 0x8031d _ViridianForestText1: ; 8031d (20:431d) db $0, "I came here with", $4f @@ -116596,56 +121802,47 @@ _ViridianForestBattleText1: ; 80359 (20:4359) db $0, "Hey! You have", $4f db "#MON! Come on!", $55 db "Let's battle'em!", $57 -; 0x80359 + 46 bytes _ViridianForestEndBattleText1: ; 80387 (20:4387) db $0, "No!", $4f db "CATERPIE can't", $55 db "cut it!", $58 -; 0x80387 + 27 bytes -_ViridianForestAfterBattleText1: ; 803a2 (20:43a2) +_ViridianFrstAfterBattleText1: ; 803a2 (20:43a2) db $0, "Ssh! You'll scare", $4f db "the bugs away!", $57 -; 0x803a2 + 33 bytes _ViridianForestBattleText2: ; 803c3 (20:43c3) db $0, "Yo! You can't jam", $4f db "out if you're a", $55 db "#MON trainer!", $57 -; 0x803c3 + 47 bytes _ViridianForestEndBattleText2: ; 803f2 (20:43f2) db $0, "Huh?", $4f db "I ran out of", $55 db "#MON!", $58 -; 0x803f2 + 25 bytes -_ViridianForestAfterBattleText2: ; 8040b (20:440b) +_ViridianFrstAfterBattleText2: ; 8040b (20:440b) db $0, "Darn! I'm going", $4f db "to catch some", $55 db "stronger ones!", $57 -; 0x8040b + 45 bytes _ViridianForestBattleText3: ; 80438 (20:4438) db $0, "Hey, wait up!", $4f db "What's the hurry?", $57 -; 0x80438 + 32 bytes _ViridianForestEndBattleText3: ; 80458 (20:4458) db $0, "I", $4f db "give! You're good", $55 db "at this!", $58 -; 0x80458 + 29 bytes -_ViridianForestAfterBattleText3: ; 80475 (20:4475) +_ViridianFrstAfterBattleText3: ; 80475 (20:4475) db $0, "Sometimes, you", $4f db "can find stuff on", $55 db "the ground!", $51 db "I'm looking for", $4f db "the stuff I", $55 db "dropped!", $57 -; 0x80475 + 82 bytes _ViridianForestText8: ; 804c7 (20:44c7) db $0, "I ran out of #", $4f @@ -116698,116 +121895,95 @@ _MtMoon1BattleText2: ; 80692 (20:4692) db $0, "WHOA! You shocked", $4f db "me! Oh, you're", $55 db "just a kid!", $57 -; 0x80692 + 45 bytes _MtMoon1EndBattleText2: ; 806bf (20:46bf) db $0, "Wow!", $4f db "Shocked again!", $58 -; 0x806bf + 21 bytes _MtMoon1AfterBattleText2: ; 806d4 (20:46d4) db $0, "Kids like you", $4f db "shouldn't be", $55 db "here!", $57 -; 0x806d4 + 33 bytes _MtMoon1BattleText3: ; 806f5 (20:46f5) db $0, "Did you come to", $4f db "explore too?", $57 -; 0x806f5 + 30 bytes _MtMoon1EndBattleText3: ; 80713 (20:4713) db $0, "Losing", $4f db "stinks!", $58 -; 0x80713 + 16 bytes _MtMoon1AfterBattleText3: ; 80723 (20:4723) db $0, "I came down here", $4f db "to show off to", $55 db "girls.", $57 -; 0x80723 + 40 bytes _MtMoon1BattleText4: ; 8074b (20:474b) db $0, "Wow! It's way", $4f db "bigger in here", $55 db "than I thought!", $57 -; 0x8074b + 45 bytes _MtMoon1EndBattleText4: ; 80778 (20:4778) db $0, "Oh!", $4f db "I lost it!", $58 -; 0x80778 + 16 bytes _MtMoon1AfterBattleText4: ; 80788 (20:4788) db $0, "How do you get", $4f db "out of here?", $57 -; 0x80788 + 29 bytes _MtMoon1BattleText5: ; 807a5 (20:47a5) db $0, "What! Don't sneak", $4f db "up on me!", $57 -; 0x807a5 + 28 bytes _MtMoon1EndBattleText5: ; 807c1 (20:47c1) db $0, "My", $4f db "#MON won't do!", $58 -; 0x807c1 + 18 bytes _MtMoon1AfterBattleText5: ; 807d3 (20:47d3) db $0, "I have to find", $4f db "stronger #MON.", $57 -; 0x807d3 + 31 bytes _MtMoon1BattleText6: ; 807f2 (20:47f2) db $0, "What? I'm waiting", $4f db "for my friends to", $55 db "find me here.", $57 -; 0x807f2 + 50 bytes _MtMoon1EndBattleText6: ; 80824 (20:4824) db $0, "I lost?", $58 -; 0x80824 + 9 bytes _MtMoon1AfterBattleText6: ; 8082d (20:482d) db $0, "I heard there are", $4f db "some very rare", $55 db "fossils here.", $57 -; 0x8082d + 48 bytes _MtMoon1BattleText7: ; 8085d (20:485d) db $0, "Suspicious men", $4f db "are in the cave.", $55 db "What about you?", $57 -; 0x8085d + 49 bytes _MtMoon1EndBattleText7: ; 8088e (20:488e) db $0, "You", $4f db "got me!", $58 -; 0x8088e + 13 bytes _MtMoon1AfterBattleText7: ; 8089b (20:489b) db $0, "I saw them! I'm", $4f db "sure they're from", $55 db "TEAM ROCKET!", $57 -; 0x8089b + 46 bytes _MtMoon1BattleText8: ; 808c9 (20:48c9) db $0, "Go through this", $4f db "cave to get to", $55 db "CERULEAN CITY!", $57 -; 0x808c9 + 47 bytes _MtMoon1EndBattleText8: ; 808f8 (20:48f8) db $0, "I", $4f db "lost.", $58 -; 0x808f8 + 9 bytes _MtMoon1AfterBattleText8: ; 80901 (20:4901) db $0, "ZUBAT is tough!", $4f db "But, it can be", $55 db "useful if you", $55 db "catch one.", $57 -; 0x80901 + 57 bytes _MtMoon1Text14: ; 8093a (20:493a) db $0, "Beware! ZUBAT is", $4f @@ -116815,47 +121991,39 @@ _MtMoon1Text14: ; 8093a (20:493a) _UnnamedText_51a48: ; 8095c (20:495c) db $0, $57 -; 0x8095c + 2 bytes _UnnamedText_49f24: ; 8095e (20:495e) db $0, "You want the", $4f db "DOME FOSSIL?", $57 -; 0x8095e + 27 bytes _UnnamedText_49f64: ; 80979 (20:4979) db $0, "You want the", $4f db "HELIX FOSSIL?", $57 -; 0x80979 + 28 bytes _UnnamedText_49f6f: ; 80995 (20:4995) db $0, $52, " got the", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0x809a8 _UnnamedText_49f7f: ; 809a8 (20:49a8) db $0, "Look, you've got", $4f db "no room for this.@@" -; 0x809cc _UnnamedText_49f85: ; 809cc (20:49cc) db $0, "Hey, stop!", $51 db "I found these", $4f db "fossils! They're", $55 db "both mine!", $57 -; 0x809cc + 53 bytes _UnnamedText_49f8a: ; 80a01 (20:4a01) db $0, "OK!", $4f db "I'll share!", $58 -; 0x80a01 + 16 bytes _UnnamedText_49f8f: ; 80a11 (20:4a11) db $0, "We'll each take", $4f db "one!", $55 db "No being greedy!", $57 -; 0x80a11 + 38 bytes _UnnamedText_49f94: ; 80a37 (20:4a37) db $0, "Far away, on", $4f @@ -116865,81 +122033,67 @@ _UnnamedText_49f94: ; 80a37 (20:4a37) db "They do research", $4f db "on regenerating", $55 db "fossils.", $57 -; 0x80a37 + 92 bytes -UnnamedText_80a93: ; 80a93 (20:4a93) +_UnnamedText_49f99: ; 80a93 (20:4a93) db $0, "All right. Then", $4f db "this is mine!@@" -; 0x80ab3 _MtMoon3BattleText2: ; 80ab3 (20:4ab3) db $0, "TEAM ROCKET will", $4f db "find the fossils,", $55 db "revive and sell", $55 db "them for cash!", $57 -; 0x80ab3 + 67 bytes _MtMoon3EndBattleText2: ; 80af6 (20:4af6) db $0, "Urgh!", $4f db "Now I'm mad!", $58 -; 0x80af6 + 19 bytes _MtMoon3AfterBattleText2: ; 80b09 (20:4b09) db $0, "You made me mad!", $4f db "TEAM ROCKET will", $55 db "blacklist you!", $57 -; 0x80b09 + 50 bytes _MtMoon3BattleText3: ; 80b3b (20:4b3b) db $0, "We, TEAM ROCKET,", $4f db "are #MON", $55 db "gangsters!", $57 -; 0x80b3b + 38 bytes _MtMoon3EndBattleText3: ; 80b61 (20:4b61) db $0, "I blew", $4f db "it!", $58 -; 0x80b61 + 12 bytes _MtMoon3AfterBattleText3: ; 80b6d (20:4b6d) db $0, "Darn it all! My", $4f db "associates won't", $55 db "stand for this!", $57 -; 0x80b6d + 49 bytes _MtMoon3BattleText4: ; 80b9e (20:4b9e) db $0, "We're pulling a", $4f db "big job here!", $55 db "Get lost, kid!", $57 -; 0x80b9e + 45 bytes _MtMoon3EndBattleText4: ; 80bcb (20:4bcb) db $0, "So, you", $4f db "are good.", $58 -; 0x80bcb + 19 bytes _MtMoon3AfterBattleText4: ; 80bde (20:4bde) db $0, "If you find a", $4f db "fossil, give it", $55 db "to me and scram!", $57 -; 0x80bde + 48 bytes _MtMoon3BattleText5: ; 80c0e (20:4c0e) db $0, "Little kids", $4f db "should leave", $55 db "grown-ups alone!", $57 -; 0x80c0e + 43 bytes _MtMoon3EndBattleText5: ; 80c39 (20:4c39) db $0, "I'm", $4f db "steamed!", $58 -; 0x80c39 + 13 bytes _MtMoon3AfterBattleText5: ; 80c46 (20:4c46) db $0, "#MON lived", $4f db "here long before", $55 db "people came.", $57 -; 0x80c46 + 42 bytes _SSAnne1Text1: ; 80c70 (20:4c70) db $0, "Bonjour!", $4f @@ -116981,21 +122135,18 @@ _SSAnneRivalBeforeBattleText: ; 80d9a (20:4d9a) db "are everywhere!", $51 db "Crawl around in", $4f db "grassy areas!", $57 -; 0x80d9a + 189 bytes _SSAnneRivalDefeatedText: ; 80e57 (20:4e57) db $0, "Humph!", $51 db "At least you're", $4f db "raising your", $55 db "#MON!", $58 -; 0x80e57 + 42 bytes _SSAnneRivalWonText: ; 80e81 (20:4e81) db $0, $52, "! What are", $4f db "you, seasick?", $51 db "You should shape", $4f db "up, pal!", $58 -; 0x80e81 + 53 bytes _SSAnneRivalCaptainText: ; 80eb6 (20:4eb6) db $0, $53, ": I heard", $4f @@ -117007,7 +122158,6 @@ _SSAnneRivalCaptainText: ; 80eb6 (20:4eb6) db "really useful!", $51 db "You should go see", $4f db "him! Smell ya!", $57 -; 0x80eb6 + 149 bytes _SSAnne3Text1: ; 80f4b (20:4f4b) db $0, "Our CAPTAIN is a", $4f @@ -117033,35 +122183,29 @@ _SSAnneBattleText1: ; 8100b (20:500b) db $0, "Hey matey!", $51 db "Let's do a little", $4f db "jig!", $57 -; 0x8100b + 34 bytes _SSAnneEndBattleText1: ; 8102d (20:502d) db $0, "You're", $4f db "impressive!", $58 -; 0x8102d + 19 bytes _SSAnneAfterBattleText1: ; 81040 (20:5040) db $0, "How many kinds of", $4f db "#MON do you", $55 db "think there are?", $57 -; 0x81040 + 48 bytes _SSAnneBattleText2: ; 81070 (20:5070) db $0, "Ahoy there!", $4f db "Are you seasick?", $57 -; 0x81070 + 30 bytes _SSAnneEndBattleText2: ; 8108e (20:508e) db $0, "I was", $4f db "just careless!", $58 -; 0x8108e + 22 bytes _SSAnneAfterBattleText2: ; 810a4 (20:50a4) db $0, "My Pa said there", $4f db "are 100 kinds of", $55 db "#MON. I think", $55 db "there are more.", $57 -; 0x810a4 + 65 bytes _SSAnne6Text1: ; 810e5 (20:50e5) db $0, "You, mon petit!", $4f @@ -117099,26 +122243,22 @@ _UnnamedText_61807: ; 81203 (20:5203) db $0, "Er-hem! Indeed I", $4f db "am le CHEF!", $51 db "Le main course is", $58 -; 0x81203 + 48 bytes _UnnamedText_6180c: ; 81233 (20:5233) db $0, "Salmon du Salad!", $51 db "Les guests may", $4f db "gripe it's fish", $55 db "again, however!", $57 -; 0x81233 + 64 bytes _UnnamedText_61811: ; 81273 (20:5273) db $0, "Eels au Barbecue!", $51 db "Les guests will", $4f db "mutiny, I fear.", $57 -; 0x81273 + 51 bytes _UnnamedText_61816: ; 812a6 (20:52a6) db $0, "Prime Beef Steak!", $51 db "But, have I enough", $4f db "fillets du beef?", $57 -; 0x812a6 + 55 bytes _SSAnne7RubText: ; 812dd (20:52dd) db $0, "CAPTAIN: Ooargh...", $4f @@ -117129,7 +122269,6 @@ _SSAnne7RubText: ; 812dd (20:52dd) db "back!", $51 db "Rub-rub...", $4f db "Rub-rub...@@" -; 0x81347 _ReceivingHM01Text: ; 81347 (20:5347) db $0, "CAPTAIN: Whew!", $4f @@ -117145,26 +122284,22 @@ _ReceivingHM01Text: ; 81347 (20:5347) db "#MON and you", $55 db "can see it CUT", $55 db "any time!", $58 -; 0x81347 + 198 bytes _ReceivedHM01Text: ; 8140d (20:540d) db $0, $52, " got", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0x8141c _UnnamedText_61932: ; 8141c (20:541c) db $0, "CAPTAIN: Whew!", $51 db "Now that I'm not", $4f db "sick any more, I", $55 db "guess it's time.", $57 -; 0x8141c + 65 bytes _HM01NoRoomText: ; 8145d (20:545d) db $0, "Oh no! You have", $4f db "no room for this!", $57 -; 0x8145d + 35 bytes _SSAnne7Text2: ; 81480 (20:5480) db $0, "Yuck! Shouldn't", $4f @@ -117185,61 +122320,50 @@ _SSAnne8BattleText1: ; 814f1 (20:54f1) db "on my journeys!", $51 db "My #MON are my", $4f db "only friends!", $57 -; 0x814f1 + 61 bytes _SSAnne8EndBattleText1: ; 8152e (20:552e) db $0, "My, my", $4f db "friends...", $58 -; 0x8152e + 19 bytes _SSAnne8AfterBattleText1: ; 81541 (20:5541) db $0, "You should be", $4f db "nice to friends!", $57 -; 0x81541 + 32 bytes _SSAnne8BattleText2: ; 81561 (20:5561) db $0, "You pup! How dare", $4f db "you barge in!", $57 -; 0x81561 + 33 bytes _SSAnne8EndBattleText2: ; 81582 (20:5582) db $0, "Humph!", $4f db "You rude child!", $58 -; 0x81582 + 24 bytes _UnnamedText_61a24: ; 8159a (20:559a) db $0, "I wish to be left", $4f db "alone! Get out!", $57 -; 0x8159a + 35 bytes _SSAnne8BattleText3: ; 815bd (20:55bd) db $0, "I love #MON!", $4f db "Do you?", $57 -; 0x815bd + 22 bytes _SSAnne8EndBattleText3: ; 815d3 (20:55d3) db $0, "Wow! ", $4f db "You're great!", $58 -; 0x815d3 + 20 bytes _SSAnne8AfterBattleText3: ; 815e7 (20:55e7) db $0, "Let me be your", $4f db "friend, OK?", $51 db "Then we can trade", $4f db "#MON!", $57 -; 0x815e7 + 52 bytes _SSAnne8BattleText4: ; 8161b (20:561b) db $0, "I collected these", $4f db "#MON from all", $55 db "around the world!", $57 -; 0x8161b + 51 bytes _SSAnne8EndBattleText4: ; 8164e (20:564e) db $0, "Oh no!", $4f db "I went around the", $55 db "world for these!", $58 -; 0x8164e + 43 bytes _SSAnne8AfterBattleText4: ; 81679 (20:5679) db $0, "You hurt my poor", $4f @@ -117247,7 +122371,6 @@ _SSAnne8AfterBattleText4: ; 81679 (20:5679) db "I demand that you", $4f db "heal them at a", $55 db "#MON CENTER!", $57 -; 0x81679 + 78 bytes _SSAnne8Text5: ; 816c7 (20:56c7) db $0, "Waiter, I would", $4f @@ -117279,19 +122402,16 @@ _UnnamedText_61bf2: ; 81799 (20:5799) db "like this one!", $51 db "It was something", $4f db "like this!", $58 -; 0x81799 + 92 bytes _UnnamedText_61c01: ; 817f5 (20:57f5) db $0, "Ah yes, I have", $4f db "seen some #MON", $55 db "ferry people", $55 db "across the water!", $57 -; 0x817f5 + 62 bytes _UnnamedText_61c10: ; 81833 (20:5833) db $0, "#MON can CUT", $4f db "down small bushes.", $57 -; 0x81833 + 33 bytes _UnnamedText_61c1f: ; 81854 (20:5854) db $0, "Have you gone to", $4f @@ -117299,89 +122419,73 @@ _UnnamedText_61c1f: ; 81854 (20:5854) db "in FUCHSIA CITY?", $51 db "It had many rare", $4f db "kinds of #MON!!", $57 -; 0x81854 + 84 bytes _UnnamedText_61c2e: ; 818a8 (20:58a8) db $0, "Me and my Daddy", $4f db "think the SAFARI", $55 db "ZONE is awesome!", $57 -; 0x818a8 + 51 bytes _UnnamedText_61c3d: ; 818db (20:58db) db $0, "The CAPTAIN looked", $4f db "really sick and", $55 db "pale!", $57 -; 0x818db + 42 bytes _UnnamedText_61c4c: ; 81905 (20:5905) db $0, "I hear many people", $4f db "get seasick!", $57 -; 0x81905 + 33 bytes _SSAnne9BattleText1: ; 81926 (20:5926) db $0, "Competing against", $4f db "the young keeps", $55 db "me youthful.", $57 -; 0x81926 + 48 bytes _SSAnne9EndBattleText1: ; 81956 (20:5956) db $0, "Good", $4f db "fight! Ah, I feel", $55 db "young again!", $58 -; 0x81956 + 37 bytes _SSAnne9AfterBattleText1: ; 8197b (20:597b) db $0, "15 years ago, I", $4f db "would have won!", $57 -; 0x8197b + 33 bytes _SSAnne9BattleText2: ; 8199c (20:599c) db $0, "Check out what I", $4f db "fished up!", $57 -; 0x8199c + 29 bytes _SSAnne9EndBattleText2: ; 819b9 (20:59b9) db $0, "I'm", $4f db "all out!", $58 -; 0x819b9 + 13 bytes _SSAnne9AfterBattleText2: ; 819c6 (20:59c6) db $0, "Party?", $51 db "The cruise ship's", $4f db "party should be", $55 db "over by now.", $57 -; 0x819c6 + 54 bytes _SSAnne9BattleText3: ; 819fc (20:59fc) db $0, "Which do you like,", $4f db "a strong or a", $55 db "rare #MON?", $57 -; 0x819fc + 45 bytes _SSAnne9EndBattleText3: ; 81a29 (20:5a29) db $0, "I must", $4f db "salute you!", $58 -; 0x81a29 + 20 bytes _SSAnne9AfterBattleText3: ; 81a3d (20:5a3d) db $0, "I prefer strong", $4f db "and rare #MON.", $57 -; 0x81a3d + 32 bytes _SSAnne9BattleText4: ; 81a5d (20:5a5d) db $0, "I never saw you", $4f db "at the party.", $57 -; 0x81a5d + 31 bytes _SSAnne9EndBattleText4: ; 81a7c (20:5a7c) db $0, "Take", $4f db "it easy!", $58 -; 0x81a7c + 15 bytes _SSAnne9AfterBattleText4: ; 81a8b (20:5a8b) db $0, "Oh, I adore your", $4f db "strong #MON!", $57 -; 0x81a8b + 31 bytes _SSAnne10Text8: ; 81aaa (20:5aaa) db $0, "MACHOKE: Gwoh!", $4f @@ -117391,101 +122495,83 @@ _SSAnne10BattleText1: ; 81ac3 (20:5ac3) db $0, "You know what they", $4f db "say about sailors", $55 db "and fighting!", $57 -; 0x81ac3 + 52 bytes _SSAnne10EndBattleText1: ; 81af7 (20:5af7) db $0, "Right!", $4f db "Good fight, mate!", $58 -; 0x81af7 + 26 bytes _SSAnne10AfterBattleText1: ; 81b11 (20:5b11) db $0, "Haha! Want to be", $4f db "a sailor, mate?", $57 -; 0x81b11 + 34 bytes _SSAnne10BattleText2: ; 81b33 (20:5b33) db $0, "My sailor's pride", $4f db "is at stake!", $57 -; 0x81b33 + 31 bytes _SSAnne10EndBattleText2: ; 81b52 (20:5b52) db $0, "Your", $4f db "spirit sank me!", $58 -; 0x81b52 + 22 bytes _SSAnne10AfterBattleText2: ; 81b68 (20:5b68) db $0, "Did you see the", $4f db "FISHING GURU in", $55 db "VERMILION CITY?", $57 -; 0x81b68 + 49 bytes _SSAnne10BattleText3: ; 81b99 (20:5b99) db $0, "Us sailors have", $4f db "#MON too!", $57 -; 0x81b99 + 27 bytes _SSAnne10EndBattleText3: ; 81bb4 (20:5bb4) db $0, "OK, ", $4f db "you're not bad.", $58 -; 0x81bb4 + 21 bytes _SSAnne10AfterBattleText3: ; 81bc9 (20:5bc9) db $0, "We caught all our", $4f db "#MON while", $55 db "out at sea!", $57 -; 0x81bc9 + 42 bytes _SSAnne10BattleText4: ; 81bf3 (20:5bf3) db $0, "I like feisty", $4f db "kids like you!@@" -; 0x81bf3 + 31 bytes _SSAnne10EndBattleText4: ; 81c12 (20:5c12) db $0, "Argh!", $4f db "Lost it!", $58 -; 0x81c12 + 16 bytes _SSAnne10AfterBattleText4: ; 81c22 (20:5c22) db $0, "Sea #MON live", $4f db "in deep water.", $55 db "You'll need a ROD!", $57 -; 0x81c22 + 48 bytes _SSAnne10BattleText5: ; 81c52 (20:5c52) db $0, "Matey, you're", $4f db "walking the plank", $55 db "if you lose!", $57 -; 0x81c52 + 45 bytes _SSAnne10EndBattleText5: ; 81c7f (20:5c7f) db $0, "Argh!", $4f db "Beaten by a kid!", $58 -; 0x81c7f + 24 bytes _SSAnne10AfterBattleText5: ; 81c97 (20:5c97) db $0, "Jellyfish some-", $4f db "times drift into", $55 db "the ship.", $57 -; 0x81c97 + 44 bytes _SSAnne10BattleText6: ; 81cc3 (20:5cc3) db $0, "Hello stranger!", $4f db "Stop and chat!", $51 db "All my #MON", $4f db "are from the sea!", $57 -; 0x81cc3 + 62 bytes _SSAnne10EndBattleText6: ; 81d01 (20:5d01) db $0, "Darn!", $4f db "I let that one", $55 db "get away!", $58 -; 0x81d01 + 32 bytes _SSAnne10AfterBattleText6: ; 81d21 (20:5d21) db $0, "I was going to", $4f db "make you my", $55 db "assistant too!", $57 -; 0x81d21 + 43 bytes _SSAnne10Text7: ; 81d4c (20:5d4c) db $0, "My buddy, MACHOKE,", $4f @@ -117497,206 +122583,168 @@ _SSAnne10Text7: ; 81d4c (20:5d4c) _VictoryRoad3BattleText2: ; 81d9b (20:5d9b) db $0, "I heard rumors of", $4f db "a child prodigy!", $57 -; 0x81d9b + 36 bytes _VictoryRoad3EndBattleText2: ; 81dbf (20:5dbf) db $0, "The", $4f db "rumors were true!", $58 -; 0x81dbf + 23 bytes _VictoryRoad3AfterBattleText2: ; 81dd6 (20:5dd6) db $0, "You beat GIOVANNI", $4f db "of TEAM ROCKET?", $57 -; 0x81dd6 + 35 bytes _VictoryRoad3BattleText3: ; 81df9 (20:5df9) db $0, "I'll show you just", $4f db "how good you are!", $57 -; 0x81df9 + 37 bytes _VictoryRoad3EndBattleText3: ; 81e1e (20:5e1e) db $0, "I'm", $4f db "furious!", $58 -; 0x81e1e + 13 bytes _VictoryRoad3AfterBattleText3: ; 81e2b (20:5e2b) db $0, "You showed me just", $4f db "how good I was!", $57 -; 0x81e2b + 36 bytes _VictoryRoad3BattleText4: ; 81e4f (20:5e4f) db $0, "Only the chosen", $4f db "can pass here!", $57 -; 0x81e4f + 32 bytes _VictoryRoad3EndBattleText4: ; 81e6f (20:5e6f) db $0, "I", $4f db "don't believe it!", $58 -; 0x81e6f + 20 bytes _VictoryRoad3AfterBattleText4: ; 81e83 (20:5e83) db $0, "All trainers here", $4f db "are headed to the", $55 db "#MON LEAGUE!", $55 db "Be careful!", $57 -; 0x81e83 + 62 bytes _VictoryRoad3BattleText5: ; 81ec1 (20:5ec1) db $0, "Trainers live to", $4f db "seek stronger", $55 db "opponents!", $57 -; 0x81ec1 + 43 bytes _VictoryRoad3EndBattleText5: ; 81eec (20:5eec) db $0, "Oh!", $4f db "So strong!", $58 -; 0x81eec + 16 bytes _VictoryRoad3AfterBattleText5: ; 81efc (20:5efc) db $0, "By fighting tough", $4f db "battles, you get", $55 db "stronger!", $57 -; 0x81efc + 46 bytes _RocketHideout1EndBattleText6: ; 81f2a (20:5f2a) db $0, "Why...?@@" -; 0x81f34 _RocketHideout1BattleText2: ; 81f34 (20:5f34) db $0, "Who are you? How", $4f db "did you get here?", $57 -; 0x81f34 + 36 bytes _RocketHideout1EndBattleText2: ; 81f58 (20:5f58) db $0, "Oww!", $4f db "Beaten!", $58 -; 0x81f58 + 14 bytes _RocketHideout1AfterBattleTxt2: ; 81f66 (20:5f66) db $0, "Are you dissing", $4f db "TEAM ROCKET?", $57 -; 0x81f66 + 30 bytes _RocketHideout1BattleText3: ; 81f84 (20:5f84) db $0, "You broke into", $4f db "our operation?", $57 -; 0x81f84 + 31 bytes _RocketHideout1EndBattleText3: ; 81fa3 (20:5fa3) db $0, "Burnt!", $58 -; 0x81fa3 + 8 bytes _RocketHideout1AfterBattleTxt3: ; 81fab (20:5fab) db $0, "You're not going", $4f db "to get away with", $55 db "this, brat!", $57 -; 0x81fab + 46 bytes _RocketHideout1BattleText4: ; 81fd9 (20:5fd9) db $0, "Intruder alert!", $57 -; 0x81fd9 + 17 bytes _RocketHideout1EndBattleText4: ; 81fea (20:5fea) db $0, "I", $4f db "can't do it!", $58 -; 0x81fea + 15 bytes _RocketHideout1AfterBattleTxt4: ; 81ff9 (20:5ff9) db $0, "SILPH SCOPE?", $4f db "I don't know", $55 db "where it is!", $57 -; 0x81ff9 + 39 bytes _RocketHideout1BattleText5: ; 82020 (20:6020) db $0, "Why did you come", $4f db "here?", $57 -; 0x82020 + 24 bytes _RocketHideout1EndBattleText5: ; 82038 (20:6038) db $0, "This", $4f db "won't do!", $58 -; 0x82038 + 15 bytes _RocketHideout1AfterBattleTxt5: ; 82047 (20:6047) db $0, "OK, I'll talk!", $4f db "Take the elevator", $55 db "to see my BOSS!", $57 -; 0x82047 + 49 bytes _RocketHideout1BattleText6: ; 82078 (20:6078) db $0, "Are you lost, you", $4f db "little rat?", $57 -; 0x82078 + 31 bytes _RocketHideout1AfterBattleTxt6: ; 82097 (20:6097) db $0, "Uh-oh, that fight", $4f db "opened the door!", $57 -; 0x82097 + 36 bytes _RocketHideout2BattleText2: ; 820bb (20:60bb) db $0, "BOSS said you can", $4f db "see GHOSTs with", $55 db "the SILPH SCOPE!", $57 -; 0x820bb + 52 bytes _RocketHideout2EndBattleText2: ; 820ef (20:60ef) db $0, "I", $4f db "surrender!", $58 -; 0x820ef + 14 bytes _RocketHideout2AfterBattleTxt2: ; 820fd (20:60fd) db $0, "The TEAM ROCKET", $4f db "HQ has 4 basement", $55 db "floors. Can you", $55 db "reach the BOSS?", $57 -; 0x820fd + 67 bytes _RocketHideout3BattleText2: ; 82140 (20:6140) db $0, "Stop meddling in", $4f db "TEAM ROCKET's", $55 db "affairs!", $57 -; 0x82140 + 40 bytes _RocketHideout3EndBattleText2: ; 82168 (20:6168) db $0, "Oof!", $4f db "Taken down!", $58 -; 0x82168 + 18 bytes _RocketHideout3AfterBattleTxt2: ; 8217a (20:617a) db $0, "SILPH SCOPE?", $4f db "The machine the", $55 db "BOSS stole. It's", $55 db "here somewhere.", $57 -; 0x8217a + 62 bytes _RocketHideout3BattleTxt: ; 821b8 (20:61b8) db $0, "We got word from", $4f db "upstairs that you", $55 db "were coming!", $57 -; 0x821b8 + 49 bytes _RocketHideout3EndBattleText3: ; 821e9 (20:61e9) db $0, "What?", $4f db "I lost? No!", $58 -; 0x821e9 + 19 bytes -_RocketHideout3AfterBattleText3: ; 821fc (20:61fc) +_RocketHide3AfterBattleText3: ; 821fc (20:61fc) db $0, "Go ahead and go!", $4f db "But, you need the", $55 db "LIFT KEY to run", $55 db "the elevator!", $57 -; 0x821fc + 66 bytes _UnnamedText_4557a: ; 8223e (20:623e) db $0, "So! I must say, I", $4f db "am impressed you", $55 db "got here!", $57 -; 0x8223e + 46 bytes _UnnamedText_4557f: ; 8226c (20:626c) db $0, "WHAT!", $4f db "This cannot be!", $58 -; 0x8226c + 23 bytes _UnnamedText_45584: ; 82283 (20:6283) db $0, "I see that you", $4f @@ -117710,59 +122758,48 @@ _UnnamedText_45584: ; 82283 (20:6283) db "aside this time!", $51 db "I hope we meet", $4f db "again...", $57 -; 0x82283 + 163 bytes _RocketHideout4BattleText2: ; 82326 (20:6326) db $0, "I know you! You", $4f db "ruined our plans", $55 db "at MT.MOON!", $57 -; 0x82326 + 46 bytes _RocketHideout4EndBattleText2: ; 82354 (20:6354) db $0, "Burned", $4f db "again!", $58 -; 0x82354 + 15 bytes -_RocketHideout4AfterBattleText2: ; 82363 (20:6363) +_RocketHide4AfterBattleText2: ; 82363 (20:6363) db $0, "Do you have", $4f db "something against", $55 db "TEAM ROCKET?", $57 -; 0x82363 + 44 bytes _RocketHideout4BattleText3: ; 8238f (20:638f) db $0, "How can you not", $4f db "see the beauty of", $55 db "our evil?", $57 -; 0x8238f + 45 bytes _RocketHideout4EndBattleText3: ; 823bc (20:63bc) db $0, "Ayaya!", $58 -; 0x823bc + 8 bytes -_RocketHideout4AfterBattleText3: ; 823c4 (20:63c4) +_RocketHide4AfterBattleText3: ; 823c4 (20:63c4) db $0, "BOSS! I'm sorry I", $4f db "failed you!", $57 -; 0x823c4 + 30 bytes _RocketHideout4BattleText4: ; 823e2 (20:63e2) db $0, "The elevator", $4f db "doesn't work? Who", $55 db "has the LIFT KEY?", $57 -; 0x823e2 + 49 bytes _RocketHideout4EndBattleText4: ; 82413 (20:6413) db $0, "No!", $58 -; 0x82413 + 5 bytes _UnnamedText_455ec: ; 82418 (20:6418) db $0, "Oh no! I dropped", $4f db "the LIFT KEY!", $57 -; 0x82418 + 32 bytes _UnnamedText_4578b: ; 82438 (20:6438) db $0, "It appears to", $4f db "need a key.@@" -; 0xa82454 _UnnamedText_59ded: ; 82454 (20:6454) db $0, "Eeek!", $4f @@ -117772,14 +122809,12 @@ _UnnamedText_59ded: ; 82454 (20:6454) db "I thought...", $55 db "I'm sorry. Here,", $55 db "please take this!", $58 -; 0x82454 + 102 bytes _ReceivedTM36Text: ; 824ba (20:64ba) db $0, $52, " got", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0x824c9 _TM36ExplanationText: ; 824c9 (20:64c9) db $0, "TM36 is", $4f @@ -117788,53 +122823,43 @@ _TM36ExplanationText: ; 824c9 (20:64c9) db "the #MON that", $55 db "uses it faints!", $55 db "Be careful.", $57 -; 0x824c9 + 83 bytes _TM36NoRoomText: ; 8251c (20:651c) db $0, "You don't have any", $4f db "room for this.", $57 -; 0x8251c + 34 bytes _SilphCo2BattleText1: ; 8253e (20:653e) db $0, "Help! I'm a SILPH", $4f db "employee.", $57 -; 0x8253e + 28 bytes _SilphCo2EndBattleText1: ; 8255a (20:655a) db $0, "How", $4f db "did you know I", $55 db "was a ROCKET?", $58 -; 0x8255a + 34 bytes _SilphCo2AfterBattleText1: ; 8257c (20:657c) db $0, "I work for both", $4f db "SILPH and TEAM", $55 db "ROCKET!", $57 -; 0x8257c + 40 bytes _SilphCo2BattleText2: ; 825a4 (20:65a4) db $0, "It's off limits", $4f db "here! Go home!", $57 -; 0x825a4 + 31 bytes _SilphCo2EndBattleText2: ; 825c3 (20:65c3) db $0, "You're", $4f db "good.", $58 -; 0x825c3 + 13 bytes _SilphCo2AfterBattleText2: ; 825d0 (20:65d0) db $0, "Can you solve the", $4f db "maze in here?", $57 -; 0x825d0 + 33 bytes _SilphCo2BattleText3: ; 825f1 (20:65f1) db $0, "No kids are", $4f db "allowed in here!", $57 -; 0x825f1 + 30 bytes _SilphCo2EndBattleText3: ; 8260f (20:660f) db $0, "Tough!", $58 -; 0x8260f + 8 bytes _SilphCo2AfterBattleText3: ; 82617 (20:6617) db $0, "Diamond shaped", $4f @@ -117842,60 +122867,49 @@ _SilphCo2AfterBattleText3: ; 82617 (20:6617) db "teleport blocks!", $51 db "They're hi-tech", $4f db "transporters!", $57 -; 0x82617 + 72 bytes _SilphCo2BattleText4: ; 8265f (20:665f) db $0, "Hey kid! What are", $4f db "you doing here?", $57 -; 0x8265f + 35 bytes _SilphCo2EndBattleText4: ; 82682 (20:6682) db $0, "I goofed!", $58 -; 0x82682 + 11 bytes _SilphCo2AfterBattleText4: ; 8268d (20:668d) db $0, "SILPH CO. will", $4f db "be merged with", $55 db "TEAM ROCKET!", $57 -; 0x8268d + 44 bytes _UnnamedText_59ff9: ; 826b9 (20:66b9) db $0, "I work for SILPH.", $4f db "What should I do?", $57 -; 0x826b9 + 37 bytes _UnnamedText_59ffe: ; 826de (20:66de) db $0, $52, "! You and", $4f db "your #MON", $55 db "saved us!", $57 -; 0x826de + 32 bytes _SilphCo3BattleText1: ; 826fe (20:66fe) db $0, "Quit messing with", $4f db "us, kid!", $57 -; 0x826fe + 28 bytes _SilphCo3EndBattleText1: ; 8271a (20:671a) db $0, "I give", $4f db "up!", $58 -; 0x8271a + 12 bytes _SilphCo3AfterBattleText1: ; 82726 (20:6726) db $0, "A hint? You can", $4f db "open doors with a", $55 db "CARD KEY!", $57 -; 0x82726 + 45 bytes _SilphCo3BattleText2: ; 82753 (20:6753) db $0, "I support TEAM", $4f db "ROCKET more than", $55 db "I support SILPH!", $57 -; 0x82753 + 50 bytes _SilphCo3EndBattleText2: ; 82785 (20:6785) db $0, "You", $4f db "really got me!", $58 -; 0x82785 + 20 bytes _SilphCo3AfterBattleText2: ; 82799 (20:6799) db $0, "Humph...", $51 @@ -117903,145 +122917,119 @@ _SilphCo3AfterBattleText2: ; 82799 (20:6799) db "that if I helped", $55 db "them, they'd let", $55 db "me study #MON!", $57 -; 0x82799 + 75 bytes _UnnamedText_19de0: ; 827e4 (20:67e4) db $0, "Sssh! Can't you", $4f db "see I'm hiding?", $57 -; 0x827e4 + 31 bytes _UnnamedText_19de5: ; 82803 (20:6803) db $0, "Huh? TEAM ROCKET", $4f db "is gone?", $57 -; 0x82803 + 27 bytes _SilphCo4BattleText2: ; 8281e (20:681e) db $0, "TEAM ROCKET has", $4f db "taken command of", $55 db "SILPH CO.!", $57 -; 0x8281e + 45 bytes _SilphCo4EndBattleText2: ; 8284b (20:684b) db $0, "Arrgh!", $58 -; 0x8284b + 8 bytes _SilphCo4AfterBattleText2: ; 82853 (20:6853) db $0, "Fwahahaha!", $4f db "My BOSS has been", $55 db "after this place!", $57 -; 0x82853 + 47 bytes _SilphCo4BattleText3: ; 82882 (20:6882) db $0, "My #MON are my", $4f db "loyal soldiers!", $57 -; 0x82882 + 32 bytes _SilphCo4EndBattleText3: ; 828a2 (20:68a2) db $0, "Darn!", $4f db "You weak #MON!", $58 -; 0x828a2 + 22 bytes _SilphCo4AfterBattleText3: ; 828b8 (20:68b8) db $0, "The doors are", $4f db "electronically", $55 db "locked! A CARD", $55 db "KEY opens them!", $57 -; 0x828b8 + 61 bytes _SilphCo4BattleText4: ; 828f5 (20:68f5) db $0, "Intruder spotted!", $57 -; 0x828f5 + 19 bytes _SilphCo4EndBattleText4: ; 82908 (20:6908) db $0, "Who", $4f db "are you?", $58 -; 0x82908 + 14 bytes _SilphCo4AfterBattleText4: ; 82916 (20:6916) db $0, "I better tell the", $4f db "BOSS on 11F!", $57 -; 0x82916 + 32 bytes _UnnamedText_1a010: ; 82936 (20:6936) db $0, "TEAM ROCKET is", $4f db "in an uproar over", $55 db "some intruder.", $55 db "That's you right?", $57 -; 0x82936 + 66 bytes _UnnamedText_1a015: ; 82978 (20:6978) db $0, "TEAM ROCKET took", $4f db "off! You're our", $55 db "hero! Thank you!", $57 -; 0x82978 + 50 bytes _SilphCo5BattleText2: ; 829aa (20:69aa) db $0, "I heard a kid was", $4f db "wandering around.", $57 -; 0x829aa + 37 bytes _SilphCo5EndBattleText2: ; 829cf (20:69cf) db $0, "Boom!", $58 -; 0x829cf + 7 bytes _SilphCo5AfterBattleText2: ; 829d6 (20:69d6) db $0, "It's not smart", $4f db "to pick a fight", $55 db "with TEAM ROCKET!", $57 -; 0x829d6 + 49 bytes _SilphCo5BattleText3: ; 82a07 (20:6a07) db $0, "We study #", $4f db "BALL technology", $55 db "on this floor!", $57 -; 0x82a07 + 43 bytes _SilphCo5EndBattleText3: ; 82a32 (20:6a32) db $0, "Dang!", $4f db "Blast it!", $58 -; 0x82a32 + 17 bytes _SilphCo5AfterBattleText3: ; 82a43 (20:6a43) db $0, "We worked on the", $4f db "ultimate #", $55 db "BALL which would", $55 db "catch anything!", $57 -; 0x82a43 + 62 bytes _SilphCo5BattleText4: ; 82a81 (20:6a81) db $0, "Whaaat? There", $4f db "shouldn't be any", $55 db "children here?", $57 -; 0x82a81 + 46 bytes SECTION "bank21",ROMX,BANK[$21] _SilphCo5EndBattleText4: ; 84000 (21:4000) db $0, "Oh", $4f db "goodness!", $58 -; 0x84000 + 14 bytes _SilphCo5AfterBattleText4: ; 8400e (21:400e) db $0, "You're only on 5F.", $4f db "It's a long way", $55 db "to my BOSS!", $57 -; 0x8400e + 46 bytes _SilphCo5BattleText5: ; 8403c (21:403c) db $0, "Show TEAM ROCKET", $4f db "a little respect!", $57 -; 0x8403c + 36 bytes _SilphCo5EndBattleText5: ; 84060 (21:4060) db $0, "Cough...", $4f db "Cough...", $58 -; 0x84060 + 19 bytes _SilphCo5AfterBattleText5: ; 84073 (21:4073) db $0, "Which reminds me.", $51 db "KOFFING evolves", $4f db "into WEEZING!", $57 -; 0x84073 + 49 bytes _SilphCo5Text9: ; 840a4 (21:40a4) db $0, "It's a #MON", $4f @@ -118069,74 +123057,61 @@ _UnnamedText_1a24a: ; 84176 (21:4176) db $0, "The ROCKETs came", $4f db "and took over the", $55 db "building!", $57 -; 0x84176 + 46 bytes _UnnamedText_1a24f: ; 841a4 (21:41a4) db $0, "Well, better get", $4f db "back to work!", $57 -; 0x841a4 + 32 bytes _UnnamedText_1a261: ; 841c4 (21:41c4) db $0, "Oh dear, oh dear.", $4f db "Help me please!", $57 -; 0x841c4 + 35 bytes _UnnamedText_1a266: ; 841e7 (21:41e7) db $0, "We got engaged!", $4f db "Heheh!", $57 -; 0x841e7 + 24 bytes _UnnamedText_1a278: ; 841ff (21:41ff) db $0, "Look at him! He's", $4f db "such a coward!", $57 -; 0x841ff + 33 bytes _UnnamedText_1a27d: ; 84220 (21:4220) db $0, "I feel so sorry", $4f db "for him, I have", $55 db "to marry him!", $57 -; 0x84220 + 47 bytes _UnnamedText_1a28f: ; 8424f (21:424f) db $0, "TEAM ROCKET is", $4f db "trying to conquer", $55 db "the world with", $55 db "#MON!", $57 -; 0x8424f + 55 bytes _UnnamedText_1a294: ; 84286 (21:4286) db $0, "TEAM ROCKET ran", $4f db "because of you!", $57 -; 0x84286 + 33 bytes _UnnamedText_1a2a6: ; 842a7 (21:42a7) db $0, "They must have", $4f db "targeted SILPH", $55 db "for our #MON", $55 db "products.", $57 -; 0x842a7 + 54 bytes _UnnamedText_1a2ab: ; 842dd (21:42dd) db $0, "Come work for", $4f db "SILPH when you", $55 db "get older!", $57 -; 0x842dd + 41 bytes _SilphCo6BattleText2: ; 84306 (21:4306) db $0, "I am one of the 4", $4f db "ROCKET BROTHERS!", $57 -; 0x84306 + 36 bytes _SilphCo6EndBattleText2: ; 8432a (21:432a) db $0, "Flame", $4f db "out!", $58 -; 0x8432a + 12 bytes _SilphCo6AfterBattleText2: ; 84336 (21:4336) db $0, "No matter!", $4f db "My brothers will", $55 db "avenge me!", $57 -; 0x84336 + 40 bytes _SilphCo6BattleText3: ; 8435e (21:435e) db $0, "That rotten", $4f @@ -118144,33 +123119,27 @@ _SilphCo6BattleText3: ; 8435e (21:435e) db "He shouldn't have", $4f db "sent me to the", $55 db "TIKSI BRANCH!", $57 -; 0x8435e + 70 bytes _SilphCo6EndBattleText3: ; 843a4 (21:43a4) db $0, "Shoot!", $58 -; 0x843a4 + 8 bytes _SilphCo6AfterBattleText3: ; 843ac (21:43ac) db $0, "TIKSI BRANCH?", $4f db "It's in Russian", $55 db "no man's land!", $57 -; 0x843ac + 44 bytes _SilphCo6BattleText4: ; 843d8 (21:43d8) db $0, "You dare betray", $4f db "TEAM ROCKET?", $57 -; 0x843d8 + 30 bytes _SilphCo6EndBattleText4: ; 843f6 (21:43f6) db $0, "You", $4f db "traitor!", $58 -; 0x843f6 + 14 bytes _SilphCo6AfterBattleText4: ; 84404 (21:4404) db $0, "If you stand for", $4f db "justice, you", $55 db "betray evil!", $57 -; 0x84404 + 44 bytes _UnnamedText_51dd3: ; 84430 (21:4430) db $0, "Oh! Hi! You're", $4f @@ -118180,7 +123149,6 @@ _UnnamedText_51dd3: ; 84430 (21:4430) db "I want you to", $4f db "have this #MON", $55 db "for saving us.", $58 -; 0x84430 + 110 bytes _UnnamedText_51dd8: ; 8449e (21:449e) db $0, "It's LAPRAS. It's", $4f @@ -118195,128 +123163,106 @@ _UnnamedText_51dd8: ; 8449e (21:449e) db "It's a good", $4f db "swimmer. It'll", $55 db "give you a lift!", $57 -; 0x8449e + 188 bytes _UnnamedText_51ddd: ; 8455a (21:455a) db $0, "TEAM ROCKET's", $4f db "BOSS went to the", $55 db "boardroom! Is our", $55 db "PRESIDENT OK?", $57 -; 0x8455a + 63 bytes _UnnamedText_51de2: ; 84599 (21:4599) db $0, "Saved at last!", $4f db "Thank you!", $57 -; 0x84599 + 27 bytes _UnnamedText_51e00: ; 845b4 (21:45b4) db $0, "TEAM ROCKET was", $4f db "after the MASTER", $55 db "BALL which will", $55 db "catch any #MON!", $57 -; 0x845b4 + 66 bytes _UnnamedText_51e05: ; 845f6 (21:45f6) db $0, "We canceled the", $4f db "MASTER BALL", $55 db "project because", $55 db "of TEAM ROCKET.", $57 -; 0x845f6 + 61 bytes _UnnamedText_51e23: ; 84633 (21:4633) db $0, "It would be bad", $4f db "if TEAM ROCKET", $55 db "took over SILPH", $55 db "or our #MON!", $57 -; 0x84633 + 61 bytes _UnnamedText_51e28: ; 84670 (21:4670) db $0, "Wow! You chased", $4f db "off TEAM ROCKET", $55 db "all by yourself?", $57 -; 0x84670 + 50 bytes _UnnamedText_51e46: ; 846a2 (21:46a2) db $0, "You! It's really", $4f db "dangerous here!", $55 db "You came to save", $55 db "me? You can't!", $57 -; 0x846a2 + 64 bytes _UnnamedText_51e4b: ; 846e2 (21:46e2) db $0, "Safe at last!", $4f db "Oh thank you!", $57 -; 0x846e2 + 29 bytes _SilphCo7BattleText1: ; 846ff (21:46ff) db $0, "Oh ho! I smell a", $4f db "little rat!", $57 -; 0x846ff + 30 bytes _SilphCo7EndBattleText1: ; 8471d (21:471d) db $0, "Lights", $4f db "out!", $58 -; 0x8471d + 13 bytes _SilphCo7AfterBattleText1: ; 8472a (21:472a) db $0, "You won't find my", $4f db "BOSS by just", $55 db "scurrying around!", $57 -; 0x8472a + 49 bytes _SilphCo7BattleText2: ; 8475b (21:475b) db $0, "Heheh!", $51 db "You mistook me for", $4f db "a SILPH worker?", $57 -; 0x8475b + 43 bytes _SilphCo7EndBattleText2: ; 84786 (21:4786) db $0, "I'm", $4f db "done!", $58 -; 0x84786 + 10 bytes _SilphCo7AfterBattleText2: ; 84790 (21:4790) db $0, "Despite your age,", $4f db "you are a skilled", $55 db "trainer!", $57 -; 0x84790 + 46 bytes _SilphCo7BattleText3: ; 847be (21:47be) db $0, "I am one of the 4", $4f db "ROCKET BROTHERS!", $57 -; 0x847be + 36 bytes _SilphCo7EndBattleText3: ; 847e2 (21:47e2) db $0, "Aack!", $4f db "Brothers, I lost!", $58 -; 0x847e2 + 25 bytes _SilphCo7AfterBattleText3: ; 847fb (21:47fb) db $0, "Doesn't matter.", $4f db "My brothers will", $55 db "repay the favor!", $57 -; 0x847fb + 50 bytes _SilphCo7BattleText4: ; 8482d (21:482d) db $0, "A child intruder?", $4f db "That must be you!", $57 -; 0x8482d + 37 bytes _SilphCo7EndBattleText4: ; 84852 (21:4852) db $0, "Fine!", $4f db "I lost!", $58 -; 0x84852 + 15 bytes _SilphCo7AfterBattleText4: ; 84861 (21:4861) db $0, "Go on home", $4f db "before my BOSS", $55 db "gets ticked off!", $57 -; 0x84861 + 44 bytes _UnnamedText_51ebe: ; 8488d (21:488d) db $0, $53, ": What", $4f db "kept you ", $52, "?", $57 -; 0x8488d + 21 bytes _UnnamedText_51ec3: ; 848a2 (21:48a2) db $0, $53, ": Hahaha!", $4f @@ -118331,13 +123277,11 @@ _UnnamedText_51ec3: ; 848a2 (21:48a2) db "SAFFRON, so I", $55 db "decided to see if", $55 db "you got better!", $57 -; 0x848a2 + 168 bytes _UnnamedText_51ec8: ; 8494a (21:494a) db $0, "Oh ho!", $4f db "So, you are ready", $55 db "for BOSS ROCKET!", $58 -; 0x8494a + 43 bytes _UnnamedText_51ecd: ; 84975 (21:4975) db $0, $53, ": How can", $4f @@ -118345,7 +123289,6 @@ _UnnamedText_51ecd: ; 84975 (21:4975) db "You're not good", $4f db "enough to play", $55 db "with us big boys!", $58 -; 0x84975 + 72 bytes _UnnamedText_51ed2: ; 849bd (21:49bd) db $0, "Well, ", $52, "!", $51 @@ -118367,170 +123310,138 @@ _UnnamedText_51ed2: ; 849bd (21:49bd) db "good luck to you!", $55 db "Don't sweat it!", $55 db "Smell ya!", $57 -; 0x849bd + 263 bytes _UnnamedText_565be: ; 84ac4 (21:4ac4) db $0, "I wonder if SILPH", $4f db "is finished...", $57 -; 0x84ac4 + 34 bytes _UnnamedText_565c3: ; 84ae6 (21:4ae6) db $0, "Thanks for saving", $4f db "us!", $57 -; 0x84ae6 + 23 bytes _SilphCo8BattleText1: ; 84afd (21:4afd) db $0, "That's as far as", $4f db "you'll go!", $57 -; 0x84afd + 27 bytes _SilphCo8EndBattleText1: ; 84b18 (21:4b18) db $0, "Not", $4f db "enough grit!", $58 -; 0x84b18 + 18 bytes _SilphCo8AfterBattleText1: ; 84b2a (21:4b2a) db $0, "If you don't turn", $4f db "back, I'll call", $55 db "for backup!", $57 -; 0x84b2a + 45 bytes _SilphCo8BattleText2: ; 84b57 (21:4b57) db $0, "You're causing us", $4f db "problems!", $57 -; 0x84b57 + 28 bytes _SilphCo8EndBattleText2: ; 84b73 (21:4b73) db $0, "Huh?", $4f db "I lost?", $58 -; 0x84b73 + 14 bytes _SilphCo8AfterBattleText2: ; 84b81 (21:4b81) db $0, "So, what do you", $4f db "think of SILPH", $55 db "BUILDING's maze?", $57 -; 0x84b81 + 48 bytes _SilphCo8BattleText3: ; 84bb1 (21:4bb1) db $0, "I am one of the 4", $4f db "ROCKET BROTHERS!", $57 -; 0x84bb1 + 36 bytes _SilphCo8EndBattleText3: ; 84bd5 (21:4bd5) db $0, "Whoo!", $4f db "Oh brothers!", $58 -; 0x84bd5 + 20 bytes _SilphCo8AfterBattleText3: ; 84be9 (21:4be9) db $0, "I'll leave you up", $4f db "to my brothers!", $57 -; 0x84be9 + 34 bytes _UnnamedText_5d8e5: ; 84c0b (21:4c0b) db $0, "You look tired!", $4f db "You should take a", $55 db "quick nap!", $58 -; 0x84c0b + 46 bytes _UnnamedText_5d8ea: ; 84c39 (21:4c39) db $0, "Don't give up!", $57 -; 0x84c39 + 15 bytes _UnnamedText_5d8ef: ; 84c48 (21:4c48) db $0, "Thank you so", $4f db "much!", $57 -; 0x84c48 + 20 bytes _SilphCo9BattleText1: ; 84c5c (21:4c5c) db $0, "Your #MON seem", $4f db "to adore you, kid!", $57 -; 0x84c5c + 35 bytes _SilphCo9EndBattleText1: ; 84c7f (21:4c7f) db $0, "Ghaaah!", $58 -; 0x84c7f + 9 bytes _SilphCo9AfterBattleText1: ; 84c88 (21:4c88) db $0, "If I had started", $4f db "as a trainer at", $55 db "your age...", $57 -; 0x84c88 + 46 bytes _SilphCo9BattleText2: ; 84cb6 (21:4cb6) db $0, "Your #MON have", $4f db "weak points! I", $55 db "can nail them!", $57 -; 0x84cb6 + 46 bytes _SilphCo9EndBattleText2: ; 84ce4 (21:4ce4) db $0, "You", $4f db "hammered me!", $58 -; 0x84ce4 + 18 bytes _SilphCo9AfterBattleText2: ; 84cf6 (21:4cf6) db $0, "Exploiting weak", $4f db "spots does work!", $55 db "Think about", $55 db "element types!", $57 -; 0x84cf6 + 61 bytes _SilphCo9BattleText3: ; 84d33 (21:4d33) db $0, "I am one of the 4", $4f db "ROCKET BROTHERS!", $57 -; 0x84d33 + 36 bytes _SilphCo9EndBattleText3: ; 84d57 (21:4d57) db $0, "Warg!", $4f db "Brothers, I lost!", $58 -; 0x84d57 + 25 bytes _SilphCo9AfterBattleText3: ; 84d70 (21:4d70) db $0, "My brothers will", $4f db "avenge me!", $57 -; 0x84d70 + 29 bytes _UnnamedText_5a1d3: ; 84d8d (21:4d8d) db $0, "Waaaaa!", $55 db "I'm scared!", $57 -; 0x84d8d + 20 bytes _UnnamedText_5a1d8: ; 84da1 (21:4da1) db $0, "Please keep quiet", $4f db "about my crying!", $57 -; 0x84da1 + 36 bytes _SilphCo10BattleText1: ; 84dc5 (21:4dc5) db $0, "Welcome to the", $4f db "10F! So good of", $55 db "you to join me!", $57 -; 0x84dc5 + 48 bytes _SilphCo10EndBattleText1: ; 84df5 (21:4df5) db $0, "I'm", $4f db "stunned!", $58 -; 0x84df5 + 13 bytes _SilphCo10AfterBattleText1: ; 84e02 (21:4e02) db $0, "Nice try, but the", $4f db "boardroom is up", $55 db "one more floor!", $57 -; 0x84e02 + 51 bytes _SilphCo10BattleText2: ; 84e35 (21:4e35) db $0, "Enough of your", $4f db "silly games!", $57 -; 0x84e35 + 29 bytes _SilphCo10EndBattleText2: ; 84e52 (21:4e52) db $0, "No", $4f db "continues left!", $58 -; 0x84e52 + 20 bytes _SilphCo10AfterBattleText2: ; 84e66 (21:4e66) db $0, "Are you satisfied", $4f db "with beating me?", $55 db "Then go on home!", $57 -; 0x84e66 + 53 bytes _SilphCoPresidentText: ; 84e9b (21:4e9b) db $0, "PRESIDENT: Thank", $4f @@ -118547,14 +123458,12 @@ _SilphCoPresidentText: ; 84e9b (21:4e9b) db "anything!", $51 db "Here, maybe this", $4f db "will do!", $58 -; 0x84e9b + 200 bytes _ReceivedSilphCoMasterBallText: ; 84f63 (21:4f63) db $0, $52, " got a", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0x84f74 _UnnamedText_6231c: ; 84f74 (21:4f74) db $0, "PRESIDENT: You", $4f @@ -118569,12 +123478,10 @@ _UnnamedText_6231c: ; 84f74 (21:4f74) db "You should be", $4f db "quiet about using", $55 db "it, though.", $57 -; 0x84f74 + 159 bytes _SilphCoMasterBallNoRoomText: ; 85013 (21:5013) db $0, "You have no", $4f db "room for this.", $57 -; 0x85013 + 28 bytes _SilphCo11Text2: ; 8502f (21:502f) db $0, "SECRETARY: Thank", $4f @@ -118599,7 +123506,6 @@ _SilphCo11Text3: ; 85075 (21:5075) _UnnamedText_62330: ; 85119 (21:5119) db $0, "Arrgh!!", $4f db "I lost again!?", $58 -; 0x85119 + 24 bytes _UnnamedText_62335: ; 85131 (21:5131) db $0, "Blast it all!", $4f @@ -118613,61 +123519,50 @@ _UnnamedText_62335: ; 85131 (21:5131) db "for TEAM ROCKET!", $51 db "I must go, but I", $4f db "shall return!", $57 -; 0x85131 + 165 bytes _SilphCo11BattleText1: ; 851d6 (21:51d6) db $0, "Stop right there!", $4f db "Don't you move!", $57 -; 0x851d6 + 34 bytes _SilphCo11EndBattleText1: ; 851f8 (21:51f8) db $0, "Don't...", $4f db "Please!", $58 -; 0x851f8 + 17 bytes _SilphCo11AfterBattleText1: ; 85209 (21:5209) db $0, "So, you want to", $4f db "see my BOSS?", $57 -; 0x85209 + 30 bytes _SilphCo11BattleText2: ; 85227 (21:5227) db $0, "Halt! Do you have", $4f db "an appointment", $55 db "with my BOSS?", $57 -; 0x85227 + 48 bytes _SilphCo11EndBattleText2: ; 85257 (21:5257) db $0, "Gaah!", $4f db "Demolished!", $58 -; 0x85257 + 19 bytes _SilphCo11AfterBattleText2: ; 8526a (21:526a) db $0, "Watch your step,", $4f db "my BOSS likes his", $55 db "#MON tough!", $57 -; 0x8526a + 48 bytes _UnnamedText_6237b: ; 8529a (21:529a) db $0, "The monitor has", $4f db "#MON on it!", $57 -; 0x8529a + 29 bytes _Mansion2BattleText1: ; 852b7 (21:52b7) db $0, "I can't get out!", $4f db "This old place is", $55 db "one big puzzle!", $57 -; 0x852b7 + 51 bytes _Mansion2EndBattleText1: ; 852ea (21:52ea) db $0, "Oh no!", $4f db "My bag of loot!", $58 -; 0x852ea + 24 bytes _Mansion2AfterBattleText1: ; 85302 (21:5302) db $0, "Switches open and", $4f db "close alternating", $55 db "sets of doors!", $57 -; 0x85302 + 52 bytes _Mansion2Text3: ; 85336 (21:5336) db $0, "Diary: July 5", $4f @@ -118686,45 +123581,36 @@ _Mansion2Text4: ; 85389 (21:5389) _UnnamedText_520c2: ; 853c7 (21:53c7) db $0, "A secret switch!", $51 db "Press it?", $57 -; 0x853c7 + 28 bytes _UnnamedText_520c7: ; 853e3 (21:53e3) db $0, "Who wouldn't?", $58 -; 0x853e3 + 14 bytes _UnnamedText_520cc: ; 853f1 (21:53f1) db $0, "Not quite yet!", $57 -; 0x853f1 + 16 bytes _Mansion3BattleText1: ; 85401 (21:5401) db $0, "This place is", $4f db "like, huge!", $57 -; 0x85401 + 27 bytes _Mansion3EndBattleText1: ; 8541c (21:541c) db $0, "Ayah!", $58 -; 0x8541c + 7 bytes _Mansion3AfterBattleText1: ; 85423 (21:5423) db $0, "I wonder where", $4f db "my partner went.", $57 -; 0x85423 + 33 bytes _Mansion3BattleText2: ; 85444 (21:5444) db $0, "My mentor once", $4f db "lived here.", $57 -; 0x85444 + 28 bytes _Mansion3EndBattleText2: ; 85460 (21:5460) db $0, "Whew!", $4f db "Overwhelming!", $58 -; 0x85460 + 21 bytes _Mansion3AfterBattleText2: ; 85475 (21:5475) db $0, "So, you're stuck?", $4f db "Try jumping off", $55 db "over there!", $57 -; 0x85475 + 46 bytes _Mansion3Text5: ; 854a3 (21:54a3) db $0, "Diary: Feb. 6", $4f @@ -118735,32 +123621,26 @@ _Mansion3Text5: ; 854a3 (21:54a3) _Mansion4BattleText1: ; 854df (21:54df) db $0, "Uh-oh. Where am", $4f db "I now?", $57 -; 0x854df + 24 bytes _Mansion4EndBattleText1: ; 854f7 (21:54f7) db $0, "Awooh!", $58 -; 0x854f7 + 8 bytes _Mansion4AfterBattleText1: ; 854ff (21:54ff) db $0, "You can find stuff", $4f db "lying around.", $57 -; 0x854ff + 34 bytes _Mansion4BattleText2: ; 85521 (21:5521) db $0, "This place is", $4f db "ideal for a lab.", $57 -; 0x85521 + 32 bytes _Mansion4EndBattleText2: ; 85541 (21:5541) db $0, "What", $4f db "was that for?", $58 -; 0x85541 + 20 bytes _Mansion4AfterBattleText2: ; 85555 (21:5555) db $0, "I like it here!", $4f db "It's conducive to", $55 db "my studies!", $57 -; 0x85555 + 46 bytes _Mansion4Text7: ; 85583 (21:5583) db $0, "Diary; Sept. 1", $4f @@ -118862,14 +123742,12 @@ _UnnamedText_4a350: ; 858a4 (21:58a4) db "campaign prize.", $51 db "Congratulations!", $4f db "You have won!", $58 -; 0x858a4 + 159 bytes _ReceivedHM03Text: ; 85943 (21:5943) db $0, $52, " received", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0x85957 _HM03ExplanationText: ; 85957 (21:5957) db $0, "HM03 is SURF!", $51 @@ -118883,13 +123761,11 @@ _HM03ExplanationText: ; 85957 (21:5957) db "You're super lucky", $4f db "for winning this", $55 db "fabulous prize!", $57 -; 0x85957 + 171 bytes _HM03NoRoomText: ; 85a02 (21:5a02) db $0, "You don't have", $4f db "room for this", $55 db "fabulous prize!", $57 -; 0x85a02 + 45 bytes _SafariZoneRestHouse2Text1: ; 85a2f (21:5a2f) db $0, "Tossing ROCKs at", $4f @@ -118948,39 +123824,32 @@ _SafariZoneRestHouse4Text3: ; 85c17 (21:5c17) _UnknownDungeon3MewtwoText: ; 85c72 (21:5c72) db $0, "Mew!@@" -; 0x85c79 _VictoryRoad1BattleText1: ; 85c79 (21:5c79) db $0, "I wonder if you", $4f db "are good enough", $55 db "for me!", $57 -; 0x85c79 + 41 bytes _VictoryRoad1EndBattleText1: ; 85ca2 (21:5ca2) db $0, "I", $4f db "lost out!", $58 -; 0x85ca2 + 13 bytes _VictoryRoad1AfterBattleText1: ; 85caf (21:5caf) db $0, "I never wanted to", $4f db "lose to anybody!", $57 -; 0x85caf + 36 bytes _VictoryRoad1BattleText2: ; 85cd3 (21:5cd3) db $0, "I can see you're", $4f db "good! Let me see", $55 db "exactly how good!", $57 -; 0x85cd3 + 52 bytes _VictoryRoad1EndBattleText2: ; 85d07 (21:5d07) db $0, "I", $4f db "had a chance...", $58 -; 0x85d07 + 19 bytes _VictoryRoad1AfterBattleText2: ; 85d1a (21:5d1a) db $0, "I concede, you're", $4f db "better than me!", $57 -; 0x85d1a + 34 bytes _LanceBeforeBattleText: ; 85d3c (21:5d3c) db $0, "Ah! I heard about", $4f @@ -119003,14 +123872,12 @@ _LanceBeforeBattleText: ; 85d3c (21:5d3c) db "Your LEAGUE", $4f db "challenge ends", $55 db "with me, ", $52, "!", $57 -; 0x85d3c + 296 bytes _LanceEndBattleText: ; 85e64 (21:5e64) db $0, "That's it!", $51 db "I hate to admit", $4f db "it, but you are a", $55 db "#MON master!", $58 -; 0x85e64 + 58 bytes _LanceAfterBattleText: ; 85e9e (21:5e9e) db $0, "I still can't", $4f @@ -119033,7 +123900,6 @@ _LanceAfterBattleText: ; 85e9e (21:5e9e) db "He is the real", $4f db "#MON LEAGUE", $55 db "champion!@@" -; 0x85e9e + 279 bytes = 0x85fb5 _HallofFameRoomText1: ; 85fb5 (21:5fb5) db $0, "OAK: Er-hem!", $4f @@ -119084,7 +123950,6 @@ _UnnamedText_760f4: ; 860e1 (21:60e1) db "I am the most", $4f db "powerful trainer", $55 db "in the world!", $57 -; 0x860e1 + 346 bytes _UnnamedText_760f9: ; 8623b (21:623b) db $0, "NO!", $4f @@ -119096,7 +123961,6 @@ _UnnamedText_760f9: ; 8623b (21:623b) db "My reign is over", $4f db "already?", $55 db "It's not fair!", $58 -; 0x8623b + 121 bytes _UnnamedText_760fe: ; 862b4 (21:62b4) db $0, "Hahaha!", $4f @@ -119109,7 +123973,6 @@ _UnnamedText_760fe: ; 862b4 (21:62b4) db "#MON genius!", $51 db "Nice try, loser!", $4f db "Hahaha!", $58 -; 0x862b4 + 123 bytes _UnnamedText_76103: ; 8632f (21:632f) db $0, "Why?", $4f @@ -119122,7 +123985,6 @@ _UnnamedText_76103: ; 8632f (21:632f) db "LEAGUE champion!", $51 db "Although I don't", $4f db "like to admit it.", $57 -; 0x8632f + 146 bytes _GaryText2: ; 863c1 (21:63c1) db $0, "OAK: ", $52, "!", $57 @@ -119141,7 +124003,6 @@ _UnnamedText_76120: ; 863ca (21:63ca) db $0, "!", $51 db $52, ", you have", $4f db "come of age!", $57 -; 0xa86463 _UnnamedText_76125: ; 86463 (21:6463) db $0, "OAK: ", $53, "! I'm", $4f @@ -119162,7 +124023,6 @@ _UnnamedText_76125: ; 86463 (21:6463) db "Without them, you", $4f db "will never become", $55 db "a champ again!", $57 -; 0x86463 + 260 bytes _UnnamedText_7612a: ; 86567 (21:6567) db $0, "OAK: ", $52, "!", $51 @@ -119175,7 +124035,6 @@ _UnnamedText_7612a: ; 86567 (21:6567) db "is marvelous!", $51 db $52, "!", $4f db "Come with me!", $57 -; 0x86567 + 136 bytes _LoreleiBeforeBattleText: ; 865ef (21:65ef) db $0, "Welcome to", $4f @@ -119193,12 +124052,10 @@ _LoreleiBeforeBattleText: ; 865ef (21:65ef) db "frozen solid!", $51 db "Hahaha!", $4f db "Are you ready?", $57 -; 0x865ef + 213 bytes _LoreleiEndBattleText: ; 866c4 (21:66c4) db $0, "How", $4f db "dare you!", $58 -; 0x866c4 + 15 bytes _LoreleiAfterBattleText: ; 866d3 (21:66d3) db $0, "You're better", $4f @@ -119207,12 +124064,10 @@ _LoreleiAfterBattleText: ; 866d3 (21:66d3) db "You only got a", $4f db "taste of #MON", $55 db "LEAGUE power!", $57 -; 0x866d3 + 86 bytes _UnnamedText_7627b: ; 86729 (21:6729) db $0, "Someone's voice:", $4f db "Don't run away!", $57 -; 0x86729 + 32 bytes _BrunoBeforeBattleText: ; 86749 (21:6749) db $0, "I am BRUNO of", $4f @@ -119229,23 +124084,19 @@ _BrunoBeforeBattleText: ; 86749 (21:6749) db "down with our", $55 db "superior power!", $51 db "Hoo hah!", $57 -; 0x86749 + 188 bytes _BrunoEndBattleText: ; 86805 (21:6805) db $0, "Why?", $4f db "How could I lose?", $58 -; 0x86805 + 24 bytes _BrunoAfterBattleText: ; 8681d (21:681d) db $0, "My job is done!", $4f db "Go face your next", $55 db "challenge!", $57 -; 0x8681d + 46 bytes _UnnamedText_763d2: ; 8684b (21:684b) db $0, "Someone's voice:", $4f db "Don't run away!", $57 -; 0x8684b + 32 bytes _AgathaBeforeBattleText: ; 8686b (21:686b) db $0, "I am AGATHA of", $4f @@ -119265,13 +124116,11 @@ _AgathaBeforeBattleText: ; 8686b (21:686b) db $52, "! I'll show", $4f db "you how a real", $55 db "trainer fights!", $57 -; 0x8686b + 261 bytes _AgathaEndBattleText: ; 86970 (21:6970) db $0, "Oh ho!", $4f db "You're something", $55 db "special, child!", $58 -; 0x86970 + 40 bytes _AgathaAfterBattleText: ; 86998 (21:6998) db $0, "You win! I see", $4f @@ -119280,121 +124129,99 @@ _AgathaAfterBattleText: ; 86998 (21:6998) db "I have nothing", $4f db "else to say! Run", $55 db "along now, child!", $57 -; 0x86998 + 101 bytes _AgathaText2: ; 869fd (21:69fd) db $0, "Someone's voice:", $4f db "Don't run away!", $57 -; 0x869fd + 32 bytes _RockTunnel2BattleText2: ; 86a1d (21:6a1d) db $0, "Hikers leave twigs", $4f db "as trail markers.", $57 -; 0x86a1d + 38 bytes _RockTunnel2EndBattleText2: ; 86a43 (21:6a43) db $0, "Ohhh!", $4f db "I did my best!", $58 -; 0x86a43 + 22 bytes _RockTunnel2AfterBattleText2: ; 86a59 (21:6a59) db $0, "I want to go ", $4f db "home!", $57 -; 0x86a59 + 21 bytes _RockTunnel2BattleText3: ; 86a6e (21:6a6e) db $0, "Hahaha! Can you", $4f db "beat my power?", $57 -; 0x86a6e + 32 bytes _RockTunnel2EndBattleText3: ; 86a8e (21:6a8e) db $0, "Oops!", $4f db "Out-muscled!", $58 -; 0x86a8e + 20 bytes _RockTunnel2AfterBattleText3: ; 86aa2 (21:6aa2) db $0, "I go for power", $4f db "because I hate", $55 db "thinking!", $57 -; 0x86aa2 + 41 bytes _RockTunnel2BattleText4: ; 86acb (21:6acb) db $0, "You have a", $4f db "#DEX?", $55 db "I want one too!", $57 -; 0x86acb + 34 bytes _RockTunnel2EndBattleText4: ; 86aed (21:6aed) db $0, "Shoot!", $4f db "I'm so jealous!", $58 -; 0x86aed + 23 bytes _RockTunnel2AfterBattleText4: ; 86b04 (21:6b04) db $0, "When you finish", $4f db "your #DEX, can", $55 db "I have it?", $57 -; 0x86b04 + 43 bytes _RockTunnel2BattleText5: ; 86b2f (21:6b2f) db $0, "Do you know about", $4f db "costume players?", $57 -; 0x86b2f + 36 bytes _RockTunnel2EndBattleText5: ; 86b53 (21:6b53) db $0, "Well,", $4f db "that's that.", $58 -; 0x86b53 + 19 bytes _RockTunnel2AfterBattleText5: ; 86b66 (21:6b66) db $0, "Costume players", $4f db "dress up as", $55 db "#MON for fun.", $57 -; 0x86b66 + 43 bytes _RockTunnel2BattleText6: ; 86b91 (21:6b91) db $0, "My #MON", $4f db "techniques will", $55 db "leave you crying!", $57 -; 0x86b91 + 43 bytes _RockTunnel2EndBattleText6: ; 86bbc (21:6bbc) db $0, "I give!", $4f db "You're a better", $55 db "technician!", $58 -; 0x86bbc + 36 bytes _RockTunnel2AfterBattleText6: ; 86be0 (21:6be0) db $0, "In mountains,", $4f db "you'll often find", $55 db "rock-type #MON.", $57 -; 0x86be0 + 48 bytes _RockTunnel2BattleText7: ; 86c10 (21:6c10) db $0, "I don't often", $4f db "come here, but I", $55 db "will fight you.", $57 -; 0x86c10 + 47 bytes _RockTunnel2EndBattleText7: ; 86c3f (21:6c3f) db $0, "Oh!", $4f db "I lost!", $58 -; 0x86c3f + 13 bytes _RockTunnel2AfterBattleText7: ; 86c4c (21:6c4c) db $0, "I like tiny", $4f db "#MON, big ones", $55 db "are too scary!", $57 -; 0x86c4c + 43 bytes _RockTunnel2BattleText8: ; 86c77 (21:6c77) db $0, "Hit me with your", $4f db "best shot!", $57 -; 0x86c77 + 29 bytes _RockTunnel2EndBattleText8: ; 86c94 (21:6c94) db $0, "Fired", $4f db "away!", $58 -; 0x86c94 + 13 bytes SECTION "bank22",ROMX,BANK[$22] @@ -119402,22 +124229,18 @@ _RockTunnel2AfterBattleText8: ; 88000 (22:4000) db $0, "I'll raise my", $4f db "#MON to beat", $55 db "yours, kid!", $57 -; 0x88000 + 39 bytes _RockTunnel2BattleText9: ; 88027 (22:4027) db $0, "I draw #MON", $4f db "when I'm home.", $57 -; 0x88027 + 27 bytes _RockTunnel2EndBattleText9: ; 88042 (22:4042) db $0, "Whew!", $4f db "I'm exhausted!", $58 -; 0x88042 + 21 bytes _RockTunnel2AfterBattleText9: ; 88057 (22:4057) db $0, "I'm an artist,", $4f db "not a fighter.", $57 -; 0x88057 + 30 bytes _SeafoamIslands5BattleText2: ; 88075 (22:4075) db $0, "Gyaoo!@@" @@ -119433,13 +124256,13 @@ _SeafoamIslands5Text5: ; 880a8 (22:40a8) _AIBattleWithdrawText: ; 880be (22:40be) db 1 - dw $D04A + dw W_TRAINERNAME db 0," with-",$4F,"drew @",1 dw W_ENEMYMONNAME db 0,"!",$58 _AIBattleUseItemText: ; 880d5 (22:40d5) db 1 - dw $D04A + dw W_TRAINERNAME db 0,$4F,"used @",1 dw $CD6D db 0,$55,"on @",1 @@ -119452,14 +124275,12 @@ _UnnamedText_4160c: ; 880ef (22:40ef) db "to @" TX_RAM $d887 db $0, ".", $57 -; 0x88103 _UnnamedText_41623: ; 88103 (22:4103) db $0, "For ", $52, "'s", $4f db "@" TX_RAM $cf4b db $0, ",", $57 -; 0x88112 _UnnamedText_41628: ; 88112 (22:4112) TX_RAM $d887 @@ -119467,7 +124288,6 @@ _UnnamedText_41628: ; 88112 (22:4112) db "@" TX_RAM $cd6d db $0, ".", $57 -; 0x88124 _UnnamedText_41642: ; 88124 (22:4124) TX_RAM $d887 @@ -119478,23 +124298,19 @@ _UnnamedText_41647: ; 8813b (22:413b) TX_RAM $cd6d db $0, " is", $4f db "transferred.", $57 -; 0x8813b + 21 bytes _UnnamedText_41655: ; 88150 (22:4150) db $0, "Take good care of", $4f db "@" -; 0x88150 + 20 bytes UnnamedText_88164: ; 88164 (22:4164) TX_RAM $cd6d db $0, ".", $57 -; 0x8816a _UnnamedText_4166c: ; 8816a (22:416a) TX_RAM $d887 db $0, " will", $4f db "trade @" -; 0x8816a + 17 bytes UnnamedText_8817b: ; 8817b (22:417b) TX_RAM $cd6d @@ -119505,160 +124321,129 @@ _UnnamedText_41671: ; 88180 (22:4180) db "@" TX_RAM $cf4b db $0, ".", $57 -; 0x8818f _UnnamedText_37390: ; 8818f (22:418f) db $0, "A slot machine!", $4f db "Want to play?", $57 -; 0x8818f + 31 bytes _UnnamedText_37467: ; 881ae (22:41ae) db $0, "Darn!", $4f db "Ran out of coins!", $57 -; 0x881ae + 25 bytes _UnnamedText_3746c: ; 881c7 (22:41c7) db $0, "Bet how many", $4f db "coins?", $57 -; 0x881c7 + 21 bytes _UnnamedText_37471: ; 881dc (22:41dc) db $0, "Start!", $57 -; 0x881dc + 8 bytes _UnnamedText_37476: ; 881e4 (22:41e4) db $0, "Not enough", $4f db "coins!", $58 -; 0x881e4 + 19 bytes _UnnamedText_3747b: ; 881f7 (22:41f7) db $0, "One more ", $4f db "go?", $57 -; 0x881f7 + 15 bytes _UnnamedText_37673: ; 88206 (22:4206) db $0, " lined up!", $4f db "Scored @" -; 0x88206 + 20 bytes UnnamedText_8821a: ; 8821a (22:421a) TX_RAM $cf4b db $0, " coins!", $57 -; 0x88226 _UnnamedText_3769d: ; 88226 (22:4226) db $0, "Not this time!", $58 -; 0x88226 + 16 bytes -UnnamedText_88236: ; 88236 (22:4236) +_UnnamedText_37722: ; 88236 (22:4236) db $0, "Yeah!@@" -; 0x8823e _UnnamedText_703fa: ; 8823e (22:423e) db $0, "#DEX Seen:@" -; 0x8823e + 14 bytes UnnamedText_8824c: ; 8824c (22:424c) TX_NUM $cc5b, 1, 3 db $0, $4f db " Owned:@" TX_NUM $cc5c, 1, 3 - db $50 -; 0x88267 + db "@" _UnnamedText_703ff: ; 88267 (22:4267) db $0, "#DEX Rating", $6d, $57 -; 0x88267 + 14 bytes -_UnnamedText_62453: ; 88275 (22:4275) - TX_RAM W_GYMCITYNAME +_GymStatueText1: ; 88275 (22:4275) + TX_RAM wGymCityName db $0, $4f db "#MON GYM", $55 db "LEADER: @" -; 0x88275 + 23 bytes - -UnnamedText_8828c: ; 8828c (22:428c) - TX_RAM W_GYMLEADERNAME + TX_RAM wGymLeaderName db $0, $51 db "WINNING TRAINERS:", $4f db $53, $57 -; 0x882a5 -_UnnamedText_62458: ; 882a5 (22:42a5) - TX_RAM W_GYMCITYNAME +_GymStatueText2: ; 882a5 (22:42a5) + TX_RAM wGymCityName db $0, $4f db "#MON GYM", $55 db "LEADER: @" -; 0x882a5 + 23 bytes - -UnnamedText_882bc: ; 882bc (22:42bc) - TX_RAM W_GYMLEADERNAME + TX_RAM wGymLeaderName db $0, $51 db "WINNING TRAINERS:", $4f db $53, $55 db $52, $57 -; 0x882d7 -_UnnamedText_624a3: ; 882d7 (22:42d7) +_ViridianCityPokecenterGuyText: ; 882d7 (22:42d7) db $0, "#MON CENTERs", $4f db "heal your tired,", $55 db "hurt or fainted", $55 db "#MON!", $57 -; 0x882d7 + 53 bytes -_UnnamedText_624a8: ; 8830c (22:430c) +_PewterCityPokecenterGuyText: ; 8830c (22:430c) db $0, "Yawn!", $51 db "When JIGGLYPUFF", $4f db "sings, #MON", $55 db "get drowsy...", $51 db "...Me too...", $4f db "Snore...", $57 -; 0x8830c + 71 bytes -_UnnamedText_624ad: ; 88353 (22:4353) +_CeruleanPokecenterGuyText: ; 88353 (22:4353) db $0, "BILL has lots of", $4f db "#MON!", $51 db "He collects rare", $4f db "ones too!", $57 -; 0x88353 + 51 bytes -_UnnamedText_624b2: ; 88386 (22:4386) +_LavenderPokecenterGuyText: ; 88386 (22:4386) db $0, "CUBONEs wear", $4f db "skulls, right?", $51 db "People will pay a", $4f db "lot for one!", $57 -; 0x88386 + 60 bytes -_UnnamedText_624b7: ; 883c2 (22:43c2) +_MtMoonPokecenterBenchGuyText: ; 883c2 (22:43c2) db $0, "If you have too", $4f db "many #MON, you", $55 db "should store them", $55 db "via PC!", $57 -; 0x883c2 + 58 bytes -_UnnamedText_624bc: ; 883fc (22:43fc) +_RockTunnelPokecenterGuyText: ; 883fc (22:43fc) db $0, "I heard that", $4f db "GHOSTs haunt", $55 db "LAVENDER TOWN!", $57 -; 0x883fc + 42 bytes _UnnamedText_624c1: ; 88426 (22:4426) db $0, "I wish I could", $4f db "catch #MON.", $57 -; 0x88426 + 28 bytes _UnnamedText_624c6: ; 88442 (22:4442) db $0, "I'm tired from", $4f db "all the fun...", $57 -; 0x88442 + 30 bytes _UnnamedText_624cb: ; 88460 (22:4460) db $0, "SILPH's manager", $4f db "is hiding in the", $55 db "SAFARI ZONE.", $57 -; 0x88460 + 46 bytes -_UnnamedText_624d0: ; 8848e (22:448e) +_VermilionPokecenterGuyText: ; 8848e (22:448e) db $0, "It is true that a", $4f db "higher level", $55 db "#MON will be", $55 @@ -119670,23 +124455,20 @@ _UnnamedText_624d0: ; 8848e (22:448e) db "So, there is no", $4f db "universally", $55 db "strong #MON.", $57 -; 0x8848e + 163 bytes -_UnnamedText_624d5: ; 88531 (22:4531) +_CeladonCityPokecenterGuyText: ; 88531 (22:4531) db $0, "If I had a BIKE,", $4f db "I would go to", $55 db "CYCLING ROAD!", $57 -; 0x88531 + 46 bytes -_UnnamedText_624da: ; 8855f (22:455f) +_FuchsiaCityPokecenterGuyText: ; 8855f (22:455f) db $0, "If you're studying ", $4f db "#MON, visit", $55 db "the SAFARI ZONE.", $51 db "It has all sorts", $4f db "of rare #MON.", $57 -; 0x8855f + 80 bytes -_UnnamedText_624df: ; 885af (22:45af) +_CinnabarPokecenterGuyText: ; 885af (22:45af) db $0, "#MON can still", $4f db "learn techniques", $55 db "after canceling", $55 @@ -119694,66 +124476,55 @@ _UnnamedText_624df: ; 885af (22:45af) db "Evolution can wait", $4f db "until new moves", $55 db "have been learned.", $57 -; 0x885af + 114 bytes -_UnnamedText_624f8: ; 88621 (22:4621) +_SaffronCityPokecenterGuyText1: ; 88621 (22:4621) db $0, "It would be great", $4f db "if the ELITE FOUR", $55 db "came and stomped", $55 db "TEAM ROCKET!", $57 -; 0x88621 + 67 bytes -_UnnamedText_624fd: ; 88664 (22:4664) +_SaffronCityPokecenterGuyText2: ; 88664 (22:4664) db $0, "TEAM ROCKET took", $4f db "off! We can go", $55 db "out safely again!", $55 db "That's great!", $57 -; 0x88664 + 64 bytes -_UnnamedText_62502: ; 886a4 (22:46a4) +_CeladonCityHotelText: ; 886a4 (22:46a4) db $0, "My sis brought me", $4f db "on this vacation!", $57 -; 0x886a4 + 37 bytes -_UnnamedText_62511: ; 886c9 (22:46c9) +_BookcaseText: ; 886c9 (22:46c9) db $0, "Crammed full of", $4f db "#MON books!", $57 -; 0x886c9 + 29 bytes -_UnnamedText_1e953: ; 886e6 (22:46e6) +_NewBicycleText: ; 886e6 (22:46e6) db $0, "A shiny new", $4f db "BICYCLE!", $57 -; 0x886e6 + 22 bytes _UnnamedText_1e960: ; 886fc (22:46fc) db $0, "Push START to", $4f db "open the MENU!", $57 -; 0x886fc + 30 bytes _UnnamedText_1e97e: ; 8871a (22:471a) db $0, "The SAVE option is", $4f db "on the MENU", $55 db "screen.", $57 -; 0x8871a + 40 bytes _UnnamedText_1e983: ; 88742 (22:4742) db $0, "All #MON types", $4f db "have strong and", $55 db "weak points", $55 db "against others.", $57 -; 0x88742 + 60 bytes _UnnamedText_1ea0d: ; 8877e (22:477e) db $0, "PA: Ding-dong!", $51 db "Time's up!", $58 -; 0x8877e + 26 bytes _UnnamedText_1ea12: ; 88798 (22:4798) db $0, "PA: Your SAFARI", $4f db "GAME is over!", $57 -; 0x88798 + 31 bytes -_UnnamedText_1ea5b: ; 887b7 (22:47b7) +_CinnabarGymQuizIntroText: ; 887b7 (22:47b7) db $0, "#MON Quiz!", $51 db "Get it right and", $4f db "the door opens to", $55 @@ -119766,82 +124537,68 @@ _UnnamedText_1ea5b: ; 887b7 (22:47b7) db "GYM LEADER...", $51 db "Then get it right!", $4f db "Here we go!", $58 -; 0x887b7 + 182 bytes -_UnnamedText_1ea6c: ; 8886d (22:486d) +_CinnabarQuizQuestionsText1: ; 8886d (22:486d) db $0, "CATERPIE evolves", $4f db "into BUTTERFREE?", $57 -; 0x8886d + 35 bytes -_UnnamedText_1ea71: ; 88890 (22:4890) +_CinnabarQuizQuestionsText2: ; 88890 (22:4890) db $0, "There are 9", $4f db "certified #MON", $55 db "LEAGUE BADGEs?", $57 -; 0x88890 + 43 bytes -_UnnamedText_1ea76: ; 888bb (22:48bb) +_CinnabarQuizQuestionsText3: ; 888bb (22:48bb) db $0, "POLIWAG evolves 3", $4f db "times?", $57 -; 0x888bb + 26 bytes -_UnnamedText_1ea7b: ; 888d5 (22:48d5) +_CinnabarQuizQuestionsText4: ; 888d5 (22:48d5) db $0, "Are thunder moves", $4f db "effective against", $55 db "ground element-", $55 db "type #MON?", $57 -; 0x888d5 + 64 bytes -_UnnamedText_1ea80: ; 88915 (22:4915) +_CinnabarQuizQuestionsText5: ; 88915 (22:4915) db $0, "#MON of the", $4f db "same kind and", $55 db "level are not", $55 db "identical?", $57 -; 0x88915 + 52 bytes -_UnnamedText_1ea85: ; 88949 (22:4949) +_CinnabarQuizQuestionsText6: ; 88949 (22:4949) db $0, "TM28 contains", $4f db "TOMBSTONER?", $57 -; 0x88949 + 27 bytes -_UnnamedText_1eae3: ; 88964 (22:4964) +_CinnabarGymQuizCorrectText: ; 88964 (22:4964) db $0, "You're absolutely", $4f db "correct!", $51 db "Go on through!@@" -; 0x8898f -_UnnamedText_1eb05: ; 8898f (22:498f) +_CinnabarGymQuizIncorrectText: ; 8898f (22:498f) db $0, "Sorry! Bad call!", $58 -; 0x8898f + 18 bytes _UnnamedText_1eb69: ; 889a1 (22:49a1) db $0, "#MON magazines!", $51 db "#MON notebooks!", $51 db "#MON graphs!", $57 -; 0x889a1 + 46 bytes -_UnnamedText_1ebdd: ; 889cf (22:49cf) +_BillsHouseMonitorText: ; 889cf (22:49cf) db $0, "TELEPORTER is", $4f db "displayed on the", $55 db "PC monitor.", $57 -; 0x889cf + 44 bytes -_UnnamedText_1ebe2: ; 889fb (22:49fb) +_BillsHouseInitiatedText: ; 889fb (22:49fb) db $0, $52, " initiated", $4f db "TELEPORTER's Cell", $55 db "Separator!@@" -; 0x88a25 -_UnnamedText_1ec7f: ; 88a25 (22:4a25) +_BillsHousePokemonListText1: ; 88a25 (22:4a25) db $0, "BILL's favorite", $4f db "#MON list!", $58 -; 0x88a25 + 27 bytes -_UnnamedText_1ecaa: ; 88a40 (22:4a40) +_BillsHousePokemonListText2: ; 88a40 (22:4a40) db $0, "Which #MON do", $4f db "you want to see?", $57 -; 0x88a40 + 32 bytes -_UnnamedText_1ecbd: ; 88a60 (22:4a60) +_OakLabEmailText: ; 88a60 (22:4a60) db $0, "There's an e-mail", $4f db "message here!", $51 db "...", $51 @@ -119860,38 +124617,31 @@ _UnnamedText_1ecbd: ; 88a60 (22:4a60) db "PS: PROF.OAK,", $4f db "please visit us!", $55 db "...", $57 -; 0x88a60 + 251 bytes -_UnnamedText_2ff32: ; 88b5b (22:4b5b) +_GameCornerCoinCaseText: ; 88b5b (22:4b5b) db $0, "A COIN CASE is", $4f db "required!", $57 -; 0x88b5b + 26 bytes -_UnnamedText_2ff37: ; 88b75 (22:4b75) +_GameCornerNoCoinsText: ; 88b75 (22:4b75) db $0, "You don't have", $4f db "any coins!", $57 -; 0x88b75 + 26 bytes -_UnnamedText_37e79: ; 88b8f (22:4b8f) +_GameCornerOutOfOrderText: ; 88b8f (22:4b8f) db $0, "OUT OF ORDER", $4f db "This is broken.", $57 -; 0x88b8f + 30 bytes -_UnnamedText_37e7e: ; 88bad (22:4bad) +_GameCornerOutToLunchText: ; 88bad (22:4bad) db $0, "OUT TO LUNCH", $4f db "This is reserved.", $57 -; 0x88bad + 32 bytes -_UnnamedText_37e83: ; 88bcd (22:4bcd) +_GameCornerSomeonesKeysText: ; 88bcd (22:4bcd) db $0, "Someone's keys!", $4f db "They'll be back.", $57 -; 0x88bcd + 32 bytes _UnnamedText_21865: ; 88bed (22:4bed) db $0, "Just a moment.", $57 -; 0x88bed + 16 bytes -UnnamedText_88bfd: ; 88bfd (22:4bfd) +TMNotebookText: ; 88bfd (22:4bfd) db $0, "It's a pamphlet", $4f db "on TMs.", $51 db "...", $51 @@ -119901,18 +124651,15 @@ UnnamedText_88bfd: ; 88bfd (22:4bfd) db "HMs that can be", $55 db "used repeatedly.", $51 db "SILPH CO.@@" -; 0x88c6f -_UnnamedText_529e9: ; 88c6f (22:4c6f) +_TurnPageText: ; 88c6f (22:4c6f) db $0, "Turn the page?", $57 -; 0x88c6f + 16 bytes -UnnamedText_88c7f: ; 88c7f (22:4c7f) +_ViridianSchoolNotebookText5: ; 88c7f (22:4c7f) db $0, "GIRL: Hey! Don't", $4f db "look at my notes!@@" -; 0x88ca3 -_UnnamedText_529f4: ; 88ca3 (22:4ca3) +_ViridianSchoolNotebookText1: ; 88ca3 (22:4ca3) db $0, "Looked at the", $4f db "notebook!", $51 db "First page...", $51 @@ -119925,9 +124672,8 @@ _UnnamedText_529f4: ; 88ca3 (22:4ca3) db "and make #MON", $55 db "fight are called", $55 db "#MON trainers.", $58 -; 0x88ca3 + 163 bytes -_UnnamedText_529f9: ; 88d46 (22:4d46) +_ViridianSchoolNotebookText2: ; 88d46 (22:4d46) db $0, "Second page...", $51 db "A healthy #MON", $4f db "may be hard to", $55 @@ -119936,9 +124682,8 @@ _UnnamedText_529f9: ; 88d46 (22:4d46) db "Poison, burns and", $4f db "other damage are", $55 db "effective!", $58 -; 0x88d46 + 119 bytes -_UnnamedText_529fe: ; 88dbd (22:4dbd) +_ViridianSchoolNotebookText3: ; 88dbd (22:4dbd) db $0, "Third page...", $51 db "#MON trainers", $4f db "seek others to", $55 @@ -119947,9 +124692,8 @@ _UnnamedText_529fe: ; 88dbd (22:4dbd) db "Battles are", $4f db "constantly fought", $55 db "at #MON GYMs.", $58 -; 0x88dbd + 111 bytes -_UnnamedText_52a03: ; 88e2c (22:4e2c) +_ViridianSchoolNotebookText4: ; 88e2c (22:4e2c) db $0, "Fourth page...", $51 db "The goal for", $4f db "#MON trainers", $55 @@ -119960,66 +124704,55 @@ _UnnamedText_52a03: ; 88e2c (22:4e2c) db "right to face...", $51 db "The ELITE FOUR of", $4f db "#MON LEAGUE!", $58 -; 0x88e2c + 149 bytes _UnnamedText_52a10: ; 88ec1 (22:4ec1) db $0, "Enemies on every", $4f db "side!", $57 -; 0x88ec1 + 24 bytes _UnnamedText_52a1d: ; 88ed9 (22:4ed9) db $0, "What goes around", $4f db "comes around!", $57 -; 0x88ed9 + 32 bytes -_UnnamedText_52a2a: ; 88ef9 (22:4ef9) +_FightingDojoText: ; 88ef9 (22:4ef9) db $0, "FIGHTING DOJO", $57 -; 0x88ef9 + 15 bytes -_UnnamedText_52a3d: ; 88f08 (22:4f08) +_IndigoPlateauHQText: ; 88f08 (22:4f08) db $0, "INDIGO PLATEAU", $4f db "#MON LEAGUE HQ", $57 -; 0x88f08 + 31 bytes -_UnnamedText_5db81: ; 88f27 (22:4f27) +_RedBedroomSNESText: ; 88f27 (22:4f27) db $0, $52, " is", $4f db "playing the SNES!", $55 db "...Okay!", $55 db "It's time to go!", $57 -; 0x88f27 + 49 bytes -_UnnamedText_5dba8: ; 88f58 (22:4f58) +_Route15UpstairsBinocularsText: ; 88f58 (22:4f58) db $0, "Looked into the", $4f db "binoculars...", $51 db "A large, shining", $4f db "bird is flying", $55 db "toward the sea.", $57 -; 0x88f58 + 79 bytes -_UnnamedText_5dbbe: ; 88fa7 (22:4fa7) +_AerodactylFossilText: ; 88fa7 (22:4fa7) db $0, "AERODACTYL Fossil", $4f db "A primitive and", $55 db "rare #MON.", $57 -; 0x88fa7 + 46 bytes -_UnnamedText_5dbd4: ; 88fd5 (22:4fd5) +_KabutopsFossilText: ; 88fd5 (22:4fd5) db $0, "KABUTOPS Fossil", $4f db "A primitive and", $55 db "rare #MON.", $57 -; 0x88fd5 + 44 bytes -_UnnamedText_5dc9e: ; 89001 (22:5001) +_LinkCableHelpText1: ; 89001 (22:5001) db $0, "TRAINER TIPS", $51 db "Using a Game Link", $4f db "Cable", $58 -; 0x89001 + 38 bytes -_UnnamedText_5dca3: ; 89027 (22:5027) +_LinkCableHelpText2: ; 89027 (22:5027) db $0, "Which heading do", $4f db "you want to read?", $57 -; 0x89027 + 36 bytes -_UnnamedText_5dcde: ; 8904b (22:504b) +_LinkCableInfoText1: ; 8904b (22:504b) db $0, "When you have", $4f db "linked your GAME", $55 db "BOY with another", $55 @@ -120027,33 +124760,28 @@ _UnnamedText_5dcde: ; 8904b (22:504b) db "the attendant on", $55 db "the right in any", $55 db "#MON CENTER.", $58 -; 0x8904b + 114 bytes -_UnnamedText_5dce3: ; 890bd (22:50bd) +_LinkCableInfoText2: ; 890bd (22:50bd) db $0, "COLOSSEUM lets", $4f db "you play against", $55 db "a friend.", $58 -; 0x890bd + 43 bytes -_UnnamedText_5dce8: ; 890e8 (22:50e8) +_LinkCableInfoText3: ; 890e8 (22:50e8) db $0, "TRADE CENTER is", $4f db "used for trading", $55 db "#MON.", $58 -; 0x890e8 + 40 bytes -_UnnamedText_5dda2: ; 89110 (22:5110) +_ViridianSchoolBlackboardText1: ; 89110 (22:5110) db $0, "The blackboard", $4f db "describes #MON", $55 db "STATUS changes", $55 db "during battles.", $58 -; 0x89110 + 62 bytes -_UnnamedText_5dda7: ; 8914e (22:514e) +_ViridianSchoolBlackboardText2: ; 8914e (22:514e) db $0, "Which heading do", $4f db "you want to read?", $57 -; 0x8914e + 36 bytes -_UnnamedText_5ddd6: ; 89172 (22:5172) +_ViridianBlackboardSleepText: ; 89172 (22:5172) db $0, "A #MON can't", $4f db "attack if it's", $55 db "asleep!", $51 @@ -120062,9 +124790,8 @@ _UnnamedText_5ddd6: ; 89172 (22:5172) db "battles.", $51 db "Use AWAKENING to", $4f db "wake them up!", $58 -; 0x89172 + 108 bytes -_UnnamedText_5dddb: ; 891de (22:51de) +_ViridianBlackboardPoisonText: ; 891de (22:51de) db $0, "When poisoned, a", $4f db "#MON's health", $55 db "steadily drops.", $51 @@ -120072,9 +124799,8 @@ _UnnamedText_5dddb: ; 891de (22:51de) db "after battles.", $51 db "Use an ANTIDOTE", $4f db "to cure poison!", $58 -; 0x891de + 109 bytes -_UnnamedText_5dde0: ; 8924b (22:524b) +_ViridianBlackbaordPrlzText: ; 8924b (22:524b) db $0, "Paralysis could", $4f db "make #MON", $55 db "moves misfire!", $51 @@ -120082,9 +124808,8 @@ _UnnamedText_5dde0: ; 8924b (22:524b) db "after battles.", $51 db "Use PARLYZ HEAL", $4f db "for treatment!", $58 -; 0x8924b + 106 bytes -_UnnamedText_5dde5: ; 892b5 (22:52b5) +_ViridianBlackboardBurnText: ; 892b5 (22:52b5) db $0, "A burn reduces", $4f db "power and speed.", $55 db "It also causes", $55 @@ -120093,9 +124818,8 @@ _UnnamedText_5dde5: ; 892b5 (22:52b5) db "after battles.", $51 db "Use BURN HEAL to", $4f db "cure a burn!", $58 -; 0x892b5 + 122 bytes -_UnnamedText_5ddea: ; 8932f (22:532f) +_ViridianBlackboardFrozenText: ; 8932f (22:532f) db $0, "If frozen, a", $4f db "#MON becomes", $55 db "totally immobile!", $51 @@ -120104,157 +124828,131 @@ _UnnamedText_5ddea: ; 8932f (22:532f) db "battle ends.", $51 db "Use ICE HEAL to", $4f db "thaw out #MON!", $58 -; 0x8932f + 120 bytes -_UnnamedText_5ddf7: ; 893a7 (22:53a7) +_VermilionGymTrashText: ; 893a7 (22:53a7) db $0, "Nope, there's", $4f db "only trash here.", $57 -; 0x893a7 + 31 bytes -UnnamedText_893c6: ; 893c6 (22:53c6) +_VermilionGymTrashSuccesText1: ; 893c6 (22:53c6) db $0, "Hey! There's a", $4f db "switch under the", $55 db "trash!", $55 db "Turn it on!", $51 db "The 1st electric", $4f db "lock opened!@@" -; 0x89418 -_UnnamedText_5dedb: ; 89418 (22:5418) +_VermilionGymTrashSuccesText2: ; 89418 (22:5418) db $0, "Hey! There's", $4f db "another switch", $55 db "under the trash!", $55 db "Turn it on!", $58 -; 0x89418 + 57 bytes -UnnamedText_89451: ; 89451 (22:5451) +_VermilionGymTrashSuccesText3: ; 89451 (22:5451) db $0, "The 2nd electric", $4f db "lock opened!", $51 db "The motorized door", $4f db "opened!@@" -; 0x89451 + 59 bytes = 0x8948c -UnnamedText_8948c: ; 8948c (22:548c) +_VermilionGymTrashFailText: ; 8948c (22:548c) db $0, "Nope! There's", $4f db "only trash here.", $55 db "Hey! The electric", $55 db "locks were reset!@@" -; 0x8948c + 68 bytes = 0x894d0 UnnamedText_894d0: ; 894d0 (22:54d0) db $0, $52, " found", $4f db "@" TX_RAM $cd6d db $0, "!@@" -; 0x894e1 _UnnamedText_76794: ; 894e1 (22:54e1) db $0, "But, ", $52, " has", $4f db "no more room for", $55 db "other items!", $57 -; 0x894e1 + 42 bytes _FoundHiddenCoinsText: ; 8950b (22:550b) db $0, $52, " found", $4f db "@" db $2, $a0, $ff, $c2 ; XXX $2 db $0, " coins!@@" -; 0x89523 _FoundHiddenCoins2Text: ; 89523 (22:5523) db $0, $52, " found", $4f db "@" db $2, $a0, $ff, $c2 ; XXX $2 probably coins db $0, " coins!@@" -; 0x8953a _DroppedHiddenCoinsText: ; 8953b (22:553b) db $0, $51 db "Oops! Dropped", $4f db "some coins!", $57 -; 0x8953b + 28 bytes -_UnnamedText_fbd9: ; 89557 (22:5557) +_IndigoPlateauStatuesText1: ; 89557 (22:5557) db $0, "INDIGO PLATEAU", $58 -; 0x89557 + 16 bytes -_UnnamedText_fbde: ; 89567 (22:5567) +_IndigoPlateauStatuesText2: ; 89567 (22:5567) db $0, "The ultimate goal", $4f db "of trainers!", $55 db "#MON LEAGUE HQ", $57 -; 0x89567 + 47 bytes -_UnnamedText_fbe3: ; 89596 (22:5596) +_IndigoPlateauStatuesText3: ; 89596 (22:5596) db $0, "The highest", $4f db "#MON authority", $55 db "#MON LEAGUE HQ", $57 -; 0x89596 + 43 bytes _UnnamedText_fc03: ; 895c1 (22:55c1) db $0, "Crammed full of", $4f db "#MON books!", $57 -; 0x895c1 + 29 bytes _UnnamedText_fc08: ; 895de (22:55de) db $0, "It's a sculpture", $4f db "of DIGLETT.", $57 -; 0x895de + 29 bytes _UnnamedText_fc0d: ; 895fb (22:55fb) db $0, "This is an", $4f db "elevator.", $57 -; 0x895fb + 22 bytes -UnnamedText_89611: ; 89611 (22:5611) +_TownMapText: ; 89611 (22:5611) db $0, "A TOWN MAP.@@" -; 0x89611 + 14 bytes = 0x8961f _UnnamedText_fc45: ; 8961f (22:561f) db $0, "Wow! Tons of", $4f db "#MON stuff!", $57 -; 0x8961f + 26 bytes _UnnamedText_3c1a8: ; 89639 (22:5639) db $0, "PA: Ding-dong!", $51 db "You are out of", $4f db "SAFARI BALLs!", $58 -; 0x89639 + 45 bytes _UnnamedText_3c229: ; 89666 (22:5666) db $0, "Wild @" TX_RAM W_ENEMYMONNAME db $0, $4f db "ran!", $58 -; 0x89666 + 17 bytes = 0x89677 _UnnamedText_3c22e: ; 89677 (22:5677) db $0, "Enemy @" TX_RAM W_ENEMYMONNAME db $0, $4f db "ran!", $58 -; 0x89677 + 18 bytes = 0x89689 _HurtByPoisonText: ; 89689 (22:5689) db $0, $5a, "'s", $4f db "hurt by poison!", $58 -; 0x89689 + 20 bytes _HurtByBurnText: ; 8969d (22:569d) db $0, $5a, "'s", $4f db "hurt by the burn!", $58 -; 0x8969d + 22 bytes _HurtByLeechSeedText: ; 896b3 (22:56b3) db $0, "LEECH SEED saps", $4f db $5a, "!", $58 -; 0x896b3 + 20 bytes -_UnnamedText_3c63e: ; 896c7 (22:56c7) +_EnemyMonFainted: ; 0x896c7 db $0, "Enemy @" TX_RAM W_ENEMYMONNAME db $0, $4f db "fainted!", $58 -; 0x896c7 + 22 bytes = 0x896dd _MoneyForWinningText: ; 896dd (22:56dd) db $0, $52, " got ¥@" @@ -120262,47 +124960,40 @@ _MoneyForWinningText: ; 896dd (22:56dd) db $2, $79, $d0, $c3 db $0, $4f db "for winning!", $58 -; 0x896f9 _TrainerDefeatedText: ; 896f9 (22:56f9) db $0, $52, " defeated", $4f db "@" - TX_RAM $d04a ; 0x89706 + TX_RAM W_TRAINERNAME ; 0x89706 db $0, "!", $58 -; 0x896f9 + 19 bytes = 0x8970c _PlayerMonFaintedText: ; 8970c (22:570c) TX_RAM W_PLAYERMONNAME db $0, $4f db "fainted!", $58 -; 0x8970c + 14 bytes _UnnamedText_3c7d3: ; 8971a (22:571a) db $0, "Use next #MON?", $57 -; 0x8971a + 16 bytes _Sony1WinText: ; 8972a (22:572a) db $0, $53, ": Yeah! Am", $4f db "I great or what?", $58 -; 0x8972a + 30 bytes _PlayerBlackedOutText2: ; 89748 (22:5748) db $0, $52, " is out of", $4f db "useable #MON!", $51 db $52, " blacked", $4f db "out!", $58 -; 0x89748 + 42 bytes _LinkBattleLostText: ; 89772 (22:5772) db $0, $52, " lost to", $4f db "@" - TX_RAM $d04a ; 0x8977e + TX_RAM W_TRAINERNAME ; 0x8977e db $0, "!", $58 -; 0x89772 + 18 bytes = 0x89784 _TrainerAboutToUseText: ; 89784 (22:5784) db 1 - dw $D04A + dw W_TRAINERNAME db 0," is",$4F db "about to use",$55,"@",1 dw W_ENEMYMONNAME @@ -120312,7 +125003,7 @@ _TrainerAboutToUseText: ; 89784 (22:5784) _TrainerSentOutText: ; 897b4 (22:57b4) db 1 - dw $D04A + dw W_TRAINERNAME db 0," sent",$4F db "out @",1 dw W_ENEMYMONNAME @@ -120321,48 +125012,39 @@ _TrainerSentOutText: ; 897b4 (22:57b4) _UnnamedText_3cab4: ; 897c9 (22:57c9) db $0, "There's no will", $4f db "to fight!", $58 -; 0x897c9 + 26 bytes _UnnamedText_3cb97: ; 897e3 (22:57e3) db $0, "Can't escape!", $58 -; 0x897e3 + 14 bytes _UnnamedText_3cb9c: ; 897f1 (22:57f1) db $0, "No! There's no", $4f db "running from a", $55 db "trainer battle!", $58 -; 0x897f1 + 46 bytes _UnnamedText_3cba1: ; 8981f (22:581f) db $0, "Got away safely!", $58 -; 0x8981f + 18 bytes ItemsCantBeUsedHere_: ; 89831 (22:5831) db $0, "Items can't be", $4f db "used here.", $58 -; 0x89831 + 26 bytes _UnnamedText_3d1f5: ; 8984b (22:584b) TX_RAM W_PLAYERMONNAME db $0, " is", $4f db "already out!", $58 -; 0x8984b + 21 bytes _MoveNoPPText: ; 89860 (22:5860) db $0, "No PP left for", $4f db "this move!", $58 -; 0x89860 + 27 bytes _MoveDisabledText: ; 8987b (22:587b) db $0, "The move is", $4f db "disabled!", $58 -; 0x8987b + 23 bytes _UnnamedText_3d430: ; 89892 (22:5892) TX_RAM W_PLAYERMONNAME db $0, " has no", $4f db "moves left!", $57 -; 0x89892 + 24 bytes _MultiHitText: ; 898aa (22:58aa) db 0,"Hit the enemy",$4F,"@" @@ -120442,164 +125124,132 @@ _CantMoveText: ; 89a1b (22:5a1b) _UnnamedText_3daa8: ; 89a29 (22:5a29) db $0, $5a, "'s", $4f db "@" -; 0x89a29 + 5 bytes UnnamedText_89a2e: ; 89a2e (22:5a2e) TX_RAM $cd6d db $0, " is", $55 db "disabled!", $58 -; 0x89a2e + 18 bytes = 0x89a40 -UnnamedText_89a40: ; 89a40 (22:5a40) +_UnnamedText_3dafb: ; 89a40 (22:5a40) db $0, $5a, "@@" -; 0x89a40 + 4 bytes = 0x89a44 -UnnamedText_89a44: ; 89a44 (22:5a44) +_UnnamedText_3db2d: ; 89a44 (22:5a44) db $0, $4f db "used @@" -; 0x89a44 + 9 bytes = 0x89a4d -UnnamedText_89a4d: ; 89a4d (22:5a4d) +_UnnamedText_3db34: ; 89a4d (22:5a4d) db $0, $4f db "used @@" -; 0x89a4d + 9 bytes = 0x89a56 -UnnamedText_89a56: ; 89a56 (22:5a56) +_UnnamedText_3db43: ; 89a56 (22:5a56) db $0, "instead,", $55 db "@@" -; 0x89a56 + 12 bytes = 0x89a62 -UnnamedText_89a62: ; 89a62 (22:5a62) +_UnnamedText_3db4c: ; 89a62 (22:5a62) TX_RAM $cf4b db $0, "@" -; 0x89a62 + 5 bytes = 0x89a67 _UnnamedText_3db6c: ; 89a67 (22:5a67) db $0, "!", $57 -; 0x89a67 + 3 bytes _UnnamedText_3db71: ; 89a6a (22:5a6a) db $0, "!", $57 -; 0x89a6a + 3 bytes _UnnamedText_3db76: ; 89a6d (22:5a6d) db $0, "!", $57 -; 0x89a6d + 3 bytes _UnnamedText_3db7b: ; 89a70 (22:5a70) db $0, "!", $57 -; 0x89a70 + 3 bytes _UnnamedText_3db80: ; 89a73 (22:5a73) db $0, "!", $57 -; 0x89a73 + 3 bytes _UnnamedText_3dc42: ; 89a76 (22:5a76) db $0, $5a, "'s", $4f db "attack missed!", $58 -; 0x89a76 + 19 bytes _UnnamedText_3dc47: ; 89a89 (22:5a89) db $0, $5a, $4f db "kept going and", $55 db "crashed!", $58 -; 0x89a89 + 27 bytes _UnnamedText_3dc4c: ; 89aa4 (22:5aa4) db $0, $59, "'s", $4f db "unaffected!", $58 -; 0x89aa4 + 16 bytes _UnnamedText_3dc57: ; 89ab4 (22:5ab4) db $0, "It doesn't affect", $4f db $59, "!", $58 -; 0x89ab4 + 21 bytes _UnnamedText_3dc7e: ; 89ac9 (22:5ac9) db $0, "Critical hit!", $58 -; 0x89ac9 + 15 bytes _UnnamedText_3dc83: ; 89ad8 (22:5ad8) db $0, "One-hit KO!", $58 -; 0x89ad8 + 13 bytes _UnnamedText_3ddb6: ; 89ae5 (22:5ae5) TX_RAM W_PLAYERMONNAME db $0, " is", $4f db "loafing around.", $58 -; 0x89ae5 + 24 bytes _UnnamedText_3ddbb: ; 89afd (22:5afd) TX_RAM W_PLAYERMONNAME db $0, " began", $4f db "to nap!", $58 -; 0x89afd + 19 bytes _UnnamedText_3ddc0: ; 89b10 (22:5b10) TX_RAM W_PLAYERMONNAME db $0, " won't", $4f db "obey!", $58 -; 0x89b10 + 16 bytes _UnnamedText_3ddc5: ; 89b20 (22:5b20) TX_RAM W_PLAYERMONNAME db $0, " turned", $4f db "away!", $58 -; 0x89b20 + 18 bytes _UnnamedText_3ddca: ; 89b32 (22:5b32) TX_RAM W_PLAYERMONNAME db $0, $4f db "ignored orders!", $58 -; 0x89b32 + 21 bytes _SubstituteTookDamageText: ; 89b47 (22:5b47) db $0, "The SUBSTITUTE", $4f db "took damage for", $55 db $59, "!", $58 -; 0x89b47 + 35 bytes _SubstituteBrokeText: ; 89b6a (22:5b6a) db $0, $59, "'s", $4f db "SUBSTITUTE broke!", $58 -; 0x89b6a + 22 bytes _BuildingRageText: ; 89b80 (22:5b80) db $0, $5a, "'s", $4f db "RAGE is building!", $58 -; 0x89b80 + 22 bytes _MirrorMoveFailedText: ; 89b96 (22:5b96) db $0, "The MIRROR MOVE", $4e, "failed!", $58 -; 0x89b96 + 25 bytes _UnnamedText_3e887: ; 89baf (22:5baf) db $0, "Hit @" -; 0x89baf + 6 bytes UnnamedText_89bb5: ; 89bb5 (22:5bb5) TX_NUM $cd05, 1, 1 db $0, " times!", $58 -; 0x89bb5 + 13 bytes = 0x89bc2 -UnnamedText_89bc2: ; 89bc2 (22:5bc2) +_UnnamedText_554b2: ; 89bc2 (22:5bc2) TX_RAM $cd6d db $0, " gained", $4f db "@@" -; 0x89bc2 + 14 bytes = 0x89bd0 -UnnamedText_89bd0: ; 89bd0 (22:5bd0) +_UnnamedText_554cb: ; 89bd0 (22:5bd0) db $0, "with EXP.ALL,", $55 db "@@" -; 0x89bd0 + 17 bytes = 0x89be1 -UnnamedText_89be1: ; 89be1 (22:5be1) +_UnnamedText_554d4: ; 89be1 (22:5be1) db $0, "a boosted", $55 db "@@" _UnnamedText_554d8: ; 89bee (22:5bee) TX_NUM $cf4b, 2, 4 db $0, " EXP. Points!", $58 -; 0x89be1 + 32 bytes = 0x89c01 UnnamedText_89c01: ; 89c01 (22:5c01) TX_RAM $cd6d @@ -120607,14 +125257,12 @@ UnnamedText_89c01: ; 89c01 (22:5c01) db "to level @" TX_NUM $d127, 1, 3 db $0, "!@@" -; 0x89c01 + 28 bytes = 0x89c1d _UnnamedText_58e3b: ; 89c1d (22:5c1d) db $0, "Wild @" TX_RAM W_ENEMYMONNAME db $0, $4f db "appeared!", $58 -; 0x89c1d + 22 bytes _UnnamedText_58e40: ; 89c33 (22:5c33) db $0, "The hooked", $4f @@ -120622,89 +125270,79 @@ _UnnamedText_58e40: ; 89c33 (22:5c33) TX_RAM W_ENEMYMONNAME db $0, $55 db "attacked!", $58 -; 0x89c33 + 28 bytes _UnnamedText_58e45: ; 89c4f (22:5c4f) TX_RAM W_ENEMYMONNAME db $0, $4f db "appeared!", $58 -; 0x89c4f + 15 bytes _UnnamedText_58e4a: ; 89c5e (22:5c5e) - TX_RAM $d04a + TX_RAM W_TRAINERNAME db $0, " wants", $4f db "to fight!", $58 -; 0x89c5e + 21 bytes _UnnamedText_58e4f: ; 89c73 (22:5c73) db $0, "SILPH SCOPE", $4f db "unveiled the", $55 db "GHOST's identity!", $58 -; 0x89c73 + 43 bytes _UnnamedText_58e54: ; 89c9e (22:5c9e) db $0, "Darn! The GHOST", $4f db "can't be ID'd!", $58 -; 0x89c9e + 30 bytes -UnknownText_89cbc: ; 89cbc (22:5cbc) +_UnnamedText_58eae: ; 89cbc (22:5cbc) db $0, "Go! @@" -; 0x89cbc + 7 bytes + +_UnnamedText_58eb5: ; 89cc3 (22:5cc3) db $0, "Do it! @@" -; 0x89cc3 + 10 bytes + +_UnnamedText_58ebc: ; 89ccd (22:5ccd) db $0, "Get'm! @@" -; 0x89ccd + 9 bytes -UnknownText_89cd6: ; 89cd6 (22:5cd6) +_UnnamedText_58ec3: ; 89cd6 (22:5cd6) db $0, "The enemy's weak!", $4f db "Get'm! @@" -; 0x89cd6 + 26 bytes _UnnamedText_58ecc: ; 89cf0 (22:5cf0) TX_RAM W_PLAYERMONNAME db $0, "!", $57 -; 0x89cf0 + 6 bytes + +_UnnamedText_58ed7: ; 89cf6 (22:5cf6) TX_RAM W_PLAYERMONNAME db $0, " @@" + +_UnnamedText_58f25: ; 89cfd (22:5cfd) db $0, "enough!@@" -; 0x89cf0 + 23 bytes -_UnnamedText_89d07: ; 89d07 (22:5d07) +_UnnamedText_58f2c: ; 89d07 (22:5d07) db $0, "OK!@@" -; 0x8d907 + 6 -UnknownText_89d0d: ; 89d0d (22:5d0d) +_UnnamedText_58f33: ; 89d0d (22:5d0d) db $0, "good!@@" -; 0x89d0d + 8 bytes _UnnamedText_58f3e: ; 89d15 (22:5d15) db $0, $4f db "Come back!", $57 -; 0x89d15 + 13 bytes _UnnamedText_2fb8e: ; 89d22 (22:5d22) db $0, "It's super", $4f db "effective!", $58 -; 0x89d22 + 22 bytes _UnnamedText_2fb93: ; 89d38 (22:5d38) db $0, "It's not very", $4f db "effective...", $58 -; 0x89d38 + 27 bytes SafariZoneEatingText: ; 89d53 (22:5d53) db $0, "Wild @" TX_RAM W_ENEMYMONNAME db $0, $4f db "is eating!", $58 -; 0x89d53 + 23 bytes SafariZoneAngryText: ; 89d6a (22:5d6a) db $0, "Wild @" TX_RAM W_ENEMYMONNAME db $0, $4f db "is angry!", $58 -; 0x89d6a + 22 bytes ; money related ; XXX $2 BCD macro @@ -120718,86 +125356,71 @@ _UnnamedText_1386b: ; 89d80 (22:5d80) _UnnamedText_1c9c1: ; 89d96 (22:5d96) db $0, "Clear all saved", $4f db "data?", $57 -; 0x89d96 + 23 bytes _UnnamedText_1ca14: ; 89dad (22:5dad) db $0, "Which floor do", $4f db "you want? ", $57 -; 0x89dad + 27 bytes _PartyMenuNormalText: ; 89dc8 (22:5dc8) db $0, "Choose a #MON.", $57 -; 0x89dc8 + 16 bytes _PartyMenuItemUseText: ; 89dd8 (22:5dd8) db $0, "Use item on which", $4f db "#MON?", $57 -; 0x89dd8 + 25 bytes _PartyMenuBattleText: ; 89df1 (22:5df1) db $0, "Bring out which", $4f db "#MON?", $57 -; 0x89df1 + 23 bytes _PartyMenuUseTMText: ; 89e08 (22:5e08) db $0, "Use TM on which", $4f db "#MON?", $57 -; 0x89e08 + 23 bytes _PartyMenuSwapMonText: ; 89e1f (22:5e1f) db $0, "Move #MON", $4f db "where?", $57 -; 0x89e1f + 18 bytes _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 -; 0x89e31 + 26 bytes _AntidoteText: ; 89e4b (22:5e4b) TX_RAM $cd6d db $0, " was", $4f db "cured of poison!", $57 -; 0x89e4b + 26 bytes _ParlyzHealText: ; 89e65 (22:5e65) TX_RAM $cd6d db $0, "'s", $4f db "rid of paralysis!", $57 -; 0x89e65 + 24 bytes _BurnHealText: ; 89e7d (22:5e7d) TX_RAM $cd6d db $0, "'s", $4f db "burn was healed!", $57 -; 0x89e7d + 23 bytes _IceHealText: ; 89e94 (22:5e94) TX_RAM $cd6d db $0, " was", $4f db "defrosted!", $57 -; 0x89e94 + 20 bytes _AwakeningText: ; 89ea8 (22:5ea8) TX_RAM $cd6d db $0, $4f db "woke up!", $57 -; 0x89ea8 + 14 bytes _FullHealText: ; 89eb6 (22:5eb6) TX_RAM $cd6d db $0, "'s", $4f db "health returned!", $57 -; 0x89eb6 + 23 bytes _ReviveText: ; 89ecd (22:5ecd) TX_RAM $cd6d db $0, $4f db "is revitalized!", $57 -; 0x89ecd + 21 bytes _RareCandyText: ; 89ee2 (22:5ee2) TX_RAM $cd6d @@ -120805,186 +125428,152 @@ _RareCandyText: ; 89ee2 (22:5ee2) db "to level @" TX_NUM $d127, $1,$3 db $0, "!@@" -; 0x89ee2 + 28 bytes _UnnamedText_17f23: ; 89efe (22:5efe) db $0, $52, " turned on", $4f db "the PC.", $58 -; 0x89efe + 21 bytes _UnnamedText_17f28: ; 89f13 (22:5f13) db $0, "Accessed BILL's", $4f db "PC.", $51 db "Accessed #MON", $4f db "Storage System.", $58 -; 0x89f13 + 50 bytes _UnnamedText_17f2d: ; 89f45 (22:5f45) db $0, "Accessed someone's", $4f db "PC.", $51 db "Accessed #MON", $4f db "Storage System.", $58 -; 0x89f45 + 53 bytes _UnnamedText_17f32: ; 89f7a (22:5f7a) db $0, "Accessed my PC.", $51 db "Accessed Item", $4f db "Storage System.", $58 -; 0x89f7a + 47 bytes _UnnamedText_7b22: ; 89fa9 (22:5fa9) db $0, $52, " turned on", $4f db "the PC.", $58 -; 0x89fa9 + 21 bytes _UnnamedText_7b27: ; 89fbe (22:5fbe) db $0, "What do you want", $4f db "to do?", $57 -; 0x89fbe + 25 bytes _UnnamedText_7b2c: ; 89fd7 (22:5fd7) db $0, "What do you want", $4f db "to deposit?", $57 -; 0x89fd7 + 30 bytes _UnnamedText_7b31: ; 89ff5 (22:5ff5) db $0, "How many?", $57 -; 0x89ff5 + 11 bytes _UnnamedText_7b36: ; 8a000 (22:6000) TX_RAM $cd6d db $0, " was", $4f db "stored via PC.", $58 -; 0x8a000 + 24 bytes _UnnamedText_7b3b: ; 8a018 (22:6018) db $0, "You have nothing", $4f db "to deposit.", $58 -; 0x8a018 + 30 bytes _UnnamedText_7b40: ; 8a036 (22:6036) db $0, "No room left to", $4f db "store items.", $58 -; 0x8a036 + 30 bytes _UnnamedText_7b45: ; 8a054 (22:6054) db $0, "What do you want", $4f db "to withdraw?", $57 -; 0x8a054 + 31 bytes _UnnamedText_7b4a: ; 8a073 (22:6073) db $0, "How many?", $57 -; 0x8a073 + 11 bytes _UnnamedText_7b4f: ; 8a07e (22:607e) db $0, "Withdrew", $4f db "@" TX_RAM $cd6d db $0, ".", $58 -; 0x8a07e + 17 bytes _UnnamedText_7b54: ; 8a08f (22:608f) db $0, "There is nothing", $4f db "stored.", $58 -; 0x8a08f + 26 bytes _UnnamedText_7b59: ; 8a0a9 (22:60a9) db $0, "You can't carry", $4f db "any more items.", $58 -; 0x8a0a9 + 32 bytes _UnnamedText_7b5e: ; 8a0c9 (22:60c9) db $0, "What do you want", $4f db "to toss away?", $57 -; 0x8a0c9 + 32 bytes _UnnamedText_7b63: ; 8a0e9 (22:60e9) db $0, "How many?", $57 -; 0x8a0e9 + 11 bytes _UnnamedText_76683: ; 8a0f4 (22:60f4) db $0, "Accessed #MON", $4f db "LEAGUE's site.", $51 db "Accessed the HALL", $4f db "OF FAME List.", $58 -; 0x8a0f4 + 61 bytes -_UnnamedText_217e9: ; 8a131 (22:6131) +_SwitchOnText: ; 0x8a131 db $0, "Switch on!", $58 -; 0x8a131 + 12 bytes -_UnnamedText_217ee: ; 8a13d (22:613d) +_WhatText: ; 0x8a13d db $0, "What?", $57 -; 0x8a13d + 7 bytes -_UnnamedText_217f3: ; 8a144 (22:6144) +_DepositWhichMonText: ; 0x8a144 db $0, "Deposit which", $4f db "#MON?", $57 -; 0x8a144 + 21 bytes -_UnnamedText_217f8: ; 8a159 (22:6159) +_MonWasStoredText: ; 0x8a159 TX_RAM $cf4b db $0, " was", $4f db "stored in Box @" TX_RAM $cd3d db $0, ".", $58 -; 30 bytes -_UnnamedText_217fd: ; 8a177 (22:6177) +_CantDepositLastMonText: ; 0x8a177 db $0, "You can't deposit", $4f db "the last #MON!", $58 -; 0x8a177 + 33 bytes -_UnnamedText_21802: ; 8a198 (22:6198) +_BoxFullText: ; 0x8a198 db $0, "Oops! This Box is", $4f db "full of #MON.", $58 -; 0x8a198 + 33 bytes -_UnnamedText_21807: ; 8a1b9 (22:61b9) +_MonIsTakenOutText: ; 0x8a1b9 TX_RAM $cf4b db $0, " is", $4f db "taken out.", $55 db "Got @" -; 0x8a1b9 + 24 bytes -UnknownText_8a1d1: ; 8a1d1 (22:61d1) +UnnamedText_8a1d1: ; 8a1d1 (22:61d1) TX_RAM $cf4b db $0, ".", $58 -; 0x8a1d1 + 6 bytes -_UnnamedText_2180c: ; 8a1d7 (22:61d7) +_NoMonText: ; 0x8a1d7 db $0, "What? There are", $4f db "no #MON here!", $58 -; 0x8a1d7 + 31 bytes -_UnnamedText_21811: ; 8a1f6 (22:61f6) +_CantTakeMonText: ; 0x8a1f6 db $0, "You can't take", $4f db "any more #MON.", $51 db "Deposit #MON", $4f db "first.", $58 -; 0x8a1f6 + 50 bytes -_UnnamedText_21816: ; 8a228 (22:6228) +_ReleaseWhichMonText: ; 0x8a228 db $0, "Release which", $4f db "#MON?", $57 -; 0x8a228 + 21 bytes -_UnnamedText_2181b: ; 8a23d (22:623d) +_OnceReleasedText: ; 0x8a23d db $0, "Once released,", $4f db "@" -; 0x8a23d + 17 bytes -UnknownText_8a24e: ; 8a24e (22:624e) +MonIsGoneForeverText: ; 0x8a24e TX_RAM $cf4b db $0, " is", $55 db "gone forever. OK?", $57 -; 0x8a24e + 26 bytes -_UnnamedText_21820: ; 8a268 (22:6268) +_MonWasReleasedText: ; 0x8a268 TX_RAM $cf4b db $0, " was", $4f db "released outside.", $55 db "Bye @" -; 0x8a268 + 32 bytes _UnnamedText_8a288: ; 8a288 (22:6288) TX_RAM $cf4b @@ -121022,75 +125611,62 @@ _OopsYouDontHaveEnoughRoomText: ; 8a329 (22:6329) _OhFineThenText: ; 8a34c (22:634c) db 0,"Oh, fine then.@@" -;635d _UnnamedText_1e93b: ; 8a35d (22:635d) db $0, "Want to get your", $4f db "#DEX rated?", $57 -; 0x8a35d + 30 bytes _UnnamedText_1e940: ; 8a37b (22:637b) db $0, "Closed link to", $4f db "PROF.OAK's PC.@@" -; 0x8a37b + 31 bytes _UnnamedText_1e946: ; 8a39a (22:639a) db $0, "Accessed PROF.", $4f db "OAK's PC.", $51 db "Accessed #DEX", $4f db "Rating System.", $58 -; 0x8a39a + 54 bytes _UnnamedText_5d43: ; 8a3d0 (22:63d0) db $0, "Where would you", $4f db "like to go?", $57 -; 0x8a3d0 + 29 bytes _UnnamedText_5d48: ; 8a3ed (22:63ed) db $0, "OK, please wait", $4f db "just a moment.", $57 -; 0x8a3ed + 32 bytes _UnnamedText_5d4d: ; 8a40d (22:640d) db $0, "The link was", $4f db "canceled.", $57 -; 0x8a40d + 24 bytes -INCLUDE "text/oakspeech.tx" +INCLUDE "text/oakspeech.asm" -_UnnamedText_6557: ; 8a605 (22:6605) +_DoYouWantToNicknameText: ; 0x8a605 db $0, "Do you want to", $4f db "give a nickname", $55 db "to @" -; 0x8a605 + 36 bytes -UnknownText_8a629: ; 8a629 (22:6629) +UnnamedText_8a629: ; 8a629 (22:6629) TX_RAM $cd6d db $0, "?", $57 -; 0x8a629 + 6 bytes _UnnamedText_699f: ; 8a62f (22:662f) db $0, "Right! So your", $4f db "name is ", $52, "!", $58 -; 0x8a62f + 27 bytes _UnnamedText_69e7: ; 8a64a (22:664a) db $0, "That's right! I", $4f db "remember now! His", $55 db "name is ", $53, "!", $58 -; 0x8a64a + 45 bytes _SSAnne8AfterBattleText2: ; 8a677 (22:6677) TX_RAM $cd3f db $0, " and", $4f db "@" -; 0x8a677 + 10 bytes -UnknownText_8a681: ; 8a681 (22:6681) +UnnamedText_8a681: ; 8a681 (22:6681) TX_RAM $cd6d db $0, " will", $55 db "be traded.", $57 -; 0x8a681 + 21 bytes _Char00Text: ; 8a696 (22:6696) TX_NUM $FF8C,1,2 @@ -121133,7 +125709,6 @@ _UnnamedText_5d616: ; 8a7fc (22:67fc) db $0, "The HM FLASH", $4f db "lights even the", $55 db "darkest dungeons.", $57 -; 0x8a7fc + 48 bytes _Route2GateText2: ; 8a82c (22:682c) db $0, "Once a #MON", $4f @@ -121175,23 +125750,19 @@ _UnnamedText_4935c: ; 8a976 (22:6976) db "a swell MAGIKARP", $55 db "for just ¥500!", $55 db "What do you say?", $57 -; 0x8a976 + 118 bytes _UnnamedText_49361: ; 8a9ec (22:69ec) db $0, "No? I'm only", $4f db "doing this as a", $55 db "favor to you!", $57 -; 0x8a9ec + 43 bytes _UnnamedText_49366: ; 8aa17 (22:6a17) db $0, "You'll need more", $4f db "money than that!", $57 -; 0x8aa17 + 34 bytes _UnnamedText_4936b: ; 8aa39 (22:6a39) db $0, "MAN: Well, I don't", $4f db "give refunds!", $57 -; 0x8aa39 + 33 bytes _MtMoonPokecenterText5: ; 8aa5a (22:6a5a) db $0, $57 @@ -121202,7 +125773,6 @@ _UnnamedText_1dfe7: ; 8aa5c (22:6a5c) db "though!", $51 db "Oh wait there,", $4f db "the road's closed.", $57 -; 0x8aa5c + 77 bytes _UnnamedText_8aaa9: ; 8aaa9 (22:6aa9) db $0, "Whoa, boy!", $4f @@ -121211,7 +125781,6 @@ _UnnamedText_8aaa9: ; 8aaa9 (22:6aa9) db "Huh? I can have", $55 db "this drink?", $55 db "Gee, thanks!@@" -; 0x8aaa9 + 70 bytes _UnnamedText_1dff1: ; 8aaef (22:6aef) db $0, $51 @@ -121226,138 +125795,114 @@ _UnnamedText_1dff1: ; 8aaef (22:6aef) db "through. I'll", $55 db "share this with", $55 db "the other guards!", $57 -; 0x8aaef + 133 bytes _UnnamedText_1dff6: ; 8ab74 (22:6b74) db $0, "Hi, thanks for", $4f db "the cool drinks!", $57 -; 0x8ab74 + 33 bytes _UnnamedText_5640f: ; 8ab95 (22:6b95) db $0, "I run a DAYCARE.", $4f db "Would you like me", $55 db "to raise one of", $55 db "your #MON?", $57 -; 0x8ab95 + 63 bytes _UnnamedText_56414: ; 8abd4 (22:6bd4) db $0, "Which #MON", $4f db "should I raise?", $58 -; 0x8abd4 + 28 bytes _UnnamedText_56419: ; 8abf0 (22:6bf0) db $0, "Fine, I'll look", $4f db "after @" -; 0x8abf0 + 23 bytes -UnknownText_8ac07: ; 8ac07 (22:6c07) +UnnamedText_8ac07: ; 8ac07 (22:6c07) TX_RAM $cd6d db $0, $55 db "for a while.", $58 -; 0x8ac07 + 18 bytes _UnnamedText_5641e: ; 8ac19 (22:6c19) db $0, "Come see me in", $4f db "a while.", $57 -; 0x8ac19 + 25 bytes _UnnamedText_56423: ; 8ac32 (22:6c32) db $0, "Your @" -; 0x8ac32 + 7 bytes -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 @" -; 0x8ac39 + 46 bytes -UnknownText_8ac67: ; 8ac67 (22:6c67) +UnnamedText_8ac67: ; 8ac67 (22:6c67) TX_NUM $cd3e,$1,$3 db $0, "!", $51 db "Aren't I great?", $58 -; 0x8ac67 + 22 bytes _UnnamedText_56428: ; 8ac7d (22:6c7d) db $0, "You owe me ¥@" -; 0x8ac7d + 14 bytes ;XXX -; 0x8ac8b -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 -; 0x8ac8f + 31 bytes _UnnamedText_5642d: ; 8acae (22:6cae) db $0, $52, " got", $4f db "@" -; 0x8acae + 8 bytes -UnknownText_8acb6: ; 8acb6 (22:6cb6) +UnnamedText_8acb6: ; 8acb6 (22:6cb6) TX_RAM $da49 db $0, " back!", $57 -; 0x8acb6 + 11 bytes _UnnamedText_56432: ; 8acc1 (22:6cc1) db $0, "Back already?", $4f db "Your @" -; 0x8acc1 + 21 bytes -UnknownText_8acd6: ; 8acd6 (22:6cd6) +UnnamedText_8acd6: ; 8acd6 (22:6cd6) TX_RAM $cd6d db $0, $55 db "needs some more", $55 db "time with me.", $58 -; 0x8acd6 + 35 bytes SECTION "bank23",ROMX,BANK[$23] _UnnamedText_56437: ; 8c000 (23:4000) db $0, "All right then,", $4f db "@@" -; 0x8c000 + 19 bytes _UnnamedText_5643b: ; 8c013 (23:4013) db $0, "come again.", $57 -; 0x8c013 + 13 bytes _UnnamedText_56440: ; 8c020 (23:4020) db $0, "You have no room", $4f db "for this #MON!", $57 -; 0x8c020 + 33 bytes _UnnamedText_56445: ; 8c041 (23:4041) db $0, "You only have one", $4f db "#MON with you.", $57 -; 0x8c041 + 34 bytes _UnnamedText_5644a: ; 8c063 (23:4063) db $0, "I can't accept a", $4f db "#MON that", $55 db "knows an HM move.", $57 -; 0x8c063 + 45 bytes _UnnamedText_5644f: ; 8c090 (23:4090) db $0, "Thank you! Here's", $4f db "your #MON!", $58 -; 0x8c090 + 29 bytes _UnnamedText_56454: ; 8c0ad (23:40ad) db $0, "Hey, you don't", $4f db "have enough ¥!", $57 -; 0x8c0ad + 30 bytes -_UndergroundTunnelEntranceRoute6Text1: ; 8c0cb (23:40cb) +_UndergrdTunnelEntRoute6Text1: ; 8c0cb (23:40cb) db $0, "People often lose", $4f db "things in that", $55 db "UNDERGROUND PATH.", $57 -_UndergroundPathEntranceRoute7Text1: ; 8c0ff (23:40ff) +_UndergroundPathEntRoute7Text1: ; 8c0ff (23:40ff) db $0, "I heard a sleepy", $4f db "#MON appeared", $55 db "near CELADON CITY.", $57 @@ -121369,20 +125914,17 @@ _UnnamedText_5d773: ; 8c132 (23:4132) db "There are so many", $4f db "rough looking", $55 db "people there.", $57 -; 0x8c132 + 99 bytes _UnnamedText_5d778: ; 8c195 (23:4195) db $0, "TEAM ROCKET had a", $4f db "secret hideout in", $55 db "CELADON CITY?", $57 -; 0x8c195 + 51 bytes _UnnamedText_5d77d: ; 8c1c8 (23:41c8) db $0, "You're here to", $4f db "shop in CELADON?", $51 db "Just step outside", $4f db "and head west!", $57 -; 0x8c1c8 + 65 bytes _UnnamedText_5d782: ; 8c209 (23:4209) db $0, "The UNDERGROUND", $4f @@ -121393,9 +125935,8 @@ _UnnamedText_5d782: ; 8c209 (23:4209) db "to CERULEAN, go", $55 db "to the building", $55 db "across the road.", $57 -; 0x8c209 + 132 bytes -_UndergroundPathEntranceRoute8Text1: ; 8c28d (23:428d) +_UndergroundPathEntRoute8Text1: ; 8c28d (23:428d) db $0, "The dept. store", $4f db "in CELADON has a", $55 db "great selection!", $57 @@ -121412,115 +125953,94 @@ _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 -; 0x8c33a + 35 bytes -_UnnamedText_4458d: ; 8c35d (23:435d) +_RockTunnel1EndBattleText1: ; 8c35d (23:435d) db $0, "Doh!", $4f db "You win!", $58 -; 0x8c35d + 15 bytes -_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 -; 0x8c36c + 48 bytes -_UnnamedText_44597: ; 8c39c (23:439c) +_RockTunnel1BattleText2: ; 8c39c (23:439c) db $0, "Hmm. Maybe I'm", $4f db "lost in here...", $57 -; 0x8c39c + 31 bytes -_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 -; 0x8c3bb + 45 bytes -_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 -; 0x8c3e8 + 63 bytes -_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 -; 0x8c427 + 50 bytes -_UnnamedText_445ab: ; 8c459 (23:4459) +_RockTunnel1EndBattleText3: ; 8c459 (23:4459) db $0, "I give!", $58 -; 0x8c459 + 9 bytes -_UnnamedText_445b0: ; 8c462 (23:4462) +_RockTunnel1AfterBattleText3: ; 8c462 (23:4462) db $0, "You're talented", $4f db "enough to hike!", $57 -; 0x8c462 + 32 bytes -_UnnamedText_445b5: ; 8c482 (23:4482) +_RockTunnel1BattleText4: ; 8c482 (23:4482) db $0, "#MON fight!", $4f db "Ready, go!", $57 -; 0x8c482 + 24 bytes -_UnnamedText_445ba: ; 8c49a (23:449a) +_RockTunnel1EndBattleText4: ; 8c49a (23:449a) db $0, "Game", $4f db "over!", $58 -; 0x8c49a + 12 bytes -_UnnamedText_445bf: ; 8c4a6 (23:44a6) +_RockTunnel1AfterBattleText4: ; 8c4a6 (23:44a6) db $0, "Oh well, I'll get", $4f db "a ZUBAT as I go!", $57 -; 0x8c4a6 + 35 bytes -_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 -; 0x8c4c9 + 43 bytes -_UnnamedText_445c9: ; 8c4f4 (23:44f4) +_RockTunnel1EndBattleText5: ; 8c4f4 (23:44f4) db $0, "It", $4f db "was too dark!", $58 -; 0x8c4f4 + 18 bytes -_UnnamedText_445ce: ; 8c506 (23:4506) +_RockTunnel1AfterBattleText5: ; 8c506 (23:4506) db $0, "I saw a MACHOP", $4f db "in this tunnel!", $57 -; 0x8c506 + 32 bytes -_UnnamedText_445d3: ; 8c526 (23:4526) +_RockTunnel1BattleText6: ; 8c526 (23:4526) db $0, "I came this far", $4f db "for #MON!", $57 -; 0x8c526 + 27 bytes -_UnnamedText_445d8: ; 8c541 (23:4541) +_RockTunnel1EndBattleText6: ; 8c541 (23:4541) db $0, "I'm", $4f db "out of #MON!", $58 -; 0x8c541 + 17 bytes -_UnnamedText_445dd: ; 8c552 (23:4552) +_RockTunnel1AfterBattleText6: ; 8c552 (23:4552) db $0, "You looked cute", $4f db "and harmless!", $57 -; 0x8c552 + 31 bytes -_UnnamedText_445e2: ; 8c571 (23:4571) +_RockTunnel1BattleText7: ; 8c571 (23:4571) db $0, "You have #MON!", $4f db "Let's start!", $57 -; 0x8c571 + 28 bytes -_UnnamedText_445e7: ; 8c58d (23:458d) +_RockTunnel1EndBattleText7: ; 8c58d (23:458d) db $0, "You", $4f db "play hard!", $58 -; 0x8c58d + 16 bytes -_UnnamedText_445ec: ; 8c59d (23:459d) +_RockTunnel1AfterBattleText7: ; 8c59d (23:459d) db $0, "Whew! I'm all", $4f db "sweaty now!", $57 -; 0x8c59d + 26 bytes _RockTunnel1Text8: ; 8c5b7 (23:45b7) db $0, "ROCK TUNNEL", $4f @@ -121529,11 +126049,9 @@ _RockTunnel1Text8: ; 8c5b7 (23:45b7) _VoltorbBattleText: ; 8c5e2 (23:45e2) db $0, "Bzzzt!", $57 -; 0x8c5e2 + 8 bytes _ZapdosBattleText: ; 8c5ea (23:45ea) db $0, "Gyaoo!@@" -; 0x8c5ea + 9 bytes _Route11GateText1: ; 8c5f3 (23:45f3) db $0, "When you catch", $4f @@ -121557,21 +126075,18 @@ _UnnamedText_494a3: ; 8c689 (23:4689) db "It can't pinpoint", $4f db "it, so you have", $55 db "to look yourself!", $57 -; 0x8c689 + 146 bytes _UnnamedText_494c4: ; 8c71b (23:471b) db $0, "Looked into the", $4f db "binoculars.", $51 db "A big #MON is", $4f db "asleep on a road!", $57 -; 0x8c71b + 61 bytes _UnnamedText_494c9: ; 8c758 (23:4758) db $0, "Looked into the", $4f db "binoculars.", $51 db "It's a beautiful", $4f db "view!", $57 -; 0x8c758 + 51 bytes _UnnamedText_494d5: ; 8c78b (23:478b) db $0, "Looked into the", $4f @@ -121581,9 +126096,8 @@ _UnnamedText_494d5: ; 8c78b (23:478b) db "CITY to LAVENDER", $55 db "is by way of the", $55 db "ROCK TUNNEL.", $57 -; 0x8c78b + 110 bytes -_DiglettsCaveEntranceRoute11Text1: ; 8c7f9 (23:47f9) +_DiglettsCaveEntRoute11Text1: ; 8c7f9 (23:47f9) db $0, "What a surprise!", $4f db "DIGLETTs dug this", $55 db "long tunnel!", $51 @@ -121601,12 +126115,10 @@ _TM39PreReceiveText: ; 8c86b (23:486b) db "You can have this", $4f db "TM. I don't need", $55 db "it any more...", $58 -; 0x8c86b + 91 bytes _ReceivedTM39Text: ; 8c8c6 (23:48c6) db $0, $52, " received", $4f db "TM39!@@" -; 0x8c8c6 + 19 bytes _TM39ExplanationText: ; 8c8d9 (23:48d9) db $0, "TM39 is a move", $4f @@ -121615,24 +126127,20 @@ _TM39ExplanationText: ; 8c8d9 (23:48d9) db "so use it during", $55 db "battles you can't", $55 db "afford to lose.", $57 -; 0x8c8d9 + 99 bytes _TM39NoRoomText: ; 8c93c (23:493c) db $0, "You don't have", $4f db "room for this.", $57 -; 0x8c93c + 30 bytes _UnnamedText_495b8: ; 8c95a (23:495a) db $0, "Looked into the", $4f db "binoculars.", $51 db "A man fishing!", $57 -; 0x8c95a + 44 bytes _UnnamedText_495c4: ; 8c986 (23:4986) db $0, "Looked into the", $4f db "binoculars.", $51 db "It's #MON TOWER!", $57 -; 0x8c986 + 45 bytes _UnnamedText_564c0: ; 8c9b3 (23:49b3) db $0, "I'm the FISHING", $4f @@ -121641,7 +126149,6 @@ _UnnamedText_564c0: ; 8c9b3 (23:49b3) db "fishing!", $51 db "Do you like to", $4f db "fish?", $57 -; 0x8c9b3 + 77 bytes _UnnamedText_564c5: ; 8ca00 (23:4a00) db $0, "Grand! I like", $4f @@ -121650,12 +126157,10 @@ _UnnamedText_564c5: ; 8ca00 (23:4a00) db "fish, young one!", $51 db $52, " received", $4f db "a @" -; 0x8ca00 + 72 bytes -UnknownText_8ca48: ; 8ca48 (23:4a48) +UnnamedText_8ca48: ; 8ca48 (23:4a48) TX_RAM $cf4b db $0, "!@@" -; 0x8ca48 + 7 bytes _UnnamedText_564ca: ; 8ca4f (23:4a4f) db $0, $51 @@ -121665,12 +126170,10 @@ _UnnamedText_564ca: ; 8ca4f (23:4a4f) db "rivers, go out", $55 db "and land the big", $55 db "one!", $57 -; 0x8ca4f + 82 bytes _UnnamedText_564cf: ; 8caa1 (23:4aa1) db $0, "Oh... That's so", $4f db "disappointing...", $57 -; 0x8caa1 + 33 bytes _UnnamedText_564d4: ; 8cac2 (23:4ac2) db $0, "Hello there,", $4f @@ -121682,14 +126185,12 @@ _UnnamedText_564d4: ; 8cac2 (23:4ac2) db "of #MON.", $51 db "Try fishing", $4f db "wherever you can!", $57 -; 0x8cac2 + 118 bytes _UnnamedText_564d9: ; 8cb38 (23:4b38) db $0, "Oh no!", $51 db "I had a gift for", $4f db "you, but you have", $55 db "no room for it!", $57 -; 0x8cb38 + 59 bytes _Route15GateText1: ; 8cb73 (23:4b73) db $0, "Are you working", $4f @@ -121710,32 +126211,27 @@ _UnnamedText_4968c: ; 8cbac (23:4bac) db "If you don't need", $4f db "it, you should ", $55 db "store it via PC.", $57 -; 0x8cbac + 185 bytes _UnnamedText_49698: ; 8cc65 (23:4c65) db $0, "Looked into the", $4f db "binoculars.", $51 db "It looks like a", $4f db "small island!", $57 -; 0x8cc65 + 59 bytes _UnnamedText_49777: ; 8cca0 (23:4ca0) db $0, "No pedestrians", $4f db "are allowed on", $55 db "CYCLING ROAD!", $57 -; 0x8cca0 + 45 bytes _UnnamedText_4977c: ; 8cccd (23:4ccd) db $0, "CYCLING ROAD is a", $4f db "downhill course", $55 db "by the sea. It's", $55 db "a great ride.", $57 -; 0x8cccd + 65 bytes _UnnamedText_49781: ; 8cd0e (23:4d0e) db $0, "Excuse me! Wait", $4f db "up please!", $57 -; 0x8cd0e + 28 bytes _Route16GateMapText2: ; 8cd2a (23:4d2a) db $0, "How'd you get in?", $4f @@ -121745,26 +126241,22 @@ _UnnamedText_49820: ; 8cd49 (23:4d49) db $0, "I'm going for a", $4f db "ride with my girl", $55 db "friend!", $57 -; 0x8cd49 + 42 bytes _UnnamedText_4982f: ; 8cd73 (23:4d73) db $0, "We're going", $4f db "riding together!", $57 -; 0x8cd73 + 29 bytes _UnnamedText_4983b: ; 8cd90 (23:4d90) db $0, "Looked into the", $4f db "binoculars.", $51 db "It's CELADON DEPT.", $4f db "STORE!", $57 -; 0x8cd90 + 54 bytes _UnnamedText_49847: ; 8cdc6 (23:4dc6) db $0, "Looked into the", $4f db "binoculars.", $51 db "There's a long", $4f db "path over water!", $57 -; 0x8cdc6 + 60 bytes _Route16HouseText3: ; 8ce02 (23:4e02) db $0, "Oh, you found my", $4f @@ -121773,12 +126265,10 @@ _Route16HouseText3: ; 8ce02 (23:4e02) db "anyone I'm here.", $55 db "I'll make it up", $55 db "to you with this!", $58 -; 0x8ce02 + 100 bytes _ReceivedHM02Text: ; 8ce66 (23:4e66) db $0, $52, " received", $4f db "HM02!@@" -; 0x8ce66 + 19 bytes _HM02ExplanationText: ; 8ce79 (23:4e79) db $0, "HM02 is FLY.", $4f @@ -121786,45 +126276,37 @@ _HM02ExplanationText: ; 8ce79 (23:4e79) db "back to any town.", $51 db "Put it to good", $4f db "use!", $57 -; 0x8ce79 + 69 bytes _HM02NoRoomText: ; 8cebe (23:4ebe) db $0, "You don't have any", $4f db "room for this.", $57 -; 0x8cebe + 34 bytes _UnnamedText_1e652: ; 8cee0 (23:4ee0) db $0, "FEAROW: Kyueen!", $57 -; 0x8cee0 + 17 bytes _UnnamedText_49928: ; 8cef1 (23:4ef1) db $0, "You need a BICYCLE", $4f db "for CYCLING ROAD!", $57 -; 0x8cef1 + 38 bytes _UnnamedText_4992d: ; 8cf17 (23:4f17) db $0, "CYCLING ROAD is", $4f db "all uphill from", $55 db "here.", $57 -; 0x8cf17 + 39 bytes _UnnamedText_49932: ; 8cf3e (23:4f3e) db $0, "Excuse me!", $57 -; 0x8cf3e + 12 bytes _UnnamedText_49993: ; 8cf4a (23:4f4a) db $0, "Looked into the", $4f db "binoculars.", $51 db "PALLET TOWN is in", $4f db "the west!", $57 -; 0x8cf4a + 57 bytes _UnnamedText_4999f: ; 8cf83 (23:4f83) db $0, "Looked into the", $4f db "binoculars.", $51 db "There are people", $4f db "swimming!", $57 -; 0x8cf83 + 56 bytes _UnnamedText_1e704: ; 8cfbb (23:4fbb) db $0, "Only truly skilled", $4f @@ -121832,107 +126314,88 @@ _UnnamedText_1e704: ; 8cfbb (23:4fbb) db "allowed through.", $51 db "You don't have the", $4f db "BOULDERBADGE yet!@@" -; 0x8d012 _UnnamedText_1e715: ; 8d012 (23:5012) db $0, $51 db "The rules are", $4f db "rules. I can't", $55 db "let you pass.", $57 -; 0x8d012 + 44 bytes _UnnamedText_1e71a: ; 8d03e (23:503e) db $0, "Oh! That is the", $4f db "BOULDERBADGE!", $55 db "Go right ahead!@@" -; 0x8d03e + 48 bytes _VictoryRoad2BattleText6: ; 8d06e (23:506e) db $0, "Gyaoo!@@" -; 0x8d06e + 9 bytes _VictoryRoad2BattleText1: ; 8d077 (23:5077) db $0, "VICTORY ROAD is", $4f db "the final test", $55 db "for trainers!", $57 -; 0x8d077 + 46 bytes _VictoryRoad2EndBattleText1: ; 8d0a5 (23:50a5) db $0, "Aiyah!", $58 -; 0x8d0a5 + 8 bytes _VictoryRoad2AfterBattleText1: ; 8d0ad (23:50ad) db $0, "If you get stuck,", $4f db "try moving some", $55 db "boulders around!", $57 -; 0x8d0ad + 52 bytes _VictoryRoad2BattleText2: ; 8d0e1 (23:50e1) db $0, "Ah, so you wish", $4f db "to challenge the", $55 db "ELITE FOUR?", $57 -; 0x8d0e1 + 46 bytes _VictoryRoad2EndBattleText2: ; 8d10f (23:510f) db $0, "You", $4f db "got me!", $58 -; 0x8d10f + 13 bytes _VictoryRoad2AfterBattleText2: ; 8d11c (23:511c) db $0, $53, " also came", $4f db "through here!", $57 -; 0x8d11c + 27 bytes _VictoryRoad2BattleText3: ; 8d137 (23:5137) db $0, "Come on!", $4f db "I'll whip you!", $57 -; 0x8d137 + 24 bytes _VictoryRoad2EndBattleText3: ; 8d14f (23:514f) db $0, "I got", $4f db "whipped!", $58 -; 0x8d14f + 16 bytes _VictoryRoad2AfterBattleText3: ; 8d15f (23:515f) db $0, "You earned the", $4f db "right to be on", $55 db "VICTORY ROAD!", $57 -; 0x8d15f + 45 bytes _VictoryRoad2BattleText4: ; 8d18c (23:518c) db $0, "If you can get", $4f db "through here, you", $55 db "can go meet the", $55 db "ELITE FOUR!", $57 -; 0x8d18c + 62 bytes _VictoryRoad2EndBattleText4: ; 8d1ca (23:51ca) db $0, "No!", $4f db "Unbelievable!", $58 -; 0x8d1ca + 19 bytes _VictoryRoad2AfterBattleText4: ; 8d1dd (23:51dd) db $0, "I can beat you", $4f db "when it comes to", $55 db "knowledge about", $55 db "#MON!", $57 -; 0x8d1dd + 55 bytes _VictoryRoad2BattleText5: ; 8d214 (23:5214) db $0, "Is VICTORY ROAD", $4f db "too tough?", $57 -; 0x8d214 + 28 bytes _VictoryRoad2EndBattleText5: ; 8d230 (23:5230) db $0, "Well", $4f db "done!", $58 -; 0x8d230 + 12 bytes _VictoryRoad2AfterBattleText5: ; 8d23c (23:523c) db $0, "Many trainers give", $4f db "up the challenge", $55 db "here.", $57 -; 0x8d23c + 43 bytes _UnnamedText_1e865: ; 8d267 (23:5267) db $0, "Hiya! I'm a", $4f @@ -121950,7 +126413,6 @@ _UnnamedText_1e865: ; 8d267 (23:5267) db "a #MON!", $51 db "So, how about it?", $4f db "Help me out here!", $57 -; 0x8d267 + 222 bytes _UnnamedText_1e86a: ; 8d345 (23:5345) db $0, "When I'm in the", $4f @@ -121958,7 +126420,6 @@ _UnnamedText_1e86a: ; 8d345 (23:5345) db "my PC and run the", $55 db "Cell Separation", $55 db "System!", $57 -; 0x8d345 + 76 bytes _UnnamedText_1e86f: ; 8d391 (23:5391) db $0, "No!? Come on, you", $4f @@ -121967,7 +126428,6 @@ _UnnamedText_1e86f: ; 8d391 (23:5391) db "What do you say,", $4f db "chief? Please?", $55 db "OK? All right!", $58 -; 0x8d391 + 100 bytes _BillThankYouText: ; 8d3f5 (23:53f5) db $0, "BILL: Yeehah!", $4f @@ -121981,19 +126441,16 @@ _BillThankYouText: ; 8d3f5 (23:53f5) db "I've got to thank", $4f db "you... Oh here,", $55 db "maybe this'll do.", $58 -; 0x8d3f5 + 164 bytes _SSTicketReceivedText: ; 8d499 (23:5499) db $0, $52, " received", $4f db "an @" TX_RAM $cf4b db $0, "!@@" -; 0x8d4b0 _SSTicketNoRoomText: ; 8d4b0 (23:54b0) db $0, "You've got too", $4f db "much stuff, bud!", $57 -; 0x8d4b0 + 32 bytes _UnnamedText_1e8cb: ; 8d4d0 (23:54d0) db $0, "That cruise ship,", $4f @@ -122007,14 +126464,12 @@ _UnnamedText_1e8cb: ; 8d4d0 (23:54d0) db "fancy do's. Why", $55 db "don't you go", $55 db "instead of me?", $57 -; 0x8d4d0 + 175 bytes _UnnamedText_1e8da: ; 8d57f (23:557f) db $0, "BILL: Look, bud,", $4f db "just check out", $55 db "some of my rare", $55 db "#MON on my PC!", $57 -; 0x8d57f + 64 bytes _Route1ViridianMartSampleText: ; 8d5bf (23:55bf) db $0, "Hi! I work at a", $4f @@ -122026,28 +126481,23 @@ _Route1ViridianMartSampleText: ; 8d5bf (23:55bf) db "I know, I'll give", $4f db "you a sample!", $55 db "Here you go!", $58 -; 0x8d5bf + 132 bytes _UnnamedText_1cae8: ; 8d643 (23:5643) db $0, $52, " got", $4f db "@" -; 0x8d643 + 8 bytes -UnknownText_8d64b: ; 8d64b (23:564b) +UnnamedText_8d64b: ; 8d64b (23:564b) TX_RAM $cf4b db $0, "!@@" -; 0x8d64b + 7 bytes _UnnamedText_1caee: ; 8d652 (23:5652) db $0, "We also carry", $4f db "# BALLs for", $55 db "catching #MON!", $57 -; 0x8d652 + 42 bytes _UnnamedText_1caf3: ; 8d67c (23:567c) db $0, "You have too much", $4f db "stuff with you!", $57 -; 0x8d67c + 35 bytes _Route1Text2: ; 8d69f (23:569f) db $0, "See those ledges", $4f @@ -122083,133 +126533,109 @@ _Route3Text1: ; 8d779 (23:5779) _Route3BattleText1: ; 8d7d5 (23:57d5) db $0, "Hey! I met you in", $4f db "VIRIDIAN FOREST!", $57 -; 0x8d7d5 + 36 bytes _Route3EndBattleText1: ; 8d7f9 (23:57f9) db $0, "You", $4f db "beat me again!", $58 -; 0x8d7f9 + 20 bytes _Route3AfterBattleText1: ; 8d80d (23:580d) db $0, "There are other", $4f db "kinds of #MON", $55 db "than those found", $55 db "in the forest!", $57 -; 0x8d80d + 63 bytes _Route3BattleText2: ; 8d84c (23:584c) db $0, "Hi! I like shorts!", $4f db "They're comfy and", $55 db "easy to wear!", $57 -; 0x8d84c + 51 bytes _Route3EndBattleText2: ; 8d87f (23:587f) db $0, "I don't", $4f db "believe it!", $58 -; 0x8d87f + 20 bytes _Route3AfterBattleText2: ; 8d893 (23:5893) db $0, "Are you storing", $4f db "your #MON on", $55 db "PC? Each BOX can", $55 db "hold 20 #MON!", $57 -; 0x8d893 + 61 bytes _Route3BattleText3: ; 8d8d0 (23:58d0) db $0, "You looked at me,", $4f db "didn't you?", $57 -; 0x8d8d0 + 30 bytes _Route3EndBattleText3: ; 8d8ee (23:58ee) db $0, "You're", $4f db "mean!", $58 -; 0x8d8ee + 13 bytes _Route3AfterBattleText3: ; 8d8fb (23:58fb) db $0, "Quit staring if", $4f db "you don't want to", $55 db "fight!", $57 -; 0x8d8fb + 41 bytes _Route3BattleText4: ; 8d924 (23:5924) db $0, "Are you a trainer?", $4f db "Let's fight!", $57 -; 0x8d924 + 32 bytes _Route3EndBattleText4: ; 8d944 (23:5944) db $0, "If I", $4f db "had new #MON I", $55 db "would've won!", $58 -; 0x8d944 + 34 bytes _Route3AfterBattleText4: ; 8d966 (23:5966) db $0, "If a #MON BOX", $4f db "on the PC gets", $55 db "full, just switch", $55 db "to another BOX!", $57 -; 0x8d966 + 64 bytes _Route3BattleText5: ; 8d9a6 (23:59a6) db $0, "That look you", $4f db "gave me, it's so", $55 db "intriguing!", $57 -; 0x8d9a6 + 43 bytes _Route3EndBattleText5: ; 8d9d1 (23:59d1) db $0, "Be nice!", $58 -; 0x8d9d1 + 10 bytes _Route3AfterBattleText5: ; 8d9db (23:59db) db $0, "Avoid fights by", $4f db "not letting", $55 db "people see you!", $57 -; 0x8d9db + 45 bytes _Route3BattleText6: ; 8da08 (23:5a08) db $0, "Hey! You're not", $4f db "wearing shorts!", $57 -; 0x8da08 + 32 bytes _Route3EndBattleText6: ; 8da28 (23:5a28) db $0, "Lost!", $4f db "Lost! Lost!", $58 -; 0x8da28 + 19 bytes _Route3AfterBattleText6: ; 8da3b (23:5a3b) db $0, "I always wear", $4f db "shorts, even in", $55 db "winter!", $57 -; 0x8da3b + 39 bytes _Route3BattleText7: ; 8da62 (23:5a62) db $0, "You can fight my", $4f db "new #MON!", $57 -; 0x8da62 + 28 bytes _Route3EndBattleText7: ; 8da7e (23:5a7e) db $0, "Done", $4f db "like dinner!", $58 -; 0x8da7e + 19 bytes _Route3AfterBattleText7: ; 8da91 (23:5a91) db $0, "Trained #MON", $4f db "are stronger than", $55 db "the wild ones!", $57 -; 0x8da91 + 47 bytes _Route3BattleText8: ; 8dac0 (23:5ac0) db $0, "Eek! Did you", $4f db "touch me?", $57 -; 0x8dac0 + 24 bytes _Route3EndBattleText8: ; 8dad8 (23:5ad8) db $0, "That's it?", $58 -; 0x8dad8 + 11 bytes _Route3AfterBattleText8: ; 8dae3 (23:5ae3) db $0, "ROUTE 4 is at the", $4f db "foot of MT.MOON.", $57 -; 0x8dae3 + 36 bytes _Route3Text10: ; 8db07 (23:5b07) db $0, "ROUTE 3", $4f @@ -122223,12 +126649,10 @@ _Route4Text1: ; 8db1e (23:5b1e) _Route4BattleText1: ; 8db4b (23:5b4b) db $0, "I came to get my", $4f db "mushroom #MON!", $57 -; 0x8db4b + 33 bytes _Route4EndBattleText1: ; 8db6c (23:5b6c) db $0, "Oh! My cute", $4f db "mushroom #MON!", $58 -; 0x8db6c + 28 bytes _Route4AfterBattleText1: ; 8db88 (23:5b88) db $0, "There might not", $4f @@ -122236,7 +126660,6 @@ _Route4AfterBattleText1: ; 8db88 (23:5b88) db "mushrooms here.", $51 db "I think I got", $4f db "them all.", $57 -; 0x8db88 + 69 bytes _Route4Text5: ; 8dbcd (23:5bcd) db $0, "MT.MOON", $4f @@ -122256,93 +126679,76 @@ _Route6BattleText1: ; 8dc38 (23:5c38) db $0, "Who's there?", $4f db "Quit listening in", $55 db "on us!", $57 -; 0x8dc38 + 38 bytes _Route6EndBattleText1: ; 8dc5e (23:5c5e) db $0, "I", $4f db "just can't win!", $58 -; 0x8dc5e + 18 bytes _Route6AfterBattleText1: ; 8dc70 (23:5c70) db $0, "Whisper...", $4f db "whisper...", $57 -; 0x8dc70 + 23 bytes _Route6BattleText2: ; 8dc87 (23:5c87) db $0, "Excuse me! This", $4f db "is a private", $55 db "conversation!", $57 -; 0x8dc87 + 44 bytes _Route6EndBattleText2: ; 8dcb3 (23:5cb3) db $0, "Ugh!", $4f db "I hate losing!", $58 -; 0x8dcb3 + 21 bytes _Route6BattleText3: ; 8dcc8 (23:5cc8) db $0, "There aren't many", $4f db "bugs out here.", $57 -; 0x8dcc8 + 33 bytes _Route6EndBattleText3: ; 8dce9 (23:5ce9) db $0, "No!", $4f db "You're kidding!", $58 -; 0x8dce9 + 20 bytes _Route6AfterBattleText3: ; 8dcfd (23:5cfd) db $0, "I like bugs, so", $4f db "I'm going back to", $55 db "VIRIDIAN FOREST.", $57 -; 0x8dcfd + 51 bytes _Route6BattleText4: ; 8dd30 (23:5d30) db $0, "Huh? You want", $4f db "to talk to me?", $57 -; 0x8dd30 + 30 bytes _Route6EndBattleText4: ; 8dd4e (23:5d4e) db $0, "I", $4f db "didn't start it!", $58 -; 0x8dd4e + 19 bytes _Route6AfterBattleText4: ; 8dd61 (23:5d61) db $0, "I should carry", $4f db "more #MON with", $55 db "me for safety.", $57 -; 0x8dd61 + 46 bytes _Route6BattleText5: ; 8dd8f (23:5d8f) db $0, "Me? Well, OK.", $4f db "I'll play!", $57 -; 0x8dd8f + 25 bytes _Route6EndBattleText5: ; 8dda8 (23:5da8) db $0, "Just", $4f db "didn't work!", $58 -; 0x8dda8 + 18 bytes _Route6AfterBattleText5: ; 8ddba (23:5dba) db $0, "I want to get", $4f db "stronger! What's", $55 db "your secret?", $57 -; 0x8ddba + 44 bytes _Route6BattleText6: ; 8dde6 (23:5de6) db $0, "I've never seen", $4f db "you around!", $55 db "Are you good?", $57 -; 0x8dde6 + 42 bytes _Route6EndBattleText6: ; 8de10 (23:5e10) db $0, "You", $4f db "are too good!", $58 -; 0x8de10 + 19 bytes _Route6AfterBattleText6: ; 8de23 (23:5e23) db $0, "Are my #MON", $4f db "weak? Or, am I", $55 db "just bad?", $57 -; 0x8de23 + 38 bytes _Route6Text7: ; 8de49 (23:5e49) db $0, "UNDERGROUND PATH", $4f @@ -122358,149 +126764,122 @@ _Route8BattleText1: ; 8dea9 (23:5ea9) db $0, "You look good at", $4f db "#MON, but", $55 db "how's your chem?", $57 -; 0x8dea9 + 44 bytes _Route8EndBattleText1: ; 8ded5 (23:5ed5) db $0, "Ow!", $4f db "Meltdown!", $58 -; 0x8ded5 + 15 bytes _Route8AfterBattleText1: ; 8dee4 (23:5ee4) db $0, "I am better at", $4f db "school than this!", $57 -; 0x8dee4 + 34 bytes _Route8BattleText2: ; 8df06 (23:5f06) db $0, "All right! Let's", $4f db "roll the dice!", $57 -; 0x8df06 + 32 bytes _Route8EndBattleText2: ; 8df26 (23:5f26) db $0, "Drat!", $4f db "Came up short!", $58 -; 0x8df26 + 22 bytes _Route8AfterBattleText2: ; 8df3c (23:5f3c) db $0, "Lady Luck's not", $4f db "with me today!", $57 -; 0x8df3c + 31 bytes _Route8BattleText3: ; 8df5b (23:5f5b) db $0, "You need strategy", $4f db "to win at this!", $57 -; 0x8df5b + 35 bytes _Route8EndBattleText3: ; 8df7e (23:5f7e) db $0, "It's", $4f db "not logical!", $58 -; 0x8df7e + 18 bytes _Route8AfterBattleText3: ; 8df90 (23:5f90) db $0, "Go with GRIMER", $4f db "first...and...", $55 db "...and...then...", $57 -; 0x8df90 + 48 bytes _Route8BattleText4: ; 8dfc0 (23:5fc0) db $0, "I like NIDORAN, so", $4f db "I collect them!", $57 -; 0x8dfc0 + 36 bytes _Route8EndBattleText4: ; 8dfe4 (23:5fe4) db $0, "Why? Why??", $58 -; 0x8dfe4 + 12 bytes _Route8AfterBattleText4: ; 8dff0 (23:5ff0) db $0, "When #MON grow", $4f db "up they get ugly!", $55 db "They shouldn't", $55 db "evolve!", $57 -; 0x8dff0 + 56 bytes _Route8BattleText5: ; 8e028 (23:6028) db $0, "School is fun, but", $4f db "so are #MON.", $57 -; 0x8e028 + 33 bytes _Route8EndBattleText5: ; 8e049 (23:6049) db $0, "I'll", $4f db "stay with school.", $58 -; 0x8e049 + 23 bytes _Route8AfterBattleText5: ; 8e060 (23:6060) db $0, "We're stuck here", $4f db "because of the", $55 db "gates at SAFFRON.", $57 -; 0x8e060 + 50 bytes _Route8BattleText6: ; 8e092 (23:6092) db $0, "MEOWTH is so cute,", $4f db "meow, meow, meow!", $57 -; 0x8e092 + 38 bytes _Route8EndBattleText6: ; 8e0b8 (23:60b8) db $0, "Meow!", $58 -; 0x8e0b8 + 7 bytes _Route8AfterBattleText6: ; 8e0bf (23:60bf) db $0, "I think PIDGEY", $4f db "and RATTATA", $55 db "are cute too!", $57 -; 0x8e0bf + 42 bytes _Route8BattleText7: ; 8e0e9 (23:60e9) db $0, "We must look", $4f db "silly standing", $55 db "here like this!", $57 -; 0x8e0e9 + 45 bytes _Route8EndBattleText7: ; 8e116 (23:6116) db $0, "Look what", $4f db "you did!", $58 -; 0x8e116 + 20 bytes _Route8AfterBattleText7: ; 8e12a (23:612a) db $0, "SAFFRON's gate", $4f db "keeper won't let", $55 db "us through.", $55 db "He's so mean!", $57 -; 0x8e12a + 56 bytes _Route8BattleText8: ; 8e162 (23:6162) db $0, "I'm a rambling,", $4f db "gambling dude!", $57 -; 0x8e162 + 31 bytes _Route8EndBattleText8: ; 8e181 (23:6181) db $0, "Missed", $4f db "the big score!", $58 -; 0x8e181 + 23 bytes _Route8AfterBattleText8: ; 8e198 (23:6198) db $0, "Gambling and", $4f db "#MON are like", $55 db "eating peanuts!", $55 db "Just can't stop!", $57 -; 0x8e198 + 60 bytes _Route8BattleText9: ; 8e1d4 (23:61d4) db $0, "What's a cute,", $4f db "round and fluffy", $55 db "#MON?", $57 -; 0x8e1d4 + 38 bytes _Route8EndBattleText9: ; 8e1fa (23:61fa) db $0, "Stop!", $51 db "Don't be so mean", $4f db "to my CLEFAIRY!", $58 -; 0x8e1fa + 39 bytes _Route8AfterBattleText9: ; 8e221 (23:6221) db $0, "I heard that", $4f db "CLEFAIRY evolves", $55 db "when it's exposed", $55 db "to a MOON STONE.", $57 -; 0x8e221 + 65 bytes _Route8Text10: ; 8e262 (23:6262) db $0, "UNDERGROUND PATH", $4f @@ -122511,151 +126890,124 @@ _Route9BattleText1: ; 8e291 (23:6291) db $0, "You have #MON", $4f db "with you!", $55 db "You're mine!", $57 -; 0x8e291 + 37 bytes _Route9EndBattleText1: ; 8e2b6 (23:62b6) db $0, "You", $4f db "deceived me!", $58 -; 0x8e2b6 + 18 bytes _Route9AfterBattleText1: ; 8e2c8 (23:62c8) db $0, "You need light to", $4f db "get through that", $55 db "dark tunnel ahead.", $57 -; 0x8e2c8 + 55 bytes _Route9BattleText2: ; 8e2ff (23:62ff) db $0, "Who's that walking", $4f db "with those good", $55 db "looking #MON?", $57 -; 0x8e2ff + 49 bytes _Route9EndBattleText2: ; 8e330 (23:6330) db $0, "Out", $4f db "like a light!", $58 -; 0x8e330 + 19 bytes _Route9AfterBattleText2: ; 8e343 (23:6343) db $0, "Keep walking!", $57 -; 0x8e343 + 15 bytes _Route9BattleText3: ; 8e352 (23:6352) db $0, "I'm taking ROCK", $4f db "TUNNEL to go to", $55 db "LAVENDER...", $57 -; 0x8e352 + 44 bytes _Route9EndBattleText3: ; 8e37e (23:637e) db $0, "Can't", $4f db "measure up!", $58 -; 0x8e37e + 18 bytes _Route9AfterBattleText3: ; 8e390 (23:6390) db $0, "Are you off to", $4f db "ROCK TUNNEL too?", $57 -; 0x8e390 + 33 bytes _Route9BattleText4: ; 8e3b1 (23:63b1) db $0, "Don't you dare", $4f db "condescend me!", $57 -; 0x8e3b1 + 30 bytes _Route9EndBattleText4: ; 8e3cf (23:63cf) db $0, "No!", $4f db "You're too much!", $58 -; 0x8e3cf + 21 bytes _Route9AfterBattleText4: ; 8e3e4 (23:63e4) db $0, "You're obviously", $4f db "talented! Good", $55 db "luck to you!", $57 -; 0x8e3e4 + 45 bytes _Route9BattleText5: ; 8e411 (23:6411) db $0, "Bwahaha!", $4f db "Great! I was", $55 db "bored, eh!", $57 -; 0x8e411 + 34 bytes _Route9EndBattleText5: ; 8e433 (23:6433) db $0, "Keep it", $4f db "coming, eh!", $51 db "Oh wait. I'm out", $4f db "of #MON!", $58 -; 0x8e433 + 46 bytes _Route9AfterBattleText5: ; 8e461 (23:6461) db $0, "You sure had guts", $4f db "standing up to me", $55 db "there, eh?", $57 -; 0x8e461 + 48 bytes _Route9BattleText6: ; 8e491 (23:6491) db $0, "Hahaha!", $4f db "Aren't you a", $55 db "little toughie!", $57 -; 0x8e491 + 37 bytes _Route9EndBattleText6: ; 8e4b6 (23:64b6) db $0, "What's", $4f db "that?", $58 -; 0x8e4b6 + 13 bytes _Route9AfterBattleText6: ; 8e4c3 (23:64c3) db $0, "Hahaha! Kids", $4f db "should be tough!", $57 -; 0x8e4c3 + 31 bytes _Route9BattleText7: ; 8e4e2 (23:64e2) db $0, "I got up early", $4f db "every day to", $55 db "raise my #MON", $55 db "from cocoons!", $57 -; 0x8e4e2 + 57 bytes _Route9EndBattleText7: ; 8e51b (23:651b) db $0, "WHAT?", $51 db "What a total", $4f db "waste of time!", $58 -; 0x8e51b + 35 bytes _Route9AfterBattleText7: ; 8e53e (23:653e) db $0, "I have to collect", $4f db "more than bugs to", $55 db "get stronger...", $57 -; 0x8e53e + 53 bytes _Route9BattleText8: ; 8e573 (23:6573) db $0, "Hahahaha!", $4f db "Come on, dude!", $57 -; 0x8e573 + 26 bytes _Route9EndBattleText8: ; 8e58d (23:658d) db $0, "Hahahaha!", $4f db "You beat me fair!", $58 -; 0x8e58d + 29 bytes _Route9AfterBattleText8: ; 8e5aa (23:65aa) db $0, "Hahahaha!", $4f db "Us hearty guys", $55 db "always laugh!", $57 -; 0x8e5aa + 40 bytes _Route9BattleText9: ; 8e5d2 (23:65d2) db $0, "Go, my super bug", $4f db "#MON!", $57 -; 0x8e5d2 + 24 bytes _Route9EndBattleText9: ; 8e5ea (23:65ea) db $0, "My", $4f db "bugs...", $58 -; 0x8e5ea + 12 bytes _Route9AfterBattleText9: ; 8e5f6 (23:65f6) db $0, "If you don't like", $4f db "bug #MON, you", $55 db "bug me!", $57 -; 0x8e5f6 + 40 bytes _Route9Text11: ; 8e61e (23:661e) db $0, "ROUTE 9", $4f @@ -122667,93 +127019,76 @@ _Route10BattleText1: ; 8e642 (23:6642) db "#MANIAC too?", $55 db "Want to see my", $55 db "collection?", $57 -; 0x8e642 + 56 bytes _Route10EndBattleText1: ; 8e67a (23:667a) db $0, "Humph.", $4f db "I'm not angry!", $58 -; 0x8e67a + 22 bytes _Route10AfterBattleText1: ; 8e690 (23:6690) db $0, "I have more rare", $4f db "#MON at home!", $57 -; 0x8e690 + 32 bytes _Route10BattleText2: ; 8e6b0 (23:66b0) db $0, "Ha-hahah-ah-ha!", $57 -; 0x8e6b0 + 17 bytes _Route10EndBattleText2: ; 8e6c1 (23:66c1) db $0, "Ha-haha!", $4f db "Not laughing!", $55 db "Ha-hay fever!", $55 db "Haha-ha-choo!", $58 -; 0x8e6c1 + 52 bytes _Route10AfterBattleText2: ; 8e6f5 (23:66f5) db $0, "Haha-ha-choo!", $4f db "Ha-choo!", $55 db "Snort! Snivel!", $57 -; 0x8e6f5 + 39 bytes _Route10BattleText3: ; 8e71c (23:671c) db $0, "Hi kid, want to", $4f db "see my #MON?", $57 -; 0x8e71c + 30 bytes _Route10EndBattleText3: ; 8e73a (23:673a) db $0, "Oh no!", $4f db "My #MON!", $58 -; 0x8e73a + 17 bytes _Route10AfterBattleText3: ; 8e74b (23:674b) db $0, "I don't like you", $4f db "for beating me!", $57 -; 0x8e74b + 33 bytes _Route10BattleText4: ; 8e76c (23:676c) db $0, "I've been to a", $4f db "#MON GYM a few", $55 db "times. But, I", $55 db "lost each time.", $57 -; 0x8e76c + 60 bytes _Route10EndBattleText4: ; 8e7a8 (23:67a8) db $0, "Ohh!", $4f db "Blew it again!", $58 -; 0x8e7a8 + 21 bytes _Route10AfterBattleText4: ; 8e7bd (23:67bd) db $0, "I noticed some", $4f db "#MANIACs", $55 db "prowling around.", $57 -; 0x8e7bd + 42 bytes _Route10BattleText5: ; 8e7e7 (23:67e7) db $0, "Ah! This mountain", $4f db "air is delicious!", $57 -; 0x8e7e7 + 37 bytes _Route10EndBattleText5: ; 8e80c (23:680c) db $0, "That", $4f db "cleared my head!", $58 -; 0x8e80c + 23 bytes _Route10AfterBattleText5: ; 8e823 (23:6823) db $0, "I feel bloated on", $4f db "mountain air!", $57 -; 0x8e823 + 33 bytes _Route10BattleText6: ; 8e844 (23:6844) db $0, "I'm feeling a bit", $4f db "faint from this", $55 db "tough hike.", $57 -; 0x8e844 + 46 bytes _Route10EndBattleText6: ; 8e872 (23:6872) db $0, "I'm", $4f db "not up to it!", $58 -; 0x8e872 + 18 bytes _Route10AfterBattleText6: ; 8e884 (23:6884) db $0, "The #MON here", $4f @@ -122761,7 +127096,6 @@ _Route10AfterBattleText6: ; 8e884 (23:6884) db "There should be a", $55 db "pink one with a", $55 db "floral pattern!", $57 -; 0x8e884 + 80 bytes _Route10Text9: ; 8e8d4 (23:68d4) _Route10Text7: ; 8e8d4 (23:68d4) @@ -122772,122 +127106,99 @@ _Route10Text10: ; 8e8e1 (23:68e1) _Route11BattleText1: ; 8e8ee (23:68ee) db $0, "Win, lose or draw!", $57 -; 0x8e8ee + 20 bytes _Route11EndBattleText1: ; 8e902 (23:6902) db $0, "Atcha!", $4f db "Didn't go my way!", $58 -; 0x8e902 + 25 bytes _Route11AfterBattleText1: ; 8e91b (23:691b) db $0, "#MON is life!", $4f db "And to live is to", $55 db "gamble!", $57 -; 0x8e91b + 41 bytes _Route11BattleText2: ; 8e944 (23:6944) db $0, "Competition! I", $4f db "can't get enough!", $57 -; 0x8e944 + 33 bytes _Route11EndBattleText2: ; 8e965 (23:6965) db $0, "I had", $4f db "a chance!", $58 -; 0x8e965 + 17 bytes _Route11AfterBattleText2: ; 8e976 (23:6976) db $0, "You can't be a", $4f db "coward in the", $55 db "world of #MON!", $57 -; 0x8e976 + 44 bytes _Route11BattleText3: ; 8e9a2 (23:69a2) db $0, "Let's go, but", $4f db "don't cheat!", $57 -; 0x8e9a2 + 26 bytes _Route11EndBattleText3: ; 8e9bc (23:69bc) db $0, "Huh?", $4f db "That's not right!", $58 -; 0x8e9bc + 23 bytes _Route11AfterBattleText3: ; 8e9d3 (23:69d3) db $0, "I did my best! I", $4f db "have no regrets!", $57 -; 0x8e9d3 + 35 bytes _Route11BattleText4: ; 8e9f6 (23:69f6) db $0, "Careful!", $4f db "I'm laying down", $55 db "some cables!", $57 -; 0x8e9f6 + 38 bytes _Route11EndBattleText4: ; 8ea1c (23:6a1c) db $0, "That", $4f db "was electric!", $58 -; 0x8ea1c + 20 bytes _Route11AfterBattleText4: ; 8ea30 (23:6a30) db $0, "Spread the word", $4f db "to save energy!", $57 -; 0x8ea30 + 33 bytes _Route11BattleText5: ; 8ea51 (23:6a51) db $0, "I just became a", $4f db "trainer! But, I", $55 db "think I can win!", $57 -; 0x8ea51 + 50 bytes _Route11EndBattleText5: ; 8ea83 (23:6a83) db $0, "My", $4f db "#MON couldn't!", $58 -; 0x8ea83 + 18 bytes _Route11AfterBattleText5: ; 8ea95 (23:6a95) db $0, "What do you want?", $4f db "Leave me alone!", $57 -; 0x8ea95 + 35 bytes _Route11BattleText6: ; 8eab8 (23:6ab8) db $0, "Fwahaha! I have", $4f db "never lost!", $57 -; 0x8eab8 + 29 bytes _Route11EndBattleText6: ; 8ead5 (23:6ad5) db $0, "My", $4f db "first loss!", $58 -; 0x8ead5 + 16 bytes _Route11AfterBattleText6: ; 8eae5 (23:6ae5) db $0, "Luck of the draw!", $4f db "Just luck!", $57 -; 0x8eae5 + 30 bytes _Route11BattleText7: ; 8eb03 (23:6b03) db $0, "I have never won", $4f db "before...", $57 -; 0x8eb03 + 28 bytes _Route11EndBattleText7: ; 8eb1f (23:6b1f) db $0, "I saw", $4f db "this coming...", $58 -; 0x8eb1f + 22 bytes _Route11AfterBattleText7: ; 8eb35 (23:6b35) db $0, "It's just luck.", $4f db "Luck of the draw.", $57 -; 0x8eb35 + 34 bytes _Route11BattleText8: ; 8eb57 (23:6b57) db $0, "I'm the best in", $4f db "my class!", $57 -; 0x8eb57 + 26 bytes _Route11EndBattleText8: ; 8eb71 (23:6b71) db $0, "Darn!", $4f db "I need to make my", $55 db "#MON stronger!", $58 -; 0x8eb71 + 40 bytes _Route11AfterBattleText8: ; 8eb99 (23:6b99) db $0, "There's a fat", $4f @@ -122896,39 +127207,32 @@ _Route11AfterBattleText8: ; 8eb99 (23:6b99) db "the mountains.", $51 db "It's strong if", $4f db "you can get it.", $57 -; 0x8eb99 + 85 bytes _Route11BattleText9: ; 8ebee (23:6bee) db $0, "Watch out for", $4f db "live wires!", $57 -; 0x8ebee + 27 bytes SECTION "bank24",ROMX,BANK[$24] _Route11EndBattleText9: ; 90000 (24:4000) db $0, "Whoa!", $4f db "You spark plug!", $58 -; 0x90000 + 23 bytes _Route11AfterBattleText9: ; 90017 (24:4017) db $0, "Well, better get", $4f db "back to work.", $57 -; 0x90017 + 32 bytes _Route11BattleText10: ; 90037 (24:4037) db $0, "My #MON should", $4f db "be ready by now!", $57 -; 0x90037 + 33 bytes _Route11EndBattleText10: ; 90058 (24:4058) db $0, "Too", $4f db "much, too young!", $58 -; 0x90058 + 22 bytes _Route11AfterBattleText10: ; 9006e (24:406e) db $0, "I better go find", $4f db "stronger ones!", $57 -; 0x9006e + 33 bytes _Route11Text11: ; 9008f (24:408f) db $0, "DIGLETT's CAVE", $57 @@ -122941,126 +127245,103 @@ _UnnamedText_596eb: ; 900bf (24:40bf) db $0, "SNORLAX woke up!", $51 db "It attacked in a", $4f db "grumpy rage!", $57 -; 0x900bf + 48 bytes _UnnamedText_596f0: ; 900ef (24:40ef) db $0, "SNORLAX calmed", $4f db "down! With a big", $55 db "yawn, it returned", $55 db "to the mountains!", $57 -; 0x900ef + 69 bytes _Route12BattleText1: ; 90134 (24:4134) db $0, "Yeah! I got a", $4f db "bite, here!", $57 -; 0x90134 + 27 bytes _Route12EndBattleText1: ; 9014f (24:414f) db $0, "Tch!", $4f db "Just a small fry!", $58 -; 0x9014f + 24 bytes _Route12AfterBattleText1: ; 90167 (24:4167) db $0, "Hang on! My line's", $4f db "snagged!", $57 -; 0x90167 + 28 bytes _Route12BattleText2: ; 90183 (24:4183) db $0, "Be patient!", $4f db "Fishing is a", $55 db "waiting game!", $57 -; 0x90183 + 40 bytes _Route12EndBattleText2: ; 901ab (24:41ab) db $0, "That", $4f db "one got away!", $58 -; 0x901ab + 20 bytes _Route12AfterBattleText2: ; 901bf (24:41bf) db $0, "With a better ROD,", $4f db "I could catch", $55 db "better #MON!", $57 -; 0x901bf + 47 bytes _Route12BattleText3: ; 901ee (24:41ee) db $0, "Have you found a", $4f db "MOON STONE?", $57 -; 0x901ee + 30 bytes _Route12EndBattleText3: ; 9020c (24:420c) db $0, "Oww!", $58 -; 0x9020c + 6 bytes _Route12AfterBattleText3: ; 90212 (24:4212) db $0, "I could have made", $4f db "my #MON evolve", $55 db "with MOON STONE!", $57 -; 0x90212 + 51 bytes _Route12BattleText4: ; 90245 (24:4245) db $0, "Electricity is my", $4f db "specialty!", $57 -; 0x90245 + 30 bytes _Route12EndBattleText4: ; 90263 (24:4263) db $0, "Unplugged!", $58 -; 0x90263 + 12 bytes _Route12AfterBattleText4: ; 9026f (24:426f) db $0, "Water conducts", $4f db "electricity, so", $55 db "you should zap", $55 db "sea #MON!", $57 -; 0x9026f + 57 bytes _Route12BattleText5: ; 902a8 (24:42a8) db $0, "The FISHING FOOL", $4f db "vs. #MON KID!", $57 -; 0x902a8 + 32 bytes _Route12EndBattleText5: ; 902c8 (24:42c8) db $0, "Too", $4f db "much!", $58 -; 0x902c8 + 11 bytes _Route12AfterBattleText5: ; 902d3 (24:42d3) db $0, "You beat me at", $4f db "#MON, but I'm", $55 db "good at fishing!", $57 -; 0x902d3 + 46 bytes _Route12BattleText6: ; 90301 (24:4301) db $0, "I'd rather be", $4f db "working!", $57 -; 0x90301 + 23 bytes _Route12EndBattleText6: ; 90318 (24:4318) db $0, "It's", $4f db "not easy...", $58 -; 0x90318 + 17 bytes _Route12AfterBattleText6: ; 90329 (24:4329) db $0, "It's all right.", $4f db "Losing doesn't", $55 db "bug me any more.", $57 -; 0x90329 + 47 bytes _Route12BattleText7: ; 90358 (24:4358) db $0, "You never know", $4f db "what you could", $55 db "catch!", $57 -; 0x90358 + 38 bytes _Route12EndBattleText7: ; 9037e (24:437e) db $0, "Lost", $4f db "it!", $58 -; 0x9037e + 10 bytes _Route12AfterBattleText7: ; 90388 (24:4388) db $0, "I catch MAGIKARP", $4f db "all the time, but", $55 db "they're so weak!", $57 -; 0x90388 + 52 bytes _Route12Text11: ; 903bc (24:43bc) db $0, "ROUTE 12 ", $4f @@ -123072,161 +127353,131 @@ _Route12Text12: ; 903d9 (24:43d9) _Route13BattleText2: ; 903ed (24:43ed) db $0, "My bird #MON", $4f db "want to scrap!", $57 -; 0x903ed + 29 bytes _Route13EndBattleText2: ; 9040a (24:440a) db $0, "My", $4f db "bird combo lost?", $58 -; 0x9040a + 21 bytes _Route13AfterBattleText2: ; 9041f (24:441f) db $0, "My #MON look", $4f db "happy even though", $55 db "they lost.", $57 -; 0x9041f + 43 bytes _Route13BattleText3: ; 9044a (24:444a) db $0, "I'm told I'm good", $4f db "for a kid!", $57 -; 0x9044a + 28 bytes _Route13EndBattleText3: ; 90466 (24:4466) db $0, "Ohh!", $4f db "I lost!", $58 -; 0x90466 + 14 bytes _Route13AfterBattleText3: ; 90474 (24:4474) db $0, "I want to become", $4f db "a good trainer.", $55 db "I'll train hard.", $57 -; 0x90474 + 50 bytes _Route13BattleText4: ; 904a6 (24:44a6) db $0, "Wow! Your BADGEs", $4f db "are too cool!", $57 -; 0x904a6 + 32 bytes _Route13EndBattleText4: ; 904c6 (24:44c6) db $0, "Not", $4f db "enough!", $58 -; 0x904c6 + 13 bytes _Route13AfterBattleText4: ; 904d3 (24:44d3) db $0, "You got those", $4f db "BADGEs from GYM", $55 db "LEADERs. I know!", $57 -; 0x904d3 + 48 bytes _Route13BattleText5: ; 90503 (24:4503) db $0, "My cute #MON", $4f db "wish to make your", $55 db "acquaintance.", $57 -; 0x90503 + 46 bytes _Route13EndBattleText5: ; 90531 (24:4531) db $0, "Wow!", $4f db "You totally won!", $58 -; 0x90531 + 23 bytes _Route13AfterBattleText5: ; 90548 (24:4548) db $0, "You have to make", $4f db "#MON fight to", $55 db "toughen them up!", $57 -; 0x90548 + 49 bytes _Route13BattleText6: ; 90579 (24:4579) db $0, "I found CARBOS in", $4f db "a cave once.", $57 -; 0x90579 + 32 bytes _Route13EndBattleText6: ; 90599 (24:4599) db $0, "Just", $4f db "messed up!", $58 -; 0x90599 + 17 bytes _Route13AfterBattleText6: ; 905aa (24:45aa) db $0, "CARBOS boosted", $4f db "the SPEED of my", $55 db "#MON.", $57 -; 0x905aa + 38 bytes _Route13BattleText7: ; 905d0 (24:45d0) db $0, "The wind's blowing", $4f db "my way!", $57 -; 0x905d0 + 27 bytes _Route13EndBattleText7: ; 905eb (24:45eb) db $0, "The", $4f db "wind turned!", $58 -; 0x905eb + 18 bytes _Route13AfterBattleText7: ; 905fd (24:45fd) db $0, "I'm beat. I guess", $4f db "I'll FLY home.", $57 -; 0x905fd + 32 bytes _Route13BattleText8: ; 9061d (24:461d) db $0, "Sure, I'll play", $4f db "with you!", $57 -; 0x9061d + 26 bytes _Route13EndBattleText8: ; 90637 (24:4637) db $0, "Oh!", $4f db "You little brute!", $58 -; 0x90637 + 23 bytes _Route13AfterBattleText8: ; 9064e (24:464e) db $0, "I wonder which is", $4f db "stronger, male or", $55 db "female #MON?", $57 -; 0x9064e + 50 bytes _Route13BattleText9: ; 90680 (24:4680) db $0, "Do you want to", $4f db "#MON with me?", $57 -; 0x90680 + 30 bytes _Route13EndBattleText9: ; 9069e (24:469e) db $0, "It's over", $4f db "already?", $58 -; 0x9069e + 19 bytes _Route13AfterBattleText9: ; 906b1 (24:46b1) db $0, "I don't know", $4f db "anything about", $55 db "#MON. I just", $55 db "like cool ones!", $57 -; 0x906b1 + 57 bytes _Route13BattleText10: ; 906ea (24:46ea) db $0, "What're you", $4f db "lookin' at?", $57 -; 0x906ea + 24 bytes _Route13EndBattleText10: ; 90702 (24:4702) db $0, "Dang!", $4f db "Stripped gears!", $58 -; 0x90702 + 23 bytes _Route13AfterBattleText10: ; 90719 (24:4719) db $0, "Get lost!", $57 -; 0x90719 + 11 bytes _Route13BattleText11: ; 90724 (24:4724) db $0, "I always go with", $4f db "bird #MON!", $57 -; 0x90724 + 29 bytes _Route13EndBattleText11: ; 90741 (24:4741) db $0, "Out", $4f db "of power!", $58 -; 0x90741 + 15 bytes _Route13AfterBattleText11: ; 90750 (24:4750) db $0, "I wish I could", $4f db "fly like PIDGEY", $55 db "and PIDGEOTTO...", $57 -; 0x90750 + 49 bytes _Route13Text11: ; 90781 (24:4781) db $0, "TRAINER TIPS", $51 @@ -123248,144 +127499,118 @@ _Route14BattleText1: ; 9080d (24:480d) db $0, "You need to use", $4f db "TMs to teach good", $55 db "moves to #MON!", $57 -; 0x9080d + 50 bytes _Route14EndBattleText1: ; 9083f (24:483f) db $0, "Not", $4f db "good enough!", $58 -; 0x9083f + 18 bytes _Route14AfterBattleText1: ; 90851 (24:4851) db $0, "You have some HMs", $4f db "right? #MON", $55 db "can't ever forget", $55 db "those moves.", $57 -; 0x90851 + 61 bytes _Route14BattleText2: ; 9088e (24:488e) db $0, "My bird #MON", $4f db "should be ready", $55 db "for battle.", $57 -; 0x9088e + 42 bytes _Route14EndBattleText2: ; 908b8 (24:48b8) db $0, "Not", $4f db "ready yet!", $58 -; 0x908b8 + 16 bytes _Route14AfterBattleText2: ; 908c8 (24:48c8) db $0, "They need to learn", $4f db "better moves.", $57 -; 0x908c8 + 34 bytes _Route14BattleText3: ; 908ea (24:48ea) db $0, "TMs are on sale", $4f db "in CELADON!", $55 db "But, only a few", $55 db "people have HMs!", $57 -; 0x908ea + 62 bytes _Route14EndBattleText3: ; 90928 (24:4928) db $0, "Aww,", $4f db "bummer!", $58 -; 0x90928 + 14 bytes _Route14AfterBattleText3: ; 90936 (24:4936) db $0, "Teach #MON", $4f db "moves of the same", $55 db "element type for", $55 db "more power.", $57 -; 0x90936 + 59 bytes _Route14BattleText4: ; 90971 (24:4971) db $0, "Have you taught", $4f db "your bird #MON", $55 db "how to FLY?", $57 -; 0x90971 + 44 bytes _Route14EndBattleText4: ; 9099d (24:499d) db $0, "Shot", $4f db "down in flames!", $58 -; 0x9099d + 22 bytes _Route14AfterBattleText4: ; 909b3 (24:49b3) db $0, "Bird #MON are", $4f db "my true love!", $57 -; 0x909b3 + 29 bytes _Route14BattleText5: ; 909d0 (24:49d0) db $0, "Have you heard of", $4f db "the legendary", $55 db "#MON?", $57 -; 0x909d0 + 39 bytes _Route14EndBattleText5: ; 909f7 (24:49f7) db $0, "Why?", $4f db "Why'd I lose?", $58 -; 0x909f7 + 19 bytes _Route14AfterBattleText5: ; 90a0a (24:4a0a) db $0, "The 3 legendary", $4f db "#MON are all", $55 db "birds of prey.", $57 -; 0x90a0a + 45 bytes _Route14BattleText6: ; 90a37 (24:4a37) db $0, "I'm not into it,", $4f db "but OK! Let's go!", $57 -; 0x90a37 + 34 bytes _Route14EndBattleText6: ; 90a59 (24:4a59) db $0, "I", $4f db "knew it!", $58 -; 0x90a59 + 12 bytes _Route14AfterBattleText6: ; 90a65 (24:4a65) db $0, "Winning, losing,", $4f db "it doesn't matter", $55 db "in the long run!", $57 -; 0x90a65 + 52 bytes _Route14BattleText7: ; 90a99 (24:4a99) db $0, "C'mon, c'mon.", $4f db "Let's go, let's", $55 db "go, let's go!", $57 -; 0x90a99 + 40 bytes _Route14EndBattleText7: ; 90ac1 (24:4ac1) db $0, "Arrg!", $4f db "Lost! Get lost!", $58 -; 0x90ac1 + 23 bytes _Route14AfterBattleText7: ; 90ad8 (24:4ad8) db $0, "What, what, what?", $4f db "What do you want?", $57 -; 0x90ad8 + 37 bytes _Route14BattleText8: ; 90afd (24:4afd) db $0, "Perfect! I need to", $4f db "burn some time!", $57 -; 0x90afd + 36 bytes _Route14EndBattleText8: ; 90b21 (24:4b21) db $0, "What?", $4f db "You!?", $58 -; 0x90b21 + 13 bytes _Route14AfterBattleText8: ; 90b2e (24:4b2e) db $0, "Raising #MON", $4f db "is a drag, man.", $57 -; 0x90b2e + 30 bytes _Route14BattleText9: ; 90b4c (24:4b4c) db $0, "We ride out here", $4f db "because there's", $55 db "more room!", $57 -; 0x90b4c + 44 bytes _Route14EndBattleText9: ; 90b78 (24:4b78) db $0, "Wipe out!", $58 -; 0x90b78 + 11 bytes _Route14AfterBattleText9: ; 90b83 (24:4b83) db $0, "It's cool you", $4f @@ -123393,23 +127618,19 @@ _Route14AfterBattleText9: ; 90b83 (24:4b83) db "so strong!", $51 db "Might is right!", $4f db "And you know it!", $57 -; 0x90b83 + 73 bytes _Route14BattleText10: ; 90bcc (24:4bcc) db $0, "#MON fight?", $4f db "Cool! Rumble!", $57 -; 0x90bcc + 27 bytes _Route14EndBattleText10: ; 90be7 (24:4be7) db $0, "Blown", $4f db "away!", $58 -; 0x90be7 + 13 bytes _Route14AfterBattleText10: ; 90bf4 (24:4bf4) db $0, "You know who'd", $4f db "win, you and me", $55 db "one on one!", $57 -; 0x90bf4 + 43 bytes _Route14Text11: ; 90c1f (24:4c1f) db $0, "ROUTE 14", $4f @@ -123420,12 +127641,10 @@ _Route15BattleText1: ; 90c3e (24:4c3e) db $0, "Let me try out the", $4f db "#MON I just", $55 db "got in a trade!", $57 -; 0x90c3e + 48 bytes _Route15EndBattleText1: ; 90c6e (24:4c6e) db $0, "Not", $4f db "good enough!", $58 -; 0x90c6e + 18 bytes _Route15AfterBattleText1: ; 90c80 (24:4c80) db $0, "You can't change", $4f @@ -123434,154 +127653,125 @@ _Route15AfterBattleText1: ; 90c80 (24:4c80) db "get in a trade.", $51 db "Only the Original", $4f db "Trainer can.", $57 -; 0x90c80 + 93 bytes _Route15BattleText2: ; 90cdd (24:4cdd) db $0, "You look gentle,", $4f db "so I think I can", $55 db "beat you!", $57 -; 0x90cdd + 45 bytes _Route15EndBattleText2: ; 90d0a (24:4d0a) db $0, "No,", $4f db "wrong!", $58 -; 0x90d0a + 12 bytes _Route15AfterBattleText2: ; 90d16 (24:4d16) db $0, "I'm afraid of", $4f db "BIKERs, they look", $55 db "so ugly and mean!", $57 -; 0x90d16 + 50 bytes _Route15BattleText3: ; 90d48 (24:4d48) db $0, "When I whistle, I", $4f db "can summon bird", $55 db "#MON!", $57 -; 0x90d48 + 41 bytes _Route15EndBattleText3: ; 90d71 (24:4d71) db $0, "Ow!", $4f db "That's tragic!", $58 -; 0x90d71 + 19 bytes _Route15AfterBattleText3: ; 90d84 (24:4d84) db $0, "Maybe I'm not cut", $4f db "out for battles.", $57 -; 0x90d84 + 35 bytes _Route15BattleText4: ; 90da7 (24:4da7) db $0, "Hmm? My birds are", $4f db "shivering! You're", $55 db "good, aren't you?", $57 -; 0x90da7 + 53 bytes _Route15EndBattleText4: ; 90ddc (24:4ddc) db $0, "Just", $4f db "as I thought!", $58 -; 0x90ddc + 20 bytes _Route15AfterBattleText4: ; 90df0 (24:4df0) db $0, "Did you know moves", $4f db "like EARTHQUAKE", $55 db "don't have any", $55 db "effect on birds?", $57 -; 0x90df0 + 67 bytes _Route15BattleText5: ; 90e33 (24:4e33) db $0, "Oh, you're a", $4f db "little cutie!", $57 -; 0x90e33 + 27 bytes _Route15EndBattleText5: ; 90e4e (24:4e4e) db $0, "You looked", $4f db "so cute too!", $58 -; 0x90e4e + 25 bytes _Route15AfterBattleText5: ; 90e67 (24:4e67) db $0, "I forgive you!", $4f db "I can take it!", $57 -; 0x90e67 + 31 bytes _Route15BattleText6: ; 90e86 (24:4e86) db $0, "I raise #MON", $4f db "because I live", $55 db "alone!", $57 -; 0x90e86 + 36 bytes _Route15EndBattleText6: ; 90eaa (24:4eaa) db $0, "I didn't", $4f db "ask for this!", $58 -; 0x90eaa + 23 bytes _Route15AfterBattleText6: ; 90ec1 (24:4ec1) db $0, "I just like going", $4f db "home to be with", $55 db "my #MON!", $57 -; 0x90ec1 + 44 bytes _Route15BattleText7: ; 90eed (24:4eed) db $0, "Hey kid! C'mon!", $4f db "I just got these!", $57 -; 0x90eed + 34 bytes _Route15EndBattleText7: ; 90f0f (24:4f0f) db $0, "Why", $4f db "not?", $58 -; 0x90f0f + 10 bytes _Route15AfterBattleText7: ; 90f19 (24:4f19) db $0, "You only live", $4f db "once, so I live", $55 db "as an outlaw!", $55 db "TEAM ROCKET RULES!", $57 -; 0x90f19 + 64 bytes _Route15BattleText8: ; 90f59 (24:4f59) db $0, "Fork over all your", $4f db "cash when you", $55 db "lose to me, kid!", $57 -; 0x90f59 + 51 bytes _Route15EndBattleText8: ; 90f8c (24:4f8c) db $0, "That", $4f db "can't be true!", $58 -; 0x90f8c + 20 bytes _Route15AfterBattleText8: ; 90fa0 (24:4fa0) db $0, "I was just joking", $4f db "about the money!", $57 -; 0x90fa0 + 36 bytes _Route15BattleText9: ; 90fc4 (24:4fc4) db $0, "What's cool?", $4f db "Trading #MON!", $57 -; 0x90fc4 + 27 bytes _Route15EndBattleText9: ; 90fdf (24:4fdf) db $0, "I", $4f db "said trade!", $58 -; 0x90fdf + 15 bytes _Route15AfterBattleText9: ; 90fee (24:4fee) db $0, "I trade #MON", $4f db "with my friends!", $57 -; 0x90fee + 31 bytes _Route15BattleText10: ; 9100d (24:500d) db $0, "Want to play with", $4f db "my #MON?", $57 -; 0x9100d + 28 bytes _Route15EndBattleText10: ; 91029 (24:5029) db $0, "I was", $4f db "too impatient!", $58 -; 0x91029 + 22 bytes _Route15AfterBattleText10: ; 9103f (24:503f) db $0, "I'll go train with", $4f - db "weaker people.@" - db $50 -; 0x9103f + 34 bytes + 1 + db "weaker people.@@" _Route15Text12: ; 91062 (24:5062) db $0, "ROUTE 15", $4f @@ -123590,95 +127780,77 @@ _Route15Text12: ; 91062 (24:5062) _Route16BattleText1: ; 91081 (24:5081) db $0, "What do you want?", $57 -; 0x91081 + 19 bytes _Route16EndBattleText1: ; 91094 (24:5094) db $0, "Don't you", $4f db "dare laugh!", $58 -; 0x91094 + 22 bytes _Route16AfterBattleText1: ; 910aa (24:50aa) db $0, "We like just", $4f db "hanging here,", $55 db "what's it to you?", $57 -; 0x910aa + 45 bytes _Route16BattleText2: ; 910d7 (24:50d7) db $0, "Nice BIKE!", $4f db "Hand it over!", $57 -; 0x910d7 + 26 bytes _Route16EndBattleText2: ; 910f1 (24:50f1) db $0, "Knock", $4f db "out!", $58 -; 0x910f1 + 12 bytes _Route16AfterBattleText2: ; 910fd (24:50fd) db $0, "Forget it, who", $4f db "needs your BIKE!", $57 -; 0x910fd + 33 bytes _Route16BattleText3: ; 9111e (24:511e) db $0, "Come out and play,", $4f db "little mouse!", $57 -; 0x9111e + 34 bytes _Route16EndBattleText3: ; 91140 (24:5140) db $0, "You", $4f db "little rat!", $58 -; 0x91140 + 17 bytes _Route16AfterBattleText3: ; 91151 (24:5151) db $0, "I hate losing!", $4f db "Get away from me!", $57 -; 0x91151 + 34 bytes _Route16BattleText4: ; 91173 (24:5173) db $0, "Hey, you just", $4f db "bumped me!", $57 -; 0x91173 + 26 bytes _Route16EndBattleText4: ; 9118d (24:518d) db $0, "Kaboom!", $58 -; 0x9118d + 9 bytes _Route16AfterBattleText4: ; 91196 (24:5196) db $0, "You can also get", $4f db "to FUCHSIA from", $55 db "VERMILION using a", $55 db "coastal road.", $57 -; 0x91196 + 66 bytes _Route16BattleText5: ; 911d8 (24:51d8) db $0, "I'm feeling", $4f db "hungry and mean!", $57 -; 0x911d8 + 29 bytes _Route16EndBattleText5: ; 911f5 (24:51f5) db $0, "Bad,", $4f db "bad, bad!", $58 -; 0x911f5 + 16 bytes _Route16AfterBattleText5: ; 91205 (24:5205) db $0, "I like my #MON", $4f db "ferocious! They", $55 db "tear up enemies!", $57 -; 0x91205 + 49 bytes _Route16BattleText6: ; 91236 (24:5236) db $0, "Sure, I'll go!", $57 -; 0x91236 + 15 bytes _Route16EndBattleText6: ; 91245 (24:5245) db $0, "Don't make", $4f db "me mad!", $58 -; 0x91245 + 19 bytes _Route16AfterBattleText6: ; 91258 (24:5258) db $0, "I like harassing", $4f db "people with my", $55 db "vicious #MON!", $57 -; 0x91258 + 47 bytes _Route16Text7: ; 91287 (24:5287) db $0, "A sleeping #MON", $4f @@ -123688,13 +127860,11 @@ _UnnamedText_59ab3: ; 912a8 (24:52a8) db $0, "SNORLAX woke up!", $51 db "It attacked in a", $4f db "grumpy rage!", $57 -; 0x912a8 + 48 bytes _UnnamedText_59ab8: ; 912d8 (24:52d8) db $0, "With a big yawn,", $4f db "SNORLAX returned", $55 db "to the mountains!", $57 -; 0x912d8 + 53 bytes _Route16Text8: ; 9130d (24:530d) db $0, "Enjoy the slope!", $4f @@ -123708,151 +127878,121 @@ _Route16Text9: ; 9132c (24:532c) _Route17BattleText1: ; 91352 (24:5352) db $0, "There's no money", $4f db "in fighting kids!", $57 -; 0x91352 + 35 bytes _Route17EndBattleText1: ; 91375 (24:5375) db $0, "Burned", $4f db "out!", $58 -; 0x91375 + 13 bytes _Route17AfterBattleText1: ; 91382 (24:5382) db $0, "Good stuff is", $4f db "lying around on", $55 db "CYCLING ROAD!", $57 -; 0x91382 + 45 bytes _Route17BattleText2: ; 913af (24:53af) db $0, "What do you want,", $4f db "kiddo?", $57 -; 0x913af + 26 bytes _Route17EndBattleText2: ; 913c9 (24:53c9) db $0, "Whoo!", $58 -; 0x913c9 + 7 bytes _Route17AfterBattleText2: ; 913d0 (24:53d0) db $0, "I could belly-", $4f db "bump you outta", $55 db "here!", $57 -; 0x913d0 + 37 bytes _Route17BattleText3: ; 913f5 (24:53f5) db $0, "You heading to", $4f db "FUCHSIA?", $57 -; 0x913f5 + 25 bytes _Route17EndBattleText3: ; 9140e (24:540e) db $0, "Crash and", $4f db "burn!", $58 -; 0x9140e + 17 bytes _Route17AfterBattleText3: ; 9141f (24:541f) db $0, "I love racing", $4f db "downhill!", $57 -; 0x9141f + 25 bytes _Route17BattleText4: ; 91438 (24:5438) db $0, "We're BIKERs!", $4f db "Highway stars!", $57 -; 0x91438 + 29 bytes _Route17EndBattleText4: ; 91455 (24:5455) db $0, "Smoked!", $58 -; 0x91455 + 9 bytes _Route17AfterBattleText4: ; 9145e (24:545e) db $0, "Are you looking", $4f db "for adventure?", $57 -; 0x9145e + 32 bytes _Route17BattleText5: ; 9147e (24:547e) db $0, "Let VOLTORB", $4f db "electrify you!", $57 -; 0x9147e + 28 bytes _Route17EndBattleText5: ; 9149a (24:549a) db $0, "Grounded", $4f db "out!", $58 -; 0x9149a + 15 bytes _Route17AfterBattleText5: ; 914a9 (24:54a9) db $0, "I got my VOLTORB", $4f db "at the abandoned", $55 db "POWER PLANT.", $57 -; 0x914a9 + 48 bytes _Route17BattleText6: ; 914d9 (24:54d9) db $0, "My #MON won't", $4f db "evolve! Why?", $57 -; 0x914d9 + 27 bytes _Route17EndBattleText6: ; 914f4 (24:54f4) db $0, "Why,", $4f db "you!", $58 -; 0x914f4 + 11 bytes _Route17AfterBattleText6: ; 914ff (24:54ff) db $0, "Maybe some #MON", $4f db "need element", $55 db "STONEs to evolve.", $57 -; 0x914ff + 48 bytes _Route17BattleText7: ; 9152f (24:552f) db $0, "I need a little", $4f db "exercise!", $57 -; 0x9152f + 27 bytes _Route17EndBattleText7: ; 9154a (24:554a) db $0, "Whew!", $4f db "Good workout!", $58 -; 0x9154a + 21 bytes _Route17AfterBattleText7: ; 9155f (24:555f) db $0, "I'm sure I lost", $4f db "weight there!", $57 -; 0x9155f + 30 bytes _Route17BattleText8: ; 9157d (24:557d) db $0, "Be a rebel!", $57 -; 0x9157d + 13 bytes _Route17EndBattleText8: ; 9158a (24:558a) db $0, "Aaaargh!", $58 -; 0x9158a + 10 bytes _Route17AfterBattleText8: ; 91594 (24:5594) db $0, "Be ready to fight", $4f db "for your beliefs!", $57 -; 0x91594 + 37 bytes _Route17BattleText9: ; 915b9 (24:55b9) db $0, "Nice BIKE!", $4f db "How's it handle?", $57 -; 0x915b9 + 28 bytes _Route17EndBattleText9: ; 915d5 (24:55d5) db $0, "Shoot!", $58 -; 0x915d5 + 8 bytes _Route17AfterBattleText9: ; 915dd (24:55dd) db $0, "The slope makes", $4f db "it hard to steer!", $57 -; 0x915dd + 35 bytes _Route17BattleText10: ; 91600 (24:5600) db $0, "Get lost kid!", $4f db "I'm bushed!", $57 -; 0x91600 + 26 bytes _Route17EndBattleText10: ; 9161a (24:561a) db $0, "Are you", $4f db "satisfied?", $58 -; 0x9161a + 20 bytes _Route17AfterBattleText10: ; 9162e (24:562e) db $0, "I need to catch", $4f db "a few Zs!", $57 -; 0x9162e + 27 bytes _Route17Text11: ; 91649 (24:5649) db $0, "It's a notice!", $51 @@ -123894,48 +128034,39 @@ _Route18BattleText1: ; 917a1 (24:57a1) db $0, "I always check", $4f db "every grassy area", $55 db "for new #MON.", $57 -; 0x917a1 + 48 bytes _Route18EndBattleText1: ; 917d1 (24:57d1) db $0, "Tch!", $58 -; 0x917d1 + 6 bytes _Route18AfterBattleText1: ; 917d7 (24:57d7) db $0, "I wish I had a", $4f db "BIKE!", $57 -; 0x917d7 + 22 bytes _Route18BattleText2: ; 917ed (24:57ed) db $0, "Kurukkoo!", $4f db "How do you like", $55 db "my bird call?", $57 -; 0x917ed + 41 bytes _Route18EndBattleText2: ; 91816 (24:5816) db $0, "I", $4f db "had to bug you!", $58 -; 0x91816 + 19 bytes _Route18AfterBattleText2: ; 91829 (24:5829) db $0, "I also collect sea", $4f db "#MON on", $55 db "weekends!", $57 -; 0x91829 + 38 bytes _Route18BattleText3: ; 9184f (24:584f) db $0, "This is my turf!", $4f db "Get out of here!", $57 -; 0x9184f + 35 bytes _Route18EndBattleText3: ; 91872 (24:5872) db $0, "Darn!", $58 -; 0x91872 + 7 bytes _Route18AfterBattleText3: ; 91879 (24:5879) db $0, "This is my fave", $4f db "#MON hunting", $55 db "area!", $57 -; 0x91879 + 36 bytes _Route18Text4: ; 9189d (24:589d) db $0, "ROUTE 18", $4f @@ -123950,154 +128081,124 @@ _Route18Text5: ; 918c3 (24:58c3) _Route19BattleText1: ; 918eb (24:58eb) db $0, "Have to warm up", $4f db "before my swim!", $57 -; 0x918eb + 33 bytes _Route19EndBattleText1: ; 9190c (24:590c) db $0, "All", $4f db "warmed up!", $58 -; 0x9190c + 16 bytes _Route19AfterBattleText1: ; 9191c (24:591c) db $0, "Thanks, kid! I'm", $4f db "ready for a swim!", $57 -; 0x9191c + 35 bytes _Route19BattleText2: ; 9193f (24:593f) db $0, "Wait! You'll have", $4f db "a heart attack!", $57 -; 0x9193f + 34 bytes _Route19EndBattleText2: ; 91961 (24:5961) db $0, "Ooh!", $4f db "That's chilly!", $58 -; 0x91961 + 20 bytes _Route19AfterBattleText2: ; 91975 (24:5975) db $0, "Watch out for", $4f db "TENTACOOL!", $57 -; 0x91975 + 26 bytes _Route19BattleText3: ; 9198f (24:598f) db $0, "I love swimming!", $4f db "What about you?", $57 -; 0x9198f + 34 bytes _Route19EndBattleText3: ; 919b1 (24:59b1) db $0, "Belly", $4f db "flop!", $58 -; 0x919b1 + 13 bytes _Route19AfterBattleText3: ; 919be (24:59be) db $0, "I can beat #MON", $4f db "at swimming!", $57 -; 0x919be + 30 bytes _Route19BattleText4: ; 919dc (24:59dc) db $0, "What's beyond the", $4f db "horizon?", $57 -; 0x919dc + 27 bytes _Route19EndBattleText4: ; 919f7 (24:59f7) db $0, "Glub!", $58 -; 0x919f7 + 7 bytes _Route19AfterBattleText4: ; 919fe (24:59fe) db $0, "I see a couple of", $4f db "islands!", $57 -; 0x919fe + 28 bytes _Route19BattleText5: ; 91a1a (24:5a1a) db $0, "I tried diving", $4f db "for #MON, but", $55 db "it was a no go!", $57 -; 0x91a1a + 46 bytes _Route19EndBattleText5: ; 91a48 (24:5a48) db $0, "Help!", $58 -; 0x91a48 + 7 bytes _Route19AfterBattleText5: ; 91a4f (24:5a4f) db $0, "You have to fish", $4f db "for sea #MON!", $57 -; 0x91a4f + 32 bytes _Route19BattleText6: ; 91a6f (24:5a6f) db $0, "I look at the", $4f db "sea to forget!", $57 -; 0x91a6f + 30 bytes _Route19EndBattleText6: ; 91a8d (24:5a8d) db $0, "Ooh!", $4f db "Traumatic!", $58 -; 0x91a8d + 17 bytes _Route19AfterBattleText6: ; 91a9e (24:5a9e) db $0, "I'm looking at the", $4f db "sea to forget!", $57 -; 0x91a9e + 34 bytes _Route19BattleText7: ; 91ac0 (24:5ac0) db $0, "Oh, I just love", $4f db "your ride! Can I", $55 db "have it if I win?", $57 -; 0x91ac0 + 52 bytes _Route19EndBattleText7: ; 91af4 (24:5af4) db $0, "Oh!", $4f db "I lost!", $58 -; 0x91af4 + 13 bytes _Route19AfterBattleText7: ; 91b01 (24:5b01) db $0, "It's still a long", $4f db "way to go to", $55 db "SEAFOAM ISLANDS.", $57 -; 0x91b01 + 48 bytes _Route19BattleText8: ; 91b31 (24:5b31) db $0, "Swimming's great!", $4f db "Sunburns aren't!", $57 -; 0x91b31 + 34 bytes _Route19EndBattleText8: ; 91b53 (24:5b53) db $0, "Shocker!", $58 -; 0x91b53 + 10 bytes _Route19AfterBattleText8: ; 91b5d (24:5b5d) db $0, "My boy friend", $4f db "wanted to swim to", $55 db "SEAFOAM ISLANDS.", $57 -; 0x91b5d + 50 bytes _Route19BattleText9: ; 91b8f (24:5b8f) db $0, "These waters are", $4f db "treacherous!", $57 -; 0x91b8f + 31 bytes _Route19EndBattleText9: ; 91bae (24:5bae) db $0, "Ooh!", $4f db "Dangerous!", $58 -; 0x91bae + 17 bytes _Route19AfterBattleText9: ; 91bbf (24:5bbf) db $0, "I got a cramp!", $4f db "Glub, glub...", $57 -; 0x91bbf + 30 bytes _Route19BattleText10: ; 91bdd (24:5bdd) db $0, "I swam here, but", $4f db "I'm tired.", $57 -; 0x91bdd + 28 bytes _Route19EndBattleText10: ; 91bf9 (24:5bf9) db $0, "I'm", $4f db "exhausted...", $58 -; 0x91bf9 + 17 bytes _Route19AfterBattleText10: ; 91c0a (24:5c0a) db $0, "LAPRAS is so big,", $4f db "it must keep you", $55 db "dry on water.", $57 -; 0x91c0a + 50 bytes _Route19Text11: ; 91c3c (24:5c3c) db $0, "SEA ROUTE 19", $4f @@ -124107,154 +128208,124 @@ _Route19Text11: ; 91c3c (24:5c3c) _Route20BattleText1: ; 91c69 (24:5c69) db $0, "The water is", $4f db "shallow here.", $57 -; 0x91c69 + 28 bytes _Route20EndBattleText1: ; 91c85 (24:5c85) db $0, "Splash!", $58 -; 0x91c85 + 9 bytes _Route20AfterBattleText1: ; 91c8e (24:5c8e) db $0, "I wish I could", $4f db "ride my #MON.", $57 -; 0x91c8e + 30 bytes _Route20BattleText2: ; 91cac (24:5cac) db $0, "SEAFOAM is a", $4f db "quiet getaway!", $57 -; 0x91cac + 29 bytes _Route20EndBattleText2: ; 91cc9 (24:5cc9) db $0, "Quit it!", $58 -; 0x91cc9 + 10 bytes _Route20AfterBattleText2: ; 91cd3 (24:5cd3) db $0, "There's a huge", $4f db "cavern underneath", $55 db "this island.", $57 -; 0x91cd3 + 46 bytes _Route20BattleText3: ; 91d01 (24:5d01) db $0, "I love floating", $4f db "with the fishes!", $57 -; 0x91d01 + 34 bytes _Route20EndBattleText3: ; 91d23 (24:5d23) db $0, "Yowch!", $58 -; 0x91d23 + 8 bytes _Route20AfterBattleText3: ; 91d2b (24:5d2b) db $0, "Want to float", $4f db "with me?", $57 -; 0x91d2b + 24 bytes _Route20BattleText4: ; 91d43 (24:5d43) db $0, "Are you on", $4f db "vacation too?", $57 -; 0x91d43 + 26 bytes _Route20EndBattleText4: ; 91d5d (24:5d5d) db $0, "No", $4f db "mercy at all!", $58 -; 0x91d5d + 18 bytes _Route20AfterBattleText4: ; 91d6f (24:5d6f) db $0, "SEAFOAM used to", $4f db "be one island!", $57 -; 0x91d6f + 32 bytes _Route20BattleText5: ; 91d8f (24:5d8f) db $0, "Check out my buff", $4f db "physique!", $57 -; 0x91d8f + 29 bytes _Route20EndBattleText5: ; 91dac (24:5dac) db $0, "Wimpy!", $58 -; 0x91dac + 8 bytes _Route20AfterBattleText5: ; 91db4 (24:5db4) db $0, "I should've been", $4f db "buffing up my", $55 db "#MON, not me!", $57 -; 0x91db4 + 45 bytes _Route20BattleText6: ; 91de1 (24:5de1) db $0, "Why are you", $4f db "riding a #MON?", $55 db "Can't you swim?", $57 -; 0x91de1 + 43 bytes _Route20EndBattleText6: ; 91e0c (24:5e0c) db $0, "Ouch!", $4f db "Torpedoed!", $58 -; 0x91e0c + 18 bytes _Route20AfterBattleText6: ; 91e1e (24:5e1e) db $0, "Riding a #MON", $4f db "sure looks fun!", $57 -; 0x91e1e + 31 bytes _Route20BattleText7: ; 91e3d (24:5e3d) db $0, "I rode my bird", $4f db "#MON here!", $57 -; 0x91e3d + 27 bytes _Route20EndBattleText7: ; 91e58 (24:5e58) db $0, "Oh", $4f db "no!", $58 -; 0x91e58 + 8 bytes _Route20AfterBattleText7: ; 91e60 (24:5e60) db $0, "My birds can't", $4f db "FLY me back!", $57 -; 0x91e60 + 28 bytes _Route20BattleText8: ; 91e7c (24:5e7c) db $0, "My boy friend gave", $4f db "me big pearls!", $57 -; 0x91e7c + 35 bytes _Route20EndBattleText8: ; 91e9f (24:5e9f) db $0, "Don't", $4f db "touch my pearls!", $58 -; 0x91e9f + 23 bytes _Route20AfterBattleText8: ; 91eb6 (24:5eb6) db $0, "Will my pearls", $4f db "grow bigger", $55 db "inside CLOYSTER?", $57 -; 0x91eb6 + 45 bytes _Route20BattleText9: ; 91ee3 (24:5ee3) db $0, "I swam here from", $4f db "CINNABAR ISLAND!", $57 -; 0x91ee3 + 35 bytes _Route20EndBattleText9: ; 91f06 (24:5f06) db $0, "I'm", $4f db "so disappointed!", $58 -; 0x91f06 + 21 bytes _Route20AfterBattleText9: ; 91f1b (24:5f1b) db $0, "#MON have", $4f db "taken over an", $55 db "abandoned mansion", $55 db "on CINNABAR!", $57 -; 0x91f1b + 56 bytes _Route20BattleText10: ; 91f53 (24:5f53) db $0, "CINNABAR, in the", $4f db "west, has a LAB", $55 db "for #MON.", $57 -; 0x91f53 + 44 bytes _Route20EndBattleText10: ; 91f7f (24:5f7f) db $0, "Wait!", $58 -; 0x91f7f + 7 bytes _Route20AfterBattleText10: ; 91f86 (24:5f86) db $0, "CINNABAR is a ", $4f db "volcanic island!", $57 -; 0x91f86 + 33 bytes _Route20Text12: ; 91fa7 (24:5fa7) _Route20Text11: ; 91fa7 (24:5fa7) @@ -124264,139 +128335,112 @@ _Route21BattleText1: ; 91fb8 (24:5fb8) db $0, "You want to know", $4f db "if the fish are", $55 db "biting?", $57 -; 0x91fb8 + 42 bytes _Route21EndBattleText1: ; 91fe2 (24:5fe2) db $0, "Dang!", $58 -; 0x91fe2 + 7 bytes _Route21AfterBattleText1: ; 91fe9 (24:5fe9) db $0, "I can't catch", $4f db "anything good!", $57 -; 0x91fe9 + 29 bytes _Route21BattleText2: ; 92006 (24:6006) db $0, "I got a big haul!", $4f db "Wanna go for it?", $57 -; 0x92006 + 36 bytes _Route21EndBattleText2: ; 9202a (24:602a) db $0, "Darn", $4f db "MAGIKARP!", $58 -; 0x9202a + 16 bytes _Route21AfterBattleText2: ; 9203a (24:603a) db $0, "I seem to only", $4f db "catch MAGIKARP!", $57 -; 0x9203a + 32 bytes _Route21BattleText3: ; 9205a (24:605a) db $0, "The sea cleanses", $4f db "my body and soul!", $57 -; 0x9205a + 36 bytes _Route21EndBattleText3: ; 9207e (24:607e) db $0, "Ayah!", $58 -; 0x9207e + 7 bytes _Route21AfterBattleText3: ; 92085 (24:6085) db $0, "I like the", $4f db "mountains too!", $57 -; 0x92085 + 27 bytes _Route21BattleText4: ; 920a0 (24:60a0) db $0, "What's wrong with", $4f db "me swimming?", $57 -; 0x920a0 + 31 bytes _Route21EndBattleText4: ; 920bf (24:60bf) db $0, "Cheap", $4f db "shot!", $58 -; 0x920bf + 13 bytes _Route21AfterBattleText4: ; 920cc (24:60cc) db $0, "I look like what?", $4f db "A studded inner", $55 db "tube? Get lost!", $57 -; 0x920cc + 51 bytes _Route21BattleText5: ; 920ff (24:60ff) db $0, "I caught all my", $4f db "#MON at sea!", $57 -; 0x920ff + 30 bytes _Route21EndBattleText5: ; 9211d (24:611d) db $0, "Diver!!", $4f db "Down!!", $58 -; 0x9211d + 16 bytes _Route21AfterBattleText5: ; 9212d (24:612d) db $0, "Where'd you catch", $4f db "your #MON?", $57 -; 0x9212d + 29 bytes _Route21BattleText6: ; 9214a (24:614a) db $0, "Right now, I'm in", $4f db "a triathlon meet!", $57 -; 0x9214a + 36 bytes _Route21EndBattleText6: ; 9216e (24:616e) db $0, "Pant...", $4f db "pant...pant...", $58 -; 0x9216e + 24 bytes _Route21AfterBattleText6: ; 92186 (24:6186) db $0, "I'm beat!", $4f db "But, I still have", $55 db "the bike race and", $55 db "marathon left!", $57 -; 0x92186 + 61 bytes _Route21BattleText7: ; 921c3 (24:61c3) db $0, "Ahh! Feel the sun", $4f db "and the wind!", $57 -; 0x921c3 + 33 bytes _Route21EndBattleText7: ; 921e4 (24:61e4) db $0, "Yow!", $4f db "I lost!", $58 -; 0x921e4 + 14 bytes _Route21AfterBattleText7: ; 921f2 (24:61f2) db $0, "I'm sunburnt to a", $4f db "crisp!", $57 -; 0x921f2 + 25 bytes _Route21BattleText8: ; 9220b (24:620b) db $0, "Hey, don't scare", $4f db "away the fish!", $57 -; 0x9220b + 32 bytes _Route21EndBattleText8: ; 9222b (24:622b) db $0, "Sorry!", $4f db "I didn't mean it!", $58 -; 0x9222b + 25 bytes _Route21AfterBattleText8: ; 92244 (24:6244) db $0, "I was just angry", $4f db "that I couldn't", $55 db "catch anything.", $57 -; 0x92244 + 49 bytes _Route21BattleText9: ; 92275 (24:6275) db $0, "Keep me company", $4f db "'til I get a hit!", $57 -; 0x92275 + 34 bytes _Route21EndBattleText9: ; 92297 (24:6297) db $0, "That", $4f db "burned some time.", $58 -; 0x92297 + 24 bytes _Route21AfterBattleText9: ; 922af (24:62af) db $0, "Oh wait! I got a", $4f db "bite! Yeah!", $57 -; 0x922af + 30 bytes _UnnamedText_511ad: ; 922cd (24:62cd) db $0, $53, ": Hey!", $4f @@ -124411,7 +128455,6 @@ _UnnamedText_511ad: ; 922cd (24:62cd) db "By the way, did", $4f db "your #MON", $55 db "get any stronger?", $57 -; 0x922cd + 162 bytes _UnnamedText_511b2: ; 9236f (24:636f) db $0, "I heard #MON", $4f @@ -124423,13 +128466,11 @@ _UnnamedText_511b2: ; 9236f (24:636f) db "You should quit", $4f db "dawdling and get", $55 db "a move on!", $57 -; 0x9236f + 133 bytes _UnnamedText_511b7: ; 923f4 (24:63f4) db $0, "Awww!", $4f db "You just lucked", $55 db "out!", $58 -; 0x923f4 + 28 bytes _UnnamedText_511bc: ; 92410 (24:6410) db $0, $53, ": What?", $4f @@ -124437,7 +128478,6 @@ _UnnamedText_511bc: ; 92410 (24:6410) db "#MON?", $51 db "You should catch", $55 db "some more too!", $58 -; 0x92410 + 64 bytes _UnnamedText_511c1: ; 92450 (24:6450) db $0, $53, ": What?", $4f @@ -124454,7 +128494,6 @@ _UnnamedText_511c1: ; 92450 (24:6450) db "warm up for", $55 db "#MON LEAGUE!", $51 db "Come on!", $57 -; 0x92450 + 182 bytes _UnnamedText_511c6: ; 92506 (24:6506) db $0, "That loosened me", $4f @@ -124465,13 +128504,11 @@ _UnnamedText_511c6: ; 92506 (24:6506) db "But hey, you know", $4f db "that! I'm out of", $55 db "here. Smell ya!", $57 -; 0x92506 + 125 bytes _UnnamedText_511cb: ; 92583 (24:6583) db $0, "What!?", $51 db "I was just", $4f db "careless!", $58 -; 0x92583 + 29 bytes _UnnamedText_511d0: ; 925a0 (24:65a0) db $0, $53, ": Hahaha!", $4f @@ -124481,56 +128518,48 @@ _UnnamedText_511d0: ; 925a0 (24:65a0) db "good as me, pal!", $51 db "Go train some", $4f db "more! You loser!", $58 -; 0x925a0 + 102 bytes _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 @" -; 0x9261e + 41 bytes -UnknownText_92647: ; 92647 (24:6647) +UnnamedText_92647: ; 92647 (24:6647) TX_RAM $cd6d db $0, "!", $51 db "You don't have the", $4f db "@" -; 0x92647 + 25 bytes (0x92660) -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!@@" -; 0x92660 + 54 bytes -UnknownText_92696: ; 92696 (24:6696) +_VictoryRoadGuardText2: ; 92696 (24:6696) db $0, "You can pass here", $4f db "only if you have", $55 db "the @" -; 0x92696 + 41 bytes -UnknownText_926bf: ; 926bf (24:66bf) +UnnamedText_926bf: ; 926bf (24:66bf) TX_RAM $cd6d db $0, "!", $51 db "Oh! That is the", $4f db "@" -; 0x926bf + 23 bytes -UnknownText_926d6: ; 926d6 (24:66d6) +UnnamedText_926d6: ; 926d6 (24:66d6) TX_RAM $cd6d db $0, "!@@" -; 0x926d6 + 7 bytes _UnnamedText_513a3: ; 926dd (24:66dd) db $0, $51 db "OK then! Please,", $4f db "go right ahead!", $57 -; 0x926dd + 35 bytes _Route23Text8: ; 92700 (24:6700) db $0, "VICTORY ROAD GATE", $4f @@ -124540,28 +128569,23 @@ _UnnamedText_51510: ; 92721 (24:6721) db $0, "Congratulations!", $4f db "You beat our 5", $55 db "contest trainers!@@" -; 0x92721 + 52 bytes _UnnamedText_51515: ; 92755 (24:6755) db $0, $51 db "You just earned a", $4f db "fabulous prize!", $58 -; 0x92755 + 36 bytes _UnnamedText_5151a: ; 92779 (24:6779) db $0, $52, " received", $4f db "a @" -; 0x92779 + 15 bytes -UnknownText_92788: ; 92788 (24:6788) +UnnamedText_92788: ; 92788 (24:6788) TX_RAM $cf4b db $0, "!@@" -; 0x92788 + 7 bytes _UnnamedText_51521: ; 9278f (24:678f) db $0, "You don't have", $4f db "any room!", $57 -; 0x9278f + 25 bytes _UnnamedText_51526: ; 927a8 (24:67a8) db $0, "By the way, would", $4f @@ -124580,97 +128604,79 @@ _UnnamedText_51526: ; 927a8 (24:67a8) db "I'll make you an", $4f db "offer you can't", $55 db "refuse!", $57 -; 0x927a8 + 226 bytes _UnnamedText_5152b: ; 9288a (24:688a) db $0, "Arrgh!", $4f db "You are good!", $58 -; 0x9288a + 22 bytes _UnnamedText_51530: ; 928a0 (24:68a0) db $0, "With your ability,", $4f db "you could become", $55 db "a top leader in", $55 db "TEAM ROCKET!", $57 -; 0x928a0 + 66 bytes _Route24BattleText1: ; 928e2 (24:68e2) db $0, "I saw your feat", $4f db "from the grass!", $57 -; 0x928e2 + 33 bytes SECTION "bank25",ROMX,BANK[$25] _Route24EndBattleText1: ; 94000 (25:4000) db $0, "I", $4f db "thought not!", $58 -; 0x94000 + 16 bytes _Route24AfterBattleText1: ; 94010 (25:4010) db $0, "I hid because the", $4f db "people on the", $55 db "bridge scared me!", $57 -; 0x94010 + 51 bytes _Route24BattleText2: ; 94043 (25:4043) db $0, "OK! I'm No. 5!", $4f db "I'll stomp you!", $57 -; 0x94043 + 30 bytes _Route24EndBattleText2: ; 94061 (25:4061) db $0, "Whoa!", $4f db "Too much!", $58 -; 0x94061 + 17 bytes _Route24AfterBattleText2: ; 94072 (25:4072) db $0, "I did my best, I", $4f db "have no regrets!", $57 -; 0x94072 + 35 bytes _Route24BattleText3: ; 94095 (25:4095) db $0, "I'm No. 4!", $4f db "Getting tired?", $57 -; 0x94095 + 26 bytes _Route24EndBattleText3: ; 940af (25:40af) db $0, "I lost", $4f db "too!", $58 -; 0x940af + 13 bytes _Route24AfterBattleText3: ; 940bc (25:40bc) db $0, "I did my best, so", $4f db "I've no regrets!", $57 -; 0x940bc + 35 bytes _Route24BattleText4: ; 940df (25:40df) db $0, "Here's No. 3!", $4f db "I won't be easy!", $57 -; 0x940df + 30 bytes _Route24EndBattleText4: ; 940fd (25:40fd) db $0, "Ow!", $4f db "Stomped flat!", $58 -; 0x940fd + 19 bytes _Route24AfterBattleText4: ; 94110 (25:4110) db $0, "I did my best, I", $4f db "have no regrets!", $57 -; 0x94110 + 35 bytes _Route24BattleText5: ; 94133 (25:4133) db $0, "I'm second!", $4f db "Now it's serious!", $57 -; 0x94133 + 29 bytes _Route24EndBattleText5: ; 94150 (25:4150) db $0, "How could I", $4f db "lose?", $58 -; 0x94150 + 19 bytes _Route24AfterBattleText5: ; 94163 (25:4163) db $0, "I did my best, I", $4f db "have no regrets!", $57 -; 0x94163 + 35 bytes _Route24BattleText6: ; 94186 (25:4186) db $0, "This is NUGGET", $4f @@ -124679,169 +128685,139 @@ _Route24BattleText6: ; 94186 (25:4186) db "a fabulous prize!", $51 db "Think you got", $4f db "what it takes?", $57 -; 0x94186 + 98 bytes _Route24EndBattleText6: ; 941e8 (25:41e8) db $0, "Whoo!", $4f db "Good stuff!", $58 -; 0x941e8 + 19 bytes _Route24AfterBattleText6: ; 941fb (25:41fb) db $0, "I did my best, I", $4f db "have no regrets!", $57 -; 0x941fb + 35 bytes _Route25BattleText1: ; 9421e (25:421e) db $0, "Local trainers", $4f db "come here to", $55 db "practice!", $57 -; 0x9421e + 39 bytes _Route25EndBattleText1: ; 94245 (25:4245) db $0, "You're", $4f db "decent.", $58 -; 0x94245 + 15 bytes _Route25AfterBattleText1: ; 94254 (25:4254) db $0, "All #MON have", $4f db "weaknesses. It's", $55 db "best to raise", $55 db "different kinds.", $57 -; 0x94254 + 62 bytes _Route25BattleText2: ; 94292 (25:4292) db $0, "Dad took me to a", $4f db "great party on", $55 db "S.S.ANNE at", $55 db "VERMILION CITY!", $57 -; 0x94292 + 61 bytes _Route25EndBattleText2: ; 942cf (25:42cf) db $0, "I'm", $4f db "not mad!", $58 -; 0x942cf + 13 bytes _Route25AfterBattleText2: ; 942dc (25:42dc) db $0, "On S.S.ANNE, I", $4f db "saw trainers from", $55 db "around the world.", $57 -; 0x942dc + 52 bytes _Route25BattleText3: ; 94310 (25:4310) db $0, "I'm a cool guy.", $4f db "I've got a girl", $55 db "friend!", $57 -; 0x94310 + 39 bytes _Route25EndBattleText3: ; 94337 (25:4337) db $0, "Aww,", $4f db "darn...", $58 -; 0x94337 + 14 bytes _Route25AfterBattleText3: ; 94345 (25:4345) db $0, "Oh well. My girl", $4f db "will cheer me up.", $57 -; 0x94345 + 36 bytes _Route25BattleText4: ; 94369 (25:4369) db $0, "Hi! My boy", $4f db "friend is cool!", $57 -; 0x94369 + 28 bytes _Route25EndBattleText4: ; 94385 (25:4385) db $0, "I was in", $4f db "bad condition!", $58 -; 0x94385 + 25 bytes _Route25AfterBattleText4: ; 9439e (25:439e) db $0, "I wish my guy was", $4f db "as good as you!", $57 -; 0x9439e + 35 bytes _Route25BattleText5: ; 943c1 (25:43c1) db $0, "I knew I had to", $4f db "fight you!", $57 -; 0x943c1 + 28 bytes _Route25EndBattleText5: ; 943dd (25:43dd) db $0, "I knew", $4f db "I'd lose too!", $58 -; 0x943dd + 21 bytes _Route25AfterBattleText5: ; 943f2 (25:43f2) db $0, "If your #MON", $4f db "gets confused or", $55 db "falls asleep,", $55 db "switch it!", $57 -; 0x943f2 + 56 bytes _Route25BattleText6: ; 9442a (25:442a) db $0, "My friend has a", $4f db "cute #MON.", $55 db "I'm so jealous!", $57 -; 0x9442a + 43 bytes _Route25EndBattleText6: ; 94455 (25:4455) db $0, "I'm", $4f db "not so jealous!", $58 -; 0x94455 + 20 bytes _Route25AfterBattleText6: ; 94469 (25:4469) db $0, "You came from MT.", $4f db "MOON? May I have", $55 db "a CLEFAIRY?", $57 -; 0x94469 + 48 bytes _Route25BattleText7: ; 94499 (25:4499) db $0, "I just got down", $4f db "from MT.MOON,", $55 db "but I'm ready!", $57 -; 0x94499 + 45 bytes _Route25EndBattleText7: ; 944c6 (25:44c6) db $0, "You", $4f db "worked hard!", $58 -; 0x944c6 + 18 bytes _Route25AfterBattleText7: ; 944d8 (25:44d8) db $0, "Drat!", $4f db "A ZUBAT bit me", $55 db "back in there.", $57 -; 0x944d8 + 37 bytes _Route25BattleText8: ; 944fd (25:44fd) db $0, "I'm off to see a", $4f db "#MON collector", $55 db "at the cape!", $57 -; 0x944fd + 45 bytes _Route25EndBattleText8: ; 9452a (25:452a) db $0, "You", $4f db "got me.", $58 -; 0x9452a + 13 bytes _Route25AfterBattleText8: ; 94537 (25:4537) db $0, "The collector has", $4f db "many rare kinds", $55 db "of #MON.", $57 -; 0x94537 + 44 bytes _Route25BattleText9: ; 94563 (25:4563) db $0, "You're going to", $4f db "see BILL? First,", $55 db "let's fight!", $57 -; 0x94563 + 45 bytes _Route25EndBattleText9: ; 94590 (25:4590) db $0, "You're", $4f db "something.", $58 -; 0x94590 + 18 bytes _Route25AfterBattleText9: ; 945a2 (25:45a2) db $0, "The trail below", $4f db "is a shortcut to", $55 db "CERULEAN CITY.", $57 -; 0x945a2 + 49 bytes _Route25Text11: ; 945d3 (25:45d3) db $0, "SEA COTTAGE", $4f @@ -124850,348 +128826,279 @@ _Route25Text11: ; 945d3 (25:45d3) _FileDataDestroyedText: ; 945f1 (25:45f1) db $0, "The file data is", $4f db "destroyed!", $58 -; 0x945f1 + 29 bytes _WouldYouLikeToSaveText: ; 9460e (25:460e) db $0, "Would you like to", $4f db "SAVE the game?", $57 -; 0x9460e + 34 bytes _GameSavedText: ; 94630 (25:4630) db $0, $52, " saved", $4f db "the game!", $57 -; 0x94630 + 19 bytes _OlderFileWillBeErasedText: ; 94643 (25:4643) db $0, "The older file", $4f db "will be erased to", $55 db "save. Okay?", $57 -; 0x94643 + 46 bytes _UnnamedText_73909: ; 94671 (25:4671) db $0, "When you change a", $4f db "#MON BOX, data", $55 db "will be saved.", $51 db "Is that okay?", $57 -; 0x94671 + 63 bytes _UnnamedText_739d4: ; 946b0 (25:46b0) db $0, "Choose a", $4f db $4a, " BOX.@@" -; 0x946b0 + 17 bytes _UnnamedText_3af3e: ; 946c2 (25:46c2) TX_RAM $cf4b db $0, " evolved", $57 -; 0x946c2 + 13 bytes _UnnamedText_3af43: ; 946cf (25:46cf) db $0, $4f db "into @" -; 0x946cf + 8 bytes -UnknownText_946d7: ; 946d7 (25:46d7) +UnnamedText_946d7: ; 946d7 (25:46d7) TX_RAM $cd6d db $0, "!", $57 -; 0x946d7 + 6 bytes _UnnamedText_3af48: ; 946dd (25:46dd) db $0, "Huh? @" -; 0x946dd + 7 bytes -UnknownText_946e4: ; 946e4 (25:46e4) +UnnamedText_946e4: ; 946e4 (25:46e4) TX_RAM $cf4b db $0, $4f db "stopped evolving!", $58 -; 0x946e4 + 23 bytes _UnnamedText_3af4d: ; 946fb (25:46fb) db $0, "What? @" -; 0x946fb + 8 bytes -UnknownText_94703: ; 94703 (25:4703) +UnnamedText_94703: ; 94703 (25:4703) TX_RAM $cf4b db $0, $4f db "is evolving!", $57 -; 0x94703 + 18 bytes _UnnamedText_3f245: ; 94715 (25:4715) db $0, $59, $4f db "fell asleep!", $58 -; 0x94715 + 16 bytes _UnnamedText_3f24a: ; 94725 (25:4725) db $0, $59, "'s", $4f db "already asleep!", $58 -; 0x94725 + 20 bytes _UnnamedText_3f2df: ; 94739 (25:4739) db $0, $59, $4f db "was poisoned!", $58 -; 0x94739 + 17 bytes _UnnamedText_3f2e4: ; 9474a (25:474a) db $0, $59, "'s", $4f db "badly poisoned!", $58 -; 0x9474a + 20 bytes _UnnamedText_3f3d8: ; 9475e (25:475e) db $0, $59, $4f db "was burned!", $58 -; 0x9475e + 15 bytes _UnnamedText_3f3dd: ; 9476d (25:476d) db $0, $59, $4f db "was frozen solid!", $58 -; 0x9476d + 21 bytes _UnnamedText_3f423: ; 94782 (25:4782) db $0, "Fire defrosted", $4f db $59, "!", $58 -; 0x94782 + 19 bytes -UnknownText_94795: ; 94795 (25:4795) +_UnnamedText_3f528: ; 94795 (25:4795) db $0, $5a, "'s", $4f db "@" -; 0x94795 + 5 bytes -UnknownText_9479a: ; 9479a (25:479a) +UnnamedText_9479a: ; 9479a (25:479a) TX_RAM $cf4b db $0, "@@" -; 0x9479a + 6 bytes -UnknownText_947a0: ; 947a0 (25:47a0) +_UnnamedText_3f542: ; 947a0 (25:47a0) db $0, $4c, "greatly@@" -; 0x947a0 + 11 bytes _UnnamedText_3f547: ; 947ab (25:47ab) db $0, " rose!", $58 -; 0x947ab + 8 bytes -UnknownText_947b3: ; 947b3 (25:47b3) +_UnnamedText_3f661: ; 947b3 (25:47b3) db $0, $59, "'s", $4f db "@" -; 0x947b3 + 5 bytes -UnknownText_947b8: ; 947b8 (25:47b8) +UnnamedText_947b8: ; 947b8 (25:47b8) TX_RAM $cf4b db $0, "@@" -; 0x947b8 + 6 bytes -UnknownText_947be: ; 947be (25:47be) +_UnnamedText_3f67e: ; 947be (25:47be) db $0, $4c, "greatly@@" -; 0x947be + 11 bytes _UnnamedText_3f683: ; 947c9 (25:47c9) db $0, " fell!", $58 -; 0x947c9 + 8 bytes _UnnamedText_3f802: ; 947d1 (25:47d1) db $0, $5a, $4f db "ran from battle!", $58 -; 0x947d1 + 20 bytes _UnnamedText_3f807: ; 947e5 (25:47e5) db $0, $59, $4f db "ran away scared!", $58 -; 0x947e5 + 20 bytes _UnnamedText_3f80c: ; 947f9 (25:47f9) db $0, $59, $4f db "was blown away!", $58 -; 0x947f9 + 19 bytes -UnnamedText_9480c: ; 9480c (25:480c) +_UnnamedText_3f8c8: ; 9480c (25:480c) db $0, $5a, "@@" -; 0x9480c + 4 bytes _UnnamedText_3f8f9: ; 94810 (25:4810) db $0, $4f db "made a whirlwind!", $58 -; 0x94810 + 20 bytes _UnnamedText_3f8fe: ; 94824 (25:4824) db $0, $4f db "took in sunlight!", $58 -; 0x94824 + 20 bytes _UnnamedText_3f903: ; 94838 (25:4838) db $0, $4f db "lowered its head!", $58 -; 0x94838 + 20 bytes _UnnamedText_3f908: ; 9484c (25:484c) db $0, $4f db "is glowing!", $58 -; 0x9484c + 14 bytes _UnnamedText_3f90d: ; 9485a (25:485a) db $0, $4f db "flew up high!", $58 -; 0x9485a + 16 bytes _UnnamedText_3f912: ; 9486a (25:486a) db $0, $4f db "dug a hole!", $58 -; 0x9486a + 14 bytes _UnnamedText_3f9a1: ; 94878 (25:4878) db $0, $59, $4f db "became confused!", $58 -; 0x94878 + 20 bytes _UnnamedText_3fa77: ; 9488c (25:488c) db $0, $5a, $4f db "learned", $55 db "@" -; 0x9488c + 12 bytes UnnamedText_94898: ; 94898 (25:4898) TX_RAM $cd6d db $0, "!", $58 -; 0x94898 + 6 bytes _UnnamedText_3fb09: ; 9489e (25:489e) db $0, $59, "'s", $4f db "@" -; 0x9489e + 5 bytes UnnamedText_948a3: ; 948a3 (25:48a3) TX_RAM $cd6d db $0, " was", $55 db "disabled!", $58 -; 0x948a3 + 19 bytes _UnnamedText_3fb3e: ; 948b6 (25:48b6) db $0, "Nothing happened!", $58 -; 0x948b6 + 19 bytes _UnnamedText_3fb49: ; 948c9 (25:48c9) db $0, "No effect!", $58 -; 0x948c9 + 12 bytes _UnnamedText_3fb59: ; 948d5 (25:48d5) db $0, "But, it failed! ", $58 -; 0x948d5 + 18 bytes _UnnamedText_3fb64: ; 948e7 (25:48e7) db $0, "It didn't affect", $4f db $59, "!", $58 -; 0x948e7 + 20 bytes _UnnamedText_3fb69: ; 948fb (25:48fb) db $0, $59, $4f db "is unaffected!", $58 -; 0x948fb + 18 bytes _UnnamedText_3fb74: ; 9490d (25:490d) db $0, $59, "'s", $4f db "paralyzed! It may", $55 db "not attack!", $58 -; 0x9490d + 34 bytes _UnnamedText_17e1d: ; 9492f (25:492f) db $0, "It created a", $4f db "SUBSTITUTE!", $58 -; 0x9492f + 26 bytes _UnnamedText_17e22: ; 94949 (25:4949) db $0, $5a, $4f db "has a SUBSTITUTE!", $58 -; 0x94949 + 21 bytes _UnnamedText_17e27: ; 9495e (25:495e) db $0, "Too weak to make", $4f db "a SUBSTITUTE!", $58 -; 0x9495e + 32 bytes _UnnamedText_2ff04: ; 9497e (25:497e) db $0, "Coins scattered", $4f db "everywhere!", $58 -; 0x9497e + 29 bytes _UnnamedText_27fb3: ; 9499b (25:499b) db $0, $5a, "'s", $4f db "getting pumped!", $58 -; 0x9499b + 20 bytes _UnnamedText_2bef2: ; 949af (25:49af) db $0, $59, $4f db "was seeded!", $58 -; 0x949af + 15 bytes _UnnamedText_2bef7: ; 949be (25:49be) db $0, $59, $4f db "evaded attack!", $58 -; 0x949be + 18 bytes _UnnamedText_1399e: ; 949d0 (25:49d0) db $0, $5a, "'s", $4f db "hit with recoil!", $58 -; 0x949d0 + 21 bytes _UnnamedText_139cd: ; 949e5 (25:49e5) db $0, "Converted type to", $4f db $59, "'s!", $58 -; 0x949e5 + 23 bytes _UnnamedText_13a53: ; 949fc (25:49fc) db $0, "All STATUS changes", $4f db "are eliminated!", $58 -; 0x949fc + 36 bytes _UnnamedText_3baa2: ; 94a20 (25:4a20) db $0, $5a, $4f db "started sleeping!", $57 -; 0x94a20 + 21 bytes _UnnamedText_3baa7: ; 94a35 (25:4a35) db $0, $5a, $4f db "fell asleep and", $55 db "became healthy!", $57 -; 0x94a35 + 35 bytes _UnnamedText_3baac: ; 94a58 (25:4a58) db $0, $5a, $4f db "regained health!", $58 -; 0x94a58 + 20 bytes _UnnamedText_3bb92: ; 94a6c (25:4a6c) db $0, $5a, $4f db "transformed into", $55 db "@" -; 0x94a6c + 21 bytes UnnamedText_94a81: ; 94a81 (25:4a81) TX_RAM $cd6d db $0, "!", $58 -; 0x94a81 + 6 bytes _UnnamedText_3bbd7: ; 94a87 (25:4a87) db $0, $5a, "'s", $4f db "protected against", $55 db "special attacks!", $58 -; 0x94a87 + 39 bytes _UnnamedText_3bbdc: ; 94aae (25:4aae) db $0, $5a, $4f db "gained armor!", $58 -; 0x94aae + 17 bytes _UnnamedText_33f52: ; 94abf (25:4abf) db $0, $5a, "'s", $4f db "shrouded in mist!", $58 -; 0x94abf + 22 bytes _UnnamedText_78dc: ; 94ad5 (25:4ad5) db $0, "Sucked health from", $4f db $59, "!", $58 -; 0x94ad5 + 23 bytes _UnnamedText_78e1: ; 94aec (25:4aec) db $0, $59, "'s", $4f db "dream was eaten!", $58 -; 0x94aec + 21 bytes _BattleCenterMText1: ; 94b01 (25:4b01) db $0, "!", $57 @@ -125199,14 +129106,13 @@ _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 db $52, "! Gramps", $55 db "isn't around!", $57 -; 0x94d5b + 30 bytes _OaksLabText40: ; 94d79 (25:4d79) db $0, $53, ": Heh, I", $4f @@ -125214,75 +129120,63 @@ _OaksLabText40: ; 94d79 (25:4d79) db "greedy like you!", $51 db "Go ahead and", $4f db "choose, ", $52, "!", $57 -; 0x94d79 + 68 bytes _OaksLabText41: ; 94dbd (25:4dbd) db $0, $53, ": My", $4f db "#MON looks a", $55 db "lot stronger.", $57 -; 0x94dbd + 34 bytes _OaksLabText39: ; 94ddf (25:4ddf) db $0 db "Those are #", $4f db "BALLs. They", $55 db "contain #MON!", $57 -; 0x94e06 _OaksLabCharmanderText: ; 94e06 (25:4e06) db $0, "So! You want the", $4f db "fire #MON,", $55 db "CHARMANDER?", $57 -; 0x94e2f _OaksLabSquirtleText: ; 94e2f (25:4e2f) db $0, "So! You want the", $4f db "water #MON,", $55 db "SQUIRTLE?", $57 -; 0x94e57 _OaksLabBulbasaurText: ; 94e57 (25:4e57) db $0, "So! You want the", $4f db "plant #MON,", $55 db "BULBASAUR?", $57 -; 0x94e80 _OaksLabMonEnergeticText: ; 94e80 (25:4e80) db $0, "This #MON is", $4f db "really energetic!", $58 -; 0x94ea0 _OaksLabReceivedMonText: ; 94ea0 (25:4ea0) db $0, $52, " received", $4f db "a @" TX_RAM $cd6d db $0, "!@@" -; 0x94eb6 _OaksLabLastMonText: ; 94eb6 (25:4eb6) db $0, "That's PROF.OAK's", $4f db "last #MON!", $57 -; 0x94ed2 _UnnamedText_1d2f0: ; 94ed2 (25:4ed2) db $0, "OAK: Now, ", $52, ",", $4f db "which #MON do", $55 db "you want?", $57 -; 0x94ef8 _UnnamedText_1d2f5: ; 94ef8 (25:4ef8) db $0, "OAK: If a wild", $4f db "#MON appears,", $55 db "your #MON can", $55 db "fight against it!", $57 -; 0x94f36 _UnnamedText_1d2fa: ; 94f36 (25:4f36) db $0, "OAK: ", $52, ",", $4f db "raise your young", $55 db "#MON by making", $55 db "it fight!", $57 -; 0x94f36 + 51 bytes _OaksLabDeliverParcelText1: ; 94f69 (25:4f69) db $0, "OAK: Oh, ", $52, "!", $51 @@ -125297,7 +129191,6 @@ _OaksLabDeliverParcelText1: ; 94f69 (25:4f69) db "something for me?", $51 db $52, " delivered", $4f db "OAK's PARCEL.@@" -; 0x94f69 + 166 bytes _OaksLabDeliverParcelText2: ; 9500f (25:500f) db $0, $51 @@ -125305,13 +129198,11 @@ _OaksLabDeliverParcelText2: ; 9500f (25:500f) db "custom # BALL", $55 db "I ordered!", $55 db "Thank you!", $57 -; 0x9500f + 54 bytes _OaksLabAroundWorldText: ; 95045 (25:5045) db $0, "#MON around the", $4f db "world wait for", $55 db "you, ", $52, "!", $57 -; 0x95045 + 40 bytes _OaksLabGivePokeballsText1: ; 9506d (25:506d) db $0, "OAK: You can't get", $4f @@ -125324,7 +129215,6 @@ _OaksLabGivePokeballsText1: ; 9506d (25:506d) db "#MON.", $51 db $52, " got 5", $4f db "# BALLs!@@" -; 0x9506d + 133 bytes _OaksLabGivePokeballsText2: ; 950f2 (25:50f2) db $0, $51 @@ -125339,7 +129229,6 @@ _OaksLabGivePokeballsText2: ; 950f2 (25:50f2) db "A healthy #MON", $4f db "could escape. You", $55 db "have to be lucky!", $57 -; 0x950f2 + 172 bytes _OaksLabPleaseVisitText: ; 9519e (25:519e) db $0, "OAK: Come see me", $4f @@ -125347,7 +129236,6 @@ _OaksLabPleaseVisitText: ; 9519e (25:519e) db "I want to know how", $4f db "your #DEX is", $55 db "coming along.", $57 -; 0x9519e + 75 bytes _UnnamedText_1d31d: ; 951e9 (25:51e9) db $0, "OAK: Good to see ", $4f @@ -125355,13 +129243,11 @@ _UnnamedText_1d31d: ; 951e9 (25:51e9) db "#DEX coming? ", $55 db "Here, let me take", $55 db "a look!", $58 -; 0x951e9 + 77 bytes _UnnamedText_1d32c: ; 95236 (25:5236) db $0, "It's encyclopedia-", $4f db "like, but the", $55 db "pages are blank!", $57 -; 0x95236 + 50 bytes _OaksLabText8: ; 95268 (25:5268) db $0, "?", $57 @@ -125373,13 +129259,11 @@ _UnnamedText_1d340: ; 9526b (25:526b) db "Many #MON", $4f db "trainers hold him", $55 db "in high regard!", $57 -; 0x9526b + 80 bytes _OaksLabRivalWaitingText: ; 952bb (25:52bb) db $0, $53, ": Gramps!", $4f db "I'm fed up with", $55 db "waiting!", $57 -; 0x952bb + 36 bytes _OaksLabChooseMonText: ; 952df (25:52df) db $0, "OAK: ", $53, "?", $4f @@ -125400,39 +129284,32 @@ _OaksLabChooseMonText: ; 952df (25:52df) db "have only 3 left,", $55 db "but you can have", $55 db "one! Choose!", $57 -; 0x952df + 253 bytes _OaksLabRivalInterjectionText: ; 953dc (25:53dc) db $0, $53, ": Hey!", $4f db "Gramps! What", $55 db "about me?", $57 -; 0x953dc + 32 bytes _OaksLabBePatientText: ; 953fc (25:53fc) db $0, "OAK: Be patient!", $4f db $53, ", you can", $55 db "have one too!", $57 -; 0x953fc + 43 bytes _OaksLabLeavingText: ; 95427 (25:5427) db $0, "OAK: Hey! Don't go", $4f db "away yet!", $57 -; 0x95427 + 29 bytes _OaksLabRivalPickingMonText: ; 95444 (25:5444) db $0, $53, ": I'll take", $4f db "this one, then!", $57 -; 0x95444 + 29 bytes _OaksLabRivalReceivedMonText: ; 95461 (25:5461) db $0, $53, " received", $4f db "a @" -; 0x95470 UnnamedText_95470: ; 95470 (25:5470) TX_RAM $cd6d db $0, "!@@" -; 0x95470 + 7 bytes _OaksLabRivalChallengeText: ; 95477 (25:5477) db $0, $53, ": Wait", $4f @@ -125441,19 +129318,16 @@ _OaksLabRivalChallengeText: ; 95477 (25:5477) db "our #MON!", $51 db "Come on, I'll take", $4f db "you on!", $57 -; 0x95477 + 63 bytes _UnnamedText_1d3be: ; 954b6 (25:54b6) db $0, "WHAT?", $4f db "Unbelievable!", $55 db "I picked the", $55 db "wrong #MON!", $58 -; 0x954b6 + 46 bytes _UnnamedText_1d3c3: ; 954e4 (25:54e4) db $0, $53, ": Yeah! Am", $4f db "I great or what?", $58 -; 0x954e4 + 30 bytes _OaksLabRivalToughenUpText: ; 95502 (25:5502) db $0, $53, ": Okay!", $4f @@ -125462,22 +129336,18 @@ _OaksLabRivalToughenUpText: ; 95502 (25:5502) db "toughen it up!", $51 db $52, "! Gramps!", $4f db "Smell you later!", $57 -; 0x95502 + 79 bytes _OaksLabText21: ; 95551 (25:5551) db $0, $53, ": Gramps!", $57 -; 0x95551 + 12 bytes _OaksLabText22: ; 9555d (25:555d) db $0, $53, ": What did", $4f db "you call me for?", $57 -; 0x9555d + 30 bytes _OaksLabText23: ; 9557b (25:557b) db $0, "OAK: Oh right! I", $4f db "have a request", $55 db "of you two.", $57 -; 0x9557b + 45 bytes _OaksLabText24: ; 955a8 (25:55a8) db $0, "On the desk there", $4f @@ -125489,7 +129359,6 @@ _OaksLabText24: ; 955a8 (25:55a8) db "seen or caught!", $51 db "It's a hi-tech", $4f db "encyclopedia!", $57 -; 0x955a8 + 130 bytes _OaksLabText25: ; 9562a (25:562a) db $0, "OAK: ", $52, " and", $4f @@ -125497,7 +129366,6 @@ _OaksLabText25: ; 9562a (25:562a) db "these with you!", $51 db $52, " got", $4f db "#DEX from OAK!@@" -; 0x9562a + 58 bytes _OaksLabText26: ; 95664 (25:5664) db $0, "To make a complete", $4f @@ -125515,7 +129383,6 @@ _OaksLabText26: ; 95664 (25:5664) db "This is a great", $4f db "undertaking in", $55 db "#MON history!", $57 -; 0x95664 + 221 bytes _OaksLabText27: ; 95741 (25:5741) db $0, $53, ": Alright", $4f @@ -125530,65 +129397,55 @@ _OaksLabText27: ; 95741 (25:5741) db "I'll tell her not", $4f db "to lend you one,", $55 db $52, "! Hahaha!", $57 -; 0x95741 + 170 bytes _UnnamedText_1d405: ; 957eb (25:57eb) db $0, "I study #MON as", $4f db "PROF.OAK's AIDE.", $57 -; 0x957eb + 33 bytes _UnnamedText_441cc: ; 9580c (25:580c) db $0, "#DEX comp-", $4f db "letion is:", $51 db "@" -; 0x9580c + 24 bytes UnnamedText_95824: ; 95824 (25:5824) TX_NUM $ffdb, 1, 3 db $0, " #MON seen", $4f db "@" -; 0x95835 UnnamedText_95835: ; 95835 (25:5835) TX_NUM $ffdc, 1, 3 db $0, " #MON owned", $51 db "PROF.OAK's", $4f db "Rating:", $58 -; 0x95858 _UnnamedText_44201: ; 95858 (25:5858) db $0, "You still have", $4f db "lots to do.", $55 db "Look for #MON", $55 db "in grassy areas!", $57 -; 0x95858 + 59 bytes _UnnamedText_44206: ; 95893 (25:5893) db $0, "You're on the", $4f db "right track! ", $55 db "Get a FLASH HM", $55 db "from my AIDE!", $57 -; 0x95893 + 57 bytes _UnnamedText_4420b: ; 958cc (25:58cc) db $0, "You still need", $4f db "more #MON!", $55 db "Try to catch", $55 db "other species!", $57 -; 0x958cc + 55 bytes _UnnamedText_44210: ; 95903 (25:5903) db $0, "Good, you're", $4f db "trying hard!", $55 db "Get an ITEMFINDER", $55 db "from my AIDE!", $57 -; 0x95903 + 58 bytes _UnnamedText_44215: ; 9593d (25:593d) db $0, "Looking good!", $4f db "Go find my AIDE", $55 db "when you get 50!", $57 -; 0x9593d + 48 bytes _UnnamedText_4421a: ; 9596d (25:596d) db $0, "You finally got at", $4f @@ -125596,68 +129453,57 @@ _UnnamedText_4421a: ; 9596d (25:596d) db "Be sure to get", $55 db "EXP.ALL from my", $55 db "AIDE!", $57 -; 0x9596d + 75 bytes _UnnamedText_4421f: ; 959b8 (25:59b8) db $0, "Ho! This is geting", $4f db "even better!", $57 -; 0x959b8 + 33 bytes _UnnamedText_44224: ; 959d9 (25:59d9) db $0, "Very good!", $4f db "Go fish for some", $55 db "marine #MON!", $57 -; 0x959d9 + 42 bytes _UnnamedText_44229: ; 95a03 (25:5a03) db $0, "Wonderful!", $4f db "Do you like to", $55 db "collect things?", $57 -; 0x95a03 + 43 bytes _UnnamedText_4422e: ; 95a2e (25:5a2e) db $0, "I'm impressed!", $4f db "It must have been", $55 db "difficult to do!", $57 -; 0x95a2e + 50 bytes _UnnamedText_44233: ; 95a60 (25:5a60) db $0, "You finally got at", $4f db "least 100 species!", $55 db "I can't believe", $55 db "how good you are!", $57 -; 0x95a60 + 72 bytes _UnnamedText_44238: ; 95aa8 (25:5aa8) db $0, "You even have the", $4f db "evolved forms of", $55 db "#MON! Super!", $57 -; 0x95aa8 + 49 bytes _UnnamedText_4423d: ; 95ad9 (25:5ad9) db $0, "Excellent! Trade", $4f db "with friends to", $55 db "get some more!", $57 -; 0x95ad9 + 49 bytes _UnnamedText_44242: ; 95b0a (25:5b0a) db $0, "Outstanding!", $4f db "You've become a", $55 db "real pro at this!", $57 -; 0x95b0a + 47 bytes _UnnamedText_44247: ; 95b39 (25:5b39) db $0, "I have nothing", $4f db "left to say!", $55 db "You're the", $55 db "authority now!", $57 -; 0x95b39 + 54 bytes _UnnamedText_4424c: ; 95b6f (25:5b6f) db $0, "Your #DEX is", $4f db "entirely complete!", $55 db "Congratulations!", $57 -; 0x95b6f + 50 bytes _ViridianPokeCenterText2: ; 95ba1 (25:5ba1) _ViridianPokeCenterText1: ; 95ba1 (25:5ba1) @@ -125680,7 +129526,6 @@ _ViridianMartText1: ; 95c36 (25:5c36) _ViridianMartText4: ; 95c58 (25:5c58) db $0, "Hey! You came from", $4f db "PALLET TOWN?", $57 -; 0x95c58 + 33 bytes ViridianMartParcelQuestText: ; 95c79 (25:5c79) db $0, "You know PROF.", $4f @@ -125690,7 +129535,6 @@ ViridianMartParcelQuestText: ; 95c79 (25:5c79) db "to him?", $51 db $52, " got", $4f db "OAK's PARCEL!@@" -; 0x95c79 + 92 bytes _ViridianMartText2: ; 95cd5 (25:5cd5) db $0, "This shop sells", $4f @@ -125725,7 +129569,6 @@ _ViridianHouseText2: ; 95dc7 (25:5dc7) _UnnamedText_1d5b1: ; 95de1 (25:5de1) db $0, "SPEARY: Tetweet!", $57 -; 0x95de1 + 18 bytes _ViridianHouseText4: ; 95df3 (25:5df3) db $0, "SPEAROW", $4f @@ -125746,7 +129589,6 @@ _UnnamedText_74ace: ; 95e09 (25:5e09) db "shall face", $55 db "GIOVANNI, the", $55 db "greatest trainer!", $57 -; 0x95e09 + 204 bytes _UnnamedText_74ad3: ; 95ed5 (25:5ed5) db $0, "Ha!", $4f @@ -125755,7 +129597,6 @@ _UnnamedText_74ad3: ; 95ed5 (25:5ed5) db "You have won!", $55 db "As proof, here is", $55 db "the EARTHBADGE!@@" -; 0x95ed5 + 85 bytes _UnnamedText_74ad9: ; 95f2b (25:5f2b) db $0, "Having lost, I", $4f @@ -125769,7 +129610,6 @@ _UnnamedText_74ad9: ; 95f2b (25:5f2b) db "Let us meet again", $4f db "some day!", $55 db "Farewell!@@" -; 0x95f2b + 160 bytes _ViridianGymText12: ; 95fcc (25:5fcc) db $0, "The EARTHBADGE", $4f @@ -125784,12 +129624,10 @@ _ViridianGymText12: ; 95fcc (25:5fcc) db "It is my gift for", $4f db "your #MON", $55 db "LEAGUE challenge!", $57 -; 0x95fcc + 182 bytes _ReceivedTM27Text: ; 96082 (25:6082) db $0, $52, " received", $4f db "TM27!@@" -; 0x96082 + 19 bytes _TM27ExplanationText: ; 96095 (25:6095) db $0, $51 @@ -125800,143 +129638,117 @@ _TM27ExplanationText: ; 96095 (25:6095) db "I made it when I", $4f db "ran the GYM here,", $55 db "too long ago...", $57 -; 0x96095 + 111 bytes _TM27NoRoomText: ; 96104 (25:6104) db $0, "You do not have", $4f db "space for this!", $57 -; 0x96104 + 33 bytes _ViridianGymBattleText1: ; 96125 (25:6125) db $0, "Heh! You must be", $4f db "running out of", $55 db "steam by now!", $57 -; 0x96125 + 47 bytes _ViridianGymEndBattleText1: ; 96154 (25:6154) db $0, "I", $4f db "ran out of gas!", $58 -; 0x96154 + 19 bytes _ViridianGymAfterBattleText1: ; 96167 (25:6167) db $0, "You need power to", $4f db "keep up with our", $55 db "GYM LEADER!", $57 -; 0x96167 + 48 bytes _ViridianGymBattleText2: ; 96197 (25:6197) db $0, "Rrrroar! I'm", $4f db "working myself", $55 db "into a rage!", $57 -; 0x96197 + 41 bytes _ViridianGymEndBattleText2: ; 961c0 (25:61c0) db $0, "Wargh!", $58 -; 0x961c0 + 8 bytes _ViridianGymAfterBattleText2: ; 961c8 (25:61c8) db $0, "I'm still not", $4f db "worthy!", $57 -; 0x961c8 + 22 bytes _ViridianGymBattleText3: ; 961de (25:61de) db $0, "#MON and I, we", $4f db "make wonderful", $55 db "music together!", $57 -; 0x961de + 47 bytes _ViridianGymEndBattleText3: ; 9620d (25:620d) db $0, "You are in", $4f db "perfect harmony!", $58 -; 0x9620d + 29 bytes _ViridianGymAfterBattleText3: ; 9622a (25:622a) db $0, "Do you know the", $4f db "identity of our", $55 db "GYM LEADER?", $57 -; 0x9622a + 45 bytes _ViridianGymBattleText4: ; 96257 (25:6257) db $0, "Karate is the", $4f db "ultimate form of", $55 db "martial arts!", $57 -; 0x96257 + 46 bytes _ViridianGymEndBattleText4: ; 96285 (25:6285) db $0, "Atcho!", $58 -; 0x96285 + 8 bytes _ViridianGymAfterBattleText4: ; 9628d (25:628d) db $0, "If my #MON", $4f db "were as good at", $55 db "Karate as I...", $57 -; 0x9628d + 43 bytes _ViridianGymBattleText5: ; 962b8 (25:62b8) db $0, "The truly talented", $4f db "win with style!", $57 -; 0x962b8 + 36 bytes _ViridianGymEndBattleText5: ; 962dc (25:62dc) db $0, "I", $4f db "lost my grip!", $58 -; 0x962dc + 17 bytes _ViridianGymAfterBattleText5: ; 962ed (25:62ed) db $0, "The LEADER will", $4f db "scold me!", $57 -; 0x962ed + 27 bytes _ViridianGymBattleText6: ; 96308 (25:6308) db $0, "I'm the KARATE", $4f db "KING! Your fate", $55 db "rests with me!", $57 -; 0x96308 + 46 bytes _ViridianGymEndBattleText6: ; 96336 (25:6336) db $0, "Ayah!", $58 -; 0x96336 + 7 bytes _ViridianGymAfterBattleText6: ; 9633d (25:633d) db $0, "#MON LEAGUE?", $4f db "You? Don't get", $55 db "cocky!", $57 -; 0x9633d + 35 bytes _ViridianGymBattleText7: ; 96360 (25:6360) db $0, "Your #MON will", $4f db "cower at the", $55 db "crack of my whip!", $57 -; 0x96360 + 47 bytes _ViridianGymEndBattleText7: ; 9638f (25:638f) db $0, "Yowch!", $4f db "Whiplash!", $58 -; 0x9638f + 18 bytes _ViridianGymAfterBattleText7: ; 963a1 (25:63a1) db $0, "Wait! I was just", $4f db "careless!", $57 -; 0x963a1 + 28 bytes _ViridianGymBattleText8: ; 963bd (25:63bd) db $0, "VIRIDIAN GYM was", $4f db "closed for a long", $55 db "time, but now our", $55 db "LEADER is back!", $57 -; 0x963bd + 70 bytes _ViridianGymEndBattleText8: ; 96403 (25:6403) db $0, "I", $4f db "was beaten?", $58 -; 0x96403 + 15 bytes _ViridianGymAfterBattleText8: ; 96412 (25:6412) db $0, "You can go onto", $4f db "#MON LEAGUE", $55 db "only by defeating", $55 db "our GYM LEADER!", $57 -; 0x96412 + 63 bytes _UnnamedText_74bd4: ; 96451 (25:6451) db $0, "Yo! Champ in", $4f @@ -125951,34 +129763,28 @@ _UnnamedText_74bd4: ; 96451 (25:6451) db "trainers here", $55 db "like ground-type", $55 db "#MON!", $57 -; 0x96451 + 170 bytes _UnnamedText_74bd9: ; 964fb (25:64fb) db $0, "Blow me away!", $4f db "GIOVANNI was the", $55 db "GYM LEADER here?", $57 -; 0x964fb + 49 bytes _UnnamedText_5c21a: ; 9652c (25:652c) db $0, "Come again!", $57 -; 0x9652c + 13 bytes _UnnamedText_5c21f: ; 96539 (25:6539) db $0, "It's ¥50 for a", $4f db "child's ticket.", $51 db "Would you like to", $4f db "come in?", $57 -; 0x96539 + 57 bytes _UnnamedText_5c224: ; 96572 (25:6572) db $0, "Right, ¥50!", $4f db "Thank you!", $57 -; 0x96572 + 24 bytes _UnnamedText_5c229: ; 9658a (25:658a) db $0, "You don't have", $4f db "enough money.", $58 -; 0x9658a + 29 bytes _UnnamedText_5c22e: ; 965a7 (25:65a7) db $0, "You can't sneak", $4f @@ -125986,7 +129792,6 @@ _UnnamedText_5c22e: ; 965a7 (25:65a7) db "Oh, whatever!", $4f db "Do you know what", $55 db "AMBER is?", $57 -; 0x965a7 + 74 bytes _UnnamedText_5c233: ; 965f1 (25:65f1) db $0, "There's a lab", $4f @@ -125994,28 +129799,23 @@ _UnnamedText_5c233: ; 965f1 (25:65f1) db "to resurrect", $55 db "ancient #MON", $55 db "from AMBER.", $57 -; 0x965f1 + 69 bytes _UnnamedText_5c238: ; 96636 (25:6636) db $0, "AMBER is fossil-", $4f db "ized tree sap.", $57 -; 0x96636 + 33 bytes _UnnamedText_5c23d: ; 96657 (25:6657) db $0, "Please go to the", $4f db "other side!", $57 -; 0x96657 + 30 bytes _UnnamedText_5c242: ; 96675 (25:6675) db $0, "Take plenty of", $4f db "time to look!", $57 -; 0x96675 + 30 bytes _UnnamedText_5c251: ; 96693 (25:6693) db $0, "That is one", $4f db "magnificent", $55 db "fossil!", $57 -; 0x96693 + 33 bytes _UnnamedText_5c28e: ; 966b4 (25:66b4) db $0, "Ssh! I think that", $4f @@ -126033,34 +129833,28 @@ _UnnamedText_5c28e: ; 966b4 (25:66b4) db "Take this to a", $4f db "#MON LAB and", $55 db "get it examined!", $58 -; 0x966b4 + 220 bytes _ReceivedOldAmberText: ; 96790 (25:6790) db $0, $52, " received", $4f db "OLD AMBER!@@" -; 0x96790 + 24 bytes _UnnamedText_5c299: ; 967a8 (25:67a8) db $0, "Ssh! Get the OLD", $4f db "AMBER checked!", $57 -; 0x967a8 + 33 bytes _UnnamedText_5c29e: ; 967c9 (25:67c9) db $0, "You don't have", $4f db "space for this!", $57 -; 0x967c9 + 31 bytes _UnnamedText_5c2ad: ; 967e8 (25:67e8) db $0, "We are proud of 2", $4f db "fossils of very", $55 db "rare, prehistoric", $55 db "#MON!", $57 -; 0x967e8 + 59 bytes _UnnamedText_5c2bc: ; 96823 (25:6823) db $0, "The AMBER is", $4f db "clear and gold!", $57 -; 0x96823 + 30 bytes _MuseumF2Text1: ; 96841 (25:6841) db $0, "MOON STONE?", $51 @@ -126111,7 +129905,6 @@ _UnnamedText_5c49e: ; 9697a (25:697a) db "to challenge me?", $55 db "Fine then! Show", $55 db "me your best!", $57 -; 0x9697a + 190 bytes SECTION "bank26",ROMX,BANK[$26] @@ -126125,17 +129918,14 @@ _UnnamedText_5c4a3: ; 98000 (26:4000) db "Go to the GYM in", $4f db "CERULEAN and test", $55 db "your abilities!", $57 -; 0x98000 + 146 bytes _TM34PreReceiveText: ; 98092 (26:4092) db $0, "Wait! Take this", $4f db "with you!", $57 -; 0x98092 + 27 bytes _ReceivedTM34Text: ; 980ad (26:40ad) db $0, $52, " received", $4f db "TM34!@@" -; 0x980c0 _TM34ExplanationText: ; 980c0 (26:40c0) db $0, $51 @@ -126155,12 +129945,10 @@ _TM34ExplanationText: ; 980c0 (26:40c0) db "absorb damage in", $55 db "battle then pay", $55 db "it back double!", $57 -; 0x980c0 + 235 bytes _TM34NoRoomText: ; 981ab (26:41ab) db $0, "You don't have", $4f db "room for this!", $57 -; 0x981ab + 30 bytes _UnnamedText_5c4bc: ; 981c9 (26:41c9) db $0, "I took", $4f @@ -126170,7 +129958,6 @@ _UnnamedText_5c4bc: ; 981c9 (26:41c9) db "the BOULDERBADGE!", $51 db $52, " received", $4f db "the BOULDERBADGE!@@" -; 0x98232 _UnnamedText_5c4c1: ; 98232 (26:4232) db $0, $51 @@ -126183,7 +129970,6 @@ _UnnamedText_5c4c1: ; 98232 (26:4232) db "The technique", $4f db "FLASH can now be", $55 db "used any time!", $58 -; 0x98232 + 124 bytes _PewterGymBattleText1: ; 982ae (26:42ae) db $0, "Stop right there,", $4f @@ -126191,20 +129977,17 @@ _PewterGymBattleText1: ; 982ae (26:42ae) db "You're still light", $4f db "years from facing", $55 db "BROCK!", $57 -; 0x982ae + 67 bytes _PewterGymEndBattleText1: ; 982f1 (26:42f1) db $0, "Darn!", $51 db "Light years isn't", $4f db "time! It measures", $55 db "distance!", $58 -; 0x982f1 + 52 bytes _PewterGymAfterBattleText1: ; 98325 (26:4325) db $0, "You're pretty hot,", $4f db "but not as hot", $55 db "as BROCK!", $57 -; 0x98325 + 44 bytes _UnnamedText_5c515: ; 98351 (26:4351) db $0, "Hiya! I can tell", $4f @@ -126216,12 +129999,10 @@ _UnnamedText_5c515: ; 98351 (26:4351) db "you how to win!", $51 db "Let me take you", $4f db "to the top!", $57 -; 0x98351 + 139 bytes _UnnamedText_5c51a: ; 983dc (26:43dc) db $0, "All right! Let's", $4f db "get happening!", $58 -; 0x983dc + 32 bytes _UnnamedText_5c51f: ; 983fc (26:43fc) db $0, "The 1st #MON", $4f @@ -126232,19 +130013,16 @@ _UnnamedText_5c51f: ; 983fc (26:43fc) db "order of #MON,", $55 db "matches could be", $55 db "made easier!", $57 -; 0x983fc + 122 bytes _UnnamedText_5c524: ; 98476 (26:4476) db $0, "It's a free", $4f db "service! Let's", $55 db "get happening!", $58 -; 0x98476 + 41 bytes _UnnamedText_5c529: ; 9849f (26:449f) db $0, "Just as I thought!", $4f db "You're #MON", $55 db "champ material!", $57 -; 0x9849f + 47 bytes _PewterHouse1Text1: ; 984ce (26:44ce) db $0, "NIDORAN: Bowbow!@@" @@ -126273,7 +130051,6 @@ _UnnamedText_74cc6: ; 985ac (26:45ac) db "fish #MON!", $51 db "It's totally weak", $4f db "and it cost ¥500!", $57 -; 0x985ac + 96 bytes _UnnamedText_74cd5: ; 9860c (26:460c) db $0, "Good things can", $4f @@ -126281,7 +130058,6 @@ _UnnamedText_74cd5: ; 9860c (26:460c) db "raise #MON", $55 db "diligently, even", $55 db "the weak ones!", $57 -; 0x9860c + 74 bytes _PewterHouse2Text1: ; 98656 (26:4656) db $0, "#MON learn new", $4f @@ -126309,7 +130085,6 @@ _PewterPokecenterText1: ; 98704 (26:4704) _PewterPokecenterText5: ; 98744 (26:4744) db $0, "JIGGLYPUFF: Puu", $4f db "pupuu!", $57 -; 0x9875c _UnnamedText_1d6ab: ; 9875c (26:475c) db $0, "Those miserable", $4f @@ -126322,7 +130097,6 @@ _UnnamedText_1d6ab: ; 9875c (26:475c) db "DIG holes!", $51 db "That cost me a", $4f db "bundle, it did!", $57 -; 0x9875c + 134 bytes _UnnamedText_1d6b0: ; 987e2 (26:47e2) db $0, "I figure what's", $4f @@ -126330,7 +130104,6 @@ _UnnamedText_1d6b0: ; 987e2 (26:47e2) db "I decided to teach", $4f db "DIGLETT how to", $55 db "DIG without a TM!", $57 -; 0x987e2 + 82 bytes _CeruleanHouseTrashedText2: ; 98834 (26:4834) db $0, "TEAM ROCKET must", $4f @@ -126383,14 +130156,12 @@ _UnnamedText_5c7be: ; 989c1 (26:49c1) db "all-out offensive", $55 db "with water-type", $55 db "#MON!", $57 -; 0x989c1 + 186 bytes _UnnamedText_5c7c3: ; 98a7b (26:4a7b) db $0, "TM11 teaches", $4f db "BUBBLEBEAM!", $51 db "Use it on an", $4f db "aquatic #MON!", $57 -; 0x98a7b + 53 bytes _UnnamedText_5c7c8: ; 98ab0 (26:4ab0) db $0, "The CASCADEBADGE", $4f @@ -126406,17 +130177,14 @@ _UnnamedText_5c7c8: ; 98ab0 (26:4ab0) db "open new paths!", $51 db "You can also have", $4f db "my favorite TM!", $57 -; 0x98ab0 + 205 bytes _ReceivedTM11Text: ; 98b7d (26:4b7d) db $0, $52, " received", $4f db "TM11!@@" -; 0x98b90 _UnnamedText_5c7d3: ; 98b90 (26:4b90) db $0, "You better make", $4f db "room for this!", $57 -; 0x98b90 + 32 bytes _UnnamedText_5c7d8: ; 98bb0 (26:4bb0) db $0, "Wow!", $4f @@ -126425,43 +130193,36 @@ _UnnamedText_5c7d8: ; 98bb0 (26:4bb0) db "You can have the", $4f db "CASCADEBADGE to", $55 db "show you beat me!@@" -; 0x98c05 _CeruleanGymBattleText1: ; 98c05 (26:4c05) db $0, "I'm more than good", $4f db "enough for you!", $51 db "MISTY can wait!", $57 -; 0x98c05 + 51 bytes _CeruleanGymEndBattleText1: ; 98c38 (26:4c38) db $0, "You", $4f db "overwhelmed me!", $58 -; 0x98c38 + 21 bytes _CeruleanGymAfterBattleText1: ; 98c4d (26:4c4d) db $0, "You have to face", $4f db "other trainers to", $55 db "find out how good", $55 db "you really are.", $57 -; 0x98c4d + 70 bytes _CeruleanGymBattleText2: ; 98c93 (26:4c93) db $0, "Splash!", $51 db "I'm first up!", $4f db "Let's do it!", $57 -; 0x98c93 + 34 bytes _CeruleanGymEndBattleText2: ; 98cb5 (26:4cb5) db $0, "That", $4f db "can't be!", $58 -; 0x98cb5 + 15 bytes _CeruleanGymAfterBattleText2: ; 98cc4 (26:4cc4) db $0, "MISTY is going to", $4f db "keep improving!", $51 db "She won't lose to", $4f db "someone like you!", $57 -; 0x98cc4 + 70 bytes _UnnamedText_5c82a: ; 98d0a (26:4d0a) db $0, "Yo! Champ in", $4f @@ -126475,7 +130236,6 @@ _UnnamedText_5c82a: ; 98d0a (26:4d0a) db "plant #MON!", $51 db "Or, zap them with", $4f db "electricity!", $57 -; 0x98d0a + 166 bytes _UnnamedText_5c82f: ; 98db0 (26:4db0) db $0, "You beat MISTY!", $4f @@ -126483,41 +130243,34 @@ _UnnamedText_5c82f: ; 98db0 (26:4db0) db "You and me kid,", $4f db "we make a pretty", $55 db "darn good team!", $57 -; 0x98db0 + 83 bytes _UnnamedText_1d810: ; 98e03 (26:4e03) db $0, "Hi! Welcome to", $4f db "our BIKE SHOP.", $51 db "Have we got just", $4f db "the BIKE for you!", $58 -; 0x98e03 + 66 bytes _UnnamedText_1d815: ; 98e45 (26:4e45) db $0, "It's a cool BIKE!", $4f db "Do you want it?", $57 -; 0x98e45 + 34 bytes _UnnamedText_1d81a: ; 98e67 (26:4e67) db $0, "Sorry! You can't", $4f db "afford it!", $58 -; 0x98e67 + 28 bytes _UnnamedText_1d81f: ; 98e83 (26:4e83) db $0, "Oh, that's...", $51 db "A BIKE VOUCHER!", $51 db "OK! Here you go!", $58 -; 0x98e83 + 47 bytes _UnnamedText_1d824: ; 98eb2 (26:4eb2) db $0, $52, " exchanged", $4f db "the BIKE VOUCHER", $55 db "for a BICYCLE.@@" -; 0x98ee0 _UnnamedText_1d82a: ; 98ee0 (26:4ee0) db $0, "Come back again", $4f db "some time!", $57 -; 0x98ee0 + 28 bytes _UnnamedText_1d82f: ; 98efc (26:4efc) db $0, "How do you like", $4f @@ -126525,12 +130278,10 @@ _UnnamedText_1d82f: ; 98efc (26:4efc) db "You can take it", $4f db "on CYCLING ROAD", $55 db "and in caves!", $57 -; 0x98efc + 81 bytes _UnnamedText_1d834: ; 98f4d (26:4f4d) db $0, "You better make", $4f db "room for this!", $57 -; 0x98f4d + 32 bytes _UnnamedText_1d843: ; 98f6d (26:4f6d) db $0, "A plain city BIKE", $4f @@ -126539,18 +130290,15 @@ _UnnamedText_1d843: ; 98f6d (26:4f6d) db "You can't put a", $4f db "shopping basket", $55 db "on an MTB!", $57 -; 0x98f6d + 84 bytes _UnnamedText_1d85c: ; 98fc1 (26:4fc1) db $0, "These BIKEs are", $4f db "cool, but they're", $55 db "way expensive!", $57 -; 0x98fc1 + 49 bytes _UnnamedText_1d861: ; 98ff2 (26:4ff2) db $0, "Wow. Your BIKE is", $4f db "really cool!", $57 -; 0x98ff2 + 32 bytes _CeruleanMartText2: ; 99012 (26:5012) db $0, "Use REPEL to keep", $4f @@ -126576,19 +130324,16 @@ _UnnamedText_74e77: ; 990c9 (26:50c9) db "at least one.", $51 db "Those BADGEs have", $4f db "amazing secrets!", $58 -; 0x990c9 + 113 bytes _UnnamedText_74e7c: ; 9913a (26:513a) db $0, "Now then...", $51 db "Which of the 8", $4f db "BADGEs should I", $55 db "describe?", $57 -; 0x9913a + 54 bytes _UnnamedText_74e81: ; 99170 (26:5170) db $0, "Come visit me any", $4f db "time you wish.", $57 -; 0x99170 + 34 bytes _UnnamedText_74e96: ; 99192 (26:5192) db $0, "The ATTACK of all", $4f @@ -126597,7 +130342,6 @@ _UnnamedText_74e96: ; 99192 (26:5192) db "It also lets you", $4f db "use FLASH any", $55 db "time you desire.", $58 -; 0x99192 + 96 bytes _UnnamedText_74e9b: ; 991f2 (26:51f2) db $0, "#MON up to L30", $4f @@ -126607,7 +130351,6 @@ _UnnamedText_74e9b: ; 991f2 (26:51f2) db "It also lets you", $4f db "use CUT outside", $55 db "of battle.", $58 -; 0x991f2 + 107 bytes _UnnamedText_74ea0: ; 9925d (26:525d) db $0, "The SPEED of all", $4f @@ -126616,7 +130359,6 @@ _UnnamedText_74ea0: ; 9925d (26:525d) db "It also lets you", $4f db "use FLY outside", $55 db "of battle.", $58 -; 0x9925d + 91 bytes _UnnamedText_74ea5: ; 992b8 (26:52b8) db $0, "#MON up to L50", $4f @@ -126626,7 +130368,6 @@ _UnnamedText_74ea5: ; 992b8 (26:52b8) db "It also lets you", $4f db "use STRENGTH out-", $55 db "side of battle.", $58 -; 0x992b8 + 114 bytes _UnnamedText_74eaa: ; 9932a (26:532a) db $0, "The DEFENSE of all", $4f @@ -126635,25 +130376,21 @@ _UnnamedText_74eaa: ; 9932a (26:532a) db "It also lets you", $4f db "use SURF outside", $55 db "of battle.", $58 -; 0x9932a + 94 bytes _UnnamedText_74eaf: ; 99388 (26:5388) db $0, "#MON up to L70", $4f db "will obey you.", $51 db "Any higher, they", $4f db "become unruly!", $58 -; 0x99388 + 63 bytes _UnnamedText_74eb4: ; 993c7 (26:53c7) db $0, "Your #MON's", $4f db "SPECIAL abilities", $55 db "increase a bit.", $58 -; 0x993c7 + 46 bytes _UnnamedText_74eb9: ; 993f5 (26:53f5) db $0, "All #MON will", $4f db "obey you!", $58 -; 0x993f5 + 25 bytes _LavenderPokecenterText4: ; 9940e (26:540e) _LavenderPokecenterText2: ; 9940e (26:540e) @@ -126703,14 +130440,12 @@ _UnnamedText_6062d: ; 9957b (26:557b) db "I can at least", $4f db "make them faint!", $55 db "Let's go, pal!", $57 -; 0x9957b + 106 bytes _UnnamedText_60632: ; 995e5 (26:55e5) db $0, "What?", $4f db "You stinker!", $51 db "I took it easy on", $4f db "you too!", $58 -; 0x995e5 + 47 bytes _UnnamedText_60637: ; 99614 (26:5614) db $0, $53, ": Well,", $4f @@ -126718,7 +130453,6 @@ _UnnamedText_60637: ; 99614 (26:5614) db "wimpy #MON!", $51 db "Toughen them up a", $4f db "bit more!", $58 -; 0x99614 + 67 bytes _UnnamedText_6063c: ; 99657 (26:5657) db $0, "How's your #DEX", $4f @@ -126734,7 +130468,6 @@ _UnnamedText_6063c: ; 99657 (26:5657) db "I've got a lot to", $55 db "accomplish, pal!", $51 db "Smell ya later!", $57 -; 0x99657 + 195 bytes _PokemonTower2Text2: ; 9971a (26:571a) db $0, "Even we could not", $4f @@ -126747,94 +130480,76 @@ _PokemonTower2Text2: ; 9971a (26:571a) _PokemonTower3BattleText1: ; 99776 (26:5776) db $0, "Urrg...Awaa...", $4f db "Huhu...graa..", $57 -; 0x99776 + 30 bytes _PokemonTower3EndBattleText1: ; 99794 (26:5794) db $0, "Hwa!", $4f db "I'm saved!", $58 -; 0x99794 + 16 bytes _PokemonTower3AfterBattleText1: ; 997a4 (26:57a4) db $0, "The GHOSTs can be", $4f db "identified by the", $55 db "SILPH SCOPE.", $57 -; 0x997a4 + 50 bytes _PokemonTower3BattleText2: ; 997d6 (26:57d6) db $0, "Kekeke....", $4f db "Kwaaah!", $57 -; 0x997d6 + 20 bytes _PokemonTower3EndBattleText2: ; 997ea (26:57ea) db $0, "Hmm?", $4f db "What am I doing?", $58 -; 0x997ea + 23 bytes _PokemonTower3AfterBattleText2: ; 99801 (26:5801) db $0, "Sorry! I was", $4f db "possessed!", $57 -; 0x99801 + 25 bytes _PokemonTower3BattleText3: ; 9981a (26:581a) db $0, "Be gone!", $4f db "Evil spirit!", $57 -; 0x9981a + 23 bytes _PokemonTower3EndBattleText3: ; 99831 (26:5831) db $0, "Whew!", $4f db "The spirit left!", $58 -; 0x99831 + 24 bytes _PokemonTower3AfterBattleText3: ; 99849 (26:5849) db $0, "My friends were", $4f db "possessed too!", $57 -; 0x99849 + 32 bytes _PokemonTower4BattleText1: ; 99869 (26:5869) db $0, "GHOST! No!", $4f db "Kwaaah!", $57 -; 0x99869 + 20 bytes _PokemonTower4EndBattleText1: ; 9987d (26:587d) db $0, "Where", $4f db "is the GHOST?", $58 -; 0x9987d + 21 bytes _PokemonTower4AfterBattleText1: ; 99892 (26:5892) db $0, "I must have been", $4f db "dreaming...", $57 -; 0x99892 + 30 bytes _PokemonTower4BattleText2: ; 998b0 (26:58b0) db $0, "Be cursed with", $4f db "me! Kwaaah!", $57 -; 0x998b0 + 28 bytes _PokemonTower4EndBattleText2: ; 998cc (26:58cc) db $0, "What!", $58 -; 0x998cc + 7 bytes _PokemonTower4AfterBattleText2: ; 998d3 (26:58d3) db $0, "We can't crack", $4f db "the identity of", $55 db "the GHOSTs.", $57 -; 0x998d3 + 43 bytes _PokemonTower4BattleText3: ; 998fe (26:58fe) db $0, "Huhuhu...", $4f db "Beat me not!", $57 -; 0x998fe + 24 bytes _PokemonTower4EndBattleText3: ; 99916 (26:5916) db $0, "Huh?", $4f db "Who? What?", $58 -; 0x99916 + 17 bytes _PokemonTower4AfterBattleText3: ; 99927 (26:5927) db $0, "May the departed", $4f db "souls of #MON", $55 db "rest in peace...", $57 -; 0x99927 + 49 bytes _PokemonTower5Text1: ; 99958 (26:5958) db $0, "Come, child! I", $4f @@ -126845,126 +130560,101 @@ _PokemonTower5Text1: ; 99958 (26:5958) _PokemonTower5BattleText1: ; 9999f (26:599f) db $0, "Give...me...", $4f db "your...soul...", $57 -; 0x9999f + 29 bytes _PokemonTower5EndBattleText1: ; 999bc (26:59bc) db $0, "Gasp!", $58 -; 0x999bc + 7 bytes _PokemonTower5AfterBattleText1: ; 999c3 (26:59c3) db $0, "I was under", $4f db "possession!", $57 -; 0x999c3 + 25 bytes _PokemonTower5BattleText2: ; 999dc (26:59dc) db $0, "You...shall...", $4f db "join...us...", $57 -; 0x999dc + 29 bytes _PokemonTower5EndBattleText2: ; 999f9 (26:59f9) db $0, "What", $4f db "a nightmare!", $58 -; 0x999f9 + 19 bytes _PokemonTower5AfterBattleText2: ; 99a0c (26:5a0c) db $0, "I was possessed!", $57 -; 0x99a0c + 18 bytes _PokemonTower5BattleText3: ; 99a1e (26:5a1e) db $0, "Zombies!", $57 -; 0x99a1e + 10 bytes _PokemonTower5EndBattleText3: ; 99a28 (26:5a28) db $0, "Ha?", $58 -; 0x99a28 + 5 bytes _PokemonTower5AfterBattleText3: ; 99a2d (26:5a2d) db $0, "I regained my", $4f db "senses!", $57 -; 0x99a2d + 23 bytes _PokemonTower5BattleText4: ; 99a44 (26:5a44) db $0, "Urgah...", $4f db "Urff....", $57 -; 0x99a44 + 19 bytes _PokemonTower5EndBattleText4: ; 99a57 (26:5a57) db $0, "Whoo!", $58 -; 0x99a57 + 7 bytes _PokemonTower5AfterBattleText4: ; 99a5e (26:5a5e) db $0, "I fell to evil", $4f db "spirits despite", $55 db "my training!", $57 -; 0x99a5e + 45 bytes _UnnamedText_60a43: ; 99a8b (26:5a8b) db $0, "Entered purified,", $4f db "protected zone!", $51 db $52, "'s #MON", $4f db "are fully healed!", $57 -; 0x99a8b + 61 bytes _UnnamedText_60c1f: ; 99ac8 (26:5ac8) db $0, "The GHOST was the", $4f db "restless soul of", $55 db "CUBONE's mother!", $57 -; 0x99ac8 + 52 bytes _UnnamedText_60c24: ; 99afc (26:5afc) db $0, "The mother's soul", $4f db "was calmed.", $51 db "It departed to", $4f db "the afterlife!", $57 -; 0x99afc + 60 bytes _PokemonTower6BattleText1: ; 99b38 (26:5b38) db $0, "Give...me...", $4f db "blood...", $57 -; 0x99b38 + 23 bytes _PokemonTower6EndBattleText1: ; 99b4f (26:5b4f) db $0, "Groan!", $58 -; 0x99b4f + 8 bytes _PokemonTower6AfterBattleText1: ; 99b57 (26:5b57) db $0, "I feel anemic and", $4f db "weak...", $57 -; 0x99b57 + 27 bytes _PokemonTower6BattleText2: ; 99b72 (26:5b72) db $0, "Urff... Kwaah!", $57 -; 0x99b72 + 16 bytes _PokemonTower6EndBattleText2: ; 99b82 (26:5b82) db $0, "Some-", $4f db "thing fell out!", $58 -; 0x99b82 + 23 bytes _PokemonTower6AfterBattleText2: ; 99b99 (26:5b99) db $0, "Hair didn't fall", $4f db "out! It was an", $55 db "evil spirit!", $57 -; 0x99b99 + 45 bytes _PokemonTower6BattleText3: ; 99bc6 (26:5bc6) db $0, "Ke..ke...ke...", $4f db "ke..ke...ke!!", $57 -; 0x99bc6 + 30 bytes _PokemonTower6EndBattleText3: ; 99be4 (26:5be4) db $0, "Keee!", $58 -; 0x99be4 + 7 bytes _PokemonTower6AfterBattleText3: ; 99beb (26:5beb) db $0, "What's going on", $4f db "here?", $57 -; 0x99beb + 22 bytes _UnnamedText_60c56: ; 99c01 (26:5c01) db $0, "Be gone...", $4f db "Intruders...", $57 -; 0x99c01 + 25 bytes _UnnamedText_60ec4: ; 99c1a (26:5c1a) db $0, "MR.FUJI: Heh? You", $4f @@ -126985,21 +130675,17 @@ _UnnamedText_60ec4: ; 99c1a (26:5c1a) db "home, #MON", $55 db "HOUSE at the foot", $55 db "of this tower.", $57 -; 0x99c1a + 279 bytes _PokemonTower7BattleText1: ; 99d31 (26:5d31) db $0, "What do you want?", $4f db "Why are you here?", $57 -; 0x99d31 + 37 bytes _PokemonTower7EndBattleText1: ; 99d56 (26:5d56) db $0, "I give up!", $58 -; 0x99d56 + 12 bytes _PokemonTower7AfterBattleText1: ; 99d62 (26:5d62) db $0, "I'm not going to", $4f db "forget this!", $57 -; 0x99d62 + 30 bytes _PokemonTower7BattleText2: ; 99d80 (26:5d80) db $0, "This old guy came", $4f @@ -127008,12 +130694,10 @@ _PokemonTower7BattleText2: ; 99d80 (26:5d80) db "useless #MON!", $51 db "We're talking it", $4f db "over as adults!", $57 -; 0x99d80 + 97 bytes _PokemonTower7EndBattleText2: ; 99de1 (26:5de1) db $0, "Please!", $4f db "No more!", $58 -; 0x99de1 + 18 bytes _PokemonTower7AfterBattleText2: ; 99df3 (26:5df3) db $0, "#MON are only", $4f @@ -127021,34 +130705,28 @@ _PokemonTower7AfterBattleText2: ; 99df3 (26:5df3) db "money!", $51 db "Stay out of our", $4f db "business!", $57 -; 0x99df3 + 64 bytes _PokemonTower7BattleText3: ; 99e33 (26:5e33) db $0, "You're not saving", $4f db "anyone, kid!", $57 -; 0x99e33 + 31 bytes _PokemonTower7EndBattleText3: ; 99e52 (26:5e52) db $0, "Don't", $4f db "fight us ROCKETs!", $58 -; 0x99e52 + 24 bytes _PokemonTower7AfterBattleText3: ; 99e6a (26:5e6a) db $0, "You're not getting", $4f db "away with this!", $57 -; 0x99e6a + 35 bytes _UnnamedText_1d8d1: ; 99e8d (26:5e8d) db $0, "That's odd, MR.FUJI", $4f db "isn't here.", $55 db "Where'd he go?", $57 -; 0x99e8d + 45 bytes _UnnamedText_1d8d6: ; 99eba (26:5eba) db $0, "MR.FUJI had been", $4f db "praying alone for", $55 db "CUBONE's mother.", $57 -; 0x99eba + 52 bytes _UnnamedText_1d8f4: ; 99eee (26:5eee) db $0, "This is really", $4f @@ -127057,13 +130735,11 @@ _UnnamedText_1d8f4: ; 99eee (26:5eee) db "He looks after", $4f db "abandoned and", $55 db "orphaned #MON!", $57 -; 0x99eee + 93 bytes _UnnamedText_1d8f9: ; 99f4b (26:5f4b) db $0, "It's so warm!", $4f db "#MON are so", $55 db "nice to hug!", $57 -; 0x99f4b + 39 bytes _LavenderHouse1Text3: ; 99f72 (26:5f72) db $0, "PSYDUCK: Gwappa!@@" @@ -127079,14 +130755,12 @@ _UnnamedText_1d94c: ; 99f97 (26:5f97) db "#MON.", $51 db "I think this may", $4f db "help your quest.", $58 -; 0x99f97 + 100 bytes _ReceivedFluteText: ; 99ffb (26:5ffb) db $0, $52, " received", $4f db "a @" TX_RAM $cf4b db $0, "!@@" -; 0x9a011 _FluteExplanationText: ; 9a011 (26:6011) db $0, $51 @@ -127096,17 +130770,14 @@ _FluteExplanationText: ; 9a011 (26:6011) db "spring awake.", $51 db "It works on all", $4f db "sleeping #MON.", $57 -; 0x9a011 + 88 bytes _FluteNoRoomText: ; 9a069 (26:6069) db $0, "You must make", $4f db "room for this!", $57 -; 0x9a069 + 30 bytes _MrFujiAfterFluteText: ; 9a087 (26:6087) db $0, "MR.FUJI: Has my", $4f db "FLUTE helped you?", $57 -; 0x9a087 + 35 bytes _LavenderHouse1Text6: ; 9a0aa (26:60aa) db $0, "#MON Monthly", $4f @@ -127134,7 +130805,6 @@ _UnnamedText_5c953: ; 9a1b4 (26:61b4) db $0, "You know REVIVE?", $4f db "It revives any", $55 db "fainted #MON!", $57 -; 0x9a1b4 + 47 bytes _UnnamedText_5c958: ; 9a1e3 (26:61e3) db $0, "I found a NUGGET", $4f @@ -127142,7 +130812,6 @@ _UnnamedText_5c958: ; 9a1e3 (26:61e3) db "I thought it was", $4f db "useless, but it", $55 db "sold for ¥5000!", $57 -; 0x9a1e3 + 85 bytes _LavenderHouse2Text1: ; 9a238 (26:6238) db $0, "CUBONE: Kyarugoo!@@" @@ -127155,7 +130824,6 @@ _UnnamedText_1d9dc: ; 9a24c (26:624c) db "It was killed", $4f db "trying to escape", $55 db "from TEAM ROCKET!", $57 -; 0x9a24c + 109 bytes _UnnamedText_1d9e1: ; 9a2b9 (26:62b9) db $0, "The GHOST of", $4f @@ -127164,7 +130832,6 @@ _UnnamedText_1d9e1: ; 9a2b9 (26:62b9) db "Someone must have", $4f db "soothed its", $55 db "restless soul!", $57 -; 0x9a2b9 + 79 bytes _UnnamedText_1dab3: ; 9a308 (26:6308) db $0, "Hello, hello!", $4f @@ -127173,12 +130840,10 @@ _UnnamedText_1dab3: ; 9a308 (26:6308) db "Want me to rate", $4f db "the nicknames of", $55 db "your #MON?", $57 -; 0x9a308 + 89 bytes _UnnamedText_1dab8: ; 9a361 (26:6361) db $0, "Which #MON", $4f db "should I look at?", $58 -; 0x9a361 + 30 bytes _UnnamedText_1dabd: ; 9a37f (26:637f) TX_RAM $cd6d @@ -127189,30 +130854,25 @@ _UnnamedText_1dabd: ; 9a37f (26:637f) db "like me to give", $55 db "it a nicer name?", $51 db "How about it?", $57 -; 0x9a37f + 102 bytes _UnnamedText_1dac2: ; 9a3e5 (26:63e5) db $0, "Fine! What should", $4f db "we name it?", $58 -; 0x9a3e5 + 31 bytes _UnnamedText_1dac7: ; 9a404 (26:6404) db $0, "OK! This #MON", $4f db "has been renamed", $55 db "@" -; 0x9a404 + 33 bytes UnnamedText_9a425: ; 9a425 (26:6425) TX_RAM $cee9 db $0, "!", $51 db "That's a better", $4f db "name than before!", $57 -; 0x9a44c _UnnamedText_1dacc: ; 9a44c (26:644c) db $0, "Fine! Come any", $4f db "time you like!", $57 -; 0x9a44c + 31 bytes _UnnamedText_1dad1: ; 9a46b (26:646b) TX_RAM $cd6d @@ -127223,7 +130883,6 @@ _UnnamedText_1dad1: ; 9a46b (26:646b) db "@" TX_RAM $cd6d db $0, "!", $57 -; 0x9a4b2 _VermilionPokecenterText2: ; 9a4b2 (26:64b2) _VermilionPokecenterText1: ; 9a4b2 (26:64b2) @@ -127247,35 +130906,29 @@ _UnnamedText_59bb7: ; 9a572 (26:6572) db $0, "Won't you admire", $4f db "my PIKACHU's", $55 db "adorable tail?", $57 -; 0x9a572 + 44 bytes _UnnamedText_59bbc: ; 9a59e (26:659e) db $0, "Humph! My PIKACHU", $4f db "is twice as cute", $55 db "as that one!", $57 -; 0x9a59e + 49 bytes _UnnamedText_59be4: ; 9a5cf (26:65cf) db $0, "I just love my", $4f db "SEEL!", $51 db "It squeals when I", $4f db "hug it!", $57 -; 0x9a5cf + 48 bytes _UnnamedText_59be9: ; 9a5ff (26:65ff) db $0, "Oh dear!", $51 db "My SEEL is far", $4f db "more attractive!", $57 -; 0x9a5ff + 42 bytes _UnnamedText_59c00: ; 9a629 (26:6629) db $0, "PIKACHU: Chu!", $4f db "Pikachu!", $57 -; 0x9a629 + 24 bytes _UnnamedText_59c17: ; 9a641 (26:6641) db $0, "SEEL: Kyuoo!", $57 -; 0x9a641 + 14 bytes _UnnamedText_59c65: ; 9a64f (26:664f) db $0, "I chair the", $4f @@ -127289,7 +130942,6 @@ _UnnamedText_59c65: ; 9a64f (26:664f) db "Did you come", $4f db "visit to hear", $55 db "about my #MON?", $57 -; 0x9a64f + 145 bytes _UnnamedText_59c6a: ; 9a6e0 (26:66e0) db $0, "Good!", $4f @@ -127315,14 +130967,12 @@ _UnnamedText_59c6a: ; 9a6e0 (26:66e0) db "Thanks for hearing", $4f db "me out! I want", $55 db "you to have this!", $58 -; 0x9a6e0 + 334 bytes _ReceivedBikeVoucherText: ; 9a82e (26:682e) db $0, $52, " received", $4f db "a @" TX_RAM $cf4b db $0, "!@@" -; 0x9a844 _UnnamedText_59c74: ; 9a844 (26:6844) db $0, $51 @@ -127335,13 +130985,11 @@ _UnnamedText_59c74: ; 9a844 (26:6844) db "BICYCLE!", $51 db "I hope you like", $4f db "cycling!", $57 -; 0x9a844 + 127 bytes _UnnamedText_59c79: ; 9a8c3 (26:68c3) db $0, "Oh. Come back", $4f db "when you want to", $55 db "hear my story!", $57 -; 0x9a8c3 + 47 bytes _UnnamedText_59c7e: ; 9a8f2 (26:68f2) db $0, "Hello, ", $52, "!", $51 @@ -127349,12 +130997,10 @@ _UnnamedText_59c7e: ; 9a8f2 (26:68f2) db "me about my", $55 db "#MON again?", $51 db "No? Too bad!", $57 -; 0x9a8f2 + 65 bytes _UnnamedText_59c83: ; 9a933 (26:6933) db $0, "Make room for", $4f db "this!", $57 -; 0x9a933 + 21 bytes _FanClubText6: ; 9a948 (26:6948) db $0, "Our Chairman is", $4f @@ -127406,7 +131052,6 @@ _UnnamedText_5cb6d: ; 9aaa5 (26:6aa5) db "paralysis!", $51 db "The same as I'll", $4f db "do to you!", $57 -; 0x9aaa5 + 214 bytes SECTION "bank27",ROMX,BANK[$27] @@ -127418,7 +131063,6 @@ _UnnamedText_5cb72: ; 9c000 (27:4000) db "But, it's useless", $4f db "against ground-", $55 db "type #MON!", $57 -; 0x9c000 + 105 bytes _UnnamedText_5cb77: ; 9c069 (27:4069) db $0, "The THUNDERBADGE", $4f @@ -127429,14 +131073,12 @@ _UnnamedText_5cb77: ; 9c069 (27:4069) db "time, kid!", $51 db "You're special,", $4f db "kid! Take this!", $57 -; 0x9c069 + 119 bytes _ReceivedTM24Text: ; 9c0e0 (27:40e0) db $0, $52, " received ", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0x9c0f5 _TM24ExplanationText: ; 9c0f5 (27:40f5) db $0, $51 @@ -127444,12 +131086,10 @@ _TM24ExplanationText: ; 9c0f5 (27:40f5) db "THUNDERBOLT!", $51 db "Teach it to an", $4f db "electric #MON!", $57 -; 0x9c0f5 + 59 bytes _TM24NoRoomText: ; 9c130 (27:4130) db $0, "Yo kid, make room", $4f db "in your pack!", $57 -; 0x9c130 + 33 bytes _ReceivedThunderbadgeText: ; 9c151 (27:4151) db $0, "Whoa!", $51 @@ -127457,52 +131097,43 @@ _ReceivedThunderbadgeText: ; 9c151 (27:4151) db "deal, kid!", $51 db "Fine then, take", $4f db "the THUNDERBADGE!", $58 -; 0x9c151 + 67 bytes _VermilionGymBattleText1: ; 9c194 (27:4194) db $0, "When I was in the", $4f db "Army, LT.SURGE", $55 db "was my strict CO!", $57 -; 0x9c194 + 52 bytes _VermilionGymEndBattleText1: ; 9c1c8 (27:41c8) db $0, "Stop!", $4f db "You're very good!", $58 -; 0x9c1c8 + 24 bytes _VermilionGymAfterBattleText1: ; 9c1e0 (27:41e0) db $0, "The door won't", $4f db "open?", $51 db "LT.SURGE always", $4f db "was cautious!", $57 -; 0x9c1e0 + 51 bytes _VermilionGymBattleText2: ; 9c213 (27:4213) db $0, "I'm a lightweight,", $4f db "but I'm good with", $55 db "electricity!", $57 -; 0x9c213 + 49 bytes _VermilionGymEndBattleText2: ; 9c244 (27:4244) db $0, "Fried!", $58 -; 0x9c244 + 8 bytes _VermilionGymAfterBattleText2: ; 9c24c (27:424c) db $0, "OK, I'll talk!", $51 db "LT.SURGE said he", $4f db "hid door switches", $55 db "inside something!", $57 -; 0x9c24c + 68 bytes _VermilionGymBattleText3: ; 9c290 (27:4290) db $0, "This is no place", $4f db "for kids!", $57 -; 0x9c290 + 28 bytes _VermilionGymEndBattleText3: ; 9c2ac (27:42ac) db $0, "Wow!", $4f db "Surprised me!", $58 -; 0x9c2ac + 20 bytes _VermilionGymAfterBattleText3: ; 9c2c0 (27:42c0) db $0, "LT.SURGE set up", $4f @@ -127512,7 +131143,6 @@ _VermilionGymAfterBattleText3: ; 9c2c0 (27:42c0) db "1st lock, the 2nd", $55 db "lock is right", $55 db "next to it!", $57 -; 0x9c2c0 + 107 bytes _UnnamedText_5cbf4: ; 9c32b (27:432b) db $0, "Yo! Champ in", $4f @@ -127533,12 +131163,10 @@ _UnnamedText_5cbf4: ; 9c32b (27:432b) db "You'll have to", $4f db "break a code to", $55 db "get to him!", $57 -; 0x9c32b + 254 bytes _UnnamedText_5cbf9: ; 9c429 (27:4429) db $0, "Whew! That match", $4f db "was electric!", $57 -; 0x9c429 + 32 bytes _VermilionHouse1Text1: ; 9c449 (27:4449) db $0, "I'm getting my", $4f @@ -127558,9 +131186,8 @@ _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 -; 0x9c50e + 2 bytes _UnnamedText_560b1: ; 9c510 (27:4510) db $0, "I'm the FISHING", $4f @@ -127569,7 +131196,6 @@ _UnnamedText_560b1: ; 9c510 (27:4510) db "fishing!", $51 db "Do you like to", $4f db "fish?", $57 -; 0x9c510 + 68 bytes _UnnamedText_560b6: ; 9c554 (27:4554) db $0, "Grand! I like", $4f @@ -127580,7 +131206,6 @@ _UnnamedText_560b6: ; 9c554 (27:4554) db "an @" TX_RAM $cf4b db $0, "!@@" -; 0x9c5a4 _UnnamedText_560bb: ; 9c5a4 (27:45a4) db $0, $51 @@ -127590,25 +131215,21 @@ _UnnamedText_560bb: ; 9c5a4 (27:45a4) db "rivers, go out", $55 db "and land the big", $55 db "one, young one!", $57 -; 0x9c5a4 + 93 bytes _UnnamedText_560c0: ; 9c601 (27:4601) db $0, "Oh... That's so", $4f db "disappointing...", $57 -; 0x9c601 + 33 bytes _UnnamedText_560c5: ; 9c622 (27:4622) db $0, "Hello there,", $4f db $52, "!", $51 db "How are the fish", $4f db "biting?", $57 -; 0x9c622 + 42 bytes _UnnamedText_560ca: ; 9c64c (27:464c) db $0, "Oh no!", $51 db "You have no room", $4f db "for my gift!", $57 -; 0x9c64c + 38 bytes _CeladonMart1Text1: ; 9c672 (27:4672) db $0, "Hello! Welcome to", $4f @@ -127657,26 +131278,22 @@ _TM18PreReceiveText: ; 9c814 (27:4814) db "Not done yet?", $4f db "This might be", $55 db "useful!", $58 -; 0x9c814 + 70 bytes _ReceivedTM18Text: ; 9c85a (27:485a) db $0, $52, " received", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0x9c86e _TM18ExplanationText: ; 9c86e (27:486e) db $0, "TM18 is COUNTER!", $4f db "Not like the one", $55 db "I'm leaning on,", $55 db "mind you!", $57 -; 0x9c86e + 60 bytes _TM18NoRoomText: ; 9c8aa (27:48aa) db $0, "Your pack is full", $4f db "of items!", $57 -; 0x9c8aa + 29 bytes _CeladonMart3Text2: ; 9c8c7 (27:48c7) db $0, "Captured #MON", $4f @@ -127759,24 +131376,21 @@ _CeladonMart4Text4: ; 9cb56 (27:4b56) _UnnamedText_484ee: ; 9cbb5 (27:4bb5) db $0, "Give her which", $4f db "drink?", $57 -; 0x9cbb5 + 23 bytes -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!@@" -; 0x9cc06 -UnnamedText_9cc06: ; 9cc06 (27:4c06) +_UnnamedText_484f9: ; 9cc06 (27:4c06) db $0, $52, " received", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0x9cc1a -UnnamedText_9cc1a: ; 9cc1a (27:4c1a) +_UnnamedText_484fe: ; 9cc1a (27:4c1a) db $0, $51 db "@" TX_RAM $cf4b @@ -127784,24 +131398,21 @@ UnnamedText_9cc1a: ; 9cc1a (27:4c1a) db "ICE BEAM!", $51 db "It can freeze the", $4f db "target sometimes!@@" -; 0x9cc5a -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!@@" -; 0x9cc91 -UnnamedText_9cc91: ; 9cc91 (27:4c91) +_UnnamedText_4850a: ; 9cc91 (27:4c91) db $0, $52, " received", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0x9cca4 -UnnamedText_9cca5: ; 9cca5 (27:4ca5) +_UnnamedText_4850f: ; 9cca5 (27:4ca5) db $0, $51 db "@" TX_RAM $cf4b @@ -127809,37 +131420,31 @@ UnnamedText_9cca5: ; 9cca5 (27:4ca5) db "ROCK SLIDE!", $51 db "It can spook the", $4f db "target sometimes!@@" -; 0x9cce6 -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!@@" -; 0x9cd1d -ReceivedTM49Text: ; 9cd1d (27:4d1d) +_ReceivedTM49Text: ; 9cd1d (27:4d1d) db $0, $52, " received", $4f db "TM49!@@" -; 0x9cd30 -UnnamedText_9cd30: ; 9cd30 (27:4d30) +_UnnamedText_48520: ; 9cd30 (27:4d30) db $0, $51 db "TM49 contains", $4f db "TRI ATTACK!@@" -; 0x9cd4d -UnnamedText_9cd4d: ; 9cd4d (27:4d4d) +_UnnamedText_48526: ; 9cd4d (27:4d4d) db $0, "You don't have", $4f db "space for this!@@" -; 0x9cd6d -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!@@" -; 0x9cd97 _CeladonMartRoofText1: ; 9cd97 (27:4d97) db $0, "My sister is a", $4f @@ -127853,43 +131458,36 @@ _UnnamedText_48598: ; 9cdee (27:4dee) db $0, "I'm thirsty!", $4f db "I want something", $55 db "to drink!", $57 -; 0x9cdee + 40 bytes -_UnnamedText_4859d: ; 9ce16 (27:4e16) +_CeladonMartRoofText4: ; 9ce16 (27:4e16) db $0, "I'm thirsty!", $4f db "I want something", $55 db "to drink!", $51 db "Give her a drink?", $57 -; 0x9ce16 + 58 bytes _CeladonMartRoofText6: ; 9ce50 (27:4e50) db $0, "ROOFTOP SQUARE:", $4f db "VENDING MACHINES", $57 -_UnnamedText_74f99: ; 9ce72 (27:4e72) +_VendingMachineText1: ; 9ce72 (27:4e72) db $0, "A vending machine!", $4f db "Here's the menu!", $58 -; 0x9ce72 + 36 bytes -_UnnamedText_74fd3: ; 9ce96 (27:4e96) +_VendingMachineText4: ; 9ce96 (27:4e96) db $0, "Oops, not enough", $4f db "money!", $57 -; 0x9ce96 + 25 bytes -_UnnamedText_74fd8: ; 9ceaf (27:4eaf) +_VendingMachineText5: ; 9ceaf (27:4eaf) TX_RAM $cf4b db $0, $4f db "popped out!", $57 -; 0x9ceaf + 17 bytes -_UnnamedText_74fdd: ; 9cec0 (27:4ec0) +_VendingMachineText6: ; 9cec0 (27:4ec0) db $0, "There's no more", $4f db "room for stuff!", $57 -; 0x9cec0 + 32 bytes -_UnnamedText_74fe2: ; 9cee0 (27:4ee0) +_VendingMachineText7: ; 9cee0 (27:4ee0) db $0, "Not thirsty!", $57 -; 0x9cee0 + 14 bytes _CeladonMansion1Text1: ; 9ceee (27:4eee) db $0, "MEOWTH: Meow!@@" @@ -127942,7 +131540,6 @@ _GameDesignerText: ; 9d03a (27:503a) db "but don't quit!", $51 db "When you finish,", $4f db "come tell me!", $57 -; 0x9d03a + 115 bytes _CompletedDexText: ; 9d0ad (27:50ad) db $0, "Wow! Excellent!", $4f @@ -127950,7 +131547,6 @@ _CompletedDexText: ; 9d0ad (27:50ad) db "your #DEX!", $55 db "Congratulations!", $55 db "...@@" -; 0x9d0ed _CeladonMansion3Text5: ; 9d0ed (27:50ed) db $0, "It's the game", $4f @@ -128015,7 +131611,6 @@ _UnnamedText_48a5e: ; 9d28f (27:528f) db "challenge me.", $51 db "Very well, but I", $4f db "shall not lose.", $57 -; 0x9d28f + 307 bytes _UnnamedText_48a63: ; 9d3c2 (27:53c2) db $0, "Oh!", $4f @@ -128024,7 +131619,6 @@ _UnnamedText_48a63: ; 9d3c2 (27:53c2) db "strong.", $51 db "I must confer you", $4f db "the RAINBOWBADGE.", $58 -; 0x9d3c2 + 86 bytes _UnnamedText_48a68: ; 9d418 (27:5418) db $0, "You are cataloging", $4f @@ -128034,7 +131628,6 @@ _UnnamedText_48a68: ; 9d418 (27:5418) db "collect #MON", $55 db "if they were", $55 db "unattractive.", $57 -; 0x9d418 + 105 bytes _UnnamedText_48a6d: ; 9d481 (27:5481) db $0, "The RAINBOWBADGE", $4f @@ -128046,14 +131639,12 @@ _UnnamedText_48a6d: ; 9d481 (27:5481) db "out of battle.", $51 db "Please also take", $4f db "this with you.", $57 -; 0x9d481 + 139 bytes _ReceivedTM21Text: ; 9d50c (27:550c) db $0, $52, " received", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0x9d520 _TM21ExplanationText: ; 9d520 (27:5520) db $0, $51 @@ -128063,39 +131654,32 @@ _TM21ExplanationText: ; 9d520 (27:5520) db "it inflicts is", $55 db "drained to heal", $55 db "your #MON!", $57 -; 0x9d520 + 86 bytes _TM21NoRoomText: ; 9d576 (27:5576) db $0, "You should make", $4f db "room for this.", $57 -; 0x9d576 + 32 bytes _CeladonGymBattleText2: ; 9d596 (27:5596) db $0, "Hey!", $51 db "You are not", $4f db "allowed in here!", $57 -; 0x9d596 + 35 bytes _CeladonGymEndBattleText2: ; 9d5b9 (27:55b9) db $0, "You're", $4f db "too rough!", $58 -; 0x9d5b9 + 18 bytes _CeladonGymAfterBattleText2: ; 9d5cb (27:55cb) db $0, "Bleaah!", $4f db "I hope ERIKA", $55 db "wipes you out!", $57 -; 0x9d5cb + 37 bytes _CeladonGymBattleText3: ; 9d5f0 (27:55f0) db $0, "I was getting", $4f db "bored.", $57 -; 0x9d5f0 + 22 bytes _CeladonGymEndBattleText3: ; 9d606 (27:5606) db $0, "My", $4f db "makeup!", $58 -; 0x9d606 + 12 bytes _CeladonGymAfterBattleText3: ; 9d612 (27:5612) db $0, "Grass-type #MON", $4f @@ -128104,34 +131688,28 @@ _CeladonGymAfterBattleText3: ; 9d612 (27:5612) db "They also have an", $4f db "edge on rock and", $55 db "ground #MON!", $57 -; 0x9d612 + 99 bytes _CeladonGymBattleText4: ; 9d675 (27:5675) db $0, "Aren't you the", $4f db "peeping Tom?", $57 -; 0x9d675 + 28 bytes _CeladonGymEndBattleText4: ; 9d691 (27:5691) db $0, "I'm", $4f db "in shock!", $58 -; 0x9d691 + 14 bytes _CeladonGymAfterBattleText4: ; 9d69f (27:569f) db $0, "Oh, you weren't", $4f db "peeping? We get a", $55 db "lot of gawkers!", $57 -; 0x9d69f + 50 bytes _CeladonGymBattleText5: ; 9d6d1 (27:56d1) db $0, "Look at my grass", $4f db "#MON!", $51 db "They're so easy", $4f db "to raise!", $57 -; 0x9d6d1 + 49 bytes _CeladonGymEndBattleText5: ; 9d702 (27:5702) db $0, "No!", $58 -; 0x9d702 + 5 bytes _CeladonGymAfterBattleText5: ; 9d707 (27:5707) db $0, "We only use grass-", $4f @@ -128140,43 +131718,36 @@ _CeladonGymAfterBattleText5: ; 9d707 (27:5707) db "We also use them", $4f db "for making flower", $55 db "arrangements!", $57 -; 0x9d707 + 91 bytes _CeladonGymBattleText6: ; 9d762 (27:5762) db $0, "Don't bring any", $4f db "bugs or fire", $55 db "#MON in here!", $57 -; 0x9d762 + 43 bytes _CeladonGymEndBattleText6: ; 9d78d (27:578d) db $0, "Oh!", $4f db "You!", $58 -; 0x9d78d + 10 bytes _CeladonGymAfterBattleText6: ; 9d797 (27:5797) db $0, "Our LEADER, ERIKA,", $4f db "might be quiet,", $55 db "but she's also", $55 db "very skilled!", $57 -; 0x9d797 + 64 bytes _CeladonGymBattleText7: ; 9d7d7 (27:57d7) db $0, "Pleased to meet", $4f db "you. My hobby is", $55 db "#MON training.", $57 -; 0x9d7d7 + 49 bytes _CeladonGymEndBattleText7: ; 9d808 (27:5808) db $0, "Oh!", $4f db "Splendid!", $58 -; 0x9d808 + 15 bytes _CeladonGymAfterBattleText7: ; 9d817 (27:5817) db $0, "I have a blind", $4f db "date coming up.", $55 db "I have to learn", $55 db "to be polite.", $57 -; 0x9d817 + 62 bytes _CeladonGymBattleText8: ; 9d855 (27:5855) db $0, "Welcome to", $4f @@ -128184,19 +131755,16 @@ _CeladonGymBattleText8: ; 9d855 (27:5855) db "You better not", $4f db "underestimate", $55 db "girl power!", $57 -; 0x9d855 + 66 bytes _CeladonGymEndBattleText8: ; 9d897 (27:5897) db $0, "Oh!", $4f db "Beaten!", $58 -; 0x9d897 + 13 bytes _CeladonGymAfterBattleText8: ; 9d8a4 (27:58a4) db $0, "I didn't bring my", $4f db "best #MON!", $51 db "Wait 'til next", $4f db "time!", $57 -; 0x9d8a4 + 49 bytes _CeladonGameCornerText1: ; 9d8d5 (27:58d5) db $0, "Welcome!", $51 @@ -128213,32 +131781,26 @@ _UnnamedText_48d22: ; 9d91a (27:591a) db "It's ¥1000 for 50", $4f db "coins. Would you", $55 db "like some?", $57 -; 0x9d91a + 106 bytes _UnnamedText_48d27: ; 9d984 (27:5984) db $0, "Thanks! Here are", $4f db "your 50 coins!", $57 -; 0x9d984 + 33 bytes _UnnamedText_48d2c: ; 9d9a5 (27:59a5) db $0, "No? Please come", $4f db "play sometime!", $57 -; 0x9d9a5 + 32 bytes _UnnamedText_48d31: ; 9d9c5 (27:59c5) db $0, "You can't afford", $4f db "the coins!", $57 -; 0x9d9c5 + 28 bytes _UnnamedText_48d36: ; 9d9e1 (27:59e1) db $0, "Oops! Your COIN", $4f db "CASE is full.", $57 -; 0x9d9e1 + 31 bytes _UnnamedText_48d3b: ; 9da00 (27:5a00) db $0, "You don't have a", $4f db "COIN CASE!", $57 -; 0x9da00 + 28 bytes _CeladonGameCornerText3: ; 9da1c (27:5a1c) db $0, "Keep this quiet.", $51 @@ -128254,22 +131816,18 @@ _CeladonGameCornerText4: ; 9da61 (27:5a61) _UnnamedText_48d9c: ; 9da8e (27:5a8e) db $0, "Kid, do you want", $4f db "to play?", $58 -; 0x9da8e + 27 bytes _Received10CoinsText: ; 9daa9 (27:5aa9) db $0, $52, " received", $4f db "10 coins!@@" -; 0x9dac0 _UnnamedText_48da7: ; 9dac0 (27:5ac0) db $0, "You don't need my", $4f db "coins!", $57 -; 0x9dac0 + 25 bytes _UnnamedText_48dac: ; 9dad9 (27:5ad9) db $0, "Wins seem to come", $4f db "and go.", $57 -; 0x9dad9 + 27 bytes _CeladonGameCornerText6: ; 9daf4 (27:5af4) db $0, "I'm having a", $4f @@ -128287,7 +131845,6 @@ _UnnamedText_48dca: ; 9db11 (27:5b11) db "She might appear", $4f db "docile, but don't", $55 db "be fooled!", $57 -; 0x9db11 + 155 bytes _UnnamedText_48dcf: ; 9dbac (27:5bac) db $0, "They offer rare", $4f @@ -128296,7 +131853,6 @@ _UnnamedText_48dcf: ; 9dbac (27:5bac) db "your coins.", $51 db "But, I just can't", $4f db "seem to win!", $57 -; 0x9dbac + 90 bytes _CeladonGameCornerText8: ; 9dc06 (27:5c06) db $0, "Games are scary!", $4f @@ -128306,74 +131862,61 @@ _CeladonGameCornerText8: ; 9dc06 (27:5c06) _UnnamedText_48e26: ; 9dc33 (27:5c33) db $0, "What's up? Want", $4f db "some coins?", $58 -; 0x9dc33 + 28 bytes _Received20CoinsText: ; 9dc4f (27:5c4f) db $0, $52, " received", $4f db "20 coins!@@" -; 0x9dc66 _UnnamedText_48e31: ; 9dc66 (27:5c66) db $0, "You have lots of", $4f db "coins!", $57 -; 0x9dc66 + 25 bytes _UnnamedText_48e36: ; 9dc7f (27:5c7f) db $0, "Darn! I need more", $4f db "coins for the", $55 db "#MON I want!", $57 -; 0x9dc7f + 46 bytes _UnnamedText_48e88: ; 9dcad (27:5cad) db $0, "Hey, what? You're", $4f db "throwing me off!", $55 db "Here are some", $55 db "coins, shoo!", $58 -; 0x9dcad + 62 bytes _UnnamedText_48e8d: ; 9dceb (27:5ceb) db $0, $52, " received", $4f db "20 coins!@@" -; 0x9dd02 _UnnamedText_48e93: ; 9dd02 (27:5d02) db $0, "You've got your", $4f db "own coins!", $57 -; 0x9dd02 + 27 bytes _UnnamedText_48e98: ; 9dd1d (27:5d1d) db $0, "The trick is to", $4f db "watch the reels", $55 db "closely!", $57 -; 0x9dd1d + 42 bytes _UnnamedText_48ece: ; 9dd47 (27:5d47) db $0, "I'm guarding this", $4f db "poster!", $55 db "Go away, or else!", $57 -; 0x9dd47 + 44 bytes _UnnamedText_48ed3: ; 9dd73 (27:5d73) db $0, "Dang!", $58 -; 0x9dd73 + 7 bytes _UnnamedText_48ed8: ; 9dd7a (27:5d7a) db $0, "Our hideout might", $4f db "be discovered! I", $55 db "better tell BOSS!", $57 -; 0x9dd7a + 54 bytes _UnnamedText_48f09: ; 9ddb0 (27:5db0) db $0, "Hey!", $51 db "A switch behind", $4f db "the poster!?", $55 db "Let's push it!@@" -; 0x9dde2 _UnnamedText_48f19: ; 9dde2 (27:5de2) db $0, "Oops! Forgot the", $4f db "COIN CASE!", $57 -; 0x9dde2 + 29 bytes _CeladonMart5Text1: ; 9ddff (27:5dff) db $0, "#MON ability", $4f @@ -128439,25 +131982,21 @@ _UnnamedText_491a7: ; 9e003 (27:6003) db "Here! I won't be", $4f db "needing this any-", $55 db "more!", $58 -; 0x9e003 + 119 bytes _ReceivedCoinCaseText: ; 9e07a (27:607a) db $0, $52, " received", $4f db "a @" TX_RAM $cf4b db $0, "!@@" -; 0x9e090 _CoinCaseNoRoomText: ; 9e090 (27:6090) db $0, "Make room for", $4f db "this!", $57 -; 0x9e090 + 21 bytes _UnnamedText_491b7: ; 9e0a5 (27:60a5) db $0, "I always thought", $4f db "I was going to", $55 db "win it back...", $57 -; 0x9e0a5 + 48 bytes _CeladonHouseText1: ; 9e0d5 (27:60d5) db $0, "Hehehe! The slots", $4f @@ -128550,29 +132089,24 @@ _WardenGibberishText1: ; 9e444 (27:6444) db "Ha lof ha feef ee", $4f db "hafahi ho. Heff", $55 db "hee fwee!", $57 -; 0x9e444 + 71 bytes _WardenGibberishText2: ; 9e48b (27:648b) db $0, "Ah howhee ho hoo!", $4f db "Eef ee hafahi ho!", $57 -; 0x9e48b + 37 bytes _WardenGibberishText3: ; 9e4b0 (27:64b0) db $0, "Ha? He ohay heh", $4f db "ha hoo ee haheh!", $57 -; 0x9e4b0 + 34 bytes _WardenTeethText1: ; 9e4d2 (27:64d2) db $0, $52, " gave the", $4f db "GOLD TEETH to the", $55 db "WARDEN!@@" -; 0x9e4f9 _WardenTeethText2: ; 9e4f9 (27:64f9) db $0, $51 db "The WARDEN popped", $4f db "in his teeth!", $58 -; 0x9e4f9 + 34 bytes _WardenThankYouText: ; 9e51b (27:651b) db $0, "WARDEN: Thanks,", $4f @@ -128584,14 +132118,12 @@ _WardenThankYouText: ; 9e51b (27:651b) db "Let me give you", $55 db "something for", $55 db "your trouble.", $58 -; 0x9e51b + 135 bytes _ReceivedHM04Text: ; 9e5a2 (27:65a2) db $0, $52, " received", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0x9e5b6 _HM04ExplanationText: ; 9e5b6 (27:65b6) db $0, "WARDEN: HM04", $4f @@ -128607,22 +132139,18 @@ _HM04ExplanationText: ; 9e5b6 (27:65b6) db "win an HM!", $51 db "I hear it's the", $4f db "rare SURF HM.", $57 -; 0x9e5b6 + 196 bytes _HM04NoRoomText: ; 9e67a (27:667a) db $0, "Your pack is", $4f db "stuffed full!", $57 -; 0x9e67a + 28 bytes _UnnamedText_75176: ; 9e696 (27:6696) db $0, "#MON photos", $4f db "and fossils.", $57 -; 0x9e696 + 26 bytes _UnnamedText_7517b: ; 9e6b0 (27:66b0) db $0, "Old #MON", $4f db "merchandise.", $57 -; 0x9e6b0 + 23 bytes _SafariZoneEntranceText1: ; 9e6c7 (27:66c7) db $0, "Welcome to the", $4f @@ -128635,7 +132163,6 @@ UnnamedText_9e6e4: ; 9e6e4 (27:66e4) db "want in the park!", $51 db "Would you like to", $4f db "join the hunt?@@" -; 0x9e747 UnnamedText_9e747: ; 9e747 (27:6747) db $0, "That'll be ¥500", $4f @@ -128645,7 +132172,6 @@ UnnamedText_9e747: ; 9e747 (27:6747) db "here.", $51 db $52, " received", $4f db "30 SAFARI BALLs!@@" -; 0x9e79f _UnnamedText_75360: ; 9e79f (27:679f) db $0, $51 @@ -128653,42 +132179,34 @@ _UnnamedText_75360: ; 9e79f (27:679f) db "the PA when you", $55 db "run out of time", $55 db "or SAFARI BALLs!", $57 -; 0x9e79f + 68 bytes _UnnamedText_75365: ; 9e7e3 (27:67e3) db $0, "OK! Please come", $4f db "again!", $57 -; 0x9e7e3 + 24 bytes _UnnamedText_7536a: ; 9e7fb (27:67fb) db $0, "Oops! Not enough", $4f db "money!", $57 -; 0x9e7fb + 25 bytes UnnamedText_9e814: ; 9e814 (27:6814) db $0, "Leaving early?@@" -; 0x9e825 _UnnamedText_753bb: ; 9e825 (27:6825) db $0, "Please return any", $4f db "SAFARI BALLs you", $55 db "have left.", $57 -; 0x9e825 + 47 bytes _UnnamedText_753c0: ; 9e854 (27:6854) db $0, "Good Luck!", $57 -; 0x9e854 + 12 bytes _UnnamedText_753c5: ; 9e860 (27:6860) db $0, "Did you get a", $4f db "good haul?", $55 db "Come again!", $57 -; 0x9e860 + 38 bytes _UnnamedText_753e6: ; 9e886 (27:6886) db $0, "Hi! Is it your", $4f db "first time here?", $57 -; 0x9e886 + 33 bytes _UnnamedText_753eb: ; 9e8a7 (27:68a7) db $0, "SAFARI ZONE has 4", $4f @@ -128707,12 +132225,10 @@ _UnnamedText_753eb: ; 9e8a7 (27:68a7) db "#MON BOX so", $55 db "there's room for", $55 db "new #MON!", $57 -; 0x9e8a7 + 236 bytes _UnnamedText_753f0: ; 9e993 (27:6993) db $0, "Sorry, you're a", $4f db "regular here!", $57 -; 0x9e993 + 30 bytes _UnnamedText_75581: ; 9e9b1 (27:69b1) db $0, "KOGA: Fwahahaha!", $51 @@ -128727,7 +132243,6 @@ _UnnamedText_75581: ; 9e9b1 (27:69b1) db "the despair of", $55 db "poison and sleep", $55 db "techniques!", $57 -; 0x9e9b1 + 181 bytes _UnnamedText_75586: ; 9ea66 (27:6a66) db $0, "Humph!", $4f @@ -128735,7 +132250,6 @@ _UnnamedText_75586: ; 9ea66 (27:6a66) db "your worth!", $51 db "Here! Take the", $4f db "SOULBADGE!", $58 -; 0x9ea66 + 62 bytes SECTION "bank28",ROMX,BANK[$28] @@ -128747,7 +132261,6 @@ _UnnamedText_7558b: ; a0000 (28:4000) db "progresses!", $51 db "It will surely", $4f db "terrorize foes!", $57 -; 0xa0000 + 105 bytes _UnnamedText_75590: ; a0069 (28:4069) db $0, "Now that you have", $4f @@ -128760,7 +132273,6 @@ _UnnamedText_75590: ; a0069 (28:4069) db "battle!", $51 db "Ah! Take this", $4f db "too!", $57 -; 0xa0069 + 130 bytes _ReceivedTM06Text: ; a00eb (28:40eb) db $0, $52, " received", $4f @@ -128775,12 +132287,10 @@ _TM06ExplanationText: ; a00ff (28:40ff) db "It is a secret", $4f db "technique over", $55 db "400 years old!", $57 -; 0xa00ff + 68 bytes _TM06NoRoomText: ; a0143 (28:4143) db $0, "Make space for", $4f db "this, child!", $57 -; 0xa0143 + 29 bytes _FuchsiaGymBattleText1: ; a0160 (28:4160) db $0, "Strength isn't", $4f @@ -128790,66 +132300,55 @@ _FuchsiaGymBattleText1: ; a0160 (28:4160) db "I'll show you how", $4f db "strategy can beat", $55 db "brute strength!", $57 -; 0xa0160 + 98 bytes _FuchsiaGymEndBattleText1: ; a01c2 (28:41c2) db $0, "What?", $4f db "Extraordinary!", $58 -; 0xa01c2 + 22 bytes _FuchsiaGymAfterBattleText1: ; a01d8 (28:41d8) db $0, "So, you mix brawn", $4f db "with brains?", $55 db "Good strategy!", $57 -; 0xa01d8 + 47 bytes _FuchsiaGymBattleText2: ; a0207 (28:4207) db $0, "I wanted to become", $4f db "a ninja, so I", $55 db "joined this GYM!", $57 -; 0xa0207 + 51 bytes _FuchsiaGymEndBattleText2: ; a023a (28:423a) db $0, "I'm done", $4f db "for!", $58 -; 0xa023a + 14 bytes _FuchsiaGymAfterBattleText2: ; a0248 (28:4248) db $0, "I will keep on", $4f db "training under", $55 db "KOGA, my ninja", $55 db "master!", $57 -; 0xa0248 + 54 bytes _FuchsiaGymBattleText3: ; a027e (28:427e) db $0, "Let's see you", $4f db "beat my special", $55 db "techniques!", $57 -; 0xa027e + 42 bytes _FuchsiaGymEndBattleText3: ; a02a8 (28:42a8) db $0, "You", $4f db "had me fooled!", $58 -; 0xa02a8 + 20 bytes _FuchsiaGymAfterBattleText3: ; a02bc (28:42bc) db $0, "I like poison and", $4f db "sleep techniques,", $55 db "as they linger", $55 db "after battle!", $57 -; 0xa02bc + 66 bytes _FuchsiaGymBattleText4: ; a02fe (28:42fe) db $0, "Stop right there!", $51 db "Our invisible", $4f db "walls have you", $55 db "frustrated?", $57 -; 0xa02fe + 60 bytes _FuchsiaGymEndBattleText4: ; a033a (28:433a) db $0, "Whoa!", $4f db "He's got it!", $58 -; 0xa033a + 19 bytes _FuchsiaGymAfterBattleText4: ; a034d (28:434d) db $0, "You impressed me!", $4f @@ -128857,7 +132356,6 @@ _FuchsiaGymAfterBattleText4: ; a034d (28:434d) db "Look very closely", $4f db "for gaps in the", $55 db "invisible walls!", $57 -; 0xa034d + 84 bytes _FuchsiaGymBattleText5: ; a03a1 (28:43a1) db $0, "I also study the", $4f @@ -128866,16 +132364,13 @@ _FuchsiaGymBattleText5: ; a03a1 (28:43a1) db "Ninja have a long", $4f db "history of using", $55 db "animals!", $57 -; 0xa03a1 + 97 bytes _FuchsiaGymEndBattleText5: ; a0402 (28:4402) db $0, "Awoo!", $58 -; 0xa0402 + 7 bytes _FuchsiaGymAfterBattleText5: ; a0409 (28:4409) db $0, "I still have much", $4f db "to learn!", $57 -; 0xa0409 + 29 bytes _FuchsiaGymBattleText6: ; a0426 (28:4426) db $0, "Master KOGA comes", $4f @@ -128883,12 +132378,10 @@ _FuchsiaGymBattleText6: ; a0426 (28:4426) db "of ninjas!", $51 db "What did you", $4f db "descend from?", $57 -; 0xa0426 + 74 bytes _FuchsiaGymEndBattleText6: ; a0470 (28:4470) db $0, "Dropped", $4f db "my balls!", $58 -; 0xa0470 + 19 bytes _FuchsiaGymAfterBattleText6: ; a0483 (28:4483) db $0, "Where there is", $4f @@ -128897,7 +132390,6 @@ _FuchsiaGymAfterBattleText6: ; a0483 (28:4483) db "Light and shadow!", $4f db "Which do you", $55 db "choose?", $57 -; 0xa0483 + 79 bytes _UnnamedText_7564e: ; a04d2 (28:44d2) db $0, "Yo! Champ in", $4f @@ -128911,13 +132403,11 @@ _UnnamedText_7564e: ; a04d2 (28:44d2) db "You have to find", $4f db "gaps in the walls", $55 db "to reach him!", $57 -; 0xa04d2 + 162 bytes _UnnamedText_75653: ; a0574 (28:4574) db $0, "It's amazing how", $4f db "ninja can terrify", $55 db "even now!", $57 -; 0xa0574 + 45 bytes _FuchsiaMeetingRoomText1: ; a05a1 (28:45a1) db $0, "We nicknamed the", $4f @@ -128948,7 +132438,6 @@ _UnnamedText_561bd: ; a0695 (28:4695) db "fishing!", $51 db "Do you like to", $4f db "fish?", $57 -; 0xa0695 + 83 bytes _UnnamedText_561c2: ; a06e8 (28:46e8) db $0, "Grand! I like", $4f @@ -128959,54 +132448,44 @@ _UnnamedText_561c2: ; a06e8 (28:46e8) db "a @" TX_RAM $cf4b db $0, "!@@" -; 0xa0737 _UnnamedText_56212: ; a0737 (28:4737) db $0, "Oh... That's so", $4f db "disappointing...", $57 -; 0xa0737 + 33 bytes _UnnamedText_56217: ; a0758 (28:4758) db $0, "Hello there,", $4f db $52, "!", $51 db "How are the fish", $4f db "biting?", $57 -; 0xa0758 + 42 bytes _UnnamedText_5621c: ; a0782 (28:4782) db $0, "Oh no!", $51 db "You have no room", $4f db "for my gift!", $57 -; 0xa0782 + 38 bytes _Mansion1BattleText2: ; a07a8 (28:47a8) db $0, "Who are you? There", $4f db "shouldn't be", $55 db "anyone here.", $57 -; 0xa07a8 + 45 bytes _Mansion1EndBattleText2: ; a07d5 (28:47d5) db $0, "Ouch!", $58 -; 0xa07d5 + 7 bytes _Mansion1AfterBattleText2: ; a07dc (28:47dc) db $0, "A key? I don't", $4f db "know what you're", $55 db "talking about.", $57 -; 0xa07dc + 46 bytes _UnnamedText_44395: ; a080a (28:480a) db $0, "A secret switch!", $51 db "Press it?", $57 -; 0xa080a + 28 bytes _UnnamedText_4439a: ; a0826 (28:4826) db $0, "Who wouldn't?", $58 -; 0xa0826 + 14 bytes _UnnamedText_4439f: ; a0834 (28:4834) db $0, "Not quite yet!", $57 -; 0xa0834 + 16 bytes _UnnamedText_75914: ; a0844 (28:4844) db $0, "Hah!", $51 @@ -129018,14 +132497,12 @@ _UnnamedText_75914: ; a0844 (28:4844) db "all challengers!", $51 db "Hah! You better", $4f db "have BURN HEAL!", $57 -; 0xa0844 + 131 bytes UnnamedText_a08c7: ; a08c7 (28:48c7) db $0, "I have", $4f db "burnt out!", $51 db "You have earned", $4f db "the VOLCANOBADGE!@@" -; 0xa08fd _UnnamedText_75920: ; a08fd (28:48fd) db $0, "FIRE BLAST is the", $4f @@ -129033,7 +132510,6 @@ _UnnamedText_75920: ; a08fd (28:48fd) db "technique!", $51 db "Don't waste it on", $4f db "water #MON!", $57 -; 0xa08fd + 73 bytes _UnnamedText_75925: ; a0946 (28:4946) db $0, "Hah!", $51 @@ -129043,14 +132519,12 @@ _UnnamedText_75925: ; a0946 (28:4946) db "of your #MON!", $51 db "Here, you can", $4f db "have this too!", $57 -; 0xa0946 + 98 bytes _ReceivedTM38Text: ; a09a8 (28:49a8) db $0, $52, " received", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0xa09bc _TM38ExplanationText: ; a09bc (28:49bc) db $0, $51 @@ -129061,23 +132535,19 @@ _TM38ExplanationText: ; a09bc (28:49bc) db "CHARMELEON or", $4f db "PONYTA would be", $55 db "good bets!", $57 -; 0xa09bc + 98 bytes _TM38NoRoomText: ; a0a1e (28:4a1e) db $0, "Make room for my", $4f db "gift!", $57 -; 0xa0a1e + 24 bytes _UnnamedText_7595f: ; a0a36 (28:4a36) db $0, "Do you know how", $4f db "hot #MON fire", $55 db "breath can get?", $57 -; 0xa0a36 + 47 bytes _UnnamedText_75964: ; a0a65 (28:4a65) db $0, "Yow!", $4f db "Hot, hot, hot!", $58 -; 0xa0a65 + 21 bytes _UnnamedText_75969: ; a0a7a (28:4a7a) db $0, "Fire, or to be", $4f @@ -129085,66 +132555,54 @@ _UnnamedText_75969: ; a0a7a (28:4a7a) db "combustion...", $51 db "Blah, blah, blah,", $4f db "blah...", $57 -; 0xa0a7a + 70 bytes _UnnamedText_75994: ; a0ac0 (28:4ac0) db $0, "I was a thief, but", $4f db "I became straight", $55 db "as a trainer!", $57 -; 0xa0ac0 + 52 bytes _UnnamedText_75999: ; a0af4 (28:4af4) db $0, "I", $4f db "surrender!", $58 -; 0xa0af4 + 14 bytes _UnnamedText_7599e: ; a0b02 (28:4b02) db $0, "I can't help", $4f db "stealing other", $55 db "people's #MON!", $57 -; 0xa0b02 + 42 bytes _UnnamedText_759c9: ; a0b2c (28:4b2c) db $0, "You can't win!", $4f db "I have studied", $55 db "#MON totally!", $57 -; 0xa0b2c + 44 bytes _UnnamedText_759ce: ; a0b58 (28:4b58) db $0, "Waah!", $4f db "My studies!", $58 -; 0xa0b58 + 19 bytes _UnnamedText_759d3: ; a0b6b (28:4b6b) db $0, "My theories are", $4f db "too complicated", $55 db "for you!", $57 -; 0xa0b6b + 42 bytes _UnnamedText_759fe: ; a0b95 (28:4b95) db $0, "I just like using", $4f db "fire #MON!", $57 -; 0xa0b95 + 30 bytes _UnnamedText_75a03: ; a0bb3 (28:4bb3) db $0, "Too hot", $4f db "to handle!", $58 -; 0xa0bb3 + 20 bytes _UnnamedText_75a08: ; a0bc7 (28:4bc7) db $0, "I wish there was", $4f db "a thief #MON!", $55 db "I'd use that!", $57 -; 0xa0bc7 + 45 bytes _UnnamedText_75a33: ; a0bf4 (28:4bf4) db $0, "I know why BLAINE", $4f db "became a trainer!", $57 -; 0xa0bf4 + 37 bytes _UnnamedText_75a38: ; a0c19 (28:4c19) db $0, "Ow!", $58 -; 0xa0c19 + 5 bytes _UnnamedText_75a3d: ; a0c1e (28:4c1e) db $0, "BLAINE was lost", $4f @@ -129154,40 +132612,33 @@ _UnnamedText_75a3d: ; a0c1e (28:4c1e) db "Its light enabled", $4f db "BLAINE to find", $55 db "his way down!", $57 -; 0xa0c1e + 114 bytes _UnnamedText_75a68: ; a0c90 (28:4c90) db $0, "I've been to many", $4f db "GYMs, but this is", $55 db "my favorite!", $57 -; 0xa0c90 + 49 bytes _UnnamedText_75a6d: ; a0cc1 (28:4cc1) db $0, "Yowza!", $4f db "Too hot!", $58 -; 0xa0cc1 + 17 bytes _UnnamedText_75a72: ; a0cd2 (28:4cd2) db $0, "Us fire #MON", $4f db "fans like PONYTA", $55 db "and NINETALES!", $57 -; 0xa0cd2 + 46 bytes _UnnamedText_75a9d: ; a0d00 (28:4d00) db $0, "Fire is weak", $4f db "against H2O!", $57 -; 0xa0d00 + 27 bytes _UnnamedText_75aa2: ; a0d1b (28:4d1b) db $0, "Oh!", $4f db "Snuffed out!", $58 -; 0xa0d1b + 18 bytes _UnnamedText_75aa7: ; a0d2d (28:4d2d) db $0, "Water beats fire!", $4f db "But, fire melts", $55 db "ice #MON!", $57 -; 0xa0d2d + 45 bytes _UnnamedText_75ac2: ; a0d5a (28:4d5a) db $0, "Yo! Champ in", $4f @@ -129199,12 +132650,10 @@ _UnnamedText_75ac2: ; a0d5a (28:4d5a) db "with water!", $51 db "You better take", $4f db "some BURN HEALs!", $57 -; 0xa0d5a + 127 bytes _UnnamedText_75ac7: ; a0dd9 (28:4dd9) db $0, $52, "! You beat", $4f db "that fire brand!", $57 -; 0xa0dd9 + 30 bytes _Lab1Text1: ; a0df7 (28:4df7) db $0, "We study #MON", $4f @@ -129243,14 +132692,12 @@ _TM35PreReceiveText: ; a0f09 (28:4f09) db "I made a cool TM!", $51 db "It can cause all", $4f db "kinds of fun!", $58 -; 0xa0f09 + 63 bytes _ReceivedTM35Text: ; a0f48 (28:4f48) db $0, $52, " received ", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0xa0f5d _TM35ExplanationText: ; a0f5d (28:4f5d) db $0, "Tch-tch-tch!", $4f @@ -129260,12 +132707,10 @@ _TM35ExplanationText: ; a0f5d (28:4f5d) db "#MON's brain", $55 db "into using moves", $55 db "it doesn't know!", $57 -; 0xa0f5d + 106 bytes _TM35NoRoomText: ; a0fc7 (28:4fc7) db $0, "Your pack is", $4f db "crammed full!", $57 -; 0xa0fc7 + 28 bytes _Lab3Text2: ; a0fe3 (28:4fe3) db $0, "EEVEE can evolve", $4f @@ -129300,36 +132745,30 @@ _UnnamedText_75dc6: ; a10e8 (28:50e8) db "#MON fossils!", $51 db "You! Have you a", $4f db "fossil for me?", $58 -; 0xa10e8 + 93 bytes _UnnamedText_75dcb: ; a1145 (28:5145) db $0, "No! Is too bad!", $57 -; 0xa1145 + 17 bytes _UnnamedText_75dd0: ; a1156 (28:5156) db $0, "I take a little", $4f db "time!", $51 db "You go for walk a", $4f db "little while!", $57 -; 0xa1156 + 55 bytes _UnnamedText_75dd5: ; a118d (28:518d) db $0, "Where were you?", $51 db "Your fossil is", $4f db "back to life!", $51 db "It was @" -; 0xa118d + 54 bytes UnnamedText_a11c3: ; a11c3 (28:51c3) TX_RAM $cf4b db $0, $4f db "like I think!", $58 -; 0xa11d6 _UnnamedText_610ae: ; a11d6 (28:51d6) db $0, "Oh! That is", $4f db "@" -; 0xa11d6 + 14 bytes UnnamedText_a11e4: ; a11e4 (28:51e4) TX_RAM $cd6d @@ -129344,7 +132783,6 @@ UnnamedText_a11e4: ; a11e4 (28:51e4) db "Machine will make", $55 db "that #MON live", $55 db "again!", $57 -; 0xa1259 _UnnamedText_610b3: ; a1259 (28:5259) db $0, "So! You hurry and", $4f @@ -129353,19 +132791,16 @@ _UnnamedText_610b3: ; a1259 (28:5259) db "over @" TX_RAM $cd6d db $0, "!", $58 -; 0xa128f _UnnamedText_610b8: ; a128f (28:528f) db $0, "I take a little", $4f db "time!", $51 db "You go for walk a", $4f db "little while!", $57 -; 0xa128f + 55 bytes _UnnamedText_610bd: ; a12c6 (28:52c6) db $0, "Aiyah! You come", $4f db "again!", $57 -; 0xa12c6 + 24 bytes _CinnabarPokecenterText2: ; a12de (28:52de) _CinnabarPokecenterText1: ; a12de (28:52de) @@ -129444,7 +132879,6 @@ _UnnamedText_5ccd4: ; a15ad (28:55ad) db "Quit mimicking?", $51 db "But, that's my", $4f db "favorite hobby!", $58 -; 0xa15ad + 137 bytes _TM31PreReceiveText: ; a1636 (28:5636) db $0, "Oh wow!", $4f @@ -129453,14 +132887,12 @@ _TM31PreReceiveText: ; a1636 (28:5636) db "Thank you!", $51 db "You can have", $4f db "this, then!", $58 -; 0xa1636 + 63 bytes _ReceivedTM31Text: ; a1675 (28:5675) db $0, $52, " received", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0xa1689 _TM31ExplanationText1: ; a1689 (28:5689) db $0, $51 @@ -129468,7 +132900,6 @@ _TM31ExplanationText1: ; a1689 (28:5689) db "favorite, MIMIC!", $51 db "Use it on a good", $4f db "#MON!@@" -; 0xa16c5 _TM31ExplanationText2: ; a16c5 (28:56c5) db $0, $52, ": Hi!", $4f @@ -129479,12 +132910,10 @@ _TM31ExplanationText2: ; a16c5 (28:56c5) db "my every move?", $51 db "COPYCAT: You bet!", $4f db "It's a scream!", $57 -; 0xa16c5 + 110 bytes _TM31NoRoomText: ; a1733 (28:5733) db $0, "Don't you want", $4f db "this?@@" -; 0xa1749 _CopycatsHouseF2Text2: ; a1749 (28:5749) db $0, "DODUO: Giiih!", $51 @@ -129511,11 +132940,9 @@ _UnnamedText_5cd17: ; a17ef (28:57ef) db "dolls!", $55 db "Favorite #MON:", $55 db "CLEFAIRY!", $57 -; 0xa17ef + 83 bytes _UnnamedText_5cd1c: ; a1842 (28:5842) db $0, "Huh? Can't see!", $57 -; 0xa1842 + 16 bytes _UnnamedText_5ce8e: ; a1852 (28:5852) db $0, "Grunt!", $51 @@ -129526,12 +132953,10 @@ _UnnamedText_5ce8e: ; a1852 (28:5852) db "challenge us?", $55 db "Expect no mercy!", $51 db "Fwaaa!", $57 -; 0xa1852 + 104 bytes _UnnamedText_5ce93: ; a18ba (28:58ba) db $0, "Hwa!", $4f db "Arrgh! Beaten!", $58 -; 0xa18ba + 21 bytes _UnnamedText_5ce98: ; a18cf (28:58cf) db $0, "Indeed, I have", $4f @@ -129545,98 +132970,81 @@ _UnnamedText_5ce98: ; a18cf (28:58cf) db "fighting #MON!", $51 db "Choose whichever", $4f db "one you like!", $57 -; 0xa18cf + 163 bytes _UnnamedText_5ce9d: ; a1972 (28:5972) db $0, "Ho!", $51 db "Stay and train at", $4f db "Karate with us!", $57 -; 0xa1972 + 39 bytes _FightingDojoBattleText1: ; a1999 (28:5999) db $0, "Hoargh! Take your", $4f db "shoes off!", $57 -; 0xa1999 + 30 bytes _FightingDojoEndBattleText1: ; a19b7 (28:59b7) db $0, "I give", $4f db "up!", $58 -; 0xa19b7 + 12 bytes _FightingDojoAfterBattleText1: ; a19c3 (28:59c3) db $0, "You wait 'til you", $4f db "see our Master!", $51 db "I'm a small fry", $4f db "compared to him!", $57 -; 0xa19c3 + 66 bytes _FightingDojoBattleText2: ; a1a05 (28:5a05) db $0, "I hear you're", $4f db "good! Show me!", $57 -; 0xa1a05 + 29 bytes _FightingDojoEndBattleText2: ; a1a22 (28:5a22) db $0, "Judge!", $4f db "1 point!", $58 -; 0xa1a22 + 17 bytes _FightingDojoAfterBattleText2: ; a1a33 (28:5a33) db $0, "Our Master is a", $4f db "pro fighter!", $57 -; 0xa1a33 + 30 bytes _FightingDojoBattleText3: ; a1a51 (28:5a51) db $0, "Nothing tough", $4f db "frightens me!", $51 db "I break boulders", $4f db "for training!", $57 -; 0xa1a51 + 60 bytes _FightingDojoEndBattleText3: ; a1a8d (28:5a8d) db $0, "Yow!", $4f db "Stubbed fingers!", $58 -; 0xa1a8d + 23 bytes _FightingDojoAfterBattleText3: ; a1aa4 (28:5aa4) db $0, "The only thing", $4f db "that frightens us", $55 db "is psychic power!", $57 -; 0xa1aa4 + 52 bytes _FightingDojoBattleText4: ; a1ad8 (28:5ad8) db $0, "Hoohah!", $51 db "You're trespassing", $4f db "in our FIGHTING", $55 db "DOJO!", $57 -; 0xa1ad8 + 49 bytes _FightingDojoEndBattleText4: ; a1b09 (28:5b09) db $0, "Oof!", $4f db "I give up!", $58 -; 0xa1b09 + 17 bytes _FightingDojoAfterBattleText4: ; a1b1a (28:5b1a) db $0, "The prime fighters", $4f db "across the land", $55 db "train here.", $57 -; 0xa1b1a + 48 bytes _WantHitmonleeText: ; a1b4a (28:5b4a) db $0, "You want the", $4f db "hard kicking", $55 db "HITMONLEE?", $57 -; 0xa1b4a + 38 bytes _WantHitmonchanText: ; a1b70 (28:5b70) db $0, "You want the", $4f db "piston punching", $55 db "HITMONCHAN?", $57 -; 0xa1b70 + 42 bytes _OtherHitmonText: ; a1b9a (28:5b9a) db $0, "Better not get", $4f db "greedy...", $57 -; 0xa1b9a + 26 bytes _UnnamedText_5d162: ; a1bb4 (28:5bb4) db $0, "I had a vision of", $4f @@ -129651,7 +133059,6 @@ _UnnamedText_5d162: ; a1bb4 (28:5bb4) db "ing, but if you", $55 db "wish, I will show", $55 db "you my powers!", $57 -; 0xa1bb4 + 191 bytes _UnnamedText_5d167: ; a1c73 (28:5c73) db $0, "I'm", $4f @@ -129663,14 +133070,12 @@ _UnnamedText_5d167: ; a1c73 (28:5c73) db "to win!", $51 db "You earned the", $4f db "MARSHBADGE!@@" -; 0xa1cdc _UnnamedText_5d16e: ; a1cdc (28:5cdc) db $0, "Everyone has", $4f db "psychic power!", $55 db "People just don't", $55 db "realize it!", $57 -; 0xa1cdc + 58 bytes _UnnamedText_5d173: ; a1d16 (28:5d16) db $0, "The MARSHBADGE", $4f @@ -129685,12 +133090,10 @@ _UnnamedText_5d173: ; a1d16 (28:5d16) db "much!", $51 db "Wait, please take", $4f db "this TM with you!", $57 -; 0xa1d16 + 183 bytes ReceivedTM46Text: ; a1dcd (28:5dcd) db $0, $52, " received", $4f db "TM46!@@" -; 0xa1de0 _TM46ExplanationText: ; a1de0 (28:5de0) db $0, $51 @@ -129698,12 +133101,10 @@ _TM46ExplanationText: ; a1de0 (28:5de0) db "It uses powerful", $55 db "psychic waves to", $55 db "inflict damage!", $57 -; 0xa1de0 + 69 bytes _TM46NoRoomText: ; a1e25 (28:5e25) db $0, "Your pack is full", $4f db "of other items!", $57 -; 0xa1e25 + 35 bytes _UnnamedText_5d1e6: ; a1e48 (28:5e48) db $0, "Yo! Champ in", $4f @@ -129717,7 +133118,6 @@ _UnnamedText_5d1e6: ; a1e48 (28:5e48) db "They get creamed", $4f db "before they can", $55 db "even aim a punch!", $57 -; 0xa1e48 + 168 bytes _UnnamedText_5d1eb: ; a1ef0 (28:5ef0) db $0, "Psychic power,", $4f @@ -129725,18 +133125,15 @@ _UnnamedText_5d1eb: ; a1ef0 (28:5ef0) db "If I had that,", $4f db "I'd make a bundle", $55 db "at the slots!", $57 -; 0xa1ef0 + 67 bytes _SaffronGymBattleText1: ; a1f33 (28:5f33) db $0, "SABRINA is younger", $4f db "than I, but I", $55 db "respect her!", $57 -; 0xa1f33 + 47 bytes _SaffronGymEndBattleText1: ; a1f62 (28:5f62) db $0, "Not", $4f db "good enough!", $58 -; 0xa1f62 + 18 bytes _SaffronGymAfterBattleText1: ; a1f74 (28:5f74) db $0, "In a battle of", $4f @@ -129746,23 +133143,19 @@ _SaffronGymAfterBattleText1: ; a1f74 (28:5f74) db "If you wish", $4f db "to beat SABRINA,", $55 db "focus on winning!", $57 -; 0xa1f74 + 108 bytes _SaffronGymBattleText2: ; a1fe0 (28:5fe0) db $0, "Does our unseen", $4f db "power scare you?", $57 -; 0xa1fe0 + 34 bytes _SaffronGymEndBattleText2: ; a2002 (28:6002) db $0, "I never", $4f db "foresaw this!", $58 -; 0xa2002 + 23 bytes _SaffronGymAfterBattleText2: ; a2019 (28:6019) db $0, "Psychic #MON", $4f db "fear only ghosts", $55 db "and bugs!", $57 -; 0xa2019 + 41 bytes _SaffronGymBattleText3: ; a2042 (28:6042) db $0, "#MON take on", $4f @@ -129770,52 +133163,43 @@ _SaffronGymBattleText3: ; a2042 (28:6042) db "their trainers.", $51 db "Your #MON must", $4f db "be tough, then!", $57 -; 0xa2042 + 79 bytes _SaffronGymEndBattleText3: ; a2091 (28:6091) db $0, "I knew", $4f db "it!", $58 -; 0xa2091 + 12 bytes _SaffronGymAfterBattleText3: ; a209d (28:609d) db $0, "I must teach", $4f db "better techniques", $55 db "to my #MON!", $57 -; 0xa209d + 44 bytes _SaffronGymBattleText4: ; a20c9 (28:60c9) db $0, "You know that", $4f db "power alone isn't", $55 db "enough!", $57 -; 0xa20c9 + 40 bytes _SaffronGymEndBattleText4: ; a20f1 (28:60f1) db $0, "I don't", $4f db "believe this!", $58 -; 0xa20f1 + 22 bytes _SaffronGymAfterBattleText4: ; a2107 (28:6107) db $0, "SABRINA just wiped", $4f db "out the KARATE", $55 db "MASTER next door!", $57 -; 0xa2107 + 53 bytes _SaffronGymBattleText5: ; a213c (28:613c) db $0, "You and I, our", $4f db "#MON shall", $55 db "fight!", $57 -; 0xa213c + 34 bytes _SaffronGymEndBattleText5: ; a215e (28:615e) db $0, "I lost", $4f db "after all!", $58 -; 0xa215e + 19 bytes _SaffronGymAfterBattleText5: ; a2171 (28:6171) db $0, "I knew that this", $4f db "was going to take", $55 db "place.", $57 -; 0xa2171 + 43 bytes _SaffronGymBattleText6: ; a219c (28:619c) db $0, "SABRINA is young,", $4f @@ -129823,12 +133207,10 @@ _SaffronGymBattleText6: ; a219c (28:619c) db "our LEADER!", $51 db "You won't reach", $4f db "her easily!", $57 -; 0xa219c + 72 bytes _SaffronGymEndBattleText6: ; a21e4 (28:61e4) db $0, "I lost", $4f db "my concentration!", $58 -; 0xa21e4 + 26 bytes _SaffronGymAfterBattleText6: ; a21fe (28:61fe) db $0, "There used to be", $4f @@ -129839,7 +133221,6 @@ _SaffronGymAfterBattleText6: ; a21fe (28:61fe) db "its GYM status", $55 db "when we went and", $55 db "creamed them!", $57 -; 0xa21fe + 121 bytes _SaffronGymBattleText7: ; a2277 (28:6277) db $0, "SAFFRON #MON", $4f @@ -129848,17 +133229,14 @@ _SaffronGymBattleText7: ; a2277 (28:6277) db "You want to see", $4f db "SABRINA!", $55 db "I can tell!", $57 -; 0xa2277 + 83 bytes _SaffronGymEndBattleText7: ; a22ca (28:62ca) db $0, "Arrrgh!", $58 -; 0xa22ca + 9 bytes _SaffronGymAfterBattleText7: ; a22d3 (28:62d3) db $0, "That's right! I", $4f db "used telepathy to", $55 db "read your mind!", $57 -; 0xa22d3 + 50 bytes _SaffronHouse1Text1: ; a2305 (28:6305) db $0, "Thank you for", $4f @@ -129915,52 +133293,43 @@ _TM29PreReceiveText: ; a24fe (28:64fe) db $0, "...Wait! Don't", $4f db "say a word!", $51 db "You wanted this!", $58 -; 0xa24fe + 44 bytes _ReceivedTM29Text: ; a252a (28:652a) db $0, $52, " received", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0xa253e _TM29ExplanationText: ; a253e (28:653e) db $0, "TM29 is PSYCHIC!", $51 db "It can lower the", $4f db "target's SPECIAL", $55 db "abilities.", $57 -; 0xa253e + 62 bytes _TM29NoRoomText: ; a257c (28:657c) db $0, "Where do you plan", $4f db "to put this?", $57 -; 0xa257c + 32 bytes _PokemartGreetingText: ; a259c (28:659c) db $0, "Hi there!", $4e, "May I help you?", $57 -; 0xa259c + 27 bytes _PokemonFaintedText: ; a25b7 (28:65b7) TX_RAM $cd6d db $0, $4f db "fainted!", $57 -; 0xa25b7 + 14 bytes _PlayerBlackedOutText: ; a25c5 (28:65c5) db $0, $52, " is out of", $4f db "useable #MON!", $51 db $52, " blacked", $4f db "out!", $58 -; 0xa25c5 + 42 bytes _RepelWoreOffText: ; a25ef (28:65ef) db $0, "REPEL's effect", $4f db "wore off.", $57 -; 0xa25ef + 25 bytes _PokemartBuyingGreetingText: ; a2608 (28:6608) db $0, "Take your time.", $57 -; 0xa2608 + 17 bytes _PokemartTellBuyPrice: ; a2619 (28:6619) TX_RAM $cf4b @@ -129969,97 +133338,79 @@ _PokemartTellBuyPrice: ; a2619 (28:6619) db "¥@" db $2, $9f, $ff, $c3 db $0, ". OK?", $57 -; 0xa2639 _PokemartBoughtItemText: ; a2639 (28:6639) db $0, "Here you are!", $4f db "Thank you!", $58 -; 0xa2639 + 26 bytes _PokemartNotEnoughMoneyText: ; a2653 (28:6653) db $0, "You don't have", $4f db "enough money.", $58 -; 0xa2653 + 29 bytes _PokemartItemBagFullText: ; a2670 (28:6670) db $0, "You can't carry", $4f db "any more items.", $58 -; 0xa2670 + 32 bytes _PokemonSellingGreetingText: ; a2690 (28:6690) db $0, "What would you", $4f db "like to sell?", $57 -; 0xa2690 + 30 bytes _PokemartTellSellPrice: ; a26ae (28:66ae) db $0, "I can pay you", $4f db "¥@" db $2, $9f, $ff, $c3 ; XXX db $0, " for that.", $57 -; 0xa26cf _PokemartItemBagEmptyText: ; a26cf (28:66cf) db $0, "You don't have", $4f db "anything to sell.", $58 -; 0xa26cf + 33 bytes _PokemartUnsellableItemText: ; a26f0 (28:66f0) db $0, "I can't put a", $4f db "price on that.", $58 -; 0xa26f0 + 29 bytes _PokemartThankYouText: ; a270d (28:670d) db $0, "Thank you!", $57 -; 0xa270d + 12 bytes _PokemartAnythingElseText: ; a2719 (28:6719) db $0, "Is there anything", $4f db "else I can do?", $57 -; 0xa2719 + 34 bytes UnnamedText_a273b: ; a273b (28:673b) TX_RAM $d036 db $0, " learned", $4f db "@" -; 0xa2749 UnnamedText_a2749: ; a2749 (28:6749) TX_RAM $cf4b db $0, "!@@" -; 0xa2750 _UnnamedText_6fb4: ; a2750 (28:6750) db $0, "Which move should", $4e, "be forgotten?", $57 -; 0xa2750 + 33 bytes _UnnamedText_6fb9: ; a2771 (28:6771) db $0, "Abandon learning", $4f db "@" -; 0xa2771 + 19 bytes UnnamedText_a2784: ; a2784 (28:6784) TX_RAM $cf4b db $0, "?", $57 -; 0xa278a _UnnamedText_6fbe: ; a278a (28:678a) TX_RAM $d036 db $0, $4f db "did not learn", $55 db "@" -; 0xa278a + 20 bytes UnnamedText_a279e: ; a279e (28:679e) TX_RAM $cf4b db $0, "!", $58 -; 0xa27a4 _UnnamedText_6fc3: ; a27a4 (28:67a4) TX_RAM $d036 db $0, " is", $4f db "trying to learn", $55 db "@" -; 0xa27a4 + 25 bytes UnnamedText_a27bd: ; a27bd (28:67bd) TX_RAM $cf4b @@ -130072,25 +133423,20 @@ UnnamedText_a27bd: ; a27bd (28:67bd) db "Delete an older", $4f db "move to make room", $55 db "for @" -; 0xa2813 UnnamedText_a2813: ; a2813 (28:6813) TX_RAM $cf4b db $0, "?", $57 -; 0xa2819 _UnnamedText_6fc8: ; a2819 (28:6819) db $0, "1, 2 and...@@" -; 0xa2827 _UnnamedText_6fd7: ; a2827 (28:6827) db $0, " Poof!@@" -; 0xa2830 _UnnamedText_6fdc: ; a2830 (28:6830) db $0, $51 db "@" -; 0xa2830 + 3 bytes UnnamedText_a2833: ; a2833 (28:6833) TX_RAM $d036 @@ -130099,12 +133445,10 @@ UnnamedText_a2833: ; a2833 (28:6833) TX_RAM $cd6d db $0, "!", $51 db "And...", $58 -; 0xa284d _UnnamedText_6fe1: ; a284d (28:684d) db $0, "HM techniques", $4f db "can't be deleted!", $58 -; 0xa284d + 32 bytes _PokemonCenterWelcomeText: ; a286d (28:686d) db $0, "Welcome to our", $4f @@ -130112,143 +133456,118 @@ _PokemonCenterWelcomeText: ; a286d (28:686d) db "We heal your", $4f db "#MON back to", $55 db "perfect health!", $58 -; 0xa286d + 71 bytes _ShallWeHealYourPokemonText: ; a28b4 (28:68b4) db $0, "Shall we heal your", $4f db "#MON?", $57 -; 0xa28b4 + 26 bytes _NeedYourPokemonText: ; a28ce (28:68ce) db $0, "OK. We'll need", $4f db "your #MON.", $57 -; 0xa28ce + 26 bytes _PokemonFightingFitText: ; a28e8 (28:68e8) db $0, "Thank you!", $4f db "Your #MON are", $55 db "fighting fit!", $58 -; 0xa28e8 + 40 bytes _PokemonCenterFarewellText: ; a2910 (28:6910) db $0, "We hope to see", $4f db "you again!", $57 -; 0xa2910 + 27 bytes -_UnnamedText_72b3: ; a292b (28:692b) +_CableClubNPCText7: ; a292b (28:692b) db $0, "This area is", $4f db "reserved for 2", $55 db "friends who are", $55 db "linked by cable.", $57 -; 0xa292b + 62 bytes -_UnnamedText_72b8: ; a2969 (28:6969) +_CableClubNPCText1: ; a2969 (28:6969) db $0, "Welcome to the", $4f db "Cable Club!", $57 -; 0xa2969 + 28 bytes -_UnnamedText_72bd: ; a2985 (28:6985) +_CableClubNPCText2: ; a2985 (28:6985) db $0, "Please apply here.", $51 db "Before opening", $4f db "the link, we have", $55 db "to save the game.", $57 -; 0xa2985 + 71 bytes -UnnamedText_a29cc: ; a29cc (28:69cc) +_CableClubNPCText3: ; a29cc (28:69cc) db $0, "Please wait.@@" -; 0xa29b -_UnnamedText_72c8: ; a29db (28:69db) +_CableClubNPCText4: ; a29db (28:69db) db $0, "The link has been", $4f db "closed because of", $55 db "inactivity.", $51 db "Please contact", $4f db "your friend and", $55 db "come again!", $57 -; 0xa29db + 92 bytes SECTION "bank29",ROMX,BANK[$29] -_UnnamedText_72cd: ; a4000 (29:4000) +_CableClubNPCText5: ; a4000 (29:4000) db $0, "Please come again!", $57 -; 0xa4000 + 20 bytes -_UnnamedText_72d2: ; a4014 (29:4014) +_CableClubNPCText6: ; a4014 (29:4014) db $0, "We're making", $4f db "preparations.", $55 db "Please wait.", $57 -; 0xa4014 + 40 bytes -UnnamedText_a403c: ; a403c (29:403c) +_UsedStrengthText: ; a403c (29:403c) TX_RAM $cd6d db $0, " used", $4f db "STRENGTH.@@" -; 0xa4051 _UnnamedText_cdbb: ; a4051 (29:4051) TX_RAM $cd6d db $0, " can", $4f db "move boulders.", $58 -; 0xa4051 + 24 bytes _UnnamedText_cdfa: ; a4069 (29:4069) db $0, "The current is", $4f db "much too fast!", $58 -; 0xa4069 + 31 bytes _UnnamedText_cdff: ; a4088 (29:4088) db $0, "Cycling is fun!", $4f db "Forget SURFing!", $58 -; 0xa4088 + 33 bytes _FlashLightsAreaText: ; a40a9 (29:40a9) db $0, "A blinding FLASH", $4f db "lights the area!", $58 -; 0xa40a9 + 35 bytes _WarpToLastPokemonCenterText: ; a40cc (29:40cc) db $0, "Warp to the last", $4f db "#MON CENTER.", $57 -; 0xa40cc + 31 bytes _CannotUseTeleportNowText: ; a40eb (29:40eb) TX_RAM $cd6d db $0, " can't", $4f db "use TELEPORT now.", $58 -; 0xa40eb + 28 bytes _CannotFlyHereText: ; a4107 (29:4107) TX_RAM $cd6d db $0, " can't", $4f db "FLY here.", $58 -; 0xa4107 + 20 bytes _NotHealthyEnoughText: ; a411b (29:411b) db $0, "Not healthy", $4f db "enough.", $58 -; 0xa411b + 21 bytes _NewBadgeRequiredText: ; a4130 (29:4130) db $0, "No! A new BADGE", $4f db "is required.", $58 -; 0xa4130 + 30 bytes _CannotUseItemsHereText: ; a414e (29:414e) db $0, "You can't use items", $4f db "here.", $58 -; 0xa414e + 26 bytes _CannotGetOffHereText: ; a4168 (29:4168) db $0, "You can't get off", $4f db "here.", $58 -; 0xa4168 + 24 bytes -UnnamedText_a4180: ; a4180 (29:4180) +_UnnamedText_4fe39: ; a4180 (29:4180) db $0, $52, " got", $4f db "@" TX_RAM $cd6d db $0, "!@@" -; 0xa418f _UnnamedText_4fe3f: ; a418f (29:418f) db $0, "There's no more", $4f @@ -130269,9 +133588,8 @@ _UnnamedText_4fe44: ; a41d6 (29:41d6) db "accept any more!", $51 db "Change the BOX at", $4f db "a #MON CENTER!", $57 -; 0xa41d6 + 111 bytes -INCLUDE "text/mapPalletTown.tx" +INCLUDE "text/mapPalletTown.asm" _ViridianCityText1: ; a43cc (29:43cc) db $0, "Those # BALLs", $4f @@ -130287,23 +133605,19 @@ _UnnamedText_19122: ; a4437 (29:4437) db "is always closed.", $51 db "I wonder who the", $4f db "LEADER is?", $57 -; 0xa4437 + 61 bytes _UnnamedText_19127: ; a4474 (29:4474) db $0, "VIRIDIAN GYM's", $4f db "LEADER returned!", $57 -; 0xa4474 + 32 bytes _UnnamedText_1914d: ; a4494 (29:4494) db $0, "You want to know", $4f db "about the 2 kinds", $55 db "of caterpillar", $55 db "#MON?", $57 -; 0xa4494 + 57 bytes _UnnamedText_19152: ; a44cd (29:44cd) db $0, "Oh, OK then!", $57 -; 0xa44cd + 14 bytes _UnnamedText_19157: ; a44db (29:44db) db $0, "CATERPIE has no", $4f @@ -130311,14 +133625,12 @@ _UnnamedText_19157: ; a44db (29:44db) db "WEEDLE does.", $51 db "Watch out for its", $4f db "POISON STING!", $57 -; 0xa44db + 74 bytes _UnnamedText_19175: ; a4525 (29:4525) db $0, "Oh Grandpa! Don't", $4f db "be so mean!", $55 db "He hasn't had his", $55 db "coffee yet.", $57 -; 0xa4525 + 59 bytes _UnnamedText_1917a: ; a4560 (29:4560) db $0, "When I go shop in", $4f @@ -130326,14 +133638,12 @@ _UnnamedText_1917a: ; a4560 (29:4560) db "have to take the", $55 db "winding trail in", $55 db "VIRIDIAN FOREST.", $57 -; 0xa4560 + 85 bytes _UnnamedText_19191: ; a45b5 (29:45b5) db $0, "You can't go", $4f db "through here!", $51 db "This is private", $4f db "property!", $57 -; 0xa45b5 + 53 bytes _UnnamedText_191ca: ; a45ea (29:45ea) db $0, "Yawn!", $4f @@ -130348,23 +133658,19 @@ _UnnamedText_191ca: ; a45ea (29:45ea) db "This is spooky!", $4f db "Here, you can", $55 db "have this TM.", $58 -; 0xa45ea + 176 bytes _ReceivedTM42Text: ; a469a (29:469a) db $0, $52, " received", $4f db "TM42!@@" -; 0xa46ad _TM42Explanation: ; a46ad (29:46ad) db $0, "TM42 contains", $4f db "DREAM EATER...", $55 db "...Snore...", $57 -; 0xa46ad + 42 bytes _TM42NoRoomText: ; a46d7 (29:46d7) db $0, "You have too much", $4f db "stuff already.", $57 -; 0xa46d7 + 34 bytes _UnnamedText_1920a: ; a46f9 (29:46f9) db $0, "Ahh, I've had my", $4f @@ -130374,7 +133680,6 @@ _UnnamedText_1920a: ; a46f9 (29:46f9) db "through!", $51 db "Are you in a", $4f db "hurry?", $57 -; 0xa46f9 + 91 bytes _UnnamedText_1920f: ; a4754 (29:4754) db $0, "I see you're using", $4f @@ -130388,18 +133693,15 @@ _UnnamedText_1920f: ; a4754 (29:4754) db "#MON?", $51 db "I'll show you", $4f db "how to then.", $57 -; 0xa4754 + 146 bytes _UnnamedText_19214: ; a47e6 (29:47e6) db $0, "Time is money...", $4f db "Go along then.", $57 -; 0xa47e6 + 33 bytes _UnnamedText_19219: ; a4807 (29:4807) db $0, "First, you need", $4f db "to weaken the", $55 db "target #MON.", $57 -; 0xa4807 + 44 bytes _ViridianCityText8: ; a4833 (29:4833) db $0, "VIRIDIAN CITY ", $4f @@ -130433,7 +133735,6 @@ _ViridianCityText13: ; a4949 (29:4949) _ViridianCityText14: ; a4961 (29:4961) db $0, "The GYM's doors", $4f db "are locked...", $57 -; 0xa4961 + 30 bytes _PewterCityText1: ; a497f (29:497f) db $0, "It's rumored that", $4f @@ -130456,44 +133757,37 @@ _PewterCityText2: ; a49e0 (29:49e0) _UnnamedText_193f1: ; a4a56 (29:4a56) db $0, "Did you check out", $4f db "the MUSEUM?", $57 -; 0xa4a56 + 31 bytes _UnnamedText_193f6: ; a4a75 (29:4a75) db $0, "Weren't those", $4f db "fossils from MT.", $55 db "MOON amazing?", $57 -; 0xa4a75 + 45 bytes _UnnamedText_193fb: ; a4aa2 (29:4aa2) db $0, "Really?", $4f db "You absolutely", $55 db "have to go!", $57 -; 0xa4aa2 + 36 bytes -_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 db "it's worth it!", $55 db "See you around!", $57 -; 0xa4ac6 + 78 bytes _UnnamedText_19427: ; a4b14 (29:4b14) db $0, "Psssst!", $4f db "Do you know what", $55 db "I'm doing?", $57 -; 0xa4b14 + 36 bytes _UnnamedText_1942c: ; a4b38 (29:4b38) db $0, "That's right!", $4f db "It's hard work!", $57 -; 0xa4b38 + 29 bytes _UnnamedText_19431: ; a4b55 (29:4b55) db $0, "I'm spraying REPEL", $4f db "to keep #MON", $55 db "out of my garden!", $57 -; 0xa4b55 + 50 bytes _UnnamedText_1945d: ; a4b87 (29:4b87) db $0, "You're a trainer", $4f @@ -130501,13 +133795,11 @@ _UnnamedText_1945d: ; a4b87 (29:4b87) db "looking for new", $55 db "challengers!", $55 db "Follow me!", $57 -; 0xa4b87 + 71 bytes _UnnamedText_19462: ; a4bce (29:4bce) db $0, "If you have the", $4f db "right stuff, go", $55 db "take on BROCK!", $57 -; 0xa4bce + 48 bytes _PewterCityText6: ; a4bfe (29:4bfe) db $0, "TRAINER TIPS", $51 @@ -130554,19 +133846,16 @@ _UnnamedText_19668: ; a4d2b (29:4d2b) db "Here, let me see", $4f db "what you caught,", $55 db $52, "!", $57 -; 0xa4d2b + 147 bytes _UnnamedText_1966d: ; a4dbe (29:4dbe) db $0, "Hey!", $4f db "Take it easy!", $55 db "You won already!", $58 -; 0xa4dbe + 37 bytes _UnnamedText_19672: ; a4de3 (29:4de3) db $0, "Heh!", $4f db "You're no match", $55 db "for my genius!", $58 -; 0xa4de3 + 36 bytes _UnnamedText_19677: ; a4e07 (29:4e07) db $0, $53, ": Hey,", $4f @@ -130590,7 +133879,6 @@ _UnnamedText_19677: ; a4e07 (29:4e07) db "Well, I better", $4f db "get rolling!", $55 db "Smell ya later!", $57 -; 0xa4e07 + 288 bytes _UnnamedText_196d9: ; a4f27 (29:4f27) db $0, "Hey! Stay out!", $4f @@ -130599,36 +133887,30 @@ _UnnamedText_196d9: ; a4f27 (29:4f27) db "I'm an innocent", $4f db "bystander! Don't", $55 db "you believe me?", $57 -; 0xa4f27 + 91 bytes _ReceivedTM28Text: ; a4f82 (29:4f82) db $0, $52, " recovered", $4f db "TM28!@@" -; 0xa4f96 _ReceivedTM28Text2: ; a4f96 (29:4f96) db $0, $51 db "I better get", $4f db "moving! Bye!@@" -; 0xa4fb3 _TM28NoRoomText: ; a4fb3 (29:4fb3) db $0, "Make room for", $4f db "this!", $51 db "I can't run until", $4f db "I give it to you!", $57 -; 0xa4fb3 + 56 bytes _UnnamedText_196ee: ; a4feb (29:4feb) db $0, "Stop!", $4f db "I give up! I'll", $55 db "leave quietly!", $58 -; 0xa4feb + 37 bytes _UnnamedText_196f3: ; a5010 (29:5010) db $0, "OK! I'll return", $4f db "the TM I stole!", $58 -; 0xa5010 + 32 bytes _CeruleanCityText3: ; a5030 (29:5030) db $0, "You're a trainer", $4f @@ -130665,13 +133947,11 @@ _UnnamedText_19730: ; a5188 (29:5188) db "Use SONICBOOM!", $55 db "Come on, SLOWBRO", $55 db "pay attention!", $57 -; 0xa5188 + 61 bytes _UnnamedText_19735: ; a51c5 (29:51c5) db $0, "SLOWBRO punch!", $4f db "No! You blew it", $55 db "again!", $57 -; 0xa51c5 + 39 bytes _UnnamedText_1973a: ; a51ec (29:51ec) db $0, "SLOWBRO, WITHDRAW!", $4f @@ -130682,27 +133962,22 @@ _UnnamedText_1973a: ; a51ec (29:51ec) db "obedience depends", $55 db "on your abilities", $55 db "as a trainer!", $57 -; 0xa51ec + 127 bytes _UnnamedText_1976f: ; a526b (29:526b) db $0, "SLOWBRO took a", $4f db "snooze...", $57 -; 0xa526b + 26 bytes _UnnamedText_19774: ; a5285 (29:5285) db $0, "SLOWBRO is", $4f db "loafing around...", $57 -; 0xa5285 + 30 bytes _UnnamedText_19779: ; a52a3 (29:52a3) db $0, "SLOWBRO turned", $4f db "away...", $57 -; 0xa52a3 + 24 bytes _UnnamedText_1977e: ; a52bb (29:52bb) db $0, "SLOWBRO", $4f db "ignored orders...", $57 -; 0xa52bb + 27 bytes _CeruleanCityText9: ; a52d6 (29:52d6) db $0, "I want a bright", $4f @@ -130749,12 +134024,10 @@ _CeruleanCityText17: ; a5445 (29:5445) _UnnamedText_4413c: ; a5482 (29:5482) db $0, "Do you believe in", $4f db "GHOSTs?", $57 -; 0xa5482 + 27 bytes _UnnamedText_44141: ; a549d (29:549d) db $0, "Really? So there", $4f db "are believers...", $57 -; 0xa549d + 35 bytes _UnnamedText_44146: ; a54c0 (29:54c0) db $0, "Hahaha, I guess", $4f @@ -130762,7 +134035,6 @@ _UnnamedText_44146: ; a54c0 (29:54c0) db "That white hand", $4f db "on your shoulder,", $55 db "it's not real.", $57 -; 0xa54c0 + 70 bytes _LavenderTownText2: ; a5506 (29:5506) db $0, "This town is known", $4f @@ -130811,33 +134083,28 @@ _UnnamedText_198a7: ; a56b5 (29:56b5) db $0, "Did you see S.S.", $4f db "ANNE moored in", $55 db "the harbor?", $57 -; 0xa56b5 + 45 bytes _UnnamedText_198ac: ; a56e2 (29:56e2) db $0, "So, S.S.ANNE has", $4f db "departed!", $51 db "She'll be back in", $4f db "about a year.", $57 -; 0xa56e2 + 59 bytes _SSAnneWelcomeText4: ; a571d (29:571d) db $0, "Welcome to S.S.", $4f db "ANNE!", $57 -; 0xa571d + 23 bytes _SSAnneWelcomeText9: ; a5734 (29:5734) db $0, "Welcome to S.S.", $4f db "ANNE!", $51 db "Excuse me, do you", $4f db "have a ticket?", $58 -; 0xa5734 + 56 bytes _SSAnneFlashedTicketText: ; a576c (29:576c) db $0, $52, " flashed", $4f db "the S.S.TICKET!", $51 db "Great! Welcome to", $4f db "S.S.ANNE!", $57 -; 0xa576c + 55 bytes _SSAnneNoTicketText: ; a57a3 (29:57a3) db $0, $52, " doesn't", $4f @@ -130846,11 +134113,9 @@ _SSAnneNoTicketText: ; a57a3 (29:57a3) db "Sorry!", $51 db "You need a ticket", $4f db "to get aboard.", $57 -; 0xa57a3 + 78 bytes _SSAnneNotHereText: ; a57f1 (29:57f1) db $0, "The ship set sail.", $57 -; 0xa57f1 + 20 bytes _VermilionCityText4: ; a5805 (29:5805) db $0, "I'm putting up a", $4f @@ -130937,14 +134202,12 @@ _TM41PreText: ; a5afd (29:5afd) db "chance to talk!", $51 db "Here's a gift for", $4f db "dropping by!", $58 -; 0xa5afd + 93 bytes _ReceivedTM41Text: ; a5b5a (29:5b5a) db $0, $52, " received", $4f db "@" TX_RAM $cf4b db $0, "!@@" -; 0xa5b6e _TM41ExplanationText: ; a5b6e (29:5b6e) db $0, "TM41 teaches", $4f @@ -130953,12 +134216,10 @@ _TM41ExplanationText: ; a5b6e (29:5b6e) db "can use it!", $51 db "That #MON is", $4f db "CHANSEY!", $57 -; 0xa5b6e + 74 bytes _TM41NoRoomText: ; a5bb8 (29:5bb8) db $0, "Oh, your pack is", $4f db "full of items!", $57 -; 0xa5bb8 + 33 bytes _CeladonCityText6: ; a5bd9 (29:5bd9) db $0, "This is my trusted", $4f @@ -131087,13 +134348,11 @@ _FuchsiaCityChanseyText: ; a6050 (29:6050) db $0, "Name: CHANSEY", $51 db "Catching one is", $4f db "all up to chance.", $58 -; 0xa6050 + 49 bytes _FuchsiaCityVoltorbText: ; a6081 (29:6081) db $0, "Name: VOLTORB", $51 db "The very image of", $4f db "a # BALL.", $58 -; 0xa6081 + 43 bytes _FuchsiaCityKangaskhanText: ; a60ac (29:60ac) db $0, "Name: KANGASKHAN", $51 @@ -131101,42 +134360,35 @@ _FuchsiaCityKangaskhanText: ; a60ac (29:60ac) db "that raises its", $55 db "young in a pouch", $55 db "on its belly.", $58 -; 0xa60ac + 81 bytes _FuchsiaCitySlowpokeText: ; a60fd (29:60fd) db $0, "Name: SLOWPOKE", $51 db "Friendly and very", $4f db "slow moving.", $58 -; 0xa60fd + 47 bytes _FuchsiaCityLaprasText: ; a612c (29:612c) db $0, "Name: LAPRAS", $51 db "A.K.A. the king", $4f db "of the seas.", $58 -; 0xa612c + 43 bytes _FuchsiaCityOmanyteText: ; a6157 (29:6157) db $0, "Name: OMANYTE", $51 db "A #MON that", $4f db "was resurrected", $55 db "from a fossil.", $58 -; 0xa6157 + 58 bytes _FuchsiaCityKabutoText: ; a6191 (29:6191) db $0, "Name: KABUTO", $51 db "A #MON that", $4f db "was resurrected", $55 db "from a fossil.", $58 -; 0xa6191 + 57 bytes _UnnamedText_19b2a: ; a61ca (29:61ca) db $0, "...", $57 -; 0xa61ca + 5 bytes _CinnabarIslandText8: ; a61cf (29:61cf) db $0, "The door is", $4f db "locked...", $57 -; 0xa61cf + 23 bytes _CinnabarIslandText1: ; a61e6 (29:61e6) db $0, "CINNABAR GYM's", $4f @@ -131453,7 +134705,6 @@ _ItemUseNotYoursToUseText: ; a6ad0 (29:6ad0) _ItemUseNoEffectText: ; a6ae9 (29:6ae9) db $0, "It won't have any", $4f db "effect.", $58 -; 0xa6ae9 + 26 bytes = 0xa6b03 _ThrowBallAtTrainerMonText1: ; a6b03 (29:6b03) db $0, "The trainer", $4f @@ -131528,7 +134779,6 @@ _UnnamedText_2fe3b: ; a8088 (2a:4088) _UnnamedText_71d88: ; a809a (2a:409a) db $0, "Okay, connect the", $4f db "cable like so!", $58 -; 0xa809a + 34 bytes _UnnamedText_71d8d: ; a80bc (2a:40bc) db $0, $52, " traded", $4f @@ -131552,23 +134802,19 @@ _UnnamedText_71d94: ; a80d8 (2a:40d8) _UnnamedText_71d99: ; a810b (2a:410b) db $0, "Awww!", $4f db "Oh well...", $57 -; 0xa810b + 18 bytes _UnnamedText_71d9e: ; a811d (2a:411d) db $0, "What? That's not", $4f db "@" -; 0xa811d + 18 bytes UnnamedText_a812f: ; a812f (2a:412f) TX_RAM $cd13 db $0, "!", $51 db "If you get one,", $4f db "come back here!", $57 -; 0xa8155 _UnnamedText_71da3: ; a8155 (2a:4155) db $0, "Hey thanks!", $57 -; 0xa8155 + 13 bytes _UnnamedText_71da8: ; a8162 (2a:4162) db $0, "Isn't my old", $4f @@ -131589,7 +134835,6 @@ _UnnamedText_71dad: ; a817c (2a:417c) _UnnamedText_71db2: ; a81b5 (2a:41b5) db $0, "Well, if you", $4f db "don't want to...", $57 -; 0xa81b5 + 30 bytes _UnnamedText_71db7: ; a81d3 (2a:41d3) db $0, "Hmmm? This isn't", $4f @@ -131598,11 +134843,9 @@ _UnnamedText_71db7: ; a81d3 (2a:41d3) db $0, ".", $51 db "Think of me when", $4f db "you get one.", $57 -; 0xa8209 _UnnamedText_71dbc: ; a8209 (2a:4209) db $0, "Thanks!", $57 -; 0xa8209 + 9 bytes _UnnamedText_71dc1: ; a8212 (2a:4212) db $0, "The @" @@ -131610,7 +134853,6 @@ _UnnamedText_71dc1: ; a8212 (2a:4212) db $0, " you", $4f db "traded to me", $51 db "went and evolved!", $57 -; 0xa8240 _UnnamedText_71dc6: ; a8240 (2a:4240) db $0, "Hi! Do you have", $4f @@ -131621,11 +134863,9 @@ _UnnamedText_71dc6: ; a8240 (2a:4240) db "for @" TX_RAM $cd1e db $0, "?", $57 -; 0xa8274 _UnnamedText_71dcb: ; a8274 (2a:4274) db $0, "That's too bad.", $57 -; 0xa8274 + 16 bytes _UnnamedText_71dd0: ; a8284 (2a:4284) db $0, "...This is no", $4f @@ -131634,11 +134874,9 @@ _UnnamedText_71dd0: ; a8284 (2a:4284) db $0, ".", $51 db "If you get one,", $4f db "trade it with me!", $57 -; 0xa82bc _UnnamedText_71dd5: ; a82bc (2a:42bc) db $0, "Thanks pal!", $57 -; 0xa82bc + 13 bytes _UnnamedText_71dda: ; a82c9 (2a:42c9) db $0, "How is my old", $4f @@ -131649,18 +134887,19 @@ _UnnamedText_71dda: ; a82c9 (2a:42c9) TX_RAM $cd13 db $0, " is", $4f db "doing great!", $57 -; 0xa82f8 -; XXX +_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/undergroundpathns.blk b/maps/undergroundpathns.blk index 3b016320..6431328e 100644 --- a/maps/undergroundpathns.blk +++ b/maps/undergroundpathns.blk @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file 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/unusedblocks60258.blk b/maps/unusedblocks60258.blk new file mode 100755 index 00000000..ff81fc7d --- /dev/null +++ b/maps/unusedblocks60258.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() @@ -1,4 +1,1436 @@ -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 24 + +W_TRAINERNAME: ; d04a +; 13 bytes for the letters of the opposing trainer +; the name is terminated with $50 with possible +; unused trailing letters + ds 13 + +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 + |