Files @ r24860:fb2788d47d86
Branch filter:

Location: cpp/openttd-patchpack/source/src/table/airporttiles.h - annotation

Michael Lutz
Codechange: [OSX] Only keep a total dirty rect for drawing.

When drawing an 8bpp screen buffer, palette resolving was done for each
dirty rectangle. In areas with high activity, this would mean a pixel might
have been resolved multiple times. Also, if too many individual updates
were queued, the whole screen would be refreshed, even if unnecessary.

All other drivers only keep one overall dirty rect, so do it here as well.
r14283:961fde17c95b
r14283:961fde17c95b
r14283:961fde17c95b
r14283:961fde17c95b
r14283:961fde17c95b
r14283:961fde17c95b
r14283:961fde17c95b
r14283:961fde17c95b
r14283:961fde17c95b
r14283:961fde17c95b
r14283:961fde17c95b
r14283:961fde17c95b
r14347:c3da68027adf
r15925:9a7fe46227a0
r14347:c3da68027adf
r15925:9a7fe46227a0
r14283:961fde17c95b
r15610:623a23fb6560
r15610:623a23fb6560
r15613:193c12018337
r15613:193c12018337
r14283:961fde17c95b
r14283:961fde17c95b
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14283:961fde17c95b
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14283:961fde17c95b
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14283:961fde17c95b
r14347:c3da68027adf
r14609:952e574afdf2
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14609:952e574afdf2
r14283:961fde17c95b
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14283:961fde17c95b
r14347:c3da68027adf
r14609:952e574afdf2
r14609:952e574afdf2
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14283:961fde17c95b
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14283:961fde17c95b
r14347:c3da68027adf
r14347:c3da68027adf
r14347:c3da68027adf
r14609:952e574afdf2
r14283:961fde17c95b
r14283:961fde17c95b
r24521:57ec498b9221
r14283:961fde17c95b
r14347:c3da68027adf
r14283:961fde17c95b
r14283:961fde17c95b
r14283:961fde17c95b
/*
 * 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 airporttiles.h Tables with airporttile defaults. */

#ifndef AIRPORTTILES_H
#define AIRPORTTILES_H

/** Writes all airport tile properties in the AirportTile struct */
#define AT(num_frames, anim_speed) {{num_frames, ANIM_STATUS_LOOPING, anim_speed, 0}, STR_NULL, 0, 0, true, GRFFileProps(INVALID_AIRPORTTILE)}
/** Writes an airport tile without animation in the AirportTile struct */
#define AT_NOANIM {{0, ANIM_STATUS_NO_ANIMATION, 2, 0}, STR_NULL, 0, 0, true, GRFFileProps(INVALID_AIRPORTTILE)}

/**
 * All default airport tiles.
 * @see AirportTiles for a list of names.
 */
static const AirportTileSpec _origin_airporttile_specs[] = {
	/* 0..9 */
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,

	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,

	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,

	AT_NOANIM,
	AT(11, 2), // APT_RADAR_GRASS_FENCE_SW
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT(3, 1), // APT_GRASS_FENCE_NE_FLAG

	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,

	AT_NOANIM,
	AT(11, 2), // APT_RADAR_FENCE_SW
	AT(11, 2), // APT_RADAR_FENCE_NE
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,

	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,

	AT_NOANIM,
	AT_NOANIM,
	AT_NOANIM,
	AT(3, 1), // APT_GRASS_FENCE_NE_FLAG_2
};

static_assert(NEW_AIRPORTTILE_OFFSET == lengthof(_origin_airporttile_specs));

#undef AT_NOANIM
#undef AT

#endif /* AIRPORTTILES_H */