mirror of
https://github.com/scp-fs2open/fs2open.github.com.git
synced 2026-11-11 04:31:35 -10:00
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
132 lines
4.2 KiB
C
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
|