Skip to content

Commit

Permalink
Wineskin-2.9.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Gcenx committed Apr 1, 2022
1 parent 404b7ba commit c4c6ee9
Show file tree
Hide file tree
Showing 85 changed files with 1,243 additions and 1,742 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="I7D-v8-nnF">
<rect key="frame" x="18" y="189" width="240" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Compress Engine (Slows repacking)" bezelStyle="regularSquare" imagePosition="left" enabled="NO" state="on" inset="2" id="jkh-MG-QV6">
<buttonCell key="cell" type="check" title="Compress Engine (Slows repacking)" bezelStyle="regularSquare" imagePosition="left" enabled="NO" inset="2" id="jkh-MG-QV6">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
Expand Down Expand Up @@ -1247,11 +1247,11 @@ Gw
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
</box>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="769">
<rect key="frame" x="21" y="195" width="463" height="229"/>
<rect key="frame" x="21" y="195" width="466" height="229"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" selectable="YES" editable="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="770">
<font key="font" metaFont="system"/>
<mutableString key="title">--disable-option-checking --disable-tests --without-alsa --without-capi --with-cms --with-coreaudio --with-cups --with-curses --without-dbus --with-faudio --without-fontconfig --with-freetype --without-gcrypt --without-gettext --without-gettextpo --without-gphoto --with-glu --with-gnutls --without-gsm --without-gssapi --with-gstreamer --without-gtk3 --without-hal --without-inotify --with-jpeg --without-krb5 --without-ldap --with-mingw --with-mpg123 --without-netapi --with-openal --with-opencl --with-opengl --without-osmesa --without-oss --with-pcap --with-png --with-pthread --without-pulse --without-sane --with-sdl --with-tiff --without-udev --with-unwind --without-v4l2 --without-vkd3d --without-xcomposite --without-xcursor --without-xfixes --without-xinerama --without-xinput --without-xinput2 --with-xml --without-xrandr --without-xrender --without-xshape --without-xshm --with-xslt --without-xxf86vm --with-zlib --without-x --without-va</mutableString>
<string key="title">--disable-option-checking --disable-tests --without-alsa --without-capi --with-cms --with-coreaudio --with-cups --with-curses --without-dbus --with-faudio --without-fontconfig --with-freetype --without-gcrypt --without-gettext --without-gettextpo --without-gphoto --with-glu --with-gnutls --without-gsm --without-gssapi --with-gstreamer --without-gtk3 --without-hal --without-inotify --with-jpeg --without-krb5 --with-ldap --with-mingw --with-mpg123 --without-netapi --with-openal --with-opencl --with-opengl --without-osmesa --without-oss --with-pcap --with-png --with-pthread --without-pulse --without-sane --with-sdl --with-tiff --without-udev --with-unwind --without-v4l2 --without-vkd3d --without-xcomposite --without-xcursor --without-xfixes --without-xinerama --without-xinput --without-xinput2 --with-xml --without-xrandr --without-xrender --without-xshape --without-xshm --with-xslt --without-xxf86vm --with-zlib --without-x --without-va</string>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
Expand Down
3 changes: 3 additions & 0 deletions Wineskin Winery/NSWineskinEngine.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,10 @@ typedef enum {
-(NSString*)engineName;
-(NSString*)localPath;
-(NSString*)wineOfficialBuildDirectLink;
-(BOOL)isCompatibleWith32on64Bit;
-(BOOL)isCompatibleWithMacDriver;
-(BOOL)isCompatibleWithLatestFreeType;
-(BOOL)requiresXquartz;
-(BOOL)isCompatibleWithCsmt;
-(BOOL)csmtUsesNewRegistry;
-(BOOL)isCompatibleWithHighQualityMode;
Expand Down
129 changes: 119 additions & 10 deletions Wineskin Winery/NSWineskinEngine.m
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
//

#import "NSWineskinEngine.h"
#import "Wineskin_Winery_Prefix.pch"

#define MINIMUM_ENGINE_NAME_LENGTH 4

Expand All @@ -15,8 +16,6 @@
#define DEFAULT_WINESKIN_ENGINE_IDENTIFIER @"WS"
#define DEFAULT_WINESKIN_ENGINE_VERSION 10

#define WINESKIN_LIBRARY_ENGINES_FOLDER [NSString stringWithFormat:@"%@/Library/Application Support/Wineskin/Engines",NSHomeDirectory()]

static NSString *const REGEX_VALID_WINESKIN_ENGINE = @"[A-Z]{2}[0-9]+Wine(CX|CXG|Staging|Proton)?(Gnutls|Vulkan)?(64Bit)?[0-9\\.]+[^\\n]*";
static NSString *const REGEX_VALID_WINESKIN_WINE_ENGINE = @"[A-Z]{2}[0-9]+Wine(Gnutls|Vulkan)?(64Bit)?[0-9\\.]+[^\\n]*";
static NSString *const REGEX_VALID_WINESKIN_STAGING_ENGINE = @"[A-Z]{2}[0-9]+WineStaging(Gnutls|Vulkan)?(64Bit)?[0-9\\.]+[^\\n]*";
Expand Down Expand Up @@ -156,7 +155,7 @@ +(NSMutableArray*)getListOfAvailableEnginesOffline
NSString* supportedExtension = @".tar.7z";
NSMutableArray* list = [[NSMutableArray alloc] init];

NSArray* fileList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:WINESKIN_LIBRARY_ENGINES_FOLDER];
NSArray* fileList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:WINESKIN_ENGINES];
for (NSString* file in fileList)
{
if (file.length > IDENTIFIER_PREFIX_LENGTH)
Expand Down Expand Up @@ -492,6 +491,49 @@ -(NSString*)wineOfficialBuildDirectLink {
return [NSString stringWithFormat:@"http://dl.winehq.org/wine-builds/macosx/pool/%@.tar.gz",filename];
}

-(BOOL)isCompatibleWith32on64Bit
{
switch (self.engineType)
{
case NSWineskinEngineCrossOverGames:

//
// https://www.codeweavers.com/products/more-information/changelog#10.3.0

return false;

case NSWineskinEngineCrossOver:

//
// https://www.codeweavers.com/products/more-information/changelog#19.0.0
if (self.is64Bit) return true;
return [self isWineVersionAtLeast:@"19.0.0"];

case NSWineskinEngineWineStaging:

//
// https://github.com/wine-staging/wine-staging/releases?after=v
if (self.is64Bit) return true;
return false;

case NSWineskinEngineProton:
if (self.is64Bit) return true;
return false;

case NSWineskinEngineWine:

//
// https://www.winehq.org/announce/
if (self.is64Bit) return true;
return false;

default:
break;
}

return true;
}

-(BOOL)isCompatibleWithMacDriver
{
switch (self.engineType)
Expand Down Expand Up @@ -533,6 +575,70 @@ -(BOOL)isCompatibleWithMacDriver

return true;
}

-(BOOL)isCompatibleWithLatestFreeType
{
// Freetype 2.8.1 breaks Wine
switch (self.engineType)
{
case NSWineskinEngineCrossOverGames:

return false;

case NSWineskinEngineCrossOver:

// CrossOver 18 is based on Wine 3.14
// https://www.codeweavers.com/products/more-information/changelog#18.0.0

return [self isWineVersionAtLeast:@"18.0.0"];

case NSWineskinEngineWineStaging:

// FreeType 2.8.1 compatibility fixes
// https://bugs.winehq.org/show_bug.cgi?id=43715
// https://bugs.winehq.org/show_bug.cgi?id=43716

return [self isWineVersionAtLeast:@"2.18"];

case NSWineskinEngineWine:

// FreeType 2.8.1 compatibility fixes
// https://bugs.winehq.org/show_bug.cgi?id=43715
// https://bugs.winehq.org/show_bug.cgi?id=43716

return [self isWineVersionAtLeast:@"2.18"];

default:
break;
}

return true;
}

// Legacy Engines used png14.14/15.15 these are no longer provided
-(BOOL)requiresXquartz
{
switch (self.engineType)
{
case NSWineskinEngineCrossOverGames:
return false;

case NSWineskinEngineCrossOver:
return [self isWineVersionAtLeast:@"19.0.0"];

case NSWineskinEngineWineStaging:
return [self isWineVersionAtLeast:@"5.8"];

case NSWineskinEngineWine:
return [self isWineVersionAtLeast:@"5.8"];

default:
break;
}

return true;
}

-(BOOL)isCompatibleWithCsmt
{
switch (self.engineType)
Expand Down Expand Up @@ -595,12 +701,11 @@ -(BOOL)csmtUsesNewRegistry

case NSWineskinEngineCrossOver:

// As of 2017-10-02 (CX 16.2.5), CX last merge with Wine was with Wine 2.0, so it doesn't have Wine's CSMT,
// but Wine's CSMT may have came from CrossOver, so CrossOver CSMT possibly always had the new registry.
// TODO: Needs to check, and might change in the future in case 'false'

return false;
// CrossOver 18 is based on Wine 3.14
// https://www.codeweavers.com/products/more-information/changelog#18.0.0

return [self isWineVersionAtLeast:@"18.0.0"];

case NSWineskinEngineWineStaging:

// Technically, Staging CSMT should have been replaced by Wine's in 1.9.10
Expand Down Expand Up @@ -843,6 +948,7 @@ -(BOOL)requiresManualDownload
if (self.vulkanEnabled) return true;
if (self.gnutlsEnabled) return true;
if (self.complement != nil && [self.complement isEqualToString:@"Fix"]) return true;
if (self.engineVersion == DEFAULT_WINESKIN_ENGINE_VERSION) return true;

switch (self.engineType)
{
Expand All @@ -860,6 +966,9 @@ -(BOOL)requiresManualDownload
if (![self isWineVersionAtLeast:@"2.4-3"]) return true;
break;

// if ([self isWineVersionAtLeast:@"1.9.6"] && ![self isWineVersionAtLeast:@"1.9.10"]) return false;
//return true;

case NSWineskinEngineWine:
if (self.is64Bit) return false;
if (![self isWineVersionAtLeast:@"2.0"]) return true;
Expand All @@ -875,7 +984,7 @@ -(BOOL)requiresManualDownload
+(NSString*)localPathForEngine:(NSString*)engine
{
NSArray* validExtensions = @[@"tar.7z"];
NSArray* enginesList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:WINESKIN_LIBRARY_ENGINES_FOLDER];
NSArray* enginesList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:WINESKIN_ENGINES];

for (NSString* engineFileName in enginesList)
{
Expand All @@ -897,7 +1006,7 @@ +(NSString*)localPathForEngine:(NSString*)engine

if ([engine isEqualToString:engineFileNameNoExtension])
{
return [NSString stringWithFormat:@"%@/%@",WINESKIN_LIBRARY_ENGINES_FOLDER,engineFileName];
return [NSString stringWithFormat:@"%@/%@",WINESKIN_ENGINES,engineFileName];
}
}
}
Expand Down
Binary file removed Wineskin Winery/WS7za
Binary file not shown.
Loading

0 comments on commit c4c6ee9

Please sign in to comment.