Menu joy flags; started with link address space

This commit is contained in:
PikalaxALT
2015-12-20 12:54:08 -05:00
parent 987ed1fafb
commit 047effba94
18 changed files with 1279 additions and 1207 deletions

View File

@@ -17,13 +17,13 @@ LinkCommunications: ; 28000
callba Function16d69a
call WaitBGMap2
hlcoord 3, 8
ld b, $2
ld c, $c
ld b, 2
ld c, 12
ld d, h
ld e, l
callba Function4d35b
hlcoord 4, 10
ld de, String28419
ld de, String_PleaseWait
call PlaceString
call Function28eff
call WaitBGMap2
@@ -33,11 +33,11 @@ LinkCommunications: ; 28000
ld [hl], $50
ld a, [wLinkMode]
cp LINK_TIMECAPSULE
jp nz, Function28177
jp nz, Gen2ToGen2LinkComms
Function2805d: ; 2805d
call Function28426
call Function28499
TimeCapsule: ; 2805d
call ClearLinkData
call Link_PrepPartyData_Gen1
call Function28434
xor a
ld [wPlayerLinkAction], a
@@ -76,9 +76,9 @@ Function2805d: ; 2805d
call Function75f
ld a, $fe
ld [de], a
ld hl, OverworldMap
ld de, wd26b
ld bc, $1a8
ld hl, wLinkData
ld de, OTPlayerName
ld bc, 9 + NAME_LENGTH + 1 + PARTY_LENGTH + 1 + PARTY_LENGTH * REDMON_STRUCT_LENGTH + 2 * (PARTY_LENGTH * NAME_LENGTH) ; $1a8
call Function75f
ld a, $fe
ld [de], a
@@ -102,7 +102,7 @@ Function2805d: ; 2805d
jp z, Function28b22
cp $7
jp nc, Function28b22
ld de, OverworldMap
ld de, wLinkData
ld bc, $1a2
call Function2879e
ld de, wPlayerTrademonSpecies
@@ -135,7 +135,7 @@ Function2805d: ; 2805d
ld hl, wc90f
dec c
jr nz, .asm_280fe
ld hl, OverworldMap
ld hl, wLinkData
ld de, wd26b
ld bc, NAME_LENGTH
call CopyBytes
@@ -177,9 +177,9 @@ Function2805d: ; 2805d
jp Function287e3
; 28177
Function28177: ; 28177
call Function28426
call Function28595
Gen2ToGen2LinkComms: ; 28177
call ClearLinkData
call Link_PrepPartyData_Gen2
call Function28434
call Function29dba
ld a, [ScriptVar]
@@ -187,8 +187,8 @@ Function28177: ; 28177
jp z, Function283b2
ld a, [hLinkPlayerNumber]
cp $2
jr nz, .asm_281ae
ld c, $3
jr nz, .Player2
ld c, 3
call DelayFrames
xor a
ld [hSerialSend], a
@@ -204,10 +204,10 @@ Function28177: ; 28177
ld a, $81
ld [rSC], a
.asm_281ae
.Player2
ld de, MUSIC_NONE
call PlayMusic
ld c, $3
ld c, 3
call DelayFrames
xor a
ld [rIF], a
@@ -219,7 +219,7 @@ Function28177: ; 28177
call Function75f
ld a, $fe
ld [de], a
ld hl, OverworldMap
ld hl, wLinkData
ld de, wd26b
ld bc, $1c2
call Function75f
@@ -247,7 +247,7 @@ Function28177: ; 28177
call Function287ab
ld hl, wd26b
call Function287ca
ld de, OverworldMap
ld de, wLinkData
ld bc, $1b9
call Function2879e
ld de, wPlayerTrademonSpecies
@@ -391,7 +391,7 @@ Function28177: ; 28177
ld [de], a
.asm_282fe
ld hl, OverworldMap
ld hl, wLinkData
ld de, wd26b
ld bc, NAME_LENGTH
call CopyBytes
@@ -470,21 +470,21 @@ Function28177: ; 28177
; 283b2
Function283b2: ; 283b2
ld de, UnknownText_0x283ed
ld de, .TooMuchTimeHasElapsed
ld b, $a
.asm_283b7
.loop
call DelayFrame
call LinkDataReceived
dec b
jr nz, .asm_283b7
jr nz, .loop
xor a
ld [hld], a
ld [hl], a
ld [hVBlank], a
push de
hlcoord 0, 12
ld b, $4
ld c, $12
ld b, 4
ld c, 18
push de
ld d, h
ld e, l
@@ -501,7 +501,7 @@ Function283b2: ; 283b2
ret
; 283ed
UnknownText_0x283ed: ; 0x283ed
.TooMuchTimeHasElapsed: ; 0x283ed
; Too much time has elapsed. Please try again.
text_jump UnknownText_0x1c4183
db "@"
@@ -541,20 +541,20 @@ Function283f2: ; 283f2
ret
; 28419
String28419: ; 28419
String_PleaseWait: ; 28419
db "PLEASE WAIT!@"
; 28426
Function28426: ; 28426
ld hl, OverworldMap
lb bc, 5, SCREEN_WIDTH
.asm_2842c
ClearLinkData: ; 28426
ld hl, wLinkData
ld bc, wLinkDataEnd - wLinkData
.loop
xor a
ld [hli], a
dec bc
ld a, b
or c
jr nz, .asm_2842c
jr nz, .loop
ret
; 28434
@@ -633,15 +633,15 @@ endr
ret
; 28499
Function28499: ; 28499
ld de, OverworldMap
Link_PrepPartyData_Gen1: ; 28499
ld de, wLinkData
ld a, $fd
ld b, $6
.asm_284a0
.loop1
ld [de], a
inc de
dec b
jr nz, .asm_284a0
jr nz, .loop1
ld hl, PlayerName
ld bc, NAME_LENGTH
call CopyBytes
@@ -650,10 +650,10 @@ Function28499: ; 28499
ld a, [hli]
ld [de], a
inc de
.asm_284b5
.loop2
ld a, [hli]
cp $ff
jr z, .asm_284ce
cp -1
jr z, .done_party
ld [wd265], a
push hl
push de
@@ -663,34 +663,34 @@ Function28499: ; 28499
ld a, [wd265]
ld [de], a
inc de
jr .asm_284b5
jr .loop2
.asm_284ce
.done_party
ld [de], a
pop de
ld hl, $8
ld hl, 1 + PARTY_LENGTH + 1
add hl, de
ld d, h
ld e, l
ld hl, PartyMon1Species
ld c, $6
.asm_284db
ld c, PARTY_LENGTH
.mon_loop
push bc
call Function284f6
call .ConvertPartyStruct2to1
ld bc, PARTYMON_STRUCT_LENGTH
add hl, bc
pop bc
dec c
jr nz, .asm_284db
jr nz, .mon_loop
ld hl, PartyMonOT
call .asm_284f0
call .copy_ot_nicks
ld hl, PartyMonNicknames
.asm_284f0
ld bc, $42
.copy_ot_nicks
ld bc, PARTY_LENGTH * NAME_LENGTH
jp CopyBytes
; 284f6
Function284f6: ; 284f6
.ConvertPartyStruct2to1: ; 284f6
ld b, h
ld c, l
push de
@@ -703,7 +703,7 @@ Function284f6: ; 284f6
ld a, [wd265]
ld [de], a
inc de
ld hl, $22
ld hl, MON_HP
add hl, bc
ld a, [hli]
ld [de], a
@@ -714,26 +714,26 @@ Function284f6: ; 284f6
xor a
ld [de], a
inc de
ld hl, $20
ld hl, MON_STATUS
add hl, bc
ld a, [hl]
ld [de], a
inc de
ld a, [bc]
cp $51
jr z, .asm_28528
cp $52
jr nz, .asm_28530
cp MAGNEMITE
jr z, .steel_type
cp MAGNETON
jr nz, .skip_steel
.asm_28528
ld a, $17
.steel_type
ld a, ELECTRIC
ld [de], a
inc de
ld [de], a
inc de
jr .asm_28544
jr .done_steel
.asm_28530
.skip_steel
push bc
dec a
ld hl, BaseData + 7 ; type
@@ -744,15 +744,15 @@ Function284f6: ; 284f6
call FarCopyBytes
pop bc
.asm_28544
.done_steel
push bc
ld hl, $1
ld hl, MON_ITEM
add hl, bc
ld bc, $1a
ld bc, MON_HAPPINESS - MON_ITEM
call CopyBytes
pop bc
ld hl, $1f
ld hl, MON_LEVEL
add hl, bc
ld a, [hl]
ld [de], a
@@ -760,9 +760,9 @@ Function284f6: ; 284f6
inc de
push bc
ld hl, $24
ld hl, MON_MAXHP
add hl, bc
ld bc, 8
ld bc, MON_SAT - MON_MAXHP
call CopyBytes
pop bc
@@ -781,19 +781,19 @@ Function284f6: ; 284f6
ld [BaseSpecialAttack], a
pop bc
ld hl, $a
ld hl, MON_EXP + 2
add hl, bc
ld c, $5
ld b, $1
ld c, STAT_SATK
ld b, TRUE
predef CalcPkmnStatC
pop bc
pop de
ld a, [$ffb5]
ld a, [hQuotient + 1]
ld [de], a
inc de
ld a, [$ffb6]
ld a, [hQuotient + 2]
ld [de], a
inc de
ld h, b
@@ -801,10 +801,10 @@ Function284f6: ; 284f6
ret
; 28595
Function28595: ; 28595
ld de, wc800
ld a, EGG
ld b, PARTY_LENGTH
Link_PrepPartyData_Gen2: ; 28595
ld de, wLinkData
ld a, $fd
ld b, 6
.loop1
ld [de], a
inc de
@@ -966,7 +966,7 @@ Function2868a: ; 2868a
ld [hli], a
ld [hl], b
ld hl, OTPartyMon1Species
ld c, $6
ld c, PARTY_LENGTH
.loop
push bc
call Function286ba
@@ -977,10 +977,10 @@ Function2868a: ; 2868a
lb bc, 1, 8
add hl, bc
ld de, OTPartyMonOT
ld bc, $42
ld bc, PARTY_LENGTH * NAME_LENGTH
call CopyBytes
ld de, OTPartyMonNicknames
ld bc, $42
ld bc, PARTY_LENGTH * PKMN_NAME_LENGTH
jp CopyBytes
; 286ba
@@ -998,7 +998,7 @@ Function286ba: ; 286ba
ld a, [wd265]
ld [bc], a
ld [CurSpecies], a
ld hl, $22
ld hl, MON_HP
add hl, bc
ld a, [de]
inc de
@@ -1069,27 +1069,27 @@ Function286ba: ; 286ba
ld e, l
ld hl, $a
add hl, bc
ld c, $5
ld b, $1
ld c, STAT_SATK
ld b, TRUE
predef CalcPkmnStatC
pop bc
pop hl
ld a, [$ffb5]
ld a, [hQuotient + 1]
ld [hli], a
ld a, [$ffb6]
ld a, [hQuotient + 2]
ld [hli], a
push hl
push bc
ld hl, $a
add hl, bc
ld c, $6
ld b, $1
ld c, STAT_SDEF
ld b, TRUE
predef CalcPkmnStatC
pop bc
pop hl
ld a, [$ffb5]
ld a, [hQuotient + 1]
ld [hli], a
ld a, [$ffb6]
ld a, [hQuotient + 2]
ld [hli], a
push hl
ld hl, $1b
@@ -1150,16 +1150,16 @@ Function28771: ; 28771
; 2879e
Function2879e: ; 2879e
.asm_2879e
.loop
ld a, [hli]
cp $fe
jr z, .asm_2879e
jr z, .loop
ld [de], a
inc de
dec bc
ld a, b
or c
jr nz, .asm_2879e
jr nz, .loop
ret
; 287ab
@@ -1171,39 +1171,39 @@ Function287ab: ; 287ab
call Function287d8
ld de, LinkBattleRNs
ld c, $a
.asm_287bb
.loop
ld a, [hli]
cp $fe
jr z, .asm_287bb
jr z, .loop
cp $fd
jr z, .asm_287bb
jr z, .loop
ld [de], a
inc de
dec c
jr nz, .asm_287bb
jr nz, .loop
ret
; 287ca
Function287ca: ; 287ca
.asm_287ca
.loop
ld a, [hli]
and a
jr z, .asm_287ca
jr z, .loop
cp $fd
jr z, .asm_287ca
jr z, .loop
cp $fe
jr z, .asm_287ca
jr z, .loop
dec hl
ret
; 287d8
Function287d8: ; 287d8
.asm_287d8
.loop
ld a, [hli]
cp $fd
jr z, .asm_287d8
jr z, .loop
cp $fe
jr z, .asm_287d8
jr z, .loop
dec hl
ret
; 287e3
@@ -1226,19 +1226,19 @@ endr
; 28803
Function28803: ; 28803
ld a, $1
ld a, OTPARTYMON
ld [MonType], a
ld a, $c1
ld [w2DMenuFlags4], a
ld a, A_BUTTON | D_UP | D_DOWN
ld [wMenuJoypadFilter], a
ld a, [OTPartyCount]
ld [w2DMenuNumRows], a
ld a, $1
ld a, 1
ld [w2DMenuNumCols], a
ld a, $9
ld a, 9
ld [w2DMenuCursorInitY], a
ld a, $6
ld a, 6
ld [w2DMenuCursorInitX], a
ld a, $1
ld a, 1
ld [wMenuCursorX], a
ld a, $10
ld [w2DMenuFlags3], a
@@ -1293,17 +1293,17 @@ Function2888b: ; 2888b
callba Function49856
xor a
ld [MonType], a
ld a, $c1
ld [w2DMenuFlags4], a
ld a, A_BUTTON | D_UP | D_DOWN
ld [wMenuJoypadFilter], a
ld a, [PartyCount]
ld [w2DMenuNumRows], a
ld a, $1
ld a, 1
ld [w2DMenuNumCols], a
ld a, $1
ld a, 1
ld [w2DMenuCursorInitY], a
ld a, $6
ld a, 6
ld [w2DMenuCursorInitX], a
ld a, $1
ld a, 1
ld [wMenuCursorX], a
ld a, $10
ld [w2DMenuFlags3], a
@@ -1376,8 +1376,8 @@ Function28926: ; 28926
ld a, [wMenuCursorY]
push af
hlcoord 0, 15
ld b, $1
ld c, $12
ld b, 1
ld c, 18
call Predef_LinkTextbox
hlcoord 2, 16
ld de, String28ab4
@@ -1385,19 +1385,19 @@ Function28926: ; 28926
callba Function4d354
.asm_28946
ld a, $7f
ld a, " "
ldcoord_a 11, 16
ld a, $13
ld [w2DMenuFlags4], a
ld a, $1
ld a, A_BUTTON | B_BUTTON | D_RIGHT
ld [wMenuJoypadFilter], a
ld a, 1
ld [w2DMenuNumRows], a
ld a, $1
ld a, 1
ld [w2DMenuNumCols], a
ld a, $10
ld a, 16
ld [w2DMenuCursorInitY], a
ld a, $1
ld a, 1
ld [w2DMenuCursorInitX], a
ld a, $1
ld a, 1
ld [wMenuCursorY], a
ld [wMenuCursorX], a
ld a, $20
@@ -1406,9 +1406,9 @@ Function28926: ; 28926
ld [w2DMenuFlags1], a
ld [w2DMenuFlags2], a
call ScrollingMenuJoypad
bit 4, a
bit D_RIGHT_F, a
jr nz, .asm_2898d
bit 1, a
bit B_BUTTON_F, a
jr z, .asm_289cd
.asm_28983
pop af
@@ -1417,19 +1417,19 @@ Function28926: ; 28926
jp Function2888b
.asm_2898d
ld a, $7f
ld a, " "
ldcoord_a 1, 16
ld a, $23
ld [w2DMenuFlags4], a
ld a, $1
ld a, A_BUTTON | B_BUTTON | D_LEFT
ld [wMenuJoypadFilter], a
ld a, 1
ld [w2DMenuNumRows], a
ld a, $1
ld a, 1
ld [w2DMenuNumCols], a
ld a, $10
ld a, 16
ld [w2DMenuCursorInitY], a
ld a, $b
ld a, 11
ld [w2DMenuCursorInitX], a
ld a, $1
ld a, 1
ld [wMenuCursorY], a
ld [wMenuCursorX], a
ld a, $20
@@ -1438,9 +1438,9 @@ Function28926: ; 28926
ld [w2DMenuFlags1], a
ld [w2DMenuFlags2], a
call ScrollingMenuJoypad
bit 5, a
bit D_LEFT_F, a
jp nz, .asm_28946
bit 1, a
bit B_BUTTON_F, a
jr nz, .asm_28983
jr .asm_289fe
@@ -1485,8 +1485,8 @@ Function28926: ; 28926
ld [wcf57], a
ld [wOtherPlayerLinkAction], a
hlcoord 0, 12
ld b, $4
ld c, $12
ld b, 4
ld c, 18
call Predef_LinkTextbox
callba Function4d354
ld hl, UnknownText_0x28aaf
@@ -1517,8 +1517,8 @@ Function28926: ; 28926
.asm_28a89
hlcoord 0, 12
ld b, $4
ld c, $12
ld b, 4
ld c, 18
call Predef_LinkTextbox
hlcoord 1, 14
ld de, String28ece
@@ -1526,7 +1526,7 @@ Function28926: ; 28926
ld a, $1
ld [wPlayerLinkAction], a
callba Function16d6ce
ld c, $64
ld c, 100
call DelayFrames
jp Function287e3
; 28aaf
@@ -1557,45 +1557,45 @@ Function28ac9: ; 28ac9
push bc
ld bc, NAME_LENGTH
add hl, bc
ld [hl], $7f
ld [hl], " "
pop bc
pop hl
Function28ade: ; 28ade
.asm_28ade
ld a, $ed
.loop1
ld a, "▶"
ldcoord_a 9, 17
.asm_28ae3
.loop2
call JoyTextDelay
ld a, [hJoyLast]
and a
jr z, .asm_28ae3
bit 0, a
jr nz, .asm_28b0b
jr z, .loop2
bit A_BUTTON_F, a
jr nz, .a_button
push af
ld a, " "
ldcoord_a 9, 17
pop af
bit 6, a
jr z, .asm_28b03
bit D_UP_F, a
jr z, .d_up
ld a, [OTPartyCount]
ld [wMenuCursorY], a
jp Function28803
.asm_28b03
.d_up
ld a, $1
ld [wMenuCursorY], a
jp Function2888b
.asm_28b0b
ld a, $ec
.a_button
ld a, "▷"
ldcoord_a 9, 17
ld a, $f
ld [wPlayerLinkAction], a
callba Function16d6ce
ld a, [wOtherPlayerLinkMode]
cp $f
jr nz, .asm_28ade
jr nz, .loop1
Function28b22: ; 28b22
call RotateThreePalettesRight
@@ -1693,28 +1693,28 @@ Function28b87: ; 28b87
call PlaceWholeStringInBoxAtOnce
call LoadStandardMenuDataHeader
hlcoord 10, 7
ld b, $3
ld c, $7
ld b, 3
ld c, 7
call Predef_LinkTextbox
ld de, String28eab
hlcoord 12, 8
call PlaceString
ld a, $8
ld a, 8
ld [w2DMenuCursorInitY], a
ld a, $b
ld a, 11
ld [w2DMenuCursorInitX], a
ld a, $1
ld a, 1
ld [w2DMenuNumCols], a
ld a, $2
ld a, 2
ld [w2DMenuNumRows], a
xor a
ld [w2DMenuFlags1], a
ld [w2DMenuFlags2], a
ld a, $20
ld [w2DMenuFlags3], a
ld a, $3
ld [w2DMenuFlags4], a
ld a, $1
ld a, A_BUTTON | B_BUTTON
ld [wMenuJoypadFilter], a
ld a, 1
ld [wMenuCursorY], a
ld [wMenuCursorX], a
callba Function4d354
@@ -1991,8 +1991,8 @@ Function28b87: ; 28b87
call DelayFrames
ld a, [wLinkMode]
cp LINK_TIMECAPSULE
jp z, Function2805d
jp Function28177
jp z, TimeCapsule
jp Gen2ToGen2LinkComms
; 28ea3
Function28ea3: ; 28ea3
@@ -2593,5 +2593,6 @@ Special_CableClubCheckWhichChris: ; 29f47
; 29f54
GFX_29f54: ; 29f54
; unreferenced
INCBIN "gfx/unknown/029f54.2bpp"
; 29fe4