Cross-platform save file editor for the game Sailwind (Steam App ID 1764530). Built with Python and Flet for native desktop UI (Windows, Linux).
Кроссплатформенный редактор файлов сохранений для игры Sailwind (Steam App ID 1764530). Написан на Python с использованием Flet для нативного интерфейса на Windows и Linux.
- Open
.savefiles via native file picker - Edit all editable fields (Int32, Boolean, Int64, Single, etc.) in a table UI
- Key fields highlighted (playerGold, water/food/sleep, time/day, etc.)
- Auto-backup creates
.bakbefore saving - Export/Import JSON for manual editing or version control
- Cross-platform — native desktop builds for Windows and Linux
- Открытие
.saveфайлов через нативный файловый диалог - Редактирование всех полей (Int32, Boolean, Int64, Single и др.) в табличном интерфейсе
- Ключевые поля выделены (playerGold, вода/еда/сон, время/день и др.)
- Автобэкап создаёт
.bakперед сохранением - Экспорт/импорт JSON для ручного редактирования или версионирования
- Кроссплатформенность — нативные сборки для Windows и Linux
Download the latest binary for your OS from the Releases page:
- Linux:
sailwind_editor_linux - Windows:
sailwind_editor_windows.exe
Make executable and run (Linux):
chmod +x sailwind_editor_linux
./sailwind_editor_linux uipip install flet nrbf
python3 sailwind_editor.py uiСкачайте готовый бинарник для вашей ОС со страницы Releases:
- Linux:
sailwind_editor_linux - Windows:
sailwind_editor_windows.exe
Сделайте исполняемым и запустите (Linux):
chmod +x sailwind_editor_linux
./sailwind_editor_linux uipip install flet nrbf
python3 sailwind_editor.py ui# Linux
./sailwind_editor_linux
# Windows
sailwind_editor_windows.exeOpens native window with:
- Open Save File button
- Table of all editable fields with inline editing
- Save File (auto-backup + diff)
- Export JSON / Import JSON
# Show editable fields
./sailwind_editor_linux info [save_file]
# Export to JSON for manual editing
./sailwind_editor_linux dump [save_file]
# Import from JSON
./sailwind_editor_linux pack [save_file]Default save path (Steam Proton on Linux):
~/.local/share/Steam/steamapps/compatdata/1764530/pfx/drive_c/users/steamuser/AppData/LocalLow/Raw Lion Workshop/Sailwind/slot0.save
# Linux
./sailwind_editor_linux
# Windows
sailwind_editor_windows.exeОткрывается нативное окно с:
- Кнопка открытия файла сохранения
- Таблица всех редактируемых полей с inline-редактированием
- Сохранение файла (автобэкап + дифф)
- Экспорт/импорт JSON
# Показать редактируемые поля
./sailwind_editor_linux info [файл_сохранения]
# Экспорт в JSON для ручного редактирования
./sailwind_editor_linux dump [файл_сохранения]
# Импорт из JSON
./sailwind_editor_linux pack [файл_сохранения]Путь к сохранению по умолчанию (Steam Proton на Linux):
~/.local/share/Steam/steamapps/compatdata/1764530/pfx/drive_c/users/steamuser/AppData/LocalLow/Raw Lion Workshop/Sailwind/slot0.save
sailwind_editor/
├── core.py # Core binary patching logic (SailwindSave class)
├── ui.py # Flet GUI application
├── sailwind_editor.py # CLI entry point (dump/pack/info/ui)
├── tests/
│ ├── conftest.py # Test fixtures (mock save generator)
│ └── test_core.py # Unit tests (15 tests passing)
└── README.md
sailwind_editor/
├── core.py # Ядро: бинарный патчинг (класс SailwindSave)
├── ui.py # GUI на Flet
├── sailwind_editor.py # CLI точка входа (dump/pack/info/ui)
├── tests/
│ ├── conftest.py # Фикстуры тестов (генератор мок-сохранений)
│ └── test_core.py # Юнит-тесты (15 тестов проходят)
└── README.md
- core.py — Pure Python, no GUI dependencies. Parses .NET BinaryFormatter (NRBF) save files, finds field offsets, patches binary data in-place.
- ui.py — Flet-based GUI. Uses
FilePickerfor file selection,TextFieldfor inline editing. Runs on desktop. - sailwind_editor.py — Thin CLI wrapper reusing core logic.
- core.py — Чистый Python, без GUI-зависимостей. Парсит .NET BinaryFormatter (NRBF), находит смещения полей, патчит бинарные данные inplace.
- ui.py — GUI на Flet. Использует
FilePickerдля выбора файла,TextFieldдля inline-редактирования. Работает на десктопе. - sailwind_editor.py — Тонкая CLI-обёртка, переиспользующая логику core.
cd /home/u/sailwind_editor
python3 -m pytest tests/ -vAll 15 tests pass, covering:
- Field discovery (scalar/array, Int32/Boolean)
- Patch operations (scalar/array, Boolean edge cases)
- JSON export/import round-trip
- Backup creation
- Error handling
cd /home/u/sailwind_editor
python3 -m pytest tests/ -vВсе 15 тестов проходят, покрывают:
- Обнаружение полей (скалярные/массивы, Int32/Boolean)
- Операции патчинга (скалярные/массивы, граничные случаи Boolean)
- JSON экспорт/импорт туда-обратно
- Создание бэкапов
- Обработку ошибок
MIT License — see LICENSE.
MIT License — см. LICENSE.