<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/UICommon/GameFileCache.cpp, branch 2603</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Added Triforce support</title>
<updated>2026-02-16T02:14:14+00:00</updated>
<author>
<name>crediar</name>
<email>crediar@rypp.net</email>
</author>
<published>2025-07-16T17:55:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=2c62214875e4d409136229421c44aa8b88fbb635'/>
<id>2c62214875e4d409136229421c44aa8b88fbb635</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean includes</title>
<updated>2026-01-24T15:50:10+00:00</updated>
<author>
<name>Sintendo</name>
<email>3380580+Sintendo@users.noreply.github.com</email>
</author>
<published>2025-12-24T09:14:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=972ec95cb3713296128bbbf56bcd5a265efbd544'/>
<id>972ec95cb3713296128bbbf56bcd5a265efbd544</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Common/FileSearch: Refactor DoFileSearch</title>
<updated>2026-01-24T15:50:10+00:00</updated>
<author>
<name>Sintendo</name>
<email>3380580+Sintendo@users.noreply.github.com</email>
</author>
<published>2025-12-24T09:14:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=f2e1c71803b953c9adb9528c168cbbde23b3b30a'/>
<id>f2e1c71803b953c9adb9528c168cbbde23b3b30a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Adding support for detecting .bin images</title>
<updated>2025-04-21T12:05:24+00:00</updated>
<author>
<name>Zopolis4</name>
<email>creatorsmithmdt@gmail.com</email>
</author>
<published>2021-07-20T16:18:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=494e2c05c217c6ba80ceecba7c3d7ce339ea55a9'/>
<id>494e2c05c217c6ba80ceecba7c3d7ce339ea55a9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify `std::find_if` with `std::ranges::find` and projections</title>
<updated>2025-03-09T20:26:35+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-09-21T21:43:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=62b2b939b5825e48c89b8a3ebb97d9fc38cb59e5'/>
<id>62b2b939b5825e48c89b8a3ebb97d9fc38cb59e5</id>
<content type='text'>
In LabelMap.cpp, the code is currently unused so I was unable to test it.

In WiiUtils.cpp, the magic value `1u` was replaced by the constant value `DiscIO::PARTITION_UPDATE`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In LabelMap.cpp, the code is currently unused so I was unable to test it.

In WiiUtils.cpp, the magic value `1u` was replaced by the constant value `DiscIO::PARTITION_UPDATE`.
</pre>
</div>
</content>
</entry>
<entry>
<title>GameList: Show (Disc 1) for first disc of two-disc games</title>
<updated>2024-04-14T20:55:18+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2024-04-11T23:35:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=37b89d5b711d33db0a462d820cbbeebb6cd70c73'/>
<id>37b89d5b711d33db0a462d820cbbeebb6cd70c73</id>
<content type='text'>
Append disc label to the first disc of two-disc games too, rather than
only labelling the second disc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Append disc label to the first disc of two-disc games too, rather than
only labelling the second disc.
</pre>
</div>
</content>
</entry>
<entry>
<title>GameFileCache: Use std::span with Update()</title>
<updated>2023-12-11T16:12:09+00:00</updated>
<author>
<name>Lioncash</name>
<email>mai.iam2048@gmail.com</email>
</author>
<published>2023-12-11T16:12:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=ff38362216ff3e73eb99f7fda90ec802da1386ff'/>
<id>ff38362216ff3e73eb99f7fda90ec802da1386ff</id>
<content type='text'>
All we're really doing is iterating over a sequence of strings, so we
don't need to tie this specifically to std::vector.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All we're really doing is iterating over a sequence of strings, so we
don't need to tie this specifically to std::vector.
</pre>
</div>
</content>
</entry>
<entry>
<title>GameFileCache: Pass std::function by reference rather than by value</title>
<updated>2023-12-11T16:09:18+00:00</updated>
<author>
<name>Lioncash</name>
<email>mai.iam2048@gmail.com</email>
</author>
<published>2023-12-11T16:04:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=2ca80adeb223bec7f7ce266d4c37d9e733a50899'/>
<id>2ca80adeb223bec7f7ce266d4c37d9e733a50899</id>
<content type='text'>
std::function is internally allowed to allocate, and these functions
aren't being stored anywhere (only called), so we can freely get rid
of some minor overhead here by passing by reference.

This change also creates aliases for the functions, so that there isn't
a lot of visual noise when reading the function signatures.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
std::function is internally allowed to allocate, and these functions
aren't being stored anywhere (only called), so we can freely get rid
of some minor overhead here by passing by reference.

This change also creates aliases for the functions, so that there isn't
a lot of visual noise when reading the function signatures.
</pre>
</div>
</content>
</entry>
<entry>
<title>DiscIO: Add support for CleanRip-style split ISOs.</title>
<updated>2023-03-05T18:23:55+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2023-02-12T21:08:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=655cc7f75cabf3a271e7dbfd4cecb9f214540817'/>
<id>655cc7f75cabf3a271e7dbfd4cecb9f214540817</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Android: Don't hold gameFileCache lock during updateAdditionalMetadata"</title>
<updated>2022-09-27T17:06:05+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2022-09-27T16:57:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=51debaeb47de93edec1ba10161df74a2f7f49209'/>
<id>51debaeb47de93edec1ba10161df74a2f7f49209</id>
<content type='text'>
This reverts commit fb265b610de08df5509e56beeb3dbff68f7d4396.

The optimization in that commit is safe when the executor thread is
writing and the GUI thread is reading, but I had failed to take into
account that it's unsafe when the GUI thread is writing and the executor
thread is reading. (The native UpdateAdditionalMetadata function loops
through m_cached_files, which is unsafe if another thread is adding
elements to m_cached_files simultaneously.)

Losing out on this optimization isn't too bad, because
719930bb390ed0020b99a7942289d83218e99d69 makes it very unlikely that
both threads will want the lock at the same time.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit fb265b610de08df5509e56beeb3dbff68f7d4396.

The optimization in that commit is safe when the executor thread is
writing and the GUI thread is reading, but I had failed to take into
account that it's unsafe when the GUI thread is writing and the executor
thread is reading. (The native UpdateAdditionalMetadata function loops
through m_cached_files, which is unsafe if another thread is adding
elements to m_cached_files simultaneously.)

Losing out on this optimization isn't too bad, because
719930bb390ed0020b99a7942289d83218e99d69 makes it very unlikely that
both threads will want the lock at the same time.
</pre>
</div>
</content>
</entry>
</feed>
