Initial setup for saving game states

(code may or may not compile at this point)
This commit is contained in:
2014-04-19 22:37:40 -04:00
parent 3f54c63193
commit 60d1ce3be9
7 changed files with 268 additions and 525 deletions

51
osx/tools/tarball.hpp Normal file
View File

@@ -0,0 +1,51 @@
//
// tarball.hpp
// BoE
//
// Created by Celtic Minstrel on 14-04-19.
//
//
#ifndef BoE_tarball_hpp
#define BoE_tarball_hpp
#include <sstream>
#include <deque>
class tarball {
struct header_posix_ustar {
char name[100];
char mode[8];
char uid[8];
char gid[8];
char size[12];
char mtime[12];
char checksum[8];
char typeflag[1];
char linkname[100];
char magic[6];
char version[2];
char uname[32];
char gname[32];
char devmajor[8];
char devminor[8];
char prefix[155];
char pad[12];
};
struct tarfile {
header_posix_ustar header;
std::string filename;
std::stringstream contents;
};
std::deque<tarfile> files;
static header_posix_ustar generateTarHeader(const std::string& fileName, unsigned long long fileSize, bool directory=false);
public:
void writeTo(std::ostream& out);
void readFrom(std::istream& in);
std::ostream& newFile(std::string fname);
void newDirectory(std::string dname);
std::istream& getFile(std::string fname);
};
#endif