Originally Posted by
HexMurder
Lots of hard work. Debugging, Reversing, C++ing.
Just lol. It took about 1 minute to find the 2 needed address. The code I came up with is just 16 lines.
Code:
#include <fstream>
#include <algorithm>
struct DvarDumper
{
DvarDumper(const char* fileName)
{
std::fstream file { fileName, std::ios::out | std::ios::app };
std::for_each(reinterpret_cast<const char***>(0x063EF348), reinterpret_cast<const char***>(0x063EF348) + *reinterpret_cast<size_t*>(0x063EF320),
[&file](auto dvar)
{
file << "Name: " << *dvar << "\nDescription: " << *(dvar + 1) << "\nAddress: 0x" << dvar << "\n\n";
});
file.close();
}
} dvarDumper("dvars.txt");
Compile it as a dll (you will need C++14) and inject. The addresses are for an older version of MW2. (I don't have WaW installed atm)