(svn r4594) - NewGRF: introduce the basic sprite group resolver. This code isn't used yet.

This commit is contained in:
peter1138
2006-04-27 19:53:58 +00:00
parent 187013b6a3
commit 2f3401b487
2 changed files with 213 additions and 1 deletions

View File

@@ -154,4 +154,39 @@ struct SpriteGroup {
SpriteGroup *AllocateSpriteGroup(void);
void InitializeSpriteGroupPool(void);
typedef struct ResolverObject {
byte callback;
uint32 callback_param1;
uint32 callback_param2;
byte trigger;
uint32 last_value;
uint32 reseed;
VarSpriteGroupScope scope;
union {
struct {
const struct Vehicle *self;
const struct Vehicle *parent;
} vehicle;
struct {
TileIndex tile;
const struct Station *st;
const struct StationSpec *statspec;
} station;
};
uint32 (*GetRandomBits)(const struct ResolverObject*);
uint32 (*GetTriggers)(const struct ResolverObject*);
void (*SetTriggers)(const struct ResolverObject*, int);
uint32 (*GetVariable)(const struct ResolverObject*, byte, byte);
uint32 (*ResolveReal)(const struct ResolverObject*, uint, uint, bool*);
} ResolverObject;
/* Base sprite group resolver */
const SpriteGroup *Resolve(const SpriteGroup *group, ResolverObject *object);
#endif /* NEWGRF_SPRITEGROUP_H */