mirror of https://github.com/PCSX2/pcsx2.git
Screwed up my last i18n commit -- forgot that gettext/poedit needs explicit text literals to work from, so my pxE_* macros won't work. This version should be better.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3132 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
62e0ab888e
commit
644d4cda7f
|
@ -238,7 +238,7 @@ public:
|
|||
// returns the translated error message for the Virtual Machine failing to allocate!
|
||||
static wxString GetMemoryErrorVM()
|
||||
{
|
||||
return pxE_Error( "EmuCore::MemoryForVM",
|
||||
return pxE( ".Error:EmuCore::MemoryForVM",
|
||||
L"PCSX2 is unable to allocate memory needed for the PS2 virtual machine. "
|
||||
L"Close out some memory hogging background tasks and try again."
|
||||
);
|
||||
|
|
|
@ -39,7 +39,7 @@ static void CpuCheckSSE2()
|
|||
|
||||
wxDialogWithHelpers exconf( NULL, _("PCSX2 - SSE2 Recommended"), wxVERTICAL );
|
||||
|
||||
exconf += exconf.Heading( pxE_Error( "Startup:NoSSE2",
|
||||
exconf += exconf.Heading( pxE( ".Popup:Startup:NoSSE2",
|
||||
L"Warning: Your computer does not support SSE2, which is required by many PCSX2 recompilers and plugins. "
|
||||
L"Your options will be limited and emulation will be *very* slow." )
|
||||
);
|
||||
|
@ -190,6 +190,8 @@ void Pcsx2App::ReadUserModeSettings()
|
|||
void Pcsx2App::DetectCpuAndUserMode()
|
||||
{
|
||||
cpudetectInit();
|
||||
//x86caps.Identify();
|
||||
//x86caps.SIMD_EstablishMXCSRmask();
|
||||
|
||||
if( !x86caps.hasMultimediaExtensions )
|
||||
{
|
||||
|
@ -255,7 +257,7 @@ void Pcsx2App::AllocateCoreStuffs()
|
|||
wxDialogWithHelpers exconf( NULL, _("PCSX2 Recompiler Error(s)"), wxVERTICAL );
|
||||
|
||||
exconf += 12;
|
||||
exconf += exconf.Heading( pxE_Error( "RecompilerInit",
|
||||
exconf += exconf.Heading( pxE( ".Popup:RecompilerInit",
|
||||
L"Warning: Some of the configured PS2 recompilers failed to initialize and will not be available for this session:\n" )
|
||||
);
|
||||
|
||||
|
|
|
@ -363,7 +363,7 @@ void Pcsx2App::OnEmuKeyDown( wxKeyEvent& evt )
|
|||
// are multiple variations on the BIOS and BIOS folder checks).
|
||||
wxString BIOS_GetMsg_Required()
|
||||
{
|
||||
return pxE_Popup( "BiosDumpRequired",
|
||||
return pxE( ".Popup:BiosDumpRequired",
|
||||
L"\n\n"
|
||||
L"PCSX2 requires a PS2 BIOS in order to run. For legal reasons, you *must* obtain \n"
|
||||
L"a BIOS from an actual PS2 unit that you own (borrowing doesn't count).\n"
|
||||
|
|
|
@ -45,7 +45,7 @@ bool ApplicableWizardPage::PrepForApply()
|
|||
Panels::SettingsDirPickerPanel::SettingsDirPickerPanel( wxWindow* parent ) :
|
||||
DirPickerPanel( parent, FolderId_Settings, _("Settings"), _("Select a folder for PCSX2 settings") )
|
||||
{
|
||||
pxSetToolTip( this, pxE_Tooltip( "Folders:Settings",
|
||||
pxSetToolTip( this, pxE( ".Tooltip:Folders:Settings",
|
||||
L"This is the folder where PCSX2 saves your settings, including settings generated "
|
||||
L"by most plugins (some older plugins may not respect this value)."
|
||||
) );
|
||||
|
@ -53,7 +53,7 @@ Panels::SettingsDirPickerPanel::SettingsDirPickerPanel( wxWindow* parent ) :
|
|||
// Insert this into the top of the staticboxsizer created by the constructor.
|
||||
GetSizer()->Insert( 0,
|
||||
new wxStaticText( this, wxID_ANY,
|
||||
pxE_Panel( "SettingsDirPicker",
|
||||
pxE( ".Panel:SettingsDirPicker",
|
||||
L"You may optionally specify a location for your PCSX2 settings here. If the location \n"
|
||||
L"contains existing PCSX2 settings, you will be given the option to import or overwrite them."
|
||||
), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE
|
||||
|
@ -111,7 +111,7 @@ bool FirstTimeWizard::UsermodePage::PrepForApply()
|
|||
// FIXME: There's already a file by the same name.. not sure what we should do here.
|
||||
throw Exception::BadStream( path.ToString(),
|
||||
L"Targeted documents folder is already occupied by a file.",
|
||||
pxE_Error( "DocsFolderFileConflict",
|
||||
pxE( ".Error:DocsFolderFileConflict",
|
||||
L"PCSX2 cannot create a documents folder in the requested location. "
|
||||
L"The path name matches an existing file. Delete the file or change the documents location, "
|
||||
L"and then try again."
|
||||
|
@ -155,7 +155,7 @@ FirstTimeWizard::FirstTimeWizard( wxWindow* parent )
|
|||
// Temporary tutorial message for the BIOS, needs proof-reading!!
|
||||
m_page_bios += 12;
|
||||
m_page_bios += new pxStaticHeading( &m_page_bios,
|
||||
pxE_Wizard( "Bios:Tutorial",
|
||||
pxE( ".Wizard:Bios:Tutorial",
|
||||
L"PCSX2 requires a *legal* copy of the PS2 BIOS in order to run games.\n"
|
||||
L"You cannot use a copy obtained from a friend or the Internet.\n"
|
||||
L"You must dump the BIOS from your *own* Playstation 2 console."
|
||||
|
|
|
@ -25,7 +25,7 @@ Dialogs::ImportSettingsDialog::ImportSettingsDialog( wxWindow* parent )
|
|||
{
|
||||
m_idealWidth = 440;
|
||||
|
||||
pxStaticText* heading = new pxStaticHeading( this, pxE_Popup( "ImportExistingSettings",
|
||||
pxStaticText* heading = new pxStaticHeading( this, pxE( ".Popup:ImportExistingSettings",
|
||||
L"Existing PCSX2 settings have been found in the configured settings folder. "
|
||||
L"Would you like to import these settings or overwrite them with PCSX2 default values?"
|
||||
L"\n\n(or press Cancel to select a different settings folder)" )
|
||||
|
|
|
@ -38,7 +38,7 @@ namespace Panels
|
|||
|
||||
wxString GetMsg_McdNtfsCompress()
|
||||
{
|
||||
return pxE_Panel( "Mcd:NtfsCompress",
|
||||
return pxE( ".Panel:Mcd:NtfsCompress",
|
||||
L"NTFS compression is built-in, fast, and completely reliable; and typically compresses memory cards "
|
||||
L"very well (this option is highly recommended)."
|
||||
);
|
||||
|
@ -51,7 +51,7 @@ Panels::McdConfigPanel_Toggles::McdConfigPanel_Toggles(wxWindow *parent)
|
|||
|
||||
m_check_Ejection = new pxCheckBox( this,
|
||||
_("Auto-eject memory cards when loading savestates"),
|
||||
pxE_Panel( "Mcd:EnableEjection",
|
||||
pxE( ".Panel:Mcd:EnableEjection",
|
||||
L"Avoids memory card corruption by forcing games to re-index card contents after "
|
||||
L"loading from savestates. May not be compatible with all games (Guitar Hero)."
|
||||
)
|
||||
|
@ -173,7 +173,7 @@ Dialogs::McdConfigDialog::McdConfigDialog( wxWindow* parent )
|
|||
//AddPage<McdConfigPanel_Toggles> ( wxLt("Settings"), cfgid.MemoryCard );
|
||||
//AddPage<McdConfigPanel_Standard> ( wxLt("Slots 1/2"), cfgid.MemoryCard );
|
||||
|
||||
*this += Heading(_("Drag items in the list over other items to swap or copy memory cards."));
|
||||
*this += Heading(_("Drag items over other items in the list to swap or copy memory cards."));
|
||||
*this += StdPadding;
|
||||
|
||||
*this += m_panel_mcdlist | StdExpand();
|
||||
|
|
|
@ -32,7 +32,7 @@ Dialogs::StuckThreadDialog::StuckThreadDialog( wxWindow* parent, StuckThreadActi
|
|||
stuck_thread.AddListener( this );
|
||||
|
||||
*this += Heading( wxsFormat(
|
||||
pxE_Panel( "StuckThread:Heading",
|
||||
pxE( ".Panel:StuckThread:Heading",
|
||||
L"The thread '%s' is not responding. It could be deadlocked, or it might "
|
||||
L"just be running *really* slowly."
|
||||
),
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
wxString GetMsg_ConfirmSysReset()
|
||||
{
|
||||
return pxE_Popup( "ConfirmSysReset",
|
||||
return pxE( ".Popup:ConfirmSysReset",
|
||||
L"This action will reset the existing PS2 virtual machine state; "
|
||||
L"all current progress will be lost. Are you sure?"
|
||||
);
|
||||
|
|
|
@ -100,7 +100,7 @@ void MainEmuFrame::Menu_ResetAllSettings_Click(wxCommandEvent &event)
|
|||
{
|
||||
ScopedCoreThreadPopup suspender;
|
||||
if( !Msgbox::OkCancel(
|
||||
pxE_Popup( "DeleteSettings",
|
||||
pxE( ".Popup:DeleteSettings",
|
||||
L"This command clears PCSX2 settings and allows you to re-run the First-Time Wizard. You will need to "
|
||||
L"manually restart PCSX2 after this operation.\n\n"
|
||||
L"WARNING!! Click OK to delete *ALL* settings for PCSX2 and force PCSX2 to shudown, losing any current emulation progress. Are you absolutely sure?"
|
||||
|
|
|
@ -74,7 +74,7 @@ protected:
|
|||
|
||||
wxString GetDisabledMessage( uint slot ) const
|
||||
{
|
||||
return pxE_Popup( "Mcd:HasBeenDisabled", wxsFormat(
|
||||
return pxE( ".Popup:Mcd:HasBeenDisabled", wxsFormat(
|
||||
L"The memory card in slot %d has been automatically disabled. You can correct the problem\n"
|
||||
L"and re-enable the memory card at any time using Config:Memory cards from the main menu.",
|
||||
slot
|
||||
|
|
|
@ -126,7 +126,7 @@ void Panels::BiosSelectorPanel::Apply()
|
|||
L"User did not specify a valid BIOS selection.",
|
||||
|
||||
// Translated
|
||||
pxE_Error( "BIOS:InvalidSelection",
|
||||
pxE( ".Error:BIOS:InvalidSelection",
|
||||
L"Please select a valid BIOS. If you are unable to make a valid selection "
|
||||
L"then press cancel to close the Configuration panel."
|
||||
)
|
||||
|
|
|
@ -60,7 +60,7 @@ void Panels::DirPickerPanel::Explore_Click( wxCommandEvent &evt )
|
|||
|
||||
createPathDlg += createPathDlg.Text( path ) | StdCenter();
|
||||
|
||||
createPathDlg += createPathDlg.Heading( pxE_Error( "DirPicker:CreatePath",
|
||||
createPathDlg += createPathDlg.Heading( pxE( ".Error:DirPicker:CreatePath",
|
||||
L"The specified path/directory does not exist. Would you like to create it?" )
|
||||
);
|
||||
|
||||
|
@ -115,7 +115,7 @@ void Panels::DirPickerPanel::Init( FoldersEnum_t folderid, const wxString& dialo
|
|||
{
|
||||
m_checkCtrl = new pxCheckBox( this, _("Use default setting") );
|
||||
|
||||
pxSetToolTip( m_checkCtrl, pxE_Tooltip( "DirPicker:UseDefault",
|
||||
pxSetToolTip( m_checkCtrl, pxE( ".Tooltip:DirPicker:UseDefault",
|
||||
L"When checked this folder will automatically reflect the default associated with PCSX2's current usermode setting. " )
|
||||
);
|
||||
|
||||
|
|
|
@ -48,28 +48,28 @@ Panels::GSWindowSettingsPanel::GSWindowSettingsPanel( wxWindow* parent )
|
|||
m_check_VsyncEnable = new pxCheckBox( this, _("Wait for vsync on refresh") );
|
||||
m_check_ExclusiveFS = new pxCheckBox( this, _("Use exclusive fullscreen mode (if available)") );
|
||||
|
||||
m_check_VsyncEnable->SetToolTip( pxE_Tooltip( "Window:Vsync",
|
||||
m_check_VsyncEnable->SetToolTip( pxE( ".Tooltip:Window:Vsync",
|
||||
L"Vsync eliminates screen tearing but typically has a big performance hit. "
|
||||
L"It usually only applies to fullscreen mode, and may not work with all GS plugins."
|
||||
) );
|
||||
|
||||
m_check_HideMouse->SetToolTip( pxE_Tooltip( "Window:HideMouse",
|
||||
m_check_HideMouse->SetToolTip( pxE( ".Tooltip:Window:HideMouse",
|
||||
L"Check this to force the mouse cursor invisible inside the GS window; useful if using "
|
||||
L"the mouse as a primary control device for gaming. By default the mouse auto-hides after "
|
||||
L"2 seconds of inactivity."
|
||||
) );
|
||||
|
||||
m_check_Fullscreen->SetToolTip( pxE_Tooltip( "Window:Fullscreen",
|
||||
m_check_Fullscreen->SetToolTip( pxE( ".Tooltip:Window:Fullscreen",
|
||||
L"Enables automatic mode switch to fullscreen when starting or resuming emulation. "
|
||||
L"You can still toggle fullscreen display at any time using alt-enter."
|
||||
) );
|
||||
|
||||
m_check_ExclusiveFS->SetToolTip( pxE_Tooltip( "Window:FullscreenExclusive",
|
||||
m_check_ExclusiveFS->SetToolTip( pxE( ".Tooltip:Window:FullscreenExclusive",
|
||||
L"Fullscreen Exclusive Mode may look better on older CRTs and might be a little faster on older video cards, "
|
||||
L"but typically can lead to memory leaks or random crashes when entering/leaving fullscreen mode."
|
||||
) );
|
||||
|
||||
m_check_CloseGS->SetToolTip( pxE_Tooltip( "Window:HideGS",
|
||||
m_check_CloseGS->SetToolTip( pxE( ".Tooltip:Window:HideGS",
|
||||
L"Completely closes the often large and bulky GS window when pressing "
|
||||
L"ESC or suspending the emulator."
|
||||
) );
|
||||
|
|
|
@ -66,7 +66,7 @@ Panels::GameFixesPanel::GameFixesPanel( wxWindow* parent ) :
|
|||
},
|
||||
{
|
||||
_("EE timing hack - Multi purpose hack. Try if all else fails."),
|
||||
pxE_Tooltip( "Gamefixes:EE Timing Hack",
|
||||
pxE( ".Tooltip:Gamefixes:EE Timing Hack",
|
||||
L"Known to affect following games:\n"
|
||||
L" * Digital Devil Saga (Fixes FMV and crashes)\n"
|
||||
L" * SSX (Fixes bad graphics and crashes)\n"
|
||||
|
@ -93,7 +93,7 @@ Panels::GameFixesPanel::GameFixesPanel( wxWindow* parent ) :
|
|||
*this += groupSizer | pxCenter;
|
||||
|
||||
*this += m_check_Enable | StdExpand();
|
||||
*this += Heading( pxE_Panel( "Gamefixes:Compat Warning",
|
||||
*this += Heading( pxE( ".Panel:Gamefixes:Compat Warning",
|
||||
L"Enabling game fixes can cause compatibility or performance issues in other games. You "
|
||||
L"will need to turn off fixes manually when changing games."
|
||||
));
|
||||
|
|
|
@ -340,7 +340,7 @@ public:
|
|||
|
||||
if( dest.IsPresent && dest.IsFormatted )
|
||||
{
|
||||
wxsFormat( pxE_Popup( "Mcd:Overwrite",
|
||||
wxsFormat( pxE( ".Popup:Mcd:Overwrite",
|
||||
L"This will copy the contents of the memory card in slot %u over the memory card in slot %u. "
|
||||
L"All data on the target slot will be lost. Are you sure?" ),
|
||||
src.Slot, dest.Slot
|
||||
|
@ -354,7 +354,7 @@ public:
|
|||
if( !wxCopyFile( srcfile.GetFullPath(), destfile.GetFullPath(), true ) )
|
||||
{
|
||||
wxString heading;
|
||||
heading.Printf( pxE_Error( "Mcd:Copy Failed",
|
||||
heading.Printf( pxE( ".Error:Mcd:Copy Failed",
|
||||
L"Error! Could not copy the memory card into slot %u. The destination file is in use." ),
|
||||
dest.Slot
|
||||
);
|
||||
|
@ -558,7 +558,7 @@ void Panels::MemoryCardListPanel_Simple::OnCreateCard(wxCommandEvent& evt)
|
|||
{
|
||||
wxString content;
|
||||
content.Printf(wxsFormat(
|
||||
pxE_Popup("Mcd:Delete",
|
||||
pxE( ".Popup:Mcd:Delete",
|
||||
L"You are about to delete the formatted memory card in slot %u. "
|
||||
L"All data on this card will be lost! Are you absolutely and quite positively sure?"
|
||||
), slot )
|
||||
|
|
|
@ -32,13 +32,13 @@ using namespace pxSizerFlags;
|
|||
Panels::DocsFolderPickerPanel::DocsFolderPickerPanel( wxWindow* parent, bool isFirstTime )
|
||||
: BaseApplicableConfigPanel( parent, wxVERTICAL, _("Usermode Selection") )
|
||||
{
|
||||
const wxString usermodeExplained( pxE_Panel( "Usermode:Explained",
|
||||
const wxString usermodeExplained( pxE( ".Panel:Usermode:Explained",
|
||||
L"Please select your preferred default location for PCSX2 user-level documents below "
|
||||
L"(includes memory cards, screenshots, settings, and savestates). "
|
||||
L"These folder locations can be overridden at any time using the Core Settings panel."
|
||||
) );
|
||||
|
||||
const wxString usermodeWarning( pxE_Panel( "Usermode:Warning",
|
||||
const wxString usermodeWarning( pxE( ".Panel:Usermode:Warning",
|
||||
L"You can change the preferred default location for PCSX2 user-level documents here "
|
||||
L"(includes memory cards, screenshots, settings, and savestates). "
|
||||
L"This option only affects Standard Paths which are set to use the installation default value."
|
||||
|
|
|
@ -36,7 +36,7 @@ Panels::StandardPathsPanel::StandardPathsPanel( wxWindow* parent ) :
|
|||
*this += (new DirPickerPanel( this, FolderId_Savestates,
|
||||
_("Savestates:"),
|
||||
_("Select folder for Savestates") ))->
|
||||
SetToolTip( pxE_Tooltip( "Folders:Savestates",
|
||||
SetToolTip( pxE( ".Tooltip:Folders:Savestates",
|
||||
L"This folder is where PCSX2 records savestates; which are recorded either by using "
|
||||
L"menus/toolbars, or by pressing F1/F3 (load/save)."
|
||||
)
|
||||
|
@ -46,7 +46,7 @@ Panels::StandardPathsPanel::StandardPathsPanel( wxWindow* parent ) :
|
|||
*this += (new DirPickerPanel( this, FolderId_Snapshots,
|
||||
_("Snapshots:"),
|
||||
_("Select a folder for Snapshots") ))->
|
||||
SetToolTip( pxE_Tooltip( "Folders:Snapshots",
|
||||
SetToolTip( pxE( ".Tooltip:Folders:Snapshots",
|
||||
L"This folder is where PCSX2 saves screenshots. Actual screenshot image format and style "
|
||||
L"may vary depending on the GS plugin being used."
|
||||
)
|
||||
|
@ -56,7 +56,7 @@ Panels::StandardPathsPanel::StandardPathsPanel( wxWindow* parent ) :
|
|||
*this += (new DirPickerPanel( this, FolderId_Logs,
|
||||
_("Logs/Dumps:" ),
|
||||
_("Select a folder for logs/dumps") ))->
|
||||
SetToolTip( pxE_Tooltip( "Folders:Logs",
|
||||
SetToolTip( pxE( ".Tooltip:Folders:Logs",
|
||||
L"This folder is where PCSX2 saves its logfiles and diagnostic dumps. Most plugins will "
|
||||
L"also adhere to this folder, however some older plugins may ignore it."
|
||||
)
|
||||
|
|
|
@ -230,7 +230,7 @@ void ApplyOverValidStateEvent::InvokeEvent()
|
|||
{
|
||||
wxDialogWithHelpers dialog( m_owner, _("Shutdown PS2 virtual machine?"), wxVERTICAL );
|
||||
|
||||
dialog += dialog.Heading( pxE_Popup( "PluginSelector:ConfirmShutdown",
|
||||
dialog += dialog.Heading( pxE( ".Popup:PluginSelector:ConfirmShutdown",
|
||||
L"Warning! Changing plugins requires a complete shutdown and reset of the PS2 virtual machine. "
|
||||
L"PCSX2 will attempt to save and restore the state, but if the newly selected plugins are "
|
||||
L"incompatible the recovery may fail, and current progress will be lost."
|
||||
|
@ -446,7 +446,7 @@ void Panels::PluginSelectorPanel::AppStatusEvent_OnSettingsApplied()
|
|||
|
||||
static wxString GetApplyFailedMsg()
|
||||
{
|
||||
return pxE_Error( "PluginSelector:ApplyFailed",
|
||||
return pxE( ".Error:PluginSelector:ApplyFailed",
|
||||
L"All plugins must have valid selections for PCSX2 to run. If you are unable to make\n"
|
||||
L"a valid selection due to missing plugins or an incomplete install of PCSX2, then\n"
|
||||
L"press cancel to close the Configuration panel."
|
||||
|
|
|
@ -32,17 +32,17 @@ const wxChar* Panels::SpeedHacksPanel::GetEEcycleSliderMsg( int val )
|
|||
switch( val )
|
||||
{
|
||||
case 1:
|
||||
return pxE_Panel( "Speedhacks:EECycleX1",
|
||||
return pxE( ".Panel:Speedhacks:EECycleX1",
|
||||
L"1 - Default cyclerate. This closely matches the actual speed of a real PS2 EmotionEngine."
|
||||
);
|
||||
|
||||
case 2:
|
||||
return pxE_Panel( "Speedhacks:EECycleX2",
|
||||
return pxE( ".Panel:Speedhacks:EECycleX2",
|
||||
L"2 - Reduces the EE's cyclerate by about 33%. Mild speedup for most games with high compatibility."
|
||||
);
|
||||
|
||||
case 3:
|
||||
return pxE_Panel( "Speedhacks:EECycleX3",
|
||||
return pxE( ".Panel:Speedhacks:EECycleX3",
|
||||
L"3 - Reduces the EE's cyclerate by about 50%. Moderate speedup, but *will* cause stuttering "
|
||||
L"audio on many FMVs."
|
||||
);
|
||||
|
@ -59,23 +59,23 @@ const wxChar* Panels::SpeedHacksPanel::GetVUcycleSliderMsg( int val )
|
|||
switch( val )
|
||||
{
|
||||
case 0:
|
||||
return pxE_Panel( "Speedhacks:VUCycleStealOff",
|
||||
return pxE( ".Panel:Speedhacks:VUCycleStealOff",
|
||||
L"0 - Disables VU Cycle Stealing. Most compatible setting!"
|
||||
);
|
||||
|
||||
case 1:
|
||||
return pxE_Panel( "Speedhacks:VUCycleSteal1",
|
||||
return pxE( ".Panel:Speedhacks:VUCycleSteal1",
|
||||
L"1 - Mild VU Cycle Stealing. Lower compatibility, but some speedup for most games."
|
||||
);
|
||||
|
||||
case 2:
|
||||
return pxE_Panel( "Speedhacks:VUCycleSteal2",
|
||||
return pxE( ".Panel:Speedhacks:VUCycleSteal2",
|
||||
L"2 - Moderate VU Cycle Stealing. Even lower compatibility, but significant speedups in some games."
|
||||
);
|
||||
|
||||
case 3:
|
||||
// TODO: Mention specific games that benefit from this setting here.
|
||||
return pxE_Panel( "Speedhacks:VUCycleSteal3",
|
||||
return pxE( ".Panel:Speedhacks:VUCycleSteal3",
|
||||
L"3 - Maximum VU Cycle Stealing. Usefulness is limited, as this will cause flickering "
|
||||
L"visuals or slowdown in most games."
|
||||
);
|
||||
|
@ -101,7 +101,7 @@ Panels::SpeedHacksPanel::SpeedHacksPanel( wxWindow* parent )
|
|||
{
|
||||
const wxSizerFlags sliderFlags( wxSizerFlags().Border( wxLEFT | wxRIGHT, 8 ).Expand() );
|
||||
|
||||
pxStaticText* heading = new pxStaticHeading( this, pxE_Panel( "Speedhacks:Overview",
|
||||
pxStaticText* heading = new pxStaticHeading( this, pxE( ".Panel:Speedhacks:Overview",
|
||||
L"These hacks will usually improve the speed of PCSX2 emulation, but compromise compatibility. "
|
||||
L"If you have issues, always try disabling these hacks first."
|
||||
) );
|
||||
|
@ -134,7 +134,7 @@ Panels::SpeedHacksPanel::SpeedHacksPanel( wxWindow* parent )
|
|||
m_msg_eecycle->SetForegroundColour( wxColour( L"Red" ) );
|
||||
m_msg_eecycle->SetMinSize( wxSize( wxDefaultCoord, pxGetTextHeight(m_msg_eecycle, 3) ) );
|
||||
|
||||
const wxChar* ee_tooltip = pxE_Tooltip( "Speedhacks:EECycleRate Slider",
|
||||
const wxChar* ee_tooltip = pxE( ".Tooltip:Speedhacks:EECycleRate Slider",
|
||||
L"Setting higher values on this slider effectively reduces the clock speed of the EmotionEngine's "
|
||||
L"R5900 core cpu, and typically brings big speedups to games that fail to utilize "
|
||||
L"the full potential of the real PS2 hardware."
|
||||
|
@ -155,7 +155,7 @@ Panels::SpeedHacksPanel::SpeedHacksPanel( wxWindow* parent )
|
|||
m_msg_vustealer->SetForegroundColour( wxColour( L"Red" ) );
|
||||
m_msg_vustealer->SetMinSize( wxSize( wxDefaultCoord, pxGetTextHeight(m_msg_vustealer, 3) ) );
|
||||
|
||||
const wxChar* vu_tooltip = pxE_Tooltip( "Speedhacks:VUCycleStealing Slider",
|
||||
const wxChar* vu_tooltip = pxE( ".Tooltip:Speedhacks:VUCycleStealing Slider",
|
||||
L"This slider controls the amount of cycles the VU unit steals from the EmotionEngine. Higher values increase the number of "
|
||||
L"cycles stolen from the EE for each VU microprogram the game runs."
|
||||
);
|
||||
|
@ -174,12 +174,12 @@ Panels::SpeedHacksPanel::SpeedHacksPanel( wxWindow* parent )
|
|||
m_check_vuMinMax = new pxCheckBox( vuHacksPanel, _("mVU Min/Max Hack"),
|
||||
_("Small Speedup; may cause black screens, garbage graphics, SPS, etc... [Not Recommended]") );
|
||||
|
||||
m_check_vuFlagHack->SetToolTip( pxE_Tooltip( "Speedhacks:vuFlagHack",
|
||||
m_check_vuFlagHack->SetToolTip( pxE( ".Tooltip:Speedhacks:vuFlagHack",
|
||||
L"Updates Status Flags only on blocks which will read them, instead of all the time. "
|
||||
L"This is safe most of the time, and Super VU does something similar by default."
|
||||
) );
|
||||
|
||||
m_check_vuMinMax->SetToolTip( pxE_Tooltip( "Speedhacks:vuMinMax",
|
||||
m_check_vuMinMax->SetToolTip( pxE( ".Tooltip:Speedhacks:vuMinMax",
|
||||
L"Uses SSE's Min/Max Floating Point Operations instead of custom logical Min/Max routines. "
|
||||
L"Known to break Gran Turismo 4, Tekken 5."
|
||||
) );
|
||||
|
@ -199,19 +199,19 @@ Panels::SpeedHacksPanel::SpeedHacksPanel( wxWindow* parent )
|
|||
_("Small Speedup. Works well with some games but may cause issues in others. [Not Recommended]") );
|
||||
|
||||
|
||||
m_check_intc->SetToolTip( pxE_Tooltip( "Speedhacks:INTC",
|
||||
m_check_intc->SetToolTip( pxE( ".Tooltip:Speedhacks:INTC",
|
||||
L"This hack works best for games that use the INTC Status register to wait for vsyncs, which includes primarily non-3D "
|
||||
L"RPG titles. Games that do not use this method of vsync will see little or no speedup from this hack."
|
||||
) );
|
||||
|
||||
m_check_waitloop->SetToolTip( pxE_Tooltip( "Speedhacks:BIFC0",
|
||||
m_check_waitloop->SetToolTip( pxE( ".Tooltip:Speedhacks:BIFC0",
|
||||
L"Primarily targetting the EE idle loop at address 0x81FC0 in the kernel, this hack attempts to "
|
||||
L"detect loops whose bodies are guaranteed to result in the same machine state for every iteration "
|
||||
L"until a scheduled event triggers emulation of another unit. After a single iteration of such loops, "
|
||||
L"we advance to the time of the next event or the end of the processor's timeslice, whichever comes first."
|
||||
) );
|
||||
|
||||
m_check_IOPx2->SetToolTip( pxE_Tooltip( "Speedhacks:IOPx2",
|
||||
m_check_IOPx2->SetToolTip( pxE( ".Tooltip:Speedhacks:IOPx2",
|
||||
L"Halves the cycle rate of the IOP, giving it an effective emulated speed of roughly 18 MHz. "
|
||||
L"The speedup is very minor, so this hack is generally not recommended."
|
||||
) );
|
||||
|
|
|
@ -32,7 +32,7 @@ Panels::FramelimiterPanel::FramelimiterPanel( wxWindow* parent )
|
|||
m_check_LimiterDisable = new pxCheckBox( this, _("Disable Framelimiting"),
|
||||
_("Useful for running benchmarks. Toggle this option in-game by pressing F4.") );
|
||||
|
||||
m_check_LimiterDisable->SetToolTip( pxE_Tooltip( "Framelimiter:Disable",
|
||||
m_check_LimiterDisable->SetToolTip( pxE( ".Tooltip:Framelimiter:Disable",
|
||||
L"Note that when Framelimiting is disabled, Turbo and SlowMotion modes will not "
|
||||
L"be available either."
|
||||
) );
|
||||
|
@ -100,7 +100,7 @@ Panels::FramelimiterPanel::FramelimiterPanel( wxWindow* parent )
|
|||
|
||||
*this += 5;
|
||||
|
||||
*this += Heading( pxE_Panel( "Framelimiter:Heading",
|
||||
*this += Heading( pxE( ".Panel:Framelimiter:Heading",
|
||||
L"The internal framelimiter regulates the speed of the virtual machine. Adjustment values below are in "
|
||||
L"percentages of the default region-based framerate, which can also be configured below." )
|
||||
);
|
||||
|
@ -166,7 +166,7 @@ Panels::FrameSkipPanel::FrameSkipPanel( wxWindow* parent )
|
|||
L""
|
||||
) );
|
||||
|
||||
m_check_EnableSkipOnTurbo->SetToolTip( pxE_Tooltip( "Frameskip:UseForTurbo",
|
||||
m_check_EnableSkipOnTurbo->SetToolTip( pxE( ".Tooltip:Frameskip:UseForTurbo",
|
||||
L"Recommended option! Since frameskipping glitches typically aren't as annoying when you're "
|
||||
L" just trying to speed through stuff."
|
||||
) );*/
|
||||
|
@ -221,7 +221,7 @@ Panels::FrameSkipPanel::FrameSkipPanel( wxWindow* parent )
|
|||
|
||||
*this += s_spins | StdExpand();
|
||||
|
||||
*this += Heading( pxE_Panel( "Frameskip:Heading",
|
||||
*this += Heading( pxE( ".Panel:Frameskip:Heading",
|
||||
L"Notice: Due to PS2 hardware design, precise frame skipping is impossible. "
|
||||
L"Enabling it will cause severe graphical errors in some games, and so it should be considered a speedhack." )
|
||||
);
|
||||
|
@ -292,11 +292,11 @@ Panels::VideoPanel::VideoPanel( wxWindow* parent ) :
|
|||
_("Completely disables all GS plugin activity; ideal for benchmarking EEcore components.")
|
||||
);
|
||||
|
||||
m_check_SynchronousGS->SetToolTip( pxE_Tooltip( "GS:SyncMTGS",
|
||||
m_check_SynchronousGS->SetToolTip( pxE( ".Tooltip:GS:SyncMTGS",
|
||||
L"Enable this if you think MTGS thread sync is causing crashes or graphical errors.")
|
||||
) ;
|
||||
|
||||
m_check_DisableOutput->SetToolTip( pxE_Tooltip( "GS:DisableOutput",
|
||||
m_check_DisableOutput->SetToolTip( pxE( ".Tooltip:GS:DisableOutput",
|
||||
L"Removes any benchmark noise caused by the MTGS thread or GPU overhead. This option is best used in conjunction with savestates: "
|
||||
L"save a state at an ideal scene, enable this option, and re-load the savestate.\n\n"
|
||||
L"Warning: This option can be enabled on-the-fly but typically cannot be disabled on-the-fly (video will typically be garbage)."
|
||||
|
|
|
@ -117,6 +117,29 @@ void i18n_EnumeratePackages( LangPackList& langs )
|
|||
//
|
||||
const wxChar* __fastcall pxExpandMsg( const wxChar* key, const wxChar* englishContent )
|
||||
{
|
||||
#ifdef PCSX2_DEVBUILD
|
||||
static const wxChar* tbl_pxE_Prefixes[] =
|
||||
{
|
||||
L".Panel:",
|
||||
L".Popup:",
|
||||
L".Error:",
|
||||
L".Wizard:",
|
||||
L".Tooltip:",
|
||||
NULL
|
||||
};
|
||||
|
||||
// test the prefix of the key for consistency to valid/known prefix types.
|
||||
const wxChar** prefix = tbl_pxE_Prefixes;
|
||||
while( *prefix != NULL )
|
||||
{
|
||||
if( wxString(key).StartsWith(*prefix) ) break;
|
||||
++prefix;
|
||||
}
|
||||
pxAssertDev( *prefix != NULL,
|
||||
wxsFormat( L"Invalid pxE key prefix in key '%s'. Prefix must be one of the valid prefixes listed in pxExpandMsg.", key )
|
||||
);
|
||||
#endif
|
||||
|
||||
const wxLanguageInfo* info = wxLocale::GetLanguageInfo( g_Conf->LanguageId );
|
||||
|
||||
if( ( info == NULL ) || IsEnglish( info->Language ) )
|
||||
|
|
|
@ -45,25 +45,27 @@ extern const wxChar* __fastcall pxGetTranslation( const wxChar* message );
|
|||
// source code identifiers, and then reference the source code to see what the current
|
||||
// english version is.
|
||||
//
|
||||
//#define pxE(key, english) pxExpandMsg( wxT(key), english )
|
||||
// Valid prefix types:
|
||||
//
|
||||
// .Panel: Key-based translation of a panel or dialog text; usually either a header or
|
||||
// checkbox description, by may also include some controls with long labels.
|
||||
// These have the highest translation priority.
|
||||
//
|
||||
// .Popup: Key-based translation of a popup dialog box; either a notice, confirmation,
|
||||
// or error. These typically have very high translation priority (roughly equal
|
||||
// or slightly less than pxE_Panel).
|
||||
//
|
||||
// .Error Key-based translation of error messages, typically used when throwing exceptions
|
||||
// that have end-user errors. These are normally (but not always) displayed as popups
|
||||
// to the user. Translation priority is medium.
|
||||
//
|
||||
// .Wizard Key-based translation of a heading, checkbox item, description, or other text
|
||||
// associated with the First-time wizard. Translation of these items is considered
|
||||
// lower-priority to most other messages; but equal or higher priority to tooltips.
|
||||
//
|
||||
// .Tooltip: Key-based translation of a tooltip for a control on a dialog/panel. Translation
|
||||
// of these items is typically considered "lowest priority" as they usually provide
|
||||
// the most tertiary of info to the user.
|
||||
//
|
||||
|
||||
// Key-based translation of a panel or dialog text; usually either a header or checkbox description,
|
||||
// by may also include some controls with long labels.
|
||||
#define pxE_Panel(key, english) pxExpandMsg( wxT(".Panel:") wxT(key), english )
|
||||
|
||||
// Key-based translation of a popup dialog box; either a notice or confirmation. Popup erros should
|
||||
// use pxE_Error instead.
|
||||
#define pxE_Popup(key, english) pxExpandMsg( wxT(".Popup:") wxT(key), english )
|
||||
|
||||
// Key-based translation of a popup error.
|
||||
#define pxE_Error(key, english) pxExpandMsg( wxT(".Error:") wxT(key), english )
|
||||
|
||||
// Key-based translation of a heading, checkbox item, description, or other text associated with
|
||||
// the First-time wizard. Translation of these items is considered lower-priority to most other
|
||||
// messages; but equal or higher priority to tooltips.
|
||||
#define pxE_Wizard(key, english) pxExpandMsg( wxT(".Wizard:") wxT(key), english )
|
||||
|
||||
// Key-based translation of a tooltip for a control on a dialog/panel. Tanslation of these items
|
||||
// is typically considered "lowest priority" as they usually provide the most tertiary of info
|
||||
// to the user.
|
||||
#define pxE_Tooltip(key, english) pxExpandMsg( wxT(".Error:") wxT(key), english )
|
||||
#define pxE(key, english) pxExpandMsg( wxT(key), english )
|
||||
|
|
|
@ -37,7 +37,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SPU2-X", "plugins\spu2-x\sr
|
|||
{C34487AF-228A-4D11-8E50-27803DF76873} = {C34487AF-228A-4D11-8E50-27803DF76873}
|
||||
{0E231FB1-F3C9-4724-ACCB-DE8BCB3C089E} = {0E231FB1-F3C9-4724-ACCB-DE8BCB3C089E}
|
||||
{7E9B2BE7-CEC3-4F14-847B-0AB8D562FB86} = {7E9B2BE7-CEC3-4F14-847B-0AB8D562FB86}
|
||||
{A51123F5-9505-4EAE-85E7-D320290A272C} = {A51123F5-9505-4EAE-85E7-D320290A272C}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GSdx", "plugins\GSdx\GSdx_vs2008.vcproj", "{18E42F6F-3A62-41EE-B42F-79366C4F1E95}"
|
||||
|
|
|
@ -127,7 +127,7 @@ void V_Core::StartADMAWrite(u16 *pMem, u32 sz)
|
|||
#ifndef ENABLE_NEW_IOPDMA_SPU2
|
||||
int size = (sz)&(~511);
|
||||
|
||||
if(MsgAutoDMA()) ConLog(" * SPU2: DMA%c AutoDMA Transfer of %d bytes to %x (%02x %x %04x).\n",
|
||||
if(MsgAutoDMA()) ConLog("* SPU2-X: DMA%c AutoDMA Transfer of %d bytes to %x (%02x %x %04x).\n",
|
||||
GetDmaIndexChar(), size<<1, TSA, DMABits, AutoDMACtrl, (~Regs.ATTR)&0x7fff);
|
||||
|
||||
InputDataProgress = 0;
|
||||
|
@ -236,7 +236,7 @@ void V_Core::PlainDMAWrite(u16 *pMem, u32 size)
|
|||
cacheLine++;
|
||||
} while ( cacheLine != &cacheEnd );
|
||||
|
||||
//ConLog( " * SPU2 : Cache Clear Range! TSA=0x%x, TDA=0x%x (low8=0x%x, high8=0x%x, len=0x%x)\n",
|
||||
//ConLog( "* SPU2-X: Cache Clear Range! TSA=0x%x, TDA=0x%x (low8=0x%x, high8=0x%x, len=0x%x)\n",
|
||||
// TSA, buff1end, flagTSA, flagTDA, clearLen );
|
||||
|
||||
|
||||
|
@ -421,7 +421,7 @@ void V_Core::DoDMAwrite(u16* pMem, u32 size)
|
|||
}
|
||||
else
|
||||
{
|
||||
if(MsgDMA()) ConLog(" * SPU2: DMA%c Transfer of %d bytes to %x (%02x %x %04x). IRQE = %d IRQA = %x \n",
|
||||
if(MsgDMA()) ConLog("* SPU2-X: DMA%c Transfer of %d bytes to %x (%02x %x %04x). IRQE = %d IRQA = %x \n",
|
||||
GetDmaIndexChar(),size<<1,TSA,DMABits,AutoDMACtrl,(~Regs.ATTR)&0x7fff,
|
||||
Cores[0].IRQEnable, Cores[0].IRQA);
|
||||
|
||||
|
@ -534,9 +534,9 @@ s32 V_Core::NewDmaWrite(u32* data, u32 bytesLeft, u32* bytesProcessed)
|
|||
if(adma_enable)
|
||||
{
|
||||
TSA&=0x1fff;
|
||||
//Console.Error(" * SPU2: AutoDMA transfers not supported yet! (core %d)\n", Index);
|
||||
//Console.Error("* SPU2-X: AutoDMA transfers not supported yet! (core %d)\n", Index);
|
||||
|
||||
if(MsgAutoDMA() && DmaStarting) ConLog(" * SPU2: DMA%c AutoDMA Transfer of %d bytes to %x (%02x %x %04x).\n",
|
||||
if(MsgAutoDMA() && DmaStarting) ConLog("* SPU2-X: DMA%c AutoDMA Transfer of %d bytes to %x (%02x %x %04x).\n",
|
||||
GetDmaIndexChar(), bytesLeft<<1, TSA, DMABits, AutoDMACtrl, (~Regs.ATTR)&0x7fff);
|
||||
|
||||
u32 processed = 0;
|
||||
|
@ -635,7 +635,7 @@ s32 V_Core::NewDmaWrite(u32* data, u32 bytesLeft, u32* bytesProcessed)
|
|||
}
|
||||
else
|
||||
{
|
||||
if(MsgDMA() && DmaStarting) ConLog(" * SPU2: DMA%c Transfer of %d bytes to %x (%02x %x %04x).\n",
|
||||
if(MsgDMA() && DmaStarting) ConLog("* SPU2-X: DMA%c Transfer of %d bytes to %x (%02x %x %04x).\n",
|
||||
GetDmaIndexChar(),bytesLeft,TSA,DMABits,AutoDMACtrl,(~Regs.ATTR)&0x7fff);
|
||||
|
||||
if(bytesLeft> 2048)
|
||||
|
|
|
@ -150,7 +150,7 @@ static __forceinline s32 __fastcall GetNextDataBuffered( V_Core& thiscore, uint
|
|||
vc.Stop();
|
||||
if( IsDevBuild )
|
||||
{
|
||||
if(MsgVoiceOff()) ConLog(" * SPU2: Voice Off by EndPoint: %d \n", voiceidx);
|
||||
if(MsgVoiceOff()) ConLog("* SPU2-X: Voice Off by EndPoint: %d \n", voiceidx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -173,7 +173,7 @@ static __forceinline s32 __fastcall GetNextDataBuffered( V_Core& thiscore, uint
|
|||
vc.Prev1 = vc.SBuffer[27];
|
||||
vc.Prev2 = vc.SBuffer[26];
|
||||
|
||||
//ConLog( " * SPU2 : Cache Hit! NextA=0x%x, cacheIdx=0x%x\n", vc.NextA, cacheIdx );
|
||||
//ConLog( "* SPU2-X: Cache Hit! NextA=0x%x, cacheIdx=0x%x\n", vc.NextA, cacheIdx );
|
||||
|
||||
if( IsDevBuild )
|
||||
g_counter_cache_hits++;
|
||||
|
@ -344,7 +344,7 @@ static __forceinline void CalculateADSR( V_Core& thiscore, uint voiceidx )
|
|||
{
|
||||
if( IsDevBuild )
|
||||
{
|
||||
if(MsgVoiceOff()) ConLog(" * SPU2: Voice Off by ADSR: %d \n", voiceidx);
|
||||
if(MsgVoiceOff()) ConLog("* SPU2-X: Voice Off by ADSR: %d \n", voiceidx);
|
||||
}
|
||||
vc.Stop();
|
||||
thiscore.Regs.ENDX |= (1 << voiceidx);
|
||||
|
|
|
@ -113,6 +113,9 @@ static bool cpu_detected = false;
|
|||
|
||||
static bool CheckSSE()
|
||||
{
|
||||
return true;
|
||||
|
||||
#if 0
|
||||
if( !cpu_detected )
|
||||
{
|
||||
cpudetectInit();
|
||||
|
@ -124,6 +127,7 @@ static bool CheckSSE()
|
|||
return false;
|
||||
}
|
||||
return true;
|
||||
#endif
|
||||
}
|
||||
|
||||
EXPORT_C_(u32) PS2EgetLibType()
|
||||
|
@ -298,7 +302,14 @@ EXPORT_C_(s32) SPU2init()
|
|||
{
|
||||
assert( regtable[0x400] == NULL );
|
||||
|
||||
//s32 c=0,v=0;
|
||||
if (IsInitialized)
|
||||
{
|
||||
printf( " * SPU2-X: Already initialized - Ignoring SPU2init signal." );
|
||||
return 0;
|
||||
}
|
||||
|
||||
IsInitialized = true;
|
||||
|
||||
ReadSettings();
|
||||
|
||||
#ifdef SPU2_LOG
|
||||
|
@ -311,14 +322,6 @@ EXPORT_C_(s32) SPU2init()
|
|||
#endif
|
||||
srand((unsigned)time(NULL));
|
||||
|
||||
if (IsInitialized)
|
||||
{
|
||||
ConLog( " * SPU2: Already initialized - Ignoring SPU2init signal." );
|
||||
return 0;
|
||||
}
|
||||
|
||||
IsInitialized = true;
|
||||
|
||||
spu2regs = (s16*)malloc(0x010000);
|
||||
_spu2mem = (s16*)malloc(0x200000);
|
||||
|
||||
|
@ -333,7 +336,7 @@ EXPORT_C_(s32) SPU2init()
|
|||
|
||||
if( (spu2regs == NULL) || (_spu2mem == NULL) || (pcm_cache_data == NULL) )
|
||||
{
|
||||
SysMessage("SPU2: Error allocating Memory\n"); return -1;
|
||||
SysMessage("SPU2-X: Error allocating Memory\n"); return -1;
|
||||
}
|
||||
|
||||
// Patch up a copy of regtable that directly maps "NULLs" to SPU2 memory.
|
||||
|
@ -424,7 +427,7 @@ EXPORT_C_(void) SPU2shutdown()
|
|||
if(!IsInitialized) return;
|
||||
IsInitialized = false;
|
||||
|
||||
ConLog( " * SPU2: Shutting down.\n" );
|
||||
ConLog( "* SPU2-X: Shutting down.\n" );
|
||||
|
||||
SPU2close();
|
||||
|
||||
|
@ -542,7 +545,7 @@ EXPORT_C_(u16) SPU2read(u32 rmem)
|
|||
else if( (mem&0xFFFF) >= 0x800 )
|
||||
{
|
||||
ret = spu2Ru16(mem);
|
||||
ConLog(" * SPU2: Read from reg>=0x800: %x value %x\n",mem,ret);
|
||||
ConLog("* SPU2-X: Read from reg>=0x800: %x value %x\n",mem,ret);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -93,23 +93,23 @@ void SPU2writeLog( const char* action, u32 rmem, u16 value )
|
|||
RegLog(2,"SPDIF_IRQINFO",rmem,-1,value);
|
||||
break;
|
||||
case 0x7c4:
|
||||
if(Spdif.Unknown1 != value) ConLog(" * SPU2: SPDIF Unknown Register 1 set to %04x\n",value);
|
||||
if(Spdif.Unknown1 != value) ConLog("* SPU2-X: SPDIF Unknown Register 1 set to %04x\n",value);
|
||||
RegLog(2,"SPDIF_UNKNOWN1",rmem,-1,value);
|
||||
break;
|
||||
case SPDIF_MODE:
|
||||
if(Spdif.Mode != value) ConLog(" * SPU2: SPDIF Mode set to %04x\n",value);
|
||||
if(Spdif.Mode != value) ConLog("* SPU2-X: SPDIF Mode set to %04x\n",value);
|
||||
RegLog(2,"SPDIF_MODE",rmem,-1,value);
|
||||
break;
|
||||
case SPDIF_MEDIA:
|
||||
if(Spdif.Media != value) ConLog(" * SPU2: SPDIF Media set to %04x\n",value);
|
||||
if(Spdif.Media != value) ConLog("* SPU2-X: SPDIF Media set to %04x\n",value);
|
||||
RegLog(2,"SPDIF_MEDIA",rmem,-1,value);
|
||||
break;
|
||||
case 0x7ca:
|
||||
if(Spdif.Unknown2 != value) ConLog(" * SPU2: SPDIF Unknown Register 2 set to %04x\n",value);
|
||||
if(Spdif.Unknown2 != value) ConLog("* SPU2-X: SPDIF Unknown Register 2 set to %04x\n",value);
|
||||
RegLog(2,"SPDIF_UNKNOWN2",rmem,-1,value);
|
||||
break;
|
||||
case SPDIF_PROTECT:
|
||||
if(Spdif.Protection != value) ConLog(" * SPU2: SPDIF Copy set to %04x\n",value);
|
||||
if(Spdif.Protection != value) ConLog("* SPU2-X: SPDIF Copy set to %04x\n",value);
|
||||
RegLog(2,"SPDIF_PROTECT",rmem,-1,value);
|
||||
break;
|
||||
}
|
||||
|
@ -185,11 +185,11 @@ void SPU2writeLog( const char* action, u32 rmem, u16 value )
|
|||
RegLog(2,"TSAL",rmem,core,value);
|
||||
break;
|
||||
case REG_S_ENDX:
|
||||
//ConLog(" * SPU2: Core %d ENDX cleared!\n",core);
|
||||
//ConLog("* SPU2-X: Core %d ENDX cleared!\n",core);
|
||||
RegLog(2,"ENDX0",rmem,core,value);
|
||||
break;
|
||||
case (REG_S_ENDX + 2):
|
||||
//ConLog(" * SPU2: Core %d ENDX cleared!\n",core);
|
||||
//ConLog("* SPU2-X: Core %d ENDX cleared!\n",core);
|
||||
RegLog(2,"ENDX1",rmem,core,value);
|
||||
break;
|
||||
case REG_P_MVOLL:
|
||||
|
@ -200,7 +200,7 @@ void SPU2writeLog( const char* action, u32 rmem, u16 value )
|
|||
break;
|
||||
case REG_S_ADMAS:
|
||||
RegLog(3,"ADMAS",rmem,core,value);
|
||||
//ConLog(" * SPU2: Core %d AutoDMAControl set to %d\n",core,value);
|
||||
//ConLog("* SPU2-X: Core %d AutoDMAControl set to %d\n",core,value);
|
||||
break;
|
||||
case REG_P_STATX:
|
||||
RegLog(3,"STATX",rmem,core,value);
|
||||
|
|
|
@ -102,14 +102,14 @@ public:
|
|||
PaError err = Pa_Initialize();
|
||||
if( err != paNoError )
|
||||
{
|
||||
fprintf(stderr," * SPU2: PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||
fprintf(stderr,"* SPU2-X: PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||
return -1;
|
||||
}
|
||||
started=true;
|
||||
|
||||
int deviceIndex = -1;
|
||||
|
||||
fprintf(stderr," * SPU2: Enumerating PortAudio devices:");
|
||||
fprintf(stderr,"* SPU2-X: Enumerating PortAudio devices:");
|
||||
for(int i=0;i<Pa_GetDeviceCount();i++)
|
||||
{
|
||||
const PaDeviceInfo * info = Pa_GetDeviceInfo(i);
|
||||
|
@ -211,7 +211,7 @@ public:
|
|||
}
|
||||
if( err != paNoError )
|
||||
{
|
||||
fprintf(stderr," * SPU2: PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||
fprintf(stderr,"* SPU2-X: PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||
Pa_Terminate();
|
||||
return -1;
|
||||
}
|
||||
|
@ -219,7 +219,7 @@ public:
|
|||
err = Pa_StartStream( stream );
|
||||
if( err != paNoError )
|
||||
{
|
||||
fprintf(stderr," * SPU2: PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||
fprintf(stderr,"* SPU2-X: PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||
Pa_CloseStream(stream);
|
||||
stream=NULL;
|
||||
Pa_Terminate();
|
||||
|
@ -240,19 +240,19 @@ public:
|
|||
{
|
||||
err = Pa_StopStream(stream);
|
||||
if( err != paNoError )
|
||||
fprintf(stderr," * SPU2: PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||
fprintf(stderr,"* SPU2-X: PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||
}
|
||||
|
||||
err = Pa_CloseStream(stream);
|
||||
if( err != paNoError )
|
||||
fprintf(stderr," * SPU2: PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||
fprintf(stderr,"* SPU2-X: PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||
|
||||
stream=NULL;
|
||||
}
|
||||
|
||||
PaError err = Pa_Terminate();
|
||||
if( err != paNoError )
|
||||
fprintf(stderr," * SPU2: PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||
fprintf(stderr,"* SPU2-X: PortAudio error: %s\n", Pa_GetErrorText( err ) );
|
||||
|
||||
started=false;
|
||||
}
|
||||
|
|
|
@ -171,7 +171,7 @@ void SndBuffer::UpdateTempoChangeSoundTouch()
|
|||
pSoundTouch->setTempo( eTempo = (float)newTempo );
|
||||
ts_stats_stretchblocks++;
|
||||
|
||||
/*ConLog(" * SPU2: [Nominal %d%%] [Emergency: %d%%] (baseTempo: %d%% ) (newTempo: %d%%) (buffer: %d%%)\n",
|
||||
/*ConLog("* SPU2-X: [Nominal %d%%] [Emergency: %d%%] (baseTempo: %d%% ) (newTempo: %d%%) (buffer: %d%%)\n",
|
||||
//(relation < 0.0) ? "Normalize" : "",
|
||||
(int)(tempoChange * 100.0 * 0.03),
|
||||
(int)(emergencyAdj * 100.0),
|
||||
|
|
|
@ -94,8 +94,8 @@ void ReadSettings()
|
|||
if( mods[OutputModule] == NULL )
|
||||
{
|
||||
// Unsupported or legacy module.
|
||||
fprintf( stderr, " * SPU2: Unknown output module '%s' specified in configuration file.\n", omodid );
|
||||
fprintf( stderr, " * SPU2: Defaulting to DirectSound (%S).\n", DSoundOut->GetIdent() );
|
||||
fprintf( stderr, "* SPU2-X: Unknown output module '%s' specified in configuration file.\n", omodid );
|
||||
fprintf( stderr, "* SPU2-X: Defaulting to DirectSound (%S).\n", DSoundOut->GetIdent() );
|
||||
OutputModule = FindOutputModuleById( DSoundOut->GetIdent() );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ private:
|
|||
if( FAILED(buffer->Lock(poffset,BufferSizeBytes,(LPVOID*)&p1,&s1,&p2,&s2,0) ) )
|
||||
{
|
||||
assert( 0 );
|
||||
fputs( " * SPU2 : Directsound Warning > Buffer lock failure. You may need to increase\n\tyour configured DSound buffer count.\n", stderr );
|
||||
fputs( "* SPU2-X: Directsound Warning > Buffer lock failure. You may need to increase\n\tyour configured DSound buffer count.\n", stderr );
|
||||
continue;
|
||||
}
|
||||
oldp1 = p1;
|
||||
|
@ -224,7 +224,7 @@ public:
|
|||
void Close()
|
||||
{
|
||||
// Stop Thread
|
||||
fprintf(stderr," * SPU2: Waiting for DSound thread to finish...");
|
||||
fprintf(stderr,"* SPU2-X: Waiting for DSound thread to finish...");
|
||||
dsound_running=false;
|
||||
|
||||
WaitForSingleObject(thread,INFINITE);
|
||||
|
|
|
@ -179,7 +179,7 @@ public:
|
|||
void Close()
|
||||
{
|
||||
// Stop Thread
|
||||
fprintf(stderr," * SPU2: Waiting for waveOut thread to finish...");
|
||||
fprintf(stderr,"* SPU2-X: Waiting for waveOut thread to finish...");
|
||||
waveout_running=false;
|
||||
|
||||
WaitForSingleObject(thread,INFINITE);
|
||||
|
|
|
@ -75,7 +75,7 @@ __forceinline void __fastcall spu2M_Write( u32 addr, s16 value )
|
|||
const int cacheIdx = addr / pcm_WordsPerBlock;
|
||||
pcm_cache_data[cacheIdx].Validated = false;
|
||||
|
||||
ConLog( " * SPU2 : PcmCache Block Clear at 0x%x (cacheIdx=0x%x)\n", addr, cacheIdx);
|
||||
ConLog( "* SPU2-X: PcmCache Block Clear at 0x%x (cacheIdx=0x%x)\n", addr, cacheIdx);
|
||||
}
|
||||
*GetMemPtr( addr ) = value;
|
||||
}
|
||||
|
@ -109,7 +109,7 @@ V_Core::~V_Core() throw()
|
|||
|
||||
void V_Core::Reset( int index )
|
||||
{
|
||||
ConLog( " * SPU2: RESET SPU2 core%d \n", index );
|
||||
ConLog( "* SPU2-X: RESET SPU2 core%d \n", index );
|
||||
memset( this, 0, sizeof(V_Core) );
|
||||
|
||||
const int c = Index = index;
|
||||
|
@ -303,7 +303,7 @@ __forceinline void TimeUpdate(u32 cClocks)
|
|||
{
|
||||
if(has_to_call_irq)
|
||||
{
|
||||
ConLog(" * SPU2: Irq Called (%04x) at cycle %d.\n", Spdif.Info, Cycles);
|
||||
ConLog("* SPU2-X: Irq Called (%04x) at cycle %d.\n", Spdif.Info, Cycles);
|
||||
has_to_call_irq=false;
|
||||
if(_irqcallback) _irqcallback();
|
||||
}
|
||||
|
@ -386,7 +386,7 @@ __forceinline void UpdateSpdifMode()
|
|||
if(Spdif.Out&0x4) // use 24/32bit PCM data streaming
|
||||
{
|
||||
PlayMode=8;
|
||||
ConLog(" * SPU2: WARNING: Possibly CDDA mode set!\n");
|
||||
ConLog("* SPU2-X: WARNING: Possibly CDDA mode set!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -406,7 +406,7 @@ __forceinline void UpdateSpdifMode()
|
|||
}
|
||||
if(OPM!=PlayMode)
|
||||
{
|
||||
ConLog(" * SPU2: Play Mode Set to %s (%d).\n",
|
||||
ConLog("* SPU2-X: Play Mode Set to %s (%d).\n",
|
||||
(PlayMode==0) ? "Normal" : ((PlayMode==1) ? "PCM Clone" : ((PlayMode==2) ? "PCM Bypass" : "BitStream Bypass")),PlayMode);
|
||||
}
|
||||
}
|
||||
|
@ -853,7 +853,7 @@ static void __fastcall RegWrite_Core( u16 value )
|
|||
{
|
||||
// When we have exact cycle update info from the Pcsx2 IOP unit, then use
|
||||
// the more accurate delayed initialization system.
|
||||
ConLog( " * SPU2: Runtime core%d reset\n", core );
|
||||
ConLog( "* SPU2-X: Runtime core%d reset\n", core );
|
||||
|
||||
// Async mixing can cause a scheduled reset to happen untimely, ff12 hates it and dies.
|
||||
// So do the next best thing and reset the core directly.
|
||||
|
@ -887,16 +887,16 @@ static void __fastcall RegWrite_Core( u16 value )
|
|||
|
||||
if(value&0x000E)
|
||||
{
|
||||
ConLog(" * SPU2: Core %d ATTR unknown bits SET! value=%04x\n",core,value);
|
||||
ConLog("* SPU2-X: Core %d ATTR unknown bits SET! value=%04x\n",core,value);
|
||||
}
|
||||
|
||||
if(thiscore.AttrBit0!=bit0)
|
||||
{
|
||||
ConLog(" * SPU2: ATTR bit 0 set to %d\n",thiscore.AttrBit0);
|
||||
ConLog("* SPU2-X: ATTR bit 0 set to %d\n",thiscore.AttrBit0);
|
||||
}
|
||||
if(thiscore.IRQEnable!=irqe)
|
||||
{
|
||||
ConLog(" * SPU2: IRQ %s at cycle %d\n",((thiscore.IRQEnable==0)?"disabled":"enabled"), Cycles);
|
||||
ConLog("* SPU2-X: IRQ %s at cycle %d\n",((thiscore.IRQEnable==0)?"disabled":"enabled"), Cycles);
|
||||
if(!thiscore.IRQEnable)
|
||||
Spdif.Info &= ~(4 << thiscore.Index);
|
||||
}
|
||||
|
@ -1049,7 +1049,7 @@ static void __fastcall RegWrite_Core( u16 value )
|
|||
break;
|
||||
|
||||
case REG_S_ADMAS:
|
||||
//ConLog(" * SPU2: Core %d AutoDMAControl set to %d (%d)\n",core,value, Cycles);
|
||||
//ConLog("* SPU2-X: Core %d AutoDMAControl set to %d (%d)\n",core,value, Cycles);
|
||||
thiscore.AutoDMACtrl=value;
|
||||
|
||||
if(value==0)
|
||||
|
@ -1452,7 +1452,7 @@ void StartVoices(int core, u32 value)
|
|||
{
|
||||
V_Voice& thisvc( Cores[core].Voices[vc] );
|
||||
|
||||
if(MsgKeyOnOff()) ConLog(" * SPU2: KeyOn: C%dV%02d: SSA: %8x; M: %s%s%s%s; H: %02x%02x; P: %04x V: %04x/%04x; ADSR: %04x%04x\n",
|
||||
if(MsgKeyOnOff()) ConLog("* SPU2-X: KeyOn: C%dV%02d: SSA: %8x; M: %s%s%s%s; H: %02x%02x; P: %04x V: %04x/%04x; ADSR: %04x%04x\n",
|
||||
core,vc,thisvc.StartA,
|
||||
(Cores[core].VoiceGates[vc].DryL)?"+":"-",(Cores[core].VoiceGates[vc].DryR)?"+":"-",
|
||||
(Cores[core].VoiceGates[vc].WetL)?"+":"-",(Cores[core].VoiceGates[vc].WetR)?"+":"-",
|
||||
|
@ -1472,7 +1472,7 @@ void StopVoices(int core, u32 value)
|
|||
if( !((value>>vc) & 1) ) continue;
|
||||
|
||||
Cores[core].Voices[vc].ADSR.Releasing = true;
|
||||
//if(MsgKeyOnOff()) ConLog(" * SPU2: KeyOff: Core %d; Voice %d.\n",core,vc);
|
||||
//if(MsgKeyOnOff()) ConLog("* SPU2-X: KeyOff: Core %d; Voice %d.\n",core,vc);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue