diff options
Diffstat (limited to 'main.asm')
-rw-r--r-- | main.asm | 4085 |
1 files changed, 1590 insertions, 2495 deletions
@@ -17,8 +17,7 @@ Function4000:: ; 4000 jr .asm_4017 .asm_4012 - ld a, $10 - call Predef + predef Function28eef .asm_4017 hlcoord 4, 11 @@ -3891,7 +3890,7 @@ Function5bae: ; 5bae ld a, 1 call GetSRAMBank - ld hl, BoxCount + ld hl, sBoxCount call Function5ca1 call CloseSRAM @@ -3908,16 +3907,16 @@ Function5bae: ; 5bae call Function5ca1 xor a - ld [RoamMon1Species], a - ld [RoamMon2Species], a - ld [RoamMon3Species], a + ld [wRoamMon1Species], a + ld [wRoamMon2Species], a + ld [wRoamMon3Species], a ld a, -1 - ld [RoamMon1MapGroup], a - ld [RoamMon2MapGroup], a - ld [RoamMon3MapGroup], a - ld [RoamMon1MapNumber], a - ld [RoamMon2MapNumber], a - ld [RoamMon3MapNumber], a + ld [wRoamMon1MapGroup], a + ld [wRoamMon2MapGroup], a + ld [wRoamMon3MapGroup], a + ld [wRoamMon1MapNumber], a + ld [wRoamMon2MapNumber], a + ld [wRoamMon3MapNumber], a ld a, 0 call GetSRAMBank @@ -3977,8 +3976,8 @@ Function5ca1: ; 5ca1 ; 5ca6 Function5ca6: ; 5ca6 - ld hl, Box1Name - ld c, $0 + ld hl, wBoxNames + ld c, 0 .asm_5cab push hl ld de, .Box @@ -3986,22 +3985,22 @@ Function5ca6: ; 5ca6 dec hl ld a, c inc a - cp $a + cp 10 jr c, .asm_5cbe - sub $a - ld [hl], $f7 + sub 10 + ld [hl], "1" inc hl .asm_5cbe - add $f6 + add "0" ld [hli], a - ld [hl], $50 + ld [hl], "@" pop hl - ld de, $0009 + ld de, 9 add hl, de inc c ld a, c - cp $e + cp NUM_BOXES jr c, .asm_5cab ret @@ -4041,18 +4040,14 @@ Function5ce9: ; 5ce9 ld de, GreensName .Copy - ld bc, $000b + ld bc, NAME_LENGTH call CopyBytes ret -.Rival - db "???@" -.Red - db "RED@" -.Green - db "GREEN@" -.Mom - db "MOM@" +.Rival db "???@" +.Red db "RED@" +.Green db "GREEN@" +.Mom db "MOM@" ; 5d23 Function5d23: ; 5d23 @@ -4677,27 +4672,24 @@ Function6182: ; 6182 Function619c: ; 619c ld de, VTiles2 - callba Function5120d + callba GetTrainerPic xor a ld [$ffad], a hlcoord 6, 4 ld bc, $0707 - ld a, $13 - call Predef + predef FillBox ret ; 61b4 Function61b4: ; 61b4 ld de, VTiles2 ld c, $31 - ld a, $40 - call Predef + predef DecompressPredef xor a ld [$ffad], a hlcoord 6, 4 ld bc, $0707 - ld a, $13 - call Predef + predef FillBox ret ; 61cd @@ -5255,111 +5247,119 @@ Function64db: ; 64db ret ; 6508 -Function6508: ; 6508 +LearnMove: ; 6508 call Function309d ld a, [CurPartyMon] - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call GetNick ld hl, StringBuffer1 ld de, $d050 - ld bc, $000b + ld bc, PKMN_NAME_LENGTH call CopyBytes -Function6520: ; 6520 - ld hl, PartyMon1Move1 - ld bc, $0030 +.loop + ld hl, PartyMon1Moves + ld bc, PartyMon2 - PartyMon1 ld a, [CurPartyMon] call AddNTimes ld d, h ld e, l - ld b, $4 -.asm_6530 + ld b, NUM_MOVES +.next ld a, [hl] and a - jr z, .asm_6564 + jr z, .learn inc hl dec b - jr nz, .asm_6530 + jr nz, .next + push de call Function65d3 pop de - jp c, Function65b5 + jp c, .cancel + push hl push de ld [$d265], a + ld b, a ld a, [IsInBattle] and a - jr z, .asm_6559 + jr z, .not_disabled ld a, [DisabledMove] cp b - jr nz, .asm_6559 + jr nz, .not_disabled xor a ld [DisabledMove], a ld [PlayerDisableCount], a +.not_disabled -.asm_6559 call GetMoveName ld hl, UnknownText_0x6684 call PrintText pop de pop hl -.asm_6564 +.learn ld a, [$d262] ld [hl], a - ld bc, $0015 + ld bc, PartyMon1PP - PartyMon1Moves add hl, bc + push hl push de dec a ld hl, Moves + MOVE_PP - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld a, BANK(Moves) call GetFarByte pop de pop hl + ld [hl], a + ld a, [IsInBattle] and a - jp z, Function65ca + jp z, .learned + ld a, [CurPartyMon] ld b, a ld a, [CurBattleMon] cp b - jp nz, Function65ca + jp nz, .learned + ld a, [PlayerSubStatus5] - bit 3, a - jp nz, Function65ca + bit SUBSTATUS_TRANSFORMED, a + jp nz, .learned + ld h, d ld l, e - ld de, BattleMonMove1 - ld bc, $0004 + ld de, BattleMonMoves + ld bc, NUM_MOVES call CopyBytes - ld bc, $0011 + ld bc, PartyMon1PP - (PartyMon1Moves + NUM_MOVES) add hl, bc - ld de, BattleMonPPMove1 - ld bc, $0004 + ld de, BattleMonPP + ld bc, NUM_MOVES call CopyBytes - jp Function65ca -; 65b5 + jp .learned -Function65b5: ; 65b5 +.cancel ld hl, UnknownText_0x6675 call PrintText call YesNoBox - jp c, Function6520 + jp c, .loop + ld hl, UnknownText_0x667a call PrintText - ld b, $0 + ld b, 0 ret -; 65ca -Function65ca: ; 65ca +.learned ld hl, UnknownText_0x666b call PrintText - ld b, $1 + ld b, 1 ret ; 65d3 @@ -5370,11 +5370,11 @@ Function65d3: ; 65d3 call YesNoBox pop hl ret c - ld bc, $fffc + ld bc, -NUM_MOVES add hl, bc push hl ld de, $d25e - ld bc, $0004 + ld bc, NUM_MOVES call CopyBytes pop hl .asm_65ee @@ -5382,14 +5382,13 @@ Function65d3: ; 65d3 ld hl, UnknownText_0x6670 call PrintText hlcoord 5, 2 - ld b, $8 - ld c, $d + ld b, NUM_MOVES * 2 + ld c, MOVE_NAME_LENGTH call TextBox - hlcoord 7, 4 - ld a, $28 + hlcoord 5 + 2, 2 + 2 + ld a, SCREEN_WIDTH * 2 ld [Buffer1], a - ld a, $20 - call Predef + predef ListMoves ld a, $4 ld [$cfa1], a ld a, $6 @@ -5420,7 +5419,7 @@ Function65d3: ; 65d3 ld a, [$cfa9] dec a ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [hl] push af @@ -5474,9 +5473,6 @@ UnknownText_0x667f: ; 667f UnknownText_0x6684: ; 6684 text_jump UnknownText_0x1c5740 start_asm -; 6689 - -; 6689 push de ld de, SFX_SWITCH_POKEMON call PlaySFX @@ -6457,8 +6453,8 @@ ChangeHappiness: ; 71c2 db +5, +3, +2 db +5, +3, +2 db +1, +1, +0 - db +3, +2, +1 - db +1, +1, +0 + db +3, +2, +1 ; Battled a Gym Leader + db +1, +1, +0 ; Learned a move db -1, -1, -1 db -5, -5, -10 db -5, -5, -10 @@ -6515,7 +6511,7 @@ StepHappiness:: ; 725a DaycareStep:: ; 7282 - ld a, [DaycareMan] + ld a, [wDaycareMan] bit 0, a jr z, .asm_72a4 @@ -6537,7 +6533,7 @@ DaycareStep:: ; 7282 ld [hl], a .asm_72a4 - ld a, [DaycareLady] + ld a, [wDaycareLady] bit 0, a jr z, .asm_72c6 @@ -6559,10 +6555,10 @@ DaycareStep:: ; 7282 ld [hl], a .asm_72c6 - ld hl, DaycareMan + ld hl, wDaycareMan bit 5, [hl] ; egg ret z - ld hl, StepsToEgg + ld hl, wStepsToEgg dec [hl] ret nz @@ -6587,7 +6583,7 @@ DaycareStep:: ; 7282 call Random cp b ret nc - ld hl, DaycareMan + ld hl, wDaycareMan res 5, [hl] set 6, [hl] ret @@ -6606,8 +6602,7 @@ SpecialGiveShuckle: ; 7305 ld a, 15 ld [CurPartyLevel], a - ld a, PREDEF_ADDPARTYMON - call Predef + predef Functiond88c jr nc, .NotGiven ; Caught data. @@ -6636,7 +6631,7 @@ SpecialGiveShuckle: ; 7305 ; Nickname. ld a, [PartyCount] dec a - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call SkipNames ld de, SpecialShuckleNick call CopyName2 @@ -6644,7 +6639,7 @@ SpecialGiveShuckle: ; 7305 ; OT. ld a, [PartyCount] dec a - ld hl, PartyMon1OT + ld hl, PartyMonOT call SkipNames ld de, SpecialShuckleOT call CopyName2 @@ -6692,7 +6687,7 @@ SpecialReturnShuckle: ; 737e ; OT ld a, [CurPartyMon] - ld hl, PartyMon1OT + ld hl, PartyMonOT call SkipNames ld de, SpecialShuckleOT .CheckOT @@ -6828,7 +6823,8 @@ Function746e: ; 746e jp CopyBytes ; 747a -Function747a: ; 747a +Predef1: ; 747a +; not used ret ; 747b @@ -6842,11 +6838,11 @@ Function8000: ; 8000 call WhiteBGMap call ClearSprites ld hl, TileMap - ld bc, $0168 + ld bc, TileMapEnd - TileMap ld a, " " call ByteFill ld hl, AttrMap - ld bc, $0168 + ld bc, AttrMapEnd - AttrMap ld a, $7 call ByteFill call Function3200 @@ -7754,84 +7750,84 @@ GetPredefPointer:: ; 854b ret ; 856b -PredefPointers: ; 856b +PredefPointers:: ; 856b ; $4b Predef pointers ; address, bank - dwb Function6508, BANK(Function6508) ; $0 - dwb Function747a, BANK(Function747a) - dwb Functionc658, BANK(Functionc658) - dwb FlagPredef, BANK(FlagPredef) - dwb Functionc699, BANK(Functionc699) - dwb FillPP, BANK(FillPP) - dwb Functiond88c, BANK(Functiond88c) - dwb Functionda96, BANK(Functionda96) - dwb Functiondb3f, BANK(Functiondb3f) ; $8 - dwb Functionde6e, BANK(Functionde6e) - dwb Functiondf8c, BANK(Functiondf8c) - dwb Functionc6e0, BANK(Functionc6e0) - dwb Functione167, BANK(Functione167) - dwb Functione17b, BANK(Functione17b) - dwb CanLearnTMHMMove, BANK(CanLearnTMHMMove) - dwb GetTMHMMove, BANK(GetTMHMMove) - dwb Function28eef, BANK(Function28eef) ; $ 10 - dwb PrintMoveDesc, BANK(PrintMoveDesc) - dwb Function3df48, BANK(Function3df48) ; UpdatePlayerHUD - dwb FillBox, BANK(FillBox) - dwb Function3d873, BANK(Function3d873) - dwb Function3e036, BANK(Function3e036) ; UpdateEnemyHUD - dwb StartBattle, BANK(StartBattle) - dwb FillInExpBar, BANK(FillInExpBar) - dwb Function3f43d, BANK(Function3f43d) ; $18 - dwb Function3f47c, BANK(Function3f47c) - dwb Function42487, BANK(Function42487) - dwb FillMoves, BANK(FillMoves) - dwb Function421e6, BANK(Function421e6) - dwb Function28f63, BANK(Function28f63) - dwb Function28f24, BANK(Function28f24) - dwb Function5084a, BANK(Function5084a) - dwb Function50d6f, BANK(Function50d6f) ; $20 - dwb Function50d2e, BANK(Function50d2e) - dwb Function50cdb, BANK(Function50cdb) - dwb Function50c50, BANK(Function50c50) - dwb GetGender, BANK(GetGender) - dwb StatsScreenInit, BANK(StatsScreenInit) - dwb DrawPlayerHP, BANK(DrawPlayerHP) - dwb DrawEnemyHP, BANK(DrawEnemyHP) - dwb Function50b7b, BANK(Function50b7b) ; $28 - dwb GetTypeName, BANK(GetTypeName) - dwb PrintMoveType, BANK(PrintMoveType) - dwb PrintType, BANK(PrintType) - dwb PrintMonTypes, BANK(PrintMonTypes) - dwb GetUnownLetter, BANK(GetUnownLetter) - dwb Functioncbcdd, BANK(Functioncbcdd) - dwb Predef2F, BANK(Predef2F) - dwb Function9853, BANK(Function9853) ; $30 - dwb Function864c, BANK(Function864c) - dwb Function91d11, BANK(Function91d11) - dwb CheckContestMon, BANK(CheckContestMon) - dwb Function8c20f, BANK(Function8c20f) - dwb Function8c000, BANK(Function8c000) - dwb Function8c000, BANK(Function8c000) - dwb PlayBattleAnim, BANK(PlayBattleAnim) - dwb Predef38, BANK(Predef38) ; $38 - dwb Predef39, BANK(Predef39) - dwb Functionfd1d0, BANK(Functionfd1d0) - dwb PartyMonItemName, BANK(PartyMonItemName) - dwb Function51077, BANK(Function51077) - dwb Function5116c, BANK(Function5116c) - dwb Function5108b, BANK(Function5108b) - dwb Function5120d, BANK(Function5120d) - dwb DecompressPredef, BANK(DecompressPredef) ; $40 - dwb Function347d3, BANK(Function347d3) - dwb Functionfb908, BANK(Functionfb908) - dwb Functionfb877, BANK(Functionfb877) - dwb Functiond0000, BANK(Functiond0000) - dwb Function50d0a, BANK(Function50d0a) - dwb Functiond00a3, BANK(Functiond00a3) - dwb Functiond008e, BANK(Functiond008e) - dwb Functiond0669, BANK(Functiond0669) ; $48 - dwb Functiond066e, BANK(Functiond066e) + add_predef LearnMove ; $0 + add_predef Predef1 + add_predef Functionc658 + add_predef FlagPredef + add_predef Functionc699 + add_predef FillPP + add_predef Functiond88c + add_predef Functionda96 + add_predef Functiondb3f ; $8 + add_predef Functionde6e + add_predef GiveEgg + add_predef Functionc6e0 + add_predef Functione167 + add_predef Functione17b + add_predef CanLearnTMHMMove + add_predef GetTMHMMove + add_predef Function28eef ; $ 10 + add_predef PrintMoveDesc + add_predef UpdatePlayerHUD + add_predef FillBox + add_predef Function3d873 + add_predef UpdateEnemyHUD + add_predef StartBattle + add_predef FillInExpBar + add_predef Function3f43d ; $18 + add_predef Function3f47c + add_predef LearnLevelMoves + add_predef FillMoves + add_predef Function421e6 + add_predef Function28f63 + add_predef Function28f24 + add_predef Function5084a + add_predef ListMoves ; $20 + add_predef Function50d2e + add_predef Function50cdb + add_predef Function50c50 + add_predef GetGender + add_predef StatsScreenInit + add_predef DrawPlayerHP + add_predef DrawEnemyHP + add_predef Function50b7b ; $28 + add_predef GetTypeName + add_predef PrintMoveType + add_predef PrintType + add_predef PrintMonTypes + add_predef GetUnownLetter + add_predef Functioncbcdd + add_predef Predef2F + add_predef Function9853 ; $30 + add_predef Function864c + add_predef Function91d11 + add_predef CheckContestMon + add_predef Function8c20f + add_predef Function8c000 + add_predef Function8c000_2 + add_predef PlayBattleAnim + add_predef Predef38 ; $38 + add_predef Predef39 + add_predef Functionfd1d0 + add_predef PartyMonItemName + add_predef GetFrontpic + add_predef GetBackpic + add_predef Function5108b + add_predef GetTrainerPic + add_predef DecompressPredef ; $40 + add_predef Function347d3 + add_predef Functionfb908 + add_predef Functionfb877 + add_predef Functiond0000 + add_predef Function50d0a + add_predef Functiond00a3 + add_predef Functiond008e + add_predef Functiond0669 ; $48 + add_predef Functiond066e dbw $ff, Function2d43 ; ???? ; 864c @@ -8503,55 +8499,65 @@ SpecialTrainerHouse: ; 0xc4b9 ld [ScriptVar], a jp CloseSRAM + _PrintNum:: ; c4c7 +; Print c digits of the b-byte value at hl. +; Allows 2 to 7 digits. For 1-digit numbers, add +; the value to char "0" instead of calling PrintNum. +; Some extra flags can be given in bits 5-7 of b. + push bc + bit 5, b - jr z, .asm_c4d9 + jr z, .main bit 7, b - jr nz, .asm_c4d4 + jr nz, .bit_7 bit 6, b - jr z, .asm_c4d9 + jr z, .main -.asm_c4d4 +.bit_7 ld a, $f0 ld [hli], a res 5, b -.asm_c4d9 +.main xor a - ld [hProduct], a - ld [hMultiplicand], a + ld [$ffb3], a + ld [$ffb4], a ld [$ffb5], a ld a, b and $f - cp $1 - jr z, .asm_c501 - cp $2 - jr z, .asm_c4f8 + cp 1 + jr z, .byte + cp 2 + jr z, .word + +.long ld a, [de] - ld [hMultiplicand], a + ld [$ffb4], a inc de ld a, [de] ld [$ffb5], a inc de ld a, [de] ld [$ffb6], a - jr .asm_c504 + jr .start -.asm_c4f8 +.word ld a, [de] ld [$ffb5], a inc de ld a, [de] ld [$ffb6], a - jr .asm_c504 + jr .start -.asm_c501 +.byte ld a, [de] ld [$ffb6], a -.asm_c504 +.start push de + ld d, b ld a, c swap a @@ -8560,123 +8566,126 @@ _PrintNum:: ; c4c7 ld a, c and $f ld b, a - ld c, $0 - cp $2 - jr z, .asm_c57c - cp $3 - jr z, .asm_c56c - cp $4 - jr z, .asm_c55b - cp $5 - jr z, .asm_c54a - cp $6 - jr z, .asm_c538 - ld a, $f - ld [hMultiplier], a - ld a, $42 - ld [hMathBuffer], a - ld a, $40 + ld c, 0 + cp 2 + jr z, .two + cp 3 + jr z, .three + cp 4 + jr z, .four + cp 5 + jr z, .five + cp 6 + jr z, .six + +.seven + ld a, 1000000 / $10000 % $100 + ld [$ffb7], a + ld a, 1000000 / $100 % $100 + ld [$ffb8], a + ld a, 1000000 % $100 ld [$ffb9], a - call Functionc5cb - call PrintNumber_AdvancePointer - -.asm_c538 - ld a, $1 - ld [hMultiplier], a - ld a, $86 - ld [hMathBuffer], a - ld a, $a0 + call .PrintDigit + call .AdvancePointer + +.six + ld a, 100000 / $10000 % $100 + ld [$ffb7], a + ld a, 100000 / $100 % $100 + ld [$ffb8], a + ld a, 100000 % $100 ld [$ffb9], a - call Functionc5cb - call PrintNumber_AdvancePointer + call .PrintDigit + call .AdvancePointer -.asm_c54a +.five xor a - ld [hMultiplier], a - ld a, $27 - ld [hMathBuffer], a - ld a, $10 + ld [$ffb7], a + ld a, 10000 / $100 + ld [$ffb8], a + ld a, 10000 % $100 ld [$ffb9], a - call Functionc5cb - call PrintNumber_AdvancePointer + call .PrintDigit + call .AdvancePointer -.asm_c55b +.four xor a - ld [hMultiplier], a - ld a, $3 - ld [hMathBuffer], a - ld a, $e8 + ld [$ffb7], a + ld a, 1000 / $100 + ld [$ffb8], a + ld a, 1000 % $100 ld [$ffb9], a - call Functionc5cb - call PrintNumber_AdvancePointer + call .PrintDigit + call .AdvancePointer -.asm_c56c +.three xor a - ld [hMultiplier], a + ld [$ffb7], a xor a - ld [hMathBuffer], a - ld a, $64 + ld [$ffb8], a + ld a, 100 ld [$ffb9], a - call Functionc5cb - call PrintNumber_AdvancePointer + call .PrintDigit + call .AdvancePointer -.asm_c57c +.two dec e jr nz, .asm_c583 ld a, $f6 - ld [hProduct], a - + ld [$ffb3], a .asm_c583 - ld c, $0 + + ld c, 0 ld a, [$ffb6] -.asm_c587 - cp $a - jr c, .asm_c590 - sub $a +.mod_10 + cp 10 + jr c, .modded_10 + sub 10 inc c - jr .asm_c587 + jr .mod_10 +.modded_10 -.asm_c590 ld b, a - ld a, [hProduct] + ld a, [$ffb3] or c jr nz, .asm_c59b - call PrintNumber_PrintLeadingZero + call .PrintLeadingZero jr .asm_c5ad .asm_c59b - call Functionc5ba + call .PrintYen push af - ld a, $f6 + ld a, "0" add c ld [hl], a pop af - ld [hProduct], a + ld [$ffb3], a inc e dec e jr nz, .asm_c5ad inc hl - ld [hl], $f2 + ld [hl], $f2 ; XXX .asm_c5ad - call PrintNumber_AdvancePointer - call Functionc5ba - ld a, $f6 + call .AdvancePointer + call .PrintYen + ld a, "0" add b ld [hli], a + pop de pop bc ret ; c5ba -Functionc5ba: ; c5ba +.PrintYen: ; c5ba push af - ld a, [hProduct] + ld a, [$ffb3] and a jr nz, .asm_c5c9 bit 5, d jr z, .asm_c5c9 - ld a, $f0 + ld a, "¥" ld [hli], a res 5, d @@ -8685,76 +8694,72 @@ Functionc5ba: ; c5ba ret ; c5cb - -; known jump sources: c532 (3:4532), c544 (3:4544), c555 (3:4555), c566 (3:4566), c576 (3:4576) -Functionc5cb: ; c5cb (3:45cb) +.PrintDigit: ; c5cb (3:45cb) dec e - jr nz, PrintNumber_PrintDigit + jr nz, .ok ld a, $f6 - ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct) - -; known jump sources: c5cc (3:45cc) -PrintNumber_PrintDigit: ; c5d2 (3:45d2) + ld [$ffb3], a +.ok ld c, $0 .asm_c5d4 - ld a, [hDivisor] ; $ff00+$b7 (aliases: hMultiplier) + ld a, [$ffb7] ld b, a - ld a, [hQuotient] ; $ff00+$b4 (aliases: hMultiplicand) - ld [$FF00+$ba], a + ld a, [$ffb4] + ld [$ffba], a cp b jr c, .asm_c624 sub b - ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand) - ld a, [hMathBuffer] ; $ff00+$b8 + ld [$ffb4], a + ld a, [$ffb8] ld b, a - ld a, [$FF00+$b5] - ld [$FF00+$bb], a + ld a, [$ffb5] + ld [$ffbb], a cp b jr nc, .asm_c5f6 - ld a, [hQuotient] ; $ff00+$b4 (aliases: hMultiplicand) + ld a, [$ffb4] or $0 jr z, .asm_c620 dec a - ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand) - ld a, [$FF00+$b5] + ld [$ffb4], a + ld a, [$ffb5] .asm_c5f6 sub b - ld [$FF00+$b5], a - ld a, [$FF00+$b9] + ld [$ffb5], a + ld a, [$ffb9] ld b, a - ld a, [$FF00+$b6] - ld [$FF00+$bc], a + ld a, [$ffb6] + ld [$ffbc], a cp b jr nc, .asm_c616 - ld a, [$FF00+$b5] + ld a, [$ffb5] and a jr nz, .asm_c611 - ld a, [hQuotient] ; $ff00+$b4 (aliases: hMultiplicand) + ld a, [$ffb4] and a jr z, .asm_c61c dec a - ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand) + ld [$ffb4], a xor a .asm_c611 dec a - ld [$FF00+$b5], a - ld a, [$FF00+$b6] + ld [$ffb5], a + ld a, [$ffb6] .asm_c616 sub b - ld [$FF00+$b6], a + ld [$ffb6], a inc c jr .asm_c5d4 .asm_c61c - ld a, [$FF00+$bb] - ld [$FF00+$b5], a + ld a, [$ffbb] + ld [$ffb5], a .asm_c620 - ld a, [$FF00+$ba] - ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand) + ld a, [$ffba] + ld [$ffb4], a .asm_c624 - ld a, [hPastLeadingZeroes] ; $ff00+$b3 (aliases: hDividend, hProduct) + ld a, [$ffb3] or c - jr z, PrintNumber_PrintLeadingZero - ld a, [hPastLeadingZeroes] ; $ff00+$b3 (aliases: hDividend, hProduct) + jr z, .PrintLeadingZero + ld a, [$ffb3] and a jr nz, .asm_c637 bit 5, d @@ -8766,7 +8771,7 @@ PrintNumber_PrintDigit: ; c5d2 (3:45d2) ld a, $f6 add c ld [hl], a - ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct) + ld [$ffb3], a inc e dec e ret nz @@ -8774,64 +8779,67 @@ PrintNumber_PrintDigit: ; c5d2 (3:45d2) ld [hl], $f2 ret -PrintNumber_PrintLeadingZero: ; c644 +.PrintLeadingZero: ; c644 ; prints a leading zero unless they are turned off in the flags bit 7, d ; print leading zeroes? ret z ld [hl], "0" ret -PrintNumber_AdvancePointer: ; c64a +.AdvancePointer: ; c64a ; increments the pointer unless leading zeroes are not being printed, ; the number is left-aligned, and no nonzero digits have been printed yet bit 7, d ; print leading zeroes? - jr nz, .incrementPointer + jr nz, .inc bit 6, d ; left alignment or right alignment? - jr z, .incrementPointer - ld a, [hPastLeadingZeroes] + jr z, .inc + ld a, [$ffb3] and a ret z -.incrementPointer +.inc inc hl ret -; 0xc658 +; c658 + Functionc658: ; c658 xor a ld [CurPartyMon], a ld hl, PartySpecies -.asm_c65f +.loop ld a, [hli] cp $ff - jr z, .asm_c676 - cp $fd - jr z, .asm_c66d + jr z, .done + cp EGG + jr z, .next + push hl call Functionc677 pop hl -.asm_c66d +.next ld a, [CurPartyMon] inc a ld [CurPartyMon], a - jr .asm_c65f + jr .loop -.asm_c676 +.done ret ; c677 Functionc677: ; c677 - ld a, $0 + ld a, PartyMon1Species - PartyMon1 call GetPartyParamLocation ld d, h ld e, l - ld hl, $0020 + ld hl, PartyMon1Status - PartyMon1Species add hl, de xor a ld [hli], a ld [hl], a - ld hl, $0024 + ld hl, PartyMon1MaxHP - PartyMon1Species add hl, de + ; bc = PartyMon1HP - PartyMon1Species ld b, h ld c, l dec bc @@ -8929,7 +8937,7 @@ Functionc6f5: ; c6f5 GetPartyNick: ; c706 ; write CurPartyMon nickname to StringBuffer1-3 - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld a, BOXMON ld [MonType], a ld a, [CurPartyMon] @@ -10579,7 +10587,7 @@ Functioncfaf: ; cfaf ld [$d22e], a ld a, e ld [CurPartyLevel], a - ld a, $4 + ld a, BATTLETYPE_FISH ld [BattleType], a ld a, $2 ret @@ -12311,7 +12319,7 @@ Functiond88c: ; d88c .asm_d899 ld a, [de] inc a - cp $7 + cp PARTY_LENGTH + 1 ret nc ld [de], a ld a, [de] @@ -12327,11 +12335,11 @@ Functiond88c: ; d88c inc de ld a, $ff ld [de], a - ld hl, PartyMon1OT + ld hl, PartyMonOT ld a, [MonType] and $f jr z, .asm_d8bc - ld hl, OTPartyMon1OT + ld hl, OTPartyMonOT .asm_d8bc ld a, [$ffae] @@ -12340,7 +12348,7 @@ Functiond88c: ; d88c ld d, h ld e, l ld hl, PlayerName - ld bc, $000b + ld bc, NAME_LENGTH call CopyBytes ld a, [MonType] and a @@ -12348,14 +12356,14 @@ Functiond88c: ; d88c ld a, [CurPartySpecies] ld [$d265], a call GetPokemonName - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld a, [$ffae] dec a call SkipNames ld d, h ld e, l ld hl, StringBuffer1 - ld bc, $000b + ld bc, PKMN_NAME_LENGTH call CopyBytes .asm_d8f0 @@ -12368,7 +12376,7 @@ Functiond88c: ; d88c .asm_d8fd ld a, [$ffae] dec a - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes Functiond906: ; d906 ld e, l @@ -12398,29 +12406,24 @@ Functiond906: ; d906 ld a, [MonType] and a jr nz, .asm_d943 - ld de, EnemyMonMove1 - ld a, [de] - inc de - ld [hli], a - ld a, [de] - inc de - ld [hli], a + ld de, EnemyMonMoves + rept NUM_MOVES + -1 ld a, [de] inc de ld [hli], a + endr ld a, [de] ld [hl], a jr .asm_d950 .asm_d943 xor a + rept NUM_MOVES + -1 ld [hli], a - ld [hli], a - ld [hli], a + endr ld [hl], a ld [Buffer1], a - ld a, $1b - call Predef + predef FillMoves .asm_d950 pop de @@ -12536,15 +12539,16 @@ Functiond906: ; d906 jr .asm_da29 .asm_d9f3 - ld a, [EnemyMonAtkDefDV] + ld a, [EnemyMonDVs] ld [de], a inc de - ld a, [EnemyMonSpdSpclDV] + ld a, [EnemyMonDVs + 1] ld [de], a inc de + push hl - ld hl, EnemyMonPPMove1 - ld b, $4 + ld hl, EnemyMonPP + ld b, NUM_MOVES .asm_da03 ld a, [hli] ld [de], a @@ -12552,7 +12556,8 @@ Functiond906: ; d906 dec b jr nz, .asm_da03 pop hl - ld a, $46 + + ld a, BASE_HAPPINESS ld [de], a inc de xor a @@ -12583,7 +12588,7 @@ Functiond906: ; d906 ld a, [IsInBattle] dec a jr nz, .asm_da3b - ld hl, EnemyMonMaxHPHi + ld hl, EnemyMonMaxHP ld bc, $000c call CopyBytes pop hl @@ -12601,15 +12606,14 @@ Functiond906: ; d906 and $f jr nz, .asm_da6b ld a, [CurPartySpecies] - cp $c9 + cp UNOWN jr nz, .asm_da6b ld hl, PartyMon1DVs ld a, [PartyCount] dec a - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes - ld a, $2d - call Predef + predef GetUnownLetter callab Functionfba18 .asm_da6b @@ -12629,7 +12633,7 @@ FillPP: ; da6d push de push bc ld hl, Moves - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld de, StringBuffer1 ld a, BANK(Moves) @@ -12651,13 +12655,13 @@ FillPP: ; da6d Functionda96: ; da96 ld hl, PartyCount ld a, [hl] - cp $6 + cp PARTY_LENGTH scf ret z inc a ld [hl], a ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [CurPartySpecies] ld [hli], a @@ -12665,66 +12669,66 @@ Functionda96: ; da96 ld hl, PartyMon1Species ld a, [PartyCount] dec a - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld e, l ld d, h ld hl, TempMonSpecies call CopyBytes - ld hl, PartyMon1OT + ld hl, PartyMonOT ld a, [PartyCount] dec a call SkipNames ld d, h ld e, l - ld hl, OTPartyMon1OT + ld hl, OTPartyMonOT ld a, [CurPartyMon] call SkipNames - ld bc, $000b + ld bc, NAME_LENGTH call CopyBytes - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld a, [PartyCount] dec a call SkipNames ld d, h ld e, l - ld hl, OTPartyMon1Nickname + ld hl, OTPartyMonNicknames ld a, [CurPartyMon] call SkipNames - ld bc, $000b + ld bc, PKMN_NAME_LENGTH call CopyBytes + ld a, [CurPartySpecies] ld [$d265], a - cp $fd - jr z, .asm_db12 + cp EGG + jr z, .owned dec a call SetSeenAndCaughtMon ld hl, PartyMon1Happiness ld a, [PartyCount] dec a - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes - ld [hl], $46 + ld [hl], BASE_HAPPINESS +.owned -.asm_db12 ld a, [CurPartySpecies] - cp $c9 - jr nz, .asm_db3d + cp UNOWN + jr nz, .done ld hl, PartyMon1DVs ld a, [PartyCount] dec a - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes - ld a, $2d - call Predef + predef GetUnownLetter callab Functionfba18 ld a, [$def4] and a - jr nz, .asm_db3d + jr nz, .done ld a, [UnownLetter] ld [$def4], a +.done -.asm_db3d and a ret ; db3f @@ -12738,29 +12742,29 @@ Functiondb3f: ; db3f cp $2 jr z, .asm_db60 cp $3 - ld hl, BreedMon1Species + ld hl, wBreedMon1Species jr z, .asm_db9b - ld hl, BoxCount + ld hl, sBoxCount ld a, [hl] - cp $14 + cp MONS_PER_BOX jr nz, .asm_db69 jp Functiondcb1 .asm_db60 ld hl, PartyCount ld a, [hl] - cp $6 + cp PARTY_LENGTH jp z, Functiondcb1 .asm_db69 inc a ld [hl], a ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [$d10b] cp $2 - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] jr z, .asm_db7c ld a, [CurPartySpecies] @@ -12770,12 +12774,12 @@ Functiondb3f: ; db3f ld a, [$d10b] dec a ld hl, PartyMon1Species - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 ld a, [PartyCount] jr nz, .asm_db97 - ld hl, BoxMon1Species - ld bc, $0020 - ld a, [BoxCount] + ld hl, sBoxMon1Species + ld bc, sBoxMon1End - sBoxMon1 + ld a, [sBoxCount] .asm_db97 dec a @@ -12787,32 +12791,32 @@ Functiondb3f: ; db3f ld d, h ld a, [$d10b] and a - ld hl, BoxMon1Species - ld bc, $0020 + ld hl, sBoxMon1Species + ld bc, sBoxMon1End - sBoxMon1 jr z, .asm_dbb7 cp $2 - ld hl, BreedMon1Species + ld hl, wBreedMon1Species jr z, .asm_dbbd ld hl, PartyMon1Species - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 .asm_dbb7 ld a, [CurPartyMon] call AddNTimes .asm_dbbd - ld bc, $0020 + ld bc, sBoxMon1End - sBoxMon1 call CopyBytes ld a, [$d10b] cp $3 - ld de, BreedMon1OT + ld de, wBreedMon1OT jr z, .asm_dbe2 dec a - ld hl, PartyMon1OT + ld hl, PartyMonOT ld a, [PartyCount] jr nz, .asm_dbdc - ld hl, BoxMon1OT - ld a, [BoxCount] + ld hl, sBoxMonOT + ld a, [sBoxCount] .asm_dbdc dec a @@ -12821,32 +12825,32 @@ Functiondb3f: ; db3f ld e, l .asm_dbe2 - ld hl, BoxMon1OT + ld hl, sBoxMonOT ld a, [$d10b] and a jr z, .asm_dbf5 - ld hl, BreedMon1OT + ld hl, wBreedMon1OT cp $2 jr z, .asm_dbfb - ld hl, PartyMon1OT + ld hl, PartyMonOT .asm_dbf5 ld a, [CurPartyMon] call SkipNames .asm_dbfb - ld bc, $000b + ld bc, NAME_LENGTH call CopyBytes ld a, [$d10b] cp $3 - ld de, BreedMon1Nick + ld de, wBreedMon1Nick jr z, .asm_dc20 dec a - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld a, [PartyCount] jr nz, .asm_dc1a - ld hl, BoxMon1Nickname - ld a, [BoxCount] + ld hl, sBoxMonNicknames + ld a, [sBoxCount] .asm_dc1a dec a @@ -12855,21 +12859,21 @@ Functiondb3f: ; db3f ld e, l .asm_dc20 - ld hl, BoxMon1Nickname + ld hl, sBoxMonNicknames ld a, [$d10b] and a jr z, .asm_dc33 - ld hl, BreedMon1Nick + ld hl, wBreedMon1Nick cp $2 jr z, .asm_dc39 - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames .asm_dc33 ld a, [CurPartyMon] call SkipNames .asm_dc39 - ld bc, $000b + ld bc, PKMN_NAME_LENGTH call CopyBytes pop hl ld a, [$d10b] @@ -12881,8 +12885,7 @@ Functiondb3f: ; db3f srl a add $2 ld [MonType], a - ld a, $1f - call Predef + predef Function5084a callab Function50e1b ld a, d ld [CurPartyLevel], a @@ -12914,7 +12917,7 @@ Functiondb3f: ; db3f ld d, h ld e, l ld a, [CurPartySpecies] - cp $fd + cp EGG jr z, .asm_dc9e inc hl inc hl @@ -12933,7 +12936,7 @@ Functiondb3f: ; db3f jr .asm_dcac .asm_dca4 - ld a, [BoxCount] + ld a, [sBoxCount] dec a ld b, a call Functiondcb6 @@ -12954,12 +12957,12 @@ Functiondcb1: ; dcb1 Functiondcb6: ; dcb6 ld a, b - ld hl, BoxMons - ld bc, BoxMon2 - BoxMon1 + ld hl, sBoxMons + ld bc, sBoxMon1End - sBoxMon1 call AddNTimes ld b, h ld c, l - ld hl, BoxMon1PP - BoxMon1 + ld hl, sBoxMon1PP - sBoxMon1 add hl, bc push hl push bc @@ -12967,7 +12970,7 @@ Functiondcb6: ; dcb6 ld bc, NUM_MOVES call CopyBytes pop bc - ld hl, BoxMon1Moves - BoxMon1 + ld hl, sBoxMon1Moves - sBoxMon1 add hl, bc push hl ld de, TempMonMoves @@ -12985,7 +12988,7 @@ Functiondcb6: ; dcb6 ld a, [hli] and a jr z, .asm_dd18 - ld [TempMonMove1], a + ld [TempMonMoves+0], a ld a, BOXMON ld [MonType], a ld a, b @@ -13019,7 +13022,7 @@ Functiondcb6: ; dcb6 Functiondd21: ; dd21 - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] ld [CurPartySpecies], a ld de, SFX_TRANSACTION call PlaySFX @@ -13035,7 +13038,7 @@ Functiondd21: ; dd21 ; dd42 Functiondd42: ; dd42 - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] ld [CurPartySpecies], a ld de, SFX_TRANSACTION call PlaySFX @@ -13053,7 +13056,7 @@ Functiondd42: ; dd42 Functiondd64: ; dd64 ld hl, PartyCount ld a, [hl] - cp $6 + cp PARTY_LENGTH jr nz, .asm_dd6e scf ret @@ -13062,22 +13065,22 @@ Functiondd64: ; dd64 inc a ld [hl], a ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [$d10b] and a - ld a, [BreedMon1Species] - ld de, BreedMon1Nick + ld a, [wBreedMon1Species] + ld de, wBreedMon1Nick jr z, .asm_dd86 - ld a, [BreedMon2Species] - ld de, BreedMon2Nick + ld a, [wBreedMon2Species] + ld de, wBreedMon2Nick .asm_dd86 ld [hli], a ld [CurSpecies], a ld a, $ff ld [hl], a - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld a, [PartyCount] dec a call SkipNames @@ -13087,7 +13090,7 @@ Functiondd64: ; dd64 pop de call CopyBytes push hl - ld hl, PartyMon1OT + ld hl, PartyMonOT ld a, [PartyCount] dec a call SkipNames @@ -13117,17 +13120,16 @@ Functiondd64: ; dd64 push bc ld b, $1 call Functione167 - ld hl, PartyMon1Move1 + ld hl, PartyMon1Moves ld a, [PartyCount] dec a - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld d, h ld e, l ld a, $1 ld [Buffer1], a - ld a, $1b - call Predef + predef FillMoves ld a, [PartyCount] dec a ld [CurPartyMon], a @@ -13152,7 +13154,7 @@ Functionde1a: ; de1a ld a, [PartyCount] dec a ld hl, PartyMon1Species - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld d, h ld e, l @@ -13160,7 +13162,7 @@ Functionde1a: ; de1a ; de2a Functionde2a: ; de2a - ld de, BreedMon1Nick + ld de, wBreedMon1Nick call Functionde44 xor a ld [$d10b], a @@ -13168,7 +13170,7 @@ Functionde2a: ; de2a ; de37 Functionde37: ; de37 - ld de, BreedMon2Nick + ld de, wBreedMon2Nick call Functionde44 xor a ld [$d10b], a @@ -13177,28 +13179,28 @@ Functionde37: ; de37 Functionde44: ; de44 ld a, [CurPartyMon] - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call SkipNames call CopyBytes ld a, [CurPartyMon] - ld hl, PartyMon1OT + ld hl, PartyMonOT call SkipNames call CopyBytes ld a, [CurPartyMon] ld hl, PartyMon1Species - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes - ld bc, $0020 + ld bc, sBoxMon1End - sBoxMon1 jp CopyBytes ; de6e Functionde6e: ; de6e - ld a, 1 ; BANK(BoxCount) + ld a, 1 ; BANK(sBoxCount) call GetSRAMBank - ld de, BoxCount + ld de, sBoxCount ld a, [de] - cp 20 + cp MONS_PER_BOX jp nc, Functiondf42 inc a ld [de], a @@ -13217,19 +13219,19 @@ Functionde6e: ; de6e call GetBaseData call ShiftBoxMon ld hl, PlayerName - ld de, BoxMonOT - ld bc, BoxMon2OT - BoxMon1OT + ld de, sBoxMonOT + ld bc, NAME_LENGTH call CopyBytes ld a, [CurPartySpecies] ld [$d265], a call GetPokemonName - ld de, BoxMon1Nickname + ld de, sBoxMonNicknames ld hl, StringBuffer1 - ld bc, BoxMon2Nickname - BoxMon1Nickname + ld bc, PKMN_NAME_LENGTH call CopyBytes ld hl, EnemyMon - ld de, BoxMon1 - ld bc, 6 ; species + item + moves + ld de, sBoxMon1 + ld bc, 1 + 1 + NUM_MOVES ; species + item + moves call CopyBytes ld hl, PlayerID ld a, [hli] @@ -13259,15 +13261,15 @@ Functionde6e: ; de6e inc de dec b jr nz, .asm_dee5 - ld hl, EnemyMonAtkDefDV - ld b, $6 + ld hl, EnemyMonDVs + ld b, 2 + NUM_MOVES ; DVs and PP ; EnemyMonHappiness - EnemyMonDVs .asm_deef ld a, [hli] ld [de], a inc de dec b jr nz, .asm_deef - ld a, $46 + ld a, BASE_HAPPINESS ld [de], a inc de xor a @@ -13285,17 +13287,16 @@ Functionde6e: ; de6e ld a, [CurPartySpecies] cp UNOWN jr nz, .asm_df20 - ld hl, BoxMon1DVs - ld a, $2d - call Predef + ld hl, sBoxMon1DVs + predef GetUnownLetter callab Functionfba18 .asm_df20 - ld hl, BoxMon1Moves - ld de, TempMonMove1 + ld hl, sBoxMon1Moves + ld de, TempMonMoves ld bc, NUM_MOVES call CopyBytes - ld hl, BoxMon1PP + ld hl, sBoxMon1PP ld de, TempMonPP ld bc, NUM_MOVES call CopyBytes @@ -13313,19 +13314,19 @@ Functiondf42: ; df42 ; df47 ShiftBoxMon: ; df47 - ld hl, BoxMonOT - ld bc, BoxMon2OT - BoxMon1OT + ld hl, sBoxMonOT + ld bc, NAME_LENGTH call .asm_df5f - ld hl, BoxMonNicknames - ld bc, BoxMon2Nickname - BoxMon1Nickname + ld hl, sBoxMonNicknames + ld bc, PKMN_NAME_LENGTH call .asm_df5f - ld hl, BoxMons - ld bc, BoxMon2 - BoxMon1 + ld hl, sBoxMons + ld bc, sBoxMon1End - sBoxMon1 .asm_df5f - ld a, [BoxCount] + ld a, [sBoxCount] cp 2 ret c @@ -13336,13 +13337,13 @@ ShiftBoxMon: ; df47 ld d, h pop hl - ld a, [BoxCount] + ld a, [sBoxCount] dec a call AddNTimes dec hl push hl - ld a, [BoxCount] + ld a, [sBoxCount] dec a ld hl, 0 call AddNTimes @@ -13360,7 +13361,7 @@ ShiftBoxMon: ; df47 ret ; df8c -Functiondf8c:: ; df8c +GiveEgg:: ; df8c ld a, [CurPartySpecies] push af callab GetPreEvolution @@ -13384,8 +13385,7 @@ Functiondf8c:: ; df8c ld d, $0 ld hl, PokedexCaught ld b, $0 - ld a, $3 - call Predef + predef FlagPredef .asm_dfc3 pop bc @@ -13398,36 +13398,35 @@ Functiondf8c:: ; df8c ld d, $0 ld hl, PokedexSeen ld b, $0 - ld a, $3 - call Predef + predef FlagPredef .asm_dfd9 pop af ld [CurPartySpecies], a ld a, [PartyCount] dec a - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 ld hl, PartyMon1Species call AddNTimes ld a, [CurPartySpecies] ld [hl], a ld hl, PartyCount ld a, [hl] - ld b, $0 + ld b, 0 ld c, a add hl, bc - ld a, $fd + ld a, EGG ld [hl], a ld a, [PartyCount] dec a - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call SkipNames ld de, Stringe035 call CopyName2 ld a, [PartyCount] dec a ld hl, PartyMon1Happiness - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld a, [$c2cc] bit 1, a @@ -13440,7 +13439,7 @@ Functiondf8c:: ; df8c ld a, [PartyCount] dec a ld hl, PartyMon1HP - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes xor a ld [hli], a @@ -13461,9 +13460,9 @@ Functione039: ; e039 and a jr z, .asm_e04a - ld a, 1 ; BANK(BoxCount) + ld a, 1 ; BANK(sBoxCount) call GetSRAMBank - ld hl, BoxCount + ld hl, sBoxCount .asm_e04a ld a, [hl] @@ -13482,13 +13481,13 @@ Functione039: ; e039 ld [hli], a inc a jr nz, .asm_e057 - ld hl, PartyMon1OT - ld d, $5 + ld hl, PartyMonOT + ld d, PARTY_LENGTH - 1 ld a, [$d10b] and a jr z, .asm_e06d - ld hl, BoxMonOT - ld d, $13 + ld hl, sBoxMonOT + ld d, MONS_PER_BOX - 1 .asm_e06d ld a, [CurPartyMon] @@ -13502,13 +13501,13 @@ Functione039: ; e039 .asm_e07e ld d, h ld e, l - ld bc, $000b + ld bc, PKMN_NAME_LENGTH add hl, bc - ld bc, PartyMon1Nickname + ld bc, PartyMonNicknames ld a, [$d10b] and a jr z, .asm_e090 - ld bc, BoxMonNicknames + ld bc, sBoxMonNicknames .asm_e090 call CopyDataUntil @@ -13517,8 +13516,8 @@ Functione039: ; e039 ld a, [$d10b] and a jr z, .asm_e0a5 - ld hl, BoxMons - ld bc, BoxMon2 - BoxMon1 + ld hl, sBoxMons + ld bc, sBoxMon1End - sBoxMon1 .asm_e0a5 ld a, [CurPartyMon] @@ -13528,37 +13527,37 @@ Functione039: ; e039 ld a, [$d10b] and a jr z, .asm_e0bc - ld bc, BoxMon2 - BoxMon1 + ld bc, sBoxMon1End - sBoxMon1 add hl, bc - ld bc, BoxMonOT + ld bc, sBoxMonOT jr .asm_e0c3 .asm_e0bc ld bc, PartyMon2 - PartyMon1 add hl, bc - ld bc, PartyMon1OT + ld bc, PartyMonOT .asm_e0c3 call CopyDataUntil - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld a, [$d10b] and a jr z, .asm_e0d2 - ld hl, BoxMonNicknames + ld hl, sBoxMonNicknames .asm_e0d2 - ld bc, BoxMon2Nickname - BoxMon1Nickname + ld bc, PKMN_NAME_LENGTH ld a, [CurPartyMon] call AddNTimes ld d, h ld e, l - ld bc, BoxMon2Nickname - BoxMon1Nickname + ld bc, PKMN_NAME_LENGTH add hl, bc ld bc, PartyMonNicknamesEnd ld a, [$d10b] and a jr z, .asm_e0ed - ld bc, BoxMonNicknamesEnd + ld bc, sBoxMonNicknamesEnd .asm_e0ed call CopyDataUntil @@ -13846,7 +13845,7 @@ Functione277:: ; e277 ld [MonType], a call Functiond88c jr nc, .asm_e2b0 - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld a, [PartyCount] dec a ld [CurPartyMon], a @@ -13864,7 +13863,7 @@ Functione277:: ; e277 jr z, .asm_e2e1 ld a, [CurPartyMon] ld hl, PartyMon1Item - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld a, [CurItem] ld [hl], a @@ -13891,7 +13890,7 @@ Functione277:: ; e277 and a jr z, .asm_e2e1 ld a, [CurItem] - ld [BoxMon1Item], a + ld [sBoxMon1Item], a .asm_e2e1 ld a, [CurPartySpecies] @@ -13928,7 +13927,7 @@ Functione277:: ; e277 jr nz, .asm_e35e push hl ld a, [CurPartyMon] - ld hl, PartyMon1OT + ld hl, PartyMonOT call SkipNames ld d, h ld e, l @@ -13947,7 +13946,7 @@ Functione277:: ; e277 push bc ld a, [CurPartyMon] ld hl, PartyMon1ID - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld a, $3 ld [hli], a @@ -13959,7 +13958,7 @@ Functione277:: ; e277 .asm_e35e ld a, $1 call GetSRAMBank - ld de, BoxMon1OT + ld de, sBoxMonOT .asm_e366 ld a, [ScriptBank] call GetFarByte @@ -13971,7 +13970,7 @@ Functione277:: ; e277 ld a, [ScriptBank] call GetFarByte ld b, a - ld hl, BoxMon1ID + ld hl, sBoxMon1ID call Random ld [hli], a call Random @@ -14011,7 +14010,7 @@ Functione277:: ; e277 ld a, $1 call GetSRAMBank ld hl, $d050 - ld de, BoxMon1Nickname + ld de, sBoxMonNicknames ld bc, $000b call CopyBytes call CloseSRAM @@ -14217,7 +14216,7 @@ Functione512: ; e512 ld a, [PartyCount] and a jr z, .asm_e51e - cp $2 + cp 2 jr c, .asm_e526 and a ret @@ -14250,7 +14249,7 @@ UnknownText_0xe533: ; 0xe533 Functione538: ; e538 ld hl, PartyMon1HP - ld de, $0030 + ld de, PartyMon2 - PartyMon1 ld b, $0 .asm_e540 ld a, [CurPartyMon] @@ -14292,7 +14291,7 @@ Functione559: ; e559 (3:6559) Functione56d: ; e56d ld a, [PartyCount] - cp $6 + cp PARTY_LENGTH jr nc, .asm_e576 and a ret @@ -14339,7 +14338,7 @@ ClearPCItemScreen: ; e58b Functione5bb: ; e5bb ld a, [CurPartyMon] - ld hl, BoxMon1Species + ld hl, sBoxMon1Species ld bc, $0020 call AddNTimes ld de, TempMonSpecies @@ -14369,7 +14368,7 @@ Functione5d9: ; e5d9 .asm_e5f1 ld a, $1 - ld hl, BoxCount + ld hl, sBoxCount .asm_e5f6 call GetSRAMBank @@ -14378,7 +14377,7 @@ Functione5d9: ; e5d9 add hl, bc ld b, a ld c, $0 - ld de, EnemyMoveAnimation + ld de, $c608 ld a, b and a jr z, .asm_e66a @@ -14471,7 +14470,7 @@ Unknown_e66e: ; e66e ; e698 Functione698: ; e698 - ld hl, BreedMon1Species + ld hl, wBreedMon1Species ld de, TempMonSpecies ld bc, $0020 call CopyBytes @@ -14486,7 +14485,7 @@ Functione698: ; e698 ; e6b3 Functione6b3: ; e6b3 - ld hl, BreedMon2Species + ld hl, wBreedMon2Species ld de, TempMonSpecies ld bc, $0020 call CopyBytes @@ -14528,7 +14527,7 @@ Functione6fd: ; e6fd ld [CurPartySpecies], a call GetBaseData xor a - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 ld hl, $df9c call ByteFill xor a @@ -14639,12 +14638,12 @@ WobbleChances: ; f9ba ; f9ea -Functionf9ea: ; f9ea - ld a, $2 +KnowsMove: ; f9ea + ld a, PartyMon1Moves - PartyMon1 call GetPartyParamLocation ld a, [$d262] ld b, a - ld c, $4 + ld c, NUM_MOVES .asm_f9f5 ld a, [hli] cp b @@ -14670,7 +14669,7 @@ UnknownText_0xfa06: ; 0xfa06 SECTION "bank4", ROMX, BANK[$4] -Function10000: ; 10000 +Pack: ; 10000 ld hl, Options set 4, [hl] call Function1068a @@ -15286,7 +15285,7 @@ Function103fd: ; 103fd callba PartyMenuSelect jr c, .asm_10475 ld a, [CurPartySpecies] ; $d108 - cp $fd + cp EGG jr nz, .asm_10453 ld hl, UnknownText_0x1048d call PrintText @@ -15299,7 +15298,7 @@ Function103fd: ; 103fd call GetCurNick ld hl, StringBuffer1 ; $d073 ld de, $d050 - ld bc, $b + ld bc, PKMN_NAME_LENGTH call CopyBytes call Function12bd9 pop af @@ -15334,7 +15333,7 @@ Function10492: ; 10492 ; 10493 -Function10493: ; 10493 +BattlePack: ; 10493 ld hl, Options set 4, [hl] call Function1068a @@ -15998,7 +15997,7 @@ Function1089d: ; 1089d ld e, a ld d, $0 ld a, [BattleType] - cp $3 + cp BATTLETYPE_TUTORIAL jr z, .asm_108b3 ld a, [PlayerGender] bit 0, a @@ -16122,7 +16121,7 @@ Function10955: ; 10955 ld a, $24 call ByteFill hlcoord 5, 1 - ld bc, $0b0f + lb bc, 11, 15 call ClearBox ld hl, TileMap ld a, $28 @@ -16135,7 +16134,7 @@ Function10955: ; 10955 call Function109bb call Function109a5 hlcoord 0, 12 - ld bc, $0412 + lb bc, 4, 18 call TextBox call EnableLCD call Function1089d @@ -16906,8 +16905,7 @@ CanLearnTMHMMove: ; 11639 ld b, CHECK_FLAG push de ld d, 0 - ld a, PREDEF_FLAG - call Predef + predef FlagPredef pop de ret @@ -19501,7 +19499,7 @@ StartMenu_Pokegear: ; 1294c StartMenu_Pack: ; 1295b call FadeToMenu - callba Function10000 + callba Pack ld a, [$cf66] and a jr nz, .asm_12970 @@ -20217,8 +20215,7 @@ OpenPartyStats: ; 12e00 xor a ld [MonType], a call LowVolume - ld a, $25 - call Predef + predef StatsScreenInit call MaxVolume call Function1d7d ld a, 0 @@ -20659,8 +20656,8 @@ Function12fd5: ; 12fd5 jp .asm_13018 .asm_130de - ld hl, PartyMon1Move1 - ld bc, $0030 + ld hl, PartyMon1Moves + ld bc, PartyMon2 - PartyMon1 ld a, [CurPartyMon] call AddNTimes push hl @@ -20671,7 +20668,7 @@ Function12fd5: ; 12fd5 call Function1313a ld a, [IsInBattle] jr z, .asm_13113 - ld hl, BattleMonMove1 + ld hl, BattleMonMoves ld bc, $0020 ld a, [CurPartyMon] call AddNTimes @@ -20768,7 +20765,7 @@ Function13172: ; 13172 call ClearBox xor a ld [MonType], a - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld a, [CurPartyMon] call GetNick hlcoord 5, 1 @@ -20791,34 +20788,31 @@ Function131ef: ; 131ef ld [hBGMapMode], a ld [$d0e3], a ld [MonType], a - ld a, $1f - call Predef - ld hl, TempMonMove1 + predef Function5084a + ld hl, TempMonMoves ld de, $d25e - ld bc, $0004 + ld bc, NUM_MOVES call CopyBytes - ld a, $28 + ld a, SCREEN_WIDTH * 2 ld [Buffer1], a hlcoord 2, 3 - ld a, $20 - call Predef + predef ListMoves hlcoord 10, 4 - ld a, $23 - call Predef + predef Function50c50 call WaitBGMap call Function32f9 ld a, [$d0eb] inc a ld [$cfa3], a hlcoord 0, 11 - ld b, $5 - ld c, $12 + ld b, 5 + ld c, 18 jp TextBox ; 13235 Function13235: ; 13235 - ld hl, PartyMon1Move1 - ld bc, $0030 + ld hl, PartyMon1Moves + ld bc, PartyMon2 - PartyMon1 ld a, [CurPartyMon] call AddNTimes ld a, [$cfa9] @@ -20829,7 +20823,7 @@ Function13235: ; 13235 ld a, [hl] ld [CurSpecies], a hlcoord 1, 12 - ld bc, $0512 + lb bc, 5, 18 jp ClearBox ; 13256 @@ -20848,12 +20842,11 @@ Function13256: ; 13256 ld a, [CurSpecies] ld b, a hlcoord 2, 12 - ld a, PREDEF_PRINT_MOVE_TYPE - call Predef + predef PrintMoveType ld a, [CurSpecies] dec a ld hl, Moves + MOVE_POWER - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld a, BANK(Moves) call GetFarByte @@ -20872,8 +20865,7 @@ Function13256: ; 13256 .asm_132ad hlcoord 1, 14 - ld a, $11 - call Predef + predef PrintMoveDesc ld a, $1 ld [hBGMapMode], a ret @@ -21449,7 +21441,7 @@ Function135db: ; 135db ; 135eb UnknownScript_0x135eb:: ; 0x135eb - writecode $3, $6 + writecode $3, BATTLETYPE_CONTEST battlecheck startbattle returnafterbattle @@ -22000,7 +21992,7 @@ ContestScore: ; 13900 call .AddContestStat ; DVs - ld a, [wContestMonAtkDefDV] + ld a, [wContestMonDVs + 0] ld b, a and 2 add a @@ -22014,7 +22006,7 @@ ContestScore: ; 13900 add c ld d, a - ld a, [wContestMonSpdSpcDV] + ld a, [wContestMonDVs + 1] ld b, a and 2 ld c, a @@ -22171,7 +22163,7 @@ Function13a12: ; 13a12 or [hl] jr z, .asm_13a2b ld hl, PartyCount - ld a, $1 + ld a, 1 ld [hli], a inc hl ld a, [hl] @@ -22188,7 +22180,7 @@ Function13a12: ; 13a12 ; 13a31 Function13a31: ; 13a31 - ld hl, $dcd9 + ld hl, PartySpecies + 1 ld a, [$df9b] ld [hl], a ld b, $1 @@ -22295,8 +22287,7 @@ Function13a47: ; 13a47 ld hl, $000a add hl, bc ld b, $1 - ld a, $c - call Predef + predef Functione167 pop hl ld bc, PartyMon2 - PartyMon1 add hl, bc @@ -22918,9 +22909,9 @@ GetMonSprite: ; 14259 cp SPRITE_POKEMON jr c, .Normal cp SPRITE_DAYCARE_MON_1 - jr z, .BreedMon1 + jr z, .wBreedMon1 cp SPRITE_DAYCARE_MON_2 - jr z, .BreedMon2 + jr z, .wBreedMon2 cp SPRITE_VARS jr nc, .Variable jr .Icon @@ -22938,12 +22929,12 @@ GetMonSprite: ; 14259 ld a, [hl] jr .Mon -.BreedMon1 - ld a, [BreedMon1Species] +.wBreedMon1 + ld a, [wBreedMon1Species] jr .Mon -.BreedMon2 - ld a, [BreedMon2Species] +.wBreedMon2 + ld a, [wBreedMon2Species] .Mon ld e, a @@ -25223,8 +25214,8 @@ Function150f9: ; 150f9 push de ld a, $1 call GetSRAMBank - ld hl, BoxCount - ld de, EnemyMoveAnimation + ld hl, sBoxCount + ld de, $c608 ld bc, $01e0 call CopyBytes call CloseSRAM @@ -25233,14 +25224,14 @@ Function150f9: ; 150f9 push af push de call GetSRAMBank - ld hl, EnemyMoveAnimation + ld hl, $c608 ld bc, $01e0 call CopyBytes call CloseSRAM ld a, $1 call GetSRAMBank ld hl, $aef0 - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $01e0 call CopyBytes call CloseSRAM @@ -25253,14 +25244,14 @@ Function150f9: ; 150f9 push af push de call GetSRAMBank - ld hl, EnemyMoveAnimation + ld hl, $c608 ld bc, $01e0 call CopyBytes call CloseSRAM ld a, $1 call GetSRAMBank ld hl, $b0d0 - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $008e call CopyBytes call CloseSRAM @@ -25271,7 +25262,7 @@ Function150f9: ; 150f9 ld e, l ld d, h call GetSRAMBank - ld hl, EnemyMoveAnimation + ld hl, $c608 ld bc, $008e call CopyBytes call CloseSRAM @@ -25288,13 +25279,13 @@ Function1517d: ; 1517d (5:517d) push af push hl call GetSRAMBank - ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct) + ld de, $c608 ld bc, $1e0 call CopyBytes call CloseSRAM ld a, $1 call GetSRAMBank - ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct) + ld hl, $c608 ld de, $ad10 ld bc, $1e0 call CopyBytes @@ -25306,13 +25297,13 @@ Function1517d: ; 1517d (5:517d) push af push hl call GetSRAMBank - ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct) + ld de, $c608 ld bc, $1e0 call CopyBytes call CloseSRAM ld a, $1 call GetSRAMBank - ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct) + ld hl, $c608 ld de, $aef0 ld bc, $1e0 call CopyBytes @@ -25322,13 +25313,13 @@ Function1517d: ; 1517d (5:517d) ld de, $1e0 add hl, de call GetSRAMBank - ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct) + ld de, $c608 ld bc, $8e call CopyBytes call CloseSRAM ld a, $1 call GetSRAMBank - ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct) + ld hl, $c608 ld de, $b0d0 ld bc, $8e call CopyBytes @@ -26436,8 +26427,7 @@ Function157e9: ; 0x157e9 ld [$d107], a ld hl, PCItems call TossItem - ld a, $3b - call Predef + predef PartyMonItemName ld hl, .WithdrewText call Function1d4f xor a @@ -26611,8 +26601,7 @@ Function1590a: ; 0x1590a ld [$d107], a ld hl, NumItems call TossItem - ld a, $3b - call Predef + predef PartyMonItemName ld hl, .DepositText call PrintText ret @@ -27295,8 +27284,7 @@ Function15d83: ; 15d83 ; 15d97 Function15d97: ; 15d97 - ld a, $3b - call Predef + predef PartyMonItemName ld a, $1 call Function15c7d call YesNoBox @@ -27636,8 +27624,7 @@ Function15efd: ; 15efd ld a, [$d107] ld hl, NumItems call TossItem - ld a, $3b - call Predef + predef PartyMonItemName hlcoord 1, 14 ld bc, $0312 call ClearBox @@ -28707,17 +28694,17 @@ MenuData2_0x166bd: ; 0x166bd ; 0x166d6 Function166d6: ; 166d6 - ld hl, DaycareMan + ld hl, wDaycareMan bit 0, [hl] jr nz, .asm_166fe - ld hl, DaycareMan + ld hl, wDaycareMan ld a, $0 call Function1678f jr c, .asm_16724 call Function16798 jr c, .asm_16721 callba Functionde2a - ld hl, DaycareMan + ld hl, wDaycareMan set 0, [hl] call Function167f6 call Function16a3b @@ -28725,13 +28712,13 @@ Function166d6: ; 166d6 .asm_166fe callba Functione698 - ld hl, BreedMon1Nick + ld hl, wBreedMon1Nick call Function1686d call Function16807 jr c, .asm_16721 callba Functiondd21 call Function16850 - ld hl, DaycareMan + ld hl, wDaycareMan res 0, [hl] res 5, [hl] jr .asm_16724 @@ -28746,17 +28733,17 @@ Function166d6: ; 166d6 ; 1672a Function1672a: ; 1672a - ld hl, DaycareLady + ld hl, wDaycareLady bit 0, [hl] jr nz, .asm_16752 - ld hl, DaycareLady + ld hl, wDaycareLady ld a, $2 call Function16781 jr c, .asm_1677b call Function16798 jr c, .asm_16778 callba Functionde37 - ld hl, DaycareLady + ld hl, wDaycareLady set 0, [hl] call Function167f6 call Function16a3b @@ -28764,15 +28751,15 @@ Function1672a: ; 1672a .asm_16752 callba Functione6b3 - ld hl, BreedMon2Nick + ld hl, wBreedMon2Nick call Function1686d call Function16807 jr c, .asm_16778 callba Functiondd42 call Function16850 - ld hl, DaycareLady + ld hl, wDaycareLady res 0, [hl] - ld hl, DaycareMan + ld hl, wDaycareMan res 5, [hl] jr .asm_1677b @@ -28819,13 +28806,13 @@ Function16798: ; 16798 callba Functione538 jr c, .asm_167e9 ld hl, PartyMon1Item - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 ld a, [CurPartyMon] call AddNTimes ld d, [hl] callba ItemIsMail jr c, .asm_167ed - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld a, [CurPartyMon] call GetNick and a @@ -29113,7 +29100,7 @@ UnknownText_0x16931: ; 0x16931 ; 0x16936 Function16936: ; 16936 - ld hl, DaycareMan + ld hl, wDaycareMan bit 6, [hl] jr nz, Function16949 ld hl, UnknownText_0x16944 @@ -29135,7 +29122,7 @@ Function16949: ; 16949 cp $6 jr nc, .asm_16987 call Function169ac - ld hl, DaycareMan + ld hl, wDaycareMan res 6, [hl] call Function16a3b ld hl, UnknownText_0x16998 @@ -29208,32 +29195,32 @@ Function169ac: ; 169ac add hl, bc ld a, EGG ld [hli], a - ld a, [EggSpecies] + ld a, [wEggMonSpecies] ld [CurSpecies], a ld [CurPartySpecies], a ld a, $ff ld [hl], a - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld bc, $000b call Function16a31 - ld hl, EggNick + ld hl, wEggNick call CopyBytes - ld hl, PartyMon1OT + ld hl, PartyMonOT ld bc, $000b call Function16a31 - ld hl, EggOT + ld hl, wEggOT call CopyBytes - ld hl, PartyMon1Species - ld bc, $0030 + ld hl, PartyMon1 + ld bc, PartyMon2 - PartyMon1 call Function16a31 - ld hl, EggSpecies - ld bc, $0020 + ld hl, wEggMon + ld bc, wEggMonEnd - wEggMon call CopyBytes call GetBaseData ld a, [PartyCount] dec a - ld hl, PartyMon1Species - ld bc, $0030 + ld hl, PartyMon1 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld b, h ld c, l @@ -29247,8 +29234,7 @@ Function169ac: ; 169ac pop hl push bc ld b, $0 - ld a, $c - call Predef + predef Functione167 pop bc ld hl, $0022 add hl, bc @@ -29273,10 +29259,10 @@ Function16a31: ; 16a31 ; 16a3b Function16a3b: ; 16a3b - ld a, [DaycareLady] + ld a, [wDaycareLady] bit 0, a ret z - ld a, [DaycareMan] + ld a, [wDaycareMan] bit 0, a ret z callab Function16e1d @@ -29285,40 +29271,40 @@ Function16a3b: ; 16a3b ret z inc a ret z - ld hl, DaycareMan + ld hl, wDaycareMan set 5, [hl] .asm_16a59 call Random cp 150 jr c, .asm_16a59 - ld [StepsToEgg], a + ld [wStepsToEgg], a jp Function16a66 ; 16a66 Function16a66: ; 16a66 xor a - ld hl, EggSpecies - ld bc, $0020 + ld hl, wEggMon + ld bc, wEggMonEnd - wEggMon call ByteFill - ld hl, EggNick - ld bc, $000b + ld hl, wEggNick + ld bc, PKMN_NAME_LENGTH call ByteFill - ld hl, EggOT - ld bc, $000b + ld hl, wEggOT + ld bc, NAME_LENGTH call ByteFill ld a, [$df21] ld [TempMonDVs], a ld a, [$df22] ld [$d124], a - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] ld [CurPartySpecies], a ld a, $3 ld [MonType], a - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] cp DITTO ld a, $1 jr z, .asm_16ab6 - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] cp DITTO ld a, $0 jr z, .asm_16ab6 @@ -29328,11 +29314,11 @@ Function16a66: ; 16a66 inc a .asm_16ab6 - ld [DittoInDaycare], a + ld [wDittoInDaycare], a and a - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] jr z, .asm_16ac2 - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] .asm_16ac2 ld [CurPartySpecies], a @@ -29352,22 +29338,21 @@ Function16a66: ; 16a66 .asm_16ae8 ld [CurPartySpecies], a ld [CurSpecies], a - ld [EggSpecies], a + ld [wEggMonSpecies], a call GetBaseData - ld hl, EggNick + ld hl, wEggNick ld de, String_16be0 call CopyName2 ld hl, PlayerName - ld de, EggOT - ld bc, $000b + ld de, wEggOT + ld bc, NAME_LENGTH call CopyBytes xor a ld [$df7c], a ld de, $df7d xor a ld [Buffer1], a - ld a, $1b - call Predef + predef FillMoves callba Function170bf ld hl, $df81 ld a, [PlayerID] @@ -29399,11 +29384,11 @@ Function16a66: ; 16a66 ld [hld], a ld [$d124], a ld de, $df21 - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] cp DITTO jr z, .asm_16b98 ld de, $df5a - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] cp DITTO jr z, .asm_16b98 ld a, $3 @@ -29415,7 +29400,7 @@ Function16a66: ; 16a66 ld bc, $df5a jr c, .asm_16bab jr z, .asm_16b90 - ld a, [DittoInDaycare] + ld a, [wDittoInDaycare] and a jr z, .asm_16b98 ld d, b @@ -29423,7 +29408,7 @@ Function16a66: ; 16a66 jr .asm_16b98 .asm_16b90 - ld a, [DittoInDaycare] + ld a, [wDittoInDaycare] and a jr nz, .asm_16b98 ld d, b @@ -29453,8 +29438,7 @@ Function16a66: ; 16a66 call CopyBytes ld hl, $df7d ld de, $df92 - ld a, $5 - call Predef + predef FillPP ld hl, $d050 ld de, StringBuffer1 ld bc, $000b @@ -29619,15 +29603,13 @@ Function16cc8: ; 16cc8 xor a ld [$c2c6], a ld de, VTiles2 - ld a, $3c - call Predef + predef GetFrontpic call Function16cff hlcoord 1, 6 xor a ld [$ffad], a ld bc, $0707 - ld a, $13 - call Predef + predef FillBox ld de, $9310 callba Functione0000 ret @@ -29708,8 +29690,7 @@ Function16dac: ; 16dac ld a, $31 ld [$ffad], a ld bc, $0707 - ld a, $13 - call Predef + predef FillBox ret ; 16dc7 @@ -29779,7 +29760,7 @@ Function16e1d: ; 16e1d call Function16ed6 ld c, $0 jp nc, .asm_16eb7 - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] ld [CurPartySpecies], a ld a, [$df21] ld [TempMonDVs], a @@ -29787,8 +29768,7 @@ Function16e1d: ; 16e1d ld [$d124], a ld a, $3 ld [MonType], a - ld a, $24 - call Predef + predef GetGender jr c, .asm_16e70 ld b, $1 jr nz, .asm_16e48 @@ -29796,7 +29776,7 @@ Function16e1d: ; 16e1d .asm_16e48 push bc - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] ld [CurPartySpecies], a ld a, [$df5a] ld [TempMonDVs], a @@ -29804,8 +29784,7 @@ Function16e1d: ; 16e1d ld [$d124], a ld a, $3 ld [MonType], a - ld a, $24 - call Predef + predef GetGender pop bc jr c, .asm_16e70 ld a, $1 @@ -29818,16 +29797,16 @@ Function16e1d: ; 16e1d .asm_16e70 ld c, $0 - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] cp DITTO jr z, .asm_16e82 - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] cp DITTO jr nz, .asm_16eb7 jr .asm_16e89 .asm_16e82 - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] cp DITTO jr z, .asm_16eb7 @@ -29835,9 +29814,9 @@ Function16e1d: ; 16e1d call Function16ebc ld c, $ff jp z, .asm_16eb7 - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] ld b, a - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] cp b ld c, $fe jr z, .asm_16e9f @@ -29884,19 +29863,19 @@ Function16ebc: ; 16ebc (5:6ebc) ; 16ed6 Function16ed6: ; 16ed6 - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] ld [CurSpecies], a call GetBaseData ld a, [BaseEggGroups] cp $ff jr z, .asm_16f3a - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] ld [CurSpecies], a call GetBaseData ld a, [BaseEggGroups] cp $ff jr z, .asm_16f3a - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] cp DITTO jr z, .asm_16f3c ld [CurSpecies], a @@ -29909,7 +29888,7 @@ Function16ed6: ; 16ed6 and $f0 swap a ld c, a - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] cp DITTO jr z, .asm_16f3c ld [CurSpecies], a @@ -30054,8 +30033,7 @@ Function16f7a: ; 16f7a (5:6f7a) ld bc, $a add hl, bc ld b, $0 - ld a, $c - call Predef + predef Functione167 pop bc ld hl, $24 add hl, bc @@ -30075,7 +30053,7 @@ Function16f7a: ; 16f7a (5:6f7a) ld a, [$d47c] ld [hl], a ld a, [CurPartyMon] ; $d109 - ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT) + ld hl, PartyMonOT ; $ddff (aliases: PartyMonOT) ld bc, $b call AddNTimes ld d, h @@ -30085,7 +30063,7 @@ Function16f7a: ; 16f7a (5:6f7a) ld hl, UnknownText_0x1708b call PrintText ld a, [CurPartyMon] ; $d109 - ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname) + ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames) ld bc, $b call AddNTimes ld d, h @@ -30206,7 +30184,7 @@ Function170e4: ; 170e4 GLOBAL EggMoves push bc - ld a, [EggSpecies] + ld a, [wEggMonSpecies] dec a ld c, a ld b, 0 @@ -30240,7 +30218,7 @@ GLOBAL EggMoves jr .asm_1710c .asm_17116 - ld a, [EggSpecies] + ld a, [wEggMonSpecies] dec a ld c, a ld b, 0 @@ -30283,8 +30261,7 @@ GLOBAL EggMoves cp b jr nz, .asm_17149 ld [$d262], a - ld a, $e - call Predef + predef CanLearnTMHMMove ld a, c and a jr z, .asm_17166 @@ -30329,8 +30306,7 @@ Function17169: ; 17169 ld [hl], b ld hl, $df7d ld de, $df92 - ld a, $5 - call Predef + predef FillPP pop bc pop de ret @@ -30338,13 +30314,13 @@ Function17169: ; 17169 Function17197: ; 17197 ld hl, $df47 - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] cp DITTO jr z, .asm_171b1 - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] cp DITTO jr z, .asm_171d7 - ld a, [DittoInDaycare] + ld a, [wDittoInDaycare] and a ret z ld hl, $df0e @@ -30353,7 +30329,7 @@ Function17197: ; 17197 .asm_171b1 ld a, [CurPartySpecies] push af - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] ld [CurPartySpecies], a ld a, [$df5a] ld [TempMonDVs], a @@ -30361,8 +30337,7 @@ Function17197: ; 17197 ld [$d124], a ld a, $3 ld [MonType], a - ld a, $24 - call Predef + predef GetGender jr c, .asm_171fb jr nz, .asm_171fb jr .asm_17203 @@ -30370,7 +30345,7 @@ Function17197: ; 17197 .asm_171d7 ld a, [CurPartySpecies] push af - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] ld [CurPartySpecies], a ld a, [$df21] ld [TempMonDVs], a @@ -30378,8 +30353,7 @@ Function17197: ; 17197 ld [$d124], a ld a, $3 ld [MonType], a - ld a, $24 - call Predef + predef GetGender jr c, .asm_17203 jr nz, .asm_17203 @@ -30398,13 +30372,13 @@ Function17197: ; 17197 Function1720b: ; 1720b ld hl, $df0e - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] cp DITTO ret z - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] cp DITTO jr z, .asm_17220 - ld a, [DittoInDaycare] + ld a, [wDittoInDaycare] and a ret z @@ -30420,12 +30394,10 @@ Function17224: ; 17224 (5:7224) ld [CurPartySpecies], a ; $d108 ld [CurSpecies], a ; $cf60 call GetBaseData - ld hl, BattleMonDVs ; $c632 (aliases: BattleMonAtkDefDV) - ld a, $2d - call Predef + ld hl, BattleMonDVs + predef GetUnownLetter pop de - ld a, $3c - jp Predef + predef_jump GetFrontpic ; known jump sources: 172c2 (5:72c2) Function1723c: ; 1723c (5:723c) @@ -30433,12 +30405,10 @@ Function1723c: ; 1723c (5:723c) ld [CurPartySpecies], a ; $d108 ld [CurSpecies], a ; $cf60 call GetBaseData - ld hl, BattleMonDVs ; $c632 (aliases: BattleMonAtkDefDV) - ld a, $2d - call Predef + ld hl, BattleMonDVs + predef GetUnownLetter pop de - ld a, $3e - jp Predef + predef_jump Function5108b ; known jump sources: 172df (5:72df), 17343 (5:7343) Function17254: ; 17254 (5:7254) @@ -30457,8 +30427,7 @@ Function17254: ; 17254 (5:7254) ld a, c ld [$ffad], a ld bc, $707 - ld a, $13 - call Predef + predef FillBox pop af call Function17363 call Function32f9 @@ -30560,8 +30529,7 @@ Function1728f: ; 1728f (5:728f) hlcoord 6, 3 ld d, $0 ld e, $5 - ld a, $47 - call Predef + predef Functiond008e pop af ld [CurSpecies], a ; $cf60 ret @@ -30667,26 +30635,26 @@ Function17418: ; 17418 (5:7418) Function17421: ; 17421 ld hl, UnknownText_0x17467 call PrintText - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] call Function37ce - ld a, [DaycareLady] + ld a, [wDaycareLady] bit 0, a jr z, Function1745f call Functionaaf - ld hl, BreedMon2Nick + ld hl, wBreedMon2Nick call Function1746c jp PrintText Function17440: ; 17440 ld hl, UnknownText_0x17462 call PrintText - ld a, [BreedMon2Species] + ld a, [wBreedMon2Species] call Function37ce - ld a, [DaycareMan] + ld a, [wDaycareMan] bit 0, a jr z, Function1745f call Functionaaf - ld hl, BreedMon1Nick + ld hl, wBreedMon1Nick call Function1746c jp PrintText @@ -31917,8 +31885,7 @@ Function244e3:: ; 244e3 ld [CurSpecies], a call GetBaseData ld de, VTiles1 - ld a, $3c - call Predef + predef GetFrontpic ld a, [$cf82] inc a ld b, a @@ -31929,8 +31896,7 @@ Function244e3:: ; 244e3 ld a, $80 ld [$ffad], a ld bc, $0707 - ld a, $13 - call Predef + predef FillBox call WaitBGMap ret ; 24528 @@ -33479,7 +33445,7 @@ MenuData2_0x24edc: ; 24edc ; 24ef2 -LoadBattleMenuDataHeader: ; 24ef2 +LoadBattleMenu: ; 24ef2 ld hl, BattleMenuDataHeader call LoadMenuDataHeader ld a, [$d0d2] @@ -33492,15 +33458,14 @@ LoadBattleMenuDataHeader: ; 24ef2 ; 24f0b -Function24f0b: ; 24f0b -; Safari battle menu (untranslated). +SafariBattleMenu: ; 24f0b +; untranslated ld hl, MenuDataHeader_0x24f4e call LoadMenuDataHeader jr Function24f19 ; 24f13 -Function24f13: ; 24f13 -; Park battle menu. +ContestBattleMenu: ; 24f13 ld hl, MenuDataHeader_0x24f89 call LoadMenuDataHeader ; 24f19 @@ -34103,8 +34068,7 @@ Function25299: ; 25299 (9:5299) ld bc, $507 xor a ld [$FF00+$ad], a - ld a, $13 - call Predef + predef FillBox ret ; 252ec (9:52ec) @@ -36140,7 +36104,7 @@ Function2715c: ; 2715c call WhiteBGMap call ClearTileMap ld a, [BattleType] - cp $3 + cp BATTLETYPE_TUTORIAL jr z, .asm_27171 callba Function3f43d jr .asm_27177 @@ -36340,7 +36304,7 @@ Function2805d: ; 2805d call Function75f ld a, $fe ld [de], a - ld hl, EnemyMoveAnimation + ld hl, $c608 ld de, PlayerSDefLevel ld bc, $00c8 call Function75f @@ -36483,7 +36447,7 @@ Function28177: ; 28177 call Function75f ld a, $fe ld [de], a - ld hl, EnemyMoveAnimation + ld hl, $c608 ld de, PlayerSDefLevel ld bc, $00c8 call Function75f @@ -36686,7 +36650,7 @@ Function28177: ; 28177 or $3 ld [hl], a ld hl, $d26b - ld de, $c656 + ld de, OTName ld bc, $000b call CopyBytes call Function222a @@ -36705,8 +36669,7 @@ Function28177: ; 28177 ld [rIE], a pop af ld [rIF], a - ld a, $16 - call Predef + predef StartBattle ld a, [rIF] ld h, a xor a @@ -36833,7 +36796,7 @@ Function28434: ; 28434 ld [hli], a dec b jr nz, .asm_28441 - ld hl, EnemyMoveAnimation + ld hl, $c608 ld a, $fd ld [hli], a ld [hli], a @@ -36845,7 +36808,7 @@ Function28434: ; 28434 dec b jr nz, .asm_28457 ld hl, $c818 - ld de, PlayerMoveType + ld de, $c612 ld bc, $0000 .asm_28464 inc c @@ -36936,7 +36899,7 @@ Function28499: ; 28499 .asm_284db push bc call Function284f6 - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 add hl, bc pop bc dec c @@ -37044,8 +37007,7 @@ Function284f6: ; 284f6 add hl, bc ld c, $5 ld b, $1 - ld a, $d - call Predef + predef Functione17b pop bc pop de @@ -37082,10 +37044,10 @@ Function28595: ; 28595 ld hl, PartyMon1Species ld bc, $0120 call CopyBytes - ld hl, PartyMon1OT + ld hl, PartyMonOT ld bc, $0042 call CopyBytes - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld bc, $0042 call CopyBytes ld a, [InLinkBattle] @@ -37221,10 +37183,10 @@ Function2868a: ; 2868a pop hl ld bc, $0108 add hl, bc - ld de, OTPartyMon1OT + ld de, OTPartyMonOT ld bc, $0042 call CopyBytes - ld de, OTPartyMon1Nickname + ld de, OTPartyMonNicknames ld bc, $0042 jp CopyBytes ; 286ba @@ -37316,8 +37278,7 @@ Function286ba: ; 286ba add hl, bc ld c, $5 ld b, $1 - ld a, $d - call Predef + predef Functione17b pop bc pop hl ld a, [$ffb5] @@ -37330,8 +37291,7 @@ Function286ba: ; 286ba add hl, bc ld c, $6 ld b, $1 - ld a, $d - call Predef + predef Functione17b pop bc pop hl ld a, [$ffb5] @@ -38054,7 +38014,7 @@ Function28b87: ; 28b87 ld [PlayerSDefLevel], a push af ld a, [DefaultFlypoint] - ld hl, PartyMon1OT + ld hl, PartyMonOT call SkipNames ld de, $c6f2 ld bc, $000b @@ -38093,7 +38053,7 @@ Function28b87: ; 28b87 ld a, [hl] ld [PlayerLightScreenCount], a ld a, [$d003] - ld hl, OTPartyMon1OT + ld hl, OTPartyMonOT call SkipNames ld de, $c724 ld bc, $000b @@ -38105,7 +38065,7 @@ Function28b87: ; 28b87 ld [$c731], a ld a, [hl] ld [$c732], a - ld hl, OTPartyMon1AtkDefDV + ld hl, OTPartyMon1DVs ld a, [$d003] call GetPartyLocation ld a, [hli] @@ -38153,13 +38113,11 @@ Function28b87: ; 28b87 ld a, [$ffcb] cp $1 jr z, .asm_28de4 - ld a, $1e - call Predef + predef Function28f24 jr .asm_28de9 .asm_28de4 - ld a, $1d - call Predef + predef Function28f63 .asm_28de9 pop af @@ -38175,10 +38133,9 @@ Function28b87: ; 28b87 ld a, c call GetPartyLocation ld de, TempMonSpecies - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call CopyBytes - ld a, $7 - call Predef + predef Functionda96 ld a, [PartyCount] dec a ld [CurPartyMon], a @@ -38249,7 +38206,8 @@ Function28ea3: ; 28ea3 ; 28eab String28eab: ; 28eab - db "TRADE", $4e, "CANCEL@" + db "TRADE" + next "CANCEL@" UnknownText_0x28eb8: ; 0x28eb8 ; Trade @ for @ ? @@ -38258,10 +38216,11 @@ UnknownText_0x28eb8: ; 0x28eb8 ; 0x28ebd String28ebd: ; 28ebd - db "Trade completed!@" + db "Trade completed!@" String28ece: ; 28ece - db "Too bad! The trade", $4e, "was canceled!@" + db "Too bad! The trade" + next "was canceled!@" Function28eef: ; 28eef @@ -39113,15 +39072,13 @@ Function29487: ; 29487 Function29491: ; 29491 push de push af - ld a, $2d - call Predef + predef GetUnownLetter pop af ld [CurPartySpecies], a ld [CurSpecies], a call GetBaseData pop de - ld a, $3c - call Predef + predef GetFrontpic ret ; 294a9 @@ -39154,8 +39111,7 @@ Function294c3: ; 294c3 xor a ld [$ffad], a ld bc, $0707 - ld a, $13 - call Predef + predef FillBox call WaitBGMap ret ; 294e7 @@ -39865,22 +39821,23 @@ Function29bfb: ; 29bfb pop bc pop hl jr c, .asm_29c5e - ld de, $0030 + ld de, PartyMon2 - PartyMon1 add hl, de dec b jr nz, .asm_29c13 - ld hl, PartyMon1Move1 + + ld hl, PartyMon1Moves ld a, [PartyCount] ld b, a .asm_29c2e - ld c, $4 + ld c, NUM_MOVES .asm_29c30 ld a, [hli] cp STRUGGLE + 1 jr nc, .asm_29c4c dec c jr nz, .asm_29c30 - ld de, $002c + ld de, PartyMon2 - (PartyMon1 + NUM_MOVES) add hl, de dec b jr nz, .asm_29c2e @@ -40380,8 +40337,7 @@ Function29fe4: ; 29fe4 call GetSRAMBank ld d, $0 ld b, $2 - ld a, $3 - call Predef + predef FlagPredef call CloseSRAM ld a, c and a @@ -40535,14 +40491,14 @@ Function2a09c: ; 2a09c ; 2a0b7 Function2a0b7: ; 2a0b7 - ld a, [RoamMon1Species] + ld a, [wRoamMon1Species] ld b, a ld a, [$d265] cp b ret nz - ld a, [RoamMon1MapGroup] + ld a, [wRoamMon1MapGroup] ld b, a - ld a, [RoamMon1MapNumber] + ld a, [wRoamMon1MapNumber] ld c, a call Function2a09c ret nc @@ -40552,14 +40508,14 @@ Function2a0b7: ; 2a0b7 ; 2a0cf Function2a0cf: ; 2a0cf - ld a, [RoamMon2Species] + ld a, [wRoamMon2Species] ld b, a ld a, [$d265] cp b ret nz - ld a, [RoamMon2MapGroup] + ld a, [wRoamMon2MapGroup] ld b, a - ld a, [RoamMon2MapNumber] + ld a, [wRoamMon2MapNumber] ld c, a call Function2a09c ret nc @@ -40580,7 +40536,7 @@ Function2a0e7:: ; 2a0e7 ret .asm_2a0f8 - xor a + xor a ; BATTLETYPE_NORMAL ld [$d22e], a ld [BattleType], a ld a, 1 @@ -40905,45 +40861,45 @@ Function2a288: ; 2a288 InitRoamMons: ; 2a2a0 -; initialize RoamMon structs +; initialize wRoamMon structs ; species ld a, RAIKOU - ld [RoamMon1Species], a + ld [wRoamMon1Species], a ld a, ENTEI - ld [RoamMon2Species], a + ld [wRoamMon2Species], a ; ld a, SUICUNE -; ld [RoamMon3Species], a +; ld [wRoamMon3Species], a ; level ld a, 40 - ld [RoamMon1Level], a - ld [RoamMon2Level], a -; ld [RoamMon3Level], a + ld [wRoamMon1Level], a + ld [wRoamMon2Level], a +; ld [wRoamMon3Level], a ; raikou starting map ld a, GROUP_ROUTE_42 - ld [RoamMon1MapGroup], a + ld [wRoamMon1MapGroup], a ld a, MAP_ROUTE_42 - ld [RoamMon1MapNumber], a + ld [wRoamMon1MapNumber], a ; entei starting map ld a, GROUP_ROUTE_37 - ld [RoamMon2MapGroup], a + ld [wRoamMon2MapGroup], a ld a, MAP_ROUTE_37 - ld [RoamMon2MapNumber], a + ld [wRoamMon2MapNumber], a ; suicune starting map ; ld a, GROUP_ROUTE_38 -; ld [RoamMon3MapGroup], a +; ld [wRoamMon3MapGroup], a ; ld a, MAP_ROUTE_38 -; ld [RoamMon3MapNumber], a +; ld [wRoamMon3MapNumber], a ; hp xor a ; generate new stats - ld [RoamMon1HP], a - ld [RoamMon2HP], a -; ld [RoamMon3HP], a + ld [wRoamMon1HP], a + ld [wRoamMon2HP], a +; ld [wRoamMon3HP], a ret ; 2a2ce @@ -40960,7 +40916,7 @@ Function2a2ce: ; 2a2ce and 3 jr z, .asm_2a30a dec a - ld hl, RoamMon1MapGroup + ld hl, wRoamMon1MapGroup ld c, a ld b, 0 ld a, 7 @@ -40981,6 +40937,7 @@ Function2a2ce: ; 2a2ce ld [CurPartyLevel], a ld a, BATTLETYPE_ROAMING ld [BattleType], a + pop hl scf ret @@ -40993,43 +40950,43 @@ Function2a2ce: ; 2a2ce Function2a30d: ; 2a30d - ld a, [RoamMon1MapGroup] + ld a, [wRoamMon1MapGroup] cp $ff jr z, .asm_2a324 ld b, a - ld a, [RoamMon1MapNumber] + ld a, [wRoamMon1MapNumber] ld c, a call Function2a355 ld a, b - ld [RoamMon1MapGroup], a + ld [wRoamMon1MapGroup], a ld a, c - ld [RoamMon1MapNumber], a + ld [wRoamMon1MapNumber], a .asm_2a324 - ld a, [RoamMon2MapGroup] + ld a, [wRoamMon2MapGroup] cp $ff jr z, .asm_2a33b ld b, a - ld a, [RoamMon2MapNumber] + ld a, [wRoamMon2MapNumber] ld c, a call Function2a355 ld a, b - ld [RoamMon2MapGroup], a + ld [wRoamMon2MapGroup], a ld a, c - ld [RoamMon2MapNumber], a + ld [wRoamMon2MapNumber], a .asm_2a33b - ld a, [RoamMon3MapGroup] + ld a, [wRoamMon3MapGroup] cp $ff jr z, .asm_2a352 ld b, a - ld a, [RoamMon3MapNumber] + ld a, [wRoamMon3MapNumber] ld c, a call Function2a355 ld a, b - ld [RoamMon3MapGroup], a + ld [wRoamMon3MapGroup], a ld a, c - ld [RoamMon3MapNumber], a + ld [wRoamMon3MapNumber], a .asm_2a352 jp Function2a3f6 @@ -41090,34 +41047,34 @@ Function2a355: ; 2a355 ret Function2a394: ; 2a394 - ld a, [RoamMon1MapGroup] + ld a, [wRoamMon1MapGroup] cp $ff jr z, .asm_2a3a6 call Function2a3cd ld a, b - ld [RoamMon1MapGroup], a + ld [wRoamMon1MapGroup], a ld a, c - ld [RoamMon1MapNumber], a + ld [wRoamMon1MapNumber], a .asm_2a3a6 - ld a, [RoamMon2MapGroup] + ld a, [wRoamMon2MapGroup] cp $ff jr z, .asm_2a3b8 call Function2a3cd ld a, b - ld [RoamMon2MapGroup], a + ld [wRoamMon2MapGroup], a ld a, c - ld [RoamMon2MapNumber], a + ld [wRoamMon2MapNumber], a .asm_2a3b8 - ld a, [RoamMon3MapGroup] + ld a, [wRoamMon3MapGroup] cp $ff jr z, .asm_2a3ca call Function2a3cd ld a, b - ld [RoamMon3MapGroup], a + ld [wRoamMon3MapGroup], a ld a, c - ld [RoamMon3MapNumber], a + ld [wRoamMon3MapNumber], a .asm_2a3ca jp Function2a3f6 @@ -42145,11 +42102,11 @@ Function2c547: ; 2c547 callba Function50000 jr c, .asm_2c5c3 ld a, [CurPartySpecies] - cp $fd + cp EGG jr z, .asm_2c5bc ld a, [CurPartyMon] - ld hl, PartyMon1Move2 - ld bc, $0030 + ld hl, PartyMon1Moves + 1 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld a, [hl] and a @@ -42250,18 +42207,18 @@ Function2c5f9: ; 2c5f9 push bc dec a ld c, a - ld b, $0 - ld hl, PartyMon1Move1 + ld b, 0 + ld hl, PartyMon1Moves add hl, bc ld a, [CurPartyMon] - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes pop bc push bc inc b .asm_2c60f ld a, b - cp $5 + cp NUM_MOVES + 1 jr z, .asm_2c61b inc hl ld a, [hld] @@ -42274,21 +42231,22 @@ Function2c5f9: ; 2c5f9 xor a ld [hl], a pop bc + ld a, b push bc dec a ld c, a - ld b, $0 + ld b, 0 ld hl, PartyMon1PP add hl, bc ld a, [CurPartyMon] - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes pop bc inc b .asm_2c633 ld a, b - cp $5 + cp NUM_MOVES + 1 jr z, .asm_2c63f inc hl ld a, [hld] @@ -42521,8 +42479,7 @@ Function2c7a7: ; 2c7a7 (b:47a7) ; known jump sources: 2c7cd (b:47cd) Function2c7b6: ; 2c7b6 (b:47b6) call Function2c7a7 - ld a, $f - call Predef + predef GetTMHMMove ret Function2c7bf: ; 2c7bf (b:47bf) @@ -42604,13 +42561,14 @@ Function2c80a: ; 2c80a ; 2c867 Function2c867: ; 2c867 - ld a, $e - call Predef + predef CanLearnTMHMMove + push bc ld a, [CurPartyMon] ; $d109 - ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname) + ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames) call GetNick pop bc + ld a, c and a jr nz, .asm_2c88b @@ -42622,31 +42580,34 @@ Function2c867: ; 2c867 call PrintText jr .asm_2c8b6 .asm_2c88b - callab Functionf9ea + + callab KnowsMove jr c, .asm_2c8b6 - ld a, $0 - call Predef + + predef LearnMove ld a, b and a jr z, .asm_2c8b6 + callba Function106049 - ld a, [CurItem] ; $d106 + ld a, [CurItem] call IsHM ret c + ld c, $5 callab ChangeHappiness call Function2cb0c - jr Function2c8bd + jr .asm_2c8bd + .asm_2c8b6 and a ret -; 2c8b8 (b:48b8) -Function2c8b8: ; 2c8b8 +.asm_2c8b8 ld a, $2 ld [$d0ec], a -Function2c8bd: ; 2c8bd +.asm_2c8bd scf ret ; 2c8bf (b:48bf) @@ -42745,8 +42706,7 @@ Function2c946: ; 2c946 (b:4946) cp $3a jr nc, Function2c915 ld [$d265], a - ld a, $f - call Predef + predef GetTMHMMove ld a, [$d265] ld [CurSpecies], a ; $cf60 hlcoord 1, 14 @@ -42836,9 +42796,10 @@ Function2c9b1: ; 2c9b1 (b:49b1) ; known jump sources: 2c8d6 (b:48d6), 2c915 (b:4915), 2c9bf (b:49bf), 2c9dc (b:49dc) Function2c9e2: ; 2c9e2 (b:49e2) - ld a, [BattleType] ; $d230 - cp $3 + ld a, [BattleType] + cp BATTLETYPE_TUTORIAL jp z, Function2caca + hlcoord 5, 2 ld bc, $a0f ld a, $7f @@ -42880,8 +42841,7 @@ Function2c9e2: ; 2c9e2 (b:49e2) pop af ld [$d265], a .asm_2ca38 - ld a, $f - call Predef + predef GetTMHMMove ld a, [$d265] ld [$d262], a call GetMoveName @@ -42945,8 +42905,7 @@ Function2ca95: ; 2ca95 pop hl ld bc, $0003 add hl, bc - ld a, $f - call Predef + predef GetTMHMMove ld a, [$d265] ld [$d262], a call GetMoveName @@ -43100,7 +43059,7 @@ Function2ed44: ; 2ed44 ld hl, PartyMon1PokerusStatus ld a, [PartyCount] ld b, a - ld de, $0030 + ld de, PartyMon2 - PartyMon1 .loopMons ld a, [hl] and $f @@ -43282,8 +43241,7 @@ Function2ee2f: ; 2ee2f add hl, de ld a, [hl] ld [BattleMonLevel], a - ld a, PREDEF_BATTLE_TRANSITION - call Predef + predef Function8c20f callba Function3ed9f ld a, 1 ld [hBGMapMode], a @@ -43436,8 +43394,8 @@ ClearBattleRAM: ; 2ef18 ld [hl], a ; Clear the entire BattleMons area - ld hl, EnemyMoveStruct - ld bc, $0139 + ld hl, wBattle + ld bc, wBattleEnd - wBattle xor a call ByteFill @@ -43524,858 +43482,7 @@ INCLUDE "battle/effect_commands.asm" SECTION "bankE", ROMX, BANK[$E] -Function38000: ; 38000 - and a - ld a, [IsInBattle] - dec a - ret z - ld a, [InLinkBattle] - and a - ret nz - callba Function3e8d1 - ret nz - ld a, [PlayerSubStatus5] - bit 7, a - jr nz, Function38041 - ld a, [$c731] - and a - jr nz, Function38041 - ld hl, TrainerClassAttributes + 5 - ld a, [$cfc0] - and a - jr nz, .asm_38032 - ld a, [TrainerClass] - dec a - ld bc, 7 - call AddNTimes - -.asm_38032 - bit 0, [hl] - jp nz, Function38045 - bit 1, [hl] - jp nz, Function38083 - bit 2, [hl] - jp nz, Function380c1 - ; fallthrough -; 38041 - -Function38041: ; 38041 - call Function38105 - ret -; 38045 - -Function38045: ; 38045 - callab Function34941 - ld a, [$c717] - and $f0 - jp z, Function38041 - cp $10 - jr nz, .asm_38061 - call Random - cp $80 - jr c, .asm_38077 - jp Function38041 - -.asm_38061 - cp $20 - jr nz, .asm_3806f - call Random - cp $c8 - jr c, .asm_38077 - jp Function38041 - -.asm_3806f - call Random - cp $a - jp c, Function38041 - -.asm_38077 - ld a, [$c717] - and $f - inc a - ld [$c718], a - jp Function3844b -; 38083 - -Function38083: ; 38083 - callab Function34941 - ld a, [$c717] - and $f0 - jp z, Function38041 - cp $10 - jr nz, .asm_3809f - call Random - cp $14 - jr c, .asm_380b5 - jp Function38041 - -.asm_3809f - cp $20 - jr nz, .asm_380ad - call Random - cp $1e - jr c, .asm_380b5 - jp Function38041 - -.asm_380ad - call Random - cp $c8 - jp c, Function38041 - -.asm_380b5 - ld a, [$c717] - and $f - inc a - ld [$c718], a - jp Function3844b -; 380c1 - -Function380c1: ; 380c1 - callab Function34941 - ld a, [$c717] - and $f0 - jp z, Function38041 - cp $10 - jr nz, .asm_380dd - call Random - cp $32 - jr c, .asm_380f3 - jp Function38041 - -.asm_380dd - cp $20 - jr nz, .asm_380eb - call Random - cp $80 - jr c, .asm_380f3 - jp Function38041 - -.asm_380eb - call Random - cp $32 - jp c, Function38041 - -.asm_380f3 - ld a, [$c717] - and $f - inc a - ld [$c718], a - jp Function3844b -; 380ff - - -Function380ff: ; 380ff - ld a, [EnemySubStatus5] - bit 7, a - ret -; 38105 - - -Function38105: ; 38105 - ld a, [$cfc0] - and a - ret nz - ld a, [$c650] - ld b, a - ld a, [$c651] - or b - ret z - call Function38170 - ret nc - ld a, [TrainerClass] - dec a - ld hl, TrainerClassAttributes + 5 - ld bc, 7 - call AddNTimes - ld b, h - ld c, l - ld hl, Unknown_38196 - ld de, $c650 -.asm_3812c - ld a, [hl] - and a - inc a - ret z - ld a, [de] - cp [hl] - jr z, .asm_3813f - inc de - ld a, [de] - cp [hl] - jr z, .asm_3813f - dec de - inc hl - inc hl - inc hl - jr .asm_3812c - -.asm_3813f - inc hl - push hl - push de - ld de, .asm_3814a - push de - ld a, [hli] - ld h, [hl] - ld l, a - jp [hl] - -.asm_3814a - pop de - pop hl - inc hl - inc hl - jr c, .asm_3812c - xor a - ld [de], a - inc a - ld [$c70f], a - ld hl, EnemySubStatus3 ; $c66f - res 0, [hl] - xor a - ld [EnemyFuryCutterCount], a ; $c680 - ld [$c681], a - ld [$c72c], a - ld hl, EnemySubStatus4 ; $c670 - res 6, [hl] - xor a - ld [LastPlayerCounterMove], a ; $c6f9 - scf - ret - - -Function38170: ; 38170 - ld a, [OTPartyCount] - ld d, a - ld e, $0 - ld hl, OTPartyMon1Level - ld bc, $0030 -.asm_3817c - ld a, [hl] - cp e - jr c, .asm_38181 - ld e, a -.asm_38181 - add hl, bc - dec d - jr nz, .asm_3817c - - ld a, [CurOTMon] - ld hl, OTPartyMon1Level - call AddNTimes - ld a, [hl] - cp e - jr nc, .asm_38194 - and a - ret - -.asm_38194 - scf - ret -; 38196 - -Unknown_38196: ; 39196 - dbw FULL_RESTORE, Function38208 - dbw MAX_POTION, Function38220 - dbw HYPER_POTION, Function38284 - dbw SUPER_POTION, Function38292 - dbw POTION, Function382a0 - dbw X_ACCURACY, Function382f9 - dbw FULL_HEAL, Function381be - dbw GUARD_SPEC, Function38305 - dbw DIRE_HIT, Function38311 - dbw X_ATTACK, Function3831d - dbw X_DEFEND, Function38329 - dbw X_SPEED, Function38335 - dbw X_SPECIAL, Function38341 - db $ff -; 381be - -Function381be: ; 381be - call Function381ca - jp c, Function38383 - call Function383a3 - jp Function38385 -; 381ca - -; known jump sources: 381be (e:41be), 38214 (e:4214) -Function381ca: ; 381ca (e:41ca) - ld a, [EnemyMonStatus] ; $d214 - and a - jp z, Function38383 - ld a, [bc] - bit 6, a - jr nz, .asm_381e7 - ld a, [bc] - bit 4, a - jp nz, Function38385 - call Random - cp $32 - jp c, Function38385 - jp Function38383 - -.asm_381e7 - ld a, [EnemySubStatus5] ; $c671 - bit 0, a - jr z, .asm_381fd - ld a, [$c67c] - cp $4 - jr c, .asm_381fd - call Random - cp $80 - jp c, Function38385 -.asm_381fd - ld a, [EnemyMonStatus] ; $d214 - and $27 - jp z, Function38383 - jp Function38385 -; 38208 - -Function38208: ; 38208 - call Function3822c - jp nc, Function3821a - ld a, [bc] - bit 6, a - jp z, Function38383 - call Function381ca - jp c, Function38383 - -; known jump sources: 3820b (e:420b) -Function3821a: ; 3821a (e:421a) - call Function383b5 - jp Function38385 -; 38220 - -Function38220: ; 38220 - call Function3822c - jp c, Function38383 - call Function383ae - jp Function38385 - -; known jump sources: 38208 (e:4208), 38220 (e:4220), 38284 (e:4284) -Function3822c: ; 3822c (e:422c) - ld a, [bc] - bit 6, a - jr nz, Function38267 - callab AICheckEnemyHalfHP - jp c, Function38383 - ld a, [bc] - bit 5, a - jp nz, Function38254 - callab AICheckEnemyQuarterHP - jp nc, Function38281 - call Random - cp $80 - jp c, Function38281 - jp Function38383 - -; known jump sources: 3823d (e:423d) -Function38254: ; 38254 (e:4254) - callab AICheckEnemyQuarterHP - jp c, Function38383 - call Random - cp $32 - jp c, Function38383 - jr Function38281 - -Function38267: ; 38267 (e:4267) - callab AICheckEnemyHalfHP - jp c, Function38383 - callab AICheckEnemyQuarterHP - jp nc, Function38281 - call Random - cp $32 - jp nc, Function38383 - -; known jump sources: 38246 (e:4246), 3824e (e:424e), 38265 (e:4265), 38276 (e:4276) -Function38281: ; 38281 (e:4281) - jp Function38385 -; 38284 - -Function38284: ; 38284 - call Function3822c - jp c, Function38383 - ld b, 200 - call Function383f4 - jp Function38385 -; 38292 (e:4292) - -Function38292: ; 38292 - call Function3822c - jp c, Function38383 - -Function38298: ; 38298 - ld b, 50 - call Function383ee - jp Function38385 -; 382a0 - -Function382a0: ; 382a0 - call Function3822c - jp c, Function38383 - ld b, 20 - call Function383e8 - jp Function38385 -; 382ae - -Function382ae: ; 382ae - callab AICheckEnemyMaxHP - jr c, .asm_382e4 - push bc - ld de, EnemyMonMaxHPLo - ld hl, EnemyMonHPLo - ld a, [de] - sub [hl] - jr z, .asm_382e7 - dec hl - dec de - ld c, a - sbc [hl] - and a - jr nz, .asm_382e7 - ld a, c - cp b - jp c, .asm_382d5 - callab AICheckEnemyQuarterHP - jr c, .asm_382e7 - -.asm_382d5 - pop bc - ld a, [bc] - bit 5, a - jp z, Function38385 - call Random - cp $80 - jp c, Function38385 - -.asm_382e4 - jp Function38383 - -.asm_382e7 - pop bc - ld a, [bc] - bit 5, a - jp z, Function38383 - call Random - cp $64 - jp c, Function38385 - jp Function38383 -; 382f9 - -Function382f9: ; 382f9 - call Function3834d - jp c, Function38383 - call Function384f7 - jp Function38385 -; 38305 - -Function38305: ; 38305 - call Function3834d - jp c, Function38383 - call Function38504 - jp Function38385 -; 38311 - -Function38311: ; 38311 - call Function3834d - jp c, Function38383 - call Function38511 - jp Function38385 -; 3831d (e:431d) - -Function3831d: ; 3831d - call Function3834d - jp c, Function38383 - call Function38541 - jp Function38385 -; 38329 - -Function38329: ; 38329 - call Function3834d - jp c, Function38383 - call Function38547 - jp Function38385 -; 38335 - -Function38335: ; 38335 - call Function3834d - jp c, Function38383 - call Function3854d - jp Function38385 -; 38341 - -Function38341: ; 38341 - call Function3834d - jp c, Function38383 - call Function38553 - jp Function38385 -; 3834d - -; known jump sources: 38311 (e:4311) -Function3834d: ; 3834d (e:434d) - ld a, [EnemyTurnsTaken] ; $c6dc - and a - jr nz, .asm_38372 - ld a, [bc] - bit 4, a - jp nz, Function38385 - call Random - cp $80 - jp c, Function38383 - ld a, [bc] - bit 6, a - jp nz, Function38385 - call Random - cp $80 - jp c, Function38383 - jp Function38385 -.asm_38372 - ld a, [bc] - bit 4, a - jp z, Function38383 - call Random - cp $32 - jp nc, Function38383 - jp Function38385 - -; known jump sources: 381c1 (e:41c1), 381ce (e:41ce), 381e4 (e:41e4), 38202 (e:4202), 38211 (e:4211), 38217 (e:4217), 38223 (e:4223), 38237 (e:4237), 38251 (e:4251), 3825a (e:425a), 38262 (e:4262), 3826d (e:426d), 3827e (e:427e), 38287 (e:4287), 38314 (e:4314), 3835e (e:435e), 3836c (e:436c), 38375 (e:4375), 3837d (e:437d) -Function38383: ; 38383 (e:4383) - scf - ret - -; known jump sources: 381c7 (e:41c7), 381d9 (e:41d9), 381e1 (e:41e1), 381fa (e:41fa), 38205 (e:4205), 3821d (e:421d), 38229 (e:4229), 38281 (e:4281), 3828f (e:428f), 3831a (e:431a), 38356 (e:4356), 38364 (e:4364), 3836f (e:436f), 38380 (e:4380) -Function38385: ; 38385 (e:4385) - and a - ret - - -Function38387: ; 38387 - call UpdateEnemyMonInParty - callba Function3e036 - ld a, $1 - ld [hBGMapMode], a - ld hl, $c6e6 - dec [hl] - scf - ret -; 3839a - -Function3839a: ; 3839a - push de - ld de, SFX_FULL_HEAL - call PlaySFX - pop de - ret -; 383a3 - - -; known jump sources: 381c4 (e:41c4) -Function383a3: ; 383a3 (e:43a3) - call Function3839a - call Function384e0 - ld a, $26 - jp Function38568 - -; known jump sources: 38226 (e:4226) -Function383ae: ; 383ae (e:43ae) - ld a, $f - ld [$d1f1], a - jr asm_383c6 - -; known jump sources: 3821a (e:421a) -Function383b5: ; 383b5 (e:43b5) - call Function384e0 - ld a, $e - ld [$d1f1], a - ld hl, EnemySubStatus3 ; $c66f - res 7, [hl] - xor a - ld [EnemyConfuseCount], a ; $c67b -asm_383c6: ; 383c6 (e:43c6) - ld de, $d1ec - ld hl, EnemyMonHPLo ; $d217 - ld a, [hld] - ld [de], a - inc de - ld a, [hl] - ld [de], a - inc de - ld hl, EnemyMonMaxHPLo ; $d219 - ld a, [hld] - ld [de], a - inc de - ld [Buffer1], a ; $d1ea (aliases: MagikarpLength) - ld [EnemyMonHPLo], a ; $d217 - ld a, [hl] - ld [de], a - ld [Buffer2], a ; $d1eb (aliases: MovementType) - ld [EnemyMonHPHi], a ; $d216 (aliases: EnemyMonHP) - jr asm_38436 -; 383e8 (e:43e8) - -Function383e8: ; 383e8 - ld a, POTION - ld b, 20 - jr Function383f8 - -Function383ee: ; 383ee - ld a, SUPER_POTION - ld b, 50 - jr Function383f8 - -; known jump sources: 3828c (e:428c) -Function383f4: ; 383f4 (e:43f4) - ld a, HYPER_POTION - ld b, 200 - -Function383f8: ; 383f8 - ld [$d1f1], a - ld hl, EnemyMonHPLo ; $d217 - ld a, [hl] - ld [$d1ec], a - add b - ld [hld], a - ld [$d1ee], a - ld a, [hl] - ld [$d1ed], a - ld [$d1ef], a - jr nc, .asm_38415 - inc a - ld [hl], a - ld [$d1ef], a -.asm_38415 - inc hl - ld a, [hld] - ld b, a - ld de, EnemyMonMaxHPLo ; $d219 - ld a, [de] - dec de - ld [Buffer1], a ; $d1ea (aliases: MagikarpLength) - sub b - ld a, [hli] - ld b, a - ld a, [de] - ld [Buffer2], a ; $d1eb (aliases: MovementType) - sbc b - jr nc, asm_38436 - inc de - ld a, [de] - dec de - ld [hld], a - ld [$d1ee], a - ld a, [de] - ld [hl], a - ld [$d1ef], a -asm_38436: ; 38436 (e:4436) - call Function38571 - hlcoord 2, 2 - xor a - ld [$d10a], a - call Function3839a - ld a, $b - call Predef - jp Function38387 - - -Function3844b: ; 3844b - ld a, [OTPartyCount] - ld c, a - ld hl, OTPartyMon1HP - ld d, 0 -.asm_38454 - ld a, [hli] - ld b, a - ld a, [hld] - or b - jr z, .asm_3845b - inc d - -.asm_3845b - push bc - ld bc, $0030 - add hl, bc - pop bc - dec c - jr nz, .asm_38454 - ld a, d - cp $2 - jp nc, Function3846c - and a - ret -; 3846c - -Function3846c: ; 3846c - ld a, $1 - ld [$c711], a - ld [$c70f], a - ld hl, EnemySubStatus4 - res 6, [hl] - xor a - ld [hBattleTurn], a - callab Function3dc5b - push af - ld a, [CurOTMon] - ld hl, OTPartyMon1Status - ld bc, $0030 - call AddNTimes - ld d, h - ld e, l - ld hl, EnemyMonStatus - ld bc, $0004 - call CopyBytes - pop af - jr c, .asm_384a3 - ld hl, UnknownText_0x384d0 - call PrintText - -.asm_384a3 - ld a, $1 - ld [$d264], a - callab NewEnemyMonStatus - callab ResetEnemyStatLevels - ld hl, PlayerSubStatus1 - res 7, [hl] - callba Function3d4e1 - callba Function3d57a - xor a - ld [$d264], a - ld a, [InLinkBattle] - and a - ret nz - scf - ret -; 384d0 - -UnknownText_0x384d0: ; 384d0 - text_jump UnknownText_0x1bcf9c - db "@" -; 384d5 - -Function384d5: ; 384d5 - call Function3839a - call Function384e0 - ld a, $34 - jp Function38568 -; 384e0 - -Function384e0: ; 384e0 - ld a, [CurOTMon] - ld hl, OTPartyMon1Status - ld bc, $0030 - call AddNTimes - xor a - ld [hl], a - ld [EnemyMonStatus], a - ld hl, EnemySubStatus5 - res 0, [hl] - ret -; 384f7 - -Function384f7: ; 384f7 - call Function3839a - ld hl, EnemySubStatus4 - set 0, [hl] - ld a, $21 - jp Function38568 -; 38504 - -Function38504: ; 38504 - call Function3839a - ld hl, EnemySubStatus4 - set 1, [hl] - ld a, $29 - jp Function38568 -; 38511 - -Function38511: ; 38511 - call Function3839a - ld hl, EnemySubStatus4 - set 2, [hl] - ld a, $2c - jp Function38568 -; 3851e - -Function3851e: ; 3851e - ld [hMultiplier], a - ld hl, EnemyMonMaxHPHi - ld a, [hli] - ld [hProduct], a - ld a, [hl] - ld [hMultiplicand], a - ld b, $2 - call Divide - ld a, [$ffb6] - ld c, a - ld a, [$ffb5] - ld b, a - ld hl, EnemyMonHPLo - ld a, [hld] - ld e, a - ld a, [hl] - ld d, a - ld a, d - sub b - ret nz - ld a, e - sub c - ret -; 38541 - -Function38541: ; 38541 - ld b, $0 - ld a, $31 - jr Function38557 -; 38547 - -Function38547: ; 38547 - ld b, $1 - ld a, $33 - jr Function38557 -; 3854d - -Function3854d: ; 3854d - ld b, $2 - ld a, $34 - jr Function38557 -; 38553 - -Function38553: ; 38553 - ld b, $3 - ld a, $35 - -Function38557 - ld [$d1f1], a - push bc - call Function38571 - pop bc - callba Function361ef - jp Function38387 -; 38568 - - -Function38568: ; 38568 - ld [$d1f1], a - call Function38571 - jp Function38387 -; 38571 - -Function38571: ; 38571 - ld a, [$d1f1] - ld [$d265], a - call GetItemName - ld hl, StringBuffer1 - ld de, $d050 - ld bc, $000d - call CopyBytes - ld hl, UnknownText_0x3858c - jp PrintText -; 3858c - -UnknownText_0x3858c: ; 3858c - text_jump UnknownText_0x1bcfaf - db "@" -; 38591 - +INCLUDE "battle/ai/items.asm" AIScoring: ; 38591 INCLUDE "battle/ai/scoring.asm" @@ -44384,19 +43491,20 @@ INCLUDE "battle/ai/scoring.asm" Function3952d: ; 3952d ld hl, RivalName ld a, c - cp $9 - jr z, .asm_39544 + cp RIVAL1 + jr z, .rival + ld [CurSpecies], a - ld a, $7 + ld a, TRAINER_NAME ld [$cf61], a call GetName ld de, StringBuffer1 ret -.asm_39544 +.rival ld de, StringBuffer1 push de - ld bc, $000b + ld bc, NAME_LENGTH call CopyBytes pop de ret @@ -44406,20 +43514,22 @@ Function39550: ; 39550 ld hl, $d26b ld a, [InLinkBattle] and a - jr nz, .asm_3956f + jr nz, .ok + ld hl, RivalName ld a, c - cp $9 - jr z, .asm_3956f + cp RIVAL1 + jr z, .ok + ld [CurSpecies], a - ld a, $7 + ld a, TRAINER_NAME ld [$cf61], a call GetName ld hl, StringBuffer1 -.asm_3956f +.ok ld bc, $000d - ld de, $c656 + ld de, OTName push de call CopyBytes pop de @@ -44449,265 +43559,293 @@ Function3957b: ; 3957b INCLUDE "trainers/attributes.asm" -Function39771: ; 39771 +ReadTrainerParty: ; 39771 ld a, [$cfc0] bit 0, a ret nz + ld a, [InLinkBattle] and a ret nz + ld hl, OTPartyCount xor a ld [hli], a dec a ld [hl], a - ld hl, OTPartyMon1Species - ld bc, $0120 + + ld hl, OTPartyMons + ld bc, OTPartyMonsEnd - OTPartyMons xor a call ByteFill + ld a, [OtherTrainerClass] - cp $c - jr nz, .asm_3979e + cp CAL + jr nz, .not_cal2 ld a, [OtherTrainerID] - cp $2 - jr z, .asm_397d3 + cp CAL2 + jr z, .cal2 ld a, [OtherTrainerClass] +.not_cal2 -.asm_3979e dec a ld c, a - ld b, $0 + ld b, 0 ld hl, TrainerGroups add hl, bc add hl, bc ld a, [hli] ld h, [hl] ld l, a + ld a, [OtherTrainerID] ld b, a -.asm_397ae +.skip_trainer dec b - jr z, .asm_397b8 -.asm_397b1 + jr z, .got_trainer +.next ld a, [hli] cp $ff - jr nz, .asm_397b1 - jr .asm_397ae + jr nz, .next + jr .skip_trainer +.got_trainer -.asm_397b8 +.skip_name ld a, [hli] - cp $50 - jr nz, .asm_397b8 + cp "@" + jr nz, .skip_name + ld a, [hli] ld c, a - ld b, $0 + ld b, 0 ld d, h ld e, l - ld hl, Jumptable_397e3 + ld hl, TrainerTypes add hl, bc add hl, bc ld a, [hli] ld h, [hl] ld l, a - ld bc, .asm_397d0 + ld bc, .done push bc jp [hl] -.asm_397d0 +.done jp Function3991b -.asm_397d3 +.cal2 ld a, $0 call GetSRAMBank ld de, $ac0a - call Function39806 + call TrainerType2 call CloseSRAM - jr .asm_397d0 + jr .done ; 397e3 -Jumptable_397e3: ; 397e3 - dw Function397eb - dw Function39806 - dw Function39871 - dw Function3989d +TrainerTypes: ; 397e3 + dw TrainerType1 ; level, species + dw TrainerType2 ; level, species, moves + dw TrainerType3 ; level, species, item + dw TrainerType4 ; level, species, item, moves ; 397eb -Function397eb: ; 397eb +TrainerType1: ; 397eb +; normal (level, species) ld h, d ld l, e -.asm_397ed +.loop ld a, [hli] cp $ff ret z - ld [CurPartyLevel], a ; $d143 + + ld [CurPartyLevel], a ld a, [hli] - ld [CurPartySpecies], a ; $d108 - ld a, $1 - ld [MonType], a ; $cf5f + ld [CurPartySpecies], a + ld a, OTPARTYMON + ld [MonType], a push hl - ld a, $6 - call Predef + predef Functiond88c pop hl - jr .asm_397ed + jr .loop ; 39806 -Function39806: ; 39806 +TrainerType2: ; 39806 +; moves ld h, d ld l, e -.asm_39808 +.loop ld a, [hli] cp $ff ret z + ld [CurPartyLevel], a ld a, [hli] ld [CurPartySpecies], a - ld a, $1 + ld a, OTPARTYMON ld [MonType], a + push hl - ld a, $6 - call Predef + predef Functiond88c ld a, [OTPartyCount] dec a - ld hl, OTPartyMon1Move1 - ld bc, $0030 + ld hl, OTPartyMon1Moves + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld d, h ld e, l pop hl - ld b, $4 -.asm_39830 + + ld b, NUM_MOVES +.copy_moves ld a, [hli] ld [de], a inc de dec b - jr nz, .asm_39830 + jr nz, .copy_moves + push hl + ld a, [OTPartyCount] dec a ld hl, OTPartyMon1Species - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld d, h ld e, l - ld hl, $0017 + ld hl, OTPartyMon1PP - OTPartyMon1 add hl, de push hl - ld hl, $0002 + ld hl, OTPartyMon1Moves - OTPartyMon1 add hl, de pop de - ld b, $4 -.asm_39852 + + ld b, NUM_MOVES +.copy_pp ld a, [hli] and a - jr z, .asm_3986e + jr z, .copied_pp + push hl push bc dec a ld hl, Moves + MOVE_PP - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld a, BANK(Moves) call GetFarByte pop bc pop hl + ld [de], a inc de dec b - jr nz, .asm_39852 + jr nz, .copy_pp +.copied_pp -.asm_3986e pop hl - jr .asm_39808 + jr .loop ; 39871 -Function39871: ; 39871 +TrainerType3: ; 39871 +; item ld h, d ld l, e -.asm_39873 +.loop ld a, [hli] cp $ff ret z - ld [CurPartyLevel], a ; $d143 + + ld [CurPartyLevel], a ld a, [hli] - ld [CurPartySpecies], a ; $d108 - ld a, $1 - ld [MonType], a ; $cf5f + ld [CurPartySpecies], a + ld a, OTPARTYMON + ld [MonType], a push hl - ld a, $6 - call Predef - ld a, [OTPartyCount] ; $d280 + predef Functiond88c + ld a, [OTPartyCount] dec a - ld hl, OTPartyMon1Item ; $d289 - ld bc, $30 + ld hl, OTPartyMon1Item + ld bc, OTPartyMon2 - OTPartyMon1 call AddNTimes ld d, h ld e, l pop hl ld a, [hli] ld [de], a - jr .asm_39873 + jr .loop ; 3989d (e:589d) -Function3989d: ; 3989d +TrainerType4: ; 3989d +; item + moves ld h, d ld l, e -.asm_3989f +.loop ld a, [hli] cp $ff ret z + ld [CurPartyLevel], a ld a, [hli] ld [CurPartySpecies], a - ld a, $1 + + ld a, OTPARTYMON ld [MonType], a + push hl - ld a, $6 - call Predef + predef Functiond88c ld a, [OTPartyCount] dec a - ld hl, $d289 - ld bc, $0030 + ld hl, OTPartyMon1Item + ld bc, OTPartyMon2 - OTPartyMon1 call AddNTimes ld d, h ld e, l pop hl + ld a, [hli] ld [de], a + push hl ld a, [OTPartyCount] dec a - ld hl, $d28a - ld bc, $0030 + ld hl, OTPartyMon1Moves + ld bc, OTPartyMon2 - OTPartyMon1 call AddNTimes ld d, h ld e, l pop hl - ld b, $4 -.asm_398da + + ld b, NUM_MOVES +.copy_moves ld a, [hli] ld [de], a inc de dec b - jr nz, .asm_398da + jr nz, .copy_moves + push hl + ld a, [OTPartyCount] dec a ld hl, OTPartyMon1 - ld bc, $0030 + ld bc, OTPartyMon2 - OTPartyMon1 call AddNTimes ld d, h ld e, l - ld hl, $0017 + ld hl, OTPartyMon1PP - OTPartyMon1 add hl, de + push hl - ld hl, $0002 + ld hl, OTPartyMon1Moves - OTPartyMon1 add hl, de pop de - ld b, $4 -.asm_398fc + + ld b, NUM_MOVES +.copy_pp ld a, [hli] and a - jr z, .asm_39918 + jr z, .copied_pp + push hl push bc dec a @@ -44718,34 +43856,34 @@ Function3989d: ; 3989d call GetFarByte pop bc pop hl + ld [de], a inc de dec b - jr nz, .asm_398fc + jr nz, .copy_pp +.copied_pp -.asm_39918 pop hl - jr .asm_3989f + jr .loop ; 3991b -; known jump sources: 397d0 (e:57d0) Function3991b: ; 3991b (e:591b) - ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct) + ld hl, $ffb3 xor a ld [hli], a ld [hli], a ld [hli], a - ld a, [$c652] + ld a, [$c652] ; base reward ld [hli], a - ld a, [CurPartyLevel] ; $d143 + ld a, [CurPartyLevel] ld [hl], a call Multiply ld hl, $c686 xor a ld [hli], a - ld a, [$FF00+$b5] + ld a, [$ffb5] ld [hli], a - ld a, [$FF00+$b6] + ld a, [$ffb6] ld [hl], a ret @@ -44763,14 +43901,16 @@ Function39939:: ; 39939 Function3994c:: ; 3994c ld a, c - cp $c + cp CAL jr nz, .asm_3996d + ld a, $0 call GetSRAMBank ld a, [$abfd] and a call CloseSRAM jr z, .asm_3996d + ld a, $0 call GetSRAMBank ld hl, $abfe @@ -44792,6 +43932,7 @@ Function3994c:: ; 3994c .asm_3997a dec b jr z, Function39984 + .asm_3997d ld a, [hli] cp $ff @@ -45274,8 +44415,7 @@ Function402fa: ; 402fa call Function40bb1 ld a, [$c7e4] ld e, a - ld a, $32 - call Predef + predef Function91d11 call Function41401 call DelayFrame xor a @@ -47303,8 +46443,7 @@ Function4143b: ; 4143b ld [CurPartySpecies], a call GetBaseData ld de, VTiles2 - ld a, $3c - call Predef + predef GetFrontpic ret .asm_4145b @@ -47465,8 +46604,7 @@ Function41a58: ; 41a58 (10:5a58) ld [CurPartySpecies], a ; $d108 call GetBaseData ld de, $9000 - ld a, $3c - call Predef + predef GetFrontpic pop af ld [UnownLetter], a ; $d234 ret @@ -47496,8 +46634,7 @@ Function41a7f: ; 41a7f call WaitBGMap call GetBaseData ld de, VTiles2 - ld a, $3c - call Predef + predef GetFrontpic ld a, $4 call Function41423 ld a, [CurPartySpecies] @@ -47601,8 +46738,7 @@ Function421f5: ; 421f5 push hl xor a ld [MonType], a - ld a, $1f - call Predef + predef Function5084a pop hl .asm_42230 @@ -47644,8 +46780,8 @@ Function421f5: ; 421f5 jp z, .asm_423f8 push hl - ld de, TempMonAtk - ld hl, TempMonDef + ld de, TempMonAttack + ld hl, TempMonDefense ld c, 2 call StringCmp ld a, ATK_EQ_DEF @@ -47753,7 +46889,7 @@ Function421f5: ; 421f5 ld a, [hl] ld [Buffer2], a ld a, [CurPartyMon] - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call GetNick call CopyName1 ld hl, UnknownText_0x42482 @@ -47812,8 +46948,7 @@ Function421f5: ; 421f5 ld hl, $d118 ld de, TempMonMaxHP ld b, $1 - ld a, PREDEF_FILLSTATS - call Predef + predef Functione167 ld a, [CurPartyMon] ld hl, PartyMons @@ -47842,14 +46977,14 @@ Function421f5: ; 421f5 ld [hl], a ld hl, TempMonSpecies - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call CopyBytes ld a, [CurSpecies] ld [$d265], a xor a ld [MonType], a - call Function42487 + call LearnLevelMoves ld a, [$d265] dec a call SetSeenAndCaughtMon @@ -47859,8 +46994,7 @@ Function421f5: ; 421f5 jr nz, .asm_423ec ld hl, TempMonDVs - ld a, PREDEF_GET_UNOWN_LETTER - call Predef + predef GetUnownLetter callab Functionfba18 .asm_423ec @@ -47922,7 +47056,7 @@ Function42414: ; 42414 jr nz, .asm_4242b ld a, [CurPartyMon] ld bc, $000b - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call AddNTimes push hl ld a, [CurSpecies] @@ -47979,7 +47113,7 @@ UnknownText_0x42482: ; 0x42482 ; 0x42487 -Function42487: ; 42487 +LearnLevelMoves: ; 42487 ld a, [$d265] ld [CurPartySpecies], a dec a @@ -47991,50 +47125,54 @@ Function42487: ; 42487 ld a, [hli] ld h, [hl] ld l, a -.asm_42499 + +.skip_evos ld a, [hli] and a - jr nz, .asm_42499 -.asm_4249d + jr nz, .skip_evos + +.find_move ld a, [hli] and a - jr z, .asm_424da + jr z, .done + ld b, a ld a, [CurPartyLevel] cp b ld a, [hli] - jr nz, .asm_4249d + jr nz, .find_move + push hl ld d, a - ld hl, PartyMon1Move1 + ld hl, PartyMon1Moves ld a, [CurPartyMon] - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes - ld b, $4 -.asm_424b9 + + ld b, NUM_MOVES +.check_move ld a, [hli] cp d - jr z, .asm_424c2 + jr z, .has_move dec b - jr nz, .asm_424b9 - jr .asm_424c5 + jr nz, .check_move + jr .learn +.has_move -.asm_424c2 pop hl - jr .asm_4249d + jr .find_move -.asm_424c5 +.learn ld a, d ld [$d262], a ld [$d265], a call GetMoveName call CopyName1 - ld a, $0 - call Predef + predef LearnMove pop hl - jr .asm_4249d + jr .find_move -.asm_424da +.done ld a, [CurPartySpecies] ld [$d265], a ret @@ -48042,7 +47180,7 @@ Function42487: ; 42487 FillMoves: ; 424e1 -; Fill in moves at de for CurPartySpecies at CurPartyLevle +; Fill in moves at de for CurPartySpecies at CurPartyLevel push hl push de @@ -48113,7 +47251,7 @@ FillMoves: ; 424e1 and a jr z, .ShiftedMove push de - ld bc, PartyMon1PP - PartyMon1Move4 + ld bc, PartyMon1PP - (PartyMon1Moves + NUM_MOVES - 1) add hl, bc ld d, h ld e, l @@ -48136,7 +47274,7 @@ FillMoves: ; 424e1 push hl dec a ld hl, Moves + MOVE_PP - ld bc, Move2 - Move1 + ld bc, MOVE_LENGTH call AddNTimes ld a, BANK(Moves) call GetFarByte @@ -48153,7 +47291,7 @@ FillMoves: ; 424e1 ; 4256e ShiftMoves: ; 4256e - ld c, $3 + ld c, NUM_MOVES - 1 .asm_42570 inc de ld a, [de] @@ -48167,8 +47305,7 @@ ShiftMoves: ; 4256e Function42577: ; 42577 push de ld d, $0 - ld a, $3 - call Predef + predef FlagPredef pop de ret ; 42581 @@ -48260,7 +47397,7 @@ AIChooseMove: ; 440ce and a jr z, .CheckPP - ld hl, EnemyMonMove1 + ld hl, EnemyMonMoves ld c, 0 .CheckDisabledMove cp [hl] @@ -48321,8 +47458,7 @@ AIChooseMove: ; 440ce push bc ld d, $e ; BANK(TrainerAI) - ld a, PREDEF_FLAG - call Predef + predef FlagPredef ld d, c pop bc @@ -48372,12 +47508,12 @@ AIChooseMove: ; 440ce inc [hl] dec hl inc a - cp EnemyMonMovesEnd - EnemyMonMoves + 1 + cp NUM_MOVES + 1 jr nz, .asm_44175 ld hl, Buffer1 ld de, EnemyMonMoves - ld c, EnemyMonMovesEnd - EnemyMonMoves + ld c, NUM_MOVES .asm_44184 ld a, [de] and a @@ -48439,14 +47575,16 @@ AIScoringPointers: ; 441af Function441cf: ; 441cf ld hl, Unknown_441fc ld b, 25 -.asm_441d4 +.loop ld a, [hli] + + ; Wrap around cp $fe - jr nz, .asm_441dd + jr nz, .ok ld hl, Unknown_441fc ld a, [hli] +.ok -.asm_441dd ld [$c7db], a ld a, [hli] ld c, a @@ -48457,7 +47595,7 @@ Function441cf: ; 441cf pop bc call DelayFrames dec b - jr nz, .asm_441d4 + jr nz, .loop xor a ld [$c7db], a call Function44207 @@ -48467,11 +47605,11 @@ Function441cf: ; 441cf ; 441fc Unknown_441fc: ; 441fc - db $00, $07 - db $01, $07 - db $02, $07 - db $03, $07 - db $04, $07 + db 0, 7 + db 1, 7 + db 2, 7 + db 3, 7 + db 4, 7 db $fe ; 44207 @@ -48857,7 +47995,7 @@ Function44654:: ; 44654 jr c, .asm_446c6 ld a, [CurPartyMon] ld hl, PartyMon1Item - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld d, [hl] callba ItemIsMail @@ -48920,7 +48058,7 @@ Function446cc:: ; 446cc push af push bc ld hl, PartyMon1Item - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes pop bc ld [hl], b @@ -48939,14 +48077,14 @@ Function446cc:: ; 446cc call CopyBytes pop af push af - ld hl, PartyMon1OT + ld hl, PartyMonOT ld bc, $000b call AddNTimes ld bc, $000a call CopyBytes pop af ld hl, PartyMon1ID - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld a, [hli] ld [de], a @@ -49021,7 +48159,7 @@ Function44781: ; 44781 pop de pop hl ret c - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 add hl, bc dec e jr nz, .asm_4478b @@ -51176,10 +50314,10 @@ Function48d4a: ; 48d4a (12:4d4a) ; known jump sources: 48d40 (12:4d40), 48d46 (12:4d46) Function48d94: ; 48d94 (12:4d94) xor a - ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct) + ld [$ffb3], a ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand) ld a, [hli] - ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct) + ld [$ffb3], a ld a, [hl] ld [hQuotient], a ; $ff00+$b4 (aliases: hMultiplicand) ld a, 100 @@ -51386,16 +50524,18 @@ Function492a5: ; 492a5 Function492b9: ; 492b9 ld hl, MenuDataHeader_0x4930a call LoadMenuDataHeader - ld a, $e - call Predef + + predef CanLearnTMHMMove + push bc ld a, [CurPartyMon] - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call GetNick pop bc + ld a, c and a - jr nz, .asm_492e5 + jr nz, .can_learn push de ld de, SFX_WRONG call PlaySFX @@ -51403,26 +50543,27 @@ Function492b9: ; 492b9 ld a, BANK(UnknownText_0x2c8ce) ld hl, UnknownText_0x2c8ce call FarPrintText - jr .asm_49300 + jr .didnt_learn +.can_learn -.asm_492e5 - callab Functionf9ea - jr c, .asm_49300 - ld a, $0 - call Predef + callab KnowsMove + jr c, .didnt_learn + + predef LearnMove ld a, b and a - jr z, .asm_49300 + jr z, .didnt_learn + ld c, $5 callab ChangeHappiness - jr .asm_49305 + jr .learned -.asm_49300 +.didnt_learn call Function1c07 and a ret -.asm_49305 +.learned call Function1c07 scf ret @@ -52585,7 +51726,7 @@ Function49bed: ; 49bed ; 49bf3 Function49bf3: ; 49bf3 - ld a, $b + ld a, BATTLETYPE_CELEBI ld [BattleType], a ret ; 49bf9 @@ -53936,7 +53077,7 @@ CheckOwnMonAnywhere: ; 0x4a721 ld d, a ld e, 0 ld hl, PartyMon1Species - ld bc, PartyMon1OT + ld bc, PartyMonOT ; Run CheckOwnMon on each Pokémon in the party. .partymon @@ -53954,13 +53095,13 @@ CheckOwnMonAnywhere: ; 0x4a721 ; Run CheckOwnMon on each Pokémon in the PC. ld a, 1 call GetSRAMBank - ld a, [BoxCount] + ld a, [sBoxCount] and a jr z, .boxes ld d, a - ld hl, BoxMon1Species - ld bc, BoxMon1OT + ld hl, sBoxMon1Species + ld bc, sBoxMonOT .openboxmon call CheckOwnMon jr nc, .next @@ -53971,7 +53112,7 @@ CheckOwnMonAnywhere: ; 0x4a721 .next push bc - ld bc, BoxMon2 - BoxMon1 + ld bc, sBoxMon2 - sBoxMon1 add hl, bc pop bc call UpdateOTPointer @@ -54010,13 +53151,13 @@ CheckOwnMonAnywhere: ; 0x4a721 push bc push hl - ld de, BoxMons - BoxCount + ld de, sBoxMons - sBoxCount add hl, de ld d, h ld e, l pop hl push de - ld de, BoxMonOT - BoxCount + ld de, sBoxMonOT - sBoxCount add hl, de ld b, h ld c, l @@ -54035,7 +53176,7 @@ CheckOwnMonAnywhere: ; 0x4a721 .nextboxmon push bc - ld bc, BoxMon2 - BoxMon1 + ld bc, sBoxMon2 - sBoxMon1 add hl, bc pop bc call UpdateOTPointer @@ -54144,7 +53285,7 @@ Unknown_4a810: ; 4a810 UpdateOTPointer: ; 0x4a83a push hl - ld hl, PartyMon2OT - PartyMon1OT + ld hl, NAME_LENGTH add hl, bc ld b, h ld c, l @@ -54164,7 +53305,7 @@ Function4a843: ; 4a843 ld d, a ld e, 0 ld hl, PartyMon1Species - ld bc, PartyMon1OT + ld bc, PartyMonOT .asm_4a851 call Function4a8dc ret c @@ -54177,12 +53318,12 @@ Function4a843: ; 4a843 jr nz, .asm_4a851 ld a, 1 call GetSRAMBank - ld a, [BoxCount] + ld a, [sBoxCount] and a jr z, .asm_4a888 ld d, a - ld hl, BoxMon1Species - ld bc, BoxMon1OT + ld hl, sBoxMon1Species + ld bc, sBoxMonOT .asm_4a873 call Function4a8dc jr nc, .asm_4a87c @@ -54191,7 +53332,7 @@ Function4a843: ; 4a843 .asm_4a87c push bc - ld bc, BoxMon2 - BoxMon1 + ld bc, sBoxMon2 - sBoxMon1 add hl, bc pop bc call Function4a91e @@ -54221,13 +53362,13 @@ Function4a843: ; 4a843 jr z, .asm_4a8d1 push bc push hl - ld de, BoxMons - BoxCount + ld de, sBoxMons - sBoxCount add hl, de ld d, h ld e, l pop hl push de - ld de, BoxMonOT - BoxCount + ld de, sBoxMonOT - sBoxCount add hl, de ld b, h ld c, l @@ -54242,7 +53383,7 @@ Function4a843: ; 4a843 .asm_4a8c4 push bc - ld bc, BoxMon2 - BoxMon1 + ld bc, sBoxMon2 - sBoxMon1 add hl, bc pop bc call Function4a91e @@ -54307,7 +53448,7 @@ Unknown_4a8f4: ; 4a8f4 Function4a91e: ; 4a91e push hl - ld hl, PartyMon2OT - PartyMon1OT + ld hl, NAME_LENGTH add hl, bc ld b, h ld c, l @@ -54429,7 +53570,7 @@ Function4a9c3: ; 4a9c3 Function4a9d7: ; 4a9d7 ld a, [DefaultFlypoint] - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call GetNick ld h, d ld l, e @@ -54437,7 +53578,7 @@ Function4a9d7: ; 4a9d7 ld bc, $0006 call CopyBytes ld a, [$d003] - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call GetNick ld h, d ld l, e @@ -54445,7 +53586,7 @@ Function4a9d7: ; 4a9d7 ld bc, $0006 call CopyBytes ld a, [$d004] - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call GetNick ld h, d ld l, e @@ -55584,7 +54725,7 @@ ENDM Function4d15b:: ; 4d15b - ld hl, EnemyMoveAnimation + ld hl, $c608 ld a, [$d196] and a jr z, .asm_4d168 @@ -55788,8 +54929,7 @@ Function4d319: ; 4d319 dec a ld [CurPartyMon], a call LowVolume - ld a, $25 - call Predef + predef StatsScreenInit ld a, [CurPartyMon] inc a ld [$cfa9], a @@ -56284,15 +55424,13 @@ Function4d7fd: ; 4d7fd ld de, VTiles2 push de push af - ld a, $2d - call Predef + predef GetUnownLetter pop af ld [CurPartySpecies], a ld [CurSpecies], a call GetBaseData pop de - ld a, $3e - call Predef + predef Function5108b ret ; 4d81e @@ -56317,8 +55455,7 @@ Function4d81e: ; 4d81e hlcoord 7, 2 ld d, $0 ld e, $3 - ld a, $47 - call Predef + predef Functiond008e ret ; 4d860 @@ -56372,12 +55509,12 @@ Function4d87a: ; 4d87a jr nz, .asm_4d88d ld a, $1 call GetSRAMBank - ld a, [BoxCount] + ld a, [sBoxCount] and a jr z, .asm_4d8c8 ld d, a - ld hl, BoxMon1ID - ld bc, BoxSpecies + ld hl, sBoxMon1ID + ld bc, sBoxSpecies .asm_4d8af ld a, [bc] inc bc @@ -56390,7 +55527,7 @@ Function4d87a: ; 4d87a .asm_4d8bf push bc - ld bc, BoxMon2 - BoxMon1 + ld bc, sBoxMon2 - sBoxMon1 add hl, bc pop bc dec d @@ -56437,7 +55574,7 @@ Function4d87a: ; 4d87a .asm_4d901 push bc - ld bc, BoxMon2 - BoxMon1 + ld bc, sBoxMon2 - sBoxMon1 add hl, bc pop bc dec d @@ -56607,16 +55744,16 @@ Function4d9e5: ; 4d9e5 ld hl, PartyMon1Species ld a, [PartyCount] dec a - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld d, h ld e, l ld hl, $df9c - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call CopyBytes ld a, [PartyCount] dec a - ld hl, PartyMon1OT + ld hl, PartyMonOT call SkipNames ld d, h ld e, l @@ -56642,7 +55779,7 @@ Function4d9e5: ; 4d9e5 .asm_4da66 ld a, [PartyCount] dec a - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call SkipNames ld d, h ld e, l @@ -56674,20 +55811,20 @@ Function4d9e5: ; 4d9e5 Function4daa3: ; 4daa3 ld a, $1 call GetSRAMBank - ld hl, BoxCount + ld hl, sBoxCount ld a, [hl] - cp 20 + cp MONS_PER_BOX call CloseSRAM jr nc, .asm_4db08 xor a ld [CurPartyMon], a ld hl, $df9c ld de, $d018 - ld bc, BoxMon2 - BoxMon1 + ld bc, sBoxMon2 - sBoxMon1 call CopyBytes ld hl, PlayerName ld de, $d00d - ld bc, $000b + ld bc, NAME_LENGTH call CopyBytes callab Function51322 ld a, [CurPartySpecies] @@ -56705,21 +55842,21 @@ Function4daa3: ; 4daa3 .asm_4daf7 ld a, $1 call GetSRAMBank - ld de, BoxMon1Nickname - ld bc, $000b + ld de, sBoxMonNicknames + ld bc, PKMN_NAME_LENGTH call CopyBytes call CloseSRAM .asm_4db08 ld a, $1 call GetSRAMBank - ld a, [BoxMon1Level] + ld a, [sBoxMon1Level] ld [CurPartyLevel], a call CloseSRAM call Function4db83 ld a, $1 call GetSRAMBank - ld hl, BoxMon1CaughtLocation + ld hl, sBoxMon1CaughtLocation ld a, [hl] and $80 ld b, $13 @@ -56795,7 +55932,7 @@ Function4db53: ; 4db53 Function4db83: ; 4db83 ld a, $1 call GetSRAMBank - ld hl, BoxMon1CaughtLevel + ld hl, sBoxMon1CaughtLevel call Function4db53 call CloseSRAM ret @@ -56805,7 +55942,7 @@ Function4db92: ; 4db92 push bc ld a, $1 call GetSRAMBank - ld hl, BoxMon1CaughtLevel + ld hl, sBoxMon1CaughtLevel pop bc call Function4dbaf call CloseSRAM @@ -56894,7 +56031,7 @@ Function4dc0a: ; 4dc0a dec a push hl push bc - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes pop bc ld a, b @@ -56927,7 +56064,7 @@ Function4dc31: ; 4dc31 dec a push hl push bc - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes pop bc ld a, b @@ -56998,7 +56135,7 @@ StatsScreenInit: ; 4dc8a jr StatsScreenInit_gotaddress Function4dc8f: ; 4dc8f - ld hl, Function4dcf7 + ld hl, StatsScreenBattle jr StatsScreenInit_gotaddress StatsScreenInit_gotaddress: ; 4dc94 @@ -57057,7 +56194,7 @@ StatsScreenMain: ; 0x4dcd2 ret ; 0x4dcf7 -Function4dcf7: ; 4dcf7 +StatsScreenBattle: ; 4dcf7 xor a ld [$cf63], a ld [$cf64], a @@ -57532,8 +56669,7 @@ Jumptable_4e00d: ; 4e00d (13:600d) Function4e013: ; 4e013 (13:6013) hlcoord 0, 9 ld b, $0 - ld a, $26 - call Predef + predef DrawPlayerHP hlcoord 8, 9 ld [hl], $41 ld de, String_4e119 @@ -57555,8 +56691,7 @@ Function4e013: ; 4e013 (13:6013) hlcoord 6, 13 push hl ld de, TempMonStatus ; $d12e - ld a, $45 - call Predef + predef Function50d0a pop hl jr nz, .asm_4e066 jr .asm_4e060 @@ -57570,8 +56705,7 @@ Function4e013: ; 4e013 (13:6013) call PlaceString .asm_4e066 hlcoord 1, 15 - ld a, $2c - call Predef + predef PrintMonTypes hlcoord 9, 8 ld de, $14 ld b, $a @@ -57605,8 +56739,7 @@ Function4e013: ; 4e013 (13:6013) ld a, [TempMonLevel] ; $d12d ld b, a ld de, $d118 - ld a, $17 - call Predef + predef FillInExpBar hlcoord 10, 16 ld [hl], $40 hlcoord 19, 16 @@ -57694,20 +56827,18 @@ Function4e147: ; 4e147 (13:6147) ld de, String_4e1a9 hlcoord 0, 10 call PlaceString - ld hl, TempMonMoves ; $d110 (aliases: TempMonMove1) + ld hl, TempMonMoves ld de, $d25e - ld bc, $4 + ld bc, NUM_MOVES call CopyBytes hlcoord 8, 10 - ld a, $28 - ld [Buffer1], a ; $d1ea (aliases: MagikarpLength) - ld a, $20 - call Predef + ld a, SCREEN_WIDTH * 2 + ld [Buffer1], a + predef ListMoves hlcoord 12, 11 ld a, $28 - ld [Buffer1], a ; $d1ea (aliases: MagikarpLength) - ld a, $23 - call Predef + ld [Buffer1], a + predef Function50c50 ret ; known jump sources: 4e150 (13:6150) @@ -57750,8 +56881,7 @@ Function4e1ae: ; 4e1ae (13:61ae) jr nz, .asm_4e1bb hlcoord 11, 8 ld bc, $6 - ld a, $28 - call Predef + predef Function50b7b ret ; known jump sources: 4e1ae (13:61ae) @@ -57791,7 +56921,7 @@ Function4e1cc: ; 4e1cc (13:61cc) Unknown_4e216: ; 4e216 dw PartyMonOT dw OTPartyMonOT - dw BoxMonOT + dw sBoxMonOT dw $d00d ; 4e21e @@ -57806,8 +56936,7 @@ OTString: ; 4e222 ; known jump sources: 4dfd6 (13:5fd6) Function4e226: ; 4e226 (13:6226) ld hl, TempMonDVs ; $d123 - ld a, $2d - call Predef + predef GetUnownLetter call Function4e2ad jr c, .asm_4e238 and a @@ -57867,13 +56996,11 @@ Function4e289: ; 4e289 (13:6289) ret c call Function4e307 ld de, $9000 - ld a, $3e - call Predef + predef Function5108b ld hl, TileMap ; $c4a0 (aliases: SpritesEnd) ld d, $0 ld e, $2 - ld a, $46 - call Predef + predef Functiond00a3 ld hl, $cf64 set 6, [hl] ret @@ -57898,7 +57025,7 @@ Jumptable_4e2b5: ; 4e2b5 (13:62b5) Function4e2bf: ; 4e2bf (13:62bf) ld a, [CurPartyMon] ; $d109 ld hl, PartyMons ; $dcdf (aliases: PartyMon1, PartyMon1Species) - ld bc, $30 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld b, h ld c, l @@ -57911,7 +57038,7 @@ Function4e2cf: ; 4e2cf (13:62cf) ; no known jump sources Function4e2d1: ; 4e2d1 (13:62d1) - ld hl, BoxMons + ld hl, sBoxMons ld bc, $30 ld a, [CurPartyMon] ; $d109 call AddNTimes @@ -58082,13 +57209,11 @@ Function4e497: ; 4e497 (13:6497) ld [$c2c6], a call Function4e307 ld de, $9000 - ld a, $3e - call Predef + predef Function5108b pop de ld hl, TileMap ; $c4a0 (aliases: SpritesEnd) ld d, $0 - ld a, $46 - call Predef + predef Functiond00a3 ld hl, $cf64 set 6, [hl] ret @@ -58186,6 +57311,7 @@ Function4e53f: ; 4e53f ret ; 4e554 + Function4e554:: ; 4e554 ld a, [BattleType] dec a @@ -58200,43 +57326,43 @@ Function4e554:: ; 4e554 jp [hl] ; 4e564 - -; no known jump sources Jumptable_4e564: ; 4e564 (13:6564) dw Function4e56a dw Function4e56a dw Function4e56a - -; no known jump sources Function4e56a: ; 4e56a (13:656a) ld hl, PlayerName ; $d47d ld de, MomsName ; $d488 - ld bc, $b + ld bc, NAME_LENGTH call CopyBytes - ld hl, String_4e5da + + ld hl, DudeString ld de, PlayerName ; $d47d - ld bc, $b + ld bc, NAME_LENGTH call CopyBytes + call Function4e5b7 + xor a - ld [hJoyDown], a ; $ff00+$a8 - ld [hJoyPressed], a ; $ff00+$a7 - ld a, [Options] ; $cfcc + ld [hJoyDown], a + ld [hJoyPressed], a + ld a, [Options] push af and $f8 add $3 - ld [Options], a ; $cfcc + ld [Options], a ld hl, AutoInput_4e5df ld a, BANK(AutoInput_4e5df) call StartAutoInput callab StartBattle call StopAutoInput pop af + ld [Options], a ; $cfcc ld hl, MomsName ; $d488 ld de, PlayerName ; $d47d - ld bc, $b + ld bc, NAME_LENGTH call CopyBytes ret @@ -58264,7 +57390,7 @@ Function4e5b7: ; 4e5b7 (13:65b7) ret ; 4e5da (13:65da) -String_4e5da: ; 4e5da +DudeString: ; 4e5da db "DUDE@" ; 4e5df @@ -58398,8 +57524,7 @@ _EvolutionAnimation: ; 4e607 hlcoord 7, 2 ld d, $0 ld e, $4 - ld a, $47 - call Predef + predef Functiond008e pop af ld [CurPartySpecies], a @@ -58445,8 +57570,7 @@ Function4e711: ; 4e711 ld a, $1 ld [$c2c6], a ld de, VTiles2 - ld a, $3e - call Predef + predef Function5108b xor a ld [$c2c6], a ret @@ -59114,7 +58238,7 @@ Function5009b: ; 5009b push bc push hl push hl - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld a, b call GetNick pop hl @@ -59186,7 +58310,7 @@ Function500cf: ; 500cf Function50117: ; 50117 ld a, b - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 ld hl, PartyMon1HP call AddNTimes ld a, [hli] @@ -59207,8 +58331,7 @@ Function50117: ; 50117 ld d, a ld a, [hli] ld e, a - ld a, $4 - call Predef + predef Functionc699 ret ; 50138 @@ -59226,7 +58349,7 @@ Function50138: ; 50138 jr z, .asm_5016b push hl ld a, b - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 ld hl, PartyMon1HP call AddNTimes ld e, l @@ -59347,8 +58470,7 @@ Function501e0: ; 501e0 add hl, de ld a, [hl] ld [CurPartySpecies], a - ld a, $e - call Predef + predef CanLearnTMHMMove pop hl call Function50215 call PlaceString @@ -59399,7 +58521,7 @@ Function5022f: ; 5022f jr z, .asm_5025d push hl ld a, b - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 ld hl, PartyMon1Species call AddNTimes ld a, [hl] @@ -59851,7 +58973,7 @@ YouHaveNoPKMNString: ; 0x50556 Function50566: ; 50566 ld a, [CurPartyMon] - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call GetNick ld a, [PartyMenuActionText] and $f @@ -60043,8 +59165,7 @@ Function50658: ; 50658 ld de, SFX_POISON call PlaySFX ld b, $2 - ld a, $2e - call Predef + predef Functioncbcdd call DelayFrame ret ; 50669 @@ -60085,8 +59206,7 @@ Function5067b: ; 5067b ld a, [PartyCount] cp [hl] jr nz, .asm_50682 - ld a, $14 - call Predef + predef Function3d873 ld a, d ld [ScriptVar], a ret @@ -60407,7 +59527,7 @@ Function5084a: ; 5084a ld a, [CurPartyMon] call AddNTimes ld de, TempMonSpecies - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call CopyBytes .asm_5088a @@ -60438,8 +59558,7 @@ Function50893: ; 50893 add hl, bc push bc ld b, $1 - ld a, $c - call Predef + predef Functione167 pop bc ld hl, TempMonHP - TempMon add hl, bc @@ -60492,15 +59611,15 @@ Function508d5: ; 508d5 jr .asm_50905 .asm_508f1 - ld a, 1 ; BANK(BoxSpecies) + ld a, 1 ; BANK(sBoxSpecies) call GetSRAMBank - ld hl, BoxSpecies + ld hl, sBoxSpecies call .asm_50905 call CloseSRAM ret .asm_50900 - ld a, [BreedMon1Species] + ld a, [wBreedMon1Species] jr .asm_50909 .asm_50905 @@ -60589,48 +59708,27 @@ Strings50a42: ; 50a42 dw OTName dw OTName -.Youngster - db "たんパン@" -.BugCatcher - db "むしとり@" -.Lass - db "ミニスカ@" -.JrTrainerM - db "ボーイ@" -.JrTrainerF - db "ガール@" -.Pokemaniac - db "マニア@" -.SuperNerd - db "りかけい@" -.Burglar - db "どろぼう@" -.Engineer - db "ォヤジ@" -.Jack - db "ジャック@" -.Swimmer - db "かいパン@" -.Beauty - db "おねえさん@" -.Rocker - db "グループ@" -.Juggler - db "ジャグラー@" -.Blackbelt - db "からて@" -.ProfOak - db "ォーキド@" -.Chief - db "チーフ@" -.Scientist - db "けんきゅういん@" -.Rocket - db "だんいん@" -.CooltrainerM - db "エりート♂@" -.CooltrainerF - db "エりート♀@" +.Youngster db "たんパン@" +.BugCatcher db "むしとり@" +.Lass db "ミニスカ@" +.JrTrainerM db "ボーイ@" +.JrTrainerF db "ガール@" +.Pokemaniac db "マニア@" +.SuperNerd db "りかけい@" +.Burglar db "どろぼう@" +.Engineer db "ォヤジ@" +.Jack db "ジャック@" +.Swimmer db "かいパン@" +.Beauty db "おねえさん@" +.Rocker db "グループ@" +.Juggler db "ジャグラー@" +.Blackbelt db "からて@" +.ProfOak db "ォーキド@" +.Chief db "チーフ@" +.Scientist db "けんきゅういん@" +.Rocket db "だんいん@" +.CooltrainerM db "エりート♂@" +.CooltrainerF db "エりート♀@" ; 50b0a @@ -60678,8 +59776,7 @@ DrawHP: ; 50b10 ld c, e .asm_50b41 - ld a, $4 - call Predef + predef Functionc699 ld a, 6 ld d, a ld c, a @@ -60731,16 +59828,16 @@ Function50b7b: ; 50b7b add hl, bc ld bc, $0014 add hl, bc - ld de, TempMonAtk + ld de, TempMonAttack ld bc, $0203 call Function50bab - ld de, TempMonDef + ld de, TempMonDefense call Function50bab ld de, TempMonSpclAtk call Function50bab ld de, TempMonSpclDef call Function50bab - ld de, TempMonSpd + ld de, TempMonSpeed jp PrintNum ; 50bab @@ -60788,11 +59885,11 @@ GetGender: ; 50bdd dec a jr z, .PartyMon -; 2: BoxMon - ld hl, BoxMon1DVs - ld bc, BoxMon2 - BoxMon1 +; 2: sBoxMon + ld hl, sBoxMon1DVs + ld bc, sBoxMon2 - sBoxMon1 dec a - jr z, .BoxMon + jr z, .sBoxMon ; 3: Unknown ld hl, TempMonDVs @@ -60807,14 +59904,14 @@ GetGender: ; 50bdd ; Get our place in the party/box. .PartyMon -.BoxMon +.sBoxMon ld a, [CurPartyMon] call AddNTimes .DVs -; BoxMon data is read directly from SRAM. +; sBoxMon data is read directly from SRAM. ld a, [MonType] cp BOXMON ld a, 1 @@ -60833,7 +59930,7 @@ GetGender: ; 50bdd or b ld b, a -; Close SRAM if we were dealing with a BoxMon. +; Close SRAM if we were dealing with a sBoxMon. ld a, [MonType] cp BOXMON call z, CloseSRAM @@ -60908,8 +60005,8 @@ Function50c50: ; 50c50 inc hl ld d, h ld e, l - ld hl, TempMonMove1 - ld b, $0 + ld hl, TempMonMoves + ld b, 0 .asm_50c7a ld a, [hli] and a @@ -60929,7 +60026,7 @@ Function50c50: ; 50c50 pop de pop hl push hl - ld bc, $0014 + ld bc, TempMonPP - (TempMonMoves + 1) add hl, bc ld a, [hl] and $3f @@ -60948,7 +60045,7 @@ Function50c50: ; 50c50 pop hl ld a, [Buffer1] ld e, a - ld d, $0 + ld d, 0 add hl, de ld d, h ld e, l @@ -60956,7 +60053,7 @@ Function50c50: ; 50c50 pop bc inc b ld a, b - cp $4 + cp NUM_MOVES jr nz, .asm_50c7a .asm_50cc8 @@ -60988,7 +60085,7 @@ Function50cd0: ; 50cd0 Function50cdb: ; 50cdb push hl push hl - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld a, [CurPartyMon] call GetNick pop hl @@ -61087,7 +60184,8 @@ FrzString: db "FRZ@" ParString: db "PAR@" ; 50d6f -Function50d6f: ; 50d6f +ListMoves: ; 50d6f +; List moves at hl, spaced every [Buffer1] tiles. ld de, $d25e ld b, $0 .asm_50d74 @@ -61099,7 +60197,7 @@ Function50d6f: ; 50d6f push hl push hl ld [CurSpecies], a - ld a, $2 + ld a, MOVE_NAME ld [$cf61], a call GetName ld de, StringBuffer1 @@ -61114,12 +60212,12 @@ Function50d6f: ; 50d6f push bc ld a, [Buffer1] ld c, a - ld b, $0 + ld b, 0 add hl, bc pop bc pop de ld a, b - cp $4 + cp NUM_MOVES jr z, .asm_50db8 jr .asm_50d74 @@ -61127,14 +60225,14 @@ Function50d6f: ; 50d6f ld a, b .asm_50da8 push af - ld [hl], $e3 + ld [hl], "-" ld a, [Buffer1] ld c, a - ld b, $0 + ld b, 0 add hl, bc pop af inc a - cp $4 + cp NUM_MOVES jr nz, .asm_50da8 .asm_50db8 @@ -61143,41 +60241,42 @@ Function50d6f: ; 50d6f Function50db9: ; 50db9 ld a, [$d263] + cp $1 jr nz, .asm_50dca ld hl, OTPartyCount - ld de, OTPartyMon1OT - ld a, $6 + ld de, OTPartyMonOT + ld a, ENEMY_OT_NAME jr .asm_50dfc - .asm_50dca + cp $4 jr nz, .asm_50dd8 ld hl, PartyCount - ld de, PartyMon1OT - ld a, $5 + ld de, PartyMonOT + ld a, PARTY_OT_NAME jr .asm_50dfc - .asm_50dd8 + cp $5 jr nz, .asm_50de6 ld hl, $d0f0 ld de, PokemonNames - ld a, $1 + ld a, PKMN_NAME jr .asm_50dfc - .asm_50de6 + cp $2 jr nz, .asm_50df4 ld hl, NumItems - ld de, Function50000 - ld a, $4 + ld de, ItemNames + ld a, ITEM_NAME jr .asm_50dfc - .asm_50df4 + ld hl, $d0f0 - ld de, Function50000 - ld a, $4 + ld de, ItemNames + ld a, ITEM_NAME .asm_50dfc ld [$cf61], a @@ -61189,7 +60288,7 @@ Function50db9: ; 50db9 ld [$d102], a ld a, d ld [$d103], a - ld bc, $67c1 + ld bc, $67c1 ; XXX ItemAttributes? ld a, c ld [$d104], a ld a, b @@ -61466,12 +60565,12 @@ Function50f62: ; 50f62 (14:4f62) ld bc, $30 call CopyBytes ld a, [Buffer2] ; $d1eb (aliases: MovementType) - ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT) + ld hl, PartyMonOT ; $ddff (aliases: PartyMonOT) call SkipNames push hl call Function51036 ld a, [$d1ec] - ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT) + ld hl, PartyMonOT ; $ddff (aliases: PartyMonOT) call SkipNames pop de push hl @@ -61479,12 +60578,12 @@ Function50f62: ; 50f62 (14:4f62) pop de ld hl, DefaultFlypoint ; $d002 call Function51039 - ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname) + ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames) ld a, [Buffer2] ; $d1eb (aliases: MovementType) call SkipNames push hl call Function51036 - ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname) + ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames) ld a, [$d1ec] call SkipNames pop de @@ -61535,8 +60634,8 @@ GetUnownLetter: ; 51040 ; Return Unown letter in UnownLetter based on DVs at hl ; Take the middle 2 bits of each DV and place them in order: -; AtkDefDV | SpdSpcDV -; .ww..xx. .yy..zz. +; atk def spd spc +; .ww..xx. .yy..zz. ; atk ld a, [hl] @@ -61583,14 +60682,14 @@ GetUnownLetter: ; 51040 ; 51077 -Function51077: ; 51077 +GetFrontpic: ; 51077 ld a, [CurPartySpecies] ld [CurSpecies], a call IsAPokemon ret c ld a, [rSVBK] push af - call Function510a5 + call _GetFrontpic pop af ld [rSVBK], a ret @@ -61605,33 +60704,33 @@ Function5108b: ; 5108b push af xor a ld [hBGMapMode], a - call Function510a5 + call _GetFrontpic call Function51103 pop af ld [rSVBK], a ret ; 510a5 -Function510a5: ; 510a5 +_GetFrontpic: ; 510a5 push de call GetBaseData ld a, [BasePicSize] and $f ld b, a push bc - call Function510d7 + call GetFrontpicPointer ld a, $6 ld [rSVBK], a ld a, b ld de, $d800 call FarDecompress pop bc - ld hl, Unkn1Pals + ld hl, $d000 ld de, $d800 call Function512ab pop hl push hl - ld de, Unkn1Pals + ld de, $d000 ld c, 7 * 7 ld a, [hROMBank] ld b, a @@ -61640,28 +60739,28 @@ Function510a5: ; 510a5 ret ; 510d7 -Function510d7: ; 510d7 +GetFrontpicPointer: ; 510d7 GLOBAL PicPointers, UnownPicPointers ld a, [CurPartySpecies] cp UNOWN - jr z, .asm_510e5 + jr z, .unown ld a, [CurPartySpecies] ld d, BANK(PicPointers) - jr .asm_510ea + jr .ok -.asm_510e5 +.unown ld a, [UnownLetter] ld d, BANK(UnownPicPointers) -.asm_510ea - ld hl, Function50000 +.ok + ld hl, PicPointers ; UnownPicPointers dec a - ld bc, $0006 + ld bc, 6 call AddNTimes ld a, d call GetFarByte - call Function511c5 + call FixPicBank push af inc hl ld a, d @@ -61674,13 +60773,13 @@ Function51103: ; 51103 ld a, $1 ld [rVBK], a push hl - ld de, Unkn1Pals - ld c, $31 + ld de, $d000 + ld c, 7 * 7 ld a, [hROMBank] ld b, a call Get2bpp pop hl - ld de, $0310 + ld de, 7 * 7 * $10 add hl, de push hl ld a, $1 @@ -61688,24 +60787,24 @@ Function51103: ; 51103 call GetFarWRAMByte pop hl and $f - ld de, $d990 + ld de, $d800 + 5 * 5 * $10 ld c, 5 * 5 cp 5 jr z, .asm_5113b - ld de, $da40 + ld de, $d800 + 6 * 6 * $10 ld c, 6 * 6 cp 6 jr z, .asm_5113b - ld de, $db10 + ld de, $d800 + 7 * 7 * $10 ld c, 7 * 7 - .asm_5113b + push hl push bc call Function5114f pop bc pop hl - ld de, Unkn1Pals + ld de, $d000 ld a, [hROMBank] ld b, a call Get2bpp @@ -61736,10 +60835,11 @@ Function5114f: ; 5114f ret ; 5116c -Function5116c: ; 5116c +GetBackpic: ; 5116c ld a, [CurPartySpecies] call IsAPokemon ret c + ld a, [CurPartySpecies] ld b, a ld a, [UnownLetter] @@ -61757,31 +60857,30 @@ Function5116c: ; 5116c ld a, b ld d, BANK(PicPointers) cp UNOWN - jr nz, .asm_51190 + jr nz, .ok ld a, c ld d, BANK(UnownPicPointers) - -.asm_51190 +.ok dec a - ld bc, $0006 + ld bc, 6 call AddNTimes - ld bc, $0003 + ld bc, 3 add hl, bc ld a, d call GetFarByte - call Function511c5 + call FixPicBank push af inc hl ld a, d call GetFarHalfword - ld de, Unkn1Pals + ld de, $d000 pop af call FarDecompress - ld hl, Unkn1Pals - ld c, $24 + ld hl, $d000 + ld c, 6 * 6 call Function5127c pop hl - ld de, Unkn1Pals + ld de, $d000 ld a, [hROMBank] ld b, a call Get2bpp @@ -61791,10 +60890,11 @@ Function5116c: ; 5116c ; 511c5 -Function511c5: ; 511c5 +FixPicBank: ; 511c5 +; This is a thing for some reason. push hl push bc - sub $12 + sub PICS_1 - $36 ld c, a ld b, 0 ld hl, Unknown_511d4 @@ -61806,10 +60906,53 @@ Function511c5: ; 511c5 ; 511d4 Unknown_511d4: ; 511d4 -INCBIN "baserom.gbc",$511d4,$5120d - $511d4 + db PICS_1 + db PICS_2 + db PICS_3 + db PICS_4 + db PICS_5 + db PICS_6 + db PICS_7 + db PICS_8 + db PICS_9 + db PICS_10 + db PICS_11 + db PICS_12 + db PICS_13 + db PICS_14 + db PICS_15 + db PICS_16 + db PICS_17 + db PICS_18 + db PICS_19 + db PICS_19 + 1 + db PICS_19 + 2 + db PICS_19 + 3 + db PICS_19 + 4 + db PICS_19 + 5 + +Function511ec: ; 511ec + ld a, c + push de + ld hl, PicPointers + dec a + ld bc, 6 + call AddNTimes + ld a, BANK(PicPointers) + call GetFarByte + call FixPicBank + push af + inc hl + ld a, BANK(PicPointers) + call GetFarHalfword + pop af + pop de + call FarDecompress + ret +; 0x5120d -Function5120d: ; 5120d +GetTrainerPic: ; 5120d ld a, [TrainerClass] and a ret z @@ -61818,29 +60961,29 @@ Function5120d: ; 5120d call WaitBGMap xor a ld [hBGMapMode], a - ld hl, Function50000 + ld hl, TrainerPicPointers ld a, [TrainerClass] dec a - ld bc, $0003 + ld bc, 3 call AddNTimes ld a, [rSVBK] push af ld a, $6 ld [rSVBK], a push de - ld a, $4a + ld a, BANK(TrainerPicPointers) call GetFarByte - call Function511c5 + call FixPicBank push af inc hl - ld a, $4a + ld a, BANK(TrainerPicPointers) call GetFarHalfword pop af ld de, $d000 call FarDecompress pop hl ld de, $d000 - ld c, $31 + ld c, 7 * 7 ld a, [hROMBank] ld b, a call Get2bpp @@ -61887,13 +61030,13 @@ Function5127c: ; 5127c and a jr z, .asm_512a8 ld a, c - cp $31 - ld de, $0310 + cp 7 * 7 + ld de, 7 * 7 * $10 jr z, .asm_51296 - cp $24 - ld de, $0240 + cp 6 * 6 + ld de, 6 * 6 * $10 jr z, .asm_51296 - ld de, $0190 + ld de, 5 * 5 * $10 .asm_51296 ld a, [hl] @@ -61919,54 +61062,53 @@ Function5127c: ; 5127c Function512ab: ; 512ab ld a, b - cp $6 - jr z, .asm_512bd - cp $5 - jr z, .asm_512d2 -.asm_512b4 + cp 6 + jr z, .six + cp 5 + jr z, .five + +.seven ld c, $70 call Function512f2 dec b - jr nz, .asm_512b4 + jr nz, .seven ret -.asm_512bd +.six ld c, $70 xor a - call Function512ed + call .Fill .asm_512c3 ld c, $10 xor a - call Function512ed + call .Fill ld c, $60 call Function512f2 dec b jr nz, .asm_512c3 ret -.asm_512d2 +.five ld c, $70 xor a - call Function512ed + call .Fill .asm_512d8 ld c, $20 xor a - call Function512ed + call .Fill ld c, $50 call Function512f2 dec b jr nz, .asm_512d8 ld c, $70 xor a - call Function512ed + call .Fill ret -; 512ed -Function512ed: ; 512ed -.asm_512ed +.Fill ld [hli], a dec c - jr nz, .asm_512ed + jr nz, .Fill ret ; 512f2 @@ -61989,22 +61131,10 @@ Function512f2: ; 512f2 inc de ld b, a xor a + rept 8 rr b rla - rr b - rla - rr b - rla - rr b - rla - rr b - rla - rr b - rla - rr b - rla - rr b - rla + endr ld [hli], a dec c jr nz, .asm_51300 @@ -62015,36 +61145,36 @@ Function512f2: ; 512f2 Function51322: ; 51322 ld a, $1 call GetSRAMBank - ld hl, BoxCount + ld hl, sBoxCount call Function513cb - ld a, [BoxCount] + ld a, [sBoxCount] dec a ld [$d265], a - ld hl, BoxMon1Nickname - ld bc, $000b - ld de, DefaultFlypoint + ld hl, sBoxMonNicknames + ld bc, PKMN_NAME_LENGTH + ld de, $d002 call Function513e0 - ld a, [BoxCount] + ld a, [sBoxCount] dec a ld [$d265], a - ld hl, BoxMon1OT - ld bc, $000b + ld hl, sBoxMonOT + ld bc, NAME_LENGTH ld de, $d00d call Function513e0 - ld a, [BoxCount] + ld a, [sBoxCount] dec a ld [$d265], a - ld hl, BoxMon1Species - ld bc, $0020 + ld hl, sBoxMons + ld bc, sBoxMon1End - sBoxMon1 ld de, $d018 call Function513e0 ld hl, $d01a - ld de, TempMonMove1 - ld bc, $0004 + ld de, TempMonMoves + ld bc, NUM_MOVES call CopyBytes ld hl, $d02f ld de, TempMonPP - ld bc, $0004 + ld bc, NUM_MOVES call CopyBytes ld a, [CurPartyMon] ld b, a @@ -62058,22 +61188,22 @@ Function5138b: ; 5138b ld a, [PartyCount] dec a ld [$d265], a - ld hl, PartyMon1Nickname - ld bc, $000b - ld de, DefaultFlypoint + ld hl, PartyMonNicknames + ld bc, PKMN_NAME_LENGTH + ld de, $d002 call Function513e0 ld a, [PartyCount] dec a ld [$d265], a - ld hl, PartyMon1OT - ld bc, $000b + ld hl, PartyMonOT + ld bc, NAME_LENGTH ld de, $d00d call Function513e0 ld a, [PartyCount] dec a ld [$d265], a - ld hl, PartyMon1Species - ld bc, $0030 + ld hl, PartyMons + ld bc, PartyMon2 - PartyMon1 ld de, $d018 call Function513e0 ret @@ -62084,7 +61214,7 @@ Function513cb: ; 513cb inc hl ld a, [CurPartyMon] ld c, a - ld b, $0 + ld b, 0 add hl, bc ld a, [CurPartySpecies] ld c, a @@ -63182,7 +62312,7 @@ Unknown_80671: ; 80671 Function806c5: ; 806c5 ; Caught mons. ld hl, PokedexCaught - ld b, $20 + ld b, EndPokedexCaught - PokedexCaught call CountSetBits ld a, [$d265] jp Function8066c @@ -63191,7 +62321,7 @@ Function806c5: ; 806c5 Function806d3: ; 806d3 ; Seen mons. ld hl, PokedexSeen - ld b, $20 + ld b, EndPokedexSeen - PokedexSeen call CountSetBits ld a, [$d265] jp Function8066c @@ -63199,7 +62329,7 @@ Function806d3: ; 806d3 Function806e1: ; 806e1 ; Number of owned badges. - ld hl, JohtoBadges ; $d857 + ld hl, Badges ; $d857 ld b, 2 call CountSetBits ld a, [$d265] @@ -63243,10 +62373,10 @@ Function806ff: ; 806ff Function80715: ; 80715 ; Remaining slots in the current box. - ld a, $1 + ld a, 1 ; BANK(sBoxCount) call GetSRAMBank - ld hl, BoxCount - ld a, 20 + ld hl, sBoxCount + ld a, MONS_PER_BOX sub [hl] ld b, a call CloseSRAM @@ -63447,13 +62577,13 @@ Function819a7: ; 819a7 dec c jr nz, .asm_819d6 ld a, $94 - ld [EnemyMoveAnimation], a + ld [$c608], a ld a, $52 - ld [EnemyMoveEffect], a + ld [$c609], a ld a, $4a - ld [EnemyMovePower], a + ld [$c60a], a ld a, $29 - ld [EnemyMoveType], a + ld [$c60b], a pop af ld [rSVBK], a ret @@ -63665,14 +62795,12 @@ Function81adb: ; 81adb hlcoord 12, 3 call Function378b ld de, $9310 - ld a, $3d - call Predef + predef GetBackpic ld a, $31 ld [$ffad], a hlcoord 2, 4 ld bc, $0606 - ld a, $13 - call Predef + predef FillBox ld a, [$d003] and a jr z, .asm_81b66 @@ -63698,14 +62826,13 @@ Function81adb: ; 81adb hlcoord 4, 1 call PlaceString ld de, VTiles2 - callab Function5120d + callab GetTrainerPic xor a ld [TempEnemyMonSpecies], a ld [$ffad], a hlcoord 2, 3 ld bc, $0707 - ld a, $13 - call Predef + predef FillBox .asm_81ba9 ld a, $1 @@ -63755,13 +62882,13 @@ Function81bf4: ; 81bf4 add hl, hl ld de, OverworldMap add hl, de - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $0004 call CopyBytes xor a ld [$cf64], a ld [$cf65], a - ld de, EnemyMoveAnimation + ld de, $c608 call Function81ea5 ret ; 81c18 @@ -63792,14 +62919,14 @@ Function81c33: ; 81c33 ld a, $5 ld [rSVBK], a ld hl, BGPals - ld de, EnemyMoveAnimation + ld de, $c608 ld c, $1 call Function81ee3 hlcoord 10, 2 - ld de, EnemyMoveAnimation + ld de, $c608 call Function81ca7 hlcoord 15, 2 - ld de, EnemyMovePower + ld de, $c60a call Function81ca7 ld a, $1 ld [hCGBPalUpdate], a @@ -63817,13 +62944,13 @@ Function81c33: ; 81c33 ld [hli], a ld a, $7f ld [hli], a - ld a, [EnemyMoveAnimation] + ld a, [$c608] ld [hli], a - ld a, [EnemyMoveEffect] + ld a, [$c609] ld [hli], a - ld a, [EnemyMovePower] + ld a, [$c60a] ld [hli], a - ld a, [EnemyMoveType] + ld a, [$c60b] ld [hli], a xor a ld [hli], a @@ -63832,10 +62959,10 @@ Function81c33: ; 81c33 ld hl, $cda9 call Function81f0c hlcoord 10, 2 - ld de, EnemyMoveAnimation + ld de, $c608 call Function81ca7 hlcoord 15, 2 - ld de, EnemyMovePower + ld de, $c60a call Function81ca7 ld a, $3 ld [$cf63], a @@ -63928,14 +63055,14 @@ Function81d0a: ; 81d0a .asm_81d1d xor a ld [$cf65], a - ld de, EnemyMoveAnimation + ld de, $c608 call Function81ea5 ret .asm_81d28 ld a, $1 ld [$cf65], a - ld de, EnemyMovePower + ld de, $c60a call Function81ea5 ret @@ -63947,7 +63074,7 @@ Function81d34: ; 81d34 ld a, [hl] and $40 jr nz, Function81d84 - ld hl, PlayerMoveType + ld hl, $c612 jr Function81d63 Function81d46: ; 81d46 @@ -63958,7 +63085,7 @@ Function81d46: ; 81d46 ld a, [hl] and $40 jr nz, Function81d84 - ld hl, PlayerMoveAccuracy + ld hl, $c613 jr Function81d63 Function81d58: ; 81d58 @@ -63966,7 +63093,7 @@ Function81d58: ; 81d58 ld a, [hl] and $40 jr nz, Function81d84 - ld hl, PlayerMovePP + ld hl, $c614 Function81d63: ; 81d63 ld a, [$ffa9] @@ -64092,8 +63219,7 @@ Function81df4: ; 81df4 ld a, [$d004] inc a ld [$d265], a - ld a, $f - call Predef + predef GetTMHMMove ld a, [$d265] ld [$d262], a call GetMoveName @@ -64102,8 +63228,7 @@ Function81df4: ; 81df4 ld a, [$d004] call Function81e55 ld [CurItem], a - ld a, $e - call Predef + predef CanLearnTMHMMove ld a, c and a ld de, String_81e46 @@ -64139,21 +63264,21 @@ Function81e5e: ; 81e5e ; 81e67 Function81e67: ; 81e67 - ld a, [PlayerMoveType] + ld a, [$c612] and $1f ld e, a - ld a, [PlayerMoveAccuracy] + ld a, [$c613] and $7 sla a swap a or e ld e, a - ld a, [PlayerMoveAccuracy] + ld a, [$c613] and $18 sla a swap a ld d, a - ld a, [PlayerMovePP] + ld a, [$c614] and $1f sla a sla a @@ -64163,23 +63288,23 @@ Function81e67: ; 81e67 and a jr z, .asm_81e9c ld a, e - ld [EnemyMovePower], a + ld [$c60a], a ld a, d - ld [EnemyMoveType], a + ld [$c60b], a ret .asm_81e9c ld a, e - ld [EnemyMoveAnimation], a + ld [$c608], a ld a, d - ld [EnemyMoveEffect], a + ld [$c609], a ret ; 81ea5 Function81ea5: ; 81ea5 ld a, [de] and $1f - ld [PlayerMoveType], a + ld [$c612], a ld a, [de] and $e0 swap a @@ -64191,12 +63316,12 @@ Function81ea5: ; 81ea5 swap a srl a or b - ld [PlayerMoveAccuracy], a + ld [$c613], a ld a, [de] and $7c srl a srl a - ld [PlayerMovePP], a + ld [$c614], a ret ; 81eca @@ -64211,7 +63336,7 @@ Function81eca: ; 81eca add hl, de ld e, l ld d, h - ld hl, EnemyMoveAnimation + ld hl, $c608 ld bc, $0004 call CopyBytes ret @@ -64360,11 +63485,11 @@ Function81f5e: ; 81f5e ld b, $70 ld c, $5 ld hl, Sprites - ld de, PlayerMoveType + ld de, $c612 call .asm_81fb7 - ld de, PlayerMoveAccuracy + ld de, $c613 call .asm_81fb7 - ld de, PlayerMovePP + ld de, $c614 call .asm_81fb7 ret @@ -64512,10 +63637,10 @@ Function8220f: ; 8220f add hl, hl ld de, Unkn1Pals add hl, de - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $0008 call CopyBytes - ld de, EnemyMoveAnimation + ld de, $c608 call Function81ea5 pop af ld [rSVBK], a @@ -64561,7 +63686,7 @@ Function82236: ; 82236 ld a, [$cf64] ld bc, $0008 call AddNTimes - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $0008 call CopyBytes pop af @@ -64593,20 +63718,20 @@ Function822a3: ; 822a3 call AddNTimes ld e, l ld d, h - ld hl, EnemyMoveAnimation + ld hl, $c608 ld bc, $0008 call CopyBytes hlcoord 1, 0 - ld de, EnemyMoveAnimation + ld de, $c608 call Function81ca7 hlcoord 6, 0 - ld de, EnemyMovePower + ld de, $c60a call Function81ca7 hlcoord 11, 0 - ld de, EnemyMoveAccuracy + ld de, $c60c call Function81ca7 hlcoord 16, 0 - ld de, EnemyMoveEffectChance + ld de, $c60e call Function81ca7 pop af ld [rSVBK], a @@ -64664,7 +63789,7 @@ Function82309: ; 82309 ld [$cf66], a ld e, a ld d, $0 - ld hl, EnemyMoveAnimation + ld hl, $c608 add hl, de add hl, de ld e, l @@ -64680,7 +63805,7 @@ Function82339: ; 82338 ld a, [hl] and $40 jr nz, Function82387 - ld hl, PlayerMoveType + ld hl, $c612 jr Function82368 Function8234b: ; 8234b @@ -64691,7 +63816,7 @@ Function8234b: ; 8234b ld a, [hl] and $40 jr nz, Function82387 - ld hl, PlayerMoveAccuracy + ld hl, $c613 jr Function82368 Function8235d: ; 8235d @@ -64699,7 +63824,7 @@ Function8235d: ; 8235d ld a, [hl] and $40 jr nz, Function82387 - ld hl, PlayerMovePP + ld hl, $c614 Function82368: ; 82368 ld a, [$ffa9] @@ -64740,21 +63865,21 @@ Function8238c: ; 8238c ; 82391 Function82391: ; 82391 - ld a, [PlayerMoveType] + ld a, [$c612] and $1f ld e, a - ld a, [PlayerMoveAccuracy] + ld a, [$c613] and $7 sla a swap a or e ld e, a - ld a, [PlayerMoveAccuracy] + ld a, [$c613] and $18 sla a swap a ld d, a - ld a, [PlayerMovePP] + ld a, [$c614] and $1f sla a sla a @@ -64763,7 +63888,7 @@ Function82391: ; 82391 ld a, [$cf66] ld c, a ld b, $0 - ld hl, EnemyMoveAnimation + ld hl, $c608 add hl, bc add hl, bc ld a, e @@ -66025,13 +65150,13 @@ Unknown_84807: ; 84807 ; known jump sources: 844f2 (21:44f2) Function84817: ; 84817 (21:4817) xor a - ld [DefaultFlypoint], a ; $d002 - ld hl, TileMap ; $c4a0 (aliases: SpritesEnd) + ld [$d002], a + ld hl, TileMap ld bc, $168 ld a, $7f call ByteFill call Function84a0e - ld hl, TileMap ; $c4a0 (aliases: SpritesEnd) + ld hl, TileMap ld bc, $b4 ld a, $7f call ByteFill @@ -66040,9 +65165,9 @@ Function84817: ; 84817 (21:4817) hlcoord 4, 3 ld de, String_84865 call PlaceString - ld a, [MovementBuffer] ; $d007 - ld bc, $9 - ld hl, Box1Name ; $db75 + ld a, [$d007] + ld bc, 9 + ld hl, wBoxNames call AddNTimes ld d, h ld e, l @@ -66429,7 +65554,7 @@ Function864c3: ; 864c3 ld a, [$cf64] cp $6 jr nc, .asm_864fb - ld hl, EnemyMoveEffect + ld hl, $c609 ld bc, $0010 call AddNTimes ld a, [hl] @@ -66462,8 +65587,7 @@ Function8650c: ; 8650c call WaitBGMap decoord 6, 5 ld c, $6 - ld a, $49 - call Predef + predef Functiond066e ld c, $3c call DelayFrames and a @@ -66501,7 +65625,7 @@ Function8653f: ; 8653f push bc ld a, c ld hl, PartyMon1Species - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes ld c, l ld b, h @@ -66534,7 +65658,7 @@ Function8653f: ; 8653f pop bc push bc ld a, c - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld bc, $000b call AddNTimes ld bc, $000a @@ -66570,21 +65694,18 @@ Function865b5: ; 865b5 ld a, [hli] ld [$d124], a ld hl, TempMonDVs - ld a, $2d - call Predef + predef GetUnownLetter ld hl, TileMap ld bc, $0168 ld a, $7f call ByteFill ld de, $9310 - ld a, $3d - call Predef + predef GetBackpic ld a, $31 ld [$ffad], a hlcoord 6, 6 ld bc, $0606 - ld a, $13 - call Predef + predef FillBox ld a, $d0 ld [hSCY], a ld a, $90 @@ -66690,7 +65811,7 @@ Function86692: ; 86692 ld a, [$cf64] cp $6 jr nc, .asm_866a7 - ld hl, EnemyMoveEffect + ld hl, $c609 ld bc, $0010 call AddNTimes ld a, [hl] @@ -66706,7 +65827,7 @@ Function86692: ; 86692 call WhiteBGMap pop hl call Function86748 - ld a, [EnemyMoveAnimation] + ld a, [$c608] cp 200 + 1 jr c, .asm_866c6 ld de, String_866fc @@ -66720,7 +65841,7 @@ Function86692: ; 86692 hlcoord 1, 2 call PlaceString hlcoord 2, 2 - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $0103 call PrintNum hlcoord 11, 2 @@ -66734,8 +65855,7 @@ Function86692: ; 86692 call Function32f9 decoord 6, 5 ld c, $6 - ld a, $49 - call Predef + predef Functiond066e and a ret ; 866fb @@ -66765,7 +65885,7 @@ Function8671c: ; 8671c ld a, [hl] and a jr z, .asm_86743 - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $0062 call CopyBytes call CloseSRAM @@ -66814,8 +65934,7 @@ Function86748: ; 86748 ld [CurPartySpecies], a ld [$d265], a ld hl, TempMonDVs - ld a, $2d - call Predef + predef GetUnownLetter xor a ld [$c2c6], a hlcoord 6, 5 @@ -66883,8 +66002,7 @@ Function86810: ; 86810 ld [$ffad], a hlcoord 6, 6 ld bc, $0606 - ld a, $13 - call Predef + predef FillBox ld a, $d0 ld [hSCY], a ld a, $90 @@ -66908,8 +66026,7 @@ Function86810: ; 86810 ld [$ffad], a hlcoord 12, 5 ld bc, $0707 - ld a, $13 - call Predef + predef FillBox ld a, $c0 ld [hSCX], a call WaitBGMap @@ -67396,8 +66513,7 @@ MovePlayerPic: ; 88266 xor a ld [hBGMapMode], a ld bc, $0707 - ld a, $13 - call Predef + predef FillBox xor a ld [hBGMapThird], a call WaitBGMap @@ -67559,8 +66675,7 @@ GetChrisBackpic: ; 88830 ld b, BANK(ChrisBackpic) ld de, $9310 ld c, $31 - ld a, $40 - call Predef + predef DecompressPredef ret ; 88840 @@ -67626,8 +66741,7 @@ DrawIntroPlayerPic: ; 88874 ld [$ffad], a hlcoord 6, 4 ld bc, $0707 - ld a, $13 - call Predef + predef FillBox ret ; 888a9 @@ -68588,12 +67702,12 @@ Function8963d: ; 8963d ; 89655 Function89655: ; 89655 - ld hl, $ceca - ld de, $0014 - ld a, $5 - ld b, $4 + ld hl, AttrMap + SCREEN_WIDTH * 12 + 1 + ld de, SCREEN_WIDTH + ld a, 5 + ld b, 4 .asm_8965f - ld c, $12 + ld c, 18 push hl .asm_89662 ld [hli], a @@ -68895,7 +68009,7 @@ Function897af: ; 897af xor a ld [CurPartySpecies], a ld de, $9370 - callba Function5120d + callba GetTrainerPic pop bc ret ; 897d5 @@ -68927,8 +68041,7 @@ Function897d5: ; 897d5 ld [$ffad], a hlcoord 12, 3 ld bc, $0707 - ld a, $13 - call Predef + predef FillBox call Function8963d pop bc ret @@ -73153,7 +72266,7 @@ Function8b2e9: ; 8b2e9 Function8b31a: ; 8b31a push bc - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 add hl, bc inc de pop bc @@ -74372,6 +73485,7 @@ Unknown_8ba1f: ; 8ba1f SECTION "bank23", ROMX, BANK[$23] Function8c000: ; 8c000 +Function8c000_2: ret ; 8c001 @@ -79584,9 +78698,9 @@ Function8e8b1: ; 8e8b1 (23:68b1) ld a, $60 ld [hl], a ld a, c - ld [EnemyMoveAnimation], a ; $c608 (aliases: EnemyMoveStruct) + ld [$c608], a ld a, b - ld [EnemyMoveEffect], a ; $c609 + ld [$c609], a ret ; known jump sources: 8e898 (23:6898) @@ -80360,7 +79474,7 @@ UnknownScript_0x90241: ; 0x90241 end ; 0x90255 -UnknownScript_0x90255: ; 0x90255 +UnknownScript_0x90255:: ; 0x90255 3callasm Function9025c 2jump UnknownScript_0x90241 ; 0x9025c @@ -83955,8 +83069,7 @@ HasVisitedSpawn: ; 91c50 ld hl, VisitedSpawns ld b, CHECK_FLAG ld d, 0 - ld a, PREDEF_FLAG - call Predef + predef FlagPredef ld a, c ret ; 91c5e @@ -87322,7 +86435,7 @@ Functionb81ea: ; b81ea jr nc, .asm_b8214 call Functionb83e5 jr nc, .asm_b8214 - ld a, $8 + ld a, BATTLETYPE_TREE ld [BattleType], a ld a, $1 ld [ScriptVar], a @@ -91299,7 +90412,7 @@ Functioncc000: ; cc000 call PrintNum hlcoord 11, 10 - ld de, EnemyMonMaxHPHi + ld de, EnemyMonMaxHP call PrintNum ld hl, SwitchMonText @@ -93241,7 +92354,7 @@ Functione1190: ; e1190 xor a ld [hBGMapMode], a call DisableLCD - ld hl, EnemyMoveAnimation + ld hl, $c608 ld bc, $01e0 xor a call ByteFill @@ -95752,12 +94865,10 @@ PCMonInfo: ; e2ac6 (38:6ac6) ld [CurPartySpecies], a ld [CurSpecies], a ld hl, TempMonDVs - ld a, $2d - call Predef + predef GetUnownLetter call GetBaseData ld de, $9000 - ld a, $3c - call Predef + predef GetFrontpic xor a ld [$cb32], a ld a, [CurPartySpecies] @@ -96011,7 +95122,7 @@ Functione2c6e: ; e2c6e (38:6c6e) ld a, [hl] and a jr z, .asm_e2cee - ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname) + ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames) ld bc, $b ld a, e call AddNTimes @@ -96402,8 +95513,7 @@ Functione2f7e: ; e2f7e (38:6f7e) call Functione2fd6 ld a, $3 ld [MonType], a ; $cf5f - ld a, $25 - call Predef + predef StatsScreenInit call Functione33e8 call MaxVolume ret @@ -96431,8 +95541,7 @@ Functione2f95: ; e2f95 (38:6f95) ld [CurPartySpecies], a ; $d108 ld [CurSpecies], a ; $cf60 ld hl, TempMonDVs ; $d123 - ld a, $2d - call Predef + predef GetUnownLetter call GetBaseData call Functione2fd6 .asm_e2fd0 @@ -96474,9 +95583,9 @@ Functione2fd6: ; e2fd6 (38:6fd6) .asm_e3020 ld hl, PartySpecies ; $dcd8 call Functione3357 - ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname) + ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames) call Functione3363 - ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT) + ld hl, PartyMonOT ; $ddff (aliases: PartyMonOT) call Functione3376 ld hl, PartyMons ; $dcdf (aliases: PartyMon1, PartyMon1Species) ld bc, $30 @@ -96519,13 +95628,12 @@ Functione307c: ; e307c (38:707c) ld hl, $cb2a add [hl] ld [CurPartyMon], a ; $d109 - ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname) + ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames) ld a, [CurPartyMon] ; $d109 call GetNick ld a, $1 ld [$d10b], a - ld a, $8 - call Predef + predef Functiondb3f jr c, .asm_e30e4 xor a ld [$d10b], a @@ -96580,8 +95688,7 @@ Functione30fa: ; e30fa (38:70fa) call CloseSRAM xor a ld [$d10b], a - ld a, $8 - call Predef + predef Functiondb3f jr c, .asm_e316a ld a, $1 ld [$d10b], a @@ -96806,14 +95913,14 @@ Functione32b0: ; e32b0 ld [CurPartyMon], a ld a, $1 call GetSRAMBank - ld hl, BoxSpecies + ld hl, sBoxSpecies call Functione3357 - ld hl, BoxMon1Nickname + ld hl, sBoxMonNicknames call Functione3363 - ld hl, BoxMon1OT + ld hl, sBoxMonOT call Functione3376 - ld hl, BoxMon1Species - ld bc, $0020 + ld hl, sBoxMons + ld bc, sBoxMon1End - sBoxMon1 call Functione3389 call CloseSRAM callba Function5088b @@ -96843,12 +95950,12 @@ Functione3316: ; e3316 ld [CurPartyMon], a ld hl, PartySpecies call Functione3357 - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call Functione3363 - ld hl, PartyMon1OT + ld hl, PartyMonOT call Functione3376 ld hl, PartyMon1Species - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call Functione3389 xor a ld [$d10b], a @@ -97077,8 +96184,8 @@ Functione3619: ; e3619 ; known jump sources: e36e7 (38:76e7), e375d (38:775d), e376e (38:776e) Functione3626: ; e3626 (38:7626) - ld bc, $9 - ld hl, Box1Name ; $db75 + ld bc, 9 + ld hl, wBoxNames call AddNTimes ld d, h ld e, l @@ -97111,7 +96218,10 @@ String_e3663: ; e3663 ; e3668 String_e3668: ; e3668 - db "/20@" + db "/" + db "0" + MONS_PER_BOX / 10 + db "0" + MONS_PER_BOX % 10 + db "@" ; e366c ; known jump sources: e3717 (38:7717) @@ -101138,7 +100248,7 @@ Functionfbb32: ; fbb32 jr nz, .asm_fbba4 ld a, [CurPartyMon] ld hl, PartyMon1Species - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call AddNTimes push hl ld bc, $0015 @@ -101169,7 +100279,7 @@ Functionfbb32: ; fbb32 ld [de], a inc de ld a, [CurPartyMon] - ld hl, PartyMon1OT + ld hl, PartyMonOT call SkipNames call CopyBytes ld a, $3 @@ -101284,8 +100394,7 @@ Functionfbd77: ; fbd77 (3e:7d77) ld a, $31 .asm_fbd8a ld [$FF00+$ad], a - ld a, $13 - call Predef + predef FillBox Functionfbd91: ; fbd91 (3e:7d91) ld a, $1 ld [hBGMapMode], a ; $ff00+$d4 @@ -101596,8 +100705,7 @@ Functionfcc07: ; fcc07 push af ld a, [$cf64] push af - ld a, $1e - call Predef + predef Function28f24 pop af ld [$cf64], a pop af @@ -101639,8 +100747,7 @@ TradeFlagAction: ; fcc4a ld hl, $d960 ld a, [$cf63] ld c, a - ld a, PREDEF_FLAG - call Predef + predef FlagPredef ld a, c and a ret @@ -101675,7 +100782,7 @@ Functionfcc63: ; fcc63 call Functionfcde8 call Functionfcdf4 - ld hl, PartyMon1OT + ld hl, PartyMonOT ld bc, $000b call Functionfcdd7 ld de, $c6f2 @@ -101727,8 +100834,7 @@ Functionfcc63: ; fcc63 ld [MonType], a ld [$d10b], a callab Functione039 - ld a, PREDEF_ADDPARTYMON - call Predef + predef Functiond88c ld e, TRADE_DIALOG call GetTradeAttribute @@ -101745,7 +100851,7 @@ Functionfcc63: ; fcc63 ld de, $c70e call Functionfcdf4 - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld bc, PKMN_NAME_LENGTH call Functionfcdde ld hl, $c70e @@ -101760,7 +100866,7 @@ Functionfcc63: ; fcc63 ld de, $c719 call Functionfcdf4 - ld hl, PartyMon1OT + ld hl, PartyMonOT ld bc, $000b call Functionfcdde ld hl, $c724 @@ -103852,11 +102958,11 @@ INCBIN "baserom.gbc",$100b0a,$100b12 - $100b0a Function100b12: ; 100b12 call Function100dd8 ret c - ld hl, $4f2c - ld a, $9 + ld hl, BattleMenuDataHeader + ld a, BANK(BattleMenuDataHeader) ld de, LoadMenuDataHeader call FarCall_de - ld a, $9 + ld a, BANK(BattleMenuDataHeader) ld [$cf94], a ld a, [$d0d2] ld [$cf88], a @@ -103989,8 +103095,8 @@ Function100bc2: ; 100bc2 ld a, [$cfa9] dec a ld c, a - ld b, $0 - ld hl, BattleMonPPMove1 + ld b, 0 + ld hl, BattleMonPP add hl, bc ld a, [hl] and $3f @@ -104004,8 +103110,8 @@ Function100bc2: ; 100bc2 ld a, [$cfa9] dec a ld c, a - ld b, $0 - ld hl, BattleMonMove1 + ld b, 0 + ld hl, BattleMonMoves add hl, bc ld a, [hl] ld [CurPlayerMove], a @@ -104027,23 +103133,22 @@ Function100bc2: ; 100bc2 Function100c74: ; 100c74 hlcoord 0, 8 - ld b, $8 - ld c, $8 + ld b, 8 + ld c, 8 call TextBox - ld hl, BattleMonMove1 + ld hl, BattleMonMoves ld de, $d25e - ld bc, $0004 + ld bc, NUM_MOVES call CopyBytes - ld a, $28 + ld a, SCREEN_WIDTH * 2 ld [Buffer1], a hlcoord 2, 10 - ld a, $20 - call Predef + predef ListMoves ret ; 100c98 Function100c98: ; 100c98 - ld de, $4cad + ld de, Unknown_100cad call Function1bb1 ld a, [$d0eb] inc a @@ -104054,6 +103159,7 @@ Function100c98: ; 100c98 ret ; 100cad +Unknown_100cad: ; 100cad INCBIN "baserom.gbc",$100cad,$100cb5 - $100cad @@ -104584,10 +103690,10 @@ Function1020ea: ; 1020ea bit 2, [hl] jr nz, .asm_102110 call Function10218d - ld hl, EnemyMoveAnimation + ld hl, $c608 bit 4, [hl] jr z, .asm_102110 - ld hl, EnemyMoveAnimation + ld hl, $c608 bit 2, [hl] jr nz, .asm_102110 call Function102112 @@ -104607,7 +103713,7 @@ Function102112: ; 102112 ld c, $28 .asm_10211c push hl - ld de, PlayerMoveAnimation + ld de, $c60f ld b, $1f .asm_102122 ld a, [de] @@ -104666,7 +103772,7 @@ Function102142: ; 102142 ; 102180 Function102180: ; 102180 - ld hl, EnemyMoveEffect + ld hl, $c609 ld de, StringBuffer2 ld bc, $000b call CopyBytes @@ -104675,18 +103781,18 @@ Function102180: ; 102180 Function10218d: ; 10218d ld hl, $dc00 - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $0026 ld a, $5 call FarCopyWRAM - ld de, EnemyMoveEffect + ld de, $c609 ret ; 10219f Function10219f: ; 10219f call FadeToMenu call Function10218d - ld de, EnemyMoveEffect + ld de, $c609 callba Function8ac4e call Functiona36 call PlayClickSFX @@ -104697,7 +103803,7 @@ Function10219f: ; 10219f Function1021b8: ; 1021b8 call FadeToMenu call Function10218d - ld de, PlayerMoveAnimation + ld de, $c60f callba Function8ac70 ld a, c ld [StringBuffer1], a @@ -106122,7 +105228,7 @@ Function104a95: ; 104a95 (41:4a95) ld a, [$FF00+$bb] cp $2 jr z, Function104b22 - ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct) + ld hl, $ffb3 ld b, $1 call Function104d56 jr nz, .asm_104ac8 @@ -106200,7 +105306,7 @@ Function104b22: ; 104b22 (41:4b22) ; known jump sources: 104b04 (41:4b04), 104b2e (41:4b2e) Function104b40: ; 104b40 (41:4b40) - ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct) + ld hl, $ffb3 ld b, $1 call Function104d56 ret nz @@ -106211,14 +105317,14 @@ Function104b49: ; 104b49 (41:4b49) ld a, [$FF00+$bc] cp $6c ret nz - ld a, [hPastLeadingZeroes] ; $ff00+$b3 (aliases: hDividend, hProduct) + ld a, [$ffb3] cp $96 jp nz, Function104d32 ld a, $90 - ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct) + ld [$ffb3], a call Function104d38 ret nz - ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct) + ld hl, $ffb3 ld b, $1 call Function104d4e ret nz @@ -106241,8 +105347,8 @@ Function104b49: ; 104b49 (41:4b49) ; known jump sources: 104b10 (41:4b10), 104b22 (41:4b22) Function104b88: ; 104b88 (41:4b88) ld a, $96 - ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct) - ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct) + ld [$ffb3], a + ld hl, $ffb3 ld b, $1 call Function104d4e ret nz @@ -106252,7 +105358,7 @@ Function104b88: ; 104b88 (41:4b88) ret nz call Function104d43 ret nz - ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct) + ld hl, $ffb3 ld b, $1 call Function104d56 ret nz @@ -106260,7 +105366,7 @@ Function104b88: ; 104b88 (41:4b88) ld a, [$FF00+$bc] cp $6c ret nz - ld a, [hPastLeadingZeroes] ; $ff00+$b3 (aliases: hDividend, hProduct) + ld a, [$ffb3] cp $90 jp nz, Function104d32 call Function104d38 @@ -106361,7 +105467,7 @@ Function104c2d: ; 104c2d (41:4c2d) ; known jump sources: 104c4e (41:4c4e), 104c78 (41:4c78) Function104c8a: ; 104c8a (41:4c8a) - ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct) + ld hl, $ffb3 ld b, $1 call Function104d56 ret nz @@ -106369,14 +105475,14 @@ Function104c8a: ; 104c8a (41:4c8a) ld a, [$FF00+$bc] cp $6c ret nz - ld a, [hPastLeadingZeroes] ; $ff00+$b3 (aliases: hDividend, hProduct) + ld a, [$ffb3] cp $3c jp nz, Function104d32 swap a - ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct) + ld [$ffb3], a call Function104d38 ret nz - ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct) + ld hl, $ffb3 ld b, $1 call Function104d4e ret nz @@ -106399,8 +105505,8 @@ Function104c8a: ; 104c8a (41:4c8a) ; known jump sources: 104c5a (41:4c5a), 104c6c (41:4c6c) Function104cd2: ; 104cd2 (41:4cd2) ld a, $3c - ld [hPastLeadingZeroes], a ; $ff00+$b3 (aliases: hDividend, hProduct) - ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct) + ld [$ffb3], a + ld hl, $ffb3 ld b, $1 call Function104d4e ret nz @@ -106410,7 +105516,7 @@ Function104cd2: ; 104cd2 (41:4cd2) ret nz call Function104d43 ret nz - ld hl, hPastLeadingZeroes ; $ffb3 (aliases: hDividend, hProduct) + ld hl, $ffb3 ld b, $1 call Function104d56 ret nz @@ -106418,7 +105524,7 @@ Function104cd2: ; 104cd2 (41:4cd2) ld a, [$FF00+$bc] cp $6c ret nz - ld a, [hPastLeadingZeroes] ; $ff00+$b3 (aliases: hDividend, hProduct) + ld a, [$ffb3] swap a cp $3c jp nz, Function104d32 @@ -107013,7 +106119,7 @@ Function105069: ; 105069 (41:5069) ld d, $0 ld b, $2 ld hl, $abf0 - ld a, $3 + predef_id FlagPredef push hl push bc call Predef @@ -107025,8 +106131,7 @@ Function105069: ; 105069 (41:5069) ret nz call Function105106 ld b, $1 - ld a, $3 - call Predef + predef FlagPredef call CloseSRAM xor a ret @@ -107040,8 +106145,7 @@ Function105091: ; 105091 (41:5091) ld d, $0 ld b, $2 ld hl, $abf0 - ld a, $3 - call Predef + predef FlagPredef ld a, c and a pop bc @@ -107623,45 +106727,37 @@ DisplayUsedMoveText: ; 105db0 UsedMoveText: ; 105db9 - ; this is a stream of text and asm from 105db9 to 105ef6 -; print actor name text_jump _ActorNameText start_asm -; ???? ld a, [hBattleTurn] and a jr nz, .start -; append used move list - ld a, [PlayerMoveAnimation] + ld a, [wPlayerMoveStruct + MOVE_ANIM] call UpdateUsedMoves .start -; get address for last move - ld a, $13 ; last move - call _GetBattleVar + ld a, BATTLE_VARS_LAST_MOVE + call GetBattleVarAddr ld d, h ld e, l -; get address for last counter move - ld a, $11 - call _GetBattleVar + ld a, BATTLE_VARS_LAST_COUNTER_MOVE + call GetBattleVarAddr -; get move animation (id) - ld a, $c ; move animation + ld a, BATTLE_VARS_MOVE_ANIM call GetBattleVar ld [$d265], a -; check actor ???? push hl callba Function34548 pop hl jr nz, .grammar -; update last move + ; update last move ld a, [$d265] ld [hl], a ld [de], a @@ -107673,13 +106769,13 @@ UsedMoveText: ; 105db9 ; everything except 'instead' made redundant in localization -; check obedience + ; check obedience ld a, [AlreadyDisobeyed] and a ld hl, UsedMove2Text ret nz -; check move grammar + ; check move grammar ld a, [$d265] cp $3 ld hl, UsedMove2Text @@ -108246,7 +107342,7 @@ Function106050: ; 106050 Function106051: ; 106051 ld a, [BattleType] - cp $3 + cp BATTLETYPE_TUTORIAL ret z ld hl, $a01b jp Function10611d @@ -108259,7 +107355,7 @@ Function10605d: ; 10605d Function10605e: ; 10605e ld a, [BattleType] - cp $3 + cp BATTLETYPE_TUTORIAL ret z ld hl, $a01e jp Function10611d @@ -111517,33 +110613,33 @@ Function119451: ; 119451 (46:5451) Function119471: ; 119471 (46:5471) push af ld a, [hli] - ld [EnemyMoveAnimation], a ; $c608 (aliases: EnemyMoveStruct) + ld [$c608], a ld a, [hli] - ld [EnemyMoveType], a ; $c60b + ld [$c60b], a ld a, [hli] - ld [EnemyMoveEffect], a ; $c609 + ld [$c609], a ld a, [hli] - ld [EnemyMovePower], a ; $c60a + ld [$c60a], a ld a, [hli] - ld [EnemyMoveAccuracy], a ; $c60c + ld [$c60c], a ld a, [hli] - ld [EnemyMovePP], a ; $c60d + ld [$c60d], a ; $c60d push hl - ld a, [EnemyMoveAnimation] ; $c608 (aliases: EnemyMoveStruct) + ld a, [$c608] cp $ff jr z, .asm_1194a7 - ld a, [EnemyMovePower] ; $c60a + ld a, [$c60a] cp $ff jr z, .asm_1194a7 - ld a, [EnemyMoveEffect] ; $c609 + ld a, [$c609] cp $ff jr nz, .asm_1194a7 call Function119584 jr c, .asm_11950c jr .asm_1194f0 .asm_1194a7 - ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct) - ld de, EnemyMoveType ; $c60b + ld hl, $c608 + ld de, $c60b ld c, $3 .asm_1194af ld a, [de] @@ -111559,7 +110655,7 @@ Function119471: ; 119471 (46:5471) .asm_1194bc ld c, $3 ld hl, $cd49 - ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct) + ld de, $c608 .asm_1194c4 ld a, [de] inc de @@ -111576,7 +110672,7 @@ Function119471: ; 119471 (46:5471) .asm_1194d5 ld c, $3 ld hl, $cd49 - ld de, EnemyMoveType ; $c60b + ld de, $c60b .asm_1194dd ld a, [de] inc de @@ -111597,7 +110693,7 @@ Function119471: ; 119471 (46:5471) .asm_1194f3 ld c, $3 ld hl, $cd49 - ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct) + ld de, $c608 .asm_1194fb ld a, [de] inc de @@ -111616,9 +110712,9 @@ Function119471: ; 119471 (46:5471) ld a, $1 ld [$cd50], a ld a, l - ld [EnemyMoveAnimation], a ; $c608 (aliases: EnemyMoveStruct) + ld [$c608], a ld a, h - ld [EnemyMoveEffect], a ; $c609 + ld [$c609], a ld de, $cd69 ld c, $10 ld b, $0 @@ -111698,9 +110794,9 @@ Function119471: ; 119471 (46:5471) ; known jump sources: 1194a0 (46:54a0) Function119584: ; 119584 (46:5584) - ld a, [EnemyMoveAnimation] ; $c608 (aliases: EnemyMoveStruct) + ld a, [$c608] ld b, a - ld a, [EnemyMoveType] ; $c60b + ld a, [$c60b] ld c, a cp b jr c, .asm_11959c @@ -111717,9 +110813,9 @@ Function119584: ; 119584 (46:5584) cp b jr c, .asm_119595 .asm_1195a2 - ld a, [EnemyMovePower] ; $c60a + ld a, [$c60a] ld b, a - ld a, [EnemyMovePP] ; $c60d + ld a, [$c60d] ; $c60d ld c, a cp b jr c, .asm_1195ba @@ -111764,9 +110860,9 @@ Function1195c4: ; 1195c4 (46:55c4) call CopyBytes xor a ld [de], a - ld a, [EnemyMoveAnimation] ; $c608 (aliases: EnemyMoveStruct) + ld a, [$c608] ld l, a - ld a, [EnemyMoveEffect] ; $c609 + ld a, [$c609] ld h, a ld de, $cd69 ld bc, $10 @@ -111938,11 +111034,11 @@ Function119d93: ; 119d93 (46:5d93) ld a, $1 ld [rSVBK], a ; $ff00+$70 ld a, [$cd4f] - ld c, $a + ld c, 10 call SimpleMultiply ld hl, $cd50 ld [hl], a - ld bc, $30 + ld bc, PartyMon2 - PartyMon1 ld de, PartyMon1Level ; $dcfe ld a, [PartyCount] ; $dcd7 .asm_119daf @@ -111980,28 +111076,28 @@ Function119dd1: ; 119dd1 (46:5dd1) ld a, [rSVBK] ; $ff00+$70 push af ld a, [$cd4f] - cp $7 + cp 70 / 10 jr nc, .asm_119e08 ld a, $1 ld [rSVBK], a ; $ff00+$70 ld hl, PartyMon1Level ; $dcfe - ld bc, $30 + ld bc, PartyMon2 - PartyMon1 ld de, PartySpecies ; $dcd8 ld a, [PartyCount] ; $dcd7 .asm_119deb push af ld a, [de] - cp $96 + cp MEWTWO jr z, .asm_119dfd - cp $97 + cp MEW jr z, .asm_119dfd - cp $f9 + cp LUGIA jr c, .asm_119e02 - cp $fc + cp NUM_POKEMON + 1 jr nc, .asm_119e02 .asm_119dfd ld a, [hl] - cp $46 + cp 70 jr c, .asm_119e0d .asm_119e02 add hl, bc @@ -112021,7 +111117,7 @@ Function119dd1: ; 119dd1 (46:5dd1) call GetPokemonName ld hl, StringBuffer1 ; $d073 ld de, $cd49 - ld bc, $b + ld bc, PKMN_NAME_LENGTH call CopyBytes ld a, $a ld [$cf66], a @@ -112591,13 +111687,13 @@ Function11b5e8: ; 11b5e8 ld a, $0 call GetSRAMBank ld hl, $d4ba - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $0004 call CopyBytes call CloseSRAM ld a, $5 call GetSRAMBank - ld hl, EnemyMoveAnimation + ld hl, $c608 ld de, $b08c ld bc, $0004 call CopyBytes @@ -112651,7 +111747,7 @@ Function11b65a: ; 11b65a INCBIN "baserom.gbc",$11b669,$11b7e5 - $11b669 Function11b7e5: ; 11b7e5 - ld a, [EnemyMovePP] + ld a, [$c60d] ld [PlayerLightScreenCount], a ld [CurPartySpecies], a ld a, [$cd81] @@ -112662,16 +111758,16 @@ Function11b7e5: ; 11b7e5 call CopyBytes ld a, $50 ld [de], a - ld a, [PlayerMoveAccuracy] + ld a, [$c613] ld [$c731], a - ld a, [PlayerMovePP] + ld a, [$c614] ld [$c732], a ld hl, $c622 ld a, [hli] ld [$c72f], a ld a, [hl] ld [$c730], a - ld bc, EnemyMovePP + ld bc, $c60d callba GetCaughtGender ld a, c ld [$c733], a @@ -112821,7 +111917,7 @@ Function11b93b: ; 11b93b xor a ld [$a800], a ld hl, $a823 - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $008f call CopyBytes call CloseSRAM @@ -112874,7 +111970,7 @@ Function11b98f: ; 11b98f ld a, $ff ld [bc], a ld hl, PartyMon1Species - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 ld a, e ld [$cd2a], a .asm_11b9ba @@ -112888,9 +111984,9 @@ Function11b98f: ; 11b98f ld l, a ld a, [$cd23] ld h, a - ld bc, $0030 + ld bc, PartyMon2 - PartyMon1 call CopyBytes - ld hl, PartyMon1OT + ld hl, PartyMonOT ld bc, $000b ld a, [$cd2a] .asm_11b9d8 @@ -112908,7 +112004,7 @@ Function11b98f: ; 11b98f call CopyBytes ld a, $50 ld [de], a - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames ld bc, $000b ld a, [$cd2a] .asm_11b9f9 @@ -113187,7 +112283,7 @@ Function11c0c6: ; 11c0c6 .asm_11c123 sub e ld [$cf64], a - ld de, EnemyMoveAnimation + ld de, $c608 .asm_11c12a ld a, [de] cp $50 @@ -113214,7 +112310,7 @@ Function11c0c6: ; 11c0c6 Function11c14a: ; 11c14a ld c, $0 - ld hl, EnemyMoveAnimation + ld hl, $c608 .asm_11c14f ld a, [hli] cp $50 @@ -113229,7 +112325,7 @@ Function11c156: ; 11c156 ld a, $1 ld [rSVBK], a ld a, $50 - ld hl, EnemyMoveAnimation + ld hl, $c608 ld bc, $000b call ByteFill ld a, d @@ -113258,9 +112354,9 @@ Function11c156: ; 11c156 add hl, bc ld bc, $0005 .asm_11c18f - ld de, EnemyMoveAnimation + ld de, $c608 call CopyBytes - ld de, EnemyMoveAnimation + ld de, $c608 pop af ld [rSVBK], a ret @@ -115882,8 +114978,7 @@ Function16d6e1: ; 16d6e1 hlcoord 4, 10 ld b, $1 ld c, $a - ld a, $10 - call Predef + predef Function28eef hlcoord 5, 11 ld de, $5701 call PlaceString @@ -116098,7 +115193,7 @@ Function170121: ; 170121 ld a, $5 call GetSRAMBank ld hl, $a948 - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $00f6 call CopyBytes call CloseSRAM @@ -116617,21 +115712,21 @@ Function170923: ; 170923 Function17093c: ; 17093c (5c:493c) xor a ld [ScriptVar], a ; $c2dd - ld a, $81 + ld a, EGG_TICKET ld [CurItem], a ; $d106 ld hl, NumItems ; $d892 (aliases: TMsHMsEnd) call CheckItem ret nc ld a, [PartyCount] ; $dcd7 - ld b, $0 + ld b, 0 ld c, a ld hl, PartySpecies ; $dcd8 .asm_170955 ld a, [hli] - cp $fd + cp EGG jr nz, .asm_17099f push hl - ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT) + ld hl, PartyMonOT ; $ddff (aliases: PartyMonOT) ld de, $6 ld a, b and a @@ -116641,7 +115736,7 @@ Function17093c: ; 17093c (5c:493c) dec a jr nz, .asm_170965 .asm_170969 - ld de, $49a4 + ld de, String_1709a4 ld a, $6 .asm_17096e push af @@ -116661,7 +115756,7 @@ Function17093c: ; 17093c (5c:493c) ld [hli], a ld [hli], a pop hl - ld a, $81 + ld a, EGG_TICKET ld [CurItem], a ; $d106 ld a, $1 ld [$d10c], a @@ -116672,6 +115767,7 @@ Function17093c: ; 17093c (5c:493c) ld a, $1 ld [ScriptVar], a ; $c2dd ret + .asm_17099d pop af pop hl @@ -116682,7 +115778,8 @@ Function17093c: ; 17093c (5c:493c) ret ; 1709a4 (5c:49a4) -INCBIN "baserom.gbc",$1709a4,$1709aa - $1709a4 +String_1709a4: ; 1709a4 + db "なぞナゾ@@" ; no known jump sources Function1709aa: ; 1709aa (5c:49aa) @@ -116802,7 +115899,7 @@ Function170b16: ; 170b16 (5c:4b16) call GetSRAMBank ld a, [$b2fb] call CloseSRAM - ld c, $a + ld c, 10 call SimpleDivide ld a, b ld [$cd4f], a @@ -117028,10 +116125,10 @@ Function171ac9: ; 171ac9 (5c:5ac9) ; no known jump sources Function171ad7: ; 171ad7 (5c:5ad7) xor a - ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct) + ld hl, $c608 ld bc, $66 call ByteFill - ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct) + ld de, $c608 ld a, $c call Function3e32 jp Function171c66 @@ -117061,7 +116158,7 @@ Function171aec: ; 171aec (5c:5aec) jr nz, .asm_171b01 hlcoord 2, 7 ld a, $3 - ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct) + ld de, $c608 .asm_171b1b push af push hl @@ -117428,7 +116525,7 @@ Function178000: callba DrawPlayerHUD ld hl, PlayerHPPal ; $cd99 call SetHPPal - callba Function3e043 + callba DrawEnemyHUD ld hl, EnemyHPPal ; $cd9a call SetHPPal callba Function3ee27 @@ -117663,8 +116760,7 @@ Function17d1f1: ; 17d1f1 dec a ld bc, PartyMon2 - PartyMon1 call AddNTimes - ld a, $2d - call Predef + predef GetUnownLetter callab Functionfba18 ld a, [$def4] and a @@ -117843,7 +116939,7 @@ Function17d370: ; 17d370 callba Function104061 call DisableLCD ld hl, $8ee0 - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $0010 call CopyBytes ld a, $1 @@ -117856,7 +116952,7 @@ Function17d370: ; 17d370 ld hl, $97f0 ld bc, $0010 call ByteFill - ld hl, EnemyMoveAnimation + ld hl, $c608 ld de, $8ee0 ld bc, $0010 call CopyBytes @@ -117919,7 +117015,7 @@ Function17d60b: ; 17d60b ld a, $5 call GetSRAMBank ld hl, $b1d3 - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $0020 call CopyBytes ld a, [$b1b1] @@ -117954,7 +117050,7 @@ Function17d60b: ; 17d60b ld [$cd49], a push hl push de - ld hl, EnemyMoveAnimation + ld hl, $c608 ld e, b ld d, $0 add hl, de @@ -118198,7 +117294,7 @@ Function17f0f8: ; 17f0f8 ld a, [$cd55] ld d, a add hl, de - ld de, EnemyMoveAnimation + ld de, $c608 ld a, [$cd56] ld c, a ld b, $0 @@ -118206,7 +117302,7 @@ Function17f0f8: ; 17f0f8 ld a, $50 ld [de], a pop hl - ld de, EnemyMoveAnimation + ld de, $c608 call PlaceString ld a, c ld [$cd52], a @@ -118298,10 +117394,10 @@ Function17f181: ; 17f181 add hl, de ld a, [hl] ld c, a - ld de, EnemyMoveAnimation + ld de, $c608 callba Function48c63 pop hl - ld de, EnemyMoveAnimation + ld de, $c608 call PlaceString ld a, c ld [$cd52], a @@ -118533,13 +117629,13 @@ Function17f2ff: ; 17f2ff ld a, $1 ld [rSVBK], a ld hl, PlayerName - ld de, EnemyMoveAnimation + ld de, $c608 ld bc, $0006 call CopyBytes ld a, $4 ld [rSVBK], a pop hl - ld de, EnemyMoveAnimation + ld de, $c608 call PlaceString ld a, c ld [$cd52], a @@ -118580,10 +117676,10 @@ Function17f334: ; 17f334 .asm_17f35d ld c, a call CloseSRAM - ld de, EnemyMoveAnimation + ld de, $c608 callba Function48c63 pop hl - ld de, EnemyMoveAnimation + ld de, $c608 call PlaceString ld a, c ld [$cd52], a @@ -118797,7 +117893,7 @@ Function17f44f: ; 17f44f ld l, a ld a, [$cd56] ld h, a - ld de, EnemyMoveAnimation + ld de, $c608 ld a, [$cd57] ld c, a ld b, $0 @@ -118815,7 +117911,7 @@ Function17f44f: ; 17f44f call GetSRAMBank .asm_17f4b7 - ld de, EnemyMoveAnimation + ld de, $c608 pop hl push hl ld a, [$cd57] @@ -119445,7 +118541,7 @@ Function1dc381: ; 1dc381 ld a, [CurPartySpecies] ld [$d265], a ld [CurSpecies], a - ld hl, PartyMon1Nickname + ld hl, PartyMonNicknames call Function1dc50e hlcoord 8, 4 call PlaceString @@ -119465,7 +118561,7 @@ Function1dc381: ; 1dc381 hlcoord 1, 9 ld de, String1dc550 call PlaceString - ld hl, PartyMon1OT + ld hl, PartyMonOT call Function1dc50e hlcoord 4, 9 call PlaceString @@ -119480,17 +118576,16 @@ Function1dc381: ; 1dc381 ld de, String1dc554 call PlaceString hlcoord 7, 14 - ld a, [TempMonMove1] + ld a, [TempMonMoves + 0] call Function1dc51a call Function1dc52c ld hl, TempMonDVs - ld a, $2d - call Predef + predef GetUnownLetter ld hl, $c2c6 xor a ld [hl], a ld a, [CurPartySpecies] - cp $c9 + cp UNOWN jr z, .asm_1dc469 inc [hl] @@ -119523,22 +118618,22 @@ Function1dc47b: ; 1dc47b hlcoord 0, 1 call CopyBytes hlcoord 7, 0 - ld a, [TempMonMove2] + ld a, [TempMonMoves + 1] call Function1dc51a hlcoord 7, 2 - ld a, [TempMonMove3] + ld a, [TempMonMoves + 2] call Function1dc51a hlcoord 7, 4 - ld a, [TempMonMove4] + ld a, [TempMonMoves + 3] call Function1dc51a hlcoord 7, 7 ld de, String1dc55d call PlaceString hlcoord 16, 7 - ld de, TempMonAtk + ld de, TempMonAttack call Function1dc507 hlcoord 16, 9 - ld de, TempMonDef + ld de, TempMonDefense call Function1dc507 hlcoord 16, 11 ld de, TempMonSpclAtk @@ -119547,7 +118642,7 @@ Function1dc47b: ; 1dc47b ld de, TempMonSpclDef call Function1dc507 hlcoord 16, 15 - ld de, TempMonSpd + ld de, TempMonSpeed call Function1dc507 call WaitBGMap ld b, $3 |