mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r10252) -Fix: never overflow when applying exchange rates before drawing the amount of money.
This commit is contained in:
parent
3fe19238b2
commit
02154f38b8
|
@ -340,15 +340,17 @@ static char *FormatTinyDate(char *buff, Date date, const char* last)
|
|||
return FormatString(buff, GetStringPtr(STR_DATE_TINY), args, 0, last);
|
||||
}
|
||||
|
||||
static char *FormatGenericCurrency(char *buff, const CurrencySpec *spec, int64 number, bool compact, const char* last)
|
||||
static char *FormatGenericCurrency(char *buff, const CurrencySpec *spec, Money number, bool compact, const char* last)
|
||||
{
|
||||
const char* multiplier = "";
|
||||
char buf[40];
|
||||
char* p;
|
||||
int j;
|
||||
|
||||
/* multiply by exchange rate */
|
||||
number *= spec->rate;
|
||||
/* Multiply by exchange rate, but do it safely. */
|
||||
CommandCost cs(number);
|
||||
cs.MultiplyCost(spec->rate);
|
||||
number = cs.GetCost();
|
||||
|
||||
/* convert from negative */
|
||||
if (number < 0) {
|
||||
|
|
Loading…
Reference in New Issue