-
-
-
\ No newline at end of file
diff --git a/www/erupe/js/script.js b/www/erupe/js/script.js
deleted file mode 100644
index 5e75c7aad..000000000
--- a/www/erupe/js/script.js
+++ /dev/null
@@ -1,540 +0,0 @@
-var __mhf_launcher = {};
-var loginScreen = true;
-var loggingIn = false;
-var doingAuto = false;
-var uids;
-var selectedUid;
-var firstChar;
-var modalState = false;
-
-
-function soundSel() {
- window.external.playSound('IDR_WAV_SEL');
-}
-
-function soundOk() {
- window.external.playSound('IDR_WAV_OK');
-}
-
-function soundPreLogin() {
- window.external.playSound('IDR_WAV_PRE_LOGIN');
-}
-
-function soundLogin() {
- window.external.playSound('IDR_WAV_LOGIN');
-}
-
-function soundNiku() {
- window.external.playSound('IDR_NIKU');
-}
-
-function addLog(text, mode) {
- switch (mode) {
- case 'winsock':
- text = ''+text+' ';
- break;
- case 'normal':
- text = ''+text+' ';
- break;
- case 'good':
- text = ''+text+' ';
- break;
- case 'error':
- text = ''+text+' ';
- break;
- }
- let logText = document.getElementById('log_p');
- logText.innerHTML = logText.innerHTML + text;
- let logBox = document.getElementsByClassName('log_inner')[0];
- logBox.scrollTop = logBox.scrollHeight;
-}
-
-function loadAccount() {
- let allowed = localStorage.getItem('saving');
- if (allowed != 'null' && allowed == 'true') {
- document.getElementById('username').value = localStorage.getItem('username');
- document.getElementById('password').value = localStorage.getItem('password');
- document.getElementById('login_save').checked = true;
- let autoEnabled = localStorage.getItem('autologin');
- if (autoEnabled != 'null' && autoEnabled == 'true') {
- doingAuto = true;
- doLogin();
- }
- }
-}
-
-function saveAccount() {
- let checkbox = document.getElementById('login_save');
- if (checkbox.checked == true) {
- let username = document.getElementById('username').value;
- let password = document.getElementById('password').value;
- if (username[username.length - 1] == '+') {
- username = username.slice(0, username.length - 1)
- }
- localStorage.setItem('username', username);
- localStorage.setItem('password', password);
- localStorage.setItem('saving', 'true');
- } else {
- localStorage.removeItem('username');
- localStorage.removeItem('password');
- localStorage.removeItem('saving');
- localStorage.removeItem('uid');
- }
-}
-
-function createCharItem(name, uid, weapon, hr, gr, date, sex) {
- var icon;
- const dateObject = new Date(date * 1000);
- date = dateObject.toLocaleDateString('en-US');
- let dateString = '';
- for (var i = 0; i < date.length; i++) {
- if (date[i] != '') { // invisible LTR char
- dateString += date[i];
- }
- }
- if (sex == 'M') {
- sex = "♂";
- } else {
- sex = "♀";
- }
- if (hr > 999) {
- hr = 999;
- }
- if (gr > 999) {
- gr = 999;
- }
- switch (weapon) {
- case '片手剣':
- weapon = 'Sword & Shield';
- icon = 'img/icons/ss.png';
- break;
- case '双剣':
- weapon = 'Dual Swords';
- icon = 'img/icons/db.png';
- break;
- case '大剣':
- weapon = 'Greatsword';
- icon = 'img/icons/gs.png';
- break;
- case '太刀':
- weapon = 'Longsword';
- icon = 'img/icons/ls.png';
- break;
- case 'ハンマー':
- weapon = 'Hammer';
- icon = 'img/icons/hm.png';
- break;
- case '狩猟笛':
- weapon = 'Hunting Horn';
- icon = 'img/icons/hh.png';
- break;
- case 'ランス':
- weapon = 'Lance';
- icon = 'img/icons/ln.png';
- break;
- case 'ガンランス':
- weapon = 'Gunlance';
- icon = 'img/icons/gl.png';
- break;
- case '穿龍棍':
- weapon = 'Tonfa';
- icon = 'img/icons/tf.png';
- break;
- case 'スラッシュアックスF':
- weapon = 'Switch Axe F';
- icon = 'img/icons/sa.png';
- break;
- case 'マグネットスパイク':
- weapon = 'Magnet Spike';
- icon = 'img/icons/ms.png';
- break;
- case 'ヘビィボウガン':
- weapon = 'Heavy Bowgun';
- icon = 'img/icons/hbg.png';
- break;
- case 'ライトボウガン':
- weapon = 'Light Bowgun';
- icon = 'img/icons/lbg.png';
- break;
- case '弓':
- weapon = 'Bow';
- icon = 'img/icons/bow.png';
- break;
- default:
- weapon = 'Unknown';
- icon = 'img/icons/uk.png';
- }
- let charElem = document.createElement('DIV');
- charElem.setAttribute('href', '#');
- charElem.id = uid;
- charElem.classList.add('unit');
- if (firstChar) {
- firstChar = false;
- selectedUid = uid;
- charElem.classList.add('active');
- }
-
- let elemName = document.createElement('DIV');
- elemName.id = 'char_name';
- elemName.innerHTML = name;
- charElem.appendChild(elemName);
- let elemWeapon = document.createElement('DIV');
- elemWeapon.id = 'char_weapon';
- elemWeapon.innerHTML = weapon;
- charElem.appendChild(elemWeapon);
- let elemHr = document.createElement('DIV');
- elemHr.id = 'char_hr';
- elemHr.innerHTML = 'HR'+hr;
- charElem.appendChild(elemHr);
- let elemGr = document.createElement('DIV');
- elemGr.id = 'char_gr';
- elemGr.innerHTML = 'GR'+gr;
- charElem.appendChild(elemGr);
- let elemSex = document.createElement('DIV');
- elemSex.id = 'char_sex';
- elemSex.innerHTML = sex;
- charElem.appendChild(elemSex);
- let elemUid = document.createElement('DIV');
- elemUid.id = 'char_uid';
- elemUid.innerHTML = 'ID: '+uid;
- charElem.appendChild(elemUid);
- let elemLastLogin = document.createElement('DIV');
- elemLastLogin.id = 'char_login';
- elemLastLogin.innerHTML = 'Last Login: '+dateString;
- charElem.appendChild(elemLastLogin);
-
- let iconElem = document.createElement('IMG');
- iconElem.src = icon;
- charElem.appendChild(iconElem);
- let unitsElem = document.getElementById('units');
- unitsElem.appendChild(charElem);
-}
-
-function switchPrompt() {
- loginScreen = !loginScreen;
- if (loginScreen) {
- document.getElementById('units').innerHTML = '';
- document.getElementById('char_select').style.display = 'none';
- document.getElementById('login').style.display = 'block';
- } else { // Character selector
- document.getElementById('login').style.display = 'none';
- document.getElementById('char_select').style.display = 'block';
- try {
- // Example data for browser testing
- //var charInfo = "";
- var charInfo = window.external.getCharacterInfo();
- charInfo = charInfo.split("'").join('"');
- charInfo = charInfo.split(''').join("'");
- } catch (e) {
- addLog('Error getting character info: '+e, 'error');
- }
- try {
- firstChar = true;
- uids = new Array();
- parser = new DOMParser();
- let xml = parser.parseFromString(charInfo, 'text/xml');
- let numChars = xml.getElementsByTagName('Character').length;
- for (var i = 0; i < numChars; i++) {
- let char = xml.getElementsByTagName('Character')[i].attributes;
- createCharItem(
- char.name.value,
- char.uid.value,
- char.weapon.value,
- char.HR.value,
- char.GR.value,
- char.lastLogin.value,
- char.sex.value
- );
- uids.push(char.uid.value);
- }
- } catch (e) {
- addLog('Error parsing character info XML: '+e, 'error');
- switchPrompt();
- return;
- }
- let uid = localStorage.getItem('uid');
- if (uid != 'null' && uids.indexOf(uid) >= 0) {
- setUidIndex(uids.indexOf(uid));
- }
- }
-}
-
-function doLogin(option) {
- if (loggingIn) {
- return;
- } else {
- loggingIn = true;
- }
- let username = document.getElementById('username').value;
- let password = document.getElementById('password').value;
- if (username == '') {
- addLog('Please enter Erupe ID!', 'error');
- } else if (password == '') {
- addLog('Please enter Password!', 'error');
- } else {
- document.getElementById('processing').style.display = 'block';
- soundPreLogin();
- addLog('Authenticating...', 'normal');
- try {
- if (option) {
- addLog('Creating new character...', 'normal');
- window.external.loginCog(username+'+', password, password);
- } else {
- window.external.loginCog(username, password, 'test');
- }
- } catch (e) {
- addLog('Error on loginCog: '+e, 'error');
- }
- checkAuth();
- }
-}
-
-function checkAuth() {
- let loginResult = window.external.getLastAuthResult();
- if (loginResult == 'AUTH_PROGRESS') {
- setTimeout(checkAuth, 10);
- return;
- } else if (loginResult == 'AUTH_SUCCESS') {
- loggingIn = false;
- saveAccount();
- addLog('Connected.', 'good');
- if (doingAuto) {
- let uid = localStorage.getItem('uid');
- window.external.selectCharacter(uid, uid);
- window.external.exitLauncher();
- } else {
- addLog('After selecting a character, press [Launch]', 'normal');
- switchPrompt();
- }
- } else {
- loggingIn = false;
- addLog('Error logging in: '+loginResult+':'+window.external.getSignResult(), 'error');
- }
- document.getElementById('processing').style.display = 'none';
-}
-
-function checkDelete() {
- let deleteResult = window.external.getLastAuthResult();
- if (deleteResult == 'DEL_PROGRESS') {
- setTimeout(checkDelete, 10);
- return;
- } else if (deleteResult == 'DEL_SUCCESS') {
- doLogin(0);
- switchPrompt();
- toggleModal(0);
- }
-}
-
-function launch() {
- document.getElementById('game_starting').style.display = 'block';
- try {
- window.external.selectCharacter(selectedUid, selectedUid);
- } catch (e) {
- addLog('Error selecting character: '+e, 'error');
- document.getElementById('game_starting').style.display = 'none';
- }
- let allowed = localStorage.getItem('saving');
- if (allowed != 'null' && allowed == 'true') {
- localStorage.setItem('uid', selectedUid);
- let autoBox = document.getElementById('auto_box');
- if (autoBox.checked) {
- localStorage.setItem('autologin', true);
- }
- }
- setTimeout(function () {
- window.external.exitLauncher();
- }, 3000);
-}
-
-function deleteCharacter(id) {
- window.external.deleteCharacter(id);
- checkDelete();
-}
-
-function autoWarning() {
- let autoBox = document.getElementById('auto_box');
- if (autoBox.checked) {
- addLog('Auto-Login is for advanced users, to disable it you will need to clear your IE cache. Uncheck the box now if you are not an advanced user.', 'error');
- }
-}
-
-function charselScrollUp() {
- let index = uids.indexOf(selectedUid) - 1;
- if (index < 0) {
- index = uids.length - 1;
- }
- setUidIndex(index);
-}
-
-function charselScrollDown() {
- let index = uids.indexOf(selectedUid) + 1;
- if (index == uids.length) {
- index = 0;
- }
- setUidIndex(index);
-}
-
-function setUidIndex(index) {
- let units = document.getElementsByClassName('unit');
- let numUnits = units.length;
- for (var i = 0; i < numUnits; i++) {
- units[i].classList.remove('active');
- }
- selectedUid = uids[index];
- document.getElementById(selectedUid).classList.add('active');
-}
-
-function toggleModal(preset, url) {
- let modal = document.getElementById('launcher_modal');
- modalState = !modalState;
- if (modalState) {
- setModalContent(preset, url);
- modal.style.display = 'block';
- } else {
- modal.style.display = 'none';
- }
-}
-
-function setModalContent(preset, url) {
- let modal = document.getElementById('launcher_modal');
- switch (preset) {
- case 'openLink':
- modal.querySelector('.dialog p').innerHTML = ' \
- Are you sure you want to open this URL? \
- \
- '+url+' \
- \
- \
- This will open in a browser \
- ';
- modal.querySelector('.dialog .btns').innerHTML = ' \
-
\
-
\
-
Open
\
-
\
-
\
-
Cancel
\
-
\
-
\
- ';
- break;
- case 'confirmCharDelete':
- modal.querySelector('.dialog p').innerHTML = ' \
- Are you sure you want to delete your character? \
- NAME \
- (ID: 000000) \
- \
- \
- You will not be able to recover this character, \
- it will be gone forever. \
- \
- ';
- modal.querySelector(".dialog .btns").innerHTML = ' \
-
\
-
\
-
Yes
\
-
\
-
\
-
Cancel
\
-
\
-
\
- ';
- break;
- case 'addCharNew':
- modal.querySelector('.dialog p').innerHTML = ' \
- Are you sure you want to add a new character? \
- \
- \
- Press [Add Character] to add a new slot. \
- ';
- modal.querySelector('.dialog .btns').innerHTML = ' \
-
\
-
\
-
Add Character
\
-
\
-
\
-
Cancel
\
-
\
-
\
- ';
- break;
- default:
- return;
- }
-}
-
-function charselAdd() {
- toggleModal('addCharNew');
-}
-
-function charselDel() {
- toggleModal('confirmCharDelete');
-}
-
-function charselLog() {
- addLog('Disconnected.', 'error');
- addLog('Enter Erupe ID and Password, then press [Log In]', 'normal');
- switchPrompt();
-}
-
-function doEval() {
- try {
- addLog(eval(document.getElementById('console').value), 'error');
- } catch (e) {
- addLog('Error on doEval: '+e, 'error');
- }
-}
-
-function init() {
- document.addEventListener('keypress', function(e) {
- switch (e.key) {
- case '~':
- document.getElementById('dev').style.display = 'block';
- break;
- case 'Enter':
- if (loginScreen) {
- doLogin()
- } else {
- soundLogin();launch()
- }
- break;
- case ',':
- if (!loginScreen) {
- soundOk();charselScrollUp()
- }
- break;
- case '.':
- if (!loginScreen) {
- soundOk();charselScrollDown()
- }
- }
- });
- let unselectable = document.getElementsByClassName('unselectable');
- let unselectableLen = unselectable.length;
- for (var i = 0; i < unselectableLen; i++) {
- unselectable[i].setAttribute('unselectable', 'on');
- unselectable[i].addEventListener('selectstart', function(){return false;});
- unselectable[i].addEventListener('mouseover', function(){window.external.beginDrag(false);});
- }
- let grabbable = document.getElementsByClassName('grabbable');
- let grabbableLen = grabbable.length;
- for (var i = 0; i < grabbableLen; i++) {
- grabbable[i].addEventListener('selectstart', function(){window.external.beginDrag(true);});
- grabbable[i].addEventListener('mousedown', function(){window.external.beginDrag(true);});
- grabbable[i].addEventListener('mouseup', function(){window.external.beginDrag(true);});
- }
- document.getElementById('login_save_text').addEventListener('click', function() {
- let checkbox = document.getElementById('login_save');
- checkbox.checked = !checkbox.checked;
- });
- document.getElementById('auto_text').addEventListener('click', function() {
- let checkbox = document.getElementById('auto_box');
- checkbox.checked = !checkbox.checked;
- });
- document.getElementById('username').focus();
- loadAccount();
- addLog('Winsock Ver. [2.2]', 'winsock');
- addLog('Enter Erupe ID and Password, then press [Log In]', 'normal');
-}
-
-init();