Old tools that got removed a long time ago.
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1545 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -0,0 +1,162 @@
|
||||
/*--main.h----------------------------------------------------------
|
||||
* Main include file for ANIM2PCX.
|
||||
* Note: all files editted with tab stops every 4 spaces.
|
||||
*/
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
* Typedefs for portability.
|
||||
*/
|
||||
|
||||
typedef char BOOL; /* 0==FALSE, 1==TRUE */
|
||||
typedef char BYTE; /* signed 8-bit number */
|
||||
typedef unsigned char UBYTE; /* unsigned 8-bit number */
|
||||
typedef int WORD; /* signed 16-bit number */
|
||||
typedef unsigned int UWORD; /* unsigned 16-bit number */
|
||||
typedef long LONG; /* signed 32-bit number */
|
||||
typedef unsigned long ULONG; /* unsigned 32-bit number */
|
||||
typedef void (*ProcHandle)();
|
||||
|
||||
/* --- enable argument checking in Microsoft's include files */
|
||||
#define LINT_ARGS
|
||||
|
||||
/*-----------------------------------------------------------------*/
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
#define FAIL 1
|
||||
#define SUCCESS 0
|
||||
|
||||
#define MAX_INTEGER 32767
|
||||
|
||||
#define HIWORD(longValue) ((UWORD)((longValue) >> 16))
|
||||
#define LOWORD(longValue) ((UWORD)(longValue))
|
||||
|
||||
/* --- this depends on the memory model we're using */
|
||||
/* Within the 64 KB data segment. */
|
||||
#define NULL_DATAPTR 0
|
||||
/* #define NULL_PROCPTR ((BYTE far *) NULL) */
|
||||
#define NULL_PROCPTR ((ProcHandle) NULL)
|
||||
|
||||
/* --- separate Microsoft "far" ptrs into their segment & offset parts */
|
||||
#define FP_SEG(fp) (*((UWORD *)&(fp) + 1))
|
||||
#define FP_OFF(fp) (*((UWORD *)&(fp)))
|
||||
|
||||
/* --- combine segment & offset into a "far" ptr */
|
||||
#define BYTE_FAR_PTR(seg,off) ((BYTE far *)(((LONG)(seg)<<16)+(off)))
|
||||
#define WORD_FAR_PTR(seg,off) ((WORD far *)(((LONG)(seg)<<16)+(UWORD)(off)))
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#define SWAP(a,b) { (a) ^= (b); (b) ^= (a); (a) ^= (b); }
|
||||
#define ORDER(a,b) if ((a)>(b)) SWAP((a),(b))
|
||||
#define MAX(a,b) ((a)>(b)?(a):(b))
|
||||
#define MIN(a,b) ((a)<(b)?(a):(b))
|
||||
#define ABS(a) ((a)>0?(a):-(a))
|
||||
#define DIV_ROUND(x, d) (((x) + ((d) >> 1)) / (d)) /* ASSUME d > 0. */
|
||||
#define EVEN_UP(a) ( ((a)+1) & ~1 )
|
||||
/* Even number >= a. */
|
||||
|
||||
#define CHECK_DOS(fn) if ((fn) == -1) goto doserr
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
* Graphics data structures.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
WORD x, y;
|
||||
} POINT;
|
||||
typedef struct {
|
||||
WORD w, h;
|
||||
} Dims;
|
||||
typedef struct {
|
||||
WORD x, y, w, h;
|
||||
} Box;
|
||||
|
||||
/*
|
||||
* kludge for easy access to individual red/green/blue values within a LONG.
|
||||
* NOTE: this depends on 808x byte order being low-high.
|
||||
*/
|
||||
typedef struct {
|
||||
UBYTE blue, green, red, unused1;
|
||||
} LONG_RGB;
|
||||
|
||||
/* --- Max # colors visible on screen. */
|
||||
#define MAX_COLORS 256
|
||||
|
||||
/* --- Max # planes that a bitmap can have. */
|
||||
#define MAX_PLANES 4
|
||||
|
||||
/* --- BITMAP structure */
|
||||
typedef struct {
|
||||
WORD width; /* Width in bytes of each row. Must be even. */
|
||||
Box box; /* Pixel bounds of bitmap. (x,y == 0.) */
|
||||
WORD planes; /* Number of planes. */
|
||||
UWORD seg[MAX_PLANES]; /* SEG where each plane is allocated. */
|
||||
} BITMAP;
|
||||
|
||||
typedef struct {
|
||||
BITMAP *bitmap;
|
||||
WORD nPlanes; /* used only in FMT_ONLY mode */
|
||||
UBYTE xpcolor;
|
||||
} MaskBM;
|
||||
|
||||
typedef struct {
|
||||
UWORD w, h; /* raster width & height in pixels */
|
||||
UBYTE nPlanes; /* # source bitplanes */
|
||||
} BitMapHeader;
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
* Description of screen format "f" (320 x 200, 256-colors).
|
||||
*/
|
||||
#define ppb 1 /* pixels per byte */
|
||||
#define ppb_minus1 0 /* ppb - 1 */
|
||||
#define ppb_shift 0 /* 1 << ppb_shift == ppb */
|
||||
#define bpp 8 /* bits per pixel */
|
||||
#define bpp_minus1 7 /* bpp - 1 */
|
||||
#define bpp_shift 3 /* 1 << bpp_shift == bpp */
|
||||
#define curDepth 1 /* Single plane in byte-per-pixel format. */
|
||||
#define white_color 0xff /* register # for default white. */
|
||||
|
||||
/* -----------------------------------------------------------------------
|
||||
* Number of chars in an MS-DOS filename or directory (path) name.
|
||||
*/
|
||||
#define FILENAME_ROOT_LENGTH 8
|
||||
#define FILENAME_SUFFIX_LENGTH 3
|
||||
#define SEQUENCE_ROOT_LENGTH 4 /* XXXX in XXXX0001.PCX, XXXX0002.PCX...*/
|
||||
#define SEQUENCE_DIGITS_LENGTH (FILENAME_ROOT_LENGTH - SEQUENCE_ROOT_LENGTH)
|
||||
#define FILENAME_LENGTH 12 /* ROOT + '.' + SUFFIX */
|
||||
#define PATHNAME_LENGTH 66 /* drive + path (no filename) */
|
||||
|
||||
/* -----------------------------------------------------------------------
|
||||
* Screen Format "f".
|
||||
*/
|
||||
#define N_COLUMNS 320
|
||||
#define N_LINES 200
|
||||
#define N_BYTES_IN_BITMAP (N_COLUMNS * N_LINES)
|
||||
|
||||
/* -----------------------------------------------------------------------
|
||||
* Buffered i/o.
|
||||
*/
|
||||
void OpenIOBuffer(BOOL forWriting);
|
||||
void CloseIOBuffer(WORD file);
|
||||
WORD GFlush(WORD file);
|
||||
LONG GSeek(WORD file, LONG count, WORD seekType);
|
||||
WORD GRead(WORD file, UBYTE *buffer, UWORD nBytes);
|
||||
WORD GWrite(WORD file, UBYTE *buffer, UWORD nBytes);
|
||||
|
||||
/* -----------------------------------------------------------------------
|
||||
* Procedures that need to be declared so parameters or return values of
|
||||
* correct type.
|
||||
*/
|
||||
WORD far *BMLineStart(BITMAP*, WORD, WORD);
|
||||
|
||||
/* --- mnemonic names for Microsoft library functions */
|
||||
#define movmem(source,dest,length) memmove(dest,source,length)
|
||||
#define setmem(ptr,length,value) memset(ptr,value,length)
|
||||
Reference in New Issue
Block a user