From: Lukas Krickl Date: Thu, 3 Jul 2025 03:55:54 +0000 (+0200) Subject: map: Added definition for exit table X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=337cff83e8a66be0d60ac58fa97173f5b2d71bea;p=gbrg%2F.git map: Added definition for exit table --- diff --git a/src/defs.s b/src/defs.s index a2a74d4..bffca01 100644 --- a/src/defs.s +++ b/src/defs.s @@ -263,6 +263,11 @@ .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 @@ -270,6 +275,26 @@ ; 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 diff --git a/src/macros.inc b/src/macros.inc index ac6e41f..bc37519 100644 --- a/src/macros.inc +++ b/src/macros.inc @@ -275,6 +275,19 @@ .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 diff --git a/tiles/bank8800.inc b/tiles/bank8800.inc index 72073f0..50db6fe 100644 --- a/tiles/bank8800.inc +++ b/tiles/bank8800.inc @@ -67,6 +67,7 @@ .chr 00000000 .chr 00000000 ; tile 4 +.chr 00000000 .chr 00000003 .chr 00000033 .chr 00000333 @@ -80,10 +81,10 @@ .chr 00000333 .chr 00000333 .chr 00000333 -.chr 00000333 -.chr 00000113 .chr 00000110 +.chr 00000000 ; tile 5 +.chr 00000000 .chr 30000000 .chr 33000000 .chr 33300000 @@ -92,14 +93,13 @@ .chr 21103100 .chr 22203300 .chr 33303300 +.chr 33332300 +.chr 33332300 .chr 33303300 .chr 33303300 -.chr 33122300 -.chr 33122300 -.chr 33303300 .chr 33303300 -.chr 31103300 .chr 01103300 +.chr 00000000 ; tile 6 .chr 00000000 .chr 00000000