From a20483eedd6b40a06630a7ded0456461320fb007 Mon Sep 17 00:00:00 2001 From: LPFaint99 Date: Wed, 8 Sep 2010 06:23:37 +0000 Subject: [PATCH] Hackfix launching pal games from discchannel (cause was missing tik for ios required by game) when sysmenu asks for tik of a ios give it its own tik Update issue 3186 it should work now :) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6191 8ced0084-cf51-0410-be5f-012b33b47a6e --- .../Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp index 556b203ced..c4cc44e4c8 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp @@ -442,6 +442,12 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress) _dbg_assert_msg_(WII_IPC_ES, Buffer.NumberPayloadBuffer == 1, "IOCTL_ES_GETVIEWCNT no out buffer"); u64 TitleID = Memory::Read_U64(Buffer.InBuffer[0].m_Address); + if (TitleID != TITLEID_SYSMENU && (u32)(TitleID >> 32) == 0x00000001 && m_TitleID == TITLEID_SYSMENU) + { + // TODO: Check if any titles other than 1-2 call this for a ios tik + ERROR_LOG(WII_IPC_ES, "IOCTL_ES_GETVIEWCNT Give sysmenu tik for ios %x tik", TitleID & 0xFFFFFFFF); + TitleID = TITLEID_SYSMENU; + } std::string TicketFilename = Common::CreateTicketFileName(TitleID); @@ -480,6 +486,13 @@ bool CWII_IPC_HLE_Device_es::IOCtlV(u32 _CommandAddress) u64 TitleID = Memory::Read_U64(Buffer.InBuffer[0].m_Address); + if (TitleID != TITLEID_SYSMENU && (u32)(TitleID >> 32) == 0x00000001 && m_TitleID == TITLEID_SYSMENU) + { + // TODO: Check if any titles other than 1-2 call this for a ios tik + ERROR_LOG(WII_IPC_ES, "IOCTL_ES_GETVIEWCNT Give sysmenu tik for ios %x tik", TitleID & 0xFFFFFFFF); + TitleID = TITLEID_SYSMENU; + } + std::string TicketFilename = Common::CreateTicketFileName(TitleID); if (File::Exists(TicketFilename.c_str())) {