Files
PS2Recomp/ps2xAnalyzer/include/ps2recomp/sce_symbol_scanner.h
Ranieri 7562ec14c9 better analyzer and integrating sce-symbol-scanner (#130)
* feat: modularize elf analyzer
feat: added experimental sce symbol scanner
feat: change analyzer order
feat: small optimizations on analyzer

* feat: remove example_config.toml because its causing confusion on some people

* feat: embed sce symbol but leave optional import path
feat: killed skip function on analyzer but leave it so you can skip manual if you want

* feat: pin elfio tag

* feat: manually create string view with size

* feat: update ghidra script
2026-06-06 23:37:12 -03:00

40 lines
826 B
C++

#ifndef PS2RECOMP_SCE_SYMBOL_SCANNER_H
#define PS2RECOMP_SCE_SYMBOL_SCANNER_H
#include <cstdint>
#include <memory>
#include <string>
#include <vector>
namespace ps2recomp
{
struct Section;
struct SceSymbolMatch
{
uint32_t address = 0;
uint32_t size = 0;
std::string name;
std::string library;
std::string hash;
uint32_t variantHash = 0;
};
class SceSymbolScanner
{
public:
SceSymbolScanner();
~SceSymbolScanner();
bool loadDatabase(const std::string &databasePath);
std::vector<SceSymbolMatch> scan(const std::vector<Section> &sections) const;
const std::string &lastError() const;
private:
class Impl;
std::unique_ptr<Impl> m_impl;
};
}
#endif // PS2RECOMP_SCE_SYMBOL_SCANNER_H