Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void LoadHighscores()
- {
- std::wstring filename(UserDirectory()+L"\\save.pmg");
- std::ifstream file(filename, std::ios::in | std::ios::binary);
- if(file.good())
- {
- std::vector<PTT::HighscoreEntry> &H = PTT::Highscores;
- file.seekg(0,std::ios::end);
- unsigned filesize = unsigned(file.tellg());
- file.seekg(std::ios::beg);
- if(filesize)
- {
- PTT::Header header;
- memset(&header,0,sizeof(header));
- if(filesize >= sizeof(PTT::Header))
- {
- file.read ((char*)&header, sizeof(header));
- //----
- // Version 0 doesn't have a header
- if(header.id != PTT::Header::PTT_)
- {
- memset(&header, 0, sizeof(header));
- file.seekg(std::ios::beg);
- }
- }
- if(header.version == 0)
- {
- H.resize(filesize / (2*sizeof(DWORD)));
- for(unsigned i = 0; i < H.size(); i++)
- {
- file.read ((char*)&H[i], 2*sizeof(DWORD));
- H[i].score2 = 0;
- H[i].great = 0;
- }
- }
- else if(header.version == 1)
- {
- H.resize((filesize-sizeof(PTT::Header)) / sizeof(PTT::HighscoreEntry));
- file.read ((char*)&H[0], H.size()*sizeof(PTT::HighscoreEntry));
- }
- }
- }
- file.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment