mirror of
https://github.com/galaxyhaxz/devilution
synced 2025-02-22 12:34:59 +00:00
71 lines
1.1 KiB
C++
71 lines
1.1 KiB
C++
#include "diablo.h"
|
|
|
|
BOOL SystemSupported()
|
|
{
|
|
BOOL v0; // di
|
|
struct _OSVERSIONINFOA VersionInformation; // [esp+4h] [ebp-94h]
|
|
|
|
v0 = 0;
|
|
memset(&VersionInformation, 0, 0x94u);
|
|
VersionInformation.dwOSVersionInfoSize = 148;
|
|
if ( GetVersionEx(&VersionInformation)
|
|
&& VersionInformation.dwPlatformId == 2
|
|
&& VersionInformation.dwMajorVersion >= 5 )
|
|
{
|
|
v0 = 1;
|
|
}
|
|
return v0;
|
|
}
|
|
|
|
BOOL RestrictedTest()
|
|
{
|
|
BOOL v0; // si
|
|
FILE *v2; // eax
|
|
char Buffer[260]; // [esp+4h] [ebp-104h]
|
|
|
|
v0 = 0;
|
|
if ( SystemSupported() && GetWindowsDirectory(Buffer, 0x104u) )
|
|
{
|
|
strcat(Buffer, "\\Diablo1RestrictedTest.foo");
|
|
v2 = fopen(Buffer, "wt");
|
|
if ( v2 )
|
|
{
|
|
fclose(v2);
|
|
remove(Buffer);
|
|
}
|
|
else
|
|
{
|
|
v0 = 1;
|
|
}
|
|
}
|
|
return v0;
|
|
}
|
|
|
|
BOOL ReadOnlyTest()
|
|
{
|
|
BOOL v0; // si
|
|
char *v1; // eax
|
|
FILE *v2; // eax
|
|
char Filename[260]; // [esp+4h] [ebp-104h]
|
|
|
|
v0 = 0;
|
|
if ( GetModuleFileName(ghInst, Filename, 0x104u) )
|
|
{
|
|
v1 = strrchr(Filename, '\\');
|
|
if ( v1 )
|
|
{
|
|
strcpy(v1 + 1, "Diablo1ReadOnlyTest.foo");
|
|
v2 = fopen(Filename, "wt");
|
|
if ( v2 )
|
|
{
|
|
fclose(v2);
|
|
remove(Filename);
|
|
}
|
|
else
|
|
{
|
|
v0 = 1;
|
|
}
|
|
}
|
|
}
|
|
return v0;
|
|
}
|