BrawlCrate icon indicating copy to clipboard operation
BrawlCrate copied to clipboard

Make BrawlCrate more Crossplatform

Open Miepee opened this issue 3 years ago • 3 comments

Is your feature request related to a problem? Please describe. Currently this tool is locked to Windows only, due to it relying heavily on .NET Framework and Windows Forms.

Describe the solution you'd like Make it possible to use this on Linux/MacOS. This would require:

  • [ ] Using .NET Core for BrawlCrate and preferably .NET standard for BrawlLib
  • [ ] Using a different UI Framework that is cross-platform

For what it's worth, I currently cannot use WINE nor MONO on Linux. Haven't tested anything on Mac. Wine crashes with the following on boot:

Crash message
Unhandled Exception:
System.TypeInitializationException: The type initializer for 'BrawlCrate.Program' threw an exception. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at System.Configuration.CustomizableFileSettingsProvider.CreateUserConfigPath () [0x0012c] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.CustomizableFileSettingsProvider.CreateExeMap () [0x0000b] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.CustomizableFileSettingsProvider.GetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection collection) [0x00000] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.LocalFileSettingsProvider.GetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection properties) [0x00000] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.ApplicationSettingsBase.CacheValuesByProvider (System.Configuration.SettingsProvider provider) [0x0005b] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.ApplicationSettingsBase.set_Item (System.String propertyName, System.Object value) [0x00058] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at BrawlCrate.Properties.Settings.set_UpdateSettings (System.Boolean value) [0x00000] in <601f7ccf9aef49e9a0bfdce9979dc368>:0 
  at BrawlCrate.Program..cctor () [0x00146] in <601f7ccf9aef49e9a0bfdce9979dc368>:0 
   --- End of inner exception stack trace ---
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'BrawlCrate.Program' threw an exception. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at System.Configuration.CustomizableFileSettingsProvider.CreateUserConfigPath () [0x0012c] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.CustomizableFileSettingsProvider.CreateExeMap () [0x0000b] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.CustomizableFileSettingsProvider.GetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection collection) [0x00000] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.LocalFileSettingsProvider.GetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection properties) [0x00000] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.ApplicationSettingsBase.CacheValuesByProvider (System.Configuration.SettingsProvider provider) [0x0005b] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.ApplicationSettingsBase.set_Item (System.String propertyName, System.Object value) [0x00058] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at BrawlCrate.Properties.Settings.set_UpdateSettings (System.Boolean value) [0x00000] in <601f7ccf9aef49e9a0bfdce9979dc368>:0 
  at BrawlCrate.Program..cctor () [0x00146] in <601f7ccf9aef49e9a0bfdce9979dc368>:0 

While mono crashes as soon as I open a file: image

Miepee avatar Feb 11 '22 12:02 Miepee

A complete rewrite is in progress to address this.

soopercool101 avatar Feb 11 '22 19:02 soopercool101

You can try using Bottles. It creates a WINE Prefix with some DLL overrides that allow BrawlCrate to run. I've only noticed a few graphical issues so far. image

Sonico98 avatar Mar 06 '22 15:03 Sonico98