1 
2 #define _SSG_PUBLIC  public
3 
4 #include <plib/ssg.h>
5 
6 extern void (*__ssgEnableTable[64])() ;
7 extern void (*__ssgDisableTable[64])() ;
8 
9 extern char  *_ssgModelPath ;
10 extern char  *_ssgTexturePath ;
11 
12 extern sgMat4 _ssgOpenGLAxisSwapMatrix ;
13 extern int    _ssgIsHotTest ;
14 extern int    _ssgFileVersionNumber ;
15 
16 void _ssgForceLineState () ;
17 
18 void _ssgDrawDList () ;
19 void _ssgPushMatrix ( sgMat4 m ) ;
20 void _ssgPopMatrix  () ;
21 void _ssgLoadMatrix ( sgMat4 m ) ;
22 void _ssgLoadTexMatrix ( sgMat4 m ) ;
23 void _ssgUnloadTexMatrix () ;
24 void _ssgDrawLeaf   ( ssgLeaf *l ) ;
25 
26 void _ssgAddHit ( ssgLeaf *l, int trinum, sgMat4 mat, sgVec4 pl ) ;
27 void _ssgPushPath ( ssgEntity *l ) ;
28 void _ssgPopPath () ;
29 
30 extern int stats_num_vertices    ;
31 extern int stats_num_leaves      ;
32 extern int stats_isect_triangles ;
33 extern int stats_cull_test       ;
34 extern int stats_isect_test      ;
35 extern int stats_bind_textures   ;
36 
37 extern int stats_hot_triangles   ;
38 extern int stats_hot_test        ;
39 extern int stats_hot_no_trav     ;
40 extern int stats_hot_radius_reject ;
41 extern int stats_hot_triv_accept ;
42 extern int stats_hot_straddle    ;
43 
44 extern ssgState *( *_ssgGetAppState)( char *) ;
45 
46 void _ssgReadFloat   ( FILE *fd,                float *var ) ;
47 void _ssgWriteFloat  ( FILE *fd, const          float  var ) ;
48 void _ssgReadUInt    ( FILE *fd,       unsigned int   *var ) ;
49 void _ssgWriteUInt   ( FILE *fd, const unsigned int    var ) ;
50 void _ssgReadInt     ( FILE *fd,                int   *var ) ;
51 void _ssgWriteInt    ( FILE *fd, const          int    var ) ;
52 void _ssgReadUShort  ( FILE *fd,       unsigned short *var ) ;
53 void _ssgWriteUShort ( FILE *fd, const unsigned short  var ) ;
54 void _ssgReadShort   ( FILE *fd,                short *var ) ;
55 void _ssgWriteShort  ( FILE *fd, const          short  var ) ;
56 
57 void _ssgReadFloat   ( FILE *fd, const unsigned int n,                float *var ) ;
58 void _ssgWriteFloat  ( FILE *fd, const unsigned int n, const          float *var ) ;
59 void _ssgReadUInt    ( FILE *fd, const unsigned int n,       unsigned int   *var ) ;
60 void _ssgWriteUInt   ( FILE *fd, const unsigned int n, const unsigned int   *var ) ;
61 void _ssgReadInt     ( FILE *fd, const unsigned int n,                int   *var ) ;
62 void _ssgWriteInt    ( FILE *fd, const unsigned int n, const          int   *var ) ;
63 void _ssgReadUShort  ( FILE *fd, const unsigned int n,       unsigned short *var ) ;
64 void _ssgWriteUShort ( FILE *fd, const unsigned int n, const unsigned short *var ) ;
65 void _ssgReadShort   ( FILE *fd, const unsigned int n,                short *var ) ;
66 void _ssgWriteShort  ( FILE *fd, const unsigned int n, const          short *var ) ;
67 
68 void _ssgReadString  ( FILE *fd,       char **var ) ;
69 void _ssgWriteString ( FILE *fd, const char  *var ) ;
70 
71 void _ssgReadVec2    ( FILE *fd, sgVec2 var ) ;
72 void _ssgWriteVec2   ( FILE *fd, const sgVec2 var ) ;
73 void _ssgReadVec3    ( FILE *fd, sgVec3 var ) ;
74 void _ssgWriteVec3   ( FILE *fd, const sgVec3 var ) ;
75 void _ssgReadVec4    ( FILE *fd, sgVec4 var ) ;
76 void _ssgWriteVec4   ( FILE *fd, const sgVec4 var ) ;
77 
78 void _ssgReadMat4    ( FILE *fd, sgMat4 var ) ;
79 void _ssgWriteMat4   ( FILE *fd, const sgMat4 var ) ;
80 
81 int _ssgReadError    ( void ) ;
82 int _ssgWriteError   ( void ) ;
83 
84 int _ssgStrNEqual ( const char *s1, const char *s2, int len ) ;
85 
86 ssgBase *_ssgGetFromList ( int key ) ;
87 void     _ssgAddToList   ( int key, ssgBase *b ) ;
88 int      _ssgGetNextInstanceKey  () ;
89 
90