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_