Commit Graph

459 Commits

Author SHA1 Message Date
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
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
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
7f4d815dde Request GLES 3.0 context and fallback to 2.0 if not available. 2016-08-22 20:05:36 +02:00
Deve
26d2bf847c Allow to use non-hd textures in OpenGL ES renderer 2016-08-13 00:01:08 +02:00
Deve
b23f39f1cd Fixed non-hd textures in legacy pipeline 2016-08-12 23:51:29 +02:00
Deve
08202f2fa8 Remove USE_XRANDR flag from cmake.
Our vidmode code is old, has some bugs (eg. resolution is not restored properly in some cases), doesn't have multi monitor support and IMO shouldn't be used in current state.

If someone really wants to use it, the flags can be set directly in IrrCompileConfig.h.
2016-08-12 23:39:12 +02:00
Deve
1481da9718 Fixed button icons with non-hd textures and low MAX_TEXTURE_SIZE parameter 2016-08-12 20:51:19 +02:00
Benau
89976def57 Remove not-used-anymore setReferenceCount 2016-07-19 13:58:38 +08:00
Deve
5601309ae8 Fixed windows compilation 2016-07-12 00:04:37 +02:00
Deve
886382bb54 Merge remote-tracking branch 'origin/master' into gles 2016-07-11 23:43:10 +02:00
Deve
b25a4e874f Remove android related code. It will be handled in different branch. 2016-07-11 22:54:59 +02:00
Deve
f2d21d2353 Remove GLESv1 renderer because it's not used 2016-07-09 02:59:40 +02:00
Deve
17a0e4fbd8 Fixed an issue with grass shader.
It looks that EMT_TRANSPARENT_ALPHA_CHANNEL_REF wasn't handled at all in irrlicht OpenGL renderer.
2016-07-09 02:50:40 +02:00
Deve
66e76be76d Don't use hardcoded path for irrlicht shaders 2016-07-06 06:37:22 +02:00
deve
93dde11562 Use proper depth texture 2016-07-05 11:48:43 +02:00
Benau
b6153b6002 Thanks devee for this fix 2016-07-05 17:47:55 +08:00
Benau
04ccadd745 Fix non-linux build 2016-07-05 16:24:59 +08:00
Deve
4132177132 Fully integrate gles renderer with our irrlicht version. 2016-07-05 00:25:03 +02:00
Ezequiel Garcia
02361a37e8 Minor fixes for issues found while cross-building v2 (#2556)
* irrlicht: Fix harmless typo when setting CMAKE_CXX_FLAGS

The CMAKE_CXX_FLAGS set should be based on previously set
CMAKE_CXX_FLAGS (instead of C flags). This is currently
harmless because CMAKE_CXX_FLAGS is not previously set.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

* irrlicht: Get rid of unprefixed cflags

Cross-building requires proper include paths. This commit
removes the unprefixed -I/usr/X11R6/include in irrlicht cflags,
replacing it with a proper CMake module.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

* irrlicht: Fix boolean return type for jpeglib's callback

Building on certain toolchains can fail due to returning an integer
instead of TRUE. In any case, only {TRUE,FALSE} should be used
as 'boolean' jpeglib type. Fix this by returning TRUE.

  CImageLoaderJPG.cpp: In static member function 'static boolean
  irr::video::CImageLoaderJPG::fill_input_buffer(j_decompress_ptr)':
  CImageLoaderJPG.cpp:69:9: error: invalid conversion from 'int' to 'boolean'
  [-fpermissive]

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
2016-07-03 21:07:53 -04:00
Deve
961428f04c Increase _IRR_MATERIAL_MAX_TEXTURES_ to 8 2016-06-29 22:18:24 +02:00
Benau
22e5c0909c Allow setting color without copying the mesh 2016-06-28 14:55:48 +08:00
Benau
2f217fd55b Allow render red or blue karts in soccer mode using shader 2016-06-25 16:29:54 +08:00
Deve
d13716a917 Initial linux version.
Currently works only with irrlicht-based renderer because shaders are not ported yet.
2016-06-24 02:47:13 +02:00
Benau
d520c4477d Design a way to render kart and driver differently 2016-06-12 16:19:34 +08:00
Benau
224bd277b3 Better function name 2016-04-03 13:59:10 +08:00
Benau
79db5e2365 Fix comment 2016-04-02 16:02:51 +08:00
Benau
5ac25db7f8 Initial work to support transparent kart in ghost replay 2016-04-02 12:55:20 +08:00
Marianne Gagnon
33defa44b7 Merge most modifications by egirsova to build 64-bits on OS X 2016-03-21 20:16:59 -04:00
Lucas Baudin
b8ef827510 [irrlicht/android] don't poll events or it creates a race lock when polling accelerometer events elsewhere 2016-02-27 00:23:08 +01:00
Lucas Baudin
e9657beaa6 [android] detect size 2016-02-26 18:01:51 +01:00
Lucas Baudin
f484e7ef6b [android] More debug print for the android irrlicht device 2016-02-25 23:13:33 +01:00
Lucas Baudin
f91426d748 [android] Use CIrrDeviceAndroid before the console device… 2016-02-25 20:38:50 +01:00
Lucas Baudin
e39efc128c [android] backport the Irrlicht.cpp createDevice changes, fix the compile error, and use OGLES2 on android 2016-02-25 20:15:24 +01:00
Lucas Baudin
f89a4b1a75 Merge back the IEvent changes 2016-02-25 15:55:52 +01:00
Lucas Baudin
02808cdfd0 GLES2 for android devices by default 2016-02-25 12:06:54 +01:00
Lucas Baudin
d4d3817d63 Disable sound and curl, add freetype 2016-02-24 22:24:33 +01:00
Lucas Baudin
48069a7bcc More backport from the ogl-es irrlicht branch 2016-02-24 20:34:46 +01:00
Lucas Baudin
a470cd74d6 add android port from irrlicht (based on commit 875d0cfac88c26994b82d68737b085ec1b84c5f8) 2016-02-24 12:34:08 +01:00
Deve
bd9f435190 Fixed 64-bit windows compilation.
Broken in 53164e5cbe or somewhere around it.
2016-01-03 00:10:30 +01:00
David Carlier
2841c0e165 better alternative OSes handling + tiny C++ fix 2015-12-19 07:05:45 +00:00
deve
0dbc3575a7 Fixed mingw compilation 2015-12-14 10:11:40 +01:00
Benau
9d1c9fac5a Merge remote-tracking branch 'origin/master' into i18n 2015-12-14 03:00:07 +08:00
Deve
6d757326d2 Make sure that we start game with disabled GL_FRAMEBUFFER_SRGB 2015-12-11 19:18:14 +01:00
Deve
b91bcaf554 Disabl sRGB framebuffer on irrlicht side to avoid modifying current user interface colors 2015-12-11 19:18:14 +01:00
Deve
0216fd9697 Request sRGB-capable visual during creating OpenGL context.
We need it for proper working. When it's not available, then function glEnable(GL_FRAMEBUFFER_SRGB) doesn't take any effect, and then displayed image is too dark.

It doesn't solve the issue that the screen is too dark for intel graphics cards on linux, because the driver ignores this request. But still, this is the proper way to do it and it may avoid similar issues in future.

Actually we should detect that the visual is not srgb-capable, and in this case maybe make some gamma correction or filter it on our side to get similar effect.
2015-12-11 19:18:14 +01:00
Benau
93b1b11b99 Merge remote-tracking branch 'origin/master' into i18n 2015-12-11 09:27:15 +08:00
Nado
d66a70b250 Fixing some -Wunused-variable 2015-11-17 11:42:28 +01:00
Nado
97de0cbc34 Fixing clang only warnings 2015-11-17 11:42:28 +01:00
Deve
8572c5ef3b Open window in fullscreen mode when it was set by user 2015-10-29 00:16:00 +01:00
Deve
e61d3bc0ac Fixed a crash on startup 2015-10-28 23:40:57 +01:00
Deve
c81243fc1a Merge branch 'master' into wayland 2015-10-28 22:43:02 +01:00
Benau
2096532d0e Make stk more-i18n friendly
Now supertuxkart can do:

Windows (fully test in win8 and win7 built with vs2015, mingw not tested):
Input characters using ime (CJK tested).
Fix crashes when try to paste unicode text into editbox in stk.

Linux:
Different keymap can be used in stk now, ie typing russian,hebrew (not bidi-aware) is now possible.
IME not supported.

Mac:
No work has been done, sorry mac fanboys/girls:( Though testing is welcome, esp when pasting words into stk.

Limitation:
No ime box is shown in fullscreen

(Windows)Only the used language in current setting of non-Unicode programs can be typed with its supported IME.
2015-10-27 02:34:46 +08:00
Deve
e7e7e9e7d3 Make sure that we compile irrlicht only as static library.
Compiling as shared library can cause errors during linking because of GLContextDebugBit variable, which is defined in STK sources.
2015-10-17 16:02:35 +02:00
Deve
e15cd49cae Make changing to fullscreen on linux safer.
Now we are waiting until window state is already changed to fullscreen. We are getting real window size at the end of creating window function and previously it was sometimes reporting size of the window in windowed mode, which could causing issues in gui. Previously this was workarounded by forcing minimal window size to be at least in screen resolution, but window managers don't like to have non-resizeable fullscreen windows. Now this workaround is not needed anymore.
2015-10-03 16:43:22 +02:00
Deve
35fa7fd272 Fixed a strange bug during changing window to fullscreen under Gnome 2015-09-26 20:32:55 +02:00
auriamg
b64de23b06 Merge pull request #2307 from Benau/master
Fix typo and and add quotation
2015-09-03 18:49:48 -04:00
Ben
c488e843b8 Fix typo and and add quotation
The quotation added is for Chinese Simplified which I discovered usage in translation work.
2015-09-03 16:30:22 +08:00
Marianne Gagnon
e2da2a36a1 Fix line endings 2015-09-01 19:39:30 -04:00
Benau
0a7a0d7c98 Fix the ugly hack for displaying Chinese in #2110, and then fix #2297 2015-08-30 02:35:17 +08:00
Deve
78cd8efdd4 Reset screensaver counter on linux when joystick event was received 2015-08-09 18:54:59 +02:00
deve
5458792b79 Disable deprecated and unused irrlicht function to avoid compiler warnings 2015-08-06 13:54:40 +02:00
Marianne Gagnon
3687eb79d6 Apply modified version of patch from Benau to fix chinese word wrapping. See #2110 2015-07-29 18:51:03 -04:00
Flakebi
d2ca7d11d7 Remove unused/commented out code 2015-07-03 15:36:45 +02:00
Flakebi
fbf26df23d Merge branch 'master' into fixes
Conflicts:
	src/graphics/2dutils.cpp
	src/graphics/graphics_restrictions.cpp
	src/graphics/render_skybox.cpp
	src/graphics/rtts.hpp
2015-07-03 15:29:53 +02:00
hiker
a560aafa50 Merge branch 'fix_non_hd_option' 2015-03-27 09:33:07 +11:00
hiker
27dec2fbf8 Added attribute to irrlicht's driver to enable automatic resize
of images that are too big. This is then used to automatically
resize any textures (except fonts, background screen) to be
automatically resized to 512x512 if they are bigger.
2015-03-26 11:28:22 +11:00
deve
df656fbf64 Allow to compile project using cygwin.
Note that you need to have all dependencies in cygwin directory (can be easily installed).
Atm. wiimote and joystick events are disabled.
2015-03-25 09:16:15 +01:00
hiker
443d570196 Make legacy somewhat working on linux (just in case). 2015-03-12 11:47:38 +11:00
hiker
98671b620d Added some support to enable a legacy (2.1) opengl context. Many
things don't work with that atm (rtt, some transparent textures).
Needs to be manually set in the user's config file.
2015-03-11 16:45:20 +11:00
Flakebi
e5abf4cec3 Merge branch 'origin/master' into fixes 2015-03-08 01:16:51 +01:00
Deve
0722df79da Fixed getScale() result when matrix contains very low negative values.
See #1548.
2015-03-05 20:00:02 +01:00
Marianne Gagnon
0652780040 [OSX] brutally exit supertuxkart when pressing the window's close button. Fixes #1220. 2015-02-17 19:13:13 -05:00
hiker
93fa075471 Hopefully proper fix for #1938 (crash on osx when exiting race). 2015-02-17 00:14:26 +11:00
hiker
1a94788d2d Tried VERY crude work-around for #1938 (crash when exiting a race on osx). 2015-02-15 21:32:06 +11:00
Flakebi
f386f05749 Silence even more warnings 2015-02-05 20:13:33 +01:00
Flakebi
366f8a26bb Fix more clang warnings 2015-02-05 02:44:06 +01:00
Dmitry Marakasov
94bf5949f5 Include unistd.h for usleep()
Fixes build on FreeBSD
2015-02-02 00:08:30 +03:00
Vincent Lejeune
cbf9e03b41 honour vsync param 2015-02-01 19:43:43 +01:00
Vincent Lejeune
d2ececacf4 Delay sync 2015-02-01 19:23:05 +01:00
Vincent Lejeune
da449e02d0 Improve keypad support 2015-02-01 19:18:47 +01:00
Vincent Lejeune
73a8220203 Improve mouse support 2015-02-01 19:13:37 +01:00
Vincent Lejeune
874d63f5bc WIP wayland 2015-02-01 18:53:12 +01:00
Deve
4f5b84a134 Replace spaces by tabs to keep consistency with other irrlicht files. 2015-01-22 18:59:55 +01:00
Deve
5117ab0a0e Fixed issues with clipboard on linux.
Previous version didn't work for me at all when I tried to copy text from external application.
It also fixes problem with crashing GTK3 applications.
2015-01-22 18:52:26 +01:00
hiker
f724369a8e Merge branch 'freebsd-fixes' of https://github.com/leper/stk-code into leper-freebsd-fixes 2015-01-20 14:56:25 +11:00
deve
a0fc3c98e8 Fixed cmake warnings 2015-01-19 09:19:33 +01:00
Vincent Lejeune
573ad4bb1c Fix make install on linux 2015-01-19 02:22:40 +01:00
Vincent Lejeune
0577099551 Move zlib/libpng/jpeglib outside of irrlicht tree and use system lib on linux 2015-01-18 02:02:10 +01:00
Vincent Lejeune
a5230f68da Remove wad support 2015-01-16 19:07:21 +01:00
Vincent Lejeune
184b52966e Remove npk and pak support 2015-01-16 19:02:03 +01:00
Vincent Lejeune
b3195e378d Remove support for lzma and aes encryption 2015-01-16 18:45:52 +01:00
Vincent Lejeune
b4f78070fa Remove extra defines 2015-01-16 18:34:40 +01:00
Vincent Lejeune
a831b4c9db Remove bzip2 files
Not used anyway
2015-01-16 18:31:51 +01:00
Vincent Lejeune
cadc4b3209 Remove 2 deprecated interfaces 2015-01-16 01:59:41 +01:00
Vincent Lejeune
1fb99990b4 Remove light volume related code 2015-01-16 01:57:35 +01:00
Vincent Lejeune
c1d85e8674 Remove shadow volume code
We use shadowmap
2015-01-16 01:51:56 +01:00