isaacscript 3.16.0 → 3.16.1-dev.0
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/dist/checkForWindowsTerminalBugs.js +57 -0
- package/{src → dist}/classes/Config.js +1 -6
- package/dist/classes/ValidatedConfig.js +1 -0
- package/{src → dist}/commands/check/check.js +60 -68
- package/dist/commands/check/check.test.js +86 -0
- package/dist/commands/copy/copy.js +29 -0
- package/dist/commands/init/checkIfProjectPathExists.js +21 -0
- package/dist/commands/init/checkModSubdirectory.js +9 -0
- package/dist/commands/init/checkModTargetDirectory.js +24 -0
- package/dist/commands/init/createProject.js +199 -0
- package/dist/commands/init/getAuthorName.js +22 -0
- package/dist/commands/init/getModsDir.js +48 -0
- package/dist/commands/init/getProjectPath.js +84 -0
- package/dist/commands/init/init.js +73 -0
- package/dist/commands/init/installVSCodeExtensions.js +27 -0
- package/dist/commands/init/promptSaveSlot.js +17 -0
- package/{src → dist}/commands/init/promptVSCode.js +5 -10
- package/dist/commands/monitor/copyWatcherMod.js +31 -0
- package/dist/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +44 -0
- package/dist/commands/monitor/monitor.js +154 -0
- package/{src → dist}/commands/monitor/notifyGame.js +14 -22
- package/{src → dist}/commands/monitor/saveDatWriter/saveDatWriter.js +24 -27
- package/dist/commands/monitor/saveDatWriter/types.js +1 -0
- package/dist/commands/monitor/spawnModDirectorySyncer.js +31 -0
- package/dist/commands/monitor/spawnSaveDatWriter.js +29 -0
- package/dist/commands/monitor/spawnTSTLWatcher.js +74 -0
- package/dist/commands/monitor/touchWatcherSaveDatFiles.js +15 -0
- package/dist/commands/publish/isaacscriptMod.js +90 -0
- package/dist/commands/publish/prePublish.js +105 -0
- package/dist/commands/publish/publish.js +39 -0
- package/dist/commands/publish/validate.js +46 -0
- package/dist/common.js +65 -0
- package/dist/configFile.js +54 -0
- package/dist/constants.js +61 -0
- package/dist/customStage.js +298 -0
- package/dist/dev.js +10 -0
- package/{src/enums → dist/enums/copied}/DoorSlot.js +5 -6
- package/dist/enums/copied/DoorSlotFlag.js +35 -0
- package/{src/enums → dist/enums/copied}/RoomShape.js +5 -6
- package/{src → dist}/exec.js +19 -28
- package/dist/git.js +133 -0
- package/dist/interfaces/GitHubCLIHostsYAML.js +1 -0
- package/dist/interfaces/IsaacScriptTSConfig.js +1 -0
- package/dist/interfaces/ShadersXML.js +1 -0
- package/dist/interfaces/copied/CustomStageTSConfig.js +4 -0
- package/dist/interfaces/copied/JSONRoomsFile.js +4 -0
- package/dist/main.js +132 -0
- package/dist/objects/copied/doorSlotToDoorSlotFlag.js +16 -0
- package/dist/objects/copied/roomShapeToDoorSlotCoordinates.js +112 -0
- package/dist/packageManager.js +68 -0
- package/{src → dist}/parseArgs.js +36 -15
- package/dist/prompt.js +79 -0
- package/dist/tsconfig.js +98 -0
- package/dist/types/Command.js +4 -0
- package/dist/utils.js +8 -0
- package/dist/validateInIsaacScriptProject.js +29 -0
- package/dist/validateNodeVersion.js +20 -0
- package/file-templates/dynamic/.github/workflows/setup/action.yml +21 -0
- package/file-templates/dynamic/README.mod.md +4 -3
- package/file-templates/dynamic/_gitignore +0 -2
- package/file-templates/dynamic/package.mod.json +8 -0
- package/file-templates/dynamic/package.ts.json +5 -1
- package/file-templates/{dynamic → static}/.github/workflows/ci.yml +10 -38
- package/file-templates/static/scripts/tsconfig.json +28 -0
- package/file-templates/static-mod/.vscode/settings.json +1 -1
- package/file-templates/static-mod/{_cspell.json → _cspell.jsonc} +2 -2
- package/file-templates/static-mod/_eslintrc.cjs +1 -1
- package/file-templates/static-mod/prettier.config.mjs +6 -1
- package/file-templates/static-mod/scripts/lint.ts +36 -0
- package/file-templates/static-mod/tsconfig.json +5 -5
- package/file-templates/static-ts/.vscode/settings.json +1 -1
- package/file-templates/static-ts/{_cspell.json → _cspell.jsonc} +5 -5
- package/file-templates/static-ts/_eslintrc.cjs +1 -1
- package/file-templates/static-ts/knip.jsonc +6 -0
- package/file-templates/static-ts/prettier.config.mjs +6 -1
- package/file-templates/static-ts/scripts/lint.ts +30 -0
- package/file-templates/static-ts/tsconfig.json +3 -3
- package/package.json +27 -9
- package/plugins/addCrashDebugStatements.cjs +56 -0
- package/plugins/addCrashDebugStatements.ts +39 -0
- package/{src/plugins/addIsaacScriptCommentHeader.js → plugins/addIsaacScriptCommentHeader.cjs} +1 -1
- package/plugins/addIsaacScriptCommentHeader.ts +42 -0
- package/{src/plugins/addIsaacScriptCommentHeaderCommon.js → plugins/addIsaacScriptCommentHeaderCommon.cjs} +6 -4
- package/plugins/addIsaacScriptCommentHeaderCommon.ts +59 -0
- package/{src/plugins/noExtendedEnums.js → plugins/noExtendedEnums.cjs} +25 -4
- package/plugins/noExtendedEnums.ts +83 -0
- package/plugins/tsconfig.json +28 -0
- package/schemas/tsconfig-isaacscript-section-schema.json +1 -0
- package/file-templates/static/nuke.sh +0 -53
- package/file-templates/static/update.sh +0 -26
- package/file-templates/static-mod/build.sh +0 -22
- package/file-templates/static-mod/lint.sh +0 -43
- package/file-templates/static-mod/publish.sh +0 -10
- package/file-templates/static-mod/run.sh +0 -10
- package/file-templates/static-ts/build.sh +0 -53
- package/file-templates/static-ts/lint.sh +0 -35
- package/file-templates/static-ts/publish.sh +0 -10
- package/file-templates/static-ts/run.sh +0 -42
- package/src/checkForWindowsTerminalBugs.js +0 -71
- package/src/checkForWindowsTerminalBugs.js.map +0 -1
- package/src/classes/Config.js.map +0 -1
- package/src/classes/ValidatedConfig.js +0 -3
- package/src/classes/ValidatedConfig.js.map +0 -1
- package/src/commands/check/check.js.map +0 -1
- package/src/commands/check/check.test.js +0 -87
- package/src/commands/check/check.test.js.map +0 -1
- package/src/commands/copy/copy.js +0 -38
- package/src/commands/copy/copy.js.map +0 -1
- package/src/commands/init/checkIfProjectPathExists.js +0 -28
- package/src/commands/init/checkIfProjectPathExists.js.map +0 -1
- package/src/commands/init/checkModSubdirectory.js +0 -16
- package/src/commands/init/checkModSubdirectory.js.map +0 -1
- package/src/commands/init/checkModTargetDirectory.js +0 -31
- package/src/commands/init/checkModTargetDirectory.js.map +0 -1
- package/src/commands/init/createProject.js +0 -220
- package/src/commands/init/createProject.js.map +0 -1
- package/src/commands/init/getAuthorName.js +0 -27
- package/src/commands/init/getAuthorName.js.map +0 -1
- package/src/commands/init/getModsDir.js +0 -58
- package/src/commands/init/getModsDir.js.map +0 -1
- package/src/commands/init/getProjectPath.js +0 -89
- package/src/commands/init/getProjectPath.js.map +0 -1
- package/src/commands/init/init.js +0 -78
- package/src/commands/init/init.js.map +0 -1
- package/src/commands/init/installVSCodeExtensions.js +0 -35
- package/src/commands/init/installVSCodeExtensions.js.map +0 -1
- package/src/commands/init/promptSaveSlot.js +0 -22
- package/src/commands/init/promptSaveSlot.js.map +0 -1
- package/src/commands/init/promptVSCode.js.map +0 -1
- package/src/commands/monitor/copyWatcherMod.js +0 -39
- package/src/commands/monitor/copyWatcherMod.js.map +0 -1
- package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js +0 -47
- package/src/commands/monitor/modDirectorySyncer/modDirectorySyncer.js.map +0 -1
- package/src/commands/monitor/monitor.js +0 -263
- package/src/commands/monitor/monitor.js.map +0 -1
- package/src/commands/monitor/notifyGame.js.map +0 -1
- package/src/commands/monitor/saveDatWriter/saveDatWriter.js.map +0 -1
- package/src/commands/monitor/saveDatWriter/types.js +0 -3
- package/src/commands/monitor/saveDatWriter/types.js.map +0 -1
- package/src/commands/monitor/spawnSaveDatWriter.js +0 -35
- package/src/commands/monitor/spawnSaveDatWriter.js.map +0 -1
- package/src/commands/monitor/touchWatcherSaveDatFiles.js +0 -21
- package/src/commands/monitor/touchWatcherSaveDatFiles.js.map +0 -1
- package/src/commands/publish/isaacscriptMod.js +0 -97
- package/src/commands/publish/isaacscriptMod.js.map +0 -1
- package/src/commands/publish/prePublish.js +0 -120
- package/src/commands/publish/prePublish.js.map +0 -1
- package/src/commands/publish/publish.js +0 -42
- package/src/commands/publish/publish.js.map +0 -1
- package/src/commands/publish/validate.js +0 -58
- package/src/commands/publish/validate.js.map +0 -1
- package/src/common.js +0 -69
- package/src/common.js.map +0 -1
- package/src/configFile.js +0 -64
- package/src/configFile.js.map +0 -1
- package/src/constants.js +0 -67
- package/src/constants.js.map +0 -1
- package/src/customStage.js +0 -304
- package/src/customStage.js.map +0 -1
- package/src/dev.js +0 -19
- package/src/dev.js.map +0 -1
- package/src/enums/DoorSlot.js.map +0 -1
- package/src/enums/DoorSlotFlag.js +0 -37
- package/src/enums/DoorSlotFlag.js.map +0 -1
- package/src/enums/PackageManager.js +0 -10
- package/src/enums/PackageManager.js.map +0 -1
- package/src/enums/RoomShape.js.map +0 -1
- package/src/exec.js.map +0 -1
- package/src/file.js +0 -247
- package/src/file.js.map +0 -1
- package/src/git.js +0 -154
- package/src/git.js.map +0 -1
- package/src/interfaces/GitHubCLIHostsYAML.js +0 -3
- package/src/interfaces/GitHubCLIHostsYAML.js.map +0 -1
- package/src/interfaces/IsaacScriptTSConfig.js +0 -3
- package/src/interfaces/IsaacScriptTSConfig.js.map +0 -1
- package/src/interfaces/ShadersXML.js +0 -3
- package/src/interfaces/ShadersXML.js.map +0 -1
- package/src/interfaces/copied/CustomStageTSConfig.js +0 -4
- package/src/interfaces/copied/CustomStageTSConfig.js.map +0 -1
- package/src/interfaces/copied/JSONRoomsFile.js +0 -4
- package/src/interfaces/copied/JSONRoomsFile.js.map +0 -1
- package/src/isaacScriptCommonTS.js +0 -233
- package/src/isaacScriptCommonTS.js.map +0 -1
- package/src/json.js +0 -42
- package/src/json.js.map +0 -1
- package/src/main.js +0 -127
- package/src/main.js.map +0 -1
- package/src/objects/doorSlotToDoorSlotFlag.js +0 -17
- package/src/objects/doorSlotToDoorSlotFlag.js.map +0 -1
- package/src/objects/roomShapeDoorToSlotCoordinates.js +0 -115
- package/src/objects/roomShapeDoorToSlotCoordinates.js.map +0 -1
- package/src/packageManager.js +0 -153
- package/src/packageManager.js.map +0 -1
- package/src/parseArgs.js.map +0 -1
- package/src/plugins/addCrashDebugStatements.js +0 -32
- package/src/plugins/addCrashDebugStatements.js.map +0 -1
- package/src/plugins/addIsaacScriptCommentHeader.js.map +0 -1
- package/src/plugins/addIsaacScriptCommentHeaderCommon.js.map +0 -1
- package/src/plugins/noExtendedEnums.js.map +0 -1
- package/src/prompt.js +0 -87
- package/src/prompt.js.map +0 -1
- package/src/tsconfig.js +0 -103
- package/src/tsconfig.js.map +0 -1
- package/src/types/Command.js +0 -9
- package/src/types/Command.js.map +0 -1
- package/src/utils.js +0 -15
- package/src/utils.js.map +0 -1
- package/src/validateInIsaacScriptProject.js +0 -36
- package/src/validateInIsaacScriptProject.js.map +0 -1
- package/src/validateNodeVersion.js +0 -29
- package/src/validateNodeVersion.js.map +0 -1
- package/src/version.js +0 -20
- package/src/version.js.map +0 -1
package/src/customStage.js
DELETED
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.prepareCustomStages = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
-
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
7
|
-
const tstl = tslib_1.__importStar(require("typescript-to-lua"));
|
|
8
|
-
const xml2js_1 = tslib_1.__importDefault(require("xml2js"));
|
|
9
|
-
const common_js_1 = require("./common.js");
|
|
10
|
-
const constants_js_1 = require("./constants.js");
|
|
11
|
-
const exec_js_1 = require("./exec.js");
|
|
12
|
-
const file_js_1 = require("./file.js");
|
|
13
|
-
const isaacScriptCommonTS_js_1 = require("./isaacScriptCommonTS.js");
|
|
14
|
-
const packageManager_js_1 = require("./packageManager.js");
|
|
15
|
-
const tsconfig_js_1 = require("./tsconfig.js");
|
|
16
|
-
const ISAACSCRIPT_COMMON = "isaacscript-common";
|
|
17
|
-
const ISAACSCRIPT_COMMON_PATH = node_path_1.default.join(constants_js_1.CWD, "node_modules", ISAACSCRIPT_COMMON, "dist", "src");
|
|
18
|
-
const METADATA_LUA_PATH = node_path_1.default.join(ISAACSCRIPT_COMMON_PATH, "customStageMetadata.lua");
|
|
19
|
-
const ROOM_VARIANT_MULTIPLIER = 10000;
|
|
20
|
-
const VARIANT_REGEX = / variant="(?<variant>\d+)"/;
|
|
21
|
-
const WEIGHT_REGEX = / weight=".+?"/;
|
|
22
|
-
const EMPTY_SHADER_NAME = "IsaacScript-RenderAboveHUD";
|
|
23
|
-
async function prepareCustomStages(packageManager, verbose) {
|
|
24
|
-
const customStagesTSConfig = (0, tsconfig_js_1.getCustomStagesFromTSConfig)(verbose);
|
|
25
|
-
if (customStagesTSConfig.length === 0) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
validateCustomStagePaths(customStagesTSConfig, verbose);
|
|
29
|
-
copyCustomStageFilesToProject(verbose);
|
|
30
|
-
await insertEmptyShader(verbose);
|
|
31
|
-
await fillCustomStageMetadata(customStagesTSConfig, packageManager, verbose);
|
|
32
|
-
combineCustomStageXMLs(customStagesTSConfig, verbose);
|
|
33
|
-
}
|
|
34
|
-
exports.prepareCustomStages = prepareCustomStages;
|
|
35
|
-
/**
|
|
36
|
-
* Before we proceed with compiling the mod, ensure that all of the file paths that the end-user put
|
|
37
|
-
* in their "tsconfig.json" file map to actual files on the file system.
|
|
38
|
-
*/
|
|
39
|
-
function validateCustomStagePaths(customStagesTSConfig, verbose) {
|
|
40
|
-
for (const customStageTSConfig of customStagesTSConfig) {
|
|
41
|
-
if (customStageTSConfig.backdropPNGPaths !== undefined) {
|
|
42
|
-
for (const filePaths of Object.values(customStageTSConfig.backdropPNGPaths)) {
|
|
43
|
-
for (const filePath of filePaths) {
|
|
44
|
-
checkFile(filePath, verbose);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
for (const filePath of [
|
|
49
|
-
customStageTSConfig.decorationsPNGPath,
|
|
50
|
-
customStageTSConfig.decorationsANM2Path,
|
|
51
|
-
customStageTSConfig.rocksPNGPath,
|
|
52
|
-
customStageTSConfig.rocksANM2Path,
|
|
53
|
-
customStageTSConfig.pitsPNGPath,
|
|
54
|
-
customStageTSConfig.pitsANM2Path,
|
|
55
|
-
]) {
|
|
56
|
-
checkFile(filePath, verbose);
|
|
57
|
-
}
|
|
58
|
-
if (customStageTSConfig.doorPNGPaths !== undefined) {
|
|
59
|
-
for (const filePath of Object.values(customStageTSConfig.doorPNGPaths)) {
|
|
60
|
-
checkFile(filePath, verbose);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
if (customStageTSConfig.shadows !== undefined) {
|
|
64
|
-
for (const stageShadows of Object.values(customStageTSConfig.shadows)) {
|
|
65
|
-
for (const stageShadow of stageShadows) {
|
|
66
|
-
checkFile(stageShadow.pngPath, verbose);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (customStageTSConfig.bossPool !== undefined) {
|
|
71
|
-
for (const bossPoolEntry of Object.values(customStageTSConfig.bossPool)) {
|
|
72
|
-
if (bossPoolEntry.versusScreen !== undefined) {
|
|
73
|
-
checkFile(bossPoolEntry.versusScreen.namePNGPath, verbose);
|
|
74
|
-
checkFile(bossPoolEntry.versusScreen.portraitPNGPath, verbose);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
function checkFile(filePath, verbose) {
|
|
81
|
-
if (filePath === undefined) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
if (!filePath.includes("gfx/")) {
|
|
85
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to validate the "${filePath}" file: all PNG file paths must be inside of a "gfx" directory. (e.g. "./mod/resources/gfx/backdrop/foo/nfloor.png")`);
|
|
86
|
-
}
|
|
87
|
-
if (!(0, file_js_1.fileExists)(filePath, verbose)) {
|
|
88
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to find the "${filePath}" file. Check your "tsconfig.json" file and then restart IsaacScript.`);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/** The custom stages feature needs some anm2 files in order to work properly. */
|
|
92
|
-
function copyCustomStageFilesToProject(verbose) {
|
|
93
|
-
const dstDirPath = node_path_1.default.join(constants_js_1.CWD, "mod", "resources", "gfx", "isaacscript-custom-stage");
|
|
94
|
-
(0, file_js_1.makeDir)(dstDirPath, verbose);
|
|
95
|
-
for (const fileName of (0, file_js_1.getDirList)(constants_js_1.CUSTOM_STAGE_FILES_DIR, verbose)) {
|
|
96
|
-
const srcPath = node_path_1.default.join(constants_js_1.CUSTOM_STAGE_FILES_DIR, fileName);
|
|
97
|
-
const dstPath = node_path_1.default.join(dstDirPath, fileName);
|
|
98
|
-
(0, file_js_1.copyFile)(srcPath, dstPath, verbose);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* The custom stage feature requires an empty shader to be present in order to render sprites on top
|
|
103
|
-
* of the HUD.
|
|
104
|
-
*/
|
|
105
|
-
async function insertEmptyShader(verbose) {
|
|
106
|
-
const shadersXMLDstPath = node_path_1.default.join(constants_js_1.CWD, "mod", "content", "shaders.xml");
|
|
107
|
-
if (!(0, file_js_1.fileExists)(shadersXMLDstPath, verbose)) {
|
|
108
|
-
(0, file_js_1.copyFile)(constants_js_1.SHADERS_XML_PATH, shadersXMLDstPath, verbose);
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
// The end-user mod might have their own custom shaders, so we need to merge our empty shader
|
|
112
|
-
// inside the existing "shaders.xml" file.
|
|
113
|
-
const shadersXMLDstContents = (0, file_js_1.readFile)(shadersXMLDstPath, verbose);
|
|
114
|
-
const shadersXMLDst = (await xml2js_1.default.parseStringPromise(shadersXMLDstContents));
|
|
115
|
-
const hasIsaacScriptEmptyShader = shadersXMLDst.shaders.shader.some((shader) => shader.$.name === EMPTY_SHADER_NAME);
|
|
116
|
-
if (hasIsaacScriptEmptyShader) {
|
|
117
|
-
// Our empty shader already exists, so we don't have to do anything.
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
const shadersXMLSrcContents = (0, file_js_1.readFile)(constants_js_1.SHADERS_XML_PATH, verbose);
|
|
121
|
-
const shadersXMLSrc = (await xml2js_1.default.parseStringPromise(shadersXMLSrcContents));
|
|
122
|
-
const isaacScriptEmptyShader = shadersXMLSrc.shaders.shader.find((shader) => shader.$.name === EMPTY_SHADER_NAME);
|
|
123
|
-
if (isaacScriptEmptyShader === undefined) {
|
|
124
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to find the empty shader named "${EMPTY_SHADER_NAME}" in the following file: ${constants_js_1.SHADERS_XML_PATH}`);
|
|
125
|
-
}
|
|
126
|
-
// Add the empty shader to the mod's existing "shaders.xml" file.
|
|
127
|
-
shadersXMLDst.shaders.shader.push(isaacScriptEmptyShader);
|
|
128
|
-
const xmlBuilder = new xml2js_1.default.Builder();
|
|
129
|
-
const newXML = xmlBuilder.buildObject(shadersXMLDst);
|
|
130
|
-
(0, file_js_1.writeFile)(shadersXMLDstPath, newXML, verbose);
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* In order for the custom stage feature to work properly, Lua code will need to know the list of
|
|
134
|
-
* possible rooms corresponding to a custom stage. In an end-user mod, this is a Lua file located at
|
|
135
|
-
* `METADATA_LUA_PATH`. By default, the file is blank, and must be filled in by tooling before
|
|
136
|
-
* compiling the mod.
|
|
137
|
-
*/
|
|
138
|
-
async function fillCustomStageMetadata(customStagesTSConfig, packageManager, verbose) {
|
|
139
|
-
validateMetadataLuaFileExists(packageManager, verbose);
|
|
140
|
-
const customStages = await getCustomStagesWithMetadata(customStagesTSConfig, verbose);
|
|
141
|
-
const customStagesLua = convertCustomStagesToLua(customStages);
|
|
142
|
-
(0, file_js_1.writeFile)(METADATA_LUA_PATH, customStagesLua, verbose);
|
|
143
|
-
console.log(`Wrote custom stage metadata to: ${METADATA_LUA_PATH}`);
|
|
144
|
-
}
|
|
145
|
-
function validateMetadataLuaFileExists(packageManager, verbose) {
|
|
146
|
-
if (!(0, file_js_1.isDir)(ISAACSCRIPT_COMMON_PATH, verbose)) {
|
|
147
|
-
const addCommand = (0, packageManager_js_1.getPackageManagerAddCommand)(packageManager, ISAACSCRIPT_COMMON);
|
|
148
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`${chalk_1.default.red(`The custom stages feature requires a dependency of "${ISAACSCRIPT_COMMON}" in the "package.json" file. You can add it with the following command:`)} ${chalk_1.default.green(addCommand)}`);
|
|
149
|
-
}
|
|
150
|
-
if (!(0, file_js_1.fileExists)(METADATA_LUA_PATH, verbose)) {
|
|
151
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`${chalk_1.default.red("Failed to find the custom stage metadata file at:")} ${chalk_1.default.green(METADATA_LUA_PATH)}`);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* This parses all of the end-user's XML files and gathers metadata about all of the rooms within.
|
|
156
|
-
* (In other words, this creates the full set of `CustomStageLua` objects.)
|
|
157
|
-
*/
|
|
158
|
-
async function getCustomStagesWithMetadata(customStagesTSConfig, verbose) {
|
|
159
|
-
if (!(0, file_js_1.fileExists)(METADATA_LUA_PATH, verbose)) {
|
|
160
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`${chalk_1.default.red("Failed to find the custom stage metadata file at:")} ${chalk_1.default.green(METADATA_LUA_PATH)}`);
|
|
161
|
-
}
|
|
162
|
-
const customStagesLua = [];
|
|
163
|
-
for (const customStageTSConfig of customStagesTSConfig) {
|
|
164
|
-
// Some manual input validation was already performed in the `getCustomStagesFromTSConfig`
|
|
165
|
-
// function.
|
|
166
|
-
const { name } = customStageTSConfig;
|
|
167
|
-
const { xmlPath } = customStageTSConfig;
|
|
168
|
-
const resolvedXMLPath = node_path_1.default.resolve(constants_js_1.CWD, xmlPath);
|
|
169
|
-
if (!(0, file_js_1.fileExists)(resolvedXMLPath, verbose)) {
|
|
170
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`${chalk_1.default.red("Failed to find the custom stage XML file at:")} ${chalk_1.default.green(resolvedXMLPath)}`);
|
|
171
|
-
}
|
|
172
|
-
const xmlContents = (0, file_js_1.readFile)(resolvedXMLPath, verbose);
|
|
173
|
-
// eslint-disable-next-line no-await-in-loop, @typescript-eslint/no-unsafe-assignment
|
|
174
|
-
const jsonRoomsFileAny = await xml2js_1.default.parseStringPromise(xmlContents);
|
|
175
|
-
const jsonRoomsFile = jsonRoomsFileAny;
|
|
176
|
-
const roomVariantSet = new Set();
|
|
177
|
-
const customStageRoomsMetadata = [];
|
|
178
|
-
for (const room of jsonRoomsFile.rooms.room) {
|
|
179
|
-
const typeString = room.$.type;
|
|
180
|
-
const type = (0, isaacScriptCommonTS_js_1.parseIntSafe)(typeString);
|
|
181
|
-
if (type === undefined) {
|
|
182
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to parse the type of one of the "${name}" custom stage rooms: ${typeString}`);
|
|
183
|
-
}
|
|
184
|
-
const variantString = room.$.variant;
|
|
185
|
-
const baseVariant = (0, isaacScriptCommonTS_js_1.parseIntSafe)(variantString);
|
|
186
|
-
if (baseVariant === undefined) {
|
|
187
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to parse the variant of one of the "${name}" custom stage rooms: ${variantString}`);
|
|
188
|
-
}
|
|
189
|
-
if (roomVariantSet.has(baseVariant)) {
|
|
190
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(chalk_1.default.red(`There is more than one room with a variant of "${baseVariant}" in the "${resolvedXMLPath}" file. Make sure that each room has a unique variant. (The room variant is also called the "ID" in Basement Renovator.)`));
|
|
191
|
-
}
|
|
192
|
-
roomVariantSet.add(baseVariant);
|
|
193
|
-
const roomVariantPrefix = customStageTSConfig.roomVariantPrefix * ROOM_VARIANT_MULTIPLIER;
|
|
194
|
-
const variant = roomVariantPrefix + baseVariant;
|
|
195
|
-
const subTypeString = room.$.subtype;
|
|
196
|
-
const subType = (0, isaacScriptCommonTS_js_1.parseIntSafe)(subTypeString);
|
|
197
|
-
if (subType === undefined) {
|
|
198
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to parse the sub-type of one of the "${name}" custom stage rooms: ${subTypeString}`);
|
|
199
|
-
}
|
|
200
|
-
const shapeString = room.$.shape;
|
|
201
|
-
const shape = (0, isaacScriptCommonTS_js_1.parseIntSafe)(shapeString);
|
|
202
|
-
if (shape === undefined) {
|
|
203
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to parse the shape of one of the "${name}" custom stage rooms: ${shapeString}`);
|
|
204
|
-
}
|
|
205
|
-
const doorSlotFlags = (0, common_js_1.getJSONRoomDoorSlotFlags)(room);
|
|
206
|
-
const weightString = room.$.weight;
|
|
207
|
-
const weight = (0, isaacScriptCommonTS_js_1.parseFloatSafe)(weightString);
|
|
208
|
-
if (weight === undefined) {
|
|
209
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to parse the weight of one of the "${name}" custom stage rooms: ${weightString}`);
|
|
210
|
-
}
|
|
211
|
-
const customStageRoomMetadata = {
|
|
212
|
-
type,
|
|
213
|
-
variant,
|
|
214
|
-
subType,
|
|
215
|
-
shape,
|
|
216
|
-
doorSlotFlags,
|
|
217
|
-
weight,
|
|
218
|
-
};
|
|
219
|
-
customStageRoomsMetadata.push(customStageRoomMetadata);
|
|
220
|
-
}
|
|
221
|
-
const customStageLua = {
|
|
222
|
-
...customStageTSConfig,
|
|
223
|
-
roomsMetadata: customStageRoomsMetadata,
|
|
224
|
-
};
|
|
225
|
-
customStagesLua.push(customStageLua);
|
|
226
|
-
}
|
|
227
|
-
return customStagesLua;
|
|
228
|
-
}
|
|
229
|
-
function convertCustomStagesToLua(customStages) {
|
|
230
|
-
const customStagesString = JSON.stringify(customStages);
|
|
231
|
-
const fakeTypeScriptFile = `return ${customStagesString}`;
|
|
232
|
-
const result = tstl.transpileString(fakeTypeScriptFile, {
|
|
233
|
-
noHeader: true,
|
|
234
|
-
});
|
|
235
|
-
if (result.file === undefined || result.file.lua === undefined) {
|
|
236
|
-
(0, isaacScriptCommonTS_js_1.fatalError)("Failed to convert the JSON metadata for the custom stages to a Lua file.");
|
|
237
|
-
}
|
|
238
|
-
return result.file.lua;
|
|
239
|
-
}
|
|
240
|
-
/** We combine all of the custom stages together and add them to "00.special rooms.xml". */
|
|
241
|
-
function combineCustomStageXMLs(customStagesTSConfig, verbose) {
|
|
242
|
-
let allRooms = "";
|
|
243
|
-
for (const customStageTSConfig of customStagesTSConfig) {
|
|
244
|
-
const xmlPath = node_path_1.default.resolve(constants_js_1.CWD, customStageTSConfig.xmlPath);
|
|
245
|
-
if (!(0, file_js_1.fileExists)(xmlPath, verbose)) {
|
|
246
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`${chalk_1.default.red("Failed to find the custom stage XML file at:")} ${chalk_1.default.green(xmlPath)}`);
|
|
247
|
-
}
|
|
248
|
-
const xmlContents = (0, file_js_1.readFile)(xmlPath, verbose);
|
|
249
|
-
// It is easier to work with the XML files as text rather than converting it to JSON and then
|
|
250
|
-
// converting it back to XML.
|
|
251
|
-
const lines = xmlContents.trim().split("\n");
|
|
252
|
-
// Remove the first line of "<?xml version="1.0" ?>".
|
|
253
|
-
lines.shift();
|
|
254
|
-
// Remove the second line of "<rooms>".
|
|
255
|
-
lines.shift();
|
|
256
|
-
// Remove the last line of "</rooms>".
|
|
257
|
-
lines.pop();
|
|
258
|
-
// Change the variants
|
|
259
|
-
for (let i = 0; i < lines.length; i++) {
|
|
260
|
-
const line = lines[i];
|
|
261
|
-
if (line === undefined) {
|
|
262
|
-
continue;
|
|
263
|
-
}
|
|
264
|
-
if (!line.includes("<room")) {
|
|
265
|
-
continue;
|
|
266
|
-
}
|
|
267
|
-
const match = line.match(VARIANT_REGEX);
|
|
268
|
-
if (match === null || match.groups === undefined) {
|
|
269
|
-
continue;
|
|
270
|
-
}
|
|
271
|
-
const baseVariantString = match.groups["variant"];
|
|
272
|
-
if (baseVariantString === undefined) {
|
|
273
|
-
continue;
|
|
274
|
-
}
|
|
275
|
-
const baseVariant = (0, isaacScriptCommonTS_js_1.parseIntSafe)(baseVariantString);
|
|
276
|
-
if (baseVariant === undefined) {
|
|
277
|
-
(0, isaacScriptCommonTS_js_1.fatalError)(`Failed to parse the variant of one of the custom stage rooms: ${baseVariantString}`);
|
|
278
|
-
}
|
|
279
|
-
const roomVariantPrefix = customStageTSConfig.roomVariantPrefix * ROOM_VARIANT_MULTIPLIER;
|
|
280
|
-
const variant = roomVariantPrefix + baseVariant;
|
|
281
|
-
const newLine = line
|
|
282
|
-
.replace(VARIANT_REGEX, ` variant="${variant}"`)
|
|
283
|
-
.replace(WEIGHT_REGEX, ' weight="0.0"');
|
|
284
|
-
lines[i] = newLine;
|
|
285
|
-
}
|
|
286
|
-
const modifiedRooms = lines.join("\n");
|
|
287
|
-
allRooms += modifiedRooms;
|
|
288
|
-
}
|
|
289
|
-
const combinedXMLFile = `
|
|
290
|
-
<?xml version="1.0" ?>
|
|
291
|
-
<rooms>
|
|
292
|
-
${allRooms}
|
|
293
|
-
</rooms>
|
|
294
|
-
`.trim();
|
|
295
|
-
const contentRoomsDir = node_path_1.default.join(constants_js_1.MOD_SOURCE_PATH, "content", "rooms");
|
|
296
|
-
if (!(0, file_js_1.fileExists)(contentRoomsDir, verbose)) {
|
|
297
|
-
(0, file_js_1.makeDir)(contentRoomsDir, verbose);
|
|
298
|
-
}
|
|
299
|
-
const specialRoomsXMLPath = node_path_1.default.join(contentRoomsDir, "00.special rooms.xml");
|
|
300
|
-
(0, file_js_1.writeFile)(specialRoomsXMLPath, combinedXMLFile, verbose);
|
|
301
|
-
// Convert the XML file to an STB file, which is the format actually read by the game.
|
|
302
|
-
(0, exec_js_1.execExe)(constants_js_1.XML_CONVERTER_PATH, [specialRoomsXMLPath], verbose, contentRoomsDir);
|
|
303
|
-
}
|
|
304
|
-
//# sourceMappingURL=customStage.js.map
|
package/src/customStage.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"customStage.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/customStage.ts"],"names":[],"mappings":"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"}
|
package/src/dev.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getAndValidateIsaacScriptMonorepoDirectory = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
6
|
-
const file_js_1 = require("./file.js");
|
|
7
|
-
const isaacScriptCommonTS_js_1 = require("./isaacScriptCommonTS.js");
|
|
8
|
-
function getAndValidateIsaacScriptMonorepoDirectory(projectPath, verbose) {
|
|
9
|
-
const parentDirectory = node_path_1.default.join(projectPath, "..");
|
|
10
|
-
const isaacScriptMonorepoDirectory = node_path_1.default.join(parentDirectory, "isaacscript");
|
|
11
|
-
if (!(0, file_js_1.fileExists)(isaacScriptMonorepoDirectory, verbose) ||
|
|
12
|
-
!(0, file_js_1.isDir)(isaacScriptMonorepoDirectory, verbose)) {
|
|
13
|
-
console.error(`Failed to find the IsaacScript repository at: ${isaacScriptMonorepoDirectory}`);
|
|
14
|
-
(0, isaacScriptCommonTS_js_1.fatalError)("In order to link a development version of IsaacScript common, you must place the repositories side by side. (If you do not already have the IsaacScript repository cloned, then you need to fork the repo and then clone your fork.)");
|
|
15
|
-
}
|
|
16
|
-
return isaacScriptMonorepoDirectory;
|
|
17
|
-
}
|
|
18
|
-
exports.getAndValidateIsaacScriptMonorepoDirectory = getAndValidateIsaacScriptMonorepoDirectory;
|
|
19
|
-
//# sourceMappingURL=dev.js.map
|
package/src/dev.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/dev.ts"],"names":[],"mappings":";;;;AAAA,kEAA6B;AAC7B,uCAA8C;AAC9C,qEAAsD;AAEtD,SAAgB,0CAA0C,CACxD,WAAmB,EACnB,OAAgB;IAEhB,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,4BAA4B,GAAG,mBAAI,CAAC,IAAI,CAC5C,eAAe,EACf,aAAa,CACd,CAAC;IACF,IACE,CAAC,IAAA,oBAAU,EAAC,4BAA4B,EAAE,OAAO,CAAC;QAClD,CAAC,IAAA,eAAK,EAAC,4BAA4B,EAAE,OAAO,CAAC,EAC7C;QACA,OAAO,CAAC,KAAK,CACX,iDAAiD,4BAA4B,EAAE,CAChF,CAAC;QACF,IAAA,mCAAU,EACR,sOAAsO,CACvO,CAAC;KACH;IAED,OAAO,4BAA4B,CAAC;AACtC,CAAC;AAtBD,gGAsBC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DoorSlot.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/enums/DoorSlot.ts"],"names":[],"mappings":";;;AAAA,IAAY,QA0BX;AA1BD,WAAY,QAAQ;IAClB,wDAAiB,CAAA;IAEjB,2FAA2F;IAC3F,2CAAU,CAAA;IAEV,wFAAwF;IACxF,uCAAQ,CAAA;IAER,6FAA6F;IAC7F,6CAAW,CAAA;IAEX,8FAA8F;IAC9F,2CAAU,CAAA;IAEV,2DAA2D;IAC3D,2CAAU,CAAA;IAEV,yDAAyD;IACzD,uCAAQ,CAAA;IAER,4DAA4D;IAC5D,6CAAW,CAAA;IAEX,4DAA4D;IAC5D,2CAAU,CAAA;AACZ,CAAC,EA1BW,QAAQ,wBAAR,QAAQ,QA0BnB"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* eslint-disable no-bitwise */
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.DoorSlotFlagZero = exports.DoorSlotFlag = void 0;
|
|
5
|
-
const DoorSlot_js_1 = require("./DoorSlot.js");
|
|
6
|
-
/**
|
|
7
|
-
* For `GridEntityType.DOOR` (16).
|
|
8
|
-
*
|
|
9
|
-
* Corresponds to `DoorSlotFlag`.
|
|
10
|
-
*
|
|
11
|
-
* This is represented as an object instead of an enum due to limitations with TypeScript enums. (We
|
|
12
|
-
* want this type to be a child of the `BitFlag` type.)
|
|
13
|
-
*
|
|
14
|
-
* @enum
|
|
15
|
-
* @notExported
|
|
16
|
-
*/
|
|
17
|
-
const DoorSlotFlagInternal = {
|
|
18
|
-
/** 1 << 0 */
|
|
19
|
-
LEFT_0: 1 << DoorSlot_js_1.DoorSlot.LEFT_0,
|
|
20
|
-
/** 1 << 1 */
|
|
21
|
-
UP_0: 1 << DoorSlot_js_1.DoorSlot.UP_0,
|
|
22
|
-
/** 1 << 2 */
|
|
23
|
-
RIGHT_0: 1 << DoorSlot_js_1.DoorSlot.RIGHT_0,
|
|
24
|
-
/** 1 << 3 */
|
|
25
|
-
DOWN_0: 1 << DoorSlot_js_1.DoorSlot.DOWN_0,
|
|
26
|
-
/** 1 << 4 */
|
|
27
|
-
LEFT_1: 1 << DoorSlot_js_1.DoorSlot.LEFT_1,
|
|
28
|
-
/** 1 << 5 */
|
|
29
|
-
UP_1: 1 << DoorSlot_js_1.DoorSlot.UP_1,
|
|
30
|
-
/** 1 << 6 */
|
|
31
|
-
RIGHT_1: 1 << DoorSlot_js_1.DoorSlot.RIGHT_1,
|
|
32
|
-
/** 1 << 7 */
|
|
33
|
-
DOWN_1: 1 << DoorSlot_js_1.DoorSlot.DOWN_1,
|
|
34
|
-
};
|
|
35
|
-
exports.DoorSlotFlag = DoorSlotFlagInternal;
|
|
36
|
-
exports.DoorSlotFlagZero = 0;
|
|
37
|
-
//# sourceMappingURL=DoorSlotFlag.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DoorSlotFlag.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/enums/DoorSlotFlag.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;AAE/B,+CAAyC;AAOzC;;;;;;;;;;GAUG;AACH,MAAM,oBAAoB,GAAG;IAC3B,aAAa;IACb,MAAM,EAAE,CAAC,IAAI,sBAAQ,CAAC,MAAM;IAE5B,aAAa;IACb,IAAI,EAAE,CAAC,IAAI,sBAAQ,CAAC,IAAI;IAExB,aAAa;IACb,OAAO,EAAE,CAAC,IAAI,sBAAQ,CAAC,OAAO;IAE9B,aAAa;IACb,MAAM,EAAE,CAAC,IAAI,sBAAQ,CAAC,MAAM;IAE5B,aAAa;IACb,MAAM,EAAE,CAAC,IAAI,sBAAQ,CAAC,MAAM;IAE5B,aAAa;IACb,IAAI,EAAE,CAAC,IAAI,sBAAQ,CAAC,IAAI;IAExB,aAAa;IACb,OAAO,EAAE,CAAC,IAAI,sBAAQ,CAAC,OAAO;IAE9B,aAAa;IACb,MAAM,EAAE,CAAC,IAAI,sBAAQ,CAAC,MAAM;CACpB,CAAC;AASE,QAAA,YAAY,GAAG,oBAAwC,CAAC;AAGxD,QAAA,gBAAgB,GAAG,CAA2B,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PackageManager = void 0;
|
|
4
|
-
var PackageManager;
|
|
5
|
-
(function (PackageManager) {
|
|
6
|
-
PackageManager["npm"] = "npm";
|
|
7
|
-
PackageManager["yarn"] = "yarn";
|
|
8
|
-
PackageManager["pnpm"] = "pnpm";
|
|
9
|
-
})(PackageManager || (exports.PackageManager = PackageManager = {}));
|
|
10
|
-
//# sourceMappingURL=PackageManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PackageManager.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/enums/PackageManager.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,+BAAa,CAAA;AACf,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RoomShape.js","sourceRoot":"","sources":["../../../../../packages/isaacscript-cli/src/enums/RoomShape.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAoDX;AApDD,WAAY,SAAS;IACnB;;;;OAIG;IACH,mDAAa,CAAA;IAEb,6BAA6B;IAC7B,qCAAM,CAAA;IAEN,2BAA2B;IAC3B,qCAAM,CAAA;IAEN;;;;OAIG;IACH,mDAAa,CAAA;IAEb,2BAA2B;IAC3B,uCAAO,CAAA;IAEP;;;;OAIG;IACH,mDAAa,CAAA;IAEb,6BAA6B;IAC7B,uCAAO,CAAA;IAEP;;;;OAIG;IACH,mDAAa,CAAA;IAEb,+DAA+D;IAC/D,uCAAO,CAAA;IAEP,iEAAiE;IACjE,wCAAQ,CAAA;IAER,kEAAkE;IAClE,wCAAQ,CAAA;IAER,mEAAmE;IACnE,wCAAQ,CAAA;AACV,CAAC,EApDW,SAAS,yBAAT,SAAS,QAoDpB"}
|
package/src/exec.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/exec.ts"],"names":[],"mappings":"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"}
|