diff options
author | rubidium <rubidium@openttd.org> | 2007-01-02 19:19:48 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2007-01-02 19:19:48 +0000 |
commit | 013df98f79866a75f367853c9e436f3c5c79f645 (patch) | |
tree | ad4a63860df2626b22f77e7dac712e958bea54cb /src/sprite.h | |
parent | 3d32fd3f4bfaceb8a48530fbc2f4bd5db2752596 (diff) | |
download | openttd-013df98f79866a75f367853c9e436f3c5c79f645.tar.xz |
(svn r7759) -Merge: makefile rewrite. This merge features:
- A proper ./configure, so everything needs to be configured only once, not for every make.
- Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies.
- A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC.
- Proper support for OSX universal binaries.
- Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files.
- Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files.
Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
Diffstat (limited to 'src/sprite.h')
-rw-r--r-- | src/sprite.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/sprite.h b/src/sprite.h new file mode 100644 index 000000000..9dca01a66 --- /dev/null +++ b/src/sprite.h @@ -0,0 +1,45 @@ +/* $Id$ */ + +#ifndef SPRITE_H +#define SPRITE_H + + +/* The following describes bunch of sprites to be drawn together in a single 3D + * bounding box. Used especially for various multi-sprite buildings (like + * depots or stations): */ + +typedef struct DrawTileSeqStruct { + int8 delta_x; // 0x80 is sequence terminator + int8 delta_y; + int8 delta_z; + byte size_x; + byte size_y; + byte size_z; + uint32 image; +} DrawTileSeqStruct; + +typedef struct DrawTileSprites { + SpriteID ground_sprite; + const DrawTileSeqStruct* seq; +} DrawTileSprites; + +/** + * This structure is the same for both Industries and Houses. + * Buildings here reference a general type of construction + */ +typedef struct DrawBuildingsTileStruct { + SpriteID ground; + SpriteID building; + byte subtile_x:4; + byte subtile_y:4; + byte width:4; + byte height:4; + byte dz; + byte draw_proc; /* this allows to specify a special drawing procedure.*/ +} DrawBuildingsTileStruct; + +// Iterate through all DrawTileSeqStructs in DrawTileSprites. +#define foreach_draw_tile_seq(idx, list) for (idx = list; ((byte) idx->delta_x) != 0x80; idx++) + + +#endif /* SPRITE_H */ |