summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortron <tron@openttd.org>2005-11-16 12:01:46 +0000
committertron <tron@openttd.org>2005-11-16 12:01:46 +0000
commitce9cbb9c47beb6d17a8bf7743a8c25c1989b6ece (patch)
tree57ab7d946f33a83ab3919738a96d2b38bf80b427
parent8d57bfc921c2aa3acbbbb0330ae699032c51afd4 (diff)
downloadopenttd-ce9cbb9c47beb6d17a8bf7743a8c25c1989b6ece.tar.xz
(svn r3196) Use structs instead of magic offsets into arrays
-rw-r--r--aircraft_cmd.c22
-rw-r--r--table/tree_land.h15
-rw-r--r--tree_cmd.c8
3 files changed, 30 insertions, 15 deletions
diff --git a/aircraft_cmd.c b/aircraft_cmd.c
index 23f06217c..207793621 100644
--- a/aircraft_cmd.c
+++ b/aircraft_cmd.c
@@ -1026,13 +1026,23 @@ static void HandleBrokenAircraft(Vehicle *v)
}
}
-static const int8 _aircraft_smoke_xy[16] = {
- 5,6,5,0,-5,-6,-5,0, /* x coordinates */
- 5,0,-5,-6,-5,0,5,6, /* y coordinate */
-};
static void HandleAircraftSmoke(Vehicle *v)
{
+ static const struct {
+ int8 x;
+ int8 y;
+ } smoke_pos[] = {
+ { 5, 5 },
+ { 6, 0 },
+ { 5, -5 },
+ { 0, -6 },
+ { -5, -5 },
+ { -6, 0 },
+ { -5, 5 },
+ { 0, 6 }
+ };
+
if (!(v->vehstatus & VS_AIRCRAFT_BROKEN)) return;
if (v->cur_speed < 10) {
@@ -1043,8 +1053,8 @@ static void HandleAircraftSmoke(Vehicle *v)
if ((v->tick_counter & 0x1F) == 0) {
CreateEffectVehicleRel(v,
- _aircraft_smoke_xy[v->direction],
- _aircraft_smoke_xy[v->direction + 8],
+ smoke_pos[v->direction].x,
+ smoke_pos[v->direction].y,
2,
EV_SMOKE
);
diff --git a/table/tree_land.h b/table/tree_land.h
index 1dd1409d8..d94ef1be4 100644
--- a/table/tree_land.h
+++ b/table/tree_land.h
@@ -13,11 +13,16 @@ static const SpriteID _tree_sprites_1[4] = {
static const byte _tree_base_by_landscape[4] = {0, 12, 20, 32};
static const byte _tree_count_by_landscape[4] = {12, 8, 12, 9};
-static const byte _tree_layout_xy[4][8] = {
-{9, 3, 1, 8, 0, 0, 8, 9},
-{4, 4, 9, 1, 6, 9, 0, 9},
-{9, 1, 0, 9, 6, 6, 3, 0},
-{3, 9, 8, 2, 9, 9, 1, 5},
+typedef struct TreePos {
+ uint8 x;
+ uint8 y;
+} TreePos;
+
+static const TreePos _tree_layout_xy[][4] = {
+ { { 9, 3 }, { 1, 8 }, { 0, 0 }, { 8, 9 } },
+ { { 4, 4 }, { 9, 1 }, { 6, 9 }, { 0, 9 } },
+ { { 9, 1 }, { 0, 9 }, { 6, 6 }, { 3, 0 } },
+ { { 3, 9 }, { 8, 2 }, { 9, 9 }, { 1, 5 } }
};
static const PalSpriteID _tree_layout_sprite[164+(79-48+1)][4] = {
diff --git a/tree_cmd.c b/tree_cmd.c
index 0356a2ab2..ed207f4c7 100644
--- a/tree_cmd.c
+++ b/tree_cmd.c
@@ -251,7 +251,7 @@ static void DrawTile_Trees(TileInfo *ti)
{
uint16 m2;
const uint32 *s;
- const byte *d;
+ const TreePos* d;
byte z;
m2 = _m[ti->tile].m2;
@@ -308,10 +308,10 @@ static void DrawTile_Trees(TileInfo *ti)
uint32 image = s[0] + (--i == 0 ? GB(ti->map5, 0, 3) : 3);
if (_display_opt & DO_TRANS_BUILDINGS) MAKE_TRANSPARENT(image);
te[i].image = image;
- te[i].x = d[0];
- te[i].y = d[1];
+ te[i].x = d->x;
+ te[i].y = d->y;
s++;
- d += 2;
+ d++;
} while (i);
/* draw them in a sorted way */