summaryrefslogtreecommitdiff
path: root/src/newgrf.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/newgrf.cpp')
-rw-r--r--src/newgrf.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp
index 9c1d954d4..80268a750 100644
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -2287,6 +2287,35 @@ static void NewSpriteGroup(byte *buf, int len)
break;
}
+ case GSF_INDUSTRIES: {
+ if (type > 1) {
+ grfmsg(1, "NewSpriteGroup: Unsupported industry production version %d, skipping", type);
+ break;
+ }
+
+ group = AllocateSpriteGroup();
+ group->type = SGT_INDUSTRY_PRODUCTION;
+ group->g.indprod.version = type;
+ if (type == 0) {
+ for (uint i = 0; i < 3; i++) {
+ group->g.indprod.substract_input[i] = grf_load_word(&buf);
+ }
+ for (uint i = 0; i < 2; i++) {
+ group->g.indprod.add_output[i] = grf_load_word(&buf);
+ }
+ group->g.indprod.again = grf_load_byte(&buf);
+ } else {
+ for (uint i = 0; i < 3; i++) {
+ group->g.indprod.substract_input[i] = grf_load_byte(&buf);
+ }
+ for (uint i = 0; i < 2; i++) {
+ group->g.indprod.add_output[i] = grf_load_byte(&buf);
+ }
+ group->g.indprod.again = grf_load_byte(&buf);
+ }
+ break;
+ }
+
/* Loading of Tile Layout and Production Callback groups would happen here */
default: grfmsg(1, "NewSpriteGroup: Unsupported feature %d, skipping", feature);
}