isaacscript 1.1.23 → 1.1.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cspell.json +2 -2
- package/.vscode/settings.json +4 -0
- package/README.md +1 -1
- package/dist/package.json +8 -9
- package/dist/src/checkForWindowsTerminalBugs.js +6 -6
- package/dist/src/commands/copy/copy.js +4 -3
- package/dist/src/commands/copy/copy.js.map +1 -1
- package/dist/src/commands/init/checkIfProjectPathExists.js +2 -2
- package/dist/src/commands/init/checkModTargetDirectory.js +2 -2
- package/dist/src/commands/init/createMod.js +4 -4
- package/dist/src/commands/init/getModsDir.js +6 -6
- package/dist/src/commands/init/getProjectPath.js +3 -3
- package/dist/src/commands/init/installVSCodeExtensions.js +3 -3
- package/dist/src/commands/init/promptSaveSlot.js +2 -2
- package/dist/src/commands/init/promptVSCode.js +2 -2
- package/dist/src/commands/monitor/copyWatcherMod.js +11 -0
- package/dist/src/commands/monitor/copyWatcherMod.js.map +1 -1
- package/dist/src/commands/monitor/getTSConfigInclude.js +4 -4
- package/dist/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +6 -4
- package/dist/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js.map +1 -1
- package/dist/src/commands/monitor/monitor.js +13 -12
- package/dist/src/commands/monitor/monitor.js.map +1 -1
- package/dist/src/commands/monitor/notifyGame.js +2 -2
- package/dist/src/commands/monitor/saveDatWriter/saveDatWriter.js +3 -3
- package/dist/src/commands/monitor/spawnSaveDatWriter.js +3 -3
- package/dist/src/commands/monitor/spawnSaveDatWriter.js.map +1 -1
- package/dist/src/commands/monitor/{touchSaveDatFiles.js → touchWatcherSaveDatFiles.js} +3 -3
- package/dist/src/commands/monitor/touchWatcherSaveDatFiles.js.map +1 -0
- package/dist/src/commands/publish/publish.js +27 -26
- package/dist/src/commands/publish/publish.js.map +1 -1
- package/dist/src/configFile.js +3 -3
- package/dist/src/configFile.js.map +1 -1
- package/dist/src/file.js +11 -11
- package/dist/src/main.js +3 -3
- package/dist/src/main.js.map +1 -1
- package/dist/src/types/Config.js.map +1 -1
- package/dist/src/{misc.js → util.js} +8 -2
- package/dist/src/{misc.js.map → util.js.map} +1 -1
- package/dist/src/validateNodeVersion.js +5 -5
- package/dist/src/validateOS.js +1 -2
- package/dist/src/validateOS.js.map +1 -1
- package/file-templates/dynamic/README.md +1 -1
- package/file-templates/dynamic/package.json +1 -1
- package/isaacscript-watcher/main.lua +17 -12
- package/isaacscript-watcher/resources/gfx/{emoji-eyes.anm2 → logo.anm2} +27 -27
- package/isaacscript-watcher/resources/gfx/logo.png +0 -0
- package/package.json +8 -9
- package/src/checkForWindowsTerminalBugs.ts +1 -1
- package/src/commands/copy/copy.ts +4 -3
- package/src/commands/init/checkIfProjectPathExists.ts +1 -1
- package/src/commands/init/checkModTargetDirectory.ts +1 -1
- package/src/commands/init/createMod.ts +1 -1
- package/src/commands/init/getModsDir.ts +1 -1
- package/src/commands/init/getProjectPath.ts +1 -1
- package/src/commands/init/installVSCodeExtensions.ts +1 -1
- package/src/commands/init/promptSaveSlot.ts +1 -1
- package/src/commands/init/promptVSCode.ts +1 -1
- package/src/commands/monitor/copyWatcherMod.ts +19 -0
- package/src/commands/monitor/getTSConfigInclude.ts +1 -1
- package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.ts +12 -4
- package/src/commands/monitor/monitor.ts +9 -10
- package/src/commands/monitor/notifyGame.ts +1 -1
- package/src/commands/monitor/saveDatWriter/saveDatWriter.ts +1 -1
- package/src/commands/monitor/spawnSaveDatWriter.ts +1 -1
- package/src/commands/monitor/{touchSaveDatFiles.ts → touchWatcherSaveDatFiles.ts} +1 -1
- package/src/commands/publish/publish.ts +8 -3
- package/src/configFile.ts +1 -1
- package/src/file.ts +1 -1
- package/src/main.ts +1 -1
- package/src/types/Config.ts +12 -0
- package/src/{misc.ts → util.ts} +8 -1
- package/src/validateNodeVersion.ts +1 -1
- package/src/validateOS.ts +1 -4
- package/dist/src/commands/monitor/touchSaveDatFiles.js.map +0 -1
- package/isaacscript-watcher/resources/gfx/emoji-eyes.png +0 -0
|
@@ -7,7 +7,7 @@ exports.sendMsgToSaveDatWriter = exports.spawnSaveDatWriter = void 0;
|
|
|
7
7
|
const child_process_1 = require("child_process");
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const constants_1 = require("../../constants");
|
|
10
|
-
const
|
|
10
|
+
const util_1 = require("../../util");
|
|
11
11
|
let saveDatWriter = null;
|
|
12
12
|
function spawnSaveDatWriter(config) {
|
|
13
13
|
const processName = "saveDatWriter";
|
|
@@ -21,10 +21,10 @@ function spawnSaveDatWriter(config) {
|
|
|
21
21
|
stdio: ["pipe", "pipe", "pipe", "ipc"],
|
|
22
22
|
});
|
|
23
23
|
saveDatWriter.on("close", (code) => {
|
|
24
|
-
(0,
|
|
24
|
+
(0, util_1.error)(`Error: ${processDescription} subprocess closed with code: ${code}`);
|
|
25
25
|
});
|
|
26
26
|
saveDatWriter.on("exit", (code) => {
|
|
27
|
-
(0,
|
|
27
|
+
(0, util_1.error)(`Error: ${processDescription} subprocess exited with code: ${code}`);
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
exports.spawnSaveDatWriter = spawnSaveDatWriter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawnSaveDatWriter.js","sourceRoot":"","sources":["../../../../src/commands/monitor/spawnSaveDatWriter.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAmD;AACnD,gDAAwB;AACxB,+CAAmD;
|
|
1
|
+
{"version":3,"file":"spawnSaveDatWriter.js","sourceRoot":"","sources":["../../../../src/commands/monitor/spawnSaveDatWriter.ts"],"names":[],"mappings":";;;;;;AAAA,iDAAmD;AACnD,gDAAwB;AACxB,+CAAmD;AAEnD,qCAAmC;AAGnC,IAAI,aAAa,GAAwB,IAAI,CAAC;AAE9C,SAAgB,kBAAkB,CAAC,MAAc;IAC/C,MAAM,WAAW,GAAG,eAAe,CAAC;IACpC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;IAC7C,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,4BAAgB,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,QAAQ,MAAM,CAAC;IACrD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAEnE,aAAa,GAAG,IAAA,oBAAI,EAAC,WAAW,EAAE,CAAC,WAAW,CAAC,EAAE;QAC/C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;KACvC,CAAC,CAAC;IAEH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,EAAE;QAChD,IAAA,YAAK,EAAC,UAAU,kBAAkB,iCAAiC,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAmB,EAAE,EAAE;QAC/C,IAAA,YAAK,EAAC,UAAU,kBAAkB,iCAAiC,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AApBD,gDAoBC;AAED,SAAgB,sBAAsB,CAAC,GAAmB;IACxD,IAAI,aAAa,KAAK,IAAI,EAAE;QAC1B,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzB;AACH,CAAC;AAJD,wDAIC"}
|
|
@@ -25,7 +25,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
25
25
|
const path_1 = __importDefault(require("path"));
|
|
26
26
|
const constants_1 = require("../../constants");
|
|
27
27
|
const file = __importStar(require("../../file"));
|
|
28
|
-
function
|
|
28
|
+
function touchWatcherSaveDatFiles(config) {
|
|
29
29
|
const modsDataPath = path_1.default.join(config.modsDirectory, "..", "data");
|
|
30
30
|
const watcherModDataPath = path_1.default.join(modsDataPath, constants_1.WATCHER_MOD_NAME);
|
|
31
31
|
if (!file.exists(watcherModDataPath)) {
|
|
@@ -37,5 +37,5 @@ function touchSaveDatFiles(config) {
|
|
|
37
37
|
file.touch(saveDatPath);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
exports.default =
|
|
41
|
-
//# sourceMappingURL=
|
|
40
|
+
exports.default = touchWatcherSaveDatFiles;
|
|
41
|
+
//# sourceMappingURL=touchWatcherSaveDatFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"touchWatcherSaveDatFiles.js","sourceRoot":"","sources":["../../../../src/commands/monitor/touchWatcherSaveDatFiles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,+CAAmD;AACnD,iDAAmC;AAGnC,SAAwB,wBAAwB,CAAC,MAAc;IAC7D,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,4BAAgB,CAAC,CAAC;IACrE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;QACpC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;KAClC;IACD,MAAM,eAAe,GAAG,OAAO,MAAM,CAAC,QAAQ,MAAM,CAAC;IACrD,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IACnE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QAC7B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;KACzB;AACH,CAAC;AAXD,2CAWC"}
|
|
@@ -26,15 +26,16 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
26
26
|
const path_1 = __importDefault(require("path"));
|
|
27
27
|
const constants_1 = require("../../constants");
|
|
28
28
|
const file = __importStar(require("../../file"));
|
|
29
|
-
const misc_1 = require("../../misc");
|
|
30
29
|
const monkeyPatch_1 = require("../../monkeyPatch");
|
|
30
|
+
const util_1 = require("../../util");
|
|
31
31
|
const copy_1 = require("../copy/copy");
|
|
32
32
|
function publish(argv, config) {
|
|
33
33
|
const skip = argv.skip === true;
|
|
34
34
|
const setVersion = argv.setversion;
|
|
35
|
-
const
|
|
35
|
+
const modTargetDirectoryName = (0, util_1.getModTargetDirectoryName)(config);
|
|
36
|
+
const modTargetPath = path_1.default.join(config.modsDirectory, modTargetDirectoryName);
|
|
36
37
|
if (setVersion !== undefined && /^\d+\.\d+\.\d+$/.exec(setVersion) === null) {
|
|
37
|
-
(0,
|
|
38
|
+
(0, util_1.error)(chalk_1.default.red(`The version of "${setVersion}" does not match the semantic versioning format.`));
|
|
38
39
|
}
|
|
39
40
|
startPublish(constants_1.MOD_SOURCE_PATH, modTargetPath, skip, setVersion, config.steamCmdPath);
|
|
40
41
|
}
|
|
@@ -61,7 +62,7 @@ function startPublish(modSourcePath, modTargetPath, skip, setVersion, steamCmdPa
|
|
|
61
62
|
console.log(`\nPublished version ${version} successfully.`);
|
|
62
63
|
}
|
|
63
64
|
function updateDeps() {
|
|
64
|
-
(0,
|
|
65
|
+
(0, util_1.execShell)("npx", [
|
|
65
66
|
"npm-check-updates",
|
|
66
67
|
"--upgrade",
|
|
67
68
|
"--packageFile",
|
|
@@ -71,7 +72,7 @@ function updateDeps() {
|
|
|
71
72
|
}
|
|
72
73
|
function getVersionFromPackageJSON() {
|
|
73
74
|
if (!file.exists(constants_1.PACKAGE_JSON_PATH)) {
|
|
74
|
-
(0,
|
|
75
|
+
(0, util_1.error)(chalk_1.default.red(`A "${constants_1.PACKAGE_JSON_PATH}" was not found in the current directory.`));
|
|
75
76
|
}
|
|
76
77
|
const packageJSONRaw = file.read(constants_1.PACKAGE_JSON_PATH);
|
|
77
78
|
let packageJSON;
|
|
@@ -79,13 +80,13 @@ function getVersionFromPackageJSON() {
|
|
|
79
80
|
packageJSON = JSON.parse(packageJSONRaw);
|
|
80
81
|
}
|
|
81
82
|
catch (err) {
|
|
82
|
-
(0,
|
|
83
|
+
(0, util_1.error)(`Failed to parse "${chalk_1.default.green(constants_1.PACKAGE_JSON_PATH)}":`, err);
|
|
83
84
|
}
|
|
84
85
|
if (!Object.prototype.hasOwnProperty.call(packageJSON, "version")) {
|
|
85
|
-
(0,
|
|
86
|
+
(0, util_1.error)(`The "${chalk_1.default.green(constants_1.PACKAGE_JSON_PATH)}" file does not have a "version" field.`);
|
|
86
87
|
}
|
|
87
88
|
if (typeof packageJSON.version !== "string") {
|
|
88
|
-
(0,
|
|
89
|
+
(0, util_1.error)(`The "${chalk_1.default.green(constants_1.PACKAGE_JSON_PATH)}" file has a "version" field that is not a string.`);
|
|
89
90
|
}
|
|
90
91
|
return packageJSON.version;
|
|
91
92
|
}
|
|
@@ -93,19 +94,19 @@ function bumpVersionInPackageJSON(version) {
|
|
|
93
94
|
// Get the patch version (i.e. the third number)
|
|
94
95
|
const matches = /(\d+\.\d+\.)(\d+)/.exec(version);
|
|
95
96
|
if (matches === null) {
|
|
96
|
-
(0,
|
|
97
|
+
(0, util_1.error)(`Failed to parse the version of: ${version}`);
|
|
97
98
|
}
|
|
98
99
|
const versionPrefix = matches[1];
|
|
99
100
|
if (versionPrefix === undefined) {
|
|
100
|
-
(0,
|
|
101
|
+
(0, util_1.error)(`Failed to parse the first part of the version: ${version}`);
|
|
101
102
|
}
|
|
102
103
|
const patchVersionString = matches[2];
|
|
103
104
|
if (patchVersionString === undefined) {
|
|
104
|
-
(0,
|
|
105
|
+
(0, util_1.error)(`Failed to parse the second part of the version: ${version}`);
|
|
105
106
|
}
|
|
106
|
-
const patchVersion = (0,
|
|
107
|
+
const patchVersion = (0, util_1.parseIntSafe)(patchVersionString);
|
|
107
108
|
if (Number.isNaN(patchVersion)) {
|
|
108
|
-
(0,
|
|
109
|
+
(0, util_1.error)(`Failed to convert "${patchVersionString}" to a number.`);
|
|
109
110
|
}
|
|
110
111
|
const incrementedPatchVersion = patchVersion + 1;
|
|
111
112
|
const incrementedVersion = `${versionPrefix}${incrementedPatchVersion}`;
|
|
@@ -146,30 +147,30 @@ function runReleaseScriptPreCopy() {
|
|
|
146
147
|
return;
|
|
147
148
|
}
|
|
148
149
|
console.log(`Running the "${constants_1.PUBLISH_PRE_COPY_PY_PATH}" script.`);
|
|
149
|
-
(0,
|
|
150
|
+
(0, util_1.execShell)("python", [constants_1.PUBLISH_PRE_COPY_PY_PATH]);
|
|
150
151
|
}
|
|
151
152
|
function runReleaseScriptPostCopy() {
|
|
152
153
|
if (!file.exists(constants_1.PUBLISH_POST_COPY_PY_PATH)) {
|
|
153
154
|
return;
|
|
154
155
|
}
|
|
155
156
|
console.log(`Running the "${constants_1.PUBLISH_POST_COPY_PY_PATH}" script.`);
|
|
156
|
-
(0,
|
|
157
|
+
(0, util_1.execShell)("python", [constants_1.PUBLISH_POST_COPY_PY_PATH]);
|
|
157
158
|
}
|
|
158
159
|
function gitCommitIfChanges(version) {
|
|
159
160
|
// Throw an error if this is not a git repository
|
|
160
|
-
(0,
|
|
161
|
+
(0, util_1.execShell)("git", ["status"]);
|
|
161
162
|
// Check to see if there are any changes
|
|
162
163
|
// https://stackoverflow.com/questions/3878624/how-do-i-programmatically-determine-if-there-are-uncommitted-changes
|
|
163
|
-
const [exitCode] = (0,
|
|
164
|
+
const [exitCode] = (0, util_1.execShell)("git", ["diff-index", "--quiet", "HEAD", "--"], true);
|
|
164
165
|
if (exitCode === 0) {
|
|
165
166
|
// There are no changes
|
|
166
167
|
console.log("There are no changes to commit.");
|
|
167
168
|
return;
|
|
168
169
|
}
|
|
169
170
|
const commitMessage = `v${version}`;
|
|
170
|
-
(0,
|
|
171
|
-
(0,
|
|
172
|
-
(0,
|
|
171
|
+
(0, util_1.execShell)("git", ["add", "-A"]);
|
|
172
|
+
(0, util_1.execShell)("git", ["commit", "-m", commitMessage]);
|
|
173
|
+
(0, util_1.execShell)("git", ["push"]);
|
|
173
174
|
console.log(`Committed and pushed to the git repository with a message of: ${commitMessage}`);
|
|
174
175
|
}
|
|
175
176
|
function purgeRoomXMLs(modTargetPath) {
|
|
@@ -187,30 +188,30 @@ function purgeRoomXMLs(modTargetPath) {
|
|
|
187
188
|
}
|
|
188
189
|
function uploadMod(modTargetPath, steamCmdPath) {
|
|
189
190
|
if (steamCmdPath === undefined) {
|
|
190
|
-
(0,
|
|
191
|
+
(0, util_1.error)(`In order for IsaacScript to automatically upload a mod, it needs to know the path to the "steamcmd.exe" program on your computer. Add a "${chalk_1.default.green("steamCmdPath")}" property to your "${chalk_1.default.green(constants_1.CONFIG_FILE_NAME)}" file and try again.`);
|
|
191
192
|
}
|
|
192
193
|
if (!file.exists(steamCmdPath)) {
|
|
193
|
-
(0,
|
|
194
|
+
(0, util_1.error)(chalk_1.default.red(`The path provided for "steamCmdPath" is "${steamCmdPath}", but that does not exist.`));
|
|
194
195
|
}
|
|
195
196
|
const metadataVDFPath = path_1.default.join(modTargetPath, "metadata.vdf");
|
|
196
197
|
if (!file.exists(metadataVDFPath)) {
|
|
197
198
|
console.error(chalk_1.default.red('A "metadata.vdf" file was not found in your mod directory. You must create this file in order for "steamcmd.exe" to work. Please see the IsaacScript docs:'));
|
|
198
|
-
(0,
|
|
199
|
+
(0, util_1.error)(getIsaacScriptDocs());
|
|
199
200
|
}
|
|
200
201
|
const usernameVar = "STEAM_USERNAME";
|
|
201
202
|
const username = process.env[usernameVar];
|
|
202
203
|
if (username === undefined || username === "") {
|
|
203
204
|
console.error(chalk_1.default.red(`Failed to read the "${usernameVar}" environment variable from the ".env" file. Please see the IsaacScript docs:`));
|
|
204
|
-
(0,
|
|
205
|
+
(0, util_1.error)(getIsaacScriptDocs());
|
|
205
206
|
}
|
|
206
207
|
const passwordVar = "STEAM_PASSWORD";
|
|
207
208
|
const password = process.env[passwordVar];
|
|
208
209
|
if (password === undefined || password === "") {
|
|
209
210
|
console.error(chalk_1.default.red(`Failed to read the "${passwordVar}" environment variable from the ".env" file. Please see the IsaacScript docs:`));
|
|
210
|
-
(0,
|
|
211
|
+
(0, util_1.error)(getIsaacScriptDocs());
|
|
211
212
|
}
|
|
212
213
|
console.log("Uploading the mod to the Steam Workshop...");
|
|
213
|
-
(0,
|
|
214
|
+
(0, util_1.execShell)(steamCmdPath, [
|
|
214
215
|
"+login",
|
|
215
216
|
username,
|
|
216
217
|
password,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/commands/publish/publish.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,+
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/commands/publish/publish.ts"],"names":[],"mappings":"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"}
|
package/dist/src/configFile.js
CHANGED
|
@@ -30,7 +30,7 @@ const getModsDir_1 = __importDefault(require("./commands/init/getModsDir"));
|
|
|
30
30
|
const promptSaveSlot_1 = __importDefault(require("./commands/init/promptSaveSlot"));
|
|
31
31
|
const constants_1 = require("./constants");
|
|
32
32
|
const file = __importStar(require("./file"));
|
|
33
|
-
const
|
|
33
|
+
const util_1 = require("./util");
|
|
34
34
|
async function get(argv) {
|
|
35
35
|
const existingConfig = readExistingConfig();
|
|
36
36
|
if (existingConfig !== null) {
|
|
@@ -54,7 +54,7 @@ function readExistingConfig() {
|
|
|
54
54
|
config = JSONC.parse(configRaw);
|
|
55
55
|
}
|
|
56
56
|
catch (err) {
|
|
57
|
-
(0,
|
|
57
|
+
(0, util_1.error)(`Failed to parse the "${chalk_1.default.green(constants_1.CONFIG_FILE_PATH)}" file:`, err);
|
|
58
58
|
}
|
|
59
59
|
if (config.modsDirectory === undefined) {
|
|
60
60
|
errorMissing("modsDirectory", "This should be equal to the directory where Isaac mods live on your system.");
|
|
@@ -65,7 +65,7 @@ function readExistingConfig() {
|
|
|
65
65
|
return config;
|
|
66
66
|
}
|
|
67
67
|
function errorMissing(field, description) {
|
|
68
|
-
(0,
|
|
68
|
+
(0, util_1.error)(`The "${constants_1.CONFIG_FILE_NAME}" file is missing a "${field}" value. ${description} Please add it.`);
|
|
69
69
|
}
|
|
70
70
|
function createObject(modsDirectory, saveSlot) {
|
|
71
71
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configFile.js","sourceRoot":"","sources":["../../src/configFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,oDAAsC;AACtC,gDAAwB;AACxB,4EAAoD;AACpD,oFAA4D;AAC5D,2CAAsE;AACtE,6CAA+B;
|
|
1
|
+
{"version":3,"file":"configFile.js","sourceRoot":"","sources":["../../src/configFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,oDAAsC;AACtC,gDAAwB;AACxB,4EAAoD;AACpD,oFAA4D;AAC5D,2CAAsE;AACtE,6CAA+B;AAE/B,iCAA+B;AAExB,KAAK,UAAU,GAAG,CAAC,IAA6B;IACrD,MAAM,cAAc,GAAG,kBAAkB,EAAE,CAAC;IAC5C,IAAI,cAAc,KAAK,IAAI,EAAE;QAC3B,OAAO,cAAc,CAAC;KACvB;IAED,gFAAgF;IAChF,MAAM,aAAa,GAAG,MAAM,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,IAAA,wBAAc,EAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACrD,UAAU,CAAC,eAAG,EAAE,MAAM,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC;AAbD,kBAaC;AAED,SAAS,kBAAkB;IACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,4BAAgB,CAAC,EAAE;QAClC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,4BAAgB,CAAC,CAAC;IAC9C,IAAI,MAAc,CAAC;IACnB,IAAI;QACF,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAW,CAAC;KAC3C;IAAC,OAAO,GAAG,EAAE;QACZ,IAAA,YAAK,EAAC,wBAAwB,eAAK,CAAC,KAAK,CAAC,4BAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;KAC5E;IAED,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE;QACtC,YAAY,CACV,eAAe,EACf,6EAA6E,CAC9E,CAAC;KACH;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;QACjC,YAAY,CACV,UAAU,EACV,mEAAmE,CACpE,CAAC;KACH;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,WAAmB;IACtD,IAAA,YAAK,EACH,QAAQ,4BAAgB,wBAAwB,KAAK,YAAY,WAAW,iBAAiB,CAC9F,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,aAAqB,EAAE,QAAgB;IAClE,OAAO;QACL,aAAa;QACb,QAAQ;KACT,CAAC;AACJ,CAAC;AALD,oCAKC;AAED,SAAgB,UAAU,CAAC,WAAmB,EAAE,MAAc;IAC5D,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,4BAAgB,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;AAC7C,CAAC;AAJD,gCAIC"}
|
package/dist/src/file.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.writeTry = exports.write = exports.touch = exports.read = exports.makeDi
|
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const
|
|
10
|
+
const util_1 = require("./util");
|
|
11
11
|
function copy(srcPath, dstPath) {
|
|
12
12
|
try {
|
|
13
13
|
// "copySync()" is a "fs-extra" method for copying directories recursively
|
|
@@ -16,7 +16,7 @@ function copy(srcPath, dstPath) {
|
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
18
|
catch (err) {
|
|
19
|
-
(0,
|
|
19
|
+
(0, util_1.error)(`Failed to copy directory "${chalk_1.default.green(srcPath)}" to "${chalk_1.default.green(dstPath)}":`, err);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
exports.copy = copy;
|
|
@@ -27,7 +27,7 @@ function deleteDir(dirPath) {
|
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
catch (err) {
|
|
30
|
-
(0,
|
|
30
|
+
(0, util_1.error)(`Failed to delete directory "${chalk_1.default.green(dirPath)}":`, err);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
exports.deleteDir = deleteDir;
|
|
@@ -36,7 +36,7 @@ function deleteFile(filePath) {
|
|
|
36
36
|
fs_extra_1.default.rmSync(filePath);
|
|
37
37
|
}
|
|
38
38
|
catch (err) {
|
|
39
|
-
(0,
|
|
39
|
+
(0, util_1.error)(`Failed to delete file "${chalk_1.default.green(filePath)}":`, err);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
exports.deleteFile = deleteFile;
|
|
@@ -46,7 +46,7 @@ function exists(filePath) {
|
|
|
46
46
|
pathExists = fs_extra_1.default.existsSync(filePath);
|
|
47
47
|
}
|
|
48
48
|
catch (err) {
|
|
49
|
-
(0,
|
|
49
|
+
(0, util_1.error)(`Failed to check to see if "${chalk_1.default.green(filePath)}" exists:`, err);
|
|
50
50
|
}
|
|
51
51
|
return pathExists;
|
|
52
52
|
}
|
|
@@ -57,7 +57,7 @@ function getDirList(dirPath) {
|
|
|
57
57
|
fileList = fs_extra_1.default.readdirSync(dirPath);
|
|
58
58
|
}
|
|
59
59
|
catch (err) {
|
|
60
|
-
(0,
|
|
60
|
+
(0, util_1.error)(`Failed to get the files in the "${chalk_1.default.green(dirPath)}" directory:`, err);
|
|
61
61
|
}
|
|
62
62
|
return fileList;
|
|
63
63
|
}
|
|
@@ -68,7 +68,7 @@ function getFileStats(filePath) {
|
|
|
68
68
|
fileStats = fs_extra_1.default.lstatSync(filePath);
|
|
69
69
|
}
|
|
70
70
|
catch (err) {
|
|
71
|
-
(0,
|
|
71
|
+
(0, util_1.error)(`Failed to get the file stats for "${chalk_1.default.green(filePath)}":`, err);
|
|
72
72
|
}
|
|
73
73
|
return fileStats;
|
|
74
74
|
}
|
|
@@ -87,7 +87,7 @@ function makeDir(dirPath) {
|
|
|
87
87
|
fs_extra_1.default.mkdirSync(dirPath);
|
|
88
88
|
}
|
|
89
89
|
catch (err) {
|
|
90
|
-
(0,
|
|
90
|
+
(0, util_1.error)(`Failed to create the "${chalk_1.default.green(dirPath)}" directory:`, err);
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
exports.makeDir = makeDir;
|
|
@@ -97,7 +97,7 @@ function read(filePath) {
|
|
|
97
97
|
fileContents = fs_extra_1.default.readFileSync(filePath, "utf8");
|
|
98
98
|
}
|
|
99
99
|
catch (err) {
|
|
100
|
-
(0,
|
|
100
|
+
(0, util_1.error)(`Failed to read the "${chalk_1.default.green(filePath)}" file:`, err);
|
|
101
101
|
}
|
|
102
102
|
return fileContents;
|
|
103
103
|
}
|
|
@@ -108,7 +108,7 @@ function touch(filePath) {
|
|
|
108
108
|
fs_extra_1.default.closeSync(fileHandle);
|
|
109
109
|
}
|
|
110
110
|
catch (err) {
|
|
111
|
-
(0,
|
|
111
|
+
(0, util_1.error)(`Failed to touch the "${chalk_1.default.green(filePath)}" file:`, err);
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
exports.touch = touch;
|
|
@@ -117,7 +117,7 @@ function write(filePath, data) {
|
|
|
117
117
|
fs_extra_1.default.writeFileSync(filePath, data);
|
|
118
118
|
}
|
|
119
119
|
catch (err) {
|
|
120
|
-
(0,
|
|
120
|
+
(0, util_1.error)(`Failed to write to the "${chalk_1.default.green(filePath)}" file:`, err);
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
exports.write = write;
|
package/dist/src/main.js
CHANGED
|
@@ -37,15 +37,15 @@ const monitor_1 = __importDefault(require("./commands/monitor/monitor"));
|
|
|
37
37
|
const publish_1 = __importDefault(require("./commands/publish/publish"));
|
|
38
38
|
const configFile = __importStar(require("./configFile"));
|
|
39
39
|
const constants_1 = require("./constants");
|
|
40
|
-
const misc_1 = require("./misc");
|
|
41
40
|
const parseArgs_1 = __importDefault(require("./parseArgs"));
|
|
42
41
|
const Command_1 = require("./types/Command");
|
|
43
42
|
const Config_1 = require("./types/Config");
|
|
43
|
+
const util_1 = require("./util");
|
|
44
44
|
const validateInIsaacScriptProject_1 = __importDefault(require("./validateInIsaacScriptProject"));
|
|
45
45
|
const validateNodeVersion_1 = __importDefault(require("./validateNodeVersion"));
|
|
46
46
|
const validateOS_1 = require("./validateOS");
|
|
47
47
|
main().catch((err) => {
|
|
48
|
-
(0,
|
|
48
|
+
(0, util_1.error)("IsaacScript failed:", err);
|
|
49
49
|
});
|
|
50
50
|
async function main() {
|
|
51
51
|
source_map_support_1.default.install();
|
|
@@ -105,7 +105,7 @@ async function handleCommands(argv) {
|
|
|
105
105
|
break;
|
|
106
106
|
}
|
|
107
107
|
default: {
|
|
108
|
-
(0,
|
|
108
|
+
(0, util_1.ensureAllCases)(command);
|
|
109
109
|
break;
|
|
110
110
|
}
|
|
111
111
|
}
|
package/dist/src/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kDAA0B;AAC1B,+CAAiC;AACjC,oDAA4B;AAC5B,gDAAwB;AACxB,4EAAkD;AAClD,sEAA6C;AAC7C,mEAAkC;AAClC,gGAAwE;AACxE,gEAAwC;AACxC,gEAAwC;AACxC,yEAAiD;AACjD,yEAAiD;AACjD,yDAA2C;AAC3C,2CAAkC;AAClC,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/types/Config.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAM;IAAnB;QACE,0EAA0E;QAC1E,kBAAa,GACX,uFAAuF,CAAC;QAE1F,+CAA+C;QAC/C,aAAQ,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/types/Config.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAM;IAAnB;QACE,0EAA0E;QAC1E,kBAAa,GACX,uFAAuF,CAAC;QAE1F,+CAA+C;QAC/C,aAAQ,GAAG,CAAC,CAAC;IAgBf,CAAC;CAAA;AAtBD,wBAsBC"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.snakeKebabToCamel = exports.parseIntSafe = exports.hasWhiteSpace = exports.getTime = exports.execShell = exports.execExe = exports.error = exports.ensureAllCases = void 0;
|
|
6
|
+
exports.snakeKebabToCamel = exports.parseIntSafe = exports.hasWhiteSpace = exports.getTime = exports.getModTargetDirectoryName = exports.execShell = exports.execExe = exports.error = exports.ensureAllCases = void 0;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
const child_process_1 = require("child_process");
|
|
9
9
|
const moment_1 = __importDefault(require("moment"));
|
|
@@ -64,6 +64,12 @@ function execShell(command, args, allowFailure = false, cwd = constants_1.CWD) {
|
|
|
64
64
|
return [exitStatus, stdout];
|
|
65
65
|
}
|
|
66
66
|
exports.execShell = execShell;
|
|
67
|
+
function getModTargetDirectoryName(config) {
|
|
68
|
+
return config.customTargetModDirectoryName === undefined
|
|
69
|
+
? constants_1.CURRENT_DIRECTORY_NAME
|
|
70
|
+
: config.customTargetModDirectoryName;
|
|
71
|
+
}
|
|
72
|
+
exports.getModTargetDirectoryName = getModTargetDirectoryName;
|
|
67
73
|
function getTime() {
|
|
68
74
|
return (0, moment_1.default)().format("h:mm:ss A"); // e.g. "1:23:45 AM"
|
|
69
75
|
}
|
|
@@ -104,4 +110,4 @@ function snakeKebabToCamel(str) {
|
|
|
104
110
|
return str.replace(/([-_][a-z])/g, (group) => group.toUpperCase().replace("-", "").replace("_", ""));
|
|
105
111
|
}
|
|
106
112
|
exports.snakeKebabToCamel = snakeKebabToCamel;
|
|
107
|
-
//# sourceMappingURL=
|
|
113
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const chalk_1 = __importDefault(require("chalk"));
|
|
7
|
-
const
|
|
7
|
+
const util_1 = require("./util");
|
|
8
8
|
const REQUIRED_MAJOR_VERSION = 16;
|
|
9
9
|
// IsaacScript requires Node to be at least v16.0.0
|
|
10
10
|
// (I tested on Node v15.0.0, and ),
|
|
@@ -13,22 +13,22 @@ function validateNodeVersion() {
|
|
|
13
13
|
const { version } = process;
|
|
14
14
|
const match = /^v(\d+)\.(\d+)\.(\d)+$/g.exec(version);
|
|
15
15
|
if (match === null) {
|
|
16
|
-
(0,
|
|
16
|
+
(0, util_1.error)(`Failed to parse your NodeJS version of: ${version}`);
|
|
17
17
|
}
|
|
18
18
|
const majorVersionString = match[1];
|
|
19
19
|
const majorVersion = parseInt(majorVersionString, 10);
|
|
20
20
|
if (Number.isNaN(majorVersion)) {
|
|
21
|
-
(0,
|
|
21
|
+
(0, util_1.error)(`Failed to parse the major version number from: ${majorVersionString}`);
|
|
22
22
|
}
|
|
23
23
|
const minorVersionString = match[2];
|
|
24
24
|
const minorVersion = parseInt(minorVersionString, 10);
|
|
25
25
|
if (Number.isNaN(minorVersion)) {
|
|
26
|
-
(0,
|
|
26
|
+
(0, util_1.error)(`Failed to parse the minor version number from: ${minorVersionString}`);
|
|
27
27
|
}
|
|
28
28
|
const patchVersionString = match[3];
|
|
29
29
|
const patchVersion = parseInt(patchVersionString, 10);
|
|
30
30
|
if (Number.isNaN(patchVersion)) {
|
|
31
|
-
(0,
|
|
31
|
+
(0, util_1.error)(`Failed to parse the patch version number from: ${patchVersionString}`);
|
|
32
32
|
}
|
|
33
33
|
if (majorVersion >= REQUIRED_MAJOR_VERSION) {
|
|
34
34
|
return;
|
package/dist/src/validateOS.js
CHANGED
|
@@ -11,8 +11,7 @@ function validateOS() {
|
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
13
|
console.error(`IsaacScript is only supported on ${chalk_1.default.green("Windows")} and ${chalk_1.default.green("Linux")}.`);
|
|
14
|
-
console.error("If you use another operating system and you want to use IsaacScript,
|
|
15
|
-
console.error("(Since the program is written in TypeScript, porting to a new operating system should be easy, but is untested.)");
|
|
14
|
+
console.error("If you use another operating system and you want to use IsaacScript, make a request in the community Discord server.");
|
|
16
15
|
process.exit(1);
|
|
17
16
|
}
|
|
18
17
|
exports.validateOS = validateOS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateOS.js","sourceRoot":"","sources":["../../src/validateOS.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAE3C,SAAgB,UAAU;IACxB,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC9C,OAAO;KACR;IAED,OAAO,CAAC,KAAK,CACX,oCAAoC,eAAK,CAAC,KAAK,CAC7C,SAAS,CACV,QAAQ,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CACjC,CAAC;IACF,OAAO,CAAC,KAAK,CACX,
|
|
1
|
+
{"version":3,"file":"validateOS.js","sourceRoot":"","sources":["../../src/validateOS.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAE3C,SAAgB,UAAU;IACxB,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC9C,OAAO;KACR;IAED,OAAO,CAAC,KAAK,CACX,oCAAoC,eAAK,CAAC,KAAK,CAC7C,SAAS,CACV,QAAQ,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CACjC,CAAC;IACF,OAAO,CAAC,KAAK,CACX,sHAAsH,CACvH,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAdD,gCAcC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
# MOD_NAME
|
|
2
2
|
|
|
3
|
-
MOD_NAME is a mod for *[Binding of Isaac:
|
|
3
|
+
MOD_NAME is a mod for *[Binding of Isaac: Repentance](https://store.steampowered.com/app/1426300/The_Binding_of_Isaac_Repentance/)*, written in [TypeScript](https://www.typescriptlang.org/) using the [IsaacScript](https://isaacscript.github.io/) framework.
|
|
@@ -6,10 +6,11 @@ local IsaacScriptWatcher = RegisterMod("IsaacScript Watcher", 1)
|
|
|
6
6
|
|
|
7
7
|
-- Constants
|
|
8
8
|
local MOD_NAME = "isaacscript-watcher"
|
|
9
|
+
local RESTART_GAME_ON_RECOMPILATION = true
|
|
9
10
|
local FRAMES_BEFORE_DISCONNECTED = 2 * 60 -- 2 seconds
|
|
10
11
|
local FRAMES_BEFORE_TEXT_FADE = 2 * 60 -- 2 seconds
|
|
11
|
-
local
|
|
12
|
-
-- (
|
|
12
|
+
local SPRITE_BOTTOM_RIGHT_OFFSET = Vector(-35, -60)
|
|
13
|
+
-- (enough so that it does not overlap with a pocket active + 2 pocket items)
|
|
13
14
|
|
|
14
15
|
-- Mod variables
|
|
15
16
|
local saveData = {} -- An array of message objects
|
|
@@ -21,7 +22,7 @@ local game = Game()
|
|
|
21
22
|
local font = Font()
|
|
22
23
|
font:Load("font/pftempestasevencondensed.fnt") -- A vanilla font good for this kind of text
|
|
23
24
|
local connected = false
|
|
24
|
-
local
|
|
25
|
+
local sprite = nil
|
|
25
26
|
|
|
26
27
|
-- On mod initialization, nuke the "save#.dat" folder to get rid of old messages that might be left
|
|
27
28
|
-- there from IsaacScript
|
|
@@ -59,21 +60,21 @@ function IsaacScriptWatcher:RenderSprite()
|
|
|
59
60
|
|
|
60
61
|
-- Set the sprite
|
|
61
62
|
if connected then
|
|
62
|
-
if
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
if sprite == nil then
|
|
64
|
+
sprite = Sprite()
|
|
65
|
+
sprite:Load("gfx/logo.anm2", true)
|
|
66
|
+
sprite:SetFrame("Default", 0)
|
|
66
67
|
end
|
|
67
68
|
else
|
|
68
|
-
if
|
|
69
|
-
|
|
69
|
+
if sprite ~= nil then
|
|
70
|
+
sprite = nil
|
|
70
71
|
end
|
|
71
72
|
end
|
|
72
73
|
|
|
73
74
|
-- Render it
|
|
74
|
-
if
|
|
75
|
-
local position = IsaacScriptWatcher:GetBottomRightCorner() +
|
|
76
|
-
|
|
75
|
+
if sprite ~= nil then
|
|
76
|
+
local position = IsaacScriptWatcher:GetBottomRightCorner() + SPRITE_BOTTOM_RIGHT_OFFSET
|
|
77
|
+
sprite:RenderLayer(0, position)
|
|
77
78
|
end
|
|
78
79
|
end
|
|
79
80
|
|
|
@@ -243,6 +244,10 @@ function IsaacScriptWatcher:CheckInput()
|
|
|
243
244
|
end
|
|
244
245
|
|
|
245
246
|
function IsaacScriptWatcher:CheckRestart()
|
|
247
|
+
if not RESTART_GAME_ON_RECOMPILATION then
|
|
248
|
+
return
|
|
249
|
+
end
|
|
250
|
+
|
|
246
251
|
if restartFrame == 0 or restartFrame < Isaac.GetFrameCount() then
|
|
247
252
|
return
|
|
248
253
|
end
|