summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/ISSUE_TEMPLATE.md25
-rwxr-xr-x.travis-deps.sh4
-rw-r--r--CMakeLists.txt12
-rw-r--r--src/citra/config.cpp2
-rw-r--r--src/citra/default_ini.h4
-rw-r--r--src/citra_qt/config.cpp2
-rw-r--r--src/core/arm/dyncom/arm_dyncom_interpreter.cpp13
7 files changed, 46 insertions, 16 deletions
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 000000000..4c9c7975a
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,25 @@
+<!---
+
+Please read the FAQ:
+https://citra-emu.org/wiki/FAQ
+
+THIS IS NOT A SUPPORT FORUM, FOR SUPPORT GO TO:
+http://discuss.citra-emu.org/
+
+If the FAQ does not answer your question, please go to:
+http://discuss.citra-emu.org/
+
+====================================================
+
+When submitting an issue, please check the following:
+
+- You have read the above.
+- You have provided the version (commit hash) of Citra you are using.
+- You have provided sufficient detail for the issue to be reproduced.
+- You have provided system specs (if relevant).
+- Please also provide:
+ - For crashes, a backtrace.
+ - For graphical issues, comparison screenshots with real hardware.
+ - For emulation inaccuracies, a test-case (if able).
+
+---> \ No newline at end of file
diff --git a/.travis-deps.sh b/.travis-deps.sh
index 10b69f5c4..aad9074bf 100755
--- a/.travis-deps.sh
+++ b/.travis-deps.sh
@@ -9,7 +9,7 @@ if [ "$TRAVIS_OS_NAME" = "linux" -o -z "$TRAVIS_OS_NAME" ]; then
export CXX=g++-6
mkdir -p $HOME/.local
- curl -L http://www.cmake.org/files/v3.1/cmake-3.1.0-Linux-i386.tar.gz \
+ curl -L http://www.cmake.org/files/v3.2/cmake-3.2.0-Linux-i386.tar.gz \
| tar -xz -C $HOME/.local --strip-components=1
(
@@ -21,6 +21,6 @@ if [ "$TRAVIS_OS_NAME" = "linux" -o -z "$TRAVIS_OS_NAME" ]; then
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
brew update > /dev/null # silence the very verbose output
brew unlink cmake
- brew install cmake31 qt5 sdl2 dylibbundler
+ brew install cmake qt5 sdl2 dylibbundler
gem install xcpretty
fi
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 779eb8e50..6ac3df0e0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,5 @@
-# CMake 3.1 required for Qt5 settings to be applied automatically on
-# dependent libraries and IMPORTED targets.
-cmake_minimum_required(VERSION 3.1)
+# CMake 3.2 required for cmake to know the right flags for CXX standard on OSX
+cmake_minimum_required(VERSION 3.2)
function(download_bundled_external remote_path lib_name prefix_var)
set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}")
@@ -63,8 +62,11 @@ if (NOT DEFINED ARCHITECTURE)
endif()
message(STATUS "Target architecture: ${ARCHITECTURE}")
+set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
if (NOT MSVC)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -Wno-attributes")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-attributes")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
else()
# Silence "deprecation" warnings
@@ -179,7 +181,7 @@ ENDIF (APPLE)
if (ENABLE_QT)
if (CITRA_USE_BUNDLED_QT)
if (MSVC14 AND ARCHITECTURE_x86_64)
- set(QT_VER qt-5.5-msvc2015_64)
+ set(QT_VER qt-5.7-msvc2015_64)
else()
message(FATAL_ERROR "No bundled Qt binaries for your toolchain. Disable CITRA_USE_BUNDLED_QT and provide your own.")
endif()
diff --git a/src/citra/config.cpp b/src/citra/config.cpp
index 22cb51ea8..e832ec58d 100644
--- a/src/citra/config.cpp
+++ b/src/citra/config.cpp
@@ -68,7 +68,7 @@ void Config::ReadValues() {
Settings::values.frame_skip = sdl2_config->GetInteger("Core", "frame_skip", 0);
// Renderer
- Settings::values.use_hw_renderer = sdl2_config->GetBoolean("Renderer", "use_hw_renderer", false);
+ Settings::values.use_hw_renderer = sdl2_config->GetBoolean("Renderer", "use_hw_renderer", true);
Settings::values.use_shader_jit = sdl2_config->GetBoolean("Renderer", "use_shader_jit", true);
Settings::values.use_scaled_resolution = sdl2_config->GetBoolean("Renderer", "use_scaled_resolution", false);
diff --git a/src/citra/default_ini.h b/src/citra/default_ini.h
index 4e63f3206..6249ef9e2 100644
--- a/src/citra/default_ini.h
+++ b/src/citra/default_ini.h
@@ -44,11 +44,11 @@ frame_skip =
[Renderer]
# Whether to use software or hardware rendering.
-# 0 (default): Software, 1: Hardware
+# 0: Software, 1 (default): Hardware
use_hw_renderer =
# Whether to use the Just-In-Time (JIT) compiler for shader emulation
-# 0 : Interpreter (slow), 1 (default): JIT (fast)
+# 0: Interpreter (slow), 1 (default): JIT (fast)
use_shader_jit =
# Whether to use native 3DS screen resolution or to scale rendering resolution to the displayed screen size.
diff --git a/src/citra_qt/config.cpp b/src/citra_qt/config.cpp
index 0e5f285c0..93c6a6e41 100644
--- a/src/citra_qt/config.cpp
+++ b/src/citra_qt/config.cpp
@@ -45,7 +45,7 @@ void Config::ReadValues() {
qt_config->endGroup();
qt_config->beginGroup("Renderer");
- Settings::values.use_hw_renderer = qt_config->value("use_hw_renderer", false).toBool();
+ Settings::values.use_hw_renderer = qt_config->value("use_hw_renderer", true).toBool();
Settings::values.use_shader_jit = qt_config->value("use_shader_jit", true).toBool();
Settings::values.use_scaled_resolution = qt_config->value("use_scaled_resolution", false).toBool();
diff --git a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
index 01d5d478e..c8d45c6db 100644
--- a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
+++ b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
@@ -2820,10 +2820,12 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) {
operand2 = (BIT(RS, 15)) ? (BITS(RS, 0, 15) | 0xffff0000) : BITS(RS, 0, 15);
else
operand2 = (BIT(RS, 31)) ? (BITS(RS, 16, 31) | 0xffff0000) : BITS(RS, 16, 31);
- RD = operand1 * operand2 + RN;
- if (AddOverflow(operand1 * operand2, RN, RD))
+ u32 product = operand1 * operand2;
+ u32 result = product + RN;
+ if (AddOverflow(product, RN, result))
cpu->Cpsr |= (1 << 27);
+ RD = result;
}
cpu->Reg[15] += cpu->GetInstructionSize();
INC_PC(sizeof(smla_inst));
@@ -3228,7 +3230,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) {
addr += 4;
}
if (BIT(inst_cream->inst, 15)) {
- cpu->WriteMemory32(addr, cpu->Reg_usr[1] + 8);
+ cpu->WriteMemory32(addr, cpu->Reg[15] + 8);
}
} else {
for (int i = 0; i < 15; i++) {
@@ -3243,8 +3245,9 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) {
}
// Check PC reg
- if (BIT(inst_cream->inst, 15))
- cpu->WriteMemory32(addr, cpu->Reg_usr[1] + 8);
+ if (BIT(inst_cream->inst, 15)) {
+ cpu->WriteMemory32(addr, cpu->Reg[15] + 8);
+ }
}
}
cpu->Reg[15] += cpu->GetInstructionSize();