27 #include <SDL/SDL_endian.h>
47 if (is_open ()) gzclose (file);
52 if (t == READ) file = gzopen (fname.c_str (),
"rb6");
53 else file = gzopen (fname.c_str (),
"wb6");
54 if (!file)
return false;
61 if (is_open ()) gzclose (file);
86 gzread (gfile.
file, &b, sizeof (b));
94 gzread (
file, &b,
sizeof (b));
101 gzread (gfile.
file, &n, sizeof (n));
108 gzread (
file, to, size);
114 gzread(gfile.
file, &n, sizeof (n));
122 gzread (
file, &n,
sizeof (n));
129 gzread(gfile.
file, &n, sizeof (n));
137 gzread (
file, &n,
sizeof (n));
144 gzread(gfile.
file, &n, sizeof (n));
153 gzread (
file, &n,
sizeof (n));
154 return SDL_SwapLE16(n);
160 gzread(gfile.
file, &n, sizeof (n));
169 gzread (
file, &n,
sizeof (n));
170 return SDL_SwapLE16(n);
176 gzread(gfile.
file, &n, sizeof (n));
185 gzread (
file, &n,
sizeof (n));
186 return SDL_SwapLE32(n);
192 gzread(gfile.
file, &n, sizeof (n));
201 gzread (
file, &n,
sizeof (n));
202 return SDL_SwapLE32(n);
236 sscanf (sf.c_str (),
"%f", &f);
269 gzwrite (
file, to, size);
276 gzwrite (gfile.
file, &b, sizeof (b));
283 gzwrite (gfile.
file, (
char *) &n, sizeof (n));
290 gzwrite(gfile.
file, (
u_int8 *) &n, sizeof (n));
297 gzwrite(gfile.
file, (
s_int8 *) &n, sizeof (n));
340 for (i = ((
string&) s).begin (); i != ((
string&) s).end (); i++)
351 snprintf (sf, 16,
"%f", f);
372 if (name ==
"") name =
"<unknown>";
377 cerr <<
"Version information missing in file \"" << name << endl;
378 cerr <<
"You should get a more recent data package.\n";
385 if (version < min || version > max)
387 cerr <<
"File \"" << name <<
"\" has\nversion number " << version <<
", ";
388 cerr <<
"but I was expecting " << min <<
" <= version <= " << max << endl;
392 cerr <<
"You should get an up-to-date version of this program.\n\n";
395 cerr <<
"You should probably get a more recent data package.\n";