From 9d13923e8e0be066e3c61182d0de731e4e397f04 Mon Sep 17 00:00:00 2001 From: emaskyesmogon <79380228+emaskyesmogon@users.noreply.github.com> Date: Tue, 27 Sep 2022 16:55:15 -0600 Subject: [PATCH] Running Shoes and 30 Item Bag need to fix layout link to futureproof it better but for now it works. Mart changes save space in wRAM. --- constants/menu_constants.asm | 2 +- data/items/marts.asm | 51 +--------------------------------- home.asm | 2 -- home/overworld.asm | 21 ++++++++++++++ layout.link | 2 +- ram/wram.asm | 21 ++++++++++---- scripts/BikeShop.asm | 3 ++ scripts/CeladonMart2F.asm | 6 ++++ scripts/CeladonMart4F.asm | 3 ++ scripts/CeladonMart5F.asm | 6 ++++ scripts/CeruleanMart.asm | 3 ++ scripts/CinnabarMart.asm | 3 ++ scripts/FuchsiaMart.asm | 3 ++ scripts/IndigoPlateauLobby.asm | 3 ++ scripts/LavenderMart.asm | 3 ++ scripts/PewterMart.asm | 3 ++ scripts/SaffronMart.asm | 4 +++ scripts/VermilionMart.asm | 3 ++ scripts/ViridianMart.asm | 3 ++ 19 files changed, 86 insertions(+), 59 deletions(-) diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm index f1f0d417..73f1cbb7 100644 --- a/constants/menu_constants.asm +++ b/constants/menu_constants.asm @@ -1,4 +1,4 @@ -DEF BAG_ITEM_CAPACITY EQU 20 +DEF BAG_ITEM_CAPACITY EQU 30 DEF PC_ITEM_CAPACITY EQU 50 ; text box IDs diff --git a/data/items/marts.asm b/data/items/marts.asm index c3202ca0..7410d904 100644 --- a/data/items/marts.asm +++ b/data/items/marts.asm @@ -1,50 +1 @@ -; mart inventories are below -; they are texts - -ViridianCashierText:: - script_mart POKE_BALL, ANTIDOTE, PARLYZ_HEAL, BURN_HEAL - -PewterCashierText:: - script_mart POKE_BALL, POTION, ESCAPE_ROPE, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL - -CeruleanCashierText:: - script_mart POKE_BALL, POTION, REPEL, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL - -BikeShopCashierText:: ; unreferenced - script_mart BICYCLE - -VermilionCashierText:: - script_mart POKE_BALL, SUPER_POTION, ICE_HEAL, AWAKENING, PARLYZ_HEAL, REPEL - -LavenderCashierText:: - script_mart GREAT_BALL, SUPER_POTION, REVIVE, ESCAPE_ROPE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, PARLYZ_HEAL - -CeladonMart2Clerk1Text:: - script_mart GREAT_BALL, SUPER_POTION, REVIVE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, AWAKENING, PARLYZ_HEAL - -CeladonMart2Clerk2Text:: - script_mart TM_DOUBLE_TEAM, TM_REFLECT, TM_RAZOR_WIND, TM_HORN_DRILL, TM_EGG_BOMB, TM_MEGA_PUNCH, TM_MEGA_KICK, TM_DRAGON_RAGE, TM_SUBMISSION - -CeladonMart4ClerkText:: - script_mart POKE_DOLL, FIRE_STONE, THUNDER_STONE, WATER_STONE, LEAF_STONE, SUN_STONE - -CeladonMart5Clerk1Text:: - script_mart X_ACCURACY, GUARD_SPEC, DIRE_HIT, X_ATTACK, X_DEFEND, X_SPEED, X_SPECIAL - -CeladonMart5Clerk2Text:: - script_mart HP_UP, PROTEIN, IRON, CARBOS, CALCIUM - -FuchsiaCashierText:: - script_mart ULTRA_BALL, GREAT_BALL, SUPER_POTION, REVIVE, FULL_HEAL, SUPER_REPEL - -UnusedCashierText:: ; unreferenced - script_mart GREAT_BALL, HYPER_POTION, SUPER_POTION, FULL_HEAL, REVIVE - -CinnabarCashierText:: - script_mart ULTRA_BALL, GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE - -SaffronCashierText:: - script_mart GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE - -IndigoCashierText:: - script_mart ULTRA_BALL, GREAT_BALL, FULL_RESTORE, MAX_POTION, FULL_HEAL, REVIVE, MAX_REPEL +; mart inventories are now in the scripts file for the respective mart to save space - Ema \ No newline at end of file diff --git a/home.asm b/home.asm index ee507c21..08496b1e 100644 --- a/home.asm +++ b/home.asm @@ -39,8 +39,6 @@ INCLUDE "home/timer.asm" INCLUDE "home/audio.asm" INCLUDE "home/update_sprites.asm" -INCLUDE "data/items/marts.asm" - INCLUDE "home/overworld_text.asm" INCLUDE "home/uncompress.asm" INCLUDE "home/reset_player_sprite.asm" diff --git a/home/overworld.asm b/home/overworld.asm index a185c82b..e71baa73 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -284,8 +284,29 @@ OverworldLoopLessDelay:: ld a, [wd736] bit 6, a ; jumping a ledge? jr nz, .normalPlayerSpriteAdvancement + ; Bike is normally 2x walking speed + ; Holding B makes the bike even faster + ld a, [hJoyHeld] + and B_BUTTON + jr z, .notMachBike call DoBikeSpeedup + call DoBikeSpeedup +.notMachBike + call DoBikeSpeedup + jr .notRunning .normalPlayerSpriteAdvancement + ; surf at 2x walking speed + ld a, [wWalkBikeSurfState] + cp $02 + jr z, .surfFaster + ; holding B makes you surf at 2x walking speed + ld a, [hJoyHeld] + and B_BUTTON + jr z, .notRunning +.surfFaster + call DoBikeSpeedup +.notRunning + ; original code continues here call AdvancePlayerSprite ld a, [wWalkCounter] and a diff --git a/layout.link b/layout.link index 4fe590f7..081591a4 100644 --- a/layout.link +++ b/layout.link @@ -194,7 +194,7 @@ WRAM0 "Party Data" "Main Data" "Current Box Data" - org $df02 + org $df03 "Stack" VRAM "VRAM" diff --git a/ram/wram.asm b/ram/wram.asm index 617f6763..001624c0 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -1741,9 +1741,7 @@ wPokedexOwnedEnd:: wPokedexSeen:: flag_array NUM_POKEMON wPokedexSeenEnd:: -wNumBagItems:: db -; item, quantity -wBagItems:: ds BAG_ITEM_CAPACITY * 2 + 1 +ds 28 ;;;;;;; moved bag code lower down to make bigger bag space wPlayerMoney:: ds 3 ; BCD @@ -1834,7 +1832,20 @@ wWarpEntries:: ds 32 * 4 ; Y, X, warp ID, map ID ; if $ff, the player's coordinates are not updated when entering the map wDestinationWarpID:: db - ds 128 +;;;;;;;;;; note: CHANGED: this empty space is now used for bigger bag space - TY Vortiene +UNION +; original size of this empty space +ds 128 + +NEXTU +wNumBagItems:: db +; item, quantity +wBagItems:: ds BAG_ITEM_CAPACITY * 2 + 1 ; now holds 30 items +;;;; +; 66 bytes left to use + +ENDU +;;;;;;;;;; ; number of signs in the current map (up to 16) wNumSigns:: db @@ -2331,5 +2342,5 @@ wBoxDataEnd:: SECTION "Stack", WRAM0 ; the stack grows downward - ds $FE - 1 + ds $FD - 1 wStack:: db \ No newline at end of file diff --git a/scripts/BikeShop.asm b/scripts/BikeShop.asm index f5f0539e..8db16857 100644 --- a/scripts/BikeShop.asm +++ b/scripts/BikeShop.asm @@ -145,3 +145,6 @@ BikeShopText_1d85c: BikeShopText_1d861: text_far _BikeShopText_1d861 text_end + +BikeShopCashierText:: ; unreferenced + script_mart BICYCLE \ No newline at end of file diff --git a/scripts/CeladonMart2F.asm b/scripts/CeladonMart2F.asm index 11827128..295ec8d6 100644 --- a/scripts/CeladonMart2F.asm +++ b/scripts/CeladonMart2F.asm @@ -19,3 +19,9 @@ CeladonMart2Text4: CeladonMart2Text5: text_far _CeladonMart2Text5 text_end + +CeladonMart2Clerk1Text:: + script_mart GREAT_BALL, SUPER_POTION, REVIVE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, AWAKENING, PARLYZ_HEAL + +CeladonMart2Clerk2Text:: + script_mart TM_DOUBLE_TEAM, TM_REFLECT, TM_RAZOR_WIND, TM_HORN_DRILL, TM_EGG_BOMB, TM_MEGA_PUNCH, TM_MEGA_KICK, TM_DRAGON_RAGE, TM_SUBMISSION diff --git a/scripts/CeladonMart4F.asm b/scripts/CeladonMart4F.asm index 1365dd0d..47509278 100644 --- a/scripts/CeladonMart4F.asm +++ b/scripts/CeladonMart4F.asm @@ -18,3 +18,6 @@ CeladonMart4Text3: CeladonMart4Text4: text_far _CeladonMart4Text4 text_end + +CeladonMart4ClerkText:: + script_mart POKE_DOLL, FIRE_STONE, THUNDER_STONE, WATER_STONE, LEAF_STONE, SUN_STONE diff --git a/scripts/CeladonMart5F.asm b/scripts/CeladonMart5F.asm index 91748706..681e7676 100644 --- a/scripts/CeladonMart5F.asm +++ b/scripts/CeladonMart5F.asm @@ -19,3 +19,9 @@ CeladonMart5Text2: CeladonMart5Text5: text_far _CeladonMart5Text5 text_end + +CeladonMart5Clerk1Text:: + script_mart X_ACCURACY, GUARD_SPEC, DIRE_HIT, X_ATTACK, X_DEFEND, X_SPEED, X_SPECIAL + +CeladonMart5Clerk2Text:: + script_mart HP_UP, PROTEIN, IRON, CARBOS, CALCIUM \ No newline at end of file diff --git a/scripts/CeruleanMart.asm b/scripts/CeruleanMart.asm index beb0fa1b..89ba7fe7 100644 --- a/scripts/CeruleanMart.asm +++ b/scripts/CeruleanMart.asm @@ -13,3 +13,6 @@ CeruleanMartText2: CeruleanMartText3: text_far _CeruleanMartText3 text_end + +CeruleanCashierText:: + script_mart POKE_BALL, POTION, REPEL, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL diff --git a/scripts/CinnabarMart.asm b/scripts/CinnabarMart.asm index e614bd29..6b4ccf52 100644 --- a/scripts/CinnabarMart.asm +++ b/scripts/CinnabarMart.asm @@ -13,3 +13,6 @@ CinnabarMartText2: CinnabarMartText3: text_far _CinnabarMartText3 text_end + +CinnabarCashierText:: + script_mart ULTRA_BALL, GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE \ No newline at end of file diff --git a/scripts/FuchsiaMart.asm b/scripts/FuchsiaMart.asm index e6d64c53..09b7929e 100644 --- a/scripts/FuchsiaMart.asm +++ b/scripts/FuchsiaMart.asm @@ -13,3 +13,6 @@ FuchsiaMartText2: FuchsiaMartText3: text_far _FuchsiaMartText3 text_end + +FuchsiaCashierText:: + script_mart ULTRA_BALL, GREAT_BALL, SUPER_POTION, REVIVE, FULL_HEAL, SUPER_REPEL diff --git a/scripts/IndigoPlateauLobby.asm b/scripts/IndigoPlateauLobby.asm index a9b549e3..906fc0e7 100644 --- a/scripts/IndigoPlateauLobby.asm +++ b/scripts/IndigoPlateauLobby.asm @@ -34,3 +34,6 @@ IndigoPlateauLobbyText3: IndigoTradeNurseText: script_cable_club_receptionist + +IndigoCashierText:: + script_mart ULTRA_BALL, GREAT_BALL, FULL_RESTORE, MAX_POTION, FULL_HEAL, REVIVE, MAX_REPEL \ No newline at end of file diff --git a/scripts/LavenderMart.asm b/scripts/LavenderMart.asm index 2b67aaa6..e39bbc66 100644 --- a/scripts/LavenderMart.asm +++ b/scripts/LavenderMart.asm @@ -30,3 +30,6 @@ LavenderMartText3: .NuggetText text_far _LavenderMartNuggetText text_end + +LavenderCashierText:: + script_mart GREAT_BALL, SUPER_POTION, REVIVE, ESCAPE_ROPE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, PARLYZ_HEAL \ No newline at end of file diff --git a/scripts/PewterMart.asm b/scripts/PewterMart.asm index a0e9e63e..25dc2a5b 100644 --- a/scripts/PewterMart.asm +++ b/scripts/PewterMart.asm @@ -28,3 +28,6 @@ PewterMartText3: .Text text_far _PewterMartText3 text_end + +PewterCashierText:: + script_mart POKE_BALL, POTION, ESCAPE_ROPE, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL \ No newline at end of file diff --git a/scripts/SaffronMart.asm b/scripts/SaffronMart.asm index bfa47eb1..c92a7971 100644 --- a/scripts/SaffronMart.asm +++ b/scripts/SaffronMart.asm @@ -13,3 +13,7 @@ SaffronMartText2: SaffronMartText3: text_far _SaffronMartText3 text_end + +SaffronCashierText:: + script_mart GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE + diff --git a/scripts/VermilionMart.asm b/scripts/VermilionMart.asm index 88a632c8..1b20cb05 100644 --- a/scripts/VermilionMart.asm +++ b/scripts/VermilionMart.asm @@ -13,3 +13,6 @@ VermilionMartText2: VermilionMartText3: text_far _VermilionMartText3 text_end + +VermilionCashierText:: + script_mart POKE_BALL, SUPER_POTION, ICE_HEAL, AWAKENING, PARLYZ_HEAL, REPEL \ No newline at end of file diff --git a/scripts/ViridianMart.asm b/scripts/ViridianMart.asm index f71cc6ef..0c306674 100644 --- a/scripts/ViridianMart.asm +++ b/scripts/ViridianMart.asm @@ -93,3 +93,6 @@ ViridianMartText2: ViridianMartText3: text_far _ViridianMartText3 text_end + +ViridianCashierText:: + script_mart POTION, POKE_BALL, ANTIDOTE, PARLYZ_HEAL, BURN_HEAL