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;
178 bool calculated_result;
191 enum RandomizedSpriteGroupCompareMode {
230 if (!grf_version8 && (this->result >> 8) == 0xFF) {
231 this->result &= ~0xFF00;
233 this->result &= ~0x8000;
238 uint16 GetCallbackResult()
const {
return this->result; }
254 num_sprites(num_sprites)
260 SpriteID GetResult()
const {
return this->sprite; }
261 byte GetNumResults()
const {
return this->num_sprites; }
280 int16 subtract_input[3];
281 uint16 add_output[2];
300 virtual uint32
GetVariable(byte variable, uint32 parameter,
bool *available)
const;
301 virtual void StorePSA(uint reg, int32 value);