rnd-20060319-1-src
[rocksndiamonds.git] / src / game_em / display.h
1 #ifndef DISPLAY_H
2 #define DISPLAY_H
3
4 #include "main_em.h"
5
6 #define ORIG_TILEX              16
7 #define ORIG_TILEY              16
8 #define ORIG_SCOREX             8
9 #define ORIG_SCOREY             9
10 #define ORIG_GFXMENUFONTX       14
11 #define ORIG_GFXMENUFONTY       16
12 #define ORIG_MENUFONTX          12
13 #define ORIG_MENUFONTY          16
14
15 #define ZOOM_FACTOR             2
16
17 #define TILEX                   (ORIG_TILEX             * ZOOM_FACTOR)
18 #define TILEY                   (ORIG_TILEY             * ZOOM_FACTOR)
19 #define SCOREX                  (ORIG_SCOREX            * ZOOM_FACTOR)
20 #define SCOREY                  (ORIG_SCOREY            * ZOOM_FACTOR)
21 #define GFXMENUFONTX            (ORIG_GFXMENUFONTX      * ZOOM_FACTOR)
22 #define GFXMENUFONTY            (ORIG_GFXMENUFONTY      * ZOOM_FACTOR)
23 #define MENUFONTX               (ORIG_MENUFONTX         * ZOOM_FACTOR)
24 #define MENUFONTY               (ORIG_MENUFONTY         * ZOOM_FACTOR)
25
26 #define ORIG_SCR_MENUX          20
27 #define ORIG_SCR_MENUY          12
28 #define SCR_MENUX               17
29 #define SCR_MENUY               12
30 #define SCR_FIELDX              17
31 #define SCR_FIELDY              17
32 #define MAX_BUF_XSIZE           (SCR_FIELDX + 2)
33 #define MAX_BUF_YSIZE           (SCR_FIELDY + 2)
34
35 /* often used screen positions */
36 #define ORIG_MENU_SX            ((ORIG_SCR_MENUX - SCR_MENUX) * TILEX / 2)
37 #define ORIG_MENU_SY            0
38 #define SY                      8
39 #define SX                      8
40 #define SY                      8
41 #define SXSIZE                  (SCR_FIELDX * TILEX)
42 #define SYSIZE                  (SCR_FIELDY * TILEY)
43
44 #if 1
45
46 #if 0
47 #define FRAMES_PER_SECOND       50
48 #endif
49
50 #define ROUNDED_DIVIDE(x, y)    (((x) + (y) - 1) / (y))
51
52 #define SECONDS_TO_FRAMES(x)    ((x) * FRAMES_PER_SECOND)
53 #define FRAMES_TO_SECONDS(x)    ((x) / FRAMES_PER_SECOND)
54
55 #define SECONDS_TO_CYCLES(x)    ROUNDED_DIVIDE((x) * FRAMES_PER_SECOND, 8)
56 #define CYCLES_TO_SECONDS(x)    ROUNDED_DIVIDE((x) * 8, FRAMES_PER_SECOND)
57
58 #define DISPLAY_TIME(x)         ROUNDED_DIVIDE(x, FRAMES_PER_SECOND)
59
60 #else
61
62 #define DISPLAY_TIME(x)         (((x) * 8 + 49) / 50)
63 #endif
64
65 extern Bitmap *screenBitmap;
66 extern Bitmap *scoreBitmap;
67
68 extern Bitmap *objBitmap;
69 extern Bitmap *sprBitmap;
70 extern Bitmap *ttlBitmap;
71 extern Bitmap *botBitmap;
72
73 extern Pixmap screenPixmap;
74 extern Pixmap scorePixmap;
75 extern Pixmap spriteBitmap;
76
77 extern Pixmap objmaskBitmap;
78 extern Pixmap sprmaskBitmap;
79
80 extern GC spriteGC;
81
82 #endif