CleverRaven / CleverRaven/Cataclysm-DDA
Introduce an external save compression tool.
- Dominant language
- C++
- Stars
- 13.1k
- Forks
- 4.6k
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 200
Description
### Is your feature request related to a problem? Please describe.
It's not unusual with crashes on loading, and those saves can't be compressed by the compression tool because the tool requires the save to be loaded. It would be useful to have an external tool that's capable of compressing a designated save, without the need to successfully load it.
This might provide help to hunt down such errors.
### Solution you would like.
Two alternatives, not necessarily mutually exclusive:
- Compile an external exe similar to how the JSON formatter is compiled. The tool would ask for a save directory (not the "save" directory, but directories within it, possibly with a check to avoid the "save" directory being designated) and compress the save in it.
- Provide access to the save functionality from the top menu (where? none of the sections really make sense) whereby you could select the save from a save list similar or identical to the one where you normally select the save to load.
### Describe alternatives you have considered.
Prompted by the appearance of yet another bug report of this kind.
### Additional context
The tool would have to make it clear it's NOT suitable for compressing saves to move them between devices, as data is discarded.
Contributor guide
Research direction
Start by examining how the JSON formatter is compiled as an external executable and how the existing save list is exposed from the top menu. The work is done when a designated save can be compressed without loading successfully, with clear warning that the resulting data is not suitable for moving saves between devices.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100