#include #include #include #include #include #include #include "content/views/view_disassembler.hpp" using namespace hex; using namespace hex::plugin::disasm; namespace hex::plugin::disasm { void drawDisassemblyVisualizer(pl::ptrn::Pattern &, bool, std::span arguments); void registerPatternLanguageTypes(); void registerCapstoneArchitectures(); void registerCustomArchitectures(); } namespace { void registerViews() { ContentRegistry::Views::add(); } void registerPlVisualizers() { using ParamCount = pl::api::FunctionParameterCount; ContentRegistry::PatternLanguage::addVisualizer("disassembler", drawDisassemblyVisualizer, ParamCount::exactly(3)); } } IMHEX_PLUGIN_SETUP("Disassembler", "WerWolv", "Disassembler support") { hex::log::debug("Using romfs: '{}'", romfs::name()); hex::LocalizationManager::addLanguages(romfs::get("lang/languages.json").string(), [](const std::filesystem::path &path) { return romfs::get(path).string(); }); registerViews(); registerPlVisualizers(); registerPatternLanguageTypes(); registerCapstoneArchitectures(); registerCustomArchitectures(); }