There were multiple symbol-related lists that had to be kept
in sync in various places.
Consolidate some of that into a single new file
defsym.h
with a set of morphing macros that can be custom-called from
the various places that use the sym info without maintaining
multiple occurrences. Most maintenance can be done there.
Rename monsym.h to sym.h since it looks after some
symbols not related to monsters now too.
The defsym.h header file is included in multiple places to
produce different code depending on its use and the controlling
macro definitions in place prior to including it.
Its purpose is to have a definitive source for
pchar, objclass and mon symbol maintenance.
The controlling macros used to morph the resulting code are
used in these places:
- in include/sym.h for enums of some S_ symbol values
(define PCHAR_ENUM, MONSYMS_ENUM prior to #include defsym.h)
- in include/objclass.h for enums of some S_ symbol values
(define OBJCLASS_ENUM prior to #include defsym.h)
- in src/symbols.c for parsing S_ entries in config files
(define PCHAR_PARSE, MONSYMS_PARSE, OBJCLASS_PARSE prior
to #include defsym.h)
- in src/drawing.c for initializing some data structures/arrays
(define PCHAR_DRAWING, MONSYMS_DRAWING, OBJCLASS_DRAWING prior
to #include defsym.h)
- in win/share/tilemap.c for processing a tile file
(define PCHAR_TILES prior to #include defsym.h).
273 lines
13 KiB
XML
273 lines
13 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<Import Project="..\config.props" />
|
|
<Import Project="..\dirs.props" />
|
|
<PropertyGroup Label="Globals">
|
|
<ProjectGuid>{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}</ProjectGuid>
|
|
<Keyword>Win32Proj</Keyword>
|
|
<RootNamespace>NetHack</RootNamespace>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
<Import Project="$(vsDir)default.props" />
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
<Import Project="$(vsDir)NetHackProperties.props" />
|
|
<Import Project="$(vsDir)console.props" />
|
|
<Import Project="$(vsDir)common.props" />
|
|
<Import Project="$(vsDir)files.props" />
|
|
<PropertyGroup>
|
|
<OutDir>$(BinDir)</OutDir>
|
|
</PropertyGroup>
|
|
<ItemDefinitionGroup Condition="Exists('$(PDCURSES)')">
|
|
<ClCompile>
|
|
<AdditionalIncludeDirectories>$(PDCURSES);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>CURSES_GRAPHICS;CHTYPE_32;PDC_NCMOUSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalLibraryDirectories>$(ToolsDir)</AdditionalLibraryDirectories>
|
|
<AdditionalDependencies>PDCurses.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup>
|
|
<ClCompile>
|
|
<AdditionalOptions>/Gs /Oi- /w44774 %(AdditionalOptions)</AdditionalOptions>
|
|
<Optimization>Disabled</Optimization>
|
|
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
|
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
<OmitFramePointers>true</OmitFramePointers>
|
|
<AdditionalIncludeDirectories>$(WinWin32Dir);$(IncDir);$(SysWindDir);$(SysShareDir);$(WinShareDir);$(LuaDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<PreprocessorDefinitions>TILES;WIN32CON;DLB;MSWIN_GRAPHICS;SAFEPROCS;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;winmm.lib;Winmm.lib;bcrypt.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemGroup>
|
|
<ClCompile Include="@(Lua)">
|
|
<DisableSpecificWarnings>4701;4702;4244;4310;4774</DisableSpecificWarnings>
|
|
<AdditionalOptions>%(AdditionalOptions) /wd4774</AdditionalOptions>
|
|
</ClCompile>
|
|
<ClCompile Include="$(SrcDir)allmain.c" />
|
|
<ClCompile Include="$(SrcDir)alloc.c" />
|
|
<ClCompile Include="$(SrcDir)apply.c" />
|
|
<ClCompile Include="$(SrcDir)artifact.c" />
|
|
<ClCompile Include="$(SrcDir)attrib.c" />
|
|
<ClCompile Include="$(SrcDir)ball.c" />
|
|
<ClCompile Include="$(SrcDir)bones.c" />
|
|
<ClCompile Include="$(SrcDir)botl.c" />
|
|
<ClCompile Include="$(SrcDir)cmd.c" />
|
|
<ClCompile Include="$(SrcDir)dbridge.c" />
|
|
<ClCompile Include="$(SrcDir)decl.c" />
|
|
<ClCompile Include="$(SrcDir)detect.c" />
|
|
<ClCompile Include="$(SrcDir)dig.c" />
|
|
<ClCompile Include="$(SrcDir)display.c" />
|
|
<ClCompile Include="$(SrcDir)dlb.c" />
|
|
<ClCompile Include="$(SrcDir)do.c" />
|
|
<ClCompile Include="$(SrcDir)dog.c" />
|
|
<ClCompile Include="$(SrcDir)dogmove.c" />
|
|
<ClCompile Include="$(SrcDir)dokick.c" />
|
|
<ClCompile Include="$(SrcDir)dothrow.c" />
|
|
<ClCompile Include="$(SrcDir)do_name.c" />
|
|
<ClCompile Include="$(SrcDir)do_wear.c" />
|
|
<ClCompile Include="$(SrcDir)drawing.c" />
|
|
<ClCompile Include="$(SrcDir)dungeon.c" />
|
|
<ClCompile Include="$(SrcDir)eat.c" />
|
|
<ClCompile Include="$(SrcDir)end.c" />
|
|
<ClCompile Include="$(SrcDir)engrave.c" />
|
|
<ClCompile Include="$(SrcDir)exper.c" />
|
|
<ClCompile Include="$(SrcDir)explode.c" />
|
|
<ClCompile Include="$(SrcDir)extralev.c" />
|
|
<ClCompile Include="$(SrcDir)files.c" />
|
|
<ClCompile Include="$(SrcDir)fountain.c" />
|
|
<ClCompile Include="$(SrcDir)hack.c" />
|
|
<ClCompile Include="$(SrcDir)hacklib.c" />
|
|
<ClCompile Include="$(SrcDir)insight.c" />
|
|
<ClCompile Include="$(SrcDir)invent.c" />
|
|
<ClCompile Include="$(SrcDir)isaac64.c" />
|
|
<ClCompile Include="$(SrcDir)light.c" />
|
|
<ClCompile Include="$(SrcDir)lock.c" />
|
|
<ClCompile Include="$(SrcDir)mail.c" />
|
|
<ClCompile Include="$(SrcDir)makemon.c" />
|
|
<ClCompile Include="$(SrcDir)mcastu.c" />
|
|
<ClCompile Include="$(SrcDir)mdlib.c" />
|
|
<ClCompile Include="$(SrcDir)mhitm.c" />
|
|
<ClCompile Include="$(SrcDir)mhitu.c" />
|
|
<ClCompile Include="$(SrcDir)minion.c" />
|
|
<ClCompile Include="$(SrcDir)mklev.c" />
|
|
<ClCompile Include="$(SrcDir)mkmap.c" />
|
|
<ClCompile Include="$(SrcDir)mkmaze.c" />
|
|
<ClCompile Include="$(SrcDir)mkobj.c" />
|
|
<ClCompile Include="$(SrcDir)mkroom.c" />
|
|
<ClCompile Include="$(SrcDir)mon.c" />
|
|
<ClCompile Include="$(SrcDir)mondata.c" />
|
|
<ClCompile Include="$(SrcDir)monmove.c" />
|
|
<ClCompile Include="$(SrcDir)monst.c" />
|
|
<ClCompile Include="$(SrcDir)mplayer.c" />
|
|
<ClCompile Include="$(SrcDir)mthrowu.c" />
|
|
<ClCompile Include="$(SrcDir)muse.c" />
|
|
<ClCompile Include="$(SrcDir)music.c" />
|
|
<ClCompile Include="$(SrcDir)nhlobj.c" />
|
|
<ClCompile Include="$(SrcDir)nhlsel.c" />
|
|
<ClCompile Include="$(SrcDir)nhlua.c" />
|
|
<ClCompile Include="$(SrcDir)objects.c" />
|
|
<ClCompile Include="$(SrcDir)objnam.c" />
|
|
<ClCompile Include="$(SrcDir)options.c" />
|
|
<ClCompile Include="$(SrcDir)o_init.c" />
|
|
<ClCompile Include="$(SrcDir)pager.c" />
|
|
<ClCompile Include="$(SrcDir)pickup.c" />
|
|
<ClCompile Include="$(SrcDir)pline.c" />
|
|
<ClCompile Include="$(SrcDir)polyself.c" />
|
|
<ClCompile Include="$(SrcDir)potion.c" />
|
|
<ClCompile Include="$(SrcDir)pray.c" />
|
|
<ClCompile Include="$(SrcDir)priest.c" />
|
|
<ClCompile Include="$(SrcDir)quest.c" />
|
|
<ClCompile Include="$(SrcDir)questpgr.c" />
|
|
<ClCompile Include="$(SrcDir)read.c" />
|
|
<ClCompile Include="$(SrcDir)rect.c" />
|
|
<ClCompile Include="$(SrcDir)region.c" />
|
|
<ClCompile Include="$(SrcDir)restore.c" />
|
|
<ClCompile Include="$(SrcDir)rip.c" />
|
|
<ClCompile Include="$(SrcDir)rnd.c" />
|
|
<ClCompile Include="$(SrcDir)role.c" />
|
|
<ClCompile Include="$(SrcDir)rumors.c" />
|
|
<ClCompile Include="$(SrcDir)save.c" />
|
|
<ClCompile Include="$(SrcDir)sfstruct.c" />
|
|
<ClCompile Include="$(SrcDir)shk.c" />
|
|
<ClCompile Include="$(SrcDir)shknam.c" />
|
|
<ClCompile Include="$(SrcDir)sit.c" />
|
|
<ClCompile Include="$(SrcDir)sounds.c" />
|
|
<ClCompile Include="$(SrcDir)spell.c" />
|
|
<ClCompile Include="$(SrcDir)sp_lev.c" />
|
|
<ClCompile Include="$(SrcDir)steal.c" />
|
|
<ClCompile Include="$(SrcDir)steed.c" />
|
|
<ClCompile Include="$(SrcDir)symbols.c" />
|
|
<ClCompile Include="$(SrcDir)sys.c" />
|
|
<ClCompile Include="$(SrcDir)teleport.c" />
|
|
<ClCompile Include="$(SrcDir)tile.c" />
|
|
<ClCompile Include="$(SrcDir)timeout.c" />
|
|
<ClCompile Include="$(SrcDir)topten.c" />
|
|
<ClCompile Include="$(SrcDir)track.c" />
|
|
<ClCompile Include="$(SrcDir)trap.c" />
|
|
<ClCompile Include="$(SrcDir)uhitm.c" />
|
|
<ClCompile Include="$(SrcDir)u_init.c" />
|
|
<ClCompile Include="$(SrcDir)vault.c" />
|
|
<ClCompile Include="$(SrcDir)version.c" />
|
|
<ClCompile Include="$(SrcDir)vision.c" />
|
|
<ClCompile Include="$(SrcDir)weapon.c" />
|
|
<ClCompile Include="$(SrcDir)were.c" />
|
|
<ClCompile Include="$(SrcDir)wield.c" />
|
|
<ClCompile Include="$(SrcDir)windows.c" />
|
|
<ClCompile Include="$(SrcDir)wizard.c" />
|
|
<ClCompile Include="$(SrcDir)worm.c" />
|
|
<ClCompile Include="$(SrcDir)worn.c" />
|
|
<ClCompile Include="$(SrcDir)write.c" />
|
|
<ClCompile Include="$(SrcDir)zap.c" />
|
|
<ClCompile Include="$(SysShareDir)cppregex.cpp" />
|
|
<ClCompile Include="$(SysShareDir)nhlan.c" />
|
|
<ClCompile Include="$(SysShareDir)random.c" />
|
|
<ClCompile Include="$(SysWindDir)ntsound.c" />
|
|
<ClCompile Include="$(SysWindDir)consoletty.c" />
|
|
<ClCompile Include="$(SysWindDir)stubs.c">
|
|
<PreprocessorDefinitions>GUISTUB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
<ClCompile Include="$(SysWindDir)windmain.c" />
|
|
<ClCompile Include="$(SysWindDir)windsys.c" />
|
|
<ClCompile Include="$(WinShareDir)safeproc.c" />
|
|
<ClCompile Include="$(WinTtyDir)getline.c" />
|
|
<ClCompile Include="$(WinTtyDir)topl.c" />
|
|
<ClCompile Include="$(WinTtyDir)wintty.c" />
|
|
<ClCompile Condition="Exists('$(PDCURSES)')" Include="$(WinCursDir)cursdial.c" />
|
|
<ClCompile Condition="Exists('$(PDCURSES)')" Include="$(WinCursDir)cursinit.c" />
|
|
<ClCompile Condition="Exists('$(PDCURSES)')" Include="$(WinCursDir)cursinvt.c" />
|
|
<ClCompile Condition="Exists('$(PDCURSES)')" Include="$(WinCursDir)cursmain.c" />
|
|
<ClCompile Condition="Exists('$(PDCURSES)')" Include="$(WinCursDir)cursmesg.c" />
|
|
<ClCompile Condition="Exists('$(PDCURSES)')" Include="$(WinCursDir)cursmisc.c" />
|
|
<ClCompile Condition="Exists('$(PDCURSES)')" Include="$(WinCursDir)cursstat.c" />
|
|
<ClCompile Condition="Exists('$(PDCURSES)')" Include="$(WinCursDir)curswins.c" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClInclude Include="$(IncDir)align.h" />
|
|
<ClInclude Include="$(IncDir)artifact.h" />
|
|
<ClInclude Include="$(IncDir)artilist.h" />
|
|
<ClInclude Include="$(IncDir)attrib.h" />
|
|
<ClInclude Include="$(IncDir)botl.h" />
|
|
<ClInclude Include="$(IncDir)color.h" />
|
|
<ClInclude Include="$(IncDir)config.h" />
|
|
<ClInclude Include="$(IncDir)config1.h" />
|
|
<ClInclude Include="$(IncDir)context.h" />
|
|
<ClInclude Include="$(IncDir)coord.h" />
|
|
<ClInclude Include="$(IncDir)date.h" />
|
|
<ClInclude Include="$(IncDir)decl.h" />
|
|
<ClInclude Include="$(IncDir)defsym.h" />
|
|
<ClInclude Include="$(IncDir)display.h" />
|
|
<ClInclude Include="$(IncDir)dlb.h" />
|
|
<ClInclude Include="$(IncDir)dungeon.h" />
|
|
<ClInclude Include="$(IncDir)engrave.h" />
|
|
<ClInclude Include="$(IncDir)extern.h" />
|
|
<ClInclude Include="$(IncDir)flag.h" />
|
|
<ClInclude Include="$(IncDir)func_tab.h" />
|
|
<ClInclude Include="$(IncDir)global.h" />
|
|
<ClInclude Include="$(IncDir)hack.h" />
|
|
<ClInclude Include="$(IncDir)isaac64.h" />
|
|
<ClInclude Include="$(IncDir)mextra.h" />
|
|
<ClInclude Include="$(IncDir)mfndpos.h" />
|
|
<ClInclude Include="$(IncDir)mkroom.h" />
|
|
<ClInclude Include="$(IncDir)monattk.h" />
|
|
<ClInclude Include="$(IncDir)mondata.h" />
|
|
<ClInclude Include="$(IncDir)monflag.h" />
|
|
<ClInclude Include="$(IncDir)monst.h" />
|
|
<ClInclude Include="$(IncDir)nhlua.h" />
|
|
<ClInclude Include="$(IncDir)windconf.h" />
|
|
<ClInclude Include="$(IncDir)obj.h" />
|
|
<ClInclude Include="$(IncDir)objclass.h" />
|
|
<ClInclude Include="$(IncDir)onames.h" />
|
|
<ClInclude Include="$(IncDir)patchlevel.h" />
|
|
<ClInclude Include="$(IncDir)permonst.h" />
|
|
<ClInclude Include="$(IncDir)pm.h" />
|
|
<ClInclude Include="$(IncDir)prop.h" />
|
|
<ClInclude Include="$(IncDir)quest.h" />
|
|
<ClInclude Include="$(IncDir)rect.h" />
|
|
<ClInclude Include="$(IncDir)region.h" />
|
|
<ClInclude Include="$(IncDir)rm.h" />
|
|
<ClInclude Include="$(IncDir)skills.h" />
|
|
<ClInclude Include="$(IncDir)spell.h" />
|
|
<ClInclude Include="$(IncDir)sp_lev.h" />
|
|
<ClInclude Include="$(IncDir)sym.h" />
|
|
<ClInclude Include="$(IncDir)timeout.h" />
|
|
<ClInclude Include="$(IncDir)tradstdc.h" />
|
|
<ClInclude Include="$(IncDir)trap.h" />
|
|
<ClInclude Include="$(IncDir)vision.h" />
|
|
<ClInclude Include="$(IncDir)winprocs.h" />
|
|
<ClInclude Include="$(IncDir)wintty.h" />
|
|
<ClInclude Include="$(IncDir)wintype.h" />
|
|
<ClInclude Include="$(IncDir)you.h" />
|
|
<ClInclude Include="$(IncDir)youprop.h" />
|
|
<ClInclude Include="$(WinWin32Dir)nhresource.h" />
|
|
<ClInclude Include="$(WinCursDir)cursdial.h" />
|
|
<ClInclude Include="$(WinCursDir)cursinit.h" />
|
|
<ClInclude Include="$(WinCursDir)cursinvt.h" />
|
|
<ClInclude Include="$(WinCursDir)cursmesg.h" />
|
|
<ClInclude Include="$(WinCursDir)cursmisc.h" />
|
|
<ClInclude Include="$(WinCursDir)cursstat.h" />
|
|
<ClInclude Include="$(WinCursDir)curswins.h" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ResourceCompile Include="$(WinWin32Dir)NetHack.rc" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Image Include="$(WinWin32Dir)nethack.ico" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<None Include="cpp.hint" />
|
|
</ItemGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
<Target Name="AfterBuild">
|
|
<MSBuild Projects="afternethack.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
|
|
</Target>
|
|
<Target Name="AfterClean">
|
|
<MSBuild Projects="afternethack.proj" Targets="Clean" Properties="Configuration=$(Configuration)" />
|
|
</Target>
|
|
<Target Name="AfterRebuild">
|
|
<MSBuild Projects="afternethack.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
|
|
</Target>
|
|
</Project>
|