diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c index be55a5a8c1..db1e086467 100644 --- a/dlls/ntdll/directory.c +++ b/dlls/ntdll/directory.c @@ -2674,6 +2674,14 @@ NTSTATUS nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, ANSI_STRING * NTSTATUS status; BOOLEAN check_case = !(attr->Attributes & OBJ_CASE_INSENSITIVE); + const char *sgi = getenv("SteamGameId"); + if (sgi && !strcmp(sgi, "703080")) { + TRACE("Forcing case-insensitivity for Planet Zoo\n"); + BOOLEAN check_case = 0; + } else { + BOOLEAN check_case = !(attr->Attributes & OBJ_CASE_INSENSITIVE); + } + if (!attr->RootDirectory) /* without root dir fall back to normal lookup */ return wine_nt_to_unix_file_name( attr->ObjectName, unix_name_ret, disposition, check_case ); diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c index a9770290e0..de23419c5c 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c @@ -214,6 +214,12 @@ static NTSTATUS FILE_CreateFile( PHANDLE handle, ACCESS_MASK access, POBJECT_ATT if (alloc_size) FIXME( "alloc_size not supported\n" ); + const char *sgi = getenv("SteamGameId"); + if (sgi && !strcmp(sgi, "703080")) { + TRACE("Forcing case-insensitive lookup for Planet Zoo\n"); + attr->Attributes |= OBJ_CASE_INSENSITIVE; + } + if (options & FILE_OPEN_BY_FILE_ID) io->u.Status = file_id_to_unix_file_name( attr, &unix_name ); else