From 699495bfcb732559114ad1450e704844a86308a1 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sun, 10 Dec 2017 13:37:15 -0500 Subject: Consistent capitalization for map names, matching their constants --- engine/breeding/egg.asm | 4 ++-- engine/engine_flags.asm | 12 ++++++------ engine/events.asm | 2 +- engine/move_mon.asm | 26 +++++++++++++------------- engine/npctrade.asm | 2 +- engine/overworld.asm | 8 ++++---- engine/party_menu.asm | 2 +- engine/std_scripts.asm | 2 +- 8 files changed, 29 insertions(+), 29 deletions(-) (limited to 'engine') diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm index 5051083b2..b402f99f1 100755 --- a/engine/breeding/egg.asm +++ b/engine/breeding/egg.asm @@ -888,7 +888,7 @@ Special_DayCareMon1: ; 17421 call PrintText ld a, [wBreedMon1Species] call PlayCry - ld a, [wDaycareLady] + ld a, [wDayCareLady] bit 0, a jr z, DayCareMonCursor call ButtonSound @@ -901,7 +901,7 @@ Special_DayCareMon2: ; 17440 call PrintText ld a, [wBreedMon2Species] call PlayCry - ld a, [wDaycareMan] + ld a, [wDayCareMan] bit 0, a jr z, DayCareMonCursor call ButtonSound diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm index 3bca8dd87..943735ca6 100644 --- a/engine/engine_flags.asm +++ b/engine/engine_flags.asm @@ -97,13 +97,13 @@ ENDM engine_flag wPokegearFlags, 3 ; expn card engine_flag wPokegearFlags, 7 ; on/off - ; wDaycareMan, 7 ; daycare 1 on - engine_flag wDaycareMan, 6 ; egg is ready - ; wDaycareMan, 5 ; monster 1 and 2 are compatible - engine_flag wDaycareMan, 0 ; monster 1 in daycare + ; wDayCareMan, 7 ; day-care 1 on + engine_flag wDayCareMan, 6 ; egg is ready + ; wDayCareMan, 5 ; monster 1 and 2 are compatible + engine_flag wDayCareMan, 0 ; monster 1 in day-care - ; wDaycareLady, 7 = daycare 2 on - engine_flag wDaycareLady, 0 ; monster 2 in daycare + ; wDayCareLady, 7 = day-care 2 on + engine_flag wDayCareLady, 0 ; monster 2 in day-care engine_flag wMomSavingMoney, 0 ; mom saving money ; $8 engine_flag wMomSavingMoney, 7 ; dst diff --git a/engine/events.asm b/engine/events.asm index b8d57118e..b78010d1d 100644 --- a/engine/events.asm +++ b/engine/events.asm @@ -964,7 +964,7 @@ CountStep: ; 96b79 .skip_egg ; Increase the EXP of (both) DayCare Pokemon by 1. - callba DaycareStep + callba DayCareStep ; Every four steps, deal damage to all Poisoned Pokemon ld hl, PoisonStepCount diff --git a/engine/move_mon.asm b/engine/move_mon.asm index 21b6994ac..2a5baac50 100755 --- a/engine/move_mon.asm +++ b/engine/move_mon.asm @@ -446,9 +446,9 @@ SentGetPkmnIntoFromBox: ; db3f ld a, [wPokemonWithdrawDepositParameter] and a jr z, .check_IfPartyIsFull - cp DAYCARE_WITHDRAW + cp DAY_CARE_WITHDRAW jr z, .check_IfPartyIsFull - cp DAYCARE_DEPOSIT + cp DAY_CARE_DEPOSIT ld hl, wBreedMon1Species jr z, .breedmon @@ -473,7 +473,7 @@ SentGetPkmnIntoFromBox: ; db3f ld b, 0 add hl, bc ld a, [wPokemonWithdrawDepositParameter] - cp DAYCARE_WITHDRAW + cp DAY_CARE_WITHDRAW ld a, [wBreedMon1Species] jr z, .okay1 ld a, [CurPartySpecies] @@ -504,7 +504,7 @@ SentGetPkmnIntoFromBox: ; db3f ld hl, sBoxMon1Species ld bc, BOXMON_STRUCT_LENGTH jr z, .okay3 - cp DAYCARE_WITHDRAW + cp DAY_CARE_WITHDRAW ld hl, wBreedMon1Species jr z, .okay4 ld hl, PartyMon1Species @@ -518,7 +518,7 @@ SentGetPkmnIntoFromBox: ; db3f ld bc, BOXMON_STRUCT_LENGTH call CopyBytes ld a, [wPokemonWithdrawDepositParameter] - cp DAYCARE_DEPOSIT + cp DAY_CARE_DEPOSIT ld de, wBreedMon1OT jr z, .okay5 dec a @@ -540,7 +540,7 @@ SentGetPkmnIntoFromBox: ; db3f and a jr z, .okay7 ld hl, wBreedMon1OT - cp DAYCARE_WITHDRAW + cp DAY_CARE_WITHDRAW jr z, .okay8 ld hl, PartyMonOT @@ -552,7 +552,7 @@ SentGetPkmnIntoFromBox: ; db3f ld bc, NAME_LENGTH call CopyBytes ld a, [wPokemonWithdrawDepositParameter] - cp DAYCARE_DEPOSIT + cp DAY_CARE_DEPOSIT ld de, wBreedMon1Nick jr z, .okay9 dec a @@ -574,7 +574,7 @@ SentGetPkmnIntoFromBox: ; db3f and a jr z, .okay11 ld hl, wBreedMon1Nick - cp DAYCARE_WITHDRAW + cp DAY_CARE_WITHDRAW jr z, .okay12 ld hl, PartyMonNicknames @@ -590,7 +590,7 @@ SentGetPkmnIntoFromBox: ; db3f ld a, [wPokemonWithdrawDepositParameter] cp PC_DEPOSIT jr z, .took_out_of_box - cp DAYCARE_DEPOSIT + cp DAY_CARE_DEPOSIT jp z, .CloseSRAM_And_ClearCarryFlag push hl @@ -732,7 +732,7 @@ RestorePPofDepositedPokemon: ; dcb6 ret ; dd21 -RetrievePokemonFromDaycareMan: ; dd21 +RetrievePokemonFromDayCareMan: ; dd21 ld a, [wBreedMon1Species] ld [CurPartySpecies], a ld de, SFX_TRANSACTION @@ -748,7 +748,7 @@ RetrievePokemonFromDaycareMan: ; dd21 jp Functiondd64 ; dd42 -RetrievePokemonFromDaycareLady: ; dd42 +RetrievePokemonFromDayCareLady: ; dd42 ld a, [wBreedMon2Species] ld [CurPartySpecies], a ld de, SFX_TRANSACTION @@ -872,7 +872,7 @@ Functionde1a: ; de1a ret ; de2a -DepositMonWithDaycareMan: ; de2a +DepositMonWithDayCareMan: ; de2a ld de, wBreedMon1Nick call DepositBreedmon xor a @@ -880,7 +880,7 @@ DepositMonWithDaycareMan: ; de2a jp RemoveMonFromPartyOrBox ; de37 -DepositMonWithDaycareLady: ; de37 +DepositMonWithDayCareLady: ; de37 ld de, wBreedMon2Nick call DepositBreedmon xor a diff --git a/engine/npctrade.asm b/engine/npctrade.asm index 01631d051..fa1be880e 100755 --- a/engine/npctrade.asm +++ b/engine/npctrade.asm @@ -40,7 +40,7 @@ NPCTrade:: ; fcba8 ; Select givemon from party ld b, PARTYMENUACTION_GIVE_MON - callba SelectTradeOrDaycareMon + callba SelectTradeOrDayCareMon ld a, TRADE_CANCEL jr c, .done diff --git a/engine/overworld.asm b/engine/overworld.asm index 5bbd70a85..1a49b1bfc 100755 --- a/engine/overworld.asm +++ b/engine/overworld.asm @@ -232,9 +232,9 @@ GetMonSprite: ; 14259 cp SPRITE_POKEMON jr c, .Normal - cp SPRITE_DAYCARE_MON_1 + cp SPRITE_DAY_CARE_MON_1 jr z, .wBreedMon1 - cp SPRITE_DAYCARE_MON_2 + cp SPRITE_DAY_CARE_MON_2 jr z, .wBreedMon2 cp SPRITE_VARS jr nc, .Variable @@ -1270,11 +1270,11 @@ Group11Sprites: ; 14673 db SPRITE_YOUNGSTER db SPRITE_OFFICER db SPRITE_POKEFAN_M - db SPRITE_DAYCARE_MON_1 + db SPRITE_DAY_CARE_MON_1 db SPRITE_COOLTRAINER_F db SPRITE_ROCKET db SPRITE_LASS - db SPRITE_DAYCARE_MON_2 + db SPRITE_DAY_CARE_MON_2 db SPRITE_FRUIT_TREE db SPRITE_SLOWPOKE ; 1468a diff --git a/engine/party_menu.asm b/engine/party_menu.asm index 266451c37..94b0bb0a2 100644 --- a/engine/party_menu.asm +++ b/engine/party_menu.asm @@ -13,7 +13,7 @@ SelectMonFromParty: ; 50000 ; 5001d -SelectTradeOrDaycareMon: ; 5001d +SelectTradeOrDayCareMon: ; 5001d ld a, b ld [PartyMenuActionText], a call DisableSpriteUpdates diff --git a/engine/std_scripts.asm b/engine/std_scripts.asm index 4b69a4de1..629f16fc0 100644 --- a/engine/std_scripts.asm +++ b/engine/std_scripts.asm @@ -1786,7 +1786,7 @@ ReceiveItemScript: ; 0xbcdb9 ReceiveTogepiEggScript: ; 0xbcdc3 waitsfx farwritetext ReceivedItemText - playsound SFX_GET_EGG_FROM_DAYCARE_LADY + playsound SFX_GET_EGG_FROM_DAY_CARE_LADY waitsfx end ; 0xbcdcd -- cgit v1.2.3 From b4261d27d8a6ed20c13dd1ff723f7d3f28833a58 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sun, 10 Dec 2017 20:50:08 -0500 Subject: Use new palette constants --- engine/battle_start.asm | 16 ++++++++-------- engine/color.asm | 2 +- engine/player_object.asm | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) (limited to 'engine') diff --git a/engine/battle_start.asm b/engine/battle_start.asm index 9097e74ed..962948386 100644 --- a/engine/battle_start.asm +++ b/engine/battle_start.asm @@ -651,11 +651,11 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) ld [rSVBK], a call .copypals push hl - ld de, UnknBGPals + 7 palettes + ld de, UnknBGPals palette PAL_BG_TEXT ld bc, 1 palettes call CopyBytes pop hl - ld de, BGPals + 7 palettes + ld de, BGPals palette PAL_BG_TEXT ld bc, 1 palettes call CopyBytes pop af @@ -670,17 +670,17 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc) ret .copypals ; 8c677 (23:4677) - ld de, UnknBGPals + 7 palettes + ld de, UnknBGPals palette PAL_BG_TEXT call .copy - ld de, BGPals + 7 palettes + ld de, BGPals palette PAL_BG_TEXT call .copy - ld de, UnknOBPals + 6 palettes + ld de, UnknOBPals palette PAL_OW_TREE call .copy - ld de, OBPals + 6 palettes + ld de, OBPals palette PAL_OW_TREE call .copy - ld de, UnknOBPals + 7 palettes + ld de, UnknOBPals palette PAL_OW_ROCK call .copy - ld de, OBPals + 7 palettes + ld de, OBPals palette PAL_OW_ROCK .copy ; 8c698 (23:4698) push hl diff --git a/engine/color.asm b/engine/color.asm index 3bc431d22..6e99e9cb7 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -2267,7 +2267,7 @@ Palettes_b789: RGB 18, 18, 18 RGB 00, 00, 00 -Palettes_b7a9: +SlotMachinePals: RGB 31, 31, 31 RGB 24, 25, 28 RGB 24, 24, 09 diff --git a/engine/player_object.asm b/engine/player_object.asm index 6b38a6328..a4796043b 100755 --- a/engine/player_object.asm +++ b/engine/player_object.asm @@ -29,14 +29,14 @@ SpawnPlayer: ; 8029 call GetMapObject ld hl, MAPOBJECT_COLOR add hl, bc - ln e, (1 << 3) | PAL_OW_RED, PERSONTYPE_SCRIPT + ln e, PAL_NPC_RED, PERSONTYPE_SCRIPT ld a, [wPlayerSpriteSetupFlags] bit 2, a jr nz, .ok ld a, [PlayerGender] bit 0, a jr z, .ok - ln e, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT + ln e, PAL_NPC_BLUE, PERSONTYPE_SCRIPT .ok ld [hl], e -- cgit v1.2.3 From a551e345df45897dd17c7cd5c7423851f8f210ba Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Sun, 10 Dec 2017 22:34:42 -0500 Subject: =?UTF-8?q?PokeCenter=20=E2=86=92=20Pokecenter=20(consistent=20wit?= =?UTF-8?q?h=20the=20POKECENTER=20map=20constants)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- engine/pokecenter_pc.asm | 24 ++++++++++++------------ engine/std_scripts.asm | 10 +++++----- 2 files changed, 17 insertions(+), 17 deletions(-) (limited to 'engine') diff --git a/engine/pokecenter_pc.asm b/engine/pokecenter_pc.asm index f6b970ede..8203ffa19 100755 --- a/engine/pokecenter_pc.asm +++ b/engine/pokecenter_pc.asm @@ -2,9 +2,9 @@ PokemonCenterPC: ; 1559a call PC_CheckPartyForPokemon ret c call PC_PlayBootSound - ld hl, PokeCenterPCText_BootedUpPC + ld hl, PokecenterPCText_BootedUpPC call PC_DisplayText - ld hl, PokeCenterPCText_AccessWhosePC + ld hl, PokecenterPCText_AccessWhosePC call PC_DisplayTextWaitMenu ld hl, .TopMenu call LoadMenuDataHeader @@ -103,7 +103,7 @@ PC_CheckPartyForPokemon: ; 15650 BillsPC: ; 15668 call PC_PlayChoosePCSound - ld hl, PokeCenterPCText_AccessedBillsPC + ld hl, PokecenterPCText_AccessedBillsPC call PC_DisplayText callba _BillsPC and a @@ -112,7 +112,7 @@ BillsPC: ; 15668 PlayersPC: ; 15679 call PC_PlayChoosePCSound - ld hl, PokeCenterPCText_AccessedOwnPC + ld hl, PokecenterPCText_AccessedOwnPC call PC_DisplayText ld b, $0 call _PlayersPC @@ -122,7 +122,7 @@ PlayersPC: ; 15679 OaksPC: ; 15689 call PC_PlayChoosePCSound - ld hl, PokeCenterPCText_AccessedOaksPC + ld hl, PokecenterPCText_AccessedOaksPC call PC_DisplayText callba ProfOaksPC and a @@ -139,7 +139,7 @@ HallOfFamePC: ; 1569a ; 156ab TurnOffPC: ; 156ab - ld hl, PokeCenterPCText_LinkClosed + ld hl, PokecenterPCText_LinkClosed call PrintText scf ret @@ -641,37 +641,37 @@ PC_DisplayText: ; 15a20 ret ; 15a27 -PokeCenterPCText_BootedUpPC: ; 0x15a27 +PokecenterPCText_BootedUpPC: ; 0x15a27 ; turned on the PC. text_jump UnknownText_0x1c144d db "@" ; 0x15a2c -PokeCenterPCText_AccessWhosePC: ; 0x15a2c +PokecenterPCText_AccessWhosePC: ; 0x15a2c ; Access whose PC? text_jump UnknownText_0x1c1462 db "@" ; 0x15a31 -PokeCenterPCText_AccessedBillsPC: ; 0x15a31 +PokecenterPCText_AccessedBillsPC: ; 0x15a31 ; BILL's PC accessed. #MON Storage System opened. text_jump UnknownText_0x1c1474 db "@" ; 0x15a36 -PokeCenterPCText_AccessedOwnPC: ; 0x15a36 +PokecenterPCText_AccessedOwnPC: ; 0x15a36 ; Accessed own PC. Item Storage System opened. text_jump UnknownText_0x1c14a4 db "@" ; 0x15a3b -PokeCenterPCText_AccessedOaksPC: ; 0x15a3b +PokecenterPCText_AccessedOaksPC: ; 0x15a3b ; PROF.OAK's PC accessed. #DEX Rating System opened. text_jump UnknownText_0x1c14d2 db "@" ; 0x15a40 -PokeCenterPCText_LinkClosed: ; 0x15a40 +PokecenterPCText_LinkClosed: ; 0x15a40 ; … Link closed… text_jump UnknownText_0x1c1505 db "@" diff --git a/engine/std_scripts.asm b/engine/std_scripts.asm index 629f16fc0..020875ff7 100644 --- a/engine/std_scripts.asm +++ b/engine/std_scripts.asm @@ -1,5 +1,5 @@ StdScripts:: - dba PokeCenterNurseScript + dba PokecenterNurseScript dba DifficultBookshelfScript dba PictureBookshelfScript dba MagazineBookshelfScript @@ -15,7 +15,7 @@ StdScripts:: dba TrashCanScript dba StrengthBoulderScript dba SmashRockScript - dba PokeCenterSignScript + dba PokecenterSignScript dba MartSignScript dba GoldenrodRocketsScript dba RadioTowerRocketsScript @@ -52,7 +52,7 @@ StdScripts:: dba GameCornerCoinVendorScript dba HappinessCheckScript -PokeCenterNurseScript: +PokecenterNurseScript: ; EVENT_WELCOMED_TO_POKECOM_CENTER is never set opentext @@ -236,8 +236,8 @@ StrengthBoulderScript: SmashRockScript: farjump AskRockSmashScript -PokeCenterSignScript: - farjumptext PokeCenterSignText +PokecenterSignScript: + farjumptext PokecenterSignText MartSignScript farjumptext MartSignText -- cgit v1.2.3 From c6fefd0fe878a350a5e8cb1140d0356c78648ba5 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Mon, 11 Dec 2017 00:17:39 -0500 Subject: Rename overworld sprite files, consistent with their constants --- engine/battle_start.asm | 2 +- engine/color.asm | 2 +- engine/events_3.asm | 4 ++-- engine/healmachineanim.asm | 2 +- engine/overworld.asm | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) (limited to 'engine') diff --git a/engine/battle_start.asm b/engine/battle_start.asm index 962948386..b16bbbd67 100644 --- a/engine/battle_start.asm +++ b/engine/battle_start.asm @@ -141,7 +141,7 @@ ConvertTrainerBattlePokeballTilesTo2bpp: ; 8c2cf ; 8c2f4 TrainerBattlePokeballTiles: ; 8c2f4 -INCBIN "gfx/ow_fx/trainer_battle_pokeball_tiles.2bpp" +INCBIN "gfx/overworld/trainer_battle_pokeball_tiles.2bpp" FlashyTransitionToBattle: ; 8c314 diff --git a/engine/color.asm b/engine/color.asm index 6e99e9cb7..8690d7f1c 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -1877,7 +1877,7 @@ Palettes_a8ca: INCLUDE "gfx/pics/palette_pointers.asm" -INCLUDE "gfx/trainers/palette_pointers.asm" +INCLUDE "gfx/trainer_palettes.asm" LoadMapPals: callba LoadSpecialMapPalette diff --git a/engine/events_3.asm b/engine/events_3.asm index cff4eefb9..b6aaea3b7 100755 --- a/engine/events_3.asm +++ b/engine/events_3.asm @@ -850,9 +850,9 @@ LoadFishingGFX: ; b84b3 ; b84f2 FishingGFX: ; b84f2 -INCBIN "gfx/ow_fx/chris_fish.2bpp" +INCBIN "gfx/overworld/chris_fish.2bpp" ; b8582 KrisFishingGFX: ; b8582 -INCBIN "gfx/ow_fx/kris_fish.2bpp" +INCBIN "gfx/overworld/kris_fish.2bpp" ; b8612 diff --git a/engine/healmachineanim.asm b/engine/healmachineanim.asm index bea580dcd..4f543c0b3 100755 --- a/engine/healmachineanim.asm +++ b/engine/healmachineanim.asm @@ -137,7 +137,7 @@ HealMachineAnim: ; 12324 ; 123fc .HealMachineGFX: ; 123fc -INCBIN "gfx/ow_fx/heal_machine.2bpp" +INCBIN "gfx/overworld/heal_machine.2bpp" ; 1241c .HOF_OAM: ; 1241c diff --git a/engine/overworld.asm b/engine/overworld.asm index 1a49b1bfc..3ed029800 100755 --- a/engine/overworld.asm +++ b/engine/overworld.asm @@ -1477,5 +1477,5 @@ Group20Sprites: ; 1472b SpriteHeaders: ; 14736 -INCLUDE "gfx/overworld/sprite_headers.asm" +INCLUDE "gfx/sprite_headers.asm" ; 1499a -- cgit v1.2.3 From 41acb0667a321865277f50a45e662b1aae939a00 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Mon, 11 Dec 2017 01:02:28 -0500 Subject: Document macros/map.asm Rename MORN/DAY/NITE to MORN_F/DAY_F/NITE_F; use MORN/DAY/NITE for shifted values (cleaner for person_events) Prefix FLOOR to the `elevfloor` constants --- engine/color.asm | 12 ++++++------ engine/evolve.asm | 4 ++-- engine/fish.asm | 2 +- engine/phone.asm | 2 +- engine/rtc.asm | 10 +++++----- engine/timeset.asm | 24 ++++++++++++------------ 6 files changed, 27 insertions(+), 27 deletions(-) (limited to 'engine') diff --git a/engine/color.asm b/engine/color.asm index 8690d7f1c..29b6656d5 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -1948,7 +1948,7 @@ LoadMapPals: call AddNTimes ld de, UnknOBPals ld bc, 8 palettes - ld a, $5 ; BANK(UnknOBPals) + ld a, BANK(UnknOBPals) call FarCopyWRAM ld a, [wPermission] @@ -1967,13 +1967,13 @@ LoadMapPals: add hl, de ld a, [TimeOfDayPal] and 3 - cp NITE + cp NITE_F jr c, .morn_day rept 4 inc hl endr .morn_day - ld de, UnknBGPals + 6 palettes + 2 + ld de, UnknBGPals palette PAL_BG_ROOF + 2 ld bc, 4 ld a, $5 call FarCopyWRAM @@ -1983,10 +1983,10 @@ endr dw .OutdoorColors ; unused dw .OutdoorColors ; TOWN dw .OutdoorColors ; ROUTE - dw .IndoorColors ; INDOOR + dw .IndoorColors ; INDOOR dw .DungeonColors ; CAVE - dw .Perm5Colors ; PERM_5 - dw .IndoorColors ; GATE + dw .Perm5Colors ; PERM_5 + dw .IndoorColors ; GATE dw .DungeonColors ; DUNGEON ; Valid indices: $00 - $29 diff --git a/engine/evolve.asm b/engine/evolve.asm index 3dc5d20b7..ada1e2f5f 100755 --- a/engine/evolve.asm +++ b/engine/evolve.asm @@ -133,13 +133,13 @@ EvolveAfterBattle_MasterLoop ; TR_NITE ld a, [TimeOfDay] - cp NITE + cp NITE_F jp nz, .dont_evolve_3 jr .proceed .happiness_daylight ld a, [TimeOfDay] - cp NITE + cp NITE_F jp z, .dont_evolve_3 jr .proceed diff --git a/engine/fish.asm b/engine/fish.asm index 44fe57b25..c571bba56 100644 --- a/engine/fish.asm +++ b/engine/fish.asm @@ -81,7 +81,7 @@ endr ld a, [TimeOfDay] and 3 - cp NITE + cp NITE_F jr c, .time_species inc hl inc hl diff --git a/engine/phone.asm b/engine/phone.asm index 6366ea579..55deab4d1 100644 --- a/engine/phone.asm +++ b/engine/phone.asm @@ -165,7 +165,7 @@ CheckPhoneContactTimeOfDay: ; 900ad (24:40ad) callba CheckTime pop af - and (1 << MORN) + (1 << DAY) + (1 << NITE) + and MORN + DAY + NITE and c pop de diff --git a/engine/rtc.asm b/engine/rtc.asm index 3018b5301..1b1b44fa6 100755 --- a/engine/rtc.asm +++ b/engine/rtc.asm @@ -51,11 +51,11 @@ GetTimeOfDay:: ; 14032 TimesOfDay: ; 14044 ; hours for the time of day ; 04-09 morn | 10-17 day | 18-03 nite - db 04, NITE - db 10, MORN - db 18, DAY - db 24, NITE - db -1, MORN + db 04, NITE_F + db 10, MORN_F + db 18, DAY_F + db 24, NITE_F + db -1, MORN_F ; 1404e Unknown_1404e: ; Unreferenced diff --git a/engine/timeset.asm b/engine/timeset.asm index ca5d9b85a..e8b0642e4 100755 --- a/engine/timeset.asm +++ b/engine/timeset.asm @@ -362,18 +362,18 @@ OakText_ResponseToSetTime: ; 0x908b8 ld c, l ld a, [wInitHourBuffer] cp 4 - jr c, .NITE + jr c, .nite cp 11 - jr c, .MORN + jr c, .morn cp 18 - jr c, .DAY -.NITE: + jr c, .day +.nite: ld hl, .sodark ret -.MORN: +.morn: ld hl, .overslept ret -.DAY: +.day: ld hl, .yikes ret ; 908ec (24:48ec) @@ -738,19 +738,19 @@ GetTimeOfDayString: ; 90b58 (24:4b58) cp 18 jr c, .day .nite - ld de, .NITE + ld de, .nite_string ret .morn - ld de, .MORN + ld de, .morn_string ret .day - ld de, .DAY + ld de, .day_string ret ; 90b71 (24:4b71) -.NITE: db "NITE@" -.MORN: db "MORN@" -.DAY: db "DAY@" +.nite_string: db "NITE@" +.morn_string: db "MORN@" +.day_string: db "DAY@" ; 90b7f AdjustHourForAMorPM: -- cgit v1.2.3 From c2ad79c4f21b5f4dd661d69a7a81b69506be8821 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Mon, 11 Dec 2017 12:20:01 -0500 Subject: Add constants for time-of-day boundaries Split off more misc constants into proper files --- engine/radio.asm | 2 +- engine/rtc.asm | 10 +++++----- engine/timeset.asm | 35 ++++++++++++++++++----------------- 3 files changed, 24 insertions(+), 23 deletions(-) (limited to 'engine') diff --git a/engine/radio.asm b/engine/radio.asm index 8760956b2..feded7616 100644 --- a/engine/radio.asm +++ b/engine/radio.asm @@ -1837,7 +1837,7 @@ BuenasPassword21: BuenasPasswordCheckTime: call UpdateTime ld a, [hHours] - cp 18 ; 6 PM + cp NITE_HOUR ret BuenasPasswordChannelName: diff --git a/engine/rtc.asm b/engine/rtc.asm index 1b1b44fa6..f69dc1f6d 100755 --- a/engine/rtc.asm +++ b/engine/rtc.asm @@ -50,11 +50,11 @@ GetTimeOfDay:: ; 14032 TimesOfDay: ; 14044 ; hours for the time of day -; 04-09 morn | 10-17 day | 18-03 nite - db 04, NITE_F - db 10, MORN_F - db 18, DAY_F - db 24, NITE_F +; 0400-0959 morn | 1000-1759 day | 1800-0359 nite + db MORN_HOUR, NITE_F + db DAY_HOUR, MORN_F + db NITE_HOUR, DAY_F + db MAX_HOUR, NITE_F db -1, MORN_F ; 1404e diff --git a/engine/timeset.asm b/engine/timeset.asm index e8b0642e4..2a578f998 100755 --- a/engine/timeset.asm +++ b/engine/timeset.asm @@ -44,7 +44,7 @@ InitClock: ; 90672 (24:4672) ld bc, 50 xor a call ByteFill - ld a, $a + ld a, 10 ; default hour = 10 AM ld [wInitHourBuffer], a .loop @@ -98,7 +98,7 @@ InitClock: ; 90672 (24:4672) call SetMinutes jr nc, .SetMinutesLoop - ld a, [BattleMonNick + 5] + ld a, [wInitMinuteBuffer] ld [StringBuffer2 + 2], a call .ClearScreen ld hl, Text_WhoaMins @@ -237,7 +237,7 @@ SetMinutes: ; 90810 (24:4810) ret .d_down - ld hl, BattleMonNick + 5 + ld hl, wInitMinuteBuffer ld a, [hl] and a jr nz, .decrease @@ -248,7 +248,7 @@ SetMinutes: ; 90810 (24:4810) jr .finish_dpad .d_up - ld hl, BattleMonNick + 5 + ld hl, wInitMinuteBuffer ld a, [hl] cp 59 jr c, .increase @@ -271,7 +271,7 @@ SetMinutes: ; 90810 (24:4810) ret DisplayMinutesWithMinString: ; 90859 (24:4859) - ld de, BattleMonNick + 5 + ld de, wInitMinuteBuffer call PrintTwoDigitNumberRightAlign inc hl ld de, String_min @@ -355,17 +355,17 @@ OakText_ResponseToSetTime: ; 0x908b8 call PrintHour ld [hl], ":" inc hl - ld de, BattleMonNick + 5 + ld de, wInitMinuteBuffer lb bc, PRINTNUM_LEADINGZEROS | 1, 2 call PrintNum ld b, h ld c, l ld a, [wInitHourBuffer] - cp 4 + cp MORN_HOUR jr c, .nite - cp 11 + cp DAY_HOUR + 1 jr c, .morn - cp 18 + cp NITE_HOUR jr c, .day .nite: ld hl, .sodark @@ -482,7 +482,7 @@ Special_SetDayOfWeek: ; 90913 ld a, [hl] and a jr nz, .decrease - ld a, 6 + 1 + ld a, SATURDAY + 1 .decrease dec a @@ -494,7 +494,7 @@ Special_SetDayOfWeek: ; 90913 ld a, [hl] cp 6 jr c, .increase - ld a, 0 - 1 + ld a, SUNDAY - 1 .increase inc a @@ -531,6 +531,7 @@ Special_SetDayOfWeek: ; 90913 ; 909f2 .WeekdayStrings: ; 909f2 +; entries correspond to CurDay constants (see constants/wram_constants.asm) dw .Sunday dw .Monday dw .Tuesday @@ -731,11 +732,11 @@ PrintHour: ; 90b3e (24:4b3e) GetTimeOfDayString: ; 90b58 (24:4b58) ld a, c - cp 4 + cp MORN_HOUR jr c, .nite - cp 10 + cp DAY_HOUR jr c, .morn - cp 18 + cp NITE_HOUR jr c, .day .nite ld de, .nite_string @@ -758,12 +759,12 @@ AdjustHourForAMorPM: ld a, c or a jr z, .midnight - cp 12 + cp NOON_HOUR ret c ret z - sub 12 + sub NOON_HOUR ret .midnight - ld a, 12 + ld a, NOON_HOUR ret -- cgit v1.2.3 From 31cce83e9b3bab01d8a605b170549fbd25ca5fee Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Mon, 11 Dec 2017 13:47:58 -0500 Subject: Move lots of data tables into individual data/ files (This is not expected to be their final location, but it makes them easier to relocate when necessary, and easier for users to edit until the whole project's file structure is finalized.) --- engine/battle_tower.asm | 210 ++++++++++ engine/decorations.asm | 62 +-- engine/delete_save_change_clock.asm | 4 +- engine/engine_flags.asm | 203 +--------- engine/events_2.asm | 13 +- engine/events_3.asm | 173 +-------- engine/facings.asm | 264 ------------- engine/fruit_trees.asm | 31 +- engine/intro_menu.asm | 8 +- engine/landmarks.asm | 207 +--------- engine/map_objects.asm | 2 +- engine/map_triggers.asm | 91 ----- engine/mon_icons.asm | 25 +- engine/mysterygift2.asm | 82 +--- engine/npctrade.asm | 46 +-- engine/odd_eggs.asm | 96 +++++ engine/options_menu.asm | 128 +++--- engine/overworld.asm | 752 +----------------------------------- engine/phone.asm | 80 +--- engine/save.asm | 9 +- engine/spawn_points.asm | 40 +- engine/sprites.asm | 93 +---- engine/time_capsule/conversion.asm | 407 +------------------ engine/tmhm.asm | 65 +--- engine/wildmons.asm | 42 +- 25 files changed, 437 insertions(+), 2696 deletions(-) create mode 100644 engine/battle_tower.asm delete mode 100644 engine/facings.asm delete mode 100644 engine/map_triggers.asm create mode 100644 engine/odd_eggs.asm (limited to 'engine') diff --git a/engine/battle_tower.asm b/engine/battle_tower.asm new file mode 100644 index 000000000..b880a099b --- /dev/null +++ b/engine/battle_tower.asm @@ -0,0 +1,210 @@ +Function_LoadOpponentTrainerAndPokemons: ; 1f8000 + ld a, [rSVBK] + push af + ld a, BANK(BT_OTTrainer) + ld [rSVBK], a + + ; Fill BT_OTTrainer with zeros + xor a + ld hl, BT_OTTrainer + ld bc, BT_OTTrainerEnd - BT_OTTrainer + call ByteFill + + ; Write $ff into the Item-Slots + ld a, $ff + ld [BT_OTPkmn1Item], a + ld [BT_OTPkmn2Item], a + ld [BT_OTPkmn3Item], a + + ; Set BT_OTTrainer as start address to write the following data to + ld de, BT_OTTrainer + + ld a, [hRandomAdd] + ld b, a +.resample ; loop to find a random trainer + call Random + ld a, [hRandomAdd] + add b + ld b, a ; b contains the nr of the trainer +IF DEF(CRYSTAL11) + and (1 << 7) - 1 + cp 70 +ELSE + and (1 << 5) - 1 + cp 21 +ENDC + jr nc, .resample + ld b, a + + ld a, BANK(sBTTrainers) + call GetSRAMBank + + ld c, BATTLETOWER_NROFTRAINERS + ld hl, sBTTrainers +.next_trainer + ld a, [hli] + cp b + jr z, .resample + dec c + jr nz, .next_trainer ; c <= 7 initialise all 7 trainers? + + ld hl, sBTTrainers + ld a, [sNrOfBeatenBattleTowerTrainers] + ld c, a + ld a, b + ld b, 0 + add hl, bc + ld [hl], a + + call CloseSRAM + + push af +; Copy name (10 bytes) and class (1 byte) of trainer + ld hl, BattleTowerTrainers + ld bc, NAME_LENGTH + call AddNTimes + ld bc, NAME_LENGTH + call CopyBytes + + call Function_LoadRandomBattleTowerPkmn + pop af + + ld hl, BattleTowerTrainerData + ld bc, BATTLETOWER_TRAINERDATALENGTH + call AddNTimes + ld bc, BATTLETOWER_TRAINERDATALENGTH +.copy_bt_trainer_data_loop + ld a, BANK(BattleTowerTrainerData) + call GetFarByte + ld [de], a + inc hl + inc de + dec bc + ld a, b + or c + jr nz, .copy_bt_trainer_data_loop + + pop af + ld [rSVBK], a + + ret + + +Function_LoadRandomBattleTowerPkmn: ; 1f8081 + ld c, BATTLETOWER_NROFPKMNS +.loop + push bc + ld a, BANK(sBTPkmnPrevTrainer1) + call GetSRAMBank + +.FindARandomBattleTowerPkmn: + ; From Which LevelGroup are the Pkmn loaded + ; a = 1..10 + ld a, [wBTChoiceOfLvlGroup] ; [$d800] + dec a + ld hl, BattleTowerMons + ld bc, BattleTowerMons2 - BattleTowerMons1 + call AddNTimes + + ld a, [hRandomAdd] + ld b, a +.resample + call Random + ld a, [hRandomAdd] + add b + ld b, a + and $1f + cp BATTLETOWER_NRMONSPERLEVELBRACKET + jr nc, .resample + ; in register 'a' is the chosen Pkmn of the LevelGroup + + ; Check if Pkmn was already loaded before + ; Check current and the 2 previous teams + ; includes check if item is double at the current team + ld bc, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH + call AddNTimes + ld a, [hli] + ld b, a + ld a, [hld] + ld c, a + ld a, [BT_OTPkmn1] + cp b + jr z, .FindARandomBattleTowerPkmn + ld a, [BT_OTPkmn1Item] + cp c + jr z, .FindARandomBattleTowerPkmn + ld a, [BT_OTPkmn2] + cp b + jr z, .FindARandomBattleTowerPkmn + ld a, [BT_OTPkmn2Item] + cp c + jr z, .FindARandomBattleTowerPkmn + ld a, [BT_OTPkmn3] + cp b + jr z, .FindARandomBattleTowerPkmn + ld a, [BT_OTPkmn3Item] + cp c + jr z, .FindARandomBattleTowerPkmn + ld a, [sBTPkmnPrevTrainer1] + cp b + jr z, .FindARandomBattleTowerPkmn + ld a, [sBTPkmnPrevTrainer2] + cp b + jr z, .FindARandomBattleTowerPkmn + ld a, [sBTPkmnPrevTrainer3] + cp b + jr z, .FindARandomBattleTowerPkmn + ld a, [sBTPkmnPrevPrevTrainer1] + cp b + jr z, .FindARandomBattleTowerPkmn + ld a, [sBTPkmnPrevPrevTrainer2] + cp b + jr z, .FindARandomBattleTowerPkmn + ld a, [sBTPkmnPrevPrevTrainer3] + cp b + jr z, .FindARandomBattleTowerPkmn + + ld bc, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH + call CopyBytes + + ld a, [wNamedObjectIndexBuffer] + push af + push de + ld hl, - (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH) + add hl, de + ld a, [hl] + ld [wNamedObjectIndexBuffer], a + ld bc, PARTYMON_STRUCT_LENGTH + add hl, bc + push hl + call GetPokemonName + ld h, d + ld l, e + pop de + ld bc, PKMN_NAME_LENGTH + call CopyBytes + + pop de + pop af + ld [wNamedObjectIndexBuffer], a + pop bc + dec c + jp nz, .loop + + ld a, [sBTPkmnPrevTrainer1] + ld [sBTPkmnPrevPrevTrainer1], a + ld a, [sBTPkmnPrevTrainer2] + ld [sBTPkmnPrevPrevTrainer2], a + ld a, [sBTPkmnPrevTrainer3] + ld [sBTPkmnPrevPrevTrainer3], a + ld a, [BT_OTPkmn1] + ld [sBTPkmnPrevTrainer1], a + ld a, [BT_OTPkmn2] + ld [sBTPkmnPrevTrainer2], a + ld a, [BT_OTPkmn3] + ld [sBTPkmnPrevTrainer3], a + call CloseSRAM + ret +; 1f814e + +INCLUDE "data/battle_tower.asm" diff --git a/engine/decorations.asm b/engine/decorations.asm index ad82a2080..4d8410bb6 100755 --- a/engine/decorations.asm +++ b/engine/decorations.asm @@ -541,70 +541,10 @@ GetDecorationSprite: ; 26a44 ret ; 26a4f -decoration: MACRO - ; type, name, command, event flag, tile/sprite - db \1, \2, \3 - dw \4 - db \5 -ENDM - DecorationAttributes: ; 26a4f - decoration DECO_PLANT, $00, $0, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BED, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_BED, FEATHERY_BED, SET_UP_BED, EVENT_DECO_BED_1, $1b - decoration DECO_BED, PINK_BED, SET_UP_BED, EVENT_DECO_BED_2, $1c - decoration DECO_BED, POLKADOT_BED, SET_UP_BED, EVENT_DECO_BED_3, $1d - decoration DECO_BED, PIKACHU_BED, SET_UP_BED, EVENT_DECO_BED_4, $1e - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_CARPET, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_CARPET, RED_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_1, $08 - decoration DECO_CARPET, BLUE_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_2, $0b - decoration DECO_CARPET, YELLOW_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_3, $0e - decoration DECO_CARPET, GREEN_CARPET, SET_UP_CARPET, EVENT_DECO_CARPET_4, $11 - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_PLANT, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_PLANT, MAGNAPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_1, $20 - decoration DECO_PLANT, TROPICPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_2, $21 - decoration DECO_PLANT, JUMBOPLANT, SET_UP_PLANT, EVENT_DECO_PLANT_3, $22 - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_POSTER, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_PLANT, TOWN_MAP_D, SET_UP_POSTER, EVENT_DECO_PLANT_4, $1f - decoration DECO_POSTER, PIKACHU, SET_UP_POSTER, EVENT_DECO_POSTER_1, $23 - decoration DECO_POSTER, CLEFAIRY, SET_UP_POSTER, EVENT_DECO_POSTER_2, $24 - decoration DECO_POSTER, JIGGLYPUFF, SET_UP_POSTER, EVENT_DECO_POSTER_3, $25 - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_CONSOLE, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_PLANT, FAMICOM, SET_UP_CONSOLE, EVENT_DECO_FAMICOM, SPRITE_FAMICOM - decoration DECO_PLANT, SUPER_NES, SET_UP_CONSOLE, EVENT_DECO_SNES, SPRITE_SNES - decoration DECO_PLANT, NINTENDO_64, SET_UP_CONSOLE, EVENT_DECO_N64, SPRITE_N64 - decoration DECO_PLANT, VIRTUAL_BOY, SET_UP_CONSOLE, EVENT_DECO_VIRTUAL_BOY, SPRITE_VIRTUAL_BOY - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BIG_DOLL, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_BIGDOLL, SNORLAX, SET_UP_BIG_DOLL, EVENT_DECO_BIG_SNORLAX_DOLL, SPRITE_BIG_SNORLAX - decoration DECO_BIGDOLL, ONIX, SET_UP_BIG_DOLL, EVENT_DECO_BIG_ONIX_DOLL, SPRITE_BIG_ONIX - decoration DECO_BIGDOLL, LAPRAS, SET_UP_BIG_DOLL, EVENT_DECO_BIG_LAPRAS_DOLL, SPRITE_BIG_LAPRAS - decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_DOLL, EVENT_GAVE_KURT_APRICORNS, $00 - decoration DECO_DOLL, PIKACHU, SET_UP_DOLL, EVENT_DECO_PIKACHU_DOLL, SPRITE_PIKACHU - decoration DECO_PLANT, SURF_PIKA_DOLL, SET_UP_DOLL, EVENT_DECO_SURFING_PIKACHU_DOLL, SPRITE_SURFING_PIKACHU - decoration DECO_DOLL, CLEFAIRY, SET_UP_DOLL, EVENT_DECO_CLEFAIRY_DOLL, SPRITE_CLEFAIRY - decoration DECO_DOLL, JIGGLYPUFF, SET_UP_DOLL, EVENT_DECO_JIGGLYPUFF_DOLL, SPRITE_JIGGLYPUFF - decoration DECO_DOLL, BULBASAUR, SET_UP_DOLL, EVENT_DECO_BULBASAUR_DOLL, SPRITE_BULBASAUR - decoration DECO_DOLL, CHARMANDER, SET_UP_DOLL, EVENT_DECO_CHARMANDER_DOLL, SPRITE_CHARMANDER - decoration DECO_DOLL, SQUIRTLE, SET_UP_DOLL, EVENT_DECO_SQUIRTLE_DOLL, SPRITE_SQUIRTLE - decoration DECO_DOLL, POLIWAG, SET_UP_DOLL, EVENT_DECO_POLIWAG_DOLL, SPRITE_POLIWAG - decoration DECO_DOLL, DIGLETT, SET_UP_DOLL, EVENT_DECO_DIGLETT_DOLL, SPRITE_DIGLETT - decoration DECO_DOLL, STARYU, SET_UP_DOLL, EVENT_DECO_STARMIE_DOLL, SPRITE_STARMIE - decoration DECO_DOLL, MAGIKARP, SET_UP_DOLL, EVENT_DECO_MAGIKARP_DOLL, SPRITE_MAGIKARP - decoration DECO_DOLL, ODDISH, SET_UP_DOLL, EVENT_DECO_ODDISH_DOLL, SPRITE_ODDISH - decoration DECO_DOLL, GENGAR, SET_UP_DOLL, EVENT_DECO_GENGAR_DOLL, SPRITE_GENGAR - decoration DECO_DOLL, SHELLDER, SET_UP_DOLL, EVENT_DECO_SHELLDER_DOLL, SPRITE_SHELLDER - decoration DECO_DOLL, GRIMER, SET_UP_DOLL, EVENT_DECO_GRIMER_DOLL, SPRITE_GRIMER - decoration DECO_DOLL, VOLTORB, SET_UP_DOLL, EVENT_DECO_VOLTORB_DOLL, SPRITE_VOLTORB - decoration DECO_DOLL, WEEDLE, SET_UP_DOLL, EVENT_DECO_WEEDLE_DOLL, SPRITE_WEEDLE - decoration DECO_DOLL, UNOWN, SET_UP_DOLL, EVENT_DECO_UNOWN_DOLL, SPRITE_UNOWN - decoration DECO_DOLL, GEODUDE, SET_UP_DOLL, EVENT_DECO_GEODUDE_DOLL, SPRITE_GEODUDE - decoration DECO_DOLL, MACHOP, SET_UP_DOLL, EVENT_DECO_MACHOP_DOLL, SPRITE_MACHOP - decoration DECO_DOLL, TENTACOOL, SET_UP_DOLL, EVENT_DECO_TENTACOOL_DOLL, SPRITE_TENTACOOL - decoration DECO_PLANT, GOLD_TROPHY, SET_UP_DOLL, EVENT_DECO_GOLD_TROPHY, SPRITE_GOLD_TROPHY - decoration DECO_PLANT, SILVER_TROPHY, SET_UP_DOLL, EVENT_DECO_SILVER_TROPHY, SPRITE_SILVER_TROPHY +INCLUDE "data/decoration_attributes.asm" ; 26b8d - DecorationNames: ; 26b8d db "CANCEL@" db "PUT IT AWAY@" diff --git a/engine/delete_save_change_clock.asm b/engine/delete_save_change_clock.asm index 7a806ad01..782b95425 100755 --- a/engine/delete_save_change_clock.asm +++ b/engine/delete_save_change_clock.asm @@ -127,7 +127,7 @@ ClockResetPassword: ; 4d41e ld e, a ld d, $0 add hl, de - ld [hl], $61 + ld [hl], "▲" ret .dpadinput ; 4d490 @@ -227,7 +227,7 @@ ClockResetPassword: ; 4d41e ld c, $2 call .ComponentFromNumber ld hl, sPlayerData + (PlayerName - wPlayerData) - ld c, $5 ; PLAYER_NAME_LENGTH_J + ld c, NAME_LENGTH_JAPANESE - 1 call .ComponentFromString ld hl, sPlayerData + (Money - wPlayerData) ld c, $3 diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm index 943735ca6..3ff7f42dd 100644 --- a/engine/engine_flags.asm +++ b/engine/engine_flags.asm @@ -84,205 +84,4 @@ EngineFlagAction:: ; 80430 EngineFlags: ; 80462 -; All locations are in WRAM bank 1. -engine_flag: MACRO - dwb \1, 1 << \2 -ENDM - ; location, bit - - ; pokegear - engine_flag wPokegearFlags, 1 ; radio card ; $0 - engine_flag wPokegearFlags, 0 ; map card - engine_flag wPokegearFlags, 2 ; phone card - engine_flag wPokegearFlags, 3 ; expn card - engine_flag wPokegearFlags, 7 ; on/off - - ; wDayCareMan, 7 ; day-care 1 on - engine_flag wDayCareMan, 6 ; egg is ready - ; wDayCareMan, 5 ; monster 1 and 2 are compatible - engine_flag wDayCareMan, 0 ; monster 1 in day-care - - ; wDayCareLady, 7 = day-care 2 on - engine_flag wDayCareLady, 0 ; monster 2 in day-care - - engine_flag wMomSavingMoney, 0 ; mom saving money ; $8 - engine_flag wMomSavingMoney, 7 ; dst - - engine_flag wUnusedTwoDayTimerOn, 0 ; unused, possibly related to a 2-day timer - - engine_flag StatusFlags, 0 ; pokedex - engine_flag StatusFlags, 1 ; unown dex - engine_flag StatusFlags, 3 ; pokerus - engine_flag StatusFlags, 4 ; rocket signal on ch20 - engine_flag StatusFlags, 6 ; credits skip - engine_flag StatusFlags, 7 ; bug contest on ; $10 - engine_flag StatusFlags2, 2 ; bug contest timer - engine_flag StatusFlags2, 1 ; safari zone? - engine_flag StatusFlags2, 0 ; rockets in radio tower - engine_flag StatusFlags2, 4 ; bike shop call enabled (1024 bike steps reqd) - engine_flag StatusFlags2, 5 ; give pokerus - engine_flag StatusFlags2, 6 ; berry -> berry juice when trading? - engine_flag StatusFlags2, 7 ; rockets in mahogany - - engine_flag BikeFlags, 0 ; strength active ; $18 - engine_flag BikeFlags, 1 ; always on bike (cant surf) - engine_flag BikeFlags, 2 ; downhill (cycling road) - - engine_flag JohtoBadges, 0 ; zephyrbadge - engine_flag JohtoBadges, 1 ; hivebadge - engine_flag JohtoBadges, 2 ; plainbadge - engine_flag JohtoBadges, 3 ; fogbadge - engine_flag JohtoBadges, 4 ; mineralbadge - engine_flag JohtoBadges, 5 ; stormbadge ; $20 - engine_flag JohtoBadges, 6 ; glacierbadge - engine_flag JohtoBadges, 7 ; risingbadge - - engine_flag KantoBadges, 0 ; boulderbadge - engine_flag KantoBadges, 1 ; cascadebadge - engine_flag KantoBadges, 2 ; thunderbadge - engine_flag KantoBadges, 3 ; rainbowbadge - engine_flag KantoBadges, 4 ; soulbadge - engine_flag KantoBadges, 5 ; marshbadge ; $28 - engine_flag KantoBadges, 6 ; volcanobadge - engine_flag KantoBadges, 7 ; earthbadge - - ; unown sets - engine_flag UnlockedUnowns, 0 ; 1 - engine_flag UnlockedUnowns, 1 ; 2 - engine_flag UnlockedUnowns, 2 ; 3 - engine_flag UnlockedUnowns, 3 ; 4 - engine_flag UnlockedUnowns, 4 ; 5 - engine_flag UnlockedUnowns, 5 ; 6 ; $30 - engine_flag UnlockedUnowns, 6 ; 7 - engine_flag UnlockedUnowns, 7 ; 8 - - ; fly - engine_flag VisitedSpawns, 0 ; your house - engine_flag VisitedSpawns, 1 ; viridian pokecenter - engine_flag VisitedSpawns, 2 ; pallet - engine_flag VisitedSpawns, 3 ; viridian - engine_flag VisitedSpawns, 4 ; pewter - engine_flag VisitedSpawns, 5 ; cerulean ; $38 - engine_flag VisitedSpawns, 6 ; rock tunnel - engine_flag VisitedSpawns, 7 ; vermilion - engine_flag VisitedSpawns + 1, 0 ; lavender - engine_flag VisitedSpawns + 1, 1 ; saffron - engine_flag VisitedSpawns + 1, 2 ; celadon - engine_flag VisitedSpawns + 1, 3 ; fuchsia - engine_flag VisitedSpawns + 1, 4 ; cinnabar - engine_flag VisitedSpawns + 1, 5 ; indigo plateau ; $40 - engine_flag VisitedSpawns + 1, 6 ; new bark - engine_flag VisitedSpawns + 1, 7 ; cherrygrove - engine_flag VisitedSpawns + 2, 0 ; violet - ; union cave - engine_flag VisitedSpawns + 2, 2 ; azalea - engine_flag VisitedSpawns + 2, 3 ; cianwood - engine_flag VisitedSpawns + 2, 4 ; goldenrod - engine_flag VisitedSpawns + 2, 5 ; olivine - engine_flag VisitedSpawns + 2, 6 ; ecruteak ; $48 - engine_flag VisitedSpawns + 2, 7 ; mahogany - engine_flag VisitedSpawns + 3, 0 ; lake of rage - engine_flag VisitedSpawns + 3, 1 ; blackthorn - engine_flag VisitedSpawns + 3, 2 ; silver cave - ; fast ship - engine_flag VisitedSpawns + 3, 4 ; unused - - engine_flag wLuckyNumberShowFlag, 0 ; lucky number show - engine_flag StatusFlags2, 3 ; ???? - - engine_flag DailyFlags, 0 ; kurt making balls ; $50 - engine_flag DailyFlags, 1 ; ???? - engine_flag DailyFlags, 2 ; special wilddata? - engine_flag DailyFlags, 3 ; time capsule (24h wait) - engine_flag DailyFlags, 4 ; all fruit trees - engine_flag DailyFlags, 5 ; shuckle given - engine_flag DailyFlags, 6 ; goldenrod underground merchant closed - engine_flag DailyFlags, 7 ; fought in trainer hall today - - engine_flag WeeklyFlags, 0 ; mt moon square clefairy ; $58 - engine_flag WeeklyFlags, 1 ; union cave lapras - engine_flag WeeklyFlags, 2 ; goldenrod underground haircut used - engine_flag WeeklyFlags, 3 ; goldenrod mall happiness event floor05 person07 - engine_flag WeeklyFlags, 4 ; tea in blues house - engine_flag WeeklyFlags, 5 ; indigo plateau rival fight - engine_flag WeeklyFlags, 6 ; move tutor - engine_flag WeeklyFlags, 7 ; buenas password - - engine_flag SwarmFlags, 0 ; buenas password 2 - engine_flag SwarmFlags, 1 ; goldenrod dept store sale is on - - engine_flag GameTimerPause, 7 ; $62 - - engine_flag PlayerGender, 0 ; player is female - - engine_flag wCelebiEvent, 2 ; have gs ball after kurt examined it - - ; rematches - engine_flag wDailyRematchFlags, 0 ; jack - engine_flag wDailyRematchFlags, 1 ; huey - engine_flag wDailyRematchFlags, 2 ; gaven - engine_flag wDailyRematchFlags, 3 ; beth ; $68 - engine_flag wDailyRematchFlags, 4 ; jose - engine_flag wDailyRematchFlags, 5 ; reena - engine_flag wDailyRematchFlags, 6 ; joey - engine_flag wDailyRematchFlags, 7 ; wade - engine_flag wDailyRematchFlags + 1, 0 ; ralph - engine_flag wDailyRematchFlags + 1, 1 ; liz - engine_flag wDailyRematchFlags + 1, 2 ; anthony - engine_flag wDailyRematchFlags + 1, 3 ; todd ; $70 - engine_flag wDailyRematchFlags + 1, 4 ; gina - engine_flag wDailyRematchFlags + 1, 5 ; arnie - engine_flag wDailyRematchFlags + 1, 6 ; alan - engine_flag wDailyRematchFlags + 1, 7 ; dana - engine_flag wDailyRematchFlags + 2, 0 ; chad - engine_flag wDailyRematchFlags + 2, 1 ; tully - engine_flag wDailyRematchFlags + 2, 2 ; brent - engine_flag wDailyRematchFlags + 2, 3 ; tiffany ; $78 - engine_flag wDailyRematchFlags + 2, 4 ; vance - engine_flag wDailyRematchFlags + 2, 5 ; wilton - engine_flag wDailyRematchFlags + 2, 6 ; parry - engine_flag wDailyRematchFlags + 2, 7 ; erin - - engine_flag wDailyPhoneItemFlags, 0 ; beverly has nugget - engine_flag wDailyPhoneItemFlags, 1 ; jose has star piece - engine_flag wDailyPhoneItemFlags, 2 ; wade has item (see EVENT_WADE_HAS_*** in constants/event_flags.asm) - engine_flag wDailyPhoneItemFlags, 3 ; gina has leaf stone ; $80 - engine_flag wDailyPhoneItemFlags, 4 ; alan has fire stone - engine_flag wDailyPhoneItemFlags, 5 ; liz has thunderstone - engine_flag wDailyPhoneItemFlags, 6 ; derek has nugget - engine_flag wDailyPhoneItemFlags, 7 ; tully has water stone - - engine_flag wDailyPhoneItemFlags + 1, 0 ; tiffany has pink bow - engine_flag wDailyPhoneItemFlags + 1, 1 ; wilton has item (see EVENT_WILTON_HAS_*** in constants/event_flags.asm) - - engine_flag wDailyPhoneTimeOfDayFlags, 0 - engine_flag wDailyPhoneTimeOfDayFlags, 1 ; $88 - engine_flag wDailyPhoneTimeOfDayFlags, 2 - engine_flag wDailyPhoneTimeOfDayFlags, 3 - engine_flag wDailyPhoneTimeOfDayFlags, 4 - engine_flag wDailyPhoneTimeOfDayFlags, 5 - engine_flag wDailyPhoneTimeOfDayFlags, 6 - engine_flag wDailyPhoneTimeOfDayFlags, 7 - - engine_flag wDailyPhoneTimeOfDayFlags + 1, 0 - engine_flag wDailyPhoneTimeOfDayFlags + 1, 1 ; $90 - engine_flag wDailyPhoneTimeOfDayFlags + 1, 2 - engine_flag wDailyPhoneTimeOfDayFlags + 1, 3 - engine_flag wDailyPhoneTimeOfDayFlags + 1, 4 - engine_flag wDailyPhoneTimeOfDayFlags + 1, 5 - engine_flag wDailyPhoneTimeOfDayFlags + 1, 6 - engine_flag wDailyPhoneTimeOfDayFlags + 1, 7 - - engine_flag wDailyPhoneTimeOfDayFlags + 2, 0 - engine_flag wDailyPhoneTimeOfDayFlags + 2, 1 ; $98 - engine_flag wDailyPhoneTimeOfDayFlags + 2, 2 - engine_flag wDailyPhoneTimeOfDayFlags + 2, 3 - engine_flag wDailyPhoneTimeOfDayFlags + 2, 4 - engine_flag wDailyPhoneTimeOfDayFlags + 2, 5 - engine_flag wDailyPhoneTimeOfDayFlags + 2, 6 - engine_flag wDailyPhoneTimeOfDayFlags + 2, 7 - - engine_flag wPlayerSpriteSetupFlags, 2 ; female player has been transformed into male - - engine_flag SwarmFlags, 2 ; dunsparce swarm ; $a0 - engine_flag SwarmFlags, 3 ; yanma swarm +INCLUDE "data/engine_flags.asm" diff --git a/engine/events_2.asm b/engine/events_2.asm index 285b3e05b..5a89f5e68 100644 --- a/engine/events_2.asm +++ b/engine/events_2.asm @@ -254,18 +254,7 @@ TryWildEncounter_BugContest: ; 97d64 ; 97d87 ContestMons: ; 97d87 - ; %, species, min, max - db 20, CATERPIE, 7, 18 - db 20, WEEDLE, 7, 18 - db 10, METAPOD, 9, 18 - db 10, KAKUNA, 9, 18 - db 5, BUTTERFREE, 12, 15 - db 5, BEEDRILL, 12, 15 - db 10, VENONAT, 10, 16 - db 10, PARAS, 10, 17 - db 5, SCYTHER, 13, 14 - db 5, PINSIR, 13, 14 - db -1, VENOMOTH, 30, 40 +INCLUDE "data/wild/bug_contest_mons.asm" ; 97db3 DoBikeStep:: ; 97db3 diff --git a/engine/events_3.asm b/engine/events_3.asm index b6aaea3b7..f53297d61 100755 --- a/engine/events_3.asm +++ b/engine/events_3.asm @@ -455,55 +455,7 @@ GetTreeMonSet: ; b823f ret ; b825e -TreeMonMaps: ; b825e -treemon_map: macro - map \1 - db \2 ; treemon set -endm - treemon_map ROUTE_26, 4 - treemon_map ROUTE_27, 4 - treemon_map ROUTE_28, 0 - treemon_map ROUTE_29, 3 - treemon_map ROUTE_30, 3 - treemon_map ROUTE_31, 3 - treemon_map ROUTE_32, 4 - treemon_map ROUTE_33, 2 - treemon_map ROUTE_34, 3 - treemon_map ROUTE_35, 3 - treemon_map ROUTE_36, 3 - treemon_map ROUTE_37, 3 - treemon_map ROUTE_38, 3 - treemon_map ROUTE_39, 3 - treemon_map ROUTE_40, 0 - treemon_map ROUTE_41, 0 - treemon_map ROUTE_42, 2 - treemon_map ROUTE_43, 5 - treemon_map ROUTE_44, 1 - treemon_map ROUTE_45, 1 - treemon_map ROUTE_46, 1 - treemon_map NEW_BARK_TOWN, 0 - treemon_map CHERRYGROVE_CITY, 0 - treemon_map VIOLET_CITY, 0 - treemon_map AZALEA_TOWN, 2 - treemon_map CIANWOOD_CITY, 0 - treemon_map GOLDENROD_CITY, 0 - treemon_map OLIVINE_CITY, 0 - treemon_map ECRUTEAK_CITY, 0 - treemon_map MAHOGANY_TOWN, 0 - treemon_map LAKE_OF_RAGE, 5 - treemon_map BLACKTHORN_CITY, 0 - treemon_map SILVER_CAVE_OUTSIDE, 0 - treemon_map ILEX_FOREST, 6 - db -1 -; b82c5 - -RockMonMaps: ; b82c5 - treemon_map CIANWOOD_CITY, 7 - treemon_map ROUTE_40, 7 - treemon_map DARK_CAVE_VIOLET_ENTRANCE, 7 - treemon_map SLOWPOKE_WELL_B1F, 7 - db -1 -; b82d2 +INCLUDE "data/wild/treemon_maps.asm" GetTreeMons: ; b82d2 ; Return the address of TreeMon table a in hl. @@ -533,128 +485,7 @@ GetTreeMons: ; b82d2 ret ; b82e8 -TreeMons: ; b82e8 - dw TreeMons1 - dw TreeMons1 - dw TreeMons2 - dw TreeMons3 - dw TreeMons4 - dw TreeMons5 - dw TreeMons6 - dw RockMons - dw TreeMons1 - -; Two tables each (normal, rare). -; Structure: -; db %, species, level - -TreeMons1: ; b82fa - db 50, SPEAROW, 10 - db 15, SPEAROW, 10 - db 15, SPEAROW, 10 - db 10, AIPOM, 10 - db 5, AIPOM, 10 - db 5, AIPOM, 10 - db -1 - - db 50, SPEAROW, 10 - db 15, HERACROSS, 10 - db 15, HERACROSS, 10 - db 10, AIPOM, 10 - db 5, AIPOM, 10 - db 5, AIPOM, 10 - db -1 - -TreeMons2: ; b8320 - db 50, SPEAROW, 10 - db 15, EKANS, 10 - db 15, SPEAROW, 10 - db 10, AIPOM, 10 - db 5, AIPOM, 10 - db 5, AIPOM, 10 - db -1 - - db 50, SPEAROW, 10 - db 15, HERACROSS, 10 - db 15, HERACROSS, 10 - db 10, AIPOM, 10 - db 5, AIPOM, 10 - db 5, AIPOM, 10 - db -1 - -TreeMons3: ; b8346 - db 50, HOOTHOOT, 10 - db 15, SPINARAK, 10 - db 15, LEDYBA, 10 - db 10, EXEGGCUTE, 10 - db 5, EXEGGCUTE, 10 - db 5, EXEGGCUTE, 10 - db -1 - - db 50, HOOTHOOT, 10 - db 15, PINECO, 10 - db 15, PINECO, 10 - db 10, EXEGGCUTE, 10 - db 5, EXEGGCUTE, 10 - db 5, EXEGGCUTE, 10 - db -1 - -TreeMons4: ; b836c - db 50, HOOTHOOT, 10 - db 15, EKANS, 10 - db 15, HOOTHOOT, 10 - db 10, EXEGGCUTE, 10 - db 5, EXEGGCUTE, 10 - db 5, EXEGGCUTE, 10 - db -1 - - db 50, HOOTHOOT, 10 - db 15, PINECO, 10 - db 15, PINECO, 10 - db 10, EXEGGCUTE, 10 - db 5, EXEGGCUTE, 10 - db 5, EXEGGCUTE, 10 - db -1 - -TreeMons5: ; b8392 - db 50, HOOTHOOT, 10 - db 15, VENONAT, 10 - db 15, HOOTHOOT, 10 - db 10, EXEGGCUTE, 10 - db 5, EXEGGCUTE, 10 - db 5, EXEGGCUTE, 10 - db -1 - - db 50, HOOTHOOT, 10 - db 15, PINECO, 10 - db 15, PINECO, 10 - db 10, EXEGGCUTE, 10 - db 5, EXEGGCUTE, 10 - db 5, EXEGGCUTE, 10 - db -1 - -TreeMons6: ; b83b8 - db 50, HOOTHOOT, 10 - db 15, PINECO, 10 - db 15, PINECO, 10 - db 10, NOCTOWL, 10 - db 5, BUTTERFREE, 10 - db 5, BEEDRILL, 10 - db -1 - - db 50, HOOTHOOT, 10 - db 15, CATERPIE, 10 - db 15, WEEDLE, 10 - db 10, HOOTHOOT, 10 - db 5, METAPOD, 10 - db 5, KAKUNA, 10 - db -1 - -RockMons: ; b83de - db 90, KRABBY, 15 - db 10, SHUCKLE, 15 - db -1 -; b83e5 +INCLUDE "data/wild/treemons.asm" GetTreeMon: ; b83e5 push hl diff --git a/engine/facings.asm b/engine/facings.asm deleted file mode 100644 index 4d2a55364..000000000 --- a/engine/facings.asm +++ /dev/null @@ -1,264 +0,0 @@ -Facings: ; 4049 -; entries correspond to FACING_* constants - dw FacingStepDown0 - dw FacingStepDown1 - dw FacingStepDown2 - dw FacingStepDown3 - dw FacingStepUp0 - dw FacingStepUp1 - dw FacingStepUp2 - dw FacingStepUp3 - dw FacingStepLeft0 - dw FacingStepLeft1 - dw FacingStepLeft2 - dw FacingStepLeft3 - dw FacingStepRight0 - dw FacingStepRight1 - dw FacingStepRight2 - dw FacingStepRight3 - dw FacingFishDown - dw FacingFishUp - dw FacingFishLeft - dw FacingFishRight - dw FacingEmote - dw FacingShadow - dw FacingBigDollAsymmetric - dw FacingBigDollSymmetric - dw FacingWeirdTree0 - dw FacingWeirdTree1 - dw FacingWeirdTree2 - dw FacingWeirdTree3 - dw FacingBoulderDust1 - dw FacingBoulderDust2 - dw FacingGrass1 - dw FacingGrass2 -FacingsEnd: - dw 0 - -NUM_FACINGS EQU (FacingsEnd - Facings) / 2 - - -; Tables used as a reference to transform OAM data. - -; Format: -; db y, x, attributes, tile index - -FacingStepDown0: -FacingStepDown2: -FacingWeirdTree0: -FacingWeirdTree2: ; standing down - db 4 ; # - db 0, 0, 0, $00 - db 0, 8, 0, $01 - db 8, 0, 2, $02 - db 8, 8, 2, $03 -; 409c - -FacingStepDown1: ; walking down 1 - db 4 ; # - db 0, 0, 0, $80 - db 0, 8, 0, $81 - db 8, 0, 2, $82 - db 8, 8, 2, $83 -; 40ad - -FacingStepDown3: ; walking down 2 - db 4 ; # - db 0, 8, X_FLIP, $80 - db 0, 0, X_FLIP, $81 - db 8, 8, 2 | X_FLIP, $82 - db 8, 0, 2 | X_FLIP, $83 -; 40be - -FacingStepUp0: -FacingStepUp2: ; standing up - db 4 ; # - db 0, 0, 0, $04 - db 0, 8, 0, $05 - db 8, 0, 2, $06 - db 8, 8, 2, $07 -; 40cf - -FacingStepUp1: ; walking up 1 - db 4 ; # - db 0, 0, 0, $84 - db 0, 8, 0, $85 - db 8, 0, 2, $86 - db 8, 8, 2, $87 -; 40e0 - -FacingStepUp3: ; walking up 2 - db 4 ; # - db 0, 8, X_FLIP, $84 - db 0, 0, X_FLIP, $85 - db 8, 8, 2 | X_FLIP, $86 - db 8, 0, 2 | X_FLIP, $87 -; 40f1 - -FacingStepLeft0: -FacingStepLeft2: ; standing left - db 4 ; # - db 0, 0, 0, $08 - db 0, 8, 0, $09 - db 8, 0, 2, $0a - db 8, 8, 2, $0b -; 4102 - -FacingStepRight0: -FacingStepRight2: ; standing right - db 4 ; # - db 0, 8, X_FLIP, $08 - db 0, 0, X_FLIP, $09 - db 8, 8, 2 | X_FLIP, $0a - db 8, 0, 2 | X_FLIP, $0b -; 4113 - -FacingStepLeft1: -FacingStepLeft3: ; walking left - db 4 ; # - db 0, 0, 0, $88 - db 0, 8, 0, $89 - db 8, 0, 2, $8a - db 8, 8, 2, $8b -; 4124 - -FacingStepRight1: -FacingStepRight3: ; walking right - db 4 ; # - db 0, 8, X_FLIP, $88 - db 0, 0, X_FLIP, $89 - db 8, 8, 2 | X_FLIP, $8a - db 8, 0, 2 | X_FLIP, $8b -; 4135 - -FacingFishDown: ; fishing down - db 5 ; # - db 0, 0, 0, $00 - db 0, 8, 0, $01 - db 8, 0, 2, $02 - db 8, 8, 2, $03 - db 16, 0, 4, $fc -; 414a - -FacingFishUp: ; fishing up - db 5 ; # - db 0, 0, 0, $04 - db 0, 8, 0, $05 - db 8, 0, 2, $06 - db 8, 8, 2, $07 - db -8, 0, 4, $fc -; 415f - -FacingFishLeft: ; fishing left - db 5 ; # - db 0, 0, 0, $08 - db 0, 8, 0, $09 - db 8, 0, 2, $0a - db 8, 8, 2, $0b - db 5, -8, 4 | X_FLIP, $fd -; 4174 - -FacingFishRight: ; fishing right - db 5 ; # - db 0, 8, X_FLIP, $08 - db 0, 0, X_FLIP, $09 - db 8, 8, 2 | X_FLIP, $0a - db 8, 0, 2 | X_FLIP, $0b - db 5, 16, 4, $fd -; 4189 - -FacingEmote: ; emote - db 4 ; # - db 0, 0, 4, $f8 - db 0, 8, 4, $f9 - db 8, 0, 4, $fa - db 8, 8, 4, $fb -; 419a - -FacingShadow: ; shadow - db 2 ; # - db 0, 0, 4, $fc - db 0, 8, 4 | X_FLIP, $fc -; 41a3 - -FacingBigDollSymmetric: ; big snorlax or lapras doll - db 16 ; # - db 0, 0, 0, $00 - db 0, 8, 0, $01 - db 8, 0, 0, $02 - db 8, 8, 0, $03 - db 16, 0, 0, $04 - db 16, 8, 0, $05 - db 24, 0, 0, $06 - db 24, 8, 0, $07 - db 0, 24, X_FLIP, $00 - db 0, 16, X_FLIP, $01 - db 8, 24, X_FLIP, $02 - db 8, 16, X_FLIP, $03 - db 16, 24, X_FLIP, $04 - db 16, 16, X_FLIP, $05 - db 24, 24, X_FLIP, $06 - db 24, 16, X_FLIP, $07 -; 41e4 - -FacingWeirdTree1: ; 41e4 - db 4 ; # - db 0, 0, 0, $04 - db 0, 8, 0, $05 - db 8, 0, 0, $06 - db 8, 8, 0, $07 -; 41f5 - -FacingWeirdTree3: ; 41f5 - db 4 ; # - db 0, 8, X_FLIP, $04 - db 0, 0, X_FLIP, $05 - db 8, 8, X_FLIP, $06 - db 8, 0, X_FLIP, $07 -; 4206 - -FacingBigDollAsymmetric: ; big doll other than snorlax or lapras - db 14 ; # - db 0, 0, 0, $00 - db 0, 8, 0, $01 - db 8, 0, 0, $04 - db 8, 8, 0, $05 - db 16, 8, 0, $07 - db 24, 8, 0, $0a - db 0, 24, 0, $03 - db 0, 16, 0, $02 - db 8, 24, X_FLIP, $02 - db 8, 16, 0, $06 - db 16, 24, 0, $09 - db 16, 16, 0, $08 - db 24, 24, X_FLIP, $04 - db 24, 16, 0, $0b -; 423f - -FacingBoulderDust1: ; boulder dust 1 - db 4 ; # - db 0, 0, 4, $fe - db 0, 8, 4, $fe - db 8, 0, 4, $fe - db 8, 8, 4, $fe -; 4250 - -FacingBoulderDust2: ; boulder dust 2 - db 4 ; # - db 0, 0, 4, $ff - db 0, 8, 4, $ff - db 8, 0, 4, $ff - db 8, 8, 4, $ff -; 4261 - -FacingGrass1: ; 4261 - db 2 ; # - db 8, 0, 4, $fe - db 8, 8, 4 | X_FLIP, $fe -; 426a - -FacingGrass2: ; 426a - db 2 ; # - db 9, -1, 4, $fe - db 9, 9, 4 | X_FLIP, $fe -; 4273 diff --git a/engine/fruit_trees.asm b/engine/fruit_trees.asm index 6a40fb05c..134adda60 100644 --- a/engine/fruit_trees.asm +++ b/engine/fruit_trees.asm @@ -103,36 +103,7 @@ GetFruitTreeItem: ; 4408a ; 44097 FruitTreeItems: ; 44097 - db BERRY - db BERRY - db BERRY - db BERRY - db PSNCUREBERRY - db PSNCUREBERRY - db BITTER_BERRY - db BITTER_BERRY - db PRZCUREBERRY - db PRZCUREBERRY - db MYSTERYBERRY - db MYSTERYBERRY - db ICE_BERRY - db ICE_BERRY - db MINT_BERRY - db BURNT_BERRY - db RED_APRICORN - db BLU_APRICORN - db BLK_APRICORN - db WHT_APRICORN - db PNK_APRICORN - db GRN_APRICORN - db YLW_APRICORN - db BERRY - db PSNCUREBERRY - db BITTER_BERRY - db PRZCUREBERRY - db ICE_BERRY - db MINT_BERRY - db BURNT_BERRY +INCLUDE "data/fruit_tree_items.asm" ; 440b5 FruitBearingTreeText: ; 440b5 diff --git a/engine/intro_menu.asm b/engine/intro_menu.asm index 6dcda93f3..e0ecd41fe 100755 --- a/engine/intro_menu.asm +++ b/engine/intro_menu.asm @@ -199,8 +199,6 @@ _ResetWRAM: ; 5bae ld [Coins], a ld [Coins + 1], a -START_MONEY EQU 3000 - IF START_MONEY / $10000 ld a, START_MONEY / $10000 ENDC @@ -214,11 +212,11 @@ ENDC ld [wWhichMomItem], a ld hl, MomItemTriggerBalance - ld [hl], 2300 / $10000 + ld [hl], MOM_MONEY / $10000 inc hl - ld [hl], 2300 / $100 % $100 + ld [hl], MOM_MONEY / $100 % $100 inc hl - ld [hl], 2300 % $100 + ld [hl], MOM_MONEY % $100 call InitializeNPCNames diff --git a/engine/landmarks.asm b/engine/landmarks.asm index 465a70f3c..401073d83 100644 --- a/engine/landmarks.asm +++ b/engine/landmarks.asm @@ -48,212 +48,7 @@ GetLandmarkName:: ; 0x1ca8a5 Landmarks: ; 0x1ca8c3 - -landmark: MACRO - db \1, \2 - dw \3 -ENDM - - landmark 0, 0, SpecialMapName - landmark 148, 116, NewBarkTownName - landmark 136, 116, Route29Name - landmark 108, 116, CherrygroveCityName - landmark 108, 96, Route30Name - landmark 104, 76, Route31Name - landmark 92, 76, VioletCityName - landmark 93, 74, SproutTowerName - landmark 92, 108, Route32Name - landmark 84, 92, RuinsOfAlphName - landmark 92, 140, UnionCaveName - landmark 90, 140, Route33Name - landmark 76, 140, AzaleaTownName - landmark 78, 138, SlowpokeWellName - landmark 60, 136, IlexForestName - landmark 60, 128, Route34Name - landmark 60, 108, GoldenrodCityName - landmark 58, 108, RadioTowerName - landmark 60, 92, Route35Name - landmark 60, 76, NationalParkName - landmark 72, 76, Route36Name - landmark 76, 68, Route37Name - landmark 76, 60, EcruteakCityName - landmark 78, 58, TinTowerName - landmark 74, 58, BurnedTowerName - landmark 60, 60, Route38Name - landmark 44, 64, Route39Name - landmark 44, 76, OlivineCityName - landmark 46, 78, LighthouseName - landmark 36, 72, BattleTowerName - landmark 36, 80, Route40Name - landmark 36, 108, WhirlIslandsName - landmark 36, 116, Route41Name - landmark 28, 116, CianwoodCityName - landmark 100, 60, Route42Name - landmark 92, 60, MtMortarName - landmark 116, 60, MahoganyTownName - landmark 116, 52, Route43Name - landmark 116, 44, LakeOfRageName - landmark 128, 60, Route44Name - landmark 138, 54, IcePathName - landmark 140, 60, BlackthornCityName - landmark 140, 52, DragonsDenName - landmark 140, 80, Route45Name - landmark 120, 88, DarkCaveName - landmark 132, 104, Route46Name - landmark 156, 84, SilverCaveName - landmark 60, 124, PalletTownName - landmark 60, 108, Route1Name - landmark 60, 92, ViridianCityName - landmark 60, 80, Route2Name - landmark 60, 68, PewterCityName - landmark 72, 68, Route3Name - landmark 84, 68, MtMoonName - landmark 96, 68, Route4Name - landmark 108, 68, CeruleanCityName - landmark 108, 60, Route24Name - landmark 116, 52, Route25Name - landmark 108, 76, Route5Name - landmark 116, 92, UndergroundName - landmark 108, 92, Route6Name - landmark 108, 100, VermilionCityName - landmark 96, 76, DiglettsCaveName - landmark 96, 84, Route7Name - landmark 124, 84, Route8Name - landmark 124, 68, Route9Name - landmark 140, 68, RockTunnelName - landmark 140, 72, Route10Name - landmark 140, 76, PowerPlantName - landmark 140, 84, LavenderTownName - landmark 148, 84, LavRadioTowerName - landmark 84, 84, CeladonCityName - landmark 108, 84, SaffronCityName - landmark 124, 100, Route11Name - landmark 140, 96, Route12Name - landmark 132, 116, Route13Name - landmark 124, 128, Route14Name - landmark 112, 132, Route15Name - landmark 76, 84, Route16Name - landmark 76, 108, Route17Name - landmark 88, 132, Route18Name - landmark 100, 132, FuchsiaCityName - landmark 100, 144, Route19Name - landmark 84, 148, Route20Name - landmark 76, 148, SeafoamIslandsName - landmark 60, 148, CinnabarIslandName - landmark 60, 136, Route21Name - landmark 44, 84, Route22Name - landmark 36, 68, VictoryRoadName - landmark 36, 60, Route23Name - landmark 36, 52, IndigoPlateauName - landmark 36, 108, Route26Name - landmark 28, 116, Route27Name - landmark 20, 116, TohjoFallsName - landmark 28, 84, Route28Name - landmark 148, 132, FastShipName - - -NewBarkTownName: db "NEW BARK¯TOWN@" -CherrygroveCityName: db "CHERRYGROVE¯CITY@" -VioletCityName: db "VIOLET CITY@" -AzaleaTownName: db "AZALEA TOWN@" -GoldenrodCityName: db "GOLDENROD¯CITY@" -EcruteakCityName: db "ECRUTEAK¯CITY@" -OlivineCityName: db "OLIVINE¯CITY@" -CianwoodCityName: db "CIANWOOD¯CITY@" -MahoganyTownName: db "MAHOGANY¯TOWN@" -BlackthornCityName: db "BLACKTHORN¯CITY@" -LakeOfRageName: db "LAKE OF¯RAGE@" -SilverCaveName: db "SILVER CAVE@" -SproutTowerName: db "SPROUT¯TOWER@" -RuinsOfAlphName: db "RUINS¯OF ALPH@" -UnionCaveName: db "UNION CAVE@" -SlowpokeWellName: db "SLOWPOKE¯WELL@" -RadioTowerName: db "RADIO TOWER@" -PowerPlantName: db "POWER PLANT@" -NationalParkName: db "NATIONAL¯PARK@" -TinTowerName: db "TIN TOWER@" -LighthouseName: db "LIGHTHOUSE@" -WhirlIslandsName: db "WHIRL¯ISLANDS@" -MtMortarName: db "MT.MORTAR@" -DragonsDenName: db "DRAGON'S¯DEN@" -IcePathName: db "ICE PATH@" -NotApplicableName: db "N/A@" -PalletTownName: db "PALLET TOWN@" -ViridianCityName: db "VIRIDIAN¯CITY@" -PewterCityName: db "PEWTER CITY@" -CeruleanCityName: db "CERULEAN¯CITY@" -LavenderTownName: db "LAVENDER¯TOWN@" -VermilionCityName: db "VERMILION¯CITY@" -CeladonCityName: db "CELADON¯CITY@" -SaffronCityName: db "SAFFRON¯CITY@" -FuchsiaCityName: db "FUCHSIA¯CITY@" -CinnabarIslandName: db "CINNABAR¯ISLAND@" -IndigoPlateauName: db "INDIGO¯PLATEAU@" -VictoryRoadName: db "VICTORY¯ROAD@" -MtMoonName: db "MT.MOON@" -RockTunnelName: db "ROCK TUNNEL@" -LavRadioTowerName: db "LAV¯RADIO TOWER@" -SilphCoName: db "SILPH CO.@" -SafariZoneName: db "SAFARI ZONE@" -SeafoamIslandsName: db "SEAFOAM¯ISLANDS@" -PokemonMansionName: db "#MON¯MANSION@" -CeruleanCaveName: db "CERULEAN¯CAVE@" -Route1Name: db "ROUTE 1@" -Route2Name: db "ROUTE 2@" -Route3Name: db "ROUTE 3@" -Route4Name: db "ROUTE 4@" -Route5Name: db "ROUTE 5@" -Route6Name: db "ROUTE 6@" -Route7Name: db "ROUTE 7@" -Route8Name: db "ROUTE 8@" -Route9Name: db "ROUTE 9@" -Route10Name: db "ROUTE 10@" -Route11Name: db "ROUTE 11@" -Route12Name: db "ROUTE 12@" -Route13Name: db "ROUTE 13@" -Route14Name: db "ROUTE 14@" -Route15Name: db "ROUTE 15@" -Route16Name: db "ROUTE 16@" -Route17Name: db "ROUTE 17@" -Route18Name: db "ROUTE 18@" -Route19Name: db "ROUTE 19@" -Route20Name: db "ROUTE 20@" -Route21Name: db "ROUTE 21@" -Route22Name: db "ROUTE 22@" -Route23Name: db "ROUTE 23@" -Route24Name: db "ROUTE 24@" -Route25Name: db "ROUTE 25@" -Route26Name: db "ROUTE 26@" -Route27Name: db "ROUTE 27@" -Route28Name: db "ROUTE 28@" -Route29Name: db "ROUTE 29@" -Route30Name: db "ROUTE 30@" -Route31Name: db "ROUTE 31@" -Route32Name: db "ROUTE 32@" -Route33Name: db "ROUTE 33@" -Route34Name: db "ROUTE 34@" -Route35Name: db "ROUTE 35@" -Route36Name: db "ROUTE 36@" -Route37Name: db "ROUTE 37@" -Route38Name: db "ROUTE 38@" -Route39Name: db "ROUTE 39@" -Route40Name: db "ROUTE 40@" -Route41Name: db "ROUTE 41@" -Route42Name: db "ROUTE 42@" -Route43Name: db "ROUTE 43@" -Route44Name: db "ROUTE 44@" -Route45Name: db "ROUTE 45@" -Route46Name: db "ROUTE 46@" -DarkCaveName: db "DARK CAVE@" -IlexForestName: db "ILEX¯FOREST@" -BurnedTowerName: db "BURNED¯TOWER@" -FastShipName: db "FAST SHIP@" -ViridianForestName: db "VIRIDIAN¯FOREST@" -DiglettsCaveName: db "DIGLETT'S¯CAVE@" -TohjoFallsName: db "TOHJO FALLS@" -UndergroundName: db "UNDERGROUND@" -BattleTowerName: db "BATTLE¯TOWER@" -SpecialMapName: db "SPECIAL@" +INCLUDE "data/landmarks.asm" RegionCheck: ; 0x1caea1 diff --git a/engine/map_objects.asm b/engine/map_objects.asm index 83147c168..4ca7482fe 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -1,5 +1,5 @@ -INCLUDE "engine/facings.asm" +INCLUDE "data/facings.asm" SpriteMovementData:: ; 4273 INCLUDE "data/map_objects.asm" diff --git a/engine/map_triggers.asm b/engine/map_triggers.asm deleted file mode 100644 index 2b190fa3e..000000000 --- a/engine/map_triggers.asm +++ /dev/null @@ -1,91 +0,0 @@ -MapTriggers:: ; 4d01e -; Map triggers - -trigger_def: MACRO -; db group, map -; dw address - map \1 - dw \2 -ENDM - - trigger_def POKECENTER_2F, wPokecenter2FTrigger - trigger_def TRADE_CENTER, wTradeCenterTrigger - trigger_def COLOSSEUM, wColosseumTrigger - trigger_def TIME_CAPSULE, wTimeCapsuleTrigger - trigger_def POWER_PLANT, wPowerPlantTrigger - trigger_def CERULEAN_GYM, wCeruleanGymTrigger - trigger_def ROUTE_25, wRoute25Trigger - trigger_def TRAINER_HOUSE_B1F, wTrainerHouseB1FTrigger - trigger_def VICTORY_ROAD_GATE, wVictoryRoadGateTrigger - trigger_def SAFFRON_TRAIN_STATION, wSaffronTrainStationTrigger - trigger_def ROUTE_16_GATE, wRoute16GateTrigger - trigger_def ROUTE_17_18_GATE, wRoute1718GateTrigger - trigger_def INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FTrigger - trigger_def WILLS_ROOM, wWillsRoomTrigger - trigger_def KOGAS_ROOM, wKogasRoomTrigger - trigger_def BRUNOS_ROOM, wBrunosRoomTrigger - trigger_def KARENS_ROOM, wKarensRoomTrigger - trigger_def LANCES_ROOM, wLancesRoomTrigger - trigger_def HALL_OF_FAME, wHallOfFameTrigger - trigger_def ROUTE_27, wRoute27Trigger - trigger_def NEW_BARK_TOWN, wNewBarkTownTrigger - trigger_def ELMS_LAB, wElmsLabTrigger - trigger_def KRISS_HOUSE_1F, wKrissHouse1FTrigger - trigger_def ROUTE_29, wRoute29Trigger - trigger_def CHERRYGROVE_CITY, wCherrygroveCityTrigger - trigger_def MR_POKEMONS_HOUSE, wMrPokemonsHouseTrigger - trigger_def ROUTE_32, wRoute32Trigger - trigger_def ROUTE_35_NATIONAL_PARK_GATE, wRoute35NationalParkGateTrigger - trigger_def ROUTE_36, wRoute36Trigger - trigger_def ROUTE_36_NATIONAL_PARK_GATE, wRoute36NationalParkGateTrigger - trigger_def AZALEA_TOWN, wAzaleaTownTrigger - trigger_def GOLDENROD_GYM, wGoldenrodGymTrigger - trigger_def GOLDENROD_MAGNET_TRAIN_STATION, wGoldenrodMagnetTrainStationTrigger - trigger_def GOLDENROD_POKECENTER_1F, wGoldenrodPokecenter1FTrigger - trigger_def OLIVINE_CITY, wOlivineCityTrigger - trigger_def ROUTE_34, wRoute34Trigger - trigger_def ROUTE_34_ILEX_FOREST_GATE, wRoute34IlexForestGateTrigger - trigger_def ECRUTEAK_HOUSE, wEcruteakHouseTrigger - trigger_def WISE_TRIOS_ROOM, wWiseTriosRoomTrigger - trigger_def ECRUTEAK_POKECENTER_1F, wEcruteakPokecenter1FTrigger - trigger_def ECRUTEAK_GYM, wEcruteakGymTrigger - trigger_def MAHOGANY_TOWN, wMahoganyTownTrigger - trigger_def ROUTE_42, wRoute42Trigger - trigger_def CIANWOOD_CITY, wCianwoodCityTrigger - trigger_def BATTLE_TOWER_1F, wBattleTower1FTrigger - trigger_def BATTLE_TOWER_BATTLE_ROOM, wBattleTowerBattleRoomTrigger - trigger_def BATTLE_TOWER_ELEVATOR, wBattleTowerElevatorTrigger - trigger_def BATTLE_TOWER_HALLWAY, wBattleTowerHallwayTrigger - trigger_def BATTLE_TOWER_OUTSIDE, wBattleTowerOutsideTrigger - trigger_def ROUTE_43_GATE, wRoute43GateTrigger - trigger_def MOUNT_MOON, wMountMoonTrigger - trigger_def SPROUT_TOWER_3F, wSproutTower3FTrigger - trigger_def TIN_TOWER_1F, wTinTower1FTrigger - trigger_def BURNED_TOWER_1F, wBurnedTower1FTrigger - trigger_def BURNED_TOWER_B1F, wBurnedTowerB1FTrigger - trigger_def RADIO_TOWER_5F, wRadioTower5FTrigger - trigger_def RUINS_OF_ALPH_OUTSIDE, wRuinsOfAlphOutsideTrigger - trigger_def RUINS_OF_ALPH_RESEARCH_CENTER, wRuinsOfAlphResearchCenterTrigger - trigger_def RUINS_OF_ALPH_HO_OH_CHAMBER, wRuinsOfAlphHoOhChamberTrigger - trigger_def RUINS_OF_ALPH_KABUTO_CHAMBER, wRuinsOfAlphKabutoChamberTrigger - trigger_def RUINS_OF_ALPH_OMANYTE_CHAMBER, wRuinsOfAlphOmanyteChamberTrigger - trigger_def RUINS_OF_ALPH_AERODACTYL_CHAMBER, wRuinsOfAlphAerodactylChamberTrigger - trigger_def RUINS_OF_ALPH_INNER_CHAMBER, wRuinsOfAlphInnerChamberTrigger - trigger_def MAHOGANY_MART_1F, wMahoganyMart1FTrigger - trigger_def TEAM_ROCKET_BASE_B1F, wTeamRocketBaseB1FTrigger - trigger_def TEAM_ROCKET_BASE_B2F, wTeamRocketBaseB2FTrigger - trigger_def TEAM_ROCKET_BASE_B3F, wTeamRocketBaseB3FTrigger - trigger_def UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES, wUndergroundPathSwitchRoomEntrancesTrigger - trigger_def SILVER_CAVE_ROOM_3, wSilverCaveRoom3Trigger - trigger_def VICTORY_ROAD, wVictoryRoadTrigger - trigger_def DRAGONS_DEN_B1F, wDragonsDenB1FTrigger - trigger_def DRAGON_SHRINE, wDragonShrineTrigger - trigger_def OLIVINE_PORT, wOlivinePortTrigger - trigger_def VERMILION_PORT, wVermilionPortTrigger - trigger_def FAST_SHIP_1F, wFastShip1FTrigger - trigger_def FAST_SHIP_B1F, wFastShipB1FTrigger - trigger_def MOUNT_MOON_SQUARE, wMountMoonSquareTrigger - trigger_def MOBILE_TRADE_ROOM_MOBILE, wMobileTradeRoomMobileTrigger - trigger_def MOBILE_BATTLE_ROOM, wMobileBattleRoomTrigger - db -1 -; 4d15b diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm index 9c6fb1870..af1972dae 100755 --- a/engine/mon_icons.asm +++ b/engine/mon_icons.asm @@ -450,4 +450,27 @@ HoldSwitchmonIcon: ; 8ea8c jr nz, .loop ret -INCLUDE "menu/mon_icons.asm" +ReadMonMenuIcon: ; 8eab3 + cp EGG + jr z, .egg + dec a + ld hl, MonMenuIcons + ld e, a + ld d, 0 + add hl, de + ld a, [hl] + ret +.egg + ld a, ICON_EGG + ret +; 8eac4 + +MonMenuIcons: ; 8eac4 +INCLUDE "data/mon_menu_icons.asm" + + +INCLUDE "gfx/icon_pointers.asm" + +Icons: +INCLUDE "gfx/icons.asm" + diff --git a/engine/mysterygift2.asm b/engine/mysterygift2.asm index 0b8948c5b..e2ed30f3d 100755 --- a/engine/mysterygift2.asm +++ b/engine/mysterygift2.asm @@ -123,7 +123,7 @@ PrepMysteryGiftDataToSend: ; 2c642 (b:4642) MysteryGiftGetItemHeldEffect: ; 2c708 (b:4708) ld a, c - cp $25 ; 37 + cp MysteryGiftItemsEnd - MysteryGiftItems jr nc, MysteryGiftFallbackItem ld hl, MysteryGiftItems ld b, 0 @@ -133,7 +133,7 @@ MysteryGiftGetItemHeldEffect: ; 2c708 (b:4708) MysteryGiftGetDecoration: ; 2c715 (b:4715) ld a, c - cp $25 ; 37 + cp MysteryGiftDecosEnd - MysteryGiftDecos jr nc, MysteryGiftFallbackItem ld hl, MysteryGiftDecos ld b, 0 @@ -147,81 +147,11 @@ MysteryGiftFallbackItem: ; 2c722 (b:4722) ; 2c725 (b:4725) MysteryGiftItems: ; 2c725 - db BERRY - db PRZCUREBERRY - db MINT_BERRY - db ICE_BERRY - db BURNT_BERRY - db PSNCUREBERRY - db GUARD_SPEC - db X_DEFEND - db X_ATTACK - db BITTER_BERRY - db DIRE_HIT - db X_SPECIAL - db X_ACCURACY - db EON_MAIL - db MORPH_MAIL - db MUSIC_MAIL - db MIRACLEBERRY - db GOLD_BERRY - db REVIVE - db GREAT_BALL - db SUPER_REPEL - db MAX_REPEL - db ELIXER - db ETHER - db WATER_STONE - db FIRE_STONE - db LEAF_STONE - db THUNDERSTONE - db MAX_ETHER - db MAX_ELIXER - db MAX_REVIVE - db SCOPE_LENS - db HP_UP - db PP_UP - db RARE_CANDY - db BLUESKY_MAIL - db MIRAGE_MAIL +INCLUDE "data/mystery_gift/items.asm" +MysteryGiftItemsEnd ; 2c74a MysteryGiftDecos: ; 2c74a - db DECOFLAG_PIKACHU_DOLL - db DECOFLAG_BULBASAUR_DOLL - db DECOFLAG_CHARMANDER_DOLL - db DECOFLAG_SQUIRTLE_DOLL - db DECOFLAG_POLIWAG_DOLL - db DECOFLAG_DIGLETT_DOLL - db DECOFLAG_STARMIE_DOLL - db DECOFLAG_MAGIKARP_DOLL - db DECOFLAG_ODDISH_DOLL - db DECOFLAG_GENGAR_DOLL - db DECOFLAG_CLEFAIRY_POSTER - db DECOFLAG_JIGGLYPUFF_POSTER - db DECOFLAG_SNES - db DECOFLAG_SHELLDER_DOLL - db DECOFLAG_VOLTORB_DOLL - db DECOFLAG_WEEDLE_DOLL - db DECOFLAG_MAGNAPLANT - db DECOFLAG_TROPICPLANT - db DECOFLAG_FAMICOM - db DECOFLAG_N64 - db DECOFLAG_SURF_PIKACHU_DOLL - db DECOFLAG_JIGGLYPUFF_DOLL - db DECOFLAG_PINK_BED - db DECOFLAG_POLKADOT_BED - db DECOFLAG_RED_CARPET - db DECOFLAG_BLUE_CARPET - db DECOFLAG_YELLOW_CARPET - db DECOFLAG_GREEN_CARPET - db DECOFLAG_JUMBOPLANT - db DECOFLAG_VIRTUAL_BOY - db DECOFLAG_MACHOP_DOLL - db DECOFLAG_PIKACHU_POSTER - db DECOFLAG_TENTACOOL_DOLL - db DECOFLAG_BIG_ONIX_DOLL - db DECOFLAG_PIKACHU_BED - db DECOFLAG_GRIMER_DOLL - db DECOFLAG_UNOWN_DOLL +INCLUDE "data/mystery_gift/decos.asm" +MysteryGiftDecosEnd ; 2c76f diff --git a/engine/npctrade.asm b/engine/npctrade.asm index fa1be880e..1ec828b54 100755 --- a/engine/npctrade.asm +++ b/engine/npctrade.asm @@ -1,26 +1,10 @@ - -; Trade struct -TRADE_DIALOG EQU 0 -TRADE_GIVEMON EQU 1 -TRADE_GETMON EQU 2 -TRADE_NICK EQU 3 -TRADE_DVS EQU 14 -TRADE_ITEM EQU 16 -TRADE_OT_ID EQU 17 -TRADE_OT_NAME EQU 19 -TRADE_GENDER EQU 30 -TRADE_PADDING EQU 31 - ; Trade dialogs -TRADE_INTRO EQU 0 -TRADE_CANCEL EQU 1 -TRADE_WRONG EQU 2 -TRADE_COMPLETE EQU 3 -TRADE_AFTER EQU 4 - -TRADE_EITHER_GENDER EQU 0 -TRADE_MALE_ONLY EQU 1 -TRADE_FEMALE_ONLY EQU 2 + const_def + const TRADE_INTRO + const TRADE_CANCEL + const TRADE_WRONG + const TRADE_COMPLETE + const TRADE_AFTER NPCTrade:: ; fcba8 ld a, e @@ -428,23 +412,7 @@ GetTradeMonNames: ; fce1b NPCTrades: ; fce58 -npctrade: MACRO - db \1, \2, \3, \4 ; dialog set, requested mon, offered mon, nickname - db \5, \6 ; dvs - shift - db \6 ; item - dw \7 ; OT ID - db \8, \9, 0 ; OT name, gender requested -ENDM - - - npctrade 0, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_EITHER_GENDER - npctrade 0, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_EITHER_GENDER - npctrade 1, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, 29189, "TIM@@@@@@@@", TRADE_EITHER_GENDER - npctrade 3, DRAGONAIR, DODRIO, "DORIS@@@@@@", $77, $66, SMOKE_BALL, 00283, "EMY@@@@@@@@", TRADE_FEMALE_ONLY - npctrade 2, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, 15616, "CHRIS@@@@@@", TRADE_EITHER_GENDER - npctrade 3, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_EITHER_GENDER - npctrade 0, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, 50082, "FOREST@@@@@", TRADE_EITHER_GENDER +INCLUDE "data/npc_trades.asm" ; fcf38 diff --git a/engine/odd_eggs.asm b/engine/odd_eggs.asm new file mode 100644 index 000000000..93d753dfb --- /dev/null +++ b/engine/odd_eggs.asm @@ -0,0 +1,96 @@ +GiveOddEgg: ; 1fb4b6 + ; Figure out which egg to give. + + ; Compare a random word to + ; probabilities out of 0xffff. + call Random + ld hl, OddEggProbabilities + ld c, 0 + ld b, c +.loop + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + + ; Break on $ffff. + ld a, d + cp $ffff / $100 + jr nz, .not_done + ld a, e + cp $ffff % $100 + jr z, .done +.not_done + + ; Break when [hRandom] <= de. + ld a, [hRandom + 1] + cp d + jr c, .done + jr z, .ok + jr .next +.ok + ld a, [hRandom + 0] + cp e + jr c, .done + jr z, .done +.next + inc bc + jr .loop +.done + + ld hl, OddEggs + ld a, OddEgg2 - OddEgg1 + call AddNTimes + + ld de, OddEggSpecies + ld bc, PARTYMON_STRUCT_LENGTH + 2 * PKMN_NAME_LENGTH + call CopyBytes + + ld a, EGG_TICKET + ld [CurItem], a + ld a, 1 + ld [wItemQuantityChangeBuffer], a + ld a, -1 + ld [CurItemQuantity], a + ld hl, NumItems + call TossItem + + ; load species in wcd2a + ld a, EGG + ld [wMobileMonSpeciesBuffer], a + + ; load pointer to (wMobileMonSpeciesBuffer - 1) in wMobileMonSpeciesPointerBuffer + ld a, (wMobileMonSpeciesBuffer - 1) % $100 + ld [wMobileMonSpeciesPointerBuffer], a + ld a, (wMobileMonSpeciesBuffer - 1) / $100 + ld [wMobileMonSpeciesPointerBuffer + 1], a + ; load pointer to OddEggSpecies in wMobileMonStructurePointerBuffer + ld a, OddEggSpecies % $100 + ld [wMobileMonStructurePointerBuffer], a + ld a, OddEggSpecies / $100 + ld [wMobileMonStructurePointerBuffer + 1], a + + ; load Odd Egg Name in wTempOddEggNickname + ld hl, .Odd + ld de, wTempOddEggNickname + ld bc, PKMN_NAME_LENGTH + call CopyBytes + + ; load pointer to wTempOddEggNickname in wMobileMonOTNamePointerBuffer + ld a, wTempOddEggNickname % $100 + ld [wMobileMonOTNamePointerBuffer], a + ld a, wTempOddEggNickname / $100 + ld [wMobileMonOTNamePointerBuffer + 1], a + ; load pointer to wOddEggName in wMobileMonNicknamePointerBuffer + ld a, wOddEggName % $100 + ld [wMobileMonNicknamePointerBuffer], a + ld a, wOddEggName / $100 + ld [wMobileMonNicknamePointerBuffer + 1], a + callba AddMobileMonToParty + ret +; 1fb546 + +.Odd: + db "ODD@@@@@@@@@" + +INCLUDE "data/odd_eggs.asm" diff --git a/engine/options_menu.asm b/engine/options_menu.asm index ec41288ff..6e306a646 100755 --- a/engine/options_menu.asm +++ b/engine/options_menu.asm @@ -105,6 +105,11 @@ GetOptionPointer: ; e42d6 ; e42f5 + const_def + const TEXT_SPEED_FAST ; 0 + const TEXT_SPEED_MED ; 1 + const TEXT_SPEED_SLOW ; 2 + Options_TextSpeed: ; e42f5 call GetTextSpeed ld a, [hJoyPressed] @@ -113,9 +118,9 @@ Options_TextSpeed: ; e42f5 bit D_RIGHT_F, a jr z, .NonePressed ld a, c ; right pressed - cp SLOW_TEXT + cp TEXT_SPEED_SLOW jr c, .Increase - ld c, FAST_TEXT +- 1 + ld c, TEXT_SPEED_FAST +- 1 .Increase: inc c @@ -126,7 +131,7 @@ Options_TextSpeed: ; e42f5 ld a, c and a jr nz, .Decrease - ld c, SLOW_TEXT + 1 + ld c, TEXT_SPEED_SLOW + 1 .Decrease: dec c @@ -154,38 +159,39 @@ Options_TextSpeed: ; e42f5 ; e4331 .Strings: +; entries correspond to TEXT_SPEED_* constants dw .Fast dw .Mid dw .Slow -.Fast: - db "FAST@" -.Mid: - db "MID @" -.Slow: - db "SLOW@" +.Fast: db "FAST@" +.Mid: db "MID @" +.Slow: db "SLOW@" ; e4346 GetTextSpeed: ; e4346 - ld a, [Options] ; This converts the number of frames, to 0, 1, 2 representing speed - and 7 - cp 5 ; 5 frames of delay is slow +; converts TEXT_DELAY_* value in a to TEXT_SPEED_* value in c, +; with previous/next TEXT_DELAY_* values in d/e + ld a, [Options] + and $7 + cp TEXT_DELAY_SLOW jr z, .slow - cp 1 ; 1 frame of delay is fast + cp TEXT_DELAY_FAST jr z, .fast - ld c, MED_TEXT ; set it to mid if not one of the above - lb de, 1, 5 + ; none of the above + ld c, TEXT_SPEED_MED + lb de, TEXT_DELAY_FAST, TEXT_DELAY_SLOW ret .slow - ld c, SLOW_TEXT - lb de, 3, 1 + ld c, TEXT_SPEED_SLOW + lb de, TEXT_DELAY_MED, TEXT_DELAY_FAST ret .fast - ld c, FAST_TEXT - lb de, 5, 3 + ld c, TEXT_SPEED_FAST + lb de, TEXT_DELAY_SLOW, TEXT_DELAY_MED ret ; e4365 @@ -227,10 +233,8 @@ Options_BattleScene: ; e4365 ret ; e4398 -.On: - db "ON @" -.Off: - db "OFF@" +.On: db "ON @" +.Off: db "OFF@" ; e43a0 @@ -270,10 +274,8 @@ Options_BattleStyle: ; e43a0 ret ; e43d1 -.Shift: - db "SHIFT@" -.Set: - db "SET @" +.Shift: db "SHIFT@" +.Set: db "SET @" ; e43dd @@ -320,13 +322,18 @@ Options_Sound: ; e43dd ret ; e4416 -.Mono: - db "MONO @" -.Stereo: - db "STEREO@" +.Mono: db "MONO @" +.Stereo: db "STEREO@" ; e4424 + const_def + const PRINT_LIGHTEST ; 0 + const PRINT_LIGHTER ; 1 + const PRINT_NORMAL ; 2 + const PRINT_DARKER ; 3 + const PRINT_DARKEST ; 4 + Options_Print: ; e4424 call GetPrinterSetting ld a, [hJoyPressed] @@ -335,9 +342,9 @@ Options_Print: ; e4424 bit D_RIGHT_F, a jr z, .NonePressed ld a, c - cp 4 + cp PRINT_DARKEST jr c, .Increase - ld c, -1 + ld c, PRINT_LIGHTEST - 1 .Increase: inc c @@ -348,7 +355,7 @@ Options_Print: ; e4424 ld a, c and a jr nz, .Decrease - ld c, 5 + ld c, PRINT_DARKEST + 1 .Decrease: dec c @@ -373,57 +380,56 @@ Options_Print: ; e4424 ; e445a .Strings: +; entries correspond to PRINT_* constants dw .Lightest dw .Lighter dw .Normal dw .Darker dw .Darkest -.Lightest: - db "LIGHTEST@" -.Lighter: - db "LIGHTER @" -.Normal: - db "NORMAL @" -.Darker: - db "DARKER @" -.Darkest: - db "DARKEST @" +.Lightest: db "LIGHTEST@" +.Lighter: db "LIGHTER @" +.Normal: db "NORMAL @" +.Darker: db "DARKER @" +.Darkest: db "DARKEST @" ; e4491 GetPrinterSetting: ; e4491 - ld a, [GBPrinter] ; converts from the stored printer setting to 0,1,2,3,4 +; converts GBPRINTER_* value in a to PRINT_* value in c, +; with previous/next GBPRINTER_* values in d/e + ld a, [GBPrinter] and a jr z, .IsLightest - cp PRINT_LIGHTER + cp GBPRINTER_LIGHTER jr z, .IsLight - cp PRINT_DARKER + cp GBPRINTER_DARKER jr z, .IsDark - cp PRINT_DARKEST + cp GBPRINTER_DARKEST jr z, .IsDarkest - ld c, 2 ; normal if none of the above - lb de, PRINT_LIGHTER, PRINT_DARKER ; the 2 values next to this setting + ; none of the above + ld c, PRINT_NORMAL + lb de, GBPRINTER_LIGHTER, GBPRINTER_DARKER ret .IsLightest: - ld c, 0 - lb de, PRINT_DARKEST, PRINT_LIGHTER ; the 2 values next to this setting + ld c, PRINT_LIGHTEST + lb de, GBPRINTER_DARKEST, GBPRINTER_LIGHTER ret .IsLight: - ld c, 1 - lb de, PRINT_LIGHTEST, PRINT_NORMAL ; the 2 values next to this setting + ld c, PRINT_LIGHTER + lb de, GBPRINTER_LIGHTEST, GBPRINTER_NORMAL ret .IsDark: - ld c, 3 - lb de, PRINT_NORMAL, PRINT_DARKEST ; the 2 values next to this setting + ld c, PRINT_DARKER + lb de, GBPRINTER_NORMAL, GBPRINTER_DARKEST ret .IsDarkest: - ld c, 4 - lb de, PRINT_DARKER, PRINT_LIGHTEST ; the 2 values next to this setting + ld c, PRINT_DARKEST + lb de, GBPRINTER_DARKER, GBPRINTER_LIGHTEST ret ; e44c1 @@ -463,10 +469,8 @@ Options_MenuAccount: ; e44c1 ret ; e44f2 -.Off: - db "OFF@" -.On: - db "ON @" +.Off: db "OFF@" +.On: db "ON @" ; e44fa diff --git a/engine/overworld.asm b/engine/overworld.asm index 3ed029800..5681dd6b8 100755 --- a/engine/overworld.asm +++ b/engine/overworld.asm @@ -716,764 +716,18 @@ LoadEmote:: ; 1442f ret ; 1444d -emote_header: MACRO - dw \1 - db \2 tiles, BANK(\1) - dw VTiles1 tile \3 -ENDM EmotesPointers: ; 144d -; entries correspond to EMOTE_* constants -; graphics address, length, starting tile - emote_header ShockEmote, 4, $78 - emote_header QuestionEmote, 4, $78 - emote_header HappyEmote, 4, $78 - emote_header SadEmote, 4, $78 - emote_header HeartEmote, 4, $78 - emote_header BoltEmote, 4, $78 - emote_header SleepEmote, 4, $78 - emote_header FishEmote, 4, $78 - emote_header JumpShadowGFX, 1, $7c - emote_header FishingRodGFX, 2, $7c - emote_header BoulderDustGFX, 2, $7e - emote_header GrassRustleGFX, 1, $7e +INCLUDE "data/emote_headers.asm" ; 14495 SpriteMons: ; 14495 - db UNOWN - db GEODUDE - db GROWLITHE - db WEEDLE - db SHELLDER - db ODDISH - db GENGAR - db ZUBAT - db MAGIKARP - db SQUIRTLE - db TOGEPI - db BUTTERFREE - db DIGLETT - db POLIWAG - db PIKACHU - db CLEFAIRY - db CHARMANDER - db JYNX - db STARMIE - db BULBASAUR - db JIGGLYPUFF - db GRIMER - db EKANS - db PARAS - db TENTACOOL - db TAUROS - db MACHOP - db VOLTORB - db LAPRAS - db RHYDON - db MOLTRES - db SNORLAX - db GYARADOS - db LUGIA - db HO_OH +INCLUDE "data/sprite_mons.asm" ; 144b8 -OutdoorSprites: ; 144b8 -; Valid sprite IDs for each map group. - - dw Group1Sprites - dw Group2Sprites - dw Group3Sprites - dw Group4Sprites - dw Group5Sprites - dw Group6Sprites - dw Group7Sprites - dw Group8Sprites - dw Group9Sprites - dw Group10Sprites - dw Group11Sprites - dw Group12Sprites - dw Group13Sprites - dw Group14Sprites - dw Group15Sprites - dw Group16Sprites - dw Group17Sprites - dw Group18Sprites - dw Group19Sprites - dw Group20Sprites - dw Group21Sprites - dw Group22Sprites - dw Group23Sprites - dw Group24Sprites - dw Group25Sprites - dw Group26Sprites -; 144ec - - -Group13Sprites: ; 144ec - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_YOUNGSTER - db SPRITE_BLUE - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_SWIMMER_GIRL - db SPRITE_SWIMMER_GUY - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 14503 - -Group23Sprites: ; 14503 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_YOUNGSTER - db SPRITE_BLUE - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_SWIMMER_GIRL - db SPRITE_SWIMMER_GUY - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 1451a - -Group14Sprites: ; 1451a - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_YOUNGSTER - db SPRITE_BLUE - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_SWIMMER_GIRL - db SPRITE_SWIMMER_GUY - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 14531 - -Group6Sprites: ; 14531 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_YOUNGSTER - db SPRITE_BLUE - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_SWIMMER_GIRL - db SPRITE_SWIMMER_GUY - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 14548 - -Group7Sprites: ; 14548 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_COOLTRAINER_M - db SPRITE_SUPER_NERD - db SPRITE_COOLTRAINER_F - db SPRITE_FISHER - db SPRITE_YOUNGSTER - db SPRITE_LASS - db SPRITE_POKEFAN_M - db SPRITE_ROCKET - db SPRITE_MISTY - db SPRITE_POKE_BALL - db SPRITE_SLOWPOKE -; 1455f - -Group25Sprites: ; 1455f - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_COOLTRAINER_M - db SPRITE_SUPER_NERD - db SPRITE_COOLTRAINER_F - db SPRITE_FISHER - db SPRITE_YOUNGSTER - db SPRITE_LASS - db SPRITE_POKEFAN_M - db SPRITE_ROCKET - db SPRITE_MISTY - db SPRITE_POKE_BALL - db SPRITE_SLOWPOKE -; 14576 - -Group21Sprites: ; 14576 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_FISHER - db SPRITE_POLIWAG - db SPRITE_TEACHER - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_LASS - db SPRITE_BIKER - db SPRITE_SILVER - db SPRITE_BLUE - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 1458d - -Group18Sprites: ; 1458d - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_POKEFAN_M - db SPRITE_MACHOP - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_FISHER - db SPRITE_TEACHER - db SPRITE_SUPER_NERD - db SPRITE_BIG_SNORLAX - db SPRITE_BIKER - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 145a4 - -Group12Sprites: ; 145a4 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_POKEFAN_M - db SPRITE_MACHOP - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_FISHER - db SPRITE_TEACHER - db SPRITE_SUPER_NERD - db SPRITE_BIG_SNORLAX - db SPRITE_BIKER - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 145bb - -Group17Sprites: ; 145bb - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_POKEFAN_M - db SPRITE_MACHOP - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_FISHER - db SPRITE_TEACHER - db SPRITE_SUPER_NERD - db SPRITE_BIG_SNORLAX - db SPRITE_BIKER - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 145d2 - -Group16Sprites: ; 145d2 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_POKEFAN_M - db SPRITE_BUENA - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_FISHER - db SPRITE_TEACHER - db SPRITE_SUPER_NERD - db SPRITE_MACHOP - db SPRITE_BIKER - db SPRITE_POKE_BALL - db SPRITE_BOULDER -; 145e9 - -Group24Sprites: ; 145e9 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_SILVER - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_COOLTRAINER_M - db SPRITE_YOUNGSTER - db SPRITE_MONSTER - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 14600 - -Group26Sprites: ; 14600 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_SILVER - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_COOLTRAINER_M - db SPRITE_YOUNGSTER - db SPRITE_MONSTER - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 14617 - -Group19Sprites: ; 14617 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_SILVER - db SPRITE_TEACHER - db SPRITE_FISHER - db SPRITE_COOLTRAINER_M - db SPRITE_YOUNGSTER - db SPRITE_MONSTER - db SPRITE_GRAMPS - db SPRITE_BUG_CATCHER - db SPRITE_COOLTRAINER_F - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 1462e - -Group10Sprites: ; 1462e - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_FISHER - db SPRITE_LASS - db SPRITE_OFFICER - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_COOLTRAINER_M - db SPRITE_BUG_CATCHER - db SPRITE_SUPER_NERD - db SPRITE_WEIRD_TREE - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 14645 - -Group4Sprites: ; 14645 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_FISHER - db SPRITE_LASS - db SPRITE_OFFICER - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_COOLTRAINER_M - db SPRITE_BUG_CATCHER - db SPRITE_SUPER_NERD - db SPRITE_WEIRD_TREE - db SPRITE_POKE_BALL - db SPRITE_FRUIT_TREE -; 1465c - -Group8Sprites: ; 1465c - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_KURT_OUTSIDE - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_OFFICER - db SPRITE_POKEFAN_M - db SPRITE_BLACK_BELT - db SPRITE_TEACHER - db SPRITE_AZALEA_ROCKET - db SPRITE_LASS - db SPRITE_SILVER - db SPRITE_FRUIT_TREE - db SPRITE_SLOWPOKE -; 14673 - -Group11Sprites: ; 14673 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_POKE_BALL - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_OFFICER - db SPRITE_POKEFAN_M - db SPRITE_DAY_CARE_MON_1 - db SPRITE_COOLTRAINER_F - db SPRITE_ROCKET - db SPRITE_LASS - db SPRITE_DAY_CARE_MON_2 - db SPRITE_FRUIT_TREE - db SPRITE_SLOWPOKE -; 1468a - -Group22Sprites: ; 1468a - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_STANDING_YOUNGSTER - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_OLIVINE_RIVAL - db SPRITE_POKEFAN_M - db SPRITE_LASS - db SPRITE_BUENA - db SPRITE_SWIMMER_GIRL - db SPRITE_SAILOR - db SPRITE_POKEFAN_F - db SPRITE_SUPER_NERD - db SPRITE_TAUROS - db SPRITE_FRUIT_TREE - db SPRITE_ROCK -; 146a1 - -Group1Sprites: ; 146a1 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_STANDING_YOUNGSTER - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_OLIVINE_RIVAL - db SPRITE_POKEFAN_M - db SPRITE_LASS - db SPRITE_BUENA - db SPRITE_SWIMMER_GIRL - db SPRITE_SAILOR - db SPRITE_POKEFAN_F - db SPRITE_SUPER_NERD - db SPRITE_TAUROS - db SPRITE_FRUIT_TREE - db SPRITE_ROCK -; 146b8 - -Group9Sprites: ; 146b8 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_LANCE - db SPRITE_GRAMPS - db SPRITE_SUPER_NERD - db SPRITE_COOLTRAINER_F - db SPRITE_FISHER - db SPRITE_COOLTRAINER_M - db SPRITE_LASS - db SPRITE_YOUNGSTER - db SPRITE_GYARADOS - db SPRITE_FRUIT_TREE - db SPRITE_POKE_BALL -; 146cf - -Group2Sprites: ; 146cf - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_LASS - db SPRITE_SUPER_NERD - db SPRITE_COOLTRAINER_M - db SPRITE_POKEFAN_M - db SPRITE_BLACK_BELT - db SPRITE_COOLTRAINER_F - db SPRITE_FISHER - db SPRITE_FRUIT_TREE - db SPRITE_POKE_BALL -; 146e6 - -Group5Sprites: ; 146e6 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_GRAMPS - db SPRITE_YOUNGSTER - db SPRITE_LASS - db SPRITE_SUPER_NERD - db SPRITE_COOLTRAINER_M - db SPRITE_POKEFAN_M - db SPRITE_BLACK_BELT - db SPRITE_COOLTRAINER_F - db SPRITE_FISHER - db SPRITE_FRUIT_TREE - db SPRITE_POKE_BALL -; 146fd - -Group3Sprites: ; 146fd - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_GAMEBOY_KID - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_LASS - db SPRITE_POKEFAN_F - db SPRITE_TEACHER - db SPRITE_YOUNGSTER - db SPRITE_GROWLITHE - db SPRITE_POKEFAN_M - db SPRITE_ROCKER - db SPRITE_FISHER - db SPRITE_SCIENTIST - db SPRITE_POKE_BALL - db SPRITE_BOULDER -; 14714 - -Group15Sprites: ; 14714 - db SPRITE_SUICUNE - db SPRITE_SILVER_TROPHY - db SPRITE_FAMICOM - db SPRITE_POKEDEX - db SPRITE_WILL - db SPRITE_KAREN - db SPRITE_NURSE - db SPRITE_OLD_LINK_RECEPTIONIST - db SPRITE_BIG_LAPRAS - db SPRITE_BIG_ONIX - db SPRITE_SUDOWOODO - db SPRITE_BIG_SNORLAX - db SPRITE_SAILOR - db SPRITE_FISHING_GURU - db SPRITE_GENTLEMAN - db SPRITE_SUPER_NERD - db SPRITE_HO_OH - db SPRITE_TEACHER - db SPRITE_COOLTRAINER_F - db SPRITE_YOUNGSTER - db SPRITE_FAIRY - db SPRITE_POKE_BALL - db SPRITE_ROCK -; 1472b - -Group20Sprites: ; 1472b - db SPRITE_OAK - db SPRITE_FISHER - db SPRITE_TEACHER - db SPRITE_TWIN - db SPRITE_POKEFAN_M - db SPRITE_GRAMPS - db SPRITE_FAIRY - db SPRITE_SILVER - db SPRITE_FISHING_GURU - db SPRITE_POKE_BALL - db SPRITE_POKEDEX -; 14736 +INCLUDE "data/outdoor_sprites.asm" SpriteHeaders: ; 14736 diff --git a/engine/phone.asm b/engine/phone.asm index 55deab4d1..ce9cfa081 100644 --- a/engine/phone.asm +++ b/engine/phone.asm @@ -761,87 +761,11 @@ GetCallerLocation: ; 90439 ; 9045f PhoneContacts: ; 9045f -phone: MACRO - db \1, \2 ; trainer - map \3 ; map - db \4 - dba \5 ; script 1 - db \6 - dba \7 ; script 2 -ENDM -; entries correspond to PHONE_* constants - phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript - phone TRAINER_NONE, PHONECONTACT_MOM, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript - phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript - phone TRAINER_NONE, PHONECONTACT_BILL, N_A, 7, BillPhoneScript1, 0, BillPhoneScript2 - phone TRAINER_NONE, PHONECONTACT_ELM, ELMS_LAB, 7, ElmPhoneScript1, 0, ElmPhoneScript2 - phone SCHOOLBOY, JACK1, NATIONAL_PARK, 7, JackPhoneScript1, 7, JackPhoneScript2 - phone POKEFANF, BEVERLY1, NATIONAL_PARK, 7, BeverlyPhoneScript1, 7, BeverlyPhoneScript2 - phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, 7, HueyPhoneScript1, 7, HueyPhoneScript2 - phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript - phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript - phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript - phone COOLTRAINERM, GAVEN3, ROUTE_26, 7, GavenPhoneScript1, 7, GavenPhoneScript2 - phone COOLTRAINERF, BETH1, ROUTE_26, 7, BethPhoneScript1, 7, BethPhoneScript2 - phone BIRD_KEEPER, JOSE2, ROUTE_27, 7, JosePhoneScript1, 7, JosePhoneScript2 - phone COOLTRAINERF, REENA1, ROUTE_27, 7, ReenaPhoneScript1, 7, ReenaPhoneScript2 - phone YOUNGSTER, JOEY1, ROUTE_30, 7, JoeyPhoneScript1, 7, JoeyPhoneScript2 - phone BUG_CATCHER, WADE1, ROUTE_31, 7, WadePhoneScript1, 7, WadePhoneScript2 - phone FISHER, RALPH1, ROUTE_32, 7, RalphPhoneScript1, 7, RalphPhoneScript2 - phone PICNICKER, LIZ1, ROUTE_32, 7, LizPhoneScript1, 7, LizPhoneScript2 - phone HIKER, ANTHONY2, ROUTE_33, 7, AnthonyPhoneScript1, 7, AnthonyPhoneScript2 - phone CAMPER, TODD1, ROUTE_34, 7, ToddPhoneScript1, 7, ToddPhoneScript2 - phone PICNICKER, GINA1, ROUTE_34, 7, GinaPhoneScript1, 7, GinaPhoneScript2 - phone JUGGLER, IRWIN1, ROUTE_35, 7, IrwinPhoneScript1, 7, IrwinPhoneScript2 - phone BUG_CATCHER, ARNIE1, ROUTE_35, 7, ArniePhoneScript1, 7, ArniePhoneScript2 - phone SCHOOLBOY, ALAN1, ROUTE_36, 7, AlanPhoneScript1, 7, AlanPhoneScript2 - phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript - phone LASS, DANA1, ROUTE_38, 7, DanaPhoneScript1, 7, DanaPhoneScript2 - phone SCHOOLBOY, CHAD1, ROUTE_38, 7, ChadPhoneScript1, 7, ChadPhoneScript2 - phone POKEFANM, DEREK1, ROUTE_39, 7, DerekPhoneScript1, 7, DerekPhoneScript2 - phone FISHER, TULLY1, ROUTE_42, 7, TullyPhoneScript1, 7, TullyPhoneScript2 - phone POKEMANIAC, BRENT1, ROUTE_43, 7, BrentPhoneScript1, 7, BrentPhoneScript2 - phone PICNICKER, TIFFANY3, ROUTE_43, 7, TiffanyPhoneScript1, 7, TiffanyPhoneScript2 - phone BIRD_KEEPER, VANCE1, ROUTE_44, 7, VancePhoneScript1, 7, VancePhoneScript2 - phone FISHER, WILTON1, ROUTE_44, 7, WiltonPhoneScript1, 7, WiltonPhoneScript2 - phone BLACKBELT_T, KENJI3, ROUTE_45, 7, KenjiPhoneScript1, 7, KenjiPhoneScript2 - phone HIKER, PARRY1, ROUTE_45, 7, ParryPhoneScript1, 7, ParryPhoneScript2 - phone PICNICKER, ERIN1, ROUTE_46, 7, ErinPhoneScript1, 7, ErinPhoneScript2 - phone TRAINER_NONE, PHONECONTACT_BUENA, GOLDENROD_DEPT_STORE_ROOF, 7, BuenaPhoneScript1, 7, BuenaPhoneScript2 +INCLUDE "data/phone_contacts.asm" ; 90627 SpecialPhoneCallList: ; 90627 - dw SpecialCallOnlyWhenOutside - db PHONE_ELM - dba ElmPhoneScript2 - - dw SpecialCallOnlyWhenOutside - db PHONE_ELM - dba ElmPhoneScript2 - - dw SpecialCallOnlyWhenOutside - db PHONE_ELM - dba ElmPhoneScript2 - - dw SpecialCallOnlyWhenOutside - db PHONE_ELM - dba ElmPhoneScript2 - - dw SpecialCallWhereverYouAre - db PHONE_ELM - dba ElmPhoneScript2 - - dw SpecialCallWhereverYouAre - db PHONE_OAK ; ???????? - dba BikeShopPhoneScript ; bike shop - - dw SpecialCallWhereverYouAre - db PHONE_MOM - dba MomPhoneLectureScript - - dw SpecialCallOnlyWhenOutside - db PHONE_ELM - dba ElmPhoneScript2 +INCLUDE "data/phone_special.asm" ; 90657 UnknownScript_0x90657: ; 0x90657 diff --git a/engine/save.asm b/engine/save.asm index de2d3bc65..97267347c 100644 --- a/engine/save.asm +++ b/engine/save.asm @@ -727,14 +727,7 @@ TryLoadSaveData: ; 14f1c ; 14f7c DefaultOptions: ; 14f7c - db $03 ; mid text speed - db $00 ; wSaveFileExists - db $00 ; frame 0 - db $01 ; TextBoxFlags - db $40 ; gb printer: normal brightness - db $01 ; menu account on - db $00 ; ?? - db $00 ; ?? +INCLUDE "data/default_options.asm" ; 14f84 CheckPrimarySaveFile: ; 14f84 diff --git a/engine/spawn_points.asm b/engine/spawn_points.asm index 8dda255a1..3ed0a98ce 100644 --- a/engine/spawn_points.asm +++ b/engine/spawn_points.asm @@ -1,44 +1,6 @@ SpawnPoints: ; 0x152ab - -spawn: MACRO -; map, y, x - map \1 - db \2, \3 -ENDM - - spawn KRISS_HOUSE_2F, 3, 3 - spawn VIRIDIAN_POKECENTER_1F, 5, 3 - - spawn PALLET_TOWN, 5, 6 - spawn VIRIDIAN_CITY, 23, 26 - spawn PEWTER_CITY, 13, 26 - spawn CERULEAN_CITY, 19, 22 - spawn ROUTE_10_NORTH, 11, 2 - spawn VERMILION_CITY, 9, 6 - spawn LAVENDER_TOWN, 5, 6 - spawn SAFFRON_CITY, 9, 30 - spawn CELADON_CITY, 29, 10 - spawn FUCHSIA_CITY, 19, 28 - spawn CINNABAR_ISLAND, 11, 12 - spawn ROUTE_23, 9, 6 - - spawn NEW_BARK_TOWN, 13, 6 - spawn CHERRYGROVE_CITY, 29, 4 - spawn VIOLET_CITY, 31, 26 - spawn ROUTE_32, 11, 74 - spawn AZALEA_TOWN, 15, 10 - spawn CIANWOOD_CITY, 23, 44 - spawn GOLDENROD_CITY, 15, 28 - spawn OLIVINE_CITY, 13, 22 - spawn ECRUTEAK_CITY, 23, 28 - spawn MAHOGANY_TOWN, 15, 14 - spawn LAKE_OF_RAGE, 21, 29 - spawn BLACKTHORN_CITY, 21, 30 - spawn SILVER_CAVE_OUTSIDE, 23, 20 - spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2 - spawn N_A, -1, -1 - +INCLUDE "data/spawn_points.asm" LoadSpawnPoint: ; 1531f diff --git a/engine/sprites.asm b/engine/sprites.asm index ad36dfbc9..4b20a2371 100755 --- a/engine/sprites.asm +++ b/engine/sprites.asm @@ -551,98 +551,7 @@ BrokenGetStdGraphics: ; 8d1ac ; 8d1c4 SpriteAnimSeqData: ; 8d1c4 -; entries correspond to SPRITE_ANIM_INDEX_* constants - ; frameset sequence, tile -; SPRITE_ANIM_INDEX_PARTY_MON - db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 -; SPRITE_ANIM_INDEX_01 - db SPRITE_ANIM_FRAMESET_07, SPRITE_ANIM_SEQ_04, $00 -; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR - db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 -; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO - db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 -; SPRITE_ANIM_INDEX_GS_INTRO_STAR - db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 -; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE - db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 -; SPRITE_ANIM_INDEX_SLOTS_GOLEM - db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 -; SPRITE_ANIM_INDEX_SLOTS_CHANSEY - db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 -; SPRITE_ANIM_INDEX_SLOTS_EGG - db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 -; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR - db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 -; SPRITE_ANIM_INDEX_RED_WALK - db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 -; SPRITE_ANIM_INDEX_0B - db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0D, $08 -; SPRITE_ANIM_INDEX_DUMMY_GAME - db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0E, $08 -; SPRITE_ANIM_INDEX_0D - db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0F, $08 -; SPRITE_ANIM_INDEX_TRADE_POKE_BALL - db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 -; SPRITE_ANIM_INDEX_TRADE_POOF - db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 -; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE - db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 -; SPRITE_ANIM_INDEX_TRADEMON_ICON - db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 -; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE - db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 -; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT - db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 -; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB - db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 -; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED - db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 -; SPRITE_ANIM_INDEX_LEAF - db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 -; SPRITE_ANIM_INDEX_CUT_TREE - db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 -; SPRITE_ANIM_INDEX_FLY_LEAF - db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 -; SPRITE_ANIM_INDEX_EGG_CRACK - db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 -; SPRITE_ANIM_INDEX_1A - db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 -; SPRITE_ANIM_INDEX_HEADBUTT - db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 -; SPRITE_ANIM_INDEX_EGG_HATCH - db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 -; SPRITE_ANIM_INDEX_1D - db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 -; SPRITE_ANIM_INDEX_BLUE_WALK - db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 -; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE - db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 -; SPRITE_ANIM_INDEX_20 - db SPRITE_ANIM_FRAMESET_2F, SPRITE_ANIM_SEQ_NULL, $00 -; SPRITE_ANIM_INDEX_21 - db SPRITE_ANIM_FRAMESET_30, SPRITE_ANIM_SEQ_NULL, $00 -; SPRITE_ANIM_INDEX_22 - db SPRITE_ANIM_FRAMESET_31, SPRITE_ANIM_SEQ_NULL, $00 -; SPRITE_ANIM_INDEX_23 - db SPRITE_ANIM_FRAMESET_32, SPRITE_ANIM_SEQ_1B, $00 -; SPRITE_ANIM_INDEX_24 - db SPRITE_ANIM_FRAMESET_33, SPRITE_ANIM_SEQ_1C, $00 -; SPRITE_ANIM_INDEX_25 - db SPRITE_ANIM_FRAMESET_34, SPRITE_ANIM_SEQ_NULL, $00 -; SPRITE_ANIM_INDEX_INTRO_SUICUNE - db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 -; SPRITE_ANIM_INDEX_INTRO_PICHU - db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 -; SPRITE_ANIM_INDEX_INTRO_WOOPER - db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 -; SPRITE_ANIM_INDEX_INTRO_UNOWN - db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 -; SPRITE_ANIM_INDEX_INTRO_UNOWN_F - db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 -; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY - db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 -; SPRITE_ANIM_INDEX_CELEBI - db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; 2c +INCLUDE "data/sprite_anim_seqs.asm" ; 8d24b INCLUDE "engine/sprite_anims.asm" ; DoAnimFrame diff --git a/engine/time_capsule/conversion.asm b/engine/time_capsule/conversion.asm index 561721074..6f17398fd 100755 --- a/engine/time_capsule/conversion.asm +++ b/engine/time_capsule/conversion.asm @@ -145,159 +145,7 @@ PlaceTradePartnerNamesAndParty: ; fb60d ; fb656 KantoMonSpecials: ; fb656 -; The original special base stat for -; each Kanto monster from Red/Blue. - db 65 ; BULBASAUR - db 80 ; IVYSAUR - db 100 ; VENUSAUR - db 50 ; CHARMANDER - db 65 ; CHARMELEON - db 85 ; CHARIZARD - db 50 ; SQUIRTLE - db 65 ; WARTORTLE - db 85 ; BLASTOISE - db 20 ; CATERPIE - db 25 ; METAPOD - db 80 ; BUTTERFREE - db 20 ; WEEDLE - db 25 ; KAKUNA - db 45 ; BEEDRILL - db 35 ; PIDGEY - db 50 ; PIDGEOTTO - db 70 ; PIDGEOT - db 25 ; RATTATA - db 50 ; RATICATE - db 31 ; SPEAROW - db 61 ; FEAROW - db 40 ; EKANS - db 65 ; ARBOK - db 50 ; PIKACHU - db 90 ; RAICHU - db 30 ; SANDSHREW - db 55 ; SANDSLASH - db 40 ; NIDORAN_F - db 55 ; NIDORINA - db 75 ; NIDOQUEEN - db 40 ; NIDORAN_M - db 55 ; NIDORINO - db 75 ; NIDOKING - db 60 ; CLEFAIRY - db 85 ; CLEFABLE - db 65 ; VULPIX - db 100 ; NINETALES - db 25 ; JIGGLYPUFF - db 50 ; WIGGLYTUFF - db 40 ; ZUBAT - db 75 ; GOLBAT - db 75 ; ODDISH - db 85 ; GLOOM - db 100 ; VILEPLUME - db 55 ; PARAS - db 80 ; PARASECT - db 40 ; VENONAT - db 90 ; VENOMOTH - db 45 ; DIGLETT - db 70 ; DUGTRIO - db 40 ; MEOWTH - db 65 ; PERSIAN - db 50 ; PSYDUCK - db 80 ; GOLDUCK - db 35 ; MANKEY - db 60 ; PRIMEAPE - db 50 ; GROWLITHE - db 80 ; ARCANINE - db 40 ; POLIWAG - db 50 ; POLIWHIRL - db 70 ; POLIWRATH - db 105 ; ABRA - db 120 ; KADABRA - db 135 ; ALAKAZAM - db 35 ; MACHOP - db 50 ; MACHOKE - db 65 ; MACHAMP - db 70 ; BELLSPROUT - db 85 ; WEEPINBELL - db 100 ; VICTREEBEL - db 100 ; TENTACOOL - db 120 ; TENTACRUEL - db 30 ; GEODUDE - db 45 ; GRAVELER - db 55 ; GOLEM - db 65 ; PONYTA - db 80 ; RAPIDASH - db 40 ; SLOWPOKE - db 80 ; SLOWBRO - db 95 ; MAGNEMITE - db 120 ; MAGNETON - db 58 ; FARFETCH_D - db 35 ; DODUO - db 60 ; DODRIO - db 70 ; SEEL - db 95 ; DEWGONG - db 40 ; GRIMER - db 65 ; MUK - db 45 ; SHELLDER - db 85 ; CLOYSTER - db 100 ; GASTLY - db 115 ; HAUNTER - db 130 ; GENGAR - db 30 ; ONIX - db 90 ; DROWZEE - db 115 ; HYPNO - db 25 ; KRABBY - db 50 ; KINGLER - db 55 ; VOLTORB - db 80 ; ELECTRODE - db 60 ; EXEGGCUTE - db 125 ; EXEGGUTOR - db 40 ; CUBONE - db 50 ; MAROWAK - db 35 ; HITMONLEE - db 35 ; HITMONCHAN - db 60 ; LICKITUNG - db 60 ; KOFFING - db 85 ; WEEZING - db 30 ; RHYHORN - db 45 ; RHYDON - db 105 ; CHANSEY - db 100 ; TANGELA - db 40 ; KANGASKHAN - db 70 ; HORSEA - db 95 ; SEADRA - db 50 ; GOLDEEN - db 80 ; SEAKING - db 70 ; STARYU - db 100 ; STARMIE - db 100 ; MR__MIME - db 55 ; SCYTHER - db 95 ; JYNX - db 85 ; ELECTABUZZ - db 85 ; MAGMAR - db 55 ; PINSIR - db 70 ; TAUROS - db 20 ; MAGIKARP - db 100 ; GYARADOS - db 95 ; LAPRAS - db 48 ; DITTO - db 65 ; EEVEE - db 110 ; VAPOREON - db 110 ; JOLTEON - db 110 ; FLAREON - db 75 ; PORYGON - db 90 ; OMANYTE - db 115 ; OMASTAR - db 45 ; KABUTO - db 70 ; KABUTOPS - db 60 ; AERODACTYL - db 65 ; SNORLAX - db 125 ; ARTICUNO - db 125 ; ZAPDOS - db 125 ; MOLTRES - db 50 ; DRATINI - db 70 ; DRAGONAIR - db 100 ; DRAGONITE - db 154 ; MEWTWO - db 100 ; MEW +INCLUDE "data/time_capsule/special_stats.asm" ; fb6ed @@ -427,256 +275,5 @@ ConvertMon_1to2: ; fb908 ; fb91c Pokered_MonIndices: ; fb91c - db RHYDON - db KANGASKHAN - db NIDORAN_M - db CLEFAIRY - db SPEAROW - db VOLTORB - db NIDOKING - db SLOWBRO - db IVYSAUR - db EXEGGUTOR - db LICKITUNG - db EXEGGCUTE - db GRIMER - db GENGAR - db NIDORAN_F - db NIDOQUEEN - db CUBONE - db RHYHORN - db LAPRAS - db ARCANINE - db MEW - db GYARADOS - db SHELLDER - db TENTACOOL - db GASTLY - db SCYTHER - db STARYU - db BLASTOISE - db PINSIR - db TANGELA - db SCIZOR - db SHUCKLE - db GROWLITHE - db ONIX - db FEAROW - db PIDGEY - db SLOWPOKE - db KADABRA - db GRAVELER - db CHANSEY - db MACHOKE - db MR__MIME - db HITMONLEE - db HITMONCHAN - db ARBOK - db PARASECT - db PSYDUCK - db DROWZEE - db GOLEM - db HERACROSS - db MAGMAR - db HO_OH - db ELECTABUZZ - db MAGNETON - db KOFFING - db SNEASEL - db MANKEY - db SEEL - db DIGLETT - db TAUROS - db TEDDIURSA - db URSARING - db SLUGMA - db FARFETCH_D - db VENONAT - db DRAGONITE - db MAGCARGO - db SWINUB - db PILOSWINE - db DODUO - db POLIWAG - db JYNX - db MOLTRES - db ARTICUNO - db ZAPDOS - db DITTO - db MEOWTH - db KRABBY - db CORSOLA - db REMORAID - db OCTILLERY - db VULPIX - db NINETALES - db PIKACHU - db RAICHU - db DELIBIRD - db MANTINE - db DRATINI - db DRAGONAIR - db KABUTO - db KABUTOPS - db HORSEA - db SEADRA - db SKARMORY - db HOUNDOUR - db SANDSHREW - db SANDSLASH - db OMANYTE - db OMASTAR - db JIGGLYPUFF - db WIGGLYTUFF - db EEVEE - db FLAREON - db JOLTEON - db VAPOREON - db MACHOP - db ZUBAT - db EKANS - db PARAS - db POLIWHIRL - db POLIWRATH - db WEEDLE - db KAKUNA - db BEEDRILL - db HOUNDOOM - db DODRIO - db PRIMEAPE - db DUGTRIO - db VENOMOTH - db DEWGONG - db KINGDRA - db PHANPY - db CATERPIE - db METAPOD - db BUTTERFREE - db MACHAMP - db DONPHAN - db GOLDUCK - db HYPNO - db GOLBAT - db MEWTWO - db SNORLAX - db MAGIKARP - db PORYGON2 - db STANTLER - db MUK - db SMEARGLE - db KINGLER - db CLOYSTER - db TYROGUE - db ELECTRODE - db CLEFABLE - db WEEZING - db PERSIAN - db MAROWAK - db HITMONTOP - db HAUNTER - db ABRA - db ALAKAZAM - db PIDGEOTTO - db PIDGEOT - db STARMIE - db BULBASAUR - db VENUSAUR - db TENTACRUEL - db SMOOCHUM - db GOLDEEN - db SEAKING - db ELEKID - db MAGBY - db MILTANK - db BLISSEY - db PONYTA - db RAPIDASH - db RATTATA - db RATICATE - db NIDORINO - db NIDORINA - db GEODUDE - db PORYGON - db AERODACTYL - db RAIKOU - db MAGNEMITE - db ENTEI - db SUICUNE - db CHARMANDER - db SQUIRTLE - db CHARMELEON - db WARTORTLE - db CHARIZARD - db LARVITAR - db PUPITAR - db TYRANITAR - db LUGIA - db ODDISH - db GLOOM - db VILEPLUME - db BELLSPROUT - db WEEPINBELL - db VICTREEBEL - db CHIKORITA - db BAYLEEF - db MEGANIUM - db CYNDAQUIL - db QUILAVA - db TYPHLOSION - db TOTODILE - db CROCONAW - db FERALIGATR - db SENTRET - db FURRET - db HOOTHOOT - db NOCTOWL - db LEDYBA - db LEDIAN - db SPINARAK - db ARIADOS - db CROBAT - db CHINCHOU - db LANTURN - db PICHU - db CLEFFA - db IGGLYBUFF - db TOGEPI - db TOGETIC - db NATU - db XATU - db MAREEP - db FLAAFFY - db AMPHAROS - db BELLOSSOM - db MARILL - db AZUMARILL - db SUDOWOODO - db POLITOED - db HOPPIP - db SKIPLOOM - db JUMPLUFF - db AIPOM - db SUNKERN - db SUNFLORA - db YANMA - db WOOPER - db QUAGSIRE - db ESPEON - db UMBREON - db MURKROW - db SLOWKING - db MISDREAVUS - db UNOWN - db WOBBUFFET - db GIRAFARIG - db PINECO - db FORRETRESS - db DUNSPARCE - db GLIGAR - db STEELIX - db SNUBBULL - db GRANBULL - db QWILFISH - db WOBBUFFET - db WOBBUFFET +INCLUDE "data/time_capsule/mon_order.asm" ; fba18 diff --git a/engine/tmhm.asm b/engine/tmhm.asm index dc5d698e1..40922c9ad 100755 --- a/engine/tmhm.asm +++ b/engine/tmhm.asm @@ -46,68 +46,5 @@ GetTMHMMove: ; 1166a ; 1167a TMHMMoves: ; 1167a - db DYNAMICPUNCH - db HEADBUTT - db CURSE - db ROLLOUT - db ROAR - db TOXIC - db ZAP_CANNON - db ROCK_SMASH - db PSYCH_UP - db HIDDEN_POWER - db SUNNY_DAY - db SWEET_SCENT - db SNORE - db BLIZZARD - db HYPER_BEAM - db ICY_WIND - db PROTECT - db RAIN_DANCE - db GIGA_DRAIN - db ENDURE - db FRUSTRATION - db SOLARBEAM - db IRON_TAIL - db DRAGONBREATH - db THUNDER - db EARTHQUAKE - db RETURN - db DIG - db PSYCHIC_M - db SHADOW_BALL - db MUD_SLAP - db DOUBLE_TEAM - db ICE_PUNCH - db SWAGGER - db SLEEP_TALK - db SLUDGE_BOMB - db SANDSTORM - db FIRE_BLAST - db SWIFT - db DEFENSE_CURL - db THUNDERPUNCH - db DREAM_EATER - db DETECT - db REST - db ATTRACT - db THIEF - db STEEL_WING - db FIRE_PUNCH - db FURY_CUTTER - db NIGHTMARE - db CUT - db FLY - db SURF - db STRENGTH - db FLASH - db WHIRLPOOL - db WATERFALL - -; Move tutor - db FLAMETHROWER - db THUNDERBOLT - db ICE_BEAM - - db 0 ; end +INCLUDE "data/tmhm_moves.asm" ; 116b7 diff --git a/engine/wildmons.asm b/engine/wildmons.asm index bb668f2be..8fab382b7 100755 --- a/engine/wildmons.asm +++ b/engine/wildmons.asm @@ -271,14 +271,14 @@ ChooseWildEncounter: ; 2a14f inc hl inc hl call CheckOnWater - ld de, .WaterMonTable + ld de, WaterMonProbTable jr z, .watermon inc hl inc hl ld a, [TimeOfDay] ld bc, $e call AddNTimes - ld de, .GrassMonTable + ld de, GrassMonProbTable .watermon ; hl contains the pointer to the wild mon data, let's save that to the stack @@ -357,21 +357,7 @@ ChooseWildEncounter: ; 2a14f ret ; 2a1cb -.GrassMonTable: ; 2a1cb - db 30, $0 ; 30% chance - db 60, $2 ; 30% chance - db 80, $4 ; 20% chance - db 90, $6 ; 10% chance - db 95, $8 ; 5% chance - db 99, $a ; 4% chance - db 100, $c ; 1% chance -; 2a1d9 - -.WaterMonTable: ; 2a1d9 - db 60, $0 ; 60% chance - db 90, $2 ; 30% chance - db 100, $4 ; 10% chance -; 2a1df +INCLUDE "data/wild/probabilities.asm" CheckRepelEffect:: ; 2a1df ; If there is no active Repel, there's no need to be here. @@ -799,27 +785,7 @@ _BackUpMapIndices: ; 2a3f6 ; 2a40f RoamMaps: ; 2a40f -; Maps that roaming monsters can be on, -; and possible maps they can jump to. -; Notably missing are Route 40 and -; Route 41, which are water routes. - roam_map ROUTE_29, 2, ROUTE_30, ROUTE_46 - roam_map ROUTE_30, 2, ROUTE_29, ROUTE_31 - roam_map ROUTE_31, 3, ROUTE_30, ROUTE_32, ROUTE_36 - roam_map ROUTE_32, 3, ROUTE_36, ROUTE_31, ROUTE_33 - roam_map ROUTE_33, 2, ROUTE_32, ROUTE_34 - roam_map ROUTE_34, 2, ROUTE_33, ROUTE_35 - roam_map ROUTE_35, 2, ROUTE_34, ROUTE_36 - roam_map ROUTE_36, 4, ROUTE_35, ROUTE_31, ROUTE_32, ROUTE_37 - roam_map ROUTE_37, 3, ROUTE_36, ROUTE_38, ROUTE_42 - roam_map ROUTE_38, 3, ROUTE_37, ROUTE_39, ROUTE_42 - roam_map ROUTE_39, 1, ROUTE_38 - roam_map ROUTE_42, 4, ROUTE_43, ROUTE_44, ROUTE_37, ROUTE_38 - roam_map ROUTE_43, 2, ROUTE_42, ROUTE_44 - roam_map ROUTE_44, 3, ROUTE_42, ROUTE_43, ROUTE_45 - roam_map ROUTE_45, 2, ROUTE_44, ROUTE_46 - roam_map ROUTE_46, 2, ROUTE_45, ROUTE_29 - db -1 +INCLUDE "data/wild/roammon_maps.asm" ; 2a4a0 ValidateTempWildMonSpecies: ; 2a4a0 -- cgit v1.2.3 From 5be98bae3c3c27b4b57bb8fda9368cf6c7f0d473 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Mon, 11 Dec 2017 15:20:32 -0500 Subject: Move more data tables into data/ files. --- engine/link.asm | 17 +---------------- engine/namingscreen.asm | 49 ++----------------------------------------------- engine/npc_movement.asm | 4 ++-- 3 files changed, 5 insertions(+), 65 deletions(-) (limited to 'engine') diff --git a/engine/link.asm b/engine/link.asm index ab3d38968..1aac20489 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -1130,22 +1130,7 @@ TimeCapsule_ReplaceTeruSama: ; 28771 ret .TimeCapsuleAlt: ; 28785 -; Pokémon traded from RBY do not have held items, so GSC usually interprets the -; catch rate as an item. However, if the catch rate appears in this table, the -; item associated with the table entry is used instead. - db ITEM_19, LEFTOVERS - db ITEM_2D, BITTER_BERRY - db ITEM_32, GOLD_BERRY - db ITEM_5A, BERRY - db ITEM_64, BERRY - db ITEM_78, BERRY - db ITEM_87, BERRY - db ITEM_BE, BERRY - db ITEM_C3, BERRY - db ITEM_DC, BERRY - db ITEM_FA, BERRY - db -1, BERRY - db 0 +INCLUDE "data/time_capsule/catch_rate_items.asm" ; 2879e Link_CopyOTData: ; 2879e diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm index d4f11cb8c..0bc613709 100755 --- a/engine/namingscreen.asm +++ b/engine/namingscreen.asm @@ -953,36 +953,7 @@ NamingScreenGFX_Cursor: ; 11cc7 INCBIN "gfx/namingscreen/cursor.2bpp" ; 11ce7 -NameInputLower: - db "a b c d e f g h i" - db "j k l m n o p q r" - db "s t u v w x y z " - db "× ( ) : ; [ ] " - db "UPPER DEL END " - -BoxNameInputLower: - db "a b c d e f g h i" - db "j k l m n o p q r" - db "s t u v w x y z " - db "é 'd 'l 'm 'r 's 't 'v 0" - db "1 2 3 4 5 6 7 8 9" - db "UPPER DEL END " - -NameInputUpper: - db "A B C D E F G H I" - db "J K L M N O P Q R" - db "S T U V W X Y Z " - db "- ? ! / . , " - db "lower DEL END " - -BoxNameInputUpper: - db "A B C D E F G H I" - db "J K L M N O P Q R" - db "S T U V W X Y Z " - db "× ( ) : ; [ ] " - db "- ? ! ♂ ♀ / . , &" - db "lower DEL END " - +INCLUDE "data/name_input_chars.asm" ; 11e5d NamingScreenGFX_End: ; unused @@ -1499,22 +1470,6 @@ MailComposition_TryAddLastCharacter: ; 121ac (4:61ac) ; 121dd -MailEntry_Uppercase: ; 122dd - db "A B C D E F G H I J" - db "K L M N O P Q R S T" - db "U V W X Y Z , ? !" - db "1 2 3 4 5 6 7 8 9 0" - db " é ♂ ♀ ¥ … ×" - db "lower DEL END " - -; 1224f - -MailEntry_Lowercase: ; 1224f - db "a b c d e f g h i j" - db "k l m n o p q r s t" - db "u v w x y z . - /" - db "'d 'l 'm 'r 's 't 'v & ( )" - db "<``> <''> [ ] ' : ; " - db "UPPER DEL END " +INCLUDE "data/mail_input_chars.asm" ; 122c1 diff --git a/engine/npc_movement.asm b/engine/npc_movement.asm index bc36e3ee9..9a18cdcb1 100755 --- a/engine/npc_movement.asm +++ b/engine/npc_movement.asm @@ -118,7 +118,7 @@ Function6f3e: ; 6f3e ; 6f5b .data_6f5b - db 1 << DOWN, 1 << UP, 1 << RIGHT, 1 << LEFT + db DOWN_MASK, UP_MASK, RIGHT_MASK, LEFT_MASK ; 6f5f Function6f5f: ; 6f5f @@ -143,7 +143,7 @@ Function6f5f: ; 6f5f ; 6f7b .data_6f7b - db 1 << UP, 1 << DOWN, 1 << LEFT, 1 << RIGHT + db UP_MASK, DOWN_MASK, LEFT_MASK, RIGHT_MASK ; 6f7f Function6f7f: ; 6f7f -- cgit v1.2.3 From 4afc2f01ef96e6e94f3171c1c6bac84e70596854 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Mon, 11 Dec 2017 17:35:35 -0500 Subject: Add member constants for the base data struct, same as most other structs --- engine/link.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'engine') diff --git a/engine/link.asm b/engine/link.asm index 1aac20489..f7e0b2ad4 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -737,8 +737,8 @@ Link_PrepPartyData_Gen1: ; 28499 .skip_steel push bc dec a - ld hl, BaseData + 7 ; type - ld bc, BaseData1 - BaseData0 + ld hl, BaseData + BASE_TYPES + ld bc, BASE_DATA_SIZE call AddNTimes ld bc, 2 ld a, BANK(BaseData) -- cgit v1.2.3 From e6f6a753306865b2b4522850fd98665dc9546876 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Mon, 11 Dec 2017 17:51:04 -0500 Subject: Move the rest of gfx/misc/ into specific directories --- engine/color.asm | 2 +- engine/mysterygift.asm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'engine') diff --git a/engine/color.asm b/engine/color.asm index 29b6656d5..add8c24ac 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -1859,7 +1859,7 @@ SGBBorderPalettes: RGB 31, 31, 25 SGBBorder: -INCBIN "gfx/misc/sgb_border.2bpp" +INCBIN "gfx/sgb/sgb_border.2bpp" Palettes_a8be: RGB 30, 26, 15 diff --git a/engine/mysterygift.asm b/engine/mysterygift.asm index ae40d0992..8204ab332 100755 --- a/engine/mysterygift.asm +++ b/engine/mysterygift.asm @@ -1411,7 +1411,7 @@ InitMysteryGiftLayout: ; 105153 (41:5153) ret MysteryGiftGFX: ; 105258 -INCBIN "gfx/misc/mystery_gift.2bpp" +INCBIN "gfx/mystery_gift/mystery_gift.2bpp" MysteryGiftGFXEnd: Function105688: ; 105688 (41:5688) @@ -1732,4 +1732,4 @@ Function1057d7: ; 1057d7 (41:57d7) ; japanese mystery gift gfx MysteryGiftJP_GFX: ; 105930 -INCBIN "gfx/misc/mystery_gift_jp.2bpp" +INCBIN "gfx/mystery_gift/mystery_gift_jp.2bpp" -- cgit v1.2.3 From 2d644f5077fa9ec43009ea5ec072e6ade9a1f61b Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Mon, 11 Dec 2017 18:04:23 -0500 Subject: Name some gfx/unknown/ files --- engine/link.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'engine') diff --git a/engine/link.asm b/engine/link.asm index f7e0b2ad4..b57e49e1e 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -2579,5 +2579,5 @@ Special_CableClubCheckWhichChris: ; 29f47 GFX_29f54: ; 29f54 ; unreferenced -INCBIN "gfx/unknown/029f54.2bpp" +INCBIN "gfx/unknown/unused_border.2bpp" ; 29fe4 -- cgit v1.2.3 From dc4357b7fa120c47c1af9937eb809c1cc7ddbfd6 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Mon, 11 Dec 2017 18:39:39 -0500 Subject: "Pic Pointers" and "Unown Pic Pointers" must start at the same address Use `|` not `+` to combine bitmasks --- engine/phone.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'engine') diff --git a/engine/phone.asm b/engine/phone.asm index ce9cfa081..5050c8044 100644 --- a/engine/phone.asm +++ b/engine/phone.asm @@ -165,7 +165,7 @@ CheckPhoneContactTimeOfDay: ; 900ad (24:40ad) callba CheckTime pop af - and MORN + DAY + NITE + and MORN | DAY | NITE and c pop de -- cgit v1.2.3 From f1f84743f7759a0f808f935add82439ba6637d2b Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Mon, 11 Dec 2017 22:44:25 -0500 Subject: Keep table labels in the same files as their contents. --- engine/decorations.asm | 2 -- engine/engine_flags.asm | 1 - engine/fruit_trees.asm | 4 ++-- engine/landmarks.asm | 1 - engine/map_objects.asm | 3 ++- engine/mon_icons.asm | 2 +- engine/npctrade.asm | 2 -- engine/options_menu.asm | 52 ++++++++++++++++++++++++------------------------- engine/overworld.asm | 9 --------- engine/phone.asm | 6 ++---- engine/save.asm | 4 ++-- engine/spawn_points.asm | 1 - engine/sprites.asm | 27 +++++++++++++++++++------ engine/tmhm.asm | 3 +-- 14 files changed, 57 insertions(+), 60 deletions(-) (limited to 'engine') diff --git a/engine/decorations.asm b/engine/decorations.asm index 4d8410bb6..b69f4f3c3 100755 --- a/engine/decorations.asm +++ b/engine/decorations.asm @@ -541,9 +541,7 @@ GetDecorationSprite: ; 26a44 ret ; 26a4f -DecorationAttributes: ; 26a4f INCLUDE "data/decoration_attributes.asm" -; 26b8d DecorationNames: ; 26b8d db "CANCEL@" diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm index 3ff7f42dd..acda9ede7 100644 --- a/engine/engine_flags.asm +++ b/engine/engine_flags.asm @@ -83,5 +83,4 @@ EngineFlagAction:: ; 80430 ; 80462 -EngineFlags: ; 80462 INCLUDE "data/engine_flags.asm" diff --git a/engine/fruit_trees.asm b/engine/fruit_trees.asm index 134adda60..5c74b3bff 100644 --- a/engine/fruit_trees.asm +++ b/engine/fruit_trees.asm @@ -102,9 +102,9 @@ GetFruitTreeItem: ; 4408a ret ; 44097 -FruitTreeItems: ; 44097 + INCLUDE "data/fruit_tree_items.asm" -; 440b5 + FruitBearingTreeText: ; 440b5 text_jump _FruitBearingTreeText diff --git a/engine/landmarks.asm b/engine/landmarks.asm index 401073d83..5e904eae8 100644 --- a/engine/landmarks.asm +++ b/engine/landmarks.asm @@ -47,7 +47,6 @@ GetLandmarkName:: ; 0x1ca8a5 ; 0x1ca8c3 -Landmarks: ; 0x1ca8c3 INCLUDE "data/landmarks.asm" diff --git a/engine/map_objects.asm b/engine/map_objects.asm index 4ca7482fe..162ea22df 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -1,9 +1,10 @@ INCLUDE "data/facings.asm" -SpriteMovementData:: ; 4273 + INCLUDE "data/map_objects.asm" + ; 4357 DeleteMapObject:: ; 4357 push bc diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm index af1972dae..0aade6985 100755 --- a/engine/mon_icons.asm +++ b/engine/mon_icons.asm @@ -465,7 +465,7 @@ ReadMonMenuIcon: ; 8eab3 ret ; 8eac4 -MonMenuIcons: ; 8eac4 + INCLUDE "data/mon_menu_icons.asm" diff --git a/engine/npctrade.asm b/engine/npctrade.asm index 1ec828b54..fab504ab3 100755 --- a/engine/npctrade.asm +++ b/engine/npctrade.asm @@ -411,9 +411,7 @@ GetTradeMonNames: ; fce1b ; fce58 -NPCTrades: ; fce58 INCLUDE "data/npc_trades.asm" -; fcf38 PrintTradeText: ; fcf38 diff --git a/engine/options_menu.asm b/engine/options_menu.asm index 6e306a646..4ab215282 100755 --- a/engine/options_menu.asm +++ b/engine/options_menu.asm @@ -106,9 +106,9 @@ GetOptionPointer: ; e42d6 const_def - const TEXT_SPEED_FAST ; 0 - const TEXT_SPEED_MED ; 1 - const TEXT_SPEED_SLOW ; 2 + const OPT_TEXT_SPEED_FAST ; 0 + const OPT_TEXT_SPEED_MED ; 1 + const OPT_TEXT_SPEED_SLOW ; 2 Options_TextSpeed: ; e42f5 call GetTextSpeed @@ -118,9 +118,9 @@ Options_TextSpeed: ; e42f5 bit D_RIGHT_F, a jr z, .NonePressed ld a, c ; right pressed - cp TEXT_SPEED_SLOW + cp OPT_TEXT_SPEED_SLOW jr c, .Increase - ld c, TEXT_SPEED_FAST +- 1 + ld c, OPT_TEXT_SPEED_FAST +- 1 .Increase: inc c @@ -131,7 +131,7 @@ Options_TextSpeed: ; e42f5 ld a, c and a jr nz, .Decrease - ld c, TEXT_SPEED_SLOW + 1 + ld c, OPT_TEXT_SPEED_SLOW + 1 .Decrease: dec c @@ -159,7 +159,7 @@ Options_TextSpeed: ; e42f5 ; e4331 .Strings: -; entries correspond to TEXT_SPEED_* constants +; entries correspond to OPT_TEXT_SPEED_* constants dw .Fast dw .Mid dw .Slow @@ -171,7 +171,7 @@ Options_TextSpeed: ; e42f5 GetTextSpeed: ; e4346 -; converts TEXT_DELAY_* value in a to TEXT_SPEED_* value in c, +; converts TEXT_DELAY_* value in a to OPT_TEXT_SPEED_* value in c, ; with previous/next TEXT_DELAY_* values in d/e ld a, [Options] and $7 @@ -180,17 +180,17 @@ GetTextSpeed: ; e4346 cp TEXT_DELAY_FAST jr z, .fast ; none of the above - ld c, TEXT_SPEED_MED + ld c, OPT_TEXT_SPEED_MED lb de, TEXT_DELAY_FAST, TEXT_DELAY_SLOW ret .slow - ld c, TEXT_SPEED_SLOW + ld c, OPT_TEXT_SPEED_SLOW lb de, TEXT_DELAY_MED, TEXT_DELAY_FAST ret .fast - ld c, TEXT_SPEED_FAST + ld c, OPT_TEXT_SPEED_FAST lb de, TEXT_DELAY_SLOW, TEXT_DELAY_MED ret ; e4365 @@ -328,11 +328,11 @@ Options_Sound: ; e43dd const_def - const PRINT_LIGHTEST ; 0 - const PRINT_LIGHTER ; 1 - const PRINT_NORMAL ; 2 - const PRINT_DARKER ; 3 - const PRINT_DARKEST ; 4 + const OPT_PRINT_LIGHTEST ; 0 + const OPT_PRINT_LIGHTER ; 1 + const OPT_PRINT_NORMAL ; 2 + const OPT_PRINT_DARKER ; 3 + const OPT_PRINT_DARKEST ; 4 Options_Print: ; e4424 call GetPrinterSetting @@ -342,9 +342,9 @@ Options_Print: ; e4424 bit D_RIGHT_F, a jr z, .NonePressed ld a, c - cp PRINT_DARKEST + cp OPT_PRINT_DARKEST jr c, .Increase - ld c, PRINT_LIGHTEST - 1 + ld c, OPT_PRINT_LIGHTEST - 1 .Increase: inc c @@ -355,7 +355,7 @@ Options_Print: ; e4424 ld a, c and a jr nz, .Decrease - ld c, PRINT_DARKEST + 1 + ld c, OPT_PRINT_DARKEST + 1 .Decrease: dec c @@ -380,7 +380,7 @@ Options_Print: ; e4424 ; e445a .Strings: -; entries correspond to PRINT_* constants +; entries correspond to OPT_PRINT_* constants dw .Lightest dw .Lighter dw .Normal @@ -396,7 +396,7 @@ Options_Print: ; e4424 GetPrinterSetting: ; e4491 -; converts GBPRINTER_* value in a to PRINT_* value in c, +; converts GBPRINTER_* value in a to OPT_PRINT_* value in c, ; with previous/next GBPRINTER_* values in d/e ld a, [GBPrinter] and a @@ -408,27 +408,27 @@ GetPrinterSetting: ; e4491 cp GBPRINTER_DARKEST jr z, .IsDarkest ; none of the above - ld c, PRINT_NORMAL + ld c, OPT_PRINT_NORMAL lb de, GBPRINTER_LIGHTER, GBPRINTER_DARKER ret .IsLightest: - ld c, PRINT_LIGHTEST + ld c, OPT_PRINT_LIGHTEST lb de, GBPRINTER_DARKEST, GBPRINTER_LIGHTER ret .IsLight: - ld c, PRINT_LIGHTER + ld c, OPT_PRINT_LIGHTER lb de, GBPRINTER_LIGHTEST, GBPRINTER_NORMAL ret .IsDark: - ld c, PRINT_DARKER + ld c, OPT_PRINT_DARKER lb de, GBPRINTER_NORMAL, GBPRINTER_DARKEST ret .IsDarkest: - ld c, PRINT_DARKEST + ld c, OPT_PRINT_DARKEST lb de, GBPRINTER_DARKER, GBPRINTER_LIGHTEST ret ; e44c1 diff --git a/engine/overworld.asm b/engine/overworld.asm index 5681dd6b8..73115e479 100755 --- a/engine/overworld.asm +++ b/engine/overworld.asm @@ -717,19 +717,10 @@ LoadEmote:: ; 1442f ; 1444d -EmotesPointers: ; 144d INCLUDE "data/emote_headers.asm" -; 14495 - -SpriteMons: ; 14495 INCLUDE "data/sprite_mons.asm" -; 144b8 - INCLUDE "data/outdoor_sprites.asm" - -SpriteHeaders: ; 14736 INCLUDE "gfx/sprite_headers.asm" -; 1499a diff --git a/engine/phone.asm b/engine/phone.asm index 5050c8044..1a26a6f5b 100644 --- a/engine/phone.asm +++ b/engine/phone.asm @@ -760,13 +760,11 @@ GetCallerLocation: ; 90439 ret ; 9045f -PhoneContacts: ; 9045f + INCLUDE "data/phone_contacts.asm" -; 90627 -SpecialPhoneCallList: ; 90627 INCLUDE "data/phone_special.asm" -; 90657 + UnknownScript_0x90657: ; 0x90657 writetext UnknownText_0x9065b diff --git a/engine/save.asm b/engine/save.asm index 97267347c..74b0626c8 100644 --- a/engine/save.asm +++ b/engine/save.asm @@ -726,9 +726,9 @@ TryLoadSaveData: ; 14f1c ret ; 14f7c -DefaultOptions: ; 14f7c + INCLUDE "data/default_options.asm" -; 14f84 + CheckPrimarySaveFile: ; 14f84 ld a, BANK(s1_a008) diff --git a/engine/spawn_points.asm b/engine/spawn_points.asm index 3ed0a98ce..5f9c07558 100644 --- a/engine/spawn_points.asm +++ b/engine/spawn_points.asm @@ -1,5 +1,4 @@ -SpawnPoints: ; 0x152ab INCLUDE "data/spawn_points.asm" diff --git a/engine/sprites.asm b/engine/sprites.asm index 4b20a2371..afccc114a 100755 --- a/engine/sprites.asm +++ b/engine/sprites.asm @@ -550,15 +550,30 @@ BrokenGetStdGraphics: ; 8d1ac ret ; 8d1c4 -SpriteAnimSeqData: ; 8d1c4 + INCLUDE "data/sprite_anim_seqs.asm" -; 8d24b -INCLUDE "engine/sprite_anims.asm" ; DoAnimFrame +INCLUDE "engine/sprite_anims.asm" + +INCLUDE "data/sprite_anim_frames.asm" + +INCLUDE "data/sprite_anim_oam.asm" + + +BrokenStdGFXPointers: ; Broken 2bpp pointers + dbbw $80, $01, .deleted ; 128-tile 2bpp at 1:672a (inside Multiply) + dbbw $80, $01, .deleted + dbbw $80, $01, .deleted + dbbw $80, $01, .deleted + dbbw $10, $37, .deleted ; 16-tile 2bpp at 37:672a (within TilesetTrainStationGFX) + dbbw $10, $11, .deleted ; 16-tile 2bpp at 11:672a (empty data) + dbbw $10, $39, .deleted ; 16-tile 2bpp at 39:672a (empty data) + dbbw $10, $24, .deleted ; 16-tile 2bpp at 24:672a (inside Function926f7) + dbbw $10, $21, .deleted ; 16-tile 2bpp at 21:672a (inside Function8671c) + +.deleted +; 8e72a (23:672a) -INCLUDE "data/sprite_engine.asm" -; SpriteAnimFrameData -; SpriteAnimOAMData Sprites_Cosine: ; 8e72a add $10 diff --git a/engine/tmhm.asm b/engine/tmhm.asm index 40922c9ad..78d3b1707 100755 --- a/engine/tmhm.asm +++ b/engine/tmhm.asm @@ -45,6 +45,5 @@ GetTMHMMove: ; 1166a ret ; 1167a -TMHMMoves: ; 1167a + INCLUDE "data/tmhm_moves.asm" -; 116b7 -- cgit v1.2.3 From 213dcc70d77ade7cf587d57016cc5bb405494fe8 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Mon, 11 Dec 2017 22:59:30 -0500 Subject: More consistent data tables --- engine/events_2.asm | 4 +- engine/link.asm | 6 +- engine/mysterygift2.asm | 7 +- engine/pokedex.asm | 4 +- engine/pokedex_2.asm | 286 +++++++++++++++++++++++++++++++++++++ engine/time_capsule/conversion.asm | 6 +- engine/wildmons.asm | 15 +- 7 files changed, 298 insertions(+), 30 deletions(-) create mode 100644 engine/pokedex_2.asm (limited to 'engine') diff --git a/engine/events_2.asm b/engine/events_2.asm index 5a89f5e68..e141b6638 100644 --- a/engine/events_2.asm +++ b/engine/events_2.asm @@ -253,9 +253,9 @@ TryWildEncounter_BugContest: ; 97d64 ret ; 97d87 -ContestMons: ; 97d87 + INCLUDE "data/wild/bug_contest_mons.asm" -; 97db3 + DoBikeStep:: ; 97db3 nop diff --git a/engine/link.asm b/engine/link.asm index b57e49e1e..7bca8b891 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -1112,7 +1112,7 @@ TimeCapsule_ReplaceTeruSama: ; 28771 and a ret z push hl - ld hl, .TimeCapsuleAlt + ld hl, TimeCapsule_CatchRateItems .loop ld a, [hli] and a @@ -1129,9 +1129,9 @@ TimeCapsule_ReplaceTeruSama: ; 28771 pop hl ret -.TimeCapsuleAlt: ; 28785 + INCLUDE "data/time_capsule/catch_rate_items.asm" -; 2879e + Link_CopyOTData: ; 2879e .loop diff --git a/engine/mysterygift2.asm b/engine/mysterygift2.asm index e2ed30f3d..dc0baf39c 100755 --- a/engine/mysterygift2.asm +++ b/engine/mysterygift2.asm @@ -146,12 +146,7 @@ MysteryGiftFallbackItem: ; 2c722 (b:4722) ret ; 2c725 (b:4725) -MysteryGiftItems: ; 2c725 + INCLUDE "data/mystery_gift/items.asm" -MysteryGiftItemsEnd -; 2c74a -MysteryGiftDecos: ; 2c74a INCLUDE "data/mystery_gift/decos.asm" -MysteryGiftDecosEnd -; 2c76f diff --git a/engine/pokedex.asm b/engine/pokedex.asm index 282b9ca91..c60396a40 100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -1708,12 +1708,12 @@ Pokedex_ABCMode: ; 40c30 .doneabc ret -AlphabeticalPokedexOrder: ; 0x40c65 + INCLUDE "data/pokedex/order_alpha.asm" -NewPokedexOrder: ; 0x40d60 INCLUDE "data/pokedex/order_new.asm" + Pokedex_DisplayModeDescription: ; 40e5b xor a ld [hBGMapMode], a diff --git a/engine/pokedex_2.asm b/engine/pokedex_2.asm new file mode 100644 index 000000000..83b366017 --- /dev/null +++ b/engine/pokedex_2.asm @@ -0,0 +1,286 @@ +AnimateDexSearchSlowpoke: ; 441cf + ld hl, .FrameIDs + ld b, 25 +.loop + ld a, [hli] + + ; Wrap around + cp $fe + jr nz, .ok + ld hl, .FrameIDs + ld a, [hli] +.ok + + ld [wDexSearchSlowpokeFrame], a + ld a, [hli] + ld c, a + push bc + push hl + call DoDexSearchSlowpokeFrame + pop hl + pop bc + call DelayFrames + dec b + jr nz, .loop + xor a + ld [wDexSearchSlowpokeFrame], a + call DoDexSearchSlowpokeFrame + ld c, 32 + call DelayFrames + ret + +.FrameIDs: ; 441fc + ; frame ID, duration + db 0, 7 + db 1, 7 + db 2, 7 + db 3, 7 + db 4, 7 + db -2 + +DoDexSearchSlowpokeFrame: ; 44207 + ld a, [wDexSearchSlowpokeFrame] + ld hl, .SpriteData + ld de, Sprites +.loop + ld a, [hli] + cp -1 + ret z + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + ld a, [wDexSearchSlowpokeFrame] + ld b, a + add a + add b + add [hl] + inc hl + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de + jr .loop + +.SpriteData: ; 44228 + dsprite 11, 0, 9, 0, $00, $00 + dsprite 11, 0, 10, 0, $01, $00 + dsprite 11, 0, 11, 0, $02, $00 + dsprite 12, 0, 9, 0, $10, $00 + dsprite 12, 0, 10, 0, $11, $00 + dsprite 12, 0, 11, 0, $12, $00 + dsprite 13, 0, 9, 0, $20, $00 + dsprite 13, 0, 10, 0, $21, $00 + dsprite 13, 0, 11, 0, $22, $00 + db -1 + +DisplayDexEntry: ; 4424d + call GetPokemonName + hlcoord 9, 3 + call PlaceString ; mon species + ld a, [wd265] + ld b, a + call GetDexEntryPointer + ld a, b + push af + hlcoord 9, 5 + call FarString ; dex species + ld h, b + ld l, c + push de +; Print dex number + hlcoord 2, 8 + ld a, $5c ; No + ld [hli], a + ld a, $5d ; . + ld [hli], a + ld de, wd265 + lb bc, PRINTNUM_LEADINGZEROS | 1, 3 + call PrintNum +; Check to see if we caught it. Get out of here if we haven't. + ld a, [wd265] + dec a + call CheckCaughtMon + pop hl + pop bc + ret z +; Get the height of the Pokemon. + ld a, [CurPartySpecies] + ld [CurSpecies], a + inc hl + ld a, b + push af + push hl + call GetFarHalfword + ld d, l + ld e, h + pop hl + inc hl + inc hl + ld a, d + or e + jr z, .skip_height + push hl + push de + ld hl, sp+$0 + ld d, h + ld e, l + hlcoord 12, 7 + lb bc, 2, PRINTNUM_MONEY | 4 + call PrintNum + hlcoord 14, 7 + ld [hl], $5e ; ft symbol + pop af + pop hl + +.skip_height + pop af + push af + inc hl + push hl + dec hl + call GetFarHalfword + ld d, l + ld e, h + ld a, e + or d + jr z, .skip_weight + push de + ld hl, sp+$0 + ld d, h + ld e, l + hlcoord 11, 9 + lb bc, 2, PRINTNUM_RIGHTALIGN | 5 + call PrintNum + pop de + +.skip_weight +; Page 1 + lb bc, 5, SCREEN_WIDTH - 2 + hlcoord 2, 11 + call ClearBox + hlcoord 1, 10 + ld bc, SCREEN_WIDTH - 1 + ld a, $61 ; horizontal divider + call ByteFill + ; page number + hlcoord 1, 9 + ld [hl], $55 + inc hl + ld [hl], $55 + hlcoord 1, 10 + ld [hl], $56 ; P. + inc hl + ld [hl], $57 ; 1 + pop de + inc de + pop af + hlcoord 2, 11 + push af + call FarString + pop bc + ld a, [wPokedexStatus] + or a + ret z + +; Page 2 + push bc + push de + lb bc, 5, SCREEN_WIDTH - 2 + hlcoord 2, 11 + call ClearBox + hlcoord 1, 10 + ld bc, SCREEN_WIDTH - 1 + ld a, $61 + call ByteFill + ; page number + hlcoord 1, 9 + ld [hl], $55 + inc hl + ld [hl], $55 + hlcoord 1, 10 + ld [hl], $56 ; P. + inc hl + ld [hl], $58 ; 2 + pop de + inc de + pop af + hlcoord 2, 11 + call FarString + ret + +String_44331: ; 44331 + db "#@" + +GetDexEntryPointer: ; 44333 +; return dex entry pointer b:de + push hl + ld hl, PokedexDataPointerTable + ld a, b + dec a + ld d, 0 + ld e, a + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + push de + rlca + rlca + and $3 + ld hl, .PokedexEntryBanks + ld d, 0 + ld e, a + add hl, de + ld b, [hl] + pop de + pop hl + ret + +.PokedexEntryBanks: ; 44351 + +GLOBAL PokedexEntries1 +GLOBAL PokedexEntries2 +GLOBAL PokedexEntries3 +GLOBAL PokedexEntries4 + + db BANK(PokedexEntries1) + db BANK(PokedexEntries2) + db BANK(PokedexEntries3) + db BANK(PokedexEntries4) + +GetDexEntryPagePointer: ; 44355 + call GetDexEntryPointer ; b:de + push hl + ld h, d + ld l, e +; skip species name +.loop1 + ld a, b + call GetFarByte + inc hl + cp "@" + jr nz, .loop1 +; skip height and weight +rept 4 + inc hl +endr +; if c != 1: skip entry + dec c + jr z, .done +; skip entry +.loop2 + ld a, b + call GetFarByte + inc hl + cp "@" + jr nz, .loop2 + +.done + ld d, h + ld e, l + pop hl + ret diff --git a/engine/time_capsule/conversion.asm b/engine/time_capsule/conversion.asm index 6f17398fd..eb8896355 100755 --- a/engine/time_capsule/conversion.asm +++ b/engine/time_capsule/conversion.asm @@ -144,9 +144,8 @@ PlaceTradePartnerNamesAndParty: ; fb60d jr .loop ; fb656 -KantoMonSpecials: ; fb656 + INCLUDE "data/time_capsule/special_stats.asm" -; fb6ed INCLUDE "event/name_rater.asm" @@ -274,6 +273,5 @@ ConvertMon_1to2: ; fb908 ret ; fb91c -Pokered_MonIndices: ; fb91c + INCLUDE "data/time_capsule/mon_order.asm" -; fba18 diff --git a/engine/wildmons.asm b/engine/wildmons.asm index 8fab382b7..1f6bb4065 100755 --- a/engine/wildmons.asm +++ b/engine/wildmons.asm @@ -784,9 +784,9 @@ _BackUpMapIndices: ; 2a3f6 ret ; 2a40f -RoamMaps: ; 2a40f + INCLUDE "data/wild/roammon_maps.asm" -; 2a4a0 + ValidateTempWildMonSpecies: ; 2a4a0 ; Due to a development oversight, this function is called with the wild Pokemon's level, not its species, in a. @@ -1000,20 +1000,9 @@ RandomPhoneMon: ; 2a567 ; 2a5e9 -JohtoGrassWildMons: ; 0x2a5e9 INCLUDE "data/wild/johto_grass.asm" - -JohtoWaterWildMons: ; 0x2b11d INCLUDE "data/wild/johto_water.asm" - -KantoGrassWildMons: ; 0x2b274 INCLUDE "data/wild/kanto_grass.asm" - -KantoWaterWildMons: ; 0x2b7f7 INCLUDE "data/wild/kanto_water.asm" - -SwarmGrassWildMons: ; 0x2b8d0 INCLUDE "data/wild/swarm_grass.asm" - -SwarmWaterWildMons: ; 0x2b92f INCLUDE "data/wild/swarm_water.asm" -- cgit v1.2.3