* Return the type as saved/loaded inside the savegame. */
| 568 | * Return the type as saved/loaded inside the savegame. |
| 569 | */ |
| 570 | static uint8_t GetSavegameFileType(const SaveLoad &sld) |
| 571 | { |
| 572 | switch (sld.cmd) { |
| 573 | case SL_VAR: |
| 574 | return GetVarFileType(sld.conv); break; |
| 575 | |
| 576 | case SL_STDSTR: |
| 577 | case SL_ARR: |
| 578 | case SL_VECTOR: |
| 579 | case SL_DEQUE: |
| 580 | return GetVarFileType(sld.conv) | SLE_FILE_HAS_LENGTH_FIELD; break; |
| 581 | |
| 582 | case SL_REF: |
| 583 | return IsSavegameVersionBefore(SLV_69) ? SLE_FILE_U16 : SLE_FILE_U32; |
| 584 | |
| 585 | case SL_REFLIST: |
| 586 | case SL_REFVECTOR: |
| 587 | return (IsSavegameVersionBefore(SLV_69) ? SLE_FILE_U16 : SLE_FILE_U32) | SLE_FILE_HAS_LENGTH_FIELD; |
| 588 | |
| 589 | case SL_SAVEBYTE: |
| 590 | return SLE_FILE_U8; |
| 591 | |
| 592 | case SL_STRUCT: |
| 593 | case SL_STRUCTLIST: |
| 594 | return SLE_FILE_STRUCT | SLE_FILE_HAS_LENGTH_FIELD; |
| 595 | |
| 596 | default: NOT_REACHED(); |
| 597 | } |
| 598 | } |
| 599 | |
| 600 | /** |
| 601 | * Return the size in bytes of a certain type of normal/atomic variable |
no test coverage detected