Here's the patch for the builds we'll be rolling with: http://blueplanet.fsmods.net/E/BP.patch
Two code things to fix in that patch, without which it won't compile on Mac:
code/graphics/gropenglextension.h
-#define PFNGLBLITFRAMEBUFFER glBlitFramebufferEXTProcPtr
+#define PFNGLBLITFRAMEBUFFEREXTPROC glBlitFramebufferEXTProcPtr
Looks like this definition (found in the Mac specific section) was renamed at some point, and because it wasn't being test compiled on Mac it was missed. This change will fix the issue for Mac, and should have no impact on other platforms.
code/graphics/gropenglshader.cpp
- vglProgramParameteriEXT((GLuint)shader_object, GL_GEOMETRY_INPUT_TYPE_EXT, GL_TRIANGLES);
- vglProgramParameteriEXT((GLuint)shader_object, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_TRIANGLE_STRIP);
- vglProgramParameteriEXT((GLuint)shader_object, GL_GEOMETRY_VERTICES_OUT_EXT, 3);
+ vglProgramParameteriEXT((long)shader_object, GL_GEOMETRY_INPUT_TYPE_EXT, GL_TRIANGLES);
+ vglProgramParameteriEXT((long)shader_object, GL_GEOMETRY_OUTPUT_TYPE_EXT, GL_TRIANGLE_STRIP);
+ vglProgramParameteriEXT((long)shader_object, GL_GEOMETRY_VERTICES_OUT_EXT, 3);
In OS X, a GLhandleARB is a pointer. This means that shader_object can't be cast to a GLuint. This change is based on a suggested fix to the Irrlicht engine,
http://irrlicht.sourceforge.net/forum/viewtopic.php?t=38493I'm not sure what impact this change will have for other platforms, and I haven't tested this thoroughly yet.
Compilation with the Clang (LLVM) compiler also reported the following two issues in the code added by this patch:
antipodes/code/model/modelread.cpp:5326:74: Operator '?:' has lower precedence than '-'; '-' will be evaluated first
antipodes/code/object/objectsort.cpp:279:32: '&&' within '||'
Unfortunately I can't get the new AoA content out of the 7zip file to test, will be in touch with the BP devs for those interested in the Mac Release and Debug binaries.