X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fio%2Flowlevel.hxx;h=0f650d5b0f27d0372b0395895c484cb9e3da05e2;hb=f19e83dcf10d5fced3d799c884a4654d7ada6548;hp=0bc84aa9f3ddea8974bf41c842c8176a4d804f54;hpb=7a97c7575d7a7d630d872240897e42341d38dd14;p=simgear.git diff --git a/simgear/io/lowlevel.hxx b/simgear/io/lowlevel.hxx index 0bc84aa9..0f650d5b 100644 --- a/simgear/io/lowlevel.hxx +++ b/simgear/io/lowlevel.hxx @@ -4,7 +4,7 @@ // Shamelessly adapted from plib January 2001 // // Original version Copyright (C) 2000 the plib team -// Local changes Copyright (C) 2000 Curtis L. Olson - curt@flightgear.org +// Local changes Copyright (C) 2000 Curtis L. Olson - http://www.flightgear.org/~curt // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -18,7 +18,7 @@ // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software -// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // $Id$ // @@ -27,17 +27,16 @@ #ifndef _SG_LOWLEVEL_HXX #define _SG_LOWLEVEL_HXX - #include - -#ifdef HAVE_ZLIB -# include -#else -# include -#endif +#include #include +#include +#include + +// Note that output is written in little endian form (and converted as +// necessary for big endian machines) void sgReadChar ( gzFile fd, char *var ) ; void sgWriteChar ( gzFile fd, const char var ) ; @@ -49,8 +48,10 @@ void sgReadUInt ( gzFile fd, unsigned int *var ) ; void sgWriteUInt ( gzFile fd, const unsigned int var ) ; void sgReadInt ( gzFile fd, int *var ) ; void sgWriteInt ( gzFile fd, const int var ) ; -void sgReadLong ( gzFile fd, long int *var ) ; -void sgWriteLong ( gzFile fd, const long int var ) ; +void sgReadLong ( gzFile fd, int32_t *var ) ; +void sgWriteLong ( gzFile fd, const int32_t var ) ; +void sgReadLongLong ( gzFile fd, int64_t *var ) ; +void sgWriteLongLong ( gzFile fd, const int64_t var ) ; void sgReadUShort ( gzFile fd, unsigned short *var ) ; void sgWriteUShort ( gzFile fd, const unsigned short var ) ; void sgReadShort ( gzFile fd, short *var ) ; @@ -74,22 +75,44 @@ void sgWriteBytes ( gzFile fd, const unsigned int n, const void *var ) ; void sgReadString ( gzFile fd, char **var ) ; void sgWriteString ( gzFile fd, const char *var ) ; -void sgReadVec2 ( gzFile fd, sgVec2 var ) ; -void sgWriteVec2 ( gzFile fd, const sgVec2 var ) ; -void sgReadVec3 ( gzFile fd, sgVec3 var ) ; -void sgWriteVec3 ( gzFile fd, const sgVec3 var ) ; -void sgReaddVec3 ( gzFile fd, sgdVec3 var ) ; -void sgWritedVec3 ( gzFile fd, const sgdVec3 var ) ; -void sgReadVec4 ( gzFile fd, sgVec4 var ) ; -void sgWriteVec4 ( gzFile fd, const sgVec4 var ) ; +inline void sgReadVec2 ( gzFile fd, sgVec2 var ) { + sgReadFloat ( fd, 2, var ) ; +} +inline void sgWriteVec2 ( gzFile fd, const sgVec2 var ) { + sgWriteFloat ( fd, 2, var ) ; +} + +inline void sgReadVec3 ( gzFile fd, sgVec3 var ) { + sgReadFloat ( fd, 3, var ) ; +} +inline void sgWriteVec3 ( gzFile fd, const sgVec3 var ) { + sgWriteFloat ( fd, 3, var ) ; +} -void sgReadMat4 ( gzFile fd, sgMat4 var ) ; -void sgWriteMat4 ( gzFile fd, const sgMat4 var ) ; +inline void sgReaddVec3 ( gzFile fd, sgdVec3 var ) { + sgReadDouble ( fd, 3, var ) ; +} +inline void sgWritedVec3 ( gzFile fd, const sgdVec3 var ) { + sgWriteDouble ( fd, 3, var ) ; +} + +inline void sgReadVec4 ( gzFile fd, sgVec4 var ) { + sgReadFloat ( fd, 4, var ) ; +} +inline void sgWriteVec4 ( gzFile fd, const sgVec4 var ) { + sgWriteFloat ( fd, 4, var ) ; +} + +inline void sgReadMat4 ( gzFile fd, sgMat4 var ) { + sgReadFloat ( fd, 16, (float *)var ) ; +} +inline void sgWriteMat4 ( gzFile fd, const sgMat4 var ) { + sgWriteFloat ( fd, 16, (float *)var ) ; +} void sgClearReadError(); void sgClearWriteError(); int sgReadError(); int sgWriteError(); - #endif // _SG_LOWLEVEL_HXX