mirror of
https://github.com/hedge-dev/XenonRecomp.git
synced 2025-04-23 01:01:26 +00:00
41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
#include "pch.h"
|
|
#include "swa_recompiler.h"
|
|
#include "test_recompiler.h"
|
|
|
|
// argv 1: xex file path
|
|
// argv 2: switches toml file path
|
|
// argv 3: output directory path
|
|
|
|
int main(int argc, char* argv[])
|
|
{
|
|
if (strstr(argv[1], ".xex") != nullptr)
|
|
{
|
|
SWARecompiler recompiler;
|
|
//recompiler.config.skipLr = true;
|
|
recompiler.config.ctrAsLocalVariable = true;
|
|
recompiler.config.xerAsLocalVariable = true;
|
|
recompiler.config.reservedRegisterAsLocalVariable = true;
|
|
recompiler.config.skipMsr = true;
|
|
recompiler.config.crRegistersAsLocalVariables = true;
|
|
recompiler.config.nonArgumentRegistersAsLocalVariables = true;
|
|
recompiler.config.nonVolatileRegistersAsLocalVariables = true;
|
|
|
|
std::println("Loading executable...");
|
|
recompiler.LoadExecutable(argv[1]);
|
|
|
|
std::println("Loading switch tables...");
|
|
recompiler.LoadSwitchTables(argv[2]);
|
|
|
|
std::println("Analysing functions...");
|
|
recompiler.Analyse();
|
|
|
|
recompiler.Recompile(argv[3]);
|
|
}
|
|
else
|
|
{
|
|
TestRecompiler::RecompileTests(argv[1], argv[2]);
|
|
}
|
|
|
|
return 0;
|
|
}
|