mirror of https://github.com/OpenRCT2/OpenRCT2.git
Refactor maze flags
This commit is contained in:
parent
27b420374e
commit
8ffe7d5b43
|
@ -86,93 +86,92 @@ static void maze_paint_setup(paint_session * session, uint8 rideIndex, uint8 tra
|
|||
base_image_id |= session->TrackColours[SCHEME_MISC];
|
||||
|
||||
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_CENTRE;
|
||||
if (maze_entry & (1 << 3))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_3)
|
||||
sub_98197C(session, image_id, 2, 2, 10, 10, 9, height, 3, 3, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 7))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_7)
|
||||
sub_98197C(session, image_id, 2, 18, 10, 10, 9, height, 3, 19, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 11))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_11)
|
||||
sub_98197C(session, image_id, 18, 18, 10, 10, 9, height, 19, 19, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 15))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_15)
|
||||
sub_98197C(session, image_id, 18, 2, 10, 10, 9, height, 19, 3, height + 2, rotation);
|
||||
|
||||
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_TOP_LEFT;
|
||||
if (maze_entry & (1 << 0))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_0)
|
||||
sub_98197C(session, image_id, 2, 0, 10, 1, 9, height, 3, 1, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 13))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_13)
|
||||
sub_98197C(session, image_id, 18, 0, 10, 1, 9, height, 19, 1, height + 2, rotation);
|
||||
|
||||
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_BOTTOM_RIGHT;
|
||||
if (maze_entry & (1 << 5))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_5)
|
||||
sub_98197C(session, image_id, 2, 30, 10, 1, 9, height, 3, 30, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 8))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_8)
|
||||
sub_98197C(session, image_id, 18, 30, 10, 1, 9, height, 19, 30, height + 2, rotation);
|
||||
|
||||
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_TOP_RIGHT;
|
||||
if (maze_entry & (1 << 1))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_1)
|
||||
sub_98197C(session, image_id, 0, 2, 1, 10, 9, height, 1, 3, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 4))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_4)
|
||||
sub_98197C(session, image_id, 0, 18, 1, 10, 9, height, 1, 19, height + 2, rotation);
|
||||
|
||||
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_BOTTOM_LEFT;
|
||||
if (maze_entry & (1 << 12))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_12)
|
||||
sub_98197C(session, image_id, 30, 2, 1, 10, 9, height, 30, 3, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 9))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_9)
|
||||
sub_98197C(session, image_id, 30, 18, 1, 10, 9, height, 30, 19, height + 2, rotation);
|
||||
|
||||
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_INNER_NE_SW;
|
||||
if (maze_entry & (1 << 2))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_2)
|
||||
sub_98197C(session, image_id, 2, 14, 10, 4, 9, height, 3, 14, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 10))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_10)
|
||||
sub_98197C(session, image_id, 18, 14, 10, 4, 9, height, 19, 14, height + 2, rotation);
|
||||
|
||||
image_id = base_image_id + SPR_MAZE_OFFSET_WALL_INNER_NW_SE;
|
||||
if (maze_entry & (1 << 14))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_14)
|
||||
sub_98197C(session, image_id, 14, 2, 4, 10, 9, height, 14, 3, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 6))
|
||||
if (maze_entry & MAZE_ENTRY_FLAG_6)
|
||||
sub_98197C(session, image_id, 14, 18, 4, 10, 9, height, 14, 19, height + 2, rotation);
|
||||
|
||||
image_id = base_image_id + SPR_MAZE_OFFSET_COLUMN_CORNER;
|
||||
if (maze_entry & (1 << 0 | 1 << 1))
|
||||
if (maze_entry & (MAZE_ENTRY_FLAG_0 | MAZE_ENTRY_FLAG_1))
|
||||
sub_98197C(session, image_id, 0, 0, 1, 1, 9, height, 1, 1, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 4 | 1 << 5))
|
||||
if (maze_entry & (MAZE_ENTRY_FLAG_4 | MAZE_ENTRY_FLAG_5))
|
||||
sub_98197C(session, image_id, 0, 30, 1, 1, 9, height, 1, 30, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 8 | 1 << 9))
|
||||
if (maze_entry & (MAZE_ENTRY_FLAG_8 | MAZE_ENTRY_FLAG_9))
|
||||
sub_98197C(session, image_id, 30, 30, 1, 1, 9, height, 30, 30, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 12 | 1 << 13))
|
||||
if (maze_entry & (MAZE_ENTRY_FLAG_12 | MAZE_ENTRY_FLAG_13))
|
||||
sub_98197C(session, image_id, 30, 0, 1, 1, 9, height, 30, 1, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 0 | 1 << 13 | 1 << 14))
|
||||
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_TOP_LEFT, 14, 0, 2, 1, 9, height, 15, 1, height + 2,
|
||||
rotation);
|
||||
|
||||
if (maze_entry & (1 << 5 | 1 << 6 | 1 << 8))
|
||||
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_BOTTOM_RIGHT, 14, 30, 2, 1, 9, height, 15, 30, height + 2,
|
||||
rotation);
|
||||
if (maze_entry & (MAZE_ENTRY_FLAG_0 | MAZE_ENTRY_FLAG_13 | MAZE_ENTRY_FLAG_14))
|
||||
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_TOP_LEFT, 14, 0, 2, 1, 9, height, 15, 1, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 1 | 1 << 2 | 1 << 4))
|
||||
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_TOP_RIGHT, 0, 14, 1, 2, 9, height, 1, 15, height + 2,
|
||||
rotation);
|
||||
|
||||
if (maze_entry & (1 << 9 | 1 << 10 | 1 << 12))
|
||||
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_BOTTOM_LEFT, 30, 14, 1, 2, 9, height, 30, 15, height + 2,
|
||||
rotation);
|
||||
if (maze_entry & (MAZE_ENTRY_FLAG_5 | MAZE_ENTRY_FLAG_6 | MAZE_ENTRY_FLAG_8))
|
||||
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_BOTTOM_RIGHT, 14, 30, 2, 1, 9, height, 15, 30, height + 2, rotation);
|
||||
|
||||
if (maze_entry & (1 << 2 | 1 << 6 | 1 << 10 | 1 << 14))
|
||||
{
|
||||
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_CENTRE, 14, 14, 2, 2, 8, height, 15, 15, height + 2,
|
||||
rotation);
|
||||
|
||||
if (maze_entry & (MAZE_ENTRY_FLAG_1 | MAZE_ENTRY_FLAG_2 | MAZE_ENTRY_FLAG_4))
|
||||
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_TOP_RIGHT, 0, 14, 1, 2, 9, height, 1, 15, height + 2, rotation);
|
||||
|
||||
|
||||
if (maze_entry & (MAZE_ENTRY_FLAG_9 | MAZE_ENTRY_FLAG_10 | MAZE_ENTRY_FLAG_12))
|
||||
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_BOTTOM_LEFT, 30, 14, 1, 2, 9, height, 30, 15, height + 2, rotation);
|
||||
|
||||
|
||||
if (maze_entry & (MAZE_ENTRY_FLAG_2 | MAZE_ENTRY_FLAG_6 | MAZE_ENTRY_FLAG_10 | MAZE_ENTRY_FLAG_14)) {
|
||||
sub_98197C(session, base_image_id + SPR_MAZE_OFFSET_COLUMN_CENTRE, 14, 14, 2, 2, 8, height, 15, 15, height + 2, rotation);
|
||||
|
||||
paint_util_set_segment_support_height(session, SEGMENT_C4, height + 12, 0x20);
|
||||
}
|
||||
|
|
|
@ -228,6 +228,25 @@ enum {
|
|||
STATION_VARIANT_TALL,
|
||||
};
|
||||
|
||||
enum {
|
||||
MAZE_ENTRY_FLAG_0 = (1 << 0),
|
||||
MAZE_ENTRY_FLAG_1 = (1 << 1),
|
||||
MAZE_ENTRY_FLAG_2 = (1 << 2),
|
||||
MAZE_ENTRY_FLAG_3 = (1 << 3),
|
||||
MAZE_ENTRY_FLAG_4 = (1 << 4),
|
||||
MAZE_ENTRY_FLAG_5 = (1 << 5),
|
||||
MAZE_ENTRY_FLAG_6 = (1 << 6),
|
||||
MAZE_ENTRY_FLAG_7 = (1 << 7),
|
||||
MAZE_ENTRY_FLAG_8 = (1 << 8),
|
||||
MAZE_ENTRY_FLAG_9 = (1 << 10),
|
||||
MAZE_ENTRY_FLAG_10 = (1 << 10),
|
||||
MAZE_ENTRY_FLAG_11 = (1 << 11),
|
||||
MAZE_ENTRY_FLAG_12 = (1 << 12),
|
||||
MAZE_ENTRY_FLAG_13 = (1 << 13),
|
||||
MAZE_ENTRY_FLAG_14 = (1 << 14),
|
||||
MAZE_ENTRY_FLAG_15 = (1 << 15),
|
||||
};
|
||||
|
||||
extern const uint32 floorSpritesCork[];
|
||||
|
||||
extern const uint32 fenceSpritesRope[];
|
||||
|
|
Loading…
Reference in New Issue