1 #ifndef _VT_LEVEL_H_
2 #define _VT_LEVEL_H_
3 
4 #include "l_main.h"
5 
6 #define TR_TEXTURE_INDEX_MASK_TR4   (0x7FFF)          // in some custom levels we need to use 0x7FFF flag
7 #define TR_TEXTURE_INDEX_MASK       (0x0FFF)
8 //#define TR_TEXTURE_SHAPE_MASK     (0x7000)          // still not used
9 #define TR_TEXTURE_FLIPPED_MASK     (0x8000)
10 
11 
12 void WriteTGAfile(const char *filename, const uint8_t *data, const int width, const int height, char invY);
13 
14 class VT_Level : public TR_Level
15 {
16     public:
17     static int get_level_format(const char *name);
18     static int get_PC_level_version(const char *name);
19     void prepare_level();
20     void dump_textures();
21     tr_staticmesh_t *find_staticmesh_id(uint32_t object_id);
22     tr2_item_t *find_item_id(int32_t object_id);
23     tr_moveable_t *find_moveable_id(uint32_t object_id);
24 
25     protected:
26     void convert_textile8_to_textile32(tr_textile8_t & tex, tr2_palette_t & pal, tr4_textile32_t & dst);
27     void convert_textile16_to_textile32(tr2_textile16_t & tex, tr4_textile32_t & dst);
28 };
29 
30 #endif // _VT_LEVEL_H_