summaryrefslogtreecommitdiff
path: root/docs/bugs_and_glitches.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/bugs_and_glitches.md')
-rw-r--r--docs/bugs_and_glitches.md37
1 files changed, 36 insertions, 1 deletions
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)
+ ...
+```