commit the local changes I had on my hard disk

This commit is contained in:
zilmar 2012-09-22 15:53:39 +10:00
parent e815584b59
commit 86397d912c
29 changed files with 161 additions and 117 deletions

View File

@ -7091,31 +7091,28 @@ SMM-PI DMA=0
SMM-TLB=0
[EC7011B7-7616D72B-C:45]
Aspect Correction=1
CPU Type=Recompiler
Cheat0=801DA5CB 0002
Clear Frame=0
Core Note=(see GameFAQ)
Counter Factor=2
Culling=1
CustomSMM=1
Emulate Clear=1
FuncFind=1
Good Name=Legend of Zelda, The - Ocarina of Time (U) (V1.0)
Internal Name=THE LEGEND OF ZELDA
RDRAM Size=4
Counter Factor=2
CPU Type=Recompiler
Self-modifying code Method=Check Memory Advance
Use TLB=No
Status=Compatible
Core Note=(see GameFAQ)
Plugin Note=
Clear Frame=0
Self Texture=1
Primary Frame Buffer=0
//Resolution Width=-1
//Resolution Height=-1
Culling=1
Emulate Clear=1
Cheat0=801DA5CB 0002 //Subscreen Delay Fix
MD5=AA3911F5D5598E19E0183E15B6719C36
CustomSMM=1
Plugin Note=
Primary Frame Buffer=0
RDRAM Size=4
SMM-PI DMA=0
SMM-TLB=0
FuncFind=1
ClearvFrame=0
Aspect Correction=1
Self Texture=1
Self-modifying code Method=Check Memory Advance
Status=Compatible
Use TLB=No
[D43DA81F-021E1E19-C:45]
Good Name=Legend of Zelda, The - Ocarina of Time (U) (V1.1)

View File

@ -14,18 +14,25 @@
#define _WIN32_WINNT 0x0500
#endif
#include <windows.h>
#include <xdebug>
#include <xlocale>
#include <xiosbase>
#include <xtree>
#define new new(__FILE__, __LINE__)
#include <map>
#include <windows.h>
#undef new
/*
#include <crtdbg.h>
#include <malloc.h>
#include <fstream>
#include <xdebug>
#include <xlocale>
#include <xlocnum>
#include <xlocmon>
#include <sstream>
#include <list>
*/
typedef struct {

View File

@ -55,6 +55,9 @@ void CSystemEvents::ExecuteEvents ( void )
case SysEvent_ResetCPU_SoftDone:
_System->Reset(true,false);
break;
case SysEvent_ResetCPU_Hard:
_System->Reset(true,true);
break;
case SysEvent_Profile_GenerateLogs:
GenerateProfileLog();
break;

View File

@ -75,6 +75,7 @@ void CN64System::ExternalEvent ( SystemEvent action )
case SysEvent_Interrupt_DP:
QueueEvent(action);
break;
case SysEvent_ResetCPU_Hard:
case SysEvent_ResetCPU_Soft:
case SysEvent_CloseCPU:
QueueEvent(action);
@ -135,31 +136,6 @@ void CN64System::ExternalEvent ( SystemEvent action )
SetEvent(m_hPauseEvent);
}
break;
case SysEvent_ResetCPU_Hard:
{
_Notify->BreakPoint(__FILE__,__LINE__);
#ifdef tofix
m_InReset = true;
CN64Rom * TempRom = _Rom;
_Rom = 0;
Reset();
_Rom = TempRom;
m_Limitor.SetHertz(_Settings->LoadDword(Game_ScreenHertz)); //Is set in LoadRomSettings
//Recreate Memory
m_Reg = new CRegisters(this, _Notify);
_MMU = new CMipsMemoryVM(this);
_MMU->FixRDramSize();
m_Audio.Reset();
m_InReset = false;
StartEmulation(true);
#endif
}
break;
case SysEvent_CPUUsageTimerChanged:
g_ShowCPUPer = _Settings->LoadDword(UserInterface_ShowCPUPer);
break;
@ -498,10 +474,6 @@ bool CN64System::IsDialogMsg( MSG * msg )
void CN64System::Reset (bool bInitReg, bool ClearMenory)
{
if (m_Recomp)
{
m_Recomp->ResetRecompCode();
}
if (_Plugins) { _Plugins->GameReset(); }
m_Audio.Reset();
m_MMU_VM.Reset(ClearMenory);
@ -514,7 +486,6 @@ void CN64System::Reset (bool bInitReg, bool ClearMenory)
m_UnknownCount = 0;
m_DMAUsed = false;
m_Reg.Reset();
m_SystemTimer.Reset();
m_SystemTimer.SetTimer(CSystemTimer::CompareTimer,m_Reg.COMPARE_REGISTER - m_Reg.COUNT_REGISTER,false);
@ -532,7 +503,14 @@ void CN64System::Reset (bool bInitReg, bool ClearMenory)
{
memcpy((m_MMU_VM.Dmem()+0x40), (_Rom->GetRomAddress() + 0x040), 0xFBC);
}
} else {
m_Reg.Reset();
}
if (m_Recomp)
{
m_Recomp->Reset();
}
if (_Plugins) { _Plugins->GameReset(); }
}
bool CN64System::SetActiveSystem( bool bActive )

View File

@ -534,6 +534,12 @@ void CRecompiler::RecompilerMain_Lookup( void )
}*/
}
void CRecompiler::Reset()
{
ResetRecompCode();
ResetMemoryStackPos();
}
void CRecompiler::ResetRecompCode()
{
CRecompMemory::Reset();
@ -896,6 +902,11 @@ void CRecompiler::ClearRecompCode_Virt(DWORD Address, int length,REMOVE_REASON R
void CRecompiler::ResetMemoryStackPos( void )
{
if (_Reg->m_GPR[29].UW[0] == 0)
{
m_MemoryStack = NULL;
return;
}
if (_MMU == NULL || _Reg == NULL)
{
_Notify->BreakPoint(__FILE__,__LINE__);

View File

@ -23,6 +23,7 @@ public:
~CRecompiler (void);
void Run ( void );
void Reset ( void );
void ResetRecompCode ( void );
bool GenerateX86Code (CCodeBlock & BlockInfo, CCodeSection * Section, DWORD Test );

View File

@ -23,6 +23,9 @@ CSettingTypeApplicationIndex::CSettingTypeApplicationIndex(LPCSTR Section, LPCST
{
}
CSettingTypeApplicationIndex::~CSettingTypeApplicationIndex ( void )
{
}
bool CSettingTypeApplicationIndex::Load ( int Index, bool & Value ) const
{

View File

@ -20,6 +20,8 @@ enum SettingType {
class CSettingType
{
public:
virtual ~CSettingType() {};
virtual SettingType GetSettingType ( void ) const = 0;
virtual bool IndexBasedSetting ( void ) const = 0;

View File

@ -2,19 +2,23 @@
#include "SettingsType-Cheats.h"
CIniFile * CSettingTypeCheats::m_CheatIniFile = NULL;
stdstr CSettingTypeCheats::m_SectionIdent;
stdstr * CSettingTypeCheats::m_SectionIdent = NULL;
CSettingTypeCheats::CSettingTypeCheats(LPCSTR PostFix ) :
m_PostFix(PostFix)
{
}
CSettingTypeCheats::~CSettingTypeCheats ( void )
{
}
void CSettingTypeCheats::Initilize ( void )
{
m_CheatIniFile = new CIniFile(_Settings->LoadString(SupportFile_Cheats).c_str());
m_CheatIniFile->SetAutoFlush(false);
_Settings->RegisterChangeCB(Game_IniKey,NULL,GameChanged);
m_SectionIdent = _Settings->LoadString(Game_IniKey);
m_SectionIdent = new stdstr(_Settings->LoadString(Game_IniKey));
GameChanged(NULL);
}
@ -26,6 +30,11 @@ void CSettingTypeCheats::CleanUp ( void )
delete m_CheatIniFile;
m_CheatIniFile = NULL;
}
if (m_SectionIdent)
{
delete m_SectionIdent;
m_SectionIdent = NULL;
}
}
void CSettingTypeCheats::FlushChanges( void )
@ -38,7 +47,7 @@ void CSettingTypeCheats::FlushChanges( void )
void CSettingTypeCheats::GameChanged ( void * /*Data */ )
{
m_SectionIdent = _Settings->LoadString(Game_IniKey);
*m_SectionIdent = _Settings->LoadString(Game_IniKey);
}
@ -75,7 +84,7 @@ bool CSettingTypeCheats::Load ( int Index, stdstr & Value ) const
return false;
}
stdstr_f Key("Cheat%d%s",Index,m_PostFix);
return m_CheatIniFile->GetString(m_SectionIdent.c_str(),Key.c_str(),"",Value);
return m_CheatIniFile->GetString(m_SectionIdent->c_str(),Key.c_str(),"",Value);
}
//return the default values
@ -110,7 +119,7 @@ void CSettingTypeCheats::Save ( int Index, const stdstr & Value )
if (m_CheatIniFile == NULL) { return; }
stdstr_f Key("Cheat%d%s",Index,m_PostFix);
m_CheatIniFile->SaveString(m_SectionIdent.c_str(),Key.c_str(),Value.c_str());
m_CheatIniFile->SaveString(m_SectionIdent->c_str(),Key.c_str(),Value.c_str());
}
void CSettingTypeCheats::Save ( int Index, const char * Value )
@ -118,11 +127,11 @@ void CSettingTypeCheats::Save ( int Index, const char * Value )
if (m_CheatIniFile == NULL) { return; }
stdstr_f Key("Cheat%d%s",Index,m_PostFix);
m_CheatIniFile->SaveString(m_SectionIdent.c_str(),Key.c_str(),Value);
m_CheatIniFile->SaveString(m_SectionIdent->c_str(),Key.c_str(),Value);
}
void CSettingTypeCheats::Delete ( int Index )
{
stdstr_f Key("Cheat%d%s",Index,m_PostFix);
m_CheatIniFile->SaveString(m_SectionIdent.c_str(),Key.c_str(),NULL);
m_CheatIniFile->SaveString(m_SectionIdent->c_str(),Key.c_str(),NULL);
}

View File

@ -6,7 +6,7 @@ class CSettingTypeCheats :
protected:
static CIniFile * m_CheatIniFile;
static stdstr m_SectionIdent;
static stdstr * m_SectionIdent;
const LPCSTR m_PostFix;
static void GameChanged ( void * /*Data */ );

View File

@ -4,7 +4,7 @@
bool CSettingTypeGame::m_RdbEditor = false;
bool CSettingTypeGame::m_EraseDefaults = true;
stdstr CSettingTypeGame::m_SectionIdent;
stdstr * CSettingTypeGame::m_SectionIdent = NULL;
CSettingTypeGame::CSettingTypeGame(LPCSTR Name, LPCSTR DefaultValue ) :
CSettingTypeApplication("",Name,DefaultValue)
@ -34,11 +34,16 @@ void CSettingTypeGame::Initilize ( void )
void CSettingTypeGame::CleanUp ( void )
{
_Settings->UnregisterChangeCB(Game_IniKey,NULL,UpdateSettings);
if (m_SectionIdent)
{
delete m_SectionIdent;
m_SectionIdent = NULL;
}
}
LPCSTR CSettingTypeGame::SectionName ( void ) const
{
return m_SectionIdent.c_str();
return m_SectionIdent ? m_SectionIdent->c_str() : "";
}
void CSettingTypeGame::UpdateSettings ( void * /*Data */ )
@ -47,9 +52,13 @@ void CSettingTypeGame::UpdateSettings ( void * /*Data */ )
m_EraseDefaults = _Settings->LoadBool(Setting_EraseGameDefaults);
stdstr SectionIdent = _Settings->LoadString(Game_IniKey);
if (SectionIdent != m_SectionIdent)
if (m_SectionIdent == NULL)
{
m_SectionIdent = SectionIdent;
m_SectionIdent = new stdstr;
}
if (SectionIdent != *m_SectionIdent)
{
*m_SectionIdent = SectionIdent;
_Settings->SettingTypeChanged(SettingType_GameSetting);
_Settings->SettingTypeChanged(SettingType_RomDatabase);
}

View File

@ -6,7 +6,7 @@ class CSettingTypeGame :
protected:
static bool m_RdbEditor;
static bool m_EraseDefaults;
static stdstr m_SectionIdent;
static stdstr * m_SectionIdent;
static void UpdateSettings ( void * /*Data */ );

View File

@ -25,7 +25,7 @@ bool CSettingTypeRDBCpuType::Load ( int Index, bool & Value ) const
bool CSettingTypeRDBCpuType::Load ( int Index, ULONG & Value ) const
{
stdstr strValue;
bool bRes = m_SettingsIniFile->GetString(m_SectionIdent.c_str(),m_KeyName.c_str(),m_DefaultStr,strValue);
bool bRes = m_SettingsIniFile->GetString(m_SectionIdent->c_str(),m_KeyName.c_str(),m_DefaultStr,strValue);
if (!bRes)
{
LoadDefault(Index,Value);
@ -94,7 +94,7 @@ void CSettingTypeRDBCpuType::Save ( int Index, ULONG Value )
default:
Notify().BreakPoint(__FILE__,__LINE__);
}
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),strValue.c_str());
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),strValue.c_str());
}
void CSettingTypeRDBCpuType::Save ( int Index, const stdstr & Value )
@ -109,5 +109,5 @@ void CSettingTypeRDBCpuType::Save ( int Index, const char * Value )
void CSettingTypeRDBCpuType::Delete( int Index )
{
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),NULL);
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),NULL);
}

View File

@ -19,7 +19,7 @@ CSettingTypeRDBOnOff::CSettingTypeRDBOnOff(LPCSTR Name, int DefaultValue ) :
bool CSettingTypeRDBOnOff::Load ( int Index, bool & Value ) const
{
stdstr strValue;
bool bRes = m_SettingsIniFile->GetString(m_SectionIdent.c_str(),m_KeyName.c_str(),m_DefaultStr,strValue);
bool bRes = m_SettingsIniFile->GetString(m_SectionIdent->c_str(),m_KeyName.c_str(),m_DefaultStr,strValue);
if (!bRes)
{
LoadDefault(Index,Value);
@ -79,7 +79,7 @@ void CSettingTypeRDBOnOff::LoadDefault ( int Index, stdstr & Value ) const
//Update the settings
void CSettingTypeRDBOnOff::Save ( int Index, bool Value )
{
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),Value? "On" : "Off");
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),Value? "On" : "Off");
}
void CSettingTypeRDBOnOff::Save ( int Index, ULONG Value )
@ -99,5 +99,5 @@ void CSettingTypeRDBOnOff::Save ( int Index, const char * Value )
void CSettingTypeRDBOnOff::Delete( int Index )
{
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),NULL);
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),NULL);
}

View File

@ -27,7 +27,7 @@ bool CSettingTypeRDBRDRamSize::Load ( int Index, bool & Value ) const
bool CSettingTypeRDBRDRamSize::Load ( int Index, ULONG & Value ) const
{
ULONG ulValue;
bool bRes = m_SettingsIniFile->GetNumber(m_SectionIdent.c_str(),m_KeyName.c_str(),m_DefaultValue,ulValue);
bool bRes = m_SettingsIniFile->GetNumber(m_SectionIdent->c_str(),m_KeyName.c_str(),m_DefaultValue,ulValue);
if (!bRes)
{
LoadDefault(Index,ulValue);
@ -70,7 +70,7 @@ void CSettingTypeRDBRDRamSize::Save ( int Index, bool Value )
void CSettingTypeRDBRDRamSize::Save ( int Index, ULONG Value )
{
m_SettingsIniFile->SaveNumber(m_SectionIdent.c_str(),m_KeyName.c_str(),Value == 0x800000 ? 8 : 4);
m_SettingsIniFile->SaveNumber(m_SectionIdent->c_str(),m_KeyName.c_str(),Value == 0x800000 ? 8 : 4);
}
void CSettingTypeRDBRDRamSize::Save ( int Index, const stdstr & Value )
@ -85,5 +85,5 @@ void CSettingTypeRDBRDRamSize::Save ( int Index, const char * Value )
void CSettingTypeRDBRDRamSize::Delete( int Index )
{
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),NULL);
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),NULL);
}

View File

@ -25,7 +25,7 @@ bool CSettingTypeRDBSaveChip::Load ( int Index, bool & Value ) const
bool CSettingTypeRDBSaveChip::Load ( int Index, ULONG & Value ) const
{
stdstr strValue;
bool bRes = m_SettingsIniFile->GetString(m_SectionIdent.c_str(),m_KeyName.c_str(),m_DefaultStr,strValue);
bool bRes = m_SettingsIniFile->GetString(m_SectionIdent->c_str(),m_KeyName.c_str(),m_DefaultStr,strValue);
if (!bRes)
{
LoadDefault(Index,Value);
@ -89,11 +89,11 @@ void CSettingTypeRDBSaveChip::Save ( int Index, ULONG Value )
{
switch (Value)
{
case SaveChip_Auto: m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),"First Save Type"); break;
case SaveChip_Eeprom_4K: m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),"4kbit Eeprom"); break;
case SaveChip_Eeprom_16K: m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),"16kbit Eeprom"); break;
case SaveChip_Sram: m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),"Sram"); break;
case SaveChip_FlashRam: m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),"FlashRam"); break;
case SaveChip_Auto: m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),"First Save Type"); break;
case SaveChip_Eeprom_4K: m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),"4kbit Eeprom"); break;
case SaveChip_Eeprom_16K: m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),"16kbit Eeprom"); break;
case SaveChip_Sram: m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),"Sram"); break;
case SaveChip_FlashRam: m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),"FlashRam"); break;
default:
Notify().BreakPoint(__FILE__,__LINE__);
}
@ -111,5 +111,5 @@ void CSettingTypeRDBSaveChip::Save ( int Index, const char * Value )
void CSettingTypeRDBSaveChip::Delete( int Index )
{
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),NULL);
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),NULL);
}

View File

@ -19,7 +19,7 @@ CSettingTypeRDBYesNo::CSettingTypeRDBYesNo(LPCSTR Name, int DefaultValue ) :
bool CSettingTypeRDBYesNo::Load ( int Index, bool & Value ) const
{
stdstr strValue;
bool bRes = m_SettingsIniFile->GetString(m_SectionIdent.c_str(),m_KeyName.c_str(),m_DefaultStr,strValue);
bool bRes = m_SettingsIniFile->GetString(m_SectionIdent->c_str(),m_KeyName.c_str(),m_DefaultStr,strValue);
if (!bRes)
{
LoadDefault(Index,Value);
@ -34,7 +34,7 @@ bool CSettingTypeRDBYesNo::Load ( int Index, bool & Value ) const
LoadDefault(Index,Value);
return false;
} else {
WriteTraceF(TraceError,"Invalid Yes/No setting value (Section: %s Key: %s Value: %s)",m_SectionIdent.c_str(),String,m_KeyName.c_str(),strValue.c_str());
WriteTraceF(TraceError,"Invalid Yes/No setting value (Section: %s Key: %s Value: %s)",m_SectionIdent->c_str(),String,m_KeyName.c_str(),strValue.c_str());
LoadDefault(Index,Value);
return false;
}
@ -82,12 +82,12 @@ void CSettingTypeRDBYesNo::LoadDefault ( int Index, stdstr & Value ) const
//Update the settings
void CSettingTypeRDBYesNo::Save ( int Index, bool Value )
{
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),Value? "Yes" : "No");
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),Value? "Yes" : "No");
}
void CSettingTypeRDBYesNo::Save ( int Index, ULONG Value )
{
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),Value? "Yes" : "No");
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),Value? "Yes" : "No");
}
void CSettingTypeRDBYesNo::Save ( int Index, const stdstr & Value )
@ -102,5 +102,5 @@ void CSettingTypeRDBYesNo::Save ( int Index, const char * Value )
void CSettingTypeRDBYesNo::Delete( int Index )
{
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),NULL);
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),NULL);
}

View File

@ -7,6 +7,10 @@ CSettingTypeRelativePath::CSettingTypeRelativePath(LPCSTR Path, LPCSTR FileName)
m_FileName.AppendDirectory(Path);
}
CSettingTypeRelativePath::~CSettingTypeRelativePath ( void )
{
}
bool CSettingTypeRelativePath::Load ( int Index, stdstr & value ) const
{
value = (LPCSTR)m_FileName;

View File

@ -2,7 +2,7 @@
#include "SettingsType-RomDatabase.h"
CIniFile * CSettingTypeRomDatabase::m_SettingsIniFile = NULL;
stdstr CSettingTypeRomDatabase::m_SectionIdent;
stdstr * CSettingTypeRomDatabase::m_SectionIdent = NULL;
CSettingTypeRomDatabase::CSettingTypeRomDatabase(LPCSTR Name, int DefaultValue, bool DeleteOnDefault ) :
m_KeyName(Name),
@ -50,7 +50,7 @@ void CSettingTypeRomDatabase::Initilize( void )
_Settings->RegisterChangeCB(Game_IniKey,NULL,GameChanged);
m_SectionIdent = _Settings->LoadString(Game_IniKey);
m_SectionIdent = new stdstr(_Settings->LoadString(Game_IniKey));
}
void CSettingTypeRomDatabase::CleanUp( void )
@ -61,11 +61,19 @@ void CSettingTypeRomDatabase::CleanUp( void )
delete m_SettingsIniFile;
m_SettingsIniFile = NULL;
}
if (m_SectionIdent)
{
delete m_SectionIdent;
m_SectionIdent = NULL;
}
}
void CSettingTypeRomDatabase::GameChanged ( void * /*Data */ )
{
m_SectionIdent = _Settings->LoadString(Game_IniKey);
if (m_SectionIdent)
{
*m_SectionIdent = _Settings->LoadString(Game_IniKey);
}
}
bool CSettingTypeRomDatabase::Load ( int Index, bool & Value ) const
@ -78,7 +86,7 @@ bool CSettingTypeRomDatabase::Load ( int Index, bool & Value ) const
bool CSettingTypeRomDatabase::Load ( int Index, ULONG & Value ) const
{
bool bRes = m_SettingsIniFile->GetNumber(m_SectionIdent.c_str(),m_KeyName.c_str(),Value,Value);
bool bRes = m_SettingsIniFile->GetNumber(m_SectionIdent->c_str(),m_KeyName.c_str(),Value,Value);
if (!bRes)
{
LoadDefault(Index,Value);
@ -89,7 +97,7 @@ bool CSettingTypeRomDatabase::Load ( int Index, ULONG & Value ) const
bool CSettingTypeRomDatabase::Load ( int Index, stdstr & Value ) const
{
stdstr temp_value;
bool bRes = m_SettingsIniFile->GetString(m_SectionIdent.c_str(),m_KeyName.c_str(),m_DefaultStr,temp_value);
bool bRes = m_SettingsIniFile->GetString(m_SectionIdent->c_str(),m_KeyName.c_str(),m_DefaultStr,temp_value);
if (bRes)
{
Value = temp_value;
@ -150,7 +158,7 @@ void CSettingTypeRomDatabase::Save ( int Index, bool Value )
{
Notify().BreakPoint(__FILE__,__LINE__);
}
m_SettingsIniFile->SaveNumber(m_SectionIdent.c_str(),m_KeyName.c_str(),Value);
m_SettingsIniFile->SaveNumber(m_SectionIdent->c_str(),m_KeyName.c_str(),Value);
}
void CSettingTypeRomDatabase::Save ( int Index, ULONG Value )
@ -165,20 +173,20 @@ void CSettingTypeRomDatabase::Save ( int Index, ULONG Value )
return;
}
}
m_SettingsIniFile->SaveNumber(m_SectionIdent.c_str(),m_KeyName.c_str(),Value);
m_SettingsIniFile->SaveNumber(m_SectionIdent->c_str(),m_KeyName.c_str(),Value);
}
void CSettingTypeRomDatabase::Save ( int Index, const stdstr & Value )
{
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),Value.c_str());
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),Value.c_str());
}
void CSettingTypeRomDatabase::Save ( int Index, const char * Value )
{
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),Value);
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),Value);
}
void CSettingTypeRomDatabase::Delete ( int Index )
{
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),NULL);
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),NULL);
}

View File

@ -10,7 +10,7 @@ protected:
const SettingID m_DefaultSetting;
const bool m_DeleteOnDefault;
static stdstr m_SectionIdent;
static stdstr * m_SectionIdent;
static CIniFile * m_SettingsIniFile;
static void GameChanged ( void * /*Data */ );

View File

@ -92,5 +92,5 @@ void CSettingTypeRomDatabaseIndex::Save ( int Index, const char * Value )
void CSettingTypeRomDatabaseIndex::Delete ( int Index )
{
m_SettingsIniFile->SaveString(m_SectionIdent.c_str(),m_KeyName.c_str(),NULL);
m_SettingsIniFile->SaveString(m_SectionIdent->c_str(),m_KeyName.c_str(),NULL);
}

View File

@ -6,6 +6,10 @@ CSettingTypeTempBool::CSettingTypeTempBool(bool initialValue) :
{
}
CSettingTypeTempBool::~CSettingTypeTempBool ( void )
{
}
bool CSettingTypeTempBool::Load ( int Index, bool & Value ) const
{
Value = m_value;

View File

@ -6,6 +6,10 @@ CSettingTypeTempNumber::CSettingTypeTempNumber(ULONG initialValue) :
{
}
CSettingTypeTempNumber::~CSettingTypeTempNumber ( void )
{
}
bool CSettingTypeTempNumber::Load ( int Index, bool & Value ) const
{
Notify().BreakPoint(__FILE__,__LINE__);

View File

@ -6,6 +6,11 @@ CSettingTypeTempString::CSettingTypeTempString(LPCSTR initialValue) :
{
}
CSettingTypeTempString::~CSettingTypeTempString ( void )
{
}
bool CSettingTypeTempString::Load ( int Index, bool & Value ) const
{
Notify().BreakPoint(__FILE__,__LINE__);

View File

@ -51,11 +51,9 @@ CSettings::~CSettings()
void CSettings::AddHandler ( SettingID TypeID, CSettingType * Handler )
{
SETTING_HANDLER FindInfo = m_SettingInfo.find(TypeID);
if (FindInfo == m_SettingInfo.end())
SETTING_MAP::_Pairib res = m_SettingInfo.insert(SETTING_MAP::value_type(TypeID,Handler));
if (!res.second)
{
m_SettingInfo.insert(SETTING_MAP::value_type(TypeID,Handler));
} else {
delete Handler;
}
}

View File

@ -694,7 +694,7 @@ DWORD CALLBACK CMainGui::MainGui_Proc (WND_HANDLE hWnd, DWORD uMsg, DWORD wParam
}
break;
}
if (bAutoSleep())
if (bAutoSleep() || fActive)
{
if (_BaseSystem)
{

View File

@ -925,8 +925,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,7,51,51
PRODUCTVERSION 1,7,51,51
FILEVERSION 1,7,51,52
PRODUCTVERSION 1,7,51,52
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -943,12 +943,12 @@ BEGIN
BEGIN
VALUE "CompanyName", " "
VALUE "FileDescription", "Project64"
VALUE "FileVersion", "1, 7, 51, 51"
VALUE "FileVersion", "1, 7, 51, 52"
VALUE "InternalName", "Project64"
VALUE "LegalCopyright", "Copyright © 2010"
VALUE "OriginalFilename", "Project64.exe"
VALUE "ProductName", " Project64"
VALUE "ProductVersion", "1, 7, 51, 51"
VALUE "ProductVersion", "1, 7, 51, 52"
END
END
BLOCK "VarFileInfo"

View File

@ -251,6 +251,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszArgs,
CoInitialize(NULL);
try
{
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_ABOVE_NORMAL );
LPCSTR AppName = "Project64 1.7";
_Lang = new CLanguage();

View File

@ -712,8 +712,8 @@ __declspec(dllexport) void PluginLoaded (void)
RegisterSetting(Set_Flags, Data_DWORD_General,"Check Flag Usage", NULL,Compiler.bFlags,NULL);
RegisterSetting(Set_AlignVector, Data_DWORD_General,"Assume Vector loads align", NULL,Compiler.bAlignVector,NULL);
AudioHle = GetSystemSetting(Set_AudioHle);
GraphicsHle = GetSystemSetting(Set_GraphicsHle);
AudioHle = Set_AudioHle != 0 ? GetSystemSetting(Set_AudioHle) : false;
GraphicsHle = Set_GraphicsHle != 0 ? GetSystemSetting(Set_GraphicsHle) : true;
hMutex = CreateMutex(NULL, FALSE, NULL);