mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-25 07:09:48 -06:00
Fixed emulated Wiimote again. Improved keyboard/gamepad controls for Wario Land.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1151 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -186,6 +186,7 @@ bool PanicYesNo(const char* text, ...);
|
||||
bool AskYesNo(const char* text, ...);
|
||||
|
||||
extern void __Log(int logNumber, const char* text, ...);
|
||||
extern void __Logv(int log, int v, const char *format, ...);
|
||||
|
||||
|
||||
// dummy class
|
||||
@ -237,7 +238,8 @@ void Host_UpdateLogDisplay();
|
||||
#ifdef LOGGING
|
||||
|
||||
#define LOG(t, ...) __Log(LogTypes::t, __VA_ARGS__);
|
||||
#define LOGV(t,v, ...) __Log(LogTypes::t + v*100, __VA_ARGS__);
|
||||
//#define LOGV(t,v, ...) __Log(LogTypes::t + v*100, __VA_ARGS__);
|
||||
#define LOGV(t,v, ...) __Logv(LogTypes::t, v, __VA_ARGS__);
|
||||
|
||||
#define _dbg_assert_(_t_, _a_) \
|
||||
if (!(_a_)){\
|
||||
|
@ -76,7 +76,7 @@ void Callback_DSPLog(const TCHAR* _szMessage);
|
||||
char * Callback_ISOName(void);
|
||||
void Callback_DSPInterrupt();
|
||||
void Callback_PADLog(const TCHAR* _szMessage);
|
||||
void Callback_WiimoteLog(const TCHAR* _szMessage);
|
||||
void Callback_WiimoteLog(const TCHAR* _szMessage, int _v);
|
||||
void Callback_WiimoteInput(u16 _channelID, const void* _pData, u32 _Size);
|
||||
|
||||
// For keyboard shortcuts.
|
||||
@ -590,9 +590,9 @@ void Callback_KeyPress(int key, BOOL shift, BOOL control)
|
||||
// __________________________________________________________________________________________________
|
||||
// Callback_WiimoteLog
|
||||
//
|
||||
void Callback_WiimoteLog(const TCHAR* _szMessage)
|
||||
void Callback_WiimoteLog(const TCHAR* _szMessage, int _v)
|
||||
{
|
||||
LOG(WII_IPC_WIIMOTE, _szMessage);
|
||||
LOGV(WII_IPC_WIIMOTE, _v, _szMessage);
|
||||
}
|
||||
|
||||
} // end of namespace Core
|
||||
|
@ -161,7 +161,7 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtlV(u32 _CommandAddress)
|
||||
delete m_pACLBuffer;
|
||||
m_pACLBuffer = new SIOCtlVBuffer(_CommandAddress);
|
||||
|
||||
LOG(WII_IPC_WIIMOTE, "ACL_DATA_ENDPOINT: 0x%08x ", _CommandAddress);
|
||||
LOGV(WII_IPC_WIIMOTE, 2, "ACL_DATA_ENDPOINT: 0x%08x ", _CommandAddress);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
@ -237,7 +237,7 @@ void CWII_IPC_HLE_Device_usb_oh1_57e_305::SendToDevice(u16 _ConnectionHandle, u8
|
||||
|
||||
void CWII_IPC_HLE_Device_usb_oh1_57e_305::SendACLFrame(u16 _ConnectionHandle, u8* _pData, u32 _Size)
|
||||
{
|
||||
LOG(WII_IPC_WIIMOTE, "Queing ACL frame.");
|
||||
LOGV(WII_IPC_WIIMOTE, 1, "Queing ACL frame.");
|
||||
|
||||
//queue the packet
|
||||
ACLFrame frame;
|
||||
@ -283,7 +283,7 @@ u32 CWII_IPC_HLE_Device_usb_oh1_57e_305::Update()
|
||||
{
|
||||
ACLFrame& frame = m_AclFrameQue.front();
|
||||
|
||||
LOG(WII_IPC_WIIMOTE, "Sending ACL frame.");
|
||||
LOGV(WII_IPC_WIIMOTE, 1, "Sending ACL frame.");
|
||||
UACLHeader* pHeader = (UACLHeader*)Memory::GetPointer(m_pACLBuffer->PayloadBuffer[0].m_Address);
|
||||
pHeader->ConnectionHandle = frame.ConnectionHandle;
|
||||
pHeader->BCFlag = 0;
|
||||
@ -788,9 +788,9 @@ bool CWII_IPC_HLE_Device_usb_oh1_57e_305::SendEventNumberOfCompletedPackets(u16
|
||||
AddEventToQueue(Event);
|
||||
|
||||
// Log
|
||||
LOG(WII_IPC_WIIMOTE, "Event: SendEventNumberOfCompletedPackets");
|
||||
LOG(WII_IPC_WIIMOTE, " Connection_Handle: 0x%04x", pNumberOfCompletedPackets->Connection_Handle);
|
||||
LOG(WII_IPC_WIIMOTE, " Number_Of_Completed_Packets: %i", pNumberOfCompletedPackets->Number_Of_Completed_Packets);
|
||||
LOGV(WII_IPC_WIIMOTE, 1, "Event: SendEventNumberOfCompletedPackets");
|
||||
LOGV(WII_IPC_WIIMOTE, 1, " Connection_Handle: 0x%04x", pNumberOfCompletedPackets->Connection_Handle);
|
||||
LOGV(WII_IPC_WIIMOTE, 1, " Number_Of_Completed_Packets: %i", pNumberOfCompletedPackets->Number_Of_Completed_Packets);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -320,7 +320,7 @@ void CWII_IPC_HLE_WiiMote::SendACLFrame(u8* _pData, u32 _Size)
|
||||
u8* pData = _pData + sizeof(SL2CAP_Header);
|
||||
u32 DataSize = _Size - sizeof(SL2CAP_Header);
|
||||
|
||||
LOG(WII_IPC_WIIMOTE, "L2Cap-SendFrame: Channel 0x%04x, Len 0x%x, DataSize 0x%x",
|
||||
LOGV(WII_IPC_WIIMOTE, 2, "L2Cap-SendFrame: Channel 0x%04x, Len 0x%x, DataSize 0x%x",
|
||||
pHeader->CID, pHeader->Length, DataSize);
|
||||
|
||||
if(pHeader->Length != DataSize)
|
||||
@ -941,7 +941,7 @@ namespace Core
|
||||
void Callback_WiimoteInput(u16 _channelID, const void* _pData, u32 _Size)
|
||||
{
|
||||
const u8* pData = (const u8*)_pData;
|
||||
LOG(WII_IPC_WIIMOTE, "Callback_WiimoteInput: 0x%x", _channelID);
|
||||
LOGV(WII_IPC_WIIMOTE, 2, "Callback_WiimoteInput: 0x%x", _channelID);
|
||||
std::string Temp;
|
||||
for (u32 j=0; j<_Size; j++)
|
||||
{
|
||||
@ -949,7 +949,7 @@ namespace Core
|
||||
sprintf(Buffer, "%02x ", pData[j]);
|
||||
Temp.append(Buffer);
|
||||
}
|
||||
LOG(WII_IPC_WIIMOTE, " Data: %s", Temp.c_str());
|
||||
LOGV(WII_IPC_WIIMOTE, 3, " Data: %s", Temp.c_str());
|
||||
|
||||
s_Usb->m_WiiMotes[0].SendL2capData(_channelID, _pData, _Size);
|
||||
}
|
||||
|
@ -45,6 +45,16 @@ void __Log(int log, const char *format, ...)
|
||||
LogManager::Log((LogTypes::LOG_TYPE)log, temp);
|
||||
}
|
||||
|
||||
void __Logv(int log, int v, const char *format, ...)
|
||||
{
|
||||
char* temp = (char*)alloca(strlen(format)+512);
|
||||
va_list args;
|
||||
va_start(args, format);
|
||||
CharArrayFromFormatV(temp, 512, format, args);
|
||||
va_end(args);
|
||||
LogManager::Log((LogTypes::LOG_TYPE)(log + v*100), temp);
|
||||
}
|
||||
|
||||
CDebugger_Log::CDebugger_Log(const char* _szShortName, const char* _szName, int a) :
|
||||
m_bLogToFile(true), // write to file or not
|
||||
m_bShowInLog(false),
|
||||
|
@ -109,10 +109,14 @@ CMemoryWindow::~CMemoryWindow()
|
||||
|
||||
void CMemoryWindow::Save(IniFile& _IniFile) const
|
||||
{
|
||||
_IniFile.Set("MemoryWindow", "x", GetPosition().x);
|
||||
_IniFile.Set("MemoryWindow", "y", GetPosition().y);
|
||||
_IniFile.Set("MemoryWindow", "w", GetSize().GetWidth());
|
||||
_IniFile.Set("MemoryWindow", "h", GetSize().GetHeight());
|
||||
// Prevent these bad values that can happen after a crash or hanging
|
||||
if(GetPosition().x != -32000 && GetPosition().y != -32000)
|
||||
{
|
||||
_IniFile.Set("MemoryWindow", "x", GetPosition().x);
|
||||
_IniFile.Set("MemoryWindow", "y", GetPosition().y);
|
||||
_IniFile.Set("MemoryWindow", "w", GetSize().GetWidth());
|
||||
_IniFile.Set("MemoryWindow", "h", GetSize().GetHeight());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user