reorganize code

This commit is contained in:
ReznoRMichael 2021-08-04 22:56:15 +02:00
parent cdd1cc1cc4
commit 03df9ae9f9
7 changed files with 188 additions and 139 deletions

View file

@ -10,9 +10,7 @@
"use strict"; "use strict";
__webpack_require__.r(__webpack_exports__); __webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "HKCheckCompletion": () => (/* binding */ HKCheckCompletion), /* harmony export */ "HKCheckCompletion": () => (/* binding */ HKCheckCompletion)
/* harmony export */ "benchmarkTimes": () => (/* binding */ benchmarkTimes),
/* harmony export */ "Benchmark": () => (/* binding */ Benchmark)
/* harmony export */ }); /* harmony export */ });
/* harmony import */ var _hk_database_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hk-database.js */ "./src/js/hk-database.js"); /* harmony import */ var _hk_database_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hk-database.js */ "./src/js/hk-database.js");
/* harmony import */ var _page_functions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./page-functions.js */ "./src/js/page-functions.js"); /* harmony import */ var _page_functions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./page-functions.js */ "./src/js/page-functions.js");
@ -63,59 +61,18 @@ var divEnd = ["</div>"].join("\n");
var pSpan = "<span class='p-left-small'></span>"; var pSpan = "<span class='p-left-small'></span>";
/* let benchHKCCBegin, benchHKCCEnd; */ /* let benchHKCCBegin, benchHKCCEnd; */
var benchmarkTimes = {
LoadSaveFile: {
name: "LoadSaveFile()",
timeStart: 0,
timeEnd: 0
},
CheckCompletion: {
name: "HKCheckCompletion()",
timeStart: 0,
timeEnd: 0
},
GenerateInnerHTML: {
name: "GenerateInnerHTML()",
timeStart: 0,
timeEnd: 0
},
HKReadTextArea: {
name: "HKReadTextArea()",
timeStart: 0,
timeEnd: 0
},
Total: {
name: "Total",
timeStart: 0,
timeEnd: 0
}
};
/* -------------------------- Functions ----------------------------- */ /* -------------------------- Functions ----------------------------- */
function Benchmark(bench) {
var result = 0;
for (var time in bench) {
if (bench[time].timeStart !== 0 && bench[time].timeEnd !== 0) {
result = bench[time].timeEnd - bench[time].timeStart;
console.info("".concat(bench[time].name, " time (ms) = %c").concat(result.toFixed(2)), "color: #008cdc; font-weight: 700;");
}
bench[time].timeStart = 0;
bench[time].timeEnd = 0;
}
}
/** /**
* Main Function. Checks Hollow Knight game completion by analyzing the save file * Main Function. Checks Hollow Knight game completion by analyzing the save file
* @param {object} jsonObject Decoded save data in JavaScript Object Notation form (JSON) * @param {object} jsonObject Decoded save data in JavaScript Object Notation form (JSON)
*/ */
function HKCheckCompletion(jsonObject) { function HKCheckCompletion(jsonObject) {
var benchStart = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : performance.now(); var benchStart = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : performance.now();
// start benchmark // start benchmark
// benchHKCCBegin = new Date(); // benchHKCCBegin = new Date();
benchmarkTimes.CheckCompletion.timeStart = benchStart; _page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.CheckCompletion.timeStart = benchStart;
var HKPlayerData; var HKPlayerData;
var HKWorldItems; var HKWorldItems;
var HKSceneData; var HKSceneData;
@ -229,7 +186,7 @@ function HKCheckCompletion(jsonObject) {
// finish and show benchmark // finish and show benchmark
// benchHKCCEnd = new Date(); // benchHKCCEnd = new Date();
benchmarkTimes.CheckCompletion.timeEnd = performance.now(); // console.info("HKCheckCompletion() time (ms) =", benchHKCCEnd - benchHKCCBegin); _page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.CheckCompletion.timeEnd = performance.now(); // console.info("HKCheckCompletion() time (ms) =", benchHKCCEnd - benchHKCCBegin);
// Benchmark(benchmarkTimes); // Benchmark(benchmarkTimes);
return true; return true;
@ -2011,7 +1968,7 @@ function CheckHintsTrue(section, dataObject, playerData, worldData) {
function HKReadTextArea() { function HKReadTextArea() {
var textAreaId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; var textAreaId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
// start benchmark // start benchmark
benchmarkTimes.HKReadTextArea.timeStart = performance.now(); _page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.HKReadTextArea.timeStart = performance.now();
var contents = document.getElementById(textAreaId).value; var contents = document.getElementById(textAreaId).value;
if (contents.length) { if (contents.length) {
@ -2026,8 +1983,8 @@ function HKReadTextArea() {
} // end benchmark and show results } // end benchmark and show results
benchmarkTimes.HKReadTextArea.timeEnd = performance.now(); _page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.HKReadTextArea.timeEnd = performance.now();
var result = benchmarkTimes.HKReadTextArea.timeEnd - benchmarkTimes.HKReadTextArea.timeStart; var result = _page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.HKReadTextArea.timeEnd - _page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.HKReadTextArea.timeStart;
console.info("HKReadTextArea() time (ms) = %c".concat(result.toFixed(2)), "color: #008cdc; font-weight: 700;"); console.info("HKReadTextArea() time (ms) = %c".concat(result.toFixed(2)), "color: #008cdc; font-weight: 700;");
} catch (error) { } catch (error) {
_hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.saveAnalyzed = false; _hk_database_js__WEBPACK_IMPORTED_MODULE_0__.default.saveAnalyzed = false;
@ -2036,7 +1993,7 @@ function HKReadTextArea() {
} }
} else { } else {
/* reset timer */ /* reset timer */
benchmarkTimes.HKReadTextArea.timeStart = 0; _page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.HKReadTextArea.timeStart = 0;
} }
} }
/** /**
@ -2146,6 +2103,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ "LoadSaveFile": () => (/* binding */ LoadSaveFile) /* harmony export */ "LoadSaveFile": () => (/* binding */ LoadSaveFile)
/* harmony export */ }); /* harmony export */ });
/* harmony import */ var _HKCheckCompletion_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HKCheckCompletion.js */ "./src/js/HKCheckCompletion.js"); /* harmony import */ var _HKCheckCompletion_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HKCheckCompletion.js */ "./src/js/HKCheckCompletion.js");
/* harmony import */ var _page_functions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./page-functions.js */ "./src/js/page-functions.js");
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@ -2161,6 +2119,7 @@ var aesjs = __webpack_require__(/*! ./aes-js.js */ "./src/js/aes-js.js"); // For
var CSHARP_HEADER = [0, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 6, 1, 0, 0, 0]; // 22 bytes var CSHARP_HEADER = [0, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 6, 1, 0, 0, 0]; // 22 bytes
var BASE64_ARRAY = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".split("").map(function (c) { var BASE64_ARRAY = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".split("").map(function (c) {
@ -2190,8 +2149,10 @@ function LoadSaveFile(input, time) {
if (inputFileList.length < 1) return false; // start benchmark if (inputFileList.length < 1) return false; // start benchmark
_HKCheckCompletion_js__WEBPACK_IMPORTED_MODULE_0__.benchmarkTimes.LoadSaveFile.timeStart = time; _page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.LoadSaveFile.timeStart = time;
_HKCheckCompletion_js__WEBPACK_IMPORTED_MODULE_0__.benchmarkTimes.Total.timeStart = time; // Prepares a File object from the first file of the input files for reading as an Array Buffer _page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.Total.timeStart = time;
_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.HKReadTextArea.timeStart = 0;
_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.HKReadTextArea.timeEnd = 0; // Prepares a File object from the first file of the input files for reading as an Array Buffer
var inputFileObject = inputFileList[0]; // Cleans the file list to avoid problems after subsequent use var inputFileObject = inputFileList[0]; // Cleans the file list to avoid problems after subsequent use
// document.getElementById("save-area-file").value = ""; // document.getElementById("save-area-file").value = "";
@ -2233,7 +2194,7 @@ function ProcessFileObject() {
/* benchLSFEnd = new Date(); */ /* benchLSFEnd = new Date(); */
_HKCheckCompletion_js__WEBPACK_IMPORTED_MODULE_0__.benchmarkTimes.LoadSaveFile.timeEnd = performance.now(); _page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.LoadSaveFile.timeEnd = performance.now();
/* console.info("LoadSaveFile() time (ms) =", benchLSFEnd - benchLSFBegin); */ /* console.info("LoadSaveFile() time (ms) =", benchLSFEnd - benchLSFBegin); */
// 4. Analyze the decoded string immediately // 4. Analyze the decoded string immediately
@ -2266,8 +2227,8 @@ function ProcessFileObject() {
}))(); // finish total and show benchmark }))(); // finish total and show benchmark
_HKCheckCompletion_js__WEBPACK_IMPORTED_MODULE_0__.benchmarkTimes.Total.timeEnd = performance.now(); _page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes.Total.timeEnd = performance.now();
(0,_HKCheckCompletion_js__WEBPACK_IMPORTED_MODULE_0__.Benchmark)(_HKCheckCompletion_js__WEBPACK_IMPORTED_MODULE_0__.benchmarkTimes); (0,_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.Benchmark)(_page_functions_js__WEBPACK_IMPORTED_MODULE_1__.benchmarkTimes);
/* console.info("Total time (ms) =", benchTotal - benchLSFBegin); */ /* console.info("Total time (ms) =", benchTotal - benchLSFBegin); */
// alert(`Decoded String: ${decodedString}`); // alert(`Decoded String: ${decodedString}`);
// alert(`Array Buffer: ${inputArrayBuffer}`); // alert(`Array Buffer: ${inputArrayBuffer}`);
@ -7017,24 +6978,25 @@ __webpack_require__.r(__webpack_exports__);
/* harmony export */ "AppendHTML": () => (/* binding */ AppendHTML), /* harmony export */ "AppendHTML": () => (/* binding */ AppendHTML),
/* harmony export */ "CheckboxHintsToggle": () => (/* binding */ CheckboxHintsToggle), /* harmony export */ "CheckboxHintsToggle": () => (/* binding */ CheckboxHintsToggle),
/* harmony export */ "CheckboxSpoilersToggle": () => (/* binding */ CheckboxSpoilersToggle), /* harmony export */ "CheckboxSpoilersToggle": () => (/* binding */ CheckboxSpoilersToggle),
/* harmony export */ "StorageAvailable": () => (/* binding */ StorageAvailable) /* harmony export */ "StorageAvailable": () => (/* binding */ StorageAvailable),
/* harmony export */ "Benchmark": () => (/* binding */ Benchmark),
/* harmony export */ "benchmarkTimes": () => (/* binding */ benchmarkTimes)
/* harmony export */ }); /* harmony export */ });
/* harmony import */ var _HKCheckCompletion_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HKCheckCompletion.js */ "./src/js/HKCheckCompletion.js"); /* harmony import */ var _LoadSaveFile_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LoadSaveFile.js */ "./src/js/LoadSaveFile.js");
/* harmony import */ var _LoadSaveFile_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LoadSaveFile.js */ "./src/js/LoadSaveFile.js"); /* harmony import */ var _img_health_mask_png__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../img/health-mask.png */ "./src/img/health-mask.png");
/* harmony import */ var _img_health_mask_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../img/health-mask.png */ "./src/img/health-mask.png"); /* harmony import */ var _img_health_mask_steel_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../img/health-mask-steel.png */ "./src/img/health-mask-steel.png");
/* harmony import */ var _img_health_mask_steel_png__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../img/health-mask-steel.png */ "./src/img/health-mask-steel.png"); /* harmony import */ var _img_soul_orb_png__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../img/soul-orb.png */ "./src/img/soul-orb.png");
/* harmony import */ var _img_soul_orb_png__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../img/soul-orb.png */ "./src/img/soul-orb.png"); /* harmony import */ var _img_notch_png__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../img/notch.png */ "./src/img/notch.png");
/* harmony import */ var _img_notch_png__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../img/notch.png */ "./src/img/notch.png"); /* harmony import */ var _img_notch_filled_png__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../img/notch-filled.png */ "./src/img/notch-filled.png");
/* harmony import */ var _img_notch_filled_png__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../img/notch-filled.png */ "./src/img/notch-filled.png"); /* harmony import */ var _img_notch_overcharmed_png__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../img/notch-overcharmed.png */ "./src/img/notch-overcharmed.png");
/* harmony import */ var _img_notch_overcharmed_png__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../img/notch-overcharmed.png */ "./src/img/notch-overcharmed.png"); /* harmony import */ var _img_geo_png__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../img/geo.png */ "./src/img/geo.png");
/* harmony import */ var _img_geo_png__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../img/geo.png */ "./src/img/geo.png"); /* harmony import */ var _img_geo_shade_png__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../img/geo-shade.png */ "./src/img/geo-shade.png");
/* harmony import */ var _img_geo_shade_png__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../img/geo-shade.png */ "./src/img/geo-shade.png");
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
// ---------------- Load image files (necessary for Webpack) ----------------- // /* ------------------------ Load image files (necessary for Webpack) ---------------------------------------------------------- */
@ -7043,7 +7005,8 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
// ---------------- Constants ----------------- //
/* ------------------------- Constants ---------------------------------------------------------------------------------------- */
// const DATA_UNKNOWN = "Data unknown"; // const DATA_UNKNOWN = "Data unknown";
var SYMBOL_FALSE = "<i class='icon-cancel'></i>"; // "❌ " var SYMBOL_FALSE = "<i class='icon-cancel'></i>"; // "❌ "
@ -7062,8 +7025,51 @@ var FLEUR_DIVIDE = "<div class='horizontal-line'></div>";
var WIKI_LINK = "https://hollowknight.fandom.com/wiki/"; var WIKI_LINK = "https://hollowknight.fandom.com/wiki/";
var ROOT = document.documentElement; var ROOT = document.documentElement;
var SCROLL_BUTTON = document.querySelector(".scroll-up-button"); var SCROLL_BUTTON = document.querySelector(".scroll-up-button");
/* -------------------------- Variables --------------------------------------------------------------------------------------- */
var benchmarkTimes = {
LoadSaveFile: {
name: "LoadSaveFile()",
timeStart: 0,
timeEnd: 0
},
CheckCompletion: {
name: "HKCheckCompletion()",
timeStart: 0,
timeEnd: 0
},
GenerateInnerHTML: {
name: "GenerateInnerHTML()",
timeStart: 0,
timeEnd: 0
},
HKReadTextArea: {
name: "HKReadTextArea()",
timeStart: 0,
timeEnd: 0
},
Total: {
name: "Total",
timeStart: 0,
timeEnd: 0
}
};
/* ######################################################################################### */ /* ######################################################################################### */
function Benchmark(bench) {
var result = 0;
for (var time in bench) {
if (bench[time].timeStart !== 0 && bench[time].timeEnd !== 0) {
result = bench[time].timeEnd - bench[time].timeStart;
console.info("".concat(bench[time].name, " time (ms) = %c").concat(result.toFixed(2)), "color: #008cdc; font-weight: 700;");
}
bench[time].timeStart = 0;
bench[time].timeEnd = 0;
}
}
function ScrollToElement(element) { function ScrollToElement(element) {
/* Scroll to the element top */ /* Scroll to the element top */
element.scrollTo({ element.scrollTo({
@ -7155,7 +7161,7 @@ function CompletionHTML(jsObj, hkGameCompletion) {
function GenerateInnerHTML(db) { function GenerateInnerHTML(db) {
// start benchmarking // start benchmarking
_HKCheckCompletion_js__WEBPACK_IMPORTED_MODULE_0__.benchmarkTimes.GenerateInnerHTML.timeStart = performance.now(); benchmarkTimes.GenerateInnerHTML.timeStart = performance.now();
var sections = db.sections; var sections = db.sections;
/* console.log(sections); */ /* console.log(sections); */
@ -7181,14 +7187,14 @@ function GenerateInnerHTML(db) {
var finalHTMLFill = ""; var finalHTMLFill = "";
var textFill = ""; var textFill = "";
var Img = ""; var Img = "";
var maskNormal = "<img src='".concat(_img_health_mask_png__WEBPACK_IMPORTED_MODULE_2__, "' class='health-mask' alt='health mask image' title='Health Mask'>"); var maskNormal = "<img src='".concat(_img_health_mask_png__WEBPACK_IMPORTED_MODULE_1__, "' class='health-mask' alt='health mask image' title='Health Mask'>");
var maskSteel = "<img src='".concat(_img_health_mask_steel_png__WEBPACK_IMPORTED_MODULE_3__, "' class='health-mask' alt='steel health mask image' title='Steel Health Mask'>"); var maskSteel = "<img src='".concat(_img_health_mask_steel_png__WEBPACK_IMPORTED_MODULE_2__, "' class='health-mask' alt='steel health mask image' title='Steel Health Mask'>");
var soulNormal = "<img src='".concat(_img_soul_orb_png__WEBPACK_IMPORTED_MODULE_4__, "' class='soul-orb' alt='soul orb image' title='Single Soul Orb (one spell cast)'>"); var soulNormal = "<img src='".concat(_img_soul_orb_png__WEBPACK_IMPORTED_MODULE_3__, "' class='soul-orb' alt='soul orb image' title='Single Soul Orb (one spell cast)'>");
var notchNormalImage = "<img src='".concat(_img_notch_png__WEBPACK_IMPORTED_MODULE_5__, "' class='notch' alt='notch image' title='Charm Notch (Free)'>"); var notchNormalImage = "<img src='".concat(_img_notch_png__WEBPACK_IMPORTED_MODULE_4__, "' class='notch' alt='notch image' title='Charm Notch (Free)'>");
var notchFilledImage = "<img src='".concat(_img_notch_filled_png__WEBPACK_IMPORTED_MODULE_6__, "' class='notch' alt='notch image' title='Charm Notch (Used)'>"); var notchFilledImage = "<img src='".concat(_img_notch_filled_png__WEBPACK_IMPORTED_MODULE_5__, "' class='notch' alt='notch image' title='Charm Notch (Used)'>");
var notchOvercharmedImage = "<img src='".concat(_img_notch_overcharmed_png__WEBPACK_IMPORTED_MODULE_7__, "' class='notch' alt='notch image' title='Charm Notch (Overcharmed)'>"); var notchOvercharmedImage = "<img src='".concat(_img_notch_overcharmed_png__WEBPACK_IMPORTED_MODULE_6__, "' class='notch' alt='notch image' title='Charm Notch (Overcharmed)'>");
var geoNormalImage = "<img src='".concat(_img_geo_png__WEBPACK_IMPORTED_MODULE_8__, "' class='geo-symbol' alt='geo symbol image' title='Geo'>"); var geoNormalImage = "<img src='".concat(_img_geo_png__WEBPACK_IMPORTED_MODULE_7__, "' class='geo-symbol' alt='geo symbol image' title='Geo'>");
var geoShadeImage = "<img src='".concat(_img_geo_shade_png__WEBPACK_IMPORTED_MODULE_9__, "' class='geo-symbol' alt='shade geo symbol image' title='Shade Geo'>"); var geoShadeImage = "<img src='".concat(_img_geo_shade_png__WEBPACK_IMPORTED_MODULE_8__, "' class='geo-symbol' alt='shade geo symbol image' title='Shade Geo'>");
var div = "<div class='single-entry'>"; var div = "<div class='single-entry'>";
var divFlex = "<div class='flex-container align-center'>"; var divFlex = "<div class='flex-container align-center'>";
/* ############################## create all main entries ############################## */ /* ############################## create all main entries ############################## */
@ -7553,7 +7559,7 @@ function GenerateInnerHTML(db) {
} // finish benchmarking } // finish benchmarking
_HKCheckCompletion_js__WEBPACK_IMPORTED_MODULE_0__.benchmarkTimes.GenerateInnerHTML.timeEnd = performance.now(); benchmarkTimes.GenerateInnerHTML.timeEnd = performance.now();
} }
function SectionDescription(section) { function SectionDescription(section) {
@ -8010,7 +8016,7 @@ window.addEventListener('drop', function (event) {
var dt = event.dataTransfer; var dt = event.dataTransfer;
/* Launch save file analyzing */ /* Launch save file analyzing */
(0,_LoadSaveFile_js__WEBPACK_IMPORTED_MODULE_1__.LoadSaveFile)(dt, performance.now()); (0,_LoadSaveFile_js__WEBPACK_IMPORTED_MODULE_0__.LoadSaveFile)(dt, performance.now());
var label = document.getElementById("save-area-file").nextElementSibling; var label = document.getElementById("save-area-file").nextElementSibling;
var labelInitialText = label.innerHTML; var labelInitialText = label.innerHTML;
/* Shorten the file name if longer than 16 characters. Display first 10 characters and last 4. */ /* Shorten the file name if longer than 16 characters. Display first 10 characters and last 4. */
@ -27533,6 +27539,19 @@ __webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin // extracted by mini-css-extract-plugin
/***/ }),
/***/ "./src/css/reznoricon.css":
/*!********************************!*\
!*** ./src/css/reznoricon.css ***!
\********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }), /***/ }),
/***/ "./src/css/simpleicon.css": /***/ "./src/css/simpleicon.css":
@ -29593,6 +29612,8 @@ __webpack_require__(/*! ../css/fontello.css */ "./src/css/fontello.css");
__webpack_require__(/*! ../css/simpleicon.css */ "./src/css/simpleicon.css"); __webpack_require__(/*! ../css/simpleicon.css */ "./src/css/simpleicon.css");
__webpack_require__(/*! ../css/reznoricon.css */ "./src/css/reznoricon.css");
__webpack_require__(/*! ../css/style.css */ "./src/css/style.css"); // required for meta tags (social) to be visible by Webpack __webpack_require__(/*! ../css/style.css */ "./src/css/style.css"); // required for meta tags (social) to be visible by Webpack

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -11,7 +11,9 @@ import {
AppendHTML, AppendHTML,
CheckboxHintsToggle, CheckboxHintsToggle,
CheckboxSpoilersToggle, CheckboxSpoilersToggle,
StorageAvailable StorageAvailable,
Benchmark,
benchmarkTimes
} from "./page-functions.js"; } from "./page-functions.js";
import { import {
@ -62,52 +64,8 @@ let pSpan = "<span class='p-left-small'></span>";
/* let benchHKCCBegin, benchHKCCEnd; */ /* let benchHKCCBegin, benchHKCCEnd; */
let benchmarkTimes = {
LoadSaveFile: {
name: "LoadSaveFile()",
timeStart: 0,
timeEnd: 0
},
CheckCompletion: {
name: "HKCheckCompletion()",
timeStart: 0,
timeEnd: 0
},
GenerateInnerHTML: {
name: "GenerateInnerHTML()",
timeStart: 0,
timeEnd: 0
},
HKReadTextArea: {
name: "HKReadTextArea()",
timeStart: 0,
timeEnd: 0
},
Total: {
name: "Total",
timeStart: 0,
timeEnd: 0
}
};
/* -------------------------- Functions ----------------------------- */ /* -------------------------- Functions ----------------------------- */
function Benchmark(bench) {
let result = 0;
for (let time in bench) {
if (bench[time].timeStart !== 0 && bench[time].timeEnd !== 0) {
result = bench[time].timeEnd - bench[time].timeStart;
console.info(`${bench[time].name} time (ms) = %c${result.toFixed(2)}`, `color: #008cdc; font-weight: 700;`);
}
bench[time].timeStart = 0;
bench[time].timeEnd = 0;
}
}
/** /**
* Main Function. Checks Hollow Knight game completion by analyzing the save file * Main Function. Checks Hollow Knight game completion by analyzing the save file
* @param {object} jsonObject Decoded save data in JavaScript Object Notation form (JSON) * @param {object} jsonObject Decoded save data in JavaScript Object Notation form (JSON)
@ -2297,7 +2255,5 @@ document.getElementById("save-area-read").addEventListener("click", () => {
export { export {
// to use in LoadSaveFile.js for auto-analyzing file after decoding // to use in LoadSaveFile.js for auto-analyzing file after decoding
HKCheckCompletion, HKCheckCompletion
benchmarkTimes,
Benchmark
}; };

View file

@ -10,11 +10,14 @@
const aesjs = require("./aes-js.js"); const aesjs = require("./aes-js.js");
// For reading the text area after save decoding // For reading the text area after save decoding
import { import {
HKCheckCompletion, HKCheckCompletion
benchmarkTimes,
Benchmark
} from "./HKCheckCompletion.js"; } from "./HKCheckCompletion.js";
import {
Benchmark,
benchmarkTimes
} from "./page-functions.js";
const CSHARP_HEADER = [0, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 6, 1, 0, 0, 0]; // 22 bytes const CSHARP_HEADER = [0, 1, 0, 0, 0, 255, 255, 255, 255, 1, 0, 0, 0, 0, 0, 0, 0, 6, 1, 0, 0, 0]; // 22 bytes
const BASE64_ARRAY = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".split("").map(c => c.charCodeAt(0)); const BASE64_ARRAY = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".split("").map(c => c.charCodeAt(0));
@ -45,6 +48,8 @@ function LoadSaveFile(input, time) {
// start benchmark // start benchmark
benchmarkTimes.LoadSaveFile.timeStart = time; benchmarkTimes.LoadSaveFile.timeStart = time;
benchmarkTimes.Total.timeStart = time; benchmarkTimes.Total.timeStart = time;
benchmarkTimes.HKReadTextArea.timeStart = 0;
benchmarkTimes.HKReadTextArea.timeEnd = 0;
// Prepares a File object from the first file of the input files for reading as an Array Buffer // Prepares a File object from the first file of the input files for reading as an Array Buffer
let inputFileObject = inputFileList[0]; let inputFileObject = inputFileList[0];

View file

@ -1,12 +1,8 @@
import {
benchmarkTimes
} from "./HKCheckCompletion.js";
import { import {
LoadSaveFile LoadSaveFile
} from "./LoadSaveFile.js"; } from "./LoadSaveFile.js";
// ---------------- Load image files (necessary for Webpack) ----------------- // /* ------------------------ Load image files (necessary for Webpack) ---------------------------------------------------------- */
import HEALTH_MASK_IMAGE from "../img/health-mask.png"; import HEALTH_MASK_IMAGE from "../img/health-mask.png";
import HEALTH_MASK_STEEL_IMAGE from "../img/health-mask-steel.png"; import HEALTH_MASK_STEEL_IMAGE from "../img/health-mask-steel.png";
@ -17,7 +13,7 @@ import NOTCH_OVERCHARMED_IMAGE from "../img/notch-overcharmed.png";
import GEO_IMAGE from "../img/geo.png"; import GEO_IMAGE from "../img/geo.png";
import GEO_SHADE_IMAGE from "../img/geo-shade.png"; import GEO_SHADE_IMAGE from "../img/geo-shade.png";
// ---------------- Constants ----------------- // /* ------------------------- Constants ---------------------------------------------------------------------------------------- */
// const DATA_UNKNOWN = "Data unknown"; // const DATA_UNKNOWN = "Data unknown";
const SYMBOL_FALSE = "<i class='icon-cancel'></i>"; // "❌ " const SYMBOL_FALSE = "<i class='icon-cancel'></i>"; // "❌ "
@ -33,9 +29,54 @@ const WIKI_LINK = "https://hollowknight.fandom.com/wiki/";
const ROOT = document.documentElement; const ROOT = document.documentElement;
const SCROLL_BUTTON = document.querySelector(".scroll-up-button"); const SCROLL_BUTTON = document.querySelector(".scroll-up-button");
/* -------------------------- Variables --------------------------------------------------------------------------------------- */
let benchmarkTimes = {
LoadSaveFile: {
name: "LoadSaveFile()",
timeStart: 0,
timeEnd: 0
},
CheckCompletion: {
name: "HKCheckCompletion()",
timeStart: 0,
timeEnd: 0
},
GenerateInnerHTML: {
name: "GenerateInnerHTML()",
timeStart: 0,
timeEnd: 0
},
HKReadTextArea: {
name: "HKReadTextArea()",
timeStart: 0,
timeEnd: 0
},
Total: {
name: "Total",
timeStart: 0,
timeEnd: 0
}
};
/* ######################################################################################### */ /* ######################################################################################### */
function Benchmark(bench) {
let result = 0;
for (let time in bench) {
if (bench[time].timeStart !== 0 && bench[time].timeEnd !== 0) {
result = bench[time].timeEnd - bench[time].timeStart;
console.info(`${bench[time].name} time (ms) = %c${result.toFixed(2)}`, `color: #008cdc; font-weight: 700;`);
}
bench[time].timeStart = 0;
bench[time].timeEnd = 0;
}
}
function ScrollToElement(element) { function ScrollToElement(element) {
@ -1149,5 +1190,7 @@ export {
AppendHTML, AppendHTML,
CheckboxHintsToggle, CheckboxHintsToggle,
CheckboxSpoilersToggle, CheckboxSpoilersToggle,
StorageAvailable StorageAvailable,
Benchmark,
benchmarkTimes
}; };