|
@@ -76,16 +76,54 @@ uint8_t get_tile_offset(uint8_t flipx, uint8_t flipy)
|
76
|
76
|
return offset;
|
77
|
77
|
}
|
78
|
78
|
|
|
79
|
+const palette_color_t gray_pal[4] = { RGB8(255,255,255),
|
|
80
|
+ RGB8(170,170,170),
|
|
81
|
+ RGB8(85,85,85),
|
|
82
|
+ RGB8(0,0,0) };
|
|
83
|
+const palette_color_t pink_pal[4] = { RGB8(255,255,255),
|
|
84
|
+ RGB8(255,0,255),
|
|
85
|
+ RGB8(170,0,170),
|
|
86
|
+ RGB8(85,0,85) };
|
|
87
|
+const palette_color_t cyan_pal[4] = { RGB8(255,255,255),
|
|
88
|
+ RGB8(85,255,255),
|
|
89
|
+ RGB8(0,170,170),
|
|
90
|
+ RGB8(0,85,85) };
|
|
91
|
+const palette_color_t green_pal[4] = { RGB8(255,255,255),
|
|
92
|
+ RGB8(170,255,170),
|
|
93
|
+ RGB8(0,170,0),
|
|
94
|
+ RGB8(0,85,0) };
|
|
95
|
+
|
|
96
|
+const uint8_t pattern[] = {0x80,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x02,0x02,0x01,0x01};
|
|
97
|
+
|
79
|
98
|
void main(void) {
|
80
|
99
|
DISPLAY_OFF;
|
81
|
100
|
|
82
|
101
|
set_default_palette();
|
|
102
|
+ set_sprite_palette(OAMF_CGB_PAL0, 1, gray_pal);
|
|
103
|
+ set_sprite_palette(OAMF_CGB_PAL1, 1, pink_pal);
|
|
104
|
+ set_sprite_palette(OAMF_CGB_PAL2, 1, cyan_pal);
|
|
105
|
+ set_sprite_palette(OAMF_CGB_PAL3, 1, green_pal);
|
|
106
|
+
|
|
107
|
+ // Fill the screen background with a single tile pattern
|
|
108
|
+ fill_bkg_rect(0, 0, DEVICE_SCREEN_WIDTH, DEVICE_SCREEN_HEIGHT, 0);
|
|
109
|
+
|
|
110
|
+ // Set tile data for background
|
|
111
|
+ set_bkg_data(0, 1, pattern);
|
83
|
112
|
|
84
|
113
|
size_t i;
|
85
|
114
|
num_tiles = sizeof(rockshp_tiles) >> 4;
|
86
|
115
|
for(i = 0; i < num_tiles; i++)
|
87
|
116
|
{
|
88
|
117
|
set_tile(i + get_tile_offset(0, 0), rockshp_tiles + (i << 4), 0, 0);
|
|
118
|
+ #if !HARDWARE_SPRITE_CAN_FLIP_X
|
|
119
|
+ set_tile(i + get_tile_offset(1, 0), sprite_tiles + (i << 4), 1, 0);
|
|
120
|
+ #endif
|
|
121
|
+ #if !HARDWARE_SPRITE_CAN_FLIP_Y
|
|
122
|
+ set_tile(i + get_tile_offset(0, 1), sprite_tiles + (i << 4), 0, 1);
|
|
123
|
+ #endif
|
|
124
|
+ #if !HARDWARE_SPRITE_CAN_FLIP_X && !HARDWARE_SPRITE_CAN_FLIP_Y
|
|
125
|
+ set_tile(i + get_tile_offset(1, 1), sprite_tiles + (i << 4), 1, 1);
|
|
126
|
+ #endif
|
89
|
127
|
}
|
90
|
128
|
|
91
|
129
|
// Show bkg and sprites
|