(svn r18115) -Codechange: prevent RTL glitch with refitting and cargo suffix

This commit is contained in:
rubidium
2009-11-16 13:19:39 +00:00
parent 2d938da8c9
commit 1ee7252296
2 changed files with 8 additions and 3 deletions

View File

@@ -251,13 +251,17 @@ static void DrawVehicleRefitWindow(const RefitList *list, int sel, uint pos, uin
TextColour colour = (sel == (int)i) ? TC_WHITE : TC_BLACK;
RefitOption *refit = &list->items[i];
/* Draw the cargo name */
int last_x = DrawString(r.left + WD_MATRIX_LEFT, r.right - WD_MATRIX_RIGHT, y, CargoSpec::Get(refit->cargo)->name, colour);
/* Get the cargo name */
SetDParam(0, CargoSpec::Get(refit->cargo)->name);
/* If the callback succeeded, draw the cargo suffix */
if (refit->value != CALLBACK_FAILED) {
DrawString(last_x + 1, r.right - WD_MATRIX_RIGHT, y, GetGRFStringID(GetEngineGRFID(refit->engine), 0xD000 + refit->value), colour);
SetDParam(1, GetGRFStringID(GetEngineGRFID(refit->engine), 0xD000 + refit->value));
DrawString(r.left + WD_MATRIX_LEFT, r.right - WD_MATRIX_RIGHT, y, STR_JUST_STRING_SPACE_STRING, colour);
} else {
DrawString(r.left + WD_MATRIX_LEFT, r.right - WD_MATRIX_RIGHT, y, STR_JUST_STRING, colour);
}
y += delta;
}
}