2012-01-14 20:36:00 +00:00
|
|
|
|
INCLUDE "constants.asm"
|
|
|
|
|
|
|
|
|
|
|
2014-05-25 17:26:42 +00:00
|
|
|
|
INCLUDE "home.asm"
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-08-12 18:38:03 +00:00
|
|
|
|
SECTION "bank1",ROMX,BANK[$1]
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-26 00:37:29 +00:00
|
|
|
|
INCLUDE "data/facing.asm"
|
2014-05-26 00:27:02 +00:00
|
|
|
|
|
|
|
|
|
Func_40b0::
|
|
|
|
|
; Reset player status on blackout.
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
|
|
|
|
ld [$cf0b], a
|
|
|
|
|
ld [$d700], a
|
2014-05-26 00:27:02 +00:00
|
|
|
|
ld [W_ISINBATTLE], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [$d35d], a
|
|
|
|
|
ld [$cf10], a
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld [hJoyHeld], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [$cc57], a
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld [wFlags_0xcd60], a
|
2014-05-26 00:27:02 +00:00
|
|
|
|
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff9f], a
|
2014-05-26 00:27:02 +00:00
|
|
|
|
ld [$ff9f + 1], a
|
|
|
|
|
ld [$ff9f + 2], a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
call HasEnoughMoney
|
2014-05-26 00:27:02 +00:00
|
|
|
|
jr c, .lostmoney ; never happens
|
|
|
|
|
|
|
|
|
|
; Halve the player's money.
|
|
|
|
|
ld a, [wPlayerMoney]
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff9f], a
|
2014-05-26 00:27:02 +00:00
|
|
|
|
ld a, [wPlayerMoney + 1]
|
|
|
|
|
ld [$ff9f + 1], a
|
|
|
|
|
ld a, [wPlayerMoney + 2]
|
|
|
|
|
ld [$ff9f + 2], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ffa2], a
|
|
|
|
|
ld [$ffa3], a
|
2014-05-26 00:27:02 +00:00
|
|
|
|
ld a, 2
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ffa4], a
|
2014-05-26 00:27:02 +00:00
|
|
|
|
ld a, $d ; DivideBCDPredef
|
|
|
|
|
call Predef
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ffa2]
|
2014-05-26 00:27:02 +00:00
|
|
|
|
ld [wPlayerMoney], a
|
|
|
|
|
ld a, [$ffa2 + 1]
|
|
|
|
|
ld [wPlayerMoney + 1], a
|
|
|
|
|
ld a, [$ffa2 + 2]
|
|
|
|
|
ld [wPlayerMoney + 2], a
|
|
|
|
|
|
|
|
|
|
.lostmoney
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld hl, $d732
|
|
|
|
|
set 2, [hl]
|
|
|
|
|
res 3, [hl]
|
|
|
|
|
set 6, [hl]
|
2014-05-26 00:27:02 +00:00
|
|
|
|
ld a, %11111111
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld [wJoyIgnore], a
|
2014-05-26 00:27:02 +00:00
|
|
|
|
ld a, $7 ; HealParty
|
|
|
|
|
jp Predef
|
2013-11-09 19:21:51 +00:00
|
|
|
|
|
2014-05-25 04:01:59 +00:00
|
|
|
|
MewPicFront:: INCBIN "pic/bmon/mew.pic"
|
|
|
|
|
MewPicBack:: INCBIN "pic/monback/mewb.pic"
|
2014-05-17 02:26:26 +00:00
|
|
|
|
INCLUDE "data/baseStats/mew.asm"
|
2012-01-28 04:15:45 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/safari_zone.asm"
|
2013-04-07 02:01:08 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/titlescreen.asm"
|
2012-01-15 07:47:47 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
NintenText: db "NINTEN@"
|
|
|
|
|
SonyText: db "SONY@"
|
2012-02-09 23:23:12 +00:00
|
|
|
|
|
|
|
|
|
; loads pokemon data from one of multiple sources to $cf98
|
|
|
|
|
; loads base stats to $d0b8
|
|
|
|
|
; INPUT:
|
|
|
|
|
; [$cf92] = index of pokemon within party/box
|
|
|
|
|
; [$cc49] = source
|
|
|
|
|
; 00: player's party
|
|
|
|
|
; 01: enemy's party
|
|
|
|
|
; 02: current box
|
|
|
|
|
; 03: daycare
|
|
|
|
|
; OUTPUT:
|
|
|
|
|
; [$cf91] = pokemon ID
|
|
|
|
|
; $cf98 = base address of pokemon data
|
|
|
|
|
; $d0b8 = base address of base stats
|
2013-04-07 02:01:08 +00:00
|
|
|
|
LoadMonData_: ; 45b6 (1:45b6)
|
2014-01-06 00:24:01 +00:00
|
|
|
|
ld a,[W_DAYCAREMONDATA] ; daycare pokemon ID
|
2012-02-09 23:23:12 +00:00
|
|
|
|
ld [$cf91],a
|
|
|
|
|
ld a,[$cc49]
|
|
|
|
|
cp a,$03
|
2013-03-13 14:11:41 +00:00
|
|
|
|
jr z,.GetMonHeader
|
2014-01-06 18:10:06 +00:00
|
|
|
|
ld a,[wWhichPokemon]
|
2012-02-09 23:23:12 +00:00
|
|
|
|
ld e,a
|
2014-04-22 21:14:11 +00:00
|
|
|
|
callab Func_39c37 ; get pokemon ID
|
2013-03-13 14:11:41 +00:00
|
|
|
|
.GetMonHeader
|
2012-02-09 23:23:12 +00:00
|
|
|
|
ld a,[$cf91]
|
2013-03-13 14:11:41 +00:00
|
|
|
|
ld [$d0b5],a ; input for GetMonHeader
|
|
|
|
|
call GetMonHeader ; load base stats to $d0b8
|
2012-02-09 23:23:12 +00:00
|
|
|
|
ld hl,W_PARTYMON1DATA
|
|
|
|
|
ld bc,44
|
|
|
|
|
ld a,[$cc49]
|
|
|
|
|
cp a,$01
|
2012-10-02 19:20:37 +00:00
|
|
|
|
jr c,.getMonEntry
|
2013-12-08 19:58:05 +00:00
|
|
|
|
ld hl,wEnemyMons ; enemy pokemon 1 data
|
2012-10-02 19:20:37 +00:00
|
|
|
|
jr z,.getMonEntry
|
2012-02-09 23:23:12 +00:00
|
|
|
|
cp a,$02
|
2013-04-07 02:01:08 +00:00
|
|
|
|
ld hl,W_BOXMON1DATA ; box pokemon 1 data
|
2012-02-09 23:23:12 +00:00
|
|
|
|
ld bc,33
|
2012-10-02 19:20:37 +00:00
|
|
|
|
jr z,.getMonEntry
|
2014-01-06 00:24:01 +00:00
|
|
|
|
ld hl, W_DAYCAREMONDATA ; daycare pokemon data
|
2012-10-02 19:20:37 +00:00
|
|
|
|
jr .copyMonData
|
|
|
|
|
.getMonEntry ; add the product of the index and the size of each entry
|
2014-01-06 18:10:06 +00:00
|
|
|
|
ld a,[wWhichPokemon]
|
2012-02-09 23:23:12 +00:00
|
|
|
|
call AddNTimes
|
2012-10-02 19:20:37 +00:00
|
|
|
|
.copyMonData
|
2012-02-09 23:23:12 +00:00
|
|
|
|
ld de,$cf98
|
|
|
|
|
ld bc,44
|
|
|
|
|
jp CopyData
|
|
|
|
|
|
2014-05-16 23:50:38 +00:00
|
|
|
|
INCLUDE "data/item_prices.asm"
|
|
|
|
|
|
|
|
|
|
INCLUDE "text/item_names.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2013-04-07 02:01:08 +00:00
|
|
|
|
UnusedNames: ; 4a92 (1:4a92)
|
2012-01-14 20:36:00 +00:00
|
|
|
|
db "かみなりバッヂ@"
|
|
|
|
|
db "かいがらバッヂ@"
|
|
|
|
|
db "おじぞうバッヂ@"
|
|
|
|
|
db "はやぶさバッヂ@"
|
|
|
|
|
db "ひんやりバッヂ@"
|
|
|
|
|
db "なかよしバッヂ@"
|
|
|
|
|
db "バラバッヂ@"
|
|
|
|
|
db "ひのたまバッヂ@"
|
|
|
|
|
db "ゴールドバッヂ@"
|
|
|
|
|
db "たまご@"
|
|
|
|
|
db "ひよこ@"
|
|
|
|
|
db "ブロンズ@"
|
|
|
|
|
db "シルバー@"
|
|
|
|
|
db "ゴールド@"
|
|
|
|
|
db "プチキャプテン@"
|
|
|
|
|
db "キャプテン@"
|
|
|
|
|
db "プチマスター@"
|
|
|
|
|
db "マスター@"
|
2013-12-09 15:55:50 +00:00
|
|
|
|
db "エクセレント"
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-26 02:23:12 +00:00
|
|
|
|
INCLUDE "engine/overworld/oam.asm"
|
|
|
|
|
INCLUDE "engine/oam_dma.asm"
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
PrintWaitingText:
|
|
|
|
|
FuncCoord 3, 10
|
2013-04-07 02:01:08 +00:00
|
|
|
|
ld hl, Coord
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, $1
|
|
|
|
|
ld c, $b
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld a, [W_ISINBATTLE]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_4c17
|
2012-01-14 20:36:00 +00:00
|
|
|
|
call TextBoxBorder
|
2013-03-12 00:52:32 +00:00
|
|
|
|
jr .asm_4c1a
|
|
|
|
|
.asm_4c17
|
|
|
|
|
call Func_5ab3
|
|
|
|
|
.asm_4c1a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
FuncCoord 4, 11
|
2013-04-07 02:01:08 +00:00
|
|
|
|
ld hl, Coord
|
2014-05-16 05:33:16 +00:00
|
|
|
|
ld de, WaitingText
|
2012-01-14 20:36:00 +00:00
|
|
|
|
call PlaceString
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld c, 50
|
2013-03-12 00:52:32 +00:00
|
|
|
|
jp DelayFrames
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
WaitingText:
|
2013-09-01 20:34:39 +00:00
|
|
|
|
db "Waiting...!@"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
_UpdateSprites: ; 4c34 (1:4c34)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c1
|
|
|
|
|
inc h
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, $e ; $c20e
|
|
|
|
|
.spriteLoop
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld l, a
|
|
|
|
|
sub $e
|
|
|
|
|
ld c, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [H_CURRENTSPRITEOFFSET], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hl]
|
|
|
|
|
and a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .skipSprite ; tests $c2Xe
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push hl
|
|
|
|
|
push de
|
|
|
|
|
push bc
|
2013-03-17 21:54:12 +00:00
|
|
|
|
call .updateCurrentSprite
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop bc
|
|
|
|
|
pop de
|
|
|
|
|
pop hl
|
2013-03-17 21:54:12 +00:00
|
|
|
|
.skipSprite
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, l
|
2013-03-17 21:54:12 +00:00
|
|
|
|
add $10 ; move to next sprite
|
|
|
|
|
cp $e ; test for overflow (back at $0e)
|
|
|
|
|
jr nz, .spriteLoop
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
2013-03-17 21:54:12 +00:00
|
|
|
|
.updateCurrentSprite ; 4c54 (1:4c54)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jp nz, UpdateNonPlayerSprite
|
|
|
|
|
jp UpdatePlayerSprite
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
UpdateNonPlayerSprite:
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec a
|
|
|
|
|
swap a
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff93], a ; $10 * sprite#
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [$cf17] ; some sprite offset?
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp b
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nz, .unequal
|
2013-03-12 00:52:32 +00:00
|
|
|
|
jp Func_5236
|
2013-03-17 21:54:12 +00:00
|
|
|
|
.unequal
|
2013-03-12 00:52:32 +00:00
|
|
|
|
jp Func_4ed1
|
2012-02-13 00:28:29 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
Func_4c70:
|
2013-03-12 00:52:32 +00:00
|
|
|
|
nop
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
ld h, $c100 / $100
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2014-05-25 17:09:39 +00:00
|
|
|
|
add $c100 % $100
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld l, a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hl]
|
|
|
|
|
and a
|
|
|
|
|
ret z
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, l
|
2014-05-25 17:09:39 +00:00
|
|
|
|
add 3
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld l, a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
call Func_4d72
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
2014-05-25 17:09:39 +00:00
|
|
|
|
add 4
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add b
|
|
|
|
|
and $f0
|
|
|
|
|
or c
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff90], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
call Func_4d72
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hl]
|
|
|
|
|
add b
|
|
|
|
|
and $f0
|
|
|
|
|
or c
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff91], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, l
|
2014-05-25 17:09:39 +00:00
|
|
|
|
add 7
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld l, a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2012-02-13 00:28:29 +00:00
|
|
|
|
xor a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [hld], a
|
|
|
|
|
ld [hld], a
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ff91]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [hld], a
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ff90]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [hl], a
|
|
|
|
|
xor a
|
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
.loop
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff8f], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
swap a
|
|
|
|
|
ld e, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp e
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jp z, .next
|
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld d, h
|
|
|
|
|
ld a, [de]
|
|
|
|
|
and a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jp z, .next
|
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc e
|
|
|
|
|
inc e
|
|
|
|
|
ld a, [de]
|
2012-02-13 00:28:29 +00:00
|
|
|
|
inc a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jp z, .next
|
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2014-05-25 17:09:39 +00:00
|
|
|
|
add 10
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld l, a
|
|
|
|
|
inc e
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [de]
|
|
|
|
|
call Func_4d72
|
|
|
|
|
inc e
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [de]
|
2014-05-25 17:09:39 +00:00
|
|
|
|
add 4
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add b
|
|
|
|
|
and $f0
|
|
|
|
|
or c
|
|
|
|
|
sub [hl]
|
|
|
|
|
jr nc, .asm_4cd4
|
|
|
|
|
cpl
|
|
|
|
|
inc a
|
|
|
|
|
.asm_4cd4
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff90], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push af
|
|
|
|
|
rl c
|
|
|
|
|
pop af
|
|
|
|
|
ccf
|
|
|
|
|
rl c
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld b, 7
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hl]
|
|
|
|
|
and $f
|
|
|
|
|
jr z, .asm_4ce6
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld b, 9
|
2013-03-12 00:52:32 +00:00
|
|
|
|
.asm_4ce6
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ff90]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
sub b
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff92], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, b
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff90], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
jr c, .asm_4d01
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
ld b, 7
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec e
|
|
|
|
|
ld a, [de]
|
|
|
|
|
inc e
|
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_4cfa
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld b, 9
|
2013-03-12 00:52:32 +00:00
|
|
|
|
.asm_4cfa
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ff92]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
sub b
|
|
|
|
|
jr z, .asm_4d01
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr nc, .next
|
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
.asm_4d01
|
|
|
|
|
inc e
|
|
|
|
|
inc l
|
|
|
|
|
ld a, [de]
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push bc
|
|
|
|
|
call Func_4d72
|
|
|
|
|
inc e
|
|
|
|
|
ld a, [de]
|
|
|
|
|
add b
|
|
|
|
|
and $f0
|
|
|
|
|
or c
|
|
|
|
|
pop bc
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
sub [hl]
|
|
|
|
|
jr nc, .asm_4d14
|
|
|
|
|
cpl
|
|
|
|
|
inc a
|
|
|
|
|
.asm_4d14
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff91], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push af
|
|
|
|
|
rl c
|
|
|
|
|
pop af
|
|
|
|
|
ccf
|
|
|
|
|
rl c
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld b, 7
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hl]
|
|
|
|
|
and $f
|
|
|
|
|
jr z, .asm_4d26
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld b, 9
|
2013-03-12 00:52:32 +00:00
|
|
|
|
.asm_4d26
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ff91]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
sub b
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff92], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, b
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff91], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
jr c, .asm_4d41
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld b, 7
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec e
|
|
|
|
|
ld a, [de]
|
|
|
|
|
inc e
|
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_4d3a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld b, 9
|
2013-03-12 00:52:32 +00:00
|
|
|
|
.asm_4d3a
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ff92]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
sub b
|
|
|
|
|
jr z, .asm_4d41
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr nc, .next
|
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
.asm_4d41
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ff91]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ff90]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc l
|
|
|
|
|
cp b
|
|
|
|
|
jr c, .asm_4d4e
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld b, 12
|
2013-03-12 00:52:32 +00:00
|
|
|
|
jr .asm_4d50
|
|
|
|
|
.asm_4d4e
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld b, 3
|
2013-03-12 00:52:32 +00:00
|
|
|
|
.asm_4d50
|
|
|
|
|
ld a, c
|
|
|
|
|
and b
|
|
|
|
|
or [hl]
|
|
|
|
|
ld [hl], a
|
|
|
|
|
ld a, c
|
|
|
|
|
inc l
|
|
|
|
|
inc l
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ff8f]
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld de, DiagonalLines
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add a
|
|
|
|
|
add e
|
|
|
|
|
ld e, a
|
|
|
|
|
jr nc, .asm_4d62
|
|
|
|
|
inc d
|
|
|
|
|
.asm_4d62
|
|
|
|
|
ld a, [de]
|
|
|
|
|
or [hl]
|
|
|
|
|
ld [hli], a
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [de]
|
|
|
|
|
or [hl]
|
|
|
|
|
ld [hl], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
.next
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ff8f]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc a
|
|
|
|
|
cp $10
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jp nz, .loop
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
Func_4d72:
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld b, 0
|
|
|
|
|
ld c, 0
|
|
|
|
|
jr z, .done
|
|
|
|
|
ld c, 9
|
|
|
|
|
cp -1
|
|
|
|
|
jr z, .ok
|
|
|
|
|
ld c, 7
|
|
|
|
|
ld a, 0
|
|
|
|
|
.ok
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
.done
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
DiagonalLines: INCBIN "gfx/diagonal_lines.2bpp"
|
2013-08-20 17:49:05 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
TestBattle:
|
2013-12-09 15:55:50 +00:00
|
|
|
|
ret
|
2013-11-15 06:56:54 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
.loop
|
2013-11-15 06:56:54 +00:00
|
|
|
|
call GBPalNormal
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
; Don't mess around
|
|
|
|
|
; with obedience.
|
|
|
|
|
ld a, %10000000 ; EARTHBADGE
|
2013-11-15 06:56:54 +00:00
|
|
|
|
ld [W_OBTAINEDBADGES], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-11-15 06:56:54 +00:00
|
|
|
|
ld hl, W_FLAGS_D733
|
|
|
|
|
set 0, [hl]
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
; Reset the party.
|
2013-11-15 06:56:54 +00:00
|
|
|
|
ld hl, W_NUMINPARTY
|
|
|
|
|
xor a
|
|
|
|
|
ld [hli], a
|
|
|
|
|
dec a
|
|
|
|
|
ld [hl], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
; Give the player a
|
|
|
|
|
; level 20 Rhydon.
|
|
|
|
|
ld a, RHYDON
|
2013-11-15 06:56:54 +00:00
|
|
|
|
ld [$cf91], a
|
2014-05-16 20:15:59 +00:00
|
|
|
|
ld a, 20
|
2013-11-15 06:56:54 +00:00
|
|
|
|
ld [W_CURENEMYLVL], a
|
|
|
|
|
xor a
|
|
|
|
|
ld [$cc49], a
|
|
|
|
|
ld [W_CURMAP], a
|
|
|
|
|
call AddPokemonToParty
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
; Fight against a
|
|
|
|
|
; level 20 Rhydon.
|
2014-05-16 20:15:59 +00:00
|
|
|
|
ld a, RHYDON
|
2013-11-15 06:56:54 +00:00
|
|
|
|
ld [W_CUROPPONENT], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
ld a, $2c ; PREDEF_BATTLE
|
2013-11-15 06:56:54 +00:00
|
|
|
|
call Predef
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
; When the battle ends,
|
|
|
|
|
; do it all again.
|
|
|
|
|
ld a, 1
|
2013-11-15 06:56:54 +00:00
|
|
|
|
ld [$cfcb], a
|
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr .loop
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
PickupItem:
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call EnableAutoTextBoxDrawing
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld hl, W_MISSABLEOBJECTLIST
|
|
|
|
|
.missableObjectsListLoop
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp $ff
|
|
|
|
|
ret z
|
|
|
|
|
cp b
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .isMissable
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc hl
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr .missableObjectsListLoop
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
.isMissable
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hl]
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ffdb], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld hl, W_MAPSPRITEEXTRADATA
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec a
|
|
|
|
|
add a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld d, 0
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld e, a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
add hl, de
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
ld b, a ; item
|
|
|
|
|
ld c, 1 ; quantity
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call GiveItem
|
2013-07-01 16:45:17 +00:00
|
|
|
|
jr nc, .BagFull
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ffdb]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [$cc4d], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld a, $11 ; RemoveMissableObject
|
|
|
|
|
call Predef
|
|
|
|
|
ld a, 1
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [$cc3c], a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld hl, FoundItemText
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr .print
|
|
|
|
|
|
2013-07-01 16:45:17 +00:00
|
|
|
|
.BagFull
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld hl, NoMoreRoomForItemText
|
2014-05-25 17:09:39 +00:00
|
|
|
|
.print
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call PrintText
|
|
|
|
|
ret
|
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
FoundItemText:
|
2013-03-17 21:54:12 +00:00
|
|
|
|
TX_FAR _FoundItemText
|
|
|
|
|
db $0B
|
2013-10-17 01:24:54 +00:00
|
|
|
|
db "@"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
NoMoreRoomForItemText:
|
2013-03-17 21:54:12 +00:00
|
|
|
|
TX_FAR _NoMoreRoomForItemText
|
2013-10-17 01:24:54 +00:00
|
|
|
|
db "@"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
UpdatePlayerSprite: ; 4e31 (1:4e31)
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld a, [wSpriteStateData2]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_4e41
|
|
|
|
|
cp $ff
|
|
|
|
|
jr z, .asm_4e4a
|
|
|
|
|
dec a
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld [wSpriteStateData2], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
jr .asm_4e4a
|
|
|
|
|
.asm_4e41
|
2013-04-07 02:01:08 +00:00
|
|
|
|
FuncCoord 8, 9 ; $c45c
|
|
|
|
|
ld a, [Coord]
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ff93], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $60
|
|
|
|
|
jr c, .asm_4e50
|
|
|
|
|
.asm_4e4a
|
|
|
|
|
ld a, $ff
|
|
|
|
|
ld [$c102], a
|
|
|
|
|
ret
|
|
|
|
|
.asm_4e50
|
|
|
|
|
call Func_4c70
|
|
|
|
|
ld h, $c1
|
2013-12-08 09:49:40 +00:00
|
|
|
|
ld a, [wWalkCounter] ; $cfc5
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
|
|
|
|
jr nz, .asm_4e90
|
|
|
|
|
ld a, [$d528]
|
|
|
|
|
bit 2, a
|
|
|
|
|
jr z, .asm_4e65
|
|
|
|
|
xor a
|
|
|
|
|
jr .asm_4e86
|
|
|
|
|
.asm_4e65
|
|
|
|
|
bit 3, a
|
|
|
|
|
jr z, .asm_4e6d
|
|
|
|
|
ld a, $4
|
|
|
|
|
jr .asm_4e86
|
|
|
|
|
.asm_4e6d
|
|
|
|
|
bit 1, a
|
|
|
|
|
jr z, .asm_4e75
|
|
|
|
|
ld a, $8
|
|
|
|
|
jr .asm_4e86
|
|
|
|
|
.asm_4e75
|
|
|
|
|
bit 0, a
|
|
|
|
|
jr z, .asm_4e7d
|
|
|
|
|
ld a, $c
|
|
|
|
|
jr .asm_4e86
|
|
|
|
|
.asm_4e7d
|
|
|
|
|
xor a
|
|
|
|
|
ld [$c107], a
|
|
|
|
|
ld [$c108], a
|
|
|
|
|
jr .asm_4eab
|
|
|
|
|
.asm_4e86
|
|
|
|
|
ld [$c109], a
|
|
|
|
|
ld a, [$cfc4]
|
|
|
|
|
bit 0, a
|
|
|
|
|
jr nz, .asm_4e7d
|
|
|
|
|
.asm_4e90
|
|
|
|
|
ld a, [$d736]
|
|
|
|
|
bit 7, a
|
|
|
|
|
jr nz, .asm_4eb6
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $7
|
|
|
|
|
ld l, a
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
inc a
|
|
|
|
|
ld [hl], a
|
|
|
|
|
cp $4
|
|
|
|
|
jr nz, .asm_4eab
|
|
|
|
|
xor a
|
|
|
|
|
ld [hl], a
|
|
|
|
|
inc hl
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
inc a
|
|
|
|
|
and $3
|
|
|
|
|
ld [hl], a
|
|
|
|
|
.asm_4eab
|
|
|
|
|
ld a, [$c108]
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [$c109]
|
|
|
|
|
add b
|
|
|
|
|
ld [$c102], a
|
|
|
|
|
.asm_4eb6
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ff93]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld c, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [W_GRASSTILE]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp c
|
|
|
|
|
ld a, $0
|
|
|
|
|
jr nz, .asm_4ec3
|
|
|
|
|
ld a, $80
|
|
|
|
|
.asm_4ec3
|
|
|
|
|
ld [$c207], a
|
|
|
|
|
ret
|
|
|
|
|
|
2013-11-15 06:56:54 +00:00
|
|
|
|
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
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
|
|
|
|
Func_4ed1: ; 4ed1 (1:4ed1)
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
swap a
|
|
|
|
|
dec a
|
|
|
|
|
add a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld hl, W_MAPSPRITEDATA ; $d4e4
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add l
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; read movement byte 2
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld [wCurSpriteMovement2], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld l, a
|
|
|
|
|
inc l
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c1x1
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jp z, InitializeSpriteStatus
|
|
|
|
|
call CheckSpriteAvailability
|
|
|
|
|
ret c ; if sprite is invisible, on tile >=$60, in grass or player is currently walking
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld l, a
|
|
|
|
|
inc l
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c1x1
|
2013-03-12 00:52:32 +00:00
|
|
|
|
bit 7, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jp nz, InitializeSpriteFacingDirection ; c1x1 >= $80
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [$cfc4]
|
|
|
|
|
bit 0, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jp nz, notYetMoving
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, b
|
|
|
|
|
cp $2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jp z, UpdateSpriteMovementDelay ; c1x1 == 2
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $3
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jp z, UpdateSpriteInWalkingAnimation ; c1x1 == 3
|
2013-12-08 09:49:40 +00:00
|
|
|
|
ld a, [wWalkCounter] ; $cfc5
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ret nz ; don't do anything yet if player is currently moving (redundant, already tested in CheckSpriteAvailability)
|
|
|
|
|
call InitializeSpriteScreenPosition
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $6
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c2x6: movement byte 1
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .asm_4f59 ; value $FF
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .asm_4f59 ; value $FE
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], a ; (temporarily) increment movement byte 1
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec a
|
|
|
|
|
push hl
|
|
|
|
|
ld hl, $cf0f
|
2013-03-17 21:54:12 +00:00
|
|
|
|
dec [hl] ; decrement $cf0f
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop hl
|
|
|
|
|
ld de, $cc5b
|
2013-03-17 21:54:12 +00:00
|
|
|
|
call LoadDEPlusA ; a = [$cc5b + movement byte 1]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $e0
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jp z, ChangeFacingDirection
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $ff
|
|
|
|
|
jr nz, .asm_4f4b
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], a ; reset movement byte 1 to initial value
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld hl, $d730
|
|
|
|
|
res 0, [hl]
|
|
|
|
|
xor a
|
|
|
|
|
ld [$cd38], a
|
|
|
|
|
ld [$cd3a], a
|
|
|
|
|
ret
|
|
|
|
|
.asm_4f4b
|
|
|
|
|
cp $fe
|
|
|
|
|
jr nz, .asm_4f5f
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], $1 ; set movement byte 1 to $1
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld de, $cc5b
|
2013-03-17 21:54:12 +00:00
|
|
|
|
call LoadDEPlusA ; a = [$cc5b + $fe] (?)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
jr .asm_4f5f
|
|
|
|
|
.asm_4f59
|
2013-03-17 21:54:12 +00:00
|
|
|
|
call getTileSpriteStandsOn
|
2014-05-24 18:40:38 +00:00
|
|
|
|
call Random
|
2013-03-12 00:52:32 +00:00
|
|
|
|
.asm_4f5f
|
|
|
|
|
ld b, a
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld a, [wCurSpriteMovement2]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $d0
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .moveDown ; movement byte 2 = $d0 forces down
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $d1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .moveUp ; movement byte 2 = $d1 forces up
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $d2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .moveLeft ; movement byte 2 = $d2 forces left
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $d3
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .moveRight ; movement byte 2 = $d3 forces right
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, b
|
2013-03-17 21:54:12 +00:00
|
|
|
|
cp $40 ; a < $40: down (or left)
|
|
|
|
|
jr nc, .notDown
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld a, [wCurSpriteMovement2]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .moveLeft ; movement byte 2 = $2 only allows left or right
|
|
|
|
|
.moveDown
|
|
|
|
|
ld de, 2*20
|
|
|
|
|
add hl, de ; move tile pointer two rows down
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld de, $100
|
2013-03-17 21:54:12 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld bc, $400
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr TryWalking
|
|
|
|
|
.notDown
|
|
|
|
|
cp $80 ; $40 <= a < $80: up (or right)
|
|
|
|
|
jr nc, .notUp
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld a, [wCurSpriteMovement2]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .moveRight ; movement byte 2 = $2 only allows left or right
|
|
|
|
|
.moveUp
|
|
|
|
|
ld de, -2*20 ; $ffd8
|
|
|
|
|
add hl, de ; move tile pointer two rows up
|
|
|
|
|
ld de, $ff00
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld bc, $804
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr TryWalking
|
|
|
|
|
.notUp
|
|
|
|
|
cp $c0 ; $80 <= a < $c0: left (or up)
|
|
|
|
|
jr nc, .notLeft
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld a, [wCurSpriteMovement2]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .moveUp ; movement byte 2 = $1 only allows up or down
|
|
|
|
|
.moveLeft
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec hl
|
2013-03-17 21:54:12 +00:00
|
|
|
|
dec hl ; move tile pointer two columns left
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld de, $ff
|
|
|
|
|
ld bc, $208
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr TryWalking
|
|
|
|
|
.notLeft ; $c0 <= a: right (or down)
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld a, [wCurSpriteMovement2]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .moveDown ; movement byte 2 = $1 only allows up or down
|
|
|
|
|
.moveRight
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc hl
|
2013-03-17 21:54:12 +00:00
|
|
|
|
inc hl ; move tile pointer two columns right
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld de, $1
|
|
|
|
|
ld bc, $10c
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr TryWalking
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2013-10-25 18:15:25 +00:00
|
|
|
|
; changes facing direction by zeroing the movement delta and calling TryWalking
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ChangeFacingDirection: ; 4fc8 (1:4fc8)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld de, $0
|
2013-03-17 21:54:12 +00:00
|
|
|
|
; fall through
|
|
|
|
|
|
|
|
|
|
; b: direction (1,2,4 or 8)
|
|
|
|
|
; c: new facing direction (0,4,8 or $c)
|
|
|
|
|
; d: Y movement delta (-1, 0 or 1)
|
|
|
|
|
; e: X movement delta (-1, 0 or 1)
|
|
|
|
|
; hl: pointer to tile the sprite would wlak onto
|
|
|
|
|
; set carry on failure, clears carry on success
|
|
|
|
|
TryWalking: ; 4fcb (1:4fcb)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push hl
|
|
|
|
|
ld h, $c1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $9
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], c ; c1x9 (update facing direction)
|
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $3
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], d ; c1x3 (update Y movement delta)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc l
|
|
|
|
|
inc l
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], e ; c1x5 (update X movement delta)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop hl
|
|
|
|
|
push de
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld c, [hl] ; read tile to walk onto
|
|
|
|
|
call CanWalkOntoTile
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop de
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ret c ; cannot walk there (reinitialization of delay values already done)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $4
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c2x4: Y position
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add d
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hli], a ; update Y position
|
|
|
|
|
ld a, [hl] ; c2x5: X position
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add e
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], a ; update X position
|
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], $10 ; c2x0=16: walk animation counter
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec h
|
|
|
|
|
inc l
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], $3 ; c1x1: set movement status to walking
|
|
|
|
|
jp UpdateSpriteImage
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
; update the walking animation parameters for a sprite that is currently walking
|
|
|
|
|
UpdateSpriteInWalkingAnimation: ; 4ffe (1:4ffe)
|
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $7
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c1x7 (counter until next walk animation frame)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], a ; c1x7 += 1
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $4
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nz, .noNextAnimationFrame
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], a ; c1x7 = 0
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc l
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c1x8 (walk animation frame)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc a
|
|
|
|
|
and $3
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], a ; advance to next animation frame every 4 ticks (16 ticks total for one step)
|
|
|
|
|
.noNextAnimationFrame
|
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $3
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hli] ; c1x3 (movement Y delta)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c1x4 (screen Y position)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add b
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hli], a ; update screen Y position
|
|
|
|
|
ld a, [hli] ; c1x5 (movement X delta)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c1x6 (screen X position)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add b
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], a ; update screen X position
|
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld l, a
|
|
|
|
|
inc h
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c2x0 (walk animantion counter)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], a ; update walk animantion counter
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret nz
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, $6 ; walking finished, update state
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add l
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c2x6 (movement byte 1)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $fe
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nc, .initNextMovementCounter ; values $fe and $ff
|
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc a
|
|
|
|
|
ld l, a
|
|
|
|
|
dec h
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], $1 ; c1x1 = 1 (movement status ready)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
2013-03-17 21:54:12 +00:00
|
|
|
|
.initNextMovementCounter
|
2014-05-24 18:40:38 +00:00
|
|
|
|
call Random
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $8
|
|
|
|
|
ld l, a
|
2014-05-24 18:40:38 +00:00
|
|
|
|
ld a, [hRandomAdd]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and $7f
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], a ; c2x8: set next movement delay to a random value in [0,$7f]
|
|
|
|
|
dec h ; note that value 0 actually makes the delay $100 (bug?)
|
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc a
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], $2 ; c1x1 = 2 (movement status)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc l
|
|
|
|
|
inc l
|
|
|
|
|
xor a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld b, [hl] ; c1x3 (movement Y delta)
|
|
|
|
|
ld [hli], a ; reset movement Y delta
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc l
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld c, [hl] ; c1x5 (movement X delta)
|
|
|
|
|
ld [hl], a ; reset movement X delta
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
; update delay value (c2x8) for sprites in the delayed state (c1x1)
|
|
|
|
|
UpdateSpriteMovementDelay: ; 5057 (1:5057)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $6
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c2x6: movement byte 1
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc l
|
|
|
|
|
inc l
|
|
|
|
|
cp $fe
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nc, .tickMoveCounter ; values $fe or $ff
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [hl], $0
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr .moving
|
|
|
|
|
.tickMoveCounter
|
|
|
|
|
dec [hl] ; c2x8: frame counter until next movement
|
|
|
|
|
jr nz, notYetMoving
|
|
|
|
|
.moving
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec h
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc a
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], $1 ; c1x1 = 1 (mark as ready to move)
|
|
|
|
|
notYetMoving: ; 5073 (1:5073)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $8
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], $0 ; c1x8 = 0 (walk animation frame)
|
|
|
|
|
jp UpdateSpriteImage
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
InitializeSpriteFacingDirection: ; 507f (1:507f)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [$d72d]
|
|
|
|
|
bit 5, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nz, notYetMoving
|
2013-03-12 00:52:32 +00:00
|
|
|
|
res 7, [hl]
|
|
|
|
|
ld a, [$d52a]
|
|
|
|
|
bit 3, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .notFacingDown
|
|
|
|
|
ld c, $0 ; make sprite face down
|
|
|
|
|
jr .facingDirectionDetermined
|
|
|
|
|
.notFacingDown
|
2013-03-12 00:52:32 +00:00
|
|
|
|
bit 2, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .notFacingUp
|
|
|
|
|
ld c, $4 ; make sprite face up
|
|
|
|
|
jr .facingDirectionDetermined
|
|
|
|
|
.notFacingUp
|
2013-03-12 00:52:32 +00:00
|
|
|
|
bit 1, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .notFacingRight
|
|
|
|
|
ld c, $c ; make sprite face right
|
|
|
|
|
jr .facingDirectionDetermined
|
|
|
|
|
.notFacingRight
|
|
|
|
|
ld c, $8 ; make sprite face left
|
|
|
|
|
.facingDirectionDetermined
|
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $9
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], c ; c1x9: set facing direction
|
|
|
|
|
jr notYetMoving
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
InitializeSpriteStatus: ; 50ad (1:50ad)
|
|
|
|
|
ld [hl], $1 ; $c1x1: set movement status to ready
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc l
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], $ff ; $c1x2: set sprite image to $ff (invisible/off screen)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc h
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $2
|
|
|
|
|
ld l, a
|
|
|
|
|
ld a, $8
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hli], a ; $c2x2: set Y displacement to 8
|
|
|
|
|
ld [hl], a ; $c2x3: set X displacement to 8
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
; calculates the spprite's scrren position form its map position and the player position
|
|
|
|
|
InitializeSpriteScreenPosition: ; 50bd (1:50bd)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $4
|
|
|
|
|
ld l, a
|
|
|
|
|
ld a, [W_YCOORD] ; $d361
|
|
|
|
|
ld b, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c2x4 (Y position + 4)
|
|
|
|
|
sub b ; relative to player position
|
|
|
|
|
swap a ; * 16
|
|
|
|
|
sub $4 ; - 4
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec h
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hli], a ; c1x4 (screen Y position)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc h
|
|
|
|
|
ld a, [W_XCOORD] ; $d362
|
|
|
|
|
ld b, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hli] ; c2x6 (X position + 4)
|
|
|
|
|
sub b ; relative to player position
|
|
|
|
|
swap a ; * 16
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec h
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], a ; c1x6 (screen X position)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
; tests if sprite is off screen or otherwise unable to do anything
|
|
|
|
|
CheckSpriteAvailability: ; 50dc (1:50dc)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, $12
|
2013-03-17 21:54:12 +00:00
|
|
|
|
call Predef ; indirect jump to IsMissableObjectHidden (f1a6 (3:71a6))
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ffe5]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jp nz, .spriteInvisible
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $6
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c2x6: movement byte 1
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $fe
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr c, .skipXVisibilityTest ; movement byte 1 < $fe
|
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $4
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld b, [hl] ; c2x4: Y pos (+4)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [W_YCOORD] ; $d361
|
|
|
|
|
cp b
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .skipYVisibilityTest
|
|
|
|
|
jr nc, .spriteInvisible ; above screen region
|
|
|
|
|
add $8 ; screen is 9 tiles high
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp b
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr c, .spriteInvisible ; below screen region
|
|
|
|
|
.skipYVisibilityTest
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc l
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld b, [hl] ; c2x5: X pos (+4)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [W_XCOORD] ; $d362
|
|
|
|
|
cp b
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .skipXVisibilityTest
|
|
|
|
|
jr nc, .spriteInvisible ; left of screen region
|
|
|
|
|
add $9 ; screen is 10 tiles wide
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp b
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr c, .spriteInvisible ; right of screen region
|
|
|
|
|
.skipXVisibilityTest
|
|
|
|
|
call getTileSpriteStandsOn
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld d, $60
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp d
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nc, .spriteInvisible ; standing on tile with ID >=$60 (bottom left tile)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hld]
|
|
|
|
|
cp d
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nc, .spriteInvisible ; standing on tile with ID >=$60 (bottom right tile)
|
|
|
|
|
ld bc, -20 ; $ffec
|
|
|
|
|
add hl, bc ; go back one row of tiles
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp d
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nc, .spriteInvisible ; standing on tile with ID >=$60 (top left tile)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hl]
|
|
|
|
|
cp d
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr c, .spriteVisible ; standing on tile with ID >=$60 (top right tile)
|
|
|
|
|
.spriteInvisible
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $2
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], $ff ; c1x2
|
2013-03-12 00:52:32 +00:00
|
|
|
|
scf
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr .done
|
|
|
|
|
.spriteVisible
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld c, a
|
2013-12-08 09:49:40 +00:00
|
|
|
|
ld a, [wWalkCounter] ; $cfc5
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nz, .done ; if player is currently walking, we're done
|
|
|
|
|
call UpdateSpriteImage
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc h
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $7
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [W_GRASSTILE]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp c
|
|
|
|
|
ld a, $0
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nz, .notInGrass
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, $80
|
2013-03-17 21:54:12 +00:00
|
|
|
|
.notInGrass
|
|
|
|
|
ld [hl], a ; c2x7
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
.done
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
UpdateSpriteImage: ; 5157 (1:5157)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $8
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hli] ; c1x8: walk animation frame
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c1x9: facing direction
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add b
|
|
|
|
|
ld b, a
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ff93] ; current sprite offset
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add b
|
|
|
|
|
ld b, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $2
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], b ; c1x2: sprite to display
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
; tests if sprite can walk the specified direction
|
|
|
|
|
; b: direction (1,2,4 or 8)
|
|
|
|
|
; c: ID of tile the sprite would walk onto
|
|
|
|
|
; d: Y movement delta (-1, 0 or 1)
|
|
|
|
|
; e: X movement delta (-1, 0 or 1)
|
|
|
|
|
; set carry on failure, clears carry on success
|
|
|
|
|
CanWalkOntoTile: ; 516e (1:516e)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $6
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c2x6 (movement byte 1)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $fe
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nc, .canMove ; values $fe and $ff
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
|
|
|
|
ret
|
2013-03-17 21:54:12 +00:00
|
|
|
|
.canMove
|
|
|
|
|
ld a, [W_TILESETCOLLISIONPTR]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [W_TILESETCOLLISIONPTR+1]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
.tilePassableLoop
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp $ff
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .impassable
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp c
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nz, .tilePassableLoop
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $6
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; $c2x6 (movement byte 1)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr z, .impassable ; if $ff, no movement allowed (however, changing direction is)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $4
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hli] ; c1x4 (screen Y pos)
|
|
|
|
|
add $4 ; align to blocks (Y pos is always 4 pixels off)
|
|
|
|
|
add d ; add Y delta
|
|
|
|
|
cp $80 ; if value is >$80, the destination is off screen (either $81 or $FF underflow)
|
|
|
|
|
jr nc, .impassable ; don't walk off screen
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc l
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c1x6 (screen X pos)
|
|
|
|
|
add e ; add X delta
|
|
|
|
|
cp $90 ; if value is >$90, the destination is off screen (either $91 or $FF underflow)
|
|
|
|
|
jr nc, .impassable ; don't walk off screen
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push de
|
|
|
|
|
push bc
|
|
|
|
|
call Func_4c70
|
|
|
|
|
pop bc
|
|
|
|
|
pop de
|
|
|
|
|
ld h, $c1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $c
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c1xc (forbidden directions flags(?))
|
|
|
|
|
and b ; check against chosen direction (1,2,4 or 8)
|
|
|
|
|
jr nz, .impassable ; direction forbidden, don't go there
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $2
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hli] ; c2x2 (sprite Y displacement, initialized at $8, keep track of where a sprite did go)
|
2014-05-16 05:33:16 +00:00
|
|
|
|
bit 7, d ; check if going upwards (d=$ff)
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nz, .upwards
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add d
|
|
|
|
|
cp $5
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr c, .impassable ; if c2x2+d < 5, don't go ;bug: this tests probably were supposed to prevent sprites
|
|
|
|
|
jr .checkHorizontal ; from walking out too far, but this line makes sprites get stuck
|
|
|
|
|
.upwards ; whenever they walked upwards 5 steps
|
|
|
|
|
sub $1 ; on the other hand, the amount a sprite can walk out to the
|
|
|
|
|
jr c, .impassable ; if d2x2 == 0, don't go ; right of bottom is not limited (until the counter overflows)
|
|
|
|
|
.checkHorizontal
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld d, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c2x3 (sprite X displacement, initialized at $8, keep track of where a sprite did go)
|
2014-05-16 05:33:16 +00:00
|
|
|
|
bit 7, e ; check if going left (e=$ff)
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nz, .left
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add e
|
2013-03-17 21:54:12 +00:00
|
|
|
|
cp $5 ; compare, but no conditional jump like in the vertical check above (bug?)
|
|
|
|
|
jr .passable
|
|
|
|
|
.left
|
2013-03-12 00:52:32 +00:00
|
|
|
|
sub $1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr c, .impassable ; if d2x3 == 0, don't go
|
|
|
|
|
.passable
|
|
|
|
|
ld [hld], a ; update c2x3
|
|
|
|
|
ld [hl], d ; update c2x2
|
|
|
|
|
and a ; clear carry (marking success)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
2013-03-17 21:54:12 +00:00
|
|
|
|
.impassable
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc a
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], $2 ; c1x1 = 2 (set movement status to delayed)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc l
|
|
|
|
|
inc l
|
|
|
|
|
xor a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hli], a ; c1x3 = 0 (clear Y movement delta)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc l
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], a ; c1x5 = 0 (clear X movement delta)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc h
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $8
|
|
|
|
|
ld l, a
|
2014-05-24 18:40:38 +00:00
|
|
|
|
call Random
|
|
|
|
|
ld a, [hRandomAdd]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and $7f
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld [hl], a ; c2x8: set next movement delay to a random value in [0,$7f] (again with delay $100 if value is 0)
|
|
|
|
|
scf ; set carry (marking failure to walk)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
; 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
|
|
|
|
|
getTileSpriteStandsOn: ; 5207 (1:5207)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld h, $c1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $4
|
|
|
|
|
ld l, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hli] ; c1x4: screen Y position
|
|
|
|
|
add $4 ; align to 2*2 tile blocks (Y position is always off 4 pixels to the top)
|
|
|
|
|
and $f0 ; in case object is currently moving
|
|
|
|
|
srl a ; screen Y tile * 4
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $0
|
|
|
|
|
inc l
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [hl] ; c1x6: screen Y position
|
2013-03-12 00:52:32 +00:00
|
|
|
|
srl a
|
|
|
|
|
srl a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
srl a ; screen X tile
|
|
|
|
|
add $14 ; screen X tile + 20
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld d, $0
|
|
|
|
|
ld e, a
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld hl, wTileMap
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add hl, bc
|
|
|
|
|
add hl, bc
|
|
|
|
|
add hl, bc
|
|
|
|
|
add hl, bc
|
|
|
|
|
add hl, bc
|
2013-12-05 06:18:14 +00:00
|
|
|
|
add hl, de ; wTileMap + 20*(screen Y tile + 1) + screen X tile
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2013-03-17 21:54:12 +00:00
|
|
|
|
; loads [de+a] into a
|
|
|
|
|
LoadDEPlusA: ; 522f (1:522f)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add e
|
|
|
|
|
ld e, a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
jr nc, .noCarry
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc d
|
2013-03-17 21:54:12 +00:00
|
|
|
|
.noCarry
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [de]
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
Func_5236: ; 5236 (1:5236)
|
|
|
|
|
ld a, [$d730]
|
|
|
|
|
bit 7, a
|
|
|
|
|
ret z
|
|
|
|
|
ld hl, $d72e
|
|
|
|
|
bit 7, [hl]
|
|
|
|
|
set 7, [hl]
|
|
|
|
|
jp z, Func_52a6
|
|
|
|
|
ld hl, $cc97
|
|
|
|
|
ld a, [$cd37]
|
|
|
|
|
add l
|
|
|
|
|
ld l, a
|
|
|
|
|
jr nc, .asm_5251
|
|
|
|
|
inc h
|
|
|
|
|
.asm_5251
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
cp $40
|
|
|
|
|
jr nz, .asm_525f
|
|
|
|
|
call Func_52b2
|
|
|
|
|
ld c, $4
|
|
|
|
|
ld a, $fe
|
|
|
|
|
jr .asm_5289
|
|
|
|
|
.asm_525f
|
|
|
|
|
cp $0
|
|
|
|
|
jr nz, .asm_526c
|
|
|
|
|
call Func_52b2
|
|
|
|
|
ld c, $0
|
|
|
|
|
ld a, $2
|
|
|
|
|
jr .asm_5289
|
|
|
|
|
.asm_526c
|
|
|
|
|
cp $80
|
|
|
|
|
jr nz, .asm_5279
|
|
|
|
|
call Func_52b7
|
|
|
|
|
ld c, $8
|
|
|
|
|
ld a, $fe
|
|
|
|
|
jr .asm_5289
|
|
|
|
|
.asm_5279
|
|
|
|
|
cp $c0
|
|
|
|
|
jr nz, .asm_5286
|
|
|
|
|
call Func_52b7
|
|
|
|
|
ld c, $c
|
|
|
|
|
ld a, $2
|
|
|
|
|
jr .asm_5289
|
|
|
|
|
.asm_5286
|
|
|
|
|
cp $ff
|
|
|
|
|
ret
|
|
|
|
|
.asm_5289
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
add b
|
|
|
|
|
ld [hl], a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $9
|
|
|
|
|
ld l, a
|
|
|
|
|
ld a, c
|
|
|
|
|
ld [hl], a
|
|
|
|
|
call Func_52c3
|
|
|
|
|
ld hl, $cf18
|
|
|
|
|
dec [hl]
|
|
|
|
|
ret nz
|
|
|
|
|
ld a, $8
|
|
|
|
|
ld [$cf18], a
|
|
|
|
|
ld hl, $cd37
|
|
|
|
|
inc [hl]
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
Func_52a6: ; 52a6 (1:52a6)
|
|
|
|
|
xor a
|
|
|
|
|
ld [$cd37], a
|
|
|
|
|
ld a, $8
|
|
|
|
|
ld [$cf18], a
|
|
|
|
|
jp Func_52c3
|
|
|
|
|
|
|
|
|
|
Func_52b2: ; 52b2 (1:52b2)
|
|
|
|
|
ld a, $4
|
|
|
|
|
ld b, a
|
|
|
|
|
jr asm_52ba
|
|
|
|
|
|
|
|
|
|
Func_52b7: ; 52b7 (1:52b7)
|
|
|
|
|
ld a, $6
|
|
|
|
|
ld b, a
|
|
|
|
|
asm_52ba: ; 52ba (1:52ba)
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld hl, wSpriteStateData1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add l
|
|
|
|
|
add b
|
|
|
|
|
ld l, a
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
Func_52c3: ; 52c3 (1:52c3)
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld hl, wSpriteStateData2
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $e
|
|
|
|
|
ld l, a
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
dec a
|
|
|
|
|
swap a
|
|
|
|
|
ld b, a
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld hl, wSpriteStateData1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $9
|
|
|
|
|
ld l, a
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
cp $0
|
|
|
|
|
jr z, .asm_52ea
|
|
|
|
|
cp $4
|
|
|
|
|
jr z, .asm_52ea
|
|
|
|
|
cp $8
|
|
|
|
|
jr z, .asm_52ea
|
|
|
|
|
cp $c
|
|
|
|
|
jr z, .asm_52ea
|
|
|
|
|
ret
|
|
|
|
|
.asm_52ea
|
|
|
|
|
add b
|
|
|
|
|
ld b, a
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ffe9], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call Func_5301
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld hl, wSpriteStateData1
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $2
|
|
|
|
|
ld l, a
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ffe9]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ffea]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add b
|
|
|
|
|
ld [hl], a
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
Func_5301: ; 5301 (1:5301)
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add $7
|
|
|
|
|
ld l, a
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
inc a
|
|
|
|
|
ld [hl], a
|
|
|
|
|
cp $4
|
|
|
|
|
ret nz
|
|
|
|
|
xor a
|
|
|
|
|
ld [hl], a
|
|
|
|
|
inc l
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
inc a
|
|
|
|
|
and $3
|
|
|
|
|
ld [hl], a
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld [$ffea], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/cable_club.asm"
|
2014-01-03 20:02:18 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
LoadTrainerInfoTextBoxTiles: ; 5ae6 (1:5ae6)
|
|
|
|
|
ld de, TrainerInfoTextBoxTileGraphics ; $7b98
|
|
|
|
|
ld hl, $9760
|
|
|
|
|
ld bc, (BANK(TrainerInfoTextBoxTileGraphics) << 8) +$09
|
|
|
|
|
jp CopyVideoData
|
|
|
|
|
|
|
|
|
|
INCLUDE "engine/menu/main_menu.asm"
|
|
|
|
|
|
|
|
|
|
INCLUDE "engine/oak_speech.asm"
|
|
|
|
|
|
|
|
|
|
Func_62ce: ; 62ce (1:62ce)
|
|
|
|
|
call Func_62ff
|
|
|
|
|
ld a,$19
|
|
|
|
|
call Predef
|
|
|
|
|
ld hl,$D732
|
|
|
|
|
bit 2,[hl]
|
|
|
|
|
res 2,[hl]
|
|
|
|
|
jr z,.next
|
|
|
|
|
ld a,[$D71A]
|
|
|
|
|
jr .next2
|
|
|
|
|
.next
|
|
|
|
|
bit 1,[hl]
|
|
|
|
|
jr z,.next3
|
|
|
|
|
call Func_64ea
|
|
|
|
|
.next3
|
|
|
|
|
ld a,0
|
|
|
|
|
.next2
|
|
|
|
|
ld b,a
|
|
|
|
|
ld a,[$D72D]
|
|
|
|
|
and a
|
|
|
|
|
jr nz,.next4
|
|
|
|
|
ld a,b
|
|
|
|
|
.next4
|
|
|
|
|
ld hl,$D732
|
|
|
|
|
bit 4,[hl]
|
|
|
|
|
ret nz
|
|
|
|
|
ld [wLastMap],a
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
Func_62ff: ; 62ff (1:62ff)
|
|
|
|
|
ld a, [$d72d]
|
|
|
|
|
cp BATTLE_CENTER
|
|
|
|
|
jr nz, .asm_6314
|
|
|
|
|
ld hl, BattleCenterSpec1 ; $6428
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ffaa]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $2
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr z, .asm_6334
|
|
|
|
|
ld hl, BattleCenterSpec2 ; $6430
|
|
|
|
|
jr .asm_6334
|
|
|
|
|
.asm_6314
|
|
|
|
|
cp TRADE_CENTER
|
|
|
|
|
jr nz, .asm_6326
|
|
|
|
|
ld hl, TradeCenterSpec1 ; $6438
|
2014-03-30 23:30:30 +00:00
|
|
|
|
ld a, [$ffaa]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp $2
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr z, .asm_6334
|
|
|
|
|
ld hl, TradeCenterSpec2 ; $6440
|
|
|
|
|
jr .asm_6334
|
|
|
|
|
.asm_6326
|
|
|
|
|
ld a, [$d732]
|
|
|
|
|
bit 1, a
|
|
|
|
|
jr nz, .asm_6346
|
|
|
|
|
bit 2, a
|
|
|
|
|
jr nz, .asm_6346
|
|
|
|
|
ld hl, FirstMapSpec ; $6420
|
|
|
|
|
.asm_6334
|
|
|
|
|
ld de, W_CURMAP ; $d35e
|
|
|
|
|
ld c, $7
|
|
|
|
|
.asm_6339
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
dec c
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_6339
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [W_CURMAPTILESET], a ; $d367
|
|
|
|
|
xor a
|
|
|
|
|
jr .asm_63b3
|
|
|
|
|
.asm_6346
|
|
|
|
|
ld a, [wLastMap]
|
|
|
|
|
ld hl, $d732
|
|
|
|
|
bit 4, [hl]
|
|
|
|
|
jr nz, .asm_635b
|
|
|
|
|
bit 6, [hl]
|
|
|
|
|
res 6, [hl]
|
|
|
|
|
jr z, .asm_638e
|
|
|
|
|
ld a, [wLastBlackoutMap]
|
|
|
|
|
jr .asm_6391
|
|
|
|
|
.asm_635b
|
|
|
|
|
ld hl, $d72d
|
|
|
|
|
res 4, [hl]
|
|
|
|
|
ld a, [$d71d]
|
|
|
|
|
ld b, a
|
|
|
|
|
ld [W_CURMAP], a ; $d35e
|
|
|
|
|
ld a, [$d71e]
|
|
|
|
|
ld c, a
|
|
|
|
|
ld hl, DungeonWarpList ; $63bf
|
|
|
|
|
ld de, $0
|
|
|
|
|
ld a, $6
|
|
|
|
|
ld [$d12f], a
|
|
|
|
|
.asm_6376
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp b
|
|
|
|
|
jr z, .asm_637d
|
|
|
|
|
inc hl
|
|
|
|
|
jr .asm_6381
|
|
|
|
|
.asm_637d
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp c
|
|
|
|
|
jr z, .asm_6388
|
|
|
|
|
.asm_6381
|
|
|
|
|
ld a, [$d12f]
|
|
|
|
|
add e
|
|
|
|
|
ld e, a
|
|
|
|
|
jr .asm_6376
|
|
|
|
|
.asm_6388
|
|
|
|
|
ld hl, DungeonWarpData ; $63d8
|
|
|
|
|
add hl, de
|
|
|
|
|
jr .asm_63a4
|
|
|
|
|
.asm_638e
|
|
|
|
|
ld a, [$d71a]
|
|
|
|
|
.asm_6391
|
|
|
|
|
ld b, a
|
|
|
|
|
ld [W_CURMAP], a ; $d35e
|
|
|
|
|
ld hl, FlyWarpDataPtr ; $6448
|
|
|
|
|
.asm_6398
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
inc hl
|
|
|
|
|
cp b
|
|
|
|
|
jr z, .asm_63a1
|
|
|
|
|
inc hl
|
|
|
|
|
inc hl
|
|
|
|
|
jr .asm_6398
|
|
|
|
|
.asm_63a1
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld h, [hl]
|
|
|
|
|
ld l, a
|
|
|
|
|
.asm_63a4
|
|
|
|
|
ld de, $d35f
|
|
|
|
|
ld c, $6
|
|
|
|
|
.asm_63a9
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
dec c
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_63a9
|
|
|
|
|
xor a
|
|
|
|
|
ld [W_CURMAPTILESET], a ; $d367
|
|
|
|
|
.asm_63b3
|
|
|
|
|
ld [$d4e2], a
|
|
|
|
|
ld [$d4e3], a
|
|
|
|
|
ld a, $ff
|
|
|
|
|
ld [$d42f], a
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
INCLUDE "data/special_warps.asm"
|
|
|
|
|
|
|
|
|
|
; 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
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc de
|
|
|
|
|
ld a, [de]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [W_CURENEMYLVL], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
call AddPokemonToParty
|
|
|
|
|
jr .loop
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
IshiharaTeam: ; 64df (1:64df)
|
|
|
|
|
db EXEGGUTOR,90
|
|
|
|
|
db MEW,20
|
|
|
|
|
db JOLTEON,56
|
|
|
|
|
db DUGTRIO,56
|
|
|
|
|
db ARTICUNO,57
|
|
|
|
|
db $FF
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_64ea: ; 64ea (1:64ea)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/menu/naming_screen.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/oak_speech2.asm"
|
2013-09-02 14:40:37 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; 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,wPlayerMoney
|
|
|
|
|
ld hl,$ff9f ; total price of items
|
|
|
|
|
ld c,3 ; length of money in bytes
|
|
|
|
|
call StringCmp
|
|
|
|
|
ret c
|
|
|
|
|
ld de,wPlayerMoney + 2
|
|
|
|
|
ld hl,$ffa1 ; total price of items
|
|
|
|
|
ld c,3 ; length of money in bytes
|
|
|
|
|
ld a,$0c
|
|
|
|
|
call Predef ; subtract total price from money
|
|
|
|
|
ld a,$13
|
|
|
|
|
ld [$d125],a
|
|
|
|
|
call DisplayTextBoxID ; redraw money text box
|
|
|
|
|
and a
|
2013-09-02 14:53:04 +00:00
|
|
|
|
ret
|
2013-09-02 14:40:37 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
HandleItemListSwapping: ; 6b44 (1:6b44)
|
|
|
|
|
ld a,[wListMenuID]
|
|
|
|
|
cp a,ITEMLISTMENU
|
|
|
|
|
jp nz,DisplayListMenuIDLoop ; only rearrange item list menus
|
2013-09-02 15:27:06 +00:00
|
|
|
|
push hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl,$cf8b
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld h,[hl]
|
|
|
|
|
ld l,a
|
|
|
|
|
inc hl ; hl = beginning of list entries
|
|
|
|
|
ld a,[wCurrentMenuItem]
|
|
|
|
|
ld b,a
|
|
|
|
|
ld a,[wListScrollOffset]
|
|
|
|
|
add b
|
|
|
|
|
add a
|
|
|
|
|
ld c,a
|
|
|
|
|
ld b,0
|
|
|
|
|
add hl,bc ; hl = address of currently selected item entry
|
|
|
|
|
ld a,[hl]
|
2013-09-02 15:27:06 +00:00
|
|
|
|
pop hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc a
|
|
|
|
|
jp z,DisplayListMenuIDLoop ; ignore attempts to swap the Cancel menu item
|
|
|
|
|
ld a,[$cc35] ; ID of item chosen for swapping (counts from 1)
|
|
|
|
|
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,[wCurrentMenuItem]
|
|
|
|
|
inc a
|
|
|
|
|
ld b,a
|
|
|
|
|
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,[wCurrentMenuItem]
|
|
|
|
|
inc a
|
|
|
|
|
ld b,a
|
|
|
|
|
ld a,[wListScrollOffset]
|
|
|
|
|
add b
|
|
|
|
|
ld b,a
|
|
|
|
|
ld a,[$cc35] ; ID of item chosen for swapping (counts from 1)
|
|
|
|
|
cp b ; is the currently selected item the same as the first item to swap?
|
|
|
|
|
jp z,DisplayListMenuIDLoop ; ignore attempts to swap an item with itself
|
2013-09-02 15:27:06 +00:00
|
|
|
|
dec a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$cc35],a ; ID of item chosen for swapping (counts from 1)
|
|
|
|
|
ld c,20
|
2013-09-02 15:27:06 +00:00
|
|
|
|
call DelayFrames
|
2014-05-22 22:13:20 +00:00
|
|
|
|
push hl
|
|
|
|
|
push de
|
|
|
|
|
ld hl,$cf8b
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld h,[hl]
|
|
|
|
|
ld l,a
|
|
|
|
|
inc hl ; hl = beginning of list entries
|
|
|
|
|
ld d,h
|
|
|
|
|
ld e,l ; de = beginning of list entries
|
|
|
|
|
ld a,[wCurrentMenuItem]
|
|
|
|
|
ld b,a
|
|
|
|
|
ld a,[wListScrollOffset]
|
|
|
|
|
add b
|
|
|
|
|
add a
|
|
|
|
|
ld c,a
|
|
|
|
|
ld b,0
|
|
|
|
|
add hl,bc ; hl = address of currently selected item entry
|
|
|
|
|
ld a,[$cc35] ; ID of item chosen for swapping (counts from 1)
|
|
|
|
|
add a
|
|
|
|
|
add e
|
|
|
|
|
ld e,a
|
|
|
|
|
jr nc,.noCarry
|
|
|
|
|
inc d
|
|
|
|
|
.noCarry ; de = address of first item to swap
|
|
|
|
|
ld a,[de]
|
|
|
|
|
ld b,a
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
cp b
|
|
|
|
|
jr z,.swapSameItemType
|
|
|
|
|
.swapDifferentItems
|
|
|
|
|
ld [$ff95],a ; [$ff95] = second item ID
|
|
|
|
|
ld a,[hld]
|
|
|
|
|
ld [$ff96],a ; [$ff96] = second item quantity
|
|
|
|
|
ld a,[de]
|
|
|
|
|
ld [hli],a ; put first item ID in second item slot
|
|
|
|
|
inc de
|
|
|
|
|
ld a,[de]
|
|
|
|
|
ld [hl],a ; put first item quantity in second item slot
|
|
|
|
|
ld a,[$ff96]
|
|
|
|
|
ld [de],a ; put second item quantity in first item slot
|
|
|
|
|
dec de
|
|
|
|
|
ld a,[$ff95]
|
|
|
|
|
ld [de],a ; put second item ID in first item slot
|
2013-09-02 15:27:06 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$cc35],a ; 0 means no item is currently being swapped
|
|
|
|
|
pop de
|
|
|
|
|
pop hl
|
|
|
|
|
jp DisplayListMenuIDLoop
|
|
|
|
|
.swapSameItemType
|
|
|
|
|
inc de
|
|
|
|
|
ld a,[hl]
|
|
|
|
|
ld b,a
|
|
|
|
|
ld a,[de]
|
|
|
|
|
add b ; a = sum of both item quantities
|
|
|
|
|
cp a,100 ; is the sum too big for one item slot?
|
|
|
|
|
jr c,.combineItemSlots
|
|
|
|
|
; swap enough items from the first slot to max out the second slot if they can't be combined
|
|
|
|
|
sub a,99
|
|
|
|
|
ld [de],a
|
|
|
|
|
ld a,99
|
|
|
|
|
ld [hl],a
|
|
|
|
|
jr .done
|
|
|
|
|
.combineItemSlots
|
|
|
|
|
ld [hl],a ; put the sum in the second item slot
|
|
|
|
|
ld hl,$cf8b
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld h,[hl]
|
|
|
|
|
ld l,a
|
|
|
|
|
dec [hl] ; decrease the number of items
|
|
|
|
|
ld a,[hl]
|
|
|
|
|
ld [$d12a],a ; update number of items variable
|
|
|
|
|
cp a,1
|
|
|
|
|
jr nz,.skipSettingMaxMenuItemID
|
|
|
|
|
ld [wMaxMenuItem],a ; if the number of items is only one now, update the max menu item ID
|
|
|
|
|
.skipSettingMaxMenuItemID
|
|
|
|
|
dec de
|
|
|
|
|
ld h,d
|
|
|
|
|
ld l,e
|
|
|
|
|
inc hl
|
|
|
|
|
inc hl ; hl = address of item after first item to swap
|
|
|
|
|
.moveItemsUpLoop ; erase the first item slot and move up all the following item slots to fill the gap
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld [de],a
|
|
|
|
|
inc de
|
|
|
|
|
inc a ; reached the $ff terminator?
|
|
|
|
|
jr z,.afterMovingItemsUp
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld [de],a
|
|
|
|
|
inc de
|
|
|
|
|
jr .moveItemsUpLoop
|
|
|
|
|
.afterMovingItemsUp
|
2013-09-02 15:27:06 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [wListScrollOffset],a
|
|
|
|
|
ld [wCurrentMenuItem],a
|
|
|
|
|
.done
|
2013-09-02 15:31:34 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$cc35],a ; 0 means no item is currently being swapped
|
|
|
|
|
pop de
|
|
|
|
|
pop hl
|
|
|
|
|
jp DisplayListMenuIDLoop
|
2013-04-07 02:01:08 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/pokemart.asm"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/learn_move.asm"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/pokecenter.asm"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SetLastBlackoutMap:
|
|
|
|
|
; Set the map to return to when
|
|
|
|
|
; blacking out or using Teleport or Dig.
|
|
|
|
|
; Safari rest houses don't count.
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
|
|
|
|
push hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, SafariZoneRestHouses
|
|
|
|
|
ld a, [W_CURMAP]
|
|
|
|
|
ld b, a
|
|
|
|
|
.loop
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp -1
|
|
|
|
|
jr z, .notresthouse
|
|
|
|
|
cp b
|
|
|
|
|
jr nz, .loop
|
|
|
|
|
jr .done
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.notresthouse
|
|
|
|
|
ld a, [wLastMap]
|
|
|
|
|
ld [wLastBlackoutMap], a
|
|
|
|
|
.done
|
|
|
|
|
pop hl
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SafariZoneRestHouses:
|
|
|
|
|
db SAFARI_ZONE_REST_HOUSE_2
|
|
|
|
|
db SAFARI_ZONE_REST_HOUSE_3
|
|
|
|
|
db SAFARI_ZONE_REST_HOUSE_4
|
|
|
|
|
db -1
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; function that performs initialization for DisplayTextID
|
|
|
|
|
DisplayTextIDInit: ; 7096 (1:7096)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$cf94],a
|
|
|
|
|
ld a,[$cf0c]
|
|
|
|
|
bit 0,a
|
|
|
|
|
jr nz,.skipDrawingTextBoxBorder
|
|
|
|
|
ld a,[$ff8c] ; text ID (or sprite ID)
|
|
|
|
|
and a
|
|
|
|
|
jr nz,.notStartMenu
|
|
|
|
|
; if text ID is 0 (i.e. the start menu)
|
|
|
|
|
; Note that the start menu text border is also drawn in the function directly
|
|
|
|
|
; below this, so this seems unnecessary.
|
|
|
|
|
ld a,[$d74b]
|
|
|
|
|
bit 5,a ; does the player have the pokedex?
|
|
|
|
|
; start menu with pokedex
|
|
|
|
|
FuncCoord 10, 0 ; $c3aa
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld hl,Coord
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b,$0e
|
|
|
|
|
ld c,$08
|
|
|
|
|
jr nz,.drawTextBoxBorder
|
|
|
|
|
; start menu without pokedex
|
|
|
|
|
FuncCoord 10, 0 ; $c3aa
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld hl,Coord
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b,$0c
|
|
|
|
|
ld c,$08
|
|
|
|
|
jr .drawTextBoxBorder
|
|
|
|
|
; if text ID is not 0 (i.e. not the start menu) then do a standard dialogue text box
|
|
|
|
|
.notStartMenu
|
|
|
|
|
FuncCoord 0, 12 ; $c490
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld hl,Coord
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b,$04
|
|
|
|
|
ld c,$12
|
|
|
|
|
.drawTextBoxBorder
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call TextBoxBorder
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.skipDrawingTextBoxBorder
|
|
|
|
|
ld hl,$cfc4
|
|
|
|
|
set 0,[hl]
|
|
|
|
|
ld hl,wFlags_0xcd60
|
|
|
|
|
bit 4,[hl]
|
|
|
|
|
res 4,[hl]
|
|
|
|
|
jr nz,.skipMovingSprites
|
|
|
|
|
call UpdateSprites ; move sprites
|
|
|
|
|
.skipMovingSprites
|
|
|
|
|
; loop to copy C1X9 (direction the sprite is facing) to C2X9 for each sprite
|
|
|
|
|
; this is done because when you talk to an NPC, they turn to look your way
|
|
|
|
|
; the original direction they were facing must be restored after the dialogue is over
|
|
|
|
|
ld hl,$c119
|
|
|
|
|
ld c,$0f
|
|
|
|
|
ld de,$0010
|
|
|
|
|
.spriteFacingDirectionCopyLoop
|
|
|
|
|
ld a,[hl]
|
|
|
|
|
inc h
|
|
|
|
|
ld [hl],a
|
|
|
|
|
dec h
|
|
|
|
|
add hl,de
|
|
|
|
|
dec c
|
|
|
|
|
jr nz,.spriteFacingDirectionCopyLoop
|
|
|
|
|
; loop to force all the sprites in the middle of animation to stand still
|
|
|
|
|
; (so that they don't like they're frozen mid-step during the dialogue)
|
|
|
|
|
ld hl,$c102
|
|
|
|
|
ld de,$0010
|
|
|
|
|
ld c,e
|
|
|
|
|
.spriteStandStillLoop
|
|
|
|
|
ld a,[hl]
|
|
|
|
|
cp a,$ff ; is the sprite visible?
|
|
|
|
|
jr z,.nextSprite
|
|
|
|
|
; if it is visible
|
|
|
|
|
and a,$fc
|
|
|
|
|
ld [hl],a
|
|
|
|
|
.nextSprite
|
|
|
|
|
add hl,de
|
|
|
|
|
dec c
|
|
|
|
|
jr nz,.spriteStandStillLoop
|
|
|
|
|
ld b,$9c ; window background address
|
|
|
|
|
call CopyScreenTileBufferToVRAM ; transfer background in WRAM to VRAM
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$ffb0],a ; put the window on the screen
|
|
|
|
|
call LoadFontTilePatterns
|
|
|
|
|
ld a,$01
|
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED],a ; enable continuous WRAM to VRAM transfer each V-blank
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; function that displays the start menu
|
|
|
|
|
DrawStartMenu: ; 710b (1:710b)
|
|
|
|
|
ld a,[$d74b]
|
|
|
|
|
bit 5,a ; does the player have the pokedex?
|
|
|
|
|
; menu with pokedex
|
|
|
|
|
FuncCoord 10, 0 ; $c3aa
|
|
|
|
|
ld hl,Coord
|
|
|
|
|
ld b,$0e
|
|
|
|
|
ld c,$08
|
|
|
|
|
jr nz,.drawTextBoxBorder
|
|
|
|
|
; shorter menu if the player doesn't have the pokedex
|
|
|
|
|
FuncCoord 10, 0 ; $c3aa
|
|
|
|
|
ld hl,Coord
|
|
|
|
|
ld b,$0c
|
|
|
|
|
ld c,$08
|
|
|
|
|
.drawTextBoxBorder
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call TextBoxBorder
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a,%11001011 ; bit mask for down, up, start, B, and A buttons
|
|
|
|
|
ld [$cc29],a
|
|
|
|
|
ld a,$02
|
|
|
|
|
ld [$cc24],a ; Y position of first menu choice
|
|
|
|
|
ld a,$0b
|
|
|
|
|
ld [$cc25],a ; X position of first menu choice
|
|
|
|
|
ld a,[$cc2d] ; remembered menu selection from last time
|
|
|
|
|
ld [$cc26],a
|
|
|
|
|
ld [$cc2a],a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$cc37],a
|
|
|
|
|
ld hl,$d730
|
|
|
|
|
set 6,[hl] ; no pauses between printing each letter
|
|
|
|
|
FuncCoord 12, 2 ; $c3d4
|
|
|
|
|
ld hl,Coord
|
|
|
|
|
ld a,[$d74b]
|
|
|
|
|
bit 5,a ; does the player have the pokedex?
|
|
|
|
|
; case for not having pokdex
|
|
|
|
|
ld a,$06
|
|
|
|
|
jr z,.storeMenuItemCount
|
|
|
|
|
; case for having pokedex
|
|
|
|
|
ld de,StartMenuPokedexText
|
|
|
|
|
call PrintStartMenuItem
|
|
|
|
|
ld a,$07
|
|
|
|
|
.storeMenuItemCount
|
|
|
|
|
ld [$cc28],a ; number of menu items
|
|
|
|
|
ld de,StartMenuPokemonText
|
|
|
|
|
call PrintStartMenuItem
|
|
|
|
|
ld de,StartMenuItemText
|
|
|
|
|
call PrintStartMenuItem
|
|
|
|
|
ld de,W_PLAYERNAME ; player's name
|
|
|
|
|
call PrintStartMenuItem
|
|
|
|
|
ld a,[$d72e]
|
|
|
|
|
bit 6,a ; is the player using the link feature?
|
|
|
|
|
; case for not using link feature
|
|
|
|
|
ld de,StartMenuSaveText
|
|
|
|
|
jr z,.printSaveOrResetText
|
|
|
|
|
; case for using link feature
|
|
|
|
|
ld de,StartMenuResetText
|
|
|
|
|
.printSaveOrResetText
|
|
|
|
|
call PrintStartMenuItem
|
|
|
|
|
ld de,StartMenuOptionText
|
|
|
|
|
call PrintStartMenuItem
|
|
|
|
|
ld de,StartMenuExitText
|
|
|
|
|
call PlaceString
|
|
|
|
|
ld hl,$d730
|
|
|
|
|
res 6,[hl] ; turn pauses between printing letters back on
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
2013-10-25 18:15:25 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
StartMenuPokedexText: ; 718f (1:718f)
|
|
|
|
|
db "POKéDEX@"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
StartMenuPokemonText: ; 7197 (1:7197)
|
|
|
|
|
db "POKéMON@"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
StartMenuItemText: ; 719f (1:719f)
|
|
|
|
|
db "ITEM@"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
StartMenuSaveText: ; 71a4 (1:71a4)
|
|
|
|
|
db "SAVE@"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
StartMenuResetText: ; 71a9 (1:71a9)
|
|
|
|
|
db "RESET@"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
StartMenuExitText: ; 71af (1:71af)
|
|
|
|
|
db "EXIT@"
|
2013-04-07 02:01:08 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
StartMenuOptionText: ; 71b4 (1:71b4)
|
2014-01-22 06:21:41 +00:00
|
|
|
|
db "OPTION@"
|
2013-04-07 02:01:08 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
PrintStartMenuItem: ; 71bb (1:71bb)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
call PlaceString
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld de,$28
|
|
|
|
|
add hl,de
|
|
|
|
|
ret
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/cable_club_npc.asm"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; function to draw various text boxes
|
|
|
|
|
; INPUT:
|
|
|
|
|
; [$D125] = text box ID
|
|
|
|
|
DisplayTextBoxID_: ; 72ea (1:72ea)
|
|
|
|
|
ld a,[$d125] ; a = text box ID
|
|
|
|
|
cp a,$14
|
|
|
|
|
jp z,DisplayYesNoTextBox
|
|
|
|
|
ld c,a
|
|
|
|
|
ld hl,TextBoxFunctionTable
|
|
|
|
|
ld de,3
|
|
|
|
|
call SearchTextBoxTable
|
|
|
|
|
jr c,.functionTableMatch
|
|
|
|
|
ld hl,TextBoxCoordTable
|
|
|
|
|
ld de,5
|
|
|
|
|
call SearchTextBoxTable
|
|
|
|
|
jr c,.coordTableMatch
|
|
|
|
|
ld hl,TextBoxTextAndCoordTable
|
|
|
|
|
ld de,9
|
|
|
|
|
call SearchTextBoxTable
|
|
|
|
|
jr c,.textAndCoordTableMatch
|
|
|
|
|
.done
|
|
|
|
|
ret
|
|
|
|
|
.functionTableMatch
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld h,[hl]
|
|
|
|
|
ld l,a ; hl = address of function
|
|
|
|
|
ld de,.done
|
|
|
|
|
push de
|
|
|
|
|
jp [hl] ; jump to the function
|
|
|
|
|
.coordTableMatch
|
|
|
|
|
call GetTextBoxIDCoords
|
|
|
|
|
call GetAddressOfScreenCoords
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call TextBoxBorder
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ret
|
|
|
|
|
.textAndCoordTableMatch
|
|
|
|
|
call GetTextBoxIDCoords
|
|
|
|
|
push hl
|
|
|
|
|
call GetAddressOfScreenCoords
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call TextBoxBorder
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop hl
|
|
|
|
|
call GetTextBoxIDText
|
|
|
|
|
ld a,[$d730]
|
|
|
|
|
push af
|
|
|
|
|
ld a,[$d730]
|
|
|
|
|
set 6,a ; no pauses between printing each letter
|
|
|
|
|
ld [$d730],a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call PlaceString
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop af
|
|
|
|
|
ld [$d730],a
|
|
|
|
|
call UpdateSprites ; move sprites
|
2012-02-13 00:28:29 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; function to search a table terminated with $ff for a byte matching c in increments of de
|
|
|
|
|
; sets carry flag if a match is found and clears carry flag if not
|
|
|
|
|
SearchTextBoxTable: ; 734c (1:734c)
|
|
|
|
|
dec de
|
|
|
|
|
.loop
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
cp a,$ff
|
|
|
|
|
jr z,.notFound
|
2012-02-13 00:28:29 +00:00
|
|
|
|
cp c
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr z,.found
|
|
|
|
|
add hl,de
|
2012-10-02 19:20:37 +00:00
|
|
|
|
jr .loop
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.found
|
|
|
|
|
scf
|
|
|
|
|
.notFound
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
; function to load coordinates from the TextBoxCoordTable or the TextBoxTextAndCoordTable
|
|
|
|
|
; INPUT:
|
|
|
|
|
; hl = address of coordinates
|
|
|
|
|
; OUTPUT:
|
|
|
|
|
; b = height
|
|
|
|
|
; c = width
|
|
|
|
|
; d = row of upper left corner
|
|
|
|
|
; e = column of upper left corner
|
|
|
|
|
GetTextBoxIDCoords: ; 735a (1:735a)
|
|
|
|
|
ld a,[hli] ; column of upper left corner
|
|
|
|
|
ld e,a
|
|
|
|
|
ld a,[hli] ; row of upper left corner
|
2012-02-13 00:28:29 +00:00
|
|
|
|
ld d,a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a,[hli] ; column of lower right corner
|
|
|
|
|
sub e
|
2012-02-13 00:28:29 +00:00
|
|
|
|
dec a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld c,a ; c = width
|
|
|
|
|
ld a,[hli] ; row of lower right corner
|
|
|
|
|
sub d
|
2012-02-13 00:28:29 +00:00
|
|
|
|
dec a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b,a ; b = height
|
2012-02-13 00:28:29 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; function to load a text address and text coordinates from the TextBoxTextAndCoordTable
|
|
|
|
|
GetTextBoxIDText: ; 7367 (1:7367)
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld e,a
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld d,a ; de = address of text
|
|
|
|
|
push de ; save text address
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld e,a ; column of upper left corner of text
|
|
|
|
|
ld a,[hl]
|
|
|
|
|
ld d,a ; row of upper left corner of text
|
|
|
|
|
call GetAddressOfScreenCoords
|
|
|
|
|
pop de ; restore text address
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
; function to point hl to the screen coordinates
|
|
|
|
|
; INPUT:
|
|
|
|
|
; d = row
|
|
|
|
|
; e = column
|
|
|
|
|
; OUTPUT:
|
|
|
|
|
; hl = address of upper left corner of text box
|
|
|
|
|
GetAddressOfScreenCoords: ; 7375 (1:7375)
|
2012-02-13 00:28:29 +00:00
|
|
|
|
push bc
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl,wTileMap
|
|
|
|
|
ld bc,20
|
|
|
|
|
.loop ; loop to add d rows to the base address
|
|
|
|
|
ld a,d
|
|
|
|
|
and a
|
|
|
|
|
jr z,.addedRows
|
|
|
|
|
add hl,bc
|
|
|
|
|
dec d
|
|
|
|
|
jr .loop
|
|
|
|
|
.addedRows
|
2012-02-13 00:28:29 +00:00
|
|
|
|
pop bc
|
|
|
|
|
add hl,de
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
; Format:
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; 00: text box ID
|
|
|
|
|
; 01-02: function address
|
|
|
|
|
TextBoxFunctionTable: ; 7387 (1:7387)
|
|
|
|
|
dbw $13, Func_74ba
|
|
|
|
|
dbw $15, Func_74ea
|
|
|
|
|
dbw $04, Func_76e1
|
2012-02-13 00:28:29 +00:00
|
|
|
|
db $ff ; terminator
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; Format:
|
|
|
|
|
; 00: text box ID
|
|
|
|
|
; 01: column of upper left corner
|
|
|
|
|
; 02: row of upper left corner
|
|
|
|
|
; 03: column of lower right corner
|
|
|
|
|
; 04: row of lower right corner
|
|
|
|
|
TextBoxCoordTable: ; 7391 (1:7391)
|
|
|
|
|
db $01, 0, 12, 19, 17
|
|
|
|
|
db $03, 0, 0, 19, 14
|
|
|
|
|
db $07, 0, 0, 11, 6
|
|
|
|
|
db $0d, 4, 2, 19, 12
|
|
|
|
|
db $10, 7, 0, 19, 17
|
|
|
|
|
db $11, 6, 4, 14, 13
|
|
|
|
|
db $ff ; terminator
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; Format:
|
|
|
|
|
; 00: text box ID
|
|
|
|
|
; 01: column of upper left corner
|
|
|
|
|
; 02: row of upper left corner
|
|
|
|
|
; 03: column of lower right corner
|
|
|
|
|
; 04: row of lower right corner
|
|
|
|
|
; 05-06: address of text
|
|
|
|
|
; 07: column of beginning of text
|
|
|
|
|
; 08: row of beginning of text
|
|
|
|
|
; table of window positions and corresponding text [key, start column, start row, end column, end row, text pointer [2 bytes], text column, text row]
|
|
|
|
|
TextBoxTextAndCoordTable: ; 73b0 (1:73b0)
|
|
|
|
|
db $05 ; text box ID
|
|
|
|
|
db 0,0,14,17 ; text box coordinates
|
|
|
|
|
dw JapaneseMochimonoText
|
|
|
|
|
db 3,0 ; text coordinates
|
2013-03-17 21:54:12 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
db $06 ; text box ID
|
|
|
|
|
db 13,10,19,14 ; text box coordinates
|
|
|
|
|
dw UseTossText
|
|
|
|
|
db 15,11 ; text coordinates
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
db $08 ; text box ID
|
|
|
|
|
db 0,0,7,5 ; text box coordinates
|
|
|
|
|
dw JapaneseSaveMessageText
|
|
|
|
|
db 2,2 ; text coordinates
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
db $09 ; text box ID
|
|
|
|
|
db 0,6,5,10 ; text box coordinates
|
|
|
|
|
dw JapaneseSpeedOptionsText
|
|
|
|
|
db 2,7 ; text coordinates
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
db $0b ; text box ID
|
|
|
|
|
db 8,12,19,17 ; text box coordinates
|
|
|
|
|
dw BattleMenuText
|
|
|
|
|
db 10,14 ; text coordinates
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
db $1b ; text box ID
|
|
|
|
|
db 0,12,19,17 ; text box coordinates
|
|
|
|
|
dw SafariZoneBattleMenuText
|
|
|
|
|
db 2,14 ; text coordinates
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
db $0c ; text box ID
|
|
|
|
|
db 11,11,19,17 ; text box coordinates
|
|
|
|
|
dw SwitchStatsCancelText
|
|
|
|
|
db 13,12 ; text coordinates
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
db $0e ; text box ID
|
|
|
|
|
db 0,0,10,6 ; text box coordinates
|
|
|
|
|
dw BuySellQuitText
|
|
|
|
|
db 2,1 ; text coordinates
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
db $0f ; text box ID
|
|
|
|
|
db 11,0,19,2 ; text box coordinates
|
|
|
|
|
dw MoneyText
|
|
|
|
|
db 13,0 ; text coordinates
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
db $12 ; text box ID
|
|
|
|
|
db 7,6,11,10 ; text box coordinates
|
|
|
|
|
dw JapaneseAhText
|
|
|
|
|
db 8,8 ; text coordinates
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
db $1a ; text box ID
|
|
|
|
|
db 11,8,19,17 ; text box coordinates
|
|
|
|
|
dw JapanesePokedexMenu
|
|
|
|
|
db 12,10 ; text coordinates
|
2013-11-26 18:32:08 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; note that there is no terminator
|
2013-11-15 06:56:54 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
BuySellQuitText: ; 7413 (1:7413)
|
|
|
|
|
db "BUY"
|
|
|
|
|
next "SELL"
|
|
|
|
|
next "QUIT@@"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
UseTossText: ; 7422 (1:7422)
|
|
|
|
|
db "USE"
|
|
|
|
|
next "TOSS@"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
JapaneseSaveMessageText: ; 742b (1:742b)
|
|
|
|
|
db "きろく"
|
|
|
|
|
next "メッセージ@"
|
2013-10-25 18:15:25 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
JapaneseSpeedOptionsText: ; 7435 (1:7435)
|
|
|
|
|
db "はやい"
|
|
|
|
|
next "おそい@"
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
MoneyText: ; 743d (1:743d)
|
|
|
|
|
db "MONEY@"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
JapaneseMochimonoText: ; 7443 (1:7443)
|
|
|
|
|
db "もちもの@"
|
|
|
|
|
|
|
|
|
|
JapaneseMainMenuText: ; 7448 (1:7448)
|
|
|
|
|
db "つづきから"
|
|
|
|
|
next "さいしょから@"
|
|
|
|
|
|
|
|
|
|
BattleMenuText: ; 7455 (1:7455)
|
|
|
|
|
db "FIGHT ",$E1,$E2
|
|
|
|
|
next "ITEM RUN@"
|
|
|
|
|
|
|
|
|
|
SafariZoneBattleMenuText: ; 7468 (1:7468)
|
|
|
|
|
db "BALL× BAIT"
|
|
|
|
|
next "THROW ROCK RUN@"
|
|
|
|
|
|
|
|
|
|
SwitchStatsCancelText: ; 7489 (1:7489)
|
|
|
|
|
db "SWITCH"
|
|
|
|
|
next "STATS"
|
|
|
|
|
next "CANCEL@"
|
|
|
|
|
|
|
|
|
|
JapaneseAhText: ; 749d (1:749d)
|
|
|
|
|
db "アッ!@"
|
|
|
|
|
|
|
|
|
|
JapanesePokedexMenu: ; 74a1 (1:74a1)
|
|
|
|
|
db "データをみる"
|
|
|
|
|
next "なきごえ"
|
|
|
|
|
next "ぶんぷをみる"
|
|
|
|
|
next "キャンセル@"
|
|
|
|
|
|
|
|
|
|
Func_74ba: ; 74ba (1:74ba)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld hl, $d730
|
|
|
|
|
set 6, [hl]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, $f
|
|
|
|
|
ld [$d125], a
|
|
|
|
|
call DisplayTextBoxID
|
|
|
|
|
FuncCoord 13, 1 ; $c3c1
|
2013-04-07 02:01:08 +00:00
|
|
|
|
ld hl, Coord
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b, $1
|
|
|
|
|
ld c, $6
|
|
|
|
|
call ClearScreenArea
|
|
|
|
|
FuncCoord 12, 1 ; $c3c0
|
|
|
|
|
ld hl, Coord
|
|
|
|
|
ld de, wPlayerMoney ; $d347
|
|
|
|
|
ld c, $a3
|
|
|
|
|
call PrintBCDNumber
|
|
|
|
|
ld hl, $d730
|
|
|
|
|
res 6, [hl]
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
CurrencyString: ; 74e2 (1:74e2)
|
|
|
|
|
db " ¥@"
|
|
|
|
|
|
|
|
|
|
Func_74ea: ; 74ea (1:74ea)
|
|
|
|
|
ld a, [$d730]
|
|
|
|
|
set 6, a
|
|
|
|
|
ld [$d730], a
|
|
|
|
|
xor a
|
|
|
|
|
ld [$d12d], a
|
|
|
|
|
ld a, $e
|
|
|
|
|
ld [$d125], a
|
|
|
|
|
call DisplayTextBoxID
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, $3
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [wMenuWatchedKeys], a ; $cc29
|
|
|
|
|
ld a, $2
|
|
|
|
|
ld [wMaxMenuItem], a ; $cc28
|
|
|
|
|
ld a, $1
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld [wTopMenuItemY], a ; $cc24
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, $1
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld [wTopMenuItemX], a ; $cc25
|
2014-05-22 22:13:20 +00:00
|
|
|
|
xor a
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld [wCurrentMenuItem], a ; $cc26
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [wLastMenuItem], a ; $cc2a
|
|
|
|
|
ld [$cc37], a
|
|
|
|
|
ld a, [$d730]
|
|
|
|
|
res 6, a
|
|
|
|
|
ld [$d730], a
|
|
|
|
|
call HandleMenuInput
|
|
|
|
|
call PlaceUnfilledArrowMenuCursor
|
|
|
|
|
bit 0, a
|
|
|
|
|
jr nz, .asm_7539
|
|
|
|
|
bit 1, a
|
|
|
|
|
jr z, .asm_7539
|
|
|
|
|
ld a, $2
|
|
|
|
|
ld [$d12e], a
|
|
|
|
|
jr .asm_754c
|
|
|
|
|
.asm_7539
|
|
|
|
|
ld a, $1
|
|
|
|
|
ld [$d12e], a
|
|
|
|
|
ld a, [wCurrentMenuItem] ; $cc26
|
|
|
|
|
ld [$d12d], a
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [wMaxMenuItem] ; $cc28
|
|
|
|
|
cp b
|
|
|
|
|
jr z, .asm_754c
|
|
|
|
|
ret
|
|
|
|
|
.asm_754c
|
|
|
|
|
ld a, $2
|
|
|
|
|
ld [$d12e], a
|
|
|
|
|
ld a, [wCurrentMenuItem] ; $cc26
|
|
|
|
|
ld [$d12d], a
|
|
|
|
|
scf
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
DisplayYesNoTextBox: ; 7559 (1:7559)
|
|
|
|
|
push hl
|
|
|
|
|
ld a, [$d730]
|
|
|
|
|
set 6, a
|
|
|
|
|
ld [$d730], a
|
|
|
|
|
xor a
|
|
|
|
|
ld [$d12d], a
|
|
|
|
|
ld [$d12e], a
|
|
|
|
|
ld a, $3
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld [wMenuWatchedKeys], a ; $cc29
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, $1
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld [wMaxMenuItem], a ; $cc28
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, b
|
|
|
|
|
ld [wTopMenuItemY], a ; $cc24
|
|
|
|
|
ld a, c
|
|
|
|
|
ld [wTopMenuItemX], a ; $cc25
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [wLastMenuItem], a ; $cc2a
|
|
|
|
|
ld [$cc37], a
|
|
|
|
|
push hl
|
|
|
|
|
ld hl, $d12c
|
|
|
|
|
bit 7, [hl]
|
|
|
|
|
res 7, [hl]
|
|
|
|
|
jr z, .asm_758d
|
|
|
|
|
inc a
|
|
|
|
|
.asm_758d
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld [wCurrentMenuItem], a ; $cc26
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop hl
|
|
|
|
|
push hl
|
|
|
|
|
push hl
|
|
|
|
|
call Func_763e
|
|
|
|
|
ld a, [$d12c]
|
|
|
|
|
ld hl, MenuStrings ; $7671
|
|
|
|
|
ld e, a
|
|
|
|
|
ld d, $0
|
|
|
|
|
ld a, $5
|
|
|
|
|
.loop
|
|
|
|
|
add hl, de
|
|
|
|
|
dec a
|
|
|
|
|
jr nz, .loop
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld c, a
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld b, a
|
|
|
|
|
ld e, l
|
|
|
|
|
ld d, h
|
|
|
|
|
pop hl
|
|
|
|
|
push de
|
|
|
|
|
ld a, [$d12c]
|
|
|
|
|
cp $5
|
|
|
|
|
jr nz, .asm_75b9
|
|
|
|
|
call Func_5ab3
|
|
|
|
|
jr .asm_75bc
|
|
|
|
|
.asm_75b9
|
|
|
|
|
call TextBoxBorder
|
|
|
|
|
.asm_75bc
|
|
|
|
|
call UpdateSprites
|
|
|
|
|
pop hl
|
|
|
|
|
ld a, [hli]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld bc, $16
|
|
|
|
|
jr z, .asm_75ca
|
|
|
|
|
ld bc, $2a
|
|
|
|
|
.asm_75ca
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld e, a
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld d, a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop hl
|
|
|
|
|
add hl, bc
|
|
|
|
|
call PlaceString
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld hl, $d730
|
|
|
|
|
res 6, [hl]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [$d12c]
|
|
|
|
|
cp $7
|
|
|
|
|
jr nz, .asm_7603
|
|
|
|
|
xor a
|
|
|
|
|
ld [$d12c], a
|
|
|
|
|
ld a, [wFlags_0xcd60]
|
|
|
|
|
push af
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, wFlags_0xcd60
|
|
|
|
|
bit 5, [hl]
|
|
|
|
|
set 5, [hl]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.asm_75f0
|
|
|
|
|
call HandleMenuInput
|
|
|
|
|
bit 1, a
|
|
|
|
|
jr nz, .asm_75f0
|
|
|
|
|
pop af
|
|
|
|
|
pop hl
|
|
|
|
|
ld [wFlags_0xcd60], a
|
2014-04-07 20:16:45 +00:00
|
|
|
|
ld a, (SFX_02_40 - SFX_Headers_02) / 3
|
2013-03-17 21:54:12 +00:00
|
|
|
|
call PlaySound
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr .asm_760f
|
|
|
|
|
.asm_7603
|
|
|
|
|
xor a
|
|
|
|
|
ld [$d12c], a
|
|
|
|
|
call HandleMenuInput
|
|
|
|
|
pop hl
|
|
|
|
|
bit 1, a
|
|
|
|
|
jr nz, .asm_7627
|
|
|
|
|
.asm_760f
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld a, [wCurrentMenuItem] ; $cc26
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$d12d], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_7627
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, $1
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$d12e], a
|
|
|
|
|
ld c, $f
|
|
|
|
|
call DelayFrames
|
|
|
|
|
call Func_7656
|
|
|
|
|
and a
|
|
|
|
|
ret
|
|
|
|
|
.asm_7627
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, $1
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld [wCurrentMenuItem], a ; $cc26
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$d12d], a
|
|
|
|
|
ld a, $2
|
|
|
|
|
ld [$d12e], a
|
|
|
|
|
ld c, $f
|
|
|
|
|
call DelayFrames
|
|
|
|
|
call Func_7656
|
|
|
|
|
scf
|
|
|
|
|
ret
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_763e: ; 763e (1:763e)
|
|
|
|
|
ld de, $cee9
|
|
|
|
|
ld bc, $506
|
|
|
|
|
.asm_7644
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld [de], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc de
|
|
|
|
|
dec c
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_7644
|
|
|
|
|
push bc
|
|
|
|
|
ld bc, $e
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add hl, bc
|
|
|
|
|
pop bc
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld c, $6
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec b
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_7644
|
|
|
|
|
ret
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_7656: ; 7656 (1:7656)
|
|
|
|
|
ld de, $cee9
|
|
|
|
|
ld bc, $506
|
|
|
|
|
.asm_765c
|
|
|
|
|
ld a, [de]
|
|
|
|
|
inc de
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [hli], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
dec c
|
|
|
|
|
jr nz, .asm_765c
|
|
|
|
|
push bc
|
|
|
|
|
ld bc, $e
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add hl, bc
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop bc
|
|
|
|
|
ld c, $6
|
|
|
|
|
dec b
|
|
|
|
|
jr nz, .asm_765c
|
|
|
|
|
call UpdateSprites
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
MenuStrings: ; 7671 (1:7671)
|
|
|
|
|
db 4,3,0
|
|
|
|
|
dw .YesNoMenu
|
|
|
|
|
db 6,3,0
|
|
|
|
|
dw .NorthWestMenu
|
|
|
|
|
db 6,3,0
|
|
|
|
|
dw .SouthEastMenu
|
|
|
|
|
db 6,3,0
|
|
|
|
|
dw .YesNoMenu
|
|
|
|
|
db 6,3,0
|
|
|
|
|
dw .NorthEastMenu
|
|
|
|
|
db 7,3,0
|
|
|
|
|
dw .TradeCancelMenu
|
|
|
|
|
db 7,4,1
|
|
|
|
|
dw .HealCancelMenu
|
|
|
|
|
db 4,3,0
|
|
|
|
|
dw .NoYesMenu
|
2013-04-07 02:01:08 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.NoYesMenu ; 7699 (1:3699)
|
|
|
|
|
db "NO",$4E,"YES@"
|
|
|
|
|
.YesNoMenu ; 76a0 (1:36a0)
|
|
|
|
|
db "YES",$4E,"NO@"
|
|
|
|
|
.NorthWestMenu ; 76a7 (1:36a7)
|
|
|
|
|
db "NORTH",$4E,"WEST@"
|
|
|
|
|
.SouthEastMenu ; 76b2 (1:36b2)
|
|
|
|
|
db "SOUTH",$4E,"EAST@"
|
|
|
|
|
.NorthEastMenu ; 76bd (1:36bd)
|
|
|
|
|
db "NORTH",$4E,"EAST@"
|
|
|
|
|
.TradeCancelMenu ; 76c8 (1:36c8)
|
|
|
|
|
db "TRADE",$4E,"CANCEL@"
|
|
|
|
|
.HealCancelMenu ; 76d5 (1:36d5)
|
|
|
|
|
db "HEAL",$4E,"CANCEL@"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_76e1: ; 76e1 (1:36e1)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, wWhichTrade ; $cd3d
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld [hl], $c
|
|
|
|
|
call GetMonFieldMoves
|
|
|
|
|
ld a, [$cd41]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_770f
|
|
|
|
|
FuncCoord 11, 11 ; $c487
|
2013-04-07 02:01:08 +00:00
|
|
|
|
ld hl, Coord
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b, $5
|
|
|
|
|
ld c, $7
|
|
|
|
|
call TextBoxBorder
|
|
|
|
|
call UpdateSprites
|
|
|
|
|
ld a, $c
|
|
|
|
|
ld [$fff7], a
|
|
|
|
|
FuncCoord 13, 12 ; $c49d
|
2013-04-07 02:01:08 +00:00
|
|
|
|
ld hl, Coord
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld de, PokemonMenuEntries ; $77c2
|
|
|
|
|
jp PlaceString
|
|
|
|
|
.asm_770f
|
|
|
|
|
push af
|
|
|
|
|
FuncCoord 0, 11 ; $c47c
|
|
|
|
|
ld hl, Coord
|
|
|
|
|
ld a, [$cd42]
|
|
|
|
|
dec a
|
|
|
|
|
ld e, a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld d, $0
|
|
|
|
|
add hl, de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b, $5
|
|
|
|
|
ld a, $12
|
|
|
|
|
sub e
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld c, a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop af
|
|
|
|
|
ld de, $ffd8
|
|
|
|
|
.asm_7725
|
|
|
|
|
add hl, de
|
|
|
|
|
inc b
|
|
|
|
|
inc b
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_7725
|
|
|
|
|
ld de, $ffec
|
|
|
|
|
add hl, de
|
|
|
|
|
inc b
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call TextBoxBorder
|
2014-05-22 22:13:20 +00:00
|
|
|
|
call UpdateSprites
|
|
|
|
|
FuncCoord 0, 12 ; $c490
|
2013-04-07 02:01:08 +00:00
|
|
|
|
ld hl, Coord
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [$cd42]
|
|
|
|
|
inc a
|
|
|
|
|
ld e, a
|
|
|
|
|
ld d, $0
|
|
|
|
|
add hl, de
|
|
|
|
|
ld de, $ffd8
|
|
|
|
|
ld a, [$cd41]
|
|
|
|
|
.asm_7747
|
|
|
|
|
add hl, de
|
|
|
|
|
dec a
|
|
|
|
|
jr nz, .asm_7747
|
|
|
|
|
xor a
|
|
|
|
|
ld [$cd41], a
|
|
|
|
|
ld de, wWhichTrade ; $cd3d
|
|
|
|
|
.asm_7752
|
|
|
|
|
push hl
|
|
|
|
|
ld hl, FieldMoveNames ; $778d
|
|
|
|
|
ld a, [de]
|
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_7776
|
|
|
|
|
inc de
|
|
|
|
|
ld b, a
|
|
|
|
|
.asm_775c
|
|
|
|
|
dec b
|
|
|
|
|
jr z, .asm_7766
|
|
|
|
|
.asm_775f
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp $50
|
|
|
|
|
jr nz, .asm_775f
|
|
|
|
|
jr .asm_775c
|
|
|
|
|
.asm_7766
|
|
|
|
|
ld b, h
|
|
|
|
|
ld c, l
|
|
|
|
|
pop hl
|
|
|
|
|
push de
|
|
|
|
|
ld d, b
|
|
|
|
|
ld e, c
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call PlaceString
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld bc, $28
|
|
|
|
|
add hl, bc
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr .asm_7752
|
|
|
|
|
.asm_7776
|
|
|
|
|
pop hl
|
|
|
|
|
ld a, [$cd42]
|
|
|
|
|
ld [$fff7], a
|
|
|
|
|
FuncCoord 0, 12 ; $c490
|
2013-04-07 02:01:08 +00:00
|
|
|
|
ld hl, Coord
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [$cd42]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld e, a
|
|
|
|
|
ld d, $0
|
|
|
|
|
add hl, de
|
|
|
|
|
ld de, PokemonMenuEntries ; $77c2
|
|
|
|
|
jp PlaceString
|
2012-01-15 07:47:47 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
FieldMoveNames: ; 778d (1:778d)
|
|
|
|
|
db "CUT@"
|
|
|
|
|
db "FLY@"
|
|
|
|
|
db "@"
|
|
|
|
|
db "SURF@"
|
|
|
|
|
db "STRENGTH@"
|
|
|
|
|
db "FLASH@"
|
|
|
|
|
db "DIG@"
|
|
|
|
|
db "TELEPORT@"
|
|
|
|
|
db "SOFTBOILED@"
|
2014-01-22 06:21:41 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
PokemonMenuEntries: ; 77c2 (1:77c2)
|
|
|
|
|
db "STATS"
|
|
|
|
|
next "SWITCH"
|
|
|
|
|
next "CANCEL@"
|
2012-01-15 07:47:47 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
GetMonFieldMoves: ; 77d6 (1:77d6)
|
|
|
|
|
ld a, [wWhichPokemon] ; $cf92
|
|
|
|
|
ld hl, W_PARTYMON1_MOVE1 ; $d173
|
|
|
|
|
ld bc, $2c
|
|
|
|
|
call AddNTimes
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld d, h
|
|
|
|
|
ld e, l
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld c, $5
|
|
|
|
|
ld hl, wWhichTrade ; $cd3d
|
|
|
|
|
.asm_77e9
|
|
|
|
|
push hl
|
|
|
|
|
.asm_77ea
|
|
|
|
|
dec c
|
|
|
|
|
jr z, .asm_7821
|
|
|
|
|
ld a, [de] ; de is RAM address of move
|
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_7821
|
|
|
|
|
ld b, a
|
|
|
|
|
inc de ; go to next move
|
|
|
|
|
ld hl, FieldMoveDisplayData ; $7823
|
|
|
|
|
.asm_77f6
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
cp $ff
|
|
|
|
|
jr z, .asm_77ea
|
|
|
|
|
cp b
|
|
|
|
|
jr z, .asm_7802
|
|
|
|
|
inc hl
|
|
|
|
|
inc hl
|
|
|
|
|
jr .asm_77f6
|
|
|
|
|
.asm_7802
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, b
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$cd43], a
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld b, [hl]
|
|
|
|
|
pop hl
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld a, [$cd41]
|
|
|
|
|
inc a
|
|
|
|
|
ld [$cd41], a
|
|
|
|
|
ld a, [$cd42]
|
|
|
|
|
cp b
|
|
|
|
|
jr c, .asm_781b
|
|
|
|
|
ld a, b
|
|
|
|
|
ld [$cd42], a
|
|
|
|
|
.asm_781b
|
|
|
|
|
ld a, [$cd43]
|
|
|
|
|
ld b, a
|
|
|
|
|
jr .asm_77e9
|
|
|
|
|
.asm_7821
|
|
|
|
|
pop hl
|
|
|
|
|
ret
|
2012-01-15 07:47:47 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; 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
|
2013-04-07 02:01:08 +00:00
|
|
|
|
|
2012-02-06 03:10:12 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/1.asm"
|
|
|
|
|
|
|
|
|
|
INCLUDE "engine/menu/players_pc.asm"
|
|
|
|
|
|
|
|
|
|
_RemovePokemon: ; 7b68 (1:7b68)
|
|
|
|
|
ld hl, W_NUMINPARTY ; $d163
|
|
|
|
|
ld a, [$cf95]
|
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_7b74
|
|
|
|
|
ld hl, W_NUMINBOX ; $da80
|
|
|
|
|
.asm_7b74
|
|
|
|
|
ld a, [hl]
|
2012-02-06 03:10:12 +00:00
|
|
|
|
dec a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [hli], a
|
|
|
|
|
ld a, [wWhichPokemon] ; $cf92
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $0
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld e, l
|
|
|
|
|
ld d, h
|
2012-02-06 03:10:12 +00:00
|
|
|
|
inc de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.asm_7b81
|
|
|
|
|
ld a, [de]
|
2012-02-06 03:10:12 +00:00
|
|
|
|
inc de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [hli], a
|
2012-02-06 03:10:12 +00:00
|
|
|
|
inc a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_7b81
|
|
|
|
|
ld hl, W_PARTYMON1OT ; $d273
|
|
|
|
|
ld d, $5
|
|
|
|
|
ld a, [$cf95]
|
2012-02-06 03:10:12 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr z, .asm_7b97
|
|
|
|
|
ld hl, W_BOXMON1OT
|
|
|
|
|
ld d, $13
|
|
|
|
|
.asm_7b97
|
|
|
|
|
ld a, [wWhichPokemon] ; $cf92
|
|
|
|
|
call SkipFixedLengthTextEntries
|
|
|
|
|
ld a, [wWhichPokemon] ; $cf92
|
|
|
|
|
cp d
|
|
|
|
|
jr nz, .asm_7ba6
|
|
|
|
|
ld [hl], $ff
|
|
|
|
|
ret
|
|
|
|
|
.asm_7ba6
|
|
|
|
|
ld d, h
|
|
|
|
|
ld e, l
|
|
|
|
|
ld bc, $b
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld bc, W_PARTYMON1NAME ; $d2b5
|
|
|
|
|
ld a, [$cf95]
|
2012-02-06 03:10:12 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr z, .asm_7bb8
|
|
|
|
|
ld bc, W_BOXMON1NAME
|
|
|
|
|
.asm_7bb8
|
|
|
|
|
call CopyDataUntil
|
|
|
|
|
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
|
|
|
|
ld bc, $2c
|
|
|
|
|
ld a, [$cf95]
|
2012-02-06 03:10:12 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr z, .asm_7bcd
|
|
|
|
|
ld hl, W_BOXMON1DATA
|
|
|
|
|
ld bc, $21
|
|
|
|
|
.asm_7bcd
|
|
|
|
|
ld a, [wWhichPokemon] ; $cf92
|
|
|
|
|
call AddNTimes
|
|
|
|
|
ld d, h
|
|
|
|
|
ld e, l
|
|
|
|
|
ld a, [$cf95]
|
2012-02-06 03:10:12 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr z, .asm_7be4
|
|
|
|
|
ld bc, $21
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld bc, W_BOXMON1OT
|
|
|
|
|
jr .asm_7beb
|
|
|
|
|
.asm_7be4
|
|
|
|
|
ld bc, $2c
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld bc, W_PARTYMON1OT ; $d273
|
|
|
|
|
.asm_7beb
|
|
|
|
|
call CopyDataUntil
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld hl, W_PARTYMON1NAME ; $d2b5
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [$cf95]
|
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_7bfa
|
|
|
|
|
ld hl, W_BOXMON1NAME
|
|
|
|
|
.asm_7bfa
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld bc, $b
|
2013-12-05 06:18:14 +00:00
|
|
|
|
ld a, [wWhichPokemon] ; $cf92
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call AddNTimes
|
|
|
|
|
ld d, h
|
|
|
|
|
ld e, l
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld bc, $b
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add hl, bc
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld bc, wPokedexOwned ; $d2f7
|
|
|
|
|
ld a, [$cf95]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr z, .asm_7c15
|
|
|
|
|
ld bc, $dee2
|
|
|
|
|
.asm_7c15
|
|
|
|
|
jp CopyDataUntil
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_7c18: ; 7c18 (1:7c18)
|
|
|
|
|
ld hl, $d730
|
|
|
|
|
set 6, [hl]
|
|
|
|
|
ld a, $3d
|
|
|
|
|
call Predef
|
|
|
|
|
ld hl, $d730
|
|
|
|
|
res 6, [hl]
|
|
|
|
|
call ReloadMapData
|
|
|
|
|
ld c, $a
|
|
|
|
|
call DelayFrames
|
|
|
|
|
ld a, $3a
|
|
|
|
|
call Predef
|
|
|
|
|
ld a, [$d11e]
|
|
|
|
|
dec a
|
|
|
|
|
ld c, a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, $1
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, wPokedexSeen
|
|
|
|
|
ld a, $10
|
|
|
|
|
call Predef
|
|
|
|
|
ld a, $1
|
|
|
|
|
ld [$cc3c], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
SECTION "bank3",ROMX,BANK[$3]
|
|
|
|
|
|
2014-05-25 18:21:48 +00:00
|
|
|
|
_Joypad::
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld a, [hJoyInput]
|
2014-05-25 17:09:39 +00:00
|
|
|
|
cp A_BUTTON + B_BUTTON + SELECT + START ; soft reset
|
2014-05-25 17:51:53 +00:00
|
|
|
|
jp z, TrySoftReset
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b, a
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld a, [hJoyHeldLast]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld e, a
|
|
|
|
|
xor b
|
|
|
|
|
ld d, a
|
|
|
|
|
and e
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld [hJoyReleased], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, d
|
2014-05-22 22:13:20 +00:00
|
|
|
|
and b
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld [hJoyPressed], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, b
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld [hJoyHeldLast], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [$d730]
|
|
|
|
|
bit 5, a
|
|
|
|
|
jr nz, DiscardButtonPresses
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld a, [hJoyHeldLast]
|
|
|
|
|
ld [hJoyHeld], a
|
|
|
|
|
ld a, [wJoyIgnore]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ret z
|
|
|
|
|
cpl
|
|
|
|
|
ld b, a
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld a, [hJoyHeld]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
and b
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld [hJoyHeld], a
|
|
|
|
|
ld a, [hJoyPressed]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
and b
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld [hJoyPressed], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-25 17:51:53 +00:00
|
|
|
|
DiscardButtonPresses:
|
2014-05-22 22:13:20 +00:00
|
|
|
|
xor a
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld [hJoyHeld], a
|
|
|
|
|
ld [hJoyPressed], a
|
|
|
|
|
ld [hJoyReleased], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ret
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-25 17:51:53 +00:00
|
|
|
|
TrySoftReset:
|
2014-05-22 22:13:20 +00:00
|
|
|
|
call DelayFrame
|
2014-05-25 17:51:53 +00:00
|
|
|
|
; reset joypad (to make sure the
|
|
|
|
|
; player is really trying to reset)
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, $30
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld [rJOYP], a
|
|
|
|
|
ld hl, hSoftReset
|
2014-05-22 22:13:20 +00:00
|
|
|
|
dec [hl]
|
|
|
|
|
jp z, SoftReset
|
2014-05-25 18:21:48 +00:00
|
|
|
|
jp Joypad
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/map_songs.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/map_header_banks.asm"
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_c335: ; c335 (3:4335)
|
|
|
|
|
ld a, $90
|
|
|
|
|
ld [$ffb0], a
|
|
|
|
|
ld [rWY], a ; $ff4a
|
|
|
|
|
xor a
|
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
|
ld [$d13b], a
|
|
|
|
|
ld [W_LONEATTACKNO], a ; $d05c
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld [hJoyPressed], a
|
|
|
|
|
ld [hJoyReleased], a
|
|
|
|
|
ld [hJoyHeld], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$cd6a], a
|
|
|
|
|
ld [$d5a3], a
|
|
|
|
|
ld hl, $d73f
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld [hl], a
|
|
|
|
|
ld hl, wWhichTrade ; $cd3d
|
|
|
|
|
ld bc, $1e
|
|
|
|
|
call FillMemory
|
2012-01-24 00:45:02 +00:00
|
|
|
|
ret
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_c35f: ; c35f (3:435f)
|
|
|
|
|
ld a, [$d3ae]
|
2012-01-24 00:45:02 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ret z
|
2012-01-24 00:45:02 +00:00
|
|
|
|
ld c, a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, $d3af
|
|
|
|
|
.asm_c368
|
|
|
|
|
ld a, [W_YCOORD] ; $d361
|
|
|
|
|
cp [hl]
|
|
|
|
|
jr nz, .asm_c383
|
|
|
|
|
inc hl
|
|
|
|
|
ld a, [W_XCOORD] ; $d362
|
|
|
|
|
cp [hl]
|
|
|
|
|
jr nz, .asm_c384
|
|
|
|
|
inc hl
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld [$d42f], a
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
|
|
|
|
|
ld hl, $d736
|
|
|
|
|
set 2, [hl]
|
|
|
|
|
ret
|
|
|
|
|
.asm_c383
|
|
|
|
|
inc hl
|
|
|
|
|
.asm_c384
|
|
|
|
|
inc hl
|
|
|
|
|
inc hl
|
|
|
|
|
inc hl
|
|
|
|
|
dec c
|
|
|
|
|
jr nz, .asm_c368
|
|
|
|
|
ret
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
CheckForceBikeOrSurf: ; c38b (3:438b)
|
|
|
|
|
ld hl, $D732
|
|
|
|
|
bit 5, [hl]
|
|
|
|
|
ret nz
|
|
|
|
|
ld hl, ForcedBikeOrSurfMaps
|
|
|
|
|
ld a, [W_YCOORD]
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [W_XCOORD]
|
|
|
|
|
ld c, a
|
|
|
|
|
ld a, [W_CURMAP]
|
|
|
|
|
ld d, a
|
|
|
|
|
.loop
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp $ff
|
|
|
|
|
ret z ;if we reach FF then it's not part of the list
|
|
|
|
|
cp d ;compare to current map
|
|
|
|
|
jr nz, .incorrectMap
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp b ;compare y-coord
|
|
|
|
|
jr nz, .incorrectY
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp c ;compare x-coord
|
|
|
|
|
jr nz, .loop ; incorrect x-coord, check next item
|
|
|
|
|
ld a, [W_CURMAP]
|
|
|
|
|
cp SEAFOAM_ISLANDS_4
|
|
|
|
|
ld a, $2
|
|
|
|
|
ld [W_SEAFOAMISLANDS4CURSCRIPT], a
|
|
|
|
|
jr z, .forceSurfing
|
|
|
|
|
ld a, [W_CURMAP]
|
|
|
|
|
cp SEAFOAM_ISLANDS_5
|
|
|
|
|
ld a, $2
|
|
|
|
|
ld [W_SEAFOAMISLANDS5CURSCRIPT], a
|
|
|
|
|
jr z, .forceSurfing
|
|
|
|
|
;force bike riding
|
|
|
|
|
ld hl, $d732
|
|
|
|
|
set 5, [hl]
|
|
|
|
|
ld a, $1
|
|
|
|
|
ld [$d700], a
|
|
|
|
|
ld [$d11a], a
|
|
|
|
|
jp ForceBikeOrSurf
|
|
|
|
|
.incorrectMap
|
|
|
|
|
inc hl
|
|
|
|
|
.incorrectY
|
|
|
|
|
inc hl
|
|
|
|
|
jr .loop
|
|
|
|
|
.forceSurfing
|
|
|
|
|
ld a, $2
|
|
|
|
|
ld [$d700], a
|
|
|
|
|
ld [$d11a], a
|
|
|
|
|
jp ForceBikeOrSurf
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/force_bike_surf.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_c3ff: ; c3ff (3:43ff)
|
|
|
|
|
push hl
|
|
|
|
|
push de
|
|
|
|
|
push bc
|
|
|
|
|
ld a, [$c109]
|
|
|
|
|
srl a
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $0
|
|
|
|
|
ld hl, PointerTable_c422 ; $4422
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld h, [hl]
|
|
|
|
|
ld l, a
|
|
|
|
|
ld a, [W_YCOORD] ; $d361
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [W_XCOORD] ; $d362
|
|
|
|
|
ld c, a
|
|
|
|
|
ld de, .asm_c41e ; $441e
|
|
|
|
|
push de
|
|
|
|
|
jp [hl]
|
|
|
|
|
.asm_c41e
|
|
|
|
|
pop bc
|
|
|
|
|
pop de
|
|
|
|
|
pop hl
|
|
|
|
|
ret
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
PointerTable_c422: ; c422 (3:4422)
|
|
|
|
|
dw .asm_c42a
|
|
|
|
|
dw .asm_4434
|
|
|
|
|
dw .asm_443A
|
|
|
|
|
dw .asm_4440
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.asm_c42a
|
|
|
|
|
ld a, [W_CURMAPHEIGHT] ; $d368
|
|
|
|
|
add a
|
|
|
|
|
dec a
|
|
|
|
|
cp b
|
|
|
|
|
jr z, .setCarry
|
|
|
|
|
jr .resetCarry
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.asm_4434
|
|
|
|
|
ld a, b
|
|
|
|
|
and a
|
|
|
|
|
jr z, .setCarry
|
|
|
|
|
jr .resetCarry
|
|
|
|
|
|
|
|
|
|
.asm_443A
|
|
|
|
|
ld a, c
|
|
|
|
|
and a
|
|
|
|
|
jr z, .setCarry
|
|
|
|
|
jr .resetCarry
|
|
|
|
|
|
|
|
|
|
.asm_4440
|
|
|
|
|
ld a, [W_CURMAPWIDTH] ; $d369
|
|
|
|
|
add a
|
|
|
|
|
dec a
|
|
|
|
|
cp c
|
|
|
|
|
jr z, .setCarry
|
|
|
|
|
jr .resetCarry
|
|
|
|
|
.resetCarry
|
|
|
|
|
and a
|
|
|
|
|
ret
|
|
|
|
|
.setCarry
|
|
|
|
|
scf
|
|
|
|
|
ret
|
2014-04-27 06:44:29 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_c44e: ; c44e (3:444e)
|
2012-01-24 00:45:02 +00:00
|
|
|
|
push hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
push de
|
|
|
|
|
push bc
|
|
|
|
|
call Func_c589
|
|
|
|
|
ld a, [W_CURMAP] ; $d35e
|
|
|
|
|
cp SS_ANNE_5
|
|
|
|
|
jr z, .ssAnne5
|
|
|
|
|
ld a, [$c109]
|
|
|
|
|
srl a
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $0
|
|
|
|
|
ld hl, .pointerTable_c477 ; $4477
|
|
|
|
|
add hl, bc
|
2012-01-24 00:45:02 +00:00
|
|
|
|
ld a, [hli]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld h, [hl]
|
|
|
|
|
ld l, a
|
|
|
|
|
ld a, [$cfc6]
|
|
|
|
|
ld de, $1
|
|
|
|
|
call IsInArray
|
|
|
|
|
.asm_c473
|
|
|
|
|
pop bc
|
|
|
|
|
pop de
|
2012-01-24 00:45:02 +00:00
|
|
|
|
pop hl
|
|
|
|
|
ret
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.pointerTable_c477: ; c477 (3:4477)
|
|
|
|
|
dw .arrayData_c47f
|
|
|
|
|
dw .arrayData_c487
|
|
|
|
|
dw .arrayData_c48a
|
|
|
|
|
dw .arrayData_c48d
|
2012-01-23 17:41:39 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.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
|
|
|
|
|
scf
|
|
|
|
|
jr .asm_c473
|
|
|
|
|
.asm_c49a
|
2012-01-23 17:41:39 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr .asm_c473
|
2012-01-23 03:08:37 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_c49d: ; c49d (3:449d)
|
|
|
|
|
push hl
|
|
|
|
|
push de
|
|
|
|
|
push bc
|
|
|
|
|
callba HandleDoors
|
|
|
|
|
jr c, .asm_c4c8
|
|
|
|
|
ld a, [W_CURMAPTILESET] ; $d367
|
|
|
|
|
add a
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $0
|
|
|
|
|
ld hl, WarpTileIDPointers ; $44cc
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld h, [hl]
|
|
|
|
|
ld l, a
|
|
|
|
|
ld de, $1
|
|
|
|
|
FuncCoord 8, 9 ; $c45c
|
|
|
|
|
ld a, [Coord]
|
|
|
|
|
call IsInArray
|
|
|
|
|
jr nc, .asm_c4c8
|
|
|
|
|
ld hl, $d736
|
|
|
|
|
res 2, [hl]
|
|
|
|
|
.asm_c4c8
|
|
|
|
|
pop bc
|
|
|
|
|
pop de
|
|
|
|
|
pop hl
|
2012-01-23 03:08:37 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/warp_tile_ids.asm"
|
2012-01-23 03:08:37 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
PrintSafariZoneSteps: ; c52f (3:452f)
|
|
|
|
|
ld a, [W_CURMAP] ; $d35e
|
|
|
|
|
cp SAFARI_ZONE_EAST
|
|
|
|
|
ret c
|
|
|
|
|
cp UNKNOWN_DUNGEON_2
|
|
|
|
|
ret nc
|
|
|
|
|
ld hl, wTileMap
|
|
|
|
|
ld b, $3
|
|
|
|
|
ld c, $7
|
|
|
|
|
call TextBoxBorder
|
|
|
|
|
FuncCoord 1, 1 ; $c3b5
|
|
|
|
|
ld hl, Coord
|
|
|
|
|
ld de, wSafariSteps ; $d70d
|
|
|
|
|
ld bc, $203
|
|
|
|
|
call PrintNumber
|
|
|
|
|
FuncCoord 4, 1 ; $c3b8
|
|
|
|
|
ld hl, Coord
|
|
|
|
|
ld de, SafariSteps ; $4579
|
|
|
|
|
call PlaceString
|
|
|
|
|
FuncCoord 1, 3 ; $c3dd
|
|
|
|
|
ld hl, Coord
|
|
|
|
|
ld de, SafariBallText
|
|
|
|
|
call PlaceString
|
|
|
|
|
ld a, [W_NUMSAFARIBALLS] ; $da47
|
|
|
|
|
cp $a
|
|
|
|
|
jr nc, .asm_c56d
|
|
|
|
|
FuncCoord 5, 3 ; $c3e1
|
|
|
|
|
ld hl, Coord
|
|
|
|
|
ld a, $7f
|
|
|
|
|
ld [hl], a
|
|
|
|
|
.asm_c56d
|
|
|
|
|
FuncCoord 6, 3 ; $c3e2
|
|
|
|
|
ld hl, Coord
|
|
|
|
|
ld de, W_NUMSAFARIBALLS ; $da47
|
|
|
|
|
ld bc, $102
|
|
|
|
|
jp PrintNumber
|
2012-01-23 03:08:37 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SafariSteps: ; c579 (3:4579)
|
|
|
|
|
db "/500@"
|
2012-01-23 03:08:37 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SafariBallText: ; c57e (3:457e)
|
|
|
|
|
db "BALL×× @"
|
2012-01-23 03:08:37 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_c586: ; c586 (3:4586)
|
2014-05-23 22:11:09 +00:00
|
|
|
|
call GetPredefRegisters
|
2012-01-23 03:08:37 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_c589: ; c589 (3:4589)
|
|
|
|
|
ld a, [W_YCOORD] ; $d361
|
|
|
|
|
ld d, a
|
|
|
|
|
ld a, [W_XCOORD] ; $d362
|
|
|
|
|
ld e, a
|
|
|
|
|
ld a, [$c109]
|
|
|
|
|
and a
|
|
|
|
|
jr nz, .asm_c59d
|
|
|
|
|
FuncCoord 8, 11 ; $c484
|
|
|
|
|
ld a, [Coord]
|
|
|
|
|
inc d
|
|
|
|
|
jr .asm_c5b9
|
|
|
|
|
.asm_c59d
|
|
|
|
|
cp $4
|
|
|
|
|
jr nz, .asm_c5a7
|
|
|
|
|
FuncCoord 8, 7 ; $c434
|
|
|
|
|
ld a, [Coord]
|
|
|
|
|
dec d
|
|
|
|
|
jr .asm_c5b9
|
|
|
|
|
.asm_c5a7
|
|
|
|
|
cp $8
|
|
|
|
|
jr nz, .asm_c5b1
|
|
|
|
|
FuncCoord 6, 9 ; $c45a
|
|
|
|
|
ld a, [Coord]
|
|
|
|
|
dec e
|
|
|
|
|
jr .asm_c5b9
|
|
|
|
|
.asm_c5b1
|
|
|
|
|
cp $c
|
|
|
|
|
jr nz, .asm_c5b9
|
|
|
|
|
FuncCoord 10, 9 ; $c45e
|
|
|
|
|
ld a, [Coord]
|
|
|
|
|
inc e
|
|
|
|
|
.asm_c5b9
|
|
|
|
|
ld c, a
|
|
|
|
|
ld [$cfc6], a
|
2012-01-23 03:08:37 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_c5be: ; c5be (3:45be)
|
2012-01-24 00:45:02 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$ffdb], a
|
|
|
|
|
ld hl, W_YCOORD ; $d361
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld d, a
|
|
|
|
|
ld e, [hl]
|
|
|
|
|
ld a, [$c109]
|
2012-01-24 00:45:02 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_c5d8
|
|
|
|
|
ld hl, $ffdb
|
|
|
|
|
set 0, [hl]
|
|
|
|
|
FuncCoord 8, 13 ; $c4ac
|
|
|
|
|
ld a, [Coord]
|
|
|
|
|
inc d
|
|
|
|
|
jr .asm_c603
|
|
|
|
|
.asm_c5d8
|
|
|
|
|
cp $4
|
|
|
|
|
jr nz, .asm_c5e7
|
|
|
|
|
ld hl, $ffdb
|
|
|
|
|
set 1, [hl]
|
|
|
|
|
FuncCoord 8, 5 ; $c40c
|
|
|
|
|
ld a, [Coord]
|
|
|
|
|
dec d
|
|
|
|
|
jr .asm_c603
|
|
|
|
|
.asm_c5e7
|
|
|
|
|
cp $8
|
|
|
|
|
jr nz, .asm_c5f6
|
|
|
|
|
ld hl, $ffdb
|
|
|
|
|
set 2, [hl]
|
|
|
|
|
FuncCoord 4, 9 ; $c458
|
|
|
|
|
ld a, [Coord]
|
|
|
|
|
dec e
|
|
|
|
|
jr .asm_c603
|
|
|
|
|
.asm_c5f6
|
|
|
|
|
cp $c
|
|
|
|
|
jr nz, .asm_c603
|
|
|
|
|
ld hl, $ffdb
|
|
|
|
|
set 3, [hl]
|
|
|
|
|
FuncCoord 12, 9 ; $c460
|
|
|
|
|
ld a, [Coord]
|
|
|
|
|
inc e
|
|
|
|
|
.asm_c603
|
|
|
|
|
ld c, a
|
|
|
|
|
ld [$d71c], a
|
|
|
|
|
ld [$cfc6], a
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
Func_c60b: ; c60b (3:460b)
|
|
|
|
|
call Func_c5be
|
|
|
|
|
ld hl, $d530
|
2012-01-24 00:45:02 +00:00
|
|
|
|
ld a, [hli]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld h, [hl]
|
|
|
|
|
ld l, a
|
|
|
|
|
.asm_c614
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp $ff
|
|
|
|
|
jr z, .asm_c632
|
|
|
|
|
cp c
|
|
|
|
|
jr nz, .asm_c614
|
|
|
|
|
ld hl, $c7e
|
|
|
|
|
call Func_c44
|
|
|
|
|
ld a, $ff
|
|
|
|
|
jr c, .asm_c632
|
|
|
|
|
ld a, [$d71c]
|
|
|
|
|
cp $15
|
|
|
|
|
ld a, $ff
|
|
|
|
|
jr z, .asm_c632
|
|
|
|
|
call Func_c636
|
|
|
|
|
.asm_c632
|
|
|
|
|
ld [$d71c], a
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
Func_c636: ; c636 (3:4636)
|
|
|
|
|
ld a, [$d718]
|
|
|
|
|
dec a
|
|
|
|
|
swap a
|
|
|
|
|
ld d, $0
|
|
|
|
|
ld e, a
|
|
|
|
|
ld hl, $c214
|
|
|
|
|
add hl, de
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld [$ffdc], a
|
2012-01-24 00:45:02 +00:00
|
|
|
|
ld a, [hl]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$ffdd], a
|
|
|
|
|
ld a, [W_NUMSPRITES] ; $d4e1
|
|
|
|
|
ld c, a
|
|
|
|
|
ld de, $f
|
|
|
|
|
ld hl, $c214
|
|
|
|
|
ld a, [$ffdb]
|
|
|
|
|
and $3
|
|
|
|
|
jr z, .asm_c678
|
|
|
|
|
.asm_c659
|
|
|
|
|
inc hl
|
|
|
|
|
ld a, [$ffdd]
|
|
|
|
|
cp [hl]
|
|
|
|
|
jr nz, .asm_c672
|
|
|
|
|
dec hl
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [$ffdb]
|
|
|
|
|
rrca
|
|
|
|
|
jr c, .asm_c66c
|
|
|
|
|
ld a, [$ffdc]
|
|
|
|
|
dec a
|
|
|
|
|
jr .asm_c66f
|
|
|
|
|
.asm_c66c
|
|
|
|
|
ld a, [$ffdc]
|
2012-01-24 00:45:02 +00:00
|
|
|
|
inc a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.asm_c66f
|
|
|
|
|
cp b
|
|
|
|
|
jr z, .asm_c697
|
|
|
|
|
.asm_c672
|
|
|
|
|
dec c
|
|
|
|
|
jr z, .asm_c69a
|
|
|
|
|
add hl, de
|
|
|
|
|
jr .asm_c659
|
|
|
|
|
.asm_c678
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [$ffdc]
|
|
|
|
|
cp b
|
|
|
|
|
jr nz, .asm_c691
|
|
|
|
|
ld b, [hl]
|
|
|
|
|
ld a, [$ffdb]
|
|
|
|
|
bit 2, a
|
|
|
|
|
jr nz, .asm_c68b
|
|
|
|
|
ld a, [$ffdd]
|
|
|
|
|
inc a
|
|
|
|
|
jr .asm_c68e
|
|
|
|
|
.asm_c68b
|
|
|
|
|
ld a, [$ffdd]
|
|
|
|
|
dec a
|
|
|
|
|
.asm_c68e
|
|
|
|
|
cp b
|
|
|
|
|
jr z, .asm_c697
|
|
|
|
|
.asm_c691
|
|
|
|
|
dec c
|
|
|
|
|
jr z, .asm_c69a
|
|
|
|
|
add hl, de
|
|
|
|
|
jr .asm_c678
|
|
|
|
|
.asm_c697
|
|
|
|
|
ld a, $ff
|
|
|
|
|
ret
|
|
|
|
|
.asm_c69a
|
2012-01-24 00:45:02 +00:00
|
|
|
|
xor a
|
|
|
|
|
ret
|
2013-03-17 21:54:12 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_c69c: ; c69c (3:469c)
|
|
|
|
|
ld a, [$d730]
|
|
|
|
|
add a
|
|
|
|
|
jp c, .asm_c74f
|
|
|
|
|
ld a, [W_NUMINPARTY] ; $d163
|
|
|
|
|
and a
|
|
|
|
|
jp z, .asm_c74f
|
|
|
|
|
call Func_c8de
|
|
|
|
|
ld a, [$d13b]
|
|
|
|
|
and $3
|
|
|
|
|
jp nz, .asm_c74f
|
|
|
|
|
ld [wWhichPokemon], a ; $cf92
|
|
|
|
|
ld hl, W_PARTYMON1_STATUS ; $d16f
|
|
|
|
|
ld de, W_PARTYMON1 ; $d164
|
|
|
|
|
.asm_c6be
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
and $8
|
|
|
|
|
jr z, .asm_c6fd
|
|
|
|
|
dec hl
|
|
|
|
|
dec hl
|
|
|
|
|
ld a, [hld]
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
or b
|
|
|
|
|
jr z, .asm_c6fb
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
dec a
|
2012-01-24 00:45:02 +00:00
|
|
|
|
ld [hld], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc a
|
|
|
|
|
jr nz, .asm_c6d5
|
|
|
|
|
dec [hl]
|
|
|
|
|
inc hl
|
|
|
|
|
jr .asm_c6fb
|
|
|
|
|
.asm_c6d5
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
or [hl]
|
|
|
|
|
jr nz, .asm_c6fb
|
|
|
|
|
push hl
|
|
|
|
|
inc hl
|
|
|
|
|
inc hl
|
2012-01-24 00:45:02 +00:00
|
|
|
|
ld [hl], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [de]
|
|
|
|
|
ld [$d11e], a
|
|
|
|
|
push de
|
|
|
|
|
ld a, [wWhichPokemon] ; $cf92
|
|
|
|
|
ld hl, W_PARTYMON1NAME ; $d2b5
|
|
|
|
|
call GetPartyMonName
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld [wJoyIgnore], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
call EnableAutoTextBoxDrawing
|
|
|
|
|
ld a, $d0
|
|
|
|
|
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
|
|
|
|
call DisplayTextID
|
|
|
|
|
pop de
|
|
|
|
|
pop hl
|
|
|
|
|
.asm_c6fb
|
|
|
|
|
inc hl
|
|
|
|
|
inc hl
|
|
|
|
|
.asm_c6fd
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [de]
|
|
|
|
|
inc a
|
|
|
|
|
jr z, .asm_c70e
|
|
|
|
|
ld bc, $2c
|
|
|
|
|
add hl, bc
|
2012-02-03 07:10:50 +00:00
|
|
|
|
push hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, wWhichPokemon ; $cf92
|
|
|
|
|
inc [hl]
|
2012-02-03 07:10:50 +00:00
|
|
|
|
pop hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr .asm_c6be
|
|
|
|
|
.asm_c70e
|
|
|
|
|
ld hl, W_PARTYMON1_STATUS ; $d16f
|
|
|
|
|
ld a, [W_NUMINPARTY] ; $d163
|
|
|
|
|
ld d, a
|
|
|
|
|
ld e, $0
|
|
|
|
|
.asm_c717
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
and $8
|
|
|
|
|
or e
|
|
|
|
|
ld e, a
|
|
|
|
|
ld bc, $2c
|
|
|
|
|
add hl, bc
|
|
|
|
|
dec d
|
|
|
|
|
jr nz, .asm_c717
|
|
|
|
|
ld a, e
|
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_c733
|
|
|
|
|
ld b, $2
|
|
|
|
|
ld a, $1f
|
|
|
|
|
call Predef ; indirect jump to Func_480eb (480eb (12:40eb))
|
|
|
|
|
ld a, (SFX_02_43 - SFX_Headers_02) / 3
|
|
|
|
|
call PlaySound
|
|
|
|
|
.asm_c733
|
|
|
|
|
ld a, $14
|
|
|
|
|
call Predef ; indirect jump to AnyPlayerPokemonAliveCheck (3ca83 (f:4a83))
|
|
|
|
|
ld a, d
|
|
|
|
|
and a
|
|
|
|
|
jr nz, .asm_c74f
|
|
|
|
|
call EnableAutoTextBoxDrawing
|
|
|
|
|
ld a, $d1
|
|
|
|
|
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
|
|
|
|
call DisplayTextID
|
|
|
|
|
ld hl, $d72e
|
|
|
|
|
set 5, [hl]
|
|
|
|
|
ld a, $ff
|
|
|
|
|
jr .asm_c750
|
|
|
|
|
.asm_c74f
|
|
|
|
|
xor a
|
|
|
|
|
.asm_c750
|
|
|
|
|
ld [$d12d], a
|
2012-02-03 07:10:50 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_c754: ; c754 (3:4754)
|
2014-05-23 22:11:09 +00:00
|
|
|
|
call GetPredefRegisters
|
2014-05-22 22:13:20 +00:00
|
|
|
|
push hl
|
|
|
|
|
ld d, $0
|
|
|
|
|
ld a, [W_CURMAPTILESET] ; $d367
|
|
|
|
|
add a
|
|
|
|
|
add a
|
|
|
|
|
ld b, a
|
|
|
|
|
add a
|
|
|
|
|
add b
|
|
|
|
|
jr nc, .asm_c765
|
|
|
|
|
inc d
|
|
|
|
|
.asm_c765
|
|
|
|
|
ld e, a
|
|
|
|
|
ld hl, Tilesets
|
|
|
|
|
add hl, de
|
|
|
|
|
ld de, $d52b
|
|
|
|
|
ld c, $b
|
|
|
|
|
.asm_c76f
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
dec c
|
|
|
|
|
jr nz, .asm_c76f
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
ld [$ffd7], a
|
|
|
|
|
xor a
|
|
|
|
|
ld [$ffd8], a
|
|
|
|
|
pop hl
|
|
|
|
|
ld a, [W_CURMAPTILESET] ; $d367
|
|
|
|
|
push hl
|
|
|
|
|
push de
|
|
|
|
|
ld hl, DungeonTilesets ; $47b2
|
|
|
|
|
ld de, $1
|
|
|
|
|
call IsInArray
|
|
|
|
|
pop de
|
|
|
|
|
pop hl
|
|
|
|
|
jr c, .asm_c797
|
|
|
|
|
ld a, [W_CURMAPTILESET] ; $d367
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [H_DOWNARROWBLINKCNT1] ; $ff8b
|
|
|
|
|
cp b
|
|
|
|
|
jr z, .asm_c7b1
|
|
|
|
|
.asm_c797
|
|
|
|
|
ld a, [$d42f]
|
|
|
|
|
cp $ff
|
|
|
|
|
jr z, .asm_c7b1
|
|
|
|
|
call LoadDestinationWarpPosition
|
|
|
|
|
ld a, [W_YCOORD] ; $d361
|
|
|
|
|
and $1
|
|
|
|
|
ld [W_YBLOCKCOORD], a ; $d363
|
|
|
|
|
ld a, [W_XCOORD] ; $d362
|
|
|
|
|
and $1
|
|
|
|
|
ld [W_XBLOCKCOORD], a ; $d364
|
|
|
|
|
.asm_c7b1
|
2012-02-03 07:10:50 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/dungeon_tilesets.asm"
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/tileset_headers.asm"
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_c8de: ; c8de (3:48de)
|
|
|
|
|
ld a, [W_DAYCARE_IN_USE]
|
2012-02-03 07:10:50 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ret z
|
|
|
|
|
ld hl, $da6f
|
|
|
|
|
inc [hl]
|
|
|
|
|
ret nz
|
|
|
|
|
dec hl
|
|
|
|
|
inc [hl]
|
|
|
|
|
ret nz
|
|
|
|
|
dec hl
|
|
|
|
|
inc [hl]
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
cp $50
|
|
|
|
|
ret c
|
|
|
|
|
ld a, $50
|
|
|
|
|
ld [hl], a
|
2012-02-03 07:10:50 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/hide_show_data.asm"
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
PrintUsedStrengthText: ; cd99 (3:4d99)
|
|
|
|
|
ld hl, $d728
|
|
|
|
|
set 0, [hl]
|
|
|
|
|
ld hl, UsedStrengthText
|
|
|
|
|
call PrintText
|
|
|
|
|
ld hl, CanMoveBouldersText
|
|
|
|
|
jp PrintText
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
UsedStrengthText: ; cdaa (3:4daa)
|
|
|
|
|
TX_FAR _UsedStrengthText
|
|
|
|
|
db $08 ; asm
|
|
|
|
|
ld a, [$cf91]
|
|
|
|
|
call PlayCry
|
|
|
|
|
call Delay3
|
|
|
|
|
jp TextScriptEnd
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
CanMoveBouldersText: ; cdbb (3:4dbb)
|
|
|
|
|
TX_FAR _CanMoveBouldersText
|
|
|
|
|
db "@"
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
CheckForForcedBikeSurf: ; cdc0 (3:4dc0)
|
|
|
|
|
ld hl, $d728
|
|
|
|
|
set 1, [hl]
|
|
|
|
|
ld a, [$d732]
|
|
|
|
|
bit 5, a
|
|
|
|
|
jr nz, .asm_cdec
|
|
|
|
|
ld a, [W_CURMAP] ; $d35e
|
|
|
|
|
cp SEAFOAM_ISLANDS_5
|
|
|
|
|
ret nz
|
|
|
|
|
ld a, [$d881]
|
|
|
|
|
and $3
|
|
|
|
|
cp $3
|
|
|
|
|
ret z
|
|
|
|
|
ld hl, CoordsData_cdf7 ; $4df7
|
|
|
|
|
call ArePlayerCoordsInArray
|
|
|
|
|
ret nc
|
|
|
|
|
ld hl, $d728
|
|
|
|
|
res 1, [hl]
|
|
|
|
|
ld hl, CurrentTooFastText
|
|
|
|
|
jp PrintText
|
|
|
|
|
.asm_cdec
|
|
|
|
|
ld hl, $d728
|
|
|
|
|
res 1, [hl]
|
|
|
|
|
ld hl, CyclingIsFunText
|
|
|
|
|
jp PrintText
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
CoordsData_cdf7: ; cdf7 (3:4df7)
|
|
|
|
|
db $0B,$07,$FF
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
CurrentTooFastText: ; cdfa (3:4dfa)
|
|
|
|
|
TX_FAR _CurrentTooFastText
|
|
|
|
|
db "@"
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
CyclingIsFunText: ; cdff (3:4dff)
|
|
|
|
|
TX_FAR _CyclingIsFunText
|
|
|
|
|
db "@"
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; function to add an item (in varying quantities) to the player's bag or PC box
|
|
|
|
|
; INPUT:
|
|
|
|
|
; hl = address of inventory (either wNumBagItems or wNumBoxItems)
|
|
|
|
|
; [$CF91] = item ID
|
|
|
|
|
; [$CF96] = item quantity
|
|
|
|
|
; sets carry flag if successful, unsets carry flag if unsuccessful
|
|
|
|
|
AddItemToInventory_: ; ce04 (3:4e04)
|
|
|
|
|
ld a,[$cf96] ; a = item quantity
|
|
|
|
|
push af
|
|
|
|
|
push bc
|
|
|
|
|
push de
|
|
|
|
|
push hl
|
|
|
|
|
push hl
|
|
|
|
|
ld d,50 ; PC box can hold 50 items
|
|
|
|
|
ld a,wNumBagItems & $FF
|
|
|
|
|
cp l
|
|
|
|
|
jr nz,.checkIfInventoryFull
|
|
|
|
|
ld a,wNumBagItems >> 8
|
|
|
|
|
cp h
|
|
|
|
|
jr nz,.checkIfInventoryFull
|
|
|
|
|
; if the destination is the bag
|
|
|
|
|
ld d,20 ; bag can hold 20 items
|
|
|
|
|
.checkIfInventoryFull
|
|
|
|
|
ld a,[hl]
|
|
|
|
|
sub d
|
|
|
|
|
ld d,a
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
and a
|
|
|
|
|
jr z,.addNewItem
|
|
|
|
|
.loop
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld b,a ; b = ID of current item in table
|
|
|
|
|
ld a,[$cf91] ; a = ID of item being added
|
|
|
|
|
cp b ; does the current item in the table match the item being added?
|
|
|
|
|
jp z,.increaseItemQuantity ; if so, increase the item's quantity
|
|
|
|
|
inc hl
|
|
|
|
|
ld a,[hl]
|
|
|
|
|
cp a,$ff ; is it the end of the table?
|
|
|
|
|
jr nz,.loop
|
|
|
|
|
.addNewItem ; add an item not yet in the inventory
|
|
|
|
|
pop hl
|
|
|
|
|
ld a,d
|
|
|
|
|
and a ; is there room for a new item slot?
|
|
|
|
|
jr z,.done
|
|
|
|
|
; if there is room
|
|
|
|
|
inc [hl] ; increment the number of items in the inventory
|
|
|
|
|
ld a,[hl] ; the number of items will be the index of the new item
|
|
|
|
|
add a
|
|
|
|
|
dec a
|
|
|
|
|
ld c,a
|
|
|
|
|
ld b,0
|
|
|
|
|
add hl,bc ; hl = address to store the item
|
|
|
|
|
ld a,[$cf91]
|
|
|
|
|
ld [hli],a ; store item ID
|
|
|
|
|
ld a,[$cf96]
|
|
|
|
|
ld [hli],a ; store item quantity
|
|
|
|
|
ld [hl],$ff ; store terminator
|
|
|
|
|
jp .success
|
|
|
|
|
.increaseItemQuantity ; increase the quantity of an item already in the inventory
|
|
|
|
|
ld a,[$cf96]
|
|
|
|
|
ld b,a ; b = quantity to add
|
|
|
|
|
ld a,[hl] ; a = existing item quantity
|
|
|
|
|
add b ; a = new item quantity
|
|
|
|
|
cp a,100
|
|
|
|
|
jp c,.storeNewQuantity ; if the new quantity is less than 100, store it
|
|
|
|
|
; if the new quantity is greater than or equal to 100,
|
|
|
|
|
; try to max out the current slot and add the rest in a new slot
|
|
|
|
|
sub a,99
|
|
|
|
|
ld [$cf96],a ; a = amount left over (to put in the new slot)
|
|
|
|
|
ld a,d
|
|
|
|
|
and a ; is there room for a new item slot?
|
|
|
|
|
jr z,.increaseItemQuantityFailed
|
|
|
|
|
; if so, store 99 in the current slot and store the rest in a new slot
|
|
|
|
|
ld a,99
|
|
|
|
|
ld [hli],a
|
|
|
|
|
jp .loop
|
|
|
|
|
.increaseItemQuantityFailed
|
|
|
|
|
pop hl
|
|
|
|
|
and a
|
|
|
|
|
jr .done
|
|
|
|
|
.storeNewQuantity
|
|
|
|
|
ld [hl],a
|
|
|
|
|
pop hl
|
|
|
|
|
.success
|
|
|
|
|
scf
|
|
|
|
|
.done
|
|
|
|
|
pop hl
|
|
|
|
|
pop de
|
|
|
|
|
pop bc
|
|
|
|
|
pop bc
|
|
|
|
|
ld a,b
|
|
|
|
|
ld [$cf96],a ; restore the initial value from when the function was called
|
|
|
|
|
ret
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; function to remove an item (in varying quantities) from the player's bag or PC box
|
|
|
|
|
; INPUT:
|
|
|
|
|
; 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)
|
|
|
|
|
push hl
|
|
|
|
|
inc hl
|
|
|
|
|
ld a,[wWhichPokemon] ; index (within the inventory) of the item being removed
|
|
|
|
|
sla a
|
|
|
|
|
add l
|
|
|
|
|
ld l,a
|
|
|
|
|
jr nc,.noCarry
|
|
|
|
|
inc h
|
|
|
|
|
.noCarry
|
|
|
|
|
inc hl
|
|
|
|
|
ld a,[$cf96] ; quantity being removed
|
|
|
|
|
ld e,a
|
|
|
|
|
ld a,[hl] ; a = current quantity
|
|
|
|
|
sub e
|
|
|
|
|
ld [hld],a ; store new quantity
|
|
|
|
|
ld [$cf97],a
|
|
|
|
|
and a
|
|
|
|
|
jr nz,.skipMovingUpSlots
|
|
|
|
|
; if the remaining quantity is 0,
|
|
|
|
|
; remove the emptied item slot and move up all the following item slots
|
|
|
|
|
.moveSlotsUp
|
|
|
|
|
ld e,l
|
|
|
|
|
ld d,h
|
|
|
|
|
inc de
|
|
|
|
|
inc de ; de = address of the slot following the emptied one
|
|
|
|
|
.loop ; loop to move up the following slots
|
|
|
|
|
ld a,[de]
|
|
|
|
|
inc de
|
|
|
|
|
ld [hli],a
|
|
|
|
|
cp a,$ff
|
|
|
|
|
jr nz,.loop
|
|
|
|
|
; update menu info
|
|
|
|
|
xor a
|
|
|
|
|
ld [wListScrollOffset],a
|
|
|
|
|
ld [wCurrentMenuItem],a
|
|
|
|
|
ld [$cc2c],a
|
|
|
|
|
ld [$d07e],a
|
|
|
|
|
pop hl
|
|
|
|
|
ld a,[hl] ; a = number of items in inventory
|
|
|
|
|
dec a ; decrement the number of items
|
|
|
|
|
ld [hl],a ; store new number of items
|
|
|
|
|
ld [$d12a],a
|
|
|
|
|
cp a,2
|
|
|
|
|
jr c,.done
|
|
|
|
|
ld [wMaxMenuItem],a
|
|
|
|
|
jr .done
|
|
|
|
|
.skipMovingUpSlots
|
|
|
|
|
pop hl
|
|
|
|
|
.done
|
|
|
|
|
ret
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; wild pokemon data: from 4EB8 to 55C7
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
LoadWildData: ; ceb8 (3:4eb8)
|
|
|
|
|
ld hl,WildDataPointers
|
|
|
|
|
ld a,[W_CURMAP]
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; get wild data for current map
|
|
|
|
|
ld c,a
|
|
|
|
|
ld b,0
|
|
|
|
|
add hl,bc
|
|
|
|
|
add hl,bc
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld h,[hl]
|
|
|
|
|
ld l,a ; hl now points to wild data for current map
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld [W_GRASSRATE],a
|
|
|
|
|
and a
|
|
|
|
|
jr z,.NoGrassData ; if no grass data, skip to surfing data
|
|
|
|
|
push hl
|
|
|
|
|
ld de,W_GRASSMONS ; otherwise, load grass data
|
|
|
|
|
ld bc,$0014
|
|
|
|
|
call CopyData
|
|
|
|
|
pop hl
|
|
|
|
|
ld bc,$0014
|
|
|
|
|
add hl,bc
|
|
|
|
|
.NoGrassData
|
|
|
|
|
ld a,[hli]
|
|
|
|
|
ld [W_WATERRATE],a
|
|
|
|
|
and a
|
|
|
|
|
ret z ; if no water data, we're done
|
|
|
|
|
ld de,W_WATERMONS ; otherwise, load surfing data
|
|
|
|
|
ld bc,$0014
|
|
|
|
|
jp CopyData
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/wild_mons.asm"
|
2012-02-03 07:10:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/items/items.asm"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
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.
|
2013-05-13 05:30:33 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; In Japanese versions, names are displayed above faces.
|
|
|
|
|
; Instead of removing relevant code, the name graphics were erased.
|
|
|
|
|
|
|
|
|
|
; Tile ids for face/badge graphics.
|
|
|
|
|
ld de, $cd3f
|
|
|
|
|
ld hl, .FaceBadgeTiles
|
|
|
|
|
ld bc, 8
|
|
|
|
|
call CopyData
|
|
|
|
|
|
|
|
|
|
; Booleans for each badge.
|
|
|
|
|
ld hl, $cd49
|
|
|
|
|
ld bc, 8
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
call FillMemory
|
|
|
|
|
|
|
|
|
|
; Alter these based on owned badges.
|
|
|
|
|
ld de, $cd49
|
|
|
|
|
ld hl, $cd3f
|
|
|
|
|
ld a, [W_OBTAINEDBADGES]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld c, 8
|
|
|
|
|
.CheckBadge
|
|
|
|
|
srl b
|
|
|
|
|
jr nc, .NextBadge
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
add 4 ; Badge graphics are after each face
|
|
|
|
|
ld [hl], a
|
|
|
|
|
ld a, 1
|
|
|
|
|
ld [de], a
|
|
|
|
|
.NextBadge
|
|
|
|
|
inc hl
|
|
|
|
|
inc de
|
|
|
|
|
dec c
|
|
|
|
|
jr nz, .CheckBadge
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; Draw two rows of badges.
|
|
|
|
|
ld hl, $cd3d
|
|
|
|
|
ld a, $d8 ; [1]
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld [hl], $60 ; First name
|
|
|
|
|
|
|
|
|
|
FuncCoord 2, 11
|
|
|
|
|
ld hl, Coord
|
|
|
|
|
ld de, $cd49
|
|
|
|
|
call .DrawBadgeRow
|
|
|
|
|
|
|
|
|
|
FuncCoord 2, 14
|
|
|
|
|
ld hl, Coord
|
|
|
|
|
ld de, $cd49 + 4
|
|
|
|
|
; call .DrawBadgeRow
|
|
|
|
|
; ret
|
|
|
|
|
|
|
|
|
|
.DrawBadgeRow ; ea4c (3:6a4c)
|
|
|
|
|
; Draw 4 badges.
|
|
|
|
|
|
|
|
|
|
ld c, 4
|
|
|
|
|
.DrawBadge
|
|
|
|
|
push de
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
; Badge no.
|
|
|
|
|
ld a, [$cd3d]
|
|
|
|
|
ld [hli], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$cd3d], a
|
|
|
|
|
|
|
|
|
|
; Names aren't printed if the badge is owned.
|
|
|
|
|
ld a, [de]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [$cd3e]
|
|
|
|
|
jr nz, .SkipName
|
|
|
|
|
call .PlaceTiles
|
|
|
|
|
jr .PlaceBadge
|
|
|
|
|
|
|
|
|
|
.SkipName
|
|
|
|
|
inc a
|
|
|
|
|
inc a
|
|
|
|
|
inc hl
|
|
|
|
|
|
|
|
|
|
.PlaceBadge
|
|
|
|
|
ld [$cd3e], a
|
|
|
|
|
ld de, 20 - 1
|
|
|
|
|
add hl, de
|
|
|
|
|
ld a, [$cd3f]
|
|
|
|
|
call .PlaceTiles
|
|
|
|
|
add hl, de
|
|
|
|
|
call .PlaceTiles
|
|
|
|
|
|
|
|
|
|
; Shift badge array back one byte.
|
|
|
|
|
push bc
|
|
|
|
|
ld hl, $cd3f + 1
|
|
|
|
|
ld de, $cd3f
|
|
|
|
|
ld bc, 8
|
|
|
|
|
call CopyData
|
|
|
|
|
pop bc
|
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld de, 4
|
|
|
|
|
add hl, de
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop de
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc de
|
|
|
|
|
dec c
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .DrawBadge
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.PlaceTiles
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [hli], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc a
|
|
|
|
|
ld [hl], a
|
|
|
|
|
inc a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.FaceBadgeTiles
|
|
|
|
|
db $20, $28, $30, $38, $40, $48, $50, $58
|
2013-05-13 05:30:33 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
GymLeaderFaceAndBadgeTileGraphics: ; ea9e (3:6a9e)
|
|
|
|
|
INCBIN "gfx/badges.w16.2bpp"
|
2013-05-13 05:30:33 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_ee9e: ; ee9e (3:6e9e)
|
2014-05-23 22:11:09 +00:00
|
|
|
|
call GetPredefRegisters
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, $c6e8
|
|
|
|
|
ld a, [W_CURMAPWIDTH] ; $d369
|
|
|
|
|
add $6
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld e, a
|
|
|
|
|
ld d, $0
|
|
|
|
|
add hl, de
|
|
|
|
|
add hl, de
|
|
|
|
|
add hl, de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld e, $3
|
|
|
|
|
add hl, de
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld e, a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, b
|
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_eebb
|
|
|
|
|
.asm_eeb7
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add hl, de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
dec b
|
|
|
|
|
jr nz, .asm_eeb7
|
|
|
|
|
.asm_eebb
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld a, [$d09f]
|
|
|
|
|
ld [hl], a
|
|
|
|
|
ld a, [$d35f]
|
|
|
|
|
ld c, a
|
|
|
|
|
ld a, [$d360]
|
|
|
|
|
ld b, a
|
|
|
|
|
call Func_ef4e
|
|
|
|
|
ret c
|
|
|
|
|
push hl
|
|
|
|
|
ld l, e
|
|
|
|
|
ld h, $0
|
|
|
|
|
ld e, $6
|
|
|
|
|
ld d, h
|
|
|
|
|
add hl, hl
|
|
|
|
|
add hl, hl
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add hl, de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
add hl, bc
|
|
|
|
|
pop bc
|
|
|
|
|
call Func_ef4e
|
|
|
|
|
ret c
|
|
|
|
|
|
|
|
|
|
Func_eedc: ; eedc (3:6edc)
|
|
|
|
|
ld a, [W_ISINBATTLE] ; $d057
|
|
|
|
|
inc a
|
|
|
|
|
ret z
|
|
|
|
|
ld a, [H_AUTOBGTRANSFERENABLED] ; $ffba
|
|
|
|
|
push af
|
|
|
|
|
ld a, [$ffd7]
|
|
|
|
|
push af
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
|
ld [$ffd7], a
|
|
|
|
|
call LoadCurrentMapView
|
|
|
|
|
call GoPAL_SET_CF1C
|
|
|
|
|
ld hl, $d526
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld h, [hl]
|
|
|
|
|
ld l, a
|
|
|
|
|
ld de, $ffc0
|
|
|
|
|
add hl, de
|
|
|
|
|
ld a, h
|
|
|
|
|
and $3
|
|
|
|
|
or $98
|
|
|
|
|
ld a, l
|
|
|
|
|
ld [$cee9], a
|
|
|
|
|
ld a, h
|
|
|
|
|
ld [$ceea], a
|
|
|
|
|
ld a, $2
|
|
|
|
|
ld [$ffbe], a
|
|
|
|
|
ld c, $9
|
|
|
|
|
.asm_ef0f
|
|
|
|
|
push bc
|
|
|
|
|
push hl
|
|
|
|
|
push hl
|
|
|
|
|
ld hl, $c378
|
|
|
|
|
ld de, $14
|
|
|
|
|
ld a, [$ffbe]
|
|
|
|
|
.asm_ef1a
|
|
|
|
|
add hl, de
|
|
|
|
|
dec a
|
|
|
|
|
jr nz, .asm_ef1a
|
|
|
|
|
call ScheduleRowRedrawHelper
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld de, $20
|
|
|
|
|
ld a, [$ffbe]
|
|
|
|
|
ld c, a
|
|
|
|
|
.asm_ef28
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add hl, de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, h
|
|
|
|
|
and $3
|
|
|
|
|
or $98
|
|
|
|
|
dec c
|
|
|
|
|
jr nz, .asm_ef28
|
|
|
|
|
ld [$ffd2], a
|
|
|
|
|
ld a, l
|
|
|
|
|
ld [H_SCREENEDGEREDRAWADDR], a ; $ffd1
|
|
|
|
|
ld a, $2
|
|
|
|
|
ld [H_SCREENEDGEREDRAW], a ; $ffd0
|
|
|
|
|
call DelayFrame
|
|
|
|
|
ld hl, $ffbe
|
|
|
|
|
inc [hl]
|
|
|
|
|
inc [hl]
|
|
|
|
|
pop hl
|
|
|
|
|
pop bc
|
|
|
|
|
dec c
|
|
|
|
|
jr nz, .asm_ef0f
|
|
|
|
|
pop af
|
|
|
|
|
ld [$ffd7], a
|
|
|
|
|
pop af
|
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
|
ret
|
2013-11-09 19:21:51 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_ef4e: ; ef4e (3:6f4e)
|
|
|
|
|
ld a, h
|
|
|
|
|
sub b
|
|
|
|
|
ret nz
|
|
|
|
|
ld a, l
|
|
|
|
|
sub c
|
|
|
|
|
ret
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/cut.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_f113: ; f113 (3:7113)
|
|
|
|
|
ld a, [W_CURMAP] ; $d35e
|
|
|
|
|
cp ROUTE_1
|
|
|
|
|
jr nc, .notInTown
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $1
|
|
|
|
|
ld hl, W_TOWNVISITEDFLAG ; mark town as visited (for flying)
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld a, $10 ; FlagActionPredef
|
|
|
|
|
call Predef
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.notInTown
|
|
|
|
|
ld hl, MapHSPointers
|
|
|
|
|
ld a, [W_CURMAP] ; $d35e
|
|
|
|
|
ld b, $0
|
|
|
|
|
ld c, a
|
|
|
|
|
add hl, bc
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld a, [hli] ; load missable objects pointer in hl
|
|
|
|
|
ld h, [hl]
|
|
|
|
|
|
|
|
|
|
Func_f132: ; f132 (3:7132)
|
|
|
|
|
ld l, a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld de, MapHS00 ; calculate difference between out pointer and the base pointer
|
|
|
|
|
ld a, l
|
|
|
|
|
sub e
|
|
|
|
|
jr nc, .asm_f13c
|
|
|
|
|
dec h
|
|
|
|
|
.asm_f13c
|
|
|
|
|
ld l, a
|
|
|
|
|
ld a, h
|
|
|
|
|
sub d
|
|
|
|
|
ld h, a
|
|
|
|
|
ld a, h
|
|
|
|
|
ld [H_DIVIDEND], a
|
|
|
|
|
ld a, l
|
|
|
|
|
ld [H_DIVIDEND+1], a
|
|
|
|
|
xor a
|
|
|
|
|
ld [H_DIVIDEND+2], a
|
|
|
|
|
ld [H_DIVIDEND+3], a
|
|
|
|
|
ld a, $3
|
|
|
|
|
ld [H_DIVISOR], a
|
|
|
|
|
ld b, $2
|
|
|
|
|
call Divide ; divide difference by 3, resulting in the global offset (number of missable items before ours)
|
|
|
|
|
ld a, [W_CURMAP] ; $d35e
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [H_DIVIDEND+3]
|
|
|
|
|
ld c, a ; store global offset in c
|
|
|
|
|
ld de, W_MISSABLEOBJECTLIST
|
|
|
|
|
pop hl
|
|
|
|
|
.writeMissableObjectsListLoop
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp $ff
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr z, .done ; end of list
|
2013-03-12 00:52:32 +00:00
|
|
|
|
cp b
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .done ; not for current map anymore
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc hl
|
|
|
|
|
ld [de], a ; write (map-local) sprite ID
|
|
|
|
|
inc de
|
|
|
|
|
ld a, c
|
|
|
|
|
inc c
|
|
|
|
|
ld [de], a ; write (global) missable object index
|
|
|
|
|
inc de
|
|
|
|
|
jr .writeMissableObjectsListLoop
|
|
|
|
|
.done
|
|
|
|
|
ld a, $ff
|
|
|
|
|
ld [de], a ; write sentinel
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
InitializeMissableObjectsFlags: ; f175 (3:7175)
|
|
|
|
|
ld hl, W_MISSABLEOBJECTFLAGS
|
|
|
|
|
ld bc, $20
|
|
|
|
|
xor a
|
|
|
|
|
call FillMemory ; clear missable objects flags
|
|
|
|
|
ld hl, MapHS00
|
|
|
|
|
xor a
|
|
|
|
|
ld [$d048], a
|
|
|
|
|
.missableObjectsLoop
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp $ff ; end of list
|
|
|
|
|
ret z
|
|
|
|
|
push hl
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [hl]
|
|
|
|
|
cp Hide
|
|
|
|
|
jr nz, .asm_f19d
|
|
|
|
|
ld hl, W_MISSABLEOBJECTFLAGS
|
|
|
|
|
ld a, [$d048]
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $1
|
2014-05-25 17:09:39 +00:00
|
|
|
|
call MissableObjectFlagAction ; set flag iff Item is hidden
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.asm_f19d
|
|
|
|
|
ld hl, $d048
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc [hl]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop hl
|
|
|
|
|
inc hl
|
|
|
|
|
inc hl
|
|
|
|
|
jr .missableObjectsLoop
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; tests if current sprite is a missable object that is hidden/has been removed
|
|
|
|
|
IsMissableObjectHidden: ; f1a6 (3:71a6)
|
|
|
|
|
ld a, [H_CURRENTSPRITEOFFSET]
|
|
|
|
|
swap a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, W_MISSABLEOBJECTLIST
|
|
|
|
|
.loop
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
cp $ff
|
|
|
|
|
jr z, .notHidden ; not missable -> not hidden
|
|
|
|
|
cp b
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
jr nz, .loop
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $2
|
|
|
|
|
ld hl, W_MISSABLEOBJECTFLAGS
|
2014-05-25 17:09:39 +00:00
|
|
|
|
call MissableObjectFlagAction
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, c
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .hidden
|
|
|
|
|
.notHidden
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.hidden
|
|
|
|
|
ld [$ffe5], a
|
|
|
|
|
ret
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; adds missable object (items, leg. pokemon, etc.) to the map
|
|
|
|
|
; [$cc4d]: index of the missable object to be added (global index)
|
|
|
|
|
AddMissableObject: ; f1c8 (3:71c8)
|
|
|
|
|
ld hl, W_MISSABLEOBJECTFLAGS
|
|
|
|
|
ld a, [$cc4d]
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $0
|
2014-05-25 17:09:39 +00:00
|
|
|
|
call MissableObjectFlagAction ; reset "removed" flag
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jp UpdateSprites
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; removes missable object (items, leg. pokemon, etc.) from the map
|
|
|
|
|
; [$cc4d]: index of the missable object to be removed (global index)
|
|
|
|
|
RemoveMissableObject: ; f1d7 (3:71d7)
|
|
|
|
|
ld hl, W_MISSABLEOBJECTFLAGS
|
|
|
|
|
ld a, [$cc4d]
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $1
|
2014-05-25 17:09:39 +00:00
|
|
|
|
call MissableObjectFlagAction ; set "removed" flag
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jp UpdateSprites
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
MissableObjectFlagAction:
|
|
|
|
|
; identical to FlagAction
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
push hl
|
|
|
|
|
push de
|
|
|
|
|
push bc
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
; bit
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, c
|
|
|
|
|
ld d, a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
and 7
|
|
|
|
|
ld e, a
|
|
|
|
|
|
|
|
|
|
; byte
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, d
|
|
|
|
|
srl a
|
|
|
|
|
srl a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
srl a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
add l
|
|
|
|
|
ld l, a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr nc, .ok
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc h
|
2014-05-25 17:09:39 +00:00
|
|
|
|
.ok
|
|
|
|
|
|
|
|
|
|
; d = 1 << e (bitmask)
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc e
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld d, 1
|
|
|
|
|
.shift
|
2014-05-22 22:13:20 +00:00
|
|
|
|
dec e
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr z, .shifted
|
2014-05-22 22:13:20 +00:00
|
|
|
|
sla d
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr .shift
|
|
|
|
|
.shifted
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, b
|
|
|
|
|
and a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr z, .reset
|
|
|
|
|
cp 2
|
|
|
|
|
jr z, .read
|
|
|
|
|
|
|
|
|
|
.set
|
|
|
|
|
ld a, [hl]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b, a
|
|
|
|
|
ld a, d
|
|
|
|
|
or b
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [hl], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr .done
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
.reset
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [hl]
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, d
|
|
|
|
|
xor $ff
|
|
|
|
|
and b
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [hl], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr .done
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
.read
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [hl]
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, d
|
|
|
|
|
and b
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.done
|
|
|
|
|
pop bc
|
|
|
|
|
pop de
|
|
|
|
|
pop hl
|
|
|
|
|
ld c, a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_f225: ; f225 (3:7225)
|
|
|
|
|
ld a, [$d728]
|
|
|
|
|
bit 0, a
|
|
|
|
|
ret z
|
|
|
|
|
ld a, [wFlags_0xcd60]
|
|
|
|
|
bit 1, a
|
|
|
|
|
ret nz
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
|
|
|
|
call IsSpriteInFrontOfPlayer
|
|
|
|
|
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
|
|
|
|
|
ld [$d718], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jp z, Func_f2dd
|
|
|
|
|
ld hl, $c101
|
|
|
|
|
ld d, $0
|
|
|
|
|
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
|
|
|
|
|
swap a
|
|
|
|
|
ld e, a
|
|
|
|
|
add hl, de
|
|
|
|
|
res 7, [hl]
|
|
|
|
|
call GetSpriteMovementByte2Pointer
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
cp $10
|
|
|
|
|
jp nz, Func_f2dd
|
|
|
|
|
ld hl, wFlags_0xcd60
|
|
|
|
|
bit 6, [hl]
|
|
|
|
|
set 6, [hl]
|
|
|
|
|
ret z
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld a, [hJoyHeld]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
and $f0
|
|
|
|
|
ret z
|
|
|
|
|
ld a, $5a
|
|
|
|
|
call Predef ; indirect jump to Func_c60b (c60b (3:460b))
|
|
|
|
|
ld a, [$d71c]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jp nz, Func_f2dd
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld a, [hJoyHeld]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [$c109]
|
|
|
|
|
cp $4
|
|
|
|
|
jr z, .asm_f289
|
|
|
|
|
cp $8
|
|
|
|
|
jr z, .asm_f291
|
|
|
|
|
cp $c
|
|
|
|
|
jr z, .asm_f299
|
|
|
|
|
bit 7, b
|
|
|
|
|
ret z
|
|
|
|
|
ld de, MovementData_f2af
|
|
|
|
|
jr .asm_f29f
|
|
|
|
|
.asm_f289
|
|
|
|
|
bit 6, b
|
|
|
|
|
ret z
|
|
|
|
|
ld de, MovementData_f2ad
|
|
|
|
|
jr .asm_f29f
|
|
|
|
|
.asm_f291
|
|
|
|
|
bit 5, b
|
|
|
|
|
ret z
|
|
|
|
|
ld de, MovementData_f2b1
|
|
|
|
|
jr .asm_f29f
|
|
|
|
|
.asm_f299
|
|
|
|
|
bit 4, b
|
|
|
|
|
ret z
|
|
|
|
|
ld de, MovementData_f2b3
|
|
|
|
|
.asm_f29f
|
|
|
|
|
call MoveSprite
|
|
|
|
|
ld a, (SFX_02_53 - SFX_Headers_02) / 3
|
2013-03-17 21:54:12 +00:00
|
|
|
|
call PlaySound
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, wFlags_0xcd60
|
|
|
|
|
set 1, [hl]
|
|
|
|
|
ret
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
MovementData_f2ad: ; f2ad (3:72ad)
|
|
|
|
|
db $40,$FF
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
MovementData_f2af: ; f2af (3:72af)
|
|
|
|
|
db $00,$FF
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
MovementData_f2b1: ; f2b1 (3:72b1)
|
|
|
|
|
db $80,$FF
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
MovementData_f2b3: ; f2b3 (3:72b3)
|
|
|
|
|
db $C0,$FF
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_f2b5: ; f2b5 (3:72b5)
|
|
|
|
|
ld a, [$d730]
|
|
|
|
|
bit 0, a
|
|
|
|
|
ret nz
|
|
|
|
|
callab Func_79f54
|
|
|
|
|
call DiscardButtonPresses
|
2014-05-25 17:51:53 +00:00
|
|
|
|
ld [wJoyIgnore], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
call Func_f2dd
|
|
|
|
|
set 7, [hl]
|
|
|
|
|
ld a, [$d718]
|
|
|
|
|
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
|
|
|
|
|
call GetSpriteMovementByte2Pointer
|
|
|
|
|
ld [hl], $10
|
|
|
|
|
ld a, (SFX_02_56 - SFX_Headers_02) / 3
|
|
|
|
|
jp PlaySound
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_f2dd: ; f2dd (3:72dd)
|
|
|
|
|
ld hl, wFlags_0xcd60
|
|
|
|
|
res 1, [hl]
|
|
|
|
|
res 6, [hl]
|
|
|
|
|
ret
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
_AddPokemonToParty: ; f2e5 (3:72e5)
|
|
|
|
|
ld de, W_NUMINPARTY ; $d163
|
|
|
|
|
ld a, [$cc49]
|
|
|
|
|
and $f
|
|
|
|
|
jr z, .asm_f2f2
|
|
|
|
|
ld de, wEnemyPartyCount ; $d89c
|
|
|
|
|
.asm_f2f2
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [de]
|
|
|
|
|
inc a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
cp $7
|
|
|
|
|
ret nc
|
|
|
|
|
ld [de], a
|
|
|
|
|
ld a, [de]
|
|
|
|
|
ld [$ffe4], a
|
|
|
|
|
add e
|
|
|
|
|
ld e, a
|
|
|
|
|
jr nc, .asm_f300
|
|
|
|
|
inc d
|
|
|
|
|
.asm_f300
|
|
|
|
|
ld a, [$cf91]
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
ld a, $ff
|
|
|
|
|
ld [de], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld hl, W_PARTYMON1OT ; $d273
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [$cc49]
|
|
|
|
|
and $f
|
|
|
|
|
jr z, .asm_f315
|
|
|
|
|
ld hl, W_ENEMYMON1OT
|
|
|
|
|
.asm_f315
|
|
|
|
|
ld a, [$ffe4]
|
|
|
|
|
dec a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
call SkipFixedLengthTextEntries
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld d, h
|
|
|
|
|
ld e, l
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, W_PLAYERNAME ; $d158
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld bc, $b
|
2014-05-22 22:13:20 +00:00
|
|
|
|
call CopyData
|
|
|
|
|
ld a, [$cc49]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_f33f
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld hl, W_PARTYMON1NAME ; $d2b5
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [$ffe4]
|
|
|
|
|
dec a
|
|
|
|
|
call SkipFixedLengthTextEntries
|
|
|
|
|
ld a, $2
|
|
|
|
|
ld [$d07d], a
|
|
|
|
|
ld a, $4e
|
|
|
|
|
call Predef ; indirect jump to Func_64eb (64eb (1:64eb))
|
|
|
|
|
.asm_f33f
|
|
|
|
|
ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
|
|
|
|
|
ld a, [$cc49]
|
|
|
|
|
and $f
|
|
|
|
|
jr z, .asm_f34c
|
|
|
|
|
ld hl, wEnemyMons ; $d8a4
|
|
|
|
|
.asm_f34c
|
|
|
|
|
ld a, [$ffe4]
|
|
|
|
|
dec a
|
|
|
|
|
ld bc, $2c
|
2013-03-12 00:52:32 +00:00
|
|
|
|
call AddNTimes
|
|
|
|
|
ld e, l
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld d, h
|
|
|
|
|
push hl
|
|
|
|
|
ld a, [$cf91]
|
|
|
|
|
ld [$d0b5], a
|
|
|
|
|
call GetMonHeader
|
|
|
|
|
ld hl, W_MONHEADER
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
pop hl
|
|
|
|
|
push hl
|
|
|
|
|
ld a, [$cc49]
|
|
|
|
|
and $f
|
|
|
|
|
ld a, $98 ; set enemy trainer mon IVs to fixed average values
|
|
|
|
|
ld b, $88
|
|
|
|
|
jr nz, .writeFreshMonData
|
|
|
|
|
ld a, [$cf91]
|
|
|
|
|
ld [$d11e], a
|
|
|
|
|
push de
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, $3a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
|
|
|
|
|
pop de
|
|
|
|
|
ld a, [$d11e]
|
|
|
|
|
dec a
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $2
|
|
|
|
|
ld hl, wPokedexOwned ; $d2f7
|
2014-05-25 17:09:39 +00:00
|
|
|
|
call FlagAction
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, c
|
|
|
|
|
ld [$d153], a
|
2013-03-17 21:54:12 +00:00
|
|
|
|
ld a, [$d11e]
|
|
|
|
|
dec a
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $1
|
2014-05-22 22:13:20 +00:00
|
|
|
|
push bc
|
2014-05-25 17:09:39 +00:00
|
|
|
|
call FlagAction
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop bc
|
|
|
|
|
ld hl, wPokedexSeen ; $d30a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
call FlagAction
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop hl
|
|
|
|
|
push hl
|
|
|
|
|
ld a, [W_ISINBATTLE] ; $d057
|
2013-10-12 18:40:37 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .copyEnemyMonData
|
2014-05-24 18:40:38 +00:00
|
|
|
|
call Random ; generate random IVs
|
2014-01-07 03:34:14 +00:00
|
|
|
|
ld b, a
|
2014-05-24 18:40:38 +00:00
|
|
|
|
call Random
|
2014-05-22 22:13:20 +00:00
|
|
|
|
.writeFreshMonData ; f3b3
|
|
|
|
|
push bc
|
|
|
|
|
ld bc, $1b
|
|
|
|
|
add hl, bc
|
|
|
|
|
pop bc
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld [hl], b ; write IVs
|
|
|
|
|
ld bc, $fff4
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld a, $1
|
|
|
|
|
ld c, a
|
2013-10-12 18:40:37 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b, a
|
|
|
|
|
call CalcStat ; calc HP stat (set cur Hp to max HP)
|
|
|
|
|
ld a, [H_MULTIPLICAND+1]
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [H_MULTIPLICAND+2]
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
2013-03-12 00:52:32 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [de], a ; level (?)
|
|
|
|
|
inc de
|
|
|
|
|
ld [de], a ; status ailments
|
|
|
|
|
inc de
|
|
|
|
|
jr .copyMonTypesAndMoves
|
|
|
|
|
.copyEnemyMonData
|
|
|
|
|
ld bc, $1b
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld a, [W_ENEMYMONATKDEFIV] ; copy IVs from cur enemy mon
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [hli], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [W_ENEMYMONSPDSPCIV]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld [hl], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [W_ENEMYMONCURHP] ; copy HP from cur enemy mon
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [W_ENEMYMONCURHP+1]
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
xor a
|
|
|
|
|
ld [de], a ; level (?)
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [W_ENEMYMONSTATUS] ; copy status ailments from cur enemy mon
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
.copyMonTypesAndMoves
|
|
|
|
|
ld hl, W_MONHTYPES
|
|
|
|
|
ld a, [hli] ; type 1
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [hli] ; type 2
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [hli] ; unused (?)
|
|
|
|
|
ld [de], a
|
|
|
|
|
ld hl, W_MONHMOVES
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc de
|
|
|
|
|
push de
|
|
|
|
|
ld [de], a
|
2012-03-31 02:36:54 +00:00
|
|
|
|
ld a, [hli]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc de
|
|
|
|
|
ld [de], a
|
2012-03-31 02:36:54 +00:00
|
|
|
|
ld a, [hli]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc de
|
|
|
|
|
ld [de], a
|
2012-03-31 02:36:54 +00:00
|
|
|
|
ld a, [hli]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc de
|
|
|
|
|
ld [de], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
dec de
|
|
|
|
|
dec de
|
|
|
|
|
dec de
|
|
|
|
|
xor a
|
|
|
|
|
ld [$cee9], a
|
|
|
|
|
ld a, $3e
|
|
|
|
|
call Predef ; indirect jump to WriteMonMoves (3afb8 (e:6fb8))
|
|
|
|
|
pop de
|
|
|
|
|
ld a, [wPlayerID] ; set trainer ID to player ID
|
|
|
|
|
inc de
|
|
|
|
|
ld [de], a
|
|
|
|
|
ld a, [wPlayerID + 1]
|
|
|
|
|
inc de
|
|
|
|
|
ld [de], a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [W_CURENEMYLVL]
|
|
|
|
|
ld d, a
|
|
|
|
|
callab CalcExperience
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc de
|
|
|
|
|
ld a, [H_MULTIPLICAND] ; write experience
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [H_MULTIPLICAND+1]
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [H_MULTIPLICAND+2]
|
|
|
|
|
ld [de], a
|
|
|
|
|
xor a
|
|
|
|
|
ld b, $a
|
|
|
|
|
.writeEVsLoop ; set all EVs to 0
|
|
|
|
|
inc de
|
|
|
|
|
ld [de], a
|
|
|
|
|
dec b
|
|
|
|
|
jr nz, .writeEVsLoop
|
|
|
|
|
inc de
|
|
|
|
|
inc de
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
call AddPokemonToParty_WriteMovePP
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [W_CURENEMYLVL] ; $d127
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [W_ISINBATTLE] ; $d057
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .calcFreshStats
|
|
|
|
|
ld hl, W_ENEMYMONMAXHP ; $cff4
|
|
|
|
|
ld bc, $a
|
|
|
|
|
call CopyData ; copy stats of cur enemy mon
|
|
|
|
|
pop hl
|
|
|
|
|
jr .done
|
|
|
|
|
.calcFreshStats
|
|
|
|
|
pop hl
|
|
|
|
|
ld bc, $10
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld b, $0
|
|
|
|
|
call CalcStats ; calculate fresh set of stats
|
|
|
|
|
.done
|
2013-03-12 00:52:32 +00:00
|
|
|
|
scf
|
|
|
|
|
ret
|
2013-03-18 00:09:28 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
LoadMovePPs: ; f473 (3:7473)
|
2014-05-23 22:11:09 +00:00
|
|
|
|
call GetPredefRegisters
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; fallthrough
|
|
|
|
|
AddPokemonToParty_WriteMovePP: ; f476 (3:7476)
|
|
|
|
|
ld b, $4
|
|
|
|
|
.pploop
|
|
|
|
|
ld a, [hli] ; read move ID
|
|
|
|
|
and a
|
|
|
|
|
jr z, .empty
|
|
|
|
|
dec a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push hl
|
|
|
|
|
push de
|
|
|
|
|
push bc
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, Moves
|
|
|
|
|
ld bc, $6
|
|
|
|
|
call AddNTimes
|
|
|
|
|
ld de, $cd6d
|
|
|
|
|
ld a, BANK(Moves)
|
|
|
|
|
call FarCopyData
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop bc
|
|
|
|
|
pop de
|
|
|
|
|
pop hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [$cd72] ; sixth move byte = pp
|
|
|
|
|
.empty
|
|
|
|
|
inc de
|
|
|
|
|
ld [de], a
|
|
|
|
|
dec b
|
|
|
|
|
jr nz, .pploop ; there are still moves to read
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
; adds enemy mon [$cf91] (at position [$cf92] in enemy list) to own party
|
|
|
|
|
; used in the cable club trade center
|
|
|
|
|
_AddEnemyMonToPlayerParty: ; f49d (3:749d)
|
|
|
|
|
ld hl, W_NUMINPARTY
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
cp $6
|
2013-03-12 00:52:32 +00:00
|
|
|
|
scf
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ret z ; party full, return failure
|
|
|
|
|
inc a
|
|
|
|
|
ld [hl], a ; add 1 to party members
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $0
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld a, [$cf91]
|
|
|
|
|
ld [hli], a ; add mon as last list entry
|
|
|
|
|
ld [hl], $ff ; write new sentinel
|
|
|
|
|
ld hl, W_PARTYMON1DATA
|
|
|
|
|
ld a, [W_NUMINPARTY]
|
|
|
|
|
dec a
|
|
|
|
|
ld bc, W_PARTYMON2DATA - W_PARTYMON1DATA
|
|
|
|
|
call AddNTimes
|
|
|
|
|
ld e, l
|
|
|
|
|
ld d, h
|
|
|
|
|
ld hl, $cf98
|
|
|
|
|
call CopyData ; write new mon's data (from $cf98)
|
|
|
|
|
ld hl, W_PARTYMON1OT
|
|
|
|
|
ld a, [W_NUMINPARTY]
|
|
|
|
|
dec a
|
|
|
|
|
call SkipFixedLengthTextEntries
|
|
|
|
|
ld d, h
|
|
|
|
|
ld e, l
|
|
|
|
|
ld hl, W_ENEMYMON1OT
|
|
|
|
|
ld a, [wWhichPokemon]
|
|
|
|
|
call SkipFixedLengthTextEntries
|
|
|
|
|
ld bc, $000b
|
|
|
|
|
call CopyData ; write new mon's OT name (from an enemy mon)
|
|
|
|
|
ld hl, W_PARTYMON1NAME
|
|
|
|
|
ld a, [W_NUMINPARTY]
|
|
|
|
|
dec a
|
|
|
|
|
call SkipFixedLengthTextEntries
|
|
|
|
|
ld d, h
|
|
|
|
|
ld e, l
|
|
|
|
|
ld hl, W_ENEMYMON1NAME
|
|
|
|
|
ld a, [wWhichPokemon]
|
|
|
|
|
call SkipFixedLengthTextEntries
|
|
|
|
|
ld bc, $000b
|
|
|
|
|
call CopyData ; write new mon's nickname (from an enemy mon)
|
|
|
|
|
ld a, [$cf91]
|
|
|
|
|
ld [$d11e], a
|
|
|
|
|
ld a, $3a
|
|
|
|
|
call Predef
|
|
|
|
|
ld a, [$d11e]
|
|
|
|
|
dec a
|
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $1
|
|
|
|
|
ld hl, wPokedexOwned
|
|
|
|
|
push bc
|
2014-05-25 17:09:39 +00:00
|
|
|
|
call FlagAction ; add to owned pokemon
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop bc
|
|
|
|
|
ld hl, wPokedexSeen
|
2014-05-25 17:09:39 +00:00
|
|
|
|
call FlagAction ; add to seen pokemon
|
2013-03-12 00:52:32 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ret ; return success
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_f51e: ; f51e (3:751e)
|
|
|
|
|
ld a, [$cf95]
|
|
|
|
|
and a
|
|
|
|
|
jr z, .checkPartyMonSlots
|
|
|
|
|
cp $2
|
|
|
|
|
jr z, .checkPartyMonSlots
|
|
|
|
|
cp $3
|
|
|
|
|
ld hl, W_DAYCAREMONDATA
|
|
|
|
|
jr z, .asm_f575
|
|
|
|
|
ld hl, W_NUMINBOX ; $da80
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
cp $14
|
|
|
|
|
jr nz, .partyOrBoxNotFull
|
|
|
|
|
jr .boxFull
|
|
|
|
|
.checkPartyMonSlots
|
|
|
|
|
ld hl, W_NUMINPARTY ; $d163
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
cp $6
|
|
|
|
|
jr nz, .partyOrBoxNotFull
|
|
|
|
|
.boxFull
|
|
|
|
|
scf
|
|
|
|
|
ret
|
|
|
|
|
.partyOrBoxNotFull
|
|
|
|
|
inc a
|
|
|
|
|
ld [hl], a ; increment number of mons in party/box
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld c, a
|
|
|
|
|
ld b, $0
|
|
|
|
|
add hl, bc
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [$cf95]
|
|
|
|
|
cp $2
|
|
|
|
|
ld a, [W_DAYCAREMONDATA]
|
|
|
|
|
jr z, .asm_f556
|
|
|
|
|
ld a, [$cf91]
|
|
|
|
|
.asm_f556
|
|
|
|
|
ld [hli], a ; write new mon ID
|
|
|
|
|
ld [hl], $ff ; write new sentinel
|
|
|
|
|
ld a, [$cf95]
|
|
|
|
|
dec a
|
|
|
|
|
ld hl, W_PARTYMON1DATA ; $d16b
|
|
|
|
|
ld bc, W_PARTYMON2DATA - W_PARTYMON1DATA ; $2c
|
|
|
|
|
ld a, [W_NUMINPARTY] ; $d163
|
|
|
|
|
jr nz, .skipToNewMonEntry
|
|
|
|
|
ld hl, W_BOXMON1DATA
|
|
|
|
|
ld bc, W_BOXMON2DATA - W_BOXMON1DATA ; $21
|
|
|
|
|
ld a, [W_NUMINBOX] ; $da80
|
|
|
|
|
.skipToNewMonEntry
|
|
|
|
|
dec a
|
|
|
|
|
call AddNTimes
|
|
|
|
|
.asm_f575
|
|
|
|
|
push hl
|
|
|
|
|
ld e, l
|
|
|
|
|
ld d, h
|
|
|
|
|
ld a, [$cf95]
|
|
|
|
|
and a
|
|
|
|
|
ld hl, W_BOXMON1DATA
|
|
|
|
|
ld bc, W_BOXMON2DATA - W_BOXMON1DATA ; $21
|
|
|
|
|
jr z, .asm_f591
|
|
|
|
|
cp $2
|
|
|
|
|
ld hl, W_DAYCAREMONDATA
|
|
|
|
|
jr z, .asm_f597
|
|
|
|
|
ld hl, W_PARTYMON1DATA ; $d16b
|
|
|
|
|
ld bc, W_PARTYMON2DATA - W_PARTYMON1DATA ; $2c
|
|
|
|
|
.asm_f591
|
|
|
|
|
ld a, [wWhichPokemon] ; $cf92
|
|
|
|
|
call AddNTimes
|
|
|
|
|
.asm_f597
|
|
|
|
|
push hl
|
|
|
|
|
push de
|
|
|
|
|
ld bc, $21
|
|
|
|
|
call CopyData
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop de
|
|
|
|
|
pop hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [$cf95]
|
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_f5b4
|
|
|
|
|
cp $2
|
|
|
|
|
jr z, .asm_f5b4
|
|
|
|
|
ld bc, $21
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
inc de
|
|
|
|
|
inc de
|
|
|
|
|
inc de
|
|
|
|
|
ld [de], a
|
|
|
|
|
.asm_f5b4
|
|
|
|
|
ld a, [$cf95]
|
|
|
|
|
cp $3
|
|
|
|
|
ld de, W_DAYCAREMONOT
|
|
|
|
|
jr z, .asm_f5d3
|
|
|
|
|
dec a
|
|
|
|
|
ld hl, W_PARTYMON1OT ; $d273
|
|
|
|
|
ld a, [W_NUMINPARTY] ; $d163
|
|
|
|
|
jr nz, .asm_f5cd
|
|
|
|
|
ld hl, W_BOXMON1OT
|
|
|
|
|
ld a, [W_NUMINBOX] ; $da80
|
|
|
|
|
.asm_f5cd
|
|
|
|
|
dec a
|
|
|
|
|
call SkipFixedLengthTextEntries
|
|
|
|
|
ld d, h
|
|
|
|
|
ld e, l
|
|
|
|
|
.asm_f5d3
|
|
|
|
|
ld hl, W_BOXMON1OT
|
|
|
|
|
ld a, [$cf95]
|
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_f5e6
|
|
|
|
|
ld hl, W_DAYCAREMONOT
|
|
|
|
|
cp $2
|
|
|
|
|
jr z, .asm_f5ec
|
|
|
|
|
ld hl, W_PARTYMON1OT ; $d273
|
|
|
|
|
.asm_f5e6
|
|
|
|
|
ld a, [wWhichPokemon] ; $cf92
|
|
|
|
|
call SkipFixedLengthTextEntries
|
|
|
|
|
.asm_f5ec
|
|
|
|
|
ld bc, $b
|
|
|
|
|
call CopyData
|
|
|
|
|
ld a, [$cf95]
|
|
|
|
|
cp $3
|
|
|
|
|
ld de, W_DAYCAREMONNAME
|
|
|
|
|
jr z, .asm_f611
|
|
|
|
|
dec a
|
|
|
|
|
ld hl, W_PARTYMON1NAME ; $d2b5
|
|
|
|
|
ld a, [W_NUMINPARTY] ; $d163
|
|
|
|
|
jr nz, .asm_f60b
|
|
|
|
|
ld hl, W_BOXMON1NAME
|
|
|
|
|
ld a, [W_NUMINBOX] ; $da80
|
|
|
|
|
.asm_f60b
|
|
|
|
|
dec a
|
|
|
|
|
call SkipFixedLengthTextEntries
|
|
|
|
|
ld d, h
|
|
|
|
|
ld e, l
|
|
|
|
|
.asm_f611
|
|
|
|
|
ld hl, W_BOXMON1NAME
|
|
|
|
|
ld a, [$cf95]
|
|
|
|
|
and a
|
|
|
|
|
jr z, .asm_f624
|
|
|
|
|
ld hl, W_DAYCAREMONNAME
|
|
|
|
|
cp $2
|
|
|
|
|
jr z, .asm_f62a
|
|
|
|
|
ld hl, W_PARTYMON1NAME ; $d2b5
|
|
|
|
|
.asm_f624
|
|
|
|
|
ld a, [wWhichPokemon] ; $cf92
|
|
|
|
|
call SkipFixedLengthTextEntries
|
|
|
|
|
.asm_f62a
|
|
|
|
|
ld bc, $b
|
|
|
|
|
call CopyData
|
|
|
|
|
pop hl
|
|
|
|
|
ld a, [$cf95]
|
|
|
|
|
cp $1
|
|
|
|
|
jr z, .asm_f664
|
|
|
|
|
cp $3
|
|
|
|
|
jr z, .asm_f664
|
|
|
|
|
push hl
|
|
|
|
|
srl a
|
|
|
|
|
add $2
|
|
|
|
|
ld [$cc49], a
|
|
|
|
|
call LoadMonData
|
|
|
|
|
callba Func_58f43
|
|
|
|
|
ld a, d
|
|
|
|
|
ld [W_CURENEMYLVL], a ; $d127
|
|
|
|
|
pop hl
|
|
|
|
|
ld bc, $21
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld d, h
|
|
|
|
|
ld e, l
|
|
|
|
|
ld bc, $ffee
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld b, $1
|
|
|
|
|
call CalcStats
|
|
|
|
|
.asm_f664
|
|
|
|
|
and a
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
FlagActionPredef:
|
2014-05-23 22:11:09 +00:00
|
|
|
|
call GetPredefRegisters
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
FlagAction:
|
|
|
|
|
; Perform action b on bit c
|
|
|
|
|
; in the bitfield at hl.
|
|
|
|
|
; 0: reset
|
|
|
|
|
; 1: set
|
|
|
|
|
; 2: read
|
|
|
|
|
; Return the result in c.
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
push hl
|
|
|
|
|
push de
|
|
|
|
|
push bc
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
; bit
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, c
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld d, a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
and 7
|
|
|
|
|
ld e, a
|
|
|
|
|
|
|
|
|
|
; byte
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, d
|
|
|
|
|
srl a
|
|
|
|
|
srl a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
srl a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
add l
|
|
|
|
|
ld l, a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr nc, .ok
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc h
|
2014-05-25 17:09:39 +00:00
|
|
|
|
.ok
|
|
|
|
|
|
|
|
|
|
; d = 1 << e (bitmask)
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc e
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld d, 1
|
|
|
|
|
.shift
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec e
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr z, .shifted
|
2014-05-22 22:13:20 +00:00
|
|
|
|
sla d
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr .shift
|
|
|
|
|
.shifted
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, b
|
|
|
|
|
and a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr z, .reset
|
|
|
|
|
cp 2
|
|
|
|
|
jr z, .read
|
|
|
|
|
|
|
|
|
|
.set
|
|
|
|
|
ld b, [hl]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, d
|
|
|
|
|
or b
|
|
|
|
|
ld [hl], a
|
|
|
|
|
jr .done
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
.reset
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b, [hl]
|
|
|
|
|
ld a, d
|
|
|
|
|
xor $ff
|
|
|
|
|
and b
|
|
|
|
|
ld [hl], a
|
|
|
|
|
jr .done
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
.read
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b, [hl]
|
|
|
|
|
ld a, d
|
|
|
|
|
and b
|
|
|
|
|
.done
|
|
|
|
|
pop bc
|
|
|
|
|
pop de
|
|
|
|
|
pop hl
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld c, a
|
|
|
|
|
ret
|
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
HealParty:
|
|
|
|
|
; Restore HP and PP.
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, W_PARTYMON1
|
|
|
|
|
ld de, W_PARTYMON1_HP
|
2014-05-25 17:09:39 +00:00
|
|
|
|
.healmon
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp $ff
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr z, .done
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
push hl
|
|
|
|
|
push de
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
ld hl, $0003 ; status
|
2014-05-22 22:13:20 +00:00
|
|
|
|
add hl, de
|
|
|
|
|
xor a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld [hl], a
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
push de
|
|
|
|
|
ld b, $4 ; A Pokémon has 4 moves
|
2014-05-25 17:09:39 +00:00
|
|
|
|
.pp
|
|
|
|
|
ld hl, $0007 ; moves
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add hl, de
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld a, [hl]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
and a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr z, .nextmove
|
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
dec a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld hl, $001c ; pp
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add hl, de
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push hl
|
|
|
|
|
push de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
push bc
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, Moves
|
|
|
|
|
ld bc, $0006
|
|
|
|
|
call AddNTimes
|
|
|
|
|
ld de, $cd6d
|
|
|
|
|
ld a, BANK(Moves)
|
2014-05-25 17:09:39 +00:00
|
|
|
|
call FarCopyData
|
|
|
|
|
ld a, [$cd72] ; default pp
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop bc
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop de
|
|
|
|
|
pop hl
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
push bc
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [hl]
|
|
|
|
|
and $c0
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add b
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [hl], a
|
|
|
|
|
pop bc
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
.nextmove
|
2014-05-22 22:13:20 +00:00
|
|
|
|
dec b
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr nz, .pp
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop de
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
ld hl, $0021 ; max hp - cur hp
|
2013-03-12 00:52:32 +00:00
|
|
|
|
add hl, de
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
ld a, [hl]
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld [de], a
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop de
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop hl
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2013-03-12 00:52:32 +00:00
|
|
|
|
push hl
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld bc, $002c ; next mon
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld h, d
|
|
|
|
|
ld l, e
|
|
|
|
|
add hl, bc
|
|
|
|
|
ld d, h
|
|
|
|
|
ld e, l
|
2013-03-12 00:52:32 +00:00
|
|
|
|
pop hl
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr .healmon
|
|
|
|
|
|
|
|
|
|
.done
|
2014-05-22 22:13:20 +00:00
|
|
|
|
xor a
|
|
|
|
|
ld [wWhichPokemon], a
|
|
|
|
|
ld [$d11e], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [W_NUMINPARTY]
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ld b, a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
.ppup
|
2014-05-22 22:13:20 +00:00
|
|
|
|
push bc
|
|
|
|
|
call RestoreBonusPP
|
|
|
|
|
pop bc
|
|
|
|
|
ld hl, wWhichPokemon
|
2013-03-12 00:52:32 +00:00
|
|
|
|
inc [hl]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
dec b
|
2014-05-25 17:09:39 +00:00
|
|
|
|
jr nz, .ppup
|
2013-03-12 00:52:32 +00:00
|
|
|
|
ret
|
2013-11-09 19:21:51 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2014-05-26 00:27:02 +00:00
|
|
|
|
DivideBCDPredef::
|
2014-05-23 22:11:09 +00:00
|
|
|
|
call GetPredefRegisters
|
2014-05-26 00:27:02 +00:00
|
|
|
|
|
|
|
|
|
DivideBCD::
|
2014-05-22 22:13:20 +00:00
|
|
|
|
xor a
|
|
|
|
|
ld [$ffa5], a
|
|
|
|
|
ld [$ffa6], a
|
|
|
|
|
ld [$ffa7], a
|
|
|
|
|
ld d, $1
|
|
|
|
|
.asm_f72a
|
|
|
|
|
ld a, [$ffa2]
|
|
|
|
|
and $f0
|
|
|
|
|
jr nz, .asm_f75b
|
|
|
|
|
inc d
|
|
|
|
|
ld a, [$ffa2]
|
|
|
|
|
swap a
|
|
|
|
|
and $f0
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [$ffa3]
|
|
|
|
|
swap a
|
|
|
|
|
ld [$ffa3], a
|
|
|
|
|
and $f
|
|
|
|
|
or b
|
|
|
|
|
ld [$ffa2], a
|
|
|
|
|
ld a, [$ffa3]
|
|
|
|
|
and $f0
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [$ffa4]
|
|
|
|
|
swap a
|
|
|
|
|
ld [$ffa4], a
|
|
|
|
|
and $f
|
|
|
|
|
or b
|
|
|
|
|
ld [$ffa3], a
|
|
|
|
|
ld a, [$ffa4]
|
|
|
|
|
and $f0
|
|
|
|
|
ld [$ffa4], a
|
|
|
|
|
jr .asm_f72a
|
|
|
|
|
.asm_f75b
|
2012-02-03 01:14:18 +00:00
|
|
|
|
push de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
push de
|
|
|
|
|
call Func_f800
|
|
|
|
|
pop de
|
|
|
|
|
ld a, b
|
|
|
|
|
swap a
|
|
|
|
|
and $f0
|
|
|
|
|
ld [$ffa5], a
|
|
|
|
|
dec d
|
|
|
|
|
jr z, .asm_f7bc
|
|
|
|
|
push de
|
|
|
|
|
call Func_f7d7
|
|
|
|
|
call Func_f800
|
|
|
|
|
pop de
|
|
|
|
|
ld a, [$ffa5]
|
|
|
|
|
or b
|
|
|
|
|
ld [$ffa5], a
|
|
|
|
|
dec d
|
|
|
|
|
jr z, .asm_f7bc
|
|
|
|
|
push de
|
|
|
|
|
call Func_f7d7
|
|
|
|
|
call Func_f800
|
|
|
|
|
pop de
|
|
|
|
|
ld a, b
|
|
|
|
|
swap a
|
|
|
|
|
and $f0
|
|
|
|
|
ld [$ffa6], a
|
|
|
|
|
dec d
|
|
|
|
|
jr z, .asm_f7bc
|
|
|
|
|
push de
|
|
|
|
|
call Func_f7d7
|
|
|
|
|
call Func_f800
|
|
|
|
|
pop de
|
|
|
|
|
ld a, [$ffa6]
|
|
|
|
|
or b
|
|
|
|
|
ld [$ffa6], a
|
|
|
|
|
dec d
|
|
|
|
|
jr z, .asm_f7bc
|
|
|
|
|
push de
|
|
|
|
|
call Func_f7d7
|
|
|
|
|
call Func_f800
|
|
|
|
|
pop de
|
|
|
|
|
ld a, b
|
|
|
|
|
swap a
|
|
|
|
|
and $f0
|
|
|
|
|
ld [$ffa7], a
|
|
|
|
|
dec d
|
|
|
|
|
jr z, .asm_f7bc
|
|
|
|
|
push de
|
|
|
|
|
call Func_f7d7
|
|
|
|
|
call Func_f800
|
|
|
|
|
pop de
|
|
|
|
|
ld a, [$ffa7]
|
|
|
|
|
or b
|
|
|
|
|
ld [$ffa7], a
|
|
|
|
|
.asm_f7bc
|
|
|
|
|
ld a, [$ffa5]
|
|
|
|
|
ld [$ffa2], a
|
|
|
|
|
ld a, [$ffa6]
|
|
|
|
|
ld [$ffa3], a
|
|
|
|
|
ld a, [$ffa7]
|
|
|
|
|
ld [$ffa4], a
|
|
|
|
|
pop de
|
|
|
|
|
ld a, $6
|
2012-02-03 01:14:18 +00:00
|
|
|
|
sub d
|
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ret z
|
|
|
|
|
.asm_f7ce
|
|
|
|
|
push af
|
|
|
|
|
call Func_f7d7
|
|
|
|
|
pop af
|
2012-02-03 01:14:18 +00:00
|
|
|
|
dec a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_f7ce
|
2012-02-03 01:14:18 +00:00
|
|
|
|
ret
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_f7d7: ; f7d7 (3:77d7)
|
|
|
|
|
ld a, [$ffa4]
|
|
|
|
|
swap a
|
|
|
|
|
and $f
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [$ffa3]
|
|
|
|
|
swap a
|
|
|
|
|
ld [$ffa3], a
|
|
|
|
|
and $f0
|
|
|
|
|
or b
|
|
|
|
|
ld [$ffa4], a
|
|
|
|
|
ld a, [$ffa3]
|
|
|
|
|
and $f
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [$ffa2]
|
|
|
|
|
swap a
|
|
|
|
|
ld [$ffa2], a
|
|
|
|
|
and $f0
|
|
|
|
|
or b
|
|
|
|
|
ld [$ffa3], a
|
|
|
|
|
ld a, [$ffa2]
|
|
|
|
|
and $f
|
|
|
|
|
ld [$ffa2], a
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
Func_f800: ; f800 (3:7800)
|
|
|
|
|
ld bc, $3
|
|
|
|
|
.asm_f803
|
|
|
|
|
ld de, $ff9f
|
|
|
|
|
ld hl, $ffa2
|
|
|
|
|
push bc
|
|
|
|
|
call StringCmp
|
|
|
|
|
pop bc
|
|
|
|
|
ret c
|
|
|
|
|
inc b
|
|
|
|
|
ld de, $ffa1
|
|
|
|
|
ld hl, $ffa4
|
|
|
|
|
push bc
|
2014-05-26 00:27:02 +00:00
|
|
|
|
call SubtractBCD
|
2014-05-22 22:13:20 +00:00
|
|
|
|
pop bc
|
|
|
|
|
jr .asm_f803
|
|
|
|
|
|
2014-05-26 00:27:02 +00:00
|
|
|
|
|
|
|
|
|
AddBCDPredef::
|
2014-05-23 22:11:09 +00:00
|
|
|
|
call GetPredefRegisters
|
2014-05-26 00:27:02 +00:00
|
|
|
|
|
|
|
|
|
AddBCD::
|
2012-02-03 01:14:18 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b, c
|
2014-05-26 00:27:02 +00:00
|
|
|
|
.add
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [de]
|
|
|
|
|
adc [hl]
|
|
|
|
|
daa
|
|
|
|
|
ld [de], a
|
|
|
|
|
dec de
|
|
|
|
|
dec hl
|
|
|
|
|
dec c
|
2014-05-26 00:27:02 +00:00
|
|
|
|
jr nz, .add
|
|
|
|
|
jr nc, .done
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, $99
|
2012-02-03 01:14:18 +00:00
|
|
|
|
inc de
|
2014-05-26 00:27:02 +00:00
|
|
|
|
.fill
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [de], a
|
2012-02-03 01:14:18 +00:00
|
|
|
|
inc de
|
2014-05-22 22:13:20 +00:00
|
|
|
|
dec b
|
2014-05-26 00:27:02 +00:00
|
|
|
|
jr nz, .fill
|
|
|
|
|
.done
|
2012-02-03 01:14:18 +00:00
|
|
|
|
ret
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-26 00:27:02 +00:00
|
|
|
|
|
|
|
|
|
SubtractBCDPredef::
|
2014-05-23 22:11:09 +00:00
|
|
|
|
call GetPredefRegisters
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-26 00:27:02 +00:00
|
|
|
|
SubtractBCD::
|
2012-01-14 20:36:00 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b, c
|
2014-05-26 00:27:02 +00:00
|
|
|
|
.sub
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, [de]
|
|
|
|
|
sbc [hl]
|
|
|
|
|
daa
|
|
|
|
|
ld [de], a
|
|
|
|
|
dec de
|
|
|
|
|
dec hl
|
|
|
|
|
dec c
|
2014-05-26 00:27:02 +00:00
|
|
|
|
jr nz, .sub
|
|
|
|
|
jr nc, .done
|
|
|
|
|
ld a, $00
|
2014-05-22 22:13:20 +00:00
|
|
|
|
inc de
|
2014-05-26 00:27:02 +00:00
|
|
|
|
.fill
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [de], a
|
|
|
|
|
inc de
|
|
|
|
|
dec b
|
2014-05-26 00:27:02 +00:00
|
|
|
|
jr nz, .fill
|
2014-05-22 22:13:20 +00:00
|
|
|
|
scf
|
2014-05-26 00:27:02 +00:00
|
|
|
|
.done
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ret
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
InitializePlayerData:
|
|
|
|
|
|
2014-05-24 18:40:38 +00:00
|
|
|
|
call Random
|
|
|
|
|
ld a, [hRandomSub]
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld [wPlayerID], a
|
|
|
|
|
|
2014-05-24 18:40:38 +00:00
|
|
|
|
call Random
|
|
|
|
|
ld a, [hRandomAdd]
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [wPlayerID + 1], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld a, $ff
|
|
|
|
|
ld [$d71b], a ; XXX what's this?
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
ld hl, W_NUMINPARTY
|
|
|
|
|
call InitializeEmptyList
|
|
|
|
|
ld hl, W_NUMINBOX
|
|
|
|
|
call InitializeEmptyList
|
|
|
|
|
ld hl, wNumBagItems
|
|
|
|
|
call InitializeEmptyList
|
|
|
|
|
ld hl, wNumBoxItems
|
|
|
|
|
call InitializeEmptyList
|
|
|
|
|
|
|
|
|
|
START_MONEY EQU $3000
|
|
|
|
|
ld hl, wPlayerMoney + 1
|
|
|
|
|
ld a, START_MONEY / $100
|
|
|
|
|
ld [hld], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
xor a
|
|
|
|
|
ld [hli], a
|
|
|
|
|
inc hl
|
|
|
|
|
ld [hl], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
ld [$cc49], a
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, W_OBTAINEDBADGES
|
2014-05-25 17:09:39 +00:00
|
|
|
|
ld [hli], a
|
|
|
|
|
|
|
|
|
|
ld [hl], a
|
|
|
|
|
|
|
|
|
|
ld hl, wPlayerCoins
|
|
|
|
|
ld [hli], a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [hl], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
|
|
|
|
ld hl, W_GAMEPROGRESSFLAGS
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld bc, $c8
|
2014-05-25 17:09:39 +00:00
|
|
|
|
call FillMemory ; clear all game progress flags
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jp InitializeMissableObjectsFlags
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
InitializeEmptyList:
|
|
|
|
|
xor a ; count
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [hli], a
|
2014-05-25 17:09:39 +00:00
|
|
|
|
dec a ; terminator
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [hl], a
|
|
|
|
|
ret
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 17:09:39 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
IsItemInBag_: ; f8a5 (3:78a5)
|
2014-05-23 22:11:09 +00:00
|
|
|
|
call GetPredefRegisters
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, wNumBagItems ; $d31d
|
|
|
|
|
.asm_f8ab
|
|
|
|
|
inc hl
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
cp $ff
|
|
|
|
|
jr z, .asm_f8b7
|
2014-05-16 23:50:38 +00:00
|
|
|
|
cp b
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_f8ab
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
ld b, a
|
|
|
|
|
ret
|
|
|
|
|
.asm_f8b7
|
|
|
|
|
ld b, $0
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
Func_f8ba: ; f8ba (3:78ba)
|
2014-05-16 23:50:38 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, $ff97
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld [hl], a
|
|
|
|
|
ld hl, $cc97
|
|
|
|
|
ld de, $0
|
|
|
|
|
|
|
|
|
|
Func_f8c8: ; f8c8 (3:78c8)
|
|
|
|
|
ld a, [H_REMAINDER] ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [H_DIVIDEND] ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
|
|
|
|
call CalcDifference
|
|
|
|
|
ld d, a
|
2014-05-16 23:50:38 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_f8da
|
|
|
|
|
ld a, [$ff98]
|
|
|
|
|
set 0, a
|
|
|
|
|
ld [$ff98], a
|
|
|
|
|
.asm_f8da
|
|
|
|
|
ld a, [$ff9a]
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [H_NUMTOPRINT] ; $ff96 (aliases: H_MULTIPLICAND)
|
|
|
|
|
call CalcDifference
|
|
|
|
|
ld e, a
|
2014-05-16 23:50:38 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr nz, .asm_f8ec
|
|
|
|
|
ld a, [$ff98]
|
|
|
|
|
set 1, a
|
|
|
|
|
ld [$ff98], a
|
|
|
|
|
.asm_f8ec
|
|
|
|
|
ld a, [$ff98]
|
|
|
|
|
cp $3
|
|
|
|
|
jr z, .asm_f926
|
|
|
|
|
ld a, e
|
|
|
|
|
cp d
|
|
|
|
|
jr c, .asm_f90a
|
|
|
|
|
ld a, [$ff9d]
|
|
|
|
|
bit 1, a
|
|
|
|
|
jr nz, .asm_f900
|
|
|
|
|
ld d, $c0
|
|
|
|
|
jr .asm_f902
|
|
|
|
|
.asm_f900
|
|
|
|
|
ld d, $80
|
|
|
|
|
.asm_f902
|
|
|
|
|
ld a, [$ff9a]
|
|
|
|
|
add $1
|
|
|
|
|
ld [$ff9a], a
|
|
|
|
|
jr .asm_f91c
|
|
|
|
|
.asm_f90a
|
|
|
|
|
ld a, [$ff9d]
|
|
|
|
|
bit 0, a
|
|
|
|
|
jr nz, .asm_f914
|
|
|
|
|
ld d, $0
|
|
|
|
|
jr .asm_f916
|
|
|
|
|
.asm_f914
|
|
|
|
|
ld d, $40
|
|
|
|
|
.asm_f916
|
|
|
|
|
ld a, [H_REMAINDER] ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
|
|
|
|
add $1
|
|
|
|
|
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
|
|
|
|
|
.asm_f91c
|
|
|
|
|
ld a, d
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld a, [$ff97]
|
|
|
|
|
inc a
|
|
|
|
|
ld [$ff97], a
|
|
|
|
|
jp Func_f8c8
|
|
|
|
|
.asm_f926
|
|
|
|
|
ld [hl], $ff
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
Func_f929: ; f929 (3:7929)
|
2014-05-16 23:50:38 +00:00
|
|
|
|
xor a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld [$ff9d], a
|
|
|
|
|
ld a, [$c104]
|
|
|
|
|
ld d, a
|
|
|
|
|
ld a, [$c106]
|
|
|
|
|
ld e, a
|
|
|
|
|
ld hl, wSpriteStateData1
|
|
|
|
|
ld a, [H_DIVIDEND] ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
|
|
|
|
add l
|
|
|
|
|
add $4
|
|
|
|
|
ld l, a
|
|
|
|
|
jr nc, .asm_f940
|
|
|
|
|
inc h
|
|
|
|
|
.asm_f940
|
|
|
|
|
ld a, d
|
|
|
|
|
ld b, a
|
|
|
|
|
ld a, [hli]
|
|
|
|
|
call CalcDifference
|
|
|
|
|
jr nc, .asm_f953
|
|
|
|
|
push hl
|
|
|
|
|
ld hl, $ff9d
|
|
|
|
|
bit 0, [hl]
|
|
|
|
|
set 0, [hl]
|
|
|
|
|
pop hl
|
|
|
|
|
jr .asm_f95c
|
|
|
|
|
.asm_f953
|
|
|
|
|
push hl
|
|
|
|
|
ld hl, $ff9d
|
|
|
|
|
bit 0, [hl]
|
|
|
|
|
res 0, [hl]
|
|
|
|
|
pop hl
|
|
|
|
|
.asm_f95c
|
|
|
|
|
push hl
|
|
|
|
|
ld hl, $ffe5
|
|
|
|
|
ld [hli], a
|
|
|
|
|
ld a, $10
|
|
|
|
|
ld [hli], a
|
|
|
|
|
call Func_366b
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
|
|
|
|
|
pop hl
|
2014-05-16 23:50:38 +00:00
|
|
|
|
inc hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld b, e
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
call CalcDifference
|
|
|
|
|
jr nc, .asm_f97e
|
2014-05-16 23:50:38 +00:00
|
|
|
|
push hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ld hl, $ff9d
|
|
|
|
|
bit 1, [hl]
|
|
|
|
|
set 1, [hl]
|
2014-05-16 23:50:38 +00:00
|
|
|
|
pop hl
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr .asm_f987
|
|
|
|
|
.asm_f97e
|
|
|
|
|
push hl
|
|
|
|
|
ld hl, $ff9d
|
|
|
|
|
bit 1, [hl]
|
|
|
|
|
res 1, [hl]
|
|
|
|
|
pop hl
|
|
|
|
|
.asm_f987
|
|
|
|
|
ld [$ffe5], a
|
|
|
|
|
ld a, $10
|
|
|
|
|
ld [$ffe6], a
|
|
|
|
|
call Func_366b
|
|
|
|
|
ld a, [$ffe7]
|
|
|
|
|
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
|
|
|
|
|
ld a, [$ff9b]
|
2014-05-16 23:50:38 +00:00
|
|
|
|
and a
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ret z
|
|
|
|
|
ld a, [$ff9d]
|
|
|
|
|
cpl
|
|
|
|
|
and $3
|
|
|
|
|
ld [$ff9d], a
|
|
|
|
|
ret
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
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
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
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
|
2014-05-16 23:50:38 +00:00
|
|
|
|
cp b
|
2014-05-22 22:13:20 +00:00
|
|
|
|
jr z, .asm_f9cf
|
|
|
|
|
inc hl
|
|
|
|
|
jr .asm_f9c4
|
|
|
|
|
.asm_f9cf
|
|
|
|
|
ld a, [hl]
|
|
|
|
|
.asm_f9d0
|
|
|
|
|
pop hl
|
2014-05-16 23:50:38 +00:00
|
|
|
|
ret
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
DataTable_f9d2: ; f9d2 (3:79d2)
|
|
|
|
|
db $40, $40, $00, $80, $80, $20, $c0, $10, $ff
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Func_f9db: ; f9db (3:79db)
|
|
|
|
|
ret
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/hp_bar.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/hidden_object_functions3.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank4",ROMX,BANK[$4]
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
OakAideSprite: INCBIN "gfx/sprites/oak_aide.2bpp"
|
|
|
|
|
RockerSprite: INCBIN "gfx/sprites/rocker.2bpp"
|
|
|
|
|
SwimmerSprite: INCBIN "gfx/sprites/swimmer.2bpp"
|
|
|
|
|
WhitePlayerSprite: INCBIN "gfx/sprites/white_player.2bpp"
|
|
|
|
|
GymHelperSprite: INCBIN "gfx/sprites/gym_helper.2bpp"
|
|
|
|
|
OldPersonSprite: INCBIN "gfx/sprites/old_person.2bpp"
|
|
|
|
|
MartGuySprite: INCBIN "gfx/sprites/mart_guy.2bpp"
|
|
|
|
|
FisherSprite: INCBIN "gfx/sprites/fisher.2bpp"
|
|
|
|
|
OldMediumWomanSprite: INCBIN "gfx/sprites/old_medium_woman.2bpp"
|
|
|
|
|
NurseSprite: INCBIN "gfx/sprites/nurse.2bpp"
|
|
|
|
|
CableClubWomanSprite: INCBIN "gfx/sprites/cable_club_woman.2bpp"
|
|
|
|
|
MrMasterballSprite: INCBIN "gfx/sprites/mr_masterball.2bpp"
|
|
|
|
|
LaprasGiverSprite: INCBIN "gfx/sprites/lapras_giver.2bpp"
|
|
|
|
|
WardenSprite: INCBIN "gfx/sprites/warden.2bpp"
|
|
|
|
|
SsCaptainSprite: INCBIN "gfx/sprites/ss_captain.2bpp"
|
|
|
|
|
Fisher2Sprite: INCBIN "gfx/sprites/fisher2.2bpp"
|
|
|
|
|
BlackbeltSprite: INCBIN "gfx/sprites/blackbelt.2bpp"
|
|
|
|
|
GuardSprite: INCBIN "gfx/sprites/guard.2bpp"
|
|
|
|
|
BallSprite: INCBIN "gfx/sprites/ball.2bpp"
|
|
|
|
|
OmanyteSprite: INCBIN "gfx/sprites/omanyte.2bpp"
|
|
|
|
|
BoulderSprite: INCBIN "gfx/sprites/boulder.2bpp"
|
|
|
|
|
PaperSheetSprite: INCBIN "gfx/sprites/paper_sheet.2bpp"
|
|
|
|
|
BookMapDexSprite: INCBIN "gfx/sprites/book_map_dex.2bpp"
|
|
|
|
|
ClipboardSprite: INCBIN "gfx/sprites/clipboard.2bpp"
|
|
|
|
|
SnorlaxSprite: INCBIN "gfx/sprites/snorlax.2bpp"
|
|
|
|
|
OldAmberSprite: INCBIN "gfx/sprites/old_amber.2bpp"
|
|
|
|
|
LyingOldManSprite: INCBIN "gfx/sprites/lying_old_man.2bpp"
|
|
|
|
|
|
|
|
|
|
PokemonLogoGraphics: INCBIN "gfx/pokemon_logo.w128.2bpp"
|
|
|
|
|
FontGraphics: INCBIN "gfx/font.w128.1bpp"
|
|
|
|
|
ABTiles: INCBIN "gfx/AB.2bpp"
|
|
|
|
|
HpBarAndStatusGraphics: INCBIN "gfx/hp_bar_and_status.2bpp"
|
|
|
|
|
BattleHudTiles1: INCBIN "gfx/battle_hud1.1bpp"
|
|
|
|
|
BattleHudTiles2: INCBIN "gfx/battle_hud2.1bpp"
|
|
|
|
|
BattleHudTiles3: INCBIN "gfx/battle_hud3.1bpp"
|
|
|
|
|
NintendoCopyrightLogoGraphics: INCBIN "gfx/copyright.h8.2bpp"
|
|
|
|
|
GamefreakLogoGraphics: INCBIN "gfx/gamefreak.h8.2bpp"
|
|
|
|
|
TextBoxGraphics: INCBIN "gfx/text_box.2bpp"
|
|
|
|
|
PokedexTileGraphics: INCBIN "gfx/pokedex.2bpp"
|
|
|
|
|
WorldMapTileGraphics: INCBIN "gfx/town_map.2bpp"
|
|
|
|
|
PlayerCharacterTitleGraphics: INCBIN "gfx/player_title.2bpp"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/4.asm"
|
|
|
|
|
INCLUDE "engine/menu/status_screen.asm"
|
|
|
|
|
INCLUDE "engine/menu/party_menu.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 04:01:59 +00:00
|
|
|
|
RedPicFront:: INCBIN "pic/trainer/red.pic"
|
|
|
|
|
ShrinkPic1:: INCBIN "pic/trainer/shrink1.pic"
|
|
|
|
|
ShrinkPic2:: INCBIN "pic/trainer/shrink2.pic"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/turn_sprite.asm"
|
2012-01-24 12:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/menu/start_sub_menus.asm"
|
2012-01-24 12:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/items/tms.asm"
|
2012-01-24 12:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/4_2.asm"
|
2012-01-24 12:57:50 +00:00
|
|
|
|
|
2014-05-24 18:44:12 +00:00
|
|
|
|
INCLUDE "engine/random.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank5",ROMX,BANK[$5]
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
RedCyclingSprite: INCBIN "gfx/sprites/cycling.2bpp"
|
|
|
|
|
RedSprite: INCBIN "gfx/sprites/red.2bpp"
|
|
|
|
|
BlueSprite: INCBIN "gfx/sprites/blue.2bpp"
|
|
|
|
|
OakSprite: INCBIN "gfx/sprites/oak.2bpp"
|
|
|
|
|
BugCatcherSprite: INCBIN "gfx/sprites/bug_catcher.2bpp"
|
|
|
|
|
SlowbroSprite: INCBIN "gfx/sprites/slowbro.2bpp"
|
|
|
|
|
LassSprite: INCBIN "gfx/sprites/lass.2bpp"
|
|
|
|
|
BlackHairBoy1Sprite: INCBIN "gfx/sprites/black_hair_boy_1.2bpp"
|
|
|
|
|
LittleGirlSprite: INCBIN "gfx/sprites/little_girl.2bpp"
|
|
|
|
|
BirdSprite: INCBIN "gfx/sprites/bird.2bpp"
|
|
|
|
|
FatBaldGuySprite: INCBIN "gfx/sprites/fat_bald_guy.2bpp"
|
|
|
|
|
GamblerSprite: INCBIN "gfx/sprites/gambler.2bpp"
|
|
|
|
|
BlackHairBoy2Sprite: INCBIN "gfx/sprites/black_hair_boy_2.2bpp"
|
|
|
|
|
GirlSprite: INCBIN "gfx/sprites/girl.2bpp"
|
|
|
|
|
HikerSprite: INCBIN "gfx/sprites/hiker.2bpp"
|
|
|
|
|
FoulardWomanSprite: INCBIN "gfx/sprites/foulard_woman.2bpp"
|
|
|
|
|
GentlemanSprite: INCBIN "gfx/sprites/gentleman.2bpp"
|
|
|
|
|
DaisySprite: INCBIN "gfx/sprites/daisy.2bpp"
|
|
|
|
|
BikerSprite: INCBIN "gfx/sprites/biker.2bpp"
|
|
|
|
|
SailorSprite: INCBIN "gfx/sprites/sailor.2bpp"
|
|
|
|
|
CookSprite: INCBIN "gfx/sprites/cook.2bpp"
|
|
|
|
|
BikeShopGuySprite: INCBIN "gfx/sprites/bike_shop_guy.2bpp"
|
|
|
|
|
MrFujiSprite: INCBIN "gfx/sprites/mr_fuji.2bpp"
|
|
|
|
|
GiovanniSprite: INCBIN "gfx/sprites/giovanni.2bpp"
|
|
|
|
|
RocketSprite: INCBIN "gfx/sprites/rocket.2bpp"
|
|
|
|
|
MediumSprite: INCBIN "gfx/sprites/medium.2bpp"
|
|
|
|
|
WaiterSprite: INCBIN "gfx/sprites/waiter.2bpp"
|
|
|
|
|
ErikaSprite: INCBIN "gfx/sprites/erika.2bpp"
|
|
|
|
|
MomGeishaSprite: INCBIN "gfx/sprites/mom_geisha.2bpp"
|
|
|
|
|
BrunetteGirlSprite: INCBIN "gfx/sprites/brunette_girl.2bpp"
|
|
|
|
|
LanceSprite: INCBIN "gfx/sprites/lance.2bpp"
|
|
|
|
|
MomSprite: INCBIN "gfx/sprites/mom.2bpp"
|
|
|
|
|
BaldingGuySprite: INCBIN "gfx/sprites/balding_guy.2bpp"
|
|
|
|
|
YoungBoySprite: INCBIN "gfx/sprites/young_boy.2bpp"
|
|
|
|
|
GameboyKidSprite: INCBIN "gfx/sprites/gameboy_kid.2bpp"
|
|
|
|
|
ClefairySprite: INCBIN "gfx/sprites/clefairy.2bpp"
|
|
|
|
|
AgathaSprite: INCBIN "gfx/sprites/agatha.2bpp"
|
|
|
|
|
BrunoSprite: INCBIN "gfx/sprites/bruno.2bpp"
|
|
|
|
|
LoreleiSprite: INCBIN "gfx/sprites/lorelei.2bpp"
|
|
|
|
|
SeelSprite: INCBIN "gfx/sprites/seel.2bpp"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/load_pokedex_tiles.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/map_sprites.asm"
|
|
|
|
|
INCLUDE "engine/overworld/emotion_bubbles.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/evolve_trade.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/5.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/menu/pc.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank6",ROMX,BANK[$6]
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadoncity.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadoncity.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonCityBlocks: INCBIN "maps/celadoncity.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/pallettown.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pallettown.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
PalletTownBlocks: INCBIN "maps/pallettown.blk"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/viridiancity.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/viridiancity.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
ViridianCityBlocks: INCBIN "maps/viridiancity.blk"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/pewtercity.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pewtercity.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
PewterCityBlocks: INCBIN "maps/pewtercity.blk"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ceruleancity.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ceruleancity.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeruleanCityBlocks: INCBIN "maps/ceruleancity.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/vermilioncity.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/vermilioncity.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
VermilionCityBlocks: INCBIN "maps/vermilioncity.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/fuchsiacity.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/fuchsiacity.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
FuchsiaCityBlocks: INCBIN "maps/fuchsiacity.blk"
|
2013-03-17 21:54:12 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/play_time.asm"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "scripts/pallettown.asm"
|
|
|
|
|
INCLUDE "scripts/viridiancity.asm"
|
|
|
|
|
INCLUDE "scripts/pewtercity.asm"
|
|
|
|
|
INCLUDE "scripts/ceruleancity.asm"
|
|
|
|
|
INCLUDE "scripts/vermilioncity.asm"
|
|
|
|
|
INCLUDE "scripts/celadoncity.asm"
|
|
|
|
|
INCLUDE "scripts/fuchsiacity.asm"
|
2013-03-17 21:54:12 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/blueshouse.asm"
|
|
|
|
|
INCLUDE "scripts/blueshouse.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/blueshouse.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
BluesHouseBlocks: INCBIN "maps/blueshouse.blk"
|
2013-03-17 21:54:12 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/vermilionhouse3.asm"
|
|
|
|
|
INCLUDE "scripts/vermilionhouse3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/vermilionhouse3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
VermilionHouse3Blocks: INCBIN "maps/vermilionhouse3.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/indigoplateaulobby.asm"
|
|
|
|
|
INCLUDE "scripts/indigoplateaulobby.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/indigoplateaulobby.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
IndigoPlateauLobbyBlocks: INCBIN "maps/indigoplateaulobby.blk"
|
2014-05-16 23:50:38 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/silphco4.asm"
|
|
|
|
|
INCLUDE "scripts/silphco4.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/silphco4.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SilphCo4Blocks: INCBIN "maps/silphco4.blk"
|
2014-05-16 23:50:38 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/silphco5.asm"
|
|
|
|
|
INCLUDE "scripts/silphco5.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/silphco5.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SilphCo5Blocks: INCBIN "maps/silphco5.blk"
|
2013-12-09 15:55:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/silphco6.asm"
|
|
|
|
|
INCLUDE "scripts/silphco6.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/silphco6.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SilphCo6Blocks: INCBIN "maps/silphco6.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/npc_movement.asm"
|
|
|
|
|
INCLUDE "engine/overworld/doors.asm"
|
|
|
|
|
INCLUDE "engine/overworld/ledges.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank7",ROMX,BANK[$7]
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/cinnabarisland.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/cinnabarisland.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CinnabarIslandBlocks: INCBIN "maps/cinnabarisland.blk"
|
2013-10-25 18:15:25 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route1Blocks: INCBIN "maps/route1.blk"
|
2013-10-25 18:15:25 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
UndergroundPathEntranceRoute8Blocks: INCBIN "maps/undergroundpathentranceroute8.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
OaksLabBlocks: INCBIN "maps/oakslab.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route16HouseBlocks:
|
|
|
|
|
Route2HouseBlocks:
|
|
|
|
|
SaffronHouse1Blocks:
|
|
|
|
|
SaffronHouse2Blocks:
|
|
|
|
|
VermilionHouse1Blocks:
|
|
|
|
|
NameRaterBlocks:
|
|
|
|
|
LavenderHouse1Blocks:
|
|
|
|
|
LavenderHouse2Blocks:
|
|
|
|
|
CeruleanHouse1Blocks:
|
|
|
|
|
PewterHouse1Blocks:
|
|
|
|
|
PewterHouse2Blocks:
|
|
|
|
|
ViridianHouseBlocks: INCBIN "maps/viridianhouse.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonMansion5Blocks:
|
|
|
|
|
SchoolBlocks: INCBIN "maps/school.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeruleanHouseTrashedBlocks: INCBIN "maps/ceruleanhousetrashed.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
DiglettsCaveEntranceRoute11Blocks:
|
|
|
|
|
DiglettsCaveRoute2Blocks: INCBIN "maps/diglettscaveroute2.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "text/monster_names.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/clear_save.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/predefs7.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "scripts/cinnabarisland.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "scripts/route1.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/oakslab.asm"
|
|
|
|
|
INCLUDE "scripts/oakslab.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/oakslab.asm"
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/viridianmart.asm"
|
|
|
|
|
INCLUDE "scripts/viridianmart.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/viridianmart.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
ViridianMartBlocks: INCBIN "maps/viridianmart.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/school.asm"
|
|
|
|
|
INCLUDE "scripts/school.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/school.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/viridianhouse.asm"
|
|
|
|
|
INCLUDE "scripts/viridianhouse.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/viridianhouse.asm"
|
2012-01-19 06:48:31 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/pewterhouse1.asm"
|
|
|
|
|
INCLUDE "scripts/pewterhouse1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pewterhouse1.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/pewterhouse2.asm"
|
|
|
|
|
INCLUDE "scripts/pewterhouse2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pewterhouse2.asm"
|
2014-05-16 23:50:38 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ceruleanhousetrashed.asm"
|
|
|
|
|
INCLUDE "scripts/ceruleanhousetrashed.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ceruleanhousetrashed.asm"
|
2014-05-16 23:50:38 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ceruleanhouse1.asm"
|
|
|
|
|
INCLUDE "scripts/ceruleanhouse1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ceruleanhouse1.asm"
|
2012-01-19 06:48:31 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/bikeshop.asm"
|
|
|
|
|
INCLUDE "scripts/bikeshop.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/bikeshop.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
BikeShopBlocks: INCBIN "maps/bikeshop.blk"
|
2012-01-19 06:48:31 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/lavenderhouse1.asm"
|
|
|
|
|
INCLUDE "scripts/lavenderhouse1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/lavenderhouse1.asm"
|
2012-01-19 06:48:31 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/lavenderhouse2.asm"
|
|
|
|
|
INCLUDE "scripts/lavenderhouse2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/lavenderhouse2.asm"
|
2012-01-19 03:15:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/namerater.asm"
|
|
|
|
|
INCLUDE "scripts/namerater.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/namerater.asm"
|
2014-05-16 23:50:38 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/vermilionhouse1.asm"
|
|
|
|
|
INCLUDE "scripts/vermilionhouse1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/vermilionhouse1.asm"
|
2014-05-16 23:50:38 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/vermiliondock.asm"
|
|
|
|
|
INCLUDE "scripts/vermiliondock.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/vermiliondock.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
VermilionDockBlocks: INCBIN "maps/vermiliondock.blk"
|
2012-01-19 03:15:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonmansion5.asm"
|
|
|
|
|
INCLUDE "scripts/celadonmansion5.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonmansion5.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/fuchsiamart.asm"
|
|
|
|
|
INCLUDE "scripts/fuchsiamart.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/fuchsiamart.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
FuchsiaMartBlocks: INCBIN "maps/fuchsiamart.blk"
|
2012-01-22 18:52:46 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/saffronhouse1.asm"
|
|
|
|
|
INCLUDE "scripts/saffronhouse1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/saffronhouse1.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/saffronhouse2.asm"
|
|
|
|
|
INCLUDE "scripts/saffronhouse2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/saffronhouse2.asm"
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/diglettscaveroute2.asm"
|
|
|
|
|
INCLUDE "scripts/diglettscaveroute2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/diglettscaveroute2.asm"
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route2house.asm"
|
|
|
|
|
INCLUDE "scripts/route2house.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route2house.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route5gate.asm"
|
|
|
|
|
INCLUDE "scripts/route5gate.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route5gate.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route5GateBlocks: INCBIN "maps/route5gate.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route6gate.asm"
|
|
|
|
|
INCLUDE "scripts/route6gate.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route6gate.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route6GateBlocks: INCBIN "maps/route6gate.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route7gate.asm"
|
|
|
|
|
INCLUDE "scripts/route7gate.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route7gate.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route7GateBlocks: INCBIN "maps/route7gate.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route8gate.asm"
|
|
|
|
|
INCLUDE "scripts/route8gate.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route8gate.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route8GateBlocks: INCBIN "maps/route8gate.blk"
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/undergroundpathentranceroute8.asm"
|
|
|
|
|
INCLUDE "scripts/undergroundpathentranceroute8.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/undergroundpathentranceroute8.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/powerplant.asm"
|
|
|
|
|
INCLUDE "scripts/powerplant.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/powerplant.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
PowerPlantBlocks: INCBIN "maps/powerplant.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/diglettscaveroute11.asm"
|
|
|
|
|
INCLUDE "scripts/diglettscaveroute11.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/diglettscaveroute11.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route16house.asm"
|
|
|
|
|
INCLUDE "scripts/route16house.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route16house.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route22gate.asm"
|
|
|
|
|
INCLUDE "scripts/route22gate.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route22gate.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route22GateBlocks: INCBIN "maps/route22gate.blk"
|
2012-01-19 04:17:28 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/billshouse.asm"
|
|
|
|
|
INCLUDE "scripts/billshouse.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/billshouse.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
BillsHouseBlocks: INCBIN "maps/billshouse.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/menu/oaks_pc.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/hidden_object_functions7.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank9",ROMX,BANK[$9]
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 04:01:59 +00:00
|
|
|
|
RhydonPicFront:: INCBIN "pic/bmon/rhydon.pic"
|
|
|
|
|
RhydonPicBack:: INCBIN "pic/monback/rhydonb.pic"
|
|
|
|
|
KangaskhanPicFront:: INCBIN "pic/bmon/kangaskhan.pic"
|
|
|
|
|
KangaskhanPicBack:: INCBIN "pic/monback/kangaskhanb.pic"
|
|
|
|
|
NidoranMPicFront:: INCBIN "pic/bmon/nidoranm.pic"
|
|
|
|
|
NidoranMPicBack:: INCBIN "pic/monback/nidoranmb.pic"
|
|
|
|
|
ClefairyPicFront:: INCBIN "pic/bmon/clefairy.pic"
|
|
|
|
|
ClefairyPicBack:: INCBIN "pic/monback/clefairyb.pic"
|
|
|
|
|
SpearowPicFront:: INCBIN "pic/bmon/spearow.pic"
|
|
|
|
|
SpearowPicBack:: INCBIN "pic/monback/spearowb.pic"
|
|
|
|
|
VoltorbPicFront:: INCBIN "pic/bmon/voltorb.pic"
|
|
|
|
|
VoltorbPicBack:: INCBIN "pic/monback/voltorbb.pic"
|
|
|
|
|
NidokingPicFront:: INCBIN "pic/bmon/nidoking.pic"
|
|
|
|
|
NidokingPicBack:: INCBIN "pic/monback/nidokingb.pic"
|
|
|
|
|
SlowbroPicFront:: INCBIN "pic/bmon/slowbro.pic"
|
|
|
|
|
SlowbroPicBack:: INCBIN "pic/monback/slowbrob.pic"
|
|
|
|
|
IvysaurPicFront:: INCBIN "pic/bmon/ivysaur.pic"
|
|
|
|
|
IvysaurPicBack:: INCBIN "pic/monback/ivysaurb.pic"
|
|
|
|
|
ExeggutorPicFront:: INCBIN "pic/bmon/exeggutor.pic"
|
|
|
|
|
ExeggutorPicBack:: INCBIN "pic/monback/exeggutorb.pic"
|
|
|
|
|
LickitungPicFront:: INCBIN "pic/bmon/lickitung.pic"
|
|
|
|
|
LickitungPicBack:: INCBIN "pic/monback/lickitungb.pic"
|
|
|
|
|
ExeggcutePicFront:: INCBIN "pic/bmon/exeggcute.pic"
|
|
|
|
|
ExeggcutePicBack:: INCBIN "pic/monback/exeggcuteb.pic"
|
|
|
|
|
GrimerPicFront:: INCBIN "pic/bmon/grimer.pic"
|
|
|
|
|
GrimerPicBack:: INCBIN "pic/monback/grimerb.pic"
|
|
|
|
|
GengarPicFront:: INCBIN "pic/bmon/gengar.pic"
|
|
|
|
|
GengarPicBack:: INCBIN "pic/monback/gengarb.pic"
|
|
|
|
|
NidoranFPicFront:: INCBIN "pic/bmon/nidoranf.pic"
|
|
|
|
|
NidoranFPicBack:: INCBIN "pic/monback/nidoranfb.pic"
|
|
|
|
|
NidoqueenPicFront:: INCBIN "pic/bmon/nidoqueen.pic"
|
|
|
|
|
NidoqueenPicBack:: INCBIN "pic/monback/nidoqueenb.pic"
|
|
|
|
|
CubonePicFront:: INCBIN "pic/bmon/cubone.pic"
|
|
|
|
|
CubonePicBack:: INCBIN "pic/monback/cuboneb.pic"
|
|
|
|
|
RhyhornPicFront:: INCBIN "pic/bmon/rhyhorn.pic"
|
|
|
|
|
RhyhornPicBack:: INCBIN "pic/monback/rhyhornb.pic"
|
|
|
|
|
LaprasPicFront:: INCBIN "pic/bmon/lapras.pic"
|
|
|
|
|
LaprasPicBack:: INCBIN "pic/monback/laprasb.pic"
|
|
|
|
|
ArcaninePicFront:: INCBIN "pic/bmon/arcanine.pic"
|
|
|
|
|
ArcaninePicBack:: INCBIN "pic/monback/arcanineb.pic"
|
|
|
|
|
GyaradosPicFront:: INCBIN "pic/bmon/gyarados.pic"
|
|
|
|
|
GyaradosPicBack:: INCBIN "pic/monback/gyaradosb.pic"
|
|
|
|
|
ShellderPicFront:: INCBIN "pic/bmon/shellder.pic"
|
|
|
|
|
ShellderPicBack:: INCBIN "pic/monback/shellderb.pic"
|
|
|
|
|
TentacoolPicFront:: INCBIN "pic/bmon/tentacool.pic"
|
|
|
|
|
TentacoolPicBack:: INCBIN "pic/monback/tentacoolb.pic"
|
|
|
|
|
GastlyPicFront:: INCBIN "pic/bmon/gastly.pic"
|
|
|
|
|
GastlyPicBack:: INCBIN "pic/monback/gastlyb.pic"
|
|
|
|
|
ScytherPicFront:: INCBIN "pic/bmon/scyther.pic"
|
|
|
|
|
ScytherPicBack:: INCBIN "pic/monback/scytherb.pic"
|
|
|
|
|
StaryuPicFront:: INCBIN "pic/bmon/staryu.pic"
|
|
|
|
|
StaryuPicBack:: INCBIN "pic/monback/staryub.pic"
|
|
|
|
|
BlastoisePicFront:: INCBIN "pic/bmon/blastoise.pic"
|
|
|
|
|
BlastoisePicBack:: INCBIN "pic/monback/blastoiseb.pic"
|
|
|
|
|
PinsirPicFront:: INCBIN "pic/bmon/pinsir.pic"
|
|
|
|
|
PinsirPicBack:: INCBIN "pic/monback/pinsirb.pic"
|
|
|
|
|
TangelaPicFront:: INCBIN "pic/bmon/tangela.pic"
|
|
|
|
|
TangelaPicBack:: INCBIN "pic/monback/tangelab.pic"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/9.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bankA",ROMX,BANK[$A]
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-25 04:01:59 +00:00
|
|
|
|
GrowlithePicFront:: INCBIN "pic/bmon/growlithe.pic"
|
|
|
|
|
GrowlithePicBack:: INCBIN "pic/monback/growlitheb.pic"
|
|
|
|
|
OnixPicFront:: INCBIN "pic/bmon/onix.pic"
|
|
|
|
|
OnixPicBack:: INCBIN "pic/monback/onixb.pic"
|
|
|
|
|
FearowPicFront:: INCBIN "pic/bmon/fearow.pic"
|
|
|
|
|
FearowPicBack:: INCBIN "pic/monback/fearowb.pic"
|
|
|
|
|
PidgeyPicFront:: INCBIN "pic/bmon/pidgey.pic"
|
|
|
|
|
PidgeyPicBack:: INCBIN "pic/monback/pidgeyb.pic"
|
|
|
|
|
SlowpokePicFront:: INCBIN "pic/bmon/slowpoke.pic"
|
|
|
|
|
SlowpokePicBack:: INCBIN "pic/monback/slowpokeb.pic"
|
|
|
|
|
KadabraPicFront:: INCBIN "pic/bmon/kadabra.pic"
|
|
|
|
|
KadabraPicBack:: INCBIN "pic/monback/kadabrab.pic"
|
|
|
|
|
GravelerPicFront:: INCBIN "pic/bmon/graveler.pic"
|
|
|
|
|
GravelerPicBack:: INCBIN "pic/monback/gravelerb.pic"
|
|
|
|
|
ChanseyPicFront:: INCBIN "pic/bmon/chansey.pic"
|
|
|
|
|
ChanseyPicBack:: INCBIN "pic/monback/chanseyb.pic"
|
|
|
|
|
MachokePicFront:: INCBIN "pic/bmon/machoke.pic"
|
|
|
|
|
MachokePicBack:: INCBIN "pic/monback/machokeb.pic"
|
|
|
|
|
MrMimePicFront:: INCBIN "pic/bmon/mr.mime.pic"
|
|
|
|
|
MrMimePicBack:: INCBIN "pic/monback/mr.mimeb.pic"
|
|
|
|
|
HitmonleePicFront:: INCBIN "pic/bmon/hitmonlee.pic"
|
|
|
|
|
HitmonleePicBack:: INCBIN "pic/monback/hitmonleeb.pic"
|
|
|
|
|
HitmonchanPicFront:: INCBIN "pic/bmon/hitmonchan.pic"
|
|
|
|
|
HitmonchanPicBack:: INCBIN "pic/monback/hitmonchanb.pic"
|
|
|
|
|
ArbokPicFront:: INCBIN "pic/bmon/arbok.pic"
|
|
|
|
|
ArbokPicBack:: INCBIN "pic/monback/arbokb.pic"
|
|
|
|
|
ParasectPicFront:: INCBIN "pic/bmon/parasect.pic"
|
|
|
|
|
ParasectPicBack:: INCBIN "pic/monback/parasectb.pic"
|
|
|
|
|
PsyduckPicFront:: INCBIN "pic/bmon/psyduck.pic"
|
|
|
|
|
PsyduckPicBack:: INCBIN "pic/monback/psyduckb.pic"
|
|
|
|
|
DrowzeePicFront:: INCBIN "pic/bmon/drowzee.pic"
|
|
|
|
|
DrowzeePicBack:: INCBIN "pic/monback/drowzeeb.pic"
|
|
|
|
|
GolemPicFront:: INCBIN "pic/bmon/golem.pic"
|
|
|
|
|
GolemPicBack:: INCBIN "pic/monback/golemb.pic"
|
|
|
|
|
MagmarPicFront:: INCBIN "pic/bmon/magmar.pic"
|
|
|
|
|
MagmarPicBack:: INCBIN "pic/monback/magmarb.pic"
|
|
|
|
|
ElectabuzzPicFront:: INCBIN "pic/bmon/electabuzz.pic"
|
|
|
|
|
ElectabuzzPicBack:: INCBIN "pic/monback/electabuzzb.pic"
|
|
|
|
|
MagnetonPicFront:: INCBIN "pic/bmon/magneton.pic"
|
|
|
|
|
MagnetonPicBack:: INCBIN "pic/monback/magnetonb.pic"
|
|
|
|
|
KoffingPicFront:: INCBIN "pic/bmon/koffing.pic"
|
|
|
|
|
KoffingPicBack:: INCBIN "pic/monback/koffingb.pic"
|
|
|
|
|
MankeyPicFront:: INCBIN "pic/bmon/mankey.pic"
|
|
|
|
|
MankeyPicBack:: INCBIN "pic/monback/mankeyb.pic"
|
|
|
|
|
SeelPicFront:: INCBIN "pic/bmon/seel.pic"
|
|
|
|
|
SeelPicBack:: INCBIN "pic/monback/seelb.pic"
|
|
|
|
|
DiglettPicFront:: INCBIN "pic/bmon/diglett.pic"
|
|
|
|
|
DiglettPicBack:: INCBIN "pic/monback/diglettb.pic"
|
|
|
|
|
TaurosPicFront:: INCBIN "pic/bmon/tauros.pic"
|
|
|
|
|
TaurosPicBack:: INCBIN "pic/monback/taurosb.pic"
|
|
|
|
|
FarfetchdPicFront:: INCBIN "pic/bmon/farfetchd.pic"
|
|
|
|
|
FarfetchdPicBack:: INCBIN "pic/monback/farfetchdb.pic"
|
|
|
|
|
VenonatPicFront:: INCBIN "pic/bmon/venonat.pic"
|
|
|
|
|
VenonatPicBack:: INCBIN "pic/monback/venonatb.pic"
|
|
|
|
|
DragonitePicFront:: INCBIN "pic/bmon/dragonite.pic"
|
|
|
|
|
DragonitePicBack:: INCBIN "pic/monback/dragoniteb.pic"
|
|
|
|
|
DoduoPicFront:: INCBIN "pic/bmon/doduo.pic"
|
|
|
|
|
DoduoPicBack:: INCBIN "pic/monback/doduob.pic"
|
|
|
|
|
PoliwagPicFront:: INCBIN "pic/bmon/poliwag.pic"
|
|
|
|
|
PoliwagPicBack:: INCBIN "pic/monback/poliwagb.pic"
|
|
|
|
|
JynxPicFront:: INCBIN "pic/bmon/jynx.pic"
|
|
|
|
|
JynxPicBack:: INCBIN "pic/monback/jynxb.pic"
|
|
|
|
|
MoltresPicFront:: INCBIN "pic/bmon/moltres.pic"
|
|
|
|
|
MoltresPicBack:: INCBIN "pic/monback/moltresb.pic"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
INCLUDE "engine/battle/a.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SECTION "bankB",ROMX,BANK[$B]
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-25 04:01:59 +00:00
|
|
|
|
ArticunoPicFront:: INCBIN "pic/bmon/articuno.pic"
|
|
|
|
|
ArticunoPicBack:: INCBIN "pic/monback/articunob.pic"
|
|
|
|
|
ZapdosPicFront:: INCBIN "pic/bmon/zapdos.pic"
|
|
|
|
|
ZapdosPicBack:: INCBIN "pic/monback/zapdosb.pic"
|
|
|
|
|
DittoPicFront:: INCBIN "pic/bmon/ditto.pic"
|
|
|
|
|
DittoPicBack:: INCBIN "pic/monback/dittob.pic"
|
|
|
|
|
MeowthPicFront:: INCBIN "pic/bmon/meowth.pic"
|
|
|
|
|
MeowthPicBack:: INCBIN "pic/monback/meowthb.pic"
|
|
|
|
|
KrabbyPicFront:: INCBIN "pic/bmon/krabby.pic"
|
|
|
|
|
KrabbyPicBack:: INCBIN "pic/monback/krabbyb.pic"
|
|
|
|
|
VulpixPicFront:: INCBIN "pic/bmon/vulpix.pic"
|
|
|
|
|
VulpixPicBack:: INCBIN "pic/monback/vulpixb.pic"
|
|
|
|
|
NinetalesPicFront:: INCBIN "pic/bmon/ninetales.pic"
|
|
|
|
|
NinetalesPicBack:: INCBIN "pic/monback/ninetalesb.pic"
|
|
|
|
|
PikachuPicFront:: INCBIN "pic/bmon/pikachu.pic"
|
|
|
|
|
PikachuPicBack:: INCBIN "pic/monback/pikachub.pic"
|
|
|
|
|
RaichuPicFront:: INCBIN "pic/bmon/raichu.pic"
|
|
|
|
|
RaichuPicBack:: INCBIN "pic/monback/raichub.pic"
|
|
|
|
|
DratiniPicFront:: INCBIN "pic/bmon/dratini.pic"
|
|
|
|
|
DratiniPicBack:: INCBIN "pic/monback/dratinib.pic"
|
|
|
|
|
DragonairPicFront:: INCBIN "pic/bmon/dragonair.pic"
|
|
|
|
|
DragonairPicBack:: INCBIN "pic/monback/dragonairb.pic"
|
|
|
|
|
KabutoPicFront:: INCBIN "pic/bmon/kabuto.pic"
|
|
|
|
|
KabutoPicBack:: INCBIN "pic/monback/kabutob.pic"
|
|
|
|
|
KabutopsPicFront:: INCBIN "pic/bmon/kabutops.pic"
|
|
|
|
|
KabutopsPicBack:: INCBIN "pic/monback/kabutopsb.pic"
|
|
|
|
|
HorseaPicFront:: INCBIN "pic/bmon/horsea.pic"
|
|
|
|
|
HorseaPicBack:: INCBIN "pic/monback/horseab.pic"
|
|
|
|
|
SeadraPicFront:: INCBIN "pic/bmon/seadra.pic"
|
|
|
|
|
SeadraPicBack:: INCBIN "pic/monback/seadrab.pic"
|
|
|
|
|
SandshrewPicFront:: INCBIN "pic/bmon/sandshrew.pic"
|
|
|
|
|
SandshrewPicBack:: INCBIN "pic/monback/sandshrewb.pic"
|
|
|
|
|
SandslashPicFront:: INCBIN "pic/bmon/sandslash.pic"
|
|
|
|
|
SandslashPicBack:: INCBIN "pic/monback/sandslashb.pic"
|
|
|
|
|
OmanytePicFront:: INCBIN "pic/bmon/omanyte.pic"
|
|
|
|
|
OmanytePicBack:: INCBIN "pic/monback/omanyteb.pic"
|
|
|
|
|
OmastarPicFront:: INCBIN "pic/bmon/omastar.pic"
|
|
|
|
|
OmastarPicBack:: INCBIN "pic/monback/omastarb.pic"
|
|
|
|
|
JigglypuffPicFront:: INCBIN "pic/bmon/jigglypuff.pic"
|
|
|
|
|
JigglypuffPicBack:: INCBIN "pic/monback/jigglypuffb.pic"
|
|
|
|
|
WigglytuffPicFront:: INCBIN "pic/bmon/wigglytuff.pic"
|
|
|
|
|
WigglytuffPicBack:: INCBIN "pic/monback/wigglytuffb.pic"
|
|
|
|
|
EeveePicFront:: INCBIN "pic/bmon/eevee.pic"
|
|
|
|
|
EeveePicBack:: INCBIN "pic/monback/eeveeb.pic"
|
|
|
|
|
FlareonPicFront:: INCBIN "pic/bmon/flareon.pic"
|
|
|
|
|
FlareonPicBack:: INCBIN "pic/monback/flareonb.pic"
|
|
|
|
|
JolteonPicFront:: INCBIN "pic/bmon/jolteon.pic"
|
|
|
|
|
JolteonPicBack:: INCBIN "pic/monback/jolteonb.pic"
|
|
|
|
|
VaporeonPicFront:: INCBIN "pic/bmon/vaporeon.pic"
|
|
|
|
|
VaporeonPicBack:: INCBIN "pic/monback/vaporeonb.pic"
|
|
|
|
|
MachopPicFront:: INCBIN "pic/bmon/machop.pic"
|
|
|
|
|
MachopPicBack:: INCBIN "pic/monback/machopb.pic"
|
|
|
|
|
ZubatPicFront:: INCBIN "pic/bmon/zubat.pic"
|
|
|
|
|
ZubatPicBack:: INCBIN "pic/monback/zubatb.pic"
|
|
|
|
|
EkansPicFront:: INCBIN "pic/bmon/ekans.pic"
|
|
|
|
|
EkansPicBack:: INCBIN "pic/monback/ekansb.pic"
|
|
|
|
|
ParasPicFront:: INCBIN "pic/bmon/paras.pic"
|
|
|
|
|
ParasPicBack:: INCBIN "pic/monback/parasb.pic"
|
|
|
|
|
PoliwhirlPicFront:: INCBIN "pic/bmon/poliwhirl.pic"
|
|
|
|
|
PoliwhirlPicBack:: INCBIN "pic/monback/poliwhirlb.pic"
|
|
|
|
|
PoliwrathPicFront:: INCBIN "pic/bmon/poliwrath.pic"
|
|
|
|
|
PoliwrathPicBack:: INCBIN "pic/monback/poliwrathb.pic"
|
|
|
|
|
WeedlePicFront:: INCBIN "pic/bmon/weedle.pic"
|
|
|
|
|
WeedlePicBack:: INCBIN "pic/monback/weedleb.pic"
|
|
|
|
|
KakunaPicFront:: INCBIN "pic/bmon/kakuna.pic"
|
|
|
|
|
KakunaPicBack:: INCBIN "pic/monback/kakunab.pic"
|
|
|
|
|
BeedrillPicFront:: INCBIN "pic/bmon/beedrill.pic"
|
|
|
|
|
BeedrillPicBack:: INCBIN "pic/monback/beedrillb.pic"
|
|
|
|
|
|
|
|
|
|
FossilKabutopsPic:: INCBIN "pic/bmon/fossilkabutops.pic"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
INCLUDE "engine/battle/b.asm"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
TrainerInfoTextBoxTileGraphics: INCBIN "gfx/trainer_info.2bpp"
|
|
|
|
|
BlankLeaderNames: INCBIN "gfx/blank_leader_names.2bpp"
|
|
|
|
|
CircleTile: INCBIN "gfx/circle_tile.2bpp"
|
|
|
|
|
BadgeNumbersTileGraphics: INCBIN "gfx/badge_numbers.2bpp"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/items/tmhm.asm"
|
|
|
|
|
INCLUDE "engine/battle/b_2.asm"
|
|
|
|
|
INCLUDE "engine/game_corner_slots2.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bankC",ROMX,BANK[$C]
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-25 04:01:59 +00:00
|
|
|
|
DodrioPicFront:: INCBIN "pic/bmon/dodrio.pic"
|
|
|
|
|
DodrioPicBack:: INCBIN "pic/monback/dodriob.pic"
|
|
|
|
|
PrimeapePicFront:: INCBIN "pic/bmon/primeape.pic"
|
|
|
|
|
PrimeapePicBack:: INCBIN "pic/monback/primeapeb.pic"
|
|
|
|
|
DugtrioPicFront:: INCBIN "pic/bmon/dugtrio.pic"
|
|
|
|
|
DugtrioPicBack:: INCBIN "pic/monback/dugtriob.pic"
|
|
|
|
|
VenomothPicFront:: INCBIN "pic/bmon/venomoth.pic"
|
|
|
|
|
VenomothPicBack:: INCBIN "pic/monback/venomothb.pic"
|
|
|
|
|
DewgongPicFront:: INCBIN "pic/bmon/dewgong.pic"
|
|
|
|
|
DewgongPicBack:: INCBIN "pic/monback/dewgongb.pic"
|
|
|
|
|
CaterpiePicFront:: INCBIN "pic/bmon/caterpie.pic"
|
|
|
|
|
CaterpiePicBack:: INCBIN "pic/monback/caterpieb.pic"
|
|
|
|
|
MetapodPicFront:: INCBIN "pic/bmon/metapod.pic"
|
|
|
|
|
MetapodPicBack:: INCBIN "pic/monback/metapodb.pic"
|
|
|
|
|
ButterfreePicFront:: INCBIN "pic/bmon/butterfree.pic"
|
|
|
|
|
ButterfreePicBack:: INCBIN "pic/monback/butterfreeb.pic"
|
|
|
|
|
MachampPicFront:: INCBIN "pic/bmon/machamp.pic"
|
|
|
|
|
MachampPicBack:: INCBIN "pic/monback/machampb.pic"
|
|
|
|
|
GolduckPicFront:: INCBIN "pic/bmon/golduck.pic"
|
|
|
|
|
GolduckPicBack:: INCBIN "pic/monback/golduckb.pic"
|
|
|
|
|
HypnoPicFront:: INCBIN "pic/bmon/hypno.pic"
|
|
|
|
|
HypnoPicBack:: INCBIN "pic/monback/hypnob.pic"
|
|
|
|
|
GolbatPicFront:: INCBIN "pic/bmon/golbat.pic"
|
|
|
|
|
GolbatPicBack:: INCBIN "pic/monback/golbatb.pic"
|
|
|
|
|
MewtwoPicFront:: INCBIN "pic/bmon/mewtwo.pic"
|
|
|
|
|
MewtwoPicBack:: INCBIN "pic/monback/mewtwob.pic"
|
|
|
|
|
SnorlaxPicFront:: INCBIN "pic/bmon/snorlax.pic"
|
|
|
|
|
SnorlaxPicBack:: INCBIN "pic/monback/snorlaxb.pic"
|
|
|
|
|
MagikarpPicFront:: INCBIN "pic/bmon/magikarp.pic"
|
|
|
|
|
MagikarpPicBack:: INCBIN "pic/monback/magikarpb.pic"
|
|
|
|
|
MukPicFront:: INCBIN "pic/bmon/muk.pic"
|
|
|
|
|
MukPicBack:: INCBIN "pic/monback/mukb.pic"
|
|
|
|
|
KinglerPicFront:: INCBIN "pic/bmon/kingler.pic"
|
|
|
|
|
KinglerPicBack:: INCBIN "pic/monback/kinglerb.pic"
|
|
|
|
|
CloysterPicFront:: INCBIN "pic/bmon/cloyster.pic"
|
|
|
|
|
CloysterPicBack:: INCBIN "pic/monback/cloysterb.pic"
|
|
|
|
|
ElectrodePicFront:: INCBIN "pic/bmon/electrode.pic"
|
|
|
|
|
ElectrodePicBack:: INCBIN "pic/monback/electrodeb.pic"
|
|
|
|
|
ClefablePicFront:: INCBIN "pic/bmon/clefable.pic"
|
|
|
|
|
ClefablePicBack:: INCBIN "pic/monback/clefableb.pic"
|
|
|
|
|
WeezingPicFront:: INCBIN "pic/bmon/weezing.pic"
|
|
|
|
|
WeezingPicBack:: INCBIN "pic/monback/weezingb.pic"
|
|
|
|
|
PersianPicFront:: INCBIN "pic/bmon/persian.pic"
|
|
|
|
|
PersianPicBack:: INCBIN "pic/monback/persianb.pic"
|
|
|
|
|
MarowakPicFront:: INCBIN "pic/bmon/marowak.pic"
|
|
|
|
|
MarowakPicBack:: INCBIN "pic/monback/marowakb.pic"
|
|
|
|
|
HaunterPicFront:: INCBIN "pic/bmon/haunter.pic"
|
|
|
|
|
HaunterPicBack:: INCBIN "pic/monback/haunterb.pic"
|
|
|
|
|
AbraPicFront:: INCBIN "pic/bmon/abra.pic"
|
|
|
|
|
AbraPicBack:: INCBIN "pic/monback/abrab.pic"
|
|
|
|
|
AlakazamPicFront:: INCBIN "pic/bmon/alakazam.pic"
|
|
|
|
|
AlakazamPicBack:: INCBIN "pic/monback/alakazamb.pic"
|
|
|
|
|
PidgeottoPicFront:: INCBIN "pic/bmon/pidgeotto.pic"
|
|
|
|
|
PidgeottoPicBack:: INCBIN "pic/monback/pidgeottob.pic"
|
|
|
|
|
PidgeotPicFront:: INCBIN "pic/bmon/pidgeot.pic"
|
|
|
|
|
PidgeotPicBack:: INCBIN "pic/monback/pidgeotb.pic"
|
|
|
|
|
StarmiePicFront:: INCBIN "pic/bmon/starmie.pic"
|
|
|
|
|
StarmiePicBack:: INCBIN "pic/monback/starmieb.pic"
|
|
|
|
|
|
|
|
|
|
RedPicBack:: INCBIN "pic/trainer/redb.pic"
|
|
|
|
|
OldManPic:: INCBIN "pic/trainer/oldman.pic"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/c.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bankD",ROMX,BANK[$D]
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 04:01:59 +00:00
|
|
|
|
BulbasaurPicFront:: INCBIN "pic/bmon/bulbasaur.pic"
|
|
|
|
|
BulbasaurPicBack:: INCBIN "pic/monback/bulbasaurb.pic"
|
|
|
|
|
VenusaurPicFront:: INCBIN "pic/bmon/venusaur.pic"
|
|
|
|
|
VenusaurPicBack:: INCBIN "pic/monback/venusaurb.pic"
|
|
|
|
|
TentacruelPicFront:: INCBIN "pic/bmon/tentacruel.pic"
|
|
|
|
|
TentacruelPicBack:: INCBIN "pic/monback/tentacruelb.pic"
|
|
|
|
|
GoldeenPicFront:: INCBIN "pic/bmon/goldeen.pic"
|
|
|
|
|
GoldeenPicBack:: INCBIN "pic/monback/goldeenb.pic"
|
|
|
|
|
SeakingPicFront:: INCBIN "pic/bmon/seaking.pic"
|
|
|
|
|
SeakingPicBack:: INCBIN "pic/monback/seakingb.pic"
|
|
|
|
|
PonytaPicFront:: INCBIN "pic/bmon/ponyta.pic"
|
|
|
|
|
RapidashPicFront:: INCBIN "pic/bmon/rapidash.pic"
|
|
|
|
|
PonytaPicBack:: INCBIN "pic/monback/ponytab.pic"
|
|
|
|
|
RapidashPicBack:: INCBIN "pic/monback/rapidashb.pic"
|
|
|
|
|
RattataPicFront:: INCBIN "pic/bmon/rattata.pic"
|
|
|
|
|
RattataPicBack:: INCBIN "pic/monback/rattatab.pic"
|
|
|
|
|
RaticatePicFront:: INCBIN "pic/bmon/raticate.pic"
|
|
|
|
|
RaticatePicBack:: INCBIN "pic/monback/raticateb.pic"
|
|
|
|
|
NidorinoPicFront:: INCBIN "pic/bmon/nidorino.pic"
|
|
|
|
|
NidorinoPicBack:: INCBIN "pic/monback/nidorinob.pic"
|
|
|
|
|
NidorinaPicFront:: INCBIN "pic/bmon/nidorina.pic"
|
|
|
|
|
NidorinaPicBack:: INCBIN "pic/monback/nidorinab.pic"
|
|
|
|
|
GeodudePicFront:: INCBIN "pic/bmon/geodude.pic"
|
|
|
|
|
GeodudePicBack:: INCBIN "pic/monback/geodudeb.pic"
|
|
|
|
|
PorygonPicFront:: INCBIN "pic/bmon/porygon.pic"
|
|
|
|
|
PorygonPicBack:: INCBIN "pic/monback/porygonb.pic"
|
|
|
|
|
AerodactylPicFront:: INCBIN "pic/bmon/aerodactyl.pic"
|
|
|
|
|
AerodactylPicBack:: INCBIN "pic/monback/aerodactylb.pic"
|
|
|
|
|
MagnemitePicFront:: INCBIN "pic/bmon/magnemite.pic"
|
|
|
|
|
MagnemitePicBack:: INCBIN "pic/monback/magnemiteb.pic"
|
|
|
|
|
CharmanderPicFront:: INCBIN "pic/bmon/charmander.pic"
|
|
|
|
|
CharmanderPicBack:: INCBIN "pic/monback/charmanderb.pic"
|
|
|
|
|
SquirtlePicFront:: INCBIN "pic/bmon/squirtle.pic"
|
|
|
|
|
SquirtlePicBack:: INCBIN "pic/monback/squirtleb.pic"
|
|
|
|
|
CharmeleonPicFront:: INCBIN "pic/bmon/charmeleon.pic"
|
|
|
|
|
CharmeleonPicBack:: INCBIN "pic/monback/charmeleonb.pic"
|
|
|
|
|
WartortlePicFront:: INCBIN "pic/bmon/wartortle.pic"
|
|
|
|
|
WartortlePicBack:: INCBIN "pic/monback/wartortleb.pic"
|
|
|
|
|
CharizardPicFront:: INCBIN "pic/bmon/charizard.pic"
|
|
|
|
|
CharizardPicBack:: INCBIN "pic/monback/charizardb.pic"
|
|
|
|
|
FossilAerodactylPic:: INCBIN "pic/bmon/fossilaerodactyl.pic"
|
|
|
|
|
GhostPic:: INCBIN "pic/other/ghost.pic"
|
|
|
|
|
OddishPicFront:: INCBIN "pic/bmon/oddish.pic"
|
|
|
|
|
OddishPicBack:: INCBIN "pic/monback/oddishb.pic"
|
|
|
|
|
GloomPicFront:: INCBIN "pic/bmon/gloom.pic"
|
|
|
|
|
GloomPicBack:: INCBIN "pic/monback/gloomb.pic"
|
|
|
|
|
VileplumePicFront:: INCBIN "pic/bmon/vileplume.pic"
|
|
|
|
|
VileplumePicBack:: INCBIN "pic/monback/vileplumeb.pic"
|
|
|
|
|
BellsproutPicFront:: INCBIN "pic/bmon/bellsprout.pic"
|
|
|
|
|
BellsproutPicBack:: INCBIN "pic/monback/bellsproutb.pic"
|
|
|
|
|
WeepinbellPicFront:: INCBIN "pic/bmon/weepinbell.pic"
|
|
|
|
|
WeepinbellPicBack:: INCBIN "pic/monback/weepinbellb.pic"
|
|
|
|
|
VictreebelPicFront:: INCBIN "pic/bmon/victreebel.pic"
|
|
|
|
|
VictreebelPicBack:: INCBIN "pic/monback/victreebelb.pic"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
INCLUDE "engine/titlescreen2.asm"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/d.asm"
|
|
|
|
|
INCLUDE "engine/slot_machine.asm"
|
|
|
|
|
INCLUDE "engine/overworld/pewter_guys.asm"
|
|
|
|
|
INCLUDE "engine/multiply_divide.asm"
|
|
|
|
|
INCLUDE "engine/game_corner_slots.asm"
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bankE",ROMX,BANK[$E]
|
2013-12-15 22:18:14 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/moves.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
BaseStats: INCLUDE "data/base_stats.asm"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/cries.asm"
|
|
|
|
|
INCLUDE "engine/battle/e.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
TradingAnimationGraphics:
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCBIN "gfx/game_boy.norepeat.2bpp"
|
|
|
|
|
INCBIN "gfx/link_cable.2bpp"
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
TradingAnimationGraphics2:
|
2014-05-25 17:09:39 +00:00
|
|
|
|
; Pokeball traveling through the link cable.
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCBIN "gfx/trade2.2bpp"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/evos_moves.asm"
|
|
|
|
|
INCLUDE "engine/battle/e_2.asm"
|
2013-12-14 10:01:22 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bankF",ROMX,BANK[$F]
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/core.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank10",ROMX,BANK[$10]
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/menu/pokedex.asm"
|
|
|
|
|
INCLUDE "engine/trade.asm"
|
|
|
|
|
INCLUDE "engine/intro.asm"
|
|
|
|
|
INCLUDE "engine/trade2.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank11",ROMX,BANK[$11]
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/lavendertown.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/lavendertown.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
LavenderTownBlocks: INCBIN "maps/lavendertown.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
ViridianPokecenterBlocks: INCBIN "maps/viridianpokecenter.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SafariZoneRestHouse1Blocks:
|
|
|
|
|
SafariZoneRestHouse2Blocks:
|
|
|
|
|
SafariZoneRestHouse3Blocks:
|
|
|
|
|
SafariZoneRestHouse4Blocks: INCBIN "maps/safarizoneresthouse1.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "scripts/lavendertown.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/pokedex_rating.asm"
|
2012-01-15 00:13:22 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/viridianpokecenter.asm"
|
|
|
|
|
INCLUDE "scripts/viridianpokecenter.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/viridianpokecenter.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/mansion1.asm"
|
|
|
|
|
INCLUDE "scripts/mansion1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/mansion1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Mansion1Blocks: INCBIN "maps/mansion1.blk"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/rocktunnel1.asm"
|
|
|
|
|
INCLUDE "scripts/rocktunnel1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/rocktunnel1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
RockTunnel1Blocks: INCBIN "maps/rocktunnel1.blk"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/seafoamislands1.asm"
|
|
|
|
|
INCLUDE "scripts/seafoamislands1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/seafoamislands1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SeafoamIslands1Blocks: INCBIN "maps/seafoamislands1.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ssanne3.asm"
|
|
|
|
|
INCLUDE "scripts/ssanne3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ssanne3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SSAnne3Blocks: INCBIN "maps/ssanne3.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/victoryroad3.asm"
|
|
|
|
|
INCLUDE "scripts/victoryroad3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/victoryroad3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
VictoryRoad3Blocks: INCBIN "maps/victoryroad3.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/rockethideout1.asm"
|
|
|
|
|
INCLUDE "scripts/rockethideout1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/rockethideout1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
RocketHideout1Blocks: INCBIN "maps/rockethideout1.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/rockethideout2.asm"
|
|
|
|
|
INCLUDE "scripts/rockethideout2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/rockethideout2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
RocketHideout2Blocks: INCBIN "maps/rockethideout2.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/rockethideout3.asm"
|
|
|
|
|
INCLUDE "scripts/rockethideout3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/rockethideout3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
RocketHideout3Blocks: INCBIN "maps/rockethideout3.blk"
|
2012-01-19 10:14:38 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/rockethideout4.asm"
|
|
|
|
|
INCLUDE "scripts/rockethideout4.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/rockethideout4.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
RocketHideout4Blocks: INCBIN "maps/rockethideout4.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/rockethideoutelevator.asm"
|
|
|
|
|
INCLUDE "scripts/rockethideoutelevator.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/rockethideoutelevator.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
RocketHideoutElevatorBlocks: INCBIN "maps/rockethideoutelevator.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/silphcoelevator.asm"
|
|
|
|
|
INCLUDE "scripts/silphcoelevator.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/silphcoelevator.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SilphCoElevatorBlocks: INCBIN "maps/silphcoelevator.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/safarizoneeast.asm"
|
|
|
|
|
INCLUDE "scripts/safarizoneeast.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/safarizoneeast.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SafariZoneEastBlocks: INCBIN "maps/safarizoneeast.blk"
|
2013-10-25 18:15:25 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/safarizonenorth.asm"
|
|
|
|
|
INCLUDE "scripts/safarizonenorth.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/safarizonenorth.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SafariZoneNorthBlocks: INCBIN "maps/safarizonenorth.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/safarizonecenter.asm"
|
|
|
|
|
INCLUDE "scripts/safarizonecenter.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/safarizonecenter.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SafariZoneCenterBlocks: INCBIN "maps/safarizonecenter.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/safarizoneresthouse1.asm"
|
|
|
|
|
INCLUDE "scripts/safarizoneresthouse1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/safarizoneresthouse1.asm"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/safarizoneresthouse2.asm"
|
|
|
|
|
INCLUDE "scripts/safarizoneresthouse2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/safarizoneresthouse2.asm"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/safarizoneresthouse3.asm"
|
|
|
|
|
INCLUDE "scripts/safarizoneresthouse3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/safarizoneresthouse3.asm"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/safarizoneresthouse4.asm"
|
|
|
|
|
INCLUDE "scripts/safarizoneresthouse4.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/safarizoneresthouse4.asm"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/unknowndungeon2.asm"
|
|
|
|
|
INCLUDE "scripts/unknowndungeon2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/unknowndungeon2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
UnknownDungeon2Blocks: INCBIN "maps/unknowndungeon2.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/unknowndungeon3.asm"
|
|
|
|
|
INCLUDE "scripts/unknowndungeon3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/unknowndungeon3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
UnknownDungeon3Blocks: INCBIN "maps/unknowndungeon3.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/rocktunnel2.asm"
|
|
|
|
|
INCLUDE "scripts/rocktunnel2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/rocktunnel2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
RockTunnel2Blocks: INCBIN "maps/rocktunnel2.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/seafoamislands2.asm"
|
|
|
|
|
INCLUDE "scripts/seafoamislands2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/seafoamislands2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SeafoamIslands2Blocks: INCBIN "maps/seafoamislands2.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/seafoamislands3.asm"
|
|
|
|
|
INCLUDE "scripts/seafoamislands3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/seafoamislands3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SeafoamIslands3Blocks: INCBIN "maps/seafoamislands3.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/seafoamislands4.asm"
|
|
|
|
|
INCLUDE "scripts/seafoamislands4.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/seafoamislands4.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SeafoamIslands4Blocks: INCBIN "maps/seafoamislands4.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/seafoamislands5.asm"
|
|
|
|
|
INCLUDE "scripts/seafoamislands5.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/seafoamislands5.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SeafoamIslands5Blocks: INCBIN "maps/seafoamislands5.blk"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/hidden_objects.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank12",ROMX,BANK[$12]
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route7.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route7.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route7Blocks: INCBIN "maps/route7.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonPokecenterBlocks:
|
|
|
|
|
RockTunnelPokecenterBlocks:
|
|
|
|
|
MtMoonPokecenterBlocks: INCBIN "maps/mtmoonpokecenter.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route18GateBlocks:
|
|
|
|
|
Route15GateBlocks:
|
|
|
|
|
Route11GateBlocks: INCBIN "maps/route11gate.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route18GateUpstairsBlocks:
|
|
|
|
|
Route16GateUpstairsBlocks:
|
|
|
|
|
Route12GateUpstairsBlocks:
|
|
|
|
|
Route15GateUpstairsBlocks:
|
|
|
|
|
Route11GateUpstairsBlocks: INCBIN "maps/route11gateupstairs.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/predefs12.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "scripts/route7.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/redshouse1f.asm"
|
|
|
|
|
INCLUDE "scripts/redshouse1f.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/redshouse1f.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
RedsHouse1FBlocks: INCBIN "maps/redshouse1f.blk"
|
2013-03-12 02:46:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonmart3.asm"
|
|
|
|
|
INCLUDE "scripts/celadonmart3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonmart3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonMart3Blocks: INCBIN "maps/celadonmart3.blk"
|
2012-01-25 17:01:21 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonmart4.asm"
|
|
|
|
|
INCLUDE "scripts/celadonmart4.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonmart4.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonMart4Blocks: INCBIN "maps/celadonmart4.blk"
|
2012-01-25 17:01:21 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonmartroof.asm"
|
|
|
|
|
INCLUDE "scripts/celadonmartroof.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonmartroof.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonMartRoofBlocks: INCBIN "maps/celadonmartroof.blk"
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonmartelevator.asm"
|
|
|
|
|
INCLUDE "scripts/celadonmartelevator.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonmartelevator.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonMartElevatorBlocks: INCBIN "maps/celadonmartelevator.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonmansion1.asm"
|
|
|
|
|
INCLUDE "scripts/celadonmansion1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonmansion1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonMansion1Blocks: INCBIN "maps/celadonmansion1.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/celadonmansion2.asm"
|
|
|
|
|
INCLUDE "scripts/celadonmansion2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonmansion2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonMansion2Blocks: INCBIN "maps/celadonmansion2.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/celadonmansion3.asm"
|
|
|
|
|
INCLUDE "scripts/celadonmansion3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonmansion3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonMansion3Blocks: INCBIN "maps/celadonmansion3.blk"
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonmansion4.asm"
|
|
|
|
|
INCLUDE "scripts/celadonmansion4.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonmansion4.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonMansion4Blocks: INCBIN "maps/celadonmansion4.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonpokecenter.asm"
|
|
|
|
|
INCLUDE "scripts/celadonpokecenter.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonpokecenter.asm"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadongym.asm"
|
|
|
|
|
INCLUDE "scripts/celadongym.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadongym.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonGymBlocks: INCBIN "maps/celadongym.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadongamecorner.asm"
|
|
|
|
|
INCLUDE "scripts/celadongamecorner.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadongamecorner.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonGameCornerBlocks: INCBIN "maps/celadongamecorner.blk"
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonmart5.asm"
|
|
|
|
|
INCLUDE "scripts/celadonmart5.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonmart5.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonMart5Blocks: INCBIN "maps/celadonmart5.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonprizeroom.asm"
|
|
|
|
|
INCLUDE "scripts/celadonprizeroom.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonprizeroom.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonPrizeRoomBlocks: INCBIN "maps/celadonprizeroom.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadondiner.asm"
|
|
|
|
|
INCLUDE "scripts/celadondiner.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadondiner.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonDinerBlocks: INCBIN "maps/celadondiner.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonhouse.asm"
|
|
|
|
|
INCLUDE "scripts/celadonhouse.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonhouse.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonHouseBlocks: INCBIN "maps/celadonhouse.blk"
|
2013-10-25 18:15:25 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonhotel.asm"
|
|
|
|
|
INCLUDE "scripts/celadonhotel.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonhotel.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonHotelBlocks: INCBIN "maps/celadonhotel.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/mtmoonpokecenter.asm"
|
|
|
|
|
INCLUDE "scripts/mtmoonpokecenter.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/mtmoonpokecenter.asm"
|
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/rocktunnelpokecenter.asm"
|
|
|
|
|
INCLUDE "scripts/rocktunnelpokecenter.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/rocktunnelpokecenter.asm"
|
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/route11gate.asm"
|
|
|
|
|
INCLUDE "scripts/route11gate.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route11gate.asm"
|
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/route11gateupstairs.asm"
|
|
|
|
|
INCLUDE "scripts/route11gateupstairs.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route11gateupstairs.asm"
|
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/route12gate.asm"
|
|
|
|
|
INCLUDE "scripts/route12gate.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route12gate.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route12GateBlocks: INCBIN "maps/route12gate.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/route12gateupstairs.asm"
|
|
|
|
|
INCLUDE "scripts/route12gateupstairs.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route12gateupstairs.asm"
|
2012-01-18 12:07:12 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route15gate.asm"
|
|
|
|
|
INCLUDE "scripts/route15gate.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route15gate.asm"
|
2012-01-19 09:54:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route15gateupstairs.asm"
|
|
|
|
|
INCLUDE "scripts/route15gateupstairs.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route15gateupstairs.asm"
|
2013-10-25 18:15:25 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route16gate.asm"
|
|
|
|
|
INCLUDE "scripts/route16gate.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route16gate.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route16GateBlocks: INCBIN "maps/route16gate.blk"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route16gateupstairs.asm"
|
|
|
|
|
INCLUDE "scripts/route16gateupstairs.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route16gateupstairs.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route18gate.asm"
|
|
|
|
|
INCLUDE "scripts/route18gate.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route18gate.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route18gateupstairs.asm"
|
|
|
|
|
INCLUDE "scripts/route18gateupstairs.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route18gateupstairs.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/mtmoon1.asm"
|
|
|
|
|
INCLUDE "scripts/mtmoon1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/mtmoon1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
MtMoon1Blocks: INCBIN "maps/mtmoon1.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/mtmoon3.asm"
|
|
|
|
|
INCLUDE "scripts/mtmoon3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/mtmoon3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
MtMoon3Blocks: INCBIN "maps/mtmoon3.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/safarizonewest.asm"
|
|
|
|
|
INCLUDE "scripts/safarizonewest.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/safarizonewest.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SafariZoneWestBlocks: INCBIN "maps/safarizonewest.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/safarizonesecrethouse.asm"
|
|
|
|
|
INCLUDE "scripts/safarizonesecrethouse.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/safarizonesecrethouse.asm"
|
2014-05-25 17:09:39 +00:00
|
|
|
|
SafariZoneSecretHouseBlocks: INCBIN "maps/safarizonesecrethouse.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank13",ROMX,BANK[$13]
|
|
|
|
|
|
2014-05-25 04:01:59 +00:00
|
|
|
|
TrainerPics::
|
|
|
|
|
YoungsterPic:: INCBIN "pic/trainer/youngster.pic"
|
|
|
|
|
BugCatcherPic:: INCBIN "pic/trainer/bugcatcher.pic"
|
|
|
|
|
LassPic:: INCBIN "pic/trainer/lass.pic"
|
|
|
|
|
SailorPic:: INCBIN "pic/trainer/sailor.pic"
|
|
|
|
|
JrTrainerMPic:: INCBIN "pic/trainer/jr.trainerm.pic"
|
|
|
|
|
JrTrainerFPic:: INCBIN "pic/trainer/jr.trainerf.pic"
|
|
|
|
|
PokemaniacPic:: INCBIN "pic/trainer/pokemaniac.pic"
|
|
|
|
|
SuperNerdPic:: INCBIN "pic/trainer/supernerd.pic"
|
|
|
|
|
HikerPic:: INCBIN "pic/trainer/hiker.pic"
|
|
|
|
|
BikerPic:: INCBIN "pic/trainer/biker.pic"
|
|
|
|
|
BurglarPic:: INCBIN "pic/trainer/burglar.pic"
|
|
|
|
|
EngineerPic:: INCBIN "pic/trainer/engineer.pic"
|
|
|
|
|
FisherPic:: INCBIN "pic/trainer/fisher.pic"
|
|
|
|
|
SwimmerPic:: INCBIN "pic/trainer/swimmer.pic"
|
|
|
|
|
CueBallPic:: INCBIN "pic/trainer/cueball.pic"
|
|
|
|
|
GamblerPic:: INCBIN "pic/trainer/gambler.pic"
|
|
|
|
|
BeautyPic:: INCBIN "pic/trainer/beauty.pic"
|
|
|
|
|
PsychicPic:: INCBIN "pic/trainer/psychic.pic"
|
|
|
|
|
RockerPic:: INCBIN "pic/trainer/rocker.pic"
|
|
|
|
|
JugglerPic:: INCBIN "pic/trainer/juggler.pic"
|
|
|
|
|
TamerPic:: INCBIN "pic/trainer/tamer.pic"
|
|
|
|
|
BirdKeeperPic:: INCBIN "pic/trainer/birdkeeper.pic"
|
|
|
|
|
BlackbeltPic:: INCBIN "pic/trainer/blackbelt.pic"
|
|
|
|
|
Rival1Pic:: INCBIN "pic/trainer/rival1.pic"
|
|
|
|
|
ProfOakPic:: INCBIN "pic/trainer/prof.oak.pic"
|
|
|
|
|
ChiefPic::
|
|
|
|
|
ScientistPic:: INCBIN "pic/trainer/scientist.pic"
|
|
|
|
|
GiovanniPic:: INCBIN "pic/trainer/giovanni.pic"
|
|
|
|
|
RocketPic:: INCBIN "pic/trainer/rocket.pic"
|
|
|
|
|
CooltrainerMPic:: INCBIN "pic/trainer/cooltrainerm.pic"
|
|
|
|
|
CooltrainerFPic:: INCBIN "pic/trainer/cooltrainerf.pic"
|
|
|
|
|
BrunoPic:: INCBIN "pic/trainer/bruno.pic"
|
|
|
|
|
BrockPic:: INCBIN "pic/trainer/brock.pic"
|
|
|
|
|
MistyPic:: INCBIN "pic/trainer/misty.pic"
|
|
|
|
|
LtSurgePic:: INCBIN "pic/trainer/lt.surge.pic"
|
|
|
|
|
ErikaPic:: INCBIN "pic/trainer/erika.pic"
|
|
|
|
|
KogaPic:: INCBIN "pic/trainer/koga.pic"
|
|
|
|
|
BlainePic:: INCBIN "pic/trainer/blaine.pic"
|
|
|
|
|
SabrinaPic:: INCBIN "pic/trainer/sabrina.pic"
|
|
|
|
|
GentlemanPic:: INCBIN "pic/trainer/gentleman.pic"
|
|
|
|
|
Rival2Pic:: INCBIN "pic/trainer/rival2.pic"
|
|
|
|
|
Rival3Pic:: INCBIN "pic/trainer/rival3.pic"
|
|
|
|
|
LoreleiPic:: INCBIN "pic/trainer/lorelei.pic"
|
|
|
|
|
ChannelerPic:: INCBIN "pic/trainer/channeler.pic"
|
|
|
|
|
AgathaPic:: INCBIN "pic/trainer/agatha.pic"
|
|
|
|
|
LancePic:: INCBIN "pic/trainer/lance.pic"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/battlecenterm.asm"
|
|
|
|
|
INCLUDE "scripts/battlecenterm.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/battlecenterm.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
BattleCenterMBlocks: INCBIN "maps/battlecenterm.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/tradecenterm.asm"
|
|
|
|
|
INCLUDE "scripts/tradecenterm.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/tradecenterm.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
TradeCenterMBlocks: INCBIN "maps/tradecenterm.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/give_pokemon.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/predefs.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank14",ROMX,BANK[$14]
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route22.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route22.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route22Blocks: INCBIN "maps/route22.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route20.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route20.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route20Blocks: INCBIN "maps/route20.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route23.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route23.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route23Blocks: INCBIN "maps/route23.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route24.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route24.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route24Blocks: INCBIN "maps/route24.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/route25.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route25.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route25Blocks: INCBIN "maps/route25.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/indigoplateau.asm"
|
|
|
|
|
INCLUDE "scripts/indigoplateau.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/indigoplateau.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
IndigoPlateauBlocks: INCBIN "maps/indigoplateau.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/saffroncity.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/saffroncity.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SaffronCityBlocks: INCBIN "maps/saffroncity.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "scripts/saffroncity.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "scripts/route20.asm"
|
|
|
|
|
INCLUDE "scripts/route22.asm"
|
|
|
|
|
INCLUDE "scripts/route23.asm"
|
|
|
|
|
INCLUDE "scripts/route24.asm"
|
|
|
|
|
INCLUDE "scripts/route25.asm"
|
2012-01-21 03:49:15 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/victoryroad2.asm"
|
|
|
|
|
INCLUDE "scripts/victoryroad2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/victoryroad2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
VictoryRoad2Blocks: INCBIN "maps/victoryroad2.blk"
|
2012-08-26 17:41:58 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/mtmoon2.asm"
|
|
|
|
|
INCLUDE "scripts/mtmoon2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/mtmoon2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
MtMoon2Blocks: INCBIN "maps/mtmoon2.blk"
|
2013-03-12 02:46:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/silphco7.asm"
|
|
|
|
|
INCLUDE "scripts/silphco7.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/silphco7.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SilphCo7Blocks: INCBIN "maps/silphco7.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/mansion2.asm"
|
|
|
|
|
INCLUDE "scripts/mansion2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/mansion2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Mansion2Blocks: INCBIN "maps/mansion2.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/mansion3.asm"
|
|
|
|
|
INCLUDE "scripts/mansion3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/mansion3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Mansion3Blocks: INCBIN "maps/mansion3.blk"
|
2013-03-12 02:46:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/mansion4.asm"
|
|
|
|
|
INCLUDE "scripts/mansion4.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/mansion4.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Mansion4Blocks: INCBIN "maps/mansion4.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/14.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/card_key.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/menu/prize_menu.asm"
|
2012-01-25 17:01:21 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/hidden_object_functions14.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank15",ROMX,BANK[$15]
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route2Blocks: INCBIN "maps/route2.blk"
|
2013-03-12 02:46:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route3Blocks: INCBIN "maps/route3.blk"
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route4.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route4.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route4Blocks: INCBIN "maps/route4.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route5.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route5.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route5Blocks: INCBIN "maps/route5.blk"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route9.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route9.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route9Blocks: INCBIN "maps/route9.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route13.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route13.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route13Blocks: INCBIN "maps/route13.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route14.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route14.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route14Blocks: INCBIN "maps/route14.blk"
|
2012-01-18 05:39:13 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route17.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route17.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route17Blocks: INCBIN "maps/route17.blk"
|
2012-03-19 05:44:40 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route19.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route19.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route19Blocks: INCBIN "maps/route19.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/route21.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route21.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route21Blocks: INCBIN "maps/route21.blk"
|
2012-01-18 02:37:55 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
VermilionHouse2Blocks:
|
|
|
|
|
Route12HouseBlocks:
|
|
|
|
|
DayCareMBlocks: INCBIN "maps/daycarem.blk"
|
2012-03-19 05:44:40 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
FuchsiaHouse3Blocks: INCBIN "maps/fuchsiahouse3.blk"
|
2012-01-18 02:56:48 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/15.asm"
|
2012-03-19 08:10:24 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "scripts/route2.asm"
|
|
|
|
|
INCLUDE "scripts/route3.asm"
|
|
|
|
|
INCLUDE "scripts/route4.asm"
|
|
|
|
|
INCLUDE "scripts/route5.asm"
|
|
|
|
|
INCLUDE "scripts/route9.asm"
|
|
|
|
|
INCLUDE "scripts/route13.asm"
|
|
|
|
|
INCLUDE "scripts/route14.asm"
|
|
|
|
|
INCLUDE "scripts/route17.asm"
|
|
|
|
|
INCLUDE "scripts/route19.asm"
|
|
|
|
|
INCLUDE "scripts/route21.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/vermilionhouse2.asm"
|
|
|
|
|
INCLUDE "scripts/vermilionhouse2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/vermilionhouse2.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonmart2.asm"
|
|
|
|
|
INCLUDE "scripts/celadonmart2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonmart2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonMart2Blocks: INCBIN "maps/celadonmart2.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/fuchsiahouse3.asm"
|
|
|
|
|
INCLUDE "scripts/fuchsiahouse3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/fuchsiahouse3.asm"
|
2012-02-01 07:43:28 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/daycarem.asm"
|
|
|
|
|
INCLUDE "scripts/daycarem.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/daycarem.asm"
|
2012-02-02 05:47:44 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route12house.asm"
|
|
|
|
|
INCLUDE "scripts/route12house.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route12house.asm"
|
2012-02-02 05:47:44 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/silphco8.asm"
|
|
|
|
|
INCLUDE "scripts/silphco8.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/silphco8.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SilphCo8Blocks: INCBIN "maps/silphco8.blk"
|
2012-02-02 05:47:44 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/menu/diploma.asm"
|
2012-02-02 05:47:44 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/trainers.asm"
|
2012-02-02 05:47:44 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank16",ROMX,BANK[$16]
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route6.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route6.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route6Blocks: INCBIN "maps/route6.blk"
|
2012-02-01 07:43:28 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route8.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route8.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route8Blocks: INCBIN "maps/route8.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route10.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route10.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route10Blocks: INCBIN "maps/route10.blk"
|
2013-12-14 10:01:22 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route11.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route11.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route11Blocks: INCBIN "maps/route11.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route12.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route12.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route12Blocks: INCBIN "maps/route12.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route15.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route15.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route15Blocks: INCBIN "maps/route15.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route16.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route16.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route16Blocks: INCBIN "maps/route16.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route18.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route18.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route18Blocks: INCBIN "maps/route18.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCBIN "maps/unusedblocks58d7d.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/16.asm"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/experience.asm"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/oaks_aide.asm"
|
2013-12-23 02:59:29 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "scripts/route6.asm"
|
|
|
|
|
INCLUDE "scripts/route8.asm"
|
|
|
|
|
INCLUDE "scripts/route10.asm"
|
|
|
|
|
INCLUDE "scripts/route11.asm"
|
|
|
|
|
INCLUDE "scripts/route12.asm"
|
|
|
|
|
INCLUDE "scripts/route15.asm"
|
|
|
|
|
INCLUDE "scripts/route16.asm"
|
|
|
|
|
INCLUDE "scripts/route18.asm"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/fanclub.asm"
|
|
|
|
|
INCLUDE "scripts/fanclub.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/fanclub.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
FanClubBlocks:
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCBIN "maps/fanclub.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/silphco2.asm"
|
|
|
|
|
INCLUDE "scripts/silphco2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/silphco2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SilphCo2Blocks:
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCBIN "maps/silphco2.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/silphco3.asm"
|
|
|
|
|
INCLUDE "scripts/silphco3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/silphco3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SilphCo3Blocks:
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCBIN "maps/silphco3.blk"
|
2014-05-19 12:05:48 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/silphco10.asm"
|
|
|
|
|
INCLUDE "scripts/silphco10.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/silphco10.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SilphCo10Blocks:
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCBIN "maps/silphco10.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/lance.asm"
|
|
|
|
|
INCLUDE "scripts/lance.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/lance.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
LanceBlocks:
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCBIN "maps/lance.blk"
|
2013-12-23 02:59:29 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/halloffameroom.asm"
|
|
|
|
|
INCLUDE "scripts/halloffameroom.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/halloffameroom.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
HallofFameRoomBlocks:
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCBIN "maps/halloffameroom.blk"
|
2013-12-23 02:59:29 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/saffron_guards.asm"
|
2013-12-23 02:59:29 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank17",ROMX,BANK[$17]
|
2013-12-23 02:59:29 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SaffronMartBlocks:
|
|
|
|
|
LavenderMartBlocks:
|
|
|
|
|
CeruleanMartBlocks:
|
|
|
|
|
VermilionMartBlocks: INCBIN "maps/vermilionmart.blk"
|
2013-12-23 02:59:29 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CopycatsHouse2FBlocks:
|
|
|
|
|
RedsHouse2FBlocks: INCBIN "maps/redshouse2f.blk"
|
2013-12-23 02:59:29 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Museum1FBlocks: INCBIN "maps/museum1f.blk"
|
2013-12-23 02:59:29 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Museum2FBlocks: INCBIN "maps/museum2f.blk"
|
2013-12-23 02:59:29 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SaffronPokecenterBlocks:
|
|
|
|
|
VermilionPokecenterBlocks:
|
|
|
|
|
LavenderPokecenterBlocks:
|
|
|
|
|
PewterPokecenterBlocks: INCBIN "maps/pewterpokecenter.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
UndergroundPathEntranceRoute7Blocks:
|
|
|
|
|
UndergroundPathEntranceRoute7CopyBlocks:
|
|
|
|
|
UndergroundPathEntranceRoute6Blocks:
|
|
|
|
|
UndergroundPathEntranceRoute5Blocks: INCBIN "maps/undergroundpathentranceroute5.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Route2GateBlocks:
|
|
|
|
|
ViridianForestEntranceBlocks:
|
|
|
|
|
ViridianForestExitBlocks: INCBIN "maps/viridianforestexit.blk"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/redshouse2f.asm"
|
|
|
|
|
INCLUDE "scripts/redshouse2f.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/redshouse2f.asm"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/predefs17.asm"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/museum1f.asm"
|
|
|
|
|
INCLUDE "scripts/museum1f.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/museum1f.asm"
|
2013-12-23 02:59:29 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/museum2f.asm"
|
|
|
|
|
INCLUDE "scripts/museum2f.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/museum2f.asm"
|
2013-12-23 02:59:29 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/pewtergym.asm"
|
|
|
|
|
INCLUDE "scripts/pewtergym.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pewtergym.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
PewterGymBlocks: INCBIN "maps/pewtergym.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/pewterpokecenter.asm"
|
|
|
|
|
INCLUDE "scripts/pewterpokecenter.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pewterpokecenter.asm"
|
2012-03-08 03:43:13 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ceruleanpokecenter.asm"
|
|
|
|
|
INCLUDE "scripts/ceruleanpokecenter.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ceruleanpokecenter.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeruleanPokecenterBlocks: INCBIN "maps/ceruleanpokecenter.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ceruleangym.asm"
|
|
|
|
|
INCLUDE "scripts/ceruleangym.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ceruleangym.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeruleanGymBlocks: INCBIN "maps/ceruleangym.blk"
|
2013-03-12 00:52:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ceruleanmart.asm"
|
|
|
|
|
INCLUDE "scripts/ceruleanmart.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ceruleanmart.asm"
|
2013-12-24 17:34:21 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/lavenderpokecenter.asm"
|
|
|
|
|
INCLUDE "scripts/lavenderpokecenter.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/lavenderpokecenter.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/lavendermart.asm"
|
|
|
|
|
INCLUDE "scripts/lavendermart.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/lavendermart.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/vermilionpokecenter.asm"
|
|
|
|
|
INCLUDE "scripts/vermilionpokecenter.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/vermilionpokecenter.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/vermilionmart.asm"
|
|
|
|
|
INCLUDE "scripts/vermilionmart.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/vermilionmart.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/vermiliongym.asm"
|
|
|
|
|
INCLUDE "scripts/vermiliongym.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/vermiliongym.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
VermilionGymBlocks: INCBIN "maps/vermiliongym.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/copycatshouse2f.asm"
|
|
|
|
|
INCLUDE "scripts/copycatshouse2f.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/copycatshouse2f.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/fightingdojo.asm"
|
|
|
|
|
INCLUDE "scripts/fightingdojo.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/fightingdojo.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
FightingDojoBlocks: INCBIN "maps/fightingdojo.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/saffrongym.asm"
|
|
|
|
|
INCLUDE "scripts/saffrongym.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/saffrongym.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SaffronGymBlocks: INCBIN "maps/saffrongym.blk"
|
2013-03-12 02:46:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/saffronmart.asm"
|
|
|
|
|
INCLUDE "scripts/saffronmart.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/saffronmart.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/silphco1.asm"
|
|
|
|
|
INCLUDE "scripts/silphco1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/silphco1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SilphCo1Blocks: INCBIN "maps/silphco1.blk"
|
2012-01-25 17:01:21 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/saffronpokecenter.asm"
|
|
|
|
|
INCLUDE "scripts/saffronpokecenter.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/saffronpokecenter.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/viridianforestexit.asm"
|
|
|
|
|
INCLUDE "scripts/viridianforestexit.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/viridianforestexit.asm"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/route2gate.asm"
|
|
|
|
|
INCLUDE "scripts/route2gate.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/route2gate.asm"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/viridianforestentrance.asm"
|
|
|
|
|
INCLUDE "scripts/viridianforestentrance.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/viridianforestentrance.asm"
|
2014-05-18 18:19:10 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/undergroundpathentranceroute5.asm"
|
|
|
|
|
INCLUDE "scripts/undergroundpathentranceroute5.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/undergroundpathentranceroute5.asm"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/undergroundpathentranceroute6.asm"
|
|
|
|
|
INCLUDE "scripts/undergroundpathentranceroute6.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/undergroundpathentranceroute6.asm"
|
2012-01-18 05:39:13 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/undergroundpathentranceroute7.asm"
|
|
|
|
|
INCLUDE "scripts/undergroundpathentranceroute7.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/undergroundpathentranceroute7.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/undergroundpathentranceroute7copy.asm"
|
|
|
|
|
INCLUDE "scripts/undergroundpathentranceroute7copy.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/undergroundpathentranceroute7copy.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/silphco9.asm"
|
|
|
|
|
INCLUDE "scripts/silphco9.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/silphco9.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SilphCo9Blocks: INCBIN "maps/silphco9.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/victoryroad1.asm"
|
|
|
|
|
INCLUDE "scripts/victoryroad1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/victoryroad1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
VictoryRoad1Blocks: INCBIN "maps/victoryroad1.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/predefs17_2.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/hidden_object_functions17.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SECTION "bank18",ROMX,BANK[$18]
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
ViridianForestBlocks: INCBIN "maps/viridianforest.blk"
|
|
|
|
|
UndergroundPathNSBlocks: INCBIN "maps/undergroundpathns.blk"
|
|
|
|
|
UndergroundPathWEBlocks: INCBIN "maps/undergroundpathwe.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCBIN "maps/unusedblocks60258.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SSAnne10Blocks:
|
|
|
|
|
SSAnne9Blocks: INCBIN "maps/ssanne9.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/pokemontower1.asm"
|
|
|
|
|
INCLUDE "scripts/pokemontower1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pokemontower1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
PokemonTower1Blocks: INCBIN "maps/pokemontower1.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/pokemontower2.asm"
|
|
|
|
|
INCLUDE "scripts/pokemontower2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pokemontower2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
PokemonTower2Blocks: INCBIN "maps/pokemontower2.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/pokemontower3.asm"
|
|
|
|
|
INCLUDE "scripts/pokemontower3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pokemontower3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
PokemonTower3Blocks: INCBIN "maps/pokemontower3.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/pokemontower4.asm"
|
|
|
|
|
INCLUDE "scripts/pokemontower4.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pokemontower4.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
PokemonTower4Blocks: INCBIN "maps/pokemontower4.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/pokemontower5.asm"
|
|
|
|
|
INCLUDE "scripts/pokemontower5.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pokemontower5.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
PokemonTower5Blocks: INCBIN "maps/pokemontower5.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/pokemontower6.asm"
|
|
|
|
|
INCLUDE "scripts/pokemontower6.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pokemontower6.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
PokemonTower6Blocks: INCBIN "maps/pokemontower6.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
INCBIN "maps/unusedblocks60cef.blk"
|
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/pokemontower7.asm"
|
|
|
|
|
INCLUDE "scripts/pokemontower7.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pokemontower7.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
PokemonTower7Blocks: INCBIN "maps/pokemontower7.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/celadonmart1.asm"
|
|
|
|
|
INCLUDE "scripts/celadonmart1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/celadonmart1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeladonMart1Blocks: INCBIN "maps/celadonmart1.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/cinnabar_lab.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/viridianforest.asm"
|
|
|
|
|
INCLUDE "scripts/viridianforest.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/viridianforest.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ssanne1.asm"
|
|
|
|
|
INCLUDE "scripts/ssanne1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ssanne1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SSAnne1Blocks: INCBIN "maps/ssanne1.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ssanne2.asm"
|
|
|
|
|
INCLUDE "scripts/ssanne2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ssanne2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SSAnne2Blocks: INCBIN "maps/ssanne2.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ssanne4.asm"
|
|
|
|
|
INCLUDE "scripts/ssanne4.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ssanne4.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SSAnne4Blocks: INCBIN "maps/ssanne4.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ssanne5.asm"
|
|
|
|
|
INCLUDE "scripts/ssanne5.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ssanne5.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SSAnne5Blocks: INCBIN "maps/ssanne5.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ssanne6.asm"
|
|
|
|
|
INCLUDE "scripts/ssanne6.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ssanne6.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SSAnne6Blocks: INCBIN "maps/ssanne6.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ssanne7.asm"
|
|
|
|
|
INCLUDE "scripts/ssanne7.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ssanne7.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SSAnne7Blocks: INCBIN "maps/ssanne7.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ssanne8.asm"
|
|
|
|
|
INCLUDE "scripts/ssanne8.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ssanne8.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SSAnne8Blocks: INCBIN "maps/ssanne8.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ssanne9.asm"
|
|
|
|
|
INCLUDE "scripts/ssanne9.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ssanne9.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ssanne10.asm"
|
|
|
|
|
INCLUDE "scripts/ssanne10.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ssanne10.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/undergroundpathns.asm"
|
|
|
|
|
INCLUDE "scripts/undergroundpathns.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/undergroundpathns.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/undergroundpathwe.asm"
|
|
|
|
|
INCLUDE "scripts/undergroundpathwe.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/undergroundpathwe.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/diglettscave.asm"
|
|
|
|
|
INCLUDE "scripts/diglettscave.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/diglettscave.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
DiglettsCaveBlocks: INCBIN "maps/diglettscave.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/silphco11.asm"
|
|
|
|
|
INCLUDE "scripts/silphco11.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/silphco11.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SilphCo11Blocks: INCBIN "maps/silphco11.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/hidden_object_functions18.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank19",ROMX,BANK[$19]
|
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Overworld_GFX: INCBIN "gfx/tilesets/overworld.w128.t2.2bpp"
|
|
|
|
|
Overworld_Block: INCBIN "gfx/blocksets/overworld.bst"
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
RedsHouse1_GFX:
|
2014-05-25 02:57:50 +00:00
|
|
|
|
RedsHouse2_GFX: INCBIN "gfx/tilesets/reds_house.w128.t7.2bpp"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
RedsHouse1_Block:
|
2014-05-25 02:57:50 +00:00
|
|
|
|
RedsHouse2_Block: INCBIN "gfx/blocksets/reds_house.bst"
|
|
|
|
|
|
|
|
|
|
House_GFX: INCBIN "gfx/tilesets/house.w128.t2.2bpp"
|
|
|
|
|
House_Block: INCBIN "gfx/blocksets/house.bst"
|
|
|
|
|
Mansion_GFX: INCBIN "gfx/tilesets/mansion.w128.t2.2bpp"
|
|
|
|
|
Mansion_Block: INCBIN "gfx/blocksets/mansion.bst"
|
|
|
|
|
ShipPort_GFX: INCBIN "gfx/tilesets/ship_port.w128.t2.2bpp"
|
|
|
|
|
ShipPort_Block: INCBIN "gfx/blocksets/ship_port.bst"
|
|
|
|
|
Interior_GFX: INCBIN "gfx/tilesets/interior.w128.t1.2bpp"
|
|
|
|
|
Interior_Block: INCBIN "gfx/blocksets/interior.bst"
|
|
|
|
|
Plateau_GFX: INCBIN "gfx/tilesets/plateau.w128.t10.2bpp"
|
|
|
|
|
Plateau_Block: INCBIN "gfx/blocksets/plateau.bst"
|
|
|
|
|
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank1A",ROMX,BANK[$1A]
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/battle/1a.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Version_GFX:
|
2014-05-22 22:13:20 +00:00
|
|
|
|
IF _RED
|
2014-05-25 02:57:50 +00:00
|
|
|
|
INCBIN "gfx/red/redgreenversion.h8.1bpp" ; 10 tiles
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ENDC
|
|
|
|
|
IF _BLUE
|
2014-05-25 02:57:50 +00:00
|
|
|
|
INCBIN "gfx/blue/blueversion.h8.1bpp" ; 8 tiles
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ENDC
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Dojo_GFX:
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Gym_GFX: INCBIN "gfx/tilesets/gym.w128.2bpp"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Dojo_Block:
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Gym_Block: INCBIN "gfx/blocksets/gym.bst"
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Mart_GFX:
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Pokecenter_GFX: INCBIN "gfx/tilesets/pokecenter.w128.2bpp"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
Mart_Block:
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Pokecenter_Block: INCBIN "gfx/blocksets/pokecenter.bst"
|
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ForestGate_GFX:
|
|
|
|
|
Museum_GFX:
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Gate_GFX: INCBIN "gfx/tilesets/gate.w128.t1.2bpp"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
ForestGate_Block:
|
|
|
|
|
Museum_Block:
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Gate_Block: INCBIN "gfx/blocksets/gate.bst"
|
|
|
|
|
|
|
|
|
|
Forest_GFX: INCBIN "gfx/tilesets/forest.w128.2bpp"
|
|
|
|
|
Forest_Block: INCBIN "gfx/blocksets/forest.bst"
|
|
|
|
|
Facility_GFX: INCBIN "gfx/tilesets/facility.w128.2bpp"
|
|
|
|
|
Facility_Block: INCBIN "gfx/blocksets/facility.bst"
|
|
|
|
|
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank1B",ROMX,BANK[$1B]
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Cemetery_GFX: INCBIN "gfx/tilesets/cemetery.w128.t4.2bpp"
|
|
|
|
|
Cemetery_Block: INCBIN "gfx/blocksets/cemetery.bst"
|
|
|
|
|
Cavern_GFX: INCBIN "gfx/tilesets/cavern.w128.t14.2bpp"
|
|
|
|
|
Cavern_Block: INCBIN "gfx/blocksets/cavern.bst"
|
|
|
|
|
Lobby_GFX: INCBIN "gfx/tilesets/lobby.w128.t2.2bpp"
|
|
|
|
|
Lobby_Block: INCBIN "gfx/blocksets/lobby.bst"
|
|
|
|
|
Ship_GFX: INCBIN "gfx/tilesets/ship.w128.t6.2bpp"
|
|
|
|
|
Ship_Block: INCBIN "gfx/blocksets/ship.bst"
|
|
|
|
|
Lab_GFX: INCBIN "gfx/tilesets/lab.w128.t4.2bpp"
|
|
|
|
|
Lab_Block: INCBIN "gfx/blocksets/lab.bst"
|
|
|
|
|
Club_GFX: INCBIN "gfx/tilesets/club.w128.t5.2bpp"
|
|
|
|
|
Club_Block: INCBIN "gfx/blocksets/club.bst"
|
|
|
|
|
Underground_GFX: INCBIN "gfx/tilesets/underground.w128.t7.2bpp"
|
|
|
|
|
Underground_Block: INCBIN "gfx/blocksets/underground.bst"
|
|
|
|
|
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank1C",ROMX,BANK[$1C]
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/gamefreak.asm"
|
|
|
|
|
INCLUDE "engine/hall_of_fame.asm"
|
|
|
|
|
INCLUDE "engine/overworld/healing_machine.asm"
|
|
|
|
|
INCLUDE "engine/overworld/player_animations.asm"
|
|
|
|
|
INCLUDE "engine/battle/1c.asm"
|
|
|
|
|
INCLUDE "engine/town_map.asm"
|
|
|
|
|
INCLUDE "engine/mon_party_sprites.asm"
|
|
|
|
|
INCLUDE "engine/in_game_trades.asm"
|
|
|
|
|
INCLUDE "engine/palettes.asm"
|
|
|
|
|
INCLUDE "engine/save.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank1D",ROMX,BANK[$1D]
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CopycatsHouse1FBlocks: INCBIN "maps/copycatshouse1f.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CinnabarMartBlocks:
|
|
|
|
|
PewterMartBlocks: INCBIN "maps/pewtermart.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
FuchsiaHouse1Blocks: INCBIN "maps/fuchsiahouse1.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CinnabarPokecenterBlocks:
|
|
|
|
|
FuchsiaPokecenterBlocks: INCBIN "maps/fuchsiapokecenter.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CeruleanHouse2Blocks: INCBIN "maps/ceruleanhouse2.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/HoF_room_pc.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/status_ailments.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/items/itemfinder.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "scripts/ceruleancity2.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/viridiangym.asm"
|
|
|
|
|
INCLUDE "scripts/viridiangym.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/viridiangym.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
ViridianGymBlocks: INCBIN "maps/viridiangym.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/pewtermart.asm"
|
|
|
|
|
INCLUDE "scripts/pewtermart.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/pewtermart.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/unknowndungeon1.asm"
|
|
|
|
|
INCLUDE "scripts/unknowndungeon1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/unknowndungeon1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
UnknownDungeon1Blocks: INCBIN "maps/unknowndungeon1.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/ceruleanhouse2.asm"
|
|
|
|
|
INCLUDE "scripts/ceruleanhouse2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/ceruleanhouse2.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/menu/vending_machine.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/fuchsiahouse1.asm"
|
|
|
|
|
INCLUDE "scripts/fuchsiahouse1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/fuchsiahouse1.asm"
|
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/fuchsiapokecenter.asm"
|
|
|
|
|
INCLUDE "scripts/fuchsiapokecenter.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/fuchsiapokecenter.asm"
|
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/fuchsiahouse2.asm"
|
|
|
|
|
INCLUDE "scripts/fuchsiahouse2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/fuchsiahouse2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
FuchsiaHouse2Blocks: INCBIN "maps/fuchsiahouse2.blk"
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/safarizoneentrance.asm"
|
|
|
|
|
INCLUDE "scripts/safarizoneentrance.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/safarizoneentrance.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
SafariZoneEntranceBlocks: INCBIN "maps/safarizoneentrance.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/fuchsiagym.asm"
|
|
|
|
|
INCLUDE "scripts/fuchsiagym.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/fuchsiagym.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
FuchsiaGymBlocks: INCBIN "maps/fuchsiagym.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/fuchsiameetingroom.asm"
|
|
|
|
|
INCLUDE "scripts/fuchsiameetingroom.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/fuchsiameetingroom.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
FuchsiaMeetingRoomBlocks: INCBIN "maps/fuchsiameetingroom.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/cinnabargym.asm"
|
|
|
|
|
INCLUDE "scripts/cinnabargym.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/cinnabargym.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
CinnabarGymBlocks: INCBIN "maps/cinnabargym.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/lab1.asm"
|
|
|
|
|
INCLUDE "scripts/lab1.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/lab1.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Lab1Blocks: INCBIN "maps/lab1.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/lab2.asm"
|
|
|
|
|
INCLUDE "scripts/lab2.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/lab2.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Lab2Blocks: INCBIN "maps/lab2.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/lab3.asm"
|
|
|
|
|
INCLUDE "scripts/lab3.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/lab3.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Lab3Blocks: INCBIN "maps/lab3.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/lab4.asm"
|
|
|
|
|
INCLUDE "scripts/lab4.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/lab4.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
Lab4Blocks: INCBIN "maps/lab4.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/cinnabarpokecenter.asm"
|
|
|
|
|
INCLUDE "scripts/cinnabarpokecenter.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/cinnabarpokecenter.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/cinnabarmart.asm"
|
|
|
|
|
INCLUDE "scripts/cinnabarmart.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/cinnabarmart.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/copycatshouse1f.asm"
|
|
|
|
|
INCLUDE "scripts/copycatshouse1f.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/copycatshouse1f.asm"
|
|
|
|
|
|
|
|
|
|
INCLUDE "data/mapHeaders/gary.asm"
|
|
|
|
|
INCLUDE "scripts/gary.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/gary.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
GaryBlocks: INCBIN "maps/gary.blk"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/lorelei.asm"
|
|
|
|
|
INCLUDE "scripts/lorelei.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/lorelei.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
LoreleiBlocks: INCBIN "maps/lorelei.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/bruno.asm"
|
|
|
|
|
INCLUDE "scripts/bruno.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/bruno.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
BrunoBlocks: INCBIN "maps/bruno.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "data/mapHeaders/agatha.asm"
|
|
|
|
|
INCLUDE "scripts/agatha.asm"
|
|
|
|
|
INCLUDE "data/mapObjects/agatha.asm"
|
2014-05-25 02:57:50 +00:00
|
|
|
|
AgathaBlocks: INCBIN "maps/agatha.blk"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/menu/league_pc.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/hidden_items.asm"
|
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
SECTION "bank1E",ROMX,BANK[$1E]
|
|
|
|
|
|
|
|
|
|
INCLUDE "engine/battle/animations.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/cut2.asm"
|
|
|
|
|
|
|
|
|
|
INCLUDE "engine/overworld/ssanne.asm"
|
2013-12-19 13:53:17 +00:00
|
|
|
|
|
2014-05-25 02:57:50 +00:00
|
|
|
|
RedFishingTilesFront: INCBIN "gfx/red_fishing_tile_front.2bpp"
|
|
|
|
|
RedFishingTilesBack: INCBIN "gfx/red_fishing_tile_back.2bpp"
|
|
|
|
|
RedFishingTilesSide: INCBIN "gfx/red_fishing_tile_side.2bpp"
|
|
|
|
|
RedFishingRodTiles: INCBIN "gfx/red_fishingrod_tiles.2bpp"
|
2012-01-14 20:36:00 +00:00
|
|
|
|
|
2014-05-19 12:05:48 +00:00
|
|
|
|
INCLUDE "data/animations.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/evolution.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/overworld/elevator.asm"
|
2012-01-17 23:24:32 +00:00
|
|
|
|
|
2014-05-22 22:13:20 +00:00
|
|
|
|
INCLUDE "engine/items/tm_prices.asm"
|