Page 1 of 3

OSX 10.10 (Yosemite) Bug

PostPosted: Wed Nov 26, 2014 3:24 am
by 2DForever
Hi all,

After following the instructions to make a successful build for 10.9, it looks like Apple have gone and changed something else for 10.10. Supermodel loads and runs everything just fine with the same build that worked for 10.9, but now every polygon appears black:
Image

Everything 2D seems to be fine, and the speed is also fine. Everything works as it should, apart from now it's a permanent night-time mode!

Would anyone have any idea as to why this might be happening? I'm wondering if the SDL 1.2 library doesn't play nicely with Yosemite?

Re: OSX 10.10 (Yosemite) Bug

PostPosted: Sun Dec 07, 2014 9:09 pm
by Bart
Very strange. This almost looks as though the 3D fragment shader isn't working. Unfortunately, without being able to test it myself, I can't confirm.

Re: OSX 10.10 (Yosemite) Bug

PostPosted: Sat Dec 13, 2014 9:12 am
by 2DForever
I'm certainly no programmer myself, so I wish I could help out. But if there's anything I can do, such as testing builds, let me know and I'll be happy to help.
Can anyone else on 10.10 (Yosemite) confirm this bug?

Re: OSX 10.10 (Yosemite) Bug

PostPosted: Sun Jul 19, 2015 7:26 am
by Rasterico
Yes, I've just updated to Yosemite and can confirm that it's exactly the same on my iMac :( all games were running perfectly on the older OS but now every single one displays this graphical glitch :(

Has anyone found a cure for it?

Re: OSX 10.10 (Yosemite) Bug

PostPosted: Sun Jul 19, 2015 6:05 pm
by Bart
Get in touch with me via email next week if you are patient enough to help me debug. We might be able to discover what's wrong by stripping down the current shader programs until they start working. It could take several iterations, though.

Re: OSX 10.10 (Yosemite) Bug

PostPosted: Wed Mar 02, 2016 9:36 pm
by hooby3dfx
Bumping this thread (to show signs of life) - the issue still exists.
Hoping to help in any way possible!

Re: OSX 10.10 (Yosemite) Bug

PostPosted: Sat Mar 05, 2016 4:35 pm
by 2DForever
Bart has kindly been trying out a few things with me as a tester, but we haven't looked at it for months now. From what I understand Bart is super busy with life, so it might take some time!

For those wondering, the bug is still present in OSX 10.11 as well.

Re: OSX 10.10 (Yosemite) Bug

PostPosted: Sat Mar 05, 2016 9:16 pm
by Bart
Although I personally have not had time to look into it, hope is not lost. Let's wait and see for a few weeks...

Re: OSX 10.10 (Yosemite) Bug

PostPosted: Tue Apr 12, 2016 7:01 am
by 2DForever
Hello all, I've attempted building Supermodel using the latest SVN (r345) and wanted to point out that it doesn't successfully build with 3 errors. This was done using the following steps that did work for previous builds of Supermodel (before the new graphics engine):

1. Download the latest SVN (r345 in this case);
2. Extract files;
3. Move the OSX make file from /Makesfiles/ to the root of your Supermodel folder;
4. Modify the OSX Makefile based on this thread;
5. Rename the OSX makefile to simply "makefile";
6. In terminal, change location to the Supermodel source folder, enter command "make";

Then it should compile. It stops after a few lines due to 3 errors which I have embedded below. I'm unsure if there are easy fixes or if it's something for the future, but I wanted to get it down while it's in my mind.

Code: Select all
Last login: Tue Apr 12 06:46:29 on console
Toms-MacBook-Pro:~ tom$ cd /Users/tom/Downloads/model3emu-code-345-trunk/
Toms-MacBook-Pro:model3emu-code-345-trunk tom$ make
mkdir bin
mkdir obj
gcc Src/CPU/PowerPC/PPCDisasm.cpp -Iobj -ISrc/ -ISrc/OSD -ISrc/OSD/SDL/ -ISrc/Pkgs/ -ISrc/CPU/68K/Musashi -ISrc/Sound/MPEG  -c -Wall -O3 -DUSE_FILE32API -DSUPERMODEL_OSX -F/Library/Frameworks/ -o obj/PPCDisasm.o
In file included from Src/CPU/PowerPC/PPCDisasm.cpp:39:
In file included from Src/Supermodel.h:121:
In file included from Src/Graphics/New3D/New3D.h:33:
Src/Graphics/New3D/TextureSheet.h:28:54: error: a space is required between
      consecutive right angle brackets (use '> >')
        std::unordered_multimap<int, std::shared_ptr<Texture>> m_texMap[8];
                                                            ^~
                                                            > >
In file included from Src/CPU/PowerPC/PPCDisasm.cpp:39:
In file included from Src/Supermodel.h:121:
In file included from Src/Graphics/New3D/New3D.h:35:
Src/Graphics/New3D/Model.h:33:13: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        int number = 4;
                   ^
Src/Graphics/New3D/Model.h:39:34: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        int format, x, y, width, height = 0;
                                        ^
Src/Graphics/New3D/Model.h:40:15: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        bool mirrorU = false;
                     ^
Src/Graphics/New3D/Model.h:41:15: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        bool mirrorV = false;
                     ^
Src/Graphics/New3D/Model.h:44:19: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        bool doubleSided        = false;
                                ^
Src/Graphics/New3D/Model.h:45:17: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        bool textured           = false;
                                ^
Src/Graphics/New3D/Model.h:46:18: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        bool polyAlpha          = false;                // specified in ...
                                ^
Src/Graphics/New3D/Model.h:47:20: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        bool textureAlpha       = false;                // use alpha in texture
                                ^
Src/Graphics/New3D/Model.h:48:18: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        bool alphaTest          = false;                // discard fragm...
                                ^
Src/Graphics/New3D/Model.h:49:17: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        bool lighting           = false;
                                ^
Src/Graphics/New3D/Model.h:50:16: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        bool testBit            = false;
                                ^
Src/Graphics/New3D/Model.h:51:18: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        bool clockWise          = true;                 // we need to ch...
                                ^
Src/Graphics/New3D/Model.h:53:21: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        float fogIntensity = 1.0f;
                           ^
Src/Graphics/New3D/Model.h:56:17: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        int vboOffset           = 0;                    // this will be ...
                                ^
Src/Graphics/New3D/Model.h:57:20: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        int triangleCount       = 0;
                                ^
Src/Graphics/New3D/Model.h:67:34: error: a space is required between consecutive
      right angle brackets (use '> >')
        std::shared_ptr<std::vector<Mesh>> meshes;      // this reason w...
                                        ^~
                                        > >
Src/Graphics/New3D/Model.h:70:15: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        bool dynamic = true;
                     ^
Src/Graphics/New3D/Model.h:73:21: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        int textureOffsetX = 0;
                           ^
Src/Graphics/New3D/Model.h:74:21: warning: in-class initialization of non-static
      data member is a C++11 extension [-Wc++11-extensions]
        int textureOffsetY = 0;
                           ^
In file included from Src/CPU/PowerPC/PPCDisasm.cpp:39:
In file included from Src/Supermodel.h:121:
In file included from Src/Graphics/New3D/New3D.h:37:
Src/Graphics/New3D/R3DShader.h:43:7: warning: scoped enumerations are a C++11
      extension [-Wc++11-extensions]
        enum class MatDet { notset, negative, positive, zero };
             ^
In file included from Src/CPU/PowerPC/PPCDisasm.cpp:39:
In file included from Src/Supermodel.h:121:
Src/Graphics/New3D/New3D.h:211:61: error: a space is required between
      consecutive right angle brackets (use '> >')
        std::unordered_map<UINT32, std::shared_ptr<std::vector<Mesh>>> m...
                                                                   ^~
                                                                   > >
In file included from Src/CPU/PowerPC/PPCDisasm.cpp:39:
In file included from Src/Supermodel.h:156:
Src/Model3/Model3.h:267:33: warning: in-class initialization of non-static data
      member is a C++11 extension [-Wc++11-extensions]
  bool      m_securityFirstRead = true;
                                ^
In file included from Src/CPU/PowerPC/PPCDisasm.cpp:39:
In file included from Src/Supermodel.h:98:
Src/OSD/Logger.h:234:14: warning: private field 'm_debugLogFile' is not used
      [-Wunused-private-field]
        const char *m_debugLogFile;
                    ^
21 warnings and 3 errors generated.
make: *** [obj/PPCDisasm.o] Error 1
Toms-MacBook-Pro:model3emu-code-345-trunk tom$
Toms-MacBook-Pro:model3emu-code-345-trunk tom$


Errors are obviously at the end of that code block. OSX aside, great to see the newest build running nicely on Windows, great work guys :)

(Based on information from these threads:
http://www.supermodel3.com/Forum/viewtopic.php?f=5&t=1036
http://www.supermodel3.com/Forum/viewtopic.php?f=5&t=1075)

Re: OSX 10.10 (Yosemite) Bug

PostPosted: Tue Apr 12, 2016 7:13 am
by Bart
You need to enable C++11 language support. The MacOS X Makefile hasn't been updated in ages since I don't have access to a Mac. Add -std=c++11 to the C++ compiler flags.