Desktop build: settings and progress kept as files, savegames in a saves folder, system file dialog for loading

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-06 23:46:11 +01:00
1 parent 1df97b4af2
commit db521ed2ee
4 files changed
+413 -18

No files matched your search

+7 -3
View File
@@ -1497,7 +1497,7 @@ async fn main() {
MenuAction::Save | MenuAction::FileSave => {
let name = save_file_name();
platform::download(&name, app.autosave_json().as_bytes());
app.set_status(i18n::trf("save.saved", &[name]), now);
app.set_status(i18n::trf("save.saved", &[platform::saved_as(&name)]), now);
}
MenuAction::CloudSave(id, name) => {
if cloud.save(id.as_deref(), &name, &app.autosave_json()) {
@@ -1544,7 +1544,7 @@ async fn main() {
MenuAction::CampaignSave => {
let name = menu.campaign_doc.file_name();
platform::download(&name, menu.campaign_doc.save().as_bytes());
app.set_status(i18n::trf("campaign.saved", &[name]), now);
app.set_status(i18n::trf("campaign.saved", &[platform::saved_as(&name)]), now);
}
MenuAction::CampaignEditName => {
if let Some(value) = prompt_line(&i18n::tr("campaign.prompt_name"), &menu.campaign_doc.name, 60) {
@@ -2349,7 +2349,11 @@ app.pending_briefing = briefing_of(&ed.doc, i);
ui.show_help = false;
r3d.invalidate();
}
editor::EdAction::SaveFile => platform::download(&ed.doc.file_name(), ed.doc.save().as_bytes()),
editor::EdAction::SaveFile => {
let name = ed.doc.file_name();
platform::download(&name, ed.doc.save().as_bytes());
ed.set_status(i18n::trf("campaign.saved", &[platform::saved_as(&name)]));
}
editor::EdAction::OpenFile => platform::open_file(),
editor::EdAction::ServerSave => {
if !cloud.available() {