|
- PC_Update:
- ld b, 0
- ld c, 0
- ld a, [hCurKeys]
- and %10000000
- cp %10000000 ; 0 if down pressed
- jr nz, .up
- ld b, 1
- .up:
- ld a, [hCurKeys]
- and %01000000
- cp %01000000 ; 0 if up pressed
- jr nz, .left
- ld b, 255
- .left:
- ld a, [hCurKeys]
- and %00100000
- cp %00100000 ; 0 if down pressed
- jr nz, .right
- ld c, 255
- .right:
- ld a, [hCurKeys]
- and %00010000
- cp %00010000 ; 0 if up pressed
- jr nz, .last
- ld c, 1
- .last:
- ld a, [Player_XPos]
- add c
- ld [Player_XPos], a
- ld a, [Player_YPos]
- add b
- ld [Player_YPos], a
- .end:
- ret
-
-
- Clear_OAM:
- ld hl, wShadowOAM
- ld bc, wShadowOAMEnd - wShadowOAM
- .loop:
- xor a
- ld [hli], a
- dec bc
- ld a, b
- or c
- jr nz, .loop
- ret
-
- Hide_OAM:
- ld hl, wShadowOAM
- ld c, wShadowOAMEnd - wShadowOAM
- .loop:
- xor a
- ld [hl], a
- ld a, l
- or 3
- inc a
- ld l, a
- dec c
- jr nz, .loop
- ret
-
- Clear_Map:
- ld hl, _SCRN0
- ld bc, _SCRN0_END - _SCRN0
- .loop:
- xor a
- ld [hli], a
- dec bc
- ld a, b
- or c
- jr nz, .loop
- ret
-
- Load_Tiles:
- ld hl, _BGTILES
- ld de, parecivo_tile_data
- ld bc, parecivo_tile_data_size
- call MemCpy
- ld hl, _VRAM
- ld de, parecivo_tile_data
- ld bc, parecivo_tile_data_size
- call MemCpy
- ret
-
- Load_Map:
- ld hl, _SCRN0
- ld de, Map
- ld bc, Map_Size
- call MemCpy
- ret
-
|