Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problema en SDL

Estas en el tema de Problema en SDL en el foro de C/C++ en Foros del Web. Hola, quiciera saber que les sale en este programa: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original #include <stdio.h> #include <SDL/SDL.h>     void sdl_videoinfo ( void ...
  #1 (permalink)  
Antiguo 10/08/2010, 14:48
 
Fecha de Ingreso: agosto-2010
Mensajes: 153
Antigüedad: 13 años, 9 meses
Puntos: 1
Problema en SDL

Hola, quiciera saber que les sale en este programa:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <SDL/SDL.h>
  3.  
  4.  
  5. void sdl_videoinfo(void)
  6. {
  7. const SDL_VideoInfo *propiedades;
  8.  SDL_Surface *pantalla;
  9.  SDL_Rect **modos;
  10.  
  11.  //Variables auxiliares
  12.  char driver[20];
  13.  int maxlen = 20;
  14.  int i = 0;
  15.  
  16.  // Obtenemos la información del sistema de video
  17.  propiedades = SDL_GetVideoInfo();
  18.  if(propiedades == NULL) {
  19.  fprintf(stderr, "No se pudo obtener la información %s\n",
  20.  SDL_GetError());
  21.  exit(1);
  22.  }
  23.  
  24.  // Obtenemos los modos de video disponibles
  25.  modos = SDL_ListModes(NULL, SDL_HWSURFACE);
  26.  
  27.  printf("\n\n == MODOS DE VIDEO DISPONIBLES == \n");
  28.  
  29.  // Comprobamos que métodos están disponibles
  30.  if(modos == (SDL_Rect **)0)
  31.  printf("No existen modos disponibles \n");
  32.  else if(modos == (SDL_Rect **)-1)
  33.  printf("Todos los modos disponibles \n");
  34.  else {
  35.  printf("Lista de modos disponibles\n");
  36.  for(i = 0; modos[i]; i++)
  37.  printf(" %d x %d\n", modos[i]->w, modos[i]->h);
  38.  }
  39.  
  40.  // Comprobamos que el modo a seleccionar sea compatible
  41.  if(SDL_VideoModeOK(640, 480, 24, SDL_SWSURFACE) == 0) {
  42.  fprintf(stderr, "Modo no soportado: %s\n", SDL_GetError());
  43.  exit(1);
  44.  }
  45.  
  46.  
  47.  // Una vez comprobado establecemos el modo de video
  48.  pantalla = SDL_SetVideoMode(640, 480, 24, SDL_SWSURFACE);
  49.  if(pantalla == NULL)
  50.  printf("SDL_SWSURFACE 640x480x24 no compatible. Error: %s\n",
  51.  SDL_GetError());
  52.  
  53.  
  54.  // Obtenemos información del driver de video
  55.  printf("\n\n == INFORMACIÓN DRIVER VIDEO == \n");
  56.  SDL_VideoDriverName(driver, maxlen);
  57.  
  58.  if(driver == NULL) {
  59. fprintf(stderr, "No se puede obtener nombre driver video\n");
  60.  exit(1);
  61.  }
  62.  
  63.  printf("Driver: %s\n", driver);
  64.  
  65.  
  66.  // Obtenemos información sobre las capacidades de nuestro
  67.  // sistema respecto a SDL
  68.  printf("\n == INFORMACION SDL_INFO == \n\n");
  69.  if(propiedades->hw_available == 1)
  70.  printf("HW Compatible\n");
  71.  else
  72.  printf("HW no compatible\n");
  73.  
  74.  if(propiedades->wm_available == 1)
  75.  printf("Hay un manejador de ventanas disponible\n");
  76.  else
  77.  printf("No hay un manejador de ventanas disponible\n");
  78.  
  79.  if(propiedades->blit_hw == 1)
  80.  printf("El blitting hardware - hardware está acelerado\n");
  81.  else
  82.  printf("El blitting hardware - hardware NO está acelerado\n");
  83.  
  84.  if(propiedades->blit_hw_CC == 1) {
  85.  printf("El blitting con transparencias hardware - hardware ");
  86.  printf("está acelerado\n");
  87.  }
  88.  else {
  89.  printf("El blitting con transparencias hardware - hardware ");
  90.  printf("NO está acelerado\n");
  91.  }
  92.  
  93.  if(propiedades->blit_sw == 1)
  94.  printf("El blitting software - \
  95. hardware está acelerado.\n");
  96.  else
  97.  printf("El blitting software - hardware NO está acelerado. \n");
  98.  
  99.  if(propiedades->blit_sw_CC == 1) {
  100.  printf("El blitting software - hardware con transparencias");
  101.  printf(" está acelerado\n");
  102.  }
  103.  else {
  104.  printf("El blitting software - hardware con transparencias");
  105.  printf(" NO está acelerado\n");
  106.  }
  107.  
  108.  if(propiedades->blit_sw_A == 1)
  109.  printf("El blitting software - \
  110. hardware con alpha está acelerado\n");
  111.  else
  112. printf("El blitting software - \
  113. hardware con alpha NO está acelerado\n");
  114.  
  115.  if(propiedades->blit_fill == 1)
  116.  printf("El rellenado de color está acelerado\n");
  117.  else
  118.  printf("El rellenado de color NO está acelerado\n");
  119.  
  120.  printf("La memoria de video tiene %f MB\n", (float) propiedades->video_mem);
  121.  
  122. }
  123.  
  124.  
  125. void datos_configuracion(int *w, int *h, int *bpp);
  126.  
  127.  
  128. int main( int argc, char *argv [] )
  129. {
  130.  int opcion;
  131.  
  132.  int h, w, bpp;
  133.  
  134.  atexit(SDL_Quit);
  135.  
  136.  do {
  137.  
  138.  // Iniciamos SDL
  139.  if(SDL_Init(SDL_INIT_VIDEO) < 0){
  140.  fprintf(stderr, " No se pudo iniciar SDL: %s\n",
  141.  SDL_GetError());
  142.  exit(1);
  143.  }
  144.  
  145.  
  146.  printf("\n 1.Compatibilidad Video SDL\n");
  147.  printf(" 2.Información SDL_VideoInfo.\n");
  148.  printf(" 3.Salir\n");
  149.  printf("Elija una opción: ");
  150.  scanf(" %d", &opcion);
  151. switch(opcion) {
  152.  
  153.  case 1:
  154. datos_configuracion(&w, &h, &bpp);
  155.  compatibilidad_video_sdl(w, h, bpp);
  156.  SDL_Quit();
  157.  break;
  158.  
  159.  case 2: sdl_videoinfo(); SDL_Quit(); break;
  160.  
  161.  case 3: SDL_Quit(); break;
  162.  
  163.  default: printf("\nOpción no válida\n");
  164.  
  165.  }
  166.  
  167.  } while(opcion != 3);
  168.  
  169.  
  170.  return 0;
  171. }
  172.  
  173. // Función para inicializar los datos para comprobar la compatibilidad
  174.  
  175. void datos_configuracion(int *w, int *h, int *bpp) {
  176.  
  177.  printf("\nIntroduce la anchura en píxeles de la pantalla: ");
  178.  scanf(" %d", w);
  179.  
  180. printf("Introduce la altura en píxeles de la pantalla: ");
  181.  scanf(" %d", h);
  182.  
  183. printf("Introduce la profundidad de color: ");
  184.  scanf(" %d", bpp);
  185.  
  186.  printf("\n"); // Para el formato
  187.  
  188. }


a mi me marca error:

E:\Windows\Temp\ccIRbaaa.o(.text+0x4a5) In function `SDL_main':

a que se refiere??? gracias

Etiquetas: sdl
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:07.