mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-08-12 09:09:09 +00:00
(svn r1323) Adding autoreplace feature
This feature works much like autorenew, but it will get you a new engine type instead of a new one of the same type. Once ordered, it will automatically replace the engines while they visits a depot. The GUI for setting this up have been added on the vehicle overview windows Note: autorenew is now autoreplace, but to the same engine type Nice new features, that was added to make this possible - windows can now have two independant vertical scrollbars - CMD_SHOW_NO_ERROR have been added as a flag for DoCommandP. It will make it do the action instead of showing the red box with estimated costs even if shift is pressed - fixed problem where enginetypes where not initialized when loading a game. It's now done in InitializeGame()
This commit is contained in:
38
engine.c
38
engine.c
@@ -115,6 +115,29 @@ static void CalcEngineReliability(Engine *e)
|
||||
}
|
||||
}
|
||||
|
||||
void AddTypeToEngines()
|
||||
{
|
||||
Engine *e;
|
||||
uint32 counter = 0;
|
||||
|
||||
for(e=_engines; e != endof(_engines); e++, counter++) {
|
||||
|
||||
e->type = VEH_Train;
|
||||
if (counter >= ROAD_ENGINES_INDEX) {
|
||||
e->type = VEH_Road;
|
||||
if (counter >= SHIP_ENGINES_INDEX) {
|
||||
e->type = VEH_Ship;
|
||||
if (counter >= AIRCRAFT_ENGINES_INDEX) {
|
||||
e->type = VEH_Aircraft;
|
||||
if (counter >= TOTAL_NUM_ENGINES) {
|
||||
e->type = VEH_Special;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void StartupEngines()
|
||||
{
|
||||
Engine *e;
|
||||
@@ -123,8 +146,8 @@ void StartupEngines()
|
||||
|
||||
SetupEngineNames();
|
||||
|
||||
|
||||
for(e=_engines, ei=_engine_info; e != endof(_engines); e++, ei++, counter++) {
|
||||
|
||||
e->age = 0;
|
||||
e->railtype = ei->railtype_climates >> 4;
|
||||
e->flags = 0;
|
||||
@@ -170,19 +193,6 @@ void StartupEngines()
|
||||
It should hopefully be the same as when you ask a vehicle what it is
|
||||
but using this, you can ask what type an engine number is
|
||||
even if it is not a vehicle (yet)*/
|
||||
e->type = VEH_Train;
|
||||
if (counter >= ROAD_ENGINES_INDEX) {
|
||||
e->type = VEH_Road;
|
||||
if (counter >= SHIP_ENGINES_INDEX) {
|
||||
e->type = VEH_Ship;
|
||||
if (counter >= AIRCRAFT_ENGINES_INDEX) {
|
||||
e->type = VEH_Aircraft;
|
||||
if (counter >= TOTAL_NUM_ENGINES) {
|
||||
e->type = VEH_Special;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AdjustAvailAircraft();
|
||||
|
Reference in New Issue
Block a user