Tidied up function and labelled.

Unsure when this information is used so not completely convinced this has been done correct.
This commit is contained in:
Duncan Frost 2015-06-25 21:06:50 +01:00
parent 18879e48eb
commit 132236f9c8
3 changed files with 17 additions and 21 deletions

View File

@ -623,27 +623,12 @@ int paint_ride_entry(int flags, int ebx, int ecx, int edx, rct_drawpixelinfo* dp
// 0x6DEB0D
if (!(rideVehicleEntry->var_12 & 0x400)){
int ecx = cur_vehicle_images_offset - rideVehicleEntry->base_image_id;
int num_images = cur_vehicle_images_offset - rideVehicleEntry->base_image_id;
if (rideVehicleEntry->var_12 & 0x2000){
ecx *= 2;
num_images *= 2;
}
int bl, bh, eax = 0;
{
int ebx = rideVehicleEntry->base_image_id;
int edx = 0, esi = 0, ebp = 0, edi = 0;
RCT2_CALLFUNC_X(0x6847BA, &eax, &ebx, &ecx, &edx, &esi, &ebp, &edi);
bl = ebx & 0xFF;
bh = (ebx >> 8) & 0xFF;
}
if (rideVehicleEntry->var_12 & 0x2000){
bl += 16;
}
rideVehicleEntry->var_0E = eax & 0xFF;
rideVehicleEntry->var_0F = bl;
rideVehicleEntry->var_10 = bh;
set_vehicle_type_image_max_sizes(rideVehicleEntry, num_images);
}
uint8 no_positions = *peep_loading_positions++;

View File

@ -4511,7 +4511,7 @@ void ride_all_has_any_track_elements(bool *rideIndexArray)
/* rct2: 0x006847BA */
void sub_6847BA(int base_image_id, int ecx){
void set_vehicle_type_image_max_sizes(rct_ride_type_vehicle* vehicle_type, int num_images){
char bitmap[200][200] = { 0 };
rct_drawpixelinfo dpi = {
@ -4524,8 +4524,8 @@ void sub_6847BA(int base_image_id, int ecx){
.zoom_level = 0
};
for (int i = 0; i < ecx; ++i){
gfx_draw_sprite(&dpi, base_image_id + i, 0, 0, 0);
for (int i = 0; i < num_images; ++i){
gfx_draw_sprite(&dpi, vehicle_type->base_image_id + i, 0, 0, 0);
}
int al = -1;
for (int i = 99; i != 0; --i){
@ -4580,4 +4580,14 @@ void sub_6847BA(int base_image_id, int ecx){
break;
}
bh++;
// Moved from object paint
if (vehicle_type->var_12 & 0x2000){
bl += 16;
}
vehicle_type->var_0E = al;
vehicle_type->var_0F = bl;
vehicle_type->var_10 = bh;
}

View File

@ -826,6 +826,7 @@ void game_command_demolish_ride(int *eax, int *ebx, int *ecx, int *edx, int *esi
void game_command_set_ride_appearance(int *eax, int *ebx, int *ecx, int *edx, int *esi, int *edi, int *ebp);
void game_command_set_ride_price(int *eax, int *ebx, int *ecx, int *edx, int *esi, int *edi, int *ebp);
void ride_clear_for_construction(int rideIndex);
void set_vehicle_type_image_max_sizes(rct_ride_type_vehicle* vehicle_type, int num_images);
int get_var_10E_unk_1(rct_ride* ride);
int get_var_10E_unk_2(rct_ride* ride);