mirror of
https://gitea.shironeko-all.duckdns.org/shironeko/Hytale-F2P-2.git
synced 2026-02-26 10:41:46 -03:00
* modernized UI for GPU Preference option * feat: auto-detect dedicated GPU on hybrid laptops (iGPU+dGPU) * feat: detailed GPU info in auto-detection feature on startup * feat: add GPU options for launcher - Add GPU preference setting (Auto/Integrated/Dedicated) - Implement Linux GPU selection with DRI_PRIME and NVIDIA env vars - Add GPU detection using Electron's app.getGPUInfo() - Update settings UI with GPU preference dropdown - Integrate GPU preference into game launch process * feat: auto-detect dedicated GPU on hybrid laptops (iGPU+dGPU) * added fallbacks to and option to use integrated GPU. * add package-lock and fix deps version * changed 'Nvidia' string to 'NVIDIA' * fix: selecting `dedicated` option while using nvidia GPU did not set its specific env variables * remove unused `CONFIG_FILE` variable on launcher core modules * fix: duplicated save-load gpu detection functions * move game option settings to the top, while custom java to the bottom * fix: settings-header margin-bottom from 3rem to 1rem and supress line-clamp warning
167 lines
3.2 KiB
JavaScript
167 lines
3.2 KiB
JavaScript
// Main launcher module - orchestrates all launcher functionality
|
|
// This file serves as the main entry point and re-exports all necessary functions
|
|
|
|
// Core modules
|
|
const {
|
|
saveUsername,
|
|
loadUsername,
|
|
saveChatUsername,
|
|
loadChatUsername,
|
|
saveChatColor,
|
|
loadChatColor,
|
|
saveJavaPath,
|
|
loadJavaPath,
|
|
saveInstallPath,
|
|
loadInstallPath,
|
|
saveDiscordRPC,
|
|
loadDiscordRPC,
|
|
saveModsToConfig,
|
|
loadModsFromConfig,
|
|
getUuidForUser,
|
|
isFirstLaunch,
|
|
markAsLaunched,
|
|
// UUID Management
|
|
getCurrentUuid,
|
|
getAllUuidMappings,
|
|
setUuidForUser,
|
|
generateNewUuid,
|
|
deleteUuidForUser,
|
|
resetCurrentUserUuid,
|
|
// GPU Preference
|
|
saveGpuPreference,
|
|
loadGpuPreference
|
|
} = require('./core/config');
|
|
|
|
const { getResolvedAppDir, getModsPath } = require('./core/paths');
|
|
|
|
// Managers
|
|
const {
|
|
isGameInstalled,
|
|
installGame,
|
|
uninstallGame,
|
|
updateGameFiles,
|
|
checkExistingGameInstallation
|
|
} = require('./managers/gameManager');
|
|
|
|
const {
|
|
launchGame,
|
|
launchGameWithVersionCheck
|
|
} = require('./managers/gameLauncher');
|
|
|
|
const { getJavaDetection } = require('./managers/javaManager');
|
|
|
|
const {
|
|
downloadAndReplaceHomePageUI,
|
|
findHomePageUIPath,
|
|
downloadAndReplaceLogo,
|
|
findLogoPath
|
|
} = require('./managers/uiFileManager');
|
|
|
|
const {
|
|
loadInstalledMods,
|
|
downloadMod,
|
|
uninstallMod,
|
|
toggleMod
|
|
} = require('./managers/modManager');
|
|
|
|
// Services
|
|
const {
|
|
getInstalledClientVersion,
|
|
getLatestClientVersion
|
|
} = require('./services/versionManager');
|
|
|
|
const { getHytaleNews } = require('./services/newsManager');
|
|
|
|
const { getOrCreatePlayerId } = require('./services/playerManager');
|
|
|
|
const {
|
|
proposeGameUpdate,
|
|
handleFirstLaunchCheck
|
|
} = require('./services/firstLaunch');
|
|
|
|
// Utils
|
|
const { detectGpu } = require('./utils/platformUtils');
|
|
|
|
// Re-export all functions to maintain backward compatibility
|
|
module.exports = {
|
|
// Game launch functions
|
|
launchGame,
|
|
launchGameWithVersionCheck,
|
|
|
|
// Game installation functions
|
|
installGame,
|
|
isGameInstalled,
|
|
uninstallGame,
|
|
updateGameFiles,
|
|
|
|
// User configuration functions
|
|
saveUsername,
|
|
loadUsername,
|
|
saveChatUsername,
|
|
loadChatUsername,
|
|
saveChatColor,
|
|
loadChatColor,
|
|
getUuidForUser,
|
|
|
|
// Java configuration functions
|
|
saveJavaPath,
|
|
loadJavaPath,
|
|
getJavaDetection,
|
|
|
|
// Installation path functions
|
|
saveInstallPath,
|
|
loadInstallPath,
|
|
|
|
// Discord RPC functions
|
|
saveDiscordRPC,
|
|
loadDiscordRPC,
|
|
|
|
// GPU Preference functions
|
|
saveGpuPreference,
|
|
loadGpuPreference,
|
|
detectGpu,
|
|
|
|
// Version functions
|
|
getInstalledClientVersion,
|
|
getLatestClientVersion,
|
|
|
|
// News functions
|
|
getHytaleNews,
|
|
|
|
// Player ID functions
|
|
getOrCreatePlayerId,
|
|
|
|
// UUID Management functions
|
|
getCurrentUuid,
|
|
getAllUuidMappings,
|
|
setUuidForUser,
|
|
generateNewUuid,
|
|
deleteUuidForUser,
|
|
resetCurrentUserUuid,
|
|
|
|
// Mod management functions
|
|
getModsPath,
|
|
loadInstalledMods,
|
|
downloadMod,
|
|
uninstallMod,
|
|
toggleMod,
|
|
saveModsToConfig,
|
|
loadModsFromConfig,
|
|
|
|
// UI file management functions
|
|
downloadAndReplaceHomePageUI,
|
|
findHomePageUIPath,
|
|
downloadAndReplaceLogo,
|
|
findLogoPath,
|
|
|
|
// First launch functions
|
|
isFirstLaunch,
|
|
markAsLaunched,
|
|
checkExistingGameInstallation,
|
|
proposeGameUpdate,
|
|
handleFirstLaunchCheck,
|
|
|
|
// Path functions
|
|
getResolvedAppDir
|
|
};
|