diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index e23379cfba..e7b40a089b 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -42,6 +42,24 @@ And edit `AgbMain`: ... ``` +**Altenate Fix:**Edit the following function in [src/title_screen.c](https://github.com/pret/pokeemerald/blob/master/src/title_screen.c): + +```diff +void CB2_InitTitleScreen(void) +{ + switch (gMain.state) + { + default: + case 0: + SetVBlankCallback(NULL); + + StartTimer1(); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + ... +``` +That matches the code of FR/LG and does what GF originally wanted to do. + ## 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 --git a/src/battle_util.c b/src/battle_util.c index eb3907157a..0c2e31e070 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -527,6 +527,8 @@ void HandleAction_ThrowPokeblock(void) gBattleStruct->safariPkblThrowCounter++; if (gBattleStruct->safariEscapeFactor > 1) { + //BUG: The safariEscapeFactor is unintetionally able to become 0 (but it can not become negative!). This causes the pokeblock throw glitch. + //To fix that change the < in the if statement below to <=. if (gBattleStruct->safariEscapeFactor < sPkblToEscapeFactor[gBattleStruct->safariPkblThrowCounter][gBattleCommunication[MULTISTRING_CHOOSER]]) gBattleStruct->safariEscapeFactor = 1; else diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c index dde4de3292..516a44a079 100644 --- a/src/metatile_behavior.c +++ b/src/metatile_behavior.c @@ -968,6 +968,10 @@ bool8 MetatileBehavior_IsDiveable(u8 metatileBehavior) bool8 MetatileBehavior_IsUnableToEmerge(u8 metatileBehavior) { + //BUG: The player is unintentionally able to emerge on water doors. + //Also the narrower underwater door in the underwater tileset has the wrong metatile behavior. This causes the dive glitch. + //To fix that add ||metatileBehavior == MB_WATER_DOOR to the if statement below and + //change the metatile behavior of the narrower water door with porymaps tilset editor. if (metatileBehavior == MB_NO_SURFACING || metatileBehavior == MB_SEAWEED_NO_SURFACING) return TRUE; diff --git a/src/pokemon.c b/src/pokemon.c index a0e655d1e6..f706e8ef80 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2861,6 +2861,8 @@ void CalculateMonStats(struct Pokemon *mon) if (currentHP == 0 && oldMaxHP == 0) currentHP = newMaxHP; else if (currentHP != 0) + //BUG: currentHP is unintentionally able to become <= 0 after the instruction below. This causes the pomeg berry glitch. + //To fix this add another if statement after the instruction that desides what happens if currentHP <= 0. currentHP += newMaxHP - oldMaxHP; else return;