mirror of
https://git.sanhost.net/sanasol/hytale-f2p
synced 2026-02-26 12:51:47 -03:00
* update main branch to release/v2.0.2b (#86) * add more linux pkgs, create auto-release and pre-release feature for Github Actions * removed package-lock from gitignore * update .gitignore for local build * add package-lock.json to maintain stability development * update version to 2.0.2b also add deps for rpm and arch * update 2.0.2b: add arm64 support, product and executable name, maintainers; remove snap; * update 2.0.2b: add latest.yml for win & linux, arm64 support; remove snap * fix release build naming * Prepare release v2.0.2b * feat: add 'Close launcher on game start' option and improve app termination behavior - Added 'Close launcher on game start' setting in GUI and backend. - Implemented automatic app quit after game launch if setting is enabled. - Added Cmd+Q (Mac) and Ctrl+Q/Alt+F4 (Win/Linux) shortcuts to quit the app. - Updated 'window-close' handler to fully quit the app instead of just closing the window. - Added i18n support for the new setting in English, Spanish, and Portuguese. --------- Co-authored-by: Fazri Gading <fazrigading@gmail.com> Co-authored-by: Arnav Singh <hi.arnavsingh3@gmail.com>
181 lines
3.5 KiB
JavaScript
181 lines
3.5 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,
|
|
saveLanguage,
|
|
loadLanguage,
|
|
saveCloseLauncherOnStart,
|
|
loadCloseLauncherOnStart,
|
|
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,
|
|
repairGame
|
|
} = 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,
|
|
repairGame,
|
|
|
|
// 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,
|
|
|
|
// Language functions
|
|
saveLanguage,
|
|
loadLanguage,
|
|
|
|
// Close Launcher functions
|
|
saveCloseLauncherOnStart,
|
|
loadCloseLauncherOnStart,
|
|
|
|
// 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
|
|
};
|