mirror of
https://github.com/pret/pokered.git
synced 2024-10-22 22:55:31 +00:00
66 lines
1.1 KiB
NASM
66 lines
1.1 KiB
NASM
|
validateCoords: MACRO
|
||
|
IF \1 >= SCREEN_WIDTH
|
||
|
fail "x coord out of range"
|
||
|
ENDC
|
||
|
IF \2 >= SCREEN_HEIGHT
|
||
|
fail "y coord out of range"
|
||
|
ENDC
|
||
|
ENDM
|
||
|
|
||
|
;\1 = r
|
||
|
;\2 = X
|
||
|
;\3 = Y
|
||
|
;\4 = which tilemap (optional)
|
||
|
coord: MACRO
|
||
|
validateCoords \2, \3
|
||
|
IF _NARG >= 4
|
||
|
ld \1, \4 + SCREEN_WIDTH * \3 + \2
|
||
|
ELSE
|
||
|
ld \1, wTileMap + SCREEN_WIDTH * \3 + \2
|
||
|
ENDC
|
||
|
ENDM
|
||
|
|
||
|
;\1 = X
|
||
|
;\2 = Y
|
||
|
;\3 = which tilemap (optional)
|
||
|
aCoord: MACRO
|
||
|
validateCoords \1, \2
|
||
|
IF _NARG >= 3
|
||
|
ld a, [\3 + SCREEN_WIDTH * \2 + \1]
|
||
|
ELSE
|
||
|
ld a, [wTileMap + SCREEN_WIDTH * \2 + \1]
|
||
|
ENDC
|
||
|
ENDM
|
||
|
|
||
|
;\1 = X
|
||
|
;\2 = Y
|
||
|
;\3 = which tilemap (optional)
|
||
|
Coorda: MACRO
|
||
|
validateCoords \1, \2
|
||
|
IF _NARG >= 3
|
||
|
ld [\3 + SCREEN_WIDTH * \2 + \1], a
|
||
|
ELSE
|
||
|
ld [wTileMap + SCREEN_WIDTH * \2 + \1], a
|
||
|
ENDC
|
||
|
ENDM
|
||
|
|
||
|
;\1 = X
|
||
|
;\2 = Y
|
||
|
;\3 = which tilemap (optional)
|
||
|
dwCoord: MACRO
|
||
|
validateCoords \1, \2
|
||
|
IF _NARG >= 3
|
||
|
dw \3 + SCREEN_WIDTH * \2 + \1
|
||
|
ELSE
|
||
|
dw wTileMap + SCREEN_WIDTH * \2 + \1
|
||
|
ENDC
|
||
|
ENDM
|
||
|
|
||
|
;\1 = r
|
||
|
;\2 = X
|
||
|
;\3 = Y
|
||
|
;\4 = map width
|
||
|
overworldMapCoord: MACRO
|
||
|
ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2)))
|
||
|
ENDM
|