View difference between Paste ID: xhfrzJRq and eXv0Ut9x
SHOW: | | - or go back to the newest paste.
1
class IMotionSensor;
2
class IFileSystem;
3
class IGMHTML;
4
5
class IGet
6
{
7
public:
8
	virtual void OnLoadFailed(char const*) = 0;
9
	virtual const char* GameDir(void) = 0;
10
	virtual bool IsDedicatedServer(void) = 0;
11
	virtual void* FileSystem(void) = 0;
12
	virtual void* LuaShared(void) = 0;
13
	virtual void* LuaConVars(void) = 0;
14
	virtual void* MenuSystem(void) = 0;
15
	virtual void* Resources(void) = 0;
16
	virtual void* IntroScreen(void) = 0;
17
	virtual void* Materials(void) = 0;
18
	virtual IGMHTML* HTML(void) = 0;
19
	virtual void* ServerAddons(void) = 0;
20
	virtual void* SteamHTTP(void) = 0;
21
	virtual void* SteamRemoteStorage(void) = 0;
22
	virtual void* SteamUtils(void) = 0;
23
	virtual void* SteamApps(void) = 0;
24
	virtual void* SteamScreenshots(void) = 0;
25
	virtual void* SteamUser(void) = 0;
26
	virtual void* SteamFriends(void) = 0;
27
	virtual void* SteamUGC(void) = 0;
28
	virtual void* SteamGameServer(void) = 0;
29
	virtual void Initialize(IFileSystem *) = 0;
30
	virtual void ShutDown(void) = 0;
31
	virtual void RunSteamCallbacks(void) = 0;
32
	virtual void SetMotionSensor(IMotionSensor *) = 0;
33
	virtual IMotionSensor* MotionSensor(void) = 0;
34
	virtual unsigned long Version(void) = 0;
35
	virtual const char* VersionStr(void) = 0;
36
	virtual void* Audio(void) = 0;
37
	virtual const char* VersionTimeStr(void) = 0;
38
};
39
40
IGet* GetCGet()
41
{
42
        static IGet* s_pGet = NULL;
43
        if(s_pGet) return s_pGet;
44
45
	FactoryFn SharedFn = (FactoryFn)GetProcAddress(
46
		GetModuleHandle("lua_shared.dll"),"CreateInterface");
47
	if(!SharedFn) return NULL;
48
49
	DWORD dwInit = (*SharedFn("LUASHARED003",0))[1];
50
	return (s_pGet = **(IGet***)((char*)dwInit+0x08));
51
}