summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--docs/bugs_and_glitches.md37
-rw-r--r--src/egg_hatch.c4
-rw-r--r--tools/preproc/asm_file.cpp1
4 files changed, 41 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index bda2bf1ca..27d77754c 100644
--- a/Makefile
+++ b/Makefile
@@ -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"