Afegits uns overrides pa agafar parametres per linea de comandos
This commit is contained in:
@@ -60,19 +60,19 @@ void ManageHiScoreTable::sort()
|
||||
bool ManageHiScoreTable::loadFromFile(const std::string &file_path)
|
||||
{
|
||||
clear();
|
||||
|
||||
auto success = true;
|
||||
auto file = SDL_RWFromFile(file_path.c_str(), "r+b");
|
||||
|
||||
if (file)
|
||||
{
|
||||
const std::string file_name = file_path.substr(file_path.find_last_of("\\/") + 1);
|
||||
std::cout << "Reading file: " << file_name.c_str() << std::endl;
|
||||
for (int i = 0; i < (int)table_->size(); ++i)
|
||||
std::cout << "Reading file: " << file_name << std::endl;
|
||||
|
||||
for (auto &entry : *table_)
|
||||
{
|
||||
int nameSize = 0;
|
||||
|
||||
if (SDL_RWread(file, &table_->at(i).score, sizeof(int), 1) == 0)
|
||||
if (SDL_RWread(file, &entry.score, sizeof(int), 1) == 0)
|
||||
{
|
||||
success = false;
|
||||
break;
|
||||
@@ -84,19 +84,15 @@ bool ManageHiScoreTable::loadFromFile(const std::string &file_path)
|
||||
break;
|
||||
}
|
||||
|
||||
char *name = static_cast<char *>(malloc(nameSize + 1));
|
||||
if (SDL_RWread(file, name, sizeof(char) * nameSize, 1) == 0)
|
||||
std::vector<char> nameBuffer(nameSize + 1);
|
||||
if (SDL_RWread(file, nameBuffer.data(), sizeof(char) * nameSize, 1) == 0)
|
||||
{
|
||||
success = false;
|
||||
free(name);
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
name[nameSize] = 0;
|
||||
table_->at(i).name = name;
|
||||
free(name);
|
||||
}
|
||||
|
||||
nameBuffer[nameSize] = '\0';
|
||||
entry.name = std::string(nameBuffer.data());
|
||||
}
|
||||
|
||||
SDL_RWclose(file);
|
||||
|
||||
Reference in New Issue
Block a user