OSDN Git Service

upgrade to 3.6.2
[jnethack/source.git] / src / drawing.c
index 3f1050e..79971a2 100644 (file)
@@ -1,4 +1,4 @@
-/* NetHack 3.6 drawing.c       $NHDT-Date: 1463706747 2016/05/20 01:12:27 $  $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.51 $ */
+/* NetHack 3.6 drawing.c       $NHDT-Date: 1546656404 2019/01/05 02:46:44 $  $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.59 $ */
 /* Copyright (c) NetHack Development Team 1992.                   */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -31,10 +31,13 @@ nhsym l_syms[SYM_MAX] = DUMMY;   /* loaded symbols          */
 nhsym r_syms[SYM_MAX] = DUMMY;   /* rogue symbols           */
 
 nhsym warnsyms[WARNCOUNT] = DUMMY; /* the current warning display symbols */
-/*JP
-const char invisexplain[] = "remembered, unseen, creature";
-*/
-const char invisexplain[] = "\8ao\82¦\82Ä\82¢\82é\82ª\8c©\82¦\82Ä\82¢\82È\82¢\89ö\95¨";
+#if 0 /*JP*/
+const char invisexplain[] = "remembered, unseen, creature",
+           altinvisexplain[] = "unseen creature"; /* for clairvoyance */
+#else
+const char invisexplain[] = "\8ao\82¦\82Ä\82¢\82é\82ª\8c©\82¦\82Ä\82¢\82È\82¢\89ö\95¨",
+           altinvisexplain[] = "\8c©\82¦\82Ä\82¢\82È\82¢\89ö\95¨"; /* for clairvoyance */
+#endif
 
 /* Default object class symbols.  See objclass.h.
  * {symbol, name, explain}
@@ -619,6 +622,10 @@ void NDECL((*ibmgraphics_mode_callback)) = 0; /* set in tty_start_screen() */
 void NDECL((*ascgraphics_mode_callback)) = 0; /* set in tty_start_screen() */
 #endif
 
+#ifdef CURSES_GRAPHICS
+void NDECL((*cursesgraphics_mode_callback)) = 0;
+#endif
+
 /*
  * Convert the given character to an object class.  If the character is not
  * recognized, then MAXOCLASSES is returned.  Used in detect.c, invent.c,
@@ -708,9 +715,13 @@ init_symbols()
 void
 update_bouldersym()
 {
-    showsyms[SYM_BOULDER + SYM_OFF_X] = iflags.bouldersym;
-    l_syms[SYM_BOULDER + SYM_OFF_X] = iflags.bouldersym;
-    r_syms[SYM_BOULDER + SYM_OFF_X] = iflags.bouldersym;
+    nhsym boulder = (nhsym) iflags.bouldersym;
+
+    if (!boulder)
+        boulder = def_oc_syms[ROCK_CLASS].sym; /* (nhsym) ROCK_SYM */
+    showsyms[SYM_BOULDER + SYM_OFF_X] = boulder;
+    l_syms[SYM_BOULDER + SYM_OFF_X] = boulder;
+    r_syms[SYM_BOULDER + SYM_OFF_X] = boulder;
 }
 
 void
@@ -850,8 +861,14 @@ int nondefault;
         if (SYMHANDLING(H_DEC) && decgraphics_mode_callback)
             (*decgraphics_mode_callback)();
 #endif
-    } else
-        init_symbols();
+# ifdef CURSES_GRAPHICS
+        if (SYMHANDLING(H_CURS) && cursesgraphics_mode_callback)
+            (*cursesgraphics_mode_callback)();
+# endif
+    } else {
+        init_l_symbols();
+        init_showsyms();
+    }
 }
 
 void
@@ -899,9 +916,10 @@ boolean name_too;
  * to this array at the matching offset.
  */
 const char *known_handling[] = {
-    "UNKNOWN", /* H_UNK */
-    "IBM",     /* H_IBM */
-    "DEC",     /* H_DEC */
+    "UNKNOWN", /* H_UNK  */
+    "IBM",     /* H_IBM  */
+    "DEC",     /* H_DEC  */
+    "CURS",    /* H_CURS */
     (const char *) 0,
 };