mirror of
https://github.com/PCSX2/pcsx2.git
synced 2026-09-20 03:27:16 +02:00
* Fixed and added better Emulation/System menu updating. Suspend/Resume is more consistent, and Reset grays itself out after being used. * Entering plugin configurations auto-suspends the emulator. * Changing plugins in the Configuration PAnel takes effect now without a restart. * Added preliminary support for an ExtensibleConfirmation Dialog box (contains a sizer you can add content to, and also has an optional "[x] Do not show this again" checkbox). Bugfixes: * Added some mutex protection to cdvdNewDiskCB; "just in case." * Resolved several recursion and deadlock scenarios when (very!) rapidly suspending, resuming, and resetting the emu. Developments / Code Cleanups: * Renamed SysCoreThread ExecutionModes: Suspend/Resume are now Opened/Closed (which more accurately reflects the fact they opena nd close the plugins, and helps avoid ambiguity with the "Paused" state). * Added Exception::ThreadTimedOut, which is now thrown from Semaphore::Wait when recursive wxApp::Yield() calls are detected, and a deadlock occurs (basically cancels the current action which, most of the time, allows for full recovery). * Major Threading namespace cleanups, documentations, etc. * Removed wxScopedArray (scopedarray.h) and replaced it with a better implemeneted ScopedArray class. * Removed toUTF8 class, which I only added a couple weeks ago because I didn't realize wxCharBuffer had an implicit typecast to (char*). * Implemented more Source/Listener events for Pcsx2App. CoreThread events are sourced properly now, and added SettingsApplied and SettingsLoadSave Sources. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2010 96395faa-99c1-11dd-bbfe-3dabce05a288
63 lines
2.7 KiB
C++
63 lines
2.7 KiB
C++
/* PCSX2 - PS2 Emulator for PCs
|
|
* Copyright (C) 2002-2009 PCSX2 Dev Team
|
|
*
|
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
|
* ation, either version 3 of the License, or (at your option) any later version.
|
|
*
|
|
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
* PURPOSE. See the GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along with PCSX2.
|
|
* If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "Dependencies.h"
|
|
|
|
#include <wx/string.h>
|
|
#include <wx/tokenzr.h>
|
|
#include <wx/gdicmn.h> // for wxPoint/wxRect stuff
|
|
|
|
extern void px_fputs( FILE* fp, const char* src );
|
|
|
|
extern wxString fromUTF8( const char* src );
|
|
extern wxString fromAscii( const char* src );
|
|
|
|
// wxWidgets lacks one of its own...
|
|
extern const wxRect wxDefaultRect;
|
|
|
|
// This should prove useful....
|
|
#define wxsFormat wxString::Format
|
|
|
|
extern void SplitString( wxArrayString& dest, const wxString& src, const wxString& delims );
|
|
extern void JoinString( wxString& dest, const wxArrayString& src, const wxString& separator );
|
|
|
|
extern wxString ToString( const wxPoint& src, const wxString& separator=L"," );
|
|
extern wxString ToString( const wxSize& src, const wxString& separator=L"," );
|
|
extern wxString ToString( const wxRect& src, const wxString& separator=L"," );
|
|
|
|
extern bool TryParse( wxPoint& dest, const wxStringTokenizer& parts );
|
|
extern bool TryParse( wxSize& dest, const wxStringTokenizer& parts );
|
|
|
|
extern bool TryParse( wxPoint& dest, const wxString& src, const wxPoint& defval=wxDefaultPosition, const wxString& separators=L",");
|
|
extern bool TryParse( wxSize& dest, const wxString& src, const wxSize& defval=wxDefaultSize, const wxString& separators=L",");
|
|
extern bool TryParse( wxRect& dest, const wxString& src, const wxRect& defval=wxDefaultRect, const wxString& separators=L",");
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
// Custom internal sprintf functions, which are ASCII only (even in UNICODE builds)
|
|
//
|
|
// These functions are useful since they are ASCII always, even under Unicode. Typically
|
|
// even in a unicode app.
|
|
|
|
extern void ssprintf(std::string& dest, const char* fmt, ...);
|
|
extern void ssappendf(std::string& dest, const char* format, ...);
|
|
extern void vssprintf(std::string& dest, const char* format, va_list args);
|
|
extern void vssappendf(std::string& dest, const char* format, va_list args);
|
|
|
|
extern std::string fmt_string( const char* fmt, ... );
|
|
extern std::string vfmt_string( const char* fmt, va_list args );
|