#include "files.h"
#include "joystick.h"
#include "image.h"
+#include "pcx.h"
#include "network.h"
#include "netserv.h"
InitDisplay();
InitWindow(argc, argv);
- print_debug("now map window");
-
XMapWindow(display, window);
XFlush(display);
- print_debug("window mapped");
-
- print_debug("now init gfx");
-
InitGfx();
-
- print_debug("gfx initialized");
-
InitElementProperties();
DrawMainMenu();
*/
#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()
{
-#ifndef MSDOS
int i;
-#endif
if (global_joystick_status == JOYSTICK_OFF)
return;
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
}
gc_values.background = pen_bg;
gc_valuemask = GCGraphicsExposures | GCForeground | GCBackground;
gc = XCreateGC(display, window, gc_valuemask, &gc_values);
-
-
-
- print_debug("OpenWindow finished");
}
void DrawInitText(char *text, int ypos, int color)
#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++)
char *picturemask_ext = "Mask.xbm";
#else
int pcx_err;
-
-#if 1
char *picture_ext = ".pcx";
-#else
- char *picture_ext = ".gif";
-#endif
-
#endif
-
- print_debug("now load pic:");
-
-
/* Grafik laden */
if (pic->picture_filename)
{
#ifdef MSDOS
rest(100);
-#endif MSDOS
+#endif /* MSDOS */
#if DEBUG_TIMING
debug_print_timestamp(1, NULL); /* initialize timestamp function */
#else /* !USE_XPM_LIBRARY */
-
-
- print_debug(filename);
-
-
-
pcx_err = Read_PCX_to_Pixmap(display, window, gc, filename,
&pix[pos], &clipmask[pos]);
-
-
- print_debug("ok-1");
-
-
switch(pcx_err)
{
case PCX_Success:
- print_debug("Success");
break;
case PCX_OpenFailed:
- print_debug("OpenFailed");
Error(ERR_EXIT, "cannot open PCX file '%s'", filename);
case PCX_ReadFailed:
- print_debug("ReadFailed");
Error(ERR_EXIT, "cannot read PCX file '%s'", filename);
case PCX_FileInvalid:
- print_debug("FileInvalid");
Error(ERR_EXIT, "invalid PCX file '%s'", filename);
case PCX_NoMemory:
- print_debug("NoMemory");
Error(ERR_EXIT, "not enough memory for PCX file '%s'", filename);
case PCX_ColorFailed:
- print_debug("ColorFailed");
Error(ERR_EXIT, "cannot get colors for PCX file '%s'", filename);
default:
- print_debug("default");
break;
}
- print_debug("ok-2");
-
#if DEBUG_TIMING
printf("SUMMARY LOADING PCX FILE %s:", filename);
debug_print_timestamp(1, "");
#endif /* !USE_XPM_LIBRARY */
-
- print_debug("-> 1");
-
-
-
if (!pix[pos])
Error(ERR_EXIT, "cannot get graphics for '%s'", pic->picture_filename);
-
-
- print_debug("-> 2");
}
/* zugehörige Maske laden (wenn vorhanden) */
#endif /* USE_XPM_LIBRARY */
-
- if (!clipmask[pos])
- print_debug("Oops -- no clipmask");
-
if (!clipmask[pos])
Error(ERR_EXIT, "cannot get clipmask for '%s'", pic->picture_filename);
}
-
-
- print_debug("LoadGfx done");
}
void InitElementProperties()
XCloseDisplay(display);
}
+#ifdef MSDOS
+ dumpErrorFile();
+#endif
+
exit(exit_value);
}