summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortron <tron@openttd.org>2007-02-04 13:46:21 +0000
committertron <tron@openttd.org>2007-02-04 13:46:21 +0000
commit6b72228df5b43ad874f458bc7447a6c21dfe418a (patch)
treeaa513ade38eab3747650db2d4cf98178d4a68930
parentccffde6d7e3522c0373b686ccb64c68014ed40a5 (diff)
downloadopenttd-6b72228df5b43ad874f458bc7447a6c21dfe418a.tar.xz
(svn r8582) -Fix
Reorder the attributes of some structs to reduce their size
-rw-r--r--src/airport.cpp4
-rw-r--r--src/airport.h15
-rw-r--r--src/order.h4
3 files changed, 12 insertions, 11 deletions
diff --git a/src/airport.cpp b/src/airport.cpp
index cee9257fb..2d118e1cf 100644
--- a/src/airport.cpp
+++ b/src/airport.cpp
@@ -190,12 +190,12 @@ AirportFTAClass::AirportFTAClass(
uint size_y_
) :
moving_data(moving_data_),
- nofelements(AirportGetNofElements(apFA)),
terminals(terminals_),
helipads(helipads_),
- entry_point(entry_point_),
airport_depots(depots_),
nof_depots(nof_depots_),
+ nofelements(AirportGetNofElements(apFA)),
+ entry_point(entry_point_),
size_x(size_x_),
size_y(size_y_)
{
diff --git a/src/airport.h b/src/airport.h
index 8b0b89757..1b515da5c 100644
--- a/src/airport.h
+++ b/src/airport.h
@@ -123,7 +123,8 @@ enum {
};
typedef struct AirportMovingData {
- int x,y;
+ int16 x;
+ int16 y;
byte flag;
DirectionByte direction;
} AirportMovingData;
@@ -155,25 +156,25 @@ typedef struct AirportFTAClass {
}
const AirportMovingData *moving_data;
- byte nofelements; // number of positions the airport consists of
+ struct AirportFTA *layout; // state machine for airport
const byte *terminals;
const byte *helipads;
- byte entry_point; // when an airplane arrives at this airport, enter it at position entry_point
- AcceptPlanesByte acc_planes; // accept airplanes or helicopters or both
const TileIndexDiffC *airport_depots; // gives the position of the depots on the airports
byte nof_depots; // number of depots this airport has
- struct AirportFTA *layout; // state machine for airport
+ byte nofelements; // number of positions the airport consists of
+ byte entry_point; // when an airplane arrives at this airport, enter it at position entry_point
+ AcceptPlanesByte acc_planes; // accept airplanes or helicopters or both
byte size_x;
byte size_y;
} AirportFTAClass;
// internal structure used in openttd - Finite sTate mAchine --> FTA
typedef struct AirportFTA {
+ struct AirportFTA *next; // possible extra movement choices from this position
+ uint32 block; // 32 bit blocks (st->airport_flags), should be enough for the most complex airports
byte position; // the position that an airplane is at
byte next_position; // next position from this position
- uint32 block; // 32 bit blocks (st->airport_flags), should be enough for the most complex airports
byte heading; // heading (current orders), guiding an airplane to its target on an airport
- struct AirportFTA *next; // possible extra movement choices from this position
} AirportFTA;
void InitializeAirports(void);
diff --git a/src/order.h b/src/order.h
index 7d14d6c15..64d39d586 100644
--- a/src/order.h
+++ b/src/order.h
@@ -89,12 +89,12 @@ enum {
* - REF_SHEDULE (all REFs are currently limited to 16 bits!!)
*/
typedef struct Order {
+ struct Order *next; ///< Pointer to next order. If NULL, end of list
+
OrderTypeByte type;
uint8 flags;
DestinationID dest; ///< The destionation of the order.
- struct Order *next; ///< Pointer to next order. If NULL, end of list
-
OrderID index; ///< Index of the order, is not saved or anything, just for reference
CargoID refit_cargo; // Refit CargoID