Cross platform save file format, and library
Same API, different binary format using protocol buffers.
#include"../include/PSF/psf.hpp"
#include<iostream>classSettingsTableHandler : publicPSFTableHandler {
public:SettingsTableHandler() : PSFTableHandler("Settings") {}
voidrestore(PSFRestoreData *save)
{
std::cout << save->readString() << std::endl;
std::cout << save->readInt() << std::endl;
std::cout << save->readInt() << std::endl;
std::cout << save->readFloat() << std::endl;
}
voidsave(PSFSaveData *save)
{
save->writeString("Fullscreen"); // Video Mode
save->writeInt(1890); // Window Height
save->writeInt(1900); // Window Width
save->writeFloat(2.0505); // Window Width
}
};
intmain()
{
PSFSaveFile file("hello.sav");
file.setSaveInformation({
.game = "Hello World Game!",
.version = 1
});
file.registerTableHandler(newSettingsTableHandler());
file.save();
file.restore();
std::cout << file.getSaveInformation().game << std::endl;;
}