split symbols bits from drawing.c; new file src/symbols.c
This commit is contained in:
+1
-552
@@ -2,15 +2,11 @@
|
|||||||
/* Copyright (c) NetHack Development Team 1992. */
|
/* Copyright (c) NetHack Development Team 1992. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
#if !defined(CROSSCOMPILE) || defined(CROSSCOMPILE_TARGET)
|
|
||||||
#include "hack.h"
|
|
||||||
#else
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "color.h"
|
#include "color.h"
|
||||||
#include "rm.h"
|
#include "rm.h"
|
||||||
#include "objclass.h"
|
#include "objclass.h"
|
||||||
#include "monsym.h"
|
#include "monsym.h"
|
||||||
#endif
|
|
||||||
#include "tcap.h"
|
#include "tcap.h"
|
||||||
|
|
||||||
/* Relevant header information in rm.h, objclass.h, and monsym.h. */
|
/* Relevant header information in rm.h, objclass.h, and monsym.h. */
|
||||||
@@ -240,7 +236,7 @@ const struct symdef defsyms[MAXPCHARS] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* default rogue level symbols */
|
/* default rogue level symbols */
|
||||||
static const uchar def_r_oc_syms[MAXOCLASSES] = {
|
const uchar def_r_oc_syms[MAXOCLASSES] = {
|
||||||
/* 0*/ '\0', ILLOBJ_SYM, WEAPON_SYM, ']', /* armor */
|
/* 0*/ '\0', ILLOBJ_SYM, WEAPON_SYM, ']', /* armor */
|
||||||
RING_SYM,
|
RING_SYM,
|
||||||
/* 5*/ ',', /* amulet */
|
/* 5*/ ',', /* amulet */
|
||||||
@@ -254,19 +250,6 @@ static const uchar def_r_oc_syms[MAXOCLASSES] = {
|
|||||||
|
|
||||||
#undef C
|
#undef C
|
||||||
|
|
||||||
#if defined(TERMLIB) || defined(CURSES_GRAPHICS)
|
|
||||||
void NDECL((*decgraphics_mode_callback)) = 0; /* set in tty_start_screen() */
|
|
||||||
#endif /* TERMLIB || CURSES */
|
|
||||||
|
|
||||||
#ifdef PC9800
|
|
||||||
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
|
* Convert the given character to an object class. If the character is not
|
||||||
* recognized, then MAXOCLASSES is returned. Used in detect.c, invent.c,
|
* recognized, then MAXOCLASSES is returned. Used in detect.c, invent.c,
|
||||||
@@ -328,538 +311,4 @@ char ch;
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(CROSSCOMPILE) || defined(CROSSCOMPILE_TARGET)
|
|
||||||
/*
|
|
||||||
* Explanations of the functions found below:
|
|
||||||
*
|
|
||||||
* init_symbols()
|
|
||||||
* Sets the current display symbols, the
|
|
||||||
* loadable symbols to the default NetHack
|
|
||||||
* symbols, including the rogue_syms rogue level
|
|
||||||
* symbols. This would typically be done
|
|
||||||
* immediately after execution begins. Any
|
|
||||||
* previously loaded external symbol sets are
|
|
||||||
* discarded.
|
|
||||||
*
|
|
||||||
* switch_symbols(arg)
|
|
||||||
* Called to swap in new current display symbols
|
|
||||||
* (showsyms) from either the default symbols,
|
|
||||||
* or from the loaded symbols.
|
|
||||||
*
|
|
||||||
* If (arg == 0) then showsyms are taken from
|
|
||||||
* defsyms, def_oc_syms, and def_monsyms.
|
|
||||||
*
|
|
||||||
* If (arg != 0), which is the normal expected
|
|
||||||
* usage, then showsyms are taken from the
|
|
||||||
* adjustable display symbols found in g.primary_syms.
|
|
||||||
* g.primary_syms may have been loaded from an external
|
|
||||||
* symbol file by config file options or interactively
|
|
||||||
* in the Options menu.
|
|
||||||
*
|
|
||||||
* assign_graphics(arg)
|
|
||||||
*
|
|
||||||
* This is used in the game core to toggle in and
|
|
||||||
* out of other {rogue} level display modes.
|
|
||||||
*
|
|
||||||
* If arg is ROGUESET, this places the rogue level
|
|
||||||
* symbols from g.rogue_syms into g.showsyms.
|
|
||||||
*
|
|
||||||
* If arg is PRIMARY, this places the symbols
|
|
||||||
* from g.primary_syms into g.showsyms.
|
|
||||||
*
|
|
||||||
* update_primary_symset()
|
|
||||||
* Update a member of the primary(primary_*) symbol set.
|
|
||||||
*
|
|
||||||
* update_rogue_symset()
|
|
||||||
* Update a member of the rogue (rogue_*) symbol set.
|
|
||||||
*
|
|
||||||
* update_ov_primary_symset()
|
|
||||||
* Update a member of the overrides for primary symbol set.
|
|
||||||
*
|
|
||||||
* update_ov_rogue_symset()
|
|
||||||
* Update a member of the overrides for rogue symbol set.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
void
|
|
||||||
init_symbols()
|
|
||||||
{
|
|
||||||
init_ov_primary_symbols();
|
|
||||||
init_ov_rogue_symbols();
|
|
||||||
init_primary_symbols();
|
|
||||||
init_showsyms();
|
|
||||||
init_rogue_symbols();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
init_showsyms()
|
|
||||||
{
|
|
||||||
register int i;
|
|
||||||
|
|
||||||
for (i = 0; i < MAXPCHARS; i++)
|
|
||||||
g.showsyms[i + SYM_OFF_P] = defsyms[i].sym;
|
|
||||||
for (i = 0; i < MAXOCLASSES; i++)
|
|
||||||
g.showsyms[i + SYM_OFF_O] = def_oc_syms[i].sym;
|
|
||||||
for (i = 0; i < MAXMCLASSES; i++)
|
|
||||||
g.showsyms[i + SYM_OFF_M] = def_monsyms[i].sym;
|
|
||||||
for (i = 0; i < WARNCOUNT; i++)
|
|
||||||
g.showsyms[i + SYM_OFF_W] = def_warnsyms[i].sym;
|
|
||||||
for (i = 0; i < MAXOTHER; i++)
|
|
||||||
g.showsyms[i + SYM_OFF_X] = get_othersym(i, PRIMARY);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* initialize defaults for the overrides to the rogue symset */
|
|
||||||
void
|
|
||||||
init_ov_rogue_symbols()
|
|
||||||
{
|
|
||||||
register int i;
|
|
||||||
|
|
||||||
for (i = 0; i < SYM_MAX; i++)
|
|
||||||
g.ov_rogue_syms[i] = (nhsym) 0;
|
|
||||||
}
|
|
||||||
/* initialize defaults for the overrides to the primary symset */
|
|
||||||
void
|
|
||||||
init_ov_primary_symbols()
|
|
||||||
{
|
|
||||||
register int i;
|
|
||||||
|
|
||||||
for (i = 0; i < SYM_MAX; i++)
|
|
||||||
g.ov_primary_syms[i] = (nhsym) 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
nhsym
|
|
||||||
get_othersym(idx, which_set)
|
|
||||||
int idx, which_set;
|
|
||||||
{
|
|
||||||
nhsym sym = (nhsym) 0;
|
|
||||||
int oidx = idx + SYM_OFF_X;
|
|
||||||
|
|
||||||
if (which_set == ROGUESET)
|
|
||||||
sym = g.ov_rogue_syms[oidx] ? g.ov_rogue_syms[oidx]
|
|
||||||
: g.rogue_syms[oidx];
|
|
||||||
else
|
|
||||||
sym = g.ov_primary_syms[oidx] ? g.ov_primary_syms[oidx]
|
|
||||||
: g.primary_syms[oidx];
|
|
||||||
if (!sym) {
|
|
||||||
switch(idx) {
|
|
||||||
case SYM_NOTHING:
|
|
||||||
case SYM_UNEXPLORED:
|
|
||||||
sym = DEF_NOTHING;
|
|
||||||
break;
|
|
||||||
case SYM_BOULDER:
|
|
||||||
sym = def_oc_syms[ROCK_CLASS].sym;
|
|
||||||
break;
|
|
||||||
case SYM_INVISIBLE:
|
|
||||||
sym = DEF_INVISIBLE;
|
|
||||||
break;
|
|
||||||
#if 0
|
|
||||||
/* these intentionally have no defaults */
|
|
||||||
case SYM_PET_OVERRIDE:
|
|
||||||
case SYM_HERO_OVERRIDE:
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return sym;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* initialize defaults for the primary symset */
|
|
||||||
void
|
|
||||||
init_primary_symbols()
|
|
||||||
{
|
|
||||||
register int i;
|
|
||||||
|
|
||||||
for (i = 0; i < MAXPCHARS; i++)
|
|
||||||
g.primary_syms[i + SYM_OFF_P] = defsyms[i].sym;
|
|
||||||
for (i = 0; i < MAXOCLASSES; i++)
|
|
||||||
g.primary_syms[i + SYM_OFF_O] = def_oc_syms[i].sym;
|
|
||||||
for (i = 0; i < MAXMCLASSES; i++)
|
|
||||||
g.primary_syms[i + SYM_OFF_M] = def_monsyms[i].sym;
|
|
||||||
for (i = 0; i < WARNCOUNT; i++)
|
|
||||||
g.primary_syms[i + SYM_OFF_W] = def_warnsyms[i].sym;
|
|
||||||
for (i = 0; i < MAXOTHER; i++)
|
|
||||||
g.primary_syms[i + SYM_OFF_X] = get_othersym(i, PRIMARY);
|
|
||||||
|
|
||||||
clear_symsetentry(PRIMARY, FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* initialize defaults for the rogue symset */
|
|
||||||
void
|
|
||||||
init_rogue_symbols()
|
|
||||||
{
|
|
||||||
register int i;
|
|
||||||
|
|
||||||
/* These are defaults that can get overwritten
|
|
||||||
later by the roguesymbols option */
|
|
||||||
|
|
||||||
for (i = 0; i < MAXPCHARS; i++)
|
|
||||||
g.rogue_syms[i + SYM_OFF_P] = defsyms[i].sym;
|
|
||||||
g.rogue_syms[S_vodoor] = g.rogue_syms[S_hodoor] = g.rogue_syms[S_ndoor] = '+';
|
|
||||||
g.rogue_syms[S_upstair] = g.rogue_syms[S_dnstair] = '%';
|
|
||||||
|
|
||||||
for (i = 0; i < MAXOCLASSES; i++)
|
|
||||||
g.rogue_syms[i + SYM_OFF_O] = def_r_oc_syms[i];
|
|
||||||
for (i = 0; i < MAXMCLASSES; i++)
|
|
||||||
g.rogue_syms[i + SYM_OFF_M] = def_monsyms[i].sym;
|
|
||||||
for (i = 0; i < WARNCOUNT; i++)
|
|
||||||
g.rogue_syms[i + SYM_OFF_W] = def_warnsyms[i].sym;
|
|
||||||
for (i = 0; i < MAXOTHER; i++)
|
|
||||||
g.rogue_syms[i + SYM_OFF_X] = get_othersym(i, ROGUESET);
|
|
||||||
|
|
||||||
clear_symsetentry(ROGUESET, FALSE);
|
|
||||||
/* default on Rogue level is no color
|
|
||||||
* but some symbol sets can override that
|
|
||||||
*/
|
|
||||||
g.symset[ROGUESET].nocolor = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
assign_graphics(whichset)
|
|
||||||
int whichset;
|
|
||||||
{
|
|
||||||
register int i;
|
|
||||||
|
|
||||||
switch (whichset) {
|
|
||||||
case ROGUESET:
|
|
||||||
/* Adjust graphics display characters on Rogue levels */
|
|
||||||
|
|
||||||
for (i = 0; i < SYM_MAX; i++)
|
|
||||||
g.showsyms[i] = g.ov_rogue_syms[i] ? g.ov_rogue_syms[i]
|
|
||||||
: g.rogue_syms[i];
|
|
||||||
|
|
||||||
#if defined(MSDOS) && defined(USE_TILES)
|
|
||||||
if (iflags.grmode)
|
|
||||||
tileview(FALSE);
|
|
||||||
#endif
|
|
||||||
g.currentgraphics = ROGUESET;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PRIMARY:
|
|
||||||
default:
|
|
||||||
for (i = 0; i < SYM_MAX; i++)
|
|
||||||
g.showsyms[i] = g.ov_primary_syms[i] ? g.ov_primary_syms[i]
|
|
||||||
: g.primary_syms[i];
|
|
||||||
|
|
||||||
#if defined(MSDOS) && defined(USE_TILES)
|
|
||||||
if (iflags.grmode)
|
|
||||||
tileview(TRUE);
|
|
||||||
#endif
|
|
||||||
g.currentgraphics = PRIMARY;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
switch_symbols(nondefault)
|
|
||||||
int nondefault;
|
|
||||||
{
|
|
||||||
register int i;
|
|
||||||
|
|
||||||
if (nondefault) {
|
|
||||||
for (i = 0; i < SYM_MAX; i++)
|
|
||||||
g.showsyms[i] = g.ov_primary_syms[i] ? g.ov_primary_syms[i]
|
|
||||||
: g.primary_syms[i];
|
|
||||||
#ifdef PC9800
|
|
||||||
if (SYMHANDLING(H_IBM) && ibmgraphics_mode_callback)
|
|
||||||
(*ibmgraphics_mode_callback)();
|
|
||||||
else if (SYMHANDLING(H_UNK) && ascgraphics_mode_callback)
|
|
||||||
(*ascgraphics_mode_callback)();
|
|
||||||
#endif
|
|
||||||
#if defined(TERMLIB) || defined(CURSES_GRAPHICS)
|
|
||||||
/* curses doesn't assign any routine to dec..._callback but
|
|
||||||
probably does the expected initialization under the hood
|
|
||||||
for terminals capable of rendering DECgraphics */
|
|
||||||
if (SYMHANDLING(H_DEC) && decgraphics_mode_callback)
|
|
||||||
(*decgraphics_mode_callback)();
|
|
||||||
# ifdef CURSES_GRAPHICS
|
|
||||||
/* there aren't any symbol sets with CURS handling, and the
|
|
||||||
curses interface never assigns a routine to curses..._callback */
|
|
||||||
if (SYMHANDLING(H_CURS) && cursesgraphics_mode_callback)
|
|
||||||
(*cursesgraphics_mode_callback)();
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
} else {
|
|
||||||
init_primary_symbols();
|
|
||||||
init_showsyms();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
update_ov_primary_symset(symp, val)
|
|
||||||
struct symparse *symp;
|
|
||||||
int val;
|
|
||||||
{
|
|
||||||
g.ov_primary_syms[symp->idx] = val;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
update_ov_rogue_symset(symp, val)
|
|
||||||
struct symparse *symp;
|
|
||||||
int val;
|
|
||||||
{
|
|
||||||
g.ov_rogue_syms[symp->idx] = val;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
update_primary_symset(symp, val)
|
|
||||||
struct symparse *symp;
|
|
||||||
int val;
|
|
||||||
{
|
|
||||||
g.primary_syms[symp->idx] = val;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
update_rogue_symset(symp, val)
|
|
||||||
struct symparse *symp;
|
|
||||||
int val;
|
|
||||||
{
|
|
||||||
g.rogue_syms[symp->idx] = val;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
clear_symsetentry(which_set, name_too)
|
|
||||||
int which_set;
|
|
||||||
boolean name_too;
|
|
||||||
{
|
|
||||||
if (g.symset[which_set].desc)
|
|
||||||
free((genericptr_t) g.symset[which_set].desc);
|
|
||||||
g.symset[which_set].desc = (char *) 0;
|
|
||||||
|
|
||||||
g.symset[which_set].handling = H_UNK;
|
|
||||||
g.symset[which_set].nocolor = 0;
|
|
||||||
/* initialize restriction bits */
|
|
||||||
g.symset[which_set].primary = 0;
|
|
||||||
g.symset[which_set].rogue = 0;
|
|
||||||
|
|
||||||
if (name_too) {
|
|
||||||
if (g.symset[which_set].name)
|
|
||||||
free((genericptr_t) g.symset[which_set].name);
|
|
||||||
g.symset[which_set].name = (char *) 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 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
|
|
||||||
* to this array at the matching offset.
|
|
||||||
*/
|
|
||||||
const char *known_handling[] = {
|
|
||||||
"UNKNOWN", /* H_UNK */
|
|
||||||
"IBM", /* H_IBM */
|
|
||||||
"DEC", /* H_DEC */
|
|
||||||
"CURS", /* H_CURS */
|
|
||||||
"MAC", /* H_MAC -- pre-OSX MACgraphics */
|
|
||||||
(const char *) 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Accepted keywords for symset restrictions.
|
|
||||||
* 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
|
|
||||||
* - 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".
|
|
||||||
* - set the value appropriately based on the index of your keyword
|
|
||||||
* under the case 5 sections of the same SYM_CONTROL idx switches.
|
|
||||||
* - add the field to clear_symsetentry()
|
|
||||||
*/
|
|
||||||
const char *known_restrictions[] = {
|
|
||||||
"primary", "rogue", (const char *) 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
const struct symparse loadsyms[] = {
|
|
||||||
{ SYM_CONTROL, 0, "start" },
|
|
||||||
{ SYM_CONTROL, 0, "begin" },
|
|
||||||
{ SYM_CONTROL, 1, "finish" },
|
|
||||||
{ SYM_CONTROL, 2, "handling" },
|
|
||||||
{ SYM_CONTROL, 3, "description" },
|
|
||||||
{ 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_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" },
|
|
||||||
{ 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" },
|
|
||||||
{ SYM_OTH, SYM_INVISIBLE + SYM_OFF_X, "S_invisible" },
|
|
||||||
{ SYM_OTH, SYM_PET_OVERRIDE + SYM_OFF_X, "S_pet_override" },
|
|
||||||
{ SYM_OTH, SYM_HERO_OVERRIDE + SYM_OFF_X, "S_hero_override" },
|
|
||||||
{ 0, 0, (const char *) 0 } /* fence post */
|
|
||||||
};
|
|
||||||
#endif /* !CROSSCOMPILE || CROSSCOMPILE_TARGET */
|
|
||||||
|
|
||||||
/*drawing.c*/
|
/*drawing.c*/
|
||||||
|
|||||||
+553
@@ -0,0 +1,553 @@
|
|||||||
|
/* NetHack 3.6 symbols.c $NHDT-Date: 1588776075 2020/05/06 14:41:15 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.0 $ */
|
||||||
|
/* Copyright (c) NetHack Development Team 2020. */
|
||||||
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
|
#include "hack.h"
|
||||||
|
|
||||||
|
extern const uchar def_r_oc_syms[MAXOCLASSES]; /* drawing.c */
|
||||||
|
|
||||||
|
#if defined(TERMLIB) || defined(CURSES_GRAPHICS)
|
||||||
|
void NDECL((*decgraphics_mode_callback)) = 0; /* set in tty_start_screen() */
|
||||||
|
#endif /* TERMLIB || CURSES */
|
||||||
|
|
||||||
|
#ifdef PC9800
|
||||||
|
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
|
||||||
|
/*
|
||||||
|
* Explanations of the functions found below:
|
||||||
|
*
|
||||||
|
* init_symbols()
|
||||||
|
* Sets the current display symbols, the
|
||||||
|
* loadable symbols to the default NetHack
|
||||||
|
* symbols, including the rogue_syms rogue level
|
||||||
|
* symbols. This would typically be done
|
||||||
|
* immediately after execution begins. Any
|
||||||
|
* previously loaded external symbol sets are
|
||||||
|
* discarded.
|
||||||
|
*
|
||||||
|
* switch_symbols(arg)
|
||||||
|
* Called to swap in new current display symbols
|
||||||
|
* (showsyms) from either the default symbols,
|
||||||
|
* or from the loaded symbols.
|
||||||
|
*
|
||||||
|
* If (arg == 0) then showsyms are taken from
|
||||||
|
* defsyms, def_oc_syms, and def_monsyms.
|
||||||
|
*
|
||||||
|
* If (arg != 0), which is the normal expected
|
||||||
|
* usage, then showsyms are taken from the
|
||||||
|
* adjustable display symbols found in g.primary_syms.
|
||||||
|
* g.primary_syms may have been loaded from an external
|
||||||
|
* symbol file by config file options or interactively
|
||||||
|
* in the Options menu.
|
||||||
|
*
|
||||||
|
* assign_graphics(arg)
|
||||||
|
*
|
||||||
|
* This is used in the game core to toggle in and
|
||||||
|
* out of other {rogue} level display modes.
|
||||||
|
*
|
||||||
|
* If arg is ROGUESET, this places the rogue level
|
||||||
|
* symbols from g.rogue_syms into g.showsyms.
|
||||||
|
*
|
||||||
|
* If arg is PRIMARY, this places the symbols
|
||||||
|
* from g.primary_syms into g.showsyms.
|
||||||
|
*
|
||||||
|
* update_primary_symset()
|
||||||
|
* Update a member of the primary(primary_*) symbol set.
|
||||||
|
*
|
||||||
|
* update_rogue_symset()
|
||||||
|
* Update a member of the rogue (rogue_*) symbol set.
|
||||||
|
*
|
||||||
|
* update_ov_primary_symset()
|
||||||
|
* Update a member of the overrides for primary symbol set.
|
||||||
|
*
|
||||||
|
* update_ov_rogue_symset()
|
||||||
|
* Update a member of the overrides for rogue symbol set.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
void
|
||||||
|
init_symbols()
|
||||||
|
{
|
||||||
|
init_ov_primary_symbols();
|
||||||
|
init_ov_rogue_symbols();
|
||||||
|
init_primary_symbols();
|
||||||
|
init_showsyms();
|
||||||
|
init_rogue_symbols();
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
init_showsyms()
|
||||||
|
{
|
||||||
|
register int i;
|
||||||
|
|
||||||
|
for (i = 0; i < MAXPCHARS; i++)
|
||||||
|
g.showsyms[i + SYM_OFF_P] = defsyms[i].sym;
|
||||||
|
for (i = 0; i < MAXOCLASSES; i++)
|
||||||
|
g.showsyms[i + SYM_OFF_O] = def_oc_syms[i].sym;
|
||||||
|
for (i = 0; i < MAXMCLASSES; i++)
|
||||||
|
g.showsyms[i + SYM_OFF_M] = def_monsyms[i].sym;
|
||||||
|
for (i = 0; i < WARNCOUNT; i++)
|
||||||
|
g.showsyms[i + SYM_OFF_W] = def_warnsyms[i].sym;
|
||||||
|
for (i = 0; i < MAXOTHER; i++)
|
||||||
|
g.showsyms[i + SYM_OFF_X] = get_othersym(i, PRIMARY);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* initialize defaults for the overrides to the rogue symset */
|
||||||
|
void
|
||||||
|
init_ov_rogue_symbols()
|
||||||
|
{
|
||||||
|
register int i;
|
||||||
|
|
||||||
|
for (i = 0; i < SYM_MAX; i++)
|
||||||
|
g.ov_rogue_syms[i] = (nhsym) 0;
|
||||||
|
}
|
||||||
|
/* initialize defaults for the overrides to the primary symset */
|
||||||
|
void
|
||||||
|
init_ov_primary_symbols()
|
||||||
|
{
|
||||||
|
register int i;
|
||||||
|
|
||||||
|
for (i = 0; i < SYM_MAX; i++)
|
||||||
|
g.ov_primary_syms[i] = (nhsym) 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
nhsym
|
||||||
|
get_othersym(idx, which_set)
|
||||||
|
int idx, which_set;
|
||||||
|
{
|
||||||
|
nhsym sym = (nhsym) 0;
|
||||||
|
int oidx = idx + SYM_OFF_X;
|
||||||
|
|
||||||
|
if (which_set == ROGUESET)
|
||||||
|
sym = g.ov_rogue_syms[oidx] ? g.ov_rogue_syms[oidx]
|
||||||
|
: g.rogue_syms[oidx];
|
||||||
|
else
|
||||||
|
sym = g.ov_primary_syms[oidx] ? g.ov_primary_syms[oidx]
|
||||||
|
: g.primary_syms[oidx];
|
||||||
|
if (!sym) {
|
||||||
|
switch(idx) {
|
||||||
|
case SYM_NOTHING:
|
||||||
|
case SYM_UNEXPLORED:
|
||||||
|
sym = DEF_NOTHING;
|
||||||
|
break;
|
||||||
|
case SYM_BOULDER:
|
||||||
|
sym = def_oc_syms[ROCK_CLASS].sym;
|
||||||
|
break;
|
||||||
|
case SYM_INVISIBLE:
|
||||||
|
sym = DEF_INVISIBLE;
|
||||||
|
break;
|
||||||
|
#if 0
|
||||||
|
/* these intentionally have no defaults */
|
||||||
|
case SYM_PET_OVERRIDE:
|
||||||
|
case SYM_HERO_OVERRIDE:
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sym;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* initialize defaults for the primary symset */
|
||||||
|
void
|
||||||
|
init_primary_symbols()
|
||||||
|
{
|
||||||
|
register int i;
|
||||||
|
|
||||||
|
for (i = 0; i < MAXPCHARS; i++)
|
||||||
|
g.primary_syms[i + SYM_OFF_P] = defsyms[i].sym;
|
||||||
|
for (i = 0; i < MAXOCLASSES; i++)
|
||||||
|
g.primary_syms[i + SYM_OFF_O] = def_oc_syms[i].sym;
|
||||||
|
for (i = 0; i < MAXMCLASSES; i++)
|
||||||
|
g.primary_syms[i + SYM_OFF_M] = def_monsyms[i].sym;
|
||||||
|
for (i = 0; i < WARNCOUNT; i++)
|
||||||
|
g.primary_syms[i + SYM_OFF_W] = def_warnsyms[i].sym;
|
||||||
|
for (i = 0; i < MAXOTHER; i++)
|
||||||
|
g.primary_syms[i + SYM_OFF_X] = get_othersym(i, PRIMARY);
|
||||||
|
|
||||||
|
clear_symsetentry(PRIMARY, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* initialize defaults for the rogue symset */
|
||||||
|
void
|
||||||
|
init_rogue_symbols()
|
||||||
|
{
|
||||||
|
register int i;
|
||||||
|
|
||||||
|
/* These are defaults that can get overwritten
|
||||||
|
later by the roguesymbols option */
|
||||||
|
|
||||||
|
for (i = 0; i < MAXPCHARS; i++)
|
||||||
|
g.rogue_syms[i + SYM_OFF_P] = defsyms[i].sym;
|
||||||
|
g.rogue_syms[S_vodoor] = g.rogue_syms[S_hodoor] = g.rogue_syms[S_ndoor] = '+';
|
||||||
|
g.rogue_syms[S_upstair] = g.rogue_syms[S_dnstair] = '%';
|
||||||
|
|
||||||
|
for (i = 0; i < MAXOCLASSES; i++)
|
||||||
|
g.rogue_syms[i + SYM_OFF_O] = def_r_oc_syms[i];
|
||||||
|
for (i = 0; i < MAXMCLASSES; i++)
|
||||||
|
g.rogue_syms[i + SYM_OFF_M] = def_monsyms[i].sym;
|
||||||
|
for (i = 0; i < WARNCOUNT; i++)
|
||||||
|
g.rogue_syms[i + SYM_OFF_W] = def_warnsyms[i].sym;
|
||||||
|
for (i = 0; i < MAXOTHER; i++)
|
||||||
|
g.rogue_syms[i + SYM_OFF_X] = get_othersym(i, ROGUESET);
|
||||||
|
|
||||||
|
clear_symsetentry(ROGUESET, FALSE);
|
||||||
|
/* default on Rogue level is no color
|
||||||
|
* but some symbol sets can override that
|
||||||
|
*/
|
||||||
|
g.symset[ROGUESET].nocolor = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
assign_graphics(whichset)
|
||||||
|
int whichset;
|
||||||
|
{
|
||||||
|
register int i;
|
||||||
|
|
||||||
|
switch (whichset) {
|
||||||
|
case ROGUESET:
|
||||||
|
/* Adjust graphics display characters on Rogue levels */
|
||||||
|
|
||||||
|
for (i = 0; i < SYM_MAX; i++)
|
||||||
|
g.showsyms[i] = g.ov_rogue_syms[i] ? g.ov_rogue_syms[i]
|
||||||
|
: g.rogue_syms[i];
|
||||||
|
|
||||||
|
#if defined(MSDOS) && defined(USE_TILES)
|
||||||
|
if (iflags.grmode)
|
||||||
|
tileview(FALSE);
|
||||||
|
#endif
|
||||||
|
g.currentgraphics = ROGUESET;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case PRIMARY:
|
||||||
|
default:
|
||||||
|
for (i = 0; i < SYM_MAX; i++)
|
||||||
|
g.showsyms[i] = g.ov_primary_syms[i] ? g.ov_primary_syms[i]
|
||||||
|
: g.primary_syms[i];
|
||||||
|
|
||||||
|
#if defined(MSDOS) && defined(USE_TILES)
|
||||||
|
if (iflags.grmode)
|
||||||
|
tileview(TRUE);
|
||||||
|
#endif
|
||||||
|
g.currentgraphics = PRIMARY;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
switch_symbols(nondefault)
|
||||||
|
int nondefault;
|
||||||
|
{
|
||||||
|
register int i;
|
||||||
|
|
||||||
|
if (nondefault) {
|
||||||
|
for (i = 0; i < SYM_MAX; i++)
|
||||||
|
g.showsyms[i] = g.ov_primary_syms[i] ? g.ov_primary_syms[i]
|
||||||
|
: g.primary_syms[i];
|
||||||
|
#ifdef PC9800
|
||||||
|
if (SYMHANDLING(H_IBM) && ibmgraphics_mode_callback)
|
||||||
|
(*ibmgraphics_mode_callback)();
|
||||||
|
else if (SYMHANDLING(H_UNK) && ascgraphics_mode_callback)
|
||||||
|
(*ascgraphics_mode_callback)();
|
||||||
|
#endif
|
||||||
|
#if defined(TERMLIB) || defined(CURSES_GRAPHICS)
|
||||||
|
/* curses doesn't assign any routine to dec..._callback but
|
||||||
|
probably does the expected initialization under the hood
|
||||||
|
for terminals capable of rendering DECgraphics */
|
||||||
|
if (SYMHANDLING(H_DEC) && decgraphics_mode_callback)
|
||||||
|
(*decgraphics_mode_callback)();
|
||||||
|
# ifdef CURSES_GRAPHICS
|
||||||
|
/* there aren't any symbol sets with CURS handling, and the
|
||||||
|
curses interface never assigns a routine to curses..._callback */
|
||||||
|
if (SYMHANDLING(H_CURS) && cursesgraphics_mode_callback)
|
||||||
|
(*cursesgraphics_mode_callback)();
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
} else {
|
||||||
|
init_primary_symbols();
|
||||||
|
init_showsyms();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
update_ov_primary_symset(symp, val)
|
||||||
|
struct symparse *symp;
|
||||||
|
int val;
|
||||||
|
{
|
||||||
|
g.ov_primary_syms[symp->idx] = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
update_ov_rogue_symset(symp, val)
|
||||||
|
struct symparse *symp;
|
||||||
|
int val;
|
||||||
|
{
|
||||||
|
g.ov_rogue_syms[symp->idx] = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
update_primary_symset(symp, val)
|
||||||
|
struct symparse *symp;
|
||||||
|
int val;
|
||||||
|
{
|
||||||
|
g.primary_syms[symp->idx] = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
update_rogue_symset(symp, val)
|
||||||
|
struct symparse *symp;
|
||||||
|
int val;
|
||||||
|
{
|
||||||
|
g.rogue_syms[symp->idx] = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
clear_symsetentry(which_set, name_too)
|
||||||
|
int which_set;
|
||||||
|
boolean name_too;
|
||||||
|
{
|
||||||
|
if (g.symset[which_set].desc)
|
||||||
|
free((genericptr_t) g.symset[which_set].desc);
|
||||||
|
g.symset[which_set].desc = (char *) 0;
|
||||||
|
|
||||||
|
g.symset[which_set].handling = H_UNK;
|
||||||
|
g.symset[which_set].nocolor = 0;
|
||||||
|
/* initialize restriction bits */
|
||||||
|
g.symset[which_set].primary = 0;
|
||||||
|
g.symset[which_set].rogue = 0;
|
||||||
|
|
||||||
|
if (name_too) {
|
||||||
|
if (g.symset[which_set].name)
|
||||||
|
free((genericptr_t) g.symset[which_set].name);
|
||||||
|
g.symset[which_set].name = (char *) 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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
|
||||||
|
* to this array at the matching offset.
|
||||||
|
*/
|
||||||
|
const char *known_handling[] = {
|
||||||
|
"UNKNOWN", /* H_UNK */
|
||||||
|
"IBM", /* H_IBM */
|
||||||
|
"DEC", /* H_DEC */
|
||||||
|
"CURS", /* H_CURS */
|
||||||
|
"MAC", /* H_MAC -- pre-OSX MACgraphics */
|
||||||
|
(const char *) 0,
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Accepted keywords for symset restrictions.
|
||||||
|
* 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
|
||||||
|
* - 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".
|
||||||
|
* - set the value appropriately based on the index of your keyword
|
||||||
|
* under the case 5 sections of the same SYM_CONTROL idx switches.
|
||||||
|
* - add the field to clear_symsetentry()
|
||||||
|
*/
|
||||||
|
const char *known_restrictions[] = {
|
||||||
|
"primary", "rogue", (const char *) 0,
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct symparse loadsyms[] = {
|
||||||
|
{ SYM_CONTROL, 0, "start" },
|
||||||
|
{ SYM_CONTROL, 0, "begin" },
|
||||||
|
{ SYM_CONTROL, 1, "finish" },
|
||||||
|
{ SYM_CONTROL, 2, "handling" },
|
||||||
|
{ SYM_CONTROL, 3, "description" },
|
||||||
|
{ 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_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" },
|
||||||
|
{ 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" },
|
||||||
|
{ SYM_OTH, SYM_INVISIBLE + SYM_OFF_X, "S_invisible" },
|
||||||
|
{ SYM_OTH, SYM_PET_OVERRIDE + SYM_OFF_X, "S_pet_override" },
|
||||||
|
{ SYM_OTH, SYM_HERO_OVERRIDE + SYM_OFF_X, "S_hero_override" },
|
||||||
|
{ 0, 0, (const char *) 0 } /* fence post */
|
||||||
|
};
|
||||||
|
|
||||||
|
/*symbols.c*/
|
||||||
@@ -612,11 +612,12 @@ spotless: clean
|
|||||||
# if [ -f $(WSHR)/oththin.txt ]; then rm $(WSHR)/oththin.txt; fi;
|
# if [ -f $(WSHR)/oththin.txt ]; then rm $(WSHR)/oththin.txt; fi;
|
||||||
|
|
||||||
#==========================================
|
#==========================================
|
||||||
# Game Dependencies
|
# Host Utility Dependencies
|
||||||
#==========================================
|
#==========================================
|
||||||
|
|
||||||
# src dependencies
|
# src dependencies
|
||||||
|
|
||||||
|
$(HOST_O)drawing.o: $(CONFIG_H)
|
||||||
$(HOST_O)vis_tab.o: vis_tab.c $(CONFIG_H) $(INCL)/vis_tab.h
|
$(HOST_O)vis_tab.o: vis_tab.c $(CONFIG_H) $(INCL)/vis_tab.h
|
||||||
$(HOST_O)alloc.o: alloc.c $(CONFIG_H)
|
$(HOST_O)alloc.o: alloc.c $(CONFIG_H)
|
||||||
$(HOST_O)dlb.o: dlb.c $(CONFIG_H) $(INCL)/dlb.h
|
$(HOST_O)dlb.o: dlb.c $(CONFIG_H) $(INCL)/dlb.h
|
||||||
|
|||||||
@@ -233,46 +233,6 @@ U = $(UTIL)/
|
|||||||
# Tile related object files.
|
# Tile related object files.
|
||||||
#==========================================
|
#==========================================
|
||||||
|
|
||||||
#ifeq ($(SUPPRESS_GRAPHICS),Y)
|
|
||||||
#TILOBJ =
|
|
||||||
#TILOBJ2 =
|
|
||||||
#TEXTIO =
|
|
||||||
#TEXTIO2 =
|
|
||||||
#TILE_BMP =
|
|
||||||
#TILEUTIL =
|
|
||||||
#TILEFILES =
|
|
||||||
#TILEFILES2 =
|
|
||||||
#GIFREADERS =
|
|
||||||
#GIFREAD2 =
|
|
||||||
#PPMWRITERS =
|
|
||||||
#PPMWRIT2 =
|
|
||||||
#
|
|
||||||
#else
|
|
||||||
#
|
|
||||||
TILOBJ = $(O)tile.o $(VIDEO_OBJ)
|
|
||||||
#
|
|
||||||
#TILOBJ2 = $(O)tileset.o $(O)bmptiles.o $(O)giftiles.o
|
|
||||||
#
|
|
||||||
#TEXTIO = $(HOST_O)tiletext.o $(HOST_O)tiletxt.o $(HOST_O)drawing.o $(HOST_O)decl.o $(HOST_O)monst.o \
|
|
||||||
# $(HOST_O)objects.o $(HOST_O)stubvid.o
|
|
||||||
#
|
|
||||||
#TEXTIO2 = $(HOST_O)tiletex2.o $(HOST_O)tiletxt2.o $(HOST_O)drawing.o $(HOST_O)decl.o $(HOST_O)monst.o \
|
|
||||||
# $(HOST_O)objects.o $(HOST_O)stubvid.o
|
|
||||||
#TILEUTIL = $(TILOBJ) $(U)tile2bin $(U)til2bin2 $(TILE_BMP) $(PLANAR_TIB) $(OVERVIEW_TIB)
|
|
||||||
#
|
|
||||||
#TILEFILES = $(WSHR)/monsters.txt $(WSHR)/objects.txt $(WSHR)/other.txt
|
|
||||||
#
|
|
||||||
#TILEFILES2 = $(WSHR)/monthin.txt $(WSHR)/objthin.txt $(WSHR)/oththin.txt
|
|
||||||
#
|
|
||||||
#GIFREADERS = $(HOST_O)gifread.o $(HOST_O)alloc.o $(HOST_O)panic.o
|
|
||||||
#
|
|
||||||
#GIFREAD2 = $(HOST_O)gifread2.o $(HOST_O)alloc.o $(HOST_O)panic.o
|
|
||||||
#
|
|
||||||
#PPMWRITERS = $(HOST_O)ppmwrite.o $(HOST_O)alloc.o $(HOST_O)panic.o
|
|
||||||
#
|
|
||||||
#PPMWRIT2 = $(HOST_O)ppmwrit2.o $(HOST_O)alloc.o $(HOST_O)panic.o
|
|
||||||
#endif
|
|
||||||
|
|
||||||
PLANAR_TIB = $(DAT)/NETHACK1.tib
|
PLANAR_TIB = $(DAT)/NETHACK1.tib
|
||||||
OVERVIEW_TIB = $(DAT)/NETHACKO.tib
|
OVERVIEW_TIB = $(DAT)/NETHACKO.tib
|
||||||
TILE_BMP = $(DAT)/NHTILES.BMP
|
TILE_BMP = $(DAT)/NHTILES.BMP
|
||||||
@@ -309,12 +269,12 @@ VOBJ20 = $(O)region.o $(O)restore.o $(O)rip.o $(O)rnd.o
|
|||||||
VOBJ21 = $(O)role.o $(O)rumors.o $(O)save.o $(O)sfstruct.o
|
VOBJ21 = $(O)role.o $(O)rumors.o $(O)save.o $(O)sfstruct.o
|
||||||
VOBJ22 = $(O)shk.o $(O)shknam.o $(O)sit.o $(O)sounds.o
|
VOBJ22 = $(O)shk.o $(O)shknam.o $(O)sit.o $(O)sounds.o
|
||||||
VOBJ23 = $(O)sp_lev.o $(O)spell.o $(O)steal.o $(O)steed.o
|
VOBJ23 = $(O)sp_lev.o $(O)spell.o $(O)steal.o $(O)steed.o
|
||||||
VOBJ24 = $(O)sys.o $(O)teleport.o $(O)termcap.o $(O)timeout.o
|
VOBJ24 = $(O)symbols.o $(O)sys.o $(O)teleport.o $(O)termcap.o
|
||||||
VOBJ25 = $(O)topl.o $(O)topten.o $(O)track.o $(O)trap.o
|
VOBJ25 = $(O)timeout.o $(O)topl.o $(O)topten.o $(O)track.o
|
||||||
VOBJ26 = $(O)u_init.o $(O)uhitm.o $(O)vault.o $(O)vision.o
|
VOBJ26 = $(O)trap.o $(O)u_init.o $(O)uhitm.o $(O)vault.o
|
||||||
VOBJ27 = $(O)vis_tab.o $(O)weapon.o $(O)were.o $(O)wield.o
|
VOBJ27 = $(O)vision.o $(O)vis_tab.o $(O)weapon.o $(O)were.o
|
||||||
VOBJ28 = $(O)windows.o $(O)wintty.o $(O)wizard.o $(O)worm.o
|
VOBJ28 = $(O)wield.o $(O)windows.o $(O)wintty.o $(O)wizard.o
|
||||||
VOBJ29 = $(O)worn.o $(O)write.o $(O)zap.o
|
VOBJ29 = $(O)worm.o $(O)worn.o $(O)write.o $(O)zap.o
|
||||||
VOBJ30 = $(REGEX) $(VIDEO_OBJ)
|
VOBJ30 = $(REGEX) $(VIDEO_OBJ)
|
||||||
|
|
||||||
SOBJ = $(O)msdos.o $(O)pcsys.o $(O)tty.o $(O)unix.o \
|
SOBJ = $(O)msdos.o $(O)pcsys.o $(O)tty.o $(O)unix.o \
|
||||||
@@ -1071,7 +1031,7 @@ $(O)dog.o: dog.c $(HACK_H)
|
|||||||
$(O)dogmove.o: dogmove.c $(HACK_H) $(INCL)/mfndpos.h
|
$(O)dogmove.o: dogmove.c $(HACK_H) $(INCL)/mfndpos.h
|
||||||
$(O)dokick.o: dokick.c $(HACK_H)
|
$(O)dokick.o: dokick.c $(HACK_H)
|
||||||
$(O)dothrow.o: dothrow.c $(HACK_H)
|
$(O)dothrow.o: dothrow.c $(HACK_H)
|
||||||
$(O)drawing.o: drawing.c $(HACK_H) $(INCL)/tcap.h
|
$(O)drawing.o: drawing.c $(CONFIG_H) $(INCL)/tcap.h
|
||||||
$(O)dungeon.o: dungeon.c $(HACK_H) $(INCL)/dgn_file.h $(INCL)/dlb.h
|
$(O)dungeon.o: dungeon.c $(HACK_H) $(INCL)/dgn_file.h $(INCL)/dlb.h
|
||||||
$(O)eat.o: eat.c $(HACK_H)
|
$(O)eat.o: eat.c $(HACK_H)
|
||||||
$(O)end.o: end.c $(HACK_H) $(INCL)/dlb.h
|
$(O)end.o: end.c $(HACK_H) $(INCL)/dlb.h
|
||||||
@@ -1144,6 +1104,7 @@ $(O)sp_lev.o: sp_lev.c $(HACK_H) $(INCL)/dlb.h $(INCL)/sp_lev.h
|
|||||||
$(O)spell.o: spell.c $(HACK_H)
|
$(O)spell.o: spell.c $(HACK_H)
|
||||||
$(O)steal.o: steal.c $(HACK_H)
|
$(O)steal.o: steal.c $(HACK_H)
|
||||||
$(O)steed.o: steed.c $(HACK_H)
|
$(O)steed.o: steed.c $(HACK_H)
|
||||||
|
$(O)symbols.o: symbols.c $(HACK_H)
|
||||||
$(O)sys.o: sys.c $(HACK_H)
|
$(O)sys.o: sys.c $(HACK_H)
|
||||||
$(O)teleport.o: teleport.c $(HACK_H)
|
$(O)teleport.o: teleport.c $(HACK_H)
|
||||||
$(O)timeout.o: timeout.c $(HACK_H)
|
$(O)timeout.o: timeout.c $(HACK_H)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# NetHack Makefile.
|
# NetHack Makefile.
|
||||||
# NetHack 3.6 Makefile.src $NHDT-Date: 1575932543 2019/12/09 23:02:23 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.87 $
|
# NetHack 3.6 Makefile.src $NHDT-Date: 1588776919 2020/05/06 14:55:19 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.97 $
|
||||||
# Copyright (c) 2018 by Pasi Kallinen
|
# Copyright (c) 2018 by Pasi Kallinen
|
||||||
# NetHack may be freely redistributed. See license for details.
|
# NetHack may be freely redistributed. See license for details.
|
||||||
|
|
||||||
@@ -455,8 +455,8 @@ HACKCSRC = allmain.c alloc.c apply.c artifact.c attrib.c ball.c bones.c \
|
|||||||
priest.c quest.c questpgr.c read.c rect.c region.c restore.c \
|
priest.c quest.c questpgr.c read.c rect.c region.c restore.c \
|
||||||
rip.c rnd.c role.c rumors.c save.c sfstruct.c \
|
rip.c rnd.c role.c rumors.c save.c sfstruct.c \
|
||||||
shk.c shknam.c sit.c sounds.c \
|
shk.c shknam.c sit.c sounds.c \
|
||||||
sp_lev.c spell.c steal.c steed.c sys.c teleport.c timeout.c \
|
sp_lev.c spell.c steal.c steed.c symbols.c sys.c teleport.c \
|
||||||
topten.c track.c trap.c u_init.c \
|
timeout.c topten.c track.c trap.c u_init.c \
|
||||||
uhitm.c vault.c version.c vision.c weapon.c were.c wield.c \
|
uhitm.c vault.c version.c vision.c weapon.c were.c wield.c \
|
||||||
windows.c wizard.c worm.c worn.c write.c zap.c
|
windows.c wizard.c worm.c worn.c write.c zap.c
|
||||||
|
|
||||||
@@ -522,7 +522,7 @@ HOBJ = $(FIRSTOBJ) allmain.o alloc.o apply.o artifact.o attrib.o ball.o \
|
|||||||
pager.o pickup.o pline.o polyself.o potion.o pray.o priest.o \
|
pager.o pickup.o pline.o polyself.o potion.o pray.o priest.o \
|
||||||
quest.o questpgr.o read.o rect.o region.o restore.o rip.o rnd.o \
|
quest.o questpgr.o read.o rect.o region.o restore.o rip.o rnd.o \
|
||||||
role.o rumors.o save.o sfstruct.o \
|
role.o rumors.o save.o sfstruct.o \
|
||||||
shk.o shknam.o sit.o sounds.o sp_lev.o spell.o sys.o \
|
shk.o shknam.o sit.o sounds.o sp_lev.o spell.o symbols.o sys.o \
|
||||||
steal.o steed.o teleport.o timeout.o topten.o track.o trap.o u_init.o \
|
steal.o steed.o teleport.o timeout.o topten.o track.o trap.o u_init.o \
|
||||||
uhitm.o vault.o vision.o vis_tab.o weapon.o were.o wield.o windows.o \
|
uhitm.o vault.o vision.o vis_tab.o weapon.o were.o wield.o windows.o \
|
||||||
wizard.o worm.o worn.o write.o zap.o \
|
wizard.o worm.o worn.o write.o zap.o \
|
||||||
@@ -1065,7 +1065,7 @@ dog.o: dog.c $(HACK_H)
|
|||||||
dogmove.o: dogmove.c $(HACK_H) ../include/mfndpos.h
|
dogmove.o: dogmove.c $(HACK_H) ../include/mfndpos.h
|
||||||
dokick.o: dokick.c $(HACK_H)
|
dokick.o: dokick.c $(HACK_H)
|
||||||
dothrow.o: dothrow.c $(HACK_H)
|
dothrow.o: dothrow.c $(HACK_H)
|
||||||
drawing.o: drawing.c $(HACK_H) ../include/tcap.h
|
drawing.o: drawing.c $(CONFIG_H) ../include/tcap.h
|
||||||
dungeon.o: dungeon.c $(HACK_H) ../include/dgn_file.h ../include/dlb.h
|
dungeon.o: dungeon.c $(HACK_H) ../include/dgn_file.h ../include/dlb.h
|
||||||
eat.o: eat.c $(HACK_H)
|
eat.o: eat.c $(HACK_H)
|
||||||
end.o: end.c $(HACK_H) ../include/dlb.h
|
end.o: end.c $(HACK_H) ../include/dlb.h
|
||||||
@@ -1148,6 +1148,7 @@ sp_lev.o: sp_lev.c $(HACK_H) ../include/sp_lev.h
|
|||||||
spell.o: spell.c $(HACK_H)
|
spell.o: spell.c $(HACK_H)
|
||||||
steal.o: steal.c $(HACK_H)
|
steal.o: steal.c $(HACK_H)
|
||||||
steed.o: steed.c $(HACK_H)
|
steed.o: steed.c $(HACK_H)
|
||||||
|
symbols.o: symbols.c $(HACK_H)
|
||||||
sys.o: sys.c $(HACK_H)
|
sys.o: sys.c $(HACK_H)
|
||||||
teleport.o: teleport.c $(HACK_H)
|
teleport.o: teleport.c $(HACK_H)
|
||||||
timeout.o: timeout.c $(HACK_H)
|
timeout.o: timeout.c $(HACK_H)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Makefile for NetHack's utility programs.
|
# Makefile for NetHack's utility programs.
|
||||||
# NetHack 3.6 Makefile.utl $NHDT-Date: 1576976264 2019/12/22 00:57:44 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.49 $
|
# NetHack 3.6 Makefile.utl $NHDT-Date: 1588776926 2020/05/06 14:55:26 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.50 $
|
||||||
# Copyright (c) 2018 by Robert Patrick Rankin
|
# Copyright (c) 2018 by Robert Patrick Rankin
|
||||||
# NetHack may be freely redistributed. See license for details.
|
# NetHack may be freely redistributed. See license for details.
|
||||||
|
|
||||||
@@ -171,8 +171,8 @@ UTILSRCS = $(MAKESRC) panic.c $(DGNCOMPSRC) $(RECOVSRC) $(DLBSRC)
|
|||||||
CMONOBJ = ../src/monst.c ../src/objects.c
|
CMONOBJ = ../src/monst.c ../src/objects.c
|
||||||
OMONOBJ = $(OBJDIR)/monst.o $(OBJDIR)/objects.o
|
OMONOBJ = $(OBJDIR)/monst.o $(OBJDIR)/objects.o
|
||||||
# files that provide access to NetHack's names
|
# files that provide access to NetHack's names
|
||||||
CNAMING = ../src/drawing.c ../src/decl.c $(CMONOBJ)
|
CNAMING = ../src/drawing.c $(CMONOBJ)
|
||||||
ONAMING = $(OBJDIR)/drawing.o $(OBJDIR)/decl.o $(OMONOBJ)
|
ONAMING = $(OBJDIR)/drawing.o $(OMONOBJ)
|
||||||
# dynamic memory allocation
|
# dynamic memory allocation
|
||||||
CALLOC = ../src/alloc.c panic.c
|
CALLOC = ../src/alloc.c panic.c
|
||||||
OALLOC = $(OBJDIR)/alloc.o panic.o
|
OALLOC = $(OBJDIR)/alloc.o panic.o
|
||||||
|
|||||||
+78
-109
@@ -98,8 +98,8 @@ GAMEDIR = ..\binary # Default game build directory
|
|||||||
# PDCurses header (.h) files and PDCURSES_C to the location
|
# PDCurses header (.h) files and PDCURSES_C to the location
|
||||||
# of your PDCurses C files.
|
# of your PDCurses C files.
|
||||||
#
|
#
|
||||||
ADD_CURSES=Y
|
#ADD_CURSES=Y
|
||||||
PDCURSES_TOP=..\lib\pdcurses
|
#PDCURSES_TOP=..\lib\pdcurses
|
||||||
#
|
#
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# OPTIONAL - zlib support (to allow compressed savefile exchange across platforms
|
# OPTIONAL - zlib support (to allow compressed savefile exchange across platforms
|
||||||
@@ -244,15 +244,15 @@ O = $(OBJ)^\
|
|||||||
U = $(UTIL)^\
|
U = $(UTIL)^\
|
||||||
|
|
||||||
!IFDEF TEST_CROSSCOMPILE
|
!IFDEF TEST_CROSSCOMPILE
|
||||||
CROSSCOMPILE_TARGET = -DCROSSCOMPILE_TARGET
|
|
||||||
CROSSCOMPILE_HOST = -DCROSSCOMPILE_HOST
|
|
||||||
CROSSCOMPILE = -DCROSSCOMPILE
|
|
||||||
HOST=_host
|
HOST=_host
|
||||||
|
CROSSCOMPILE_TARGET= -DCROSSCOMPILE_TARGET
|
||||||
|
CROSSCOMPILE_HOST= -DCROSSCOMPILE_HOST
|
||||||
|
CROSSCOMPILE= -DCROSSCOMPILE
|
||||||
!ELSE
|
!ELSE
|
||||||
!UNDEF CROSSCOMPILE_TARGET
|
HOST=
|
||||||
!UNDEF CROSSCOMPILE_HOST
|
CROSSCOMPILE_TARGET=
|
||||||
!UNDEF CROSSCOMPILE
|
CROSSCOMPILE_HOST=
|
||||||
!UNDEF HOST
|
CROSSCOMPILE=
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -261,7 +261,7 @@ HOST=_host
|
|||||||
|
|
||||||
MAKESRC = $(U)makedefs.c
|
MAKESRC = $(U)makedefs.c
|
||||||
|
|
||||||
MAKEDEFSOBJS = $(O)makedefs$(HOST).o $(O)monst$(HOST).o $(O)objects$(HOST).o
|
MAKEDEFSOBJS = $(O)makedefs.o $(O)monst$(HOST).o $(O)objects$(HOST).o
|
||||||
|
|
||||||
RECOVOBJS = $(O)recover.o
|
RECOVOBJS = $(O)recover.o
|
||||||
|
|
||||||
@@ -271,26 +271,16 @@ TILEFILES = $(WSHR)\monsters.txt $(WSHR)\objects.txt $(WSHR)\other.txt
|
|||||||
# These are not invoked during a normal game build in 3.4
|
# These are not invoked during a normal game build in 3.4
|
||||||
#
|
#
|
||||||
|
|
||||||
!IFDEF CROSSCOMPILE_HOST
|
TEXT_IO = $(O)tiletext.o $(O)tiletxt.o $(O)drawing$(HOST).o \
|
||||||
DO_UTILS = Y
|
|
||||||
!ELSE IFNDEF CROSSCOMPILE
|
|
||||||
DO_UTILS = Y
|
|
||||||
!ELSE
|
|
||||||
DO_UTILS = N
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
!IF "$(DO_UTILS)" == "Y"
|
|
||||||
TEXT_IO = $(O)tiletext$(HOST).o $(O)tiletxt$(HOST).o $(O)drawing$(HOST).o \
|
|
||||||
$(O)monst$(HOST).o $(O)objects$(HOST).o
|
$(O)monst$(HOST).o $(O)objects$(HOST).o
|
||||||
|
|
||||||
TEXT_IO32 = $(O)tilete32$(HOST).o $(O)tiletx32$(HOST).o $(O)drawing$(HOST).o \
|
TEXT_IO32 = $(O)tilete32.o $(O)tiletx32.o $(O)drawing$(HOST).o \
|
||||||
$(O)monst$(HOST).o $(O)objects$(HOST).o
|
$(O)monst$(HOST).o $(O)objects$(HOST).o
|
||||||
|
|
||||||
GIFREADERS = $(O)gifread$(HOST).o $(O)alloc$(HOST).o $(O)panic$(HOST).o
|
GIFREADERS_HOST = $(O)gifread.o $(O)alloc$(HOST).o $(O)panic$(HOST).o
|
||||||
GIFREADERS32 = $(O)gifrd32$(HOST).o $(O)alloc$(HOST).o $(O)panic$(HOST).o
|
GIFREADERS32_HOST = $(O)gifrd32.o $(O)alloc$(HOST).o $(O)panic$(HOST).o
|
||||||
|
|
||||||
PPMWRITERS = $(O)ppmwrite$(HOST).o $(O)alloc$(HOST).o $(O)panic$(HOST).o
|
PPMWRITERS = $(O)ppmwrite.o $(O)alloc$(HOST).o $(O)panic$(HOST).o
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Object files for the game itself.
|
# Object files for the game itself.
|
||||||
@@ -318,16 +308,16 @@ VOBJ19 = $(O)read.o $(O)rect.o $(O)region.o $(O)restore.o
|
|||||||
VOBJ20 = $(O)rip.o $(O)rnd.o $(O)role.o $(O)rumors.o
|
VOBJ20 = $(O)rip.o $(O)rnd.o $(O)role.o $(O)rumors.o
|
||||||
VOBJ21 = $(O)save.o $(O)sfstruct.o $(O)shk.o $(O)shknam.o
|
VOBJ21 = $(O)save.o $(O)sfstruct.o $(O)shk.o $(O)shknam.o
|
||||||
VOBJ22 = $(O)sit.o $(O)sounds.o $(O)sp_lev.o $(O)spell.o
|
VOBJ22 = $(O)sit.o $(O)sounds.o $(O)sp_lev.o $(O)spell.o
|
||||||
VOBJ23 = $(O)steal.o $(O)steed.o $(O)sys.o $(O)teleport.o
|
VOBJ23 = $(O)steal.o $(O)steed.o $(O)symbols.o $(O)sys.o
|
||||||
VOBJ24 = $(O)timeout.o $(O)topten.o $(O)track.o $(O)trap.o
|
VOBJ24 = $(O)teleport.o $(O)timeout.o $(O)topten.o $(O)track.o
|
||||||
VOBJ25 = $(O)u_init.o $(O)uhitm.o $(O)vault.o $(O)vis_tab.o
|
VOBJ25 = $(O)trap.o $(O)u_init.o $(O)uhitm.o $(O)vault.o
|
||||||
VOBJ26 = $(O)vision.o $(O)weapon.o $(O)were.o $(O)wield.o
|
VOBJ26 = $(O)vis_tab.o $(O)vision.o $(O)weapon.o $(O)were.o
|
||||||
VOBJ27 = $(O)windows.o $(O)wizard.o $(O)worm.o $(O)worn.o
|
VOBJ27 = $(O)wield.o $(O)windows.o $(O)wizard.o $(O)worm.o
|
||||||
VOBJ28 = $(O)write.o $(O)zap.o
|
VOBJ28 = $(O)worn.o $(O)write.o $(O)zap.o
|
||||||
|
|
||||||
LUAOBJ = $(O)nhlua.o $(O)nhlsel.o $(O)nhlobj.o
|
LUAOBJ = $(O)nhlua.o $(O)nhlsel.o $(O)nhlobj.o
|
||||||
|
|
||||||
!IFDEF CROSSCOMPILE_HOST
|
!IFDEF TEST_CROSSCOMPILE
|
||||||
DLBOBJ_HOST = $(O)dlb$(HOST).o
|
DLBOBJ_HOST = $(O)dlb$(HOST).o
|
||||||
!ENDIF
|
!ENDIF
|
||||||
DLBOBJ = $(O)dlb.o
|
DLBOBJ = $(O)dlb.o
|
||||||
@@ -768,7 +758,7 @@ DLB =
|
|||||||
#==========================================
|
#==========================================
|
||||||
|
|
||||||
{$(UTIL)}.c{$(OBJ)}.o:
|
{$(UTIL)}.c{$(OBJ)}.o:
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ $<
|
@$(cc) $(cflagsBuild) -Fo$@ $<
|
||||||
|
|
||||||
#==========================================
|
#==========================================
|
||||||
# Rules for files in win\share
|
# Rules for files in win\share
|
||||||
@@ -1058,18 +1048,18 @@ $(O)console.res: $(MSWSYS)\console.rc $(MSWSYS)\NetHack.ico
|
|||||||
#==========================================
|
#==========================================
|
||||||
# Makedefs Stuff
|
# Makedefs Stuff
|
||||||
#==========================================
|
#==========================================
|
||||||
$(U)nhsizes3.exe: $(O)nhsizes3$(HOST).o
|
$(U)nhsizes3.exe: $(O)nhsizes3.o
|
||||||
@echo Linking $(@:\=/)
|
@echo Linking $(@:\=/)
|
||||||
$(link) $(lflagsBuild) -out:$@ $(O)nhsizes$(HOST).o $(O)panic$(HOST).o $(O)alloc$(HOST).o
|
$(link) $(lflagsBuild) -out:$@ $(O)nhsizes.o $(O)panic$(HOST).o $(O)alloc$(HOST).o
|
||||||
|
|
||||||
$(O)nhsizes3$(HOST).o: $(CONFIG_H) nhsizes3.c
|
$(O)nhsizes3.o: $(CONFIG_H) nhsizes3.c
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ nhsizes3.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ nhsizes3.c
|
||||||
|
|
||||||
$(U)makedefs.exe: $(MAKEDEFSOBJS)
|
$(U)makedefs.exe: $(MAKEDEFSOBJS)
|
||||||
@echo Linking $(@:\=/)
|
@echo Linking $(@:\=/)
|
||||||
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(MAKEDEFSOBJS)
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(MAKEDEFSOBJS)
|
||||||
|
|
||||||
$(O)makedefs$(HOST).o: $(U)makedefs.c $(SRC)\mdlib.c $(CONFIG_H) $(INCL)\permonst.h \
|
$(O)makedefs.o: $(U)makedefs.c $(SRC)\mdlib.c $(CONFIG_H) $(INCL)\permonst.h \
|
||||||
$(INCL)\objclass.h $(INCL)\monsym.h \
|
$(INCL)\objclass.h $(INCL)\monsym.h \
|
||||||
$(INCL)\artilist.h $(INCL)\dungeon.h $(INCL)\obj.h \
|
$(INCL)\artilist.h $(INCL)\dungeon.h $(INCL)\obj.h \
|
||||||
$(INCL)\monst.h $(INCL)\you.h $(INCL)\flag.h \
|
$(INCL)\monst.h $(INCL)\you.h $(INCL)\flag.h \
|
||||||
@@ -1103,11 +1093,11 @@ $(SRC)\vis_tab.c: $(U)makedefs.exe
|
|||||||
# uudecode utility and uuencoded targets
|
# uudecode utility and uuencoded targets
|
||||||
#==========================================
|
#==========================================
|
||||||
|
|
||||||
$(U)uudecode.exe: $(O)uudecode$(HOST).o
|
$(U)uudecode.exe: $(O)uudecode.o
|
||||||
@echo Linking $(@:\=/)
|
@echo Linking $(@:\=/)
|
||||||
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(O)uudecode$(HOST).o
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(O)uudecode.o
|
||||||
|
|
||||||
$(O)uudecode$(HOST).o: $(SSYS)\uudecode.c
|
$(O)uudecode.o: $(SSYS)\uudecode.c
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) /D_CRT_SECURE_NO_DEPRECATE -Fo$@ $(SSYS)\uudecode.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) /D_CRT_SECURE_NO_DEPRECATE -Fo$@ $(SSYS)\uudecode.c
|
||||||
|
|
||||||
$(MSWSYS)\NetHack.ico : $(U)uudecode.exe $(MSWSYS)\nhico.uu
|
$(MSWSYS)\NetHack.ico : $(U)uudecode.exe $(MSWSYS)\nhico.uu
|
||||||
@@ -1205,15 +1195,15 @@ $(U)dlb.exe: $(DLBOBJ_HOST) $(O)dlb$(HOST).o
|
|||||||
$(O)panic$(HOST).o
|
$(O)panic$(HOST).o
|
||||||
<<
|
<<
|
||||||
|
|
||||||
!IFDEF CROSSCOMPILE_HOST
|
!IFDEF TEST_CROSSCOMPILE
|
||||||
$(O)dlb$(HOST).o: $(O)dlb_main$(HOST).o $(O)alloc$(HOST).o $(O)panic$(HOST).o $(INCL)\dlb.h
|
$(O)dlb$(HOST).o: $(O)dlb_main$(HOST).o $(O)alloc$(HOST).o $(O)panic$(HOST).o $(INCL)\dlb.h
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) /Fo$@ $(SRC)\dlb.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) /Fo$@ $(SRC)\dlb.c
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
$(O)dlb.o: $(O)dlb_main.o $(O)alloc.o $(O)panic.o $(INCL)\dlb.h
|
$(O)dlb.o: $(O)dlb_main.o $(O)alloc.o $(O)panic.o $(INCL)\dlb.h
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) /Fo$@ $(SRC)\dlb.c
|
@$(cc) $(cflagsBuild) /Fo$@ $(SRC)\dlb.c
|
||||||
|
|
||||||
!IFDEF CROSSCOMPILE_HOST
|
!IFDEF TEST_CROSSCOMPILE
|
||||||
$(O)dlb_main$(HOST).o: $(UTIL)\dlb_main.c $(INCL)\config.h $(INCL)\dlb.h
|
$(O)dlb_main$(HOST).o: $(UTIL)\dlb_main.c $(INCL)\config.h $(INCL)\dlb.h
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) /Fo$@ $(UTIL)\dlb_main.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) /Fo$@ $(UTIL)\dlb_main.c
|
||||||
!ENDIF
|
!ENDIF
|
||||||
@@ -1261,61 +1251,61 @@ $(U)recover.exe: $(RECOVOBJS)
|
|||||||
$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(RECOVOBJS)
|
$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(RECOVOBJS)
|
||||||
|
|
||||||
$(O)recover.o: $(CONFIG_H) $(U)recover.c $(MSWSYS)\win32api.h
|
$(O)recover.o: $(CONFIG_H) $(U)recover.c $(MSWSYS)\win32api.h
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ $(U)recover.c
|
@$(cc) $(cflagsBuild) -Fo$@ $(U)recover.c
|
||||||
|
|
||||||
#==========================================
|
#==========================================
|
||||||
# Tile Mapping
|
# Tile Mapping
|
||||||
#==========================================
|
#==========================================
|
||||||
|
|
||||||
$(SRC)\tile.c: $(U)tilemap.exe
|
$(SRC)\tile.c: $(U)tilemap.exe
|
||||||
@echo A new $(@:\=/) has been created
|
|
||||||
@$(U)tilemap
|
@$(U)tilemap
|
||||||
|
@echo A new $(@:\=/) has been created
|
||||||
|
|
||||||
$(U)tilemap.exe: $(O)tilemap$(HOST).o
|
$(U)tilemap.exe: $(O)tilemap.o
|
||||||
@echo Linking $(@:\=/)
|
@echo Linking $(@:\=/)
|
||||||
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(O)tilemap$(HOST).o
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ $(O)tilemap.o
|
||||||
|
|
||||||
$(O)tilemap$(HOST).o: $(WSHR)\tilemap.c $(HACK_H)
|
$(O)tilemap.o: $(WSHR)\tilemap.c $(HACK_H)
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ $(WSHR)\tilemap.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ $(WSHR)\tilemap.c
|
||||||
|
|
||||||
$(O)tiletx32$(HOST).o: $(WSHR)\tilemap.c $(HACK_H)
|
$(O)tiletx32.o: $(WSHR)\tilemap.c $(HACK_H)
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) /DTILETEXT /DTILE_X=32 /DTILE_Y=32 -Fo$@ $(WSHR)\tilemap.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) /DTILETEXT /DTILE_X=32 /DTILE_Y=32 -Fo$@ $(WSHR)\tilemap.c
|
||||||
|
|
||||||
$(O)tiletxt$(HOST).o: $(WSHR)\tilemap.c $(HACK_H)
|
$(O)tiletxt.o: $(WSHR)\tilemap.c $(HACK_H)
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) /DTILETEXT -Fo$@ $(WSHR)\tilemap.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) /DTILETEXT -Fo$@ $(WSHR)\tilemap.c
|
||||||
|
|
||||||
$(O)gifread$(HOST).o: $(WSHR)\gifread.c $(CONFIG_H) $(TILE_H)
|
$(O)gifread.o: $(WSHR)\gifread.c $(CONFIG_H) $(TILE_H)
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) -Fo$@ $(WSHR)\gifread.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) -Fo$@ $(WSHR)\gifread.c
|
||||||
|
|
||||||
$(O)gifrd32$(HOST).o: $(WSHR)\gifread.c $(CONFIG_H) $(TILE_H)
|
$(O)gifrd32.o: $(WSHR)\gifread.c $(CONFIG_H) $(TILE_H)
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) /DTILE_X=32 /DTILE_Y=32 -Fo$@ $(WSHR)\gifread.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) /DTILE_X=32 /DTILE_Y=32 -Fo$@ $(WSHR)\gifread.c
|
||||||
|
|
||||||
$(O)ppmwrite$(HOST).o: $(WSHR)\ppmwrite.c $(CONFIG_H) $(TILE_H)
|
$(O)ppmwrite.o: $(WSHR)\ppmwrite.c $(CONFIG_H) $(TILE_H)
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) -Fo$@ $(WSHR)\ppmwrite.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) -Fo$@ $(WSHR)\ppmwrite.c
|
||||||
|
|
||||||
$(O)tiletext$(HOST).o: $(WSHR)\tiletext.c $(CONFIG_H) $(TILE_H)
|
$(O)tiletext.o: $(WSHR)\tiletext.c $(CONFIG_H) $(TILE_H)
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) -Fo$@ $(WSHR)\tiletext.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) -Fo$@ $(WSHR)\tiletext.c
|
||||||
|
|
||||||
$(O)tilete32$(HOST).o: $(WSHR)\tiletext.c $(CONFIG_H) $(TILE_H)
|
$(O)tilete32.o: $(WSHR)\tiletext.c $(CONFIG_H) $(TILE_H)
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) /DTILE_X=32 /DTILE_Y=32 -Fo$@ $(WSHR)\tiletext.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) /DTILE_X=32 /DTILE_Y=32 -Fo$@ $(WSHR)\tiletext.c
|
||||||
|
|
||||||
#==========================================
|
#==========================================
|
||||||
# Optional Tile Utilities
|
# Optional Tile Utilities
|
||||||
#==========================================
|
#==========================================
|
||||||
|
|
||||||
$(U)gif2txt.exe: $(GIFREADERS) $(TEXT_IO)
|
$(U)gif2txt.exe: $(GIFREADERS_HOST) $(TEXT_IO)
|
||||||
@echo Linking $(@:\=/)
|
@echo Linking $(@:\=/)
|
||||||
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
||||||
$(GIFREADERS:^ =^
|
$(GIFREADERS_HOST:^ =^
|
||||||
)
|
)
|
||||||
$(TEXT_IO:^ =^
|
$(TEXT_IO:^ =^
|
||||||
)
|
)
|
||||||
<<
|
<<
|
||||||
|
|
||||||
$(U)gif2tx32.exe: $(GIFREADERS32) $(TEXT_IO32)
|
$(U)gif2tx32.exe: $(GIFREADERS32_HOST) $(TEXT_IO32)
|
||||||
@echo Linking $(@:\=/)
|
@echo Linking $(@:\=/)
|
||||||
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
||||||
$(GIFREADERS32:^ =^
|
$(GIFREADERS32_HOST:^ =^
|
||||||
)
|
)
|
||||||
$(TEXT_IO32:^ =^
|
$(TEXT_IO32:^ =^
|
||||||
)
|
)
|
||||||
@@ -1339,26 +1329,26 @@ $(TILEBMP16): $(TILEUTIL16) $(TILEFILES)
|
|||||||
# @$(U)til2bm32 $(TILEBMP32)
|
# @$(U)til2bm32 $(TILEBMP32)
|
||||||
|
|
||||||
|
|
||||||
$(U)tile2bmp.exe: $(O)tile2bmp$(HOST).o $(TEXT_IO)
|
$(U)tile2bmp.exe: $(O)tile2bmp.o $(TEXT_IO)
|
||||||
@echo Linking $(@:\=/)
|
@echo Linking $(@:\=/)
|
||||||
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
||||||
$(O)tile2bmp$(HOST).o
|
$(O)tile2bmp.o
|
||||||
$(TEXT_IO:^ =^
|
$(TEXT_IO:^ =^
|
||||||
)
|
)
|
||||||
<<
|
<<
|
||||||
|
|
||||||
$(U)til2bm32.exe: $(O)til2bm32$(HOST).o $(TEXT_IO32)
|
$(U)til2bm32.exe: $(O)til2bm32.o $(TEXT_IO32)
|
||||||
@echo Linking $(@:\=/)
|
@echo Linking $(@:\=/)
|
||||||
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
@$(link) $(lflagsBuild) /PDB:"$(O)$(@B).PDB" /MAP:"$(O)$(@B).MAP" -out:$@ @<<$(@B).lnk
|
||||||
$(O)til2bm32$(HOST).o
|
$(O)til2bm32.o
|
||||||
$(TEXT_IO32:^ =^
|
$(TEXT_IO32:^ =^
|
||||||
)
|
)
|
||||||
<<
|
<<
|
||||||
|
|
||||||
$(O)tile2bmp$(HOST).o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(MSWSYS)\win32api.h
|
$(O)tile2bmp.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(MSWSYS)\win32api.h
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) /DPACKED_FILE /Fo$@ $(WSHR)\tile2bmp.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) /DPACKED_FILE /Fo$@ $(WSHR)\tile2bmp.c
|
||||||
|
|
||||||
$(O)til2bm32$(HOST).o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(MSWSYS)\win32api.h
|
$(O)til2bm32.o: $(WSHR)\tile2bmp.c $(HACK_H) $(TILE_H) $(MSWSYS)\win32api.h
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) /DPACKED_FILE /DTILE_X=32 /DTILE_Y=32 /Fo$@ $(WSHR)\tile2bmp.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -I$(WSHR) /DPACKED_FILE /DTILE_X=32 /DTILE_Y=32 /Fo$@ $(WSHR)\tile2bmp.c
|
||||||
|
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
@@ -1482,14 +1472,14 @@ $(O)sfstruct.o: $(HACK_H) $(SRC)\sfstruct.c
|
|||||||
# data file.
|
# data file.
|
||||||
#
|
#
|
||||||
|
|
||||||
!IFDEF CROSSCOMPILE_HOST
|
!IFDEF TEST_CROSSCOMPILE
|
||||||
$(O)mdlib$(HOST).o: $(SRC)\mdlib.c
|
$(O)mdlib$(HOST).o: $(SRC)\mdlib.c
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSDEFINE_HOST) -Fo$@ $(SRC)\mdlib.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ $(SRC)\mdlib.c
|
||||||
!ENDIF
|
!ENDIF
|
||||||
|
|
||||||
$(O)mdlib.o: $(SRC)\mdlib.c
|
$(O)mdlib.o: $(SRC)\mdlib.c
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $(SRC)\mdlib.c
|
@$(cc) $(cflagsBuild) -Fo$@ $(SRC)\mdlib.c
|
||||||
# @$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) /EP -Fo$@ $(SRC)\mdlib.c >mdlib.c.preprocessed
|
# @$(cc) $(cflagsBuild) /EP -Fo$@ $(SRC)\mdlib.c >mdlib.c.preprocessed
|
||||||
|
|
||||||
#============================================
|
#============================================
|
||||||
# util dual-role CROSSCOMPILE dependencies
|
# util dual-role CROSSCOMPILE dependencies
|
||||||
@@ -1497,64 +1487,41 @@ $(O)mdlib.o: $(SRC)\mdlib.c
|
|||||||
#
|
#
|
||||||
# These have dual-roles and need to be build for host and target platforms.
|
# These have dual-roles and need to be build for host and target platforms.
|
||||||
#
|
#
|
||||||
!IFDEF CROSSCOMPILE_HOST
|
$(O)panic_host.o: $(U)panic.c $(CONFIG_H)
|
||||||
$(O)panic$(HOST).o: $(U)panic.c $(CONFIG_H)
|
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ $(U)panic.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ $(U)panic.c
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
$(O)panic.o: $(U)panic.c $(CONFIG_H)
|
$(O)panic.o: $(U)panic.c $(CONFIG_H)
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ $(U)panic.c
|
@$(cc) $(cflagsBuild) -Fo$@ $(U)panic.c
|
||||||
|
|
||||||
|
$(O)drawing_host.o: drawing.c $(HACK_H) $(INCL)\tcap.h
|
||||||
!IFDEF CROSSCOMPILE_HOST
|
|
||||||
$(O)drawing$(HOST).o: drawing.c $(HACK_H) $(INCL)\tcap.h
|
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ drawing.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ drawing.c
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
$(O)drawing.o: drawing.c $(HACK_H) $(INCL)\tcap.h
|
$(O)drawing.o: drawing.c $(HACK_H) $(INCL)\tcap.h
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ drawing.c
|
@$(cc) $(cflagsBuild) -Fo$@ drawing.c
|
||||||
|
|
||||||
!IFDEF CROSSCOMPILE_HOST
|
$(O)monst_host.o: monst.c $(CONFIG_H) $(INCL)\permonst.h $(INCL)\align.h \
|
||||||
$(O)decl$(HOST).o: decl.c $(HACK_H)
|
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ decl.c
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
$(O)decl.o: decl.c $(HACK_H)
|
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ decl.c
|
|
||||||
|
|
||||||
!IFDEF CROSSCOMPILE_HOST
|
|
||||||
$(O)monst$(HOST).o: monst.c $(CONFIG_H) $(INCL)\permonst.h $(INCL)\align.h \
|
|
||||||
$(INCL)\monattk.h $(INCL)\monflag.h $(INCL)\monsym.h \
|
$(INCL)\monattk.h $(INCL)\monflag.h $(INCL)\monsym.h \
|
||||||
$(INCL)\color.h
|
$(INCL)\color.h
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ monst.c
|
@$(cc) $(cflagsBuild) -Fo$@ monst.c
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
$(O)monst.o: monst.c $(CONFIG_H) $(INCL)\permonst.h $(INCL)\align.h \
|
$(O)monst.o: monst.c $(CONFIG_H) $(INCL)\permonst.h $(INCL)\align.h \
|
||||||
$(INCL)\monattk.h $(INCL)\monflag.h $(INCL)\monsym.h \
|
$(INCL)\monattk.h $(INCL)\monflag.h $(INCL)\monsym.h \
|
||||||
$(INCL)\color.h
|
$(INCL)\color.h
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ monst.c
|
@$(cc) $(cflagsBuild) -Fo$@ monst.c
|
||||||
|
|
||||||
!IFDEF CROSSCOMPILE_HOST
|
$(O)objects_host.o: objects.c $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
|
||||||
$(O)objects$(HOST).o: objects.c $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
|
|
||||||
$(INCL)\prop.h $(INCL)\skills.h $(INCL)\color.h
|
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_HOST) -Fo$@ objects.c
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
$(O)objects.o: objects.c $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
|
|
||||||
$(INCL)\prop.h $(INCL)\skills.h $(INCL)\color.h
|
$(INCL)\prop.h $(INCL)\skills.h $(INCL)\color.h
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ objects.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ objects.c
|
||||||
|
|
||||||
!IFDEF CROSSCOMPILE_HOST
|
$(O)objects.o: objects.c $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
|
||||||
$(O)alloc$(HOST).o: alloc.c $(CONFIG_H)
|
$(INCL)\prop.h $(INCL)\skills.h $(INCL)\color.h
|
||||||
|
@$(cc) $(cflagsBuild) -Fo$@ objects.c
|
||||||
|
|
||||||
|
$(O)alloc_host.o: alloc.c $(CONFIG_H)
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ alloc.c
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ alloc.c
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
$(O)alloc.o: alloc.c $(CONFIG_H)
|
$(O)alloc.o: alloc.c $(CONFIG_H)
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ alloc.c
|
@$(cc) $(cflagsBuild) -Fo$@ alloc.c
|
||||||
|
|
||||||
$(O)version.o: version.c $(HACK_H) $(INCL)\dlb.h $(INCL)\date.h \
|
|
||||||
$(INCL)\patchlevel.h
|
|
||||||
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ version.c
|
|
||||||
|
|
||||||
#===================================================================
|
#===================================================================
|
||||||
# DAT dependencies
|
# DAT dependencies
|
||||||
@@ -2006,7 +1973,7 @@ $(O)dog.o: dog.c $(HACK_H)
|
|||||||
$(O)dogmove.o: dogmove.c $(HACK_H) $(INCL)\mfndpos.h
|
$(O)dogmove.o: dogmove.c $(HACK_H) $(INCL)\mfndpos.h
|
||||||
$(O)dokick.o: dokick.c $(HACK_H)
|
$(O)dokick.o: dokick.c $(HACK_H)
|
||||||
$(O)dothrow.o: dothrow.c $(HACK_H)
|
$(O)dothrow.o: dothrow.c $(HACK_H)
|
||||||
$(O)drawing.o: drawing.c $(HACK_H) $(INCL)\tcap.h
|
$(O)drawing.o: drawing.c $(CONFIG_H) $(INCL)\tcap.h
|
||||||
$(O)dungeon.o: dungeon.c $(HACK_H) $(INCL)\dgn_file.h $(INCL)\dlb.h
|
$(O)dungeon.o: dungeon.c $(HACK_H) $(INCL)\dgn_file.h $(INCL)\dlb.h
|
||||||
$(O)eat.o: eat.c $(HACK_H)
|
$(O)eat.o: eat.c $(HACK_H)
|
||||||
$(O)end.o: end.c $(HACK_H) $(INCL)\dlb.h
|
$(O)end.o: end.c $(HACK_H) $(INCL)\dlb.h
|
||||||
@@ -2062,8 +2029,8 @@ $(O)objects.o: objects.c $(CONFIG_H) $(INCL)\obj.h $(INCL)\objclass.h \
|
|||||||
$(O)objnam.o: objnam.c $(HACK_H)
|
$(O)objnam.o: objnam.c $(HACK_H)
|
||||||
$(O)options.o: options.c $(INCL)\optlist.h $(CONFIG_H) $(INCL)\objclass.h $(INCL)\flag.h \
|
$(O)options.o: options.c $(INCL)\optlist.h $(CONFIG_H) $(INCL)\objclass.h $(INCL)\flag.h \
|
||||||
$(HACK_H) $(INCL)\tcap.h
|
$(HACK_H) $(INCL)\tcap.h
|
||||||
$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) /EP options.c >$(@B).preproc
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ options.c
|
||||||
$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ options.c
|
# $(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) /EP options.c >$(@B).preproc
|
||||||
$(O)pager.o: pager.c $(HACK_H) $(INCL)\dlb.h
|
$(O)pager.o: pager.c $(HACK_H) $(INCL)\dlb.h
|
||||||
$(O)pickup.o: pickup.c $(HACK_H)
|
$(O)pickup.o: pickup.c $(HACK_H)
|
||||||
$(O)pline.o: pline.c $(HACK_H)
|
$(O)pline.o: pline.c $(HACK_H)
|
||||||
@@ -2091,6 +2058,7 @@ $(O)sp_lev.o: sp_lev.c $(HACK_H) $(INCL)\sp_lev.h
|
|||||||
$(O)spell.o: spell.c $(HACK_H)
|
$(O)spell.o: spell.c $(HACK_H)
|
||||||
$(O)steal.o: steal.c $(HACK_H)
|
$(O)steal.o: steal.c $(HACK_H)
|
||||||
$(O)steed.o: steed.c $(HACK_H)
|
$(O)steed.o: steed.c $(HACK_H)
|
||||||
|
$(O)symbols.o: symbols.c $(HACK_H)
|
||||||
$(O)sys.o: sys.c $(HACK_H)
|
$(O)sys.o: sys.c $(HACK_H)
|
||||||
$(O)teleport.o: teleport.c $(HACK_H)
|
$(O)teleport.o: teleport.c $(HACK_H)
|
||||||
$(O)timeout.o: timeout.c $(HACK_H)
|
$(O)timeout.o: timeout.c $(HACK_H)
|
||||||
@@ -2102,6 +2070,7 @@ $(O)uhitm.o: uhitm.c $(HACK_H)
|
|||||||
$(O)vault.o: vault.c $(HACK_H)
|
$(O)vault.o: vault.c $(HACK_H)
|
||||||
$(O)version.o: version.c $(HACK_H) $(INCL)\dlb.h $(INCL)\date.h \
|
$(O)version.o: version.c $(HACK_H) $(INCL)\dlb.h $(INCL)\date.h \
|
||||||
$(INCL)\patchlevel.h
|
$(INCL)\patchlevel.h
|
||||||
|
@$(cc) $(cflagsBuild) $(CROSSCOMPILE) $(CROSSCOMPILE_TARGET) -Fo$@ version.c
|
||||||
$(O)vision.o: vision.c $(HACK_H) $(INCL)\vis_tab.h
|
$(O)vision.o: vision.c $(HACK_H) $(INCL)\vis_tab.h
|
||||||
$(O)weapon.o: weapon.c $(HACK_H)
|
$(O)weapon.o: weapon.c $(HACK_H)
|
||||||
$(O)were.o: were.c $(HACK_H)
|
$(O)were.o: were.c $(HACK_H)
|
||||||
|
|||||||
@@ -180,6 +180,7 @@
|
|||||||
<ClCompile Include="$(SrcDir)sp_lev.c" />
|
<ClCompile Include="$(SrcDir)sp_lev.c" />
|
||||||
<ClCompile Include="$(SrcDir)steal.c" />
|
<ClCompile Include="$(SrcDir)steal.c" />
|
||||||
<ClCompile Include="$(SrcDir)steed.c" />
|
<ClCompile Include="$(SrcDir)steed.c" />
|
||||||
|
<ClCompile Include="$(SrcDir)symbols.c" />
|
||||||
<ClCompile Include="$(SrcDir)sys.c" />
|
<ClCompile Include="$(SrcDir)sys.c" />
|
||||||
<ClCompile Include="$(SrcDir)teleport.c" />
|
<ClCompile Include="$(SrcDir)teleport.c" />
|
||||||
<ClCompile Include="$(SrcDir)tile.c" />
|
<ClCompile Include="$(SrcDir)tile.c" />
|
||||||
|
|||||||
@@ -174,6 +174,7 @@
|
|||||||
<ClCompile Include="$(SrcDir)sp_lev.c" />
|
<ClCompile Include="$(SrcDir)sp_lev.c" />
|
||||||
<ClCompile Include="$(SrcDir)steal.c" />
|
<ClCompile Include="$(SrcDir)steal.c" />
|
||||||
<ClCompile Include="$(SrcDir)steed.c" />
|
<ClCompile Include="$(SrcDir)steed.c" />
|
||||||
|
<ClCompile Include="$(SrcDir)symbols.c" />
|
||||||
<ClCompile Include="$(SrcDir)sys.c" />
|
<ClCompile Include="$(SrcDir)sys.c" />
|
||||||
<ClCompile Include="$(SrcDir)teleport.c" />
|
<ClCompile Include="$(SrcDir)teleport.c" />
|
||||||
<ClCompile Include="$(SrcDir)tile.c" />
|
<ClCompile Include="$(SrcDir)tile.c" />
|
||||||
|
|||||||
@@ -30,7 +30,6 @@
|
|||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="$(SrcDir)decl.c" />
|
|
||||||
<ClCompile Include="$(SrcDir)drawing.c" />
|
<ClCompile Include="$(SrcDir)drawing.c" />
|
||||||
<ClCompile Include="$(SrcDir)monst.c" />
|
<ClCompile Include="$(SrcDir)monst.c" />
|
||||||
<ClCompile Include="$(SrcDir)objects.c" />
|
<ClCompile Include="$(SrcDir)objects.c" />
|
||||||
|
|||||||
Reference in New Issue
Block a user