Commit graph

20048 commits

Author SHA1 Message Date
Dennis Felsing e5e48a84ee
Merge pull request #8229 from Robyt3/Client-StartVideo-Refactoring
Add optional name argument to `start_video` command, improve descriptions of demo-related console commands, refactoring
2024-04-20 00:35:42 +00:00
Robert Müller d2c8132fb6 Add optional name argument to start_video command, refactoring
Add optional filename argument to `start_video` command, to start recording to a video file with a specific filename, instead of always using the current timestamp.

Add log messages to `start_video` and `stop_video` commands to indicate success and errors.

Make the `CClient::StartVideo` function non-`static` and reduce duplicate code in the `Con_StartVideo` function.

Determine the video filename outside of the `CVideo` constructor, same as for demos.
2024-04-19 20:09:20 +02:00
Robert Müller 93d5a8be32 Improve descriptions of demo-related console commands 2024-04-19 20:08:41 +02:00
Dennis Felsing 261c02125b
Merge pull request #8228 from Robyt3/Client-Map-Change-Cleanup
Fix prediction errors and incorrect rendering after changing map
2024-04-19 02:07:08 +00:00
Robert Müller 12d3c8245d Fix prediction errors and incorrect rendering after changing map
Fix game times and prediction not being updated when only exactly two snapshots have been received, due to the conditions `m_aReceivedSnapshots[...] >= 3`. These specific condition are not necessary and replaced with simpler checks whether the current snapshot is set. Some duplicate nested conditions are also removed.

Pump the network first in `CClient::Update` before updating anything else, to ensure that snapshots are received from the network client before the game times and prediction are being updated based on the current snapshots.

Fix current and previous game tick always being `0` on the first call of `IGameClient::OnNewSnapshot` when two snapshot have been received. Now, the game ticks are properly initialized from the two initial snapshots.

Fix old inputs sometimes being used in prediction after changing map because inputs with tick `-1` were not being ignored.

Ensure all snapshots and game times are properly cleared when entering the game.
2024-04-18 20:40:31 +02:00
Dennis Felsing da09087416
Merge pull request #8227 from Zwelf/pr-disable-practice-while-saving
Disallow activating /practice while save is in progress and improve messaging for when `/save`/`/load` command does nothing
2024-04-18 01:53:19 +00:00
Dennis Felsing 998d69240c
Merge pull request #8226 from Robyt3/Windows-Console-Nul
Fix assertion on Windows when redirecting console output to `nul`
2024-04-18 01:53:18 +00:00
Zwelf e1355dc891 Improve messaging to players why /load command does nothing 2024-04-17 22:10:40 +02:00
Zwelf f6f5629fd0 Disallow /load when practice mode is enabled 2024-04-17 22:10:40 +02:00
Zwelf 25f85afef5 Improve messaging to players why /save command does nothing 2024-04-17 22:10:40 +02:00
Zwelf da5a466ac3 Disallow enabling practice while save and load is in progress 2024-04-17 22:10:40 +02:00
Robert Müller 3ef00d465e Fix assertion on Windows when redirecting console output to nul
`GetConsoleMode` can fail with `ERROR_INVALID_HANDLE` when redirecting output to `nul`, which is considered a character file but cannot be used as a console.
2024-04-17 20:00:32 +02:00
Dennis Felsing e142b2d526
Merge pull request #8224 from Robyt3/Server-Freeze-Initial-Fix
Fix freeze not working during first 50 server ticks
2024-04-17 00:34:56 +00:00
Robert Müller 36db1e604f Fix freeze not working during first 50 server ticks
The purpose of this condition is to only update the freeze time every 50 ticks so the freeze bar keeps being refilled after one second when standing in freeze, but it incorrectly prevented freeze from being applied during the first 50 ticks after the map has been loaded. Now, freeze is also applied if not currently frozen, so the behavior directly after changing the map is identical to subsequent respawns.
2024-04-16 20:55:31 +02:00
Dennis Felsing d028756bbb Revert "Record player name in Teehistorian files"
This reverts commit 783f4e3093.
2024-04-16 12:41:14 +08:00
Dennis Felsing 6c9af4d2cc Revert "Record Player and Team finishes in Teehistorian"
This reverts commit ece1ec07f5.
2024-04-16 12:41:10 +08:00
Dennis Felsing 68a64b4ae1
Merge pull request #8219 from Robyt3/Client-Component-Setter-Cleanup
Remove unnecessary client component variables and setters
2024-04-16 01:40:12 +00:00
Dennis Felsing 5f45e218ef
Merge pull request #8221 from Zwelf/pr-teehistorian-finish
Store player names in teehistorian and Finish/TeamFinish
2024-04-16 01:11:16 +00:00
Dennis Felsing 88ff8204db
Merge pull request #8220 from Zwelf/pr-practice-disallow-save
Disallow `/save` on teams with practice enabled
2024-04-16 01:11:13 +00:00
Dennis Felsing 17110ace66
Merge pull request #8171 from Zwelf/pr-simplify-base-hook
Simplify and fix HookBase calculation
2024-04-16 01:11:11 +00:00
Zwelf ece1ec07f5 Record Player and Team finishes in Teehistorian 2024-04-16 00:50:05 +02:00
Zwelf 783f4e3093 Record player name in Teehistorian files 2024-04-16 00:50:05 +02:00
Zwelf 868e6e0975 Disallow /save on teams with practice enabled 2024-04-16 00:34:23 +02:00
Robert Müller 8817a69269 Remove unnecessary client component variables and setters
Use the gameclient to access other components instead.
2024-04-15 20:26:26 +02:00
Dennis Felsing 2e211c9a31
Merge pull request #8218 from dobrykafe/pr-align-friendslist
Fix alignment of labels in friends list
2024-04-15 01:31:55 +00:00
Dennis Felsing fe41f58197
Merge pull request #8164 from murpii/pr_teleport_reset_jumps
Refresh air jumps after teleporting
2024-04-15 01:31:50 +00:00
Dennis Felsing aca25cc802
Merge pull request #8216 from Robyt3/Demo-ServerInfo-Fix
Fix incorrect score kind in demos depending on last server
2024-04-15 01:31:38 +00:00
dobrykafe 19b19262a4 fix alignment of labels in friends list 2024-04-15 00:29:46 +02:00
Robert Müller 8a378da89b
Merge pull request #8217 from dobrykafe/pr-remove-conmode
Remove unused `ConMode` function
2024-04-14 21:07:58 +00:00
dobrykafe 3b7019d3f7 remove unused ConMode function 2024-04-14 22:48:20 +02:00
Robert Müller 47e4505193
Merge pull request #8215 from furo321/fix-timecp-mysql
Fix `/timecp` not working with MySQL
2024-04-14 20:23:18 +00:00
Robert Müller 2423e35fd2 Fix incorrect score kind in demos depending on last server
Clear current server info when playing demos to ensure that the score kind (points, time) is detected correctly. Previously, when playing a demo with points score kind and `cl_demo_assume_race 0`, the score was not shown as points when the last server that the client connected to had a race gametype.

Move the implementation for `cl_demo_assume_race` together with the rest of the demo server info initialization in the `CClient::DemoPlayer_Play` function.
2024-04-14 22:18:49 +02:00
furo cf6569029f Fix /timecp not working with MySQL 2024-04-14 19:51:09 +02:00
Dennis Felsing 06f1db98e6
Merge pull request #8213 from furo321/fix-gametiles-button
Fix bug where certain tiles would not work in `Game tiles` menu
2024-04-14 13:28:22 +00:00
furo 2545c14a5d Fix bug where certain tiles would not work in Game tiles menu 2024-04-14 15:05:10 +02:00
Dennis Felsing c878cc70f4
Merge pull request #8211 from Robyt3/Menus-Demo-Hotkeys-Fix
Fix demo player hotkeys not working when menu is inactive, fix duplicated rendering of popup menus in demo player
2024-04-14 10:06:49 +00:00
Robert Müller 9abe501f77 Fix duplicated rendering of popup menus in demo player
The popup menus are already rendered in the `CMenus::Render` function, also for the demo player since #8156.
2024-04-14 11:30:47 +02:00
Robert Müller 717cbef375 Fix demo player hotkeys not working when menu is inactive
The demo player needs to be rendered also when the menu is inactive, to handle the hotkeys for controlling the demo player and to render the play/pause and speed indicators.

Closes #8208.
2024-04-14 11:30:42 +02:00
Dennis Felsing 1b77cbc821
Merge pull request #8209 from dobrykafe/pr-votes
Allow the vote creator to cancel the vote + sixup vote fix
2024-04-14 03:58:29 +00:00
Dennis Felsing 0691d42dd0
Merge pull request #8206 from furo321/rename-hooktick
Change type of `m_HookTick` to `NetIntAny`
2024-04-14 03:56:06 +00:00
dobrykafe 8ca395c8be allow the vote creator to cancel the vote 2024-04-13 23:57:59 +02:00
dobrykafe b6a1a124fe fix votes for sixup 2024-04-13 23:56:40 +02:00
furo 32fcd2a7e8 Change type of m_HookTick to NetIntAny 2024-04-13 17:02:18 +02:00
Dennis Felsing effc79cc87
Merge pull request #8204 from Robyt3/Client-Various-Cleanup
Various minor cleanup of `CClient`
2024-04-13 14:17:01 +00:00
Robert Müller 5295ba3ded Improve readability by breaking early and reducing indentation
Remove unnecessary temporary variables and parenthesis.
2024-04-13 11:10:47 +02:00
Robert Müller 9cd51576d4 Rename static variable ActionTaken to s_ActionTaken 2024-04-13 11:10:45 +02:00
Robert Müller fd7a1600f6 Remove redundant checks of client state
These conditions are contained in an `if(State() == IClient::STATE_ONLINE)` branch and the state does not change while inside this branch, so these checks are unnecessary.
2024-04-13 11:10:25 +02:00
Robert Müller 507b097ad8 Remove unnecessary cleanup in CClient::LoadMap function
The number of received snapshots is already correctly reset in the `CClient::OnEnterGame` function for the main and dummy connections.
2024-04-13 11:07:19 +02:00
Robert Müller 5a05f6e098
Merge pull request #8202 from def-/pr-estonian
Update Estonian translations by Cammo
2024-04-12 15:54:27 +00:00
Robert Müller a743962b84 Pass CImageInfo by reference to IGraphics::LoadPng
For consistency with other graphics functions using `CImageInfo`.
2024-04-12 17:23:41 +02:00