+#ifndef GL_COORD_REPLACE
+#define GL_COORD_REPLACE 0x8862
+#endif
+
+#ifndef GL_POINT_DISTANCE_ATTENUATIAN
+#define GL_POINT_DISTANCE_ATTENUATION 0x8129
+#endif
+
+/*---------------------------------------------------------------------------*/
+
+int glext_check(const char *);
+void glext_init(void);
+
+/*---------------------------------------------------------------------------*/
+
+/* Exercise extreme paranoia in defining a cross-platform OpenGL interface. */
+/* If we're compiling against OpenGL ES then we must assume native linkage */
+/* of the extensions we use. Otherwise, GetProc them regardless of whether */
+/* they need it or not. */
+
+#if defined(GL_VERSION_ES_CM_1_0) || \
+ defined(GL_VERSION_ES_CM_1_1) || \
+ defined(GL_OES_VERSION_1_0)
+
+#define CONF_OPENGLES 1
+
+#define glClientActiveTexture_ glClientActiveTexture
+#define glActiveTexture_ glActiveTexture
+#define glGenBuffers_ glGenBuffers
+#define glBindBuffer_ glBindBuffer
+#define glBufferData_ glBufferData
+#define glBufferSubData_ glBufferSubData
+#define glDeleteBuffers_ glDeleteBuffers
+#define glIsBuffer_ glIsBuffer
+#define glPointParameterfv_ glPointParameterfv
+
+#define glOrtho_ glOrtho
+
+#else /* No native linkage? Define the extension API. */
+
+#define glOrtho_ glOrtho
+
+/*---------------------------------------------------------------------------*/
+/* ARB_multitexture */
+
+typedef void (*PFNGLACTIVETEXTURE_PROC)(GLenum);
+typedef void (*PFNGLCLIENTACTIVETEXTURE_PROC)(GLenum);
+
+extern PFNGLCLIENTACTIVETEXTURE_PROC glClientActiveTexture_;
+extern PFNGLACTIVETEXTURE_PROC glActiveTexture_;
+
+/*---------------------------------------------------------------------------*/
+/* ARB_vertex_buffer_object */
+