void checkEqualBinary(Struct& original) {
  std::stringstream newStream;
  std::stringstream oldStream;

  cryptonote::BinaryOutputStreamSerializer binarySerializer(newStream);
  binarySerializer(original, "");

  binary_archive<true> ba(oldStream);
  bool r = ::serialization::serialize(ba, original);
  ASSERT_TRUE(r);

  ASSERT_EQ(oldStream.str(), newStream.str());
}
void checkEnumeratorToLegacy(Struct& original) {
  std::stringstream archive;

  cryptonote::BinaryOutputStreamSerializer binarySerializer(archive);
  binarySerializer(original, "");

  //std::cout << "enumerated string: " << epee::string_tools::buff_to_hex_nodelimer(archive.str()) << std::endl;

  Struct restored;
  binary_archive<false> ba(archive);
  bool r = ::serialization::serialize(ba, restored);
  //ASSERT_TRUE(r);

  ASSERT_EQ(original, restored);
}
void checkLegacyToEnumerator(Struct& original) {
  std::stringstream archive;

  binary_archive<true> ba(archive);
  bool r = ::serialization::serialize(ba, original);
  ASSERT_TRUE(r);

  //std::cout << "legacy string: " << epee::string_tools::buff_to_hex_nodelimer(archive.str()) << std::endl;

  Struct restored;

  cryptonote::BinaryInputStreamSerializer binarySerializer(archive);
  binarySerializer(restored, "");

  ASSERT_EQ(original, restored);
}
Exemple #4
0
void EdProject::Publish()
{
	mxPutf("Publishing project: '%s', output directory: '%s'\n",
		this->GetName(), this->GetPathName()
		);


	// collects used resources, create binary package files
	// compile and optimize the level


	//StringListType	referencedAssets;
	//{
	//	BinaryFiles::CollectReferencedAssets	getUsedAssets( referencedAssets );
	//	BinaryFiles::Visit_Class_Members( Universe_Editor::StaticGetReflection(), Universe_Editor::Ptr(), getUsedAssets );
	//}


	String	pakFileName( this->GetPathName() );
	F_NormalizePath( pakFileName );
	pakFileName.Append( "Data.rpk" );

	EdPakFileBuilder	pakFileBuilder;
	//pakFileBuilder.Build_Optimized_Pak_File( pakFileName, referencedAssets );

	pakFileBuilder.Build_Hashed_Pak_File( pakFileName );





	String	levelFileName( this->GetPathName() );
	F_NormalizePath( levelFileName );
	levelFileName.Append( this->GetName() );
	levelFileName.StripFileExtension();
	levelFileName.Append( ".world" );

	FileWriter	fileStream( levelFileName );
	if( fileStream.IsOpen() )
	{
		BinaryObjectWriter	binarySerializer( fileStream );

		SEngineSaveArgs	saveArgs;
		saveArgs.serializer = &binarySerializer;

		gEngine.SaveState( saveArgs );
	}
}