diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/bugs_and_glitches.md | 20 | 
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 +``` | 
