Files
fs2open.github.com/code/pcxutils/pcxutils.h
T
taylor 0fe5be4fe9 small bit of EFF cleanup
add -img2dds support
cleanup some D3D stuff (missing a lot since the old code is so unstable I couldn't get it working like I wanted)
some minor OGL cleanup and small performance changes
converge the various pcx_read_bitmap* functions into one
cleanup/rename/remove some cmdline options
2005-11-13 06:44:18 +00:00

132 lines
4.2 KiB
C

/*
* Copyright (C) Volition, Inc. 1999. All rights reserved.
*
* All source code herein is the property of Volition, Inc. You may not sell
* or otherwise commercially exploit the source or things you created based on the
* source.
*
*/
/*
* $Logfile: /Freespace2/code/PcxUtils/pcxutils.h $
* $Revision: 2.7 $
* $Date: 2005-11-13 06:44:18 $
* $Author: taylor $
*
* header file for PCX utilities
*
* $Log: not supported by cvs2svn $
* Revision 2.6 2005/07/13 03:35:34 Goober5000
* remove PreProcDefine #includes in FS2
* --Goober5000
*
* Revision 2.5 2005/02/04 10:12:32 taylor
* merge with Linux/OSX tree - p0204
*
* Revision 2.4 2004/10/31 22:00:57 taylor
* new bmpman merge support, add PreProcDefines.h a few new places
*
* Revision 2.3 2004/08/11 05:06:32 Kazan
* added preprocdefines.h to prevent what happened with fred -- make sure to make all fred2 headers include this file as the _first_ include -- i have already modified fs2 files to do this
*
* Revision 2.2 2003/11/19 20:37:24 randomtiger
* Almost fully working 32 bit pcx, use -pcx32 flag to activate.
* Made some commandline variables fit the naming standard.
* Changed timerbar system not to run pushes and pops if its not in use.
* Put in a note about not uncommenting asserts.
* Fixed up a lot of missing POP's on early returns?
* Perhaps the motivation for Assert functionality getting commented out?
* Fixed up some bad asserts.
* Changed nebula poofs to render in 2D in htl, it makes it look how it used to in non htl. (neb.cpp,1248)
* Before the poofs were creating a nasty stripe effect where they intersected with ships hulls.
* Put in a special check for the signs of that D3D init bug I need to lock down.
*
* Revision 2.1 2002/08/01 01:41:09 penguin
* The big include file move
*
* Revision 2.0 2002/06/03 04:02:27 penguin
* Warpcore CVS sync
*
* Revision 1.1 2002/05/02 18:03:12 mharris
* Initial checkin - converted filenames and includes to lower case
*
*
* 6 8/10/99 6:54p Dave
* Mad optimizations. Added paging to the nebula effect.
*
* 5 2/05/99 12:52p Dave
* Fixed Glide nondarkening textures.
*
* 4 12/01/98 4:46p Dave
* Put in targa bitmap support (16 bit).
*
* 3 11/30/98 1:07p Dave
* 16 bit conversion, first run.
*
* 2 10/07/98 10:53a Dave
* Initial checkin.
*
* 1 10/07/98 10:50a Dave
*
* 7 9/03/97 4:32p John
* changed bmpman to only accept ani and pcx's. made passing .pcx or .ani
* to bm_load functions not needed. Made bmpman keep track of palettes
* for bitmaps not mapped into game palettes.
*
* 6 11/26/96 9:28a Allender
* get palette info when getting pcx info
*
* 5 11/18/96 12:36p John
* Added code to dump screen to a PCX file.
*
* 4 11/13/96 4:51p Allender
* started overhaul of bitmap manager. bm_load no longer actually load
* the data, only the info for the bitmap. Locking the bitmap now forces
* load when no data present (or will if bpp changes)
*
* $NoKeywords: $
*/
#ifndef _PCXUTILS_H
#define _PCXUTILS_H
#include "globalincs/pstypes.h"
struct CFILE;
/*
#ifdef __cplusplus
extern "C" {
#endif
*/
#define PCX_ERROR_NONE 0
#define PCX_ERROR_OPENING 1
#define PCX_ERROR_NO_HEADER 2
#define PCX_ERROR_WRONG_VERSION 3
#define PCX_ERROR_READING 4
#define PCX_ERROR_NO_PALETTE 5
#define PCX_ERROR_WRITING 6
#define PCX_ERROR_MEMORY 7
extern int pcx_read_header(char *filename, CFILE *img_cfp = NULL, int *w = 0, int *h = 0, int *bpp = 0, ubyte *pal = NULL );
//extern int pcx_read_bitmap_8bpp( char * filename, ubyte *org_data, ubyte *palette );
//extern int pcx_read_bitmap_16bpp( char * filename, ubyte *org_data );
//extern int pcx_read_bitmap_16bpp_aabitmap( char *filename, ubyte *org_data );
//extern int pcx_read_bitmap_16bpp_nondark( char *filename, ubyte *org_data );
//extern int pcx_read_bitmap_32(char *real_filename, ubyte *data );
extern int pcx_read_bitmap(char *filename, ubyte *org_data, ubyte *pal, int byte_size, int aabitmap = 0, int nondark = 0);
// Dumps a 8bpp bitmap to a file.
// Set rowoff to -w for upside down bitmaps.
extern int pcx_write_bitmap( char * filename, int w, int h, ubyte ** row_ptrs, ubyte * palette );
/*
#ifdef __cplusplus
}
#endif
*/
#endif