author | celestar |
Tue, 19 Jun 2007 07:21:01 +0000 | |
branch | gamebalance |
changeset 9913 | e79cd19772dd |
parent 9912 | 1ac8aac92385 |
child 8066 | 7acd480e05c9 |
permissions | -rw-r--r-- |
9912
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
1 |
/* $Id$ */ |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
2 |
|
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
3 |
/** @file spriteloader.hpp */ |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
4 |
|
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
5 |
#ifndef SPRITELOADER_HPP |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
6 |
#define SPRITELOADER_HPP |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
7 |
|
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
8 |
class SpriteLoader { |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
9 |
public: |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
10 |
struct CommonPixel { |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
11 |
uint8 r; ///< Red-channel |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
12 |
uint8 g; ///< Green-channel |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
13 |
uint8 b; ///< Blue-channel |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
14 |
uint8 a; ///< Alpha-channel |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
15 |
uint8 m; ///< Remap-channel |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
16 |
}; |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
17 |
|
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
18 |
struct Sprite { |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
19 |
uint16 height; ///< Height of the sprite |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
20 |
uint16 width; ///< Width of the sprite |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
21 |
int16 x_offs; ///< The x-offset of where the sprite will be drawn |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
22 |
int16 y_offs; ///< The y-offset of where the sprite will be drawn |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
23 |
SpriteLoader::CommonPixel *data; ///< The sprite itself |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
24 |
}; |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
25 |
|
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
26 |
/** |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
27 |
* Load a sprite from the disk and return a sprite struct which is the same for all loaders. |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
28 |
*/ |
9913
e79cd19772dd
(svn r10213) [gamebalance] -Sync: r10100:10200 from trunk
celestar
parents:
9912
diff
changeset
|
29 |
virtual bool LoadSprite(SpriteLoader::Sprite *sprite, const char *filename, uint32 file_pos) = 0; |
9912
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
30 |
|
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
31 |
virtual ~SpriteLoader() { } |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
32 |
}; |
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
33 |
|
1ac8aac92385
(svn r10136) [gamebalance] -Sync: r9900:10100 from trunk
celestar
parents:
diff
changeset
|
34 |
#endif /* SPRITELOADER_HPP */ |