Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

hmd.h

Go to the documentation of this file.
00001 /* SCEI CONFIDENTIAL

00002  */
00003 /*
00004         Type definitions to parse and keep information of HMD file.

00005 
00006         Copyright (C) 1997 by Sony Computer Entertainment Inc.

00007         All rights Reserved.

00008 
00009         Ver 1.00        Jun 26, 1997    By N.Yoshioka

00010         Ver 1.01        Jul 08, 1997    By N.Yoshioka

00011                 - Unnecessary comments are removed.

00012         Ver 1.10        Sep 04, 1997    By N.Yoshioka

00013                 - Ground (CTG_GND) and extension field of label structure

00014                   are defined.

00015 */
00016 typedef unsigned char   BYTE;
00017 typedef unsigned short  WORD;
00018 typedef unsigned long   DWORD;
00019 typedef BYTE    BOOL;
00020 
00021 typedef enum {
00022         Zero,
00023 
00024         None,           /* initial value */
00025         Misc,           /* unresolved label */
00026 
00027         PrimHdrSect,
00028         PrimHdr,        /* unresolved header */
00029         PrimSet,
00030         Prim,           /* unresolved primitive */
00031 
00032         MIMePrimHdr,
00033         MIMePrimSet,
00034         MIMePrim,
00035         MIMeDiffSect,
00036 
00037         TempBeforeThis, /* values before here should be over written */
00038 
00039         CoordSect,
00040         Coord,
00041 
00042         PolyPrimHdr,
00043         PolyPrimSet,
00044         PolyPrim,
00045         Poly,
00046         Vert,
00047         Norm,
00048 
00049         SharedPrimHdr,  /* used for "SharedPrim" and "SharedPolyPrim" */
00050         SharedPrimSet,
00051         SharedPrim,
00052         SharedPolyPrimSet,
00053         SharedPolyPrim,
00054         SharedPoly,
00055         SharedVert,
00056         CalcedVert,
00057         SharedNorm,
00058         CalcedNorm,
00059 
00060         AnimPrimHdr,
00061         AnimPrimSet,
00062         AnimPrim,
00063         InterpFuncSect,
00064         CtrlSect,
00065         ParamSect,
00066 
00067         ImagePrimHdr,
00068         ImagePrimSet,
00069         ImagePrim,
00070         ClutImagePrim,
00071         ImageData,
00072         ClutData,
00073 
00074         MIMePr,
00075 
00076         JntMIMePrimHdr,
00077         JntMIMePrimSet,
00078         RstJntMIMePrimHdr,
00079         RstJntMIMePrimSet,
00080 
00081         AxesMIMePrim,
00082         RstAxesMIMePrim,
00083         AxesMIMeDiff,
00084         AxesMIMeDiffData,
00085         RstAxesMIMeDiffData,
00086 
00087         RPYMIMePrim,
00088         RstRPYMIMePrim,
00089         RPYMIMeDiff,
00090         RPYMIMeDiffData,
00091         RstRPYMIMeDiffData,
00092 
00093         VNMIMePrimHdr,
00094         VNMIMePrimSet,
00095         RstVNMIMePrimHdr,
00096         RstVNMIMePrimSet,
00097         VNMIMeOrgsVNSect,
00098 
00099         VertMIMePrim,
00100         VertMIMeDiff,
00101         VertMIMeDiffData,
00102         RstVertMIMePrim,
00103         RstVertMIMeDiff,
00104         RstVertMIMeDiffData,
00105         RstVertMIMeChanged,
00106 
00107         NormMIMePrim,
00108         NormMIMeDiff,
00109         NormMIMeDiffData,
00110         RstNormMIMePrim,
00111         RstNormMIMeDiff,
00112         RstNormMIMeDiffData,
00113         RstNormMIMeChanged,
00114 
00115         GroundPrimHdr,
00116         GroundPrimSet,
00117         TexGroundPrimHdr,
00118         TexGroundPrimSet,
00119 
00120         GroundPrim,
00121         TexGroundPrim,
00122         GroundPoly,
00123         GroundGrid,
00124         TexGroundGrid,
00125         GroundVert,
00126         GroundNorm,
00127         GroundUV,
00128 
00129         LastType
00130 
00131 } TypeValue;
00132 
00133 typedef struct _Type    Type;
00134 
00135 struct _Type {
00136         TypeValue       val;
00137         short   idx;
00138         Type    *next;
00139 };
00140 
00141 typedef struct {
00142         DWORD   nextp;
00143         DWORD   hdrp;
00144         DWORD   not;
00145 } PrimSetHdr;
00146 
00147 typedef struct {
00148         DWORD   offset;
00149         DWORD   data[1024 / sizeof(DWORD)];
00150                 /* The size of this array is same as scratch pad */
00151 } PrimHeader;
00152 
00153 typedef struct {
00154         BYTE    dev_id; /* only lower 4 bits are used */
00155         BYTE    ctg;    /* only lower 4 bits are used */
00156         BYTE    drv;
00157         WORD    type;
00158 } PrimType;
00159 
00160 typedef struct {
00161         DWORD   offset;
00162         PrimType        type;
00163         WORD    size, data;
00164 } PrimInfo;
00165 
00166 typedef struct {
00167         Type    type;
00168         BOOL    refto;
00169         void    *ext;
00170 } LabelElem;
00171 
00172 typedef struct {
00173         DWORD           sz;
00174         LabelElem       *elem;
00175 } Label;
00176 
00177 typedef struct {
00178         FILE    *fp;
00179         Label   label;
00180 } HMD;

Generated at Thu Feb 1 13:03:03 2001 for Ketsji Game Engine by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000