Benau
c7d56d3edc
Allow caching compressed texture
...
Use std::hash for string (path + basename + max_texture_size)
2017-01-05 12:50:33 +08:00
Deve
fb0a54278a
Fixed possible crash.
...
STK could crash when invalid graphics restriction name was set in graphics_restrictions.xml file.
It's because of wrong while (m_names_of_restrictions[i] != NULL) condition.
2017-01-05 00:28:16 +01:00
Deve
23acade026
Make sure that legacy pipeline is used when it's set in graphics restrictions.
...
It was be done only for GLES before, but also for OpenGL some drivers create OpenGL 4.x compatibility profile context even if we request GL 2.1. So we can't assume that it will report GL2.1 and we should make sure that fixed pipeline will be used.
Actually now it works in the same way as force_legacy_device in config.xml.
2017-01-04 23:39:15 +01:00
Benau
99857ca193
Fix GLES
2017-01-04 15:05:04 +08:00
Benau
497f1e2785
Clean up billboard texture code
...
Todo: compress them in STKTexture class
2017-01-04 14:35:49 +08:00
Benau
c98e4f2bac
Simplify particle texture loading
2017-01-04 13:43:14 +08:00
Benau
63f57d6a9c
Fix wrong texture if absolute path is not given
2017-01-04 11:41:11 +08:00
hiker
2be59e7728
Avoid infinite loop when showing the in-race menu and a rollback happens.
2017-01-04 09:51:36 +11:00
hiker
6941317979
Increase server delay to reduce number of rewinds on server.
2017-01-04 09:50:43 +11:00
hiker
b3f6307107
Fixed crash when exiting a race early.
2017-01-04 09:23:57 +11:00
hiker
cd4a19e801
Reset snapshot frquency; fixed bug in rewind (which would stop with
...
the last event, and not rewind all the way back to the current time).
2017-01-04 09:17:54 +11:00
hiker
2df97ebc39
Disable skipping of ready-set-go in artist debug mode when networking
...
(can desynchronise client and server).
2017-01-04 08:18:41 +11:00
hiker
e5c5870564
Removed debug output.
2017-01-04 08:11:17 +11:00
Benau
05a29fe7da
Let material code handle premultiplied alpha and srgb
2017-01-03 16:35:37 +08:00
Benau
d57841bcb8
Fix crash if skybox / SH shares textures from track
2017-01-03 12:35:05 +08:00
Benau
57e16dcb73
Avoid unneeded copying in sky box and SH
2017-01-03 11:08:33 +08:00
Benau
19ac8a0d3c
Allow sky box and SH to use new texture format
2017-01-03 10:18:11 +08:00
auria.mg
ac8a5c552f
Make dialogs non-draggable. Fixes #2717
2017-01-02 19:02:05 -05:00
Deve
9c7a438826
Remove simulating mouse events from event handler.
...
It will be handled in irrlicht device.
2017-01-02 21:49:41 +01:00
Deve
bcea2355fa
Allow to scroll list box by touch gesture.
...
It can be restricted to Android-only, but tbh. I don't see any reason that it can't work in the same way on desktop computers (may be usable on laptops with touch screen, all-in-one computers etc...).
I also made a minor fix with if(!event.MouseInput.isLeftPressed()) because the EGET_ELEMENT_FOCUS_LOST event seems to not work at all.
2017-01-02 21:47:23 +01:00
Benau
6db2212690
Try to fix server build
2017-01-03 00:03:26 +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
Deve
cec7c51bc0
Request closing the app on android in better place, so that it handles both - quit button and escape pressed.
2016-12-31 02:51:08 +01:00
Benau
dbe148baf6
Max 10 players supported in arena
...
See #2705
2016-12-31 09:27:39 +08:00
Benau
f8c09ccf83
Handle score times too
2016-12-31 09:03:42 +08:00
Benau
0d35ea74d1
Fix #2713
2016-12-31 08:59:24 +08:00
auria.mg
fcdb0b5614
Improve material code, fixes #2709
2016-12-30 16:04:56 -05:00
Benau
360e1bb88b
Case insensitive in linux for reloading texture
2016-12-30 20:24:35 +08:00
Deve
412399cdf7
Fixed a crash in GLES 2.0.
...
The glGetStringi is available only in GLES >= 3.0. We can't easily check if this function exists or not because it requires EGL >= 1.5 (and still we can't be sure that all drivers handle it properly).
Though glGetString(GL_EXTENSIONS) is allowed on both GLES2.0 and GLES3.0, so we can just fallback to this method.
2016-12-30 11:09:06 +01:00
Benau
cb5f24e551
Reset time target if leaving the soccer screen with escape
2016-12-30 15:02:07 +08:00
Benau
5b96b4aa3f
Allow windows user to enter path more easily
2016-12-30 15:00:26 +08:00
Benau
caf9dbab0c
Fix crash when loading particle texture inside track folder
2016-12-30 13:28:13 +08:00
Benau
1e2a759f7b
Restart STK if advanced pipeline option changed
2016-12-30 11:01:29 +08:00
auria.mg
7a6e6cb6a4
Attempt to imporove AMD driver version detection
2016-12-29 21:43:19 -05:00
hiker
069e916dc0
Added state updates, not fully working yet.
2016-12-30 13:35:48 +11:00
Benau
bbaff0467e
Fix normal map when advanced pipeline off
2016-12-30 00:58:48 +08:00
Deve
278ef781bf
GLES: Make sure that we are using fixed pipeline when force legacy device is set in graphics restrictions.
...
It is generally safe for GLES drivers. The driver often reports OpenGL ES 3.1 or 3.0 support even though we request only GLES 2.0. But we can still use GLES 2.0 / GLSL 1.0 functions on GLES 3.x context, so it shouldn't cause any issues.
I also added Android Emulator to graphics restrictions.
2016-12-29 16:01:46 +01:00
Benau
bc2fb1da76
Fix server build
2016-12-29 15:46:00 +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
b9b8ab3e5f
Don't load normal map too if not advanced pipeline
2016-12-29 09:46:26 +08:00
auria.mg
875bfad197
Merge remote-tracking branch 'temeliak/fix_non_hd_option'
2016-12-28 20:39:20 -05:00
auria.mg
f0afba84c8
More cleanup
2016-12-28 20:17:32 -05:00
auria.mg
33802d9f81
Materials optimisation : minor tweaks and cleanup
2016-12-28 20:13:55 -05:00
Benau
1597c2ad48
Make scaled texture work with alpha mask
2016-12-29 00:36:13 +08:00
Benau
72963f4fb4
Fix GLES
2016-12-28 16:23:57 +08:00
Benau
71161264be
Merge remote-tracking branch 'origin/master' into fix_2316
2016-12-28 15:50:14 +08:00
Benau
f43f76b7c9
Fix server build
2016-12-28 15:40:12 +08:00
Benau
ffe4dd88b4
Apply mask directly on texture
...
Avoiding the ref counting issues
2016-12-28 15:32:27 +08:00
auria.mg
5e415e3331
Install all materials before loading meshes
2016-12-27 22:08:27 -05:00
Benau
8c5c85245f
Use full detail default
2016-12-27 18:31:06 +08:00
auria.mg
0be858f7f8
Fix crash in texture cleanup branch
2016-12-26 23:03:22 -05:00
auria.mg
943373ea8e
Try cleaning up textures when unloading tracks. Crashes at this time, more debugging is required
2016-12-26 22:33:54 -05:00
Benau
15469e555d
Allow track loading to take care of geometry details
2016-12-27 11:15:24 +08:00
Benau
7085c164b5
Merge remote-tracking branch 'origin/geometry_detail'
2016-12-26 23:56:18 +08:00
Benau
9831802c7f
Fix typo
2016-12-26 13:59:34 +08:00
Benau
c2d9f91c62
Allow to run cutscene(s) in artist debug menu
2016-12-26 13:51:40 +08:00
auria.mg
46e7b5ac77
Try to fix build
2016-12-25 22:27:46 -05:00
auria.mg
2b34dd8410
More cleanup and bugfixing related to #2316
2016-12-25 22:21:41 -05:00
auria.mg
059c2c8573
Bugfix delayed-loaded textures bug
2016-12-25 22:00:11 -05:00
Benau
ebef08c3d8
Try to combine all text field dialogs
2016-12-26 10:53:14 +08:00
auria.mg
4aa31dc56e
First attempt at #2316 . WIP, issues remains
2016-12-25 20:21:00 -05:00
Benau
3c9174d278
Add a general debug dialog
...
To be used later
2016-12-25 16:41:55 +08:00
samuncle
e62edcc89a
Ground work for geometry detail option
2016-12-24 19:16:39 -05:00
Benau
6a142e8d2e
Allow animated models in track to have different animation
2016-12-24 13:11:08 +08:00
Deve
26bbffe8b0
Don't declare features that are used for SDSM, AZDO and compute shaders and that are not available in GLES renderer anyway.
2016-12-24 01:26:18 +01:00
Deve
7b76804354
Allow to unlock all tracks in config.xml.
...
Can be used on android when only some tracks are included in the apk.
2016-12-23 23:36:39 +01:00
Deve
674e617018
Allow to use isDirectory function outside of file manager class.
...
It is used on android for extracting assets
2016-12-23 19:01:16 +01:00
Deve
8a88c9707b
Fixed rendering when UBO is disabled
2016-12-23 16:45:03 +01:00
Benau
989234a0ba
Clean up header part 2
2016-12-23 17:12:53 +08:00
Benau
31f2a720ca
Try to reduce the header size of materials.hpp
...
Plus header clean up
2016-12-23 14:44:18 +08:00
Benau
f7e2122b79
Allow drawing instanced glow color without explicit location
2016-12-23 10:36:35 +08:00
Benau
a339975df6
Clean skidmark earlier if there are many karts
2016-12-23 10:08:12 +08:00
Benau
969592e3fc
Try to fix framerate drop after few laps
...
Because skidmark left are never culled
2016-12-23 09:19:46 +08:00
Benau
8008ec851e
Allow to use hardware skinning with opengl 3.1
...
Now we only need UBO to store the joint matrices to support it
2016-12-23 01:31:13 +08:00
Benau
28841d601d
Remove old code for getting straight frame
...
With hardware skinning it is not necessary
2016-12-23 00:44:26 +08:00
Benau
bfd57659eb
Remove unused file
2016-12-22 11:17:52 +08:00
Benau
ffa4ad84cb
Merge branch 'hardware_skinning'
2016-12-22 10:38:06 +08:00
Deve
53ee40af70
Update multitouch device when settings are changed
2016-12-20 23:11:06 +01:00
Deve
082661db65
Add a possibility to change touch device settings in GUI
2016-12-20 23:10:57 +01:00
hiker
31619aecff
Merge remote-tracking branch 'origin/master' into game_protocol
2016-12-20 10:31:24 +11:00
hiker
084869263d
Use a sort function to sort the rewind info events and network events,
...
so that the merge function can be used to combine them. The RewindManager
is now threadsafe.
2016-12-20 09:41:50 +11:00
Benau
c26f8150f4
Fix server only build
2016-12-19 11:17:45 +08:00
Benau
581ca964fd
Fix hats with hardware skinning
2016-12-19 11:06:05 +08:00
Daniel Butum
d0229cd85e
Separate the non-cached shader loading in ShaderFilesManager
2016-12-18 13:40:36 +02:00
Benau
4f2e2331ee
Correct the spelling of shader files
2016-12-18 14:59:37 +08:00
Benau
4477dbb0fb
Preload shaders that delay kart selection screen the most
...
Plus some suggestion from #1787
2016-12-18 14:51:27 +08:00
Benau
7ea4f30824
Make sure no duplicated shader is added somewhere else
2016-12-18 13:49:58 +08:00
Benau
2a9656bfdc
Allow all shader files to be loaded only once
...
Todo: preload
2016-12-18 10:51:05 +08:00
Benau
7894e5c864
Try to use a smarter approach
2016-12-18 09:27:50 +08:00
auria.mg
da795b69ed
Better fix for #2687
2016-12-17 18:49:00 -05:00
auria.mg
2b13a5643e
Ignore the "applesmc" accelerator as input device. see #2691
2016-12-17 17:43:03 -05:00
Deve
f314c1ff2a
Some improvements for multitouch steering GUI
...
- move it to separate class, so that it can be displayed in Overworld too
- add a possibility to scale the interface (atm. only in config.xml)
- touch steering buttons are created only for single player races
I removed unused drawEnergyMeter function from Overworld GUI. The reason was that I use this function from race_gui.cpp for nitro button and this function in overworld breaks it. And still the proper drawEnergyMeter function is available in race_gui.cpp and can be moved to RaceGuiBase if it will be needed in Overworld in future.
I moved the font size computation to the top of constructor because I use it to check available space for minimap.
2016-12-17 23:28:22 +01:00
Benau
90a556fe9c
Try to share shaders across different programs
...
Todo: non-instanced version
2016-12-17 15:59:40 +08:00
auria.mg
488af78fa3
Fix #2687 , reset cameras properly
2016-12-16 21:03:05 -05:00
auria.mg
fc9a51b7f4
Reset cameras when resetting 3 strikes battle. Fixes #2687
2016-12-16 20:33:30 -05:00
auria.mg
5f0a65a07b
Fix bug where an animated texture matrix could never be reset to identity. Fixes #2692
2016-12-16 20:21:09 -05:00
hiker
1e372d6e77
Added separate queue for storing network events (to reduce synchronisation);
...
replaced vector with std::list in preparation for making the RewindManager
threadsafe.
2016-12-17 10:32:21 +11:00
hiker
5cde8f785f
Fix crash in normal race (RaceEventManager NULL).
2016-12-16 23:26:34 +11:00
Benau
79e5aadd4d
Avoid using software skinning on empty joint objects
2016-12-16 10:04:35 +08:00
Benau
752d847b09
Add the remaining shaders for GL3 hardware skinning
...
Also use the same shader code for normal map shader
2016-12-15 15:55:14 +08:00
Benau
3d814d1036
Fix wrong case handling
2016-12-15 13:30:26 +08:00
Benau
035271d6ec
Remove GL error about draw2DLine
...
Use GL32_draw2DRectangle, only works if it's a straight line.
2016-12-15 12:57:39 +08:00
Benau
2e2345289c
Don't upload / bind skinning ubo if not supported
2016-12-15 12:17:39 +08:00
Benau
1f23e6e783
Remove code used to duplicate VAOs for animated meshes
2016-12-15 11:44:09 +08:00
Benau
6baed2b0dd
Merge remote-tracking branch 'origin/master' into hardware_skinning
2016-12-15 10:01:12 +08:00
Benau
a696fd6dff
Add transparent skinned mesh shader
2016-12-15 09:52:02 +08:00
hiker
77c14152c2
The server now uses the RewindManager to receive network events
...
and takes the kart input from this queue of events.
2016-12-15 08:12:04 +11:00
hiker
95ca3fcac1
Try to fix rare GUI crash, likely caused by pushing a screen in the
...
network thread while the gui is being drawn. Made the messages
causing this synchronous, i.e. executed by the main thread.
2016-12-15 08:10:04 +11: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
hiker
177c8c8f63
Merge remote-tracking branch 'origin/simplify-world' into game_protocol
2016-12-13 17:17:25 +11:00
hiker
4ee6f6315f
Made World::m_weather a singleton to further remove dependencies on World.
2016-12-13 17:14:29 +11:00
hiker
32f2196201
Removed unnecessary #include world.hpp.
2016-12-13 17:13:54 +11:00
hiker
ed7574ca85
Merge remote-tracking branch 'origin/master' into simplify-world
2016-12-13 09:19:24 +11:00
hiker
4d406490e1
Made ScriptingEngine a singleton and removed it from World, which reduces
...
more dependencies on world.
2016-12-13 09:18:59 +11:00
hiker
b12453e9ca
Made Physics a singleton, removing the accessor functions from World.
...
Removes dependency on World for a few files.
2016-12-13 08:31:08 +11:00
hiker
cd149ab5d7
Moved m_track out of World into a static m_track in Track. Makes
...
world smaller and removes a few dependencies on World.
2016-12-13 07:53:33 +11:00
Benau
abe4ae2d6a
Fix server only stk
2016-12-12 13:54:43 +08:00
Benau
c8e5238ce2
Merge remote-tracking branch 'origin/master' into hardware_skinning
2016-12-12 13:45:04 +08:00
Benau
269e440d0c
Avoid translating artist debug mode only fps string
2016-12-12 13:43:01 +08:00
Benau
a420b09363
Disable all karts animation if UBO size not big enough
2016-12-12 13:24:34 +08:00
auria.mg
044e8c52e1
Fix tabs added in previous commit, used spaces instead...
2016-12-11 20:19:58 -05:00
auria.mg
ab7ded308a
Make presentation of kart characteristics uniform and indepdendent of difficulty. Fixes #2684 , fixes #2539
2016-12-11 20:16:44 -05:00
hiker
8785ddf148
Moved force-fog settings into track.
2016-12-12 08:05:07 +11:00
Benau
4327885f07
Add alpha test skinned mesh instanced shaders
2016-12-12 01:00:57 +08: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
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
94f6d09bf5
Allow indirect and azdo shadow rendering for skinned mesh
2016-12-09 22:37:17 +08:00
Benau
f2422317ba
Auto fallback to software skinning if not supported
...
Currently explicit attribute location, uniform buffer object and
opengl greater or equal 3.3 are required for hardware skinning
So even intel hd3000 in linux can do hardware skinning
2016-12-09 20:50:09 +08:00
Benau
76e070b709
Allow GL3 to have hardware skinning
2016-12-09 18:41:13 +08:00
Benau
b7e047b4c1
Avoid using else if in skinning vertex shader
2016-12-09 14:16:30 +08:00
hiker
22092e6459
Moved background/clear color from world to irr_driver.
2016-12-09 17:14:04 +11:00
hiker
b73d08d089
Removed unnecessary cast.
2016-12-09 16:39:59 +11:00
hiker
0a2ea4bd08
Removed unused functions.
2016-12-09 16:39:37 +11:00
hiker
a8d3b6b0df
Fixed compiler warning.
2016-12-09 09:18:56 +11:00
hiker
04d1d4817a
Removed KartUpdate protocol (which breakes online play).
2016-12-09 09:00:20 +11:00
hiker
4d065f67e6
Started to introduce GameProtocol (which will combine several
...
individual protocols.
2016-12-09 08:55:06 +11: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
hiker
fed12f774c
Fixed potential deadlock, made debug output more useful.
2016-12-08 09:46:44 +11:00
Benau
407ed319de
Show debug info about total skinning joints being calculated
2016-12-07 16:26:22 +08:00
Benau
d21e5e0f76
Make skinning offset changeable by culling
2016-12-07 16:08:57 +08:00
Benau
fcebb5c2e6
Fix crash with normal map skinned mesh
2016-12-07 09:29:40 +08:00
Benau
a3905a1e19
Allow tangent mesh to be converted
2016-12-07 08:07:01 +08:00
hiker
32daf4ce29
Removed unused functions.
2016-12-07 09:34:33 +11:00
Deve
c013fcea61
Allow to log messages to file on android
2016-12-06 23:31:49 +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
95e627c004
Fixed pi compilation.
2016-12-07 00:28:36 +11:00
hiker
63fe4373a8
Removed unnecessary #ifdef.
2016-12-06 21:50:23 +11:00