mirror of
				https://github.com/thornAvery/jep-hack.git
				synced 2025-11-04 21:01:01 +13:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			1 KiB
		
	
	
	
		
			NASM
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1 KiB
		
	
	
	
		
			NASM
		
	
	
	
	
	
; Coordinate macros
 | 
						|
 | 
						|
DEF hlcoord EQUS "coord hl,"
 | 
						|
DEF bccoord EQUS "coord bc,"
 | 
						|
DEF decoord EQUS "coord de,"
 | 
						|
 | 
						|
MACRO coord
 | 
						|
; register, x, y[, origin]
 | 
						|
	if _NARG < 4
 | 
						|
		ld \1, (\3) * SCREEN_WIDTH + (\2) + wTilemap
 | 
						|
	else
 | 
						|
		ld \1, (\3) * SCREEN_WIDTH + (\2) + \4
 | 
						|
	endc
 | 
						|
ENDM
 | 
						|
 | 
						|
DEF hlbgcoord EQUS "bgcoord hl,"
 | 
						|
DEF bcbgcoord EQUS "bgcoord bc,"
 | 
						|
DEF debgcoord EQUS "bgcoord de,"
 | 
						|
 | 
						|
MACRO bgcoord
 | 
						|
; register, x, y[, origin]
 | 
						|
	if _NARG < 4
 | 
						|
		ld \1, (\3) * BG_MAP_WIDTH + (\2) + vBGMap0
 | 
						|
	else
 | 
						|
		ld \1, (\3) * BG_MAP_WIDTH + (\2) + \4
 | 
						|
	endc
 | 
						|
ENDM
 | 
						|
 | 
						|
MACRO dwcoord
 | 
						|
; x, y
 | 
						|
	rept _NARG / 2
 | 
						|
		dw (\2) * SCREEN_WIDTH + (\1) + wTilemap
 | 
						|
		shift 2
 | 
						|
	endr
 | 
						|
ENDM
 | 
						|
 | 
						|
MACRO ldcoord_a
 | 
						|
; x, y[, origin]
 | 
						|
	if _NARG < 3
 | 
						|
		ld [(\2) * SCREEN_WIDTH + (\1) + wTilemap], a
 | 
						|
	else
 | 
						|
		ld [(\2) * SCREEN_WIDTH + (\1) + \3], a
 | 
						|
	endc
 | 
						|
ENDM
 | 
						|
 | 
						|
MACRO lda_coord
 | 
						|
; x, y[, origin]
 | 
						|
	if _NARG < 3
 | 
						|
		ld a, [(\2) * SCREEN_WIDTH + (\1) + wTilemap]
 | 
						|
	else
 | 
						|
		ld a, [(\2) * SCREEN_WIDTH + (\1) + \3]
 | 
						|
	endc
 | 
						|
ENDM
 | 
						|
 | 
						|
MACRO menu_coords
 | 
						|
; x1, y1, x2, y2
 | 
						|
	db \2, \1 ; start coords
 | 
						|
	db \4, \3 ; end coords
 | 
						|
ENDM
 |