Página principal | Jerarquía de la clase | Lista alfabética | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros | Páginas relacionadas

jed_defs.h

Ir a la documentación de este archivo.
00001 //===========================================================================
00002 //= jed_defs.h                                         Desde agosto de 1996 =
00003 //=-------------------------------------------------------------------------=
00004 //= Macros y tipos comunes. Es importante que antes de hacer cualquier cosa =
00005 //= todos y cada uno de los modulos del proyecto incluyan este .h, porque   =
00006 //= aqui se definen varios detalles vitales para facilitar la portabilidad  =
00007 //= del codigo, al igual que ciertas constantes y macros comunes.           =
00008 //=-------------------------------------------------------------------------=
00009 //= Autor original: Oscar J. Chavarro G.  A.K.A. JEDILINK. Copyright (c),   =
00010 //= 1997 - 2003, oscarchavarro@hotmail.com                                  =
00011 //= AQUYNZA es software libre, y se rige bajo los terminos de la licencia   =
00012 //= LGPL de GNU (http://www.gnu.org). Para mayor informacion respecto a la  =
00013 //= licencia de uso, consulte el archivo ./doc/LICENCIA en la distribucion. =
00014 //===========================================================================
00015 
00016 #ifndef __JEDILINK_DEFINITION__
00017 #define __JEDILINK_DEFINITION__
00018 
00019 #include "jed_plt.h"
00020 
00021 //===========================================================================
00022 //= Llamado a encabezados... pero con previa configuracion!                 =
00023 //===========================================================================
00024 
00025 #if PLATAFORMA == i386_LINUX_GCC || PLATAFORMA == SPARC64_LINUX_GCC
00026 // OJO: Esto deberia usarse en las demas plataformas?
00027 #if PLATAFORMA != SPARC64_LINUX_GCC
00028 
00029 // OJO: Parece no estar funcionando!
00030 #ifndef __USE_BSD
00031   #define __USE_BSD
00032 #endif
00033 #endif
00034 #ifndef __USE_SVID
00035   #define __USE_SVID
00036 #endif
00037 #ifndef __USE_POSIX
00038   #define __USE_POSIX
00039 #endif
00040 #ifndef __USE_MISC
00041   #define __USE_MISC
00042 #endif
00043 #endif
00044 
00045 #if PLATAFORMA != PALM_PALMOS_CODEWARRIOR
00046   #include <float.h>    // para leer el valor FLT_MAX (o INFINITO)
00047   #include <math.h>     // para leer fabs 
00048   #include <stdio.h>
00049 #endif
00050 
00051 #if PLATAFORMA == PALM_PALMOS_CODEWARRIOR
00052   #include <StringMgr.h>
00053 #endif
00054 
00055 #include <stdlib.h>
00056 
00057 //===========================================================================
00058 //= DEFINICION DE TIPOS DE DATOS Y ELEMENTOS COMUNES                        =
00059 //===========================================================================
00060 
00061 #if PLATAFORMA == PALM_PALMOS_CODEWARRIOR
00062   #include <PalmOS.h>
00063   #include <FeatureMgr.h>
00064 //  #include <cmath>     // No se sabe como encadenar!
00065 //  using namespace std;
00066   #include <MathLib.h>   // Mientras que este si funciona!
00067 #endif
00068 
00069 #if (PLATAFORMA != SUN) && (PLATAFORMA != POWERPC_AIX_VACPP)
00070     #define FLOAT32 float
00071 #endif
00072 
00073 enum ENUM_ACCIONES {
00074     ACC_ERROR = 0,
00075     ACC_ELIMINAR,
00076     ACC_LEER,
00077     ACC_ESCRIBIR
00078 };
00079 
00080 #if ( PLATAFORMA == ALPHA || PLATAFORMA == i386_LINUX_GCC || PLATAFORMA == SGI || PLATAFORMA == SUN || PLATAFORMA == CRAY_J90 || PLATAFORMA == CYGNUS_WIN32  || PLATAFORMA == SPARC64_LINUX_GCC || PLATAFORMA == POWERPC_AIX_VACPP )
00081     #define SLEEP_MICROSEC(us) usleep(us)
00082     #define clrscr() printf("%c[2J%c[1;1H", 27, 27)
00083     #define gotoxy(x, y) printf("%c[%d;%dH", 27, (x), (y))
00084 #endif
00085 
00086 // OJO: los sizeof(TYPE) no funcionan bien cuando se usa #define en vez de
00087 //      typedef!
00088 
00089 #if PLATAFORMA == i386_WIN32_VC
00090 
00091     //#define MACHETE_MAIN
00092 
00093     #define clrscr() printf("-----------------------------------------------------------------------\n");
00094     typedef unsigned char BYTE;
00095     typedef BYTE BOOLEAN;
00096     //typedef unsigned long DWORD;  // OJO!
00097     typedef unsigned short UWORD;
00098     #ifndef TRUE
00099         #define TRUE 1
00100     #endif
00101     #ifndef FALSE
00102         #define FALSE 0
00103     #endif
00104     #include <windows.h>
00105     extern void WINlog(char *linea);
00106     extern void reportar_evento_WM(int e);
00107     extern HINSTANCE i386_WIN32_VC_instancia_actual;
00108     extern HINSTANCE i386_WIN32_VC_instancia_previa;
00109     extern LPSTR     i386_WIN32_VC_linea_de_comandos;
00110     extern int       i386_WIN32_VC_modo_visual;
00111   #ifndef MACHETE_MAIN
00112     extern "C" int main(int argc, char *argv[]);
00113   #endif
00114   #ifdef MACHETE_MAIN
00115     extern "C" int Jmain(int argc, char *argv[]);
00116   #endif
00117     #define SLEEP_MICROSEC(us) Sleep(us/1000)
00118     #define SRANDOM(semilla) srand((semilla))
00119     #define RANDOM() ((double)rand())/((double)RAND_MAX)
00120     extern HWND instalar_sistema_asincronico_sockets(void);
00121 
00122   #ifndef CBUILDER
00123     extern void
00124     registrar_entrada_sockets(SOCKET sockfd, 
00125                               void (*f)(void *, int), void *User_data);
00126   #endif
00127 
00128   #include <lista.h>
00129 
00138     typedef struct _SOCK_IO_ {
00139     #ifndef CBUILDER
00140         SOCKET sockfd;
00141     #endif
00142     #ifdef CBUILDER
00143         int sockfd;
00144     #endif
00145         void (*f)(void *, int);
00146         void *User_data;
00147     } SOCKET_IO_PAIR;
00148     
00149     extern LISTA<SOCKET_IO_PAIR *> PARES_socket;
00150 
00151   #else // PLATAFORMA != i386_WIN32_VC
00152 
00153     #if PLATAFORMA == PALM_PALMOS_CODEWARRIOR
00154       #define BOOLEAN Boolean
00155       #define TRUE true
00156       #define FALSE false
00157     #endif
00158 
00159     #if PLATAFORMA != PALM_PALMOS_CODEWARRIOR
00160       #define BOOLEAN int
00161       #ifndef _bool_h
00162       #define _bool_h
00163           #define TRUE 1
00164           #define FALSE 0
00165       #endif
00166     #endif
00167 
00168     #if (PLATAFORMA != SGI) && (PLATAFORMA != SUN) && (PLATAFORMA != POWERPC_AIX_VACPP)
00169       #define BYTE unsigned char
00170     #endif
00171 
00172     #if (PLATAFORMA == SGI) || (PLATAFORMA == SUN) || (PLATAFORMA == POWERPC_AIX_VACPP)
00173         #include <X11/Xmd.h>
00174     #endif
00175 
00176     typedef short WORD;
00177     typedef unsigned long int DWORD;
00178     typedef unsigned short UWORD;
00179     extern double drand48 (void);
00180     #define SRANDOM(semilla) srand((semilla))
00181   #if PLATAFORMA != PALM_PALMOS_CODEWARRIOR
00182     #define RANDOM() ((double)((double)rand()/(double)RAND_MAX))
00183   #endif
00184   #if PLATAFORMA == PALM_PALMOS_CODEWARRIOR
00185     #define RANDOM() 0
00186   #endif
00187 #endif
00188 
00189 // Este es un tipo de datos usado en operaciones de sockets
00190 #if (PLATAFORMA != SGI) && (PLATAFORMA != i386_WIN32_VC) && (PLATAFORMA != SUN) && (PLATAFORMA != ALPHA) && (PLATAFORMA != POWERPC_AIX_VACPP)
00191     #define SOCK_INT unsigned int
00192 #endif
00193 #if (PLATAFORMA == SGI) || (PLATAFORMA == i386_WIN32_VC) || (PLATAFORMA == SUN) || (PLATAFORMA == ALPHA)
00194     #define SOCK_INT int
00195 #endif
00196 #if PLATAFORMA == POWERPC_AIX_VACPP
00197     #define SOCK_INT unsigned long
00198 #endif
00199 
00200 // OJO: El que usa pow es unas 28 veces mas lento que el otro!!!
00201 /*
00202 #define DISTANCIA(x1, y1, z1, x2, y2, z2) \
00203 (sqrt( (pow((double)(x2) - (double)(x1), 2.0) + \
00204         pow((double)(y2) - (double)(y1), 2) + pow((z2) - (z1), 2)) ))
00205 */
00206 
00207 #define DISTANCIA(x1, y1, z1, x2, y2, z2) \
00208 (\
00209  sqrt(\
00210   (double)(\
00211    ((x2) - (x1)) * ((x2) - (x1)) + \
00212    ((y2) - (y1)) * ((y2) - (y1)) + \
00213    ((z2) - (z1)) * ((z2) - (z1))\
00214   ) \
00215  )\
00216 )
00217 
00218 #define SQUARE(x) ((x)*(x))
00219 
00220 #if PLATAFORMA != i386_WIN32_VC
00221     #ifndef DWORD
00222     #define DWORD unsigned long int
00223     #endif
00224 #endif
00225 
00226 #if PLATAFORMA == PALM_PALMOS_CODEWARRIOR
00227   extern void PALM_setcolor(BYTE r, BYTE g, BYTE b);
00228   extern void PALM_putpixel(int x, int y, BYTE r, BYTE g, BYTE b);
00229 #endif
00230 
00231 // Es una lastima que esto no este funcionando!
00232 //extern "C" int jprintf(const char *cadena_de_formato, ...);
00233 //extern "C" int jprintfe(const char *cadena_de_formato, ...);
00234 
00235 #ifndef M_PI 
00236     #define M_PI 3.14159265358979323846
00237 #endif
00238 
00239 #ifndef PI 
00240     #define PI M_PI
00241 #endif
00242 
00243 #define MAX_CAD 256
00244 #define UNDEFINED_CAD "<UNDEFINED>"
00245 #define EPSILON (1e-5) 
00246 #define IGUAL(A,B) (fabs((A)-(B))<EPSILON) 
00247 #define MINIMO(A,B) ((A)<(B)?(A):(B)) 
00248 #define MAXIMO(A,B) ((A)>(B)?(A):(B)) 
00249 #define INFINITO FLT_MAX 
00250 
00251 // Operaciones para la conversion de angulos
00252 #define DEG2RAD(a) ((PI * (a))/180)
00253 #define RAD2DEG(a) ((180 * (a))/PI)
00254 extern void
00255 DEG2gms(double angulo, float *grados, float *minutos, float *segundos);
00256 extern void
00257 DEG2hms(double angulo, float *horas,float *arco_minutos,float *arco_segundos);
00258 
00259 #define INTERPOLAR_FLOAT(i, f, trozos, num_trocito) \
00260  ((double)i)                                        \
00261  +                                                  \
00262    ((double)(num_trocito))                          \
00263    *                                                \
00264    ((((double)(f)) - ((double)(i)))/((double)(trozos)))
00265 
00266 enum ENUM_TIPOS_DE_DATOS {
00267     T_NULL = 0,
00268     T_COMPLEX,
00269     T_BYTE,
00270     T_INT,
00271     T_FLOAT,
00272     T_VECTOR,
00273     T_QUATERNION,
00274     T_CADENA
00275 };
00276 
00277 //===========================================================================
00278 //= DEFINICION DE RUTINAS PORTABLES DE PERSISTENCIA PARA FORMATO BINARIO    =
00279 //===========================================================================
00280 
00281 #if PLATAFORMA != PALM_PALMOS_CODEWARRIOR
00282 inline void
00283 lea_DATOS_directo(void *buffer, int tam, FILE *fd)
00291 {
00292     int code;
00293 
00294     code = fread(buffer, tam, 1, fd);
00295     if( code != 1 ) {
00296         fprintf(stderr,
00297             "<AQUYNZA> - ERROR FATAL leyendo bytes de un archivo (%d).\n", 
00298                 code);
00299         if ( !fd ) fprintf(stderr, "<Archivo invalido>\n");
00300         fflush(stderr);
00301         exit(1);
00302     }
00303 }
00304 
00305 inline void
00306 lea_DATOS_invertir(void *buffer, int tam, FILE *fd)
00314 {
00315     int code;
00316 
00317     code = fread(buffer, tam, 1, fd);
00318     if( code != 1 ) {
00319         fprintf(stderr,
00320             "<AQUYNZA> - ERROR FATAL leyendo bytes de un archivo (%d).\n", 
00321                 code);
00322         if ( !fd ) fprintf(stderr, "<Archivo invalido>\n");
00323         fflush(stderr);
00324         exit(1);
00325     }
00326 
00327     char *ptr, tmp1, tmp2, tmp3, tmp4;
00328 
00329     /* Endian Issues */
00330     if (tam == 2) {
00331         /* Swap a 16-bit int */
00332         ptr = (char *)buffer;
00333         tmp1 = *ptr;
00334         *ptr = *(ptr + 1);
00335         *(ptr + 1) = tmp1;
00336       }
00337       else if (tam == 4) {
00338         /* Swap a 32-bit int */
00339         ptr = (char *)buffer;
00340         tmp1 = *ptr;
00341         tmp2 = *(ptr + 1);
00342         tmp3 = *(ptr + 2);
00343         tmp4 = *(ptr + 3);
00344         *ptr = tmp4;
00345         *(ptr + 1) = tmp3;
00346         *(ptr + 2) = tmp2;
00347         *(ptr + 3) = tmp1;
00348     }
00349 }
00350 
00351 #define lea_BYTE(Dato, fd) fread((Dato), sizeof(BYTE), 1, fd);
00352 
00353 #ifdef AQZ_BIG_ENDIAN
00354 #define lea_WORD_BE(Dato, fd) lea_DATOS_invertir((Dato), 2, fd);
00355 #define lea_WORD_LE(Dato, fd) lea_DATOS_directo((Dato), 2, fd);
00356 #define lea_DWORD_BE(Dato, fd) lea_DATOS_invertir((Dato), 4, fd);
00357 #define lea_DWORD_LE(Dato, fd) lea_DATOS_directo((Dato), 4, fd);
00358 #define lea_FLOAT32_BE(Dato, fd) lea_DATOS_invertir((Dato), 4, fd);
00359 #define lea_FLOAT32_LE(Dato, fd) lea_DATOS_directo((Dato), 4, fd);
00360 #endif
00361 
00362 #ifndef AQZ_BIG_ENDIAN
00363 #define lea_WORD_LE(Dato, fd) lea_DATOS_invertir((Dato), 2, fd);
00364 #define lea_WORD_BE(Dato, fd) lea_DATOS_directo((Dato), 2, fd);
00365 #define lea_DWORD_LE(Dato, fd) lea_DATOS_invertir((Dato), 4, fd);
00366 #define lea_DWORD_BE(Dato, fd) lea_DATOS_directo((Dato), 4, fd);
00367 #define lea_FLOAT32_LE(Dato, fd) lea_DATOS_invertir((Dato), 4, fd);
00368 #define lea_FLOAT32_BE(Dato, fd) lea_DATOS_directo((Dato), 4, fd);
00369 #endif
00370 
00371 #endif // PLATAFORMA != PALM_PALMOS_CODEWARRIOR
00372 
00373 // Definicion de usleep!
00374 #if PLATAFORMA == ALPHA
00375   #define _XOPEN_SOURCE_EXTENDED
00376   #include <unistd.h>
00377   #undef _XOPEN_SOURCE_EXTENDED
00378   #include <sys/ioctl.h>
00379 #endif
00380 #if PLATAFORMA == i386_LINUX_GCC || PLATAFORMA == SPARC64_LINUX_GCC
00381 // OJO: Esto deberia estar solo en jed_defs... pero
00382 #ifndef __USE_BSD
00383   #define __USE_BSD      //      toca dejarlo aqui
00384 #endif
00385   #include <unistd.h>
00386 #endif
00387 #if PLATAFORMA == SUN    // OJO: Esto deberia estar solo en jed_defs... pero
00388   #define __EXTENSIONS__ //      toca dejarlo aqui
00389   #include <unistd.h>
00390 #endif
00391 
00392 //===========================================================================
00393 //= ACTIVACION DE CARACTERISTICAS (DEPENDIENTE DEL ENTORNO)                 =
00394 //===========================================================================
00395 
00396 /*---------------------------------------------------------------------------
00397 <B>LAS CARACTER&Iacute;STICAS SON</B>:
00398 - Opciones b&aacute;sicas
00399   - UNIX  Si el sistema operacional es un derivado de UNIX
00400   - FILESYSTEM Si en la plataforma se dispone de un sistema de archivos. 
00401           Normalmente, solo los sistemas embebidos y las PDA's carecen de
00402           un sistema de archivos.
00403 - Opciones GUI
00404   - X     Si se construir&aacute;n componentes X11
00405   - TK    Si se tiene el toolkit GL-tk (solo se activa si esta GL)
00406   - GLUT  Si se tiene el toolkit GLUT (solo se activa si esta GL)
00407   - MOTIF Si se construir&aacute;n componentes MOTIF
00408   - WXWINDOWS Si se construir&aacute;n componentes GUI WXWINDOWS
00409   - OWL   Si se tiene el toolkit OWL (solo se activa si se usa BorlandCBuilder)
00410 - Opciones de visualizaci&oacute;n
00411   - GL    Si se tiene acceso a cualquier librer&iacute;a OpenGL
00412   - MESA  Si la versi&oacute;n de OpenGL que se esta usando es MESA (y si
00413           adem&aacute;s se usar&aacute; OSMesa)
00414   - GLTT  Si se tiene la extensi&oacute;n de letras 3D (solo se activa si 
00415           esta GL)
00416 - Opciones de formatos gr&aacute;ficos basados en librer&iacute;as externas
00417   - JPEG  Si se tiene acceso a la librer&iacute;a libjpeg
00418   - PNG   Si se tiene acceso a la librer&iacute;a libpng
00419 - Opciones I/O
00420   - JOYSTICK Si soporta manejo de joystick 
00421   - SERIALPORT Si soporta el manejo de puertos seriales.  Implica el manejo
00422           o no manejo del dataglove, la interfaz LEGO y el tracker, al igual
00423           que todos los perifericos basados en comunicaciones RS232.
00424   - SOCKETS Si soporta sockets TCP y UDP
00425 
00426 \todo
00427 OJO: 
00428   - En principio, las caracter&iacute;sticas deber&iacute;an definirse en el 
00429     Makefile!
00430   - Revisar esa opci&oacute;n SUN4SOL2_ENABLED ... posiblemente deba llamarse
00431     diferente o manejarse de otra forma. Es un esquema de compilaci&oacute;n 
00432     para Solaris Sparc, y NO una "CARACTER&Iacute;STICA"
00433 
00434 */
00435 
00436 #if PLATAFORMA != PALM_PALMOS_CODEWARRIOR
00437   #define FILESYSTEM_ENABLED
00438 #endif
00439 
00440     // || PLATAFORMA == i386_WIN32_VC
00441 #if PLATAFORMA == i386_LINUX_GCC || PLATAFORMA == SPARC64_LINUX_GCC
00442       #define WXWINDOWS_ENABLED
00443 #endif
00444 
00445 #ifdef WXWINDOWS_ENABLED
00446   // Estas dos lineas... siempre deben llamarse ANTES de los .h's de wxWindows,
00447   // son para evitar tener que pasarlas como parte de la linea de comandos
00448   #if PLATAFORMA == i386_LINUX_GCC || PLATAFORMA == SPARC64_LINUX_GCC
00449     #define __WXGTK__
00450     #define GTK_NO_CHECK_CASTS
00451   #endif
00452   #if PLATAFORMA == i386_WIN32_VC
00453     #define __WXMSW__
00454     #define _MT
00455     #define wxUSE_GUI 1
00456   #endif
00457 #endif
00458 
00459 #if (PLATAFORMA == ALPHA || PLATAFORMA == i386_LINUX_GCC || PLATAFORMA == SGI || PLATAFORMA == SUN || PLATAFORMA == CYGNUS_WIN32 || PLATAFORMA == SPARC64_LINUX_GCC || PLATAFORMA == POWERPC_AIX_VACPP )
00460     #if PLATAFORMA != ANSI
00461       #define X_ENABLED
00462       #if PLATAFORMA != SPARC64_LINUX_GCC
00463         #define MOTIF_ENABLED
00464       #endif
00465 
00466       #define GL_ENABLED
00467       #ifdef GL_ENABLED
00468         #define GLTT_ENABLED // OJO: Solo puede usarse si hay GL_ENABLED!
00469       #endif
00470       #ifdef GL_ENABLED
00471         //#define TK_ENABLED // OJO: Solo puede usarse si hay GL_ENABLED!
00472       #endif
00473 
00474       #ifndef CBUILDER
00475           #ifdef GL_ENABLED
00476             #define GLUT_ENABLED // OJO: Solo puede usarse si hay GL_ENABLED!
00477           #endif
00478       #endif
00479       #if (PLATAFORMA == i386_LINUX_GCC) || (PLATAFORMA == SUN) || (PLATAFORMA == CYGNUS_WIN32) || (PLATAFORMA == SPARC64_LINUX_GCC) || (PLATAFORMA == POWERPC_AIX_VACPP)
00480           #define JPEG_ENABLED
00481       #endif
00482       #if (PLATAFORMA == i386_LINUX_GCC) || (PLATAFORMA == SPARC64_LINUX_GCC)
00483           #define PNG_ENABLED
00484       #endif
00485     #endif
00486   #define UNIX_ENABLED
00487   #if PLATAFORMA != CYGNUS_WIN32
00488     #define SOCKETS_ENABLED
00489   #endif
00490 #endif
00491 
00492 #if (PLATAFORMA == ALPHA || PLATAFORMA == i386_LINUX_GCC || PLATAFORMA == SUN || PLATAFORMA == i386_WIN32_VC || PLATAFORMA == SPARC64_LINUX_GCC)
00493     #define SERIALPORT_ENABLED
00494 #endif
00495 
00496 #if PLATAFORMA == CYGNUS_WIN32
00497   #define UNIX_ENABLED
00498 #endif
00499 
00500 #if PLATAFORMA == CRAY_J90
00501     #define UNIX_ENABLED
00502     extern void usleep(int s);
00503 #endif
00504 
00505 #if PLATAFORMA == i386_WIN32_VC
00506   #define SOCKETS_ENABLED
00507   #define GL_ENABLED
00508   #ifdef GL_ENABLED
00509     #define GLTT_ENABLED // OJO: Solo puede usarse si hay GL_ENABLED!
00510   #endif
00511   #ifdef GL_ENABLED
00512     #define GLUT_ENABLED // OJO: Solo puede usarse si hay GL_ENABLED!
00513   #endif
00514 // #ifndef CBUILDER
00515 //  #define TK_ENABLED
00516 // #endif
00517 #endif
00518 
00519 #ifdef CBUILDER
00520   #define OWL_ENABLED
00521 #endif
00522 
00523 // OJO: Esto deberia ser mas bonito!
00524 //#ifdef MESA
00525 //#if (PLATAFORMA == ALPHA || PLATAFORMA == i386_LINUX_GCC || PLATAFORMA == SGI || PLATAFORMA == SUN || PLATAFORMA == SPARC64_LINUX_GCC)
00526 
00527 #if (PLATAFORMA == ALPHA || PLATAFORMA == i386_LINUX_GCC || PLATAFORMA == SPARC64_LINUX_GCC)
00528 //    #define MESA_ENABLED
00529 #endif
00530 
00531 #if (PLATAFORMA == SUN)
00532 //    #define MESA_ENABLED
00533 #endif
00534 
00535 #ifdef VEL_ROSITA
00536   #define GL_ENABLED
00537   #define GLTT_ENABLED
00538   #define GLUT_ENABLED
00539 #endif
00540 
00541 #if PLATAFORMA == i386_LINUX_GCC || PLATAFORMA == SPARC64_LINUX_GCC
00542 // OJO: Deberia verificarse si existe <linux/joystick>
00543   #define JOYSTICK_ENABLED
00544 #endif
00545 #if PLATAFORMA == i386_WIN32_VC // OJO: esto depende de DirectInput 6.x
00546    // OJO: Ya no funciona en Visual C++ 7 (!)
00547   //#define JOYSTICK_ENABLED
00548 #endif
00549 
00550 #if ((PLATAFORMA == SUN)) || (PLATAFORMA == POWERPC_AIX_VACPP)
00551   #if defined(GL_ENABLED) && !defined(X86SOL2_ENABLED)
00552     // Esto es asi para cuando se usa el OpenGL original de SUN o de IBM
00553     // (i.e. SUN OpenGL o IBM OpenGL en lugar de MESA)
00554     #include <GL/glxmd.h> // Para la definicion de FLOAT32!
00555   #else
00556     #define FLOAT32 float
00557   #endif
00558 #endif
00559 
00560 //===========================================================================
00561 //= EOF                                                                     =
00562 //===========================================================================
00563 
00564 #endif // __JEDILINK_DEFINITION__
00565 

Este archivo HTML ha sido generado automáticamente a partir del código fuente AQUYNZA. NO LO EDITE. Para mayor información contacte al autor.