mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-03 21:13:49 +01:00
BUGFIX: Infinite loop when migrating player's scripts from pre-v1.0.0 (#1798)
This commit is contained in:
parent
55627d7212
commit
3846c69204
@ -3,7 +3,7 @@ import { PlayerOwnedAugmentation } from "../Augmentation/PlayerOwnedAugmentation
|
|||||||
import { Player } from "@player";
|
import { Player } from "@player";
|
||||||
import { GetAllServers } from "../Server/AllServers";
|
import { GetAllServers } from "../Server/AllServers";
|
||||||
import { resolveTextFilePath } from "../Paths/TextFilePath";
|
import { resolveTextFilePath } from "../Paths/TextFilePath";
|
||||||
import { resolveScriptFilePath } from "../Paths/ScriptFilePath";
|
import { resolveScriptFilePath, type ScriptFilePath } from "../Paths/ScriptFilePath";
|
||||||
|
|
||||||
const detect: [string, string][] = [
|
const detect: [string, string][] = [
|
||||||
["getHackTime", "returns milliseconds"],
|
["getHackTime", "returns milliseconds"],
|
||||||
@ -126,18 +126,29 @@ export function v1APIBreak(): void {
|
|||||||
home.writeToTextFile(textPath, txt);
|
home.writeToTextFile(textPath, txt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const backupFiles = new Map<ScriptFilePath, string>();
|
||||||
for (const server of GetAllServers()) {
|
for (const server of GetAllServers()) {
|
||||||
|
backupFiles.clear();
|
||||||
for (const script of server.scripts.values()) {
|
for (const script of server.scripts.values()) {
|
||||||
if (!hasChanges(script.code)) continue;
|
if (!hasChanges(script.code)) {
|
||||||
// Sanitize first before combining
|
|
||||||
const oldFilename = resolveScriptFilePath(script.filename);
|
|
||||||
const filename = resolveScriptFilePath("BACKUP_" + oldFilename);
|
|
||||||
if (!filename) {
|
|
||||||
console.error(`Unexpected error resolving backup path for ${script.filename}`);
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
server.writeToScriptFile(filename, script.code);
|
// Sanitize first before combining
|
||||||
|
const oldFilename = resolveScriptFilePath(script.filename);
|
||||||
|
if (!oldFilename) {
|
||||||
|
console.error(`Cannot resolve path for ${script.filename}`);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const filename = resolveScriptFilePath("BACKUP_" + oldFilename);
|
||||||
|
if (!filename) {
|
||||||
|
console.error(`Cannot resolve backup path for ${script.filename}`);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
backupFiles.set(filename, script.code);
|
||||||
script.code = convert(script.code);
|
script.code = convert(script.code);
|
||||||
}
|
}
|
||||||
|
for (const [filename, code] of backupFiles.entries()) {
|
||||||
|
server.writeToScriptFile(filename, code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user