(svn r4559) - NewGRF: keep a record of which grf an engine is defined in. Will be used in the future.
authorpeter1138
Sun, 23 Apr 2006 22:25:33 +0000
changeset 3648 1574c89384cb
parent 3647 0a73001c9aa5
child 3649 8a5d76d106f3
(svn r4559) - NewGRF: keep a record of which grf an engine is defined in. Will be used in the future.
newgrf.c
newgrf_engine.c
newgrf_engine.h
--- a/newgrf.c	Sun Apr 23 22:06:52 2006 +0000
+++ b/newgrf.c	Sun Apr 23 22:25:33 2006 +0000
@@ -1662,6 +1662,7 @@
 				SetWagonOverrideSprites(engine, _cur_grffile->spritegroups[groupid], last_engines, last_engines_count);
 			} else {
 				SetCustomEngineSprites(engine, ctype, _cur_grffile->spritegroups[groupid]);
+				SetEngineGRF(engine, _cur_grffile->grfid);
 				last_engines[i] = engine;
 			}
 		}
--- a/newgrf_engine.c	Sun Apr 23 22:06:52 2006 +0000
+++ b/newgrf_engine.c	Sun Apr 23 22:25:33 2006 +0000
@@ -99,6 +99,7 @@
 // may appear in future - however it's more convenient to store it like this in
 // memory. --pasky)
 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)
 {
@@ -121,9 +122,23 @@
 		for (cargo = 0; cargo < NUM_GLOBAL_CID; cargo++) {
 			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)
 {
 	if (v->type != VEH_Train) return v->subtype;
--- a/newgrf_engine.h	Sun Apr 23 22:06:52 2006 +0000
+++ b/newgrf_engine.h	Sun Apr 23 22:25:33 2006 +0000
@@ -18,6 +18,10 @@
 void SetCustomEngineSprites(EngineID engine, byte cargo, struct SpriteGroup *group);
 // loaded is in percents, overriding_engine 0xffff is none
 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);
 bool UsesWagonOverride(const Vehicle *v);
 #define GetCustomVehicleSprite(v, direction) GetCustomEngineSprite(v->engine_type, v, direction)