Recovered/ holds the code linked only into the standalone exe (scripts/exe/build_exe.py), outside the Clank source dirs: - jsoncons/ and nProtect/ moved from scripts/exe/; GameGuard stand-in follows main's renamed entry points. - GPak/PakAuxiliary.cpp: Extract (virtualised in every build; 02-19 jumps out at 0x0065861E) rebuilt from the open GRF Editor decoder, after the visible 02-19 prologue; inline key and kRO keys 1-4. Apply traps (unreachable in 02-19). - GGHash/GGHash.cpp: CGGHash::Load/Check/VerifyHash trap (RagHash.dat check unreachable in 02-19). The whole client links: 984 units, 0 unresolved.
28 lines
886 B
C++
28 lines
886 B
C++
// CGGHash methods whose bodies are virtualised in every known Ragexe build
|
|
// (02-19: Load jumps out at 0x004013A9, Check at 0x00401641, VerifyHash at 0x00401786).
|
|
// Linked only into the standalone exe built by scripts/exe/build_exe.py; Clank never
|
|
// compiles this file.
|
|
//
|
|
// Not rebuilt: in 02-19 the RagHash.dat check is unreachable. Every caller leads back to
|
|
// fn_08197 (0x0076BE2A, creates CGGHashMgr), fn_08192 (0x0076B873) or fn_08194
|
|
// (0x0076B973), and none of those has an xref, call, jump, pointer or RVA in the image.
|
|
// No build or open project has the original logic, so these only trap if ever reached.
|
|
|
|
#include "Utility/GGHash.h"
|
|
|
|
#include <intrin.h>
|
|
|
|
BOOL CGGHash::Load(const wchar_t*) {
|
|
__debugbreak();
|
|
return FALSE;
|
|
}
|
|
|
|
int CGGHash::Check() {
|
|
__debugbreak();
|
|
return 0;
|
|
}
|
|
|
|
int CGGHash::VerifyHash(const wchar_t*, DWORD) {
|
|
__debugbreak();
|
|
return 0;
|
|
}
|