Virtuelle Zockhalle 0.05 beta
|
00001 /* -*- coding: utf-8 -*- */ 00002 00003 /*********************************************************************** 00004 * 00005 * $Id: alhelper.h,v 1.4 2010/11/19 07:50:11 elias Beta $ 00006 * Diese Datei gehört zur Virtuellen Zockhalle 00007 * 00008 * Virtuelle Zockhalle 00009 * (c) 2010 Elias Schwerdtfeger 00010 * http://www.tamagothi.de/ 00011 * 00012 * Dieses Programm ist freie Software, lizenziert unter den sinngemäß 00013 * anzuwendenden Bedingungen meiner Lizenz für freie Musik, 00014 * http://www.tamagothi.de/alben/lizenz.html 00015 * 00016 ***********************************************************************/ 00017 00018 00019 #ifndef _ALHELPER_H 00020 #define _ALHELPER_H 00021 00022 00030 #include <allegro.h> 00031 #include "eshelper.h" 00032 00033 00040 DATAFILE *eload_datafile (const char *path); 00048 BITMAP *ecreate_bitmap (int w, int h); 00059 BITMAP *ecreate_sub_bitmap (BITMAP *bm, int x, int y, int w, int h); 00066 BITMAP *edup_bitmap (BITMAP *bm); 00073 RLE_SPRITE *eget_rle_sprite (BITMAP *bm); 00080 void pattern_blit (BITMAP *pat, BITMAP *dest); 00088 #define r_load_datafile(RMB, PATH) \ 00089 _MAKEREMEMBER_1 ((RMB), DATAFILE *, eload_datafile, unload_datafile, (PATH)) 00090 00098 #define r_create_bitmap(RMB, W, H) \ 00099 _MAKEREMEMBER_2 ((RMB), BITMAP *, ecreate_bitmap, destroy_bitmap, (W), (H)) 00100 00111 #define r_create_sub_bitmap(RMB, BM, X, Y, W, H) \ 00112 _MAKEREMEMBER_5 ((RMB), BITMAP *, ecreate_sub_bitmap, \ 00113 destroy_bitmap, (BM), (X), (Y), (W), (H)) 00114 00121 #define r_dup_bitmap(RMB, BM) \ 00122 _MAKEREMEMBER_1 ((RMB), BITMAP *, edup_bitmap, destroy_bitmap, (BM)) 00123 00130 #define r_get_rle_sprite(RMB, BM) \ 00131 _MAKEREMEMBER_1 ((RMB), BITMAP *, eget_rle_sprite, \ 00132 destroy_rle_sprite, (BM)) 00133 00144 #define makexcol(HEXCOL) \ 00145 makecol (((HEXCOL) >> 16) & 0xFF, \ 00146 ((HEXCOL) >> 8) & 0xFF, \ 00147 ((HEXCOL) >> 0) & 0xFF) 00148 00152 struct blend_chain 00153 { 00159 void (*blend_f) (int r, int g, int b, int a); 00161 BITMAP *blend_bm; 00163 int color; 00165 short int r; 00167 short int g; 00169 short int b; 00171 short int a; 00178 short int lit; 00179 }; 00180 00187 void chainblend (BITMAP *bm, struct blend_chain *chain); 00188 00189 #endif /* _ALHELPER_H */