equal
deleted
inserted
replaced
1288 /** We have written the whole game into memory, _save_pool, now find |
1288 /** We have written the whole game into memory, _save_pool, now find |
1289 * and appropiate compressor and start writing to file. |
1289 * and appropiate compressor and start writing to file. |
1290 */ |
1290 */ |
1291 static void* SaveFileToDisk(void *arg) |
1291 static void* SaveFileToDisk(void *arg) |
1292 { |
1292 { |
1293 const SaveLoadFormat *fmt = GetSavegameFormat(_savegame_format); |
1293 const SaveLoadFormat *fmt; |
1294 uint32 hdr[2]; |
1294 uint32 hdr[2]; |
1295 |
1295 |
1296 if (arg != NULL) OTTD_SendThreadMessage(MSG_OTTD_SAVETHREAD_START); |
1296 if (arg != NULL) OTTD_SendThreadMessage(MSG_OTTD_SAVETHREAD_START); |
1297 |
1297 |
1298 /* XXX - Setup setjmp error handler if an error occurs anywhere deep during |
1298 /* XXX - Setup setjmp error handler if an error occurs anywhere deep during |
1304 fprintf(stderr, "Save game failed: %s.", _sl.excpt_msg); |
1304 fprintf(stderr, "Save game failed: %s.", _sl.excpt_msg); |
1305 if (arg != NULL) OTTD_SendThreadMessage(MSG_OTTD_SAVETHREAD_ERROR); |
1305 if (arg != NULL) OTTD_SendThreadMessage(MSG_OTTD_SAVETHREAD_ERROR); |
1306 else SaveFileError(); |
1306 else SaveFileError(); |
1307 return NULL; |
1307 return NULL; |
1308 } |
1308 } |
|
1309 |
|
1310 fmt = GetSavegameFormat(_savegame_format); |
1309 |
1311 |
1310 /* We have written our stuff to memory, now write it to file! */ |
1312 /* We have written our stuff to memory, now write it to file! */ |
1311 hdr[0] = fmt->tag; |
1313 hdr[0] = fmt->tag; |
1312 hdr[1] = TO_BE32(SAVEGAME_VERSION << 16); |
1314 hdr[1] = TO_BE32(SAVEGAME_VERSION << 16); |
1313 if (fwrite(hdr, sizeof(hdr), 1, _sl.fh) != 1) SlError("file write failed"); |
1315 if (fwrite(hdr, sizeof(hdr), 1, _sl.fh) != 1) SlError("file write failed"); |