Allegro вылетает при загрузке растрового изображения

Я огляделся, и у них похожие вопросы, но ответы не решили мою проблему.

Итак, проблема в том, что если я попытаюсь загрузить/отрисовать bmp в аллегро, произойдет сбой, они находятся в том же каталоге, что и мой проект, они названы правильно, я считаю, что проблема заключается в самом bmp. Если я использую bmp из учебника, который я использую, они работают нормально, однако, если я пытаюсь создать свой собственный, allegro вылетает при запуске, есть ли какой-то предустановленный bmp, который я могу использовать для создания своих спрайтов? Я просматривал свой код несколько раз, но если я что-то пропустил, укажите это :)

Мой код:

#include <allegro.h>

int main(int argc, char *argv[])
{
// Startup Stuff
allegro_init();
install_keyboard();
set_color_depth(16);
set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0);

// Bitmap Stuff
BITMAP *pic = NULL;

pic = load_bitmap("enemy.bmp", NULL);


blit(pic, screen, 0,0,0,0,200,150);//Draw the whole bitmap to the screen at (0,0)

readkey(); // Wait for Key Press.

destroy_bitmap(pic);



return 0;
}
END_OF_MAIN();

Учебное пособие, которое я читаю

заранее спасибо


person Joseph Smith    schedule 30.11.2013    source источник
comment
Как выглядит трассировка стека?   -  person John Saxton    schedule 30.11.2013
comment
@JohnSaxton Извините, я забыл упомянуть, что я новичок, я на devcpp, где я могу получить трассировку стека?   -  person Joseph Smith    schedule 30.11.2013
comment
Вы всегда должны проверять возвращаемые значения и реагировать соответствующим образом. Тогда ваша программа не рухнет таинственным образом. if (!pic) { /* print unable to load bitmap & quit */ }   -  person Matthew    schedule 01.12.2013


Ответы (1)


Проблема заключалась в глубине цвета, bmp, которые я сделал, были 16-битными, изменение их на 24-битное решило проблему!

person Joseph Smith    schedule 30.11.2013