#ifndef DISPLAY_H
#define DISPLAY_H
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xatom.h>
-#include <X11/keysym.h>
+#include "main_em.h"
#define ORIG_TILEX 16
#define ORIG_TILEY 16
#define MENUFONTX (ORIG_MENUFONTX * ZOOM_FACTOR)
#define MENUFONTY (ORIG_MENUFONTY * ZOOM_FACTOR)
+#define ORIG_SCR_MENUX 20
+#define ORIG_SCR_MENUY 12
+#define SCR_MENUX 17
+#define SCR_MENUY 12
+#define SCR_FIELDX 17
+#define SCR_FIELDY 17
+#define MAX_BUF_XSIZE (SCR_FIELDX + 2)
+#define MAX_BUF_YSIZE (SCR_FIELDY + 2)
+
/* often used screen positions */
+#define ORIG_MENU_SX ((ORIG_SCR_MENUX - SCR_MENUX) * TILEX / 2)
+#define ORIG_MENU_SY 0
+#define SY 8
#define SX 8
#define SY 8
+#define SXSIZE (SCR_FIELDX * TILEX)
+#define SYSIZE (SCR_FIELDY * TILEY)
-#if 0
+#if 1
+#define FRAMES_PER_SECOND 50
-extern Display *display;
-extern Window window;
-#define xwindow window
+#define ROUNDED_DIVIDE(x, y) (((x) + (y) - 1) / (y))
-#else
+#define SECONDS_TO_FRAMES(x) ((x) * FRAMES_PER_SECOND)
+#define FRAMES_TO_SECONDS(x) ((x) / FRAMES_PER_SECOND)
-#include "../libgame/system.h"
+#define SECONDS_TO_CYCLES(x) ROUNDED_DIVIDE((x) * FRAMES_PER_SECOND, 8)
+#define CYCLES_TO_SECONDS(x) ROUNDED_DIVIDE((x) * 8, FRAMES_PER_SECOND)
-#define xwindow (window->drawable)
+#define DISPLAY_TIME(x) ROUNDED_DIVIDE(x, FRAMES_PER_SECOND)
-#endif
+#else
-#if 1
+#define DISPLAY_TIME(x) (((x) * 8 + 49) / 50)
+#endif
extern Bitmap *screenBitmap;
extern Bitmap *scoreBitmap;
extern Bitmap *ttlBitmap;
extern Bitmap *botBitmap;
-#endif
-
extern Pixmap screenPixmap;
extern Pixmap scorePixmap;
extern Pixmap spriteBitmap;
-extern Pixmap objPixmap;
extern Pixmap objmaskBitmap;
-extern Pixmap sprPixmap;
extern Pixmap sprmaskBitmap;
-extern Pixmap ttlPixmap;
-extern Pixmap ttlmaskBitmap;
-extern Pixmap botPixmap;
-extern Pixmap botmaskBitmap;
-extern GC screenGC;
-extern GC scoreGC;
extern GC spriteGC;
-extern GC antsGC;
-
-extern Atom deleteAtom;
-
-extern KeySym lastKeySym;
-
-extern KeyCode northKeyCode[];
-extern KeyCode eastKeyCode[];
-extern KeyCode southKeyCode[];
-extern KeyCode westKeyCode[];
-extern KeyCode fireKeyCode[];
-extern KeyCode escKeyCode[];
#endif