header files sym.h and defsym.h
There were multiple symbol-related lists that had to be kept
in sync in various places.
Consolidate some of that into a single new file
defsym.h
with a set of morphing macros that can be custom-called from
the various places that use the sym info without maintaining
multiple occurrences. Most maintenance can be done there.
Rename monsym.h to sym.h since it looks after some
symbols not related to monsters now too.
The defsym.h header file is included in multiple places to
produce different code depending on its use and the controlling
macro definitions in place prior to including it.
Its purpose is to have a definitive source for
pchar, objclass and mon symbol maintenance.
The controlling macros used to morph the resulting code are
used in these places:
- in include/sym.h for enums of some S_ symbol values
(define PCHAR_ENUM, MONSYMS_ENUM prior to #include defsym.h)
- in include/objclass.h for enums of some S_ symbol values
(define OBJCLASS_ENUM prior to #include defsym.h)
- in src/symbols.c for parsing S_ entries in config files
(define PCHAR_PARSE, MONSYMS_PARSE, OBJCLASS_PARSE prior
to #include defsym.h)
- in src/drawing.c for initializing some data structures/arrays
(define PCHAR_DRAWING, MONSYMS_DRAWING, OBJCLASS_DRAWING prior
to #include defsym.h)
- in win/share/tilemap.c for processing a tile file
(define PCHAR_TILES prior to #include defsym.h).
This commit is contained in:
205
src/drawing.c
205
src/drawing.c
@@ -6,9 +6,9 @@
|
||||
#include "color.h"
|
||||
#include "rm.h"
|
||||
#include "objclass.h"
|
||||
#include "monsym.h"
|
||||
#include "sym.h"
|
||||
|
||||
/* Relevant header information in rm.h, objclass.h, and monsym.h. */
|
||||
/* Relevant header information in rm.h, objclass.h, sym.h, defsym.h. */
|
||||
|
||||
#ifdef C
|
||||
#undef C
|
||||
@@ -27,88 +27,17 @@
|
||||
*/
|
||||
const struct class_sym def_oc_syms[MAXOCLASSES] = {
|
||||
{ '\0', "", "" }, /* placeholder for the "random class" */
|
||||
{ ILLOBJ_SYM, "illegal objects", "strange object" },
|
||||
{ WEAPON_SYM, "weapons", "weapon" },
|
||||
{ ARMOR_SYM, "armor", "suit or piece of armor" },
|
||||
{ RING_SYM, "rings", "ring" },
|
||||
{ AMULET_SYM, "amulets", "amulet" },
|
||||
{ TOOL_SYM, "tools", "useful item (pick-axe, key, lamp...)" },
|
||||
{ FOOD_SYM, "food", "piece of food" },
|
||||
{ POTION_SYM, "potions", "potion" },
|
||||
{ SCROLL_SYM, "scrolls", "scroll" },
|
||||
{ SPBOOK_SYM, "spellbooks", "spellbook" },
|
||||
{ WAND_SYM, "wands", "wand" },
|
||||
{ GOLD_SYM, "coins", "pile of coins" },
|
||||
{ GEM_SYM, "rocks", "gem or rock" },
|
||||
{ ROCK_SYM, "large stones", "boulder or statue" },
|
||||
{ BALL_SYM, "iron balls", "iron ball" },
|
||||
{ CHAIN_SYM, "chains", "iron chain" },
|
||||
{ VENOM_SYM, "venoms", "splash of venom" }
|
||||
#define OBJCLASS_DRAWING
|
||||
#include "defsym.h"
|
||||
#undef OBJCLASS_DRAWING
|
||||
};
|
||||
|
||||
/* Default monster class symbols. See monsym.h. */
|
||||
/* Default monster class symbols. See sym.h and defsym.h. */
|
||||
const struct class_sym def_monsyms[MAXMCLASSES] = {
|
||||
{ '\0', "", "" },
|
||||
{ DEF_ANT, "", "ant or other insect" },
|
||||
{ DEF_BLOB, "", "blob" },
|
||||
{ DEF_COCKATRICE, "", "cockatrice" },
|
||||
{ DEF_DOG, "", "dog or other canine" },
|
||||
{ DEF_EYE, "", "eye or sphere" },
|
||||
{ DEF_FELINE, "", "cat or other feline" },
|
||||
{ DEF_GREMLIN, "", "gremlin" },
|
||||
{ DEF_HUMANOID, "", "humanoid" },
|
||||
{ DEF_IMP, "", "imp or minor demon" },
|
||||
{ DEF_JELLY, "", "jelly" },
|
||||
{ DEF_KOBOLD, "", "kobold" },
|
||||
{ DEF_LEPRECHAUN, "", "leprechaun" },
|
||||
{ DEF_MIMIC, "", "mimic" },
|
||||
{ DEF_NYMPH, "", "nymph" },
|
||||
{ DEF_ORC, "", "orc" },
|
||||
{ DEF_PIERCER, "", "piercer" },
|
||||
{ DEF_QUADRUPED, "", "quadruped" },
|
||||
{ DEF_RODENT, "", "rodent" },
|
||||
{ DEF_SPIDER, "", "arachnid or centipede" },
|
||||
{ DEF_TRAPPER, "", "trapper or lurker above" },
|
||||
{ DEF_UNICORN, "", "unicorn or horse" },
|
||||
{ DEF_VORTEX, "", "vortex" },
|
||||
{ DEF_WORM, "", "worm" },
|
||||
{ DEF_XAN, "", "xan or other mythical/fantastic insect" },
|
||||
{ DEF_LIGHT, "", "light" },
|
||||
{ DEF_ZRUTY, "", "zruty" },
|
||||
{ DEF_ANGEL, "", "angelic being" },
|
||||
{ DEF_BAT, "", "bat or bird" },
|
||||
{ DEF_CENTAUR, "", "centaur" },
|
||||
{ DEF_DRAGON, "", "dragon" },
|
||||
{ DEF_ELEMENTAL, "", "elemental" },
|
||||
{ DEF_FUNGUS, "", "fungus or mold" },
|
||||
{ DEF_GNOME, "", "gnome" },
|
||||
{ DEF_GIANT, "", "giant humanoid" },
|
||||
{ '\0', "", "invisible monster" },
|
||||
{ DEF_JABBERWOCK, "", "jabberwock" },
|
||||
{ DEF_KOP, "", "Keystone Kop" },
|
||||
{ DEF_LICH, "", "lich" },
|
||||
{ DEF_MUMMY, "", "mummy" },
|
||||
{ DEF_NAGA, "", "naga" },
|
||||
{ DEF_OGRE, "", "ogre" },
|
||||
{ DEF_PUDDING, "", "pudding or ooze" },
|
||||
{ DEF_QUANTMECH, "", "quantum mechanic" },
|
||||
{ DEF_RUSTMONST, "", "rust monster or disenchanter" },
|
||||
{ DEF_SNAKE, "", "snake" },
|
||||
{ DEF_TROLL, "", "troll" },
|
||||
{ DEF_UMBER, "", "umber hulk" },
|
||||
{ DEF_VAMPIRE, "", "vampire" },
|
||||
{ DEF_WRAITH, "", "wraith" },
|
||||
{ DEF_XORN, "", "xorn" },
|
||||
{ DEF_YETI, "", "apelike creature" },
|
||||
{ DEF_ZOMBIE, "", "zombie" },
|
||||
{ DEF_HUMAN, "", "human or elf" },
|
||||
{ DEF_GHOST, "", "ghost" },
|
||||
{ DEF_GOLEM, "", "golem" },
|
||||
{ DEF_DEMON, "", "major demon" },
|
||||
{ DEF_EEL, "", "sea monster" },
|
||||
{ DEF_LIZARD, "", "lizard" },
|
||||
{ DEF_WORM_TAIL, "", "long worm tail" },
|
||||
{ DEF_MIMIC_DEF, "", "mimic" },
|
||||
#define MONSYMS_DRAWING
|
||||
#include "defsym.h"
|
||||
#undef MONSYMS_DRAWING
|
||||
};
|
||||
|
||||
const struct symdef def_warnsyms[WARNCOUNT] = {
|
||||
@@ -137,119 +66,9 @@ const struct symdef def_warnsyms[WARNCOUNT] = {
|
||||
* within NetHack itself.
|
||||
*/
|
||||
const struct symdef defsyms[MAXPCHARS] = {
|
||||
/* 0*/
|
||||
{ ' ', "stone", C(NO_COLOR) }, /* stone */
|
||||
{ '|', "wall", C(CLR_GRAY) }, /* vwall */
|
||||
{ '-', "wall", C(CLR_GRAY) }, /* hwall */
|
||||
{ '-', "wall", C(CLR_GRAY) }, /* tlcorn */
|
||||
{ '-', "wall", C(CLR_GRAY) }, /* trcorn */
|
||||
{ '-', "wall", C(CLR_GRAY) }, /* blcorn */
|
||||
{ '-', "wall", C(CLR_GRAY) }, /* brcorn */
|
||||
{ '-', "wall", C(CLR_GRAY) }, /* crwall */
|
||||
{ '-', "wall", C(CLR_GRAY) }, /* tuwall */
|
||||
{ '-', "wall", C(CLR_GRAY) }, /* tdwall */
|
||||
/*10*/
|
||||
{ '|', "wall", C(CLR_GRAY) }, /* tlwall */
|
||||
{ '|', "wall", C(CLR_GRAY) }, /* trwall */
|
||||
{ '.', "doorway", C(CLR_GRAY) }, /* ndoor */
|
||||
{ '-', "open door", C(CLR_BROWN) }, /* vodoor */
|
||||
{ '|', "open door", C(CLR_BROWN) }, /* hodoor */
|
||||
{ '+', "closed door", C(CLR_BROWN) }, /* vcdoor */
|
||||
{ '+', "closed door", C(CLR_BROWN) }, /* hcdoor */
|
||||
{ '#', "iron bars", C(HI_METAL) }, /* bars */
|
||||
{ '#', "tree", C(CLR_GREEN) }, /* tree */
|
||||
{ '.', "floor of a room", C(CLR_GRAY) }, /* room */
|
||||
/*20*/
|
||||
{ '.', "dark part of a room", C(CLR_BLACK) }, /* dark room */
|
||||
{ '#', "corridor", C(CLR_GRAY) }, /* dark corr */
|
||||
{ '#', "lit corridor", C(CLR_GRAY) }, /* lit corr, see map_glyphinfo() */
|
||||
{ '<', "staircase up", C(CLR_GRAY) }, /* upstair */
|
||||
{ '>', "staircase down", C(CLR_GRAY) }, /* dnstair */
|
||||
{ '<', "ladder up", C(CLR_BROWN) }, /* upladder */
|
||||
{ '>', "ladder down", C(CLR_BROWN) }, /* dnladder */
|
||||
{ '<', "branch staircase up", C(CLR_YELLOW) }, /* brupstair */
|
||||
{ '>', "branch staircase down", C(CLR_YELLOW) }, /* brdnstair */
|
||||
{ '<', "branch ladder up", C(CLR_YELLOW) }, /* brupladder */
|
||||
/*30*/
|
||||
{ '>', "branch ladder down", C(CLR_YELLOW) }, /* brdnladder */
|
||||
{ '_', "altar", C(CLR_GRAY) }, /* altar */
|
||||
{ '|', "grave", C(CLR_WHITE) }, /* grave */
|
||||
{ '\\', "opulent throne", C(HI_GOLD) }, /* throne */
|
||||
{ '#', "sink", C(CLR_GRAY) }, /* sink */
|
||||
{ '{', "fountain", C(CLR_BRIGHT_BLUE) }, /* fountain */
|
||||
{ '}', "water", C(CLR_BLUE) }, /* pool */
|
||||
{ '.', "ice", C(CLR_CYAN) }, /* ice */
|
||||
{ '}', "molten lava", C(CLR_RED) }, /* lava */
|
||||
{ '.', "lowered drawbridge", C(CLR_BROWN) }, /* vodbridge */
|
||||
/*40*/
|
||||
{ '.', "lowered drawbridge", C(CLR_BROWN) }, /* hodbridge */
|
||||
{ '#', "raised drawbridge", C(CLR_BROWN) }, /* vcdbridge */
|
||||
{ '#', "raised drawbridge", C(CLR_BROWN) }, /* hcdbridge */
|
||||
{ ' ', "air", C(CLR_CYAN) }, /* open air */
|
||||
{ '#', "cloud", C(CLR_GRAY) }, /* [part of] a cloud */
|
||||
{ '}', "water", C(CLR_BLUE) }, /* under water */
|
||||
{ '^', "arrow trap", C(HI_METAL) }, /* trap */
|
||||
{ '^', "dart trap", C(HI_METAL) }, /* trap */
|
||||
{ '^', "falling rock trap", C(CLR_GRAY) }, /* trap */
|
||||
{ '^', "squeaky board", C(CLR_BROWN) }, /* trap */
|
||||
/*50*/
|
||||
{ '^', "bear trap", C(HI_METAL) }, /* trap */
|
||||
{ '^', "land mine", C(CLR_RED) }, /* trap */
|
||||
{ '^', "rolling boulder trap", C(CLR_GRAY) }, /* trap */
|
||||
{ '^', "sleeping gas trap", C(HI_ZAP) }, /* trap */
|
||||
{ '^', "rust trap", C(CLR_BLUE) }, /* trap */
|
||||
{ '^', "fire trap", C(CLR_ORANGE) }, /* trap */
|
||||
{ '^', "pit", C(CLR_BLACK) }, /* trap */
|
||||
{ '^', "spiked pit", C(CLR_BLACK) }, /* trap */
|
||||
{ '^', "hole", C(CLR_BROWN) }, /* trap */
|
||||
{ '^', "trap door", C(CLR_BROWN) }, /* trap */
|
||||
/*60*/
|
||||
{ '^', "teleportation trap", C(CLR_MAGENTA) }, /* trap */
|
||||
{ '^', "level teleporter", C(CLR_MAGENTA) }, /* trap */
|
||||
{ '^', "magic portal", C(CLR_BRIGHT_MAGENTA) }, /* trap */
|
||||
{ '"', "web", C(CLR_GRAY) }, /* web */
|
||||
{ '^', "statue trap", C(CLR_GRAY) }, /* trap */
|
||||
{ '^', "magic trap", C(HI_ZAP) }, /* trap */
|
||||
{ '^', "anti-magic field", C(HI_ZAP) }, /* trap */
|
||||
{ '^', "polymorph trap", C(CLR_BRIGHT_GREEN) }, /* trap */
|
||||
{ '~', "vibrating square", C(CLR_MAGENTA) }, /* "trap" */
|
||||
/* zap colors are changed by map_glyphinfo() to match type of beam */
|
||||
{ '|', "", C(CLR_GRAY) }, /* vbeam */
|
||||
/*70*/
|
||||
{ '-', "", C(CLR_GRAY) }, /* hbeam */
|
||||
{ '\\', "", C(CLR_GRAY) }, /* lslant */
|
||||
{ '/', "", C(CLR_GRAY) }, /* rslant */
|
||||
{ '*', "", C(CLR_WHITE) }, /* dig beam */
|
||||
{ '!', "", C(CLR_WHITE) }, /* camera flash beam */
|
||||
{ ')', "", C(HI_WOOD) }, /* boomerang open left */
|
||||
{ '(', "", C(HI_WOOD) }, /* boomerang open right */
|
||||
{ '0', "", C(HI_ZAP) }, /* 4 magic shield symbols */
|
||||
{ '#', "", C(HI_ZAP) },
|
||||
{ '@', "", C(HI_ZAP) },
|
||||
/*80*/
|
||||
{ '*', "", C(HI_ZAP) },
|
||||
{ '#', "poison cloud", C(CLR_BRIGHT_GREEN) }, /* part of a cloud */
|
||||
{ '?', "valid position", C(CLR_BRIGHT_GREEN) }, /* target position */
|
||||
/* swallow colors are changed by map_glyphinfo() to match engulfing monst */
|
||||
{ '/', "", C(CLR_GREEN) }, /* swallow top left */
|
||||
{ '-', "", C(CLR_GREEN) }, /* swallow top center */
|
||||
{ '\\', "", C(CLR_GREEN) }, /* swallow top right */
|
||||
{ '|', "", C(CLR_GREEN) }, /* swallow middle left */
|
||||
{ '|', "", C(CLR_GREEN) }, /* swallow middle right */
|
||||
{ '\\', "", C(CLR_GREEN) }, /* swallow bottom left */
|
||||
{ '-', "", C(CLR_GREEN) }, /* swallow bottom center */
|
||||
/*90*/
|
||||
{ '/', "", C(CLR_GREEN) }, /* swallow bottom right */
|
||||
/* explosion colors are changed by map_glyphinfo() to match type of expl. */
|
||||
{ '/', "", C(CLR_ORANGE) }, /* explosion top left */
|
||||
{ '-', "", C(CLR_ORANGE) }, /* explosion top center */
|
||||
{ '\\', "", C(CLR_ORANGE) }, /* explosion top right */
|
||||
{ '|', "", C(CLR_ORANGE) }, /* explosion middle left */
|
||||
{ ' ', "", C(CLR_ORANGE) }, /* explosion middle center*/
|
||||
{ '|', "", C(CLR_ORANGE) }, /* explosion middle right */
|
||||
{ '\\', "", C(CLR_ORANGE) }, /* explosion bottom left */
|
||||
{ '-', "", C(CLR_ORANGE) }, /* explosion bottom center*/
|
||||
{ '/', "", C(CLR_ORANGE) }, /* explosion bottom right */
|
||||
#define PCHAR_DRAWING
|
||||
#include "defsym.h"
|
||||
#undef PCHAR_DRAWING
|
||||
};
|
||||
|
||||
/* default rogue level symbols */
|
||||
|
||||
@@ -2807,7 +2807,7 @@ lookaround(void)
|
||||
if ((mtmp = m_at(x, y)) != 0
|
||||
&& M_AP_TYPE(mtmp) != M_AP_FURNITURE
|
||||
&& M_AP_TYPE(mtmp) != M_AP_OBJECT
|
||||
&& (!mtmp->minvis || See_invisible) && !mtmp->mundetected) {
|
||||
&& mon_visible(mtmp)) {
|
||||
if ((g.context.run != 1 && !mtmp->mtame)
|
||||
|| (x == u.ux + u.dx && y == u.uy + u.dy
|
||||
&& !g.context.travel)) {
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#endif
|
||||
#include "permonst.h"
|
||||
#include "objclass.h"
|
||||
#include "monsym.h"
|
||||
#include "sym.h"
|
||||
#include "artilist.h"
|
||||
#include "dungeon.h"
|
||||
#include "obj.h"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "permonst.h"
|
||||
#include "monsym.h"
|
||||
#include "sym.h"
|
||||
|
||||
#define NO_ATTK \
|
||||
{ \
|
||||
|
||||
@@ -7822,6 +7822,14 @@ parsesymbols(register char *opts, int which_set)
|
||||
struct symparse *
|
||||
match_sym(char *buf)
|
||||
{
|
||||
int i;
|
||||
struct alternate_parse {
|
||||
const char *altnm;
|
||||
const char *nm;
|
||||
} alternates[] = {
|
||||
{ "S_armour" , "S_armor"},
|
||||
};
|
||||
|
||||
size_t len = strlen(buf);
|
||||
const char *p = index(buf, ':'), *q = index(buf, '=');
|
||||
struct symparse *sp = loadsyms;
|
||||
@@ -7840,6 +7848,17 @@ match_sym(char *buf)
|
||||
return sp;
|
||||
sp++;
|
||||
}
|
||||
for (i = 0; i < SIZE(alternates); ++i) {
|
||||
if ((len >= strlen(alternates[i].altnm))
|
||||
&& !strncmpi(buf, alternates[i].altnm, len)) {
|
||||
sp = loadsyms;
|
||||
while (sp->range) {
|
||||
if (!strcmp(alternates[i].nm, sp->name))
|
||||
return sp;
|
||||
sp++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return (struct symparse *) 0;
|
||||
}
|
||||
|
||||
|
||||
190
src/symbols.c
190
src/symbols.c
@@ -318,7 +318,7 @@ clear_symsetentry(int which_set, boolean name_too)
|
||||
/*
|
||||
* If you are adding code somewhere to be able to recognize
|
||||
* particular types of symset "handling", define a
|
||||
* H_XXX macro in include/rm.h and add the name
|
||||
* H_XXX macro in include/sym.h and add the name
|
||||
* to this array at the matching offset.
|
||||
*/
|
||||
const char *known_handling[] = {
|
||||
@@ -335,7 +335,7 @@ const char *known_handling[] = {
|
||||
* These can be virtually anything that you want to
|
||||
* be able to test in the code someplace.
|
||||
* Be sure to:
|
||||
* - add a corresponding Bitfield to the symsetentry struct in rm.h
|
||||
* - add a corresponding Bitfield to the symsetentry struct in sym.h
|
||||
* - initialize the field to zero in parse_sym_line in the SYM_CONTROL
|
||||
* case 0 section of the idx switch. The location is prefaced with
|
||||
* with a comment stating "initialize restriction bits".
|
||||
@@ -356,183 +356,15 @@ const struct symparse loadsyms[] = {
|
||||
{ SYM_CONTROL, 4, "color" },
|
||||
{ SYM_CONTROL, 4, "colour" },
|
||||
{ SYM_CONTROL, 5, "restrictions" },
|
||||
{ SYM_PCHAR, S_stone, "S_stone" },
|
||||
{ SYM_PCHAR, S_vwall, "S_vwall" },
|
||||
{ SYM_PCHAR, S_hwall, "S_hwall" },
|
||||
{ SYM_PCHAR, S_tlcorn, "S_tlcorn" },
|
||||
{ SYM_PCHAR, S_trcorn, "S_trcorn" },
|
||||
{ SYM_PCHAR, S_blcorn, "S_blcorn" },
|
||||
{ SYM_PCHAR, S_brcorn, "S_brcorn" },
|
||||
{ SYM_PCHAR, S_crwall, "S_crwall" },
|
||||
{ SYM_PCHAR, S_tuwall, "S_tuwall" },
|
||||
{ SYM_PCHAR, S_tdwall, "S_tdwall" },
|
||||
{ SYM_PCHAR, S_tlwall, "S_tlwall" },
|
||||
{ SYM_PCHAR, S_trwall, "S_trwall" },
|
||||
{ SYM_PCHAR, S_ndoor, "S_ndoor" },
|
||||
{ SYM_PCHAR, S_vodoor, "S_vodoor" },
|
||||
{ SYM_PCHAR, S_hodoor, "S_hodoor" },
|
||||
{ SYM_PCHAR, S_vcdoor, "S_vcdoor" },
|
||||
{ SYM_PCHAR, S_hcdoor, "S_hcdoor" },
|
||||
{ SYM_PCHAR, S_bars, "S_bars" },
|
||||
{ SYM_PCHAR, S_tree, "S_tree" },
|
||||
{ SYM_PCHAR, S_room, "S_room" },
|
||||
{ SYM_PCHAR, S_darkroom, "S_darkroom" },
|
||||
{ SYM_PCHAR, S_corr, "S_corr" },
|
||||
{ SYM_PCHAR, S_litcorr, "S_litcorr" },
|
||||
{ SYM_PCHAR, S_upstair, "S_upstair" },
|
||||
{ SYM_PCHAR, S_dnstair, "S_dnstair" },
|
||||
{ SYM_PCHAR, S_upladder, "S_upladder" },
|
||||
{ SYM_PCHAR, S_dnladder, "S_dnladder" },
|
||||
{ SYM_PCHAR, S_brupstair, "S_brupstair" },
|
||||
{ SYM_PCHAR, S_brdnstair, "S_brdnstair" },
|
||||
{ SYM_PCHAR, S_brupladder, "S_brupladder" },
|
||||
{ SYM_PCHAR, S_brdnladder, "S_brdnladder" },
|
||||
{ SYM_PCHAR, S_altar, "S_altar" },
|
||||
{ SYM_PCHAR, S_grave, "S_grave" },
|
||||
{ SYM_PCHAR, S_throne, "S_throne" },
|
||||
{ SYM_PCHAR, S_sink, "S_sink" },
|
||||
{ SYM_PCHAR, S_fountain, "S_fountain" },
|
||||
{ SYM_PCHAR, S_pool, "S_pool" },
|
||||
{ SYM_PCHAR, S_ice, "S_ice" },
|
||||
{ SYM_PCHAR, S_lava, "S_lava" },
|
||||
{ SYM_PCHAR, S_vodbridge, "S_vodbridge" },
|
||||
{ SYM_PCHAR, S_hodbridge, "S_hodbridge" },
|
||||
{ SYM_PCHAR, S_vcdbridge, "S_vcdbridge" },
|
||||
{ SYM_PCHAR, S_hcdbridge, "S_hcdbridge" },
|
||||
{ SYM_PCHAR, S_air, "S_air" },
|
||||
{ SYM_PCHAR, S_cloud, "S_cloud" },
|
||||
{ SYM_PCHAR, S_poisoncloud, "S_poisoncloud" },
|
||||
{ SYM_PCHAR, S_water, "S_water" },
|
||||
{ SYM_PCHAR, S_arrow_trap, "S_arrow_trap" },
|
||||
{ SYM_PCHAR, S_dart_trap, "S_dart_trap" },
|
||||
{ SYM_PCHAR, S_falling_rock_trap, "S_falling_rock_trap" },
|
||||
{ SYM_PCHAR, S_squeaky_board, "S_squeaky_board" },
|
||||
{ SYM_PCHAR, S_bear_trap, "S_bear_trap" },
|
||||
{ SYM_PCHAR, S_land_mine, "S_land_mine" },
|
||||
{ SYM_PCHAR, S_rolling_boulder_trap, "S_rolling_boulder_trap" },
|
||||
{ SYM_PCHAR, S_sleeping_gas_trap, "S_sleeping_gas_trap" },
|
||||
{ SYM_PCHAR, S_rust_trap, "S_rust_trap" },
|
||||
{ SYM_PCHAR, S_fire_trap, "S_fire_trap" },
|
||||
{ SYM_PCHAR, S_pit, "S_pit" },
|
||||
{ SYM_PCHAR, S_spiked_pit, "S_spiked_pit" },
|
||||
{ SYM_PCHAR, S_hole, "S_hole" },
|
||||
{ SYM_PCHAR, S_trap_door, "S_trap_door" },
|
||||
{ SYM_PCHAR, S_teleportation_trap, "S_teleportation_trap" },
|
||||
{ SYM_PCHAR, S_level_teleporter, "S_level_teleporter" },
|
||||
{ SYM_PCHAR, S_magic_portal, "S_magic_portal" },
|
||||
{ SYM_PCHAR, S_web, "S_web" },
|
||||
{ SYM_PCHAR, S_statue_trap, "S_statue_trap" },
|
||||
{ SYM_PCHAR, S_magic_trap, "S_magic_trap" },
|
||||
{ SYM_PCHAR, S_anti_magic_trap, "S_anti_magic_trap" },
|
||||
{ SYM_PCHAR, S_polymorph_trap, "S_polymorph_trap" },
|
||||
{ SYM_PCHAR, S_vibrating_square, "S_vibrating_square" },
|
||||
{ SYM_PCHAR, S_vbeam, "S_vbeam" },
|
||||
{ SYM_PCHAR, S_hbeam, "S_hbeam" },
|
||||
{ SYM_PCHAR, S_lslant, "S_lslant" },
|
||||
{ SYM_PCHAR, S_rslant, "S_rslant" },
|
||||
{ SYM_PCHAR, S_digbeam, "S_digbeam" },
|
||||
{ SYM_PCHAR, S_flashbeam, "S_flashbeam" },
|
||||
{ SYM_PCHAR, S_boomleft, "S_boomleft" },
|
||||
{ SYM_PCHAR, S_boomright, "S_boomright" },
|
||||
{ SYM_PCHAR, S_goodpos, "S_goodpos" },
|
||||
{ SYM_PCHAR, S_ss1, "S_ss1" },
|
||||
{ SYM_PCHAR, S_ss2, "S_ss2" },
|
||||
{ SYM_PCHAR, S_ss3, "S_ss3" },
|
||||
{ SYM_PCHAR, S_ss4, "S_ss4" },
|
||||
{ SYM_PCHAR, S_sw_tl, "S_sw_tl" },
|
||||
{ SYM_PCHAR, S_sw_tc, "S_sw_tc" },
|
||||
{ SYM_PCHAR, S_sw_tr, "S_sw_tr" },
|
||||
{ SYM_PCHAR, S_sw_ml, "S_sw_ml" },
|
||||
{ SYM_PCHAR, S_sw_mr, "S_sw_mr" },
|
||||
{ SYM_PCHAR, S_sw_bl, "S_sw_bl" },
|
||||
{ SYM_PCHAR, S_sw_bc, "S_sw_bc" },
|
||||
{ SYM_PCHAR, S_sw_br, "S_sw_br" },
|
||||
{ SYM_PCHAR, S_explode1, "S_explode1" },
|
||||
{ SYM_PCHAR, S_explode2, "S_explode2" },
|
||||
{ SYM_PCHAR, S_explode3, "S_explode3" },
|
||||
{ SYM_PCHAR, S_explode4, "S_explode4" },
|
||||
{ SYM_PCHAR, S_explode5, "S_explode5" },
|
||||
{ SYM_PCHAR, S_explode6, "S_explode6" },
|
||||
{ SYM_PCHAR, S_explode7, "S_explode7" },
|
||||
{ SYM_PCHAR, S_explode8, "S_explode8" },
|
||||
{ SYM_PCHAR, S_explode9, "S_explode9" },
|
||||
{ SYM_OC, ILLOBJ_CLASS + SYM_OFF_O, "S_strange_obj" },
|
||||
{ SYM_OC, WEAPON_CLASS + SYM_OFF_O, "S_weapon" },
|
||||
{ SYM_OC, ARMOR_CLASS + SYM_OFF_O, "S_armor" },
|
||||
{ SYM_OC, ARMOR_CLASS + SYM_OFF_O, "S_armour" },
|
||||
{ SYM_OC, RING_CLASS + SYM_OFF_O, "S_ring" },
|
||||
{ SYM_OC, AMULET_CLASS + SYM_OFF_O, "S_amulet" },
|
||||
{ SYM_OC, TOOL_CLASS + SYM_OFF_O, "S_tool" },
|
||||
{ SYM_OC, FOOD_CLASS + SYM_OFF_O, "S_food" },
|
||||
{ SYM_OC, POTION_CLASS + SYM_OFF_O, "S_potion" },
|
||||
{ SYM_OC, SCROLL_CLASS + SYM_OFF_O, "S_scroll" },
|
||||
{ SYM_OC, SPBOOK_CLASS + SYM_OFF_O, "S_book" },
|
||||
{ SYM_OC, WAND_CLASS + SYM_OFF_O, "S_wand" },
|
||||
{ SYM_OC, COIN_CLASS + SYM_OFF_O, "S_coin" },
|
||||
{ SYM_OC, GEM_CLASS + SYM_OFF_O, "S_gem" },
|
||||
{ SYM_OC, ROCK_CLASS + SYM_OFF_O, "S_rock" },
|
||||
{ SYM_OC, BALL_CLASS + SYM_OFF_O, "S_ball" },
|
||||
{ SYM_OC, CHAIN_CLASS + SYM_OFF_O, "S_chain" },
|
||||
{ SYM_OC, VENOM_CLASS + SYM_OFF_O, "S_venom" },
|
||||
{ SYM_MON, S_ANT + SYM_OFF_M, "S_ant" },
|
||||
{ SYM_MON, S_BLOB + SYM_OFF_M, "S_blob" },
|
||||
{ SYM_MON, S_COCKATRICE + SYM_OFF_M, "S_cockatrice" },
|
||||
{ SYM_MON, S_DOG + SYM_OFF_M, "S_dog" },
|
||||
{ SYM_MON, S_EYE + SYM_OFF_M, "S_eye" },
|
||||
{ SYM_MON, S_FELINE + SYM_OFF_M, "S_feline" },
|
||||
{ SYM_MON, S_GREMLIN + SYM_OFF_M, "S_gremlin" },
|
||||
{ SYM_MON, S_HUMANOID + SYM_OFF_M, "S_humanoid" },
|
||||
{ SYM_MON, S_IMP + SYM_OFF_M, "S_imp" },
|
||||
{ SYM_MON, S_JELLY + SYM_OFF_M, "S_jelly" },
|
||||
{ SYM_MON, S_KOBOLD + SYM_OFF_M, "S_kobold" },
|
||||
{ SYM_MON, S_LEPRECHAUN + SYM_OFF_M, "S_leprechaun" },
|
||||
{ SYM_MON, S_MIMIC + SYM_OFF_M, "S_mimic" },
|
||||
{ SYM_MON, S_NYMPH + SYM_OFF_M, "S_nymph" },
|
||||
{ SYM_MON, S_ORC + SYM_OFF_M, "S_orc" },
|
||||
{ SYM_MON, S_PIERCER + SYM_OFF_M, "S_piercer" },
|
||||
{ SYM_MON, S_QUADRUPED + SYM_OFF_M, "S_quadruped" },
|
||||
{ SYM_MON, S_RODENT + SYM_OFF_M, "S_rodent" },
|
||||
{ SYM_MON, S_SPIDER + SYM_OFF_M, "S_spider" },
|
||||
{ SYM_MON, S_TRAPPER + SYM_OFF_M, "S_trapper" },
|
||||
{ SYM_MON, S_UNICORN + SYM_OFF_M, "S_unicorn" },
|
||||
{ SYM_MON, S_VORTEX + SYM_OFF_M, "S_vortex" },
|
||||
{ SYM_MON, S_WORM + SYM_OFF_M, "S_worm" },
|
||||
{ SYM_MON, S_XAN + SYM_OFF_M, "S_xan" },
|
||||
{ SYM_MON, S_LIGHT + SYM_OFF_M, "S_light" },
|
||||
{ SYM_MON, S_ZRUTY + SYM_OFF_M, "S_zruty" },
|
||||
{ SYM_MON, S_ANGEL + SYM_OFF_M, "S_angel" },
|
||||
{ SYM_MON, S_BAT + SYM_OFF_M, "S_bat" },
|
||||
{ SYM_MON, S_CENTAUR + SYM_OFF_M, "S_centaur" },
|
||||
{ SYM_MON, S_DRAGON + SYM_OFF_M, "S_dragon" },
|
||||
{ SYM_MON, S_ELEMENTAL + SYM_OFF_M, "S_elemental" },
|
||||
{ SYM_MON, S_FUNGUS + SYM_OFF_M, "S_fungus" },
|
||||
{ SYM_MON, S_GNOME + SYM_OFF_M, "S_gnome" },
|
||||
{ SYM_MON, S_GIANT + SYM_OFF_M, "S_giant" },
|
||||
{ SYM_MON, S_JABBERWOCK + SYM_OFF_M, "S_jabberwock" },
|
||||
{ SYM_MON, S_KOP + SYM_OFF_M, "S_kop" },
|
||||
{ SYM_MON, S_LICH + SYM_OFF_M, "S_lich" },
|
||||
{ SYM_MON, S_MUMMY + SYM_OFF_M, "S_mummy" },
|
||||
{ SYM_MON, S_NAGA + SYM_OFF_M, "S_naga" },
|
||||
{ SYM_MON, S_OGRE + SYM_OFF_M, "S_ogre" },
|
||||
{ SYM_MON, S_PUDDING + SYM_OFF_M, "S_pudding" },
|
||||
{ SYM_MON, S_QUANTMECH + SYM_OFF_M, "S_quantmech" },
|
||||
{ SYM_MON, S_RUSTMONST + SYM_OFF_M, "S_rustmonst" },
|
||||
{ SYM_MON, S_SNAKE + SYM_OFF_M, "S_snake" },
|
||||
{ SYM_MON, S_TROLL + SYM_OFF_M, "S_troll" },
|
||||
{ SYM_MON, S_UMBER + SYM_OFF_M, "S_umber" },
|
||||
{ SYM_MON, S_VAMPIRE + SYM_OFF_M, "S_vampire" },
|
||||
{ SYM_MON, S_WRAITH + SYM_OFF_M, "S_wraith" },
|
||||
{ SYM_MON, S_XORN + SYM_OFF_M, "S_xorn" },
|
||||
{ SYM_MON, S_YETI + SYM_OFF_M, "S_yeti" },
|
||||
{ SYM_MON, S_ZOMBIE + SYM_OFF_M, "S_zombie" },
|
||||
{ SYM_MON, S_HUMAN + SYM_OFF_M, "S_human" },
|
||||
{ SYM_MON, S_GHOST + SYM_OFF_M, "S_ghost" },
|
||||
{ SYM_MON, S_GOLEM + SYM_OFF_M, "S_golem" },
|
||||
{ SYM_MON, S_DEMON + SYM_OFF_M, "S_demon" },
|
||||
{ SYM_MON, S_EEL + SYM_OFF_M, "S_eel" },
|
||||
{ SYM_MON, S_LIZARD + SYM_OFF_M, "S_lizard" },
|
||||
{ SYM_MON, S_WORM_TAIL + SYM_OFF_M, "S_worm_tail" },
|
||||
{ SYM_MON, S_MIMIC_DEF + SYM_OFF_M, "S_mimic_def" },
|
||||
#define PCHAR_PARSE
|
||||
#include "defsym.h"
|
||||
#undef PCHAR_PARSE
|
||||
#define OBJCLASS_PARSE
|
||||
#include "defsym.h"
|
||||
#undef OBJCLASS_PARSE
|
||||
#define MONSYMS_PARSE
|
||||
#include "defsym.h"
|
||||
#undef MONSYMS_PARSE
|
||||
{ SYM_OTH, SYM_NOTHING + SYM_OFF_X, "S_nothing" },
|
||||
{ SYM_OTH, SYM_UNEXPLORED + SYM_OFF_X, "S_unexplored" },
|
||||
{ SYM_OTH, SYM_BOULDER + SYM_OFF_X, "S_boulder" },
|
||||
|
||||
Reference in New Issue
Block a user