]> granicus.if.org Git - nethack/commitdiff
move enums in display.h ahead of macro definitions
authornhmall <nhmall@nethack.org>
Thu, 23 Sep 2021 01:46:30 +0000 (21:46 -0400)
committernhmall <nhmall@nethack.org>
Thu, 23 Sep 2021 01:46:30 +0000 (21:46 -0400)
move up the enums in display.h so that the enum values can be used
in place of mysterious magic numbers in some of the macro
definitions.

include/display.h

index 5a3e1d9e91cac9c2882d7af161d6151b64c55d18..952d4b8a0dffeaa4c143fa5e55ff403e80220d31 100644 (file)
  * colors, but would also be represented by different symbols.
  */
 
+
+#include "color.h"
+/* 3.6.3: poison gas zap used to be yellow and acid zap was green,
+   which conflicted with the corresponding dragon colors */
+enum zap_colors {
+    zap_color_missile    = HI_ZAP,
+    zap_color_fire       = CLR_ORANGE,
+    zap_color_frost      = CLR_WHITE,
+    zap_color_sleep      = HI_ZAP,
+    zap_color_death      = CLR_BLACK,
+    zap_color_lightning  = CLR_WHITE,
+    zap_color_poison_gas = CLR_GREEN,
+    zap_color_acid       = CLR_YELLOW
+};
+
+enum altar_colors {
+    altar_color_unaligned = CLR_RED,
+#if defined(USE_GENERAL_ALTAR_COLORS)
+        /* On OSX with TERM=xterm-color256 these render as
+         *  white -> tty: gray, curses: ok
+         *  gray  -> both tty and curses: black
+         *  black -> both tty and curses: blue
+         *  red   -> both tty and curses: ok.
+         * Since the colors have specific associations (with the
+         * unicorns matched with each alignment), we shouldn't use
+         * scrambled colors and we don't have sufficient information
+         * to handle platform-specific color variations.
+         */
+    altar_color_chaotic = CLR_BLACK,
+    altar_color_neutral = CLR_GRAY,
+    altar_color_lawful  = CLR_WHITE,
+#else
+    altar_color_chaotic = CLR_GRAY,
+    altar_color_neutral = CLR_GRAY,
+    altar_color_lawful  = CLR_GRAY,
+#endif
+    altar_color_other = CLR_BRIGHT_MAGENTA,
+};
+
+/* types of explosions */
+enum explosion_types {
+    EXPL_DARK = 0,
+    EXPL_NOXIOUS = 1,
+    EXPL_MUDDY = 2,
+    EXPL_WET = 3,
+    EXPL_MAGICAL = 4,
+    EXPL_FIERY = 5,
+    EXPL_FROSTY = 6,
+    EXPL_MAX = 7
+};
+
+/* above plus this redundant? */
+enum expl_types {
+    expl_dark,
+    expl_noxious,
+    expl_muddy,
+    expl_wet,
+    expl_magical,
+    expl_fiery,
+    expl_frosty,
+};
+
+enum explode_colors {
+    explode_color_dark = CLR_BLACK,
+    explode_color_noxious = CLR_GREEN,
+    explode_color_muddy = CLR_BROWN,
+    explode_color_wet = CLR_BLUE,
+    explode_color_magical = CLR_MAGENTA,
+    explode_color_fiery = CLR_ORANGE,
+    explode_color_frosty = CLR_WHITE
+};
+enum altar_types {
+    altar_unaligned,
+    altar_chaotic,
+    altar_neutral,
+    altar_lawful,
+    altar_other
+};
+enum level_walls  { main_walls, mines_walls, gehennom_walls,
+                    knox_walls, sokoban_walls };
+enum { GM_FLAGS, GM_TTYCHAR, GM_COLOR, NUM_GLYPHMOD }; /* glyphmod entries */
+enum glyphmap_change_triggers { gm_nochange, gm_levelchange, gm_optionchange,
+                                gm_symchange, gm_accessibility_change };
 #define NUM_ZAP 8 /* number of zap beam types */
 
 /*
@@ -459,17 +542,17 @@ enum glyph_offsets {
 
 #define altar_to_glyph(amsk) \
     (((amsk & (AM_MASK | AM_SHRINE)) == AM_NONE)               \
-       ? (GLYPH_ALTAR_OFF + 0)                                 \
+       ? (GLYPH_ALTAR_OFF + altar_unaligned)                   \
        : (((amsk & AM_SHRINE) == AM_SHRINE)                    \
           && (Is_astralevel(&u.uz) || Is_sanctum(&u.uz)))      \
-          ? (GLYPH_ALTAR_OFF + 4)                              \
+          ? (GLYPH_ALTAR_OFF + altar_other)                    \
           : ((amsk & AM_MASK) == AM_CHAOTIC)                   \
-            ? (GLYPH_ALTAR_OFF + 1)                            \
+            ? (GLYPH_ALTAR_OFF + altar_chaotic)                \
             : ((amsk & AM_MASK) == AM_NEUTRAL)                 \
-              ? (GLYPH_ALTAR_OFF + 2)                          \
+              ? (GLYPH_ALTAR_OFF + altar_neutral)              \
               : ((amsk & AM_MASK) == AM_LAWFUL)                \
-                ? (GLYPH_ALTAR_OFF + 3)                        \
-                : (GLYPH_ALTAR_OFF + 2))
+                ? (GLYPH_ALTAR_OFF + altar_lawful)             \
+                : (GLYPH_ALTAR_OFF + altar_neutral))
 
 /* not used, nor is it correct
 #define zap_to_glyph(zaptype, cmap_idx) \
@@ -874,104 +957,17 @@ enum glyph_offsets {
 #define MG_FEMALE  0x02000  /* represents a female mon variation or statue of one */
 #define MG_BADXY   0x04000  /* bad coordinates were passed */
 
-#include "color.h"
-#ifdef TEXTCOLOR
-
-/* 3.6.3: poison gas zap used to be yellow and acid zap was green,
-   which conflicted with the corresponding dragon colors */
-#endif /* TEXTCOLOR */
-
-enum level_walls  { main_walls, mines_walls, gehennom_walls,
-                    knox_walls, sokoban_walls };
-
-enum zap_colors {
-    zap_color_missile    = HI_ZAP,
-    zap_color_fire       = CLR_ORANGE,
-    zap_color_frost      = CLR_WHITE,
-    zap_color_sleep      = HI_ZAP,
-    zap_color_death      = CLR_BLACK,
-    zap_color_lightning  = CLR_WHITE,
-    zap_color_poison_gas = CLR_GREEN,
-    zap_color_acid       = CLR_YELLOW
-};
-
-enum altar_colors {
-    altar_color_unaligned = CLR_RED,
-#if defined(USE_GENERAL_ALTAR_COLORS)
-        /* On OSX with TERM=xterm-color256 these render as
-         *  white -> tty: gray, curses: ok
-         *  gray  -> both tty and curses: black
-         *  black -> both tty and curses: blue
-         *  red   -> both tty and curses: ok.
-         * Since the colors have specific associations (with the
-         * unicorns matched with each alignment), we shouldn't use
-         * scrambled colors and we don't have sufficient information
-         * to handle platform-specific color variations.
-         */
-    altar_color_chaotic = CLR_BLACK,
-    altar_color_neutral = CLR_GRAY,
-    altar_color_lawful  = CLR_WHITE,
-#else
-    altar_color_chaotic = CLR_GRAY,
-    altar_color_neutral = CLR_GRAY,
-    altar_color_lawful  = CLR_GRAY,
-#endif
-    altar_color_other = CLR_BRIGHT_MAGENTA,
-};
-
-/* types of explosions */
-enum explosion_types {
-    EXPL_DARK = 0,
-    EXPL_NOXIOUS = 1,
-    EXPL_MUDDY = 2,
-    EXPL_WET = 3,
-    EXPL_MAGICAL = 4,
-    EXPL_FIERY = 5,
-    EXPL_FROSTY = 6,
-    EXPL_MAX = 7
-};
-
-/* above plus this redundant? */
-enum expl_types {
-    expl_dark,
-    expl_noxious,
-    expl_muddy,
-    expl_wet,
-    expl_magical,
-    expl_fiery,
-    expl_frosty,
-};
-
-enum explode_colors {
-    explode_color_dark = CLR_BLACK,
-    explode_color_noxious = CLR_GREEN,
-    explode_color_muddy = CLR_BROWN,
-    explode_color_wet = CLR_BLUE,
-    explode_color_magical = CLR_MAGENTA,
-    explode_color_fiery = CLR_ORANGE,
-    explode_color_frosty = CLR_WHITE
-};
-enum altar_types {
-    altar_unaligned,
-    altar_chaotic,
-    altar_neutral,
-    altar_lawful,
-    altar_other
-};
-
-enum { GM_FLAGS, GM_TTYCHAR, GM_COLOR, NUM_GLYPHMOD }; /* glyphmod entries */
-enum glyphmap_change_triggers { gm_nochange, gm_levelchange, gm_optionchange,
-                                gm_symchange, gm_accessibility_change };
-
 typedef struct {
     xchar gnew; /* perhaps move this bit into the rm structure. */
     glyph_info glyphinfo;
 } gbuf_entry;
 
+#ifdef TEXTCOLOR
 extern const int altarcolors[];
 extern const int zapcolors[];
 extern const int explodecolors[];
 extern int wallcolors[];
+#endif
 
 /* If USE_TILES is defined during build, this comes from the generated
  * tile.c, complete with appropriate tile references in the initialization.