]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_alias.h
rewrote memory system entirely (hunk, cache, and zone are gone, memory pools replaced...
[xonotic/darkplaces.git] / model_alias.h
index aafcb33d4578e9e77865ca7a7d9fe8dd7c3a1ee3..935bd5467697dbe5d9fef4ba5fc5a050ab61d21c 100644 (file)
@@ -61,13 +61,6 @@ typedef struct mtriangle_s {
 } mtriangle_t;
 */
 
-// LordHavoc: new vertex format
-typedef struct {
-       byte v[3]; // location
-       signed char n[3]; // surface normal for lighting *127.0
-} trivert2;
-
-#define        MAX_SKINS       32
 typedef struct {
        int                     ident;
        int                     version;
@@ -86,28 +79,6 @@ typedef struct {
        float           size;
 } daliashdr_t;
 
-typedef struct
-{
-       char name[16]; // LordHavoc: only kept this for reasons of viewthing support
-       unsigned short start;
-       unsigned short length;
-       float rate; // in poses per second
-} maliasframe_t;
-
-typedef struct
-{
-       vec3_t          scale;
-       vec3_t          scale_origin;
-       int                     numverts;
-       int                     numtris;
-       int                     numframes;
-       int                     numposes;
-       int                     framedata; // LordHavoc: unsigned short start
-       int                     texdata; // LordHavoc: texture coordinate array
-       int                     posedata; // LordHavoc: vertex data for all the poses
-       int                     tridata; // LordHavoc: vertex indices for the triangles
-} maliashdr_t;
-
 #define        MAXALIASVERTS   4096
 #define        MAXALIASFRAMES  1024
 #define        MAXALIASTRIS    4096
@@ -123,13 +94,11 @@ typedef struct
 // LordHavoc: grabbed this from the Q2 utility source,
 // renamed a things to avoid conflicts
 
-#define MD2IDALIASHEADER               (('2'<<24)+('P'<<16)+('D'<<8)+'I')
 #define MD2ALIAS_VERSION       8
 
 #define        MD2MAX_TRIANGLES        4096
 #define MD2MAX_VERTS           4096
 #define MD2MAX_FRAMES          1024
-#define MD2MAX_SKINS   32
 #define        MD2MAX_SKINNAME 64
 // sanity checking size
 #define MD2MAX_SIZE    (16777216)
@@ -151,18 +120,8 @@ typedef struct
        float           scale[3];       // multiply byte verts by this
        float           translate[3];   // then add this
        char            name[16];       // frame name from grabbing
-       trivertx_t      verts[];        // variable sized
 } md2frame_t;
 
-// LordHavoc: memory representation is different than disk
-typedef struct
-{
-       float           scale[3];       // multiply byte verts by this
-       float           translate[3];   // then add this
-       trivert2        verts[];        // variable sized
-} md2memframe_t;
-
-
 // the glcmd format:
 // a positive integer starts a tristrip command, followed by that many
 // vertex structures.
@@ -192,25 +151,17 @@ typedef struct
        int                     ofs_st;                 // byte offset from start for stverts
        int                     ofs_tris;               // offset for dtriangles
        int                     ofs_frames;             // offset for first frame
-       int                     ofs_glcmds;     
+       int                     ofs_glcmds;
        int                     ofs_end;                // end of file
 } md2_t;
 
-typedef struct
-{
-       int                     framesize;              // byte size of each frame
+#define ALIASTYPE_MDL 1
+#define ALIASTYPE_MD2 2
+#define ALIASTYPE_ZYM 3
 
-       int                     num_skins;
-       int                     num_xyz;
-       int                     num_st;                 // greater than num_xyz for seams
-       int                     num_tris;
-       int                     num_glcmds;             // dwords in strip/fan command list
-       int                     num_frames;
+extern void Mod_LoadAliasModel (struct model_s *mod, void *buffer);
+extern void Mod_LoadQ2AliasModel (struct model_s *mod, void *buffer);
 
-       int                     ofs_tris;               // offset for dtriangles
-       int                     ofs_frames;             // offset for first frame
-       int                     ofs_glcmds;     
-} md2mem_t;
+extern void Mod_AliasInit(void);
 
-#define ALIASTYPE_MDL 1
-#define ALIASTYPE_MD2 2
+#include "model_zymotic.h"