Files @ r2980:c0fb57e5b1da
Branch filter:

Location: cpp/openttd-patchpack/source/currency.h

bjarni
(svn r3555) -Codechange: [Big Endian] removed defining OTTD_ALIGNMENT by default on Big Endian CPUs
this increased speed when reading unaligned data (like strings)
test showed this to increase speed by 5,6% when drawing the mini map on PPC OSX

the tradeoff is that now it will crash if a Big Endian computer don't support unaligned reading
but it should easily fixable in stdafx.h if it turns out to be a problem
/* $Id$ */

#ifndef CURRENCY_H
#define CURRENCY_H

enum {
	CF_NOEURO = 0,
	CF_ISEURO = 1,
};

typedef struct {
	uint16 rate;
	char separator;
	uint16 to_euro;
	char prefix[16];
	char suffix[16];
} CurrencySpec;

extern CurrencySpec _currency_specs[];
extern const StringID _currency_string_list[];

// XXX small hack, but makes the rest of the code a bit nicer to read
#define _custom_currency (_currency_specs[23])
#define _currency ((const CurrencySpec*)&_currency_specs[_opt_ptr->currency])

uint GetMaskOfAllowedCurrencies(void);
void CheckSwitchToEuro(void);

#endif /* CURRENCY_H */