MCPcopy Create free account
hub / github.com/OpenTTD/OpenTTD / GetSavegameFileType

Function GetSavegameFileType

src/saveload/saveload.cpp:570–598  ·  view source on GitHub ↗

* Return the type as saved/loaded inside the savegame. */

Source from the content-addressed store, hash-verified

568 * Return the type as saved/loaded inside the savegame.
569 */
570static 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

Callers 1

SlTableHeaderFunction · 0.85

Calls 3

GetVarFileTypeFunction · 0.85
IsSavegameVersionBeforeFunction · 0.85
NOT_REACHEDFunction · 0.85

Tested by

no test coverage detected