Commit Graph

3055 Commits

Author SHA1 Message Date
Alayan-stk-2
8fae521a94 AI item handling improvements (#3143)
* Prepares for advanced item and nitro usage strategy

Replace the bool determining if usage is random or not by an int allowing several levels of AI item usage.

Add NITRO_ADVANCED mode for nitro usage.

* Adapt for more item and nitro levels

The XML files have to be changed. The logic for the item_skill still has to be done.

* Preparation for the preferred kart in GP

* Preparation for the preferred kart in GP

* Preparation for the preferred kart in GP

* Prepares for advanced item and nitro usage strategy

*  Prepares for advanced item usage strategy

* Preparation for the preferred kart in GP

* Parametrized AI_skill level

* Fix typo

* Fix typo

* Fix typo

* Fire items with a shield on in unrestricted mode

* New function allowing AI to know what flyable is incoming

* New function allowing AI to know what flyable is incoming

* Fix typo

* Update bubble gum AI to new system

In addition of making some functionality depends on AI levels, there are a few overall improvements for the better AIs :
1)Remove the "drop the gum in the last lap" logic. Bad strategy since ever the shield has been added to the gum
2)The protection against flyable is not used if the user holds a swatter and the flyable is a plunger 
3)Holding a swatter no longer blocks the AI from using the shield against a flyable nor from using the gum behind
4)The shield is used to remove bad attachments (bomb, parachute, anvil)
5)Reduce the distance with the kart behind when dropping the gum to reduce misses

* Update swatter AI to new system

The swatter could benefit from several kind of usage improvement. This patch introduce only one, but probably the more important : the better AIs now use it to remove bad attachments

* Fixing #3139

* Fix compile error

* Fix

* Fix compilation

* Fix compilation

* Fix compilation

* Update variable

* Update variable

* Fix non-breaking space issue

* Fix typos

* Revert for compilation

* Revert for compilation

* Update cake AI to new system

* Redefine HandleItems to be position aware

* Redefine HandleItems to be position aware

Also changes bowling ball for the new system.

* Activate shield before hitting box or bad item

Meant for higher AIs.

* Increase lookup distance

Some distance will be needed for the switch

* Temporary fix to avoid a nitro regression

* Fix typo

* Fix typo

* Bubble gum improvements ; explicitely calculate distances to items

* Update Switch to the new system ; use item-distance awareness

Also fix a missing parenthesis

* Change nitro-usage to a numerical parameter

* Change nitro-usage to a numerical parameter

Also update comments to explain the new item-skill

* Change nitro-usage to a numerical parameter

* Change nitro-usage to a numerical parameter

* Change nitro-usage to a numerical parameter

* Update handleNitroAndZipper to the new system

Also fix a naming error, remove the 95% speed limitation on nitro usage

* Adds a small engine boost to nitro

Currently, nitro is very counter-intuitive as it only affects max_speed. This change corrects it. The effect remains small to not upset balance. It is mostly felt when below max_speed, so the can of nitro potential power doesn't change much.

* Improve AI nitro handling

Summary :
1)Makes the AI use nitro by bursts, greatly improving its efficiency
2)Makes the AI use nitro when close to max speed (to unlock the max speed increase)
3)Remove the overtaking logic as the AI will now use its nitro anyway
4)The AI tries to keep a reserve of nitro for use towards the end of the race.

* Allows estimated finish time to be checked at any lap, fix a crash

* Makes the AI use its nitro reserves

* Better tuning for nitro reserve usage to reduce the probability of unused nitro

* Remember last used powerup for AI

* Remember last used powerup for AI

* Remember last used powerup for AI

* Remember last used powerup for AI

* Remember last used powerup for AI

* Remember last used powerup for AI

* Fix compilation

* AI don't wait between usage of items of different types

* Use floats for Parachute duration

* Revert

* Nitro use when trying to pass a bomb improved

* Fix broken time check

* Take into account the kart-specific fadeout to calculate time between bursts

* Improvements to bursts and to use of the reserve at the end

* Improve comments explaining item_usage_skill and nitro_usage

* Make LastUsedPowerup a PowerupType

* Make LastUsedPowerup a PowerupType

* Make LastUsedPowerup a PowerupType

* Make LastUsedPowerup a PowerupType

* Make last_used_powerup a PowerupType

* Make last_used_powerup a PowerupType

* Fix compilation

* Fix compilation

* Revert

* Revert

* Finally fix compilation

* Finally fix compilation

* Change shield radius per difficulty

A reduced non-null shield radius reduces false positives as long as it is big enough to get a few frames during which the object is inside the radius.

* Improve Projectile closeness management

* Improve projectileCloseType

* Improve projectileCloseType

* Fixes indentation

* Fix lastUsedPowerup initialization

* Fix the last used powerup type

* Rename projectileCloseType

* Rename projectilCloseType

* Clarify comment and update projectileCloseType to new name

* Reuse a member RandomGenerator

* Fixes getLastUsedPowerup type

* Fixes comparison

* Fixes type
2018-03-31 21:09:57 -04:00
auria.mg
b778b91b5e More UI scaling improvements, see #3146 2018-03-26 21:24:48 -04:00
Deve
db3399500f Better scaling initial android dialog 2018-03-20 21:38:06 +01:00
Deve
203d045485 More improvements for gui on android 2018-03-17 22:28:45 +01:00
Deve
26419e5ee0 Better gui scaling on android 2018-03-16 23:00:58 +01:00
hiker
fa624c90e1 Merge remote-tracking branch 'origin/master' into fix-timestep 2018-03-08 09:50:14 +11:00
Deve
8f78d4e891 Add a popup on first run on android, so that user can choose if accelerometer should be enabled 2018-03-04 00:08:24 +01:00
Deve
a00c1cadc8 Simplify accelerometer selection in settings 2018-02-28 22:01:30 +01:00
samuncle
7db4ef8056 Add a shader to use the day/night cycle for lamps, etc 2018-02-27 23:38:28 +01:00
hiker
208c5eb6d8 Merge remote-tracking branch 'origin/master' into fix-timestep 2018-02-21 08:35:58 +11:00
auria.mg
e26239e364 Improve the input sensing text to be a bit clearer 2018-02-13 20:35:07 -05:00
auria.mg
196b5a2bbe Minor ajustments to kart color screen, make kart slightly bigger, make XML cleaner 2018-02-12 20:22:35 -05:00
auria.mg
2830dabfc1 Improve kart color selection screen, fixes #3122 2018-02-12 20:08:51 -05:00
hiker
4d03fbd1fb Made the physics time step size configurable in the config file. 2018-02-12 08:23:06 +11:00
Benau
0e5b7b532c Further boost stk by writing 1 less framebuffer attachment
Now we can get determine the background color by depth, so
the alpha tricks in diffuse color fbo is not necessary

And using rgba8 to pack normal doesn't seem to cause visual glitches.
2018-02-07 12:49:45 +08:00
samuncle
704fe3e32a Fix a bug in the emissive contribution. Now there is a bigger range of value for bloom 2018-02-06 23:15:21 +01:00
Ben Krajancic
0f3518e71b Unlimited Split-Screen (#3104)
* Initial SplitScreen

All are upside down and player 1, 5 player does 6 even...

* Working version of splitscreen

* black screen fix

* te fix

* Update race_gui.cpp

* Change item

* wrong way fix and refactorings

* Fix icon scale, cleaning code for lap count

* Remove tabs

* Add settings option

* Fix FOV

Right now the FOV gradually  decreases when going from 1,2,3,4 players. Then after 4 players it wont drop any lower. This behaviour can easily be replaced in the future

* Prevent overflow

* Unlimited splitscreen

* Space out duplicate skins across additional players

* Update stk_config.cpp

* Update irr_driver.cpp

* Update options_screen_ui.cpp

* Update irr_driver.cpp

* Update options_screen_ui.cpp

* Update race_gui.cpp

* Update irr_driver.cpp

* Fix for empty pixels at edges

* Fix referring to template not int

* Fix compile errors

* Progress towards fixing selection screen

* Begin process for selections

* Fix selection screen for >4 people

Important GUI changes included

* Disable changing rows/cols ingame

* fix sp related crash

* Styling fixes
2018-02-05 20:01:32 -05:00
Benau
ac8294abdb Clean up debug visualization
Allow toggle (triangle) normal / (bi)tangent / wireframe separately
2018-02-03 13:14:15 +08:00
Benau
a2052b77b9 Remove unneeded flat out
We can share the same uniform name, esp flat out is not working
for my adreno 306 in android 5.0
2018-02-03 00:21:59 +08:00
Benau
e3483fccbe Unroll the skinned mesh shader for loop
This give some fps improvement for adreno 306 in android 5.0
2018-02-02 21:59:13 +08:00
Benau
e4c827176a Remove flat for hue_change
It causes bad rendering in adreno 306 in android 5.0
2018-02-02 21:17:24 +08:00
Benau
e06fabde96 Clean up alpha test and unlit shader
Remove 1 wrong line in alpha test shader
2018-02-01 11:26:58 +08:00
Benau
154ad8d0db Fix skybox blending with light scatter 2018-01-31 01:31:12 +08:00
Benau
9e57bfb73f Split point light scatter so it can be combined together 2018-01-30 13:42:50 +08:00
Magne Djupvik
748a65c013 Made Old Mine Expert challenge a bit more challenging. 2018-01-29 18:51:43 +01:00
Magne Djupvik
b5d2ce4850 Added back 5 seconds to challenges after feedback. 2018-01-29 16:52:18 +01:00
Magne Djupvik
ad2665c641 Made Northern Resort and Blackhill Mansion Expert challenges more difficult. 2018-01-28 15:17:27 +01:00
Benau
11f9b74e13 Don't use out variable in vertex shader 2018-01-28 15:28:20 +08:00
Sam
c4b42c1852 Add layer of abstraction to output pbrData 2018-01-26 20:16:16 +01:00
Sam
e75f1cb799 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-01-26 10:52:23 +01:00
Benau
97fd634ed8 Allow auto-add usable uniforms to shader 2018-01-26 16:02:31 +08:00
Benau
ff38cb6423 Clean up advanced pipeline off code
Don't use RTT at all in game when it's off
2018-01-25 15:36:34 +08:00
Sam
37a6f464b9 Merge branch 'master' of https://github.com/supertuxkart/stk-code 2018-01-24 21:51:11 +01:00
Deve
94c3efa8d3 Force legacy device for sandy bridge generation celeron graphics cards 2018-01-23 22:40:42 +01:00
Benau
e5cdf3a086 Remove all unneed gamma correction when advanced pipeline off
Except for the colorization stuff
2018-01-23 01:16:45 +08:00
Benau
86393ba0a9 Use alphatest as a fallback shader for unlit
Adjust graph shader when advanced pipeline off, and no srgb prefilled
texture when advanced pipeline off
2018-01-22 13:27:21 +08:00
Benau
45957af6f8 Remove !sRGB in shader which is always true now
Also don't use tonemap in RTT
2018-01-22 12:54:39 +08:00
Benau
4025883243 Use sampleTextureLayer in shader files 2018-01-22 10:43:22 +08:00
Benau
390554eca1 Add xml shader and the loader 2018-01-21 13:19:00 +08:00
Deve
2516de8231 Disable npot textures on android emulator 2018-01-16 23:06:27 +01:00
Sam
6abd79dde6 Add the world position in default information avaliable to shaders 2018-01-14 10:39:16 +01:00
Benau
59045cd064 Merge remote-tracking branch 'origin/master' 2018-01-13 15:44:57 +08:00
Benau
24308ced03 Remove features in SP that give no performance boost at all
gl_Layer in vertex shader, bindless and array textures
2018-01-13 14:49:33 +08:00
Benau
503455d02f Simplify instruction 2018-01-13 13:48:51 +08:00
Benau
c4f589fee7 Use the low quality for libsquish again 2018-01-13 11:55:57 +08:00
Benau
bb0cf72635 Add required code and color selector for rainbow karts 2018-01-13 00:38:46 +08:00
Benau
68e8da2353 Remove all unused shaders 2018-01-12 19:10:55 +08:00
Benau
b1f1afb9c5 Use SSE2 in windows build for faster libsquish 2018-01-12 17:47:18 +08:00
Benau
9ccb34c2a1 Adjust graphics presets for SP 2018-01-12 12:03:31 +08:00
Benau
54c7914cb5 Update graphical restrictions
Mesa 17.4 will use the correct normalization forumla

Disable GLSL on intel HD2000 / HD3000 due to broken opengl 3.3 support
2018-01-08 15:55:28 +08:00