author | rubidium |
Sun, 23 Sep 2007 07:37:38 +0000 | |
branch | noai |
changeset 9703 | d2a6acdbd665 |
parent 9694 | e72987579514 |
child 6872 | 1c4a4a609f85 |
child 8609 | 8c0c3e9dd6a0 |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
9574 | 3 |
/** @file sprite.h */ |
4 |
||
406
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
5 |
#ifndef SPRITE_H |
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
6 |
#define SPRITE_H |
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
7 |
|
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
8 |
|
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
9 |
/* The following describes bunch of sprites to be drawn together in a single 3D |
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
10 |
* bounding box. Used especially for various multi-sprite buildings (like |
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
11 |
* depots or stations): */ |
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
12 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
5919
diff
changeset
|
13 |
struct DrawTileSeqStruct { |
408
63a8c0505aab
(svn r605) -newgrf: Framework for supporting variational spritegroups . Deterministic only at the moment, but random ones support shouldn't be that difficult now It doesn't do anything, but makes these actions actually possible (pasky).
darkvater
parents:
406
diff
changeset
|
14 |
int8 delta_x; // 0x80 is sequence terminator |
406
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
15 |
int8 delta_y; |
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
16 |
int8 delta_z; |
4230
cd86b1c47f33
(svn r5787) Rename width, height and unk of struct DrawTileSeqStruct to size_{x,y,z}
tron
parents:
3865
diff
changeset
|
17 |
byte size_x; |
cd86b1c47f33
(svn r5787) Rename width, height and unk of struct DrawTileSeqStruct to size_{x,y,z}
tron
parents:
3865
diff
changeset
|
18 |
byte size_y; |
cd86b1c47f33
(svn r5787) Rename width, height and unk of struct DrawTileSeqStruct to size_{x,y,z}
tron
parents:
3865
diff
changeset
|
19 |
byte size_z; |
5919
2b58160d667d
(svn r8128) -Codechange: Split sprite and palette remap into separate 32 bit values.
peter1138
parents:
5726
diff
changeset
|
20 |
SpriteID image; |
2b58160d667d
(svn r8128) -Codechange: Split sprite and palette remap into separate 32 bit values.
peter1138
parents:
5726
diff
changeset
|
21 |
SpriteID pal; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
5919
diff
changeset
|
22 |
}; |
406
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
23 |
|
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
5919
diff
changeset
|
24 |
struct DrawTileSprites { |
406
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
25 |
SpriteID ground_sprite; |
5919
2b58160d667d
(svn r8128) -Codechange: Split sprite and palette remap into separate 32 bit values.
peter1138
parents:
5726
diff
changeset
|
26 |
SpriteID ground_pal; |
9694
e72987579514
(svn r10775) [NoAI] -Sync: with trunk r10535:r10774.
rubidium
parents:
9574
diff
changeset
|
27 |
const DrawTileSeqStruct *seq; |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
5919
diff
changeset
|
28 |
}; |
406
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
29 |
|
3654
4a3f8056a61c
(svn r4568) CodeChange : Bring definitions and uses of DrawTypesStructures toguether.
belugas
parents:
3595
diff
changeset
|
30 |
/** |
4a3f8056a61c
(svn r4568) CodeChange : Bring definitions and uses of DrawTypesStructures toguether.
belugas
parents:
3595
diff
changeset
|
31 |
* This structure is the same for both Industries and Houses. |
4a3f8056a61c
(svn r4568) CodeChange : Bring definitions and uses of DrawTypesStructures toguether.
belugas
parents:
3595
diff
changeset
|
32 |
* Buildings here reference a general type of construction |
4a3f8056a61c
(svn r4568) CodeChange : Bring definitions and uses of DrawTypesStructures toguether.
belugas
parents:
3595
diff
changeset
|
33 |
*/ |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
5919
diff
changeset
|
34 |
struct DrawBuildingsTileStruct { |
5919
2b58160d667d
(svn r8128) -Codechange: Split sprite and palette remap into separate 32 bit values.
peter1138
parents:
5726
diff
changeset
|
35 |
PalSpriteID ground; |
2b58160d667d
(svn r8128) -Codechange: Split sprite and palette remap into separate 32 bit values.
peter1138
parents:
5726
diff
changeset
|
36 |
PalSpriteID building; |
9703
d2a6acdbd665
(svn r11146) [NoAI] -Sync: with trunk r11035:11045.
rubidium
parents:
9694
diff
changeset
|
37 |
byte subtile_x; |
d2a6acdbd665
(svn r11146) [NoAI] -Sync: with trunk r11035:11045.
rubidium
parents:
9694
diff
changeset
|
38 |
byte subtile_y; |
d2a6acdbd665
(svn r11146) [NoAI] -Sync: with trunk r11035:11045.
rubidium
parents:
9694
diff
changeset
|
39 |
byte width; |
d2a6acdbd665
(svn r11146) [NoAI] -Sync: with trunk r11035:11045.
rubidium
parents:
9694
diff
changeset
|
40 |
byte height; |
3654
4a3f8056a61c
(svn r4568) CodeChange : Bring definitions and uses of DrawTypesStructures toguether.
belugas
parents:
3595
diff
changeset
|
41 |
byte dz; |
4a3f8056a61c
(svn r4568) CodeChange : Bring definitions and uses of DrawTypesStructures toguether.
belugas
parents:
3595
diff
changeset
|
42 |
byte draw_proc; /* this allows to specify a special drawing procedure.*/ |
6574
e1d1a12faaf7
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
rubidium
parents:
5919
diff
changeset
|
43 |
}; |
3654
4a3f8056a61c
(svn r4568) CodeChange : Bring definitions and uses of DrawTypesStructures toguether.
belugas
parents:
3595
diff
changeset
|
44 |
|
9574 | 45 |
/** Iterate through all DrawTileSeqStructs in DrawTileSprites. */ |
406
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
46 |
#define foreach_draw_tile_seq(idx, list) for (idx = list; ((byte) idx->delta_x) != 0x80; idx++) |
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
47 |
|
29f813f556a6
(svn r603) -newgrf: Stupid TortoiseSVN converted the file to DOS newlines. Bah
darkvater
parents:
405
diff
changeset
|
48 |
|
2436
177cb6a8339f
(svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents:
2242
diff
changeset
|
49 |
#endif /* SPRITE_H */ |