diff options
| author | Japa | 2010-06-25 14:05:19 +0000 |
|---|---|---|
| committer | Japa | 2010-06-25 14:05:19 +0000 |
| commit | 83ca2eca776c362110137a489c7bda42ec99a5d2 (patch) | |
| tree | e411cfd77eb3f8c143496604d4fd18d0a32338ce /SpriteObjects.h | |
| parent | 313d5fd88087eded7fb9cfa24419b34d2fdaf23f (diff) | |
| download | stonesense-83ca2eca776c362110137a489c7bda42ec99a5d2.tar.gz stonesense-83ca2eca776c362110137a489c7bda42ec99a5d2.tar.bz2 stonesense-83ca2eca776c362110137a489c7bda42ec99a5d2.tar.xz | |
all sprites other than buildings are now object oriented and seem to be working niceley
ToDo: get mud working again.
Diffstat (limited to 'SpriteObjects.h')
| -rw-r--r-- | SpriteObjects.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/SpriteObjects.h b/SpriteObjects.h index 80c938e..00cc7c4 100644 --- a/SpriteObjects.h +++ b/SpriteObjects.h @@ -2,6 +2,10 @@ #include "dfhack/depends/tinyxml/tinyxml.h"
+#define BLOCKTILE 0
+#define RAMPBOTTOMTILE 1
+#define RAMPTOPTILE 2
+
class c_sprite
{
private:
@@ -11,9 +15,11 @@ private: uint8_t spriteheight;
int16_t offset_x;
int16_t offset_y;
+ int16_t offset_user_x;
+ int16_t offset_user_y;
uint8_t variations;
ShadeBy shadeBy;
- vector<c_sprite *> subsprites;
+ vector<c_sprite> subsprites;
ALLEGRO_COLOR shadecolor;
char bodypart[128];
char animframes;
@@ -24,21 +30,26 @@ private: int bloodmax;
bool needoutline;
+
+ uint8_t tilelayout;
public:
c_sprite(void);
~c_sprite(void);
void draw_screen(int x, int y);
void draw_world(int x, int y, int z, bool chop = false);
+ void draw_world_offset(int x, int y, int z, int offset, bool chop = false);
+ void draw_world_ramp_bottom(int x, int y, int z, bool chop = false);
void set_by_xml(TiXmlElement* elemSprite, int32_t fileindex);
void set_by_xml(TiXmlElement* elemSprite);
int32_t get_sheetindex(void){ return sheetindex; }
int32_t get_animframes(void){ return animframes; }
char get_fileindex(void){ return fileindex; }
void set_sheetindex(int32_t in){ sheetindex = in; }
- void set_fileindex(int32_t in){ fileindex = in; }
+ void set_fileindex(int32_t in){ fileindex = in; }
void set_animframes(char in){ animframes = in; }
- void set_size(uint8_t x, uint8_t y){ spritewidth = x; spriteheight = y; }
- void set_offset(uint8_t x, uint8_t y){ offset_x = x; offset_y = y; }
+ void set_size(uint8_t x, uint8_t y);
+ void set_offset(int16_t x, int16_t y);
ALLEGRO_COLOR get_color(Block * b);
void reset();
+ void set_tile_layout(uint8_t layout);
};
|
