|
@@ -67,7 +67,17 @@ void map_title(void) NONBANKED {
|
67
|
67
|
START_ROM_BANK(BANK(title_map));
|
68
|
68
|
set_bkg_palette(OAMF_CGB_PAL0, title_map_PALETTE_COUNT, title_map_palettes);
|
69
|
69
|
set_bkg_data(0, title_map_TILE_COUNT, title_map_tiles);
|
70
|
|
- set_bkg_attributes(0, 0, title_map_MAP_ATTRIBUTES_WIDTH, title_map_MAP_ATTRIBUTES_HEIGHT, title_map_MAP_ATTRIBUTES);
|
|
70
|
+ if (title_map_MAP_ATTRIBUTES != NULL) {
|
|
71
|
+ set_bkg_attributes(0, 0,
|
|
72
|
+ title_map_WIDTH / title_map_TILE_W, title_map_HEIGHT / title_map_TILE_H,
|
|
73
|
+ title_map_MAP_ATTRIBUTES);
|
|
74
|
+ } else {
|
|
75
|
+ VBK_REG = VBK_ATTRIBUTES;
|
|
76
|
+ fill_bkg_rect(0, 0,
|
|
77
|
+ title_map_WIDTH / title_map_TILE_W, title_map_HEIGHT / title_map_TILE_H,
|
|
78
|
+ 0x00);
|
|
79
|
+ VBK_REG = VBK_TILES;
|
|
80
|
+ }
|
71
|
81
|
set_bkg_tiles(0, 0, title_map_WIDTH / title_map_TILE_W, title_map_HEIGHT / title_map_TILE_H, title_map_map);
|
72
|
82
|
END_ROM_BANK();
|
73
|
83
|
}
|
|
@@ -76,7 +86,17 @@ void map_game(void) NONBANKED {
|
76
|
86
|
START_ROM_BANK(BANK(bg_map));
|
77
|
87
|
set_bkg_palette(OAMF_CGB_PAL0, bg_map_PALETTE_COUNT, bg_map_palettes);
|
78
|
88
|
set_bkg_data(0, bg_map_TILE_COUNT, bg_map_tiles);
|
79
|
|
- set_bkg_attributes(0, 0, bg_map_MAP_ATTRIBUTES_WIDTH, bg_map_MAP_ATTRIBUTES_HEIGHT, bg_map_MAP_ATTRIBUTES);
|
|
89
|
+ if (bg_map_MAP_ATTRIBUTES != NULL) {
|
|
90
|
+ set_bkg_attributes(0, 0,
|
|
91
|
+ bg_map_WIDTH / bg_map_TILE_W, bg_map_HEIGHT / bg_map_TILE_H,
|
|
92
|
+ bg_map_MAP_ATTRIBUTES);
|
|
93
|
+ } else {
|
|
94
|
+ VBK_REG = VBK_ATTRIBUTES;
|
|
95
|
+ fill_bkg_rect(0, 0,
|
|
96
|
+ bg_map_WIDTH / bg_map_TILE_W, bg_map_HEIGHT / bg_map_TILE_H,
|
|
97
|
+ 0x00);
|
|
98
|
+ VBK_REG = VBK_TILES;
|
|
99
|
+ }
|
80
|
100
|
set_bkg_tiles(0, 0, bg_map_WIDTH / bg_map_TILE_W, bg_map_HEIGHT / bg_map_TILE_H, bg_map_map);
|
81
|
101
|
END_ROM_BANK();
|
82
|
102
|
}
|
|
@@ -103,12 +123,17 @@ void win_init(uint8_t is_splash) NONBANKED {
|
103
|
123
|
static void set_win_based(uint8_t x, uint8_t y, uint8_t w, uint8_t h,
|
104
|
124
|
const uint8_t *tiles, uint8_t base_tile, uint8_t tile_bank,
|
105
|
125
|
const uint8_t *attributes, uint8_t attr_bank) NONBANKED {
|
106
|
|
- START_ROM_BANK(attr_bank);
|
|
126
|
+ if (attributes != NULL) {
|
|
127
|
+ START_ROM_BANK(attr_bank);
|
|
128
|
+ VBK_REG = VBK_ATTRIBUTES;
|
|
129
|
+ set_win_tiles(x, y, w, h, attributes);
|
|
130
|
+ END_ROM_BANK();
|
|
131
|
+ } else {
|
107
|
132
|
VBK_REG = VBK_ATTRIBUTES;
|
108
|
|
- set_win_tiles(x, y, w, h, attributes);
|
109
|
|
- END_ROM_BANK();
|
|
133
|
+ fill_win_rect(x, y, w, h, 0x00);
|
|
134
|
+ }
|
110
|
135
|
|
111
|
|
- START_ROM_BANK_2(tile_bank);
|
|
136
|
+ START_ROM_BANK(tile_bank);
|
112
|
137
|
VBK_REG = VBK_TILES;
|
113
|
138
|
set_win_based_tiles(x, y, w, h, tiles, base_tile);
|
114
|
139
|
END_ROM_BANK();
|