2022-04-19 23:54:36 +00:00
|
|
|
<!DOCTYPE html>
|
2022-04-19 23:33:59 +00:00
|
|
|
<html>
|
2022-04-19 23:54:36 +00:00
|
|
|
<head>
|
|
|
|
<link rel="stylesheet" type="text/css" href="style/index.css" />
|
2022-04-27 04:16:12 +00:00
|
|
|
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
|
2022-04-27 08:33:53 +00:00
|
|
|
<script src="https://cdn.rawgit.com/CryptoStore/crypto-js/3.1.2/build/rollups/tripledes.js"></script>
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/js-base64@3.7.2/base64.min.js"></script>
|
2022-04-20 01:12:56 +00:00
|
|
|
<script src="js/neutralino.js"></script>
|
2022-04-21 01:16:36 +00:00
|
|
|
<script src="js/windowDrag.js"></script>
|
2022-04-21 02:57:00 +00:00
|
|
|
<script src="js/hoverEvt.js"></script>
|
2022-04-23 23:48:21 +00:00
|
|
|
<script src="js/helpers.js"></script>
|
2022-04-27 08:33:53 +00:00
|
|
|
<script charset="utf-8" src="js/registry.js"></script>
|
2022-04-20 01:12:56 +00:00
|
|
|
<script src="js/index.js"></script>
|
2022-04-23 23:48:21 +00:00
|
|
|
<script src="js/onLoad.js"></script>
|
|
|
|
<script src="js/options.js"></script>
|
2022-04-27 03:17:29 +00:00
|
|
|
<script src="js/login.js"></script>
|
2022-04-27 05:15:06 +00:00
|
|
|
<script src="js/authAlert.js"></script>
|
2022-04-23 04:57:02 +00:00
|
|
|
<script src="js/translation.js"></script>
|
2022-04-19 23:54:36 +00:00
|
|
|
</head>
|
|
|
|
<body>
|
2022-04-27 00:29:34 +00:00
|
|
|
<!-- First time setup -->
|
2022-04-22 00:17:00 +00:00
|
|
|
<div id="firstTimeNotice" style="display: none">
|
2022-04-22 00:05:00 +00:00
|
|
|
<span>
|
|
|
|
</span>
|
|
|
|
<div id="firstTimeBtns">
|
2022-04-23 04:57:02 +00:00
|
|
|
<button class="playBtn" id="firstTimeInstallBtn" onclick="runInstallScript()">Install</button>
|
|
|
|
<button class="altBtn" id="firstTimeDenyBtn" onclick="closeFirstTimePopup()">No thanks</button>
|
2022-04-22 00:05:00 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2022-04-27 00:29:34 +00:00
|
|
|
|
2022-04-27 00:55:16 +00:00
|
|
|
<!-- Login popup -->
|
2022-04-27 01:34:20 +00:00
|
|
|
<div id="loginPanel" style="display: none;">
|
2022-04-27 00:55:16 +00:00
|
|
|
<div id="loginPopupTitle">
|
|
|
|
<span>
|
2022-04-27 03:17:29 +00:00
|
|
|
<span id="loginSectionTitle" class="selectedTitle" onclick="setLoginSection()">Login</span>
|
|
|
|
<span id="registerSectionTitle" onclick="setRegisterSection()">Register</span>
|
2022-04-27 00:55:16 +00:00
|
|
|
</span>
|
2022-04-27 01:34:20 +00:00
|
|
|
<div id="loginPopupCloseBtn" onclick="closeLogin()">
|
2022-04-27 00:55:16 +00:00
|
|
|
<img src="icons/close.svg" />
|
|
|
|
</div>
|
|
|
|
</div>
|
2022-04-27 03:17:29 +00:00
|
|
|
|
|
|
|
<!-- Login section -->
|
|
|
|
<div id="loginPopupContentBody" class="authBody">
|
2022-04-27 00:55:16 +00:00
|
|
|
<div id="loginPopupContentBodyText">
|
2022-04-27 01:34:20 +00:00
|
|
|
<span id="loggingInTo">
|
2022-04-27 21:28:58 +00:00
|
|
|
<span id="loggingInToIndicator">Logging in to </span><span id="loginPopupServer"></span>
|
2022-04-27 00:55:16 +00:00
|
|
|
</span>
|
|
|
|
</div>
|
2022-04-27 03:17:29 +00:00
|
|
|
<div id="loginPopupContentBodyInputs" class="authInputs">
|
2022-04-27 00:55:16 +00:00
|
|
|
<div id="loginPopupContentBodyInputsUsername">
|
2022-04-27 21:28:58 +00:00
|
|
|
<span id="loginUsernameIndicator">
|
2022-04-27 00:55:16 +00:00
|
|
|
Username:
|
|
|
|
</span>
|
|
|
|
<input type="text" id="loginUsername" />
|
|
|
|
</div>
|
|
|
|
<div id="loginPopupContentBodyInputsPassword">
|
2022-04-27 21:28:58 +00:00
|
|
|
<span id="loginPasswordIndicator">
|
2022-04-27 00:55:16 +00:00
|
|
|
Password:
|
|
|
|
</span>
|
2022-04-27 03:17:29 +00:00
|
|
|
<input type="password" id="loginPassword" onsubmit="login()" />
|
2022-04-27 00:55:16 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="loginPopupContentBodyBtns">
|
|
|
|
<button class="playBtn" id="loginPopupContentBodyBtnLogin" onclick="login()">Login</button>
|
2022-04-27 04:21:27 +00:00
|
|
|
<button class="altBtn" id="loginPopupContentBodyBtnRegister" onclick="setRegisterSection(true)">Register</button>
|
2022-04-27 00:55:16 +00:00
|
|
|
</div>
|
2022-04-27 01:34:20 +00:00
|
|
|
<div>
|
|
|
|
<button class="altBtn" id="noLoginBtn" onclick="(() => { launchPrivate(); closeLogin()})()">
|
|
|
|
Launch without Authentication
|
|
|
|
</button>
|
|
|
|
</div>
|
2022-04-27 05:15:06 +00:00
|
|
|
|
|
|
|
<!-- Alert element for any problems that arise -->
|
|
|
|
<div id="loginAlert" style="display: none">
|
|
|
|
<img src="icons/alert.svg" />
|
|
|
|
<span id="loginAlertText"></span>
|
|
|
|
</div>
|
2022-04-27 00:55:16 +00:00
|
|
|
</div>
|
2022-04-27 03:17:29 +00:00
|
|
|
|
|
|
|
<!-- Register section -->
|
|
|
|
<div id="registerPopupContentBody" style="display: none" class="authBody">
|
|
|
|
<div id="registerPopupContentBodyText">
|
|
|
|
<span id="registeringTo">
|
2022-04-27 21:28:58 +00:00
|
|
|
<span id="registeringToIndicator">Registering for </span><span id="registerPopupServer"></span>
|
2022-04-27 03:17:29 +00:00
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
<div id="registerPopupContentBodyInputs" class="authInputs">
|
|
|
|
<div id="registerPopupContentBodyInputsUsername">
|
2022-04-27 21:28:58 +00:00
|
|
|
<span id="registerUsernameIndicator">
|
2022-04-27 03:17:29 +00:00
|
|
|
Username:
|
|
|
|
</span>
|
|
|
|
<input type="text" id="registerUsername" />
|
|
|
|
</div>
|
|
|
|
<div id="registerPopupContentBodyInputsPassword">
|
2022-04-27 21:28:58 +00:00
|
|
|
<span id="registerPasswordIndicator">
|
2022-04-27 03:17:29 +00:00
|
|
|
Password:
|
|
|
|
</span>
|
|
|
|
<input type="password" id="registerPassword" />
|
|
|
|
</div>
|
|
|
|
<div id="registerPopupContentBodyInputsPasswordConfirm">
|
2022-04-27 21:28:58 +00:00
|
|
|
<span id="registerConfirmIndicator">
|
2022-04-27 03:17:29 +00:00
|
|
|
Confirm Password:
|
|
|
|
</span>
|
|
|
|
<input type="password" id="registerPasswordConfirm" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="registerPopupContentBodyBtns">
|
|
|
|
<button class="playBtn" id="registerPopupContentBodyBtnRegister" onclick="register()">Register</button>
|
|
|
|
</div>
|
2022-04-27 05:15:06 +00:00
|
|
|
|
|
|
|
<!-- Alert element for any problems that arise -->
|
|
|
|
<div id="registerAlert" style="display: none">
|
|
|
|
<img src="icons/alert.svg" />
|
|
|
|
<span id="registerAlertText"></span>
|
|
|
|
</div>
|
2022-04-27 03:17:29 +00:00
|
|
|
</div>
|
2022-04-27 00:55:16 +00:00
|
|
|
</div>
|
|
|
|
|
2022-04-27 00:29:34 +00:00
|
|
|
<!-- Setting panel -->
|
2022-04-21 22:33:14 +00:00
|
|
|
<div id="settingsPanel" style="display: none;">
|
2022-04-23 05:17:26 +00:00
|
|
|
<div id="settingsTitleBar">
|
|
|
|
<span id="fullSettingsTitle">Settings</span>
|
|
|
|
<div id="settingsClose">
|
|
|
|
<img src="icons/close.svg" onclick="closeSettings()" />
|
|
|
|
</div>
|
2022-04-21 22:33:14 +00:00
|
|
|
</div>
|
2022-04-21 21:53:53 +00:00
|
|
|
<div id="settingsPanelInner">
|
2022-04-23 04:57:02 +00:00
|
|
|
<div class="settingTitle", id="scriptsTitle">
|
2022-04-21 21:53:53 +00:00
|
|
|
<span>Scripts</span>
|
|
|
|
</div>
|
|
|
|
<div class="settingsRow">
|
2022-04-22 00:35:50 +00:00
|
|
|
<div class="settingSection">
|
2022-04-23 04:57:02 +00:00
|
|
|
<span class="settingLabel" id="killswitchTitle">Kill Switch</span>
|
2022-04-22 00:35:50 +00:00
|
|
|
<input type="checkbox" id="killswitchOption" onchange="toggleKillSwitch()" />
|
|
|
|
</div>
|
2022-04-23 04:57:02 +00:00
|
|
|
<span class="settingSubtitle" id="killswitchSubtitle">
|
2022-04-21 22:15:52 +00:00
|
|
|
Only for those very paranoid about bans. Kills the game process *and your internet* if something happens to the proxy.
|
2022-04-21 21:57:03 +00:00
|
|
|
</span>
|
2022-04-21 21:53:53 +00:00
|
|
|
</div>
|
2022-04-22 00:35:50 +00:00
|
|
|
<div class="settingsRow">
|
|
|
|
<div class="settingSection">
|
2022-04-23 04:57:02 +00:00
|
|
|
<span class="settingLabel" id="proxyTitle">Install Proxy Server</span>
|
|
|
|
<button class="smolBtn" onclick="runInstallScript()" id="proxyInstall">Install</button>
|
2022-04-22 00:35:50 +00:00
|
|
|
</div>
|
2022-04-23 04:57:02 +00:00
|
|
|
<span class="settingSubtitle" id="proxySubtitle">
|
2022-04-22 00:35:50 +00:00
|
|
|
Install the proxy server via the install script.
|
|
|
|
</span>
|
|
|
|
</div>
|
2022-04-22 21:18:56 +00:00
|
|
|
<div class="settingsRow">
|
|
|
|
<div class="settingSection">
|
2022-04-23 04:57:02 +00:00
|
|
|
<span class="settingLabel" id="updateTitle">Update</span>
|
2022-04-22 21:42:16 +00:00
|
|
|
<button class="smolBtn disabled" onclick="updateResources()" id="updateBtn" disabled>Update</button>
|
2022-04-22 21:18:56 +00:00
|
|
|
</div>
|
2022-04-22 21:42:16 +00:00
|
|
|
<span class="settingSubtitle" id="updateSubtitle">
|
2022-04-22 22:03:37 +00:00
|
|
|
Auto updating is temporarily disabled. Check GitHub for the newest release.
|
2022-04-22 21:18:56 +00:00
|
|
|
</span>
|
|
|
|
</div>
|
2022-04-23 02:14:40 +00:00
|
|
|
<div class="settingsRow">
|
|
|
|
<div class="settingSection">
|
2022-04-23 04:57:02 +00:00
|
|
|
<span class="settingLabel", id="serverLaunchTitle">Enable Server Launcher</span>
|
2022-04-23 02:14:40 +00:00
|
|
|
<input type="checkbox" id="serverLaunchOption" onchange="toggleServerLaunchSection()" />
|
|
|
|
</div>
|
|
|
|
<span class="settingSubtitle" id="serverSubtitle">
|
|
|
|
Enable to server launcher tile for launcher a local Grasscutter instance.
|
|
|
|
</span>
|
|
|
|
</div>
|
2022-04-23 05:10:09 +00:00
|
|
|
<div class="settingsRow">
|
|
|
|
<div class="settingSection">
|
|
|
|
<span class="settingLabel", id="languageTitle">Language</span>
|
|
|
|
<select id="languageSelect" onchange="handleLanguageChange(this)">
|
|
|
|
</select>
|
|
|
|
</div>
|
|
|
|
<span class="settingSubtitle" id="languageSubtitle">
|
|
|
|
Select your language!
|
|
|
|
</span>
|
|
|
|
</div>
|
2022-04-24 23:17:23 +00:00
|
|
|
<div class="settingsRow">
|
|
|
|
<div class="settingSection">
|
|
|
|
<span class="settingLabel", id="httpsTitle">Use HTTPS</span>
|
|
|
|
<input type="checkbox" id="httpsOption" onchange="toggleHttps()" />
|
|
|
|
</select>
|
|
|
|
</div>
|
|
|
|
<span class="settingSubtitle" id="httpsSubtitle">
|
|
|
|
Choose between using HTTPS or HTTP.
|
|
|
|
</span>
|
|
|
|
</div>
|
2022-04-21 21:53:53 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
2022-04-27 00:29:34 +00:00
|
|
|
|
|
|
|
<!-- Top bar (title, version, setting btn, close btn, etc.) -->
|
2022-04-21 00:41:49 +00:00
|
|
|
<div id="controlBar">
|
2022-04-21 01:16:36 +00:00
|
|
|
<span id="titleSection">
|
|
|
|
GrassClipper
|
2022-04-22 04:35:02 +00:00
|
|
|
<span id="version">0.4.5</span>
|
2022-04-21 01:16:36 +00:00
|
|
|
</span>
|
2022-04-21 10:51:58 +00:00
|
|
|
<div id="settingsBtn" onclick="openSettings()">
|
|
|
|
<img src="icons/cog.svg" />
|
|
|
|
</div>
|
2022-04-21 00:44:17 +00:00
|
|
|
<div id="minBtn" onclick="minimizeWin()">
|
2022-04-21 00:41:49 +00:00
|
|
|
<img src="icons/min.svg" alt="Minimize" />
|
|
|
|
</div>
|
2022-04-21 00:44:17 +00:00
|
|
|
<div id="closeBtn" onclick="closeWin()">
|
2022-04-21 00:41:49 +00:00
|
|
|
<img src="icons/close.svg" />
|
|
|
|
</div>
|
|
|
|
</div>
|
2022-04-22 22:34:24 +00:00
|
|
|
<div id="panelContainer">
|
2022-04-27 00:29:34 +00:00
|
|
|
<!-- Official play btn -->
|
2022-04-22 22:34:24 +00:00
|
|
|
<div id="firstPanel">
|
2022-04-21 01:41:18 +00:00
|
|
|
<button class="playBtn" id="playOfficial" onclick="launchOfficial()">Play Official</button>
|
2022-04-19 23:54:36 +00:00
|
|
|
</div>
|
2022-04-27 00:29:34 +00:00
|
|
|
<!-- Grasscutter play btn -->
|
2022-04-22 22:34:24 +00:00
|
|
|
<div id="secondPanel">
|
2022-04-21 06:04:20 +00:00
|
|
|
<div id="ipList" style="display: none;"></div>
|
2022-04-21 00:06:35 +00:00
|
|
|
<div id="secondControlContainer">
|
2022-04-27 00:29:34 +00:00
|
|
|
<!-- ip/server input -->
|
2022-04-21 05:26:25 +00:00
|
|
|
<div id="serverInput">
|
2022-04-21 05:43:32 +00:00
|
|
|
<input type="text" id="ip" placeholder="IP Address" oninput="handleFavoriteInput()"/>
|
2022-04-24 07:32:17 +00:00
|
|
|
<input type="text" id="port" placeholder="Port" oninput="handleFavoriteInput()"/>
|
2022-04-21 05:43:32 +00:00
|
|
|
<img src="icons/star_empty.svg" id="star" onclick="setFavorite()" />
|
2022-04-21 06:04:20 +00:00
|
|
|
<img src="icons/list.svg" id="star" onclick="handleFavoriteList()" />
|
2022-04-21 05:26:25 +00:00
|
|
|
</div>
|
2022-04-27 01:34:20 +00:00
|
|
|
<button class="playBtn" id="playPrivate" onclick="openLogin()">Play Private</button>
|
2022-04-21 00:06:35 +00:00
|
|
|
</div>
|
2022-04-20 00:07:56 +00:00
|
|
|
</div>
|
2022-04-27 00:29:34 +00:00
|
|
|
<!-- Grasscutter server launcher -->
|
2022-04-23 02:14:40 +00:00
|
|
|
<div id="thirdPanel" style="display: none;">
|
2022-04-23 03:01:57 +00:00
|
|
|
<button class="playBtn" id="serverLaunch" onclick="launchLocalServer()">Launch Local Server</button>
|
2022-04-22 22:34:24 +00:00
|
|
|
</div>
|
2022-04-20 00:07:56 +00:00
|
|
|
</div>
|
|
|
|
|
2022-04-27 00:29:34 +00:00
|
|
|
<!-- Bottom section (folder setting btns and such) -->
|
2022-04-20 00:07:56 +00:00
|
|
|
<div id="bottomBar">
|
|
|
|
<div class="bottomSection">
|
2022-04-23 02:30:44 +00:00
|
|
|
<div>
|
2022-04-26 09:05:58 +00:00
|
|
|
<div>
|
|
|
|
<button class="smolBtn" onclick="setGameExe()" id="gameExeSet">Set game folder</button>
|
2022-04-26 09:12:58 +00:00
|
|
|
<img src="icons/folder.svg" class="openFolderIcon" onclick="openGameFolder()"/>
|
2022-04-26 09:05:58 +00:00
|
|
|
</div>
|
2022-04-24 04:05:07 +00:00
|
|
|
<span id="gamePath" style="margin-top: 4px;"></span>
|
2022-04-23 02:30:44 +00:00
|
|
|
</div>
|
2022-04-23 03:06:18 +00:00
|
|
|
<div style="display: none;">
|
2022-04-26 09:05:58 +00:00
|
|
|
<div>
|
|
|
|
<button class="smolBtn" onclick="setGrasscutterFolder()" id="grasscutterFileSet">Set "Grasscutter" .jar file</button>
|
2022-04-26 09:12:58 +00:00
|
|
|
<img src="icons/folder.svg" class="openFolderIcon" onclick="openGrasscutterFolder()"/>
|
2022-04-26 09:05:58 +00:00
|
|
|
</div>
|
2022-04-23 02:30:44 +00:00
|
|
|
<span id="serverPath" style="margin-top: 4px;"></span>
|
|
|
|
</div>
|
2022-04-19 23:54:36 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</body>
|
2022-04-19 23:33:59 +00:00
|
|
|
</html>
|