From f512c5fad01bec84d36ef555b7cebf81a55bea92 Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Sun, 18 Oct 2015 13:18:10 +0100 Subject: [PATCH 1/2] Use correct function call for crashed vehicles --- src/interface/viewport.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/interface/viewport.c b/src/interface/viewport.c index f5806c026b..8aeeabe15b 100644 --- a/src/interface/viewport.c +++ b/src/interface/viewport.c @@ -889,12 +889,8 @@ void viewport_vehicle_paint_setup(rct_vehicle *vehicle, int imageDirection) RCT2_GLOBAL(0x9DEA52, uint16) = 0; RCT2_GLOBAL(0x9DEA54, uint16) = 0; RCT2_GLOBAL(0x9DEA56, uint16) = z + 2; - switch (RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_ROTATION, uint8)) { - case 0: RCT2_CALLPROC_X(0x00686806, 0, ebx, 0, z, 1, 1, 0); break; - case 1: RCT2_CALLPROC_X(0x006869B2, 0, ebx, 0, z, 1, 1, 0); break; - case 2: RCT2_CALLPROC_X(0x00686B6F, 0, ebx, 0, z, 1, 1, 0); break; - case 3: RCT2_CALLPROC_X(0x00686D31, 0, ebx, 0, z, 1, 1, 0); break; - } + sub_98197C(0, 0, ebx, 0, z, 1, 1, RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_ROTATION, uint32)); + return; } if (vehicle->ride_subtype == 0xFF) { From 3ee518bf878fedf6a201418b942caa6a0eed15e4 Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Sun, 18 Oct 2015 14:01:16 +0100 Subject: [PATCH 2/2] Define CableLiftVehicle structure --- src/interface/viewport.c | 2 +- src/ride/ride_data.c | 42 ++++++++++++++++++++++++++++++++++++++++ src/ride/ride_data.h | 2 ++ 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/src/interface/viewport.c b/src/interface/viewport.c index 8aeeabe15b..6adbf8b4d1 100644 --- a/src/interface/viewport.c +++ b/src/interface/viewport.c @@ -894,7 +894,7 @@ void viewport_vehicle_paint_setup(rct_vehicle *vehicle, int imageDirection) } if (vehicle->ride_subtype == 0xFF) { - vehicleEntry = (rct_ride_type_vehicle*)0x009DE232; + vehicleEntry = &CableLiftVehicle; } else { rideEntry = GET_RIDE_ENTRY(vehicle->ride_subtype); vehicleEntry = &rideEntry->vehicles[vehicle->vehicle_type]; diff --git a/src/ride/ride_data.c b/src/ride/ride_data.c index ada6fabd7b..5cd410bfae 100644 --- a/src/ride/ride_data.c +++ b/src/ride/ride_data.c @@ -1251,3 +1251,45 @@ const uint32 ShopItemImage[SHOP_ITEM_COUNT] = { 5109, // SHOP_ITEM_ROAST_SAUSAGE 5110, // SHOP_ITEM_EMPTY_BOWL_BLUE }; + +const rct_ride_type_vehicle CableLiftVehicle = { + .var_00 = 0x1F, + .var_02 = 0, + .var_03 = 0, + .var_04 = 0, + .var_08 = 0, + .var_0A = 0, + .pad_0B = 0, + .var_0C = 0x7, + .var_0E = 0, + .var_0F = 0, + .var_10 = 0, + .var_11 = 0, + .var_12 = 0, + .var_14 = 0, + .var_16 = 1, + .base_image_id = 29110, + .var_1C = 0, + .var_20 = 29142, + .var_24 = 29214, + .var_28 = 0, + .var_2C = 0, + .var_30 = 0, + .var_34 = 0, + .var_38 = 0, + .var_3C = 0, + .var_40 = 0, + .var_44 = 0, + .var_48 = 0, + .var_4C = 0, + .no_vehicle_images = 0, + .no_seating_rows = 0, + .pad_55 = { 0,0xFF,0,0,0 }, + .var_5A = 0, + .pad_5B = 0, + .var_5C = 0, + .var_5D = 0, + .pad_5E = { 1,0xE }, + .var_60 = 0, + .peep_loading_positions = NULL +}; \ No newline at end of file diff --git a/src/ride/ride_data.h b/src/ride/ride_data.h index 7e1c2ccb4d..c8731e6f5b 100644 --- a/src/ride/ride_data.h +++ b/src/ride/ride_data.h @@ -95,4 +95,6 @@ extern const money8 DefaultShopItemPrice[SHOP_ITEM_COUNT]; extern const rct_shop_item_string_types ShopItemStringIds[SHOP_ITEM_COUNT]; extern const uint32 ShopItemImage[SHOP_ITEM_COUNT]; +extern const rct_ride_type_vehicle CableLiftVehicle; + #endif