author | peter1138 |
Tue, 04 Mar 2008 12:15:33 +0000 | |
changeset 9167 | a2b146a9be68 |
parent 8794 | ccb35d65645b |
permissions | -rw-r--r-- |
/* $Id$ */ /** @file newgrf_string_type.h */ #ifndef NEWGRF_STRING_TYPE_H #define NEWGRF_STRING_TYPE_H #include "strings_type.h" /** * A string with the required information to perform a GRF string remapping. */ struct GRFMappedStringID { private: /** The GRF ID associated to the to-be-remapped string */ uint32 grfid; /** The string; when grfid != 0 it should be remapped */ StringID string; public: /** * Create the struct. * @param str the string to store (or remap) * @param grf_id the GRF to remap it with */ GRFMappedStringID(StringID str, uint32 grf_id) : grfid(grf_id), string(str) {} /** * An empty string. */ GRFMappedStringID() {} /** Cast operator, returns the string */ inline operator StringID() const { return string; } /** Assigns the string and resets the GRF ID. */ GRFMappedStringID& operator = (StringID str) { string = str; grfid = 0; return *this; } /** * Map the string. */ void MapString(); }; #endif /* NEWGRF_STRING_TYPE_H */