diff --git a/sys/windows/Makefile.nmake b/sys/windows/Makefile.nmake
index 53ad84616..c76201a4f 100644
--- a/sys/windows/Makefile.nmake
+++ b/sys/windows/Makefile.nmake
@@ -9,7 +9,7 @@
#
# Visual Studio Compilers Tested:
# - Microsoft Visual Studio 2019 Community Edition v 16.11.42
-# - Microsoft Visual Studio 2022 Community Edition v 17.14.11
+# - Microsoft Visual Studio 2022 Community Edition v 17.14.12
#
#==============================================================================
# This is used for building two distinct executables of NetHack:
@@ -1293,25 +1293,34 @@ scall =
!IF ($(VSVER) >= 2012)
#
# 4100 unreferenced formal parameter
+# 4101 'identifier': unreferenced local variable
+# 4102 'label': unreferenced label
# 4131 old-style declarator
+# 4201 'nonstandard extension used : nameless struct/union'
# 4244 conversion possible loss of data
# 4245 conversion from 'char' to 'uchar', signed/unsigned mismatch
# 4310 a constant value is cast to a smaller type
+# 4324 'structname': structure was padded due to alignment specifier
+# 4431 missing type specifier - int assumed. Note: C no longer supports default-int
# 4706 assignment within conditional
# 4774 format string is not a string literal (default is off at W4)
# 4777 format string requires an argument of type 'type',
# but variadic argument 'position' has type 'type'
# 4820 padding in struct
# 5262 enable fallthrough warnings that lack [[fallthrough]]
+# 5264 'variable-name': 'const' variable is not used
+# 5266 'const' qualifier on return type has no effect
+# 6001 'Using uninitialized memory'
#
-ctmpflags = $(ctmpflags:-W3=-W4) -wd4100 -wd4244 -wd4245 -wd4310 -wd4706 -w44777 -wd4820
+#ctmpflags = $(ctmpflags:-W3=-W4) -wd4100 -wd4244 -wd4245 -wd4310 -wd4706
+ctmpflags = $(ctmpflags:-W3=-W4) -wd4244 -wd4245 -wd4310 -wd4706 -w44101 -w44102
!IF ($(VSVER) >= 2019)
ctmpflags = $(ctmpflags) -w44774
!ENDIF
!IF ($(VSVER) >= 2022)
!IF ($(MAKEVERSION) >= 1440338120)
# warning 5262 became available starting in Visual Studio 2022 version 17.4.
-ctmpflags = $(ctmpflags) -w45262 /std:clatest
+ctmpflags = $(ctmpflags) -w45262 -w45264 -w45266 -w44431 -w44777 -wd4820 /std:clatest
!ENDIF
!ENDIF
!ENDIF
@@ -2475,7 +2484,7 @@ $(DAT)bogusmon: $(U)makedefs.exe $(DAT)bogusmon.txt
$(U)makedefs -3
# This is the universal ctags utility which produces the tags in the
-# format that util/readtags requires.
+# format that util/readtags requires.
# https://github.com/universal-ctags/ctags.git
#===============================================================================
diff --git a/sys/windows/vs/NetHack/NetHack.vcxproj b/sys/windows/vs/NetHack/NetHack.vcxproj
index 48ba1d27e..7b28b0837 100644
--- a/sys/windows/vs/NetHack/NetHack.vcxproj
+++ b/sys/windows/vs/NetHack/NetHack.vcxproj
@@ -41,35 +41,20 @@
/Gs /Oi- /w44774 /w45262 %(AdditionalOptions)
+ 4100;4244;4245;4310;4706;4820;4324
Disabled
Default
Speed
true
$(WinWin32Dir);$(IncDir);$(SysWindDir);$(SysShareDir);$(WinShareDir);$(LuaDir);%(AdditionalIncludeDirectories)
WIN32CON;NO_TILE_C;DLB;SAFEPROCS;SND_LIB_WINDSOUND;USER_SOUNDS;_LIB;HAS_STDINT_H;%(PreprocessorDefinitions)
- stdclatest
- stdclatest
- stdclatest
- stdclatest
- /Gs /Oi- /w44774 /w45262 %(AdditionalOptions)
- /Gs /Oi- /w44774 /w45262 %(AdditionalOptions)
- /Gs /Oi- /w44774 /w45262 %(AdditionalOptions)
- /Gs /Oi- /w44774 /w45262 %(AdditionalOptions)
+ stdclatest
hacklib.lib;lualib.lib;kernel32.lib;dbghelp.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;UserEnv.lib;bcrypt.lib;%(AdditionalDependencies)
- $(SndWavDir);%(AdditionalIncludeDirectories)
-
-
- $(SndWavDir);%(AdditionalIncludeDirectories)
-
-
- $(SndWavDir);%(AdditionalIncludeDirectories)
-
-
- $(SndWavDir);%(AdditionalIncludeDirectories)
+ $(SndWavDir);%(AdditionalIncludeDirectories)
@@ -139,10 +124,7 @@
-
- 4820;4706;4244;4245;4100;4310;4324
- 4820;4706;4244;4245;4100;4310;4324
-
+
diff --git a/sys/windows/vs/NetHackW/NetHackW.vcxproj b/sys/windows/vs/NetHackW/NetHackW.vcxproj
index 0fb4f77e3..11e6baa99 100644
--- a/sys/windows/vs/NetHackW/NetHackW.vcxproj
+++ b/sys/windows/vs/NetHackW/NetHackW.vcxproj
@@ -48,7 +48,8 @@
- /Gs /Oi- /w44774 %(AdditionalOptions)
+ /Gs /Oi- /w44774 /w45262 %(AdditionalOptions)
+ 4100;4244;4245;4310;4706;4820;4324
Disabled
true
$(WinWin32Dir);$(IncDir);$(SysWindDir);$(SysShareDir);$(WinShareDir);$(LuaDir);%(AdditionalIncludeDirectories)
@@ -57,12 +58,6 @@
stdclatest
stdclatest
stdclatest
- /Gs /Oi- /w44774 /w45262 %(AdditionalOptions)
- /Gs /Oi- /w44774 /w45262 %(AdditionalOptions)
- /Gs /Oi- /w44774 /w45262 %(AdditionalOptions)
- /Gs /Oi- /w44774 /w45262 %(AdditionalOptions)
- 4820;4706;4244;4245;4100;4310;6001
- 4820;4706;4244;4245;4100;4310
NDEBUG;%(PreprocessorDefinitions)
@@ -148,17 +143,15 @@
- 4820;4706;4244;4245;4100;4310;4324
- 4820;4706;4244;4245;4100;4310;4324
+ 4100;4244;4245;4310;4706;4820;4324
+ 4100;4244;4245;4310;4706;4820;4324
-
- 4820;4706;4244;4245;4100;4310;6001
-
+
@@ -192,9 +185,7 @@
-
- 4820;4706;4244;4245;4100;4310;6001
-
+
@@ -218,17 +209,15 @@
-
- 4820;4706;4244;4245;4100;4310;6001
-
+
- 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
+ 4100;4201;4244;4245;4310;4706;4820;4324
+ 4100;4201;4244;4245;4310;4706;4820;4324
+ 4100;4201;4244;4245;4310;4706;4820;4324
+ 4100;4201;4244;4245;4310;4706;4820
diff --git a/sys/windows/vs/lualib/lualib.vcxproj b/sys/windows/vs/lualib/lualib.vcxproj
index 13c01453e..48cbb9f35 100644
--- a/sys/windows/vs/lualib/lualib.vcxproj
+++ b/sys/windows/vs/lualib/lualib.vcxproj
@@ -24,327 +24,50 @@
x64
+
+
+ /Gs /Oi- /w44774 /w45262 %(AdditionalOptions)
+ 4100;4244;4245;4310;4706;4820;4324
+ Disabled
+ true
+ $(WinWin32Dir);$(IncDir);$(SysWindDir);$(SysShareDir);$(WinShareDir);$(LuaDir);%(AdditionalIncludeDirectories)
+ TILES;_WINDOWS;DLB;MSWIN_GRAPHICS;SAFEPROCS;NOTTYGRAPHICS;SND_LIB_WINDSOUND;USER_SOUNDS;HAS_STDINT_H;PDC_WIDE;%(PreprocessorDefinitions)
+ stdclatest
+
+
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
-
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- 4701;4702;4244;4310;4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
- %(AdditionalOptions) /wd4774
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
17.0