Update file handling functions for achievements in Quakespasm
This commit is contained in:
parent
74e5b677e7
commit
2ab5efa2ad
|
@ -1178,20 +1178,26 @@ void Load_Achivements (void)
|
|||
int achievement_file;
|
||||
achievement_file = (byte *)COM_LoadHunkFile ("%s/data/ach.dat", com_gamedir);
|
||||
|
||||
if(!achievement_file)
|
||||
Sys_Error("Achievement file not preset.");
|
||||
|
||||
if (achievement_file >= 0) {
|
||||
char* buffer = (char*)calloc(2, sizeof(char));
|
||||
for (int i = 0; i < MAX_ACHIEVEMENTS; i++) {
|
||||
//sceIoRead(achievement_file, buffer, sizeof(char)*2);
|
||||
Sys_FileRead(achievement_file, buffer, sizeof(char)*2);
|
||||
achievement_list[i].unlocked = atoi(buffer);
|
||||
//sceIoRead(achievement_file, buffer, sizeof(char)*2);
|
||||
Sys_FileRead(achievement_file, buffer, sizeof(char)*2);
|
||||
achievement_list[i].progress = atoi(buffer);
|
||||
}
|
||||
} else {
|
||||
achievement_file = (byte *)COM_LoadHunkFile ("%s/data/ach.dat", com_gamedir);
|
||||
|
||||
if(!achievement_file)
|
||||
Sys_Error("Achievement file not preset.");
|
||||
|
||||
for (int i = 0; i < MAX_ACHIEVEMENTS; i++) {
|
||||
COM_WriteFile(achievement_file, "0\n", sizeof(char)*2);
|
||||
COM_WriteFile(achievement_file, "0\n", sizeof(char)*2);
|
||||
Sys_FileWrite(achievement_file, "0\n", sizeof(char)*2);
|
||||
Sys_FileWrite(achievement_file, "0\n", sizeof(char)*2);
|
||||
}
|
||||
}
|
||||
COM_CloseFile(achievement_file);
|
||||
|
@ -1201,12 +1207,15 @@ void Save_Achivements (void)
|
|||
int achievement_file;
|
||||
achievement_file = (byte *)COM_LoadHunkFile ("%s/data/ach.dat", com_gamedir);
|
||||
|
||||
if(!achievement_file)
|
||||
Sys_Error("Achievement file not preset.");
|
||||
|
||||
if (achievement_file >= 0) {
|
||||
for (int i = 0; i < MAX_ACHIEVEMENTS; i++) {
|
||||
char* buffer = va("%i\n", achievement_list[i].unlocked);
|
||||
char* buffer2 = va("%i\n", achievement_list[i].progress);
|
||||
COM_WriteFile(achievement_file, va("%i\n", achievement_list[i].unlocked), strlen(buffer));
|
||||
COM_WriteFile(achievement_file, va("%i\n", achievement_list[i].progress), strlen(buffer2));
|
||||
Sys_FileWrite(achievement_file, va("%i\n", achievement_list[i].unlocked), strlen(buffer));
|
||||
Sys_FileWrite(achievement_file, va("%i\n", achievement_list[i].progress), strlen(buffer2));
|
||||
}
|
||||
} else {
|
||||
Load_Achivements();
|
||||
|
@ -1219,7 +1228,7 @@ void M_Menu_Achievement_f (void)
|
|||
key_dest = key_menu;
|
||||
m_state = m_achievement;
|
||||
m_entersound = true;
|
||||
Load_Achivements();
|
||||
//Load_Achivements();
|
||||
}
|
||||
|
||||
void M_Achievement_Draw (void)
|
||||
|
|
Loading…
Reference in New Issue