Changeset 2595 for trunk/src/opengl/glucb32.cpp
- Timestamp:
- Feb 1, 2000, 8:42:09 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/opengl/glucb32.cpp
r2532 r2595 1 /* $Id: glucb32.cpp,v 1. 1 2000-01-27 21:49:12sandervl Exp $ */1 /* $Id: glucb32.cpp,v 1.2 2000-02-01 19:41:54 sandervl Exp $ */ 2 2 /*****************************************************************************/ 3 3 /* */ … … 60 60 GLUCB *OS2glucbCreateGlucb(GLenum objtype,void *object,GLenum which,GLint num_parms) 61 61 { 62 GLUCB *glucb; 63 int i; 62 GLUCB *glucb; 63 APIRET rc; 64 int i; 64 65 65 66 glucb=(GLUCB *)malloc(sizeof(GLUCB)); … … 70 71 glucb->parms_on_stack=num_parms; 71 72 72 DosAllocMem((PPVOID)(&glucb->entryAddress),73 4096,74 PAG_COMMIT | PAG_EXECUTE | PAG_READ | PAG_WRITE);73 rc=DosAllocMem((PPVOID)(&glucb->entryAddress), 74 4096, 75 PAG_COMMIT | PAG_EXECUTE | PAG_READ | PAG_WRITE); 75 76 76 77 /* Setup the actual machine-code in this page... */ … … 121 122 { 122 123 ULONG addr=(ULONG)Address; 123 ULONG addr_e=(ULONG)glucb->entryAddress+4*glucb->parms_on_stack; 124 ULONG addr_offset=addr_e-addr-5; 124 ULONG addr_call=4*glucb->parms_on_stack+1; 125 125 BYTE *code=(BYTE *)glucb->entryAddress; 126 127 *((ULONG *)code[addr_e+1])=addr_offset; 126 ULONG addr_e=(ULONG)code+addr_call; 127 LONG addr_offset=addr-addr_e-4; 128 129 (((ULONG *)addr_e)[0])=addr_offset; 128 130 } 129 131 … … 199 201 GLUWINCALLBACK CallBackFunc) 200 202 { 201 dprintf(("GLUCALLBACK: Registering Callback!\n"));202 203 203 switch(objtype) 204 204 { … … 228 228 switch (which) 229 229 { 230 case GLU_TESS_BEGIN:231 case GLU_TESS_VERTEX:232 case GLU_TESS_ERROR:233 case GLU_TESS_EDGE_FLAG:234 case GLU_TESS_COMBINE:235 case GLU_TESS_BEGIN_DATA:236 case GLU_TESS_VERTEX_DATA:237 case GLU_TESS_END_DATA:238 case GLU_TESS_ERROR_DATA:239 case GLU_TESS_EDGE_FLAG_DATA:240 case GLU_TESS_COMBINE_DATA:241 return OS2glucbGenerateCallbackFunc(objtype,object,which,CallBackFunc,1);242 243 230 case GLU_TESS_END: 244 231 return OS2glucbGenerateCallbackFunc(objtype,object,which,CallBackFunc,0); 232 233 case GLU_TESS_BEGIN: 234 case GLU_TESS_EDGE_FLAG: 235 case GLU_TESS_END_DATA: 236 case GLU_TESS_ERROR: 237 case GLU_TESS_VERTEX: 238 return OS2glucbGenerateCallbackFunc(objtype,object,which,CallBackFunc,1); 239 240 case GLU_TESS_BEGIN_DATA: 241 case GLU_TESS_EDGE_FLAG_DATA: 242 case GLU_TESS_ERROR_DATA: 243 case GLU_TESS_VERTEX_DATA: 244 return OS2glucbGenerateCallbackFunc(objtype,object,which,CallBackFunc,2); 245 246 case GLU_TESS_COMBINE: 247 return OS2glucbGenerateCallbackFunc(objtype,object,which,CallBackFunc,4); 248 249 case GLU_TESS_COMBINE_DATA: 250 return OS2glucbGenerateCallbackFunc(objtype,object,which,CallBackFunc,5); 245 251 246 252 default: /* All legal callback values defined!*/
Note:
See TracChangeset
for help on using the changeset viewer.