#include "stdafx.h"
#include "openttd.h"
#include "heightmap.h"
#include "currency.h"
#include "spritecache.h"
#include "gui.h"
#include "window_gui.h"
#include "window_func.h"
#include "textbuf_gui.h"
#include "viewport_func.h"
#include "command_func.h"
#include "news.h"
#include "town.h"
#include "console.h"
#include "signs.h"
#include "waypoint.h"
#include "variables.h"
#include "train.h"
#include "roadveh.h"
#include "bridge_map.h"
#include "screenshot.h"
#include "genworld.h"
#include "vehicle_gui.h"
#include "transparency_gui.h"
#include "newgrf_config.h"
#include "rail_gui.h"
#include "road_gui.h"
#include "date_func.h"
#include "functions.h"
#include "vehicle_func.h"
#include "sound_func.h"
#include "fios.h"
#include "terraform_gui.h"
#include "industry.h"
#include "transparency.h"
#include "strings_func.h"
#include "zoom_func.h"
#include "string_func.h"
#include "player_base.h"
#include "player_func.h"
#include "player_gui.h"
#include "settings_type.h"
#include "network/network.h"
#include "network/network_data.h"
#include "network/network_client.h"
#include "network/network_server.h"
#include "network/network_gui.h"
#include "table/sprites.h"
#include "table/strings.h"
Go to the source code of this file.
Typedefs | |
typedef void | MenuClickedProc (int index) |
typedef void | ToolbarButtonProc (Window *w) |
Functions | |
void | GenerateIndustries () |
This function will create ramdon industries during game creation. | |
bool | GenerateTowns () |
void | CcGiveMoney (bool success, TileIndex tile, uint32 p1, uint32 p2) |
void | HandleOnEditText (const char *str) |
bool | HandlePlacePushButton (Window *w, int widget, CursorID cursor, ViewportHighlightMode mode, PlaceProc *placeproc) |
This code is shared for the majority of the pushbuttons. | |
void | CcPlaySound10 (bool success, TileIndex tile, uint32 p1, uint32 p2) |
static void | ToolbarPauseClick (Window *w) |
static void | ToolbarFastForwardClick (Window *w) |
static void | MenuClickSettings (int index) |
static void | MenuClickSaveLoad (int index) |
static void | MenuClickMap (int index) |
static void | MenuClickTown (int index) |
static void | MenuClickScenMap (int index) |
static void | MenuClickSubsidies (int index) |
static void | MenuClickStations (int index) |
static void | MenuClickFinances (int index) |
static void | MenuClickCompany (int index) |
static void | MenuClickGraphs (int index) |
static void | MenuClickLeague (int index) |
static void | MenuClickIndustry (int index) |
static void | MenuClickShowTrains (int index) |
static void | MenuClickShowRoad (int index) |
static void | MenuClickShowShips (int index) |
static void | MenuClickShowAir (int index) |
static void | MenuClickBuildRail (int index) |
static void | MenuClickBuildRoad (int index) |
static void | MenuClickBuildWater (int index) |
static void | MenuClickBuildAir (int index) |
void | ShowRenameWaypointWindow (const Waypoint *wp) |
static void | SelectSignTool () |
static void | MenuClickForest (int index) |
static void | MenuClickMusicWindow (int index) |
static void | MenuClickNewspaper (int index) |
static void | MenuClickSmallScreenshot () |
static void | MenuClickWorldScreenshot () |
static void | MenuClickHelp (int index) |
static void | MenuWndProc (Window *w, WindowEvent *e) |
static int | GetPlayerIndexFromMenu (int index) |
static void | UpdatePlayerMenuHeight (Window *w) |
static void | PlayerMenuWndProc (Window *w, WindowEvent *e) |
static int | GetStringListMaxWidth (StringID base_string, byte count) |
Get the maximum length of a given string in a string-list. | |
static Window * | PopupMainToolbMenu (Window *w, uint16 parent_button, StringID base_string, byte item_count, byte disabled_mask) |
Show a general dropdown menu. | |
static Window * | PopupMainPlayerToolbMenu (Window *w, int main_button, int gray) |
static void | ToolbarSaveClick (Window *w) |
static void | ToolbarMapClick (Window *w) |
static void | ToolbarTownClick (Window *w) |
static void | ToolbarSubsidiesClick (Window *w) |
static void | ToolbarStationsClick (Window *w) |
static void | ToolbarMoneyClick (Window *w) |
static void | ToolbarPlayersClick (Window *w) |
static void | ToolbarGraphsClick (Window *w) |
static void | ToolbarLeagueClick (Window *w) |
static void | ToolbarIndustryClick (Window *w) |
static void | ToolbarTrainClick (Window *w) |
static void | ToolbarRoadClick (Window *w) |
static void | ToolbarShipClick (Window *w) |
static void | ToolbarAirClick (Window *w) |
bool | DoZoomInOutWindow (int how, Window *w) |
static void | ToolbarZoomInClick (Window *w) |
static void | ToolbarZoomOutClick (Window *w) |
static void | ToolbarBuildRailClick (Window *w) |
static void | ToolbarBuildRoadClick (Window *w) |
static void | ToolbarBuildWaterClick (Window *w) |
static void | ToolbarBuildAirClick (Window *w) |
static void | ToolbarForestClick (Window *w) |
static void | ToolbarMusicClick (Window *w) |
static void | ToolbarNewspaperClick (Window *w) |
static void | ToolbarHelpClick (Window *w) |
static void | ToolbarOptionsClick (Window *w) |
static void | ToolbarScenSaveOrLoad (Window *w) |
static void | ToolbarScenDateBackward (Window *w) |
static void | ToolbarScenDateForward (Window *w) |
static void | ToolbarScenMapTownDir (Window *w) |
static void | ToolbarScenZoomIn (Window *w) |
static void | ToolbarScenZoomOut (Window *w) |
void | ZoomInOrOutToCursorWindow (bool in, Window *w) |
static void | ToolbarScenGenLand (Window *w) |
void | CcBuildTown (bool success, TileIndex tile, uint32 p1, uint32 p2) |
static void | PlaceProc_Town (TileIndex tile) |
static void | ScenEditTownGenWndProc (Window *w, WindowEvent *e) |
static void | ToolbarScenGenTown (Window *w) |
static void | ToolbarScenGenIndustry (Window *w) |
static void | ToolbarScenBuildRoad (Window *w) |
static void | ToolbarScenPlantTrees (Window *w) |
static void | ToolbarScenPlaceSign (Window *w) |
static void | ToolbarBtn_NULL (Window *w) |
static void | MainToolbarWndProc (Window *w, WindowEvent *e) |
static void | ScenEditToolbarWndProc (Window *w, WindowEvent *e) |
static bool | DrawScrollingStatusText (const NewsItem *ni, int pos, int width) |
static void | StatusBarWndProc (Window *w, WindowEvent *e) |
void | UpdateAllStationVirtCoord () |
Update the virtual coords needed to draw the station sign for all stations. | |
static void | MainWindowWndProc (Window *w, WindowEvent *e) |
void | ShowSelectGameWindow () |
void | SetupColorsAndInitialWindow () |
void | ShowVitalWindows () |
void | GameSizeChanged () |
void | InitializeMainGui () |
Variables | |
static int | _rename_id = 1 |
static int | _rename_what = -1 |
RailType | _last_built_railtype |
RoadType | _last_built_roadtype |
static int | _scengen_town_size = 1 |
bool | _draw_bounding_boxes = false |
static MenuClickedProc *const | _menu_clicked_procs [] |
static const Widget | _menu_widgets [] |
static const Widget | _player_menu_widgets [] |
static const Widget | _scen_edit_town_gen_widgets [] |
static const WindowDesc | _scen_edit_town_gen_desc |
static ToolbarButtonProc *const | _toolbar_button_procs [] |
static const Widget | _toolb_normal_widgets [] |
static const WindowDesc | _toolb_normal_desc |
static const Widget | _toolb_scen_widgets [] |
static ToolbarButtonProc *const | _scen_toolbar_button_procs [] |
static const WindowDesc | _toolb_scen_desc |
GetNewsStringCallbackProc *const | _get_news_string_callback [] |
static const Widget | _main_status_widgets [] |
static WindowDesc | _main_status_desc |
Definition in file main_gui.cpp.
void GenerateIndustries | ( | ) |
This function will create ramdon industries during game creation.
It will scale the amount of industries by map size as well as difficulty level
Definition at line 1742 of file industry_cmd.cpp.
References IndustrySpec::appear_creation, IndustrySpec::check_proc, IndustrySpec::enabled, GetIndustrySpec(), GWP_INDUSTRY, IACT_MAPGENERATION, NUM_INDUSTRYTYPES, PlaceInitialIndustry(), ScaleByMapSize(), ScaleByMapSize1D(), and SetGeneratingWorldProgress().
static int GetStringListMaxWidth | ( | StringID | base_string, | |
byte | count | |||
) | [static] |
Get the maximum length of a given string in a string-list.
This is an implicit string-list where the ID's are consecutive
base_string | StringID of the first string in the list | |
count | amount of StringID's in the list |
Definition at line 664 of file main_gui.cpp.
References GetStringBoundingBox().
Referenced by PopupMainToolbMenu().
bool HandlePlacePushButton | ( | Window * | w, | |
int | widget, | |||
CursorID | cursor, | |||
ViewportHighlightMode | mode, | |||
PlaceProc * | placeproc | |||
) |
This code is shared for the majority of the pushbuttons.
Handles e.g. the pressing of a button (to build things), playing of click sound and sets certain parameters
w | Window which called the function | |
widget | ID of the widget (=button) that called this function | |
cursor | How should the cursor image change? E.g. cursor with depot image in it | |
mode | Tile highlighting mode, e.g. drawing a rectangle or a dot on the ground | |
placeproc | Procedure which will be called when someone clicks on the map |
Definition at line 125 of file main_gui.cpp.
References SetWindowDirty().
Referenced by BuildRailClick_AutoSignals(), BuildRoadClick_AutoRoad(), BuildRoadClick_X_Dir(), BuildRoadClick_Y_Dir(), and EditorTerraformClick_Dynamite().
static Window* PopupMainToolbMenu | ( | Window * | w, | |
uint16 | parent_button, | |||
StringID | base_string, | |||
byte | item_count, | |||
byte | disabled_mask | |||
) | [static] |
Show a general dropdown menu.
The positioning of the dropdown menu defaults to the left side of the parent_button, eg the button that caused this window to appear. The only exceptions are when the right side of this dropdown would fall outside the main toolbar window, in that case it is aligned with the toolbar's right side. Since the disable-mask is only 8 bits right now, these dropdowns are restricted to 8 items max if any bits of disabled_mask are active.
w | Pointer to a window this dropdown menu belongs to. Has no effect whatsoever, only graphically for positioning. | |
parent_button | The widget identifier of the button that was clicked for this dropdown. The created dropdown then knows what button to raise (button) on action and whose function to execute (action). It is possible to appoint another button for an action event by setting the upper 8 bits of this parameter. If non is set, action is presumed to be the same as button. So button bits 0 - 7 - widget clicked to get dropdown action bits 8 - 15 - function of widget to execute on select (defaults to bits 0 - 7) | |
base_string | The first StringID shown in the dropdown list. All others are consecutive indeces from the language file. XXX - fix? Use ingame-string tables? | |
item_count | Number of strings in the list, see previous parameter | |
disabled_mask | Bitmask of disabled strings in the list |
Definition at line 702 of file main_gui.cpp.
References AllocateWindow(), Clamp(), GB(), GetStringListMaxWidth(), and max().
void UpdateAllStationVirtCoord | ( | ) |
Update the virtual coords needed to draw the station sign for all stations.
Definition at line 385 of file station_cmd.cpp.
Referenced by CmdRenameTown(), and InitializeWindowsAndCaches().
GetNewsStringCallbackProc *const _get_news_string_callback |
Initial value:
{ GetNewsStringNewVehicleAvail, GetNewsStringBankrupcy, }
Definition at line 84 of file news_gui.cpp.
WindowDesc _main_status_desc [static] |
Initial value:
{ WDP_CENTER, 0, 320, 12, 640, 12, WC_STATUS_BAR, WC_NONE, WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, _main_status_widgets, StatusBarWndProc }
Definition at line 1802 of file main_gui.cpp.
const Widget _main_status_widgets[] [static] |
Initial value:
{ { WWT_PANEL, RESIZE_NONE, 14, 0, 139, 0, 11, 0x0, STR_NULL}, { WWT_PUSHBTN, RESIZE_RIGHT, 14, 140, 179, 0, 11, 0x0, STR_02B7_SHOW_LAST_MESSAGE_OR_NEWS}, { WWT_PUSHBTN, RESIZE_LR, 14, 180, 319, 0, 11, 0x0, STR_NULL}, { WIDGETS_END}, }
Definition at line 1795 of file main_gui.cpp.
MenuClickedProc* const _menu_clicked_procs[] [static] |
Initial value:
{ NULL, NULL, MenuClickSettings, MenuClickSaveLoad, MenuClickMap, MenuClickTown, MenuClickSubsidies, MenuClickStations, MenuClickFinances, MenuClickCompany, MenuClickGraphs, MenuClickLeague, MenuClickIndustry, MenuClickShowTrains, MenuClickShowRoad, MenuClickShowShips, MenuClickShowAir, MenuClickScenMap, NULL, MenuClickBuildRail, MenuClickBuildRoad, MenuClickBuildWater, MenuClickBuildAir, MenuClickForest, MenuClickMusicWindow, MenuClickNewspaper, MenuClickHelp, }
Definition at line 407 of file main_gui.cpp.
const Widget _menu_widgets[] [static] |
Initial value:
{ { WWT_PANEL, RESIZE_NONE, 14, 0, 0, 0, 0, 0x0, STR_NULL}, { WIDGETS_END}, }
Definition at line 512 of file main_gui.cpp.
const Widget _player_menu_widgets[] [static] |
Initial value:
{ { WWT_PANEL, RESIZE_NONE, 14, 0, 240, 0, 81, 0x0, STR_NULL}, { WIDGETS_END}, }
Definition at line 518 of file main_gui.cpp.
const WindowDesc _scen_edit_town_gen_desc [static] |
Initial value:
{ WDP_AUTO, WDP_AUTO, 160, 95, 160, 95, WC_SCEN_TOWN_GEN, WC_NONE, WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_STICKY_BUTTON, _scen_edit_town_gen_widgets, ScenEditTownGenWndProc, }
Definition at line 1169 of file main_gui.cpp.
const Widget _scen_edit_town_gen_widgets[] [static] |
Initial value:
{ { WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW}, { WWT_CAPTION, RESIZE_NONE, 7, 11, 147, 0, 13, STR_0233_TOWN_GENERATION, STR_018C_WINDOW_TITLE_DRAG_THIS}, { WWT_STICKYBOX, RESIZE_NONE, 7, 148, 159, 0, 13, 0x0, STR_STICKY_BUTTON}, { WWT_PANEL, RESIZE_NONE, 7, 0, 159, 14, 94, 0x0, STR_NULL}, { WWT_TEXTBTN, RESIZE_NONE, 14, 2, 157, 16, 27, STR_0234_NEW_TOWN, STR_0235_CONSTRUCT_NEW_TOWN}, { WWT_TEXTBTN, RESIZE_NONE, 14, 2, 157, 29, 40, STR_023D_RANDOM_TOWN, STR_023E_BUILD_TOWN_IN_RANDOM_LOCATION}, { WWT_TEXTBTN, RESIZE_NONE, 14, 2, 157, 42, 53, STR_MANY_RANDOM_TOWNS, STR_RANDOM_TOWNS_TIP}, { WWT_TEXTBTN, RESIZE_NONE, 14, 2, 53, 68, 79, STR_02A1_SMALL, STR_02A4_SELECT_TOWN_SIZE}, { WWT_TEXTBTN, RESIZE_NONE, 14, 54, 105, 68, 79, STR_02A2_MEDIUM, STR_02A4_SELECT_TOWN_SIZE}, { WWT_TEXTBTN, RESIZE_NONE, 14, 106, 157, 68, 79, STR_02A3_LARGE, STR_02A4_SELECT_TOWN_SIZE}, { WWT_TEXTBTN, RESIZE_NONE, 14, 2, 157, 81, 92, STR_SCENARIO_EDITOR_CITY, STR_02A4_SELECT_TOWN_SIZE}, { WWT_LABEL, RESIZE_NONE, 7, 0, 147, 54, 67, STR_02A5_TOWN_SIZE, STR_NULL}, { WIDGETS_END}, }
Definition at line 1085 of file main_gui.cpp.
ToolbarButtonProc* const _scen_toolbar_button_procs[] [static] |
Initial value:
{ ToolbarPauseClick, ToolbarFastForwardClick, ToolbarOptionsClick, ToolbarScenSaveOrLoad, ToolbarBtn_NULL, ToolbarBtn_NULL, ToolbarScenDateBackward, ToolbarScenDateForward, ToolbarScenMapTownDir, ToolbarScenZoomIn, ToolbarScenZoomOut, ToolbarScenGenLand, ToolbarScenGenTown, ToolbarScenGenIndustry, ToolbarScenBuildRoad, ToolbarScenPlantTrees, ToolbarScenPlaceSign, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ToolbarMusicClick, NULL, ToolbarHelpClick, }
Definition at line 1468 of file main_gui.cpp.
const WindowDesc _toolb_normal_desc [static] |
Initial value:
{ 0, 0, 0, 22, 640, 22, WC_MAIN_TOOLBAR, WC_NONE, WDF_STD_TOOLTIPS | WDF_DEF_WIDGET, _toolb_normal_widgets, MainToolbarWndProc }
Definition at line 1422 of file main_gui.cpp.
const WindowDesc _toolb_scen_desc [static] |
Initial value:
{ 0, 0, 130, 22, 640, 22, WC_MAIN_TOOLBAR, WC_NONE, WDF_STD_TOOLTIPS | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS, _toolb_scen_widgets, ScenEditToolbarWndProc }
Definition at line 1656 of file main_gui.cpp.
ToolbarButtonProc* const _toolbar_button_procs[] [static] |
Initial value:
{ ToolbarPauseClick, ToolbarFastForwardClick, ToolbarOptionsClick, ToolbarSaveClick, ToolbarMapClick, ToolbarTownClick, ToolbarSubsidiesClick, ToolbarStationsClick, ToolbarMoneyClick, ToolbarPlayersClick, ToolbarGraphsClick, ToolbarLeagueClick, ToolbarIndustryClick, ToolbarTrainClick, ToolbarRoadClick, ToolbarShipClick, ToolbarAirClick, ToolbarZoomInClick, ToolbarZoomOutClick, ToolbarBuildRailClick, ToolbarBuildRoadClick, ToolbarBuildWaterClick, ToolbarBuildAirClick, ToolbarForestClick, ToolbarMusicClick, ToolbarNewspaperClick, ToolbarHelpClick, }
Definition at line 1220 of file main_gui.cpp.