git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6000 dfc29bdd-3216-0410-991c-e03cc46cb475
		
			
				
	
	
		
			101 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright (C) 2004 Murphy McCauley
 | |
| // Copyright (C) 2007-2012 Christian Stehno
 | |
| // This file is part of the "Irrlicht Engine".
 | |
| // For conditions of distribution and use, see copyright notice in irrlicht.h
 | |
| /*
 | |
|  Thanks to:
 | |
|  Max McGuire for his Flipcode article about WAL textures
 | |
|  Nikolaus Gebhardt for the Irrlicht 3D engine
 | |
| */
 | |
| 
 | |
| #ifndef __C_IMAGE_LOADER_WAL_H_INCLUDED__
 | |
| #define __C_IMAGE_LOADER_WAL_H_INCLUDED__
 | |
| 
 | |
| #include "IrrCompileConfig.h"
 | |
| #include "IImageLoader.h"
 | |
| 
 | |
| namespace irr
 | |
| {
 | |
| namespace video
 | |
| {
 | |
| 
 | |
| #ifdef _IRR_COMPILE_WITH_LMP_LOADER_
 | |
| 
 | |
| // byte-align structures
 | |
| #include "irrpack.h"
 | |
| 
 | |
| 	struct SLMPHeader {
 | |
| 		u32	width;	// width
 | |
| 		u32	height;	// height
 | |
| 		// variably sized
 | |
| 	} PACK_STRUCT;
 | |
| 
 | |
| // Default alignment
 | |
| #include "irrunpack.h"
 | |
| 
 | |
| //! An Irrlicht image loader for Quake1,2 engine lmp textures/palette
 | |
| class CImageLoaderLMP : public irr::video::IImageLoader
 | |
| {
 | |
| public:
 | |
| 	virtual bool isALoadableFileExtension(const io::path& filename) const _IRR_OVERRIDE_;
 | |
| 	virtual bool isALoadableFileFormat(irr::io::IReadFile* file) const _IRR_OVERRIDE_;
 | |
| 	virtual irr::video::IImage* loadImage(irr::io::IReadFile* file) const _IRR_OVERRIDE_;
 | |
| };
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #ifdef _IRR_COMPILE_WITH_WAL_LOADER_
 | |
| 
 | |
| //! An Irrlicht image loader for quake2 wal engine textures
 | |
| class CImageLoaderWAL : public irr::video::IImageLoader
 | |
| {
 | |
| public:
 | |
| 	virtual bool isALoadableFileExtension(const io::path& filename) const _IRR_OVERRIDE_;
 | |
| 	virtual bool isALoadableFileFormat(irr::io::IReadFile* file) const _IRR_OVERRIDE_;
 | |
| 	virtual irr::video::IImage* loadImage(irr::io::IReadFile* file) const _IRR_OVERRIDE_;
 | |
| };
 | |
| 
 | |
| //! An Irrlicht image loader for Halflife 1 engine textures
 | |
| class CImageLoaderWAL2 : public irr::video::IImageLoader
 | |
| {
 | |
| public:
 | |
| 	virtual bool isALoadableFileExtension(const io::path& filename) const _IRR_OVERRIDE_;
 | |
| 	virtual bool isALoadableFileFormat(irr::io::IReadFile* file) const _IRR_OVERRIDE_;
 | |
| 	virtual irr::video::IImage* loadImage(irr::io::IReadFile* file) const _IRR_OVERRIDE_;
 | |
| };
 | |
| 
 | |
| // byte-align structures
 | |
| #include "irrpack.h"
 | |
| 
 | |
| 	// Halfelife wad3 type 67 file
 | |
| 	struct miptex_halflife
 | |
| 	{
 | |
| 		c8  name[16];
 | |
| 		u32 width, height;
 | |
| 		u32 mipmap[4];		// four mip maps stored
 | |
| 	} PACK_STRUCT;
 | |
| 
 | |
| 	//quake2 texture
 | |
| 	struct miptex_quake2
 | |
| 	{
 | |
| 		c8 name[32];
 | |
| 		u32 width;
 | |
| 		u32 height;
 | |
| 		u32 mipmap[4];		// four mip maps stored
 | |
| 		c8  animname[32];	// next frame in animation chain
 | |
| 		s32 flags;
 | |
| 		s32 contents;
 | |
| 		s32 value;
 | |
| 	} PACK_STRUCT;
 | |
| 
 | |
| // Default alignment
 | |
| #include "irrunpack.h"
 | |
| 
 | |
| #endif
 | |
| 
 | |
| }
 | |
| }
 | |
| 
 | |
| #endif
 | |
| 
 |