diff options
Diffstat (limited to 'macros/gfx.asm')
-rw-r--r-- | macros/gfx.asm | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/macros/gfx.asm b/macros/gfx.asm index 2753373e0..2c67cfc8a 100644 --- a/macros/gfx.asm +++ b/macros/gfx.asm @@ -1,9 +1,7 @@ RGB: MACRO rept _NARG / 3 dw palred (\1) + palgreen (\2) + palblue (\3) - shift - shift - shift + shift 3 endr ENDM @@ -22,3 +20,31 @@ tile EQUS "+ LEN_2BPP_TILE *" ; example usage: ; INCBIN "foo.gbcpal", middle_colors middle_colors EQUS "PAL_COLOR_SIZE, PAL_COLOR_SIZE * 2" + +dbpixel: MACRO +if _NARG >= 4 +; x tile, y tile, x pixel, y pixel + db \1 * TILE_WIDTH + \3, \2 * TILE_WIDTH + \4 +else +; x tile, y tile + db \1 * TILE_WIDTH, \2 * TILE_WIDTH +endc +ENDM + +ldpixel: MACRO +if _NARG >= 5 +; register, x tile, y tile, x pixel, y pixel + lb \1, \2 * TILE_WIDTH + \4, \3 * TILE_WIDTH + \5 +else +; register, x tile, y tile + lb \1, \2 * TILE_WIDTH, \3 * TILE_WIDTH +endc +ENDM + +depixel EQUS "ldpixel de," +bcpixel EQUS "ldpixel bc," + +dbsprite: MACRO +; x tile, y tile, x pixel, y pixel, vtile offset, attributes + db (\2 * TILE_WIDTH) % $100 + \4, (\1 * TILE_WIDTH) % $100 + \3, \5, \6 +ENDM |