mirror of https://github.com/OpenRCT2/OpenRCT2.git
Extract side-drawing functions
This commit is contained in:
parent
22b95ef515
commit
12da493869
|
@ -1782,6 +1782,14 @@ uint32 viewport_surface_paint_setup_get_ebx(rct_map_element *mapElement, int cl)
|
||||||
return ebx | di;
|
return ebx | di;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum edge
|
||||||
|
{
|
||||||
|
EDGE_BOTTOMLEFT,
|
||||||
|
EDGE_BOTTOMRIGHT,
|
||||||
|
EDGE_TOPLEFT,
|
||||||
|
EDGE_TOPRIGHT
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* rct: 0x0065E9FC
|
* rct: 0x0065E9FC
|
||||||
*/
|
*/
|
||||||
|
@ -1807,6 +1815,42 @@ void viewport_surface_smooth_east_edge() {
|
||||||
RCT2_CALLPROC_EBPSAFE(0x0065E946);
|
RCT2_CALLPROC_EBPSAFE(0x0065E946);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void viewport_surface_draw_land_side(enum edge edge, uint16 height)
|
||||||
|
{
|
||||||
|
switch (edge) {
|
||||||
|
case EDGE_BOTTOMLEFT:
|
||||||
|
RCT2_CALLPROC_X(0x65EB7D, 0x99999999, 0xAAAAAAAA, 0xBBBBBBBB, height / 16, 0xDDDDDDDD, 0, 0);
|
||||||
|
break;
|
||||||
|
case EDGE_BOTTOMRIGHT:
|
||||||
|
RCT2_CALLPROC_X(0x65F0D8, 0x99999999, 0xAAAAAAAA, 0xBBBBBBBB, height / 16, 0xDDDDDDDD, 0, 0);
|
||||||
|
break;
|
||||||
|
case EDGE_TOPLEFT:
|
||||||
|
RCT2_CALLPROC_X(0x65F63B, 0x99999999, 0xAAAAAAAA, 0xBBBBBBBB, height / 16, 0xDDDDDDDD, 0, 0);
|
||||||
|
break;
|
||||||
|
case EDGE_TOPRIGHT:
|
||||||
|
RCT2_CALLPROC_X(0x65F77D, 0x99999999, 0xAAAAAAAA, 0xBBBBBBBB, height / 16, 0xDDDDDDDD, 0, 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void viewport_surface_draw_water_side(enum edge edge, uint16 height)
|
||||||
|
{
|
||||||
|
switch (edge) {
|
||||||
|
case EDGE_BOTTOMLEFT:
|
||||||
|
RCT2_CALLPROC_X(0x65F8B9, 0x99999999, 0, 0xBBBBBBBB, height / 16, 0xDDDDDDDD, 0, 0);
|
||||||
|
break;
|
||||||
|
case EDGE_BOTTOMRIGHT:
|
||||||
|
RCT2_CALLPROC_X(0x65FE26, 0x99999999, 0, 0xBBBBBBBB, height / 16, 0xDDDDDDDD, 0, 0);
|
||||||
|
break;
|
||||||
|
case EDGE_TOPLEFT:
|
||||||
|
RCT2_CALLPROC_X(0x66039B, 0x99999999, 0, 0xBBBBBBBB, height / 16, 0xDDDDDDDD, 0, 0);
|
||||||
|
break;
|
||||||
|
case EDGE_TOPRIGHT:
|
||||||
|
RCT2_CALLPROC_X(0x6604F1, 0x99999999, 0, 0xBBBBBBBB, height / 16, 0xDDDDDDDD, 0, 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* rct2: 68818E
|
* rct2: 68818E
|
||||||
*
|
*
|
||||||
|
@ -2274,14 +2318,10 @@ void viewport_surface_paint_setup(uint8 direction, uint16 height, rct_map_elemen
|
||||||
RCT2_GLOBAL(0x009E2EAE + i, uint32) = RCT2_GLOBAL(0x009E30B6 + i, uint32);
|
RCT2_GLOBAL(0x009E2EAE + i, uint32) = RCT2_GLOBAL(0x009E30B6 + i, uint32);
|
||||||
}
|
}
|
||||||
|
|
||||||
RCT2_CALLPROC_X(0x65F63B, 0x99999999, 0xAAAAAAAA, 0xBBBBBBBB, height / 16, 0xDDDDDDDD, 0, 0);
|
viewport_surface_draw_land_side(EDGE_TOPLEFT, height);
|
||||||
RCT2_CALLPROC_X(0x65F77D, 0x99999999, 0xAAAAAAAA, 0xBBBBBBBB, height / 16, 0xDDDDDDDD, 0, 0);
|
viewport_surface_draw_land_side(EDGE_TOPRIGHT, height);
|
||||||
RCT2_CALLPROC_X(0x65EB7D, 0x99999999, 0xAAAAAAAA, 0xBBBBBBBB, height / 16, 0xDDDDDDDD, 0, 0);
|
viewport_surface_draw_land_side(EDGE_BOTTOMLEFT, height);
|
||||||
RCT2_CALLPROC_X(0x65F0D8, 0x99999999, 0xAAAAAAAA, 0xBBBBBBBB, height / 16, 0xDDDDDDDD, 0, 0);
|
viewport_surface_draw_land_side(EDGE_BOTTOMRIGHT, height);
|
||||||
}
|
|
||||||
|
|
||||||
if ((RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_VIEWPORT_FLAGS, uint16) & VIEWPORT_FLAG_HIDE_VERTICAL) == 0) {
|
|
||||||
// loc_66122C:
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RCT2_GLOBAL(0x009E3298, uint16) = 0;
|
RCT2_GLOBAL(0x009E3298, uint16) = 0;
|
||||||
|
@ -2311,10 +2351,10 @@ void viewport_surface_paint_setup(uint8 direction, uint16 height, rct_map_elemen
|
||||||
RCT2_GLOBAL(0x009E30B6 + i, uint32) = RCT2_GLOBAL(0x009E2EAE + i, uint32);
|
RCT2_GLOBAL(0x009E30B6 + i, uint32) = RCT2_GLOBAL(0x009E2EAE + i, uint32);
|
||||||
}
|
}
|
||||||
|
|
||||||
RCT2_CALLPROC_X(0x66039B, 0x99999999, 0, 0xBBBBBBBB, dx / 16, 0xDDDDDDDD, 0, 0);
|
viewport_surface_draw_water_side(EDGE_TOPLEFT, height);
|
||||||
RCT2_CALLPROC_X(0x6604F1, 0x99999999, 0, 0xBBBBBBBB, dx / 16, 0xDDDDDDDD, 0, 0);
|
viewport_surface_draw_water_side(EDGE_TOPRIGHT, height);
|
||||||
RCT2_CALLPROC_X(0x65F8B9, 0x99999999, 0, 0xBBBBBBBB, dx / 16, 0xDDDDDDDD, 0, 0);
|
viewport_surface_draw_water_side(EDGE_BOTTOMLEFT, height);
|
||||||
RCT2_CALLPROC_X(0x65FE26, 0x99999999, 0, 0xBBBBBBBB, dx / 16, 0xDDDDDDDD, 0, 0);
|
viewport_surface_draw_water_side(EDGE_BOTTOMRIGHT, height);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue