Upload via GUI (143 Dateien)
This commit is contained in:
+20
-5
@@ -173,16 +173,31 @@ function scan(inputPath) {
|
||||
return { ok: true, rootDir, count: list.length, instances: list };
|
||||
}
|
||||
|
||||
function kopierNamen(sourceDir, usesDefaultGameDir) {
|
||||
return fs.readdirSync(sourceDir).filter((name) => {
|
||||
if (/^launcher_profiles.*\.json$/i.test(name)) return false;
|
||||
if (name === 'versions' || name === 'libraries' || name === 'assets' || name === 'runtime' || name === 'webcache2') return false;
|
||||
return !(usesDefaultGameDir && !shouldCopyRootEntry(name));
|
||||
});
|
||||
}
|
||||
|
||||
function copyInto(sourceDir, targetDir, usesDefaultGameDir) {
|
||||
fs.mkdirSync(targetDir, { recursive: true });
|
||||
for (const name of fs.readdirSync(sourceDir)) {
|
||||
if (/^launcher_profiles.*\.json$/i.test(name)) continue;
|
||||
if (name === 'versions' || name === 'libraries' || name === 'assets' || name === 'runtime' || name === 'webcache2') continue;
|
||||
if (usesDefaultGameDir && !shouldCopyRootEntry(name)) continue;
|
||||
for (const name of kopierNamen(sourceDir, usesDefaultGameDir)) {
|
||||
fs.cpSync(path.join(sourceDir, name), path.join(targetDir, name), { recursive: true });
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Was beim Übernehmen kopiert wird: [{ von, name }] – `name` ist der Zielname
|
||||
* im Spielordner der neuen Instanz. Das Kopieren selbst erledigt kopieren.js
|
||||
* asynchron mit Fortschritt (main.js → fuehreImportAus).
|
||||
*/
|
||||
function kopierQuellen(entry) {
|
||||
if (!entry.gameDir || !fs.existsSync(entry.gameDir)) return [];
|
||||
return kopierNamen(entry.gameDir, !!entry.usesDefaultGameDir).map((name) => ({ von: path.join(entry.gameDir, name), name }));
|
||||
}
|
||||
|
||||
function importOne(store, entry, copyData = true) {
|
||||
const created = store.createOrReplaceImportedInstance({
|
||||
name: entry.name,
|
||||
@@ -214,4 +229,4 @@ function importOne(store, entry, copyData = true) {
|
||||
return { id: created.id, name: created.name, copied };
|
||||
}
|
||||
|
||||
module.exports = { scan, importOne, parseLastVersionId, resolveLauncherRoot };
|
||||
module.exports = { scan, importOne, kopierQuellen, parseLastVersionId, resolveLauncherRoot };
|
||||
Reference in New Issue
Block a user