Commit Graph

257 Commits

Author SHA1 Message Date
Benau
87ce3931e5 Add maximum number of moveable objects in networking games 2018-11-09 21:17:38 +08:00
Benau
2c86355013 Fix #3370 2018-10-31 14:12:53 +08:00
hiker
c2c6652dd7 Merge remote-tracking branch 'origin/master' into network-item-debugging 2018-10-19 23:26:39 +11:00
Alayan
7eeae8b6e1 Use a tighter steering delta for better ghost replay smoothness 2018-10-12 21:31:13 +02:00
hiker
4c4c7889a0 Increase server protocol version to avoid crashes with old server. 2018-10-03 16:53:27 +10:00
Benau
8efd422125 Update server version
At the moment ignore server config before final release
2018-09-28 17:41:45 +08:00
Benau
641998be69 Move startup boost and penalty handling to set phase for local games 2018-09-14 22:03:02 +08:00
Benau
2bb52df3c8 Split random ports (default off for server) configuration 2018-07-31 10:46:41 +08:00
hiker
84c21c4af2 Merge remote-tracking branch 'origin/master' into physics-tweaks 2018-07-26 17:47:25 +10:00
hiker
7cca534273 Added option to reduce steering of remote karts automatically each frame.
This can help in case of high latency connections and quick steering changes:
because of the high latency the steering is applied too long locally,
reducing in the other kart driving left/right way too much.
It's disabled for now (i.e. steering is multiplied by 1.0), but can be
enabled in stk_config.
2018-07-25 18:09:05 +10:00
hiker
b4a4de74bb Merge remote-tracking branch 'origin/master' into physics-tweaks 2018-07-19 18:39:55 +10:00
hiker
53d2bc3b8e Made restitution configurable (depending on speed of kart). 2018-07-19 09:55:24 +10:00
Benau
0cee131b9f Add positional smoothing for physical objects in network 2018-07-13 20:27:37 +08:00
hiker
a40da718b8 Try different physics setting to improve collision handling. 2018-06-21 12:38:13 +10:00
hiker
bca11b98fb Decode the solver-mode only once instead of at every race start. 2018-06-21 10:20:22 +10:00
hiker
ec6b611a94 Merge remote-tracking branch 'origin/master' into physics-tweaks 2018-06-21 00:33:29 +10:00
hiker
2c0d47e511 Made some solver parameters configurable in stk-config. 2018-06-21 00:31:51 +10:00
QwertyChouskie
5d34488adc Donate and reset password buttons (#3252)
* First version of donation link and password reset buttons
The register screen still needs to be tweaked, though the GUI engine seems to be limted here.
Maybe dynamicly delete/re-create the widget?

* Fix mingw compilation

* Remove dead code

* minor cleanup

* Error handling, tweaks

* Fix ifdef for macOS

* Disable donate button on Android

* Use stk-config

* Implement LinkHelper::isSupported, fixes
2018-06-19 19:59:54 -04:00
Alayan-stk-2
30c1e0ca6d Make rubber-banding distances different between AI karts (#3256)
* Don't generate IRC alerts

* Differentiated rubber-banding

* Fix #3222

* Small simplification

* Use master's version

* Fix typo

* Use std::sort

* Remove useless function call

test_ai is only used for profiling without human players
2018-05-26 19:09:18 -04:00
Alayan-stk-2
7f84dd39a6 Numerous improvements related to ghost replays (#3244)
* Update GUI files for replay improvements

* Updated replay capabilities

* Improve timer formatting possibilities

Mainly, the ability to choose to display or not minutes, and to choose how many digits are shown after seconds (from 0 : second as smallest timestep - to 3 : ms as smallest timestep)

Also displays "mm:ss.ms" rather than "mm:ss:ms".

* Some new list widget possibilities

Like the ability to update the header while the list is displayed (useful to add or remove columns)

* Update ghost kart for the new replay data

* Also update the ghost controller

* Live differences with ghost replays in linear worlds

* Replay-related UI changes

Big changes to the replay selection screen, and small change to the race UI (add the live timer in ghost races) and the race result UI (add the option to directly race against a newly saved ghost).

* Improves the replay action modal dialog

* Fix time-to-ticks regression

* Several requested improvements

* Improved ghost icon

Also updates the license

* GUI changes and improvements to accomodate multi-mode support

* Additional recorded data

* More functions to get the current race state

* Update replay variables to match what is used

* Updated replay-related config values

* Add ghost kart support to easter egg hunt mode

* Transparent attachments for ghost karts

* Use new stored data (color, item type)

Also :
- Interpolate speed for smoother display in watch-only mode
- Coding style improvements

* Fix coding style issues and add UI support for modes

* Fix coding style issues & support for easter egg mode

* Remove leftover prints

* Use getDifficultyName to remove hardcoded values

* Fix attach_ticks and coding style fixes

* Make the position of the timers fully relative

Otherwise, they would tend to touch each other in some resolutions

Also add a comment about the 59.9995f

* Make the list filling code clearer

Also use getDifficultyName

Most of the line changes shown by git correspond to moving around some bits or adjusting indentation.

* Remove a TODO as requested

* Fix dialog being dismissed too soon

* Remove a fixme

* Small clean up

* Fix logging

* Partial #3249 fix
2018-05-13 20:51:52 -04:00
Alayan-stk-2
086cc024e4
Add AI and player icon sizes as configurable 2018-05-05 22:12:05 +02:00
Alayan-stk-2
bdf4c62abc
Add config option for minimap size 2018-05-05 21:25:31 +02:00
Benau
e5c991e3d2 Merge remote-tracking branch 'origin/master' into kobato 2018-04-20 13:03:34 +08:00
Benau
12e4ba0f18 Check server version again in connection request (for connect-now) 2018-04-20 12:19:58 +08:00
hiker
98555a8f35 Merge remote-tracking branch 'origin/master' into game_protocol 2018-04-19 10:57:37 +10:00
Alayan-stk-2
131011d01e Better GP points distribution (#3178) 2018-04-16 18:32:25 -04:00
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
Benau
1dc7f3aa4e Move port configuration to user and stk config 2018-03-06 15:38:51 +08:00
hiker
4d03fbd1fb Made the physics time step size configurable in the config file. 2018-02-12 08:23:06 +11:00
hiker
37d81be033 Made the physics time step size configurable in the config file. 2018-02-10 17:55:45 +11:00
Benau
6bcee60a1c Merge remote-tracking branch 'origin/master' into game_protocol 2018-01-24 10:20:06 +08:00
Benau
c4f589fee7 Use the low quality for libsquish again 2018-01-13 11:55:57 +08:00
Benau
b1f1afb9c5 Use SSE2 in windows build for faster libsquish 2018-01-12 17:47:18 +08:00
Benau
5293a0dbef Add b3d loader for SP 2018-01-06 12:07:22 +08:00
Benau
7797115867 Add SP for correct normal and easier shader system 2017-12-25 14:00:10 +08:00
hiker
4d02e736f7 Started to add smoothing of errors - atm only for position, not angle. 2017-12-18 23:13:59 +11:00
hiker
b08e2f56e1 Make the number of state updated the server sends configurable. 2017-11-24 18:33:26 +11:00
hiker
4fced331fe Merge remote-tracking branch 'origin/master' into game_protocol 2017-11-10 16:08:03 +11:00
hiker
54b32ba6b1 Merge branch 'master' into game_protocol 2017-11-05 13:03:15 +11:00
Benau
e61eb3415a Remove hardcoded max 1024 bones for skinning 2017-10-20 17:10:08 +08:00
hiker
92aec928a1 Tweaked physics so that wheel raycasts happen from inside the collision shape
(fixes karts getting stuck at borders), use a longer less bevelled collision
shape better kart stability), and reduce angular factor to make it less
likely that karts can drive on walls.
2017-09-06 09:06:04 +10:00
Benau
3031fabcf9 Add spm loader 2017-08-16 13:48:27 +08:00
hiker
28890aad33 Merge branch 'master' into game_protocol
Some minor changes to make code easier to read.
2017-08-09 09:50:46 +10:00
hiker
3747427c5f ixed handling of adding states to time step info to minimise
rewindw by assigning new events to existing time step info events.
2017-06-05 08:54:52 +10:00
hiker
f55c39b3b1 Support setting of friction for karts, moveable and track in stk_config.xml
and kart_characteristics.xml (for now no changed settings, all are at
tbe default of 0.5).
2017-03-22 19:52:03 +11:00
Arthur-D
70511c5348 Lower terrain-impulse. It should keep its intended function of avoiding getting stuck when driving perpendicular to walls, but should be less forceful and look less artificial as a result. 2017-02-17 23:13:39 +01:00
Alayan-stk-2
0293dabfd3 New GP point system (#2765)
* Change grand-prix node for the new GP point system

* New GP point system

* Typo fix
2017-02-07 19:31:53 -05:00
Benau
a339975df6 Clean skidmark earlier if there are many karts 2016-12-23 10:08:12 +08:00
Benau
744a4705b6 Auto embolden glyph of bold face, without fallback font 2016-07-21 12:26:19 +08:00
Benau
a72f67015c Remove 36MB CJK fonts, use the previous font instead 2016-07-20 09:49:10 +08:00