summaryrefslogtreecommitdiff
path: root/engine/pokegear.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/pokegear.asm')
-rwxr-xr-xengine/pokegear.asm291
1 files changed, 148 insertions, 143 deletions
diff --git a/engine/pokegear.asm b/engine/pokegear.asm
index 8eda1d9b8..6fb446c1a 100755
--- a/engine/pokegear.asm
+++ b/engine/pokegear.asm
@@ -60,7 +60,7 @@ Function90bea: ; 90bea (24:4bea)
ld [hWX], a
call Function90c4e
callba ClearSpriteAnims
- call Function90d32
+ call InitPokegearModeIndicatorArrow
ld a, 8
call SkipMusic
ld a, $e3
@@ -85,8 +85,8 @@ Function90bea: ; 90bea (24:4bea)
ld a, [hCGB]
and a
ret z
- ld a, $e4
- call Functioncf8
+ ld a, %11100100
+ call DmgToCgbObjPal0
ret
Function90c4e: ; 90c4e
@@ -121,6 +121,7 @@ Function90c4e: ; 90c4e
ld l, e
ld a, b
+ ; standing sprite
push af
ld de, VTiles0 tile $10
ld bc, 4 tiles
@@ -129,7 +130,8 @@ Function90c4e: ; 90c4e
pop hl
- ld de, $c0
+ ; walking sprite
+ ld de, 12 tiles
add hl, de
ld de, VTiles0 tile $14
ld bc, 4 tiles
@@ -148,11 +150,11 @@ FastShipGFX: ; 90cb2
INCBIN "gfx/misc/fast_ship.2bpp"
; 90d32
-Function90d32: ; 90d32 (24:4d32)
+InitPokegearModeIndicatorArrow: ; 90d32 (24:4d32)
depixel 4, 2, 4, 0
ld a, SPRITE_ANIM_INDEX_0D
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $0
ret
@@ -199,10 +201,10 @@ Function90d70: ; 90d70 (24:4d70)
call GetWorldMapLocation
cp FAST_SHIP
- jr z, .asm_90d95
+ jr z, .FastShip
cp SPECIAL_MAP
- jr nz, .asm_90d8e
+ jr nz, .LoadLandmark
ld a, [BackupMapGroup]
ld b, a
@@ -210,12 +212,12 @@ Function90d70: ; 90d70 (24:4d70)
ld c, a
call GetWorldMapLocation
-.asm_90d8e
+.LoadLandmark
ld [wc6d8], a
ld [wc6d7], a
ret
-.asm_90d95
+.FastShip
ld [wc6d8], a
ld a, NEW_BARK_TOWN
ld [wc6d7], a
@@ -670,7 +672,7 @@ Function9102f: ; 9102f (24:502f)
Function9106a: ; 9106a
push af
- ld de, 0
+ depixel 0, 0
ld b, SPRITE_ANIM_INDEX_0A
ld a, [PlayerGender]
bit 0, a
@@ -680,7 +682,7 @@ Function9106a: ; 9106a
.asm_91079
ld a, b
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $10
pop af
@@ -688,10 +690,10 @@ Function9106a: ; 9106a
push bc
callba GetLandmarkCoords
pop bc
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hl], e
- ld hl, $5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld [hl], d
ret
@@ -699,15 +701,15 @@ Function9106a: ; 9106a
Function91098: ; 91098
push af
- ld de, 0
+ depixel 0, 0
ld a, SPRITE_ANIM_INDEX_0D
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $4
- ld hl, $2
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
- ld [hl], $0
+ ld [hl], SPRITE_ANIM_SEQ_00
pop af
push bc
call Function910d4
@@ -736,10 +738,10 @@ Function910d4: ; 910d4
ld e, a
callba GetLandmarkCoords
pop bc
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hl], e
- ld hl, $5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld [hl], d
ret
@@ -765,7 +767,7 @@ Function910f9: ; 910f9 (24:50f9)
depixel 4, 10, 4, 4
ld a, SPRITE_ANIM_INDEX_14
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $8
call _UpdateRadioStation
@@ -1925,12 +1927,12 @@ PokegearMap: ; 91ae1
ld a, e
and a
jr nz, .kanto
- call Function91ff2
+ call LoadTownMapGFX
call FillJohtoMap
ret
.kanto
- call Function91ff2
+ call LoadTownMapGFX
call FillKantoMap
ret
; 91af3
@@ -1946,13 +1948,13 @@ _FlyMap: ; 91af3
xor a
ld [hBGMapMode], a
callba ClearSpriteAnims
- call Function91ff2
- ld de, GFX_922e1
+ call LoadTownMapGFX
+ ld de, FlyMapLabelBorderGFX
ld hl, VTiles2 tile $30
- lb bc, BANK(GFX_922e1), 6
+ lb bc, BANK(FlyMapLabelBorderGFX), 6
call Request1bpp
call FlyMap
- call Function91c8f
+ call ret_91c8f
ld b, SCGB_02
call GetSGBLayout
call SetPalettes
@@ -2182,10 +2184,6 @@ Flypoints: ; 91c5e
const_def
flypoint: MACRO
-; \1\@FLY EQUS "FLY_\1"
-; \1\@SPAWN EQUS "SPAWN_\1"
- ; const \1\@FLY
- ; db \2, \1\@SPAWN
const FLY_\1
db \2, SPAWN_\1
ENDM
@@ -2223,7 +2221,7 @@ KANTO_FLYPOINT EQU const_value
db -1
; 91c8f
-Function91c8f: ; 91c8f
+ret_91c8f: ; 91c8f
ret
; 91c90
@@ -2344,7 +2342,8 @@ FlyMap: ; 91c90
ret
; 91d11
-Function91d11: ; 91d11
+_Area: ; 91d11
+; e: Current landmark
ld a, [wd002]
push af
ld a, [wd003]
@@ -2357,25 +2356,24 @@ Function91d11: ; 91d11
ld a, $1
ld [hInMenu], a
- ld de, GFX_922d1
+ ld de, PokedexNestIconGFX
ld hl, VTiles0 tile $7f
- lb bc, BANK(GFX_922d1), 1
- call Request2bpp ; actually 1bpp
-
- call Function91ed0
+ lb bc, BANK(PokedexNestIconGFX), 1
+ call Request2bpp
+ call .GetPlayerOrFastShipIcon
ld hl, VTiles0 tile $78
- ld c, $4
+ ld c, 4
call Request2bpp
- call Function91ff2
+ call LoadTownMapGFX
call FillKantoMap
- call Function91de9
+ call .PlaceString_MonsNest
call TownMapPals
hlbgcoord 0, 0, VBGMap1
call TownMapBGUpdate
call FillJohtoMap
- call Function91de9
+ call .PlaceString_MonsNest
call TownMapPals
hlbgcoord 0, 0
call TownMapBGUpdate
@@ -2384,8 +2382,8 @@ Function91d11: ; 91d11
call SetPalettes
xor a
ld [hBGMapMode], a
- xor a
- call Function91e1e
+ xor a ; Johto
+ call .GetAndPlaceNest
.loop
call JoyTextDelay
ld hl, hJoyPressed
@@ -2395,12 +2393,12 @@ Function91d11: ; 91d11
ld a, [hJoypadDown]
and SELECT
jr nz, .select
- call Function91d9b
- call Function91dcd
+ call .LeftRightInput
+ call .BlinkNestIcons
jr .next
.select
- call Function91e5a
+ call .HideNestsShowPlayer
.next
call DelayFrame
@@ -2415,27 +2413,27 @@ Function91d11: ; 91d11
ret
; 91d9b
-Function91d9b: ; 91d9b
+.LeftRightInput: ; 91d9b
ld a, [hl]
- and $20
- jr nz, .asm_91da6
+ and D_LEFT
+ jr nz, .left
ld a, [hl]
- and $10
- jr nz, .asm_91db7
+ and D_RIGHT
+ jr nz, .right
ret
-.asm_91da6
+.left
ld a, [hWY]
cp $90
ret z
call ClearSprites
ld a, $90
ld [hWY], a
- xor a
- call Function91e1e
+ xor a ; Johto
+ call .GetAndPlaceNest
ret
-.asm_91db7
+.right
ld a, [StatusFlags]
bit 6, a ; hall of fame
ret z
@@ -2445,39 +2443,39 @@ Function91d9b: ; 91d9b
call ClearSprites
xor a
ld [hWY], a
- ld a, $1
- call Function91e1e
+ ld a, 1 ; Kanto
+ call .GetAndPlaceNest
ret
; 91dcd
-Function91dcd: ; 91dcd
+.BlinkNestIcons: ; 91dcd
ld a, [hVBlankCounter]
ld e, a
and $f
ret nz
ld a, e
and $10
- jr nz, .asm_91ddc
+ jr nz, .copy_sprites
call ClearSprites
ret
-.asm_91ddc
+.copy_sprites
hlcoord 0, 0
ld de, Sprites
- ld bc, $a0
+ ld bc, SpritesEnd - Sprites
call CopyBytes
ret
; 91de9
-Function91de9: ; 91de9
+.PlaceString_MonsNest: ; 91de9
hlcoord 0, 0
ld bc, SCREEN_WIDTH
- ld a, $7f
+ ld a, " "
call ByteFill
hlcoord 0, 1
ld a, $6
ld [hli], a
- ld bc, SCREEN_HEIGHT
+ ld bc, SCREEN_WIDTH - 2
ld a, $7
call ByteFill
ld [hl], $17
@@ -2486,54 +2484,56 @@ Function91de9: ; 91de9
call PlaceString
ld h, b
ld l, c
- ld de, String_91e16
+ ld de, .String_SNest
call PlaceString
ret
; 91e16
-String_91e16:
+.String_SNest:
db "'S NEST@"
; 91e1e
-Function91e1e: ; 91e1e
+.GetAndPlaceNest: ; 91e1e
ld [wd003], a
ld e, a
- callba Function2a01f
+ callba FindNest ; load nest landmarks into TileMap[0,0]
decoord 0, 0
ld hl, Sprites
-.asm_91e2e
+.nestloop
ld a, [de]
and a
- jr z, .asm_91e4d
+ jr z, .done_nest
push de
ld e, a
push hl
callba GetLandmarkCoords
pop hl
+ ; load into OAM
ld a, d
- sub $4
+ sub 4
ld [hli], a
ld a, e
- sub $4
+ sub 4
ld [hli], a
- ld a, $7f
+ ld a, $7f ; nest icon in this context
ld [hli], a
xor a
ld [hli], a
+ ; next
pop de
inc de
- jr .asm_91e2e
+ jr .nestloop
-.asm_91e4d
+.done_nest
ld hl, Sprites
decoord 0, 0
- ld bc, $a0
+ ld bc, SpritesEnd - Sprites
call CopyBytes
ret
; 91e5a
-Function91e5a: ; 91e5a
- call Function91ea9
+.HideNestsShowPlayer: ; 91e5a
+ call .CheckPlayerLocation
ret c
ld a, [wd002]
@@ -2541,12 +2541,12 @@ Function91e5a: ; 91e5a
callba GetLandmarkCoords
ld c, e
ld b, d
- ld de, Unknown_91e9c
+ ld de, .PlayerOAM
ld hl, Sprites
-.asm_91e70
+.ShowPlayerLoop
ld a, [de]
cp $80
- jr z, .asm_91e91
+ jr z, .copy
add b
ld [hli], a
@@ -2558,24 +2558,24 @@ Function91e5a: ; 91e5a
inc de
ld a, [de]
- add $78
+ add $78 ; where the player's sprite is loaded
ld [hli], a
inc de
push bc
- ld c, 0
+ ld c, 0 ; RED
ld a, [PlayerGender]
bit 0, a
- jr z, .asm_91e8c
- inc c
-.asm_91e8c
+ jr z, .got_gender
+ inc c ; BLUE
+.got_gender
ld a, c
ld [hli], a
pop bc
- jr .asm_91e70
+ jr .ShowPlayerLoop
-.asm_91e91
+.copy
ld hl, Sprites + $10
ld bc, SpritesEnd - (Sprites + $10)
xor a
@@ -2583,15 +2583,18 @@ Function91e5a: ; 91e5a
ret
; 91e9c
-Unknown_91e9c: ; 91e9c
- db -8, -8, 0
- db -8, 0, 1
- db 0, -8, 2
- db 0, 0, 3
+.PlayerOAM: ; 91e9c
+ db -1 * 8, -1 * 8, 0 ; top left
+ db -1 * 8, 0 * 8, 1 ; top right
+ db 0 * 8, -1 * 8, 2 ; bottom left
+ db 0 * 8, 0 * 8, 3 ; bottom right
db $80 ; terminator
; 91ea9
-Function91ea9: ; 91ea9
+.CheckPlayerLocation: ; 91ea9
+; Don't show the player's sprite if you're
+; not in the same region as what's currently
+; on the screen.
ld a, [wd002]
cp FAST_SHIP
jr z, .johto
@@ -2622,14 +2625,14 @@ Function91ea9: ; 91ea9
ret
; 91ed0
-Function91ed0: ; 91ed0
+.GetPlayerOrFastShipIcon: ; 91ed0
ld a, [wd002]
cp FAST_SHIP
- jr z, .asm_91ede
+ jr z, .FastShip
callba GetPlayerIcon
ret
-.asm_91ede
+.FastShip
ld de, FastShipGFX
ld b, BANK(FastShipGFX)
ret
@@ -2679,7 +2682,7 @@ FillTownMap: ; 91f07
hlcoord 0, 0
.loop
ld a, [de]
- cp $ff
+ cp -1
ret z
ld a, [de]
ld [hli], a
@@ -2692,7 +2695,7 @@ TownMapPals: ; 91f13
hlcoord 0, 0
decoord 0, 0, AttrMap
- ld bc, 360
+ ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
.loop
; Current tile
ld a, [hli]
@@ -2744,10 +2747,12 @@ TownMapPals: ; 91f13
ret
TownMapPalMap:
- db $11, $21, $22, $00, $11, $13, $54, $54, $11, $21, $22, $00
- db $11, $10, $01, $00, $11, $21, $22, $00, $00, $00, $00, $00
- db $00, $00, $44, $04, $00, $00, $00, $00, $33, $33, $33, $33
- db $33, $33, $33, $03, $33, $33, $33, $33, $00, $00, $00, $00
+ dn 1, 1, 2, 1, 2, 2, 0, 0, 1, 1, 1, 3, 5, 4, 5, 4
+ dn 1, 1, 2, 1, 2, 2, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0
+ dn 1, 1, 2, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ dn 0, 0, 0, 0, 4, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
+ dn 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3
+ dn 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0
; 91f7b
TownMapMon: ; 91f7b
@@ -2767,16 +2772,16 @@ TownMapMon: ; 91f7b
callba GetSpeciesIcon
; Animation/palette
- ld de, 0
- ld a, $0
+ depixel 0, 0
+ ld a, SPRITE_ANIM_INDEX_00
call _InitSpriteAnimStruct
- ld hl, 3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
- ld [hl], 8
- ld hl, 2
+ ld [hl], $8
+ ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
- ld [hl], 0
+ ld [hl], SPRITE_ANIM_SEQ_00
ret
; 91fa6
@@ -2802,17 +2807,17 @@ TownMapPlayerIcon: ; 91fa6
call Request2bpp
; Animation/palette
- ld de, 0
- ld b, $0a ; Male
+ depixel 0, 0
+ ld b, SPRITE_ANIM_INDEX_0A ; Male
ld a, [PlayerGender]
bit 0, a
- jr z, .asm_91fd3
- ld b, $1e ; Female
-.asm_91fd3
+ jr z, .got_gender
+ ld b, SPRITE_ANIM_INDEX_1E ; Female
+.got_gender
ld a, b
call _InitSpriteAnimStruct
- ld hl, $3
+ ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $10
@@ -2822,16 +2827,16 @@ TownMapPlayerIcon: ; 91fa6
callba GetLandmarkCoords
pop bc
- ld hl, 4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hl], e
- ld hl, 5
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld [hl], d
ret
; 0x91ff2
-Function91ff2: ; 91ff2
+LoadTownMapGFX: ; 91ff2
ld hl, TownMapGFX
ld de, VTiles2
lb bc, BANK(TownMapGFX), $30
@@ -2848,14 +2853,14 @@ KantoMap: ; 92168
INCBIN "gfx/misc/kanto.bin"
; 922d1
+PokedexNestIconGFX: ; 922d1
+INCBIN "gfx/pokegear/dexmap_nest_icon.2bpp"
+
+FlyMapLabelBorderGFX: ; 922e1
+INCBIN "gfx/pokegear/flymap_label_border.2bpp"
-GFX_922d1: ; 922d1
-INCBIN "gfx/unknown/0922d1.2bpp"
-GFX_922e1: ; 922e1
-INCBIN "gfx/unknown/0922e1.2bpp"
-GFX_92301: ; 92301
-INCBIN "gfx/unknown/092301.2bpp"
-Function92311: ; unreferenced
+Function92311: ; 92311
+; unreferenced
xor a
ld [wd002], a
call ClearBGPalettes
@@ -2868,10 +2873,10 @@ Function92311: ; unreferenced
xor a
ld [hBGMapMode], a
callba ClearSpriteAnims
- call Function91ff2
- ld de, GFX_922e1
+ call LoadTownMapGFX
+ ld de, FlyMapLabelBorderGFX
ld hl, VTiles2 tile $30
- lb bc, BANK(GFX_922e1), 6
+ lb bc, BANK(FlyMapLabelBorderGFX), 6
call Request1bpp
call FillKantoMap
call TownMapBubble
@@ -2900,7 +2905,7 @@ Function92311: ; unreferenced
ld a, [hl]
and A_BUTTON
jr nz, .pressedA
- call Function923b8
+ call .HandleDPad
call GetMapCursorCoordinates
callba PlaySpriteAnimations
call DelayFrame
@@ -2935,36 +2940,36 @@ Function92311: ; unreferenced
ret
; 923b8
-Function923b8: ; 923b8
+.HandleDPad: ; 923b8
ld hl, hJoyLast
ld a, [hl]
and D_DOWN | D_RIGHT
- jr nz, .asm_923c6
+ jr nz, .down_right
ld a, [hl]
and D_UP | D_LEFT
- jr nz, .asm_923d3
+ jr nz, .up_left
ret
-.asm_923c6
+.down_right
ld hl, wd002
ld a, [hl]
cp FLY_INDIGO
- jr c, .asm_923d0
+ jr c, .okay_dr
ld [hl], -1
-.asm_923d0
+.okay_dr
inc [hl]
- jr .asm_923dd
+ jr .continue
-.asm_923d3
+.up_left
ld hl, wd002
ld a, [hl]
and a
- jr nz, .asm_923dc
+ jr nz, .okay_ul
ld [hl], FLY_INDIGO + 1
-.asm_923dc
+.okay_ul
dec [hl]
-.asm_923dd
+.continue
ld a, [wd002]
cp KANTO_FLYPOINT
jr c, .johto
@@ -2972,14 +2977,14 @@ Function923b8: ; 923b8
call FillKantoMap
xor a
ld b, $9c
- jr .asm_923f3
+ jr .finish
.johto
call FillJohtoMap
ld a, $90
ld b, $98
-.asm_923f3
+.finish
ld [hWY], a
ld a, b
ld [hBGMapAddress + 1], a