Initial commit

moved from private version control
This commit is contained in:
2025-10-19 21:12:41 +11:00
parent 5e84773bbe
commit e64f3e881e
187 changed files with 25372 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
import { createNodeModule } from "../../nodeTypes.js";
/**
* Adds or updates a pause menu item using PICO-8's menuitem helper.
*/
export const menuItemNode = createNodeModule(
{
id: "menu_item",
title: "Menu Item",
category: "Menu",
description:
"Add, update, or remove a custom pause menu entry using MENUITEM().",
searchTags: ["menu", "menuitem", "pause", "ui"],
inputs: [
{ id: "exec_in", name: "Exec", direction: "input", kind: "exec" },
{
id: "index",
name: "Index",
direction: "input",
kind: "number",
description: "Menu slot and optional mask",
defaultValue: 1,
},
{
id: "label",
name: "Label",
direction: "input",
kind: "string",
description: "Menu label or nil to remove",
},
{
id: "callback",
name: "Callback",
direction: "input",
kind: "any",
description: "Function reference to invoke",
},
],
outputs: [
{ id: "exec_out", name: "Exec", direction: "output", kind: "exec" },
],
properties: [],
},
{
emitExec: ({ indent, indentLevel, resolveValueInput, emitNextExec }) => {
const OMIT = "__pg_omit__";
const index = resolveValueInput("index", "1");
const label = resolveValueInput("label", OMIT);
const callback = resolveValueInput("callback", OMIT);
const args = [index];
if (label !== OMIT || callback !== OMIT) {
args.push(label === OMIT ? "nil" : label);
if (callback !== OMIT) {
args.push(callback);
}
}
const line = `${indent(indentLevel)}menuitem(${args.join(", ")})`;
return [line, ...emitNextExec("exec_out")];
},
}
);