mirror of
https://github.com/InstanceBrick/nightcap.git
synced 2026-10-23 05:01:04 +02:00
Import theme from roblox and fix x11
vkAcquireNextImageKHR(): A swapchain no longer matches the surface properties exactly, but can still be used to present to the surface successfully. (VK_SUBOPTIMAL_KHR) (1000001003)
This commit is contained in:
1 parent
d5f9c91358
commit
035c7fe1d4
19 files changed
+244
-31
No files matched your search
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <cstdint>
|
||||
#include <filesystem>
|
||||
#include <optional>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
|
||||
@@ -38,6 +39,20 @@ PlatformCacheMigrationResult MigratePlatformProfileCaches(
|
||||
const Environment& environment, const RuntimePaths& paths,
|
||||
std::string_view desired_revision);
|
||||
|
||||
struct RobloxThemeCacheResult {
|
||||
std::optional<bool> dark_theme;
|
||||
std::string error;
|
||||
|
||||
explicit operator bool() const { return error.empty(); }
|
||||
};
|
||||
|
||||
// Reads the current account's Roblox theme without changing appStorage. A
|
||||
// missing value leaves dark_theme empty so the caller can use Roblox's own
|
||||
// startup default.
|
||||
RobloxThemeCacheResult ReadRobloxThemeCache(
|
||||
const std::filesystem::path& app_storage_file,
|
||||
std::int64_t authenticated_user_id);
|
||||
|
||||
// Synchronizes only Roblox's local theme keys with the resolved host theme.
|
||||
bool ApplyRobloxThemeCacheOverride(
|
||||
const std::filesystem::path& app_storage_file,
|
||||
|
||||
@@ -20,14 +20,15 @@ struct DesktopAppPolicyResult {
|
||||
explicit operator bool() const { return error.empty(); }
|
||||
};
|
||||
|
||||
// Normalizes only Roblox UniversalApp layout coordinates for a PC profile.
|
||||
// Account eligibility and feature-entitlement fields remain server-owned.
|
||||
// Normalizes Roblox UniversalApp layout coordinates for a PC profile and
|
||||
// applies a fixed theme only when configured. Account eligibility and
|
||||
// feature-entitlement fields remain server-owned.
|
||||
// The guest and authenticated cache keys are both populated so user-switch
|
||||
// startup cannot fall back to the Android Unknown/mobile layout.
|
||||
DesktopAppPolicyResult ApplyDesktopAppPolicy(
|
||||
const std::filesystem::path& app_storage_file,
|
||||
const std::filesystem::path& default_policy_file,
|
||||
std::int64_t authenticated_user_id);
|
||||
std::int64_t authenticated_user_id, std::string_view theme_mode);
|
||||
|
||||
// Routes the normalized policy through Roblox's supported runtime override so
|
||||
// a later GUAC response cannot replace the in-memory desktop layout with the
|
||||
|
||||
@@ -87,8 +87,8 @@ class RuntimeConfig {
|
||||
const WindowConfig& window() const { return window_; }
|
||||
const std::string& theme_mode() const { return theme_mode_; }
|
||||
bool theme_mode_valid() const {
|
||||
return theme_mode_ == "system" || theme_mode_ == "light" ||
|
||||
theme_mode_ == "dark";
|
||||
return theme_mode_ == "roblox" || theme_mode_ == "system" ||
|
||||
theme_mode_ == "light" || theme_mode_ == "dark";
|
||||
}
|
||||
const InputCapabilityConfig& input_capabilities() const {
|
||||
return input_capabilities_;
|
||||
@@ -139,7 +139,7 @@ class RuntimeConfig {
|
||||
GraphicsBackend graphics_backend_ = GraphicsBackend::kVulkan;
|
||||
std::string graphics_backend_name_ = "direct-vulkan";
|
||||
WindowConfig window_;
|
||||
std::string theme_mode_ = "system";
|
||||
std::string theme_mode_ = "roblox";
|
||||
InputCapabilityConfig input_capabilities_;
|
||||
DeviceProfile device_profile_ = *FindDeviceProfile(kDefaultDeviceProfileName);
|
||||
bool device_profile_valid_ = true;
|
||||
|
||||
Reference in new issue
Block a user