wx3.0: lots of cast...

Various string as still wrong but at least it can be compiled now.

I think the remaining issue are w_char with %s format (at least on linux)
This commit is contained in:
Gregory Hainaut 2014-06-29 09:05:03 +02:00
parent fded22e1b3
commit d5d19acb3f
43 changed files with 416 additions and 397 deletions

View File

@ -95,7 +95,7 @@ void SafeArray<T>::Dispose()
template< typename T >
T* SafeArray<T>::_getPtr( uint i ) const
{
IndexBoundsAssumeDev( Name.c_str(), i, m_size );
IndexBoundsAssumeDev( WX_STR(Name), i, m_size );
return &m_ptr[i];
}
@ -213,7 +213,7 @@ SafeList<T>::SafeList( int initialSize, const wxChar* name )
template< typename T >
T* SafeList<T>::_getPtr( uint i ) const
{
IndexBoundsAssumeDev( Name.c_str(), i, m_length );
IndexBoundsAssumeDev( WX_STR(Name), i, m_length );
return &m_ptr[i];
}

View File

@ -21,6 +21,12 @@
#include <wx/tokenzr.h>
// Stupid wx3.0 doesn't support c_str for vararg function
#if wxMAJOR_VERSION >= 3
#define WX_STR(str) (static_cast<const char*>(str.c_str()))
#else
#define WX_STR(str) (str.c_str())
#endif
// --------------------------------------------------------------------------------------
// pxToUTF8
@ -155,7 +161,7 @@ public:
FastFormatAscii& operator+=(const wxString& s)
{
Write( "%ls", s.c_str() );
Write( "%s", WX_STR(s) );
return *this;
}
@ -207,7 +213,7 @@ public:
FastFormatUnicode& operator+=(const wxString& s)
{
Write( L"%s", s.c_str() );
Write( L"%s", WX_STR(s) );
return *this;
}

View File

@ -42,13 +42,13 @@ public:
ConsoleLogSource_Threading();
bool Write( const wxString& thrname, const wxChar* msg ) {
return _parent::Write( wxsFormat(L"(thread:%s) ", thrname.c_str()) + msg );
return _parent::Write( wxsFormat(L"(thread:%s) ", WX_STR(thrname)) + msg );
}
bool Warn( const wxString& thrname, const wxChar* msg ) {
return _parent::Warn( wxsFormat(L"(thread:%s) ", thrname.c_str()) + msg );
return _parent::Warn( wxsFormat(L"(thread:%s) ", WX_STR(thrname)) + msg );
}
bool Error( const wxString& thrname, const wxChar* msg ) {
return _parent::Error( wxsFormat(L"(thread:%s) ", thrname.c_str()) + msg );
return _parent::Error( wxsFormat(L"(thread:%s) ", WX_STR(thrname)) + msg );
}
};

View File

@ -26,11 +26,6 @@
// for lack of a better place...
Fnptr_OutOfMemory pxDoOutOfMemory = NULL;
static wxString GetTranslation( const wxChar* msg )
{
return msg ? wxGetTranslation( msg ) : wxEmptyString;
}
// ------------------------------------------------------------------------
// Force DevAssert to *not* inline for devel builds (allows using breakpoints to trap assertions,
// and force it to inline for release builds (optimizes it out completely since IsDevBuild is a
@ -57,15 +52,15 @@ wxString DiagnosticOrigin::ToString( const wxChar* msg ) const
message.Write( L"%s(%d) : assertion failed:\n", srcfile, line );
if( function != NULL )
message.Write( " Function: %s\n", function );
message.Write( " Function: %S\n", function );
message.Write(L" Thread: %s\n", Threading::pxGetCurrentThreadName().c_str() );
message.Write(L" Thread: %s\n", WX_STR(Threading::pxGetCurrentThreadName()) );
if( condition != NULL )
message.Write(L" Condition: %s\n", condition);
message.Write(L" Condition: %S\n", condition);
if( msg != NULL )
message.Write(L" Message: %s\n", msg);
message.Write(L" Message: %S\n", msg);
return message;
}
@ -137,7 +132,7 @@ __fi void pxOnAssert( const DiagnosticOrigin& origin, const char* msg)
#if wxMAJOR_VERSION >= 3
__fi void pxOnAssert( const DiagnosticOrigin& origin, const wxString& msg)
{
pxOnAssert( origin, msg.wx_str() ); // wc_str ???
pxOnAssert( origin, WX_STR(msg) ); // wc_str ???
}
__fi void pxOnAssert( const DiagnosticOrigin& origin, const FastFormatUnicode& msg)
@ -154,7 +149,11 @@ BaseException::~BaseException() throw() {}
BaseException& BaseException::SetBothMsgs( const wxChar* msg_diag )
{
m_message_user = GetTranslation( msg_diag );
#if wxMAJOR_VERSION >= 3
m_message_user = msg_diag ? wxString(wxGetTranslation( msg_diag )) : wxString("");
#else
m_message_user = msg_diag ? wxGetTranslation( msg_diag ) : wxEmptyString;
#endif
return SetDiagMsg( msg_diag );
}
@ -188,8 +187,8 @@ Exception::RuntimeError::RuntimeError( const std::runtime_error& ex, const wxStr
IsSilent = false;
SetDiagMsg( pxsFmt( L"STL Runtime Error%s: %s",
(prefix.IsEmpty() ? prefix.c_str() : pxsFmt(L" (%s)", prefix.c_str()).c_str()),
fromUTF8( ex.what() ).c_str()
(prefix.IsEmpty() ? L"" : pxsFmt(L" (%s)", WX_STR(prefix)).c_str()),
WX_STR(fromUTF8( ex.what() ))
) );
}
@ -198,8 +197,8 @@ Exception::RuntimeError::RuntimeError( const std::exception& ex, const wxString&
IsSilent = false;
SetDiagMsg( pxsFmt( L"STL Exception%s: %s",
(prefix.IsEmpty() ? prefix.c_str() : pxsFmt(L" (%s)", prefix.c_str()).c_str()),
fromUTF8( ex.what() ).c_str()
(prefix.IsEmpty() ? L"" : pxsFmt(L" (%s)", WX_STR(prefix)).c_str()),
WX_STR(fromUTF8( ex.what() ))
) );
}
@ -216,10 +215,10 @@ wxString Exception::OutOfMemory::FormatDiagnosticMessage() const
FastFormatUnicode retmsg;
retmsg.Write(L"Out of memory");
if (!AllocDescription.IsEmpty())
retmsg.Write(L" while allocating '%s'", AllocDescription.c_str());
retmsg.Write(L" while allocating '%s'", WX_STR(AllocDescription));
if (!m_message_diag.IsEmpty())
retmsg.Write(L":\n%s", m_message_diag.c_str());
retmsg.Write(L":\n%s", WX_STR(m_message_diag));
return retmsg;
}
@ -230,7 +229,7 @@ wxString Exception::OutOfMemory::FormatDisplayMessage() const
retmsg.Write( L"%s", _("Oh noes! Out of memory!") );
if (!m_message_user.IsEmpty())
retmsg.Write(L"\n\n%s", m_message_user.c_str());
retmsg.Write(L"\n\n%s", WX_STR(m_message_user));
return retmsg;
}
@ -250,10 +249,10 @@ wxString Exception::VirtualMemoryMapConflict::FormatDiagnosticMessage() const
FastFormatUnicode retmsg;
retmsg.Write(L"Virtual memory map failed");
if (!AllocDescription.IsEmpty())
retmsg.Write(L" while reserving '%s'", AllocDescription.c_str());
retmsg.Write(L" while reserving '%s'", WX_STR(AllocDescription));
if (!m_message_diag.IsEmpty())
retmsg.Write(L":\n%s", m_message_diag.c_str());
retmsg.Write(L":\n%s", WX_STR(m_message_diag));
return retmsg;
}
@ -267,7 +266,7 @@ wxString Exception::VirtualMemoryMapConflict::FormatDisplayMessage() const
);
if (!m_message_diag.IsEmpty())
retmsg.Write(L"\n\n%s", m_message_diag.c_str());
retmsg.Write(L"\n\n%s", WX_STR(m_message_diag));
return retmsg;
}
@ -305,24 +304,24 @@ void Exception::BadStream::_formatDiagMsg( FastFormatUnicode& dest ) const
{
dest.Write( L"Path: " );
if (!StreamName.IsEmpty())
dest.Write( L"%s", StreamName.c_str() );
dest.Write( L"%s", WX_STR(StreamName) );
else
dest.Write( L"[Unnamed or unknown]" );
if (!m_message_diag.IsEmpty())
dest.Write(L"\n%s", m_message_diag.c_str());
dest.Write(L"\n%s", WX_STR(m_message_diag));
}
void Exception::BadStream::_formatUserMsg( FastFormatUnicode& dest ) const
{
dest.Write( _("Path: ") );
if (!StreamName.IsEmpty())
dest.Write( L"%s", StreamName.c_str() );
dest.Write( L"%s", WX_STR(StreamName) );
else
dest.Write( _("[Unnamed or unknown]") );
if (!m_message_user.IsEmpty())
dest.Write(L"\n%s", m_message_user.c_str());
dest.Write(L"\n%s", WX_STR(m_message_user));
}
// --------------------------------------------------------------------------------------

View File

@ -331,7 +331,7 @@ FastFormatUnicode& FastFormatUnicode::ToLower()
FastFormatUnicode& FastFormatUnicode::operator+=(const char* psz )
{
Write( L"%s", fromUTF8(psz).c_str() );
Write( L"%s", WX_STR(fromUTF8(psz)) );
return *this;
}

View File

@ -246,7 +246,7 @@ void IniLoader::_EnumEntry( const wxString& var, int& value, const wxChar* const
if( enumArray[i] == NULL )
{
Console.Warning( L"(LoadSettings) Warning: Unrecognized value '%s' on key '%s'\n\tUsing the default setting of '%s'.",
retval.c_str(), var.c_str(), enumArray[defvalue]
WX_STR(retval), WX_STR(var), enumArray[defvalue]
);
value = defvalue;
}
@ -377,7 +377,7 @@ void IniSaver::_EnumEntry( const wxString& var, int& value, const wxChar* const*
if( value >= cnt )
{
Console.Warning( L"(SaveSettings) An illegal enumerated index was detected when saving '%s'", var.c_str() );
Console.Warning( L"(SaveSettings) An illegal enumerated index was detected when saving '%s'", WX_STR(var) );
Console.Indent().Warning(
L"Illegal Value: %d\n"
L"Using Default: %d (%s)\n",

View File

@ -118,13 +118,13 @@ static bool _memprotect( void* baseaddr, size_t size, const PageProtectionMode&
{
case EINVAL:
pxFailDev(pxsFmt(L"mprotect returned EINVAL @ 0x%08X -> 0x%08X (mode=%s)",
baseaddr, (uptr)baseaddr+size, mode.ToString().c_str())
baseaddr, (uptr)baseaddr+size, WX_STR(mode.ToString()))
);
break;
case EACCES:
pxFailDev(pxsFmt(L"mprotect returned EACCES @ 0x%08X -> 0x%08X (mode=%s)",
baseaddr, (uptr)baseaddr+size, mode.ToString().c_str())
baseaddr, (uptr)baseaddr+size, WX_STR(mode.ToString()))
);
break;
@ -218,7 +218,7 @@ void HostSys::MemProtect( void* baseaddr, size_t size, const PageProtectionMode&
{
throw Exception::OutOfMemory( L"MemProtect" )
.SetDiagMsg(pxsFmt( L"mprotect failed @ 0x%08X -> 0x%08X (mode=%s)",
baseaddr, (uptr)baseaddr+size, mode.ToString().c_str()
baseaddr, (uptr)baseaddr+size, WX_STR(mode.ToString())
)
);
}

View File

@ -210,7 +210,7 @@ bool Threading::pxThread::AffinityAssert_AllowFromSelf( const DiagnosticOrigin&
if( IsSelf() ) return true;
if( IsDevBuild )
pxOnAssert( origin, pxsFmt( L"Thread affinity violation: Call allowed from '%s' thread only.", GetName().c_str() ) );
pxOnAssert( origin, pxsFmt( L"Thread affinity violation: Call allowed from '%s' thread only.", WX_STR(GetName()) ) );
return false;
}
@ -220,7 +220,7 @@ bool Threading::pxThread::AffinityAssert_DisallowFromSelf( const DiagnosticOrigi
if( !IsSelf() ) return true;
if( IsDevBuild )
pxOnAssert( origin, pxsFmt( L"Thread affinity violation: Call is *not* allowed from '%s' thread.", GetName().c_str() ) );
pxOnAssert( origin, pxsFmt( L"Thread affinity violation: Call is *not* allowed from '%s' thread.", WX_STR(GetName()) ) );
return false;
}
@ -436,7 +436,7 @@ void Threading::pxThread::_selfRunningTest( const wxChar* name ) const
{
throw Exception::CancelEvent( pxsFmt(
L"Blocking thread %s was terminated while another thread was waiting on a %s.",
GetName().c_str(), name )
WX_STR(GetName()), name )
);
}
@ -550,14 +550,14 @@ void Threading::pxThread::_try_virtual_invoke( void (pxThread::*method)() )
//
catch( std::runtime_error& ex )
{
m_except = new Exception::RuntimeError( ex, GetName().c_str() );
m_except = new Exception::RuntimeError( ex, WX_STR(GetName()) );
}
// ----------------------------------------------------------------------------
catch( Exception::RuntimeError& ex )
{
BaseException* woot = ex.Clone();
woot->DiagMsg() += pxsFmt( L"(thread:%s)", GetName().c_str() );
woot->DiagMsg() += pxsFmt( L"(thread:%s)", WX_STR(GetName()) );
m_except = woot;
}
#ifndef PCSX2_DEVBUILD
@ -568,13 +568,13 @@ void Threading::pxThread::_try_virtual_invoke( void (pxThread::*method)() )
/*catch( std::logic_error& ex )
{
throw BaseException( pxsFmt( L"STL Logic Error (thread:%s): %s",
GetName().c_str(), fromUTF8( ex.what() ).c_str() )
WX_STR(GetName()), WX_STR(fromUTF8( ex.what() )) )
);
}
catch( std::exception& ex )
{
throw BaseException( pxsFmt( L"STL exception (thread:%s): %s",
GetName().c_str(), fromUTF8( ex.what() ).c_str() )
WX_STR(GetName()), WX_STR(fromUTF8( ex.what() )) )
);
}*/
// ----------------------------------------------------------------------------
@ -583,7 +583,7 @@ void Threading::pxThread::_try_virtual_invoke( void (pxThread::*method)() )
catch( BaseException& ex )
{
BaseException* woot = ex.Clone();
woot->DiagMsg() += pxsFmt( L"(thread:%s)", GetName().c_str() );
woot->DiagMsg() += pxsFmt( L"(thread:%s)", WX_STR(GetName()) );
m_except = woot;
}
#endif
@ -688,7 +688,7 @@ void* Threading::pxThread::_internal_callback( void* itsme )
void Threading::pxThread::_DoSetThreadName( const wxString& name )
{
_DoSetThreadName( name.ToUTF8() );
_DoSetThreadName( static_cast<const char*>(name.ToUTF8()) );
}
// --------------------------------------------------------------------------------------
@ -859,12 +859,14 @@ __fi void* Threading::_AtomicCompareExchangePointer(volatile uptr& target, uptr
wxString Exception::BaseThreadError::FormatDiagnosticMessage() const
{
return pxsFmt( m_message_diag, (m_thread==NULL) ? L"Null Thread Object" : m_thread->GetName().c_str());
wxString null_str(L"Null Thread Object");
return pxsFmt( m_message_diag, (m_thread==NULL) ? WX_STR(null_str) : WX_STR(m_thread->GetName()));
}
wxString Exception::BaseThreadError::FormatDisplayMessage() const
{
return pxsFmt( m_message_user, (m_thread==NULL) ? L"Null Thread Object" : m_thread->GetName().c_str());
wxString null_str(L"Null Thread Object");
return pxsFmt( m_message_user, (m_thread==NULL) ? WX_STR(null_str) : WX_STR(m_thread->GetName()));
}
pxThread& Exception::BaseThreadError::Thread()

View File

@ -130,7 +130,7 @@ void* VirtualMemoryReserve::Reserve( size_t size, uptr base, uptr upper_bounds )
if (!m_baseptr || (upper_bounds != 0 && (((uptr)m_baseptr + reserved_bytes) > upper_bounds)))
{
DevCon.Warning( L"%s: host memory @ %s -> %s is unavailable; attempting to map elsewhere...",
m_name.c_str(), pxsPtr(base), pxsPtr(base + size) );
WX_STR(m_name), pxsPtr(base), pxsPtr(base + size) );
SafeSysMunmap(m_baseptr, reserved_bytes);
@ -157,7 +157,7 @@ void* VirtualMemoryReserve::Reserve( size_t size, uptr base, uptr upper_bounds )
else
mbkb.Write( "[%ukb]", reserved_bytes / 1024 );
DevCon.WriteLn( Color_Gray, L"%-32s @ %s -> %s %s", m_name.c_str(),
DevCon.WriteLn( Color_Gray, L"%-32s @ %s -> %s %s", WX_STR(m_name),
pxsPtr(m_baseptr), pxsPtr((uptr)m_baseptr+reserved_bytes), mbkb.c_str());
return m_baseptr;
@ -224,7 +224,7 @@ bool VirtualMemoryReserve::TryResize( uint newsize )
uint toReservePages = newPages - m_pages_reserved;
uint toReserveBytes = toReservePages * __pagesize;
DevCon.WriteLn( L"%-32s is being expanded by %u pages.", m_name.c_str(), toReservePages);
DevCon.WriteLn( L"%-32s is being expanded by %u pages.", WX_STR(m_name), toReservePages);
m_baseptr = (void*)HostSys::MmapReserve((uptr)GetPtrEnd(), toReserveBytes);
@ -234,7 +234,7 @@ bool VirtualMemoryReserve::TryResize( uint newsize )
Console.Indent().Warning("(attempted to map memory @ %08p -> %08p)", m_baseptr, (uptr)m_baseptr+toReserveBytes);
}
DevCon.WriteLn( Color_Gray, L"%-32s @ %08p -> %08p [%umb]", m_name.c_str(),
DevCon.WriteLn( Color_Gray, L"%-32s @ %08p -> %08p [%umb]", WX_STR(m_name),
m_baseptr, (uptr)m_baseptr+toReserveBytes, toReserveBytes / _1mb);
}
else if (newPages < m_pages_reserved)
@ -244,11 +244,11 @@ bool VirtualMemoryReserve::TryResize( uint newsize )
uint toRemovePages = m_pages_reserved - newPages;
uint toRemoveBytes = toRemovePages * __pagesize;
DevCon.WriteLn( L"%-32s is being shrunk by %u pages.", m_name.c_str(), toRemovePages);
DevCon.WriteLn( L"%-32s is being shrunk by %u pages.", WX_STR(m_name), toRemovePages);
HostSys::MmapResetPtr(GetPtrEnd(), toRemoveBytes);
DevCon.WriteLn( Color_Gray, L"%-32s @ %08p -> %08p [%umb]", m_name.c_str(),
DevCon.WriteLn( Color_Gray, L"%-32s @ %08p -> %08p [%umb]", WX_STR(m_name),
m_baseptr, (uptr)m_baseptr+toRemoveBytes, toRemoveBytes / _1mb);
}
@ -297,7 +297,7 @@ void BaseVmReserveListener::OnPageFaultEvent(const PageFaultInfo& info, bool& ha
pxFailRel( pxsFmt(
L"Memory Protection Fault @ %s (%s)\n"
L"Modification of this reserve has been disabled (m_allow_writes == false).",
pxsPtr(info.addr), m_name.c_str())
pxsPtr(info.addr), WX_STR(m_name))
);
return;
}

View File

@ -362,7 +362,7 @@ static __fi void _reloadElfInfo(wxString elfpath)
ElfCRC = elfptr->getCRC();
ElfEntry = elfptr->header.e_entry;
ElfTextRange = elfptr->getTextRange();
Console.WriteLn( Color_StrongBlue, L"ELF (%s) Game CRC = 0x%08X, EntryPoint = 0x%08X", elfpath.c_str(), ElfCRC, ElfEntry);
Console.WriteLn( Color_StrongBlue, L"ELF (%s) Game CRC = 0x%08X, EntryPoint = 0x%08X", WX_STR(elfpath), ElfCRC, ElfEntry);
// Note: Do not load game database info here. This code is generic and called from
// BIOS key encryption as well as eeloadReplaceOSDSYS. The first is actually still executing

View File

@ -355,7 +355,7 @@ bool DoCDVDopen()
// Likely Fix: Force new versions of CDVD plugins to expect UTF8 instead.
int ret = CDVD->open( !m_SourceFilename[m_CurrentSourceType].IsEmpty() ?
m_SourceFilename[m_CurrentSourceType].ToUTF8() : (char*)NULL
static_cast<const char*>(m_SourceFilename[m_CurrentSourceType].ToUTF8()) : (char*)NULL
);
if( ret == -1 ) return false; // error! (handled by caller)

View File

@ -166,7 +166,7 @@ static void FindLayer1Start()
wxFileConfig layerCacheIni( wxEmptyString, wxEmptyString, layerCacheFile, wxEmptyString, wxCONFIG_USE_RELATIVE_PATH );
FastFormatUnicode cacheKey;
cacheKey.Write( L"%X", HashTools::Hash( (s8*)iso.GetFilename().c_str(), iso.GetFilename().Length() * sizeof(wxChar) ) );
cacheKey.Write( L"%X", HashTools::Hash( (s8*)iso.GetFilename().wx_str(), iso.GetFilename().Length() * sizeof(wxChar) ) );
blockresult = layerCacheIni.Read( cacheKey, -1 );
if( blockresult != -1 )

View File

@ -41,7 +41,7 @@ int InputIsoFile::ReadSync(u8* dst, uint lsn)
msg.Write("isoFile error: Block index is past the end of file! (%u > %u).", lsn, m_blocks);
pxAssertDev(false, msg);
Console.Error(msg);
Console.Error(msg.c_str());
return -1;
}
@ -56,7 +56,7 @@ void InputIsoFile::BeginRead2(uint lsn)
msg.Write("isoFile error: Block index is past the end of file! (%u > %u).", lsn, m_blocks);
pxAssertDev(false, msg);
Console.Error(msg);
Console.Error(msg.c_str());
// [TODO] : Throw exception?
// Typically an error like this is bad; indicating an invalid dump or corrupted
@ -248,7 +248,7 @@ bool InputIsoFile::Open( const wxString& srcfile, bool testOnly )
m_blocks = m_reader->GetBlockCount();
Console.WriteLn(Color_StrongBlue, L"isoFile open ok: %s", m_filename.c_str());
Console.WriteLn(Color_StrongBlue, L"isoFile open ok: %s", WX_STR(m_filename));
ConsoleIndentScope indent;

View File

@ -25,7 +25,7 @@ void pxStream_OpenCheck( const wxStreamBase& stream, const wxString& fname, cons
if (stream.IsOk()) return;
ScopedExcept ex(Exception::FromErrno(fname, errno));
ex->SetDiagMsg( pxsFmt(L"Unable to open the file for %s: %s", mode.c_str(), ex->DiagMsg().c_str()) );
ex->SetDiagMsg( pxsFmt(L"Unable to open the file for %s: %s", WX_STR(mode), WX_STR(ex->DiagMsg())) );
ex->Rethrow();
}
@ -65,7 +65,7 @@ void OutputIsoFile::Create(const wxString& filename, int version)
m_outstream = new wxFileOutputStream( m_filename );
pxStream_OpenCheck( *m_outstream, m_filename, L"writing" );
Console.WriteLn("isoFile create ok: %s ", m_filename.c_str());
Console.WriteLn("isoFile create ok: %s ", WX_STR(m_filename));
}
// Generates format header information for blockdumps.
@ -129,7 +129,7 @@ void OutputIsoFile::WriteBuffer( const void* src, size_t size )
throw Exception::BadStream(m_filename).SetDiagMsg(pxsFmt(L"An error occurred while writing %u bytes to file", size));
ScopedExcept ex(Exception::FromErrno(m_filename, err));
ex->SetDiagMsg( pxsFmt(L"An error occurred while writing %u bytes to file: %s", size, ex->DiagMsg().c_str()) );
ex->SetDiagMsg( pxsFmt(L"An error occurred while writing %u bytes to file: %s", size, WX_STR(ex->DiagMsg())) );
ex->Rethrow();
}
}

View File

@ -64,7 +64,7 @@ void __fastcall ReadFIFO_VIF1(mem128_t* out)
}
}
VIF_LOG("ReadFIFO/VIF1 -> %ls", out->ToString().c_str());
VIF_LOG("ReadFIFO/VIF1 -> %ls", WX_STR(out->ToString()));
}
//////////////////////////////////////////////////////////////////////////
@ -72,7 +72,7 @@ void __fastcall ReadFIFO_VIF1(mem128_t* out)
//
void __fastcall WriteFIFO_VIF0(const mem128_t *value)
{
VIF_LOG("WriteFIFO/VIF0 <- %ls", value->ToString().c_str());
VIF_LOG("WriteFIFO/VIF0 <- %ls", WX_STR(value->ToString()));
vif0ch.qwc += 1;
if(vif0.irqoffset.value != 0 && vif0.vifstalled.enabled == true) DevCon.Warning("Offset on VIF0 FIFO start!");
@ -92,7 +92,7 @@ void __fastcall WriteFIFO_VIF0(const mem128_t *value)
void __fastcall WriteFIFO_VIF1(const mem128_t *value)
{
VIF_LOG("WriteFIFO/VIF1 <- %ls", value->ToString().c_str());
VIF_LOG("WriteFIFO/VIF1 <- %ls", WX_STR(value->ToString()));
if (vif1Regs.stat.FDR) {
DevCon.Warning("writing to fifo when fdr is set!");

View File

@ -119,11 +119,11 @@ struct Game_Data
}
bool sectionExists(const wxChar* key, const wxString& value) const {
return keyExists(wxsFormat(L"[%s%s%s]", key, value.IsEmpty() ? L"" : L" = ", value.c_str()));
return keyExists(wxsFormat(L"[%s%s%s]", key, value.IsEmpty() ? L"" : L" = ", WX_STR(value)));
}
wxString getSection(const wxChar* key, const wxString& value) const {
return getString(wxsFormat(L"[%s%s%s]", key, value.IsEmpty() ? L"" : L" = ", value.c_str()));
return getString(wxsFormat(L"[%s%s%s]", key, value.IsEmpty() ? L"" : L" = ", WX_STR(value)).wx_str());
}
// Gets an integer representation of the 'value' for the given key
@ -142,23 +142,31 @@ struct Game_Data
}
bool keyExists(const char* key) const {
return keyExists(fromUTF8(key));
return keyExists(fromUTF8(key).wx_str());
}
bool keyExists(const wxString& key) const {
return keyExists(key.wx_str());
}
wxString getString(const char* key) const {
return getString(fromUTF8(key));
return getString(fromUTF8(key).wx_str());
}
int getInt(const char* key) const {
return getInt(fromUTF8(key));
return getInt(fromUTF8(key).wx_str());
}
u8 getU8(const char* key) const {
return getU8(fromUTF8(key));
return getU8(fromUTF8(key).wx_str());
}
bool getBool(const char* key) const {
return getBool(fromUTF8(key));
return getBool(fromUTF8(key).wx_str());
}
bool getBool(const wxString& key) const {
return getBool(key.wx_str());
}
};

View File

@ -160,7 +160,7 @@ void __fastcall ReadFIFO_IPUout(mem128_t* out)
void __fastcall WriteFIFO_IPUin(const mem128_t* value)
{
IPU_LOG( "WriteFIFO/IPUin <- %ls", value->ToString().c_str() );
IPU_LOG( "WriteFIFO/IPUin <- %ls", WX_STR(value->ToString()) );
//committing every 16 bytes
if( ipu_fifo.in.write((u32*)value, 1) == 0 )

View File

@ -13,231 +13,231 @@
* If not, see <http://www.gnu.org/licenses/>.
*/
#include "PrecompiledHeader.h"
#include "AsyncFileReader.h"
// Tests for a filename extension in both upper and lower case, if the filesystem happens
// to be case-sensitive.
bool pxFileExists_WithExt( const wxFileName& filename, const wxString& ext )
{
wxFileName part1 = filename;
part1.SetExt( ext.Lower() );
if (part1.FileExists()) return true;
if (!wxFileName::IsCaseSensitive()) return false;
part1.SetExt( ext.Upper() );
return part1.FileExists();
}
AsyncFileReader* MultipartFileReader::DetectMultipart(AsyncFileReader* reader)
{
MultipartFileReader* multi = new MultipartFileReader(reader);
multi->FindParts();
if (multi->m_numparts > 1)
{
Console.WriteLn( Color_Blue, "isoFile: multi-part ISO detected. %u parts found.", multi->m_numparts);
return multi;
}
multi->m_parts[0].reader = NULL;
delete multi;
return reader;
}
MultipartFileReader::MultipartFileReader(AsyncFileReader* firstPart)
{
memset(m_parts,0,sizeof(m_parts));
m_filename = firstPart->GetFilename();
m_numparts = 1;
m_parts[0].reader = firstPart;
m_parts[0].end = firstPart->GetBlockCount();
}
MultipartFileReader::~MultipartFileReader(void)
{
Close();
}
void MultipartFileReader::FindParts()
{
wxFileName nameparts( m_filename );
wxString curext( nameparts.GetExt() );
wxChar prefixch = wxTolower(curext[0]);
// Multi-part rules!
// * The first part can either be the proper extension (ISO, MDF, etc) or the numerical
// extension (I00, I01, M00, M01, etc).
// * Numerical extensions MUST begin at 00 (I00 etc), regardless of if the first part
// is proper or numerical.
uint i = 0;
if ((curext.Length() == 3) && (curext[1] == L'0') && (curext[2] == L'0'))
{
// First file is an OO, so skip 0 in the loop below:
i = 1;
}
FastFormatUnicode extbuf;
extbuf.Write( L"%c%02u", prefixch, i );
nameparts.SetExt( extbuf );
if (!pxFileExists_WithExt(nameparts, extbuf))
return;
DevCon.WriteLn( Color_Blue, "isoFile: multi-part %s detected...", curext.Upper().c_str() );
ConsoleIndentScope indent;
int bsize = m_parts[0].reader->GetBlockSize();
int blocks = m_parts[0].end;
m_numparts = 1;
for (; i < MaxParts; ++i)
{
extbuf.Clear();
extbuf.Write( L"%c%02u", prefixch, i );
nameparts.SetExt( extbuf );
if (!pxFileExists_WithExt(nameparts, extbuf))
break;
Part* thispart = m_parts + m_numparts;
AsyncFileReader* thisreader = thispart->reader = new FlatFileReader();
wxString name = nameparts.GetFullPath();
thisreader->Open(name);
thisreader->SetBlockSize(bsize);
thispart->start = blocks;
uint bcount = thisreader->GetBlockCount();
blocks += bcount;
thispart->end = blocks;
DevCon.WriteLn( Color_Blue, L"\tblocks %u - %u in: %s",
thispart->start, thispart->end,
nameparts.GetFullPath().c_str()
);
++m_numparts;
}
//Console.WriteLn( Color_Blue, "isoFile: multi-part ISO loaded (%u parts found)", m_numparts );
}
bool MultipartFileReader::Open(const wxString& fileName)
{
// Cannot open a MultipartFileReader directly,
// use DetectMultipart to convert a FlatFileReader
return false;
}
uint MultipartFileReader::GetFirstPart(uint lsn)
{
pxAssertMsg(lsn < GetBlockCount(), "Invalid lsn passed into MultipartFileReader::GetFirstPart.");
pxAssertMsg(m_numparts, "Invalid object state; multi-part iso file needs at least one part!");
for (uint i = 0; i < m_numparts; ++i)
{
if (lsn < m_parts[i].end)
return i;
}
// should never get here
return 0xBAAAAAAD;
}
int MultipartFileReader::ReadSync(void* pBuffer, uint sector, uint count)
{
BeginRead(pBuffer,sector,count);
return FinishRead();
}
void MultipartFileReader::BeginRead(void* pBuffer, uint sector, uint count)
{
u8* lBuffer = (u8*)pBuffer;
for(uint i = GetFirstPart(sector); i < m_numparts; i++)
{
uint num = min(count, m_parts[i].end - sector);
m_parts[i].reader->BeginRead(lBuffer, sector - m_parts[i].start, num);
m_parts[i].isReading = true;
lBuffer += num * m_blocksize;
sector += num;
count -= num;
if(count <= 0)
break;
}
}
int MultipartFileReader::FinishRead(void)
{
int ret = 0;
for(uint i=0;i<m_numparts;i++)
{
if(m_parts[i].isReading)
{
ret = min(ret, m_parts[i].reader->FinishRead());
m_parts[i].isReading = false;
if(ret < 0)
ret = -1;
}
}
return ret;
}
void MultipartFileReader::CancelRead(void)
{
for(uint i=0;i<m_numparts;i++)
{
if(m_parts[i].isReading)
{
m_parts[i].reader->CancelRead();
m_parts[i].isReading = false;
}
}
}
void MultipartFileReader::Close(void)
{
for(uint i=0;i<m_numparts;i++)
{
if(m_parts[i].reader)
{
m_parts[i].reader->Close();
delete m_parts[i].reader;
}
}
}
uint MultipartFileReader::GetBlockCount(void) const
{
return m_parts[m_numparts-1].end;
}
void MultipartFileReader::SetBlockSize(uint bytes)
{
uint last_end = 0;
for(uint i=0;i<m_numparts;i++)
{
m_parts[i].reader->SetBlockSize(bytes);
uint count = m_parts[i].reader->GetBlockCount();
m_parts[i].start = last_end;
m_parts[i].end = last_end = m_parts[i].start + count;
}
}
#include "PrecompiledHeader.h"
#include "AsyncFileReader.h"
// Tests for a filename extension in both upper and lower case, if the filesystem happens
// to be case-sensitive.
bool pxFileExists_WithExt( const wxFileName& filename, const wxString& ext )
{
wxFileName part1 = filename;
part1.SetExt( ext.Lower() );
if (part1.FileExists()) return true;
if (!wxFileName::IsCaseSensitive()) return false;
part1.SetExt( ext.Upper() );
return part1.FileExists();
}
AsyncFileReader* MultipartFileReader::DetectMultipart(AsyncFileReader* reader)
{
MultipartFileReader* multi = new MultipartFileReader(reader);
multi->FindParts();
if (multi->m_numparts > 1)
{
Console.WriteLn( Color_Blue, "isoFile: multi-part ISO detected. %u parts found.", multi->m_numparts);
return multi;
}
multi->m_parts[0].reader = NULL;
delete multi;
return reader;
}
MultipartFileReader::MultipartFileReader(AsyncFileReader* firstPart)
{
memset(m_parts,0,sizeof(m_parts));
m_filename = firstPart->GetFilename();
m_numparts = 1;
m_parts[0].reader = firstPart;
m_parts[0].end = firstPart->GetBlockCount();
}
MultipartFileReader::~MultipartFileReader(void)
{
Close();
}
void MultipartFileReader::FindParts()
{
wxFileName nameparts( m_filename );
wxString curext( nameparts.GetExt() );
wxChar prefixch = wxTolower(curext[0]);
// Multi-part rules!
// * The first part can either be the proper extension (ISO, MDF, etc) or the numerical
// extension (I00, I01, M00, M01, etc).
// * Numerical extensions MUST begin at 00 (I00 etc), regardless of if the first part
// is proper or numerical.
uint i = 0;
if ((curext.Length() == 3) && (curext[1] == L'0') && (curext[2] == L'0'))
{
// First file is an OO, so skip 0 in the loop below:
i = 1;
}
FastFormatUnicode extbuf;
extbuf.Write( L"%c%02u", prefixch, i );
nameparts.SetExt( extbuf );
if (!pxFileExists_WithExt(nameparts, extbuf))
return;
DevCon.WriteLn( Color_Blue, "isoFile: multi-part %s detected...", WX_STR(curext.Upper()) );
ConsoleIndentScope indent;
int bsize = m_parts[0].reader->GetBlockSize();
int blocks = m_parts[0].end;
m_numparts = 1;
for (; i < MaxParts; ++i)
{
extbuf.Clear();
extbuf.Write( L"%c%02u", prefixch, i );
nameparts.SetExt( extbuf );
if (!pxFileExists_WithExt(nameparts, extbuf))
break;
Part* thispart = m_parts + m_numparts;
AsyncFileReader* thisreader = thispart->reader = new FlatFileReader();
wxString name = nameparts.GetFullPath();
thisreader->Open(name);
thisreader->SetBlockSize(bsize);
thispart->start = blocks;
uint bcount = thisreader->GetBlockCount();
blocks += bcount;
thispart->end = blocks;
DevCon.WriteLn( Color_Blue, L"\tblocks %u - %u in: %s",
thispart->start, thispart->end,
WX_STR(nameparts.GetFullPath())
);
++m_numparts;
}
//Console.WriteLn( Color_Blue, "isoFile: multi-part ISO loaded (%u parts found)", m_numparts );
}
bool MultipartFileReader::Open(const wxString& fileName)
{
// Cannot open a MultipartFileReader directly,
// use DetectMultipart to convert a FlatFileReader
return false;
}
uint MultipartFileReader::GetFirstPart(uint lsn)
{
pxAssertMsg(lsn < GetBlockCount(), "Invalid lsn passed into MultipartFileReader::GetFirstPart.");
pxAssertMsg(m_numparts, "Invalid object state; multi-part iso file needs at least one part!");
for (uint i = 0; i < m_numparts; ++i)
{
if (lsn < m_parts[i].end)
return i;
}
// should never get here
return 0xBAAAAAAD;
}
int MultipartFileReader::ReadSync(void* pBuffer, uint sector, uint count)
{
BeginRead(pBuffer,sector,count);
return FinishRead();
}
void MultipartFileReader::BeginRead(void* pBuffer, uint sector, uint count)
{
u8* lBuffer = (u8*)pBuffer;
for(uint i = GetFirstPart(sector); i < m_numparts; i++)
{
uint num = min(count, m_parts[i].end - sector);
m_parts[i].reader->BeginRead(lBuffer, sector - m_parts[i].start, num);
m_parts[i].isReading = true;
lBuffer += num * m_blocksize;
sector += num;
count -= num;
if(count <= 0)
break;
}
}
int MultipartFileReader::FinishRead(void)
{
int ret = 0;
for(uint i=0;i<m_numparts;i++)
{
if(m_parts[i].isReading)
{
ret = min(ret, m_parts[i].reader->FinishRead());
m_parts[i].isReading = false;
if(ret < 0)
ret = -1;
}
}
return ret;
}
void MultipartFileReader::CancelRead(void)
{
for(uint i=0;i<m_numparts;i++)
{
if(m_parts[i].isReading)
{
m_parts[i].reader->CancelRead();
m_parts[i].isReading = false;
}
}
}
void MultipartFileReader::Close(void)
{
for(uint i=0;i<m_numparts;i++)
{
if(m_parts[i].reader)
{
m_parts[i].reader->Close();
delete m_parts[i].reader;
}
}
}
uint MultipartFileReader::GetBlockCount(void) const
{
return m_parts[m_numparts-1].end;
}
void MultipartFileReader::SetBlockSize(uint bytes)
{
uint last_end = 0;
for(uint i=0;i<m_numparts;i++)
{
m_parts[i].reader->SetBlockSize(bytes);
uint count = m_parts[i].reader->GetBlockCount();
m_parts[i].start = last_end;
m_parts[i].end = last_end = m_parts[i].start + count;
}
}

View File

@ -183,7 +183,7 @@ void ResetCheatsCount()
static int LoadCheatsFiles(const wxDirName& folderName, wxString& fileSpec, const wxString& friendlyName)
{
if (!folderName.Exists()) {
Console.WriteLn(Color_Red, L"The %s folder ('%s') is inaccessible. Skipping...", friendlyName.c_str(), folderName.ToString().c_str());
Console.WriteLn(Color_Red, L"The %s folder ('%s') is inaccessible. Skipping...", WX_STR(friendlyName), WX_STR(folderName.ToString()));
return 0;
}
wxDir dir(folderName.ToString());
@ -194,13 +194,13 @@ static int LoadCheatsFiles(const wxDirName& folderName, wxString& fileSpec, cons
bool found = dir.GetFirst(&buffer, L"*", wxDIR_FILES);
while (found) {
if (buffer.Upper().Matches(fileSpec.Upper())) {
Console.WriteLn(Color_Gray, L"Found %s file: '%s'", friendlyName.c_str(), buffer.c_str());
Console.WriteLn(Color_Gray, L"Found %s file: '%s'", WX_STR(friendlyName), WX_STR(buffer));
int before = cheatnumber;
f.Open(Path::Combine(dir.GetName(), buffer));
inifile_process(f);
f.Close();
int loaded = cheatnumber - before;
Console.WriteLn((loaded ? Color_Green : Color_Gray), L"Loaded %d %s from '%s'", loaded, friendlyName.c_str(), buffer.c_str());
Console.WriteLn((loaded ? Color_Green : Color_Gray), L"Loaded %d %s from '%s'", loaded, WX_STR(friendlyName), WX_STR(buffer));
}
found = dir.GetNext(&buffer);
}
@ -226,7 +226,7 @@ int LoadCheatsFromZip(wxString gameCRC, const wxString& cheatsArchiveFilename) {
name.MakeUpper();
if (name.Find(gameCRC) == 0 && name.Find(L".PNACH")+6u == name.Length()) {
Console.WriteLn(Color_Gray, L"Loading patch '%s' from archive '%s'",
entry->GetName().c_str(), cheatsArchiveFilename.c_str());
WX_STR(entry->GetName()), WX_STR(cheatsArchiveFilename));
wxTextInputStream pnach(zip);
while (!zip.Eof()) {
inifile_processString(pnach.ReadLine());
@ -248,7 +248,7 @@ int LoadCheats(wxString name, const wxDirName& folderName, const wxString& frien
wxString filespec = name + L"*.pnach";
loaded += LoadCheatsFiles(folderName, filespec, friendlyName);
Console.WriteLn((loaded ? Color_Green : Color_Gray), L"Overall %d %s loaded", loaded, friendlyName.c_str());
Console.WriteLn((loaded ? Color_Green : Color_Gray), L"Overall %d %s loaded", loaded, WX_STR(friendlyName));
return loaded;
}
@ -320,10 +320,10 @@ namespace PatchFunc
iPatch.data = StrToU64(pieces.WriteValue(), 16);
if (iPatch.cpu == 0)
throw wxsFormat(L"Unrecognized CPU Target: '%s'", pieces.CpuType().c_str());
throw wxsFormat(L"Unrecognized CPU Target: '%s'", WX_STR(pieces.CpuType()));
if (iPatch.type == 0)
throw wxsFormat(L"Unrecognized Operand Size: '%s'", pieces.OperandSize().c_str());
throw wxsFormat(L"Unrecognized Operand Size: '%s'", WX_STR(pieces.OperandSize()));
iPatch.enabled = 1; // omg success!!
@ -332,7 +332,7 @@ namespace PatchFunc
}
catch( wxString& exmsg )
{
Console.Error(L"(Patch) Error Parsing: %s=%s", cmd.c_str(), param.c_str());
Console.Error(L"(Patch) Error Parsing: %s=%s", WX_STR(cmd), WX_STR(param));
Console.Indent().Error( exmsg );
}
}

View File

@ -740,24 +740,24 @@ Exception::PluginLoadError::PluginLoadError( PluginsEnum_t pid )
wxString Exception::PluginLoadError::FormatDiagnosticMessage() const
{
return pxsFmt( m_message_diag, tbl_PluginInfo[PluginId].GetShortname().c_str() ) +
return pxsFmt( m_message_diag, WX_STR(tbl_PluginInfo[PluginId].GetShortname()) ) +
L"\n\n" + StreamName;
}
wxString Exception::PluginLoadError::FormatDisplayMessage() const
{
return pxsFmt( m_message_user, tbl_PluginInfo[PluginId].GetShortname().c_str() ) +
return pxsFmt( m_message_user, WX_STR(tbl_PluginInfo[PluginId].GetShortname()) ) +
L"\n\n" + StreamName;
}
wxString Exception::PluginError::FormatDiagnosticMessage() const
{
return pxsFmt( m_message_diag, tbl_PluginInfo[PluginId].GetShortname().c_str() );
return pxsFmt( m_message_diag, WX_STR(tbl_PluginInfo[PluginId].GetShortname()) );
}
wxString Exception::PluginError::FormatDisplayMessage() const
{
return pxsFmt( m_message_user, tbl_PluginInfo[PluginId].GetShortname().c_str() );
return pxsFmt( m_message_user, WX_STR(tbl_PluginInfo[PluginId].GetShortname()) );
}
wxString Exception::FreezePluginFailure::FormatDiagnosticMessage() const
@ -903,7 +903,7 @@ void SysCorePlugins::PluginStatus_t::BindCommon( PluginsEnum_t pid )
if( *target == NULL )
{
throw Exception::PluginLoadError( pid ).SetStreamName(Filename)
.SetDiagMsg(wxsFormat( L"\nMethod binding failure on: %s\n", current->GetMethodName( pid ).c_str() ))
.SetDiagMsg(wxsFormat( L"\nMethod binding failure on: %s\n", WX_STR(current->GetMethodName( pid )) ))
.SetUserMsg(_("Configured plugin is not a PCSX2 plugin, or is for an older unsupported version of PCSX2."));
}
@ -929,7 +929,7 @@ void SysCorePlugins::PluginStatus_t::BindRequired( PluginsEnum_t pid )
if( *(current->Dest) == NULL )
{
throw Exception::PluginLoadError( pid ).SetStreamName(Filename)
.SetDiagMsg(wxsFormat( L"\n%s plugin init error; Method binding failed: %s\n", current->GetMethodName().c_str() ))
.SetDiagMsg(wxsFormat( L"\n%s plugin init error; Method binding failed: %s\n", WX_STR(current->GetMethodName()) ))
.SetUserMsg(_( "Configured %s plugin is not a valid PCSX2 plugin, or is for an older unsupported version of PCSX2."));
}
@ -974,7 +974,7 @@ void SysCorePlugins::Load( PluginsEnum_t pid, const wxString& srcfile )
{
ScopedLock lock( m_mtx_PluginStatus );
pxAssert( (uint)pid < PluginId_Count );
Console.Indent().WriteLn( L"Binding %4s: %s ", tbl_PluginInfo[pid].GetShortname().c_str(), srcfile.c_str() );
Console.Indent().WriteLn( L"Binding %4s: %s ", WX_STR(tbl_PluginInfo[pid].GetShortname()), WX_STR(srcfile) );
m_info[pid] = new PluginStatus_t( pid, srcfile );
}

View File

@ -57,7 +57,7 @@ wxString SaveStateBase::GetFilename( int slot )
if (serialName.IsEmpty()) serialName = L"BIOS";
return (g_Conf->Folders.Savestates +
pxsFmt( L"%s (%08X).%02d.p2s", serialName.c_str(), ElfCRC, slot )).GetFullPath();
pxsFmt( L"%s (%08X).%02d.p2s", WX_STR(serialName), ElfCRC, slot )).GetFullPath();
//return (g_Conf->Folders.Savestates +
// pxsFmt( L"%08X.%03d", ElfCRC, slot )).GetFullPath();
@ -138,7 +138,7 @@ SaveStateBase& SaveStateBase::FreezeBios()
Console.Indent(2).Error(
"Current BIOS: %ls (crc=0x%08x)\n"
"Savestate BIOS: %s (crc=0x%08x)\n",
BiosDescription.c_str(), BiosChecksum,
BiosDescription.wx_str(), BiosChecksum,
biosdesc, bioscheck
);
}

View File

@ -48,7 +48,7 @@ static const float FORCED_MCD_EJECTION_MAX_MS_AFTER_MIN_TRIES =2800;
wxString GetTimeMsStr(){
wxDateTime unow=wxDateTime::UNow();
wxString res;
res.Printf(L"%s.%03d", unow.Format(L"%H:%M:%S").c_str(), (int)unow.GetMillisecond() );
res.Printf(L"%s.%03d", WX_STR(unow.Format(L"%H:%M:%S")), (int)unow.GetMillisecond() );
return res;
}
@ -547,7 +547,7 @@ SIO_WRITE memcardInit()
if(mcd->ForceEjection_Timeout)
{
if(mcd->ForceEjection_Timeout == FORCED_MCD_EJECTION_MAX_TRIES && mcd->IsPresent())
Console.WriteLn( Color_Green, L"[%s] Auto-ejecting memcard [port:%d, slot:%d]", GetTimeMsStr().c_str(), sio.GetPort(), sio.GetSlot());
Console.WriteLn( Color_Green, L"[%s] Auto-ejecting memcard [port:%d, slot:%d]", WX_STR(GetTimeMsStr()), sio.GetPort(), sio.GetSlot());
mcd->ForceEjection_Timeout--;
forceEject = true;
@ -563,13 +563,13 @@ SIO_WRITE memcardInit()
wxTimeSpan delta = wxDateTime::UNow().Subtract(mcd->ForceEjection_Timestamp);
if(delta.GetMilliseconds() >= FORCED_MCD_EJECTION_MAX_MS_AFTER_MIN_TRIES)
{
DevCon.Warning( L"[%s] Auto-eject: Timeout reached after mcd was accessed %d times [port:%d, slot:%d]", GetTimeMsStr().c_str(), numTimesAccessed, sio.GetPort(), sio.GetSlot());
DevCon.Warning( L"[%s] Auto-eject: Timeout reached after mcd was accessed %d times [port:%d, slot:%d]", WX_STR(GetTimeMsStr()), numTimesAccessed, sio.GetPort(), sio.GetSlot());
mcd->ForceEjection_Timeout = 0; //Done. on next sio access the card will be seen as inserted.
}
}
if(mcd->ForceEjection_Timeout == 0 && mcd->IsPresent())
Console.WriteLn( Color_Green, L"[%s] Re-inserting auto-ejected memcard [port:%d, slot:%d]", GetTimeMsStr().c_str(), sio.GetPort(), sio.GetSlot());
Console.WriteLn( Color_Green, L"[%s] Re-inserting auto-ejected memcard [port:%d, slot:%d]", WX_STR(GetTimeMsStr()), sio.GetPort(), sio.GetSlot());
}
if(!forceEject && mcd->IsPresent())

View File

@ -214,7 +214,7 @@ void SysLogMachineCaps()
L"Operating System = %s\n"
L"Physical RAM = %u MB",
GetOSVersionString().c_str(),
WX_STR(GetOSVersionString()),
(u32)(GetPhysicalMemory() / _1mb)
);
@ -227,11 +227,11 @@ void SysLogMachineCaps()
L"x86PType = %s\n"
L"x86Flags = %08x %08x\n"
L"x86EFlags = %08x",
fromUTF8( x86caps.FamilyName ).Trim().Trim(false).c_str(),
fromUTF8( x86caps.VendorName ).c_str(), x86caps.StepID,
WX_STR(fromUTF8( x86caps.FamilyName ).Trim().Trim(false)),
WX_STR(fromUTF8( x86caps.VendorName )), x86caps.StepID,
speed / 1000, speed % 1000,
x86caps.LogicalCores, (x86caps.LogicalCores==1) ? L"" : L"s",
x86caps.GetTypeName().c_str(),
WX_STR(x86caps.GetTypeName()),
x86caps.Flags, x86caps.Flags2,
x86caps.EFlags
);

View File

@ -66,12 +66,12 @@ protected:
return;
}*/
m_stackTrace.Write(pxsFmt( L"[%02d]", frame.GetLevel()-m_skipped));
m_stackTrace.Write(pxsFmt( L"[%02d]", frame.GetLevel()-m_skipped).c_str());
if (!frame.GetName().IsEmpty())
m_stackTrace.Write(pxsFmt( L" %-44s", frame.GetName().c_str() ));
m_stackTrace.Write(pxsFmt( L" %-44s", WX_STR(frame.GetName()) ).c_str());
else
m_stackTrace.Write(pxsFmt( L" 0x%-42p", frame.GetAddress() ));
m_stackTrace.Write(pxsFmt( L" 0x%-42p", frame.GetAddress() ).c_str());
if( frame.HasSourceLocation() )
{
@ -81,7 +81,7 @@ protected:
for( int i=0; i<2; ++i )
wxfn.RemoveDir(0);
m_stackTrace.Write( L" %s:%d", wxfn.GetFullPath().c_str(), frame.GetLine() );
m_stackTrace.Write( L" %s:%d", WX_STR(wxfn.GetFullPath()), frame.GetLine() );
}
m_stackTrace.Write(L"\n");
@ -125,10 +125,10 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
wxString trace( pxGetStackTrace(origin.function) );
wxString dbgmsg( origin.ToString( msg ) );
wxMessageOutputDebug().Printf( L"%s", dbgmsg.c_str() );
wxMessageOutputDebug().Printf( L"%s", WX_STR(dbgmsg) );
Console.Error( L"%s", dbgmsg.c_str() );
Console.WriteLn( L"%s", trace.c_str() );
Console.Error( L"%s", WX_STR(dbgmsg) );
Console.WriteLn( L"%s", WX_STR(trace) );
wxString windowmsg( L"Assertion failed: " );
if( msg != NULL )

View File

@ -1037,7 +1037,7 @@ void RelocateLogfile()
if( (emuLog != NULL) && (emuLogName != newlogname) )
{
Console.WriteLn( L"\nRelocating Logfile...\n\tFrom: %s\n\tTo : %s\n", emuLogName.c_str(), newlogname.c_str() );
Console.WriteLn( L"\nRelocating Logfile...\n\tFrom: %s\n\tTo : %s\n", WX_STR(emuLogName), WX_STR(newlogname) );
wxGetApp().DisableDiskLogging();
fclose( emuLog );

View File

@ -434,7 +434,11 @@ int EnumeratePluginsInFolder( const wxDirName& searchpath, wxArrayString* dest )
wxString pattern( L"*%s*" );
#endif
#if wxMAJOR_VERSION >= 3
wxDir::GetAllFiles( searchpath.ToString(), realdest, pxsFmt( pattern, WX_STR(wxDynamicLibrary::GetDllExt())), wxDIR_FILES );
#else
wxDir::GetAllFiles( searchpath.ToString(), realdest, pxsFmt( pattern, wxDynamicLibrary::GetDllExt()), wxDIR_FILES );
#endif
// SECURITY ISSUE: (applies primarily to Windows, but is a good idea on any platform)
// The search folder order for plugins can vary across operating systems, and in some poorly designed

View File

@ -52,7 +52,7 @@ protected:
};
void DBLoaderHelper::doError(bool doMsg) {
if (doMsg) Console.Error("GameDatabase: Bad file data [%s]", m_dest.c_str());
if (doMsg) Console.Error("GameDatabase: Bad file data [%s]", WX_STR(m_dest));
m_keyPair.Clear();
}
@ -172,7 +172,7 @@ AppGameDatabase& AppGameDatabase::LoadFromFile(const wxString& _file, const wxSt
if (!wxFileExists(file))
{
Console.Error(L"(GameDB) Database Not Found! [%s]", file.c_str());
Console.Error(L"(GameDB) Database Not Found! [%s]", WX_STR(file));
return *this;
}
@ -181,7 +181,7 @@ AppGameDatabase& AppGameDatabase::LoadFromFile(const wxString& _file, const wxSt
if (!reader.IsOk())
{
//throw Exception::FileNotFound( file );
Console.Error(L"(GameDB) Could not access file (permission denied?) [%s]", file.c_str());
Console.Error(L"(GameDB) Could not access file (permission denied?) [%s]", WX_STR(file));
}
DBLoaderHelper loader( reader, *this );

View File

@ -269,7 +269,7 @@ void Pcsx2App::OnInitCmdLine( wxCmdLineParser& parser )
const PluginInfo* pi = tbl_PluginInfo; do {
parser.AddOption( wxEmptyString, pi->GetShortname().Lower(),
pxsFmt( _("specify the file to use as the %s plugin"), pi->GetShortname().c_str() )
pxsFmt( _("specify the file to use as the %s plugin"), WX_STR(pi->GetShortname()) )
);
} while( ++pi, pi->shortname != NULL );
@ -746,12 +746,12 @@ void Pcsx2App::CleanUp()
__fi wxString AddAppName( const wxChar* fmt )
{
return pxsFmt( fmt, pxGetAppName().c_str() );
return pxsFmt( fmt, WX_STR(pxGetAppName()) );
}
__fi wxString AddAppName( const char* fmt )
{
return pxsFmt( fromUTF8(fmt), pxGetAppName().c_str() );
return pxsFmt( fromUTF8(fmt), WX_STR(pxGetAppName()) );
}
// ------------------------------------------------------------------------------------------

View File

@ -299,7 +299,7 @@ void pxMessageOutputMessageBox::Printf(const wxChar* format, ...)
FastFormatUnicode isoFormatted;
isoFormatted.Write( L"[%s]", _("IsoFile") );
int pos = out.Find( isoFormatted );
int pos = out.Find( isoFormatted.c_str() );
if(pos == wxNOT_FOUND)
{
@ -1093,7 +1093,7 @@ __fi bool SysHasValidState()
void SysStatus( const wxString& text )
{
// mirror output to the console!
Console.WriteLn( text.c_str() );
Console.WriteLn( WX_STR(text) );
sMainFrame.SetStatusText( text );
}

View File

@ -123,7 +123,7 @@ wxConfigBase* Pcsx2App::TestForPortableInstall()
if (Startup.PortableMode)
Console.WriteLn( L"(UserMode) Portable mode requested via commandline switch!" );
else
Console.WriteLn( L"(UserMode) Found portable install ini @ %s", FilenameStr.c_str() );
Console.WriteLn( L"(UserMode) Found portable install ini @ %s", WX_STR(FilenameStr) );
// Just because the portable ini file exists doesn't mean we can actually run in portable
// mode. In order to determine our read/write permissions to the PCSX2, we must try to

View File

@ -115,7 +115,7 @@ bool Dialogs::CreateMemoryCardDialog::CreateIt( const wxString& mcdFile, uint si
u8 m_effeffs[528*16];
memset8<0xff>( m_effeffs );
Console.WriteLn( L"(FileMcd) Creating new %uMB memory card: '%s'", sizeInMB, mcdFile.c_str() );
Console.WriteLn( L"(FileMcd) Creating new %uMB memory card: '%s'", sizeInMB, WX_STR(mcdFile) );
wxFFile fp( mcdFile, L"wb" );
if( !fp.IsOpened() ) return false;

View File

@ -71,7 +71,7 @@ Panels::FirstTimeIntroPanel::FirstTimeIntroPanel( wxWindow* parent )
FastFormatUnicode faqFile;
faqFile.Write( L"file:///%s/Docs/PCSX2_FAQ.pdf",
InstallFolder.ToString().c_str() );
WX_STR(InstallFolder.ToString()) );
wxStaticBoxSizer& langSel = *new wxStaticBoxSizer( wxVERTICAL, this, _("Language selector") );

View File

@ -29,7 +29,7 @@ Dialogs::ImportSettingsDialog::ImportSettingsDialog( wxWindow* parent )
/// (%s is the app name, normally PCSX2 -- omitting one or both %s is allowed)
pxE( L"Existing %s settings have been found in the configured settings folder. Would you like to import these settings or overwrite them with %s default values?\n\n(or press Cancel to select a different settings folder)"
), pxGetAppName().c_str(), pxGetAppName().c_str()
), WX_STR(pxGetAppName()), WX_STR(pxGetAppName())
)));
wxBoxSizer& s_buttons = *new wxBoxSizer( wxHORIZONTAL );

View File

@ -23,13 +23,13 @@ using namespace pxSizerFlags;
// --------------------------------------------------------------------------------------
bool ConsoleLogSource_Event::Write( const pxEvtQueue* evtHandler, const SysExecEvent* evt, const wxChar* msg ) {
return _parent::Write( pxsFmt(L"(%s:%s) ", evtHandler->GetEventHandlerName().c_str(), evt->GetEventName().c_str()) + msg );
return _parent::Write( pxsFmt(L"(%s:%s) ", WX_STR(evtHandler->GetEventHandlerName()), WX_STR(evt->GetEventName())) + msg );
}
bool ConsoleLogSource_Event::Warn( const pxEvtQueue* evtHandler, const SysExecEvent* evt, const wxChar* msg ) {
return _parent::Write( pxsFmt(L"(%s:%s) ", evtHandler->GetEventHandlerName().c_str(), evt->GetEventName().c_str()) + msg );
return _parent::Write( pxsFmt(L"(%s:%s) ", WX_STR(evtHandler->GetEventHandlerName()), WX_STR(evt->GetEventName())) + msg );
}
bool ConsoleLogSource_Event::Error( const pxEvtQueue* evtHandler, const SysExecEvent* evt, const wxChar* msg ) {
return _parent::Write( pxsFmt(L"(%s:%s) ", evtHandler->GetEventHandlerName().c_str(), evt->GetEventName().c_str()) + msg );
return _parent::Write( pxsFmt(L"(%s:%s) ", WX_STR(evtHandler->GetEventHandlerName()), WX_STR(evt->GetEventName())) + msg );
}
ConsoleLogSource_Event::ConsoleLogSource_Event()
@ -84,7 +84,7 @@ void SysExecEvent::SetException( BaseException* ex )
{
if( !ex ) return;
ex->DiagMsg() += pxsFmt(L"(%s) ", GetEventName().c_str());
ex->DiagMsg() += pxsFmt(L"(%s) ", WX_STR(GetEventName()));
//ex->UserMsg() = prefix + ex->UserMsg();
if( m_sync )

View File

@ -568,7 +568,7 @@ void GSFrame::OnUpdateTitle( wxTimerEvent& evt )
const u64& smode2 = *(u64*)PS2GS_BASE(GS_SMODE2);
SetTitle( pxsFmt( L"%s | %s (%s) | Limiter: %s | fps: %6.02f%s | State %d",
fromUTF8(gsDest).c_str(),
WX_STR(fromUTF8(gsDest)),
(smode2 & 1) ? L"Interlaced" : L"Progressive",
(smode2 & 2) ? L"frame" : L"field",
limiterStr, fps, cpuUsage.c_str(), States_GetCurrentSlot() )

View File

@ -185,7 +185,7 @@ namespace Implementations
default: break;
}
Console.WriteLn(L"(GSwindow) Aspect ratio: %s.", arts.c_str());
Console.WriteLn(L"(GSwindow) Aspect ratio: %s.", WX_STR(arts));
UpdateImagePosition();
}
@ -335,7 +335,7 @@ namespace Implementations
if( !!part2 )
name += L"_" + part2;
gsText.Printf( L"%s.%d.gs", name.c_str(), StatesC );
gsText.Printf( L"%s.%d.gs", WX_STR(name), StatesC );
Text = Path::Combine( g_Conf->Folders.Savestates, gsText );
}
else
@ -538,7 +538,7 @@ void AcceleratorDictionary::Map( const KeyAcceleratorCode& _acode, const char *s
//ini file contains alternative parsable key combination for current 'searchfor'.
acode = codeParser;
Console.WriteLn(Color_StrongGreen, L"Overriding '%s': assigning %s (instead of %s)",
fromUTF8( searchfor ).c_str(), acode.ToString().c_str(), _acode.ToString().c_str());
WX_STR(fromUTF8( searchfor )), WX_STR(acode.ToString()), WX_STR(_acode.ToString()));
}
}
// End of overrides section
@ -554,7 +554,7 @@ void AcceleratorDictionary::Map( const KeyAcceleratorCode& _acode, const char *s
Console.Warning(
L"Kbd Accelerator '%s' is mapped multiple times.\n"
L"\t'Command %s' is being replaced by '%s'",
acode.ToString().c_str(), fromUTF8( result->Id ).c_str(), fromUTF8( searchfor ).c_str()
WX_STR(acode.ToString()), WX_STR(fromUTF8( result->Id )), WX_STR(fromUTF8( searchfor ))
);
}
@ -566,7 +566,7 @@ void AcceleratorDictionary::Map( const KeyAcceleratorCode& _acode, const char *s
if( result == NULL )
{
Console.Warning( L"Kbd Accelerator '%s' is mapped to unknown command '%s'",
acode.ToString().c_str(), fromUTF8( searchfor ).c_str()
WX_STR(acode.ToString()), WX_STR(fromUTF8( searchfor ))
);
}
else

View File

@ -105,7 +105,7 @@ void MainEmuFrame::Menu_ResetAllSettings_Click(wxCommandEvent &event)
ScopedCoreThreadPopup suspender;
if( !Msgbox::OkCancel( pxsFmt(
pxE( L"This command clears %s settings and allows you to re-run the First-Time Wizard. You will need to manually restart %s after this operation.\n\nWARNING!! Click OK to delete *ALL* settings for %s and force-close the app, losing any current emulation progress. Are you absolutely sure?\n\n(note: settings for plugins are unaffected)"
), pxGetAppName().c_str(), pxGetAppName().c_str(), pxGetAppName().c_str() ),
), WX_STR(pxGetAppName()), WX_STR(pxGetAppName()), WX_STR(pxGetAppName()) ),
_("Reset all settings?") ) )
{
suspender.AllowResume();
@ -255,10 +255,10 @@ bool MainEmuFrame::_DoSelectIsoBrowser( wxString& result )
wxArrayString isoFilterTypes;
isoFilterTypes.Add(pxsFmt(_("All Supported (%s)"), (isoSupportedLabel + L" .dump" + L" .gz").c_str()));
isoFilterTypes.Add(pxsFmt(_("All Supported (%s)"), WX_STR((isoSupportedLabel + L" .dump" + L" .gz"))));
isoFilterTypes.Add(isoSupportedList + L";*.dump" + L";*.gz");
isoFilterTypes.Add(pxsFmt(_("Disc Images (%s)"), isoSupportedLabel.c_str() ));
isoFilterTypes.Add(pxsFmt(_("Disc Images (%s)"), WX_STR(isoSupportedLabel) ));
isoFilterTypes.Add(isoSupportedList);
isoFilterTypes.Add(pxsFmt(_("Blockdumps (%s)"), L".dump" ));

View File

@ -594,7 +594,7 @@ void Panels::MemoryCardListPanel_Simple::Apply()
if( g_Conf->Mcd[slot].Enabled )
{
used++;
Console.WriteLn( L"slot[%d]='%s'", slot, g_Conf->Mcd[slot].Filename.GetFullName().c_str() );
Console.WriteLn( L"slot[%d]='%s'", slot, WX_STR(g_Conf->Mcd[slot].Filename.GetFullName()) );
}
}
if( !used )
@ -619,13 +619,13 @@ void Panels::MemoryCardListPanel_Simple::AppStatusEvent_OnSettingsApplied()
if (isValidNewFilename(m_Cards[slot].Filename.GetFullName(), GetMcdPath(), errMsg, 5))
{
if ( !Dialogs::CreateMemoryCardDialog::CreateIt(targetFile, 8) )
Console.Error( L"Automatic createion of MCD '%s' failed. Hope for the best...", targetFile.c_str() );
Console.Error( L"Automatic createion of MCD '%s' failed. Hope for the best...", WX_STR(targetFile) );
else
Console.WriteLn( L"memcard created: '%s'.", targetFile.c_str() );
Console.WriteLn( L"memcard created: '%s'.", WX_STR(targetFile) );
}
else
{
Console.Error( L"memcard was enabled but had an invalid file name. Aborting automatic creation. Hope for the best... (%s)", errMsg.c_str() );
Console.Error( L"memcard was enabled but had an invalid file name. Aborting automatic creation. Hope for the best... (%s)", WX_STR(errMsg) );
}
}
@ -706,9 +706,9 @@ void Panels::MemoryCardListPanel_Simple::UiCreateNewCard( McdSlotItem& card )
card.Filename = dialog.result_createdMcdFilename;
card.IsPresent = true;
if ( card.Slot >= 0)
Console.WriteLn(L"setting new card to slot %u: '%s'", card.Slot, card.Filename.GetFullName().c_str());
Console.WriteLn(L"setting new card to slot %u: '%s'", card.Slot, WX_STR(card.Filename.GetFullName()));
else
Console.WriteLn(L"Created a new unassigned card file: '%s'", card.Filename.GetFullName().c_str() );
Console.WriteLn(L"Created a new unassigned card file: '%s'", WX_STR(card.Filename.GetFullName()) );
}
else
card.IsEnabled=false;
@ -733,7 +733,7 @@ void Panels::MemoryCardListPanel_Simple::UiDeleteCard( McdSlotItem& card )
wxString content;
content.Printf(
pxE( L"You are about to delete the formatted memory card '%s'. All data on this card will be lost! Are you absolutely and quite positively sure?"
), card.Filename.GetFullName().c_str()
), WX_STR(card.Filename.GetFullName())
);
result = Msgbox::YesNo( content, _("Delete memory file?") );
@ -791,7 +791,7 @@ bool Panels::MemoryCardListPanel_Simple::UiDuplicateCard(McdSlotItem& src, McdSl
if( !isValidNewFilename( newFilename, basepath, errMsg, 5 ) )
{
wxString message;
message.Printf(_("Failed: %s"), errMsg.c_str());
message.Printf(_("Failed: %s"), WX_STR(errMsg));
Msgbox::Alert( message, _("Duplicate memory card") );
continue;
}
@ -811,7 +811,7 @@ bool Panels::MemoryCardListPanel_Simple::UiDuplicateCard(McdSlotItem& src, McdSl
{
wxString heading;
heading.Printf( pxE( L"Failed: Destination memory card '%s' is in use." ),
dest.Filename.GetFullName().c_str(), dest.Slot
WX_STR(dest.Filename.GetFullName()), dest.Slot
);
wxString content;
@ -825,8 +825,8 @@ bool Panels::MemoryCardListPanel_Simple::UiDuplicateCard(McdSlotItem& src, McdSl
// Destination memcard isEnabled state is the same now as the source's
wxString success;
success.Printf(_("Memory card '%s' duplicated to '%s'."),
src.Filename.GetFullName().c_str(),
dest.Filename.GetFullName().c_str()
WX_STR(src.Filename.GetFullName()),
WX_STR(dest.Filename.GetFullName())
);
Msgbox::Alert(success, _("Success"));
dest.IsPresent=true;
@ -850,7 +850,7 @@ void Panels::MemoryCardListPanel_Simple::UiRenameCard( McdSlotItem& card )
while (1){
wxString title;
title.Printf(_("Select a new name for the memory card '%s'\n( '.ps2' will be added automatically)"),
card.Filename.GetFullName().c_str()
WX_STR(card.Filename.GetFullName())
);
newFilename = wxGetTextFromUser(title, _("Rename memory card"));
if( newFilename==L"" )
@ -863,7 +863,7 @@ void Panels::MemoryCardListPanel_Simple::UiRenameCard( McdSlotItem& card )
if( !isValidNewFilename( newFilename, basepath, errMsg, 5 ) )
{
wxString message;
message.Printf(_("Error (%s)"), errMsg.c_str());
message.Printf(_("Error (%s)"), WX_STR(errMsg));
Msgbox::Alert( message, _("Rename memory card") );
continue;
}
@ -1002,7 +1002,7 @@ void Panels::MemoryCardListPanel_Simple::UiAssignUnassignFile(McdSlotItem &card)
selections.Add(sel);
}
wxString title;
title.Printf(_("Select a target port for '%s'"), card.Filename.GetFullName().c_str());
title.Printf(_("Select a target port for '%s'"), WX_STR(card.Filename.GetFullName()));
int res=wxGetSingleChoiceIndex(title, _("Insert card"), selections, this);
if( res<0 )
return;
@ -1108,10 +1108,10 @@ void Panels::MemoryCardListPanel_Simple::ReadFilesAtMcdFolder(){
currentCardFile.Slot = -1;
currentCardFile.IsEnabled = false;
m_allFilesystemCards.push_back(currentCardFile);
//DevCon.WriteLn(L"Enumerated file: '%s'", currentCardFile.Filename.GetFullName().c_str() );
//DevCon.WriteLn(L"Enumerated file: '%s'", WX_STR(currentCardFile.Filename.GetFullName()) );
}
/*else
DevCon.WriteLn(L"MCD folder card file skipped: '%s'", memcardList[i].c_str() );*/
DevCon.WriteLn(L"MCD folder card file skipped: '%s'", WX_STR(memcardList[i]) );*/
}
}

View File

@ -120,7 +120,7 @@ public:
if ( ((version >> 16)&0xff) == tbl_PluginInfo[pluginTypeIndex].version )
return true;
Console.Warning("%s Plugin %s: Version %x != %x", info.shortname, m_plugpath.c_str(), 0xff&(version >> 16), info.version);
Console.Warning("%s Plugin %s: Version %x != %x", info.shortname, WX_STR(m_plugpath), 0xff&(version >> 16), info.version);
}
return false;
}
@ -450,7 +450,7 @@ void Panels::PluginSelectorPanel::AppStatusEvent_OnSettingsApplied()
static wxString GetApplyFailedMsg()
{
return pxsFmt( pxE( L"All plugins must have valid selections for %s to run. If you are unable to make a valid selection due to missing plugins or an incomplete install of %s, then press Cancel to close the Configuration panel."
), pxGetAppName().c_str(), pxGetAppName().c_str() );
), WX_STR(pxGetAppName()), WX_STR(pxGetAppName()) );
}
void Panels::PluginSelectorPanel::Apply()
@ -469,8 +469,8 @@ void Panels::PluginSelectorPanel::Apply()
wxString plugname( pi->GetShortname() );
throw Exception::CannotApplySettings( this )
.SetDiagMsg(pxsFmt( L"PluginSelectorPanel: Invalid or missing selection for the %s plugin.", plugname.c_str()) )
.SetUserMsg(pxsFmt( _("Please select a valid plugin for the %s."), plugname.c_str() ) + L"\n\n" + GetApplyFailedMsg() );
.SetDiagMsg(pxsFmt( L"PluginSelectorPanel: Invalid or missing selection for the %s plugin.", WX_STR(plugname)) )
.SetUserMsg(pxsFmt( _("Please select a valid plugin for the %s."), WX_STR(plugname) ) + L"\n\n" + GetApplyFailedMsg() );
}
g_Conf->BaseFilenames.Plugins[pid] = GetFilename((int)m_ComponentBoxes->Get(pid).GetClientData(sel));
@ -509,7 +509,7 @@ void Panels::PluginSelectorPanel::Apply()
.SetDiagMsg(ex.FormatDiagnosticMessage())
.SetUserMsg(pxsFmt(
_("The selected %s plugin failed to load.\n\nReason: %s\n\n"),
plugname.c_str(), ex.FormatDisplayMessage().c_str()
WX_STR(plugname), WX_STR(ex.FormatDisplayMessage())
) + GetApplyFailedMsg());
}
}
@ -737,7 +737,7 @@ void Panels::PluginSelectorPanel::OnProgress( wxCommandEvent& evt )
if( result.PassedTest & pi->typemask )
{
int sel = m_ComponentBoxes->Get(pid).Append( wxsFormat( L"%s %s [%s]",
result.Name.c_str(), result.Version[pid].c_str(), Path::GetFilenameWithoutExt( (*m_FileList)[evtidx] ).c_str() ),
WX_STR(result.Name), WX_STR(result.Version[pid]), WX_STR(Path::GetFilenameWithoutExt( (*m_FileList)[evtidx] )) ),
(void*)evtidx
);

View File

@ -159,7 +159,7 @@ void Panels::FramelimiterPanel::Apply()
throw Exception::CannotApplySettings( this )
.SetDiagMsg(pxsFmt(
L"Error while parsing either NTSC or PAL framerate settings.\n\tNTSC Input = %s\n\tPAL Input = %s",
m_text_BaseNtsc->GetValue().c_str(), m_text_BasePal->GetValue().c_str()
WX_STR(m_text_BaseNtsc->GetValue()), WX_STR(m_text_BasePal->GetValue())
) )
.SetUserMsg(_t("Error while parsing either NTSC or PAL framerate settings. Settings must be valid floating point numerics."));
}

View File

@ -97,7 +97,7 @@ void MemorySavestateEntry::FreezeIn( pxInputStream& reader ) const
if (entrySize < expectedSize)
{
Console.WriteLn( Color_Yellow, " '%s' is incomplete (expected 0x%x bytes, loading only 0x%x bytes)",
GetFilename().c_str(), expectedSize, entrySize );
WX_STR(GetFilename()), expectedSize, entrySize );
}
uint copylen = std::min(entrySize, expectedSize);
@ -564,7 +564,7 @@ protected:
{
if (entry->GetName().CmpNoCase(SavestateEntries[i]->GetFilename()) == 0)
{
DevCon.WriteLn( Color_Green, L" ... found '%s'", SavestateEntries[i]->GetFilename().c_str() );
DevCon.WriteLn( Color_Green, L" ... found '%s'", WX_STR(SavestateEntries[i]->GetFilename()) );
foundEntry[i] = entry.DetachPtr();
break;
}
@ -588,7 +588,7 @@ protected:
if (SavestateEntries[i]->IsRequired())
{
throwIt = true;
Console.WriteLn( Color_Red, " ... not found '%s'!", SavestateEntries[i]->GetFilename().c_str() );
Console.WriteLn( Color_Red, " ... not found '%s'!", WX_STR(SavestateEntries[i]->GetFilename()) );
}
}
@ -665,7 +665,7 @@ void StateCopy_SaveToSlot( uint num )
}
Console.WriteLn( Color_StrongGreen, "Saving savestate to slot %d...", num );
Console.Indent().WriteLn( Color_StrongGreen, L"filename: %s", file.c_str() );
Console.Indent().WriteLn( Color_StrongGreen, L"filename: %s", WX_STR(file) );
StateCopy_SaveToFile( file );
}
@ -680,8 +680,8 @@ void StateCopy_LoadFromSlot( uint slot, bool isFromBackup )
return;
}
Console.WriteLn( Color_StrongGreen, L"Loading savestate from slot %d...%s", slot, wxString( isFromBackup?L" (backup)":L"" ).c_str() );
Console.Indent().WriteLn( Color_StrongGreen, L"filename: %s", file.c_str() );
Console.WriteLn( Color_StrongGreen, L"Loading savestate from slot %d...%s", slot, WX_STR(wxString( isFromBackup?L" (backup)":L"" )) );
Console.Indent().WriteLn( Color_StrongGreen, L"filename: %s", WX_STR(file) );
StateCopy_LoadFromFile( file );
}

View File

@ -301,7 +301,7 @@ bool i18n_SetLanguage( wxLanguage wxLangId, const wxString& langCode )
{
info = wxLocale::FindLanguageInfo(langCode);
if (!info)
Console.Warning( "Unrecognized language canonical name '%ls'", langCode.c_str() );
Console.Warning( "Unrecognized language canonical name '%ls'", WX_STR(langCode) );
}
}
@ -313,7 +313,7 @@ bool i18n_SetLanguage( wxLanguage wxLangId, const wxString& langCode )
if( !locale->IsOk() )
{
Console.Warning( L"SetLanguage: '%s' [%s] is not supported by the operating system",
i18n_GetBetterLanguageName(info).c_str(), locale->GetCanonicalName().c_str()
WX_STR(i18n_GetBetterLanguageName(info)), WX_STR(locale->GetCanonicalName())
);
return false;
}
@ -334,7 +334,7 @@ bool i18n_SetLanguage( wxLanguage wxLangId, const wxString& langCode )
}
Console.WriteLn( L"Loading language translation databases for '%s' [%s]",
i18n_GetBetterLanguageName(info).c_str(), locale->GetCanonicalName().c_str()
WX_STR(i18n_GetBetterLanguageName(info)), WX_STR(locale->GetCanonicalName())
);
static const wxChar* dictFiles[] =

View File

@ -188,7 +188,7 @@ static void LoadExtraRom( const wxChar* ext, u8 (&dest)[_size] )
// Try first a basic extension concatenation (normally results in something like name.bin.rom1)
const wxString Bios( g_Conf->FullpathToBios() );
Bios1.Printf( L"%s.%s", Bios.c_str(), ext);
Bios1.Printf( L"%s.%s", WX_STR(Bios), ext);
try
{
@ -216,7 +216,7 @@ static void LoadExtraRom( const wxChar* ext, u8 (&dest)[_size] )
// still work fine.
Console.Warning(L"BIOS Warning: %s could not be read (permission denied?)", ext);
Console.Indent().WriteLn(L"Details: %s", ex.FormatDiagnosticMessage().c_str());
Console.Indent().WriteLn(L"Details: %s", WX_STR(ex.FormatDiagnosticMessage()));
Console.Indent().WriteLn(L"File size: %llu", filesize);
}
}
@ -263,7 +263,7 @@ void LoadBIOS()
LoadBiosVersion( memfp, BiosVersion, BiosDescription, biosZone );
Console.SetTitle( pxsFmt( L"Running BIOS (%s v%u.%u)",
biosZone.c_str(), BiosVersion >> 8, BiosVersion & 0xff
WX_STR(biosZone), BiosVersion >> 8, BiosVersion & 0xff
));
//injectIRX("host.irx"); //not fully tested; still buggy