Files
@ r15577:a61e44bed2f3
Branch filter:
Location: cpp/openttd-patchpack/source/src/tilehighlight_type.h - annotation
r15577:a61e44bed2f3
2.6 KiB
text/x-c
(svn r20247) -Fix: when it is known the loading an old savegame is going to fail, bail out immediately (using an exception) instead of going on until e.g. the expected number of byte is read
r9127:933c13888121 r9127:933c13888121 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r14248:a9050881acd7 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r11697:53072e575f0b r11697:53072e575f0b r11697:53072e575f0b r11697:53072e575f0b r11697:53072e575f0b r11697:53072e575f0b r11697:53072e575f0b r11697:53072e575f0b r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r11695:8dbb94e1bfa0 r9127:933c13888121 r9127:933c13888121 r14900:c679fdaeebe6 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r11695:8dbb94e1bfa0 r11695:8dbb94e1bfa0 r11695:8dbb94e1bfa0 r9127:933c13888121 r11697:53072e575f0b r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9147:6e8812a42759 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 r9127:933c13888121 | /* $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 tilehighlight_type.h Types related to highlighting tiles. */
#ifndef TILEHIGHLIGHT_TYPE_H
#define TILEHIGHLIGHT_TYPE_H
#include "core/geometry_type.hpp"
#include "window_type.h"
#include "tile_type.h"
#include "viewport_type.h"
/** Highlighting draw styles */
enum HighLightStyle {
HT_NONE = 0x00, ///< default
HT_RECT = 0x10, ///< rectangle (stations, depots, ...)
HT_POINT = 0x20, ///< point (lower land, raise land, level land, ...)
HT_SPECIAL = 0x30, ///< special mode used for highlighting while dragging (and for tunnels/docks)
HT_DRAG = 0x40, ///< dragging items in the depot windows
HT_LINE = 0x08, ///< used for autorail highlighting (longer streches), lower bits: direction
HT_RAIL = 0x80, ///< autorail (one piece), lower bits: direction
HT_DRAG_MASK = 0xF8, ///< masks the drag-type
/* lower bits (used with HT_LINE and HT_RAIL):
* (see ASCII art in autorail.h for a visual interpretation) */
HT_DIR_X = 0, ///< X direction
HT_DIR_Y = 1, ///< Y direction
HT_DIR_HU = 2, ///< horizontal upper
HT_DIR_HL = 3, ///< horizontal lower
HT_DIR_VL = 4, ///< vertical left
HT_DIR_VR = 5, ///< vertical right
HT_DIR_END, ///< end marker
HT_DIR_MASK = 0x7 ///< masks the drag-direction
};
DECLARE_ENUM_AS_BIT_SET(HighLightStyle)
struct TileHighlightData {
Point size;
Point outersize;
Point pos;
Point offs;
Point new_pos;
Point new_size;
Point new_outersize;
Point selend, selstart;
byte dirty;
byte sizelimit;
HighLightStyle drawstyle; // lower bits 0-3 are reserved for detailed highlight information information
HighLightStyle new_drawstyle; // only used in UpdateTileSelection() to as a buffer to compare if there was a change between old and new
HighLightStyle next_drawstyle; // queued, but not yet drawn style
HighLightStyle place_mode;
bool make_square_red;
WindowClass window_class;
WindowNumber window_number;
ViewportPlaceMethod select_method;
ViewportDragDropSelectionProcess select_proc;
TileIndex redsq;
};
#endif /* TILEHIGHLIGHT_TYPE_H */
|