diff --git a/src/controller.cpp b/src/controller.cpp index f7c1b2d..9b0cecc 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -1321,10 +1321,6 @@ void RcxController::applyCommand(const Command& command, bool isUndo) { int idx = tree.indexOfId(c.nodeId); if (idx >= 0) tree.nodes[idx].isStatic = isUndo ? c.oldVal : c.newVal; - } else if constexpr (std::is_same_v) { - int idx = tree.indexOfId(c.nodeId); - if (idx >= 0) - tree.nodes[idx].isRelative = isUndo ? c.oldVal : c.newVal; } }, command); @@ -2107,21 +2103,6 @@ void RcxController::showContextMenu(RcxEditor* editor, int line, int nodeIdx, hasConvert = true; } - // Toggle relative pointer (RVA: target = base + value) - if (node.kind == NodeKind::Pointer64 || node.kind == NodeKind::Pointer32) { - QString label = node.isRelative - ? QStringLiteral("Pointer is Absolute") - : QStringLiteral("Pointer is &Relative (base + value)"); - convertMenu->addAction(label, [this, nodeId]() { - int ni = m_doc->tree.indexOfId(nodeId); - if (ni < 0) return; - const Node& n = m_doc->tree.nodes[ni]; - m_doc->undoStack.push(new RcxCommand(this, - cmd::ToggleRelative{n.id, n.isRelative, !n.isRelative})); - }); - hasConvert = true; - } - // Split hex node into two half-sized hex nodes if (node.kind == NodeKind::Hex64) { convertMenu->addAction("Split to hex32+hex32", [this, nodeId]() { @@ -3496,10 +3477,6 @@ void RcxController::collectPointerRanges( : m_snapshotProv->readU64(ptrAddr); if (ptrVal == 0 || ptrVal == UINT64_MAX) continue; - // Relative pointer (RVA): target = base + value - if (child.isRelative) - ptrVal += memBase; - uint64_t pBase = ptrVal; collectPointerRanges(child.refId, pBase, depth + 1, maxDepth, visited, ranges);