Prelim submodel materials

This commit is contained in:
2025-01-28 17:53:36 +01:00
parent f493c35c8b
commit aa6b975278
48 changed files with 1859 additions and 2525 deletions
+42
View File
@@ -0,0 +1,42 @@
import { XMLParser, XMLBuilder } from "fast-xml-parser";
const input = `
`;
function convert(element) {
const codes = [
...element.MouseRect.CallbackCode.matchAll(/([\d]*)[\s]*\(>L:CEVENT\)/gm),
].map((m) => m[1]);
return {
"@_Name": "MD11_Button",
NODE_NAME: element.Name,
CODE_PRESS: `${codes[0]} (>L:CEVENT)`,
CODE_RELEASE: `${codes[1]} (>L:CEVENT)`,
};
}
const parser = new XMLParser({
ignoreAttributes: false,
});
let jObj = parser.parse(input);
const output = [];
if (Array.isArray(jObj.PartInfo)) {
jObj.PartInfo.forEach((element) => {
output.push(convert(element));
});
} else {
output.push(convert(jObj.PartInfo));
}
const builder = new XMLBuilder({
ignoreAttributes: false,
arrayNodeName: "UseTemplate",
format: true,
});
const xmlContent = builder.build(output);
console.log(xmlContent);
+48
View File
@@ -0,0 +1,48 @@
import { XMLParser, XMLBuilder } from "fast-xml-parser";
const input = `
`;
function convert(element) {
const codes = [
...element.MouseRect.CallbackCode.matchAll(/([\d]*)[\s]*\(>L:CEVENT\)/gm),
].map((m) => m[1]);
return {
"@_Name": "MD11_Infinite_Knob_Push",
NODE_NAME: element.Name,
ANIM_LENGTH_KNOB: 10,
ANIM_CODE: `10 (L:${element.Name}) 1 * -`,
ANIM_NAME_PUSH: `${element.Name.replace("KB", "BT")}`,
ANIM_CODE_PUSH: `(L:${element.Name.replace("KB", "BT")}) 10 *`,
INC_CODE: `${codes[0]} (>L:CEVENT)`,
DEC_CODE: `${codes[1]} (>L:CEVENT)`,
PUSH_CODE: `${codes[2]} (>L:CEVENT)`,
REL_CODE: null,
};
}
const parser = new XMLParser({
ignoreAttributes: false,
});
let jObj = parser.parse(input);
const output = [];
if (Array.isArray(jObj.PartInfo)) {
jObj.PartInfo.forEach((element) => {
output.push(convert(element));
});
} else {
output.push(convert(jObj.PartInfo));
}
const builder = new XMLBuilder({
ignoreAttributes: false,
arrayNodeName: "UseTemplate",
format: true,
});
const xmlContent = builder.build(output);
console.log(xmlContent);
+37
View File
@@ -0,0 +1,37 @@
import { XMLParser, XMLBuilder } from "fast-xml-parser";
const input = `
`;
function convert(element) {
return {
"@_Name": "MD11_Vistag",
NODE_NAME: element.Name,
VIS_CODE: element.Visibility.Parameter.Code,
};
}
const parser = new XMLParser({
ignoreAttributes: false,
});
let jObj = parser.parse(input);
const output = [];
if (Array.isArray(jObj.PartInfo)) {
jObj.PartInfo.forEach((element) => {
output.push(convert(element));
});
} else {
output.push(convert(jObj.PartInfo));
}
const builder = new XMLBuilder({
ignoreAttributes: false,
arrayNodeName: "UseTemplate",
format: true,
});
const xmlContent = builder.build(output);
console.log(xmlContent);
+23
View File
@@ -0,0 +1,23 @@
import fs from "fs";
const path = "PackageSources/SimObjects/Misc/TFDi_Design_MD-11_Fixes/";
const f = "model.f/TFDi_Design_MD-11_Fixes.gltf";
const p = "model.p/TFDi_Design_MD-11_Fixes.gltf";
let toEdit = JSON.parse(fs.readFileSync(`${path}${f}`));
toEdit.images.forEach((e) => {
e.uri = "..\\MODEL.F\\" + e.uri;
});
fs.writeFileSync(`${path}${f}`, JSON.stringify(toEdit, null, 2));
/*
toEdit = JSON.parse(fs.readFileSync(`${path}${p}`));
toEdit.images.forEach((e) => {
e.uri = "..\\MODEL.F\\" + e.uri;
});
fs.writeFileSync(`${path}${p}`, JSON.stringify(toEdit, null, 2));
*/