Commit graph

18015 commits

Author SHA1 Message Date
Robert Müller 39057d7b87 Fix demo render complete popup opening on error, improve layout
The popup to show the completed demo rendering was also shown when the demo to be rendered could not be loaded or if the demo render popup was cancelled. Now the popup is only shown when the demo rendering was successful.

The layout of the popup is made consistent with other message popups. Long text is wrapped over multiple lines instead of decreasing the font size.
2023-10-05 11:58:48 +02:00
Dennis Felsing b7de3d1e22
Merge pull request #7295 from Learath2/pr_fixfixfix
Vanilla tunings should be used for reckoning
2023-10-04 16:19:10 +00:00
Dennis Felsing a07679d33a
Merge pull request #6990 from Marmare314/project-onto
implement project-onto operation for envelopes
2023-10-04 14:30:01 +00:00
Edgar f5f57ee24c
Merge pull request #7283 from Robyt3/ImageLoader-Indexed-Fix
Fix images using indexed color palette not being loadable
2023-10-04 13:55:21 +00:00
Learath f865679cb4 Vanilla tunings should be used for reckoning 2023-10-04 15:21:10 +02:00
Dennis Felsing 2e5ee8287e
Merge pull request #7008 from Robyt3/Datafile-String-Util
Add functions for reading/writing strings from/to datafile, minor refactoring of datafile/map reader
2023-10-03 20:54:40 +00:00
Dennis Felsing fb3c32a31f
Merge pull request #7292 from Robyt3/Client-Encapsulation
Encapsulate/move `IClient` member variables
2023-10-03 20:53:33 +00:00
Dennis Felsing 1c88adf4fd
Merge pull request #7294 from furo321/angle-paused
Don't use mouse position for angle if paused.
2023-10-03 20:53:11 +00:00
furo a08e306aa4 Don't use "direct input" if paused. 2023-10-03 20:59:12 +02:00
Edgar 3ff80f813f
Merge pull request #7293 from Learath2/pr_fixfix
Fix the fix to the fix to dead reckoning
2023-10-03 18:39:53 +00:00
Learath 3f8ca70eb3 Fix the fix to the fix to dead reckoning 2023-10-03 20:18:17 +02:00
Robert Müller 6f1e08b6f4 Encapsulate/move IClient member variables 2023-10-03 17:56:17 +02:00
Robert Müller 7acf2c1573 Add functions for reading/writing strings from/to datafile
Simplify the usage of datafile reader and writer by adding utility functions to read and write zero-terminated UTF-8 strings.

Improve validation of string data read from datafiles. It is ensure that string data is null-terminated, has no internal NUL-characters and is valid UTF-8.

Fix loading of external sounds in the editor. The wrong path variable was being used, so the sound files would not be loaded from correct folder.

Add tests for new datafile reader/writer functions.
2023-10-03 16:07:15 +02:00
Robert Müller 106b04ee79 Add assertion for Index argument of ReplaceData function 2023-10-03 15:58:58 +02:00
Robert Müller 4716791c6d Add missing IMap::FindItemIndex delegate function 2023-10-03 15:58:58 +02:00
Robert Müller 6a5752d71e Use bool instead of int for Swap parameter 2023-10-03 15:58:58 +02:00
Robert Müller e68caafc07 Consistently order CDataFileReader and IMap functions 2023-10-03 15:58:58 +02:00
Dennis Felsing dbd9da3c7b
Merge pull request #7289 from Robyt3/Map-Version-Check
Ensure current map is not corrupted when loading another fails
2023-10-03 13:17:03 +00:00
Dennis Felsing 1a8e8f4638
Merge pull request #7291 from Robyt3/Dilate-PixelSize-Cleanup
Remove redundant argument of `Dilate` function
2023-10-03 12:28:41 +00:00
Robert Müller 9096b089b9 Ensure current map is not corrupted when loading another fails
When `IMap::Load` fails, other components will continue to use the old map. However, if `IMap::Load` failed after the map was already successfully read with the datafile reader then other components kept their pointers to the old, invalid datafile reader items and data, causing random crashes in collision code. This is fixed by using a separate datafile reader to read the new map and only applying the datafile reader globally when loading was entirely successfully.

An error message is added for the case that a map has an unsupported version, which is currently the only case where a map can fail to load after the datafile was read successfully.

In particular, the block maps `blmapPepe`, `blmapV5` and `blmapDT-UPTU` did not have a version map item and were fixed separately.

Closes #7218. Regression from #5737.
2023-10-03 14:27:11 +02:00
Robert Müller 2d56676f17 Improve editor map version check, reduce code indentation
Add error message in editor when loading a map that has an unsupported version.

Ensure error messages are not closed immediately when loading a map fails.

Remove unnecessary indentation by returning early.
2023-10-03 14:27:09 +02:00
Dennis Felsing c15dfb8bd9
Merge pull request #7290 from ChillerDragon/pr_quote_team_name
Teeworlds style name quoting for team joins
2023-10-03 11:55:37 +00:00
Dennis Felsing 8839698d41
Merge pull request #7143 from Marmare314/refactor-a2
extract editor layers into seperate headers
2023-10-03 11:54:10 +00:00
Robert Müller b7e1e61988 Remove redundant argument of Dilate function
The pixel size (bytes per pixel) always has to be 4 for the `Dilate` function to work correctly. This is already checked before calling the function, so the redundant argument which is always `4` can be removed.
2023-10-03 13:52:37 +02:00
ChillerDragon 42e5f27ee9 Teeworlds style name quoting for team joins 2023-10-03 13:16:27 +02:00
marmare314 227d074254 implement project-onto operation for envelopes 2023-10-02 23:45:08 +02:00
marmare314 ac6f6bd28e take pointer to editor in CLayer constructor 2023-10-02 23:15:31 +02:00
marmare314 d400687876 extract editor layers into seperate headers 2023-10-02 23:07:08 +02:00
Dennis Felsing 78b70ebcf8
Merge pull request #7282 from furo321/tele-cursor
Teleport the player to their cursor if they aren't in pause
2023-10-02 16:12:00 +00:00
Dennis Felsing 161a256d7f
Merge pull request #7284 from Robyt3/Client-Skin-Assertion-Refactoring
Fix crashes when rendering tees after skins are updated
2023-10-02 16:10:53 +00:00
Robert Müller 589b047ee4 Track team killmessage victims separately, ensure initialization
Store client IDs of all victims for team killmessages instead of storing only the first victim ID, so the render info for all victims can be properly restored when skins are updated.

Ensure all killmessages are properly initialized.
2023-10-02 15:39:12 +02:00
Robert Müller 96ef1fbc88 Fix client render info not being updated when skin not found
The skin info was always updated, but the render info was only being updated for skins that can be found. Now the render info is also always updated.
2023-10-02 15:37:49 +02:00
Robert Müller 6094061a81 Add CTeeRenderInfo::Reset, ensure everything is initialized 2023-10-02 15:37:30 +02:00
Robert Müller e41b3a9b57 Use bool instead of int for m_GotAirJump 2023-10-02 15:37:26 +02:00
Robert Müller 1dedde542a Refactor ghost skin updating, ensure current ghost is updated
Rename function for consistency.
2023-10-02 15:35:12 +02:00
Robert Müller 9029fb9593 Remove CTeeRenderInfo member variables of CPlayers
The variables can be local variables in `CPlayers::OnRender`.
2023-10-02 15:34:39 +02:00
furo 7e045d4f32 Teleport the player to their cursor if no argument is specified.
Check for `NumArguments()`
2023-10-02 13:26:34 +02:00
Robert Müller dab88177dd Fix images using indexed color palette not being loadable
The wrong color channel count was being used for loading images that use an indexed color palette, which was causing the loading to fail with the error "bytes in row incorrect". Now the correct color channel count is retrieved using the libpng API.

Closes #7157.
2023-10-02 12:21:20 +02:00
Dennis Felsing fe77f63a58
Merge pull request #7278 from Robyt3/Menus-Images-Scan-Refactoring
Refactor menu image scan
2023-10-01 22:22:24 +00:00
Dennis Felsing 887522ea5b
Merge pull request #7279 from Robyt3/Menus-Performance
Improve performance of menus checker background, improve server browser performance
2023-10-01 22:21:58 +00:00
Dennis Felsing 624f4aef21
Merge pull request #7280 from furo321/move-lasttelepos
Don't reset `/lasttp` position on death
2023-10-01 22:21:34 +00:00
Dennis Felsing 879a88933c
Merge pull request #7277 from furo321/send-ping-menu
Send the player's latency if a menu is open
2023-10-01 22:19:50 +00:00
Robert Müller fa07f64982 Improve performance of menus checker background, refactoring
Avoid duplicate `SetColor` calls in loop.

Avoid `QuadsDrawTL` calls by batching quads together before drawing.

Use `SetColor` instead of `SetColorVertex`.
2023-10-01 21:01:10 +02:00
Robert Müller b1d90aaaf2 Store number of filtered players when filtering
Only update total number of filtered players when the filter is updated instead of calculating it every frame.
2023-10-01 20:53:29 +02:00
Robert Müller fe27752d40 Refactor menu image scan
Remove unnecessary check for duplicate menu images. Listing directories with the storage now prevents duplicates, so this additional check is not needed anymore.

Ensure menu images are in RGBA format.

Ensure menu image names are not truncated.

Minor code format improvements.
2023-10-01 19:39:04 +02:00
furo 6dd43fb086 Don't reset LastTelePos on death 2023-10-01 18:34:07 +02:00
furo 0661eafb49 Send the player's latency if a menu is open 2023-10-01 17:32:51 +02:00
Robert Müller 3ce669df13
Merge pull request #7276 from furo321/autoexec-unused
Remove unused commands from `autoexec_server.cfg`
2023-10-01 10:08:25 +00:00
Robert Müller 7743981e02
Merge pull request #7273 from Marmare314/quad-selection-iv
revert quad selection correctly fixes #7248
2023-10-01 09:51:24 +00:00
furo 5512049946 Remove unused commands from autoexec cfg 2023-10-01 11:42:58 +02:00