X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=spritegn.h;h=a64f4be958904d1d774f7d1c2258d981604521cd;hb=3d84db99ed9d8234809d237512f44cfa6d7ce1a0;hp=4b47cb0f9f26fb92f039ed0468b1d75b10b893e2;hpb=893e82ea54d7088f4ab5f941c09dd9d91714ffd6;p=xonotic%2Fdarkplaces.git diff --git a/spritegn.h b/spritegn.h index 4b47cb0f..a64f4be9 100644 --- a/spritegn.h +++ b/spritegn.h @@ -45,11 +45,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // //------------------------------------------------------- -#define SPRITE_VERSION 1 +#define SPRITE_VERSION 1 #define SPRITEHL_VERSION 2 #define SPRITE32_VERSION 32 -typedef struct +#define SPRITE2_VERSION 2 + +typedef struct dsprite_s { int ident; int version; @@ -59,10 +61,10 @@ typedef struct int height; int numframes; float beamlength; - synctype_t synctype; + int synctype; } dsprite_t; -typedef struct +typedef struct dspritehl_s { int ident; int version; @@ -73,39 +75,56 @@ typedef struct int height; int numframes; float beamlength; - synctype_t synctype; + int synctype; } dspritehl_t; +typedef struct dsprite2frame_s +{ + int width, height; + int origin_x, origin_y; // raster coordinates inside pic + char name[64]; // name of pcx file +} dsprite2frame_t; + +typedef struct dsprite2_s +{ + int ident; + int version; + int numframes; + dsprite2frame_t frames[1]; // variable sized +} dsprite2_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 SPR_LABEL 5 +#define SPR_LABEL_SCALE 6 +#define SPR_OVERHEAD 7 #define SPRHL_OPAQUE 0 #define SPRHL_ADDITIVE 1 #define SPRHL_INDEXALPHA 2 #define SPRHL_ALPHATEST 3 -typedef struct { +typedef struct dspriteframe_s { int origin[2]; int width; int height; } dspriteframe_t; -typedef struct { +typedef struct dspritegroup_s { int numframes; } dspritegroup_t; -typedef struct { +typedef struct dspriteinterval_s { float interval; } dspriteinterval_t; -typedef enum { SPR_SINGLE=0, SPR_GROUP } spriteframetype_t; +typedef enum spriteframetype_e { SPR_SINGLE=0, SPR_GROUP } spriteframetype_t; -typedef struct { +typedef struct dspriteframetype_s { spriteframetype_t type; } dspriteframetype_t; #endif -