mxgmn / WaveFunctionCollapse

Bitmap & tilemap generation from a single example with the help of ideas from quantum mechanics
Other
23.05k stars 1.23k forks source link

Can't run it on Mac OS #63

Closed mlevin77 closed 4 years ago

mlevin77 commented 4 years ago

I am trying to run it on Mac OS (10.13). I've downloaded the dotnet and installed it as indicated on the main page of this package. I then run with

% ./dotnet run ~/Desktop/WaveFunctionCollapse-master/WaveFunctionCollapse.csproj --project ~/Desktop/WaveFunctionCollapse-master/

and I see:

It was not possible to find any compatible framework version The framework 'Microsoft.NETCore.App', version '2.1.0' was not found.

You can resolve the problem by installing the specified framework and/or SDK.

The specified framework can be found at:

but that URL lists only Windows and Linux versions. How is the Mac version of dotnet supposed to run this if it needs something that doesn't exist for Mac? Apologies, I know nothing about the dotnet world... Am a biologist with background in C and Unix from many years back... What am I doing wrong?

kchapelier commented 4 years ago

Try downloading the 2.1 SDK from this link instead: https://dotnet.microsoft.com/download/dotnet-core/2.1 (not sure why dotnet doesn't give you this link when it errors out)

You might also try using Mono instead, it's personnally what I used to make it run on macOS Sierra. There are two issues with information about this : https://github.com/mxgmn/WaveFunctionCollapse/issues/39#issuecomment-428410275 & https://github.com/mxgmn/WaveFunctionCollapse/issues/3

mlevin77 commented 4 years ago

I installed the 2.1 SDK and I get:

% /usr/local/share/dotnet/dotnet run WaveFunctionCollapse.csproj < Chess

Unhandled Exception: System.TypeInitializationException: The type initializer for 'Gdip' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'libgdiplus': The specified module could not be found. at System.Runtime.InteropServices.FunctionWrapper`1.get_Delegate() at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output) at System.Drawing.SafeNativeMethods.Gdip..cctor() --- End of inner exception stack trace --- at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromFile(String filename, IntPtr& bitmap) at System.Drawing.Bitmap..ctor(String filename, Boolean useIcm) at OverlappingModel..ctor(String name, Int32 N, Int32 width, Int32 height, Boolean periodicInput, Boolean periodicOutput, Int32 symmetry, Int32 ground) in /Users/mlevin/Desktop/WaveFunctionCollapse-master/OverlappingModel.cs:line 27 at Program.Main() in /Users/mlevin/Desktop/WaveFunctionCollapse-master/Main.cs:line 29

mlevin77 commented 4 years ago

update. I installed Brew and did "$ brew install mono mono-libgdiplus" and now it seems to work. But

run WaveFunctionCollapse.csproj

processes all of the supplied examples. Is there a manual somewhere that explains how to create my own example and have it make the tilemap?

mxgmn commented 4 years ago

You need to describe the tileset like this and then link it from samples.xml. You can comment out other examples there.