summaryrefslogtreecommitdiff
path: root/src/common/chunk_file.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/chunk_file.h')
-rw-r--r--src/common/chunk_file.h59
1 files changed, 41 insertions, 18 deletions
diff --git a/src/common/chunk_file.h b/src/common/chunk_file.h
index 609784076..39a14dc81 100644
--- a/src/common/chunk_file.h
+++ b/src/common/chunk_file.h
@@ -154,7 +154,7 @@ public:
154 Do(foundVersion); 154 Do(foundVersion);
155 155
156 if (error == ERROR_FAILURE || foundVersion < minVer || foundVersion > ver) { 156 if (error == ERROR_FAILURE || foundVersion < minVer || foundVersion > ver) {
157 WARN_LOG(COMMON, "Savestate failure: wrong version %d found for %s", foundVersion, title); 157 LOG_ERROR(Common, "Savestate failure: wrong version %d found for %s", foundVersion, title);
158 SetError(ERROR_FAILURE); 158 SetError(ERROR_FAILURE);
159 return PointerWrapSection(*this, -1, title); 159 return PointerWrapSection(*this, -1, title);
160 } 160 }
@@ -178,7 +178,14 @@ public:
178 case MODE_READ: if (memcmp(data, *ptr, size) != 0) return false; break; 178 case MODE_READ: if (memcmp(data, *ptr, size) != 0) return false; break;
179 case MODE_WRITE: memcpy(*ptr, data, size); break; 179 case MODE_WRITE: memcpy(*ptr, data, size); break;
180 case MODE_MEASURE: break; // MODE_MEASURE - don't need to do anything 180 case MODE_MEASURE: break; // MODE_MEASURE - don't need to do anything
181 case MODE_VERIFY: for(int i = 0; i < size; i++) _dbg_assert_msg_(COMMON, ((u8*)data)[i] == (*ptr)[i], "Savestate verification failure: %d (0x%X) (at %p) != %d (0x%X) (at %p).\n", ((u8*)data)[i], ((u8*)data)[i], &((u8*)data)[i], (*ptr)[i], (*ptr)[i], &(*ptr)[i]); break; 181 case MODE_VERIFY:
182 for (int i = 0; i < size; i++) {
183 _dbg_assert_msg_(Common, ((u8*)data)[i] == (*ptr)[i],
184 "Savestate verification failure: %d (0x%X) (at %p) != %d (0x%X) (at %p).\n",
185 ((u8*)data)[i], ((u8*)data)[i], &((u8*)data)[i],
186 (*ptr)[i], (*ptr)[i], &(*ptr)[i]);
187 }
188 break;
182 default: break; // throw an error? 189 default: break; // throw an error?
183 } 190 }
184 (*ptr) += size; 191 (*ptr) += size;
@@ -191,7 +198,14 @@ public:
191 case MODE_READ: memcpy(data, *ptr, size); break; 198 case MODE_READ: memcpy(data, *ptr, size); break;
192 case MODE_WRITE: memcpy(*ptr, data, size); break; 199 case MODE_WRITE: memcpy(*ptr, data, size); break;
193 case MODE_MEASURE: break; // MODE_MEASURE - don't need to do anything 200 case MODE_MEASURE: break; // MODE_MEASURE - don't need to do anything
194 case MODE_VERIFY: for(int i = 0; i < size; i++) _dbg_assert_msg_(COMMON, ((u8*)data)[i] == (*ptr)[i], "Savestate verification failure: %d (0x%X) (at %p) != %d (0x%X) (at %p).\n", ((u8*)data)[i], ((u8*)data)[i], &((u8*)data)[i], (*ptr)[i], (*ptr)[i], &(*ptr)[i]); break; 201 case MODE_VERIFY:
202 for (int i = 0; i < size; i++) {
203 _dbg_assert_msg_(Common, ((u8*)data)[i] == (*ptr)[i],
204 "Savestate verification failure: %d (0x%X) (at %p) != %d (0x%X) (at %p).\n",
205 ((u8*)data)[i], ((u8*)data)[i], &((u8*)data)[i],
206 (*ptr)[i], (*ptr)[i], &(*ptr)[i]);
207 }
208 break;
195 default: break; // throw an error? 209 default: break; // throw an error?
196 } 210 }
197 (*ptr) += size; 211 (*ptr) += size;
@@ -204,11 +218,11 @@ public:
204 { 218 {
205 for (auto it = x.begin(), end = x.end(); it != end; ++it) 219 for (auto it = x.begin(), end = x.end(); it != end; ++it)
206 { 220 {
207 if (it->second != NULL) 221 if (it->second != nullptr)
208 delete it->second; 222 delete it->second;
209 } 223 }
210 } 224 }
211 T *dv = NULL; 225 T *dv = nullptr;
212 DoMap(x, dv); 226 DoMap(x, dv);
213 } 227 }
214 228
@@ -264,11 +278,11 @@ public:
264 { 278 {
265 for (auto it = x.begin(), end = x.end(); it != end; ++it) 279 for (auto it = x.begin(), end = x.end(); it != end; ++it)
266 { 280 {
267 if (it->second != NULL) 281 if (it->second != nullptr)
268 delete it->second; 282 delete it->second;
269 } 283 }
270 } 284 }
271 T *dv = NULL; 285 T *dv = nullptr;
272 DoMultimap(x, dv); 286 DoMultimap(x, dv);
273 } 287 }
274 288
@@ -320,7 +334,7 @@ public:
320 template<class T> 334 template<class T>
321 void Do(std::vector<T *> &x) 335 void Do(std::vector<T *> &x)
322 { 336 {
323 T *dv = NULL; 337 T *dv = nullptr;
324 DoVector(x, dv); 338 DoVector(x, dv);
325 } 339 }
326 340
@@ -369,7 +383,7 @@ public:
369 template<class T> 383 template<class T>
370 void Do(std::deque<T *> &x) 384 void Do(std::deque<T *> &x)
371 { 385 {
372 T *dv = NULL; 386 T *dv = nullptr;
373 DoDeque(x, dv); 387 DoDeque(x, dv);
374 } 388 }
375 389
@@ -395,7 +409,7 @@ public:
395 template<class T> 409 template<class T>
396 void Do(std::list<T *> &x) 410 void Do(std::list<T *> &x)
397 { 411 {
398 T *dv = NULL; 412 T *dv = nullptr;
399 Do(x, dv); 413 Do(x, dv);
400 } 414 }
401 415
@@ -433,7 +447,7 @@ public:
433 { 447 {
434 for (auto it = x.begin(), end = x.end(); it != end; ++it) 448 for (auto it = x.begin(), end = x.end(); it != end; ++it)
435 { 449 {
436 if (*it != NULL) 450 if (*it != nullptr)
437 delete *it; 451 delete *it;
438 } 452 }
439 } 453 }
@@ -476,7 +490,7 @@ public:
476 break; 490 break;
477 491
478 default: 492 default:
479 ERROR_LOG(COMMON, "Savestate error: invalid mode %d.", mode); 493 LOG_ERROR(Common, "Savestate error: invalid mode %d.", mode);
480 } 494 }
481 } 495 }
482 496
@@ -490,7 +504,12 @@ public:
490 case MODE_READ: x = (char*)*ptr; break; 504 case MODE_READ: x = (char*)*ptr; break;
491 case MODE_WRITE: memcpy(*ptr, x.c_str(), stringLen); break; 505 case MODE_WRITE: memcpy(*ptr, x.c_str(), stringLen); break;
492 case MODE_MEASURE: break; 506 case MODE_MEASURE: break;
493 case MODE_VERIFY: _dbg_assert_msg_(COMMON, !strcmp(x.c_str(), (char*)*ptr), "Savestate verification failure: \"%s\" != \"%s\" (at %p).\n", x.c_str(), (char*)*ptr, ptr); break; 507 case MODE_VERIFY:
508 _dbg_assert_msg_(Common,
509 !strcmp(x.c_str(), (char*)*ptr),
510 "Savestate verification failure: \"%s\" != \"%s\" (at %p).\n",
511 x.c_str(), (char*)*ptr, ptr);
512 break;
494 } 513 }
495 (*ptr) += stringLen; 514 (*ptr) += stringLen;
496 } 515 }
@@ -504,7 +523,11 @@ public:
504 case MODE_READ: x = (wchar_t*)*ptr; break; 523 case MODE_READ: x = (wchar_t*)*ptr; break;
505 case MODE_WRITE: memcpy(*ptr, x.c_str(), stringLen); break; 524 case MODE_WRITE: memcpy(*ptr, x.c_str(), stringLen); break;
506 case MODE_MEASURE: break; 525 case MODE_MEASURE: break;
507 case MODE_VERIFY: _dbg_assert_msg_(COMMON, x == (wchar_t*)*ptr, "Savestate verification failure: \"%ls\" != \"%ls\" (at %p).\n", x.c_str(), (wchar_t*)*ptr, ptr); break; 526 case MODE_VERIFY:
527 _dbg_assert_msg_(Common, x == (wchar_t*)*ptr,
528 "Savestate verification failure: \"%ls\" != \"%ls\" (at %p).\n",
529 x.c_str(), (wchar_t*)*ptr, ptr);
530 break;
508 } 531 }
509 (*ptr) += stringLen; 532 (*ptr) += stringLen;
510 } 533 }
@@ -518,7 +541,7 @@ public:
518 void DoClass(T *&x) { 541 void DoClass(T *&x) {
519 if (mode == MODE_READ) 542 if (mode == MODE_READ)
520 { 543 {
521 if (x != NULL) 544 if (x != nullptr)
522 delete x; 545 delete x;
523 x = new T(); 546 x = new T();
524 } 547 }
@@ -567,7 +590,7 @@ public:
567 { 590 {
568 if (mode == MODE_READ) 591 if (mode == MODE_READ)
569 { 592 {
570 cur->next = 0; 593 cur->next = nullptr;
571 list_cur = cur; 594 list_cur = cur;
572 if (prev) 595 if (prev)
573 prev->next = cur; 596 prev->next = cur;
@@ -586,13 +609,13 @@ public:
586 if (mode == MODE_READ) 609 if (mode == MODE_READ)
587 { 610 {
588 if (prev) 611 if (prev)
589 prev->next = 0; 612 prev->next = nullptr;
590 if (list_end) 613 if (list_end)
591 *list_end = prev; 614 *list_end = prev;
592 if (list_cur) 615 if (list_cur)
593 { 616 {
594 if (list_start == list_cur) 617 if (list_start == list_cur)
595 list_start = 0; 618 list_start = nullptr;
596 do 619 do
597 { 620 {
598 LinkedListItem<T>* next = list_cur->next; 621 LinkedListItem<T>* next = list_cur->next;