File tree Expand file tree Collapse file tree 1 file changed +28
-2
lines changed
Expand file tree Collapse file tree 1 file changed +28
-2
lines changed Original file line number Diff line number Diff line change 11#pragma once
22
3+ #include < Windows.h>
34#include < scripthookv/inc/main.h>
45
6+ #include " Util/Logging.h"
7+
58enum class GameVersion
69{
710 GTA5_LEGACY,
@@ -10,8 +13,31 @@ enum class GameVersion
1013
1114inline GameVersion GetGame ()
1215{
13- static GameVersion result = getGameVersion () > 1000 ? GameVersion ::GTA5_ENHANCED : GameVersion ::GTA5_LEGACY ;
14- return result ;
16+ static bool gotResultFromSHV = false ;
17+ static GameVersion version;
18+
19+ static auto versionFromFilename = []() -> GameVersion
20+ {
21+ WCHAR moduleName[MAX_PATH];
22+ GetModuleFileName (NULL , moduleName, MAX_PATH);
23+ std::wstring ws (moduleName);
24+ return ws.ends_with (L" _Enhanced.exe" ) ? GameVersion::GTA5_ENHANCED : GameVersion::GTA5_LEGACY;
25+ }();
26+
27+ if (!gotResultFromSHV)
28+ {
29+ auto v = getGameVersion ();
30+ if (v != -1 )
31+ {
32+ gotResultFromSHV = true ;
33+ version = v > 1000 ? GameVersion::GTA5_ENHANCED : GameVersion::GTA5_LEGACY;
34+ }
35+ else
36+ {
37+ version = versionFromFilename;
38+ }
39+ }
40+ return version;
1541}
1642
1743inline bool IsEnhanced ()
You can’t perform that action at this time.
0 commit comments