Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
file_main.h File Reference
#include <stdio.h>
#include <string.h>
#include "endianness.h"
#include "vsfilesystem.h"

Go to the source code of this file.

Functions

void LoadFile (const char *filename)
 
void CloseFile ()
 
float readf (VSFileSystem::VSFile &f)
 
size_t readf (VSFileSystem::VSFile &f, float *b, int n)
 
short reads (VSFileSystem::VSFile &f)
 
int readi (VSFileSystem::VSFile &f)
 
size_t readi (VSFileSystem::VSFile &f, int *b, int n)
 
unsigned char readc (VSFileSystem::VSFile &f)
 
void ReadInt (int &integer)
 
void ReadFloat (float &num)
 
void ReadString (char *string)
 
void ReadVector (float &x, float &y, float &z)
 
void ReadVector (Vector &v)
 
void ReadGeneric (char *string, float &x, float &y, float &z)
 
void ReadUnit (char *filename, int &type, float &x, float &y, float &z)
 
void ReadMesh (char *filename, float &x, float &y, float &z)
 
void ReadWeapon (char *filename, float &x, float &y, float &z)
 
void ReadRestriction (int &isrestricted, float &start, float &end)
 
long GetPosition ()
 
void SetPosition (long position)
 

Variables

VSFile fpread
 

Function Documentation

void CloseFile ( )
inline

Definition at line 37 of file file_main.h.

References VSFileSystem::VSFile::Close().

38 {
39  fpread.Close();
40 }
long GetPosition ( )
inline

Definition at line 156 of file file_main.h.

References VSFileSystem::VSFile::GetPosition().

Referenced by Unit::EjectCargo().

157 {
158  return fpread.GetPosition();
159 }
void LoadFile ( const char *  filename)
inline

Definition at line 33 of file file_main.h.

References VSFileSystem::VSFile::OpenReadOnly().

34 {
35  fpread.OpenReadOnly( filename );
36 }
unsigned char readc ( VSFileSystem::VSFile f)
inline

Definition at line 86 of file file_main.h.

References VSFileSystem::VSFile::Read().

87 {
88  unsigned char temp;
89  f.Read( &temp, sizeof (char) );
90  return temp;
91 }
float readf ( VSFileSystem::VSFile f)
inline

Definition at line 42 of file file_main.h.

References le32_to_cpu, and VSFileSystem::VSFile::Read().

43 {
44  union
45  {
46  float fval;
47  unsigned int ival;
48  }
49  t;
50  f.Read( &t.fval, sizeof t.fval );
51  t.ival = le32_to_cpu( t.ival );
52  return t.fval;
53 }
size_t readf ( VSFileSystem::VSFile f,
float b,
int  n 
)
inline

Definition at line 54 of file file_main.h.

References i, le32_to_cpu, and VSFileSystem::VSFile::Read().

55 {
56  int i;
57  size_t rode = f.Read( b, sizeof (*b)*n );
58 #ifndef NATURAL_ENDIANNESS
59  for (i = 0; i < n; i++)
60  ( (unsigned int*) b )[i] = le32_to_cpu( ( (unsigned int*) b )[i] );
61 #endif
62  return (rode > 0) ? ( rode/sizeof (*b) ) : rode;
63 }
void ReadFloat ( float num)
inline

Definition at line 99 of file file_main.h.

References le32_to_cpu, and VSFileSystem::VSFile::Read().

Referenced by ReadRestriction(), and ReadVector().

100 {
101  fpread.Read( &num, sizeof (float) );
102  *( (int*) &num ) = le32_to_cpu( *( (int*) &num ) );
103 }
void ReadGeneric ( char *  string,
float x,
float y,
float z 
)
inline

Definition at line 127 of file file_main.h.

References ReadString(), and ReadVector().

Referenced by ReadMesh(), ReadUnit(), and ReadWeapon().

128 {
129  ReadString( string );
130  ReadVector( x, y, z );
131 }
int readi ( VSFileSystem::VSFile f)
inline

Definition at line 70 of file file_main.h.

References i, le32_to_cpu, and VSFileSystem::VSFile::Read().

71 {
72  int i;
73  f.Read( &i, sizeof (int) );
74  return le32_to_cpu( i );
75 }
size_t readi ( VSFileSystem::VSFile f,
int b,
int  n 
)
inline

Definition at line 76 of file file_main.h.

References i, le32_to_cpu, and VSFileSystem::VSFile::Read().

77 {
78  int i;
79  size_t rode = f.Read( b, sizeof (*b)*n );
80 #ifndef NATURAL_ENDIANNESS
81  for (i = 0; i < n; i++)
82  b[i] = le32_to_cpu( b[i] );
83 #endif
84  return (rode > 0) ? ( rode/sizeof (*b) ) : rode;
85 }
void ReadInt ( int integer)
inline

Definition at line 94 of file file_main.h.

References le32_to_cpu, and VSFileSystem::VSFile::Read().

Referenced by ReadRestriction(), and ReadString().

95 {
96  fpread.Read( &integer, sizeof (int) );
97  integer = le32_to_cpu( integer );
98 }
void ReadMesh ( char *  filename,
float x,
float y,
float z 
)
inline

Definition at line 139 of file file_main.h.

References ReadGeneric().

140 {
141  ReadGeneric( filename, x, y, z );
142 }
void ReadRestriction ( int isrestricted,
float start,
float end 
)
inline

Definition at line 149 of file file_main.h.

References ReadFloat(), and ReadInt().

150 {
151  ReadInt( isrestricted );
152  ReadFloat( start );
153  ReadFloat( end );
154 }
short reads ( VSFileSystem::VSFile f)
inline

Definition at line 64 of file file_main.h.

References le16_to_cpu, and VSFileSystem::VSFile::Read().

65 {
66  short temp;
67  f.Read( &temp, sizeof (short) );
68  return le16_to_cpu( temp );
69 }
void ReadString ( char *  string)
inline

Definition at line 105 of file file_main.h.

References VSFileSystem::VSFile::Read(), and ReadInt().

Referenced by ReadGeneric().

106 {
107  int length = strlen( string );
108 
109  ReadInt( length );
110  fpread.Read( string, length );
111  string[length] = '\0';
112 }
void ReadUnit ( char *  filename,
int type,
float x,
float y,
float z 
)
inline

Definition at line 134 of file file_main.h.

References ReadGeneric().

135 {
136  ReadGeneric( filename, x, y, z );
137 }
void ReadVector ( float x,
float y,
float z 
)
inline

Definition at line 115 of file file_main.h.

References ReadFloat().

Referenced by ReadGeneric(), and ReadVector().

116 {
117  ReadFloat( x );
118  ReadFloat( y );
119  ReadFloat( z );
120 }
void ReadVector ( Vector v)
inline

Definition at line 122 of file file_main.h.

References ReadVector().

123 {
124  ReadVector( v.i, v.j, v.k );
125 }
void ReadWeapon ( char *  filename,
float x,
float y,
float z 
)
inline

Definition at line 144 of file file_main.h.

References ReadGeneric().

145 {
146  ReadGeneric( filename, x, y, z );
147 }
void SetPosition ( long  position)
inline

Definition at line 161 of file file_main.h.

References VSFileSystem::VSFile::GoTo().

162 {
163  fpread.GoTo( position );
164 }

Variable Documentation

VSFile fpread

Definition at line 15 of file vs_globals.cpp.