// * pass data from one to the other via .spr files. *
// **********************************************************
+#ifndef SPRITEGEN_H
+#define SPRITEGEN_H
+
//-------------------------------------------------------
// This program generates .spr sprite package files.
// The format of the files is as follows:
//-------------------------------------------------------
#define SPRITE_VERSION 1
-#define HALFLIFESPRITE_VERSION 2
+#define SPRITEHL_VERSION 2
#define SPRITE32_VERSION 32
-// TODO: shorten these?
-typedef struct {
+typedef struct
+{
int ident;
int version;
int type;
synctype_t synctype;
} dsprite_t;
+typedef struct
+{
+ int ident;
+ int version;
+ int type;
+ int rendermode;
+ float boundingradius;
+ int width;
+ int height;
+ int numframes;
+ float beamlength;
+ synctype_t synctype;
+} dspritehl_t;
+
#define SPR_VP_PARALLEL_UPRIGHT 0
#define SPR_FACING_UPRIGHT 1
#define SPR_VP_PARALLEL 2
#define SPR_ORIENTED 3
#define SPR_VP_PARALLEL_ORIENTED 4
+#define SPRHL_NORMAL 0
+#define SPRHL_ADDITIVE 1
+// no idea how to handle these two rendering modes
+#define SPRHL_INDEXALPHA 2
+#define SPRHL_ALPHATEST 3
+
typedef struct {
int origin[2];
int width;
spriteframetype_t type;
} dspriteframetype_t;
-#define IDSPRITEHEADER (('P'<<24)+('S'<<16)+('D'<<8)+'I')
- // little-endian "IDSP"
+#endif