libdo

Untitled

Oct 15th, 2017
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
Add Comment
Please, Sign In to add comment