#include "stdafx.h"
#include "openttd.h"
#include "clear_map.h"
#include "company_func.h"
#include "company_base.h"
#include "gui.h"
#include "window_gui.h"
#include "window_func.h"
#include "viewport_func.h"
#include "gfx_func.h"
#include "command_func.h"
#include "signs_func.h"
#include "variables.h"
#include "functions.h"
#include "sound_func.h"
#include "base_station_base.h"
#include "unmovable_map.h"
#include "textbuf_gui.h"
#include "genworld.h"
#include "tree_map.h"
#include "landscape_type.h"
#include "tilehighlight_func.h"
#include "strings_func.h"
#include "table/sprites.h"
#include "table/strings.h"
Go to the source code of this file.
Data Structures | |
struct | TerraformToolbarWindow |
struct | ScenarioEditorLandscapeGenerationWindow |
Typedefs | |
typedef void | OnButtonClick (Window *w) |
Enumerations | |
enum | TerraformToolbarWidgets { TTW_BUTTONS_START, TTW_LOWER_LAND = TTW_BUTTONS_START, TTW_RAISE_LAND, TTW_LEVEL_LAND, TTW_DEMOLISH, TTW_BUY_LAND, TTW_PLANT_TREES, TTW_PLACE_SIGN } |
Enum referring to the widgets of the terraform toolbar. More... | |
enum | EditorTerraformToolbarWidgets { ETTW_START = 0, ETTW_DOTS = ETTW_START, ETTW_BUTTONS_START, ETTW_DEMOLISH = ETTW_BUTTONS_START, ETTW_LOWER_LAND, ETTW_RAISE_LAND, ETTW_LEVEL_LAND, ETTW_PLACE_ROCKS, ETTW_PLACE_DESERT_LIGHTHOUSE, ETTW_PLACE_TRANSMITTER, ETTW_BUTTONS_END, ETTW_INCREASE_SIZE = ETTW_BUTTONS_END, ETTW_DECREASE_SIZE, ETTW_NEW_SCENARIO, ETTW_RESET_LANDSCAPE } |
Enum referring to the widgets of the editor terraform toolbar. More... | |
Functions | |
void | CcTerraform (bool success, TileIndex tile, uint32 p1, uint32 p2) |
static void | GenerateDesertArea (TileIndex end, TileIndex start) |
Scenario editor command that generates desert areas. | |
static void | GenerateRockyArea (TileIndex end, TileIndex start) |
Scenario editor command that generates rocky areas. | |
bool | GUIPlaceProcDragXY (ViewportDragDropSelectionProcess proc, TileIndex start_tile, TileIndex end_tile) |
A central place to handle all X_AND_Y dragged GUI functions. | |
void | CcPlaySound1E (bool success, TileIndex tile, uint32 p1, uint32 p2) |
static void | PlaceProc_BuyLand (TileIndex tile) |
void | PlaceProc_DemolishArea (TileIndex tile) |
static void | PlaceProc_RaiseLand (TileIndex tile) |
static void | PlaceProc_LowerLand (TileIndex tile) |
static void | PlaceProc_LevelLand (TileIndex tile) |
static void | TerraformClick_Lower (Window *w) |
static void | TerraformClick_Raise (Window *w) |
static void | TerraformClick_Level (Window *w) |
static void | TerraformClick_Dynamite (Window *w) |
static void | TerraformClick_BuyLand (Window *w) |
static void | TerraformClick_Trees (Window *w) |
static void | TerraformClick_PlaceSign (Window *w) |
Window * | ShowTerraformToolbar (Window *link) |
void | ShowTerraformToolbarWithTool (uint16 key, uint16 keycode) |
static void | CommonRaiseLowerBigLand (TileIndex tile, int mode) |
Raise/Lower a bigger chunk of land at the same time in the editor. | |
static void | PlaceProc_RaiseBigLand (TileIndex tile) |
static void | PlaceProc_LowerBigLand (TileIndex tile) |
static void | PlaceProc_RockyArea (TileIndex tile) |
static void | PlaceProc_LightHouse (TileIndex tile) |
static void | PlaceProc_Transmitter (TileIndex tile) |
static void | PlaceProc_DesertArea (TileIndex tile) |
static void | EditorTerraformClick_Dynamite (Window *w) |
static void | EditorTerraformClick_LowerBigLand (Window *w) |
static void | EditorTerraformClick_RaiseBigLand (Window *w) |
static void | EditorTerraformClick_LevelLand (Window *w) |
static void | EditorTerraformClick_RockyArea (Window *w) |
static void | EditorTerraformClick_DesertLightHouse (Window *w) |
static void | EditorTerraformClick_Transmitter (Window *w) |
static void | ResetLandscapeConfirmationCallback (Window *w, bool confirmed) |
Callback function for the scenario editor 'reset landscape' confirmation window. | |
Window * | ShowEditorTerraformToolbar () |
void | ShowEditorTerraformToolbarWithTool (uint16 key, uint16 keycode) |
Variables | |
static const uint16 | _terraform_keycodes [] |
static OnButtonClick *const | _terraform_button_proc [] |
static const NWidgetPart | _nested_terraform_widgets [] |
static const WindowDesc | _terraform_desc (WDP_MANUAL, 0, 0, WC_SCEN_LAND_GEN, WC_NONE, WDF_CONSTRUCTION, _nested_terraform_widgets, lengthof(_nested_terraform_widgets)) |
static byte | _terraform_size = 1 |
static const int8 | _multi_terraform_coords [][2] |
static const NWidgetPart | _nested_scen_edit_land_gen_widgets [] |
static const uint16 | _editor_terraform_keycodes [] |
static OnButtonClick *const | _editor_terraform_button_proc [] |
static const WindowDesc | _scen_edit_land_gen_desc (WDP_AUTO, 0, 0, WC_SCEN_LAND_GEN, WC_NONE, WDF_CONSTRUCTION, _nested_scen_edit_land_gen_widgets, lengthof(_nested_scen_edit_land_gen_widgets)) |
Definition in file terraform_gui.cpp.
Enum referring to the widgets of the editor terraform toolbar.
Definition at line 497 of file terraform_gui.cpp.
Enum referring to the widgets of the terraform toolbar.
Definition at line 194 of file terraform_gui.cpp.
static void CommonRaiseLowerBigLand | ( | TileIndex | tile, | |
int | mode | |||
) | [static] |
Raise/Lower a bigger chunk of land at the same time in the editor.
When raising get the lowest point, when lowering the highest point, and set all tiles in the selection to that height.
tile | The top-left tile where the terraforming will start | |
mode | 1 for raising, 0 for lowering land |
Definition at line 399 of file terraform_gui.cpp.
References CMD_MSG, CMD_TERRAFORM_LAND, DoCommandP(), MapSizeX(), MapSizeY(), max(), min(), SLOPE_N, TILE_LOOP, TileHeight(), TileX(), and TileY().
static void EditorTerraformClick_Dynamite | ( | Window * | w | ) | [static] |
Definition at line 566 of file terraform_gui.cpp.
References ANIMCURSOR_DEMOLISH, ETTW_DEMOLISH, HandlePlacePushButton(), and HT_RECT.
bool GUIPlaceProcDragXY | ( | ViewportDragDropSelectionProcess | proc, | |
TileIndex | start_tile, | |||
TileIndex | end_tile | |||
) |
A central place to handle all X_AND_Y dragged GUI functions.
proc | Procedure related to the dragging | |
start_tile | Begin of the dragging | |
end_tile | End of the dragging |
Definition at line 119 of file terraform_gui.cpp.
References _settings_game, CMD_CLEAR_AREA, CMD_LEVEL_LAND, CMD_MSG, GameSettings::construction, DoCommandP(), ConstructionSettings::freeform_edges, GenerateDesertArea(), GenerateRockyArea(), MapMaxX(), MapMaxY(), TileDiffXY(), TileX(), and TileY().
Referenced by BuildRailToolbarWindow::OnPlaceMouseUp().
static void ResetLandscapeConfirmationCallback | ( | Window * | w, | |
bool | confirmed | |||
) | [static] |
Callback function for the scenario editor 'reset landscape' confirmation window.
w | Window unused | |
confirmed | boolean value, true when yes was clicked, false otherwise |
Definition at line 626 of file terraform_gui.cpp.
References CMD_LANDSCAPE_CLEAR, DC_BANKRUPT, DC_EXEC, DoCommand(), INVALID_OWNER, BaseStation::IsInUse(), MarkWholeScreenDirty(), and BaseStation::xy.
OnButtonClick* const _editor_terraform_button_proc[] [static] |
Initial value:
{ EditorTerraformClick_Dynamite, EditorTerraformClick_LowerBigLand, EditorTerraformClick_RaiseBigLand, EditorTerraformClick_LevelLand, EditorTerraformClick_RockyArea, EditorTerraformClick_DesertLightHouse, EditorTerraformClick_Transmitter }
Definition at line 612 of file terraform_gui.cpp.
const uint16 _editor_terraform_keycodes[] [static] |
Initial value:
{ 'D', 'Q', 'W', 'E', 'R', 'T', 'Y' }
Definition at line 601 of file terraform_gui.cpp.
const int8 _multi_terraform_coords[][2] [static] |
Initial value:
{ { 0, -2}, { 4, 0}, { -4, 0}, { 0, 2}, { -8, 2}, { -4, 4}, { 0, 6}, { 4, 4}, { 8, 2}, {-12, 0}, { -8, -2}, { -4, -4}, { 0, -6}, { 4, -4}, { 8, -2}, { 12, 0}, {-16, 2}, {-12, 4}, { -8, 6}, { -4, 8}, { 0, 10}, { 4, 8}, { 8, 6}, { 12, 4}, { 16, 2}, {-20, 0}, {-16, -2}, {-12, -4}, { -8, -6}, { -4, -8}, { 0,-10}, { 4, -8}, { 8, -6}, { 12, -4}, { 16, -2}, { 20, 0}, {-24, 2}, {-20, 4}, {-16, 6}, {-12, 8}, { -8, 10}, { -4, 12}, { 0, 14}, { 4, 12}, { 8, 10}, { 12, 8}, { 16, 6}, { 20, 4}, { 24, 2}, {-28, 0}, {-24, -2}, {-20, -4}, {-16, -6}, {-12, -8}, { -8,-10}, { -4,-12}, { 0,-14}, { 4,-12}, { 8,-10}, { 12, -8}, { 16, -6}, { 20, -4}, { 24, -2}, { 28, 0}, }
Definition at line 485 of file terraform_gui.cpp.
const NWidgetPart _nested_terraform_widgets[] [static] |
Initial value:
{ NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN), NWidget(WWT_CAPTION, COLOUR_DARK_GREEN), SetDataTip(STR_LANDSCAPING_TOOLBAR, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), NWidget(WWT_STICKYBOX, COLOUR_DARK_GREEN), EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, TTW_LOWER_LAND), SetMinimalSize(22,22), SetFill(0, 1), SetDataTip(SPR_IMG_TERRAFORM_DOWN, STR_LANDSCAPING_TOOLTIP_LOWER_A_CORNER_OF_LAND), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, TTW_RAISE_LAND), SetMinimalSize(22,22), SetFill(0, 1), SetDataTip(SPR_IMG_TERRAFORM_UP, STR_LANDSCAPING_TOOLTIP_RAISE_A_CORNER_OF_LAND), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, TTW_LEVEL_LAND), SetMinimalSize(22,22), SetFill(0, 1), SetDataTip(SPR_IMG_LEVEL_LAND, STR_LANDSCAPING_LEVEL_LAND_TOOLTIP), NWidget(WWT_PANEL, COLOUR_DARK_GREEN), SetMinimalSize(4, 22), EndContainer(), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, TTW_DEMOLISH), SetMinimalSize(22,22), SetFill(0, 1), SetDataTip(SPR_IMG_DYNAMITE, STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, TTW_BUY_LAND), SetMinimalSize(22,22), SetFill(0, 1), SetDataTip(SPR_IMG_BUY_LAND, STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, TTW_PLANT_TREES), SetMinimalSize(22,22), SetFill(0, 1), SetDataTip(SPR_IMG_PLANTTREES, STR_SCENEDIT_TOOLBAR_PLANT_TREES), NWidget(WWT_IMGBTN, COLOUR_DARK_GREEN, TTW_PLACE_SIGN), SetMinimalSize(22,22), SetFill(0, 1), SetDataTip(SPR_IMG_SIGN, STR_SCENEDIT_TOOLBAR_PLACE_SIGN), EndContainer(), }
Definition at line 320 of file terraform_gui.cpp.
OnButtonClick* const _terraform_button_proc[] [static] |
Initial value:
{ TerraformClick_Lower, TerraformClick_Raise, TerraformClick_Level, TerraformClick_Dynamite, TerraformClick_BuyLand, TerraformClick_Trees, TerraformClick_PlaceSign, }
Definition at line 241 of file terraform_gui.cpp.
const uint16 _terraform_keycodes[] [static] |
Initial value:
{ 'Q', 'W', 'E', 'D', 'U', 'I', 'O', }
Definition at line 156 of file terraform_gui.cpp.