From dc4eed904296d577f81f1f7d9752613ed0afabfa Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Sun, 22 May 2016 11:09:07 +0200 Subject: [PATCH] Set up functions for drawing go-karts --- src/ride/thrill/go_karts.c | 95 ++++++++++++++++++++++++++++++++++++++ src/ride/track_data.c | 2 +- src/ride/track_paint.h | 1 + 3 files changed, 97 insertions(+), 1 deletion(-) diff --git a/src/ride/thrill/go_karts.c b/src/ride/thrill/go_karts.c index 846fd9695d..b7205b6996 100644 --- a/src/ride/thrill/go_karts.c +++ b/src/ride/thrill/go_karts.c @@ -13,3 +13,98 @@ * A full copy of the GNU General Public License can be found in licence.txt *****************************************************************************/ #pragma endregion + +#include "../../common.h" +#include "../track_paint.h" +#include "../track.h" +#include "../vehicle_paint.h" +#include "../../interface/viewport.h" +#include "../../paint/paint.h" +#include "../../paint/supports.h" + +/** rct2: 0x */ +static void paint_go_karts_track_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ +} + +/** rct2: 0x */ +static void paint_go_karts_track_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ +} + +/** rct2: 0x */ +static void paint_go_karts_track_flat_to_25_deg_up(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ +} + +/** rct2: 0x */ +static void paint_go_karts_track_25_deg_up_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ +} + +/** rct2: 0x */ +static void paint_go_karts_track_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ +} + +/** rct2: 0x */ +static void paint_go_karts_track_flat_to_25_deg_down(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ +} + +/** rct2: 0x */ +static void paint_go_karts_track_25_deg_down_to_flat(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ +} + +/** rct2: 0x */ +static void paint_go_karts_station(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ +} + +/** rct2: 0x */ +static void paint_go_karts_track_left_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ +} + +/** rct2: 0x */ +static void paint_go_karts_track_right_quarter_turn_1_tile(uint8 rideIndex, uint8 trackSequence, uint8 direction, int height, rct_map_element * mapElement) +{ +} + +/** + * rct2: 0x0074A668 + */ +TRACK_PAINT_FUNCTION get_track_paint_function_go_karts(int trackType, int direction) +{ + switch (trackType) { + case TRACK_ELEM_FLAT: + return paint_go_karts_track_flat; + + case TRACK_ELEM_END_STATION: + case TRACK_ELEM_BEGIN_STATION: + case TRACK_ELEM_MIDDLE_STATION: + return paint_go_karts_station; + + case TRACK_ELEM_25_DEG_UP: + return paint_go_karts_track_25_deg_up; + case TRACK_ELEM_FLAT_TO_25_DEG_UP: + return paint_go_karts_track_flat_to_25_deg_up; + case TRACK_ELEM_25_DEG_UP_TO_FLAT: + return paint_go_karts_track_25_deg_up_to_flat; + + case TRACK_ELEM_25_DEG_DOWN: + return paint_go_karts_track_25_deg_down; + case TRACK_ELEM_FLAT_TO_25_DEG_DOWN: + return paint_go_karts_track_flat_to_25_deg_down; + case TRACK_ELEM_25_DEG_DOWN_TO_FLAT: + return paint_go_karts_track_25_deg_down_to_flat; + + case TRACK_ELEM_LEFT_QUARTER_TURN_1_TILE: + return paint_go_karts_track_left_quarter_turn_1_tile; + case TRACK_ELEM_RIGHT_QUARTER_TURN_1_TILE: + return paint_go_karts_track_right_quarter_turn_1_tile; + } + + return NULL; +} diff --git a/src/ride/track_data.c b/src/ride/track_data.c index d46faf85b5..0c1acecbff 100644 --- a/src/ride/track_data.c +++ b/src/ride/track_data.c @@ -5584,7 +5584,7 @@ const TRACK_PAINT_FUNCTION_GETTER RideTypeTrackPaintFunctions[91] = { 0, // RIDE_TYPE_CORKSCREW_ROLLER_COASTER get_track_paint_function_maze, // RIDE_TYPE_MAZE get_track_paint_function_spiral_slide, // RIDE_TYPE_SPIRAL_SLIDE - 0, // RIDE_TYPE_GO_KARTS + get_track_paint_function_go_karts, // RIDE_TYPE_GO_KARTS 0, // RIDE_TYPE_LOG_FLUME get_track_paint_function_river_rapids, // RIDE_TYPE_RIVER_RAPIDS get_track_paint_function_dodgems, // RIDE_TYPE_DODGEMS diff --git a/src/ride/track_paint.h b/src/ride/track_paint.h index b032a50d6c..df08014e04 100644 --- a/src/ride/track_paint.h +++ b/src/ride/track_paint.h @@ -183,6 +183,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_go_karts(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_pirate_ship(int trackType, int direction);