bool PackedFile::Load( const char * filename, bool onlyFirst )
	{
		Common::FileStream fs;
		fs.Open(filename);
		uint size = (uint)fs.Size();

		Common::Stream st;
		st.append_zero(size);
		fs.Read((byte *)st, size);
		fs.Close();

		_data.clear();

		std::string magicStr;
		st>>magicStr;
		if( magicStr != "Warcraft III recorded game\x01A" )
		{
			return false;
		}

		uint HeaderVersion;
		uint DecompressedSize;
		uint NumBlocks;
		st += 4;						// header size
		st += 4;						// compressed file size
		st >> HeaderVersion;			// header version
		st >> DecompressedSize;			// decompressed file size
		st >> NumBlocks;				// number of blocks

		if( HeaderVersion == 0 )
		{
			st += 2;					// unknown
			st >> (ushort&)_gameVersion;	// version number
		}