diff options
author | rubidium <rubidium@openttd.org> | 2007-07-05 05:41:56 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2007-07-05 05:41:56 +0000 |
commit | 86c14c239fe10062fa83f4ee5902dfec510cd1ff (patch) | |
tree | 8f43488078024be2576c0659efafbe7b95adb002 /src/newgrf.cpp | |
parent | 9bc6a1cc8e463d37bad7e9140276079fc59a02ca (diff) | |
download | openttd-86c14c239fe10062fa83f4ee5902dfec510cd1ff.tar.xz |
(svn r10442) -Codechange: implement the industry production callback.
Diffstat (limited to 'src/newgrf.cpp')
-rw-r--r-- | src/newgrf.cpp | 29 |
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); } |