|
@@ -126,13 +126,13 @@ void StartupEngines(void)
|
|
|
SetupEngineNames();
|
|
|
|
|
|
for (e = _engines, ei = _engine_info; e != endof(_engines); e++, ei++) {
|
|
|
uint32 r;
|
|
|
|
|
|
e->age = 0;
|
|
|
e->railtype = ei->railtype;
|
|
|
e->railtype = (RailType)ei->railtype;
|
|
|
e->flags = 0;
|
|
|
e->player_avail = 0;
|
|
|
|
|
|
// The magic value of 729 days below comes from the NewGRF spec. If the
|
|
|
// base intro date is before 1922 then the random number of days is not
|
|
|
// added.
|
|
@@ -186,13 +186,13 @@ static void AcceptEnginePreview(Engine *
|
|
|
Player *p = GetPlayer(player);
|
|
|
|
|
|
assert(e->railtype < RAILTYPE_END);
|
|
|
SETBIT(e->player_avail, player);
|
|
|
SETBIT(p->avail_railtypes, e->railtype);
|
|
|
|
|
|
e->preview_player = 0xFF;
|
|
|
e->preview_player = INVALID_PLAYER;
|
|
|
if (player == _local_player) {
|
|
|
InvalidateWindowClassesData(WC_BUILD_VEHICLE);
|
|
|
InvalidateWindowClasses(WC_REPLACE_VEHICLE);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -214,13 +214,13 @@ static PlayerID GetBestPlayer(PlayerID p
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (best_player == PLAYER_SPECTATOR) return PLAYER_SPECTATOR;
|
|
|
|
|
|
SETBIT(mask, best_player);
|
|
|
} while (--pp != 0);
|
|
|
} while (pp--, pp != 0);
|
|
|
|
|
|
return best_player;
|
|
|
}
|
|
|
|
|
|
void EnginesDailyLoop(void)
|
|
|
{
|
|
@@ -239,13 +239,13 @@ void EnginesDailyLoop(void)
|
|
|
e->preview_player++;
|
|
|
}
|
|
|
} else if (e->preview_player != 0xFF) {
|
|
|
PlayerID best_player = GetBestPlayer(e->preview_player);
|
|
|
|
|
|
if (best_player == PLAYER_SPECTATOR) {
|
|
|
e->preview_player = 0xFF;
|
|
|
e->preview_player = INVALID_PLAYER;
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
if (!IsHumanPlayer(best_player)) {
|
|
|
/* XXX - TTDBUG: TTD has a bug here ???? */
|
|
|
AcceptEnginePreview(e, best_player);
|
|
@@ -361,13 +361,13 @@ void EnginesMonthlyLoop(void)
|
|
|
} else if (!(e->flags & (ENGINE_AVAILABLE|ENGINE_INTRODUCING)) && _date >= e->intro_date) {
|
|
|
// Introduction date has passed.. show introducing dialog to one player.
|
|
|
e->flags |= ENGINE_INTRODUCING;
|
|
|
|
|
|
// Do not introduce new rail wagons
|
|
|
if (!IsWagon(e - _engines))
|
|
|
e->preview_player = 1; // Give to the player with the highest rating.
|
|
|
e->preview_player = (PlayerID)1; // Give to the player with the highest rating.
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
AdjustAvailAircraft();
|
|
|
}
|
|
|
|
|
@@ -633,13 +633,13 @@ static void Load_ENGN(void)
|
|
|
|
|
|
static void LoadSave_ENGS(void)
|
|
|
{
|
|
|
SlArray(_engine_name_strings, lengthof(_engine_name_strings), SLE_STRINGID);
|
|
|
}
|
|
|
|
|
|
const ChunkHandler _engine_chunk_handlers[] = {
|
|
|
extern const ChunkHandler _engine_chunk_handlers[] = {
|
|
|
{ 'ENGN', Save_ENGN, Load_ENGN, CH_ARRAY },
|
|
|
{ 'ENGS', LoadSave_ENGS, LoadSave_ENGS, CH_RIFF },
|
|
|
{ 'ERNW', Save_ERNW, Load_ERNW, CH_ARRAY | CH_LAST},
|
|
|
};
|
|
|
|
|
|
void InitializeEngines(void)
|