#include "files.h"
#include "joystick.h"
#include "image.h"
+#include "pcx.h"
#include "network.h"
#include "netserv.h"
void InitNetworkServer()
{
+#ifndef MSDOS
int nr_wanted;
+#endif
if (!options.network)
return;
+#ifndef MSDOS
nr_wanted = Request("Choose player", REQ_PLAYER | REQ_STAY_CLOSED);
if (!ConnectToServer(options.server_host, options.server_port))
if (nr_wanted)
SendToServer_NrWanted(nr_wanted);
+#endif
}
void InitSound()
*/
#endif
-#else
+#else /* MSDOS */
sound_loops_allowed = TRUE;
/*
setup.sound_loops_on = TRUE;
*/
-#endif
+#endif /* MSDOS */
for(i=0; i<NUM_SOUNDS; i++)
{
if (sound_status == SOUND_OFF)
return;
-#ifndef MSDOS
+#ifdef MSDOS
+ SoundServer();
+ return;
+#endif
+
if (pipe(sound_pipe)<0)
{
Error(ERR_WARN, "cannot create pipe - no sounds");
}
else /* we are parent */
close(sound_pipe[0]); /* no reading from pipe needed */
-#else
- SoundServer();
-#endif
}
void InitJoysticks()
joystick_status = JOYSTICK_AVAILABLE;
}
-#else
- joystick_status = JOYSTICK_AVAILABLE;
+
+#else /* MSDOS */
+
+ /* try to access two joysticks; if that fails, try to access just one */
+ if (install_joystick(JOY_TYPE_2PADS) == 0 ||
+ install_joystick(JOY_TYPE_AUTODETECT) == 0)
+ joystick_status = JOYSTICK_AVAILABLE;
+
+ /*
+ load_joystick_data(JOYSTICK_FILENAME);
+ */
+
+ for (i=0; i<MAX_PLAYERS; i++)
+ {
+ char *device_name = setup.input[i].joy.device_name;
+ int joystick_nr = getJoystickNrFromDeviceName(device_name);
+
+ if (joystick_nr >= num_joysticks)
+ joystick_nr = -1;
+
+ /* misuse joystick file descriptor variable to store joystick number */
+ stored_player[i].joystick_fd = joystick_nr;
+ }
#endif
}
void InitDisplay()
{
+#ifndef MSDOS
XVisualInfo vinfo_template, *vinfo;
int num_visuals;
+#endif
unsigned int depth;
/* connect to X server */
depth = DefaultDepth(display, screen);
cmap = DefaultColormap(display, screen);
+#ifndef MSDOS
/* look for good enough visual */
vinfo_template.screen = screen;
vinfo_template.class = (depth == 8 ? PseudoColor : TrueColor);
printf("Sorry, cannot get appropriate visual.\n");
exit(-1);
}
+#endif
}
void InitWindow(int argc, char *argv[])
{
unsigned int border_width = 4;
+ XGCValues gc_values;
+ unsigned long gc_valuemask;
+#ifndef MSDOS
+ XTextProperty windowName, iconName;
Pixmap icon_pixmap, iconmask_pixmap;
- unsigned int icon_width,icon_height;
- int icon_hot_x,icon_hot_y;
+ unsigned int icon_width, icon_height;
+ int icon_hot_x, icon_hot_y;
char icon_filename[256];
XSizeHints size_hints;
XWMHints wm_hints;
XClassHint class_hints;
- XTextProperty windowName, iconName;
- XGCValues gc_values;
- unsigned long gc_valuemask;
char *window_name = WINDOWTITLE_STRING;
char *icon_name = WINDOWTITLE_STRING;
long window_event_mask;
Atom proto_atom = None, delete_atom = None;
+#endif
int screen_width, screen_height;
int win_xpos = WIN_XPOS, win_ypos = WIN_YPOS;
unsigned long pen_fg = WhitePixel(display,screen);
#ifdef MSDOS
DrawInitText("MSDOS version done by Guido Schulz",210,FC_BLUE);
rest(200);
-#endif MSDOS
+#endif /* MSDOS */
DrawInitText("Loading graphics:",120,FC_GREEN);
for(i=0; i<NUM_PICTURES; i++)
#ifdef MSDOS
rest(100);
-#endif MSDOS
+#endif /* MSDOS */
#if DEBUG_TIMING
debug_print_timestamp(1, NULL); /* initialize timestamp function */
#else /* !USE_XPM_LIBRARY */
- pcx_err = Read_PCX_to_Pixmaps(display, window, gc, filename,
- &pix[pos], &clipmask[pos]);
+ pcx_err = Read_PCX_to_Pixmap(display, window, gc, filename,
+ &pix[pos], &clipmask[pos]);
switch(pcx_err)
{
case PCX_Success:
XCloseDisplay(display);
}
+#ifdef MSDOS
+ dumpErrorFile();
+#endif
+
exit(exit_value);
}