Commit Graph

627 Commits

Author SHA1 Message Date
hiker
113e3c0c09 Merge branch 'game_protocol' of github.com:supertuxkart/stk-code into game_protocol 2018-02-09 16:09:39 +11:00
Deve
5e8343a068 Add basic gamepad support for android 2018-02-08 01:24:35 +01:00
hiker
2e3e594967 Merge remote-tracking branch 'origin/master' into speed-cap-to-physics 2018-02-06 11:27:02 +11:00
Deve
8742420c23 Allow to navigate with dpad 2018-02-05 22:54:50 +01:00
hiker
884e966ab9 Added capability to handle setting the maximum speed first to 0, and then
later to a higher value (which happens in overworld, which sets max speed
to 0, but the value got later overwritten with the normal supertuxkart max_speed
handling.
2018-02-05 16:11:19 +11:00
Deve
48cde3e041 Try to create 32bit visual for gles if 24bit failed.
People need it for Odroid boards.
2018-02-02 22:15:31 +01:00
Deve
50ad5eed33 Try to fix VS build 2018-01-30 23:44:55 +01:00
Deve
4529189048 Upgrade enet 2018-01-30 23:10:30 +01:00
leper
47dc4bdbaa Remove enet modifications. Fixes #21. 2018-01-30 22:06:07 +01:00
Deve
853084e75a Fixed mingw compilation 2018-01-29 22:14:43 +01:00
Deve
3345fa6e51 Try to fix travis.
It reverts commit:
https://sourceforge.net/p/angelscript/code/2278/

It looks that it's impossible to detect "real" clang version using compiler definitions, so that we can't check if std::is_trivially_default_constructible is available.

I mean that clang 4.0 on my machine is "newer" than clang 5.0 on travis, because it tries to use gcc 4.8 headers:

/usr/lib/gcc/*x86_64-linux-gnu/4.8*/../../../../include/c++/4.8/type_traits:1211:12:
note: 'has_trivial_default_constructor' declared here
    struct has_trivial_default_constructor

At this stage we can just disable AS_CAN_USE_CPP11 for clang. It was disabled for clang before our angelscript upgrade, so that it's not worse than before.

Note that I don't use clang and I don't really know what are our requirements (for example for Mac OS build). Feel free to revert it after travis upgrade.
2018-01-29 20:48:15 +01:00
Deve
5aaf3a9c39 Comment out unused wayland code to avoid compilation errors with clang 2018-01-26 21:41:39 +01:00
Deve
4802c4d11c Avoid cmake warning 2018-01-26 21:20:33 +01:00
Igor Gnatenko
aec7ca0ce9 libs: update angelscript to 2.32.0
Fixes: https://github.com/supertuxkart/stk-code/issues/2528
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
2018-01-26 21:19:01 +01:00
Deve
effa23d952 Some minor fixes in linux device 2018-01-15 23:15:27 +01:00
Benau
813b08bc73 Fix #3091 2018-01-14 10:19:37 +08:00
Benau
59045cd064 Merge remote-tracking branch 'origin/master' 2018-01-13 15:44:57 +08:00
Deve
e46a18ab61
Merge pull request #3060 from akien-mga/update-glew
GLEW: Update to pristine upstream 2.1.0
2018-01-13 00:22:18 +01:00
Deve
f220bb14f4 More improvements in wayland device 2018-01-12 22:31:21 +01:00
Benau
b1f1afb9c5 Use SSE2 in windows build for faster libsquish 2018-01-12 17:47:18 +08:00
Deve
6f4c1f41da More work with xdg shell 2018-01-11 19:03:01 +01:00
Benau
7859a00967 Remove unused mesh code 2018-01-11 13:38:08 +08:00
Benau
68ceceb6e3 Remove unused texture code 2018-01-11 12:47:02 +08:00
Deve
55ea7625b3 Create xkb context before registry listener is created 2018-01-10 22:05:27 +01:00
Deve
4f9b46b20c More work with xdg_shell 2018-01-10 21:31:54 +01:00
Deve
74b071494c Some work on xdg shell support 2018-01-09 23:41:34 +01:00
Deve
b17920cf4c Use server-side decorations for KDE wayland for now 2018-01-08 23:08:23 +01:00
Deve
f7654d3867 Fixed a crash with disabled repeating keys on wayland 2018-01-08 21:12:50 +01:00
Deve
5af835505c Don't send too many useless events on touch move 2018-01-07 23:49:39 +01:00
Deve
9afbf9a772 Don't return fatal error if wayland libraries are not found 2018-01-07 21:11:37 +01:00
Deve
6ce1573cfd Some cleanup 2018-01-07 02:22:58 +01:00
Deve
b0afa6ab3d Add srgb attrib in egl only if requested 2018-01-07 02:22:58 +01:00
Deve
f6111d04fd Use explicit display type in egl if possible. 2018-01-07 02:22:58 +01:00
Benau
5293a0dbef Add b3d loader for SP 2018-01-06 12:07:22 +08:00
Benau
590850eacf Add dynamic draw call for skidmarks 2017-12-28 16:14:09 +08:00
Deve
87d43063ed Assume that "HandleSRGB == false" means "don't care".
It solves the issue with nvidia when HandleSRGB is set to false.
2017-12-25 23:59:49 +01:00
Benau
7797115867 Add SP for correct normal and easier shader system 2017-12-25 14:00:10 +08:00
Benau
3607c7d520 Adjust irrlicht CSkinnedMesh class for .spm
The last frame in .spm is usable
2017-12-02 15:24:05 +08:00
Benau
2161efd9c4 Allow configure animation set through scripting 2017-12-02 02:36:43 +08:00
Rémi Verschelde
2a093cde0a GLEW: Update to pristine upstream 2.1.0
Previous version was a modified GLEW 1.11.0 (2014). The STK modifications meant
to address https://sourceforge.net/p/glew/patches/40/ which is now fixed since
GLEW 2.0.0.

Here's the diff between pristine 1.11.0 and STK's version before this patch:
```diff
diff --git a/lib/glew/src/glew.c b/lib/glew/src/glew.c
index a78f14e1e..f8df0d758 100644
--- a/lib/glew/src/glew.c
+++ b/lib/glew/src/glew.c
@@ -296,30 +296,6 @@ static GLboolean _glewStrSame3 (GLubyte** a, GLuint* na, const GLubyte* b, GLuin
   return GL_FALSE;
 }

-#include <string.h>
-#include <stdlib.h>
-
-/* A simple open addressing hashset for extensions on OpenGL 3+. */
-static const char ** ext_hashset = NULL;
-size_t ext_hashset_size = 0;
-
-static unsigned hash_string(const char * key)
-{
-  unsigned hash = 0;
-  unsigned i = 0;
-  for (; i < strlen(key); ++i)
-  {
-    hash += key[i];
-    hash += (hash << 10);
-    hash ^= (hash >> 6);
-  }
-  hash += (hash << 3);
-  hash ^= (hash >> 11);
-  hash += (hash << 15);
-
-  return hash;
-}
-
 /*
  * Search for name in the extensions string. Use of strstr()
  * is not sufficient because extension names can be prefixes of
@@ -328,37 +304,14 @@ static unsigned hash_string(const char * key)
  */
 static GLboolean _glewSearchExtension (const char* name, const GLubyte *start, const GLubyte *end)
 {
-  if (ext_hashset != NULL)
+  const GLubyte* p;
+  GLuint len = _glewStrLen((const GLubyte*)name);
+  p = start;
+  while (p < end)
   {
-    unsigned hash = hash_string(name);
-
-    /*
-     * As the hashset is bigger than the number of extensions
-     * this will eventually break.
-     */
-    while(1)
-    {
-        unsigned index = hash % ext_hashset_size;
-        if (ext_hashset[index] == NULL)
-            break;
-
-        if (!strcmp(ext_hashset[index], name))
-            return GL_TRUE;
-
-        hash++;
-    }
-  }
-  else
-  {
-    const GLubyte* p;
-    GLuint len = _glewStrLen((const GLubyte*)name);
-    p = start;
-    while (p < end)
-    {
-      GLuint n = _glewStrCLen(p, ' ');
-      if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE;
-      p += n+1;
-    }
+    GLuint n = _glewStrCLen(p, ' ');
+    if (len == n && _glewStrSame((const GLubyte*)name, p, n)) return GL_TRUE;
+    p += n+1;
   }
   return GL_FALSE;
 }
@@ -10099,13 +10052,9 @@ static GLboolean _glewInit_GL_WIN_swap_hint (GLEW_CONTEXT_ARG_DEF_INIT)
 /* ------------------------------------------------------------------------- */

 GLboolean GLEWAPIENTRY glewGetExtension (const char* name)
-{
+{
   const GLubyte* start;
   const GLubyte* end;
-
-  if (ext_hashset != NULL)
-      return _glewSearchExtension(name, NULL, NULL);
-
   start = (const GLubyte*)glGetString(GL_EXTENSIONS);
   if (start == 0)
     return GL_FALSE;
@@ -10165,39 +10114,9 @@ GLenum GLEWAPIENTRY glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST)
     GLEW_VERSION_1_2   = GLEW_VERSION_1_2_1 == GL_TRUE || ( major == 1 && minor >= 2 ) ? GL_TRUE : GL_FALSE;
     GLEW_VERSION_1_1   = GLEW_VERSION_1_2   == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE;
   }
-
-  if (major >= 3) /* glGetString method is deprecated */
-  {
-    GLint n, i;
-    glGetIntegerv(GL_NUM_EXTENSIONS, &n);
-    glGetStringi = (PFNGLGETSTRINGIPROC)glewGetProcAddress((const GLubyte*)"glGetStringi");
-
-    free(ext_hashset); /* In case we get called a second time. */
-
-    ext_hashset_size = (n * 3) / 2;
-    ext_hashset = calloc(ext_hashset_size, sizeof(const char *));
-    for (i = 0; i < n; ++i)
-    {
-      const char * extension;
-      unsigned hash;
-
-      extension = (const char *)glGetStringi(GL_EXTENSIONS, i);
-      hash = hash_string(extension);
-
-      while(ext_hashset[hash % ext_hashset_size] != NULL)
-        hash++;
-
-      ext_hashset[hash % ext_hashset_size] = extension;
-    }
-
-    extStart = 0;
-  }
-  else
-  {
-    /* query opengl extensions string */
-    extStart = glGetString(GL_EXTENSIONS);
-  }

+  /* query opengl extensions string */
+  extStart = glGetString(GL_EXTENSIONS);
   if (extStart == 0)
     extStart = (const GLubyte*)"";
   extEnd = extStart + _glewStrLen(extStart);
@@ -14064,9 +13983,6 @@ GLenum glxewContextInit (GLXEW_CONTEXT_ARG_DEF_LIST)
   GLXEW_VERSION_1_2 = GL_TRUE;
   GLXEW_VERSION_1_3 = GL_TRUE;
   GLXEW_VERSION_1_4 = GL_TRUE;
-  /* Check if GLX display is available */
-  if (glXGetCurrentDisplay == NULL || glXGetCurrentDisplay() == NULL)
-    return GLEW_OK;
   /* query GLX version */
   glXQueryVersion(glXGetCurrentDisplay(), &major, &minor);
   if (major == 1 && minor <= 3)
```
2017-11-22 12:04:46 +01:00
Deve
252403c9cc Avoid semi-transparent window on some compositors 2017-11-10 22:48:48 +01:00
Deve
3baefcd6a7 Initialize FeatureAvailable array to false for legacy pipeline.
It has been broken in commit 271a26eaf0.

It solves some issues with etnaviv gallium driver. It may also solve a crash on old intel 965gm on windows, but I can't test it atm.
2017-11-07 22:54:36 +01:00
Benau
b28574eb46 Fix b3d with more than 4 weights per vertex 2017-10-25 13:11:54 +08:00
Benau
fc2e05c0a6 Use a trick to make skinned mesh shader branchless 2017-10-22 13:03:45 +08:00
Benau
7252a38da1 Fix skinning glitches possible in (some) cards 2017-10-22 02:17:37 +08:00
Benau
0d96906d54 Use texture buffer (texture2d in gles) for skinning 2017-10-19 13:31:07 +08:00
Benau
fa48d099f2 Fix the remaining msvc warnings 2017-10-17 10:51:52 +08:00
Benau
88e15147b8 Merge remote-tracking branch 'origin/win-64bit' 2017-10-17 00:55:22 +08:00
Deve
1a250c5b74 Hopefully fixed rare crash in createVideoModeList.
Assume that the window was null.
2017-09-30 23:43:29 +02:00
Deve
34a3207f91 Fixed android compilation 2017-09-27 23:20:35 +02:00