Files
@ r1725:dcb3319784d1
Branch filter:
Location: cpp/openttd-patchpack/source/table/water_land.h
r1725:dcb3319784d1
4.0 KiB
text/x-c
(svn r2229) - Fix: [ 1188777 ] Non-existing sprite #5125 (presignal). The DOS grf file trgi.grf has 6 less sprites than the windows one. This results in some segfaults for certain sprites. Fixed it by added a dummy grf file consisting ofr 6 sprites and loaded when using DOS gfx at the appropiate place.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | typedef struct WaterDrawTileStruct {
byte delta_x;
byte delta_y;
byte delta_z;
byte width;
byte height;
byte unk;
SpriteID image;
} WaterDrawTileStruct;
#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, 0x8FE8 },
END(0)
};
static const WaterDrawTileStruct _shipdepot_display_seq_2[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 16, 1, 0x14, 0xFEA },
{ 0, 15, 0, 16, 1, 0x14, 0x8FE6 },
END(0)
};
static const WaterDrawTileStruct _shipdepot_display_seq_3[] = {
BEGIN(0xFDD),
{ 15, 0, 0, 1, 0x10, 0x14, 0x8FE9 },
END(0)
};
static const WaterDrawTileStruct _shipdepot_display_seq_4[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 1, 16, 0x14, 0xFEB },
{ 15, 0, 0, 1, 16, 0x14, 0x8FE7 },
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 _shiplift_display_seq_0[] = {
BEGIN(SPR_CANALS_BASE + 6),
{ 0, 0, 0, 0x10, 1, 0x14, SPR_CANALS_BASE + 9 + 0 + 1 },
{ 0, 0xF, 0, 0x10, 1, 0x14, SPR_CANALS_BASE + 9 + 4 + 1 },
END(0)
};
static const WaterDrawTileStruct _shiplift_display_seq_1[] = {
BEGIN(SPR_CANALS_BASE + 5),
{ 0, 0, 0, 1, 0x10, 0x14, SPR_CANALS_BASE + 9 + 0 },
{ 0xF, 0, 0, 1, 0x10, 0x14, SPR_CANALS_BASE + 9 + 4 },
END(0)
};
static const WaterDrawTileStruct _shiplift_display_seq_2[] = {
BEGIN(SPR_CANALS_BASE + 7),
{ 0, 0, 0, 0x10, 1, 0x14, SPR_CANALS_BASE + 9 + 0 + 2 },
{ 0, 0xF, 0, 0x10, 1, 0x14, SPR_CANALS_BASE + 9 + 4 + 2 },
END(0)
};
static const WaterDrawTileStruct _shiplift_display_seq_3[] = {
BEGIN(SPR_CANALS_BASE + 8),
{ 0, 0, 0, 1, 0x10, 0x14, SPR_CANALS_BASE + 9 + 0 + 3 },
{ 0xF, 0, 0, 1, 0x10, 0x14, SPR_CANALS_BASE + 9 + 4 + 3 },
END(0)
};
static const WaterDrawTileStruct _shiplift_display_seq_0b[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 0x10, 1, 0x14, SPR_CANALS_BASE + 9 + 8 + 1 },
{ 0, 0xF, 0, 0x10, 1, 0x14, SPR_CANALS_BASE + 9 + 12 + 1 },
END(0)
};
static const WaterDrawTileStruct _shiplift_display_seq_1b[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 0x1, 0x10, 0x14, SPR_CANALS_BASE + 9 + 8 },
{ 0xF, 0, 0, 0x1, 0x10, 0x14, SPR_CANALS_BASE + 9 + 12 },
END(0)
};
static const WaterDrawTileStruct _shiplift_display_seq_2b[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 0x10, 1, 0x14, SPR_CANALS_BASE + 9 + 8 + 2 },
{ 0, 0xF, 0, 0x10, 1, 0x14, SPR_CANALS_BASE + 9 + 12 + 2 },
END(0)
};
static const WaterDrawTileStruct _shiplift_display_seq_3b[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 1, 0x10, 0x14, SPR_CANALS_BASE + 9 + 8 + 3 },
{ 0xF, 0, 0, 1, 0x10, 0x14, SPR_CANALS_BASE + 9 + 12 + 3 },
END(0)
};
static const WaterDrawTileStruct _shiplift_display_seq_0t[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 0x10, 1, 0x14, SPR_CANALS_BASE + 9 + 16 + 1 },
{ 0, 0xF, 0, 0x10, 1, 0x14, SPR_CANALS_BASE + 9 + 20 + 1 },
END(8)
};
static const WaterDrawTileStruct _shiplift_display_seq_1t[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 0x1, 0x10, 0x14, SPR_CANALS_BASE + 9 + 16 },
{ 0xF, 0, 0, 0x1, 0x10, 0x14, SPR_CANALS_BASE + 9 + 20 },
END(8)
};
static const WaterDrawTileStruct _shiplift_display_seq_2t[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 0x10, 1, 0x14, SPR_CANALS_BASE + 9 + 16 + 2 },
{ 0, 0xF, 0, 0x10, 1, 0x14, SPR_CANALS_BASE + 9 + 20 + 2 },
END(8)
};
static const WaterDrawTileStruct _shiplift_display_seq_3t[] = {
BEGIN(0xFDD),
{ 0, 0, 0, 1, 0x10, 0x14, SPR_CANALS_BASE + 9 + 16 + 3 },
{ 0xF, 0, 0, 1, 0x10, 0x14, SPR_CANALS_BASE + 9 + 20 + 3 },
END(8)
};
static const WaterDrawTileStruct* const _shiplift_display_seq[] = {
_shiplift_display_seq_0,
_shiplift_display_seq_1,
_shiplift_display_seq_2,
_shiplift_display_seq_3,
_shiplift_display_seq_0b,
_shiplift_display_seq_1b,
_shiplift_display_seq_2b,
_shiplift_display_seq_3b,
_shiplift_display_seq_0t,
_shiplift_display_seq_1t,
_shiplift_display_seq_2t,
_shiplift_display_seq_3t,
};
#undef BEGIN
#undef END
static const SpriteID _water_shore_sprites[15] = {
0, 0xFDF, 0xFE0, 0xFE4, 0xFDE, 0, 0xFE2, 0, 0xFE1, 0xFE5, 0, 0, 0xFE3, 0, 0
};
|