12 #ifndef NEWGRF_SPRITEGROUP_H
13 #define NEWGRF_SPRITEGROUP_H
37 enum SpriteGroupType {
44 SGT_INDUSTRY_PRODUCTION,
48 typedef uint32 SpriteGroupID;
69 virtual SpriteID GetResult()
const {
return 0; }
70 virtual byte GetNumResults()
const {
return 0; }
111 enum DeterministicSpriteGroupSize {
117 enum DeterministicSpriteGroupAdjustType {
152 DeterministicSpriteGroupAdjustType type;
175 DeterministicSpriteGroupSize size;
188 enum RandomizedSpriteGroupCompareMode {
227 if (!grf_version8 && (this->result >> 8) == 0xFF) {
228 this->result &= ~0xFF00;
230 this->result &= ~0x8000;
235 uint16 GetCallbackResult()
const {
return this->result; }
251 num_sprites(num_sprites)
257 SpriteID GetResult()
const {
return this->sprite; }
258 byte GetNumResults()
const {
return this->num_sprites; }
277 int16 subtract_input[3];
278 uint16 add_output[2];
298 virtual uint32
GetVariable(byte variable, uint32 parameter,
bool *available)
const;
299 virtual void StorePSA(uint reg, int32 value);