diff options
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | docs/bugs_and_glitches.md | 37 | ||||
-rw-r--r-- | src/egg_hatch.c | 4 | ||||
-rw-r--r-- | tools/preproc/asm_file.cpp | 1 |
4 files changed, 41 insertions, 5 deletions
@@ -109,13 +109,13 @@ MAKEFLAGS += --no-print-directory # Secondary expansion is required for dependency variables in object rules. .SECONDEXPANSION: -.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) berry_fix libagbsyscall +.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) berry_fix libagbsyscall modern infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line)))) # Build tools when building the rom # Disable dependency scanning for clean/tidy/tools -ifeq (,$(filter-out all compare,$(MAKECMDGOALS))) +ifeq (,$(filter-out all rom compare modern berry_fix libagbsyscall,$(MAKECMDGOALS))) $(call infoshell, $(MAKE) tools) else NODEP := 1 diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index d9269882e..e23379cfb 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -14,6 +14,7 @@ Fixes are written in the `diff` format. If you've used Git before, this should l ## Contents - [RNG does not get seeded](#rng-does-not-get-seeded) +- [Scrolling through items in the bag causes the image to flicker](#scrolling-through-items-in-the-bag-causes-the-image-to-flicker) ## RNG does not get seeded @@ -39,4 +40,38 @@ And edit `AgbMain`: + SeedRngWithRtc(); ClearDma3Requests(); ... -```
\ No newline at end of file +``` + +## Scrolling through items in the bag causes the image to flicker + +**Fix:** Add the following function to [src/item_menu_icons.c](https://github.com/pret/pokeemerald/blob/master/src/item_menu_icons.c): +```diff ++void HideBagItemIconSprite(u8 id) ++{ ++ u8 *spriteId = &gBagMenu->spriteId[10]; ++ if (spriteId[id] != 0xFF) ++ { ++ gSprites[spriteId[id]].invisible = TRUE; ++ } ++} + +``` + +and its corresponding declaration in [include/item_menu_icons.h](https://github.com/pret/pokeemerald/blob/master/include/item_menu_icons.h): + +```diff ++void HideBagItemIconSprite(u8 id); + +``` + +Then edit `BagMenu_MoveCursorCallback` in [src/item_menu.c](https://github.com/pret/pokeemerald/blob/master/src/item_menu.c): + +```diff + ... +{ +- RemoveBagItemIconSprite(1 ^ gBagMenu->unk81B_1); ++ HideBagItemIconSprite(gBagMenu->unk81B_1 ^ 1); ++ RemoveBagItemIconSprite(gBagMenu->unk81B_1); + if (a != -2) + ... +``` diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 032ae6733..3bc35bc4a 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -293,7 +293,7 @@ static const s16 sEggShardVelocities[][2] = // code -static void CreatedHatchedMon(struct Pokemon *egg, struct Pokemon *temp) +static void CreateHatchedMon(struct Pokemon *egg, struct Pokemon *temp) { u16 species; u32 personality, pokerus; @@ -357,7 +357,7 @@ static void AddHatchedMonToParty(u8 id) u8 mapNameID; struct Pokemon* mon = &gPlayerParty[id]; - CreatedHatchedMon(mon, &gEnemyParty[0]); + CreateHatchedMon(mon, &gEnemyParty[0]); SetMonData(mon, MON_DATA_IS_EGG, &isEgg); pokeNum = GetMonData(mon, MON_DATA_SPECIES); diff --git a/tools/preproc/asm_file.cpp b/tools/preproc/asm_file.cpp index 98805c952..7756cadc5 100644 --- a/tools/preproc/asm_file.cpp +++ b/tools/preproc/asm_file.cpp @@ -20,6 +20,7 @@ #include <cstdio> #include <cstdarg> +#include <stdexcept> #include "preproc.h" #include "asm_file.h" #include "char_util.h" |