mirror of
https://github.com/ran-j/PS2Recomp.git
synced 2026-09-28 09:24:41 -04:00
7562ec14c9
* 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
40 lines
826 B
C++
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> §ions) const;
|
|
const std::string &lastError() const;
|
|
|
|
private:
|
|
class Impl;
|
|
std::unique_ptr<Impl> m_impl;
|
|
};
|
|
}
|
|
|
|
#endif // PS2RECOMP_SCE_SYMBOL_SCANNER_H
|