/* PLIB - A Suite of Portable Game Libraries Copyright (C) 1998,2002 Steve Baker This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA For further information visit http://plib.sourceforge.net $Id: ssgLocal.h,v 1.26 2004/12/29 07:19:40 sjbaker Exp $ */ #define _SSG_PUBLIC public #include "plib/ssg.h" void _ssgStartOfFrameInit () ; void _ssgEndOfFrameCleanup () ; extern void (*__ssgEnableTable[64])() ; extern void (*__ssgDisableTable[64])() ; extern sgMat4 _ssgOpenGLAxisSwapMatrix ; extern int _ssgIsHotTest ; extern int _ssgIsLosTest ; extern int _ssgFileVersionNumber ; void _ssgForceLineState () ; void _ssgDrawDList () ; void _ssgSetTweenState ( float state, int mode ) ; void _ssgPushMatrix ( sgMat4 m ) ; void _ssgPopMatrix () ; void _ssgLoadMatrix ( sgMat4 m ) ; void _ssgLoadTexMatrix ( sgMat4 m ) ; void _ssgUnloadTexMatrix () ; void _ssgDrawLeaf ( ssgLeaf *l ) ; void _ssgAddHit ( ssgLeaf *l, int trinum, sgMat4 mat, sgVec4 pl ) ; void _ssgPushPath ( ssgEntity *l ) ; void _ssgPopPath () ; extern int stats_num_vertices ; extern int stats_num_leaves ; extern int stats_isect_triangles ; extern int stats_cull_test ; extern int stats_isect_test ; extern int stats_bind_textures ; extern int stats_hot_triangles ; extern int stats_hot_test ; extern int stats_hot_no_trav ; extern int stats_hot_radius_reject ; extern int stats_hot_triv_accept ; extern int stats_hot_straddle ; extern int stats_los_triangles ; extern int stats_los_test ; extern int stats_los_no_trav ; extern int stats_los_radius_reject ; extern int stats_los_triv_accept ; extern int stats_los_straddle ; extern ssgState *( *_ssgGetAppState)( char *) ; void _ssgReadFloat ( FILE *fd, float *var ) ; void _ssgWriteFloat ( FILE *fd, const float var ) ; void _ssgReadUInt ( FILE *fd, unsigned int *var ) ; void _ssgWriteUInt ( FILE *fd, const unsigned int var ) ; void _ssgReadInt ( FILE *fd, int *var ) ; void _ssgWriteInt ( FILE *fd, const int var ) ; void _ssgReadUShort ( FILE *fd, unsigned short *var ) ; void _ssgWriteUShort ( FILE *fd, const unsigned short var ) ; void _ssgReadShort ( FILE *fd, short *var ) ; void _ssgWriteShort ( FILE *fd, const short var ) ; void _ssgReadFloat ( FILE *fd, const unsigned int n, float *var ) ; void _ssgWriteFloat ( FILE *fd, const unsigned int n, const float *var ) ; void _ssgReadUInt ( FILE *fd, const unsigned int n, unsigned int *var ) ; void _ssgWriteUInt ( FILE *fd, const unsigned int n, const unsigned int *var ) ; void _ssgReadInt ( FILE *fd, const unsigned int n, int *var ) ; void _ssgWriteInt ( FILE *fd, const unsigned int n, const int *var ) ; void _ssgReadUShort ( FILE *fd, const unsigned int n, unsigned short *var ) ; void _ssgWriteUShort ( FILE *fd, const unsigned int n, const unsigned short *var ) ; void _ssgReadShort ( FILE *fd, const unsigned int n, short *var ) ; void _ssgWriteShort ( FILE *fd, const unsigned int n, const short *var ) ; void _ssgReadBytes ( FILE *fd, const unsigned int n, void *var ) ; void _ssgWriteBytes ( FILE *fd, const unsigned int n, const void *var ) ; void _ssgReadString ( FILE *fd, char **var ) ; void _ssgWriteString ( FILE *fd, const char *var ) ; void _ssgReadVec2 ( FILE *fd, sgVec2 var ) ; void _ssgWriteVec2 ( FILE *fd, const sgVec2 var ) ; void _ssgReadVec3 ( FILE *fd, sgVec3 var ) ; void _ssgWriteVec3 ( FILE *fd, const sgVec3 var ) ; void _ssgReadVec4 ( FILE *fd, sgVec4 var ) ; void _ssgWriteVec4 ( FILE *fd, const sgVec4 var ) ; void _ssgReadMat4 ( FILE *fd, sgMat4 var ) ; void _ssgWriteMat4 ( FILE *fd, const sgMat4 var ) ; int _ssgReadError ( void ) ; int _ssgWriteError ( void ) ; float _ssgGetCurrentTweenState () ; int _ssgGetCurrentTweenMode () ; void _ssgSetCurrentTweenSettings ( float tweenstate, int tweenmode ) ; void _ssgSetRealCurrentTweenSettings ( float tweenstate, int tweenmode ) ; /* Routines for storing arbitrary ssgBase derived objects within SSG files. Both functions return 1 on success, and 0 on failure. If an object is encountered that is not derived from type_mask, then the loading is aborted and 0 returned. */ int _ssgSaveObject ( FILE * , ssgBase * ) ; int _ssgLoadObject ( FILE * , ssgBase ** , int type_mask = 0 ) ; extern class ssgStatistics _ssgCurrStatistics ; extern bool _ssgBackFaceCollisions ;