<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/DolphinQt/MenuBar.cpp, branch release-prep-2407</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Revert "Audit uses of IsRunning and GetState"</title>
<updated>2024-06-26T18:36:46+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-06-26T18:34:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=bc67fc97c39628c76a4dbca411b0e8a9bfaf726a'/>
<id>bc67fc97c39628c76a4dbca411b0e8a9bfaf726a</id>
<content type='text'>
This reverts commit 72cf2bdb87f09deff22e1085de3290126aa4ad05.

SYSCONF settings are getting cleared when they shouldn't be. Let's
revert the change until I get proper time to figure out why it's broken.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 72cf2bdb87f09deff22e1085de3290126aa4ad05.

SYSCONF settings are getting cleared when they shouldn't be. Let's
revert the change until I get proper time to figure out why it's broken.
</pre>
</div>
</content>
</entry>
<entry>
<title>Audit uses of IsRunning and GetState</title>
<updated>2024-06-21T18:52:55+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-06-02T14:45:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=72cf2bdb87f09deff22e1085de3290126aa4ad05'/>
<id>72cf2bdb87f09deff22e1085de3290126aa4ad05</id>
<content type='text'>
Some pieces of code are calling IsRunning because there's some
particular action that only makes sense when emulation is running, for
instance showing the state of the emulated CPU. IsRunning is appropriate
to use for this. Then there are pieces of code that are calling
IsRunning because there's some particular thing they must avoid doing
e.g. when the CPU thread is running or IOS is running. IsRunning isn't
quite appropriate for this. Such code should also be checking for the
states Starting and Stopping. Keep in mind that:

* When the state is Starting, the state can asynchronously change to
  Running at any time.
* When we try to stop the core, the state gets set to Stopping before we
  take any action to actually stop things.

This commit adds a new method Core::IsUninitialized, and changes all
callers of IsRunning and GetState that look to me like they should be
changed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some pieces of code are calling IsRunning because there's some
particular action that only makes sense when emulation is running, for
instance showing the state of the emulated CPU. IsRunning is appropriate
to use for this. Then there are pieces of code that are calling
IsRunning because there's some particular thing they must avoid doing
e.g. when the CPU thread is running or IOS is running. IsRunning isn't
quite appropriate for this. Such code should also be checking for the
states Starting and Stopping. Keep in mind that:

* When the state is Starting, the state can asynchronously change to
  Running at any time.
* When we try to stop the core, the state gets set to Stopping before we
  take any action to actually stop things.

This commit adds a new method Core::IsUninitialized, and changes all
callers of IsRunning and GetState that look to me like they should be
changed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use a stub AchivementManager when USE_RETRO_ACHIEVEMENTS isn't defined</title>
<updated>2024-06-06T06:26:20+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-06-04T14:20:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=22aa88109f5a5964e1b66d31221647cafab7f0f5'/>
<id>22aa88109f5a5964e1b66d31221647cafab7f0f5</id>
<content type='text'>
This lets us reduce the number of USE_RETRO_ACHIEVEMENTS ifdefs in the
code base, reducing visual clutter. In particular, needing an ifdef for
each call to IsHardcodeModeActive was annoying to me. This also reduces
the risk that someone writes code that accidentally fails to compile
with USE_RETRO_ACHIEVEMENTS disabled.

We could cut down on ifdefs even further by making HardcodeWarningWidget
always exist, but that would result in non-trivial code ending up in the
binary even with USE_RETRO_ACHIEVEMENTS disabled, so I'm leaving it out
of this PR. It's not a lot of code though, so I might end up revisiting
it at some point.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This lets us reduce the number of USE_RETRO_ACHIEVEMENTS ifdefs in the
code base, reducing visual clutter. In particular, needing an ifdef for
each call to IsHardcodeModeActive was annoying to me. This also reduces
the risk that someone writes code that accidentally fails to compile
with USE_RETRO_ACHIEVEMENTS disabled.

We could cut down on ifdefs even further by making HardcodeWarningWidget
always exist, but that would result in non-trivial code ending up in the
binary even with USE_RETRO_ACHIEVEMENTS disabled, so I'm leaving it out
of this PR. It's not a lot of code though, so I might end up revisiting
it at some point.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core::IsRunning: Avoid Global System Accessor</title>
<updated>2024-05-01T15:54:17+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-04-09T03:33:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=0df401b164bbe2b0314b74f1fd6385e852bbe098'/>
<id>0df401b164bbe2b0314b74f1fd6385e852bbe098</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #12691 from mitaclaw/jit-profiling-restoration</title>
<updated>2024-04-12T23:35:25+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2024-04-12T23:35:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=0c1a76398bd1dcc9a8efdd796fbfb0ee5aec4a95'/>
<id>0c1a76398bd1dcc9a8efdd796fbfb0ee5aec4a95</id>
<content type='text'>
JitCache: Software Profiling Restoration</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
JitCache: Software Profiling Restoration</pre>
</div>
</content>
</entry>
<entry>
<title>MenuBar: Optimize SearchInstruction</title>
<updated>2024-04-11T00:00:45+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-04-10T23:51:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=bc7b11517fa198f569bb01f178116e70d68e31a4'/>
<id>bc7b11517fa198f569bb01f178116e70d68e31a4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>DolphinQt: Access Software JIT Profiling</title>
<updated>2024-04-09T20:43:32+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-04-05T23:24:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=6dad5cee6526026dee3f28c0086c85ebe983bc3f'/>
<id>6dad5cee6526026dee3f28c0086c85ebe983bc3f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Core::GetState: Avoid Global System Accessor</title>
<updated>2024-04-08T23:23:23+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-03-28T18:35:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=eb92d6f0a8c930692de64bd41c5ddee403771023'/>
<id>eb92d6f0a8c930692de64bd41c5ddee403771023</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>DolphinQt: A Ubiquitous Signal For When Symbols Change</title>
<updated>2024-03-28T16:57:22+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-03-17T06:05:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=b52a08d5332949c3b22f8434155cc8095d94df3a'/>
<id>b52a08d5332949c3b22f8434155cc8095d94df3a</id>
<content type='text'>
There were three distinct mechanisms for signaling symbol changes in DolphinQt: `Host::NotifyMapLoaded`, `MenuBar::NotifySymbolsUpdated`, and `CodeViewWidget::SymbolsChanged`. The behavior of these signals has been consolidated into the new `Host::PPCSymbolsUpdated` signal, which can be emitted from anywhere in DolphinQt to properly update symbols everywhere in DolphinQt.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There were three distinct mechanisms for signaling symbol changes in DolphinQt: `Host::NotifyMapLoaded`, `MenuBar::NotifySymbolsUpdated`, and `CodeViewWidget::SymbolsChanged`. The behavior of these signals has been consolidated into the new `Host::PPCSymbolsUpdated` signal, which can be emitted from anywhere in DolphinQt to properly update symbols everywhere in DolphinQt.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #12620 from mitaclaw/jit-interface-cpu-thread-guard</title>
<updated>2024-03-22T03:17:33+00:00</updated>
<author>
<name>Admiral H. Curtiss</name>
<email>pikachu025@gmail.com</email>
</author>
<published>2024-03-22T03:17:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=f814dc58b58a48baa37123aee6ee419e17e7fbda'/>
<id>f814dc58b58a48baa37123aee6ee419e17e7fbda</id>
<content type='text'>
JitInterface::ClearCache: Modernize With CPUThreadGuard</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
JitInterface::ClearCache: Modernize With CPUThreadGuard</pre>
</div>
</content>
</entry>
</feed>
