git-svn-id: https://localhost/svn/Project64/trunk@12 111125ac-702d-7242-af9c-5ba8ae61c1ef

This commit is contained in:
zilmar 2008-11-17 10:02:22 +00:00
parent fc9833f612
commit 81387784f5
15 changed files with 362 additions and 110 deletions

View File

@ -110,6 +110,7 @@ void CTraceLog::WriteTrace ( TraceType Type, LPCTSTR Message)
else if ((Type & TraceRecompiler)!= 0) { nPos += _stprintf(pBuffer+nPos,_T("%s"),_T("Recomp : ")); }
else if ((Type & TraceRSP )!= 0) { nPos += _stprintf(pBuffer+nPos,_T("%s"),_T("RSP : ")); }
else if ((Type & TraceTLB )!= 0) { nPos += _stprintf(pBuffer+nPos,_T("%s"),_T("TLB : ")); }
else if ((Type & TraceValidate )!= 0) { nPos += _stprintf(pBuffer+nPos,_T("%s"),_T("Valid : ")); }
else { nPos += _stprintf(pBuffer+nPos,_T("%s"),_T("Unknown: ")); }
for (int i = 0; i < (int)m_Modules.size(); i++ )

View File

@ -11,6 +11,7 @@ enum TraceType
TraceRecompiler = 0x00000020,
TraceRSP = 0x00000040,
TraceTLB = 0x00000080,
TraceValidate = 0x00000100,
TraceNoHeader = 0x80000000,
};

View File

@ -292,12 +292,15 @@ void CN64System::LoadFileImage ( FileImageInfo * Info )
return;
}
_this->CloseCpu();
if (_this->_Plugins) {
WriteTrace(TraceDebug,"CN64System::LoadFileImage 5");
Rom->SaveRomSettingID();
if (_this->_Plugins)
{
_this->_Plugins->Reset();
}
WriteTrace(TraceDebug,"CN64System::LoadFileImage 5");
Rom->SaveRomSettingID();
/*{
stdstr &Name = Rom->GetRomName();
_Settings->SaveString(ROM_InternalName,Name.c_str());

View File

@ -205,38 +205,40 @@ void CPlugins::Reset ( PLUGIN_TYPE Type )
_Settings->SaveString(Plugin_GFX_CurVer,m_Gfx->PluginName().c_str());
break;
case PLUGIN_TYPE_AUDIO:
WriteTrace(TraceDebug,"CPlugins::Reset 17");
if (m_Audio) {
WriteTrace(TraceDebug,"CPlugins::Reset 18");
WriteTrace(TraceDebug,"Audio Plugin: Close Starting");
m_Audio->Close();
WriteTrace(TraceDebug,"CPlugins::Reset 19");
WriteTrace(TraceDebug,"Audio Plugin: Close done");
WriteTrace(TraceDebug,"Audio Plugin: Deconstructor Starting");
delete m_Audio;
WriteTrace(TraceDebug,"CPlugins::Reset 20");
WriteTrace(TraceDebug,"Audio Plugin: Deconstructor Done");
m_Audio = NULL;
WriteTrace(TraceDebug,"CPlugins::Reset 21");
}
WriteTrace(TraceDebug,"CPlugins::Reset 22");
m_Audio = new CAudioPlugin(stdstr_f("%s%s",m_PluginDir.c_str(),_Settings->LoadString(Game_Plugin_Audio).c_str()).c_str());
WriteTrace(TraceDebug,"CPlugins::Reset 23");
_Settings->SaveString(Plugin_AUDIO_CurVer,m_Audio->PluginName().c_str());
WriteTrace(TraceDebug,"CPlugins::Reset 24");
{
stdstr_f PluginFile("%s%s",m_PluginDir.c_str(),_Settings->LoadString(Game_Plugin_Audio).c_str());
WriteTraceF(TraceDebug,"Loading (%s): Starting",PluginFile.c_str());
m_Audio = new CAudioPlugin(PluginFile.c_str());
WriteTrace(TraceDebug,"Loading Done");
_Settings->SaveString(Plugin_AUDIO_CurVer,m_Audio->PluginName().c_str());
}
break;
case PLUGIN_TYPE_CONTROLLER:
WriteTrace(TraceDebug,"CPlugins::Reset 25");
if (m_Control) {
WriteTrace(TraceDebug,"CPlugins::Reset 26");
WriteTrace(TraceDebug,"Controller Plugin: Close Starting");
m_Control->Close();
WriteTrace(TraceDebug,"CPlugins::Reset 27");
WriteTrace(TraceDebug,"Controller Plugin: Close done");
WriteTrace(TraceDebug,"Controller Plugin: Deconstructor Starting");
delete m_Control;
WriteTrace(TraceDebug,"CPlugins::Reset 28");
WriteTrace(TraceDebug,"Controller Plugin: Deconstructor Done");
m_Control = NULL;
WriteTrace(TraceDebug,"CPlugins::Reset 29");
}
WriteTrace(TraceDebug,"CPlugins::Reset 30");
m_Control = new CControl_Plugin(stdstr_f("%s%s",m_PluginDir.c_str(),_Settings->LoadString(Game_Plugin_Controller).c_str()).c_str());
WriteTrace(TraceDebug,"CPlugins::Reset 31");
_Settings->SaveString(Plugin_CONT_CurVer,m_Control->PluginName().c_str());
WriteTrace(TraceDebug,"CPlugins::Reset 32");
{
stdstr_f PluginFile("%s%s",m_PluginDir.c_str(),_Settings->LoadString(Game_Plugin_Controller).c_str());
WriteTraceF(TraceDebug,"Loading (%s): Starting",PluginFile.c_str());
m_Control = new CControl_Plugin(PluginFile.c_str());
WriteTrace(TraceDebug,"Loading Done");
_Settings->SaveString(Plugin_CONT_CurVer,m_Control->PluginName().c_str());
}
break;
}
}

View File

@ -30,8 +30,10 @@ const CPluginList::PLUGIN * CPluginList::GetPluginInfo ( int indx ) const
bool CPluginList::LoadList()
{
WriteTrace(TraceDebug,"CPluginList::LoadList - Start");
m_PluginList.clear();
AddPluginFromDir(m_PluginDir);
WriteTrace(TraceDebug,"CPluginList::LoadList - Done");
return true;
}
@ -58,6 +60,7 @@ void CPluginList::AddPluginFromDir ( CPath Dir)
}
UINT LastErrorMode = SetErrorMode( SEM_FAILCRITICALERRORS );
WriteTraceF(TraceDebug,"CPluginList::LoadList - loading %s",(LPCSTR)Dir);
hLib = LoadLibrary(Dir);
SetErrorMode(LastErrorMode);

View File

@ -1,26 +1,5 @@
#include "..\\Settings.h"
/*typedef struct {
PLUGIN_INFO info;
stdstr FullPath;
stdstr FileName;
bool InfoFunction;
} PLUGIN;
typedef std::list<PLUGIN> PluginList;
class CPluginList {
void AddPluginFromDir ( const char * PluginDir, const char * Dir, PluginList * Plugins );
bool ValidPluginVersion ( PLUGIN_INFO * PluginInfo );
public:
CPluginList ();
PluginList GetPluginList ( void );
void DllAbout ( void * hParent, const char * PluginFile );
};
*/
class CPluginList
{
public:

View File

@ -3,23 +3,157 @@
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: Common - Win32 External Release--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\NICHOL~1\LOCALS~1\Temp\RSP7.tmp" with contents
[
/nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fp"../../Build/Common/External/Common.pch" /YX /Fo"../../Build/Common/External/" /Fd"../../Build/Common/External/" /FD /c
"D:\My Programs\Emulation\Project64\SOURCE\Common\File Class.cpp"
"D:\My Programs\Emulation\Project64\SOURCE\Common\Log Class.cpp"
"D:\My Programs\Emulation\Project64\SOURCE\Common\md5.cpp"
"D:\My Programs\Emulation\Project64\SOURCE\Common\MemTest.cpp"
"D:\My Programs\Emulation\Project64\SOURCE\Common\osversion.cpp"
"D:\My Programs\Emulation\Project64\SOURCE\Common\path.cpp"
"D:\My Programs\Emulation\Project64\SOURCE\Common\registry.cpp"
"D:\My Programs\Emulation\Project64\SOURCE\Common\std string.cpp"
"D:\My Programs\Emulation\Project64\SOURCE\Common\stdafx.cpp"
"D:\My Programs\Emulation\Project64\SOURCE\Common\Trace.cpp"
"D:\My Programs\Emulation\Project64\SOURCE\Common\Version.cpp"
]
Creating command line "cl.exe @C:\DOCUME~1\NICHOL~1\LOCALS~1\Temp\RSP7.tmp"
Creating temporary file "C:\DOCUME~1\NICHOL~1\LOCALS~1\Temp\RSP8.tmp" with contents
[
/nologo /out:"../../Bin/External\Common.lib"
"\My Programs\Emulation\Project64\Build\Common\External\File Class.obj"
"\My Programs\Emulation\Project64\Build\Common\External\Log Class.obj"
"\My Programs\Emulation\Project64\Build\Common\External\md5.obj"
"\My Programs\Emulation\Project64\Build\Common\External\MemTest.obj"
"\My Programs\Emulation\Project64\Build\Common\External\osversion.obj"
"\My Programs\Emulation\Project64\Build\Common\External\path.obj"
"\My Programs\Emulation\Project64\Build\Common\External\registry.obj"
"\My Programs\Emulation\Project64\Build\Common\External\std string.obj"
"\My Programs\Emulation\Project64\Build\Common\External\stdafx.obj"
"\My Programs\Emulation\Project64\Build\Common\External\Trace.obj"
"\My Programs\Emulation\Project64\Build\Common\External\Version.obj"
]
Creating command line "link.exe -lib @C:\DOCUME~1\NICHOL~1\LOCALS~1\Temp\RSP8.tmp"
<h3>Output Window</h3>
Compiling...
File Class.cpp
Log Class.cpp
md5.cpp
MemTest.cpp
osversion.cpp
path.cpp
registry.cpp
std string.cpp
stdafx.cpp
Trace.cpp
Version.cpp
Creating library...
<h3>
--------------------Configuration: Project64 - Win32 External Release--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\NICHOL~1\LOCALS~1\Temp\RSP1B6.tmp" with contents
Creating command line "rc.exe /l 0xc09 /fo"../../Build/Project64/External/UI Resources.res" /i "User Interface" /d "NDEBUG" "D:\My Programs\Emulation\Project64\Source\Project64\User Interface\UI Resources.rc""
Creating temporary file "C:\DOCUME~1\NICHOL~1\LOCALS~1\Temp\RSP9.tmp" with contents
[
/nologo /MD /W3 /GX /O2 /I "../" /I "./" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "EXTERNAL_RELEASE" /Fp"../../Build/Project64/External/Project64.pch" /YX /Fo"../../Build/Project64/External/" /Fd"../../Build/Project64/External/" /FD /EHa /c
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-Application.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-ApplicationIndex.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-Cheats.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-GameSetting.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-GameSettingIndex.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-RDBCpuType.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-RDBOnOff.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-RDBRamSize.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-RDBSaveChip.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-RDBYesNo.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-RelativePath.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-RomDatabase.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-RomDatabaseIndex.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-SelectedDirectory.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-TempBool.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-TempNumber.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\SettingType\SettingsType-TempString.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\N64System Settings.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\Notification Settings.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\Recompiler Settings.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\Settings Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Settings\Settings Page - Advanced Options.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Settings\Settings Page - Directories.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Settings\Settings Page - Game - General.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Settings\Settings Page - Game - Plugin.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Settings\Settings Page - Game - Recompiler.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Settings\Settings Page - Game - Status.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Settings\Settings Page - Game Browser.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Settings\Settings Page - Keyboard Shortcuts.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Settings\Settings Page - Options.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Settings\Settings Page - Plugin.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Settings\Settings Page.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\WTL Controls\ModifiedEditBox.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\WTL Controls\PartialGroupBox.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Cheats.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Frame Per Second Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Gui Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Main Menu Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Menu Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\MenuShortCuts.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Notification Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Rom Browser Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\User Interface\Settings Config.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Multilanguage\Language Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Mips\Audio.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Mips\Memory Labels Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Mips\Memory.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Mips\OpCode Analysis Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Mips\OpCode Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Mips\Register Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Mips\System Timing.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Mips\TLB class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\BreakPoints.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\C Core Interface.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\C Memory.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\CPU.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\Dma.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\Eeprom.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\FlashRam.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\Interpreter CPU.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\Mempak.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\Pif.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\Recompiler CPU.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\Recompiler Fpu Ops.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\Recompiler Ops.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\C Core\Registers.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Debugger\Debugger - Memory Dump.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Debugger\Debugger - Memory Search.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Debugger\Debugger - TLB.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Debugger\Debugger - View Memory.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Debugger\Debugger.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Recompiler\Delay Slot Map Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Recompiler\Function Info.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Recompiler\Function Map Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Recompiler\Recompiler Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Recompiler\Section Info.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Cheat Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\N64 Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\N64 Rom Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Profiling Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Rom Information Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\N64 System\Speed Limitor Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Plugins\Audio Plugin.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Plugins\Controller Plugin.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Plugins\GFX plugin.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Plugins\Plugin Class.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Plugins\Plugin List.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Plugins\RSP Plugin.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\Settings\Gui Settings.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\main.cpp"
"D:\My Programs\Emulation\Project64\Source\Project64\ValidateBinary.cpp"
]
Creating command line "cl.exe @C:\DOCUME~1\NICHOL~1\LOCALS~1\Temp\RSP1B6.tmp"
Creating temporary file "C:\DOCUME~1\NICHOL~1\LOCALS~1\Temp\RSP1B7.tmp" with contents
Creating command line "cl.exe @C:\DOCUME~1\NICHOL~1\LOCALS~1\Temp\RSP9.tmp"
Creating temporary file "C:\DOCUME~1\NICHOL~1\LOCALS~1\Temp\RSPA.tmp" with contents
[
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /incremental:no /pdb:"../../Bin/External/Project64.pdb" /machine:I386 /out:"../../Bin/External/Project64.exe"
"\My Programs\Emulation\Project64\Build\Project64\External\SettingsType-Application.obj"
@ -137,24 +271,111 @@ kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32
"\My Programs\Emulation\Project64\Bin\External\Common.lib"
"\My Programs\Emulation\Project64\Bin\External\7zip.lib"
]
Creating command line "link.exe @C:\DOCUME~1\NICHOL~1\LOCALS~1\Temp\RSP1B7.tmp"
Creating command line "link.exe @C:\DOCUME~1\NICHOL~1\LOCALS~1\Temp\RSPA.tmp"
<h3>Output Window</h3>
Compiling resources...
Compiling...
SettingsType-Application.cpp
SettingsType-ApplicationIndex.cpp
SettingsType-Cheats.cpp
SettingsType-GameSetting.cpp
SettingsType-GameSettingIndex.cpp
SettingsType-RDBCpuType.cpp
SettingsType-RDBOnOff.cpp
SettingsType-RDBRamSize.cpp
SettingsType-RDBSaveChip.cpp
SettingsType-RDBYesNo.cpp
SettingsType-RelativePath.cpp
SettingsType-RomDatabase.cpp
SettingsType-RomDatabaseIndex.cpp
SettingsType-SelectedDirectory.cpp
SettingsType-TempBool.cpp
SettingsType-TempNumber.cpp
SettingsType-TempString.cpp
N64System Settings.cpp
Notification Settings.cpp
Recompiler Settings.cpp
Settings Class.cpp
Settings Page - Advanced Options.cpp
Settings Page - Directories.cpp
Settings Page - Game - General.cpp
Settings Page - Game - Plugin.cpp
Settings Page - Game - Recompiler.cpp
Settings Page - Game - Status.cpp
Settings Page - Game Browser.cpp
Settings Page - Keyboard Shortcuts.cpp
Settings Page - Options.cpp
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE\atlwin.h(2353) : warning C4247: 'StartDialogProc' not accessible because 'CSettingsPageImpl<class CGeneralOptionsPage>' uses 'public' to inherit from 'CDialogImpl<class CGeneralOptionsPage,class ATL::CWindow>'
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE\atlwin.h(2231) : see declaration of 'StartDialogProc'
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE\atlwin.h(2346) : while compiling class-template member function 'struct HWND__ *__thiscall ATL::CDialogImpl<class CGeneralOptionsPage,class ATL::CWindow>::Create(struct HWND__ *,long)'
Settings Page - Plugin.cpp
Settings Page.cpp
ModifiedEditBox.cpp
PartialGroupBox.cpp
Cheats.cpp
Frame Per Second Class.cpp
Gui Class.cpp
Main Menu Class.cpp
Menu Class.cpp
MenuShortCuts.cpp
Notification Class.cpp
Rom Browser Class.cpp
Settings Config.cpp
Language Class.cpp
Audio.cpp
Memory Labels Class.cpp
Memory.cpp
OpCode Analysis Class.cpp
OpCode Class.cpp
Register Class.cpp
System Timing.cpp
TLB class.cpp
BreakPoints.cpp
C Core Interface.cpp
C Memory.cpp
CPU.cpp
Dma.cpp
Eeprom.cpp
FlashRam.cpp
Interpreter CPU.cpp
Mempak.cpp
Pif.cpp
Recompiler CPU.cpp
Recompiler Fpu Ops.cpp
Recompiler Ops.cpp
Registers.cpp
Debugger - Memory Dump.cpp
Debugger - Memory Search.cpp
Debugger - TLB.cpp
Debugger - View Memory.cpp
Debugger.cpp
Delay Slot Map Class.cpp
Function Info.cpp
Function Map Class.cpp
Recompiler Class.cpp
Section Info.cpp
Cheat Class.cpp
N64 Class.cpp
N64 Rom Class.cpp
Profiling Class.cpp
Rom Information Class.cpp
Speed Limitor Class.cpp
Audio Plugin.cpp
Controller Plugin.cpp
GFX plugin.cpp
Plugin Class.cpp
Plugin List.cpp
RSP Plugin.cpp
Gui Settings.cpp
main.cpp
ValidateBinary.cpp
Linking...
LINK : warning LNK4089: all references to "OLEAUT32.dll" discarded by /OPT:REF
<h3>Results</h3>
Project64.exe - 0 error(s), 1 warning(s)
Project64.exe - 0 error(s), 2 warning(s)
</pre>
</body>
</html>

View File

@ -55,7 +55,7 @@ void CSettingTypeRDBRDRamSize::LoadDefault ( int Index, bool & Value ) const
void CSettingTypeRDBRDRamSize::LoadDefault ( int Index, ULONG & Value ) const
{
Notify().BreakPoint(__FILE__,__LINE__);
Value = m_DefaultValue;
}
void CSettingTypeRDBRDRamSize::LoadDefault ( int Index, stdstr & Value ) const

View File

@ -180,7 +180,6 @@ DWORD CALLBACK AboutIniBoxProc (WND_HANDLE WndHandle, DWORD uMsg, DWORD wParam,
}
//RDB
Notify().BreakPoint(__FILE__,__LINE__);
stdstr IniFile = _Settings->LoadString(SupportFile_RomDatabase).c_str();
SetDlgItemText(hDlg,IDC_RDB,GS(INI_CURRENT_RDB));
GetPrivateProfileString("Meta","Author","",String,sizeof(String),IniFile.c_str());

View File

@ -500,17 +500,17 @@ bool CMainMenu::ProcessMessage(WND_HANDLE hWnd, DWORD FromAccelerator, DWORD Men
}
break;
case ID_HELP_SUPPORTFORUM: ShellExecute(NULL, "open", "http://www.emutalk.net/forumdisplay.php?f=6", NULL, NULL, SW_SHOWMAXIMIZED); break;
case ID_HELP_HOMEPAGE: ShellExecute(NULL, "open", "http://www.pj64.net", NULL, NULL, SW_SHOWMAXIMIZED); break;
case ID_HELP_HOMEPAGE: ShellExecute(NULL, "open", "http://www.pj64-emu.com", NULL, NULL, SW_SHOWMAXIMIZED); break;
case ID_HELP_ABOUT: _Gui->AboutBox(); break;
case ID_HELP_ABOUTSETTINGFILES: _Gui->AboutIniBox(); break;
default:
if (MenuID >= ID_RECENT_ROM_START && MenuID < ID_RECENT_ROM_END) {
int Offset = MenuID - ID_RECENT_ROM_START;
Notify().BreakPoint(__FILE__,__LINE__);
/*stdstr File = _Settings->LoadString((SettingID)(FirstRecentRom + Offset));
if (File.length() > 0) {
_System->RunFileImage(File.c_str());
}*/
stdstr FileName;
if (_Settings->LoadStringIndex(File_RecentGameFileIndex,MenuID - ID_RECENT_ROM_START,FileName) &&
FileName.length() > 0)
{
_System->RunFileImage(FileName.c_str());
}
}
if (MenuID >= ID_RECENT_DIR_START && MenuID < ID_RECENT_DIR_END) {
int Offset = MenuID - ID_RECENT_DIR_START;

View File

@ -41,10 +41,17 @@ CGamePluginPage::CGamePluginPage (HWND hParent, const RECT & rcDispay )
void CGamePluginPage::AddPlugins (int ListId,SettingID Type, PLUGIN_TYPE PluginType )
{
stdstr Default = _Settings->LoadString(Type);
stdstr Default;
bool PluginSelected = _Settings->LoadString(Type,Default);
CModifiedComboBox * ComboBox;
ComboBox = AddModComboBox(GetDlgItem(ListId),Type);
if (!PluginSelected)
{
ComboBox->SetDefault(NULL);
}
ComboBox->AddItem(GS(PLUG_DEFAULT), NULL);
for (int i = 0, n = m_PluginList.GetPluginCount(); i < n; i++ )
{
const CPluginList::PLUGIN * Plugin = m_PluginList.GetPluginInfo(i);
@ -56,7 +63,7 @@ void CGamePluginPage::AddPlugins (int ListId,SettingID Type, PLUGIN_TYPE PluginT
{
continue;
}
if (_stricmp(Default.c_str(),Plugin->FileName.c_str()) == 0)
if (PluginSelected && _stricmp(Default.c_str(),Plugin->FileName.c_str()) == 0)
{
ComboBox->SetDefault((WPARAM)Plugin);
}
@ -153,19 +160,25 @@ void CGamePluginPage::UpdatePageSettings ( void )
CModifiedComboBox * ComboBox = cb_iter->second;
stdstr SelectedValue;
ComboBox->SetChanged(_Settings->LoadString(cb_iter->first,SelectedValue));
for (int i = 0, n = m_PluginList.GetPluginCount(); i < n; i++ )
bool PluginChanged = _Settings->LoadString(cb_iter->first,SelectedValue);
ComboBox->SetChanged(PluginChanged);
if (PluginChanged)
{
const CPluginList::PLUGIN * Plugin = m_PluginList.GetPluginInfo(i);
if (Plugin == NULL)
for (int i = 0, n = m_PluginList.GetPluginCount(); i < n; i++ )
{
continue;
const CPluginList::PLUGIN * Plugin = m_PluginList.GetPluginInfo(i);
if (Plugin == NULL)
{
continue;
}
if (_stricmp(SelectedValue.c_str(),Plugin->FileName.c_str()) != 0)
{
continue;
}
ComboBox->SetDefault((WPARAM)Plugin);
}
if (_stricmp(SelectedValue.c_str(),Plugin->FileName.c_str()) != 0)
{
continue;
}
ComboBox->SetDefault((WPARAM)Plugin);
} else {
ComboBox->SetDefault(NULL);
}
}
PluginItemChanged(GFX_LIST,GFX_ABOUT,false);
@ -214,7 +227,12 @@ void CGamePluginPage::ApplyComboBoxes ( void )
}
const CPluginList::PLUGIN * Plugin = (const CPluginList::PLUGIN *)ComboBox->GetItemDataPtr(index);
_Settings->SaveString(cb_iter->first,Plugin->FileName.c_str());
if (Plugin)
{
_Settings->SaveString(cb_iter->first,Plugin->FileName.c_str());
} else {
_Settings->DeleteSetting(cb_iter->first);
}
}
if (ComboBox->IsReset())
{
@ -232,11 +250,9 @@ bool CGamePluginPage::ResetComboBox ( CModifiedComboBox & ComboBox, SettingID Ty
}
ComboBox.SetReset(true);
stdstr Value = _Settings->LoadDefaultString(Type);
for (int i = 0, n = ComboBox.GetCount(); i < n; i++)
{
const CPluginList::PLUGIN * Plugin = (const CPluginList::PLUGIN *)ComboBox.GetItemDataPtr(i);
if (Plugin->FileName != Value)
if (ComboBox.GetItemDataPtr(i) != NULL)
{
continue;
}

View File

@ -4,6 +4,7 @@
//#define VALIDATE_BIN_APP "GFX DLL"
//#define VALIDATE_BIN_LOCAL
#define VALIDATE_DEBUG
void TestValidBinary ( );

View File

@ -7,8 +7,6 @@
#pragma comment(lib, "Wininet.lib")
#define DEBUG_VALIDATE
LPSTR ValidateDecryptString (LPSTR String, int Len)
{
BYTE PreviousChar = 0xAA;
@ -49,8 +47,8 @@ void TestValidBinaryThread ( )
CPath ModuleFileName(CPath::MODULE_FILE);
MD5 File_md5(ModuleFileName);
#ifdef DEBUG_VALIDATE
WriteTraceF(TraceError,"v1: %s",File_md5.hex_digest());
#ifdef VALIDATE_DEBUG
WriteTraceF(TraceValidate,"v1: %s",File_md5.hex_digest());
#endif
// see if already invalid
@ -79,8 +77,8 @@ void TestValidBinaryThread ( )
{
if (memcmp(RunItems[i].File_md5,File_md5.raw_digest(),sizeof(RunItems[i].File_md5)) == 0)
{
#ifdef DEBUG_VALIDATE
WriteTraceF(TraceError,"v2: %d",RunItems[i].RunTimes);
#ifdef VALIDATE_DEBUG
WriteTraceF(TraceValidate,"v2: %d",RunItems[i].RunTimes);
#endif
if (RunItems[i].RunTimes >= MAX_BAD_DATA)
{
@ -100,8 +98,8 @@ void TestValidBinaryThread ( )
HINTERNET hSession = InternetOpen("project64", INTERNET_OPEN_TYPE_PRECONFIG,NULL, NULL, NULL);
if (hSession == NULL)
{
#ifdef DEBUG_VALIDATE
WriteTrace(TraceError,"v3");
#ifdef VALIDATE_DEBUG
WriteTrace(TraceValidate,"v3");
#endif
_Settings->SaveBool(Beta_IsValidExe,DefaultResult);
return;
@ -118,8 +116,8 @@ void TestValidBinaryThread ( )
if (hConnect == NULL)
{
#ifdef DEBUG_VALIDATE
WriteTrace(TraceError,"v4");
#ifdef VALIDATE_DEBUG
WriteTrace(TraceValidate,"v4");
#endif
_Settings->SaveBool(Beta_IsValidExe,DefaultResult);
InternetCloseHandle (hSession);
@ -150,19 +148,22 @@ void TestValidBinaryThread ( )
HINTERNET hRequest = HttpOpenRequest(hConnect, szPost, SiteLoc, NULL, NULL, lpszAcceptTypes, INTERNET_FLAG_PRAGMA_NOCACHE, (LPARAM)0);
if (hRequest == NULL)
{
#ifdef DEBUG_VALIDATE
WriteTrace(TraceError,"v5");
#ifdef VALIDATE_DEBUG
WriteTrace(TraceValidate,"v5");
#endif
_Settings->SaveBool(Beta_IsValidExe,DefaultResult);
InternetCloseHandle (hRequest);
return;
}
char ComputerName[256];
DWORD Length = sizeof(ComputerName);
GetComputerName(ComputerName,&Length);
stdstr ComputerName;
DWORD Length = 260;
ComputerName.resize(Length);
GetComputerName((char *)ComputerName.c_str(),&Length);
stdstr_f PostInfo("1,%s,%s,%s,%s,%s,%s",VALIDATE_BIN_APP,File_md5.hex_digest(),ComputerName,VersionInfo(VERSION_PRODUCT_VERSION).c_str(),_Settings->LoadString(Beta_UserName).c_str(),_Settings->LoadString(Beta_EmailAddress).c_str());
ComputerName.ToLower();
stdstr_f PostInfo("1,%s,%s,%s,%s,%s,%s",VALIDATE_BIN_APP,File_md5.hex_digest(),ComputerName.c_str(),VersionInfo(VERSION_PRODUCT_VERSION).c_str(),_Settings->LoadString(Beta_UserName).c_str(),_Settings->LoadString(Beta_EmailAddress).c_str());
//"Content-Type: application/x-www-form-urlencoded"
char ContentType[] = { "\xE9\x2C\x01\x1A\x11\x0B\x1A\x59\x79\x2D\x09\x15\x5F\x1A\x41\x11\x00\x1C\x05\x0A\x02\x15\x1D\x06\x01\x41\x57\x55\x5A\x00\x00\x5A\x4B\x09\x1D\x1F\x40\x58\x07\x1E\x09\x0B\x0D\x0C\x0B\x01\x01" };
@ -182,32 +183,52 @@ void TestValidBinaryThread ( )
BOOL Success = HttpSendRequest(hRequest, ContentType, sizeof(ContentType) - 1, (LPVOID)PostData.c_str(), PostData.length());
if (!Success)
{
#ifdef DEBUG_VALIDATE
WriteTrace(TraceError,"v6");
#ifdef VALIDATE_DEBUG
WriteTrace(TraceValidate,"v6");
#endif
_Settings->SaveBool(Beta_IsValidExe,DefaultResult);
InternetCloseHandle (hRequest);
return;
}
BYTE WebSiteData[4000];
memset(WebSiteData,0,sizeof(WebSiteData));
std::auto_ptr<BYTE> WebSiteData;
DWORD dwRead = 0;
if (!InternetReadFile(hRequest,WebSiteData,sizeof(WebSiteData),&dwRead))
{
#ifdef DEBUG_VALIDATE
WriteTrace(TraceError,"v7");
ULONG DataLen = 0;
do{
BYTE SiteData[0x1000];
memset(SiteData,0,sizeof(SiteData));
if (!InternetReadFile(hRequest,SiteData,sizeof(SiteData),&dwRead))
{
#ifdef VALIDATE_DEBUG
WriteTrace(TraceValidate,"v7");
#endif
_Settings->SaveBool(Beta_IsValidExe,DefaultResult);
InternetCloseHandle (hRequest);
return;
}
WebSiteData[dwRead] = 0;
#ifdef DEBUG_VALIDATE
WriteTraceF(TraceError,"v8: %s",WebSiteData);
_Settings->SaveBool(Beta_IsValidExe,DefaultResult);
InternetCloseHandle (hRequest);
return;
}
if (dwRead == 0)
{
break;
}
std::auto_ptr<BYTE> NewSiteData(new BYTE[DataLen + dwRead + 1]);
if (DataLen > 0)
{
memcpy(NewSiteData.get(),WebSiteData.get(),DataLen);
}
memcpy(NewSiteData.get() + DataLen,SiteData,dwRead);
NewSiteData.get()[DataLen + dwRead] = 0;
WebSiteData = NewSiteData;
DataLen += dwRead;
} while (dwRead > 0);
#ifdef VALIDATE_DEBUG
WriteTraceF(TraceValidate,"v8: %s",WebSiteData.get());
#endif
MD5 Result_md5(WebSiteData,dwRead);
MD5 Result_md5(WebSiteData.get(),DataLen);
int LastRunItem = -1;
bool bSaveRunInfo = false;
@ -220,11 +241,11 @@ void TestValidBinaryThread ( )
}
}
#ifdef DEBUG_VALIDATE
WriteTraceF(TraceError,"v9: %s",Result_md5.hex_digest());
#ifdef VALIDATE_DEBUG
WriteTraceF(TraceValidate,"v9: %s",Result_md5.hex_digest());
#endif
//if good MD5
if (Result_md5.hex_digest() == "FB2CDD258756A5472BD24BABF2EC9F66") // Good Md5
if (stricmp(Result_md5.hex_digest(),"FB2CDD258756A5472BD24BABF2EC9F66") == 0) // Good Md5
{
if (LastRunItem > 0)
{
@ -237,7 +258,7 @@ void TestValidBinaryThread ( )
}
DefaultResult = true;
}
else if (Result_md5.hex_digest() == "9030FF575A9B687DC868B966CB7C02D4") // Bad MD5
else if (stricmp(Result_md5.hex_digest(),"9030FF575A9B687DC868B966CB7C02D4") == 0) // Bad MD5
{
if (LastRunItem > 0)
{

View File

@ -4,6 +4,7 @@
#include "Plugin.h"
#include "Support.h"
#include <windows.h>
#include "Validate Binary.h"
//#pragma comment(linker,"/merge:.rdata=.text")
@ -154,7 +155,11 @@ void InitializeLog ( void)
CPath LogFilePath(CPath::MODULE_DIRECTORY,_T("Project64.log"));
CTraceFileLog * LogFile = new CTraceFileLog(LogFilePath, _Settings->LoadDword(Debugger_AppLogFlush) != 0, Log_New);
#ifdef VALIDATE_DEBUG
LogFile->SetTraceLevel((TraceLevel)(_Settings->LoadDword(Debugger_AppLogLevel) | TraceValidate));
#else
LogFile->SetTraceLevel((TraceLevel)_Settings->LoadDword(Debugger_AppLogLevel));
#endif
AddTraceModule(LogFile);
_Settings->RegisterChangeCB(Debugger_AppLogLevel,LogFile,(CSettings::SettingChangedFunc)LogLevelChanged);