From: Lukas Krickl Date: Tue, 19 Aug 2025 14:50:53 +0000 (+0200) Subject: maps: wip reworking map system X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=4285b82605d9ff74d7d38a1141cecac36fb6ee0f;p=gbrg%2F.git maps: wip reworking map system --- diff --git a/maps/map_c.s b/maps/map_c.s index 52ae164..a4bba6d 100644 --- a/maps/map_c.s +++ b/maps/map_c.s @@ -14,39 +14,31 @@ dw 4 map_c_bg: -.db 0x1, 0x4a, 0x1, 0x4a, 0xc, 0x0, 0x2, 0x4a -.db 0x1, 0x4a, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e -.db 0x1, 0x4a, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0 -.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0, 0x6, 0x6e -.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0 -.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0 -.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e -.db 0x1, 0x0, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0 -.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0, 0xf, 0x0 -.db 0x1, 0x0, 0xf, 0x0, 0x1, 0x0, 0x6, 0x6e -.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0 -.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0 -.db 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e -.db 0x1, 0x0, 0x1, 0x0, 0x6, 0x6e, 0x2, 0x0 -.db 0x6, 0x6e, 0x1, 0x0, 0x1, 0x0, 0x6, 0x6e -.db 0x2, 0x0, 0x6, 0x6e, 0x1, 0x0, 0x1, 0x4a -.db 0x6, 0x6e, 0x2, 0x0, 0x6, 0x6e, 0x1, 0x4a -.db 0x1, 0x4a, 0x1, 0x4a, 0xc, 0x0, 0x1, 0x4a -.db 0x1, 0x4a +.db 0x1, 0x2, 0xe, 0x4, 0x1, 0x6, 0x1, 0x22 +.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0 +.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26 +.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22 +.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0 +.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26 +.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22 +.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0 +.db 0x1, 0x26, 0x1, 0x22, 0xe, 0x0, 0x1, 0x26 +.db 0x1, 0x22, 0xe, 0x0, 0x1, 0x26, 0x1, 0x22 +.db 0xe, 0x0, 0x1, 0x26, 0x1, 0x22, 0xe, 0x0 +.db 0x1, 0x26, 0x1, 0x42, 0xe, 0x44, 0x1, 0x46 .db 0x00 ; termiante data map_c_tile_flags: -.db 0x2, 0x33, 0xc, 0x32, 0x2, 0x33, 0x1, 0x13 -.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x12, 0xe, 0x0 -.db 0x1, 0x22, 0x1, 0x12, 0xe, 0x0, 0x1, 0x22 -.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x22, 0x1, 0x12 -.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x12, 0xe, 0x0 -.db 0x1, 0x22, 0x1, 0x12, 0xe, 0x0, 0x1, 0x22 -.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x22, 0x1, 0x12 -.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x12, 0xe, 0x0 -.db 0x1, 0x22, 0x1, 0x12, 0xe, 0x0, 0x1, 0x22 -.db 0x1, 0x12, 0xe, 0x0, 0x1, 0x22, 0x1, 0x12 -.db 0xe, 0x0, 0x1, 0x22, 0x1, 0x13, 0xe, 0x0 -.db 0x1, 0x23, 0x1, 0x13, 0x1, 0x3, 0xc, 0x2 -.db 0x1, 0x3, 0x1, 0x23 +.db 0x10, 0x33, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23 +.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13 +.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0 +.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23 +.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13 +.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0 +.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23 +.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13 +.db 0xe, 0x0, 0x1, 0x23, 0x1, 0x13, 0xe, 0x0 +.db 0x1, 0x23, 0x1, 0x13, 0xe, 0x0, 0x1, 0x23 +.db 0x1, 0x13, 0xe, 0x0, 0x1, 0x23, 0x1, 0x13 +.db 0xe, 0x3, 0x1, 0x23 .db 0x00 ; termiante data diff --git a/src/defs.s b/src/defs.s index a378c30..ade2635 100644 --- a/src/defs.s +++ b/src/defs.s @@ -3,7 +3,9 @@ .section defs -#define FLOOR_MAP_COUNT 9 +#define FLOOR_W 4 +#define FLOOR_H 4 +#define FLOOR_MAP_COUNT (FLOOR_W * FLOOR_H) #define UI_STATUS_LINE shadow_ui+1 diff --git a/src/wram.s b/src/wram.s index b7a49d2..4db82bc 100644 --- a/src/wram.s +++ b/src/wram.s @@ -150,7 +150,23 @@ player_eq_amulet: .adv 2 ; player_unit (unit 0) is reserved player_unit: .adv 0 p0_units: .adv act_size * UNITS_MAX - + + ; + ; floor data + ; + + ; cursor into the floor's map tables (e.g. seeds) + ; go up: dec by FLOOR_W + ; go down: inc by FLOOR_W + ; go left: dec + ; go right: inc +player_map_cursor: .adv 1 + + ; one byte per map + ; indicating where doors should be placed + ; DIRUP, DIRDOWN, DIRLEFT, DIRRIGHT bits + ; this links all maps in a floor +map_doors_location: .adv FLOOR_MAP_COUNT ; list of seeds used ; for the current maps