<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/InputCommon/ControllerInterface/MappingCommon.cpp, branch release-prep-2506a</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>InputCommon: Use Clock from CommonTypes.</title>
<updated>2025-03-02T21:42:26+00:00</updated>
<author>
<name>Jordan Woyak</name>
<email>jordan.woyak@gmail.com</email>
</author>
<published>2025-03-02T21:42:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=e217d6c939900688588f5214ea188f0f505d8a09'/>
<id>e217d6c939900688588f5214ea188f0f505d8a09</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>DolphinQt/Mapping: Add setting to enable waiting for alternate mappings</title>
<updated>2025-02-01T07:54:10+00:00</updated>
<author>
<name>Jordan Woyak</name>
<email>jordan.woyak@gmail.com</email>
</author>
<published>2025-01-29T08:02:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=6e7e808b6614f98674dba7290bea2ea044c4d5d2'/>
<id>6e7e808b6614f98674dba7290bea2ea044c4d5d2</id>
<content type='text'>
using the OR-operator.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
using the OR-operator.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #13116 from mitaclaw/ranges-modernization-8-trivial-of</title>
<updated>2024-12-26T21:51:53+00:00</updated>
<author>
<name>JMC47</name>
<email>JMC4789@gmail.com</email>
</author>
<published>2024-12-26T21:51:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=532a8621daa5c0d8a3a55f64ffba9cb20209d455'/>
<id>532a8621daa5c0d8a3a55f64ffba9cb20209d455</id>
<content type='text'>
Ranges Algorithms Modernization - Of</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ranges Algorithms Modernization - Of</pre>
</div>
</content>
</entry>
<entry>
<title>Modernize `std::any_of` with ranges</title>
<updated>2024-12-16T03:54:16+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-10-01T00:26:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=140252ffc0ae71e8b5309bff7d6550189c602702'/>
<id>140252ffc0ae71e8b5309bff7d6550189c602702</id>
<content type='text'>
In WiimoteReal.cpp, JitRegCache.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.

In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In WiimoteReal.cpp, JitRegCache.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.

In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.
</pre>
</div>
</content>
</entry>
<entry>
<title>Modernize `std::all_of` with ranges</title>
<updated>2024-12-16T03:50:34+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-29T18:43:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=860e6cf5cb7d96499aecf6f6067783bdb71c29ad'/>
<id>860e6cf5cb7d96499aecf6f6067783bdb71c29ad</id>
<content type='text'>
In DITSpecification.cpp, MaterialAsset.cpp, and ShaderAsset.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.

In NetPlayClient.cpp, the non-trivial `NetPlay::Player` elements were being passed by value in `NetPlayClient::DoAllPlayersHaveGame()`. This has been fixed.

In WIABlob.cpp, the second example's predicate was returning the `std::optional` by value instead of implicitly converting it to a bool. This has been fixed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In DITSpecification.cpp, MaterialAsset.cpp, and ShaderAsset.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those.

In NetPlayClient.cpp, the non-trivial `NetPlay::Player` elements were being passed by value in `NetPlayClient::DoAllPlayersHaveGame()`. This has been fixed.

In WIABlob.cpp, the second example's predicate was returning the `std::optional` by value instead of implicitly converting it to a bool. This has been fixed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Modernize `std::unique` with ranges</title>
<updated>2024-10-18T01:39:12+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-29T03:19:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=5f3a8ff0de9d89ec162e1d2be7611b10f3d3740f'/>
<id>5f3a8ff0de9d89ec162e1d2be7611b10f3d3740f</id>
<content type='text'>
The new return value is `std::ranges::subrange`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The new return value is `std::ranges::subrange`.
</pre>
</div>
</content>
</entry>
<entry>
<title>Modernize `std::sort` with ranges</title>
<updated>2024-10-10T07:53:48+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-29T18:19:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=ebf7cebc32ac9af28dc2383192b7b14f7aea134f'/>
<id>ebf7cebc32ac9af28dc2383192b7b14f7aea134f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>StringUtil: Remove `JoinStrings`</title>
<updated>2024-09-23T04:09:36+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-22T07:24:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=5f906736863f35a7018aaa11a7cac408229c21cf'/>
<id>5f906736863f35a7018aaa11a7cac408229c21cf</id>
<content type='text'>
With 12 uses of `JoinStrings` in the codebase vs 36 uses of `fmt::join`, fmtlib's range adapter for string concatenation with delimiters is clearly the preferred option.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With 12 uses of `JoinStrings` in the codebase vs 36 uses of `fmt::join`, fmtlib's range adapter for string concatenation with delimiters is clearly the preferred option.
</pre>
</div>
</content>
</entry>
<entry>
<title>MappingCommon: Make use of std::erase_if</title>
<updated>2023-12-12T18:31:18+00:00</updated>
<author>
<name>Lioncash</name>
<email>mai.iam2048@gmail.com</email>
</author>
<published>2023-12-12T18:31:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=196f8e51230f7e7ee02a4eec1f9671786a93e7d7'/>
<id>196f8e51230f7e7ee02a4eec1f9671786a93e7d7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>InputCommon: Don't treat two analog inputs as a spurious trigger combo</title>
<updated>2023-06-06T20:07:14+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2023-06-06T20:07:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=71ac6ec23962a360e1f08abc3c7ff989ac8f1106'/>
<id>71ac6ec23962a360e1f08abc3c7ff989ac8f1106</id>
<content type='text'>
I've received a report from an Android user with a gamepad (a "BSP-D3")
where one physical trigger is controlling two analog axes at the same
time. This was causing RemoveSpuriousTriggerCombinations to delete both
axes, which is clearly not a desireable outcome.

With this change, now the axis with the greatest smoothness is kept,
or both in case they have the same smoothness.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I've received a report from an Android user with a gamepad (a "BSP-D3")
where one physical trigger is controlling two analog axes at the same
time. This was causing RemoveSpuriousTriggerCombinations to delete both
axes, which is clearly not a desireable outcome.

With this change, now the axis with the greatest smoothness is kept,
or both in case they have the same smoothness.
</pre>
</div>
</content>
</entry>
</feed>
