mirror of
https://github.com/PCSX2/pcsx2.git
synced 2026-08-20 04:43:09 +02:00
Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
99bfb337d5 | ||
|
|
01a3e955d9 | ||
|
|
2d735b67b7 | ||
|
|
bd643f2e93 |
@@ -12928,6 +12928,7 @@ SCUS-97584:
|
||||
autoFlush: 2
|
||||
preloadFrameData: 1
|
||||
nativeScaling: 2 # Fixes post-processing.
|
||||
halfPixelOffset: 4 # Aligns post bloom.
|
||||
SCUS-97589:
|
||||
name: "NBA '08 featuring The Life Vol.3"
|
||||
region: "NTSC-U"
|
||||
@@ -21923,6 +21924,7 @@ SLES-52940:
|
||||
region: "PAL-M3"
|
||||
gsHWFixes:
|
||||
halfPixelOffset: 5 # Fixes double image and aligns glow effects.
|
||||
nativeScaling: 2 # Fixes depth blur.
|
||||
SLES-52941:
|
||||
name: "Gungrave - Overdose"
|
||||
region: "PAL-M3"
|
||||
@@ -25662,7 +25664,6 @@ SLES-54138:
|
||||
preloadFrameData: 1 # Fixes menu graphics.
|
||||
autoFlush: 1 # Fixes motion blur.
|
||||
minimumBlendingLevel: 2 # Improves post effects.
|
||||
limit24BitDepth: 2 # Fixes icon brightness.
|
||||
SLES-54139:
|
||||
name: "Earache - Extreme Metal Racing"
|
||||
region: "PAL-E"
|
||||
@@ -26319,7 +26320,6 @@ SLES-54335:
|
||||
preloadFrameData: 1 # Fixes menu graphics.
|
||||
autoFlush: 1 # Fixes motion blur.
|
||||
minimumBlendingLevel: 2 # Improves post effects.
|
||||
limit24BitDepth: 2 # Fixes icon brightness.
|
||||
SLES-54336:
|
||||
name: "Lumines Plus"
|
||||
region: "PAL-M5"
|
||||
@@ -45832,6 +45832,7 @@ SLPM-65791:
|
||||
region: "NTSC-J"
|
||||
gsHWFixes:
|
||||
halfPixelOffset: 5 # Fixes double image and aligns glow effects.
|
||||
nativeScaling: 2 # Fixes depth blur.
|
||||
SLPM-65793:
|
||||
name: "SSX3 [EA BEST HITS]"
|
||||
name-sort: "SSX3 [EA BEST HITS]"
|
||||
@@ -69378,6 +69379,7 @@ SLUS-20969:
|
||||
compat: 5
|
||||
gsHWFixes:
|
||||
halfPixelOffset: 5 # Fixes double image and aligns glow effects.
|
||||
nativeScaling: 2 # Fixes depth blur.
|
||||
SLUS-20970:
|
||||
name: "Rumble Roses"
|
||||
region: "NTSC-U"
|
||||
@@ -71847,7 +71849,6 @@ SLUS-21344:
|
||||
preloadFrameData: 1 # Fixes menu graphics.
|
||||
autoFlush: 1 # Fixes motion blur.
|
||||
minimumBlendingLevel: 2 # Improves post effects.
|
||||
limit24BitDepth: 2 # Fixes icon brightness.
|
||||
SLUS-21345:
|
||||
name: "Grandia III [Disc 2 of 2]"
|
||||
region: "NTSC-U"
|
||||
@@ -75406,7 +75407,6 @@ SLUS-28061:
|
||||
preloadFrameData: 1 # Fixes menu graphics.
|
||||
autoFlush: 1 # Fixes motion blur.
|
||||
minimumBlendingLevel: 2 # Improves post effects.
|
||||
limit24BitDepth: 2 # Fixes icon brightness.
|
||||
SLUS-28062:
|
||||
name: "Dance Factory [Trade Demo]"
|
||||
region: "NTSC-U"
|
||||
@@ -75910,6 +75910,7 @@ SLUS-29132:
|
||||
region: "NTSC-U"
|
||||
gsHWFixes:
|
||||
halfPixelOffset: 5 # Fixes double image and aligns glow effects.
|
||||
nativeScaling: 2 # Fixes depth blur.
|
||||
SLUS-29133:
|
||||
name: "Namco Transmission Demo Disc Vol.2"
|
||||
region: "NTSC-U"
|
||||
@@ -76193,7 +76194,6 @@ SLUS-29188:
|
||||
preloadFrameData: 1 # Fixes menu graphics.
|
||||
autoFlush: 1 # Fixes motion blur.
|
||||
minimumBlendingLevel: 2 # Improves post effects.
|
||||
limit24BitDepth: 2 # Fixes icon brightness.
|
||||
SLUS-29189:
|
||||
name: "FIFA World Cup - Germany 2006 [Demo]"
|
||||
region: "NTSC-U"
|
||||
@@ -76713,6 +76713,7 @@ TLES-52940:
|
||||
region: "PAL-E"
|
||||
gsHWFixes:
|
||||
halfPixelOffset: 5 # Fixes double image and aligns glow effects.
|
||||
nativeScaling: 2 # Fixes depth blur.
|
||||
TLES-53544:
|
||||
name: "Pro Evolution Soccer 5 Beta Trial Code"
|
||||
region: "PAL-E"
|
||||
|
||||
@@ -1202,21 +1202,6 @@ void MainWindow::updateDisplayRelatedActions(bool has_surface, bool render_to_ma
|
||||
QSignalBlocker blocker(m_ui.actionToolbarFullscreen);
|
||||
m_ui.actionToolbarFullscreen->setChecked(fullscreen);
|
||||
}
|
||||
|
||||
#ifdef __APPLE__
|
||||
if (render_to_main && fullscreen)
|
||||
{
|
||||
m_ui.toolBar->setVisible(false);
|
||||
m_ui.statusBar->setVisible(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_ui.toolBar->setVisible(m_ui.actionViewToolbar->isChecked());
|
||||
m_ui.statusBar->setVisible(m_ui.actionViewStatusBar->isChecked());
|
||||
}
|
||||
m_ui.actionViewToolbar->setEnabled(!(render_to_main && fullscreen));
|
||||
m_ui.actionViewStatusBar->setEnabled(!(render_to_main && fullscreen));
|
||||
#endif
|
||||
}
|
||||
|
||||
void MainWindow::updateStatusBarWidgetVisibility()
|
||||
@@ -1391,12 +1376,6 @@ bool MainWindow::isRenderingFullscreen() const
|
||||
if (!MTGS::IsOpen() || !m_display_surface)
|
||||
return false;
|
||||
|
||||
#ifdef __APPLE__
|
||||
// When rendering to main, the main window is what goes fullscreen.
|
||||
if (isRenderingToMain())
|
||||
return isFullScreen();
|
||||
#endif
|
||||
|
||||
return m_display_surface->isFullScreen();
|
||||
}
|
||||
|
||||
@@ -1415,12 +1394,7 @@ bool MainWindow::shouldHideMainWindow() const
|
||||
{
|
||||
// NOTE: We can't use isRenderingToMain() here, because this happens post-fullscreen-switch.
|
||||
return (Host::GetBoolSettingValue("UI", "HideMainWindowWhenRunning", false) && !g_emu_thread->shouldRenderToMain()) ||
|
||||
#ifdef __APPLE__
|
||||
// macOS keeps fullscreen on the main window so don't hide it there.
|
||||
(g_emu_thread->shouldRenderToMain() && (g_emu_thread->isExclusiveFullscreen() || m_is_temporarily_windowed)) ||
|
||||
#else
|
||||
(g_emu_thread->shouldRenderToMain() && (isRenderingFullscreen() || g_emu_thread->isExclusiveFullscreen() || m_is_temporarily_windowed)) ||
|
||||
#endif
|
||||
Host::InNoGUIMode();
|
||||
}
|
||||
|
||||
@@ -2822,27 +2796,6 @@ std::optional<WindowInfo> MainWindow::acquireRenderWindow(bool recreate_window,
|
||||
return m_display_surface->getWindowInfo();
|
||||
}
|
||||
|
||||
#ifdef __APPLE__
|
||||
// Skip recreating when toggling fullscreen if we're still rendering to main.
|
||||
if (m_display_created && !recreate_window && is_rendering_to_main && render_to_main && !changing_surfaceless)
|
||||
{
|
||||
updateDisplayRelatedActions(true, true, fullscreen);
|
||||
|
||||
if (fullscreen)
|
||||
showFullScreen();
|
||||
else
|
||||
showNormal();
|
||||
|
||||
while (!m_is_closing && isFullScreen() != fullscreen)
|
||||
QApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
|
||||
|
||||
updateDisplayWidgetCursor();
|
||||
m_display_surface->setFocus();
|
||||
updateWindowState();
|
||||
return m_display_surface->getWindowInfo();
|
||||
}
|
||||
#endif
|
||||
|
||||
destroyDisplayWidget(surfaceless);
|
||||
m_display_created = true;
|
||||
|
||||
@@ -2882,23 +2835,14 @@ void MainWindow::createDisplayWidget(bool fullscreen, bool render_to_main)
|
||||
{
|
||||
// If we're rendering to main and were hidden (e.g. coming back from fullscreen),
|
||||
// make sure we're visible before trying to add ourselves. Otherwise Wayland breaks.
|
||||
#ifdef __APPLE__
|
||||
// On macOS the main window itself goes fullscreen so it needs to be visible then too.
|
||||
if (render_to_main && !isVisible())
|
||||
#else
|
||||
if (!fullscreen && render_to_main && !isVisible())
|
||||
#endif
|
||||
{
|
||||
setVisible(true);
|
||||
QGuiApplication::sync();
|
||||
}
|
||||
|
||||
m_display_surface = new DisplaySurface();
|
||||
#ifdef __APPLE__
|
||||
if (!render_to_main)
|
||||
#else
|
||||
if (fullscreen || !render_to_main)
|
||||
#endif
|
||||
{
|
||||
#ifdef DISPLAY_SURFACE_WINDOW
|
||||
m_display_surface->setTitle(windowTitle());
|
||||
@@ -2914,11 +2858,7 @@ void MainWindow::createDisplayWidget(bool fullscreen, bool render_to_main)
|
||||
m_display_container = m_display_surface->createWindowContainer(getContentParent());
|
||||
}
|
||||
|
||||
#ifdef __APPLE__
|
||||
if (!render_to_main && (fullscreen || g_emu_thread->isExclusiveFullscreen()))
|
||||
#else
|
||||
if (fullscreen || g_emu_thread->isExclusiveFullscreen())
|
||||
#endif
|
||||
{
|
||||
// On Wayland, while move/restoreGeometry can't position the window, it can influence which screen they show up on.
|
||||
// Other platforms can position windows fine, but the only thing that matters here is the screen.
|
||||
@@ -2974,15 +2914,6 @@ void MainWindow::createDisplayWidget(bool fullscreen, bool render_to_main)
|
||||
|
||||
updateDisplayRelatedActions(true, render_to_main, fullscreen);
|
||||
|
||||
#ifdef __APPLE__
|
||||
if (render_to_main && fullscreen)
|
||||
{
|
||||
showFullScreen();
|
||||
while (!m_is_closing && !isFullScreen())
|
||||
QApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
|
||||
}
|
||||
#endif
|
||||
|
||||
// We need the surface visible.
|
||||
QGuiApplication::sync();
|
||||
}
|
||||
@@ -3075,16 +3006,6 @@ void MainWindow::destroyDisplayWidget(bool show_game_list)
|
||||
if (!(m_display_surface->isFullScreen() || m_display_is_exclusive_fullscreen) && !isRenderingToMain())
|
||||
saveDisplayWindowGeometryToConfig();
|
||||
|
||||
#ifdef __APPLE__
|
||||
// Need to leave fullscreen before destroying otherwise we could get stuck in it.
|
||||
if (isRenderingToMain() && isFullScreen())
|
||||
{
|
||||
showNormal();
|
||||
while (isFullScreen())
|
||||
QApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (isRenderingToMain())
|
||||
{
|
||||
pxAssertRel(m_ui.mainContainer->indexOf(m_display_container) == 1, "Display widget in stack");
|
||||
|
||||
@@ -898,12 +898,7 @@ std::optional<WindowInfo> EmuThread::acquireRenderWindow(bool recreate_window)
|
||||
// Check if we're wanting to get exclusive fullscreen. This should be safe to read, since we're going to be calling from the GS thread.
|
||||
m_is_exclusive_fullscreen = m_is_fullscreen && GSWantsExclusiveFullscreen();
|
||||
const bool window_fullscreen = m_is_fullscreen && !m_is_exclusive_fullscreen;
|
||||
#ifdef __APPLE__
|
||||
// Fullscreen the main window instead of opening a separate one on macOS.
|
||||
const bool render_to_main = !m_is_exclusive_fullscreen && m_is_rendering_to_main;
|
||||
#else
|
||||
const bool render_to_main = !m_is_exclusive_fullscreen && !window_fullscreen && m_is_rendering_to_main;
|
||||
#endif
|
||||
|
||||
return emit onAcquireRenderWindowRequested(recreate_window, window_fullscreen, render_to_main, m_is_surfaceless);
|
||||
}
|
||||
|
||||
+4468
-6042
File diff suppressed because it is too large
Load Diff
+4874
-6449
File diff suppressed because it is too large
Load Diff
+3005
-3528
File diff suppressed because it is too large
Load Diff
+4468
-6042
File diff suppressed because it is too large
Load Diff
+4466
-6038
File diff suppressed because it is too large
Load Diff
+4468
-6042
File diff suppressed because it is too large
Load Diff
+4468
-6042
File diff suppressed because it is too large
Load Diff
+4431
-6007
File diff suppressed because it is too large
Load Diff
+8759
-10325
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -5826,116 +5826,116 @@ Do you want to overwrite?</source>
|
||||
<context>
|
||||
<name>EmuThread</name>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1062"/>
|
||||
<location filename="../QtHost.cpp" line="1057"/>
|
||||
<source>No Image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1084"/>
|
||||
<location filename="../QtHost.cpp" line="1079"/>
|
||||
<source>FPS: N/A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1084"/>
|
||||
<location filename="../QtHost.cpp" line="1079"/>
|
||||
<source>FPS: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1001"/>
|
||||
<location filename="../QtHost.cpp" line="996"/>
|
||||
<source>Slot: %1 | %2 | EE: %3% | VU: %4% | GS: %5%</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1010"/>
|
||||
<location filename="../QtHost.cpp" line="1005"/>
|
||||
<source>Slot: %1 | %2 | EE: %3% | GS: %4%</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1038"/>
|
||||
<location filename="../QtHost.cpp" line="1033"/>
|
||||
<source>Volume: %1%</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1040"/>
|
||||
<location filename="../QtHost.cpp" line="1035"/>
|
||||
<source>Volume: Muted</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1051"/>
|
||||
<location filename="../QtHost.cpp" line="1046"/>
|
||||
<source>Auto (%1)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1064"/>
|
||||
<location filename="../QtHost.cpp" line="1059"/>
|
||||
<source>%1x%2 (%3x)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1077"/>
|
||||
<location filename="../QtHost.cpp" line="1072"/>
|
||||
<source>GPU: %1%</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1091"/>
|
||||
<location filename="../QtHost.cpp" line="1086"/>
|
||||
<source>VPS: N/A</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1091"/>
|
||||
<location filename="../QtHost.cpp" line="1086"/>
|
||||
<source>VPS: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1098"/>
|
||||
<location filename="../QtHost.cpp" line="1093"/>
|
||||
<source>Speed: %1%</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1162"/>
|
||||
<location filename="../QtHost.cpp" line="1157"/>
|
||||
<source>Game: %1 (%2)
|
||||
</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1170"/>
|
||||
<location filename="../QtHost.cpp" line="1165"/>
|
||||
<source>Rich presence inactive or unsupported.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1174"/>
|
||||
<location filename="../QtHost.cpp" line="1169"/>
|
||||
<source>Game not loaded or no RetroAchievements available.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1611"/>
|
||||
<location filename="../QtHost.cpp" line="1631"/>
|
||||
<location filename="../QtHost.cpp" line="1639"/>
|
||||
<location filename="../QtHost.cpp" line="1673"/>
|
||||
<location filename="../QtHost.cpp" line="1606"/>
|
||||
<location filename="../QtHost.cpp" line="1626"/>
|
||||
<location filename="../QtHost.cpp" line="1634"/>
|
||||
<location filename="../QtHost.cpp" line="1668"/>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1611"/>
|
||||
<location filename="../QtHost.cpp" line="1606"/>
|
||||
<source>Failed to create HTTPDownloader.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1619"/>
|
||||
<location filename="../QtHost.cpp" line="1614"/>
|
||||
<source>Downloading %1...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1632"/>
|
||||
<location filename="../QtHost.cpp" line="1627"/>
|
||||
<source>Download failed with HTTP status code %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1640"/>
|
||||
<location filename="../QtHost.cpp" line="1635"/>
|
||||
<source>Download failed: Data is empty.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1674"/>
|
||||
<location filename="../QtHost.cpp" line="1669"/>
|
||||
<source>Failed to write downloaded data to file '%1'.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -18801,13 +18801,13 @@ Right click to clear binding</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1919"/>
|
||||
<location filename="../MainWindow.cpp" line="1980"/>
|
||||
<location filename="../MainWindow.cpp" line="1893"/>
|
||||
<location filename="../MainWindow.cpp" line="1954"/>
|
||||
<source>Change Disc</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3567"/>
|
||||
<location filename="../MainWindow.cpp" line="3488"/>
|
||||
<source>Load State</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -19275,7 +19275,7 @@ Right click to clear binding</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.ui" line="1034"/>
|
||||
<location filename="../MainWindow.cpp" line="2023"/>
|
||||
<location filename="../MainWindow.cpp" line="1997"/>
|
||||
<source>Start Big Picture &Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -19389,7 +19389,7 @@ Right click to clear binding</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.ui" line="1042"/>
|
||||
<location filename="../MainWindow.cpp" line="2024"/>
|
||||
<location filename="../MainWindow.cpp" line="1998"/>
|
||||
<source>Big Picture</source>
|
||||
<comment>In Toolbar</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -19464,8 +19464,8 @@ Right click to clear binding</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="859"/>
|
||||
<location filename="../MainWindow.cpp" line="1583"/>
|
||||
<location filename="../MainWindow.cpp" line="1628"/>
|
||||
<location filename="../MainWindow.cpp" line="1557"/>
|
||||
<location filename="../MainWindow.cpp" line="1602"/>
|
||||
<source>Do not show again</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -19505,363 +19505,363 @@ Are you sure you want to continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1465"/>
|
||||
<location filename="../MainWindow.cpp" line="1439"/>
|
||||
<source>WARNING: Memory Card Busy</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1469"/>
|
||||
<location filename="../MainWindow.cpp" line="1443"/>
|
||||
<source>Your memory card is still saving data.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1470"/>
|
||||
<location filename="../MainWindow.cpp" line="1444"/>
|
||||
<source>WARNING: Shutting down now can <b>IRREVERSIBLY CORRUPT YOUR MEMORY CARD.</b><br><br>You are strongly advised to select 'No' and let the save finish.<br><br>Do you want to shutdown anyway and <b>IRREVERSIBLY CORRUPT YOUR MEMORY CARD</b>?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1572"/>
|
||||
<location filename="../MainWindow.cpp" line="1546"/>
|
||||
<source>Failed to Load State From Backup Slot %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1574"/>
|
||||
<location filename="../MainWindow.cpp" line="1548"/>
|
||||
<source>Failed to Load State From Slot %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1578"/>
|
||||
<location filename="../MainWindow.cpp" line="1552"/>
|
||||
<source>Failed to Load State</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1622"/>
|
||||
<location filename="../MainWindow.cpp" line="1596"/>
|
||||
<source>Failed to Save State To Slot %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1624"/>
|
||||
<location filename="../MainWindow.cpp" line="1598"/>
|
||||
<source>Failed to Save State</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1698"/>
|
||||
<location filename="../MainWindow.cpp" line="1672"/>
|
||||
<source>Confirm Shutdown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1701"/>
|
||||
<location filename="../MainWindow.cpp" line="1675"/>
|
||||
<source>Are you sure you want to shut down the virtual machine?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1703"/>
|
||||
<location filename="../MainWindow.cpp" line="1677"/>
|
||||
<source>Save State For Resume</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1809"/>
|
||||
<location filename="../MainWindow.cpp" line="2210"/>
|
||||
<location filename="../MainWindow.cpp" line="2676"/>
|
||||
<location filename="../MainWindow.cpp" line="2865"/>
|
||||
<location filename="../MainWindow.cpp" line="3388"/>
|
||||
<location filename="../MainWindow.cpp" line="3485"/>
|
||||
<location filename="../MainWindow.cpp" line="3504"/>
|
||||
<location filename="../MainWindow.cpp" line="3521"/>
|
||||
<location filename="../MainWindow.cpp" line="3543"/>
|
||||
<location filename="../MainWindow.cpp" line="3586"/>
|
||||
<location filename="../MainWindow.cpp" line="1783"/>
|
||||
<location filename="../MainWindow.cpp" line="2184"/>
|
||||
<location filename="../MainWindow.cpp" line="2650"/>
|
||||
<location filename="../MainWindow.cpp" line="2818"/>
|
||||
<location filename="../MainWindow.cpp" line="3309"/>
|
||||
<location filename="../MainWindow.cpp" line="3406"/>
|
||||
<location filename="../MainWindow.cpp" line="3425"/>
|
||||
<location filename="../MainWindow.cpp" line="3442"/>
|
||||
<location filename="../MainWindow.cpp" line="3464"/>
|
||||
<location filename="../MainWindow.cpp" line="3507"/>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1809"/>
|
||||
<location filename="../MainWindow.cpp" line="1783"/>
|
||||
<source>You must select a disc to change discs.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1840"/>
|
||||
<location filename="../MainWindow.cpp" line="1814"/>
|
||||
<source>Properties...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1856"/>
|
||||
<location filename="../MainWindow.cpp" line="1830"/>
|
||||
<source>Set Cover Image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1860"/>
|
||||
<location filename="../MainWindow.cpp" line="1834"/>
|
||||
<source>Create Game Shortcut...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1863"/>
|
||||
<location filename="../MainWindow.cpp" line="1837"/>
|
||||
<source>Exclude From List</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1869"/>
|
||||
<location filename="../MainWindow.cpp" line="1843"/>
|
||||
<source>Reset Play Time</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1873"/>
|
||||
<location filename="../MainWindow.cpp" line="1847"/>
|
||||
<source>Check Wiki Page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1876"/>
|
||||
<location filename="../MainWindow.cpp" line="1850"/>
|
||||
<source>Open Memory Card Folder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1882"/>
|
||||
<location filename="../MainWindow.cpp" line="1856"/>
|
||||
<source>Open Texture Dump/Replacement Folder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1885"/>
|
||||
<location filename="../MainWindow.cpp" line="1859"/>
|
||||
<source>Open Video Capture Folder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1891"/>
|
||||
<location filename="../MainWindow.cpp" line="1865"/>
|
||||
<source>Default Boot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1898"/>
|
||||
<location filename="../MainWindow.cpp" line="1872"/>
|
||||
<source>Fast Boot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1901"/>
|
||||
<location filename="../MainWindow.cpp" line="1875"/>
|
||||
<source>Full Boot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1906"/>
|
||||
<location filename="../MainWindow.cpp" line="1880"/>
|
||||
<source>Boot and Debug</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1930"/>
|
||||
<location filename="../MainWindow.cpp" line="1904"/>
|
||||
<source>Add Search Directory...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1939"/>
|
||||
<location filename="../MainWindow.cpp" line="1913"/>
|
||||
<source>Start File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1948"/>
|
||||
<location filename="../MainWindow.cpp" line="1922"/>
|
||||
<source>Start Disc</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1965"/>
|
||||
<location filename="../MainWindow.cpp" line="1939"/>
|
||||
<source>Select Disc Image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2109"/>
|
||||
<location filename="../MainWindow.cpp" line="2083"/>
|
||||
<source>Updater Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2115"/>
|
||||
<location filename="../MainWindow.cpp" line="2089"/>
|
||||
<source><p>Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.</p><p>To obtain an official build, please download from the link below:</p><p><a href="https://pcsx2.net/downloads/">https://pcsx2.net/downloads/</a></p></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2120"/>
|
||||
<location filename="../MainWindow.cpp" line="2094"/>
|
||||
<source>Automatic updating is not supported on the current platform.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2200"/>
|
||||
<location filename="../MainWindow.cpp" line="2174"/>
|
||||
<source>Confirm File Creation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2201"/>
|
||||
<location filename="../MainWindow.cpp" line="2175"/>
|
||||
<source>The pnach file '%1' does not currently exist. Do you want to create it?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2210"/>
|
||||
<location filename="../MainWindow.cpp" line="2184"/>
|
||||
<source>Failed to create '%1'.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2306"/>
|
||||
<location filename="../MainWindow.cpp" line="2280"/>
|
||||
<source>Input Recording Failed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2307"/>
|
||||
<location filename="../MainWindow.cpp" line="2281"/>
|
||||
<source>Failed to create file: {}</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2329"/>
|
||||
<location filename="../MainWindow.cpp" line="2303"/>
|
||||
<source>Select a File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2330"/>
|
||||
<location filename="../MainWindow.cpp" line="2304"/>
|
||||
<source>Input Recording Files (*.p2m2)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2365"/>
|
||||
<location filename="../MainWindow.cpp" line="2339"/>
|
||||
<source>Input Playback Failed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2366"/>
|
||||
<location filename="../MainWindow.cpp" line="2340"/>
|
||||
<source>Failed to open file: {}</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2452"/>
|
||||
<location filename="../MainWindow.cpp" line="2426"/>
|
||||
<source>Paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2640"/>
|
||||
<location filename="../MainWindow.cpp" line="2614"/>
|
||||
<source>Load State Failed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2640"/>
|
||||
<location filename="../MainWindow.cpp" line="2614"/>
|
||||
<source>Cannot load a save state without a running VM.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2664"/>
|
||||
<location filename="../MainWindow.cpp" line="2638"/>
|
||||
<source>The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2676"/>
|
||||
<location filename="../MainWindow.cpp" line="2650"/>
|
||||
<source>Cannot change from game to GS dump without shutting down first.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2865"/>
|
||||
<location filename="../MainWindow.cpp" line="2818"/>
|
||||
<source>Failed to get window info from widget</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2023"/>
|
||||
<location filename="../MainWindow.cpp" line="1997"/>
|
||||
<source>Stop Big Picture Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2024"/>
|
||||
<location filename="../MainWindow.cpp" line="1998"/>
|
||||
<source>Exit Big Picture</source>
|
||||
<comment>In Toolbar</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3294"/>
|
||||
<location filename="../MainWindow.cpp" line="3215"/>
|
||||
<source>Game Properties</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3294"/>
|
||||
<location filename="../MainWindow.cpp" line="3215"/>
|
||||
<source>Game properties is unavailable for the current game.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3346"/>
|
||||
<location filename="../MainWindow.cpp" line="3267"/>
|
||||
<source>Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3364"/>
|
||||
<location filename="../MainWindow.cpp" line="3285"/>
|
||||
<source>Select disc drive:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3388"/>
|
||||
<location filename="../MainWindow.cpp" line="3309"/>
|
||||
<source>This save state does not exist.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3401"/>
|
||||
<location filename="../MainWindow.cpp" line="3322"/>
|
||||
<source>Select Cover Image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3418"/>
|
||||
<location filename="../MainWindow.cpp" line="3339"/>
|
||||
<source>Cover Already Exists</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3419"/>
|
||||
<location filename="../MainWindow.cpp" line="3340"/>
|
||||
<source>A cover image for this game already exists, do you wish to replace it?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3414"/>
|
||||
<location filename="../MainWindow.cpp" line="3428"/>
|
||||
<location filename="../MainWindow.cpp" line="3434"/>
|
||||
<location filename="../MainWindow.cpp" line="3440"/>
|
||||
<location filename="../MainWindow.cpp" line="3335"/>
|
||||
<location filename="../MainWindow.cpp" line="3349"/>
|
||||
<location filename="../MainWindow.cpp" line="3355"/>
|
||||
<location filename="../MainWindow.cpp" line="3361"/>
|
||||
<source>Copy Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3428"/>
|
||||
<location filename="../MainWindow.cpp" line="3349"/>
|
||||
<source>Failed to remove existing cover '%1'</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3434"/>
|
||||
<location filename="../MainWindow.cpp" line="3355"/>
|
||||
<source>Failed to copy '%1' to '%2'</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3440"/>
|
||||
<location filename="../MainWindow.cpp" line="3361"/>
|
||||
<source>Failed to remove '%1'</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="2663"/>
|
||||
<location filename="../MainWindow.cpp" line="3449"/>
|
||||
<location filename="../MainWindow.cpp" line="2637"/>
|
||||
<location filename="../MainWindow.cpp" line="3370"/>
|
||||
<source>Confirm Reset</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="1879"/>
|
||||
<location filename="../MainWindow.cpp" line="1853"/>
|
||||
<source>Open Snapshots Folder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3401"/>
|
||||
<location filename="../MainWindow.cpp" line="3322"/>
|
||||
<source>All Cover Image Types (*.jpg *.jpeg *.png *.webp)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3414"/>
|
||||
<location filename="../MainWindow.cpp" line="3335"/>
|
||||
<source>You must select a different file to the current cover image.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3485"/>
|
||||
<location filename="../MainWindow.cpp" line="3406"/>
|
||||
<source>Failed to create snapshots directory '%1'
|
||||
|
||||
Opening default directory.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3561"/>
|
||||
<location filename="../MainWindow.cpp" line="3482"/>
|
||||
<source>Load Resume State</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3564"/>
|
||||
<location filename="../MainWindow.cpp" line="3485"/>
|
||||
<source>A resume save state was found for this game, saved at:
|
||||
|
||||
%1.
|
||||
@@ -19870,43 +19870,43 @@ Do you want to load this state, or start from a fresh boot?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3568"/>
|
||||
<location filename="../MainWindow.cpp" line="3489"/>
|
||||
<source>Fresh Boot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3569"/>
|
||||
<location filename="../MainWindow.cpp" line="3490"/>
|
||||
<source>Delete And Boot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3586"/>
|
||||
<location filename="../MainWindow.cpp" line="3507"/>
|
||||
<source>Failed to delete save state file '%1'.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3644"/>
|
||||
<location filename="../MainWindow.cpp" line="3565"/>
|
||||
<source>Load State File...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3644"/>
|
||||
<location filename="../MainWindow.cpp" line="3565"/>
|
||||
<source>Load From File...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3647"/>
|
||||
<location filename="../MainWindow.cpp" line="3721"/>
|
||||
<location filename="../MainWindow.cpp" line="3568"/>
|
||||
<location filename="../MainWindow.cpp" line="3642"/>
|
||||
<source>Select Save State File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3692"/>
|
||||
<location filename="../MainWindow.cpp" line="3613"/>
|
||||
<source>Load Backup Slot %1 (%2)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../MainWindow.cpp" line="3709"/>
|
||||
<location filename="../MainWindow.cpp" line="3630"/>
|
||||
<source>%n save states deleted.</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform></numerusform>
|
||||
@@ -19914,12 +19914,12 @@ Do you want to load this state, or start from a fresh boot?</source>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3721"/>
|
||||
<location filename="../MainWindow.cpp" line="3642"/>
|
||||
<source>Save States (*.p2s)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3654"/>
|
||||
<location filename="../MainWindow.cpp" line="3575"/>
|
||||
<source>Delete Save States...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -19934,7 +19934,7 @@ Do you want to load this state, or start from a fresh boot?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3450"/>
|
||||
<location filename="../MainWindow.cpp" line="3371"/>
|
||||
<source>Are you sure you want to reset the play time for '%1' (%2)?
|
||||
|
||||
Your current play time is %3.
|
||||
@@ -19943,94 +19943,94 @@ This action cannot be undone.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3451"/>
|
||||
<location filename="../MainWindow.cpp" line="3372"/>
|
||||
<source>empty title</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3452"/>
|
||||
<location filename="../MainWindow.cpp" line="3373"/>
|
||||
<source>no serial</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3504"/>
|
||||
<location filename="../MainWindow.cpp" line="3425"/>
|
||||
<source>Failed to create game texture directory '%1'
|
||||
|
||||
Opening default directory.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3521"/>
|
||||
<location filename="../MainWindow.cpp" line="3442"/>
|
||||
<source>Failed to open memory card directory.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3543"/>
|
||||
<location filename="../MainWindow.cpp" line="3464"/>
|
||||
<source>Failed to create game video capture directory '%1'
|
||||
|
||||
Opening default directory.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3647"/>
|
||||
<location filename="../MainWindow.cpp" line="3568"/>
|
||||
<source>Save States (*.p2s *.p2s.backup)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3664"/>
|
||||
<location filename="../MainWindow.cpp" line="3585"/>
|
||||
<source>Resume (%2)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3680"/>
|
||||
<location filename="../MainWindow.cpp" line="3601"/>
|
||||
<source>Load Slot %1 (%2)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3701"/>
|
||||
<location filename="../MainWindow.cpp" line="3709"/>
|
||||
<location filename="../MainWindow.cpp" line="3622"/>
|
||||
<location filename="../MainWindow.cpp" line="3630"/>
|
||||
<source>Delete Save States</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3702"/>
|
||||
<location filename="../MainWindow.cpp" line="3623"/>
|
||||
<source>Are you sure you want to delete all save states for %1?
|
||||
|
||||
The saves will not be recoverable.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3719"/>
|
||||
<location filename="../MainWindow.cpp" line="3640"/>
|
||||
<source>Save To File...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3739"/>
|
||||
<location filename="../MainWindow.cpp" line="3660"/>
|
||||
<source>Empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3741"/>
|
||||
<location filename="../MainWindow.cpp" line="3662"/>
|
||||
<source>Save Slot %1 (%2)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3801"/>
|
||||
<location filename="../MainWindow.cpp" line="3722"/>
|
||||
<source>Confirm Disc Change</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3802"/>
|
||||
<location filename="../MainWindow.cpp" line="3723"/>
|
||||
<source>Do you want to swap discs or boot the new image (via system reset)?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3803"/>
|
||||
<location filename="../MainWindow.cpp" line="3724"/>
|
||||
<source>Swap Disc</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../MainWindow.cpp" line="3804"/>
|
||||
<location filename="../MainWindow.cpp" line="3725"/>
|
||||
<source>Reset</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -22793,45 +22793,45 @@ Ejecting {2} and replacing it with {3}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1142"/>
|
||||
<location filename="../QtHost.cpp" line="1137"/>
|
||||
<source>RA: Logged in as %1 (%2 pts, Casual: %3 pts). %4 unread messages.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1581"/>
|
||||
<location filename="../QtHost.cpp" line="1596"/>
|
||||
<location filename="../QtHost.cpp" line="1576"/>
|
||||
<location filename="../QtHost.cpp" line="1591"/>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1582"/>
|
||||
<location filename="../QtHost.cpp" line="1577"/>
|
||||
<source>An error occurred while deleting empty game settings:
|
||||
{}</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1597"/>
|
||||
<location filename="../QtHost.cpp" line="1592"/>
|
||||
<source>An error occurred while saving game settings:
|
||||
{}</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1756"/>
|
||||
<location filename="../QtHost.cpp" line="1751"/>
|
||||
<source>Controller {} connected.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1769"/>
|
||||
<location filename="../QtHost.cpp" line="1764"/>
|
||||
<source>System paused because controller {} was disconnected.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="1782"/>
|
||||
<location filename="../QtHost.cpp" line="1777"/>
|
||||
<source>Controller {} disconnected.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../QtHost.cpp" line="2025"/>
|
||||
<location filename="../QtHost.cpp" line="2020"/>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
||||
+5460
-7031
File diff suppressed because it is too large
Load Diff
+4699
-6275
File diff suppressed because it is too large
Load Diff
+4568
-6142
File diff suppressed because it is too large
Load Diff
+4441
-6015
File diff suppressed because it is too large
Load Diff
+4394
-5968
File diff suppressed because it is too large
Load Diff
+4467
-6042
File diff suppressed because it is too large
Load Diff
+4473
-6048
File diff suppressed because it is too large
Load Diff
+4633
-6207
File diff suppressed because it is too large
Load Diff
+9650
-11095
File diff suppressed because it is too large
Load Diff
+4431
-6006
File diff suppressed because it is too large
Load Diff
+4374
-5950
File diff suppressed because it is too large
Load Diff
+4511
-6076
File diff suppressed because it is too large
Load Diff
+4494
-6068
File diff suppressed because it is too large
Load Diff
+4468
-6042
File diff suppressed because it is too large
Load Diff
+4384
-5960
File diff suppressed because it is too large
Load Diff
+4468
-6042
File diff suppressed because it is too large
Load Diff
+4469
-6041
File diff suppressed because it is too large
Load Diff
+8918
-10384
File diff suppressed because it is too large
Load Diff
+4468
-6042
File diff suppressed because it is too large
Load Diff
+4958
-6532
File diff suppressed because it is too large
Load Diff
+5158
-6733
File diff suppressed because it is too large
Load Diff
+4499
-6072
File diff suppressed because it is too large
Load Diff
+4468
-6042
File diff suppressed because it is too large
Load Diff
+4541
-6115
File diff suppressed because it is too large
Load Diff
+5482
-7059
File diff suppressed because it is too large
Load Diff
+10363
-11805
File diff suppressed because it is too large
Load Diff
+4473
-6047
File diff suppressed because it is too large
Load Diff
+4510
-6086
File diff suppressed because it is too large
Load Diff
+4471
-6045
File diff suppressed because it is too large
Load Diff
+4474
-6048
File diff suppressed because it is too large
Load Diff
+4559
-6133
File diff suppressed because it is too large
Load Diff
+4417
-5868
File diff suppressed because it is too large
Load Diff
@@ -531,6 +531,7 @@ REG_END2
|
||||
__forceinline bool IsOpaque() const { return ((A == B || (C == 2 && FIX == 0)) && D == 0) || (A == 0 && B == D && C == 2 && FIX == 0x80); }
|
||||
__forceinline bool IsOpaque(int amin, int amax) const { return ((A == B || amax == 0) && D == 0) || (A == 0 && B == D && amin == 0x80 && amax == 0x80); }
|
||||
__forceinline bool IsCd() const { return (A == B) && (D == 1); }
|
||||
__forceinline bool IsAdditive() const { return (A == 0 && B == 2 && (C != 2 || FIX != 0) && D == 1); }
|
||||
|
||||
// output will be Cd, Cs is discarded
|
||||
__forceinline bool IsCdOutput() const { return (C == 2 && D != 1 && FIX == 0x00); }
|
||||
|
||||
@@ -3939,8 +3939,7 @@ void GSRendererHW::Draw()
|
||||
|
||||
if (next_ctx.FRAME.Block() == FRAME_TEX0.TBP0 && next_ctx.FRAME.PSM != FRAME_TEX0.PSM)
|
||||
FRAME_TEX0.PSM = next_ctx.FRAME.PSM;
|
||||
// Be careful of the next draw being a channel shuffle!
|
||||
else if (next_ctx.TEX0.TBP0 == FRAME_TEX0.TBP0 && next_ctx.TEX0.PSM != FRAME_TEX0.PSM && GSLocalMemory::m_psm[next_ctx.TEX0.PSM].trbpp >= 16)
|
||||
else if (next_ctx.TEX0.TBP0 == FRAME_TEX0.TBP0 && next_ctx.TEX0.PSM != FRAME_TEX0.PSM)
|
||||
FRAME_TEX0.PSM = next_ctx.TEX0.PSM;
|
||||
else
|
||||
FRAME_TEX0.PSM = PSMCT32; // Guess full color if no upcoming hint, it'll fix itself later.
|
||||
@@ -10708,8 +10707,10 @@ int GSRendererHW::IsScalingDraw(GSTextureCache::Source* src, bool no_gaps)
|
||||
IsMipMapDraw() || GSLocalMemory::m_psm[m_cached_ctx.TEX0.PSM].trbpp <= 8)
|
||||
return 0;
|
||||
|
||||
const bool is_smaller = draw_size.x <= (tex_size.x * 0.75f) && draw_size.y <= (tex_size.y * 0.75f);
|
||||
const bool is_smaller_and_writing_back = draw_size.x < tex_size.x && draw_size.y < tex_size.y && next_ctx.FRAME.Block() == m_cached_ctx.TEX0.TBP0 && next_ctx.TEX0.TBP0 == m_cached_ctx.FRAME.Block();
|
||||
// Should usually be 2x but some games like Monster House goes from 512x448 -> 128x128
|
||||
const bool is_downscale = m_cached_ctx.TEX0.TBW >= m_cached_ctx.FRAME.FBW && draw_size.x <= (tex_size.x * 0.75f) && draw_size.y <= (tex_size.y * 0.75f);
|
||||
const bool is_downscale = m_cached_ctx.TEX0.TBW >= m_cached_ctx.FRAME.FBW && (is_smaller || is_smaller_and_writing_back);
|
||||
// Check we're getting most of the texture and not just stenciling a part of it.
|
||||
// Only allow non-bilineared downscales if it's most of the target (misdetections of shadows in Naruto, Transformers etc), otherwise it's fine.
|
||||
const GSVector4i src_valid = src->m_from_target ? src->m_from_target->m_valid : src->m_valid_rect;
|
||||
@@ -10733,7 +10734,8 @@ int GSRendererHW::IsScalingDraw(GSTextureCache::Source* src, bool no_gaps)
|
||||
}
|
||||
|
||||
// Last ditched check if it's doing a lot of small draws exactly the same which could be recursive lighting bloom.
|
||||
if (m_vt.m_primclass == GS_SPRITE_CLASS && m_index->tail > 2 && !no_gaps_or_single_sprite && m_context->TEX1.MMAG == 1 && !m_context->ALPHA.IsOpaque())
|
||||
if (m_vt.m_primclass == GS_SPRITE_CLASS && m_index->tail > 2 && !no_gaps_or_single_sprite && m_context->TEX1.MMAG == 1 && is_target_src && (m_cached_ctx.TEST.ZTST == ZTST_ALWAYS || m_cached_ctx.TEST.ZTE == 0) &&
|
||||
!m_context->ALPHA.IsOpaque() && GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].bpp == GSLocalMemory::m_psm[m_cached_ctx.TEX0.PSM].bpp)
|
||||
{
|
||||
GSVertex* v = &m_vertex->buff[0];
|
||||
float tw = 1 << src->m_TEX0.TW;
|
||||
@@ -10744,7 +10746,10 @@ int GSRendererHW::IsScalingDraw(GSTextureCache::Source* src, bool no_gaps)
|
||||
const int first_x = (v[1].XYZ.X - v[0].XYZ.X) >> 4;
|
||||
const int first_y = (v[1].XYZ.Y - v[0].XYZ.Y) >> 4;
|
||||
|
||||
if (first_x > first_u && first_y > first_v && !no_resize && std::abs(draw_size.x - first_x) <= 4 && std::abs(draw_size.y - first_y) <= 4)
|
||||
const u32 half_color_mask = (m_vt.m_min.c == GSVector4i(64, 64, 64, 64)).mask() & 0xfff;
|
||||
const bool possible_fake_bilinear = no_resize && PRIM->ABE && m_context->ALPHA.IsAdditive() && m_cached_ctx.TEX0.TFX == TFX_MODULATE && m_vt.m_eq.rgba && half_color_mask == 0xfff;
|
||||
|
||||
if (first_x >= first_u && first_y >= first_v && (!no_resize || possible_fake_bilinear) && ((draw_size.x != first_x && draw_size.y != first_y) || (tex_size.x != first_u && tex_size.y != first_v)) && std::abs(draw_size.x - first_x) <= 4 && std::abs(draw_size.y - first_y) <= 4)
|
||||
{
|
||||
for (u32 i = 2; i < m_index->tail; i += 2)
|
||||
{
|
||||
@@ -10753,14 +10758,14 @@ int GSRendererHW::IsScalingDraw(GSTextureCache::Source* src, bool no_gaps)
|
||||
const int next_x = (v[i + 1].XYZ.X - v[i].XYZ.X) >> 4;
|
||||
const int next_y = (v[i + 1].XYZ.Y - v[i].XYZ.Y) >> 4;
|
||||
|
||||
if (std::abs(draw_size.x - next_x) > 4 || std::abs(draw_size.y - next_y) > 4)
|
||||
if (std::abs(draw_size.x - next_x) > 4 || std::abs(draw_size.y - next_y) > 4 || (draw_size.x == next_x && tex_size.x == next_u) || (draw_size.y == next_y && tex_size.y == next_v))
|
||||
break;
|
||||
|
||||
if (next_u != first_u || next_v != first_v || next_x != first_x || next_y != first_y)
|
||||
break;
|
||||
|
||||
if (i + 2 >= m_index->tail)
|
||||
return 2;
|
||||
return (is_target_src && src->m_from_target->m_downscaled) ? -1 : 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2580,21 +2580,12 @@ GSTextureCache::Target* GSTextureCache::LookupDrawTarget(GIFRegTEX0 TEX0, const
|
||||
{
|
||||
// Some games misuse the scissor so it ends up valid 1 pixel over, which causes hell for us. So check if it still overlaps without the extra pixel.
|
||||
const GSVector4i adjusted_valid = GSVector4i(t->m_valid.x, t->m_valid.y, std::min(t->m_valid.z, static_cast<int>(t->m_TEX0.TBW) * 64), t->m_valid.w - 1);
|
||||
u32 adjusted_endblock = GSLocalMemory::GetUnwrappedEndBlockAddress(t->m_TEX0.TBP0, t->m_TEX0.TBW, t->m_TEX0.PSM, adjusted_valid);
|
||||
const u32 adjusted_endblock = GSLocalMemory::GetEndBlockAddress(t->m_TEX0.TBP0, t->m_TEX0.TBW, t->m_TEX0.PSM, adjusted_valid);
|
||||
if (adjusted_endblock <= bp)
|
||||
{
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
const GSVector4i adjusted_rect = GSVector4i(min_rect.x, min_rect.y, std::min(min_rect.z, static_cast<int>(t->m_TEX0.TBW) * 64), min_rect.w - 1);
|
||||
// Also check the offset from the bp to the current request to see if it overlaps the begining of the selected target.
|
||||
adjusted_endblock = GSLocalMemory::GetUnwrappedEndBlockAddress(TEX0.TBP0, TEX0.TBW, TEX0.PSM, adjusted_rect);
|
||||
if (adjusted_endblock <= t->m_TEX0.TBP0)
|
||||
{
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
|
||||
const GSLocalMemory::psm_t& s_psm = GSLocalMemory::m_psm[TEX0.PSM];
|
||||
const u32 widthpage_offset = (std::abs(static_cast<int>(bp - t->m_TEX0.TBP0)) >> 5) % std::max(t->m_TEX0.TBW, 1U);
|
||||
const bool is_aligned_ok = widthpage_offset == 0 || ((min_rect.width() <= static_cast<int>((t->m_TEX0.TBW - widthpage_offset) * 64) && (t->m_TEX0.TBW == TEX0.TBW || TEX0.TBW == 1)) && bp >= t->m_TEX0.TBP0);
|
||||
|
||||
+2
-3
@@ -83,9 +83,8 @@ static std::string hostRoot;
|
||||
|
||||
void Hle_SetHostRoot(const char* bootFilename)
|
||||
{
|
||||
std::string path = Path::RealPath(bootFilename);
|
||||
hostRoot = Path::ToNativePath(Path::GetDirectory(path));
|
||||
Console.WriteLn("HLE Host: Set 'host:' root path to: %s", hostRoot.c_str());
|
||||
hostRoot = Path::ToNativePath(Path::GetDirectory(bootFilename));
|
||||
Console.WriteLn("HLE Host: Set 'host:' root path to: %s\n", hostRoot.c_str());
|
||||
}
|
||||
|
||||
void Hle_ClearHostRoot()
|
||||
|
||||
+1
-3
@@ -3,7 +3,6 @@
|
||||
|
||||
#include "Common.h"
|
||||
|
||||
#include "common/Path.h"
|
||||
#include "common/StringUtil.h"
|
||||
#include "ps2/BiosTools.h"
|
||||
#include "R5900.h"
|
||||
@@ -672,8 +671,7 @@ void eeloadHook()
|
||||
const std::string& elf_override = VMManager::Internal::GetELFOverride();
|
||||
if (!elf_override.empty())
|
||||
{
|
||||
// The host: root should be directory containg the elf, so get only the filename part
|
||||
elfname = fmt::format("host:{}", Path::GetFileName(elf_override));
|
||||
elfname = fmt::format("host:{}", elf_override);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user