include some more enum dumps
This commit is contained in:
@@ -28,10 +28,15 @@
|
|||||||
to #include defsym.h)
|
to #include defsym.h)
|
||||||
- in win/share/tilemap.c for processing a tile file
|
- in win/share/tilemap.c for processing a tile file
|
||||||
(define PCHAR_TILES prior to #include defsym.h).
|
(define PCHAR_TILES prior to #include defsym.h).
|
||||||
|
- in src/allmain.c for setting up the dumping of several enums
|
||||||
|
(define DUMP_ENUMS_PCHAR, DUMP_ENUMS_MONSYS, DUMP_ENUMS_MONSYMS_DEFCHAR
|
||||||
|
DUMP_ENUMS_OBJCLASS_DEFCHARS, DUMP_ENUMS_OBJCLASS_DEFCHARS
|
||||||
|
DUMP_ENUMS_OBJCLASS_CLASSES, DUMP_ENUMS_OBJCLASS_SYMS)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(PCHAR_S_ENUM) || defined(PCHAR_PARSE) \
|
#if defined(PCHAR_S_ENUM) || defined(PCHAR_PARSE) \
|
||||||
|| defined(PCHAR_DRAWING) || defined(PCHAR_TILES)
|
|| defined(PCHAR_DRAWING) || defined(PCHAR_TILES) \
|
||||||
|
|| defined(DUMP_ENUMS_PCHAR)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
PCHAR(idx, ch, sym, desc, clr)
|
PCHAR(idx, ch, sym, desc, clr)
|
||||||
@@ -67,6 +72,13 @@
|
|||||||
/* win/share/tilemap.c */
|
/* win/share/tilemap.c */
|
||||||
#define PCHAR(idx, ch, sym, desc, clr) { sym, desc, desc },
|
#define PCHAR(idx, ch, sym, desc, clr) { sym, desc, desc },
|
||||||
#define PCHAR2(idx, ch, sym, tilenm, desc, clr) { sym, tilenm, desc },
|
#define PCHAR2(idx, ch, sym, tilenm, desc, clr) { sym, tilenm, desc },
|
||||||
|
|
||||||
|
#elif defined(DUMP_ENUMS_PCHAR)
|
||||||
|
/* allmain.c */
|
||||||
|
#define PCHAR(idx, ch, sym, desc, clr) { sym, #sym },
|
||||||
|
#ifndef PCHAR2
|
||||||
|
#define PCHAR2(idx, ch, sym, tilenm, desc, clr) { sym, #sym },
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* PCHAR with extra arg */
|
/* PCHAR with extra arg */
|
||||||
@@ -229,10 +241,12 @@
|
|||||||
PCHAR2(104, '/', S_expl_br, "explosion bottom right", "", CLR_ORANGE)
|
PCHAR2(104, '/', S_expl_br, "explosion bottom right", "", CLR_ORANGE)
|
||||||
#undef PCHAR
|
#undef PCHAR
|
||||||
#undef PCHAR2
|
#undef PCHAR2
|
||||||
#endif /* PCHAR_S_ENUM || PCHAR_PARSE || PCHAR_DRAWING || PCHAR_TILES */
|
#endif /* PCHAR_S_ENUM || PCHAR_PARSE || PCHAR_DRAWING || PCHAR_TILES
|
||||||
|
* || DUMP_ENUMS_PCHAR */
|
||||||
|
|
||||||
#if defined(MONSYMS_S_ENUM) || defined(MONSYMS_DEFCHAR_ENUM) \
|
#if defined(MONSYMS_S_ENUM) || defined(MONSYMS_DEFCHAR_ENUM) \
|
||||||
|| defined(MONSYMS_PARSE) || defined(MONSYMS_DRAWING)
|
|| defined(MONSYMS_PARSE) || defined(MONSYMS_DRAWING) \
|
||||||
|
|| defined(DUMP_ENUMS_MONSYMS) || defined(DUMP_ENUMS_MONSYMS_DEFCHAR)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
MONSYM(idx, ch, sym desc)
|
MONSYM(idx, ch, sym desc)
|
||||||
@@ -258,6 +272,14 @@
|
|||||||
#elif defined(MONSYMS_DRAWING)
|
#elif defined(MONSYMS_DRAWING)
|
||||||
/* drawing.c */
|
/* drawing.c */
|
||||||
#define MONSYM(idx, ch, basename, sym, desc) { DEF_##basename, "", desc },
|
#define MONSYM(idx, ch, basename, sym, desc) { DEF_##basename, "", desc },
|
||||||
|
|
||||||
|
/* allmain.c */
|
||||||
|
#elif defined(DUMP_ENUMS_MONSYMS)
|
||||||
|
#define MONSYM(idx, ch, basename, sym, desc) { sym, #sym },
|
||||||
|
|
||||||
|
#elif defined(DUMP_ENUMS_MONSYMS_DEFCHAR)
|
||||||
|
#define MONSYM(idx, ch, basename, sym, desc) { DEF_##basename, "DEF_" #basename },
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
MONSYM( 1, 'a', ANT, S_ANT, "ant or other insect")
|
MONSYM( 1, 'a', ANT, S_ANT, "ant or other insect")
|
||||||
@@ -335,11 +357,14 @@
|
|||||||
|
|
||||||
#undef MONSYM
|
#undef MONSYM
|
||||||
#endif /* MONSYMS_S_ENUM || MONSYMS_DEFCHAR_ENUM || MONSYMS_PARSE
|
#endif /* MONSYMS_S_ENUM || MONSYMS_DEFCHAR_ENUM || MONSYMS_PARSE
|
||||||
* || MONSYMS_DRAWING */
|
* || MONSYMS_DRAWING || DUMP_ENUMS_MONSYMS)
|
||||||
|
* || DUMP_ENUMS_MONSYMS_DEFCHAR */
|
||||||
|
|
||||||
#if defined(OBJCLASS_S_ENUM) || defined(OBJCLASS_DEFCHAR_ENUM) \
|
#if defined(OBJCLASS_S_ENUM) || defined(OBJCLASS_DEFCHAR_ENUM) \
|
||||||
|| defined(OBJCLASS_CLASS_ENUM) || defined(OBJCLASS_PARSE) \
|
|| defined(OBJCLASS_CLASS_ENUM) || defined(OBJCLASS_PARSE) \
|
||||||
|| defined (OBJCLASS_DRAWING)
|
|| defined(OBJCLASS_DRAWING) || defined(DUMP_ENUMS_OBJCLASS_DEFCHARS) \
|
||||||
|
|| defined(DUMP_ENUMS_OBJCLASS_CLASSES) \
|
||||||
|
|| defined(DUMP_ENUMS_OBJCLASS_SYMS)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
OBJCLASS(idx, ch, basename, sym, name, explain)
|
OBJCLASS(idx, ch, basename, sym, name, explain)
|
||||||
@@ -387,6 +412,21 @@
|
|||||||
/* drawing.c */
|
/* drawing.c */
|
||||||
#define OBJCLASS(idx, ch, basename, sym, name, explain) \
|
#define OBJCLASS(idx, ch, basename, sym, name, explain) \
|
||||||
{ basename##_SYM, name, explain },
|
{ basename##_SYM, name, explain },
|
||||||
|
|
||||||
|
#elif defined(DUMP_ENUMS_OBJCLASS_DEFCHARS)
|
||||||
|
/* allmain.c */
|
||||||
|
#define OBJCLASS(idx, ch, basename, sym, name, explain) \
|
||||||
|
{ basename##_SYM, #basename "_SYM" },
|
||||||
|
|
||||||
|
#elif defined(DUMP_ENUMS_OBJCLASS_CLASSES)
|
||||||
|
/* allmain.c */
|
||||||
|
#define OBJCLASS(idx, ch, basename, sym, name, explain) \
|
||||||
|
{ basename##_CLASS, #basename "_CLASS" },
|
||||||
|
|
||||||
|
#elif defined(DUMP_ENUMS_OBJCLASS_SYMS)
|
||||||
|
/* allmain.c */
|
||||||
|
#define OBJCLASS(idx, ch, basename, sym, name, explain) \
|
||||||
|
{ sym , #sym },
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* OBJCLASS with extra arg */
|
/* OBJCLASS with extra arg */
|
||||||
@@ -396,6 +436,15 @@
|
|||||||
#elif defined(OBJCLASS_DRAWING)
|
#elif defined(OBJCLASS_DRAWING)
|
||||||
#define OBJCLASS2(idx, ch, basename, sname, sym, name, explain) \
|
#define OBJCLASS2(idx, ch, basename, sname, sym, name, explain) \
|
||||||
{ sname, name, explain },
|
{ sname, name, explain },
|
||||||
|
#elif defined(DUMP_ENUMS_OBJCLASS_DEFCHARS)
|
||||||
|
#define OBJCLASS2(idx, ch, basename, sname, sym, name, explain) \
|
||||||
|
{ sname, #sname },
|
||||||
|
#elif defined(DUMP_ENUMS_OBJCLASS_CLASSES)
|
||||||
|
#define OBJCLASS2(idx, ch, basename, sname, sym, name, explain) \
|
||||||
|
{ basename##_CLASS, #basename "_CLASS" },
|
||||||
|
#elif defined(DUMP_ENUMS_OBJCLASS_SYMS)
|
||||||
|
#define OBJCLASS2(idx, ch, basename, sname, sym, name, explain) \
|
||||||
|
{ sym , #sym },
|
||||||
#else
|
#else
|
||||||
#define OBJCLASS2(idx, ch, basename, sname, sym, name, explain) \
|
#define OBJCLASS2(idx, ch, basename, sname, sym, name, explain) \
|
||||||
OBJCLASS(idx, ch, basename, sym, name, explain)
|
OBJCLASS(idx, ch, basename, sym, name, explain)
|
||||||
@@ -424,16 +473,24 @@
|
|||||||
#undef OBJCLASS
|
#undef OBJCLASS
|
||||||
#undef OBJCLASS2
|
#undef OBJCLASS2
|
||||||
#endif /* OBJCLASS_S_ENUM || OBJCLASS_DEFCHAR_ENUM || OBJCLASS_CLASS_ENUM
|
#endif /* OBJCLASS_S_ENUM || OBJCLASS_DEFCHAR_ENUM || OBJCLASS_CLASS_ENUM
|
||||||
* || OBJCLASS_PARSE || OBJCLASS_DRAWING */
|
* || OBJCLASS_PARSE || OBJCLASS_DRAWING
|
||||||
|
* || DUMP_ENUMS_OBJCLASS_DEFCHARS || DUMP_ENUMS_OBJCLASS_CLASSES
|
||||||
|
* || DUMP_ENUMS_OBJCLASS_SYMS */
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#if !defined(PCHAR_S_ENUM) && !defined(PCHAR_DRAWING) \
|
#if !defined(PCHAR_S_ENUM) && !defined(PCHAR_DRAWING) \
|
||||||
&& !defined(PCHAR_PARSE) && !defined(PCHAR_TILES) \
|
&& !defined(PCHAR_PARSE) && !defined(PCHAR_TILES) \
|
||||||
|
&& !defined(DUMP_ENUMS_PCHAR) \
|
||||||
&& !defined(MONSYMS_S_ENUM) && !defined(MONSYMS_DEFCHAR_ENUM) \
|
&& !defined(MONSYMS_S_ENUM) && !defined(MONSYMS_DEFCHAR_ENUM) \
|
||||||
&& !defined(MONSYMS_PARSE) && !defined(MONSYMS_DRAWING) \
|
&& !defined(MONSYMS_PARSE) && !defined(MONSYMS_DRAWING) \
|
||||||
|
&& !defined(DUMP_ENUMS_MONSYMS) \
|
||||||
|
&& !defined(DUMP_ENUMS_MONSYMS_DEFCHAR) \
|
||||||
&& !defined(OBJCLASS_S_ENUM) && !defined(OBJCLASS_DEFCHAR_ENUM) \
|
&& !defined(OBJCLASS_S_ENUM) && !defined(OBJCLASS_DEFCHAR_ENUM) \
|
||||||
&& !defined(OBJCLASS_CLASS_ENUM) && !defined(OBJCLASS_PARSE) \
|
&& !defined(OBJCLASS_CLASS_ENUM) && !defined(OBJCLASS_PARSE) \
|
||||||
&& !defined (OBJCLASS_DRAWING)
|
&& !defined (OBJCLASS_DRAWING) \
|
||||||
|
&& !defined(DUMP_ENUMS_OBJCLASS_DEFCHARS) \
|
||||||
|
&& !defined(DUMP_ENUMS_OBJCLASS_CLASSES) \
|
||||||
|
&& !defined(DUMP_ENUMS_OBJCLASS_SYMS)
|
||||||
#error Non-productive inclusion of defsym.h
|
#error Non-productive inclusion of defsym.h
|
||||||
#endif
|
#endif
|
||||||
#endif /* DEBUG */
|
#endif /* DEBUG */
|
||||||
|
|||||||
@@ -1118,9 +1118,49 @@ struct enum_dump objdump[] = {
|
|||||||
#include "objects.h"
|
#include "objects.h"
|
||||||
{ NUM_OBJECTS, "NUM_OBJECTS" },
|
{ NUM_OBJECTS, "NUM_OBJECTS" },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define DUMP_ENUMS_PCHAR
|
||||||
|
struct enum_dump defsym_cmap_dump[] = {
|
||||||
|
#include "defsym.h"
|
||||||
|
{ MAXPCHARS, "MAXPCHARS" },
|
||||||
|
};
|
||||||
|
#undef DUMP_ENUMS_PCHAR
|
||||||
|
|
||||||
|
#define DUMP_ENUMS_MONSYMS
|
||||||
|
struct enum_dump defsym_mon_syms_dump[] = {
|
||||||
|
#include "defsym.h"
|
||||||
|
{ MAXMCLASSES, "MAXMCLASSES" },
|
||||||
|
};
|
||||||
|
#undef DUMP_ENUMS_MONSYMS
|
||||||
|
|
||||||
|
#define DUMP_ENUMS_MONSYMS_DEFCHAR
|
||||||
|
struct enum_dump defsym_mon_defchars_dump[] = {
|
||||||
|
#include "defsym.h"
|
||||||
|
};
|
||||||
|
#undef DUMP_ENUMS_MONSYMS_DEFCHAR
|
||||||
|
|
||||||
|
#define DUMP_ENUMS_OBJCLASS_DEFCHARS
|
||||||
|
struct enum_dump objclass_defchars_dump[] = {
|
||||||
|
#include "defsym.h"
|
||||||
|
};
|
||||||
|
#undef DUMP_ENUMS_OBJCLASS_DEFCHARS
|
||||||
|
|
||||||
|
#define DUMP_ENUMS_OBJCLASS_CLASSES
|
||||||
|
struct enum_dump objclass_classes_dump[] = {
|
||||||
|
#include "defsym.h"
|
||||||
|
};
|
||||||
|
#undef DUMP_ENUMS_OBJCLASS_CLASSES
|
||||||
|
|
||||||
|
#define DUMP_ENUMS_OBJCLASS_SYMS
|
||||||
|
struct enum_dump objclass_syms_dump[] = {
|
||||||
|
#include "defsym.h"
|
||||||
|
};
|
||||||
|
#undef DUMP_ENUMS_OBJCLASS_SYMS
|
||||||
|
|
||||||
#undef DUMP_ENUMS
|
#undef DUMP_ENUMS
|
||||||
|
|
||||||
#ifndef NODUMPENUMS
|
#ifndef NODUMPENUMS
|
||||||
|
|
||||||
static void
|
static void
|
||||||
dump_enums(void)
|
dump_enums(void)
|
||||||
{
|
{
|
||||||
@@ -1128,10 +1168,19 @@ dump_enums(void)
|
|||||||
monsters_enum,
|
monsters_enum,
|
||||||
objects_enum,
|
objects_enum,
|
||||||
objects_misc_enum,
|
objects_misc_enum,
|
||||||
|
defsym_cmap_enum,
|
||||||
|
defsym_mon_syms_enum,
|
||||||
|
defsym_mon_defchars_enum,
|
||||||
|
objclass_defchars_enum,
|
||||||
|
objclass_classes_enum,
|
||||||
|
objclass_syms_enum,
|
||||||
NUM_ENUM_DUMPS
|
NUM_ENUM_DUMPS
|
||||||
};
|
};
|
||||||
static const char *const titles[NUM_ENUM_DUMPS] = {
|
static const char *const titles[NUM_ENUM_DUMPS] = {
|
||||||
"monnums", "objects_nums" , "misc_object_nums"
|
"monnums", "objects_nums" , "misc_object_nums",
|
||||||
|
"cmap_symbols", "mon_syms", "mon_defchars",
|
||||||
|
"objclass_defchars", "objclass_classes",
|
||||||
|
"objclass_syms",
|
||||||
};
|
};
|
||||||
#define dump_om(om) { om, #om }
|
#define dump_om(om) { om, #om }
|
||||||
static const struct enum_dump omdump[] = {
|
static const struct enum_dump omdump[] = {
|
||||||
@@ -1153,14 +1202,29 @@ dump_enums(void)
|
|||||||
};
|
};
|
||||||
#undef dump_om
|
#undef dump_om
|
||||||
static const struct enum_dump *const ed[NUM_ENUM_DUMPS] = {
|
static const struct enum_dump *const ed[NUM_ENUM_DUMPS] = {
|
||||||
monsdump, objdump, omdump
|
monsdump, objdump, omdump,
|
||||||
|
defsym_cmap_dump, defsym_mon_syms_dump,
|
||||||
|
defsym_mon_defchars_dump,
|
||||||
|
objclass_defchars_dump,
|
||||||
|
objclass_classes_dump,
|
||||||
|
objclass_syms_dump,
|
||||||
};
|
};
|
||||||
static const char *const pfx[NUM_ENUM_DUMPS] = { "PM_", "", "" };
|
static const char *const pfx[NUM_ENUM_DUMPS] = { "PM_", "", "",
|
||||||
static int szd[NUM_ENUM_DUMPS] = {
|
"", "", "", "",
|
||||||
SIZE(monsdump), SIZE(objdump), SIZE(omdump)
|
"", "" };
|
||||||
|
/* 0 = dump numerically only, 1 = add 'char' comment */
|
||||||
|
static const int dumpflgs[NUM_ENUM_DUMPS] = { 0, 0, 0, 0, 0, 1, 1, 0, 0};
|
||||||
|
static int szd[NUM_ENUM_DUMPS] = { SIZE(monsdump), SIZE(objdump),
|
||||||
|
SIZE(omdump), SIZE(defsym_cmap_dump),
|
||||||
|
SIZE(defsym_mon_syms_dump),
|
||||||
|
SIZE(defsym_mon_defchars_dump),
|
||||||
|
SIZE(objclass_defchars_dump),
|
||||||
|
SIZE(objclass_classes_dump),
|
||||||
|
SIZE(objclass_syms_dump)
|
||||||
};
|
};
|
||||||
const char *nmprefix;
|
const char *nmprefix;
|
||||||
int i, j, nmwidth;
|
int i, j, nmwidth;
|
||||||
|
char comment[BUFSZ];
|
||||||
|
|
||||||
for (i = 0; i < NUM_ENUM_DUMPS; ++ i) {
|
for (i = 0; i < NUM_ENUM_DUMPS; ++ i) {
|
||||||
raw_printf("enum %s = {", titles[i]);
|
raw_printf("enum %s = {", titles[i]);
|
||||||
@@ -1169,8 +1233,18 @@ dump_enums(void)
|
|||||||
nmprefix = (j >= szd[i] - unprefixed_count)
|
nmprefix = (j >= szd[i] - unprefixed_count)
|
||||||
? "" : pfx[i]; /* "" or "PM_" */
|
? "" : pfx[i]; /* "" or "PM_" */
|
||||||
nmwidth = 27 - (int) strlen(nmprefix); /* 27 or 24 */
|
nmwidth = 27 - (int) strlen(nmprefix); /* 27 or 24 */
|
||||||
raw_printf(" %s%*s = %3d,",
|
if (dumpflgs[i] > 0) {
|
||||||
nmprefix, -nmwidth, ed[i][j].nm, ed[i][j].val);
|
Snprintf(comment, sizeof comment,
|
||||||
|
" /* '%c' */",
|
||||||
|
(ed[i][j].val >= 32 && ed[i][j].val <= 126)
|
||||||
|
? ed[i][j].val : ' ');
|
||||||
|
} else {
|
||||||
|
comment[0] = '\0';
|
||||||
|
}
|
||||||
|
raw_printf(" %s%*s = %3d,%s",
|
||||||
|
nmprefix, -nmwidth,
|
||||||
|
ed[i][j].nm, ed[i][j].val,
|
||||||
|
comment);
|
||||||
}
|
}
|
||||||
raw_print("};");
|
raw_print("};");
|
||||||
raw_print("");
|
raw_print("");
|
||||||
|
|||||||
Reference in New Issue
Block a user