User Tag List

Resultados 1 al 10 de 10

Tema: Compilar ejemplos SDL

  1. #1

    Fecha de ingreso
    Apr 2003
    Ubicación
    /home/Toledo
    Mensajes
    1,513
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4
    Agradecer Thanks Received 
    1
    Thanked in
    Agradecido 1 vez en 1 post

    Compilar ejemplos SDL

    Me podria explicar alguien como puedo compilar unos simples ejemplos en SDL para windows? uqe deberia cambiar para que funcionase para la gp32?

    #include <stdio.h>
    #include <stdlib.h>
    #include <SDL.h>


    int main(int argc, char *argv[]) {

    SDL_Surface *image, *screen;
    SDL_Rect dest;
    SDL_Event event;
    Sint16 joyx,joyy;
    SDL_Joystick *joystick;
    int done = 0;
    int x,y,button;

    atexit(SDL_Quit);

    // Iniciar SDL
    if (SDL_Init(SDL_INIT_VIDEO|SDL_INIT_JOYSTICK) < 0) {
    printf("No se pudo iniciar SDL: %s\n",SDL_GetError());
    exit(1);
    }

    // Activamos modo de video
    screen = SDL_SetVideoMode(640,480,24,SDL_HWSURFACE);
    if (screen == NULL) {
    printf("No se puede inicializar el modo gráfico: \n",SDL_GetError());
    exit(1);
    }


    // Activa el Joystick
    if (SDL_NumJoysticks() >= 1) {
    joystick = SDL_JoystickOpen(0);
    SDL_JoystickEventState(SDL_ENABLE);
    }


    // Cargamos gráfico
    image = SDL_LoadBMP("nave.bmp");
    if ( image == NULL ) {
    printf("No pude cargar gráfico: %s\n", SDL_GetError());
    exit(1);
    }

    // Definimos color para la transparencia
    SDL_SetColorKey(image,SDL_SRCCOLORKEY|SDL_RLEACCEL ,SDL_MapRGB(image->format,255,0,0));


    x = y = 100;
    button = 0;



    while(done == 0) {

    // Borramos la pantalla
    dest.x=0;
    dest.y=0;
    dest.w=640;
    dest.h=480;
    SDL_FillRect(screen,&dest,SDL_MapRGB(screen->format,0,0,0));

    // Definimos donde dibujaremos el gráfico
    // y lo copiamos a la pantalla.
    dest.x = x;
    dest.y = y;
    dest.w = image->w;
    dest.h = image->h;
    SDL_BlitSurface(image, NULL, screen, &dest);

    // Mostramos la pantalla
    SDL_Flip(screen);

    // lectura directa del joystick
    joyx = SDL_JoystickGetAxis(joystick, 0);
    joyy = SDL_JoystickGetAxis(joystick, 1);

    if (joyy < -10) {y-=5;}
    if (joyy > 10) {y+=5;}
    if (joyx < -10) {x-=5;}
    if (joyx > 10) {x+=5;}


    // Lectura de eventos
    while ( SDL_PollEvent(&event) ) {

    // salir del programa si se pulsa el boton del joystick
    if ( event.type == SDL_JOYBUTTONDOWN) {
    done = 1;
    }

    // salir del programa si se pulsa una tecla
    // o se cierra la ventana
    if ( event.type == SDL_KEYDOWN || event.type == SDL_QUIT)
    done = 1;
    }
    }

    // liberar superficie
    SDL_FreeSurface(image);

    // cerramos el joystick
    if (SDL_JoystickOpened(0)) {
    SDL_JoystickClose(joystick);
    }

    return 0;
    }
    :: Developia :: http://www.developia.info :: a.k.a Uguru

  2. #2

    Fecha de ingreso
    Mar 2004
    Mensajes
    9,786
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Que entorno usas? Si mal no recuerdo Linux + gcc, no? Yo para enterarme me lei estas instrucciones de Chui donde configuras un entorno y compilas un ejemplo con SDL (eso si, use las versiones mas recientes de gcc, binutils y newlib).

    Despues use los makefiles del ejemplo y solo necesito cambiar el nombre de mi programa para que compile correctamente. Basta con hacer: make -f Makefile.gp32 (o make -f Makefile.pc).

    Para que ese programa funcionase en GP creo que simplemente bastaria con cambiar la inicializacion de la pantalla a 320,240,16 ; cambiar el input por las teclas correspondientes a la gp y la cabecera de la funcion por: void GpMain(void *argv).

    Ademas algunas lineas no serian necesarias, como los printf.
    "This post reminds me of a puzzle..."

  3. #3

    Fecha de ingreso
    Apr 2003
    Ubicación
    /home/Toledo
    Mensajes
    1,513
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4
    Agradecer Thanks Received 
    1
    Thanked in
    Agradecido 1 vez en 1 post
    Gracias Locke pero el tema es que queria probar el DCDev dado que tengo problemas en linux para compilar, de hecho el anterio ejemplo no lo consigo ejecutar correctamente, tras compilarse y ejecutarse se abre y se cierra de inmdiato,

    Me podrias dar el link de Chui donde configuras un entorno y compilas un ejemplo con SDL?
    :: Developia :: http://www.developia.info :: a.k.a Uguru

  4. #4

    Fecha de ingreso
    Mar 2004
    Mensajes
    9,786
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Vaya, se me olvido poner el link...

    Yo con el DCFreeDev, aparte de que me costaba un monton configurarlo, al conpilar los colores de las imagenes me salian raros, como con un filtro amarillento y oscuro. Lo deje y me pase a gcc en linea de comandos. Es mas sencillo.

    Si quieres hacerlo en windows prueba con el cygwin. Epieza siguiendo esta guia hasta instalar el gcc: http://www.abc21.dial.pipex.com/hand...2_gcc_tool.htm . Despues pasate a la de Chui desde el paso 9 hasta el final: http://sdl-gp32.sourceforge.net/making.html

    Suerte, si tienes algun problema avisa (que puede que haya algun paso que tenga un fallo creo recordar...)
    "This post reminds me of a puzzle..."

  5. #5

    Fecha de ingreso
    Apr 2003
    Ubicación
    /home/Toledo
    Mensajes
    1,513
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4
    Agradecer Thanks Received 
    1
    Thanked in
    Agradecido 1 vez en 1 post
    Bueno ya he solucionado bastantes de los problemas que tenia para la compilacion en linux, por lo que me voy a dedicar al juego (bueno a ir apreondiendo), en Linux y luego lo compilare/adaptare para la GP32.

    Las principales recomendaciones a seguir serían:

    Usar resoluciones 320x240, 256 colores, solo lenguaje SDL. Que mas me podria venir bien?
    :: Developia :: http://www.developia.info :: a.k.a Uguru

  6. #6

    Fecha de ingreso
    Sep 2004
    Ubicación
    Vigo
    Mensajes
    129
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    3
    Creo que no deberias usar "SDL_INIT_JOYSTICK" al inicializar SDL. La cruceta de la GP32 se simula con los cursores (SDLK_UP, SDLK_RIGHT, etc)

    Que alguien me corrija si me equivoco.

    Un saludo.
    Última edición por Salustian; 20/09/2004 a las 16:20
    Cláusula de exención de responsabilidad: No tengo que estar necesariamente de acuerdo con mis propias opiniones.

  7. #7

    Fecha de ingreso
    Mar 2004
    Mensajes
    9,786
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Usa 16 bits es vez de 256 colores.

    Salustian, estas en lo cierto, las pulsaciones de teclas de la yipi son eventos de teclado, asi que no haria falta iniciar el joystick.
    "This post reminds me of a puzzle..."

  8. #8

    Fecha de ingreso
    Apr 2003
    Ubicación
    /home/Toledo
    Mensajes
    1,513
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4
    Agradecer Thanks Received 
    1
    Thanked in
    Agradecido 1 vez en 1 post
    Ok muchas graccias, el tema del joystick es porque lo estoy haciend oprimero para pc y asi veo mejor como quedara en la GP32, pena de ese driver para usar la gp32 como joystic que no vaya en linux que seria una ayuda.
    :: Developia :: http://www.developia.info :: a.k.a Uguru

  9. #9

    Fecha de ingreso
    Apr 2003
    Ubicación
    /home/Toledo
    Mensajes
    1,513
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    4
    Agradecer Thanks Received 
    1
    Thanked in
    Agradecido 1 vez en 1 post
    Locke siento si te doy el coñazo, pero para contruirme el compilador para linux, que puedo usar los paso de los dos link que antes me diste, o conoces alguno mejor. Es que me da palo cargarme algo.
    :: Developia :: http://www.developia.info :: a.k.a Uguru

  10. #10

    Fecha de ingreso
    Mar 2004
    Mensajes
    9,786
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Con eso va perfecto, si los sigues como te dije (primero el de abc21 para compilar el gcc, las binutils y newlib) y despues el de chui desde el paso 9 para instalar las SDL de PC y GP. En principio eso es para el cygwin, pero haciendolo en linux no tendria que dar ningun fallo, excepto el b2fxec, que al ser un .exe lo mas probables es que lo tengas que usar con el wine.

    Si te da algun fallo durante la instalacion comentalo por aqui, a mi no me molesta nada ayudar
    "This post reminds me of a puzzle..."

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •