diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp index 452c3e6ba..ff087f53c 100644 --- a/src/citra_qt/bootmanager.cpp +++ b/src/citra_qt/bootmanager.cpp @@ -17,8 +17,9 @@ #include "core/core.h" #include "core/settings.h" #include "core/system.h" + #include "input_core/input_core.h" -#include "input_core\devices\Keyboard.h" +#include "input_core/devices/Keyboard.h" #include "video_core/debug_utils/debug_utils.h" #include "video_core/video_core.h" @@ -110,6 +111,7 @@ private: GRenderWindow::GRenderWindow(QWidget* parent, EmuThread* emu_thread) : QWidget(parent), keyboard_id(0), emu_thread(emu_thread) { + std::string window_title = Common::StringFromFormat("Citra | %s-%s", Common::g_scm_branch, Common::g_scm_desc); setWindowTitle(QString::fromStdString(window_title)); @@ -137,6 +139,7 @@ GRenderWindow::GRenderWindow(QWidget* parent, EmuThread* emu_thread) : NotifyClientAreaSizeChanged(std::pair(child->width(), child->height())); BackupGeometry(); + } void GRenderWindow::moveContext() { @@ -257,10 +260,10 @@ void GRenderWindow::mouseReleaseEvent(QMouseEvent *event) { } void GRenderWindow::ReloadSetKeymaps() { - //KeyMap::ClearKeyMapping(); + /*KeyMap::ClearKeyMapping(keyboard_id); for (int i = 0; i < Settings::NativeInput::NUM_INPUTS; ++i) { - //KeyMap::SetKeyMapping( Settings::values.input_mappings[Settings::NativeInput::All[i]], KeyMap::mapping_targets[i]); - } + KeyMap::SetKeyMapping({ Settings::values.input_mappings[Settings::NativeInput::All[i]], keyboard_id }, KeyMap::mapping_targets[i]); + }*/ } void GRenderWindow::OnClientAreaResized(unsigned width, unsigned height) { @@ -288,4 +291,4 @@ void GRenderWindow::showEvent(QShowEvent * event) { #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) connect(this->windowHandle(), SIGNAL(screenChanged(QScreen*)), this, SLOT(OnFramebufferSizeChanged()), Qt::UniqueConnection); #endif -} \ No newline at end of file +} diff --git a/src/common/emu_window.cpp b/src/common/emu_window.cpp index 9560a3dfc..f462d42e1 100644 --- a/src/common/emu_window.cpp +++ b/src/common/emu_window.cpp @@ -21,8 +21,8 @@ void EmuWindow::ButtonReleased(Service::HID::PadState pad) { void EmuWindow::CirclePadUpdated(float x, float y) { constexpr int MAX_CIRCLEPAD_POS = 0x9C; // Max value for a circle pad position - // Make sure the coordinates are in the unit circle, - // otherwise normalize it. + // Make sure the coordinates are in the unit circle, + // otherwise normalize it. float r = x * x + y * y; if (r > 1) { r = std::sqrt(r); @@ -35,22 +35,21 @@ void EmuWindow::CirclePadUpdated(float x, float y) { } /** - * Check if the given x/y coordinates are within the touchpad specified by the framebuffer layout - * @param layout FramebufferLayout object describing the framebuffer size and screen positions - * @param framebuffer_x Framebuffer x-coordinate to check - * @param framebuffer_y Framebuffer y-coordinate to check - * @return True if the coordinates are within the touchpad, otherwise false - */ +* Check if the given x/y coordinates are within the touchpad specified by the framebuffer layout +* @param layout FramebufferLayout object describing the framebuffer size and screen positions +* @param framebuffer_x Framebuffer x-coordinate to check +* @param framebuffer_y Framebuffer y-coordinate to check +* @return True if the coordinates are within the touchpad, otherwise false +*/ static bool IsWithinTouchscreen(const EmuWindow::FramebufferLayout& layout, unsigned framebuffer_x, unsigned framebuffer_y) { return (framebuffer_y >= layout.bottom_screen.top && - framebuffer_y < layout.bottom_screen.bottom && + framebuffer_y < layout.bottom_screen.bottom && framebuffer_x >= layout.bottom_screen.left && - framebuffer_x < layout.bottom_screen.right); + framebuffer_x < layout.bottom_screen.right); } -std::tuple EmuWindow::ClipToTouchScreen(unsigned new_x, unsigned new_y) { - +std::tuple EmuWindow::ClipToTouchScreen(unsigned new_x, unsigned new_y) { new_x = std::max(new_x, framebuffer_layout.bottom_screen.left); new_x = std::min(new_x, framebuffer_layout.bottom_screen.right - 1); @@ -95,7 +94,7 @@ EmuWindow::FramebufferLayout EmuWindow::FramebufferLayout::DefaultScreenLayout(u if (width == 0) width = 1; if (height == 0) height = 1; - EmuWindow::FramebufferLayout res = { width, height, {}, {} }; + EmuWindow::FramebufferLayout res = { width, height,{},{} }; float window_aspect_ratio = static_cast(height) / width; float emulation_aspect_ratio = static_cast(VideoCore::kScreenTopHeight * 2) / @@ -139,4 +138,4 @@ EmuWindow::FramebufferLayout EmuWindow::FramebufferLayout::DefaultScreenLayout(u } return res; -} \ No newline at end of file +} diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 9ff9d1615..96bb97360 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -12,15 +12,17 @@ #include "core/hle/service/hid/hid_spvr.h" #include "core/hle/service/hid/hid_user.h" +#include "input_core\input_core.h" + #include "core/core_timing.h" #include "core/hle/kernel/event.h" #include "core/hle/kernel/shared_memory.h" -#include "input_core\input_core.h" #include "video_core/video_core.h" namespace Service { namespace HID { + // Handle to shared memory region designated to HID_User service static Kernel::SharedPtr shared_mem; @@ -67,10 +69,6 @@ namespace Service { } void Update() { - if (shared_mem == nullptr) { - LOG_DEBUG(Service_HID, "shared_mem is null!"); - return; - } SharedMem* mem = reinterpret_cast(shared_mem->GetPointer()); if (mem == nullptr) { @@ -194,7 +192,7 @@ namespace Service { cmd_buff[1] = 0; // No error cmd_buff[2] = 0x14000000; // IPC Command Structure translate-header - // TODO(yuriks): Return error from SendSyncRequest is this fails (part of IPC marshalling) + // TODO(yuriks): Return error from SendSyncRequest is this fails (part of IPC marshalling) cmd_buff[3] = Kernel::g_handle_table.Create(Service::HID::shared_mem).MoveFrom(); cmd_buff[4] = Kernel::g_handle_table.Create(Service::HID::event_pad_or_touch_1).MoveFrom(); cmd_buff[5] = Kernel::g_handle_table.Create(Service::HID::event_pad_or_touch_2).MoveFrom(); @@ -313,5 +311,7 @@ namespace Service { event_gyroscope = nullptr; event_debug_pad = nullptr; } + } // namespace HID -} // namespace Service \ No newline at end of file + +} // namespace Service diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp index 45e1d4a3d..2c04d5970 100644 --- a/src/core/hw/gpu.cpp +++ b/src/core/hw/gpu.cpp @@ -32,7 +32,9 @@ #include "video_core/debug_utils/debug_utils.h" + namespace GPU { + Regs g_regs; /// True if the current frame was skipped @@ -100,6 +102,7 @@ namespace GPU { g_regs[index] = static_cast(data); switch (index) { + // Memory fills are triggered once the fill value is written. case GPU_REG_INDEX_WORKAROUND(memory_fill_config[0].trigger, 0x00004 + 0x3): case GPU_REG_INDEX_WORKAROUND(memory_fill_config[1].trigger, 0x00008 + 0x3): @@ -173,6 +176,7 @@ namespace GPU { const auto& config = g_regs.display_transfer_config; if (config.trigger & 1) { + if (Pica::g_debug_context) Pica::g_debug_context->OnEvent(Pica::DebugContext::Event::IncomingDisplayTransfer, nullptr); @@ -480,4 +484,5 @@ namespace GPU { void Shutdown() { LOG_DEBUG(HW_GPU, "shutdown OK"); } -} // namespace \ No newline at end of file + +} // namespace