summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorsl1nk3.s <sl1nk3.s@gmail.com>2009-11-08 23:12:35 +0000
committersl1nk3.s <sl1nk3.s@gmail.com>2009-11-08 23:12:35 +0000
commit07408d76256019da9cde10573f6771e8643caedb (patch)
tree5d5e979c525d35c5cf39484592182119f1ad3fff /Source
parent1c95100eb18cfdeeec982a1afc6a21fd796e06be (diff)
Fix issue 1523, disable x64 path on Jit64::lXz causing issue 615, and revert the FPU change from r4441, as it's causing weird issues in SSBM
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4522 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_FPUtils.h6
-rw-r--r--Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp4
-rw-r--r--Source/Core/DolphinWX/Src/ARCodeAddEdit.cpp21
-rw-r--r--Source/Core/DolphinWX/Src/ISOProperties.cpp1
4 files changed, 17 insertions, 15 deletions
diff --git a/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_FPUtils.h b/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_FPUtils.h
index 824264db22..693d317a8d 100644
--- a/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_FPUtils.h
+++ b/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_FPUtils.h
@@ -88,11 +88,9 @@ inline double ForceSingle(double _x)
if (FPSCR.NI)
_x = FlushToZeroAsFloat(_x);
- IntDouble single;
- single.d = _x;
- single.i &= 0xFFFFFFFFE0000000ULL;
+ double x = static_cast<float>(_x);
- return single.d;
+ return x;
}
inline double ForceDouble(double d)
diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp
index 005d4ad376..93297a9977 100644
--- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp
+++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStore.cpp
@@ -193,7 +193,7 @@ void Jit64::lXz(UGeckoInstruction inst)
}
//Still here? Do regular path.
-#if defined(_M_X64)
+#if defined(_M_X64) && 0 // This is disabled, it's unaccurate
if (accessSize == 8 || accessSize == 16 || !jo.enableFastMem) {
#else
if (true) {
@@ -210,7 +210,7 @@ void Jit64::lXz(UGeckoInstruction inst)
return;
}
- // Fast and daring
+ // Fast and daring/failing
gpr.Lock(a, d);
gpr.LoadToX64(a, true, false);
gpr.LoadToX64(d, a == d, true);
diff --git a/Source/Core/DolphinWX/Src/ARCodeAddEdit.cpp b/Source/Core/DolphinWX/Src/ARCodeAddEdit.cpp
index 19c8dd195d..71a3a1593c 100644
--- a/Source/Core/DolphinWX/Src/ARCodeAddEdit.cpp
+++ b/Source/Core/DolphinWX/Src/ARCodeAddEdit.cpp
@@ -53,17 +53,21 @@ void CARCodeAddEdit::CreateGUIControls(int _selection)
}
wxBoxSizer* sEditCheat = new wxBoxSizer(wxVERTICAL);
+ wxBoxSizer* sEditCheatButtons = new wxBoxSizer(wxHORIZONTAL);
wxStaticBoxSizer* sbEntry = new wxStaticBoxSizer(wxVERTICAL, this, _("Cheat Code"));
+ wxGridBagSizer* sgEntry = new wxGridBagSizer(0, 0);
+
wxStaticText* EditCheatNameText = new wxStaticText(this, ID_EDITCHEAT_NAME_TEXT, _("Name:"), wxDefaultPosition, wxDefaultSize);
EditCheatName = new wxTextCtrl(this, ID_EDITCHEAT_NAME, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0);
EditCheatName->SetValue(currentName);
EntrySelection = new wxSpinButton(this, ID_ENTRY_SELECT, wxDefaultPosition, wxDefaultSize, wxVERTICAL);
EntrySelection->SetRange(1, ((int)arCodes.size()) > 0 ? (int)arCodes.size() : 1);
EntrySelection->SetValue((int)(arCodes.size() - _selection));
- EditCheatCode = new wxTextCtrl(this, ID_EDITCHEAT_CODE, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE);
+ EditCheatCode = new wxTextCtrl(this, ID_EDITCHEAT_CODE, wxEmptyString, wxDefaultPosition, wxSize(300, 100), wxTE_MULTILINE);
UpdateTextCtrl(tempEntries);
+ wxButton* bOK = new wxButton(this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
+ wxButton* bCancel = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
- wxGridBagSizer* sgEntry = new wxGridBagSizer(0, 0);
sgEntry->AddGrowableCol(1);
sgEntry->AddGrowableRow(1);
sgEntry->Add(EditCheatNameText, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALIGN_CENTER|wxALL, 5);
@@ -71,16 +75,15 @@ void CARCodeAddEdit::CreateGUIControls(int _selection)
sgEntry->Add(EntrySelection, wxGBPosition(0, 2), wxGBSpan(2, 1), wxEXPAND|wxALL, 5);
sgEntry->Add(EditCheatCode, wxGBPosition(1, 0), wxGBSpan(1, 2), wxEXPAND|wxALL, 5);
sbEntry->Add(sgEntry, 1, wxEXPAND|wxALL);
- sEditCheat->Add(sbEntry, 1, wxEXPAND|wxALL, 5);
- wxBoxSizer* sEditCheatButtons = new wxBoxSizer(wxHORIZONTAL);
- wxButton* bOK = new wxButton(this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
- wxButton* bCancel = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
- sEditCheatButtons->Add(0, 0, 1, wxEXPAND, 5);
+
+ sEditCheatButtons->AddStretchSpacer();
sEditCheatButtons->Add(bOK, 0, wxALL, 5);
sEditCheatButtons->Add(bCancel, 0, wxALL, 5);
+
+ sEditCheat->Add(sbEntry, 1, wxEXPAND|wxALL, 5);
sEditCheat->Add(sEditCheatButtons, 0, wxEXPAND, 5);
- this->SetSizer(sEditCheat);
- sEditCheat->Layout();
+
+ SetSizerAndFit(sEditCheat);
}
void CARCodeAddEdit::OnClose(wxCloseEvent& WXUNUSED (event))
diff --git a/Source/Core/DolphinWX/Src/ISOProperties.cpp b/Source/Core/DolphinWX/Src/ISOProperties.cpp
index f9af62eee5..364a000336 100644
--- a/Source/Core/DolphinWX/Src/ISOProperties.cpp
+++ b/Source/Core/DolphinWX/Src/ISOProperties.cpp
@@ -1119,6 +1119,7 @@ void CISOProperties::ActionReplayButtonClicked(wxCommandEvent& event)
break;
case ID_REMOVECHEAT:
arCodes.erase(arCodes.begin() + Cheats->GetSelection());
+ Cheats->Delete(Cheats->GetSelection());
break;
}