summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_util.c2
-rw-r--r--src/metatile_behavior.c4
-rw-r--r--src/pokemon.c2
-rw-r--r--src/scanline_effect.c8
4 files changed, 12 insertions, 4 deletions
diff --git a/src/battle_util.c b/src/battle_util.c
index eb3907157..31ed0b3fe 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 dde4de329..51cc65c22 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 tileset editor.
if (metatileBehavior == MB_NO_SURFACING
|| metatileBehavior == MB_SEAWEED_NO_SURFACING)
return TRUE;
diff --git a/src/pokemon.c b/src/pokemon.c
index a0e655d1e..30f0b0e73 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 that set currentHP = 1 if currentHP <= 0.
currentHP += newMaxHP - oldMaxHP;
else
return;
diff --git a/src/scanline_effect.c b/src/scanline_effect.c
index 0a4b0b8fd..1d5814429 100644
--- a/src/scanline_effect.c
+++ b/src/scanline_effect.c
@@ -100,16 +100,16 @@ void ScanlineEffect_InitHBlankDmaTransfer(void)
static void CopyValue16Bit(void)
{
- u16 *dest = (u16 *)gScanlineEffect.dmaDest;
- u16 *src = (u16 *)&gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer];
+ vu16 *dest = (vu16 *)gScanlineEffect.dmaDest;
+ vu16 *src = (vu16 *)&gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer];
*dest = *src;
}
static void CopyValue32Bit(void)
{
- u32 *dest = (u32 *)gScanlineEffect.dmaDest;
- u32 *src = (u32 *)&gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer];
+ vu32 *dest = (vu32 *)gScanlineEffect.dmaDest;
+ vu32 *src = (vu32 *)&gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer];
*dest = *src;
}