Start implmenting sub_6847BA.

Possibly finds drawing center for vehicle?
This commit is contained in:
Duncan Frost 2015-06-25 18:12:21 +01:00
parent a0f3438538
commit 18879e48eb
1 changed files with 73 additions and 0 deletions

View File

@ -4508,3 +4508,76 @@ void ride_all_has_any_track_elements(bool *rideIndexArray)
rideIndexArray[it.element->properties.track.ride_index] = true;
}
}
/* rct2: 0x006847BA */
void sub_6847BA(int base_image_id, int ecx){
char bitmap[200][200] = { 0 };
rct_drawpixelinfo dpi = {
.bits = (char*)bitmap,
.x = -100,
.y = -100,
.width = 200,
.height = 200,
.pitch = 0,
.zoom_level = 0
};
for (int i = 0; i < ecx; ++i){
gfx_draw_sprite(&dpi, base_image_id + i, 0, 0, 0);
}
int al = -1;
for (int i = 99; i != 0; --i){
for (int j = 0; j < 200; j++){
if (bitmap[j][100 - i] != 0){
al = i;
break;
}
}
if (al != -1)
break;
for (int j = 0; j < 200; j++){
if (bitmap[j][100 + i] != 0){
al = i;
break;
}
}
if (al != -1)
break;
}
al++;
int bl = -1;
for (int i = 99; i != 0; --i){
for (int j = 0; j < 200; j++){
if (bitmap[100 - i][j] != 0){
bl = i;
break;
}
}
if (bl != -1)
break;
}
bl++;
int bh = -1;
for (int i = 99; i != 0; --i){
for (int j = 0; j < 200; j++){
if (bitmap[100 + i][j] != 0){
bh = i;
break;
}
}
if (bh != -1)
break;
}
bh++;
}