in particular I think part of the code is the culprit.
// Until Epic updates FPostOpaqueRenderDelegate, define SIMUL_UE412_OLD_DEFS to make equivalent, if not using the Simul branch of UE. #ifdef SIMUL_UE412_OLD_DEFS
typedef FPostOpaqueRenderParameters FRenderDelegateParameters;
typedef FPostOpaqueRenderDelegate FRenderDelegate; #endif