main_gui.cpp File Reference

#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


Detailed Description

Definition in file main_gui.cpp.


Function Documentation

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

Parameters:
base_string StringID of the first string in the list
count amount of StringID's in the list
Returns:
the length of the longest string

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

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
Returns:
true if the button is clicked, false if it's unclicked

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.

Parameters:
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
Returns:
Return a pointer to the newly created dropdown window

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().


Variable Documentation

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.


Generated on Mon Sep 22 20:34:22 2008 for openttd by  doxygen 1.5.6