diff options
Diffstat (limited to 'misc/mobile_40.asm')
-rw-r--r-- | misc/mobile_40.asm | 724 |
1 files changed, 366 insertions, 358 deletions
diff --git a/misc/mobile_40.asm b/misc/mobile_40.asm index bdd9cee6b..5aa73f07d 100644 --- a/misc/mobile_40.asm +++ b/misc/mobile_40.asm @@ -4,7 +4,7 @@ Function100000: ; 100000 ; bc: addr ld a, [rSVBK] push af - ld a, $01 + ld a, 1 ld [rSVBK], a call Function100022 @@ -26,7 +26,7 @@ Function100000: ; 100000 Function100022: ; 100022 push de push bc - call Function100063 + call SetRAMStateForMobile pop bc pop de ld a, d @@ -47,14 +47,14 @@ Function100022: ; 100022 ; 100057 Function100057: ; 100057 - call Function1000a4 + call DisableMobile call ReturnToMapFromSubmenu ld hl, VramState res 1, [hl] ret ; 100063 -Function100063: ; 100063 +SetRAMStateForMobile: ; 100063 xor a ld hl, BGMapBuffer ld bc, $65 @@ -71,11 +71,12 @@ Function100063: ; 100063 ret ; 100082 -Function100082: ; 100082 +EnableMobile: ; 100082 xor a ld hl, OverworldMap ld bc, OverworldMapEnd - OverworldMap call ByteFill + di call DoubleSpeed xor a @@ -89,10 +90,11 @@ Function100082: ; 100082 ld [hMobileReceive], a ld [hMobile], a ei + ret ; 0x1000a4 -Function1000a4: ; 1000a4 +DisableMobile: ; 1000a4 di xor a ld [hMobileReceive], a @@ -110,12 +112,12 @@ Function1000a4: ; 1000a4 Function1000ba: ; 1000ba .loop - ; call [wcd22]:([wcd23][wcd24] + [wcd25]) + ; call [wcd22]:([wcd23][wcd24] + [wMobileCommsJumptableIndex]) ld hl, wcd23 ld a, [hli] ld h, [hl] ld l, a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] ld e, a ld d, 0 add hl, de @@ -984,18 +986,18 @@ MenuData2_100604: ; 100604 db "まつ@" ; 10060d -Function10060d: ; 10060d +Mobile_CommunicationStandby: ; 10060d hlcoord 3, 10 - ld b, $01 - ld c, $0b + ld b, 1 + ld c, 11 call Function3eea - ld de, String_100621 + ld de, .String hlcoord 4, 11 call PlaceString ret ; 100621 -String_100621: ; 100621 +.String: ; 100621 db "つうしんたいきちゅう!@" ; 10062d @@ -2641,53 +2643,55 @@ Function1010de: ; 1010de ret ; 1010f2 -Function1010f2: ; 1010f2 +LoadSelectedPartiesForColosseum: ; 1010f2 xor a ld hl, StringBuffer2 ld bc, 9 call ByteFill - ld hl, wdc5c + ld hl, wPlayerMonSelection ld de, PartyCount - call Function101145 - ld hl, wdc5c + call .CopyThreeSpecies + ld hl, wPlayerMonSelection ld de, PartyMon1Species - call Function10117c - ld hl, wdc5c + call .CopyPartyStruct + ld hl, wPlayerMonSelection ld de, PartyMonOT - call Function101181 - ld hl, wdc5c + call .CopyName + ld hl, wPlayerMonSelection ld de, PartyMonNicknames - call Function101181 - ld hl, wcd75 + call .CopyName + ld hl, wOTMonSelection ld de, OTPartyCount - call Function101145 - ld hl, wcd75 + call .CopyThreeSpecies + ld hl, wOTMonSelection ld de, OTPartyMon1Species - call Function10117c - ld hl, wcd75 + call .CopyPartyStruct + ld hl, wOTMonSelection ld de, OTPartyMonOT - call Function101181 - ld hl, wcd75 + call .CopyName + ld hl, wOTMonSelection ld de, OTPartyMonNicknames - call Function101181 + call .CopyName ret ; 101145 -Function101145: ; 101145 +.CopyThreeSpecies: ; 101145 +; Load the 3 choices to the buffer push de ld bc, StringBuffer2 + 6 xor a -.asm_10114a +.party_loop push af - call Function101168 + call .GetNthSpecies ld [bc], a inc bc pop af inc a - cp $03 - jr nz, .asm_10114a + cp 3 + jr nz, .party_loop pop de - ld a, $03 +; Copy the 3 choices to the party + ld a, 3 ld [de], a inc de ld hl, StringBuffer2 + 6 @@ -2698,7 +2702,9 @@ Function101145: ; 101145 ret ; 101168 -Function101168: ; 101168 +.GetNthSpecies: ; 101168 +; Preserves hl and de +; Get the index of the Nth selection push hl add l ld l, a @@ -2707,6 +2713,7 @@ Function101168: ; 101168 ld h, a ld a, [hl] pop hl +; Get the corresponding species push de inc de add e @@ -2719,34 +2726,38 @@ Function101168: ; 101168 ret ; 10117c -Function10117c: ; 10117c - ld bc, $30 - jr asm_101184 +.CopyPartyStruct: ; 10117c + ld bc, PARTYMON_STRUCT_LENGTH + jr .ContinueCopy -Function101181: ; 101181 - ld bc, 11 +.CopyName: ; 101181 + ld bc, NAME_LENGTH -asm_101184: +.ContinueCopy: + ; Copy, via wc608... ld a, wc608 % $100 ld [StringBuffer2], a ld a, wc608 / $100 ld [StringBuffer2 + 1], a + ; ... bc bytes... ld a, c ld [StringBuffer2 + 2], a ld a, b ld [StringBuffer2 + 3], a + ; ... to de... ld a, e ld [StringBuffer2 + 4], a ld a, d ld [StringBuffer2 + 5], a - ld a, $03 -.asm_1011a0 + ; ... 3 times. + ld a, 3 +.big_copy_loop push af ld a, [hli] push hl push af - call Function1011df - call Function1011e8 + call .GetDestinationAddress + call .GetCopySize pop af call AddNTimes ld a, [StringBuffer2] @@ -2761,14 +2772,14 @@ asm_101184: pop hl pop af dec a - jr nz, .asm_1011a0 - call Function1011e8 + jr nz, .big_copy_loop + call .GetCopySize ld a, 3 ld hl, 0 call AddNTimes ld b, h ld c, l - call Function1011df + call .GetDestinationAddress ld d, h ld e, l ld hl, wc608 @@ -2776,7 +2787,7 @@ asm_101184: ret ; 1011df -Function1011df: ; 1011df +.GetDestinationAddress: ; 1011df ld a, [StringBuffer2 + 4] ld l, a ld a, [StringBuffer2 + 5] @@ -2784,7 +2795,7 @@ Function1011df: ; 1011df ret ; 1011e8 -Function1011e8: ; 1011e8 +.GetCopySize: ; 1011e8 ld a, [StringBuffer2 + 2] ld c, a ld a, [StringBuffer2 + 3] @@ -2889,146 +2900,144 @@ Function10127d: ; 10127d Function10127e: ; 10127e ld a, [wdc5f] and a - jr z, .asm_101290 - cp $01 + jr z, .zero + cp 1 ld c, $27 - jr z, .asm_101292 - cp $02 + jr z, .load + cp 2 ld c, $37 - jr z, .asm_101292 - -.asm_101290 + jr z, .load +.zero ld c, 0 - -.asm_101292 +.load ld a, c - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101297 Jumptable_101297: ; 101297 - dw Function101a97 - dw Function101ab4 - dw Function101475 - dw Function101b0f - dw Function101438 - dw Function101b2b - dw Function101b59 - dw Function101475 - dw Function101b70 - dw Function101438 - dw Function101b8f - dw Function101d7b - dw Function101d95 - dw Function101475 - dw Function101db2 - dw Function101e4f - dw Function101475 - dw Function101e64 - dw Function101e4f - dw Function101475 - dw Function101e64 - dw Function101d95 - dw Function101475 - dw Function101db2 - dw Function101dd0 - dw Function101de3 - dw Function101e39 - dw Function101e09 - dw Function101e4f - dw Function101475 - dw Function101e64 - dw Function101d95 - dw Function101475 - dw Function101db2 - dw Function101e09 - dw Function101e31 - dw Function101bc8 - dw Function101438 - dw Function101be5 - dw Function101ac6 - dw Function101ab4 - dw Function101475 - dw Function101c11 - dw Function1014f4 - dw Function101cc8 - dw Function1014e2 - dw Function1014e2 - dw Function101d10 - dw Function101d2a - dw Function101d2a - dw Function101507 - dw Function10156d - dw Function101557 - dw Function10158a - dw Function101c42 - dw Function101aed - dw Function101ab4 - dw Function101475 - dw Function101c2b - dw Function1014f4 - dw Function101cdf - dw Function1014e2 - dw Function1014e2 - dw Function101d1e - dw Function101d2a - dw Function101d2a - dw Function101507 - dw Function10156d - dw Function101544 - dw Function10158a - dw Function101c42 - dw Function101c50 - dw Function1014ce - dw Function101cf6 - dw Function101826 - dw Function1017e4 - dw Function1017f1 - dw Function1018a8 - dw Function1018d6 - dw Function1017e4 - dw Function1017f1 - dw Function1018e1 - dw Function1015df - dw Function10167d - dw Function10168a - dw Function10162a - dw Function1015be - dw Function10167d - dw Function10168a - dw Function10161f - dw Function10159d - dw Function10167d - dw Function10168a - dw Function101600 - dw Function101d03 - dw Function101d6b - dw Function10159d - dw Function1014ce - dw Function10168e - dw Function101600 - dw Function101913 - dw Function10194b - dw Function10196d - dw Function1017e4 - dw Function1017f5 - dw Function1019ab - dw Function101537 - dw Function101571 - dw Function101c92 - dw Function10152a - dw Function101571 - dw Function101a4f - dw Function101cbc - dw Function101c62 - dw Function101537 - dw Function101571 - dw Function101c92 - dw Function10152a - dw Function101571 - dw Function101ca0 - dw Function101475 - dw Function101cbc + dw Function101a97 ; 00 + dw Function101ab4 ; 01 + dw Function101475 ; 02 + dw Function101b0f ; 03 + dw Function101438 ; 04 + dw Function101b2b ; 05 + dw Function101b59 ; 06 + dw Function101475 ; 07 + dw Function101b70 ; 08 + dw Function101438 ; 09 + dw Function101b8f ; 0a + dw Function101d7b ; 0b + dw Function101d95 ; 0c + dw Function101475 ; 0d + dw Function101db2 ; 0e + dw Function101e4f ; 0f + dw Function101475 ; 10 + dw Function101e64 ; 11 + dw Function101e4f ; 12 + dw Function101475 ; 13 + dw Function101e64 ; 14 + dw Function101d95 ; 15 + dw Function101475 ; 16 + dw Function101db2 ; 17 + dw Function101dd0 ; 18 + dw Function101de3 ; 19 + dw Function101e39 ; 1a + dw Function101e09 ; 1b + dw Function101e4f ; 1c + dw Function101475 ; 1d + dw Function101e64 ; 1e + dw Function101d95 ; 1f + dw Function101475 ; 20 + dw Function101db2 ; 21 + dw Function101e09 ; 22 + dw Function101e31 ; 23 + dw Function101bc8 ; 24 + dw Function101438 ; 25 + dw Function101be5 ; 26 + dw Function101ac6 ; 27 + dw Function101ab4 ; 28 + dw Function101475 ; 29 + dw Function101c11 ; 2a + dw Function1014f4 ; 2b + dw Function101cc8 ; 2c + dw Function1014e2 ; 2d + dw Function1014e2 ; 2e + dw Function101d10 ; 2f + dw Function101d2a ; 30 + dw Function101d2a ; 31 + dw Function101507 ; 32 + dw Function10156d ; 33 + dw Function101557 ; 34 + dw Function10158a ; 35 + dw Function101c42 ; 36 + dw Function101aed ; 37 + dw Function101ab4 ; 38 + dw Function101475 ; 39 + dw Function101c2b ; 3a + dw Function1014f4 ; 3b + dw Function101cdf ; 3c + dw Function1014e2 ; 3d + dw Function1014e2 ; 3e + dw Function101d1e ; 3f + dw Function101d2a ; 40 + dw Function101d2a ; 41 + dw Function101507 ; 42 + dw Function10156d ; 43 + dw Function101544 ; 44 + dw Function10158a ; 45 + dw Function101c42 ; 46 + dw Function101c50 ; 47 + dw Function1014ce ; 48 + dw Function101cf6 ; 49 + dw Function101826 ; 4a + dw Function1017e4 ; 4b + dw Function1017f1 ; 4c + dw Function1018a8 ; 4d + dw Function1018d6 ; 4e + dw Function1017e4 ; 4f + dw Function1017f1 ; 50 + dw Function1018e1 ; 51 + dw Function1015df ; 52 + dw Function10167d ; 53 + dw Function10168a ; 54 + dw Function10162a ; 55 + dw Function1015be ; 56 + dw Function10167d ; 57 + dw Function10168a ; 58 + dw Function10161f ; 59 + dw Function10159d ; 5a + dw Function10167d ; 5b + dw Function10168a ; 5c + dw Function101600 ; 5d + dw Function101d03 ; 5e + dw Function101d6b ; 5f + dw Function10159d ; 60 + dw Function1014ce ; 61 + dw Function10168e ; 62 + dw Function101600 ; 63 + dw Function101913 ; 64 + dw Function10194b ; 65 + dw _SelectMonsForMobileBattle ; 66 + dw Function1017e4 ; 67 + dw Function1017f5 ; 68 + dw _StartMobileBattle ; 69 + dw Function101537 ; 6a + dw Function101571 ; 6b + dw Function101c92 ; 6c + dw Function10152a ; 6d + dw Function101571 ; 6e + dw Function101a4f ; 6f + dw Function101cbc ; 70 + dw Function101c62 ; 71 + dw Function101537 ; 72 + dw Function101571 ; 73 + dw Function101c92 ; 74 + dw Function10152a ; 75 + dw Function101571 ; 76 + dw Function101ca0 ; 77 + dw Function101475 ; 78 + dw Function101cbc ; 79 ; 10138b Function10138b: ; 10138b @@ -3182,9 +3191,9 @@ Function101438: ; 101438 ret z ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101457 @@ -3221,9 +3230,9 @@ Function101475: ; 101475 ret z ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101494 @@ -3269,9 +3278,9 @@ Function1014b7: ; 1014b7 Function1014ce: ; 1014ce callba Function100720 callba Function100641 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1014e2 @@ -3280,19 +3289,19 @@ Function1014e2: ; 1014e2 set 6, [hl] ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1014f4 Function1014f4: ; 1014f4 - callba Function100082 + callba EnableMobile ld hl, wcd29 set 6, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101507 @@ -3302,36 +3311,36 @@ Function101507: ; 101507 ld bc, $40 ld a, $02 call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10151d Function10151d: ; 10151d ; unreferenced ld a, $34 call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10152a Function10152a: ; 10152a ld a, $36 call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101537 Function101537: ; 101537 ld a, $0a call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101544 @@ -3339,9 +3348,9 @@ Function101544: ; 101544 callba Function100641 ld a, $12 call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101557 @@ -3350,9 +3359,9 @@ Function101557: ; 101557 ld hl, wcd53 ld a, $08 call Function3e32 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10156d @@ -3371,9 +3380,9 @@ Function101571: ; 101571 ret .asm_101582 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10158a @@ -3396,9 +3405,9 @@ Function10159d: ; 10159d call Function10174c ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1015be @@ -3411,9 +3420,9 @@ Function1015be: ; 1015be call Function10174c ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1015df @@ -3426,9 +3435,9 @@ Function1015df: ; 1015df call Function10174c ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101600 @@ -3440,25 +3449,25 @@ Function101600: ; 101600 call FarCopyWRAM ld de, wc608 callba Function100ee6 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10161f Function10161f: ; 10161f call Function101649 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10162a Function10162a: ; 10162a call Function101663 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101635 @@ -3513,9 +3522,9 @@ Function101674: ; 101674 ; unreferenced Function10167d: ; 10167d ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10168a @@ -3542,9 +3551,9 @@ Function10168e: ; 10168e ret z ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1016c3 @@ -3746,9 +3755,9 @@ Function1017c7: ; 1017c7 Function1017e4: ; 1017e4 ld a, 0 ld [wcd27], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1017f1 @@ -3768,15 +3777,15 @@ Function1017f5: ; 1017f5 callba Function100382 ld a, [wcd27] bit 7, a - jr nz, .asm_10181e + jr nz, .next ld hl, wcd29 set 6, [hl] ret -.asm_10181e - ld a, [wcd25] +.next + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101826 @@ -3792,9 +3801,9 @@ Function101826: ; 101826 ld hl, Unknown_10186f ld de, wccb4 call Function1013f5 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101844 @@ -3811,9 +3820,9 @@ Function101826: ; 101826 .asm_10185b ld de, wccb4 call Function1013f5 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101869 @@ -3857,9 +3866,9 @@ Function1018a8: ; 1018a8 ld a, $06 call Function101406 jr c, .asm_1018ca - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_1018ca @@ -3875,17 +3884,17 @@ Function1018a8: ; 1018a8 Function1018d6: ; 1018d6 call Function1018ec - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1018e1 Function1018e1: ; 1018e1 call Function1018fb - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1018ec @@ -3938,17 +3947,17 @@ Function101913: ; 101913 cp $02 jr z, .asm_101945 ld a, $71 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_10193f ld a, $66 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101945 ld a, $65 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10194b @@ -3961,25 +3970,25 @@ Function10194b: ; 10194b jr nz, .asm_101967 call Function1013c0 ld a, $71 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101967 ld a, $60 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 10196d -Function10196d: ; 10196d +_SelectMonsForMobileBattle: ; 10196d callba BlankScreen - callba Function10060d + callba Mobile_CommunicationStandby ld hl, wcd29 set 5, [hl] ld hl, wcd2a set 6, [hl] ld a, $06 ld [wccb4], a - ld hl, wdc5c + ld hl, wPlayerMonSelection ld de, wccb5 ld bc, 3 call CopyBytes @@ -3990,14 +3999,14 @@ Function10196d: ; 10196d ld [wccb9], a ld a, [hl] ld [wccba], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1019ab -Function1019ab: ; 1019ab - call Function101a75 +_StartMobileBattle: ; 1019ab + call CopyOtherPlayersBattleMonSelection callba Function100754 xor a ld [wdc5f], a @@ -4005,33 +4014,32 @@ Function1019ab: ; 1019ab callba BlankScreen call SpeechTextBox callba Function100846 - ld c, $78 + ld c, 120 call DelayFrames callba ClearTileMap - call Function1019ee - call Function101a21 + call .CopyOTDetails + call StartMobileBattle ld a, [wcd2b] cp $fc jr nz, .asm_1019e6 xor a ld [wcd2b], a - .asm_1019e6 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 1019ee -Function1019ee: ; 1019ee +.CopyOTDetails: ; 1019ee ld a, [rSVBK] push af - ld a, $05 + ld a, 5 ld [rSVBK], a ld bc, w5_dc0d ld de, w5_dc11 - callba Function4e929 + callba GetMobileOTTrainerClass pop af ld [rSVBK], a @@ -4044,29 +4052,29 @@ Function1019ee: ; 1019ee call CopyBytes ld a, [wcd2f] and a - ld a, $02 - jr z, .asm_101a1e - ld a, $01 - -.asm_101a1e + ld a, 2 + jr z, .got_link_player_number + ld a, 1 +.got_link_player_number ld [hLinkPlayerNumber], a ret ; 101a21 -Function101a21: ; 101a21 +StartMobileBattle: ; 101a21 + ; force stereo and fast text speed ld hl, Options ld a, [hl] push af - and $20 - or $01 + and (1 << STEREO) + or 1 ; 1 frame per character i.e. fast text ld [hl], a - ld a, $01 - ld [wc2d7], a + ld a, 1 + ld [wDisableTextAcceleration], a callba BattleIntro callba DoBattle callba ShowLinkBattleParticipantsAfterEnd xor a - ld [wc2d7], a + ld [wDisableTextAcceleration], a ld a, $ff ld [hLinkPlayerNumber], a pop af @@ -4075,29 +4083,29 @@ Function101a21: ; 101a21 ; 101a4f Function101a4f: ; 101a4f - ld a, $01 - ld [wc2d7], a + ld a, 1 + ld [wDisableTextAcceleration], a callba DetermineMobileBattleResult xor a - ld [wc2d7], a + ld [wDisableTextAcceleration], a callba CleanUpBattleRAM callba LoadPokemonData call Function1013c0 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101a75 -Function101a75: ; 101a75 +CopyOtherPlayersBattleMonSelection: ; 101a75 ld hl, wcc61 - ld de, wcd75 + ld de, wOTMonSelection ld bc, 3 call CopyBytes ld de, wcc64 callba Function100772 callba Function101050 - callba Function1010f2 + callba LoadSelectedPartiesForColosseum ret ; 101a97 @@ -4109,9 +4117,9 @@ Function101a97: ; 101a97 call Function10142c ld hl, wcd29 set 6, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101ab4 @@ -4120,9 +4128,9 @@ Function101ab4: ; 101ab4 call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101ac6 @@ -4138,9 +4146,9 @@ Function101ac6: ; 101ac6 ld [wcd2f], a ld de, wdc42 call Function102068 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101aed @@ -4154,9 +4162,9 @@ Function101aed: ; 101aed set 6, [hl] ld a, $01 ld [wcd2f], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101b0f @@ -4167,9 +4175,9 @@ Function101b0f: ; 101b0f call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld a, 0 ld [wcd26], a ret @@ -4193,9 +4201,9 @@ Function101b2b: ; 101b2b ret .asm_101b51 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101b59 @@ -4206,9 +4214,9 @@ Function101b59: ; 101b59 call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101b70 @@ -4220,9 +4228,9 @@ Function101b70: ; 101b70 ld hl, wcd29 set 5, [hl] call UpdateSprites - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld a, 0 ld [wcd26], a ret @@ -4243,17 +4251,17 @@ Function101b8f: ; 101b8f jr z, .asm_101bbc ld a, $01 ld [wcd2f], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101bbc xor a ld [wcd2f], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101bc8 @@ -4266,9 +4274,9 @@ Function101bc8: ; 101bc8 call Function1013dd ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101be5 @@ -4286,7 +4294,7 @@ Function101be5: ; 101be5 cp $01 jr nz, .asm_101c0b ld a, $2a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101c0b @@ -4303,9 +4311,9 @@ Function101c11: ; 101c11 call Function102048 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101c2b @@ -4316,9 +4324,9 @@ Function101c2b: ; 101c2b call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101c42 @@ -4327,7 +4335,7 @@ Function101c42: ; 101c42 set 1, [hl] call Function100665 ld a, $47 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101c50 @@ -4336,9 +4344,9 @@ Function101c50: ; 101c50 call Function101ee4 ld hl, wcd29 set 2, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101c62 @@ -4356,9 +4364,9 @@ Function101c62: ; 101c62 call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld a, 0 ld [wcd26], a ret @@ -4366,9 +4374,9 @@ Function101c62: ; 101c62 Function101c92: ; 101c92 callba Function100675 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101ca0 @@ -4379,9 +4387,9 @@ Function101ca0: ; 101ca0 call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld a, 0 ld [wcd26], a ret @@ -4406,9 +4414,9 @@ Function101cc8: ; 101cc8 ld [wc30d], a ld hl, wcd29 set 4, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101cdf @@ -4419,44 +4427,44 @@ Function101cdf: ; 101cdf ld [wc30d], a ld hl, wcd29 set 4, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101cf6 Function101cf6: ; 101cf6 ld a, $0b ld [wc314 + 1], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101d03 Function101d03: ; 101d03 ld a, $0e ld [wc314 + 1], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101d10 Function101d10: ; 101d10 ld c, $01 call Function10142c - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a jr Function101d2a Function101d1e: ; 101d1e ld c, $03 call Function10142c - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a Function101d2a: ; 101d2a call Function101418 @@ -4471,9 +4479,9 @@ Function101d2a: ; 101d2a ret z ld a, 0 ld [wcd26], a - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101d4d @@ -4506,7 +4514,7 @@ Function101d6b: ; 101d6b ld hl, wcd29 res 4, [hl] ld a, $64 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101d7b @@ -4517,7 +4525,7 @@ Function101d7b: ; 101d7b add hl, bc ld c, [hl] ld a, c - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101d8d @@ -4532,9 +4540,9 @@ Function101d95: ; 101d95 call Function101ee4 ld hl, wcd29 set 5, [hl] - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld a, 0 ld [wcd26], a ret @@ -4546,9 +4554,9 @@ Function101db2: ; 101db2 ld hl, wcd29 set 5, [hl] jr c, .asm_101dca - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101dca @@ -4562,12 +4570,12 @@ Function101dd0: ; 101dd0 bit 1, [hl] jr nz, .asm_101ddd ld a, $19 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101ddd ld a, $1b - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101de3 @@ -4575,17 +4583,17 @@ Function101de3: ; 101de3 call Function101ecc call Function101ead jr c, .asm_101df3 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101df3 call Function101e98 jr c, .asm_101e00 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101e00 @@ -4598,9 +4606,9 @@ Function101de3: ; 101de3 Function101e09: ; 101e09 call Function101ead jr c, .asm_101e16 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101e16 @@ -4610,9 +4618,9 @@ Function101e09: ; 101e09 call Function101ed3 pop af jr c, .asm_101e2b - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101e2b @@ -4623,7 +4631,7 @@ Function101e09: ; 101e09 Function101e31: ; 101e31 ld a, $3a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a jp Function101c2b ; 101e39 @@ -4634,7 +4642,7 @@ Function101e39: ; 101e39 pop af jr c, .asm_101e49 ld a, $2a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101e49 @@ -4647,9 +4655,9 @@ Function101e4f: ; 101e4f ld e, $06 call Function101ee4 call Function1013d6 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ld a, 0 ld [wcd26], a ret @@ -4663,7 +4671,7 @@ Function101e64: ; 101e64 pop af jr c, .asm_101e77 ld a, $24 - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret .asm_101e77 @@ -4676,17 +4684,17 @@ Function101e64: ; 101e64 Function101e82: ; 101e82 ; unreferenced call Function101ecc - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101e8d Function101e8d: ; 101e8d ; unreferenced call Function101ed3 - ld a, [wcd25] + ld a, [wMobileCommsJumptableIndex] inc a - ld [wcd25], a + ld [wMobileCommsJumptableIndex], a ret ; 101e98 @@ -8101,7 +8109,7 @@ Function10383c: ; 10383c ld a, $01 ld [wdc60], a xor a - ld hl, wdc5c + ld hl, wPlayerMonSelection ld [hli], a ld [hli], a ld [hl], a @@ -8112,7 +8120,7 @@ Function10383c: ; 10383c callba Function4a94e jr c, .asm_103870 ld hl, wd002 - ld de, wdc5c + ld de, wPlayerMonSelection ld bc, 3 call CopyBytes xor a |