/***********************************************************
-* 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 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)
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
XKeyEvent xkey;
} XEvent;
+Pixel AllegroAllocColorCell(int, int, int);
+
void XMapWindow(Display *, Window);
Display *XOpenDisplay(char *);
Window XCreateSimpleWindow(Display *, Window, int, int,
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 *);
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);
+void AllegroDrawLine(Drawable, int, int, int, int, Pixel);
+Pixel AllegroGetPixel(Drawable, int, int);
+
+void AllegroZoomBitmap(Drawable, Drawable, int, int, int, int);
+
+void MSDOSOpenAudio(void);
void MSDOSCloseAudio(void);
void NetworkServer(int, int);
+void MSDOSInitJoysticks();
+boolean MSDOSReadJoystick(int, int *, int *, boolean *, boolean *);
+
#endif /* MSDOS_H */