diff options
author | hondew <pokehondew@gmail.com> | 2020-05-09 13:16:43 -0400 |
---|---|---|
committer | hondew <pokehondew@gmail.com> | 2020-05-09 13:21:47 -0400 |
commit | 1506a1de5184b02a665ac3eae51bc9c550585bf5 (patch) | |
tree | cc8549d4f4551e0d3c3a52ed5b84d04c72054588 /docs | |
parent | 4dd3cc7b7691afb8ecd2e8af8b2ebfa717dd2414 (diff) |
Initial bug doc entry
Minor typo
Diffstat (limited to 'docs')
-rw-r--r-- | docs/bugs_and_glitches.md | 42 |
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 |