rnd-20020803-1-src
[rocksndiamonds.git] / src / libgame / msdos.h
index 26a3f79110e047d68e6588260f947322cfa3feba..5ddb3eef42aea353ed8e7ab3eeafd492d01143f3 100644 (file)
@@ -1,25 +1,28 @@
 /***********************************************************
-*  Rocks'n'Diamonds -- McDuffin Strikes Back!              *
+* Artsoft Retro-Game Library                               *
 *----------------------------------------------------------*
-*  ©1995 Artsoft Development                               *
-*        Holger Schemel                                    *
-*        33659 Bielefeld-Senne                             *
-*        Telefon: (0521) 493245                            *
-*        eMail: aeglos@valinor.owl.de                      *
-*               aeglos@uni-paderborn.de                    *
-*               q99492@pbhrzx.uni-paderborn.de             *
+* (c) 1994-2002 Artsoft Entertainment                      *
+*               Holger Schemel                             *
+*               Detmolder Strasse 189                      *
+*               33604 Bielefeld                            *
+*               Germany                                    *
+*               e-mail: info@artsoft.org                   *
 *----------------------------------------------------------*
-*  msdos.h                                                 *
+* msdos.h                                                  *
 ***********************************************************/
 
 #ifndef MSDOS_H
 #define MSDOS_H
 
-#include <allegro.h>
 #include <time.h>
+#include "allegro.h"
+
 
 /* symbol 'window' is defined in DJGPP cross-compiler in libc.a(conio.o) */
-#define window window_djgpp
+#define window window_internal
+
+/* symbol 'font' is defined in "allegro.h" */
+#define font font_internal
 
 /* system dependent definitions */
 
 #define XRES   800
 #define YRES   600
 
+/* allegro defines some macros that bother the rest of the program */
+#ifdef joy_x
+#undef joy_x
+#undef joy_y
+#undef joy_left
+#undef joy_right
+#undef joy_up
+#undef joy_down
+#undef joy_b1
+#undef joy_b2
+#endif
+
 /* additional Allegro keyboard mapping */
 
 /* The following are all undefined in Allegro */
 
 /* end of X11 keyboard mapping */
 
-#define MOUSE_FILENAME         "mouse.pcx"
-#define JOYSTICK_FILENAME      "joystick.cnf"
 
 #define screen myscreen
 
 #define MapNotify              19
 #define ClientMessage          33
 
+#define LineSolid               0
+#define LineOnOffDash           1
+#define LineDoubleDash          2
+
+#define CapNotLast              0
+#define CapButt                 1
+#define CapRound                2
+#define CapProjecting           3
+
+#define JoinMiter               0
+#define JoinRound               1
+#define JoinBevel               2
+
 #define GCForeground            (1L << 2)
 #define GCBackground            (1L << 3)
+#define GCLineWidth             (1L << 4)
+#define GCLineStyle             (1L << 5)
+#define GCCapStyle              (1L << 6)
+#define GCJoinStyle             (1L << 7)
 #define GCGraphicsExposures     (1L << 16)
 #define GCClipMask             (1L << 19)
 
@@ -622,6 +652,12 @@ typedef struct
   int clip_x_origin;           /* x origin for clipping */
   int clip_y_origin;           /* y origin for clipping */
   unsigned long value_mask;
+  int line_width;              /* line width */
+  int line_style;              /* LineSolid, LineOnOffDash, LineDoubleDash */
+  int cap_style;               /* CapNotLast, CapButt, 
+                                  CapRound, CapProjecting */
+  int join_style;              /* JoinMiter, JoinRound, JoinBevel */
+
 } XGCValues;
 
 typedef struct
@@ -669,6 +705,8 @@ typedef union _XEvent
   XKeyEvent xkey;
 } XEvent;
 
+Pixel AllegroAllocColorCell(int, int, int);
+
 void XMapWindow(Display *, Window);
 Display *XOpenDisplay(char *);
 Window XCreateSimpleWindow(Display *, Window, int, int,
@@ -691,6 +729,7 @@ int XReadBitmapFile(Display *, Drawable, char *,
                    unsigned int *, unsigned int *, Pixmap *, int *, int *);
 void XFreePixmap(Display *, Pixmap);
 void XFreeGC(Display *, GC);
+void XUnmapWindow(Display *, Window);
 void XCloseDisplay(Display *);
 void XNextEvent(Display *, XEvent *);
 int XPending(Display *);
@@ -699,14 +738,21 @@ int XLookupString(XKeyEvent *, char *, int, KeySym *, XComposeStatus *);
 void XSetForeground(Display *, GC, unsigned long);
 void XDrawLine(Display *, Drawable, GC, int, int, int, int);
 void XDestroyImage(XImage *);
+void XDestroyWindow(Display *, Window);
 Bool XQueryPointer(Display *, Window, Window *, Window *, int *, int *,
                   int *, int *, unsigned int *);
 void XAutoRepeatOn(Display *);
 void XAutoRepeatOff(Display *);
 
-boolean MSDOSOpenAudio(void);
-boolean MSDOSCloseAudio(void);
+void AllegroDrawLine(Drawable, int, int, int, int, Pixel);
+Pixel AllegroGetPixel(Drawable, int, int);
+
+void MSDOSOpenAudio(void);
+void MSDOSCloseAudio(void);
 
 void NetworkServer(int, int);
 
+void MSDOSInitJoysticks();
+boolean MSDOSReadJoystick(int, int *, int *, boolean *, boolean *);
+
 #endif /* MSDOS_H */