diff options
| author | John Peterson <jpeterson57@gmail.com> | 2008-11-12 15:03:21 +0000 |
|---|---|---|
| committer | John Peterson <jpeterson57@gmail.com> | 2008-11-12 15:03:21 +0000 |
| commit | b698ea376df75527477ac9aa125bf78b72e77876 (patch) | |
| tree | 5fe55b1959b30c33b969d5c0f52db9608070f7d3 /Source/Core | |
| parent | 85abf9d5f9e3f04aae992ebaf1e530e0af619823 (diff) | |
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
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Common/Src/Common.h | 4 | ||||
| -rw-r--r-- | Source/Core/Core/Src/Core.cpp | 6 | ||||
| -rw-r--r-- | Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.cpp | 12 | ||||
| -rw-r--r-- | Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_WiiMote.cpp | 6 | ||||
| -rw-r--r-- | Source/Core/Core/Src/LogManager.cpp | 10 | ||||
| -rw-r--r-- | Source/Core/DebuggerWX/Src/MemoryWindow.cpp | 12 |
6 files changed, 33 insertions, 17 deletions
diff --git a/Source/Core/Common/Src/Common.h b/Source/Core/Common/Src/Common.h index e6c9c57de5..7dd078f354 100644 --- a/Source/Core/Common/Src/Common.h +++ b/Source/Core/Common/Src/Common.h @@ -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_)){\
diff --git a/Source/Core/Core/Src/Core.cpp b/Source/Core/Core/Src/Core.cpp index c79d2fdca2..6479827e2b 100644 --- a/Source/Core/Core/Src/Core.cpp +++ b/Source/Core/Core/Src/Core.cpp @@ -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
diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.cpp index e1c85202d0..00c6a7225c 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.cpp +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_usb.cpp @@ -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;
}
diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_WiiMote.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_WiiMote.cpp index 86a4079b61..a8d9c514be 100644 --- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_WiiMote.cpp +++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_WiiMote.cpp @@ -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);
}
diff --git a/Source/Core/Core/Src/LogManager.cpp b/Source/Core/Core/Src/LogManager.cpp index d8a9e5d1cc..a535f16467 100644 --- a/Source/Core/Core/Src/LogManager.cpp +++ b/Source/Core/Core/Src/LogManager.cpp @@ -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),
diff --git a/Source/Core/DebuggerWX/Src/MemoryWindow.cpp b/Source/Core/DebuggerWX/Src/MemoryWindow.cpp index e7a02ca518..2ae39b249e 100644 --- a/Source/Core/DebuggerWX/Src/MemoryWindow.cpp +++ b/Source/Core/DebuggerWX/Src/MemoryWindow.cpp @@ -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());
+ }
}
|
