From 2cda6f747bc8f7c152b181400d4f3babffe963f1 Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Tue, 6 Aug 2024 18:34:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BC=80=E5=90=AF=20MuMu=20=E6=88=AA?= =?UTF-8?q?=E5=9B=BE=E5=A2=9E=E5=BC=BA=E5=90=8E=E9=87=8D=E5=90=AF=E6=A8=A1?= =?UTF-8?q?=E6=8B=9F=E5=99=A8=E6=9C=AA=E9=87=8D=E5=90=AF=20MAA=20=E5=90=8E?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E6=88=AA=E5=9B=BE=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #10110 --- src/MaaCore/Controller/AdbController.cpp | 7 +++++++ src/MaaCore/Controller/MumuExtras.cpp | 7 +++++++ src/MaaCore/Controller/MumuExtras.h | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/MaaCore/Controller/AdbController.cpp b/src/MaaCore/Controller/AdbController.cpp index 0b636b4e0e..a015bfe09e 100644 --- a/src/MaaCore/Controller/AdbController.cpp +++ b/src/MaaCore/Controller/AdbController.cpp @@ -558,6 +558,13 @@ bool asst::AdbController::screencap(cv::Mat& image_payload, bool allow_reconnect case AdbProperty::ScreencapMethod::MumuExtras: { auto img_opt = m_mumu_extras.screencap(); screencap_ret = img_opt.has_value(); + + if (!screencap_ret && allow_reconnect) { + m_mumu_extras.reload(); + img_opt = m_mumu_extras.screencap(); + screencap_ret = img_opt.has_value(); + } + if (screencap_ret) { image_payload = img_opt.value(); } diff --git a/src/MaaCore/Controller/MumuExtras.cpp b/src/MaaCore/Controller/MumuExtras.cpp index 3321f75039..e797ad12a5 100644 --- a/src/MaaCore/Controller/MumuExtras.cpp +++ b/src/MaaCore/Controller/MumuExtras.cpp @@ -33,6 +33,13 @@ bool MumuExtras::init( return inited_; } +bool MumuExtras::reload() +{ + inited_ = load_mumu_library() && connect_mumu() && init_screencap(); + LogInfo << "Reload MumuExtras: " << VAR(inited_); + return inited_; +} + void MumuExtras::uninit() { inited_ = false; diff --git a/src/MaaCore/Controller/MumuExtras.h b/src/MaaCore/Controller/MumuExtras.h index 709328b9de..2a9c32da7b 100644 --- a/src/MaaCore/Controller/MumuExtras.h +++ b/src/MaaCore/Controller/MumuExtras.h @@ -24,8 +24,8 @@ public: bool inited() const { return inited_; } - bool init(const std::filesystem::path& mumu_path, int mumu_inst_index, int mumu_display_id); + bool reload(); void uninit(); std::optional screencap();