Modding:Save File Format: Difference between revisions

From the Dyson Sphere Program Wiki
imported>76561198018895007
No edit summary
imported>76561198054818918
(Continuing additions to GameHistoryData)
Line 81: Line 81:
     uint32_t numTechState
     uint32_t numTechState
     [numTechState] {
     [numTechState] {
          
         uint32_t techProtoIndex
        uint8_t bool TechState_unlocked
        uint32_t TechState_curLevel
        uint32_t TechState_maxLevel
        uint64_t TechState_hashUploaded
        uint64_t TechState_hashNeeded
     }
     }
    uint8_t bool autoManageLabItems
    uint32_t currentTech
    uint32_t numTechQueue (version >= 1)
    uint32_t techQueue_TechStateKey[numTechQueue]
    uint32_t
}
}



Revision as of 15:23, 9 February 2021

This page defines the Dyson Sphere Program save file format .dsv. On Windows by default save files are stored in %USERPROFILE%\Documents\Dyson Sphere Program\Save\.

GameSave
{
    "VFSAVE"
    uint64_t fileStreamLength
    uint32_t saveFileFormatNumber, 4 as of the writing of this page
    uint32_t majorGameVersion
    uint32_t minorGameVersion
    uint32_t releaseGameVersion
    uint64_t gameTick
    uint64_t nowTicks
    uint32_t sizeOfPngFile
    uint8_t* screenShotPngFile
    GameData
}

GameData
{
    uint32_t version
    string gameName
    GameDesc
    uint64_t gameTick
    GamePrefsData (version >= 1)
    GameHistoryData
    uint8_t bool hidePlayerModel (version >= 2)
    uint8_t bool disableController (version >= 2)
    GameStatData
    uint32_t planetId
}

GameDesc
{
    uint32_t version
    uint32_t galaxyAlgo
    uint32_t galaxySeed
    uint32_t starCount
    uint32_t playerProto
    uint8_t resourceMultiplier (version >= 2)
    uint32_t numThemeIds (version >= 1)
    uint32_t themeIds[numThemeIds] (version >= 1)
}

GamePrefsData
{
    uint32_t version
    double cameraUPosX
    double cameraUPosY
    double cameraUPosZ
    uint8_t cameraURotX
    uint8_t cameraURotY
    uint8_t cameraURotZ
    uint8_t cameraURotW
    uint32_t reformCursorSize (version >= 1)
    uint32_t numReplicatorMultipliers (version >= 1)
    replicatorMultipliers[numReplicatorMultipliers] (version >= 1) {
        uint32_t key
        uint32_t value
    }
    uint8_t bool detailPower
    uint8_t bool detailVein
    uint8_t bool detailSpaceGuide
    uint8_t bool detailSign
    uint8_t bool detailIcon
    uint32_t numTutorialShowing (version >= 2)
    uint32_t tutorialShowing[numTutorialShowing] (version >= 2)
}

GameHistoryData
{
    uint32_t version
    uint32_t numRecipeUnlocked
    uint32_t recipeUnlocked[numRecipeUnlocked]
    uint32_t numTutorialUnlocked (version >= 2)
    uint32_t tutorialUnlocked[numTutorialUnlocked] (version >= 2)
    uint32_t numFeatureKeys
    uint32_t featureKeys[numFeatureKeys]
    uint32_t numTechState
    [numTechState] {
        uint32_t techProtoIndex
        uint8_t bool TechState_unlocked
        uint32_t TechState_curLevel
        uint32_t TechState_maxLevel
        uint64_t TechState_hashUploaded
        uint64_t TechState_hashNeeded
    }
    uint8_t bool autoManageLabItems
    uint32_t currentTech
    uint32_t numTechQueue (version >= 1)
    uint32_t techQueue_TechStateKey[numTechQueue]
    uint32_t 
}

GameStatData
{
    
}
🍪 We use cookies to keep session information to provide you a better experience.