summaryrefslogtreecommitdiff
path: root/docs/bugs_and_glitches.md
diff options
context:
space:
mode:
authorSierra A <6080951+Sierraffinity@users.noreply.github.com>2020-05-12 17:21:16 -0700
committerGitHub <noreply@github.com>2020-05-12 17:21:16 -0700
commited0212006202fc21301dc9bd1d4a8e38f8f665cf (patch)
tree7022c07815f00fc48de1db6edc8229d0f8a3181b /docs/bugs_and_glitches.md
parent0a982edf4efc3bfcee95b14cd7acc0a95c21ab28 (diff)
Update bugs_and_glitches.md
Add fix for item image flicker
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)
+ ...
+```