Hello community,

here is the log from the commit of package yamagi-quake2 for openSUSE:Factory 
checked in at 2017-07-08 12:33:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yamagi-quake2 (Old)
 and      /work/SRC/openSUSE:Factory/.yamagi-quake2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yamagi-quake2"

Sat Jul  8 12:33:24 2017 rev:6 rq:506594 version:7.01

Changes:
--------
--- /work/SRC/openSUSE:Factory/yamagi-quake2/yamagi-quake2.changes      
2017-06-22 10:40:03.112508390 +0200
+++ /work/SRC/openSUSE:Factory/.yamagi-quake2.new/yamagi-quake2.changes 
2017-07-08 12:33:27.670394531 +0200
@@ -1,0 +2,12 @@
+Tue Jun 27 23:23:58 UTC 2017 - [email protected]
+
+- Fix broken appdata xml
+
+-------------------------------------------------------------------
+Sat Jun 24 18:56:57 UTC 2017 - [email protected]
+
+- Update to version 7.0.1
+  + Fix build of GL3 for platforms without SSE.
+  + Fix Jennel Jaquays name in credits and quit screen.
+
+-------------------------------------------------------------------

Old:
----
  quake2-7.00.tar.xz

New:
----
  quake2-7.01.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yamagi-quake2.spec ++++++
--- /var/tmp/diff_new_pack.805iiv/_old  2017-07-08 12:33:28.210318374 +0200
+++ /var/tmp/diff_new_pack.805iiv/_new  2017-07-08 12:33:28.210318374 +0200
@@ -18,7 +18,7 @@
 
 
 Name:           yamagi-quake2
-Version:        7.00
+Version:        7.01
 Release:        0
 Summary:        Enhanced Quake 2 Source Port
 License:        GPL-2.0

++++++ quake2-7.00.tar.xz -> quake2-7.01.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quake2-7.00/CHANGELOG new/quake2-7.01/CHANGELOG
--- old/quake2-7.00/CHANGELOG   2017-06-08 17:29:51.000000000 +0200
+++ new/quake2-7.01/CHANGELOG   2017-06-23 15:46:41.000000000 +0200
@@ -1,3 +1,9 @@
+Quake II 7.00 to 7.01:
+- Fix build of GL3 for platforms without SSE.
+- Fix Jennel Jaquays name in credits and quit screen.
+- Make Quake II high DPI aware on Window Vista and above.
+- Fix some problems with loading dependend librarys on Windows.
+
 Quake II 6.00 to 7.00:
 - Remove the broken multitexturing render path from the OpenGL 1.4
   renderer. It was switched off by default in 6.00.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quake2-7.00/CMakeLists.txt 
new/quake2-7.01/CMakeLists.txt
--- old/quake2-7.00/CMakeLists.txt      2017-06-08 17:29:51.000000000 +0200
+++ new/quake2-7.01/CMakeLists.txt      2017-06-23 15:46:41.000000000 +0200
@@ -132,7 +132,7 @@
 endif()
 
 if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
-       list(APPEND yquake2LinkerFlags "-lm")
+       list(APPEND yquake2LinkerFlags "-lm -static-libgcc")
 else()
        list(APPEND yquake2LinkerFlags "-lm -rdynamic")
 endif()
@@ -431,6 +431,7 @@
        ${GL_SRC_DIR}/files/stb.c
        ${GL_SRC_DIR}/files/wal.c
        ${COMMON_SRC_DIR}/shared/shared.c
+       ${COMMON_SRC_DIR}/md4.c
        )
 
 set(GL1-Header
@@ -465,6 +466,7 @@
        ${GL_SRC_DIR}/files/stb.c
        ${GL_SRC_DIR}/files/wal.c
        ${COMMON_SRC_DIR}/shared/shared.c
+       ${COMMON_SRC_DIR}/md4.c
        )
 
 set(GL3-Header
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quake2-7.00/Makefile new/quake2-7.01/Makefile
--- old/quake2-7.00/Makefile    2017-06-08 17:29:51.000000000 +0200
+++ new/quake2-7.01/Makefile    2017-06-23 15:46:41.000000000 +0200
@@ -243,7 +243,7 @@
 else ifeq ($(YQ2_OSTYPE),OpenBSD)
 LDFLAGS := -L/usr/local/lib -lm
 else ifeq ($(YQ2_OSTYPE),Windows)
-LDFLAGS := -L/usr/lib -lws2_32 -lwinmm
+LDFLAGS := -L/usr/lib -lws2_32 -lwinmm -static-libgcc
 else ifeq ($(YQ2_OSTYPE), Darwin)
 LDFLAGS := $(OSX_ARCH) -lm
 endif
@@ -430,8 +430,12 @@
 release/quake2 : CFLAGS += -DUSE_OPENAL 
-DDEFAULT_OPENAL_DRIVER='"libopenal.so.1"' -DDLOPEN_OPENAL
 endif
 else # !DLOPEN_OPENAL
-release/quake2 : CFLAGS += -DUSE_OPENAL -I/usr/local/opt/openal-soft/include
-release/quake2 : LDFLAGS += -lopenal -L/usr/local/opt/openal-soft/lib
+release/quake2 : CFLAGS += -DUSE_OPENAL
+release/quake2 : LDFLAGS += -lopenal
+ifeq ($(YQ2_OSTYPE), Darwin)
+release/quake2 : CFLAGS += -I/usr/local/opt/openal-soft/include
+release/quake2 : LDFLAGS += -L/usr/local/opt/openal-soft/lib
+endif # Darwin
 endif # !DLOPEN_OPENAL
 endif # WITH_OPENAL
 
@@ -816,7 +820,8 @@
        src/client/refresh/files/pcx.o \
        src/client/refresh/files/stb.o \
        src/client/refresh/files/wal.o \
-       src/common/shared/shared.o 
+       src/common/shared/shared.o \
+       src/common/md4.o
        
 ifeq ($(YQ2_OSTYPE), Windows)
 REFGL1_OBJS_ += \
@@ -847,7 +852,8 @@
        src/client/refresh/files/pcx.o \
        src/client/refresh/files/stb.o \
        src/client/refresh/files/wal.o \
-       src/common/shared/shared.o
+       src/common/shared/shared.o \
+       src/common/md4.o
 
 ifeq ($(YQ2_OSTYPE), Windows)
 REFGL3_OBJS_ += \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quake2-7.00/src/backends/windows/system.c 
new/quake2-7.01/src/backends/windows/system.c
--- old/quake2-7.00/src/backends/windows/system.c       2017-06-08 
17:29:51.000000000 +0200
+++ new/quake2-7.01/src/backends/windows/system.c       2017-06-23 
15:46:41.000000000 +0200
@@ -688,6 +688,50 @@
 
 /* ======================================================================= */
 
+typedef enum YQ2_PROCESS_DPI_AWARENESS {
+       YQ2_PROCESS_DPI_UNAWARE = 0,
+       YQ2_PROCESS_SYSTEM_DPI_AWARE = 1,
+       YQ2_PROCESS_PER_MONITOR_DPI_AWARE = 2
+} YQ2_PROCESS_DPI_AWARENESS;
+
+void
+Sys_SetHighDPIMode(void)
+{
+       /* For Vista, Win7 and Win8 */
+       BOOL(WINAPI *SetProcessDPIAware)(void) = NULL;
+
+       /* Win8.1 and later */
+       HRESULT(WINAPI *SetProcessDpiAwareness)(YQ2_PROCESS_DPI_AWARENESS 
dpiAwareness) = NULL;
+
+
+       HINSTANCE userDLL = LoadLibrary("USER32.DLL");
+
+       if (userDLL)
+       {
+               SetProcessDPIAware = (BOOL(WINAPI *)(void)) 
GetProcAddress(userDLL,
+                               "SetProcessDPIAware");
+       }
+
+
+       HINSTANCE shcoreDLL = LoadLibrary("SHCORE.DLL");
+
+       if (shcoreDLL)
+       {
+               SetProcessDpiAwareness = (HRESULT(WINAPI 
*)(YQ2_PROCESS_DPI_AWARENESS))
+                       GetProcAddress(shcoreDLL, "SetProcessDpiAwareness");
+       }
+
+
+       if (SetProcessDpiAwareness) {
+               SetProcessDpiAwareness(YQ2_PROCESS_PER_MONITOR_DPI_AWARE);
+       }
+       else if (SetProcessDPIAware) {
+               SetProcessDPIAware();
+       }
+}
+
+/* ======================================================================= */
+
 /*
  * Windows main function. Containts the
  * initialization code and the main loop
@@ -708,6 +752,10 @@
        /* Make the current instance global */
        global_hInstance = hInstance;
 
+       /* Force DPI awareness */
+       Sys_SetHighDPIMode();
+
+       /* FIXME: No one can see this! */
        printf("Yamagi Quake II v%s\n", YQ2VERSION);
        printf("=====================\n\n");
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quake2-7.00/src/client/menu/menu.c 
new/quake2-7.01/src/client/menu/menu.c
--- old/quake2-7.00/src/client/menu/menu.c      2017-06-08 17:29:51.000000000 
+0200
+++ new/quake2-7.01/src/client/menu/menu.c      2017-06-23 15:46:41.000000000 
+0200
@@ -1509,7 +1509,7 @@
        "Tim Willits",
        "American McGee",
        "Christian Antkow",
-       "Paul Jaquays",
+       "Jennell Jaquays",
        "Brandon James",
        "",
        "+BIZ",
@@ -1667,7 +1667,7 @@
     "Paul Steed",
     "Tim Willits",
     "Christian Antkow",
-    "Paul Jaquays",
+    "Jennell Jaquays",
     "Brandon James",
     "Todd Hollenshead",
     "Barrett (Bear) Alexander",
@@ -1791,7 +1791,7 @@
     "Paul Steed",
     "Tim Willits",
     "Christian Antkow",
-    "Paul Jaquays",
+    "Jennell Jaquays",
     "Brandon James",
     "Todd Hollenshead",
     "Barrett (Bear) Alexander",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quake2-7.00/src/client/refresh/files/pcx.c 
new/quake2-7.01/src/client/refresh/files/pcx.c
--- old/quake2-7.00/src/client/refresh/files/pcx.c      2017-06-08 
17:29:51.000000000 +0200
+++ new/quake2-7.01/src/client/refresh/files/pcx.c      2017-06-23 
15:46:41.000000000 +0200
@@ -26,6 +26,96 @@
 
 #include "../ref_shared.h"
 
+// Fix Jennell Jaquays' name in the Quitscreen
+// this is 98x11 pixels, each value an index
+// into the standard baseq2/pak0/pics/quit.pcx colormap
+static unsigned char quitscreenfix[] = {
+       191,191,191,47,28,39,4,4,39,1,47,28,47,28,29,1,
+       28,28,47,31,31,1,29,31,1,28,47,47,47,47,29,28,
+       47,31,30,28,40,40,4,28,28,40,39,40,29,102,102,245,
+       28,39,4,4,39,103,40,40,1,1,102,94,47,47,1,94,
+       94,94,94,47,102,245,103,103,103,47,1,102,1,102,29,29,
+       29,29,47,28,245,31,31,31,47,1,28,1,28,47,1,102, 102,102,
+       191,191,142,47,4,8,8,8,8,4,47,28,1,28,29,28,
+       29,29,31,1,47,245,47,47,28,28,31,47,28,1,31,1,
+       1,245,47,39,8,8,8,40,39,8,8,8,39,1,1,47,
+       4,8,8,8,8,4,47,29,28,31,28,28,29,28,28,28,
+       29,28,31,28,47,29,1,28,31,47,1,28,1,1,29,29,
+       29,47,28,1,28,28,245,28,28,28,28,47,29,28,47,102,102,103,
+       191,191,142,31,29,36,8,8,36,31,40,39,40,4,1,1,
+       39,40,39,40,40,31,28,40,40,4,39,40,28,47,31,40,
+       39,40,4,1,36,8,8,4,47,36,8,8,39,1,1,1,
+       29,36,8,8,36,4,4,39,40,4,47,1,47,40,40,39,
+       39,40,28,40,40,47,45,39,40,28,4,39,40,4,39,1,
+       28,4,40,28,28,4,39,28,47,40,40,39,40,39,28,28,1,103,
+       1,142,29,142,28,39,8,8,36,36,8,8,8,8,36,1,
+       8,8,8,8,8,36,39,8,8,8,8,8,36,40,36,8,
+       8,8,8,36,40,8,8,40,1,4,8,8,40,1,1,31,
+       28,39,8,8,36,8,8,8,8,8,36,31,36,8,8,8,
+       8,8,36,8,8,4,40,8,8,36,8,8,8,8,8,36,
+       40,8,8,40,39,8,8,40,36,8,8,8,8,8,39,29,28,29,
+       103,191,142,47,28,40,8,8,40,8,8,33,33,8,8,36,
+       8,8,36,36,8,8,36,8,8,36,36,8,8,36,8,8,
+       33,33,8,8,36,8,8,4,47,40,8,8,39,47,28,245,
+       28,40,8,8,40,40,36,36,33,8,8,36,8,8,36,36,
+       8,8,36,8,8,40,40,8,8,40,4,36,36,33,8,8,
+       36,8,8,39,39,8,8,36,8,8,33,36,36,39,28,1,47,28,
+       103,246,1,47,1,39,8,8,40,8,8,8,8,8,8,36,
+       8,8,4,40,8,8,36,8,8,40,4,8,8,36,8,8,
+       8,8,8,8,36,8,8,40,29,39,8,8,39,1,1,47,
+       1,39,8,8,40,36,8,8,8,8,8,36,8,8,4,40,
+       8,8,36,8,8,40,39,8,8,40,36,8,8,8,8,8,
+       36,8,8,39,40,8,8,40,36,8,8,8,8,36,28,1,1,29,
+       103,47,40,40,4,36,8,8,36,8,8,33,36,36,36,4,
+       8,8,39,4,8,8,36,8,8,4,40,8,8,36,8,8,
+       33,36,36,36,36,8,8,40,31,40,8,8,40,47,40,40,
+       4,36,8,8,36,8,8,33,33,8,8,36,8,8,36,36,
+       8,8,36,8,8,36,36,8,8,36,8,8,33,33,8,8,
+       36,8,8,36,36,8,8,4,39,36,36,33,8,8,4,40,4,31,
+       191,40,8,8,8,8,8,36,29,36,8,8,8,8,8,40,
+       8,8,40,4,8,8,36,8,8,40,39,8,8,39,36,8,
+       8,8,8,8,39,8,8,39,45,4,8,8,40,40,8,8,
+       8,8,8,36,29,36,8,8,8,8,8,40,36,8,8,8,
+       8,8,40,36,8,8,8,8,8,40,36,8,8,8,8,8,
+       40,36,8,8,8,8,8,36,8,8,8,8,8,36,4,8,8,4,
+       47,45,40,39,40,39,39,245,246,1,40,40,40,39,4,47,
+       40,4,28,29,39,40,30,39,39,1,28,40,4,28,1,40,
+       40,40,39,4,29,40,39,1,1,1,4,4,47,45,40,39,
+       40,39,39,245,246,29,39,40,40,40,4,47,28,39,39,36,
+       8,8,4,1,39,40,4,40,40,1,29,4,39,4,40,39,
+       1,39,36,36,33,8,8,4,39,4,39,4,40,47,36,8,8,40,
+       1,28,47,28,28,29,1,28,47,28,31,28,28,27,47,28,
+       45,246,30,28,245,29,47,47,29,30,28,47,27,1,246,47,
+       47,47,1,28,47,28,47,1,47,47,1,29,29,47,47,28,
+       28,29,1,47,1,47,47,28,31,47,47,31,47,47,47,4,
+       8,8,39,245,1,47,28,245,28,47,31,28,47,28,28,28,
+       40,8,8,8,8,8,36,47,28,1,246,47,1,40,8,8,36,1,
+       47,1,102,1,102,102,47,94,94,102,47,47,102,102,102,102,
+       94,1,94,47,102,1,102,47,30,30,102,27,47,102,94,1,
+       102,47,1,94,102,103,1,102,103,103,47,47,47,29,1,29,
+       28,28,29,28,1,47,28,31,29,1,47,29,28,1,1,47,
+       4,39,1,47,47,1,28,28,28,47,1,28,45,28,47,47,
+       1,40,4,4,40,4,29,28,31,45,47,28,47,47,4,40,28,28
+};
+
+static void
+fixQuitScreen(byte* px)
+{
+       // overwrite 11 lines, 98 pixels each, from quitscreenfix[]
+       // starting at line 140, column 188
+       // quitscreen is 320x240 px
+       int r, qsIdx = 0;
+
+       px += 140*320; // go to line 140
+       px += 188; // to colum 188
+       for(r=0; r<11; ++r)
+       {
+               memcpy(px, quitscreenfix+qsIdx, 98);
+               qsIdx += 98;
+               px += 320;
+       }
+}
+
 void
 LoadPCX(char *origname, byte **pic, byte **palette, int *width, int *height)
 {
@@ -134,6 +224,14 @@
                free(*pic);
                *pic = NULL;
        }
+       else if(pcx->xmax == 319 && pcx->ymax == 239
+                       && Q_strcasecmp(origname, "pics/quit.pcx") == 0
+                       && Com_BlockChecksum(pcx, len) == 3329419434u)
+       {
+               // it's the quit screen, and the baseq2 one (identified by 
checksum)
+               // so fix it
+               fixQuitScreen(*pic);
+       }
 
        ri.FS_FreeFile(pcx);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quake2-7.00/src/client/refresh/gl3/gl3_main.c 
new/quake2-7.01/src/client/refresh/gl3/gl3_main.c
--- old/quake2-7.00/src/client/refresh/gl3/gl3_main.c   2017-06-08 
17:29:51.000000000 +0200
+++ new/quake2-7.01/src/client/refresh/gl3/gl3_main.c   2017-06-23 
15:46:41.000000000 +0200
@@ -29,9 +29,6 @@
 #include "../../header/ref.h"
 #include "header/local.h"
 
-#ifndef __SSE__
-#define HANDMADE_MATH_NO_SSE
-#endif
 #define HANDMADE_MATH_IMPLEMENTATION
 #include "header/HandmadeMath.h"
 
@@ -99,6 +96,7 @@
 cvar_t *gl_clear;
 cvar_t *gl3_particle_size;
 cvar_t *gl3_particle_fade_factor;
+cvar_t *gl3_particle_square;
 
 cvar_t *gl_lefthand;
 cvar_t *gl_farsee;
@@ -211,6 +209,7 @@
        gl_customheight = ri.Cvar_Get("gl_customheight", "768", CVAR_ARCHIVE);
        gl3_particle_size = ri.Cvar_Get("gl3_particle_size", "40", 
CVAR_ARCHIVE);
        gl3_particle_fade_factor = ri.Cvar_Get("gl3_particle_fade_factor", 
"1.2", CVAR_ARCHIVE);
+       gl3_particle_square = ri.Cvar_Get("gl3_particle_square", "0", 
CVAR_ARCHIVE);
 
        gl_norefresh = ri.Cvar_Get("gl_norefresh", "0", 0);
        gl_drawentities = ri.Cvar_Get("gl_drawentities", "1", 0);
@@ -1658,6 +1657,12 @@
                GL3_UpdateUBO3D();
        }
 
+       if(gl3_particle_square->modified)
+       {
+               gl3_particle_square->modified = false;
+               GL3_RecreateShaders();
+       }
+
 
        /* go into 2D mode */
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quake2-7.00/src/client/refresh/gl3/gl3_shaders.c 
new/quake2-7.01/src/client/refresh/gl3/gl3_shaders.c
--- old/quake2-7.00/src/client/refresh/gl3/gl3_shaders.c        2017-06-08 
17:29:51.000000000 +0200
+++ new/quake2-7.01/src/client/refresh/gl3/gl3_shaders.c        2017-06-23 
15:46:41.000000000 +0200
@@ -689,6 +689,18 @@
                }
 );
 
+static const char* fragmentSrcParticlesSquare = MULTILINE_STRING(
+
+               // it gets attributes and uniforms from fragmentCommon3D
+
+               in vec4 passColor;
+
+               void main()
+               {
+                       outColor = passColor;
+               }
+);
+
 
 #undef MULTILINE_STRING
 
@@ -977,10 +989,8 @@
        gl3state.currentUBO = gl3state.uniLightsUBO;
 }
 
-qboolean GL3_InitShaders(void)
+static qboolean createShaders(void)
 {
-       initUBOs();
-
        if(!initShader2D(&gl3state.si2D, vertexSrc2D, fragmentSrc2D))
        {
                R_Printf(PRINT_ALL, "WARNING: Failed to create shader program 
for textured 2D rendering!\n");
@@ -1053,7 +1063,14 @@
                R_Printf(PRINT_ALL, "WARNING: Failed to create shader program 
for rendering flat-colored models!\n");
                return false;
        }
-       if(!initShader3D(&gl3state.siParticle, vertexSrcParticles, 
fragmentSrcParticles))
+
+       const char* particleFrag = fragmentSrcParticles;
+       if(gl3_particle_square->value != 0.0f)
+       {
+               particleFrag = fragmentSrcParticlesSquare;
+       }
+
+       if(!initShader3D(&gl3state.siParticle, vertexSrcParticles, 
particleFrag))
        {
                R_Printf(PRINT_ALL, "WARNING: Failed to create shader program 
for rendering particles!\n");
                return false;
@@ -1064,7 +1081,14 @@
        return true;
 }
 
-void GL3_ShutdownShaders(void)
+qboolean GL3_InitShaders(void)
+{
+       initUBOs();
+
+       return createShaders();
+}
+
+static void deleteShaders(void)
 {
        const gl3ShaderInfo_t siZero = {0};
        for(gl3ShaderInfo_t* si = &gl3state.si2D; si <= &gl3state.siParticle; 
++si)
@@ -1072,6 +1096,11 @@
                if(si->shaderProgram != 0)  glDeleteProgram(si->shaderProgram);
                *si = siZero;
        }
+}
+
+void GL3_ShutdownShaders(void)
+{
+       deleteShaders();
 
        // let's (ab)use the fact that all 4 UBO handles are consecutive fields
        // of the gl3state struct
@@ -1079,6 +1108,13 @@
        gl3state.uniCommonUBO = gl3state.uni2DUBO = gl3state.uni3DUBO = 
gl3state.uniLightsUBO = 0;
 }
 
+qboolean GL3_RecreateShaders(void)
+{
+       // delete and recreate the existing shaders (but not the UBOs)
+       deleteShaders();
+       return createShaders();
+}
+
 static inline void
 updateUBO(GLuint ubo, GLsizeiptr size, void* data)
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/quake2-7.00/src/client/refresh/gl3/header/HandmadeMath.h 
new/quake2-7.01/src/client/refresh/gl3/header/HandmadeMath.h
--- old/quake2-7.00/src/client/refresh/gl3/header/HandmadeMath.h        
2017-06-08 17:29:51.000000000 +0200
+++ new/quake2-7.01/src/client/refresh/gl3/header/HandmadeMath.h        
2017-06-23 15:46:41.000000000 +0200
@@ -173,6 +173,8 @@
           (*) Resolved compiler warnings on gcc and g++
      1.1.2
           (*) Fixed invalid HMMDEF's in the function definitions
+     1.1.3
+          (*) Fixed compile error in C mode
           
   LICENSE
   
@@ -198,7 +200,27 @@
    Insofaras (@insofaras)
 */
 
-#ifndef HANDMADE_NO_SSE
+
+// let's figure out if SSE is really available (unless disabled anyway)
+// (it isn't on non-x86/x86_64 platforms or even x86 without explicit SSE 
support)
+// => only use "#ifdef HANDMADE_MATH__USE_SSE" to check for SSE support below 
this block!
+#ifndef HANDMADE_MATH_NO_SSE
+
+# ifdef _MSC_VER
+   // MSVC supports SSE in amd64 mode or _M_IX86_FP >= 1 (2 means SSE2)
+#  if defined(_M_AMD64) || ( defined(_M_IX86_FP) && _M_IX86_FP >= 1 )
+#   define HANDMADE_MATH__USE_SSE 1
+#  endif
+# else // not MSVC, probably GCC, clang, icc or something that doesn't support 
SSE anyway
+#  ifdef __SSE__ // they #define __SSE__ if it's supported
+#   define HANDMADE_MATH__USE_SSE 1
+#  endif //  __SSE__
+# endif // not _MSC_VER
+
+#endif // #ifndef HANDMADE_MATH_NO_SSE
+
+
+#ifdef HANDMADE_MATH__USE_SSE
 #include <xmmintrin.h>
 #endif
 
@@ -755,12 +777,12 @@
 {
     float Result = 0.0f;
 
-#ifdef HANDMADE_MATH_NO_SSE
-    Result = sqrtf(Value);
-#else        
+#ifdef HANDMADE_MATH__USE_SSE
     __m128 In = _mm_set_ss(Value);
     __m128 Out = _mm_sqrt_ss(In);
     Result = _mm_cvtss_f32(Out);
+#else
+    Result = sqrtf(Value);
 #endif 
 
     return(Result);
@@ -771,12 +793,12 @@
 {
     float Result = 0.0f;
 
-#ifdef HANDMADE_MATH_NO_SSE
-    Result = 1.0f/HMM_SquareRootF(Value);
-#else        
+#ifdef HANDMADE_MATH__USE_SSE
     __m128 In = _mm_set_ss(Value);
     __m128 Out = _mm_rsqrt_ss(In);
     Result = _mm_cvtss_f32(Out);
+#else
+    Result = 1.0f/HMM_SquareRootF(Value);
 #endif
 
     return(Result);
@@ -1692,7 +1714,7 @@
     Result.Z = HMM_Lerp(Left.Z, Time, Right.Z);
     Result.W = HMM_Lerp(Left.W, Time, Right.W);
 
-    HMM_NormalizeQuaternion(Result);
+    Result = HMM_NormalizeQuaternion(Result);
 
     return(Result);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quake2-7.00/src/client/refresh/gl3/header/local.h 
new/quake2-7.01/src/client/refresh/gl3/header/local.h
--- old/quake2-7.00/src/client/refresh/gl3/header/local.h       2017-06-08 
17:29:51.000000000 +0200
+++ new/quake2-7.01/src/client/refresh/gl3/header/local.h       2017-06-23 
15:46:41.000000000 +0200
@@ -468,6 +468,7 @@
 
 // gl3_shaders.c
 
+extern qboolean GL3_RecreateShaders(void);
 extern qboolean GL3_InitShaders(void);
 extern void GL3_ShutdownShaders(void);
 extern void GL3_UpdateUBOCommon(void);
@@ -507,6 +508,7 @@
 extern cvar_t *gl_lightlevel;
 extern cvar_t *gl3_overbrightbits;
 extern cvar_t *gl3_particle_fade_factor;
+extern cvar_t *gl3_particle_square;
 
 extern cvar_t *gl_modulate;
 extern cvar_t *gl_lightmap;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quake2-7.00/src/common/header/common.h 
new/quake2-7.01/src/common/header/common.h
--- old/quake2-7.00/src/common/header/common.h  2017-06-08 17:29:51.000000000 
+0200
+++ new/quake2-7.01/src/common/header/common.h  2017-06-23 15:46:41.000000000 
+0200
@@ -32,8 +32,7 @@
 #include "shared.h"
 #include "crc.h"
 
-/* Should have 4 characters. */
-#define YQ2VERSION "7.00"
+#define YQ2VERSION "7.01"
 #define BASEDIRNAME "baseq2"
 
 #ifndef YQ2OSTYPE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/quake2-7.00/stuff/cvarlist.md 
new/quake2-7.01/stuff/cvarlist.md
--- old/quake2-7.00/stuff/cvarlist.md   2017-06-08 17:29:51.000000000 +0200
+++ new/quake2-7.01/stuff/cvarlist.md   2017-06-23 15:46:41.000000000 +0200
@@ -13,7 +13,8 @@
 
 * **basedir**: Directory from which the game data is loaded. Can be used
   in startup scripts, to test binaries, etc. If not set, the directory
-  containing the binaries is used.
+  containing the binaries is used.  
+  To use this cvar, set it at startup, like `./quake2 +set basedir 
/path/to/quake2`
 
 * **cl_async**: If set to `1` (the default) the client is asynchronous.
   The client framerate is fixed, the renderer framerate is variable.
@@ -76,7 +77,7 @@
   with an aspect ratio of 4:3, regardless what the actual windows size
   or resolution is.
 
-* **cl_gun**: Decides weather the gun is drawn. If set to `0` the gun
+* **cl_gun**: Decides whether the gun is drawn. If set to `0` the gun
   is omitted. If set to `1` the gun is only drawn if the FOV is equal
   or smaller than 90. This was the default with Vanilla Quake II. If set
   to `2` the gun is drawn regardless of the FOV. This is the default
@@ -103,11 +104,11 @@
   and `16`. Anisotropic filtering gives a huge improvement to texture
   quality by a negligible performance impact.
 
-* **gl_consolescale** / **gl_hudscale** / **gl_menuscale**: Scale the
-  console, the HUD and the menu. The value given is the scale factor, a
-  factor of `1` means no scaling. Values greater `1` make the objects
-  bigger, values lower 1 smaller. The special value `-1` sets the optimal
-  scaling factor for the current resolution.
+* **gl_consolescale** / **gl_hudscale** / **gl_menuscale**, 
**crosshair_scale**:
+  Scale the console, the HUD, the menu and the crosshair. The value given
+  is the scale factor, a factor of `1` means no scaling. Values greater
+  `1` make the objects bigger, values lower 1 smaller. The special value
+  `-1` sets the optimal scaling factor for the current resolution.
 
 * **gl_customheight** / **gl_customwidth**: Specifies a custom
   resolution, the windows will be *gl_customheight* pixels high and
@@ -126,8 +127,8 @@
 
 * **gl_msaa_samples**: Full scene anti aliasing samples. The number of
   samples depends on the GPU driver, most drivers support at least
-  `2`, `4` and `8` samples. If an invalid value is set the value is
-  reverted the highest number of samples supported. Especially on OpenGL
+  `2`, `4` and `8` samples. If an invalid value is set, the value is
+  reverted to the highest number of samples supported. Especially on OpenGL
   3.2 anti aliasing is expensive and can lead to a huge performance hit,
   so try setting it to a lower value if your framerate is too low.
 
@@ -192,3 +193,8 @@
 * **gl3_particle_fade_factor**: "softness" of particles: higher values
   look less soft. Defaults to `1.2`.  
   A value of `10` looks similar to the GL1 particles.
+
+* **gl3_particle_square**: If set to `1`, particles are rendered as squares,
+  like in the old software renderer or Quake1. Default is `0`.
+
+

++++++ yamagi-quake2.appdata.xml ++++++
--- /var/tmp/diff_new_pack.805iiv/_old  2017-07-08 12:33:28.658255192 +0200
+++ /var/tmp/diff_new_pack.805iiv/_new  2017-07-08 12:33:28.658255192 +0200
@@ -1,33 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <component type="desktop">
-​  <id>yamagi-quake2.desktop</id>
-​  <metadata_license>CC0</metadata_license>
-​  <project_license>GPL-2.0+</project_license>
-​  <name>Yamagi Quake 2</name>
-​  <summary>Enhanced Quake 2 Source Port</summary>
-​
-​  <description>
-​    <p>
-​      Yamagi Quake II is an enhanced client for id Software's Quake II. The
+  <id>yamagi-quake2.desktop</id>
+  <metadata_license>CC0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <name>Yamagi Quake 2</name>
+  <summary>Enhanced Quake 2 Source Port</summary>
+  <description>
+    <p>
+      Yamagi Quake II is an enhanced client for id Software's Quake II. The
       main focus is an unchanged single player experience; the gameplay and
       graphics are unaltered. It also features: anisotropic filtering and
       multi-sample anti-aliasing, widescreen aspect ratio and unlimited
       screen size, compatibility with most mods, optional support for
       retexturing packs and HUD scaling.
     </p>
-​  </description>
-​
-​  <screenshots>
-​    <screenshot type="default">
+  </description>
+  <screenshots>
+    <screenshot type="default">
       <caption>Gameplay</caption>
-​      
<image>http://spawnhost.files.wordpress.com/2012/07/yamq2_linux_oss4.jpg</image>
-​    </screenshot>
-​  </screenshots>
-​
-​  <url type="homepage">https://www.yamagi.org/quake2/</url>
-​
-​  <provides>
-​    <binary>yquake2</binary>
-​  </provides>
-​
-​</component>
+      
<image>http://spawnhost.files.wordpress.com/2012/07/yamq2_linux_oss4.jpg</image>
+    </screenshot>
+  </screenshots>
+  <url type="homepage">https://www.yamagi.org/quake2/</url>
+  <provides>
+       <binary>yquake2</binary>
+  </provides>
+</component>


Reply via email to