summaryrefslogtreecommitdiff
path: root/macros/map.asm
diff options
context:
space:
mode:
Diffstat (limited to 'macros/map.asm')
-rw-r--r--macros/map.asm42
1 files changed, 21 insertions, 21 deletions
diff --git a/macros/map.asm b/macros/map.asm
index 17b1f5a65..a9d3209c1 100644
--- a/macros/map.asm
+++ b/macros/map.asm
@@ -1,12 +1,5 @@
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
+ db GROUP_\1, MAP_\1
ENDM
roam_map: MACRO
@@ -23,16 +16,17 @@ roam_map: MACRO
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 \4 ; movement function
+ dn \5, \6 ; radius: y, x
+ db \7 ; clock_hour
+ db \8 ; clock_daytime
+ shift
+ dn \8, \9 ; color_function
+ shift
db \9 ; sight_range
shift
dw \9 ; pointer
@@ -61,8 +55,7 @@ warp_def: macro
db \1 ; y
db \2 ; x
db \3 ; warp_to
- db \4 ; map group
- db \5 ; map number
+ map \4 ; map
endm
@@ -164,16 +157,23 @@ endc
ENDM
mapgroup: MACRO
-; map id, height, width
-\1\@ EQUS "GROUP_\1"
-\1\@2 EQUS "MAP_\1"
-\1\@ EQU const_value
- enum \1\@2
+GROUP_\1 EQU const_value
+ enum MAP_\1
\1_HEIGHT EQU \2
\1_WIDTH EQU \3
ENDM
+; map id, height, width
+; \1\@ EQUS "GROUP_\1"
+; \1\@_2 EQUS "MAP_\1"
+; \1\@ EQU const_value
+ ; enum \1\@_2
newgroup: MACRO
const_value = const_value + 1
enum_start 1
ENDM
+
+elevfloor: MACRO
+ db \1, \2
+ map \3
+ENDM