(svn r1290) Added type to typedef struct Engine and filled in the same data as in type in vehicle

it was kind of lame that you should use AircraftVehInfo(), ShipVehInfo() etc. if you wanted to know what type the engine is
This commit is contained in:
bjarni 2004-12-28 17:18:46 +00:00
parent c476b34b23
commit bd580437b8
2 changed files with 22 additions and 2 deletions

View File

@ -119,12 +119,12 @@ void StartupEngines()
{
Engine *e;
const EngineInfo *ei;
uint32 r;
uint32 r, counter = 0;
SetupEngineNames();
for(e=_engines, ei=_engine_info; e != endof(_engines); e++,ei++) {
for(e=_engines, ei=_engine_info; e != endof(_engines); e++, ei++, counter++) {
e->age = 0;
e->railtype = ei->railtype_climates >> 4;
e->flags = 0;
@ -164,6 +164,25 @@ void StartupEngines()
e->flags |= ENGINE_AVAILABLE;
e->player_avail = 0;
}
/* This sets up type for the engine
It is needed if you want to ask the engine what type it is
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();

View File

@ -70,6 +70,7 @@ typedef struct Engine {
byte preview_wait;
byte railtype;
byte player_avail;
byte type; // type, ie VEH_Road, VEH_Train, etc. Same as in vehicle.h
} Engine;