header from Allegro 4.2
fixed most of the errors