diff options
Diffstat (limited to 'engine')
-rw-r--r-- | engine/battle_start.asm | 40 | ||||
-rwxr-xr-x | engine/breeding/egg.asm | 976 | ||||
-rwxr-xr-x | engine/clock_reset.asm | 8 | ||||
-rw-r--r-- | engine/credits.asm | 14 | ||||
-rwxr-xr-x | engine/link.asm | 4 | ||||
-rw-r--r-- | engine/map_objects.asm | 2 | ||||
-rwxr-xr-x | engine/menu.asm | 14 | ||||
-rw-r--r-- | engine/pack.asm | 16 | ||||
-rw-r--r-- | engine/phone.asm | 2 | ||||
-rw-r--r-- | engine/pokedex.asm | 60 | ||||
-rw-r--r-- | engine/radio.asm | 12 | ||||
-rw-r--r-- | engine/radio2.asm | 4 |
12 files changed, 1064 insertions, 88 deletions
diff --git a/engine/battle_start.asm b/engine/battle_start.asm index 4b12bb632..181f4135f 100644 --- a/engine/battle_start.asm +++ b/engine/battle_start.asm @@ -254,7 +254,7 @@ StartTrainerBattle_SetUpBGMap: ; 8c3a1 (23:43a1) call StartTrainerBattle_NextScene xor a ld [wcf64], a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret StartTrainerBattle_Flash: ; 8c3ab (23:43ab) @@ -309,10 +309,10 @@ StartTrainerBattle_Flash: ; 8c3ab (23:43ab) StartTrainerBattle_SetUpForWavyOutro: ; 8c3e8 (23:43e8) callba Function5602 ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call StartTrainerBattle_NextScene ld a, $43 - ld [hLCDStatCustom], a ; $ff00+$c6 + ld [hLCDStatCustom], a xor a ld [hLCDStatCustom + 1], a ld a, $90 @@ -365,7 +365,7 @@ StartTrainerBattle_SineWave: ; 8c408 (23:4408) StartTrainerBattle_SetUpForSpinOutro: ; 8c43d (23:443d) callba Function5602 ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call StartTrainerBattle_NextScene xor a ld [wcf64], a @@ -386,7 +386,7 @@ ENDM StartTrainerBattle_SpinToBlack: ; 8c44f (23:444f) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, [wcf64] ld e, a ld d, 0 @@ -400,7 +400,7 @@ endr ld [wcf65], a call .load ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame ld hl, wcf64 @@ -409,12 +409,12 @@ endr .end ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame call DelayFrame xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $20 ld [wJumptableIndex], a ret @@ -508,12 +508,12 @@ endr StartTrainerBattle_SetUpForRandomScatterOutro: ; 8c578 (23:4578) callba Function5602 ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call StartTrainerBattle_NextScene ld a, $10 ld [wcf64], a ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f) @@ -533,12 +533,12 @@ StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f) .done ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame call DelayFrame xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $20 ld [wJumptableIndex], a ret @@ -580,7 +580,7 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) jp z, .nextscene xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a hlcoord 0, 0, AttrMap ld bc, SCREEN_HEIGHT * SCREEN_WIDTH inc b @@ -636,11 +636,11 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) dec b jr nz, .loop2 - ld a, [hCGB] ; $ff00+$e6 + ld a, [hCGB] and a jr nz, .cgb ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame jr .nextscene @@ -653,10 +653,10 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) jr nz, .daytime ld hl, .nightpals .daytime - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 ; WRAM5 = palettes - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a call .copypals push hl ld de, Unkn1Pals + 8 * 7 @@ -667,9 +667,9 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) ld bc, $8 call CopyBytes pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld a, $1 - ld [hCGBPalUpdate], a ; $ff00+$e5 + ld [hCGBPalUpdate], a call DelayFrame call Function8cf4f @@ -829,7 +829,7 @@ StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768) inc de ld h, a xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call .Copy call WaitBGMap jr .loop diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm new file mode 100755 index 000000000..3b71b0601 --- /dev/null +++ b/engine/breeding/egg.asm @@ -0,0 +1,976 @@ +Function16e1d: ; 16e1d + call Function16ed6 + ld c, $0 + jp nc, .asm_16eb7 + ld a, [wBreedMon1Species] + ld [CurPartySpecies], a + ld a, [wBreedMon1DVs] + ld [TempMonDVs], a + ld a, [wBreedMon1DVs + 1] + ld [TempMonDVs + 1], a + ld a, $3 + ld [MonType], a + predef GetGender + jr c, .asm_16e70 + ld b, $1 + jr nz, .asm_16e48 + inc b + +.asm_16e48 + push bc + ld a, [wBreedMon2Species] + ld [CurPartySpecies], a + ld a, [wBreedMon2DVs] + ld [TempMonDVs], a + ld a, [wBreedMon2DVs + 1] + ld [TempMonDVs + 1], a + ld a, $3 + ld [MonType], a + predef GetGender + pop bc + jr c, .asm_16e70 + ld a, $1 + jr nz, .asm_16e6d + inc a + +.asm_16e6d + cp b + jr nz, .asm_16e89 + +.asm_16e70 + ld c, $0 + ld a, [wBreedMon1Species] + cp DITTO + jr z, .asm_16e82 + ld a, [wBreedMon2Species] + cp DITTO + jr nz, .asm_16eb7 + jr .asm_16e89 + +.asm_16e82 + ld a, [wBreedMon2Species] + cp DITTO + jr z, .asm_16eb7 + +.asm_16e89 + call Function16ebc + ld c, $ff + jp z, .asm_16eb7 + ld a, [wBreedMon2Species] + ld b, a + ld a, [wBreedMon1Species] + cp b + ld c, $fe + jr z, .asm_16e9f + ld c, $80 +.asm_16e9f + ld a, [wBreedMon1ID] + ld b, a + ld a, [wBreedMon2ID] + cp b + jr nz, .asm_16eb7 + ld a, [wBreedMon1ID + 1] + ld b, a + ld a, [wBreedMon2ID + 1] + cp b + jr nz, .asm_16eb7 + ld a, c + sub $4d + ld c, a + +.asm_16eb7 + ld a, c + ld [wd265], a + ret +; 16ebc + + +Function16ebc: ; 16ebc (5:6ebc) + ld a, [wBreedMon1DVs] + and $f + ld b, a + ld a, [wBreedMon2DVs] + and $f + cp b + ret nz + ld a, [wBreedMon1DVs + 1] + and $7 + ld b, a + ld a, [wBreedMon2DVs + 1] + and $7 + cp b + ret +; 16ed6 + +Function16ed6: ; 16ed6 + ld a, [wBreedMon2Species] + ld [CurSpecies], a + call GetBaseData + ld a, [BaseEggGroups] + cp $ff + jr z, .asm_16f3a + ld a, [wBreedMon1Species] + ld [CurSpecies], a + call GetBaseData + ld a, [BaseEggGroups] + cp $ff + jr z, .asm_16f3a + ld a, [wBreedMon2Species] + cp DITTO + jr z, .asm_16f3c + ld [CurSpecies], a + call GetBaseData + ld a, [BaseEggGroups] + push af + and $f + ld b, a + pop af + and $f0 + swap a + ld c, a + ld a, [wBreedMon1Species] + cp DITTO + jr z, .asm_16f3c + ld [CurSpecies], a + push bc + call GetBaseData + pop bc + ld a, [BaseEggGroups] + push af + and $f + ld d, a + pop af + and $f0 + swap a + ld e, a + ld a, d + cp b + jr z, .asm_16f3c + cp c + jr z, .asm_16f3c + ld a, e + cp b + jr z, .asm_16f3c + cp c + jr z, .asm_16f3c + +.asm_16f3a + and a + ret + +.asm_16f3c + scf + ret +; 16f3e + +DoEggStep:: ; 16f3e + ld de, PartySpecies + ld hl, PartyMon1Happiness + ld c, 0 +.loop + ld a, [de] + inc de + cp -1 + ret z + cp EGG + jr nz, .next + dec [hl] + jr nz, .next + ld a, 1 + and a + ret + +.next + push de + ld de, PARTYMON_STRUCT_LENGTH + add hl, de + pop de + jr .loop +; 16f5e + +OverworldHatchEgg:: ; 16f5e + call ResetWindow + call LoadPartyMenuDataHeader + call Function16f70 + call Function2b4d + call RestartMapMusic + jp LoadMoveSprites +; 16f70 + +Function16f70: ; 16f70 (5:6f70) + ld de, PartySpecies + ld hl, PartyMon1Happiness + xor a + ld [CurPartyMon], a + +Function16f7a: ; 16f7a (5:6f7a) + ld a, [de] + inc de + cp -1 + jp z, Function1708a + push de + push hl + cp EGG + jp nz, Function1707d + ld a, [hl] + and a + jp nz, Function1707d + ld [hl], $78 + + push de + + callba Function4dbb8 + callba MobileFn_10608d + ld a, [CurPartyMon] + ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + ld a, [hl] + ld [CurPartySpecies], a + dec a + call SetSeenAndCaughtMon + + ld a, [CurPartySpecies] + cp TOGEPI + jr nz, .nottogepi + ; set the event flag for hatching togepi + ld de, EVENT_TOGEPI_HATCHED + ld b, SET_FLAG + call EventFlagAction +.nottogepi + + pop de + + ld a, [CurPartySpecies] + dec de + ld [de], a + ld [wd265], a + ld [CurSpecies], a + call GetPokemonName + xor a + ld [wd26b], a + call GetBaseData + ld a, [CurPartyMon] + ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) + ld bc, PARTYMON_STRUCT_LENGTH + call AddNTimes + push hl + ld bc, MON_MAXHP + add hl, bc + ld d, h + ld e, l + pop hl + push hl + ld bc, MON_LEVEL + add hl, bc + ld a, [hl] + ld [CurPartyLevel], a + pop hl + push hl + ld bc, MON_STATUS + add hl, bc + xor a + ld [hli], a + ld [hl], a + pop hl + push hl + ld bc, MON_EXP + 2 + add hl, bc + ld b, $0 + predef CalcPkmnStats + pop bc + ld hl, MON_MAXHP + add hl, bc + ld d, h + ld e, l + ld hl, MON_HP + add hl, bc + ld a, [de] + inc de + ld [hli], a + ld a, [de] + ld [hl], a + ld hl, MON_ID + add hl, bc + ld a, [PlayerID] + ld [hli], a + ld a, [PlayerID + 1] + ld [hl], a + ld a, [CurPartyMon] + ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) + ld bc, NAME_LENGTH + call AddNTimes + ld d, h + ld e, l + ld hl, PlayerName + call CopyBytes + ld hl, UnknownText_0x1708b + call PrintText + ld a, [CurPartyMon] + ld hl, PartyMonNicknames + ld bc, PKMN_NAME_LENGTH + call AddNTimes + ld d, h + ld e, l + push de + ld hl, UnknownText_0x170ba + call PrintText + call YesNoBox + pop de + jr c, .nonickname + ld a, $1 + ld [wd26b], a + xor a + ld [MonType], a + push de + ld b, $0 + callba Function116c1 + pop hl + ld de, StringBuffer1 + call InitName + jr Function1707d +.nonickname + ld hl, StringBuffer1 + ld bc, PKMN_NAME_LENGTH + call CopyBytes + +Function1707d: ; 1707d (5:707d) + ld hl, CurPartyMon + inc [hl] + pop hl + ld de, PARTYMON_STRUCT_LENGTH + add hl, de + pop de + jp Function16f7a + +Function1708a: ; 1708a (5:708a) + ret +; 1708b (5:708b) + +UnknownText_0x1708b: ; 0x1708b + ; Huh? @ @ + text_jump UnknownText_0x1c0db0 + start_asm +; 0x17090 + +Function17090: ; 17090 + ld hl, VramState + res 0, [hl] + push hl + push de + push bc + ld a, [CurPartySpecies] + push af + call Function1728f + ld hl, UnknownText_0x170b0 + call PrintText + pop af + ld [CurPartySpecies], a + pop bc + pop de + pop hl + ld hl, UnknownText_0x170b5 + ret +; 170b0 (5:70b0) + +UnknownText_0x170b0: ; 0x170b0 + ; + text_jump UnknownText_0x1c0db8 + db "@" +; 0x170b5 + +UnknownText_0x170b5: ; 0x170b5 + ; came out of its EGG!@ @ + text_jump UnknownText_0x1c0dba + db "@" +; 0x170ba + +UnknownText_0x170ba: ; 0x170ba + ; Give a nickname to @ ? + text_jump UnknownText_0x1c0dd8 + db "@" +; 0x170bf + +Function170bf: ; 170bf + call Function17197 + ld d, h + ld e, l + ld b, NUM_MOVES +.loop + ld a, [de] + and a + jr z, .done + ld hl, wEggMonMoves + ld c, NUM_MOVES +.next + ld a, [de] + cp [hl] + jr z, .skip + inc hl + dec c + jr nz, .next + call Function170e4 + jr nc, .skip + call Function17169 + +.skip + inc de + dec b + jr nz, .loop + +.done + ret +; 170e4 + +Function170e4: ; 170e4 +GLOBAL EggMoves + + push bc + ld a, [wEggMonSpecies] + dec a + ld c, a + ld b, 0 + ld hl, EggMovePointers +rept 2 + add hl, bc +endr + ld a, BANK(EggMovePointers) + call GetFarHalfword +.loop + ld a, BANK(EggMoves) + call GetFarByte + cp -1 + jr z, .found_mon + ld b, a + ld a, [de] + cp b + jr z, .done_carry + inc hl + jr .loop + +.found_mon + call Function1720b + ld b, NUM_MOVES +.loop2 + ld a, [de] + cp [hl] + jr z, .found_eggmove + inc hl + dec b + jr z, .inherit_tmhm + jr .loop2 + +.found_eggmove + ld a, [wEggMonSpecies] + dec a + ld c, a + ld b, 0 + ld hl, EvosAttacksPointers +rept 2 + add hl, bc +endr + ld a, BANK(EvosAttacksPointers) + call GetFarHalfword +.loop3 + ld a, BANK(EvosAttacks) + call GetFarByte + inc hl + and a + jr nz, .loop3 +.loop4 + ld a, BANK(EvosAttacks) + call GetFarByte + and a + jr z, .inherit_tmhm + inc hl + ld a, BANK(EvosAttacks) + call GetFarByte + ld b, a + ld a, [de] + cp b + jr z, .done_carry + inc hl + jr .loop4 + +.inherit_tmhm + ld hl, TMHMMoves +.loop5 + ld a, BANK(TMHMMoves) + call GetFarByte + inc hl + and a + jr z, .done + ld b, a + ld a, [de] + cp b + jr nz, .loop5 + ld [wd262], a + predef CanLearnTMHMMove + ld a, c + and a + jr z, .done + +.done_carry + pop bc + scf + ret + +.done + pop bc + and a + ret +; 17169 + +Function17169: ; 17169 + push de + push bc + ld a, [de] + ld b, a + ld hl, wEggMonMoves + ld c, NUM_MOVES +.loop + ld a, [hli] + and a + jr z, .done + dec c + jr nz, .loop + ld de, wEggMonMoves + ld hl, wEggMonMoves + 1 + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + +.done + dec hl + ld [hl], b + ld hl, wEggMonMoves + ld de, wEggMonPP + predef FillPP + pop bc + pop de + ret +; 17197 + +Function17197: ; 17197 + ld hl, wBreedMon2Moves + ld a, [wBreedMon1Species] + cp DITTO + jr z, .ditto1 + ld a, [wBreedMon2Species] + cp DITTO + jr z, .ditto2 + ld a, [wDittoInDaycare] + and a + ret z + ld hl, wBreedMon1Moves + ret + +.ditto1 + ld a, [CurPartySpecies] + push af + ld a, [wBreedMon2Species] + ld [CurPartySpecies], a + ld a, [wBreedMon2DVs] + ld [TempMonDVs], a + ld a, [wBreedMon2DVs + 1] + ld [TempMonDVs + 1], a + ld a, $3 + ld [MonType], a + predef GetGender + jr c, .inherit_mon2_moves + jr nz, .inherit_mon2_moves + jr .inherit_mon1_moves + +.ditto2 + ld a, [CurPartySpecies] + push af + ld a, [wBreedMon1Species] + ld [CurPartySpecies], a + ld a, [wBreedMon1DVs] + ld [TempMonDVs], a + ld a, [wBreedMon1DVs + 1] + ld [TempMonDVs + 1], a + ld a, $3 + ld [MonType], a + predef GetGender + jr c, .inherit_mon1_moves + jr nz, .inherit_mon1_moves + +.inherit_mon2_moves + ld hl, wBreedMon2Moves + pop af + ld [CurPartySpecies], a + ret + +.inherit_mon1_moves + ld hl, wBreedMon1Moves + pop af + ld [CurPartySpecies], a + ret +; 1720b + +Function1720b: ; 1720b + ld hl, wBreedMon1Moves + ld a, [wBreedMon1Species] + cp DITTO + ret z + ld a, [wBreedMon2Species] + cp DITTO + jr z, .ditto + ld a, [wDittoInDaycare] + and a + ret z + +.ditto + ld hl, wBreedMon2Moves + ret +; 17224 + + +Function17224: ; 17224 (5:7224) + push de + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + ld hl, BattleMonDVs + predef GetUnownLetter + pop de + predef_jump GetFrontpic + +Function1723c: ; 1723c (5:723c) + push de + ld [CurPartySpecies], a + ld [CurSpecies], a + call GetBaseData + ld hl, BattleMonDVs + predef GetUnownLetter + pop de + predef_jump Function5108b + +Function17254: ; 17254 (5:7254) + push af + call WaitTop + push hl + push bc + hlcoord 0, 0 + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld a, " " + call ByteFill + pop bc + pop hl + ld a, b + ld [hBGMapAddress + 1], a + ld a, c + ld [hFillBox], a + lb bc, 7, 7 + predef FillBox + pop af + call Function17363 + call SetPalettes + jp WaitBGMap + +Function1727f: ; 1727f (5:727f) + push hl + push de + push bc + callab Function8cf69 + call DelayFrame + pop bc + pop de + pop hl + ret + +Function1728f: ; 1728f (5:728f) + ld a, [wd265] + ld [wJumptableIndex], a + ld a, [CurSpecies] + push af + ld de, MUSIC_NONE + call PlayMusic + callba Function8000 + call DisableLCD + ld hl, EggHatchGFX + ld de, VTiles0 tile $00 + ld bc, $20 + ld a, BANK(EggHatchGFX) + call FarCopyBytes + callba Function8cf53 + ld de, VTiles2 tile $00 + ld a, [wJumptableIndex] + call Function1723c + ld de, VTiles2 tile $31 + ld a, EGG + call Function17224 + ld de, MUSIC_EVOLUTION + call PlayMusic + call EnableLCD + hlcoord 7, 4 + ld b, $98 + ld c, $31 + ld a, EGG + call Function17254 + ld c, $50 + call DelayFrames + xor a + ld [wcf64], a + ld a, [hSCX] + ld b, a +.asm_172ee + ld hl, wcf64 + ld a, [hl] + inc [hl] + cp $8 + jr nc, .asm_17327 + ld e, [hl] +.asm_172f8 + ld a, $2 + ld [hSCX], a + ld a, $fe + ld [wc3c0], a + call Function1727f + ld c, $2 + call DelayFrames + ld a, $fe + ld [hSCX], a + ld a, $2 + ld [wc3c0], a + call Function1727f + ld c, $2 + call DelayFrames + dec e + jr nz, .asm_172f8 + ld c, $10 + call DelayFrames + call Function1736d + jr .asm_172ee +.asm_17327 + ld de, SFX_EGG_HATCH + call PlaySFX + xor a + ld [hSCX], a + ld [wc3c0], a + call ClearSprites + call Function173b3 + hlcoord 6, 3 + ld b, $98 + ld c, $0 + ld a, [wJumptableIndex] + call Function17254 + call Function17418 + call WaitSFX + ld a, [wJumptableIndex] + ld [CurPartySpecies], a + hlcoord 6, 3 + ld d, $0 + ld e, ANIM_MON_HATCH + predef AnimateFrontpic + pop af + ld [CurSpecies], a + ret + +Function17363: ; 17363 (5:7363) + ld [PlayerHPPal], a + ld b, $b + ld c, $0 + jp GetSGBLayout + +Function1736d: ; 1736d (5:736d) + ld a, [wcf64] + dec a + and $7 + cp $7 + ret z + srl a + ret nc + swap a + srl a + add $4c + ld d, a + ld e, $58 + ld a, $19 + call Function3b2a + ld hl, $3 + add hl, bc + ld [hl], $0 + ld de, SFX_EGG_CRACK + jp PlaySFX +; 17393 (5:7393) + +EggHatchGFX: ; 17393 +INCBIN "gfx/unknown/017393.2bpp" +; 173b3 + +Function173b3: ; 173b3 (5:73b3) + callba Function8cf53 + ld hl, Unknown_173ef +.loop + ld a, [hli] + cp $ff + jr z, .done + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + push hl + push bc + ld a, $1c + call Function3b2a + ld hl, $3 + add hl, bc + ld [hl], $0 + pop de + ld a, e + ld hl, $1 + add hl, bc + add [hl] + ld [hl], a + ld hl, $b + add hl, bc + ld [hl], d + pop hl + jr .loop +.done + ld de, SFX_EGG_HATCH + call PlaySFX + call Function1727f + ret +; 173ef (5:73ef) + +Unknown_173ef: ; 173ef +; Probably OAM. + db $54, $48, $00, $3c + db $5c, $48, $01, $04 + db $54, $50, $00, $30 + db $5c, $50, $01, $10 + db $54, $58, $02, $24 + db $5c, $58, $03, $1c + db $50, $4c, $00, $36 + db $60, $4c, $01, $0a + db $50, $54, $02, $2a + db $60, $54, $03, $16 + db $ff +; 17418 + +Function17418: ; 17418 (5:7418) + ld c, $81 +.asm_1741a + call Function1727f + dec c + jr nz, .asm_1741a + ret + +Special_DayCareMon1: ; 17421 + ld hl, UnknownText_0x17467 + call PrintText + ld a, [wBreedMon1Species] + call PlayCry + ld a, [wDaycareLady] + bit 0, a + jr z, Function1745f + call KeepTextOpen + ld hl, wBreedMon2Nick + call Function1746c + jp PrintText + +Special_DayCareMon2: ; 17440 + ld hl, UnknownText_0x17462 + call PrintText + ld a, [wBreedMon2Species] + call PlayCry + ld a, [wDaycareMan] + bit 0, a + jr z, Function1745f + call KeepTextOpen + ld hl, wBreedMon1Nick + call Function1746c + jp PrintText + +Function1745f: ; 1745f + jp Functiona80 +; 17462 + +UnknownText_0x17462: ; 0x17462 + ; It's @ that was left with the DAY-CARE LADY. + text_jump UnknownText_0x1c0df3 + db "@" +; 0x17467 + +UnknownText_0x17467: ; 0x17467 + ; It's @ that was left with the DAY-CARE MAN. + text_jump UnknownText_0x1c0e24 + db "@" +; 0x1746c + +Function1746c: ; 1746c + push bc + ld de, StringBuffer1 + ld bc, NAME_LENGTH + call CopyBytes + call Function16e1d + pop bc + ld a, [wd265] + ld hl, UnknownText_0x1749c + cp $ff + jr z, .asm_1749b + ld hl, UnknownText_0x174a1 + and a + jr z, .asm_1749b + ld hl, UnknownText_0x174a6 + cp 230 + jr nc, .asm_1749b + cp 70 + ld hl, UnknownText_0x174ab + jr nc, .asm_1749b + ld hl, UnknownText_0x174b0 + +.asm_1749b + ret +; 1749c + +UnknownText_0x1749c: ; 0x1749c + ; It's brimming with energy. + text_jump UnknownText_0x1c0e54 + db "@" +; 0x174a1 + +UnknownText_0x174a1: ; 0x174a1 + ; It has no interest in @ . + text_jump UnknownText_0x1c0e6f + db "@" +; 0x174a6 + +UnknownText_0x174a6: ; 0x174a6 + ; It appears to care for @ . + text_jump UnknownText_0x1c0e8d + db "@" +; 0x174ab + +UnknownText_0x174ab: ; 0x174ab + ; It's friendly with @ . + text_jump UnknownText_0x1c0eac + db "@" +; 0x174b0 + +UnknownText_0x174b0: ; 0x174b0 + ; It shows interest in @ . + text_jump UnknownText_0x1c0ec6 + db "@" +; 0x174b5 + +Function_174b5: ; 174b5 + ld hl, String_174b9 + ret +; 174b9 + +String_174b9: ; 174b9 + db "@" +; 174ba + diff --git a/engine/clock_reset.asm b/engine/clock_reset.asm index eedcae836..3d2ca2708 100755 --- a/engine/clock_reset.asm +++ b/engine/clock_reset.asm @@ -72,9 +72,9 @@ RestartClock: ; 20021 (8:4021) call UpdateTime call GetWeekday ld [Buffer4], a - ld a, [hHours] ; $ff00+$94 + ld a, [hHours] ld [Buffer5], a - ld a, [hMinutes] ; $ff00+$96 + ld a, [hMinutes] ld [Buffer6], a .loop @@ -223,7 +223,7 @@ RestartClock: ; 20021 (8:4021) .unreferenced: ; 20160 ld a, [Buffer3] ld b, a - call GetTileCoord + call Coord2Tile ret ; 20168 @@ -233,7 +233,7 @@ RestartClock: ; 20021 (8:4021) ld a, [Buffer3] dec a ld b, a - call GetTileCoord + call Coord2Tile pop de ld [hl], d ld bc, 2 * SCREEN_WIDTH diff --git a/engine/credits.asm b/engine/credits.asm index 473a851be..f03950d69 100644 --- a/engine/credits.asm +++ b/engine/credits.asm @@ -300,7 +300,7 @@ Function109956: ; 109956 (42:5956) Function10995e: ; 10995e (42:595e) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a jp Function109951 Function109964: ; 109964 (42:5964) @@ -317,13 +317,13 @@ Function109964: ; 109964 (42:5964) Function10997b: ; 10997b (42:597b) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $8 ld [Requested2bpp], a jp Function109951 Function109986: ; 109986 (42:5986) - ld a, [rLY] ; $ff00+$44 + ld a, [rLY] cp $30 jr c, Function109986 ld a, [wcf66] @@ -523,9 +523,9 @@ endr Function109a95: ; 109a95 (42:5a95) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld a, $c - ld [hBGMapAddress], a ; $ff00+$d6 + ld [hBGMapAddress], a ld a, $28 hlcoord 0, 0 ld bc, $168 @@ -558,8 +558,8 @@ Function109a95: ; 109a95 (42:5a95) call ByteFill call Function3200 xor a - ld [hBGMapMode], a ; $ff00+$d4 - ld [hBGMapAddress], a ; $ff00+$d6 + ld [hBGMapMode], a + ld [hBGMapAddress], a hlcoord 0, 0 call Function109aff call Function3200 diff --git a/engine/link.asm b/engine/link.asm index 585b5061a..ce89389f8 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -1813,7 +1813,7 @@ Function28b87: ; 28b87 ld a, [hli] ld [wc6fd], a ld a, [hl] - ld [wc6fe], a + ld [wPlayerMinimized], a ld a, [DefaultFlypoint] ld hl, PartyMon1Species call GetPartyLocation @@ -2810,7 +2810,7 @@ Function2942e: ; 2942e ld [CurPartySpecies], a ld a, [wc6fd] ld [TempMonDVs], a - ld a, [wc6fe] + ld a, [wPlayerMinimized] ld [TempMonDVs + 1], a ld b, $1a call GetSGBLayout diff --git a/engine/map_objects.asm b/engine/map_objects.asm index ae661a392..bc1ce4a67 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -2995,7 +2995,7 @@ Function56cd: ; 56cd jr nc, .ok8 ld c, a push bc - call GetTileCoord + call Coord2Tile pop bc ld a, [hl] cp $60 diff --git a/engine/menu.asm b/engine/menu.asm index c1d2949d0..a1ec30b7a 100755 --- a/engine/menu.asm +++ b/engine/menu.asm @@ -1,5 +1,5 @@ Function2400e:: ; 2400e - ld hl, Function1c66 + ld hl, CopyMenuData2 ld a, [wcf94] rst FarCall call Function24085 @@ -10,7 +10,7 @@ Function2400e:: ; 2400e ; 24022 Function24022:: ; 24022 - ld hl, Function1c66 + ld hl, CopyMenuData2 ld a, [wcf94] rst FarCall call Function24085 @@ -22,7 +22,7 @@ Function24022:: ; 24022 ; 2403c Function2403c:: ; 2403c - ld hl, Function1c66 + ld hl, CopyMenuData2 ld a, [wcf94] rst FarCall call Function24085 @@ -126,8 +126,8 @@ Function240db: ; 240db ld e, [hl] inc hl ld d, [hl] - call Function1cc6 - call GetTileCoord + call GetMenuTextStartCoord + call Coord2Tile call Function240d3 ld b, a .asm_240eb @@ -166,7 +166,7 @@ Function240db: ; 240db Function2411a: ; 2411a (9:411a) - call Function1cc6 + call GetMenuTextStartCoord ld a, b ld [wcfa1], a dec c @@ -538,7 +538,7 @@ Function24329: ; 24329 ld b, a ld a, [wcfa2] ld c, a - call GetTileCoord + call Coord2Tile ld a, [wcfa7] swap a and $f diff --git a/engine/pack.asm b/engine/pack.asm index d5878b7dd..9150610e6 100644 --- a/engine/pack.asm +++ b/engine/pack.asm @@ -44,7 +44,7 @@ Jumptable_10030: ; 10030 (4:4030) Function10046: ; 10046 (4:4046) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function10955 ld a, [wcf64] ld [wJumptableIndex], a @@ -113,7 +113,7 @@ Function100d3: ; 100d3 (4:40d3) call ClearPocketList call DrawPocketName xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call WaitBGMap_DrawPackGFX call Function10866 ret @@ -203,7 +203,7 @@ Function10159: ; 10159 ld [Options], a .asm_10179 xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function10955 call WaitBGMap_DrawPackGFX call Function10a40 @@ -478,7 +478,7 @@ Function10311: ; 10311 jr z, .NoPokemon call DoItemEffect xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function10955 call WaitBGMap_DrawPackGFX call Function10a40 @@ -634,7 +634,7 @@ Function103fd: ; 103fd pop af ld [Options], a xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function10955 call WaitBGMap_DrawPackGFX call Function10a40 @@ -702,7 +702,7 @@ Jumptable_104c3: ; 104c3 (4:44c3) Function104d9: ; 104d9 (4:44d9) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function10955 ld a, [wcf64] ld [wJumptableIndex], a @@ -771,7 +771,7 @@ Function10566: ; 10566 (4:4566) call ClearPocketList call DrawPocketName xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call WaitBGMap_DrawPackGFX ld hl, UnknownText_0x10b0c call Function10889 @@ -915,7 +915,7 @@ Function105dc: ; 105dc (4:45dc) and a jr nz, .asm_1067e xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function10955 call WaitBGMap_DrawPackGFX call Function10a40 diff --git a/engine/phone.asm b/engine/phone.asm index 0ba5cf6e1..32481deaa 100644 --- a/engine/phone.asm +++ b/engine/phone.asm @@ -182,7 +182,7 @@ ChooseRandomCaller: ; 900bf (24:40bf) ; Sample a random number between 0 and 31. ld c, a call Random - ld a, [hRandomAdd] ; $ff00+$e1 + ld a, [hRandomAdd] swap a and $1f ; Compute that number modulo the number of available callers. diff --git a/engine/pokedex.asm b/engine/pokedex.asm index 01ea1c7c2..9a9e01f8a 100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -209,7 +209,7 @@ Function40136: ; 40136 (10:4136) Function4013c: ; 4013c (10:413c) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call ClearSprites xor a hlcoord 0, 0, AttrMap @@ -226,7 +226,7 @@ Function4013c: ; 4013c (10:413c) call Function41af7 call Function4074c ld a, $5 - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld a, [wc7d4] cp $1 ld a, $4a @@ -234,9 +234,9 @@ Function4013c: ; 4013c (10:413c) ld a, $47 .asm_4017b - ld [hWX], a ; $ff00+$d1 + ld [hWX], a xor a - ld [hWY], a ; $ff00+$d2 + ld [hWY], a call WaitBGMap call Function41af7 ld a, $ff @@ -272,7 +272,7 @@ Function401ae: ; 401ae (10:41ae) ret nc call Function41148 xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function40b0f call Function41ad7 call Function41af7 @@ -293,9 +293,9 @@ Function401ae: ; 401ae (10:41ae) ld a, $7 ld [wJumptableIndex], a xor a - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld a, $a7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a call DelayFrame ret @@ -304,9 +304,9 @@ Function401ae: ; 401ae (10:41ae) ld a, $5 ld [wJumptableIndex], a xor a - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld a, $a7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a call DelayFrame ret @@ -320,7 +320,7 @@ Function40217: ; 40217 (10:4217) xor a ld [wPokedexStatus], a xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call ClearSprites call Function41478 call Function407fd @@ -331,7 +331,7 @@ Function40217: ; 40217 (10:4217) call Function40ba0 call WaitBGMap ld a, $a7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a call Function40bb1 ld [CurPartySpecies], a ld a, $4 @@ -392,7 +392,7 @@ Function402aa: ; 402aa (10:42aa) xor a ld [wPokedexStatus], a xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function407fd call Function4134f call Function41478 @@ -509,7 +509,7 @@ Function4038d: ; 4038d Function4039d: ; 4039d (10:439d) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call ClearSprites call Function4087c call Function4134f @@ -615,7 +615,7 @@ Function4043a: ; 4043a (10:443a) Function40443: ; 40443 (10:4443) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call ClearSprites call Function408f0 call Function4134f @@ -723,7 +723,7 @@ Function40501: ; 40501 Function4050a: ; 4050a (10:450a) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a xor a hlcoord 0, 0, AttrMap ld bc, $168 @@ -739,11 +739,11 @@ Function4050a: ; 4050a (10:450a) call Function41af7 call Function40962 ld a, $5 - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld a, $4a - ld [hWX], a ; $ff00+$d1 + ld [hWX], a xor a - ld [hWY], a ; $ff00+$d2 + ld [hWY], a call WaitBGMap call Function41af7 callba Function1de1d1 @@ -768,7 +768,7 @@ Function40562: ; 40562 (10:4562) ret nc call Function41281 xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call Function40b0f call Function41ad7 call Function41af7 @@ -797,9 +797,9 @@ Function40562: ; 40562 (10:4562) ld a, $5 ld [wJumptableIndex], a xor a - ld [hSCX], a ; $ff00+$cf + ld [hSCX], a ld a, $a7 - ld [hWX], a ; $ff00+$d1 + ld [hWX], a ret Function405bd: ; 405bd (10:45bd) @@ -876,14 +876,14 @@ Function40610: ; 40610 (10:4610) .asm_40635 push af xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a pop af call Function40654 call Function41a58 call Function40658 callba Functionfba2e ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a call DelayFrame call DelayFrame ret @@ -1773,7 +1773,7 @@ String_40ee4: ; 40ee4 Function40f08: ; 40f08 (10:4f08) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a hlcoord 0, 12 ld bc, $412 call Function40ad5 @@ -1781,7 +1781,7 @@ Function40f08: ; 40f08 (10:4f08) hlcoord 1, 14 call PlaceString ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld c, $40 call DelayFrames ld de, SFX_CHANGE_DEX_MODE @@ -1861,7 +1861,7 @@ Function40f84: ; 40f84 Function40fa8: ; 40fa8 (10:4fa8) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a hlcoord 9, 3 ld bc, $408 ld a, $7f @@ -1873,7 +1873,7 @@ Function40fa8: ; 40fa8 (10:4fa8) hlcoord 9, 6 call Function40fcd ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret Function40fcd: ; 40fcd (10:4fcd) @@ -2363,16 +2363,16 @@ Function413fe: ; 413fe (10:53fe) jp FillBoxWithByte Function41401: ; 41401 (10:5401) - ld a, [rSVBK] ; $ff00+$70 + ld a, [rSVBK] push af ld a, $5 - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a ld hl, Unkn1Pals ld bc, $40 xor a call ByteFill pop af - ld [rSVBK], a ; $ff00+$70 + ld [rSVBK], a Function41415: ; 41415 ld a, $ff diff --git a/engine/radio.asm b/engine/radio.asm index eff95c081..2ee550197 100644 --- a/engine/radio.asm +++ b/engine/radio.asm @@ -1679,15 +1679,15 @@ BuenasPassword1: ; b8f12 (2e:4f12) .PlayPassword: ; b8f22 (2e:4f22) call StartRadioStation - ld a, [hBGMapMode] ; $ff00+$d4 + ld a, [hBGMapMode] push af xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld de, String_b9171 hlcoord 2, 9 call PlaceString pop af - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld hl, UnknownText_0xb9182 ld a, BUENAS_PASSWORD_2 jp NextRadioLine @@ -1951,12 +1951,12 @@ BuenasPassword19: ; b9122 (2e:5122) jp NextRadioLine BuenasPassword20: ; b912a (2e:512a) - ld a, [hBGMapMode] ; $ff00+$d4 + ld a, [hBGMapMode] push af callba NoRadioMusic callba NoRadioName pop af - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ld hl, WeeklyFlags res 7, [hl] ld a, BUENAS_PASSWORD @@ -1980,7 +1980,7 @@ BuenasPassword21: ; b9152 (2e:5152) BuenasPasswordCheckTime: ; b9169 (2e:5169) call UpdateTime - ld a, [hHours] ; $ff00+$94 + ld a, [hHours] cp 18 ; 6 PM ret ; b9171 (2e:5171) diff --git a/engine/radio2.asm b/engine/radio2.asm index 039631130..1d07c904c 100644 --- a/engine/radio2.asm +++ b/engine/radio2.asm @@ -371,7 +371,7 @@ NoRadioStation: ; 91888 (24:5888) ld [wc6da], a ld [wc6db], a ld a, $1 - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a ret NoRadioMusic: ; 9189d (24:589d) @@ -383,7 +383,7 @@ NoRadioMusic: ; 9189d (24:589d) NoRadioName: ; 918a9 (24:58a9) xor a - ld [hBGMapMode], a ; $ff00+$d4 + ld [hBGMapMode], a hlcoord 1, 8 lb bc, 3, 18 call ClearBox |