ref: dfa9adcaeb79f83087985192e1fb7052a1fe7143
parent: 6ddd1d8b469e827b7b87997236743ec665188266
author: Mr Wint <[email protected]>
date: Sat Oct 5 00:03:34 EDT 2013
* added index comments to pointer lists * added map header wram addresses * analyzed some assembly
--- a/engine/engine_flags.asm
+++ b/engine/engine_flags.asm
@@ -3,7 +3,7 @@
; location, bit
; pokegear
- dwb $d957, %00000010 ; radio card
+ dwb $d957, %00000010 ; radio card ; $0
dwb $d957, %00000001 ; map card
dwb $d957, %00000100 ; phone card
dwb $d957, %00001000 ; expn card
@@ -17,7 +17,7 @@
; DaycareLady, %10000000 = daycare 2 on
dwb DaycareLady, %00000001 ; monster 2 in daycare
- dwb $d854, %00000001 ; mom saving money
+ dwb $d854, %00000001 ; mom saving money ; $8
dwb $d854, %10000000 ; dst
dwb $dc39, %00000001
@@ -27,7 +27,7 @@
dwb $d84c, %00001000 ; pokerus
dwb $d84c, %00010000 ; rocket signal on ch20
dwb $d84c, %01000000 ; credits skip
- dwb $d84c, %10000000 ; bug contest on
+ dwb $d84c, %10000000 ; bug contest on ; $10
dwb $d84d, %00000100 ; bug contest timer
dwb $d84d, %00000010 ; rockets in radio tower
dwb $d84d, %00000001 ; bike shop call enabled (1024 bike steps reqd)
@@ -36,7 +36,7 @@
dwb $d84d, %01000000
dwb $d84d, %10000000 ; rockets in mahogany
- dwb $dbf5, %00000001 ; strength active
+ dwb $dbf5, %00000001 ; strength active ; $18
dwb $dbf5, %00000010 ; always on bike (cant surf)
dwb $dbf5, %00000100 ; downhill (cycling road)
@@ -45,7 +45,7 @@
dwb JohtoBadges, %00000100 ; plainbadge
dwb JohtoBadges, %00001000 ; fogbadge
dwb JohtoBadges, %00010000 ; mineralbadge
- dwb JohtoBadges, %00100000 ; stormbadge
+ dwb JohtoBadges, %00100000 ; stormbadge ; $20
dwb JohtoBadges, %01000000 ; glacierbadge
dwb JohtoBadges, %10000000 ; risingbadge
@@ -54,7 +54,7 @@
dwb KantoBadges, %00000100 ; thunderbadge
dwb KantoBadges, %00001000 ; rainbowbadge
dwb KantoBadges, %00010000 ; soulbadge
- dwb KantoBadges, %00100000 ; marshbadge
+ dwb KantoBadges, %00100000 ; marshbadge ; $28
dwb KantoBadges, %01000000 ; volcanobadge
dwb KantoBadges, %10000000 ; earthbadge
@@ -64,7 +64,7 @@
dwb UnlockedUnowns, %00000100 ; 3
dwb UnlockedUnowns, %00001000 ; 4
dwb UnlockedUnowns, %00010000 ; 5
- dwb UnlockedUnowns, %00100000 ; 6
+ dwb UnlockedUnowns, %00100000 ; 6 ; $30
dwb UnlockedUnowns, %01000000 ; 7
dwb UnlockedUnowns, %10000000 ; 8
@@ -74,7 +74,7 @@
dwb FlypointPerms, %00000100 ; pallet
dwb FlypointPerms, %00001000 ; viridian
dwb FlypointPerms, %00010000 ; pewter
- dwb FlypointPerms, %00100000 ; cerulean
+ dwb FlypointPerms, %00100000 ; cerulean ; $38
dwb FlypointPerms, %01000000 ; rock tunnel
dwb FlypointPerms, %10000000 ; vermilion
dwb FlypointPerms + 1, %00000001 ; lavender
@@ -82,7 +82,7 @@
dwb FlypointPerms + 1, %00000100 ; celadon
dwb FlypointPerms + 1, %00001000 ; fuchsia
dwb FlypointPerms + 1, %00010000 ; cinnabar
- dwb FlypointPerms + 1, %00100000 ; indigo plateau
+ dwb FlypointPerms + 1, %00100000 ; indigo plateau ; $40
dwb FlypointPerms + 1, %01000000 ; new bark
dwb FlypointPerms + 1, %10000000 ; cherrygrove
dwb FlypointPerms + 2, %00000001 ; violet
@@ -90,7 +90,7 @@
dwb FlypointPerms + 2, %00001000 ; cianwood
dwb FlypointPerms + 2, %00010000 ; goldenrod
dwb FlypointPerms + 2, %00100000 ; olivine
- dwb FlypointPerms + 2, %01000000 ; ecruteak
+ dwb FlypointPerms + 2, %01000000 ; ecruteak ; $48
dwb FlypointPerms + 2, %10000000 ; mahogany
dwb FlypointPerms + 3, %00000001 ; lake of rage
dwb FlypointPerms + 3, %00000010 ; blackthorn
@@ -100,7 +100,7 @@
dwb $dc9d, %00000001 ; lucky number show
dwb $d84d, %00001000
- dwb $dc1e, %00000001 ; kurt making balls
+ dwb $dc1e, %00000001 ; kurt making balls ; $50
dwb $dc1e, %00000010
dwb $dc1e, %00000100 ; special wilddata?
dwb $dc1e, %00001000 ; time capsule (24h wait)
@@ -109,7 +109,7 @@
dwb $dc1e, %01000000 ; goldenrod underground merchant closed
dwb $dc1e, %10000000 ; fought in trainer hall today
- dwb $dc1f, %00000001 ; mt moon square clefairy
+ dwb $dc1f, %00000001 ; mt moon square clefairy ; $58
dwb $dc1f, %00000010 ; union cave lapras
dwb $dc1f, %00000100 ; goldenrod underground haircut used
dwb $dc1f, %00001000 ; goldenrod mall happiness event floor05 person07
@@ -131,7 +131,7 @@
dwb $dc4c, %00000001 ; jack
dwb $dc4c, %00000010 ; huey
dwb $dc4c, %00000100 ; gaven
- dwb $dc4c, %00001000 ; beth
+ dwb $dc4c, %00001000 ; beth ; $68
dwb $dc4c, %00010000 ; jose
dwb $dc4c, %00100000 ; reena
dwb $dc4c, %01000000 ; joey
@@ -139,7 +139,7 @@
dwb $dc4d, %00000001 ; ralph
dwb $dc4d, %00000010 ; liz
dwb $dc4d, %00000100 ; anthony
- dwb $dc4d, %00001000 ; todd
+ dwb $dc4d, %00001000 ; todd ; $70
dwb $dc4d, %00010000 ; gina
dwb $dc4d, %00100000 ; arnie
dwb $dc4d, %01000000 ; alan
@@ -147,7 +147,7 @@
dwb $dc4e, %00000001 ; chad
dwb $dc4e, %00000010 ; tully
dwb $dc4e, %00000100 ; brent
- dwb $dc4e, %00001000 ; tiffany
+ dwb $dc4e, %00001000 ; tiffany ; $78
dwb $dc4e, %00010000 ; vance
dwb $dc4e, %00100000 ; wilton
dwb $dc4e, %01000000 ; parry
@@ -156,7 +156,7 @@
dwb $dc50, %00000001 ; beverly has nugget
dwb $dc50, %00000010 ; jose has star piece
dwb $dc50, %00000100 ; wade has item (see bittable1 $032b-e)
- dwb $dc50, %00001000 ; gina has leaf stone
+ dwb $dc50, %00001000 ; gina has leaf stone ; $80
dwb $dc50, %00010000 ; alan has fire stone
dwb $dc50, %00100000 ; liz has thunderstone
dwb $dc50, %01000000 ; derek has nugget
@@ -166,7 +166,7 @@
dwb $dc51, %00000010 ; wilton has item (see bittable1 $032f-31)
dwb $dc54, %00000001
- dwb $dc54, %00000010
+ dwb $dc54, %00000010 ; $88
dwb $dc54, %00000100
dwb $dc54, %00001000
dwb $dc54, %00010000
@@ -175,7 +175,7 @@
dwb $dc54, %10000000
dwb $dc55, %00000001
- dwb $dc55, %00000010
+ dwb $dc55, %00000010 ; $90
dwb $dc55, %00000100
dwb $dc55, %00001000
dwb $dc55, %00010000
@@ -184,7 +184,7 @@
dwb $dc55, %10000000
dwb $dc56, %00000001
- dwb $dc56, %00000010
+ dwb $dc56, %00000010 ; $98
dwb $dc56, %00000100
dwb $dc56, %00001000
dwb $dc56, %00010000
@@ -194,5 +194,5 @@
dwb $d45b, %00000100 ; female player has been transformed into male
- dwb $dc20, %00000100 ; dunsparce swarm
+ dwb $dc20, %00000100 ; dunsparce swarm ; $a0
dwb $dc20, %00001000 ; yanma swarm
--- a/home/map.asm
+++ b/home/map.asm
@@ -197,7 +197,7 @@
ld de, $0060
add hl, de
pop de
- ld a, [$d19f]
+ ld a, [MapWidth]
add $6
add e
ld e, a
@@ -421,7 +421,7 @@
Function2336: ; 2336
push af
- ld hl, $d1a6
+ ld hl, MapEventHeaderPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -438,7 +438,7 @@
; 234f
Function234f: ; 234f
- ld hl, $d1a4
+ ld hl, MapScriptHeaderPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -466,7 +466,7 @@
ld [WestConnectedMapGroup], a
ld [EastConnectedMapGroup], a
- ld a, [$d1a8]
+ ld a, [MapConnections]
ld b, a
bit 3, b
@@ -670,10 +670,10 @@
; 248a
Function248a: ; 248a
- call GetMapEventBank
+ call GetMapScriptHeaderBank
rst Bankswitch
- ld hl, $d1a6
+ ld hl, MapEventHeaderPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -728,7 +728,7 @@
ld a, [hROMBank]
push af
ld hl, OverworldMap
- ld a, [$d19f]
+ ld a, [MapWidth]
ld [hConnectedMapWidth], a
add $6
ld [hConnectionStripLength], a
@@ -739,14 +739,14 @@
add hl, bc
ld c, $3
add hl, bc
- ld a, [$d1a0]
+ ld a, [MapBlockDataBank]
rst Bankswitch
- ld a, [$d1a1]
+ ld a, [MapBlockDataPointer]
ld e, a
- ld a, [$d1a2]
+ ld a, [MapBlockDataPointer+1]
ld d, a
- ld a, [$d19e]
+ ld a, [MapHeight]
ld b, a
.asm_250c
push hl
@@ -899,7 +899,7 @@
add hl, de
pop de
- ld a, [$d19f]
+ ld a, [MapWidth]
add 6
add e
ld e, a
@@ -916,7 +916,7 @@
FillEastConnectionStrip: ; 25f6
.asm_25f6
- ld a, [$d19f]
+ ld a, [MapWidth]
add 6
ld [hConnectedMapWidth], a
@@ -977,7 +977,7 @@
ld a, [ScriptRunning]
and a
ret nz
- call GetMapEventBank
+ call GetMapScriptHeaderBank
jr CallScript
; 263b
@@ -989,7 +989,7 @@
call Function2653
jr nc, .done
- call GetMapEventBank
+ call GetMapScriptHeaderBank
ld b, a
ld d, h
ld e, l
@@ -1442,7 +1442,7 @@
dec b
jr nz, .asm_2888
pop hl
- ld a, [$d19f]
+ ld a, [MapWidth]
add $6
ld c, a
ld b, $0
@@ -1459,7 +1459,7 @@
ld h, [hl]
ld l, a
ld de, $dcb9
- ld a, [$d19f]
+ ld a, [MapWidth]
add $6
ld [hConnectionStripLength], a
ld a, [$d151]
@@ -1506,7 +1506,7 @@
ld a, [hli]
ld h, [hl]
ld l, a
- ld a, [$d19f]
+ ld a, [MapWidth]
add $6
ld [hConnectionStripLength], a
ld de, $dcb9
@@ -1776,7 +1776,7 @@
; 2a66
Function2a66: ; 2a66
- ld a, [$d19f]
+ ld a, [MapWidth]
add $6
ld c, a
ld b, $0
@@ -2149,14 +2149,14 @@
; 2c52
Function2c52: ; 2c52
- ld a, [MapEventBank]
+ ld a, [MapScriptHeaderBank]
rst Bankswitch
ret
; 2c57
-GetMapEventBank: ; 2c57
- ld a, [MapEventBank]
+GetMapScriptHeaderBank: ; 2c57
+ ld a, [MapScriptHeaderBank]
ret
; 2c5b
--- a/main.asm
+++ b/main.asm
@@ -1898,7 +1898,7 @@
ld [MartPointer], a
Function367e: ; 367e
- call GetMapEventBank
+ call GetMapScriptHeaderBank
ld [EngineBuffer1], a
ld a, [$ffe0]
call GetMapObject
@@ -2010,7 +2010,7 @@
ld a, [hli]
ld h, [hl]
ld l, a
- call GetMapEventBank
+ call GetMapScriptHeaderBank
call GetFarHalfword
ld d, h
ld e, l
@@ -2044,7 +2044,7 @@
ld a, [hli]
ld h, [hl]
ld l, a
- call GetMapEventBank
+ call GetMapScriptHeaderBank
call FarPrintText
call WaitBGMap
call Functiona80
@@ -11763,7 +11763,7 @@
; $4b Predef pointers
; address, bank
- dwb Function6508, BANK(Function6508)
+ dwb Function6508, BANK(Function6508) ; $0
dwb Function747a, BANK(Function747a)
dwb Functionc658, BANK(Functionc658)
dwb FlagPredef, BANK(FlagPredef)
@@ -11771,7 +11771,7 @@
dwb FillPP, BANK(FillPP)
dwb Functiond88c, BANK(Functiond88c)
dwb Functionda96, BANK(Functionda96)
- dwb Functiondb3f, BANK(Functiondb3f)
+ dwb Functiondb3f, BANK(Functiondb3f) ; $8
dwb Functionde6e, BANK(Functionde6e)
dwb Functiondf8c, BANK(Functiondf8c)
dwb Functionc6e0, BANK(Functionc6e0)
@@ -11779,7 +11779,7 @@
dwb Functione17b, BANK(Functione17b)
dwb CanLearnTMHMMove, BANK(CanLearnTMHMMove)
dwb GetTMHMMove, BANK(GetTMHMMove)
- dwb Function28eef, BANK(Function28eef)
+ dwb Function28eef, BANK(Function28eef) ; $ 10
dwb PrintMoveDesc, BANK(PrintMoveDesc)
dwb Function3df48, BANK(Function3df48) ; UpdatePlayerHUD
dwb FillBox, BANK(FillBox)
@@ -11787,7 +11787,7 @@
dwb Function3e036, BANK(Function3e036) ; UpdateEnemyHUD
dwb StartBattle, BANK(StartBattle)
dwb FillInExpBar, BANK(FillInExpBar)
- dwb Function3f43d, BANK(Function3f43d)
+ dwb Function3f43d, BANK(Function3f43d) ; $18
dwb Function3f47c, BANK(Function3f47c)
dwb Function42487, BANK(Function42487)
dwb FillMoves, BANK(FillMoves)
@@ -11795,7 +11795,7 @@
dwb Function28f63, BANK(Function28f63)
dwb Function28f24, BANK(Function28f24)
dwb Function5084a, BANK(Function5084a)
- dwb Function50d6f, BANK(Function50d6f)
+ dwb Function50d6f, BANK(Function50d6f) ; $20
dwb Function50d2e, BANK(Function50d2e)
dwb Function50cdb, BANK(Function50cdb)
dwb Function50c50, BANK(Function50c50)
@@ -11803,7 +11803,7 @@
dwb StatsScreenInit, BANK(StatsScreenInit)
dwb DrawPlayerHP, BANK(DrawPlayerHP)
dwb DrawEnemyHP, BANK(DrawEnemyHP)
- dwb Function50b7b, BANK(Function50b7b)
+ dwb Function50b7b, BANK(Function50b7b) ; $28
dwb GetTypeName, BANK(GetTypeName)
dwb PrintMoveType, BANK(PrintMoveType)
dwb PrintType, BANK(PrintType)
@@ -11811,7 +11811,7 @@
dwb GetUnownLetter, BANK(GetUnownLetter)
dwb Functioncbcdd, BANK(Functioncbcdd)
dwb Functioncc0d5, BANK(Functioncc0d5)
- dwb Function9853, BANK(Function9853)
+ dwb Function9853, BANK(Function9853) ; $30
dwb Function864c, BANK(Function864c)
dwb Function91d11, BANK(Function91d11)
dwb CheckContestMon, BANK(CheckContestMon)
@@ -11819,8 +11819,8 @@
dwb Function8c000, BANK(Function8c000)
dwb Function8c000, BANK(Function8c000)
dwb Functioncc0d6, BANK(Functioncc0d6)
+ dwb Functioncc0d5, BANK(Functioncc0d5) ; $38
dwb Functioncc0d5, BANK(Functioncc0d5)
- dwb Functioncc0d5, BANK(Functioncc0d5)
dwb Functionfd1d0, BANK(Functionfd1d0)
dwb PartyMonItemName, BANK(PartyMonItemName)
dwb Function51077, BANK(Function51077)
@@ -11827,7 +11827,7 @@
dwb Function5116c, BANK(Function5116c)
dwb Function5108b, BANK(Function5108b)
dwb Function5120d, BANK(Function5120d)
- dwb DecompressPredef, BANK(DecompressPredef)
+ dwb DecompressPredef, BANK(DecompressPredef) ; $40
dwb Function0x347d3, BANK(Function0x347d3)
dwb Functionfb908, BANK(Functionfb908)
dwb Functionfb877, BANK(Functionfb877)
@@ -11835,7 +11835,7 @@
dwb Function50d0a, BANK(Function50d0a)
dwb Functiond00a3, BANK(Functiond00a3)
dwb Functiond008e, BANK(Functiond008e)
- dwb Functiond0669, BANK(Functiond0669)
+ dwb Functiond0669, BANK(Functiond0669) ; $48
dwb Functiond066e, BANK(Functiond066e)
dbw $ff, Function2d43 ; ????
; 864c
@@ -15350,7 +15350,7 @@
; known jump sources: d591 (3:5591)
Functiond595: ; d595 (3:5595)
ld hl, $d194
- ld a, [$d19f]
+ ld a, [MapWidth]
add $6
add [hl]
ld [hli], a
@@ -15383,7 +15383,7 @@
; known jump sources: d5c2 (3:55c2)
Functiond5c6: ; d5c6 (3:55c6)
ld hl, $d194
- ld a, [$d19f]
+ ld a, [MapWidth]
add $6
ld b, a
ld a, [hl]
@@ -19841,7 +19841,7 @@
jr z, .asm_114fa
ld b, a
- callba Function13988
+ callba ApplyPokerusTick
.asm_114fa
xor a
@@ -24691,7 +24691,8 @@
ret
; 13988
-Function13988: ; 13988
+; decreases all pokemon's pokerus counter by b. if the lower nybble reaches zero, the pokerus is cured.
+ApplyPokerusTick: ; 13988
ld hl, PartyMon1PokerusStatus
ld a, [PartyCount]
and a
@@ -40889,18 +40890,18 @@
Function2ed44: ; 2ed44
- call Function2ede6
+ call ConvertBerriesToBerryJuice
ld hl, PartyMon1PokerusStatus
ld a, [PartyCount]
ld b, a
ld de, $0030
-.asm_2ed51
+.loopMons
ld a, [hl]
and $f
- jr nz, .asm_2ed9a
+ jr nz, .monHasActivePokerus
add hl, de
dec b
- jr nz, .asm_2ed51
+ jr nz, .loopMons
ld hl, StatusFlags2
bit 6, [hl]
ret z
@@ -40910,23 +40911,23 @@
ret nz
ld a, [hRandomSub]
cp $3
- ret nc
+ ret nc ; 3/65536 chance (00 00, 00 01 or 00 02)
ld a, [PartyCount]
ld b, a
-.asm_2ed70
+.randomMonSelectLoop
call Random
and $7
cp b
- jr nc, .asm_2ed70
+ jr nc, .randomMonSelectLoop
ld hl, PartyMon1PokerusStatus
- call GetPartyLocation
+ call GetPartyLocation ; get pokerus byte of random mon
ld a, [hl]
and $f0
- ret nz
-.asm_2ed82
+ ret nz ; if it already has pokerus, do nothing
+.randomPokerusLoop
call Random
and a
- jr z, .asm_2ed82
+ jr z, .randomPokerusLoop
ld b, a
and $f0
jr z, .asm_2ed91
@@ -40943,38 +40944,38 @@
ld [hl], a
ret
-.asm_2ed9a
+.monHasActivePokerus
call Random
cp $55
- ret nc
+ ret nc ; 1/3 chance
ld a, [PartyCount]
cp $1
- ret z
+ ret z ; only one mon, nothing to do
ld c, [hl]
ld a, b
cp $2
- jr c, .asm_2edc3
+ jr c, .checkPreviousMonsLoop ; no more mons after this one, go backwards
call Random
cp $80
- jr c, .asm_2edc3
-.asm_2edb3
+ jr c, .checkPreviousMonsLoop ; 1/2 chance, go backwards
+.checkFollowingMonsLoop
add hl, de
ld a, [hl]
and a
- jr z, .asm_2edd9
+ jr z, .infectMon
ld c, a
and $3
- ret z
- dec b
+ ret z ; if mon has cured pokerus, stop searching
+ dec b ; go on to next mon
ld a, b
cp $1
- jr nz, .asm_2edb3
+ jr nz, .checkFollowingMonsLoop ; no more mons left
ret
-.asm_2edc3
+.checkPreviousMonsLoop
ld a, [PartyCount]
cp b
- ret z
+ ret z ; no more mons
ld a, l
sub e
ld l, a
@@ -40983,14 +40984,14 @@
ld h, a
ld a, [hl]
and a
- jr z, .asm_2edd9
+ jr z, .infectMon
ld c, a
and $3
- ret z
- inc b
- jr .asm_2edc3
+ ret z ; if mon has cured pokerus, stop searching
+ inc b ; go on to next mon
+ jr .checkPreviousMonsLoop
-.asm_2edd9
+.infectMon
ld a, c
and $f0
ld b, a
@@ -41003,37 +41004,38 @@
ret
; 2ede6
-Function2ede6: ; 2ede6
+; any berry held by a Shuckle may be converted to berry juice
+ConvertBerriesToBerryJuice: ; 2ede6
ld hl, StatusFlags2
bit 6, [hl]
ret z
call Random
cp $10
- ret nc
+ ret nc ; 1/16 chance
ld hl, PartyMons
ld a, [PartyCount]
-.asm_2edf8
+.partyMonLoop
push af
push hl
ld a, [hl]
cp SHUCKLE
- jr nz, .asm_2ee08
+ jr nz, .nextMon
ld bc, PartyMon1Item - PartyMon1Species
add hl, bc
ld a, [hl]
cp BERRY
- jr z, .asm_2ee12
+ jr z, .convertToJuice
-.asm_2ee08
+.nextMon
pop hl
ld bc, PartyMon2 - PartyMon1
add hl, bc
pop af
dec a
- jr nz, .asm_2edf8
+ jr nz, .partyMonLoop
ret
-.asm_2ee12
+.convertToJuice
ld a, BERRY_JUICE
ld [hl], a
pop hl
@@ -85916,7 +85918,7 @@
ld a, [hli]
ld h, [hl]
ld l, a
- call GetMapEventBank
+ call GetMapScriptHeaderBank
call CallScript
ret
; 968c7
@@ -85980,9 +85982,9 @@
add hl, de
add hl, de
- call GetMapEventBank
+ call GetMapScriptHeaderBank
call GetFarHalfword
- call GetMapEventBank
+ call GetMapScriptHeaderBank
call CallScript
ld hl, ScriptFlags
@@ -86157,7 +86159,7 @@
ld a, [hli]
ld h, [hl]
ld l, a
- call GetMapEventBank
+ call GetMapScriptHeaderBank
call CallScript
; ld a, -1
ret
@@ -86169,7 +86171,7 @@
ld a, [hli]
ld h, [hl]
ld l, a
- call GetMapEventBank
+ call GetMapScriptHeaderBank
ld de, EngineBuffer1
ld bc, 2
call FarCopyBytes
@@ -86255,7 +86257,7 @@
ld a, [hli]
ld h, [hl]
ld l, a
- call GetMapEventBank
+ call GetMapScriptHeaderBank
call CallScript
scf
ret
@@ -86264,7 +86266,7 @@
call CheckSignFlag
jp nz, .dontread
call PlayTalkObject
- call GetMapEventBank
+ call GetMapScriptHeaderBank
ld de, EngineBuffer1
ld bc, 3
call FarCopyBytes
@@ -86277,7 +86279,7 @@
.asm_96aa2
call CheckSignFlag
jr nz, .dontread
- call GetMapEventBank
+ call GetMapScriptHeaderBank
ld de, EngineBuffer1
ld bc, 3
call FarCopyBytes
@@ -86298,9 +86300,9 @@
pop hl
inc hl
inc hl
- call GetMapEventBank
+ call GetMapScriptHeaderBank
call GetFarHalfword
- call GetMapEventBank
+ call GetMapScriptHeaderBank
call CallScript
scf
ret
@@ -86317,7 +86319,7 @@
ld h, [hl]
ld l, a
push hl
- call GetMapEventBank
+ call GetMapScriptHeaderBank
call GetFarHalfword
ld e, l
ld d, h
@@ -87674,7 +87676,7 @@
; b8172
Functionb8172: ; b8172
- call GetMapEventBank
+ call GetMapScriptHeaderBank
ld [MagikarpLength], a
ld a, [XCoord]
add $5
@@ -111876,7 +111878,7 @@
ld a, [MapY] ; $d4e7
sub $4
ld b, a
- ld a, [$d19e]
+ ld a, [MapHeight]
add a
cp b
jr z, .asm_10486b
@@ -111900,7 +111902,7 @@
ld a, [MapX] ; $d4e6
sub $4
ld b, a
- ld a, [$d19f]
+ ld a, [MapWidth]
add a
cp b
jr z, .asm_10486b
@@ -111928,7 +111930,7 @@
ld c, a
ld b, $0
add hl, bc
- ld a, [$d19f]
+ ld a, [MapWidth]
add $6
ld c, a
ld b, $0
--- a/wram.asm
+++ b/wram.asm
@@ -1099,15 +1099,29 @@
UsedSprites: ; d154
ds 32
-SECTION "map",WRAMX[$d1a3],BANK[1]
+SECTION "map",WRAMX[$d19d],BANK[1]
-MapEventBank: ; d1a3
+; both are in blocks (2x2 walkable tiles, 4x4 graphics tiles)
+MapHeader: ; d19d
+MapBorderBlock: ; d19d
ds 1
-
- ds 5
-
-MapConnections:
-
+MapHeight: ; d19e
+ ds 1
+MapWidth: ; d19f
+ ds 1
+MapBlockDataBank: ; d1a0
+ ds 1
+MapBlockDataPointer: ; d1a1
+ ds 2
+MapScriptHeaderBank: ; d1a3
+ ds 1
+MapScriptHeaderPointer: ; d1a4
+ ds 2
+MapEventHeaderPointer: ; d1a6
+ ds 2
+; bit set
+MapConnections: ; d1a8
+ ds 1
NorthMapConnection: ; d1a9
NorthConnectedMapGroup: ; d1a9
ds 1