X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Finit.c;h=25cc7e043c72b7d9ad00635cf2c8241b61485e38;hp=5f5419f200243dda3b78212720f1c2ea342b82cc;hb=34efaa3925a28cb95ecb05bf2c693c16f6edfe2f;hpb=3dc317d10b44cc6b75db10ac194966ad8114d390 diff --git a/src/init.c b/src/init.c index 5f5419f2..25cc7e04 100644 --- a/src/init.c +++ b/src/init.c @@ -105,21 +105,25 @@ void InitLevelAndPlayerInfo() 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)) - Error(ERR_EXIT, "cannot connect to multiplayer server"); + Error(ERR_EXIT, "cannot connect to network game server"); - SendToServer_Nickname(setup.player_name); + SendToServer_PlayerName(setup.player_name); SendToServer_ProtocolVersion(); if (nr_wanted) SendToServer_NrWanted(nr_wanted); +#endif } void InitSound() @@ -251,14 +255,36 @@ void InitJoysticks() joystick_status = JOYSTICK_AVAILABLE; } #else - joystick_status = JOYSTICK_AVAILABLE; + + /* 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= 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 */ @@ -271,6 +297,7 @@ void InitDisplay() 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); @@ -295,25 +322,28 @@ void InitDisplay() 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); @@ -628,7 +658,13 @@ void LoadGfx(int pos, struct PictureFileInfo *pic) char *picturemask_ext = "Mask.xbm"; #else int pcx_err; + +#if 1 char *picture_ext = ".pcx"; +#else + char *picture_ext = ".gif"; +#endif + #endif /* Grafik laden */ @@ -674,8 +710,8 @@ void LoadGfx(int pos, struct PictureFileInfo *pic) #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: @@ -1342,5 +1378,9 @@ void CloseAllAndExit(int exit_value) XCloseDisplay(display); } +#ifdef MSDOS + dumpErrorFile(); +#endif + exit(exit_value); }