Compare commits

...

5 Commits

Author SHA1 Message Date
Jordan
b0496645f1 GameDB: Various fixes (#12030)
Fixes texture flickering in mission screens on PTO IV Pacific Theater of Operations and corrupted textures banding lighting in levels and bloom misalignment in MOH European Assault.
2024-11-24 19:39:05 +01:00
lightningterror
235cb13647 Vif: Replace some asserts with logs.
The conditions need hardware testing.
Use logs instead so the games don't crash and are still playable.
2024-11-23 13:13:19 +01:00
lightningterror
504dd9f513 Vif: Rename/remove new prefix from files. 2024-11-23 13:13:19 +01:00
Ty Lamontagne
e3fedf1676 QT: Use SetStatusText instead of passing a formatted string as a fmt
This caused crashes when file names had percent signs in them because we passed the file name as the format to SetFormattedStatusText. I opted to continue to use fmt for consistency.
2024-11-22 19:28:55 -05:00
lightningterror
f113a51783 DEV9: Code cleanup.
Casts, constants, unused functions, switch cases.
2024-11-23 00:21:41 +01:00
24 changed files with 102 additions and 97 deletions

View File

@@ -18509,6 +18509,8 @@ SLES-52256:
SLES-52257:
name: "P.T.O. IV - Pacific Theater of Operations IV"
region: "PAL-E"
gsHWFixes:
minimumBlendingLevel: 3 # Fixes graphical flickering.
SLES-52258:
name: "Romance of the Three Kingdoms VIII"
region: "PAL-E"
@@ -21503,47 +21505,42 @@ SLES-53332:
region: "PAL-M4"
compat: 5
gsHWFixes:
recommendedBlendingLevel: 2
recommendedBlendingLevel: 3 # Fixes banding and level lighting.
autoFlush: 1 # Fixes sun shinging through surfaces and graphical corruptions.
halfPixelOffset: 2 # Fixes misaligned blur.
cpuSpriteRenderBW: 2 # Fixes black spots appearing on some surfaces and massively reduces RP TC and TU count.
cpuSpriteRenderLevel: 2 # Needed for above.
nativeScaling: 2 # Fixes bloom misaligment.
SLES-53333:
name: "Medal of Honor - Les Faucons de Guerre"
region: "PAL-F"
gsHWFixes:
recommendedBlendingLevel: 2
recommendedBlendingLevel: 3 # Fixes banding and level lighting.
autoFlush: 1 # Fixes sun shinging through surfaces and graphical corruptions.
halfPixelOffset: 2 # Fixes misaligned blur.
cpuSpriteRenderBW: 2 # Fixes black spots appearing on some surfaces and massively reduces RP TC and TU count.
cpuSpriteRenderLevel: 2 # Needed for above.
nativeScaling: 2 # Fixes bloom misaligment.
SLES-53334:
name: "Medal of Honor - European Assault"
region: "PAL-G"
gsHWFixes:
recommendedBlendingLevel: 2
recommendedBlendingLevel: 3 # Fixes banding and level lighting.
autoFlush: 1 # Fixes sun shinging through surfaces and graphical corruptions.
halfPixelOffset: 2 # Fixes misaligned blur.
cpuSpriteRenderBW: 2 # Fixes black spots appearing on some surfaces and massively reduces RP TC and TU count.
cpuSpriteRenderLevel: 2 # Needed for above.
nativeScaling: 2 # Fixes bloom misaligment.
SLES-53335:
name: "Medal of Honor - European Assault"
region: "PAL-I"
gsHWFixes:
recommendedBlendingLevel: 2
recommendedBlendingLevel: 3 # Fixes banding and level lighting.
autoFlush: 1 # Fixes sun shinging through surfaces and graphical corruptions.
halfPixelOffset: 2 # Fixes misaligned blur.
cpuSpriteRenderBW: 2 # Fixes black spots appearing on some surfaces and massively reduces RP TC and TU count.
cpuSpriteRenderLevel: 2 # Needed for above.
nativeScaling: 2 # Fixes bloom misaligment.
SLES-53336:
name: "Medal of Honor - European Assault"
region: "PAL-S"
gsHWFixes:
recommendedBlendingLevel: 2
recommendedBlendingLevel: 3 # Fixes banding and level lighting.
autoFlush: 1 # Fixes sun shinging through surfaces and graphical corruptions.
halfPixelOffset: 2 # Fixes misaligned blur.
cpuSpriteRenderBW: 2 # Fixes black spots appearing on some surfaces and massively reduces RP TC and TU count.
cpuSpriteRenderLevel: 2 # Needed for above.
nativeScaling: 2 # Fixes bloom misaligment.
SLES-53338:
name: "Victorious Boxers 2 - Fighting Spirit"
region: "PAL-M3"
@@ -29948,11 +29945,10 @@ SLKA-25243:
name: "Medal of Honor - European Assault"
region: "NTSC-K"
gsHWFixes:
recommendedBlendingLevel: 2
recommendedBlendingLevel: 3 # Fixes banding and level lighting.
autoFlush: 1 # Fixes sun shinging through surfaces and graphical corruptions.
halfPixelOffset: 2 # Fixes misaligned blur.
cpuSpriteRenderBW: 2 # Fixes black spots appearing on some surfaces and massively reduces RP TC and TU count.
cpuSpriteRenderLevel: 2 # Needed for above.
nativeScaling: 2 # Fixes bloom misaligment.
SLKA-25244:
name: "WWE SmackDown! vs. Raw"
region: "NTSC-K"
@@ -31187,11 +31183,10 @@ SLPM-55037:
name: "Medal of Honor - European Assault [EASY 1980]"
region: "NTSC-J"
gsHWFixes:
recommendedBlendingLevel: 2
recommendedBlendingLevel: 3 # Fixes banding and level lighting.
autoFlush: 1 # Fixes sun shinging through surfaces and graphical corruptions.
halfPixelOffset: 2 # Fixes misaligned blur.
cpuSpriteRenderBW: 2 # Fixes black spots appearing on some surfaces and massively reduces RP TC and TU count.
cpuSpriteRenderLevel: 2 # Needed for above.
nativeScaling: 2 # Fixes bloom misaligment.
SLPM-55038:
name: "Grand Theft Auto - Liberty City Stories [Best Price]"
region: "NTSC-J"
@@ -33919,6 +33914,8 @@ SLPM-62144:
SLPM-62145:
name: "Teitoku no Ketsudan IV"
region: "NTSC-J"
gsHWFixes:
minimumBlendingLevel: 3 # Fixes graphical flickering.
SLPM-62146:
name: "Chou Kousoku Mahjong Plus"
region: "NTSC-J"
@@ -35381,6 +35378,8 @@ SLPM-62469:
SLPM-62470:
name: "Teitoku no Ketsudan IV with Power Up Kit"
region: "NTSC-J"
gsHWFixes:
minimumBlendingLevel: 3 # Fixes graphical flickering.
memcardFilters:
- "SLPM-62145"
- "SLPM-62470"
@@ -35652,6 +35651,8 @@ SLPM-62518:
name-sort: "ていとくのけつだん4 [KOEI The Best]"
name-en: "Teitoku no Ketsudan IV [Koei the Best]"
region: "NTSC-J"
gsHWFixes:
minimumBlendingLevel: 3 # Fixes graphical flickering.
SLPM-62519:
name: "三國志VIII [KOEI The Best]"
name-sort: "さんごくし8 [KOEI The Best]"
@@ -43063,11 +43064,10 @@ SLPM-66079:
name: "Medal of Honor - Europe Kyoushuu"
region: "NTSC-J"
gsHWFixes:
recommendedBlendingLevel: 2
recommendedBlendingLevel: 3 # Fixes banding and level lighting.
autoFlush: 1 # Fixes sun shinging through surfaces and graphical corruptions.
halfPixelOffset: 2 # Fixes misaligned blur.
cpuSpriteRenderBW: 2 # Fixes black spots appearing on some surfaces and massively reduces RP TC and TU count.
cpuSpriteRenderLevel: 2 # Needed for above.
nativeScaling: 2 # Fixes bloom misaligment.
SLPM-66080:
name: "GENERATION OF CHAOSIII 〜時の封印〜 [IFコレクション]"
name-sort: "じぇねれーしょんおぶかおす 3 ときのふういん [あいであふぁくとりーこれくしょん]"
@@ -45807,11 +45807,10 @@ SLPM-66514:
name-en: "Medal of Honor - European Assault [EA Best Hits]"
region: "NTSC-J"
gsHWFixes:
recommendedBlendingLevel: 2
recommendedBlendingLevel: 3 # Fixes banding and level lighting.
autoFlush: 1 # Fixes sun shinging through surfaces and graphical corruptions.
halfPixelOffset: 2 # Fixes misaligned blur.
cpuSpriteRenderBW: 2 # Fixes black spots appearing on some surfaces and massively reduces RP TC and TU count.
cpuSpriteRenderLevel: 2 # Needed for above.
nativeScaling: 2 # Fixes bloom misaligment.
SLPM-66515:
name: "EA BEST HITS スター・ウォーズ エピソード3 シスの復讐"
name-sort: "すたーうぉーず えぴそーど3 しすのふくしゅう [EA BEST HITS]"
@@ -61062,6 +61061,8 @@ SLUS-20567:
name: "P.T.O. IV - Pacific Theater of Operations"
region: "NTSC-U"
compat: 5
gsHWFixes:
minimumBlendingLevel: 3 # Fixes graphical flickering.
SLUS-20568:
name: "Hard Hitter Tennis"
region: "NTSC-U"
@@ -64610,11 +64611,10 @@ SLUS-21199:
region: "NTSC-U"
compat: 5
gsHWFixes:
recommendedBlendingLevel: 2
recommendedBlendingLevel: 3 # Fixes banding and level lighting.
autoFlush: 1 # Fixes sun shinging through surfaces and graphical corruptions.
halfPixelOffset: 2 # Fixes misaligned blur.
cpuSpriteRenderBW: 2 # Fixes black spots appearing on some surfaces and massively reduces RP TC and TU count.
cpuSpriteRenderLevel: 2 # Needed for above.
nativeScaling: 2 # Fixes bloom misaligment.
SLUS-21200:
name: "Armored Core - Nine Breaker"
region: "NTSC-U"

View File

@@ -990,8 +990,8 @@ set(pcsx2x86Sources
x86/ix86-32/iR5900Shift.cpp
x86/ix86-32/iR5900Templates.cpp
x86/ix86-32/recVTLB.cpp
x86/newVif_Dynarec.cpp
x86/newVif_UnpackSSE.cpp
x86/Vif_Dynarec.cpp
x86/Vif_UnpackSSE.cpp
)
# x86 headers
@@ -1031,15 +1031,15 @@ set(pcsx2x86Headers
x86/microVU_Tables.inl
x86/microVU_Upper.inl
x86/newVif.h
x86/newVif_UnpackSSE.h
x86/Vif_UnpackSSE.h
x86/R5900_Profiler.h
)
# ARM64
set(pcsx2arm64Sources
arm64/AsmHelpers.cpp
arm64/newVif_Dynarec.cpp
arm64/newVif_UnpackNEON.cpp
arm64/Vif_Dynarec.cpp
arm64/Vif_UnpackNEON.cpp
arm64/RecStubs.cpp
)

View File

@@ -91,8 +91,8 @@ namespace Sessions
return;
}
icmpEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
if (icmpEvent == NULL)
icmpEvent = CreateEvent(nullptr, FALSE, FALSE, nullptr);
if (icmpEvent == nullptr)
{
Console.Error("DEV9: ICMP: Failed to Create Event");
IcmpCloseHandle(icmpFile);

View File

@@ -169,7 +169,7 @@ namespace Sessions
memcpy(recivedData->data.get(), buffer.get(), recived);
std::unique_ptr<TCP_Packet> iRet = CreateBasePacket(recivedData);
IncrementMyNumber((u32)recived);
IncrementMyNumber(static_cast<u32>(recived));
iRet->SetACK(true);
iRet->SetPSH(true);

View File

@@ -193,7 +193,7 @@ namespace Sessions
#endif
const int noDelay = true; // BOOL on Windows
constexpr int noDelay = true; // BOOL on Windows
ret = setsockopt(client, IPPROTO_TCP, TCP_NODELAY, reinterpret_cast<const char*>(&noDelay), sizeof(noDelay));
if (ret != 0)

View File

@@ -65,7 +65,7 @@ namespace Sessions
return;
}
const int reuseAddress = true; // BOOL on Windows
constexpr int reuseAddress = true; // BOOL on Windows
ret = setsockopt(client, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast<const char*>(&reuseAddress), sizeof(reuseAddress));
if (ret == SOCKET_ERROR)
@@ -76,7 +76,7 @@ namespace Sessions
errno);
#endif
const int broadcastEnable = true; // BOOL on Windows
constexpr int broadcastEnable = true; // BOOL on Windows
ret = setsockopt(client, SOL_SOCKET, SO_BROADCAST, reinterpret_cast<const char*>(&broadcastEnable), sizeof(broadcastEnable));
if (ret == SOCKET_ERROR)

View File

@@ -225,7 +225,7 @@ namespace Sessions
return false;
}
const int reuseAddress = true; // BOOL on Windows
constexpr int reuseAddress = true; // BOOL on Windows
ret = setsockopt(client, SOL_SOCKET, SO_REUSEADDR, reinterpret_cast<const char*>(&reuseAddress), sizeof(reuseAddress));
if (ret == SOCKET_ERROR)

View File

@@ -16,7 +16,7 @@
#define CARD_SIZE_ECC (1024 * BLOCK_SIZE_ECC)
static u32 ctrl, cmd = (u32)-1, address, id, counter, addrbyte;
static u32 ctrl, cmd = static_cast<u32>(-1), address, id, counter, addrbyte;
static u8 data[PAGE_SIZE_ECC], file[CARD_SIZE_ECC];
static void xfromman_call20_calculateXors(unsigned char buffer[128], unsigned char blah[4]);

View File

@@ -208,12 +208,12 @@ void NetAdapter::InspectSend(NetPacket* pkt)
if (EmuConfig.DEV9.EthLogDNS || EmuConfig.DEV9.EthLogDHCP)
{
EthernetFrame frame(pkt);
if (frame.protocol == (u16)EtherType::IPv4)
if (frame.protocol == static_cast<u16>(EtherType::IPv4))
{
PayloadPtr* payload = static_cast<PayloadPtr*>(frame.GetPayload());
IP_Packet ippkt(payload->data, payload->GetLength());
if (ippkt.protocol == (u16)IP_Type::UDP)
if (ippkt.protocol == static_cast<u16>(IP_Type::UDP))
{
IP_PayloadPtr* ipPayload = static_cast<IP_PayloadPtr*>(ippkt.GetPayload());
UDP_Packet udppkt(ipPayload->data, ipPayload->GetLength());
@@ -240,12 +240,12 @@ void NetAdapter::InspectRecv(NetPacket* pkt)
if (EmuConfig.DEV9.EthLogDNS || EmuConfig.DEV9.EthLogDHCP)
{
EthernetFrame frame(pkt);
if (frame.protocol == (u16)EtherType::IPv4)
if (frame.protocol == static_cast<u16>(EtherType::IPv4))
{
PayloadPtr* payload = static_cast<PayloadPtr*>(frame.GetPayload());
IP_Packet ippkt(payload->data, payload->GetLength());
if (ippkt.protocol == (u16)IP_Type::UDP)
if (ippkt.protocol == static_cast<u16>(IP_Type::UDP))
{
IP_PayloadPtr* ipPayload = static_cast<IP_PayloadPtr*>(ippkt.GetPayload());
UDP_Packet udppkt(ipPayload->data, ipPayload->GetLength());
@@ -350,7 +350,7 @@ bool NetAdapter::InternalServerRecv(NetPacket* pkt)
EthernetFrame frame(ippkt);
frame.sourceMAC = internalMAC;
frame.destinationMAC = ps2MAC;
frame.protocol = (u16)EtherType::IPv4;
frame.protocol = static_cast<u16>(EtherType::IPv4);
frame.WritePacket(pkt);
InspectRecv(pkt);
return true;
@@ -365,7 +365,7 @@ bool NetAdapter::InternalServerRecv(NetPacket* pkt)
EthernetFrame frame(ippkt);
frame.sourceMAC = internalMAC;
frame.destinationMAC = ps2MAC;
frame.protocol = (u16)EtherType::IPv4;
frame.protocol = static_cast<u16>(EtherType::IPv4);
frame.WritePacket(pkt);
InspectRecv(pkt);
return true;
@@ -377,12 +377,12 @@ bool NetAdapter::InternalServerRecv(NetPacket* pkt)
bool NetAdapter::InternalServerSend(NetPacket* pkt)
{
EthernetFrame frame(pkt);
if (frame.protocol == (u16)EtherType::IPv4)
if (frame.protocol == static_cast<u16>(EtherType::IPv4))
{
PayloadPtr* payload = static_cast<PayloadPtr*>(frame.GetPayload());
IP_Packet ippkt(payload->data, payload->GetLength());
if (ippkt.protocol == (u16)IP_Type::UDP)
if (ippkt.protocol == static_cast<u16>(IP_Type::UDP))
{
IP_PayloadPtr* ipPayload = static_cast<IP_PayloadPtr*>(ippkt.GetPayload());
UDP_Packet udppkt(ipPayload->data, ipPayload->GetLength());
@@ -397,7 +397,7 @@ bool NetAdapter::InternalServerSend(NetPacket* pkt)
if (ippkt.destinationIP == internalIP)
{
if (ippkt.protocol == (u16)IP_Type::UDP)
if (ippkt.protocol == static_cast<u16>(IP_Type::UDP))
{
ps2IP = ippkt.sourceIP;

View File

@@ -70,11 +70,11 @@ enum struct AdapterOptions : int
constexpr enum AdapterOptions operator|(const enum AdapterOptions selfValue, const enum AdapterOptions inValue)
{
return (enum AdapterOptions)(int(selfValue) | int(inValue));
return static_cast<enum AdapterOptions>(static_cast<int>(selfValue) | static_cast<int>(inValue));
}
constexpr enum AdapterOptions operator&(const enum AdapterOptions selfValue, const enum AdapterOptions inValue)
{
return (enum AdapterOptions)(int(selfValue) & int(inValue));
return static_cast<enum AdapterOptions>(static_cast<int>(selfValue) & static_cast<int>(inValue));
}
class NetAdapter

View File

@@ -136,7 +136,7 @@ bool PCAPAdapter::recv(NetPacket* pkt)
pxAssert(header->len == header->caplen);
memcpy(pkt->buffer, pkt_data, header->len);
pkt->size = (int)header->len;
pkt->size = static_cast<int>(header->len);
if (!switched)
SetMACBridgedRecv(pkt);
@@ -339,7 +339,7 @@ bool PCAPAdapter::SetMACSwitchedFilter(MAC_Address mac)
void PCAPAdapter::SetMACBridgedRecv(NetPacket* pkt)
{
EthernetFrameEditor frame(pkt);
if (frame.GetProtocol() == (u16)EtherType::IPv4) // IP
if (frame.GetProtocol() == static_cast<u16>(EtherType::IPv4)) // IP
{
// Compare DEST IP in IP with the PS2's IP, if they match, change DEST MAC to ps2MAC.
PayloadPtr* payload = frame.GetPayload();
@@ -347,7 +347,7 @@ void PCAPAdapter::SetMACBridgedRecv(NetPacket* pkt)
if (ippkt.destinationIP == ps2IP)
frame.SetDestinationMAC(ps2MAC);
}
if (frame.GetProtocol() == (u16)EtherType::ARP) // ARP
if (frame.GetProtocol() == static_cast<u16>(EtherType::ARP)) // ARP
{
// Compare DEST IP in ARP with the PS2's IP, if they match, DEST MAC to ps2MAC on both ARP and ETH Packet headers.
ARP_PacketEditor arpPkt(frame.GetPayload());
@@ -362,13 +362,13 @@ void PCAPAdapter::SetMACBridgedRecv(NetPacket* pkt)
void PCAPAdapter::SetMACBridgedSend(NetPacket* pkt)
{
EthernetFrameEditor frame(pkt);
if (frame.GetProtocol() == (u16)EtherType::IPv4) // IP
if (frame.GetProtocol() == static_cast<u16>(EtherType::IPv4)) // IP
{
PayloadPtr* payload = frame.GetPayload();
IP_Packet ippkt(payload->data, payload->GetLength());
ps2IP = ippkt.sourceIP;
}
if (frame.GetProtocol() == (u16)EtherType::ARP) // ARP
if (frame.GetProtocol() == static_cast<u16>(EtherType::ARP)) // ARP
{
ARP_PacketEditor arpPkt(frame.GetPayload());
ps2IP = *(IP_Address*)arpPkt.SenderProtocolAddress();

View File

@@ -37,7 +37,6 @@ public:
private:
bool InitPCAP(const std::string& adapter, bool promiscuous);
void InitPCAPDumper();
bool SetMACSwitchedFilter(PacketReader::MAC_Address mac);
void SetMACBridgedRecv(NetPacket* pkt);

View File

@@ -302,16 +302,14 @@ void emac3_write(u32 addr)
value |= SMAP_E3_PHY_OP_COMP;
int reg = value & (SMAP_E3_PHY_REG_ADDR_MSK);
u16 val = value >> 16;
switch (reg)
if (reg == SMAP_DsPHYTER_BMCR)
{
case SMAP_DsPHYTER_BMCR:
if (val & SMAP_PHY_BMCR_RST)
{
ad_reset();
}
val &= ~SMAP_PHY_BMCR_RST;
val |= 0x1;
break;
if (val & SMAP_PHY_BMCR_RST)
{
ad_reset();
}
val &= ~SMAP_PHY_BMCR_RST;
val |= 0x1;
}
//DevCon.WriteLn("DEV9: phy_write %d: %x", reg, val);
dev9.phyregs[reg] = val;

View File

@@ -268,24 +268,24 @@ bool SocketAdapter::send(NetPacket* pkt)
switch (frame.protocol)
{
case (u16)EtherType::null:
case static_cast<u16>(EtherType::null):
case 0x0C00:
//Packets with the above ethertypes get sent when the adapter is reset
//Catch them here instead of printing an error
return true;
case (int)EtherType::IPv4:
case static_cast<int>(EtherType::IPv4):
{
PayloadPtr* payload = static_cast<PayloadPtr*>(frame.GetPayload());
IP_Packet ippkt(payload->data, payload->GetLength());
return SendIP(&ippkt);
}
case (u16)EtherType::ARP:
case static_cast<u16>(EtherType::ARP):
{
PayloadPtr* payload = static_cast<PayloadPtr*>(frame.GetPayload());
ARP_Packet arpPkt(payload->data, payload->GetLength());
if (arpPkt.protocol == (u16)EtherType::IPv4)
if (arpPkt.protocol == static_cast<u16>(EtherType::IPv4))
{
if (arpPkt.op == 1) //ARP request
{
@@ -304,7 +304,7 @@ bool SocketAdapter::send(NetPacket* pkt)
EthernetFrame* retARP = new EthernetFrame(arpRet);
retARP->destinationMAC = ps2MAC;
retARP->sourceMAC = internalMAC;
retARP->protocol = (u16)EtherType::ARP;
retARP->protocol = static_cast<u16>(EtherType::ARP);
vRecBuffer.Enqueue(retARP);
}
@@ -567,7 +567,7 @@ void SocketAdapter::HandleConnectionClosed(BaseSession* sender)
void SocketAdapter::HandleFixedPortClosed(BaseSession* sender)
{
ConnectionKey key = sender->key;
const ConnectionKey key = sender->key;
connections.Remove(key);
fixedUDPPorts.Remove(key.ps2Port);

View File

@@ -623,7 +623,7 @@ void GameList::ScanDirectory(const char* path, bool recursive, bool only_cache,
}
const std::string_view filename = Path::GetFileName(ffd.FileName);
progress->SetFormattedStatusText(fmt::format(TRANSLATE_FS("GameList","Scanning {}..."), filename.data()).c_str());
progress->SetStatusText(fmt::format(TRANSLATE_FS("GameList","Scanning {}..."), filename.data()).c_str());
ScanFile(std::move(ffd.FileName), ffd.ModificationTime, lock, played_time_map, custom_attributes_ini);
progress->SetProgressValue(files_scanned);
}

View File

@@ -43,4 +43,4 @@ alignas(16) extern nVifStruct nVif[2];
alignas(16) extern nVifCall nVifUpk[(2 * 2 * 16) * 4]; // ([USN][Masking][Unpack Type]) [curCycle]
alignas(16) extern u32 nVifMask[3][4][4]; // [MaskNumber][CycleNumber][Vector]
static constexpr bool newVifDynaRec = 1; // Use code in newVif_Dynarec.inl
static constexpr bool newVifDynaRec = 1; // Use code in Vif_Dynarec.inl

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team
// SPDX-License-Identifier: GPL-3.0
#include "arm64/newVif_UnpackNEON.h"
#include "arm64/Vif_UnpackNEON.h"
#include "arm64/AsmHelpers.h"
#include "MTVU.h"
@@ -367,7 +367,9 @@ void VifUnpackNEON_Dynarec::ModUnpack(int upknum, bool PostOp)
case 3:
case 7:
case 11:
pxFailRel(fmt::format("Vpu/Vif - Invalid Unpack! [{}]", upknum).c_str());
// TODO: Needs hardware testing.
// Dynasty Warriors 5: Empire - Player 2 chose a character menu.
Console.Warning("Vpu/Vif: Invalid Unpack %d", upknum);
break;
}
}

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team
// SPDX-License-Identifier: GPL-3.0
#include "newVif_UnpackNEON.h"
#include "Vif_UnpackNEON.h"
#include "common/Perf.h"
namespace a64 = vixl::aarch64;
@@ -345,7 +345,9 @@ void VifUnpackNEON_Base::xUnpack(int upknum) const
case 3:
case 7:
case 11:
pxFailRel(fmt::format("Vpu/Vif - Invalid Unpack! [{}]", upknum).c_str());
// TODO: Needs hardware testing.
// Dynasty Warriors 5: Empire - Player 2 chose a character menu.
Console.Warning("Vpu/Vif: Invalid Unpack %d", upknum);
break;
}
}

View File

@@ -117,10 +117,10 @@
<ClCompile Include="arm64\AsmHelpers.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="arm64\newVif_Dynarec.cpp">
<ClCompile Include="arm64\Vif_Dynarec.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="arm64\newVif_UnpackNEON.cpp">
<ClCompile Include="arm64\Vif_UnpackNEON.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="arm64\RecStubs.cpp">
@@ -457,10 +457,10 @@
<ClCompile Include="Vif_Codes.cpp" />
<ClCompile Include="Vif_Transfer.cpp" />
<ClCompile Include="Vif_Unpack.cpp" />
<ClCompile Include="x86\newVif_Dynarec.cpp">
<ClCompile Include="x86\Vif_Dynarec.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="x86\newVif_UnpackSSE.cpp">
<ClCompile Include="x86\Vif_UnpackSSE.cpp">
<ExcludedFromBuild Condition="'$(Platform)'!='x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="SPR.cpp" />
@@ -579,7 +579,7 @@
<ClInclude Include="arm64\AsmHelpers.h">
<ExcludedFromBuild Condition="'$(Platform)'!='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="arm64\newVif_UnpackNEON.h">
<ClInclude Include="arm64\Vif_UnpackNEON.h">
<ExcludedFromBuild Condition="'$(Platform)'!='ARM64'">true</ExcludedFromBuild>
</ClInclude>
<ClInclude Include="CDVD\BlockdumpFileReader.h" />
@@ -898,7 +898,7 @@
<ClInclude Include="Vif_Dma.h" />
<ClInclude Include="Vif_Unpack.h" />
<ClInclude Include="x86\newVif.h" />
<ClInclude Include="x86\newVif_UnpackSSE.h" />
<ClInclude Include="x86\Vif_UnpackSSE.h" />
<ClInclude Include="SPR.h" />
<ClInclude Include="Gif.h" />
<ClInclude Include="R5900.h" />

View File

@@ -521,10 +521,10 @@
<ClCompile Include="Vif_Unpack.cpp">
<Filter>System\Ps2\EmotionEngine\DMAC\Vif\Unpack</Filter>
</ClCompile>
<ClCompile Include="x86\newVif_Dynarec.cpp">
<ClCompile Include="x86\Vif_Dynarec.cpp">
<Filter>System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif\Dynarec</Filter>
</ClCompile>
<ClCompile Include="x86\newVif_UnpackSSE.cpp">
<ClCompile Include="x86\Vif_UnpackSSE.cpp">
<Filter>System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif\Dynarec</Filter>
</ClCompile>
<ClCompile Include="SPR.cpp">
@@ -1425,10 +1425,10 @@
<ClCompile Include="GS\Renderers\SW\GSSetupPrimCodeGenerator.arm64.cpp">
<Filter>System\Ps2\GS\Renderers\Software</Filter>
</ClCompile>
<ClCompile Include="arm64\newVif_Dynarec.cpp">
<ClCompile Include="arm64\Vif_Dynarec.cpp">
<Filter>System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif\Dynarec\arm64</Filter>
</ClCompile>
<ClCompile Include="arm64\newVif_UnpackNEON.cpp">
<ClCompile Include="arm64\Vif_UnpackNEON.cpp">
<Filter>System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif\Dynarec\arm64</Filter>
</ClCompile>
<ClCompile Include="arm64\AsmHelpers.cpp">
@@ -1532,7 +1532,7 @@
<ClInclude Include="x86\newVif.h">
<Filter>System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif</Filter>
</ClInclude>
<ClInclude Include="x86\newVif_UnpackSSE.h">
<ClInclude Include="x86\Vif_UnpackSSE.h">
<Filter>System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif\Dynarec</Filter>
</ClInclude>
<ClInclude Include="SPR.h">
@@ -2387,7 +2387,7 @@
<ClInclude Include="GS\GSVector4i_arm64.h">
<Filter>System\Ps2\GS</Filter>
</ClInclude>
<ClInclude Include="arm64\newVif_UnpackNEON.h">
<ClInclude Include="arm64\Vif_UnpackNEON.h">
<Filter>System\Ps2\EmotionEngine\DMAC\Vif\Unpack\newVif\Dynarec\arm64</Filter>
</ClInclude>
<ClInclude Include="arm64\AsmHelpers.h">

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team
// SPDX-License-Identifier: GPL-3.0+
#include "newVif_UnpackSSE.h"
#include "Vif_UnpackSSE.h"
#include "MTVU.h"
#include "common/Perf.h"
#include "common/StringUtil.h"
@@ -213,7 +213,9 @@ void VifUnpackSSE_Dynarec::ModUnpack(int upknum, bool PostOp)
case 3:
case 7:
case 11:
pxFailRel(fmt::format("Vpu/Vif - Invalid Unpack! [{}]", upknum).c_str());
// TODO: Needs hardware testing.
// Dynasty Warriors 5: Empire - Player 2 chose a character menu.
Console.Warning("Vpu/Vif: Invalid Unpack %d", upknum);
break;
}
}

View File

@@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: 2002-2024 PCSX2 Dev Team
// SPDX-License-Identifier: GPL-3.0+
#include "newVif_UnpackSSE.h"
#include "Vif_UnpackSSE.h"
#include "common/Perf.h"
#include "fmt/core.h"
@@ -308,7 +308,9 @@ void VifUnpackSSE_Base::xUnpack(int upknum) const
case 3:
case 7:
case 11:
pxFailRel(fmt::format("Vpu/Vif - Invalid Unpack! [{}]", upknum).c_str());
// TODO: Needs hardware testing.
// Dynasty Warriors 5: Empire - Player 2 chose a character menu.
Console.Warning("Vpu/Vif: Invalid Unpack %d", upknum);
break;
}
}