From d7265bfb4050fbd49175bedfcf997942276b4cac Mon Sep 17 00:00:00 2001 From: Yifan Liu Date: Fri, 24 Feb 2023 15:32:16 -0600 Subject: [PATCH] feat: change replace_full so it's set in tasks previously in set_replace --- src/MaaCore/Task/BattleHelper.cpp | 2 +- src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp | 6 +++--- src/MaaCore/Task/Infrast/InfrastProductionTask.cpp | 4 ++-- src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp | 4 ++-- src/MaaCore/Vision/OcrImageAnalyzer.cpp | 3 +-- src/MaaCore/Vision/OcrImageAnalyzer.h | 3 +-- .../Vision/Roguelike/RoguelikeRecruitImageAnalyzer.cpp | 2 +- .../Roguelike/RoguelikeSkillSelectionImageAnalyzer.cpp | 2 +- 8 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/MaaCore/Task/BattleHelper.cpp b/src/MaaCore/Task/BattleHelper.cpp index 335cf0b8c4..206278f09a 100644 --- a/src/MaaCore/Task/BattleHelper.cpp +++ b/src/MaaCore/Task/BattleHelper.cpp @@ -191,7 +191,7 @@ bool asst::BattleHelper::update_deployment(bool init, const cv::Mat& reusable) auto analyze = [&](OcrImageAnalyzer& name_analyzer) { name_analyzer.set_image(name_image); name_analyzer.set_task_info(oper_name_ocr_task_name()); - name_analyzer.set_replace(Task.get("CharsNameOcrReplace")->replace_map, true); + name_analyzer.set_replace(Task.get("CharsNameOcrReplace")->replace_map); if (!name_analyzer.analyze()) { return std::string(); } diff --git a/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp b/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp index e85e9528fa..224d62cac4 100644 --- a/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastAbstractTask.cpp @@ -275,7 +275,7 @@ bool asst::InfrastAbstractTask::select_opers_review(infrast::CustomRoomConfig co const auto& ocr_replace = Task.get("CharsNameOcrReplace")->replace_map; for (const auto& oper : oper_analyzer_res) { OcrWithPreprocessImageAnalyzer name_analyzer; - name_analyzer.set_replace(ocr_replace, true); + name_analyzer.set_replace(ocr_replace); name_analyzer.set_image(oper.name_img); name_analyzer.set_expansion(0); if (!name_analyzer.analyze()) { @@ -330,7 +330,7 @@ bool asst::InfrastAbstractTask::select_custom_opers(std::vector& pa const auto& ocr_replace = Task.get("CharsNameOcrReplace")->replace_map; for (const auto& oper : oper_analyzer.get_result()) { OcrWithPreprocessImageAnalyzer name_analyzer; - name_analyzer.set_replace(ocr_replace, true); + name_analyzer.set_replace(ocr_replace); name_analyzer.set_image(oper.name_img); name_analyzer.set_expansion(0); if (!name_analyzer.analyze()) { @@ -387,7 +387,7 @@ void asst::InfrastAbstractTask::order_opers_selection(const std::vector page_result; for (const auto& oper : oper_analyzer.get_result()) { OcrWithPreprocessImageAnalyzer name_analyzer; - name_analyzer.set_replace(ocr_replace, true); + name_analyzer.set_replace(ocr_replace); name_analyzer.set_image(oper.name_img); name_analyzer.set_expansion(0); if (!name_analyzer.analyze()) { diff --git a/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp b/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp index 2da803f478..a5393a0a54 100644 --- a/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp +++ b/src/MaaCore/Task/Infrast/InfrastProductionTask.cpp @@ -447,7 +447,7 @@ bool asst::InfrastProductionTask::optimal_calc() } else { OcrWithPreprocessImageAnalyzer name_analyzer(find_iter->name_img); - name_analyzer.set_replace(Task.get("CharsNameOcrReplace")->replace_map, true); + name_analyzer.set_replace(Task.get("CharsNameOcrReplace")->replace_map); Log.trace("Analyze name filter"); if (!name_analyzer.analyze()) { continue; @@ -574,7 +574,7 @@ bool asst::InfrastProductionTask::opers_choose() } else { OcrWithPreprocessImageAnalyzer name_analyzer(lhs.name_img); - name_analyzer.set_replace(Task.get("CharsNameOcrReplace")->replace_map, true); + name_analyzer.set_replace(Task.get("CharsNameOcrReplace")->replace_map); Log.trace("Analyze name filter"); if (!name_analyzer.analyze()) { return false; diff --git a/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp b/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp index de823c58c0..ef9376c90f 100644 --- a/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp +++ b/src/MaaCore/Task/Miscellaneous/BattleFormationTask.cpp @@ -133,12 +133,12 @@ std::vector asst::BattleFormationTask::analyzer_opers() OcrWithFlagTemplImageAnalyzer name_analyzer(image); name_analyzer.set_task_info("BattleQuickFormation-OperNameFlag", "BattleQuickFormationOCR"); - name_analyzer.set_replace(ocr_replace, true); + name_analyzer.set_replace(ocr_replace); name_analyzer.analyze(); OcrWithFlagTemplImageAnalyzer special_focus_analyzer(image); special_focus_analyzer.set_task_info("BattleQuickFormation-OperNameFlag-SpecialFocus", "BattleQuickFormationOCR"); - special_focus_analyzer.set_replace(ocr_replace, true); + special_focus_analyzer.set_replace(ocr_replace); special_focus_analyzer.analyze(); auto opers_result = name_analyzer.get_result(); diff --git a/src/MaaCore/Vision/OcrImageAnalyzer.cpp b/src/MaaCore/Vision/OcrImageAnalyzer.cpp index bb85f3be1d..231e1d216f 100644 --- a/src/MaaCore/Vision/OcrImageAnalyzer.cpp +++ b/src/MaaCore/Vision/OcrImageAnalyzer.cpp @@ -109,10 +109,9 @@ void asst::OcrImageAnalyzer::set_required(std::vector required) noe m_required = std::move(required); } -void asst::OcrImageAnalyzer::set_replace(std::unordered_map replace, bool replace_full) noexcept +void asst::OcrImageAnalyzer::set_replace(std::unordered_map replace) noexcept { m_replace = std::move(replace); - m_replace_full = replace_full; } void asst::OcrImageAnalyzer::set_task_info(OcrTaskInfo task_info) noexcept diff --git a/src/MaaCore/Vision/OcrImageAnalyzer.h b/src/MaaCore/Vision/OcrImageAnalyzer.h index c37e13354f..678b64cc18 100644 --- a/src/MaaCore/Vision/OcrImageAnalyzer.h +++ b/src/MaaCore/Vision/OcrImageAnalyzer.h @@ -25,8 +25,7 @@ namespace asst virtual void sort_result_by_required(); // 按传入的需求数组排序,传入的在前面结果接在前面 void set_required(std::vector required) noexcept; - void set_replace(std::unordered_map replace, bool replace_full = false) noexcept; // The whole string is replaced when replace_full is set to true, - // while only the matched part is replaced when it is set to false + void set_replace(std::unordered_map replace) noexcept; virtual void set_task_info(std::shared_ptr task_ptr); virtual void set_task_info(const std::string& task_name); diff --git a/src/MaaCore/Vision/Roguelike/RoguelikeRecruitImageAnalyzer.cpp b/src/MaaCore/Vision/Roguelike/RoguelikeRecruitImageAnalyzer.cpp index 52ca1209fa..d299ca5d2c 100644 --- a/src/MaaCore/Vision/Roguelike/RoguelikeRecruitImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Roguelike/RoguelikeRecruitImageAnalyzer.cpp @@ -12,7 +12,7 @@ bool asst::RoguelikeRecruitImageAnalyzer::analyze() OcrWithFlagTemplImageAnalyzer analyzer(m_image); analyzer.set_task_info("RoguelikeRecruitOcrFlag", "RoguelikeRecruitOcr"); - analyzer.set_replace(Task.get("CharsNameOcrReplace")->replace_map, true); + analyzer.set_replace(Task.get("CharsNameOcrReplace")->replace_map); analyzer.set_threshold(Task.get("RoguelikeRecruitOcr")->specific_rect.x); if (!analyzer.analyze()) { diff --git a/src/MaaCore/Vision/Roguelike/RoguelikeSkillSelectionImageAnalyzer.cpp b/src/MaaCore/Vision/Roguelike/RoguelikeSkillSelectionImageAnalyzer.cpp index 2c1ecca7e4..5c8a7730af 100644 --- a/src/MaaCore/Vision/Roguelike/RoguelikeSkillSelectionImageAnalyzer.cpp +++ b/src/MaaCore/Vision/Roguelike/RoguelikeSkillSelectionImageAnalyzer.cpp @@ -54,7 +54,7 @@ std::string asst::RoguelikeSkillSelectionImageAnalyzer::name_analyze(const Rect& analyzer.set_task_info(name_task_ptr); analyzer.set_image(m_image); analyzer.set_roi(roi.move(name_task_ptr->roi)); - analyzer.set_replace(std::dynamic_pointer_cast(Task.get("CharsNameOcrReplace"))->replace_map, true); + analyzer.set_replace(std::dynamic_pointer_cast(Task.get("CharsNameOcrReplace"))->replace_map); if (!analyzer.analyze()) { return {};