From 7d1e1671ed8967e59c831876ca6ade575a22e202 Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Thu, 16 Jun 2016 23:37:44 +0200 Subject: [PATCH] Integrate mini golf variables --- src/ride/gentle/mini_golf.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/ride/gentle/mini_golf.c b/src/ride/gentle/mini_golf.c index 189a647ed1..3ded36af08 100644 --- a/src/ride/gentle/mini_golf.c +++ b/src/ride/gentle/mini_golf.c @@ -371,6 +371,28 @@ static const uint32 mini_golf_track_sprites_hole_e[][3][2] = { }, }; +static const uint8 byte_933471[] = {0, 1, 2, 3, 4, 5, 4}; +static const uint8 byte_933478[] = {12, 13, 14, 15, 15}; +static const uint8 byte_93347D[] = {6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 9, 7}; +static const uint8 byte_93348D[] = {12, 13, 14, 15, 14, 13, 12, 15}; +static const uint8 byte_933495[] = {16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 4}; +static const uint8 byte_9334A5[] = {15, 14, 13, 12, 10}; +static const uint8 byte_9334AA[] = {10, 11, 11, 11, 11, 11, 10, 10, 10, 10, 15}; +static const uint8 byte_9334B5[] = {31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 33, 33, 33, 33, 34, 10}; +static const uint8 byte_9334C5[] = {35, 36, 36, 36, 36, 36, 35, 35, 35, 35, 0}; + +static const uint8 * off_8B8F74[] = { + byte_933471, + byte_933478, + byte_93347D, + byte_93348D, + byte_933495, + byte_9334A5, + byte_9334AA, + byte_9334B5, + byte_9334C5, +}; + static paint_struct * mini_golf_paint_util_7c( uint8 direction, uint32 image_id, @@ -984,8 +1006,8 @@ void vehicle_visual_mini_golf_player(int x, int imageDirection, int y, int z, rc rct_ride_entry *rideType = get_ride_entry(get_ride(vehicle->ride)->subtype); rct_sprite *sprite = &g_sprite_list[vehicle->peep[0]]; - uint32 eax = RCT2_ADDRESS(0x008B8F74, uint32)[vehicle->var_D4]; - uint32 ebx = (RCT2_GLOBAL(eax + vehicle->var_C5, uint8) << 2) + (imageDirection >> 3); + uint8 frame = off_8B8F74[vehicle->var_D4][vehicle->var_C5]; + uint32 ebx = (frame << 2) + (imageDirection >> 3); uint32 image_id = rideType->vehicles[0].base_image_id + 1 + ebx; uint32 peep_palette = sprite->peep.tshirt_colour << 19 | sprite->peep.trousers_colour << 24 | 0x0A0000000;