Author Topic: GLFW graphical garbage on OS X latest updates  (Read 140 times)

Offline jvdw007

  • Jr. Member
  • **
  • Posts: 8
GLFW graphical garbage on OS X latest updates
« on: December 06, 2017, 02:32:49 PM »
Hi there.
I was wondering if anybody here is using Monkey-X/CerberusX to build GLFW games on OS X and if so, are you up to date on the OS X updates and are you having any graphical issues?

Initially I thought this was Monkey-X doing something weird, but I downloaded the lastest XCode from the app store and compiled fine.
The game launches, you can navigate around the menu and hear audio, but graphics are garbadged.
So I loaded the project directly inside XCode and ran it from there and exactly the same issue occurred.
No build errors anywhere to be seen but garbadged graphics.
I'm not at home right now to screenshot it but will update this thread later when I go.

PS. the game builds and runs fine on Windows and Linux.
PPS. This also happens with any Bananas examples.

I think I'm on High Sierra 10.13.1 or something, but since I've not built my game on my Mac for almost a year, I'm not sure if/which update could've broken things.
I'm also compiling to GLFW3 and wonder if that's the problem. Thing is, I don't have the option/ability to compile to GLFW2. Any ideas on how to add/chnage that? I suspect that might solve the problem..

Any suggestions or ideas would be welcome too.

Thanks
Jaco

---------------------------
The build log for blobmonster example...
---------------------------

TRANS monkey compiler V1.87
Parsing...
Semanting...
Translating...
Building...
=== BUILD TARGET MonkeyGame OF PROJECT MonkeyGame WITH CONFIGURATION Debug ===
Check dependencies
CpResource data build/Debug/MonkeyGame.app/Contents/Resources/data
    cd /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -resolve-src-symlinks /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/data /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/Debug/MonkeyGame.app/Contents/Resources
CompileC build/MonkeyGame.build/Debug/MonkeyGame.build/Objects-normal/x86_64/main.o /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/main.mm normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
    cd /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -gmodules -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wno-arc-repeated-use-of-weak -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wno-float-conversion -Wno-non-literal-null-conversion -Wno-objc-literal-conversion -Wno-shorten-64-to-32 -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -Wno-c++11-extensions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.6 -g -fvisibility=hidden -fvisibility-inlines-hidden -Wno-sign-conversion -Wno-infinite-recursion -Wno-move -Wno-comma -Wno-block-capture-autoreleasing -Wno-strict-prototypes -Wno-range-loop-analysis -iquote /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/MonkeyGame.build/Debug/MonkeyGame.build/MonkeyGame-generated-files.hmap -I/Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/MonkeyGame.build/Debug/MonkeyGame.build/MonkeyGame-own-target-headers.hmap -I/Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/MonkeyGame.build/Debug/MonkeyGame.build/MonkeyGame-all-target-headers.hmap -iquote /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/MonkeyGame.build/Debug/MonkeyGame.build/MonkeyGame-project-headers.hmap -I/Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/Debug/include -I../glfw3/include -I../openal/include -I../stb -I/Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/MonkeyGame.build/Debug/MonkeyGame.build/DerivedSources/x86_64 -I/Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/MonkeyGame.build/Debug/MonkeyGame.build/DerivedSources -F/Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/Debug -Wno-logical-op-parentheses -include /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/SharedPrecompiledHeaders/MonkeyGame_Prefix-etinvptzkdgsvhfomsluhpkromhv/MonkeyGame_Prefix.pch -MMD -MT dependencies -MF /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/MonkeyGame.build/Debug/MonkeyGame.build/Objects-normal/x86_64/main.d --serialize-diagnostics /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/MonkeyGame.build/Debug/MonkeyGame.build/Objects-normal/x86_64/main.dia -c /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/main.mm -o /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/MonkeyGame.build/Debug/MonkeyGame.build/Objects-normal/x86_64/main.o
Ld build/Debug/MonkeyGame.app/Contents/MacOS/MonkeyGame normal x86_64
    cd /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode
    export MACOSX_DEPLOYMENT_TARGET=10.6
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -L/Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/Debug -F/Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/Debug -filelist /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/MonkeyGame.build/Debug/MonkeyGame.build/Objects-normal/x86_64/MonkeyGame.LinkFileList -mmacosx-version-min=10.6 -Xlinker -object_path_lto -Xlinker /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/MonkeyGame.build/Debug/MonkeyGame.build/Objects-normal/x86_64/MonkeyGame_lto.o -Xlinker -no_deduplicate -fobjc-link-runtime -framework CoreVideo -framework Cocoa -framework OpenGL -framework OpenAL -framework IOKit -Xlinker -dependency_info -Xlinker /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/MonkeyGame.build/Debug/MonkeyGame.build/Objects-normal/x86_64/MonkeyGame_dependency_info.dat -o /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/Debug/MonkeyGame.app/Contents/MacOS/MonkeyGame
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
Touch build/Debug/MonkeyGame.app
    cd /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode
    /usr/bin/touch -c /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/Debug/MonkeyGame.app
RegisterWithLaunchServices build/Debug/MonkeyGame.app
    cd /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode
    builtin-lsRegisterURL /Users/sensei/Documents/MonkeyXPro85e/bananas/charlie/blobmonster/blobmonster.buildv86e/glfw3/xcode/build/Debug/MonkeyGame.app
** BUILD SUCCEEDED **

Offline MikeHart

  • Sr. Member
  • ****
  • Posts: 362
Re: GLFW graphical garbage on OS X latest updates
« Reply #1 on: December 06, 2017, 04:26:38 PM »
Monkey X is definitely not compatible with Sierra and High Sierra.
Cerberus X was fixed to work on those systems. Unless High Sierra brought in new problems, but I can't test myself as I am stuck on El Capitan.

Offline jvdw007

  • Jr. Member
  • **
  • Posts: 8
Re: GLFW graphical garbage on OS X latest updates
« Reply #2 on: December 06, 2017, 09:55:10 PM »
Thanks for the response Mike!

I bought Monkey-X Pro a few years back and am using the last pro version, 86e. I also tried it with 85e. Made no difference.

So I wonder if I should give CerberusX a try instead... or... perhaps "downgrade" my macbook to get it working again. Either way, I wonder if having an older OS X distro where compiling Monkey-X games will work and if those compiled games will then run on the latest OS X version..

I think going the CerberusX route might be less painful :)

Offline jvdw007

  • Jr. Member
  • **
  • Posts: 8
Re: GLFW graphical garbage on OS X latest updates
« Reply #3 on: December 06, 2017, 10:08:32 PM »
Ok Cerberus X isn't working at all on High Sierra 10.13.1.

As can be seen on the screenshot, I tried several examples in Ted v2017-10-24 (latest copy) and they all give the same error.... Even in commandline it gives the same error..

PS. I added my graphical glitch on the original post at the top.


Ok sorry - there was a type somehow in that example I pasted here. I loaded other examples and they build and run fine on html5 and glfw3...
I'll try my game now  :'(

Offline MikeHart

  • Sr. Member
  • ****
  • Posts: 362
Re: GLFW graphical garbage on OS X latest updates
« Reply #4 on: December 06, 2017, 10:20:35 PM »
Mmmh, remove that line in graphics.cxs. Looks like the character ' for commenting that line is interpreted wrongly for some odd reason.

Offline jvdw007

  • Jr. Member
  • **
  • Posts: 8
Re: GLFW graphical garbage on OS X latest updates
« Reply #5 on: December 06, 2017, 10:41:55 PM »
Ok got it fixed!

Cerberus X does indeed work properly! Thank god..
I had some duplicate module name issue with the fonts module which wasn't a problem in my pro version of Monkey-X, but nevertheless.
I pointed Mollusk to the Cerberus X compiler and fixed the fonts thing and now it works, yay!

Thanks for your help/suggestions Mike!

Offline MikeHart

  • Sr. Member
  • ****
  • Posts: 362
Re: GLFW graphical garbage on OS X latest updates
« Reply #6 on: December 07, 2017, 06:02:55 AM »
You're welcome. Btw. Which Mollusk version do you use?

Offline jvdw007

  • Jr. Member
  • **
  • Posts: 8
Re: GLFW graphical garbage on OS X latest updates
« Reply #7 on: December 07, 2017, 09:24:34 AM »
I've got the latest one Mike. I love mollusk   8)

Offline MikeHart

  • Sr. Member
  • ****
  • Posts: 362
Re: GLFW graphical garbage on OS X latest updates
« Reply #8 on: December 07, 2017, 10:56:10 AM »
I've got the latest one Mike. I love mollusk   8)

Yes, that is compatible with CX. Regarding the FONT class in mojo, this was introduced with the last update of CX to bring better bitmap font support to mojo.
It was and should been assumed that 3rd party modules use prefixes for their classes, which sadly wasn't always the case.