Merge branch 'master' into town_cargo_adj

Conflicts:
	src/settings_gui.cpp
This commit is contained in:
Jonathan G Rennison
2015-08-02 00:04:04 +01:00
940 changed files with 57198 additions and 38591 deletions

View File

@@ -254,7 +254,6 @@ static const IndustryTileTable _tile_table_oil_rig_0[] = {
MK(1, 0, 26),
MK(1, 1, 27),
MK(1, 2, 28),
MK(-4, -5, 255),
MK(-4, -4, 255),
MK(-4, -3, 255),
MK(-4, -2, 255),
@@ -265,9 +264,10 @@ static const IndustryTileTable _tile_table_oil_rig_0[] = {
MK(-4, 3, 255),
MK(-4, 4, 255),
MK(-4, 5, 255),
MK(-3, 5, 255),
MK(-2, 5, 255),
MK(-1, 5, 255),
MK(-4, 6, 255),
MK(-3, 6, 255),
MK(-2, 6, 255),
MK(-1, 6, 255),
MK(0, 6, 255),
MK(1, 6, 255),
MK(2, 6, 255),
@@ -289,9 +289,9 @@ static const IndustryTileTable _tile_table_oil_rig_0[] = {
MK(2, -4, 255),
MK(1, -4, 255),
MK(0, -4, 255),
MK(-1, -5, 255),
MK(-2, -5, 255),
MK(-3, -5, 255),
MK(-1, -4, 255),
MK(-2, -4, 255),
MK(-3, -4, 255),
MK(2, 0, 255),
MKEND
};

View File

@@ -85,7 +85,6 @@ enum StringControlCode {
SCC_HEX,
SCC_BYTES,
SCC_STRING_ID,
SCC_RAW_STRING_POINTER,
SCC_PLURAL_LIST,
SCC_GENDER_LIST,
@@ -141,6 +140,9 @@ enum StringControlCode {
SCC_NEWGRF_PRINT_WORD_POWER, ///< Read 2 bytes from the stack as unsigned power
SCC_NEWGRF_PRINT_WORD_VOLUME_SHORT, ///< Read 2 bytes from the stack as short signed volume
SCC_NEWGRF_PRINT_WORD_WEIGHT_SHORT, ///< Read 2 bytes from the stack as short unsigned weight
SCC_NEWGRF_PRINT_WORD_CARGO_LONG, ///< Read 2 + 2 bytes from the stack as cargo type (translated) and unsigned cargo amount
SCC_NEWGRF_PRINT_WORD_CARGO_SHORT, ///< Read 2 + 2 bytes from the stack as cargo type (translated) and unsigned cargo amount
SCC_NEWGRF_PRINT_WORD_CARGO_TINY, ///< Read 2 + 2 bytes from the stack as cargo type (translated) and unsigned cargo amount
SCC_NEWGRF_PUSH_WORD, ///< Pushes 2 bytes onto the stack
SCC_NEWGRF_UNPRINT, ///< "Unprints" the given number of bytes from the string
SCC_NEWGRF_DISCARD_WORD, ///< Discard the next two bytes

View File

@@ -29,15 +29,15 @@ static const char *_settings_profiles = "easy|medium|hard";
static const char *_news_display = "off|summarized|full";
static const SettingDesc _gameopt_settings[] = {
/* In version 4 a new difficulty setting has been added to the difficulty settings,
* town attitude towards demolishing. Needs special handling because some dimwit thought
* it funny to have the GameDifficulty struct be an array while it is a struct of
* same-sized members
* XXX - To save file-space and since values are never bigger than about 10? only
* save the first 16 bits in the savegame. Question is why the values are still int32
* and why not byte for example?
* 'SLE_FILE_I16 | SLE_VAR_U16' in "diff_custom" is needed to get around SlArray() hack
* for savegames version 0 - though it is an array, it has to go through the byteswap process */
/* In version 4 a new difficulty setting has been added to the difficulty settings,
* town attitude towards demolishing. Needs special handling because some dimwit thought
* it funny to have the GameDifficulty struct be an array while it is a struct of
* same-sized members
* XXX - To save file-space and since values are never bigger than about 10? only
* save the first 16 bits in the savegame. Question is why the values are still int32
* and why not byte for example?
* 'SLE_FILE_I16 | SLE_VAR_U16' in "diff_custom" is needed to get around SlArray() hack
* for savegames version 0 - though it is an array, it has to go through the byteswap process */
[post-amble]
};
[templates]

View File

@@ -0,0 +1,344 @@
/* $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 heightmap_colours.h The colour tables for heightmaps.
*/
/** Height map colours for the green colour scheme, ordered by height. */
static const uint32 _green_map_heights[] = {
MKCOLOUR(0x59595958),
MKCOLOUR(0x59595958),
MKCOLOUR(0x59595959),
MKCOLOUR(0x5959595A),
MKCOLOUR(0x59595A59),
MKCOLOUR(0x59595A5A),
MKCOLOUR(0x595A5959),
MKCOLOUR(0x595A595A),
MKCOLOUR(0x595A5A59),
MKCOLOUR(0x595A5A5A),
MKCOLOUR(0x5A595959),
MKCOLOUR(0x5A59595A),
MKCOLOUR(0x5A595A59),
MKCOLOUR(0x5A595A5A),
MKCOLOUR(0x5A5A5959),
MKCOLOUR(0x5A5A595A),
MKCOLOUR(0x5A5A5A59),
MKCOLOUR(0x5A5A5A5A),
MKCOLOUR(0x5A5A5A5B),
MKCOLOUR(0x5A5A5B5A),
MKCOLOUR(0x5A5A5B5B),
MKCOLOUR(0x5A5B5A5A),
MKCOLOUR(0x5A5B5A5B),
MKCOLOUR(0x5A5B5B5A),
MKCOLOUR(0x5A5B5B5B),
MKCOLOUR(0x5B5A5A5A),
MKCOLOUR(0x5B5A5A5B),
MKCOLOUR(0x5B5A5B5A),
MKCOLOUR(0x5B5A5B5B),
MKCOLOUR(0x5B5B5A5A),
MKCOLOUR(0x5B5B5A5B),
MKCOLOUR(0x5B5B5B5B),
MKCOLOUR(0x5B5B5B5C),
MKCOLOUR(0x5B5B5C5B),
MKCOLOUR(0x5B5B5C5C),
MKCOLOUR(0x5B5C5B5B),
MKCOLOUR(0x5B5C5B5C),
MKCOLOUR(0x5B5C5C5B),
MKCOLOUR(0x5B5C5C5C),
MKCOLOUR(0x5C5B5B5B),
MKCOLOUR(0x5C5B5B5C),
MKCOLOUR(0x5C5B5C5B),
MKCOLOUR(0x5C5B5C5C),
MKCOLOUR(0x5C5C5B5B),
MKCOLOUR(0x5C5C5B5C),
MKCOLOUR(0x5C5C5C5C),
MKCOLOUR(0x5C5C5C5D),
MKCOLOUR(0x5C5C5D5C),
MKCOLOUR(0x5C5C5D5D),
MKCOLOUR(0x5C5D5C5C),
MKCOLOUR(0x5C5D5C5D),
MKCOLOUR(0x5C5D5D5C),
MKCOLOUR(0x5C5D5D5D),
MKCOLOUR(0x5D5C5C5C),
MKCOLOUR(0x5D5C5C5D),
MKCOLOUR(0x5D5C5D5C),
MKCOLOUR(0x5D5C5D5D),
MKCOLOUR(0x5D5D5C5C),
MKCOLOUR(0x5D5D5C5D),
MKCOLOUR(0x5D5D5D5D),
MKCOLOUR(0x5D5D5D5E),
MKCOLOUR(0x5D5D5E5D),
MKCOLOUR(0x5D5D5E5E),
MKCOLOUR(0x5D5E5D5D),
MKCOLOUR(0x5D5E5D5E),
MKCOLOUR(0x5D5E5E5D),
MKCOLOUR(0x5D5E5E5E),
MKCOLOUR(0x5E5D5D5D),
MKCOLOUR(0x5E5D5D5E),
MKCOLOUR(0x5E5D5E5D),
MKCOLOUR(0x5E5D5E5E),
MKCOLOUR(0x5E5D5D5D),
MKCOLOUR(0x5E5D5D5E),
MKCOLOUR(0x5E5E5E5E),
MKCOLOUR(0x5E5E5E5F),
MKCOLOUR(0x5E5E5F5E),
MKCOLOUR(0x5E5E5F5F),
MKCOLOUR(0x5E5F5E5E),
MKCOLOUR(0x5E5F5E5F),
MKCOLOUR(0x5E5F5F5E),
MKCOLOUR(0x5E5F5F5F),
MKCOLOUR(0x5F5E5E5E),
MKCOLOUR(0x5F5E5E5F),
MKCOLOUR(0x5F5E5F5E),
MKCOLOUR(0x5F5E5F5F),
MKCOLOUR(0x5F5F5E5E),
MKCOLOUR(0x5F5F5E5F),
MKCOLOUR(0x5F5F5F5F),
MKCOLOUR(0x5F5F5F1F),
MKCOLOUR(0x5F5F1F5F),
MKCOLOUR(0x5F5F1F1F),
MKCOLOUR(0x5F1F5F1F),
MKCOLOUR(0x5F1F1F1F),
MKCOLOUR(0x1F5F5F5F),
MKCOLOUR(0x1F5F5F1F),
MKCOLOUR(0x1F5F1F5F),
MKCOLOUR(0x1F5F1F1F),
MKCOLOUR(0x1F1F5F5F),
MKCOLOUR(0x1F1F5F1F),
MKCOLOUR(0x1F1F1F5F),
MKCOLOUR(0x1F1F1F1F),
MKCOLOUR(0x1F1F1F27),
MKCOLOUR(0x1F1F271F),
MKCOLOUR(0x1F1F2727),
MKCOLOUR(0x1F271F1F),
MKCOLOUR(0x1F271F27),
MKCOLOUR(0x1F272727),
MKCOLOUR(0x271F1F1F),
MKCOLOUR(0x271F1F27),
MKCOLOUR(0x271F271F),
MKCOLOUR(0x271F2727),
MKCOLOUR(0x27271F1F),
MKCOLOUR(0x27271F27),
MKCOLOUR(0x2727271F),
MKCOLOUR(0x27272727),
};
/** Height map colours for the dark green colour scheme, ordered by height. */
static const uint32 _dark_green_map_heights[] = {
MKCOLOUR(0x60606060),
MKCOLOUR(0x60606061),
MKCOLOUR(0x60606160),
MKCOLOUR(0x60606161),
MKCOLOUR(0x60616060),
MKCOLOUR(0x60616061),
MKCOLOUR(0x60616160),
MKCOLOUR(0x60616161),
MKCOLOUR(0x61606060),
MKCOLOUR(0x61606061),
MKCOLOUR(0x61606160),
MKCOLOUR(0x61606161),
MKCOLOUR(0x61616060),
MKCOLOUR(0x61616061),
MKCOLOUR(0x61616160),
MKCOLOUR(0x61616161),
MKCOLOUR(0x61616162),
MKCOLOUR(0x61616261),
MKCOLOUR(0x61616262),
MKCOLOUR(0x61626161),
MKCOLOUR(0x61626162),
MKCOLOUR(0x61626261),
MKCOLOUR(0x61626262),
MKCOLOUR(0x62616161),
MKCOLOUR(0x62616162),
MKCOLOUR(0x62616261),
MKCOLOUR(0x62616262),
MKCOLOUR(0x62626161),
MKCOLOUR(0x62626162),
MKCOLOUR(0x62626261),
MKCOLOUR(0x62626262),
MKCOLOUR(0x62626263),
MKCOLOUR(0x62626362),
MKCOLOUR(0x62626363),
MKCOLOUR(0x62636262),
MKCOLOUR(0x62636263),
MKCOLOUR(0x62636362),
MKCOLOUR(0x62636363),
MKCOLOUR(0x63626262),
MKCOLOUR(0x63626263),
MKCOLOUR(0x63626362),
MKCOLOUR(0x63626363),
MKCOLOUR(0x63636262),
MKCOLOUR(0x63636263),
MKCOLOUR(0x63636362),
MKCOLOUR(0x63636363),
MKCOLOUR(0x63636364),
MKCOLOUR(0x63636463),
MKCOLOUR(0x63636464),
MKCOLOUR(0x63646363),
MKCOLOUR(0x63646364),
MKCOLOUR(0x63646463),
MKCOLOUR(0x63646464),
MKCOLOUR(0x64636363),
MKCOLOUR(0x64636364),
MKCOLOUR(0x64636463),
MKCOLOUR(0x64636464),
MKCOLOUR(0x64646363),
MKCOLOUR(0x64646364),
MKCOLOUR(0x64646463),
MKCOLOUR(0x64646464),
MKCOLOUR(0x64646465),
MKCOLOUR(0x64646564),
MKCOLOUR(0x64646565),
MKCOLOUR(0x64656464),
MKCOLOUR(0x64656465),
MKCOLOUR(0x64656564),
MKCOLOUR(0x64656565),
MKCOLOUR(0x65646464),
MKCOLOUR(0x65646465),
MKCOLOUR(0x65646564),
MKCOLOUR(0x65646565),
MKCOLOUR(0x65656464),
MKCOLOUR(0x65656465),
MKCOLOUR(0x65656564),
MKCOLOUR(0x65656565),
MKCOLOUR(0x65656566),
MKCOLOUR(0x65656665),
MKCOLOUR(0x65656666),
MKCOLOUR(0x65666565),
MKCOLOUR(0x65666566),
MKCOLOUR(0x65666665),
MKCOLOUR(0x65666666),
MKCOLOUR(0x66656565),
MKCOLOUR(0x66656566),
MKCOLOUR(0x66656665),
MKCOLOUR(0x66656666),
MKCOLOUR(0x66666565),
MKCOLOUR(0x66666566),
MKCOLOUR(0x66666665),
MKCOLOUR(0x66666666),
MKCOLOUR(0x66666667),
MKCOLOUR(0x66666766),
MKCOLOUR(0x66666767),
MKCOLOUR(0x66676666),
MKCOLOUR(0x66676667),
MKCOLOUR(0x66676766),
MKCOLOUR(0x66676767),
MKCOLOUR(0x67676767),
};
/** Height map colours for the violet colour scheme, ordered by height. */
static const uint32 _violet_map_heights[] = {
MKCOLOUR(0x80808080),
MKCOLOUR(0x80808081),
MKCOLOUR(0x80808180),
MKCOLOUR(0x80808181),
MKCOLOUR(0x80818080),
MKCOLOUR(0x80818081),
MKCOLOUR(0x80818180),
MKCOLOUR(0x80818181),
MKCOLOUR(0x81808080),
MKCOLOUR(0x81808081),
MKCOLOUR(0x81808180),
MKCOLOUR(0x81808181),
MKCOLOUR(0x81818080),
MKCOLOUR(0x81818081),
MKCOLOUR(0x81818180),
MKCOLOUR(0x81818181),
MKCOLOUR(0x81818182),
MKCOLOUR(0x81818281),
MKCOLOUR(0x81818282),
MKCOLOUR(0x81828181),
MKCOLOUR(0x81828182),
MKCOLOUR(0x81828281),
MKCOLOUR(0x81828282),
MKCOLOUR(0x82818181),
MKCOLOUR(0x82818182),
MKCOLOUR(0x82818281),
MKCOLOUR(0x82818282),
MKCOLOUR(0x82828181),
MKCOLOUR(0x82828182),
MKCOLOUR(0x82828281),
MKCOLOUR(0x82828282),
MKCOLOUR(0x82828283),
MKCOLOUR(0x82828382),
MKCOLOUR(0x82828383),
MKCOLOUR(0x82838282),
MKCOLOUR(0x82838283),
MKCOLOUR(0x82838382),
MKCOLOUR(0x82838383),
MKCOLOUR(0x83828282),
MKCOLOUR(0x83828283),
MKCOLOUR(0x83828382),
MKCOLOUR(0x83828383),
MKCOLOUR(0x83838282),
MKCOLOUR(0x83838283),
MKCOLOUR(0x83838382),
MKCOLOUR(0x83838383),
MKCOLOUR(0x83838384),
MKCOLOUR(0x83838483),
MKCOLOUR(0x83838484),
MKCOLOUR(0x83848383),
MKCOLOUR(0x83848384),
MKCOLOUR(0x83848483),
MKCOLOUR(0x83848484),
MKCOLOUR(0x84838383),
MKCOLOUR(0x84838384),
MKCOLOUR(0x84838483),
MKCOLOUR(0x84838484),
MKCOLOUR(0x84848383),
MKCOLOUR(0x84848384),
MKCOLOUR(0x84848483),
MKCOLOUR(0x84848484),
MKCOLOUR(0x84848485),
MKCOLOUR(0x84848584),
MKCOLOUR(0x84848585),
MKCOLOUR(0x84858484),
MKCOLOUR(0x84858485),
MKCOLOUR(0x84858584),
MKCOLOUR(0x84858585),
MKCOLOUR(0x85848484),
MKCOLOUR(0x85848485),
MKCOLOUR(0x85848584),
MKCOLOUR(0x85848585),
MKCOLOUR(0x85858484),
MKCOLOUR(0x85858485),
MKCOLOUR(0x85858584),
MKCOLOUR(0x85858585),
MKCOLOUR(0x85858586),
MKCOLOUR(0x85858685),
MKCOLOUR(0x85858686),
MKCOLOUR(0x85868585),
MKCOLOUR(0x85868586),
MKCOLOUR(0x85868685),
MKCOLOUR(0x85868686),
MKCOLOUR(0x85868585),
MKCOLOUR(0x85868586),
MKCOLOUR(0x85868685),
MKCOLOUR(0x85868686),
MKCOLOUR(0x86868585),
MKCOLOUR(0x86868586),
MKCOLOUR(0x86868685),
MKCOLOUR(0x86868686),
MKCOLOUR(0x86868687),
MKCOLOUR(0x86868786),
MKCOLOUR(0x86868787),
MKCOLOUR(0x86878686),
MKCOLOUR(0x86878687),
MKCOLOUR(0x86878786),
MKCOLOUR(0x86878787),
MKCOLOUR(0x87868686),
MKCOLOUR(0x87868687),
MKCOLOUR(0x87868786),
MKCOLOUR(0x87868787),
MKCOLOUR(0x87878686),
MKCOLOUR(0x87878687),
MKCOLOUR(0x87878786),
MKCOLOUR(0x87878787),
};

View File

@@ -9,12 +9,15 @@
[pre-amble]
extern char _config_language_file[MAX_PATH];
static const char *_support8bppmodes = "no|system|hardware";
static const SettingDescGlobVarList _misc_settings[] = {
[post-amble]
};
[templates]
SDTG_LIST = SDTG_LIST($name, $type, $length, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDTG_MMANY = SDTG_MMANY($name, $type, $flags, $guiflags, $var, $def, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $guiflags, $var, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDTG_STR = SDTG_STR($name, $type, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat),
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat),
@@ -48,6 +51,15 @@ var = _fullscreen
def = false
cat = SC_BASIC
[SDTG_OMANY]
name = ""support8bpp""
type = SLE_UINT8
var = _support8bpp
def = 0
max = 2
full = _support8bppmodes
cat = SC_BASIC
[SDTG_STR]
name = ""graphicsset""
type = SLE_STRQ
@@ -287,5 +299,14 @@ min = 0
max = UINT32_MAX
cat = SC_EXPERT
[SDTG_VAR]
name = ""gui_zoom""
type = SLE_UINT8
var = _gui_zoom
def = ZOOM_LVL_OUT_4X
min = ZOOM_LVL_MIN
max = ZOOM_LVL_OUT_4X
cat = SC_BASIC
[SDTG_END]

View File

@@ -59,7 +59,12 @@ static const NIVariable _niv_vehicles[] = {
NIV(0x48, "vehicle type info"),
NIV(0x49, "year of construction"),
NIV(0x4A, "current rail type info"),
NIV(0x4B, "long date of last service"),
NIV(0x4C, "current max speed"),
NIV(0x4D, "position in articulated vehicle"),
NIV(0x60, "count vehicle id occurrences"),
// 0x61 not useful, since it requires register 0x10F
NIV(0x62, "Curvature/position difference to other vehicle"),
NIV_END()
};
@@ -74,7 +79,7 @@ class NIHVehicle : public NIHelper {
/* virtual */ uint Resolve(uint index, uint var, uint param, bool *avail) const
{
Vehicle *v = Vehicle::Get(index);
VehicleResolverObject ro(v->engine_type, v);
VehicleResolverObject ro(v->engine_type, v, VehicleResolverObject::WO_CACHED);
return ro.GetScope(VSG_SCOPE_SELF)->GetVariable(var, param, avail);
}
};
@@ -92,8 +97,8 @@ static const NIFeature _nif_vehicle = {
#define NICS(cb_id, bit) NIC(cb_id, StationSpec, callback_mask, bit)
static const NICallback _nic_stations[] = {
NICS(CBID_STATION_AVAILABILITY, CBM_STATION_AVAIL),
NICS(CBID_STATION_SPRITE_LAYOUT, CBM_NO_BIT),
NICS(CBID_STATION_TILE_LAYOUT, CBM_STATION_SPRITE_LAYOUT),
NICS(CBID_STATION_SPRITE_LAYOUT, CBM_STATION_SPRITE_LAYOUT),
NICS(CBID_STATION_TILE_LAYOUT, CBM_NO_BIT),
NICS(CBID_STATION_ANIM_START_STOP, CBM_NO_BIT),
NICS(CBID_STATION_ANIM_NEXT_FRAME, CBM_STATION_ANIMATION_NEXT_FRAME),
NICS(CBID_STATION_ANIMATION_SPEED, CBM_STATION_ANIMATION_SPEED),
@@ -407,6 +412,8 @@ static const NIVariable _niv_railtypes[] = {
NIV(0x40, "terrain type"),
NIV(0x41, "enhanced tunnels"),
NIV(0x42, "level crossing status"),
NIV(0x43, "construction date"),
NIV(0x44, "town zone"),
NIV_END()
};
@@ -422,7 +429,7 @@ class NIHRailType : public NIHelper {
{
/* There is no unique GRFFile for the tile. Multiple GRFs can define different parts of the railtype.
* However, currently the NewGRF Debug GUI does not display variables depending on the GRF (like 0x7F) anyway. */
RailTypeResolverObject ro(index, TCX_NORMAL, NULL);
RailTypeResolverObject ro(NULL, index, TCX_NORMAL, RTSG_END);
return ro.GetScope(VSG_SCOPE_SELF)->GetVariable(var, param, avail);
}
};

View File

@@ -123,15 +123,28 @@ static const DrawTileSprites _object_hq[] = {
#undef TILE_SPRITE_LINE
#define M(name, size, build_cost_multiplier, clear_cost_multiplier, height, flags) { GRFFilePropsBase<2>(), INVALID_OBJECT_CLASS, name, 0xF, size, 0, 0, build_cost_multiplier, clear_cost_multiplier, flags, {0, 0, 0, 0}, 0, height, 1, true }
#define M(name, size, build_cost_multiplier, clear_cost_multiplier, height, climate, gen_amount, flags) { GRFFilePropsBase<2>(), INVALID_OBJECT_CLASS, name, climate, size, build_cost_multiplier, clear_cost_multiplier, 0, MAX_DAY + 1, flags, {0, 0, 0, 0}, 0, height, 1, gen_amount, true }
/* Climates
* T = Temperate
* A = Sub-Arctic
* S = Sub-Tropic
* Y = Toyland */
#define T 1
#define A 2
#define S 4
#define Y 8
/** Specification of the original object structures. */
extern const ObjectSpec _original_objects[] = {
M(STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER, 0x11, 0, 0, 10, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_SCENEDIT),
M(STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE, 0x11, 0, 0, 8, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_SCENEDIT),
M(STR_TOWN_BUILDING_NAME_STATUE_1, 0x11, 0, 0, 5, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_GAME | OBJECT_FLAG_ONLY_IN_SCENEDIT), // Yes, we disallow building this everywhere. Happens in "special" case!
M(STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND, 0x11, 10, 10, 0, OBJECT_FLAG_AUTOREMOVE | OBJECT_FLAG_ONLY_IN_GAME | OBJECT_FLAG_CLEAR_INCOME | OBJECT_FLAG_HAS_NO_FOUNDATION ), // Only non-silly use case is to use it when you cannot build a station, so disallow bridges
M(STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS, 0x22, 0, 0, 7, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_GAME),
M(STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER, 0x11, 0, 0, 10, T|A|S , 15, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_SCENEDIT),
M(STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE, 0x11, 0, 0, 8, T|A , 8, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_SCENEDIT | OBJECT_FLAG_SCALE_BY_WATER),
M(STR_TOWN_BUILDING_NAME_STATUE_1, 0x11, 0, 0, 5, T|S|A|Y, 0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_GAME | OBJECT_FLAG_ONLY_IN_SCENEDIT), // Yes, we disallow building this everywhere. Happens in "special" case!
M(STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND, 0x11, 10, 10, 0, T|S|A|Y, 0, OBJECT_FLAG_AUTOREMOVE | OBJECT_FLAG_ONLY_IN_GAME | OBJECT_FLAG_CLEAR_INCOME | OBJECT_FLAG_HAS_NO_FOUNDATION ), // Only non-silly use case is to use it when you cannot build a station, so disallow bridges
M(STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS, 0x22, 0, 0, 7, T|S|A|Y, 0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_GAME),
};
#undef M
#undef Y
#undef S
#undef A
#undef T

View File

@@ -147,24 +147,3 @@ static const ExtraPaletteValues _extra_palette_values = {
M(116, 180, 196), M(148, 200, 216), M(180, 220, 232) }
};
#undef M
/** Colour mapping for the TextColours. */
static const byte _string_colourmap[17] = {
150, // TC_BLUE
12, // TC_SILVER
189, // TC_GOLD
184, // TC_RED
174, // TC_PURPLE
30, // TC_LIGHT_BROWN
195, // TC_ORANGE
209, // TC_GREEN
68, // TC_YELLOW
95, // TC_DARK_GREEN
79, // TC_CREAM
116, // TC_BROWN
15, // TC_WHITE
152, // TC_LIGHT_BLUE
6, // TC_GREY
133, // TC_DARK_BLUE
1, // TC_BLACK
};

View File

@@ -28,6 +28,7 @@ static bool TownFoundingChanged(int32 p1);
static bool DifficultyNoiseChange(int32 i);
static bool MaxNoAIsChange(int32 i);
static bool CheckRoadSide(int p1);
static bool ChangeMaxHeightLevel(int32 p1);
static bool CheckFreeformEdges(int32 p1);
static bool ChangeDynamicEngines(int32 p1);
static bool StationCatchmentChanged(int32 p1);
@@ -40,6 +41,7 @@ static bool RedrawTownAuthority(int32 p1);
static bool InvalidateCompanyInfrastructureWindow(int32 p1);
static bool InvalidateCompanyWindow(int32 p1);
static bool ZoomMinMaxChanged(int32 p1);
static bool MaxVehiclesChanged(int32 p1);
#ifdef ENABLE_NETWORK
static bool UpdateClientName(int32 p1);
@@ -129,11 +131,13 @@ base = GameSettings
var = difficulty.industry_density
type = SLE_UINT8
from = 97
guiflags = SGF_NEWGAME_ONLY
guiflags = SGF_MULTISTRING
def = ID_END - 1
min = 0
max = ID_END - 1
interval = 1
str = STR_CONFIG_SETTING_INDUSTRY_DENSITY
strhelp = STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT
strval = STR_FUNDING_ONLY
cat = SC_BASIC
@@ -250,11 +254,13 @@ base = GameSettings
var = difficulty.terrain_type
type = SLE_UINT8
from = 97
guiflags = SGF_NEWGAME_ONLY
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def = 1
min = 0
max = 3
max = 4
interval = 1
str = STR_CONFIG_SETTING_TERRAIN_TYPE
strhelp = STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT
strval = STR_TERRAIN_TYPE_VERY_FLAT
cat = SC_BASIC
@@ -341,11 +347,14 @@ base = GameSettings
var = game_creation.landscape
type = SLE_UINT8
from = 97
guiflags = SGF_NO_NETWORK
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def = 0
max = 3
full = _climates
load = ConvertLandscape
str = STR_CONFIG_SETTING_LANDSCAPE
strhelp = STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT
strval = STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE
cat = SC_BASIC
; Snow line (or snow_line_height * TILE_HEIGHT)
@@ -359,21 +368,38 @@ base = GameSettings
var = vehicle.road_side
type = SLE_UINT8
from = 97
guiflags = SGF_NO_NETWORK
guiflags = SGF_MULTISTRING | SGF_NO_NETWORK
def = 1
max = 1
full = _roadsides
str = STR_CONFIG_SETTING_ROAD_SIDE
strhelp = STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT
strval = STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT
proc = CheckRoadSide
; Construction
[SDT_VAR]
base = GameSettings
var = construction.max_heightlevel
type = SLE_UINT8
from = 194
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO
def = DEF_MAX_HEIGHTLEVEL
min = MIN_MAX_HEIGHTLEVEL
max = MAX_MAX_HEIGHTLEVEL
interval = 1
str = STR_CONFIG_SETTING_MAX_HEIGHTLEVEL
strhelp = STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT
strval = STR_JUST_INT
proc = ChangeMaxHeightLevel
cat = SC_BASIC
[SDT_BOOL]
base = GameSettings
var = construction.build_on_slopes
guiflags = SGF_NO_NETWORK
def = true
str = STR_CONFIG_SETTING_BUILDONSLOPES
strhelp = STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT
cat = SC_EXPERT
[SDT_VAR]
@@ -480,12 +506,27 @@ from = 159
guiflags = SGF_NO_NETWORK
def = 64
min = 1
max = 2048
max = MAX_MAP_SIZE
interval = 1
str = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH
strhelp = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT
strval = STR_CONFIG_SETTING_TILE_LENGTH
[SDT_VAR]
base = GameSettings
var = construction.max_bridge_height
type = SLE_UINT8
from = 194
guiflags = SGF_NO_NETWORK
def = 12
min = 1
max = MAX_TILE_HEIGHT
interval = 1
str = STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT
strhelp = STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT
strval = STR_JUST_COMMA
cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
var = construction.max_tunnel_length
@@ -494,7 +535,7 @@ from = 159
guiflags = SGF_NO_NETWORK
def = 64
min = 1
max = 2048
max = MAX_MAP_SIZE
interval = 1
str = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH
strhelp = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT
@@ -836,8 +877,6 @@ to = 158
base = GameSettings
var = pf.roadveh_queue
def = true
str = STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING
strhelp = STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT
cat = SC_EXPERT
[SDT_BOOL]
@@ -935,7 +974,7 @@ max = 5000
str = STR_CONFIG_SETTING_MAX_TRAINS
strhelp = STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT
strval = STR_JUST_COMMA
proc = RedrawScreen
proc = MaxVehiclesChanged
cat = SC_BASIC
[SDT_VAR]
@@ -948,7 +987,7 @@ max = 5000
str = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES
strhelp = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT
strval = STR_JUST_COMMA
proc = RedrawScreen
proc = MaxVehiclesChanged
cat = SC_BASIC
[SDT_VAR]
@@ -961,7 +1000,7 @@ max = 5000
str = STR_CONFIG_SETTING_MAX_AIRCRAFT
strhelp = STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT
strval = STR_JUST_COMMA
proc = RedrawScreen
proc = MaxVehiclesChanged
cat = SC_BASIC
[SDT_VAR]
@@ -974,7 +1013,7 @@ max = 5000
str = STR_CONFIG_SETTING_MAX_SHIPS
strhelp = STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT
strval = STR_JUST_COMMA
proc = RedrawScreen
proc = MaxVehiclesChanged
cat = SC_BASIC
[SDTG_BOOL]
@@ -1091,8 +1130,6 @@ var = vehicle.dynamic_engines
from = 95
guiflags = SGF_NO_NETWORK
def = true
str = STR_CONFIG_SETTING_DYNAMIC_ENGINES
strhelp = STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT
proc = ChangeDynamicEngines
cat = SC_EXPERT
@@ -1127,16 +1164,13 @@ base = GameSettings
var = order.improved_load
guiflags = SGF_NO_NETWORK
def = true
str = STR_CONFIG_SETTING_IMPROVEDLOAD
strhelp = STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT
cat = SC_EXPERT
[SDT_BOOL]
base = GameSettings
var = order.selectgoods
def = true
str = STR_CONFIG_SETTING_SELECTGOODS
strhelp = STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT
cat = SC_EXPERT
[SDTC_BOOL]
var = gui.sg_new_nonstop
@@ -1185,8 +1219,6 @@ var = order.gradual_loading
from = 40
guiflags = SGF_NO_NETWORK
def = true
str = STR_CONFIG_SETTING_GRADUAL_LOADING
strhelp = STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT
cat = SC_EXPERT
[SDT_BOOL]
@@ -1212,8 +1244,6 @@ base = GameSettings
var = station.adjacent_stations
from = 62
def = true
str = STR_CONFIG_SETTING_ADJACENT_STATIONS
strhelp = STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT
cat = SC_EXPERT
[SDT_BOOL]
@@ -1334,10 +1364,12 @@ cat = SC_BASIC
base = GameSettings
var = game_creation.snow_line_height
type = SLE_UINT8
guiflags = SGF_NO_NETWORK
def = DEF_SNOWLINE_HEIGHT
min = MIN_SNOWLINE_HEIGHT
max = MAX_SNOWLINE_HEIGHT
str = STR_CONFIG_SETTING_SNOWLINE_HEIGHT
strhelp = STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT
strval = STR_JUST_COMMA
cat = SC_BASIC
@@ -1436,8 +1468,6 @@ base = GameSettings
var = economy.mod_road_rebuild
from = 77
def = true
str = STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD
strhelp = STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT
cat = SC_EXPERT
; previously ai-new setting.
@@ -2133,11 +2163,12 @@ base = GameSettings
var = game_creation.land_generator
type = SLE_UINT8
from = 30
guiflags = SGF_MULTISTRING
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def = 1
min = 0
max = 1
str = STR_CONFIG_SETTING_LAND_GENERATOR
strhelp = STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT
strval = STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL
[SDT_VAR]
@@ -2157,11 +2188,12 @@ base = GameSettings
var = game_creation.tgen_smoothness
type = SLE_UINT8
from = 30
guiflags = SGF_MULTISTRING
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def = 1
min = 0
max = 3
min = TGEN_SMOOTHNESS_BEGIN
max = TGEN_SMOOTHNESS_END - 1
str = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN
strhelp = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT
strval = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH
cat = SC_BASIC
@@ -2170,9 +2202,13 @@ base = GameSettings
var = game_creation.variety
type = SLE_UINT8
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def = 0
min = 0
max = 5
str = STR_CONFIG_SETTING_VARIETY
strhelp = STR_CONFIG_SETTING_VARIETY_HELPTEXT
strval = STR_VARIETY_NONE
[SDT_VAR]
base = GameSettings
@@ -2189,11 +2225,12 @@ base = GameSettings
var = game_creation.tree_placer
type = SLE_UINT8
from = 30
guiflags = SGF_MULTISTRING
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO
def = 2
min = 0
max = 2
str = STR_CONFIG_SETTING_TREE_PLACER
strhelp = STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT
strval = STR_CONFIG_SETTING_TREE_PLACER_NONE
[SDT_VAR]
@@ -2247,8 +2284,6 @@ base = GameSettings
var = construction.freeform_edges
from = 111
def = true
str = STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES
strhelp = STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT
proc = CheckFreeformEdges
cat = SC_EXPERT
@@ -2320,9 +2355,13 @@ base = GameSettings
var = game_creation.amount_of_rivers
type = SLE_UINT8
from = 163
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def = 2
min = 0
max = 3
str = STR_CONFIG_SETTING_RIVER_AMOUNT
strhelp = STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT
strval = STR_RIVERS_NONE
; locale
@@ -2485,9 +2524,13 @@ cat = SC_BASIC
var = gui.autosave
type = SLE_UINT8
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def = 1
max = 4
full = _autosave_interval
str = STR_CONFIG_SETTING_AUTOSAVE
strhelp = STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT
strval = STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF
cat = SC_BASIC
[SDTC_BOOL]
@@ -2572,13 +2615,14 @@ strhelp = STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT
strval = STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE
[SDTC_VAR]
var = gui.hover_delay
type = SLE_UINT8
var = gui.hover_delay_ms
type = SLE_UINT16
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_0ISDISABLED
def = 2
min = 1
max = 5
def = 250
min = 50
max = 6000
interval = 50
str = STR_CONFIG_SETTING_HOVER_DELAY
strhelp = STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT
strval = STR_CONFIG_SETTING_HOVER_DELAY_VALUE
@@ -2659,7 +2703,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def = ZOOM_LVL_MIN
min = ZOOM_LVL_MIN
max = ZOOM_LVL_GUI
max = ZOOM_LVL_OUT_4X
str = STR_CONFIG_SETTING_ZOOM_MIN
strhelp = STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT
strval = STR_CONFIG_SETTING_ZOOM_LVL_MIN
@@ -3165,9 +3209,6 @@ guiflags = SGF_MULTISTRING
def = 1
min = 0
max = 1
str = STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE
strhelp = STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT
strval = STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS
proc = UpdateNewGRFConfigPalette
cat = SC_EXPERT
@@ -3481,12 +3522,12 @@ strval = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
[SDTC_VAR]
ifdef = ENABLE_NETWORK
var = gui.network_chat_box_width
var = gui.network_chat_box_width_pct
type = SLE_UINT16
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def = 620
min = 200
max = 65535
def = 40
min = 10
max = 100
cat = SC_EXPERT
[SDTC_VAR]

View File

@@ -56,7 +56,7 @@ static const SpriteID SPR_LARGE_SMALL_WINDOW = 682;
/** Extra graphic spritenumbers */
static const SpriteID SPR_OPENTTD_BASE = 4896;
static const uint16 OPENTTD_SPRITE_COUNT = 174;
static const uint16 OPENTTD_SPRITE_COUNT = 175;
/* Halftile-selection sprites */
static const SpriteID SPR_HALFTILE_SELECTION_FLAT = SPR_OPENTTD_BASE;
@@ -85,6 +85,8 @@ static const SpriteID SPR_SHARED_ORDERS_ICON = SPR_OPENTTD_BASE + 50;
static const SpriteID SPR_PIN_UP = SPR_OPENTTD_BASE + 51; // pin icon
static const SpriteID SPR_PIN_DOWN = SPR_OPENTTD_BASE + 52;
static const SpriteID SPR_CLOSEBOX = 143;
static const SpriteID SPR_CIRCLE_FOLDED = SPR_OPENTTD_BASE + 147; // (+) icon
static const SpriteID SPR_CIRCLE_UNFOLDED = SPR_OPENTTD_BASE + 148; // (-) icon
@@ -159,6 +161,8 @@ static const SpriteID SPR_IMG_DELETE_RIGHT = SPR_OPENTTD_BASE + 167;
static const SpriteID SPR_WINDOW_DEFSIZE = SPR_OPENTTD_BASE + 168;
static const SpriteID SPR_IMG_CARGOFLOW = SPR_OPENTTD_BASE + 174;
static const SpriteID SPR_SIGNALS_BASE = SPR_OPENTTD_BASE + OPENTTD_SPRITE_COUNT;
static const uint16 PRESIGNAL_SPRITE_COUNT = 48;
static const uint16 PRESIGNAL_AND_SEMAPHORE_SPRITE_COUNT = 112;
@@ -288,8 +292,12 @@ static const uint16 RAILTYPE_TUNNEL_BASE_COUNT = 16;
static const SpriteID SPR_EMPTY_BOUNDING_BOX = SPR_RAILTYPE_TUNNEL_BASE + RAILTYPE_TUNNEL_BASE_COUNT;
static const uint16 EMPTY_BOUNDING_BOX_SPRITE_COUNT = 1;
/* Black palette sprite, needed for painting (fictive) tiles outside map */
static const SpriteID SPR_PALETTE_BASE = SPR_EMPTY_BOUNDING_BOX + EMPTY_BOUNDING_BOX_SPRITE_COUNT;
static const uint16 PALETTE_SPRITE_COUNT = 1;
/* From where can we start putting NewGRFs? */
static const SpriteID SPR_NEWGRFS_BASE = SPR_EMPTY_BOUNDING_BOX + EMPTY_BOUNDING_BOX_SPRITE_COUNT;
static const SpriteID SPR_NEWGRFS_BASE = SPR_PALETTE_BASE + PALETTE_SPRITE_COUNT;
/* Manager face sprites */
static const SpriteID SPR_GRADIENT = 874; // background gradient behind manager face
@@ -991,10 +999,10 @@ static const SpriteID SPR_CNST1_TOWNHOUSE_06_V1 = 1444;
static const SpriteID SPR_CNST2_TOWNHOUSE_06_V1 = 1445;
static const SpriteID SPR_BUILD_TOWNHOUSE_06_V1 = 1446; // 1st variation
static const SpriteID SPR_GRND_TOWNHOUSE_06_V1 = 1447;
static const SpriteID SPR_GRND_STADIUM_N = 1479; //stadium ground at north
static const SpriteID SPR_GRND_STADIUM_E = 1480; //stadium ground at east
static const SpriteID SPR_GRND_STADIUM_W = 1481; //stadium ground at west
static const SpriteID SPR_GRND_STADIUM_S = 1482; //stadium ground at south
static const SpriteID SPR_GRND_STADIUM_N = 1479; // stadium ground at north
static const SpriteID SPR_GRND_STADIUM_E = 1480; // stadium ground at east
static const SpriteID SPR_GRND_STADIUM_W = 1481; // stadium ground at west
static const SpriteID SPR_GRND_STADIUM_S = 1482; // stadium ground at south
static const SpriteID SPR_CNST1_TOWNHOUSE_06_V2 = 1501; // used as ground, but is stage1
static const SpriteID SPR_CNST1_TOWNHOUSE_06_V2_P = 1502; // pipes extensions for previous
static const SpriteID SPR_CNST2_TOWNHOUSE_06_V2_G = 1503; // Ground of cnst stage 2
@@ -1473,11 +1481,15 @@ static const CursorID ANIMCURSOR_BUILDSIGNALS = ANIMCURSOR_FLAG | 4; ///< 1292 -
* bits used for the recolouring process. For transparency, it must be 0x322.</li></ul>
*/
enum SpriteSetup {
/* These bits are applied to sprite ID */
TRANSPARENT_BIT = 31, ///< toggles transparency in the sprite
RECOLOUR_BIT = 30, ///< toggles recolouring in the sprite
CUSTOM_BIT = 29,
OPAQUE_BIT = 28,
/* This bit is applied to palette ID */
PALETTE_TEXT_RECOLOUR = 31, ///< Set if palette is actually a magic text recolour
PALETTE_WIDTH = 24, ///< number of bits of the sprite containing the recolour palette
SPRITE_WIDTH = 24, ///< number of bits for the sprite number
};
@@ -1560,4 +1572,6 @@ static const PaletteID PALETTE_CRASH = 804; ///< Recolour sprite
static const PaletteID PALETTE_CHURCH_RED = 1438; ///< Recolour sprite for reddish churches
static const PaletteID PALETTE_CHURCH_CREAM = 1439; ///< Recolour sprite for white churches
static const PaletteID PALETTE_ALL_BLACK = SPR_PALETTE_BASE; ///< Exchange any color by black, needed for painting fictive tiles outside map
#endif /* SPRITES_H */

View File

@@ -27,6 +27,7 @@ struct CmdStruct {
ParseCmdProc proc;
long value;
uint8 consumes;
int8 default_plural_offset;
CmdFlags flags;
};
@@ -36,115 +37,115 @@ extern void EmitGender(Buffer *buffer, char *buf, int value);
static const CmdStruct _cmd_structs[] = {
/* Font size */
{"TINY_FONT", EmitSingleChar, SCC_TINYFONT, 0, C_NONE},
{"BIG_FONT", EmitSingleChar, SCC_BIGFONT, 0, C_NONE},
{"TINY_FONT", EmitSingleChar, SCC_TINYFONT, 0, -1, C_NONE},
{"BIG_FONT", EmitSingleChar, SCC_BIGFONT, 0, -1, C_NONE},
/* Colours */
{"BLUE", EmitSingleChar, SCC_BLUE, 0, C_DONTCOUNT},
{"SILVER", EmitSingleChar, SCC_SILVER, 0, C_DONTCOUNT},
{"GOLD", EmitSingleChar, SCC_GOLD, 0, C_DONTCOUNT},
{"RED", EmitSingleChar, SCC_RED, 0, C_DONTCOUNT},
{"PURPLE", EmitSingleChar, SCC_PURPLE, 0, C_DONTCOUNT},
{"LTBROWN", EmitSingleChar, SCC_LTBROWN, 0, C_DONTCOUNT},
{"ORANGE", EmitSingleChar, SCC_ORANGE, 0, C_DONTCOUNT},
{"GREEN", EmitSingleChar, SCC_GREEN, 0, C_DONTCOUNT},
{"YELLOW", EmitSingleChar, SCC_YELLOW, 0, C_DONTCOUNT},
{"DKGREEN", EmitSingleChar, SCC_DKGREEN, 0, C_DONTCOUNT},
{"CREAM", EmitSingleChar, SCC_CREAM, 0, C_DONTCOUNT},
{"BROWN", EmitSingleChar, SCC_BROWN, 0, C_DONTCOUNT},
{"WHITE", EmitSingleChar, SCC_WHITE, 0, C_DONTCOUNT},
{"LTBLUE", EmitSingleChar, SCC_LTBLUE, 0, C_DONTCOUNT},
{"GRAY", EmitSingleChar, SCC_GRAY, 0, C_DONTCOUNT},
{"DKBLUE", EmitSingleChar, SCC_DKBLUE, 0, C_DONTCOUNT},
{"BLACK", EmitSingleChar, SCC_BLACK, 0, C_DONTCOUNT},
{"BLUE", EmitSingleChar, SCC_BLUE, 0, -1, C_DONTCOUNT},
{"SILVER", EmitSingleChar, SCC_SILVER, 0, -1, C_DONTCOUNT},
{"GOLD", EmitSingleChar, SCC_GOLD, 0, -1, C_DONTCOUNT},
{"RED", EmitSingleChar, SCC_RED, 0, -1, C_DONTCOUNT},
{"PURPLE", EmitSingleChar, SCC_PURPLE, 0, -1, C_DONTCOUNT},
{"LTBROWN", EmitSingleChar, SCC_LTBROWN, 0, -1, C_DONTCOUNT},
{"ORANGE", EmitSingleChar, SCC_ORANGE, 0, -1, C_DONTCOUNT},
{"GREEN", EmitSingleChar, SCC_GREEN, 0, -1, C_DONTCOUNT},
{"YELLOW", EmitSingleChar, SCC_YELLOW, 0, -1, C_DONTCOUNT},
{"DKGREEN", EmitSingleChar, SCC_DKGREEN, 0, -1, C_DONTCOUNT},
{"CREAM", EmitSingleChar, SCC_CREAM, 0, -1, C_DONTCOUNT},
{"BROWN", EmitSingleChar, SCC_BROWN, 0, -1, C_DONTCOUNT},
{"WHITE", EmitSingleChar, SCC_WHITE, 0, -1, C_DONTCOUNT},
{"LTBLUE", EmitSingleChar, SCC_LTBLUE, 0, -1, C_DONTCOUNT},
{"GRAY", EmitSingleChar, SCC_GRAY, 0, -1, C_DONTCOUNT},
{"DKBLUE", EmitSingleChar, SCC_DKBLUE, 0, -1, C_DONTCOUNT},
{"BLACK", EmitSingleChar, SCC_BLACK, 0, -1, C_DONTCOUNT},
{"REV", EmitSingleChar, SCC_REVISION, 0, C_NONE}, // openttd revision string
{"REV", EmitSingleChar, SCC_REVISION, 0, -1, C_NONE}, // openttd revision string
{"STRING1", EmitSingleChar, SCC_STRING1, 2, C_CASE | C_GENDER}, // included string that consumes the string id and ONE argument
{"STRING2", EmitSingleChar, SCC_STRING2, 3, C_CASE | C_GENDER}, // included string that consumes the string id and TWO arguments
{"STRING3", EmitSingleChar, SCC_STRING3, 4, C_CASE | C_GENDER}, // included string that consumes the string id and THREE arguments
{"STRING4", EmitSingleChar, SCC_STRING4, 5, C_CASE | C_GENDER}, // included string that consumes the string id and FOUR arguments
{"STRING5", EmitSingleChar, SCC_STRING5, 6, C_CASE | C_GENDER}, // included string that consumes the string id and FIVE arguments
{"STRING6", EmitSingleChar, SCC_STRING6, 7, C_CASE | C_GENDER}, // included string that consumes the string id and SIX arguments
{"STRING7", EmitSingleChar, SCC_STRING7, 8, C_CASE | C_GENDER}, // included string that consumes the string id and SEVEN arguments
{"STRING1", EmitSingleChar, SCC_STRING1, 2, -1, C_CASE | C_GENDER}, // included string that consumes the string id and ONE argument
{"STRING2", EmitSingleChar, SCC_STRING2, 3, -1, C_CASE | C_GENDER}, // included string that consumes the string id and TWO arguments
{"STRING3", EmitSingleChar, SCC_STRING3, 4, -1, C_CASE | C_GENDER}, // included string that consumes the string id and THREE arguments
{"STRING4", EmitSingleChar, SCC_STRING4, 5, -1, C_CASE | C_GENDER}, // included string that consumes the string id and FOUR arguments
{"STRING5", EmitSingleChar, SCC_STRING5, 6, -1, C_CASE | C_GENDER}, // included string that consumes the string id and FIVE arguments
{"STRING6", EmitSingleChar, SCC_STRING6, 7, -1, C_CASE | C_GENDER}, // included string that consumes the string id and SIX arguments
{"STRING7", EmitSingleChar, SCC_STRING7, 8, -1, C_CASE | C_GENDER}, // included string that consumes the string id and SEVEN arguments
{"STATION_FEATURES", EmitSingleChar, SCC_STATION_FEATURES, 1, C_NONE}, // station features string, icons of the features
{"INDUSTRY", EmitSingleChar, SCC_INDUSTRY_NAME, 1, C_CASE | C_GENDER}, // industry, takes an industry #, can have cases
{"CARGO_LONG", EmitSingleChar, SCC_CARGO_LONG, 2, C_NONE | C_GENDER},
{"CARGO_SHORT", EmitSingleChar, SCC_CARGO_SHORT, 2, C_NONE}, // short cargo description, only ### tons, or ### litres
{"CARGO_TINY", EmitSingleChar, SCC_CARGO_TINY, 2, C_NONE}, // tiny cargo description with only the amount, not a specifier for the amount or the actual cargo name
{"CARGO_LIST", EmitSingleChar, SCC_CARGO_LIST, 1, C_CASE},
{"POWER", EmitSingleChar, SCC_POWER, 1, C_NONE},
{"VOLUME_LONG", EmitSingleChar, SCC_VOLUME_LONG, 1, C_NONE},
{"VOLUME_SHORT", EmitSingleChar, SCC_VOLUME_SHORT, 1, C_NONE},
{"WEIGHT_LONG", EmitSingleChar, SCC_WEIGHT_LONG, 1, C_NONE},
{"WEIGHT_SHORT", EmitSingleChar, SCC_WEIGHT_SHORT, 1, C_NONE},
{"FORCE", EmitSingleChar, SCC_FORCE, 1, C_NONE},
{"VELOCITY", EmitSingleChar, SCC_VELOCITY, 1, C_NONE},
{"HEIGHT", EmitSingleChar, SCC_HEIGHT, 1, C_NONE},
{"STATION_FEATURES", EmitSingleChar, SCC_STATION_FEATURES, 1, -1, C_NONE}, // station features string, icons of the features
{"INDUSTRY", EmitSingleChar, SCC_INDUSTRY_NAME, 1, -1, C_CASE | C_GENDER}, // industry, takes an industry #, can have cases
{"CARGO_LONG", EmitSingleChar, SCC_CARGO_LONG, 2, 1, C_NONE | C_GENDER},
{"CARGO_SHORT", EmitSingleChar, SCC_CARGO_SHORT, 2, 1, C_NONE}, // short cargo description, only ### tons, or ### litres
{"CARGO_TINY", EmitSingleChar, SCC_CARGO_TINY, 2, 1, C_NONE}, // tiny cargo description with only the amount, not a specifier for the amount or the actual cargo name
{"CARGO_LIST", EmitSingleChar, SCC_CARGO_LIST, 1, -1, C_CASE},
{"POWER", EmitSingleChar, SCC_POWER, 1, 0, C_NONE},
{"VOLUME_LONG", EmitSingleChar, SCC_VOLUME_LONG, 1, 0, C_NONE},
{"VOLUME_SHORT", EmitSingleChar, SCC_VOLUME_SHORT, 1, 0, C_NONE},
{"WEIGHT_LONG", EmitSingleChar, SCC_WEIGHT_LONG, 1, 0, C_NONE},
{"WEIGHT_SHORT", EmitSingleChar, SCC_WEIGHT_SHORT, 1, 0, C_NONE},
{"FORCE", EmitSingleChar, SCC_FORCE, 1, 0, C_NONE},
{"VELOCITY", EmitSingleChar, SCC_VELOCITY, 1, 0, C_NONE},
{"HEIGHT", EmitSingleChar, SCC_HEIGHT, 1, 0, C_NONE},
{"P", EmitPlural, 0, 0, C_DONTCOUNT}, // plural specifier
{"G", EmitGender, 0, 0, C_DONTCOUNT}, // gender specifier
{"P", EmitPlural, 0, 0, -1, C_DONTCOUNT}, // plural specifier
{"G", EmitGender, 0, 0, -1, C_DONTCOUNT}, // gender specifier
{"DATE_TINY", EmitSingleChar, SCC_DATE_TINY, 1, C_NONE},
{"DATE_SHORT", EmitSingleChar, SCC_DATE_SHORT, 1, C_CASE},
{"DATE_LONG", EmitSingleChar, SCC_DATE_LONG, 1, C_CASE},
{"DATE_ISO", EmitSingleChar, SCC_DATE_ISO, 1, C_NONE},
{"DATE_TINY", EmitSingleChar, SCC_DATE_TINY, 1, -1, C_NONE},
{"DATE_SHORT", EmitSingleChar, SCC_DATE_SHORT, 1, -1, C_CASE},
{"DATE_LONG", EmitSingleChar, SCC_DATE_LONG, 1, -1, C_CASE},
{"DATE_ISO", EmitSingleChar, SCC_DATE_ISO, 1, -1, C_NONE},
{"STRING", EmitSingleChar, SCC_STRING, 1, C_CASE | C_GENDER},
{"RAW_STRING", EmitSingleChar, SCC_RAW_STRING_POINTER, 1, C_NONE | C_GENDER},
{"STRING", EmitSingleChar, SCC_STRING, 1, -1, C_CASE | C_GENDER},
{"RAW_STRING", EmitSingleChar, SCC_RAW_STRING_POINTER, 1, -1, C_NONE | C_GENDER},
/* Numbers */
{"COMMA", EmitSingleChar, SCC_COMMA, 1, C_NONE}, // Number with comma
{"DECIMAL", EmitSingleChar, SCC_DECIMAL, 2, C_NONE}, // Number with comma and fractional part. Second parameter is number of fractional digits, first parameter is number times 10**(second parameter).
{"NUM", EmitSingleChar, SCC_NUM, 1, C_NONE}, // Signed number
{"ZEROFILL_NUM", EmitSingleChar, SCC_ZEROFILL_NUM, 2, C_NONE}, // Unsigned number with zero fill, e.g. "02". First parameter is number, second minimum length
{"BYTES", EmitSingleChar, SCC_BYTES, 1, C_NONE}, // Unsigned number with "bytes", i.e. "1.02 MiB or 123 KiB"
{"HEX", EmitSingleChar, SCC_HEX, 1, C_NONE}, // Hexadecimally printed number
{"COMMA", EmitSingleChar, SCC_COMMA, 1, 0, C_NONE}, // Number with comma
{"DECIMAL", EmitSingleChar, SCC_DECIMAL, 2, 0, C_NONE}, // Number with comma and fractional part. Second parameter is number of fractional digits, first parameter is number times 10**(second parameter).
{"NUM", EmitSingleChar, SCC_NUM, 1, 0, C_NONE}, // Signed number
{"ZEROFILL_NUM", EmitSingleChar, SCC_ZEROFILL_NUM, 2, 0, C_NONE}, // Unsigned number with zero fill, e.g. "02". First parameter is number, second minimum length
{"BYTES", EmitSingleChar, SCC_BYTES, 1, 0, C_NONE}, // Unsigned number with "bytes", i.e. "1.02 MiB or 123 KiB"
{"HEX", EmitSingleChar, SCC_HEX, 1, 0, C_NONE}, // Hexadecimally printed number
{"CURRENCY_LONG", EmitSingleChar, SCC_CURRENCY_LONG, 1, C_NONE},
{"CURRENCY_SHORT", EmitSingleChar, SCC_CURRENCY_SHORT, 1, C_NONE}, // compact currency
{"CURRENCY_LONG", EmitSingleChar, SCC_CURRENCY_LONG, 1, 0, C_NONE},
{"CURRENCY_SHORT", EmitSingleChar, SCC_CURRENCY_SHORT, 1, 0, C_NONE}, // compact currency
{"WAYPOINT", EmitSingleChar, SCC_WAYPOINT_NAME, 1, C_NONE | C_GENDER}, // waypoint name
{"STATION", EmitSingleChar, SCC_STATION_NAME, 1, C_NONE | C_GENDER},
{"DEPOT", EmitSingleChar, SCC_DEPOT_NAME, 2, C_NONE | C_GENDER},
{"TOWN", EmitSingleChar, SCC_TOWN_NAME, 1, C_NONE | C_GENDER},
{"GROUP", EmitSingleChar, SCC_GROUP_NAME, 1, C_NONE | C_GENDER},
{"SIGN", EmitSingleChar, SCC_SIGN_NAME, 1, C_NONE | C_GENDER},
{"ENGINE", EmitSingleChar, SCC_ENGINE_NAME, 1, C_NONE | C_GENDER},
{"VEHICLE", EmitSingleChar, SCC_VEHICLE_NAME, 1, C_NONE | C_GENDER},
{"COMPANY", EmitSingleChar, SCC_COMPANY_NAME, 1, C_NONE | C_GENDER},
{"COMPANY_NUM", EmitSingleChar, SCC_COMPANY_NUM, 1, C_NONE},
{"PRESIDENT_NAME", EmitSingleChar, SCC_PRESIDENT_NAME, 1, C_NONE | C_GENDER},
{"WAYPOINT", EmitSingleChar, SCC_WAYPOINT_NAME, 1, -1, C_NONE | C_GENDER}, // waypoint name
{"STATION", EmitSingleChar, SCC_STATION_NAME, 1, -1, C_NONE | C_GENDER},
{"DEPOT", EmitSingleChar, SCC_DEPOT_NAME, 2, -1, C_NONE | C_GENDER},
{"TOWN", EmitSingleChar, SCC_TOWN_NAME, 1, -1, C_NONE | C_GENDER},
{"GROUP", EmitSingleChar, SCC_GROUP_NAME, 1, -1, C_NONE | C_GENDER},
{"SIGN", EmitSingleChar, SCC_SIGN_NAME, 1, -1, C_NONE | C_GENDER},
{"ENGINE", EmitSingleChar, SCC_ENGINE_NAME, 1, -1, C_NONE | C_GENDER},
{"VEHICLE", EmitSingleChar, SCC_VEHICLE_NAME, 1, -1, C_NONE | C_GENDER},
{"COMPANY", EmitSingleChar, SCC_COMPANY_NAME, 1, -1, C_NONE | C_GENDER},
{"COMPANY_NUM", EmitSingleChar, SCC_COMPANY_NUM, 1, -1, C_NONE},
{"PRESIDENT_NAME", EmitSingleChar, SCC_PRESIDENT_NAME, 1, -1, C_NONE | C_GENDER},
{"", EmitSingleChar, '\n', 0, C_DONTCOUNT},
{"{", EmitSingleChar, '{', 0, C_DONTCOUNT},
{"UP_ARROW", EmitSingleChar, SCC_UP_ARROW, 0, C_DONTCOUNT},
{"SMALL_UP_ARROW", EmitSingleChar, SCC_SMALL_UP_ARROW, 0, C_DONTCOUNT},
{"SMALL_DOWN_ARROW", EmitSingleChar, SCC_SMALL_DOWN_ARROW, 0, C_DONTCOUNT},
{"TRAIN", EmitSingleChar, SCC_TRAIN, 0, C_DONTCOUNT},
{"LORRY", EmitSingleChar, SCC_LORRY, 0, C_DONTCOUNT},
{"BUS", EmitSingleChar, SCC_BUS, 0, C_DONTCOUNT},
{"PLANE", EmitSingleChar, SCC_PLANE, 0, C_DONTCOUNT},
{"SHIP", EmitSingleChar, SCC_SHIP, 0, C_DONTCOUNT},
{"NBSP", EmitSingleChar, 0xA0, 0, C_DONTCOUNT},
{"COPYRIGHT", EmitSingleChar, 0xA9, 0, C_DONTCOUNT},
{"DOWN_ARROW", EmitSingleChar, SCC_DOWN_ARROW, 0, C_DONTCOUNT},
{"CHECKMARK", EmitSingleChar, SCC_CHECKMARK, 0, C_DONTCOUNT},
{"CROSS", EmitSingleChar, SCC_CROSS, 0, C_DONTCOUNT},
{"RIGHT_ARROW", EmitSingleChar, SCC_RIGHT_ARROW, 0, C_DONTCOUNT},
{"SMALL_LEFT_ARROW", EmitSingleChar, SCC_LESS_THAN, 0, C_DONTCOUNT},
{"SMALL_RIGHT_ARROW", EmitSingleChar, SCC_GREATER_THAN, 0, C_DONTCOUNT},
{"", EmitSingleChar, '\n', 0, -1, C_DONTCOUNT},
{"{", EmitSingleChar, '{', 0, -1, C_DONTCOUNT},
{"UP_ARROW", EmitSingleChar, SCC_UP_ARROW, 0, -1, C_DONTCOUNT},
{"SMALL_UP_ARROW", EmitSingleChar, SCC_SMALL_UP_ARROW, 0, -1, C_DONTCOUNT},
{"SMALL_DOWN_ARROW", EmitSingleChar, SCC_SMALL_DOWN_ARROW, 0, -1, C_DONTCOUNT},
{"TRAIN", EmitSingleChar, SCC_TRAIN, 0, -1, C_DONTCOUNT},
{"LORRY", EmitSingleChar, SCC_LORRY, 0, -1, C_DONTCOUNT},
{"BUS", EmitSingleChar, SCC_BUS, 0, -1, C_DONTCOUNT},
{"PLANE", EmitSingleChar, SCC_PLANE, 0, -1, C_DONTCOUNT},
{"SHIP", EmitSingleChar, SCC_SHIP, 0, -1, C_DONTCOUNT},
{"NBSP", EmitSingleChar, 0xA0, 0, -1, C_DONTCOUNT},
{"COPYRIGHT", EmitSingleChar, 0xA9, 0, -1, C_DONTCOUNT},
{"DOWN_ARROW", EmitSingleChar, SCC_DOWN_ARROW, 0, -1, C_DONTCOUNT},
{"CHECKMARK", EmitSingleChar, SCC_CHECKMARK, 0, -1, C_DONTCOUNT},
{"CROSS", EmitSingleChar, SCC_CROSS, 0, -1, C_DONTCOUNT},
{"RIGHT_ARROW", EmitSingleChar, SCC_RIGHT_ARROW, 0, -1, C_DONTCOUNT},
{"SMALL_LEFT_ARROW", EmitSingleChar, SCC_LESS_THAN, 0, -1, C_DONTCOUNT},
{"SMALL_RIGHT_ARROW", EmitSingleChar, SCC_GREATER_THAN, 0, -1, C_DONTCOUNT},
/* The following are directional formatting codes used to get the RTL strings right:
* http://www.unicode.org/unicode/reports/tr9/#Directional_Formatting_Codes */
{"LRM", EmitSingleChar, CHAR_TD_LRM, 0, C_DONTCOUNT},
{"RLM", EmitSingleChar, CHAR_TD_RLM, 0, C_DONTCOUNT},
{"LRE", EmitSingleChar, CHAR_TD_LRE, 0, C_DONTCOUNT},
{"RLE", EmitSingleChar, CHAR_TD_RLE, 0, C_DONTCOUNT},
{"LRO", EmitSingleChar, CHAR_TD_LRO, 0, C_DONTCOUNT},
{"RLO", EmitSingleChar, CHAR_TD_RLO, 0, C_DONTCOUNT},
{"PDF", EmitSingleChar, CHAR_TD_PDF, 0, C_DONTCOUNT},
{"LRM", EmitSingleChar, CHAR_TD_LRM, 0, -1, C_DONTCOUNT},
{"RLM", EmitSingleChar, CHAR_TD_RLM, 0, -1, C_DONTCOUNT},
{"LRE", EmitSingleChar, CHAR_TD_LRE, 0, -1, C_DONTCOUNT},
{"RLE", EmitSingleChar, CHAR_TD_RLE, 0, -1, C_DONTCOUNT},
{"LRO", EmitSingleChar, CHAR_TD_LRO, 0, -1, C_DONTCOUNT},
{"RLO", EmitSingleChar, CHAR_TD_RLO, 0, -1, C_DONTCOUNT},
{"PDF", EmitSingleChar, CHAR_TD_PDF, 0, -1, C_DONTCOUNT},
};
/** Description of a plural form */
@@ -154,6 +155,9 @@ struct PluralForm {
const char *names; ///< Plural names
};
/** The maximum number of plurals. */
static const int MAX_PLURALS = 5;
/** All plural forms used */
static const PluralForm _plural_forms[] = {
{ 2, "Two forms: special case for 1.", "\"1\" \"other\"" },

View File

@@ -0,0 +1,31 @@
/* $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 string_colours.h The colour translation of GRF's strings. */
/** Colour mapping for the TextColours. */
static const byte _string_colourmap[17] = {
150, // TC_BLUE
12, // TC_SILVER
189, // TC_GOLD
184, // TC_RED
174, // TC_PURPLE
30, // TC_LIGHT_BROWN
195, // TC_ORANGE
209, // TC_GREEN
68, // TC_YELLOW
95, // TC_DARK_GREEN
79, // TC_CREAM
116, // TC_BROWN
15, // TC_WHITE
152, // TC_LIGHT_BLUE
6, // TC_GREY
133, // TC_DARK_BLUE
1, // TC_BLACK
};

View File

@@ -627,9 +627,9 @@ static const char * const _name_spanish_real[] = {
"Morrocoy",
"Cata",
"Cataito",
"Ciudad Bolivar",
"Ciudad Bol\xC3\xADvar",
"Barquisimeto",
"Merida",
"M\xC3\xA9rida",
"Puerto Ordaz",
"Santa Elena",
"San Juan",
@@ -638,12 +638,12 @@ static const char * const _name_spanish_real[] = {
"Santiago",
"Barcelona",
"Barinas",
"San Cristobal",
"San Crist\xC3\xB3""bal",
"San Fransisco",
"San Martin",
"San Mart\xC3\xADn",
"Guayana",
"San Carlos",
"El Limon",
"El Lim\xC3\xB3n",
"Coro",
"Corocoro",
"Puerto Ayacucho",
@@ -663,7 +663,7 @@ static const char * const _name_spanish_real[] = {
"Quito",
"Cuenca",
"Huacho",
"Tulcan",
"Tulc\xC3\xA1n",
"Esmeraldas",
"Ibarra",
"San Lorenzo",
@@ -674,20 +674,20 @@ static const char * const _name_spanish_real[] = {
"Latacunga",
"Tena",
"Cochabamba",
"Ascension",
"Ascensi\xC3\xB3n",
"Magdalena",
"Santa Ana",
"Manoa",
"Sucre",
"Oruro",
"Uyuni",
"Potosi",
"Potos\xC3\xAD",
"Tupiza",
"La Quiaca",
"Yacuiba",
"San Borja",
"Fuerte Olimpio",
"Fortin Esteros",
"Fort\xC3\xADn Esteros",
"Campo Grande",
"Bogota",
"El Banco",
@@ -2612,7 +2612,7 @@ static const char * const _name_swiss_real[] = {
"Sursee",
"Schwyz",
"Thalwil",
"Thônex",
"Th\xC3\xB4nex",
"Thun",
"Uster",
"Uzwil",
@@ -3149,7 +3149,7 @@ static const char * const _name_italian_river2[] = {
static const char * const _name_catalan_real[] = {
"Barcelona",
"Hospitalet",
"L'Hospitalet de Llobregat",
"Cerdanyola",
"Martorell",
"Badalona",
@@ -3161,7 +3161,7 @@ static const char * const _name_catalan_real[] = {
"Reus",
"Valls",
"Vic",
"Vielha",
"Vielha e Mijaran",
"Amposta",
"Tortosa",
"Berga",
@@ -3171,12 +3171,12 @@ static const char * const _name_catalan_real[] = {
"Figueres",
"Balaguer",
"Vilafranca del Pened\xC3\xA8s",
"La seu d'Urgell",
"Pont de Suert",
"La Seu d'Urgell",
"El Pont de Suert",
"Igualada",
"Manresa",
"Solsona",
"Les borges blanques",
"Les Borges Blanques",
"Tremp",
"Sort",
"Colera",
@@ -3194,21 +3194,21 @@ static const char * const _name_catalan_real[] = {
"Campdev\xC3\xA0nol",
"Cambrils",
"Begur",
"Set Cases",
"Setcases",
"Palafrugell",
"Begues",
"El Bruc",
"Cadaqu\xC3\xA9s",
"Collbat\xC3\xB3",
"Cervell\xC3\xB3",
"Esparraguera",
"Esparreguera",
"Abrera",
"Alp",
"Das",
"Cercs",
"Manlleu",
"Masnou",
"Molins de rei",
"El Masnou",
"Molins de Rei",
"Monistrol",
"Rocallaura",
"Rub\xC3\xAD",
@@ -3218,15 +3218,15 @@ static const char * const _name_catalan_real[] = {
};
static const char * const _name_catalan_pref[] = {
"Pont de ",
"El Pont de ",
"Parets de ",
"Canet de ",
"Castellar de ",
"Corbera de ",
"Arenys de ",
"Calella de ",
"La seu de ",
"La bisbal de ",
"La Seu de ",
"La Bisbal de ",
"Torroella de ",
"Port de ",
"Vilafranca de ",
@@ -3262,13 +3262,13 @@ static const char * const _name_catalan_1m[] = {
};
static const char * const _name_catalan_1f[] = {
"Aigua",
"Selva ",
"Pala",
"Selva",
"Vall",
"Serra",
"Torre",
"Riba",
"Vall",
"Cova",
"Terra",
};
@@ -3280,7 +3280,7 @@ static const char * const _name_catalan_2m[] = {
"vent\xC3\xB3s",
"negre",
"roig",
"gris",
"gr\xC3\xADs",
};
static const char * const _name_catalan_2f[] = {
@@ -3295,16 +3295,16 @@ static const char * const _name_catalan_2f[] = {
};
static const char * const _name_catalan_3[] = {
" desp\xC3\xAD",
" desvern",
" del cam\xC3\xAD",
" Desp\xC3\xAD",
" Desvern",
" del Cam\xC3\xAD",
" de Mar",
" de Dalt",
" de Baix",
" del Vall\xC3\xA8s",
" de Bergued\xC3\xA0",
" de Conflent",
" de la plana",
" de la Plana",
};
static const char * const _name_catalan_river1[] = {

View File

@@ -64,3 +64,7 @@ static const byte _wagon_full_adder[] = {
0, 0, 24, 24, 24, 24, 0, 0,
32, 32
};
assert_compile(lengthof(_engine_sprite_base) == lengthof(_engine_sprite_and));
assert_compile(lengthof(_engine_sprite_base) == lengthof(_engine_sprite_add));
assert_compile(lengthof(_engine_sprite_base) == lengthof(_wagon_full_adder));

View File

@@ -10,7 +10,7 @@
/* win32_v.cpp only settings */
#if defined(WIN32) && !defined(DEDICATED)
extern bool _force_full_redraw, _window_maximize;
extern uint _display_hz, _fullscreen_bpp;
extern uint _display_hz;
static const SettingDescGlobVarList _win32_settings[] = {
[post-amble]
@@ -51,15 +51,6 @@ var = _force_full_redraw
def = false
cat = SC_EXPERT
[SDTG_VAR]
name = ""fullscreen_bpp""
type = SLE_UINT
var = _fullscreen_bpp
def = 8
min = 8
max = 32
cat = SC_EXPERT
[SDTG_BOOL]
name = ""window_maximize""
var = _window_maximize