More link trade shenanigans

This commit is contained in:
PikalaxALT
2015-12-21 14:10:16 -05:00
parent 047effba94
commit 630d789c70
21 changed files with 746 additions and 745 deletions

View File

@@ -5700,7 +5700,7 @@ MoveSelectionScreen: ; 3e4bc
xor a xor a
ld [w2DMenuFlags2], a ld [w2DMenuFlags2], a
ld a, $10 ld a, $10
ld [w2DMenuFlags3], a ld [w2DMenuCursorOffsets], a
.menu_loop .menu_loop
ld a, [wMoveSelectionMenuType] ld a, [wMoveSelectionMenuType]
and a and a
@@ -6531,7 +6531,7 @@ LoadEnemyMon: ; 3e8eb
ld [EnemyMonLevel], a ld [EnemyMonLevel], a
; Fill stats ; Fill stats
ld de, EnemyMonMaxHP ld de, EnemyMonMaxHP
ld b, $00 ld b, FALSE
ld hl, LinkBattleRNs + 7 ; ? ld hl, LinkBattleRNs + 7 ; ?
predef CalcPkmnStats predef CalcPkmnStats
@@ -7529,7 +7529,7 @@ endr
push bc push bc
call LoadTileMapToTempTileMap call LoadTileMapToTempTileMap
pop bc pop bc
ld hl, MON_EXP + 2 ld hl, MON_STAT_EXP - 1
add hl, bc add hl, bc
ld d, [hl] ld d, [hl]
ld a, [hQuotient + 2] ld a, [hQuotient + 2]
@@ -7562,7 +7562,7 @@ endr
ld d, MAX_LEVEL ld d, MAX_LEVEL
callab CalcExpAtLevel callab CalcExpAtLevel
pop bc pop bc
ld hl, MON_EXP + 2 ld hl, MON_STAT_EXP - 1
add hl, bc add hl, bc
push bc push bc
ld a, [hQuotient] ld a, [hQuotient]
@@ -7621,10 +7621,10 @@ endr
add hl, bc add hl, bc
ld d, h ld d, h
ld e, l ld e, l
ld hl, MON_EXP + 2 ld hl, MON_STAT_EXP - 1
add hl, bc add hl, bc
push bc push bc
ld b, $1 ld b, TRUE
predef CalcPkmnStats predef CalcPkmnStats
pop bc pop bc
pop de pop de

View File

@@ -286,7 +286,7 @@ HatchEggs: ; 16f70 (5:6f70)
ld [hl], a ld [hl], a
pop hl pop hl
push hl push hl
ld bc, MON_EXP + 2 ld bc, MON_STAT_EXP - 1
add hl, bc add hl, bc
ld b, $0 ld b, $0
predef CalcPkmnStats predef CalcPkmnStats

View File

@@ -164,7 +164,7 @@ ForgetMove: ; 65d3
xor a xor a
ld [w2DMenuFlags2], a ld [w2DMenuFlags2], a
ld a, $20 ld a, $20
ld [w2DMenuFlags3], a ld [w2DMenuCursorOffsets], a
call StaticMenuJoypad call StaticMenuJoypad
push af push af
call Call_LoadTempTileMapToTileMap call Call_LoadTempTileMapToTileMap

File diff suppressed because it is too large Load Diff

359
engine/link_trade.asm Executable file
View 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

View File

@@ -239,8 +239,8 @@ Init2DMenuCursorPosition: ; 2411a (9:411a)
.InitFlags_b: ; 2418a .InitFlags_b: ; 2418a
ld a, [wMenuData2Spacing] ld a, [wMenuData2Spacing]
or %00100000 or $20
ld [w2DMenuFlags3], a ld [w2DMenuCursorOffsets], a
ret ret
; 24193 ; 24193
@@ -536,7 +536,7 @@ Place2DMenuCursor: ; 24329
ld a, [w2DMenuCursorInitX] ld a, [w2DMenuCursorInitX]
ld c, a ld c, a
call Coord2Tile call Coord2Tile
ld a, [w2DMenuFlags3] ld a, [w2DMenuCursorOffsets]
swap a swap a
and $f and $f
ld c, a ld c, a
@@ -553,7 +553,7 @@ Place2DMenuCursor: ; 24329
.got_row .got_row
ld c, SCREEN_WIDTH ld c, SCREEN_WIDTH
call AddNTimes call AddNTimes
ld a, [w2DMenuFlags3] ld a, [w2DMenuCursorOffsets]
and $f and $f
ld c, a ld c, a
ld a, [wMenuCursorX] ld a, [wMenuCursorX]
@@ -809,8 +809,8 @@ _InitVerticalMenuCursor:: ; 2446d
; w2DMenuFlags2 ; w2DMenuFlags2
xor a xor a
ld [hli], a ld [hli], a
; w2DMenuFlags3 ; w2DMenuCursorOffsets
ld a, %00100000 ln a, 2, 0
ld [hli], a ld [hli], a
; wMenuJoypadFilter ; wMenuJoypadFilter
ld a, A_BUTTON ld a, A_BUTTON

View File

@@ -309,7 +309,7 @@ ScrollingMenu_InitFlags: ; 24764
xor a xor a
ld [w2DMenuFlags2], a ld [w2DMenuFlags2], a
ld a, $20 ld a, $20
ld [w2DMenuFlags3], a ld [w2DMenuCursorOffsets], a
ld a, A_BUTTON | B_BUTTON | D_UP | D_DOWN ld a, A_BUTTON | B_BUTTON | D_UP | D_DOWN
bit 7, c bit 7, c
jr z, .disallow_select jr z, .disallow_select

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
; These functions seem to be related to backwards compatibility ; These functions seem to be related to backwards compatibility
Functionfb57e: ; fb57e ValidateOTTrademon: ; fb57e
ld a, [wd003] ld a, [wd003]
ld hl, OTPartyMon1Species ld hl, OTPartyMon1Species
call GetPartyLocation call GetPartyLocation
@@ -14,21 +14,21 @@ Functionfb57e: ; fb57e
ld a, [hl] ld a, [hl]
pop hl pop hl
cp EGG cp EGG
jr z, .asm_fb59c jr z, .matching_or_egg
cp [hl] cp [hl]
jr nz, .asm_fb5db jr nz, .abnormal
.asm_fb59c .matching_or_egg
ld b, h ld b, h
ld c, l ld c, l
ld hl, MON_LEVEL ld hl, MON_LEVEL
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp 101 cp MAX_LEVEL + 1
jr nc, .asm_fb5db jr nc, .abnormal
ld a, [wLinkMode] ld a, [wLinkMode]
cp LINK_TIMECAPSULE cp LINK_TIMECAPSULE
jr nz, .asm_fb5d9 jr nz, .normal
ld hl, OTPartySpecies ld hl, OTPartySpecies
ld a, [wd003] ld a, [wd003]
ld c, a ld c, a
@@ -39,29 +39,29 @@ Functionfb57e: ; fb57e
; Magnemite and Magneton's types changed ; Magnemite and Magneton's types changed
; from Electric to Electric/Steel. ; from Electric to Electric/Steel.
cp MAGNEMITE cp MAGNEMITE
jr z, .asm_fb5d9 jr z, .normal
cp MAGNETON cp MAGNETON
jr z, .asm_fb5d9 jr z, .normal
ld [CurSpecies], a ld [CurSpecies], a
call GetBaseData call GetBaseData
ld hl, wcbea ld hl, wLinkOTPartyMonTypes
rept 2 rept 2
add hl, bc add hl, bc
endr endr
ld a, [BaseType1] ld a, [BaseType1]
cp [hl] cp [hl]
jr nz, .asm_fb5db jr nz, .abnormal
inc hl inc hl
ld a, [BaseType2] ld a, [BaseType2]
cp [hl] cp [hl]
jr nz, .asm_fb5db jr nz, .abnormal
.asm_fb5d9 .normal
and a and a
ret ret
.asm_fb5db .abnormal
scf scf
ret ret
; fb5dd ; fb5dd
@@ -72,10 +72,10 @@ Functionfb5dd: ; fb5dd
ld a, [PartyCount] ld a, [PartyCount]
ld b, a ld b, a
ld c, $0 ld c, $0
.asm_fb5e7 .loop
ld a, c ld a, c
cp d cp d
jr z, .asm_fb5f8 jr z, .next
push bc push bc
ld a, c ld a, c
ld hl, PartyMon1HP ld hl, PartyMon1HP
@@ -83,48 +83,47 @@ Functionfb5dd: ; fb5dd
pop bc pop bc
ld a, [hli] ld a, [hli]
or [hl] or [hl]
jr nz, .asm_fb60b jr nz, .done
.asm_fb5f8 .next
inc c inc c
dec b dec b
jr nz, .asm_fb5e7 jr nz, .loop
ld a, [wd003] ld a, [wd003]
ld hl, OTPartyMon1HP ld hl, OTPartyMon1HP
call GetPartyLocation call GetPartyLocation
ld a, [hli] ld a, [hli]
or [hl] or [hl]
jr nz, .asm_fb60b jr nz, .done
scf scf
ret ret
.asm_fb60b .done
and a and a
ret ret
; fb60d ; fb60d
Functionfb60d: ; fb60d PlaceTradePartnerNamesAndParty: ; fb60d
hlcoord 4, 0 hlcoord 4, 0
ld de, PlayerName ld de, PlayerName
call PlaceString call PlaceString
ld a, $14 ld a, $14
ld [bc], a ld [bc], a
hlcoord 4, 8 hlcoord 4, 8
ld de, wd26b ld de, OTPlayerName
call PlaceString call PlaceString
ld a, $14 ld a, $14
ld [bc], a ld [bc], a
hlcoord 7, 1 hlcoord 7, 1
ld de, PartySpecies ld de, PartySpecies
call Functionfb634 call .PlaceSpeciesNames
hlcoord 7, 9 hlcoord 7, 9
ld de, OTPartySpecies ld de, OTPartySpecies
.PlaceSpeciesNames: ; fb634
Functionfb634: ; fb634
ld c, $0 ld c, $0
.asm_fb636 .loop
ld a, [de] ld a, [de]
cp $ff cp -1
ret z ret z
ld [wd265], a ld [wd265], a
push bc push bc
@@ -143,7 +142,7 @@ Functionfb634: ; fb634
add hl, bc add hl, bc
pop bc pop bc
inc c inc c
jr .asm_fb636 jr .loop
; fb656 ; fb656
KantoMonSpecials: ; fb656 KantoMonSpecials: ; fb656

View File

@@ -215,7 +215,7 @@ TMHM_PocketLoop: ; 2c8d3 (b:48d3)
xor a xor a
ld [w2DMenuFlags2], a ld [w2DMenuFlags2], a
ld a, $20 ld a, $20
ld [w2DMenuFlags3], a ld [w2DMenuCursorOffsets], a
ld a, A_BUTTON | B_BUTTON | D_UP | D_DOWN | D_LEFT | D_RIGHT ld a, A_BUTTON | B_BUTTON | D_UP | D_DOWN | D_LEFT | D_RIGHT
ld [wMenuJoypadFilter], a ld [wMenuJoypadFilter], a
ld a, [wTMHMPocketCursor] ld a, [wTMHMPocketCursor]

View File

@@ -1285,7 +1285,7 @@ UpdateStatsAfterItem: ; ee8c
call GetPartyParamLocation call GetPartyParamLocation
ld d, h ld d, h
ld e, l ld e, l
ld a, MON_EXP + 2 ld a, MON_STAT_EXP - 1
call GetPartyParamLocation call GetPartyParamLocation
ld b, $1 ld b, $1
predef_jump CalcPkmnStats predef_jump CalcPkmnStats

View File

@@ -5326,7 +5326,7 @@ endr
add hl, bc add hl, bc
ld a, $1 ld a, $1
ld c, a ld c, a
ld b, $0 ld b, FALSE
call CalcPkmnStatC call CalcPkmnStatC
ld a, [hProduct + 2] ld a, [hProduct + 2]
ld [de], a ld [de], a
@@ -5716,7 +5716,7 @@ SentGetPkmnIntoFromBox: ; db3f
add hl, bc add hl, bc
ld d, h ld d, h
ld e, l ld e, l
ld hl, MON_EXP + 2 ld hl, MON_STAT_EXP - 1
add hl, bc add hl, bc
push bc push bc
@@ -6461,7 +6461,7 @@ ComputeNPCTrademonStats: ; e134
ld d, h ld d, h
ld e, l ld e, l
push de push de
ld a, MON_EXP + 2 ld a, MON_STAT_EXP - 1
call GetPartyParamLocation call GetPartyParamLocation
ld b, $1 ld b, $1
call CalcPkmnStats call CalcPkmnStats
@@ -6478,8 +6478,9 @@ ComputeNPCTrademonStats: ; e134
CalcPkmnStats: ; e167 CalcPkmnStats: ; e167
; Calculates all 6 Stats of a Pkmn ; 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 ; '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] ; results in $ffb5 and $ffb6 are saved in [de]
ld c, $0 ld c, $0
@@ -10274,9 +10275,9 @@ LinkMonStatsScreen: ; 4d319
call ClearScreen call ClearScreen
call ClearBGPalettes call ClearBGPalettes
call MaxVolume call MaxVolume
callba Function28ef8 callba LoadTradeScreenBorder
callba Function4d354 callba Function4d354
callba Function16d673 callba InitTradeSpeciesList
callba Function28eff callba Function28eff
call WaitBGMap2 call WaitBGMap2
ret ret
@@ -11869,7 +11870,7 @@ _TempMonStatsCalculation: ; 50893
add hl, bc add hl, bc
ld d, h ld d, h
ld e, l ld e, l
ld hl, MON_EXP + 2 ld hl, MON_STAT_EXP - 1
add hl, bc add hl, bc
push bc push bc
ld b, $1 ld b, $1
@@ -15345,6 +15346,7 @@ INCLUDE "misc/battle_tower_47.asm"
SECTION "bank5B", ROMX, BANK[$5B] SECTION "bank5B", ROMX, BANK[$5B]
INCLUDE "misc/mobile_5b.asm" INCLUDE "misc/mobile_5b.asm"
INCLUDE "engine/link_trade.asm"
SECTION "bank5C", ROMX, BANK[$5C] SECTION "bank5C", ROMX, BANK[$5C]

View File

@@ -482,7 +482,7 @@ endr
ld e, l ld e, l
push hl push hl
push de push de
ld hl, MON_EXP + 2 ld hl, MON_STAT_EXP - 1
add hl, bc add hl, bc
ld b, $1 ld b, $1
predef CalcPkmnStats predef CalcPkmnStats

View File

@@ -490,7 +490,7 @@ Function4ab1a: ; 4ab1a
ld a, $fb ld a, $fb
ld [wMenuJoypadFilter], a ld [wMenuJoypadFilter], a
ld a, $26 ld a, $26
ld [w2DMenuFlags3], a ld [w2DMenuCursorOffsets], a
ld a, $2 ld a, $2
ld [w2DMenuNumCols], a ld [w2DMenuNumCols], a
call Function4adf7 call Function4adf7

View File

@@ -6830,7 +6830,7 @@ Function102dd3: ; 102dd3
ld hl, VTiles0 ld hl, VTiles0
lb bc, BANK(GFX_1032a2), 4 lb bc, BANK(GFX_1032a2), 4
call Get2bpp call Get2bpp
callba Function16d421 callba __LoadTradeScreenBorder
call EnableLCD call EnableLCD
ret ret
; 102dec ; 102dec
@@ -6889,7 +6889,7 @@ String_102e48: ; 102e48
Function102e4f: ; 102e4f Function102e4f: ; 102e4f
callba Function16d42e callba Function16d42e
callba Function49797 callba _InitMG_Mobile_LinkTradePalMap
ld de, PlayerName ld de, PlayerName
hlcoord 4, 0 hlcoord 4, 0
call PlaceString call PlaceString

View File

@@ -7278,7 +7278,7 @@ Function11b483: ; 11b483
ld hl, MON_MAXHP ld hl, MON_MAXHP
add hl, de add hl, de
push hl push hl
ld hl, MON_EXP + 2 ld hl, MON_STAT_EXP - 1
add hl, de add hl, de
pop de pop de
push de push de

View File

@@ -866,371 +866,3 @@ Unknown_16cfb9:
GFX_16cfc1: GFX_16cfc1:
INCBIN "gfx/unknown/16cfc1.2bpp" 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

View File

@@ -153,7 +153,7 @@ MobileMenu_InitMenuBuffers: ; 4a071 (12:6071)
inc hl inc hl
xor a ; w2DMenuFlags2 xor a ; w2DMenuFlags2
ld [hli], a ld [hli], a
ld a, $20 ; w2DMenuFlags3 ld a, $20 ; w2DMenuCursorOffsets
ld [hli], a ld [hli], a
; this is a stupid way to load $c3 ; this is a stupid way to load $c3
ld a, A_BUTTON ld a, A_BUTTON

View File

@@ -514,7 +514,7 @@ Palette_49757: ; 49757
RGB 31, 31, 31 RGB 31, 31, 31
; 49797 ; 49797
Function49797: ; 49797 _InitMG_Mobile_LinkTradePalMap: ; 49797
hlcoord 0, 0, AttrMap hlcoord 0, 0, AttrMap
lb bc, 16, 2 lb bc, 16, 2
ld a, $4 ld a, $4
@@ -608,7 +608,7 @@ Palette_49826: ; 49826
RGB 31, 31, 31 RGB 31, 31, 31
; 49856 ; 49856
Function49856: ; 49856 InitMG_Mobile_LinkTradePalMap: ; 49856
call Function49797 call _InitMG_Mobile_LinkTradePalMap
ret ret
; 4985a ; 4985a

View File

@@ -87,7 +87,7 @@ Function13a47: ; unreferenced
add hl, bc add hl, bc
ld d, h ld d, h
ld e, l ld e, l
ld hl, MON_EXP + 2 ld hl, MON_STAT_EXP - 1
add hl, bc add hl, bc
ld b, $1 ld b, $1
predef CalcPkmnStats predef CalcPkmnStats

Some files were not shown because too many files have changed in this diff Show More