MCPcopy Create free account
hub / github.com/Panzerschrek/Chasm-Reverse / SaveData

Function SaveData

PanzerChasm/save_load.cpp:63–87  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

61}
62
63bool SaveData(
64 const char* file_name,
65 const SaveComment& save_comment,
66 const SaveLoadBuffer& data )
67{
68 FILE* f= std::fopen( file_name, "wb" );
69 if( f == nullptr )
70 {
71 Log::Warning( "Can not write save \"", file_name, "\"" );
72 return false;
73 }
74
75 SaveHeader header;
76 std::memcpy( header.id, SaveHeader::c_expected_id, sizeof(header.id) );
77 header.version= SaveHeader::c_expected_version;
78 header.content_size= data.size();
79 header.content_hash= SaveHeader::CalculateHash( data.data(), data.size() );
80
81 FileWrite( f, &header, sizeof(SaveHeader) );
82 FileWrite( f, save_comment.data(), sizeof(SaveComment) );
83 FileWrite( f, data.data(), data.size() );
84
85 std::fclose(f);
86 return true;
87}
88
89// Returns true, if all ok
90bool LoadData(

Callers 1

DoSaveMethod · 0.85

Calls 1

FileWriteFunction · 0.85

Tested by

no test coverage detected