diff options
Diffstat (limited to 'main.asm')
-rw-r--r-- | main.asm | 2210 |
1 files changed, 870 insertions, 1340 deletions
@@ -4,1566 +4,1096 @@ INCLUDE "constants.asm" SECTION "bank1", ROMX INCLUDE "engine/link/place_waiting_text.asm" - -DummyPredef1: - ret - -WriteOAMDMACodeToHRAM:: ; 4032 (1:4032) - ld c, hTransferVirtualOAM - $ff00 - ld b, PushOAMEnd - PushOAM - ld hl, PushOAM -.asm_4039 - ld a, [hli] - ld [$ff00+c], a - inc c - dec b - jr nz, .asm_4039 - ret - -PushOAM: - ld a, wVirtualOAM / $100 - ldh [rDMA], a - ld a, $28 -.asm_4046 - dec a - jr nz, .asm_4046 - ret - -PushOAMEnd - +INCLUDE "engine/gfx/load_push_oam.asm" INCLUDE "engine/overworld/map_objects.asm" -INCLUDE "engine/main_menu.asm" -INCLUDE "engine/title.asm" - -ReanchorBGMap_NoOAMUpdate:: ; 6551 (1:6551) - call DelayFrame - ldh a, [hOAMUpdate] - push af - ld a, $1 - ldh [hOAMUpdate], a - ldh a, [hBGMapMode] - push af - xor a - ldh [hBGMapMode], a - call Function656b - pop af - ldh [hBGMapMode], a - pop af - ldh [hOAMUpdate], a - ret - -Function656b: ; 656b (1:656b) - xor a - ldh [hLCDCPointer], a - ldh [hBGMapMode], a - ld hl, wd565 - set 7, [hl] - res 2, [hl] - ld a, $90 - ldh [hWY], a - call OverworldTextModeSwitch - ld a, $9c - call .LoadBGMapAddrIntoHRAM - call _OpenAndCloseMenu_HDMATransferTilemapAndAttrmap - xor a - ldh [hBGMapMode], a - ldh [hWY], a - ld a, $98 - call .LoadBGMapAddrIntoHRAM - call .WaitTransfer - xor a - ld [wd05b], a - ld a, $98 - ld [wd05c], a - xor a - ldh [hSCX], a - ldh [hSCY], a - call ApplyBGMapAnchorToObjects - ret - -.LoadBGMapAddrIntoHRAM: ; 65a5 (1:65a5) - ldh [hBGMapAddress + 1], a - xor a - ldh [hBGMapAddress], a - ret - -.WaitTransfer: ; 65ab (1:65ab) - ldh a, [hBGMapMode] - push af - xor a - ldh [hBGMapMode], a - ldh a, [hOAMUpdate] - push af - ld a, $1 - ldh [hOAMUpdate], a - ld a, $3 - ldh [hVBlankCounter + 1], a -.asm_65bc - call DelayFrame - ldh a, [hVBlankCounter + 1] - and a - jr nz, .asm_65bc - pop af - ldh [hOAMUpdate], a - pop af - ldh [hBGMapMode], a - ret - -LoadFonts_NoOAMUpdate:: ; 65cb (1:65cb) - ldh a, [hOAMUpdate] - push af - ld a, $1 - ldh [hOAMUpdate], a - call .LoadGFX - pop af - ldh [hOAMUpdate], a - ret - -.LoadGFX: ; 65d9 (1:65d9) - call LoadFontsExtra - ld a, $90 - ldh [hWY], a - call SafeUpdateSprites - call Functiond9e - ret - -INCLUDE "engine/learn.asm" - -CorrectNickErrors:: ; 677e (1:677e) - push bc - push de - ld b, MON_NAME_LENGTH -.checkchar - ld a, [de] - cp "@" - jr z, .done - ld hl, .textcommands - dec hl -.loop - inc hl - ld a, [hl] - cp $ff - jr z, .next - ld a, [de] - cp [hl] - inc hl - jr c, .loop - cp [hl] - jr nc, .loop - ld a, "?" - ld [de], a - jr .loop - -.next - inc de - dec b - jr nz, .checkchar - pop de - push de - ld a, "?" - ld [de], a - inc de - ld a, "@" - ld [de], a -.done - pop de - pop bc - ret - -.textcommands -; table defining which characters are actually text commands -; format: - ; ≥ < - db "<START>", $04 + 1 - db "<PLAY_G>", $18 + 1 - db $1d, "%" + 1 - db $35, "<GREEN>" + 1 - db "<ENEMY>", "<ENEMY>" + 1 - db $49, "<TM>" + 1 - db "<ROCKET>", "┘" + 1 - db -1 ; end - -INCLUDE "engine/math.asm" -ItemAttributes: -INCLUDE "items/item_attributes.asm" +INCLUDE "engine/menus/main_menu.asm" +INCLUDE "engine/menus/intro_menu.asm" +INCLUDE "engine/overworld/init_map.asm" +INCLUDE "engine/pokemon/learn.asm" +INCLUDE "engine/pokemon/correct_nick_errors.asm" +INCLUDE "engine/math/math.asm" +INCLUDE "data/items/attributes.asm" INCLUDE "engine/overworld/npc_movement.asm" INCLUDE "engine/events/happiness_egg.asm" INCLUDE "engine/events/shuckle.asm" INCLUDE "engine/events/haircut.asm" -SECTION "bank2", ROMX, BANK[$2] -_SwapTextboxPalettes:: - ld hl, wTilemap - ld de, wAttrmap - ld b, $12 -.asm_8008 - ld c, $14 -.asm_800a - ld a, [hli] - push hl - srl a - jr c, .asm_8024 - ld hl, wTilesetPalettes - add [hl] - ld l, a - ld a, [wTilesetPalettes + 1] - adc $0 - ld h, a - ld a, [hl] - and $f - bit 3, a - jr z, .asm_8045 - jr .asm_8038 - -.asm_8024 - ld hl, wTilesetPalettes - add [hl] - ld l, a - ld a, [wTilesetPalettes + 1] - adc $0 - ld h, a - ld a, [hl] - swap a - and $f - bit 3, a - jr z, .asm_8045 -.asm_8038 - ld a, [wMapGroup] - dec a - ld hl, Unknown85d7 - add l - ld l, a - jr nc, .asm_8044 - inc h -.asm_8044 - ld a, [hl] -.asm_8045 - pop hl - ld [de], a - inc de - dec c - jr nz, .asm_800a - dec b - jr nz, .asm_8008 - ret - -_ScrollBGMapPalettes:: ; 804f (2:404f) - ld hl, wBGMapBuffer - ld de, wBGMapPalBuffer -.asm_8055 - ld a, [hli] - push hl - srl a - jr c, .asm_806f - ld hl, wTilesetPalettes - add [hl] - ld l, a - ld a, [wTilesetPalettes + 1] - adc $0 - ld h, a - ld a, [hl] - and $f - bit 3, a - jr z, .asm_8090 - jr .asm_8083 - -.asm_806f - ld hl, wTilesetPalettes - add [hl] - ld l, a - ld a, [wTilesetPalettes + 1] - adc $0 - ld h, a - ld a, [hl] - swap a - and $f - bit 3, a - jr z, .asm_8090 -.asm_8083 - ld a, [wMapGroup] - dec a - ld hl, Unknown85d7 - add l - ld l, a - jr nc, .asm_808f - inc h -.asm_808f - ld a, [hl] -.asm_8090 - pop hl - ld [de], a - inc de - dec c - jr nz, .asm_8055 - ret - -INCLUDE "gfx/tilesets/palette_maps.asm" -Unknown85d7: - rept 26 ; NUM_MAP_GROUPS - db PAL_BG_ROOF - endr +SECTION "bank2", ROMX +INCLUDE "engine/tilesets/map_palettes.asm" +INCLUDE "gfx/tileset_palette_maps.asm" INCLUDE "engine/overworld/player_object.asm" -INCLUDE "engine/sine.asm" +INCLUDE "engine/math/sine.asm" INCLUDE "engine/predef.asm" -INCLUDE "engine/color.asm" - -SECTION "bank3", ROMX, BANK[$3] -CheckTime:: - ld a, [wTimeOfDay] - ld hl, TimeOfDayTable - ld de, $2 - call IsInArray - inc hl - ld c, [hl] - ret c - xor a - ld c, a - ret +INCLUDE "engine/gfx/color.asm" -TimeOfDayTable: - db MORN_F, MORN - db DAY_F, DAY - db NITE_F, NITE - db NITE_F, NITE - db -1 -INCLUDE "engine/engine_flags.asm" -INCLUDE "engine/variables.asm" -INCLUDE "engine/specials.asm" +SECTION "bank3", ROMX -Functionc660: - nop -SmallFarFlagAction: - push hl - push bc - push bc - srl c - srl c - srl c - ld b, $0 - add hl, bc - pop bc - ld a, c - and $7 - ld c, a - ld a, $1 - jr z, .asm_c67a -.asm_c676 - add a - dec c - jr nz, .asm_c676 -.asm_c67a - ld c, a - dec b - jr z, .asm_c687 - dec b - jr z, .asm_c68c - ld a, c - cpl - and [hl] - ld [hl], a - jr .asm_c699 - -.asm_c687 - ld a, [hl] - or c - ld [hl], a - jr .asm_c699 - -.asm_c68c - ld a, d - cp $0 - jr nz, .asm_c695 - ld a, [hl] - and c - jr .asm_c699 - -.asm_c695 - call GetFarByte - and c -.asm_c699 - pop bc - pop hl - ld c, a - ret - -INCLUDE "engine/health.asm" +INCLUDE "engine/events/checktime.asm" +INCLUDE "engine/events/engine_flags.asm" +INCLUDE "engine/overworld/variables.asm" +INCLUDE "engine/events/specials.asm" +INCLUDE "engine/smallflag.asm" +INCLUDE "engine/pokemon/health.asm" INCLUDE "engine/events/overworld.asm" -INCLUDE "engine/items.asm" +INCLUDE "engine/items/items.asm" INCLUDE "engine/overworld/player_step.asm" -INCLUDE "engine/anim_hp_bar.asm" -INCLUDE "engine/move_mon.asm" -INCLUDE "engine/billspctop.asm" - -GetBreedMon1LevelGrowth: - ld hl, wBreedMon1Species - ld de, wTempMonSpecies - ld bc, $20 - call CopyBytes - callfar CalcLevel - ld a, [wBreedMon1Level] - ld b, a - ld a, d - ld e, a - sub b - ld d, a - ret +INCLUDE "engine/battle/anim_hp_bar.asm" +INCLUDE "engine/pokemon/move_mon.asm" +INCLUDE "engine/pokemon/bills_pc_top.asm" +INCLUDE "engine/pokemon/breedmon_level_growth.asm" +INCLUDE "engine/pokemon/search2.asm" +INCLUDE "engine/events/bug_contest/caught_mon.asm" +INCLUDE "engine/items/item_effects.asm" +INCLUDE "engine/battle_anims/pokeball_wobble.asm" +INCLUDE "engine/pokemon/knows_move.asm" -GetBreedMon2LevelGrowth: - ld hl, wBreedMon2Species - ld de, wTempMon - ld bc, $20 - call CopyBytes - callfar CalcLevel - ld a, [wBreedMon2Level] - ld b, a - ld a, d - ld e, a - sub b - ld d, a - ret -PartySearch_MaximumLevel: ; e6a9 (3:66a9) - ld hl, wPartyMon1Level - call PartySearch_LessThanValue - ret +SECTION "bank4", ROMX -PartySearch_MinimumHappiness: ; e6b0 (3:66b0) - ld hl, wPartyMon1Happiness - call PartySearch_GreaterThanOrEqualToValue - ret +INCLUDE "engine/overworld/player_movement.asm" +INCLUDE "engine/items/pack.asm" +INCLUDE "engine/overworld/time.asm" +INCLUDE "engine/items/tmhm2.asm" +INCLUDE "engine/menus/naming_screen.asm" +INCLUDE "engine/events/misc_scripts.asm" +INCLUDE "engine/events/heal_machine_anim.asm" +INCLUDE "engine/events/whiteout.asm" +INCLUDE "engine/events/forced_movement.asm" +INCLUDE "engine/events/itemfinder.asm" +INCLUDE "engine/menus/start_menu.asm" +INCLUDE "engine/pokemon/mon_menu.asm" +INCLUDE "engine/overworld/select_menu.asm" +INCLUDE "engine/events/elevator.asm" +INCLUDE "engine/events/bug_contest/contest.asm" +INCLUDE "engine/events/repel.asm" +INCLUDE "engine/events/hidden_item.asm" +INCLUDE "engine/events/std_collision.asm" +INCLUDE "engine/events/bug_contest/judging.asm" +INCLUDE "engine/events/pokerus/apply_pokerus_tick.asm" +INCLUDE "engine/events/bug_contest/contest_2.asm" + + +SECTION "bank5", ROMX + +INCLUDE "engine/rtc/rtc.asm" +INCLUDE "engine/overworld/overworld.asm" +INCLUDE "engine/overworld/tile_events.asm" +INCLUDE "engine/menus/empty_sram.asm" +INCLUDE "engine/menus/save.asm" +INCLUDE "data/maps/spawn_points.asm" +INCLUDE "engine/overworld/load_map_part.asm" +INCLUDE "engine/overworld/spawn_points.asm" +INCLUDE "engine/overworld/map_setup.asm" +INCLUDE "data/tilesets.asm" +INCLUDE "engine/events/pokecenter_pc.asm" +INCLUDE "engine/items/mart.asm" +INCLUDE "engine/events/money.asm" +INCLUDE "data/items/marts.asm" +INCLUDE "engine/events/mom.asm" +INCLUDE "engine/events/daycare.asm" +INCLUDE "engine/events/print_unown.asm" +INCLUDE "engine/events/print_photo.asm" +INCLUDE "unknown/bank05_704d.asm" +INCLUDE "engine/pokemon/breeding.asm" + + +SECTION "bank6", ROMX + +TilesetKantoMeta:: + dr $18000, $18800 +TilesetKantoColl:: + dr $18800, $18a00 +Tileset0GFX:: +TilesetJohtoGFX:: + dr $18a00, $19006 + +Tileset0Meta:: +TilesetJohtoMeta:: + dr $19006, $19806 +Tileset0Coll:: +TilesetJohtoColl:: + dr $19806, $19a06 +TilesetJohtoModernGFX:: + dr $19a06, $1a00c + +TilesetJohtoModernMeta:: + dr $1a00c, $1a80c +TilesetJohtoModernColl:: + dr $1a80c, $1b40c + +TilesetTraditionalHouseGFX:: + dr $1b40c, $1b8bc +TilesetTraditionalHouseMeta:: + dr $1b8bc, $1bcbc +TilesetTraditionalHouseColl:: + dr $1bcbc, $1bdbc + + +SECTION "bank7", ROMX -PartySearch_SameSpecies: ; e6b7 (3:66b7) - ld hl, wPartyMons - jp PartySearch_GetIndexOfSpeciesInParty - -PartySearch_SameSpeciesAndYourID: ; e6bd (3:66bd) - ld hl, wPartyMon1 - call PartySearch_GetIndexOfSpeciesInParty - ret z - ld a, c - ld hl, wPartyMon1ID - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - ld a, [wPlayerID] - cp [hl] - jr nz, .nope - inc hl - ld a, [wPlayerID + 1] - cp [hl] - jr nz, .nope - ld a, $1 - and a - ret +LoadMapGroupRoof:: + dr $1c000, $1c30c +TilesetGateGFX:: + dr $1c30c, $1c70c +TilesetGateMeta:: + dr $1c70c, $1cb0c +TilesetGateColl:: + dr $1cb0c, $1cc0c +TilesetPokecenterGFX:: + dr $1cc0c, $1d03c + +TilesetPokecenterMeta:: + dr $1d03c, $1d43c +TilesetPokecenterColl:: + dr $1d43c, $1d53c +TilesetPortGFX:: + dr $1d53c, $1d94c +TilesetPortMeta:: + dr $1d94c, $1dd4c +TilesetPortColl:: + dr $1dd4c, $1de4c +TilesetPlayersHouseGFX:: + dr $1de4c, $1e22c + +TilesetPlayersHouseMeta:: + dr $1e22c, $1e62c +TilesetPlayersHouseColl:: + dr $1e62c, $1e72c +TilesetMansionGFX:: + dr $1e72c, $1eabc +TilesetMansionMeta:: + dr $1eabc, $1eebc +TilesetMansionColl:: + dr $1eebc, $1efbc +TilesetCaveGFX:: + dr $1efbc, $1f34c + +TilesetCaveMeta:: +TilesetDarkCaveMeta:: + dr $1f34c, $1f74c +TilesetCaveColl:: +TilesetDarkCaveColl:: + dr $1f74c, $1f84c + + +SECTION "bank8", ROMX + +RestartClock_GetWraparoundTime:: + dr $20000, $20021 +RestartClock:: + dr $20021, $20181 +TilesetTowerGFX:: + dr $20181, $205b1 +TilesetTowerMeta:: + dr $205b1, $209b1 +TilesetTowerColl:: + dr $209b1, $20ab1 +TilesetLabGFX:: + dr $20ab1, $20e81 +TilesetLabMeta:: + dr $20e81, $21281 + +TilesetLabColl:: + dr $21281, $21381 +TilesetFacilityGFX:: + dr $21381, $217a1 +TilesetFacilityMeta:: + dr $217a1, $21ba1 +TilesetFacilityColl:: + dr $21ba1, $21ca1 +TilesetMartGFX:: + dr $21ca1, $22051 + +TilesetMartMeta:: + dr $22051, $22451 +TilesetMartColl:: + dr $22451, $22551 +TilesetGameCornerGFX:: + dr $22551, $22951 +TilesetGameCornerMeta:: + dr $22951, $22d51 +TilesetGameCornerColl:: + dr $22d51, $22e51 +TilesetTrainStationGFX:: + dr $22e51, $231f1 + +TilesetTrainStationMeta:: + dr $231f1, $235f1 +TilesetTrainStationColl:: + dr $235f1, $236f1 +TilesetForestMeta:: + dr $236f1, $23971 +CatchTutorial:: + dr $23971, $239fe + + +SECTION "bank9", ROMX + +INCLUDE "data/text_buffers.asm" +INCLUDE "engine/menus/menu.asm" +INCLUDE "engine/items/update_item_description.asm" +INCLUDE "engine/events/pokepic.asm" +INCLUDE "engine/overworld/map_objects_2.asm" +INCLUDE "engine/menus/scrolling_menu.asm" +INCLUDE "engine/items/switch_items.asm" +INCLUDE "engine/menus/menu_2.asm" +INCLUDE "engine/pokemon/mon_submenu.asm" +INCLUDE "engine/battle/menu.asm" +INCLUDE "engine/items/buy_sell_toss.asm" +INCLUDE "engine/menus/trainer_card.asm" +INCLUDE "engine/events/prof_oaks_pc.asm" +INCLUDE "engine/overworld/decorations.asm" +INCLUDE "engine/battle/read_trainer_dvs.asm" +INCLUDE "engine/battle/returntobattle_useball.asm" +INCLUDE "engine/battle/consume_held_item.asm" +INCLUDE "data/moves/effects.asm" -.nope - xor a - ret -PartySearch_GreaterThanOrEqualToValue: ; e6e1 (3:66e1) - ld c, $0 - ld a, [wPartyCount] - ld d, a -.loop - ld a, d - dec a - push hl - push bc - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - pop bc - ld a, b - cp [hl] - pop hl - jr z, .shift - jr nc, .skip -.shift - ld a, c - or $1 - ld c, a -.skip - sla c - dec d - jr nz, .loop - call PartySearch_FilterEggs - ld a, c - and a - ret +SECTION "bankA", ROMX -PartySearch_LessThanValue: ; e708 (3:6708) - ld c, $0 - ld a, [wPokemonData] - ld d, a -.loop - ld a, d - dec a - push hl - push bc - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - pop bc - ld a, b - cp [hl] - pop hl - jr c, .skip - ld a, c - or $1 - ld c, a -.skip - sla c - dec d - jr nz, .loop - call PartySearch_FilterEggs - ld a, c - and a - ret +INCLUDE "engine/link/link.asm" +INCLUDE "engine/link/mystery_gift.asm" +INCLUDE "engine/overworld/wildmons.asm" -PartySearch_GetIndexOfSpeciesInParty: ; e72d (3:672d) - ld c, -1 - ld hl, wPartySpecies -.loop - ld a, [hli] - cp $ff - ret z - inc c - cp b - jr nz, .loop - ld a, $1 - and a - ret -PartySearch_FilterEggs: ; e73e (3:673e) - ld e, $FF ^ 1 - ld hl, wPartySpecies -.loop - ld a, [hli] - cp $ff - ret z - cp EGG - jr nz, .not_egg - ld a, c - and e - ld c, a -.not_egg - rlc e - jr .loop - -BugContest_SetCaughtContestMon: - ld a, [wContestMonSpecies] - and a - jr z, .asm_e76e - ld [wd151], a - farcall DisplayAlreadyCaughtText - farcall DisplayCaughtContestMonStats - lb bc, 14, 7 - call PlaceYesNoBox - ret c -.asm_e76e - call GenerateBugContestMonStats - ld a, [wTempEnemyMonSpecies] - ld [wd151], a - call GetPokemonName - ld hl, Text_CaughtBugMon - call PrintText - ret +SECTION "bankB", ROMX -GenerateBugContestMonStats: ; e781 (3:6781) - ld a, [wTempEnemyMonSpecies] - ld [wCurSpecies], a - ld [wCurPartySpecies], a - call GetBaseData - xor a - ld bc, PARTYMON_STRUCT_LENGTH - ld hl, wContestMon - call ByteFill - xor a - ld [wMonType], a - ld hl, wContestMon - jp GeneratePartyMonStats - -Text_CaughtBugMon: - ; Caught @ ! - text_far Text_CaughtBugMon_ - db "@" - -INCLUDE "items/item_effects.asm" - -KnowsMove: - ld a, MON_MOVES - call GetPartyParamLocation - ld a, [wd14d] - ld b, a - ld c, $4 -.asm_fa28 - ld a, [hli] - cp b - jr z, .asm_fa31 - dec c - jr nz, .asm_fa28 - and a - ret +INCLUDE "engine/items/print_item_description.asm" +INCLUDE "engine/battle/trainer_huds.asm" +INCLUDE "engine/battle/ai/redundant.asm" +INCLUDE "engine/events/move_deleter.asm" +INCLUDE "engine/link/mystery_gift_2.asm" +INCLUDE "engine/items/tmhm.asm" +INCLUDE "engine/pokemon/print_move_description.asm" +INCLUDE "engine/events/pokerus/pokerus.asm" -.asm_fa31 - ld hl, Text_KnowsMove - call PrintText - scf - ret -Text_KnowsMove: - text_far Text_KnowsMove_ - db "@" +SECTION "bankC", ROMX -SECTION "bank4", ROMX, BANK[$4] +TilesetEliteFourRoomGFX:: + dr $30000, $304e0 +TilesetEliteFourRoomMeta:: + dr $304e0, $308e0 +TilesetEliteFourRoomColl:: + dr $308e0, $309e0 +TilesetParkGFX:: + dr $309e0, $30e40 +TilesetParkMeta:: + dr $30e40, $31240 -INCLUDE "engine/overworld/player_movement.asm" -INCLUDE "engine/pack.asm" -INCLUDE "engine/overworld/time.asm" -INCLUDE "engine/learn_tm.asm" -INCLUDE "engine/namingscreen.asm" -INCLUDE "engine/events/misc_scripts.asm" -INCLUDE "engine/events/heal_machine_anim.asm" -INCLUDE "engine/events/whiteout.asm" -INCLUDE "engine/events/forced_movement.asm" -ItemfinderFunction: - dr $12947, $12e33 +TilesetParkColl:: + dr $31240, $31340 +TilesetRuinsOfAlphGFX:: + dr $31340, $31670 +TilesetRuinsOfAlphMeta:: + dr $31670, $31a70 +TilesetRuinsOfAlphColl:: + dr $31a70, $31b70 +TilesetRadioTowerGFX:: + dr $31b70, $31fc0 +TilesetRadioTowerMeta:: + dr $31fc0, $323c0 -PartyMonItemName:: - dr $12e33, $12fa0 -Function12fa0: - dr $12fa0, $1399d -INCLUDE "engine/events/bug_contest/contest.asm" -INCLUDE "engine/events/misc_scripts_2.asm" -INCLUDE "engine/events/std_collision.asm" -Function13a5f: - dr $13a5f, $13d44 -ApplyPokerusTick: - dr $13d44, $13d64 -SelectRandomBugContestContestants: - dr $13d64, $13dce -ContestDropOffMons: - dr $13dce, $13ded -ContestReturnMons: - dr $13ded, $13e03 - -SECTION "bank5", ROMX, BANK[$5] - dr $14000, $14032 -Function14032:: ; 14032 - dr $14032, $14089 -StartClock:: ; 14089 - dr $14089, $140dc -ClockContinue: ; 140dc - dr $140dc, $140ff -Function140ff:: ; 140ff - dr $140ff, $1413c -Function1413c:: ; 1413c - dr $1413c, $1414b -RefreshSprites:: ; 1414b - dr $1414b, $1415c -Function1415c:: ; 1415c - dr $1415c, $1416d -Function1416d:: ; 1416d - dr $1416d, $14226 -LoadUsedSpritesGFX: - dr $14226, $14317 -_DoesSpriteHaveFacings:: ; 14317 - dr $14317, $14334 -_GetSpritePalette:: ; 14334 - dr $14334, $14a18 -Function14a18:: ; 14a18 - dr $14a18, $14a2d -Function14a2d:: ; 14a2d - dr $14a2d, $14a44 -Function14a44: ; 14a44 - dr $14a44, $14a73 -CheckCutCollision: - dr $14a73, $14bd2 -StartMovePkmnWOMail_SaveGame: - dr $14bd2, $14ef5 -TryLoadSaveFile: ; 14ef5 - dr $14ef5, $15484 -RunMapSetupScript:: - dr $15484, $1560c -DelayLoadingNewSprites: - dr $1560c, $15612 -Function15612:: ; 15612 - dr $15612, $15871 -PokemonCenterPC: - dr $15871, $159b0 -Function159b0: - dr $159b0, $1624f -TakeMoney: - dr $1624f, $16260 -CompareMoney: - dr $16260, $1646d -BankOfMom: - dr $1646d, $16935 +TilesetRadioTowerColl:: + dr $323c0, $324c0 +TilesetUndergroundGFX:: + dr $324c0, $32890 +TilesetUndergroundMeta:: + dr $32890, $32c90 +TilesetUndergroundColl:: + dr $32c90, $32d90 +TilesetIcePathGFX:: + dr $32d90, $331d0 -INCLUDE "engine/events/daycare.asm" -Function16e3a: - dr $16e3a, $16ff7 -PhotoStudio: - dr $16ff7, $171d1 -CheckBreedmonCompatibility: - dr $171d1, $17467 -InitEggMoves: - dr $17467, $177a5 -DayCareMon1: - dr $177a5, $177c4 -DayCareMon2: - dr $177c4, $1783e - -SECTION "bank6", ROMX, BANK[$6] - dr $18000, $1bdbc - -SECTION "bank7", ROMX, BANK[$7] -LoadMapGroupRoof:: - dr $1c000, $1f84c - -SECTION "bank8", ROMX, BANK[$8] - dr $20000, $23e3d - -SECTION "bank9", ROMX, BANK[$9] -StringBufferPointers:: - dr $24000, $2400e -_2DMenu_:: - dr $2400e, $24136 -_StaticMenuJoypad:: - dr $24136, $24139 -_ScrollingMenuJoypad:: - dr $24139, $242a0 -_PushWindow:: - dr $242a0, $24307 -_ExitMenu:: - dr $24307, $24395 -_InitVerticalMenuCursor:: - dr $24395, $243eb -UpdateItemDescription: - dr $243eb, $244d7 -_InitScrollingMenu:: - dr $244d7, $244f3 -_ScrollingMenu:: - dr $244f3, $24834 -SwitchItemsInBag: - dr $24834, $249dc -PlaceMenuItemName: - dr $249dc, $249eb -PlaceMenuItemQuantity: - dr $249eb, $24a10 -PlaceMoneyTopRight: - dr $24a10, $24a4d -DisplayCoinCaseBalance: - dr $24a4d, $24a76 -DisplayMoneyAndCoinBalance: - dr $24a76, $24b8d -Function24b8d: - dr $24b8d, $24f20 -SelectQuantityToToss: - dr $24f20, $267ca -ProfOaksPCBoot: - dr $267ca, $2692d -InitDecorations: ; 2692d - dr $2692d, $270d5 -ReceiveDecorationC: - dr $270d5, $271be -ToggleMaptileDecorations: - dr $271be, $27216 -ToggleDecorationsVisibility: - dr $27216, $27271 +TilesetIcePathMeta:: + dr $331d0, $335d0 +TilesetIcePathColl:: + dr $335d0, $336d0 +TilesetDarkCaveGFX:: + dr $336d0, $33a10 +TilesetForestGFX:: + dr $33a10, $33d81 -INCLUDE "engine/battle/read_trainer_dvs.asm" -ReturnToBattle_UseBall_: - dr $27307, $27bd3 - -SECTION "banka", ROMX, BANK[$a] - dr $28000, $28d88 - -LinkTextboxAtHL:: - dr $28d88, $28dea - -TradeAnimation:: - dr $28dea, $28e22 - -TradeAnimationPlayer2:: - dr $28e22, $29a47 -CheckTimeCapsuleCompatibility: - dr $29a47, $29ac7 -EnterTimeCapsule: - dr $29ac7, $29ad9 -WaitForOtherPlayerToExit: - dr $29ad9, $29b22 -SetBitsForLinkTradeRequest: - dr $29b22, $29b2b -SetBitsForBattleRequest: - dr $29b2b, $29b34 -SetBitsForTimeCapsuleRequest: - dr $29b34, $29b4b -WaitForLinkedFriend: - dr $29b4b, $29bcc -CheckLinkTimeout: - dr $29bcc, $29c71 -TryQuickSave: - dr $29c71, $29c8d -CheckBothSelectedSameRoom: - dr $29c8d, $29cba -TimeCapsule: - dr $29cba, $29ccf -TradeCenter: - dr $29ccf, $29ce4 -Colosseum: - dr $29ce4, $29cf9 -CloseLink: - dr $29cf9, $29d01 -FailedLinkToPast: - dr $29d01, $29d4e -CableClubCheckWhichChris: - dr $29d4e, $29dff -Function29dff: - dr $29dff, $2a4bf -MysteryGift_CopyReceivedDecosToPC: - dr $2a4bf, $2a4e7 -UnlockMysteryGift: - dr $2a4e7, $2a4f6 -Function2a4f6: - dr $2a4f6, $2a7d7 -InitRoamMons: - dr $2a7d7, $2a8e0 -JumpRoamMons: - dr $2a8e0, $2a9f7 -RandomUnseenWildMon: - dr $2a9f7, $2aa6b -RandomPhoneWildMon: - dr $2aa6b, $2aab3 -RandomPhoneMon: - dr $2aab3, $2c000 - -SECTION "bankb", ROMX, BANK[$b] - dr $2c000, $2c352 -MoveDeletion: - dr $2c352, $2c57a - -Pack_TMHMPocketMenu_: - dr $2c57a, $2c5ca - -AskTeachTMHM: - dr $2c5ca, $2c606 - -ChooseMonToLearnTMHM: - dr $2c606, $2c672 - -TeachTMHM: - dr $2c672, $2c943 - -PrintMoveDesc:: - dr $2c943, $30000 - -SECTION "bankc", ROMX, BANK[$c] - dr $30000, $34000 - -SECTION "bankd", ROMX, BANK[$d] - dr $34000, $34923 - -CheckTypeMatchup:: - dr $34923, $36313 - -CheckIfStatCanBeRaised: - dr $36313, $364d7 - -BattleCommand_StatUpMessage: - dr $364d7, $3656b - -BattleCommand_StatUpFailText: - dr $3656b, $366f6 - -CalcPlayerStats: - dr $366f6, $37e9b - -GetItemHeldEffect: - dr $37e9b, $38000 - -SECTION "banke", ROMX, BANK[$e] - dr $38000, $398f2 - -Battle_GetTrainerName:: ; 398f2 - dr $398f2, $3993e - -INCLUDE "data/trainers/parties.asm" - -SECTION "bankf", ROMX, BANK[$f] - dr $3c000, $3c551 - -FleeMons:: - dr $3c551, $3d70a - -CheckPlayerPartyForFitMon:: - dr $3d70a, $3d8f5 - -Function3d8f5: - dr $3d8f5, $3d907 - -Function3d907: - dr $3d907, $3dda9 - -UpdatePlayerHUD:: - dr $3dda9, $3de97 - -UpdateEnemyHUD:: - dr $3de97, $3e74b +SECTION "Effect Commands", ROMX + +INCLUDE "engine/battle/effect_commands.asm" + + +SECTION "Enemy Trainers", ROMX + +INCLUDE "engine/battle/ai/items.asm" +INCLUDE "engine/battle/ai/scoring.asm" +INCLUDE "engine/battle/read_trainer_attributes.asm" +INCLUDE "engine/battle/read_trainer_party.asm" -LoadEnemyMon: - dr $3e74b, $3ec11 -_BattleRandom:: ; 3ec11 - dr $3ec11, $3f196 -FillInExpBar:: - dr $3f196, $3f243 +SECTION "Battle Core", ROMX -GetBattleMonBackpic:: - dr $3f243, $3f282 +INCLUDE "engine/battle/core.asm" +INCLUDE "data/battle/effect_command_pointers.asm" -GetEnemyMonFrontpic:: - dr $3f282, $3f2c7 -StartBattle:: - dr $3f2c7, $3f55d -Function3f55d: - dr $3f55d, $40000 +SECTION "bank10", ROMX + +Pokedex:: + dr $40000, $40c65 +INCLUDE "data/pokemon/dex_order_alpha.asm" +INCLUDE "data/pokemon/dex_order_new.asm" +Pokedex_DisplayModeDescription:: + dr $40e5b, $41afe -SECTION "bank10", ROMX, BANK[$10] - dr $40000, $41afe Moves:: dr $41afe, $421db -EvolvePokemon: +EvolvePokemon:: dr $421db, $421e9 - EvolveAfterBattle:: dr $421e9, $42483 - LearnLevelMoves:: dr $42483, $424dd - FillMoves:: dr $424dd, $4278d - -GetPreEvolution: +GetPreEvolution:: dr $4278d, $427bd -EvosAttacksPointers:: - dr $427bd, $44000 - -SECTION "bank11", ROMX, BANK[$11] - dr $44000, $44360 -PokedexDataPointerTable:: - dr $44360, $44648 +SECTION "bank11", ROMX +FruitTreeScript:: + dr $44000, $440c8 +INCLUDE "engine/battle/ai/move.asm" +INCLUDE "engine/pokedex/pokedex_2.asm" +PlayBattleMusic:: + dr $44556, $445f2 +ClearBattleRAM:: + dr $445f2, $44648 PlaceGraphic:: - dr $44648, $44870 -DeletePartyMonMail: + dr $44648, $44679 +SendMailToPC:: + dr $44679, $4475f +CheckPokeMail:: + dr $4475f, $447d7 +GivePokeMail:: + dr $447d7, $44830 +BackupPartyMonMail:: + dr $44830, $44850 +RestorePartyMonMail:: + dr $44850, $44870 +DeletePartyMonMail:: dr $44870, $4488c +IsAnyMonHoldingMail:: + dr $4488c, $448ab +_PlayerMailBoxMenu:: + dr $448ab, $44aa2 -IsAnyPokemonHoldingMail: - dr $4488c, $48000 - -SECTION "bank12", ROMX, BANK[$12] - dr $48000, $4c000 -SECTION "bank13", ROMX, BANK[$13] - dr $4c000, $50000 +SECTION "bank14", ROMX -SECTION "bank14", ROMX, BANK[$14] -SelectMonFromParty: +SelectMonFromParty:: dr $50000, $5001d - -SelectTradeOrDayCareMon: +SelectTradeOrDayCareMon:: dr $5001d, $5004f - -LoadPartyMenuGFX: +LoadPartyMenuGFX:: dr $5004f, $5005f - -WritePartyMenuTilemap: +WritePartyMenuTilemap:: dr $5005f, $50355 - -InitPartyMenuGFX: +InitPartyMenuGFX:: dr $50355, $5037a - -InitPartyMenuWithCancel: - dr $5037a, $503cc - -PartyMenuSelect: +InitPartyMenuWithCancel:: + dr $5037a, $503a2 +InitPartyMenuNoCancel:: + dr $503a2, $503cc +PartyMenuSelect:: dr $503cc, $5040f - -PrintPartyMenuText: +PrintPartyMenuText:: dr $5040f, $504db - -PrintPartyMenuActionText: +PrintPartyMenuActionText:: dr $504db, $5054f - -LoadFishingGFX: - dr $5054f, $50763 - -SquirtbottleFunction: +LoadFishingGFX:: + dr $5054f, $50610 +DoPoisonStep:: + dr $50610, $506f2 +SweetScentFromMenu:: + dr $506f2, $50763 +_Squirtbottle:: dr $50763, $507ac - -CardKeyFunction: +_CardKey:: dr $507ac, $507e7 - -BasementKeyFunction: +_BasementKey:: dr $507e7, $50819 - -SacredAshFunction: +_SacredAsh:: dr $50819, $5087d - CopyMonToTempMon:: dr $5087d, $50940 - PrintMonTypes:: dr $50940, $5096d - PrintMoveType:: dr $5096d, $50986 - PrintType:: dr $50986, $50997 - GetTypeName:: dr $50997, $50b3d - DrawPlayerHP:: dr $50b3d, $50b41 - DrawEnemyHP:: dr $50b41, $50bae - StatsScreenInit:: dr $50bae, $5128f PrintTempMonStats:: dr $5128f, $512f1 - GetGender:: dr $512f1, $51364 - ListMovePP:: dr $51364, $513e4 - Unused_PlaceEnemyHPLevel:: dr $513e4, $51437 - PlaceNonFaintStatus:: dr $51437, $51478 - ListMoves:: - dr $51478, $51524 - -CalcLevel: + dr $51478, $514c2 +InitList:: + dr $514c2, $51524 +CalcLevel:: dr $51524, $51550 - -CalcExpAtLevel: - dr $51550, $51749 - -GetUnownLetter:: - dr $51749, $51780 - -GetMonFrontpic:: - dr $51780, $51786 - -FrontpicPredef:: - dr $51786, $51803 - -GetMonBackpic:: - dr $51803, $518a0 - -GetTrainerPic:: - dr $518a0, $518fa - -DecompressGet2bpp:: - dr $518fa, $51b0b - +CalcExpAtLevel:: + dr $51550, $5161b +_SwitchPartyMons:: + dr $5161b, $51749 +INCLUDE "engine/gfx/load_pics.asm" +INCLUDE "engine/pokemon/move_mon_wo_mail.asm" INCLUDE "data/pokemon/base_stats.asm" -Unknown53a6b: +Unknown53a6b:: dr $53a6b, $53a83 +EggPic:: +INCBIN "gfx/pokemon/egg/front.2bpp.lz" -UnknownEggPic:: ; 53a83 - dr $53a83, $54000 - -SECTION "bank15", ROMX, BANK[$15] - dr $54000, $58000 - -SECTION "bank16", ROMX, BANK[$16] - dr $58000, $5c000 - -SECTION "bank17", ROMX, BANK[$17] - dr $5c000, $60000 - -SECTION "bank18", ROMX, BANK[$18] - dr $60000, $64000 - -SECTION "bank19", ROMX, BANK[$19] - dr $64000, $68000 -SECTION "bank1a", ROMX, BANK[$1a] - dr $68000, $6c000 +SECTION "bank21", ROMX -SECTION "bank1b", ROMX, BANK[$1b] - dr $6c000, $70000 - -SECTION "bank1c", ROMX, BANK[$1c] - dr $70000, $74000 - -SECTION "bank1d", ROMX, BANK[$1d] - dr $74000, $78000 - -SECTION "bank1e", ROMX, BANK[$1e] - dr $78000, $7c000 - -SECTION "bank1f", ROMX, BANK[$1f] - dr $7c000, $80000 - -SECTION "bank20", ROMX, BANK[$20] - dr $80000, $84000 - -SECTION "bank21", ROMX, BANK[$21] +Printer_StartTransmission:: dr $84000, $842db - -_PrinterReceive:: ; 842db - dr $842db, $84684 - -Function84684: - dr $84684, $88000 - -SECTION "bank22", ROMX, BANK[$22] - dr $88000, $8c000 - -SECTION "bank23", ROMX, BANK[$23] - dr $8c000, $8c17a - -ResetClock_: +_PrinterReceive:: + dr $842db, $84560 +PrintUnownStamp:: + dr $84560, $845d4 +PrintMailAndExit:: + dr $845d4, $84616 +PrintPartymon:: + dr $84616, $84684 +_PrintDiploma:: + dr $84684, $8640a + +HallOfFame:: + dr $8640a, $86446 +RedCredits:: + dr $86446, $86632 +_HallOfFamePC:: + dr $86632, $87bfd + + +SECTION "bank23", ROMX + +SaveMenu_CopyTilemapAtOnce:: + dr $8c000, $8c0b9 +PhoneRing_CopyTilemapAtOnce:: + dr $8c0b9, $8c17a +_ResetClock:: dr $8c17a, $8c310 - -DeleteSaveData_: +_DeleteSaveData:: dr $8c310, $8c355 - DummyPredef35:: DummyPredef36:: ret - -UpdateTimeOfDayPal:: ; 8c356 +UpdateTimeOfDayPal:: dr $8c356, $8c366 - -_TimeOfDayPals:: ; 8c366 +_TimeOfDayPals:: dr $8c366, $8c397 - -_UpdateTimePals:: ; 8c397 +_UpdateTimePals:: dr $8c397, $8c3a0 - -FadeInPalettes:: ; 8c3a0 +FadeInPalettes:: dr $8c3a0, $8c3ab - -FadeOutPalettes:: ; 8c3ab +FadeOutPalettes:: dr $8c3ab, $8c3b9 - -FadeInQuickly: +FadeInQuickly:: dr $8c3b9, $8c3c4 - -FadeBlackQuickly: +FadeBlackQuickly:: dr $8c3c4, $8c3e9 - -Function8c3e9:: ; 8c3e9 +ReplaceTimeOfDayPals:: dr $8c3e9, $8c513 - DoBattleTransition:: dr $8c513, $8ca5e - -PlayWhirlpoolSound: +PlayWhirlpoolSound:: dr $8ca5e, $8ca6b - -BlindingFlash: +BlindingFlash:: dr $8ca6b, $8ca8e - -ShakeHeadbuttTree: +ShakeHeadbuttTree:: dr $8ca8e, $8cbb8 - -OWCutAnimation: +OWCutAnimation:: dr $8cbb8, $8cd65 - -FlyFromAnimation: +FlyFromAnim:: dr $8cd65, $8cdab - -FlyToAnimation: +FlyToAnim:: dr $8cdab, $8ce7c - -MagnetTrain: +MagnetTrain:: dr $8ce7c, $8d174 -ClearAnimatedObjectBuffer: +ClearSpriteAnims:: dr $8d174, $8d183 - -AnimatedObjects_PlayFrameAndDelay: +PlaySpriteAnimationsAndDelayFrame:: dr $8d183, $8d18a - -AnimatedObjects_PlayFrame: - dr $8d18a, $8d1f7 - -_InitSpriteAnimStruct:: ; 8d1f7 +PlaySpriteAnimations:: + dr $8d18a, $8d1c9 +DoNextFrameForFirst16Sprites:: + dr $8d1c9, $8d1f7 +_InitSpriteAnimStruct:: dr $8d1f7, $8d332 -_ReinitSpriteAnimFrame:: ; 8d332 - -IF DEF(GOLD) - dr $8d332, $8e79f - +_ReinitSpriteAnimFrame:: +IF DEF(_GOLD) + dr $8d332, $8e6fd +AnimateEndOfExpBar:: + dr $8e6fd, $8e774 +ClearSpriteAnims2:: + dr $8e774, $8e78b +LoadOverworldMonIcon:: + dr $8e78b, $8e79f LoadMenuMonIcon:: - dr $8e79f, $90000 + dr $8e79f, $8e88f +GetSpeciesIcon:: + dr $8e88f, $8e8fb +FreezeMonIcons:: + dr $8e8fb, $8e922 +UnfreezeMonIcons:: + dr $8e922, $8e93d +HoldSwitchmonIcon:: + dr $8e93d, $8fe43 + +ELIF DEF(_SILVER) + dr $8d332, $8e6e3 +AnimateEndOfExpBar:: + dr $8e6e3, $8e75a +ClearSpriteAnims2:: + dr $8e75a, $8e771 +LoadOverworldMonIcon:: + dr $8e771, $8e785 +LoadMenuMonIcon:: + dr $8e785, $8e875 +GetSpeciesIcon:: + dr $8e875, $8e8e1 +FreezeMonIcons:: + dr $8e8e1, $8e908 +UnfreezeMonIcons:: + dr $8e908, $8e923 +HoldSwitchmonIcon:: + dr $8e923, $8fe29 ENDC -IF DEF(SILVER) - dr $8d332, $8e785 -LoadMenuMonIcon:: - dr $8e785, $90000 -ENDC +SECTION "bank24", ROMX + +INCLUDE "engine/phone/phone.asm" +INCLUDE "engine/rtc/timeset.asm" +INCLUDE "engine/pokegear/pokegear.asm" +INCLUDE "engine/overworld/landmarks.asm" +INCLUDE "engine/events/fish.asm" +INCLUDE "engine/games/slot_machine.asm" -SECTION "bank24", ROMX, BANK[$24] - dr $90000, $90641 -InitClock: - dr $90641, $908dc -SetDayOfWeek: - dr $908dc, $90a1b -InitialSetDSTFlag: - dr $90a1b, $90a54 -InitialClearDSTFlag: - dr $90a54, $90a8d -MrChrono: - dr $90a8d, $90b0f -PrintHour: - dr $90b0f, $9188a -Function9188a: - dr $9188a, $919c1 -Function919c1: - dr $919c1, $91a4f -TownMap_: - dr $91a4f, $91c7f - -Pokedex_GetArea:: - dr $91c7f, $92c36 -Function92c36: - dr $92c36, $94000 - -SECTION "bank25", ROMX, BANK[$25] -MapTriggers:: ; 94000 - dr $94000, $940ed - -INCLUDE "data/maps/maps.asm" -INCLUDE "data/maps/attributes.asm" - -OverworldLoop:: - dr $965f9, $96b89 - -EnableScriptMode:: ; 96b89 - dr $96b89, $96b91 - -ScriptEvents:: ; 96b91 - dr $96b91, $97365 - -CallCallback:: ; 97365 - dr $97365, $97a59 - -WarpToSpawnPoint: - dr $97a59, $97c2a - -Function97c2a:: ; 97c2a - dr $97c2a, $98000 - -SECTION "bank26", ROMX, BANK[$26] -IF DEF(GOLD) -TitleScreenGFX1: + +SECTION "bank26", ROMX + +IF DEF(_GOLD) +TitleScreenGFX1:: dr $98000, $98476 -TitleScreenGFX2: +TitleScreenGFX2:: dr $98476, $98616 -GSIntroTilemap: - dr $98616, $9c000 -ENDC +GSIntroTilemap:: + dr $98616, $98857 -IF DEF(SILVER) -TitleScreenGFX1: +ELIF DEF(_SILVER) +TitleScreenGFX1:: dr $98000, $98498 -TitleScreenGFX2: +TitleScreenGFX2:: dr $98498, $9862a -GSIntroTilemap: - dr $9862a, $9c000 +GSIntroTilemap:: + dr $9862a, $9886b ENDC -SECTION "bank27", ROMX, BANK[$27] - dr $9c000, $a0000 - -SECTION "bank28", ROMX, BANK[$28] - dr $a0000, $a4000 - -SECTION "bank29", ROMX, BANK[$29] - dr $a4000, $a8000 - -INCLUDE "data/maps/blocks.asm" - -SECTION "bank2d", ROMX, BANK[$2d] - dr $b4000, $b8000 - -SECTION "bank2e", ROMX, BANK[$2e] - dr $b8000, $ba378 - -TreeMonEncounter: - dr $ba378, $ba3a1 -RockMonEncounter: - dr $ba3a1, $bbaed +SECTION "bank2e_2", ROMX -ItemIsMail: - dr $bbaed, $bc000 +INCLUDE "engine/events/checkforhiddenitems.asm" +INCLUDE "engine/events/treemons.asm" +INCLUDE "engine/pokegear/radio.asm" +INCLUDE "engine/pokemon/mail_2.asm" -SECTION "bank2f", ROMX, BANK[$2f] - dr $bc000, $c0000 -SECTION "bank30", ROMX, BANK[$30] -PlayerSpriteGFX: - dr $c0000, $c03c0 +SECTION "bank31_2", ROMX -SilverSpriteGFX: - dr $c03c0, $c0fc0 - -MomSpriteGFX: - dr $c0fc0, $c4000 - -SECTION "bank31", ROMX, BANK[$31] - dr $c4000, $c7a40 -Functionc7a40: +_CheckPokerus:: dr $c7a40, $c7a5a -CheckForLuckyNumberWinners: +CheckForLuckyNumberWinners:: dr $c7a5a, $c7bad -PrintTodaysLuckyNumber: +PrintTodaysLuckyNumber:: dr $c7bad, $c7bbf -CheckPartyFullAfterContest: +CheckPartyFullAfterContest:: dr $c7bbf, $c7cd0 -Functionc7cd0: - dr $c7cd0, $c8000 +GiveANickname_YesNo:: + dr $c7cd0, $c7cde -SECTION "bank32", ROMX, BANK[$32] - dr $c8000, $c80d6 +SECTION "bank32", ROMX + +ExecuteBGEffects:: + dr $c8000, $c80d6 DummyPredef2F:: dr $c80d6, $c900a - INCLUDE "data/moves/animations.asm" LoadPoisonBGPals:: - dr $cbc76, $cc000 + dr $cbc76, $cbdba -SECTION "bank33", ROMX, BANK[$33] -DisplayCaughtContestMonStats: - dr $cc000, $cc0c8 -DisplayAlreadyCaughtText: - dr $cc0c8, $cc0d6 +SECTION "Move Animations", ROMX +DisplayCaughtContestMonStats:: + dr $cc000, $cc0c8 +DisplayAlreadyCaughtText:: + dr $cc0c8, $cc0d6 DummyPredef38:: DummyPredef39:: ret - PlayBattleAnim:: dr $cc0d7, $cc283 - +BattleAnimCommands:: + dr $cc283, $cc5f7 +BattleAnimCmd_RaiseSub:: + dr $cc5f7, $cc67c +BattleAnimCmd_MinimizeOpp:: + dr $cc67c, $cc836 ClearBattleAnims:: - dr $cc283, $cfce3 - -SECTION "bank34", ROMX, BANK[$34] - dr $d0000, $d4000 - -SECTION "bank35", ROMX, BANK[$35] - dr $d4000, $d8000 + dr $cc836, $ce6aa + +BattleAnim_Sine_e:: + dr $ce6aa, $cfce3 + + +SECTION "Font Inversed", ROMX + +FontInversed: +INCBIN "gfx/font/font_inversed.1bpp" + + +SECTION "bank37_2", ROMX + +TilesetChampionsRoomGFX:: + dr $dd773, $ddc33 +TilesetChampionsRoomMeta:: + dr $ddc33, $de033 +TilesetChampionsRoomColl:: + dr $de033, $de133 +TilesetHouseGFX:: + dr $de133, $de5d3 +TilesetHouseMeta:: + dr $de5d3, $de9d3 +TilesetHouseColl:: + dr $de9d3, $dead3 +TilesetLighthouseGFX:: + dr $dead3, $deed3 +TilesetLighthouseMeta:: + dr $deed3, $df2d3 +TilesetLighthouseColl:: + dr $df2d3, $df3d3 +TilesetPlayersRoomGFX:: + dr $df3d3, $df893 +TilesetPlayersRoomMeta:: + dr $df893, $dfc93 +TilesetPlayersRoomColl:: + dr $dfc93, $dfd93 +TilesetForestColl:: + dr $dfd93, $dfe93 + + +SECTION "bank38", ROMX -SECTION "bank36", ROMX, BANK[$36] - dr $d8000, $dc000 - -SECTION "bank38", ROMX, BANK[$38] - dr $e0000, $e0002 -Functione0002: - dr $e0002, $e0909 -Functione0909: + ret + ret +_Diploma:: + dr $e0002, $e081b +RotateUnownFrontpic:: + dr $e081b, $e0909 +_CardFlip:: dr $e0909, $e199d -Functione199d: + +_UnownPuzzle:: dr $e199d, $e2668 -Functione2668: - dr $e2668, $e2b9e -DepositPokemon_: +_DummyGame:: + dr $e2668, $e2b9e +_DepositPKMN:: dr $e2b9e, $e2d71 - -WithdrawPokemon_: +_WithdrawPKMN:: dr $e2d71, $e2f47 - -MovePKMNWithoutMail_: +_MovePKMNWithoutMail:: dr $e2f47, $e3d25 -ChangeBox_: - dr $e3d25, $e4000 +_ChangeBox:: + dr $e3d25, $e3f74 + -SECTION "bank39", ROMX, BANK[$39] +SECTION "bank39", ROMX -CopyrightGFX: - INCBIN "gfx/intro/copyright.2bpp" +CopyrightGFX:: +INCBIN "gfx/intro/copyright.2bpp" -IF DEF(GOLD) -TitleScreenGFX3: +IF DEF(_GOLD) +TitleScreenGFX3:: dr $e41e0, $e4260 -TitleScreenGFX4: +TitleScreenGFX4:: dr $e4260, $e4608 -OptionsMenu: +_OptionsMenu:: dr $e4608, $e49a8 -ENDC -IF DEF(SILVER) -TitleScreenGFX3: +ELIF DEF(_SILVER) +TitleScreenGFX3:: dr $e41e0, $e4220 -TitleScreenGFX4: +TitleScreenGFX4:: dr $e4220, $e4450 -OptionsMenu: +_OptionsMenu:: dr $e4450, $e47f0 ENDC INCLUDE "engine/movie/gamefreak_presents.asm" -IF DEF(GOLD) -GoldSilverIntro: - dr $e4cb1, $e8000 -ENDC +IF DEF(_GOLD) +GoldSilverIntro:: + dr $e4cb1, $e7678 -IF DEF(SILVER) -GoldSilverIntro: - dr $e4af9, $e8000 +ELIF DEF(_SILVER) +GoldSilverIntro:: + dr $e4af9, $e74c0 ENDC -SECTION "bank3e", ROMX, BANK[$3e] -Functionf8000:: + +SECTION "bank3e", ROMX + +_LoadStandardFont:: dr $f8000, $f800c -Functionf800c:: +_LoadFontsExtra:: dr $f800c, $f8032 -Functionf8032:: - dr $f8032, $fb4be +_LoadFontsBattleExtra:: + dr $f8032, $f8066 +LoadBattleFontsHPBar:: + dr $f8066, $f8081 +LoadHPBar:: + dr $f8081, $f80d9 +LoadStatsScreenPageTilesGFX:: + dr $f80d9, $f8bb2 +EnemyHPBarBorderGFX:: + dr $f8bb2, $f8bd2 +HPExpBarBorderGFX:: + dr $f8bd2, $f8c02 +ExpBarGFX:: + dr $f8c02, $f8c92 +TownMapGFX:: + dr $f8c92, $fb4be TileCollisionTable:: dr $fb4be, $fb5be -Shrink1Pic: +Shrink1Pic:: dr $fb5be, $fb64e -Shrink2Pic: - dr $fb64e, $fb7f7 -_NameRater: +Shrink2Pic:: + dr $fb64e, $fb68e +ValidateOTTrademon:: + dr $fb68e, $fb6ed +Functionfb6ed:: + dr $fb6ed, $fb71d +PlaceTradePartnerNamesAndParty:: + dr $fb71d, $fb760 +KantoMonSpecials:: + dr $fb760, $fb7f7 +_NameRater:: dr $fb7f7, $fb94b -PlaySlowCry: +PlaySlowCry:: dr $fb94b, $fb981 -NewPokedexEntry: - dr $fb981, $fba12 - +NewPokedexEntry:: + dr $fb981, $fb9fb +ConvertMon_2to1:: + dr $fb9fb, $fba12 ConvertMon_1to2:: dr $fba12, $fbb22 -UpdateUnownDex: +UpdateUnownDex:: dr $fbb22, $fbc3c -CheckMagikarpLength: - dr $fbc3c, $fbdd6 -MagikarpHouseSign: - dr $fbdd6, $fc000 +CheckMagikarpLength:: + dr $fbc3c, $fbd00 +CalcMagikarpLength:: + dr $fbd00, $fbdd6 +MagikarpHouseSign:: + dr $fbdd6, $fbdf1 +HiddenPowerDamage:: + dr $fbdf1, $fbe5a +_DisappearUser:: + dr $fbe5a, $fbe6f +_AppearUserRaiseSub:: + dr $fbe6f, $fbe77 +_AppearUserLowerSub:: + dr $fbe77, $fbeaa +DoWeatherModifiers:: + dr $fbeaa, $fbf2b +DoBadgeTypeBoosts:: + dr $fbf2b, $fbf93 + + +SECTION "bank3f", ROMX -SECTION "bank3f", ROMX, BANK[$3f] nop DummyPredef3A:: ret - - dr $fc002, $100000 - -SECTION "bank40", ROMX, BANK[$40] + ret +_AnimateTileset:: + dr $fc003, $fc01e +Tileset0Anim:: +TilesetJohtoModernAnim:: +TilesetKantoAnim:: +TilesetParkAnim:: +TilesetForestAnim:: + dr $fc01e, $fc04a +TilesetJohtoAnim:: + dr $fc04a, $fc0d6 +TilesetPortAnim:: + dr $fc0d6, $fc106 +TilesetEliteFourRoomAnim:: + dr $fc106, $fc18e +TilesetCaveAnim:: +TilesetDarkCaveAnim:: + dr $fc18e, $fc1da +TilesetIcePathAnim:: + dr $fc1da, $fc226 +TilesetTowerAnim:: + dr $fc226, $fc28e +TilesetHouseAnim:: +TilesetPlayersHouseAnim:: +TilesetPokecenterAnim:: +TilesetGateAnim:: +TilesetLabAnim:: +TilesetFacilityAnim:: +TilesetMartAnim:: +TilesetMansionAnim:: +TilesetGameCornerAnim:: +TilesetTraditionalHouseAnim:: +TilesetTrainStationAnim:: +TilesetChampionsRoomAnim:: +TilesetLighthouseAnim:: +TilesetPlayersRoomAnim:: +TilesetRuinsOfAlphAnim:: +TilesetRadioTowerAnim:: +TilesetUndergroundAnim:: + dr $fc28e, $fc9ae +NPCTrade:: + dr $fc9ae, $fcd87 +MomTriesToBuySomething:: + dr $fcd87, $fcf6a +StagePartyDataForMysteryGift:: + dr $fcf6a, $fcfb2 +InitMysteryGiftLayout:: + dr $fcfb2, $fde20 + + +SECTION "bank40", ROMX + +StdScripts:: dr $100000, $10110c - INCLUDE "data/text/battle.asm" -SECTION "bank41", ROMX, BANK[$41] - dr $104000, $108000 - -INCLUDE "data/maps/scripts.asm" -SECTION "bank6c", ROMX, BANK[$6c] -ItemNames:: - dr $1b0000, $1b0955 -TrainerClassNames:: - dr $1b0955, $1b0b74 -PokemonNames:: - dr $1b0b74, $1b1574 -MoveNames:: - dr $1b1574, $1b4000 +SECTION "bank41", ROMX + +; Phone scripts and text +UnusedPhoneScript:: + dr $104000, $104004 +MomPhoneCalleeScript:: + dr $104004, $104124 +MomPhoneLectureScript:: + dr $104124, $104137 +BillPhoneCalleeScript:: + dr $104137, $104172 +BillPhoneCallerScript:: + dr $104172, $104177 +ElmPhoneCalleeScript:: + dr $104177, $1041e1 +ElmPhoneCallerScript:: + dr $1041e1, $10422a +JackPhoneCalleeScript:: + dr $10422a, $104234 +JackPhoneCallerScript:: + dr $104234, $104256 +BeverlyPhoneCalleeScript:: + dr $104256, $104260 +BeverlyPhoneCallerScript:: + dr $104260, $104282 +HueyPhoneCalleeScript:: + dr $104282, $10428c +HueyPhoneCallerScript:: + dr $10428c, $1042a7 +GavenPhoneCalleeScript:: + dr $1042a7, $1042b1 +GavenPhoneCallerScript:: + dr $1042b1, $1042d3 +BethPhoneCalleeScript:: + dr $1042d3, $1042dd +BethPhoneCallerScript:: + dr $1042dd, $1042ff +JosePhoneCalleeScript:: + dr $1042ff, $104309 +JosePhoneCallerScript:: + dr $104309, $104332 +ReenaPhoneCalleeScript:: + dr $104332, $10433c +ReenaPhoneCallerScript:: + dr $10433c, $10435e +JoeyPhoneCalleeScript:: + dr $10435e, $104368 +JoeyPhoneCallerScript:: + dr $104368, $104390 +WadePhoneCalleeScript:: + dr $104390, $1043b5 +WadePhoneCallerScript:: + dr $1043b5, $1043f8 +RalphPhoneCalleeScript:: + dr $1043f8, $104402 +RalphPhoneCallerScript:: + dr $104402, $104446 +LizPhoneCalleeScript:: + dr $104446, $104450 +LizPhoneCallerScript:: + dr $104450, $104478 +AnthonyPhoneCalleeScript:: + dr $104478, $104482 +AnthonyPhoneCallerScript:: + dr $104482, $1044c4 +ToddPhoneCalleeScript:: + dr $1044c4, $1044ce +ToddPhoneCallerScript:: + dr $1044ce, $1044f6 +GinaPhoneCalleeScript:: + dr $1044f6, $104506 +GinaPhoneCallerScript:: + dr $104506, $104534 +IrwinPhoneCalleeScript:: + dr $104534, $104544 +IrwinPhoneCallerScript:: + dr $104544, $10456c +ArniePhoneCalleeScript:: + dr $10456c, $104576 +ArniePhoneCallerScript:: + dr $104576, $1045b2 +AlanPhoneCalleeScript:: + dr $1045b2, $1045bc +AlanPhoneCallerScript:: + dr $1045bc, $1045de +DanaPhoneCalleeScript:: + dr $1045de, $1045e8 +DanaPhoneCallerScript:: + dr $1045e8, $10460a +ChadPhoneCalleeScript:: + dr $10460a, $104614 +ChadPhoneCallerScript:: + dr $104614, $104650 +DerekPhoneCalleeScript:: + dr $104650, $104675 +DerekPhoneCallerScript:: + dr $104675, $1046b2 +ChrisPhoneCalleeScript:: + dr $1046b2, $1046bc +ChrisPhoneCallerScript:: + dr $1046bc, $1046de +BrentPhoneCalleeScript:: + dr $1046de, $1046e8 +BrentPhoneCallerScript:: + dr $1046e8, $104711 +TiffanyPhoneCalleeScript:: + dr $104711, $10471b +TiffanyPhoneCallerScript:: + dr $10471b, $104744 +VancePhoneCalleeScript:: + dr $104744, $10474e +VancePhoneCallerScript:: + dr $10474e, $104770 +WiltonPhoneCalleeScript:: + dr $104770, $10477a +WiltonPhoneCallerScript:: + dr $10477a, $1047b8 +KenjiPhoneCalleeScript:: + dr $1047b8, $1047c2 +KenjiPhoneCallerScript:: + dr $1047c2, $1047e4 +ParryPhoneCalleeScript:: + dr $1047e4, $1047ee +ParryPhoneCallerScript:: + dr $1047ee, $10482a +ErinPhoneCalleeScript:: + dr $10482a, $104834 +ErinPhoneCallerScript:: + dr $104834, $104a80 +BikeShopPhoneCallerScript:: + dr $104a80, $10614d + + +SECTION "Names", ROMX + +INCLUDE "data/items/names.asm" +INCLUDE "data/trainers/class_names.asm" +INCLUDE "data/pokemon/names.asm" +INCLUDE "data/moves/names.asm" + + +SECTION "Move Descriptions", ROMX -SECTION "bank6d", ROMX, BANK[$6d] INCLUDE "data/moves/descriptions.asm" - dr $1b61f3, $1b8000 -SECTION "bank6e", ROMX, BANK[$6e] - dr $1b8000, $1bc000 +SECTION "Item Descriptions", ROMX + +INCLUDE "data/items/descriptions.asm" -SECTION "bank6f", ROMX, BANK[$6f] - dr $1bc000, $1c0000 -SECTION "bank70", ROMX, BANK[$70] - dr $1c0000, $1c0a66 +SECTION "bank70", ROMX + +PrintPage1:: + dr $1c0000, $1c0407 +TilesetKantoGFX:: + dr $1c0407, $1c0a1f +PrintHoursMins:: + dr $1c0a1f, $1c0a66 UpdateTimePredef:: - dr $1c0a66, $1c0de9 + dr $1c0a66, $1c0a7a +StubbedGetFrontpic:: + ret +Function1c0a7b:: + dr $1c0a7b, $1c0de9 _DudeAutoInput_A:: dr $1c0de9, $1c0dee - -DudeAutoInput_RightA:: - dr $1c0dee, $1c4000 - -SECTION "bank71", ROMX, BANK[$71] - dr $1c4000, $1c8000 - -SECTION "bank72", ROMX, BANK[$72] - dr $1c8000, $1cc000 - -SECTION "bank73", ROMX, BANK[$73] - dr $1cc000, $1d0000 - -SECTION "bank74", ROMX, BANK[$74] - dr $1d0000, $1d4000 - -SECTION "bank75", ROMX, BANK[$75] - dr $1d4000, $1d8000 - -SECTION "bank76", ROMX, BANK[$76] - dr $1d8000, $1dc000 - -SECTION "bank77", ROMX, BANK[$77] - dr $1dc000, $1e0000 - -SECTION "bank78", ROMX, BANK[$78] - dr $1e0000, $1e4000 - -SECTION "bank79", ROMX, BANK[$79] - dr $1e4000, $1e8000 - -SECTION "bank7a", ROMX, BANK[$7a] - dr $1e8000, $1ec000 - -SECTION "bank7b", ROMX, BANK[$7b] - dr $1ec000, $1f0000 - -SECTION "bank7c", ROMX, BANK[$7c] - dr $1f0000, $1f4000 - -SECTION "bank7d", ROMX, BANK[$7d] - dr $1f4000, $1f8000 - -SECTION "bank7e", ROMX, BANK[$7e] - dr $1f8000, $1fc000 - -SECTION "bank7f", ROMX, BANK[$7f] - dr $1fc000, $200000 +_DudeAutoInput_RightA:: + dr $1c0dee, $1c0df3 +_DudeAutoInput_DownA:: + dr $1c0df3, $1c0e24 +TownMap_ConvertLineBreakCharacters:: + dr $1c0e24, $1c0e43 +PokegearGFX:: + dr $1c0e43, $1c1127 +CreditsStrings:: + dr $1c1127, $1c168c + + +SECTION "Stadium Data", ROMX + +IF DEF(_GOLD) +INCBIN "data/stadium/stadium_gold.bin" +ELIF DEF(_SILVER) +INCBIN "data/stadium/stadium_silver.bin" +ENDC |