shithub: pokecrystal

ref: 6ff7b7413c0e88efe26d88bd9f9055ba3baf342e
dir: /macros/map.asm/

View raw version
map: MACRO
; This is a silly hack to get around an rgbds bug.

; Ideally:
;	db GROUP_\1, MAP_\1

\1\@  EQUS "GROUP_\1"
\1\@2 EQUS "MAP_\1"
	db \1\@, \1\@2
ENDM

roam_map: MACRO
; A map and an arbitrary number of some more maps.

	map \1
	db  \2

	rept \2
	map \3
	shift
	endr

	db 0
ENDM


person_event: macro
	db \1 ; sprite
	db \2 ; y
	db \3 ; x
	db \4 ; facing
	db \5 ; movement
	db \6 ; clock_hour
	db \7 ; clock_daytime
	db \8 ; color_function
	db \9 ; sight_range
	shift
	dw \9 ; pointer
	shift
	dw \9 ; event flag
	endm

signpost: macro
	db \1 ; y
	db \2 ; x
	db \3 ; function
	dw \4 ; pointer
	endm

xy_trigger: macro
	db \1 ; number
	db \2 ; y
	db \3 ; x
	db \4 ; unknown1
	dw \5 ; script
	db \6 ; unknown2
	db \7 ; unknown3
	endm

warp_def: macro
	db \1 ; y
	db \2 ; x
	db \3 ; warp_to
	db \4 ; map group
	db \5 ; map number
	endm