summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/bugs_and_glitches.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md
index 93c759915..df7790b1b 100644
--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -68,6 +68,7 @@ Fixes are written in the `diff` format. If you've used Git before, this should l
- [`ChooseWildEncounter` doesn't really validate the wild Pokémon species](#choosewildencounter-doesnt-really-validate-the-wild-pokémon-species)
- [`TryObjectEvent` arbitrary code execution](#tryobjectevent-arbitrary-code-execution)
- [`ClearWRAM` only clears WRAM bank 1](#clearwram-only-clears-wram-bank-1)
+- [`BattleAnimCmd_ClearObjs` only clears the first 6⅔ objects](#battleanimcmd_clearobjs-only-clears-the-first-6⅔-objects)
## Thick Club and Light Ball can make (Special) Attack wrap around above 1024
@@ -1585,3 +1586,22 @@ This supports up to six entries.
+ jr c, .bank_loop
ret
```
+
+
+## `BattleAnimCmd_ClearObjs` only clears the first 6⅔ objects
+
+**Fix:** Edit `BattleAnimCmd_ClearObjs` in [engine/battle_anims/anim_commands.asm](/engine/battle_anims/anim_commands.asm):
+
+```diff
+ BattleAnimCmd_ClearObjs:
+-; BUG: This function only clears the first 6⅔ objects
+ ld hl, wActiveAnimObjects
+- ld a, $a0 ; should be NUM_ANIM_OBJECTS * BATTLEANIMSTRUCT_LENGTH
+- ld a, NUM_ANIM_OBJECTS * BATTLEANIMSTRUCT_LENGTH
+ .loop
+ ld [hl], 0
+ inc hl
+ dec a
+ jr nz, .loop
+ ret
+```