I am not the original author of this tool. I am rehosting it with permission.
Visual Studio 2022
- Include C++ ATL for v143
CMake
-
Clone the repository
-
Find you local DIA_SDK folder, for VS 2022 it is in "Microsoft Visual Studio\2022\Community\DIA SDK"
-
Copy the contents of the folder to external_deps in the repository folder, "RE-UVTD\external_deps\DIA_SDK"
-
Open Command Prompt in the repository folder
-
Run the following command:
cmake CMakeLists.txt
-
Open the generated solution file in Visual Studio
-
Build the solution
- Copy the file "msdia140.dll" from "C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\Common7\IDE" or your VS installation path to the folder where the executable is located
- Create a folder named "PDBs" in the same folder as the executable
- Copy the PDB files of the UE engine versions you want to analyze to the "PDBs" folder. PDBs from source engine builds are preferred
- Run the executable
- Follow the directions in the console window
Add the class or struct name to the following variables and function implementations in the format used for each
static std::vector<ObjectItem> s_object_items
static std::unordered_set<File::StringType> s_valid_udt_names
auto static is_valid_type_to_dump(File::StringType type_name) -> bool
-
Copy the PDB files of the UE engine versions you want to analyze to the "PDBs" folder. PDBs from source engine builds are preferred
-
Go to the function implementation for main() found at line 1672 in UVTD_DIA.cpp
-
Add the following code with the naming of your PDB file
TRY([&] { { VTableDumper vtable_dumper{"PDBs/4_XX.pdb"}; vtable_dumper.generate_code(vtable_or_member_vars); } CoUninitialize(); });
Make types to dump be gathered from a config file rather than through editing source
Other cleanup