0

I'm trying to make a game for MS-DOS in DOSBox with DJGPP and Allegro 4. But when I try to draw a shape or show a sprite on screen I get the SIGSEGV error. This is my code:


    RGB palette[256];

    if (allegro_init() != 0) return 1;

    install_keyboard();

    if (set_gfx_mode(GFX_AUTODETECT, width, height, 0, 0) != 0)
    {
        if (set_gfx_mode(GFX_SAFE, width, height, 0, 0) != 0)
        {
            set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
            allegro_message("Unable to set any graphic mode\n%s\n", allegro_error);
            return 1;
        }
    }

    /* Create the bitmap */
    BITMAP *buffer = create_bitmap(320, 200);

    /* read in the bitmap files */
    BITMAP *character = load_bitmap("Isabella_w.bmp", palette);
    //if (character != 0)
    {
        //while (!key[KEY_ESC])
        {
            blit(buffer, screen, 0, 0, 0, 0, 700, 480);
            //dimensiones de la imagen = 102*79
            blit(character, screen, 0, 0, 20, 20, 102, 79); // imagen en pantalla
        }
    }

    rect(0, 0, 10, 10, buffer, makecol(255, 255, 255));

I tried to do this:


RGB paleta[256]{};
if (BITMAP *hello = load_bitmap("hello3.bmp", paleta)) {
    while (!key[KEY_ESC]){
        blit(buffer, screen, 0, 0, 0, 0, 700, 480);
     //dimensiones de la imagen = 102*79
        blit(hello, screen, 0, 0, 20, 20, 102, 79); // imagen en pantalla
    }
}

Like https://es.stackoverflow.com/questions/243085/error-c-program-received-signal-sigsegv But my program doesn't show anything.

Mau_RyT0
  • 3
  • 2

0 Answers0