summaryrefslogtreecommitdiff
path: root/engine.c
diff options
context:
space:
mode:
authorbjarni <bjarni@openttd.org>2005-01-02 17:23:04 +0000
committerbjarni <bjarni@openttd.org>2005-01-02 17:23:04 +0000
commit5da75918c0492b998df15dbea9b590e541d4fea5 (patch)
tree5fb0d626bc9f756094332a0dd97b98d42fce0a55 /engine.c
parent5eeab7fcfe4c0da2b2514b6cd34fdc4bcdf372b5 (diff)
downloadopenttd-5da75918c0492b998df15dbea9b590e541d4fea5.tar.xz
(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()
Diffstat (limited to 'engine.c')
-rw-r--r--engine.c38
1 files changed, 24 insertions, 14 deletions
diff --git a/engine.c b/engine.c
index 7286e0c80..bd3a3fd08 100644
--- a/engine.c
+++ b/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();