early-access version 2728
This commit is contained in:
parent
b6d4502249
commit
dab6a0fe35
@ -1,7 +1,7 @@
|
||||
yuzu emulator early access
|
||||
=============
|
||||
|
||||
This is the source code for early-access 2725.
|
||||
This is the source code for early-access 2728.
|
||||
|
||||
## Legal Notice
|
||||
|
||||
|
9
externals/sirit/CMakeLists.txt
vendored
9
externals/sirit/CMakeLists.txt
vendored
@ -10,6 +10,10 @@ if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
||||
set(MASTER_PROJECT ON)
|
||||
endif()
|
||||
|
||||
# Sirit project options
|
||||
option(SIRIT_TESTS "Build tests" OFF)
|
||||
option(SIRIT_USE_SYSTEM_SPIRV_HEADERS "Use system SPIR-V headers" OFF)
|
||||
|
||||
# Default to a Release build
|
||||
if (NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
||||
@ -81,7 +85,12 @@ endif()
|
||||
enable_testing(true)
|
||||
|
||||
# SPIR-V headers
|
||||
if (SIRIT_USE_SYSTEM_SPIRV_HEADERS)
|
||||
find_package(SPIRV-Headers REQUIRED)
|
||||
else()
|
||||
add_subdirectory(externals/SPIRV-Headers EXCLUDE_FROM_ALL)
|
||||
add_library(SPIRV-Headers::SPIRV-Headers ALIAS SPIRV-Headers)
|
||||
endif()
|
||||
|
||||
# Sirit project files
|
||||
add_subdirectory(src)
|
||||
|
5
externals/sirit/src/CMakeLists.txt
vendored
5
externals/sirit/src/CMakeLists.txt
vendored
@ -27,5 +27,6 @@ target_compile_options(sirit PRIVATE ${SIRIT_CXX_FLAGS})
|
||||
|
||||
target_include_directories(sirit
|
||||
PUBLIC ../include
|
||||
PRIVATE . ${SPIRV-Headers_SOURCE_DIR}/include
|
||||
INTERFACE ${SPIRV-Headers_SOURCE_DIR}/include)
|
||||
PRIVATE .)
|
||||
|
||||
target_link_libraries(sirit PUBLIC SPIRV-Headers::SPIRV-Headers)
|
||||
|
@ -20,7 +20,7 @@ struct fmt::formatter<Dynarmic::A32::CoprocReg> {
|
||||
}
|
||||
template <typename FormatContext>
|
||||
auto format(const Dynarmic::A32::CoprocReg& reg, FormatContext& ctx) {
|
||||
return format_to(ctx.out(), "cp{}", static_cast<size_t>(reg));
|
||||
return fmt::format_to(ctx.out(), "cp{}", static_cast<size_t>(reg));
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -631,11 +631,14 @@ void EmulatedController::SetButton(const Common::Input::CallbackStatus& callback
|
||||
|
||||
lock.unlock();
|
||||
|
||||
// Reconnect controller if input is detected
|
||||
if (!is_connected) {
|
||||
TryReconnectController(index);
|
||||
if (npad_id_type == NpadIdType::Player1 && npad_type != NpadStyleIndex::Handheld) {
|
||||
Connect();
|
||||
}
|
||||
if (npad_id_type == NpadIdType::Handheld && npad_type == NpadStyleIndex::Handheld) {
|
||||
Connect();
|
||||
}
|
||||
}
|
||||
|
||||
TriggerOnChange(ControllerTriggerType::Button, true);
|
||||
}
|
||||
|
||||
@ -987,33 +990,6 @@ bool EmulatedController::IsControllerSupported(bool use_temporary_value) const {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
void EmulatedController::TryReconnectController(std::size_t button_index) {
|
||||
if (button_index >= button_params.size()) {
|
||||
return;
|
||||
}
|
||||
|
||||
const auto engine = button_params[button_index].Get("engine", "");
|
||||
bool reconnect_controller = false;
|
||||
|
||||
// TAS is not allowed to turn on controllers
|
||||
if (engine == "tas") {
|
||||
return;
|
||||
}
|
||||
// Only connect the controller if button config is custom
|
||||
if (engine != "keyboard") {
|
||||
reconnect_controller = true;
|
||||
}
|
||||
if (npad_id_type == NpadIdType::Player1 && npad_type != NpadStyleIndex::Handheld) {
|
||||
reconnect_controller = true;
|
||||
}
|
||||
if (npad_id_type == NpadIdType::Handheld && npad_type == NpadStyleIndex::Handheld) {
|
||||
reconnect_controller = true;
|
||||
}
|
||||
|
||||
if (reconnect_controller) {
|
||||
Connect();
|
||||
}
|
||||
}
|
||||
|
||||
void EmulatedController::Connect(bool use_temporary_value) {
|
||||
if (!IsControllerSupported(use_temporary_value)) {
|
||||
|
@ -166,12 +166,6 @@ public:
|
||||
*/
|
||||
void SetSupportedNpadStyleTag(NpadStyleTag supported_styles);
|
||||
|
||||
/**
|
||||
* Tries to turn on the controller if a button is pressed
|
||||
* @param button_index index to verify if controller should be connected
|
||||
*/
|
||||
void TryReconnectController(std::size_t button_index);
|
||||
|
||||
/**
|
||||
* Sets the connected status to true
|
||||
* @param use_temporary_value If true tmp_npad_type will be used
|
||||
|
@ -103,6 +103,6 @@ struct fmt::formatter<Shader::IR::Opcode> {
|
||||
}
|
||||
template <typename FormatContext>
|
||||
auto format(const Shader::IR::Opcode& op, FormatContext& ctx) {
|
||||
return format_to(ctx.out(), "{}", Shader::IR::NameOf(op));
|
||||
return fmt::format_to(ctx.out(), "{}", Shader::IR::NameOf(op));
|
||||
}
|
||||
};
|
||||
|
@ -24,6 +24,6 @@ struct fmt::formatter<Shader::Maxwell::Opcode> {
|
||||
}
|
||||
template <typename FormatContext>
|
||||
auto format(const Shader::Maxwell::Opcode& opcode, FormatContext& ctx) {
|
||||
return format_to(ctx.out(), "{}", NameOf(opcode));
|
||||
return fmt::format_to(ctx.out(), "{}", NameOf(opcode));
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user