(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 f9feac8607
commit b824b27fd6
2 changed files with 8 additions and 3 deletions

View File

@ -3982,6 +3982,7 @@ STR_JUST_DATE_SHORT :{DATE_SHORT}
STR_JUST_DATE_LONG :{DATE_LONG}
STR_JUST_DATE_ISO :{DATE_ISO}
STR_JUST_STRING :{STRING}
STR_JUST_STRING_SPACE_STRING :{STRING} {STRING}
STR_JUST_RAW_STRING :{RAW_STRING}
# Slightly 'raw' stringcodes with colour or size

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;
}
}