Files
AyeZeeBB 310922556c Launcher: a setting to test pre-releases
Settings > Launcher > "Test pre-releases" (off by default). On, the update
check takes the newest GitHub release that is not a draft and carries a
launcher.json, pre-release or not, in place of the latest full release:
a pre-release newer than the last release is installed, pinned by size
and SHA-256 as any release is. Turned off, the next check goes back to
the latest release, whose files then replace the pre-release's.

- The update notice says "Pre-release" for one, and the log names which
  kind of release was taken.
- The changelog shows the release the setting picks, marked as a
  pre-release, and is fetched again when the setting changes.
- --no-gui launches follow the same setting.
2026-10-15 14:23:06 -05:00

30 lines
1.3 KiB
C++

#pragma once
#include "launch.h"
#include <string>
#include <vector>
namespace dingosdk::launcher_gui {
// Runs the launcher until it is closed. The saved setting can retain it hidden
// while Skate runs and show it again after the game exits.
// `arguments` are the launcher's own command-line arguments, kept for a
// restart after a self-update.
int run(const launcher_app::Session& session, const std::vector<std::wstring>& arguments);
// The Settings page's "Install ReSkate updates" choice; scripted (--no-gui) launches honour it too.
bool updates_enabled(const launcher_app::Session& session);
// Whether the saved settings ask for pre-releases (the "Test pre-releases" setting).
bool prereleases_enabled(const launcher_app::Session& session);
// What pressing Play would start the game with: the Settings page's saved choices. A scripted
// launch that names none of its own (a bare --no-gui, as Discord runs for a join) uses these.
launcher::LaunchOptions saved_launch_options(const launcher_app::Session& session);
// The Settings page's "Send crash reports" choice, for this launcher and the game it starts.
// Call before open_session, which starts crash reporting with the log.
void apply_crash_report_setting() noexcept;
} // namespace dingosdk::launcher_gui