Commit graph

19070 commits

Author SHA1 Message Date
ChillerDragon 2f2b8f32fa Remove indirect Graphics() access in BrushSelecting() 2024-02-13 16:01:18 +08:00
Dennis Felsing c85be52409
Merge pull request #7968 from Robyt3/Server-Mod-Message-Fix
Make it less likely that antibot message is sent from random tees
2024-02-11 21:58:01 +00:00
Dennis Felsing 2d9a0c8b7a
Merge pull request #7967 from Robyt3/Browser-None-Placeholder-Country-Type
Add placeholder country/type for servers without community, fix filter excluding all items when right-clicking the only entry
2024-02-11 21:54:03 +00:00
Robert Müller be98c17738 Make it less likely that antibot message is sent from random tees
Instead of sending the message from the first client which is not ingame, choose the first client which is fully empty, to make it less likely that the message is sent from a currently connecting client.
2024-02-11 22:12:15 +01:00
Robert Müller f0e71219a9 Add placeholder country/type for servers without community
Add a country "none" with tee flag (code `-1`) and a type "None" for all servers without community.

Previously, the country and type for these servers was unset and their handling special-cased, so any non-empty country/type filter would exclude servers without country/type information. Now individual countries/types can be excluded without also excluding all servers without community.

Closes #7961.
2024-02-11 17:55:53 +01:00
Robert Müller e4e4227709 Fix filter excluding all items when right-clicking the only entry
It was possible to create a community/country/type filter excluding all entries when the list only contains one entry and right-click is used to deselect it.
2024-02-11 17:41:15 +01:00
Dennis Felsing 6d3bd36877
Merge pull request #7964 from ChillerDragon/pr_doc_ui_doeditbox
Document `DoEditBox()`
2024-02-11 14:47:47 +00:00
Robert Müller 8e2195ce16
Merge pull request #7963 from bencie/flag-search
Add flag search
2024-02-11 14:43:47 +00:00
bencie b5960f3fc3 Track filtered flags directly instead of their indices 2024-02-11 15:16:40 +01:00
ChillerDragon 74a9c39650 Document DoEditBox() 2024-02-11 17:47:02 +08:00
bencie 206a36a02a Add searchbar to flags tab in settings 2024-02-11 04:05:35 +01:00
Emir Marincic 8870eb94aa
Merge pull request #7962 from Robyt3/Http-Various-Fixes
Quit client faster by aborting HTTP requests earlier, other HTTP fixes
2024-02-11 01:14:12 +00:00
Robert Müller 9d1ebe726c Quit client faster by aborting HTTP requests earlier
Shutdown `CHttp`, i.e. abort all HTTP requests, as early as possible when quitting/restarting the client, after the config has been saved but before shutting down the gameclient. Previously, this was delayed until the engine shutdown, so the requests would often finish entirely instead of being aborted by the callback.

Previously, HTTP requests being aborted due to `CHttp` shutting down were considered `EHttpState::ERROR`, which sometimes causes deadlocks during engine shutdown or destruction of `CHttp`. The state is now set to `ABORTED` by passing `CURLE_ABORTED_BY_CALLBACK` to `OnCompletionInternal`. The otherwise unused handling of internal errors is removed.
2024-02-10 22:38:42 +01:00
Robert Müller b2041f5703 Fix assertion due to incorrect HTTP request state
Previously, it was assumed `ResultJson` would return `nullptr` for HTTP requests which have been aborted or failed with an error, which would trigger the newly added assertion error "Request not done".
2024-02-10 22:38:10 +01:00
Robert Müller 399ba63a2c Fix incorrect check for aborted server list GET request result
The HEAD request result has already been checked above.
2024-02-10 22:37:54 +01:00
Dennis Felsing e747a57af8
Merge pull request #7960 from archimede67/editor-fix-auto-automap
Editor: fix FPS drop when editing tiles layer properties
2024-02-10 13:44:52 +00:00
Corantin H 93120b83cf Call FlagModified only when property can affect automapper (fixes #7959)
Handle more cases for undoing auto automap
2024-02-10 12:15:28 +01:00
Dennis Felsing a7bbcf00a6
Merge pull request #7956 from archimede67/editor-fix-quads
Editor: fix several quads related issues
2024-02-09 23:13:30 +00:00
Dennis Felsing 62afe9ee89
Merge pull request #7958 from Robyt3/Infomessages-Refactoring
Refactor `CInfoMessages`
2024-02-09 23:13:16 +00:00
Robert Müller fe5b9d2dc9 Encapsulate CInfoMessages members 2024-02-09 21:35:35 +01:00
Robert Müller dda86b4624 Refactor info message creation
Add `CInfoMessages::CreateInfoMsg` function to create fully initialized info messages, to reduce duplicate code when creating info messages.
2024-02-09 21:35:14 +01:00
Robert Müller 4be56bb87d Refactor info message rendering
Improve readability of flag rendering code.

Add `ROW_HEIGHT` and `FONT_SIZE` constants.
2024-02-09 21:35:07 +01:00
Robert Müller 9295993190 Remove redundant text width calculation
Directly use the bounding box which has already been calculated for the text containers, instead of calculating the text width again for every info message text.
2024-02-09 21:34:45 +01:00
Robert Müller ebe60738d9 Refactor CInfoMessages::AddInfoMsg usage
Reduce duplicate code by moving screen remapping and validation of the info message into the `AddInfoMsg` function.

Check for valid kill message before creating text containers, so they are not created and deleted unnecessarily.

Assign info message type directly instead of passing it as a separate parameter.
2024-02-09 21:33:47 +01:00
Robert Müller 109b6bfb8e Refactor info message text container creation
Combine `CreateNamesIfNotCreated` and `CreateFinishTextContainersIfNotCreated` functions to `CreateTextContainersIfNotCreated` function to reduce duplicate code on usage.

Extract duplicate code for determining name color in info messages as lambda function.
2024-02-09 21:33:27 +01:00
Robert Müller 1683304acd Ensure skin info of finish messages is valid 2024-02-09 21:33:14 +01:00
Robert Müller 289b7b08c7 Ensure finish info messages are initialized
Closes #7913.
2024-02-09 21:33:04 +01:00
Robert Müller cb0af02eae Extract CTeeRenderInfo::Valid function 2024-02-09 21:32:56 +01:00
Robert Müller 4cb0bb2744 Split CInfoMessages::OnMessage into separate functions
Improve readability by splitting long `OnMessage` function into separate functions for each individual message.
2024-02-09 21:32:48 +01:00
Robert Müller e350ceeb16 Extract SSkinTextures::Unload function 2024-02-09 21:32:44 +01:00
Corantin H f9ba9d819b Add more const qualifiers to editor methods 2024-02-09 21:13:28 +01:00
Robert Müller fbc4181809
Merge pull request #7937 from Peakies/switch_screen_pr
fix switch screen and blackscreen on opengl + window borderless
2024-02-09 19:47:42 +00:00
Peakies e8809f11a3 rename Modes 2024-02-09 23:01:09 +03:30
Corantin H bd5149c48c Prevent brush placing when paning editor view 2024-02-09 19:57:48 +01:00
Corantin H 9e724950d0 Fix quad grid snapping
Check for grid alignment before aligning quads to other quads
2024-02-09 19:57:43 +01:00
Corantin H 419bebf7ff Add const qualifier to interface getters in editor.h 2024-02-09 19:48:29 +01:00
Robert Müller 837ecb8708
Merge pull request #7946 from ChillerDragon/pr_ed_switch
Add "View" button to switch drop down in editor
2024-02-09 16:43:25 +00:00
ChillerDragon 3fc10d4a6c Add "View" button to switch drop down in editor
This allows mappers to find switchers by number.

see #7931
2024-02-09 16:28:24 +08:00
Dennis Felsing 9187c296a0
Merge pull request #7952 from Robyt3/Server-Sixup-Killmessages
Show kill messages also for sixup clients
2024-02-08 22:53:54 +00:00
Jupeyy f37b58a887
Merge pull request #7953 from bencie/fix-rcon-leftright
Fix broken parameter in MoveCharacter
2024-02-08 21:53:07 +00:00
bencie 177e8f07f1 Fix broken parameter in MoveCharacter 2024-02-08 22:34:38 +01:00
Robert Müller c0da15737d Show kill messages also for sixup clients
For consistency between 0.6 and 0.7 clients, also show kill messages for 0.7 clients, now that DDNet client also supports finish messages.

Closes #5623.
2024-02-08 20:30:31 +01:00
Dennis Felsing 7dc446e086
Merge pull request #7942 from Robyt3/Client-SoundInit-Warning
Use generic client warning for failed sound init
2024-02-08 14:00:16 +00:00
Peakies 01503af071 clear codes 2024-02-08 15:31:57 +03:30
Dennis Felsing d0f3f802e2
Merge pull request #7948 from ChillerDragon/pr_editor_obj_comments
Cleanup editor object comments
2024-02-08 09:16:45 +00:00
ChillerDragon 860a472d5c Cleanup editor object comments 2024-02-08 15:59:26 +08:00
Robert Müller e4ea04950a Use generic client warning for failed sound init
Simplify code by using generic warning system instead of hard-coding the warning.
2024-02-07 23:55:00 +01:00
Dennis Felsing 1e012af2fd
Merge pull request #7945 from Robyt3/Client-Config-Error-Popup
Show warnings after client close instead of preventing quitting
2024-02-07 22:23:53 +00:00
Robert Müller 272c8095d0 Show warnings after client close instead of preventing quitting
Instead of preventing the client from quitting/restarting while a warning is shown in the menus, add warnings that should be shown after quitting/restarting (i.e. the warning when the config could not be saved) to a separate list and show these warnings using an OS message box after the client has been closed. Otherwise, the client is prevented from closing if a warning is shown without being automatically hidden, which causes the client to hang indefinitely in the CI.

The message boxes for warnings must be shown after the client has already been completely shutdown, otherwise the regular shutdown with the Vulkan backend crashes because showing the message box has already partially deinitialized the backend.

The quitting/restarting client state is now checked after updating the FIFO component, so quitting/restarting initiated via FIFO is effective immediately, although this should have little effect in practice.

For completeness, a log message is added also for the case that the config was saved successfully.

The GitHub CI seems to automatically confirm/disable OS message boxes, so they should not block workflows.
2024-02-07 22:11:44 +01:00
Peakies d40038c679 remove unnecessary variables and loop 2024-02-07 02:31:06 +03:30