File fix.patch of Package falconseye
diff --git a/include/jtp_win.h b/include/jtp_win.h
index da91c60..541ae7c 100644
--- a/include/jtp_win.h
+++ b/include/jtp_win.h
@@ -228,7 +228,7 @@ extern void jtp_read_mouse_input();
extern int jtp_query(int qx, int qy, const char *qmessage, int nanswers, char *panswers, int is_dropdown);
extern void jtp_messagebox(const char *message);
extern char jtp_process_mouseclick();
-extern char jtp_whatis_mouseclick();
+extern char jtp_whatis_mouseclick(int *, int *);
extern void jtp_get_input(int, int, const char *ques, char *input);
extern void jtp_askname();
extern int jtp_get_menu_selection(jtp_window *menuwindow);
@@ -245,6 +245,11 @@ extern int jtp_swap_key(int);
extern void jtp_play_ambient_sound(int);
extern void jtp_play_event_sound(const char *);
extern void jtp_play_command_sound(int);
+extern void jtp_view_inventory();
+extern int jtp_find_menu_accelerator(char * description, char * used_accelerators);
+extern void jtp_init_graphics();
+extern void jtp_select_player();
+extern void jtp_show_wait_cursor();
extern void jtp_init_glyph_tiles();
#endif
diff --git a/include/system.h b/include/system.h
index 2171c78..2e0dfef 100644
--- a/include/system.h
+++ b/include/system.h
@@ -50,23 +50,9 @@ typedef long off_t;
* impossible to get right automatically.
* This is the type of signal handling functions.
*/
-#if !defined(OS2) && (defined(_MSC_VER) || defined(__TURBOC__) || defined(__SC__) || defined(WIN32))
-# define SIG_RET_TYPE void (__cdecl *)(int)
-#endif
-#ifndef SIG_RET_TYPE
-# if defined(NHSTDC) || defined(POSIX_TYPES) || defined(OS2) || defined(__DECC)
-# define SIG_RET_TYPE void (*)()
-# endif
-#endif
-#ifndef SIG_RET_TYPE
-# if defined(ULTRIX) || defined(SUNOS4) || defined(SVR3) || defined(SVR4)
- /* SVR3 is defined automatically by some systems */
-# define SIG_RET_TYPE void (*)()
-# endif
-#endif
-#ifndef SIG_RET_TYPE /* BSD, SIII, SVR2 and earlier, Sun3.5 and earlier */
-# define SIG_RET_TYPE int (*)()
-#endif
+#include <signal.h>
+typedef void (*sighandler_t)(int);
+#define SIG_RET_TYPE sighandler_t
#ifndef __GO32__
@@ -85,8 +71,8 @@ E int FDECL(srandom, (unsigned int));
# endif
# endif
#else
-E long lrand48();
-E void srand48();
+E long lrand48(void);
+E void srand48(long);
#endif /* BSD || ULTRIX || RANDOM */
#if !defined(BSD) || defined(ultrix)
@@ -338,10 +324,10 @@ E char *FDECL(memset, (char*,int,int));
#endif /* MICRO */
#if defined(BSD) && defined(ultrix) /* i.e., old versions of Ultrix */
-E void sleep();
+E void sleep(unsigned int);
#endif
#if defined(ULTRIX) || defined(SYSV)
-E unsigned sleep();
+E unsigned sleep(unsigned int);
#endif
#if defined(HPUX)
E unsigned int FDECL(sleep, (unsigned int));
diff --git a/include/wintty.h b/include/wintty.h
index b47a33d..a1d9e7f 100644
--- a/include/wintty.h
+++ b/include/wintty.h
@@ -252,4 +252,17 @@ E void FDECL(video_update_positionbar, (char *));
#undef E
+
+/* clean up and quit */
+STATIC_DCL void FDECL(bail, (const char *)); /* __attribute__((noreturn)) */
+STATIC_OVL void
+bail(mesg)
+const char *mesg;
+{
+ clearlocks();
+ tty_exit_nhwindows(mesg);
+ terminate(EXIT_SUCCESS);
+ /*NOTREACHED*/
+}
+
#endif /* WINTTY_H */
diff --git a/src/mkobj.c b/src/mkobj.c
index 69f83fb..addb44c 100644
--- a/src/mkobj.c
+++ b/src/mkobj.c
@@ -831,7 +831,7 @@ register struct obj *obj;
static int treefruits[] = {APPLE,ORANGE,PEAR,BANANA,EUCALYPTUS_LEAF};
struct obj *
-rnd_treefruit_at(x,y)
+rnd_treefruit_at(int x, int y)
{
return mksobj_at(treefruits[rn2(SIZE(treefruits)-1)],x,y,TRUE);
}
diff --git a/sys/share/unixtty.c b/sys/share/unixtty.c
index d198d69..4a4b781 100644
--- a/sys/share/unixtty.c
+++ b/sys/share/unixtty.c
@@ -11,6 +11,9 @@
#define NEED_VARARGS
#include "hack.h"
+#include <sys/ioctl.h>
+int has_colors(void);
+
/*
* The distinctions here are not BSD - rest but rather USG - rest, as
* BSD still has the old sgttyb structure, but SYSV has termio. Thus:
diff --git a/win/gem/wingem.c b/win/gem/wingem.c
index 5388d95..e114dce 100644
--- a/win/gem/wingem.c
+++ b/win/gem/wingem.c
@@ -5,6 +5,7 @@
#include "hack.h"
#include "func_tab.h"
#include "dlb.h"
+#include "wintty.h"
#include <ctype.h>
#ifdef SHORT_FILENAMES
#include "patchlev.h"
@@ -19,7 +20,6 @@ static char nullstr[] = "", winpanicstr[] = "Bad window id %d";
static int curr_status_line;
static char *FDECL(copy_of, (const char *));
-static void FDECL(bail, (const char *)); /* __attribute__((noreturn)) */
extern short glyph2tile[MAX_GLYPH]; /* from tile.c */
extern void mar_display_nhwindow(winid); /* from wingem1.c */
@@ -115,17 +115,6 @@ mar_get_msg_history()
return(iflags.msg_history);
}
-/* clean up and quit */
-static void
-bail(mesg)
-const char *mesg;
-{
- clearlocks();
- Gem_exit_nhwindows(mesg);
- terminate(EXIT_SUCCESS);
- /*NOTREACHED*/
-}
-
/*ARGSUSED*/
void
Gem_init_nhwindows(argcp,argv)
diff --git a/win/jtp/jtp_gen.c b/win/jtp/jtp_gen.c
index 399424b..f1bd5dc 100644
--- a/win/jtp/jtp_gen.c
+++ b/win/jtp/jtp_gen.c
@@ -5,6 +5,7 @@
#ifndef _jtp_gen_c_
#define _jtp_gen_c_
+#include <stdlib.h>
#include <time.h>
#ifdef USE_DIRECTX_SYSCALLS
#include "jtp_dirx.h"
diff --git a/win/jtp/jtp_gfl.c b/win/jtp/jtp_gfl.c
index 4cb4ed3..17ac8fc 100644
--- a/win/jtp/jtp_gfl.c
+++ b/win/jtp/jtp_gfl.c
@@ -7,7 +7,9 @@
#include "jtp_def.h"
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
+#include "jtp_gen.h"
#include "jtp_gra.h"
#include "jtp_gfl.h"
diff --git a/win/jtp/jtp_gra.c b/win/jtp/jtp_gra.c
index e16aee6..31b8e6b 100644
--- a/win/jtp/jtp_gra.c
+++ b/win/jtp/jtp_gra.c
@@ -17,6 +17,7 @@
#endif
#include "jtp_gen.h"
#include "jtp_gra.h"
+#include "jtp_sdl.h"
unsigned char jtp_colors[256][3];
jtp_screen_t jtp_screen;
@@ -47,7 +48,7 @@ void jtp_exit_graphics_mode()
jtp_DOSExitGraphicsMode(&jtp_screen);
#endif
#ifdef USE_SDL_SYSCALLS
- jtp_SDLExitGraphicsMode(&jtp_screen);
+ jtp_SDLExitGraphicsMode();
#endif
}
diff --git a/win/jtp/jtp_mou.c b/win/jtp/jtp_mou.c
index e7c22f2..bd714c7 100644
--- a/win/jtp/jtp_mou.c
+++ b/win/jtp/jtp_mou.c
@@ -5,6 +5,7 @@
#ifndef _jtp_mou_c_
#define _jtp_mou_c_
+#include <stdlib.h>
#include "jtp_def.h"
#ifdef USE_DIRECTX_SYSCALLS
#include "jtp_dirx.h"
@@ -15,6 +16,7 @@
#ifdef USE_SDL_SYSCALLS
#include "jtp_sdl.h"
#endif
+#include "jtp_gen.h"
#include "jtp_gra.h"
#include "jtp_mou.h"
diff --git a/win/jtp/jtp_win.c b/win/jtp/jtp_win.c
index fe37bb9..57b7188 100644
--- a/win/jtp/jtp_win.c
+++ b/win/jtp/jtp_win.c
@@ -4,6 +4,7 @@
#include "jtp_def.h"
#include <stdio.h>
+#include <ctype.h>
#include <math.h>
#include <unistd.h>
#include <string.h>
@@ -15,6 +16,7 @@
#include "jtp_keys.h"
#include "jtp_win.h"
#include "winjtp.h"
+#include "wintty.h"
#ifdef USE_DIRECTX_SYSCALLS
#include "jtp_dirx.h"
#endif
@@ -664,6 +666,7 @@ unsigned char * jtp_spell_symbols[JTP_MAX_SPELL_SYMBOLS]; /* Spell symbols */
/* Lighting table (color conversion) */
unsigned char * jtp_shade = NULL; /* Light shading table */
+int jtp_cmap_to_tile(int);
/*----------------------------------------------------
Function implementations
diff --git a/win/jtp/winjtp.c b/win/jtp/winjtp.c
index 84d4be8..e40cdee 100644
--- a/win/jtp/winjtp.c
+++ b/win/jtp/winjtp.c
@@ -2,6 +2,7 @@
/* Copyright (c) Jaakko Peltonen, 2000 */
/* NetHack may be freely redistributed. See license for details. */
+#include <ctype.h>
#include "hack.h"
#include "dlb.h"
#ifdef SHORT_FILENAMES
@@ -15,6 +16,8 @@
#include "jtp_keys.h"
#include "jtp_win.h"
+#include "jtp_gen.h"
+#include "jtp_gfl.h"
#include "jtp_gra.h"
#include "winjtp.h"
@@ -1344,7 +1347,7 @@ const char *prompt;
jtp_menuitem * tempmenuitem;
int n_accelerators = 0;
int temp_accelerator;
- int used_accelerators[1024];
+ char used_accelerators[1024];
char tempbuffer[1024];
tempwindow = jtp_find_window(window);
@@ -1505,12 +1508,12 @@ menu_item **menu_list;
if (!tempwindow)
{
jtp_messagebox("ERROR: Can't find window for menu selection!");
- return;
+ return(-1);
}
if (!tempwindow->menu)
{
jtp_messagebox("ERROR: Window does not have a menu!");
- return;
+ return(-1);
}
tempwindow->menu->selectiontype = how;
diff --git a/win/tty/wintty.c b/win/tty/wintty.c
index 129069d..811dab7 100644
--- a/win/tty/wintty.c
+++ b/win/tty/wintty.c
@@ -154,7 +154,6 @@ STATIC_DCL tty_menu_item *FDECL(reverse, (tty_menu_item *));
STATIC_DCL const char * FDECL(compress_str, (const char *));
STATIC_DCL void FDECL(tty_putsym, (winid, int, int, CHAR_P));
static char *FDECL(copy_of, (const char *));
-STATIC_DCL void FDECL(bail, (const char *)); /* __attribute__((noreturn)) */
/*
* A string containing all the default commands -- to add to a list
@@ -175,17 +174,6 @@ static const char default_menu_cmds[] = {
};
-/* clean up and quit */
-STATIC_OVL void
-bail(mesg)
-const char *mesg;
-{
- clearlocks();
- tty_exit_nhwindows(mesg);
- terminate(EXIT_SUCCESS);
- /*NOTREACHED*/
-}
-
#if defined(SIGWINCH) && defined(CLIPPING)
STATIC_OVL void
winch()
@@ -286,7 +274,7 @@ char** argv;
ttyDisplay->lastwin = WIN_ERR;
-#if defined(SIGWINCH) && defined(CLIPPING)
+#if 0 && defined(SIGWINCH) && defined(CLIPPING)
(void) signal(SIGWINCH, winch);
#endif