-/* NetHack 3.6 extern.h $NHDT-Date: 1471112244 2016/08/13 18:17:24 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.570 $ */
+/* NetHack 3.6 extern.h $NHDT-Date: 1488075978 2017/02/26 02:26:18 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.582 $ */
/* Copyright (c) Steve Creps, 1988. */
/* NetHack may be freely redistributed. See license for details. */
E void FDECL(dump_open_log, (time_t));
E void NDECL(dump_close_log);
-E void FDECL(dump_redirect, (boolean));
+E void FDECL(dump_redirect, (BOOLEAN_P));
E void FDECL(dump_forward_putstr, (winid, int, const char*, int));
/* ### wizard.c ### */
-/* NetHack 3.6 end.c $NHDT-Date: 1461919723 2016/04/29 08:48:43 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.116 $ */
+/* NetHack 3.6 end.c $NHDT-Date: 1488075979 2017/02/26 02:26:19 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.127 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
STATIC_DCL void FDECL(list_vanquished, (CHAR_P, BOOLEAN_P));
STATIC_DCL void FDECL(list_genocided, (CHAR_P, BOOLEAN_P));
STATIC_DCL boolean FDECL(should_query_disclose_option, (int, char *));
+#ifdef DUMPLOG
+STATIC_DCL void NDECL(dump_plines);
+#endif
+STATIC_DCL void FDECL(dump_everything, (int));
STATIC_DCL int NDECL(num_extinct);
#if defined(__BEOS__) || defined(MICRO) || defined(WIN32) || defined(OS2)
dump_plines()
{
int i;
- char* str;
- extern char* saved_plines[];
+ char buf[BUFSZ], **strp;
+ extern char *saved_plines[];
+ Strcpy(buf, " ");
putstr(0, 0, "");
putstr(0, 0, "Latest messages:");
- for (i = 0; i < DUMPLOG_MSG_COUNT; ++i)
- {
- str = saved_plines[DUMPLOG_MSG_COUNT - 1 - i];
- if (str) {
- char buf[BUFSZ];
- Sprintf(buf, " %s", str);
+ for (i = 0; i < DUMPLOG_MSG_COUNT; ++i) {
+ strp = &saved_plines[DUMPLOG_MSG_COUNT - 1 - i];
+ if (*strp) {
+ copynchars(&buf[1], *strp, BUFSZ - 1 - 1);
putstr(0, 0, buf);
- }
#ifdef FREE_ALL_MEMORY
- free(str);
+ free(*strp), *strp = 0;
#endif
+ }
}
}
#endif
STATIC_OVL void
-dump_everything(how, taken)
+dump_everything(how)
int how;
-boolean taken;
{
#ifdef DUMPLOG
- struct obj* obj;
- struct topl* topl;
+ struct obj *obj;
char pbuf[BUFSZ];
dump_redirect(TRUE);
show_overview((how >= PANICKED) ? 1 : 2, how);
putstr(0, 0, "");
dump_redirect(FALSE);
+#else
+ nhUse(how);
#endif
}
if (strcmp(flags.end_disclose, "none") && how != PANICKED)
disclose(how, taken);
- dump_everything(how, taken);
+
+ dump_everything(how);
/* finish_paybill should be called after disclosure but before bones */
if (bones_ok && taken)
return n;
}
-int
+STATIC_OVL int
num_extinct()
{
int i, n = 0;
-/* NetHack 3.6 windows.c $NHDT-Date: 1448013599 2015/11/20 09:59:59 $ $NHDT-Branch: master $:$NHDT-Revision: 1.35 $ */
+/* NetHack 3.6 windows.c $NHDT-Date: 1488075979 2017/02/26 02:26:19 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.39 $ */
/* Copyright (c) D. Cohrs, 1993. */
/* NetHack may be freely redistributed. See license for details. */
#endif /* STATUS_VIA_WINDOWPORT */
STATIC_VAR struct window_procs dumplog_windowprocs_backup;
-STATIC_PTR FILE* dumplog_file;
+STATIC_PTR FILE *dumplog_file;
#ifdef DUMPLOG
-char *
+STATIC_VAR time_t dumplog_now;
+
+STATIC_DCL char *FDECL(dump_fmtstr, (const char *, char *));
+
+STATIC_OVL char *
dump_fmtstr(fmt, buf)
-char *fmt;
+const char *fmt;
char *buf;
{
- char *fp = fmt, *bp = buf;
+ const char *fp = fmt;
+ char *bp = buf;
int slen, len = 0;
char tmpbuf[BUFSZ];
char verbuf[BUFSZ];
+ long uid;
+ time_t now;
- time_t now = getnow();
- int uid = getuid();
+ now = dumplog_now;
+ uid = (long) getuid();
while (fp && *fp && len < BUFSZ-1) {
if (*fp == '%') {
fp++;
switch (*fp) {
- default: goto finish;
+ default:
+ goto finish;
case '\0': /* fallthrough */
case '%': /* literal % */
Sprintf(tmpbuf,"%%");
Sprintf(tmpbuf, "%s", version_string(verbuf));
break;
case 'u': /* UID */
- Sprintf(tmpbuf, "%d", uid);
+ Sprintf(tmpbuf, "%ld", uid);
break;
case 'n': /* player name */
- Sprintf(tmpbuf, "%s", (plname ? plname : "unknown"));
+ Sprintf(tmpbuf, "%s", *plname ? plname : "unknown");
break;
case 'N': /* first character of player name */
- Sprintf(tmpbuf, "%c", (plname ? *plname : 'u'));
+ Sprintf(tmpbuf, "%c", *plname ? *plname : 'u');
break;
}
}
#endif /* DUMPLOG */
-
void
dump_open_log(now)
time_t now;
char buf[BUFSZ];
char *fname;
+ dumplog_now = now;
#ifdef SYSCF
if (!sysopt.dumplogfile)
return;
#else
fname = dump_fmtstr(DUMPLOG_FILE, buf);
#endif
-
dumplog_file = fopen(fname, "w");
dumplog_windowprocs_backup = windowprocs;
-#endif
+
+#else /*!DUMPLOG*/
+ nhUse(now);
+#endif /*?DUMPLOG*/
}
void
dump_forward_putstr(win, attr, str, no_forward)
winid win;
int attr;
-const char* str;
+const char *str;
int no_forward;
{
if (dumplog_file)
putstr(win, attr, str);
}
+/*ARGSUSED*/
STATIC_OVL void
dump_putstr(win, attr, str)
-winid win;
-int attr;
-const char* str;
+winid win UNUSED;
+int attr UNUSED;
+const char *str;
{
if (dumplog_file)
fprintf(dumplog_file, "%s\n", str);
return dummy;
}
+/*ARGUSED*/
STATIC_OVL void
dump_clear_nhwindow(win)
-winid win;
+winid win UNUSED;
{
-
+ return;
}
+/*ARGSUSED*/
STATIC_OVL void
dump_display_nhwindow(win, p)
-winid win;
-BOOLEAN_P p;
+winid win UNUSED;
+boolean p UNUSED;
{
-
+ return;
}
+/*ARGUSED*/
STATIC_OVL void
dump_destroy_nhwindow(win)
-winid win;
+winid win UNUSED;
{
-
+ return;
}
+/*ARGUSED*/
STATIC_OVL void
dump_start_menu(win)
-winid win;
+winid win UNUSED;
{
-
+ return;
}
+/*ARGSUSED*/
STATIC_OVL void
dump_add_menu(win, glyph, identifier, ch, gch, attr, str, preselected)
-winid win;
-int glyph;
-const ANY_P* identifier;
-CHAR_P ch;
-CHAR_P gch;
-int attr;
-const char* str;
-BOOLEAN_P preselected;
+winid win UNUSED;
+int glyph UNUSED;
+const anything *identifier UNUSED;
+char ch;
+char gch UNUSED;
+int attr UNUSED;
+const char *str;
+boolean preselected UNUSED;
{
if (dumplog_file) {
if (glyph == NO_GLYPH)
}
}
+/*ARGSUSED*/
STATIC_OVL void
dump_end_menu(win, str)
-winid win;
-const char* str;
+winid win UNUSED;
+const char *str;
{
if (dumplog_file) {
if (str)
}
STATIC_OVL int
-dump_select_menu(win, index, item)
-winid win;
-int index;
-MENU_ITEM_P** item;
+dump_select_menu(win, how, item)
+winid win UNUSED;
+int how UNUSED;
+menu_item **item;
{
- *item = NULL;
+ *item = (menu_item *) 0;
return 0;
}
void
-dump_redirect(flag)
-boolean flag;
+dump_redirect(onoff_flag)
+boolean onoff_flag;
{
if (dumplog_file) {
- if (flag) {
+ if (onoff_flag) {
windowprocs.win_create_nhwindow = dump_create_nhwindow;
windowprocs.win_clear_nhwindow = dump_clear_nhwindow;
windowprocs.win_display_nhwindow = dump_display_nhwindow;
} else {
windowprocs = dumplog_windowprocs_backup;
}
- iflags.in_dumplog = flag;
+ iflags.in_dumplog = onoff_flag;
} else {
iflags.in_dumplog = FALSE;
}