mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-17 02:40:50 +12:00
Factor out spinner tiles from RocketHideoutB2F since they're also used by ViridianGym, and to make their data and code more accessible
This commit is contained in:
parent
fcb573f4ac
commit
be326c6565
29
data/tilesets/spinner_tiles.asm
Normal file
29
data/tilesets/spinner_tiles.asm
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
spinner: MACRO
|
||||||
|
; \1: source
|
||||||
|
; \2: offset (BANK() chokes on literals)
|
||||||
|
; \3: dest
|
||||||
|
dw \1 tile \2
|
||||||
|
db 1
|
||||||
|
db BANK(\1)
|
||||||
|
dw vTileset tile \3
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
FacilitySpinnerArrows:
|
||||||
|
spinner SpinnerArrowAnimTiles, 0, $20
|
||||||
|
spinner SpinnerArrowAnimTiles, 1, $21
|
||||||
|
spinner SpinnerArrowAnimTiles, 2, $30
|
||||||
|
spinner SpinnerArrowAnimTiles, 3, $31
|
||||||
|
spinner Facility_GFX, $20, $20
|
||||||
|
spinner Facility_GFX, $21, $21
|
||||||
|
spinner Facility_GFX, $30, $30
|
||||||
|
spinner Facility_GFX, $31, $31
|
||||||
|
|
||||||
|
GymSpinnerArrows:
|
||||||
|
spinner SpinnerArrowAnimTiles, 1, $3c
|
||||||
|
spinner SpinnerArrowAnimTiles, 3, $3d
|
||||||
|
spinner SpinnerArrowAnimTiles, 0, $4c
|
||||||
|
spinner SpinnerArrowAnimTiles, 2, $4d
|
||||||
|
spinner Gym_GFX, $3c, $3c
|
||||||
|
spinner Gym_GFX, $3d, $3d
|
||||||
|
spinner Gym_GFX, $4c, $4c
|
||||||
|
spinner Gym_GFX, $4d, $4d
|
65
engine/overworld/spinners.asm
Normal file
65
engine/overworld/spinners.asm
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
LoadSpinnerArrowTiles::
|
||||||
|
ld a, [wSpritePlayerStateData1ImageIndex]
|
||||||
|
srl a
|
||||||
|
srl a
|
||||||
|
ld hl, SpinnerPlayerFacingDirections
|
||||||
|
ld c, a
|
||||||
|
ld b, $0
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hl]
|
||||||
|
ld [wSpritePlayerStateData1ImageIndex], a
|
||||||
|
ld a, [wCurMapTileset]
|
||||||
|
cp FACILITY
|
||||||
|
ld hl, FacilitySpinnerArrows
|
||||||
|
jr z, .asm_44ff6
|
||||||
|
ld hl, GymSpinnerArrows
|
||||||
|
.asm_44ff6
|
||||||
|
ld a, [wSimulatedJoypadStatesIndex]
|
||||||
|
bit 0, a
|
||||||
|
jr nz, .asm_45001
|
||||||
|
ld de, $18
|
||||||
|
add hl, de
|
||||||
|
.asm_45001
|
||||||
|
ld a, $4
|
||||||
|
ld bc, $0
|
||||||
|
.asm_45006
|
||||||
|
push af
|
||||||
|
push hl
|
||||||
|
push bc
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hli]
|
||||||
|
ld e, a
|
||||||
|
ld a, [hli]
|
||||||
|
ld d, a
|
||||||
|
ld a, [hli]
|
||||||
|
ld c, a
|
||||||
|
ld a, [hli]
|
||||||
|
ld b, a
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
call CopyVideoData
|
||||||
|
pop bc
|
||||||
|
ld a, $6
|
||||||
|
add c
|
||||||
|
ld c, a
|
||||||
|
pop hl
|
||||||
|
pop af
|
||||||
|
dec a
|
||||||
|
jr nz, .asm_45006
|
||||||
|
ret
|
||||||
|
|
||||||
|
INCLUDE "data/tilesets/spinner_tiles.asm"
|
||||||
|
|
||||||
|
SpinnerPlayerFacingDirections:
|
||||||
|
; This isn't the order of the facing directions. Rather, it's a list of
|
||||||
|
; the facing directions that come next. For example, when the player is
|
||||||
|
; facing down (00), the next facing direction is left (08).
|
||||||
|
db $08 ; down -> left
|
||||||
|
db $0C ; up -> right
|
||||||
|
db $04 ; left -> up
|
||||||
|
db $00 ; right -> down
|
||||||
|
|
||||||
|
; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ
|
||||||
|
SpinnerArrowAnimTiles:
|
||||||
|
INCBIN "gfx/overworld/spinners.2bpp"
|
|
@ -313,99 +313,7 @@ RocketHideout2Script3:
|
||||||
ld [wCurMapScript], a
|
ld [wCurMapScript], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
LoadSpinnerArrowTiles::
|
INCLUDE "engine/overworld/spinners.asm"
|
||||||
ld a, [wSpritePlayerStateData1ImageIndex]
|
|
||||||
srl a
|
|
||||||
srl a
|
|
||||||
ld hl, SpinnerPlayerFacingDirections
|
|
||||||
ld c, a
|
|
||||||
ld b, $0
|
|
||||||
add hl, bc
|
|
||||||
ld a, [hl]
|
|
||||||
ld [wSpritePlayerStateData1ImageIndex], a
|
|
||||||
ld a, [wCurMapTileset]
|
|
||||||
cp FACILITY
|
|
||||||
ld hl, FacilitySpinnerArrows
|
|
||||||
jr z, .asm_44ff6
|
|
||||||
ld hl, GymSpinnerArrows
|
|
||||||
.asm_44ff6
|
|
||||||
ld a, [wSimulatedJoypadStatesIndex]
|
|
||||||
bit 0, a
|
|
||||||
jr nz, .asm_45001
|
|
||||||
ld de, $18
|
|
||||||
add hl, de
|
|
||||||
.asm_45001
|
|
||||||
ld a, $4
|
|
||||||
ld bc, $0
|
|
||||||
.asm_45006
|
|
||||||
push af
|
|
||||||
push hl
|
|
||||||
push bc
|
|
||||||
add hl, bc
|
|
||||||
ld a, [hli]
|
|
||||||
ld e, a
|
|
||||||
ld a, [hli]
|
|
||||||
ld d, a
|
|
||||||
ld a, [hli]
|
|
||||||
ld c, a
|
|
||||||
ld a, [hli]
|
|
||||||
ld b, a
|
|
||||||
ld a, [hli]
|
|
||||||
ld h, [hl]
|
|
||||||
ld l, a
|
|
||||||
call CopyVideoData
|
|
||||||
pop bc
|
|
||||||
ld a, $6
|
|
||||||
add c
|
|
||||||
ld c, a
|
|
||||||
pop hl
|
|
||||||
pop af
|
|
||||||
dec a
|
|
||||||
jr nz, .asm_45006
|
|
||||||
ret
|
|
||||||
|
|
||||||
spinner: MACRO
|
|
||||||
; \1: source
|
|
||||||
; \2: offset (BANK() chokes on literals)
|
|
||||||
; \3: dest
|
|
||||||
dw \1 tile \2
|
|
||||||
db 1
|
|
||||||
db BANK(\1)
|
|
||||||
dw vTileset tile \3
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
FacilitySpinnerArrows:
|
|
||||||
spinner SpinnerArrowAnimTiles, 0, $20
|
|
||||||
spinner SpinnerArrowAnimTiles, 1, $21
|
|
||||||
spinner SpinnerArrowAnimTiles, 2, $30
|
|
||||||
spinner SpinnerArrowAnimTiles, 3, $31
|
|
||||||
spinner Facility_GFX, $20, $20
|
|
||||||
spinner Facility_GFX, $21, $21
|
|
||||||
spinner Facility_GFX, $30, $30
|
|
||||||
spinner Facility_GFX, $31, $31
|
|
||||||
|
|
||||||
GymSpinnerArrows:
|
|
||||||
spinner SpinnerArrowAnimTiles, 1, $3c
|
|
||||||
spinner SpinnerArrowAnimTiles, 3, $3d
|
|
||||||
spinner SpinnerArrowAnimTiles, 0, $4c
|
|
||||||
spinner SpinnerArrowAnimTiles, 2, $4d
|
|
||||||
spinner Gym_GFX, $3c, $3c
|
|
||||||
spinner Gym_GFX, $3d, $3d
|
|
||||||
spinner Gym_GFX, $4c, $4c
|
|
||||||
spinner Gym_GFX, $4d, $4d
|
|
||||||
|
|
||||||
SpinnerPlayerFacingDirections:
|
|
||||||
; This isn't the order of the facing directions. Rather, it's a list of
|
|
||||||
; the facing directions that come next. For example, when the player is
|
|
||||||
; facing down (00), the next facing direction is left (08).
|
|
||||||
db $08 ; down -> left
|
|
||||||
db $0C ; up -> right
|
|
||||||
db $04 ; left -> up
|
|
||||||
db $00 ; right -> down
|
|
||||||
|
|
||||||
; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ
|
|
||||||
SpinnerArrowAnimTiles:
|
|
||||||
INCBIN "gfx/overworld/spinners.2bpp"
|
|
||||||
|
|
||||||
RocketHideoutB2F_TextPointers:
|
RocketHideoutB2F_TextPointers:
|
||||||
dw RocketHideout2Text1
|
dw RocketHideout2Text1
|
||||||
|
|
Loading…
Reference in a new issue