mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
Document the BattleAnimCmd_ClearObjs bug
This commit is contained in:
parent
771d2efd65
commit
96bcf72d96
@ -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)
|
- [`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)
|
- [`TryObjectEvent` arbitrary code execution](#tryobjectevent-arbitrary-code-execution)
|
||||||
- [`ClearWRAM` only clears WRAM bank 1](#clearwram-only-clears-wram-bank-1)
|
- [`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
|
## 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
|
+ jr c, .bank_loop
|
||||||
ret
|
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
|
||||||
|
```
|
||||||
|
@ -644,11 +644,9 @@ BattleAnimCmd_ResetObp0:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
BattleAnimCmd_ClearObjs:
|
BattleAnimCmd_ClearObjs:
|
||||||
; BUG: This function only clears the first 6+(2/3) objects
|
; BUG: This function only clears the first 6⅔ objects
|
||||||
|
|
||||||
ld hl, wActiveAnimObjects
|
ld hl, wActiveAnimObjects
|
||||||
ld a, $a0
|
ld a, $a0 ; should be NUM_ANIM_OBJECTS * BATTLEANIMSTRUCT_LENGTH
|
||||||
; ld a, wActiveAnimObjectsEnd - wActiveAnimObjects
|
|
||||||
.loop
|
.loop
|
||||||
ld [hl], 0
|
ld [hl], 0
|
||||||
inc hl
|
inc hl
|
||||||
|
Loading…
Reference in New Issue
Block a user