rnd-20050314-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 #define FRAMES_PER_SECOND       50
46
47 #define ROUNDED_DIVIDE(x, y)    (((x) + (y) - 1) / (y))
48
49 #define SECONDS_TO_FRAMES(x)    ((x) * FRAMES_PER_SECOND)
50 #define FRAMES_TO_SECONDS(x)    ((x) / FRAMES_PER_SECOND)
51
52 #define SECONDS_TO_CYCLES(x)    ROUNDED_DIVIDE((x) * FRAMES_PER_SECOND, 8)
53 #define CYCLES_TO_SECONDS(x)    ROUNDED_DIVIDE((x) * 8, FRAMES_PER_SECOND)
54
55 #define DISPLAY_TIME(x)         ROUNDED_DIVIDE(x, FRAMES_PER_SECOND)
56
57 #else
58
59 #define DISPLAY_TIME(x)         (((x) * 8 + 49) / 50)
60 #endif
61
62 extern Bitmap *screenBitmap;
63 extern Bitmap *scoreBitmap;
64
65 extern Bitmap *objBitmap;
66 extern Bitmap *sprBitmap;
67 extern Bitmap *ttlBitmap;
68 extern Bitmap *botBitmap;
69
70 extern Pixmap screenPixmap;
71 extern Pixmap scorePixmap;
72 extern Pixmap spriteBitmap;
73
74 extern Pixmap objmaskBitmap;
75 extern Pixmap sprmaskBitmap;
76
77 extern GC spriteGC;
78
79 #endif