aboutsummaryrefslogtreecommitdiff
path: root/tools/ghidra/ExportControlFunctions.java
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-09-06 04:22:12 +0300
committerValentin Popov <valentin@popov.link>2026-09-06 04:22:12 +0300
commitaa51f3574d3d4d4e0fa59653eedd718fceb5d1bd (patch)
tree9a43f6a3f3c86767e4e2b7316051562d96789f06 /tools/ghidra/ExportControlFunctions.java
parentda03e77f53bb33b2fe203ac45578289953a1b524 (diff)
downloadfparkan-aa51f3574d3d4d4e0fa59653eedd718fceb5d1bd.tar.xz
fparkan-aa51f3574d3d4d4e0fa59653eedd718fceb5d1bd.zip
chore: simplify project to engine docs and tests
Remove planning and acceptance scaffolding while retaining the native Vulkan mission preview, format readers, runtime algorithms, and ordinary Rust tests. Keep the book aligned with the runnable project and validate checked-in shaders without generated tool metadata.
Diffstat (limited to 'tools/ghidra/ExportControlFunctions.java')
-rw-r--r--tools/ghidra/ExportControlFunctions.java35
1 files changed, 0 insertions, 35 deletions
diff --git a/tools/ghidra/ExportControlFunctions.java b/tools/ghidra/ExportControlFunctions.java
deleted file mode 100644
index 0a31023..0000000
--- a/tools/ghidra/ExportControlFunctions.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// Emits decompiled C for the stable public Control.dll exports.
-// Run only through Ghidra headless analysis; it does not modify the input PE.
-import ghidra.app.decompiler.DecompInterface;
-import ghidra.app.script.GhidraScript;
-import ghidra.program.model.address.Address;
-import ghidra.program.model.listing.Function;
-
-public class ExportControlFunctions extends GhidraScript {
- private static final String[] NAMES = {
- "InitializeSettings", "LoadControlSystem", "LoadPhysicalModel",
- "CreateCollManager", "CreateCollObject"
- };
- private static final long[] ADDRESSES = {
- 0x10032260L, 0x10032280L, 0x10032580L, 0x100325d0L, 0x10032600L
- };
-
- @Override
- public void run() throws Exception {
- DecompInterface decompiler = new DecompInterface();
- decompiler.openProgram(currentProgram);
- for (int index = 0; index < NAMES.length; index++) {
- Address address = currentProgram.getAddressFactory()
- .getDefaultAddressSpace().getAddress(ADDRESSES[index]);
- Function function = currentProgram.getFunctionManager().getFunctionAt(address);
- println("\n===== " + NAMES[index] + " =====");
- if (function == null) {
- println("missing");
- continue;
- }
- println(decompiler.decompileFunction(function, 60, monitor)
- .getDecompiledFunction().getC());
- }
- decompiler.dispose();
- }
-}