Commit Graph

945 Commits

Author SHA1 Message Date
Benau
874895ba11 Use STKTextBillboard for legacy pipeline for correct glyph metrics 2018-11-30 23:01:43 +08:00
Benau
8b825bf7df Fix meter missing in race gui for GLES 2 2018-11-30 18:47:15 +08:00
QwertyChouskie
2253dc9db9 Update to 0.15.4, with fix for Windows compilation 2018-11-28 11:18:32 -08:00
QwertyChouskie
0c5d728c48 Update Wiiuse library to 0.15.3, fixes support for newer Wiimotes on Linux 2018-11-26 09:58:53 -08:00
Deve
cdb3d2cae5 Fixed a crash when opening broken xml file 2018-11-22 22:09:05 +01:00
River Marks
665c8a8cec Fix for when attempting to input a server IP address on the num pad (#3603)
The decimal key was not registering on the number pad as the decimal
key, it was deleting the numbers of the IP address making it impossible
to use the num pad solely for entering an IP.

Fixes #3602
2018-11-20 11:37:18 +01:00
Deve
060855c710 Check wayland version in cmake.
Fixed #3579.
2018-11-17 21:56:23 +01:00
hiker
0221e2f6d1 Merge branch 'master' of github.com:supertuxkart/stk-code 2018-11-16 23:48:47 +11:00
Deve
7cc4c92b31 Fixed compilation with current mesa.
It fixes #3557.
2018-11-14 20:59:00 +01:00
hiker
5c14ce86d7 Merge branch 'master' of github.com:supertuxkart/stk-code 2018-11-13 17:55:56 +11:00
hiker
724a5d94ba Merge branch 'master' of github.com:supertuxkart/stk-code 2018-10-31 23:20:53 +11:00
Benau
c25c12e7a5 Disable jpg logging to make it thread safe 2018-10-31 13:26:34 +08:00
Benau
c1ed846e1e Remove X11 header usage if server only 2018-10-31 12:28:49 +08:00
Deve
6722f57b06 Fixed possible crash on 64-bit mingw build 2018-10-21 21:52:15 +02:00
Deve
9cbf15c1a2 Update to stable xdg shell 2018-10-14 22:11:30 +02:00
Benau
724ca795f0 Add the required code for advanced meta library animation handling 2018-10-13 00:43:59 +08:00
hiker
17ab076858 Fixed various compiler warnings for 64-bit windows compilation. 2018-10-11 23:27:08 +11:00
Deve
7cde4bcd36 Fixed wrong comment 2018-10-10 00:29:21 +02:00
Deve
ba1da58f0b Don't change current working directory.
It causes issues with multithreading.
Fixes #3498
2018-10-09 21:42:16 +02:00
Deve
efe68fef94 Disable billboard text rendering in GLES legacy pipeline 2018-10-07 23:27:19 +02:00
Deve
0c5b1a3999 Always show current reolution in options 2018-10-04 21:55:00 +02:00
Benau
e7aa03f1bf Try an up-to-date current frame bone-child attachment in legacy pipeline 2018-09-28 23:33:51 +08:00
Deve
2ac0e5fd07 Avoid a crash when path is empty.
Happened for me few times, but reason unknown.
2018-09-23 22:53:11 +02:00
Benau
37cf5ac459 Add delete vertex buffer to save memory for no graphics 2018-09-12 15:30:57 +08:00
Deve
e3b3a369d0 Allow to choose monitor with environment variable 2018-09-06 22:06:40 +02:00
Deve
19ad3df8fa Revert a workaround for 32bit angelscript compilation.
It's unclear which gcc versions are affected.
2018-08-24 23:25:59 +02:00
Deve
ad8b30b5d3 Recreate libchildprocess after apk upgrade also when device has non-typical internal data dir 2018-08-23 23:08:27 +02:00
Deve
2ac8387761 Read data path from ApplicationInfo structure instead of hardcoded /data/data/... 2018-08-23 00:21:20 +02:00
Deve
54c9fb97fa Use higher values as a fallback for unknown keycodes on android 2018-08-21 21:36:39 +02:00
Deve
ba6bbd4133 More key codes for keyboard on android 2018-08-21 21:18:35 +02:00
Deve
07fd42ee3c Add support for unicode characters for hardware keyboard on android 2018-08-20 23:34:51 +02:00
Deve
80fd62c7d8 More fixes for global_android_app 2018-08-16 22:30:15 +02:00
Deve
52d6e93bdc Hide navbar only for android >= 4.4. 2018-07-27 20:55:31 +02:00
Deve
ef27fdaba8 Fixed a crash on exit 2018-07-27 00:05:39 +02:00
Deve
b7a11e68ad Hide navigation bar for more comfortable playing and more screen space 2018-07-26 22:34:56 +02:00
Deve
5d9614295e Allow to handle window state events directly in main thread 2018-07-26 22:21:41 +02:00
Deve
a08cccceaa Use our copy of native app glue 2018-07-26 22:20:53 +02:00
Marianne Gagnon
973b29980d Fix #3347 2018-07-23 19:58:15 -04:00
hiker
a1ba27bc45 Try again to fix our build environment in server only mode. 2018-07-23 15:40:25 +10:00
Benau
b6c893b03e Try to fix server only build in linux 2018-07-23 13:27:14 +08:00
hiker
d18e963ea6 Added Benau's new version. 2018-07-23 12:51:59 +10:00
hiker
39e218b2dc Try to fix server-only build ... now non-server build is broken :( 2018-07-23 09:28:12 +10:00
Deve
b5c3910fe8 Fixed android x86 compilation.
Ugly, but there is no better solution atm.
2018-07-10 21:22:14 +02:00
Deve
aa0a51c31a Fixed angelscript compilation with 32bit gcc 2018-07-07 23:36:02 +02:00
Benau
4099afb25f Remove image related code and library dependencies in server only build 2018-07-07 09:27:39 +08:00
QwertyChouskie
c4f0a71ef0 Add macOS to travis builds, fix server-only builds on macOS, msc. fixes (#3339)
* Use thread number from Travis docs
The other number is probably incorrect.
See https://github.com/travis-ci/travis-ci/issues/4696

* Add macOS to travis builds

* Remove unnecessary libraries
Not sure why these were added in the first place.
First commit that added them: 6aecb42e42

* Fix server-only build on macOS
2018-07-03 19:37:57 -04:00
Deve
e44266b526 Always set blend func in GLES 2.0.
It's often changed in STK engine and the value stored in irrlicht variable may be invalid.

Fixes #3296
2018-06-12 22:25:46 +02:00
hiker
dc36f743ab Fixed compiler warnings. 2018-06-01 00:21:25 +10:00
Deve
ed2d57996d Fixed libsquish compilation on arm 2018-05-25 21:08:00 +02:00
Deve
bcd856d7b2 Avoid not needed enet modification.
Link needed libraries in cmake file in the same way as mingw build.
2018-05-21 21:23:45 +02:00
Benau
34b8a07d80 Add proper line breaking 2018-05-21 11:19:18 +08:00
Deve
f2325e9140 Grab mouse on linux when panning is enabled 2018-05-18 22:35:54 +02:00
Deve
15f79b0f95 Add key binding for azerty layout 2018-05-09 21:11:24 +02:00
Deve
fe42da5b04 Avoid conflicts with key codes when fallback keycode is used 2018-05-08 21:59:11 +02:00
Deve
78d9f2065c Add some key names for azerty layout 2018-05-08 21:22:46 +02:00
hiker
b1013f6030 Merge remote-tracking branch 'origin/network_improvements' into game_protocol 2018-03-31 00:38:57 +11:00
Deve
0471202c9c Fixed stupid isAccelerometerActive condition 2018-03-20 20:55:26 +01:00
Deve
38a4e06a6c Avoid window size to be larger than available space.
When window size is equal to screen resolution and user selected windowed mode, we can assume that he wants maximized window.
2018-03-14 22:47:31 +01:00
Deve
022dd68a17 Some fixes for gamepad on android 2018-03-06 23:23:15 +01:00
Deve
e00074cb14 Some work on gamepad support on android.
Still it works only for single gamepad, but at least it's preconfigured and google shouldn't complain about stupid button names.
2018-03-06 00:19:01 +01:00
Deve
4157eef894 Get device orientation only if accelerometer is used 2018-03-02 21:38:15 +01:00
Benau
43cf29af86 Merge remote-tracking branch 'origin/network_improvements' 2018-03-02 17:39:16 +08:00
Deve
0ee00ad1e5 Make accelerometer values relative to device orientation 2018-02-28 22:01:30 +01:00
Deve
6b4fb50876 Convert tabs to spaces 2018-02-27 23:24:29 +01:00
Deve
36c6ea52ae Allow to detect device rotation for better accelerometer support 2018-02-27 23:24:29 +01:00
Benau
6536a311b3 Allow logging save only to a file 2018-02-27 13:22:58 +08:00
Deve
bfb862645d Print some debug info 2018-02-14 22:28:55 +01:00
hiker
b3243a3589 Merge branch 'speed-cap-to-physics' 2018-02-09 09:38:34 +11:00
Deve
a18351c052 Some fixes for gamepad buttons 2018-02-08 22:34:53 +01: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
Deve
afbdbaeee8 Remove unused files.
Both Console and FB don't work with opengl driver. And the software driver is not even included in stk sources. So I don't think that it will be ever used.
2017-09-27 23:07:44 +02:00
Deve
de116c7e4c Fixed possible issue with changing resolution 2017-09-27 22:24:40 +02:00
Deve
e2c0f83fb0 Move patform specific code from irr_driver to irrlicht devices 2017-09-27 17:37:56 +02:00
Benau
3cd2f403e0 Force re-skin when getMesh with hardware skinning on
Actually spm has a built in way to use mesh without bothering bind
pose
2017-09-20 01:27:52 +08:00
Deve
71334bac5b Move xrandr to irrlicht cmake file and also fixed indentations 2017-09-18 22:14:43 +02:00
Deve
66cebbdbe7 Add cmake scripts that find egl and wayland libraries 2017-09-18 21:50:34 +02:00
Deve
f6fa44f0df Request srgb colorspace on wayland 2017-09-17 21:51:07 +02:00
Deve
e615ff67d6 Don't use gl functions that are not available in core context.
Fixes some driver warnings.
2017-09-12 23:49:35 +02:00
Deve
dec9948d0b Make sure we don't write out of array.
It shouldn't happen, but code below assumes that visualAttrBuffer has its full size, so just in case...
2017-08-23 00:13:57 +02:00
Deve
b03e108902 Handle a case when request for srgb-capable framebuffer failed.
It fixes #2902.
2017-08-22 23:53:04 +02:00
Benau
a00b878919 Use transposed matrix everywhere 2017-08-17 01:26:08 +08:00
hiker
f3d56b37df Merge branch 'master' into win-64bit 2017-08-16 17:29:57 +10:00
Benau
3031fabcf9 Add spm loader 2017-08-16 13:48:27 +08:00
hiker
5a2b92d79d Merge branch 'master' into improve-xbox-gamepad-support 2017-08-14 10:05:26 +10:00
Deve
71bbafadbd Fixed memory leaks in gles 2017-08-13 22:02:55 +02:00
Deve
ee5bdad926 Move output/seat listener to better place 2017-08-13 01:38:21 +02:00
Deve
fd4ab9d88f Fixed possible uninitialized variable in gles renderer 2017-08-13 01:38:21 +02:00
Deve
cf868df93f Fixed memory leaks in wayland device 2017-08-13 01:38:21 +02:00
hiker
5b68e18df4 Fix cygwin support. 2017-08-11 09:38:58 +10:00
hiker
86d5e11c13 Merge branch 'improve-xbox-gamepad-support' of github.com:supertuxkart/stk-code into improve-xbox-gamepad-support 2017-08-09 20:32:13 +10:00
hiker
e03c0849ce Fixed previous commit - got confused with the #undef :P 2017-08-09 20:30:44 +10:00
hiker
d46b03b317 Hopefully fixed cygwin build problems. 2017-08-09 17:54:29 +10:00
Benau
ea97258b65 Add scripting code for throwing banana monkeys 2017-08-09 12:23:37 +08:00
hiker
6f5b1d2a55 Merge branch 'improve-xbox-gamepad-support' of github.com:supertuxkart/stk-code into improve-xbox-gamepad-support 2017-08-09 10:23:52 +10:00
hiker
11a587dd30 Merge branch 'improve-xbox-gamepad-support' of github.com:supertuxkart/stk-code into improve-xbox-gamepad-support 2017-08-09 10:15:35 +10:00
hiker
c3cd7ceaa2 Merge branch 'master' into improve-xbox-gamepad-support 2017-08-08 23:08:14 +10:00
hiker
b440511c95 Fixed incorrect right thumbstick mapping. 2017-08-08 21:55:28 +10:00
hiker
bd5eb89cc0 Use XInput 9.1 which does not need an installer and works on most
windows platforms. Move the linking to irrlicht cmake.
2017-08-08 21:44:32 +10:00
hiker
e6c2c3df95 Revert to using guidProduct for all existing code, but the correct guidInstance
for detecting XInput devices only.
2017-08-07 09:15:09 +10:00
hiker
891e439264 Remapped XInput to be the same as DirectInput buttons, so that
existing configs works as expected. Hard-coded 6 axis for xbox
controller to allow for triggers to be reported as two different
axis (instead of as one axis). Updated gamepad config to use
proper names for triggers.
2017-08-06 22:56:59 +10:00
hiker
68d41a07ba Now actually use XInput to read the joystick events for all
XInput devices.
2017-08-05 00:34:51 +10:00
hiker
f431730278 Fixed recognition of XInput devices. 2017-08-05 00:12:22 +10:00
hiker
d3da93f368 Try to use a Microsoft function to detect XInput devices when using
DirectInput - atm not working yet :(
2017-08-03 09:24:50 +10:00
Deve
1d2ff0bc47 Remove more unused files 2017-08-02 22:03:01 +02:00
Qwerty Chouskie
14ea69dc90 Cleanup V2 2017-08-02 09:29:15 -07:00
hiker
22208365d2 Switch to direct input for joystick handling. 2017-08-02 08:13:24 +10:00
hiker
1e5d2643be Bugfix: incorrect index. 2017-08-02 08:13:04 +10:00
hiker
cc6a1a3909 Started to add XInput support (to be able to distinguish the two
triggers).
2017-08-01 17:48:18 +10:00
hiker
85ee217d77 Converted tab to spaces. 2017-08-01 17:19:52 +10:00
Deve
09a735c25e Use key names in android device too 2017-07-20 22:58:12 +02:00
Deve
7a92708fd3 Use key names in wayland device 2017-07-20 22:58:12 +02:00
Deve
0dba3c8f67 Add a prefix to irrlicht key codes 2017-07-20 22:58:11 +02:00
Deve
1fd6a8aa86 Make sure that we are not using files from our zlib/libpng when STK is compiled with shared libraries.
It's possible that STK was using these files for compilation when cmake was run from main directory. In this case compiled files are stored in stk-code/lib, so that CMAKE_CURRENT_BINARY_DIR is stk-code/lib/irrlicht rather than stk-code/build/lib/irrlicht and we include whole lib/libpng rather than non-existing directory.
2017-07-10 21:14:28 +02:00
Deve
9b7f3d70dd One more place where we were linking with glu.
It doesn't really matter, but it's better that our linux package doesn't depend on it.
2017-07-05 21:49:31 +02:00
Deve
2bf99aef1d Remove useless gles defines from irrlicht cmake file 2017-07-04 23:32:57 +02:00
Deve
c6ea07eacc Remove unused gles 1.0 code 2017-07-04 23:30:09 +02:00
Deve
09262a606b Add missing copyright.
The EGL context manager has been written from scratch, so our copyright should be fine.
2017-07-04 22:55:08 +02:00
Deve
f672088a04 Tweak closing android device 2017-07-04 22:43:11 +02:00
Deve
23277066a4 Some fixes for egl config.
Added a fallback with basic configuration if requested config failed.
Also better check if choose config is success (num_configs can be >0 even if egl config is null)
2017-06-24 21:39:58 +02:00
Deve
78b9b92efa Fixed gles compilation.
We include CIrrDeviceLinux in our edit box widget and it doesn't respect irrlicht cmake flags, so that it tries to include opengl headers even if we selected gles renderer. Just move it to the cpp file to avoid redeclaration errors.
2017-06-23 23:51:33 +02:00
Deve
72358371f7 Some fixes for video mode list on android.
Should be a bit safer when user wants to close the game very early (i.e. when assets are extracting) and we get destroy event before irr_driver is actually initialized.
2017-06-19 22:59:27 +02:00
Marianne Gagnon
e4f2d0b1d5 Fix OS X build following libpng upgrade 2017-06-05 20:52:46 -04:00
Deve
15ce5b4ebf Fixed windows compilation 2017-06-05 21:54:44 +02:00
Deve
ccf3893abb Apply our modifications to libpng cmake script 2017-06-05 21:16:22 +02:00
Deve
9ebdb5fd00 Update libpng to newer version in order to fix some vulnerabilities.
I decided to just make a bug-fix update and keep the 1.5.x series because newer versions may also need the zlib update.
2017-06-05 21:10:38 +02:00
Deve
37a2752162 Use newer seat version if possible 2017-05-31 23:47:19 +02:00
Deve
212411fb49 Allow to repeat keys 2017-05-31 22:31:46 +02:00
Deve
d6e5e04666 One more tweak 2017-05-31 22:29:28 +02:00
Deve
c13f812290 Simplify previous commit and also fix the double egl context deletion 2017-05-30 21:39:30 +02:00
Deve
26a6c49fc1 Add missing break 2017-05-30 00:34:39 +02:00
Deve
e00995d099 Allow to use GLES renderer with Wayland device.
It would be nice to simplify it a bit, i.e. decide if OpenGL context should be created on device side or driver side, use single constructor in GLES driver etc... But I'm not really sure how it will look like after Benau's space partitioning work, so some refactoring postponed till later.
2017-05-30 00:30:00 +02:00
Deve
c8137fc0fa Add a possibility to set a window class in irr device.
This makes one ugly #ifdef less in the irr_driver.cpp.
2017-05-25 21:26:31 +02:00
Deve
b5f2e4d163 Allow to set window caption 2017-05-25 20:49:10 +02:00
Deve
0c18090669 Minor simplifications for keyboard on wayland 2017-05-25 17:27:08 +02:00
Deve
8989cc97b5 Some fixes for keyboard on wayland 2017-05-24 01:17:25 +02:00
Deve
bc25bc4435 Keep consistency with other irrlicht defines 2017-05-18 20:48:42 +02:00
Deve
abde57cd4a Add mouse wheel event 2017-05-17 22:44:22 +02:00
Deve
36368041ee Mostly cleanup and style modifications 2017-05-17 22:43:56 +02:00
Deve
f99bc25845 Avoid semi-transparent window 2017-05-15 21:17:03 +02:00
Deve
961ac4d79e Better fix for glew 2017-05-14 00:06:54 +02:00
Deve
1966d3f072 Use x11 functions in irr_driver only if x11 device was created 2017-05-14 00:05:36 +02:00
Deve
da802d836d Some fixes for mouse cursor. 2017-05-12 22:58:33 +02:00
Deve
ba39e88680 Update cursor when visibility is changed 2017-05-12 21:47:51 +02:00
Deve
23c428160f Some fixes 2017-05-12 00:57:01 +02:00
Deve
70dc99ca6c Fixed some non-working keys.
We can't include linux/input.h because it breaks irrlicht keys.
2017-05-06 23:25:00 +02:00
Deve
632a759ee6 Allow to choose device type using environmental variable 2017-05-06 22:38:05 +02:00
Deve
e02a8f4448 Allow to make single build with both x11 and wayland device 2017-05-06 21:53:32 +02:00
Deve
2f1b61b798 Remember mouse button states 2017-05-05 23:04:18 +02:00
Deve
a9c2a1922a Some work on support clipboard 2017-05-04 22:36:12 +02:00
Deve
e27df23415 Draw mouse cursor 2017-05-04 21:06:40 +02:00
Deve
da65650b75 Allow to write unicode characters.
Needs some cleanup.
2017-05-03 20:45:42 +02:00
Deve
fc79ee50d0 Add the ping/pong events to avoid non-responding window and few other minor fixes 2017-04-28 23:04:34 +02:00
Deve
01ffc129fb Make it working for current wayland/weston 2017-04-24 22:26:47 +02:00
Deve
f31e4f8ea4 Add missing files 2017-04-23 21:22:15 +02:00
Deve
5d9b1e103d Rename file 2017-04-22 21:55:24 +02:00
Deve
63517dd4be Better EGL context creation 2017-04-22 21:51:49 +02:00
Deve
035c33f960 Merge branch 'master' into wayland 2017-04-22 21:11:10 +02:00
deve
f4e803220b Some minor fixes 2017-04-21 08:51:54 +02:00
Deve
9fc3578b51 Rewrite whole EGL manager.
Now it allows to create OpenGL context, so we can use it for Wayland.
2017-04-20 23:20:21 +02:00
hiker
8a1d0bae34 Fixed some 64-bit related compiler warnings on VS. 2017-04-07 00:41:08 +10:00
Deve
240041f520 Fixed android compilation 2017-04-05 21:49:52 +02:00
Deve
1d39030f51 Assume that EGL version is always greater than 1.3 because otherwise we won't be able to create GLES 2.0/3.0 context. 2017-04-05 21:49:42 +02:00
Deve
635ea89cd0 Some corrections with egl attribs 2017-04-05 21:49:33 +02:00
Deve
3961a9a3b7 Move EGL context to separate class.
It will allow to use it for OpenGL + Wayland.
2017-04-05 21:49:24 +02:00
Benau
b7c709c709 Allow muxing mjpeg with vorbis audio with mkv
Not sure if playable in with all players
2017-04-04 16:12:09 +08:00
Benau
9039324145 Allow muxing into webm using libwebm 2017-03-30 13:30:21 +08:00
Benau
2660a5b332 Allow message queue to be able to do linebreak
Also set "/" and "\" to be breakable
2017-03-23 00:51:50 +08:00
Benau
aecb1a97ce Update license of img.h as Stragus said in IRC
Also remove unneeded file
2017-03-23 00:12:06 +08:00
Benau
09e2f96ba8 Remove libpng's png_set_gamma
Stragus suggested:

It will degrade quality by converting from true sRGB to ^2.2 and
then rounding the values back on 8 bits
2017-03-17 13:19:56 +08:00
Benau
41844de6a5 Apply real fix from Stragus for normal map 2017-03-17 13:08:08 +08:00
Benau
e1a563612f Avoid calling gamma correction on non-srgb png 2017-03-17 10:15:06 +08:00
Benau
1a0034bb9e Apply fix from stragus 2017-03-15 13:35:09 +08:00
Benau
bfd8198f72 Update from stragus 2017-03-15 00:25:20 +08:00
hiker
47835bc1ef Fixed VS compiler warnings. 2017-03-14 22:39:27 +11:00
Benau
eedc7f55c9 Make addThreadedLoadTexture thread safe 2017-03-14 11:35:26 +08:00
Benau
677723fe5d Fix msvc build 2017-03-13 12:34:08 +08:00
Benau
ab10702d12 Try to fix build 2017-03-13 12:12:51 +08:00
Benau
a1492981cf Apply fixes from Stragus for restrict keyword 2017-03-13 11:50:57 +08:00
Benau
76aa38e5b4 Try HQMipmapGenerator 2017-03-13 10:28:43 +08:00
Benau
27fcc4e266 Allow custom memory management in IImage 2017-03-12 09:09:40 +08:00
Benau
40a25e1d9e Remove dependency on STKTexture (for HQ mipmap generator later) 2017-03-11 15:33:36 +08:00
Benau
ab673fc03b Merge remote-tracking branch 'origin/master' into threaded_tex_loader 2017-03-11 13:55:18 +08:00
Benau
6e80271ad9 Max texture size 2k and allow them to be threaded load 2017-03-11 09:41:46 +08:00
Deve
adfa8f30f9 Better fix for missing transparency in GLES legacy pipeline 2017-03-08 23:17:03 +01:00
Benau
d864995c7d First version of ThreadedTexLoader 2017-03-08 15:54:59 +08:00
Deve
fcae7dfc33 Fixed compiler warnings 2017-03-06 17:22:44 +01:00
Deve
11024569b0 More tweaks to GLES legacy pipeline 2017-03-02 22:19:10 +01:00
Deve
067518df5d Fixed rtts in GLES legacy pipeline 2017-03-01 23:20:21 +01:00
Deve
282bb6c655 Always use fixed blending for GLES legacy pipeline 2017-03-01 21:44:11 +01:00
Deve
40fe3585bb One more fix for legacy pipeline in GLES renderer.
It looks that the second texture is not used at all and it may cause a crash, so just disable it.
2017-02-27 00:58:43 +01:00
Deve
6d395d4510 Some fixes for GLES renderer 2017-02-27 00:58:43 +01:00
Deve
803eba5d5c Fixed typo 2017-01-27 22:44:22 +01:00
Deve
5931ba288a Don't crash if irrlicht shaders are not available for GLES.
They are needed only for legacy pipeline.
2017-01-12 21:43:11 +01:00
Benau
2127e44cc2 Remove clang compling warning 2017-01-12 09:54:20 +08:00
Benau
40fe84ddbd Fix addon stk mercuy crash
Please avoid using 2nd uv layer on animated mesh
2017-01-11 14:29:37 +08:00
Benau
8acd2d689a Merge branch 'new_texture_format' 2017-01-10 09:09:38 +08:00
Benau
08876e30ab Remove unused builtin font 2017-01-09 15:50:26 +08:00
Benau
c4b4ea006e We don't need to add a new glyph page for billboard text anymore 2017-01-09 13:16:40 +08:00
Benau
46be4948b2 AZDO for new texture format 2017-01-09 13:03:50 +08:00
Daniel Ölschlegel
be2e86166f Update CIrrDeviceLinux.cpp (#2731)
Fix compile error under NetBSD
2017-01-08 20:44:04 -05:00
Daniel Ölschlegel
64015348da Update as_memory.cpp (#2730)
Merged required patch from OpenBSD and NetBSD
2017-01-07 18:55:10 -05:00
Daniel Ölschlegel
6e38e7429b Update as_config.h (#2729)
NetBSD is a BSD
2017-01-07 18:52:39 -05:00
Benau
2af126357d Port font to use new texture format 2017-01-06 18:20:19 +08:00
Benau
827a483e85 Allow legacy pipeline to use new texture format 2017-01-06 15:04:15 +08:00
Benau
0129c539b9 Fix #2543
Also disable warning when switching cases for context detection
2017-01-03 13:53:44 +08:00
Benau
2dbf4675a5 First version of new texture format
Todo: IBL, texture compression, GLES, premul alpha ....
2017-01-02 16:14:59 +08:00
Benau
67b6c3bf05 Allow to reload textures on the fly
Enter texture filename(s) (full path is optional) separating by
";" in the artist debug mode "Reload texture" dialog

Notice: premultiplied alpha texture reloading is not supported,
because it was done on STK side.
2016-12-29 14:56:18 +08:00
Benau
ffe4dd88b4 Apply mask directly on texture
Avoiding the ref counting issues
2016-12-28 15:32:27 +08:00
Benau
6a142e8d2e Allow animated models in track to have different animation 2016-12-24 13:11:08 +08:00
Deve
6486d1548b Fixed clang compilation 2016-12-24 02:07:53 +01:00
Tobias Markus
6fb93fa208 Fix compilation on macOS 10.12 (#2701) 2016-12-22 19:17:31 -05:00
Benau
85bd8c3146 Add unlit and normal map skinned mesh shader
Also fix normal map with skinned mesh, now vertices and joints
will be recalculated for tangents mesh
2016-12-14 16:28:37 +08:00
Benau
c8e5238ce2 Merge remote-tracking branch 'origin/master' into hardware_skinning 2016-12-12 13:45:04 +08:00
Daniel Ölschlegel
62e1a2ddcc Add a little more BSD detection (#2685)
Tested for NetBSD, the same signature has DragonFly(http://fxr.watson.org/fxr/source/sys/endian.h?v=DFBSD#L42)
2016-12-11 19:16:47 -05:00
Benau
e9b68a8a1f Use a non-hardcoded values for mat4 array (max 1024)
Also cull mesh that doesn't have enough space to be rendered
2016-12-11 15:50:53 +08:00
Benau
f6490b6fa6 Allow array to capture lambada
Also use a correct sorting function, will be useful later if
we only need the more influetial bones.
2016-12-11 13:21:17 +08:00
Benau
ceef7495d2 Enable culling for animated mesh
Use the first frame bounding box for it, don't update each frame
2016-12-11 11:01:02 +08:00
Benau
fcd1e2830e Use callback function to directly upload joints without copying 2016-12-10 16:16:40 +08:00
Benau
8ca0c54bdc Merge remote-tracking branch 'origin/master' into hardware_skinning 2016-12-10 10:09:30 +08:00
Benau
b7e047b4c1 Avoid using else if in skinning vertex shader 2016-12-09 14:16:30 +08:00
Benau
21d9117b2d Fix matrix4 pointer in windows
Also allow minimum azdo rendering and avoid skinning empty joints
2016-12-08 16:12:54 +08:00
hiker
dbfaf2105b Merge remote-tracking branch 'origin/master' into nw 2016-12-08 13:36:36 +11:00
Benau
d21e5e0f76 Make skinning offset changeable by culling 2016-12-07 16:08:57 +08:00
Benau
ac8d7aa8c7 Try to fix the build 2016-12-07 08:18:19 +08:00
Benau
a3905a1e19 Allow tangent mesh to be converted 2016-12-07 08:07:01 +08:00
Deve
66f57ada61 Fixed a crash when GLES device is re-created 2016-12-07 00:08:16 +01:00
Deve
5fad8a135e Destroy egl context on exit 2016-12-06 23:32:04 +01:00
Benau
57d9e83ed4 First version of hardware skinning
Todo: shadow, non-instanced shaders, culling, changeable offset...
2016-12-07 02:15:11 +08:00
hiker
1939075a1b Merge remote-tracking branch 'origin/master' into nw 2016-12-06 18:45:17 +11:00
hiker
746bac00ce Merge remote-tracking branch 'origin/new-pi' into nw 2016-12-06 09:26:07 +11:00
Deve
23883b83c1 Fixed a crash on startup.
As written in the documentation: "The returned modifiers string is owned by Xlib and should not be modified or freed by the client."
2016-12-04 23:23:09 +01:00
deve
716c19325f Update common irrlicht files with modifications from Android branch.
- Added a function in GLES driver, which allows to re-create EGL surface when it's lost after resume event
- Some additional events/keycodes
- Fixed compilation with missing sys/sysctl.h header
2016-11-28 01:56:52 +01:00
Benau
fe371a28b5 Add non-const function for STK usage 2016-11-25 12:37:40 +08:00
deve
7f251fdf79 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2016-11-22 09:16:59 +01:00
deve
467760f248 Remove illogical #ifdef 2016-11-22 08:29:18 +01:00
Benau
c1e931f5ba Merge branch 'legacy_opengl' 2016-11-22 09:23:17 +08:00
deve
e9f3fd4806 Fixed compilation with missing vidmode headers after some modifications in our CGUIEditBox. 2016-11-21 08:37:20 +01:00
Benau
de95db5c93 Avoid creating new glyph page too many times 2016-11-20 10:08:59 +08:00
Benau
9734c2e890 Fix crash in billboard text when using legacy opengl
Notice: freetype glyph metrics are not supported
2016-11-19 15:59:58 +08:00
Benau
a52c4699a1 Add back normal map renderer for legacy opengl
Fixed transparent issue
2016-11-19 14:21:56 +08:00
hiker
ae36208e29 Merge remote-tracking branch 'origin/master' into new-pi 2016-11-15 12:38:21 +11:00
Benau
e6e302af1c Fix copy and paste of unicode characters 2016-11-13 15:43:00 +08:00
Benau
5879933a23 Merge remote-tracking branch 'origin/master' into fix_2112 2016-11-13 10:42:47 +08:00
hiker
61a3d10e10 More Compile SERVER_ONLY, still not fully working. 2016-11-12 00:09:39 +11:00
Deve
452c7c1e40 Fixed compiler warning 2016-11-11 13:44:51 +01:00
hiker
8d9bb9c30f Cherry picked commits from old pi branch (which was based on dumb client). 2016-11-11 17:21:59 +11:00
deve
4bb0405a32 Added support for multitouch steering.
It will be used for steering on Android.

There are some limitations:
- currently it works only in single player mode (but I don't see any reason to make it working for multiplayer)
- speedometer is not available in race GUI because there is no place for it

TODO:
- add DPI support (race GUI should have probably different proportions on smaller devices for comfortable playing)
- make nice button images
- make nitro button that changes its look depending on collected nitro (a kind of nitro bar)

Touch input events must be handled in android device to make use of it. It can be simulated for debugging on non-android devices using standard mouse.
2016-11-10 02:42:56 +01:00
Benau
8a0d911d10 Allow using input method (for CJK) in linux 2016-11-09 12:28:23 +08:00
Benau
956aa83a0a Remove unused function 2016-10-27 10:15:41 +08:00
Benau
76f32b4a41 Fix an unfree Atom 2016-10-12 09:52:34 +08:00
Deve
5c4b61a26e Fixed numpad keys on linux.
We need to check numlock mask, because it may be different on different systems, and possibly also modified manually.

It should generally work fine, but some testing are welcome.
2016-10-06 20:31:10 +02:00
Deve
5e05f1178c Fixed compiler error on Linux with non-x86 64bit platforms, e.g. arm64, mips, and s390x architectures
This modification is already applied in upstream angelscript repository:
https://sourceforge.net/p/angelscript/code/2353/

Thanks to Adrian Bunk and Andreas Jonsson
2016-10-03 23:26:09 +02:00