diff --git a/src/ride/track_data.c b/src/ride/track_data.c index e2a0056088..e9fe888baf 100644 --- a/src/ride/track_data.c +++ b/src/ride/track_data.c @@ -5491,7 +5491,7 @@ const uint32 RideTypeTrackPaintFunctionsOld[91] = { 0, // RIDE_TYPE_SPIRAL_SLIDE 0x0074A668, // RIDE_TYPE_GO_KARTS 0x0074DDEC, // RIDE_TYPE_LOG_FLUME - 0x0075745C, // RIDE_TYPE_RIVER_RAPIDS + 0, // RIDE_TYPE_RIVER_RAPIDS 0, // RIDE_TYPE_DODGEMS 0x008A83E0, // RIDE_TYPE_PIRATE_SHIP 0x00760070, // RIDE_TYPE_SWINGING_INVERTER_SHIP @@ -5586,7 +5586,7 @@ const TRACK_PAINT_FUNCTION_GETTER RideTypeTrackPaintFunctions[91] = { get_track_paint_function_spiral_slide, // RIDE_TYPE_SPIRAL_SLIDE 0, // RIDE_TYPE_GO_KARTS 0, // RIDE_TYPE_LOG_FLUME - 0, // RIDE_TYPE_RIVER_RAPIDS + get_track_paint_function_river_rapids, // RIDE_TYPE_RIVER_RAPIDS get_track_paint_function_dodgems, // RIDE_TYPE_DODGEMS 0, // RIDE_TYPE_PIRATE_SHIP 0, // RIDE_TYPE_SWINGING_INVERTER_SHIP diff --git a/src/ride/track_paint.h b/src/ride/track_paint.h index e26207f855..346f213b42 100644 --- a/src/ride/track_paint.h +++ b/src/ride/track_paint.h @@ -81,6 +81,7 @@ TRACK_PAINT_FUNCTION get_track_paint_function_observation_tower(int trackType, i TRACK_PAINT_FUNCTION get_track_paint_function_chairlift(int trackType, int direction); TRACK_PAINT_FUNCTION get_track_paint_function_maze(int trackType, int direction); TRACK_PAINT_FUNCTION get_track_paint_function_spiral_slide(int trackType, int direction); +TRACK_PAINT_FUNCTION get_track_paint_function_river_rapids(int trackType, int direction); TRACK_PAINT_FUNCTION get_track_paint_function_dodgems(int trackType, int direction); TRACK_PAINT_FUNCTION get_track_paint_function_ferris_wheel(int trackType, int direction); TRACK_PAINT_FUNCTION get_track_paint_function_3d_cinema(int trackType, int direction); diff --git a/src/ride/water/river_rapids.c b/src/ride/water/river_rapids.c index a78994d826..b3f713cd82 100644 --- a/src/ride/water/river_rapids.c +++ b/src/ride/water/river_rapids.c @@ -21,6 +21,8 @@ #include "../../paint/paint.h" #include "../vehicle_paint.h" #include "../../game.h" +#include "../track_paint.h" +#include "../track.h" // 0x0099279E: static const vehicle_boundbox _riverRapidsBoundbox[] = { @@ -100,3 +102,136 @@ void vehicle_visual_river_rapids(int x, int imageDirection, int y, int z, rct_ve vehicle_visual_splash_effect(z, vehicle, vehicleEntry); } + +/** rct2: 0x */ +static void paint_river_rapids_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_track_left_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_track_right_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_track_waterfall(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_track_rapids(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_track_on_ride_photo(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** rct2: 0x */ +static void paint_river_rapids_track_whirlpool(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ + +} + +/** + * rct2: 0x0075745C + **/ +TRACK_PAINT_FUNCTION get_track_paint_function_river_rapids(int trackType, int direction) +{ + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_river_rapids_track_flat; + + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_river_rapids_station; + + case TRACK_ELEM_25_DEG_UP: + return paint_river_rapids_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_river_rapids_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_river_rapids_track_25_deg_up_to_flat; + + case TRACK_ELEM_25_DEG_DOWN: + return paint_river_rapids_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_river_rapids_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_river_rapids_track_25_deg_down_to_flat; + + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return paint_river_rapids_track_left_quarter_turn_1_tile; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return paint_river_rapids_track_right_quarter_turn_1_tile; + + case TRACK_ELEM_WATERFALL: + return paint_river_rapids_track_waterfall; + + case TRACK_ELEM_RAPIDS: + return paint_river_rapids_track_rapids; + + case TRACK_ELEM_ON_RIDE_PHOTO: + return paint_river_rapids_track_on_ride_photo; + + case TRACK_ELEM_WHIRLPOOL: + return paint_river_rapids_track_whirlpool; + } + + return NULL; +}