Virtuelle Zockhalle 0.05 beta

tableaus.h

gehe zur Dokumentation dieser Datei
00001 /* -*- coding: utf-8 -*- */
00002 
00003 /***********************************************************************
00004  *
00005  * $Id: tableaus.h,v 1.2 2010/11/26 13:34:02 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 #ifndef _TABLEAUS_H
00019 #define _TABLEAUS_H
00020 
00030 #include "elements.h"
00031 
00039 struct tabcount_part
00040 {
00042   short int x;
00044   short int y;
00046   short int w;
00048   short int h;
00049 }; 
00050 
00065 struct tabcount_parameters
00066 {
00068   int x;
00070   int y;
00081   unsigned maxdisp;
00083   unsigned speed;
00085   BITMAP *bm_off;
00087   BITMAP *bm_on;
00096   struct tabcount_part *parts;
00097 };
00098 
00108 void tabcount_gfx_init_cb (remember_t rmb, struct counter *c);
00109 
00133 #define JACKPOT_FIELD_MAX(N)                    \
00134   (((1U) << (N)) - 1)
00135 
00142 #define jackpot_field_get(CNT, N)               \
00143   ((cnt_get ((CNT)) & ((1U << (N)))) != 0)
00144 
00150 #define jackpot_field_set(CNT, N)                       \
00151   cnt_set ((CNT), cnt_get ((CNT)) | (1U << (N)))
00152 
00158 #define jackpot_field_toggle(CNT, N)                    \
00159   cnt_set ((CNT), cnt_get ((CNT)) ^ (1U << (N)))
00160 
00166 #define jackpot_field_clear(CNT, N)                     \
00167   cnt_set ((CNT), cnt_get ((CNT)) & ~(1U << (N)))
00168 
00174 #define is_jackpot_full(CNT)                    \
00175   (cnt_get ((CNT)) == cnt_get_max ((CNT)))
00176 
00181 #define jackpot_clear(CNT)                      \
00182   cnt_set ((CNT), 0)
00183 
00194 struct jackpot_parameters
00195 {
00197   int x;
00199   int y;
00201   BITMAP *bm_off;
00203   BITMAP *bm_on;
00205   unsigned fields;
00207   struct tabcount_part *parts;
00208 };
00209 
00217 void jackpot_gfx_init_cb (remember_t rmb, struct counter *c);
00218 
00219 #endif /* _TABLEAUS_H */