]> icculus.org git repositories - icculus/iodoom3.git/blob - neo/sys/linux/glimp_stub.cpp.m4
Various Mac OS X tweaks to get this to build. Probably breaking things.
[icculus/iodoom3.git] / neo / sys / linux / glimp_stub.cpp.m4
1 // glimp_stub.cpp.m4
2 // stub gl/glX APIs
3
4 #include "idlib/precompiled.h"
5 #include "renderer/tr_local.h"
6 #pragma hdrstop
7
8 dnl =====================================================
9 dnl utils
10 dnl =====================================================
11
12 define(`forloop', 
13         `pushdef(`$1', `$2')_forloop(`$1', `$2', `$3', `$4')popdef(`$1')')
14 define(`_forloop',
15         `$4`'ifelse($1, `$3', ,
16         `define(`$1', incr($1))_forloop(`$1', `$2', `$3', `$4')')')
17         
18 dnl =====================================================
19 dnl the gl wgl glX definitions
20 dnl =====================================================
21 include(../gllog/gl_def.m4)
22
23 dnl =====================================================
24 dnl qgl stubs
25 dnl there is a number of functions for which we have special case code
26 dnl =====================================================
27
28 define(`override_GetError', `')
29 define(`override_GenLists', `')
30 define(`override_GetIntegerv', `')
31 define(`override_GetString', `')
32
33 define(`instance_funcptr', ``$1' gl`$2'(`$3'){}')
34 define(`try_instance_funcptr', `ifdef(`override_'$2, ,`instance_funcptr(`$1', `$2', `$3')')')
35 forloop(`i', gl_start, gl_end, `try_instance_funcptr(indir(`f'i`_ret'), indir(`f'i`_name'), indir(`f'i`_params'))
36 ')
37
38 dnl =====================================================
39 dnl glX stubs
40 dnl =====================================================
41
42 define(`override_GetProcAddressARB', `')
43
44 define(`instance_funcptr', ``$1' glX`$2'(`$3'){}')
45 define(`try_instance_funcptr', `ifdef(`override_'$2, ,`instance_funcptr(`$1', `$2', `$3')')')
46 forloop(`i', glX_start, glX_end, `try_instance_funcptr(indir(`f'i`_ret'), indir(`f'i`_name'), indir(`f'i`_params'))
47 ')
48
49 GLenum glGetError(void){return 0;}
50
51 GLuint glGenLists(GLsizei range){return 0;}
52
53 void glGetIntegerv(GLenum pname, GLint *params){
54         switch( pname ) {
55                 case GL_MAX_TEXTURE_SIZE: *params = 1024; break;
56                 case GL_MAX_TEXTURE_UNITS_ARB: *params = 2; break;
57                 default: *params = 0; break;
58         }
59 }
60
61 const GLubyte * glGetString(GLenum name){
62         switch( name ) {
63                 case GL_EXTENSIONS: return (GLubyte *)"GL_ARB_multitexture GL_ARB_texture_env_combine GL_ARB_texture_cube_map GL_ARB_texture_env_dot3";
64         }
65         return (const GLubyte *)"";
66 }