PCH and recursive dump
This commit is contained in:
parent
47d35aa3a2
commit
7fab525f42
|
@ -52,6 +52,9 @@ target_sources(game_re PRIVATE
|
|||
# Ignore -Wformat-security
|
||||
target_compile_options(game_re PRIVATE -Wno-format-security)
|
||||
|
||||
# Ignore -Wmicrosoft-cast
|
||||
target_compile_options(game_re PRIVATE -Wno-microsoft-cast)
|
||||
|
||||
# Automatically re-run CMake if any gh_*.cxx files change
|
||||
# due to ghidra script runs
|
||||
set_property(
|
||||
|
@ -59,3 +62,7 @@ set_property(
|
|||
APPEND
|
||||
PROPERTY CMAKE_CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gh_cmake_timestamp
|
||||
)
|
||||
|
||||
target_precompile_headers(game_re PRIVATE
|
||||
"$<$<COMPILE_LANGUAGE:CXX>:${CMAKE_CURRENT_SOURCE_DIR}/r3/binders/auto_pch.cxx>"
|
||||
)
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
#include "auto.h"
|
|
@ -31,6 +31,8 @@ public class FunctionDumper {
|
|||
HashSet<Address> functionAddrBlackList = new HashSet<>();
|
||||
|
||||
public boolean createdFile = false;
|
||||
// Collects functions called by the current function
|
||||
public HashSet<Function> functionReferences = new HashSet<>();
|
||||
|
||||
static final Pattern fieldAccessRegex = Pattern.compile("^_([0-9]+)_([0-9]+)_$");
|
||||
|
||||
|
@ -101,6 +103,20 @@ public class FunctionDumper {
|
|||
}
|
||||
}
|
||||
|
||||
public static boolean isDumpedFix(Function function) {
|
||||
String sanitizedFunctionName = Utils.sanitizeIdentifier(function.getName());
|
||||
String fileName = sanitizedFunctionName + ".cxx";
|
||||
File f0 = new File(RecompileConfig.INSTANCE.dirDecompFix, fileName);
|
||||
return f0.exists();
|
||||
}
|
||||
|
||||
public static boolean isDumpedAuto(Function function) {
|
||||
String sanitizedFunctionName = Utils.sanitizeIdentifier(function.getName());
|
||||
String fileName = sanitizedFunctionName + ".cxx";
|
||||
File f0 = new File(RecompileConfig.INSTANCE.dirDecompAuto, fileName);
|
||||
return f0.exists();
|
||||
}
|
||||
|
||||
public void dump(Function function)
|
||||
throws Exception {
|
||||
String sanitizedFunctionName = Utils.sanitizeIdentifier(function.getName());
|
||||
|
@ -111,6 +127,7 @@ public class FunctionDumper {
|
|||
if (stubFile.exists()) {
|
||||
script.println("Removing function stub " + stubFile);
|
||||
stubFile.delete();
|
||||
createdFile = true;
|
||||
}
|
||||
|
||||
File f0 = new File(RecompileConfig.INSTANCE.dirDecompFix, fileName);
|
||||
|
|
Loading…
Reference in New Issue