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;
6c9b4cd7 sago007 2012-05-01 19:34 45
	name = r.name;
d93dc017 sago007 2012-04-22 14:28 46
	actions = r.actions;
89c4a3a6 sago007 2008-08-29 14:32 47
}
89c4a3a6 sago007 2008-08-29 14:32 48
89c4a3a6 sago007 2008-08-29 14:32 49
Uint32 Replay::getNumberOfFrames()
89c4a3a6 sago007 2008-08-29 14:32 50
{
c53e6443 sago007 2012-04-17 11:04 51
	return nrOfFrames;
89c4a3a6 sago007 2008-08-29 14:32 52
}
89c4a3a6 sago007 2008-08-29 14:32 53
89c4a3a6 sago007 2008-08-29 14:32 54
void Replay::setFrameSecTo(Uint32 miliseconds, boardPackage bp)
89c4a3a6 sago007 2008-08-29 14:32 55
{
c53e6443 sago007 2012-04-17 11:04 56
	if (isLoaded)
c53e6443 sago007 2012-04-17 11:04 57
		return;
c53e6443 sago007 2012-04-17 11:04 58
	int framesToSet = (miliseconds*FRAMESPERSEC)/1000;
c53e6443 sago007 2012-04-17 11:04 59
	for (int i=nrOfFrames; i<framesToSet; i++)
c53e6443 sago007 2012-04-17 11:04 60
	{
c53e6443 sago007 2012-04-17 11:04 61
		bps.push_back(bp);
c53e6443 sago007 2012-04-17 11:04 62
	}
c53e6443 sago007 2012-04-17 11:04 63
	nrOfFrames=framesToSet;
89c4a3a6 sago007 2008-08-29 14:32 64
}
89c4a3a6 sago007 2008-08-29 14:32 65
89c4a3a6 sago007 2008-08-29 14:32 66
void Replay::setFinalFrame(boardPackage bp,int theStatus)
89c4a3a6 sago007 2008-08-29 14:32 67
{
c53e6443 sago007 2012-04-17 11:04 68
	if (isLoaded)
c53e6443 sago007 2012-04-17 11:04 69
		return;
c53e6443 sago007 2012-04-17 11:04 70
	finalPack = bp;
c53e6443 sago007 2012-04-17 11:04 71
	switch (theStatus)
c53e6443 sago007 2012-04-17 11:04 72
	{
c53e6443 sago007 2012-04-17 11:04 73
	case 1:
c53e6443 sago007 2012-04-17 11:04 74
		theResult = winner;
c53e6443 sago007 2012-04-17 11:04 75
		break;
c53e6443 sago007 2012-04-17 11:04 76
	case 2:
c53e6443 sago007 2012-04-17 11:04 77
		theResult = looser;
c53e6443 sago007 2012-04-17 11:04 78
		break;
c53e6443 sago007 2012-04-17 11:04 79
	case 3:
c53e6443 sago007 2012-04-17 11:04 80
		theResult = draw;
c53e6443 sago007 2012-04-17 11:04 81
		break;
c53e6443 sago007 2012-04-17 11:04 82
	default:
c53e6443 sago007 2012-04-17 11:04 83
		theResult = gameOver;
c53e6443 sago007 2012-04-17 11:04 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
89c4a3a6 sago007 2008-08-29 14:32 88
//Returns the frame to the current time, if time too high the final frame is returned
89c4a3a6 sago007 2008-08-29 14:32 89
boardPackage Replay::getFrameSec(Uint32 miliseconds)
89c4a3a6 sago007 2008-08-29 14:32 90
{
c53e6443 sago007 2012-04-17 11:04 91
	int frameToGet = (miliseconds*FRAMESPERSEC)/1000;
c53e6443 sago007 2012-04-17 11:04 92
	if (!(frameToGet<nrOfFrames))
c53e6443 sago007 2012-04-17 11:04 93
		return getFinalFrame();
c53e6443 sago007 2012-04-17 11:04 94
	return bps.at(frameToGet);
89c4a3a6 sago007 2008-08-29 14:32 95
}
89c4a3a6 sago007 2008-08-29 14:32 96
89c4a3a6 sago007 2008-08-29 14:32 97
bool Replay::isFinnished(Uint32 miliseconds)
89c4a3a6 sago007 2008-08-29 14:32 98
{
c53e6443 sago007 2012-04-17 11:04 99
	int frameToGet = (miliseconds*FRAMESPERSEC)/1000;
c53e6443 sago007 2012-04-17 11:04 100
	if (!(frameToGet<nrOfFrames))
c53e6443 sago007 2012-04-17 11:04 101
		return true;
c53e6443 sago007 2012-04-17 11:04 102
	return false;
89c4a3a6 sago007 2008-08-29 14:32 103
}
89c4a3a6 sago007 2008-08-29 14:32 104
89c4a3a6 sago007 2008-08-29 14:32 105
boardPackage Replay::getFinalFrame()
89c4a3a6 sago007 2008-08-29 14:32 106
{
c53e6443 sago007 2012-04-17 11:04 107
	return finalPack;
89c4a3a6 sago007 2008-08-29 14:32 108
}
89c4a3a6 sago007 2008-08-29 14:32 109
89c4a3a6 sago007 2008-08-29 14:32 110
int Replay::getFinalStatus()
89c4a3a6 sago007 2008-08-29 14:32 111
{
c53e6443 sago007 2012-04-17 11:04 112
	return theResult;
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
89c4a3a6 sago007 2008-08-29 14:32 117
bool Replay::saveReplay(string filename)
89c4a3a6 sago007 2008-08-29 14:32 118
{
d93dc017 sago007 2012-04-22 14:28 119
	//Saving as fileversion 4
d93dc017 sago007 2012-04-22 14:28 120
	cout << "Saving as version 4 save file" << endl;
c53e6443 sago007 2012-04-17 11:04 121
	ofstream saveFile;
c53e6443 sago007 2012-04-17 11:04 122
	saveFile.open(filename.c_str(),ios::binary|ios::trunc);
c53e6443 sago007 2012-04-17 11:04 123
	if (saveFile)
c53e6443 sago007 2012-04-17 11:04 124
	{
6c9b4cd7 sago007 2012-05-01 19:34 125
		saveFile << "0 16 PLAYER 1\n";
6c9b4cd7 sago007 2012-05-01 19:34 126
		saveFile << "0 16 NAME " << name << "\n";
d93dc017 sago007 2012-04-22 14:28 127
		for(int i = 0;i < actions.size(); ++i) {
6c9b4cd7 sago007 2012-05-01 19:34 128
			saveFile << actions.at(i).time << " " << actions.at(i).action << " " << actions.at(i).param << "\n";
c53e6443 sago007 2012-04-17 11:04 129
		}
c53e6443 sago007 2012-04-17 11:04 130
		saveFile.close();
c53e6443 sago007 2012-04-17 11:04 131
		return true;
c53e6443 sago007 2012-04-17 11:04 132
	}
c53e6443 sago007 2012-04-17 11:04 133
	else
c53e6443 sago007 2012-04-17 11:04 134
	{
c53e6443 sago007 2012-04-17 11:04 135
		return false;
c53e6443 sago007 2012-04-17 11:04 136
	}
89c4a3a6 sago007 2008-08-29 14:32 137
}
89c4a3a6 sago007 2008-08-29 14:32 138
89c4a3a6 sago007 2008-08-29 14:32 139
bool Replay::saveReplay(string filename,Replay p2)
89c4a3a6 sago007 2008-08-29 14:32 140
{
c53e6443 sago007 2012-04-17 11:04 141
	//Saving as fileversion 3
c53e6443 sago007 2012-04-17 11:04 142
	cout << "Saving as version 3 save file (2 players)" << endl;
c53e6443 sago007 2012-04-17 11:04 143
	ofstream saveFile;
c53e6443 sago007 2012-04-17 11:04 144
	saveFile.open(filename.c_str(),ios::binary|ios::trunc);
c53e6443 sago007 2012-04-17 11:04 145
	if (saveFile)
c53e6443 sago007 2012-04-17 11:04 146
	{
d93dc017 sago007 2012-04-22 14:28 147
		Uint32 version = 4;
c53e6443 sago007 2012-04-17 11:04 148
		boardPackage bp;
c53e6443 sago007 2012-04-17 11:04 149
		saveFile.write(reinterpret_cast<char*>(&version),sizeof(Uint32)); //Fileversion
c53e6443 sago007 2012-04-17 11:04 150
		Uint8 nrOfReplays = 2;
c53e6443 sago007 2012-04-17 11:04 151
		saveFile.write(reinterpret_cast<char*>(&nrOfReplays),sizeof(Uint8)); //nrOfReplaysIn File
c53e6443 sago007 2012-04-17 11:04 152
		saveFile.write(reinterpret_cast<char*>(&nrOfFrames),sizeof(Uint32)); //Nr of frames in file
c53e6443 sago007 2012-04-17 11:04 153
		for (int i=0; i<nrOfFrames && i<bps.size(); i++)
c53e6443 sago007 2012-04-17 11:04 154
		{
c53e6443 sago007 2012-04-17 11:04 155
			//Writing frames
c53e6443 sago007 2012-04-17 11:04 156
			bp = bps.at(i);
c53e6443 sago007 2012-04-17 11:04 157
			saveFile.write(reinterpret_cast<char*>(&bp),sizeof(bp));
c53e6443 sago007 2012-04-17 11:04 158
		}
c53e6443 sago007 2012-04-17 11:04 159
		saveFile.write(reinterpret_cast<char*>(&finalPack),sizeof(finalPack));
c53e6443 sago007 2012-04-17 11:04 160
		saveFile.write(reinterpret_cast<char*>(&theResult),sizeof(theResult));
c53e6443 sago007 2012-04-17 11:04 161
		saveFile.write(reinterpret_cast<char*>(&name),sizeof(name));
c53e6443 sago007 2012-04-17 11:04 162
		///Player 2 starts here!!!!!!!!!!!!!!!!!!!!!!
c53e6443 sago007 2012-04-17 11:04 163
		saveFile.write(reinterpret_cast<char*>(&p2.nrOfFrames),sizeof(Uint32)); //Nr of frames in file
c53e6443 sago007 2012-04-17 11:04 164
		for (int i=0; (i<p2.nrOfFrames)&& i<p2.bps.size(); i++)
c53e6443 sago007 2012-04-17 11:04 165
		{
c53e6443 sago007 2012-04-17 11:04 166
			//Writing frames
c53e6443 sago007 2012-04-17 11:04 167
			bp = p2.bps.at(i);
c53e6443 sago007 2012-04-17 11:04 168
			saveFile.write(reinterpret_cast<char*>(&bp),sizeof(bp));
c53e6443 sago007 2012-04-17 11:04 169
		}
c53e6443 sago007 2012-04-17 11:04 170
		saveFile.write(reinterpret_cast<char*>(&p2.finalPack),sizeof(finalPack));
c53e6443 sago007 2012-04-17 11:04 171
		saveFile.write(reinterpret_cast<char*>(&p2.theResult),sizeof(theResult));
c53e6443 sago007 2012-04-17 11:04 172
		saveFile.write(reinterpret_cast<char*>(&p2.name),sizeof(name));
c53e6443 sago007 2012-04-17 11:04 173
		saveFile.close();
c53e6443 sago007 2012-04-17 11:04 174
		return true;
c53e6443 sago007 2012-04-17 11:04 175
	}
c53e6443 sago007 2012-04-17 11:04 176
	else
c53e6443 sago007 2012-04-17 11:04 177
	{
c53e6443 sago007 2012-04-17 11:04 178
		return false;
c53e6443 sago007 2012-04-17 11:04 179
	}
89c4a3a6 sago007 2008-08-29 14:32 180
}
89c4a3a6 sago007 2008-08-29 14:32 181
89c4a3a6 sago007 2008-08-29 14:32 182
bool Replay::loadReplay(string filename)
89c4a3a6 sago007 2008-08-29 14:32 183
{
c53e6443 sago007 2012-04-17 11:04 184
	isLoaded = true;
6c9b4cd7 sago007 2012-05-01 19:34 185
	actions.clear();
c53e6443 sago007 2012-04-17 11:04 186
	ifstream loadFile;
c53e6443 sago007 2012-04-17 11:04 187
	loadFile.open(filename.c_str(),ios::binary);
c53e6443 sago007 2012-04-17 11:04 188
	if (loadFile)
c53e6443 sago007 2012-04-17 11:04 189
	{
6c9b4cd7 sago007 2012-05-01 19:34 190
		while(!loadFile.eof()) {
6c9b4cd7 sago007 2012-05-01 19:34 191
			Uint32 time;
6c9b4cd7 sago007 2012-05-01 19:34 192
			Uint8 action;
6c9b4cd7 sago007 2012-05-01 19:34 193
			string restOfLine;
6c9b4cd7 sago007 2012-05-01 19:34 194
			loadFile >> time >> action;
6c9b4cd7 sago007 2012-05-01 19:34 195
			if(action == 16)
c53e6443 sago007 2012-04-17 11:04 196
			{
6c9b4cd7 sago007 2012-05-01 19:34 197
				string command;
6c9b4cd7 sago007 2012-05-01 19:34 198
				loadFile >> command;
6c9b4cd7 sago007 2012-05-01 19:34 199
				if(command == "NAME")
6c9b4cd7 sago007 2012-05-01 19:34 200
					getline(loadFile,name,'\n');
6c9b4cd7 sago007 2012-05-01 19:34 201
				if(command == "PLAYER") {
6c9b4cd7 sago007 2012-05-01 19:34 202
					getline(loadFile,restOfLine,'\n');
6c9b4cd7 sago007 2012-05-01 19:34 203
					if(restOfLine != "1")
6c9b4cd7 sago007 2012-05-01 19:34 204
						break;
6c9b4cd7 sago007 2012-05-01 19:34 205
				}
6c9b4cd7 sago007 2012-05-01 19:34 206
			} else
6c9b4cd7 sago007 2012-05-01 19:34 207
			{
6c9b4cd7 sago007 2012-05-01 19:34 208
				getline(loadFile,restOfLine,'\n');
6c9b4cd7 sago007 2012-05-01 19:34 209
				Action a;
6c9b4cd7 sago007 2012-05-01 19:34 210
				a.time = time;
6c9b4cd7 sago007 2012-05-01 19:34 211
				a.action = action;
6c9b4cd7 sago007 2012-05-01 19:34 212
				a.param = restOfLine;
6c9b4cd7 sago007 2012-05-01 19:34 213
				actions.push_back(a);
c53e6443 sago007 2012-04-17 11:04 214
			}
6c9b4cd7 sago007 2012-05-01 19:34 215
			
6c9b4cd7 sago007 2012-05-01 19:34 216
		}
c53e6443 sago007 2012-04-17 11:04 217
		loadFile.close();
c53e6443 sago007 2012-04-17 11:04 218
		cout << "Loaded 1 player" << endl;
c53e6443 sago007 2012-04-17 11:04 219
	}
c53e6443 sago007 2012-04-17 11:04 220
	else
c53e6443 sago007 2012-04-17 11:04 221
	{
c53e6443 sago007 2012-04-17 11:04 222
		cout << "File not found or couldn't open: " << filename << endl;
c53e6443 sago007 2012-04-17 11:04 223
		return false;
c53e6443 sago007 2012-04-17 11:04 224
	}
89c4a3a6 sago007 2008-08-29 14:32 225
89c4a3a6 sago007 2008-08-29 14:32 226
}
89c4a3a6 sago007 2008-08-29 14:32 227
89c4a3a6 sago007 2008-08-29 14:32 228
bool Replay::loadReplay2(string filename)
89c4a3a6 sago007 2008-08-29 14:32 229
{
c53e6443 sago007 2012-04-17 11:04 230
	isLoaded = true;
c53e6443 sago007 2012-04-17 11:04 231
	ifstream loadFile;
c53e6443 sago007 2012-04-17 11:04 232
	loadFile.open(filename.c_str(),ios::binary);
c53e6443 sago007 2012-04-17 11:04 233
	if (loadFile)
c53e6443 sago007 2012-04-17 11:04 234
	{
c53e6443 sago007 2012-04-17 11:04 235
		Uint32 version;
c53e6443 sago007 2012-04-17 11:04 236
		loadFile.read(reinterpret_cast<char*>(&version),sizeof(Uint32));
c53e6443 sago007 2012-04-17 11:04 237
		switch (version)
c53e6443 sago007 2012-04-17 11:04 238
		{
c53e6443 sago007 2012-04-17 11:04 239
		case 3:
c53e6443 sago007 2012-04-17 11:04 240
			Uint8 nrOfPlayers;
c53e6443 sago007 2012-04-17 11:04 241
			boardPackage bp;
c53e6443 sago007 2012-04-17 11:04 242
			loadFile.read(reinterpret_cast<char*>(&nrOfPlayers),sizeof(Uint8));
c53e6443 sago007 2012-04-17 11:04 243
			if (nrOfPlayers<2)
c53e6443 sago007 2012-04-17 11:04 244
			{
c53e6443 sago007 2012-04-17 11:04 245
				loadFile.close();
c53e6443 sago007 2012-04-17 11:04 246
				cout << "Only one player in replay" << endl;
c53e6443 sago007 2012-04-17 11:04 247
				return false;
c53e6443 sago007 2012-04-17 11:04 248
			}
c53e6443 sago007 2012-04-17 11:04 249
			cout << "loading player 2" << endl;
c53e6443 sago007 2012-04-17 11:04 250
			loadFile.read(reinterpret_cast<char*>(&nrOfFrames),sizeof(Uint32));
c53e6443 sago007 2012-04-17 11:04 251
			for (int i=0; (i<nrOfFrames); i++)
c53e6443 sago007 2012-04-17 11:04 252
			{
c53e6443 sago007 2012-04-17 11:04 253
				loadFile.read(reinterpret_cast<char*>(&bp),sizeof(bp));
c53e6443 sago007 2012-04-17 11:04 254
				//bps.push_back(bp); We have already read player 1 with another function
c53e6443 sago007 2012-04-17 11:04 255
			}
c53e6443 sago007 2012-04-17 11:04 256
			loadFile.read(reinterpret_cast<char*>(&finalPack),sizeof(finalPack));
c53e6443 sago007 2012-04-17 11:04 257
			loadFile.read(reinterpret_cast<char*>(&theResult),sizeof(theResult));
c53e6443 sago007 2012-04-17 11:04 258
			loadFile.read(reinterpret_cast<char*>(&name),sizeof(name));
c53e6443 sago007 2012-04-17 11:04 259
			loadFile.read(reinterpret_cast<char*>(&nrOfFrames),sizeof(Uint32));
c53e6443 sago007 2012-04-17 11:04 260
			bps.reserve(nrOfFrames);
c53e6443 sago007 2012-04-17 11:04 261
			for (int i=0; (i<nrOfFrames); i++)
c53e6443 sago007 2012-04-17 11:04 262
			{
c53e6443 sago007 2012-04-17 11:04 263
				loadFile.read(reinterpret_cast<char*>(&bp),sizeof(bp));
c53e6443 sago007 2012-04-17 11:04 264
				bps.push_back(bp);
c53e6443 sago007 2012-04-17 11:04 265
			}
c53e6443 sago007 2012-04-17 11:04 266
			loadFile.read(reinterpret_cast<char*>(&finalPack),sizeof(finalPack));
c53e6443 sago007 2012-04-17 11:04 267
			loadFile.read(reinterpret_cast<char*>(&theResult),sizeof(theResult));
c53e6443 sago007 2012-04-17 11:04 268
			loadFile.read(reinterpret_cast<char*>(&name),sizeof(name));
c53e6443 sago007 2012-04-17 11:04 269
			break;
c53e6443 sago007 2012-04-17 11:04 270
		default:
c53e6443 sago007 2012-04-17 11:04 271
			cout << "Unknown version: " << version << endl;
c53e6443 sago007 2012-04-17 11:04 272
			return false;
c53e6443 sago007 2012-04-17 11:04 273
		};
c53e6443 sago007 2012-04-17 11:04 274
		loadFile.close();
c53e6443 sago007 2012-04-17 11:04 275
	}
c53e6443 sago007 2012-04-17 11:04 276
	else
c53e6443 sago007 2012-04-17 11:04 277
	{
c53e6443 sago007 2012-04-17 11:04 278
		cout << "File not found or couldn't open: " << filename << endl;
c53e6443 sago007 2012-04-17 11:04 279
		return false;
c53e6443 sago007 2012-04-17 11:04 280
	}
89c4a3a6 sago007 2008-08-29 14:32 281
89c4a3a6 sago007 2008-08-29 14:32 282
}
d12916ab sago007 2012-04-19 23:30 283
6c9b4cd7 sago007 2012-05-01 19:34 284
void Replay::setName(string name)
6c9b4cd7 sago007 2012-05-01 19:34 285
{
6c9b4cd7 sago007 2012-05-01 19:34 286
	this->name = name;
6c9b4cd7 sago007 2012-05-01 19:34 287
}
6c9b4cd7 sago007 2012-05-01 19:34 288
6c9b4cd7 sago007 2012-05-01 19:34 289
string Replay::getName() const
6c9b4cd7 sago007 2012-05-01 19:34 290
{
6c9b4cd7 sago007 2012-05-01 19:34 291
	return name;
6c9b4cd7 sago007 2012-05-01 19:34 292
}
6c9b4cd7 sago007 2012-05-01 19:34 293
6c9b4cd7 sago007 2012-05-01 19:34 294
void Replay::addAction(int tick, int action, string param) {
6c9b4cd7 sago007 2012-05-01 19:34 295
	cout << tick << " " << action << " " << param << endl;
d12916ab sago007 2012-04-19 23:30 296
	Action a;
d12916ab sago007 2012-04-19 23:30 297
	a.time = tick;
d12916ab sago007 2012-04-19 23:30 298
	a.action = action;
6c9b4cd7 sago007 2012-05-01 19:34 299
	a.param = param;
d12916ab sago007 2012-04-19 23:30 300
	actions.push_back(a);
d12916ab sago007 2012-04-19 23:30 301
}
1970-01-01 00:00 302