INCLUDE "constants.asm" SECTION "bank1", ROMX INCLUDE "engine/link/place_waiting_text.asm" INCLUDE "engine/gfx/load_push_oam.asm" INCLUDE "engine/overworld/map_objects.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 INCLUDE "engine/tilesets/map_palettes.asm" INCLUDE "gfx/tileset_palette_maps.asm" INCLUDE "engine/overworld/player_object.asm" INCLUDE "engine/math/sine.asm" INCLUDE "engine/predef.asm" INCLUDE "engine/gfx/color.asm" SECTION "bank3", ROMX 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/items.asm" INCLUDE "engine/overworld/player_step.asm" 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/pokemon/knows_move.asm" SECTION "bank4", ROMX 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 "engine/events/pokemon_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 dr $18000, $1bdbc SECTION "bank7", ROMX LoadMapGroupRoof:: dr $1c000, $1f84c SECTION "bank8", ROMX dr $20000, $239fe EggMovePointers:: dr $239fe, $23e3d SECTION "bank9", ROMX 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, $24477 LoadObjectMasks:: dr $24477, $244d7 _InitScrollingMenu:: dr $244d7, $244f3 _ScrollingMenu:: dr $244f3, $2462e ScrollingMenu_ClearLeftColumn:: dr $2462e, $24834 SwitchItemsInBag:: dr $24834, $249dc PlaceMenuItemName:: dr $249dc, $249eb PlaceMenuItemQuantity:: dr $249eb, $24a10 PlaceMoneyTopRight:: dr $24a10, $24a18 PlaceMoneyBottomLeft:: dr $24a18, $24a20 PlaceMoneyAtTopLeftOfTextbox:: dr $24a20, $24a4d DisplayCoinCaseBalance:: dr $24a4d, $24a76 DisplayMoneyAndCoinBalance:: dr $24a76, $24b05 StartMenu_DrawBugContestStatusBox:: dr $24b05, $24b10 StartMenu_PrintBugContestStatus:: dr $24b10, $24b8d Function24b8d:: dr $24b8d, $24c89 MonSubmenu:: dr $24c89, $24e09 BattleMonMenu:: dr $24e09, $24e62 LoadBattleMenu:: dr $24e62, $24e72 ContestBattleMenu:: dr $24e72, $24f20 SelectQuantityToToss:: dr $24f20, $24f2a SelectQuantityToBuy:: dr $24f2a, $24f42 SelectQuantityToSell:: dr $24f42, $25061 TrainerCard:: dr $25061, $267af ProfOaksPC:: dr $267af, $267ca ProfOaksPCBoot:: dr $267ca, $2692d InitDecorations:: dr $2692d, $26938 _PlayerDecorationMenu:: dr $26938, $270d5 ReceiveDecorationC:: dr $270d5, $271be ToggleMaptileDecorations:: dr $271be, $27216 ToggleDecorationsVisibility:: dr $27216, $27271 INCLUDE "engine/battle/read_trainer_dvs.asm" ReturnToBattle_UseBall_:: dr $27307, $2733d ConsumeHeldItem:: dr $2733d, $2739f INCLUDE "data/moves/effects.asm" SECTION "banka", ROMX 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, $2a507 BackupMysteryGift:: dr $2a507, $2a518 RestoreMysteryGift:: dr $2a518, $2a539 LoadWildMonData:: dr $2a539, $2a7d7 InitRoamMons:: dr $2a7d7, $2a859 UpdateRoamMons:: dr $2a859, $2a8e0 JumpRoamMons:: dr $2a8e0, $2a9f7 RandomUnseenWildMon:: dr $2a9f7, $2aa6b RandomPhoneWildMon:: dr $2aa6b, $2aab3 RandomPhoneMon:: dr $2aab3, $2ab35 JohtoGrassWildMons:: dr $2ab35, $2bee3 SECTION "bankb", ROMX dr $2c000, $2c033 BattleStart_TrainerHuds:: dr $2c033, $2c045 EnemySwitch_TrainerHud:: dr $2c045, $2c0c8 DrawPlayerHUDBorder:: dr $2c0c8, $2c0f8 DrawEnemyHUDBorder:: dr $2c0f8, $2c1e4 _ShowLinkBattleParticipants:: dr $2c1e4, $2c225 INCLUDE "engine/battle/ai/redundant.asm" MoveDeletion:: dr $2c352, $2c57a Pack_TMHMPocketMenu_:: dr $2c57a, $2c5ca AskTeachTMHM:: dr $2c5ca, $2c606 ChooseMonToLearnTMHM:: dr $2c606, $2c672 TeachTMHM:: dr $2c672, $2c943 PrintMoveDesc:: dr $2c943, $2c95d GivePokerusAndConvertBerries:: dr $2c95d, $2ca31 SECTION "bankc", ROMX dr $30000, $33d81 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" SECTION "Battle Core", ROMX INCLUDE "engine/battle/core.asm" INCLUDE "data/battle/effect_command_pointers.asm" SECTION "bank10", ROMX Pokedex:: dr $40000, $41afe Moves:: dr $41afe, $421db EvolvePokemon:: dr $421db, $421e9 EvolveAfterBattle:: dr $421e9, $42483 LearnLevelMoves:: dr $42483, $424dd FillMoves:: dr $424dd, $4278d GetPreEvolution:: dr $4278d, $427bd EvosAttacksPointers:: dr $427bd, $43e57 SECTION "bank11", ROMX dr $44000, $440c8 INCLUDE "engine/battle/ai/move.asm" dr $441c2, $44360 PokedexDataPointerTable:: dr $44360, $44556 PlayBattleMusic:: dr $44556, $445f2 ClearBattleRAM:: dr $445f2, $44648 PlaceGraphic:: dr $44648, $44679 SendMailToPC:: dr $44679, $44830 BackupPartyMonMail:: dr $44830, $44850 RestorePartyMonMail:: dr $44850, $44870 DeletePartyMonMail:: dr $44870, $4488c IsAnyPokemonHoldingMail:: dr $4488c, $448ab _PlayerMailBoxMenu:: dr $448ab, $44aa2 SECTION "bank14", ROMX SelectMonFromParty:: dr $50000, $5001d SelectTradeOrDayCareMon:: dr $5001d, $5004f LoadPartyMenuGFX:: dr $5004f, $5005f WritePartyMenuTilemap:: dr $5005f, $50355 InitPartyMenuGFX:: dr $50355, $5037a InitPartyMenuWithCancel:: dr $5037a, $503a2 InitPartyMenuNoCancel:: dr $503a2, $503cc PartyMenuSelect:: dr $503cc, $5040f PrintPartyMenuText:: dr $5040f, $504db PrintPartyMenuActionText:: dr $504db, $5054f LoadFishingGFX:: dr $5054f, $506f2 SweetScentFromMenu:: dr $506f2, $50763 SquirtbottleFunction:: dr $50763, $507ac CardKeyFunction:: dr $507ac, $507e7 BasementKeyFunction:: dr $507e7, $50819 SacredAshFunction:: 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 $51524, $51550 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:: dr $53a6b, $53a83 EggPic:: INCBIN "gfx/pokemon/egg/front.2bpp.lz" SECTION "bank21", ROMX dr $84000, $842db _PrinterReceive:: dr $842db, $84560 PrintUnownStamp:: dr $84560, $845d4 PrintMailAndExit:: dr $845d4, $84616 PrintPartymon:: dr $84616, $84684 Function84684:: dr $84684, $86632 _HallOfFamePC:: dr $86632, $87bfd SECTION "bank23", ROMX SaveMenu_CopyTilemapAtOnce:: dr $8c000, $8c17a ResetClock_:: dr $8c17a, $8c310 DeleteSaveData_:: dr $8c310, $8c355 DummyPredef35:: DummyPredef36:: ret UpdateTimeOfDayPal:: dr $8c356, $8c366 _TimeOfDayPals:: dr $8c366, $8c397 _UpdateTimePals:: dr $8c397, $8c3a0 FadeInPalettes:: dr $8c3a0, $8c3ab FadeOutPalettes:: dr $8c3ab, $8c3b9 FadeInQuickly:: dr $8c3b9, $8c3c4 FadeBlackQuickly:: dr $8c3c4, $8c3e9 Function8c3e9:: dr $8c3e9, $8c513 DoBattleTransition:: dr $8c513, $8ca5e PlayWhirlpoolSound:: dr $8ca5e, $8ca6b BlindingFlash:: dr $8ca6b, $8ca8e ShakeHeadbuttTree:: dr $8ca8e, $8cbb8 OWCutAnimation:: dr $8cbb8, $8cd65 FlyFromAnimation:: dr $8cd65, $8cdab FlyToAnimation:: dr $8cdab, $8ce7c MagnetTrain:: dr $8ce7c, $8d174 ClearSpriteAnims:: dr $8d174, $8d183 PlaySpriteAnimationsAndDelay:: dr $8d183, $8d18a PlaySpriteAnimations:: dr $8d18a, $8d1f7 _InitSpriteAnimStruct:: dr $8d1f7, $8d332 IF DEF(_GOLD) _ReinitSpriteAnimFrame:: dr $8d332, $8e6fd AnimateEndOfExpBar:: dr $8e6fd, $8e774 ClearSpriteAnims2:: dr $8e774, $8e78b LoadOverworldMonIcon:: dr $8e78b, $8e79f LoadMenuMonIcon:: dr $8e79f, $8e8fb FreezeMonIcons:: dr $8e8fb, $8e922 UnfreezeMonIcons:: dr $8e922, $8e93d HoldSwitchmonIcon:: dr $8e93d, $8fe43 ELIF DEF(_SILVER) _ReinitSpriteAnimFrame:: dr $8d332, $8e6e3 AnimateEndOfExpBar:: dr $8e6e3, $8e75a ClearSpriteAnims2:: dr $8e75a, $8e771 LoadOverworldMonIcon:: dr $8e771, $8e785 LoadMenuMonIcon:: dr $8e785, $8e8e1 FreezeMonIcons:: dr $8e8e1, $8e908 UnfreezeMonIcons:: dr $8e908, $8e923 HoldSwitchmonIcon:: dr $8e923, $8fe29 ENDC SECTION "bank24", ROMX 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, $90b5e PokeGear:: dr $90b5e, $917ca RadioMusicRestartDE:: dr $917ca, $917de RadioMusicRestartPokemonChannel:: dr $917de, $9188a Function9188a:: dr $9188a, $919c1 Function919c1:: dr $919c1, $91a4f TownMap_:: dr $91a4f, $91c7f Pokedex_GetArea:: dr $91c7f, $92364 GetLandmarkName:: dr $92364, $92c36 Function92c36:: dr $92c36, $93f86 SECTION "bank25", ROMX MapTriggers:: dr $94000, $940ed INCLUDE "data/maps/maps.asm" INCLUDE "data/maps/attributes.asm" OverworldLoop:: dr $965f9, $96b89 EnableScriptMode:: dr $96b89, $96b91 ScriptEvents:: dr $96b91, $97365 CallCallback:: dr $97365, $97a59 WarpToSpawnPoint:: dr $97a59, $97c2a Function97c2a:: dr $97c2a, $97d96 SECTION "bank26", ROMX IF DEF(_GOLD) TitleScreenGFX1:: dr $98000, $98476 TitleScreenGFX2:: dr $98476, $98616 GSIntroTilemap:: dr $98616, $98857 ELIF DEF(_SILVER) TitleScreenGFX1:: dr $98000, $98498 TitleScreenGFX2:: dr $98498, $9862a GSIntroTilemap:: dr $9862a, $9886b ENDC INCLUDE "data/maps/blocks.asm" SECTION "bank2e_2", ROMX INCLUDE "engine/events/checkforhiddenitems.asm" INCLUDE "engine/events/treemons.asm" INCLUDE "engine/pokegear/radio.asm" INCLUDE "engine/pokemon/mail_2.asm" SECTION "bank31_2", ROMX Functionc7a40:: dr $c7a40, $c7a5a CheckForLuckyNumberWinners:: dr $c7a5a, $c7bad PrintTodaysLuckyNumber:: dr $c7bad, $c7bbf CheckPartyFullAfterContest:: dr $c7bbf, $c7cd0 Functionc7cd0:: dr $c7cd0, $c7cde SECTION "bank32", ROMX dr $c8000, $c80d6 DummyPredef2F:: dr $c80d6, $c900a INCLUDE "data/moves/animations.asm" LoadPoisonBGPals:: dr $cbc76, $cbdba SECTION "Move Animations", ROMX DisplayCaughtContestMonStats:: dr $cc000, $cc0c8 DisplayAlreadyCaughtText:: dr $cc0c8, $cc0d6 DummyPredef38:: DummyPredef39:: ret PlayBattleAnim:: dr $cc0d7, $cc283 ClearBattleAnims:: dr $cc283, $cc5f7 BattleAnimCmd_RaiseSub:: dr $cc5f7, $cc67c BattleAnimCmd_MinimizeOpp:: dr $cc67c, $cfce3 SECTION "bank36", ROMX dr $d8000, $d8400 SECTION "bank38", ROMX dr $e0000, $e0002 Functione0002:: dr $e0002, $e081b RotateUnownFrontpic:: dr $e081b, $e0909 Functione0909:: dr $e0909, $e199d Functione199d:: dr $e199d, $e2668 Functione2668:: dr $e2668, $e2b9e DepositPokemon_:: dr $e2b9e, $e2d71 WithdrawPokemon_:: dr $e2d71, $e2f47 MovePKMNWithoutMail_:: dr $e2f47, $e3d25 ChangeBox_:: dr $e3d25, $e3f74 SECTION "bank39", ROMX CopyrightGFX:: INCBIN "gfx/intro/copyright.2bpp" IF DEF(_GOLD) TitleScreenGFX3:: dr $e41e0, $e4260 TitleScreenGFX4:: dr $e4260, $e4608 OptionsMenu:: dr $e4608, $e49a8 ELIF DEF(_SILVER) TitleScreenGFX3:: dr $e41e0, $e4220 TitleScreenGFX4:: dr $e4220, $e4450 OptionsMenu:: dr $e4450, $e47f0 ENDC INCLUDE "engine/movie/gamefreak_presents.asm" IF DEF(_GOLD) GoldSilverIntro:: dr $e4cb1, $e7678 ELIF DEF(_SILVER) GoldSilverIntro:: dr $e4af9, $e74c0 ENDC SECTION "bank3e", ROMX Functionf8000:: dr $f8000, $f800c Functionf800c:: dr $f800c, $f8032 _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, $fb4be TileCollisionTable:: dr $fb4be, $fb5be Shrink1Pic:: dr $fb5be, $fb64e Shrink2Pic:: dr $fb64e, $fb7f7 _NameRater:: dr $fb7f7, $fb94b PlaySlowCry:: dr $fb94b, $fb981 NewPokedexEntry:: dr $fb981, $fba12 ConvertMon_1to2:: dr $fba12, $fbb22 UpdateUnownDex:: dr $fbb22, $fbc3c 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 nop DummyPredef3A:: ret dr $fc002, $fde20 SECTION "bank40", ROMX dr $100000, $10110c INCLUDE "data/text/battle.asm" SECTION "bank41", ROMX dr $104000, $10614d INCLUDE "data/maps/scripts.asm" SECTION "bank6c", ROMX ItemNames:: dr $1b0000, $1b0955 TrainerClassNames:: dr $1b0955, $1b0b74 PokemonNames:: dr $1b0b74, $1b1574 MoveNames:: dr $1b1574, $1b1ee1 SECTION "bank6d", ROMX INCLUDE "data/moves/descriptions.asm" SECTION "bank6e", ROMX dr $1b8000, $1b9544 SECTION "bank70", ROMX dr $1c0000, $1c0a66 UpdateTimePredef:: dr $1c0a66, $1c0a7a StubbedGetFrontpic:: ret Function1c0a7b:: dr $1c0a7b, $1c0de9 _DudeAutoInput_A:: dr $1c0de9, $1c0dee _DudeAutoInput_RightA:: dr $1c0dee, $1c0df3 _DudeAutoInput_DownA:: dr $1c0df3, $1c168b IF DEF(_SILVER) dr $1c168b, $1c168c ENDC SECTION "bank7f", ROMX dr $1ffdf8, $200000