Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
15df532d68 | ||
|
|
884d2302a9 | ||
|
|
bacdfd6018 | ||
|
|
dc7a3bbbd3 | ||
|
|
ff0d791783 |
BIN
bin/resources/fullscreenui/flags/NTSC-B.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
bin/resources/fullscreenui/flags/NTSC-C.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
bin/resources/fullscreenui/flags/NTSC-HK.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
BIN
bin/resources/fullscreenui/flags/NTSC-J.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
bin/resources/fullscreenui/flags/NTSC-K.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
bin/resources/fullscreenui/flags/NTSC-T.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
bin/resources/fullscreenui/flags/NTSC-U.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
bin/resources/fullscreenui/flags/Other.png
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
bin/resources/fullscreenui/flags/PAL-A.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
bin/resources/fullscreenui/flags/PAL-AF.png
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
bin/resources/fullscreenui/flags/PAL-AU.png
Normal file
|
After Width: | Height: | Size: 144 B |
BIN
bin/resources/fullscreenui/flags/PAL-BE.png
Normal file
|
After Width: | Height: | Size: 322 B |
BIN
bin/resources/fullscreenui/flags/PAL-E.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
bin/resources/fullscreenui/flags/PAL-F.png
Normal file
|
After Width: | Height: | Size: 261 B |
BIN
bin/resources/fullscreenui/flags/PAL-FI.png
Normal file
|
After Width: | Height: | Size: 334 B |
BIN
bin/resources/fullscreenui/flags/PAL-G.png
Normal file
|
After Width: | Height: | Size: 361 B |
BIN
bin/resources/fullscreenui/flags/PAL-GR.png
Normal file
|
After Width: | Height: | Size: 655 B |
BIN
bin/resources/fullscreenui/flags/PAL-I.png
Normal file
|
After Width: | Height: | Size: 247 B |
BIN
bin/resources/fullscreenui/flags/PAL-IN.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
bin/resources/fullscreenui/flags/PAL-M.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
bin/resources/fullscreenui/flags/PAL-NL.png
Normal file
|
After Width: | Height: | Size: 265 B |
BIN
bin/resources/fullscreenui/flags/PAL-NO.png
Normal file
|
After Width: | Height: | Size: 675 B |
BIN
bin/resources/fullscreenui/flags/PAL-P.png
Normal file
|
After Width: | Height: | Size: 7.2 KiB |
BIN
bin/resources/fullscreenui/flags/PAL-PL.png
Normal file
|
After Width: | Height: | Size: 140 B |
BIN
bin/resources/fullscreenui/flags/PAL-R.png
Normal file
|
After Width: | Height: | Size: 265 B |
BIN
bin/resources/fullscreenui/flags/PAL-S.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
bin/resources/fullscreenui/flags/PAL-SC.png
Normal file
|
After Width: | Height: | Size: 587 B |
BIN
bin/resources/fullscreenui/flags/PAL-SW.png
Normal file
|
After Width: | Height: | Size: 331 B |
BIN
bin/resources/fullscreenui/flags/PAL-SWI.png
Normal file
|
After Width: | Height: | Size: 751 B |
BIN
bin/resources/fullscreenui/flags/PAL-UK.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
bin/resources/fullscreenui/star-0.png
Normal file
|
After Width: | Height: | Size: 296 B |
BIN
bin/resources/fullscreenui/star-1.png
Normal file
|
After Width: | Height: | Size: 442 B |
BIN
bin/resources/fullscreenui/star-2.png
Normal file
|
After Width: | Height: | Size: 534 B |
BIN
bin/resources/fullscreenui/star-3.png
Normal file
|
After Width: | Height: | Size: 505 B |
BIN
bin/resources/fullscreenui/star-4.png
Normal file
|
After Width: | Height: | Size: 442 B |
BIN
bin/resources/fullscreenui/star-5.png
Normal file
|
After Width: | Height: | Size: 297 B |
@@ -298,7 +298,10 @@ void DockManager::resetAllLayouts()
|
||||
m_layouts.clear();
|
||||
|
||||
for (const DockTables::DefaultDockLayout& layout : DockTables::DEFAULT_DOCK_LAYOUTS)
|
||||
createLayout(tr(layout.name.c_str()), layout.cpu, true, layout.name);
|
||||
{
|
||||
QString name = QCoreApplication::translate("DebuggerLayout", layout.name.c_str());
|
||||
createLayout(name, layout.cpu, true, layout.name);
|
||||
}
|
||||
|
||||
switchToLayout(0);
|
||||
updateLayoutSwitcher();
|
||||
@@ -313,7 +316,10 @@ void DockManager::resetDefaultLayouts()
|
||||
m_layouts = std::vector<DockLayout>();
|
||||
|
||||
for (const DockTables::DefaultDockLayout& layout : DockTables::DEFAULT_DOCK_LAYOUTS)
|
||||
createLayout(tr(layout.name.c_str()), layout.cpu, true, layout.name);
|
||||
{
|
||||
QString name = QCoreApplication::translate("DebuggerLayout", layout.name.c_str());
|
||||
createLayout(name, layout.cpu, true, layout.name);
|
||||
}
|
||||
|
||||
for (DockLayout& layout : old_layouts)
|
||||
if (!layout.isDefault())
|
||||
|
||||
@@ -5031,13 +5031,13 @@ Do you want to overwrite?</source>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="32"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="103"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="105"/>
|
||||
<source>File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="42"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="85"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="87"/>
|
||||
<source>Debug</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -5047,134 +5047,134 @@ Do you want to overwrite?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="56"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="136"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="57"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="138"/>
|
||||
<source>View</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="66"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="67"/>
|
||||
<source>Layouts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="73"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="74"/>
|
||||
<source>Tools</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="120"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="122"/>
|
||||
<source>System</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="157"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="159"/>
|
||||
<location filename="../Debugger/DebuggerWindow.cpp" line="319"/>
|
||||
<source>Run</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="165"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="167"/>
|
||||
<source>Step Into</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="168"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="170"/>
|
||||
<source>F11</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="176"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="178"/>
|
||||
<source>Step Over</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="179"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="181"/>
|
||||
<source>F10</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="187"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="189"/>
|
||||
<source>Step Out</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="190"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="192"/>
|
||||
<source>Shift+F11</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="201"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="203"/>
|
||||
<source>Always On Top</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="204"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="206"/>
|
||||
<source>Show this window on top</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="212"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="214"/>
|
||||
<source>Analyze</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="217"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="219"/>
|
||||
<source>Reset All Layouts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="222"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="224"/>
|
||||
<source>Reset Default Layouts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="227"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="229"/>
|
||||
<source>Reset Splitter Positions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="235"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="237"/>
|
||||
<source>Shut Down</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="246"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="248"/>
|
||||
<source>Reset</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="257"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="259"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="268"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="270"/>
|
||||
<source>Increase Font Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="279"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="281"/>
|
||||
<source>Decrease Font Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="282"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="284"/>
|
||||
<source>Ctrl+-</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="293"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="295"/>
|
||||
<source>Reset Font Size</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="304"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="306"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="315"/>
|
||||
<location filename="../Debugger/DebuggerWindow.ui" line="317"/>
|
||||
<source>Game Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -5410,38 +5410,38 @@ Do you want to overwrite?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="360"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="366"/>
|
||||
<source>Add Another...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="574"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="580"/>
|
||||
<source>Edit Layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="579"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="585"/>
|
||||
<source>Reset Layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="629"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="635"/>
|
||||
<source>Are you sure you want to reset layout '%1'?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="630"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="653"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="636"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="659"/>
|
||||
<source>Confirmation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="585"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="591"/>
|
||||
<source>Delete Layout</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="652"/>
|
||||
<location filename="../Debugger/Docking/DockManager.cpp" line="658"/>
|
||||
<source>Are you sure you want to delete layout '%1'?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
||||
@@ -2899,17 +2899,24 @@ bool GSState::TrianglesAreQuads(bool shuffle_check)
|
||||
if (idx > 0)
|
||||
{
|
||||
const u16* const prev_tri= m_index.buff + (idx - 3);
|
||||
GIFRegXYZ vert = v[i[0]].XYZ;
|
||||
GIFRegXYZ last_vert = v[i[2]].XYZ;
|
||||
GIFRegXYZ new_verts[3] = {v[i[0]].XYZ, v[i[1]].XYZ, v[i[2]].XYZ};
|
||||
|
||||
if (shuffle_check)
|
||||
{
|
||||
vert.X -= 8 << 4;
|
||||
last_vert.X -= 8 << 4;
|
||||
new_verts[0].X -= 8 << 4;
|
||||
new_verts[1].X -= 8 << 4;
|
||||
new_verts[2].X -= 8 << 4;
|
||||
}
|
||||
u32 match_vert_count = 0;
|
||||
|
||||
if (vert != m_vertex.buff[prev_tri[0]].XYZ && vert != m_vertex.buff[prev_tri[1]].XYZ && vert != m_vertex.buff[prev_tri[2]].XYZ &&
|
||||
last_vert != m_vertex.buff[prev_tri[0]].XYZ && last_vert != m_vertex.buff[prev_tri[1]].XYZ && last_vert != m_vertex.buff[prev_tri[2]].XYZ)
|
||||
if (!(new_verts[0] != m_vertex.buff[prev_tri[0]].XYZ && new_verts[0] != m_vertex.buff[prev_tri[1]].XYZ && new_verts[0] != m_vertex.buff[prev_tri[2]].XYZ))
|
||||
match_vert_count++;
|
||||
if (!(new_verts[1] != m_vertex.buff[prev_tri[0]].XYZ && new_verts[1] != m_vertex.buff[prev_tri[1]].XYZ && new_verts[1] != m_vertex.buff[prev_tri[2]].XYZ))
|
||||
match_vert_count++;
|
||||
if (!(new_verts[2] != m_vertex.buff[prev_tri[0]].XYZ && new_verts[2] != m_vertex.buff[prev_tri[1]].XYZ && new_verts[2] != m_vertex.buff[prev_tri[2]].XYZ))
|
||||
match_vert_count++;
|
||||
|
||||
if (match_vert_count != 2)
|
||||
return false;
|
||||
}
|
||||
// Degenerate triangles should've been culled already, so we can check indices.
|
||||
|
||||
@@ -2482,7 +2482,7 @@ void GSRendererHW::Draw()
|
||||
// | 0.5,2.25 | 1-1 | 1 |
|
||||
// | 0.5,2.5 | 1-2 | 2 |
|
||||
// --------------------------------------
|
||||
m_r = GSVector4i(m_vt.m_min.p.upld(m_vt.m_max.p) + GSVector4::cxpr(0.5f));
|
||||
m_r = GSVector4i((m_vt.m_min.p.upld(m_vt.m_max.p) + GSVector4::cxpr(0.4f)).round<Round_NearestInt>());
|
||||
m_r = m_r.blend8(m_r + GSVector4i::cxpr(0, 0, 1, 1), (m_r.xyxy() == m_r.zwzw()));
|
||||
m_r_no_scissor = m_r;
|
||||
m_r = m_r.rintersect(context->scissor.in);
|
||||
@@ -6492,8 +6492,9 @@ __ri void GSRendererHW::HandleTextureHazards(const GSTextureCache::Target* rt, c
|
||||
// Can't use box filtering on depth (yet), or fractional scales.
|
||||
if (src_target->m_texture->IsDepthStencil() || std::floor(src_target->GetScale()) != src_target->GetScale())
|
||||
{
|
||||
const GSVector4 dst_rect = GSVector4(GSVector4i::loadh(src_unscaled_size));
|
||||
g_gs_device->StretchRect(src_target->m_texture, GSVector4::cxpr(0.0f, 0.0f, 1.0f, 1.0f), src_copy.get(), dst_rect,
|
||||
GSVector4 src_rect = GSVector4(tmm.coverage) / GSVector4(GSVector4i::loadh(src_unscaled_size).zwzw());
|
||||
const GSVector4 dst_rect = GSVector4(tmm.coverage);
|
||||
g_gs_device->StretchRect(src_target->m_texture, src_rect, src_copy.get(), dst_rect,
|
||||
src_target->m_texture->IsDepthStencil() ? ShaderConvert::DEPTH_COPY : ShaderConvert::COPY, false);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1530,7 +1530,8 @@ GSTextureCache::Source* GSTextureCache::LookupSource(const bool is_color, const
|
||||
GL_CACHE("TC: Attempt to repopulate RGB for target [%x] on source lookup", t->m_TEX0.TBP0);
|
||||
for (Target* dst_match : m_dst[DepthStencil])
|
||||
{
|
||||
if (dst_match->m_TEX0.TBP0 != t->m_TEX0.TBP0 || !dst_match->m_valid_rgb)
|
||||
// Be careful of dirty overlap on the targets, we don't really want dirty data.
|
||||
if (dst_match->m_TEX0.TBP0 != t->m_TEX0.TBP0 || !dst_match->m_valid_rgb ||(!dst_match->m_dirty.empty() && !dst_match->m_dirty.GetTotalRect(dst_match->m_TEX0, dst_match->m_unscaled_size).rintersect(block_boundary_rect).rempty()))
|
||||
continue;
|
||||
|
||||
if (!CopyRGBFromDepthToColor(t, dst_match))
|
||||
@@ -2147,7 +2148,23 @@ GSTextureCache::Target* GSTextureCache::LookupTarget(GIFRegTEX0 TEX0, const GSVe
|
||||
// 2. Preserved data will be in the correct place (in most cases)
|
||||
// 3. Less deleting sources/targets
|
||||
// 4. We can basically do clears in hardware, if they aren't insane ones
|
||||
if (can_use && ((!is_shuffle && t->m_dirty.size() >= 1) || (is_shuffle && src && GSLocalMemory::m_psm[src->m_TEX0.PSM].bpp == 8 && GSLocalMemory::m_psm[t->m_TEX0.PSM].bpp == 16)) && ((preserve_alpha && preserve_rgb) || (draw_rect.w > GSLocalMemory::m_psm[t->m_TEX0.PSM].pgs.y && !possible_clear)) && TEX0.TBW != t->m_TEX0.TBW)
|
||||
bool dirtied_area = t->m_dirty.size() >= 1;
|
||||
|
||||
// Check it covers the whole area of the new draw
|
||||
if (!is_shuffle && dirtied_area)
|
||||
{
|
||||
const u32 draw_start = GSLocalMemory::GetStartBlockAddress(TEX0.TBP0, TEX0.TBW, TEX0.PSM, draw_rect);
|
||||
const u32 draw_end = GSLocalMemory::GetEndBlockAddress(TEX0.TBP0, TEX0.TBW, TEX0.PSM, draw_rect);
|
||||
|
||||
const GSVector4i dirty_rect = t->m_dirty.GetTotalRect(t->m_TEX0, t->m_unscaled_size);
|
||||
const u32 dirty_start = GSLocalMemory::GetStartBlockAddress(t->m_TEX0.TBP0, t->m_TEX0.TBW, t->m_TEX0.PSM, dirty_rect);
|
||||
const u32 dirty_end = GSLocalMemory::GetEndBlockAddress(t->m_TEX0.TBP0, t->m_TEX0.TBW, t->m_TEX0.PSM, dirty_rect);
|
||||
|
||||
if (dirty_end < draw_end || dirty_start > draw_start)
|
||||
dirtied_area = false;
|
||||
}
|
||||
|
||||
if (can_use && ((!is_shuffle && dirtied_area) || (is_shuffle && src && GSLocalMemory::m_psm[src->m_TEX0.PSM].bpp == 8 && GSLocalMemory::m_psm[t->m_TEX0.PSM].bpp == 16)) && ((preserve_alpha && preserve_rgb) || (draw_rect.w > GSLocalMemory::m_psm[t->m_TEX0.PSM].pgs.y && !possible_clear)) && TEX0.TBW != t->m_TEX0.TBW)
|
||||
{
|
||||
can_use = false;
|
||||
}
|
||||
|
||||
@@ -1054,7 +1054,7 @@ bool FullscreenUI::LoadResources()
|
||||
for (u32 i = static_cast<u32>(GameDatabaseSchema::Compatibility::Nothing);
|
||||
i <= static_cast<u32>(GameDatabaseSchema::Compatibility::Perfect); i++)
|
||||
{
|
||||
s_game_compatibility_textures[i - 1] = LoadTexture(fmt::format("icons/star-{}.png", i - 1).c_str());
|
||||
s_game_compatibility_textures[i - 1] = LoadTexture(fmt::format("fullscreenui/star-{}.png", i - 1).c_str());
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -6499,7 +6499,7 @@ void FullscreenUI::DrawGameList(const ImVec2& heading_size)
|
||||
|
||||
// region
|
||||
{
|
||||
std::string flag_texture(fmt::format("icons/flags/{}.png", GameList::RegionToString(selected_entry->region)));
|
||||
std::string flag_texture(fmt::format("fullscreenui/flags/{}.png", GameList::RegionToString(selected_entry->region)));
|
||||
ImGui::TextUnformatted(FSUI_CSTR("Region: "));
|
||||
ImGui::SameLine();
|
||||
ImGui::Image(reinterpret_cast<ImTextureID>(GetCachedTextureAsync(flag_texture.c_str())->GetNativeHandle()), LayoutScale(23.0f, 16.0f));
|
||||
|
||||