roice3 / MagicTile

Non-euclidean Rubik's Cube Analogues
http://www.gravitation3d.com/magictile
MIT License
87 stars 12 forks source link

No puzzles #29

Closed ChristopherKing42 closed 6 years ago

ChristopherKing42 commented 6 years ago

I was trying to run MagicTile on Ubuntu 16.04, and although it kind of worked, I realized it has no puzzles:

screenshot 2018-03-28 at 8 01 45 pm

The default puzzle works, but Tetrahedron does not load (and it says there are 0 puzzles in the bottom right).

Command line dump, in case its helpful:

$ xiwi -T wine MagicTile.exe 
...
Cannot open /sys/class/tty/tty0/active: No such file or directory
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:wincodecs:PngDecoder_Block_GetCount 0x166fbc0,0x33eec8: stub
fixme:wincodecs:PngDecoder_Block_GetCount 0x166fbc0,0x33eec8: stub
fixme:wincodecs:PngDecoder_Block_GetCount 0x166fbc0,0x33eec8: stub
MainForm initialized.
Missing method System.String::Format(IFormatProvider,string,object) in assembly C:\windows\mono\mono-2.0\lib\mono\4.5\mscorlib.dll, referenced in assembly Z:\home\theking\Downloads\MagicTile_3-27-18\MagicTile.exe
Menus built.
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
MainForm constructed.
fixme:win:EnumDisplayDevicesW ((null),0,0x33d180,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),1,0x33d180,0x00000000), stub!
Building Puzzle...
creating underlying tiling...
fixme:gdiplus:GdipGetLineSpacing ignoring style
fixme:gdiplus:GdipGetLineSpacing ignoring style
precalculating identification isometries...
adding in cells...
analyzing topology...
marking cells for state calcs...
slicing up template tile...
adding in stickers...
setting up texture coordinates...
preparing twisting...
preparing surface data...
loading and preparing irp data...
calculating fundamental domain boundary...
Number of colors:24
Number of tiles:5000
Number of cells:4877
Number of stickers per cell:15
roice3 commented 6 years ago

I'm guessing you are running the Windows version via Wine? If so, that build didn't have the recent fixes, so I just pulled the latest and rebuilt (download).

Let me know if I'm not correct on that though. I literally just googled what Wine was and made my guess based on this stackexchange post.

ChristopherKing42 commented 6 years ago

I used the Mac version via wine.

ChristopherKing42 commented 6 years ago

I also tried your download link, and it had the same issue (when used with wine). I'm going to try via mono.

ChristopherKing42 commented 6 years ago

Peculiar, I tried the mac version using the mono-complete package, and it still shows 0 puzzles. Perhaps its an issue with Ubuntu 16.04?

$ mono -V
Mono JIT compiler version 4.2.1 (Debian 4.2.1.102+dfsg2-7ubuntu4)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          softdebug 
        LLVM:          supported, not enabled.
        GC:            sgen
roice3 commented 6 years ago

I couldn’t deduce what exactly was wrong from the traced output. Curious...when did you last update mono?

ChristopherKing42 commented 6 years ago

Rather recently, although Ubuntu usually uses old versions of packages.

ChristopherKing42 commented 6 years ago

Ah, there we go. I got mono from http://www.mono-project.com/download/stable/#download-lin-ubuntu and it fixed the issue.

I would note though that wine is much more common on linux, and pretty similar to mono, so it might be good to add wine support (especially since many features appear to already work on wine).

ChristopherKing42 commented 6 years ago

Although, for some reason the original Rubik's cube isn't working right (its trying to display it hyperbolically).

NVM: It works, but only with hemisphere-disks.

roice3 commented 6 years ago

interesting, do any of the spherical puzzles work in the normal stereographic projection mode?

ChristopherKing42 commented 6 years ago

@roice3 It does not appear so (here is what the rubik's cube looks like, btw: screenshot 2018-03-29 at 9 29 32 am)

ChristopherKing42 commented 6 years ago

Although I was able to get surface display working for spherical puzzles (but not hyperbolic ones).

roice3 commented 6 years ago

ah, that's an OpenGL problem. The technique I use with the stencil buffer to draw concave polygons clearly isn't working, leading to a box surrounding each sticker instead. Might be a limitation of the video card, and unfortunately, I don't think I can do anything about it.

roice3 commented 6 years ago

It works in hemisphere disks and surface mode because that drawing is using textures (like the hyperbolic puzzles).

We could open a separate issue to allow drawing spherical puzzles via textures. The reason I didn't do that is because of stickers that get inverted by stereographic projection, but probably that could be dealt with.

ChristopherKing42 commented 6 years ago

Okay, well the hemisphere view works well enough. Is there maybe a way to detect which models are views are supported by the computer?