1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-24 00:03:11 +01:00

Merge pull request #4544 from IntelOrca/paint/wooden-rc

Paint Setup: Wooden Roller Coaster
This commit is contained in:
Ted John
2016-10-10 19:05:59 +01:00
committed by GitHub
4 changed files with 8793 additions and 1 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -6293,7 +6293,7 @@ const TRACK_PAINT_FUNCTION_GETTER RideTypeTrackPaintFunctions[91] = {
get_track_paint_function_circus_show, // RIDE_TYPE_CIRCUS_SHOW
get_track_paint_function_ghost_train, // RIDE_TYPE_GHOST_TRAIN
get_track_paint_function_twister_rc, // RIDE_TYPE_TWISTER_ROLLER_COASTER
0, // RIDE_TYPE_WOODEN_ROLLER_COASTER
get_track_paint_function_wooden_rc, // RIDE_TYPE_WOODEN_ROLLER_COASTER
get_track_paint_function_side_friction_rc, // RIDE_TYPE_SIDE_FRICTION_ROLLER_COASTER
get_track_paint_function_wild_mouse, // RIDE_TYPE_WILD_MOUSE
get_track_paint_function_multi_dimension_rc, // RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER

View File

@@ -1600,6 +1600,43 @@ void track_paint_util_spinning_tunnel_paint(sint8 thickness, sint16 height, uint
}
}
void track_paint_util_onride_photo_small_paint(uint8 direction, sint32 height, rct_map_element *mapElement)
{
static const uint32 imageIds[4][3] =
{
{ SPR_ON_RIDE_PHOTO_SIGN_SMALL_SW_NE, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_S, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_S },
{ SPR_ON_RIDE_PHOTO_SIGN_SMALL_NW_SE, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_W, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_W },
{ SPR_ON_RIDE_PHOTO_SIGN_SMALL_NE_SW, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_N, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_N },
{ SPR_ON_RIDE_PHOTO_SIGN_SMALL_SE_NW, SPR_ON_RIDE_PHOTO_CAMERA_SMALL_E, SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_E },
};
bool takingPhoto = (mapElement->properties.track.sequence & 0xF0) != 0;
uint32 imageId = imageIds[direction][0] | gTrackColours[SCHEME_MISC];
uint32 flashImageId = imageIds[direction][takingPhoto ? 2 : 1] | gTrackColours[SCHEME_MISC];
switch (direction) {
case 0:
sub_98196C(imageId, 26, 0, 1, 1, 19, height, get_current_rotation());
sub_98196C(imageId, 26, 31, 1, 1, 19, height, get_current_rotation());
sub_98196C(flashImageId, 6, 0, 1, 1, 19, height, get_current_rotation());
break;
case 1:
sub_98196C(imageId, 0, 6, 1, 1, 19, height, get_current_rotation());
sub_98196C(imageId, 31, 6, 1, 1, 19, height, get_current_rotation());
sub_98196C(flashImageId, 0, 26, 1, 1, 19, height, get_current_rotation());
break;
case 2:
sub_98196C(imageId, 6, 0, 1, 1, 19, height, get_current_rotation());
sub_98196C(imageId, 6, 31, 1, 1, 19, height, get_current_rotation());
sub_98196C(flashImageId, 26, 31, 1, 1, 19, height, get_current_rotation());
break;
case 3:
sub_98196C(imageId, 0, 26, 1, 1, 19, height, get_current_rotation());
sub_98196C(imageId, 31, 26, 1, 1, 19, height, get_current_rotation());
sub_98196C(flashImageId, 31, 6, 1, 1, 19, height, get_current_rotation());
break;
}
}
void track_paint_util_onride_photo_paint(uint8 direction, sint32 height, rct_map_element *mapElement)
{
static const uint32 imageIds[4][3] =

View File

@@ -160,6 +160,19 @@ enum {
SPR_STATION_BASE_C_NW_SE = 22431,
SPR_STATION_BASE_D = 22432,
SPR_ON_RIDE_PHOTO_CAMERA_SMALL_N = 23485,
SPR_ON_RIDE_PHOTO_CAMERA_SMALL_E = 23486,
SPR_ON_RIDE_PHOTO_CAMERA_SMALL_S = 23487,
SPR_ON_RIDE_PHOTO_CAMERA_SMALL_W = 23488,
SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_N = 23489,
SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_E = 23490,
SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_S = 23491,
SPR_ON_RIDE_PHOTO_CAMERA_FLASH_SMALL_W = 23492,
SPR_ON_RIDE_PHOTO_SIGN_SMALL_SW_NE = 23493,
SPR_ON_RIDE_PHOTO_SIGN_SMALL_NW_SE = 23494,
SPR_ON_RIDE_PHOTO_SIGN_SMALL_NE_SW = 23495,
SPR_ON_RIDE_PHOTO_SIGN_SMALL_SE_NW = 23496,
SPR_ON_RIDE_PHOTO_CAMERA_N = 25615,
SPR_ON_RIDE_PHOTO_CAMERA_E = 25616,
SPR_ON_RIDE_PHOTO_CAMERA_S = 25617,
@@ -274,6 +287,7 @@ void track_paint_util_left_quarter_turn_3_tiles_tunnel(sint16 height, uint8 tunn
void track_paint_util_left_quarter_turn_1_tile_paint(sint8 thickness, sint16 height, sint16 boundBoxZOffset, int direction, uint32 colourFlags, const uint32 * sprites, uint8 rotation);
void track_paint_util_left_quarter_turn_1_tile_tunnel(sint16 height, uint8 direction, uint8 trackSequence);
void track_paint_util_spinning_tunnel_paint(sint8 thickness, sint16 height, uint8 direction, uint8 rotation);
void track_paint_util_onride_photo_small_paint(uint8 direction, sint32 height, rct_map_element *mapElement);
void track_paint_util_onride_photo_paint(uint8 direction, sint32 height, rct_map_element *mapElement);
void track_paint_util_right_helix_up_small_quarter_tiles_paint(const sint8 thickness[2], sint16 height, int direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][3][2], const rct_xy16 offsets[4][3][2], const rct_xy16 boundsLengths[4][3][2], const rct_xyz16 boundsOffsets[4][3][2], uint8 rotation);
void track_paint_util_right_helix_up_large_quarter_tiles_paint(const sint8 thickness[2], sint16 height, int direction, uint8 trackSequence, uint32 colourFlags, const uint32 sprites[4][5][2], const rct_xy16 offsets[4][5][2], const rct_xy16 boundsLengths[4][5][2], const rct_xyz16 boundsOffsets[4][5][2], uint8 rotation);
@@ -327,6 +341,7 @@ TRACK_PAINT_FUNCTION get_track_paint_function_circus_show(int trackType, int dir
TRACK_PAINT_FUNCTION get_track_paint_function_ghost_train(int trackType, int direction);
TRACK_PAINT_FUNCTION get_track_paint_function_twister_rc(int trackType, int direction);
TRACK_PAINT_FUNCTION get_track_paint_function_side_friction_rc(int trackType, int direction);
TRACK_PAINT_FUNCTION get_track_paint_function_wooden_rc(int trackType, int direction);
TRACK_PAINT_FUNCTION get_track_paint_function_wild_mouse(int trackType, int direction);
TRACK_PAINT_FUNCTION get_track_paint_function_multi_dimension_rc(int trackType, int direction);
TRACK_PAINT_FUNCTION get_track_paint_function_flying_rc(int trackType, int direction);