mirror of https://github.com/PCSX2/pcsx2.git
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:
parent
fded22e1b3
commit
d5d19acb3f
|
@ -95,7 +95,7 @@ void SafeArray<T>::Dispose()
|
||||||
template< typename T >
|
template< typename T >
|
||||||
T* SafeArray<T>::_getPtr( uint i ) const
|
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];
|
return &m_ptr[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -213,7 +213,7 @@ SafeList<T>::SafeList( int initialSize, const wxChar* name )
|
||||||
template< typename T >
|
template< typename T >
|
||||||
T* SafeList<T>::_getPtr( uint i ) const
|
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];
|
return &m_ptr[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,12 @@
|
||||||
|
|
||||||
#include <wx/tokenzr.h>
|
#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
|
// pxToUTF8
|
||||||
|
@ -155,7 +161,7 @@ public:
|
||||||
|
|
||||||
FastFormatAscii& operator+=(const wxString& s)
|
FastFormatAscii& operator+=(const wxString& s)
|
||||||
{
|
{
|
||||||
Write( "%ls", s.c_str() );
|
Write( "%s", WX_STR(s) );
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -207,7 +213,7 @@ public:
|
||||||
|
|
||||||
FastFormatUnicode& operator+=(const wxString& s)
|
FastFormatUnicode& operator+=(const wxString& s)
|
||||||
{
|
{
|
||||||
Write( L"%s", s.c_str() );
|
Write( L"%s", WX_STR(s) );
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,13 +42,13 @@ public:
|
||||||
ConsoleLogSource_Threading();
|
ConsoleLogSource_Threading();
|
||||||
|
|
||||||
bool Write( const wxString& thrname, const wxChar* msg ) {
|
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 ) {
|
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 ) {
|
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 );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -26,11 +26,6 @@
|
||||||
// for lack of a better place...
|
// for lack of a better place...
|
||||||
Fnptr_OutOfMemory pxDoOutOfMemory = NULL;
|
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,
|
// 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
|
// 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 );
|
message.Write( L"%s(%d) : assertion failed:\n", srcfile, line );
|
||||||
|
|
||||||
if( function != NULL )
|
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 )
|
if( condition != NULL )
|
||||||
message.Write(L" Condition: %s\n", condition);
|
message.Write(L" Condition: %S\n", condition);
|
||||||
|
|
||||||
if( msg != NULL )
|
if( msg != NULL )
|
||||||
message.Write(L" Message: %s\n", msg);
|
message.Write(L" Message: %S\n", msg);
|
||||||
|
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
@ -137,7 +132,7 @@ __fi void pxOnAssert( const DiagnosticOrigin& origin, const char* msg)
|
||||||
#if wxMAJOR_VERSION >= 3
|
#if wxMAJOR_VERSION >= 3
|
||||||
__fi void pxOnAssert( const DiagnosticOrigin& origin, const wxString& msg)
|
__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)
|
__fi void pxOnAssert( const DiagnosticOrigin& origin, const FastFormatUnicode& msg)
|
||||||
|
@ -154,7 +149,11 @@ BaseException::~BaseException() throw() {}
|
||||||
|
|
||||||
BaseException& BaseException::SetBothMsgs( const wxChar* msg_diag )
|
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 );
|
return SetDiagMsg( msg_diag );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -188,8 +187,8 @@ Exception::RuntimeError::RuntimeError( const std::runtime_error& ex, const wxStr
|
||||||
IsSilent = false;
|
IsSilent = false;
|
||||||
|
|
||||||
SetDiagMsg( pxsFmt( L"STL Runtime Error%s: %s",
|
SetDiagMsg( pxsFmt( L"STL Runtime Error%s: %s",
|
||||||
(prefix.IsEmpty() ? prefix.c_str() : pxsFmt(L" (%s)", prefix.c_str()).c_str()),
|
(prefix.IsEmpty() ? L"" : pxsFmt(L" (%s)", WX_STR(prefix)).c_str()),
|
||||||
fromUTF8( ex.what() ).c_str()
|
WX_STR(fromUTF8( ex.what() ))
|
||||||
) );
|
) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,8 +197,8 @@ Exception::RuntimeError::RuntimeError( const std::exception& ex, const wxString&
|
||||||
IsSilent = false;
|
IsSilent = false;
|
||||||
|
|
||||||
SetDiagMsg( pxsFmt( L"STL Exception%s: %s",
|
SetDiagMsg( pxsFmt( L"STL Exception%s: %s",
|
||||||
(prefix.IsEmpty() ? prefix.c_str() : pxsFmt(L" (%s)", prefix.c_str()).c_str()),
|
(prefix.IsEmpty() ? L"" : pxsFmt(L" (%s)", WX_STR(prefix)).c_str()),
|
||||||
fromUTF8( ex.what() ).c_str()
|
WX_STR(fromUTF8( ex.what() ))
|
||||||
) );
|
) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -216,10 +215,10 @@ wxString Exception::OutOfMemory::FormatDiagnosticMessage() const
|
||||||
FastFormatUnicode retmsg;
|
FastFormatUnicode retmsg;
|
||||||
retmsg.Write(L"Out of memory");
|
retmsg.Write(L"Out of memory");
|
||||||
if (!AllocDescription.IsEmpty())
|
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())
|
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;
|
return retmsg;
|
||||||
}
|
}
|
||||||
|
@ -230,7 +229,7 @@ wxString Exception::OutOfMemory::FormatDisplayMessage() const
|
||||||
retmsg.Write( L"%s", _("Oh noes! Out of memory!") );
|
retmsg.Write( L"%s", _("Oh noes! Out of memory!") );
|
||||||
|
|
||||||
if (!m_message_user.IsEmpty())
|
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;
|
return retmsg;
|
||||||
}
|
}
|
||||||
|
@ -250,10 +249,10 @@ wxString Exception::VirtualMemoryMapConflict::FormatDiagnosticMessage() const
|
||||||
FastFormatUnicode retmsg;
|
FastFormatUnicode retmsg;
|
||||||
retmsg.Write(L"Virtual memory map failed");
|
retmsg.Write(L"Virtual memory map failed");
|
||||||
if (!AllocDescription.IsEmpty())
|
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())
|
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;
|
return retmsg;
|
||||||
}
|
}
|
||||||
|
@ -267,7 +266,7 @@ wxString Exception::VirtualMemoryMapConflict::FormatDisplayMessage() const
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!m_message_diag.IsEmpty())
|
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;
|
return retmsg;
|
||||||
}
|
}
|
||||||
|
@ -305,24 +304,24 @@ void Exception::BadStream::_formatDiagMsg( FastFormatUnicode& dest ) const
|
||||||
{
|
{
|
||||||
dest.Write( L"Path: " );
|
dest.Write( L"Path: " );
|
||||||
if (!StreamName.IsEmpty())
|
if (!StreamName.IsEmpty())
|
||||||
dest.Write( L"%s", StreamName.c_str() );
|
dest.Write( L"%s", WX_STR(StreamName) );
|
||||||
else
|
else
|
||||||
dest.Write( L"[Unnamed or unknown]" );
|
dest.Write( L"[Unnamed or unknown]" );
|
||||||
|
|
||||||
if (!m_message_diag.IsEmpty())
|
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
|
void Exception::BadStream::_formatUserMsg( FastFormatUnicode& dest ) const
|
||||||
{
|
{
|
||||||
dest.Write( _("Path: ") );
|
dest.Write( _("Path: ") );
|
||||||
if (!StreamName.IsEmpty())
|
if (!StreamName.IsEmpty())
|
||||||
dest.Write( L"%s", StreamName.c_str() );
|
dest.Write( L"%s", WX_STR(StreamName) );
|
||||||
else
|
else
|
||||||
dest.Write( _("[Unnamed or unknown]") );
|
dest.Write( _("[Unnamed or unknown]") );
|
||||||
|
|
||||||
if (!m_message_user.IsEmpty())
|
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -331,7 +331,7 @@ FastFormatUnicode& FastFormatUnicode::ToLower()
|
||||||
|
|
||||||
FastFormatUnicode& FastFormatUnicode::operator+=(const char* psz )
|
FastFormatUnicode& FastFormatUnicode::operator+=(const char* psz )
|
||||||
{
|
{
|
||||||
Write( L"%s", fromUTF8(psz).c_str() );
|
Write( L"%s", WX_STR(fromUTF8(psz)) );
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -246,7 +246,7 @@ void IniLoader::_EnumEntry( const wxString& var, int& value, const wxChar* const
|
||||||
if( enumArray[i] == NULL )
|
if( enumArray[i] == NULL )
|
||||||
{
|
{
|
||||||
Console.Warning( L"(LoadSettings) Warning: Unrecognized value '%s' on key '%s'\n\tUsing the default setting of '%s'.",
|
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;
|
value = defvalue;
|
||||||
}
|
}
|
||||||
|
@ -377,7 +377,7 @@ void IniSaver::_EnumEntry( const wxString& var, int& value, const wxChar* const*
|
||||||
|
|
||||||
if( value >= cnt )
|
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(
|
Console.Indent().Warning(
|
||||||
L"Illegal Value: %d\n"
|
L"Illegal Value: %d\n"
|
||||||
L"Using Default: %d (%s)\n",
|
L"Using Default: %d (%s)\n",
|
||||||
|
|
|
@ -118,13 +118,13 @@ static bool _memprotect( void* baseaddr, size_t size, const PageProtectionMode&
|
||||||
{
|
{
|
||||||
case EINVAL:
|
case EINVAL:
|
||||||
pxFailDev(pxsFmt(L"mprotect returned EINVAL @ 0x%08X -> 0x%08X (mode=%s)",
|
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;
|
break;
|
||||||
|
|
||||||
case EACCES:
|
case EACCES:
|
||||||
pxFailDev(pxsFmt(L"mprotect returned EACCES @ 0x%08X -> 0x%08X (mode=%s)",
|
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;
|
break;
|
||||||
|
|
||||||
|
@ -218,7 +218,7 @@ void HostSys::MemProtect( void* baseaddr, size_t size, const PageProtectionMode&
|
||||||
{
|
{
|
||||||
throw Exception::OutOfMemory( L"MemProtect" )
|
throw Exception::OutOfMemory( L"MemProtect" )
|
||||||
.SetDiagMsg(pxsFmt( L"mprotect failed @ 0x%08X -> 0x%08X (mode=%s)",
|
.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())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -210,7 +210,7 @@ bool Threading::pxThread::AffinityAssert_AllowFromSelf( const DiagnosticOrigin&
|
||||||
if( IsSelf() ) return true;
|
if( IsSelf() ) return true;
|
||||||
|
|
||||||
if( IsDevBuild )
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -220,7 +220,7 @@ bool Threading::pxThread::AffinityAssert_DisallowFromSelf( const DiagnosticOrigi
|
||||||
if( !IsSelf() ) return true;
|
if( !IsSelf() ) return true;
|
||||||
|
|
||||||
if( IsDevBuild )
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -436,7 +436,7 @@ void Threading::pxThread::_selfRunningTest( const wxChar* name ) const
|
||||||
{
|
{
|
||||||
throw Exception::CancelEvent( pxsFmt(
|
throw Exception::CancelEvent( pxsFmt(
|
||||||
L"Blocking thread %s was terminated while another thread was waiting on a %s.",
|
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 )
|
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 )
|
catch( Exception::RuntimeError& ex )
|
||||||
{
|
{
|
||||||
BaseException* woot = ex.Clone();
|
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;
|
m_except = woot;
|
||||||
}
|
}
|
||||||
#ifndef PCSX2_DEVBUILD
|
#ifndef PCSX2_DEVBUILD
|
||||||
|
@ -568,13 +568,13 @@ void Threading::pxThread::_try_virtual_invoke( void (pxThread::*method)() )
|
||||||
/*catch( std::logic_error& ex )
|
/*catch( std::logic_error& ex )
|
||||||
{
|
{
|
||||||
throw BaseException( pxsFmt( L"STL Logic Error (thread:%s): %s",
|
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 )
|
catch( std::exception& ex )
|
||||||
{
|
{
|
||||||
throw BaseException( pxsFmt( L"STL exception (thread:%s): %s",
|
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 )
|
catch( BaseException& ex )
|
||||||
{
|
{
|
||||||
BaseException* woot = ex.Clone();
|
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;
|
m_except = woot;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -688,7 +688,7 @@ void* Threading::pxThread::_internal_callback( void* itsme )
|
||||||
|
|
||||||
void Threading::pxThread::_DoSetThreadName( const wxString& name )
|
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
|
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
|
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()
|
pxThread& Exception::BaseThreadError::Thread()
|
||||||
|
|
|
@ -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)))
|
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...",
|
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);
|
SafeSysMunmap(m_baseptr, reserved_bytes);
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@ void* VirtualMemoryReserve::Reserve( size_t size, uptr base, uptr upper_bounds )
|
||||||
else
|
else
|
||||||
mbkb.Write( "[%ukb]", reserved_bytes / 1024 );
|
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());
|
pxsPtr(m_baseptr), pxsPtr((uptr)m_baseptr+reserved_bytes), mbkb.c_str());
|
||||||
|
|
||||||
return m_baseptr;
|
return m_baseptr;
|
||||||
|
@ -224,7 +224,7 @@ bool VirtualMemoryReserve::TryResize( uint newsize )
|
||||||
uint toReservePages = newPages - m_pages_reserved;
|
uint toReservePages = newPages - m_pages_reserved;
|
||||||
uint toReserveBytes = toReservePages * __pagesize;
|
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);
|
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);
|
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);
|
m_baseptr, (uptr)m_baseptr+toReserveBytes, toReserveBytes / _1mb);
|
||||||
}
|
}
|
||||||
else if (newPages < m_pages_reserved)
|
else if (newPages < m_pages_reserved)
|
||||||
|
@ -244,11 +244,11 @@ bool VirtualMemoryReserve::TryResize( uint newsize )
|
||||||
uint toRemovePages = m_pages_reserved - newPages;
|
uint toRemovePages = m_pages_reserved - newPages;
|
||||||
uint toRemoveBytes = toRemovePages * __pagesize;
|
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);
|
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);
|
m_baseptr, (uptr)m_baseptr+toRemoveBytes, toRemoveBytes / _1mb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -297,7 +297,7 @@ void BaseVmReserveListener::OnPageFaultEvent(const PageFaultInfo& info, bool& ha
|
||||||
pxFailRel( pxsFmt(
|
pxFailRel( pxsFmt(
|
||||||
L"Memory Protection Fault @ %s (%s)\n"
|
L"Memory Protection Fault @ %s (%s)\n"
|
||||||
L"Modification of this reserve has been disabled (m_allow_writes == false).",
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -362,7 +362,7 @@ static __fi void _reloadElfInfo(wxString elfpath)
|
||||||
ElfCRC = elfptr->getCRC();
|
ElfCRC = elfptr->getCRC();
|
||||||
ElfEntry = elfptr->header.e_entry;
|
ElfEntry = elfptr->header.e_entry;
|
||||||
ElfTextRange = elfptr->getTextRange();
|
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
|
// 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
|
// BIOS key encryption as well as eeloadReplaceOSDSYS. The first is actually still executing
|
||||||
|
|
|
@ -355,7 +355,7 @@ bool DoCDVDopen()
|
||||||
// Likely Fix: Force new versions of CDVD plugins to expect UTF8 instead.
|
// Likely Fix: Force new versions of CDVD plugins to expect UTF8 instead.
|
||||||
|
|
||||||
int ret = CDVD->open( !m_SourceFilename[m_CurrentSourceType].IsEmpty() ?
|
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)
|
if( ret == -1 ) return false; // error! (handled by caller)
|
||||||
|
|
|
@ -166,7 +166,7 @@ static void FindLayer1Start()
|
||||||
wxFileConfig layerCacheIni( wxEmptyString, wxEmptyString, layerCacheFile, wxEmptyString, wxCONFIG_USE_RELATIVE_PATH );
|
wxFileConfig layerCacheIni( wxEmptyString, wxEmptyString, layerCacheFile, wxEmptyString, wxCONFIG_USE_RELATIVE_PATH );
|
||||||
|
|
||||||
FastFormatUnicode cacheKey;
|
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 );
|
blockresult = layerCacheIni.Read( cacheKey, -1 );
|
||||||
if( blockresult != -1 )
|
if( blockresult != -1 )
|
||||||
|
|
|
@ -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);
|
msg.Write("isoFile error: Block index is past the end of file! (%u > %u).", lsn, m_blocks);
|
||||||
|
|
||||||
pxAssertDev(false, msg);
|
pxAssertDev(false, msg);
|
||||||
Console.Error(msg);
|
Console.Error(msg.c_str());
|
||||||
return -1;
|
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);
|
msg.Write("isoFile error: Block index is past the end of file! (%u > %u).", lsn, m_blocks);
|
||||||
|
|
||||||
pxAssertDev(false, msg);
|
pxAssertDev(false, msg);
|
||||||
Console.Error(msg);
|
Console.Error(msg.c_str());
|
||||||
|
|
||||||
// [TODO] : Throw exception?
|
// [TODO] : Throw exception?
|
||||||
// Typically an error like this is bad; indicating an invalid dump or corrupted
|
// 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();
|
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;
|
ConsoleIndentScope indent;
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ void pxStream_OpenCheck( const wxStreamBase& stream, const wxString& fname, cons
|
||||||
if (stream.IsOk()) return;
|
if (stream.IsOk()) return;
|
||||||
|
|
||||||
ScopedExcept ex(Exception::FromErrno(fname, errno));
|
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();
|
ex->Rethrow();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ void OutputIsoFile::Create(const wxString& filename, int version)
|
||||||
m_outstream = new wxFileOutputStream( m_filename );
|
m_outstream = new wxFileOutputStream( m_filename );
|
||||||
pxStream_OpenCheck( *m_outstream, m_filename, L"writing" );
|
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.
|
// 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));
|
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));
|
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();
|
ex->Rethrow();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
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;
|
vif0ch.qwc += 1;
|
||||||
if(vif0.irqoffset.value != 0 && vif0.vifstalled.enabled == true) DevCon.Warning("Offset on VIF0 FIFO start!");
|
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)
|
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) {
|
if (vif1Regs.stat.FDR) {
|
||||||
DevCon.Warning("writing to fifo when fdr is set!");
|
DevCon.Warning("writing to fifo when fdr is set!");
|
||||||
|
|
|
@ -119,11 +119,11 @@ struct Game_Data
|
||||||
}
|
}
|
||||||
|
|
||||||
bool sectionExists(const wxChar* key, const wxString& value) const {
|
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 {
|
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
|
// Gets an integer representation of the 'value' for the given key
|
||||||
|
@ -142,23 +142,31 @@ struct Game_Data
|
||||||
}
|
}
|
||||||
|
|
||||||
bool keyExists(const char* key) const {
|
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 {
|
wxString getString(const char* key) const {
|
||||||
return getString(fromUTF8(key));
|
return getString(fromUTF8(key).wx_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
int getInt(const char* key) const {
|
int getInt(const char* key) const {
|
||||||
return getInt(fromUTF8(key));
|
return getInt(fromUTF8(key).wx_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 getU8(const char* key) const {
|
u8 getU8(const char* key) const {
|
||||||
return getU8(fromUTF8(key));
|
return getU8(fromUTF8(key).wx_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool getBool(const char* key) const {
|
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());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -160,7 +160,7 @@ void __fastcall ReadFIFO_IPUout(mem128_t* out)
|
||||||
|
|
||||||
void __fastcall WriteFIFO_IPUin(const mem128_t* value)
|
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
|
//committing every 16 bytes
|
||||||
if( ipu_fifo.in.write((u32*)value, 1) == 0 )
|
if( ipu_fifo.in.write((u32*)value, 1) == 0 )
|
||||||
|
|
|
@ -13,231 +13,231 @@
|
||||||
* If not, see <http://www.gnu.org/licenses/>.
|
* If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "PrecompiledHeader.h"
|
#include "PrecompiledHeader.h"
|
||||||
#include "AsyncFileReader.h"
|
#include "AsyncFileReader.h"
|
||||||
|
|
||||||
// Tests for a filename extension in both upper and lower case, if the filesystem happens
|
// Tests for a filename extension in both upper and lower case, if the filesystem happens
|
||||||
// to be case-sensitive.
|
// to be case-sensitive.
|
||||||
bool pxFileExists_WithExt( const wxFileName& filename, const wxString& ext )
|
bool pxFileExists_WithExt( const wxFileName& filename, const wxString& ext )
|
||||||
{
|
{
|
||||||
wxFileName part1 = filename;
|
wxFileName part1 = filename;
|
||||||
part1.SetExt( ext.Lower() );
|
part1.SetExt( ext.Lower() );
|
||||||
|
|
||||||
if (part1.FileExists()) return true;
|
if (part1.FileExists()) return true;
|
||||||
if (!wxFileName::IsCaseSensitive()) return false;
|
if (!wxFileName::IsCaseSensitive()) return false;
|
||||||
|
|
||||||
part1.SetExt( ext.Upper() );
|
part1.SetExt( ext.Upper() );
|
||||||
return part1.FileExists();
|
return part1.FileExists();
|
||||||
}
|
}
|
||||||
|
|
||||||
AsyncFileReader* MultipartFileReader::DetectMultipart(AsyncFileReader* reader)
|
AsyncFileReader* MultipartFileReader::DetectMultipart(AsyncFileReader* reader)
|
||||||
{
|
{
|
||||||
MultipartFileReader* multi = new MultipartFileReader(reader);
|
MultipartFileReader* multi = new MultipartFileReader(reader);
|
||||||
|
|
||||||
multi->FindParts();
|
multi->FindParts();
|
||||||
if (multi->m_numparts > 1)
|
if (multi->m_numparts > 1)
|
||||||
{
|
{
|
||||||
Console.WriteLn( Color_Blue, "isoFile: multi-part ISO detected. %u parts found.", multi->m_numparts);
|
Console.WriteLn( Color_Blue, "isoFile: multi-part ISO detected. %u parts found.", multi->m_numparts);
|
||||||
|
|
||||||
return multi;
|
return multi;
|
||||||
}
|
}
|
||||||
|
|
||||||
multi->m_parts[0].reader = NULL;
|
multi->m_parts[0].reader = NULL;
|
||||||
delete multi;
|
delete multi;
|
||||||
return reader;
|
return reader;
|
||||||
}
|
}
|
||||||
|
|
||||||
MultipartFileReader::MultipartFileReader(AsyncFileReader* firstPart)
|
MultipartFileReader::MultipartFileReader(AsyncFileReader* firstPart)
|
||||||
{
|
{
|
||||||
memset(m_parts,0,sizeof(m_parts));
|
memset(m_parts,0,sizeof(m_parts));
|
||||||
|
|
||||||
m_filename = firstPart->GetFilename();
|
m_filename = firstPart->GetFilename();
|
||||||
|
|
||||||
m_numparts = 1;
|
m_numparts = 1;
|
||||||
|
|
||||||
m_parts[0].reader = firstPart;
|
m_parts[0].reader = firstPart;
|
||||||
m_parts[0].end = firstPart->GetBlockCount();
|
m_parts[0].end = firstPart->GetBlockCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
MultipartFileReader::~MultipartFileReader(void)
|
MultipartFileReader::~MultipartFileReader(void)
|
||||||
{
|
{
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MultipartFileReader::FindParts()
|
void MultipartFileReader::FindParts()
|
||||||
{
|
{
|
||||||
wxFileName nameparts( m_filename );
|
wxFileName nameparts( m_filename );
|
||||||
wxString curext( nameparts.GetExt() );
|
wxString curext( nameparts.GetExt() );
|
||||||
wxChar prefixch = wxTolower(curext[0]);
|
wxChar prefixch = wxTolower(curext[0]);
|
||||||
|
|
||||||
// Multi-part rules!
|
// Multi-part rules!
|
||||||
// * The first part can either be the proper extension (ISO, MDF, etc) or the numerical
|
// * The first part can either be the proper extension (ISO, MDF, etc) or the numerical
|
||||||
// extension (I00, I01, M00, M01, etc).
|
// extension (I00, I01, M00, M01, etc).
|
||||||
// * Numerical extensions MUST begin at 00 (I00 etc), regardless of if the first part
|
// * Numerical extensions MUST begin at 00 (I00 etc), regardless of if the first part
|
||||||
// is proper or numerical.
|
// is proper or numerical.
|
||||||
|
|
||||||
uint i = 0;
|
uint i = 0;
|
||||||
|
|
||||||
if ((curext.Length() == 3) && (curext[1] == L'0') && (curext[2] == L'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:
|
// First file is an OO, so skip 0 in the loop below:
|
||||||
i = 1;
|
i = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
FastFormatUnicode extbuf;
|
FastFormatUnicode extbuf;
|
||||||
|
|
||||||
extbuf.Write( L"%c%02u", prefixch, i );
|
extbuf.Write( L"%c%02u", prefixch, i );
|
||||||
nameparts.SetExt( extbuf );
|
nameparts.SetExt( extbuf );
|
||||||
if (!pxFileExists_WithExt(nameparts, extbuf))
|
if (!pxFileExists_WithExt(nameparts, extbuf))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
DevCon.WriteLn( Color_Blue, "isoFile: multi-part %s detected...", curext.Upper().c_str() );
|
DevCon.WriteLn( Color_Blue, "isoFile: multi-part %s detected...", WX_STR(curext.Upper()) );
|
||||||
ConsoleIndentScope indent;
|
ConsoleIndentScope indent;
|
||||||
|
|
||||||
int bsize = m_parts[0].reader->GetBlockSize();
|
int bsize = m_parts[0].reader->GetBlockSize();
|
||||||
int blocks = m_parts[0].end;
|
int blocks = m_parts[0].end;
|
||||||
|
|
||||||
m_numparts = 1;
|
m_numparts = 1;
|
||||||
|
|
||||||
for (; i < MaxParts; ++i)
|
for (; i < MaxParts; ++i)
|
||||||
{
|
{
|
||||||
extbuf.Clear();
|
extbuf.Clear();
|
||||||
extbuf.Write( L"%c%02u", prefixch, i );
|
extbuf.Write( L"%c%02u", prefixch, i );
|
||||||
nameparts.SetExt( extbuf );
|
nameparts.SetExt( extbuf );
|
||||||
if (!pxFileExists_WithExt(nameparts, extbuf))
|
if (!pxFileExists_WithExt(nameparts, extbuf))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
Part* thispart = m_parts + m_numparts;
|
Part* thispart = m_parts + m_numparts;
|
||||||
AsyncFileReader* thisreader = thispart->reader = new FlatFileReader();
|
AsyncFileReader* thisreader = thispart->reader = new FlatFileReader();
|
||||||
|
|
||||||
wxString name = nameparts.GetFullPath();
|
wxString name = nameparts.GetFullPath();
|
||||||
|
|
||||||
thisreader->Open(name);
|
thisreader->Open(name);
|
||||||
thisreader->SetBlockSize(bsize);
|
thisreader->SetBlockSize(bsize);
|
||||||
|
|
||||||
thispart->start = blocks;
|
thispart->start = blocks;
|
||||||
|
|
||||||
uint bcount = thisreader->GetBlockCount();
|
uint bcount = thisreader->GetBlockCount();
|
||||||
blocks += bcount;
|
blocks += bcount;
|
||||||
|
|
||||||
thispart->end = blocks;
|
thispart->end = blocks;
|
||||||
|
|
||||||
DevCon.WriteLn( Color_Blue, L"\tblocks %u - %u in: %s",
|
DevCon.WriteLn( Color_Blue, L"\tblocks %u - %u in: %s",
|
||||||
thispart->start, thispart->end,
|
thispart->start, thispart->end,
|
||||||
nameparts.GetFullPath().c_str()
|
WX_STR(nameparts.GetFullPath())
|
||||||
);
|
);
|
||||||
|
|
||||||
++m_numparts;
|
++m_numparts;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Console.WriteLn( Color_Blue, "isoFile: multi-part ISO loaded (%u parts found)", m_numparts );
|
//Console.WriteLn( Color_Blue, "isoFile: multi-part ISO loaded (%u parts found)", m_numparts );
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MultipartFileReader::Open(const wxString& fileName)
|
bool MultipartFileReader::Open(const wxString& fileName)
|
||||||
{
|
{
|
||||||
// Cannot open a MultipartFileReader directly,
|
// Cannot open a MultipartFileReader directly,
|
||||||
// use DetectMultipart to convert a FlatFileReader
|
// use DetectMultipart to convert a FlatFileReader
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint MultipartFileReader::GetFirstPart(uint lsn)
|
uint MultipartFileReader::GetFirstPart(uint lsn)
|
||||||
{
|
{
|
||||||
pxAssertMsg(lsn < GetBlockCount(), "Invalid lsn passed into MultipartFileReader::GetFirstPart.");
|
pxAssertMsg(lsn < GetBlockCount(), "Invalid lsn passed into MultipartFileReader::GetFirstPart.");
|
||||||
pxAssertMsg(m_numparts, "Invalid object state; multi-part iso file needs at least one part!");
|
pxAssertMsg(m_numparts, "Invalid object state; multi-part iso file needs at least one part!");
|
||||||
|
|
||||||
for (uint i = 0; i < m_numparts; ++i)
|
for (uint i = 0; i < m_numparts; ++i)
|
||||||
{
|
{
|
||||||
if (lsn < m_parts[i].end)
|
if (lsn < m_parts[i].end)
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
// should never get here
|
// should never get here
|
||||||
return 0xBAAAAAAD;
|
return 0xBAAAAAAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
int MultipartFileReader::ReadSync(void* pBuffer, uint sector, uint count)
|
int MultipartFileReader::ReadSync(void* pBuffer, uint sector, uint count)
|
||||||
{
|
{
|
||||||
BeginRead(pBuffer,sector,count);
|
BeginRead(pBuffer,sector,count);
|
||||||
return FinishRead();
|
return FinishRead();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MultipartFileReader::BeginRead(void* pBuffer, uint sector, uint count)
|
void MultipartFileReader::BeginRead(void* pBuffer, uint sector, uint count)
|
||||||
{
|
{
|
||||||
u8* lBuffer = (u8*)pBuffer;
|
u8* lBuffer = (u8*)pBuffer;
|
||||||
|
|
||||||
for(uint i = GetFirstPart(sector); i < m_numparts; i++)
|
for(uint i = GetFirstPart(sector); i < m_numparts; i++)
|
||||||
{
|
{
|
||||||
uint num = min(count, m_parts[i].end - sector);
|
uint num = min(count, m_parts[i].end - sector);
|
||||||
|
|
||||||
m_parts[i].reader->BeginRead(lBuffer, sector - m_parts[i].start, num);
|
m_parts[i].reader->BeginRead(lBuffer, sector - m_parts[i].start, num);
|
||||||
m_parts[i].isReading = true;
|
m_parts[i].isReading = true;
|
||||||
|
|
||||||
lBuffer += num * m_blocksize;
|
lBuffer += num * m_blocksize;
|
||||||
sector += num;
|
sector += num;
|
||||||
count -= num;
|
count -= num;
|
||||||
|
|
||||||
if(count <= 0)
|
if(count <= 0)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int MultipartFileReader::FinishRead(void)
|
int MultipartFileReader::FinishRead(void)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
for(uint i=0;i<m_numparts;i++)
|
for(uint i=0;i<m_numparts;i++)
|
||||||
{
|
{
|
||||||
if(m_parts[i].isReading)
|
if(m_parts[i].isReading)
|
||||||
{
|
{
|
||||||
ret = min(ret, m_parts[i].reader->FinishRead());
|
ret = min(ret, m_parts[i].reader->FinishRead());
|
||||||
m_parts[i].isReading = false;
|
m_parts[i].isReading = false;
|
||||||
|
|
||||||
if(ret < 0)
|
if(ret < 0)
|
||||||
ret = -1;
|
ret = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MultipartFileReader::CancelRead(void)
|
void MultipartFileReader::CancelRead(void)
|
||||||
{
|
{
|
||||||
for(uint i=0;i<m_numparts;i++)
|
for(uint i=0;i<m_numparts;i++)
|
||||||
{
|
{
|
||||||
if(m_parts[i].isReading)
|
if(m_parts[i].isReading)
|
||||||
{
|
{
|
||||||
m_parts[i].reader->CancelRead();
|
m_parts[i].reader->CancelRead();
|
||||||
m_parts[i].isReading = false;
|
m_parts[i].isReading = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MultipartFileReader::Close(void)
|
void MultipartFileReader::Close(void)
|
||||||
{
|
{
|
||||||
for(uint i=0;i<m_numparts;i++)
|
for(uint i=0;i<m_numparts;i++)
|
||||||
{
|
{
|
||||||
if(m_parts[i].reader)
|
if(m_parts[i].reader)
|
||||||
{
|
{
|
||||||
m_parts[i].reader->Close();
|
m_parts[i].reader->Close();
|
||||||
delete m_parts[i].reader;
|
delete m_parts[i].reader;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint MultipartFileReader::GetBlockCount(void) const
|
uint MultipartFileReader::GetBlockCount(void) const
|
||||||
{
|
{
|
||||||
return m_parts[m_numparts-1].end;
|
return m_parts[m_numparts-1].end;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MultipartFileReader::SetBlockSize(uint bytes)
|
void MultipartFileReader::SetBlockSize(uint bytes)
|
||||||
{
|
{
|
||||||
uint last_end = 0;
|
uint last_end = 0;
|
||||||
for(uint i=0;i<m_numparts;i++)
|
for(uint i=0;i<m_numparts;i++)
|
||||||
{
|
{
|
||||||
m_parts[i].reader->SetBlockSize(bytes);
|
m_parts[i].reader->SetBlockSize(bytes);
|
||||||
uint count = m_parts[i].reader->GetBlockCount();
|
uint count = m_parts[i].reader->GetBlockCount();
|
||||||
|
|
||||||
m_parts[i].start = last_end;
|
m_parts[i].start = last_end;
|
||||||
m_parts[i].end = last_end = m_parts[i].start + count;
|
m_parts[i].end = last_end = m_parts[i].start + count;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -183,7 +183,7 @@ void ResetCheatsCount()
|
||||||
static int LoadCheatsFiles(const wxDirName& folderName, wxString& fileSpec, const wxString& friendlyName)
|
static int LoadCheatsFiles(const wxDirName& folderName, wxString& fileSpec, const wxString& friendlyName)
|
||||||
{
|
{
|
||||||
if (!folderName.Exists()) {
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
wxDir dir(folderName.ToString());
|
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);
|
bool found = dir.GetFirst(&buffer, L"*", wxDIR_FILES);
|
||||||
while (found) {
|
while (found) {
|
||||||
if (buffer.Upper().Matches(fileSpec.Upper())) {
|
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;
|
int before = cheatnumber;
|
||||||
f.Open(Path::Combine(dir.GetName(), buffer));
|
f.Open(Path::Combine(dir.GetName(), buffer));
|
||||||
inifile_process(f);
|
inifile_process(f);
|
||||||
f.Close();
|
f.Close();
|
||||||
int loaded = cheatnumber - before;
|
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);
|
found = dir.GetNext(&buffer);
|
||||||
}
|
}
|
||||||
|
@ -226,7 +226,7 @@ int LoadCheatsFromZip(wxString gameCRC, const wxString& cheatsArchiveFilename) {
|
||||||
name.MakeUpper();
|
name.MakeUpper();
|
||||||
if (name.Find(gameCRC) == 0 && name.Find(L".PNACH")+6u == name.Length()) {
|
if (name.Find(gameCRC) == 0 && name.Find(L".PNACH")+6u == name.Length()) {
|
||||||
Console.WriteLn(Color_Gray, L"Loading patch '%s' from archive '%s'",
|
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);
|
wxTextInputStream pnach(zip);
|
||||||
while (!zip.Eof()) {
|
while (!zip.Eof()) {
|
||||||
inifile_processString(pnach.ReadLine());
|
inifile_processString(pnach.ReadLine());
|
||||||
|
@ -248,7 +248,7 @@ int LoadCheats(wxString name, const wxDirName& folderName, const wxString& frien
|
||||||
wxString filespec = name + L"*.pnach";
|
wxString filespec = name + L"*.pnach";
|
||||||
loaded += LoadCheatsFiles(folderName, filespec, friendlyName);
|
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;
|
return loaded;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -320,10 +320,10 @@ namespace PatchFunc
|
||||||
iPatch.data = StrToU64(pieces.WriteValue(), 16);
|
iPatch.data = StrToU64(pieces.WriteValue(), 16);
|
||||||
|
|
||||||
if (iPatch.cpu == 0)
|
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)
|
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!!
|
iPatch.enabled = 1; // omg success!!
|
||||||
|
|
||||||
|
@ -332,7 +332,7 @@ namespace PatchFunc
|
||||||
}
|
}
|
||||||
catch( wxString& exmsg )
|
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 );
|
Console.Indent().Error( exmsg );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -740,24 +740,24 @@ Exception::PluginLoadError::PluginLoadError( PluginsEnum_t pid )
|
||||||
|
|
||||||
wxString Exception::PluginLoadError::FormatDiagnosticMessage() const
|
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;
|
L"\n\n" + StreamName;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString Exception::PluginLoadError::FormatDisplayMessage() const
|
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;
|
L"\n\n" + StreamName;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString Exception::PluginError::FormatDiagnosticMessage() const
|
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
|
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
|
wxString Exception::FreezePluginFailure::FormatDiagnosticMessage() const
|
||||||
|
@ -903,7 +903,7 @@ void SysCorePlugins::PluginStatus_t::BindCommon( PluginsEnum_t pid )
|
||||||
if( *target == NULL )
|
if( *target == NULL )
|
||||||
{
|
{
|
||||||
throw Exception::PluginLoadError( pid ).SetStreamName(Filename)
|
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."));
|
.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 )
|
if( *(current->Dest) == NULL )
|
||||||
{
|
{
|
||||||
throw Exception::PluginLoadError( pid ).SetStreamName(Filename)
|
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."));
|
.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 );
|
ScopedLock lock( m_mtx_PluginStatus );
|
||||||
pxAssert( (uint)pid < PluginId_Count );
|
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 );
|
m_info[pid] = new PluginStatus_t( pid, srcfile );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ wxString SaveStateBase::GetFilename( int slot )
|
||||||
if (serialName.IsEmpty()) serialName = L"BIOS";
|
if (serialName.IsEmpty()) serialName = L"BIOS";
|
||||||
|
|
||||||
return (g_Conf->Folders.Savestates +
|
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 +
|
//return (g_Conf->Folders.Savestates +
|
||||||
// pxsFmt( L"%08X.%03d", ElfCRC, slot )).GetFullPath();
|
// pxsFmt( L"%08X.%03d", ElfCRC, slot )).GetFullPath();
|
||||||
|
@ -138,7 +138,7 @@ SaveStateBase& SaveStateBase::FreezeBios()
|
||||||
Console.Indent(2).Error(
|
Console.Indent(2).Error(
|
||||||
"Current BIOS: %ls (crc=0x%08x)\n"
|
"Current BIOS: %ls (crc=0x%08x)\n"
|
||||||
"Savestate BIOS: %s (crc=0x%08x)\n",
|
"Savestate BIOS: %s (crc=0x%08x)\n",
|
||||||
BiosDescription.c_str(), BiosChecksum,
|
BiosDescription.wx_str(), BiosChecksum,
|
||||||
biosdesc, bioscheck
|
biosdesc, bioscheck
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,7 +48,7 @@ static const float FORCED_MCD_EJECTION_MAX_MS_AFTER_MIN_TRIES =2800;
|
||||||
wxString GetTimeMsStr(){
|
wxString GetTimeMsStr(){
|
||||||
wxDateTime unow=wxDateTime::UNow();
|
wxDateTime unow=wxDateTime::UNow();
|
||||||
wxString res;
|
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;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -547,7 +547,7 @@ SIO_WRITE memcardInit()
|
||||||
if(mcd->ForceEjection_Timeout)
|
if(mcd->ForceEjection_Timeout)
|
||||||
{
|
{
|
||||||
if(mcd->ForceEjection_Timeout == FORCED_MCD_EJECTION_MAX_TRIES && mcd->IsPresent())
|
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--;
|
mcd->ForceEjection_Timeout--;
|
||||||
forceEject = true;
|
forceEject = true;
|
||||||
|
@ -563,13 +563,13 @@ SIO_WRITE memcardInit()
|
||||||
wxTimeSpan delta = wxDateTime::UNow().Subtract(mcd->ForceEjection_Timestamp);
|
wxTimeSpan delta = wxDateTime::UNow().Subtract(mcd->ForceEjection_Timestamp);
|
||||||
if(delta.GetMilliseconds() >= FORCED_MCD_EJECTION_MAX_MS_AFTER_MIN_TRIES)
|
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.
|
mcd->ForceEjection_Timeout = 0; //Done. on next sio access the card will be seen as inserted.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mcd->ForceEjection_Timeout == 0 && mcd->IsPresent())
|
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())
|
if(!forceEject && mcd->IsPresent())
|
||||||
|
|
|
@ -214,7 +214,7 @@ void SysLogMachineCaps()
|
||||||
L"Operating System = %s\n"
|
L"Operating System = %s\n"
|
||||||
L"Physical RAM = %u MB",
|
L"Physical RAM = %u MB",
|
||||||
|
|
||||||
GetOSVersionString().c_str(),
|
WX_STR(GetOSVersionString()),
|
||||||
(u32)(GetPhysicalMemory() / _1mb)
|
(u32)(GetPhysicalMemory() / _1mb)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -227,11 +227,11 @@ void SysLogMachineCaps()
|
||||||
L"x86PType = %s\n"
|
L"x86PType = %s\n"
|
||||||
L"x86Flags = %08x %08x\n"
|
L"x86Flags = %08x %08x\n"
|
||||||
L"x86EFlags = %08x",
|
L"x86EFlags = %08x",
|
||||||
fromUTF8( x86caps.FamilyName ).Trim().Trim(false).c_str(),
|
WX_STR(fromUTF8( x86caps.FamilyName ).Trim().Trim(false)),
|
||||||
fromUTF8( x86caps.VendorName ).c_str(), x86caps.StepID,
|
WX_STR(fromUTF8( x86caps.VendorName )), x86caps.StepID,
|
||||||
speed / 1000, speed % 1000,
|
speed / 1000, speed % 1000,
|
||||||
x86caps.LogicalCores, (x86caps.LogicalCores==1) ? L"" : L"s",
|
x86caps.LogicalCores, (x86caps.LogicalCores==1) ? L"" : L"s",
|
||||||
x86caps.GetTypeName().c_str(),
|
WX_STR(x86caps.GetTypeName()),
|
||||||
x86caps.Flags, x86caps.Flags2,
|
x86caps.Flags, x86caps.Flags2,
|
||||||
x86caps.EFlags
|
x86caps.EFlags
|
||||||
);
|
);
|
||||||
|
|
|
@ -66,12 +66,12 @@ protected:
|
||||||
return;
|
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())
|
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
|
else
|
||||||
m_stackTrace.Write(pxsFmt( L" 0x%-42p", frame.GetAddress() ));
|
m_stackTrace.Write(pxsFmt( L" 0x%-42p", frame.GetAddress() ).c_str());
|
||||||
|
|
||||||
if( frame.HasSourceLocation() )
|
if( frame.HasSourceLocation() )
|
||||||
{
|
{
|
||||||
|
@ -81,7 +81,7 @@ protected:
|
||||||
for( int i=0; i<2; ++i )
|
for( int i=0; i<2; ++i )
|
||||||
wxfn.RemoveDir(0);
|
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");
|
m_stackTrace.Write(L"\n");
|
||||||
|
@ -125,10 +125,10 @@ bool AppDoAssert( const DiagnosticOrigin& origin, const wxChar *msg )
|
||||||
wxString trace( pxGetStackTrace(origin.function) );
|
wxString trace( pxGetStackTrace(origin.function) );
|
||||||
wxString dbgmsg( origin.ToString( msg ) );
|
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.Error( L"%s", WX_STR(dbgmsg) );
|
||||||
Console.WriteLn( L"%s", trace.c_str() );
|
Console.WriteLn( L"%s", WX_STR(trace) );
|
||||||
|
|
||||||
wxString windowmsg( L"Assertion failed: " );
|
wxString windowmsg( L"Assertion failed: " );
|
||||||
if( msg != NULL )
|
if( msg != NULL )
|
||||||
|
|
|
@ -1037,7 +1037,7 @@ void RelocateLogfile()
|
||||||
|
|
||||||
if( (emuLog != NULL) && (emuLogName != newlogname) )
|
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();
|
wxGetApp().DisableDiskLogging();
|
||||||
|
|
||||||
fclose( emuLog );
|
fclose( emuLog );
|
||||||
|
|
|
@ -434,7 +434,11 @@ int EnumeratePluginsInFolder( const wxDirName& searchpath, wxArrayString* dest )
|
||||||
wxString pattern( L"*%s*" );
|
wxString pattern( L"*%s*" );
|
||||||
#endif
|
#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 );
|
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)
|
// 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
|
// The search folder order for plugins can vary across operating systems, and in some poorly designed
|
||||||
|
|
|
@ -52,7 +52,7 @@ protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
void DBLoaderHelper::doError(bool doMsg) {
|
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();
|
m_keyPair.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ AppGameDatabase& AppGameDatabase::LoadFromFile(const wxString& _file, const wxSt
|
||||||
|
|
||||||
if (!wxFileExists(file))
|
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;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,7 +181,7 @@ AppGameDatabase& AppGameDatabase::LoadFromFile(const wxString& _file, const wxSt
|
||||||
if (!reader.IsOk())
|
if (!reader.IsOk())
|
||||||
{
|
{
|
||||||
//throw Exception::FileNotFound( file );
|
//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 );
|
DBLoaderHelper loader( reader, *this );
|
||||||
|
|
|
@ -269,7 +269,7 @@ void Pcsx2App::OnInitCmdLine( wxCmdLineParser& parser )
|
||||||
|
|
||||||
const PluginInfo* pi = tbl_PluginInfo; do {
|
const PluginInfo* pi = tbl_PluginInfo; do {
|
||||||
parser.AddOption( wxEmptyString, pi->GetShortname().Lower(),
|
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 );
|
} while( ++pi, pi->shortname != NULL );
|
||||||
|
|
||||||
|
@ -746,12 +746,12 @@ void Pcsx2App::CleanUp()
|
||||||
|
|
||||||
__fi wxString AddAppName( const wxChar* fmt )
|
__fi wxString AddAppName( const wxChar* fmt )
|
||||||
{
|
{
|
||||||
return pxsFmt( fmt, pxGetAppName().c_str() );
|
return pxsFmt( fmt, WX_STR(pxGetAppName()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
__fi wxString AddAppName( const char* fmt )
|
__fi wxString AddAppName( const char* fmt )
|
||||||
{
|
{
|
||||||
return pxsFmt( fromUTF8(fmt), pxGetAppName().c_str() );
|
return pxsFmt( fromUTF8(fmt), WX_STR(pxGetAppName()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -299,7 +299,7 @@ void pxMessageOutputMessageBox::Printf(const wxChar* format, ...)
|
||||||
|
|
||||||
FastFormatUnicode isoFormatted;
|
FastFormatUnicode isoFormatted;
|
||||||
isoFormatted.Write( L"[%s]", _("IsoFile") );
|
isoFormatted.Write( L"[%s]", _("IsoFile") );
|
||||||
int pos = out.Find( isoFormatted );
|
int pos = out.Find( isoFormatted.c_str() );
|
||||||
|
|
||||||
if(pos == wxNOT_FOUND)
|
if(pos == wxNOT_FOUND)
|
||||||
{
|
{
|
||||||
|
@ -1093,7 +1093,7 @@ __fi bool SysHasValidState()
|
||||||
void SysStatus( const wxString& text )
|
void SysStatus( const wxString& text )
|
||||||
{
|
{
|
||||||
// mirror output to the console!
|
// mirror output to the console!
|
||||||
Console.WriteLn( text.c_str() );
|
Console.WriteLn( WX_STR(text) );
|
||||||
sMainFrame.SetStatusText( text );
|
sMainFrame.SetStatusText( text );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -123,7 +123,7 @@ wxConfigBase* Pcsx2App::TestForPortableInstall()
|
||||||
if (Startup.PortableMode)
|
if (Startup.PortableMode)
|
||||||
Console.WriteLn( L"(UserMode) Portable mode requested via commandline switch!" );
|
Console.WriteLn( L"(UserMode) Portable mode requested via commandline switch!" );
|
||||||
else
|
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
|
// 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
|
// mode. In order to determine our read/write permissions to the PCSX2, we must try to
|
||||||
|
|
|
@ -115,7 +115,7 @@ bool Dialogs::CreateMemoryCardDialog::CreateIt( const wxString& mcdFile, uint si
|
||||||
u8 m_effeffs[528*16];
|
u8 m_effeffs[528*16];
|
||||||
memset8<0xff>( m_effeffs );
|
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" );
|
wxFFile fp( mcdFile, L"wb" );
|
||||||
if( !fp.IsOpened() ) return false;
|
if( !fp.IsOpened() ) return false;
|
||||||
|
|
|
@ -71,7 +71,7 @@ Panels::FirstTimeIntroPanel::FirstTimeIntroPanel( wxWindow* parent )
|
||||||
|
|
||||||
FastFormatUnicode faqFile;
|
FastFormatUnicode faqFile;
|
||||||
faqFile.Write( L"file:///%s/Docs/PCSX2_FAQ.pdf",
|
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") );
|
wxStaticBoxSizer& langSel = *new wxStaticBoxSizer( wxVERTICAL, this, _("Language selector") );
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ Dialogs::ImportSettingsDialog::ImportSettingsDialog( wxWindow* parent )
|
||||||
|
|
||||||
/// (%s is the app name, normally PCSX2 -- omitting one or both %s is allowed)
|
/// (%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)"
|
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 );
|
wxBoxSizer& s_buttons = *new wxBoxSizer( wxHORIZONTAL );
|
||||||
|
|
|
@ -23,13 +23,13 @@ using namespace pxSizerFlags;
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
|
|
||||||
bool ConsoleLogSource_Event::Write( const pxEvtQueue* evtHandler, const SysExecEvent* evt, const wxChar* msg ) {
|
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 ) {
|
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 ) {
|
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()
|
ConsoleLogSource_Event::ConsoleLogSource_Event()
|
||||||
|
@ -84,7 +84,7 @@ void SysExecEvent::SetException( BaseException* ex )
|
||||||
{
|
{
|
||||||
if( !ex ) return;
|
if( !ex ) return;
|
||||||
|
|
||||||
ex->DiagMsg() += pxsFmt(L"(%s) ", GetEventName().c_str());
|
ex->DiagMsg() += pxsFmt(L"(%s) ", WX_STR(GetEventName()));
|
||||||
//ex->UserMsg() = prefix + ex->UserMsg();
|
//ex->UserMsg() = prefix + ex->UserMsg();
|
||||||
|
|
||||||
if( m_sync )
|
if( m_sync )
|
||||||
|
|
|
@ -568,7 +568,7 @@ void GSFrame::OnUpdateTitle( wxTimerEvent& evt )
|
||||||
const u64& smode2 = *(u64*)PS2GS_BASE(GS_SMODE2);
|
const u64& smode2 = *(u64*)PS2GS_BASE(GS_SMODE2);
|
||||||
|
|
||||||
SetTitle( pxsFmt( L"%s | %s (%s) | Limiter: %s | fps: %6.02f%s | State %d",
|
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 & 1) ? L"Interlaced" : L"Progressive",
|
||||||
(smode2 & 2) ? L"frame" : L"field",
|
(smode2 & 2) ? L"frame" : L"field",
|
||||||
limiterStr, fps, cpuUsage.c_str(), States_GetCurrentSlot() )
|
limiterStr, fps, cpuUsage.c_str(), States_GetCurrentSlot() )
|
||||||
|
|
|
@ -185,7 +185,7 @@ namespace Implementations
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLn(L"(GSwindow) Aspect ratio: %s.", arts.c_str());
|
Console.WriteLn(L"(GSwindow) Aspect ratio: %s.", WX_STR(arts));
|
||||||
UpdateImagePosition();
|
UpdateImagePosition();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,7 +335,7 @@ namespace Implementations
|
||||||
if( !!part2 )
|
if( !!part2 )
|
||||||
name += L"_" + 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 );
|
Text = Path::Combine( g_Conf->Folders.Savestates, gsText );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -538,7 +538,7 @@ void AcceleratorDictionary::Map( const KeyAcceleratorCode& _acode, const char *s
|
||||||
//ini file contains alternative parsable key combination for current 'searchfor'.
|
//ini file contains alternative parsable key combination for current 'searchfor'.
|
||||||
acode = codeParser;
|
acode = codeParser;
|
||||||
Console.WriteLn(Color_StrongGreen, L"Overriding '%s': assigning %s (instead of %s)",
|
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
|
// End of overrides section
|
||||||
|
@ -554,7 +554,7 @@ void AcceleratorDictionary::Map( const KeyAcceleratorCode& _acode, const char *s
|
||||||
Console.Warning(
|
Console.Warning(
|
||||||
L"Kbd Accelerator '%s' is mapped multiple times.\n"
|
L"Kbd Accelerator '%s' is mapped multiple times.\n"
|
||||||
L"\t'Command %s' is being replaced by '%s'",
|
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 )
|
if( result == NULL )
|
||||||
{
|
{
|
||||||
Console.Warning( L"Kbd Accelerator '%s' is mapped to unknown command '%s'",
|
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
|
else
|
||||||
|
|
|
@ -105,7 +105,7 @@ void MainEmuFrame::Menu_ResetAllSettings_Click(wxCommandEvent &event)
|
||||||
ScopedCoreThreadPopup suspender;
|
ScopedCoreThreadPopup suspender;
|
||||||
if( !Msgbox::OkCancel( pxsFmt(
|
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)"
|
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?") ) )
|
_("Reset all settings?") ) )
|
||||||
{
|
{
|
||||||
suspender.AllowResume();
|
suspender.AllowResume();
|
||||||
|
@ -255,10 +255,10 @@ bool MainEmuFrame::_DoSelectIsoBrowser( wxString& result )
|
||||||
|
|
||||||
wxArrayString isoFilterTypes;
|
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(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(isoSupportedList);
|
||||||
|
|
||||||
isoFilterTypes.Add(pxsFmt(_("Blockdumps (%s)"), L".dump" ));
|
isoFilterTypes.Add(pxsFmt(_("Blockdumps (%s)"), L".dump" ));
|
||||||
|
|
|
@ -594,7 +594,7 @@ void Panels::MemoryCardListPanel_Simple::Apply()
|
||||||
if( g_Conf->Mcd[slot].Enabled )
|
if( g_Conf->Mcd[slot].Enabled )
|
||||||
{
|
{
|
||||||
used++;
|
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 )
|
if( !used )
|
||||||
|
@ -619,13 +619,13 @@ void Panels::MemoryCardListPanel_Simple::AppStatusEvent_OnSettingsApplied()
|
||||||
if (isValidNewFilename(m_Cards[slot].Filename.GetFullName(), GetMcdPath(), errMsg, 5))
|
if (isValidNewFilename(m_Cards[slot].Filename.GetFullName(), GetMcdPath(), errMsg, 5))
|
||||||
{
|
{
|
||||||
if ( !Dialogs::CreateMemoryCardDialog::CreateIt(targetFile, 8) )
|
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
|
else
|
||||||
Console.WriteLn( L"memcard created: '%s'.", targetFile.c_str() );
|
Console.WriteLn( L"memcard created: '%s'.", WX_STR(targetFile) );
|
||||||
}
|
}
|
||||||
else
|
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.Filename = dialog.result_createdMcdFilename;
|
||||||
card.IsPresent = true;
|
card.IsPresent = true;
|
||||||
if ( card.Slot >= 0)
|
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
|
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
|
else
|
||||||
card.IsEnabled=false;
|
card.IsEnabled=false;
|
||||||
|
@ -733,7 +733,7 @@ void Panels::MemoryCardListPanel_Simple::UiDeleteCard( McdSlotItem& card )
|
||||||
wxString content;
|
wxString content;
|
||||||
content.Printf(
|
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?"
|
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?") );
|
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 ) )
|
if( !isValidNewFilename( newFilename, basepath, errMsg, 5 ) )
|
||||||
{
|
{
|
||||||
wxString message;
|
wxString message;
|
||||||
message.Printf(_("Failed: %s"), errMsg.c_str());
|
message.Printf(_("Failed: %s"), WX_STR(errMsg));
|
||||||
Msgbox::Alert( message, _("Duplicate memory card") );
|
Msgbox::Alert( message, _("Duplicate memory card") );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -811,7 +811,7 @@ bool Panels::MemoryCardListPanel_Simple::UiDuplicateCard(McdSlotItem& src, McdSl
|
||||||
{
|
{
|
||||||
wxString heading;
|
wxString heading;
|
||||||
heading.Printf( pxE( L"Failed: Destination memory card '%s' is in use." ),
|
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;
|
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
|
// Destination memcard isEnabled state is the same now as the source's
|
||||||
wxString success;
|
wxString success;
|
||||||
success.Printf(_("Memory card '%s' duplicated to '%s'."),
|
success.Printf(_("Memory card '%s' duplicated to '%s'."),
|
||||||
src.Filename.GetFullName().c_str(),
|
WX_STR(src.Filename.GetFullName()),
|
||||||
dest.Filename.GetFullName().c_str()
|
WX_STR(dest.Filename.GetFullName())
|
||||||
);
|
);
|
||||||
Msgbox::Alert(success, _("Success"));
|
Msgbox::Alert(success, _("Success"));
|
||||||
dest.IsPresent=true;
|
dest.IsPresent=true;
|
||||||
|
@ -850,7 +850,7 @@ void Panels::MemoryCardListPanel_Simple::UiRenameCard( McdSlotItem& card )
|
||||||
while (1){
|
while (1){
|
||||||
wxString title;
|
wxString title;
|
||||||
title.Printf(_("Select a new name for the memory card '%s'\n( '.ps2' will be added automatically)"),
|
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"));
|
newFilename = wxGetTextFromUser(title, _("Rename memory card"));
|
||||||
if( newFilename==L"" )
|
if( newFilename==L"" )
|
||||||
|
@ -863,7 +863,7 @@ void Panels::MemoryCardListPanel_Simple::UiRenameCard( McdSlotItem& card )
|
||||||
if( !isValidNewFilename( newFilename, basepath, errMsg, 5 ) )
|
if( !isValidNewFilename( newFilename, basepath, errMsg, 5 ) )
|
||||||
{
|
{
|
||||||
wxString message;
|
wxString message;
|
||||||
message.Printf(_("Error (%s)"), errMsg.c_str());
|
message.Printf(_("Error (%s)"), WX_STR(errMsg));
|
||||||
Msgbox::Alert( message, _("Rename memory card") );
|
Msgbox::Alert( message, _("Rename memory card") );
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1002,7 +1002,7 @@ void Panels::MemoryCardListPanel_Simple::UiAssignUnassignFile(McdSlotItem &card)
|
||||||
selections.Add(sel);
|
selections.Add(sel);
|
||||||
}
|
}
|
||||||
wxString title;
|
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);
|
int res=wxGetSingleChoiceIndex(title, _("Insert card"), selections, this);
|
||||||
if( res<0 )
|
if( res<0 )
|
||||||
return;
|
return;
|
||||||
|
@ -1108,10 +1108,10 @@ void Panels::MemoryCardListPanel_Simple::ReadFilesAtMcdFolder(){
|
||||||
currentCardFile.Slot = -1;
|
currentCardFile.Slot = -1;
|
||||||
currentCardFile.IsEnabled = false;
|
currentCardFile.IsEnabled = false;
|
||||||
m_allFilesystemCards.push_back(currentCardFile);
|
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
|
/*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]) );*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -120,7 +120,7 @@ public:
|
||||||
if ( ((version >> 16)&0xff) == tbl_PluginInfo[pluginTypeIndex].version )
|
if ( ((version >> 16)&0xff) == tbl_PluginInfo[pluginTypeIndex].version )
|
||||||
return true;
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -450,7 +450,7 @@ void Panels::PluginSelectorPanel::AppStatusEvent_OnSettingsApplied()
|
||||||
static wxString GetApplyFailedMsg()
|
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."
|
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()
|
void Panels::PluginSelectorPanel::Apply()
|
||||||
|
@ -469,8 +469,8 @@ void Panels::PluginSelectorPanel::Apply()
|
||||||
wxString plugname( pi->GetShortname() );
|
wxString plugname( pi->GetShortname() );
|
||||||
|
|
||||||
throw Exception::CannotApplySettings( this )
|
throw Exception::CannotApplySettings( this )
|
||||||
.SetDiagMsg(pxsFmt( L"PluginSelectorPanel: Invalid or missing selection for the %s plugin.", plugname.c_str()) )
|
.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."), plugname.c_str() ) + L"\n\n" + GetApplyFailedMsg() );
|
.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));
|
g_Conf->BaseFilenames.Plugins[pid] = GetFilename((int)m_ComponentBoxes->Get(pid).GetClientData(sel));
|
||||||
|
@ -509,7 +509,7 @@ void Panels::PluginSelectorPanel::Apply()
|
||||||
.SetDiagMsg(ex.FormatDiagnosticMessage())
|
.SetDiagMsg(ex.FormatDiagnosticMessage())
|
||||||
.SetUserMsg(pxsFmt(
|
.SetUserMsg(pxsFmt(
|
||||||
_("The selected %s plugin failed to load.\n\nReason: %s\n\n"),
|
_("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());
|
) + GetApplyFailedMsg());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -737,7 +737,7 @@ void Panels::PluginSelectorPanel::OnProgress( wxCommandEvent& evt )
|
||||||
if( result.PassedTest & pi->typemask )
|
if( result.PassedTest & pi->typemask )
|
||||||
{
|
{
|
||||||
int sel = m_ComponentBoxes->Get(pid).Append( wxsFormat( L"%s %s [%s]",
|
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
|
(void*)evtidx
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -159,7 +159,7 @@ void Panels::FramelimiterPanel::Apply()
|
||||||
throw Exception::CannotApplySettings( this )
|
throw Exception::CannotApplySettings( this )
|
||||||
.SetDiagMsg(pxsFmt(
|
.SetDiagMsg(pxsFmt(
|
||||||
L"Error while parsing either NTSC or PAL framerate settings.\n\tNTSC Input = %s\n\tPAL Input = %s",
|
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."));
|
.SetUserMsg(_t("Error while parsing either NTSC or PAL framerate settings. Settings must be valid floating point numerics."));
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,7 +97,7 @@ void MemorySavestateEntry::FreezeIn( pxInputStream& reader ) const
|
||||||
if (entrySize < expectedSize)
|
if (entrySize < expectedSize)
|
||||||
{
|
{
|
||||||
Console.WriteLn( Color_Yellow, " '%s' is incomplete (expected 0x%x bytes, loading only 0x%x bytes)",
|
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);
|
uint copylen = std::min(entrySize, expectedSize);
|
||||||
|
@ -564,7 +564,7 @@ protected:
|
||||||
{
|
{
|
||||||
if (entry->GetName().CmpNoCase(SavestateEntries[i]->GetFilename()) == 0)
|
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();
|
foundEntry[i] = entry.DetachPtr();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -588,7 +588,7 @@ protected:
|
||||||
if (SavestateEntries[i]->IsRequired())
|
if (SavestateEntries[i]->IsRequired())
|
||||||
{
|
{
|
||||||
throwIt = true;
|
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.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 );
|
StateCopy_SaveToFile( file );
|
||||||
}
|
}
|
||||||
|
@ -680,8 +680,8 @@ void StateCopy_LoadFromSlot( uint slot, bool isFromBackup )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLn( Color_StrongGreen, L"Loading savestate from slot %d...%s", slot, wxString( isFromBackup?L" (backup)":L"" ).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", file.c_str() );
|
Console.Indent().WriteLn( Color_StrongGreen, L"filename: %s", WX_STR(file) );
|
||||||
|
|
||||||
StateCopy_LoadFromFile( file );
|
StateCopy_LoadFromFile( file );
|
||||||
}
|
}
|
||||||
|
|
|
@ -301,7 +301,7 @@ bool i18n_SetLanguage( wxLanguage wxLangId, const wxString& langCode )
|
||||||
{
|
{
|
||||||
info = wxLocale::FindLanguageInfo(langCode);
|
info = wxLocale::FindLanguageInfo(langCode);
|
||||||
if (!info)
|
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() )
|
if( !locale->IsOk() )
|
||||||
{
|
{
|
||||||
Console.Warning( L"SetLanguage: '%s' [%s] is not supported by the operating system",
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -334,7 +334,7 @@ bool i18n_SetLanguage( wxLanguage wxLangId, const wxString& langCode )
|
||||||
}
|
}
|
||||||
|
|
||||||
Console.WriteLn( L"Loading language translation databases for '%s' [%s]",
|
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[] =
|
static const wxChar* dictFiles[] =
|
||||||
|
|
|
@ -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)
|
// Try first a basic extension concatenation (normally results in something like name.bin.rom1)
|
||||||
const wxString Bios( g_Conf->FullpathToBios() );
|
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
|
try
|
||||||
{
|
{
|
||||||
|
@ -216,7 +216,7 @@ static void LoadExtraRom( const wxChar* ext, u8 (&dest)[_size] )
|
||||||
// still work fine.
|
// still work fine.
|
||||||
|
|
||||||
Console.Warning(L"BIOS Warning: %s could not be read (permission denied?)", ext);
|
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);
|
Console.Indent().WriteLn(L"File size: %llu", filesize);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -263,7 +263,7 @@ void LoadBIOS()
|
||||||
LoadBiosVersion( memfp, BiosVersion, BiosDescription, biosZone );
|
LoadBiosVersion( memfp, BiosVersion, BiosDescription, biosZone );
|
||||||
|
|
||||||
Console.SetTitle( pxsFmt( L"Running BIOS (%s v%u.%u)",
|
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
|
//injectIRX("host.irx"); //not fully tested; still buggy
|
||||||
|
|
Loading…
Reference in New Issue