diff options
author | smatz <smatz@openttd.org> | 2009-09-22 13:54:54 +0000 |
---|---|---|
committer | smatz <smatz@openttd.org> | 2009-09-22 13:54:54 +0000 |
commit | 1da745c9ad04aba82c91a6bf69a8ea5ae57ccba7 (patch) | |
tree | 31138e76073053de9304e8b7c53910fc9c4f25ce /src/townname_type.h | |
parent | 665864e5b035189c10de1d545650662f5797f5d5 (diff) | |
download | openttd-1da745c9ad04aba82c91a6bf69a8ea5ae57ccba7.tar.xz |
(svn r17612) -Feature: possibility to choose (randomise or enter custom) town name before its creation (original patch by Terkhen)
Diffstat (limited to 'src/townname_type.h')
-rw-r--r-- | src/townname_type.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/townname_type.h b/src/townname_type.h new file mode 100644 index 000000000..a9b59cd7d --- /dev/null +++ b/src/townname_type.h @@ -0,0 +1,42 @@ +/* $Id$ */ + +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. + */ + +/** @file townname_type.h + * Definition of structures used for generating town names. + */ + +#ifndef TOWNNAME_TYPE_H +#define TOWNNAME_TYPE_H + +#include "newgrf_townname.h" + +/** + * Struct holding a parameters used to generate town name. + * Speeds things up a bit because these values are computed only once per name generation. + */ +struct TownNameParams { + uint32 grfid; ///< newgrf ID (0 if not used) + uint16 type; ///< town name style + + /** + * Initializes this struct from language ID + * @param town_name town name 'language' ID + */ + TownNameParams(byte town_name) + { + extern int _nb_orig_names; + bool grf = town_name >= _nb_orig_names; + this->grfid = grf ? GetGRFTownNameId(town_name - _nb_orig_names) : 0; + this->type = grf ? GetGRFTownNameType(town_name - _nb_orig_names) : SPECSTR_TOWNNAME_START + town_name; + } + + TownNameParams(const struct Town *t); +}; + +#endif /* TOWNNAME_TYPE_H */ |