summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/bugs_and_glitches.md42
1 files changed, 42 insertions, 0 deletions
diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md
new file mode 100644
index 000000000..d9269882e
--- /dev/null
+++ b/docs/bugs_and_glitches.md
@@ -0,0 +1,42 @@
+
+# Bugs and Glitches
+
+These are known bugs and glitches in the original Pokémon Emerald game: code that clearly does not work as intended, or that only works in limited circumstances but has the possibility to fail or crash.
+
+Fixes are written in the `diff` format. If you've used Git before, this should look familiar:
+
+```diff
+ this is some code
+-delete red - lines
++add green + lines
+```
+
+## Contents
+
+- [RNG does not get seeded](#rng-does-not-get-seeded)
+
+
+## RNG does not get seeded
+
+**Fix:** Add the following function to [src/main.c](https://github.com/pret/pokeemerald/blob/master/src/main.c):
+```diff
++static void SeedRngWithRtc(void)
++{
++ u32 seed = RtcGetMinuteCount();
++ seed = (seed >> 16) ^ (seed & 0xFFFF);
++ SeedRng(seed);
++}
+```
+
+And edit `AgbMain`:
+
+```diff
+ ...
+ RtcInit();
+ CheckForFlashMemory();
+ InitMainCallbacks();
+ InitMapMusic();
++ SeedRngWithRtc();
+ ClearDma3Requests();
+ ...
+``` \ No newline at end of file