summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore6
-rw-r--r--constants/pokemon_constants.asm45
-rwxr-xr-xengine/anim_hp_bar.asm12
-rw-r--r--engine/billspctop.asm6
-rwxr-xr-xengine/color.asm6
-rwxr-xr-xengine/events/happiness_egg.asm6
-rwxr-xr-xengine/events/overworld.asm12
-rwxr-xr-xengine/health.asm6
-rwxr-xr-xengine/items.asm38
-rw-r--r--engine/learn.asm6
-rwxr-xr-xengine/main_menu.asm30
-rwxr-xr-xengine/move_mon.asm158
-rw-r--r--engine/namingscreen.asm4
-rwxr-xr-xengine/overworld/player_step.asm4
-rwxr-xr-xengine/pack.asm28
-rwxr-xr-xengine/specials.asm16
-rw-r--r--home.asm8
-rw-r--r--home/map.asm50
-rwxr-xr-xitems/item_effects.asm66
-rwxr-xr-xmacros/wram.asm3
-rw-r--r--main.asm2
-rwxr-xr-xpredef/cgb.asm10
-rwxr-xr-xpredef/sgb.asm8
-rw-r--r--wram.asm693
24 files changed, 512 insertions, 711 deletions
diff --git a/.gitignore b/.gitignore
index 93af6bb7..5843a8f1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,8 +23,10 @@
*.sym
# compare.sh
-baserom.txt
-pokecrystal.txt
+baserom-gold.txt
+baserom-silver.txt
+pokegold.txt
+pokesilver.txt
# for vim configuration
# url: http://www.vim.org/scripts/script.php?script_id=441
diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm
index 122fe27d..cbc12702 100644
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
@@ -252,12 +252,47 @@ const_value set 1
const LUGIA
const HO_OH
const CELEBI
+NUM_POKEMON EQU const_value + -1
+ const MON_FC
+ const EGG
+ const MON_FE
-const_value SET const_value + -1
-
-NUM_POKEMON EQU const_value
-
-EGG EQU 253 ; $FD
+; Unown forms
+; indexes for:
+; - UnownWords (see data/pokemon/unown_words.asm)
+; - UnownPicPointers (see data/pokemon/unown_pic_pointers.asm)
+; - UnownAnimationPointers (see gfx/pokemon/unown_anim_pointers.asm)
+; - UnownAnimationIdlePointers (see gfx/pokemon/unown_idle_pointers.asm)
+; - UnownBitmasksPointers (see gfx/pokemon/unown_bitmask_pointers.asm)
+; - UnownFramesPointers (see gfx/pokemon/unown_frame_pointers.asm)
+ const_def 1
+ const UNOWN_A ; 1
+ const UNOWN_B ; 2
+ const UNOWN_C ; 3
+ const UNOWN_D ; 4
+ const UNOWN_E ; 5
+ const UNOWN_F ; 6
+ const UNOWN_G ; 7
+ const UNOWN_H ; 8
+ const UNOWN_I ; 9
+ const UNOWN_J ; 10
+ const UNOWN_K ; 11
+ const UNOWN_L ; 12
+ const UNOWN_M ; 13
+ const UNOWN_N ; 14
+ const UNOWN_O ; 15
+ const UNOWN_P ; 16
+ const UNOWN_Q ; 17
+ const UNOWN_R ; 18
+ const UNOWN_S ; 19
+ const UNOWN_T ; 20
+ const UNOWN_U ; 21
+ const UNOWN_V ; 22
+ const UNOWN_W ; 23
+ const UNOWN_X ; 24
+ const UNOWN_Y ; 25
+ const UNOWN_Z ; 26
+NUM_UNOWN EQU const_value + -1 ; 26
; pokemon structure in RAM
MON_SPECIES EQUS "(wPartyMon1Species - wPartyMon1)"
diff --git a/engine/anim_hp_bar.asm b/engine/anim_hp_bar.asm
index c599a942..29afa8ed 100755
--- a/engine/anim_hp_bar.asm
+++ b/engine/anim_hp_bar.asm
@@ -199,7 +199,7 @@ Functiond6fb: ; d6fb (3:56fb)
Functiond736: ; d736 (3:5736)
call Functiond78a
ld d, $6
- ld a, [wd007]
+ ld a, [wWhichHPBar]
and $1
ld b, a
ld a, [wCurHPBarPixels]
@@ -224,7 +224,7 @@ Functiond74f: ; d74f (3:574f)
call ComputeHPBarPixels
ld c, e
ld d, $6
- ld a, [wd007]
+ ld a, [wWhichHPBar]
and $1
ld b, a
push de
@@ -234,7 +234,7 @@ Functiond74f: ; d74f (3:574f)
ret
Functiond777: ; d777 (3:5777)
- ld a, [wd007]
+ ld a, [wWhichHPBar]
cp $2
jr nz, .asm_d786
ld a, $28
@@ -248,7 +248,7 @@ Functiond777: ; d777 (3:5777)
ret
Functiond78a: ; d78a (3:578a)
- ld a, [wd007]
+ ld a, [wWhichHPBar]
and a
ret z
cp $1
@@ -298,12 +298,12 @@ Functiond7cf: ; d7cf (3:57cf)
ret
.asm_d7db
- ld a, [wd007]
+ ld a, [wWhichHPBar]
and a
jr z, .asm_d82f
cp $1
jr z, .asm_d833
- ld a, [wd005]
+ ld a, [wCurPartyMon]
cp $3
jr nc, .asm_d7f0
ld c, $0
diff --git a/engine/billspctop.asm b/engine/billspctop.asm
index ccf50310..c3fe6322 100644
--- a/engine/billspctop.asm
+++ b/engine/billspctop.asm
@@ -169,7 +169,7 @@ CheckCurPartyMonFainted: ; e513 (3:6513)
ld de, $30
ld b, $0
.asm_e51b
- ld a, [wd005]
+ ld a, [wCurPartyMon]
cp b
jr z, .asm_e526
ld a, [hli]
@@ -244,7 +244,7 @@ Functione566: ; e566 (3:6566)
ret
CopyBoxmonToTempMon
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld hl, sBoxMon1Species
ld bc, $20
call AddNTimes
@@ -257,7 +257,7 @@ CopyBoxmonToTempMon
ret
Function65b4:
- ld a, [wd8bc]
+ ld a, [wCurBox]
cp b
jr z, .asm_e5cc
ld a, b
diff --git a/engine/color.asm b/engine/color.asm
index b379cdc1..057c48a4 100755
--- a/engine/color.asm
+++ b/engine/color.asm
@@ -252,7 +252,7 @@ ApplyMonOrTrainerPals: ; 91e5 (2:51e5)
ld a, e
and a
jr z, .asm_91f5
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
call Function9be4
jr .asm_91fb
@@ -268,7 +268,7 @@ ApplyMonOrTrainerPals: ; 91e5 (2:51e5)
ret
ApplyHPBarPals:
- ld a, [wd007]
+ ld a, [wWhichHPBar]
and a
jr z, .asm_921a
cp $1
@@ -301,7 +301,7 @@ ApplyHPBarPals:
inc e
hlcoord 11, 1, wAttrMap
ld bc, 2 * SCREEN_WIDTH
- ld a, [wd005]
+ ld a, [wCurPartyMon]
.asm_9241
and a
jr z, .asm_9248
diff --git a/engine/events/happiness_egg.asm b/engine/events/happiness_egg.asm
index fe0710fc..70fca685 100755
--- a/engine/events/happiness_egg.asm
+++ b/engine/events/happiness_egg.asm
@@ -30,7 +30,7 @@ CheckFirstMonIsEgg:
jp CopyPokemonName_Buffer1_Buffer3
ChangeHappiness: ; 72a1 (1:72a1)
- ld a, [wd005]
+ ld a, [wCurPartyMon]
inc a
ld e, a
ld d, $0
@@ -42,7 +42,7 @@ ChangeHappiness: ; 72a1 (1:72a1)
push bc
ld hl, wPartyMon1Happiness
ld bc, $30
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call AddNTimes
pop bc
ld d, h
@@ -84,7 +84,7 @@ ChangeHappiness: ; 72a1 (1:72a1)
ld a, [wBattleMode]
and a
ret z
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld b, a
ld a, [wPartyMenuCursor]
cp b
diff --git a/engine/events/overworld.asm b/engine/events/overworld.asm
index fc9a1102..68f7dcc3 100755
--- a/engine/events/overworld.asm
+++ b/engine/events/overworld.asm
@@ -23,7 +23,7 @@ FieldMoveGetPartyNick: ; c74b (3:474b)
ld hl, wPartyMon1Nickname
ld a, $2
ld [wMonType], a
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call GetNick
call Function317b
ld de, wStringBuffer2
@@ -59,7 +59,7 @@ FieldMoveBadgeCheck: ; c776 (3:4776)
FieldMovePartyCheck: ; c787 (3:4787)
ld e, $0
xor a
- ld [wd005], a
+ ld [wCurPartyMon], a
.asm_c78d
ld c, e
ld b, $0
@@ -89,7 +89,7 @@ FieldMovePartyCheck: ; c787 (3:4787)
.asm_c7b6
ld a, e
- ld [wd005], a
+ ld [wCurPartyMon], a
xor a
ret
@@ -434,7 +434,7 @@ AlreadySurfingText:
db "@"
GetSurfType: ; c9d7 (3:49d7)
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld e, a
ld d, $0
ld hl, wPartySpecies
@@ -760,7 +760,7 @@ TryEscapeFromDungeon:
EscapeFromDungeon:
ld hl, wDigWarpNumber
- ld de, wLastWarpNumber
+ ld de, wNextWarpNumber
ld bc, $3
call CopyBytes
call FieldMoveGetPartyNick
@@ -952,7 +952,7 @@ asm_cd0c
GetStrengthUserSpeciesAndSetFlag:
SetFlag ENGINE_STRENGTH_ACTIVE
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld e, a
ld d, $0
ld hl, wPartySpecies
diff --git a/engine/health.asm b/engine/health.asm
index 2ef116e6..83fea353 100755
--- a/engine/health.asm
+++ b/engine/health.asm
@@ -1,6 +1,6 @@
HealParty: ; c69d (3:469d)
xor a
- ld [wd005], a
+ ld [wCurPartyMon], a
ld hl, wPartySpecies
.asm_c6a4
ld a, [hli]
@@ -12,9 +12,9 @@ HealParty: ; c69d (3:469d)
call Functionc6bc
pop hl
.asm_c6b2
- ld a, [wd005]
+ ld a, [wCurPartyMon]
inc a
- ld [wd005], a
+ ld [wCurPartyMon], a
jr .asm_c6a4
.asm_c6bb
diff --git a/engine/items.asm b/engine/items.asm
index 387f4ba2..7d69c933 100755
--- a/engine/items.asm
+++ b/engine/items.asm
@@ -4,7 +4,7 @@ ReceiveItem_:: ; d1e2 (3:51e2)
push hl
call CheckItemPocket
pop de
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
dec a
ld hl, .Jumptable
rst JumpTable
@@ -44,7 +44,7 @@ TossItem_:: ; d21a (3:521a)
push hl
call CheckItemPocket
pop de
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
dec a
ld hl, .Jumptable ; $522d
rst JumpTable
@@ -85,7 +85,7 @@ CheckItem_:: ; d251 (3:5251)
push hl
call CheckItemPocket
pop de
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
dec a
ld hl, .Jumptable
rst JumpTable
@@ -165,7 +165,7 @@ PutItemInPocketOrPC: ; d2a9 (3:52a9)
sub [hl]
add b
ld b, a
- ld a, [wd009]
+ ld a, [wItemQuantityChangeBuffer]
cp b
jr z, .asm_d2d3
jr c, .asm_d2d3
@@ -186,8 +186,8 @@ PutItemInPocketOrPC: ; d2a9 (3:52a9)
ld l, e
ld a, [wd002]
ld c, a
- ld a, [wd009]
- ld [wd00a], a
+ ld a, [wItemQuantityChangeBuffer]
+ ld [wItemQuantityBuffer], a
.asm_d2df
inc hl
ld a, [hli]
@@ -195,7 +195,7 @@ PutItemInPocketOrPC: ; d2a9 (3:52a9)
jr z, .asm_d2fc
cp c
jr nz, .asm_d2df
- ld a, [wd00a]
+ ld a, [wItemQuantityBuffer]
add [hl]
cp $64
jr nc, .asm_d2f3
@@ -205,14 +205,14 @@ PutItemInPocketOrPC: ; d2a9 (3:52a9)
.asm_d2f3
ld [hl], $63
sub $63
- ld [wd00a], a
+ ld [wItemQuantityBuffer], a
jr .asm_d2df
.asm_d2fc
dec hl
ld a, [wd002]
ld [hli], a
- ld a, [wd00a]
+ ld a, [wItemQuantityBuffer]
ld [hli], a
ld [hl], $ff
ld h, d
@@ -254,13 +254,13 @@ RemoveItemAndQuantity: ; d30c (3:530c)
jr .asm_d329
.asm_d334
- ld a, [wd009]
+ ld a, [wItemQuantityChangeBuffer]
ld b, a
ld a, [hl]
sub b
jr c, .asm_d354
ld [hl], a
- ld [wd00a], a
+ ld [wItemQuantityBuffer], a
and a
jr nz, .asm_d352
dec hl
@@ -394,7 +394,7 @@ PutItemInTMPocket: ; d3d1 (3:53d1)
ld b, $0
ld hl, wTMsHMs
add hl, bc
- ld a, [wd009]
+ ld a, [wItemQuantityChangeBuffer]
add [hl]
cp $64
jr nc, .asm_d3e3
@@ -411,13 +411,13 @@ RemoveTMorHM: ; d3e5 (3:53e5)
ld b, $0
ld hl, wTMsHMs
add hl, bc
- ld a, [wd009]
+ ld a, [wItemQuantityChangeBuffer]
ld b, a
ld a, [hl]
sub b
jr c, .asm_d406
ld [hl], a
- ld [wd00a], a
+ ld [wItemQuantityBuffer], a
jr nz, .asm_d404
ld a, [wcfd2]
and a
@@ -493,14 +493,14 @@ CheckItemPocket: ; d44a (3:544a)
ld a, $5
call GetItemAttr
and $f
- ld [wd03f], a
+ ld [wItemAttributeParamBuffer], a
ret
CheckItemContext:
ld a, $6
call GetItemAttr
and $f
- ld [wd03f], a
+ ld [wItemAttributeParamBuffer], a
ret
CheckItemMenu:
@@ -508,7 +508,7 @@ CheckItemMenu:
call GetItemAttr
swap a
and $f
- ld [wd03f], a
+ ld [wItemAttributeParamBuffer], a
ret
GetItemAttr: ; d46d (3:546d)
@@ -519,7 +519,7 @@ GetItemAttr: ; d46d (3:546d)
ld b, $0
add hl, bc
xor a
- ld [wd03f], a
+ ld [wItemAttributeParamBuffer], a
ld a, [wd002]
dec a
ld c, a
@@ -533,7 +533,7 @@ GetItemAttr: ; d46d (3:546d)
ItemAttr_ReturnCarry
ld a, $1
- ld [wd03f], a
+ ld [wItemAttributeParamBuffer], a
scf
ret
diff --git a/engine/learn.asm b/engine/learn.asm
index feb02ff1..f6e06572 100644
--- a/engine/learn.asm
+++ b/engine/learn.asm
@@ -1,6 +1,6 @@
LearnMove:
call BackUpTilesToBuffer
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld hl, wPartyMon1Nickname
call GetNick
ld hl, wStringBuffer1
@@ -10,7 +10,7 @@ LearnMove:
.loop
ld hl, wPartyMon1Moves
ld bc, $30
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call AddNTimes
ld d, h
ld e, l
@@ -64,7 +64,7 @@ LearnMove:
ld a, [wBattleMode]
and a
jp z, .LearnedMove
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld b, a
ld a, [wCurBattleMon]
cp b
diff --git a/engine/main_menu.asm b/engine/main_menu.asm
index 40acea32..9a829be9 100755
--- a/engine/main_menu.asm
+++ b/engine/main_menu.asm
@@ -85,7 +85,7 @@ Function5ae4: ; 5ae4 (1:5ae4)
nop
nop
nop
- ld a, [wd19a]
+ ld a, [wSaveFileExists]
and a
jr nz, .asm_5af0
ld a, $0
@@ -128,7 +128,7 @@ Function5b0a: ; 5b0a (1:5b0a)
ret
Function5b27: ; 5b27 (1:5b27)
- ld a, [wd19a]
+ ld a, [wSaveFileExists]
and a
ret z
xor a
@@ -160,7 +160,7 @@ Function5b45: ; 5b45 (1:5b45)
ret
Function5b5b: ; 5b5b (1:5b5b)
- ld a, [wd19a]
+ ld a, [wSaveFileExists]
and a
ret z
call CheckRTCStatus
@@ -292,7 +292,7 @@ Function5c41: ; 5c41 (1:5c41)
call Function5d15
xor a
- ld [wd8bc], a
+ ld [wCurBox], a
ld [wSavedAtLeastOnce], a
call Function5d1a
@@ -313,16 +313,16 @@ Function5c41: ; 5c41 (1:5c41)
call Function5d15
xor a
- ld [wdd1a], a
- ld [wdd21], a
- ld [wdd28], a
+ ld [wRoamMon1Species], a
+ ld [wRoamMon2Species], a
+ ld [wRoamMon3Species], a
ld a, $ff
- ld [wdd1c], a
- ld [wdd23], a
- ld [wdd2a], a
- ld [wdd1d], a
- ld [wdd24], a
- ld [wdd2b], a
+ ld [wRoamMon1MapGroup], a
+ ld [wRoamMon2MapGroup], a
+ ld [wRoamMon3MapGroup], a
+ ld [wRoamMon1MapNumber], a
+ ld [wRoamMon2MapNumber], a
+ ld [wRoamMon3MapNumber], a
ld a, BANK(s0_abe2)
call OpenSRAM
@@ -381,7 +381,7 @@ Function5d15: ; 5d15 (1:5d15)
ret
Function5d1a: ; 5d1a (1:5d1a)
- ld hl, wd8bf
+ ld hl, wBoxNames
ld c, $0
.asm_5d1f
push hl
@@ -411,7 +411,7 @@ Function5d1a: ; 5d1a (1:5d1a)
.Box db "BOX@"
InitializeMagikarpHouse: ; 5d47 (1:5d47)
- ld hl, wdd33
+ ld hl, wBestMagikarpLengthFeet
ld a, 3
ld [hli], a
ld a, 6
diff --git a/engine/move_mon.asm b/engine/move_mon.asm
index e1ffa672..4c5a9e94 100755
--- a/engine/move_mon.asm
+++ b/engine/move_mon.asm
@@ -17,7 +17,7 @@ TryAddMonToParty:: ; d892 (3:5892)
jr nc, .asm_d8ad
inc d
.asm_d8ad
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [de], a
inc de
ld a, $ff
@@ -39,7 +39,7 @@ TryAddMonToParty:: ; d892 (3:5892)
ld a, [wMonType]
and a
jr nz, .asm_d8f6
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [wd151], a
call GetPokemonName
ld hl, wPartyMonNicknames
@@ -155,7 +155,7 @@ GeneratePartyMonStats:
jr .asm_d9bb
.asm_d998
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [wd151], a
dec a
push de
@@ -286,7 +286,7 @@ GeneratePartyMonStats:
ld a, [wMonType]
and $f
jr nz, .asm_da71
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
cp $c9
jr nz, .asm_da71
ld hl, wPartyMon1DVs
@@ -359,7 +359,7 @@ AddTempmonToParty: ; da9c (3:5a9c)
ld d, h
ld e, l
ld hl, wOTPartyMon6StatsEnd
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call SkipNames
ld bc, NAME_LENGTH
call CopyBytes
@@ -370,13 +370,13 @@ AddTempmonToParty: ; da9c (3:5a9c)
ld d, h
ld e, l
ld hl, wOTPartyMon1Nickname
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call SkipNames
ld bc, NAME_LENGTH
call CopyBytes
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [wd151], a
- cp $fd
+ cp EGG
jr z, .asm_db18
dec a
call SetSeenAndCaughtMon
@@ -385,10 +385,10 @@ AddTempmonToParty: ; da9c (3:5a9c)
dec a
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
- ld [hl], $46
+ ld [hl], 70
.asm_db18
ld a, [wCurPartySpecies]
- cp $c9
+ cp UNOWN
jr nz, .asm_db43
ld hl, wPartyMon1DVs
ld a, [wPartyCount]
@@ -397,11 +397,11 @@ AddTempmonToParty: ; da9c (3:5a9c)
call AddNTimes
predef GetUnownLetter
callab UpdateUnownDex
- ld a, [wdc3f]
+ ld a, [wFirstUnownSeen]
and a
jr nz, .asm_db43
ld a, [wd11e]
- ld [wdc3f], a
+ ld [wFirstUnownSeen], a
.asm_db43
and a
ret
@@ -409,13 +409,13 @@ AddTempmonToParty: ; da9c (3:5a9c)
SentGetPkmnIntoFromBox: ; db45 (3:5b45)
ld a, $1
call OpenSRAM
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
jr z, .asm_db66
cp $2
jr z, .asm_db66
cp $3
- ld hl, wBreedMon1
+ ld hl, wBreedMon1Species
jr z, .asm_dba1
ld hl, sBoxCount
ld a, [hl]
@@ -434,15 +434,15 @@ SentGetPkmnIntoFromBox: ; db45 (3:5b45)
ld c, a
ld b, $0
add hl, bc
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
cp $2
- ld a, [wBreedMon1]
+ ld a, [wBreedMon1Species]
jr z, .asm_db82
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
.asm_db82
ld [hli], a
ld [hl], $ff
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
dec a
ld hl, wPartyMons
ld bc, PARTYMON_STRUCT_LENGTH
@@ -458,25 +458,25 @@ SentGetPkmnIntoFromBox: ; db45 (3:5b45)
push hl
ld e, l
ld d, h
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
ld hl, sBoxMon1Species
ld bc, BOXMON_STRUCT_LENGTH
jr z, .asm_dbbd
cp $2
- ld hl, wBreedMon1
+ ld hl, wBreedMon1Species
jr z, .asm_dbc3
ld hl, wPartyMon1Species
ld bc, PARTYMON_STRUCT_LENGTH
.asm_dbbd
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call AddNTimes
.asm_dbc3
ld bc, BOXMON_STRUCT_LENGTH
call CopyBytes
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
cp $3
- ld de, wdc4c
+ ld de, wBreedMon1OT
jr z, .asm_dbe8
dec a
ld hl, wPartyMonOT
@@ -491,22 +491,22 @@ SentGetPkmnIntoFromBox: ; db45 (3:5b45)
ld e, l
.asm_dbe8
ld hl, sBoxMonOT
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
jr z, .asm_dbfb
- ld hl, wdc4c
+ ld hl, wBreedMon1OT
cp $2
jr z, .asm_dc01
ld hl, wPartyMon6StatsEnd
.asm_dbfb
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call SkipNames
.asm_dc01
ld bc, NAME_LENGTH
call CopyBytes
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
cp $3
- ld de, wdc41
+ ld de, wBreedMon1Nick
jr z, .asm_dc26
dec a
ld hl, wPartyMon1Nickname
@@ -521,21 +521,21 @@ SentGetPkmnIntoFromBox: ; db45 (3:5b45)
ld e, l
.asm_dc26
ld hl, sBoxMonNicknames
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
jr z, .asm_dc39
- ld hl, wdc41
+ ld hl, wBreedMon1Nick
cp $2
jr z, .asm_dc3f
ld hl, wPartyMon1Nickname
.asm_dc39
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call SkipNames
.asm_dc3f
ld bc, NAME_LENGTH
call CopyBytes
pop hl
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
cp $1
jr z, .asm_dcaa
cp $3
@@ -564,7 +564,7 @@ SentGetPkmnIntoFromBox: ; db45 (3:5b45)
ld b, $1
call CalcPkmnStats
pop bc
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
jr nz, Functiondcb2
ld hl, $20
@@ -575,7 +575,7 @@ SentGetPkmnIntoFromBox: ; db45 (3:5b45)
add hl, bc
ld d, h
ld e, l
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
cp $fd
jr z, .asm_dca4
inc hl
@@ -683,11 +683,11 @@ RetrievePokemonFromDaycareMan:
ld a, e
ld [wCurPartyLevel], a
xor a
- ld [wd008], a
+ ld [wPokemonWithdrawDepositParameter], a
jp Functiondd6a
RetrievePokemonFromDaycareLady:
- ld a, [wBreedMon2]
+ ld a, [wBreedMon2Species]
ld [wCurPartySpecies], a
ld de, SFX_TRANSACTION
call PlaySFX
@@ -698,7 +698,7 @@ RetrievePokemonFromDaycareLady:
ld a, e
ld [wCurPartyLevel], a
ld a, $1
- ld [wd008], a
+ ld [wPokemonWithdrawDepositParameter], a
jp Functiondd6a ; super long jump
Functiondd6a: ; dd6a (3:5d6a)
@@ -715,13 +715,13 @@ Functiondd6a: ; dd6a (3:5d6a)
ld c, a
ld b, $0
add hl, bc
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
- ld a, [wBreedMon1]
- ld de, wdc41
+ ld a, [wBreedMon1Species]
+ ld de, wBreedMon1Nick
jr z, .asm_dd8c
- ld a, [wBreedMon2]
- ld de, wdc7a
+ ld a, [wBreedMon2Species]
+ ld de, wBreedMon2Nick
.asm_dd8c
ld [hli], a
ld [wCurSpecies], a
@@ -779,7 +779,7 @@ Functiondd6a: ; dd6a (3:5d6a)
predef FillMoves
ld a, [wPartyCount]
dec a
- ld [wd005], a
+ ld [wCurPartyMon], a
callba Functionc6bc ; same bank
ld a, [wCurPartyLevel]
ld d, a
@@ -806,28 +806,28 @@ Functionde20: ; de20 (3:5e20)
ld e, l
ret
- ld de, wdc41
+ ld de, wBreedMon1Nick
call Functionde4a
xor a
- ld [wd008], a
+ ld [wPokemonWithdrawDepositParameter], a
jp RemoveMonFromPartyOrBox
- ld de, wdc7a
+ ld de, wBreedMon2Nick
call Functionde4a
xor a
- ld [wd008], a
+ ld [wPokemonWithdrawDepositParameter], a
jp RemoveMonFromPartyOrBox
Functionde4a: ; de4a (3:5e4a)
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld hl, wPartyMonNicknames
call SkipNames
call CopyBytes
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld hl, wPartyMon1OT
call SkipNames
call CopyBytes
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld hl, wPartyMon1
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
@@ -843,7 +843,7 @@ SentPkmnIntoBox: ; de74 (3:5e74)
jp nc, Functiondf48
inc a
ld [de], a
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [wCurSpecies], a
ld c, a
.asm_de8b
@@ -861,7 +861,7 @@ SentPkmnIntoBox: ; de74 (3:5e74)
ld de, sBoxMonOT
ld bc, NAME_LENGTH
call CopyBytes
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [wd151], a
call GetPokemonName
ld de, sBoxMonNicknames
@@ -920,7 +920,7 @@ SentPkmnIntoBox: ; de74 (3:5e74)
inc de
ld a, [wCurPartyLevel]
ld [de], a
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
dec a
call SetSeenAndCaughtMon
ld a, [wCurPartySpecies]
@@ -991,7 +991,7 @@ Functiondf65: ; df65 (3:5f65)
ret
GiveEgg: ; df92 (3:5f92)
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
push af
callab GetPreEvolution
callab GetPreEvolution
@@ -1020,7 +1020,7 @@ GiveEgg: ; df92 (3:5f92)
ld a, c
and a
jr nz, .asm_dfdf
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
dec a
ld c, a
ld d, $0
@@ -1029,13 +1029,13 @@ GiveEgg: ; df92 (3:5f92)
predef FlagPredef
.asm_dfdf
pop af
- ld [wd004], a
+ ld [wCurPartySpecies], a
ld a, [wPokemonData]
dec a
ld bc, PARTYMON_STRUCT_LENGTH
ld hl, wPartyMon1Species
call AddNTimes
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [hl], a
ld hl, wPokemonData
ld a, [hl]
@@ -1078,7 +1078,7 @@ String_Egg:
RemoveMonFromPartyOrBox: ; e03f (3:603f)
ld hl, wPartyCount
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
jr z, .asm_e050
ld a, $1
@@ -1088,7 +1088,7 @@ RemoveMonFromPartyOrBox: ; e03f (3:603f)
ld a, [hl]
dec a
ld [hli], a
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld c, a
ld b, $0
add hl, bc
@@ -1103,15 +1103,15 @@ RemoveMonFromPartyOrBox: ; e03f (3:603f)
jr nz, .asm_e05d
ld hl, wPartyMon6StatsEnd
ld d, $5
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
jr z, .asm_e073
ld hl, sBoxMonOT
ld d, $13
.asm_e073
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call SkipNames
- ld a, [wd005]
+ ld a, [wCurPartyMon]
cp d
jr nz, .asm_e084
ld [hl], $ff
@@ -1123,7 +1123,7 @@ RemoveMonFromPartyOrBox: ; e03f (3:603f)
ld bc, NAME_LENGTH
add hl, bc
ld bc, wPartyMonNicknames
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
jr z, .asm_e096
ld bc, sBoxMonNicknames
@@ -1131,17 +1131,17 @@ RemoveMonFromPartyOrBox: ; e03f (3:603f)
call Function3231
ld hl, wPartyMon1
ld bc, PARTYMON_STRUCT_LENGTH
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
jr z, .asm_e0ab
ld hl, sBoxMon1Species
ld bc, BOXMON_STRUCT_LENGTH
.asm_e0ab
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call AddNTimes
ld d, h
ld e, l
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
jr z, .asm_e0c2
ld bc, BOXMON_STRUCT_LENGTH
@@ -1156,27 +1156,27 @@ RemoveMonFromPartyOrBox: ; e03f (3:603f)
.asm_e0c9
call Function3231
ld hl, wPartyMonNicknames
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
jr z, .asm_e0d8
ld hl, sBoxMonNicknames
.asm_e0d8
ld bc, NAME_LENGTH
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call AddNTimes
ld d, h
ld e, l
ld bc, NAME_LENGTH
add hl, bc
- ld bc, wdbce
- ld a, [wd008]
+ ld bc, wPartyMonNicknamesEnd
+ ld a, [wPokemonWithdrawDepositParameter]
and a
jr z, .asm_e0f3
ld bc, sBoxEnd
.asm_e0f3
call Function3231
.asm_e0f6
- ld a, [wd008]
+ ld a, [wPokemonWithdrawDepositParameter]
and a
jp nz, CloseSRAM
ld a, [wLinkMode]
@@ -1185,7 +1185,7 @@ RemoveMonFromPartyOrBox: ; e03f (3:603f)
ld a, $0
call OpenSRAM
ld hl, wPokemonData
- ld a, [wd005]
+ ld a, [wCurPartyMon]
cp [hl]
jr z, .asm_e137
ld hl, s0_a600
@@ -1194,7 +1194,7 @@ RemoveMonFromPartyOrBox: ; e03f (3:603f)
push hl
add hl, bc
pop de
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld b, a
.asm_e120
push bc
@@ -1484,7 +1484,7 @@ GivePoke: ; Give a Pokemon from script
ld hl, wPartyMon1Nickname
ld a, [wPokemonData]
dec a
- ld [wd005], a
+ ld [wCurPartyMon], a
call SkipNames
ld d, h
ld e, l
@@ -1497,7 +1497,7 @@ GivePoke: ; Give a Pokemon from script
ld a, [wd002]
and a
jr z, .asm_e2fa
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld hl, wPartyMon1Item
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
@@ -1514,7 +1514,7 @@ GivePoke: ; Give a Pokemon from script
ld a, BOXMON
ld [wMonType], a
xor a
- ld [wd005], a
+ ld [wCurPartyMon], a
ld de, wMonOrItemNameBuffer
pop bc
ld a, b
@@ -1528,7 +1528,7 @@ GivePoke: ; Give a Pokemon from script
ld a, [wd002]
ld [sBoxMon1Item], a
.asm_e2fa
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [wd151], a
ld [wTempEnemyMonSpecies], a
call GetPokemonName
@@ -1561,7 +1561,7 @@ GivePoke: ; Give a Pokemon from script
push bc
jr nz, .asm_e360
push hl
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld hl, wPartyMon1OT
call SkipNames
ld d, h
@@ -1569,7 +1569,7 @@ GivePoke: ; Give a Pokemon from script
pop hl
ld a, [wScriptBank]
call FarCopyBytes
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld hl, wPartyMon1ID
ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes
diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm
index a250ade9..54147ee9 100644
--- a/engine/namingscreen.asm
+++ b/engine/namingscreen.asm
@@ -77,13 +77,13 @@ Function11b09: ; 11b09 (4:5b09)
dw Function11b2a
Function11b2a:
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [wd151], a
ld hl, LoadMenuMonIcon
ld a, BANK(LoadMenuMonIcon)
ld e, $1
rst FarCall
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [wd151], a
call GetPokemonName
hlcoord 5, 2
diff --git a/engine/overworld/player_step.asm b/engine/overworld/player_step.asm
index c856a78a..70947346 100755
--- a/engine/overworld/player_step.asm
+++ b/engine/overworld/player_step.asm
@@ -12,7 +12,7 @@ HandlePlayerStep_::
.asm_d4b6
ld a, $4
- ld [wd03c], a
+ ld [wHandlePlayerStep], a
call Functiond53c
jr .asm_d4c5
@@ -48,7 +48,7 @@ ScrollScreen::
ret
Functiond4f2: ; d4f2 (3:54f2)
- ld hl, wd03c
+ ld hl, wHandlePlayerStep
ld a, [hl]
and a
ret z
diff --git a/engine/pack.asm b/engine/pack.asm
index f923c039..b8e4725e 100755
--- a/engine/pack.asm
+++ b/engine/pack.asm
@@ -121,7 +121,7 @@ Pack_TMHMPocketMenu:
call Function10cef
ret c
callba CheckTossableItem_
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_1053a
ld hl, TMHMPocketSubmenuDataHeader_Give ; $456b
@@ -229,29 +229,29 @@ Pack_BallsPocketMenu:
Function105f5: ; 105f5 (4:45f5)
callba CheckTossableItem_
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_10629
callba CheckSelectableItem
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_1061b
callba CheckItemMenu
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_10637
jr .asm_10657
.asm_1061b
callba CheckItemMenu
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_1063f
jr .asm_1065f
.asm_10629
callba CheckSelectableItem
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_10647
jr .asm_1064f
@@ -418,7 +418,7 @@ ItemSubmenuJumptable_GiveTossQuit:
UseItem:
callba CheckItemMenu
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
ld hl, .Jumptable
rst JumpTable
ret
@@ -522,7 +522,7 @@ Function107cd:
RegisterItem:
callba CheckSelectableItem
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
and a
jr nz, .asm_10826
ld a, [wce65]
@@ -534,9 +534,9 @@ RegisterItem:
inc a
and $3f
or b
- ld [wd680], a
+ ld [wWhichRegisteredItem], a
ld a, [wd002]
- ld [wd681], a
+ ld [wRegisteredItem], a
call Function10e38
ld de, SFX_FULL_HEAL
call WaitPlaySFX
@@ -558,7 +558,7 @@ GiveItem:
res 4, a
ld [wOptions], a
ld a, $8
- ld [wd03e], a
+ ld [wPartyMenuActionText], a
call ClearBGPalettes
callba LoadPartyMenuGFX
callba InitPartyMenuWithCancel
@@ -571,7 +571,7 @@ GiveItem:
call DelayFrame
callba PartyMenuSelect
jr c, .asm_108a5
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
cp EGG
jr nz, .asm_10883
ld hl, Text_AnEggCantHoldAnItem
@@ -772,7 +772,7 @@ BattlePack_BallsPocketMenu:
Function10a03: ; 10a03 (4:4a03)
callba CheckItemContext
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
Function10a0c: ; 10a0c (4:4a0c)
and a
jr z, .asm_10a17
@@ -829,7 +829,7 @@ BattlePackQuitJumptable:
BattlePack_UseItem:
callba CheckItemContext
- ld a, [wd03f]
+ ld a, [wItemAttributeParamBuffer]
ld hl, $4a67
rst JumpTable
ret
diff --git a/engine/specials.asm b/engine/specials.asm
index 29b6eba9..dd2d427a 100755
--- a/engine/specials.asm
+++ b/engine/specials.asm
@@ -271,7 +271,7 @@ GetMysteryGiftItem: ; c463 (3:4463)
ld a, [$abe2]
ld [wd002], a
ld a, $1
- ld [wd009], a
+ ld [wItemQuantityChangeBuffer], a
ld hl, wNumItems
call ReceiveItem
jr nc, .asm_c497
@@ -411,14 +411,14 @@ UnusedCheckUnusedTwoDayTimer: ; c549 (3:4549)
ActivateFishingSwarm: ; c556 (3:4556)
ld a, [wScriptVar]
- ld [wdd19], a
+ ld [wFishingSwarmFlag], a
jr .asm_c566
.asm_c55e
ld a, d
- ld [wdd17], a
+ ld [wDunsparceMapGroup], a
ld a, e
- ld [wdd18], a
+ ld [wDunsparceMapNumber], a
.asm_c566
SetFlag ENGINE_SPECIAL_WILDDATA
ret
@@ -434,9 +434,9 @@ Functionc56c:
ld a, $1
ld [wScriptVar], a
xor a
- ld [wdd19], a
- ld [wdd17], a
- ld [wdd18], a
+ ld [wFishingSwarmFlag], a
+ ld [wDunsparceMapGroup], a
+ ld [wDunsparceMapNumber], a
ret
CheckPokerus: ; c588 (3:4588)
@@ -474,7 +474,7 @@ SelectApricornForKurt: ; c5bb (3:45bb)
ret z
ld [wd002], a
ld a, $1
- ld [wd009], a
+ ld [wItemQuantityChangeBuffer], a
ld hl, wNumItems
call TossItem
ret
diff --git a/home.asm b/home.asm
index 4a81dc4b..233d76cd 100644
--- a/home.asm
+++ b/home.asm
@@ -1600,7 +1600,7 @@ PrepMonFrontpic::
ld a, $1
ld [wcf3b], a
PrepMonFrontpic_::
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
and a
jr z, .not_pokemon
cp EGG
@@ -1624,7 +1624,7 @@ PrepMonFrontpic_::
xor a
ld [wcf3b], a
inc a
- ld [wd004], a
+ ld [wCurPartySpecies], a
ret
INCLUDE "home/cry.asm"
@@ -1704,7 +1704,7 @@ GetBaseData::
ret
GetCurNick::
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld hl, wPartyMon1Nickname
GetNick::
push hl
@@ -1790,7 +1790,7 @@ GetPartyParamLocation::
ld c, a
ld b, $0
add hl, bc
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call GetPartyLocation
pop bc
ret
diff --git a/home/map.asm b/home/map.asm
index ef8876fb..473280ba 100644
--- a/home/map.asm
+++ b/home/map.asm
@@ -593,28 +593,28 @@ Function230f:: ; 230f (0:230f)
ld a, [hli]
.asm_232b
pop bc
- ld [wLastWarpNumber], a
+ ld [wNextWarpNumber], a
ld a, [hli]
- ld [wLastMapGroup], a
+ ld [wNextMapGroup], a
ld a, [hli]
- ld [wLastMapNumber], a
+ ld [wNextMapNumber], a
ld a, c
- ld [wd046], a
+ ld [wPrevWarpNumber], a
ld a, [wMapGroup]
- ld [wd047], a
+ ld [wPrevMapGroup], a
ld a, [wMapNumber]
- ld [wd048], a
+ ld [wPrevMapNumber], a
scf
ret
Function2349::
call Function2362
call Function239b
- ld a, [wLastWarpNumber]
+ ld a, [wNextWarpNumber]
ld [wd9ff], a
- ld a, [wLastMapGroup]
+ ld a, [wNextMapGroup]
ld [wMapGroup], a
- ld a, [wLastMapNumber]
+ ld a, [wNextMapNumber]
ld [wMapNumber], a
ret
@@ -622,27 +622,27 @@ Function2362:: ; 2362 (0:2362)
call GetMapPermission
call CheckOutdoorMap
ret nz
- ld a, [wLastMapGroup]
+ ld a, [wNextMapGroup]
ld b, a
- ld a, [wLastMapNumber]
+ ld a, [wNextMapNumber]
ld c, a
call GetAnyMapPermission
call CheckIndoorMap
ret nz
- ld a, [wd047]
+ ld a, [wPrevMapGroup]
cp $f
jr nz, .asm_2388
- ld a, [wd048]
+ ld a, [wPrevMapNumber]
cp $a
ret z
cp $c
ret z
.asm_2388
- ld a, [wd046]
+ ld a, [wPrevWarpNumber]
ld [wDigWarpNumber], a
- ld a, [wd047]
+ ld a, [wPrevMapGroup]
ld [wDigMapGroup], a
- ld a, [wd048]
+ ld a, [wPrevMapNumber]
ld [wDigMapNumber], a
ret
@@ -650,24 +650,24 @@ Function239b:: ; 239b (0:239b)
call GetMapPermission
call CheckOutdoorMap
ret nz
- ld a, [wLastMapGroup]
+ ld a, [wNextMapGroup]
ld b, a
- ld a, [wLastMapNumber]
+ ld a, [wNextMapNumber]
ld c, a
call GetAnyMapPermission
call CheckIndoorMap
ret nz
- ld a, [wLastMapGroup]
+ ld a, [wNextMapGroup]
ld b, a
- ld a, [wLastMapNumber]
+ ld a, [wNextMapNumber]
ld c, a
call GetAnyMapTileset
ld a, c
cp $6
ret nz
- ld a, [wd047]
+ ld a, [wPrevMapGroup]
ld [wd9fb], a
- ld a, [wd048]
+ ld a, [wPrevMapNumber]
ld [wd9fc], a
ret
@@ -975,11 +975,11 @@ RestoreFacingAfterWarp::
ret
BackUpWarp:: ; 2596 (0:2596)
- ld a, [wd046]
+ ld a, [wPrevWarpNumber]
ld [wd9f5], a
- ld a, [wd047]
+ ld a, [wPrevMapGroup]
ld [wd9f6], a
- ld a, [wd048]
+ ld a, [wPrevMapNumber]
ld [wd9f7], a
ret
diff --git a/items/item_effects.asm b/items/item_effects.asm
index 225bf541..ca2c6b3d 100755
--- a/items/item_effects.asm
+++ b/items/item_effects.asm
@@ -478,7 +478,7 @@ UltraBall: ; e926
.transformed
ld a, [wEnemyMonSpecies]
ld [wWildMon], a
- ld [wd004], a
+ ld [wCurPartySpecies], a
ld [wd151], a
ld a, [wBattleType]
cp BATTLETYPE_TUTORIAL
@@ -536,7 +536,7 @@ UltraBall: ; e926
jp c, .end_ball_function
ld a, [wPartyCount]
dec a
- ld [wd005], a
+ ld [wCurPartyMon], a
ld hl, wPartyMon1Nickname
ld bc, MON_NAME_LENGTH
call AddNTimes
@@ -574,13 +574,13 @@ UltraBall: ; e926
call CloseSRAM
ld hl, Text_AskNicknameNewlyCaughtMon ; $6e49
call PrintText
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [wd151], a
call GetPokemonName
call YesNoBox
jr c, .init_name_in_sram
xor a
- ld [wd005], a
+ ld [wCurPartyMon], a
ld a, $2
ld [wMonType], a
ld de, wMonOrItemNameBuffer
@@ -635,7 +635,7 @@ UltraBall: ; e926
.toss
ld hl, wNumItems
inc a
- ld [wd009], a
+ ld [wItemQuantityChangeBuffer], a
jp TossItem
.used_park_ball
@@ -841,7 +841,7 @@ LoveBallMultiplier:
xor a
ld [wMonType], a
ld a, [wCurBattleMon]
- ld [wd005], a
+ ld [wCurPartyMon], a
callba GetGender ; 14:52f1
jr c, .asm_edba
ld d, $0
@@ -850,7 +850,7 @@ LoveBallMultiplier:
.asm_ed8d
push de
ld a, [wTempEnemyMonSpecies]
- ld [wd004], a
+ ld [wCurPartySpecies], a
ld a, $4
ld [wMonType], a
callba GetGender ; 14:52f1
@@ -1131,7 +1131,7 @@ StatOffsets:
db CALCIUM, MON_SPC_EXP - MON_STAT_EXP
Functionef49: ; ef49 (3:6f49)
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [wCurSpecies], a
ld [wd151], a
ld a, $1f
@@ -1139,7 +1139,7 @@ Functionef49: ; ef49 (3:6f49)
ld a, [hl]
ld [wCurPartyLevel], a
call GetBaseData
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld hl, wPartyMonNicknames
call GetNick
ret
@@ -1209,7 +1209,7 @@ RareCandy: ; ef68 (3:6f68)
call WaitPressAorB_BlinkCursor
xor a
ld [wMonType], a
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld [wd151], a
predef LearnLevelMoves
xor a
@@ -1268,7 +1268,7 @@ Functionf030: ; f030 (3:7030)
xor a
ld [hl], a
ld a, b
- ld [wd03e], a
+ ld [wPartyMenuActionText], a
call Functionf086
call Functionf7c7
call Functionf2cf
@@ -1401,7 +1401,7 @@ Functionf12c: ; f12c (3:712c)
ld a, [wBattleMode]
and a
jr z, .asm_f15a
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld c, a
ld d, $0
ld hl, wcbda
@@ -1410,7 +1410,7 @@ Functionf12c: ; f12c (3:712c)
ld a, c
and a
jr z, .asm_f15a
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld c, a
ld hl, wcb42
ld b, SET_FLAG
@@ -1429,7 +1429,7 @@ Functionf12c: ; f12c (3:712c)
.asm_f16d
call Functionf231
ld a, $f7
- ld [wd03e], a
+ ld [wPartyMenuActionText], a
call Functionf2cf
call Functionf7dc
ld a, $0
@@ -1462,7 +1462,7 @@ Functionf19a: ; f19a (3:719a)
call RestoreBattlemonHP
call Functionf231
ld a, $f5
- ld [wd03e], a
+ ld [wPartyMenuActionText], a
call Functionf2cf
call Functionf7dc
ld a, $0
@@ -1534,7 +1534,7 @@ Functionf1ff: ; f1ff (3:71ff)
call RestoreBattlemonHP
call Functionf231
ld a, PARTYMENUTEXT_HEAL_HP
- ld [wd03e], a
+ ld [wPartyMenuActionText], a
call Functionf2cf
call Functionf7dc
ld a, $0
@@ -1545,12 +1545,12 @@ Functionf231: ; f231 (3:7231)
ld de, $4
call WaitPlaySFX
pop de
- ld a, [wd005]
+ ld a, [wCurPartyMon]
hlcoord 11, 0
ld bc, $28
call AddNTimes
ld a, $2
- ld [wd007], a
+ ld [wWhichHPBar], a
predef_jump AnimateHPBar
Functionf24f: ; f24f (3:724f)
@@ -1569,7 +1569,7 @@ Functionf24f: ; f24f (3:724f)
Functionf261: ; f261 (3:7261)
ld a, b
- ld [wd03e], a
+ ld [wPartyMenuActionText], a
push hl
push de
push bc
@@ -1593,10 +1593,10 @@ Functionf272: ; f272 (3:7272)
ret
Functionf2a0: ; f2a0 (3:72a0)
- ld [wd03e], a
+ ld [wPartyMenuActionText], a
ld a, [wCurPartySpecies]
push af
- ld a, [wd005]
+ ld a, [wCurPartyMon]
push af
push hl
push de
@@ -1610,7 +1610,7 @@ Functionf2a0: ; f2a0 (3:72a0)
pop de
pop hl
pop af
- ld [wd005], a
+ ld [wCurPartyMon], a
pop af
ld [wCurPartySpecies], a
ret
@@ -1622,7 +1622,7 @@ Functionf2cf: ; f2cf (3:72cf)
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
ld a, " "
call ByteFill
- ld a, [wd03e]
+ ld a, [wPartyMenuActionText]
call Functionf2a0
ld a, $1
ld [hBGMapMode], a
@@ -1645,7 +1645,7 @@ Functionf2fc: ; f2fc (3:72fc)
ld a, [wBattleMode]
and a
ret z
- ld a, [wd005]
+ ld a, [wCurPartyMon]
push hl
ld hl, wCurBattleMon
cp [hl]
@@ -1865,7 +1865,7 @@ HealingItemParameters:
call Functionf46f
jr c, .asm_f469
ld a, b
- ld [wd005], a
+ ld [wCurPartyMon], a
call Functionf363
call GetOneFifthMaxHP
call Functionf34f
@@ -1874,7 +1874,7 @@ HealingItemParameters:
pop bc
call GetOneFifthMaxHP
ld a, c
- ld [wd005], a
+ ld [wCurPartyMon], a
call Functionf363
call Functionf327
.asm_f45d
@@ -1891,7 +1891,7 @@ HealingItemParameters:
Functionf46f: ; f46f (3:746f)
push bc
ld a, $1
- ld [wd03e], a
+ ld [wPartyMenuActionText], a
call Functionf272
pop bc
jr c, .asm_f494
@@ -1902,7 +1902,7 @@ Functionf46f: ; f46f (3:746f)
cp c
jr z, .asm_f496
ld a, c
- ld [wd005], a
+ ld [wCurPartyMon], a
call Functionf363
jr z, .asm_f496
call CalculateCurHPAnimRemainingHP
@@ -2019,7 +2019,7 @@ XSpeed: ; f515
callba BattleCommand_StatUpMessage
callba BattleCommand_StatUpFailText
ld a, [wCurBattleMon]
- ld [wd005], a
+ ld [wCurPartyMon], a
ld c, HAPPINESS_USEDXITEM
callba ChangeHappiness
ret
@@ -2220,7 +2220,7 @@ asm_f699
ld a, [wBattleMode]
and a
jr z, .asm_f6b3
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld b, a
ld a, [wCurBattleMon]
cp b
@@ -2236,7 +2236,7 @@ asm_f699
jr asm_f693
Functionf6be: ; f6be (3:76be)
- ld a, [wd005]
+ ld a, [wCurPartyMon]
ld hl, wPartyMon1Moves
ld bc, $30
call AddNTimes
@@ -2516,7 +2516,7 @@ Functionf7d0: ; f7d0 (3:77d0)
Functionf7dc: ; f7dc (3:77dc)
ld hl, wTMsHMsEnd
ld a, $1
- ld [wd009], a
+ ld [wItemQuantityChangeBuffer], a
jp TossItem
Functionf7e7: ; f7e7 (3:77e7)
@@ -2809,7 +2809,7 @@ GetMaxPPOfMove: ; f933 (3:7933)
ret
Functionf9aa: ; f9aa (3:79aa)
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call AddNTimes
Functionf9b0: ; f9b0 (3:79b0)
ld a, [wMenuCursorY]
diff --git a/macros/wram.asm b/macros/wram.asm
index 4da9654e..d7ba1834 100755
--- a/macros/wram.asm
+++ b/macros/wram.asm
@@ -286,7 +286,6 @@ object_struct: MACRO
ENDM
map_object: MACRO
-\1Object::
\1ObjectStructID:: ds 1
\1ObjectSprite:: ds 1
\1ObjectYCoord:: ds 1
@@ -300,7 +299,7 @@ map_object: MACRO
\1ObjectScript:: ds 2
\1ObjectEventFlag:: ds 2
ds 2
-endm
+ENDM
sprite_anim_struct: MACRO
\1Index:: ds 1 ; 0
diff --git a/main.asm b/main.asm
index 56fd1730..3125b481 100644
--- a/main.asm
+++ b/main.asm
@@ -590,7 +590,7 @@ BugContest_SetCaughtContestMon:
GenerateBugContestMonStats: ; e781 (3:6781)
ld a, [wTempEnemyMonSpecies]
ld [wCurSpecies], a
- ld [wd004], a
+ ld [wCurPartySpecies], a
call GetBaseData
xor a
ld bc, PARTYMON_STRUCT_LENGTH
diff --git a/predef/cgb.asm b/predef/cgb.asm
index 5935eb19..748c3f15 100755
--- a/predef/cgb.asm
+++ b/predef/cgb.asm
@@ -170,7 +170,7 @@ Function945e: ; 945e (2:545e)
ld bc, Palettes_ad2d
add hl, bc
call Function9adb
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld bc, wTempMonDVs
call Function9bcb
call Function9adb
@@ -294,7 +294,7 @@ Function9561: ; 9561 (2:5561)
ld a, $1d
call Function9ac7
call Function9ad2
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
cp $ff
jr nz, .asm_957b
ld hl, Palettes_95cd
@@ -549,7 +549,7 @@ Function976d: ; 976d (2:576d)
.asm_977e
ld hl, wPartyMon1DVs
ld bc, $30
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call AddNTimes
ld c, l
ld b, h
@@ -873,7 +873,7 @@ Function9a2e: ; 9a2e (2:5a2e)
Function9a47: ; 9a47 (2:5a47)
ld de, wTempBGPal0
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
call Function9be4
call Function9adb
call Function9b1d
@@ -896,7 +896,7 @@ Function9a5a: ; 9a5a (2:5a5a)
Function9a7b: ; 9a7b (2:5a7b)
ld de, wTempBGPal0
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld bc, wTempMonDVs
call Function9bd3
call Function9adb
diff --git a/predef/sgb.asm b/predef/sgb.asm
index fc5747bf..bd1480c2 100755
--- a/predef/sgb.asm
+++ b/predef/sgb.asm
@@ -165,7 +165,7 @@ Function8d46: ; 8d46 (2:4d46)
ld [wccae], a
ld a, [hl]
ld [wccaf], a
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld bc, wTempMonDVs
call Function9bcb
ld a, [hli]
@@ -198,7 +198,7 @@ Function8d95: ; 8d95 (2:4d95)
ld [hl], $5a
inc hl
ld [hl], $19
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
call Function9be4
ld a, [hli]
ld [wccb2], a
@@ -370,7 +370,7 @@ Function8eb7: ; 8eb7 (2:4eb7)
.asm_8ed9
ld hl, wPartyMon1DVs
ld bc, $30
- ld a, [wd005]
+ ld a, [wCurPartyMon]
call AddNTimes
ld c, l
ld b, h
@@ -433,7 +433,7 @@ Function8f53: ; 8f53 (2:4f53)
ld de, wcca9
ld bc, $10
call CopyBytes
- ld a, [wd004]
+ ld a, [wCurPartySpecies]
ld l, a
ld h, $0
add hl, hl
diff --git a/wram.asm b/wram.asm
index a2233f96..33ae29b2 100644
--- a/wram.asm
+++ b/wram.asm
@@ -2422,37 +2422,58 @@ wd001:: ds 1 ; d001
wd002:: ds 1 ; d002
wd003:: ds 1 ; d003
-wCurPartySpecies::
-wd004:: ds 1 ; d004
-wCurPartyMon::
-wd005:: ds 1 ; d005
+wCurPartySpecies:: ; d004
+ ds 1
+
+wCurPartyMon:: ; d005
+; contains which monster in a party
+; is being dealt with at the moment
+; 0-5
+ ds 1
+
wd006:: ds 1 ; d006
-wd007:: ds 1 ; d007
-wPokemonWithdrawDepositParameter::
-wd008:: ds 1 ; d008
-wItemQuantityChangeBuffer::
-wd009:: ds 1 ; d009
-wd00a:: ds 1 ; d00a
+
+wWhichHPBar:: ; d007
+; 0: Enemy
+; 1: Player
+; 2: Party Menu
+ ds 1
+
+wPokemonWithdrawDepositParameter:: ; d008
+; 0: Take from PC
+; 1: Put into PC
+; 2: Take from Day-Care
+; 3: Put into Day-Care
+ ds 1
+
+wItemQuantityChangeBuffer:: ds 1 ; d009
+wItemQuantityBuffer:: ds 1 ; d00a
wTempMon:: party_struct wTempMon ; d00b
-wd03b:: ds 1 ; d03b
-wd03c:: ds 1 ; d03c
-wd03d:: ds 1 ; d03d
-wd03e:: ds 1 ; d03e
-wd03f:: ds 1 ; d03f
+wSpriteFlags:: ds 1 ; d03b
+
+wHandlePlayerStep:: ds 2 ; d03c
+
+wPartyMenuActionText:: ds 1 ; d03e
+
+wItemAttributeParamBuffer:: ds 1 ; d03f
+
wCurPartyLevel:: ds 1 ; d040
-wd041:: ds 1 ; d041
+wScrollingMenuListSize:: ds 1 ; d041
wLinkMode:: ds 1 ; d042
; 0 not in link battle
; 1 link battle
- warp_struct wLast ; d043
+; used when following a map warp
+wNextWarpNumber:: ds 1 ; d043
+wNextMapGroup:: ds 1 ; d044
+wNextMapNumber:: ds 1 ; d045
+wPrevWarpNumber:: ds 1 ; d046
+wPrevMapGroup:: ds 1 ; d047
+wPrevMapNumber:: ds 1 ; d048
-wd046:: ds 1 ; d046
-wd047:: ds 1 ; d047
-wd048:: ds 1 ; d048
wd049:: ds 1 ; d049
wd04a:: ds 1 ; d04a
wd04b:: ds 1 ; d04b
@@ -2751,14 +2772,40 @@ wd196:: ds 1 ; d196
wd197:: ds 1 ; d197
wd198:: ds 1 ; d198
-wOptions:: ds 1 ; d199
-wd19a:: ds 1 ; d19a
-wd19b:: ds 1 ; d19b
-wTextBoxFlags:: ds 1 ; d19c
-wd19d:: ds 1 ; d19d
-wd19e:: ds 1 ; d19e
-wd19f:: ds 1 ; d19f
-wd1a0:: ds 1 ; d1a0
+wOptions:: ; d199
+; bit 0-2: number of frames to delay when printing text
+; fast 1; mid 3; slow 5
+; bit 3: ?
+; bit 4: no text delay
+; bit 5: stereo off/on
+; bit 6: battle style shift/set
+; bit 7: battle scene off/on
+ ds 1
+
+wSaveFileExists:: ds 1 ; d19a
+wTextBoxFrame:: ; d19b
+; bits 0-2: textbox frame 0-7
+ ds 1
+
+wTextBoxFlags:: ; d19c
+; bit 0: 1-frame text delay
+; bit 1: when unset, no text delay
+ ds 1
+wGBPrinter:: ; d19d
+; bit 0-6: brightness
+; lightest: $00
+; lighter: $20
+; normal: $40 (default)
+; darker: $60
+; darkest: $7F
+ db
+wOptions2:: ; d19e
+; bit 0: menu account off/on
+ ds 1
+
+ ds 2
+
+wOptionsEnd::
SECTION "Game Data", WRAMX, BANK[1]
wGameData::
@@ -2793,10 +2840,11 @@ wGameTimeMinutes:: ds 1 ; d1ed
wGameTimeSeconds:: ds 1 ; d1ee
wGameTimeFrames:: ds 1 ; d1ef
-wd1f0:: ds 1 ; d1f0
-wd1f1:: ds 1 ; d1f1
+ ds 2
+
wCurDay:: ds 1 ; d1f2
-wd1f3:: ds 1 ; d1f3
+
+ ds 1
wObjectFollow_Leader:: ds 1 ; d1f4
wObjectFollow_Follower:: ds 1 ; d1f5
@@ -2820,88 +2868,29 @@ wObjectStructs:: ; d1fd
object_struct wObject12 ; d3dd
wObjectStructsEnd:: ; d405
-wd405:: ds 1 ; d405
-wd406:: ds 1 ; d406
-wd407:: ds 1 ; d407
-wd408:: ds 1 ; d408
-wd409:: ds 1 ; d409
-wd40a:: ds 1 ; d40a
-wd40b:: ds 1 ; d40b
-wd40c:: ds 1 ; d40c
-wd40d:: ds 1 ; d40d
-wd40e:: ds 1 ; d40e
-wd40f:: ds 1 ; d40f
-wd410:: ds 1 ; d410
-wd411:: ds 1 ; d411
-wd412:: ds 1 ; d412
-wd413:: ds 1 ; d413
-wd414:: ds 1 ; d414
-wd415:: ds 1 ; d415
-wd416:: ds 1 ; d416
-wd417:: ds 1 ; d417
-wd418:: ds 1 ; d418
-wd419:: ds 1 ; d419
-wd41a:: ds 1 ; d41a
-wd41b:: ds 1 ; d41b
-wd41c:: ds 1 ; d41c
-wd41d:: ds 1 ; d41d
-wd41e:: ds 1 ; d41e
-wd41f:: ds 1 ; d41f
-wd420:: ds 1 ; d420
-wd421:: ds 1 ; d421
-wd422:: ds 1 ; d422
-wd423:: ds 1 ; d423
-wd424:: ds 1 ; d424
-wd425:: ds 1 ; d425
-wd426:: ds 1 ; d426
-wd427:: ds 1 ; d427
-wd428:: ds 1 ; d428
-wd429:: ds 1 ; d429
-wd42a:: ds 1 ; d42a
-wd42b:: ds 1 ; d42b
-wd42c:: ds 1 ; d42c
-wd42d:: ds 1 ; d42d
-wd42e:: ds 1 ; d42e
-wd42f:: ds 1 ; d42f
-wd430:: ds 1 ; d430
-wd431:: ds 1 ; d431
-wd432:: ds 1 ; d432
-wd433:: ds 1 ; d433
-wd434:: ds 1 ; d434
-wd435:: ds 1 ; d435
-wd436:: ds 1 ; d436
-wd437:: ds 1 ; d437
-wd438:: ds 1 ; d438
-wd439:: ds 1 ; d439
-wd43a:: ds 1 ; d43a
-wd43b:: ds 1 ; d43b
-wd43c:: ds 1 ; d43c
-wd43d:: ds 1 ; d43d
-wd43e:: ds 1 ; d43e
-wd43f:: ds 1 ; d43f
-wd440:: ds 1 ; d440
-wd441:: ds 1 ; d441
-wd442:: ds 1 ; d442
-wd443:: ds 1 ; d443
-wd444:: ds 1 ; d444
+wCmdQueue:: ds CMDQUEUE_CAPACITY * CMDQUEUE_ENTRY_SIZE ; d405
+; d41d
+ ds 40
+
+; TODO these should be wMapObject1 etc.
wMapObjects:: ; d445
- map_object wPlayer ; d445
- map_object wMap1 ; d455
- map_object wMap2 ; d465
- map_object wMap3 ; d475
- map_object wMap4 ; d485
- map_object wMap5 ; d495
- map_object wMap6 ; d4a5
- map_object wMap7 ; d4b5
- map_object wMap8 ; d4c5
- map_object wMap9 ; d4d5
- map_object wMap10 ; d4e5
- map_object wMap11 ; d4f5
- map_object wMap12 ; d505
- map_object wMap13 ; d515
- map_object wMap14 ; d525
- map_object wMap15 ; d535
+wPlayerObject:: map_object wPlayer ; d445
+wMap1Object:: map_object wMap1 ; d455
+wMap2Object:: map_object wMap2 ; d465
+wMap3Object:: map_object wMap3 ; d475
+wMap4Object:: map_object wMap4 ; d485
+wMap5Object:: map_object wMap5 ; d495
+wMap6Object:: map_object wMap6 ; d4a5
+wMap7Object:: map_object wMap7 ; d4b5
+wMap8Object:: map_object wMap8 ; d4c5
+wMap9Object:: map_object wMap9 ; d4d5
+wMap10Object:: map_object wMap10 ; d4e5
+wMap11Object:: map_object wMap11 ; d4f5
+wMap12Object:: map_object wMap12 ; d505
+wMap13Object:: map_object wMap13 ; d515
+wMap14Object:: map_object wMap14 ; d525
+wMap15Object:: map_object wMap15 ; d535
wMapObjectsEnd:: ; d545
wd545:: ds 1 ; d545
@@ -2980,14 +2969,26 @@ wBallsEnd::
wPCItems:: ds MAX_PC_ITEMS * 2 + 1 ; d616
wPCItemsEnd::
-wd67b:: ds 1 ; d67b
-wPokegearFlags:: ds 1 ; d67c
-wd67d:: ds 1 ; d67d
-wd67e:: ds 1 ; d67e
-wd67f:: ds 1 ; d67f
-wd680:: ds 1 ; d680
-wd681:: ds 1 ; d681
+ ds 1
+
+wPokegearFlags:: ; d67c
+; bit 0: map
+; bit 1: radio
+; bit 2: phone
+; bit 3: expn
+; bit 7: on/off
+ ds 1
+
+wRadioTuningKnob:: ds 1 ; d67d
+wLastDexMode:: ds 1 ; d67e
+
+ ds 1
+
+wWhichRegisteredItem:: ds 1 ; d680
+wRegisteredItem:: ds 1 ; d681
+
wPlayerBikeSurfState:: ds 1 ; d682
+
wd683:: ds 1 ; d683
wd684:: ds 1 ; d684
wd685:: ds 1 ; d685
@@ -3040,48 +3041,51 @@ wd6b3:: ds 1 ; d6b3
wd6b4:: ds 1 ; d6b4
wd6b5:: ds 1 ; d6b5
wd6b6:: ds 1 ; d6b6
-wd6b7:: ds 1 ; d6b7
-wd6b8:: ds 1 ; d6b8
-wd6b9:: ds 1 ; d6b9
-wd6ba:: ds 1 ; d6ba
-wd6bb:: ds 1 ; d6bb
-wd6bc:: ds 1 ; d6bc
-wd6bd:: ds 1 ; d6bd
-wd6be:: ds 1 ; d6be
-wd6bf:: ds 1 ; d6bf
-wd6c0:: ds 1 ; d6c0
-wd6c1:: ds 1 ; d6c1
-wd6c2:: ds 1 ; d6c2
-wd6c3:: ds 1 ; d6c3
-wd6c4:: ds 1 ; d6c4
-wd6c5:: ds 1 ; d6c5
-wd6c6:: ds 1 ; d6c6
-wd6c7:: ds 1 ; d6c7
-wd6c8:: ds 1 ; d6c8
-wd6c9:: ds 1 ; d6c9
-wd6ca:: ds 1 ; d6ca
-wd6cb:: ds 1 ; d6cb
-wd6cc:: ds 1 ; d6cc
-wd6cd:: ds 1 ; d6cd
-wd6ce:: ds 1 ; d6ce
-wd6cf:: ds 1 ; d6cf
-wd6d0:: ds 1 ; d6d0
-wd6d1:: ds 1 ; d6d1
-wd6d2:: ds 1 ; d6d2
-wd6d3:: ds 1 ; d6d3
-wd6d4:: ds 1 ; d6d4
-wd6d5:: ds 1 ; d6d5
-wd6d6:: ds 1 ; d6d6
-wd6d7:: ds 1 ; d6d7
-wd6d8:: ds 1 ; d6d8
-wd6d9:: ds 1 ; d6d9
-wd6da:: ds 1 ; d6da
-wd6db:: ds 1 ; d6db
-wd6dc:: ds 1 ; d6dc
-wd6dd:: ds 1 ; d6dd
-wd6de:: ds 1 ; d6de
-wd6df:: ds 1 ; d6df
-wd6e0:: ds 1 ; d6e0
+
+; some of these are probably wrong
+; TODO rename to SceneID
+wPokecenter2FTrigger:: ds 1 ; d6b7
+wTradeCenterTrigger:: ds 1 ; d6b8
+wColosseumTrigger:: ds 1 ; d6b9
+wTimeCapsuleTrigger:: ds 1 ; d6ba
+wPowerPlantTrigger:: ds 1 ; d6bb
+wCeruleanGymTrigger:: ds 1 ; d6bc
+wRoute25Trigger:: ds 1 ; d6bd
+wTrainerHouseB1FTrigger:: ds 1 ; d6be
+wVictoryRoadGateTrigger:: ds 1 ; d6bf
+wSaffronTrainStationTrigger:: ds 1 ; d6c0
+wRoute16GateTrigger:: ds 1 ; d6c1
+wRoute1718GateTrigger:: ds 1 ; d6c2
+wIndigoPlateauPokecenter1FTrigger:: ds 1 ; d6c3
+wWillsRoomTrigger:: ds 1 ; d6c4
+wKogasRoomTrigger:: ds 1 ; d6c5
+wBrunosRoomTrigger:: ds 1 ; d6c6
+wKarensRoomTrigger:: ds 1 ; d6c7
+wLancesRoomTrigger:: ds 1 ; d6c8
+wHallOfFameTrigger:: ds 1 ; d6c9
+wRoute27Trigger:: ds 1 ; d6ca
+wNewBarkTownTrigger:: ds 1 ; d6cb
+wElmsLabTrigger:: ds 1 ; d6cc
+wKrissHouse1FTrigger:: ds 1 ; d6cd
+wRoute29Trigger:: ds 1 ; d6ce
+wCherrygroveCityTrigger:: ds 1 ; d6cf
+wMrPokemonsHouseTrigger:: ds 1 ; d6d0
+wRoute32Trigger:: ds 1 ; d6d1
+wRoute35NationalParkGateTrigger:: ds 1 ; d6d2
+wRoute36NationalParkGateTrigger:: ds 1 ; d6d3
+wAzaleaTownTrigger:: ds 1 ; d6d4
+wGoldenrodGymTrigger:: ds 1 ; d6d5
+wGoldenrodMagnetTrainStationTrigger:: ds 1 ; d6d6
+wOlivineCityTrigger:: ds 1 ; d6d7
+wRoute34Trigger:: ds 1 ; d6d8
+wEcruteakHouseTrigger:: ds 1 ; d6d9
+wEcruteakPokecenter1FTrigger:: ds 1 ; d6da
+wMahoganyTownTrigger:: ds 1 ; d6db
+wRoute43GateTrigger:: ds 1 ; d6dc
+wMountMoonTrigger:: ds 1 ; d6dd
+wSproutTower3FTrigger:: ds 1 ; d6de
+wBurnedTower1FTrigger:: ds 1 ; d6df
+wBurnedTowerB1FTrigger:: ds 1 ; d6e0
wd6e1:: ds 1 ; d6e1
wd6e2:: ds 1 ; d6e2
wd6e3:: ds 1 ; d6e3
@@ -3310,135 +3314,13 @@ wGameTimerPause:: ds 1 ; d8b8
wd8b9:: ds 1 ; d8b9
wd8ba:: ds 1 ; d8ba
wd8bb:: ds 1 ; d8bb
-wd8bc:: ds 1 ; d8bc
-wd8bd:: ds 1 ; d8bd
-wd8be:: ds 1 ; d8be
-wd8bf:: ds 1 ; d8bf
-wd8c0:: ds 1 ; d8c0
-wd8c1:: ds 1 ; d8c1
-wd8c2:: ds 1 ; d8c2
-wd8c3:: ds 1 ; d8c3
-wd8c4:: ds 1 ; d8c4
-wd8c5:: ds 1 ; d8c5
-wd8c6:: ds 1 ; d8c6
-wd8c7:: ds 1 ; d8c7
-wd8c8:: ds 1 ; d8c8
-wd8c9:: ds 1 ; d8c9
-wd8ca:: ds 1 ; d8ca
-wd8cb:: ds 1 ; d8cb
-wd8cc:: ds 1 ; d8cc
-wd8cd:: ds 1 ; d8cd
-wd8ce:: ds 1 ; d8ce
-wd8cf:: ds 1 ; d8cf
-wd8d0:: ds 1 ; d8d0
-wd8d1:: ds 1 ; d8d1
-wd8d2:: ds 1 ; d8d2
-wd8d3:: ds 1 ; d8d3
-wd8d4:: ds 1 ; d8d4
-wd8d5:: ds 1 ; d8d5
-wd8d6:: ds 1 ; d8d6
-wd8d7:: ds 1 ; d8d7
-wd8d8:: ds 1 ; d8d8
-wd8d9:: ds 1 ; d8d9
-wd8da:: ds 1 ; d8da
-wd8db:: ds 1 ; d8db
-wd8dc:: ds 1 ; d8dc
-wd8dd:: ds 1 ; d8dd
-wd8de:: ds 1 ; d8de
-wd8df:: ds 1 ; d8df
-wd8e0:: ds 1 ; d8e0
-wd8e1:: ds 1 ; d8e1
-wd8e2:: ds 1 ; d8e2
-wd8e3:: ds 1 ; d8e3
-wd8e4:: ds 1 ; d8e4
-wd8e5:: ds 1 ; d8e5
-wd8e6:: ds 1 ; d8e6
-wd8e7:: ds 1 ; d8e7
-wd8e8:: ds 1 ; d8e8
-wd8e9:: ds 1 ; d8e9
-wd8ea:: ds 1 ; d8ea
-wd8eb:: ds 1 ; d8eb
-wd8ec:: ds 1 ; d8ec
-wd8ed:: ds 1 ; d8ed
-wd8ee:: ds 1 ; d8ee
-wd8ef:: ds 1 ; d8ef
-wd8f0:: ds 1 ; d8f0
-wd8f1:: ds 1 ; d8f1
-wd8f2:: ds 1 ; d8f2
-wd8f3:: ds 1 ; d8f3
-wd8f4:: ds 1 ; d8f4
-wd8f5:: ds 1 ; d8f5
-wd8f6:: ds 1 ; d8f6
-wd8f7:: ds 1 ; d8f7
-wd8f8:: ds 1 ; d8f8
-wd8f9:: ds 1 ; d8f9
-wd8fa:: ds 1 ; d8fa
-wd8fb:: ds 1 ; d8fb
-wd8fc:: ds 1 ; d8fc
-wd8fd:: ds 1 ; d8fd
-wd8fe:: ds 1 ; d8fe
-wd8ff:: ds 1 ; d8ff
-wd900:: ds 1 ; d900
-wd901:: ds 1 ; d901
-wd902:: ds 1 ; d902
-wd903:: ds 1 ; d903
-wd904:: ds 1 ; d904
-wd905:: ds 1 ; d905
-wd906:: ds 1 ; d906
-wd907:: ds 1 ; d907
-wd908:: ds 1 ; d908
-wd909:: ds 1 ; d909
-wd90a:: ds 1 ; d90a
-wd90b:: ds 1 ; d90b
-wd90c:: ds 1 ; d90c
-wd90d:: ds 1 ; d90d
-wd90e:: ds 1 ; d90e
-wd90f:: ds 1 ; d90f
-wd910:: ds 1 ; d910
-wd911:: ds 1 ; d911
-wd912:: ds 1 ; d912
-wd913:: ds 1 ; d913
-wd914:: ds 1 ; d914
-wd915:: ds 1 ; d915
-wd916:: ds 1 ; d916
-wd917:: ds 1 ; d917
-wd918:: ds 1 ; d918
-wd919:: ds 1 ; d919
-wd91a:: ds 1 ; d91a
-wd91b:: ds 1 ; d91b
-wd91c:: ds 1 ; d91c
-wd91d:: ds 1 ; d91d
-wd91e:: ds 1 ; d91e
-wd91f:: ds 1 ; d91f
-wd920:: ds 1 ; d920
-wd921:: ds 1 ; d921
-wd922:: ds 1 ; d922
-wd923:: ds 1 ; d923
-wd924:: ds 1 ; d924
-wd925:: ds 1 ; d925
-wd926:: ds 1 ; d926
-wd927:: ds 1 ; d927
-wd928:: ds 1 ; d928
-wd929:: ds 1 ; d929
-wd92a:: ds 1 ; d92a
-wd92b:: ds 1 ; d92b
-wd92c:: ds 1 ; d92c
-wd92d:: ds 1 ; d92d
-wd92e:: ds 1 ; d92e
-wd92f:: ds 1 ; d92f
-wd930:: ds 1 ; d930
-wd931:: ds 1 ; d931
-wd932:: ds 1 ; d932
-wd933:: ds 1 ; d933
-wd934:: ds 1 ; d934
-wd935:: ds 1 ; d935
-wd936:: ds 1 ; d936
-wd937:: ds 1 ; d937
-wd938:: ds 1 ; d938
-wd939:: ds 1 ; d939
-wd93a:: ds 1 ; d93a
-wd93b:: ds 1 ; d93b
-wd93c:: ds 1 ; d93c
+wCurBox:: ds 1 ; d8bc
+
+ ds 2
+
+; 8 chars + $50
+wBoxNames:: ds BOX_NAME_LENGTH * NUM_BOXES ; d8bf
+
wd93d:: ds 1 ; d93d
wd93e:: ds 1 ; d93e
wBikeFlags:: ds 1 ; d93f
@@ -3696,190 +3578,73 @@ wPartyMon3Nickname:: ds MON_NAME_LENGTH ; dba2
wPartyMon4Nickname:: ds MON_NAME_LENGTH ; dbad
wPartyMon5Nickname:: ds MON_NAME_LENGTH ; dbb8
wPartyMon6Nickname:: ds MON_NAME_LENGTH ; dbc3
+wPartyMonNicknamesEnd::
-wdbce:: ds 1 ; dbce
-wdbcf:: ds 1 ; dbcf
-wdbd0:: ds 1 ; dbd0
-wdbd1:: ds 1 ; dbd1
-wdbd2:: ds 1 ; dbd2
-wdbd3:: ds 1 ; dbd3
-wdbd4:: ds 1 ; dbd4
-wdbd5:: ds 1 ; dbd5
-wdbd6:: ds 1 ; dbd6
-wdbd7:: ds 1 ; dbd7
-wdbd8:: ds 1 ; dbd8
-wdbd9:: ds 1 ; dbd9
-wdbda:: ds 1 ; dbda
-wdbdb:: ds 1 ; dbdb
-wdbdc:: ds 1 ; dbdc
-wdbdd:: ds 1 ; dbdd
-wdbde:: ds 1 ; dbde
-wdbdf:: ds 1 ; dbdf
-wdbe0:: ds 1 ; dbe0
-wdbe1:: ds 1 ; dbe1
-wdbe2:: ds 1 ; dbe2
-wdbe3:: ds 1 ; dbe3
+ ds 22 ; equivalent to NAME_LENGTH + MON_NAME_LENGTH, possibly a reference to 7 pokemon?
wPokedexCaught:: flag_array NUM_POKEMON ; dbe4
wPokedexSeen:: flag_array NUM_POKEMON ; dc04
-wUnownDex:: ds 26 ; dc24
+wUnownDex:: ds NUM_UNOWN ; dc24
wUnlockedUnowns:: ds 1 ; dc3e
-wdc3f:: ds 1 ; dc3f
-wDayCareMan:: ds 1 ; dc40
-wdc41:: ds 1 ; dc41
-wdc42:: ds 1 ; dc42
-wdc43:: ds 1 ; dc43
-wdc44:: ds 1 ; dc44
-wdc45:: ds 1 ; dc45
-wdc46:: ds 1 ; dc46
-wdc47:: ds 1 ; dc47
-wdc48:: ds 1 ; dc48
-wdc49:: ds 1 ; dc49
-wdc4a:: ds 1 ; dc4a
-wdc4b:: ds 1 ; dc4b
-wdc4c:: ds 1 ; dc4c
-wdc4d:: ds 1 ; dc4d
-wdc4e:: ds 1 ; dc4e
-wdc4f:: ds 1 ; dc4f
-wdc50:: ds 1 ; dc50
-wdc51:: ds 1 ; dc51
-wdc52:: ds 1 ; dc52
-wdc53:: ds 1 ; dc53
-wdc54:: ds 1 ; dc54
-wdc55:: ds 1 ; dc55
-wdc56:: ds 1 ; dc56
-
-wBreedMon1:: box_struct wBreedMon1 ; dc57
-
-wDaycareLady:: ds 1 ; dc77
-wStepsToEgg:: ds 1 ; dc78
-wdc79:: ds 1 ; dc79
-wBreedMon2Nick::
-wdc7a:: ds 1 ; dc7a
-wdc7b:: ds 1 ; dc7b
-wdc7c:: ds 1 ; dc7c
-wdc7d:: ds 1 ; dc7d
-wdc7e:: ds 1 ; dc7e
-wdc7f:: ds 1 ; dc7f
-wdc80:: ds 1 ; dc80
-wdc81:: ds 1 ; dc81
-wdc82:: ds 1 ; dc82
-wdc83:: ds 1 ; dc83
-wdc84:: ds 1 ; dc84
-wdc85:: ds 1 ; dc85
-wdc86:: ds 1 ; dc86
-wdc87:: ds 1 ; dc87
-wdc88:: ds 1 ; dc88
-wdc89:: ds 1 ; dc89
-wdc8a:: ds 1 ; dc8a
-wdc8b:: ds 1 ; dc8b
-wdc8c:: ds 1 ; dc8c
-wdc8d:: ds 1 ; dc8d
-wdc8e:: ds 1 ; dc8e
-wdc8f:: ds 1 ; dc8f
-
-wBreedMon2:: box_struct wBreedMon2 ; dc90
-
-wdcb0:: ds 1 ; dcb0
-wdcb1:: ds 1 ; dcb1
-wdcb2:: ds 1 ; dcb2
-wdcb3:: ds 1 ; dcb3
-wdcb4:: ds 1 ; dcb4
-wdcb5:: ds 1 ; dcb5
-wdcb6:: ds 1 ; dcb6
-wdcb7:: ds 1 ; dcb7
-wdcb8:: ds 1 ; dcb8
-wdcb9:: ds 1 ; dcb9
-wdcba:: ds 1 ; dcba
-wdcbb:: ds 1 ; dcbb
-wdcbc:: ds 1 ; dcbc
-wdcbd:: ds 1 ; dcbd
-wdcbe:: ds 1 ; dcbe
-wdcbf:: ds 1 ; dcbf
-wdcc0:: ds 1 ; dcc0
-wdcc1:: ds 1 ; dcc1
-wdcc2:: ds 1 ; dcc2
-wdcc3:: ds 1 ; dcc3
-wdcc4:: ds 1 ; dcc4
-wdcc5:: ds 1 ; dcc5
-wdcc6:: ds 1 ; dcc6
-wdcc7:: ds 1 ; dcc7
-wdcc8:: ds 1 ; dcc8
-wdcc9:: ds 1 ; dcc9
-wdcca:: ds 1 ; dcca
-wdccb:: ds 1 ; dccb
-wdccc:: ds 1 ; dccc
-wdccd:: ds 1 ; dccd
-wdcce:: ds 1 ; dcce
-wdccf:: ds 1 ; dccf
-wdcd0:: ds 1 ; dcd0
-wdcd1:: ds 1 ; dcd1
-wdcd2:: ds 1 ; dcd2
-wdcd3:: ds 1 ; dcd3
-wdcd4:: ds 1 ; dcd4
-wdcd5:: ds 1 ; dcd5
-wdcd6:: ds 1 ; dcd6
-wdcd7:: ds 1 ; dcd7
-wdcd8:: ds 1 ; dcd8
-wdcd9:: ds 1 ; dcd9
-wdcda:: ds 1 ; dcda
-wdcdb:: ds 1 ; dcdb
-wdcdc:: ds 1 ; dcdc
-wdcdd:: ds 1 ; dcdd
-wdcde:: ds 1 ; dcde
-wdcdf:: ds 1 ; dcdf
-wdce0:: ds 1 ; dce0
-wdce1:: ds 1 ; dce1
-wdce2:: ds 1 ; dce2
-wdce3:: ds 1 ; dce3
-wdce4:: ds 1 ; dce4
-wdce5:: ds 1 ; dce5
-wdce6:: ds 1 ; dce6
+wFirstUnownSeen:: ds 1 ; dc3f
+
+wDayCareMan:: ; dc40
+; bit 7: active
+; bit 6: egg ready
+; bit 5: monsters are compatible
+; bit 0: monster 1 in day-care
+ ds 1
+
+wBreedMon1::
+wBreedMon1Nick:: ds MON_NAME_LENGTH ; dc41
+wBreedMon1OT:: ds NAME_LENGTH ; dc4c
+; TODO fix incorrect Stats label
+wBreedMon1Stats:: box_struct wBreedMon1 ; dc57
+
+wDaycareLady:: ; dc77
+; bit 7: active
+; bit 0: monster 2 in day-care
+ ds 1
+
+wStepsToEgg:: ; dc78
+ ds 1
+
+wBreedMotherOrNonDitto:: ; dc79
+; z: yes
+; nz: no
+ ds 1
+
+wBreedMon2::
+wBreedMon2Nick:: ds MON_NAME_LENGTH ; dc7a
+wBreedMon2OT:: ds NAME_LENGTH ; dc85
+wBreedMon2Stats:: box_struct wBreedMon2 ; dc90
+
+wEggNick:: ds MON_NAME_LENGTH ; dcb0
+wEggOT:: ds NAME_LENGTH ; dcbb
+wEggMon:: box_struct wEggMon ; dcc6
+
+wBugContestSecondPartySpecies:: db ; dce6
wContestMon:: party_struct wContestMon ; dce7
-wdd17:: ds 1 ; dd17
-wdd18:: ds 1 ; dd18
-wdd19:: ds 1 ; dd19
-wdd1a:: ds 1 ; dd1a
-wdd1b:: ds 1 ; dd1b
-wdd1c:: ds 1 ; dd1c
-wdd1d:: ds 1 ; dd1d
-wdd1e:: ds 1 ; dd1e
-wdd1f:: ds 1 ; dd1f
-wdd20:: ds 1 ; dd20
-wdd21:: ds 1 ; dd21
-wdd22:: ds 1 ; dd22
-wdd23:: ds 1 ; dd23
-wdd24:: ds 1 ; dd24
-wdd25:: ds 1 ; dd25
-wdd26:: ds 1 ; dd26
-wdd27:: ds 1 ; dd27
-wdd28:: ds 1 ; dd28
-wdd29:: ds 1 ; dd29
-wdd2a:: ds 1 ; dd2a
-wdd2b:: ds 1 ; dd2b
-wdd2c:: ds 1 ; dd2c
-wdd2d:: ds 1 ; dd2d
-wdd2e:: ds 1 ; dd2e
-wdd2f:: ds 1 ; dd2f
-wdd30:: ds 1 ; dd30
-wdd31:: ds 1 ; dd31
-wdd32:: ds 1 ; dd32
-wdd33:: ds 1 ; dd33
-wdd34:: ds 1 ; dd34
-wMagikarpRecordHoldersName:: ds 1 ; dd35
-wdd36:: ds 1 ; dd36
-wdd37:: ds 1 ; dd37
-wdd38:: ds 1 ; dd38
-wdd39:: ds 1 ; dd39
-wdd3a:: ds 1 ; dd3a
-wdd3b:: ds 1 ; dd3b
-wdd3c:: ds 1 ; dd3c
-wdd3d:: ds 1 ; dd3d
-wdd3e:: ds 1 ; dd3e
-wdd3f:: ds 1 ; dd3f
+wDunsparceMapGroup:: ds 1 ; dd17
+wDunsparceMapNumber:: ds 1 ; dd18
+wFishingSwarmFlag:: ds 1 ; dd19
+
+wRoamMon1:: roam_struct wRoamMon1 ; dd1a
+wRoamMon2:: roam_struct wRoamMon2 ; dd21
+wRoamMon3:: roam_struct wRoamMon3 ; dd28
+
+wRoamMons_CurrentMapNumber:: ds 1 ; dd2f
+wRoamMons_CurrentMapGroup:: ds 1 ; dd30
+wRoamMons_LastMapNumber:: ds 1 ; dd31
+wRoamMons_LastMapGroup:: ds 1 ; dd32
+
+wBestMagikarpLengthFeet:: ds 1 ; dd33
+wBestMagikarpLengthInches:: ds 1 ; dd34
+wMagikarpRecordHoldersName:: ds NAME_LENGTH ; dd35
+
wdd40:: ds 1 ; dd40
wdd41:: ds 1 ; dd41
wdd42:: ds 1 ; dd42