FS2_Open
Open source remastering of the Freespace 2 engine
ddsutils.h File Reference
#include "globalincs/pstypes.h"
#include "cfile/cfile.h"

Go to the source code of this file.

Classes

struct  _DDSURFACEDESC2
 

Macros

#define DDS_ERROR_NONE   0
 
#define DDS_ERROR_INVALID_FILENAME   1
 
#define DDS_ERROR_UNSUPPORTED   2
 
#define DDS_ERROR_INVALID_FORMAT   3
 
#define DDS_ERROR_BAD_HEADER   4
 
#define DDS_ERROR_NO_COMPRESSION   5
 
#define DDS_ERROR_NON_POWER_OF_2   6
 
#define DDS_ERROR_CUBEMAP_FACES   7
 
#define DDS_DXT_INVALID   -1
 
#define DDS_UNCOMPRESSED   0
 
#define DDS_DXT1   1
 
#define DDS_DXT3   3
 
#define DDS_DXT5   5
 
#define DDS_CUBEMAP_UNCOMPRESSED   10
 
#define DDS_CUBEMAP_DXT1   11
 
#define DDS_CUBEMAP_DXT3   13
 
#define DDS_CUBEMAP_DXT5   15
 
#define MAKEFOURCC(ch0, ch1, ch2, ch3)
 
#define FOURCC_DXT1   (MAKEFOURCC('D','X','T','1'))
 
#define FOURCC_DXT2   (MAKEFOURCC('D','X','T','2'))
 
#define FOURCC_DXT3   (MAKEFOURCC('D','X','T','3'))
 
#define FOURCC_DXT4   (MAKEFOURCC('D','X','T','4'))
 
#define FOURCC_DXT5   (MAKEFOURCC('D','X','T','5'))
 
#define DDS_FILECODE   0x20534444
 
#define DDSD_LINEARSIZE   0x00080000
 
#define DDSD_PITCH   0x00000008
 
#define DDPF_ALPHAPIXELS   0x00000001
 
#define DDPF_FOURCC   0x00000004
 
#define DDPF_PALETTEINDEXED4   0x00000008
 
#define DDPF_PALETTEINDEXEDTO8   0x00000010
 
#define DDPF_PALETTEINDEXED8   0x00000020
 
#define DDPF_RGB   0x00000040
 
#define DDSD_PIXELFORMAT   0x00001000
 
#define DDSD_WIDTH   0x00000004
 
#define DDSD_HEIGHT   0x00000002
 
#define DDSD_CAPS   0x00000001
 
#define DDSD_MIPMAPCOUNT   0x00020000
 
#define DDSCAPS_COMPLEX   0x00000008
 
#define DDSCAPS_PRIMARYSURFACE   0x00000200
 
#define DDSCAPS_MIPMAP   0x00400000
 
#define DDSCAPS_TEXTURE   0x00001000
 
#define DDSCAPS2_CUBEMAP   0x00000200
 
#define DDSCAPS2_VOLUME   0x00200000
 
#define DDSCAPS2_CUBEMAP_POSITIVEX   0x00000400
 
#define DDSCAPS2_CUBEMAP_NEGATIVEX   0x00000800
 
#define DDSCAPS2_CUBEMAP_POSITIVEY   0x00001000
 
#define DDSCAPS2_CUBEMAP_NEGATIVEY   0x00002000
 
#define DDSCAPS2_CUBEMAP_POSITIVEZ   0x00004000
 
#define DDSCAPS2_CUBEMAP_NEGATIVEZ   0x00008000
 
#define DDSCAPS2_CUBEMAP_ALLFACES
 
#define DDS_OFFSET   4+sizeof(DDSURFACEDESC2)
 

Typedefs

typedef struct _DDSURFACEDESC2 DDSURFACEDESC2
 

Functions

int dds_read_header (const char *filename, CFILE *img_cfp=NULL, int *width=0, int *height=0, int *bpp=0, int *compression_type=0, int *levels=0, int *size=0, ubyte *palette=NULL)
 
int dds_read_bitmap (const char *filename, ubyte *data, ubyte *bpp=NULL, int cf_type=CF_TYPE_ANY)
 
void dds_save_image (int width, int height, int bpp, int num_mipmaps, ubyte *data=NULL, int cubemap=0, const char *filename=NULL)
 
const char * dds_error_string (int code)
 

Variables

int Texture_compression_available
 
int Use_compressed_textures
 

Macro Definition Documentation

#define DDPF_ALPHAPIXELS   0x00000001

Definition at line 49 of file ddsutils.h.

#define DDPF_FOURCC   0x00000004

Definition at line 50 of file ddsutils.h.

#define DDPF_PALETTEINDEXED4   0x00000008

Definition at line 51 of file ddsutils.h.

#define DDPF_PALETTEINDEXED8   0x00000020

Definition at line 53 of file ddsutils.h.

#define DDPF_PALETTEINDEXEDTO8   0x00000010

Definition at line 52 of file ddsutils.h.

#define DDPF_RGB   0x00000040

Definition at line 54 of file ddsutils.h.

#define DDS_CUBEMAP_DXT1   11

Definition at line 27 of file ddsutils.h.

#define DDS_CUBEMAP_DXT3   13

Definition at line 28 of file ddsutils.h.

#define DDS_CUBEMAP_DXT5   15

Definition at line 29 of file ddsutils.h.

#define DDS_CUBEMAP_UNCOMPRESSED   10

Definition at line 26 of file ddsutils.h.

#define DDS_DXT1   1

Definition at line 23 of file ddsutils.h.

#define DDS_DXT3   3

Definition at line 24 of file ddsutils.h.

#define DDS_DXT5   5

Definition at line 25 of file ddsutils.h.

#define DDS_DXT_INVALID   -1

Definition at line 21 of file ddsutils.h.

#define DDS_ERROR_BAD_HEADER   4

Definition at line 15 of file ddsutils.h.

#define DDS_ERROR_CUBEMAP_FACES   7

Definition at line 18 of file ddsutils.h.

#define DDS_ERROR_INVALID_FILENAME   1

Definition at line 12 of file ddsutils.h.

#define DDS_ERROR_INVALID_FORMAT   3

Definition at line 14 of file ddsutils.h.

#define DDS_ERROR_NO_COMPRESSION   5

Definition at line 16 of file ddsutils.h.

#define DDS_ERROR_NON_POWER_OF_2   6

Definition at line 17 of file ddsutils.h.

#define DDS_ERROR_NONE   0

Definition at line 11 of file ddsutils.h.

#define DDS_ERROR_UNSUPPORTED   2

Definition at line 13 of file ddsutils.h.

#define DDS_FILECODE   0x20534444

Definition at line 44 of file ddsutils.h.

#define DDS_OFFSET   4+sizeof(DDSURFACEDESC2)

Definition at line 136 of file ddsutils.h.

#define DDS_UNCOMPRESSED   0

Definition at line 22 of file ddsutils.h.

#define DDSCAPS2_CUBEMAP   0x00000200

Definition at line 66 of file ddsutils.h.

#define DDSCAPS2_CUBEMAP_ALLFACES
Value:
DDSCAPS2_CUBEMAP_NEGATIVEX | \
DDSCAPS2_CUBEMAP_POSITIVEY | \
DDSCAPS2_CUBEMAP_NEGATIVEY | \
DDSCAPS2_CUBEMAP_POSITIVEZ | \
#define DDSCAPS2_CUBEMAP_POSITIVEX
Definition: ddsutils.h:68
#define DDSCAPS2_CUBEMAP_NEGATIVEZ
Definition: ddsutils.h:73

Definition at line 75 of file ddsutils.h.

#define DDSCAPS2_CUBEMAP_NEGATIVEX   0x00000800

Definition at line 69 of file ddsutils.h.

#define DDSCAPS2_CUBEMAP_NEGATIVEY   0x00002000

Definition at line 71 of file ddsutils.h.

#define DDSCAPS2_CUBEMAP_NEGATIVEZ   0x00008000

Definition at line 73 of file ddsutils.h.

#define DDSCAPS2_CUBEMAP_POSITIVEX   0x00000400

Definition at line 68 of file ddsutils.h.

#define DDSCAPS2_CUBEMAP_POSITIVEY   0x00001000

Definition at line 70 of file ddsutils.h.

#define DDSCAPS2_CUBEMAP_POSITIVEZ   0x00004000

Definition at line 72 of file ddsutils.h.

#define DDSCAPS2_VOLUME   0x00200000

Definition at line 67 of file ddsutils.h.

#define DDSCAPS_COMPLEX   0x00000008

Definition at line 61 of file ddsutils.h.

#define DDSCAPS_MIPMAP   0x00400000

Definition at line 63 of file ddsutils.h.

#define DDSCAPS_PRIMARYSURFACE   0x00000200

Definition at line 62 of file ddsutils.h.

#define DDSCAPS_TEXTURE   0x00001000

Definition at line 64 of file ddsutils.h.

#define DDSD_CAPS   0x00000001

Definition at line 58 of file ddsutils.h.

#define DDSD_HEIGHT   0x00000002

Definition at line 57 of file ddsutils.h.

#define DDSD_LINEARSIZE   0x00080000

Definition at line 47 of file ddsutils.h.

#define DDSD_MIPMAPCOUNT   0x00020000

Definition at line 59 of file ddsutils.h.

#define DDSD_PITCH   0x00000008

Definition at line 48 of file ddsutils.h.

#define DDSD_PIXELFORMAT   0x00001000

Definition at line 55 of file ddsutils.h.

#define DDSD_WIDTH   0x00000004

Definition at line 56 of file ddsutils.h.

#define FOURCC_DXT1   (MAKEFOURCC('D','X','T','1'))

Definition at line 38 of file ddsutils.h.

#define FOURCC_DXT2   (MAKEFOURCC('D','X','T','2'))

Definition at line 39 of file ddsutils.h.

#define FOURCC_DXT3   (MAKEFOURCC('D','X','T','3'))

Definition at line 40 of file ddsutils.h.

#define FOURCC_DXT4   (MAKEFOURCC('D','X','T','4'))

Definition at line 41 of file ddsutils.h.

#define FOURCC_DXT5   (MAKEFOURCC('D','X','T','5'))

Definition at line 42 of file ddsutils.h.

#define MAKEFOURCC (   ch0,
  ch1,
  ch2,
  ch3 
)
Value:
((uint)(ubyte)(ch0) | ((uint)(ubyte)(ch1) << 8) | \
((uint)(ubyte)(ch2) << 16) | ((uint)(ubyte)(ch3) << 24 ))
unsigned int uint
Definition: pstypes.h:64
unsigned char ubyte
Definition: pstypes.h:62

Definition at line 32 of file ddsutils.h.

Typedef Documentation

Function Documentation

const char* dds_error_string ( int  code)

Definition at line 467 of file ddsutils.cpp.

int dds_read_bitmap ( const char *  filename,
ubyte data,
ubyte bpp = NULL,
int  cf_type = CF_TYPE_ANY 
)

Definition at line 275 of file ddsutils.cpp.

int dds_read_header ( const char *  filename,
CFILE img_cfp = NULL,
int width = 0,
int height = 0,
int bpp = 0,
int compression_type = 0,
int levels = 0,
int size = 0,
ubyte palette = NULL 
)

Definition at line 30 of file ddsutils.cpp.

void dds_save_image ( int  width,
int  height,
int  bpp,
int  num_mipmaps,
ubyte data = NULL,
int  cubemap = 0,
const char *  filename = NULL 
)

Definition at line 324 of file ddsutils.cpp.

Variable Documentation

int Texture_compression_available

Definition at line 19 of file ddsutils.cpp.

int Use_compressed_textures

Definition at line 20 of file ddsutils.cpp.