git repos / blockattack-game

blame: source/code/replay.cpp

normal view · raw

89c4a3a6 sago007 2008-08-29 14:32 1
/*
c53e6443 sago007 2012-04-17 11:04 2
===========================================================================
c53e6443 sago007 2012-04-17 11:04 3
blockattack - Block Attack - Rise of the Blocks
c53e6443 sago007 2012-04-17 11:04 4
Copyright (C) 2005-2012 Poul Sander
89c4a3a6 sago007 2008-08-29 14:32 5
c53e6443 sago007 2012-04-17 11:04 6
This program is free software: you can redistribute it and/or modify
c53e6443 sago007 2012-04-17 11:04 7
it under the terms of the GNU General Public License as published by
c53e6443 sago007 2012-04-17 11:04 8
the Free Software Foundation, either version 2 of the License, or
c53e6443 sago007 2012-04-17 11:04 9
(at your option) any later version.
89c4a3a6 sago007 2008-08-29 14:32 10
c53e6443 sago007 2012-04-17 11:04 11
This program is distributed in the hope that it will be useful,
c53e6443 sago007 2012-04-17 11:04 12
but WITHOUT ANY WARRANTY; without even the implied warranty of
c53e6443 sago007 2012-04-17 11:04 13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
c53e6443 sago007 2012-04-17 11:04 14
GNU General Public License for more details.
89c4a3a6 sago007 2008-08-29 14:32 15
c53e6443 sago007 2012-04-17 11:04 16
You should have received a copy of the GNU General Public License
c53e6443 sago007 2012-04-17 11:04 17
along with this program.  If not, see http://www.gnu.org/licenses/
89c4a3a6 sago007 2008-08-29 14:32 18
c53e6443 sago007 2012-04-17 11:04 19
Source information and contacts persons can be found at
c53e6443 sago007 2012-04-17 11:04 20
http://blockattack.sf.net
c53e6443 sago007 2012-04-17 11:04 21
===========================================================================
89c4a3a6 sago007 2008-08-29 14:32 22
*/
89c4a3a6 sago007 2008-08-29 14:32 23
89c4a3a6 sago007 2008-08-29 14:32 24
/*
89c4a3a6 sago007 2008-08-29 14:32 25
Handles replay
89c4a3a6 sago007 2008-08-29 14:32 26
*/
89c4a3a6 sago007 2008-08-29 14:32 27
c96f480e sago007 2009-03-28 18:59 28
#include <string.h>
c96f480e sago007 2009-03-28 18:59 29
89c4a3a6 sago007 2008-08-29 14:32 30
#include "replay.h"
89c4a3a6 sago007 2008-08-29 14:32 31
89c4a3a6 sago007 2008-08-29 14:32 32
Replay::Replay()
89c4a3a6 sago007 2008-08-29 14:32 33
{
c53e6443 sago007 2012-04-17 11:04 34
	nrOfFrames=0;
c53e6443 sago007 2012-04-17 11:04 35
	isLoaded = false;
89c4a3a6 sago007 2008-08-29 14:32 36
}
89c4a3a6 sago007 2008-08-29 14:32 37
89c4a3a6 sago007 2008-08-29 14:32 38
Replay::Replay(const Replay& r)
89c4a3a6 sago007 2008-08-29 14:32 39
{
c53e6443 sago007 2012-04-17 11:04 40
	bps = r.bps;
c53e6443 sago007 2012-04-17 11:04 41
	finalPack = r.finalPack;
c53e6443 sago007 2012-04-17 11:04 42
	nrOfFrames = r.nrOfFrames;
c53e6443 sago007 2012-04-17 11:04 43
	isLoaded = r.isLoaded;
c53e6443 sago007 2012-04-17 11:04 44
	theResult = r.theResult;
c53e6443 sago007 2012-04-17 11:04 45
	strncpy(name,r.name,sizeof(name));
89c4a3a6 sago007 2008-08-29 14:32 46
}
89c4a3a6 sago007 2008-08-29 14:32 47
89c4a3a6 sago007 2008-08-29 14:32 48
Uint32 Replay::getNumberOfFrames()
89c4a3a6 sago007 2008-08-29 14:32 49
{
c53e6443 sago007 2012-04-17 11:04 50
	return nrOfFrames;
89c4a3a6 sago007 2008-08-29 14:32 51
}
89c4a3a6 sago007 2008-08-29 14:32 52
89c4a3a6 sago007 2008-08-29 14:32 53
void Replay::setFrameSecTo(Uint32 miliseconds, boardPackage bp)
89c4a3a6 sago007 2008-08-29 14:32 54
{
c53e6443 sago007 2012-04-17 11:04 55
	if (isLoaded)
c53e6443 sago007 2012-04-17 11:04 56
		return;
c53e6443 sago007 2012-04-17 11:04 57
	int framesToSet = (miliseconds*FRAMESPERSEC)/1000;
c53e6443 sago007 2012-04-17 11:04 58
	for (int i=nrOfFrames; i<framesToSet; i++)
c53e6443 sago007 2012-04-17 11:04 59
	{
c53e6443 sago007 2012-04-17 11:04 60
		bps.push_back(bp);
c53e6443 sago007 2012-04-17 11:04 61
	}
c53e6443 sago007 2012-04-17 11:04 62
	nrOfFrames=framesToSet;
89c4a3a6 sago007 2008-08-29 14:32 63
}
89c4a3a6 sago007 2008-08-29 14:32 64
89c4a3a6 sago007 2008-08-29 14:32 65
void Replay::setFinalFrame(boardPackage bp,int theStatus)
89c4a3a6 sago007 2008-08-29 14:32 66
{
c53e6443 sago007 2012-04-17 11:04 67
	if (isLoaded)
c53e6443 sago007 2012-04-17 11:04 68
		return;
c53e6443 sago007 2012-04-17 11:04 69
	finalPack = bp;
c53e6443 sago007 2012-04-17 11:04 70
	switch (theStatus)
c53e6443 sago007 2012-04-17 11:04 71
	{
c53e6443 sago007 2012-04-17 11:04 72
	case 1:
c53e6443 sago007 2012-04-17 11:04 73
		theResult = winner;
c53e6443 sago007 2012-04-17 11:04 74
		break;
c53e6443 sago007 2012-04-17 11:04 75
	case 2:
c53e6443 sago007 2012-04-17 11:04 76
		theResult = looser;
c53e6443 sago007 2012-04-17 11:04 77
		break;
c53e6443 sago007 2012-04-17 11:04 78
	case 3:
c53e6443 sago007 2012-04-17 11:04 79
		theResult = draw;
c53e6443 sago007 2012-04-17 11:04 80
		break;
c53e6443 sago007 2012-04-17 11:04 81
	default:
c53e6443 sago007 2012-04-17 11:04 82
		theResult = gameOver;
c53e6443 sago007 2012-04-17 11:04 83
	};
89c4a3a6 sago007 2008-08-29 14:32 84
89c4a3a6 sago007 2008-08-29 14:32 85
}
89c4a3a6 sago007 2008-08-29 14:32 86
89c4a3a6 sago007 2008-08-29 14:32 87
//Returns the frame to the current time, if time too high the final frame is returned
89c4a3a6 sago007 2008-08-29 14:32 88
boardPackage Replay::getFrameSec(Uint32 miliseconds)
89c4a3a6 sago007 2008-08-29 14:32 89
{
c53e6443 sago007 2012-04-17 11:04 90
	int frameToGet = (miliseconds*FRAMESPERSEC)/1000;
c53e6443 sago007 2012-04-17 11:04 91
	if (!(frameToGet<nrOfFrames))
c53e6443 sago007 2012-04-17 11:04 92
		return getFinalFrame();
c53e6443 sago007 2012-04-17 11:04 93
	return bps.at(frameToGet);
89c4a3a6 sago007 2008-08-29 14:32 94
}
89c4a3a6 sago007 2008-08-29 14:32 95
89c4a3a6 sago007 2008-08-29 14:32 96
bool Replay::isFinnished(Uint32 miliseconds)
89c4a3a6 sago007 2008-08-29 14:32 97
{
c53e6443 sago007 2012-04-17 11:04 98
	int frameToGet = (miliseconds*FRAMESPERSEC)/1000;
c53e6443 sago007 2012-04-17 11:04 99
	if (!(frameToGet<nrOfFrames))
c53e6443 sago007 2012-04-17 11:04 100
		return true;
c53e6443 sago007 2012-04-17 11:04 101
	return false;
89c4a3a6 sago007 2008-08-29 14:32 102
}
89c4a3a6 sago007 2008-08-29 14:32 103
89c4a3a6 sago007 2008-08-29 14:32 104
boardPackage Replay::getFinalFrame()
89c4a3a6 sago007 2008-08-29 14:32 105
{
c53e6443 sago007 2012-04-17 11:04 106
	return finalPack;
89c4a3a6 sago007 2008-08-29 14:32 107
}
89c4a3a6 sago007 2008-08-29 14:32 108
89c4a3a6 sago007 2008-08-29 14:32 109
int Replay::getFinalStatus()
89c4a3a6 sago007 2008-08-29 14:32 110
{
c53e6443 sago007 2012-04-17 11:04 111
	return theResult;
89c4a3a6 sago007 2008-08-29 14:32 112
}
89c4a3a6 sago007 2008-08-29 14:32 113
89c4a3a6 sago007 2008-08-29 14:32 114
89c4a3a6 sago007 2008-08-29 14:32 115
89c4a3a6 sago007 2008-08-29 14:32 116
bool Replay::saveReplay(string filename)
89c4a3a6 sago007 2008-08-29 14:32 117
{
c53e6443 sago007 2012-04-17 11:04 118
	//Saving as fileversion 3
c53e6443 sago007 2012-04-17 11:04 119
	cout << "Saving as version 3 save file" << endl;
c53e6443 sago007 2012-04-17 11:04 120
	ofstream saveFile;
c53e6443 sago007 2012-04-17 11:04 121
	saveFile.open(filename.c_str(),ios::binary|ios::trunc);
c53e6443 sago007 2012-04-17 11:04 122
	if (saveFile)
c53e6443 sago007 2012-04-17 11:04 123
	{
c53e6443 sago007 2012-04-17 11:04 124
		Uint32 version = 3;
c53e6443 sago007 2012-04-17 11:04 125
		boardPackage bp;
c53e6443 sago007 2012-04-17 11:04 126
		saveFile.write(reinterpret_cast<char*>(&version),sizeof(Uint32)); //Fileversion
c53e6443 sago007 2012-04-17 11:04 127
		Uint8 nrOfReplays = 1;
c53e6443 sago007 2012-04-17 11:04 128
		saveFile.write(reinterpret_cast<char*>(&nrOfReplays),sizeof(Uint8)); //nrOfReplaysIn File
c53e6443 sago007 2012-04-17 11:04 129
		saveFile.write(reinterpret_cast<char*>(&nrOfFrames),sizeof(Uint32)); //Nr of frames in file
c53e6443 sago007 2012-04-17 11:04 130
		for (int i=0; i<nrOfFrames && i<bps.size(); i++)
c53e6443 sago007 2012-04-17 11:04 131
		{
c53e6443 sago007 2012-04-17 11:04 132
			//Writing frames
c53e6443 sago007 2012-04-17 11:04 133
			bp = bps.at(i);
c53e6443 sago007 2012-04-17 11:04 134
			saveFile.write(reinterpret_cast<char*>(&bp),sizeof(bp));
c53e6443 sago007 2012-04-17 11:04 135
c53e6443 sago007 2012-04-17 11:04 136
		}
c53e6443 sago007 2012-04-17 11:04 137
		saveFile.write(reinterpret_cast<char*>(&finalPack),sizeof(finalPack));
c53e6443 sago007 2012-04-17 11:04 138
		saveFile.write(reinterpret_cast<char*>(&theResult),sizeof(theResult));
c53e6443 sago007 2012-04-17 11:04 139
		saveFile.write(reinterpret_cast<char*>(&name),sizeof(name));
c53e6443 sago007 2012-04-17 11:04 140
		saveFile.close();
c53e6443 sago007 2012-04-17 11:04 141
		return true;
c53e6443 sago007 2012-04-17 11:04 142
	}
c53e6443 sago007 2012-04-17 11:04 143
	else
c53e6443 sago007 2012-04-17 11:04 144
	{
c53e6443 sago007 2012-04-17 11:04 145
		return false;
c53e6443 sago007 2012-04-17 11:04 146
	}
89c4a3a6 sago007 2008-08-29 14:32 147
}
89c4a3a6 sago007 2008-08-29 14:32 148
89c4a3a6 sago007 2008-08-29 14:32 149
bool Replay::saveReplay(string filename,Replay p2)
89c4a3a6 sago007 2008-08-29 14:32 150
{
c53e6443 sago007 2012-04-17 11:04 151
	//Saving as fileversion 3
c53e6443 sago007 2012-04-17 11:04 152
	cout << "Saving as version 3 save file (2 players)" << endl;
c53e6443 sago007 2012-04-17 11:04 153
	ofstream saveFile;
c53e6443 sago007 2012-04-17 11:04 154
	saveFile.open(filename.c_str(),ios::binary|ios::trunc);
c53e6443 sago007 2012-04-17 11:04 155
	if (saveFile)
c53e6443 sago007 2012-04-17 11:04 156
	{
c53e6443 sago007 2012-04-17 11:04 157
		Uint32 version = 3;
c53e6443 sago007 2012-04-17 11:04 158
		boardPackage bp;
c53e6443 sago007 2012-04-17 11:04 159
		saveFile.write(reinterpret_cast<char*>(&version),sizeof(Uint32)); //Fileversion
c53e6443 sago007 2012-04-17 11:04 160
		Uint8 nrOfReplays = 2;
c53e6443 sago007 2012-04-17 11:04 161
		saveFile.write(reinterpret_cast<char*>(&nrOfReplays),sizeof(Uint8)); //nrOfReplaysIn File
c53e6443 sago007 2012-04-17 11:04 162
		saveFile.write(reinterpret_cast<char*>(&nrOfFrames),sizeof(Uint32)); //Nr of frames in file
c53e6443 sago007 2012-04-17 11:04 163
		for (int i=0; i<nrOfFrames && i<bps.size(); i++)
c53e6443 sago007 2012-04-17 11:04 164
		{
c53e6443 sago007 2012-04-17 11:04 165
			//Writing frames
c53e6443 sago007 2012-04-17 11:04 166
			bp = bps.at(i);
c53e6443 sago007 2012-04-17 11:04 167
			saveFile.write(reinterpret_cast<char*>(&bp),sizeof(bp));
c53e6443 sago007 2012-04-17 11:04 168
		}
c53e6443 sago007 2012-04-17 11:04 169
		saveFile.write(reinterpret_cast<char*>(&finalPack),sizeof(finalPack));
c53e6443 sago007 2012-04-17 11:04 170
		saveFile.write(reinterpret_cast<char*>(&theResult),sizeof(theResult));
c53e6443 sago007 2012-04-17 11:04 171
		saveFile.write(reinterpret_cast<char*>(&name),sizeof(name));
c53e6443 sago007 2012-04-17 11:04 172
		///Player 2 starts here!!!!!!!!!!!!!!!!!!!!!!
c53e6443 sago007 2012-04-17 11:04 173
		saveFile.write(reinterpret_cast<char*>(&p2.nrOfFrames),sizeof(Uint32)); //Nr of frames in file
c53e6443 sago007 2012-04-17 11:04 174
		for (int i=0; (i<p2.nrOfFrames)&& i<p2.bps.size(); i++)
c53e6443 sago007 2012-04-17 11:04 175
		{
c53e6443 sago007 2012-04-17 11:04 176
			//Writing frames
c53e6443 sago007 2012-04-17 11:04 177
			bp = p2.bps.at(i);
c53e6443 sago007 2012-04-17 11:04 178
			saveFile.write(reinterpret_cast<char*>(&bp),sizeof(bp));
c53e6443 sago007 2012-04-17 11:04 179
		}
c53e6443 sago007 2012-04-17 11:04 180
		saveFile.write(reinterpret_cast<char*>(&p2.finalPack),sizeof(finalPack));
c53e6443 sago007 2012-04-17 11:04 181
		saveFile.write(reinterpret_cast<char*>(&p2.theResult),sizeof(theResult));
c53e6443 sago007 2012-04-17 11:04 182
		saveFile.write(reinterpret_cast<char*>(&p2.name),sizeof(name));
c53e6443 sago007 2012-04-17 11:04 183
		saveFile.close();
c53e6443 sago007 2012-04-17 11:04 184
		return true;
c53e6443 sago007 2012-04-17 11:04 185
	}
c53e6443 sago007 2012-04-17 11:04 186
	else
c53e6443 sago007 2012-04-17 11:04 187
	{
c53e6443 sago007 2012-04-17 11:04 188
		return false;
c53e6443 sago007 2012-04-17 11:04 189
	}
89c4a3a6 sago007 2008-08-29 14:32 190
}
89c4a3a6 sago007 2008-08-29 14:32 191
89c4a3a6 sago007 2008-08-29 14:32 192
bool Replay::loadReplay(string filename)
89c4a3a6 sago007 2008-08-29 14:32 193
{
c53e6443 sago007 2012-04-17 11:04 194
	isLoaded = true;
c53e6443 sago007 2012-04-17 11:04 195
	ifstream loadFile;
c53e6443 sago007 2012-04-17 11:04 196
	loadFile.open(filename.c_str(),ios::binary);
c53e6443 sago007 2012-04-17 11:04 197
	if (loadFile)
c53e6443 sago007 2012-04-17 11:04 198
	{
c53e6443 sago007 2012-04-17 11:04 199
		Uint32 version;
c53e6443 sago007 2012-04-17 11:04 200
		loadFile.read(reinterpret_cast<char*>(&version),sizeof(Uint32));
c53e6443 sago007 2012-04-17 11:04 201
		switch (version)
c53e6443 sago007 2012-04-17 11:04 202
		{
c53e6443 sago007 2012-04-17 11:04 203
		case 3:
c53e6443 sago007 2012-04-17 11:04 204
			cout << "Loading a version 3 save game" << endl;
c53e6443 sago007 2012-04-17 11:04 205
			Uint8 nrOfPlayers;
c53e6443 sago007 2012-04-17 11:04 206
			boardPackage bp;
c53e6443 sago007 2012-04-17 11:04 207
			loadFile.read(reinterpret_cast<char*>(&nrOfPlayers),sizeof(Uint8));
c53e6443 sago007 2012-04-17 11:04 208
			loadFile.read(reinterpret_cast<char*>(&nrOfFrames),sizeof(Uint32));
c53e6443 sago007 2012-04-17 11:04 209
			bps.clear();
c53e6443 sago007 2012-04-17 11:04 210
			for (int i=0; (i<nrOfFrames); i++)
c53e6443 sago007 2012-04-17 11:04 211
			{
c53e6443 sago007 2012-04-17 11:04 212
				loadFile.read(reinterpret_cast<char*>(&bp),sizeof(bp));
c53e6443 sago007 2012-04-17 11:04 213
				bps.push_back(bp);
c53e6443 sago007 2012-04-17 11:04 214
			}
c53e6443 sago007 2012-04-17 11:04 215
			loadFile.read(reinterpret_cast<char*>(&finalPack),sizeof(finalPack));
c53e6443 sago007 2012-04-17 11:04 216
			loadFile.read(reinterpret_cast<char*>(&theResult),sizeof(theResult));
c53e6443 sago007 2012-04-17 11:04 217
			loadFile.read(reinterpret_cast<char*>(&name),sizeof(name));
c53e6443 sago007 2012-04-17 11:04 218
			break;
c53e6443 sago007 2012-04-17 11:04 219
		default:
c53e6443 sago007 2012-04-17 11:04 220
			cout << "Unknown version" << endl;
c53e6443 sago007 2012-04-17 11:04 221
			return false;
c53e6443 sago007 2012-04-17 11:04 222
		};
c53e6443 sago007 2012-04-17 11:04 223
		loadFile.close();
c53e6443 sago007 2012-04-17 11:04 224
		cout << "Loaded 1 player" << endl;
c53e6443 sago007 2012-04-17 11:04 225
	}
c53e6443 sago007 2012-04-17 11:04 226
	else
c53e6443 sago007 2012-04-17 11:04 227
	{
c53e6443 sago007 2012-04-17 11:04 228
		cout << "File not found or couldn't open: " << filename << endl;
c53e6443 sago007 2012-04-17 11:04 229
		return false;
c53e6443 sago007 2012-04-17 11:04 230
	}
89c4a3a6 sago007 2008-08-29 14:32 231
89c4a3a6 sago007 2008-08-29 14:32 232
}
89c4a3a6 sago007 2008-08-29 14:32 233
89c4a3a6 sago007 2008-08-29 14:32 234
bool Replay::loadReplay2(string filename)
89c4a3a6 sago007 2008-08-29 14:32 235
{
c53e6443 sago007 2012-04-17 11:04 236
	isLoaded = true;
c53e6443 sago007 2012-04-17 11:04 237
	ifstream loadFile;
c53e6443 sago007 2012-04-17 11:04 238
	loadFile.open(filename.c_str(),ios::binary);
c53e6443 sago007 2012-04-17 11:04 239
	if (loadFile)
c53e6443 sago007 2012-04-17 11:04 240
	{
c53e6443 sago007 2012-04-17 11:04 241
		Uint32 version;
c53e6443 sago007 2012-04-17 11:04 242
		loadFile.read(reinterpret_cast<char*>(&version),sizeof(Uint32));
c53e6443 sago007 2012-04-17 11:04 243
		switch (version)
c53e6443 sago007 2012-04-17 11:04 244
		{
c53e6443 sago007 2012-04-17 11:04 245
		case 3:
c53e6443 sago007 2012-04-17 11:04 246
			Uint8 nrOfPlayers;
c53e6443 sago007 2012-04-17 11:04 247
			boardPackage bp;
c53e6443 sago007 2012-04-17 11:04 248
			loadFile.read(reinterpret_cast<char*>(&nrOfPlayers),sizeof(Uint8));
c53e6443 sago007 2012-04-17 11:04 249
			if (nrOfPlayers<2)
c53e6443 sago007 2012-04-17 11:04 250
			{
c53e6443 sago007 2012-04-17 11:04 251
				loadFile.close();
c53e6443 sago007 2012-04-17 11:04 252
				cout << "Only one player in replay" << endl;
c53e6443 sago007 2012-04-17 11:04 253
				return false;
c53e6443 sago007 2012-04-17 11:04 254
			}
c53e6443 sago007 2012-04-17 11:04 255
			cout << "loading player 2" << endl;
c53e6443 sago007 2012-04-17 11:04 256
			loadFile.read(reinterpret_cast<char*>(&nrOfFrames),sizeof(Uint32));
c53e6443 sago007 2012-04-17 11:04 257
			for (int i=0; (i<nrOfFrames); i++)
c53e6443 sago007 2012-04-17 11:04 258
			{
c53e6443 sago007 2012-04-17 11:04 259
				loadFile.read(reinterpret_cast<char*>(&bp),sizeof(bp));
c53e6443 sago007 2012-04-17 11:04 260
				//bps.push_back(bp); We have already read player 1 with another function
c53e6443 sago007 2012-04-17 11:04 261
			}
c53e6443 sago007 2012-04-17 11:04 262
			loadFile.read(reinterpret_cast<char*>(&finalPack),sizeof(finalPack));
c53e6443 sago007 2012-04-17 11:04 263
			loadFile.read(reinterpret_cast<char*>(&theResult),sizeof(theResult));
c53e6443 sago007 2012-04-17 11:04 264
			loadFile.read(reinterpret_cast<char*>(&name),sizeof(name));
c53e6443 sago007 2012-04-17 11:04 265
			loadFile.read(reinterpret_cast<char*>(&nrOfFrames),sizeof(Uint32));
c53e6443 sago007 2012-04-17 11:04 266
			bps.reserve(nrOfFrames);
c53e6443 sago007 2012-04-17 11:04 267
			for (int i=0; (i<nrOfFrames); i++)
c53e6443 sago007 2012-04-17 11:04 268
			{
c53e6443 sago007 2012-04-17 11:04 269
				loadFile.read(reinterpret_cast<char*>(&bp),sizeof(bp));
c53e6443 sago007 2012-04-17 11:04 270
				bps.push_back(bp);
c53e6443 sago007 2012-04-17 11:04 271
			}
c53e6443 sago007 2012-04-17 11:04 272
			loadFile.read(reinterpret_cast<char*>(&finalPack),sizeof(finalPack));
c53e6443 sago007 2012-04-17 11:04 273
			loadFile.read(reinterpret_cast<char*>(&theResult),sizeof(theResult));
c53e6443 sago007 2012-04-17 11:04 274
			loadFile.read(reinterpret_cast<char*>(&name),sizeof(name));
c53e6443 sago007 2012-04-17 11:04 275
			break;
c53e6443 sago007 2012-04-17 11:04 276
		default:
c53e6443 sago007 2012-04-17 11:04 277
			cout << "Unknown version: " << version << endl;
c53e6443 sago007 2012-04-17 11:04 278
			return false;
c53e6443 sago007 2012-04-17 11:04 279
		};
c53e6443 sago007 2012-04-17 11:04 280
		loadFile.close();
c53e6443 sago007 2012-04-17 11:04 281
	}
c53e6443 sago007 2012-04-17 11:04 282
	else
c53e6443 sago007 2012-04-17 11:04 283
	{
c53e6443 sago007 2012-04-17 11:04 284
		cout << "File not found or couldn't open: " << filename << endl;
c53e6443 sago007 2012-04-17 11:04 285
		return false;
c53e6443 sago007 2012-04-17 11:04 286
	}
89c4a3a6 sago007 2008-08-29 14:32 287
89c4a3a6 sago007 2008-08-29 14:32 288
}
1970-01-01 00:00 289