Here are the following steps I did to build BrawlBox with Mono:
Download packages with nuget: change directory to BrawlBox and run nuget install, mkdir ../packages, then mv IronPython.2.7.5 IronPython.StdLib.2.7.5 ../packages
Comment out lines 10 and 327-347 of BrawlLib/System/Windows/Forms/TextureConverterDialog.cs
Comment out line 116 of BrawlLib/BrawlLib.csproj
Comment out lines 1026 and 1034-1045 of BrawlBox/BrawlBox.csproj
PresentationFramework is not implemented as part of Mono. This means that commit d24bf3779bc8e1547de30a38de077ac103ea9ddb / PR #54 broke compilation support for Mono.
Also, it appears that the post-build commands do not work for some reason.
BrawlBox no longer runs on newer versions of Mono on macOS since they build for 64-bit only, and the Carbon port of System.Windows.Forms will never be complete since Apple never updated Carbon for 64-bit. I'm not sure if there's any progress on a Cocoa port of System.Windows.Forms.
However, Wine works fine for running BrawlBox, except that the GUI may behave erratically. Also, lines 18-22 in BrawlLib/System/Audio/AudioProvider.cs needs to be commented out in order for the "Open" dialog to work properly in Wine-Mono:
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentException: Value must be a Com object.
Parameter name: o
at System.Runtime.InteropServices.Marshal.ReleaseComObject (System.Object o) [0x0001b] in <1c90db0b17cb4b1e827d577d0607b212>:0
at System.Runtime.InteropServices.Marshal.FinalReleaseComObject (System.Object o) [0x00000] in <1c90db0b17cb4b1e827d577d0607b212>:0
at System.Audio.wAudioProvider.Dispose () [0x00016] in <6b6181dd22fe4a18a59eb89739f999a0>:0
at System.Audio.AudioProvider.Finalize () [0x00002] in <6b6181dd22fe4a18a59eb89739f999a0>:0
Also, setting a dll search path is not supported in Wine-Mono, as seen here:
0009:fixme:mscoree:parse_probing privatePath=L"lib" not implemented
Here are the following steps I did to build BrawlBox with Mono:
nuget install
,mkdir ../packages
, thenmv IronPython.2.7.5 IronPython.StdLib.2.7.5 ../packages
PresentationFramework is not implemented as part of Mono. This means that commit d24bf3779bc8e1547de30a38de077ac103ea9ddb / PR #54 broke compilation support for Mono.
Also, it appears that the post-build commands do not work for some reason.
BrawlBox no longer runs on newer versions of Mono on macOS since they build for 64-bit only, and the Carbon port of System.Windows.Forms will never be complete since Apple never updated Carbon for 64-bit. I'm not sure if there's any progress on a Cocoa port of System.Windows.Forms.
However, Wine works fine for running BrawlBox, except that the GUI may behave erratically. Also, lines 18-22 in BrawlLib/System/Audio/AudioProvider.cs needs to be commented out in order for the "Open" dialog to work properly in Wine-Mono:
Also, setting a dll search path is not supported in Wine-Mono, as seen here: