You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
More link trade shenanigans
This commit is contained in:
@@ -5700,7 +5700,7 @@ MoveSelectionScreen: ; 3e4bc
|
||||
xor a
|
||||
ld [w2DMenuFlags2], a
|
||||
ld a, $10
|
||||
ld [w2DMenuFlags3], a
|
||||
ld [w2DMenuCursorOffsets], a
|
||||
.menu_loop
|
||||
ld a, [wMoveSelectionMenuType]
|
||||
and a
|
||||
@@ -6531,7 +6531,7 @@ LoadEnemyMon: ; 3e8eb
|
||||
ld [EnemyMonLevel], a
|
||||
; Fill stats
|
||||
ld de, EnemyMonMaxHP
|
||||
ld b, $00
|
||||
ld b, FALSE
|
||||
ld hl, LinkBattleRNs + 7 ; ?
|
||||
predef CalcPkmnStats
|
||||
|
||||
@@ -7529,7 +7529,7 @@ endr
|
||||
push bc
|
||||
call LoadTileMapToTempTileMap
|
||||
pop bc
|
||||
ld hl, MON_EXP + 2
|
||||
ld hl, MON_STAT_EXP - 1
|
||||
add hl, bc
|
||||
ld d, [hl]
|
||||
ld a, [hQuotient + 2]
|
||||
@@ -7562,7 +7562,7 @@ endr
|
||||
ld d, MAX_LEVEL
|
||||
callab CalcExpAtLevel
|
||||
pop bc
|
||||
ld hl, MON_EXP + 2
|
||||
ld hl, MON_STAT_EXP - 1
|
||||
add hl, bc
|
||||
push bc
|
||||
ld a, [hQuotient]
|
||||
@@ -7621,10 +7621,10 @@ endr
|
||||
add hl, bc
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, MON_EXP + 2
|
||||
ld hl, MON_STAT_EXP - 1
|
||||
add hl, bc
|
||||
push bc
|
||||
ld b, $1
|
||||
ld b, TRUE
|
||||
predef CalcPkmnStats
|
||||
pop bc
|
||||
pop de
|
||||
|
@@ -286,7 +286,7 @@ HatchEggs: ; 16f70 (5:6f70)
|
||||
ld [hl], a
|
||||
pop hl
|
||||
push hl
|
||||
ld bc, MON_EXP + 2
|
||||
ld bc, MON_STAT_EXP - 1
|
||||
add hl, bc
|
||||
ld b, $0
|
||||
predef CalcPkmnStats
|
||||
|
@@ -164,7 +164,7 @@ ForgetMove: ; 65d3
|
||||
xor a
|
||||
ld [w2DMenuFlags2], a
|
||||
ld a, $20
|
||||
ld [w2DMenuFlags3], a
|
||||
ld [w2DMenuCursorOffsets], a
|
||||
call StaticMenuJoypad
|
||||
push af
|
||||
call Call_LoadTempTileMapToTileMap
|
||||
|
380
engine/link.asm
380
engine/link.asm
File diff suppressed because it is too large
Load Diff
359
engine/link_trade.asm
Executable file
359
engine/link_trade.asm
Executable file
@@ -0,0 +1,359 @@
|
||||
__LoadTradeScreenBorder: ; 16d421
|
||||
ld de, GFX_16cfc1
|
||||
ld hl, VTiles2
|
||||
lb bc, BANK(GFX_16cfc1), 70
|
||||
call Get2bpp
|
||||
ret
|
||||
; 16d42e
|
||||
|
||||
Function16d42e: ; 16d42e
|
||||
ld hl, Tilemap_16d465
|
||||
decoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
call CopyBytes
|
||||
ret
|
||||
; 16d43b
|
||||
|
||||
Function16d43b: ; 16d43b
|
||||
call LoadStandardMenuDataHeader
|
||||
call ClearBGPalettes
|
||||
call ClearTileMap
|
||||
call ClearSprites
|
||||
callba __LoadTradeScreenBorder ; useless to farcall
|
||||
callba Function16d42e ; useless to farcall
|
||||
ld b, SCGB_08
|
||||
call GetSGBLayout
|
||||
call SetPalettes
|
||||
call WaitBGMap
|
||||
call JoyWaitAorB
|
||||
call Call_ExitMenu
|
||||
ret
|
||||
; 16d465
|
||||
|
||||
Tilemap_16d465:
|
||||
INCBIN "gfx/unknown/16d465.tilemap"
|
||||
|
||||
Tilemap_16d5cd:
|
||||
INCBIN "gfx/unknown/16d5cd.tilemap"
|
||||
|
||||
Tilemap_16d5f5:
|
||||
INCBIN "gfx/unknown/16d5f5.tilemap"
|
||||
|
||||
_LinkTextbox: ; 16d61d
|
||||
ld h, d
|
||||
ld l, e
|
||||
push bc
|
||||
push hl
|
||||
call .draw_border
|
||||
pop hl
|
||||
pop bc
|
||||
|
||||
ld de, AttrMap - TileMap
|
||||
add hl, de
|
||||
inc b
|
||||
inc b
|
||||
inc c
|
||||
inc c
|
||||
ld a, $7
|
||||
.loop
|
||||
push bc
|
||||
push hl
|
||||
.loop2
|
||||
ld [hli], a
|
||||
dec c
|
||||
jr nz, .loop2
|
||||
pop hl
|
||||
ld de, SCREEN_WIDTH
|
||||
add hl, de
|
||||
pop bc
|
||||
dec b
|
||||
jr nz, .loop
|
||||
ret
|
||||
; 16d640
|
||||
|
||||
.draw_border: ; 16d640
|
||||
push hl
|
||||
ld a, $30
|
||||
ld [hli], a
|
||||
inc a
|
||||
call .fill_row
|
||||
inc a
|
||||
ld [hl], a
|
||||
pop hl
|
||||
ld de, SCREEN_WIDTH
|
||||
add hl, de
|
||||
.loop3
|
||||
push hl
|
||||
ld a, $33
|
||||
ld [hli], a
|
||||
ld a, " "
|
||||
call .fill_row
|
||||
ld [hl], $34
|
||||
pop hl
|
||||
ld de, SCREEN_WIDTH
|
||||
add hl, de
|
||||
dec b
|
||||
jr nz, .loop3
|
||||
|
||||
ld a, $35
|
||||
ld [hli], a
|
||||
ld a, $36
|
||||
call .fill_row
|
||||
ld [hl], $37
|
||||
ret
|
||||
; 16d66d
|
||||
|
||||
.fill_row: ; 16d66d
|
||||
ld d, c
|
||||
.loop4
|
||||
ld [hli], a
|
||||
dec d
|
||||
jr nz, .loop4
|
||||
ret
|
||||
; 16d673
|
||||
|
||||
InitTradeSpeciesList: ; 16d673
|
||||
call _LoadTradeScreenBorder
|
||||
call Function16d6ae
|
||||
callba InitMG_Mobile_LinkTradePalMap
|
||||
callba PlaceTradePartnerNamesAndParty
|
||||
hlcoord 10, 17
|
||||
ld de, .CANCEL
|
||||
call PlaceString
|
||||
ret
|
||||
; 16d68f
|
||||
|
||||
.CANCEL: ; 16d68f
|
||||
db "CANCEL@"
|
||||
; 16d696
|
||||
|
||||
_LoadTradeScreenBorder: ; 16d696
|
||||
call __LoadTradeScreenBorder
|
||||
ret
|
||||
; 16d69a
|
||||
|
||||
|
||||
Function16d69a: ; 16d69a
|
||||
ld de, GFX_16cfc1 + $300
|
||||
ld hl, VTiles2 tile $76
|
||||
lb bc, BANK(GFX_16cfc1), 8
|
||||
call Get2bpp
|
||||
ret
|
||||
; 16d6a7
|
||||
|
||||
Function16d6a7: ; 16d6a7
|
||||
callba Function49811
|
||||
ret
|
||||
; 16d6ae
|
||||
|
||||
Function16d6ae: ; 16d6ae
|
||||
call Function16d42e
|
||||
ld hl, Tilemap_16d5cd
|
||||
decoord 0, 0
|
||||
ld bc, 2 * SCREEN_WIDTH
|
||||
call CopyBytes
|
||||
ld hl, Tilemap_16d5f5
|
||||
decoord 0, 16
|
||||
ld bc, 2 * SCREEN_WIDTH
|
||||
call CopyBytes
|
||||
ret
|
||||
; 16d6ca
|
||||
|
||||
LinkTextbox: ; 16d6ca
|
||||
call _LinkTextbox
|
||||
ret
|
||||
; 16d6ce
|
||||
|
||||
Function16d6ce: ; 16d6ce
|
||||
call LoadStandardMenuDataHeader
|
||||
call Function16d6e1
|
||||
callba Function87d
|
||||
call Call_ExitMenu
|
||||
call WaitBGMap2
|
||||
ret
|
||||
; 16d6e1
|
||||
|
||||
Function16d6e1: ; 16d6e1
|
||||
hlcoord 4, 10
|
||||
ld b, 1
|
||||
ld c, 10
|
||||
predef Predef_LinkTextbox
|
||||
hlcoord 5, 11
|
||||
ld de, .Waiting
|
||||
call PlaceString
|
||||
call WaitBGMap
|
||||
call WaitBGMap2
|
||||
ld c, 50
|
||||
jp DelayFrames
|
||||
; 16d701
|
||||
|
||||
.Waiting: ; 16d701
|
||||
db "WAITING..!@"
|
||||
; 16d70c
|
||||
|
||||
LinkTradeMenu: ; 16d70c
|
||||
call .MenuAction
|
||||
call .GetJoypad
|
||||
ret
|
||||
; 16d713
|
||||
|
||||
.GetJoypad: ; 16d713
|
||||
push bc
|
||||
push af
|
||||
ld a, [hJoyLast]
|
||||
and D_PAD
|
||||
ld b, a
|
||||
ld a, [hJoyPressed]
|
||||
and BUTTONS
|
||||
or b
|
||||
ld b, a
|
||||
pop af
|
||||
ld a, b
|
||||
pop bc
|
||||
ld d, a
|
||||
ret
|
||||
; 16d725
|
||||
|
||||
.MenuAction: ; 16d725
|
||||
ld hl, w2DMenuFlags2
|
||||
res 7, [hl]
|
||||
ld a, [hBGMapMode]
|
||||
push af
|
||||
call .loop
|
||||
pop af
|
||||
ld [hBGMapMode], a
|
||||
ret
|
||||
|
||||
.loop
|
||||
call .UpdateCursor
|
||||
call .UpdateBGMapAndOAM
|
||||
call .loop2
|
||||
jr nc, .done
|
||||
callba _2DMenuInterpretJoypad
|
||||
jr c, .done
|
||||
ld a, [w2DMenuFlags1]
|
||||
bit 7, a
|
||||
jr nz, .done
|
||||
call .GetJoypad
|
||||
ld b, a
|
||||
ld a, [wMenuJoypadFilter]
|
||||
and b
|
||||
jr z, .loop
|
||||
|
||||
.done
|
||||
ret
|
||||
; 16d759
|
||||
|
||||
.UpdateBGMapAndOAM: ; 16d759
|
||||
ld a, [hOAMUpdate]
|
||||
push af
|
||||
ld a, $1
|
||||
ld [hOAMUpdate], a
|
||||
call WaitBGMap
|
||||
pop af
|
||||
ld [hOAMUpdate], a
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
ret
|
||||
|
||||
.loop2
|
||||
call RTC
|
||||
call .TryAnims
|
||||
ret c
|
||||
ld a, [w2DMenuFlags1]
|
||||
bit 7, a
|
||||
jr z, .loop2
|
||||
and a
|
||||
ret
|
||||
; 16d77a
|
||||
|
||||
.UpdateCursor: ; 16d77a
|
||||
ld hl, wCursorCurrentTile
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ld a, [hl]
|
||||
cp $1f
|
||||
jr nz, .not_currently_selected
|
||||
ld a, [wCursorOffCharacter]
|
||||
ld [hl], a
|
||||
push hl
|
||||
push bc
|
||||
ld bc, PKMN_NAME_LENGTH
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
pop bc
|
||||
pop hl
|
||||
|
||||
.not_currently_selected
|
||||
ld a, [w2DMenuCursorInitY]
|
||||
ld b, a
|
||||
ld a, [w2DMenuCursorInitX]
|
||||
ld c, a
|
||||
call Coord2Tile
|
||||
ld a, [w2DMenuCursorOffsets]
|
||||
swap a
|
||||
and $f
|
||||
ld c, a
|
||||
ld a, [wMenuCursorY]
|
||||
ld b, a
|
||||
xor a
|
||||
dec b
|
||||
jr z, .skip
|
||||
.loop3
|
||||
add c
|
||||
dec b
|
||||
jr nz, .loop3
|
||||
|
||||
.skip
|
||||
ld c, SCREEN_WIDTH
|
||||
call AddNTimes
|
||||
ld a, [w2DMenuCursorOffsets]
|
||||
and $f
|
||||
ld c, a
|
||||
ld a, [wMenuCursorX]
|
||||
ld b, a
|
||||
xor a
|
||||
dec b
|
||||
jr z, .skip2
|
||||
.loop4
|
||||
add c
|
||||
dec b
|
||||
jr nz, .loop4
|
||||
|
||||
.skip2
|
||||
ld c, a
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp $1f
|
||||
jr z, .cursor_already_there
|
||||
ld [wCursorOffCharacter], a
|
||||
ld [hl], $1f
|
||||
push hl
|
||||
push bc
|
||||
ld bc, PKMN_NAME_LENGTH
|
||||
add hl, bc
|
||||
ld [hl], $1f
|
||||
pop bc
|
||||
pop hl
|
||||
.cursor_already_there
|
||||
ld a, l
|
||||
ld [wCursorCurrentTile], a
|
||||
ld a, h
|
||||
ld [wCursorCurrentTile + 1], a
|
||||
ret
|
||||
; 16d7e7
|
||||
|
||||
.TryAnims: ; 16d7e7
|
||||
ld a, [w2DMenuFlags1]
|
||||
bit 6, a
|
||||
jr z, .skip_anims
|
||||
callba PlaySpriteAnimationsAndDelayFrame
|
||||
.skip_anims
|
||||
call JoyTextDelay
|
||||
call .GetJoypad
|
||||
and a
|
||||
ret z
|
||||
scf
|
||||
ret
|
||||
; 16d7fe
|
@@ -239,8 +239,8 @@ Init2DMenuCursorPosition: ; 2411a (9:411a)
|
||||
|
||||
.InitFlags_b: ; 2418a
|
||||
ld a, [wMenuData2Spacing]
|
||||
or %00100000
|
||||
ld [w2DMenuFlags3], a
|
||||
or $20
|
||||
ld [w2DMenuCursorOffsets], a
|
||||
ret
|
||||
; 24193
|
||||
|
||||
@@ -536,7 +536,7 @@ Place2DMenuCursor: ; 24329
|
||||
ld a, [w2DMenuCursorInitX]
|
||||
ld c, a
|
||||
call Coord2Tile
|
||||
ld a, [w2DMenuFlags3]
|
||||
ld a, [w2DMenuCursorOffsets]
|
||||
swap a
|
||||
and $f
|
||||
ld c, a
|
||||
@@ -553,7 +553,7 @@ Place2DMenuCursor: ; 24329
|
||||
.got_row
|
||||
ld c, SCREEN_WIDTH
|
||||
call AddNTimes
|
||||
ld a, [w2DMenuFlags3]
|
||||
ld a, [w2DMenuCursorOffsets]
|
||||
and $f
|
||||
ld c, a
|
||||
ld a, [wMenuCursorX]
|
||||
@@ -809,8 +809,8 @@ _InitVerticalMenuCursor:: ; 2446d
|
||||
; w2DMenuFlags2
|
||||
xor a
|
||||
ld [hli], a
|
||||
; w2DMenuFlags3
|
||||
ld a, %00100000
|
||||
; w2DMenuCursorOffsets
|
||||
ln a, 2, 0
|
||||
ld [hli], a
|
||||
; wMenuJoypadFilter
|
||||
ld a, A_BUTTON
|
||||
|
@@ -309,7 +309,7 @@ ScrollingMenu_InitFlags: ; 24764
|
||||
xor a
|
||||
ld [w2DMenuFlags2], a
|
||||
ld a, $20
|
||||
ld [w2DMenuFlags3], a
|
||||
ld [w2DMenuCursorOffsets], a
|
||||
ld a, A_BUTTON | B_BUTTON | D_UP | D_DOWN
|
||||
bit 7, c
|
||||
jr z, .disallow_select
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
; These functions seem to be related to backwards compatibility
|
||||
|
||||
Functionfb57e: ; fb57e
|
||||
ValidateOTTrademon: ; fb57e
|
||||
ld a, [wd003]
|
||||
ld hl, OTPartyMon1Species
|
||||
call GetPartyLocation
|
||||
@@ -14,21 +14,21 @@ Functionfb57e: ; fb57e
|
||||
ld a, [hl]
|
||||
pop hl
|
||||
cp EGG
|
||||
jr z, .asm_fb59c
|
||||
jr z, .matching_or_egg
|
||||
cp [hl]
|
||||
jr nz, .asm_fb5db
|
||||
jr nz, .abnormal
|
||||
|
||||
.asm_fb59c
|
||||
.matching_or_egg
|
||||
ld b, h
|
||||
ld c, l
|
||||
ld hl, MON_LEVEL
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp 101
|
||||
jr nc, .asm_fb5db
|
||||
cp MAX_LEVEL + 1
|
||||
jr nc, .abnormal
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_TIMECAPSULE
|
||||
jr nz, .asm_fb5d9
|
||||
jr nz, .normal
|
||||
ld hl, OTPartySpecies
|
||||
ld a, [wd003]
|
||||
ld c, a
|
||||
@@ -39,29 +39,29 @@ Functionfb57e: ; fb57e
|
||||
; Magnemite and Magneton's types changed
|
||||
; from Electric to Electric/Steel.
|
||||
cp MAGNEMITE
|
||||
jr z, .asm_fb5d9
|
||||
jr z, .normal
|
||||
cp MAGNETON
|
||||
jr z, .asm_fb5d9
|
||||
jr z, .normal
|
||||
|
||||
ld [CurSpecies], a
|
||||
call GetBaseData
|
||||
ld hl, wcbea
|
||||
ld hl, wLinkOTPartyMonTypes
|
||||
rept 2
|
||||
add hl, bc
|
||||
endr
|
||||
ld a, [BaseType1]
|
||||
cp [hl]
|
||||
jr nz, .asm_fb5db
|
||||
jr nz, .abnormal
|
||||
inc hl
|
||||
ld a, [BaseType2]
|
||||
cp [hl]
|
||||
jr nz, .asm_fb5db
|
||||
jr nz, .abnormal
|
||||
|
||||
.asm_fb5d9
|
||||
.normal
|
||||
and a
|
||||
ret
|
||||
|
||||
.asm_fb5db
|
||||
.abnormal
|
||||
scf
|
||||
ret
|
||||
; fb5dd
|
||||
@@ -72,10 +72,10 @@ Functionfb5dd: ; fb5dd
|
||||
ld a, [PartyCount]
|
||||
ld b, a
|
||||
ld c, $0
|
||||
.asm_fb5e7
|
||||
.loop
|
||||
ld a, c
|
||||
cp d
|
||||
jr z, .asm_fb5f8
|
||||
jr z, .next
|
||||
push bc
|
||||
ld a, c
|
||||
ld hl, PartyMon1HP
|
||||
@@ -83,48 +83,47 @@ Functionfb5dd: ; fb5dd
|
||||
pop bc
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
jr nz, .asm_fb60b
|
||||
jr nz, .done
|
||||
|
||||
.asm_fb5f8
|
||||
.next
|
||||
inc c
|
||||
dec b
|
||||
jr nz, .asm_fb5e7
|
||||
jr nz, .loop
|
||||
ld a, [wd003]
|
||||
ld hl, OTPartyMon1HP
|
||||
call GetPartyLocation
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
jr nz, .asm_fb60b
|
||||
jr nz, .done
|
||||
scf
|
||||
ret
|
||||
|
||||
.asm_fb60b
|
||||
.done
|
||||
and a
|
||||
ret
|
||||
; fb60d
|
||||
|
||||
Functionfb60d: ; fb60d
|
||||
PlaceTradePartnerNamesAndParty: ; fb60d
|
||||
hlcoord 4, 0
|
||||
ld de, PlayerName
|
||||
call PlaceString
|
||||
ld a, $14
|
||||
ld [bc], a
|
||||
hlcoord 4, 8
|
||||
ld de, wd26b
|
||||
ld de, OTPlayerName
|
||||
call PlaceString
|
||||
ld a, $14
|
||||
ld [bc], a
|
||||
hlcoord 7, 1
|
||||
ld de, PartySpecies
|
||||
call Functionfb634
|
||||
call .PlaceSpeciesNames
|
||||
hlcoord 7, 9
|
||||
ld de, OTPartySpecies
|
||||
|
||||
Functionfb634: ; fb634
|
||||
.PlaceSpeciesNames: ; fb634
|
||||
ld c, $0
|
||||
.asm_fb636
|
||||
.loop
|
||||
ld a, [de]
|
||||
cp $ff
|
||||
cp -1
|
||||
ret z
|
||||
ld [wd265], a
|
||||
push bc
|
||||
@@ -143,7 +142,7 @@ Functionfb634: ; fb634
|
||||
add hl, bc
|
||||
pop bc
|
||||
inc c
|
||||
jr .asm_fb636
|
||||
jr .loop
|
||||
; fb656
|
||||
|
||||
KantoMonSpecials: ; fb656
|
||||
|
@@ -215,7 +215,7 @@ TMHM_PocketLoop: ; 2c8d3 (b:48d3)
|
||||
xor a
|
||||
ld [w2DMenuFlags2], a
|
||||
ld a, $20
|
||||
ld [w2DMenuFlags3], a
|
||||
ld [w2DMenuCursorOffsets], a
|
||||
ld a, A_BUTTON | B_BUTTON | D_UP | D_DOWN | D_LEFT | D_RIGHT
|
||||
ld [wMenuJoypadFilter], a
|
||||
ld a, [wTMHMPocketCursor]
|
||||
|
@@ -1285,7 +1285,7 @@ UpdateStatsAfterItem: ; ee8c
|
||||
call GetPartyParamLocation
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld a, MON_EXP + 2
|
||||
ld a, MON_STAT_EXP - 1
|
||||
call GetPartyParamLocation
|
||||
ld b, $1
|
||||
predef_jump CalcPkmnStats
|
||||
|
16
main.asm
16
main.asm
@@ -5326,7 +5326,7 @@ endr
|
||||
add hl, bc
|
||||
ld a, $1
|
||||
ld c, a
|
||||
ld b, $0
|
||||
ld b, FALSE
|
||||
call CalcPkmnStatC
|
||||
ld a, [hProduct + 2]
|
||||
ld [de], a
|
||||
@@ -5716,7 +5716,7 @@ SentGetPkmnIntoFromBox: ; db3f
|
||||
add hl, bc
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, MON_EXP + 2
|
||||
ld hl, MON_STAT_EXP - 1
|
||||
add hl, bc
|
||||
|
||||
push bc
|
||||
@@ -6461,7 +6461,7 @@ ComputeNPCTrademonStats: ; e134
|
||||
ld d, h
|
||||
ld e, l
|
||||
push de
|
||||
ld a, MON_EXP + 2
|
||||
ld a, MON_STAT_EXP - 1
|
||||
call GetPartyParamLocation
|
||||
ld b, $1
|
||||
call CalcPkmnStats
|
||||
@@ -6478,8 +6478,9 @@ ComputeNPCTrademonStats: ; e134
|
||||
|
||||
CalcPkmnStats: ; e167
|
||||
; Calculates all 6 Stats of a Pkmn
|
||||
; b = 0 or 1
|
||||
; b: Take into account stat EXP if TRUE
|
||||
; 'c' counts from 1-6 and points with 'BaseStats' to the base value
|
||||
; hl is the path to the Stat EXP
|
||||
; results in $ffb5 and $ffb6 are saved in [de]
|
||||
|
||||
ld c, $0
|
||||
@@ -10274,9 +10275,9 @@ LinkMonStatsScreen: ; 4d319
|
||||
call ClearScreen
|
||||
call ClearBGPalettes
|
||||
call MaxVolume
|
||||
callba Function28ef8
|
||||
callba LoadTradeScreenBorder
|
||||
callba Function4d354
|
||||
callba Function16d673
|
||||
callba InitTradeSpeciesList
|
||||
callba Function28eff
|
||||
call WaitBGMap2
|
||||
ret
|
||||
@@ -11869,7 +11870,7 @@ _TempMonStatsCalculation: ; 50893
|
||||
add hl, bc
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, MON_EXP + 2
|
||||
ld hl, MON_STAT_EXP - 1
|
||||
add hl, bc
|
||||
push bc
|
||||
ld b, $1
|
||||
@@ -15345,6 +15346,7 @@ INCLUDE "misc/battle_tower_47.asm"
|
||||
SECTION "bank5B", ROMX, BANK[$5B]
|
||||
|
||||
INCLUDE "misc/mobile_5b.asm"
|
||||
INCLUDE "engine/link_trade.asm"
|
||||
|
||||
SECTION "bank5C", ROMX, BANK[$5C]
|
||||
|
||||
|
@@ -482,7 +482,7 @@ endr
|
||||
ld e, l
|
||||
push hl
|
||||
push de
|
||||
ld hl, MON_EXP + 2
|
||||
ld hl, MON_STAT_EXP - 1
|
||||
add hl, bc
|
||||
ld b, $1
|
||||
predef CalcPkmnStats
|
||||
|
@@ -490,7 +490,7 @@ Function4ab1a: ; 4ab1a
|
||||
ld a, $fb
|
||||
ld [wMenuJoypadFilter], a
|
||||
ld a, $26
|
||||
ld [w2DMenuFlags3], a
|
||||
ld [w2DMenuCursorOffsets], a
|
||||
ld a, $2
|
||||
ld [w2DMenuNumCols], a
|
||||
call Function4adf7
|
||||
|
@@ -6830,7 +6830,7 @@ Function102dd3: ; 102dd3
|
||||
ld hl, VTiles0
|
||||
lb bc, BANK(GFX_1032a2), 4
|
||||
call Get2bpp
|
||||
callba Function16d421
|
||||
callba __LoadTradeScreenBorder
|
||||
call EnableLCD
|
||||
ret
|
||||
; 102dec
|
||||
@@ -6889,7 +6889,7 @@ String_102e48: ; 102e48
|
||||
|
||||
Function102e4f: ; 102e4f
|
||||
callba Function16d42e
|
||||
callba Function49797
|
||||
callba _InitMG_Mobile_LinkTradePalMap
|
||||
ld de, PlayerName
|
||||
hlcoord 4, 0
|
||||
call PlaceString
|
||||
|
@@ -7278,7 +7278,7 @@ Function11b483: ; 11b483
|
||||
ld hl, MON_MAXHP
|
||||
add hl, de
|
||||
push hl
|
||||
ld hl, MON_EXP + 2
|
||||
ld hl, MON_STAT_EXP - 1
|
||||
add hl, de
|
||||
pop de
|
||||
push de
|
||||
|
@@ -866,371 +866,3 @@ Unknown_16cfb9:
|
||||
|
||||
GFX_16cfc1:
|
||||
INCBIN "gfx/unknown/16cfc1.2bpp"
|
||||
|
||||
Function16d421: ; 16d421
|
||||
ld de, GFX_16cfc1
|
||||
ld hl, VTiles2
|
||||
lb bc, BANK(GFX_16cfc1), $46
|
||||
call Get2bpp
|
||||
ret
|
||||
; 16d42e
|
||||
|
||||
Function16d42e: ; 16d42e
|
||||
ld hl, Tilemap_16d465
|
||||
decoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
call CopyBytes
|
||||
ret
|
||||
; 16d43b
|
||||
|
||||
Function16d43b: ; 16d43b
|
||||
call LoadStandardMenuDataHeader
|
||||
call ClearBGPalettes
|
||||
call ClearTileMap
|
||||
call ClearSprites
|
||||
callba Function16d421
|
||||
callba Function16d42e
|
||||
ld b, SCGB_08
|
||||
call GetSGBLayout
|
||||
call SetPalettes
|
||||
call WaitBGMap
|
||||
call JoyWaitAorB
|
||||
call Call_ExitMenu
|
||||
ret
|
||||
; 16d465
|
||||
|
||||
Tilemap_16d465:
|
||||
INCBIN "gfx/unknown/16d465.tilemap"
|
||||
|
||||
Tilemap_16d5cd:
|
||||
INCBIN "gfx/unknown/16d5cd.tilemap"
|
||||
|
||||
Tilemap_16d5f5:
|
||||
INCBIN "gfx/unknown/16d5f5.tilemap"
|
||||
|
||||
_LinkTextbox: ; 16d61d
|
||||
ld h, d
|
||||
ld l, e
|
||||
push bc
|
||||
push hl
|
||||
call .draw_border
|
||||
pop hl
|
||||
pop bc
|
||||
|
||||
ld de, AttrMap - TileMap
|
||||
add hl, de
|
||||
inc b
|
||||
inc b
|
||||
inc c
|
||||
inc c
|
||||
ld a, $7
|
||||
.loop
|
||||
push bc
|
||||
push hl
|
||||
.loop2
|
||||
ld [hli], a
|
||||
dec c
|
||||
jr nz, .loop2
|
||||
pop hl
|
||||
ld de, SCREEN_WIDTH
|
||||
add hl, de
|
||||
pop bc
|
||||
dec b
|
||||
jr nz, .loop
|
||||
ret
|
||||
; 16d640
|
||||
|
||||
.draw_border: ; 16d640
|
||||
push hl
|
||||
ld a, $30
|
||||
ld [hli], a
|
||||
inc a
|
||||
call .fill_row
|
||||
inc a
|
||||
ld [hl], a
|
||||
pop hl
|
||||
ld de, SCREEN_WIDTH
|
||||
add hl, de
|
||||
.loop3
|
||||
push hl
|
||||
ld a, $33
|
||||
ld [hli], a
|
||||
ld a, " "
|
||||
call .fill_row
|
||||
ld [hl], $34
|
||||
pop hl
|
||||
ld de, SCREEN_WIDTH
|
||||
add hl, de
|
||||
dec b
|
||||
jr nz, .loop3
|
||||
|
||||
ld a, $35
|
||||
ld [hli], a
|
||||
ld a, $36
|
||||
call .fill_row
|
||||
ld [hl], $37
|
||||
ret
|
||||
; 16d66d
|
||||
|
||||
.fill_row: ; 16d66d
|
||||
ld d, c
|
||||
.loop4
|
||||
ld [hli], a
|
||||
dec d
|
||||
jr nz, .loop4
|
||||
ret
|
||||
; 16d673
|
||||
|
||||
Function16d673: ; 16d673
|
||||
call Function16d696
|
||||
call Function16d6ae
|
||||
callba Function49856
|
||||
callba Functionfb60d
|
||||
hlcoord 10, 17
|
||||
ld de, String_16d68f
|
||||
call PlaceString
|
||||
ret
|
||||
; 16d68f
|
||||
|
||||
String_16d68f: ; 16d68f
|
||||
db "CANCEL@"
|
||||
; 16d696
|
||||
|
||||
Function16d696: ; 16d696
|
||||
call Function16d421
|
||||
ret
|
||||
; 16d69a
|
||||
|
||||
|
||||
Function16d69a: ; 16d69a
|
||||
ld de, GFX_16cfc1 + $300
|
||||
ld hl, VTiles2 tile $76
|
||||
lb bc, BANK(GFX_16cfc1), 8
|
||||
call Get2bpp
|
||||
ret
|
||||
; 16d6a7
|
||||
|
||||
Function16d6a7: ; 16d6a7
|
||||
callba Function49811
|
||||
ret
|
||||
; 16d6ae
|
||||
|
||||
Function16d6ae: ; 16d6ae
|
||||
call Function16d42e
|
||||
ld hl, Tilemap_16d5cd
|
||||
decoord 0, 0
|
||||
ld bc, $0028
|
||||
call CopyBytes
|
||||
ld hl, Tilemap_16d5f5
|
||||
decoord 0, 16
|
||||
ld bc, $0028
|
||||
call CopyBytes
|
||||
ret
|
||||
; 16d6ca
|
||||
|
||||
LinkTextbox: ; 16d6ca
|
||||
call _LinkTextbox
|
||||
ret
|
||||
; 16d6ce
|
||||
|
||||
Function16d6ce: ; 16d6ce
|
||||
call LoadStandardMenuDataHeader
|
||||
call Function16d6e1
|
||||
callba Function87d
|
||||
call Call_ExitMenu
|
||||
call WaitBGMap2
|
||||
ret
|
||||
; 16d6e1
|
||||
|
||||
Function16d6e1: ; 16d6e1
|
||||
hlcoord 4, 10
|
||||
ld b, 1
|
||||
ld c, 10
|
||||
predef Predef_LinkTextbox
|
||||
hlcoord 5, 11
|
||||
ld de, .Waiting
|
||||
call PlaceString
|
||||
call WaitBGMap
|
||||
call WaitBGMap2
|
||||
ld c, $32
|
||||
jp DelayFrames
|
||||
; 16d701
|
||||
|
||||
.Waiting: ; 16d701
|
||||
db "WAITING..!@"
|
||||
; 16d70c
|
||||
|
||||
Function16d70c: ; 16d70c
|
||||
call Function16d725
|
||||
call Function16d713
|
||||
ret
|
||||
; 16d713
|
||||
|
||||
Function16d713: ; 16d713
|
||||
push bc
|
||||
push af
|
||||
ld a, [hJoyLast]
|
||||
and $f0
|
||||
ld b, a
|
||||
ld a, [hJoyPressed]
|
||||
and $f
|
||||
or b
|
||||
ld b, a
|
||||
pop af
|
||||
ld a, b
|
||||
pop bc
|
||||
ld d, a
|
||||
ret
|
||||
; 16d725
|
||||
|
||||
Function16d725: ; 16d725
|
||||
ld hl, w2DMenuFlags2
|
||||
res 7, [hl]
|
||||
ld a, [hBGMapMode]
|
||||
push af
|
||||
call Function16d734
|
||||
pop af
|
||||
ld [hBGMapMode], a
|
||||
ret
|
||||
; 16d734
|
||||
|
||||
Function16d734: ; 16d734
|
||||
.asm_16d734
|
||||
call Function16d77a
|
||||
call Function16d759
|
||||
call Function16d76a
|
||||
jr nc, .asm_16d758
|
||||
callba _2DMenuInterpretJoypad
|
||||
jr c, .asm_16d758
|
||||
ld a, [w2DMenuFlags1]
|
||||
bit 7, a
|
||||
jr nz, .asm_16d758
|
||||
call Function16d713
|
||||
ld b, a
|
||||
ld a, [wMenuJoypadFilter]
|
||||
and b
|
||||
jr z, .asm_16d734
|
||||
|
||||
.asm_16d758
|
||||
ret
|
||||
; 16d759
|
||||
|
||||
Function16d759: ; 16d759
|
||||
ld a, [hOAMUpdate]
|
||||
push af
|
||||
ld a, $1
|
||||
ld [hOAMUpdate], a
|
||||
call WaitBGMap
|
||||
pop af
|
||||
ld [hOAMUpdate], a
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
ret
|
||||
; 16d76a
|
||||
|
||||
Function16d76a: ; 16d76a
|
||||
.asm_16d76a
|
||||
call RTC
|
||||
call Function16d7e7
|
||||
ret c
|
||||
ld a, [w2DMenuFlags1]
|
||||
bit 7, a
|
||||
jr z, .asm_16d76a
|
||||
and a
|
||||
ret
|
||||
; 16d77a
|
||||
|
||||
Function16d77a: ; 16d77a
|
||||
ld hl, wCursorCurrentTile
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ld a, [hl]
|
||||
cp $1f
|
||||
jr nz, .asm_16d792
|
||||
ld a, [wCursorOffCharacter]
|
||||
ld [hl], a
|
||||
push hl
|
||||
push bc
|
||||
ld bc, $000b
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
pop bc
|
||||
pop hl
|
||||
|
||||
.asm_16d792
|
||||
ld a, [w2DMenuCursorInitY]
|
||||
ld b, a
|
||||
ld a, [w2DMenuCursorInitX]
|
||||
ld c, a
|
||||
call Coord2Tile
|
||||
ld a, [w2DMenuFlags3]
|
||||
swap a
|
||||
and $f
|
||||
ld c, a
|
||||
ld a, [wMenuCursorY]
|
||||
ld b, a
|
||||
xor a
|
||||
dec b
|
||||
jr z, .asm_16d7b1
|
||||
.asm_16d7ad
|
||||
add c
|
||||
dec b
|
||||
jr nz, .asm_16d7ad
|
||||
|
||||
.asm_16d7b1
|
||||
ld c, $14
|
||||
call AddNTimes
|
||||
ld a, [w2DMenuFlags3]
|
||||
and $f
|
||||
ld c, a
|
||||
ld a, [wMenuCursorX]
|
||||
ld b, a
|
||||
xor a
|
||||
dec b
|
||||
jr z, .asm_16d7c8
|
||||
.asm_16d7c4
|
||||
add c
|
||||
dec b
|
||||
jr nz, .asm_16d7c4
|
||||
|
||||
.asm_16d7c8
|
||||
ld c, a
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp $1f
|
||||
jr z, .asm_16d7de
|
||||
ld [wCursorOffCharacter], a
|
||||
ld [hl], $1f
|
||||
push hl
|
||||
push bc
|
||||
ld bc, $000b
|
||||
add hl, bc
|
||||
ld [hl], $1f
|
||||
pop bc
|
||||
pop hl
|
||||
|
||||
.asm_16d7de
|
||||
ld a, l
|
||||
ld [wCursorCurrentTile], a
|
||||
ld a, h
|
||||
ld [wCursorCurrentTile + 1], a
|
||||
ret
|
||||
; 16d7e7
|
||||
|
||||
Function16d7e7: ; 16d7e7
|
||||
ld a, [w2DMenuFlags1]
|
||||
bit 6, a
|
||||
jr z, .asm_16d7f4
|
||||
callba PlaySpriteAnimationsAndDelayFrame
|
||||
|
||||
.asm_16d7f4
|
||||
call JoyTextDelay
|
||||
call Function16d713
|
||||
and a
|
||||
ret z
|
||||
scf
|
||||
ret
|
||||
; 16d7fe
|
||||
|
||||
|
||||
|
@@ -153,7 +153,7 @@ MobileMenu_InitMenuBuffers: ; 4a071 (12:6071)
|
||||
inc hl
|
||||
xor a ; w2DMenuFlags2
|
||||
ld [hli], a
|
||||
ld a, $20 ; w2DMenuFlags3
|
||||
ld a, $20 ; w2DMenuCursorOffsets
|
||||
ld [hli], a
|
||||
; this is a stupid way to load $c3
|
||||
ld a, A_BUTTON
|
||||
|
@@ -514,7 +514,7 @@ Palette_49757: ; 49757
|
||||
RGB 31, 31, 31
|
||||
; 49797
|
||||
|
||||
Function49797: ; 49797
|
||||
_InitMG_Mobile_LinkTradePalMap: ; 49797
|
||||
hlcoord 0, 0, AttrMap
|
||||
lb bc, 16, 2
|
||||
ld a, $4
|
||||
@@ -608,7 +608,7 @@ Palette_49826: ; 49826
|
||||
RGB 31, 31, 31
|
||||
; 49856
|
||||
|
||||
Function49856: ; 49856
|
||||
call Function49797
|
||||
InitMG_Mobile_LinkTradePalMap: ; 49856
|
||||
call _InitMG_Mobile_LinkTradePalMap
|
||||
ret
|
||||
; 4985a
|
||||
|
@@ -87,7 +87,7 @@ Function13a47: ; unreferenced
|
||||
add hl, bc
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, MON_EXP + 2
|
||||
ld hl, MON_STAT_EXP - 1
|
||||
add hl, bc
|
||||
ld b, $1
|
||||
predef CalcPkmnStats
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user