aboutsummaryrefslogtreecommitdiff
path: root/TestDLL
diff options
context:
space:
mode:
authorToni Uhlig <matzeton@googlemail.com>2019-10-03 15:26:19 +0200
committerToni Uhlig <matzeton@googlemail.com>2019-10-03 15:26:19 +0200
commit203cac2755126415ca3ddc338aa1ff1d91b68666 (patch)
treeda4c97c14bf0ff2afbe4227f865fe022f5408577 /TestDLL
parentd5dc2b11047dcdefaa25c556d803dcdf43ab3e1b (diff)
SSystemGlobalEnvironment done
Diffstat (limited to 'TestDLL')
-rw-r--r--TestDLL/HuntClasses.h115
-rw-r--r--TestDLL/dllmain.cpp37
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",