mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r4559) - NewGRF: keep a record of which grf an engine is defined in. Will be used in the future.
This commit is contained in:
parent
fd2a005139
commit
7555d8528b
1
newgrf.c
1
newgrf.c
|
@ -1662,6 +1662,7 @@ static void NewVehicle_SpriteGroupMapping(byte *buf, int len)
|
||||||
SetWagonOverrideSprites(engine, _cur_grffile->spritegroups[groupid], last_engines, last_engines_count);
|
SetWagonOverrideSprites(engine, _cur_grffile->spritegroups[groupid], last_engines, last_engines_count);
|
||||||
} else {
|
} else {
|
||||||
SetCustomEngineSprites(engine, ctype, _cur_grffile->spritegroups[groupid]);
|
SetCustomEngineSprites(engine, ctype, _cur_grffile->spritegroups[groupid]);
|
||||||
|
SetEngineGRF(engine, _cur_grffile->grfid);
|
||||||
last_engines[i] = engine;
|
last_engines[i] = engine;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,6 +99,7 @@ void UnloadWagonOverrides(void)
|
||||||
// may appear in future - however it's more convenient to store it like this in
|
// may appear in future - however it's more convenient to store it like this in
|
||||||
// memory. --pasky)
|
// memory. --pasky)
|
||||||
static SpriteGroup *engine_custom_sprites[TOTAL_NUM_ENGINES][NUM_GLOBAL_CID];
|
static SpriteGroup *engine_custom_sprites[TOTAL_NUM_ENGINES][NUM_GLOBAL_CID];
|
||||||
|
static uint32 _engine_grf[TOTAL_NUM_ENGINES];
|
||||||
|
|
||||||
void SetCustomEngineSprites(EngineID engine, byte cargo, SpriteGroup *group)
|
void SetCustomEngineSprites(EngineID engine, byte cargo, SpriteGroup *group)
|
||||||
{
|
{
|
||||||
|
@ -121,9 +122,23 @@ void UnloadCustomEngineSprites(void)
|
||||||
for (cargo = 0; cargo < NUM_GLOBAL_CID; cargo++) {
|
for (cargo = 0; cargo < NUM_GLOBAL_CID; cargo++) {
|
||||||
engine_custom_sprites[engine][cargo] = NULL;
|
engine_custom_sprites[engine][cargo] = NULL;
|
||||||
}
|
}
|
||||||
|
_engine_grf[engine] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SetEngineGRF(EngineID engine, uint32 grfid)
|
||||||
|
{
|
||||||
|
assert(engine < TOTAL_NUM_ENGINES);
|
||||||
|
_engine_grf[engine] = grfid;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 GetEngineGRFID(EngineID engine)
|
||||||
|
{
|
||||||
|
assert(engine < TOTAL_NUM_ENGINES);
|
||||||
|
return _engine_grf[engine];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int MapOldSubType(const Vehicle *v)
|
static int MapOldSubType(const Vehicle *v)
|
||||||
{
|
{
|
||||||
if (v->type != VEH_Train) return v->subtype;
|
if (v->type != VEH_Train) return v->subtype;
|
||||||
|
|
|
@ -18,6 +18,10 @@ void SetWagonOverrideSprites(EngineID engine, struct SpriteGroup *group, byte *t
|
||||||
void SetCustomEngineSprites(EngineID engine, byte cargo, struct SpriteGroup *group);
|
void SetCustomEngineSprites(EngineID engine, byte cargo, struct SpriteGroup *group);
|
||||||
// loaded is in percents, overriding_engine 0xffff is none
|
// loaded is in percents, overriding_engine 0xffff is none
|
||||||
int GetCustomEngineSprite(EngineID engine, const Vehicle* v, Direction direction);
|
int GetCustomEngineSprite(EngineID engine, const Vehicle* v, Direction direction);
|
||||||
|
|
||||||
|
void SetEngineGRF(EngineID engine, uint32 grfid);
|
||||||
|
uint32 GetEngineGRFID(EngineID engine);
|
||||||
|
|
||||||
uint16 GetVehicleCallback(byte callback, uint32 param1, uint32 param2, EngineID engine, const Vehicle *v);
|
uint16 GetVehicleCallback(byte callback, uint32 param1, uint32 param2, EngineID engine, const Vehicle *v);
|
||||||
bool UsesWagonOverride(const Vehicle *v);
|
bool UsesWagonOverride(const Vehicle *v);
|
||||||
#define GetCustomVehicleSprite(v, direction) GetCustomEngineSprite(v->engine_type, v, direction)
|
#define GetCustomVehicleSprite(v, direction) GetCustomEngineSprite(v->engine_type, v, direction)
|
||||||
|
|
Loading…
Reference in New Issue