// CGFXSpec - [2020-04-13 11:57:46] #ifndef _CGFXSPEC_H_ #define _CGFXSPEC_H_ #include "CFTTXmlReaderNode.h" #include "CFTTAndroidGraphicsSettings.h" #include "CPitchShader.h" #include "CPlayerShader.h" /* 0018E728 CGFXSpec::Initialise() 0018E878 CGFXSpec::Platform_InspectDevice() 0018EEF4 CGFXSpec::UpdateGraphicsFromConfig(CFTTXmlReaderNode *) 0018F41C CGFXSpec::ApplyResolutionClamp(CFTTXmlReaderNode *) */ struct GFXSPEC_Specification { int dFPS_0; float fLODMultGame_4; float fLODMultNIS_8; float fRTTScaleFactorX_C; float fRTTScaleFactorY_10; int iAtlasWidth_14; int iAtlasHeight_18; int iKitTexFormat_1C; int iKitDims_20; bool bSoftShadows_24; bool bEnvObjectShadows_25; bool bGameplayStadium_26; bool bCrowdAnimated_27; bool bDropTexMips_28; bool field_29; bool field_2A; bool field_2B; int eEnableDOF_2C; bool bEnableDepthFog_30; bool bEnableReflection_31; bool bEnableGodRays_32; bool bHighQualityNet_33; uchar uy_34; uchar uy_35; uchar uy_36; uchar uy_37; const char *pVHSShader_38; bool bHighQualityGroundShadows_3C; bool b3DGrass_3D; bool bFloatEnvMap_3E; bool bDynNormMap_3F; int eAntiAliasing_40; EPlayerShader_Quality ePlayerLightingQuality_44; EPitchShader_Quality eHighQualityGrass_48; int eCrowdQuality_4C; int iMinMaxResolution_50; bool bForce16Bit_54; bool b_55; bool b_56; bool b_57; }; extern GFXSPEC_Specification *GFXSPEC_pSpecification; class CGFXSpec { public: static void Initialise(); // 0018E728 static void Platform_InspectDevice(); // 0018E878 static void UpdateGraphicsFromConfig(CFTTXmlReaderNode *pXmlNode); // 0018EEF4 static void ApplyResolutionClamp(CFTTXmlReaderNode *pXmlNode); // 0018F41C static char s_cDeviceReport[0x1000]; static char s_cDeviceAnalyticsString[512]; }; #endif //_CGFXSPEC_H_