Mercurial > hg > openttd
changeset 8114:2d6af5d7a142 draft
(svn r11675) -Codechange: split the string types from the string functions.
line wrap: on
line diff
--- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -10,7 +10,6 @@ #include "functions.h" #include "landscape.h" #include "station_map.h" -#include "strings.h" #include "table/strings.h" #include "map.h" #include "vehicle.h" @@ -33,6 +32,7 @@ #include "date.h" #include "spritecache.h" #include "cargotype.h" +#include "strings_func.h" void Aircraft::UpdateDeltaXY(Direction direction) {
--- a/src/aircraft_gui.cpp +++ b/src/aircraft_gui.cpp @@ -9,7 +9,6 @@ #include "functions.h" #include "table/sprites.h" #include "table/strings.h" -#include "strings.h" #include "map.h" #include "gui.h" #include "vehicle.h" @@ -21,6 +20,7 @@ #include "depot.h" #include "vehicle_gui.h" #include "newgrf_engine.h" +#include "strings_func.h" /** * Draw the details for the given vehicle at the position (x,y)
--- a/src/autoreplace_cmd.cpp +++ b/src/autoreplace_cmd.cpp @@ -17,8 +17,8 @@ #include "aircraft.h" #include "cargotype.h" #include "group.h" -#include "strings.h" #include "order.h" +#include "strings_func.h" /* * move the cargo from one engine to another if possible
--- a/src/autoreplace_gui.cpp +++ b/src/autoreplace_gui.cpp @@ -8,7 +8,6 @@ #include "functions.h" #include "table/sprites.h" #include "table/strings.h" -#include "strings.h" #include "gui.h" #include "command.h" #include "variables.h" @@ -16,7 +15,7 @@ #include "newgrf_engine.h" #include "group.h" #include "rail.h" - +#include "strings_func.h" static RailType _railtype_selected_in_replace_gui;
--- a/src/bridge_gui.cpp +++ b/src/bridge_gui.cpp @@ -5,7 +5,6 @@ #include "stdafx.h" #include "openttd.h" #include "table/strings.h" -#include "strings.h" #include "functions.h" #include "map.h" #include "gui.h" @@ -16,6 +15,7 @@ #include "sound.h" #include "variables.h" #include "bridge.h" +#include "strings_func.h" static struct BridgeData { uint8 last_size;
--- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -26,10 +26,10 @@ #include "vehicle_gui.h" #include "newgrf_engine.h" #include "date.h" -#include "strings.h" #include "cargotype.h" #include "group.h" #include "road_map.h" +#include "strings_func.h" enum BuildVehicleWidgets {
--- a/src/command.cpp +++ b/src/command.cpp @@ -5,7 +5,6 @@ #include "stdafx.h" #include "openttd.h" #include "table/strings.h" -#include "strings.h" #include "functions.h" #include "landscape.h" #include "map.h" @@ -17,6 +16,7 @@ #include "variables.h" #include "genworld.h" #include "newgrf_storage.h" +#include "strings_func.h" const char *_cmd_text = NULL;
--- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -22,11 +22,11 @@ #include "fileio.h" #include "vehicle.h" #include "station.h" -#include "strings.h" #include "screenshot.h" #include "genworld.h" #include "date.h" #include "network/network.h" +#include "strings_func.h" // ** scriptfile handling ** // static FILE *_script_file;
--- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -10,7 +10,6 @@ #include "ship.h" #include "aircraft.h" #include "table/strings.h" -#include "strings.h" #include "table/sprites.h" #include "gui.h" #include "textbuf_gui.h" @@ -23,6 +22,7 @@ #include "station_map.h" #include "newgrf_engine.h" #include "spritecache.h" +#include "strings_func.h" /* * Since all depot window sizes aren't the same, we need to modify sizes a little.
--- a/src/disaster_cmd.cpp +++ b/src/disaster_cmd.cpp @@ -23,7 +23,6 @@ #include "industry_map.h" #include "station_map.h" #include "table/strings.h" -#include "strings.h" #include "map.h" #include "vehicle.h" #include "command.h" @@ -38,6 +37,7 @@ #include "variables.h" #include "table/sprites.h" #include "date.h" +#include "strings_func.h" enum DisasterSubType { ST_Zeppeliner,
--- a/src/economy.cpp +++ b/src/economy.cpp @@ -7,7 +7,6 @@ #include "currency.h" #include "functions.h" #include "landscape.h" -#include "strings.h" // XXX InjectDParam() #include "table/strings.h" #include "table/sprites.h" #include "map.h" @@ -41,6 +40,7 @@ #include "cargotype.h" #include "player_face.h" #include "group.h" +#include "strings_func.h" /** * Multiply two integer values and shift the results to right.
--- a/src/engine.cpp +++ b/src/engine.cpp @@ -22,8 +22,8 @@ #include "table/engines.h" #include "group.h" #include "string.h" -#include "strings.h" #include "misc/autoptr.hpp" +#include "strings_func.h" EngineInfo _engine_info[TOTAL_NUM_ENGINES]; RailVehicleInfo _rail_vehicle_info[NUM_TRAIN_ENGINES];
--- a/src/engine_gui.cpp +++ b/src/engine_gui.cpp @@ -5,7 +5,6 @@ #include "stdafx.h" #include "openttd.h" #include "table/strings.h" -#include "strings.h" #include "table/sprites.h" #include "functions.h" #include "gui.h" @@ -17,6 +16,7 @@ #include "news.h" #include "variables.h" #include "newgrf_engine.h" +#include "strings_func.h" static StringID GetEngineCategoryName(EngineID engine)
--- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -12,7 +12,6 @@ #include "window_gui.h" #include "textbuf_gui.h" #include "gfx.h" -#include "strings.h" #include "gfxinit.h" #include "player.h" #include "command.h" @@ -26,6 +25,7 @@ #include "thread.h" #include "date.h" #include "newgrf_config.h" +#include "strings_func.h" /** * In what 'mode' the GenerateLandscapeWindowProc is.
--- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "functions.h" #include "spritecache.h" -#include "strings.h" #include "string.h" #include "gfx.h" #include "table/palettes.h" @@ -20,6 +19,7 @@ #include "texteff.hpp" #include "blitter/factory.hpp" #include "video/video_driver.hpp" +#include "strings_func.h" byte _dirkeys; ///< 1 = left, 2 = up, 4 = right, 8 = down bool _fullscreen;
--- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -5,7 +5,6 @@ #include "stdafx.h" #include "openttd.h" #include "table/strings.h" -#include "strings.h" #include "table/sprites.h" #include "functions.h" #include "gui.h" @@ -17,6 +16,7 @@ #include "date.h" #include "helpers.hpp" #include "cargotype.h" +#include "strings_func.h" /* Bitmasks of player and cargo indices that shouldn't be drawn. */ static uint _legend_excluded_players;
--- a/src/group_cmd.cpp +++ b/src/group_cmd.cpp @@ -17,8 +17,8 @@ #include "aircraft.h" #include "string.h" #include "vehicle_gui.h" -#include "strings.h" #include "misc/autoptr.hpp" +#include "strings_func.h" /** * Update the num engines of a groupID. Decrease the old one and increase the new one
--- a/src/group_gui.cpp +++ b/src/group_gui.cpp @@ -21,8 +21,8 @@ #include "group.h" #include "helpers.hpp" #include "viewport.h" -#include "strings.h" #include "debug.h" +#include "strings_func.h" struct Sorting {
--- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -9,7 +9,6 @@ #include "industry_map.h" #include "station_map.h" #include "table/strings.h" -#include "strings.h" #include "table/sprites.h" #include "map.h" #include "train.h" @@ -40,6 +39,7 @@ #include "autoslope.h" #include "transparency.h" #include "water.h" +#include "strings_func.h" void ShowIndustryViewWindow(int industry); void BuildOilRig(TileIndex tile);
--- a/src/industry_gui.cpp +++ b/src/industry_gui.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "debug.h" #include "functions.h" -#include "strings.h" #include "table/strings.h" #include "table/sprites.h" #include "map.h" @@ -26,6 +25,7 @@ #include "newgrf_industries.h" #include "newgrf_text.h" #include "date.h" +#include "strings_func.h" bool _ignore_restrictions;
--- a/src/intro_gui.cpp +++ b/src/intro_gui.cpp @@ -5,7 +5,6 @@ #include "stdafx.h" #include "openttd.h" #include "table/strings.h" -#include "strings.h" #include "table/sprites.h" #include "functions.h" #include "gui.h" @@ -20,6 +19,7 @@ #include "genworld.h" #include "network/network_gui.h" #include "newgrf.h" +#include "strings_func.h" static const Widget _select_game_widgets[] = { { WWT_CAPTION, RESIZE_NONE, 13, 0, 335, 0, 13, STR_0307_OPENTTD, STR_NULL},
--- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -9,7 +9,6 @@ #include "functions.h" #include "spritecache.h" #include "station.h" -#include "strings.h" #include "table/sprites.h" #include "table/strings.h" #include "map.h" @@ -51,6 +50,7 @@ #include "network/network_gui.h" #include "industry.h" #include "transparency.h" +#include "strings_func.h" static int _rename_id = 1; static int _rename_what = -1;
--- a/src/misc_cmd.cpp +++ b/src/misc_cmd.cpp @@ -18,7 +18,7 @@ #include "variables.h" #include "livery.h" #include "player_face.h" -#include "strings.h" +#include "strings_func.h" /** Change the player's face. * @param tile unused
--- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -11,10 +11,8 @@ #include "newgrf.h" #include "newgrf_text.h" #include "saveload.h" -#include "strings.h" #include "table/sprites.h" #include "table/strings.h" -#include "strings.h" #include "table/tree_land.h" #include "map.h" #include "tile_map.h" @@ -39,8 +37,7 @@ #include "date.h" #include "cargotype.h" #include "player_face.h" -#include "fileio.h" - +#include "strings_func.h" #include "fileio.h" #include "fios.h" /* Variables to display file lists */
--- a/src/music_gui.cpp +++ b/src/music_gui.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "table/strings.h" #include "table/sprites.h" -#include "strings.h" #include "functions.h" #include "fileio.h" #include "gfx.h" @@ -15,6 +14,7 @@ #include "music.h" #include "music/music_driver.hpp" #include "window_gui.h" +#include "strings_func.h" static byte _music_wnd_cursong; static bool _song_is_active;
--- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -11,7 +11,7 @@ #include "../debug.h" #include "../functions.h" #include "../string.h" -#include "../strings.h" +#include "../strings_func.h" #include "../map.h" #include "../command.h" #include "../variables.h"
--- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -6,7 +6,6 @@ #include "../debug.h" #include "../string.h" #include "../openttd.h" -#include "../strings.h" #include "network_data.h" #include "core/tcp.h" #include "../date.h" @@ -23,6 +22,7 @@ #include "../helpers.hpp" #include "../fileio.h" #include "../md5.h" +#include "../strings_func.h" // This file handles all the client-commands
--- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -4,7 +4,7 @@ #include "../stdafx.h" #include "../openttd.h" #include "../string.h" -#include "../strings.h" +#include "../strings_func.h" #include "../table/sprites.h" #include "network.h" #include "../date.h"
--- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -6,7 +6,7 @@ #include "../openttd.h" // XXX StringID #include "../debug.h" #include "../string.h" -#include "../strings.h" +#include "../strings_func.h" #include "network_data.h" #include "core/tcp.h" #include "../train.h"
--- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -18,7 +18,6 @@ #include "newgrf.h" #include "variables.h" #include "string.h" -#include "strings.h" #include "table/strings.h" #include "bridge.h" #include "town.h" @@ -49,6 +48,7 @@ #include "gfxinit.h" #include "fios.h" #include "rail.h" +#include "strings_func.h" /* TTDPatch extended GRF format codec * (c) Petr Baudis 2004 (GPL'd)
--- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -14,8 +14,8 @@ #include "table/sprites.h" #include "newgrf.h" #include "newgrf_config.h" -#include "strings.h" #include "helpers.hpp" +#include "strings_func.h" /** Parse an integerlist string and set each found value * @param p the string to be parsed. Each element in the list is seperated by a
--- a/src/newgrf_house.cpp +++ b/src/newgrf_house.cpp @@ -14,7 +14,6 @@ #include "town_map.h" #include "sound.h" #include "sprite.h" -#include "strings.h" #include "table/strings.h" #include "table/sprites.h" #include "table/town_land.h"
--- a/src/newgrf_text.cpp +++ b/src/newgrf_text.cpp @@ -13,7 +13,6 @@ #include "debug.h" #include "openttd.h" #include "string.h" -#include "strings.h" #include "variables.h" #include "table/strings.h" #include "newgrf.h" @@ -21,6 +20,7 @@ #include "table/control_codes.h" #include "helpers.hpp" #include "date.h" +#include "strings_func.h" #define GRFTAB 28 #define TABSIZE 11
--- a/src/news_gui.cpp +++ b/src/news_gui.cpp @@ -4,7 +4,6 @@ #include "stdafx.h" #include "openttd.h" #include "functions.h" -#include "strings.h" #include "table/sprites.h" #include "table/strings.h" #include "gui.h" @@ -18,6 +17,7 @@ #include "date.h" #include "string.h" #include "transparency.h" +#include "strings_func.h" /** @file news_gui.cpp *
--- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -13,12 +13,10 @@ #include "openttd.h" #include "table/strings.h" -#include "strings.h" #include "bridge_map.h" #include "functions.h" #include "mixer.h" #include "spritecache.h" -#include "strings.h" #include "gfx.h" #include "gfxinit.h" #include "gui.h" @@ -67,6 +65,7 @@ #include "sound/sound_driver.hpp" #include "music/music_driver.hpp" #include "video/video_driver.hpp" +#include "strings_func.h" #include "bridge_map.h" #include "clear_map.h"
--- a/src/openttd.h +++ b/src/openttd.h @@ -9,6 +9,7 @@ #endif #include "helpers.hpp" +#include "strings_type.h" struct Oblong { int x, y; @@ -49,8 +50,6 @@ }; typedef uint16 EngineID; typedef uint16 UnitID; -typedef uint16 StringID; -static const StringID INVALID_STRING_ID = 0xFFFF; typedef EngineID *EngineList; ///< engine list type placeholder acceptable for C code (see helpers.cpp) @@ -514,69 +513,6 @@ EXPENSES_OTHER = 12, }; -enum { - MAX_LANG = 64, -}; - -// special string constants -enum SpecialStrings { - - // special strings for town names. the town name is generated dynamically on request. - SPECSTR_TOWNNAME_START = 0x20C0, - SPECSTR_TOWNNAME_ENGLISH = SPECSTR_TOWNNAME_START, - SPECSTR_TOWNNAME_FRENCH, - SPECSTR_TOWNNAME_GERMAN, - SPECSTR_TOWNNAME_AMERICAN, - SPECSTR_TOWNNAME_LATIN, - SPECSTR_TOWNNAME_SILLY, - SPECSTR_TOWNNAME_SWEDISH, - SPECSTR_TOWNNAME_DUTCH, - SPECSTR_TOWNNAME_FINNISH, - SPECSTR_TOWNNAME_POLISH, - SPECSTR_TOWNNAME_SLOVAKISH, - SPECSTR_TOWNNAME_NORWEGIAN, - SPECSTR_TOWNNAME_HUNGARIAN, - SPECSTR_TOWNNAME_AUSTRIAN, - SPECSTR_TOWNNAME_ROMANIAN, - SPECSTR_TOWNNAME_CZECH, - SPECSTR_TOWNNAME_SWISS, - SPECSTR_TOWNNAME_DANISH, - SPECSTR_TOWNNAME_TURKISH, - SPECSTR_TOWNNAME_ITALIAN, - SPECSTR_TOWNNAME_CATALAN, - SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_CATALAN, - - // special strings for player names on the form "TownName transport". - SPECSTR_PLAYERNAME_START = 0x70EA, - SPECSTR_PLAYERNAME_ENGLISH = SPECSTR_PLAYERNAME_START, - SPECSTR_PLAYERNAME_FRENCH, - SPECSTR_PLAYERNAME_GERMAN, - SPECSTR_PLAYERNAME_AMERICAN, - SPECSTR_PLAYERNAME_LATIN, - SPECSTR_PLAYERNAME_SILLY, - SPECSTR_PLAYERNAME_LAST = SPECSTR_PLAYERNAME_SILLY, - - SPECSTR_ANDCO_NAME = 0x70E6, - SPECSTR_PRESIDENT_NAME = 0x70E7, - SPECSTR_SONGNAME = 0x70E8, - - // reserve MAX_LANG strings for the *.lng files - SPECSTR_LANGUAGE_START = 0x7100, - SPECSTR_LANGUAGE_END = SPECSTR_LANGUAGE_START + MAX_LANG - 1, - - // reserve 32 strings for various screen resolutions - SPECSTR_RESOLUTION_START = SPECSTR_LANGUAGE_END + 1, - SPECSTR_RESOLUTION_END = SPECSTR_RESOLUTION_START + 0x1F, - - // reserve 32 strings for screenshot formats - SPECSTR_SCREENSHOT_START = SPECSTR_RESOLUTION_END + 1, - SPECSTR_SCREENSHOT_END = SPECSTR_SCREENSHOT_START + 0x1F, - - // Used to implement SetDParamStr - STR_SPEC_DYNSTRING = 0xF800, - STR_SPEC_USERSTRING = 0xF808, -}; - typedef void PlaceProc(TileIndex tile); enum {
--- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -18,8 +18,8 @@ #include "saveload.h" #include "vehicle_gui.h" #include "cargotype.h" -#include "strings.h" #include "aircraft.h" +#include "strings_func.h" DEFINE_OLD_POOL_GENERIC(Order, Order)
--- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -8,7 +8,6 @@ #include "station_map.h" #include "table/sprites.h" #include "table/strings.h" -#include "strings.h" #include "functions.h" #include "map.h" #include "gui.h" @@ -27,6 +26,7 @@ #include "timetable.h" #include "cargotype.h" #include "order.h" +#include "strings_func.h" enum OrderWindowWidgets { ORDER_WIDGET_CLOSEBOX = 0,
--- a/src/player_gui.cpp +++ b/src/player_gui.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "table/sprites.h" #include "table/strings.h" -#include "strings.h" #include "functions.h" #include "gui.h" #include "window_gui.h" @@ -28,6 +27,7 @@ #include "network/network_client.h" #include "network/network_gui.h" #include "player_face.h" +#include "strings_func.h" static void DoShowPlayerFinances(PlayerID player, bool show_small, bool show_stickied); static void DoSelectPlayerFace(PlayerID player, bool show_big);
--- a/src/players.cpp +++ b/src/players.cpp @@ -7,7 +7,6 @@ #include "engine.h" #include "functions.h" #include "string.h" -#include "strings.h" #include "table/strings.h" #include "table/sprites.h" #include "map.h" @@ -30,6 +29,7 @@ #include "settings.h" #include "window_func.h" #include "tile_map.h" +#include "strings_func.h" /** * Sets the local player and updates the patch settings that are set on a
--- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "table/sprites.h" #include "table/strings.h" -#include "strings.h" #include "functions.h" #include "landscape.h" #include "date.h" @@ -26,6 +25,7 @@ #include "newgrf_callbacks.h" #include "newgrf_station.h" #include "train.h" +#include "strings_func.h" #include "bridge_map.h" #include "rail_map.h"
--- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -13,7 +13,6 @@ #include "sprite.h" #include "table/sprites.h" #include "table/strings.h" -#include "strings.h" #include "functions.h" #include "map.h" #include "landscape.h" @@ -35,6 +34,7 @@ #include "transparency.h" #include "tunnelbridge_map.h" #include "window_func.h" +#include "strings_func.h" #define M(x) (1 << (x))
--- a/src/road_gui.cpp +++ b/src/road_gui.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "table/sprites.h" #include "table/strings.h" -#include "strings.h" #include "functions.h" #include "map.h" #include "gui.h"
--- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -11,7 +11,6 @@ #include "roadveh.h" #include "station_map.h" #include "table/strings.h" -#include "strings.h" #include "map.h" #include "vehicle.h" #include "timetable.h" @@ -36,6 +35,7 @@ #include "yapf/yapf.h" #include "date.h" #include "cargotype.h" +#include "strings_func.h" #include "tunnelbridge_map.h"
--- a/src/roadveh_gui.cpp +++ b/src/roadveh_gui.cpp @@ -11,13 +11,13 @@ #include "table/strings.h" #include "gui.h" #include "window_gui.h" -#include "strings.h" #include "vehicle.h" #include "viewport.h" #include "command.h" #include "depot.h" #include "vehicle_gui.h" #include "newgrf_engine.h" +#include "strings_func.h" void DrawRoadVehDetails(const Vehicle *v, int x, int y)
--- a/src/saveload.cpp +++ b/src/saveload.cpp @@ -26,8 +26,8 @@ #include "network/network.h" #include "variables.h" #include "table/strings.h" -#include "strings.h" #include "window_func.h" +#include "strings_func.h" #include <list> extern const uint16 SAVEGAME_VERSION = 83;
--- a/src/screenshot.cpp +++ b/src/screenshot.cpp @@ -4,7 +4,6 @@ #include "openttd.h" #include "debug.h" #include "functions.h" -#include "strings.h" #include "table/strings.h" #include "gfx.h" #include "fileio.h" @@ -17,6 +16,7 @@ #include "helpers.hpp" #include "blitter/factory.hpp" #include "fileio.h" +#include "strings_func.h" char _screenshot_format_name[8]; uint _num_screenshot_formats;
--- a/src/settings.cpp +++ b/src/settings.cpp @@ -28,7 +28,6 @@ #include "string.h" #include "variables.h" #include "network/network.h" -#include "strings.h" #include "settings.h" #include "command.h" #include "console.h" @@ -44,6 +43,7 @@ #include "helpers.hpp" #include "news.h" #include "window_func.h" +#include "strings_func.h" #ifdef WITH_FREETYPE #include "gfx.h" #include "fontcache.h"
--- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -7,7 +7,6 @@ #include "currency.h" #include "functions.h" #include "string.h" -#include "strings.h" // XXX GetCurrentCurrencyRate() #include "table/sprites.h" #include "table/strings.h" #include "gui.h" @@ -26,6 +25,7 @@ #include "date.h" #include "helpers.hpp" #include "newgrf_townname.h" +#include "strings_func.h" static uint32 _difficulty_click_a; static uint32 _difficulty_click_b;
--- a/src/ship_cmd.cpp +++ b/src/ship_cmd.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "ship.h" #include "table/strings.h" -#include "strings.h" #include "functions.h" #include "landscape.h" #include "map.h" @@ -33,6 +32,7 @@ #include "date.h" #include "spritecache.h" #include "misc/autoptr.hpp" +#include "strings_func.h" static const uint16 _ship_sprites[] = {0x0E5D, 0x0E55, 0x0E65, 0x0E6D};
--- a/src/ship_gui.cpp +++ b/src/ship_gui.cpp @@ -8,7 +8,6 @@ #include "functions.h" #include "ship.h" #include "table/strings.h" -#include "strings.h" #include "table/sprites.h" #include "gui.h" #include "window_gui.h" @@ -18,6 +17,7 @@ #include "depot.h" #include "vehicle_gui.h" #include "newgrf_engine.h" +#include "strings_func.h" void DrawShipImage(const Vehicle *v, int x, int y, VehicleID selection) {
--- a/src/signs.cpp +++ b/src/signs.cpp @@ -5,7 +5,6 @@ #include "stdafx.h" #include "openttd.h" #include "table/strings.h" -#include "strings.h" #include "functions.h" #include "landscape.h" #include "player.h" @@ -15,6 +14,7 @@ #include "variables.h" #include "string.h" #include "misc/autoptr.hpp" +#include "strings_func.h" SignID _new_sign_id; uint _total_signs;
--- a/src/signs_gui.cpp +++ b/src/signs_gui.cpp @@ -13,11 +13,11 @@ #include "gfx.h" #include "player.h" #include "signs.h" -#include "strings.h" #include "debug.h" #include "variables.h" #include "helpers.hpp" #include "command.h" +#include "strings_func.h" static const Sign **_sign_sort; static uint _num_sign_sort;
--- a/src/smallmap_gui.cpp +++ b/src/smallmap_gui.cpp @@ -11,7 +11,6 @@ #include "industry.h" #include "station_map.h" #include "table/strings.h" -#include "strings.h" #include "table/sprites.h" #include "landscape.h" #include "map.h" @@ -28,6 +27,7 @@ #include "variables.h" #include "blitter/factory.hpp" #include "tunnelbridge_map.h" +#include "strings_func.h" static const Widget _smallmap_widgets[] = {
--- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -41,11 +41,11 @@ #include "road_type.h" #include "road_internal.h" /* For drawing catenary/checking road removal */ #include "cargotype.h" -#include "strings.h" #include "autoslope.h" #include "transparency.h" #include "water.h" #include "station_gui.h" +#include "strings_func.h" DEFINE_OLD_POOL_GENERIC(Station, Station) DEFINE_OLD_POOL_GENERIC(RoadStop, RoadStop)
--- a/src/station_gui.cpp +++ b/src/station_gui.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "debug.h" #include "functions.h" -#include "strings.h" #include "table/strings.h" #include "gui.h" #include "window_gui.h" @@ -26,6 +25,7 @@ #include "cargotype.h" #include "station_gui.h" #include "station.h" +#include "strings_func.h" typedef int CDECL StationSortListingTypeFunction(const void*, const void*);
--- a/src/strgen/strgen.cpp +++ b/src/strgen/strgen.cpp @@ -1,7 +1,6 @@ /* $Id$ */ #include "../stdafx.h" -#include "../macros.h" #include "../string.h" #include "../table/control_codes.h" #include "../helpers.hpp"
--- a/src/strings.cpp +++ b/src/strings.cpp @@ -7,7 +7,6 @@ #include "currency.h" #include "functions.h" #include "string.h" -#include "strings.h" #include "table/strings.h" #include "namegen.h" #include "station.h" @@ -35,6 +34,7 @@ #include "spritecache.h" #include "fontcache.h" #include "gui.h" +#include "strings_func.h" /* for opendir/readdir/closedir */ # include "fios.h"
deleted file mode 100644 --- a/src/strings.h +++ /dev/null @@ -1,88 +0,0 @@ -/* $Id$ */ - -/** @file strings.h */ - -#ifndef STRINGS_H -#define STRINGS_H - -char *InlineString(char *buf, StringID string); -char *GetString(char *buffr, StringID string, const char *last); - -extern char _userstring[128]; - -void InjectDParam(int amount); - -static inline void SetDParamX(uint64 *s, uint n, uint64 v) -{ - s[n] = v; -} - -static inline void SetDParam(uint n, uint64 v) -{ - extern uint64 _decode_parameters[20]; - - assert(n < lengthof(_decode_parameters)); - _decode_parameters[n] = v; -} - -/* Used to bind a C string name to a dparam number. - * NOTE: This has a short lifetime. You can't - * use this string much later or it will be gone. */ -void SetDParamStr(uint n, const char *str); - -/** This function takes a C-string and allocates a temporary string ID. - * The duration of the bound string is valid only until the next call to GetString, - * so be careful. */ -StringID BindCString(const char *str); - -static inline uint64 GetDParamX(const uint64 *s, uint n) -{ - return s[n]; -} - -static inline uint64 GetDParam(uint n) -{ - extern uint64 _decode_parameters[20]; - - assert(n < lengthof(_decode_parameters)); - return _decode_parameters[n]; -} - -static inline void CopyInDParam(int offs, const uint64 *src, int num) -{ - extern uint64 _decode_parameters[20]; - memcpy(_decode_parameters + offs, src, sizeof(uint64) * (num)); -} - -static inline void CopyOutDParam(uint64 *dst, int offs, int num) -{ - extern uint64 _decode_parameters[20]; - memcpy(dst, _decode_parameters + offs, sizeof(uint64) * (num)); -} - - -/** Information about a language */ -struct Language { - char *name; ///< The internal name of the language - char *file; ///< The name of the language as it appears on disk -}; - -/** Used for dynamic language support */ -struct DynamicLanguages { - int num; ///< Number of languages - int curr; ///< Currently selected language index - char curr_file[MAX_PATH]; ///< Currently selected language file name without path (needed for saving the filename of the loaded language). - StringID dropdown[MAX_LANG + 1]; ///< List of languages in the settings gui - Language ent[MAX_LANG]; ///< Information about the languages -}; - -extern DynamicLanguages _dynlang; // defined in strings.cpp - -bool ReadLanguagePack(int index); -void InitializeLanguagePacks(); - -int CDECL StringIDSorter(const void *a, const void *b); - -void CheckForMissingGlyphsInLoadedLanguagePack(); - -#endif /* STRINGS_H */
new file mode 100644 --- /dev/null +++ b/src/strings_func.h @@ -0,0 +1,74 @@ +/* $Id$ */ + +/** @file strings_func.h Functions related to OTTD's strings. */ + +#ifndef STRINGS_FUNC_H +#define STRINGS_FUNC_H + +#include "strings_type.h" + +char *InlineString(char *buf, StringID string); +char *GetString(char *buffr, StringID string, const char *last); + +extern char _userstring[128]; + +void InjectDParam(int amount); + +static inline void SetDParamX(uint64 *s, uint n, uint64 v) +{ + s[n] = v; +} + +static inline void SetDParam(uint n, uint64 v) +{ + extern uint64 _decode_parameters[20]; + + assert(n < lengthof(_decode_parameters)); + _decode_parameters[n] = v; +} + +/* Used to bind a C string name to a dparam number. + * NOTE: This has a short lifetime. You can't + * use this string much later or it will be gone. */ +void SetDParamStr(uint n, const char *str); + +/** This function takes a C-string and allocates a temporary string ID. + * The duration of the bound string is valid only until the next call to GetString, + * so be careful. */ +StringID BindCString(const char *str); + +static inline uint64 GetDParamX(const uint64 *s, uint n) +{ + return s[n]; +} + +static inline uint64 GetDParam(uint n) +{ + extern uint64 _decode_parameters[20]; + + assert(n < lengthof(_decode_parameters)); + return _decode_parameters[n]; +} + +static inline void CopyInDParam(int offs, const uint64 *src, int num) +{ + extern uint64 _decode_parameters[20]; + memcpy(_decode_parameters + offs, src, sizeof(uint64) * (num)); +} + +static inline void CopyOutDParam(uint64 *dst, int offs, int num) +{ + extern uint64 _decode_parameters[20]; + memcpy(dst, _decode_parameters + offs, sizeof(uint64) * (num)); +} + +extern DynamicLanguages _dynlang; // defined in strings.cpp + +bool ReadLanguagePack(int index); +void InitializeLanguagePacks(); + +int CDECL StringIDSorter(const void *a, const void *b); + +void CheckForMissingGlyphsInLoadedLanguagePack(); + +#endif /* STRINGS_TYPE_H */
new file mode 100644 --- /dev/null +++ b/src/strings_type.h @@ -0,0 +1,89 @@ +/* $Id$ */ + +/** @file strings_type.h Types related to strings. */ + +#ifndef STRINGS_TYPE_H +#define STRINGS_TYPE_H + +typedef uint16 StringID; +static const StringID INVALID_STRING_ID = 0xFFFF; + +enum { + MAX_LANG = 64, +}; + +/** Information about a language */ +struct Language { + char *name; ///< The internal name of the language + char *file; ///< The name of the language as it appears on disk +}; + +/** Used for dynamic language support */ +struct DynamicLanguages { + int num; ///< Number of languages + int curr; ///< Currently selected language index + char curr_file[MAX_PATH]; ///< Currently selected language file name without path (needed for saving the filename of the loaded language). + StringID dropdown[MAX_LANG + 1]; ///< List of languages in the settings gui + Language ent[MAX_LANG]; ///< Information about the languages +}; + +// special string constants +enum SpecialStrings { + + // special strings for town names. the town name is generated dynamically on request. + SPECSTR_TOWNNAME_START = 0x20C0, + SPECSTR_TOWNNAME_ENGLISH = SPECSTR_TOWNNAME_START, + SPECSTR_TOWNNAME_FRENCH, + SPECSTR_TOWNNAME_GERMAN, + SPECSTR_TOWNNAME_AMERICAN, + SPECSTR_TOWNNAME_LATIN, + SPECSTR_TOWNNAME_SILLY, + SPECSTR_TOWNNAME_SWEDISH, + SPECSTR_TOWNNAME_DUTCH, + SPECSTR_TOWNNAME_FINNISH, + SPECSTR_TOWNNAME_POLISH, + SPECSTR_TOWNNAME_SLOVAKISH, + SPECSTR_TOWNNAME_NORWEGIAN, + SPECSTR_TOWNNAME_HUNGARIAN, + SPECSTR_TOWNNAME_AUSTRIAN, + SPECSTR_TOWNNAME_ROMANIAN, + SPECSTR_TOWNNAME_CZECH, + SPECSTR_TOWNNAME_SWISS, + SPECSTR_TOWNNAME_DANISH, + SPECSTR_TOWNNAME_TURKISH, + SPECSTR_TOWNNAME_ITALIAN, + SPECSTR_TOWNNAME_CATALAN, + SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_CATALAN, + + // special strings for player names on the form "TownName transport". + SPECSTR_PLAYERNAME_START = 0x70EA, + SPECSTR_PLAYERNAME_ENGLISH = SPECSTR_PLAYERNAME_START, + SPECSTR_PLAYERNAME_FRENCH, + SPECSTR_PLAYERNAME_GERMAN, + SPECSTR_PLAYERNAME_AMERICAN, + SPECSTR_PLAYERNAME_LATIN, + SPECSTR_PLAYERNAME_SILLY, + SPECSTR_PLAYERNAME_LAST = SPECSTR_PLAYERNAME_SILLY, + + SPECSTR_ANDCO_NAME = 0x70E6, + SPECSTR_PRESIDENT_NAME = 0x70E7, + SPECSTR_SONGNAME = 0x70E8, + + // reserve MAX_LANG strings for the *.lng files + SPECSTR_LANGUAGE_START = 0x7100, + SPECSTR_LANGUAGE_END = SPECSTR_LANGUAGE_START + MAX_LANG - 1, + + // reserve 32 strings for various screen resolutions + SPECSTR_RESOLUTION_START = SPECSTR_LANGUAGE_END + 1, + SPECSTR_RESOLUTION_END = SPECSTR_RESOLUTION_START + 0x1F, + + // reserve 32 strings for screenshot formats + SPECSTR_SCREENSHOT_START = SPECSTR_RESOLUTION_END + 1, + SPECSTR_SCREENSHOT_END = SPECSTR_SCREENSHOT_START + 0x1F, + + // Used to implement SetDParamStr + STR_SPEC_DYNSTRING = 0xF800, + STR_SPEC_USERSTRING = 0xF808, +}; + +#endif /* STRINGS_TYPE_H */
--- a/src/subsidy_gui.cpp +++ b/src/subsidy_gui.cpp @@ -5,7 +5,6 @@ #include "stdafx.h" #include "openttd.h" #include "table/strings.h" -#include "strings.h" #include "functions.h" #include "station.h" #include "industry.h" @@ -17,6 +16,7 @@ #include "date.h" #include "cargotype.h" #include "window_gui.h" +#include "strings_func.h" static void HandleSubsidyClick(int y) {
--- a/src/texteff.cpp +++ b/src/texteff.cpp @@ -5,7 +5,6 @@ #include "stdafx.h" #include "openttd.h" #include "functions.h" -#include "strings.h" #include "gfx.h" #include "landscape.h" #include "viewport.h" @@ -20,6 +19,7 @@ #include "texteff.hpp" #include "video/video_driver.hpp" #include "transparency.h" +#include "strings_func.h" enum { MAX_TEXTMESSAGE_LENGTH = 200,
--- a/src/timetable_gui.cpp +++ b/src/timetable_gui.cpp @@ -7,7 +7,6 @@ #include "functions.h" #include "variables.h" #include "table/strings.h" -#include "strings.h" #include "command.h" #include "date.h" #include "engine.h" @@ -18,6 +17,7 @@ #include "vehicle.h" #include "cargotype.h" #include "depot.h" +#include "strings_func.h" static int GetOrderFromTimetableWndPt(Window *w, int y, const Vehicle *v) {
--- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "functions.h" #include "debug.h" -#include "strings.h" #include "road_map.h" #include "road_internal.h" /* Cleaning up road bits */ #include "table/strings.h" @@ -45,6 +44,7 @@ #include "waypoint.h" #include "transparency.h" #include "tunnelbridge_map.h" +#include "strings_func.h" /* Initialize the town-pool */
--- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -6,7 +6,6 @@ #include "openttd.h" #include "debug.h" #include "functions.h" -#include "strings.h" #include "table/sprites.h" #include "table/strings.h" #include "town.h" @@ -20,6 +19,7 @@ #include "network/network.h" #include "variables.h" #include "helpers.hpp" +#include "strings_func.h" enum TownAuthorityWidget { TWA_CLOSEBOX = 0,
--- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -11,7 +11,6 @@ #include "gui.h" #include "station_map.h" #include "table/strings.h" -#include "strings.h" #include "map.h" #include "tunnel_map.h" #include "vehicle.h" @@ -42,6 +41,7 @@ #include "group.h" #include "table/sprites.h" #include "tunnelbridge_map.h" +#include "strings_func.h" static bool TrainCheckIfLineEnds(Vehicle *v);
--- a/src/train_gui.cpp +++ b/src/train_gui.cpp @@ -8,7 +8,6 @@ #include "functions.h" #include "table/sprites.h" #include "table/strings.h" -#include "strings.h" #include "gui.h" #include "window_gui.h" #include "vehicle.h" @@ -18,6 +17,7 @@ #include "depot.h" #include "train.h" #include "newgrf_engine.h" +#include "strings_func.h" void CcBuildWagon(bool success, TileIndex tile, uint32 p1, uint32 p2) {
--- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -12,7 +12,6 @@ #include "road_map.h" #include "table/sprites.h" #include "table/strings.h" -#include "strings.h" #include "functions.h" #include "map.h" #include "landscape.h" @@ -35,6 +34,7 @@ #include "transparency.h" #include "tunnelbridge_map.h" #include "table/bridge_land.h" +#include "strings_func.h" const Bridge orig_bridge[] = {
--- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -42,8 +42,8 @@ #include "helpers.hpp" #include "group.h" #include "economy.h" -#include "strings.h" #include "order.h" +#include "strings_func.h" #define INVALID_COORD (0x7fffffff) #define GEN_HASH(x, y) ((GB((y), 6, 6) << 6) + GB((x), 7, 6))
--- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -8,7 +8,6 @@ #include "functions.h" #include "player.h" #include "station.h" -#include "strings.h" #include "table/sprites.h" #include "table/strings.h" #include "vehicle.h" @@ -34,6 +33,7 @@ #include "cargotype.h" #include "group.h" #include "group_gui.h" +#include "strings_func.h" struct Sorting { Listing aircraft;
--- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -8,7 +8,6 @@ #include "functions.h" #include "gui.h" #include "spritecache.h" -#include "strings.h" #include "table/sprites.h" #include "table/strings.h" #include "landscape.h" @@ -26,6 +25,7 @@ #include "vehicle_gui.h" #include "blitter/factory.hpp" #include "transparency.h" +#include "strings_func.h" #define VIEWPORT_DRAW_MEM (65536 * 2)
--- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -10,7 +10,6 @@ #include "station_map.h" #include "table/sprites.h" #include "table/strings.h" -#include "strings.h" #include "functions.h" #include "landscape.h" #include "map.h" @@ -31,6 +30,7 @@ #include "newgrf_canal.h" #include "misc/autoptr.hpp" #include "transparency.h" +#include "strings_func.h" /** Array for the shore sprites */ static const SpriteID _water_shore_sprites[] = {