nodes: Added a few new nodes

This commit is contained in:
WerWolv
2022-10-26 09:07:09 +02:00
parent ef6cac6e92
commit d3b6c2d0e6
9 changed files with 238 additions and 16 deletions

View File

@@ -267,6 +267,95 @@ namespace hex::plugin::builtin {
std::optional<float> m_value;
};
class NodeDisplayBuffer : public dp::Node {
public:
NodeDisplayBuffer() : Node("hex.builtin.nodes.display.buffer.header", { dp::Attribute(dp::Attribute::IOType::In, dp::Attribute::Type::Buffer, "hex.builtin.nodes.common.input") }) { }
void drawNode() override {
static const std::string Header = " Address 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ";
if (ImGui::BeginChild("##hex_view", scaled(ImVec2(ImGui::CalcTextSize(Header.c_str()).x, 200)), true)) {
ImGui::TextUnformatted(Header.c_str());
auto size = this->m_buffer.size();
ImGuiListClipper clipper;
clipper.Begin((size + 0x0F) / 0x10);
while (clipper.Step())
for (auto y = clipper.DisplayStart; y < clipper.DisplayEnd; y++) {
auto lineSize = ((size - y * 0x10) < 0x10) ? size % 0x10 : 0x10;
std::string line = hex::format(" {:08X}: ", y * 0x10);
for (u32 x = 0; x < 0x10; x++) {
if (x < lineSize)
line += hex::format("{:02X} ", this->m_buffer[y * 0x10 + x]);
else
line += " ";
if (x == 7) line += " ";
}
line += " ";
for (u32 x = 0; x < lineSize; x++) {
auto c = char(this->m_buffer[y * 0x10 + x]);
if (std::isprint(c))
line += c;
else
line += ".";
}
ImGui::TextUnformatted(line.c_str());
}
clipper.End();
}
ImGui::EndChild();
}
void process() override {
this->m_buffer = this->getBufferOnInput(0);
}
private:
std::vector<u8> m_buffer;
};
class NodeDisplayString : public dp::Node {
public:
NodeDisplayString() : Node("hex.builtin.nodes.display.string.header", { dp::Attribute(dp::Attribute::IOType::In, dp::Attribute::Type::Buffer, "hex.builtin.nodes.common.input") }) { }
void drawNode() override {
constexpr static auto LineLength = 50;
if (ImGui::BeginChild("##string_view", scaled(ImVec2(ImGui::CalcTextSize(" ").x * (LineLength + 4), 150)), true)) {
std::string_view string = this->m_value;
ImGuiListClipper clipper;
clipper.Begin((string.length() + (LineLength - 1)) / LineLength);
while (clipper.Step())
for (auto i = clipper.DisplayStart; i < clipper.DisplayEnd; i++) {
auto line = string.substr(i * LineLength, LineLength);
ImGui::TextUnformatted("");
ImGui::SameLine();
ImGui::TextUnformatted(line.data(), line.data() + line.length());
}
clipper.End();
}
ImGui::EndChild();
}
void process() override {
auto input = this->getBufferOnInput(0);
this->m_value = hex::encodeByteString(input);
}
private:
std::string m_value;
};
class NodeBitwiseNOT : public dp::Node {
public:
@@ -535,6 +624,41 @@ namespace hex::plugin::builtin {
}
};
class NodeArithmeticAverage : public dp::Node {
public:
NodeArithmeticAverage() : Node("hex.builtin.nodes.arithmetic.average.header", { dp::Attribute(dp::Attribute::IOType::In, dp::Attribute::Type::Buffer, "hex.builtin.nodes.common.input"), dp::Attribute(dp::Attribute::IOType::Out, dp::Attribute::Type::Integer, "hex.builtin.nodes.common.output") }) { }
void process() override {
auto input = this->getBufferOnInput(0);
double output = std::reduce(input.begin(), input.end(), double(0)) / double(input.size());
this->setFloatOnOutput(1, output);
}
};
class NodeArithmeticMedian : public dp::Node {
public:
NodeArithmeticMedian() : Node("hex.builtin.nodes.arithmetic.median.header", { dp::Attribute(dp::Attribute::IOType::In, dp::Attribute::Type::Buffer, "hex.builtin.nodes.common.input"), dp::Attribute(dp::Attribute::IOType::Out, dp::Attribute::Type::Integer, "hex.builtin.nodes.common.output") }) { }
void process() override {
auto input = this->getBufferOnInput(0);
u64 medianIndex = input.size() / 2;
std::nth_element(input.begin(), input.begin() + medianIndex, input.end());
i128 median = 0;
if (input.size() % 2 == 0) {
std::nth_element(input.begin(), input.begin() + medianIndex - 1, input.end());
median = (input[medianIndex] + input[medianIndex - 1]) / 2;
} else {
median = input[medianIndex];
}
this->setIntegerOnOutput(1, median);
}
};
class NodeBufferCombine : public dp::Node {
public:
NodeBufferCombine() : Node("hex.builtin.nodes.buffer.combine.header", { dp::Attribute(dp::Attribute::IOType::In, dp::Attribute::Type::Buffer, "hex.builtin.nodes.common.input.a"), dp::Attribute(dp::Attribute::IOType::In, dp::Attribute::Type::Buffer, "hex.builtin.nodes.common.input.b"), dp::Attribute(dp::Attribute::IOType::Out, dp::Attribute::Type::Buffer, "hex.builtin.nodes.common.output") }) { }
@@ -588,6 +712,27 @@ namespace hex::plugin::builtin {
}
};
class NodeBufferPatch : public dp::Node {
public:
NodeBufferPatch() : Node("hex.builtin.nodes.buffer.patch.header", { dp::Attribute(dp::Attribute::IOType::In, dp::Attribute::Type::Buffer, "hex.builtin.nodes.common.input"), dp::Attribute(dp::Attribute::IOType::In, dp::Attribute::Type::Buffer, "hex.builtin.nodes.buffer.patch.input.patch"), dp::Attribute(dp::Attribute::IOType::In, dp::Attribute::Type::Integer, "hex.builtin.common.address"), dp::Attribute(dp::Attribute::IOType::Out, dp::Attribute::Type::Buffer, "hex.builtin.nodes.common.output") }) { }
void process() override {
auto buffer = this->getBufferOnInput(0);
auto patch = this->getBufferOnInput(1);
auto address = this->getIntegerOnInput(2);
if (address < 0 || static_cast<u128>(address) >= buffer.size())
throwNodeError("Address out of range");
if (address + patch.size() > buffer.size())
buffer.resize(address + patch.size());
std::copy(patch.begin(), patch.end(), buffer.begin() + address);
this->setBufferOnOutput(3, buffer);
}
};
class NodeIf : public dp::Node {
public:
NodeIf() : Node("hex.builtin.nodes.control_flow.if.header",
@@ -1131,6 +1276,8 @@ namespace hex::plugin::builtin {
ContentRegistry::DataProcessorNode::add<NodeDisplayInteger>("hex.builtin.nodes.display", "hex.builtin.nodes.display.int");
ContentRegistry::DataProcessorNode::add<NodeDisplayFloat>("hex.builtin.nodes.display", "hex.builtin.nodes.display.float");
ContentRegistry::DataProcessorNode::add<NodeDisplayBuffer>("hex.builtin.nodes.display", "hex.builtin.nodes.display.buffer");
ContentRegistry::DataProcessorNode::add<NodeDisplayString>("hex.builtin.nodes.display", "hex.builtin.nodes.display.string");
ContentRegistry::DataProcessorNode::add<NodeReadData>("hex.builtin.nodes.data_access", "hex.builtin.nodes.data_access.read");
ContentRegistry::DataProcessorNode::add<NodeWriteData>("hex.builtin.nodes.data_access", "hex.builtin.nodes.data_access.write");
@@ -1147,10 +1294,13 @@ namespace hex::plugin::builtin {
ContentRegistry::DataProcessorNode::add<NodeArithmeticMultiply>("hex.builtin.nodes.arithmetic", "hex.builtin.nodes.arithmetic.mul");
ContentRegistry::DataProcessorNode::add<NodeArithmeticDivide>("hex.builtin.nodes.arithmetic", "hex.builtin.nodes.arithmetic.div");
ContentRegistry::DataProcessorNode::add<NodeArithmeticModulus>("hex.builtin.nodes.arithmetic", "hex.builtin.nodes.arithmetic.mod");
ContentRegistry::DataProcessorNode::add<NodeArithmeticAverage>("hex.builtin.nodes.arithmetic", "hex.builtin.nodes.arithmetic.average");
ContentRegistry::DataProcessorNode::add<NodeArithmeticMedian>("hex.builtin.nodes.arithmetic", "hex.builtin.nodes.arithmetic.median");
ContentRegistry::DataProcessorNode::add<NodeBufferCombine>("hex.builtin.nodes.buffer", "hex.builtin.nodes.buffer.combine");
ContentRegistry::DataProcessorNode::add<NodeBufferSlice>("hex.builtin.nodes.buffer", "hex.builtin.nodes.buffer.slice");
ContentRegistry::DataProcessorNode::add<NodeBufferRepeat>("hex.builtin.nodes.buffer", "hex.builtin.nodes.buffer.repeat");
ContentRegistry::DataProcessorNode::add<NodeBufferPatch>("hex.builtin.nodes.buffer", "hex.builtin.nodes.buffer.patch");
ContentRegistry::DataProcessorNode::add<NodeIf>("hex.builtin.nodes.control_flow", "hex.builtin.nodes.control_flow.if");
ContentRegistry::DataProcessorNode::add<NodeEquals>("hex.builtin.nodes.control_flow", "hex.builtin.nodes.control_flow.equals");

View File

@@ -545,10 +545,12 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.display", "Anzeigen" },
{ "hex.builtin.nodes.display.int", "Integral" },
{ "hex.builtin.nodes.display.int.header", "Integral Anzeige" },
{ "hex.builtin.nodes.display.int.input", "Wert" },
{ "hex.builtin.nodes.display.float", "Kommazahl" },
{ "hex.builtin.nodes.display.float.header", "Kommazahl Anzeige" },
{ "hex.builtin.nodes.display.float.input", "Wert" },
{ "hex.builtin.nodes.display.buffer", "Buffer" },
{ "hex.builtin.nodes.display.buffer.header", "Buffer Anzeige" },
{ "hex.builtin.nodes.display.string", "String" },
{ "hex.builtin.nodes.display.string.header", "String Anzeige" },
{ "hex.builtin.nodes.data_access", "Datenzugriff" },
{ "hex.builtin.nodes.data_access.read", "Lesen" },
@@ -589,6 +591,10 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.arithmetic.div.header", "Durch" },
{ "hex.builtin.nodes.arithmetic.mod", "Modulus" },
{ "hex.builtin.nodes.arithmetic.mod.header", "Modulo" },
{ "hex.builtin.nodes.arithmetic.average", "Durchschnitt" },
{ "hex.builtin.nodes.arithmetic.average.header", "Durchschnitt" },
{ "hex.builtin.nodes.arithmetic.median", "Median" },
{ "hex.builtin.nodes.arithmetic.median.header", "Median" },
{ "hex.builtin.nodes.buffer", "Buffer" },
{ "hex.builtin.nodes.buffer.combine", "Kombinieren" },
@@ -602,6 +608,9 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.buffer.repeat.header", "Buffer wiederholen" },
{ "hex.builtin.nodes.buffer.repeat.input.buffer", "Input" },
{ "hex.builtin.nodes.buffer.repeat.input.count", "Anzahl" },
{ "hex.builtin.nodes.buffer.patch", "Patch" },
{ "hex.builtin.nodes.buffer.patch.header", "Patch" },
{ "hex.builtin.nodes.buffer.patch.input.patch", "Patch" },
{ "hex.builtin.nodes.control_flow", "Kontrollfluss" },
{ "hex.builtin.nodes.control_flow.if", "If" },

View File

@@ -550,10 +550,12 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.display", "Display" },
{ "hex.builtin.nodes.display.int", "Integer" },
{ "hex.builtin.nodes.display.int.header", "Integer display" },
{ "hex.builtin.nodes.display.int.input", "Value" },
{ "hex.builtin.nodes.display.float", "Float" },
{ "hex.builtin.nodes.display.float.header", "Float display" },
{ "hex.builtin.nodes.display.float.input", "Value" },
{ "hex.builtin.nodes.display.buffer", "Buffer" },
{ "hex.builtin.nodes.display.buffer.header", "Buffer display" },
{ "hex.builtin.nodes.display.string", "String" },
{ "hex.builtin.nodes.display.string.header", "String display" },
{ "hex.builtin.nodes.data_access", "Data access" },
{ "hex.builtin.nodes.data_access.read", "Read" },
@@ -594,6 +596,10 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.arithmetic.div.header", "Divide" },
{ "hex.builtin.nodes.arithmetic.mod", "Modulus" },
{ "hex.builtin.nodes.arithmetic.mod.header", "Modulo" },
{ "hex.builtin.nodes.arithmetic.average", "Average" },
{ "hex.builtin.nodes.arithmetic.average.header", "Average" },
{ "hex.builtin.nodes.arithmetic.median", "Median" },
{ "hex.builtin.nodes.arithmetic.median.header", "Median" },
{ "hex.builtin.nodes.buffer", "Buffer" },
{ "hex.builtin.nodes.buffer.combine", "Combine" },
@@ -607,6 +613,9 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.buffer.repeat.header", "Repeat buffer" },
{ "hex.builtin.nodes.buffer.repeat.input.buffer", "Input" },
{ "hex.builtin.nodes.buffer.repeat.input.count", "Count" },
{ "hex.builtin.nodes.buffer.patch", "Patch" },
{ "hex.builtin.nodes.buffer.patch.header", "Patch" },
{ "hex.builtin.nodes.buffer.patch.input.patch", "Patch" },
{ "hex.builtin.nodes.control_flow", "Control flow" },
{ "hex.builtin.nodes.control_flow.if", "If" },

View File

@@ -555,10 +555,12 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.display", "Mostra" },
{ "hex.builtin.nodes.display.int", "Intero" },
{ "hex.builtin.nodes.display.int.header", "Mostra Intero" },
{ "hex.builtin.nodes.display.int.input", "Valore" },
{ "hex.builtin.nodes.display.float", "Float" },
{ "hex.builtin.nodes.display.float.header", "Mostra Float" },
{ "hex.builtin.nodes.display.float.input", "Valore" },
// { "hex.builtin.nodes.display.buffer", "Buffer" },
// { "hex.builtin.nodes.display.buffer.header", "Buffer display" },
// { "hex.builtin.nodes.display.string", "String" },
// { "hex.builtin.nodes.display.string.header", "String display" },
{ "hex.builtin.nodes.data_access", "Accesso ai Dati" },
{ "hex.builtin.nodes.data_access.read", "Leggi" },
@@ -599,6 +601,10 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.arithmetic.div.header", "Dividi" },
{ "hex.builtin.nodes.arithmetic.mod", "Modulo" },
{ "hex.builtin.nodes.arithmetic.mod.header", "Modulo" },
// { "hex.builtin.nodes.arithmetic.average", "Average" },
// { "hex.builtin.nodes.arithmetic.average.header", "Average" },
// { "hex.builtin.nodes.arithmetic.median", "Median" },
// { "hex.builtin.nodes.arithmetic.median.header", "Median" },
{ "hex.builtin.nodes.buffer", "Buffer" },
{ "hex.builtin.nodes.buffer.combine", "Combina" },
@@ -612,6 +618,9 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.buffer.repeat.header", "Ripeti buffer" },
{ "hex.builtin.nodes.buffer.repeat.input.buffer", "Input" },
{ "hex.builtin.nodes.buffer.repeat.input.count", "Conta" },
// { "hex.builtin.nodes.buffer.patch", "Patch" },
// { "hex.builtin.nodes.buffer.patch.header", "Patch" },
// { "hex.builtin.nodes.buffer.patch.input.patch", "Patch" },
{ "hex.builtin.nodes.control_flow", "Controlla Flusso" },
{ "hex.builtin.nodes.control_flow.if", "Se" },

View File

@@ -553,10 +553,12 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.display", "表示" },
{ "hex.builtin.nodes.display.int", "整数" },
{ "hex.builtin.nodes.display.int.header", "整数表示" },
{ "hex.builtin.nodes.display.int.input", "" },
{ "hex.builtin.nodes.display.float", "小数" },
{ "hex.builtin.nodes.display.float.header", "小数表示" },
{ "hex.builtin.nodes.display.float.input", "" },
// { "hex.builtin.nodes.display.buffer", "Buffer" },
// { "hex.builtin.nodes.display.buffer.header", "Buffer display" },
// { "hex.builtin.nodes.display.string", "String" },
// { "hex.builtin.nodes.display.string.header", "String display" },
{ "hex.builtin.nodes.data_access", "データアクセス" },
{ "hex.builtin.nodes.data_access.read", "読み込み" },
@@ -597,6 +599,10 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.arithmetic.div.header", "除算" },
{ "hex.builtin.nodes.arithmetic.mod", "剰余(余り)" },
{ "hex.builtin.nodes.arithmetic.mod.header", "剰余" },
// { "hex.builtin.nodes.arithmetic.average", "Average" },
// { "hex.builtin.nodes.arithmetic.average.header", "Average" },
// { "hex.builtin.nodes.arithmetic.median", "Median" },
// { "hex.builtin.nodes.arithmetic.median.header", "Median" },
{ "hex.builtin.nodes.buffer", "バッファ" },
{ "hex.builtin.nodes.buffer.combine", "結合" },
@@ -609,6 +615,9 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.buffer.repeat.header", "バッファを繰り返し" },
//{ "hex.builtin.nodes.buffer.repeat.input.buffer", "Input" },
{ "hex.builtin.nodes.buffer.repeat.input.count", "カウント" },
// { "hex.builtin.nodes.buffer.patch", "Patch" },
// { "hex.builtin.nodes.buffer.patch.header", "Patch" },
// { "hex.builtin.nodes.buffer.patch.input.patch", "Patch" },
{ "hex.builtin.nodes.control_flow", "制御フロー" },
{ "hex.builtin.nodes.control_flow.if", "If" },

View File

@@ -549,10 +549,12 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.display", "디스플레이" },
{ "hex.builtin.nodes.display.int", "정수" },
{ "hex.builtin.nodes.display.int.header", "정수 디스플레이" },
{ "hex.builtin.nodes.display.int.input", "" },
{ "hex.builtin.nodes.display.float", "실수" },
{ "hex.builtin.nodes.display.float.header", "실수 디스플레이" },
{ "hex.builtin.nodes.display.float.input", "" },
// { "hex.builtin.nodes.display.buffer", "Buffer" },
// { "hex.builtin.nodes.display.buffer.header", "Buffer display" },
// { "hex.builtin.nodes.display.string", "String" },
// { "hex.builtin.nodes.display.string.header", "String display" },
{ "hex.builtin.nodes.data_access", "데이터 접근" },
{ "hex.builtin.nodes.data_access.read", "읽기" },
@@ -593,6 +595,10 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.arithmetic.div.header", "나눗셈" },
{ "hex.builtin.nodes.arithmetic.mod", "나머지" },
{ "hex.builtin.nodes.arithmetic.mod.header", "나머지" },
// { "hex.builtin.nodes.arithmetic.average", "Average" },
// { "hex.builtin.nodes.arithmetic.average.header", "Average" },
// { "hex.builtin.nodes.arithmetic.median", "Median" },
// { "hex.builtin.nodes.arithmetic.median.header", "Median" },
{ "hex.builtin.nodes.buffer", "버퍼" },
{ "hex.builtin.nodes.buffer.combine", "합치기" },
@@ -606,6 +612,9 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.buffer.repeat.header", "버퍼 반복" },
//{ "hex.builtin.nodes.buffer.repeat.input.buffer", "Input" },
{ "hex.builtin.nodes.buffer.repeat.input.count", "개수" },
// { "hex.builtin.nodes.buffer.patch", "Patch" },
// { "hex.builtin.nodes.buffer.patch.header", "Patch" },
// { "hex.builtin.nodes.buffer.patch.input.patch", "Patch" },
{ "hex.builtin.nodes.control_flow", "데이터 플로우" },
{ "hex.builtin.nodes.control_flow.if", "If" },

View File

@@ -548,10 +548,12 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.display", "Display" },
{ "hex.builtin.nodes.display.int", "Integer" },
{ "hex.builtin.nodes.display.int.header", "Integer display" },
{ "hex.builtin.nodes.display.int.input", "Value" },
{ "hex.builtin.nodes.display.float", "Float" },
{ "hex.builtin.nodes.display.float.header", "Float display" },
{ "hex.builtin.nodes.display.float.input", "Value" },
// { "hex.builtin.nodes.display.buffer", "Buffer" },
// { "hex.builtin.nodes.display.buffer.header", "Buffer display" },
// { "hex.builtin.nodes.display.string", "String" },
// { "hex.builtin.nodes.display.string.header", "String display" },
{ "hex.builtin.nodes.data_access", "Acesso de dados" },
{ "hex.builtin.nodes.data_access.read", "Ler" },
@@ -592,6 +594,10 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.arithmetic.div.header", "Dividir" },
{ "hex.builtin.nodes.arithmetic.mod", "Módulos" },
{ "hex.builtin.nodes.arithmetic.mod.header", "Módulo" },
// { "hex.builtin.nodes.arithmetic.average", "Average" },
// { "hex.builtin.nodes.arithmetic.average.header", "Average" },
// { "hex.builtin.nodes.arithmetic.median", "Median" },
// { "hex.builtin.nodes.arithmetic.median.header", "Median" },
{ "hex.builtin.nodes.buffer", "Buffer" },
{ "hex.builtin.nodes.buffer.combine", "Combinar" },
@@ -605,6 +611,9 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.buffer.repeat.header", "Repetir buffer" },
//{ "hex.builtin.nodes.buffer.repeat.input.buffer", "Input" },
{ "hex.builtin.nodes.buffer.repeat.input.count", "Contar" },
// { "hex.builtin.nodes.buffer.patch", "Patch" },
// { "hex.builtin.nodes.buffer.patch.header", "Patch" },
// { "hex.builtin.nodes.buffer.patch.input.patch", "Patch" },
{ "hex.builtin.nodes.control_flow", "Control flow" },
{ "hex.builtin.nodes.control_flow.if", "If" },

View File

@@ -550,10 +550,12 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.display", "显示" },
{ "hex.builtin.nodes.display.int", "整数" },
{ "hex.builtin.nodes.display.int.header", "整数显示" },
{ "hex.builtin.nodes.display.float.input", "" },
{ "hex.builtin.nodes.display.float", "浮点数" },
{ "hex.builtin.nodes.display.float.header", "浮点数显示" },
{ "hex.builtin.nodes.display.float.input", "" },
// { "hex.builtin.nodes.display.buffer", "Buffer" },
// { "hex.builtin.nodes.display.buffer.header", "Buffer display" },
// { "hex.builtin.nodes.display.string", "String" },
// { "hex.builtin.nodes.display.string.header", "String display" },
{ "hex.builtin.nodes.data_access", "数据访问" },
{ "hex.builtin.nodes.data_access.read", "读取" },
@@ -594,6 +596,10 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.arithmetic.div.header", "除法" },
{ "hex.builtin.nodes.arithmetic.mod", "取模" },
{ "hex.builtin.nodes.arithmetic.mod.header", "取模" },
// { "hex.builtin.nodes.arithmetic.average", "Average" },
// { "hex.builtin.nodes.arithmetic.average.header", "Average" },
// { "hex.builtin.nodes.arithmetic.median", "Median" },
// { "hex.builtin.nodes.arithmetic.median.header", "Median" },
{ "hex.builtin.nodes.buffer", "缓冲区" },
{ "hex.builtin.nodes.buffer.combine", "组合" },
@@ -607,6 +613,9 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.buffer.repeat.header", "缓冲区重复" },
{ "hex.builtin.nodes.buffer.repeat.input.buffer", "输入" },
{ "hex.builtin.nodes.buffer.repeat.input.count", "次数" },
// { "hex.builtin.nodes.buffer.patch", "Patch" },
// { "hex.builtin.nodes.buffer.patch.header", "Patch" },
// { "hex.builtin.nodes.buffer.patch.input.patch", "Patch" },
{ "hex.builtin.nodes.control_flow", "控制流" },
{ "hex.builtin.nodes.control_flow.if", "如果" },

View File

@@ -548,10 +548,12 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.display", "顯示" },
{ "hex.builtin.nodes.display.int", "整數" },
{ "hex.builtin.nodes.display.int.header", "整數顯示" },
{ "hex.builtin.nodes.display.int.input", "數值" },
{ "hex.builtin.nodes.display.float", "浮點數" },
{ "hex.builtin.nodes.display.float.header", "浮點數顯示" },
{ "hex.builtin.nodes.display.float.input", "數值" },
// { "hex.builtin.nodes.display.buffer", "Buffer" },
// { "hex.builtin.nodes.display.buffer.header", "Buffer display" },
// { "hex.builtin.nodes.display.string", "String" },
// { "hex.builtin.nodes.display.string.header", "String display" },
{ "hex.builtin.nodes.data_access", "資料存取" },
{ "hex.builtin.nodes.data_access.read", "讀取" },
@@ -592,6 +594,10 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.arithmetic.div.header", "" },
{ "hex.builtin.nodes.arithmetic.mod", "取模" },
{ "hex.builtin.nodes.arithmetic.mod.header", "" },
// { "hex.builtin.nodes.arithmetic.average", "Average" },
// { "hex.builtin.nodes.arithmetic.average.header", "Average" },
// { "hex.builtin.nodes.arithmetic.median", "Median" },
// { "hex.builtin.nodes.arithmetic.median.header", "Median" },
{ "hex.builtin.nodes.buffer", "Buffer" },
{ "hex.builtin.nodes.buffer.combine", "Combine" },
@@ -605,6 +611,9 @@ namespace hex::plugin::builtin {
{ "hex.builtin.nodes.buffer.repeat.header", "Repeat buffer" },
//{ "hex.builtin.nodes.buffer.repeat.input.buffer", "Input" },
{ "hex.builtin.nodes.buffer.repeat.input.count", "Count" },
// { "hex.builtin.nodes.buffer.patch", "Patch" },
// { "hex.builtin.nodes.buffer.patch.header", "Patch" },
// { "hex.builtin.nodes.buffer.patch.input.patch", "Patch" },
{ "hex.builtin.nodes.control_flow", "Control flow" },
{ "hex.builtin.nodes.control_flow.if", "如果" },