From ebaeaa8ca77bd3550d88d7227a1b92335215df9d Mon Sep 17 00:00:00 2001 From: thornAvery <145814585+thornAvery@users.noreply.github.com> Date: Mon, 1 Sep 2025 12:56:04 +1000 Subject: [PATCH 1/5] Tossing balls lag back to Crystal levels (#73) Co-authored-by: Thorn Avery --- .gitignore | 4 ++++ engine/items/item_effects.asm | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 586d447..c63e2dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ +# BGB + +bgb + # compiled objects *.o diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index cd4d2d2..51c3b0f 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -239,10 +239,12 @@ PokeBallEffect: ld [wWildMon], a ld a, [wBattleType] cp BATTLETYPE_CONTEST ; Fixes the Park Ball corrupting graphics when used outside of a Contest - call nz, ReturnToBattle_UseBall + jp z, .skip_return_to_battle cp BATTLETYPE_SAFARI - call nz, ReturnToBattle_UseBall + jp z, .skip_return_to_battle + call ReturnToBattle_UseBall +.skip_return_to_battle ld hl, wOptions res NO_TEXT_SCROLL, [hl] ld hl, ItemUsedText From 0e8244b832bfc175a821f5361a895ffa571b2237 Mon Sep 17 00:00:00 2001 From: Thorn Avery Date: Thu, 4 Sep 2025 09:19:40 +1000 Subject: [PATCH 2/5] reversed order of text speed options --- engine/menus/options_menu.asm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/engine/menus/options_menu.asm b/engine/menus/options_menu.asm index 6bb630f..8d1626c 100644 --- a/engine/menus/options_menu.asm +++ b/engine/menus/options_menu.asm @@ -114,9 +114,9 @@ GetOptionPointer: Options_TextSpeed: call GetTextSpeed ldh a, [hJoyPressed] - bit D_LEFT_F, a - jr nz, .LeftPressed bit D_RIGHT_F, a + jr nz, .RightPressed + bit D_LEFT_F, a jr z, .NonePressed ld a, c ; right pressed cp OPT_TEXT_SPEED_NONE @@ -128,7 +128,7 @@ Options_TextSpeed: ld a, e jr .Save -.LeftPressed: +.RightPressed: ld a, c and a jr nz, .Decrease From 7a8d406605894279da57cb92cffbf693a05ef16a Mon Sep 17 00:00:00 2001 From: Thorn Avery Date: Thu, 4 Sep 2025 11:41:30 +1000 Subject: [PATCH 3/5] fixed shiny palette on pokedex new entry --- engine/pokedex/new_pokedex_entry.asm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/engine/pokedex/new_pokedex_entry.asm b/engine/pokedex/new_pokedex_entry.asm index 844253c..e5cce73 100644 --- a/engine/pokedex/new_pokedex_entry.asm +++ b/engine/pokedex/new_pokedex_entry.asm @@ -1,4 +1,13 @@ NewPokedexEntry: + farcall BattleCheckEnemyShininess + jp c, .shiny + xor a + jp .cont +.shiny + xor a + inc a +.cont + ld [wPokedexShinyToggle], a ldh a, [hMapAnims] push af xor a From bc42af64c576c7826eb22312d90e4c56d036467e Mon Sep 17 00:00:00 2001 From: Thorn Avery Date: Thu, 4 Sep 2025 14:31:02 +1000 Subject: [PATCH 4/5] fixed shiny palette on pokedex new entry + gamecorner --- data/events/special_pointers.asm | 1 + engine/events/specials.asm | 15 ++++++++++++--- engine/items/item_effects.asm | 9 +++++++++ engine/pokedex/new_pokedex_entry.asm | 9 --------- engine/pokemon/move_mon.asm | 18 +++++++++++++++++- maps/GoldenrodGameCorner.asm | 6 ++++++ ram/wram.asm | 1 + 7 files changed, 46 insertions(+), 13 deletions(-) diff --git a/data/events/special_pointers.asm b/data/events/special_pointers.asm index 1f1a1ae..1f9c8d8 100644 --- a/data/events/special_pointers.asm +++ b/data/events/special_pointers.asm @@ -69,6 +69,7 @@ SpecialsPointers:: add_special UpdateSprites ; bank 0 add_special UpdatePlayerSprite ; bank 0 add_special GameCornerPrizeMonCheckDex + add_special GameCornerPrizeMonShowDex add_special UnusedSetSeenMon ; unused add_special WaitSFX ; bank 0 add_special PlayMapMusic ; bank 0 diff --git a/engine/events/specials.asm b/engine/events/specials.asm index 10cf094..645eabb 100644 --- a/engine/events/specials.asm +++ b/engine/events/specials.asm @@ -236,17 +236,26 @@ SetPlayerPalette: ret GameCornerPrizeMonCheckDex: + xor a + ld [wPokedexShinyToggle], a + ld [wWasMonCaught], a ld a, [wScriptVar] call CheckCaughtMon ret nz - ld a, [wScriptVar] - call SetSeenAndCaughtMon + ld a, 1 + ld [wWasMonCaught], a + ret + +GameCornerPrizeMonShowDex: + ld a, [wWasMonCaught] + cp 0 + ret z call FadeToMenu ld a, [wScriptVar] ld [wNamedObjectIndex], a farcall NewPokedexEntry call ExitAllMenus - ret + ret UnusedSetSeenMon: ld a, [wScriptVar] diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 51c3b0f..1cd551a 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -532,6 +532,15 @@ PokeBallEffect: ld a, [wEnemyMonSpecies] ld [wTempSpecies], a + farcall BattleCheckEnemyShininess + jp c, .shiny + xor a + jp .shinycont +.shiny + xor a + inc a +.shinycont + ld [wPokedexShinyToggle], a predef NewPokedexEntry .skip_pokedex diff --git a/engine/pokedex/new_pokedex_entry.asm b/engine/pokedex/new_pokedex_entry.asm index e5cce73..844253c 100644 --- a/engine/pokedex/new_pokedex_entry.asm +++ b/engine/pokedex/new_pokedex_entry.asm @@ -1,13 +1,4 @@ NewPokedexEntry: - farcall BattleCheckEnemyShininess - jp c, .shiny - xor a - jp .cont -.shiny - xor a - inc a -.cont - ld [wPokedexShinyToggle], a ldh a, [hMapAnims] push af xor a diff --git a/engine/pokemon/move_mon.asm b/engine/pokemon/move_mon.asm index de10b57..c9a4f89 100644 --- a/engine/pokemon/move_mon.asm +++ b/engine/pokemon/move_mon.asm @@ -210,8 +210,24 @@ endr inc de ld a, c ld [de], a - inc de + ; Set Shininess for New Dex Entry + dec de + ld b, d + ld c, e + farcall CheckShininess + jp c, .shiny + xor a + jp .shinycont +.shiny + xor a + inc a +.shinycont + ld [wPokedexShinyToggle], a + ; Unclobber de + inc de + inc de + ; Initialize PP. push hl push de diff --git a/maps/GoldenrodGameCorner.asm b/maps/GoldenrodGameCorner.asm index 4d5ae20..c298696 100644 --- a/maps/GoldenrodGameCorner.asm +++ b/maps/GoldenrodGameCorner.asm @@ -190,6 +190,8 @@ GoldenrodGameCornerPrizeMonVendorScript: loadmonindex 1, ABRA special GameCornerPrizeMonCheckDex givepoke ABRA, 5 + loadmonindex 1, ABRA + special GameCornerPrizeMonShowDex takecoins GOLDENRODGAMECORNER_ABRA_COINS sjump .loop @@ -208,6 +210,8 @@ GoldenrodGameCornerPrizeMonVendorScript: loadmonindex 2, CUBONE special GameCornerPrizeMonCheckDex givepoke CUBONE, 15 + loadmonindex 2, CUBONE + special GameCornerPrizeMonShowDex takecoins GOLDENRODGAMECORNER_CUBONE_COINS sjump .loop @@ -226,6 +230,8 @@ GoldenrodGameCornerPrizeMonVendorScript: loadmonindex 3, WOBBUFFET special GameCornerPrizeMonCheckDex givepoke WOBBUFFET, 15 + loadmonindex 3, WOBBUFFET + special GameCornerPrizeMonShowDex takecoins GOLDENRODGAMECORNER_WOBBUFFET_COINS sjump .loop diff --git a/ram/wram.asm b/ram/wram.asm index 5d4b7a0..018c963 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -739,6 +739,7 @@ wPokedexDisplayNumber:: dw wDexLastSeenIndex:: db ; index into wPokedexSeen containing the last non-zero value wDexLastSeenValue:: db ; value at index wDexTempCounter:: dw +wWasMonCaught:: db ; for use with givepoke wPokedexDataEnd:: wPrevDexEntry:: dw From 6fb3bbc811cbe911be7b2339df062a396bf2f202 Mon Sep 17 00:00:00 2001 From: Thorn Avery Date: Thu, 4 Sep 2025 14:33:27 +1000 Subject: [PATCH 5/5] added fix to celadon too --- maps/CeladonGameCornerPrizeRoom.asm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maps/CeladonGameCornerPrizeRoom.asm b/maps/CeladonGameCornerPrizeRoom.asm index 55ab9aa..65cc864 100644 --- a/maps/CeladonGameCornerPrizeRoom.asm +++ b/maps/CeladonGameCornerPrizeRoom.asm @@ -154,6 +154,8 @@ CeladonGameCornerPrizeRoomPokemonVendor: loadmonindex 1, PIKACHU special GameCornerPrizeMonCheckDex givepoke PIKACHU, 25 + loadmonindex 1, PIKACHU + special GameCornerPrizeMonShowDex takecoins CELADONGAMECORNERPRIZEROOM_PIKACHU_COINS sjump .loop @@ -172,6 +174,8 @@ CeladonGameCornerPrizeRoomPokemonVendor: loadmonindex 2, PORYGON special GameCornerPrizeMonCheckDex givepoke PORYGON, 15 + loadmonindex 2, PORYGON + special GameCornerPrizeMonShowDex takecoins CELADONGAMECORNERPRIZEROOM_PORYGON_COINS sjump .loop @@ -190,6 +194,8 @@ CeladonGameCornerPrizeRoomPokemonVendor: loadmonindex 3, LARVITAR special GameCornerPrizeMonCheckDex givepoke LARVITAR, 40 + loadmonindex 3, LARVITAR + special GameCornerPrizeMonShowDex takecoins CELADONGAMECORNERPRIZEROOM_LARVITAR_COINS sjump .loop