From 1ed9a6ba56ae3fb3e69422326eedb8000750d5bc Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Sat, 26 Jan 2013 17:26:07 +0100 Subject: [PATCH] Small fixes. v0.6. --- Core/Config.cpp | 4 ++- Core/Config.h | 1 + Core/MIPS/ARM/ArmCompVFPU.cpp | 2 +- Core/MIPS/ARM/ArmJit.h | 1 + Windows/WindowsHost.cpp | 2 +- Windows/WndMainWindow.cpp | 2 +- Windows/ppsspp.rc | 2 +- android/jni/GamepadEmu.cpp | 46 +++++++++++++++++++---------------- android/jni/MenuScreens.cpp | 29 +++++++++++++++------- native | 2 +- 10 files changed, 55 insertions(+), 36 deletions(-) diff --git a/Core/Config.cpp b/Core/Config.cpp index bf438e6340..d0a0fcba8d 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -68,7 +68,7 @@ void CConfig::Load(const char *iniFileName) graphics->Get("SSAA", &SSAntiAlaising, 0); graphics->Get("VBO", &bUseVBO, false); graphics->Get("DisableG3DLog", &bDisableG3DLog, false); - graphics->Get("VertexCache", &bVertexCache, false); + graphics->Get("VertexCache", &bVertexCache, true); IniFile::Section *sound = iniFile.GetOrCreateSection("Sound"); sound->Get("Enable", &bEnableSound, true); @@ -81,6 +81,7 @@ void CConfig::Load(const char *iniFileName) #else false); #endif + control->Get("LargeControls", &bLargeControls, false); IniFile::Section *pspConfig = iniFile.GetOrCreateSection("SystemParam"); pspConfig->Get("Language", &ilanguage, PSP_SYSTEMPARAM_LANGUAGE_ENGLISH); @@ -128,6 +129,7 @@ void CConfig::Save() IniFile::Section *control = iniFile.GetOrCreateSection("Control"); control->Set("ShowStick", bShowAnalogStick); control->Set("ShowTouchControls", bShowTouchControls); + control->Set("LargeControls", bLargeControls); IniFile::Section *pspConfig = iniFile.GetOrCreateSection("SystemParam"); pspConfig->Set("Language", ilanguage); diff --git a/Core/Config.h b/Core/Config.h index 5dcedc518c..b9bf04ac5e 100644 --- a/Core/Config.h +++ b/Core/Config.h @@ -68,6 +68,7 @@ public: bool bShowAnalogStick; bool bShowFPSCounter; bool bShowDebugStats; + bool bLargeControls; // SystemParam int ilanguage; diff --git a/Core/MIPS/ARM/ArmCompVFPU.cpp b/Core/MIPS/ARM/ArmCompVFPU.cpp index 195ae39e0b..edb679a7c7 100644 --- a/Core/MIPS/ARM/ArmCompVFPU.cpp +++ b/Core/MIPS/ARM/ArmCompVFPU.cpp @@ -29,4 +29,4 @@ namespace MIPSComp { DISABLE; } -} \ No newline at end of file +} diff --git a/Core/MIPS/ARM/ArmJit.h b/Core/MIPS/ARM/ArmJit.h index a6d6191939..80f69f3258 100644 --- a/Core/MIPS/ARM/ArmJit.h +++ b/Core/MIPS/ARM/ArmJit.h @@ -81,6 +81,7 @@ public: void Comp_ShiftType(u32 op); void Comp_Allegrex(u32 op); void Comp_VBranch(u32 op); + void Comp_VDot(u32 op); void Comp_FPU3op(u32 op); void Comp_FPU2op(u32 op); diff --git a/Windows/WindowsHost.cpp b/Windows/WindowsHost.cpp index 4579c8ed08..ad49ee7605 100644 --- a/Windows/WindowsHost.cpp +++ b/Windows/WindowsHost.cpp @@ -38,7 +38,7 @@ void WindowsHost::ShutdownGL() void WindowsHost::SetWindowTitle(const char *message) { // Really need a better way to deal with versions. - std::string title = "PPSSPP v0.5 - "; + std::string title = "PPSSPP v0.6 - "; title += message; int size = MultiByteToWideChar(CP_UTF8, 0, message, (int) title.size(), NULL, 0); diff --git a/Windows/WndMainWindow.cpp b/Windows/WndMainWindow.cpp index 03e746078e..0566e588a3 100644 --- a/Windows/WndMainWindow.cpp +++ b/Windows/WndMainWindow.cpp @@ -1,7 +1,7 @@ // NOTE: Apologies for the quality of this code, this is really from pre-opensource Dolphin - that is, 2003. -#define programname "PPSSPP v0.5" +#define programname "PPSSPP v0.6" #include diff --git a/Windows/ppsspp.rc b/Windows/ppsspp.rc index b0ced0cfea..c5824a500c 100644 --- a/Windows/ppsspp.rc +++ b/Windows/ppsspp.rc @@ -47,7 +47,7 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN DEFPUSHBUTTON "OK",IDOK,243,140,50,14 ICON IDI_PPSSPP,IDC_STATIC,10,9,21,20 - LTEXT "PPSSPP v0.5",IDC_STATIC,40,8,127,9 + LTEXT "PPSSPP v0.6",IDC_STATIC,40,8,127,9 LTEXT "Copyright (c) by Henrik Rydgård && the PPSSPP project 2012-",IDC_STATIC,40,33,253,8 LTEXT "All trademarks are property of their respective owners.\nThe emulator is for educational and development purposes only and it may not be used to play games you do not legally own.",IDC_STATIC,40,102,253,24 LTEXT "PSP emulator and debugger",IDC_STATIC,40,19,253,8 diff --git a/android/jni/GamepadEmu.cpp b/android/jni/GamepadEmu.cpp index 84e45e565b..df93dda3c3 100644 --- a/android/jni/GamepadEmu.cpp +++ b/android/jni/GamepadEmu.cpp @@ -37,44 +37,48 @@ TouchStick leftStick(&ui_atlas, I_STICKBG, I_STICK, 0); void LayoutGamepad(int w, int h) { - const int button_spacing = 50; - const int arrow_spacing = 40; + float controlScale = g_Config.bLargeControls ? 1.7 : 1.0; - const int circleX = w - 40; - const int circleY = h - 120; + const int button_spacing = 50 * controlScale; + const int arrow_spacing = 40 * controlScale; - const int leftX = 40; - int leftY = h - 120; + const int circleX = w - 40 * controlScale; + const int circleY = h - 120 * controlScale; + + const int leftX = 40 * controlScale; + int leftY = h - 120 * controlScale; if (g_Config.bShowAnalogStick) { - leftY = h - 220; + leftY = h - 250 * controlScale; } const int stickX = leftX + arrow_spacing; - const int stickY = h - 80; + const int stickY = h - 80 * controlScale; const int halfW = w / 2; - buttonO.setPos(circleX, circleY); - buttonX.setPos(circleX - button_spacing, circleY + button_spacing); - buttonTri.setPos(circleX - button_spacing, circleY - button_spacing); - buttonSq.setPos(circleX - button_spacing * 2, circleY); + buttonO.setPos(circleX, circleY, controlScale); + buttonX.setPos(circleX - button_spacing, circleY + button_spacing, controlScale); + buttonTri.setPos(circleX - button_spacing, circleY - button_spacing, controlScale); + buttonSq.setPos(circleX - button_spacing * 2, circleY, controlScale); - buttonLeft.setPos(leftX, leftY); - buttonUp.setPos(leftX + arrow_spacing, leftY - arrow_spacing); - buttonDown.setPos(leftX + arrow_spacing, leftY + arrow_spacing); - buttonRight.setPos(leftX + arrow_spacing * 2, leftY); + buttonLeft.setPos(leftX, leftY, controlScale); + buttonUp.setPos(leftX + arrow_spacing, leftY - arrow_spacing, controlScale); + buttonDown.setPos(leftX + arrow_spacing, leftY + arrow_spacing, controlScale); + buttonRight.setPos(leftX + arrow_spacing * 2, leftY, controlScale); - buttonSelect.setPos(halfW - button_spacing, h - 20); - buttonStart.setPos(halfW + button_spacing, h - 20); - buttonLShoulder.setPos(button_spacing + 10, 15); - buttonRShoulder.setPos(w - button_spacing - 10, 15); + buttonSelect.setPos(halfW - button_spacing, h - 20 * controlScale, controlScale); + buttonStart.setPos(halfW + button_spacing, h - 20 * controlScale, controlScale); + buttonLShoulder.setPos(button_spacing + 10 * controlScale, 15 * controlScale, controlScale); + buttonRShoulder.setPos(w - button_spacing - 10 * controlScale, 15 * controlScale, controlScale); - leftStick.setPos(stickX, stickY); + leftStick.setPos(stickX, stickY, controlScale); } void UpdateGamepad(InputState &input_state) { + LayoutGamepad(dp_xres, dp_yres); + buttonO.update(input_state); buttonX.update(input_state); buttonTri.update(input_state); diff --git a/android/jni/MenuScreens.cpp b/android/jni/MenuScreens.cpp index ba8cd909e5..6c93c3656d 100644 --- a/android/jni/MenuScreens.cpp +++ b/android/jni/MenuScreens.cpp @@ -163,10 +163,18 @@ void MenuScreen::render() { ui_draw2d.DrawTextShadow(UBUNTU48, "PPSSPP", dp_xres + xoff - w/2, 80, 0xFFFFFFFF, ALIGN_HCENTER | ALIGN_BOTTOM); ui_draw2d.SetFontScale(0.7f, 0.7f); - ui_draw2d.DrawTextShadow(UBUNTU24, "v0.5", dp_xres + xoff, 80, 0xFFFFFFFF, ALIGN_RIGHT | ALIGN_BOTTOM); + ui_draw2d.DrawTextShadow(UBUNTU24, "v0.6", dp_xres + xoff, 80, 0xFFFFFFFF, ALIGN_RIGHT | ALIGN_BOTTOM); ui_draw2d.SetFontScale(1.0f, 1.0f); VLinear vlinear(dp_xres + xoff, 95, 20); +#ifdef ANDROID + int xc = (dp_xres - LARGE_BUTTON_WIDTH - 40) / 2; + ui_draw2d.SetFontScale(0.8f, 0.8f); + ui_draw2d.DrawText(UBUNTU48, "NOTE!", xc, dp_yres / 2 + 30, 0xFFFFFFFF, ALIGN_CENTER); + ui_draw2d.DrawText(UBUNTU24, "Enabling JIT will crash on Snapdragon CPUs.", xc, dp_yres / 2 + 80, 0xFFFFFFFF, ALIGN_CENTER); + ui_draw2d.DrawText(UBUNTU24, "This will be fixed in PPSSPP 0.61, coming soon.", xc, dp_yres / 2 + 120, 0xFFFFFFFF, ALIGN_CENTER); + ui_draw2d.SetFontScale(1.0f, 1.0f); +#endif if (UIButton(GEN_ID, vlinear, w, "Load...", ALIGN_RIGHT)) { #if defined(USING_QT_UI) && defined(__SYMBIAN32__) @@ -289,13 +297,13 @@ void SettingsScreen::render() { UIBegin(); DrawBackground(1.0f); - ui_draw2d.DrawText(UBUNTU48, "Settings", dp_xres / 2, 30, 0xFFFFFFFF, ALIGN_HCENTER); + ui_draw2d.DrawText(UBUNTU48, "Settings", dp_xres / 2, 20, 0xFFFFFFFF, ALIGN_HCENTER); // TODO: Need to add tabs soon... // VLinear vlinear(10, 80, 10); int x = 30; - int y = 50; + int y = 30; int stride = 40; UICheckBox(GEN_ID, x, y += stride, "Sound Emulation", ALIGN_TOPLEFT, &g_Config.bEnableSound); UICheckBox(GEN_ID, x, y += stride, "Buffered Rendering", ALIGN_TOPLEFT, &g_Config.bBufferedRendering); @@ -306,17 +314,19 @@ void SettingsScreen::render() { } UICheckBox(GEN_ID, x, y += stride, "Hardware Transform", ALIGN_TOPLEFT, &g_Config.bHardwareTransform); UICheckBox(GEN_ID, x, y += stride, "Draw using Stream VBO", ALIGN_TOPLEFT, &g_Config.bUseVBO); - UICheckBox(GEN_ID, x, y += 50, "Vertex Cache", ALIGN_TOPLEFT, &g_Config.bVertexCache); + UICheckBox(GEN_ID, x, y += stride, "Vertex Cache", ALIGN_TOPLEFT, &g_Config.bVertexCache); bool useJit = g_Config.iCpuCore == CPU_JIT; UICheckBox(GEN_ID, x, y += stride, "JIT (Dynarec)", ALIGN_TOPLEFT, &useJit); if (g_Config.iCpuCore == CPU_JIT) - UICheckBox(GEN_ID, x + 350, y, "Fastmem (unstable)", ALIGN_TOPLEFT, &g_Config.bFastMemory); + UICheckBox(GEN_ID, x + 450, y, "Fastmem (may crash)", ALIGN_TOPLEFT, &g_Config.bFastMemory); g_Config.iCpuCore = useJit ? CPU_JIT : CPU_INTERPRETER; // ui_draw2d.DrawText(UBUNTU48, "much faster JIT coming later", x, y+=50, 0xcFFFFFFF, ALIGN_LEFT); UICheckBox(GEN_ID, x, y += stride, "On-screen Touch Controls", ALIGN_TOPLEFT, &g_Config.bShowTouchControls); - if (g_Config.bShowTouchControls) + if (g_Config.bShowTouchControls) { + UICheckBox(GEN_ID, x + 450, y, "Large Controls", ALIGN_TOPLEFT, &g_Config.bLargeControls); UICheckBox(GEN_ID, x + 50, y += stride, "Show Analog Stick", ALIGN_TOPLEFT, &g_Config.bShowAnalogStick); + } // UICheckBox(GEN_ID, x, y += stride, "Draw raw framebuffer (for some homebrew)", ALIGN_TOPLEFT, &g_Config.bDisplayFramebuffer); if (UIButton(GEN_ID, Pos(dp_xres - 10, dp_yres-10), LARGE_BUTTON_WIDTH, "Back", ALIGN_RIGHT | ALIGN_BOTTOM)) { @@ -430,7 +440,7 @@ void CreditsScreen::update(InputState &input_state) { static const char *credits[] = { - "PPSSPP v0.5", + "PPSSPP v0.6", "", "", "A fast and portable PSP emulator", @@ -440,13 +450,14 @@ static const char *credits[] = "", "Contributors:", "unknownbrackets", - "tmaul", "orphis", + "xsacha", "artart78", + "tmaul", "ced2911", "soywiz", "kovensky", - "xsacha", + "raven02", "", "Written in C++ for speed and portability", "", diff --git a/native b/native index f315424c42..c21e1ee2cc 160000 --- a/native +++ b/native @@ -1 +1 @@ -Subproject commit f315424c42b1fa5a8d08a702b435c0c7deb5dd00 +Subproject commit c21e1ee2cced55bb68edefbb58ba4b30bde807ba