Commit Graph

97 Commits

Author SHA1 Message Date
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
6ec7799a1d
Read minimap parameters 2018-05-05 22:06:21 +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
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
hiker
b1013f6030 Merge remote-tracking branch 'origin/network_improvements' into game_protocol 2018-03-31 00:38:57 +11:00
Benau
e58d86d4d5 Merge branch 'origin/game_protocol' 2018-03-20 08:32:45 +08:00
hiker
c456edd9f2 Convert more time handling to handling ticks. 2018-03-20 09:25:39 +11:00
Benau
1dc7f3aa4e Move port configuration to user and stk config 2018-03-06 15:38:51 +08:00
hiker
26401972d2 Merge branch 'fix-timestep' into game_protocol 2018-02-13 08:41:49 +11: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
9a5ce54c4f Merge remote-tracking branch 'origin/master' into game_protocol 2018-02-09 00:53:02 +08:00
Deve
f101c9e366 Fixed android compilation 2018-02-06 23:17:34 +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
6bcee60a1c Merge remote-tracking branch 'origin/master' into game_protocol 2018-01-24 10:20:06 +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
Benau
e61eb3415a Remove hardcoded max 1024 bones for skinning 2017-10-20 17:10:08 +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
Benau
ea95ffe424 Remove compiler warning 2017-02-10 18:21:27 +08: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
5b4d8e1f8a Remove old font settings 2016-07-23 10:48:48 +08:00
Benau
744a4705b6 Auto embolden glyph of bold face, without fallback font 2016-07-21 12:26:19 +08:00
Benau
05419cd555 Initial work on new font rendering engine 2016-07-18 16:03:11 +08:00
auria.mg
f90703beb6 Move hardcoded cutscene FOV to a config file 2016-06-23 19:10:56 -04:00
Flakebi
ffa85d2206 Merge remote-tracking branch 'upstream/master' into kart-properties 2015-11-21 23:03:58 +01:00
Benau
7cf4d662ee Allow configurable fonts file names in stk-config 2015-11-13 02:25:52 +08:00
Flakebi
5d36b95c95 Merge remote-tracking branch 'upstream/master' into kart-properties
Conflicts:
	data/stk_config.xml
	sources.cmake
	src/karts/kart.cpp
	src/karts/kart.hpp
	src/karts/kart_properties.cpp
	src/karts/kart_properties.hpp
	src/tracks/track.cpp
2015-07-29 02:48:43 +02:00
hiker
2f51406e3d Made field-of-view configurable in the config file. 2015-07-22 08:12:44 +10:00
Flakebi
ffca848a33 Remove more outdated variables 2015-07-12 01:29:17 +02:00
Flakebi
db13a1fae6 Remove data from stk_config.xml 2015-07-11 19:33:13 +02:00
Flakebi
1ceab872b1 Remove PlayerDifficulty class 2015-07-11 16:16:40 +02:00
Flakebi
eb19bf571e Load and combine characteristics 2015-07-11 15:38:52 +02:00
hiker
8d07d26c25 Updated (c) year to include 2015. 2015-03-30 11:42:50 +11:00
hiker
020c129691 Specify the replay buffer size as time value (i.e. how many seconds),
not how many frames.
2014-11-27 16:15:53 +11:00
Flakebi
71f8766cb1 Add per-player difficulty 2014-07-28 18:32:39 +02:00
hiker
26fd76b904 Fixed warnings and unnecessary divisions. 2014-07-04 08:45:12 +10:00
Bart Cools
8862be1efc Final fix for properties, every missing field / overwrite should now be handled 2014-07-01 10:59:42 +02:00
Bart Cools
a73462759b Moved the default kart-type to <general-kart-defaults> to better catch missing values in the kart-type nodes. Also moved the documentation again to properly fit the fields. 2014-07-01 10:37:00 +02:00
Bart Cools
109f783fa4 Finally implemented the correct way to parse the data 2014-06-27 23:26:02 +02:00
Daniel Butum
c7e9b87e90 Fix memory leak on early exit(0) in handleCmdLinePreliminary() 2014-04-19 20:44:30 +03:00
Bart Cools
89a336ff9a Tweaked the logic of parachutes to be more modifiable. There now is an upper bound percentage and lower bound percentage which will be applied if you are driving faster and slower respectively. Also added those values in stk_config.xml to make playtesting easier (ticket #1135) 2014-02-28 11:10:25 +01:00
hikerstk
c450c97472 Allowed the music directory to be external. Renamed
getMusicFile to searchMusic and getTextureFile to
searchTexture. Removed m_root_dir from file_manager.
Added convenience function getTexture to irr_driver
which takes an asset type, so now less code is needed
to load textures (though that's proably not used
everywhere yet).


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14736 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-18 22:29:08 +00:00
hikerstk
73c498daf3 Start to support 'externa' data directories. Most directories
from data can now be moved out (except music). STK prints
an overview of which directory is taken from where. More 
cleanups and improvements will come.
Also moved skins into a separate directory under data (from
data/skins), since it's likely that skins will be part
of a binary package (i.e. changes to skins not really
related to code), while gui files will more likely stay
with the code.


git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@14731 178a84e3-b1eb-0310-8ba1-8eac791a3b58
2013-12-17 23:48:47 +00:00