You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-09-08 08:13:02 -07:00
Avoid more redundant code and diffs
This commit is contained in:
@@ -630,40 +630,36 @@ ENDM
|
|||||||
|
|
||||||
## `GetForestTreeFrame` works, but it's still bad
|
## `GetForestTreeFrame` works, but it's still bad
|
||||||
|
|
||||||
In [engine/tilesets/tileset_anims.asm](/engine/tilesets/tileset_anims.asm):
|
The routine `GetForestTreeFrame` in [engine/tilesets/tileset_anims.asm](/engine/tilesets/tileset_anims.asm) is hilariously inefficient.
|
||||||
|
|
||||||
```asm
|
|
||||||
GetForestTreeFrame:
|
|
||||||
; Return 0 if a is even, or 2 if odd.
|
|
||||||
and a
|
|
||||||
jr z, .even
|
|
||||||
cp 1
|
|
||||||
jr z, .odd
|
|
||||||
cp 2
|
|
||||||
jr z, .even
|
|
||||||
cp 3
|
|
||||||
jr z, .odd
|
|
||||||
cp 4
|
|
||||||
jr z, .even
|
|
||||||
cp 5
|
|
||||||
jr z, .odd
|
|
||||||
cp 6
|
|
||||||
jr z, .even
|
|
||||||
.odd
|
|
||||||
ld a, 2
|
|
||||||
scf
|
|
||||||
ret
|
|
||||||
.even
|
|
||||||
xor a
|
|
||||||
ret
|
|
||||||
```
|
|
||||||
|
|
||||||
**Fix:**
|
**Fix:**
|
||||||
|
|
||||||
|
Edit `GetForestTreeFrame`:
|
||||||
|
|
||||||
```asm
|
```asm
|
||||||
GetForestTreeFrame:
|
GetForestTreeFrame:
|
||||||
; Return 0 if a is even, or 2 if odd.
|
; Return 0 if a is even, or 2 if odd.
|
||||||
and 1
|
- and a
|
||||||
add a
|
- jr z, .even
|
||||||
|
- cp 1
|
||||||
|
- jr z, .odd
|
||||||
|
- cp 2
|
||||||
|
- jr z, .even
|
||||||
|
- cp 3
|
||||||
|
- jr z, .odd
|
||||||
|
- cp 4
|
||||||
|
- jr z, .even
|
||||||
|
- cp 5
|
||||||
|
- jr z, .odd
|
||||||
|
- cp 6
|
||||||
|
- jr z, .even
|
||||||
|
-.odd
|
||||||
|
- ld a, 2
|
||||||
|
- scf
|
||||||
|
- ret
|
||||||
|
-.even
|
||||||
|
- xor a
|
||||||
|
+ and 1
|
||||||
|
+ add a
|
||||||
ret
|
ret
|
||||||
```
|
```
|
||||||
|
Reference in New Issue
Block a user