.de map_tile_bank2_ptr, 2
.de map_tile_bank3_ptr, 2
+ ; pointer to exit table
+ ;
+.de map_exit_table_ptr, 2
+
+
; map actor table struct
.se 0
; list of be pointers to actors
.de map_actor_table_act_ptrs, 0
+ ; map exit flags
+.se 1
+ ; if set players Y/X position
+ ; to the opposite side of the
+ ; map upon entering
+.de MAP_EXITF_FLIPY, 1
+.de MAP_EXITF_FLIPX, 2
+ ; goto will set the actual position
+ ; based on the exit table entry
+.de MAP_EXITF_GOTOY, 4
+.de MAP_EXITF_GOTOX, 8
+
+ ; map exit table entry struct
+.se 0
+.de map_exit_flags, 1
+.de map_exit_goto_y, 1
+.de map_exit_goto_x, 1
+ ; pointer to new map struct
+.de map_exit_to, 2
+
; special text commands
; consumes the command
.db 0, 0
#endmacro
+ ; defines an exit table entry
+ ; inputs:
+ ; $1: flags
+ ; $2: goto y
+ ; $3: goto x
+ ; $4: map header pointer
+#macro map_exit_table_entry
+ .db $1
+ .db $2
+ .db $3
+ dw $4
+#endmacro
+
; loads NULL into a 16 bit register
; inputs:
; $1: register