Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro 5] al_draw_tinted_bitmap crashuje na Windowsie

Ostatnio zmodyfikowano 2015-08-17 18:46
Autor Wiadomość
potate
Temat założony przez niniejszego użytkownika
[Allegro 5] al_draw_tinted_bitmap crashuje na Windowsie
» 2015-08-16 16:00:49
C/C++
#include <vector>
#include <allegro5/allegro.h>
#include <allegro5/allegro_image.h>
int main()
{
    // Inicjowanie bibliotek
    al_init();
    al_install_keyboard();
    al_init_image_addon();
    ALLEGRO_KEYBOARD_STATE keyboard;
    ALLEGRO_DISPLAY * game_window = al_create_display( 1280, 960 );
    ALLEGRO_EVENT_QUEUE * event_queue = al_create_event_queue();
    al_set_window_title( game_window, "Crash Test" );
    al_register_event_source( event_queue, al_get_display_event_source( game_window ) );
    // Grafika
    ALLEGRO_BITMAP * pix = al_load_bitmap( "blocks.png" );
    // Zmienne gry
    short color = 0;
    // Pętla gry
    while( 1 )
    {
        ALLEGRO_EVENT ev;
        ALLEGRO_TIMEOUT timeout;
        al_init_timeout( & timeout, 0.01 );
       
        bool get_event = al_wait_for_event_until( event_queue, & ev, & timeout );
        if( get_event && ev.type == ALLEGRO_EVENT_DISPLAY_CLOSE ) {
            break;
        }
       
        al_get_keyboard_state( & keyboard );
        al_clear_to_color( al_map_rgb( 255, 0, 255 ) );
       
        for( int i = 0; i < 160; i++ ) {
            for( int y = 0; y < 120; y++ ) {
                al_draw_tinted_bitmap( pix, al_map_rgb(( 255 - color ),( color / 2 ), color ), i * 8, y * 8, 0 );
            }
        }
        color += 5;
        if( color > 255 ) color = 0;
       
        al_flip_display();
    }
    al_destroy_bitmap( pix );
    al_destroy_display( game_window );
    return 0;
}

Skompilowałem ten kod na 2 platformy (Linux i Windows) - na Linuxie wszystko działa jak należy, jednak mój znajomy z Windowsem 8.1 mówi, że po kilku sekundach program mu crashuje. Dodam, że wywalenie kolorowania bitmapy (w sensie: zwykłe al_draw_bitmap) zapobiega crashom, jednak potrzebuję tej funkcji. Jak można to naprawić? (o ile w ogóle się da)
P-136362
DejaVu
» 2015-08-17 10:26:18
Ale crashuje mu bo co?
- Bo bibliotek nie widzi aplikacja
- bo plików nie widzi aplikacja
- wszystko niby działało ale się w pewnym momencie wywaliło
P-136411
potate
Temat założony przez niniejszego użytkownika
» 2015-08-17 12:20:52
Przez chwilę działa jak powinno, a po kilku sekundach crashuje.
P-136413
DejaVu
» 2015-08-17 13:25:11
a) wyciek pamięci
b) piszesz po nieswojej pamięci
P-136415
1aam2am1
» 2015-08-17 18:46:44
debuguj to najlepsze rozwiązanie
P-136430
« 1 »
  Strona 1 z 1