From 44ecbb2a1bfc4a0bb81da82b10d09d4a1d88dfff Mon Sep 17 00:00:00 2001 From: nhmall Date: Sat, 23 Sep 2023 15:26:09 -0400 Subject: [PATCH] some work on conditional components in vs build --- include/windconf.h | 3 - sys/windows/vs/NetHack.sln | 10 ++ sys/windows/vs/NetHack/NetHack.vcxproj | 19 ++- sys/windows/vs/NetHackProperties.props | 9 ++ sys/windows/vs/NetHackW/NetHackW.vcxproj | 35 +++++ sys/windows/vs/PDCurses/PDCurses.vcxproj | 8 +- .../vs/PDCursesGui/pdcursesgui.vcxproj | 122 ++++++++++++++++++ sys/windows/vs/dirs.props | 12 +- win/curses/cursmesg.c | 6 +- 9 files changed, 208 insertions(+), 16 deletions(-) create mode 100644 sys/windows/vs/PDCursesGui/pdcursesgui.vcxproj diff --git a/include/windconf.h b/include/windconf.h index 0f8931b19..d729c6f7c 100644 --- a/include/windconf.h +++ b/include/windconf.h @@ -264,9 +264,6 @@ open(const char _FAR *__path, int __access, ... /*unsigned mode*/); long _RTLENTRY _EXPFUNC lseek(int __handle, long __offset, int __fromwhere); int _RTLENTRY _EXPFUNC read(int __handle, void _FAR *__buf, unsigned __len); #endif -#ifndef CURSES_GRAPHICS -#include /* conflicting definitions with curses.h */ -#endif #undef kbhit /* Use our special NT kbhit */ #define kbhit (*nt_kbhit) diff --git a/sys/windows/vs/NetHack.sln b/sys/windows/vs/NetHack.sln index c23d67597..99e628acc 100644 --- a/sys/windows/vs/NetHack.sln +++ b/sys/windows/vs/NetHack.sln @@ -51,6 +51,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution NetHackProperties.props = NetHackProperties.props EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Pdcursesgui", "PDCursesGui\Pdcursesgui.vcxproj", "{1693F852-A207-4348-8223-222C2A7FEEEB}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -131,6 +133,14 @@ Global {BAA70D0F-3EC7-4D10-91F0-974F1F49308B}.Release|Win32.Build.0 = Release|Win32 {BAA70D0F-3EC7-4D10-91F0-974F1F49308B}.Release|x64.ActiveCfg = Release|x64 {BAA70D0F-3EC7-4D10-91F0-974F1F49308B}.Release|x64.Build.0 = Release|x64 + {1693F852-A207-4348-8223-222C2A7FEEEB}.Debug|Win32.ActiveCfg = Debug|Win32 + {1693F852-A207-4348-8223-222C2A7FEEEB}.Debug|Win32.Build.0 = Debug|Win32 + {1693F852-A207-4348-8223-222C2A7FEEEB}.Debug|x64.ActiveCfg = Debug|x64 + {1693F852-A207-4348-8223-222C2A7FEEEB}.Debug|x64.Build.0 = Debug|x64 + {1693F852-A207-4348-8223-222C2A7FEEEB}.Release|Win32.ActiveCfg = Release|Win32 + {1693F852-A207-4348-8223-222C2A7FEEEB}.Release|Win32.Build.0 = Release|Win32 + {1693F852-A207-4348-8223-222C2A7FEEEB}.Release|x64.ActiveCfg = Release|x64 + {1693F852-A207-4348-8223-222C2A7FEEEB}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/sys/windows/vs/NetHack/NetHack.vcxproj b/sys/windows/vs/NetHack/NetHack.vcxproj index 933794140..3ce5fdf6e 100644 --- a/sys/windows/vs/NetHack/NetHack.vcxproj +++ b/sys/windows/vs/NetHack/NetHack.vcxproj @@ -21,13 +21,23 @@ $(PDCURSES);%(AdditionalIncludeDirectories) - CURSES_GRAPHICS;CHTYPE_32;PDC_NCMOUSE;%(PreprocessorDefinitions) + CURSES_GRAPHICS;PDC_NCMOUSE;%(PreprocessorDefinitions) - $(ToolsDir) + $(ToolsDir);%(AdditionalLibraryDirectories) PDCurses.lib;%(AdditionalDependencies) + + + $(FMODINCDIR);%(AdditionalIncludeDirectories) + SND_LIB_FMOD;USER_SOUNDS;SND_SOUNDEFFECTS_AUTOMAP;RCWAV;%(PreprocessorDefinitions) + + + $(FMODLIBDIR);%(AdditionalLibraryDirectories) + $(FMODLIBLIB);%(AdditionalDependencies) + + /Gs /Oi- /w44774 %(AdditionalOptions) @@ -36,7 +46,7 @@ Speed true $(WinWin32Dir);$(IncDir);$(SysWindDir);$(SysShareDir);$(WinShareDir);$(LuaDir);%(AdditionalIncludeDirectories) - WIN32CON;NO_TILE_C;DLB;SAFEPROCS;SND_LIB_WINDSOUND;USER_SOUNDS;_LIB;HAS_STDINT_H;PDC_WIDE;%(PreprocessorDefinitions) + WIN32CON;NO_TILE_C;DLB;SAFEPROCS;SND_LIB_WINDSOUND;USER_SOUNDS;_LIB;HAS_STDINT_H;%(PreprocessorDefinitions) 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) @@ -198,6 +208,7 @@ + @@ -286,4 +297,4 @@ - \ No newline at end of file + diff --git a/sys/windows/vs/NetHackProperties.props b/sys/windows/vs/NetHackProperties.props index e7fe18736..d1397c3b6 100644 --- a/sys/windows/vs/NetHackProperties.props +++ b/sys/windows/vs/NetHackProperties.props @@ -9,6 +9,15 @@ 4 6> $(LUA_MAJOR_VERSION).$(LUA_MINOR_VERSION).$(LUA_PATCH_LEVEL) + $(ROOTDIR)lib\fmod\api\core\ + fmod_vc.lib + fmod.dll + $(FMODROOT)inc + $(FMODROOT)lib\$(PlatformShortName)\ + $(FMODLIBDIR)$(FMODLIBBASENAME) + $(FMODLIBDIR)$(FMODDLLBASENAME) + $(ROOTDIR)sound\fmod\ + $(FMODDIR)fmod.c true diff --git a/sys/windows/vs/NetHackW/NetHackW.vcxproj b/sys/windows/vs/NetHackW/NetHackW.vcxproj index cca094a7b..f22e6bdb0 100644 --- a/sys/windows/vs/NetHackW/NetHackW.vcxproj +++ b/sys/windows/vs/NetHackW/NetHackW.vcxproj @@ -16,6 +16,26 @@ $(BinDir) + + + $(PDCURSES);%(AdditionalIncludeDirectories) + CURSES_GRAPHICS;PDC_NCMOUSE;%(PreprocessorDefinitions) + + + $(ToolsDir);%(AdditionalLibraryDirectories) + PDCursesGui.lib;%(AdditionalDependencies) + + + + + $(FMODINCDIR);%(AdditionalIncludeDirectories) + SND_LIB_FMOD;USER_SOUNDS;SND_SOUNDEFFECTS_AUTOMAP;RCWAV;%(PreprocessorDefinitions) + + + $(FMODLIBDIR);%(AdditionalLibraryDirectories) + $(FMODLIBLIB);%(AdditionalDependencies) + + false @@ -49,6 +69,7 @@ + 4701;4702;4244;4310;4774 %(AdditionalOptions) /wd4774 @@ -175,6 +196,20 @@ + + + + + + + + + + 4820;4706;4244;4245;4100;4310;4201 + 4820;4706;4244;4245;4100;4310;4201 + 4820;4706;4244;4245;4100;4310;4201 + 4820;4706;4244;4245;4100;4310;4201 + diff --git a/sys/windows/vs/PDCurses/PDCurses.vcxproj b/sys/windows/vs/PDCurses/PDCurses.vcxproj index 86325f8b5..bf2ca014c 100644 --- a/sys/windows/vs/PDCurses/PDCurses.vcxproj +++ b/sys/windows/vs/PDCurses/PDCurses.vcxproj @@ -90,14 +90,14 @@ Disabled - WIN32;_DEBUG;_LIB;PDC_WIDE;%(PreprocessorDefinitions) + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) MultiThreadedDebug Disabled - _DEBUG;_LIB;PDC_WIDE;%(PreprocessorDefinitions) + _DEBUG;_LIB;%(PreprocessorDefinitions) @@ -105,7 +105,7 @@ MaxSpeed true true - WIN32;NDEBUG;_LIB;PDC_WIDE;%(PreprocessorDefinitions) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) true @@ -117,7 +117,7 @@ MaxSpeed true true - NDEBUG;_LIB;PDC_WIDE;%(PreprocessorDefinitions) + NDEBUG;_LIB;%(PreprocessorDefinitions) true diff --git a/sys/windows/vs/PDCursesGui/pdcursesgui.vcxproj b/sys/windows/vs/PDCursesGui/pdcursesgui.vcxproj new file mode 100644 index 000000000..9f661e18c --- /dev/null +++ b/sys/windows/vs/PDCursesGui/pdcursesgui.vcxproj @@ -0,0 +1,122 @@ + + + + + + {1693F852-A207-4348-8223-222C2A7FEEEB} + Win32Proj + PDCursesGui + 10.0.20348.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + 4996;4244;4267;%(DisableSpecificWarnings) + 4996;4244;4267;%(DisableSpecificWarnings) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(PDCURSES);$(IncludePath) + + + + NotUsing + Level3 + true + true + 4996;4244;%(DisableSpecificWarnings) + MultiThreadedDebug + true + + + Windows + true + + + + + Disabled + WIN32;_DEBUG;_LIB;PDC_WIDE;%(PreprocessorDefinitions) + MultiThreadedDebug + + + + + Disabled + _DEBUG;_LIB;PDC_WIDE;%(PreprocessorDefinitions) + + + + + MaxSpeed + true + true + WIN32;NDEBUG;_LIB;PDC_WIDE;%(PreprocessorDefinitions) + + + true + true + + + + + MaxSpeed + true + true + NDEBUG;_LIB;PDC_WIDE;%(PreprocessorDefinitions) + + + true + true + + + + diff --git a/sys/windows/vs/dirs.props b/sys/windows/vs/dirs.props index b858101f6..ce4d0b2bf 100644 --- a/sys/windows/vs/dirs.props +++ b/sys/windows/vs/dirs.props @@ -8,11 +8,13 @@ $(ProjectDir)symbols\$(Configuration)\$(Platform)\$(TargetName)\ $(RootDir)tools\$(Configuration)\$(Platform)\ $(vsDir)\Images\ + $(RootDir)submodules\ $(RootDir)util\ $(RootDir)dat\ $(RootDir)doc\ $(RootDir)include\ - $(RootDir)submodules\lua\ + $(SubmodulesDir)lua\ + $(RootDir)lib\ $(RootDir)sound\wav\ $(RootDir)sound\windsound\ $(RootDir)src\ @@ -26,9 +28,11 @@ $(ToolsDir) $(ObjDir) $(RootDir)win\curses\ - $(RootDir)submodules\ - - $(RootDir)lib\PDCurses\ + + $(SubmodulesDir)PDCursesMod\ + + + $(RootDir)lib\PDCursesMod\ diff --git a/win/curses/cursmesg.c b/win/curses/cursmesg.c index a9bc80fa5..ef207fa62 100644 --- a/win/curses/cursmesg.c +++ b/win/curses/cursmesg.c @@ -35,8 +35,12 @@ glyph_info mesg_gi; #define USE_CURSES_PUTMIXED #else /* WIDE */ #ifdef NH_PRAGMA_MESSAGE +#ifdef _MSC_VER +#pragma message("Curses wide support not defined so NetHack curses message window functionality reduced") +#else #pragma message "Curses wide support not defined so NetHack curses message window functionality reduced" -#endif +#endif /* _MSC_VER */ +#endif /* NH_PRAGMA_MESSAGE */ #endif /* WIDE */ #endif /* CURSES_GENL_PUTMIXED */