| Age | Commit message (Collapse) | Author |
|
Add support for libfmt-11
|
|
fmt::join was moved into fmt/ranges.h
Signed-off-by: Alfred Wingate <parona@protonmail.com>
|
|
Adds support for choosing to present the full resolution
independently to each eye when using side-by-side or
top-and-bottom 3D.
|
|
|
|
|
|
|
|
|
|
Move some #includes around to match the Contributing guidelines.
|
|
Things using dolphin_find_optional_system_library need to link against the name used there or they won't work with both the system and bundled cases
|
|
|
|
from json
|
|
|
|
This causes Dual Core to lock up during the boot sequence, because it tries to wait for a not-yet-running GPU thread.
Fixes https://bugs.dolphin-emu.org/issues/13559
|
|
Clean up Core::GetState
|
|
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.
|
|
Core::GetState reads from four different pieces of state: s_is_stopping,
s_hardware_initialized, s_is_booting, and CPUManager::IsStepping.
I'm keeping that last one as is for now because there's code in Dolphin
that sets it directly, but we can unify the other three to make things
easier to reason about.
This commit also gets rid of s_is_started. This was previously used in
Core::IsRunningAndStarted to ensure true wouldn't be returned until the
CPU thread was started, but it wasn't used in Core::GetState, so
Core::GetState would happily return State::Running after we had
initialized the hardware but before we had initialized the CPU thread.
As far as I know, there are no callers that have any real need to know
whether the boot process is currently initializing the hardware or the
CPU thread. Perhaps once upon a time there was a desire to make the
apploader debuggable, but a long time has passed without anyone stepping
up to implement it, and the way CBoot::RunApploader is implemented makes
it rather difficult. So this commit makes all the functions in Core.cpp
consider the core to still be starting until the CPU thread is started.
|
|
CMake dependency fixes
|
|
|
|
Hide Challenge Icons when OSD Messages Disabled
|
|
|
|
Messages with an icon and no text (such as in the game start sequence) had an oversized margin due to ImGui adding padding for an empty string.
|
|
OSD messages with an icon and text will display the text to the right of the icon instead of below it.
|
|
|
|
Common: add Json helper utilities for loading or saving to a file
|
|
LillyJadeKatrin/retroachievements-challenge-refactor
Refactored Challenge Icons to handle icon updates
|
|
If an icon is displayed on screen before it downloads, it was displaying a default icon but it would fail to load the actual icon even after it was downloaded. This fixes that.
|
|
|
|
VideoCommon: update custom pipeline to use a texture's sampler instead of linear sampler if the texture is used
|
|
VideoCommon: allow custom shaders to set the alpha value
|
|
|
|
Use a stub AchivementManager when USE_RETRO_ACHIEVEMENTS isn't defined
|
|
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.
|
|
VideoCommon: use imgui mouse position event when the mouse position changes
|
|
used in other places in the future
|
|
texture is in use
|
|
|
|
|
|
Achievement badges/icons are refactored into the type CustomTextureData::ArraySlice::Level as that is the data type images loaded from the filesystem will be. This includes everything that uses the badges in the Qt UI and OnScreenDisplay, and similarly removes the OSD::Icon type because Level already contains that information.
|
|
VideoCommon: More specific subgroup op bugs
|
|
smooth regardless of frame-times and matches keyboard events, this system was introduced in 1.87
|
|
Replace Common::BitCast with std::bit_cast
|
|
|
|
|
|
Up to four leaderboards are displayed in a window in the bottom right of the screen (vertically above challenge icons, if there are any). As per RetroAchievements standards, the markers only display the current leaderboard values with no further context necessary.
|
|
blending is enabled
|
|
|
|
Happened to find this when working on the previous commit.
|
|
Now only VertexLoader remains... But that one might be tricky.
|
|
To ensure memory safety, callers of GetPointer have to perform a bounds
check. But how is this bounds check supposed to be performed?
GetPointerForRange contained one implementation of a bounds check, but
it was cumbersome, and it also isn't obvious why it's correct.
To make doing the right thing easier, this commit changes GetPointer to
return a span that tells the caller how many bytes it's allowed to
access.
|
|
|