diff options
author | Toni Uhlig <matzeton@googlemail.com> | 2019-10-03 15:26:19 +0200 |
---|---|---|
committer | Toni Uhlig <matzeton@googlemail.com> | 2019-10-03 15:26:19 +0200 |
commit | 203cac2755126415ca3ddc338aa1ff1d91b68666 (patch) | |
tree | da4c97c14bf0ff2afbe4227f865fe022f5408577 /TestDLL | |
parent | d5dc2b11047dcdefaa25c556d803dcdf43ab3e1b (diff) |
SSystemGlobalEnvironment done
Diffstat (limited to 'TestDLL')
-rw-r--r-- | TestDLL/HuntClasses.h | 115 | ||||
-rw-r--r-- | TestDLL/dllmain.cpp | 37 |
2 files changed, 69 insertions, 83 deletions
diff --git a/TestDLL/HuntClasses.h b/TestDLL/HuntClasses.h index 01a99ee..b7c7191 100644 --- a/TestDLL/HuntClasses.h +++ b/TestDLL/HuntClasses.h @@ -463,84 +463,65 @@ struct IGameFramework }; struct SSystemGlobalEnvironment { - UINT64 pDialogSystem; - UINT64 p3DEngine; - UINT64 pNetwork; - UINT64 pNetContext; - UINT64 pLobby; - UINT64 pScriptSystem; - UINT64 pPhysicalWorld; - UINT64 pFlowSystem; - UINT64 pInput; - UINT64 pStatoscope; - UINT64 pCryPak; - UINT64 pFileChangeMonitor; - UINT64 pParticleManager; - UINT64 pOpticsManager; - UINT64 pTimer; - UINT64 pCryFont; UINT64 ukn_00; - UINT64 pLocalMemoryUsage; - IGameFramework* pGameFramework; UINT64 ukn_01; + UINT64 ukn_02; + UINT64 ukn_03; + UINT64 ukn_04; + UINT64 ukn_05; + UINT64 ukn_06; + UINT64 ukn_07; + UINT64 ukn_08; + UINT64 ukn_09; + UINT64 ukn_10; + UINT64 ukn_11; + UINT64 ukn_12; + UINT64 ukn_13; + UINT64 ukn_14; + UINT64 ukn_15; + UINT64 ukn_16; + UINT64 ukn_17; + IGameFramework* pGameFramework; + UINT64 ukn_18; IEntitySystem* pEntitySystem; + UINT64 ukn_19; + UINT64 ukn_20; ISystem* pSystem; - UINT64 pCharacterManager; - UINT64 pAISystem; - UINT64 pLog; - UINT64 pCodeCheckpointMgr; - UINT64 pMovieSystem; - UINT64 pNameTable; + UINT64 ukn_21; + UINT64 ukn_22; + UINT64 ukn_23; + UINT64 ukn_24; + UINT64 ukn_25; + UINT64 ukn_26; IRenderer* pRenderer; - IRenderAuxGeom* pAuxGeomRenderer; - UINT64 pHardwareMouse; - UINT64 pMaterialEffects; - UINT64 pJobManager; - UINT64 pOverloadSceneManager; - UINT64 pFlashUI; - UINT64 pUIFramework; - UINT64 pServiceNetwork; - UINT64 pRemoteCommandManager; - UINT64 pDynamicResponseSystem; - UINT64 pThreadManager; - UINT64 pScaleformHelper; - UINT64 pSchematyc; - UINT64 pSchematyc2; - UINT64 pReflection; - UINT64 pScriptCoreEnv; - UINT64 pScriptCoreRegistry; - UINT64 pUDR; - UINT64 pLiveCreateManager; - UINT64 pLiveCreateHost; - UINT64 pMonoRuntime; + IRenderAuxGeom* pAuxGeomRenderer; /* NullAuxGeromRenderer */ + UINT64 ukn_27; + UINT64 ukn_28; + UINT64 ukn_29; + UINT64 ukn_30; + UINT64 ukn_31; + UINT64 ukn_32; + UINT64 ukn_33; + UINT64 ukn_34; + UINT64 ukn_35; + UINT64 ukn_36; + UINT64 ukn_37; + UINT64 ukn_38; + UINT64 ukn_39; + UINT64 ukn_40; + UINT64 ukn_41; + UINT64 ukn_42; + UINT64 ukn_43; + UINT64 ukn_44; + UINT64 ukn_45; + UINT64 ukn_46; UINT32 mMainThreadId; UINT32 nMainFrameID; - UINT64 szCmdLine; + LPCSTR szCmdLine; CHAR szDebugStatus[128]; BOOL bServer; BOOL bMultiplayer; BOOL bHostMigrating; - UCHAR padding_00; - UINT64 startProfilingSection; - UINT64 endProfilingSection; - UINT64 recordProfilingMarker; - BOOL bUnattendedMode; - BOOL bTesting; - BOOL bNoRandomSeed; - UCHAR padding_01; - UINT32 assertSettings; - UCHAR platformInfo[286]; - UCHAR protectedFunctions[80]; - BOOL bIsOutOfMemory; - BOOL bIsOutOfVideoMemory; - BOOL bDedicatedArbitrator; - BOOL bEditor; - BOOL bEditorGameMode; - BOOL bEditorSimulationMode; - BOOL bDedicated; - BOOL bClient; - BOOL m_isFMVPlaying; - BOOL m_isCutscenePlaying; }; struct ISystem diff --git a/TestDLL/dllmain.cpp b/TestDLL/dllmain.cpp index ea10877..3090d90 100644 --- a/TestDLL/dllmain.cpp +++ b/TestDLL/dllmain.cpp @@ -260,23 +260,28 @@ void APIENTRY LibEntry(PVOID user_ptr) return; } - char buf[128]; - snprintf(buf, sizeof buf, "---%X,%X,%X,%X,%X---%s---%X,%X,%X,%X,%X---%p---\n", - iEnt->GetSystem()->GetGlobalEnvironment()->pGameFramework->IsGamePaused(), - iEnt->GetSystem()->GetGlobalEnvironment()->pGameFramework->IsGameStarted(), - - iEnt->GetSystem()->GetGlobalEnvironment()->pGameFramework->CanSave(), - iEnt->GetSystem()->GetGlobalEnvironment()->pGameFramework->CanLoad(), - iEnt->GetSystem()->GetGlobalEnvironment()->pGameFramework->CanCheat(), - iEnt->GetSystem()->GetGlobalEnvironment()->pGameFramework->GetLevelName(), + if (iEnt->GetSystem() != iEnt->GetSystem()->GetGlobalEnvironment()->pSystem) { + char errbuf[128]; + snprintf(errbuf, sizeof errbuf, + "WARNING: ISystem interface instance not equal: IEntitySystem[%p] != pSystem[%p]\n", + iEnt->GetSystem(), iEnt->GetSystem()->GetGlobalEnvironment()->pSystem); + MessageBoxA(NULL, + errbuf, + "Hunted WARNING", + MB_OK | MB_ICONINFORMATION); + return; + } - iEnt->GetSystem()->GetGlobalEnvironment()->pGameFramework->IsEditing(), - iEnt->GetSystem()->GetGlobalEnvironment()->pGameFramework->IsInLevelLoad(), - iEnt->GetSystem()->GetGlobalEnvironment()->pGameFramework->IsLoadingSaveGame(), - iEnt->GetSystem()->GetGlobalEnvironment()->pGameFramework->IsInTimeDemo(), - iEnt->GetSystem()->GetGlobalEnvironment()->pGameFramework->IsTimeDemoRecording(), - iEnt->GetSystem()->GetGlobalEnvironment()->pGameFramework->GetIPersistantDebug() - ); + char buf[128]; + snprintf(buf, sizeof buf, "---%p,%p---%d,%d----%X,%X,%X---\n", + iEnt->GetSystem(), + iEnt->GetSystem()->GetGlobalEnvironment()->pSystem, + iEnt->GetSystem()->GetGlobalEnvironment()->pRenderer->GetWidth(), + iEnt->GetSystem()->GetGlobalEnvironment()->pRenderer->GetOverlayWidth(), + iEnt->GetSystem()->GetGlobalEnvironment()->bServer, + iEnt->GetSystem()->GetGlobalEnvironment()->bMultiplayer, + iEnt->GetSystem()->GetGlobalEnvironment()->bHostMigrating + ); MessageBoxA(NULL, buf, "TestDLL Notification", |