diff --git a/Source/Core/Core/Src/PowerPC/PowerPC.cpp b/Source/Core/Core/Src/PowerPC/PowerPC.cpp
index 35fd413aed..a62f0f12b6 100644
--- a/Source/Core/Core/Src/PowerPC/PowerPC.cpp
+++ b/Source/Core/Core/Src/PowerPC/PowerPC.cpp
@@ -35,280 +35,280 @@
namespace PowerPC
{
- // STATE_TO_SAVE
- PowerPCState GC_ALIGNED16(ppcState);
- volatile CPUState state = CPU_STEPPING;
+// STATE_TO_SAVE
+PowerPCState GC_ALIGNED16(ppcState);
+volatile CPUState state = CPU_STEPPING;
- static CoreMode mode;
+static CoreMode mode;
- void CompactCR()
+void CompactCR()
+{
+ ppcState.cr = 0;
+ for (int i = 0; i < 8; i++) {
+ ppcState.cr |= ppcState.cr_fast[i] << (28 - i * 4);
+ }
+}
+
+void ExpandCR()
+{
+ for (int i = 0; i < 8; i++) {
+ ppcState.cr_fast[i] = (ppcState.cr >> (28 - i * 4)) & 0xF;
+ }
+}
+
+
+void DoState(PointerWrap &p)
+{
+ p.Do(ppcState);
+}
+
+void ResetRegisters()
+{
+ for (int i = 0; i < 32; i++)
{
- ppcState.cr = 0;
- for (int i = 0; i < 8; i++) {
- ppcState.cr |= ppcState.cr_fast[i] << (28 - i * 4);
- }
+ ppcState.gpr[i] = 0;
+ riPS0(i) = 0;
+ riPS1(i) = 0;
}
- void ExpandCR()
- {
- for (int i = 0; i < 8; i++) {
- ppcState.cr_fast[i] = (ppcState.cr >> (28 - i * 4)) & 0xF;
- }
- }
+ memset(ppcState.spr, 0, sizeof(ppcState.spr));
+ ppcState.cr = 0;
+ ppcState.fpscr = 0;
+ ppcState.pc = 0;
+ ppcState.npc = 0;
+ ppcState.Exceptions = 0;
- void DoState(PointerWrap &p)
- {
- p.Do(ppcState);
- }
+ TL = 0;
+ TU = 0;
- void ResetRegisters()
- {
- for (int i = 0; i < 32; i++)
- {
- ppcState.gpr[i] = 0;
- riPS0(i) = 0;
- riPS1(i) = 0;
- }
+ ppcState.msr = 0;
+ rDEC = 0xFFFFFFFF;
+}
- memset(ppcState.spr, 0, sizeof(ppcState.spr));
-
- ppcState.cr = 0;
- ppcState.fpscr = 0;
- ppcState.pc = 0;
- ppcState.npc = 0;
- ppcState.Exceptions = 0;
-
- TL = 0;
- TU = 0;
-
- ppcState.msr = 0;
- rDEC = 0xFFFFFFFF;
- }
-
- void Init()
- {
- enum {
- FPU_PREC_24 = 0 << 8,
- FPU_PREC_53 = 2 << 8,
- FPU_PREC_64 = 3 << 8,
- FPU_PREC_MASK = 3 << 8,
- };
+void Init()
+{
+ enum {
+ FPU_PREC_24 = 0 << 8,
+ FPU_PREC_53 = 2 << 8,
+ FPU_PREC_64 = 3 << 8,
+ FPU_PREC_MASK = 3 << 8,
+ };
#ifdef _M_IX86
- // sets the floating-point lib to 53-bit
- // PowerPC has a 53bit floating pipeline only
- // eg: sscanf is very sensitive
+ // sets the floating-point lib to 53-bit
+ // PowerPC has a 53bit floating pipeline only
+ // eg: sscanf is very sensitive
#ifdef _WIN32
- _control87(_PC_53, MCW_PC);
+ _control87(_PC_53, MCW_PC);
#else
- unsigned short _mode;
- asm ("fstcw %0" : : "m" (_mode));
- _mode = (_mode & ~FPU_PREC_MASK) | FPU_PREC_53;
- asm ("fldcw %0" : : "m" (_mode));
+ unsigned short _mode;
+ asm ("fstcw %0" : : "m" (_mode));
+ _mode = (_mode & ~FPU_PREC_MASK) | FPU_PREC_53;
+ asm ("fldcw %0" : : "m" (_mode));
#endif
#else
- //x64 doesn't need this - fpu is done with SSE
- //but still - set any useful sse options here
+ //x64 doesn't need this - fpu is done with SSE
+ //but still - set any useful sse options here
#endif
- ResetRegisters();
- PPCTables::InitTables();
+ ResetRegisters();
+ PPCTables::InitTables();
- // Initialize both execution engines ...
- Interpreter::Init();
- jit.Init();
- // ... but start as interpreter by default.
- mode = MODE_INTERPRETER;
- state = CPU_STEPPING;
+ // Initialize both execution engines ...
+ Interpreter::Init();
+ jit.Init();
+ // ... but start as interpreter by default.
+ mode = MODE_INTERPRETER;
+ state = CPU_STEPPING;
+}
+
+void Shutdown()
+{
+ // Shutdown both execution engines. Doesn't matter which one is active.
+ jit.Shutdown();
+ Interpreter::Shutdown();
+}
+
+void SetMode(CoreMode new_mode)
+{
+ if (new_mode == mode)
+ return; // We don't need to do anything.
+
+ mode = new_mode;
+ switch (mode)
+ {
+ case MODE_INTERPRETER: // Switching from JIT to interpreter
+ jit.ClearCache(); // Remove all those nasty JIT patches.
+ break;
+
+ case MODE_JIT: // Switching from interpreter to JIT.
+ // Don't really need to do much. It'll work, the cache will refill itself.
+ break;
+ }
+}
+
+void SingleStep()
+{
+ switch (mode)
+ {
+ case MODE_INTERPRETER:
+ Interpreter::SingleStep();
+ break;
+ case MODE_JIT:
+ jit.SingleStep();
+ break;
+ }
+}
+
+void RunLoop()
+{
+ state = CPU_RUNNING;
+ switch (mode)
+ {
+ case MODE_INTERPRETER:
+ Interpreter::Run();
+ break;
+ case MODE_JIT:
+ jit.Run();
+ break;
+ }
+ Host_UpdateDisasmDialog();
+}
+
+CPUState GetState()
+{
+ return state;
+}
+
+volatile CPUState *GetStatePtr()
+{
+ return &state;
+}
+
+void Start()
+{
+ state = CPU_RUNNING;
+ Host_UpdateDisasmDialog();
+}
+
+void Pause()
+{
+ state = CPU_STEPPING;
+ Host_UpdateDisasmDialog();
+}
+
+void Stop()
+{
+ state = CPU_POWERDOWN;
+ Host_UpdateDisasmDialog();
+}
+
+void CheckExceptions()
+{
+ // This check is unnecessary in JIT mode. However, it probably doesn't really hurt.
+ if (!ppcState.Exceptions)
+ return;
+
+ // TODO(ector):
+ // gcemu uses the mask 0x87C0FFFF instead of 0x0780FF77
+ // Investigate!
+
+ if (ppcState.Exceptions & EXCEPTION_FPU_UNAVAILABLE)
+ {
+ //This happens a lot - Gamecube OS uses deferred FPU context switching
+ SRR0 = PC; // re-execute the instruction
+ SRR1 = MSR & 0x0780FF77;
+ NPC = 0x80000800;
+
+ INFO_LOG(GEKKO, "EXCEPTION_FPU_UNAVAILABLE");
+ ppcState.Exceptions &= ~EXCEPTION_FPU_UNAVAILABLE;
+ SRR1 |= 0x02; //recoverable
+ }
+ else if (ppcState.Exceptions & EXCEPTION_SYSCALL)
+ {
+ SRR0 = NPC; // execute next instruction when we come back from handler
+ SRR1 = MSR & 0x0780FF77;
+ NPC = 0x80000C00;
+
+ INFO_LOG(GEKKO, "EXCEPTION_SYSCALL (PC=%08x)", PC);
+ ppcState.Exceptions &= ~EXCEPTION_SYSCALL;
+ SRR1 |= 0x02; //recoverable
+ }
+ else if (ppcState.Exceptions & EXCEPTION_DSI)
+ {
+ SRR0 = PC; // re-execute the instruction
+ SRR1 = MSR & 0x0780FF77;
+ NPC = 0x80000300;
+
+ INFO_LOG(GEKKO, "EXCEPTION_DSI");
+ ppcState.Exceptions &= ~EXCEPTION_DSI;
+ //SRR1 |= 0x02; //make recoverable ?
+ }
+ else if (ppcState.Exceptions & EXCEPTION_ISI)
+ {
+ SRR0 = PC;
+ SRR1 = (MSR & 0x0780FF77) | 0x40000000;
+ NPC = 0x80000400;
+
+ INFO_LOG(GEKKO, "EXCEPTION_ISI");
+ ppcState.Exceptions &= ~EXCEPTION_ISI;
+ //SRR1 |= 0x02; //make recoverable ?
+ }
+ else if (ppcState.Exceptions & EXCEPTION_ALIGNMENT)
+ {
+ //This never happens ATM
+ SRR0 = NPC;
+ SRR1 = MSR & 0x0780FF77;
+ NPC = 0x80000600;
+
+ INFO_LOG(GEKKO, "EXCEPTION_ALIGNMENT");
+ ppcState.Exceptions &= ~EXCEPTION_ALIGNMENT;
+ //SRR1 |= 0x02; //make recoverable ?
}
- void Shutdown()
+ // EXTERNAL INTTERUPT
+ else if (MSR & 0x0008000)
{
- // Shutdown both execution engines. Doesn't matter which one is active.
- jit.Shutdown();
- Interpreter::Shutdown();
- }
-
- void SetMode(CoreMode new_mode)
- {
- if (new_mode == mode)
- return; // We don't need to do anything.
-
- mode = new_mode;
- switch (mode)
+ if (ppcState.Exceptions & EXCEPTION_EXTERNAL_INT)
{
- case MODE_INTERPRETER: // Switching from JIT to interpreter
- jit.ClearCache(); // Remove all those nasty JIT patches.
- break;
+ // Pokemon gets this "too early", it hasn't a handler yet
+ ppcState.Exceptions &= ~EXCEPTION_EXTERNAL_INT; // clear exception
- case MODE_JIT: // Switching from interpreter to JIT.
- // Don't really need to do much. It'll work, the cache will refill itself.
- break;
- }
- }
-
- void SingleStep()
- {
- switch (mode)
- {
- case MODE_INTERPRETER:
- Interpreter::SingleStep();
- break;
- case MODE_JIT:
- jit.SingleStep();
- break;
- }
- }
-
- void RunLoop()
- {
- state = CPU_RUNNING;
- switch (mode)
- {
- case MODE_INTERPRETER:
- Interpreter::Run();
- break;
- case MODE_JIT:
- jit.Run();
- break;
- }
- Host_UpdateDisasmDialog();
- }
-
- CPUState GetState()
- {
- return state;
- }
-
- volatile CPUState *GetStatePtr()
- {
- return &state;
- }
-
- void Start()
- {
- state = CPU_RUNNING;
- Host_UpdateDisasmDialog();
- }
-
- void Pause()
- {
- state = CPU_STEPPING;
- Host_UpdateDisasmDialog();
- }
-
- void Stop()
- {
- state = CPU_POWERDOWN;
- Host_UpdateDisasmDialog();
- }
-
- void CheckExceptions()
- {
- // This check is unnecessary in JIT mode. However, it probably doesn't really hurt.
- if (!ppcState.Exceptions)
- return;
-
- // TODO(ector):
- // gcemu uses the mask 0x87C0FFFF instead of 0x0780FF77
- // Investigate!
-
- if (ppcState.Exceptions & EXCEPTION_FPU_UNAVAILABLE)
- {
- //This happens a lot - Gamecube OS uses deferred FPU context switching
- SRR0 = PC; // re-execute the instruction
- SRR1 = MSR & 0x0780FF77;
- NPC = 0x80000800;
-
- INFO_LOG(GEKKO, "EXCEPTION_FPU_UNAVAILABLE");
- ppcState.Exceptions &= ~EXCEPTION_FPU_UNAVAILABLE;
- SRR1 |= 0x02; //recoverable
- }
- else if (ppcState.Exceptions & EXCEPTION_SYSCALL)
- {
- SRR0 = NPC; // execute next instruction when we come back from handler
- SRR1 = MSR & 0x0780FF77;
- NPC = 0x80000C00;
-
- INFO_LOG(GEKKO, "EXCEPTION_SYSCALL (PC=%08x)", PC);
- ppcState.Exceptions &= ~EXCEPTION_SYSCALL;
- SRR1 |= 0x02; //recoverable
- }
- else if (ppcState.Exceptions & EXCEPTION_DSI)
- {
- SRR0 = PC; // re-execute the instruction
- SRR1 = MSR & 0x0780FF77;
- NPC = 0x80000300;
-
- INFO_LOG(GEKKO, "EXCEPTION_DSI");
- ppcState.Exceptions &= ~EXCEPTION_DSI;
- //SRR1 |= 0x02; //make recoverable ?
- }
- else if (ppcState.Exceptions & EXCEPTION_ISI)
- {
- SRR0 = PC;
- SRR1 = (MSR & 0x0780FF77) | 0x40000000;
- NPC = 0x80000400;
-
- INFO_LOG(GEKKO, "EXCEPTION_ISI");
- ppcState.Exceptions &= ~EXCEPTION_ISI;
- //SRR1 |= 0x02; //make recoverable ?
- }
- else if (ppcState.Exceptions & EXCEPTION_ALIGNMENT)
- {
- //This never happens ATM
SRR0 = NPC;
- SRR1 = MSR & 0x0780FF77;
- NPC = 0x80000600;
+ NPC = 0x80000500;
+ SRR1 = (MSR & 0x0780FF77);
- INFO_LOG(GEKKO, "EXCEPTION_ALIGNMENT");
- ppcState.Exceptions &= ~EXCEPTION_ALIGNMENT;
- //SRR1 |= 0x02; //make recoverable ?
+ INFO_LOG(GEKKO, "EXCEPTION_EXTERNAL_INT");
+
+ SRR1 |= 0x02; //set it to recoverable
+ _dbg_assert_msg_(GEKKO, (SRR1 & 0x02) != 0, "GEKKO", "EXTERNAL_INT unrecoverable???"); // unrecoverable exception !?!
}
-
- // EXTERNAL INTTERUPT
- else if (MSR & 0x0008000)
+ else if (ppcState.Exceptions & EXCEPTION_DECREMENTER)
{
- if (ppcState.Exceptions & EXCEPTION_EXTERNAL_INT)
- {
- // Pokemon gets this "too early", it hasn't a handler yet
- ppcState.Exceptions &= ~EXCEPTION_EXTERNAL_INT; // clear exception
+ SRR0 = NPC;
+ SRR1 = MSR & 0x0000FF77;
+ NPC = 0x80000900;
- SRR0 = NPC;
- NPC = 0x80000500;
- SRR1 = (MSR & 0x0780FF77);
+ ppcState.Exceptions &= ~EXCEPTION_DECREMENTER;
- INFO_LOG(GEKKO, "EXCEPTION_EXTERNAL_INT");
-
- SRR1 |= 0x02; //set it to recoverable
- _dbg_assert_msg_(GEKKO, (SRR1 & 0x02) != 0, "GEKKO", "EXTERNAL_INT unrecoverable???"); // unrecoverable exception !?!
- }
- else if (ppcState.Exceptions & EXCEPTION_DECREMENTER)
- {
- SRR0 = NPC;
- SRR1 = MSR & 0x0000FF77;
- NPC = 0x80000900;
-
- ppcState.Exceptions &= ~EXCEPTION_DECREMENTER;
-
- INFO_LOG(GEKKO, "EXCEPTION_DECREMENTER");
- SRR1 |= 0x02; //make recoverable
- }
- else
- {
- _dbg_assert_msg_(GEKKO, 0, "Unknown EXT interrupt: Exceptions == %08x", ppcState.Exceptions);
- ERROR_LOG(GEKKO, "Unknown EXTERNAL INTERRUPT exception: Exceptions == %08x", ppcState.Exceptions);
- }
+ INFO_LOG(GEKKO, "EXCEPTION_DECREMENTER");
+ SRR1 |= 0x02; //make recoverable
+ }
+ else
+ {
+ _dbg_assert_msg_(GEKKO, 0, "Unknown EXT interrupt: Exceptions == %08x", ppcState.Exceptions);
+ ERROR_LOG(GEKKO, "Unknown EXTERNAL INTERRUPT exception: Exceptions == %08x", ppcState.Exceptions);
}
- MSR &= ~0x0008000; // clear EE-bit so interrupts aren't possible anymore
}
+ MSR &= ~0x0008000; // clear EE-bit so interrupts aren't possible anymore
+}
- void OnIdle(u32 _uThreadAddr)
- {
- u32 nextThread = Memory::Read_U32(_uThreadAddr);
- //do idle skipping
- if (nextThread == 0)
- CoreTiming::Idle();
- }
+void OnIdle(u32 _uThreadAddr)
+{
+ u32 nextThread = Memory::Read_U32(_uThreadAddr);
+ //do idle skipping
+ if (nextThread == 0)
+ CoreTiming::Idle();
+}
} // namespace
\ No newline at end of file
diff --git a/Source/Core/DolphinWX/Src/GameListCtrl.cpp b/Source/Core/DolphinWX/Src/GameListCtrl.cpp
index 53f5681813..878b59493b 100644
--- a/Source/Core/DolphinWX/Src/GameListCtrl.cpp
+++ b/Source/Core/DolphinWX/Src/GameListCtrl.cpp
@@ -94,13 +94,14 @@ EVT_MENU(IDM_DELETEGCM, CGameListCtrl::OnDeleteGCM)
END_EVENT_TABLE()
CGameListCtrl::CGameListCtrl(wxWindow* parent, const wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
- : wxListCtrl(parent, id, pos, size, style) // | wxLC_VIRTUAL)
+ : wxListCtrl(parent, id, pos, size, style)
{
}
CGameListCtrl::~CGameListCtrl()
{
- if (m_imageListSmall) delete m_imageListSmall;
+ if (m_imageListSmall)
+ delete m_imageListSmall;
}
void CGameListCtrl::InitBitmaps()
@@ -234,6 +235,11 @@ wxString NiceSizeFormat(s64 _size)
void CGameListCtrl::InsertItemInReportView(long _Index)
{
+ // When using wxListCtrl, there is no hope of per-column text colors.
+ // But for reference, here are the old colors that were used: (BGR)
+ // title: 0xFF0000
+ // company: 0x007030
+
GameListItem& rISOFile = m_ISOFiles[_Index];
int ImageIndex = -1;
@@ -246,34 +252,26 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
// Insert a row with the banner image
long ItemIndex = InsertItem(_Index, wxEmptyString, ImageIndex);
- // Background color
- SetBackgroundColor();
-
- // When using wxListCtrl, there is no hope of per-column text colors.
- // But for reference, here are the old colors that were used: (BGR)
- // title: 0xFF0000
- // company: 0x007030
-
switch (rISOFile.GetCountry())
{
case DiscIO::IVolume::COUNTRY_JAP:
{
- // keep these codes, when we move to wx unicode...
- //wxCSConv convFrom(wxFontMapper::GetEncodingName(wxFONTENCODING_SHIFT_JIS));
- //wxCSConv convTo(wxFontMapper::GetEncodingName(wxFONTENCODING_DEFAULT));
- //SetItem(_Index, COLUMN_TITLE, wxString(wxString(rISOFile.GetName()).wc_str(convFrom) , convTo), -1);
- //SetItem(_Index, COLUMN_NOTES, wxString(wxString(rISOFile.GetDescription()).wc_str(convFrom) , convTo), -1);
- wxString name;
- if (CopySJISToString(name, rISOFile.GetName(0).c_str()))
- {
- SetItem(_Index, COLUMN_TITLE, name, -1);
- }
+ // keep these codes, when we move to wx unicode...
+ //wxCSConv convFrom(wxFontMapper::GetEncodingName(wxFONTENCODING_SHIFT_JIS));
+ //wxCSConv convTo(wxFontMapper::GetEncodingName(wxFONTENCODING_DEFAULT));
+ //SetItem(_Index, COLUMN_TITLE, wxString(wxString(rISOFile.GetName()).wc_str(convFrom) , convTo), -1);
+ //SetItem(_Index, COLUMN_NOTES, wxString(wxString(rISOFile.GetDescription()).wc_str(convFrom) , convTo), -1);
+ wxString name;
+ if (CopySJISToString(name, rISOFile.GetName(0).c_str()))
+ {
+ SetItem(_Index, COLUMN_TITLE, name, -1);
+ }
- wxString description;
- if (CopySJISToString(description, rISOFile.GetDescription(0).c_str()))
- {
- SetItem(_Index, COLUMN_NOTES, description, -1);
- }
+ wxString description;
+ if (CopySJISToString(description, rISOFile.GetDescription(0).c_str()))
+ {
+ SetItem(_Index, COLUMN_NOTES, description, -1);
+ }
}
break;
case DiscIO::IVolume::COUNTRY_USA:
@@ -344,19 +342,10 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
}
// Country
- {
- wxListItem item;
- item.m_itemId = ItemIndex;
- item.SetColumn(COLUMN_COUNTRY);
- DiscIO::IVolume::ECountry Country = rISOFile.GetCountry();
+ SetItemColumnImage(_Index, COLUMN_COUNTRY, m_FlagImageIndex[rISOFile.GetCountry()]);
- if (size_t(Country) < m_FlagImageIndex.size())
- {
- item.SetImage(m_FlagImageIndex[rISOFile.GetCountry()]);
- }
-
- SetItem(item);
- }
+ // Background color
+ SetBackgroundColor();
// Item data
SetItemData(_Index, ItemIndex);
diff --git a/Source/Dolphin.sln b/Source/Dolphin.sln
index 53fec0594b..36dc6bb863 100644
--- a/Source/Dolphin.sln
+++ b/Source/Dolphin.sln
@@ -152,6 +152,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxCore28", "..\Externals\wx
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AudioCommon", "Core\AudioCommon\AudioCommon.vcproj", "{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_DSP_LLE_Test", "Plugins\Plugin_DSP_LLE-testing\Plugin_DSP_LLE_Test.vcproj", "{3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}"
+ ProjectSection(ProjectDependencies) = postProject
+ {FBAFB369-07EB-4460-9CAD-08BE5789DAB6} = {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}
+ {C573CAF7-EE6A-458E-8049-16C0BF34C2E9} = {C573CAF7-EE6A-458E-8049-16C0BF34C2E9}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -504,17 +510,27 @@ Global
{11F55366-12EC-4C44-A8CB-1D4E315D61ED}.Release|x64.Build.0 = Release|x64
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|Win32.ActiveCfg = Debug|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|Win32.Build.0 = Debug|Win32
- {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|x64.ActiveCfg = Debug|Win32
+ {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|x64.ActiveCfg = Debug|x64
+ {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Debug|x64.Build.0 = Debug|x64
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|Win32.ActiveCfg = Debug|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|Win32.Build.0 = Debug|Win32
- {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|x64.ActiveCfg = Debug|Win32
+ {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|x64.ActiveCfg = Debug|x64
+ {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.DebugFast|x64.Build.0 = Debug|x64
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|Win32.ActiveCfg = Release|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|Win32.Build.0 = Release|Win32
- {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|x64.ActiveCfg = Release|Win32
+ {FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release_JITIL|x64.ActiveCfg = Release|x64
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|Win32.ActiveCfg = Release|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|Win32.Build.0 = Release|Win32
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|x64.ActiveCfg = Release|x64
{FBAFB369-07EB-4460-9CAD-08BE5789DAB6}.Release|x64.Build.0 = Release|x64
+ {3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Debug|x64.ActiveCfg = Debug|x64
+ {3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.DebugFast|Win32.ActiveCfg = DebugFast|Win32
+ {3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.DebugFast|x64.ActiveCfg = DebugFast|x64
+ {3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Release_JITIL|Win32.ActiveCfg = Release|Win32
+ {3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Release_JITIL|x64.ActiveCfg = Release|x64
+ {3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Release|Win32.ActiveCfg = Release|Win32
+ {3D8156A9-64D1-4C8E-ADBE-1B319030E4A4}.Release|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Source/Plugins/Plugin_DSP_HLE/Plugin_DSP_HLE.vcproj b/Source/Plugins/Plugin_DSP_HLE/Plugin_DSP_HLE.vcproj
index 902c0c6da9..9ec4ae029a 100644
--- a/Source/Plugins/Plugin_DSP_HLE/Plugin_DSP_HLE.vcproj
+++ b/Source/Plugins/Plugin_DSP_HLE/Plugin_DSP_HLE.vcproj
@@ -78,7 +78,7 @@
SubSystem="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
- ImportLibrary="$(OutDir)/DSP_HLE.lib"
+ ImportLibrary="$(TargetDir)$(TargetName).lib"
TargetMachine="1"
/>
-
-
-
-
-
-
@@ -771,6 +765,18 @@
>
+
+
+
+
+
+