mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
facing structs and other movement stuff
This commit is contained in:
parent
7d2b45cc3d
commit
ddfda26725
447
main.asm
447
main.asm
@ -3455,255 +3455,277 @@ PushOAMEnd
|
||||
; 4049
|
||||
|
||||
|
||||
DataPointers4049: ; 4049
|
||||
dw Data408b
|
||||
dw Data409c
|
||||
dw Data408b
|
||||
dw Data40ad
|
||||
dw Data40be
|
||||
dw Data40cf
|
||||
dw Data40be
|
||||
dw Data40e0
|
||||
dw Data40f1
|
||||
dw Data4113
|
||||
dw Data40f1
|
||||
dw Data4113
|
||||
dw Data4102
|
||||
dw Data4124
|
||||
dw Data4102
|
||||
dw Data4124
|
||||
dw Data4135
|
||||
dw Data414a
|
||||
dw Data415f
|
||||
dw Data4174
|
||||
dw Data4189
|
||||
dw Data419a
|
||||
dw Data4206
|
||||
dw Data41a3
|
||||
dw Data408b
|
||||
dw Data41e4
|
||||
dw Data408b
|
||||
dw Data41f5
|
||||
dw Data423f
|
||||
dw Data4250
|
||||
dw Data4261
|
||||
dw Data426a
|
||||
dw $0000
|
||||
; 408b
|
||||
Facings: ; 4049
|
||||
dw Facing00
|
||||
dw Facing01
|
||||
dw Facing02
|
||||
dw Facing03
|
||||
dw Facing04
|
||||
dw Facing05
|
||||
dw Facing06
|
||||
dw Facing07
|
||||
dw Facing08
|
||||
dw Facing09
|
||||
dw Facing10
|
||||
dw Facing11
|
||||
dw Facing12
|
||||
dw Facing13
|
||||
dw Facing14
|
||||
dw Facing15
|
||||
dw Facing16
|
||||
dw Facing17
|
||||
dw Facing18
|
||||
dw Facing19
|
||||
dw Facing20
|
||||
dw Facing21
|
||||
dw Facing22
|
||||
dw Facing23
|
||||
dw Facing24
|
||||
dw Facing25
|
||||
dw Facing26
|
||||
dw Facing27
|
||||
dw Facing28
|
||||
dw Facing29
|
||||
dw Facing30
|
||||
dw Facing31
|
||||
FacingsEnd: dw 0
|
||||
|
||||
Data408b: ; 408b
|
||||
NUM_FACINGS EQU (FacingsEnd - Facings) / 2
|
||||
|
||||
|
||||
; Tables used as a reference to transform OAM data.
|
||||
|
||||
; Format:
|
||||
; db y, x, attributes, tile index
|
||||
|
||||
; Attributes:
|
||||
X_FLIP EQU 1 << 5
|
||||
Y_FLIP EQU 1 << 6
|
||||
BEHIND_BG EQU 1 << 7
|
||||
|
||||
|
||||
Facing00:
|
||||
Facing02:
|
||||
Facing24:
|
||||
Facing26: ; 408b
|
||||
db 4 ; #
|
||||
db $00, $00, $00, $00
|
||||
db $00, $08, $00, $01
|
||||
db $08, $00, $02, $02
|
||||
db $08, $08, $02, $03
|
||||
db 0, 0, 0, $00
|
||||
db 0, 8, 0, $01
|
||||
db 8, 0, 2, $02
|
||||
db 8, 8, 2, $03
|
||||
; 409c
|
||||
|
||||
Data409c: ; 409c
|
||||
Facing01: ; 409c
|
||||
db 4 ; #
|
||||
db $00, $00, $00, $80
|
||||
db $00, $08, $00, $81
|
||||
db $08, $00, $02, $82
|
||||
db $08, $08, $02, $83
|
||||
db 0, 0, 0, $80
|
||||
db 0, 8, 0, $81
|
||||
db 8, 0, 2, $82
|
||||
db 8, 8, 2, $83
|
||||
; 40ad
|
||||
|
||||
Data40ad: ; 40ad
|
||||
Facing03: ; 40ad
|
||||
db 4 ; #
|
||||
db $00, $08, $20, $80
|
||||
db $00, $00, $20, $81
|
||||
db $08, $08, $22, $82
|
||||
db $08, $00, $22, $83
|
||||
db 0, 8, X_FLIP, $80
|
||||
db 0, 0, X_FLIP, $81
|
||||
db 8, 8, 2 | X_FLIP, $82
|
||||
db 8, 0, 2 | X_FLIP, $83
|
||||
; 40be
|
||||
|
||||
Data40be: ; 40be
|
||||
Facing04:
|
||||
Facing06: ; 40be
|
||||
db 4 ; #
|
||||
db $00, $00, $00, $04
|
||||
db $00, $08, $00, $05
|
||||
db $08, $00, $02, $06
|
||||
db $08, $08, $02, $07
|
||||
db 0, 0, 0, $04
|
||||
db 0, 8, 0, $05
|
||||
db 8, 0, 2, $06
|
||||
db 8, 8, 2, $07
|
||||
; 40cf
|
||||
|
||||
Data40cf: ; 40cf
|
||||
Facing05: ; 40cf
|
||||
db 4 ; #
|
||||
db $00, $00, $00, $84
|
||||
db $00, $08, $00, $85
|
||||
db $08, $00, $02, $86
|
||||
db $08, $08, $02, $87
|
||||
db 0, 0, 0, $84
|
||||
db 0, 8, 0, $85
|
||||
db 8, 0, 2, $86
|
||||
db 8, 8, 2, $87
|
||||
; 40e0
|
||||
|
||||
Data40e0: ; 40e0
|
||||
Facing07: ; 40e0
|
||||
db 4 ; #
|
||||
db $00, $08, $20, $84
|
||||
db $00, $00, $20, $85
|
||||
db $08, $08, $22, $86
|
||||
db $08, $00, $22, $87
|
||||
db 0, 8, X_FLIP, $84
|
||||
db 0, 0, X_FLIP, $85
|
||||
db 8, 8, 2 | X_FLIP, $86
|
||||
db 8, 0, 2 | X_FLIP, $87
|
||||
; 40f1
|
||||
|
||||
Data40f1: ; 40f1
|
||||
Facing08:
|
||||
Facing10: ; 40f1
|
||||
db 4 ; #
|
||||
db $00, $00, $00, $08
|
||||
db $00, $08, $00, $09
|
||||
db $08, $00, $02, $0a
|
||||
db $08, $08, $02, $0b
|
||||
db 0, 0, 0, $08
|
||||
db 0, 8, 0, $09
|
||||
db 8, 0, 2, $0a
|
||||
db 8, 8, 2, $0b
|
||||
; 4102
|
||||
|
||||
Data4102: ; 4102
|
||||
Facing12:
|
||||
Facing14: ; 4102
|
||||
db 4 ; #
|
||||
db $00, $08, $20, $08
|
||||
db $00, $00, $20, $09
|
||||
db $08, $08, $22, $0a
|
||||
db $08, $00, $22, $0b
|
||||
db 0, 8, X_FLIP, $08
|
||||
db 0, 0, X_FLIP, $09
|
||||
db 8, 8, 2 | X_FLIP, $0a
|
||||
db 8, 0, 2 | X_FLIP, $0b
|
||||
; 4113
|
||||
|
||||
Data4113: ; 4113
|
||||
Facing09:
|
||||
Facing11: ; 4113
|
||||
db 4 ; #
|
||||
db $00, $00, $00, $88
|
||||
db $00, $08, $00, $89
|
||||
db $08, $00, $02, $8a
|
||||
db $08, $08, $02, $8b
|
||||
db 0, 0, 0, $88
|
||||
db 0, 8, 0, $89
|
||||
db 8, 0, 2, $8a
|
||||
db 8, 8, 2, $8b
|
||||
; 4124
|
||||
|
||||
Data4124: ; 4124
|
||||
Facing13:
|
||||
Facing15: ; 4124
|
||||
db 4 ; #
|
||||
db $00, $08, $20, $88
|
||||
db $00, $00, $20, $89
|
||||
db $08, $08, $22, $8a
|
||||
db $08, $00, $22, $8b
|
||||
db 0, 8, X_FLIP, $88
|
||||
db 0, 0, X_FLIP, $89
|
||||
db 8, 8, 2 | X_FLIP, $8a
|
||||
db 8, 0, 2 | X_FLIP, $8b
|
||||
; 4135
|
||||
|
||||
Data4135: ; 4135
|
||||
Facing16: ; 4135
|
||||
db 5 ; #
|
||||
db $00, $00, $00, $00
|
||||
db $00, $08, $00, $01
|
||||
db $08, $00, $02, $02
|
||||
db $08, $08, $02, $03
|
||||
db $10, $00, $04, $fc
|
||||
db 0, 0, 0, $00
|
||||
db 0, 8, 0, $01
|
||||
db 8, 0, 2, $02
|
||||
db 8, 8, 2, $03
|
||||
db 16, 0, 4, $fc
|
||||
; 414a
|
||||
|
||||
Data414a: ; 414a
|
||||
Facing17: ; 414a
|
||||
db 5 ; #
|
||||
db $00, $00, $00, $04
|
||||
db $00, $08, $00, $05
|
||||
db $08, $00, $02, $06
|
||||
db $08, $08, $02, $07
|
||||
db $f8, $00, $04, $fc
|
||||
db 0, 0, 0, $04
|
||||
db 0, 8, 0, $05
|
||||
db 8, 0, 2, $06
|
||||
db 8, 8, 2, $07
|
||||
db -8, 0, 4, $fc
|
||||
; 415f
|
||||
|
||||
Data415f: ; 415f
|
||||
Facing18: ; 415f
|
||||
db 5 ; #
|
||||
db $00, $00, $00, $08
|
||||
db $00, $08, $00, $09
|
||||
db $08, $00, $02, $0a
|
||||
db $08, $08, $02, $0b
|
||||
db $05, $f8, $24, $fd
|
||||
db 0, 0, 0, $08
|
||||
db 0, 8, 0, $09
|
||||
db 8, 0, 2, $0a
|
||||
db 8, 8, 2, $0b
|
||||
db 5, -8, 4 | X_FLIP, $fd
|
||||
; 4174
|
||||
|
||||
Data4174: ; 4174
|
||||
Facing19: ; 4174
|
||||
db 5 ; #
|
||||
db $00, $08, $20, $08
|
||||
db $00, $00, $20, $09
|
||||
db $08, $08, $22, $0a
|
||||
db $08, $00, $22, $0b
|
||||
db $05, $10, $04, $fd
|
||||
db 0, 8, X_FLIP, $08
|
||||
db 0, 0, X_FLIP, $09
|
||||
db 8, 8, 2 | X_FLIP, $0a
|
||||
db 8, 0, 2 | X_FLIP, $0b
|
||||
db 5, 16, 4, $fd
|
||||
; 4189
|
||||
|
||||
Data4189: ; 4189
|
||||
Facing20: ; 4189
|
||||
db 4 ; #
|
||||
db $00, $00, $04, $f8
|
||||
db $00, $08, $04, $f9
|
||||
db $08, $00, $04, $fa
|
||||
db $08, $08, $04, $fb
|
||||
db 0, 0, 4, $f8
|
||||
db 0, 8, 4, $f9
|
||||
db 8, 0, 4, $fa
|
||||
db 8, 8, 4, $fb
|
||||
; 419a
|
||||
|
||||
Data419a: ; 419a
|
||||
Facing21: ; 419a
|
||||
db 2 ; #
|
||||
db $00, $00, $04, $fc
|
||||
db $00, $08, $24, $fc
|
||||
db 0, 0, 4, $fc
|
||||
db 0, 8, 4 | X_FLIP, $fc
|
||||
; 41a3
|
||||
|
||||
Data41a3: ; 41a3
|
||||
Facing23: ; 41a3
|
||||
db 16 ; #
|
||||
db $00, $00, $00, $00
|
||||
db $00, $08, $00, $01
|
||||
db $08, $00, $00, $02
|
||||
db $08, $08, $00, $03
|
||||
db $10, $00, $00, $04
|
||||
db $10, $08, $00, $05
|
||||
db $18, $00, $00, $06
|
||||
db $18, $08, $00, $07
|
||||
db $00, $18, $20, $00
|
||||
db $00, $10, $20, $01
|
||||
db $08, $18, $20, $02
|
||||
db $08, $10, $20, $03
|
||||
db $10, $18, $20, $04
|
||||
db $10, $10, $20, $05
|
||||
db $18, $18, $20, $06
|
||||
db $18, $10, $20, $07
|
||||
db 0, 0, 0, $00
|
||||
db 0, 8, 0, $01
|
||||
db 8, 0, 0, $02
|
||||
db 8, 8, 0, $03
|
||||
db 16, 0, 0, $04
|
||||
db 16, 8, 0, $05
|
||||
db 24, 0, 0, $06
|
||||
db 24, 8, 0, $07
|
||||
db 0, 24, X_FLIP, $00
|
||||
db 0, 16, X_FLIP, $01
|
||||
db 8, 24, X_FLIP, $02
|
||||
db 8, 16, X_FLIP, $03
|
||||
db 16, 24, X_FLIP, $04
|
||||
db 16, 16, X_FLIP, $05
|
||||
db 24, 24, X_FLIP, $06
|
||||
db 24, 16, X_FLIP, $07
|
||||
; 41e4
|
||||
|
||||
Data41e4: ; 41e4
|
||||
Facing25: ; 41e4
|
||||
db 4 ; #
|
||||
db $00, $00, $00, $04
|
||||
db $00, $08, $00, $05
|
||||
db $08, $00, $00, $06
|
||||
db $08, $08, $00, $07
|
||||
db 0, 0, 0, $04
|
||||
db 0, 8, 0, $05
|
||||
db 8, 0, 0, $06
|
||||
db 8, 8, 0, $07
|
||||
; 41f5
|
||||
|
||||
Data41f5: ; 41f5
|
||||
Facing27: ; 41f5
|
||||
db 4 ; #
|
||||
db $00, $08, $20, $04
|
||||
db $00, $00, $20, $05
|
||||
db $08, $08, $20, $06
|
||||
db $08, $00, $20, $07
|
||||
db 0, 8, X_FLIP, $04
|
||||
db 0, 0, X_FLIP, $05
|
||||
db 8, 8, X_FLIP, $06
|
||||
db 8, 0, X_FLIP, $07
|
||||
; 4206
|
||||
|
||||
Data4206: ; 4206
|
||||
Facing22: ; 4206
|
||||
db 14 ; #
|
||||
db $00, $00, $00, $00
|
||||
db $00, $08, $00, $01
|
||||
db $08, $00, $00, $04
|
||||
db $08, $08, $00, $05
|
||||
db $10, $08, $00, $07
|
||||
db $18, $08, $00, $0a
|
||||
db $00, $18, $00, $03
|
||||
db $00, $10, $00, $02
|
||||
db $08, $18, $20, $02
|
||||
db $08, $10, $00, $06
|
||||
db $10, $18, $00, $09
|
||||
db $10, $10, $00, $08
|
||||
db $18, $18, $20, $04
|
||||
db $18, $10, $00, $0b
|
||||
db 0, 0, 0, $00
|
||||
db 0, 8, 0, $01
|
||||
db 8, 0, 0, $04
|
||||
db 8, 8, 0, $05
|
||||
db 16, 8, 0, $07
|
||||
db 24, 8, 0, $0a
|
||||
db 0, 24, 0, $03
|
||||
db 0, 16, 0, $02
|
||||
db 8, 24, X_FLIP, $02
|
||||
db 8, 16, 0, $06
|
||||
db 16, 24, 0, $09
|
||||
db 16, 16, 0, $08
|
||||
db 24, 24, X_FLIP, $04
|
||||
db 24, 16, 0, $0b
|
||||
; 423f
|
||||
|
||||
Data423f: ; 423f
|
||||
Facing28: ; 423f
|
||||
db 4 ; #
|
||||
db $00, $00, $04, $fe
|
||||
db $00, $08, $04, $fe
|
||||
db $08, $00, $04, $fe
|
||||
db $08, $08, $04, $fe
|
||||
db 0, 0, 4, $fe
|
||||
db 0, 8, 4, $fe
|
||||
db 8, 0, 4, $fe
|
||||
db 8, 8, 4, $fe
|
||||
; 4250
|
||||
|
||||
Data4250: ; 4250
|
||||
Facing29: ; 4250
|
||||
db 4 ; #
|
||||
db $00, $00, $04, $ff
|
||||
db $00, $08, $04, $ff
|
||||
db $08, $00, $04, $ff
|
||||
db $08, $08, $04, $ff
|
||||
db 0, 0, 4, $ff
|
||||
db 0, 8, 4, $ff
|
||||
db 8, 0, 4, $ff
|
||||
db 8, 8, 4, $ff
|
||||
; 4261
|
||||
|
||||
Data4261: ; 4261
|
||||
Facing30: ; 4261
|
||||
db 2 ; #
|
||||
db $08, $00, $04, $fe
|
||||
db $08, $08, $24, $fe
|
||||
db 8, 0, 4, $fe
|
||||
db 8, 8, 4 | X_FLIP, $fe
|
||||
; 426a
|
||||
|
||||
Data426a: ; 426a
|
||||
Facing31: ; 426a
|
||||
db 2 ; #
|
||||
db $09, $ff, $04, $fe
|
||||
db $09, $09, $24, $fe
|
||||
db 9, -1, 4, $fe
|
||||
db 9, 9, 4 | X_FLIP, $fe
|
||||
; 4273
|
||||
|
||||
|
||||
|
||||
Data4273: ; 4273
|
||||
INCBIN "baserom.gbc",$4273,$4357 - $4273
|
||||
; 4357
|
||||
@ -4399,7 +4421,7 @@ Function46e9: ; 46e9
|
||||
add a
|
||||
ld l, a
|
||||
ld h, 0
|
||||
ld de, .Steps
|
||||
ld de, StepVectors
|
||||
add hl, de
|
||||
ld d, [hl]
|
||||
inc hl
|
||||
@ -4410,7 +4432,7 @@ Function46e9: ; 46e9
|
||||
ret
|
||||
; 4700
|
||||
|
||||
.Steps ; 4700
|
||||
StepVectors: ; 4700
|
||||
; x, y, duration, speed
|
||||
; slow
|
||||
db 0, 1, $10, $01
|
||||
@ -7142,56 +7164,62 @@ Function5a0d: ; 5a0d
|
||||
ld a, [hl]
|
||||
and $7f
|
||||
ld [$ffc1], a
|
||||
|
||||
xor a
|
||||
bit 7, [hl]
|
||||
jr nz, .asm_5a1d
|
||||
or $8
|
||||
|
||||
or 8
|
||||
.asm_5a1d
|
||||
|
||||
ld hl, $0005
|
||||
add hl, bc
|
||||
ld e, [hl]
|
||||
bit 7, e
|
||||
jr z, .asm_5a28
|
||||
or $80
|
||||
|
||||
.asm_5a28
|
||||
|
||||
bit 4, e
|
||||
jr z, .asm_5a2e
|
||||
or $10
|
||||
|
||||
.asm_5a2e
|
||||
|
||||
ld hl, $0006
|
||||
add hl, bc
|
||||
ld d, a
|
||||
ld a, [hl]
|
||||
and $7
|
||||
and 7
|
||||
or d
|
||||
ld d, a
|
||||
|
||||
xor a
|
||||
bit 3, e
|
||||
jr z, .asm_5a3f
|
||||
or $80
|
||||
|
||||
.asm_5a3f
|
||||
ld [$ffc2], a
|
||||
|
||||
ld hl, $0017
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
|
||||
ld hl, $0019
|
||||
add hl, bc
|
||||
add [hl]
|
||||
add $8
|
||||
add 8
|
||||
ld e, a
|
||||
ld a, [$d14c]
|
||||
add e
|
||||
ld [$ffbf], a
|
||||
|
||||
ld hl, $0018
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
|
||||
ld hl, $001a
|
||||
add hl, bc
|
||||
add [hl]
|
||||
|
||||
add $c
|
||||
ld e, a
|
||||
ld a, [$d14d]
|
||||
@ -7201,15 +7229,15 @@ Function5a0d: ; 5a0d
|
||||
ld hl, $000d
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp $ff
|
||||
jp z, .asm_5abe
|
||||
cp $20
|
||||
jp nc, .asm_5abe
|
||||
cp -1
|
||||
jp z, .done
|
||||
cp NUM_FACINGS
|
||||
jp nc, .done
|
||||
|
||||
ld l, a
|
||||
ld h, 0
|
||||
add hl, hl
|
||||
ld bc, DataPointers4049
|
||||
ld bc, Facings
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
@ -7224,19 +7252,24 @@ Function5a0d: ; 5a0d
|
||||
cp SpritesEnd % $100
|
||||
jr nc, .full
|
||||
|
||||
.loop
|
||||
.addsprite
|
||||
ld a, [$ffc0]
|
||||
add [hl]
|
||||
inc hl
|
||||
|
||||
ld [bc], a
|
||||
inc c
|
||||
|
||||
ld a, [$ffbf]
|
||||
add [hl]
|
||||
inc hl
|
||||
|
||||
ld [bc], a
|
||||
inc c
|
||||
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
|
||||
ld a, [$ffc1]
|
||||
bit 2, e
|
||||
jr z, .asm_5aa3
|
||||
@ -7244,8 +7277,10 @@ Function5a0d: ; 5a0d
|
||||
.asm_5aa3
|
||||
add [hl]
|
||||
inc hl
|
||||
|
||||
ld [bc], a
|
||||
inc c
|
||||
|
||||
ld a, e
|
||||
bit 1, a
|
||||
jr z, .asm_5aaf
|
||||
@ -7256,15 +7291,16 @@ Function5a0d: ; 5a0d
|
||||
or d
|
||||
ld [bc], a
|
||||
inc c
|
||||
|
||||
ld a, [$ffbe]
|
||||
dec a
|
||||
ld [$ffbe], a
|
||||
jr nz, .loop
|
||||
jr nz, .addsprite
|
||||
|
||||
ld a, c
|
||||
ld [$ffbd], a
|
||||
|
||||
.asm_5abe
|
||||
.done
|
||||
xor a
|
||||
ret
|
||||
|
||||
@ -7286,21 +7322,22 @@ Function5ac2: ; 5ac2
|
||||
; 5ace
|
||||
|
||||
.Addresses ; 5ace
|
||||
dw $d4d6
|
||||
dw $d4fe
|
||||
dw $d526
|
||||
dw $d54e
|
||||
dw $d576
|
||||
dw $d59e
|
||||
dw $d5c6
|
||||
dw $d5ee
|
||||
dw $d616
|
||||
dw $d63e
|
||||
dw $d666
|
||||
dw $d68e
|
||||
dw $d6b6
|
||||
dw PlayerStruct
|
||||
dw ObjectStruct1
|
||||
dw ObjectStruct2
|
||||
dw ObjectStruct3
|
||||
dw ObjectStruct4
|
||||
dw ObjectStruct5
|
||||
dw ObjectStruct6
|
||||
dw ObjectStruct7
|
||||
dw ObjectStruct8
|
||||
dw ObjectStruct9
|
||||
dw ObjectStruct10
|
||||
dw ObjectStruct11
|
||||
dw ObjectStruct12
|
||||
; 5ae8
|
||||
|
||||
|
||||
Function5ae8: ; 5ae8
|
||||
ld de, MUSIC_NONE
|
||||
call PlayMusic
|
||||
|
Loading…
Reference in New Issue
Block a user