<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/DolphinQt/CheatsManager.cpp, branch release-prep-2503a</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Partially revert "Revert "Audit uses of IsRunning and GetState""</title>
<updated>2024-10-04T16:35:41+00:00</updated>
<author>
<name>JosJuice</name>
<email>josjuice@gmail.com</email>
</author>
<published>2024-07-02T15:27:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=6ca2da53e86766f54df1ae79e65bb220b41ed7ef'/>
<id>6ca2da53e86766f54df1ae79e65bb220b41ed7ef</id>
<content type='text'>
This reverts the revert commit bc67fc97c39628c76a4dbca411b0e8a9bfaf726a,
except for the changes in BaseConfigLoader.cpp, which caused the bug
that made us revert 72cf2bdb87f09deff22e1085de3290126aa4ad05. PR 12917
contains an improved change to BaseConfigLoader.cpp, which can be merged
(or rejected) independently.

A few changes have also been made based on review comments.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts the revert commit bc67fc97c39628c76a4dbca411b0e8a9bfaf726a,
except for the changes in BaseConfigLoader.cpp, which caused the bug
that made us revert 72cf2bdb87f09deff22e1085de3290126aa4ad05. PR 12917
contains an improved change to BaseConfigLoader.cpp, which can be merged
(or rejected) independently.

A few changes have also been made based on review comments.
</pre>
</div>
</content>
</entry>
<entry>
<title>CheatsManager: Create ARCodeWidget and GeckoCodeWidget only once.</title>
<updated>2024-08-26T06:44:17+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2024-07-31T02:55:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=f4db168a8e63751535d174d27abe7dbab19d4d74'/>
<id>f4db168a8e63751535d174d27abe7dbab19d4d74</id>
<content type='text'>
Create ARCodeWidget and GeckoCodeWidget once on startup rather than
every time a game is launched or shutdown.

In addition to losing focus on the tab (since the previous widget and
tab no longer existed), the behavior prior to this commit could cause a
crash if the user initiated a game shutdown and then opened a code edit
window since the AR/GeckoCodeWidget would get deleted in the meantime.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Create ARCodeWidget and GeckoCodeWidget once on startup rather than
every time a game is launched or shutdown.

In addition to losing focus on the tab (since the previous widget and
tab no longer existed), the behavior prior to this commit could cause a
crash if the user initiated a game shutdown and then opened a code edit
window since the AR/GeckoCodeWidget would get deleted in the meantime.
</pre>
</div>
</content>
</entry>
<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>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>CheatsManager/CheatSearchWidget: Avoid Global System Accessor</title>
<updated>2024-03-12T03:51:15+00:00</updated>
<author>
<name>mitaclaw</name>
<email>140017135+mitaclaw@users.noreply.github.com</email>
</author>
<published>2024-03-01T16:07:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c377c1e21ea64435a4e0fb2d08c03cabb4ec981d'/>
<id>c377c1e21ea64435a4e0fb2d08c03cabb4ec981d</id>
<content type='text'>
OnResetClicked and GenerateARCode appear to have been using the CPUThreadGuard in error.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OnResetClicked and GenerateARCode appear to have been using the CPUThreadGuard in error.
</pre>
</div>
</content>
</entry>
<entry>
<title>Disable cheats in hardcore mode</title>
<updated>2023-12-02T21:41:17+00:00</updated>
<author>
<name>LillyJadeKatrin</name>
<email>lilly.kitty.1988@gmail.com</email>
</author>
<published>2023-06-08T01:53:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=3aebbbb3e74f24b6da7537052f8b78c6b600eefa'/>
<id>3aebbbb3e74f24b6da7537052f8b78c6b600eefa</id>
<content type='text'>
RetroAchievements does not allow cheats such as Action Replay or Gecko in hardcore mode, for fairness.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RetroAchievements does not allow cheats such as Action Replay or Gecko in hardcore mode, for fairness.
</pre>
</div>
</content>
</entry>
<entry>
<title>CheatSearchWidget: Add checkbox to toggle Current Value autoupdate</title>
<updated>2023-11-01T00:35:14+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2023-10-29T22:20:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=9230266529ff70981a89a9cf95e9665a479f1168'/>
<id>9230266529ff70981a89a9cf95e9665a479f1168</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>CheatSearch: Update Current Values at end of frame</title>
<updated>2023-11-01T00:34:31+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2023-10-28T23:30:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=fdb7328c737f2bba148b903491b66fa62cc03703'/>
<id>fdb7328c737f2bba148b903491b66fa62cc03703</id>
<content type='text'>
At the end of each frame automatically update the Current Value for
visible table rows in the selected and visible CheatSearchWidget (if
any). Also update all Current Values in all CheatSearchWidgets when the
State changes to Paused.

Only updating visible table rows serves to minimize the performance cost
of this feature. If the user scrolls to an un-updated cell it will
promptly be updated by either the next VIEndFieldEvent or the State
transitioning to Paused.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
At the end of each frame automatically update the Current Value for
visible table rows in the selected and visible CheatSearchWidget (if
any). Also update all Current Values in all CheatSearchWidgets when the
State changes to Paused.

Only updating visible table rows serves to minimize the performance cost
of this feature. If the user scrolls to an un-updated cell it will
promptly be updated by either the next VIEndFieldEvent or the State
transitioning to Paused.
</pre>
</div>
</content>
</entry>
<entry>
<title>DolphinQt: add a 'add to watch' context menu item that allows you to add a memory location found in a cheat search to be added to the watch list</title>
<updated>2022-12-23T18:31:33+00:00</updated>
<author>
<name>iwubcode</name>
<email>iwubcode@users.noreply.github.com</email>
</author>
<published>2022-12-23T07:07:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c8a6ff630930c16bb59ec6922a543e41be01e461'/>
<id>c8a6ff630930c16bb59ec6922a543e41be01e461</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
