newgrf_spritegroup.h File Reference

Action 2 handling. More...

#include "town_type.h"
#include "gfx_type.h"
#include "engine_type.h"
#include "core/pool_type.hpp"
#include "house_type.h"
#include "newgrf_callbacks.h"
#include "newgrf_generic.h"
#include "newgrf_storage.h"
#include "newgrf_commons.h"

Go to the source code of this file.

Data Structures

struct  SpriteGroup
struct  RealSpriteGroup
struct  DeterministicSpriteGroupAdjust
struct  DeterministicSpriteGroupRange
struct  DeterministicSpriteGroup
struct  RandomizedSpriteGroup
struct  CallbackResultSpriteGroup
struct  ResultSpriteGroup
struct  TileLayoutSpriteGroup
struct  IndustryProductionSpriteGroup
struct  ResolverObject

Typedefs

typedef uint32 SpriteGroupID
typedef Pool< SpriteGroup,
SpriteGroupID, 1024, 1
<< 30, PT_DATA > 
SpriteGroupPool

Enumerations

enum  SpriteGroupType {
  SGT_REAL, SGT_DETERMINISTIC, SGT_RANDOMIZED, SGT_CALLBACK,
  SGT_RESULT, SGT_TILELAYOUT, SGT_INDUSTRY_PRODUCTION
}
enum  VarSpriteGroupScope { VSG_SCOPE_SELF, VSG_SCOPE_PARENT, VSG_SCOPE_RELATIVE }
enum  DeterministicSpriteGroupSize { DSG_SIZE_BYTE, DSG_SIZE_WORD, DSG_SIZE_DWORD }
enum  DeterministicSpriteGroupAdjustType { DSGA_TYPE_NONE, DSGA_TYPE_DIV, DSGA_TYPE_MOD }
enum  DeterministicSpriteGroupAdjustOperation {
  DSGA_OP_ADD, DSGA_OP_SUB, DSGA_OP_SMIN, DSGA_OP_SMAX,
  DSGA_OP_UMIN, DSGA_OP_UMAX, DSGA_OP_SDIV, DSGA_OP_SMOD,
  DSGA_OP_UDIV, DSGA_OP_UMOD, DSGA_OP_MUL, DSGA_OP_AND,
  DSGA_OP_OR, DSGA_OP_XOR, DSGA_OP_STO, DSGA_OP_RST,
  DSGA_OP_STOP, DSGA_OP_ROR, DSGA_OP_SCMP, DSGA_OP_UCMP,
  DSGA_OP_SHL, DSGA_OP_SHR, DSGA_OP_SAR
}
enum  RandomizedSpriteGroupCompareMode { RSG_CMP_ANY, RSG_CMP_ALL }

Functions

static uint32 GetRegister (uint i)
 Gets the value of a so-called newgrf "register".

Variables

SpriteGroupPool _spritegroup_pool

Detailed Description

Action 2 handling.

Definition in file newgrf_spritegroup.h.


Enumeration Type Documentation

Enumerator:
DSGA_OP_ADD 

a + b

DSGA_OP_SUB 

a - b

DSGA_OP_SMIN 

(signed) min(a, b)

DSGA_OP_SMAX 

(signed) max(a, b)

DSGA_OP_UMIN 

(unsigned) min(a, b)

DSGA_OP_UMAX 

(unsigned) max(a, b)

DSGA_OP_SDIV 

(signed) a / b

DSGA_OP_SMOD 

(signed) a % b

DSGA_OP_UDIV 

(unsigned) a / b

DSGA_OP_UMOD 

(unsigned) a & b

DSGA_OP_MUL 

a * b

DSGA_OP_AND 

a & b

DSGA_OP_OR 

a | b

DSGA_OP_XOR 

a ^ b

DSGA_OP_STO 

store a into temporary storage, indexed by b. return a

DSGA_OP_RST 

return b

DSGA_OP_STOP 

store a into persistent storage, indexed by b, return a

DSGA_OP_ROR 

rotate a b positions to the right

DSGA_OP_SCMP 

(signed) comparision (a < b -> 0, a == b = 1, a > b = 2)

DSGA_OP_UCMP 

(unsigned) comparision (a < b -> 0, a == b = 1, a > b = 2)

DSGA_OP_SHL 

a << b

DSGA_OP_SHR 

(unsigned) a >> b

DSGA_OP_SAR 

(signed) a >> b

Definition at line 133 of file newgrf_spritegroup.h.


Function Documentation

static uint32 GetRegister ( uint  i  )  [inline, static]

Gets the value of a so-called newgrf "register".

Parameters:
i index of the register
Precondition:
i < 0x110
Returns:
the value of the register

Definition at line 32 of file newgrf_spritegroup.h.

References TemporaryStorageArray< TYPE, SIZE >::Get().

Referenced by ChangeIndustryProduction(), GetCountAndDistanceOfClosestInstance(), and IndustryGetVariable().


Generated on Mon May 9 05:19:09 2011 for OpenTTD by  doxygen 1.6.1