(svn r955) Replace uint16 for orders with struct Order

This adds no functionality, but is a stepping stone for future improvement (like 16bit order indices) and is easier to read.
This changes preserves binary compatibility wrt savegames.
This commit is contained in:
tron
2004-12-05 12:43:04 +00:00
parent 1de8e294d8
commit 7c2448ecea
20 changed files with 582 additions and 441 deletions

View File

@@ -547,15 +547,15 @@ static void AircraftViewWndProc(Window *w, WindowEvent *e)
} else if (v->vehstatus & VS_STOPPED) {
str = STR_8861_STOPPED;
} else {
switch(v->next_order & OT_MASK) {
switch (v->current_order.type) {
case OT_GOTO_STATION: {
SetDParam(0, v->next_order_param);
SetDParam(0, v->current_order.station);
SetDParam(1, v->cur_speed * 8);
str = STR_HEADING_FOR_STATION + _patches.vehicle_speed;
} break;
case OT_GOTO_DEPOT: {
SetDParam(0, v->next_order_param);
SetDParam(0, v->current_order.station);
SetDParam(1, v->cur_speed * 8);
str = STR_HEADING_FOR_HANGAR + _patches.vehicle_speed;
} break;
@@ -857,15 +857,15 @@ void ShowAircraftDepotWindow(uint tile)
}
static void DrawSmallSchedule(Vehicle *v, int x, int y) {
uint16 *sched;
const Order *sched;
int sel;
uint ord;
Order ord;
int i = 0;
sched = v->schedule_ptr;
sel = v->cur_order_index;
while ((ord=*sched++) != 0) {
while ((ord = *sched++).type != OT_NOTHING) {
if (sel == 0) {
_stringwidth_base = 0xE0;
DoDrawString( "\xAF", x-6, y, 16);
@@ -873,8 +873,8 @@ static void DrawSmallSchedule(Vehicle *v, int x, int y) {
}
sel--;
if ((ord & OT_MASK) == OT_GOTO_STATION) {
SetDParam(0, ord >> 8);
if (ord.type == OT_GOTO_STATION) {
SetDParam(0, ord.station);
DrawString(x, y, STR_A036, 0);
y += 6;