ticbuild 1.0.11 → 1.0.13
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/README.md +323 -5
- package/dist/backend/importUtils.d.ts +1 -0
- package/dist/backend/importUtils.d.ts.map +1 -1
- package/dist/backend/importUtils.js +4 -0
- package/dist/backend/importUtils.js.map +1 -1
- package/dist/backend/importers/LuaCodeImporter.d.ts +4 -1
- package/dist/backend/importers/LuaCodeImporter.d.ts.map +1 -1
- package/dist/backend/importers/LuaCodeImporter.js +6 -3
- package/dist/backend/importers/LuaCodeImporter.js.map +1 -1
- package/dist/backend/luaPreprocessor.d.ts +11 -0
- package/dist/backend/luaPreprocessor.d.ts.map +1 -1
- package/dist/backend/luaPreprocessor.js +131 -45
- package/dist/backend/luaPreprocessor.js.map +1 -1
- package/dist/backend/sourceMap.d.ts +31 -0
- package/dist/backend/sourceMap.d.ts.map +1 -0
- package/dist/backend/sourceMap.js +155 -0
- package/dist/backend/sourceMap.js.map +1 -0
- package/dist/backend/sourceMap.test.d.ts +2 -0
- package/dist/backend/sourceMap.test.d.ts.map +1 -0
- package/dist/backend/sourceMap.test.js +36 -0
- package/dist/backend/sourceMap.test.js.map +1 -0
- package/dist/backend/symbolIndex.d.ts +67 -0
- package/dist/backend/symbolIndex.d.ts.map +1 -0
- package/dist/backend/symbolIndex.js +905 -0
- package/dist/backend/symbolIndex.js.map +1 -0
- package/dist/backend/symbolIndex.test.d.ts +2 -0
- package/dist/backend/symbolIndex.test.d.ts.map +1 -0
- package/dist/backend/symbolIndex.test.js +198 -0
- package/dist/backend/symbolIndex.test.js.map +1 -0
- package/dist/backend/tic80Controller/discovery.d.ts +19 -0
- package/dist/backend/tic80Controller/discovery.d.ts.map +1 -0
- package/dist/backend/tic80Controller/discovery.js +181 -0
- package/dist/backend/tic80Controller/discovery.js.map +1 -0
- package/dist/backend/tic80Controller/discovery.test.d.ts +2 -0
- package/dist/backend/tic80Controller/discovery.test.d.ts.map +1 -0
- package/dist/backend/tic80Controller/discovery.test.js +132 -0
- package/dist/backend/tic80Controller/discovery.test.js.map +1 -0
- package/dist/buildInfo.d.ts +4 -4
- package/dist/buildInfo.js +4 -4
- package/dist/frontend/core.d.ts.map +1 -1
- package/dist/frontend/core.js +10 -0
- package/dist/frontend/core.js.map +1 -1
- package/dist/frontend/terminal.d.ts +10 -0
- package/dist/frontend/terminal.d.ts.map +1 -0
- package/dist/frontend/terminal.js +321 -0
- package/dist/frontend/terminal.js.map +1 -0
- package/dist/frontend/terminal.test.d.ts +2 -0
- package/dist/frontend/terminal.test.d.ts.map +1 -0
- package/dist/frontend/terminal.test.js +15 -0
- package/dist/frontend/terminal.test.js.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -1
- package/dist/obj/build.log +5 -5
- package/dist/utils/console.d.ts.map +1 -1
- package/dist/utils/console.js +15 -7
- package/dist/utils/console.js.map +1 -1
- package/dist/utils/help.d.ts +3 -0
- package/dist/utils/help.d.ts.map +1 -1
- package/dist/utils/help.js +15 -0
- package/dist/utils/help.js.map +1 -1
- package/dist/utils/lua/lua_doc.d.ts +4 -0
- package/dist/utils/lua/lua_doc.d.ts.map +1 -0
- package/dist/utils/lua/lua_doc.js +31 -0
- package/dist/utils/lua/lua_doc.js.map +1 -0
- package/dist/utils/utils.d.ts +2 -0
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +10 -0
- package/dist/utils/utils.js.map +1 -1
- package/package.json +1 -1
- package/templates/TIC-80-ticbuild/tic80.exe +0 -0
- package/templates/builtins/tic80.lua +316 -0
- package/templates/help/disco.txt +11 -0
- package/templates/help/main.txt +3 -0
- package/templates/help/terminal.txt +18 -0
- package/templates/help/tic80.txt +5 -1
- package/templates/help/tt.txt +17 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/utils/console.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/utils/console.ts"],"names":[],"mappings":"AAeA,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAExD;AAED,wBAAgB,UAAU,IAAI,MAAM,GAAG,IAAI,CAE1C;AAYD,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG7C;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG3C;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG7C;AAOD,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG1C;AAED,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGzC;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAG1C;AAED,wBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKxC"}
|
package/dist/utils/console.js
CHANGED
|
@@ -15,6 +15,14 @@ exports.h1 = h1;
|
|
|
15
15
|
const chalk_1 = __importDefault(require("chalk"));
|
|
16
16
|
const node_fs_1 = require("node:fs");
|
|
17
17
|
let logFilePath = null;
|
|
18
|
+
function isTestEnv() {
|
|
19
|
+
return process.env.NODE_ENV === "test" || process.env.JEST_WORKER_ID !== undefined;
|
|
20
|
+
}
|
|
21
|
+
function consoleLogExceptInTestEnv(message) {
|
|
22
|
+
if (!isTestEnv()) {
|
|
23
|
+
console.log(message);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
18
26
|
function setLogFile(filePath) {
|
|
19
27
|
logFilePath = filePath;
|
|
20
28
|
}
|
|
@@ -30,15 +38,15 @@ function writeToLog(level, message) {
|
|
|
30
38
|
(0, node_fs_1.appendFileSync)(logFilePath, logLine, "utf-8");
|
|
31
39
|
}
|
|
32
40
|
function success(message) {
|
|
33
|
-
|
|
41
|
+
consoleLogExceptInTestEnv(chalk_1.default.green(message));
|
|
34
42
|
writeToLog("SUCCESS", message);
|
|
35
43
|
}
|
|
36
44
|
function error(message) {
|
|
37
|
-
|
|
45
|
+
consoleLogExceptInTestEnv(chalk_1.default.red(message));
|
|
38
46
|
writeToLog("ERROR", message);
|
|
39
47
|
}
|
|
40
48
|
function warning(message) {
|
|
41
|
-
|
|
49
|
+
consoleLogExceptInTestEnv(chalk_1.default.bgHex(`#FFA500`).black(`WARNING: ${message}`));
|
|
42
50
|
writeToLog("WARNING", message);
|
|
43
51
|
}
|
|
44
52
|
// export function info(message: string): void {
|
|
@@ -46,21 +54,21 @@ function warning(message) {
|
|
|
46
54
|
// writeToLog("INFO", message);
|
|
47
55
|
// }
|
|
48
56
|
function info(message) {
|
|
49
|
-
|
|
57
|
+
consoleLogExceptInTestEnv(chalk_1.default.blue(message));
|
|
50
58
|
writeToLog("INFO", message);
|
|
51
59
|
}
|
|
52
60
|
function dim(message) {
|
|
53
|
-
|
|
61
|
+
consoleLogExceptInTestEnv(chalk_1.default.gray(message));
|
|
54
62
|
writeToLog("DEBUG", message);
|
|
55
63
|
}
|
|
56
64
|
function bold(message) {
|
|
57
|
-
|
|
65
|
+
consoleLogExceptInTestEnv(chalk_1.default.bold(message));
|
|
58
66
|
writeToLog("INFO", message);
|
|
59
67
|
}
|
|
60
68
|
function h1(message) {
|
|
61
69
|
//const decorated = chalk.bold.underline(message);
|
|
62
70
|
const decorated = chalk_1.default.cyanBright(`${message}`);
|
|
63
|
-
|
|
71
|
+
consoleLogExceptInTestEnv(decorated);
|
|
64
72
|
writeToLog("INFO", message);
|
|
65
73
|
}
|
|
66
74
|
//# sourceMappingURL=console.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/utils/console.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/utils/console.ts"],"names":[],"mappings":";;;;;AAeA,gCAEC;AAED,gCAEC;AAYD,0BAGC;AAED,sBAGC;AAED,0BAGC;AAOD,oBAGC;AAED,kBAGC;AAED,oBAGC;AAED,gBAKC;AAzED,kDAA0B;AAC1B,qCAAyC;AAEzC,IAAI,WAAW,GAAkB,IAAI,CAAC;AAEtC,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC;AACrF,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAY;IAC7C,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,QAAuB;IAChD,WAAW,GAAG,QAAQ,CAAC;AACzB,CAAC;AAED,SAAgB,UAAU;IACxB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,OAAe;IAChD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,SAAS,MAAM,KAAK,KAAK,OAAO,IAAI,CAAC;IACzD,IAAA,wBAAc,EAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,OAAO,CAAC,OAAe;IACrC,yBAAyB,CAAC,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,SAAgB,KAAK,CAAC,OAAe;IACnC,yBAAyB,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,OAAO,CAAC,OAAe;IACrC,yBAAyB,CAAC,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/E,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,gDAAgD;AAChD,sCAAsC;AACtC,iCAAiC;AACjC,IAAI;AAEJ,SAAgB,IAAI,CAAC,OAAe;IAClC,yBAAyB,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,GAAG,CAAC,OAAe;IACjC,yBAAyB,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,IAAI,CAAC,OAAe;IAClC,yBAAyB,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,EAAE,CAAC,OAAe;IAChC,kDAAkD;IAClD,MAAM,SAAS,GAAG,eAAK,CAAC,UAAU,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;IACjD,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACrC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC9B,CAAC"}
|
package/dist/utils/help.d.ts
CHANGED
|
@@ -6,4 +6,7 @@ export declare function printInitHelp(): void;
|
|
|
6
6
|
export declare function printReplHelp(): void;
|
|
7
7
|
export declare function printTemplateListHelp(): void;
|
|
8
8
|
export declare function printTic80Help(): void;
|
|
9
|
+
export declare function printTic80TerminalHelp(): void;
|
|
10
|
+
export declare function printTerminalHelp(): void;
|
|
11
|
+
export declare function printDiscoHelp(): void;
|
|
9
12
|
//# sourceMappingURL=help.d.ts.map
|
package/dist/utils/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/utils/help.ts"],"names":[],"mappings":"AAwBA,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAGnC;AAED,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED,wBAAgB,cAAc,IAAI,IAAI,CAGrC"}
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/utils/help.ts"],"names":[],"mappings":"AAwBA,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAGnC;AAED,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAED,wBAAgB,cAAc,IAAI,IAAI,CAGrC"}
|
package/dist/utils/help.js
CHANGED
|
@@ -41,6 +41,9 @@ exports.printInitHelp = printInitHelp;
|
|
|
41
41
|
exports.printReplHelp = printReplHelp;
|
|
42
42
|
exports.printTemplateListHelp = printTemplateListHelp;
|
|
43
43
|
exports.printTic80Help = printTic80Help;
|
|
44
|
+
exports.printTic80TerminalHelp = printTic80TerminalHelp;
|
|
45
|
+
exports.printTerminalHelp = printTerminalHelp;
|
|
46
|
+
exports.printDiscoHelp = printDiscoHelp;
|
|
44
47
|
const fs = __importStar(require("node:fs"));
|
|
45
48
|
const path = __importStar(require("node:path"));
|
|
46
49
|
const buildInfo_1 = require("../buildInfo");
|
|
@@ -94,4 +97,16 @@ function printTic80Help() {
|
|
|
94
97
|
const help = renderHelpTemplate("tic80");
|
|
95
98
|
console.log(help);
|
|
96
99
|
}
|
|
100
|
+
function printTic80TerminalHelp() {
|
|
101
|
+
const help = renderHelpTemplate("tt");
|
|
102
|
+
console.log(help);
|
|
103
|
+
}
|
|
104
|
+
function printTerminalHelp() {
|
|
105
|
+
const help = renderHelpTemplate("terminal");
|
|
106
|
+
console.log(help);
|
|
107
|
+
}
|
|
108
|
+
function printDiscoHelp() {
|
|
109
|
+
const help = renderHelpTemplate("disco");
|
|
110
|
+
console.log(help);
|
|
111
|
+
}
|
|
97
112
|
//# sourceMappingURL=help.js.map
|
package/dist/utils/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/utils/help.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,sCAGC;AAED,wCAGC;AAED,oCAGC;AAED,wCAGC;AAED,sCAGC;AAED,sCAGC;AAED,sDAGC;AAED,wCAGC;
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/utils/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function isLuaDocCommentText(text: string): boolean;
|
|
2
|
+
export declare function isWhitespaceText(text: string): boolean;
|
|
3
|
+
export declare function collectDocCommentAbove(lines: string[], lineIndex: number): string[] | undefined;
|
|
4
|
+
//# sourceMappingURL=lua_doc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lua_doc.d.ts","sourceRoot":"","sources":["../../../src/utils/lua/lua_doc.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASzD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAa/F"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isLuaDocCommentText = isLuaDocCommentText;
|
|
4
|
+
exports.isWhitespaceText = isWhitespaceText;
|
|
5
|
+
exports.collectDocCommentAbove = collectDocCommentAbove;
|
|
6
|
+
function isLuaDocCommentText(text) {
|
|
7
|
+
const trimmed = text.trimStart();
|
|
8
|
+
return (trimmed.startsWith("---") ||
|
|
9
|
+
trimmed.startsWith("--@") ||
|
|
10
|
+
trimmed.startsWith("-- @") ||
|
|
11
|
+
trimmed.startsWith("--[[") ||
|
|
12
|
+
trimmed.startsWith("--[="));
|
|
13
|
+
}
|
|
14
|
+
function isWhitespaceText(text) {
|
|
15
|
+
return /^\s*$/.test(text);
|
|
16
|
+
}
|
|
17
|
+
function collectDocCommentAbove(lines, lineIndex) {
|
|
18
|
+
const docLines = [];
|
|
19
|
+
for (let i = lineIndex - 1; i >= 0; i--) {
|
|
20
|
+
const line = lines[i];
|
|
21
|
+
if (isWhitespaceText(line)) {
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
if (!isLuaDocCommentText(line)) {
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
docLines.unshift(line);
|
|
28
|
+
}
|
|
29
|
+
return docLines.length > 0 ? docLines : undefined;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=lua_doc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lua_doc.js","sourceRoot":"","sources":["../../../src/utils/lua/lua_doc.ts"],"names":[],"mappings":";;AAAA,kDASC;AAED,4CAEC;AAED,wDAaC;AA5BD,SAAgB,mBAAmB,CAAC,IAAY;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACjC,OAAO,CACH,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QACzB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QACzB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAC1B,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAC1B,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAC7B,CAAC;AACN,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAY;IACzC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAe,EAAE,SAAiB;IACrE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM;QACV,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM;QACV,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC"}
|
package/dist/utils/utils.d.ts
CHANGED
|
@@ -11,4 +11,6 @@ export declare function makeMapSerializable<K, V>(map: Map<K, V>): object;
|
|
|
11
11
|
export declare function deserializeMap<K, V>(obj: object): Map<K, V>;
|
|
12
12
|
export declare function CoalesceBool(value: boolean | null | undefined, defaultValue: boolean): boolean;
|
|
13
13
|
export declare function trimTrailingZeros(data: Uint8Array): Uint8Array;
|
|
14
|
+
export declare function hashTextSha1(text: string): string;
|
|
15
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
14
16
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,aAAa,CAAC;AAEnC,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAWrD;AAED,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,GAAG,IAAI,WAK3C,CAAC;AAIF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,MAAM,MAAM,OAAO,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAI7C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAyBvE;AAiCD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5E;AAGD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAEhE;AACD,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAE3D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAK9F;AAGD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAM9D;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAGD,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
|
package/dist/utils/utils.js
CHANGED
|
@@ -9,6 +9,9 @@ exports.makeMapSerializable = makeMapSerializable;
|
|
|
9
9
|
exports.deserializeMap = deserializeMap;
|
|
10
10
|
exports.CoalesceBool = CoalesceBool;
|
|
11
11
|
exports.trimTrailingZeros = trimTrailingZeros;
|
|
12
|
+
exports.hashTextSha1 = hashTextSha1;
|
|
13
|
+
exports.sleep = sleep;
|
|
14
|
+
const node_crypto_1 = require("node:crypto");
|
|
12
15
|
exports.kNullKey = "__NULL__";
|
|
13
16
|
function TryParseInt(value) {
|
|
14
17
|
if (typeof value === "number" && isFinite(value)) {
|
|
@@ -114,4 +117,11 @@ function trimTrailingZeros(data) {
|
|
|
114
117
|
}
|
|
115
118
|
return data.slice(0, end);
|
|
116
119
|
}
|
|
120
|
+
function hashTextSha1(text) {
|
|
121
|
+
const hash = (0, node_crypto_1.createHash)("sha1").update(text, "utf-8").digest("hex");
|
|
122
|
+
return `sha1:${hash}`;
|
|
123
|
+
}
|
|
124
|
+
function sleep(ms) {
|
|
125
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
126
|
+
}
|
|
117
127
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
-- TIC-80 builtins stubs for symbol indexing.
|
|
2
|
+
-- Signatures based on the TIC-80 API wiki.
|
|
3
|
+
|
|
4
|
+
--- Main callback called every frame (60 FPS).
|
|
5
|
+
function TIC() end
|
|
6
|
+
|
|
7
|
+
--- Called once on cartridge boot for initialization.
|
|
8
|
+
function BOOT() end
|
|
9
|
+
|
|
10
|
+
--- Called before each scanline (0..143).
|
|
11
|
+
-- @param scanline number scanline index
|
|
12
|
+
function BDR(scanline) end
|
|
13
|
+
|
|
14
|
+
--- Called before each scanline (deprecated, use BDR).
|
|
15
|
+
-- @param scanline number scanline index
|
|
16
|
+
function SCN(scanline) end
|
|
17
|
+
|
|
18
|
+
--- Called after scanlines on overlay layer (deprecated).
|
|
19
|
+
function OVR() end
|
|
20
|
+
|
|
21
|
+
--- Handles menu callbacks.
|
|
22
|
+
-- @param index number menu item index
|
|
23
|
+
function MENU(index) end
|
|
24
|
+
|
|
25
|
+
--- Clears screen with palette color.
|
|
26
|
+
-- @param color number palette index
|
|
27
|
+
function cls(color) end
|
|
28
|
+
|
|
29
|
+
--- Resets or sets clipping region.
|
|
30
|
+
-- @param x number left
|
|
31
|
+
-- @param y number top
|
|
32
|
+
-- @param width number width
|
|
33
|
+
-- @param height number height
|
|
34
|
+
function clip(x, y, width, height) end
|
|
35
|
+
|
|
36
|
+
--- Gets or sets a pixel color.
|
|
37
|
+
-- @param x number x position
|
|
38
|
+
-- @param y number y position
|
|
39
|
+
-- @param color number palette index (optional for get)
|
|
40
|
+
-- @return number color at pixel when color omitted
|
|
41
|
+
function pix(x, y, color) end
|
|
42
|
+
|
|
43
|
+
--- Draws a sprite.
|
|
44
|
+
-- @param id number sprite id
|
|
45
|
+
-- @param x number x position
|
|
46
|
+
-- @param y number y position
|
|
47
|
+
-- @param colorkey number transparent color
|
|
48
|
+
-- @param scale number scale factor
|
|
49
|
+
-- @param flip number flip flags
|
|
50
|
+
-- @param rotate number rotation
|
|
51
|
+
-- @param w number width in sprites
|
|
52
|
+
-- @param h number height in sprites
|
|
53
|
+
function spr(id, x, y, colorkey, scale, flip, rotate, w, h) end
|
|
54
|
+
|
|
55
|
+
--- Draws a map region.
|
|
56
|
+
-- @param x number map x
|
|
57
|
+
-- @param y number map y
|
|
58
|
+
-- @param w number width in tiles
|
|
59
|
+
-- @param h number height in tiles
|
|
60
|
+
-- @param sx number screen x
|
|
61
|
+
-- @param sy number screen y
|
|
62
|
+
-- @param colorkey number transparent color
|
|
63
|
+
-- @param scale number scale factor
|
|
64
|
+
-- @param remap function tile remap callback
|
|
65
|
+
function map(x, y, w, h, sx, sy, colorkey, scale, remap) end
|
|
66
|
+
|
|
67
|
+
--- Draws a line.
|
|
68
|
+
-- @param x0 number start x
|
|
69
|
+
-- @param y0 number start y
|
|
70
|
+
-- @param x1 number end x
|
|
71
|
+
-- @param y1 number end y
|
|
72
|
+
-- @param color number palette index
|
|
73
|
+
function line(x0, y0, x1, y1, color) end
|
|
74
|
+
|
|
75
|
+
--- Draws a filled rectangle.
|
|
76
|
+
-- @param x number left
|
|
77
|
+
-- @param y number top
|
|
78
|
+
-- @param width number width
|
|
79
|
+
-- @param height number height
|
|
80
|
+
-- @param color number palette index
|
|
81
|
+
function rect(x, y, width, height, color) end
|
|
82
|
+
|
|
83
|
+
--- Draws a rectangle border.
|
|
84
|
+
-- @param x number left
|
|
85
|
+
-- @param y number top
|
|
86
|
+
-- @param width number width
|
|
87
|
+
-- @param height number height
|
|
88
|
+
-- @param color number palette index
|
|
89
|
+
function rectb(x, y, width, height, color) end
|
|
90
|
+
|
|
91
|
+
--- Draws a filled circle.
|
|
92
|
+
-- @param x number center x
|
|
93
|
+
-- @param y number center y
|
|
94
|
+
-- @param radius number radius
|
|
95
|
+
-- @param color number palette index
|
|
96
|
+
function circ(x, y, radius, color) end
|
|
97
|
+
|
|
98
|
+
--- Draws a circle border.
|
|
99
|
+
-- @param x number center x
|
|
100
|
+
-- @param y number center y
|
|
101
|
+
-- @param radius number radius
|
|
102
|
+
-- @param color number palette index
|
|
103
|
+
function circb(x, y, radius, color) end
|
|
104
|
+
|
|
105
|
+
--- Draws a filled ellipse.
|
|
106
|
+
-- @param x number center x
|
|
107
|
+
-- @param y number center y
|
|
108
|
+
-- @param a number radius x
|
|
109
|
+
-- @param b number radius y
|
|
110
|
+
-- @param color number palette index
|
|
111
|
+
function elli(x, y, a, b, color) end
|
|
112
|
+
|
|
113
|
+
--- Draws an ellipse border.
|
|
114
|
+
-- @param x number center x
|
|
115
|
+
-- @param y number center y
|
|
116
|
+
-- @param a number radius x
|
|
117
|
+
-- @param b number radius y
|
|
118
|
+
-- @param color number palette index
|
|
119
|
+
function ellib(x, y, a, b, color) end
|
|
120
|
+
|
|
121
|
+
--- Draws a filled triangle.
|
|
122
|
+
-- @param x1 number x1
|
|
123
|
+
-- @param y1 number y1
|
|
124
|
+
-- @param x2 number x2
|
|
125
|
+
-- @param y2 number y2
|
|
126
|
+
-- @param x3 number x3
|
|
127
|
+
-- @param y3 number y3
|
|
128
|
+
-- @param color number palette index
|
|
129
|
+
function tri(x1, y1, x2, y2, x3, y3, color) end
|
|
130
|
+
|
|
131
|
+
--- Draws a triangle border.
|
|
132
|
+
-- @param x1 number x1
|
|
133
|
+
-- @param y1 number y1
|
|
134
|
+
-- @param x2 number x2
|
|
135
|
+
-- @param y2 number y2
|
|
136
|
+
-- @param x3 number x3
|
|
137
|
+
-- @param y3 number y3
|
|
138
|
+
-- @param color number palette index
|
|
139
|
+
function trib(x1, y1, x2, y2, x3, y3, color) end
|
|
140
|
+
|
|
141
|
+
--- Draws a textured triangle.
|
|
142
|
+
-- @param x1 number x1
|
|
143
|
+
-- @param y1 number y1
|
|
144
|
+
-- @param x2 number x2
|
|
145
|
+
-- @param y2 number y2
|
|
146
|
+
-- @param x3 number x3
|
|
147
|
+
-- @param y3 number y3
|
|
148
|
+
-- @param u1 number u1
|
|
149
|
+
-- @param v1 number v1
|
|
150
|
+
-- @param u2 number u2
|
|
151
|
+
-- @param v2 number v2
|
|
152
|
+
-- @param u3 number u3
|
|
153
|
+
-- @param v3 number v3
|
|
154
|
+
-- @param texsrc number texture source
|
|
155
|
+
-- @param chromakey number transparent color
|
|
156
|
+
-- @param z1 number z1
|
|
157
|
+
-- @param z2 number z2
|
|
158
|
+
-- @param z3 number z3
|
|
159
|
+
function ttri(x1, y1, x2, y2, x3, y3, u1, v1, u2, v2, u3, v3, texsrc, chromakey, z1, z2, z3) end
|
|
160
|
+
|
|
161
|
+
--- Draws text with system font.
|
|
162
|
+
-- @param text string text
|
|
163
|
+
-- @param x number x position
|
|
164
|
+
-- @param y number y position
|
|
165
|
+
-- @param color number palette index
|
|
166
|
+
-- @param fixed boolean fixed width
|
|
167
|
+
-- @param scale number scale
|
|
168
|
+
-- @param smallfont boolean use small font
|
|
169
|
+
-- @return number rendered width
|
|
170
|
+
function print(text, x, y, color, fixed, scale, smallfont) end
|
|
171
|
+
|
|
172
|
+
--- Draws text with sprite font.
|
|
173
|
+
-- @param text string text
|
|
174
|
+
-- @param x number x position
|
|
175
|
+
-- @param y number y position
|
|
176
|
+
-- @param transcolor number transparent color
|
|
177
|
+
-- @param width number character width
|
|
178
|
+
-- @param height number character height
|
|
179
|
+
-- @param fixed boolean fixed width
|
|
180
|
+
-- @param scale number scale
|
|
181
|
+
-- @param alt boolean use alternate font
|
|
182
|
+
-- @return number rendered width
|
|
183
|
+
function font(text, x, y, transcolor, width, height, fixed, scale, alt) end
|
|
184
|
+
|
|
185
|
+
--- Plays a sound effect.
|
|
186
|
+
-- @param id number sfx id
|
|
187
|
+
-- @param note number note
|
|
188
|
+
-- @param duration number duration
|
|
189
|
+
-- @param channel number channel
|
|
190
|
+
-- @param volume number volume
|
|
191
|
+
-- @param speed number speed
|
|
192
|
+
function sfx(id, note, duration, channel, volume, speed) end
|
|
193
|
+
|
|
194
|
+
--- Plays a music track.
|
|
195
|
+
-- @param track number track id
|
|
196
|
+
-- @param frame number frame index
|
|
197
|
+
-- @param row number row index
|
|
198
|
+
-- @param loop boolean loop playback
|
|
199
|
+
-- @param sustain boolean sustain notes
|
|
200
|
+
-- @param tempo number tempo override
|
|
201
|
+
-- @param speed number speed override
|
|
202
|
+
function music(track, frame, row, loop, sustain, tempo, speed) end
|
|
203
|
+
|
|
204
|
+
--- Reads gamepad button state.
|
|
205
|
+
-- @param id number button id
|
|
206
|
+
-- @return boolean is pressed when id provided
|
|
207
|
+
function btn(id) end
|
|
208
|
+
|
|
209
|
+
--- Reads gamepad button press.
|
|
210
|
+
-- @param id number button id
|
|
211
|
+
-- @param hold number hold frames
|
|
212
|
+
-- @param period number repeat period
|
|
213
|
+
-- @return boolean pressed
|
|
214
|
+
function btnp(id, hold, period) end
|
|
215
|
+
|
|
216
|
+
--- Reads keyboard state.
|
|
217
|
+
-- @param code number key code
|
|
218
|
+
-- @return boolean pressed
|
|
219
|
+
function key(code) end
|
|
220
|
+
|
|
221
|
+
--- Reads keyboard press.
|
|
222
|
+
-- @param code number key code
|
|
223
|
+
-- @param hold number hold frames
|
|
224
|
+
-- @param period number repeat period
|
|
225
|
+
-- @return boolean pressed
|
|
226
|
+
function keyp(code, hold, period) end
|
|
227
|
+
|
|
228
|
+
--- Gets mouse state.
|
|
229
|
+
-- @return number mouse x
|
|
230
|
+
function mouse() end
|
|
231
|
+
|
|
232
|
+
--- Copies a block of RAM.
|
|
233
|
+
-- @param to number destination address
|
|
234
|
+
-- @param from number source address
|
|
235
|
+
-- @param length number bytes
|
|
236
|
+
function memcpy(to, from, length) end
|
|
237
|
+
|
|
238
|
+
--- Fills a block of RAM.
|
|
239
|
+
-- @param addr number address
|
|
240
|
+
-- @param value number value
|
|
241
|
+
-- @param length number bytes
|
|
242
|
+
function memset(addr, value, length) end
|
|
243
|
+
|
|
244
|
+
--- Reads or writes persistent memory.
|
|
245
|
+
-- @param index number slot index
|
|
246
|
+
-- @param value number value to write
|
|
247
|
+
-- @return number stored or previous value
|
|
248
|
+
function pmem(index, value) end
|
|
249
|
+
|
|
250
|
+
--- Reads memory.
|
|
251
|
+
-- @param addr number address
|
|
252
|
+
-- @param bits number bit width
|
|
253
|
+
-- @return number value
|
|
254
|
+
function peek(addr, bits) end
|
|
255
|
+
|
|
256
|
+
--- Reads 4-bit memory.
|
|
257
|
+
-- @param addr number address (nibble)
|
|
258
|
+
-- @return number value
|
|
259
|
+
function peek4(addr) end
|
|
260
|
+
|
|
261
|
+
--- Reads 2-bit memory.
|
|
262
|
+
-- @param addr number address
|
|
263
|
+
-- @return number value
|
|
264
|
+
function peek2(addr) end
|
|
265
|
+
|
|
266
|
+
--- Reads a single bit.
|
|
267
|
+
-- @param addr number bit address
|
|
268
|
+
-- @return number value
|
|
269
|
+
function peek1(addr) end
|
|
270
|
+
|
|
271
|
+
--- Writes memory.
|
|
272
|
+
-- @param addr number address
|
|
273
|
+
-- @param value number value
|
|
274
|
+
-- @param bits number bit width
|
|
275
|
+
function poke(addr, value, bits) end
|
|
276
|
+
|
|
277
|
+
--- Writes 4-bit memory.
|
|
278
|
+
-- @param addr number address (nibble)
|
|
279
|
+
-- @param value number value
|
|
280
|
+
function poke4(addr, value) end
|
|
281
|
+
|
|
282
|
+
--- Writes 2-bit memory.
|
|
283
|
+
-- @param addr number address
|
|
284
|
+
-- @param value number value
|
|
285
|
+
function poke2(addr, value) end
|
|
286
|
+
|
|
287
|
+
--- Writes a single bit.
|
|
288
|
+
-- @param addr number bit address
|
|
289
|
+
-- @param value number bit value
|
|
290
|
+
function poke1(addr, value) end
|
|
291
|
+
|
|
292
|
+
--- Syncs runtime RAM with cartridge banks.
|
|
293
|
+
-- @param mask number chunk mask
|
|
294
|
+
-- @param bank number bank index
|
|
295
|
+
-- @param tocart boolean write to cart
|
|
296
|
+
function sync(mask, bank, tocart) end
|
|
297
|
+
|
|
298
|
+
--- Selects the VRAM bank.
|
|
299
|
+
-- @param id number bank id
|
|
300
|
+
function vbank(id) end
|
|
301
|
+
|
|
302
|
+
--- Returns milliseconds since start.
|
|
303
|
+
-- @return number time ms
|
|
304
|
+
function time() end
|
|
305
|
+
|
|
306
|
+
--- Returns Unix timestamp (seconds).
|
|
307
|
+
-- @return number timestamp
|
|
308
|
+
function tstamp() end
|
|
309
|
+
|
|
310
|
+
--- Prints a debug message.
|
|
311
|
+
-- @param message string message
|
|
312
|
+
-- @param color number palette index
|
|
313
|
+
function trace(message, color) end
|
|
314
|
+
|
|
315
|
+
--- Exits to menu.
|
|
316
|
+
function exit() end
|
package/templates/help/main.txt
CHANGED
|
@@ -19,6 +19,9 @@ Common commands:
|
|
|
19
19
|
Other commands:
|
|
20
20
|
|
|
21
21
|
tic80, t Launch TIC-80 directly
|
|
22
|
+
tt Launch TIC-80 and attach terminal mode
|
|
23
|
+
terminal [host:port] Connect terminal client to TIC-80 remoting
|
|
24
|
+
disco List discovered TIC-80 remoting sessions
|
|
22
25
|
help [command] Show help for a specific command
|
|
23
26
|
|
|
24
27
|
Use 'ticbuild help <command>' or 'ticbuild <command> --help' for detailed help.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
|
|
2
|
+
ticbuild terminal
|
|
3
|
+
|
|
4
|
+
usage: ticbuild terminal [host:port]
|
|
5
|
+
|
|
6
|
+
Connect to the TIC-80 remoting terminal server.
|
|
7
|
+
|
|
8
|
+
If host:port is omitted:
|
|
9
|
+
|
|
10
|
+
- with 0 discovered running sessions, exits immediately
|
|
11
|
+
- with 1 discovered running session, connects automatically
|
|
12
|
+
- with multiple sessions, shows a list and prompts for selection
|
|
13
|
+
|
|
14
|
+
In terminal mode, you type commands one line at a time. Each line should begin with
|
|
15
|
+
the request ID. Example:
|
|
16
|
+
|
|
17
|
+
> 1 hello
|
|
18
|
+
1 OK "TIC-80 remoting v1"
|
package/templates/help/tic80.txt
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
|
|
2
2
|
ticbuild tic80
|
|
3
3
|
|
|
4
|
-
usage: ticbuild tic80
|
|
4
|
+
usage: ticbuild tic80 [--terminal]
|
|
5
5
|
|
|
6
6
|
Launch TIC-80 directly without building a cart
|
|
7
7
|
|
|
8
8
|
This is a convenience command to quickly open TIC-80.
|
|
9
9
|
|
|
10
|
+
Options:
|
|
11
|
+
|
|
12
|
+
--terminal Launch TIC-80, discover launched remoting session, and enter terminal mode
|
|
13
|
+
|
|
10
14
|
Forwarding to TIC-80:
|
|
11
15
|
|
|
12
16
|
Use "--" to pass arguments through to TIC-80.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
ticbuild tt
|
|
3
|
+
|
|
4
|
+
usage: ticbuild tt
|
|
5
|
+
|
|
6
|
+
Launch TIC-80 and automatically attach terminal mode.
|
|
7
|
+
|
|
8
|
+
This is a shortcut for:
|
|
9
|
+
|
|
10
|
+
ticbuild tic80 --terminal
|
|
11
|
+
|
|
12
|
+
Forwarding to TIC-80:
|
|
13
|
+
|
|
14
|
+
Use "--" to pass arguments through to TIC-80.
|
|
15
|
+
|
|
16
|
+
Example:
|
|
17
|
+
ticbuild tt -- --remoting-port=55111
|