diff options
Diffstat (limited to 'misc/mobile_45.asm')
-rw-r--r-- | misc/mobile_45.asm | 319 |
1 files changed, 170 insertions, 149 deletions
diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm index fe4729b9c..7ae4f8327 100644 --- a/misc/mobile_45.asm +++ b/misc/mobile_45.asm @@ -9728,22 +9728,22 @@ Function118903: ; 118903 (46:4903) ld [wcd3c], a call Function119ed8 jp Function119e2e -; 11891c (46:491c) + Function11891c: ; 11891c call Function118b42 jp Function119e2e -; 118922 + Function118922: ; 118922 ld a, [wcd38] and a jr nz, .asm_11892d - ld hl, UnknownText_0x11aba5 + ld hl, Text_WhatLevelDoYouWantToChallenge jr .asm_118930 .asm_11892d - ld hl, UnknownText_0x11abcb + ld hl, Text_CheckBattleRoomListByMaxLevel .asm_118930 call Function11a9c0 @@ -9770,13 +9770,13 @@ Function118936: ld a, [StatusFlags] bit 6, a jr nz, .asm_11896b - ld hl, Strings_119d64 - ld a, $5 + ld hl, Strings_Ll0ToL40 ; Address to list of strings with the choosable levels + ld a, 5 ; 4 levels to choose from, including 'Cancel'-option jr .asm_118970 .asm_11896b - ld hl, Strings_119d0c - ld a, $b + ld hl, Strings_L10ToL100 ; Address to list of strings with the choosable levels + ld a, 11 ; 10 levels to choose from, including 'Cancel'-option .asm_118970 ld [wcd4a], a @@ -9915,7 +9915,8 @@ Function118982: ld a, $0 ld [wcd46], a ret -; 118a54 + + Function118a54: ; 118a54 ld a, [wcd55] @@ -12537,7 +12538,7 @@ MenuData_119cff: ; 119cff String_119d07: db " ▼@" -Strings_119d0c: +Strings_L10ToL100: ; 119d0c db " L:10 @@" db " L:20 @@" db " L:30 @@" @@ -12550,7 +12551,7 @@ Strings_119d0c: db " L:100@@" db "CANCEL@@" -Strings_119d64: +Strings_Ll0ToL40: ; 119d64 db " L:10 @@" db " L:20 @@" db " L:30 @@" @@ -14274,13 +14275,13 @@ UnknownText_0x11ab8b: ; 0x11ab8b done ; 0x11aba5 -UnknownText_0x11aba5: ; 0x11aba5 +Text_WhatLevelDoYouWantToChallenge: ; 0x11aba5 text "What level do you" line "want to challenge?" done ; 0x11abcb -UnknownText_0x11abcb: ; 0x11abcb +Text_CheckBattleRoomListByMaxLevel: ; 0x11abcb text "Check BATTLE ROOM" line "list by max level?" done @@ -16529,7 +16530,7 @@ ENDC sub $19 .asm_11c021 - ld hl, Unknown_11f332 + ld hl, BTTrainerTexts jr .asm_11c033 .asm_11c026 @@ -20671,14 +20672,14 @@ Unknown_11f2f0: db $01, $01, $00, $00, $00, $01 -Unknown_11f332: - dw Unknown_11f338 - dw Unknown_11f36a - dw Unknown_11f39c +BTTrainerTexts: ; 11f332 + dw BTTrainerGreetings + dw BTTrainerPlayerLostTexts + dw BTTrainerPlayerWonTexts -Unknown_11f338: ; 11f338 - dw UnknownText_0x11f42e - dw UnknownText_0x11f43d +BTTrainerGreetings: ; 11f338 + dw BattleTowerTextJump_0x11f42e + dw BattleTowerTextJump_0x11f43d dw UnknownText_0x11f44c dw UnknownText_0x11f45b dw UnknownText_0x11f46a @@ -20703,8 +20704,8 @@ Unknown_11f338: ; 11f338 dw UnknownText_0x11f587 dw UnknownText_0x11f596 -Unknown_11f36a: ; 11f36a - dw UnknownText_0x11f433 +BTTrainerPlayerLostTexts: ; 11f36a + dw BattleTowerTextJump_0x11f433 dw UnknownText_0x11f442 dw UnknownText_0x11f451 dw UnknownText_0x11f460 @@ -20730,7 +20731,7 @@ Unknown_11f36a: ; 11f36a dw UnknownText_0x11f58c dw UnknownText_0x11f59b -Unknown_11f39c: ; 11f39c +BTTrainerPlayerWonTexts: ; 11f39c dw UnknownText_0x11f438 dw UnknownText_0x11f447 dw UnknownText_0x11f456 @@ -20815,20 +20816,20 @@ Unknown_11f410: ; 11f410 dw UnknownText_0x11f681 -UnknownText_0x11f42e: ; 0x11f42e - text_jump UnknownText_0x1ec000 +BattleTowerTextJump_0x11f42e: ; 0x11f42e + text_jump BattleTowerText_0x1ec000 db "@" -UnknownText_0x11f433: ; 0x11f433 - text_jump UnknownText_0x1ec03b +BattleTowerTextJump_0x11f433: ; 0x11f433 + text_jump BattleTowerText_0x1ec03b db "@" UnknownText_0x11f438: ; 0x11f438 text_jump UnknownText_0x1ec060 db "@" -UnknownText_0x11f43d: ; 0x11f43d - text_jump UnknownText_0x1ec080 +BattleTowerTextJump_0x11f43d: ; 0x11f43d + text_jump BattleTowerText_0x1ec080 db "@" UnknownText_0x11f442: ; 0x11f442 @@ -22803,7 +22804,7 @@ Function17021e: ; 17021e Function17022c: ; 17022c .asm_17022c - call Function17023a + call Jumpto_BattleTowerBattleFunction call DelayFrame ld a, [wcf63] cp $1 @@ -22811,11 +22812,11 @@ Function17022c: ; 17022c ret ; 17023a -Function17023a: ; 17023a +Jumpto_BattleTowerBattleFunction: ; 17023a ld a, [wcf63] ld e, a ld d, 0 - ld hl, Jumptable_170249 + ld hl, Jumptable_BattleTowerBattleFunctions rept 2 add hl, de endr @@ -22825,20 +22826,20 @@ endr jp [hl] ; 170249 -Jumptable_170249: ; 170249 - dw Function17024d - dw Function1704c9 +Jumptable_BattleTowerBattleFunctions: ; 170249 + dw RunBattleTowerBattle + dw SkipBattleTowerBattle ; 17024d -Function17024d: ; 17024d +RunBattleTowerBattle: ; 17024d ld a, [Options] push af ld hl, Options set 6, [hl] - ld a, [wcfc0] + ld a, [InBattleTowerBattle] push af or $1 - ld [wcfc0], a + ld [InBattleTowerBattle], a xor a ld [InLinkBattle], a callba Mobile_HealParty @@ -22852,13 +22853,13 @@ Function17024d: ; 17024d ld [ScriptVar], a and a jr nz, .asm_1702a9 - ld a, $1 + ld a, BANK(sNrOfBeatenBattleTowerTrainers) call GetSRAMBank - ld a, [$be46] - ld [wcf64], a + ld a, [sNrOfBeatenBattleTowerTrainers] + ld [wNrOfBeatenBattleTowerTrainers], a ; wcf64 call CloseSRAM ld hl, StringBuffer3 - ld a, [wcf64] + ld a, [wNrOfBeatenBattleTowerTrainers] ; wcf64 add $f7 ld [hli], a ld a, $50 @@ -22866,64 +22867,66 @@ Function17024d: ; 17024d .asm_1702a9 pop af - ld [wcfc0], a + ld [InBattleTowerBattle], a pop af ld [Options], a ld a, $1 ld [wcf63], a ret -; 1702b7 + Function1702b7: ; 1702b7 - call Function1704a2 - ld de, $c643 - ld c, $b +; Initialise the BattleTower-Trainer and his Pkmn + call CopyBTTrainer_FromBT_OTrainer_TowBT_OTTempCopy + ld de, wBT_OTTempCopy + wBT_OTTempCopy_Pkmn1Name ; $c643 + ld c, PKMN_NAME_LENGTH callba Function17d073 jr nc, .asm_1702db - ld a, [$c608 + 11] + + ld a, [wBT_OTTempCopy + wBT_OTTempCopy_Pkmn1] ld [wd265], a call GetPokemonName ld l, e ld h, d - ld de, $c643 - ld bc, $000b + ld de, wBT_OTTempCopy + wBT_OTTempCopy_Pkmn1Name ; $c643 + ld bc, PKMN_NAME_LENGTH call CopyBytes .asm_1702db - ld de, $c67e - ld c, $b + ld de, wBT_OTTempCopy + wBT_OTTempCopy_Pkmn2Name ; $c67e + ld c, PKMN_NAME_LENGTH callba Function17d073 jr nc, .asm_1702fc - ld a, [$c64e] + ld a, [wBT_OTTempCopy + wBT_OTTempCopy_Pkmn2] ; [$c64e] ld [wd265], a call GetPokemonName ld l, e ld h, d - ld de, $c67e - ld bc, $000b + ld de, wBT_OTTempCopy + wBT_OTTempCopy_Pkmn2Name ; $c67e + ld bc, PKMN_NAME_LENGTH call CopyBytes .asm_1702fc - ld de, $c686 + 51 - ld c, $b + ld de, wBT_OTTempCopy + wBT_OTTempCopy_Pkmn3Name ; $c686 + 51 = $c6b9 + ld c, PKMN_NAME_LENGTH callba Function17d073 jr nc, .asm_17031d - ld a, [$c689] + ld a, [wBT_OTTempCopy + wBT_OTTempCopy_Pkmn3] ; [$c689] ld [wd265], a call GetPokemonName ld l, e ld h, d - ld de, $c686 + 51 - ld bc, $000b + ld de, wBT_OTTempCopy + wBT_OTTempCopy_Pkmn3Name ; $c686 + 51 = $c6b9 + ld bc, PKMN_NAME_LENGTH call CopyBytes .asm_17031d ld a, $50 - ld [$c64d], a - ld [$c688], a - ld [$c68a + 57], a + ld [wBT_OTTempCopy + wBT_OTTempCopy_45], a ; $c64d + ld [wBT_OTTempCopy + wBT_OTTempCopy_80], a ; $c688 + ld [wBT_OTTempCopy + wBT_OTTempCopy_BB], a ; $c68a + 57 = $c6c3 call Function170c98 - ld de, $c608 + ld de, wBT_OTTempCopy ld c, $a callba Function17d073 jr nc, .asm_17033d @@ -22931,7 +22934,7 @@ Function1702b7: ; 1702b7 jr .asm_170340 .asm_17033d - ld hl, $c608 + ld hl, wBT_OTTempCopy ; 0xc608 .asm_170340 ld de, wd26b @@ -22939,16 +22942,18 @@ Function1702b7: ; 1702b7 call CopyBytes ld a, $50 ld [de], a - ld hl, $c608 + 10 + ld hl, wBT_OTTempCopy + wBT_OTTempCopy_TrainerClass ld a, [hli] ld [OtherTrainerClass], a ld a, $ea ld [BGMapBuffer], a ld a, $d3 ld [wcd21], a + + ; Copy Pkmn into Memory from the address in hl ld de, OTPartyMon1Species ld bc, OTPartyCount - ld a, $3 + ld a, BATTLETOWER_NROFPKMNS ; Number of Pkmn the BattleTower-Trainer has ld [bc], a inc bc .asm_170367 @@ -22957,7 +22962,7 @@ Function1702b7: ; 1702b7 ld [bc], a inc bc push bc - ld bc, $0030 + ld bc, BATTLETOWER_PKMNSTRUCTLENGTH call CopyBytes push de ld a, [BGMapBuffer] @@ -23163,27 +23168,29 @@ Unknown_17047e: db $0f, $05, $14, $07 db $05, $05, $11, $0c db $0c, $06, $06, $04 -; 1704a2 -Function1704a2: ; 1704a2 + +CopyBTTrainer_FromBT_OTrainer_TowBT_OTTempCopy: ; 1704a2 +; copy the BattleTower-Trainer data that lies at 'BT_OTrainer' to 'wBT_OTTempCopy' ld a, [rSVBK] push af ld a, $3 ld [rSVBK], a - ld hl, LYOverrides - ld de, $c608 - ld bc, $00e0 + ld hl, BT_OTrainer ; $d100 + ld de, wBT_OTTempCopy ; $c608 + ld bc, BT_OTrainerEnd - BT_OTrainer ; $e0 = $a + $1 + 3*$3b + $24 + ; = $a + $1 + BATTLETOWER_NROFPKMNS * (BATTLETOWER_PKMNSTRUCTLENGTH + PKMN_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH call CopyBytes pop af ld [rSVBK], a - ld a, $1 + ld a, BANK(s1_be45) call GetSRAMBank ld a, $2 - ld [$be45], a - ld hl, $be46 + ld [s1_be45], a + ld hl, sNrOfBeatenBattleTowerTrainers inc [hl] call CloseSRAM -Function1704c9: +SkipBattleTowerBattle: ; 1704c9 ret ; 1704ca @@ -23256,14 +23263,17 @@ Jumptable_17051f: ; 17051f Function170525: ; 170525 ld a, $5 call GetSRAMBank + ld hl, $a89c ld de, StringBuffer3 ld bc, $0016 call CopyBytes + ld hl, $a8b2 ld de, $c608 ld bc, $0096 call CopyBytes + call CloseSRAM hlcoord 1, 1 ld de, StringBuffer3 @@ -23281,10 +23291,12 @@ Function170525: ; 170525 call Function1705f0 jr Function1705b2 + Function170571: call Function32f9 call Function1705b2 + Function170577: ld hl, hJoyPressed ld a, [hl] @@ -23500,56 +23512,62 @@ endr Jumptable_170696: ; 170696 (5c:4696) - dw Function17075f - dw Function170788 - dw Function170778 - dw Function170799 - dw Function17079d - dw Function1707ac - dw Function1707f4 - dw Function170868 - dw Function170881 - dw Function17089a - dw Function1708b1 - dw Function1708b9 - dw Function1708c8 - dw Function1708f0 - dw Function17093c - dw Function1709aa - dw Function1709bb - dw Function170a9c - dw Function170aa0 - dw Function170aaf - dw Function170abe - dw Function170ad7 - dw Function170807 - dw Function17081d - dw Function170ae8 - dw Function170b16 - dw Function1706d6 - dw Function1706ee - dw Function17071b - dw Function170729 - dw Function17073e - dw Function170737 - - -Function1706d6: ; 1706d6 (5c:46d6) - ld a, $1 + dw Function17075f ; 0x00 + dw Function170788 ; 0x01 + dw Function170778 ; 0x02 + dw Function170799 ; 0x03 + dw Function17079d ; 0x04 + dw Function1707ac ; 0x05 + dw Function1707f4 ; 0x06 + dw Function170868 ; 0x07 + dw Function170881 ; 0x08 + dw Function17089a ; 0x09 + dw Function1708b1 ; 0x0a + dw Function1708b9 ; 0x0b + dw Function1708c8 ; 0x0c + dw Function1708f0 ; 0x0d + dw Function17093c ; 0x0e + dw Function1709aa ; 0x0f + dw Function1709bb ; 0x10 + dw Function170a9c ; 0x11 + dw Function170aa0 ; 0x12 + dw Function170aaf ; 0x13 + dw Function170abe ; 0x14 + dw Function170ad7 ; 0x15 + dw Function170807 ; 0x16 + dw Function17081d ; 0x17 + dw Function170ae8 ; 0x18 + dw Function170b16 ; 0x19 + dw ResetBattleTowerTrainersSRAM ; 0x1a + dw Function1706ee ; 0x1b + dw Function17071b ; 0x1c + dw Function170729 ; 0x1d + dw Function17073e ; 0x1e + dw Function170737 ; 0x1f + + +; Reset the save memory for BattleTower-Trainers (Counter and all 7 TrainerBytes) +ResetBattleTowerTrainersSRAM: ; 1706d6 (5c:46d6) + ld a, BANK(sBTTrainers) call GetSRAMBank + ld a, $ff - ld hl, $be48 - ld bc, $7 + ld hl, sBTTrainers + ld bc, BATTLETOWER_NROFTRAINERS call ByteFill + xor a - ld [$be46], a + ld [sNrOfBeatenBattleTowerTrainers], a + call CloseSRAM + ret Function1706ee: ; 1706ee (5c:46ee) - ld a, $1 + ld a, BANK(sbe50) call GetSRAMBank - ld a, [$be50] + + ld a, [sbe50] call CloseSRAM ld [ScriptVar], a ld hl, NumItems @@ -23575,18 +23593,18 @@ Function1706ee: ; 1706ee (5c:46ee) ret Function17071b: ; 17071b (5c:471b) - ld a, $1 + ld a, BANK(s1_be45) call GetSRAMBank ld a, $3 - ld [$be45], a + ld [s1_be45], a call CloseSRAM ret Function170729: ; 170729 (5c:4729) - ld a, $1 + ld a, BANK(s1_be45) call GetSRAMBank ld a, $4 - ld [$be45], a + ld [s1_be45], a call CloseSRAM ret @@ -23606,10 +23624,10 @@ Function17073e: ; 17073e (5c:473e) cp $1e jr z, Function17073e push af - ld a, $1 + ld a, BANK(sbe50) call GetSRAMBank pop af - ld [$be50], a + ld [sbe50], a call CloseSRAM ret @@ -23618,17 +23636,17 @@ Function17075f: ; 17075f (5c:475f) ld a, [ScriptVar] and a ret z - ld a, $1 + ld a, BANK(sbe4f) call GetSRAMBank - ld a, [$be4f] + ld a, [sbe4f] and $2 ld [ScriptVar], a call CloseSRAM ret Function170778: ; 170778 (5c:4778) - ld hl, $be45 - ld a, $1 + ld hl, s1_be45 + ld a, BANK(s1_be45) call GetSRAMBank ld a, [hl] ld [ScriptVar], a @@ -23636,11 +23654,11 @@ Function170778: ; 170778 (5c:4778) ret Function170788: ; 170788 (5c:4788) - ld a, $1 + ld a, BANK(sbe4f) call GetSRAMBank - ld a, [$be4f] + ld a, [sbe4f] or $2 - ld [$be4f], a + ld [sbe4f], a call CloseSRAM ret @@ -23651,10 +23669,10 @@ Function170799: ; 170799 (5c:4799) Function17079d: ; 17079d (5c:479d) ld c, $0 asm_17079f: ; 17079f (5c:479f) - ld a, $1 + ld a, BANK(s1_be45) call GetSRAMBank ld a, c - ld [$be45], a + ld [s1_be45], a call CloseSRAM ret @@ -23763,27 +23781,27 @@ Function17081d: ; 17081d (5c:481d) ret Function170868: ; 170868 (5c:4868) - ld a, $1 + ld a, BANK(sbe47) call GetSRAMBank ld a, [rSVBK] ; $ff00+$70 push af ld a, $3 ld [rSVBK], a ; $ff00+$70 ld a, [wd000 + $800] - ld [$be47], a + ld [sbe47], a pop af ld [rSVBK], a ; $ff00+$70 call CloseSRAM ret Function170881: ; 170881 (5c:4881) - ld a, $1 + ld a, BANK(sbe47) call GetSRAMBank ld a, [rSVBK] ; $ff00+$70 push af ld a, $3 ld [rSVBK], a ; $ff00+$70 - ld a, [$be47] + ld a, [sbe47] ld [wd000 + $800], a pop af ld [rSVBK], a ; $ff00+$70 @@ -23815,9 +23833,9 @@ Function1708b1: ; 1708b1 (5c:48b1) ret Function1708b9: ; 1708b9 (5c:48b9) - ld a, $1 + ld a, BANK(s1_be3c) call GetSRAMBank - ld a, [$be3c] + ld a, [s1_be3c] ld [ScriptVar], a call CloseSRAM ret @@ -24121,20 +24139,20 @@ Function170abe: ; 170abe (5c:4abe) ld a, [ScriptVar] and a ret z - ld a, $1 + ld a, BANK(sbe4f) call GetSRAMBank - ld a, [$be4f] + ld a, [sbe4f] and $1 ld [ScriptVar], a call CloseSRAM ret Function170ad7: ; 170ad7 (5c:4ad7) - ld a, $1 + ld a, BANK(sbe4f) call GetSRAMBank - ld a, [$be4f] + ld a, [sbe4f] or $1 - ld [$be4f], a + ld [sbe4f], a call CloseSRAM ret @@ -24178,8 +24196,8 @@ Function170b16: ; 170b16 (5c:4b16) ld [ScriptVar], a ret -Function170b44: ; 170b44 - callba Function1f8000 +Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44 + callba Function_LoadOpponentTrainerAndPokemons ld a, [rSVBK] push af ld a, $3 @@ -24195,6 +24213,9 @@ Function170b44: ; 170b44 add hl, bc ld a, [hl] ld [wcd49], a + +; Load sprite of the opponent trainer +; because s/he is chosen randomly and appears out of nowhere ld a, [ScriptVar] dec a sla a @@ -24237,8 +24258,8 @@ Function170bd2: ; 170bd2 ret ; 170bd3 -Function170bd3: ; 170bd3 - callba Function8b201 +SpecialCheckForBattleTowerRules: ; 170bd3 + callba CheckForBattleTowerRules jr c, .asm_170bde xor a jr .asm_170be0 |