OpenTTD-patches/src/table/water_land.h

161 lines
4.0 KiB
C

/* $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 water_land.h Sprites to use and how to display them for water tiles (depots/locks). */
struct WaterDrawTileStruct {
byte delta_x;
byte delta_y;
byte delta_z;
byte size_x;
byte size_y;
byte size_z;
SpriteID image;
};
#define BEGIN(image) { 0, 0, 0, 0, 0, 0, image }
#define END(y) { 0x80, y, 0, 0, 0, 0, 0 }
static const WaterDrawTileStruct _shipdepot_display_seq_1[] = {
BEGIN(0xFDD),
{ 0, 15, 0, 16, 1, 0x14, 0xFE8 | (1 << PALETTE_MODIFIER_COLOUR) },
END(0)
};
static const WaterDrawTileStruct _shipdepot_display_seq_2[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 16, 1, 0x14, 0xFEA },
{ 0, 15, 0, 16, 1, 0x14, 0xFE6 | (1 << PALETTE_MODIFIER_COLOUR) },
END(0)
};
static const WaterDrawTileStruct _shipdepot_display_seq_3[] = {
BEGIN(0xFDD),
{ 15, 0, 0, 1, 0x10, 0x14, 0xFE9 | (1 << PALETTE_MODIFIER_COLOUR) },
END(0)
};
static const WaterDrawTileStruct _shipdepot_display_seq_4[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 1, 16, 0x14, 0xFEB },
{ 15, 0, 0, 1, 16, 0x14, 0xFE7 | (1 << PALETTE_MODIFIER_COLOUR) },
END(0)
};
static const WaterDrawTileStruct * const _shipdepot_display_seq[] = {
_shipdepot_display_seq_1,
_shipdepot_display_seq_2,
_shipdepot_display_seq_3,
_shipdepot_display_seq_4,
};
static const WaterDrawTileStruct _lock_display_seq_0[] = {
BEGIN(1),
{ 0, 0, 0, 0x10, 1, 0x14, 0 + 1 },
{ 0, 0xF, 0, 0x10, 1, 0x14, 4 + 1 },
END(0)
};
static const WaterDrawTileStruct _lock_display_seq_1[] = {
BEGIN(0),
{ 0, 0, 0, 1, 0x10, 0x14, 0 },
{ 0xF, 0, 0, 1, 0x10, 0x14, 4 },
END(0)
};
static const WaterDrawTileStruct _lock_display_seq_2[] = {
BEGIN(2),
{ 0, 0, 0, 0x10, 1, 0x14, 0 + 2 },
{ 0, 0xF, 0, 0x10, 1, 0x14, 4 + 2 },
END(0)
};
static const WaterDrawTileStruct _lock_display_seq_3[] = {
BEGIN(3),
{ 0, 0, 0, 1, 0x10, 0x14, 0 + 3 },
{ 0xF, 0, 0, 1, 0x10, 0x14, 4 + 3 },
END(0)
};
static const WaterDrawTileStruct _lock_display_seq_0b[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 0x10, 1, 0x14, 8 + 1 },
{ 0, 0xF, 0, 0x10, 1, 0x14, 12 + 1 },
END(0)
};
static const WaterDrawTileStruct _lock_display_seq_1b[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 0x1, 0x10, 0x14, 8 },
{ 0xF, 0, 0, 0x1, 0x10, 0x14, 12 },
END(0)
};
static const WaterDrawTileStruct _lock_display_seq_2b[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 0x10, 1, 0x14, 8 + 2 },
{ 0, 0xF, 0, 0x10, 1, 0x14, 12 + 2 },
END(0)
};
static const WaterDrawTileStruct _lock_display_seq_3b[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 1, 0x10, 0x14, 8 + 3 },
{ 0xF, 0, 0, 1, 0x10, 0x14, 12 + 3 },
END(0)
};
static const WaterDrawTileStruct _lock_display_seq_0t[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 0x10, 1, 0x14, 16 + 1 },
{ 0, 0xF, 0, 0x10, 1, 0x14, 20 + 1 },
END(8)
};
static const WaterDrawTileStruct _lock_display_seq_1t[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 0x1, 0x10, 0x14, 16 },
{ 0xF, 0, 0, 0x1, 0x10, 0x14, 20 },
END(8)
};
static const WaterDrawTileStruct _lock_display_seq_2t[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 0x10, 1, 0x14, 16 + 2 },
{ 0, 0xF, 0, 0x10, 1, 0x14, 20 + 2 },
END(8)
};
static const WaterDrawTileStruct _lock_display_seq_3t[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 1, 0x10, 0x14, 16 + 3 },
{ 0xF, 0, 0, 1, 0x10, 0x14, 20 + 3 },
END(8)
};
static const WaterDrawTileStruct * const _lock_display_seq[] = {
_lock_display_seq_0,
_lock_display_seq_1,
_lock_display_seq_2,
_lock_display_seq_3,
_lock_display_seq_0b,
_lock_display_seq_1b,
_lock_display_seq_2b,
_lock_display_seq_3b,
_lock_display_seq_0t,
_lock_display_seq_1t,
_lock_display_seq_2t,
_lock_display_seq_3t,
};
#undef BEGIN
#undef END