From 0b7dfeb9b208a16682e92de9cf15e19fb8cf8a94 Mon Sep 17 00:00:00 2001 From: yenatch Date: Mon, 16 Jun 2014 10:32:39 -0700 Subject: [PATCH] Name and comment some move learning functions. --- constants/misc_constants.asm | 1 + main.asm | 170 ++++++++++++++++++++--------------- 2 files changed, 98 insertions(+), 73 deletions(-) diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index bf56c15a1..f2e5f2100 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -22,6 +22,7 @@ NUM_BOXES EQU 14 ; predefs +PREDEF_LEARN_MOVE EQU $00 PREDEF_FLAG EQU $03 PREDEF_FILLPP EQU $05 PREDEF_ADDPARTYMON EQU $06 diff --git a/main.asm b/main.asm index b2b1c81b6..683225879 100644 --- a/main.asm +++ b/main.asm @@ -5251,7 +5251,7 @@ Function64db: ; 64db ret ; 6508 -Function6508: ; 6508 +LearnMove: ; 6508 call Function309d ld a, [CurPartyMon] ld hl, PartyMonNicknames @@ -5261,7 +5261,7 @@ Function6508: ; 6508 ld bc, PKMN_NAME_LENGTH call CopyBytes -Function6520: ; 6520 +.loop ld hl, PartyMon1Moves ld bc, PartyMon2 - PartyMon1 ld a, [CurPartyMon] @@ -5269,17 +5269,18 @@ Function6520: ; 6520 ld d, h ld e, l ld b, NUM_MOVES -.asm_6530 +.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 @@ -5288,14 +5289,14 @@ Function6520: ; 6520 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 -.asm_6559 +.not_disabled call GetMoveName ld hl, UnknownText_0x6684 @@ -5303,11 +5304,12 @@ Function6520: ; 6520 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 @@ -5318,18 +5320,23 @@ Function6520: ; 6520 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, BattleMonMoves @@ -5340,24 +5347,23 @@ Function6520: ; 6520 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 @@ -6452,8 +6458,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 @@ -7753,7 +7759,7 @@ PredefPointers: ; 856b ; $4b Predef pointers ; address, bank - dwb Function6508, BANK(Function6508) ; $0 + dwb LearnMove, BANK(LearnMove) ; $0 dwb Function747a, BANK(Function747a) dwb Functionc658, BANK(Functionc658) dwb FlagPredef, BANK(FlagPredef) @@ -7779,7 +7785,7 @@ PredefPointers: ; 856b dwb FillInExpBar, BANK(FillInExpBar) dwb Function3f43d, BANK(Function3f43d) ; $18 dwb Function3f47c, BANK(Function3f47c) - dwb Function42487, BANK(Function42487) + dwb LearnLevelMoves, BANK(LearnLevelMoves) dwb FillMoves, BANK(FillMoves) dwb Function421e6, BANK(Function421e6) dwb Function28f63, BANK(Function28f63) @@ -14644,12 +14650,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 @@ -38251,7 +38257,8 @@ Function28ea3: ; 28ea3 ; 28eab String28eab: ; 28eab - db "TRADE", $4e, "CANCEL@" + db "TRADE" + next "CANCEL@" UnknownText_0x28eb8: ; 0x28eb8 ; Trade @ for @ ? @@ -38260,10 +38267,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 @@ -42611,11 +42619,13 @@ Function2c80a: ; 2c80a Function2c867: ; 2c867 ld a, $e call Predef + push bc ld a, [CurPartyMon] ; $d109 ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames) call GetNick pop bc + ld a, c and a jr nz, .asm_2c88b @@ -42627,31 +42637,35 @@ Function2c867: ; 2c867 call PrintText jr .asm_2c8b6 .asm_2c88b - callab Functionf9ea + + callab KnowsMove jr c, .asm_2c8b6 - ld a, $0 + + ld a, PREDEF_LEARN_MOVE call Predef 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) @@ -47042,7 +47056,7 @@ Function421f5: ; 421f5 ld [$d265], a xor a ld [MonType], a - call Function42487 + call LearnLevelMoves ld a, [$d265] dec a call SetSeenAndCaughtMon @@ -47172,7 +47186,7 @@ UnknownText_0x42482: ; 0x42482 ; 0x42487 -Function42487: ; 42487 +LearnLevelMoves: ; 42487 ld a, [$d265] ld [CurPartySpecies], a dec a @@ -47184,50 +47198,55 @@ 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, PartyMon1Moves ld a, [CurPartyMon] ld bc, PartyMon2 - PartyMon1 call AddNTimes + ld b, NUM_MOVES -.asm_424b9 +.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 + ld a, PREDEF_LEARN_MOVE call Predef pop hl - jr .asm_4249d + jr .find_move -.asm_424da +.done ld a, [CurPartySpecies] ld [$d265], a ret @@ -47235,7 +47254,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 @@ -50581,16 +50600,19 @@ Function492a5: ; 492a5 Function492b9: ; 492b9 ld hl, MenuDataHeader_0x4930a call LoadMenuDataHeader + ld a, $e call Predef + push bc ld a, [CurPartyMon] 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 @@ -50598,26 +50620,28 @@ 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 + callab KnowsMove + jr c, .didnt_learn + + ld a, PREDEF_LEARN_MOVE call Predef 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 @@ -67785,12 +67809,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