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.