From ce9cbb9c47beb6d17a8bf7743a8c25c1989b6ece Mon Sep 17 00:00:00 2001 From: tron Date: Wed, 16 Nov 2005 12:01:46 +0000 Subject: (svn r3196) Use structs instead of magic offsets into arrays --- aircraft_cmd.c | 22 ++++++++++++++++------ table/tree_land.h | 15 ++++++++++----- tree_cmd.c | 8 ++++---- 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 */ -- cgit v1.2.3-70-g09d2