NGU Save Analyzer

by Blackcatgame77

JavaScript

let inputFile;
let outputFile;
let direction = "decode";


function decode(file) {
    readFileData: function readFileData(elem, fileId, startOffset, count) {
        var readPromise = getArrayBufferFromFileAsync(elem, fileId);

        return readPromise.then(function (arrayBuffer) {
            var uint8Array = new Uint8Array(arrayBuffer, startOffset, count);
            var base64 = uint8ToBase64(uint8Array);
            return base64;
        });
    }
}

function encode(file) {

}

function start(file) {
    if(direction == "decode") {
        decode(file);
    } 
    else if(direction == "encode") {
        encode(file);
    }
    else throw("Invalid direction");
}





(function () {
    window.BlazorInputFile = {
        init: function init(elem, componentInstance) {
            var nextFileId = 0;

            elem.addEventListener('change', function handleInputFileChange(event) {
                // Reduce to purely serializable data, plus build an index by ID
                elem._blazorFilesById = {};
                var fileList = Array.prototype.map.call(elem.files, function (file) {
                    var result = {
                        id: ++nextFileId,
                        lastModified: new Date(file.lastModified).toISOString(),
                        name: file.name,
                        size: file.size,
                        type: file.type
                    };
                    elem._blazorFilesById[result.id] = result;

                    // Attach the blob data itself as a non-enumerable property so it doesn't appear in the JSON
                    Object.defineProperty(result, 'blob', { value: file });

                    return result;
                });

                componentInstance.invokeMethodAsync('NotifyChange', fileList).then(null, function (err) {
                    throw new Error(err);
                });
            });
        },

       ...