From 928c6acf4b7fa009599c508fa2337578c2b8f3ca Mon Sep 17 00:00:00 2001 From: yoshibot Date: Tue, 17 May 2016 22:56:49 -0500 Subject: [PATCH 001/325] Simplify OS X bundle resource discovery, fix a sigsegv --- src/sdl/macosx/mac_resources.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/sdl/macosx/mac_resources.c b/src/sdl/macosx/mac_resources.c index dacc8014..706c5e7f 100644 --- a/src/sdl/macosx/mac_resources.c +++ b/src/sdl/macosx/mac_resources.c @@ -9,23 +9,21 @@ void OSX_GetResourcesPath(char * buffer) mainBundle = CFBundleGetMainBundle(); if (mainBundle) { + const int BUF_SIZE = 256; // because we somehow always know that + CFURLRef appUrlRef = CFBundleCopyBundleURL(mainBundle); CFStringRef macPath = CFURLCopyFileSystemPath(appUrlRef, kCFURLPOSIXPathStyle); - CFStringRef resources = CFStringCreateWithCString(kCFAllocatorMalloc, "/Contents/Resources", kCFStringEncodingASCII); - const void* rawarray[2] = {macPath, resources}; - CFArrayRef array = CFArrayCreate(kCFAllocatorMalloc, rawarray, 2, NULL); - CFStringRef separator = CFStringCreateWithCString(kCFAllocatorMalloc, "", kCFStringEncodingASCII); - CFStringRef fullPath = CFStringCreateByCombiningStrings(kCFAllocatorMalloc, array, separator); - const char * path = CFStringGetCStringPtr(fullPath, kCFStringEncodingASCII); - strcpy(buffer, path); - CFRelease(fullPath); - path = NULL; - CFRelease(array); - CFRelease(resources); + + const char* rawPath = CFStringGetCStringPtr(macPath, kCFStringEncodingASCII); + + if (CFStringGetLength(macPath) + strlen("/Contents/Resources") < BUF_SIZE) + { + strcpy(buffer, rawPath); + strcat(buffer, "/Contents/Resources"); + } + CFRelease(macPath); CFRelease(appUrlRef); - //CFRelease(mainBundle); - CFRelease(separator); } - -} \ No newline at end of file + CFRelease(mainBundle); +} From df89563882d8eb7e2bc848944a0b76853d086970 Mon Sep 17 00:00:00 2001 From: yoshibot Date: Wed, 18 May 2016 19:14:53 -0500 Subject: [PATCH 002/325] Add a way to build OS X binaries (not .app) through Makefiles --- src/Makefile | 14 ++++++++++++++ src/Makefile.cfg | 11 +++++++++++ src/doomtype.h | 2 +- src/sdl/MakeNIX.cfg | 9 +++++++++ 4 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 701cdcfb..deee3854 100644 --- a/src/Makefile +++ b/src/Makefile @@ -189,6 +189,10 @@ ifdef FREEBSD UNIXCOMMON=1 endif +ifdef MACOSX +UNIXCOMMON=1 +endif + ifdef NDS NOPNG=1 NONET=1 @@ -588,11 +592,16 @@ ifndef WINDOWSHELL -$(GZIP) $(GZIP_OPT2) $(BIN)/$(DBGNAME).txt endif endif + +# i dont know why, but the os x executable absolutely hates +# being touched by objcopy. so let's not do it +ifndef MACOSX ifndef PSP $(OBJCOPY) $(BIN)/$(EXENAME) $(BIN)/$(DBGNAME) $(OBJCOPY) --strip-debug $(BIN)/$(EXENAME) -$(OBJCOPY) --add-gnu-debuglink=$(BIN)/$(DBGNAME) $(BIN)/$(EXENAME) endif +endif ifndef NOUPX -$(UPX) $(UPX_OPTS) $(BIN)/$(EXENAME) endif @@ -737,6 +746,11 @@ $(OBJDIR)/%.o: %.c $(OBJDIR)/%.o: $(INTERFACE)/%.c $(CC) $(CFLAGS) $(WFLAGS) -c $< -o $@ +ifdef MACOSX +$(OBJDIR)/%.o: sdl/macosx/%.c + $(CC) $(CFLAGS) $(WFLAGS) -c $< -o $@ +endif + $(OBJDIR)/%.o: hardware/%.c $(CC) $(CFLAGS) $(WFLAGS) -c $< -o $@ diff --git a/src/Makefile.cfg b/src/Makefile.cfg index fa8896a7..7acb4559 100644 --- a/src/Makefile.cfg +++ b/src/Makefile.cfg @@ -403,6 +403,17 @@ else WINDRES=windres endif +# because Apple screws with us on this +# need to get bintools from homebrew +# need to get gzip from homebrew (it's in dupes) +ifdef MACOSX + CC=clang + CXX=clang + OBJCOPY=gobjcopy + OBJDUMP=gobjdump + GZIP=/usr/local/bin/gzip +endif + OBJDUMP_OPTS?=--wide --source --line-numbers LD=$(CC) diff --git a/src/doomtype.h b/src/doomtype.h index d833176f..6bc2c573 100644 --- a/src/doomtype.h +++ b/src/doomtype.h @@ -92,7 +92,7 @@ typedef long ssize_t; #endif #ifdef __APPLE_CC__ -#define DIRECTFULLSCREEN +#define DIRECTFULLSCREEN 1 #define DEBUG_LOG #define NOIPX #endif diff --git a/src/sdl/MakeNIX.cfg b/src/sdl/MakeNIX.cfg index f5c9b207..1a0b5421 100644 --- a/src/sdl/MakeNIX.cfg +++ b/src/sdl/MakeNIX.cfg @@ -56,6 +56,15 @@ ifdef FREEBSD LIBS+=-lipx -lkvm endif +# +#here is Mac OS X +# +ifdef MACOSX + OBJS+=$(OBJDIR)/mac_resources.o + OBJS+=$(OBJDIR)/mac_alert.o + LIBS+=-framework CoreFoundation +endif + # #here is GP2x (arm-gp2x-linux) # From bb90c8366a4cd16ead76b96819065acf332ca3d3 Mon Sep 17 00:00:00 2001 From: yoshibot Date: Wed, 18 May 2016 22:13:53 -0500 Subject: [PATCH 003/325] Fixed bugs in OS X alert code and simplified; added more NULL checks in OS X resource code --- src/sdl/macosx/mac_alert.c | 37 +++++++++++++++++++++++++--------- src/sdl/macosx/mac_resources.c | 18 ++++++++++++----- 2 files changed, 41 insertions(+), 14 deletions(-) diff --git a/src/sdl/macosx/mac_alert.c b/src/sdl/macosx/mac_alert.c index 455e3650..2a139041 100644 --- a/src/sdl/macosx/mac_alert.c +++ b/src/sdl/macosx/mac_alert.c @@ -25,19 +25,38 @@ #include "mac_alert.h" #include +#define CFSTRINGIFY(x) CFStringCreateWithCString(NULL, x, kCFStringEncodingASCII) + int MacShowAlert(const char *title, const char *message, const char *button1, const char *button2, const char *button3) { CFOptionFlags results; - CFUserNotificationDisplayAlert(0, - kCFUserNotificationStopAlertLevel | kCFUserNotificationNoDefaultButtonFlag, - NULL, NULL, NULL, - CFStringCreateWithCString(NULL, title, kCFStringEncodingASCII), - CFStringCreateWithCString(NULL, message, kCFStringEncodingASCII), - button1 != NULL ? CFStringCreateWithCString(NULL, button1, kCFStringEncodingASCII) : NULL, - button2 != NULL ? CFStringCreateWithCString(NULL, button2, kCFStringEncodingASCII) : NULL, - button3 != NULL ? CFStringCreateWithCString(NULL, button3, kCFStringEncodingASCII) : NULL, - &results); + CFStringRef cf_title = CFSTRINGIFY(title); + CFStringRef cf_message = CFSTRINGIFY(message); + CFStringRef cf_button1 = NULL; + CFStringRef cf_button2 = NULL; + CFStringRef cf_button3 = NULL; + + if (button1 != NULL) + cf_button1 = CFSTRINGIFY(button1); + if (button2 != NULL) + cf_button2 = CFSTRINGIFY(button2); + if (button3 != NULL) + cf_button3 = CFSTRINGIFY(button3); + + CFOptionFlags alert_flags = kCFUserNotificationStopAlertLevel | kCFUserNotificationNoDefaultButtonFlag; + + CFUserNotificationDisplayAlert(0, alert_flags, NULL, NULL, NULL, cf_title, cf_message, + cf_button1, cf_button2, cf_button3, &results); + + if (cf_button1 != NULL) + CFRelease(cf_button1); + if (cf_button2 != NULL) + CFRelease(cf_button2); + if (cf_button3 != NULL) + CFRelease(cf_button3); + CFRelease(cf_message); + CFRelease(cf_title); return (int)results; } diff --git a/src/sdl/macosx/mac_resources.c b/src/sdl/macosx/mac_resources.c index 706c5e7f..d67b9258 100644 --- a/src/sdl/macosx/mac_resources.c +++ b/src/sdl/macosx/mac_resources.c @@ -12,11 +12,20 @@ void OSX_GetResourcesPath(char * buffer) const int BUF_SIZE = 256; // because we somehow always know that CFURLRef appUrlRef = CFBundleCopyBundleURL(mainBundle); - CFStringRef macPath = CFURLCopyFileSystemPath(appUrlRef, kCFURLPOSIXPathStyle); + CFStringRef macPath; + if (appUrlRef != NULL) + macPath = CFURLCopyFileSystemPath(appUrlRef, kCFURLPOSIXPathStyle); + else + macPath = NULL; - const char* rawPath = CFStringGetCStringPtr(macPath, kCFStringEncodingASCII); - - if (CFStringGetLength(macPath) + strlen("/Contents/Resources") < BUF_SIZE) + const char* rawPath; + + if (macPath != NULL) + rawPath = CFStringGetCStringPtr(macPath, kCFStringEncodingASCII); + else + rawPath = NULL; + + if (rawPath != NULL && (CFStringGetLength(macPath) + strlen("/Contents/Resources") < BUF_SIZE)) { strcpy(buffer, rawPath); strcat(buffer, "/Contents/Resources"); @@ -25,5 +34,4 @@ void OSX_GetResourcesPath(char * buffer) CFRelease(macPath); CFRelease(appUrlRef); } - CFRelease(mainBundle); } From 8fbc0d7f69cd683bd23253522fcf696fd10674e8 Mon Sep 17 00:00:00 2001 From: yoshibot Date: Wed, 18 May 2016 23:52:06 -0500 Subject: [PATCH 004/325] remove bogus homebrew gzip; objdump allowed to fail in that way --- src/Makefile | 3 +-- src/Makefile.cfg | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Makefile b/src/Makefile index deee3854..cbd362ae 100644 --- a/src/Makefile +++ b/src/Makefile @@ -593,8 +593,7 @@ ifndef WINDOWSHELL endif endif -# i dont know why, but the os x executable absolutely hates -# being touched by objcopy. so let's not do it +# mac os x lsdlsrb2 does not like objcopy ifndef MACOSX ifndef PSP $(OBJCOPY) $(BIN)/$(EXENAME) $(BIN)/$(DBGNAME) diff --git a/src/Makefile.cfg b/src/Makefile.cfg index 7acb4559..2e67474c 100644 --- a/src/Makefile.cfg +++ b/src/Makefile.cfg @@ -405,13 +405,11 @@ endif # because Apple screws with us on this # need to get bintools from homebrew -# need to get gzip from homebrew (it's in dupes) ifdef MACOSX CC=clang CXX=clang OBJCOPY=gobjcopy OBJDUMP=gobjdump - GZIP=/usr/local/bin/gzip endif OBJDUMP_OPTS?=--wide --source --line-numbers From 9550f9626b4f804badd97196465ce8c2bfd621a1 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 20 May 2016 17:28:34 -0400 Subject: [PATCH 005/325] r_opengl.dll: UPX and static link libgcc --- src/Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index b6930ffd..463afccc 100644 --- a/src/Makefile +++ b/src/Makefile @@ -623,7 +623,10 @@ opengl_dll: $(BIN)/r_opengl.dll $(BIN)/r_opengl.dll: $(OBJDIR)/ogl_win.o $(OBJDIR)/r_opengl.o -$(MKDIR) $(BIN) @echo Linking R_OpenGL.dll... - $(CC) --shared $^ -o $@ -g -Wl,--add-stdcall-alias -lgdi32 + $(CC) --shared $^ -o $@ -g -Wl,--add-stdcall-alias -lgdi32 -static-libgcc +ifndef NOUPX + -$(UPX) $(UPX_OPTS) $@ +endif minigl_dll: $(BIN)/r_minigl.dll $(BIN)/r_minigl.dll: $(OBJDIR)/r_minigl.o From 57091261d95d5430955ea85838dad22d530037b8 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 21 May 2016 23:53:04 -0400 Subject: [PATCH 006/325] MSVC: fixed up MSVC project --- .gitignore | 2 +- SRB2_Debug.props | 28 + SRB2_Release.props | 32 + SRB2_common.props | 28 + SRB2_x86.props | 25 + comptime.props | 13 + libs/FMOD_common.props | 11 + libs/FMOD_x64.props | 12 + libs/FMOD_x86.props | 12 + libs/SDL2_common.props | 15 + libs/SDL_mixer_common.props | 15 + .../projects/visualc10/libpng.vcxproj | 9 +- .../FMOD.props => libs/libpng_common.props | 3 +- libs/zlib/projects/visualc10/zlib.vcxproj | 9 +- libs/zlib_common.props | 10 + src/hardware/hw_main.c | 2 +- src/hardware/r_opengl/r_opengl-vc10.vcxproj | 1 + src/hardware/r_opengl/r_opengl.h | 1 + src/hardware/s_openal/s_openal-vc10.vcxproj | 1 + src/i_addrinfo.c | 2 +- src/p_mobj.c | 10 +- src/p_slopes.c | 2 +- src/r_bsp.c | 2 +- src/r_plane.c | 4 +- src/sdl/SDL2_x64.props | 19 - src/sdl/SDL2_x86.props | 18 - src/sdl/SRB2SDL.props | 12 + src/sdl/Srb2SDL-vc10.vcxproj | 1680 ++++------------- src/sdl/Srb2SDL-vc10.vcxproj.filters | 879 +++++++++ src/sdl/i_system.c | 2 +- src/sdl/i_video.c | 2 +- src/sdl/ogl_sdl.c | 1 + src/win32/SRB2Win_common.props | 16 + src/win32/Srb2win-vc10.vcxproj | 1669 ++++------------ src/win32/Srb2win-vc10.vcxproj.filters | 869 +++++++++ src/win32/fabdxlib.c | 2 +- src/win32/win_cd.c | 6 +- src/win32/win_dbg.c | 11 +- src/win32/win_main.c | 5 +- src/win32/win_main.h | 1 - src/win32/win_sys.c | 25 +- 41 files changed, 2726 insertions(+), 2740 deletions(-) create mode 100644 SRB2_Debug.props create mode 100644 SRB2_Release.props create mode 100644 SRB2_common.props create mode 100644 SRB2_x86.props create mode 100644 comptime.props create mode 100644 libs/FMOD_common.props create mode 100644 libs/FMOD_x64.props create mode 100644 libs/FMOD_x86.props create mode 100644 libs/SDL2_common.props create mode 100644 libs/SDL_mixer_common.props rename src/win32/FMOD.props => libs/libpng_common.props (68%) create mode 100644 libs/zlib_common.props delete mode 100644 src/sdl/SDL2_x64.props delete mode 100644 src/sdl/SDL2_x86.props create mode 100644 src/sdl/SRB2SDL.props create mode 100644 src/sdl/Srb2SDL-vc10.vcxproj.filters create mode 100644 src/win32/SRB2Win_common.props create mode 100644 src/win32/Srb2win-vc10.vcxproj.filters diff --git a/.gitignore b/.gitignore index bb5e6a59..7b2304ec 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,4 @@ Win32_LIB_ASM_Release /objs/VC10/ *.user *.db -*.opendb \ No newline at end of file +*.opendb diff --git a/SRB2_Debug.props b/SRB2_Debug.props new file mode 100644 index 00000000..2c16f7cb --- /dev/null +++ b/SRB2_Debug.props @@ -0,0 +1,28 @@ + + + + + + true + + + + _DEBUG;%(PreprocessorDefinitions) + + + EditAndContinue + Disabled + _DEBUG;%(PreprocessorDefinitions) + true + MultiThreadedDebugDLL + true + All + true + EnableFastChecks + + + Debug + + + + \ No newline at end of file diff --git a/SRB2_Release.props b/SRB2_Release.props new file mode 100644 index 00000000..720c3969 --- /dev/null +++ b/SRB2_Release.props @@ -0,0 +1,32 @@ + + + + + + AllRules.ruleset + true + false + + + + true + true + NDEBUG;%(PreprocessorDefinitions) + Full + OnlyExplicitInline + true + Speed + true + + + NDEBUG;%(PreprocessorDefinitions) + + + false + DebugFastLink + true + true + + + + \ No newline at end of file diff --git a/SRB2_common.props b/SRB2_common.props new file mode 100644 index 00000000..72f3e10c --- /dev/null +++ b/SRB2_common.props @@ -0,0 +1,28 @@ + + + + + + MixedMinimumRules.ruleset + $(SolutionDir)bin\VC10\$(Platform)\$(Configuration)\ + $(SolutionDir)objs\VC10\$(Platform)\$(Configuration)\$(ProjectName)\ + + + + Level2 + HAVE_PNG;COMPVERSION;HAVE_BLUA;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions) + CompileAsC + true + true + false + false + + + ws2_32.lib;%(AdditionalDependencies) + Windows + false + true + + + + \ No newline at end of file diff --git a/SRB2_x86.props b/SRB2_x86.props new file mode 100644 index 00000000..34c95374 --- /dev/null +++ b/SRB2_x86.props @@ -0,0 +1,25 @@ + + + + + + + + USEASM;%(PreprocessorDefinitions) + + + + + + + + + + + + + false + + + + \ No newline at end of file diff --git a/comptime.props b/comptime.props new file mode 100644 index 00000000..e727dfb1 --- /dev/null +++ b/comptime.props @@ -0,0 +1,13 @@ + + + + + + + + "$(SolutionDir)comptime.bat" "$(ProjectDir).." + Getting revision number from the SCM system + + + + \ No newline at end of file diff --git a/libs/FMOD_common.props b/libs/FMOD_common.props new file mode 100644 index 00000000..1522adfd --- /dev/null +++ b/libs/FMOD_common.props @@ -0,0 +1,11 @@ + + + + + + $(SolutionDir)libs\fmodex\inc;$(IncludePath) + $(SolutionDir)libs\fmodex\lib;$(LibraryPath) + + + + \ No newline at end of file diff --git a/libs/FMOD_x64.props b/libs/FMOD_x64.props new file mode 100644 index 00000000..80d00d21 --- /dev/null +++ b/libs/FMOD_x64.props @@ -0,0 +1,12 @@ + + + + + + + + fmodexL64_vc.lib;%(AdditionalDependencies) + + + + \ No newline at end of file diff --git a/libs/FMOD_x86.props b/libs/FMOD_x86.props new file mode 100644 index 00000000..39e46be4 --- /dev/null +++ b/libs/FMOD_x86.props @@ -0,0 +1,12 @@ + + + + + + + + fmodexL_vc.lib;%(AdditionalDependencies) + + + + \ No newline at end of file diff --git a/libs/SDL2_common.props b/libs/SDL2_common.props new file mode 100644 index 00000000..645c5e35 --- /dev/null +++ b/libs/SDL2_common.props @@ -0,0 +1,15 @@ + + + + + + $(SolutionDir)libs\SDL2\include;$(IncludePath) + ..\..\libs\SDL2\lib\$(PlatformTarget);$(LibraryPath) + + + + SDL2.lib;%(AdditionalDependencies) + + + + \ No newline at end of file diff --git a/libs/SDL_mixer_common.props b/libs/SDL_mixer_common.props new file mode 100644 index 00000000..e8123324 --- /dev/null +++ b/libs/SDL_mixer_common.props @@ -0,0 +1,15 @@ + + + + + + $(SolutionDir)libs\SDL2_mixer\include;$(IncludePath) + ..\..\libs\SDL2_mixer\lib\$(PlatformTarget);$(LibraryPath) + + + + SDL2_mixer.lib;%(AdditionalDependencies) + + + + \ No newline at end of file diff --git a/libs/libpng-src/projects/visualc10/libpng.vcxproj b/libs/libpng-src/projects/visualc10/libpng.vcxproj index 3e6068b1..fb53826e 100644 --- a/libs/libpng-src/projects/visualc10/libpng.vcxproj +++ b/libs/libpng-src/projects/visualc10/libpng.vcxproj @@ -21,6 +21,7 @@ {72B01ACA-7A1A-4F7B-ACEF-2607299CF052} libpng + 8.1 @@ -81,7 +82,7 @@ ..\..;..\..\..\zlib;%(AdditionalIncludeDirectories) WIN32;NDEBUG;PNG_USE_PNGVCRD;PNG_LIBPNG_SPECIALBUILD;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true - MultiThreaded + MultiThreadedDLL true $(ProjectDir)$(Platform)\$(Configuration)\ $(ProjectDir)$(Platform)\$(Configuration)\ @@ -116,7 +117,7 @@ ..\..;..\..\..\zlib;%(AdditionalIncludeDirectories) WIN32;NDEBUG;PNG_USE_PNGVCRD;PNG_LIBPNG_SPECIALBUILD;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true - MultiThreaded + MultiThreadedDLL true $(ProjectDir)$(Platform)\$(Configuration)\ $(ProjectDir)$(Platform)\$(Configuration)\ @@ -149,7 +150,7 @@ WIN32;_DEBUG;DEBUG;PNG_DEBUG=1;PNG_USE_PNGVCRD;PNG_LIBPNG_SPECIALBUILD;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true EnableFastChecks - MultiThreadedDebug + MultiThreadedDebugDLL $(ProjectDir)$(Platform)\$(Configuration)\ $(ProjectDir)$(Platform)\$(Configuration)\ $(ProjectDir)$(Platform)\$(Configuration)\ @@ -183,7 +184,7 @@ WIN32;_DEBUG;DEBUG;PNG_DEBUG=1;PNG_USE_PNGVCRD;PNG_LIBPNG_SPECIALBUILD;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true EnableFastChecks - MultiThreadedDebug + MultiThreadedDebugDLL $(ProjectDir)$(Platform)\$(Configuration)\ $(ProjectDir)$(Platform)\$(Configuration)\ $(ProjectDir)$(Platform)\$(Configuration)\ diff --git a/src/win32/FMOD.props b/libs/libpng_common.props similarity index 68% rename from src/win32/FMOD.props rename to libs/libpng_common.props index a4e31add..8860e75f 100644 --- a/src/win32/FMOD.props +++ b/libs/libpng_common.props @@ -3,8 +3,7 @@ - ..\..\libs\fmodex\inc;$(IncludePath) - ..\..\libs\fmodex\lib;$(LibraryPath) + $(SolutionDir)libs\libpng-src;$(IncludePath) diff --git a/libs/zlib/projects/visualc10/zlib.vcxproj b/libs/zlib/projects/visualc10/zlib.vcxproj index 5e58f833..814641d3 100644 --- a/libs/zlib/projects/visualc10/zlib.vcxproj +++ b/libs/zlib/projects/visualc10/zlib.vcxproj @@ -21,6 +21,7 @@ {73A5729C-7323-41D4-AB48-8A03C9F81603} zlib + 8.1 @@ -81,7 +82,7 @@ WIN32;_DEBUG;ASMV;ASMINF;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) true Default - MultiThreadedDebug + MultiThreadedDebugDLL $(ProjectDir)$(Platform)\$(Configuration)\ $(ProjectDir)$(Platform)\$(Configuration)\ $(ProjectDir)$(Platform)\$(Configuration)\ @@ -114,7 +115,7 @@ WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) true EnableFastChecks - MultiThreadedDebug + MultiThreadedDebugDLL $(ProjectDir)$(Platform)\$(Configuration)\ $(ProjectDir)$(Platform)\$(Configuration)\ $(ProjectDir)$(Platform)\$(Configuration)\ @@ -144,7 +145,7 @@ OnlyExplicitInline WIN32;NDEBUG;ASMV;ASMINF;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) true - MultiThreaded + MultiThreadedDLL true $(ProjectDir)$(Platform)\$(Configuration)\ $(ProjectDir)$(Platform)\$(Configuration)\ @@ -177,7 +178,7 @@ OnlyExplicitInline WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) true - MultiThreaded + MultiThreadedDLL true $(ProjectDir)$(Platform)\$(Configuration)\ $(ProjectDir)$(Platform)\$(Configuration)\ diff --git a/libs/zlib_common.props b/libs/zlib_common.props new file mode 100644 index 00000000..52499362 --- /dev/null +++ b/libs/zlib_common.props @@ -0,0 +1,10 @@ + + + + + + $(SolutionDir)libs\zlib;$(IncludePath) + + + + \ No newline at end of file diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 41cccba2..5fb6a93f 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -2292,7 +2292,7 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) else if (drawtextured) { #ifdef ESLOPE // P.S. this is better-organized than the old version - fixed_t offs = sides[(newline ?: rover->master)->sidenum[0]].rowoffset; + fixed_t offs = sides[(newline ? newline : rover->master)->sidenum[0]].rowoffset; grTex = HWR_GetTexture(texnum); wallVerts[3].t = (*rover->topheight - h + offs) * grTex->scaleY; diff --git a/src/hardware/r_opengl/r_opengl-vc10.vcxproj b/src/hardware/r_opengl/r_opengl-vc10.vcxproj index 7c0aad69..43da2a3e 100644 --- a/src/hardware/r_opengl/r_opengl-vc10.vcxproj +++ b/src/hardware/r_opengl/r_opengl-vc10.vcxproj @@ -22,6 +22,7 @@ r_opengl {51137D5C-4E81-4955-AACF-EA3092006051} r_opengl + 8.1 diff --git a/src/hardware/r_opengl/r_opengl.h b/src/hardware/r_opengl/r_opengl.h index d5210437..6a2eba1d 100644 --- a/src/hardware/r_opengl/r_opengl.h +++ b/src/hardware/r_opengl/r_opengl.h @@ -21,6 +21,7 @@ #define _R_OPENGL_H_ #ifdef HAVE_SDL +#define _MATH_DEFINES_DEFINED #ifdef _MSC_VER #pragma warning(disable : 4214 4244) diff --git a/src/hardware/s_openal/s_openal-vc10.vcxproj b/src/hardware/s_openal/s_openal-vc10.vcxproj index 1b7d34c4..67d2d95a 100644 --- a/src/hardware/s_openal/s_openal-vc10.vcxproj +++ b/src/hardware/s_openal/s_openal-vc10.vcxproj @@ -22,6 +22,7 @@ s_openal {E662D0B3-412D-4D55-A5EC-8CBD680DDCBE} s_openal + 8.1 diff --git a/src/i_addrinfo.c b/src/i_addrinfo.c index f9ebe5e9..eb29e360 100644 --- a/src/i_addrinfo.c +++ b/src/i_addrinfo.c @@ -105,7 +105,7 @@ static void WS_addrinfosetup(void) return; // already have the functions // why not hold it into ipv6dll? becase we already link with ws2_32, silly! if (WS_getfunctions(GetModuleHandleA("ws2_32.dll")) == NULL) - ipv6dll = WS_getfunctions(LoadLibrary("wship6.dll")); + ipv6dll = WS_getfunctions(LoadLibraryA("wship6.dll")); } void WS_addrinfocleanup(void) diff --git a/src/p_mobj.c b/src/p_mobj.c index 878f17e7..4122619d 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -891,7 +891,7 @@ fixed_t P_MobjFloorZ(mobj_t *mobj, sector_t *sector, sector_t *boundsec, fixed_t testy += y; // If the highest point is in the sector, then we have it easy! Just get the Z at that point - if (R_PointInSubsector(testx, testy)->sector == (boundsec ?: sector)) + if (R_PointInSubsector(testx, testy)->sector == (boundsec ? boundsec : sector)) return P_GetZAt(slope, testx, testy); // If boundsec is set, we're looking for specials. In that case, iterate over every line in this sector to find the TRUE highest/lowest point @@ -979,7 +979,7 @@ fixed_t P_MobjCeilingZ(mobj_t *mobj, sector_t *sector, sector_t *boundsec, fixed testy += y; // If the highest point is in the sector, then we have it easy! Just get the Z at that point - if (R_PointInSubsector(testx, testy)->sector == (boundsec ?: sector)) + if (R_PointInSubsector(testx, testy)->sector == (boundsec ? boundsec : sector)) return P_GetZAt(slope, testx, testy); // If boundsec is set, we're looking for specials. In that case, iterate over every line in this sector to find the TRUE highest/lowest point @@ -1068,7 +1068,7 @@ fixed_t P_CameraFloorZ(camera_t *mobj, sector_t *sector, sector_t *boundsec, fix testy += y; // If the highest point is in the sector, then we have it easy! Just get the Z at that point - if (R_PointInSubsector(testx, testy)->sector == (boundsec ?: sector)) + if (R_PointInSubsector(testx, testy)->sector == (boundsec ? boundsec : sector)) return P_GetZAt(slope, testx, testy); // If boundsec is set, we're looking for specials. In that case, iterate over every line in this sector to find the TRUE highest/lowest point @@ -1156,7 +1156,7 @@ fixed_t P_CameraCeilingZ(camera_t *mobj, sector_t *sector, sector_t *boundsec, f testy += y; // If the highest point is in the sector, then we have it easy! Just get the Z at that point - if (R_PointInSubsector(testx, testy)->sector == (boundsec ?: sector)) + if (R_PointInSubsector(testx, testy)->sector == (boundsec ? boundsec : sector)) return P_GetZAt(slope, testx, testy); // If boundsec is set, we're looking for specials. In that case, iterate over every line in this sector to find the TRUE highest/lowest point @@ -2948,7 +2948,7 @@ static boolean P_SceneryZMovement(mobj_t *mo) || (mo->eflags & MFE_VERTICALFLIP && mo->z+mo->height >= mo->ceilingz)) // Hit the floor, so split! { // split - mobj_t *explodemo; + mobj_t *explodemo = NULL; UINT8 prandom, i; for (i = 0; i < 4; ++i) // split into four diff --git a/src/p_slopes.c b/src/p_slopes.c index 6ec3517d..f8a2752c 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -90,7 +90,7 @@ static void P_ReconfigureVertexSlope(pslope_t *slope) // Get angles slope->xydirection = R_PointToAngle2(0, 0, slope->d.x, slope->d.y)+ANGLE_180; - slope->zangle = -R_PointToAngle2(0, 0, FRACUNIT, slope->zdelta); + slope->zangle = InvAngle(R_PointToAngle2(0, 0, FRACUNIT, slope->zdelta))-1; } } diff --git a/src/r_bsp.c b/src/r_bsp.c index 4aeada1a..69aa7be2 100644 --- a/src/r_bsp.c +++ b/src/r_bsp.c @@ -1232,7 +1232,7 @@ void R_Prep3DFloors(sector_t *sector) INT32 count, i, mapnum; sector_t *sec; #ifdef ESLOPE - pslope_t *bestslope; + pslope_t *bestslope = NULL; fixed_t heighttest; // I think it's better to check the Z height at the sector's center // than assume unsloped heights are accurate indicators of order in sloped sectors. -Red #endif diff --git a/src/r_plane.c b/src/r_plane.c index 163e4c39..19007d88 100644 --- a/src/r_plane.c +++ b/src/r_plane.c @@ -955,8 +955,8 @@ void R_DrawSinglePlane(visplane_t *pl) // Okay, look, don't ask me why this works, but without this setup there's a disgusting-looking misalignment with the textures. -Red fudge = ((1<viewx+xoffs); vy = FIXED_TO_FLOAT(pl->viewy-yoffs); diff --git a/src/sdl/SDL2_x64.props b/src/sdl/SDL2_x64.props deleted file mode 100644 index 0ea83008..00000000 --- a/src/sdl/SDL2_x64.props +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - ..\..\libs\SDL2_mixer\include;..\..\libs\SDL2\include;$(IncludePath) - ..\..\libs\SDL2\lib\x64;..\..\libs\SDL2_mixer\lib\x64;$(LibraryPath) - - - - %(PreprocessorDefinitions) - - - - SDL2.lib;SDL2_mixer.lib;%(AdditionalDependencies) - - - - \ No newline at end of file diff --git a/src/sdl/SDL2_x86.props b/src/sdl/SDL2_x86.props deleted file mode 100644 index 78421e6d..00000000 --- a/src/sdl/SDL2_x86.props +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - ..\..\libs\SDL2_mixer\include;..\..\libs\SDL2\include;$(IncludePath) - ..\..\libs\SDL2\lib\x86;..\..\libs\SDL2_mixer\lib\x86;$(LibraryPath) - - - - %(PreprocessorDefinitions) - - - SDL2.lib;SDL2_mixer.lib;%(AdditionalDependencies) - - - - \ No newline at end of file diff --git a/src/sdl/SRB2SDL.props b/src/sdl/SRB2SDL.props new file mode 100644 index 00000000..260f81ee --- /dev/null +++ b/src/sdl/SRB2SDL.props @@ -0,0 +1,12 @@ + + + + + + + + USE_WGL_SWAP;DIRECTFULLSCREEN;HAVE_SDL;HWRENDER;HW3SOUND;HAVE_FILTER;HAVE_MIXER;SDLMAIN;%(PreprocessorDefinitions) + + + + \ No newline at end of file diff --git a/src/sdl/Srb2SDL-vc10.vcxproj b/src/sdl/Srb2SDL-vc10.vcxproj index 2d677f74..5d564969 100644 --- a/src/sdl/Srb2SDL-vc10.vcxproj +++ b/src/sdl/Srb2SDL-vc10.vcxproj @@ -19,15 +19,19 @@ - Srb2SDL + Srb2Win {61BA7D3C-F77D-4D31-B718-1177FE482CF2} + Win32Proj Srb2SDL + 8.1 + Srb2SDL Application false v140 + true Application @@ -38,6 +42,7 @@ Application false v140 + true Application @@ -47,264 +52,255 @@ - - - - + + + + + + + + - + - - + + - + - - + + - + - - + + + + + <_ProjectFileVersion>10.0.30319.1 - .\..\..\bin\VC10\$(Platform)\$(Configuration)\ - .\..\..\objs\VC10\$(Platform)\$(Configuration)\SDL\ - true - .\..\..\bin\VC10\$(Platform)\$(Configuration)\ - .\..\..\objs\VC10\$(Platform)\$(Configuration)\SDL\ - true - .\..\..\bin\VC10\$(Platform)\$(Configuration)\ - .\..\..\objs\VC10\$(Platform)\$(Configuration)\SDL\ - false - .\..\..\bin\VC10\$(Platform)\$(Configuration)\ - .\..\..\objs\VC10\$(Platform)\$(Configuration)\SDL\ - false - $(SDL20_PREFIX)\include;$(SDL20_MIXER_PREFIX)\include;$(FMOD3_PREFIX)api\inc;$(IncludePath) - $(SDL20_PREFIX)\include;$(SDL20_MIXER_PREFIX)\include;$(FMOD3_PREFIX)api\inc;$(IncludePath) - $(SDL20_PREFIX)\include;$(SDL20_MIXER_PREFIX)\include;$(FMOD3_PREFIX)api\inc;$(IncludePath) - $(SDL20_PREFIX)\include;$(SDL20_MIXER_PREFIX)\include;$(FMOD3_PREFIX)api\inc;$(IncludePath) - $(SDL20_PREFIX)\lib;$(SDL20_MIXER_PREFIX)\lib;$(LibraryPath) - $(SDL20_PREFIX)\lib;$(SDL20_MIXER_PREFIX)\lib;$(LibraryPath) - $(SDL20_PREFIX)\lib\x64;$(SDL20_MIXER_PREFIX)\lib\x64;$(LibraryPath) - $(SDL20_PREFIX)\lib\x64;$(SDL20_MIXER_PREFIX)\lib\x64;$(LibraryPath) - - - Getting revision number from the SCM system - "$(ProjectDir)..\..\comptime.bat" "$(ProjectDir).." - - - .\..\..\bin\VC10\$(Platform)\$(Configuration)\SDL\Srb2SDL-vc9.tlb - - - - - Disabled - $(ProjectDir)..\..\libs\libpng-src;$(ProjectDir)..\..\libs\zlib;%(AdditionalIncludeDirectories) - _DEBUG;USE_WGL_SWAP;DIRECTFULLSCREEN;HAVE_SDL;HWRENDER;HW3SOUND;HAVE_FILTER;HAVE_MIXER;USEASM;HAVE_PNG;COMPVERSION;HAVE_BLUA;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - $(IntDir) - $(IntDir)Srb2SDL.pdb - true - Level2 - true - true - EditAndContinue - CompileAsC - 4121;%(DisableSpecificWarnings) - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - ws2_32.lib;%(AdditionalDependencies) - $(OutDir)srb2sdl.exe - true - true - $(OutDir)srb2sdl.pdb - Console - false - - - MachineX86 - /SAFESEH:NO %(AdditionalOptions) - - - true - $(OutDir)Srb2sdl.bsc - - - - - Getting revision number from the SCM system - "$(ProjectDir)..\..\comptime.bat" "$(ProjectDir).." - - - X64 - .\..\..\bin\VC10\$(Platform)\$(Configuration)\SDL\Srb2SDL-vc9.tlb - - - - - Disabled - $(ProjectDir)..\..\libs\libpng-src;$(ProjectDir)..\..\libs\zlib;%(AdditionalIncludeDirectories) - _DEBUG;USE_WGL_SWAP;DIRECTFULLSCREEN;HAVE_SDL;HWRENDER;HW3SOUND;HAVE_FILTER;HAVE_MIXER;HAVE_PNG;COMPVERSION;HAVE_BLUA;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - $(IntDir) - $(IntDir)Srb2SDL.pdb - true - Level2 - true - true - ProgramDatabase - CompileAsC - 4121;%(DisableSpecificWarnings) - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - ws2_32.lib;%(AdditionalDependencies) - $(OutDir)srb2sdl.exe - true - true - $(OutDir)srb2sdl.pdb - Console - false - - - MachineX64 - /SAFESEH:NO %(AdditionalOptions) - - - true - $(OutDir)Srb2sdl.bsc - - - - - Getting revision number from the SCM system - "$(ProjectDir)..\..\comptime.bat" "$(ProjectDir).." - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\..\..\bin\VC10\$(Platform)\$(Configuration)\SDL\Srb2SDL-vc9.tlb - - - - - /MP %(AdditionalOptions) - Disabled - OnlyExplicitInline - true - Speed - true - $(ProjectDir)..\..\libs\libpng-src;$(ProjectDir)..\..\libs\zlib;%(AdditionalIncludeDirectories) - NDEBUG;SDLMAIN;NO_STDIO_REDIRECT;USE_WGL_SWAP;DIRECTFULLSCREEN;HAVE_SDL;HWRENDER;HW3SOUND;HAVE_FILTER;HAVE_MIXER;USEASM;HAVE_PNG;COMPVERSION;HAVE_BLUA;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) - true - MultiThreaded - .\..\..\objs\VC10\$(Platform)\$(Configuration)\SDL\Srb2SDL-vc9.pch - $(IntDir) - $(IntDir)Srb2SDL.pdb - true - Level2 - true - ProgramDatabase - CompileAsC - 4121;%(DisableSpecificWarnings) - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - ws2_32.lib;%(AdditionalDependencies) - $(OutDir)srb2sdl.exe - true - true - $(OutDir)srb2sdl.pdb - Windows - false - - - MachineX86 - /SAFESEH:NO %(AdditionalOptions) - - - true - $(OutDir)Srb2sdl.bsc - - - - - Getting revision number from the SCM system - "$(ProjectDir)..\..\comptime.bat" "$(ProjectDir).." - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\..\..\bin\VC10\$(Platform)\$(Configuration)\SDL\Srb2SDL-vc9.tlb - - - - - /MP %(AdditionalOptions) - Disabled - OnlyExplicitInline - true - Speed - true - $(ProjectDir)..\..\libs\libpng-src;$(ProjectDir)..\..\libs\zlib;%(AdditionalIncludeDirectories) - NDEBUG;SDLMAIN;NO_STDIO_REDIRECT;USE_WGL_SWAP;DIRECTFULLSCREEN;HAVE_SDL;HWRENDER;HW3SOUND;HAVE_FILTER;HAVE_MIXER;HAVE_PNG;COMPVERSION;HAVE_BLUA;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) - true - MultiThreaded - .\..\..\objs\VC10\$(Platform)\$(Configuration)\SDL\Srb2SDL-vc9.pch - $(IntDir) - $(IntDir)Srb2SDL.pdb - true - Level2 - true - ProgramDatabase - CompileAsC - 4121;%(DisableSpecificWarnings) - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - ws2_32.lib;%(AdditionalDependencies) - $(OutDir)srb2sdl.exe - true - true - $(OutDir)srb2sdl.pdb - Windows - false - - - MachineX64 - /SAFESEH:NO %(AdditionalOptions) - - - true - $(OutDir)Srb2sdl.bsc - - + + NativeMinimumRules.ruleset + + + NativeMinimumRules.ruleset + false + + + NativeMinimumRules.ruleset + + + NativeMinimumRules.ruleset + false + + + {72b01aca-7a1a-4f7b-acef-2607299cf052} + false + + + {73a5729c-7323-41d4-ab48-8a03c9f81603} + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Document + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + true + true + + + + + Document + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + true + true + + + + + Document + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + true + true + + + + + + + + + @@ -330,12 +326,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + true - true true + true true + @@ -348,1106 +370,114 @@ + + + + + + - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - + + + + + + + + + + + + + + + + + + + + + + + + + true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) + + + + + + + + + + + + + + true + true + true + true - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) + + true + true + true + true - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) + + true + true + true + true - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) + + true + true + true + true - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) + + + + + + + + + + true + true + true + true + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - true - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - true - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - - - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - true - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - true - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - - - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - true - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - true - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - - - - - - - - - - %(PreprocessorDefinitions) - \Users\alam\svn\srb2mods\SRB2\branches\ALAM\src\win32;%(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - \Users\alam\svn\srb2mods\SRB2\branches\ALAM\src\win32;%(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - \Users\alam\svn\srb2mods\SRB2\branches\ALAM\src\win32;%(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - \Users\alam\svn\srb2mods\SRB2\branches\ALAM\src\win32;%(AdditionalIncludeDirectories) - - - - - {72b01aca-7a1a-4f7b-acef-2607299cf052} - false - - - {73a5729c-7323-41d4-ab48-8a03c9f81603} - false - + diff --git a/src/sdl/Srb2SDL-vc10.vcxproj.filters b/src/sdl/Srb2SDL-vc10.vcxproj.filters new file mode 100644 index 00000000..9396b482 --- /dev/null +++ b/src/sdl/Srb2SDL-vc10.vcxproj.filters @@ -0,0 +1,879 @@ + + + + + {646b0817-0dc5-4793-92da-24f7c073eda9} + + + {623dc46a-ca67-4857-a2f0-d4357ff43cd7} + + + {067072e3-d4f9-4198-8f0f-cfcbc2f6c02e} + + + {b92269bc-8016-4be6-8af4-47ad1fee89f6} + + + {87800b1f-d777-4c10-876c-2d92cb872dce} + + + {62561ca5-fce2-4d08-a949-a0a3d17bf339} + + + {2b867933-3f95-4c63-b3a9-a00f84446cbb} + + + {32aefb9c-2644-4093-9ef5-e91d44aa1037} + + + {b7a026c5-1987-42c4-bc59-4eeb4f54b7c9} + + + {bdfebd6c-f16e-47f5-9d8c-24baf1bad420} + + + {803cf010-5486-46c8-ade2-b01a0869210a} + + + {83376506-8a10-4a40-a039-42b2ec7bf0f4} + + + {11b4cbfe-c155-4a85-9cc6-f6c88b6972e0} + + + {11c84652-594a-44bf-a878-74623ec884ca} + + + {7609c825-447e-4462-be3c-75a4994227f0} + + + {b312a1da-edaa-49d2-b206-c269173a4394} + + + {06686222-4320-4c3d-8685-2b8545d587d5} + + + {3ae8d323-3eeb-47ab-8c28-b891616db1b4} + + + + + A_Asm + + + B_Bots + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + F_Frame + + + G_Game + + + G_Game + + + G_Game + + + H_Hud + + + H_Hud + + + H_Hud + + + H_Hud + + + H_Hud + + + H_Hud + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + LUA + + + LUA + + + LUA + + + LUA + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + O_Other + + + O_Other + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + S_Sounds + + + S_Sounds + + + W_Wad + + + W_Wad + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + + + A_Asm + + + A_Asm + + + A_Asm + + + + + A_Asm + + + O_Other + + + SDLApp + + + + + B_Bots + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + F_Frame + + + F_Frame + + + G_Game + + + G_Game + + + H_Hud + + + H_Hud + + + H_Hud + + + H_Hud + + + H_Hud + + + H_Hud + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + O_Other + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + S_Sounds + + + S_Sounds + + + W_Wad + + + W_Wad + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + SDLApp + + + + + SDLApp + + + \ No newline at end of file diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index 2e9ebbed..469837c0 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -77,7 +77,7 @@ void __set_fpscr(long); // in libgcc / kernel's startup.s? #endif #ifdef HAVE_SDL - +#define _MATH_DEFINES_DEFINED #include "SDL.h" #ifdef HAVE_TTF diff --git a/src/sdl/i_video.c b/src/sdl/i_video.c index 0a0aaf31..b5168dad 100644 --- a/src/sdl/i_video.c +++ b/src/sdl/i_video.c @@ -26,7 +26,7 @@ #endif #ifdef HAVE_SDL - +#define _MATH_DEFINES_DEFINED #include "SDL.h" #ifdef _MSC_VER diff --git a/src/sdl/ogl_sdl.c b/src/sdl/ogl_sdl.c index ba7e6517..21afd831 100644 --- a/src/sdl/ogl_sdl.c +++ b/src/sdl/ogl_sdl.c @@ -22,6 +22,7 @@ #endif #ifdef HAVE_SDL +#define _MATH_DEFINES_DEFINED #include "SDL.h" diff --git a/src/win32/SRB2Win_common.props b/src/win32/SRB2Win_common.props new file mode 100644 index 00000000..44a30d50 --- /dev/null +++ b/src/win32/SRB2Win_common.props @@ -0,0 +1,16 @@ + + + + + + + + _WINDOWS;%(PreprocessorDefinitions) + + + + dxguid.lib;winmm.lib;dinput8.lib;%(AdditionalDependencies) + + + + \ No newline at end of file diff --git a/src/win32/Srb2win-vc10.vcxproj b/src/win32/Srb2win-vc10.vcxproj index 6d05735e..efa97738 100644 --- a/src/win32/Srb2win-vc10.vcxproj +++ b/src/win32/Srb2win-vc10.vcxproj @@ -5,445 +5,114 @@ Debug Win32 - - Debug - x64 - Release Win32 + + Debug + x64 + Release x64 - Srb2win {0F554F1D-ED49-4D65-A9A7-F63C57F277BE} + Win32Proj Srb2win + 8.1 + Srb2DD - - Application - false + + true v140 - - Application - false + + false + v140 + true + + + true v140 Application - false - v140 - - - Application - false + false v140 + true - - - - + + + + + + + - + - - + + + - + - - + + + - + - - + + + + + + + - - <_ProjectFileVersion>10.0.30319.1 - .\..\..\bin\VC10\$(Platform)\$(Configuration)\ - .\..\..\objs\VC10\$(Platform)\$(Configuration)\ - true - .\..\..\bin\VC10\$(Platform)\$(Configuration)\ - .\..\..\objs\VC10\$(Platform)\$(Configuration)\ - true - .\..\..\bin\VC10\$(Platform)\$(Configuration)\ - .\..\..\objs\VC10\$(Platform)\$(Configuration)\ - false - .\..\..\bin\VC10\$(Platform)\$(Configuration)\ - .\..\..\objs\VC10\$(Platform)\$(Configuration)\ - false - $(DXSDK_DIR)Include;$(FMOD3_PREFIX)api\inc;$(IncludePath) - $(DXSDK_DIR)Include;$(FMOD3_PREFIX)api\inc;$(IncludePath) - $(DXSDK_DIR)Include;$(FMOD3_PREFIX)api\inc;$(IncludePath) - $(DXSDK_DIR)Include;$(FMOD3_PREFIX)api\inc;$(IncludePath) - $(DXSDK_DIR)Lib;$(LibraryPath) - $(DXSDK_DIR)Lib;$(LibraryPath) - $(DXSDK_DIR)\Lib\x64;$(LibraryPath) - $(DXSDK_DIR)\Lib\x64;$(LibraryPath) + + NativeMinimumRules.ruleset + false + + + NativeMinimumRules.ruleset + false + + + NativeMinimumRules.ruleset + false + + + NativeMinimumRules.ruleset + false - - Getting revision number from the SCM system - "$(ProjectDir)..\..\comptime.bat" "$(ProjectDir).." - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\..\..\bin\VC10\$(Platform)\$(Configuration)\Srb2win.tlb - - - - - Disabled - false - $(ProjectDir)..\..\libs\libpng-src;$(ProjectDir)..\..\libs\zlib;%(AdditionalIncludeDirectories) - _DEBUG;_WINDOWS;USEASM;HAVE_PNG;COMPVERSION;HAVE_BLUA;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) - true - MultiThreadedDebug - true - All - $(IntDir) - $(IntDir)Srb2win.pdb - true - Level2 - true - EditAndContinue - CompileAsC - false - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - dxguid.lib;winmm.lib;ws2_32.lib;dinput8.lib;fmodexL_vc.lib;%(AdditionalDependencies) - $(OutDir)srb2win.exe - true - true - $(OutDir)srb2win.pdb - Windows - false - - - MachineX86 - /SAFESEH:NO %(AdditionalOptions) - - - true - $(OutDir)Srb2win.bsc - + + - - Getting revision number from the SCM system - "$(ProjectDir)..\..\comptime.bat" "$(ProjectDir).." - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\..\..\bin\VC10\$(Platform)\$(Configuration)\Srb2win.tlb - - - - - Disabled - false - $(ProjectDir)..\..\libs\libpng-src;$(ProjectDir)..\..\libs\zlib;%(AdditionalIncludeDirectories) - _DEBUG;_WINDOWS;HAVE_PNG;COMPVERSION;HAVE_BLUA;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) - true - EnableFastChecks - true - MultiThreadedDebug - true - All - $(IntDir) - $(IntDir)Srb2win.pdb - true - Level2 - true - ProgramDatabase - CompileAsC - false - true - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - dxguid.lib;winmm.lib;ws2_32.lib;dinput8.lib;fmodex64_vc.lib;%(AdditionalDependencies) - $(OutDir)srb2win.exe - true - true - $(OutDir)srb2win.pdb - Windows - false - - - MachineX64 - /SAFESEH:NO %(AdditionalOptions) - - - true - $(OutDir)Srb2win.bsc - + + - - Getting revision number from the SCM system - "$(ProjectDir)..\..\comptime.bat" "$(ProjectDir).." - - - NDEBUG;%(PreprocessorDefinitions) - true - Win32 - .\..\..\bin\VC10\$(Platform)\$(Configuration)\Srb2win.tlb - - - - - Disabled - OnlyExplicitInline - true - Speed - true - $(ProjectDir)..\..\libs\libpng-src;$(ProjectDir)..\..\libs\zlib;%(AdditionalIncludeDirectories) - NDEBUG;_WINDOWS;USEASM;HAVE_PNG;COMPVERSION;HAVE_BLUA;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) - true - MultiThreaded - true - $(IntDir) - $(IntDir)Srb2win.pdb - true - Level2 - true - ProgramDatabase - CompileAsC - true - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - dxguid.lib;winmm.lib;ws2_32.lib;dinput8.lib;fmodexL_vc.lib;%(AdditionalDependencies) - $(OutDir)srb2win.exe - true - true - $(OutDir)srb2win.pdb - Windows - false - - - MachineX86 - /SAFESEH:NO %(AdditionalOptions) - - - true - $(OutDir)Srb2win.bsc - + + - - Getting revision number from the SCM system - "$(ProjectDir)..\..\comptime.bat" "$(ProjectDir).." - - - NDEBUG;%(PreprocessorDefinitions) - true - X64 - .\..\..\bin\VC10\$(Platform)\$(Configuration)\Srb2win.tlb - - - - - Disabled - OnlyExplicitInline - true - Speed - true - $(ProjectDir)..\..\libs\libpng-src;$(ProjectDir)..\..\libs\zlib;%(AdditionalIncludeDirectories) - NDEBUG;_WINDOWS;HAVE_PNG;COMPVERSION;HAVE_BLUA;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions) - true - MultiThreaded - true - $(IntDir) - $(IntDir)Srb2win.pdb - true - Level2 - true - ProgramDatabase - CompileAsC - true - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - dxguid.lib;winmm.lib;ws2_32.lib;dinput8.lib;fmodex64_vc.lib;%(AdditionalDependencies) - $(OutDir)srb2win.exe - true - true - $(OutDir)srb2win.pdb - Windows - false - - - MachineX64 - /SAFESEH:NO %(AdditionalOptions) - - - true - $(OutDir)Srb2win.bsc - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -469,6 +138,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + true + + @@ -481,951 +178,285 @@ + + + + + + + - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - + + + + + + + + + + + + + + + + + + + + + + + + + - true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) + true - true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - true - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) + true - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) + + + + + + + + + + + + + + true - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) + + true - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) + + true - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) + + true + + + + + + + + + + + + + + - - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - %(PreprocessorDefinitions) - win32;%(AdditionalIncludeDirectories) - %(PreprocessorDefinitions) - win32;%(AdditionalIncludeDirectories) - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - true - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - true - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - - - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - true - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - true - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - - - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - true - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - true - Compiling %(Filename).nas with NASM... - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - $(IntDir)%(Filename).obj;%(Outputs) - - - - - - + + + + {72b01aca-7a1a-4f7b-acef-2607299cf052} - false {73a5729c-7323-41d4-ab48-8a03c9f81603} - false + + + + + Document + true + true + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + + + Document + true + true + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + + + Document + true + true + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + $(IntDir)%(Filename).obj;%(Outputs) + + diff --git a/src/win32/Srb2win-vc10.vcxproj.filters b/src/win32/Srb2win-vc10.vcxproj.filters new file mode 100644 index 00000000..3f5b84bf --- /dev/null +++ b/src/win32/Srb2win-vc10.vcxproj.filters @@ -0,0 +1,869 @@ + + + + + {20cba664-c3ef-48f1-85dd-42aafd5345cc} + + + {d3817a65-82f5-4989-9217-e5a7f43380a0} + + + {9c3ed4ae-dbed-4d00-a164-b8bb7fc1710c} + + + {4b8a8fb6-7c84-48c2-85d1-0583e6b8cacd} + + + {1907eee5-0ebf-4325-a2fa-793f089ed2e3} + + + {b9e78a3f-3e2b-4f89-9817-b77c7a26d2aa} + + + {3f336df5-a1d7-4610-9728-4525e42c0abc} + + + {b5090aa0-6645-4091-aa1a-ffc3bf4dc422} + + + {d59e82c9-68e5-44bf-827e-f7bb1676cd6c} + + + {29e746a2-3d91-4b69-af6e-5e03895516b7} + + + {b295d364-61c3-4ebb-9b68-7d6c0bb891be} + + + {ba258ec5-13d7-4083-98bd-c2ee58700b66} + + + {6163f1e5-da5d-4af2-b92c-753452f9e1d0} + + + {077b0966-1151-4afa-a533-120a4c931322} + + + {bded90bc-8019-42b1-ba19-32166743d3e3} + + + {c0ddfdb5-7494-4cca-b2ad-cb048be9cbdf} + + + {d5157f99-43ef-49cc-ad76-658a1168fc0d} + + + {2cedf139-53a1-40ea-b4de-19e9f4505a1f} + + + + + Win32app + + + Win32app + + + Win32app + + + Win32app + + + Win32app + + + Win32app + + + Win32app + + + Win32app + + + Win32app + + + Win32app + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + G_Game + + + G_Game + + + F_Frame + + + F_Frame + + + I_Interface + + + I_Interface + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + LUA + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + H_Hud + + + B_Bots + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + S_Sounds + + + W_Wad + + + W_Wad + + + S_Sounds + + + O_Other + + + H_Hud + + + H_Hud + + + I_Interface + + + H_Hud + + + P_Play + + + I_Interface + + + H_Hud + + + R_Rend + + + R_Rend + + + H_Hud + + + D_Doom + + + M_Misc + + + + + Win32app + + + Win32app + + + Win32app + + + Win32app + + + Win32app + + + Win32app + + + Win32app + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + Hw_Hardware + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + BLUA + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + D_Doom + + + G_Game + + + G_Game + + + G_Game + + + F_Frame + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + I_Interface + + + LUA + + + LUA + + + LUA + + + LUA + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + M_Misc + + + H_Hud + + + B_Bots + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + P_Play + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + R_Rend + + + P_Play + + + S_Sounds + + + W_Wad + + + W_Wad + + + I_Interface + + + S_Sounds + + + O_Other + + + I_Interface + + + H_Hud + + + H_Hud + + + I_Interface + + + I_Interface + + + H_Hud + + + P_Play + + + I_Interface + + + A_Asm + + + H_Hud + + + R_Rend + + + R_Rend + + + H_Hud + + + D_Doom + + + O_Other + + + + + Win32app + + + + + Win32app + + + + + A_Asm + + + O_Other + + + + + A_Asm + + + A_Asm + + + A_Asm + + + \ No newline at end of file diff --git a/src/win32/fabdxlib.c b/src/win32/fabdxlib.c index a5e4dab4..c19b036a 100644 --- a/src/win32/fabdxlib.c +++ b/src/win32/fabdxlib.c @@ -138,7 +138,7 @@ BOOL EnumDirectDrawDisplayModes (APPENUMMODESCALLBACK appFunc) } static HINSTANCE DDrawDLL = NULL; -typedef BOOL (WINAPI *DDCreate)(GUID FAR *lpGUID, LPDIRECTDRAW FAR *lplpDD, IUnknown FAR *pUnkOuter); +typedef HRESULT(WINAPI *DDCreate)(GUID FAR *lpGUID, LPDIRECTDRAW FAR *lplpDD, IUnknown FAR *pUnkOuter); static DDCreate pfnDirectDrawCreate = NULL; static inline BOOL LoadDirectDraw(VOID) diff --git a/src/win32/win_cd.c b/src/win32/win_cd.c index eeb93e7d..d73b9552 100644 --- a/src/win32/win_cd.c +++ b/src/win32/win_cd.c @@ -60,7 +60,7 @@ static VOID MCIErrorMessageBox (MCIERROR iErrorCode) { char szErrorText[128]; if (!mciGetErrorStringA (iErrorCode, szErrorText, sizeof (szErrorText))) - wsprintfA(szErrorText,"MCI CD Audio Unknown Error #%d\n", iErrorCode); + wsprintfA(szErrorText,"MCI CD Audio Unknown Error #%lu\n", iErrorCode); I_OutputMsg("%s", szErrorText); /*MessageBox (GetActiveWindow(), szTemp+1, "LEGACY", MB_OK | MB_ICONSTOP);*/ @@ -180,9 +180,9 @@ static LPSTR hms(UINT seconds) hours = minutes / 60; minutes %= 60; if (hours > 0) - sprintf (s, "%d:%02d:%02d", hours, minutes, seconds); + sprintf (s, "%lu:%02lu:%02lu", hours, minutes, seconds); else - sprintf (s, "%2d:%02d", minutes, seconds); + sprintf (s, "%2lu:%02lu", minutes, seconds); return s; } diff --git a/src/win32/win_dbg.c b/src/win32/win_dbg.c index 24f3335c..23416af1 100644 --- a/src/win32/win_dbg.c +++ b/src/win32/win_dbg.c @@ -412,11 +412,14 @@ LONG WINAPI RecordExceptionInfo(PEXCEPTION_POINTERS data/*, LPCSTR Message, LPST } BeenHere = TRUE; + if (Context) + { #ifdef _X86_ - code = (LPBYTE)(size_t)Context->Eip; + code = (LPBYTE)(size_t)Context->Eip; #elif defined (_AMD64_) - code = (LPBYTE)(size_t)Context->Rip; + code = (LPBYTE)(size_t)Context->Rip; #endif // || defined (_IA64_) + } // Create a filename to record the error information to. // Store it in the executable directory. @@ -628,12 +631,12 @@ LONG WINAPI RecordExceptionInfo(PEXCEPTION_POINTERS data/*, LPCSTR Message, LPST while(pStack + 1 <= pStackTop) { if ((Count % StackColumns) == 0) - output += wsprintf(output, TEXT("%08x: "), pStack); + output += wsprintf(output, TEXT("%p: "), pStack); if ((++Count % StackColumns) == 0 || pStack + 2 > pStackTop) Suffix = TEXT("\r\n"); else Suffix = TEXT(" "); - output += wsprintf(output, TEXT("%08x%s"), *pStack, Suffix); + output += wsprintf(output, TEXT("%p%s"), *pStack, Suffix); pStack++; // Check for when the buffer is almost full, and flush it to disk. if ( output > nearend) diff --git a/src/win32/win_main.c b/src/win32/win_main.c index 867d6aaf..9c9a20e7 100644 --- a/src/win32/win_main.c +++ b/src/win32/win_main.c @@ -88,8 +88,7 @@ static LRESULT CALLBACK MainWndproc(HWND hWnd, UINT message, WPARAM wParam, LPAR if (message == MSHWheelMessage) { message = WM_MOUSEWHEEL; - if (win9x) - wParam <<= 16; + wParam <<= 16; } //I_OutputMsg("MainWndproc: %p,%i,%i,%i",hWnd, message, wParam, (UINT)lParam); @@ -471,7 +470,7 @@ static inline BOOL tlErrorMessage(const TCHAR *err) // // warn user if there is one // - printf("Error %s..\n", err); + printf("Error %Ts..\n", err); fflush(stdout); MessageBox(hWndMain, err, TEXT("ERROR"), MB_OK); diff --git a/src/win32/win_main.h b/src/win32/win_main.h index 05852f83..ed55246a 100644 --- a/src/win32/win_main.h +++ b/src/win32/win_main.h @@ -30,7 +30,6 @@ extern UINT MSHWheelMessage; extern BOOL nodinput; BOOL LoadDirectInput(VOID); -extern BOOL win9x; //faB: midi channel Volume set is delayed by the MIDI stream callback thread, see win_snd.c #define WM_MSTREAM_UPDATEVOLUME (WM_USER + 101) diff --git a/src/win32/win_sys.c b/src/win32/win_sys.c index 2babb57b..0331080c 100644 --- a/src/win32/win_sys.c +++ b/src/win32/win_sys.c @@ -170,24 +170,6 @@ ticcmd_t *I_BaseTiccmd2(void) // of win95 etc... // -BOOL win9x; - -/** \brief WinNT system platform -*/ -static BOOL winnt; - -static void I_DetectWin9x(VOID) -{ - OSVERSIONINFO osvi; - - osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); - GetVersionEx(&osvi); - - winnt = (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT); - // 95 or 98 what the hell - win9x = true; -} - // return free and total memory in the system UINT32 I_GetFreeMem(UINT32* total) { @@ -3095,7 +3077,7 @@ void I_UpdateMumble(const mobj_t *mobj, const listener_t listener) return; if(mumble->uiVersion != 2) { - wcsncpy(mumble->name, L"SRB2 "VERSIONSTRING, 256); + wcsncpy(mumble->name, L"SRB2 "VERSIONSTRINGW, 256); wcsncpy(mumble->description, L"Sonic Robo Blast 2 with integrated Mumble Link support.", 2048); mumble->uiVersion = 2; } @@ -3405,7 +3387,7 @@ getBufferedData: } static HINSTANCE DInputDLL = NULL; -typedef HRESULT (WINAPI *DICreateA)(HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPUT *ppDI, LPUNKNOWN punkOuter); +typedef HRESULT (WINAPI *DICreateA)(HINSTANCE hinst, DWORD dwVersion, LPDIRECTINPUTA *ppDI, LPUNKNOWN punkOuter); static DICreateA pfnDirectInputCreateA = NULL; BOOL LoadDirectInput(VOID) @@ -3452,9 +3434,6 @@ INT32 I_StartupSystem(void) // some 'more global than globals' things to initialize here ? graphics_started = keyboard_started = sound_started = cdaudio_started = false; - I_DetectWin9x(); - - // check for OS type and version here? #ifdef NDEBUG #ifdef BUGTRAP From f45feb77fc328e1206b2b8885d87dfe9663faa0e Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sun, 22 May 2016 00:44:12 -0400 Subject: [PATCH 007/325] MSVC: kill level 3 warnings --- SRB2_common.props | 3 ++- src/p_setup.c | 2 +- src/p_spec.c | 2 +- src/r_data.c | 4 ++-- src/sdl/i_system.c | 2 +- src/sdl/mixer_sound.c | 10 +++++----- 6 files changed, 12 insertions(+), 11 deletions(-) diff --git a/SRB2_common.props b/SRB2_common.props index 72f3e10c..775816be 100644 --- a/SRB2_common.props +++ b/SRB2_common.props @@ -9,13 +9,14 @@ - Level2 + Level3 HAVE_PNG;COMPVERSION;HAVE_BLUA;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions) CompileAsC true true false false + 4244;4267 ws2_32.lib;%(AdditionalDependencies) diff --git a/src/p_setup.c b/src/p_setup.c index 7265f508..b36bf0b8 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -1214,7 +1214,7 @@ static void P_LoadLineDefs2(void) case 443: // Calls a named Lua function if (sides[ld->sidenum[0]].text) { - UINT8 len = strlen(sides[ld->sidenum[0]].text)+1; + size_t len = strlen(sides[ld->sidenum[0]].text)+1; if (ld->sidenum[1] != 0xffff && sides[ld->sidenum[1]].text) len += strlen(sides[ld->sidenum[1]].text); ld->text = Z_Malloc(len, PU_LEVEL, NULL); diff --git a/src/p_spec.c b/src/p_spec.c index b939e15f..fbcb8b4f 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -407,7 +407,7 @@ void P_ParseANIMDEFSLump(INT32 wadNum, UINT16 lumpnum, INT32 *i) void P_ParseAnimationDefintion(SINT8 istexture, INT32 *i) { char *animdefsToken; - UINT8 animdefsTokenLength; + size_t animdefsTokenLength; char *endPos; INT32 animSpeed; diff --git a/src/r_data.c b/src/r_data.c index c3393a79..cb5cf359 100644 --- a/src/r_data.c +++ b/src/r_data.c @@ -497,7 +497,7 @@ void R_LoadTextures(void) static texpatch_t *R_ParsePatch(boolean actuallyLoadPatch) { char *texturesToken; - UINT8 texturesTokenLength; + size_t texturesTokenLength; char *endPos; char *patchName = NULL; INT16 patchXPos; @@ -623,7 +623,7 @@ static texpatch_t *R_ParsePatch(boolean actuallyLoadPatch) static texture_t *R_ParseTexture(boolean actuallyLoadTexture) { char *texturesToken; - UINT8 texturesTokenLength; + size_t texturesTokenLength; char *endPos; INT32 newTextureWidth; INT32 newTextureHeight; diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index 469837c0..0212e620 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -1679,7 +1679,7 @@ void I_UpdateMumble(const mobj_t *mobj, const listener_t listener) UINT8 *p = mumble->context; WRITEMEM(p, server_context, 8); WRITEINT16(p, gamemap); - mumble->context_len = p - mumble->context; + mumble->context_len = (UINT32)(p - mumble->context); } if (mobj) { diff --git a/src/sdl/mixer_sound.c b/src/sdl/mixer_sound.c index 9eb5c315..faebca6b 100644 --- a/src/sdl/mixer_sound.c +++ b/src/sdl/mixer_sound.c @@ -239,7 +239,7 @@ static Mix_Chunk *ds2chunk(void *stream) } // return Mixer Chunk. - return Mix_QuickLoad_RAW(sound, (UINT8*)d-sound); + return Mix_QuickLoad_RAW(sound, (Uint32)((UINT8*)d-sound)); } void *I_GetSfx(sfxinfo_t *sfx) @@ -647,9 +647,9 @@ boolean I_StartDigSong(const char *musicname, boolean looping) const char *key1 = "LOOP"; const char *key2 = "POINT="; const char *key3 = "MS="; - const UINT8 key1len = strlen(key1); - const UINT8 key2len = strlen(key2); - const UINT8 key3len = strlen(key3); + const size_t key1len = strlen(key1); + const size_t key2len = strlen(key2); + const size_t key3len = strlen(key3); char *p = data; while ((UINT32)(p - data) < len) { @@ -668,7 +668,7 @@ boolean I_StartDigSong(const char *musicname, boolean looping) else if (!strncmp(p, key3, key3len)) // is it LOOPMS=? { p += key3len; // skip MS= - loop_point = atoi(p) / 1000.0L; // LOOPMS works by real time, as miliseconds. + loop_point = (float)(atoi(p) / 1000.0L); // LOOPMS works by real time, as miliseconds. // Everything that uses LOOPMS will work perfectly with SDL_Mixer. } // Neither?! Continue searching. From 35675555986703e9250d111515d54fbb4c05d36b Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sun, 22 May 2016 01:04:21 -0400 Subject: [PATCH 008/325] MSVC: cleanup and enable SDLCheck --- SRB2_common.props | 2 +- SRB2_x86.props | 10 ---------- libs/SDL2_common.props | 2 +- libs/SDL_mixer_common.props | 2 +- 4 files changed, 3 insertions(+), 13 deletions(-) diff --git a/SRB2_common.props b/SRB2_common.props index 775816be..d8bbf5ab 100644 --- a/SRB2_common.props +++ b/SRB2_common.props @@ -15,7 +15,7 @@ true true false - false + true 4244;4267 diff --git a/SRB2_x86.props b/SRB2_x86.props index 34c95374..0ba9d607 100644 --- a/SRB2_x86.props +++ b/SRB2_x86.props @@ -7,16 +7,6 @@ USEASM;%(PreprocessorDefinitions) - - - - - - - - - - false diff --git a/libs/SDL2_common.props b/libs/SDL2_common.props index 645c5e35..5234554f 100644 --- a/libs/SDL2_common.props +++ b/libs/SDL2_common.props @@ -4,7 +4,7 @@ $(SolutionDir)libs\SDL2\include;$(IncludePath) - ..\..\libs\SDL2\lib\$(PlatformTarget);$(LibraryPath) + $(SolutionDir)libs\SDL2\lib\$(PlatformTarget);$(LibraryPath) diff --git a/libs/SDL_mixer_common.props b/libs/SDL_mixer_common.props index e8123324..0ec48247 100644 --- a/libs/SDL_mixer_common.props +++ b/libs/SDL_mixer_common.props @@ -4,7 +4,7 @@ $(SolutionDir)libs\SDL2_mixer\include;$(IncludePath) - ..\..\libs\SDL2_mixer\lib\$(PlatformTarget);$(LibraryPath) + $(SolutionDir)libs\SDL2_mixer\lib\$(PlatformTarget);$(LibraryPath) From 47ae39ea6216e3c95e1309bc628cc3c7796c253d Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sun, 22 May 2016 11:03:04 -0400 Subject: [PATCH 009/325] netplay: fix off by 1 --- src/p_slopes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/p_slopes.c b/src/p_slopes.c index f8a2752c..6393ca4b 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -90,7 +90,7 @@ static void P_ReconfigureVertexSlope(pslope_t *slope) // Get angles slope->xydirection = R_PointToAngle2(0, 0, slope->d.x, slope->d.y)+ANGLE_180; - slope->zangle = InvAngle(R_PointToAngle2(0, 0, FRACUNIT, slope->zdelta))-1; + slope->zangle = InvAngle(R_PointToAngle2(0, 0, FRACUNIT, slope->zdelta)); } } From 79f3d6e072bb4dbbe1cb800726efe1832199162e Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sun, 22 May 2016 11:54:32 -0400 Subject: [PATCH 010/325] MSVC: Tidy up project files by hand --- .../{SRB2SDL.props => SRB2SDL_common.props} | 0 src/sdl/Srb2SDL-vc10.vcxproj | 133 +++++------------- src/win32/Srb2win-vc10.vcxproj | 87 ++---------- 3 files changed, 47 insertions(+), 173 deletions(-) rename src/sdl/{SRB2SDL.props => SRB2SDL_common.props} (100%) diff --git a/src/sdl/SRB2SDL.props b/src/sdl/SRB2SDL_common.props similarity index 100% rename from src/sdl/SRB2SDL.props rename to src/sdl/SRB2SDL_common.props diff --git a/src/sdl/Srb2SDL-vc10.vcxproj b/src/sdl/Srb2SDL-vc10.vcxproj index 5d564969..452b47ed 100644 --- a/src/sdl/Srb2SDL-vc10.vcxproj +++ b/src/sdl/Srb2SDL-vc10.vcxproj @@ -5,14 +5,14 @@ Debug Win32 - - Debug - x64 - Release Win32 + + Debug + x64 + Release x64 @@ -24,30 +24,25 @@ Win32Proj Srb2SDL 8.1 - Srb2SDL + Srb2Win - - Application - false + v140 - true - Application - false - v140 + true - - Application - false - v140 + + false true - Application - false - v140 + true + + + false + true @@ -59,7 +54,7 @@ - + @@ -82,19 +77,6 @@ <_ProjectFileVersion>10.0.30319.1 - - - NativeMinimumRules.ruleset - - - NativeMinimumRules.ruleset - false - - - NativeMinimumRules.ruleset - - - NativeMinimumRules.ruleset false @@ -240,18 +222,9 @@ Document - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) true true @@ -259,18 +232,9 @@ Document - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) true true @@ -278,18 +242,9 @@ Document - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) true true @@ -352,10 +307,7 @@ - true - true - true - true + true @@ -404,16 +356,10 @@ - true - true - true - true + true - true - true - true - true + true @@ -428,28 +374,16 @@ - true - true - true - true + true - true - true - true - true + true - true - true - true - true + true - true - true - true - true + true @@ -460,10 +394,7 @@ - true - true - true - true + true diff --git a/src/win32/Srb2win-vc10.vcxproj b/src/win32/Srb2win-vc10.vcxproj index efa97738..c57c305a 100644 --- a/src/win32/Srb2win-vc10.vcxproj +++ b/src/win32/Srb2win-vc10.vcxproj @@ -19,30 +19,28 @@ + Srb2DD {0F554F1D-ED49-4D65-A9A7-F63C57F277BE} Win32Proj Srb2win 8.1 - Srb2DD + + v140 + true - v140 false - v140 true true - v140 - Application false - v140 true @@ -79,38 +77,10 @@ - - NativeMinimumRules.ruleset + + <_ProjectFileVersion>10.0.30319.1 false - - NativeMinimumRules.ruleset - false - - - NativeMinimumRules.ruleset - false - - - NativeMinimumRules.ruleset - false - - - - - - - - - - - - - - - - - @@ -407,54 +377,27 @@ Document + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) true true - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) Document + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) true true - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) Document + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) true true - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - Compiling %(Filename).nas with NASM... - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) - $(IntDir)%(Filename).obj;%(Outputs) From b96b999c1e542f2814b4dc95e1f08200b7506f6f Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sun, 22 May 2016 21:55:55 -0400 Subject: [PATCH 011/325] MSVC: Move x86/x64 settings into commons props --- SRB2_Release.props | 2 -- SRB2_common.props | 19 +++++++++++- SRB2_x86.props | 15 ---------- libs/{FMOD_common.props => FMOD.props} | 10 +++++++ libs/FMOD_x64.props | 12 -------- libs/FMOD_x86.props | 12 -------- libs/{SDL2_common.props => SDL2.props} | 0 ...SDL_mixer_common.props => SDL_mixer.props} | 0 libs/{libpng_common.props => libpng.props} | 0 libs/{zlib_common.props => zlib.props} | 0 src/sdl/Srb2SDL-vc10.vcxproj | 27 ++++------------- .../{SRB2SDL_common.props => Srb2SDL.props} | 0 src/win32/Srb2win-vc10.vcxproj | 29 +++---------------- .../{SRB2Win_common.props => Srb2win.props} | 0 14 files changed, 37 insertions(+), 89 deletions(-) delete mode 100644 SRB2_x86.props rename libs/{FMOD_common.props => FMOD.props} (52%) delete mode 100644 libs/FMOD_x64.props delete mode 100644 libs/FMOD_x86.props rename libs/{SDL2_common.props => SDL2.props} (100%) rename libs/{SDL_mixer_common.props => SDL_mixer.props} (100%) rename libs/{libpng_common.props => libpng.props} (100%) rename libs/{zlib_common.props => zlib.props} (100%) rename src/sdl/{SRB2SDL_common.props => Srb2SDL.props} (100%) rename src/win32/{SRB2Win_common.props => Srb2win.props} (100%) diff --git a/SRB2_Release.props b/SRB2_Release.props index 720c3969..a216ea45 100644 --- a/SRB2_Release.props +++ b/SRB2_Release.props @@ -3,8 +3,6 @@ - AllRules.ruleset - true false diff --git a/SRB2_common.props b/SRB2_common.props index d8bbf5ab..2fb2eb8c 100644 --- a/SRB2_common.props +++ b/SRB2_common.props @@ -3,7 +3,6 @@ - MixedMinimumRules.ruleset $(SolutionDir)bin\VC10\$(Platform)\$(Configuration)\ $(SolutionDir)objs\VC10\$(Platform)\$(Configuration)\$(ProjectName)\ @@ -25,5 +24,23 @@ true + + + USEASM;%(PreprocessorDefinitions) + + + false + + + nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" + Compiling %(Filename).nas with NASM... + $(IntDir)%(Filename).obj;%(Outputs) + + + + + false + + \ No newline at end of file diff --git a/SRB2_x86.props b/SRB2_x86.props deleted file mode 100644 index 0ba9d607..00000000 --- a/SRB2_x86.props +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - USEASM;%(PreprocessorDefinitions) - - - false - - - - \ No newline at end of file diff --git a/libs/FMOD_common.props b/libs/FMOD.props similarity index 52% rename from libs/FMOD_common.props rename to libs/FMOD.props index 1522adfd..785f11ce 100644 --- a/libs/FMOD_common.props +++ b/libs/FMOD.props @@ -7,5 +7,15 @@ $(SolutionDir)libs\fmodex\lib;$(LibraryPath) + + + fmodexL64_vc.lib;%(AdditionalDependencies) + + + + + fmodexL_vc.lib;%(AdditionalDependencies) + + \ No newline at end of file diff --git a/libs/FMOD_x64.props b/libs/FMOD_x64.props deleted file mode 100644 index 80d00d21..00000000 --- a/libs/FMOD_x64.props +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - fmodexL64_vc.lib;%(AdditionalDependencies) - - - - \ No newline at end of file diff --git a/libs/FMOD_x86.props b/libs/FMOD_x86.props deleted file mode 100644 index 39e46be4..00000000 --- a/libs/FMOD_x86.props +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - fmodexL_vc.lib;%(AdditionalDependencies) - - - - \ No newline at end of file diff --git a/libs/SDL2_common.props b/libs/SDL2.props similarity index 100% rename from libs/SDL2_common.props rename to libs/SDL2.props diff --git a/libs/SDL_mixer_common.props b/libs/SDL_mixer.props similarity index 100% rename from libs/SDL_mixer_common.props rename to libs/SDL_mixer.props diff --git a/libs/libpng_common.props b/libs/libpng.props similarity index 100% rename from libs/libpng_common.props rename to libs/libpng.props diff --git a/libs/zlib_common.props b/libs/zlib.props similarity index 100% rename from libs/zlib_common.props rename to libs/zlib.props diff --git a/src/sdl/Srb2SDL-vc10.vcxproj b/src/sdl/Srb2SDL-vc10.vcxproj index 452b47ed..d12a7efb 100644 --- a/src/sdl/Srb2SDL-vc10.vcxproj +++ b/src/sdl/Srb2SDL-vc10.vcxproj @@ -50,21 +50,19 @@ - - - - - + + + + + - - @@ -222,31 +220,16 @@ Document - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - Compiling %(Filename).nas with NASM... - $(IntDir)%(Filename).obj;%(Outputs) - true - true Document - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - Compiling %(Filename).nas with NASM... - $(IntDir)%(Filename).obj;%(Outputs) - true - true Document - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - Compiling %(Filename).nas with NASM... - $(IntDir)%(Filename).obj;%(Outputs) - true - true diff --git a/src/sdl/SRB2SDL_common.props b/src/sdl/Srb2SDL.props similarity index 100% rename from src/sdl/SRB2SDL_common.props rename to src/sdl/Srb2SDL.props diff --git a/src/win32/Srb2win-vc10.vcxproj b/src/win32/Srb2win-vc10.vcxproj index c57c305a..1e9d8241 100644 --- a/src/win32/Srb2win-vc10.vcxproj +++ b/src/win32/Srb2win-vc10.vcxproj @@ -49,32 +49,26 @@ - - - - + + + + - - - - - - @@ -377,27 +371,12 @@ Document - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - Compiling %(Filename).nas with NASM... - $(IntDir)%(Filename).obj;%(Outputs) - true - true Document - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - Compiling %(Filename).nas with NASM... - $(IntDir)%(Filename).obj;%(Outputs) - true - true Document - nasm -g -o $(IntDir)%(Filename).obj -f win32 "%(FullPath)" - Compiling %(Filename).nas with NASM... - $(IntDir)%(Filename).obj;%(Outputs) - true - true diff --git a/src/win32/SRB2Win_common.props b/src/win32/Srb2win.props similarity index 100% rename from src/win32/SRB2Win_common.props rename to src/win32/Srb2win.props From f94d3a1fb0a407f31c35854f370883a6bceaf361 Mon Sep 17 00:00:00 2001 From: Hank Brannock Date: Sun, 22 May 2016 22:38:16 -0400 Subject: [PATCH 012/325] The code in i_net.c doesn't actually seem to be used in SRB2. I was able to compile a build without it, and hosting and joining netgames worked just fine (well, as fine as they can with the current state of the netcode...). Do we really need to keep it around? If not, I say get rid of it. It seems like useless clutter that is just going to confuse people who are trying to understand the source code. --- src/Makefile.cfg | 1 - src/d_net.c | 2 +- src/i_net.h | 3 - src/sdl/Srb2SDL-vc10.vcxproj | 1 - src/sdl/Srb2SDL-vc10.vcxproj.filters | 3 - src/sdl/i_net.c | 442 --------------------------- src/sdl12/i_net.c | 442 --------------------------- 7 files changed, 1 insertion(+), 893 deletions(-) delete mode 100644 src/sdl/i_net.c delete mode 100644 src/sdl12/i_net.c diff --git a/src/Makefile.cfg b/src/Makefile.cfg index fa8896a7..5fdea847 100644 --- a/src/Makefile.cfg +++ b/src/Makefile.cfg @@ -207,7 +207,6 @@ endif #determine the interface directory (where you put all i_*.c) i_cdmus_o=$(OBJDIR)/i_cdmus.o -i_net_o=$(OBJDIR)/i_net.o i_system_o=$(OBJDIR)/i_system.o i_sound_o=$(OBJDIR)/i_sound.o i_main_o=$(OBJDIR)/i_main.o diff --git a/src/d_net.c b/src/d_net.c index 03e126b5..4b6678c2 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1080,7 +1080,7 @@ boolean D_CheckNetGame(void) multiplayer = false; // only dos version with external driver will return true - netgame = I_InitNetwork(); + netgame = false; // I_InitNetwork() is no longer used if (!netgame && !I_NetOpenSocket) { D_SetDoomcom(); diff --git a/src/i_net.h b/src/i_net.h index e378f572..ae469701 100644 --- a/src/i_net.h +++ b/src/i_net.h @@ -148,7 +148,4 @@ extern const char *(*I_GetBanMask) (size_t ban); extern boolean (*I_SetBanAddress) (const char *address,const char *mask); extern boolean *bannednode; -/// \brief Called by D_SRB2Main to be defined by extern network driver -boolean I_InitNetwork(void); - #endif diff --git a/src/sdl/Srb2SDL-vc10.vcxproj b/src/sdl/Srb2SDL-vc10.vcxproj index 452b47ed..5dc01cfd 100644 --- a/src/sdl/Srb2SDL-vc10.vcxproj +++ b/src/sdl/Srb2SDL-vc10.vcxproj @@ -398,7 +398,6 @@ - diff --git a/src/sdl/Srb2SDL-vc10.vcxproj.filters b/src/sdl/Srb2SDL-vc10.vcxproj.filters index 9396b482..b037140e 100644 --- a/src/sdl/Srb2SDL-vc10.vcxproj.filters +++ b/src/sdl/Srb2SDL-vc10.vcxproj.filters @@ -837,9 +837,6 @@ SDLApp - - SDLApp - SDLApp diff --git a/src/sdl/i_net.c b/src/sdl/i_net.c deleted file mode 100644 index ee4a34c1..00000000 --- a/src/sdl/i_net.c +++ /dev/null @@ -1,442 +0,0 @@ -// Emacs style mode select -*- C++ -*- -//----------------------------------------------------------------------------- -// -// Copyright (C) 1993-1996 by id Software, Inc. -// Portions Copyright (C) 1998-2000 by DooM Legacy Team. -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -//----------------------------------------------------------------------------- -/// \file -/// \brief SDL network interface - -#include "../doomdef.h" - -#include "../i_system.h" -#include "../d_event.h" -#include "../d_net.h" -#include "../m_argv.h" - -#include "../doomstat.h" - -#include "../i_net.h" - -#include "../z_zone.h" - -#include "../i_tcp.h" - -#ifdef HAVE_SDL - -#ifdef HAVE_SDLNET - -#include "SDL_net.h" - -#define MAXBANS 20 - -static IPaddress clientaddress[MAXNETNODES+1]; -static IPaddress banned[MAXBANS]; - -static UDPpacket mypacket; -static UDPsocket mysocket = NULL; -static SDLNet_SocketSet myset = NULL; - -static size_t numbans = 0; -static boolean NET_bannednode[MAXNETNODES+1]; /// \note do we really need the +1? -static boolean init_SDLNet_driver = false; - -static const char *NET_AddrToStr(IPaddress* sk) -{ - static char s[22]; // 255.255.255.255:65535 - strcpy(s, SDLNet_ResolveIP(sk)); - if (sk->port != 0) strcat(s, va(":%d", sk->port)); - return s; -} - -static const char *NET_GetNodeAddress(INT32 node) -{ - if (!nodeconnected[node]) - return NULL; - return NET_AddrToStr(&clientaddress[node]); -} - -static const char *NET_GetBanAddress(size_t ban) -{ - if (ban > numbans) - return NULL; - return NET_AddrToStr(&banned[ban]); -} - -static boolean NET_cmpaddr(IPaddress* a, IPaddress* b) -{ - return (a->host == b->host && (b->port == 0 || a->port == b->port)); -} - -static boolean NET_CanGet(void) -{ - return myset?(SDLNet_CheckSockets(myset,0) == 1):false; -} - -static void NET_Get(void) -{ - INT32 mystatus; - INT32 newnode; - mypacket.len = MAXPACKETLENGTH; - if (!NET_CanGet()) - { - doomcom->remotenode = -1; // no packet - return; - } - mystatus = SDLNet_UDP_Recv(mysocket,&mypacket); - if (mystatus != -1) - { - if (mypacket.channel != -1) - { - doomcom->remotenode = mypacket.channel+1; // good packet from a game player - doomcom->datalength = mypacket.len; - return; - } - newnode = SDLNet_UDP_Bind(mysocket,-1,&mypacket.address); - if (newnode != -1) - { - size_t i; - newnode++; - M_Memcpy(&clientaddress[newnode], &mypacket.address, sizeof (IPaddress)); - DEBFILE(va("New node detected: node:%d address:%s\n", newnode, - NET_GetNodeAddress(newnode))); - doomcom->remotenode = newnode; // good packet from a game player - doomcom->datalength = mypacket.len; - for (i = 0; i < numbans; i++) - { - if (NET_cmpaddr(&mypacket.address, &banned[i])) - { - DEBFILE("This dude has been banned\n"); - NET_bannednode[newnode] = true; - break; - } - } - if (i == numbans) - NET_bannednode[newnode] = false; - return; - } - else - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - } - else if (mystatus == -1) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - } - - DEBFILE("New node detected: No more free slots\n"); - doomcom->remotenode = -1; // no packet -} - -#if 0 -static boolean NET_CanSend(void) -{ - return true; -} -#endif - -static void NET_Send(void) -{ - if (!doomcom->remotenode) - return; - mypacket.len = doomcom->datalength; - if (SDLNet_UDP_Send(mysocket,doomcom->remotenode-1,&mypacket) == 0) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - } -} - -static void NET_FreeNodenum(INT32 numnode) -{ - // can't disconnect from self :) - if (!numnode) - return; - - DEBFILE(va("Free node %d (%s)\n", numnode, NET_GetNodeAddress(numnode))); - - SDLNet_UDP_Unbind(mysocket,numnode-1); - - memset(&clientaddress[numnode], 0, sizeof (IPaddress)); -} - -static UDPsocket NET_Socket(void) -{ - UDPsocket temp = NULL; - Uint16 portnum = 0; - IPaddress tempip = {INADDR_BROADCAST,0}; - //Hurdler: I'd like to put a server and a client on the same computer - //Logan: Me too - //BP: in fact for client we can use any free port we want i have read - // in some doc that connect in udp can do it for us... - //Alam: where? - if (M_CheckParm("-clientport")) - { - if (!M_IsNextParm()) - I_Error("syntax: -clientport "); - portnum = atoi(M_GetNextParm()); - } - else - portnum = sock_port; - temp = SDLNet_UDP_Open(portnum); - if (!temp) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - return NULL; - } - if (SDLNet_UDP_Bind(temp,BROADCASTADDR-1,&tempip) == -1) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - SDLNet_UDP_Close(temp); - return NULL; - } - clientaddress[BROADCASTADDR].port = sock_port; - clientaddress[BROADCASTADDR].host = INADDR_BROADCAST; - - doomcom->extratics = 1; // internet is very high ping - - return temp; -} - -static void I_ShutdownSDLNetDriver(void) -{ - if (myset) SDLNet_FreeSocketSet(myset); - myset = NULL; - SDLNet_Quit(); - init_SDLNet_driver = false; -} - -static void I_InitSDLNetDriver(void) -{ - if (init_SDLNet_driver) - I_ShutdownSDLNetDriver(); - if (SDLNet_Init() == -1) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - return; // No good! - } - D_SetDoomcom(); - mypacket.data = doomcom->data; - init_SDLNet_driver = true; -} - -static void NET_CloseSocket(void) -{ - if (mysocket) - SDLNet_UDP_Close(mysocket); - mysocket = NULL; -} - -static SINT8 NET_NetMakeNodewPort(const char *hostname, const char *port) -{ - INT32 newnode; - UINT16 portnum = sock_port; - IPaddress hostnameIP; - - // retrieve portnum from address! - if (port && !port[0]) - portnum = atoi(port); - - if (SDLNet_ResolveHost(&hostnameIP,hostname,portnum) == -1) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - return -1; - } - newnode = SDLNet_UDP_Bind(mysocket,-1,&hostnameIP); - if (newnode == -1) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - return newnode; - } - newnode++; - M_Memcpy(&clientaddress[newnode],&hostnameIP,sizeof (IPaddress)); - return (SINT8)newnode; -} - - -static boolean NET_OpenSocket(void) -{ - memset(clientaddress, 0, sizeof (clientaddress)); - - //I_OutputMsg("SDL_Net Code starting up\n"); - - I_NetSend = NET_Send; - I_NetGet = NET_Get; - I_NetCloseSocket = NET_CloseSocket; - I_NetFreeNodenum = NET_FreeNodenum; - I_NetMakeNodewPort = NET_NetMakeNodewPort; - - //I_NetCanSend = NET_CanSend; - - // build the socket but close it first - NET_CloseSocket(); - mysocket = NET_Socket(); - - if (!mysocket) - return false; - - // for select - myset = SDLNet_AllocSocketSet(1); - if (!myset) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - return false; - } - if (SDLNet_UDP_AddSocket(myset,mysocket) == -1) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - return false; - } - return true; -} - -static boolean NET_Ban(INT32 node) -{ - if (numbans == MAXBANS) - return false; - - M_Memcpy(&banned[numbans], &clientaddress[node], sizeof (IPaddress)); - banned[numbans].port = 0; - numbans++; - return true; -} - -static boolean NET_SetBanAddress(const char *address, const char *mask) -{ - (void)mask; - if (bans == MAXBANS) - return false; - - if (SDLNet_ResolveHost(&banned[numbans], address, 0) == -1) - return false; - numbans++; - return true; -} - -static void NET_ClearBans(void) -{ - numbans = 0; -} -#endif - -// -// I_InitNetwork -// Only required for DOS, so this is more a dummy -// -boolean I_InitNetwork(void) -{ -#ifdef HAVE_SDLNET - char serverhostname[255]; - boolean ret = false; - SDL_version SDLcompiled; - const SDL_version *SDLlinked = SDLNet_Linked_Version(); - SDL_NET_VERSION(&SDLcompiled) - I_OutputMsg("Compiled for SDL_Net version: %d.%d.%d\n", - SDLcompiled.major, SDLcompiled.minor, SDLcompiled.patch); - I_OutputMsg("Linked with SDL_Net version: %d.%d.%d\n", - SDLlinked->major, SDLlinked->minor, SDLlinked->patch); - //if (!M_CheckParm ("-sdlnet")) - // return false; - // initilize the driver - I_InitSDLNetDriver(); - I_AddExitFunc(I_ShutdownSDLNetDriver); - if (!init_SDLNet_driver) - return false; - - if (M_CheckParm("-udpport")) - { - if (M_IsNextParm()) - sock_port = (UINT16)atoi(M_GetNextParm()); - else - sock_port = 0; - } - - // parse network game options, - if (M_CheckParm("-server") || dedicated) - { - server = true; - - // If a number of clients (i.e. nodes) is specified, the server will wait for the clients - // to connect before starting. - // If no number is specified here, the server starts with 1 client, and others can join - // in-game. - // Since Boris has implemented join in-game, there is no actual need for specifying a - // particular number here. - // FIXME: for dedicated server, numnodes needs to be set to 0 upon start -/* if (M_IsNextParm()) - doomcom->numnodes = (INT16)atoi(M_GetNextParm()); - else */if (dedicated) - doomcom->numnodes = 0; - else - doomcom->numnodes = 1; - - if (doomcom->numnodes < 0) - doomcom->numnodes = 0; - if (doomcom->numnodes > MAXNETNODES) - doomcom->numnodes = MAXNETNODES; - - // server - servernode = 0; - // FIXME: - // ??? and now ? - // server on a big modem ??? 4*isdn - net_bandwidth = 16000; - hardware_MAXPACKETLENGTH = INETPACKETLENGTH; - - ret = true; - } - else if (M_CheckParm("-connect")) - { - if (M_IsNextParm()) - strcpy(serverhostname, M_GetNextParm()); - else - serverhostname[0] = 0; // assuming server in the LAN, use broadcast to detect it - - // server address only in ip - if (serverhostname[0]) - { - COM_BufAddText("connect \""); - COM_BufAddText(serverhostname); - COM_BufAddText("\"\n"); - - // probably modem - hardware_MAXPACKETLENGTH = INETPACKETLENGTH; - } - else - { - // so we're on a LAN - COM_BufAddText("connect any\n"); - - net_bandwidth = 800000; - hardware_MAXPACKETLENGTH = MAXPACKETLENGTH; - } - } - - mypacket.maxlen = hardware_MAXPACKETLENGTH; - I_NetOpenSocket = NET_OpenSocket; - I_Ban = NET_Ban; - I_ClearBans = NET_ClearBans; - I_GetNodeAddress = NET_GetNodeAddress; - I_GetBenAddress = NET_GetBenAddress; - I_SetBanAddress = NET_SetBanAddress; - bannednode = NET_bannednode; - - return ret; -#else - if ( M_CheckParm ("-net") ) - { - I_Error("-net not supported, use -server and -connect\n" - "see docs for more\n"); - } - return false; -#endif -} -#endif diff --git a/src/sdl12/i_net.c b/src/sdl12/i_net.c deleted file mode 100644 index ee4a34c1..00000000 --- a/src/sdl12/i_net.c +++ /dev/null @@ -1,442 +0,0 @@ -// Emacs style mode select -*- C++ -*- -//----------------------------------------------------------------------------- -// -// Copyright (C) 1993-1996 by id Software, Inc. -// Portions Copyright (C) 1998-2000 by DooM Legacy Team. -// -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -//----------------------------------------------------------------------------- -/// \file -/// \brief SDL network interface - -#include "../doomdef.h" - -#include "../i_system.h" -#include "../d_event.h" -#include "../d_net.h" -#include "../m_argv.h" - -#include "../doomstat.h" - -#include "../i_net.h" - -#include "../z_zone.h" - -#include "../i_tcp.h" - -#ifdef HAVE_SDL - -#ifdef HAVE_SDLNET - -#include "SDL_net.h" - -#define MAXBANS 20 - -static IPaddress clientaddress[MAXNETNODES+1]; -static IPaddress banned[MAXBANS]; - -static UDPpacket mypacket; -static UDPsocket mysocket = NULL; -static SDLNet_SocketSet myset = NULL; - -static size_t numbans = 0; -static boolean NET_bannednode[MAXNETNODES+1]; /// \note do we really need the +1? -static boolean init_SDLNet_driver = false; - -static const char *NET_AddrToStr(IPaddress* sk) -{ - static char s[22]; // 255.255.255.255:65535 - strcpy(s, SDLNet_ResolveIP(sk)); - if (sk->port != 0) strcat(s, va(":%d", sk->port)); - return s; -} - -static const char *NET_GetNodeAddress(INT32 node) -{ - if (!nodeconnected[node]) - return NULL; - return NET_AddrToStr(&clientaddress[node]); -} - -static const char *NET_GetBanAddress(size_t ban) -{ - if (ban > numbans) - return NULL; - return NET_AddrToStr(&banned[ban]); -} - -static boolean NET_cmpaddr(IPaddress* a, IPaddress* b) -{ - return (a->host == b->host && (b->port == 0 || a->port == b->port)); -} - -static boolean NET_CanGet(void) -{ - return myset?(SDLNet_CheckSockets(myset,0) == 1):false; -} - -static void NET_Get(void) -{ - INT32 mystatus; - INT32 newnode; - mypacket.len = MAXPACKETLENGTH; - if (!NET_CanGet()) - { - doomcom->remotenode = -1; // no packet - return; - } - mystatus = SDLNet_UDP_Recv(mysocket,&mypacket); - if (mystatus != -1) - { - if (mypacket.channel != -1) - { - doomcom->remotenode = mypacket.channel+1; // good packet from a game player - doomcom->datalength = mypacket.len; - return; - } - newnode = SDLNet_UDP_Bind(mysocket,-1,&mypacket.address); - if (newnode != -1) - { - size_t i; - newnode++; - M_Memcpy(&clientaddress[newnode], &mypacket.address, sizeof (IPaddress)); - DEBFILE(va("New node detected: node:%d address:%s\n", newnode, - NET_GetNodeAddress(newnode))); - doomcom->remotenode = newnode; // good packet from a game player - doomcom->datalength = mypacket.len; - for (i = 0; i < numbans; i++) - { - if (NET_cmpaddr(&mypacket.address, &banned[i])) - { - DEBFILE("This dude has been banned\n"); - NET_bannednode[newnode] = true; - break; - } - } - if (i == numbans) - NET_bannednode[newnode] = false; - return; - } - else - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - } - else if (mystatus == -1) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - } - - DEBFILE("New node detected: No more free slots\n"); - doomcom->remotenode = -1; // no packet -} - -#if 0 -static boolean NET_CanSend(void) -{ - return true; -} -#endif - -static void NET_Send(void) -{ - if (!doomcom->remotenode) - return; - mypacket.len = doomcom->datalength; - if (SDLNet_UDP_Send(mysocket,doomcom->remotenode-1,&mypacket) == 0) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - } -} - -static void NET_FreeNodenum(INT32 numnode) -{ - // can't disconnect from self :) - if (!numnode) - return; - - DEBFILE(va("Free node %d (%s)\n", numnode, NET_GetNodeAddress(numnode))); - - SDLNet_UDP_Unbind(mysocket,numnode-1); - - memset(&clientaddress[numnode], 0, sizeof (IPaddress)); -} - -static UDPsocket NET_Socket(void) -{ - UDPsocket temp = NULL; - Uint16 portnum = 0; - IPaddress tempip = {INADDR_BROADCAST,0}; - //Hurdler: I'd like to put a server and a client on the same computer - //Logan: Me too - //BP: in fact for client we can use any free port we want i have read - // in some doc that connect in udp can do it for us... - //Alam: where? - if (M_CheckParm("-clientport")) - { - if (!M_IsNextParm()) - I_Error("syntax: -clientport "); - portnum = atoi(M_GetNextParm()); - } - else - portnum = sock_port; - temp = SDLNet_UDP_Open(portnum); - if (!temp) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - return NULL; - } - if (SDLNet_UDP_Bind(temp,BROADCASTADDR-1,&tempip) == -1) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - SDLNet_UDP_Close(temp); - return NULL; - } - clientaddress[BROADCASTADDR].port = sock_port; - clientaddress[BROADCASTADDR].host = INADDR_BROADCAST; - - doomcom->extratics = 1; // internet is very high ping - - return temp; -} - -static void I_ShutdownSDLNetDriver(void) -{ - if (myset) SDLNet_FreeSocketSet(myset); - myset = NULL; - SDLNet_Quit(); - init_SDLNet_driver = false; -} - -static void I_InitSDLNetDriver(void) -{ - if (init_SDLNet_driver) - I_ShutdownSDLNetDriver(); - if (SDLNet_Init() == -1) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - return; // No good! - } - D_SetDoomcom(); - mypacket.data = doomcom->data; - init_SDLNet_driver = true; -} - -static void NET_CloseSocket(void) -{ - if (mysocket) - SDLNet_UDP_Close(mysocket); - mysocket = NULL; -} - -static SINT8 NET_NetMakeNodewPort(const char *hostname, const char *port) -{ - INT32 newnode; - UINT16 portnum = sock_port; - IPaddress hostnameIP; - - // retrieve portnum from address! - if (port && !port[0]) - portnum = atoi(port); - - if (SDLNet_ResolveHost(&hostnameIP,hostname,portnum) == -1) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - return -1; - } - newnode = SDLNet_UDP_Bind(mysocket,-1,&hostnameIP); - if (newnode == -1) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - return newnode; - } - newnode++; - M_Memcpy(&clientaddress[newnode],&hostnameIP,sizeof (IPaddress)); - return (SINT8)newnode; -} - - -static boolean NET_OpenSocket(void) -{ - memset(clientaddress, 0, sizeof (clientaddress)); - - //I_OutputMsg("SDL_Net Code starting up\n"); - - I_NetSend = NET_Send; - I_NetGet = NET_Get; - I_NetCloseSocket = NET_CloseSocket; - I_NetFreeNodenum = NET_FreeNodenum; - I_NetMakeNodewPort = NET_NetMakeNodewPort; - - //I_NetCanSend = NET_CanSend; - - // build the socket but close it first - NET_CloseSocket(); - mysocket = NET_Socket(); - - if (!mysocket) - return false; - - // for select - myset = SDLNet_AllocSocketSet(1); - if (!myset) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - return false; - } - if (SDLNet_UDP_AddSocket(myset,mysocket) == -1) - { - I_OutputMsg("SDL_Net: %s",SDLNet_GetError()); - return false; - } - return true; -} - -static boolean NET_Ban(INT32 node) -{ - if (numbans == MAXBANS) - return false; - - M_Memcpy(&banned[numbans], &clientaddress[node], sizeof (IPaddress)); - banned[numbans].port = 0; - numbans++; - return true; -} - -static boolean NET_SetBanAddress(const char *address, const char *mask) -{ - (void)mask; - if (bans == MAXBANS) - return false; - - if (SDLNet_ResolveHost(&banned[numbans], address, 0) == -1) - return false; - numbans++; - return true; -} - -static void NET_ClearBans(void) -{ - numbans = 0; -} -#endif - -// -// I_InitNetwork -// Only required for DOS, so this is more a dummy -// -boolean I_InitNetwork(void) -{ -#ifdef HAVE_SDLNET - char serverhostname[255]; - boolean ret = false; - SDL_version SDLcompiled; - const SDL_version *SDLlinked = SDLNet_Linked_Version(); - SDL_NET_VERSION(&SDLcompiled) - I_OutputMsg("Compiled for SDL_Net version: %d.%d.%d\n", - SDLcompiled.major, SDLcompiled.minor, SDLcompiled.patch); - I_OutputMsg("Linked with SDL_Net version: %d.%d.%d\n", - SDLlinked->major, SDLlinked->minor, SDLlinked->patch); - //if (!M_CheckParm ("-sdlnet")) - // return false; - // initilize the driver - I_InitSDLNetDriver(); - I_AddExitFunc(I_ShutdownSDLNetDriver); - if (!init_SDLNet_driver) - return false; - - if (M_CheckParm("-udpport")) - { - if (M_IsNextParm()) - sock_port = (UINT16)atoi(M_GetNextParm()); - else - sock_port = 0; - } - - // parse network game options, - if (M_CheckParm("-server") || dedicated) - { - server = true; - - // If a number of clients (i.e. nodes) is specified, the server will wait for the clients - // to connect before starting. - // If no number is specified here, the server starts with 1 client, and others can join - // in-game. - // Since Boris has implemented join in-game, there is no actual need for specifying a - // particular number here. - // FIXME: for dedicated server, numnodes needs to be set to 0 upon start -/* if (M_IsNextParm()) - doomcom->numnodes = (INT16)atoi(M_GetNextParm()); - else */if (dedicated) - doomcom->numnodes = 0; - else - doomcom->numnodes = 1; - - if (doomcom->numnodes < 0) - doomcom->numnodes = 0; - if (doomcom->numnodes > MAXNETNODES) - doomcom->numnodes = MAXNETNODES; - - // server - servernode = 0; - // FIXME: - // ??? and now ? - // server on a big modem ??? 4*isdn - net_bandwidth = 16000; - hardware_MAXPACKETLENGTH = INETPACKETLENGTH; - - ret = true; - } - else if (M_CheckParm("-connect")) - { - if (M_IsNextParm()) - strcpy(serverhostname, M_GetNextParm()); - else - serverhostname[0] = 0; // assuming server in the LAN, use broadcast to detect it - - // server address only in ip - if (serverhostname[0]) - { - COM_BufAddText("connect \""); - COM_BufAddText(serverhostname); - COM_BufAddText("\"\n"); - - // probably modem - hardware_MAXPACKETLENGTH = INETPACKETLENGTH; - } - else - { - // so we're on a LAN - COM_BufAddText("connect any\n"); - - net_bandwidth = 800000; - hardware_MAXPACKETLENGTH = MAXPACKETLENGTH; - } - } - - mypacket.maxlen = hardware_MAXPACKETLENGTH; - I_NetOpenSocket = NET_OpenSocket; - I_Ban = NET_Ban; - I_ClearBans = NET_ClearBans; - I_GetNodeAddress = NET_GetNodeAddress; - I_GetBenAddress = NET_GetBenAddress; - I_SetBanAddress = NET_SetBanAddress; - bannednode = NET_bannednode; - - return ret; -#else - if ( M_CheckParm ("-net") ) - { - I_Error("-net not supported, use -server and -connect\n" - "see docs for more\n"); - } - return false; -#endif -} -#endif From 17346e29c3d0dead934e3ea099aa583bbc966907 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Tue, 24 May 2016 14:38:31 +0100 Subject: [PATCH 013/325] Remove unused drawfunc_t function typedef --- src/r_bsp.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/r_bsp.h b/src/r_bsp.h index 97b8c2e8..e871b5dd 100644 --- a/src/r_bsp.h +++ b/src/r_bsp.h @@ -33,8 +33,6 @@ extern drawseg_t *drawsegs; extern drawseg_t *ds_p; extern INT32 doorclosed; -typedef void (*drawfunc_t)(INT32 start, INT32 stop); - // BSP? void R_ClearClipSegs(void); void R_PortalClearClipSegs(INT32 start, INT32 end); From ab6d4d7aec446371feeb28a973100cfc2eb7dbfe Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Tue, 24 May 2016 14:41:55 +0100 Subject: [PATCH 014/325] Remove unused planefunction_t function typedef (the number of unused things hiding around in SRB2's source code is silly lol) --- src/r_plane.h | 1 - 1 file changed, 1 deletion(-) diff --git a/src/r_plane.h b/src/r_plane.h index 64b339d0..8730bcef 100644 --- a/src/r_plane.h +++ b/src/r_plane.h @@ -73,7 +73,6 @@ extern visplane_t *ceilingplane; // Visplane related. extern INT16 *lastopening, *openings; extern size_t maxopenings; -typedef void (*planefunction_t)(INT32 top, INT32 bottom); extern INT16 floorclip[MAXVIDWIDTH], ceilingclip[MAXVIDWIDTH]; extern fixed_t frontscale[MAXVIDWIDTH], yslopetab[MAXVIDHEIGHT*4]; From 7c78b95a7db5596fe002223b866e4eedf07ead49 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Tue, 24 May 2016 22:11:48 +0100 Subject: [PATCH 015/325] This is probably the "correct" way to set maskedtextureheight Probably doesn't make any difference in-game at all though, lol --- src/r_segs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/r_segs.c b/src/r_segs.c index 9faee429..11b4c8ae 100644 --- a/src/r_segs.c +++ b/src/r_segs.c @@ -2480,7 +2480,7 @@ void R_StoreWallRange(INT32 start, INT32 stop) ds_p->maskedtexturecol = ds_p->thicksidecol; #ifdef ESLOPE - maskedtextureheight = &(ds_p->maskedtextureheight[0]); // ???? + maskedtextureheight = ds_p->maskedtextureheight; // note to red, this == &(ds_p->maskedtextureheight[0]) // Set midtexture starting height if (linedef->flags & ML_EFFECT2) { // Ignore slopes when texturing From 8ceba95bfaa973b3026111ff95d59334ad6d0b7d Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Wed, 25 May 2016 21:10:46 +0100 Subject: [PATCH 016/325] Fix slope collision detection for the camera See http://mb.srb2.org/showthread.php?t=41494 --- src/p_user.c | 46 ++++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/src/p_user.c b/src/p_user.c index 0ee5a36b..4117cfc4 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -8123,6 +8123,8 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall { fixed_t myfloorz, myceilingz; fixed_t midz = thiscam->z + (thiscam->z - mo->z)/2; + fixed_t midx = ((mo->x>>FRACBITS) + (thiscam->x>>FRACBITS))<<(FRACBITS-1); + fixed_t midy = ((mo->y>>FRACBITS) + (thiscam->y>>FRACBITS))<<(FRACBITS-1); // Cameras use the heightsec's heights rather then the actual sector heights. // If you can see through it, why not move the camera through it too? @@ -8138,8 +8140,8 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall } else { - myfloorz = newsubsec->sector->floorheight; - myceilingz = newsubsec->sector->ceilingheight; + myfloorz = P_CameraGetFloorZ(thiscam, newsubsec->sector, midx, midy, NULL); + myceilingz = P_CameraGetCeilingZ(thiscam, newsubsec->sector, midx, midy, NULL); } // Check list of fake floors and see if floorz/ceilingz need to be altered. @@ -8151,17 +8153,21 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall for (rover = newsubsec->sector->ffloors; rover; rover = rover->next) { + fixed_t topheight, bottomheight; if (!(rover->flags & FF_BLOCKOTHERS) || !(rover->flags & FF_EXISTS) || !(rover->flags & FF_RENDERALL) || GETSECSPECIAL(rover->master->frontsector->special, 4) == 12) continue; - delta1 = midz - (*rover->bottomheight - + ((*rover->topheight - *rover->bottomheight)/2)); - delta2 = thingtop - (*rover->bottomheight - + ((*rover->topheight - *rover->bottomheight)/2)); - if (*rover->topheight > myfloorz && abs(delta1) < abs(delta2)) - myfloorz = *rover->topheight; - if (*rover->bottomheight < myceilingz && abs(delta1) >= abs(delta2)) - myceilingz = *rover->bottomheight; + topheight = P_CameraGetFOFTopZ(thiscam, newsubsec->sector, rover, midx, midy, NULL); + bottomheight = P_CameraGetFOFBottomZ(thiscam, newsubsec->sector, rover, midx, midy, NULL); + + delta1 = midz - (bottomheight + + ((topheight - bottomheight)/2)); + delta2 = thingtop - (bottomheight + + ((topheight - bottomheight)/2)); + if (topheight > myfloorz && abs(delta1) < abs(delta2)) + myfloorz = topheight; + if (bottomheight < myceilingz && abs(delta1) >= abs(delta2)) + myceilingz = bottomheight; } } @@ -8275,18 +8281,22 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall for (rover = newsubsec->sector->ffloors; rover; rover = rover->next) { + fixed_t topheight, bottomheight; if ((rover->flags & FF_BLOCKOTHERS) && (rover->flags & FF_RENDERALL) && (rover->flags & FF_EXISTS) && GETSECSPECIAL(rover->master->frontsector->special, 4) != 12) { - if (*rover->bottomheight - thiscam->height < z - && midz < *rover->bottomheight) - z = *rover->bottomheight - thiscam->height-FixedMul(11*FRACUNIT, mo->scale); + topheight = P_CameraGetFOFTopZ(thiscam, newsubsec->sector, rover, midx, midy, NULL); + bottomheight = P_CameraGetFOFBottomZ(thiscam, newsubsec->sector, rover, midx, midy, NULL); - else if (*rover->topheight + thiscam->height > z - && midz > *rover->topheight) - z = *rover->topheight; + if (bottomheight - thiscam->height < z + && midz < bottomheight) + z = bottomheight - thiscam->height-FixedMul(11*FRACUNIT, mo->scale); - if ((mo->z >= *rover->topheight && midz < *rover->bottomheight) - || ((mo->z < *rover->bottomheight && mo->z+mo->height < *rover->topheight) && midz >= *rover->topheight)) + else if (topheight + thiscam->height > z + && midz > topheight) + z = topheight; + + if ((mo->z >= topheight && midz < bottomheight) + || ((mo->z < bottomheight && mo->z+mo->height < topheight) && midz >= topheight)) { // Can't see if (!resetcalled) From 0079b4df64b102d0762214ebc4a3b9bd459b7d7e Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Thu, 26 May 2016 20:39:15 -0400 Subject: [PATCH 017/325] Make: compile Release build will all the speed --- src/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index 463afccc..f43e3c24 100644 --- a/src/Makefile +++ b/src/Makefile @@ -372,7 +372,7 @@ else # build a normal optimised version WINDRESFLAGS = -DNDEBUG - #CFLAGS+=-O2 + CFLAGS+=-O3 endif CFLAGS+=-g $(OPTS) $(M5) $(WINDRESFLAGS) From 3297fe11ed20f5c008316c6cb9fd096d5d6b2dcc Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Thu, 26 May 2016 23:39:08 -0400 Subject: [PATCH 018/325] P_NetArchivePlayers() is too bad for inline --- src/p_saveg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/p_saveg.c b/src/p_saveg.c index 975232ba..232351c3 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -108,7 +108,7 @@ static inline void P_UnArchivePlayer(void) // // P_NetArchivePlayers // -static inline void P_NetArchivePlayers(void) +static void P_NetArchivePlayers(void) { INT32 i, j; UINT16 flags; From 4c6a807283f81d993741a357e5979956a3b561de Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 00:57:44 -0400 Subject: [PATCH 019/325] buildbot: let see all the errors --- .travis.yml | 2 +- appveyor.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 01660248..f1996215 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,4 +42,4 @@ before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.dmg; hdiutil attach SDL2_mixer-2.0.1.dmg; sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/; fi - mkdir -p $HOME/srb2_cache -script: make +script: make -k diff --git a/appveyor.yml b/appveyor.yml index f9e7b3ba..fd949dbb 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -51,7 +51,7 @@ before_build: build_script: - cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 clean -- cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 ERRORMODE=1 +- cmd: mingw32-make.exe %SRB2_MFLAGS% %CONFIGURATION%=1 ERRORMODE=1 -k after_build: - ccache -s From 008be7c90dcdee4fea60794fd728018492dacb70 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 01:19:16 -0400 Subject: [PATCH 020/325] hardware: start the surf as clean --- src/hardware/hw_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 5fb6a93f..224f76e8 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -3280,6 +3280,7 @@ static void HWR_AddPolyObjectPlanes(void) if (po_ptrs[i]->translucency > 0) { FSurfaceInfo Surf; + memset(&Surf, 0x00, sizeof(Surf)); FBITFIELD blendmode = HWR_TranstableToAlpha(po_ptrs[i]->translucency, &Surf); HWR_AddTransparentPolyobjectFloor(levelflats[polyobjsector->ceilingpic].lumpnum, po_ptrs[i], polyobjsector->ceilingheight, polyobjsector->lightlevel, Surf.FlatColor.s.alpha, polyobjsector, blendmode, NULL); From 20dcf138e2ba581b76381cf333958ec1cf4812b0 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 01:28:21 -0400 Subject: [PATCH 021/325] hardware: let not break MSVC support --- src/hardware/hw_main.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 224f76e8..bec9cdb1 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -3280,17 +3280,18 @@ static void HWR_AddPolyObjectPlanes(void) if (po_ptrs[i]->translucency > 0) { FSurfaceInfo Surf; + FBITFIELD blendmode; memset(&Surf, 0x00, sizeof(Surf)); - FBITFIELD blendmode = HWR_TranstableToAlpha(po_ptrs[i]->translucency, &Surf); + blendmode = HWR_TranstableToAlpha(po_ptrs[i]->translucency, &Surf); HWR_AddTransparentPolyobjectFloor(levelflats[polyobjsector->ceilingpic].lumpnum, po_ptrs[i], polyobjsector->ceilingheight, - polyobjsector->lightlevel, Surf.FlatColor.s.alpha, polyobjsector, blendmode, NULL); + polyobjsector->lightlevel, Surf.FlatColor.s.alpha, polyobjsector, blendmode, NULL); } else { HWR_GetFlat(levelflats[polyobjsector->ceilingpic].lumpnum); HWR_RenderPolyObjectPlane(po_ptrs[i], polyobjsector->ceilingheight, PF_Occlude, - polyobjsector->lightlevel, levelflats[polyobjsector->floorpic].lumpnum, - polyobjsector, 255, NULL); + polyobjsector->lightlevel, levelflats[polyobjsector->floorpic].lumpnum, + polyobjsector, 255, NULL); } } } From 869d582cc44d19867214d5dbc0a33dd70d0a9c7e Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 01:55:52 -0400 Subject: [PATCH 022/325] Makefile: ignore suggest=attribute for GCC 4.6 and up --- src/Makefile.cfg | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Makefile.cfg b/src/Makefile.cfg index fa8896a7..347efa5e 100644 --- a/src/Makefile.cfg +++ b/src/Makefile.cfg @@ -173,6 +173,9 @@ endif ifdef GCC43 #WFLAGS+=-Wno-error=clobbered endif +ifdef GCC46 + WFLAGS+=-Wno-error=suggest-attribute=noreturn +endif WFLAGS+=$(OLDWFLAGS) From 65d9c9e1671e0a5c5080f71cef0cdda305a99382 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Fri, 27 May 2016 14:49:11 +0100 Subject: [PATCH 023/325] P_NetUnArchivePlayers doesn't like having "inline" either --- src/p_saveg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/p_saveg.c b/src/p_saveg.c index 232351c3..5e457ca3 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -280,7 +280,7 @@ static void P_NetArchivePlayers(void) // // P_NetUnArchivePlayers // -static inline void P_NetUnArchivePlayers(void) +static void P_NetUnArchivePlayers(void) { INT32 i, j; UINT16 flags; From 0081397920220d3b961ed21a790207b5e6275900 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Fri, 27 May 2016 14:53:36 +0100 Subject: [PATCH 024/325] OpenGL: Fix MD2s on player 2's screen breaking when reverse gravity is involved --- src/hardware/hw_md2.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 31a510d8..8e48ec11 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -1387,10 +1387,7 @@ void HWR_DrawMD2(gr_vissprite_t *spr) // SRB2CBTODO: MD2 scaling support finalscale *= FIXED_TO_FLOAT(spr->mobj->scale); - if (postimgtype == postimg_flip) - p.flip = true; - else - p.flip = false; + p.flip = atransform.flip; HWD.pfnDrawMD2i(buff, curr, durs, tics, next, &p, finalscale, flip, color); } From 390927cc3228dc734b6f09c789eb61630a62cb9b Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 14:14:04 -0400 Subject: [PATCH 025/325] Makefile: compile debug build with -Og on GCC 4.8 and higher --- src/Makefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Makefile b/src/Makefile index f43e3c24..f7a8c1b8 100644 --- a/src/Makefile +++ b/src/Makefile @@ -366,7 +366,12 @@ ifdef DEBUGMODE # build with debugging information WINDRESFLAGS = -D_DEBUG - CFLAGS+=-O0 -Wall -DPARANOIA -DRANGECHECK +ifdef GCC48 + CFLAGS+=-Og +else + CFLAGS+=-O0 +endif + CFLAGS+= -Wall -DPARANOIA -DRANGECHECK else From d1aab2e41860b428af4b37ad34341c4cdd2a8af8 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 14:22:02 -0400 Subject: [PATCH 026/325] gcc: clear uninitialized warnings in am_map.c --- src/am_map.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/am_map.c b/src/am_map.c index 90f81572..b28cecf1 100644 --- a/src/am_map.c +++ b/src/am_map.c @@ -999,7 +999,7 @@ static inline void AM_drawWalls(void) static mline_t l; #ifdef ESLOPE fixed_t frontf1,frontf2, frontc1, frontc2; // front floor/ceiling ends - fixed_t backf1, backf2, backc1, backc2; // back floor ceiling ends + fixed_t backf1 = 0, backf2 = 0, backc1 = 0, backc2 = 0; // back floor ceiling ends #endif for (i = 0; i < numlines; i++) From dac8da80b9a4af8fca126cd00acc3074c451ea6e Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 18:36:16 -0400 Subject: [PATCH 027/325] travis: try out build matrix --- .travis.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index f1996215..8eed6657 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,16 +2,16 @@ language: c sudo: required dist: trusty -env: -- CFLAGS=-Wall -W -Werror - -os: - - linux - - osx - -compiler: - - gcc - - clang +matrix: + include: + - os: linux + env: CC=gcc + - os: linux + env: CC=clang + - os: osx + env: CC=gcc + - os: osx + env: CC=clang cache: apt: true @@ -34,6 +34,7 @@ before_script: - mkdir build - cd build - cmake .. + - set CFLAGS=-Wall -W -Werror before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi From 06021c3427355ac02e39d7a85d552d7b0ed21521 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 18:38:09 -0400 Subject: [PATCH 028/325] travis: fixup spacing --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8eed6657..c4025a08 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,13 +5,13 @@ dist: trusty matrix: include: - os: linux - env: CC=gcc + env: CC=gcc - os: linux - env: CC=clang + env: CC=clang - os: osx - env: CC=gcc + env: CC=gcc - os: osx - env: CC=clang + env: CC=clang cache: apt: true From 6ff86c2a64c2b1a605b641353ad1dde5943cd708 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 18:44:48 -0400 Subject: [PATCH 029/325] travis: see if compiler works in build matrix --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index c4025a08..10157cc1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,13 +5,13 @@ dist: trusty matrix: include: - os: linux - env: CC=gcc + compiler: gcc - os: linux - env: CC=clang + compiler: clang - os: osx - env: CC=gcc + compiler: gcc - os: osx - env: CC=clang + compiler: clang cache: apt: true From b2713cef767ec60b511db0bfef9284248281bf2b Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 21:12:46 -0400 Subject: [PATCH 030/325] travis-ci: add all the xcode versions --- .travis.yml | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/.travis.yml b/.travis.yml index 10157cc1..3d09c7b6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,8 +9,52 @@ matrix: - os: linux compiler: clang - os: osx + osx_image: beta-xcode6.1 compiler: gcc - os: osx + osx_image: beta-xcode6.1 + compiler: clang + - os: osx + osx_image: beta-xcode6.2 + compiler: gcc + - os: osx + osx_image: beta-xcode6.2 + compiler: clang + - os: osx + osx_image: beta-xcode6.3 + compiler: gcc + - os: osx + osx_image: beta-xcode6.3 + compiler: clang + - os: osx + osx_image: xcode6.4 + compiler: gcc + - os: osx + osx_image: xcode6.4 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: gcc + - os: osx + osx_image: xcode7 + compiler: clang + - os: osx + osx_image: xcode7.1 + compiler: gcc + - os: osx + osx_image: xcode7.1 + compiler: clang + - os: osx + osx_image: xcode7.2 + compiler: gcc + - os: osx + osx_image: xcode7.2 + compiler: clang + - os: osx + osx_image: xcode7.3 + compiler: gcc + - os: osx + osx_image: xcode7.3 compiler: clang cache: From 80985e9d852d32e056ac4aa6db34192ac6f2fc43 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 22:24:02 -0400 Subject: [PATCH 031/325] travis: build iwth all the gcc packages? --- .travis.yml | 123 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 80 insertions(+), 43 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3d09c7b6..291d2fc3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,42 @@ matrix: include: - os: linux compiler: gcc + - os: linux + compiler: gcc + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - gcc-4.8 + env: CC=gcc-4.8 + - os: linux + compiler: gcc + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - gcc-4.9 + env: CC=gcc-4.9 + - os: linux + compiler: gcc + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - gcc-5 + env: CC=gcc-5 + - os: linux + compiler: gcc + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - gcc-6 + env: CC=gcc-6 - os: linux compiler: clang - os: osx @@ -14,48 +50,48 @@ matrix: - os: osx osx_image: beta-xcode6.1 compiler: clang - - os: osx - osx_image: beta-xcode6.2 - compiler: gcc - - os: osx - osx_image: beta-xcode6.2 - compiler: clang - - os: osx - osx_image: beta-xcode6.3 - compiler: gcc - - os: osx - osx_image: beta-xcode6.3 - compiler: clang - - os: osx - osx_image: xcode6.4 - compiler: gcc - - os: osx - osx_image: xcode6.4 - compiler: clang - - os: osx - osx_image: xcode7 - compiler: gcc - - os: osx - osx_image: xcode7 - compiler: clang - - os: osx - osx_image: xcode7.1 - compiler: gcc - - os: osx - osx_image: xcode7.1 - compiler: clang - - os: osx - osx_image: xcode7.2 - compiler: gcc - - os: osx - osx_image: xcode7.2 - compiler: clang - - os: osx - osx_image: xcode7.3 - compiler: gcc - - os: osx - osx_image: xcode7.3 - compiler: clang +# - os: osx +# osx_image: beta-xcode6.2 +# compiler: gcc +# - os: osx +# osx_image: beta-xcode6.2 +# compiler: clang# +# - os: osx +# osx_image: beta-xcode6.3 +# compiler: gcc +# - os: osx +# osx_image: beta-xcode6.3 +# compiler: clang +# - os: osx +# osx_image: xcode6.4 +# compiler: gcc +# - os: osx +# osx_image: xcode6.4 +# compiler: clang +# - os: osx +# osx_image: xcode7 +# compiler: gcc +# - os: osx +# osx_image: xcode7 +# compiler: clang +# - os: osx +# osx_image: xcode7.1 +# compiler: gcc +# - os: osx +# osx_image: xcode7.1 +# compiler: clang +# - os: osx +# osx_image: xcode7.2 +# compiler: gcc +# - os: osx +# osx_image: xcode7.2 +# compiler: clang +# - os: osx +# osx_image: xcode7.3 +# compiler: gcc +# - os: osx +# osx_image: xcode7.3 +# compiler: clang cache: apt: true @@ -73,6 +109,7 @@ addons: - p7zip-full before_script: + - $CC --version - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets - mkdir build @@ -82,7 +119,7 @@ before_script: before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2_mixer game-music-emu p7zip ; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2_mixer game-music-emu p7zip cmake; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/release/SDL2-2.0.4.dmg; hdiutil attach SDL2-2.0.4.dmg; sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.dmg; hdiutil attach SDL2_mixer-2.0.1.dmg; sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/; fi - mkdir -p $HOME/srb2_cache From 3efdb9907c0496b3c6a637efed9d46d7ec98b399 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 22:46:09 -0400 Subject: [PATCH 032/325] travis-ci: add packages in all gcc builds --- .travis.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.travis.yml b/.travis.yml index 291d2fc3..02d9eaea 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,11 @@ matrix: packages: - gcc-4.8 env: CC=gcc-4.8 + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full - os: linux compiler: gcc addons: @@ -24,6 +29,11 @@ matrix: packages: - gcc-4.9 env: CC=gcc-4.9 + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full - os: linux compiler: gcc addons: @@ -33,6 +43,11 @@ matrix: packages: - gcc-5 env: CC=gcc-5 + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full - os: linux compiler: gcc addons: @@ -41,6 +56,11 @@ matrix: - ubuntu-toolchain-r-test packages: - gcc-6 + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full env: CC=gcc-6 - os: linux compiler: clang From f4bde57789d9d5f14075933732678e75aa5e44e1 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 22:47:35 -0400 Subject: [PATCH 033/325] travis-ci: copy and paste issue --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 02d9eaea..99df739d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,12 +14,12 @@ matrix: - ubuntu-toolchain-r-test packages: - gcc-4.8 - env: CC=gcc-4.8 - libsdl2-mixer-dev - libpng-dev - libgl1-mesa-dev - libgme-dev - p7zip-full + env: CC=gcc-4.8 - os: linux compiler: gcc addons: @@ -28,12 +28,12 @@ matrix: - ubuntu-toolchain-r-test packages: - gcc-4.9 - env: CC=gcc-4.9 - libsdl2-mixer-dev - libpng-dev - libgl1-mesa-dev - libgme-dev - p7zip-full + env: CC=gcc-4.9 - os: linux compiler: gcc addons: @@ -42,12 +42,12 @@ matrix: - ubuntu-toolchain-r-test packages: - gcc-5 - env: CC=gcc-5 - libsdl2-mixer-dev - libpng-dev - libgl1-mesa-dev - libgme-dev - p7zip-full + env: CC=gcc-5 - os: linux compiler: gcc addons: @@ -72,7 +72,7 @@ matrix: compiler: clang # - os: osx # osx_image: beta-xcode6.2 -# compiler: gcc +# compiler: gcc # - os: osx # osx_image: beta-xcode6.2 # compiler: clang# From e3c6ee14a89382f874f3e9977d0b3d9d3a9b529d Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 22:54:25 -0400 Subject: [PATCH 034/325] travis-ci: fixup env setting --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 99df739d..2ac26011 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,7 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: CC=gcc-4.8 + env: CC=gcc-4.8 - os: linux compiler: gcc addons: @@ -33,7 +33,7 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: CC=gcc-4.9 + env: CC=gcc-4.9 - os: linux compiler: gcc addons: @@ -47,7 +47,7 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: CC=gcc-5 + env: CC=gcc-5 - os: linux compiler: gcc addons: @@ -61,7 +61,7 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: CC=gcc-6 + env: CC=gcc-6 - os: linux compiler: clang - os: osx From 590a749deda49e7372ba115a490e1042f3984573 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 23:06:59 -0400 Subject: [PATCH 035/325] travis-ci: can not use $CC, let use $GCC --- .travis.yml | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2ac26011..0955f483 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,7 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: CC=gcc-4.8 + env: GCC=gcc-4.8 - os: linux compiler: gcc addons: @@ -33,7 +33,7 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: CC=gcc-4.9 + env: GCC=gcc-4.9 - os: linux compiler: gcc addons: @@ -47,7 +47,7 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: CC=gcc-5 + env: GCC=gcc-5 - os: linux compiler: gcc addons: @@ -61,15 +61,15 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: CC=gcc-6 + env: GCC=gcc-6 - os: linux compiler: clang - - os: osx - osx_image: beta-xcode6.1 - compiler: gcc - - os: osx - osx_image: beta-xcode6.1 - compiler: clang +# - os: osx +# osx_image: beta-xcode6.1 +# compiler: gcc +# - os: osx +# osx_image: beta-xcode6.1 +# compiler: clang # - os: osx # osx_image: beta-xcode6.2 # compiler: gcc @@ -114,7 +114,7 @@ matrix: # compiler: clang cache: - apt: true + apt: true ccache: true directories: - $HOME/srb2_cache @@ -129,6 +129,7 @@ addons: - p7zip-full before_script: + - set CC=$GCC - $CC --version - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets From 30d02affa485373dca15590a30bc6839f686e821 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 23:18:52 -0400 Subject: [PATCH 036/325] travis-ci: let use export, not set --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0955f483..b3e39988 100644 --- a/.travis.yml +++ b/.travis.yml @@ -129,7 +129,7 @@ addons: - p7zip-full before_script: - - set CC=$GCC + - export CC=$GCC - $CC --version - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets From 42dffcb6f3d54012cdc7d9722939b7763482e910 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Fri, 27 May 2016 23:40:23 -0400 Subject: [PATCH 037/325] travis-ci: test for _CC --- .travis.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index b3e39988..7448702b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,7 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: GCC=gcc-4.8 + env: _CC=gcc-4.8 - os: linux compiler: gcc addons: @@ -33,7 +33,7 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: GCC=gcc-4.9 + env: _CC=gcc-4.9 - os: linux compiler: gcc addons: @@ -47,7 +47,7 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: GCC=gcc-5 + env: _CC=gcc-5 - os: linux compiler: gcc addons: @@ -61,7 +61,7 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: GCC=gcc-6 + env: _CC=gcc-6 - os: linux compiler: clang # - os: osx @@ -129,8 +129,7 @@ addons: - p7zip-full before_script: - - export CC=$GCC - - $CC --version + - $_CC --version&&export CC=$_CC - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets - mkdir build From 327840092085fc91a3a4e50f659a7cbfc2583a11 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 00:01:22 -0400 Subject: [PATCH 038/325] travis-ci: add test for $_CC --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7448702b..3a6f166c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -129,7 +129,7 @@ addons: - p7zip-full before_script: - - $_CC --version&&export CC=$_CC + -if $_CC --version 2>/dev/null; then export CC=$_CC; fi - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets - mkdir build From 64e03c0f93698fb7b294e911cb134fa5a16ec17c Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 00:23:27 -0400 Subject: [PATCH 039/325] travis-ci: clean up test --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3a6f166c..781a5b1d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -129,7 +129,7 @@ addons: - p7zip-full before_script: - -if $_CC --version 2>/dev/null; then export CC=$_CC; fi + -if $_CC --version 2>/dev/null; then export CC=$_CC; fi; - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets - mkdir build From 439883b8c959c0f765759937a48fced176633408 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 00:33:44 -0400 Subject: [PATCH 040/325] travis-ci: spacing --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 781a5b1d..3d583004 100644 --- a/.travis.yml +++ b/.travis.yml @@ -129,7 +129,7 @@ addons: - p7zip-full before_script: - -if $_CC --version 2>/dev/null; then export CC=$_CC; fi; + - if $_CC --version 2>/dev/null; then export CC=$_CC; fi; - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets - mkdir build From ffc92489bbd969cba666be44408cdff8f6ae92bb Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 00:53:14 -0400 Subject: [PATCH 041/325] travia-ci: compile all xcode --- .travis.yml | 96 ++++++++++++++++++++++++++--------------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3d583004..d3c48b36 100644 --- a/.travis.yml +++ b/.travis.yml @@ -64,54 +64,54 @@ matrix: env: _CC=gcc-6 - os: linux compiler: clang -# - os: osx -# osx_image: beta-xcode6.1 -# compiler: gcc -# - os: osx -# osx_image: beta-xcode6.1 -# compiler: clang -# - os: osx -# osx_image: beta-xcode6.2 -# compiler: gcc -# - os: osx -# osx_image: beta-xcode6.2 -# compiler: clang# -# - os: osx -# osx_image: beta-xcode6.3 -# compiler: gcc -# - os: osx -# osx_image: beta-xcode6.3 -# compiler: clang -# - os: osx -# osx_image: xcode6.4 -# compiler: gcc -# - os: osx -# osx_image: xcode6.4 -# compiler: clang -# - os: osx -# osx_image: xcode7 -# compiler: gcc -# - os: osx -# osx_image: xcode7 -# compiler: clang -# - os: osx -# osx_image: xcode7.1 -# compiler: gcc -# - os: osx -# osx_image: xcode7.1 -# compiler: clang -# - os: osx -# osx_image: xcode7.2 -# compiler: gcc -# - os: osx -# osx_image: xcode7.2 -# compiler: clang -# - os: osx -# osx_image: xcode7.3 -# compiler: gcc -# - os: osx -# osx_image: xcode7.3 -# compiler: clang + - os: osx + osx_image: beta-xcode6.1 + compiler: gcc + - os: osx + osx_image: beta-xcode6.1 + compiler: clang + - os: osx + osx_image: beta-xcode6.2 + compiler: gcc + - os: osx + osx_image: beta-xcode6.2 + compiler: clang# + - os: osx + osx_image: beta-xcode6.3 + compiler: gcc + - os: osx + osx_image: beta-xcode6.3 + compiler: clang + - os: osx + osx_image: xcode6.4 + compiler: gcc + - os: osx + osx_image: xcode6.4 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: gcc + - os: osx + osx_image: xcode7 + compiler: clang + - os: osx + osx_image: xcode7.1 + compiler: gcc + - os: osx + osx_image: xcode7.1 + compiler: clang + - os: osx + osx_image: xcode7.2 + compiler: gcc + - os: osx + osx_image: xcode7.2 + compiler: clang + - os: osx + osx_image: xcode7.3 + compiler: gcc + - os: osx + osx_image: xcode7.3 + compiler: clang cache: apt: true From 9d3f2890c3abc72e48e34013a4f7c6b9b91da00c Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 01:12:24 -0400 Subject: [PATCH 042/325] travis-ci fixup space --- .travis.yml | 78 ++++++++++++++++++++++++++--------------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/.travis.yml b/.travis.yml index d3c48b36..10e11b80 100644 --- a/.travis.yml +++ b/.travis.yml @@ -73,45 +73,45 @@ matrix: - os: osx osx_image: beta-xcode6.2 compiler: gcc - - os: osx - osx_image: beta-xcode6.2 - compiler: clang# - - os: osx - osx_image: beta-xcode6.3 - compiler: gcc - - os: osx - osx_image: beta-xcode6.3 - compiler: clang - - os: osx - osx_image: xcode6.4 - compiler: gcc - - os: osx - osx_image: xcode6.4 - compiler: clang - - os: osx - osx_image: xcode7 - compiler: gcc - - os: osx - osx_image: xcode7 - compiler: clang - - os: osx - osx_image: xcode7.1 - compiler: gcc - - os: osx - osx_image: xcode7.1 - compiler: clang - - os: osx - osx_image: xcode7.2 - compiler: gcc - - os: osx - osx_image: xcode7.2 - compiler: clang - - os: osx - osx_image: xcode7.3 - compiler: gcc - - os: osx - osx_image: xcode7.3 - compiler: clang + - os: osx + osx_image: beta-xcode6.2 + compiler: clang# + - os: osx + osx_image: beta-xcode6.3 + compiler: gcc + - os: osx + osx_image: beta-xcode6.3 + compiler: clang + - os: osx + osx_image: xcode6.4 + compiler: gcc + - os: osx + osx_image: xcode6.4 + compiler: clang + - os: osx + osx_image: xcode7 + compiler: gcc + - os: osx + osx_image: xcode7 + compiler: clang + - os: osx + osx_image: xcode7.1 + compiler: gcc + - os: osx + osx_image: xcode7.1 + compiler: clang + - os: osx + osx_image: xcode7.2 + compiler: gcc + - os: osx + osx_image: xcode7.2 + compiler: clang + - os: osx + osx_image: xcode7.3 + compiler: gcc + - os: osx + osx_image: xcode7.3 + compiler: clang cache: apt: true From 94485edcbb9ba003bce834eee40b282e1a19413a Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 02:53:42 -0400 Subject: [PATCH 043/325] travis:-ci: install cmake on some OSX systems --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 10e11b80..a1ce2587 100644 --- a/.travis.yml +++ b/.travis.yml @@ -139,7 +139,8 @@ before_script: before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2_mixer game-music-emu p7zip cmake; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2_mixer game-music-emu p7zip; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew outdated cmake||brew install cmake; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/release/SDL2-2.0.4.dmg; hdiutil attach SDL2-2.0.4.dmg; sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.dmg; hdiutil attach SDL2_mixer-2.0.1.dmg; sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/; fi - mkdir -p $HOME/srb2_cache From e7b15d5f95bf4aa313d3dd54b1d4b562a2bde203 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 03:22:59 -0400 Subject: [PATCH 044/325] travis-cl: fixup osx? --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a1ce2587..fd701396 100644 --- a/.travis.yml +++ b/.travis.yml @@ -140,7 +140,7 @@ before_script: before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install sdl2_mixer game-music-emu p7zip; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew outdated cmake||brew install cmake; fi + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install cmake||true; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/release/SDL2-2.0.4.dmg; hdiutil attach SDL2-2.0.4.dmg; sudo cp -a /Volumes/SDL2/SDL2.framework /Library/Frameworks/; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -O -L https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.dmg; hdiutil attach SDL2_mixer-2.0.1.dmg; sudo cp -a /Volumes/SDL2_mixer/SDL2_mixer.framework /Library/Frameworks/; fi - mkdir -p $HOME/srb2_cache From 0b1fc30d0ed2687211e3d5e19a86ab85515688fe Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 17:16:29 -0400 Subject: [PATCH 045/325] travis-ci: clang and gcc are the same on osx and xcode6.3 does not works --- .travis.yml | 58 ++++++++++++++++------------------------------------- 1 file changed, 17 insertions(+), 41 deletions(-) diff --git a/.travis.yml b/.travis.yml index fd701396..ea7cd456 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,8 +6,8 @@ matrix: include: - os: linux compiler: gcc + #gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 - os: linux - compiler: gcc addons: apt: sources: @@ -19,9 +19,9 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: _CC=gcc-4.8 + compiler: gcc-4.8 + #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 - os: linux - compiler: gcc addons: apt: sources: @@ -33,9 +33,9 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: _CC=gcc-4.9 + compiler: gcc-4.9 + #gcc-4.9 (Ubuntu 4.9.3-8ubuntu2~14.04) 4.9.3 - os: linux - compiler: gcc addons: apt: sources: @@ -47,9 +47,9 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: _CC=gcc-5 + compiler: gcc-5 + #gcc-5 (Ubuntu 5.3.0-3ubuntu1~14.04) 5.3.0 20151204 - os: linux - compiler: gcc addons: apt: sources: @@ -61,57 +61,33 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - env: _CC=gcc-6 + compiler: gcc-7 + #gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511 - os: linux compiler: clang + #clang version 3.5.0 (tags/RELEASE_350/final) - os: osx osx_image: beta-xcode6.1 - compiler: gcc - - os: osx - osx_image: beta-xcode6.1 - compiler: clang + #Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn) - os: osx osx_image: beta-xcode6.2 - compiler: gcc - - os: osx - osx_image: beta-xcode6.2 - compiler: clang# - - os: osx - osx_image: beta-xcode6.3 compiler: gcc - - os: osx - osx_image: beta-xcode6.3 - compiler: clang + #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) - os: osx osx_image: xcode6.4 - compiler: gcc - - os: osx - osx_image: xcode6.4 - compiler: clang + #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) - os: osx osx_image: xcode7 - compiler: gcc - - os: osx - osx_image: xcode7 - compiler: clang + #Apple LLVM version 7.0.0 (clang-700.0.72) - os: osx osx_image: xcode7.1 - compiler: gcc - - os: osx - osx_image: xcode7.1 - compiler: clang + #Apple LLVM version 7.0.0 (clang-700.1.76) - os: osx osx_image: xcode7.2 - compiler: gcc - - os: osx - osx_image: xcode7.2 - compiler: clang + #Apple LLVM version 7.0.2 (clang-700.1.81) - os: osx osx_image: xcode7.3 - compiler: gcc - - os: osx - osx_image: xcode7.3 - compiler: clang + #Apple LLVM version 7.3.0 (clang-703.0.31) cache: apt: true From 3cf5d1ddecf9025f58d49a42640d21df682066eb Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 17:22:50 -0400 Subject: [PATCH 046/325] travis-ci: fixup gcc-6 build and added xcode6.3 --- .travis.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ea7cd456..8918713a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -61,7 +61,7 @@ matrix: - libgl1-mesa-dev - libgme-dev - p7zip-full - compiler: gcc-7 + compiler: gcc-6 #gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511 - os: linux compiler: clang @@ -73,6 +73,9 @@ matrix: osx_image: beta-xcode6.2 compiler: gcc #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) + - os: osx + osx_image: beta-xcode6.3 + # - os: osx osx_image: xcode6.4 #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) From 90ae2b2d1d5301e20b9869b7bb777095a1a19365 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 17:44:38 -0400 Subject: [PATCH 047/325] cmake: compile with warnings --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8918713a..7f46c307 100644 --- a/.travis.yml +++ b/.travis.yml @@ -113,8 +113,8 @@ before_script: - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets - mkdir build - cd build - - cmake .. - - set CFLAGS=-Wall -W -Werror + - export CFLAGS=-Wall -W -Werror + - cmake .. -DCMAKE_BUILD_TYPE=Release before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi From c76c5152c2928d4a0d4ce663c2a3b2cfd79b7f6c Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 17:59:19 -0400 Subject: [PATCH 048/325] travis-ci: fixup CFLAGS env and disable xcode6.3, it is really broken --- .travis.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7f46c307..5b414f97 100644 --- a/.travis.yml +++ b/.travis.yml @@ -73,9 +73,9 @@ matrix: osx_image: beta-xcode6.2 compiler: gcc #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) - - os: osx - osx_image: beta-xcode6.3 - # +# - os: osx +# osx_image: beta-xcode6.3 +# # - os: osx osx_image: xcode6.4 #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) @@ -108,12 +108,11 @@ addons: - p7zip-full before_script: - - if $_CC --version 2>/dev/null; then export CC=$_CC; fi; - wget --verbose --server-response -c http://rosenthalcastle.org/srb2/SRB2-v2115-assets-2.7z -O $HOME/srb2_cache/SRB2-v2115-assets-2.7z - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets - mkdir build - cd build - - export CFLAGS=-Wall -W -Werror + - export CFLAGS="-Wall -W -Werror" - cmake .. -DCMAKE_BUILD_TYPE=Release before_install: From f4a84c916e6639bf28915e1e7cea7bb14472a3ec Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 18:39:15 -0400 Subject: [PATCH 049/325] travis: Fixedup gcc 5 error and allow gcc 6 to fail --- .travis.yml | 8 +++++--- src/sdl/i_main.c | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5b414f97..eabc52f4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,8 @@ sudo: required dist: trusty matrix: + allow_failures: + compiler: gcc-6 include: - os: linux compiler: gcc @@ -73,9 +75,9 @@ matrix: osx_image: beta-xcode6.2 compiler: gcc #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) -# - os: osx -# osx_image: beta-xcode6.3 -# # + - os: osx + osx_image: beta-xcode6.3 + # - os: osx osx_image: xcode6.4 #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c index 74b61339..a12ff637 100644 --- a/src/sdl/i_main.c +++ b/src/sdl/i_main.c @@ -245,7 +245,7 @@ int main(int argc, char **argv) #endif // return to OS -#ifndef __GNUC__ +#if !defined (__GNUC__) || (__GNUC__ < 5) return 0; #endif } From ad6c2e634f6ddb9b8a24e4fca0817e347ae0543e Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 19:08:50 -0400 Subject: [PATCH 050/325] travis: disable xcode6.3 --- .travis.yml | 8 ++++---- src/sdl/i_main.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index eabc52f4..6376ed52 100644 --- a/.travis.yml +++ b/.travis.yml @@ -75,10 +75,10 @@ matrix: osx_image: beta-xcode6.2 compiler: gcc #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) - - os: osx - osx_image: beta-xcode6.3 - # - - os: osx +# - os: osx +# osx_image: beta-xcode6.3 +# # +# - os: osx osx_image: xcode6.4 #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) - os: osx diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c index a12ff637..6ccea92a 100644 --- a/src/sdl/i_main.c +++ b/src/sdl/i_main.c @@ -245,7 +245,7 @@ int main(int argc, char **argv) #endif // return to OS -#if !defined (__GNUC__) || (__GNUC__ < 5) +#if !defined (__GNUC__) || (__GNUC__ < 4) return 0; #endif } From 02e67a4a950be49f7abdc3daed60100164827ec0 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 19:15:37 -0400 Subject: [PATCH 051/325] travis: add gcc 4.4, 4.6 and 4.7 --- .travis.yml | 36 ++++++++++++++++++++++++++++++++++++ src/sdl/i_main.c | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 6376ed52..1e4caa7b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,42 @@ matrix: allow_failures: compiler: gcc-6 include: + - os: linux + addons: + apt: + packages: + - gcc-4.4 + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + compiler: gcc-4.4 + #gcc-4.4 + - os: linux + addons: + apt: + packages: + - gcc-4.6 + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + compiler: gcc-4.6 + #gcc-4.6 + - os: linux + addons: + apt: + packages: + - gcc-4.7 + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + compiler: gcc-4.7 + #gcc-4.7 - os: linux compiler: gcc #gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c index 6ccea92a..e06c4ae9 100644 --- a/src/sdl/i_main.c +++ b/src/sdl/i_main.c @@ -245,7 +245,7 @@ int main(int argc, char **argv) #endif // return to OS -#if !defined (__GNUC__) || (__GNUC__ < 4) +#if !defined (__GNUC__) || (__GNUC__ < 3) return 0; #endif } From a1d246a34e7d5b9b89a032f577ee89e1762a1d9b Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 19:17:21 -0400 Subject: [PATCH 052/325] travis-cl: disable gcc-6 build --- .travis.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1e4caa7b..2c7eb93e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -87,20 +87,20 @@ matrix: - p7zip-full compiler: gcc-5 #gcc-5 (Ubuntu 5.3.0-3ubuntu1~14.04) 5.3.0 20151204 - - os: linux - addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - gcc-6 - - libsdl2-mixer-dev - - libpng-dev - - libgl1-mesa-dev - - libgme-dev - - p7zip-full - compiler: gcc-6 - #gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511 +# - os: linux +# addons: +# apt: +# sources: +# - ubuntu-toolchain-r-test +# packages: +# - gcc-6 +# - libsdl2-mixer-dev +# - libpng-dev +# - libgl1-mesa-dev +# - libgme-dev +# - p7zip-full +# compiler: gcc-6 +# #gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511 - os: linux compiler: clang #clang version 3.5.0 (tags/RELEASE_350/final) From 35f36e1bba7c0af75c0338ca176ffa5b388d6b66 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 19:28:37 -0400 Subject: [PATCH 053/325] travis-ci: set v of nulK to 0 --- src/blua/lcode.c | 1 + src/sdl/i_main.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/blua/lcode.c b/src/blua/lcode.c index 743a094a..5c7fed45 100644 --- a/src/blua/lcode.c +++ b/src/blua/lcode.c @@ -270,6 +270,7 @@ static int boolK (FuncState *fs, int b) { static int nilK (FuncState *fs) { TValue k, v; + setbvalue(&v, 0); setnilvalue(&v); /* cannot use nil as key; instead use table itself to represent nil */ sethvalue(fs->L, &k, fs->h); diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c index e06c4ae9..2364281d 100644 --- a/src/sdl/i_main.c +++ b/src/sdl/i_main.c @@ -245,7 +245,7 @@ int main(int argc, char **argv) #endif // return to OS -#if !defined (__GNUC__) || (__GNUC__ < 3) +#if !defined (__GNUC__) return 0; #endif } From d9aa430817fc4bc60c0aae634153cb7fa6872960 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 19:42:38 -0400 Subject: [PATCH 054/325] use memmove in D_MD5PasswordPass() and drop noreturn --- src/d_netcmd.c | 2 +- src/sdl/i_main.c | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 3dd95bf9..1658d1a6 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -2601,7 +2601,7 @@ static void D_MD5PasswordPass(const UINT8 *buffer, size_t len, const char *salt, if (len > 256-strlen(salt)) len = 256-strlen(salt); - memcpy(tmpbuf, buffer, len); + memmove(tmpbuf, buffer, len); strcpy(&tmpbuf[len], salt); len += strlen(salt); if (len < 256) diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c index 2364281d..ab7631bc 100644 --- a/src/sdl/i_main.c +++ b/src/sdl/i_main.c @@ -144,10 +144,8 @@ void XBoxStartup() myargv = NULL; #else #ifdef FORCESDLMAIN -FUNCNORETURN int SDL_main(int argc, char **argv) #else -FUNCNORETURN int main(int argc, char **argv) #endif { @@ -245,8 +243,6 @@ int main(int argc, char **argv) #endif // return to OS -#if !defined (__GNUC__) return 0; -#endif } #endif From 3aea4a7601cbc2cbf954fb86cf80b2ab30902099 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 19:48:52 -0400 Subject: [PATCH 055/325] replace strcpy with memmove in D_MD5PasswordPass() --- src/d_netcmd.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 1658d1a6..868469cf 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -2598,11 +2598,13 @@ static void D_MD5PasswordPass(const UINT8 *buffer, size_t len, const char *salt, memset(dest, 0, 16); #else XBOXSTATIC char tmpbuf[256]; + const size_t sl = strlen(salt) - if (len > 256-strlen(salt)) - len = 256-strlen(salt); - memmove(tmpbuf, buffer, len); - strcpy(&tmpbuf[len], salt); + if (len > 256-sl) + len = 256-s;; + memcpy(tmpbuf, buffer, len); + memmove(&tmpbuf[len], salt, sl); + //strcpy(&tmpbuf[len], salt); len += strlen(salt); if (len < 256) memset(&tmpbuf[len],0,256-len); From 35b254feaa18d7fc40943c2fe2d98fbc7742b071 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 19:51:10 -0400 Subject: [PATCH 056/325] D_MD5PasswordPass, fixup --- src/d_netcmd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 868469cf..4f73a256 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -2598,10 +2598,10 @@ static void D_MD5PasswordPass(const UINT8 *buffer, size_t len, const char *salt, memset(dest, 0, 16); #else XBOXSTATIC char tmpbuf[256]; - const size_t sl = strlen(salt) + const size_t sl = strlen(salt); if (len > 256-sl) - len = 256-s;; + len = 256-sl; memcpy(tmpbuf, buffer, len); memmove(&tmpbuf[len], salt, sl); //strcpy(&tmpbuf[len], salt); From 4956be2bd4916e81e5c123117d20c2e9de5b6ac7 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 21:23:09 -0400 Subject: [PATCH 057/325] gcc-6: error: left shift of negative value [-Werror=shift-negative-value] --- src/i_tcp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i_tcp.c b/src/i_tcp.c index 89e59c8b..eca218c8 100644 --- a/src/i_tcp.c +++ b/src/i_tcp.c @@ -466,7 +466,7 @@ static boolean SOCK_cmpaddr(mysockaddr_t *a, mysockaddr_t *b, UINT8 mask) UINT32 bitmask = INADDR_NONE; if (mask && mask < 32) - bitmask = htonl(-1 << (32 - mask)); + bitmask = htonl((UINT32)(-1) << (32 - mask)); if (b->any.sa_family == AF_INET) return (a->ip4.sin_addr.s_addr & bitmask) == (b->ip4.sin_addr.s_addr & bitmask) From 9e196613a01954febe0d4a2a1b838d2afdad8ec6 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 21:23:46 -0400 Subject: [PATCH 058/325] =?UTF-8?q?gcc-6:=20error:=20this=20=E2=80=98for?= =?UTF-8?q?=E2=80=99=20clause=20does=20not=20guard...=20[-Werror=3Dmislead?= =?UTF-8?q?ing-indentation]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/m_menu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/m_menu.c b/src/m_menu.c index 6d1e8f11..6c129444 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -7430,7 +7430,7 @@ static void M_HandleFogColor(INT32 choice) l = strlen(temp); for (i = 0; i < l; i++) cv_grfogcolor.zstring[5 - i] = temp[l - i]; - cv_grfogcolor.zstring[5] = (char)choice; + cv_grfogcolor.zstring[5] = (char)choice; } break; } From 209d76cb9dbcba5a6175a49269b1d88bd85a54e4 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 21:24:06 -0400 Subject: [PATCH 059/325] =?UTF-8?q?gcc-6:=20error:=20this=20=E2=80=98if?= =?UTF-8?q?=E2=80=99=20clause=20does=20not=20guard...=20[-Werror=3Dmislead?= =?UTF-8?q?ing-indentation]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/blua/ltablib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/blua/ltablib.c b/src/blua/ltablib.c index 2e50ce0a..2dd15715 100644 --- a/src/blua/ltablib.c +++ b/src/blua/ltablib.c @@ -137,7 +137,7 @@ static void addfield (lua_State *L, luaL_Buffer *b, int i) { if (!lua_isstring(L, -1)) luaL_error(L, "invalid value (%s) at index %d in table for " LUA_QL("concat"), luaL_typename(L, -1), i); - luaL_addvalue(b); + luaL_addvalue(b); } From b60ab05721b56f0a083af37d223e192ebe7be934 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 21:31:33 -0400 Subject: [PATCH 060/325] travis-ci: reenable gcc-6 --- .travis.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2c7eb93e..1e4caa7b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -87,20 +87,20 @@ matrix: - p7zip-full compiler: gcc-5 #gcc-5 (Ubuntu 5.3.0-3ubuntu1~14.04) 5.3.0 20151204 -# - os: linux -# addons: -# apt: -# sources: -# - ubuntu-toolchain-r-test -# packages: -# - gcc-6 -# - libsdl2-mixer-dev -# - libpng-dev -# - libgl1-mesa-dev -# - libgme-dev -# - p7zip-full -# compiler: gcc-6 -# #gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511 + - os: linux + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - gcc-6 + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + compiler: gcc-6 + #gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511 - os: linux compiler: clang #clang version 3.5.0 (tags/RELEASE_350/final) From e866630b22e152a0d9bdb4902c566d92294e38d1 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 21:50:06 -0400 Subject: [PATCH 061/325] travis: disable tautological-compare warnings --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1e4caa7b..9e92ae1f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -150,7 +150,8 @@ before_script: - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets - mkdir build - cd build - - export CFLAGS="-Wall -W -Werror" + - export CFLAGS="-Wall -W -Werror -Wno-tautological-compare -Wno-error=tautological-compare" + - $CC -Wno-error=tautological-compare -dM -E - < /dev/null&>/dev/null||export CFLAGS="Wall -W -Werror" - cmake .. -DCMAKE_BUILD_TYPE=Release before_install: From 2dfdc99cb5e620ecf2911191a610007d16a0640e Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 22:30:28 -0400 Subject: [PATCH 062/325] travis-ci: let add pre build files, gcc-6 get disable warning flags --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9e92ae1f..836ac58a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -100,6 +100,7 @@ matrix: - libgme-dev - p7zip-full compiler: gcc-6 + env: WFLAGS=-Werror -Wno-tautological-compare -Wno-error=tautological-compare #gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511 - os: linux compiler: clang @@ -150,8 +151,7 @@ before_script: - 7z x $HOME/srb2_cache/SRB2-v2115-assets-2.7z -oassets - mkdir build - cd build - - export CFLAGS="-Wall -W -Werror -Wno-tautological-compare -Wno-error=tautological-compare" - - $CC -Wno-error=tautological-compare -dM -E - < /dev/null&>/dev/null||export CFLAGS="Wall -W -Werror" + - export CFLAGS="-Wall -W $WFLAGS" - cmake .. -DCMAKE_BUILD_TYPE=Release before_install: From 68329624899d693c7df5ecccf3e7e5fcd6fa7cf5 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sat, 28 May 2016 22:45:47 -0400 Subject: [PATCH 063/325] travis-ci: env vars need to be quoted --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 836ac58a..69e8ee9e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -100,7 +100,7 @@ matrix: - libgme-dev - p7zip-full compiler: gcc-6 - env: WFLAGS=-Werror -Wno-tautological-compare -Wno-error=tautological-compare + env: WFLAGS="-Wno-tautological-compare -Wno-error=tautological-compare" #gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511 - os: linux compiler: clang From febaabd80baa41cc0e8970a4e04ed416f03fb88b Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sun, 29 May 2016 09:40:56 -0400 Subject: [PATCH 064/325] travis: label up each compiler build, and remove the allow_failures --- .travis.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 69e8ee9e..f9f701ef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,8 +3,6 @@ sudo: required dist: trusty matrix: - allow_failures: - compiler: gcc-6 include: - os: linux addons: @@ -17,7 +15,7 @@ matrix: - libgme-dev - p7zip-full compiler: gcc-4.4 - #gcc-4.4 + #gcc-4.4 (Ubuntu/Linaro 4.4.7-8ubuntu1) 4.4.7 - os: linux addons: apt: @@ -29,7 +27,7 @@ matrix: - libgme-dev - p7zip-full compiler: gcc-4.6 - #gcc-4.6 + #gcc-4.6 (Ubuntu/Linaro 4.6.4-6ubuntu2) 4.6.4 - os: linux addons: apt: @@ -114,7 +112,7 @@ matrix: #Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn) # - os: osx # osx_image: beta-xcode6.3 -# # +# #I think xcode.6.3 VM is broken, it does not boot # - os: osx osx_image: xcode6.4 #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) From 6fb70f8d02ced358f746aa1dda03b12a786df09a Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Sun, 29 May 2016 09:47:30 -0400 Subject: [PATCH 065/325] travis-ci: let only display, not error on autological warnings --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f9f701ef..c6c4313c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -98,7 +98,7 @@ matrix: - libgme-dev - p7zip-full compiler: gcc-6 - env: WFLAGS="-Wno-tautological-compare -Wno-error=tautological-compare" + env: WFLAGS="-Wno-error=tautological-compare" #gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511 - os: linux compiler: clang From 2c73e2a2cdd992cdc839491b39346effbbe286a6 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Sun, 29 May 2016 16:47:38 +0100 Subject: [PATCH 066/325] Fix flung emeralds not disappearing in death pits (assuming it wasn't an intentional behaviour thing of course) --- src/p_mobj.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/p_mobj.c b/src/p_mobj.c index 4122619d..68fb1696 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -2245,6 +2245,7 @@ static boolean P_ZMovement(mobj_t *mo) case MT_BLUETEAMRING: case MT_FLINGRING: case MT_FLINGCOIN: + case MT_FLINGEMERALD: // Remove flinged stuff from death pits. if (P_CheckDeathPitCollide(mo)) { @@ -2276,7 +2277,6 @@ static boolean P_ZMovement(mobj_t *mo) if (!(mo->momx || mo->momy || mo->momz)) return true; break; - case MT_FLINGEMERALD: case MT_NIGHTSWING: if (!(mo->momx || mo->momy || mo->momz)) return true; From a2aeece419b3632ea3d783a38a424195290b3384 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Mon, 30 May 2016 21:53:29 +0100 Subject: [PATCH 067/325] Significant rework of main seg-rendering code, to eliminate the possibility of drawing off-screen and crashing the game as result NOTE: HOMs sometimes appear in the sky in maps like AGZ (map40), so this isn't completely fine yet. I'll fix that later --- src/r_segs.c | 110 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 68 insertions(+), 42 deletions(-) diff --git a/src/r_segs.c b/src/r_segs.c index 11b4c8ae..931b79a6 100644 --- a/src/r_segs.c +++ b/src/r_segs.c @@ -1453,34 +1453,45 @@ static void R_RenderSegLoop (void) frontscale[rw_x] = rw_scale; // draw the wall tiers - if (midtexture && yl <= yh && yh < vid.height && yh > 0) + if (midtexture) { // single sided line - dc_yl = yl; - dc_yh = yh; - dc_texturemid = rw_midtexturemid; - dc_source = R_GetColumn(midtexture,texturecolumn); - dc_texheight = textureheight[midtexture]>>FRACBITS; + if (yl <= yh && yh >= 0 && yl < viewheight) + { + dc_yl = yl; + dc_yh = yh; + dc_texturemid = rw_midtexturemid; + dc_source = R_GetColumn(midtexture,texturecolumn); + dc_texheight = textureheight[midtexture]>>FRACBITS; - //profile stuff --------------------------------------------------------- + //profile stuff --------------------------------------------------------- #ifdef TIMING - ProfZeroTimer(); + ProfZeroTimer(); #endif - colfunc(); + colfunc(); #ifdef TIMING - RDMSR(0x10,&mycount); - mytotal += mycount; //64bit add + RDMSR(0x10,&mycount); + mytotal += mycount; //64bit add - if (nombre--==0) - I_Error("R_DrawColumn CPU Spy reports: 0x%d %d\n", *((INT32 *)&mytotal+1), - (INT32)mytotal); + if (nombre--==0) + I_Error("R_DrawColumn CPU Spy reports: 0x%d %d\n", *((INT32 *)&mytotal+1), + (INT32)mytotal); #endif - //profile stuff --------------------------------------------------------- + //profile stuff --------------------------------------------------------- - // dont draw anything more for this column, since - // a midtexture blocks the view - ceilingclip[rw_x] = (INT16)viewheight; - floorclip[rw_x] = -1; + // dont draw anything more for this column, since + // a midtexture blocks the view + ceilingclip[rw_x] = (INT16)viewheight; + floorclip[rw_x] = -1; + } + else + { + // note: don't use min/max macros here + if (markceiling && yl >= 0) + ceilingclip[rw_x] = (yl-1 > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1); + if (markfloor && yh < viewheight) + floorclip[rw_x] = (yh < -1) ? -1 : (INT16)((INT16)yh + 1); + } } else { @@ -1494,21 +1505,27 @@ static void R_RenderSegLoop (void) if (mid >= floorclip[rw_x]) mid = floorclip[rw_x]-1; - if (mid >= yl && yh < vid.height && yh > 0) + if (yl < 0) + ; // do nothing, off-screen + else if (mid >= yl && yl < viewheight) { - dc_yl = yl; - dc_yh = mid; - dc_texturemid = rw_toptexturemid; - dc_source = R_GetColumn(toptexture,texturecolumn); - dc_texheight = textureheight[toptexture]>>FRACBITS; - colfunc(); - ceilingclip[rw_x] = (INT16)mid; + if (mid >= 0) + { + dc_yl = yl; + dc_yh = mid; + dc_texturemid = rw_toptexturemid; + dc_source = R_GetColumn(toptexture,texturecolumn); + dc_texheight = textureheight[toptexture]>>FRACBITS; + colfunc(); + ceilingclip[rw_x] = (INT16)mid; + } + // else do nothing, off-screen } else - ceilingclip[rw_x] = (INT16)((INT16)yl - 1); + ceilingclip[rw_x] = (yl > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1); } - else if (markceiling) // no top wall - ceilingclip[rw_x] = (INT16)((INT16)yl - 1); + else if (markceiling && yl >= 0) // no top wall + ceilingclip[rw_x] = (yl > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1); if (bottomtexture) { @@ -1520,24 +1537,33 @@ static void R_RenderSegLoop (void) if (mid <= ceilingclip[rw_x]) mid = ceilingclip[rw_x]+1; - if (mid <= yh && yh < vid.height && yh > 0) + if (yh >= viewheight) + ; // do nothing, off-screen + else if (mid <= yh && yh >= 0) { - dc_yl = mid; - dc_yh = yh; - dc_texturemid = rw_bottomtexturemid; - dc_source = R_GetColumn(bottomtexture, - texturecolumn); - dc_texheight = textureheight[bottomtexture]>>FRACBITS; - colfunc(); - floorclip[rw_x] = (INT16)mid; + if (mid < viewheight) + { + dc_yl = mid; + dc_yh = yh; + dc_texturemid = rw_bottomtexturemid; + dc_source = R_GetColumn(bottomtexture, + texturecolumn); + dc_texheight = textureheight[bottomtexture]>>FRACBITS; + colfunc(); + floorclip[rw_x] = (INT16)mid; + } + // else do nothing, off-screen } else - floorclip[rw_x] = (INT16)((INT16)yh + 1); + floorclip[rw_x] = (yh < -1) ? -1 : (INT16)((INT16)yh + 1); } - else if (markfloor) // no bottom wall - floorclip[rw_x] = (INT16)((INT16)yh + 1); + else if (markfloor && yh < viewheight) // no bottom wall + floorclip[rw_x] = (yh < -1) ? -1 : (INT16)((INT16)yh + 1), -1; } + if (floorclip[rw_x] > viewheight) + I_Error("floorclip[%d] > viewheight (value is %d)", rw_x, floorclip[rw_x]); + if (maskedtexture || numthicksides) { // save texturecol From 5c5b85f369646d82354a9e8dc916cd18d72d3dd9 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Mon, 30 May 2016 17:16:58 -0400 Subject: [PATCH 068/325] travis-ci: add builds for clang 3.4 to 3.8 --- .travis.yml | 66 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 59 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index c6c4313c..54cd25c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,36 +8,36 @@ matrix: addons: apt: packages: - - gcc-4.4 - libsdl2-mixer-dev - libpng-dev - libgl1-mesa-dev - libgme-dev - p7zip-full + - gcc-4.4 compiler: gcc-4.4 #gcc-4.4 (Ubuntu/Linaro 4.4.7-8ubuntu1) 4.4.7 - os: linux addons: apt: packages: - - gcc-4.6 - libsdl2-mixer-dev - libpng-dev - libgl1-mesa-dev - libgme-dev - p7zip-full + - gcc-4.6 compiler: gcc-4.6 #gcc-4.6 (Ubuntu/Linaro 4.6.4-6ubuntu2) 4.6.4 - os: linux addons: apt: packages: - - gcc-4.7 - libsdl2-mixer-dev - libpng-dev - libgl1-mesa-dev - libgme-dev - p7zip-full + - gcc-4.7 compiler: gcc-4.7 #gcc-4.7 - os: linux @@ -49,12 +49,12 @@ matrix: sources: - ubuntu-toolchain-r-test packages: - - gcc-4.8 - libsdl2-mixer-dev - libpng-dev - libgl1-mesa-dev - libgme-dev - p7zip-full + - gcc-4.8 compiler: gcc-4.8 #gcc-4.8 (Ubuntu 4.8.5-2ubuntu1~14.04.1) 4.8.5 - os: linux @@ -63,12 +63,12 @@ matrix: sources: - ubuntu-toolchain-r-test packages: - - gcc-4.9 - libsdl2-mixer-dev - libpng-dev - libgl1-mesa-dev - libgme-dev - p7zip-full + - gcc-4.9 compiler: gcc-4.9 #gcc-4.9 (Ubuntu 4.9.3-8ubuntu2~14.04) 4.9.3 - os: linux @@ -77,12 +77,12 @@ matrix: sources: - ubuntu-toolchain-r-test packages: - - gcc-5 - libsdl2-mixer-dev - libpng-dev - libgl1-mesa-dev - libgme-dev - p7zip-full + - gcc-5 compiler: gcc-5 #gcc-5 (Ubuntu 5.3.0-3ubuntu1~14.04) 5.3.0 20151204 - os: linux @@ -91,18 +91,70 @@ matrix: sources: - ubuntu-toolchain-r-test packages: - - gcc-6 - libsdl2-mixer-dev - libpng-dev - libgl1-mesa-dev - libgme-dev - p7zip-full + - gcc-6 compiler: gcc-6 env: WFLAGS="-Wno-error=tautological-compare" #gcc-6 (Ubuntu 6.1.1-3ubuntu11~14.04.1) 6.1.1 20160511 - os: linux compiler: clang #clang version 3.5.0 (tags/RELEASE_350/final) + - os: linux + apt: + sources: + - llvm-toolchain-precise-3.5 + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - clang-3.5 + compiler: clang + # + - os: linux + apt: + sources: + - llvm-toolchain-precise-3.6 + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - clang-3.6 + compiler: clang + # + - os: linux + apt: + sources: + - llvm-toolchain-precise-3.7 + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - clang-3.7 + compiler: clang + # + - os: linux + apt: + sources: + - llvm-toolchain-precise-3.8 + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - clang-3.8 + compiler: clang + # - os: osx osx_image: beta-xcode6.1 #Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn) From 9f5ecdcd9c8b9f47824c9f56a212d0eea629e05c Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Mon, 30 May 2016 17:19:32 -0400 Subject: [PATCH 069/325] travis: add mssing addons: section --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index 54cd25c6..b96f2181 100644 --- a/.travis.yml +++ b/.travis.yml @@ -104,6 +104,7 @@ matrix: compiler: clang #clang version 3.5.0 (tags/RELEASE_350/final) - os: linux + addons: apt: sources: - llvm-toolchain-precise-3.5 @@ -117,6 +118,7 @@ matrix: compiler: clang # - os: linux + addons: apt: sources: - llvm-toolchain-precise-3.6 @@ -130,6 +132,7 @@ matrix: compiler: clang # - os: linux + addons: apt: sources: - llvm-toolchain-precise-3.7 @@ -143,6 +146,7 @@ matrix: compiler: clang # - os: linux + addons: apt: sources: - llvm-toolchain-precise-3.8 From 5e154ce3fd5a980d4fac923ba6161963124d8dc2 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Mon, 30 May 2016 17:21:24 -0400 Subject: [PATCH 070/325] travis: use the correct binary name for clang --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index b96f2181..bc694116 100644 --- a/.travis.yml +++ b/.travis.yml @@ -129,7 +129,7 @@ matrix: - libgme-dev - p7zip-full - clang-3.6 - compiler: clang + compiler: clang-3.6 # - os: linux addons: @@ -143,7 +143,7 @@ matrix: - libgme-dev - p7zip-full - clang-3.7 - compiler: clang + compiler: clang-3.7 # - os: linux addons: @@ -157,7 +157,7 @@ matrix: - libgme-dev - p7zip-full - clang-3.8 - compiler: clang + compiler: clang-3.8 # - os: osx osx_image: beta-xcode6.1 From 9a703bbeda78b93a87d99ff0745c6e00e01d9aaf Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Mon, 30 May 2016 17:41:23 -0400 Subject: [PATCH 071/325] travis-ci: drop clang 3.6, 3.7 and 3.8 --- .travis.yml | 44 +------------------------------------------- 1 file changed, 1 insertion(+), 43 deletions(-) diff --git a/.travis.yml b/.travis.yml index bc694116..6ff3f788 100644 --- a/.travis.yml +++ b/.travis.yml @@ -115,49 +115,7 @@ matrix: - libgme-dev - p7zip-full - clang-3.5 - compiler: clang - # - - os: linux - addons: - apt: - sources: - - llvm-toolchain-precise-3.6 - packages: - - libsdl2-mixer-dev - - libpng-dev - - libgl1-mesa-dev - - libgme-dev - - p7zip-full - - clang-3.6 - compiler: clang-3.6 - # - - os: linux - addons: - apt: - sources: - - llvm-toolchain-precise-3.7 - packages: - - libsdl2-mixer-dev - - libpng-dev - - libgl1-mesa-dev - - libgme-dev - - p7zip-full - - clang-3.7 - compiler: clang-3.7 - # - - os: linux - addons: - apt: - sources: - - llvm-toolchain-precise-3.8 - packages: - - libsdl2-mixer-dev - - libpng-dev - - libgl1-mesa-dev - - libgme-dev - - p7zip-full - - clang-3.8 - compiler: clang-3.8 + compiler: clang-3.5 # - os: osx osx_image: beta-xcode6.1 From 61faee12bc2e0e9c8d9d0d596e5cf8ab6e2ba8b5 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Mon, 30 May 2016 17:52:30 -0400 Subject: [PATCH 072/325] travis-ci: add back clang 3.6 to 3.8, but also have toolchain test repos into the mix --- .travis.yml | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/.travis.yml b/.travis.yml index 6ff3f788..a6423b62 100644 --- a/.travis.yml +++ b/.travis.yml @@ -116,6 +116,51 @@ matrix: - p7zip-full - clang-3.5 compiler: clang-3.5 + #Ubuntu clang version 3.5.0-4ubuntu2~trusty2 (tags/RELEASE_350/final) (based on LLVM 3.5.0) + - os: linux + addons: + apt: + sources: + - llvm-toolchain-precise-3.6 + - ubuntu-toolchain-r-test + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - clang-3.6 + compiler: clang-3.6 + # + - os: linux + addons: + apt: + sources: + - llvm-toolchain-precise-3.7 + - ubuntu-toolchain-r-test + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - clang-3.7 + compiler: clang-3.7 + # + - os: linux + addons: + apt: + sources: + - llvm-toolchain-precise-3.8 + - ubuntu-toolchain-r-test + packages: + - libsdl2-mixer-dev + - libpng-dev + - libgl1-mesa-dev + - libgme-dev + - p7zip-full + - clang-3.8 + compiler: clang-3.8 # - os: osx osx_image: beta-xcode6.1 From eb90f4f50deec77b35d31224a456144683cd096a Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Mon, 30 May 2016 22:53:22 +0100 Subject: [PATCH 073/325] welp no success in fixing the sky HOMs yet, committing progress anyway --- src/r_segs.c | 58 ++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 40 insertions(+), 18 deletions(-) diff --git a/src/r_segs.c b/src/r_segs.c index 931b79a6..99324d03 100644 --- a/src/r_segs.c +++ b/src/r_segs.c @@ -1487,10 +1487,20 @@ static void R_RenderSegLoop (void) else { // note: don't use min/max macros here - if (markceiling && yl >= 0) - ceilingclip[rw_x] = (yl-1 > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1); - if (markfloor && yh < viewheight) - floorclip[rw_x] = (yh < -1) ? -1 : (INT16)((INT16)yh + 1); + if (markceiling) + { + if (yl >= 0) + ceilingclip[rw_x] = (yl > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1); + else + ceilingclip[rw_x] = -1; + } + else if (markfloor) + { + if (yh < viewheight) + floorclip[rw_x] = (yh < -1) ? -1 : (INT16)((INT16)yh + 1); + else + floorclip[rw_x] = (INT16)viewheight; + } } } else @@ -1505,9 +1515,7 @@ static void R_RenderSegLoop (void) if (mid >= floorclip[rw_x]) mid = floorclip[rw_x]-1; - if (yl < 0) - ; // do nothing, off-screen - else if (mid >= yl && yl < viewheight) + if (mid >= yl && yl < viewheight) { if (mid >= 0) { @@ -1519,13 +1527,21 @@ static void R_RenderSegLoop (void) colfunc(); ceilingclip[rw_x] = (INT16)mid; } - // else do nothing, off-screen + else + ceilingclip[rw_x] = -1; } - else + else if (yl >= 0) ceilingclip[rw_x] = (yl > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1); + else + ceilingclip[rw_x] = -1; + } + else if (markceiling) // no top wall + { + if (yl >= 0) + ceilingclip[rw_x] = (yl > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1); + else + ceilingclip[rw_x] = -1; } - else if (markceiling && yl >= 0) // no top wall - ceilingclip[rw_x] = (yl > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1); if (bottomtexture) { @@ -1537,9 +1553,7 @@ static void R_RenderSegLoop (void) if (mid <= ceilingclip[rw_x]) mid = ceilingclip[rw_x]+1; - if (yh >= viewheight) - ; // do nothing, off-screen - else if (mid <= yh && yh >= 0) + if (mid <= yh && yh >= 0) { if (mid < viewheight) { @@ -1552,13 +1566,21 @@ static void R_RenderSegLoop (void) colfunc(); floorclip[rw_x] = (INT16)mid; } - // else do nothing, off-screen + else + floorclip[rw_x] = (INT16)viewheight; } - else + else if (yh < viewheight) floorclip[rw_x] = (yh < -1) ? -1 : (INT16)((INT16)yh + 1); + else + floorclip[rw_x] = (INT16)viewheight; + } + else if (markfloor) // no bottom wall + { + if (yh < viewheight) + floorclip[rw_x] = (yh < -1) ? -1 : (INT16)((INT16)yh + 1); + else + floorclip[rw_x] = (INT16)viewheight; } - else if (markfloor && yh < viewheight) // no bottom wall - floorclip[rw_x] = (yh < -1) ? -1 : (INT16)((INT16)yh + 1), -1; } if (floorclip[rw_x] > viewheight) From fa002e58ad0f11f362a5bdfdb0629c9494906a1b Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Tue, 31 May 2016 15:01:19 +0100 Subject: [PATCH 074/325] Did a bunch of things to/for slopes. *The No Physics flag now works (Red, you might want to doublecheck this to see whether I haven't missed any eosteric stuff out). Going downhill is a little bumpy, and I'm not sure whether that's good or not. Someone help me out here? *The SRB2CB typeshims are now behind #ifdef ESLOPE_TYPESHIM instead of #if 1 for easier disabling. *Slopes' downhill thrusts are now scaled with regards to object gravity. This is actually untested in gravities other than normal and reverse normal but it's one line which can be easily reverted in that circumstance. I also checked with MI to make sure this is how it's calculated elsewhere, so fingers crossed this doesn't cause any edge cases. *As a consequence of the above point, there's now a function in p_mobj.c/h that returns an object's internal gravity - seperated out from the logic of P_CheckGravity, which really didn't need to be so monolithic. Multiply by global gravity to get the thrust. This should probably be available to Lua somehow, but I have absolutely no idea where to start with that. Wolfs, maybe? Non-comprehensive test file available at /toaster/slptst3.wad on the ftp. --- src/doomdef.h | 6 ++++++ src/p_mobj.c | 31 ++++++++++++++++++++++--------- src/p_mobj.h | 3 +++ src/p_slopes.c | 50 ++++++++++++++++++++++++++++++++++---------------- src/p_user.c | 8 ++++---- 5 files changed, 69 insertions(+), 29 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index 9a1e5af9..e645c084 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -431,6 +431,12 @@ extern const char *compdate, *comptime, *comprevision, *compbranch; /// Kalaron/Eternity Engine slope code (SRB2CB ported) #define ESLOPE +#if defined(ESLOPE) +/// Backwards compatibility with SRB2CB's slope linedef types. +/// \note A simple shim that prints a warning. +#define ESLOPE_TYPESHIM +#endif + /// Delete file while the game is running. /// \note EXTREMELY buggy, tends to crash game. //#define DELFILE diff --git a/src/p_mobj.c b/src/p_mobj.c index 68fb1696..775cd9d6 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -1252,13 +1252,12 @@ static void P_PlayerFlip(mobj_t *mo) } // -// P_CheckGravity +// P_GetMobjGravity // -// Checks the current gravity state -// of the object. If affect is true, -// a gravity force will be applied. +// Returns the current gravity +// value of the object. // -void P_CheckGravity(mobj_t *mo, boolean affect) +fixed_t P_GetMobjGravity(mobj_t *mo) { fixed_t gravityadd = 0; boolean no3dfloorgrav = true; // Custom gravity @@ -1400,11 +1399,25 @@ void P_CheckGravity(mobj_t *mo, boolean affect) if (goopgravity) gravityadd = -gravityadd/5; - if (affect) - mo->momz += FixedMul(gravityadd, mo->scale); - if (mo->player && !!(mo->eflags & MFE_VERTICALFLIP) != wasflip) P_PlayerFlip(mo); + + return gravityadd; +} + +// +// P_CheckGravity +// +// Checks the current gravity state +// of the object. If affect is true, +// a gravity force will be applied. +// +void P_CheckGravity(mobj_t *mo, boolean affect) +{ + fixed_t gravityadd = P_GetMobjGravity(mo); + + if (affect) + mo->momz += FixedMul(gravityadd, mo->scale); if (mo->type == MT_SKIM && mo->z + mo->momz <= mo->watertop && mo->z >= mo->watertop) { @@ -1480,7 +1493,7 @@ static void P_XYFriction(mobj_t *mo, fixed_t oldx, fixed_t oldy) && abs(player->rmomy) < FixedMul(STOPSPEED, mo->scale) && (!(player->cmd.forwardmove && !(twodlevel || mo->flags2 & MF2_TWOD)) && !player->cmd.sidemove && !(player->pflags & PF_SPINNING)) #ifdef ESLOPE - && !(player->mo->standingslope && abs(player->mo->standingslope->zdelta) >= FRACUNIT/2) + && !(player->mo->standingslope && (!(player->mo->standingslope->flags & SL_NOPHYSICS)) && (abs(player->mo->standingslope->zdelta) >= FRACUNIT/2)) #endif ) { diff --git a/src/p_mobj.h b/src/p_mobj.h index 9542ce8b..de7f0c8d 100644 --- a/src/p_mobj.h +++ b/src/p_mobj.h @@ -425,6 +425,9 @@ void P_AddCachedAction(mobj_t *mobj, INT32 statenum); // check mobj against water content, before movement code void P_MobjCheckWater(mobj_t *mobj); +// get mobj gravity +fixed_t P_GetMobjGravity(mobj_t *mo); + // Player spawn points void P_SpawnPlayer(INT32 playernum); void P_MovePlayerToSpawn(INT32 playernum, mapthing_t *mthing); diff --git a/src/p_slopes.c b/src/p_slopes.c index 6393ca4b..f4ef4dcc 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -16,6 +16,7 @@ #include "m_bbox.h" #include "z_zone.h" #include "p_local.h" +#include "p_mobj.h" #include "p_spec.h" #include "p_slopes.h" #include "p_setup.h" @@ -881,7 +882,7 @@ void P_SetSlopesFromVertexHeights(lumpnum_t lumpnum) // Reset the dynamic slopes pointer, and read all of the fancy schmancy slopes void P_ResetDynamicSlopes(void) { size_t i; -#if 1 // Rewrite old specials to new ones, and give a console warning +#ifdef ESLOPE_TYPESHIM // Rewrite old specials to new ones, and give a console warning boolean warned = false; #endif @@ -894,7 +895,7 @@ void P_ResetDynamicSlopes(void) { { switch (lines[i].special) { -#if 1 // Rewrite old specials to new ones, and give a console warning +#ifdef ESLOPE_TYPESHIM // Rewrite old specials to new ones, and give a console warning #define WARNME if (!warned) {warned = true; CONS_Alert(CONS_WARNING, "This level uses old slope specials.\nA conversion will be needed before 2.2's release.\n");} case 386: case 387: @@ -1018,6 +1019,9 @@ fixed_t P_GetZAt(pslope_t *slope, fixed_t x, fixed_t y) // When given a vector, rotates it and aligns it to a slope void P_QuantizeMomentumToSlope(vector3_t *momentum, pslope_t *slope) { + if (slope->flags & SL_NOPHYSICS) + return; // No physics, no quantizing. + vector3_t axis; axis.x = -slope->d.y; axis.y = slope->d.x; @@ -1032,26 +1036,37 @@ void P_QuantizeMomentumToSlope(vector3_t *momentum, pslope_t *slope) // Handles slope ejection for objects void P_SlopeLaunch(mobj_t *mo) { - // Double the pre-rotation Z, then halve the post-rotation Z. This reduces the - // vertical launch given from slopes while increasing the horizontal launch - // given. Good for SRB2's gravity and horizontal speeds. - vector3_t slopemom; - slopemom.x = mo->momx; - slopemom.y = mo->momy; - slopemom.z = mo->momz*2; - P_QuantizeMomentumToSlope(&slopemom, mo->standingslope); - - mo->momx = slopemom.x; - mo->momy = slopemom.y; - mo->momz = slopemom.z/2; + if (!(mo->standingslope->flags & SL_NOPHYSICS)) // If there's physics, time for launching. + { + // Double the pre-rotation Z, then halve the post-rotation Z. This reduces the + // vertical launch given from slopes while increasing the horizontal launch + // given. Good for SRB2's gravity and horizontal speeds. + vector3_t slopemom; + slopemom.x = mo->momx; + slopemom.y = mo->momy; + slopemom.z = mo->momz*2; + P_QuantizeMomentumToSlope(&slopemom, mo->standingslope); + mo->momx = slopemom.x; + mo->momy = slopemom.y; + mo->momz = slopemom.z/2; + } + //CONS_Printf("Launched off of slope.\n"); mo->standingslope = NULL; } // Function to help handle landing on slopes void P_HandleSlopeLanding(mobj_t *thing, pslope_t *slope) -{ +{ + if (slope->flags & SL_NOPHYSICS) { // No physics, no need to make anything complicated. + if (P_MobjFlip(thing)*(thing->momz) < 0) { // falling, land on slope + thing->momz = -P_MobjFlip(thing); + thing->standingslope = slope; + } + return; + } + vector3_t mom; mom.x = thing->momx; mom.y = thing->momy; @@ -1081,6 +1096,9 @@ void P_ButteredSlope(mobj_t *mo) if (!mo->standingslope) return; + + if (mo->standingslope->flags & SL_NOPHYSICS) + return; // No physics, no butter. if (mo->flags & (MF_NOCLIPHEIGHT|MF_NOGRAVITY)) return; // don't slide down slopes if you can't touch them or you're not affected by gravity @@ -1116,7 +1134,7 @@ void P_ButteredSlope(mobj_t *mo) // This makes it harder to zigzag up steep slopes, as well as allows greater top speed when rolling down // Multiply by gravity - thrust = FixedMul(thrust, gravity); // TODO account for per-sector gravity etc + thrust = FixedMul(thrust, FixedMul(gravity, abs(P_GetMobjGravity(mo)))); // Now uses the absolute of mobj gravity. You're welcome. // Multiply by scale (gravity strength depends on mobj scale) thrust = FixedMul(thrust, mo->scale); diff --git a/src/p_user.c b/src/p_user.c index 4117cfc4..461497bc 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -3741,7 +3741,7 @@ static void P_DoSpinDash(player_t *player, ticcmd_t *cmd) { if ((cmd->buttons & BT_USE) && player->speed < FixedMul(5<mo->scale) && !player->mo->momz && onground && !(player->pflags & PF_USEDOWN) && !(player->pflags & PF_SPINNING) #ifdef ESLOPE - && (!player->mo->standingslope || abs(player->mo->standingslope->zdelta) < FRACUNIT/2) + && (!player->mo->standingslope || (player->mo->standingslope->flags & SL_NOPHYSICS) || abs(player->mo->standingslope->zdelta) < FRACUNIT/2) #endif ) { @@ -3774,7 +3774,7 @@ static void P_DoSpinDash(player_t *player, ticcmd_t *cmd) else if ((cmd->buttons & BT_USE || ((twodlevel || (player->mo->flags2 & MF2_TWOD)) && cmd->forwardmove < -20)) && !player->climbing && !player->mo->momz && onground && (player->speed > FixedMul(5<mo->scale) #ifdef ESLOPE - || (player->mo->standingslope && abs(player->mo->standingslope->zdelta) >= FRACUNIT/2) + || (player->mo->standingslope && (!(player->mo->standingslope->flags & SL_NOPHYSICS)) && abs(player->mo->standingslope->zdelta) >= FRACUNIT/2) #endif ) && !(player->pflags & PF_USEDOWN) && !(player->pflags & PF_SPINNING)) { @@ -3790,7 +3790,7 @@ static void P_DoSpinDash(player_t *player, ticcmd_t *cmd) if (onground && player->pflags & PF_SPINNING && !(player->pflags & PF_STARTDASH) && player->speed < FixedMul(5*FRACUNIT,player->mo->scale) #ifdef ESLOPE - && (!player->mo->standingslope || abs(player->mo->standingslope->zdelta) < FRACUNIT/2) + && (!player->mo->standingslope || (player->mo->standingslope->flags & SL_NOPHYSICS) || abs(player->mo->standingslope->zdelta) < FRACUNIT/2) #endif ) { @@ -4776,7 +4776,7 @@ static void P_3dMovement(player_t *player) #ifdef ESLOPE if ((totalthrust.x || totalthrust.y) - && player->mo->standingslope && abs(player->mo->standingslope->zdelta) > FRACUNIT/2) { + && player->mo->standingslope && (!(player->mo->standingslope->flags & SL_NOPHYSICS)) && abs(player->mo->standingslope->zdelta) > FRACUNIT/2) { // Factor thrust to slope, but only for the part pushing up it! // The rest is unaffected. angle_t thrustangle = R_PointToAngle2(0, 0, totalthrust.x, totalthrust.y)-player->mo->standingslope->xydirection; From ad61050bb07825453b83fdd8735c2e85460d6ac2 Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Tue, 31 May 2016 16:01:05 +0100 Subject: [PATCH 075/325] Whitespace removal. --- src/p_mobj.c | 2 +- src/p_slopes.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/p_mobj.c b/src/p_mobj.c index 775cd9d6..35d8f1ad 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -1401,7 +1401,7 @@ fixed_t P_GetMobjGravity(mobj_t *mo) if (mo->player && !!(mo->eflags & MFE_VERTICALFLIP) != wasflip) P_PlayerFlip(mo); - + return gravityadd; } diff --git a/src/p_slopes.c b/src/p_slopes.c index f4ef4dcc..462f7c3c 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -1021,7 +1021,7 @@ void P_QuantizeMomentumToSlope(vector3_t *momentum, pslope_t *slope) { if (slope->flags & SL_NOPHYSICS) return; // No physics, no quantizing. - + vector3_t axis; axis.x = -slope->d.y; axis.y = slope->d.x; @@ -1051,14 +1051,14 @@ void P_SlopeLaunch(mobj_t *mo) mo->momy = slopemom.y; mo->momz = slopemom.z/2; } - + //CONS_Printf("Launched off of slope.\n"); mo->standingslope = NULL; } // Function to help handle landing on slopes void P_HandleSlopeLanding(mobj_t *thing, pslope_t *slope) -{ +{ if (slope->flags & SL_NOPHYSICS) { // No physics, no need to make anything complicated. if (P_MobjFlip(thing)*(thing->momz) < 0) { // falling, land on slope thing->momz = -P_MobjFlip(thing); @@ -1096,7 +1096,7 @@ void P_ButteredSlope(mobj_t *mo) if (!mo->standingslope) return; - + if (mo->standingslope->flags & SL_NOPHYSICS) return; // No physics, no butter. From bd588ad0f4bed71863f9b4a3d47661b38d70511d Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Tue, 31 May 2016 11:05:59 -0400 Subject: [PATCH 076/325] travis-ci: note down what version of clang we are compiling with --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index a6423b62..a5d1d0f6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -131,7 +131,7 @@ matrix: - p7zip-full - clang-3.6 compiler: clang-3.6 - # + #Ubuntu clang version 3.6.2-svn240577-1~exp1 (branches/release_36) (based on LLVM 3.6.2) - os: linux addons: apt: @@ -146,7 +146,7 @@ matrix: - p7zip-full - clang-3.7 compiler: clang-3.7 - # + #Ubuntu clang version 3.7.1-svn253571-1~exp1 (branches/release_37) (based on LLVM 3.7.1) - os: linux addons: apt: @@ -161,7 +161,7 @@ matrix: - p7zip-full - clang-3.8 compiler: clang-3.8 - # + #clang version 3.8.1-svn271127-1~exp1 (branches/release_38) - os: osx osx_image: beta-xcode6.1 #Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn) From 8b2b49fb043ee32a8269ff4a0fe2db74c47e3d1a Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Tue, 31 May 2016 16:08:29 +0100 Subject: [PATCH 077/325] Just some final cleanup of the code I changed --- src/r_segs.c | 59 ++++++++++++++++------------------------------------ 1 file changed, 18 insertions(+), 41 deletions(-) diff --git a/src/r_segs.c b/src/r_segs.c index 99324d03..ec3eaa18 100644 --- a/src/r_segs.c +++ b/src/r_segs.c @@ -1486,21 +1486,11 @@ static void R_RenderSegLoop (void) } else { - // note: don't use min/max macros here + // note: don't use min/max macros, since casting from INT32 to INT16 is involved here if (markceiling) - { - if (yl >= 0) - ceilingclip[rw_x] = (yl > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1); - else - ceilingclip[rw_x] = -1; - } - else if (markfloor) - { - if (yh < viewheight) - floorclip[rw_x] = (yh < -1) ? -1 : (INT16)((INT16)yh + 1); - else - floorclip[rw_x] = (INT16)viewheight; - } + ceilingclip[rw_x] = (yh >= 0) ? ((yl > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1)) : -1; + if (markfloor) + floorclip[rw_x] = (yh < viewheight) ? ((yh < -1) ? -1 : (INT16)((INT16)yh + 1)) : (INT16)viewheight; } } else @@ -1515,9 +1505,11 @@ static void R_RenderSegLoop (void) if (mid >= floorclip[rw_x]) mid = floorclip[rw_x]-1; - if (mid >= yl && yl < viewheight) + if (mid >= yl) // back ceiling lower than front ceiling ? { - if (mid >= 0) + if (yl >= viewheight) // entirely off bottom of screen + ceilingclip[rw_x] = (INT16)viewheight; + else if (mid >= 0) // safe to draw top texture { dc_yl = yl; dc_yh = mid; @@ -1527,21 +1519,14 @@ static void R_RenderSegLoop (void) colfunc(); ceilingclip[rw_x] = (INT16)mid; } - else + else // entirely off top of screen ceilingclip[rw_x] = -1; } - else if (yl >= 0) - ceilingclip[rw_x] = (yl > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1); else - ceilingclip[rw_x] = -1; + ceilingclip[rw_x] = (yh >= 0) ? ((yl > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1)) : -1; } else if (markceiling) // no top wall - { - if (yl >= 0) - ceilingclip[rw_x] = (yl > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1); - else - ceilingclip[rw_x] = -1; - } + ceilingclip[rw_x] = (yh >= 0) ? ((yl > viewheight) ? (INT16)viewheight : (INT16)((INT16)yl - 1)) : -1; if (bottomtexture) { @@ -1553,9 +1538,11 @@ static void R_RenderSegLoop (void) if (mid <= ceilingclip[rw_x]) mid = ceilingclip[rw_x]+1; - if (mid <= yh && yh >= 0) + if (mid <= yh) // back floor higher than front floor ? { - if (mid < viewheight) + if (yh < 0) // entirely off top of screen + floorclip[rw_x] = -1; + else if (mid < viewheight) // safe to draw bottom texture { dc_yl = mid; dc_yh = yh; @@ -1566,26 +1553,16 @@ static void R_RenderSegLoop (void) colfunc(); floorclip[rw_x] = (INT16)mid; } - else + else // entirely off bottom of screen floorclip[rw_x] = (INT16)viewheight; } - else if (yh < viewheight) - floorclip[rw_x] = (yh < -1) ? -1 : (INT16)((INT16)yh + 1); else - floorclip[rw_x] = (INT16)viewheight; + floorclip[rw_x] = (yh < viewheight) ? ((yh < -1) ? -1 : (INT16)((INT16)yh + 1)) : (INT16)viewheight; } else if (markfloor) // no bottom wall - { - if (yh < viewheight) - floorclip[rw_x] = (yh < -1) ? -1 : (INT16)((INT16)yh + 1); - else - floorclip[rw_x] = (INT16)viewheight; - } + floorclip[rw_x] = (yh < viewheight) ? ((yh < -1) ? -1 : (INT16)((INT16)yh + 1)) : (INT16)viewheight; } - if (floorclip[rw_x] > viewheight) - I_Error("floorclip[%d] > viewheight (value is %d)", rw_x, floorclip[rw_x]); - if (maskedtexture || numthicksides) { // save texturecol From 6058eec1c9c4c0b5129c72f94dce0e4a7dca01d8 Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Tue, 31 May 2016 16:14:21 +0100 Subject: [PATCH 078/325] Holy shit. I spent two hours staring at how garbage this code was and didn't even realise it was #ifdef'd out behind a define not even mentioned in doomdef.h. It's not actually used anywhere (superseded entirely by the much nicer, much more relevant P_NewVertexSlope()... out with you, ancient, foul demons who should've been SPRINGCLEANed long ago. --- src/p_slopes.c | 255 ------------------------------------------------- src/p_slopes.h | 20 ---- 2 files changed, 275 deletions(-) diff --git a/src/p_slopes.c b/src/p_slopes.c index 462f7c3c..cb5f07b2 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -624,261 +624,6 @@ pslope_t *P_SlopeById(UINT16 id) return ret; } -#ifdef SPRINGCLEAN -#include "byteptr.h" - -#include "p_setup.h" -#include "p_local.h" - -//========================================================================== -// -// P_SetSlopesFromVertexHeights -// -//========================================================================== -void P_SetSlopesFromVertexHeights(lumpnum_t lumpnum) -{ - mapthing_t *mt; - boolean vt_found = false; - size_t i, j, k, l, q; - - //size_t i; - //mapthing_t *mt; - char *data; - char *datastart; - - // SRB2CBTODO: WHAT IS (5 * sizeof (short))?! It = 10 - // anything else seems to make a map not load properly, - // but this hard-coded value MUST have some reason for being what it is - size_t snummapthings = W_LumpLength(lumpnum) / (5 * sizeof (short)); - mapthing_t *smapthings = Z_Calloc(snummapthings * sizeof (*smapthings), PU_LEVEL, NULL); - fixed_t x, y; - sector_t *sector; - // Spawn axis points first so they are - // at the front of the list for fast searching. - data = datastart = W_CacheLumpNum(lumpnum, PU_LEVEL); - mt = smapthings; - for (i = 0; i < snummapthings; i++, mt++) - { - mt->x = READINT16(data); - mt->y = READINT16(data); - mt->angle = READINT16(data); - mt->type = READINT16(data); - mt->options = READINT16(data); - // mt->z hasn't been set yet! - //mt->extrainfo = (byte)(mt->type >> 12); // slope things are special, they have a bigger range of types - - //mt->type &= 4095; // SRB2CBTODO: WHAT IS THIS???? Mobj type limits?!!!! - x = mt->x*FRACUNIT; - y = mt->y*FRACUNIT; - sector = R_PointInSubsector(x, y)->sector; - // Z for objects -#ifdef ESLOPE - if (sector->f_slope) - mt->z = (short)(P_GetZAt(sector->f_slope, x, y)>>FRACBITS); - else -#endif - mt->z = (short)(sector->floorheight>>FRACBITS); - - mt->z = mt->z + (mt->options >> ZSHIFT); - - if (mt->type == THING_VertexFloorZ || mt->type == THING_VertexCeilingZ) // THING_VertexFloorZ - { - for(l = 0; l < numvertexes; l++) - { - if (vertexes[l].x == mt->x*FRACUNIT && vertexes[l].y == mt->y*FRACUNIT) - { - if (mt->type == THING_VertexFloorZ) - { - vertexes[l].z = mt->z*FRACUNIT; - //I_Error("Z value: %i", vertexes[l].z/FRACUNIT); - - } - else - { - vertexes[l].z = mt->z*FRACUNIT; // celing floor - } - vt_found = true; - } - } - //mt->type = 0; // VPHYSICS: Dynamic slopes - - - - - - - if (vt_found) - { - for (k = 0; k < numsectors; k++) - { - sector_t *sec = §ors[k]; - if (sec->linecount != 3) continue; // only works with triangular sectors - - v3float_t vt1, vt2, vt3; // cross = ret->normalf - v3float_t vec1, vec2; - - int vi1, vi2, vi3; - - vi1 = (int)(sec->lines[0]->v1 - vertexes); - vi2 = (int)(sec->lines[0]->v2 - vertexes); - vi3 = (sec->lines[1]->v1 == sec->lines[0]->v1 || sec->lines[1]->v1 == sec->lines[0]->v2)? - (int)(sec->lines[1]->v2 - vertexes) : (int)(sec->lines[1]->v1 - vertexes); - - //if (vertexes[vi1].z) - // I_Error("OSNAP %i", vertexes[vi1].z/FRACUNIT); - //if (vertexes[vi2].z) - // I_Error("OSNAP %i", vertexes[vi2].z/FRACUNIT); - //if (vertexes[vi3].z) - // I_Error("OSNAP %i", vertexes[vi3].z/FRACUNIT); - - //I_Error("%i, %i", mt->z*FRACUNIT, vertexes[vi1].z); - - //I_Error("%i, %i, %i", mt->x, mt->y, mt->z); - //P_SpawnMobj(mt->x*FRACUNIT, mt->y*FRACUNIT, mt->z*FRACUNIT, MT_RING); - - // TODO: Make sure not to spawn in the same place 2x! (we need an object in every vertex of the - // triangle sector to setup the real vertex slopes - // Check for the vertexes of all sectors - for(q = 0; q < numvertexes; q++) - { - if (vertexes[q].x == mt->x*FRACUNIT && vertexes[q].y == mt->y*FRACUNIT) - { - //I_Error("yeah %i", vertexes[q].z); - P_SpawnMobj(vertexes[q].x, vertexes[q].y, vertexes[q].z, MT_RING); -#if 0 - if ((mt->y*FRACUNIT == vertexes[vi1].y && mt->x*FRACUNIT == vertexes[vi1].x && mt->z*FRACUNIT == vertexes[vi1].z) - && !(mt->y*FRACUNIT == vertexes[vi2].y && mt->x*FRACUNIT == vertexes[vi2].x && mt->z*FRACUNIT == vertexes[vi2].z) - && !(mt->y*FRACUNIT == vertexes[vi3].y && mt->x*FRACUNIT == vertexes[vi3].x && mt->z*FRACUNIT == vertexes[vi3].z)) - P_SpawnMobj(vertexes[vi1].x, vertexes[vi1].y, vertexes[vi1].z, MT_RING); - else if ((mt->y*FRACUNIT == vertexes[vi2].y && mt->x*FRACUNIT == vertexes[vi2].x && mt->z*FRACUNIT == vertexes[vi2].z) - && !(mt->y*FRACUNIT == vertexes[vi1].y && mt->x*FRACUNIT == vertexes[vi1].x && mt->z*FRACUNIT == vertexes[vi1].z) - && !(mt->y*FRACUNIT == vertexes[vi3].y && mt->x*FRACUNIT == vertexes[vi3].x && mt->z*FRACUNIT == vertexes[vi3].z)) - P_SpawnMobj(vertexes[vi2].x, vertexes[vi2].y, vertexes[vi2].z, MT_BOUNCETV); - else if ((mt->y*FRACUNIT == vertexes[vi3].y && mt->x*FRACUNIT == vertexes[vi3].x && mt->z*FRACUNIT == vertexes[vi3].z) - && !(mt->y*FRACUNIT == vertexes[vi2].y && mt->x*FRACUNIT == vertexes[vi2].x && mt->z*FRACUNIT == vertexes[vi2].z) - && !(mt->y*FRACUNIT == vertexes[vi1].y && mt->x*FRACUNIT == vertexes[vi1].x && mt->z*FRACUNIT == vertexes[vi1].z)) - P_SpawnMobj(vertexes[vi3].x, vertexes[vi3].y, vertexes[vi3].z, MT_GFZFLOWER1); - else -#endif - continue; - } - } - - vt1.x = FIXED_TO_FLOAT(vertexes[vi1].x); - vt1.y = FIXED_TO_FLOAT(vertexes[vi1].y); - vt2.x = FIXED_TO_FLOAT(vertexes[vi2].x); - vt2.y = FIXED_TO_FLOAT(vertexes[vi2].y); - vt3.x = FIXED_TO_FLOAT(vertexes[vi3].x); - vt3.y = FIXED_TO_FLOAT(vertexes[vi3].y); - - for(j = 0; j < 2; j++) - { - - fixed_t z3; - //I_Error("Lo hicimos"); - - vt1.z = mt->z;//FIXED_TO_FLOAT(j==0 ? sec->floorheight : sec->ceilingheight); - vt2.z = mt->z;//FIXED_TO_FLOAT(j==0? sec->floorheight : sec->ceilingheight); - z3 = mt->z;//j==0? sec->floorheight : sec->ceilingheight; // Destination height - vt3.z = FIXED_TO_FLOAT(z3); - - if (P_PointOnLineSide(vertexes[vi3].x, vertexes[vi3].y, sec->lines[0]) == 0) - { - vec1.x = vt2.x - vt3.x; - vec1.y = vt2.y - vt3.y; - vec1.z = vt2.z - vt3.z; - - vec2.x = vt1.x - vt3.x; - vec2.y = vt1.y - vt3.y; - vec2.z = vt1.z - vt3.z; - } - else - { - vec1.x = vt1.x - vt3.x; - vec1.y = vt1.y - vt3.y; - vec1.z = vt1.z - vt3.z; - - vec2.x = vt2.x - vt3.x; - vec2.y = vt2.y - vt3.y; - vec2.z = vt2.z - vt3.z; - } - - - pslope_t *ret = Z_Malloc(sizeof(pslope_t), PU_LEVEL, NULL); - memset(ret, 0, sizeof(*ret)); - - { - M_CrossProduct3f(&ret->normalf, &vec1, &vec2); - - // Cross product length - float len = (float)sqrt(ret->normalf.x * ret->normalf.x + - ret->normalf.y * ret->normalf.y + - ret->normalf.z * ret->normalf.z); - - if (len == 0) - { - // Only happens when all vertices in this sector are on the same line. - // Let's just ignore this case. - //CONS_Printf("Slope thing at (%d,%d) lies directly on its target line.\n", (int)(x>>16), (int)(y>>16)); - return; - } - // cross/len - ret->normalf.x /= len; - ret->normalf.y /= len; - ret->normalf.z /= len; - - // ZDoom cross = ret->normalf - // Fix backward normals - if ((ret->normalf.z < 0 && j == 0) || (ret->normalf.z > 0 && j == 1)) - { - // cross = -cross - ret->normalf.x = -ret->normalf.x; - ret->normalf.y = -ret->normalf.x; - ret->normalf.z = -ret->normalf.x; - } - } - - secplane_t *srcplane = Z_Calloc(sizeof(*srcplane), PU_LEVEL, NULL); - - srcplane->a = FLOAT_TO_FIXED (ret->normalf.x); - srcplane->b = FLOAT_TO_FIXED (ret->normalf.y); - srcplane->c = FLOAT_TO_FIXED (ret->normalf.z); - //srcplane->ic = FixedDiv(FRACUNIT, srcplane->c); - srcplane->d = -TMulScale16 (srcplane->a, vertexes[vi3].x, - srcplane->b, vertexes[vi3].y, - srcplane->c, z3); - - if (j == 0) - { - sec->f_slope = ret; - sec->f_slope->secplane = *srcplane; - } - else if (j == 1) - { - sec->c_slope = ret; - sec->c_slope->secplane = *srcplane; - } - } - } - } - - - - - - - - - } - } - Z_Free(datastart); - - - - -} -#endif - // Reset the dynamic slopes pointer, and read all of the fancy schmancy slopes void P_ResetDynamicSlopes(void) { size_t i; diff --git a/src/p_slopes.h b/src/p_slopes.h index 80921a84..dd9b6f2d 100644 --- a/src/p_slopes.h +++ b/src/p_slopes.h @@ -21,26 +21,6 @@ void P_RunDynamicSlopes(void); // sectors. void P_SpawnSlope_Line(int linenum); -#ifdef SPRINGCLEAN -// Loads just map objects that make slopes, -// terrain affecting objects have to be spawned first -void P_SetSlopesFromVertexHeights(lumpnum_t lumpnum); - -typedef enum -{ - THING_SlopeFloorPointLine = 9500, - THING_SlopeCeilingPointLine = 9501, - THING_SetFloorSlope = 9502, - THING_SetCeilingSlope = 9503, - THING_CopyFloorPlane = 9510, - THING_CopyCeilingPlane = 9511, - THING_VavoomFloor=1500, - THING_VavoomCeiling=1501, - THING_VertexFloorZ=1504, - THING_VertexCeilingZ=1505, -} slopething_e; -#endif - // // P_CopySectorSlope // From da2abbb39ff5302ee7a86e0dd717f1185af0a00a Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Tue, 31 May 2016 16:24:51 +0100 Subject: [PATCH 079/325] Failed a build because C is an obnoxious language. --- src/p_slopes.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/p_slopes.c b/src/p_slopes.c index cb5f07b2..bd354c50 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -764,10 +764,11 @@ fixed_t P_GetZAt(pslope_t *slope, fixed_t x, fixed_t y) // When given a vector, rotates it and aligns it to a slope void P_QuantizeMomentumToSlope(vector3_t *momentum, pslope_t *slope) { + vector3_t axis; // Fuck you, C90. + if (slope->flags & SL_NOPHYSICS) return; // No physics, no quantizing. - vector3_t axis; axis.x = -slope->d.y; axis.y = slope->d.x; axis.z = 0; @@ -804,6 +805,8 @@ void P_SlopeLaunch(mobj_t *mo) // Function to help handle landing on slopes void P_HandleSlopeLanding(mobj_t *thing, pslope_t *slope) { + vector3_t mom; // Ditto. + if (slope->flags & SL_NOPHYSICS) { // No physics, no need to make anything complicated. if (P_MobjFlip(thing)*(thing->momz) < 0) { // falling, land on slope thing->momz = -P_MobjFlip(thing); @@ -812,7 +815,6 @@ void P_HandleSlopeLanding(mobj_t *thing, pslope_t *slope) return; } - vector3_t mom; mom.x = thing->momx; mom.y = thing->momy; mom.z = thing->momz*2; From 2262e4aeb906cfb20852c3f2287cf68aa3571072 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Tue, 31 May 2016 11:26:29 -0400 Subject: [PATCH 080/325] travis-ci: allow clang-3.8 to fail --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index a5d1d0f6..cc10c23f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -187,6 +187,8 @@ matrix: - os: osx osx_image: xcode7.3 #Apple LLVM version 7.3.0 (clang-703.0.31) + allow_failures: + - compiler: clang-3.8 cache: apt: true From d998ddfae46f0250d1336488fe3e99ca1d2c4c95 Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Tue, 31 May 2016 17:07:28 +0100 Subject: [PATCH 081/325] When you haven't found all the vertices, it's just not safe to carry on. Hit them with a descriptive I_Error so they don't get confused as hell like Glaber did. http://mb.srb2.org/showthread.php?t=41455 for reference. Also took the opportunity to nuke or otherwise neuter a bunch of Kalaron's bizzare ramblings (most are questions which have long-been answered by Red's efforts) at the same time. --- src/p_slopes.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/src/p_slopes.c b/src/p_slopes.c index bd354c50..659f8b33 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -200,7 +200,6 @@ static fixed_t P_GetExtent(sector_t *sector, line_t *line) // Find furthest vertex from the reference line. It, along with the two ends // of the line, will define the plane. - // SRB2CBTODO: Use a formula to get the slope to slide objects depending on how steep for(i = 0; i < sector->linecount; i++) { line_t *li = sector->lines[i]; @@ -232,7 +231,6 @@ static fixed_t P_GetExtent(sector_t *sector, line_t *line) // // Creates one or more slopes based on the given line type and front/back // sectors. -// Kalaron: Check if dynamic slopes need recalculation // void P_SpawnSlope_Line(int linenum) { @@ -277,7 +275,7 @@ void P_SpawnSlope_Line(int linenum) ny = -FixedDiv(line->dx, len); } - // SRB2CBTODO: Transform origin relative to the bounds of an individual FOF + // TODO: Transform origin relative to the bounds of an individual FOF origin.x = line->v1->x + (line->v2->x - line->v1->x)/2; origin.y = line->v1->y + (line->v2->y - line->v1->y)/2; @@ -328,7 +326,7 @@ void P_SpawnSlope_Line(int linenum) // fslope->normal is a 3D line perpendicular to the 3D vector // Sync the linedata of the line that started this slope - // SRB2CBTODO: Anything special for remote(control sector)-based slopes later? + // TODO: Anything special for control sector based slopes later? fslope->sourceline = line; // To find the real highz/lowz of a slope, you need to check all the vertexes @@ -380,7 +378,7 @@ void P_SpawnSlope_Line(int linenum) cslope->refpos = 2; // Sync the linedata of the line that started this slope - // SRB2CBTODO: Anything special for remote(control sector)-based slopes later? + // TODO: Anything special for control sector based slopes later? cslope->sourceline = line; // Remember the way the slope is formed @@ -446,7 +444,7 @@ void P_SpawnSlope_Line(int linenum) fslope->refpos = 3; // Sync the linedata of the line that started this slope - // SRB2CBTODO: Anything special for remote(control sector)-based slopes later? + // TODO: Anything special for control sector based slopes later? fslope->sourceline = line; // Remember the way the slope is formed @@ -489,7 +487,7 @@ void P_SpawnSlope_Line(int linenum) cslope->refpos = 4; // Sync the linedata of the line that started this slope - // SRB2CBTODO: Anything special for remote(control sector)-based slopes later? + // TODO: Anything special for control sector based slopes later? cslope->sourceline = line; // Remember the way the slope is formed @@ -555,16 +553,11 @@ static pslope_t *P_NewVertexSlope(INT16 tag1, INT16 tag2, INT16 tag3, UINT8 flag ret->vertices[2] = mt; } - if (!ret->vertices[0]) - CONS_Printf("PANIC 0\n"); - if (!ret->vertices[1]) - CONS_Printf("PANIC 1\n"); - if (!ret->vertices[2]) - CONS_Printf("PANIC 2\n"); - // Now set heights for each vertex, because they haven't been set yet for (i = 0; i < 3; i++) { mt = ret->vertices[i]; + if (!mt) // If a vertex wasn't found, it's game over. There's nothing you can do to recover (except maybe try and kill the slope instead - TODO?) + I_Error("Slope vertex %d (for linedef tag %d) not found.", i, tag1); if (mt->extrainfo) mt->z = mt->options; else From d4d44777f43297f398247f8db81302d493f25763 Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Tue, 31 May 2016 17:43:27 +0100 Subject: [PATCH 082/325] Okay, now vertex slopes aren't placement-order-dependent any more. Hopefully this is the best way to handle things. --- src/p_slopes.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/p_slopes.c b/src/p_slopes.c index 659f8b33..d9e2cef6 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -546,9 +546,17 @@ static pslope_t *P_NewVertexSlope(INT16 tag1, INT16 tag2, INT16 tag3, UINT8 flag continue; if (!ret->vertices[0] && mt->angle == tag1) + { ret->vertices[0] = mt; + mt = mapthings; + i = 0; + } else if (!ret->vertices[1] && mt->angle == tag2) + { ret->vertices[1] = mt; + mt = mapthings; + i = 0; + } else if (!ret->vertices[2] && mt->angle == tag3) ret->vertices[2] = mt; } From 7071fbe29e5c078631c6dae366ca81bcbc570e34 Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Tue, 31 May 2016 18:13:17 +0100 Subject: [PATCH 083/325] I made a mistake. Fuck git reverts, they are a nightmare, let's just do this the old fashioned way. --- src/p_slopes.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/p_slopes.c b/src/p_slopes.c index d9e2cef6..659f8b33 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -546,17 +546,9 @@ static pslope_t *P_NewVertexSlope(INT16 tag1, INT16 tag2, INT16 tag3, UINT8 flag continue; if (!ret->vertices[0] && mt->angle == tag1) - { ret->vertices[0] = mt; - mt = mapthings; - i = 0; - } else if (!ret->vertices[1] && mt->angle == tag2) - { ret->vertices[1] = mt; - mt = mapthings; - i = 0; - } else if (!ret->vertices[2] && mt->angle == tag3) ret->vertices[2] = mt; } From d24cc494439fcc3b2a92048be256199b191cf8bb Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Tue, 31 May 2016 21:31:29 +0100 Subject: [PATCH 084/325] Fix FOF height checks all over p_spec.c to account for slopes This fixes certain sector specials and linedef executor specials etc not accounting for players/mobjs touching sloped FOFs --- src/p_spec.c | 81 ++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 57 insertions(+), 24 deletions(-) diff --git a/src/p_spec.c b/src/p_spec.c index fbcb8b4f..9e4c3f07 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -2434,10 +2434,10 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec) if (rover->master->frontsector->tag != line->tag) continue; - if (mo->z > *rover->topheight) + if (mo->z > P_GetSpecialTopZ(mo, sectors + rover->secnum, mo->subsector->sector)) continue; - if (mo->z + mo->height < *rover->bottomheight) + if (mo->z + mo->height < P_GetSpecialBottomZ(mo, sectors + rover->secnum, mo->subsector->sector)) continue; foundit = true; @@ -3227,8 +3227,8 @@ boolean P_IsFlagAtBase(mobjtype_t flag) if (GETSECSPECIAL(rover->master->frontsector->special, 4) != specialnum) continue; - if (mo->z <= *rover->topheight - && mo->z >= *rover->bottomheight) + if (mo->z <= P_GetSpecialTopZ(mo, sectors + rover->secnum, mo->subsector->sector) + && mo->z >= P_GetSpecialBottomZ(mo, sectors + rover->secnum, mo->subsector->sector)) return true; } } @@ -3262,12 +3262,17 @@ sector_t *P_PlayerTouchingSectorSpecial(player_t *player, INT32 section, INT32 n // Hmm.. maybe there's a FOF that has it... for (rover = player->mo->subsector->sector->ffloors; rover; rover = rover->next) { + fixed_t topheight, bottomheight; + if (GETSECSPECIAL(rover->master->frontsector->special, section) != number) continue; if (!(rover->flags & FF_EXISTS)) continue; + topheight = P_GetSpecialTopZ(player->mo, sectors + rover->secnum, player->mo->subsector->sector); + bottomheight = P_GetSpecialBottomZ(player->mo, sectors + rover->secnum, player->mo->subsector->sector); + // Check the 3D floor's type... if (rover->flags & FF_BLOCKPLAYER) { @@ -3275,27 +3280,27 @@ sector_t *P_PlayerTouchingSectorSpecial(player_t *player, INT32 section, INT32 n if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR) && !(rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING)) { - if ((player->mo->eflags & MFE_VERTICALFLIP) || player->mo->z != *rover->topheight) + if ((player->mo->eflags & MFE_VERTICALFLIP) || player->mo->z != topheight) continue; } else if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING) && !(rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR)) { if (!(player->mo->eflags & MFE_VERTICALFLIP) - || player->mo->z + player->mo->height != *rover->bottomheight) + || player->mo->z + player->mo->height != bottomheight) continue; } else if (rover->master->frontsector->flags & SF_FLIPSPECIAL_BOTH) { - if (!((player->mo->eflags & MFE_VERTICALFLIP && player->mo->z + player->mo->height == *rover->bottomheight) - || (!(player->mo->eflags & MFE_VERTICALFLIP) && player->mo->z == *rover->topheight))) + if (!((player->mo->eflags & MFE_VERTICALFLIP && player->mo->z + player->mo->height == bottomheight) + || (!(player->mo->eflags & MFE_VERTICALFLIP) && player->mo->z == topheight))) continue; } } else { // Water and DEATH FOG!!! heh - if (player->mo->z > *rover->topheight || (player->mo->z + player->mo->height) < *rover->bottomheight) + if (player->mo->z > topheight || (player->mo->z + player->mo->height) < bottomheight) continue; } @@ -3317,12 +3322,17 @@ sector_t *P_PlayerTouchingSectorSpecial(player_t *player, INT32 section, INT32 n // Hmm.. maybe there's a FOF that has it... for (rover = node->m_sector->ffloors; rover; rover = rover->next) { + fixed_t topheight, bottomheight; + if (GETSECSPECIAL(rover->master->frontsector->special, section) != number) continue; if (!(rover->flags & FF_EXISTS)) continue; + topheight = P_GetSpecialTopZ(player->mo, sectors + rover->secnum, player->mo->subsector->sector); + bottomheight = P_GetSpecialBottomZ(player->mo, sectors + rover->secnum, player->mo->subsector->sector); + // Check the 3D floor's type... if (rover->flags & FF_BLOCKPLAYER) { @@ -3330,27 +3340,27 @@ sector_t *P_PlayerTouchingSectorSpecial(player_t *player, INT32 section, INT32 n if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR) && !(rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING)) { - if ((player->mo->eflags & MFE_VERTICALFLIP) || player->mo->z != *rover->topheight) + if ((player->mo->eflags & MFE_VERTICALFLIP) || player->mo->z != topheight) continue; } else if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING) && !(rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR)) { if (!(player->mo->eflags & MFE_VERTICALFLIP) - || player->mo->z + player->mo->height != *rover->bottomheight) + || player->mo->z + player->mo->height != bottomheight) continue; } else if (rover->master->frontsector->flags & SF_FLIPSPECIAL_BOTH) { - if (!((player->mo->eflags & MFE_VERTICALFLIP && player->mo->z + player->mo->height == *rover->bottomheight) - || (!(player->mo->eflags & MFE_VERTICALFLIP) && player->mo->z == *rover->topheight))) + if (!((player->mo->eflags & MFE_VERTICALFLIP && player->mo->z + player->mo->height == bottomheight) + || (!(player->mo->eflags & MFE_VERTICALFLIP) && player->mo->z == topheight))) continue; } } else { // Water and DEATH FOG!!! heh - if (player->mo->z > *rover->topheight || (player->mo->z + player->mo->height) < *rover->bottomheight) + if (player->mo->z > topheight || (player->mo->z + player->mo->height) < bottomheight) continue; } @@ -4335,12 +4345,17 @@ sector_t *P_ThingOnSpecial3DFloor(mobj_t *mo) for (rover = sector->ffloors; rover; rover = rover->next) { + fixed_t topheight, bottomheight; + if (!rover->master->frontsector->special) continue; if (!(rover->flags & FF_EXISTS)) continue; + topheight = P_GetSpecialTopZ(mo, sectors + rover->secnum, sector); + bottomheight = P_GetSpecialBottomZ(mo, sectors + rover->secnum, sector); + // Check the 3D floor's type... if (((rover->flags & FF_BLOCKPLAYER) && mo->player) || ((rover->flags & FF_BLOCKOTHERS) && !mo->player)) @@ -4349,27 +4364,27 @@ sector_t *P_ThingOnSpecial3DFloor(mobj_t *mo) if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR) && !(rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING)) { - if ((mo->eflags & MFE_VERTICALFLIP) || mo->z != *rover->topheight) + if ((mo->eflags & MFE_VERTICALFLIP) || mo->z != topheight) continue; } else if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING) && !(rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR)) { if (!(mo->eflags & MFE_VERTICALFLIP) - || mo->z + mo->height != *rover->bottomheight) + || mo->z + mo->height != bottomheight) continue; } else if (rover->master->frontsector->flags & SF_FLIPSPECIAL_BOTH) { - if (!((mo->eflags & MFE_VERTICALFLIP && mo->z + mo->height == *rover->bottomheight) - || (!(mo->eflags & MFE_VERTICALFLIP) && mo->z == *rover->topheight))) + if (!((mo->eflags & MFE_VERTICALFLIP && mo->z + mo->height == bottomheight) + || (!(mo->eflags & MFE_VERTICALFLIP) && mo->z == topheight))) continue; } } else { // Water and intangible FOFs - if (mo->z > *rover->topheight || (mo->z + mo->height) < *rover->bottomheight) + if (mo->z > topheight || (mo->z + mo->height) < bottomheight) continue; } @@ -4391,12 +4406,17 @@ static void P_PlayerOnSpecial3DFloor(player_t *player, sector_t *sector) for (rover = sector->ffloors; rover; rover = rover->next) { + fixed_t topheight, bottomheight; + if (!rover->master->frontsector->special) continue; if (!(rover->flags & FF_EXISTS)) continue; + topheight = P_GetSpecialTopZ(player->mo, sectors + rover->secnum, sector); + bottomheight = P_GetSpecialBottomZ(player->mo, sectors + rover->secnum, sector); + // Check the 3D floor's type... if (rover->flags & FF_BLOCKPLAYER) { @@ -4404,27 +4424,27 @@ static void P_PlayerOnSpecial3DFloor(player_t *player, sector_t *sector) if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR) && !(rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING)) { - if ((player->mo->eflags & MFE_VERTICALFLIP) || player->mo->z != P_GetSpecialTopZ(player->mo, sectors + rover->secnum, sector)) + if ((player->mo->eflags & MFE_VERTICALFLIP) || player->mo->z != topheight) continue; } else if ((rover->master->frontsector->flags & SF_FLIPSPECIAL_CEILING) && !(rover->master->frontsector->flags & SF_FLIPSPECIAL_FLOOR)) { if (!(player->mo->eflags & MFE_VERTICALFLIP) - || player->mo->z + player->mo->height != P_GetSpecialBottomZ(player->mo, sectors + rover->secnum, sector)) + || player->mo->z + player->mo->height != bottomheight) continue; } else if (rover->master->frontsector->flags & SF_FLIPSPECIAL_BOTH) { - if (!((player->mo->eflags & MFE_VERTICALFLIP && player->mo->z + player->mo->height == P_GetSpecialBottomZ(player->mo, sectors + rover->secnum, sector)) - || (!(player->mo->eflags & MFE_VERTICALFLIP) && player->mo->z == P_GetSpecialTopZ(player->mo, sectors + rover->secnum, sector)))) + if (!((player->mo->eflags & MFE_VERTICALFLIP && player->mo->z + player->mo->height == bottomheight) + || (!(player->mo->eflags & MFE_VERTICALFLIP) && player->mo->z == topheight))) continue; } } else { // Water and DEATH FOG!!! heh - if (player->mo->z > P_GetSpecialTopZ(player->mo, sectors + rover->secnum, sector) || (player->mo->z + player->mo->height) < P_GetSpecialBottomZ(player->mo, sectors + rover->secnum, sector)) + if (player->mo->z > topheight || (player->mo->z + player->mo->height) < bottomheight) continue; } @@ -5276,7 +5296,15 @@ void T_LaserFlash(laserthink_t *flash) sourcesec = ffloor->master->frontsector; // Less to type! +#ifdef ESLOPE + top = (*ffloor->t_slope) ? P_GetZAt(*ffloor->t_slope, sector->soundorg.x, sector->soundorg.y) + : *ffloor->topheight; + bottom = (*ffloor->b_slope) ? P_GetZAt(*ffloor->b_slope, sector->soundorg.x, sector->soundorg.y) + : *ffloor->bottomheight; + sector->soundorg.z = (top + bottom)/2; +#else sector->soundorg.z = (*ffloor->topheight + *ffloor->bottomheight)/2; +#endif S_StartSound(§or->soundorg, sfx_laser); // Seek out objects to DESTROY! MUAHAHHAHAHAA!!!*cough* @@ -6875,6 +6903,11 @@ void T_Disappear(disappear_t *d) if (!(lines[d->sourceline].flags & ML_NOCLIMB)) { +#ifdef ESLOPE + if (*rover->t_slope) + sectors[s].soundorg.z = P_GetZAt(*rover->t_slope, sectors[s].soundorg.x, sectors[s].soundorg.y); + else +#endif sectors[s].soundorg.z = *rover->topheight; S_StartSound(§ors[s].soundorg, sfx_appear); } From 5401257c747f02d779780bd28dbb9beea299e092 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Tue, 31 May 2016 17:56:05 -0400 Subject: [PATCH 085/325] travis-ci: llvm's APT repos are offline for now --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index cc10c23f..e54677ac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -188,6 +188,9 @@ matrix: osx_image: xcode7.3 #Apple LLVM version 7.3.0 (clang-703.0.31) allow_failures: + - compiler: clang-3.5 + - compiler: clang-3.6 + - compiler: clang-3.7 - compiler: clang-3.8 cache: From f21c72b889ab0d358f3b66cc5029a342cd66b18a Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Tue, 31 May 2016 21:30:18 -0400 Subject: [PATCH 086/325] debug: always load exchndl.dll --- src/sdl/i_main.c | 2 ++ src/win32/win_main.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/sdl/i_main.c b/src/sdl/i_main.c index ab7631bc..25fccb9f 100644 --- a/src/sdl/i_main.c +++ b/src/sdl/i_main.c @@ -214,12 +214,14 @@ int main(int argc, char **argv) #if defined (_WIN32) && !defined (_XBOX) #ifndef _WIN32_WCE { +#if 0 // just load the DLL p_IsDebuggerPresent pfnIsDebuggerPresent = (p_IsDebuggerPresent)GetProcAddress(GetModuleHandleA("kernel32.dll"), "IsDebuggerPresent"); if ((!pfnIsDebuggerPresent || !pfnIsDebuggerPresent()) #ifdef BUGTRAP && !InitBugTrap() #endif ) +#endif { LoadLibraryA("exchndl.dll"); } diff --git a/src/win32/win_main.c b/src/win32/win_main.c index 9c9a20e7..663eddbd 100644 --- a/src/win32/win_main.c +++ b/src/win32/win_main.c @@ -644,13 +644,16 @@ int WINAPI WinMain (HINSTANCE hInstance, { int Result = -1; +#if 0 // Win95 and NT <4 don't have this, so link at runtime. p_IsDebuggerPresent pfnIsDebuggerPresent = (p_IsDebuggerPresent)GetProcAddress(GetModuleHandleA("kernel32.dll"),"IsDebuggerPresent"); +#endif UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); UNREFERENCED_PARAMETER(nCmdShow); +#if 0 #ifdef BUGTRAP // Try BugTrap first. if((!pfnIsDebuggerPresent || !pfnIsDebuggerPresent()) && InitBugTrap()) @@ -660,6 +663,7 @@ int WINAPI WinMain (HINSTANCE hInstance, #endif // Try Dr MinGW's exception handler. if (!pfnIsDebuggerPresent || !pfnIsDebuggerPresent()) +#endif LoadLibraryA("exchndl.dll"); prevExceptionFilter = SetUnhandledExceptionFilter(RecordExceptionInfo); From 62c4338d60740d8147fab5503f23130f7604444f Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Wed, 1 Jun 2016 13:19:44 +0100 Subject: [PATCH 087/325] Added P_GetMobjGravity to Lua. Check /toaster/gravitytest.lua for sample script. --- src/lua_baselib.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 7678c7c4..05ba00d6 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -13,6 +13,7 @@ #include "doomdef.h" #ifdef HAVE_BLUA #include "p_local.h" +#include "p_mobj.h" // So we can have P_GetMobjGravity #include "p_setup.h" // So we can have P_SetupLevelSky #include "z_zone.h" #include "r_main.h" @@ -437,6 +438,16 @@ static int lib_pMobjFlip(lua_State *L) return 1; } +static int lib_pGetMobjGravity(lua_State *L) +{ + mobj_t *mobj = *((mobj_t **)luaL_checkudata(L, 1, META_MOBJ)); + //HUDSAFE + if (!mobj) + return LUA_ErrInvalid(L, "mobj_t"); + lua_pushinteger(L, P_GetMobjGravity(mobj)); + return 1; +} + static int lib_pWeaponOrPanel(lua_State *L) { mobjtype_t type = luaL_checkinteger(L, 1); @@ -2008,6 +2019,7 @@ static luaL_Reg lib[] = { {"P_SPMAngle",lib_pSPMAngle}, {"P_SpawnPlayerMissile",lib_pSpawnPlayerMissile}, {"P_MobjFlip",lib_pMobjFlip}, + {"P_GetMobjGravity",lib_pGetMobjGravity}, {"P_WeaponOrPanel",lib_pWeaponOrPanel}, {"P_FlashPal",lib_pFlashPal}, {"P_GetClosestAxis",lib_pGetClosestAxis}, From 76d108d760a004a6e522c3364452c89074c68f0b Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Wed, 1 Jun 2016 14:49:14 +0100 Subject: [PATCH 088/325] Whoops, didn't realise pushing fixed and integer were different. My mistake. --- src/lua_baselib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lua_baselib.c b/src/lua_baselib.c index 05ba00d6..c88ece50 100644 --- a/src/lua_baselib.c +++ b/src/lua_baselib.c @@ -444,7 +444,7 @@ static int lib_pGetMobjGravity(lua_State *L) //HUDSAFE if (!mobj) return LUA_ErrInvalid(L, "mobj_t"); - lua_pushinteger(L, P_GetMobjGravity(mobj)); + lua_pushfixed(L, P_GetMobjGravity(mobj)); return 1; } From d86dc67218e7d601fd79c1dfbedd6a38b5958c82 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Wed, 1 Jun 2016 11:23:30 -0400 Subject: [PATCH 089/325] travis-ci: add back xcode6.2 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e54677ac..0102cc1b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -172,7 +172,7 @@ matrix: # - os: osx # osx_image: beta-xcode6.3 # #I think xcode.6.3 VM is broken, it does not boot -# - os: osx + - os: osx osx_image: xcode6.4 #Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) - os: osx From ae8b45965c4eb13856faffa1d4330634d200250d Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Wed, 1 Jun 2016 16:45:10 +0100 Subject: [PATCH 090/325] No Size_t --> int in an I_Error print! [/rhyme] --- src/p_slopes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/p_slopes.c b/src/p_slopes.c index 659f8b33..4a8eadc5 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -557,7 +557,7 @@ static pslope_t *P_NewVertexSlope(INT16 tag1, INT16 tag2, INT16 tag3, UINT8 flag for (i = 0; i < 3; i++) { mt = ret->vertices[i]; if (!mt) // If a vertex wasn't found, it's game over. There's nothing you can do to recover (except maybe try and kill the slope instead - TODO?) - I_Error("Slope vertex %d (for linedef tag %d) not found.", i, tag1); + I_Error("Slope vertex %s (for linedef tag %d) not found.", sizeu1(i), tag1); if (mt->extrainfo) mt->z = mt->options; else From bf85cc25bd85e776a9ce2a1ba2f499b936185cdc Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Wed, 1 Jun 2016 18:51:38 +0100 Subject: [PATCH 091/325] OpenGL: Fix lower unpegged texture offset, fix lower unpegged + effect 1 so the texture actually skews --- src/hardware/hw_main.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index bec9cdb1..18eecb77 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -1719,12 +1719,12 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) if (!(gr_linedef->flags & ML_DONTPEGBOTTOM)) texturevpegbottom = 0; else if (gr_linedef->flags & ML_EFFECT1) - texturevpegbottom = worldtop - worldlow; + texturevpegbottom = worldbottom - worldlow; else - texturevpegbottom = gr_frontsector->ceilingheight - gr_backsector->floorheight; + texturevpegbottom = gr_frontsector->floorheight - gr_backsector->floorheight; #else if (gr_linedef->flags & ML_DONTPEGBOTTOM) - texturevpegbottom = worldtop - worldlow; + texturevpegbottom = worldbottom - worldlow; else texturevpegbottom = 0; #endif @@ -1752,9 +1752,9 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) else if (gr_linedef->flags & ML_DONTPEGBOTTOM) { // Skewed by bottom - wallVerts[0].t = (texturevpegbottom + worldlow - worldbottom) * grTex->scaleY; - wallVerts[2].t = wallVerts[3].t - (worldlowslope - worldlow) * grTex->scaleY; - wallVerts[1].t = wallVerts[2].t - (worldbottomslope - worldlowslope) * grTex->scaleY; + wallVerts[0].t = wallVerts[1].t = (texturevpegbottom + worldlow - worldbottom) * grTex->scaleY; + //wallVerts[3].t = wallVerts[0].t - (worldlow - worldbottom) * grTex->scaleY; // no need, [3] is already this + wallVerts[2].t = wallVerts[1].t - (worldlowslope - worldbottomslope) * grTex->scaleY; } else { From dfe5246636772a51f6f10c829815abc184dba777 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Wed, 1 Jun 2016 14:00:14 -0400 Subject: [PATCH 092/325] appveyor: only for taggeed master builds --- appveyor.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index fd949dbb..85cee6a3 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -75,6 +75,9 @@ deploy: folder: appveyor application: active_mode: false + on: + branch: master + appveyor_repo_tag: true on_finish: From c863e311fe01f64f66e9850379491de2f2d19f7a Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Wed, 1 Jun 2016 19:22:54 +0100 Subject: [PATCH 093/325] OpenGL: Fix upper texture Effect 1 only skewing --- src/hardware/hw_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 18eecb77..c838e832 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -1675,9 +1675,9 @@ static void HWR_StoreWallRange(double startfrac, double endfrac) else { // Skewed by bottom - wallVerts[0].t = (texturevpegtop + worldhigh - worldtop) * grTex->scaleY; - wallVerts[2].t = wallVerts[3].t - (worldhighslope - worldhigh) * grTex->scaleY; - wallVerts[1].t = wallVerts[2].t - (worldhighslope - worldtopslope) * grTex->scaleY; + wallVerts[0].t = wallVerts[1].t = (texturevpegtop + worldtop - worldhigh) * grTex->scaleY; + wallVerts[3].t = wallVerts[0].t - (worldtop - worldhigh) * grTex->scaleY; + wallVerts[2].t = wallVerts[1].t - (worldtopslope - worldhighslope) * grTex->scaleY; } #endif } From a7640e4d6c133fa1451aab9856476db5f0b84ea5 Mon Sep 17 00:00:00 2001 From: Alam Ed Arias Date: Wed, 1 Jun 2016 14:32:03 -0400 Subject: [PATCH 094/325] travis: compress the build cache --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 0102cc1b..e3408cf6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -214,6 +214,7 @@ before_script: - mkdir build - cd build - export CFLAGS="-Wall -W $WFLAGS" + - export CCACHE_COMPRESS=true - cmake .. -DCMAKE_BUILD_TYPE=Release before_install: From 44a6e8bb54db02e7085ddf7098fad38c56928210 Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Wed, 1 Jun 2016 19:52:12 +0100 Subject: [PATCH 095/325] I_Error description syntax consistency (buzzword buzzword buzzword). --- src/p_slopes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/p_slopes.c b/src/p_slopes.c index 4a8eadc5..72abf02b 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -557,7 +557,7 @@ static pslope_t *P_NewVertexSlope(INT16 tag1, INT16 tag2, INT16 tag3, UINT8 flag for (i = 0; i < 3; i++) { mt = ret->vertices[i]; if (!mt) // If a vertex wasn't found, it's game over. There's nothing you can do to recover (except maybe try and kill the slope instead - TODO?) - I_Error("Slope vertex %s (for linedef tag %d) not found.", sizeu1(i), tag1); + I_Error("P_NewVertexSlope: Slope vertex %s (for linedef tag %d) not found!", sizeu1(i), tag1); if (mt->extrainfo) mt->z = mt->options; else From 919e3ed0e242208290f358c172338c5515004ffe Mon Sep 17 00:00:00 2001 From: wolfy852 Date: Wed, 1 Jun 2016 21:06:24 -0500 Subject: [PATCH 096/325] Make token available to Lua as a global variable Reviewed by @RedEnchilada --- src/dehacked.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/dehacked.c b/src/dehacked.c index 199ea43c..f7845af4 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -8276,6 +8276,9 @@ static inline int lib_getenum(lua_State *L) } else if (fastcmp(word,"VERSIONSTRING")) { lua_pushstring(L, VERSIONSTRING); return 1; + } else if (fastcmp(word, "token")) { + lua_pushinteger(L, token); + return 1; } return 0; From 1493537dfc7f0d2544d621fbf30157a34693d29d Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Thu, 2 Jun 2016 14:39:41 +0100 Subject: [PATCH 097/325] Moved the standingslope check in P_ZMovement to after the FOF and height adjustment as it is in P_PlayerZMovement, as reccomended. Doesn't actually stop Crawla jittering, but might as well make it happen for consistency's sake. --- src/p_mobj.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/p_mobj.c b/src/p_mobj.c index 35d8f1ad..acf5b1b3 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -2165,16 +2165,6 @@ static boolean P_ZMovement(mobj_t *mo) I_Assert(mo != NULL); I_Assert(!P_MobjWasRemoved(mo)); -#ifdef ESLOPE - if (mo->standingslope) - { - if (mo->flags & MF_NOCLIPHEIGHT) - mo->standingslope = NULL; - else if (!P_IsObjectOnGround(mo)) - P_SlopeLaunch(mo); - } -#endif - // Intercept the stupid 'fall through 3dfloors' bug if (mo->subsector->sector->ffloors) P_AdjustMobjFloorZ_FFloors(mo, mo->subsector->sector, 0); @@ -2189,6 +2179,16 @@ static boolean P_ZMovement(mobj_t *mo) } mo->z += mo->momz; +#ifdef ESLOPE + if (mo->standingslope) + { + if (mo->flags & MF_NOCLIPHEIGHT) + mo->standingslope = NULL; + else if (!P_IsObjectOnGround(mo)) + P_SlopeLaunch(mo); + } +#endif + switch (mo->type) { case MT_THROWNBOUNCE: From 213a9632ca4b5cd68902bc805cc625d5b24d3e41 Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Thu, 2 Jun 2016 16:09:33 +0100 Subject: [PATCH 098/325] Let's multiply the thrust by the mobj's friction. You should have less chance of purchase on a slippery slope (tee hee) and more on a rough one, but the slopes were basically identical during testing before I implemented this change. --- src/p_slopes.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/p_slopes.c b/src/p_slopes.c index 72abf02b..ec07ab2f 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -864,8 +864,6 @@ void P_ButteredSlope(mobj_t *mo) mult = FINECOSINE(angle >> ANGLETOFINESHIFT); } - //CONS_Printf("%d\n", mult); - thrust = FixedMul(thrust, FRACUNIT*2/3 + mult/8); } @@ -873,11 +871,18 @@ void P_ButteredSlope(mobj_t *mo) thrust = FixedMul(thrust, FRACUNIT+P_AproxDistance(mo->momx, mo->momy)/16); // This makes it harder to zigzag up steep slopes, as well as allows greater top speed when rolling down - // Multiply by gravity - thrust = FixedMul(thrust, FixedMul(gravity, abs(P_GetMobjGravity(mo)))); // Now uses the absolute of mobj gravity. You're welcome. - // Multiply by scale (gravity strength depends on mobj scale) + // The strength of gravity depends on the global gravity base setting... + thrust = FixedMul(thrust, gravity); + + // ...the sector-based gravity strength... + thrust = FixedMul(thrust, abs(P_GetMobjGravity(mo))); + + // ...and the scale of the object. thrust = FixedMul(thrust, mo->scale); + // Let's also multiply by friction for good measure. + thrust = FixedMul(thrust, mo->friction); + P_Thrust(mo, mo->standingslope->xydirection, thrust); } From 882622d2e70616376e81f82b8471645a1ac75721 Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Thu, 2 Jun 2016 16:42:07 +0100 Subject: [PATCH 099/325] ...I made two major mistakes with P_GetMobjGravity. *Didn't take into account object scale *Doubled force when on the ground (ignore what the comment of the line I moved says, it was relevant for slopes...) This also led to a mistake with slopes, where I was double-multiplying by the gravity constant to get half (because of a quirk of numbers...) --- src/p_mobj.c | 10 ++++++---- src/p_slopes.c | 12 +++--------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/p_mobj.c b/src/p_mobj.c index acf5b1b3..843123d5 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -1316,9 +1316,6 @@ fixed_t P_GetMobjGravity(mobj_t *mo) if (mo->eflags & MFE_UNDERWATER && !goopgravity) gravityadd = gravityadd/3; - if (!mo->momz) // mobj at stop, no floor, so feel the push of gravity! - gravityadd <<= 1; - if (mo->player) { if (mo->player->charability == CA_FLY && (mo->player->powers[pw_tailsfly] @@ -1402,6 +1399,8 @@ fixed_t P_GetMobjGravity(mobj_t *mo) if (mo->player && !!(mo->eflags & MFE_VERTICALFLIP) != wasflip) P_PlayerFlip(mo); + gravityadd = FixedMul(gravityadd, mo->scale); + return gravityadd; } @@ -1416,8 +1415,11 @@ void P_CheckGravity(mobj_t *mo, boolean affect) { fixed_t gravityadd = P_GetMobjGravity(mo); + if (!mo->momz) // mobj at stop, no floor, so feel the push of gravity! + gravityadd <<= 1; + if (affect) - mo->momz += FixedMul(gravityadd, mo->scale); + mo->momz += gravityadd; if (mo->type == MT_SKIM && mo->z + mo->momz <= mo->watertop && mo->z >= mo->watertop) { diff --git a/src/p_slopes.c b/src/p_slopes.c index ec07ab2f..ed25f00f 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -812,7 +812,7 @@ void P_HandleSlopeLanding(mobj_t *thing, pslope_t *slope) mom.y = thing->momy; mom.z = thing->momz*2; - //CONS_Printf("langing on slope\n"); + //CONS_Printf("Landing on slope\n"); // Reverse quantizing might could use its own function later slope->zangle = ANGLE_MAX-slope->zangle; @@ -871,16 +871,10 @@ void P_ButteredSlope(mobj_t *mo) thrust = FixedMul(thrust, FRACUNIT+P_AproxDistance(mo->momx, mo->momy)/16); // This makes it harder to zigzag up steep slopes, as well as allows greater top speed when rolling down - // The strength of gravity depends on the global gravity base setting... - thrust = FixedMul(thrust, gravity); - - // ...the sector-based gravity strength... + // Let's get the gravity strength for the object... thrust = FixedMul(thrust, abs(P_GetMobjGravity(mo))); - // ...and the scale of the object. - thrust = FixedMul(thrust, mo->scale); - - // Let's also multiply by friction for good measure. + // ... and its friction against the ground for good measure. thrust = FixedMul(thrust, mo->friction); P_Thrust(mo, mo->standingslope->xydirection, thrust); From c1caf2132328985fc5abdbe65f08dc22bbd0aa8e Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Thu, 2 Jun 2016 16:51:12 +0100 Subject: [PATCH 100/325] Reccomended by MI: Dividing by the original friction value just so slopes with normal friction don't behave differently between next and this branch. --- src/p_slopes.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/p_slopes.c b/src/p_slopes.c index ed25f00f..797c6a55 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -874,8 +874,8 @@ void P_ButteredSlope(mobj_t *mo) // Let's get the gravity strength for the object... thrust = FixedMul(thrust, abs(P_GetMobjGravity(mo))); - // ... and its friction against the ground for good measure. - thrust = FixedMul(thrust, mo->friction); + // ... and its friction against the ground for good measure (divided by original friction to keep behaviour for normal slopes the same). + thrust = FixedMul(thrust, FixedDiv(mo->friction, ORIG_FRICTION)); P_Thrust(mo, mo->standingslope->xydirection, thrust); } From 83c4dba4cee64f1bc1432f08cc5ba75aac822c24 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Thu, 2 Jun 2016 20:16:25 +0100 Subject: [PATCH 101/325] Fix crash reported by FuriousFox at http://mb.srb2.org/showthread.php?t=41536 Basically this makes sure numwadfiles is updated before loading the SOC/Lua scripts, so if a Lua script calls COM_BufInsertText with the contents "addfile scr_mysticrealm.wad" it can't overwrite the last written wadfile slot! Not that COM_BufInsertText really should be used like that to begin with --- src/w_wad.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/w_wad.c b/src/w_wad.c index 40fea522..aeaad3ce 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -475,11 +475,11 @@ UINT16 W_LoadWadFile(const char *filename) // CONS_Printf(M_GetText("Added file %s (%u lumps)\n"), filename, numlumps); wadfiles[numwadfiles] = wadfile; - W_LoadDehackedLumps(numwadfiles); + numwadfiles++; // must come BEFORE W_LoadDehackedLumps, so any addfile called by COM_BufInsertText called by Lua doesn't overwrite what we just loaded + W_LoadDehackedLumps(numwadfiles-1); W_InvalidateLumpnumCache(); - numwadfiles++; return wadfile->numlumps; } From 4c422f66050509826b08d8ed28b3d3acf44150b1 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Sat, 4 Jun 2016 18:31:21 +0100 Subject: [PATCH 102/325] OpenGL: closed door/window detection code now accounts for slopes, just like in software --- src/hardware/hw_main.c | 58 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 8 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index c838e832..35a01ffd 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -2892,15 +2892,57 @@ static void HWR_AddLine(seg_t * line) gr_backsector = R_FakeFlat(gr_backsector, &tempsec, NULL, NULL, true); - // Closed door. - if (gr_backsector->ceilingheight <= gr_frontsector->floorheight || - gr_backsector->floorheight >= gr_frontsector->ceilingheight) - goto clipsolid; +#ifdef ESLOPE + if (gr_frontsector->f_slope || gr_frontsector->c_slope || gr_backsector->f_slope || gr_backsector->c_slope) + { + fixed_t v1x, v1y, v2x, v2y; // the seg's vertexes as fixed_t + fixed_t frontf1,frontf2, frontc1, frontc2; // front floor/ceiling ends + fixed_t backf1, backf2, backc1, backc2; // back floor ceiling ends - // Window. - if (gr_backsector->ceilingheight != gr_frontsector->ceilingheight || - gr_backsector->floorheight != gr_frontsector->floorheight) - goto clippass; + v1x = FLOAT_TO_FIXED(((polyvertex_t *)gr_curline->v1)->x); + v1y = FLOAT_TO_FIXED(((polyvertex_t *)gr_curline->v1)->y); + v2x = FLOAT_TO_FIXED(((polyvertex_t *)gr_curline->v2)->x); + v2y = FLOAT_TO_FIXED(((polyvertex_t *)gr_curline->v2)->y); +#define SLOPEPARAMS(slope, end1, end2, normalheight) \ + if (slope) { \ + end1 = P_GetZAt(slope, v1x, v1y); \ + end2 = P_GetZAt(slope, v2x, v2y); \ + } else \ + end1 = end2 = normalheight; + + SLOPEPARAMS(gr_frontsector->f_slope, frontf1, frontf2, gr_frontsector->floorheight) + SLOPEPARAMS(gr_frontsector->c_slope, frontc1, frontc2, gr_frontsector->ceilingheight) + SLOPEPARAMS( gr_backsector->f_slope, backf1, backf2, gr_backsector->floorheight) + SLOPEPARAMS( gr_backsector->c_slope, backc1, backc2, gr_backsector->ceilingheight) +#undef SLOPEPARAMS + + // Closed door. + if ((backc1 <= frontf1 && backc2 <= frontf2) + || (backf1 >= frontc1 && backf2 >= frontc2)) + { + goto clipsolid; + } + + // Window. + if (backc1 != frontc1 || backc2 != frontc2 + || backf1 != frontf1 || backf2 != frontf2) + { + goto clippass; + } + } + else +#endif + { + // Closed door. + if (gr_backsector->ceilingheight <= gr_frontsector->floorheight || + gr_backsector->floorheight >= gr_frontsector->ceilingheight) + goto clipsolid; + + // Window. + if (gr_backsector->ceilingheight != gr_frontsector->ceilingheight || + gr_backsector->floorheight != gr_frontsector->floorheight) + goto clippass; + } // Reject empty lines used for triggers and special events. // Identical floor and ceiling on both sides, From ba528a075ee578bd4b10d4f1bb56b424c6e1ae44 Mon Sep 17 00:00:00 2001 From: toasterbabe Date: Sat, 4 Jun 2016 19:47:40 +0100 Subject: [PATCH 103/325] Last few changes as reccomended by Red. (<3 u, no hetero) --- src/doomdef.h | 2 +- src/p_slopes.c | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/doomdef.h b/src/doomdef.h index e645c084..cec46a32 100644 --- a/src/doomdef.h +++ b/src/doomdef.h @@ -431,7 +431,7 @@ extern const char *compdate, *comptime, *comprevision, *compbranch; /// Kalaron/Eternity Engine slope code (SRB2CB ported) #define ESLOPE -#if defined(ESLOPE) +#ifdef ESLOPE /// Backwards compatibility with SRB2CB's slope linedef types. /// \note A simple shim that prints a warning. #define ESLOPE_TYPESHIM diff --git a/src/p_slopes.c b/src/p_slopes.c index 797c6a55..b6338d95 100644 --- a/src/p_slopes.c +++ b/src/p_slopes.c @@ -275,7 +275,6 @@ void P_SpawnSlope_Line(int linenum) ny = -FixedDiv(line->dx, len); } - // TODO: Transform origin relative to the bounds of an individual FOF origin.x = line->v1->x + (line->v2->x - line->v1->x)/2; origin.y = line->v1->y + (line->v2->y - line->v1->y)/2; From 69f556d40a281caa75697bf2241703418c763648 Mon Sep 17 00:00:00 2001 From: Monster Iestyn Date: Sun, 5 Jun 2016 21:29:40 +0100 Subject: [PATCH 104/325] Split AA trees code from m_misc.c/.h into m_aatree.c/.h Also updated any relevant project files that I can think of to include the new files, as well as the makefile of course. Some of the other project files haven't been touched in years so I'll leave those alone ...unless someone objects --- SRB2.cbp | 33 +++++ src/CMakeLists.txt | 2 + src/Makefile | 1 + src/m_aatree.c | 167 +++++++++++++++++++++++++ src/m_aatree.h | 31 +++++ src/m_misc.c | 155 ----------------------- src/m_misc.h | 13 -- src/sdl/Srb2SDL-vc10.vcxproj | 2 + src/sdl/Srb2SDL-vc10.vcxproj.filters | 6 + src/w_wad.h | 4 +- src/win32/Srb2win-vc10.vcxproj | 2 + src/win32/Srb2win-vc10.vcxproj.filters | 6 + 12 files changed, 251 insertions(+), 171 deletions(-) create mode 100644 src/m_aatree.c create mode 100644 src/m_aatree.h diff --git a/SRB2.cbp b/SRB2.cbp index 43696ee2..99a71226 100644 --- a/SRB2.cbp +++ b/SRB2.cbp @@ -2815,6 +2815,39 @@ HW3SOUND for 3D hardware sound support