From 91abbb7f175b93a58368a136acf3799666f770d2 Mon Sep 17 00:00:00 2001 From: MistEO Date: Sat, 26 Nov 2022 02:12:51 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84cpp=E4=BE=A7?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 16 - src/MeoAssistant/Assistant.cpp | 61 +- src/MeoAssistant/Assistant.h | 8 +- src/MeoAssistant/AsstCaller.cpp | 6 +- .../{Utils => Common}/AsstBattleDef.h | 3 +- src/MeoAssistant/{Utils => Common}/AsstConf.h | 0 .../{Utils => Common}/AsstInfrastDef.h | 4 +- src/MeoAssistant/{Utils => Common}/AsstMsg.h | 0 .../{Utils => Common}/AsstTypes.h | 0 .../{Utils/Version.h => Common/AsstVersion.h} | 0 src/MeoAssistant/Controller.cpp | 72 +- src/MeoAssistant/Controller.h | 11 +- .../{General => }/AbstractImageAnalyzer.cpp | 2 +- .../{General => }/AbstractImageAnalyzer.h | 2 +- .../{General => }/HashImageAnalyzer.cpp | 0 .../{General => }/HashImageAnalyzer.h | 0 .../InfrastClueImageAnalyzer.cpp | 2 +- .../{ => Infrast}/InfrastClueImageAnalyzer.h | 2 +- .../InfrastClueVacancyImageAnalyzer.cpp | 5 +- .../InfrastClueVacancyImageAnalyzer.h | 2 +- .../InfrastFacilityImageAnalyzer.cpp | 4 +- .../InfrastFacilityImageAnalyzer.h | 2 +- .../InfrastOperImageAnalyzer.cpp | 26 +- .../{ => Infrast}/InfrastOperImageAnalyzer.h | 4 +- .../InfrastSmileyImageAnalyzer.cpp | 2 +- .../InfrastSmileyImageAnalyzer.h | 4 +- .../{General => }/MatchImageAnalyzer.cpp | 2 +- .../{General => }/MatchImageAnalyzer.h | 0 .../BattleImageAnalyzer.cpp | 12 +- .../{ => Miscellaneous}/BattleImageAnalyzer.h | 4 +- .../CreditShopImageAnalyzer.cpp | 10 +- .../CreditShopImageAnalyzer.h | 2 +- .../DepotImageAnalyzer.cpp | 8 +- .../{ => Miscellaneous}/DepotImageAnalyzer.h | 2 +- .../ProcessTaskImageAnalyzer.cpp | 12 +- .../ProcessTaskImageAnalyzer.h | 10 +- .../RecruitImageAnalyzer.cpp | 10 +- .../RecruitImageAnalyzer.h | 4 +- .../{General => }/MultiMatchImageAnalyzer.cpp | 4 +- .../{General => }/MultiMatchImageAnalyzer.h | 0 .../{General => }/OcrImageAnalyzer.cpp | 4 +- .../{General => }/OcrImageAnalyzer.h | 2 +- .../OcrWithFlagTemplImageAnalyzer.cpp | 2 +- .../OcrWithFlagTemplImageAnalyzer.h | 0 .../OcrWithPreprocessImageAnalyzer.cpp | 0 .../OcrWithPreprocessImageAnalyzer.h | 0 .../RoguelikeFormationImageAnalyzer.cpp | 4 +- .../RoguelikeFormationImageAnalyzer.h | 2 +- .../RoguelikeRecruitImageAnalyzer.cpp | 6 +- .../RoguelikeRecruitImageAnalyzer.h | 4 +- .../RoguelikeSkillSelectionImageAnalyzer.cpp | 10 +- .../RoguelikeSkillSelectionImageAnalyzer.h | 2 +- .../StageDropsImageAnalyzer.cpp | 20 +- .../{ => Roguelike}/StageDropsImageAnalyzer.h | 6 +- src/MeoAssistant/MeoAssistant.vcxproj | 384 +++--- src/MeoAssistant/MeoAssistant.vcxproj.filters | 1153 +++++++++-------- src/MeoAssistant/Resource/AbstractConfig.h | 2 +- .../Resource/AbstractConfigWithTempl.h | 2 +- src/MeoAssistant/Resource/GeneralConfig.h | 8 +- .../{ => Miscellaneous}/BattleDataConfig.cpp | 2 +- .../{ => Miscellaneous}/BattleDataConfig.h | 10 +- .../{ => Miscellaneous}/CopilotConfig.cpp | 2 +- .../{ => Miscellaneous}/CopilotConfig.h | 6 +- .../{ => Miscellaneous}/InfrastConfig.cpp | 0 .../{ => Miscellaneous}/InfrastConfig.h | 6 +- .../{ => Miscellaneous}/ItemConfig.cpp | 4 +- .../Resource/{ => Miscellaneous}/ItemConfig.h | 4 +- .../Resource/{ => Miscellaneous}/OcrPack.cpp | 8 +- .../Resource/{ => Miscellaneous}/OcrPack.h | 4 +- .../{ => Miscellaneous}/RecruitConfig.cpp | 2 +- .../{ => Miscellaneous}/RecruitConfig.h | 10 +- .../{ => Miscellaneous}/StageDropsConfig.cpp | 2 +- .../{ => Miscellaneous}/StageDropsConfig.h | 6 +- .../Resource/{ => Miscellaneous}/TilePack.cpp | 2 +- .../Resource/{ => Miscellaneous}/TilePack.h | 6 +- .../{ => Resource}/ResourceLoader.cpp | 52 +- .../{ => Resource}/ResourceLoader.h | 14 +- .../RoguelikeCopilotConfig.cpp | 18 +- .../{ => Roguelike}/RoguelikeCopilotConfig.h | 6 +- .../RoguelikeRecruitConfig.cpp | 2 +- .../{ => Roguelike}/RoguelikeRecruitConfig.h | 8 +- .../RoguelikeShoppingConfig.cpp | 0 .../{ => Roguelike}/RoguelikeShoppingConfig.h | 6 +- src/MeoAssistant/{ => Resource}/TaskData.cpp | 205 +-- src/MeoAssistant/{ => Resource}/TaskData.h | 51 +- src/MeoAssistant/Resource/TemplResource.cpp | 5 +- src/MeoAssistant/Resource/TemplResource.h | 2 +- .../{RuntimeStatus.cpp => Status.cpp} | 26 +- .../{RuntimeStatus.h => Status.h} | 16 +- .../Task/{Sub => }/AbstractTask.cpp | 11 +- .../Task/{Sub => }/AbstractTask.h | 8 +- .../Task/{Plugin => }/AbstractTaskPlugin.cpp | 0 .../Task/{Plugin => }/AbstractTaskPlugin.h | 4 +- .../{Plugin => Fight}/DrGrandetTaskPlugin.cpp | 4 +- .../{Plugin => Fight}/DrGrandetTaskPlugin.h | 2 +- .../StageDropsTaskPlugin.cpp | 18 +- .../{Plugin => Fight}/StageDropsTaskPlugin.h | 11 +- .../{Sub => Fight}/StageNavigationTask.cpp | 6 +- .../Task/{Sub => Fight}/StageNavigationTask.h | 2 +- .../DronesForShamareTaskPlugin.cpp | 4 +- .../DronesForShamareTaskPlugin.h | 2 +- .../{Sub => Infrast}/InfrastAbstractTask.cpp | 18 +- .../{Sub => Infrast}/InfrastAbstractTask.h | 6 +- .../{Sub => Infrast}/InfrastControlTask.cpp | 0 .../{Sub => Infrast}/InfrastControlTask.h | 0 .../Task/{Sub => Infrast}/InfrastDormTask.cpp | 12 +- .../Task/{Sub => Infrast}/InfrastDormTask.h | 0 .../Task/{Sub => Infrast}/InfrastInfoTask.cpp | 4 +- .../Task/{Sub => Infrast}/InfrastInfoTask.h | 0 .../Task/{Sub => Infrast}/InfrastMfgTask.cpp | 2 +- .../Task/{Sub => Infrast}/InfrastMfgTask.h | 0 .../{Sub => Infrast}/InfrastOfficeTask.cpp | 4 +- .../Task/{Sub => Infrast}/InfrastOfficeTask.h | 0 .../{Sub => Infrast}/InfrastPowerTask.cpp | 2 +- .../Task/{Sub => Infrast}/InfrastPowerTask.h | 0 .../InfrastProductionTask.cpp | 164 +-- .../{Sub => Infrast}/InfrastProductionTask.h | 2 +- .../{Sub => Infrast}/InfrastReceptionTask.cpp | 12 +- .../{Sub => Infrast}/InfrastReceptionTask.h | 0 .../{Sub => Infrast}/InfrastTradeTask.cpp | 0 .../Task/{Sub => Infrast}/InfrastTradeTask.h | 0 .../ReplenishOriginiumShardTaskPlugin.cpp | 2 +- .../ReplenishOriginiumShardTaskPlugin.h | 2 +- .../Task/{ => Interface}/AwardTask.cpp | 2 +- .../Task/{ => Interface}/AwardTask.h | 2 +- .../Task/{ => Interface}/CloseDownTask.cpp | 4 +- .../Task/{ => Interface}/CloseDownTask.h | 2 +- .../Task/{ => Interface}/CopilotTask.cpp | 12 +- .../Task/{ => Interface}/CopilotTask.h | 2 +- .../Task/{ => Interface}/DebugTask.cpp | 6 +- .../Task/{ => Interface}/DebugTask.h | 2 +- .../Task/{ => Interface}/DepotTask.cpp | 4 +- .../Task/{ => Interface}/DepotTask.h | 2 +- .../Task/{ => Interface}/FightTask.cpp | 14 +- .../Task/{ => Interface}/FightTask.h | 2 +- .../Task/{ => Interface}/InfrastTask.cpp | 22 +- .../Task/{ => Interface}/InfrastTask.h | 2 +- .../Task/{ => Interface}/MallTask.cpp | 4 +- .../Task/{ => Interface}/MallTask.h | 2 +- .../Task/{ => Interface}/RecruitTask.cpp | 4 +- .../Task/{ => Interface}/RecruitTask.h | 2 +- .../Task/{ => Interface}/RoguelikeTask.cpp | 26 +- .../Task/{ => Interface}/RoguelikeTask.h | 2 +- .../Task/{ => Interface}/StartUpTask.cpp | 2 +- .../Task/{ => Interface}/StartUpTask.h | 4 +- .../Task/{ => Interface}/VisitTask.cpp | 4 +- .../Task/{ => Interface}/VisitTask.h | 2 +- .../AutoRecruitTask.cpp | 56 +- .../{Sub => Miscellaneous}/AutoRecruitTask.h | 8 +- .../BattleFormationTask.cpp | 12 +- .../BattleFormationTask.h | 4 +- .../BattleProcessTask.cpp | 55 +- .../BattleProcessTask.h | 10 +- .../{ => Miscellaneous}/CreditFightTask.cpp | 14 +- .../{ => Miscellaneous}/CreditFightTask.h | 2 +- .../CreditShoppingTask.cpp | 10 +- .../CreditShoppingTask.h | 4 +- .../DepotRecognitionTask.cpp | 8 +- .../DepotRecognitionTask.h | 4 +- .../GameCrashRestartTaskPlugin.cpp | 2 +- .../GameCrashRestartTaskPlugin.h | 0 .../StartGameTaskPlugin.cpp | 0 .../StartGameTaskPlugin.h | 4 +- .../StopGameTaskPlugin.cpp | 0 .../StopGameTaskPlugin.h | 4 +- src/MeoAssistant/Task/PackageTask.cpp | 2 +- src/MeoAssistant/Task/PackageTask.h | 4 +- .../Task/{Sub => }/ProcessTask.cpp | 20 +- src/MeoAssistant/Task/{Sub => }/ProcessTask.h | 2 +- .../Task/{Sub => }/ReportDataTask.cpp | 24 +- .../Task/{Sub => }/ReportDataTask.h | 2 +- .../RoguelikeBattleTaskPlugin.cpp | 30 +- .../RoguelikeBattleTaskPlugin.h | 10 +- .../RoguelikeControlTaskPlugin.cpp | 4 +- .../RoguelikeControlTaskPlugin.h | 2 +- .../RoguelikeCustomStartTaskPlugin.cpp | 14 +- .../RoguelikeCustomStartTaskPlugin.h | 2 +- .../RoguelikeDebugTaskPlugin.cpp | 4 +- .../RoguelikeDebugTaskPlugin.h | 2 +- .../RoguelikeFormationTaskPlugin.cpp | 12 +- .../RoguelikeFormationTaskPlugin.h | 2 +- .../RoguelikeRecruitTaskPlugin.cpp | 48 +- .../RoguelikeRecruitTaskPlugin.h | 4 +- .../RoguelikeResetTaskPlugin.cpp | 4 +- .../RoguelikeResetTaskPlugin.h | 2 +- .../RoguelikeShoppingTaskPlugin.cpp | 21 +- .../RoguelikeShoppingTaskPlugin.h | 2 +- .../RoguelikeSkillSelectionTaskPlugin.cpp | 24 +- .../RoguelikeSkillSelectionTaskPlugin.h | 2 +- .../Utils/{AsstHttp.hpp => Http.hpp} | 4 +- .../Utils/{AsstImageIo.hpp => ImageIo.hpp} | 2 - src/MeoAssistant/Utils/Locale.hpp | 1 - src/MeoAssistant/Utils/Logger.hpp | 6 +- src/MeoAssistant/Utils/NoWarningCV.h | 2 +- src/MeoAssistant/Utils/NoWarningCVMat.h | 2 +- src/MeoAssistant/Utils/Platform.hpp | 4 +- .../Platform/{AsstPlatform.h => Platform.h} | 7 + ...sstPlatformPosix.cpp => PlatformPosix.cpp} | 4 +- .../{AsstPlatformPosix.h => PlatformPosix.h} | 0 ...sstPlatformWin32.cpp => PlatformWin32.cpp} | 4 +- .../{AsstPlatformWin32.h => PlatformWin32.h} | 0 .../Utils/{AsstRanges.hpp => Ranges.hpp} | 2 +- src/MeoAssistant/Utils/StringMisc.hpp | 2 +- src/MeoAssistant/Utils/WorkingDir.hpp | 4 +- src/MeoAssistant/re-include.py | 49 + tools/ResourceUpdater/main.cpp | 2 +- 206 files changed, 1695 insertions(+), 1686 deletions(-) rename src/MeoAssistant/{Utils => Common}/AsstBattleDef.h (99%) rename src/MeoAssistant/{Utils => Common}/AsstConf.h (100%) rename src/MeoAssistant/{Utils => Common}/AsstInfrastDef.h (99%) rename src/MeoAssistant/{Utils => Common}/AsstMsg.h (100%) rename src/MeoAssistant/{Utils => Common}/AsstTypes.h (100%) rename src/MeoAssistant/{Utils/Version.h => Common/AsstVersion.h} (100%) rename src/MeoAssistant/ImageAnalyzer/{General => }/AbstractImageAnalyzer.cpp (98%) rename src/MeoAssistant/ImageAnalyzer/{General => }/AbstractImageAnalyzer.h (97%) rename src/MeoAssistant/ImageAnalyzer/{General => }/HashImageAnalyzer.cpp (100%) rename src/MeoAssistant/ImageAnalyzer/{General => }/HashImageAnalyzer.h (100%) rename src/MeoAssistant/ImageAnalyzer/{ => Infrast}/InfrastClueImageAnalyzer.cpp (93%) rename src/MeoAssistant/ImageAnalyzer/{ => Infrast}/InfrastClueImageAnalyzer.h (92%) rename src/MeoAssistant/ImageAnalyzer/{ => Infrast}/InfrastClueVacancyImageAnalyzer.cpp (95%) rename src/MeoAssistant/ImageAnalyzer/{ => Infrast}/InfrastClueVacancyImageAnalyzer.h (95%) rename src/MeoAssistant/ImageAnalyzer/{ => Infrast}/InfrastFacilityImageAnalyzer.cpp (97%) rename src/MeoAssistant/ImageAnalyzer/{ => Infrast}/InfrastFacilityImageAnalyzer.h (97%) rename src/MeoAssistant/ImageAnalyzer/{ => Infrast}/InfrastOperImageAnalyzer.cpp (96%) rename src/MeoAssistant/ImageAnalyzer/{ => Infrast}/InfrastOperImageAnalyzer.h (95%) rename src/MeoAssistant/ImageAnalyzer/{ => Infrast}/InfrastSmileyImageAnalyzer.cpp (95%) rename src/MeoAssistant/ImageAnalyzer/{ => Infrast}/InfrastSmileyImageAnalyzer.h (84%) rename src/MeoAssistant/ImageAnalyzer/{General => }/MatchImageAnalyzer.cpp (99%) rename src/MeoAssistant/ImageAnalyzer/{General => }/MatchImageAnalyzer.h (100%) rename src/MeoAssistant/ImageAnalyzer/{ => Miscellaneous}/BattleImageAnalyzer.cpp (98%) rename src/MeoAssistant/ImageAnalyzer/{ => Miscellaneous}/BattleImageAnalyzer.h (97%) rename src/MeoAssistant/ImageAnalyzer/{ => Miscellaneous}/CreditShopImageAnalyzer.cpp (95%) rename src/MeoAssistant/ImageAnalyzer/{ => Miscellaneous}/CreditShopImageAnalyzer.h (95%) rename src/MeoAssistant/ImageAnalyzer/{ => Miscellaneous}/DepotImageAnalyzer.cpp (98%) rename src/MeoAssistant/ImageAnalyzer/{ => Miscellaneous}/DepotImageAnalyzer.h (96%) rename src/MeoAssistant/ImageAnalyzer/{ => Miscellaneous}/ProcessTaskImageAnalyzer.cpp (95%) rename src/MeoAssistant/ImageAnalyzer/{ => Miscellaneous}/ProcessTaskImageAnalyzer.h (88%) rename src/MeoAssistant/ImageAnalyzer/{ => Miscellaneous}/RecruitImageAnalyzer.cpp (89%) rename src/MeoAssistant/ImageAnalyzer/{ => Miscellaneous}/RecruitImageAnalyzer.h (92%) rename src/MeoAssistant/ImageAnalyzer/{General => }/MultiMatchImageAnalyzer.cpp (98%) rename src/MeoAssistant/ImageAnalyzer/{General => }/MultiMatchImageAnalyzer.h (100%) rename src/MeoAssistant/ImageAnalyzer/{General => }/OcrImageAnalyzer.cpp (98%) rename src/MeoAssistant/ImageAnalyzer/{General => }/OcrImageAnalyzer.h (98%) rename src/MeoAssistant/ImageAnalyzer/{General => }/OcrWithFlagTemplImageAnalyzer.cpp (98%) rename src/MeoAssistant/ImageAnalyzer/{General => }/OcrWithFlagTemplImageAnalyzer.h (100%) rename src/MeoAssistant/ImageAnalyzer/{General => }/OcrWithPreprocessImageAnalyzer.cpp (100%) rename src/MeoAssistant/ImageAnalyzer/{General => }/OcrWithPreprocessImageAnalyzer.h (100%) rename src/MeoAssistant/ImageAnalyzer/{ => Roguelike}/RoguelikeFormationImageAnalyzer.cpp (96%) rename src/MeoAssistant/ImageAnalyzer/{ => Roguelike}/RoguelikeFormationImageAnalyzer.h (93%) rename src/MeoAssistant/ImageAnalyzer/{ => Roguelike}/RoguelikeRecruitImageAnalyzer.cpp (95%) rename src/MeoAssistant/ImageAnalyzer/{ => Roguelike}/RoguelikeRecruitImageAnalyzer.h (87%) rename src/MeoAssistant/ImageAnalyzer/{ => Roguelike}/RoguelikeSkillSelectionImageAnalyzer.cpp (91%) rename src/MeoAssistant/ImageAnalyzer/{ => Roguelike}/RoguelikeSkillSelectionImageAnalyzer.h (94%) rename src/MeoAssistant/ImageAnalyzer/{ => Roguelike}/StageDropsImageAnalyzer.cpp (96%) rename src/MeoAssistant/ImageAnalyzer/{ => Roguelike}/StageDropsImageAnalyzer.h (86%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/BattleDataConfig.cpp (98%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/BattleDataConfig.h (88%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/CopilotConfig.cpp (99%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/CopilotConfig.h (76%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/InfrastConfig.cpp (100%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/InfrastConfig.h (90%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/ItemConfig.cpp (92%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/ItemConfig.h (90%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/OcrPack.cpp (97%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/OcrPack.h (94%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/RecruitConfig.cpp (93%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/RecruitConfig.h (93%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/StageDropsConfig.cpp (97%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/StageDropsConfig.h (93%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/TilePack.cpp (99%) rename src/MeoAssistant/Resource/{ => Miscellaneous}/TilePack.h (95%) rename src/MeoAssistant/{ => Resource}/ResourceLoader.cpp (78%) rename src/MeoAssistant/{ => Resource}/ResourceLoader.h (76%) rename src/MeoAssistant/Resource/{ => Roguelike}/RoguelikeCopilotConfig.cpp (94%) rename src/MeoAssistant/Resource/{ => Roguelike}/RoguelikeCopilotConfig.h (72%) rename src/MeoAssistant/Resource/{ => Roguelike}/RoguelikeRecruitConfig.cpp (98%) rename src/MeoAssistant/Resource/{ => Roguelike}/RoguelikeRecruitConfig.h (89%) rename src/MeoAssistant/Resource/{ => Roguelike}/RoguelikeShoppingConfig.cpp (100%) rename src/MeoAssistant/Resource/{ => Roguelike}/RoguelikeShoppingConfig.h (80%) rename src/MeoAssistant/{ => Resource}/TaskData.cpp (75%) rename src/MeoAssistant/{ => Resource}/TaskData.h (83%) rename src/MeoAssistant/{RuntimeStatus.cpp => Status.cpp} (54%) rename src/MeoAssistant/{RuntimeStatus.h => Status.h} (84%) rename src/MeoAssistant/Task/{Sub => }/AbstractTask.cpp (96%) rename src/MeoAssistant/Task/{Sub => }/AbstractTask.h (93%) rename src/MeoAssistant/Task/{Plugin => }/AbstractTaskPlugin.cpp (100%) rename src/MeoAssistant/Task/{Plugin => }/AbstractTaskPlugin.h (92%) rename src/MeoAssistant/Task/{Plugin => Fight}/DrGrandetTaskPlugin.cpp (96%) rename src/MeoAssistant/Task/{Plugin => Fight}/DrGrandetTaskPlugin.h (95%) rename src/MeoAssistant/Task/{Plugin => Fight}/StageDropsTaskPlugin.cpp (96%) rename src/MeoAssistant/Task/{Plugin => Fight}/StageDropsTaskPlugin.h (86%) rename src/MeoAssistant/Task/{Sub => Fight}/StageNavigationTask.cpp (93%) rename src/MeoAssistant/Task/{Sub => Fight}/StageNavigationTask.h (93%) rename src/MeoAssistant/Task/{Plugin => Infrast}/DronesForShamareTaskPlugin.cpp (94%) rename src/MeoAssistant/Task/{Plugin => Infrast}/DronesForShamareTaskPlugin.h (94%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastAbstractTask.cpp (97%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastAbstractTask.h (96%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastControlTask.cpp (100%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastControlTask.h (100%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastDormTask.cpp (97%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastDormTask.h (100%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastInfoTask.cpp (88%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastInfoTask.h (100%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastMfgTask.cpp (84%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastMfgTask.h (100%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastOfficeTask.cpp (97%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastOfficeTask.h (100%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastPowerTask.cpp (98%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastPowerTask.h (100%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastProductionTask.cpp (80%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastProductionTask.h (97%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastReceptionTask.cpp (95%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastReceptionTask.h (100%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastTradeTask.cpp (100%) rename src/MeoAssistant/Task/{Sub => Infrast}/InfrastTradeTask.h (100%) rename src/MeoAssistant/Task/{Plugin => Infrast}/ReplenishOriginiumShardTaskPlugin.cpp (95%) rename src/MeoAssistant/Task/{Plugin => Infrast}/ReplenishOriginiumShardTaskPlugin.h (92%) rename src/MeoAssistant/Task/{ => Interface}/AwardTask.cpp (90%) rename src/MeoAssistant/Task/{ => Interface}/AwardTask.h (90%) rename src/MeoAssistant/Task/{ => Interface}/CloseDownTask.cpp (78%) rename src/MeoAssistant/Task/{ => Interface}/CloseDownTask.h (90%) rename src/MeoAssistant/Task/{ => Interface}/CopilotTask.cpp (81%) rename src/MeoAssistant/Task/{ => Interface}/CopilotTask.h (95%) rename src/MeoAssistant/Task/{ => Interface}/DebugTask.cpp (88%) rename src/MeoAssistant/Task/{ => Interface}/DebugTask.h (91%) rename src/MeoAssistant/Task/{ => Interface}/DepotTask.cpp (86%) rename src/MeoAssistant/Task/{ => Interface}/DepotTask.h (90%) rename src/MeoAssistant/Task/{ => Interface}/FightTask.cpp (93%) rename src/MeoAssistant/Task/{ => Interface}/FightTask.h (96%) rename src/MeoAssistant/Task/{ => Interface}/InfrastTask.cpp (96%) rename src/MeoAssistant/Task/{ => Interface}/InfrastTask.h (98%) rename src/MeoAssistant/Task/{ => Interface}/MallTask.cpp (97%) rename src/MeoAssistant/Task/{ => Interface}/MallTask.h (95%) rename src/MeoAssistant/Task/{ => Interface}/RecruitTask.cpp (97%) rename src/MeoAssistant/Task/{ => Interface}/RecruitTask.h (94%) rename src/MeoAssistant/Task/{ => Interface}/RoguelikeTask.cpp (86%) rename src/MeoAssistant/Task/{ => Interface}/RoguelikeTask.h (97%) rename src/MeoAssistant/Task/{ => Interface}/StartUpTask.cpp (96%) rename src/MeoAssistant/Task/{ => Interface}/StartUpTask.h (86%) rename src/MeoAssistant/Task/{ => Interface}/VisitTask.cpp (90%) rename src/MeoAssistant/Task/{ => Interface}/VisitTask.h (94%) rename src/MeoAssistant/Task/{Sub => Miscellaneous}/AutoRecruitTask.cpp (94%) rename src/MeoAssistant/Task/{Sub => Miscellaneous}/AutoRecruitTask.h (96%) rename src/MeoAssistant/Task/{Sub => Miscellaneous}/BattleFormationTask.cpp (96%) rename src/MeoAssistant/Task/{Sub => Miscellaneous}/BattleFormationTask.h (93%) rename src/MeoAssistant/Task/{Sub => Miscellaneous}/BattleProcessTask.cpp (95%) rename src/MeoAssistant/Task/{Sub => Miscellaneous}/BattleProcessTask.h (91%) rename src/MeoAssistant/Task/{ => Miscellaneous}/CreditFightTask.cpp (85%) rename src/MeoAssistant/Task/{ => Miscellaneous}/CreditFightTask.h (92%) rename src/MeoAssistant/Task/{Sub => Miscellaneous}/CreditShoppingTask.cpp (93%) rename src/MeoAssistant/Task/{Sub => Miscellaneous}/CreditShoppingTask.h (93%) rename src/MeoAssistant/Task/{Sub => Miscellaneous}/DepotRecognitionTask.cpp (93%) rename src/MeoAssistant/Task/{Sub => Miscellaneous}/DepotRecognitionTask.h (83%) rename src/MeoAssistant/Task/{Plugin => Miscellaneous}/GameCrashRestartTaskPlugin.cpp (94%) rename src/MeoAssistant/Task/{Plugin => Miscellaneous}/GameCrashRestartTaskPlugin.h (100%) rename src/MeoAssistant/Task/{Plugin => Miscellaneous}/StartGameTaskPlugin.cpp (100%) rename src/MeoAssistant/Task/{Plugin => Miscellaneous}/StartGameTaskPlugin.h (90%) rename src/MeoAssistant/Task/{Plugin => Miscellaneous}/StopGameTaskPlugin.cpp (100%) rename src/MeoAssistant/Task/{Plugin => Miscellaneous}/StopGameTaskPlugin.h (87%) rename src/MeoAssistant/Task/{Sub => }/ProcessTask.cpp (94%) rename src/MeoAssistant/Task/{Sub => }/ProcessTask.h (98%) rename src/MeoAssistant/Task/{Sub => }/ReportDataTask.cpp (94%) rename src/MeoAssistant/Task/{Sub => }/ReportDataTask.h (97%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeBattleTaskPlugin.cpp (98%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeBattleTaskPlugin.h (96%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeControlTaskPlugin.cpp (91%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeControlTaskPlugin.h (91%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeCustomStartTaskPlugin.cpp (93%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeCustomStartTaskPlugin.h (96%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeDebugTaskPlugin.cpp (90%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeDebugTaskPlugin.h (91%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeFormationTaskPlugin.cpp (93%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeFormationTaskPlugin.h (93%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeRecruitTaskPlugin.cpp (89%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeRecruitTaskPlugin.h (95%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeResetTaskPlugin.cpp (89%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeResetTaskPlugin.h (90%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeShoppingTaskPlugin.cpp (89%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeShoppingTaskPlugin.h (91%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeSkillSelectionTaskPlugin.cpp (76%) rename src/MeoAssistant/Task/{Plugin => Roguelike}/RoguelikeSkillSelectionTaskPlugin.h (92%) rename src/MeoAssistant/Utils/{AsstHttp.hpp => Http.hpp} (99%) rename src/MeoAssistant/Utils/{AsstImageIo.hpp => ImageIo.hpp} (99%) rename src/MeoAssistant/Utils/Platform/{AsstPlatform.h => Platform.h} (96%) rename src/MeoAssistant/Utils/Platform/{AsstPlatformPosix.cpp => PlatformPosix.cpp} (97%) rename src/MeoAssistant/Utils/Platform/{AsstPlatformPosix.h => PlatformPosix.h} (100%) rename src/MeoAssistant/Utils/Platform/{AsstPlatformWin32.cpp => PlatformWin32.cpp} (99%) rename src/MeoAssistant/Utils/Platform/{AsstPlatformWin32.h => PlatformWin32.h} (100%) rename src/MeoAssistant/Utils/{AsstRanges.hpp => Ranges.hpp} (98%) create mode 100644 src/MeoAssistant/re-include.py diff --git a/resource/tasks.json b/resource/tasks.json index 1c5f5c4669..28d4f4dbee 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -1796,22 +1796,6 @@ 158 ] }, - "SideStoryStages": { - "algorithm": "JustReturn", - "sub": [ - "StageSideStory" - ] - }, - "StageSideStory": { - "action": "ClickSelf", - "doc": "进入别传关卡", - "roi": [ - 318, - 562, - 544, - 158 - ] - }, "Stage": { "Doc": "base_task", "template": "empty.png", diff --git a/src/MeoAssistant/Assistant.cpp b/src/MeoAssistant/Assistant.cpp index e7a46d344f..020a3e0b61 100644 --- a/src/MeoAssistant/Assistant.cpp +++ b/src/MeoAssistant/Assistant.cpp @@ -1,36 +1,36 @@ #include "Assistant.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include #include "Controller.h" #include "Resource/GeneralConfig.h" -#include "RuntimeStatus.h" +#include "Status.h" #include "Utils/Logger.hpp" -#include "Task/AwardTask.h" -#include "Task/CloseDownTask.h" -#include "Task/CopilotTask.h" -#include "Task/DepotTask.h" -#include "Task/FightTask.h" -#include "Task/InfrastTask.h" -#include "Task/MallTask.h" -#include "Task/RecruitTask.h" -#include "Task/RoguelikeTask.h" -#include "Task/StartUpTask.h" -#include "Task/VisitTask.h" +#include "Task/Interface/AwardTask.h" +#include "Task/Interface/CloseDownTask.h" +#include "Task/Interface/CopilotTask.h" +#include "Task/Interface/DepotTask.h" +#include "Task/Interface/FightTask.h" +#include "Task/Interface/InfrastTask.h" +#include "Task/Interface/MallTask.h" +#include "Task/Interface/RecruitTask.h" +#include "Task/Interface/RoguelikeTask.h" +#include "Task/Interface/StartUpTask.h" +#include "Task/Interface/VisitTask.h" #ifdef ASST_DEBUG -#include "Task/DebugTask.h" +#include "Task/Interface/DebugTask.h" #endif using namespace asst; -Assistant::Assistant(AsstApiCallback callback, void* callback_arg): m_callback(callback), m_callback_arg(callback_arg) +Assistant::Assistant(AsstApiCallback callback, void* callback_arg) : m_callback(callback), m_callback_arg(callback_arg) { LogTraceFunction; - m_status = std::make_shared(); + m_status = std::make_shared(); m_ctrler = std::make_shared(task_callback, static_cast(this)); m_ctrler->set_exit_flag(&m_thread_idle); @@ -116,20 +116,21 @@ asst::Assistant::TaskId asst::Assistant::append_task(const std::string& type, co if constexpr (false) {} ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(FightTask) - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(StartUpTask) - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(CloseDownTask) - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(AwardTask) - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(VisitTask) - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(MallTask) - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(InfrastTask) - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(RecruitTask) - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(RoguelikeTask) - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(CopilotTask) - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(DepotTask) + ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(StartUpTask) + ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(CloseDownTask) + ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(AwardTask) + ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(VisitTask) + ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(MallTask) + ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(InfrastTask) + ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(RecruitTask) + ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(RoguelikeTask) + ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(CopilotTask) + ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(DepotTask) #ifdef ASST_DEBUG - ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(DebugTask) + ASST_ASSISTANT_APPEND_TASK_FROM_STRING_IF_BRANCH(DebugTask) #endif - else { + else + { Log.error(__FUNCTION__, "| invalid type:", type); return 0; } @@ -266,7 +267,7 @@ void Assistant::working_proc() lock.unlock(); // only one instance of working_proc running, unlock here to allow set_task_param to the running task - json::value callback_json = json::object{ + json::value callback_json = json::object { { "taskchain", std::string(task_ptr->get_task_chain()) }, { "taskid", id }, }; @@ -282,7 +283,7 @@ void Assistant::working_proc() lock.unlock(); auto msg = m_thread_idle ? AsstMsg::TaskChainStopped - : (ret ? AsstMsg::TaskChainCompleted : AsstMsg::TaskChainError); + : (ret ? AsstMsg::TaskChainCompleted : AsstMsg::TaskChainError); task_callback(msg, callback_json, this); if (m_thread_idle) { diff --git a/src/MeoAssistant/Assistant.h b/src/MeoAssistant/Assistant.h index 09413f51a4..50ff2d2ebd 100644 --- a/src/MeoAssistant/Assistant.h +++ b/src/MeoAssistant/Assistant.h @@ -7,8 +7,8 @@ #include #include -#include "Utils/AsstMsg.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstMsg.h" +#include "Common/AsstTypes.h" typedef unsigned char uchar; @@ -21,7 +21,7 @@ namespace asst { class Controller; class InterfaceTask; - class RuntimeStatus; + class Status; class Assistant { @@ -63,7 +63,7 @@ namespace asst std::string m_uuid; std::shared_ptr m_ctrler = nullptr; - std::shared_ptr m_status = nullptr; + std::shared_ptr m_status = nullptr; bool m_thread_exit = false; std::list>> m_tasks_list; diff --git a/src/MeoAssistant/AsstCaller.cpp b/src/MeoAssistant/AsstCaller.cpp index f55ad3c724..18d884c12d 100644 --- a/src/MeoAssistant/AsstCaller.cpp +++ b/src/MeoAssistant/AsstCaller.cpp @@ -7,11 +7,11 @@ #include #include "Assistant.h" -#include "ResourceLoader.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" +#include "Common/AsstVersion.h" +#include "Resource/ResourceLoader.h" #include "Utils/Logger.hpp" #include "Utils/WorkingDir.hpp" -#include "Utils/Version.h" static constexpr AsstSize NullSize = static_cast(-1); diff --git a/src/MeoAssistant/Utils/AsstBattleDef.h b/src/MeoAssistant/Common/AsstBattleDef.h similarity index 99% rename from src/MeoAssistant/Utils/AsstBattleDef.h rename to src/MeoAssistant/Common/AsstBattleDef.h index da8853ab23..2f33dee2e9 100644 --- a/src/MeoAssistant/Utils/AsstBattleDef.h +++ b/src/MeoAssistant/Common/AsstBattleDef.h @@ -4,10 +4,9 @@ #include #include +#include "AsstTypes.h" #include "Utils/NoWarningCVMat.h" -#include "Utils/AsstTypes.h" - namespace asst { enum class BattleSkillUsage // 干员技能使用方法 diff --git a/src/MeoAssistant/Utils/AsstConf.h b/src/MeoAssistant/Common/AsstConf.h similarity index 100% rename from src/MeoAssistant/Utils/AsstConf.h rename to src/MeoAssistant/Common/AsstConf.h diff --git a/src/MeoAssistant/Utils/AsstInfrastDef.h b/src/MeoAssistant/Common/AsstInfrastDef.h similarity index 99% rename from src/MeoAssistant/Utils/AsstInfrastDef.h rename to src/MeoAssistant/Common/AsstInfrastDef.h index 4a68c77868..6e32340167 100644 --- a/src/MeoAssistant/Utils/AsstInfrastDef.h +++ b/src/MeoAssistant/Common/AsstInfrastDef.h @@ -1,8 +1,7 @@ #pragma once -#include "NoWarningCVMat.h" - #include "AsstTypes.h" +#include "Utils/NoWarningCVMat.h" namespace asst::infrast { @@ -147,5 +146,4 @@ namespace asst::infrast int index = 0; Order order = Order::Pre; }; - } // namespace asst::infrast diff --git a/src/MeoAssistant/Utils/AsstMsg.h b/src/MeoAssistant/Common/AsstMsg.h similarity index 100% rename from src/MeoAssistant/Utils/AsstMsg.h rename to src/MeoAssistant/Common/AsstMsg.h diff --git a/src/MeoAssistant/Utils/AsstTypes.h b/src/MeoAssistant/Common/AsstTypes.h similarity index 100% rename from src/MeoAssistant/Utils/AsstTypes.h rename to src/MeoAssistant/Common/AsstTypes.h diff --git a/src/MeoAssistant/Utils/Version.h b/src/MeoAssistant/Common/AsstVersion.h similarity index 100% rename from src/MeoAssistant/Utils/Version.h rename to src/MeoAssistant/Common/AsstVersion.h diff --git a/src/MeoAssistant/Controller.cpp b/src/MeoAssistant/Controller.cpp index 764dc4300f..12670689ed 100644 --- a/src/MeoAssistant/Controller.cpp +++ b/src/MeoAssistant/Controller.cpp @@ -1,9 +1,8 @@ #include "Controller.h" -#include "Utils/AsstConf.h" -#include "Utils/Platform/AsstPlatform.h" + +#include "Utils/Platform.hpp" #ifdef _WIN32 -#include "Utils/Platform/AsstPlatformWin32.h" #include #else #include @@ -23,6 +22,7 @@ #include #include +#include "Common/AsstConf.h" #include "Utils/NoWarningCV.h" #ifdef _MSC_VER @@ -34,14 +34,14 @@ #pragma warning(pop) #endif +#include "Common/AsstTypes.h" #include "Resource/GeneralConfig.h" -#include "Utils/AsstTypes.h" #include "Utils/Logger.hpp" #include "Utils/StringMisc.hpp" #include "Utils/WorkingDir.hpp" asst::Controller::Controller(const AsstCallback& callback, void* callback_arg) - : m_callback(callback), m_callback_arg(callback_arg), m_rand_engine(std::random_device{}()) + : m_callback(callback), m_callback_arg(callback_arg), m_rand_engine(std::random_device {}()) { LogTraceFunction; @@ -108,25 +108,25 @@ std::optional asst::Controller::call_command(const std::string& cmd DWORD err = 0; HANDLE pipe_parent_read = INVALID_HANDLE_VALUE, pipe_child_write = INVALID_HANDLE_VALUE; - SECURITY_ATTRIBUTES sa_inherit{ .nLength = sizeof(SECURITY_ATTRIBUTES), .bInheritHandle = TRUE }; + SECURITY_ATTRIBUTES sa_inherit { .nLength = sizeof(SECURITY_ATTRIBUTES), .bInheritHandle = TRUE }; if (!asst::win32::CreateOverlappablePipe(&pipe_parent_read, &pipe_child_write, nullptr, &sa_inherit, - (DWORD)pipe_buffer.size(), true, false)) { + (DWORD)pipe_buffer.size(), true, false)) { err = GetLastError(); Log.error("CreateOverlappablePipe failed, err", err); return std::nullopt; } - STARTUPINFOW si{}; + STARTUPINFOW si {}; si.cb = sizeof(STARTUPINFOW); si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; si.wShowWindow = SW_HIDE; si.hStdOutput = pipe_child_write; si.hStdError = pipe_child_write; ASST_AUTO_DEDUCED_ZERO_INIT_START - PROCESS_INFORMATION process_info = { nullptr }; // 进程信息结构体 + PROCESS_INFORMATION process_info = { nullptr }; // 进程信息结构体 ASST_AUTO_DEDUCED_ZERO_INIT_END - auto cmdline_osstr = asst::utils::to_osstring(cmd); + auto cmdline_osstr = asst::utils::to_osstring(cmd); BOOL create_ret = CreateProcessW(nullptr, cmdline_osstr.data(), nullptr, nullptr, TRUE, 0, nullptr, nullptr, &si, &process_info); if (!create_ret) { @@ -144,10 +144,10 @@ std::optional asst::Controller::call_command(const std::string& cmd bool accept_pending = false; bool socket_eof = false; - OVERLAPPED pipeov{ .hEvent = CreateEventW(nullptr, TRUE, FALSE, nullptr) }; + OVERLAPPED pipeov { .hEvent = CreateEventW(nullptr, TRUE, FALSE, nullptr) }; (void)ReadFile(pipe_parent_read, pipe_buffer.get(), (DWORD)pipe_buffer.size(), nullptr, &pipeov); - OVERLAPPED sockov{}; + OVERLAPPED sockov {}; SOCKET client_socket = INVALID_SOCKET; if (recv_by_socket) { @@ -156,8 +156,8 @@ std::optional asst::Controller::call_command(const std::string& cmd client_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); DWORD dummy; if (!m_server_accept_ex(m_server_sock, client_socket, sock_buffer.value().get(), - (DWORD)sock_buffer.value().size() - ((sizeof(sockaddr_in) + 16) * 2), - sizeof(sockaddr_in) + 16, sizeof(sockaddr_in) + 16, &dummy, &sockov)) { + (DWORD)sock_buffer.value().size() - ((sizeof(sockaddr_in) + 16) * 2), + sizeof(sockaddr_in) + 16, sizeof(sockaddr_in) + 16, &dummy, &sockov)) { err = WSAGetLastError(); if (err == ERROR_IO_PENDING) { accept_pending = true; @@ -192,7 +192,7 @@ std::optional asst::Controller::call_command(const std::string& cmd } else if (wait_result == WAIT_TIMEOUT) { if (wait_time == 0) { - std::vector handle_string{}; + std::vector handle_string {}; for (auto handle : wait_handles) { if (handle == process_info.hProcess) { handle_string.emplace_back("process_info.hProcess"); @@ -326,7 +326,7 @@ std::optional asst::Controller::call_command(const std::string& cmd // parent process do { if (recv_by_socket) { - sockaddr addr{}; + sockaddr addr {}; socklen_t len = sizeof(addr); sock_buffer = asst::platform::single_page_buffer(); @@ -384,7 +384,7 @@ std::optional asst::Controller::call_command(const std::string& cmd } else if (inited() && allow_reconnect) { // 之前可以运行,突然运行不了了,这种情况多半是 adb 炸了。所以重新连接一下 - json::value reconnect_info = json::object{ + json::value reconnect_info = json::object { { "uuid", m_uuid }, { "what", "Reconnecting" }, { "why", "" }, @@ -427,7 +427,7 @@ std::optional asst::Controller::call_command(const std::string& cmd } } } - json::value info = json::object{ + json::value info = json::object { { "uuid", m_uuid }, { "what", "Disconnect" }, { "why", "Reconnect failed" }, @@ -468,7 +468,7 @@ bool asst::Controller::call_and_hup_minitouch(const std::string& cmd) }; #ifdef _WIN32 - SECURITY_ATTRIBUTES sa_attr_inherit{ + SECURITY_ATTRIBUTES sa_attr_inherit { .nLength = sizeof(SECURITY_ATTRIBUTES), .lpSecurityDescriptor = nullptr, .bInheritHandle = TRUE, @@ -476,15 +476,15 @@ bool asst::Controller::call_and_hup_minitouch(const std::string& cmd) HANDLE pipe_parent_read = INVALID_HANDLE_VALUE, pipe_child_write = INVALID_HANDLE_VALUE; HANDLE pipe_child_read = INVALID_HANDLE_VALUE, pipe_parent_write = INVALID_HANDLE_VALUE; if (!asst::win32::CreateOverlappablePipe(&pipe_parent_read, &pipe_child_write, nullptr, &sa_attr_inherit, - PipeReadBuffSize, true, false) || + PipeReadBuffSize, true, false) || !asst::win32::CreateOverlappablePipe(&pipe_child_read, &pipe_parent_write, &sa_attr_inherit, nullptr, - PipeWriteBuffSize, false, false)) { + PipeWriteBuffSize, false, false)) { DWORD err = GetLastError(); Log.error("Failed to create pipe for minitouch, err", err); return false; } - STARTUPINFOW si{}; + STARTUPINFOW si {}; si.cb = sizeof(STARTUPINFOW); si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; si.wShowWindow = SW_HIDE; @@ -510,7 +510,7 @@ bool asst::Controller::call_and_hup_minitouch(const std::string& cmd) auto start_time = std::chrono::steady_clock::now(); auto pipe_buffer = std::make_unique(PipeReadBuffSize); - OVERLAPPED pipeov{ .hEvent = CreateEventW(nullptr, TRUE, FALSE, nullptr) }; + OVERLAPPED pipeov { .hEvent = CreateEventW(nullptr, TRUE, FALSE, nullptr) }; std::ignore = ReadFile(pipe_parent_read, pipe_buffer.get(), PipeReadBuffSize, nullptr, &pipeov); while (!need_exit() && check_timeout(start_time)) { @@ -656,7 +656,7 @@ bool asst::Controller::input_to_minitouch(const std::string& cmd) } DWORD written = 0; if (!WriteFile(m_minitouch_parent_write, cmd.c_str(), - static_cast(cmd.size() * sizeof(std::string::value_type)), &written, NULL)) { + static_cast(cmd.size() * sizeof(std::string::value_type)), &written, NULL)) { auto err = GetLastError(); Log.error("Failed to write to minitouch, err", err); return false; @@ -770,7 +770,7 @@ void asst::Controller::random_delay() const auto& opt = Config.get_options(); if (opt.control_delay_upper != 0) { LogTraceFunction; - static std::default_random_engine rand_engine(std::random_device{}()); + static std::default_random_engine rand_engine(std::random_device {}()); static std::uniform_int_distribution rand_uni(opt.control_delay_lower, opt.control_delay_upper); unsigned rand_delay = rand_uni(rand_engine); @@ -1256,7 +1256,7 @@ bool asst::Controller::connect(const std::string& adb_path, const std::string& a #endif auto get_info_json = [&]() -> json::value { - return json::object{ + return json::object { { "uuid", m_uuid }, { "details", json::object { @@ -1269,7 +1269,7 @@ bool asst::Controller::connect(const std::string& adb_path, const std::string& a auto adb_ret = Config.get_adb_cfg(config); if (!adb_ret) { - json::value info = get_info_json() | json::object{ + json::value info = get_info_json() | json::object { { "what", "ConnectFailed" }, { "why", "ConfigNotFound" }, }; @@ -1311,7 +1311,7 @@ bool asst::Controller::connect(const std::string& adb_path, const std::string& a } } if (!is_connect_success) { - json::value info = get_info_json() | json::object{ + json::value info = get_info_json() | json::object { { "what", "ConnectFailed" }, { "why", "Connection command failed to exec" }, }; @@ -1328,7 +1328,7 @@ bool asst::Controller::connect(const std::string& adb_path, const std::string& a { auto uuid_ret = call_command(cmd_replace(adb_cfg.uuid), 20000, false /* adb 连接时不允许重试 */); if (!uuid_ret) { - json::value info = get_info_json() | json::object{ + json::value info = get_info_json() | json::object { { "what", "ConnectFailed" }, { "why", "Uuid command failed to exec" }, }; @@ -1340,7 +1340,7 @@ bool asst::Controller::connect(const std::string& adb_path, const std::string& a std::erase_if(uuid_str, [](char c) { return !std::isdigit(c) && !std::isalpha(c); }); m_uuid = std::move(uuid_str); - json::value info = get_info_json() | json::object{ + json::value info = get_info_json() | json::object { { "what", "UuidGot" }, { "why", "" }, }; @@ -1379,7 +1379,7 @@ bool asst::Controller::connect(const std::string& adb_path, const std::string& a { auto display_ret = call_command(cmd_replace(adb_cfg.display)); if (!display_ret) { - json::value info = get_info_json() | json::object{ + json::value info = get_info_json() | json::object { { "what", "ConnectFailed" }, { "why", "Display command failed to exec" }, }; @@ -1400,12 +1400,12 @@ bool asst::Controller::connect(const std::string& adb_path, const std::string& a m_width = (std::max)(size_value1, size_value2); m_height = (std::min)(size_value1, size_value2); - json::value info = get_info_json() | json::object{ + json::value info = get_info_json() | json::object { { "what", "ResolutionGot" }, { "why", "" }, }; - info["details"] |= json::object{ + info["details"] |= json::object { { "width", m_width }, { "height", m_height }, }; @@ -1425,7 +1425,7 @@ bool asst::Controller::connect(const std::string& adb_path, const std::string& a return false; } else if (std::fabs(static_cast(WindowWidthDefault) / static_cast(WindowHeightDefault) - - static_cast(m_width) / static_cast(m_height)) > 1e-7) { + static_cast(m_width) / static_cast(m_height)) > 1e-7) { info["what"] = "UnsupportedResolution"; info["why"] = "Not 16:9"; callback(AsstMsg::ConnectionInfo, info); @@ -1457,7 +1457,7 @@ bool asst::Controller::connect(const std::string& adb_path, const std::string& a } { - json::value info = get_info_json() | json::object{ + json::value info = get_info_json() | json::object { { "what", "Connected" }, { "why", "" }, }; @@ -1645,7 +1645,7 @@ cv::Mat asst::Controller::get_image(bool raw) break; } Log.error(__FUNCTION__, "screencap failed!"); - json::value info = json::object{ + json::value info = json::object { { "uuid", m_uuid }, { "what", "ScreencapFailed" }, { "why", "ScreencapFailed" }, diff --git a/src/MeoAssistant/Controller.h b/src/MeoAssistant/Controller.h index 905cbbcc62..1246e060b5 100644 --- a/src/MeoAssistant/Controller.h +++ b/src/MeoAssistant/Controller.h @@ -9,22 +9,15 @@ #include #endif -#include "Utils/AsstConf.h" - -#include -#include -#include #include -#include #include -#include #include #include #include #include -#include "Utils/AsstMsg.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstMsg.h" +#include "Common/AsstTypes.h" #include "Utils/NoWarningCVMat.h" #include "Utils/SingletonHolder.hpp" diff --git a/src/MeoAssistant/ImageAnalyzer/General/AbstractImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/AbstractImageAnalyzer.cpp similarity index 98% rename from src/MeoAssistant/ImageAnalyzer/General/AbstractImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/AbstractImageAnalyzer.cpp index 97895e5057..282278a1d2 100644 --- a/src/MeoAssistant/ImageAnalyzer/General/AbstractImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/AbstractImageAnalyzer.cpp @@ -3,7 +3,7 @@ #include "Utils/NoWarningCV.h" #include "Controller.h" -#include "Utils/AsstImageIo.hpp" +#include "Utils/ImageIo.hpp" #include "Utils/Logger.hpp" #include "Utils/StringMisc.hpp" #include "Utils/Time.hpp" diff --git a/src/MeoAssistant/ImageAnalyzer/General/AbstractImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/AbstractImageAnalyzer.h similarity index 97% rename from src/MeoAssistant/ImageAnalyzer/General/AbstractImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/AbstractImageAnalyzer.h index 14cc118c0e..9d762a9376 100644 --- a/src/MeoAssistant/ImageAnalyzer/General/AbstractImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/AbstractImageAnalyzer.h @@ -1,6 +1,6 @@ #pragma once -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" #include "Utils/NoWarningCVMat.h" // #ifndef ASST_DEBUG diff --git a/src/MeoAssistant/ImageAnalyzer/General/HashImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/HashImageAnalyzer.cpp similarity index 100% rename from src/MeoAssistant/ImageAnalyzer/General/HashImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/HashImageAnalyzer.cpp diff --git a/src/MeoAssistant/ImageAnalyzer/General/HashImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/HashImageAnalyzer.h similarity index 100% rename from src/MeoAssistant/ImageAnalyzer/General/HashImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/HashImageAnalyzer.h diff --git a/src/MeoAssistant/ImageAnalyzer/InfrastClueImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastClueImageAnalyzer.cpp similarity index 93% rename from src/MeoAssistant/ImageAnalyzer/InfrastClueImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Infrast/InfrastClueImageAnalyzer.cpp index 670c920010..3a1bb12471 100644 --- a/src/MeoAssistant/ImageAnalyzer/InfrastClueImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastClueImageAnalyzer.cpp @@ -1,6 +1,6 @@ #include "InfrastClueImageAnalyzer.h" -#include "General/MultiMatchImageAnalyzer.h" +#include "ImageAnalyzer/MultiMatchImageAnalyzer.h" bool asst::InfrastClueImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/ImageAnalyzer/InfrastClueImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastClueImageAnalyzer.h similarity index 92% rename from src/MeoAssistant/ImageAnalyzer/InfrastClueImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Infrast/InfrastClueImageAnalyzer.h index e4d5f4b3e2..79f868ba28 100644 --- a/src/MeoAssistant/ImageAnalyzer/InfrastClueImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastClueImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/InfrastClueVacancyImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastClueVacancyImageAnalyzer.cpp similarity index 95% rename from src/MeoAssistant/ImageAnalyzer/InfrastClueVacancyImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Infrast/InfrastClueVacancyImageAnalyzer.cpp index 00253d3661..b835cd0477 100644 --- a/src/MeoAssistant/ImageAnalyzer/InfrastClueVacancyImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastClueVacancyImageAnalyzer.cpp @@ -1,9 +1,8 @@ #include "InfrastClueVacancyImageAnalyzer.h" -#include "Utils/NoWarningCV.h" - -#include "General/MatchImageAnalyzer.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" #include "Utils/Logger.hpp" +#include "Utils/NoWarningCV.h" bool asst::InfrastClueVacancyImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/ImageAnalyzer/InfrastClueVacancyImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastClueVacancyImageAnalyzer.h similarity index 95% rename from src/MeoAssistant/ImageAnalyzer/InfrastClueVacancyImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Infrast/InfrastClueVacancyImageAnalyzer.h index 03294c49ed..beab218446 100644 --- a/src/MeoAssistant/ImageAnalyzer/InfrastClueVacancyImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastClueVacancyImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/InfrastFacilityImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastFacilityImageAnalyzer.cpp similarity index 97% rename from src/MeoAssistant/ImageAnalyzer/InfrastFacilityImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Infrast/InfrastFacilityImageAnalyzer.cpp index 7a41440e35..f4763eedbf 100644 --- a/src/MeoAssistant/ImageAnalyzer/InfrastFacilityImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastFacilityImageAnalyzer.cpp @@ -2,8 +2,8 @@ #include "Utils/NoWarningCV.h" -#include "General/MultiMatchImageAnalyzer.h" -#include "TaskData.h" +#include "ImageAnalyzer/MultiMatchImageAnalyzer.h" +#include "Resource/TaskData.h" #include "Utils/Logger.hpp" bool asst::InfrastFacilityImageAnalyzer::analyze() diff --git a/src/MeoAssistant/ImageAnalyzer/InfrastFacilityImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastFacilityImageAnalyzer.h similarity index 97% rename from src/MeoAssistant/ImageAnalyzer/InfrastFacilityImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Infrast/InfrastFacilityImageAnalyzer.h index 792f7628a0..8d716bc570 100644 --- a/src/MeoAssistant/ImageAnalyzer/InfrastFacilityImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastFacilityImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/InfrastOperImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastOperImageAnalyzer.cpp similarity index 96% rename from src/MeoAssistant/ImageAnalyzer/InfrastOperImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Infrast/InfrastOperImageAnalyzer.cpp index 6021981d0d..887d831b63 100644 --- a/src/MeoAssistant/ImageAnalyzer/InfrastOperImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastOperImageAnalyzer.cpp @@ -1,13 +1,13 @@ #include "InfrastOperImageAnalyzer.h" -#include "Utils/AsstRanges.hpp" #include "Utils/NoWarningCV.h" +#include "Utils/Ranges.hpp" -#include "General/HashImageAnalyzer.h" -#include "General/MatchImageAnalyzer.h" +#include "ImageAnalyzer/HashImageAnalyzer.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" #include "InfrastSmileyImageAnalyzer.h" -#include "Resource/InfrastConfig.h" -#include "TaskData.h" +#include "Resource/Miscellaneous/InfrastConfig.h" +#include "Resource/TaskData.h" #include "Utils/Logger.hpp" bool asst::InfrastOperImageAnalyzer::analyze() @@ -65,13 +65,13 @@ void asst::InfrastOperImageAnalyzer::sort_by_mood() if (std::fabs(lhs.mood_ratio - rhs.mood_ratio) > DoubleDiff) { return lhs.mood_ratio < rhs.mood_ratio; } - // 心情一样的就按位置排序,左边的放前面 - if (std::abs(lhs.rect.x - rhs.rect.x) > 5) { - return lhs.rect.x < rhs.rect.x; - } - else { - return lhs.rect.y < rhs.rect.y; - } + // 心情一样的就按位置排序,左边的放前面 + if (std::abs(lhs.rect.x - rhs.rect.x) > 5) { + return lhs.rect.x < rhs.rect.x; + } + else { + return lhs.rect.y < rhs.rect.y; + } }); } @@ -297,7 +297,7 @@ void asst::InfrastOperImageAnalyzer::skill_analyze() else if (possible_skills.size() > 1) { // 匹配得分最高的id作为基准,排除有识别错误,其他的技能混进来了的情况 // 即排除容器中,除了有同一个技能的不同等级,还有别的技能的情况 - auto max_iter = ranges::max_element(possible_skills, std::less{}, + auto max_iter = ranges::max_element(possible_skills, std::less {}, [](const auto& pair) { return pair.second.score; }); double base_score = max_iter->second.score; std::string base_id = max_iter->first.id; diff --git a/src/MeoAssistant/ImageAnalyzer/InfrastOperImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastOperImageAnalyzer.h similarity index 95% rename from src/MeoAssistant/ImageAnalyzer/InfrastOperImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Infrast/InfrastOperImageAnalyzer.h index 83ba31d6d4..0b8b59f2dc 100644 --- a/src/MeoAssistant/ImageAnalyzer/InfrastOperImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastOperImageAnalyzer.h @@ -1,7 +1,7 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" -#include "Utils/AsstInfrastDef.h" +#include "Common/AsstInfrastDef.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/InfrastSmileyImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastSmileyImageAnalyzer.cpp similarity index 95% rename from src/MeoAssistant/ImageAnalyzer/InfrastSmileyImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Infrast/InfrastSmileyImageAnalyzer.cpp index c4f5bed3af..395e21bfb8 100644 --- a/src/MeoAssistant/ImageAnalyzer/InfrastSmileyImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastSmileyImageAnalyzer.cpp @@ -2,7 +2,7 @@ #include "Utils/NoWarningCV.h" -#include "General/MultiMatchImageAnalyzer.h" +#include "ImageAnalyzer/MultiMatchImageAnalyzer.h" #include "Utils/StringMisc.hpp" bool asst::InfrastSmileyImageAnalyzer::analyze() diff --git a/src/MeoAssistant/ImageAnalyzer/InfrastSmileyImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastSmileyImageAnalyzer.h similarity index 84% rename from src/MeoAssistant/ImageAnalyzer/InfrastSmileyImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Infrast/InfrastSmileyImageAnalyzer.h index 2544e63217..3c8d99f27a 100644 --- a/src/MeoAssistant/ImageAnalyzer/InfrastSmileyImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Infrast/InfrastSmileyImageAnalyzer.h @@ -1,7 +1,7 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" -#include "Utils/AsstInfrastDef.h" +#include "Common/AsstInfrastDef.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/General/MatchImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/MatchImageAnalyzer.cpp similarity index 99% rename from src/MeoAssistant/ImageAnalyzer/General/MatchImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/MatchImageAnalyzer.cpp index 9cb4526689..b3d6257365 100644 --- a/src/MeoAssistant/ImageAnalyzer/General/MatchImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/MatchImageAnalyzer.cpp @@ -2,8 +2,8 @@ #include "Utils/NoWarningCV.h" +#include "Resource/TaskData.h" #include "Resource/TemplResource.h" -#include "TaskData.h" #include "Utils/Logger.hpp" #include "Utils/StringMisc.hpp" diff --git a/src/MeoAssistant/ImageAnalyzer/General/MatchImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/MatchImageAnalyzer.h similarity index 100% rename from src/MeoAssistant/ImageAnalyzer/General/MatchImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/MatchImageAnalyzer.h diff --git a/src/MeoAssistant/ImageAnalyzer/BattleImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/BattleImageAnalyzer.cpp similarity index 98% rename from src/MeoAssistant/ImageAnalyzer/BattleImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Miscellaneous/BattleImageAnalyzer.cpp index deeccb71e9..7a9b6133ce 100644 --- a/src/MeoAssistant/ImageAnalyzer/BattleImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/BattleImageAnalyzer.cpp @@ -1,15 +1,15 @@ #include "BattleImageAnalyzer.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include #include "Utils/NoWarningCV.h" -#include "General/HashImageAnalyzer.h" -#include "General/MatchImageAnalyzer.h" -#include "General/MultiMatchImageAnalyzer.h" -#include "General/OcrWithFlagTemplImageAnalyzer.h" -#include "TaskData.h" +#include "ImageAnalyzer/HashImageAnalyzer.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/MultiMatchImageAnalyzer.h" +#include "ImageAnalyzer/OcrWithFlagTemplImageAnalyzer.h" +#include "Resource/TaskData.h" #include "Utils/Logger.hpp" bool asst::BattleImageAnalyzer::set_target(int target) diff --git a/src/MeoAssistant/ImageAnalyzer/BattleImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/BattleImageAnalyzer.h similarity index 97% rename from src/MeoAssistant/ImageAnalyzer/BattleImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Miscellaneous/BattleImageAnalyzer.h index 018cd9651c..740278456e 100644 --- a/src/MeoAssistant/ImageAnalyzer/BattleImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/BattleImageAnalyzer.h @@ -1,7 +1,7 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" -#include "Utils/AsstBattleDef.h" +#include "Common/AsstBattleDef.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/CreditShopImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/CreditShopImageAnalyzer.cpp similarity index 95% rename from src/MeoAssistant/ImageAnalyzer/CreditShopImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Miscellaneous/CreditShopImageAnalyzer.cpp index a1252d1f83..61b99b75a9 100644 --- a/src/MeoAssistant/ImageAnalyzer/CreditShopImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/CreditShopImageAnalyzer.cpp @@ -1,13 +1,13 @@ #include "CreditShopImageAnalyzer.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include "Utils/NoWarningCV.h" -#include "General/MatchImageAnalyzer.h" -#include "General/MultiMatchImageAnalyzer.h" -#include "General/OcrImageAnalyzer.h" -#include "TaskData.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/MultiMatchImageAnalyzer.h" +#include "ImageAnalyzer/OcrImageAnalyzer.h" +#include "Resource/TaskData.h" void asst::CreditShopImageAnalyzer::set_black_list(std::vector black_list) { diff --git a/src/MeoAssistant/ImageAnalyzer/CreditShopImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/CreditShopImageAnalyzer.h similarity index 95% rename from src/MeoAssistant/ImageAnalyzer/CreditShopImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Miscellaneous/CreditShopImageAnalyzer.h index e86184f2eb..9051e551ec 100644 --- a/src/MeoAssistant/ImageAnalyzer/CreditShopImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/CreditShopImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/DepotImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/DepotImageAnalyzer.cpp similarity index 98% rename from src/MeoAssistant/ImageAnalyzer/DepotImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Miscellaneous/DepotImageAnalyzer.cpp index 6b1ce18f20..724f4c7576 100644 --- a/src/MeoAssistant/ImageAnalyzer/DepotImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/DepotImageAnalyzer.cpp @@ -2,10 +2,10 @@ #include "Utils/NoWarningCV.h" -#include "General/MatchImageAnalyzer.h" -#include "General/OcrWithPreprocessImageAnalyzer.h" -#include "Resource/ItemConfig.h" -#include "TaskData.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/Miscellaneous/ItemConfig.h" +#include "Resource/TaskData.h" #include "Utils/Logger.hpp" bool asst::DepotImageAnalyzer::analyze() diff --git a/src/MeoAssistant/ImageAnalyzer/DepotImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/DepotImageAnalyzer.h similarity index 96% rename from src/MeoAssistant/ImageAnalyzer/DepotImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Miscellaneous/DepotImageAnalyzer.h index 6a79b337cf..01041a5a96 100644 --- a/src/MeoAssistant/ImageAnalyzer/DepotImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/DepotImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/ProcessTaskImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/ProcessTaskImageAnalyzer.cpp similarity index 95% rename from src/MeoAssistant/ImageAnalyzer/ProcessTaskImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Miscellaneous/ProcessTaskImageAnalyzer.cpp index 1b4e9209c6..9053350bf9 100644 --- a/src/MeoAssistant/ImageAnalyzer/ProcessTaskImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/ProcessTaskImageAnalyzer.cpp @@ -3,11 +3,11 @@ #include #include -#include "General/MatchImageAnalyzer.h" -#include "General/OcrImageAnalyzer.h" -#include "General/OcrWithPreprocessImageAnalyzer.h" -#include "RuntimeStatus.h" -#include "TaskData.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/OcrImageAnalyzer.h" +#include "ImageAnalyzer/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/TaskData.h" +#include "Status.h" #include "Utils/Logger.hpp" asst::ProcessTaskImageAnalyzer::ProcessTaskImageAnalyzer(const cv::Mat& image, std::vector tasks_name) @@ -156,7 +156,7 @@ void asst::ProcessTaskImageAnalyzer::set_tasks(std::vector tasks_na m_tasks_name = std::move(tasks_name); } -void asst::ProcessTaskImageAnalyzer::set_status(std::shared_ptr status) noexcept +void asst::ProcessTaskImageAnalyzer::set_status(std::shared_ptr status) noexcept { m_status = std::move(status); } diff --git a/src/MeoAssistant/ImageAnalyzer/ProcessTaskImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/ProcessTaskImageAnalyzer.h similarity index 88% rename from src/MeoAssistant/ImageAnalyzer/ProcessTaskImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Miscellaneous/ProcessTaskImageAnalyzer.h index a844f622a4..6fd1997afb 100644 --- a/src/MeoAssistant/ImageAnalyzer/ProcessTaskImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/ProcessTaskImageAnalyzer.h @@ -1,18 +1,18 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" #include #include #include -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" namespace asst { class OcrImageAnalyzer; class OcrWithPreprocessImageAnalyzer; class MatchImageAnalyzer; - class RuntimeStatus; + class Status; class ProcessTaskImageAnalyzer final : public AbstractImageAnalyzer { @@ -26,7 +26,7 @@ namespace asst virtual void set_image(const cv::Mat& image) override; void set_tasks(std::vector tasks_name); - void set_status(std::shared_ptr status) noexcept; + void set_status(std::shared_ptr status) noexcept; std::shared_ptr get_result() const noexcept { return m_result; } const Rect& get_rect() const noexcept { return m_result_rect; } @@ -46,7 +46,7 @@ namespace asst std::unique_ptr m_match_analyzer; std::vector m_tasks_name; std::shared_ptr m_result = nullptr; - std::shared_ptr m_status = nullptr; + std::shared_ptr m_status = nullptr; Rect m_result_rect; // std::vector m_ocr_cache; }; diff --git a/src/MeoAssistant/ImageAnalyzer/RecruitImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/RecruitImageAnalyzer.cpp similarity index 89% rename from src/MeoAssistant/ImageAnalyzer/RecruitImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Miscellaneous/RecruitImageAnalyzer.cpp index d6150301e1..8871757ac3 100644 --- a/src/MeoAssistant/ImageAnalyzer/RecruitImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/RecruitImageAnalyzer.cpp @@ -1,10 +1,10 @@ #include "RecruitImageAnalyzer.h" -#include "General/MatchImageAnalyzer.h" -#include "General/MultiMatchImageAnalyzer.h" -#include "General/OcrImageAnalyzer.h" -#include "Resource/RecruitConfig.h" -#include "TaskData.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/MultiMatchImageAnalyzer.h" +#include "ImageAnalyzer/OcrImageAnalyzer.h" +#include "Resource/Miscellaneous/RecruitConfig.h" +#include "Resource/TaskData.h" bool asst::RecruitImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/ImageAnalyzer/RecruitImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/RecruitImageAnalyzer.h similarity index 92% rename from src/MeoAssistant/ImageAnalyzer/RecruitImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Miscellaneous/RecruitImageAnalyzer.h index 7c956e97e8..f671f4b82f 100644 --- a/src/MeoAssistant/ImageAnalyzer/RecruitImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Miscellaneous/RecruitImageAnalyzer.h @@ -1,7 +1,7 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/General/MultiMatchImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/MultiMatchImageAnalyzer.cpp similarity index 98% rename from src/MeoAssistant/ImageAnalyzer/General/MultiMatchImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/MultiMatchImageAnalyzer.cpp index 34bb33a429..9460742bd2 100644 --- a/src/MeoAssistant/ImageAnalyzer/General/MultiMatchImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/MultiMatchImageAnalyzer.cpp @@ -1,12 +1,12 @@ #include "MultiMatchImageAnalyzer.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include #include "Utils/NoWarningCV.h" +#include "Resource/TaskData.h" #include "Resource/TemplResource.h" -#include "TaskData.h" #include "Utils/Logger.hpp" asst::MultiMatchImageAnalyzer::MultiMatchImageAnalyzer(const cv::Mat& image, const Rect& roi, std::string templ_name, diff --git a/src/MeoAssistant/ImageAnalyzer/General/MultiMatchImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/MultiMatchImageAnalyzer.h similarity index 100% rename from src/MeoAssistant/ImageAnalyzer/General/MultiMatchImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/MultiMatchImageAnalyzer.h diff --git a/src/MeoAssistant/ImageAnalyzer/General/OcrImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/OcrImageAnalyzer.cpp similarity index 98% rename from src/MeoAssistant/ImageAnalyzer/General/OcrImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/OcrImageAnalyzer.cpp index 4e11fafc11..5a19e84be5 100644 --- a/src/MeoAssistant/ImageAnalyzer/General/OcrImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/OcrImageAnalyzer.cpp @@ -3,8 +3,8 @@ #include #include -#include "Resource/OcrPack.h" -#include "TaskData.h" +#include "Resource/Miscellaneous/OcrPack.h" +#include "Resource/TaskData.h" #include "Utils/Logger.hpp" bool asst::OcrImageAnalyzer::analyze() diff --git a/src/MeoAssistant/ImageAnalyzer/General/OcrImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/OcrImageAnalyzer.h similarity index 98% rename from src/MeoAssistant/ImageAnalyzer/General/OcrImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/OcrImageAnalyzer.h index c0c5e178b7..ad817a3093 100644 --- a/src/MeoAssistant/ImageAnalyzer/General/OcrImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/OcrImageAnalyzer.h @@ -5,7 +5,7 @@ #include #include -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/OcrWithFlagTemplImageAnalyzer.cpp similarity index 98% rename from src/MeoAssistant/ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/OcrWithFlagTemplImageAnalyzer.cpp index 296a6a0c0c..7cfa1c4fef 100644 --- a/src/MeoAssistant/ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/OcrWithFlagTemplImageAnalyzer.cpp @@ -1,6 +1,6 @@ #include "OcrWithFlagTemplImageAnalyzer.h" -#include "TaskData.h" +#include "Resource/TaskData.h" asst::OcrWithFlagTemplImageAnalyzer::OcrWithFlagTemplImageAnalyzer(const cv::Mat& image) : OcrWithPreprocessImageAnalyzer(image), m_multi_match_image_analyzer(image) diff --git a/src/MeoAssistant/ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/OcrWithFlagTemplImageAnalyzer.h similarity index 100% rename from src/MeoAssistant/ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/OcrWithFlagTemplImageAnalyzer.h diff --git a/src/MeoAssistant/ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/OcrWithPreprocessImageAnalyzer.cpp similarity index 100% rename from src/MeoAssistant/ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/OcrWithPreprocessImageAnalyzer.cpp diff --git a/src/MeoAssistant/ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/OcrWithPreprocessImageAnalyzer.h similarity index 100% rename from src/MeoAssistant/ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/OcrWithPreprocessImageAnalyzer.h diff --git a/src/MeoAssistant/ImageAnalyzer/RoguelikeFormationImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeFormationImageAnalyzer.cpp similarity index 96% rename from src/MeoAssistant/ImageAnalyzer/RoguelikeFormationImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeFormationImageAnalyzer.cpp index c83f78c508..e1ddd301a1 100644 --- a/src/MeoAssistant/ImageAnalyzer/RoguelikeFormationImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeFormationImageAnalyzer.cpp @@ -2,8 +2,8 @@ #include "Utils/NoWarningCV.h" -#include "General/MultiMatchImageAnalyzer.h" -#include "TaskData.h" +#include "ImageAnalyzer/MultiMatchImageAnalyzer.h" +#include "Resource/TaskData.h" #include "Utils/Logger.hpp" bool asst::RoguelikeFormationImageAnalyzer::analyze() diff --git a/src/MeoAssistant/ImageAnalyzer/RoguelikeFormationImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeFormationImageAnalyzer.h similarity index 93% rename from src/MeoAssistant/ImageAnalyzer/RoguelikeFormationImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeFormationImageAnalyzer.h index ad2e0375c7..5b79b07ac2 100644 --- a/src/MeoAssistant/ImageAnalyzer/RoguelikeFormationImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeFormationImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeRecruitImageAnalyzer.cpp similarity index 95% rename from src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeRecruitImageAnalyzer.cpp index adb362d3c9..583aba0417 100644 --- a/src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeRecruitImageAnalyzer.cpp @@ -1,8 +1,8 @@ #include "RoguelikeRecruitImageAnalyzer.h" -#include "General/MatchImageAnalyzer.h" -#include "General/OcrWithFlagTemplImageAnalyzer.h" -#include "TaskData.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/OcrWithFlagTemplImageAnalyzer.h" +#include "Resource/TaskData.h" #include "Utils/Logger.hpp" #include "Utils/NoWarningCV.h" diff --git a/src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeRecruitImageAnalyzer.h similarity index 87% rename from src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeRecruitImageAnalyzer.h index 4d91063407..2b1d8aca51 100644 --- a/src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeRecruitImageAnalyzer.h @@ -1,7 +1,7 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" -#include "Utils/AsstBattleDef.h" +#include "Common/AsstBattleDef.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeSkillSelectionImageAnalyzer.cpp similarity index 91% rename from src/MeoAssistant/ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeSkillSelectionImageAnalyzer.cpp index 938ef0779c..7675579b0f 100644 --- a/src/MeoAssistant/ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeSkillSelectionImageAnalyzer.cpp @@ -2,11 +2,11 @@ #include "Utils/NoWarningCV.h" -#include "General/MatchImageAnalyzer.h" -#include "General/MultiMatchImageAnalyzer.h" -#include "General/OcrWithPreprocessImageAnalyzer.h" -#include "Resource/RoguelikeRecruitConfig.h" -#include "TaskData.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/MultiMatchImageAnalyzer.h" +#include "ImageAnalyzer/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/Roguelike/RoguelikeRecruitConfig.h" +#include "Resource/TaskData.h" #include "Utils/Logger.hpp" #include "Utils/StringMisc.hpp" diff --git a/src/MeoAssistant/ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeSkillSelectionImageAnalyzer.h similarity index 94% rename from src/MeoAssistant/ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeSkillSelectionImageAnalyzer.h index 7e058ddcab..4aed95a11f 100644 --- a/src/MeoAssistant/ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Roguelike/RoguelikeSkillSelectionImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/ImageAnalyzer/StageDropsImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/Roguelike/StageDropsImageAnalyzer.cpp similarity index 96% rename from src/MeoAssistant/ImageAnalyzer/StageDropsImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/Roguelike/StageDropsImageAnalyzer.cpp index a49c2cf728..4fba91337e 100644 --- a/src/MeoAssistant/ImageAnalyzer/StageDropsImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/Roguelike/StageDropsImageAnalyzer.cpp @@ -1,15 +1,15 @@ #include "StageDropsImageAnalyzer.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include "Utils/NoWarningCV.h" -#include "General/MatchImageAnalyzer.h" -#include "General/OcrWithPreprocessImageAnalyzer.h" -#include "Resource/ItemConfig.h" -#include "Resource/StageDropsConfig.h" -#include "TaskData.h" -#include "Utils/AsstImageIo.hpp" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/Miscellaneous/ItemConfig.h" +#include "Resource/Miscellaneous/StageDropsConfig.h" +#include "Resource/TaskData.h" +#include "Utils/ImageIo.hpp" #include "Utils/Logger.hpp" #include @@ -293,7 +293,7 @@ bool asst::StageDropsImageAnalyzer::analyze_baseline() } else { spacing = 0; - Rect baseline{ x_offset + i_start, y_offset, width, bounding_rect.height }; + Rect baseline { x_offset + i_start, y_offset, width, bounding_rect.height }; m_baseline.emplace_back(baseline, match_droptype(baseline)); } } @@ -311,7 +311,7 @@ bool asst::StageDropsImageAnalyzer::analyze_baseline() if (in) { // 最右边的白线贴着 bounding 边的情况 int width = bounding.cols - 1 - i_start; if (width >= min_width) { - Rect baseline{ x_offset + i_start, y_offset, width, bounding_rect.height }; + Rect baseline { x_offset + i_start, y_offset, width, bounding_rect.height }; m_baseline.emplace_back(baseline, match_droptype(baseline)); } } @@ -451,7 +451,7 @@ std::string asst::StageDropsImageAnalyzer::match_item(const Rect& roi, StageDrop result = match_item_with_templs(std::vector(items.cbegin(), items.cend())); // 将这次识别到的加入该关卡的待识别列表 if (!result.empty() && !m_stage_code.empty()) { - StageDrops.append_drops(StageKey{ m_stage_code, m_difficulty }, type, result); + StageDrops.append_drops(StageKey { m_stage_code, m_difficulty }, type, result); } } diff --git a/src/MeoAssistant/ImageAnalyzer/StageDropsImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/Roguelike/StageDropsImageAnalyzer.h similarity index 86% rename from src/MeoAssistant/ImageAnalyzer/StageDropsImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/Roguelike/StageDropsImageAnalyzer.h index 4190a18869..a14d8e0e5d 100644 --- a/src/MeoAssistant/ImageAnalyzer/StageDropsImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/Roguelike/StageDropsImageAnalyzer.h @@ -1,10 +1,10 @@ #pragma once -#include "General/AbstractImageAnalyzer.h" -#include "Resource/StageDropsConfig.h" +#include "ImageAnalyzer/AbstractImageAnalyzer.h" +#include "Resource/Miscellaneous/StageDropsConfig.h" namespace asst { - class StageDropsImageAnalyzer final: public AbstractImageAnalyzer + class StageDropsImageAnalyzer final : public AbstractImageAnalyzer { static constexpr const char* LMD_ID = "4001"; diff --git a/src/MeoAssistant/MeoAssistant.vcxproj b/src/MeoAssistant/MeoAssistant.vcxproj index 666bb7d35f..d603c6e50d 100644 --- a/src/MeoAssistant/MeoAssistant.vcxproj +++ b/src/MeoAssistant/MeoAssistant.vcxproj @@ -12,229 +12,223 @@ - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - + + + + + + + + + - - + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + 16.0 @@ -393,4 +387,4 @@ - + \ No newline at end of file diff --git a/src/MeoAssistant/MeoAssistant.vcxproj.filters b/src/MeoAssistant/MeoAssistant.vcxproj.filters index 7e8c407fd4..074b222f84 100644 --- a/src/MeoAssistant/MeoAssistant.vcxproj.filters +++ b/src/MeoAssistant/MeoAssistant.vcxproj.filters @@ -1,330 +1,64 @@ - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - {f11331ff-b6d1-4b74-8e37-1d4c7614bb2a} + {e8cc6807-e29a-4a4e-925e-65683b83dc74} + + + {9f0cbbae-c14d-4522-9289-be74f7493701} {c3ebc635-47cc-4750-b219-bc7f664ffb75} - - {fe92cbf9-0b78-4bd7-9907-747dcae32605} + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - {c010b9ca-eaf5-47e2-a984-57537863eb5e} + + {10d5a343-07ec-424b-a597-8ebc63eaeb23} - {aaf092ac-3fa5-4323-a304-637bbb753ca4} + {b592f9dc-ba0d-4c64-9ced-5a540383c1d0} + + + {b00c96ac-e0d6-486c-a74a-51db706c6b2b} - {c0eb060e-d31f-4460-82ca-8c56c05bf6fe} + {250bc7cb-e99a-42f8-ae3c-66998564fdcf} - {d279b6b3-a5d5-4a78-b37a-681d2bad3cd0} + {3b2a04b8-fb22-43c3-9444-1b455851d8e2} + + + {de1acbf1-3e7a-4e91-8a62-e966602c6b25} + + + {64367a8b-0654-47bb-92cc-d451799457a4} - {0aeb3ee0-4876-42a8-9752-fc60a5fcd4b8} + {8499a77f-7bcc-457c-97f1-6e950ab68bf4} - - {b9f7267f-d481-4c5a-ad83-41f37aa127d8} - - - {d73fc5ec-d236-4f7b-bd3c-1fbd25299f78} - - - {35bb3f55-f826-471e-ab6c-34228f41c8f0} - - - {a1846ebc-ce71-49af-98ac-4db26918c53c} + + {f4a94ded-5a4e-42e5-b6f2-5ef163e254a4} - {97b6c116-69f0-467f-8512-e009f0db0346} + {60bed13d-c700-4a51-882f-4629b1bdb4d8} + + + {ea6699c6-00e4-4a41-becf-96c02f2bb807} + + + {76f49515-1905-41b4-9e90-cc7015445c70} + + + {43280e36-9f08-45c3-be44-ee375dfd3c60} + + + {6445de69-cafe-42eb-a3e2-658cf78f414d} + + + {44446da8-4dcc-4d58-b95c-ae4cc746edf5} - - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\Infrast - - - 源文件\ImageAnalyzer\Infrast - - - 源文件\ImageAnalyzer\Infrast - - - 源文件\ImageAnalyzer\Infrast - - - 源文件\ImageAnalyzer\Infrast - - - 源文件\ImageAnalyzer\Roguelike - - - 源文件\ImageAnalyzer\Roguelike - - - 源文件\ImageAnalyzer\Roguelike - - - 源文件\ImageAnalyzer - - - 源文件\ImageAnalyzer - - - 源文件\ImageAnalyzer - - - 源文件\ImageAnalyzer - - - 源文件\ImageAnalyzer - - - 源文件\ImageAnalyzer - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Utils - - - 源文件\Utils - - - 源文件 - - - 源文件 - - - 源文件 - - - 源文件 - - - 源文件 - - - 源文件 - - - 源文件\Task - @@ -333,21 +67,6 @@ 资源文件 - - 资源文件 - - - 资源文件 - - - 资源文件 - - - 资源文件 - - - 资源文件 - @@ -356,68 +75,86 @@ 头文件 - - 源文件\ImageAnalyzer\General + + 源文件\Common - - 源文件\ImageAnalyzer\General + + 源文件\Common - - 源文件\ImageAnalyzer\General + + 源文件\Common - - 源文件\ImageAnalyzer\General + + 源文件\Common - - 源文件\ImageAnalyzer\General + + 源文件\Common - - 源文件\ImageAnalyzer\General + + 源文件\Common - - 源文件\ImageAnalyzer\General + + 源文件\ImageAnalyzer - + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer + + 源文件\ImageAnalyzer\Infrast - + 源文件\ImageAnalyzer\Infrast - + 源文件\ImageAnalyzer\Infrast - + 源文件\ImageAnalyzer\Infrast - + 源文件\ImageAnalyzer\Infrast - + + 源文件\ImageAnalyzer\Miscellaneous + + + 源文件\ImageAnalyzer\Miscellaneous + + + 源文件\ImageAnalyzer\Miscellaneous + + + 源文件\ImageAnalyzer\Miscellaneous + + + 源文件\ImageAnalyzer\Miscellaneous + + 源文件\ImageAnalyzer\Roguelike - + 源文件\ImageAnalyzer\Roguelike - + 源文件\ImageAnalyzer\Roguelike - - 源文件\ImageAnalyzer - - - 源文件\ImageAnalyzer - - - 源文件\ImageAnalyzer - - - 源文件\ImageAnalyzer - - - 源文件\ImageAnalyzer - - - 源文件\ImageAnalyzer + + 源文件\ImageAnalyzer\Roguelike 源文件\Resource @@ -428,283 +165,547 @@ 源文件\Resource - + 源文件\Resource - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - + 源文件\Resource 源文件\Resource - - 源文件\Resource + + 源文件\Resource\Roguelike - - 源文件\Task\Plugin\Roguelike + + 源文件\Resource\Roguelike - - 源文件\Task\Plugin\Roguelike + + 源文件\Resource\Roguelike - - 源文件\Task\Plugin\Roguelike + + 源文件\Resource\Miscellaneous - - 源文件\Task\Plugin\Roguelike + + 源文件\Resource\Miscellaneous - - 源文件\Task\Plugin\Roguelike + + 源文件\Resource\Miscellaneous - - 源文件\Task\Plugin\Roguelike + + 源文件\Resource\Miscellaneous - - 源文件\Task\Plugin\Roguelike + + 源文件\Resource\Miscellaneous - - 源文件\Task\Plugin\Roguelike + + 源文件\Resource\Miscellaneous - - 源文件\Task\Plugin\Roguelike + + 源文件\Resource\Miscellaneous - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - + 源文件\Task - + 源文件\Task - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - + 源文件\Task 源文件\Task - + 源文件\Task - + 源文件\Task - + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + 源文件\Utils - + 源文件\Utils - - 源文件\Utils - - - 源文件\Utils - - - 源文件\Utils - - - 源文件\Utils - - + 源文件\Utils 源文件\Utils - - 源文件\Utils - - - 源文件\Utils - - - 源文件\Utils - - - 源文件\Utils - - - 源文件\Utils - - - 源文件\Utils - - - 源文件\Utils - - - 源文件\Utils - - - 源文件\Utils - - + 源文件\Utils 源文件\Utils - - 源文件\Utils - 源文件\Utils 源文件\Utils + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils\Platform + + + 源文件\Utils\Platform + + + 源文件\Utils\Platform + + + 源文件\Utils\Platform + 源文件 源文件 - + 源文件 - - 源文件 + + 源文件\Resource - - 源文件 + + 源文件\Resource\Miscellaneous - - 源文件\Utils + + 源文件\Task\Fight - - 源文件\Task + + 源文件\Task\Fight - - - - 源文件\Task + + 源文件\Task\Fight + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike - + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer + + + 源文件\ImageAnalyzer\Infrast + + + 源文件\ImageAnalyzer\Infrast + + + 源文件\ImageAnalyzer\Infrast + + + 源文件\ImageAnalyzer\Infrast + + + 源文件\ImageAnalyzer\Infrast + + + 源文件\ImageAnalyzer\Miscellaneous + + + 源文件\ImageAnalyzer\Miscellaneous + + + 源文件\ImageAnalyzer\Miscellaneous + + + 源文件\ImageAnalyzer\Miscellaneous + + + 源文件\ImageAnalyzer\Miscellaneous + + + 源文件\ImageAnalyzer\Roguelike + + + 源文件\ImageAnalyzer\Roguelike + + + 源文件\ImageAnalyzer\Roguelike + + + 源文件\ImageAnalyzer\Roguelike + + + 源文件\Resource + + + 源文件\Resource + + + 源文件\Resource + + + 源文件\Resource + + + 源文件\Resource\Roguelike + + + 源文件\Resource\Roguelike + + + 源文件\Resource\Roguelike + + + 源文件\Resource\Miscellaneous + + + 源文件\Resource\Miscellaneous + + + 源文件\Resource\Miscellaneous + + + 源文件\Resource\Miscellaneous + + + 源文件\Resource\Miscellaneous + + + 源文件\Resource\Miscellaneous + + + 源文件\Resource\Miscellaneous + + + 源文件\Task + + + 源文件\Task + + + 源文件\Task + + + 源文件\Task + + + 源文件\Task + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Task\Interface + + + 源文件\Utils\Platform + + + 源文件\Utils\Platform + + + 源文件 + + + 源文件 + + + 源文件 + + + 源文件 + + + 源文件\Resource + + + 源文件\Resource\Miscellaneous + + + 源文件\Task\Fight + + + 源文件\Task\Fight + + + 源文件\Task\Fight + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Infrast + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Miscellaneous + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + 源文件\Task\Roguelike + + + \ No newline at end of file diff --git a/src/MeoAssistant/Resource/AbstractConfig.h b/src/MeoAssistant/Resource/AbstractConfig.h index c47ae888d1..0dfc22e7f9 100644 --- a/src/MeoAssistant/Resource/AbstractConfig.h +++ b/src/MeoAssistant/Resource/AbstractConfig.h @@ -9,7 +9,7 @@ namespace json namespace asst { - class AbstractConfig: public AbstractResource + class AbstractConfig : public AbstractResource { public: virtual ~AbstractConfig() override = default; diff --git a/src/MeoAssistant/Resource/AbstractConfigWithTempl.h b/src/MeoAssistant/Resource/AbstractConfigWithTempl.h index 4befe54d61..7b3f1f96b3 100644 --- a/src/MeoAssistant/Resource/AbstractConfigWithTempl.h +++ b/src/MeoAssistant/Resource/AbstractConfigWithTempl.h @@ -6,7 +6,7 @@ namespace asst { - class AbstractConfigWithTempl: public AbstractConfig + class AbstractConfigWithTempl : public AbstractConfig { public: virtual ~AbstractConfigWithTempl() override = default; diff --git a/src/MeoAssistant/Resource/GeneralConfig.h b/src/MeoAssistant/Resource/GeneralConfig.h index ea32b94e19..983d15d63c 100644 --- a/src/MeoAssistant/Resource/GeneralConfig.h +++ b/src/MeoAssistant/Resource/GeneralConfig.h @@ -7,7 +7,7 @@ #include #include -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" namespace asst { @@ -32,10 +32,10 @@ namespace asst int control_delay_lower = 0; // 点击随机延时下限:每次点击操作会进行随机延时 int control_delay_upper = 0; // 点击随机延时上限:每次点击操作会进行随机延时 // bool print_window = false;// 截图功能:开启后每次结算界面会截图到screenshot目录下 - int adb_extra_swipe_dist = 0; // 额外的滑动距离: + int adb_extra_swipe_dist = 0; // 额外的滑动距离: // adb有bug,同样的参数,偶尔会划得非常远。 // 额外做一个短程滑动,把之前的停下来。 - int adb_extra_swipe_duration = -1; // 额外的滑动持续时间: + int adb_extra_swipe_duration = -1; // 额外的滑动持续时间: // adb有bug,同样的参数,偶尔会划得非常远。 // 额外做一个短程滑动,把之前的停下来。 // 若小于0,则关闭额外滑动功能。 @@ -78,7 +78,7 @@ namespace asst std::string call_minitouch; }; - class GeneralConfig final: public SingletonHolder, public AbstractConfig + class GeneralConfig final : public SingletonHolder, public AbstractConfig { public: virtual ~GeneralConfig() override = default; diff --git a/src/MeoAssistant/Resource/BattleDataConfig.cpp b/src/MeoAssistant/Resource/Miscellaneous/BattleDataConfig.cpp similarity index 98% rename from src/MeoAssistant/Resource/BattleDataConfig.cpp rename to src/MeoAssistant/Resource/Miscellaneous/BattleDataConfig.cpp index 46464786a0..b5c8d29ad4 100644 --- a/src/MeoAssistant/Resource/BattleDataConfig.cpp +++ b/src/MeoAssistant/Resource/Miscellaneous/BattleDataConfig.cpp @@ -1,6 +1,6 @@ #include "BattleDataConfig.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include #include "Utils/Logger.hpp" diff --git a/src/MeoAssistant/Resource/BattleDataConfig.h b/src/MeoAssistant/Resource/Miscellaneous/BattleDataConfig.h similarity index 88% rename from src/MeoAssistant/Resource/BattleDataConfig.h rename to src/MeoAssistant/Resource/Miscellaneous/BattleDataConfig.h index f469e3d361..ecd8871aaf 100644 --- a/src/MeoAssistant/Resource/BattleDataConfig.h +++ b/src/MeoAssistant/Resource/Miscellaneous/BattleDataConfig.h @@ -1,14 +1,14 @@ #pragma once -#include "AbstractConfig.h" +#include "Resource/AbstractConfig.h" #include -#include "Utils/AsstBattleDef.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstBattleDef.h" +#include "Common/AsstTypes.h" namespace asst { - class BattleDataConfig final: public SingletonHolder, public AbstractConfig + class BattleDataConfig final : public SingletonHolder, public AbstractConfig { public: virtual ~BattleDataConfig() override = default; @@ -40,7 +40,7 @@ namespace asst return iter->second.location_type; } - static inline const BattleAttackRange& EmptyRange{ { 0, 0 } }; + static inline const BattleAttackRange& EmptyRange { { 0, 0 } }; const BattleAttackRange& get_range(const std::string& name, size_t index) const { diff --git a/src/MeoAssistant/Resource/CopilotConfig.cpp b/src/MeoAssistant/Resource/Miscellaneous/CopilotConfig.cpp similarity index 99% rename from src/MeoAssistant/Resource/CopilotConfig.cpp rename to src/MeoAssistant/Resource/Miscellaneous/CopilotConfig.cpp index 1c6729a9f5..b92f8e3fdc 100644 --- a/src/MeoAssistant/Resource/CopilotConfig.cpp +++ b/src/MeoAssistant/Resource/Miscellaneous/CopilotConfig.cpp @@ -47,7 +47,7 @@ bool asst::CopilotConfig::parse(const json::value& json) // 单个干员的,干员名直接作为组名 std::string group_name = oper.name; - m_data.groups.emplace(std::move(group_name), std::vector{ std::move(oper) }); + m_data.groups.emplace(std::move(group_name), std::vector { std::move(oper) }); } } diff --git a/src/MeoAssistant/Resource/CopilotConfig.h b/src/MeoAssistant/Resource/Miscellaneous/CopilotConfig.h similarity index 76% rename from src/MeoAssistant/Resource/CopilotConfig.h rename to src/MeoAssistant/Resource/Miscellaneous/CopilotConfig.h index 3839bc06be..a7e518ce85 100644 --- a/src/MeoAssistant/Resource/CopilotConfig.h +++ b/src/MeoAssistant/Resource/Miscellaneous/CopilotConfig.h @@ -1,10 +1,10 @@ #pragma once -#include "AbstractConfig.h" -#include "Utils/AsstBattleDef.h" +#include "Common/AsstBattleDef.h" +#include "Resource/AbstractConfig.h" namespace asst { - class CopilotConfig: public SingletonHolder, public AbstractConfig + class CopilotConfig : public SingletonHolder, public AbstractConfig { public: virtual ~CopilotConfig() override = default; diff --git a/src/MeoAssistant/Resource/InfrastConfig.cpp b/src/MeoAssistant/Resource/Miscellaneous/InfrastConfig.cpp similarity index 100% rename from src/MeoAssistant/Resource/InfrastConfig.cpp rename to src/MeoAssistant/Resource/Miscellaneous/InfrastConfig.cpp diff --git a/src/MeoAssistant/Resource/InfrastConfig.h b/src/MeoAssistant/Resource/Miscellaneous/InfrastConfig.h similarity index 90% rename from src/MeoAssistant/Resource/InfrastConfig.h rename to src/MeoAssistant/Resource/Miscellaneous/InfrastConfig.h index 62c67d3950..5381be273b 100644 --- a/src/MeoAssistant/Resource/InfrastConfig.h +++ b/src/MeoAssistant/Resource/Miscellaneous/InfrastConfig.h @@ -1,14 +1,14 @@ #pragma once -#include "AbstractConfigWithTempl.h" +#include "Resource/AbstractConfigWithTempl.h" #include #include -#include "Utils/AsstInfrastDef.h" +#include "Common/AsstInfrastDef.h" namespace asst { - class InfrastConfig final: public SingletonHolder, public AbstractConfigWithTempl + class InfrastConfig final : public SingletonHolder, public AbstractConfigWithTempl { public: virtual ~InfrastConfig() override = default; diff --git a/src/MeoAssistant/Resource/ItemConfig.cpp b/src/MeoAssistant/Resource/Miscellaneous/ItemConfig.cpp similarity index 92% rename from src/MeoAssistant/Resource/ItemConfig.cpp rename to src/MeoAssistant/Resource/Miscellaneous/ItemConfig.cpp index 504017fc72..fb50b47b1e 100644 --- a/src/MeoAssistant/Resource/ItemConfig.cpp +++ b/src/MeoAssistant/Resource/Miscellaneous/ItemConfig.cpp @@ -1,6 +1,6 @@ #include "ItemConfig.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include #include "Utils/Logger.hpp" @@ -23,7 +23,7 @@ bool asst::ItemConfig::parse(const json::value& json) m_ordered_material_item_id.clear(); m_ordered_material_item_id.reserve(material_sortid.size()); ranges::copy(material_sortid | views::keys, std::back_inserter(m_ordered_material_item_id)); - ranges::sort(m_ordered_material_item_id, std::less{}, + ranges::sort(m_ordered_material_item_id, std::less {}, [&](const std::string& name) -> int { return material_sortid[name]; }); return true; diff --git a/src/MeoAssistant/Resource/ItemConfig.h b/src/MeoAssistant/Resource/Miscellaneous/ItemConfig.h similarity index 90% rename from src/MeoAssistant/Resource/ItemConfig.h rename to src/MeoAssistant/Resource/Miscellaneous/ItemConfig.h index 153886ced6..beef61e7c9 100644 --- a/src/MeoAssistant/Resource/ItemConfig.h +++ b/src/MeoAssistant/Resource/Miscellaneous/ItemConfig.h @@ -1,6 +1,6 @@ #pragma once -#include "AbstractConfigWithTempl.h" +#include "Resource/AbstractConfigWithTempl.h" #include #include @@ -8,7 +8,7 @@ namespace asst { - class ItemConfig final: public SingletonHolder, public AbstractConfigWithTempl + class ItemConfig final : public SingletonHolder, public AbstractConfigWithTempl { public: virtual ~ItemConfig() override = default; diff --git a/src/MeoAssistant/Resource/OcrPack.cpp b/src/MeoAssistant/Resource/Miscellaneous/OcrPack.cpp similarity index 97% rename from src/MeoAssistant/Resource/OcrPack.cpp rename to src/MeoAssistant/Resource/Miscellaneous/OcrPack.cpp index 02fed100df..1b298a20c5 100644 --- a/src/MeoAssistant/Resource/OcrPack.cpp +++ b/src/MeoAssistant/Resource/Miscellaneous/OcrPack.cpp @@ -12,8 +12,6 @@ #include "Utils/StringMisc.hpp" #ifdef _WIN32 -#include "Utils/Platform/AsstPlatformWin32.h" -#include "Utils/Platform/SafeWindows.h" #include static std::filesystem::path prepare_paddle_dir(const std::filesystem::path& dir, bool* is_temp); #else @@ -37,7 +35,7 @@ asst::OcrPack::OcrPack() asst::OcrPack::~OcrPack() { for (size_t i = 0; i != MaxBoxSize; ++i) { - delete[] * (m_strs_buffer + i); + delete[] *(m_strs_buffer + i); } PaddleOcrDestroy(m_ocr); @@ -151,7 +149,7 @@ std::vector asst::OcrPack::recognize(const cv::Mat& image, const score = 0; } - TextRect tr{ score, rect, text }; + TextRect tr { score, rect, text }; #ifdef ASST_DEBUG cv::rectangle(draw, make_rect(rect), cv::Scalar(0, 0, 255), 2); #endif @@ -191,7 +189,7 @@ std::vector asst::OcrPack::recognize(const cv::Mat& image, const static std::filesystem::path prepare_paddle_dir(const std::filesystem::path& dir, bool* is_temp) { - static std::atomic id{}; + static std::atomic id {}; *is_temp = false; if (!asst::utils::path_to_ansi_string(dir).empty()) { diff --git a/src/MeoAssistant/Resource/OcrPack.h b/src/MeoAssistant/Resource/Miscellaneous/OcrPack.h similarity index 94% rename from src/MeoAssistant/Resource/OcrPack.h rename to src/MeoAssistant/Resource/Miscellaneous/OcrPack.h index 0cf4c7d082..87325a2320 100644 --- a/src/MeoAssistant/Resource/OcrPack.h +++ b/src/MeoAssistant/Resource/Miscellaneous/OcrPack.h @@ -1,9 +1,9 @@ #pragma once -#include "AbstractResource.h" +#include "Resource/AbstractResource.h" #include -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" namespace cv { diff --git a/src/MeoAssistant/Resource/RecruitConfig.cpp b/src/MeoAssistant/Resource/Miscellaneous/RecruitConfig.cpp similarity index 93% rename from src/MeoAssistant/Resource/RecruitConfig.cpp rename to src/MeoAssistant/Resource/Miscellaneous/RecruitConfig.cpp index 2023b62cc4..23f93815f9 100644 --- a/src/MeoAssistant/Resource/RecruitConfig.cpp +++ b/src/MeoAssistant/Resource/Miscellaneous/RecruitConfig.cpp @@ -36,7 +36,7 @@ bool asst::RecruitConfig::parse(const json::value& json) } // 按干员等级排个序 - ranges::sort(m_all_opers, std::greater{}, std::mem_fn(&RecruitOperInfo::level)); + ranges::sort(m_all_opers, std::greater {}, std::mem_fn(&RecruitOperInfo::level)); return true; } diff --git a/src/MeoAssistant/Resource/RecruitConfig.h b/src/MeoAssistant/Resource/Miscellaneous/RecruitConfig.h similarity index 93% rename from src/MeoAssistant/Resource/RecruitConfig.h rename to src/MeoAssistant/Resource/Miscellaneous/RecruitConfig.h index 55d48e816b..535bcf5dc1 100644 --- a/src/MeoAssistant/Resource/RecruitConfig.h +++ b/src/MeoAssistant/Resource/Miscellaneous/RecruitConfig.h @@ -1,15 +1,15 @@ #pragma once -#include "AbstractConfig.h" +#include "Resource/AbstractConfig.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include #include #include #include #include -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" namespace asst { @@ -65,7 +65,7 @@ namespace asst avg_level = std::transform_reduce(opers.cbegin(), opers.cend(), 0., std::plus {}, std::mem_fn(&RecruitOperInfo::level)) / - static_cast(opers.size()); + static_cast(opers.size()); } // intersection of two recruit combs @@ -88,7 +88,7 @@ namespace asst } }; - class RecruitConfig final: public SingletonHolder, public AbstractConfig + class RecruitConfig final : public SingletonHolder, public AbstractConfig { public: using TagId = std::string; diff --git a/src/MeoAssistant/Resource/StageDropsConfig.cpp b/src/MeoAssistant/Resource/Miscellaneous/StageDropsConfig.cpp similarity index 97% rename from src/MeoAssistant/Resource/StageDropsConfig.cpp rename to src/MeoAssistant/Resource/Miscellaneous/StageDropsConfig.cpp index f8b3721fc4..a366ea63eb 100644 --- a/src/MeoAssistant/Resource/StageDropsConfig.cpp +++ b/src/MeoAssistant/Resource/Miscellaneous/StageDropsConfig.cpp @@ -13,7 +13,7 @@ bool asst::StageDropsConfig::parse(const json::value& json) // 举例 1-7,可能重复(例如磨难和普通是同一个关卡名) std::string stage_id = stage_json.at("stageId").as_string(); // 关卡id,举例 main_01-07,上传用的,唯一 StageDifficulty difficulty = (stage_id.find("tough_") == 0) ? StageDifficulty::Tough : StageDifficulty::Normal; - StageKey key{ code, difficulty }; + StageKey key { code, difficulty }; StageInfo info; info.stage_id = stage_id; diff --git a/src/MeoAssistant/Resource/StageDropsConfig.h b/src/MeoAssistant/Resource/Miscellaneous/StageDropsConfig.h similarity index 93% rename from src/MeoAssistant/Resource/StageDropsConfig.h rename to src/MeoAssistant/Resource/Miscellaneous/StageDropsConfig.h index ea7989702c..9236c9c7bb 100644 --- a/src/MeoAssistant/Resource/StageDropsConfig.h +++ b/src/MeoAssistant/Resource/Miscellaneous/StageDropsConfig.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractConfig.h" +#include "Resource/AbstractConfig.h" #include #include @@ -53,14 +53,14 @@ namespace asst int quantity = 0; }; - class StageDropsConfig final: public SingletonHolder, public AbstractConfig + class StageDropsConfig final : public SingletonHolder, public AbstractConfig { public: virtual ~StageDropsConfig() override = default; const auto& get_stage_info(const std::string& code, StageDifficulty difficulty) const { - StageKey key{ code, difficulty }; + StageKey key { code, difficulty }; if (auto find_iter = m_stage_info.find(key); find_iter != m_stage_info.end()) { return find_iter->second; } diff --git a/src/MeoAssistant/Resource/TilePack.cpp b/src/MeoAssistant/Resource/Miscellaneous/TilePack.cpp similarity index 99% rename from src/MeoAssistant/Resource/TilePack.cpp rename to src/MeoAssistant/Resource/Miscellaneous/TilePack.cpp index 99c0dbbffd..79daa2c5ff 100644 --- a/src/MeoAssistant/Resource/TilePack.cpp +++ b/src/MeoAssistant/Resource/Miscellaneous/TilePack.cpp @@ -1,6 +1,6 @@ #include "TilePack.h" -#include "Utils/AsstConf.h" +#include "Common/AsstConf.h" ASST_SUPPRESS_CV_WARNINGS_START #include ASST_SUPPRESS_CV_WARNINGS_END diff --git a/src/MeoAssistant/Resource/TilePack.h b/src/MeoAssistant/Resource/Miscellaneous/TilePack.h similarity index 95% rename from src/MeoAssistant/Resource/TilePack.h rename to src/MeoAssistant/Resource/Miscellaneous/TilePack.h index 6faefb7e9a..155c56450e 100644 --- a/src/MeoAssistant/Resource/TilePack.h +++ b/src/MeoAssistant/Resource/Miscellaneous/TilePack.h @@ -1,8 +1,8 @@ #pragma once -#include "AbstractResource.h" -#include "Utils/AsstBattleDef.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstBattleDef.h" +#include "Common/AsstTypes.h" +#include "Resource/AbstractResource.h" #include diff --git a/src/MeoAssistant/ResourceLoader.cpp b/src/MeoAssistant/Resource/ResourceLoader.cpp similarity index 78% rename from src/MeoAssistant/ResourceLoader.cpp rename to src/MeoAssistant/Resource/ResourceLoader.cpp index c91ff8734e..7af9e5e6a0 100644 --- a/src/MeoAssistant/ResourceLoader.cpp +++ b/src/MeoAssistant/Resource/ResourceLoader.cpp @@ -2,47 +2,45 @@ #include -#include "Utils/Logger.hpp" - -#include "Controller.h" -#include "Resource/BattleDataConfig.h" -#include "Resource/CopilotConfig.h" -#include "Resource/GeneralConfig.h" -#include "Resource/InfrastConfig.h" -#include "Resource/ItemConfig.h" -#include "Resource/OcrPack.h" -#include "Resource/RecruitConfig.h" -#include "Resource/RoguelikeCopilotConfig.h" -#include "Resource/RoguelikeRecruitConfig.h" -#include "Resource/RoguelikeShoppingConfig.h" -#include "Resource/StageDropsConfig.h" -#include "Resource/TemplResource.h" -#include "Resource/TilePack.h" +#include "GeneralConfig.h" +#include "Miscellaneous/BattleDataConfig.h" +#include "Miscellaneous/CopilotConfig.h" +#include "Miscellaneous/InfrastConfig.h" +#include "Miscellaneous/ItemConfig.h" +#include "Miscellaneous/OcrPack.h" +#include "Miscellaneous/RecruitConfig.h" +#include "Miscellaneous/StageDropsConfig.h" +#include "Miscellaneous/TilePack.h" +#include "Roguelike/RoguelikeCopilotConfig.h" +#include "Roguelike/RoguelikeRecruitConfig.h" +#include "Roguelike/RoguelikeShoppingConfig.h" #include "TaskData.h" +#include "TemplResource.h" +#include "Utils/Logger.hpp" bool asst::ResourceLoader::load(const std::filesystem::path& path) { #define LoadResourceAndCheckRet(Config, Filename) \ - { \ + { \ LogTraceScope(std::string("LoadResourceAndCheckRet ") + #Config); \ - auto full_path = path / Filename; \ + auto full_path = path / Filename; \ bool ret = load_resource(full_path); \ - if (!ret) { \ + if (!ret) { \ Log.error(#Config, " load failed, path:", full_path); \ - return false; \ - } \ + return false; \ + } \ } #define LoadResourceWithTemplAndCheckRet(Config, Filename, TemplDir) \ - { \ + { \ LogTraceScope(std::string("LoadResourceWithTemplAndCheckRet ") + #Config); \ - auto full_path = path / Filename; \ - auto full_templ_dir = path / TemplDir; \ + auto full_path = path / Filename; \ + auto full_templ_dir = path / TemplDir; \ bool ret = load_resource_with_templ(full_path, full_templ_dir); \ - if (!ret) { \ + if (!ret) { \ Log.error(#Config, "load failed, path:", full_path, ", templ dir:", full_templ_dir); \ - return false; \ - } \ + return false; \ + } \ } LogTraceFunction; diff --git a/src/MeoAssistant/ResourceLoader.h b/src/MeoAssistant/Resource/ResourceLoader.h similarity index 76% rename from src/MeoAssistant/ResourceLoader.h rename to src/MeoAssistant/Resource/ResourceLoader.h index ba25e5f63f..06e55c6bec 100644 --- a/src/MeoAssistant/ResourceLoader.h +++ b/src/MeoAssistant/Resource/ResourceLoader.h @@ -1,16 +1,16 @@ #pragma once -#include "Resource/AbstractResource.h" -#include "Utils/SingletonHolder.hpp" +#include "AbstractResource.h" #include -#include "Resource/AbstractConfigWithTempl.h" -#include "Resource/TemplResource.h" +#include "AbstractConfigWithTempl.h" +#include "TemplResource.h" +#include "Utils/SingletonHolder.hpp" namespace asst { - class ResourceLoader final: public SingletonHolder, public AbstractResource + class ResourceLoader final : public SingletonHolder, public AbstractResource { public: virtual ~ResourceLoader() override = default; @@ -19,7 +19,7 @@ namespace asst private: template - requires std::is_base_of_v + requires std::is_base_of_v bool load_resource(const std::filesystem::path& path) { if (!std::filesystem::exists(path)) { @@ -29,7 +29,7 @@ namespace asst } template - requires std::is_base_of_v + requires std::is_base_of_v bool load_resource_with_templ(const std::filesystem::path& path, const std::filesystem::path& templ_dir) { if (!load_resource(path)) { diff --git a/src/MeoAssistant/Resource/RoguelikeCopilotConfig.cpp b/src/MeoAssistant/Resource/Roguelike/RoguelikeCopilotConfig.cpp similarity index 94% rename from src/MeoAssistant/Resource/RoguelikeCopilotConfig.cpp rename to src/MeoAssistant/Resource/Roguelike/RoguelikeCopilotConfig.cpp index 0ab953dd5d..4da39f4eaa 100644 --- a/src/MeoAssistant/Resource/RoguelikeCopilotConfig.cpp +++ b/src/MeoAssistant/Resource/Roguelike/RoguelikeCopilotConfig.cpp @@ -94,10 +94,10 @@ bool asst::RoguelikeCopilotConfig::parse(const json::value& json) return false; } auto roles = raw_roles | filter(&json::value::is_string) | transform(&json::value::as_string) | - transform([&](std::string name) { - ranges::for_each(name, to_lower); - return std::move(name); - }); + transform([&](std::string name) { + ranges::for_each(name, to_lower); + return std::move(name); + }); for (const std::string& role_name : roles) { const auto role = get_role_type(role_name); if (role == BattleRole::Unknown) [[unlikely]] { @@ -105,11 +105,11 @@ bool asst::RoguelikeCopilotConfig::parse(const json::value& json) is_legal = false; break; } - if (specified_role.contains(role)) [[unlikely]] { - Log.error("Duplicated BattleRole:", role_name); - is_legal = false; - break; - } + if (specified_role.contains(role)) [[unlikely]] { + Log.error("Duplicated BattleRole:", role_name); + is_legal = false; + break; + } specified_role.emplace(role); role_order.emplace_back(role); } diff --git a/src/MeoAssistant/Resource/RoguelikeCopilotConfig.h b/src/MeoAssistant/Resource/Roguelike/RoguelikeCopilotConfig.h similarity index 72% rename from src/MeoAssistant/Resource/RoguelikeCopilotConfig.h rename to src/MeoAssistant/Resource/Roguelike/RoguelikeCopilotConfig.h index 3341c18e1e..04a1c46b4a 100644 --- a/src/MeoAssistant/Resource/RoguelikeCopilotConfig.h +++ b/src/MeoAssistant/Resource/Roguelike/RoguelikeCopilotConfig.h @@ -1,13 +1,13 @@ #pragma once -#include "AbstractConfig.h" +#include "Resource/AbstractConfig.h" #include -#include "Utils/AsstBattleDef.h" +#include "Common/AsstBattleDef.h" namespace asst { - class RoguelikeCopilotConfig final: public SingletonHolder, public AbstractConfig + class RoguelikeCopilotConfig final : public SingletonHolder, public AbstractConfig { public: virtual ~RoguelikeCopilotConfig() override = default; diff --git a/src/MeoAssistant/Resource/RoguelikeRecruitConfig.cpp b/src/MeoAssistant/Resource/Roguelike/RoguelikeRecruitConfig.cpp similarity index 98% rename from src/MeoAssistant/Resource/RoguelikeRecruitConfig.cpp rename to src/MeoAssistant/Resource/Roguelike/RoguelikeRecruitConfig.cpp index 807cf846da..201288d15a 100644 --- a/src/MeoAssistant/Resource/RoguelikeRecruitConfig.cpp +++ b/src/MeoAssistant/Resource/Roguelike/RoguelikeRecruitConfig.cpp @@ -5,7 +5,7 @@ #include const asst::RoguelikeOperInfo& asst::RoguelikeRecruitConfig::get_oper_info(const std::string& theme, - const std::string& name) const noexcept + const std::string& name) const noexcept { auto& opers = m_all_opers.at(theme); if (auto find_iter = opers.find(name); find_iter != opers.cend()) { diff --git a/src/MeoAssistant/Resource/RoguelikeRecruitConfig.h b/src/MeoAssistant/Resource/Roguelike/RoguelikeRecruitConfig.h similarity index 89% rename from src/MeoAssistant/Resource/RoguelikeRecruitConfig.h rename to src/MeoAssistant/Resource/Roguelike/RoguelikeRecruitConfig.h index 5d16df771e..3f9cb4493e 100644 --- a/src/MeoAssistant/Resource/RoguelikeRecruitConfig.h +++ b/src/MeoAssistant/Resource/Roguelike/RoguelikeRecruitConfig.h @@ -1,13 +1,13 @@ #pragma once -#include "AbstractConfig.h" +#include "Resource/AbstractConfig.h" #include #include #include -#include "Utils/AsstBattleDef.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstBattleDef.h" +#include "Common/AsstTypes.h" namespace asst { @@ -28,7 +28,7 @@ namespace asst BattleSkillUsage alternate_skill_usage = BattleSkillUsage::Possibly; }; - class RoguelikeRecruitConfig final: public SingletonHolder, public AbstractConfig + class RoguelikeRecruitConfig final : public SingletonHolder, public AbstractConfig { public: virtual ~RoguelikeRecruitConfig() override = default; diff --git a/src/MeoAssistant/Resource/RoguelikeShoppingConfig.cpp b/src/MeoAssistant/Resource/Roguelike/RoguelikeShoppingConfig.cpp similarity index 100% rename from src/MeoAssistant/Resource/RoguelikeShoppingConfig.cpp rename to src/MeoAssistant/Resource/Roguelike/RoguelikeShoppingConfig.cpp diff --git a/src/MeoAssistant/Resource/RoguelikeShoppingConfig.h b/src/MeoAssistant/Resource/Roguelike/RoguelikeShoppingConfig.h similarity index 80% rename from src/MeoAssistant/Resource/RoguelikeShoppingConfig.h rename to src/MeoAssistant/Resource/Roguelike/RoguelikeShoppingConfig.h index bc971eceed..c9b1374dca 100644 --- a/src/MeoAssistant/Resource/RoguelikeShoppingConfig.h +++ b/src/MeoAssistant/Resource/Roguelike/RoguelikeShoppingConfig.h @@ -1,10 +1,10 @@ #pragma once -#include "AbstractConfig.h" +#include "Resource/AbstractConfig.h" #include -#include "Utils/AsstBattleDef.h" +#include "Common/AsstBattleDef.h" namespace asst { @@ -18,7 +18,7 @@ namespace asst bool ignore_no_longer_buy = false; }; - class RoguelikeShoppingConfig final: public SingletonHolder, public AbstractConfig + class RoguelikeShoppingConfig final : public SingletonHolder, public AbstractConfig { public: virtual ~RoguelikeShoppingConfig() override = default; diff --git a/src/MeoAssistant/TaskData.cpp b/src/MeoAssistant/Resource/TaskData.cpp similarity index 75% rename from src/MeoAssistant/TaskData.cpp rename to src/MeoAssistant/Resource/TaskData.cpp index 07bbbd8617..4a107cadb2 100644 --- a/src/MeoAssistant/TaskData.cpp +++ b/src/MeoAssistant/Resource/TaskData.cpp @@ -3,11 +3,11 @@ #include #include -#include "Resource/GeneralConfig.h" -#include "Resource/TemplResource.h" -#include "Utils/AsstRanges.hpp" -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" +#include "GeneralConfig.h" +#include "TemplResource.h" #include "Utils/Logger.hpp" +#include "Utils/Ranges.hpp" #include "Utils/StringMisc.hpp" const std::unordered_set& asst::TaskData::get_templ_required() const noexcept @@ -26,7 +26,7 @@ std::shared_ptr asst::TaskData::get_raw(std::string_view name) c return nullptr; } - // `@` 前面的字符长度 + // `@` 前面的字符长度 size_t name_len = at_pos; auto base_task_iter = get_raw(name.substr(name_len + 1)); if (base_task_iter == nullptr) [[unlikely]] { @@ -69,13 +69,13 @@ bool asst::TaskData::parse(const json::value& json) auto generate_task_and_its_base = [&](const std::string& name) -> bool { auto generate_task = [&](const std::string& name, std::string_view prefix, taskptr_t base_ptr, const json::value& task_json) { - auto task_info_ptr = generate_task_info(name, task_json, base_ptr, prefix); - if (task_info_ptr == nullptr) { - return false; - } - task_status[task_name_view(name)] = NotToBeGenerate; - insert_or_assign_raw_task(name, task_info_ptr); - return true; + auto task_info_ptr = generate_task_info(name, task_json, base_ptr, prefix); + if (task_info_ptr == nullptr) { + return false; + } + task_status[task_name_view(name)] = NotToBeGenerate; + insert_or_assign_raw_task(name, task_info_ptr); + return true; }; std::function generate_fun; generate_fun = [&](const std::string& name, bool must_true) -> bool { @@ -155,41 +155,41 @@ bool asst::TaskData::parse(const json::value& json) validity &= syntax_check(name, task_json); } - for (const auto& [name, task] : m_all_tasks_info) { - auto check_tasklist = [&](const tasklist_t& task_list, std::string_view list_type, - bool enable_justreturn_check = false) { - std::unordered_set tasks_set{}; - std::string justreturn_task_name = ""; - for (const std::string& task_name : task_list) { - if (tasks_set.contains(task_name)) [[unlikely]] { - continue; - } - // 检查是否有 JustReturn 任务不是最后一个任务 - if (enable_justreturn_check && !justreturn_task_name.empty()) [[unlikely]] { - Log.error((std::string(name) += "->") += list_type, - "has a not-final JustReturn task:", justreturn_task_name); - validity = false; - } + for (const auto& [name, task] : m_all_tasks_info) { + auto check_tasklist = [&](const tasklist_t& task_list, std::string_view list_type, + bool enable_justreturn_check = false) { + std::unordered_set tasks_set {}; + std::string justreturn_task_name = ""; + for (const std::string& task_name : task_list) { + if (tasks_set.contains(task_name)) [[unlikely]] { + continue; + } + // 检查是否有 JustReturn 任务不是最后一个任务 + if (enable_justreturn_check && !justreturn_task_name.empty()) [[unlikely]] { + Log.error((std::string(name) += "->") += list_type, + "has a not-final JustReturn task:", justreturn_task_name); + validity = false; + } - if (auto ptr = get_raw(task_name); ptr == nullptr) [[unlikely]] { - Log.error(task_name, "in", (std::string(name) += "->") += list_type, "is null"); - validity = false; - } - else if (ptr->algorithm == AlgorithmType::JustReturn) { - justreturn_task_name = ptr->name; - } + if (auto ptr = get_raw(task_name); ptr == nullptr) [[unlikely]] { + Log.error(task_name, "in", (std::string(name) += "->") += list_type, "is null"); + validity = false; + } + else if (ptr->algorithm == AlgorithmType::JustReturn) { + justreturn_task_name = ptr->name; + } - tasks_set.emplace(task_name_view(task_name)); - } + tasks_set.emplace(task_name_view(task_name)); + } - return true; - }; - check_tasklist(task->next, "next", true); - check_tasklist(task->sub, "sub"); - check_tasklist(task->exceeded_next, "exceeded_next", true); - check_tasklist(task->on_error_next, "on_error_next", true); - check_tasklist(task->reduce_other_times, "reduce_other_times"); - } + return true; + }; + check_tasklist(task->next, "next", true); + check_tasklist(task->sub, "sub"); + check_tasklist(task->exceeded_next, "exceeded_next", true); + check_tasklist(task->on_error_next, "on_error_next", true); + check_tasklist(task->reduce_other_times, "reduce_other_times"); + } if (!validity) return false; } @@ -206,39 +206,39 @@ std::optional asst::TaskData::expend_sharp_task(std:: auto task_info = _generate_task_info(old_task); auto expend_sharp_task_list = [&](tasklist_t& new_task_list, const tasklist_t& task_list, std::string_view list_type) -> bool { - new_task_list.clear(); - std::function generate_tasks; - std::unordered_set tasks_set{}; - generate_tasks = [&](const tasklist_t& raw_tasks) { - for (std::string_view task : raw_tasks) { - if (task.empty()) { - Log.error("Task", name, "has a empty", list_type); - return false; - } - if (tasks_set.contains(task)) [[unlikely]] { - task_changed = true; - continue; - } - tasks_set.emplace(task_name_view(task)); + new_task_list.clear(); + std::function generate_tasks; + std::unordered_set tasks_set {}; + generate_tasks = [&](const tasklist_t& raw_tasks) { + for (std::string_view task : raw_tasks) { + if (task.empty()) { + Log.error("Task", name, "has a empty", list_type); + return false; + } + if (tasks_set.contains(task)) [[unlikely]] { + task_changed = true; + continue; + } + tasks_set.emplace(task_name_view(task)); - size_t pos = task.rfind('#'); - if (pos == std::string_view::npos) [[likely]] { - new_task_list.emplace_back(task); - continue; - } + size_t pos = task.rfind('#'); + if (pos == std::string_view::npos) [[likely]] { + new_task_list.emplace_back(task); + continue; + } #ifdef ASST_DEBUG - if (pos == 0) [[unlikely]] { - Log.trace("Task", name, "has a virtual", list_type, ":", (std::string("`") += task) += '`'); - } + if (pos == 0) [[unlikely]] { + Log.trace("Task", name, "has a virtual", list_type, ":", (std::string("`") += task) += '`'); + } #endif // ASST_DEBUG - task_changed = true; - std::string_view type = task.substr(pos + 1); - if (type == "self") { - new_task_list.emplace_back(name); - continue; - } - taskptr_t other_task_info_ptr = pos ? get_raw(task.substr(0, pos)) : default_task_info_ptr; + task_changed = true; + std::string_view type = task.substr(pos + 1); + if (type == "self") { + new_task_list.emplace_back(name); + continue; + } + taskptr_t other_task_info_ptr = pos ? get_raw(task.substr(0, pos)) : default_task_info_ptr; #define ASST_TASKDATA_GENERATE_TASKS(t) \ else if (type == #t) \ { \ @@ -246,35 +246,36 @@ std::optional asst::TaskData::expend_sharp_task(std:: return false; \ } \ } - if (other_task_info_ptr == nullptr) [[unlikely]] { - Log.error("Task", task, "not found"); - return false; - } - else if (type == "back") { - // "A#back" === "A", "B@A#back" === "B@A", "#back" === null - if (pos) { - new_task_list.emplace_back(task.substr(0, pos)); - } - } - ASST_TASKDATA_GENERATE_TASKS(next) - ASST_TASKDATA_GENERATE_TASKS(sub) - ASST_TASKDATA_GENERATE_TASKS(on_error_next) - ASST_TASKDATA_GENERATE_TASKS(exceeded_next) - ASST_TASKDATA_GENERATE_TASKS(reduce_other_times) - else [[unlikely]] { - Log.error("Unknown type", type, "in", task); - return false; - } + if (other_task_info_ptr == nullptr) [[unlikely]] { + Log.error("Task", task, "not found"); + return false; + } + else if (type == "back") { + // "A#back" === "A", "B@A#back" === "B@A", "#back" === null + if (pos) { + new_task_list.emplace_back(task.substr(0, pos)); + } + } + ASST_TASKDATA_GENERATE_TASKS(next) + ASST_TASKDATA_GENERATE_TASKS(sub) + ASST_TASKDATA_GENERATE_TASKS(on_error_next) + ASST_TASKDATA_GENERATE_TASKS(exceeded_next) + ASST_TASKDATA_GENERATE_TASKS(reduce_other_times) + else [[unlikely]] + { + Log.error("Unknown type", type, "in", task); + return false; + } #undef ASST_TASKDATA_GENERATE_TASKS - } + } - return true; - }; - if (!generate_tasks(task_list)) [[unlikely]] { - Log.error("Generate task_list", (std::string(name) += "->") += list_type, "failed."); - return false; - } - return true; + return true; + }; + if (!generate_tasks(task_list)) [[unlikely]] { + Log.error("Generate task_list", (std::string(name) += "->") += list_type, "failed."); + return false; + } + return true; }; #define ASST_TASKDATA_GENERATE_SHARP_TASK(type) \ @@ -641,14 +642,14 @@ bool asst::TaskData::syntax_check(const std::string& task_name, const json::valu validity = false; } - // 获取 action + // 获取 action auto action = m_all_tasks_info[task_name]->action; if (action == ProcessTaskAction::Invalid) [[unlikely]] { Log.error(task_name, "has unknown action."); validity = false; } - std::unordered_set allowed_key{}; + std::unordered_set allowed_key {}; if (allowed_key_under_algorithm.contains(algorithm)) { decltype(allowed_key) tmp = allowed_key_under_algorithm.at(algorithm); allowed_key.merge(tmp); diff --git a/src/MeoAssistant/TaskData.h b/src/MeoAssistant/Resource/TaskData.h similarity index 83% rename from src/MeoAssistant/TaskData.h rename to src/MeoAssistant/Resource/TaskData.h index c71f4677f5..944ffe6bf6 100644 --- a/src/MeoAssistant/TaskData.h +++ b/src/MeoAssistant/Resource/TaskData.h @@ -1,21 +1,18 @@ #pragma once -#include "Resource/AbstractConfigWithTempl.h" +#include "AbstractConfigWithTempl.h" #include #include #include -#include "Utils/AsstTypes.h" -#ifdef ASST_DEBUG -#include "Utils/Logger.hpp" -#endif +#include "Common/AsstTypes.h" namespace asst { struct TaskInfo; - class TaskData final: public SingletonHolder, public AbstractConfigWithTempl + class TaskData final : public SingletonHolder, public AbstractConfigWithTempl { private: using tasklist_t = std::vector; @@ -50,25 +47,25 @@ namespace asst if (task_prefix.ends_with('@')) [[unlikely]] { task_prefix.remove_suffix(1); } - if (task_prefix.empty()) [[unlikely]] { - return task_name; - } - if (task_name.empty()) { - return std::string(task_prefix); - } - if (task_name.starts_with('#')) { - return std::string(task_prefix) + task_name; - } - return std::string(task_prefix) + '@' + task_name; + if (task_prefix.empty()) [[unlikely]] { + return task_name; + } + if (task_name.empty()) { + return std::string(task_prefix); + } + if (task_name.starts_with('#')) { + return std::string(task_prefix) + task_name; + } + return std::string(task_prefix) + '@' + task_name; } static tasklist_t append_prefix(const tasklist_t& base_task_list, std::string_view task_prefix_view) { if (task_prefix_view.ends_with('@')) [[unlikely]] { task_prefix_view.remove_suffix(1); } - if (task_prefix_view.empty()) { - return base_task_list; - } + if (task_prefix_view.empty()) { + return base_task_list; + } std::string task_prefix(task_prefix_view); tasklist_t task_list = {}; for (const std::string& base : base_task_list) { @@ -123,8 +120,8 @@ namespace asst return task_info_ptr; } template - requires(!std::same_as, std::string>&& - requires { std::declval>().as_string(); }) + requires(!std::same_as, std::string> && + requires { std::declval>().as_string(); }) static tasklist_t to_string_list(const ListType& other_string_list) { tasklist_t task_list = {}; @@ -149,9 +146,9 @@ namespace asst #endif std::shared_ptr get_raw(std::string_view name) const; template - requires(std::derived_from && - !std::same_as) // Parameter must be a TaskInfo - std::shared_ptr get_raw(std::string_view name) const + requires(std::derived_from && + !std::same_as) // Parameter must be a TaskInfo + std::shared_ptr get_raw(std::string_view name) const { return std::dynamic_pointer_cast(get_raw(name)); } @@ -162,9 +159,9 @@ namespace asst std::shared_ptr get(std::string_view name); template - requires(std::derived_from && - !std::same_as) // Parameter must be a TaskInfo - std::shared_ptr get(std::string_view name) + requires(std::derived_from && + !std::same_as) // Parameter must be a TaskInfo + std::shared_ptr get(std::string_view name) { return std::dynamic_pointer_cast(get(name)); } diff --git a/src/MeoAssistant/Resource/TemplResource.cpp b/src/MeoAssistant/Resource/TemplResource.cpp index a88d13cab5..b0ef0d5aaf 100644 --- a/src/MeoAssistant/Resource/TemplResource.cpp +++ b/src/MeoAssistant/Resource/TemplResource.cpp @@ -4,10 +4,9 @@ #include #include -#include "Utils/NoWarningCV.h" - -#include "Utils/AsstImageIo.hpp" +#include "Utils/ImageIo.hpp" #include "Utils/Logger.hpp" +#include "Utils/NoWarningCV.h" void asst::TemplResource::set_load_required(std::unordered_set required) noexcept { diff --git a/src/MeoAssistant/Resource/TemplResource.h b/src/MeoAssistant/Resource/TemplResource.h index 893a891d82..a781a11132 100644 --- a/src/MeoAssistant/Resource/TemplResource.h +++ b/src/MeoAssistant/Resource/TemplResource.h @@ -1,12 +1,12 @@ #pragma once #include "AbstractResource.h" -#include "Utils/SingletonHolder.hpp" #include #include #include "Utils/NoWarningCVMat.h" +#include "Utils/SingletonHolder.hpp" namespace asst { diff --git a/src/MeoAssistant/RuntimeStatus.cpp b/src/MeoAssistant/Status.cpp similarity index 54% rename from src/MeoAssistant/RuntimeStatus.cpp rename to src/MeoAssistant/Status.cpp index 7bcbe10bda..3ff5e2431b 100644 --- a/src/MeoAssistant/RuntimeStatus.cpp +++ b/src/MeoAssistant/Status.cpp @@ -1,6 +1,6 @@ -#include "RuntimeStatus.h" +#include "Status.h" -std::optional asst::RuntimeStatus::get_number(const std::string& key) const noexcept +std::optional asst::Status::get_number(const std::string& key) const noexcept { if (auto iter = m_number.find(key); iter != m_number.cend()) { return iter->second; @@ -10,17 +10,17 @@ std::optional asst::RuntimeStatus::get_number(const std::string& key) c } } -void asst::RuntimeStatus::set_number(std::string key, int64_t value) +void asst::Status::set_number(std::string key, int64_t value) { m_number.insert_or_assign(std::move(key), value); } -void asst::RuntimeStatus::clear_number() noexcept +void asst::Status::clear_number() noexcept { m_number.clear(); } -std::optional asst::RuntimeStatus::get_rect(const std::string& key) const noexcept +std::optional asst::Status::get_rect(const std::string& key) const noexcept { if (auto iter = m_rect.find(key); iter != m_rect.cend()) { return iter->second; @@ -30,17 +30,17 @@ std::optional asst::RuntimeStatus::get_rect(const std::string& key) } } -void asst::RuntimeStatus::set_rect(std::string key, Rect rect) +void asst::Status::set_rect(std::string key, Rect rect) { m_rect.insert_or_assign(std::move(key), rect); } -void asst::RuntimeStatus::clear_rect() noexcept +void asst::Status::clear_rect() noexcept { m_rect.clear(); } -std::optional asst::RuntimeStatus::get_str(const std::string& key) const noexcept +std::optional asst::Status::get_str(const std::string& key) const noexcept { if (auto iter = m_string.find(key); iter != m_string.cend()) { return iter->second; @@ -50,17 +50,17 @@ std::optional asst::RuntimeStatus::get_str(const std::string& key) } } -void asst::RuntimeStatus::set_str(std::string key, std::string value) +void asst::Status::set_str(std::string key, std::string value) { m_string.insert_or_assign(std::move(key), std::move(value)); } -void asst::RuntimeStatus::clear_str() noexcept +void asst::Status::clear_str() noexcept { m_string.clear(); } -std::optional asst::RuntimeStatus::get_properties(const std::string& key) const noexcept +std::optional asst::Status::get_properties(const std::string& key) const noexcept { if (auto iter = m_properties.find(key); iter != m_properties.cend()) { return iter->second; @@ -70,12 +70,12 @@ std::optional asst::RuntimeStatus::get_properties(const std::string } } -void asst::RuntimeStatus::set_properties(std::string key, std::string value) +void asst::Status::set_properties(std::string key, std::string value) { m_properties.insert_or_assign(std::move(key), std::move(value)); } -void asst::RuntimeStatus::clear_properties() noexcept +void asst::Status::clear_properties() noexcept { m_properties.clear(); } diff --git a/src/MeoAssistant/RuntimeStatus.h b/src/MeoAssistant/Status.h similarity index 84% rename from src/MeoAssistant/RuntimeStatus.h rename to src/MeoAssistant/Status.h index ac5befe66d..4fcca06849 100644 --- a/src/MeoAssistant/RuntimeStatus.h +++ b/src/MeoAssistant/Status.h @@ -5,17 +5,17 @@ #include #include -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" namespace asst { - class RuntimeStatus + class Status { public: - RuntimeStatus() = default; - RuntimeStatus(const RuntimeStatus& rhs) = delete; - RuntimeStatus(RuntimeStatus&& rhs) noexcept = delete; - ~RuntimeStatus() = default; + Status() = default; + Status(const Status& rhs) = delete; + Status(Status&& rhs) noexcept = delete; + ~Status() = default; std::optional get_number(const std::string& key) const noexcept; void set_number(std::string key, int64_t value); @@ -33,8 +33,8 @@ namespace asst void set_properties(std::string key, std::string value); void clear_properties() noexcept; - RuntimeStatus& operator=(const RuntimeStatus& rhs) = delete; - RuntimeStatus& operator=(RuntimeStatus&& rhs) noexcept = delete; + Status& operator=(const Status& rhs) = delete; + Status& operator=(Status&& rhs) noexcept = delete; public: static inline const std::string RoguelikeCharElitePrefix = "RoguelikeElite-"; diff --git a/src/MeoAssistant/Task/Sub/AbstractTask.cpp b/src/MeoAssistant/Task/AbstractTask.cpp similarity index 96% rename from src/MeoAssistant/Task/Sub/AbstractTask.cpp rename to src/MeoAssistant/Task/AbstractTask.cpp index 394b52e207..5295b9908f 100644 --- a/src/MeoAssistant/Task/Sub/AbstractTask.cpp +++ b/src/MeoAssistant/Task/AbstractTask.cpp @@ -9,11 +9,11 @@ #include "Utils/Demangle.hpp" #include "Utils/NoWarningCV.h" -#include "../Plugin/AbstractTaskPlugin.h" +#include "AbstractTaskPlugin.h" #include "Controller.h" #include "ProcessTask.h" #include "Resource/GeneralConfig.h" -#include "Utils/AsstImageIo.hpp" +#include "Utils/ImageIo.hpp" #include "Utils/Logger.hpp" #include "Utils/StringMisc.hpp" @@ -21,8 +21,7 @@ using namespace asst; AbstractTask::AbstractTask(const AsstCallback& callback, void* callback_arg, std::string_view task_chain) : m_callback(callback), m_callback_arg(callback_arg), m_task_chain(task_chain) -{ -} +{} bool asst::AbstractTask::run() { @@ -69,7 +68,7 @@ AbstractTask& asst::AbstractTask::set_ctrler(std::shared_ptr ctrler) return *this; } -AbstractTask& asst::AbstractTask::set_status(std::shared_ptr status) noexcept +AbstractTask& asst::AbstractTask::set_status(std::shared_ptr status) noexcept { m_status = std::move(status); return *this; @@ -114,7 +113,7 @@ json::value asst::AbstractTask::basic_info() const task_name = class_name; } - m_basic_info_cache = json::object{ + m_basic_info_cache = json::object { { "taskchain", std::string(m_task_chain) }, { "taskid", m_task_id }, { "class", class_name }, diff --git a/src/MeoAssistant/Task/Sub/AbstractTask.h b/src/MeoAssistant/Task/AbstractTask.h similarity index 93% rename from src/MeoAssistant/Task/Sub/AbstractTask.h rename to src/MeoAssistant/Task/AbstractTask.h index 845155fe31..76f3c7c8af 100644 --- a/src/MeoAssistant/Task/Sub/AbstractTask.h +++ b/src/MeoAssistant/Task/AbstractTask.h @@ -5,7 +5,7 @@ #include #include -#include "Utils/AsstMsg.h" +#include "Common/AsstMsg.h" namespace cv { @@ -18,7 +18,7 @@ namespace asst using TaskPluginPtr = std::shared_ptr; class Controller; - class RuntimeStatus; + class Status; class TaskData; class AbstractTask @@ -34,7 +34,7 @@ namespace asst virtual AbstractTask& set_exit_flag(bool* exit_flag) noexcept; virtual AbstractTask& set_retry_times(int times) noexcept; virtual AbstractTask& set_ctrler(std::shared_ptr ctrler) noexcept; - virtual AbstractTask& set_status(std::shared_ptr status) noexcept; + virtual AbstractTask& set_status(std::shared_ptr status) noexcept; virtual AbstractTask& set_enable(bool enable) noexcept; virtual AbstractTask& set_ignore_error(bool ignore) noexcept; virtual AbstractTask& set_task_id(int task_id) noexcept; @@ -81,6 +81,6 @@ namespace asst int m_task_id = 0; std::set m_plugins; std::shared_ptr m_ctrler = nullptr; - std::shared_ptr m_status = nullptr; + std::shared_ptr m_status = nullptr; }; } // namespace asst diff --git a/src/MeoAssistant/Task/Plugin/AbstractTaskPlugin.cpp b/src/MeoAssistant/Task/AbstractTaskPlugin.cpp similarity index 100% rename from src/MeoAssistant/Task/Plugin/AbstractTaskPlugin.cpp rename to src/MeoAssistant/Task/AbstractTaskPlugin.cpp diff --git a/src/MeoAssistant/Task/Plugin/AbstractTaskPlugin.h b/src/MeoAssistant/Task/AbstractTaskPlugin.h similarity index 92% rename from src/MeoAssistant/Task/Plugin/AbstractTaskPlugin.h rename to src/MeoAssistant/Task/AbstractTaskPlugin.h index 9199e2833e..4cf42304e5 100644 --- a/src/MeoAssistant/Task/Plugin/AbstractTaskPlugin.h +++ b/src/MeoAssistant/Task/AbstractTaskPlugin.h @@ -2,8 +2,8 @@ #include -#include "../Sub/AbstractTask.h" -#include "Utils/AsstMsg.h" +#include "AbstractTask.h" +#include "Common/AsstMsg.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/DrGrandetTaskPlugin.cpp b/src/MeoAssistant/Task/Fight/DrGrandetTaskPlugin.cpp similarity index 96% rename from src/MeoAssistant/Task/Plugin/DrGrandetTaskPlugin.cpp rename to src/MeoAssistant/Task/Fight/DrGrandetTaskPlugin.cpp index bde046d3f5..f6b5b585d7 100644 --- a/src/MeoAssistant/Task/Plugin/DrGrandetTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Fight/DrGrandetTaskPlugin.cpp @@ -1,8 +1,8 @@ #include "DrGrandetTaskPlugin.h" #include "Controller.h" -#include "ImageAnalyzer/General/OcrImageAnalyzer.h" -#include "TaskData.h" +#include "ImageAnalyzer/OcrImageAnalyzer.h" +#include "Resource/TaskData.h" #include "Utils/Logger.hpp" #include diff --git a/src/MeoAssistant/Task/Plugin/DrGrandetTaskPlugin.h b/src/MeoAssistant/Task/Fight/DrGrandetTaskPlugin.h similarity index 95% rename from src/MeoAssistant/Task/Plugin/DrGrandetTaskPlugin.h rename to src/MeoAssistant/Task/Fight/DrGrandetTaskPlugin.h index acebcc1d86..3ae661bed7 100644 --- a/src/MeoAssistant/Task/Plugin/DrGrandetTaskPlugin.h +++ b/src/MeoAssistant/Task/Fight/DrGrandetTaskPlugin.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractTaskPlugin.h" +#include "Task/AbstractTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/StageDropsTaskPlugin.cpp b/src/MeoAssistant/Task/Fight/StageDropsTaskPlugin.cpp similarity index 96% rename from src/MeoAssistant/Task/Plugin/StageDropsTaskPlugin.cpp rename to src/MeoAssistant/Task/Fight/StageDropsTaskPlugin.cpp index 2c65df2a6e..68f125bccb 100644 --- a/src/MeoAssistant/Task/Plugin/StageDropsTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Fight/StageDropsTaskPlugin.cpp @@ -4,16 +4,16 @@ #include #include -#include "../Sub/ProcessTask.h" -#include "../Sub/ReportDataTask.h" +#include "Common/AsstVersion.h" #include "Controller.h" -#include "ImageAnalyzer/StageDropsImageAnalyzer.h" -#include "Resource/ItemConfig.h" -#include "Resource/StageDropsConfig.h" -#include "RuntimeStatus.h" -#include "TaskData.h" +#include "ImageAnalyzer/Roguelike/StageDropsImageAnalyzer.h" +#include "Resource/Miscellaneous/ItemConfig.h" +#include "Resource/Miscellaneous/StageDropsConfig.h" +#include "Resource/TaskData.h" +#include "Status.h" +#include "Task/ProcessTask.h" +#include "Task/ReportDataTask.h" #include "Utils/Logger.hpp" -#include "Utils/Version.h" bool asst::StageDropsTaskPlugin::verify(AsstMsg msg, const json::value& details) const { @@ -220,7 +220,7 @@ void asst::StageDropsTaskPlugin::upload_to_penguin() std::string stage_id = m_cur_info_json.get("stage", "stageId", std::string()); if (stage_id.empty()) { cb_info["why"] = "未知关卡"; - cb_info["details"] = json::object{ { "stage_code", m_stage_code } }; + cb_info["details"] = json::object { { "stage_code", m_stage_code } }; callback(AsstMsg::SubTaskError, cb_info); return; } diff --git a/src/MeoAssistant/Task/Plugin/StageDropsTaskPlugin.h b/src/MeoAssistant/Task/Fight/StageDropsTaskPlugin.h similarity index 86% rename from src/MeoAssistant/Task/Plugin/StageDropsTaskPlugin.h rename to src/MeoAssistant/Task/Fight/StageDropsTaskPlugin.h index f4632abe18..8200fb6545 100644 --- a/src/MeoAssistant/Task/Plugin/StageDropsTaskPlugin.h +++ b/src/MeoAssistant/Task/Fight/StageDropsTaskPlugin.h @@ -1,20 +1,20 @@ #pragma once -#include "AbstractTaskPlugin.h" +#include "Task/AbstractTaskPlugin.h" #include #include #include -#include "Resource/StageDropsConfig.h" -#include "RuntimeStatus.h" +#include "Resource/Miscellaneous/StageDropsConfig.h" +#include "Status.h" namespace asst { class ProcessTask; class ReportDataTask; - class StageDropsTaskPlugin final: public AbstractTaskPlugin + class StageDropsTaskPlugin final : public AbstractTaskPlugin { public: using AbstractTaskPlugin::AbstractTaskPlugin; @@ -41,8 +41,7 @@ namespace asst static void report_penguin_callback(AsstMsg msg, const json::value& detail, void* custom_arg); static inline constexpr int64_t RecognitionTimeOffset = 20; - static inline const std::string LastStartTimeKey = - RuntimeStatus::ProcessTaskLastTimePrefix + "Fight@StartButton2"; + static inline const std::string LastStartTimeKey = Status::ProcessTaskLastTimePrefix + "Fight@StartButton2"; static inline const std::string RecognitionRestrictionsKey = "StageDropsTaskPluginRestrictions"; std::string m_stage_code; diff --git a/src/MeoAssistant/Task/Sub/StageNavigationTask.cpp b/src/MeoAssistant/Task/Fight/StageNavigationTask.cpp similarity index 93% rename from src/MeoAssistant/Task/Sub/StageNavigationTask.cpp rename to src/MeoAssistant/Task/Fight/StageNavigationTask.cpp index 731b16ddf0..d18aabea03 100644 --- a/src/MeoAssistant/Task/Sub/StageNavigationTask.cpp +++ b/src/MeoAssistant/Task/Fight/StageNavigationTask.cpp @@ -3,9 +3,9 @@ #include #include "Controller.h" -#include "ImageAnalyzer/General/OcrImageAnalyzer.h" -#include "ProcessTask.h" -#include "TaskData.h" +#include "ImageAnalyzer/OcrImageAnalyzer.h" +#include "Resource/TaskData.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" void asst::StageNavigationTask::set_stage_name(std::string stage_name) diff --git a/src/MeoAssistant/Task/Sub/StageNavigationTask.h b/src/MeoAssistant/Task/Fight/StageNavigationTask.h similarity index 93% rename from src/MeoAssistant/Task/Sub/StageNavigationTask.h rename to src/MeoAssistant/Task/Fight/StageNavigationTask.h index eaaffaedb3..d318d83477 100644 --- a/src/MeoAssistant/Task/Sub/StageNavigationTask.h +++ b/src/MeoAssistant/Task/Fight/StageNavigationTask.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractTask.h" +#include "Task/AbstractTask.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/DronesForShamareTaskPlugin.cpp b/src/MeoAssistant/Task/Infrast/DronesForShamareTaskPlugin.cpp similarity index 94% rename from src/MeoAssistant/Task/Plugin/DronesForShamareTaskPlugin.cpp rename to src/MeoAssistant/Task/Infrast/DronesForShamareTaskPlugin.cpp index 4cfdfa8cce..b359a3c39d 100644 --- a/src/MeoAssistant/Task/Plugin/DronesForShamareTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Infrast/DronesForShamareTaskPlugin.cpp @@ -1,7 +1,7 @@ #include "DronesForShamareTaskPlugin.h" -#include "../Sub/InfrastProductionTask.h" -#include "../Sub/ProcessTask.h" +#include "InfrastProductionTask.h" +#include "Task/ProcessTask.h" bool asst::DronesForShamareTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MeoAssistant/Task/Plugin/DronesForShamareTaskPlugin.h b/src/MeoAssistant/Task/Infrast/DronesForShamareTaskPlugin.h similarity index 94% rename from src/MeoAssistant/Task/Plugin/DronesForShamareTaskPlugin.h rename to src/MeoAssistant/Task/Infrast/DronesForShamareTaskPlugin.h index a684f16024..14a53fced2 100644 --- a/src/MeoAssistant/Task/Plugin/DronesForShamareTaskPlugin.h +++ b/src/MeoAssistant/Task/Infrast/DronesForShamareTaskPlugin.h @@ -1,6 +1,6 @@ #pragma once -#include "AbstractTaskPlugin.h" +#include "Task/AbstractTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/Sub/InfrastAbstractTask.cpp b/src/MeoAssistant/Task/Infrast/InfrastAbstractTask.cpp similarity index 97% rename from src/MeoAssistant/Task/Sub/InfrastAbstractTask.cpp rename to src/MeoAssistant/Task/Infrast/InfrastAbstractTask.cpp index 412a573e9d..be20163739 100644 --- a/src/MeoAssistant/Task/Sub/InfrastAbstractTask.cpp +++ b/src/MeoAssistant/Task/Infrast/InfrastAbstractTask.cpp @@ -4,17 +4,17 @@ #include #include +#include "Common/AsstMsg.h" #include "Controller.h" -#include "ImageAnalyzer/General/MatchImageAnalyzer.h" -#include "ImageAnalyzer/General/OcrImageAnalyzer.h" -#include "ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.h" -#include "ImageAnalyzer/InfrastFacilityImageAnalyzer.h" -#include "ImageAnalyzer/InfrastOperImageAnalyzer.h" -#include "ProcessTask.h" -#include "TaskData.h" -#include "Utils/AsstMsg.h" -#include "Utils/AsstRanges.hpp" +#include "ImageAnalyzer/Infrast/InfrastFacilityImageAnalyzer.h" +#include "ImageAnalyzer/Infrast/InfrastOperImageAnalyzer.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/OcrImageAnalyzer.h" +#include "ImageAnalyzer/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/TaskData.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" +#include "Utils/Ranges.hpp" asst::InfrastAbstractTask::InfrastAbstractTask(const AsstCallback& callback, void* callback_arg, std::string_view task_chain) diff --git a/src/MeoAssistant/Task/Sub/InfrastAbstractTask.h b/src/MeoAssistant/Task/Infrast/InfrastAbstractTask.h similarity index 96% rename from src/MeoAssistant/Task/Sub/InfrastAbstractTask.h rename to src/MeoAssistant/Task/Infrast/InfrastAbstractTask.h index 45be1f009f..a5fdf47cfe 100644 --- a/src/MeoAssistant/Task/Sub/InfrastAbstractTask.h +++ b/src/MeoAssistant/Task/Infrast/InfrastAbstractTask.h @@ -1,7 +1,7 @@ #pragma once -#include "AbstractTask.h" -#include "Utils/AsstInfrastDef.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstInfrastDef.h" +#include "Common/AsstTypes.h" +#include "Task/AbstractTask.h" namespace asst { diff --git a/src/MeoAssistant/Task/Sub/InfrastControlTask.cpp b/src/MeoAssistant/Task/Infrast/InfrastControlTask.cpp similarity index 100% rename from src/MeoAssistant/Task/Sub/InfrastControlTask.cpp rename to src/MeoAssistant/Task/Infrast/InfrastControlTask.cpp diff --git a/src/MeoAssistant/Task/Sub/InfrastControlTask.h b/src/MeoAssistant/Task/Infrast/InfrastControlTask.h similarity index 100% rename from src/MeoAssistant/Task/Sub/InfrastControlTask.h rename to src/MeoAssistant/Task/Infrast/InfrastControlTask.h diff --git a/src/MeoAssistant/Task/Sub/InfrastDormTask.cpp b/src/MeoAssistant/Task/Infrast/InfrastDormTask.cpp similarity index 97% rename from src/MeoAssistant/Task/Sub/InfrastDormTask.cpp rename to src/MeoAssistant/Task/Infrast/InfrastDormTask.cpp index f14ec24853..7611b6b286 100644 --- a/src/MeoAssistant/Task/Sub/InfrastDormTask.cpp +++ b/src/MeoAssistant/Task/Infrast/InfrastDormTask.cpp @@ -3,12 +3,12 @@ #include #include "Controller.h" -#include "ImageAnalyzer/General/MatchImageAnalyzer.h" -#include "ImageAnalyzer/General/OcrImageAnalyzer.h" -#include "ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.h" -#include "ImageAnalyzer/InfrastOperImageAnalyzer.h" -#include "ProcessTask.h" -#include "TaskData.h" +#include "ImageAnalyzer/Infrast/InfrastOperImageAnalyzer.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/OcrImageAnalyzer.h" +#include "ImageAnalyzer/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/TaskData.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" asst::InfrastDormTask& asst::InfrastDormTask::set_notstationed_enabled(bool dorm_notstationed_enabled) noexcept diff --git a/src/MeoAssistant/Task/Sub/InfrastDormTask.h b/src/MeoAssistant/Task/Infrast/InfrastDormTask.h similarity index 100% rename from src/MeoAssistant/Task/Sub/InfrastDormTask.h rename to src/MeoAssistant/Task/Infrast/InfrastDormTask.h diff --git a/src/MeoAssistant/Task/Sub/InfrastInfoTask.cpp b/src/MeoAssistant/Task/Infrast/InfrastInfoTask.cpp similarity index 88% rename from src/MeoAssistant/Task/Sub/InfrastInfoTask.cpp rename to src/MeoAssistant/Task/Infrast/InfrastInfoTask.cpp index 6a45dd8abf..e40868f8bd 100644 --- a/src/MeoAssistant/Task/Sub/InfrastInfoTask.cpp +++ b/src/MeoAssistant/Task/Infrast/InfrastInfoTask.cpp @@ -1,8 +1,8 @@ #include "InfrastInfoTask.h" #include "Controller.h" -#include "ImageAnalyzer/InfrastFacilityImageAnalyzer.h" -#include "RuntimeStatus.h" +#include "ImageAnalyzer/Infrast/InfrastFacilityImageAnalyzer.h" +#include "Status.h" #include "Utils/Logger.hpp" bool asst::InfrastInfoTask::_run() diff --git a/src/MeoAssistant/Task/Sub/InfrastInfoTask.h b/src/MeoAssistant/Task/Infrast/InfrastInfoTask.h similarity index 100% rename from src/MeoAssistant/Task/Sub/InfrastInfoTask.h rename to src/MeoAssistant/Task/Infrast/InfrastInfoTask.h diff --git a/src/MeoAssistant/Task/Sub/InfrastMfgTask.cpp b/src/MeoAssistant/Task/Infrast/InfrastMfgTask.cpp similarity index 84% rename from src/MeoAssistant/Task/Sub/InfrastMfgTask.cpp rename to src/MeoAssistant/Task/Infrast/InfrastMfgTask.cpp index 611f91ba18..ec83041b5f 100644 --- a/src/MeoAssistant/Task/Sub/InfrastMfgTask.cpp +++ b/src/MeoAssistant/Task/Infrast/InfrastMfgTask.cpp @@ -1,7 +1,7 @@ #include "InfrastMfgTask.h" #include "Controller.h" -#include "ImageAnalyzer/General/MatchImageAnalyzer.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" bool asst::InfrastMfgTask::_run() { diff --git a/src/MeoAssistant/Task/Sub/InfrastMfgTask.h b/src/MeoAssistant/Task/Infrast/InfrastMfgTask.h similarity index 100% rename from src/MeoAssistant/Task/Sub/InfrastMfgTask.h rename to src/MeoAssistant/Task/Infrast/InfrastMfgTask.h diff --git a/src/MeoAssistant/Task/Sub/InfrastOfficeTask.cpp b/src/MeoAssistant/Task/Infrast/InfrastOfficeTask.cpp similarity index 97% rename from src/MeoAssistant/Task/Sub/InfrastOfficeTask.cpp rename to src/MeoAssistant/Task/Infrast/InfrastOfficeTask.cpp index f56a1f77f3..5636121b4f 100644 --- a/src/MeoAssistant/Task/Sub/InfrastOfficeTask.cpp +++ b/src/MeoAssistant/Task/Infrast/InfrastOfficeTask.cpp @@ -1,8 +1,8 @@ #include "InfrastOfficeTask.h" #include "Controller.h" -#include "Utils/AsstRanges.hpp" #include "Utils/Logger.hpp" +#include "Utils/Ranges.hpp" bool asst::InfrastOfficeTask::_run() { @@ -48,4 +48,4 @@ bool asst::InfrastOfficeTask::_run() click_return_button(); return true; -} \ No newline at end of file +} diff --git a/src/MeoAssistant/Task/Sub/InfrastOfficeTask.h b/src/MeoAssistant/Task/Infrast/InfrastOfficeTask.h similarity index 100% rename from src/MeoAssistant/Task/Sub/InfrastOfficeTask.h rename to src/MeoAssistant/Task/Infrast/InfrastOfficeTask.h diff --git a/src/MeoAssistant/Task/Sub/InfrastPowerTask.cpp b/src/MeoAssistant/Task/Infrast/InfrastPowerTask.cpp similarity index 98% rename from src/MeoAssistant/Task/Sub/InfrastPowerTask.cpp rename to src/MeoAssistant/Task/Infrast/InfrastPowerTask.cpp index 1733e9925c..d49a1ca192 100644 --- a/src/MeoAssistant/Task/Sub/InfrastPowerTask.cpp +++ b/src/MeoAssistant/Task/Infrast/InfrastPowerTask.cpp @@ -1,8 +1,8 @@ #include "InfrastPowerTask.h" #include "Controller.h" -#include "Utils/AsstRanges.hpp" #include "Utils/Logger.hpp" +#include "Utils/Ranges.hpp" bool asst::InfrastPowerTask::_run() { diff --git a/src/MeoAssistant/Task/Sub/InfrastPowerTask.h b/src/MeoAssistant/Task/Infrast/InfrastPowerTask.h similarity index 100% rename from src/MeoAssistant/Task/Sub/InfrastPowerTask.h rename to src/MeoAssistant/Task/Infrast/InfrastPowerTask.h diff --git a/src/MeoAssistant/Task/Sub/InfrastProductionTask.cpp b/src/MeoAssistant/Task/Infrast/InfrastProductionTask.cpp similarity index 80% rename from src/MeoAssistant/Task/Sub/InfrastProductionTask.cpp rename to src/MeoAssistant/Task/Infrast/InfrastProductionTask.cpp index 6ba3036dac..b972413386 100644 --- a/src/MeoAssistant/Task/Sub/InfrastProductionTask.cpp +++ b/src/MeoAssistant/Task/Infrast/InfrastProductionTask.cpp @@ -1,20 +1,20 @@ #include "InfrastProductionTask.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include #include #include "Controller.h" -#include "ImageAnalyzer/General/HashImageAnalyzer.h" -#include "ImageAnalyzer/General/MatchImageAnalyzer.h" -#include "ImageAnalyzer/General/MultiMatchImageAnalyzer.h" -#include "ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.h" -#include "ImageAnalyzer/InfrastOperImageAnalyzer.h" -#include "ProcessTask.h" -#include "Resource/InfrastConfig.h" -#include "RuntimeStatus.h" -#include "TaskData.h" +#include "ImageAnalyzer/HashImageAnalyzer.h" +#include "ImageAnalyzer/Infrast/InfrastOperImageAnalyzer.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/MultiMatchImageAnalyzer.h" +#include "ImageAnalyzer/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/Miscellaneous/InfrastConfig.h" +#include "Resource/TaskData.h" +#include "Status.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" asst::InfrastProductionTask& asst::InfrastProductionTask::set_uses_of_drone(std::string uses_of_drones) noexcept @@ -278,10 +278,10 @@ size_t asst::InfrastProductionTask::opers_detect() if (oper.skills != cur_oper.skills) { return false; } - // 有可能是同一个干员,比一下hash - int dist = HashImageAnalyzer::hamming(cur_oper.face_hash, oper.face_hash); - Log.debug("opers_detect hash dist |", dist); - return dist < face_hash_thres; + // 有可能是同一个干员,比一下hash + int dist = HashImageAnalyzer::hamming(cur_oper.face_hash, oper.face_hash); + Log.debug("opers_detect hash dist |", dist); + return dist < face_hash_thres; }); // 如果两个的hash距离过小,则认为是同一个干员,不进行插入 if (find_iter != m_all_available_opers.cend()) { @@ -557,77 +557,77 @@ bool asst::InfrastProductionTask::opers_choose() Log.trace("before mood filter, opers size:", cur_all_opers.size()); // 小于心情阈值的干员则不可用 auto remove_iter = ranges::remove_if(cur_all_opers, [&](const infrast::Oper& rhs) -> bool { - return rhs.mood_ratio < m_mood_threshold; + return rhs.mood_ratio < m_mood_threshold; }).begin(); - cur_all_opers.erase(remove_iter, cur_all_opers.end()); - Log.trace("after mood filter, opers size:", cur_all_opers.size()); - for (auto opt_iter = m_optimal_combs.begin(); opt_iter != m_optimal_combs.end();) { - Log.trace("to find", opt_iter->skills.begin()->names.front()); - auto find_iter = ranges::find_if(cur_all_opers, [&](const infrast::Oper& lhs) -> bool { - if (lhs.skills != opt_iter->skills) { - return false; - } - if (opt_iter->name_filter.empty()) { - return true; - } - else { - OcrWithPreprocessImageAnalyzer name_analyzer(lhs.name_img); - name_analyzer.set_replace(Task.get("CharsNameOcrReplace")->replace_map); - Log.trace("Analyze name filter"); - if (!name_analyzer.analyze()) { - return false; - } - std::string name = name_analyzer.get_result().front().text; - return ranges::find(std::as_const(opt_iter->name_filter), name) != opt_iter->name_filter.cend(); - } - }); + cur_all_opers.erase(remove_iter, cur_all_opers.end()); + Log.trace("after mood filter, opers size:", cur_all_opers.size()); + for (auto opt_iter = m_optimal_combs.begin(); opt_iter != m_optimal_combs.end();) { + Log.trace("to find", opt_iter->skills.begin()->names.front()); + auto find_iter = ranges::find_if(cur_all_opers, [&](const infrast::Oper& lhs) -> bool { + if (lhs.skills != opt_iter->skills) { + return false; + } + if (opt_iter->name_filter.empty()) { + return true; + } + else { + OcrWithPreprocessImageAnalyzer name_analyzer(lhs.name_img); + name_analyzer.set_replace(Task.get("CharsNameOcrReplace")->replace_map); + Log.trace("Analyze name filter"); + if (!name_analyzer.analyze()) { + return false; + } + std::string name = name_analyzer.get_result().front().text; + return ranges::find(std::as_const(opt_iter->name_filter), name) != opt_iter->name_filter.cend(); + } + }); - if (find_iter == cur_all_opers.cend()) { - ++opt_iter; - Log.trace("not found in this page"); - continue; - } - Log.trace("found in this page"); - // 这种情况可能是需要选择两个同样的技能,上一次循环选了一个,但是没有把滑出当前页面,本次又识别到了这个已选择的人 - if (find_iter->selected == true) { - if (cur_max_num_of_opers != 1) { - cur_all_opers.erase(find_iter); - Log.trace("skill matched, but it's selected, pass"); - continue; - } - // 但是如果当前设施只有一个位置,即不存在“上次循环”的情况,说明是清除干员按钮没点到 - } - else { - m_ctrler->click(find_iter->rect); - } - { - auto avlb_iter = ranges::find_if(m_all_available_opers, [&](const infrast::Oper& lhs) -> bool { - int dist = HashImageAnalyzer::hamming(lhs.face_hash, find_iter->face_hash); - Log.debug("opers_choose | face hash dist", dist); - return dist < face_hash_thres; - }); - if (avlb_iter != m_all_available_opers.cend()) { - m_all_available_opers.erase(avlb_iter); - } - else { - Log.error("opers_choose | not found oper"); - } - } - ++count; - cur_all_opers.erase(find_iter); - opt_iter = m_optimal_combs.erase(opt_iter); - } - if (m_optimal_combs.empty()) { - Log.trace(__FUNCTION__, "| count", count, "cur_max_num_of_opers", cur_max_num_of_opers); - if (count < cur_max_num_of_opers) { - // 这种情况可能是萌新,可用干员人数不足以填满当前设施 - callback(AsstMsg::SubTaskExtraInfo, basic_info_with_what("NotEnoughStaff")); - } - break; - } + if (find_iter == cur_all_opers.cend()) { + ++opt_iter; + Log.trace("not found in this page"); + continue; + } + Log.trace("found in this page"); + // 这种情况可能是需要选择两个同样的技能,上一次循环选了一个,但是没有把滑出当前页面,本次又识别到了这个已选择的人 + if (find_iter->selected == true) { + if (cur_max_num_of_opers != 1) { + cur_all_opers.erase(find_iter); + Log.trace("skill matched, but it's selected, pass"); + continue; + } + // 但是如果当前设施只有一个位置,即不存在“上次循环”的情况,说明是清除干员按钮没点到 + } + else { + m_ctrler->click(find_iter->rect); + } + { + auto avlb_iter = ranges::find_if(m_all_available_opers, [&](const infrast::Oper& lhs) -> bool { + int dist = HashImageAnalyzer::hamming(lhs.face_hash, find_iter->face_hash); + Log.debug("opers_choose | face hash dist", dist); + return dist < face_hash_thres; + }); + if (avlb_iter != m_all_available_opers.cend()) { + m_all_available_opers.erase(avlb_iter); + } + else { + Log.error("opers_choose | not found oper"); + } + } + ++count; + cur_all_opers.erase(find_iter); + opt_iter = m_optimal_combs.erase(opt_iter); + } + if (m_optimal_combs.empty()) { + Log.trace(__FUNCTION__, "| count", count, "cur_max_num_of_opers", cur_max_num_of_opers); + if (count < cur_max_num_of_opers) { + // 这种情况可能是萌新,可用干员人数不足以填满当前设施 + callback(AsstMsg::SubTaskExtraInfo, basic_info_with_what("NotEnoughStaff")); + } + break; + } - // 因为识别完了还要点击,所以这里不能异步滑动 - swipe_of_operlist(); + // 因为识别完了还要点击,所以这里不能异步滑动 + swipe_of_operlist(); } return true; diff --git a/src/MeoAssistant/Task/Sub/InfrastProductionTask.h b/src/MeoAssistant/Task/Infrast/InfrastProductionTask.h similarity index 97% rename from src/MeoAssistant/Task/Sub/InfrastProductionTask.h rename to src/MeoAssistant/Task/Infrast/InfrastProductionTask.h index f5524764f0..c5ecac9b1a 100644 --- a/src/MeoAssistant/Task/Sub/InfrastProductionTask.h +++ b/src/MeoAssistant/Task/Infrast/InfrastProductionTask.h @@ -2,7 +2,7 @@ #include "InfrastAbstractTask.h" -#include "Utils/AsstInfrastDef.h" +#include "Common/AsstInfrastDef.h" namespace asst { diff --git a/src/MeoAssistant/Task/Sub/InfrastReceptionTask.cpp b/src/MeoAssistant/Task/Infrast/InfrastReceptionTask.cpp similarity index 95% rename from src/MeoAssistant/Task/Sub/InfrastReceptionTask.cpp rename to src/MeoAssistant/Task/Infrast/InfrastReceptionTask.cpp index e02fd3c5fb..ed240bf98e 100644 --- a/src/MeoAssistant/Task/Sub/InfrastReceptionTask.cpp +++ b/src/MeoAssistant/Task/Infrast/InfrastReceptionTask.cpp @@ -1,13 +1,13 @@ #include "InfrastReceptionTask.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include "Controller.h" -#include "ImageAnalyzer/General/MatchImageAnalyzer.h" -#include "ImageAnalyzer/InfrastClueImageAnalyzer.h" -#include "ImageAnalyzer/InfrastClueVacancyImageAnalyzer.h" -#include "ProcessTask.h" -#include "TaskData.h" +#include "ImageAnalyzer/Infrast/InfrastClueImageAnalyzer.h" +#include "ImageAnalyzer/Infrast/InfrastClueVacancyImageAnalyzer.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "Resource/TaskData.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" bool asst::InfrastReceptionTask::_run() diff --git a/src/MeoAssistant/Task/Sub/InfrastReceptionTask.h b/src/MeoAssistant/Task/Infrast/InfrastReceptionTask.h similarity index 100% rename from src/MeoAssistant/Task/Sub/InfrastReceptionTask.h rename to src/MeoAssistant/Task/Infrast/InfrastReceptionTask.h diff --git a/src/MeoAssistant/Task/Sub/InfrastTradeTask.cpp b/src/MeoAssistant/Task/Infrast/InfrastTradeTask.cpp similarity index 100% rename from src/MeoAssistant/Task/Sub/InfrastTradeTask.cpp rename to src/MeoAssistant/Task/Infrast/InfrastTradeTask.cpp diff --git a/src/MeoAssistant/Task/Sub/InfrastTradeTask.h b/src/MeoAssistant/Task/Infrast/InfrastTradeTask.h similarity index 100% rename from src/MeoAssistant/Task/Sub/InfrastTradeTask.h rename to src/MeoAssistant/Task/Infrast/InfrastTradeTask.h diff --git a/src/MeoAssistant/Task/Plugin/ReplenishOriginiumShardTaskPlugin.cpp b/src/MeoAssistant/Task/Infrast/ReplenishOriginiumShardTaskPlugin.cpp similarity index 95% rename from src/MeoAssistant/Task/Plugin/ReplenishOriginiumShardTaskPlugin.cpp rename to src/MeoAssistant/Task/Infrast/ReplenishOriginiumShardTaskPlugin.cpp index 6917cc520c..bb7b9527ff 100644 --- a/src/MeoAssistant/Task/Plugin/ReplenishOriginiumShardTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Infrast/ReplenishOriginiumShardTaskPlugin.cpp @@ -1,6 +1,6 @@ #include "ReplenishOriginiumShardTaskPlugin.h" -#include "../Sub/ProcessTask.h" +#include "Task/ProcessTask.h" bool asst::ReplenishOriginiumShardTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MeoAssistant/Task/Plugin/ReplenishOriginiumShardTaskPlugin.h b/src/MeoAssistant/Task/Infrast/ReplenishOriginiumShardTaskPlugin.h similarity index 92% rename from src/MeoAssistant/Task/Plugin/ReplenishOriginiumShardTaskPlugin.h rename to src/MeoAssistant/Task/Infrast/ReplenishOriginiumShardTaskPlugin.h index 499af22974..b126fd4588 100644 --- a/src/MeoAssistant/Task/Plugin/ReplenishOriginiumShardTaskPlugin.h +++ b/src/MeoAssistant/Task/Infrast/ReplenishOriginiumShardTaskPlugin.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractTaskPlugin.h" +#include "Task/AbstractTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/AwardTask.cpp b/src/MeoAssistant/Task/Interface/AwardTask.cpp similarity index 90% rename from src/MeoAssistant/Task/AwardTask.cpp rename to src/MeoAssistant/Task/Interface/AwardTask.cpp index 14671cbc63..4f7e5e9120 100644 --- a/src/MeoAssistant/Task/AwardTask.cpp +++ b/src/MeoAssistant/Task/Interface/AwardTask.cpp @@ -2,7 +2,7 @@ #include -#include "Sub/ProcessTask.h" +#include "Task/ProcessTask.h" asst::AwardTask::AwardTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType) diff --git a/src/MeoAssistant/Task/AwardTask.h b/src/MeoAssistant/Task/Interface/AwardTask.h similarity index 90% rename from src/MeoAssistant/Task/AwardTask.h rename to src/MeoAssistant/Task/Interface/AwardTask.h index 9d2491827f..f35ea9e962 100644 --- a/src/MeoAssistant/Task/AwardTask.h +++ b/src/MeoAssistant/Task/Interface/AwardTask.h @@ -1,5 +1,5 @@ #pragma once -#include "InterfaceTask.h" +#include "Task/InterfaceTask.h" namespace asst { diff --git a/src/MeoAssistant/Task/CloseDownTask.cpp b/src/MeoAssistant/Task/Interface/CloseDownTask.cpp similarity index 78% rename from src/MeoAssistant/Task/CloseDownTask.cpp rename to src/MeoAssistant/Task/Interface/CloseDownTask.cpp index 2c75cfd22c..5752686396 100644 --- a/src/MeoAssistant/Task/CloseDownTask.cpp +++ b/src/MeoAssistant/Task/Interface/CloseDownTask.cpp @@ -2,8 +2,8 @@ #include -#include "Plugin/StopGameTaskPlugin.h" -#include "Sub/ProcessTask.h" +#include "Task/Miscellaneous/StopGameTaskPlugin.h" +#include "Task/ProcessTask.h" asst::CloseDownTask::CloseDownTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType) diff --git a/src/MeoAssistant/Task/CloseDownTask.h b/src/MeoAssistant/Task/Interface/CloseDownTask.h similarity index 90% rename from src/MeoAssistant/Task/CloseDownTask.h rename to src/MeoAssistant/Task/Interface/CloseDownTask.h index f5e1c656bb..47eeaeed7e 100644 --- a/src/MeoAssistant/Task/CloseDownTask.h +++ b/src/MeoAssistant/Task/Interface/CloseDownTask.h @@ -1,5 +1,5 @@ #pragma once -#include "InterfaceTask.h" +#include "Task/InterfaceTask.h" namespace asst { diff --git a/src/MeoAssistant/Task/CopilotTask.cpp b/src/MeoAssistant/Task/Interface/CopilotTask.cpp similarity index 81% rename from src/MeoAssistant/Task/CopilotTask.cpp rename to src/MeoAssistant/Task/Interface/CopilotTask.cpp index 7db7d4a912..004a10496f 100644 --- a/src/MeoAssistant/Task/CopilotTask.cpp +++ b/src/MeoAssistant/Task/Interface/CopilotTask.cpp @@ -1,16 +1,16 @@ #include "CopilotTask.h" -#include "Resource/CopilotConfig.h" -#include "Sub/BattleFormationTask.h" -#include "Sub/BattleProcessTask.h" -#include "Sub/ProcessTask.h" +#include "Resource/Miscellaneous/CopilotConfig.h" +#include "Task/Miscellaneous/BattleFormationTask.h" +#include "Task/Miscellaneous/BattleProcessTask.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" #include "Utils/Platform.hpp" asst::CopilotTask::CopilotTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType), - m_formation_task_ptr(std::make_shared(callback, callback_arg, TaskType)), - m_battle_task_ptr(std::make_shared(callback, callback_arg, TaskType)) + m_formation_task_ptr(std::make_shared(callback, callback_arg, TaskType)), + m_battle_task_ptr(std::make_shared(callback, callback_arg, TaskType)) { auto start_1_tp = std::make_shared(callback, callback_arg, TaskType); start_1_tp->set_tasks({ "BattleStartPre" }).set_retry_times(0).set_ignore_error(true); diff --git a/src/MeoAssistant/Task/CopilotTask.h b/src/MeoAssistant/Task/Interface/CopilotTask.h similarity index 95% rename from src/MeoAssistant/Task/CopilotTask.h rename to src/MeoAssistant/Task/Interface/CopilotTask.h index da79758a93..47d7c8de3b 100644 --- a/src/MeoAssistant/Task/CopilotTask.h +++ b/src/MeoAssistant/Task/Interface/CopilotTask.h @@ -1,5 +1,5 @@ #pragma once -#include "InterfaceTask.h" +#include "Task/InterfaceTask.h" #include diff --git a/src/MeoAssistant/Task/DebugTask.cpp b/src/MeoAssistant/Task/Interface/DebugTask.cpp similarity index 88% rename from src/MeoAssistant/Task/DebugTask.cpp rename to src/MeoAssistant/Task/Interface/DebugTask.cpp index 45619f42cf..2ac5cb414d 100644 --- a/src/MeoAssistant/Task/DebugTask.cpp +++ b/src/MeoAssistant/Task/Interface/DebugTask.cpp @@ -6,9 +6,9 @@ // #include "Plugin/RoguelikeSkillSelectionTaskPlugin.h" -#include "ImageAnalyzer/DepotImageAnalyzer.h" -#include "ImageAnalyzer/StageDropsImageAnalyzer.h" -#include "Utils/AsstImageIo.hpp" +#include "ImageAnalyzer/Miscellaneous/DepotImageAnalyzer.h" +#include "ImageAnalyzer/Roguelike/StageDropsImageAnalyzer.h" +#include "Utils/ImageIo.hpp" #include "Utils/Logger.hpp" asst::DebugTask::DebugTask(const AsstCallback& callback, void* callback_arg) diff --git a/src/MeoAssistant/Task/DebugTask.h b/src/MeoAssistant/Task/Interface/DebugTask.h similarity index 91% rename from src/MeoAssistant/Task/DebugTask.h rename to src/MeoAssistant/Task/Interface/DebugTask.h index 8697c316fb..9f9d8918bc 100644 --- a/src/MeoAssistant/Task/DebugTask.h +++ b/src/MeoAssistant/Task/Interface/DebugTask.h @@ -1,5 +1,5 @@ #pragma once -#include "InterfaceTask.h" +#include "Task/InterfaceTask.h" namespace asst { diff --git a/src/MeoAssistant/Task/DepotTask.cpp b/src/MeoAssistant/Task/Interface/DepotTask.cpp similarity index 86% rename from src/MeoAssistant/Task/DepotTask.cpp rename to src/MeoAssistant/Task/Interface/DepotTask.cpp index 2b25f5cb9a..d30df94400 100644 --- a/src/MeoAssistant/Task/DepotTask.cpp +++ b/src/MeoAssistant/Task/Interface/DepotTask.cpp @@ -1,7 +1,7 @@ #include "DepotTask.h" -#include "Sub/DepotRecognitionTask.h" -#include "Sub/ProcessTask.h" +#include "Task/Miscellaneous/DepotRecognitionTask.h" +#include "Task/ProcessTask.h" asst::DepotTask::DepotTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType) diff --git a/src/MeoAssistant/Task/DepotTask.h b/src/MeoAssistant/Task/Interface/DepotTask.h similarity index 90% rename from src/MeoAssistant/Task/DepotTask.h rename to src/MeoAssistant/Task/Interface/DepotTask.h index b1bd85a82b..96fe041012 100644 --- a/src/MeoAssistant/Task/DepotTask.h +++ b/src/MeoAssistant/Task/Interface/DepotTask.h @@ -1,5 +1,5 @@ #pragma once -#include "InterfaceTask.h" +#include "Task/InterfaceTask.h" namespace asst { diff --git a/src/MeoAssistant/Task/FightTask.cpp b/src/MeoAssistant/Task/Interface/FightTask.cpp similarity index 93% rename from src/MeoAssistant/Task/FightTask.cpp rename to src/MeoAssistant/Task/Interface/FightTask.cpp index d1e6a43932..61711a1771 100644 --- a/src/MeoAssistant/Task/FightTask.cpp +++ b/src/MeoAssistant/Task/Interface/FightTask.cpp @@ -2,14 +2,14 @@ #include -#include "TaskData.h" +#include "Resource/TaskData.h" -#include "Plugin/DrGrandetTaskPlugin.h" -#include "Plugin/GameCrashRestartTaskPlugin.h" -#include "Plugin/StageDropsTaskPlugin.h" -#include "Sub/ProcessTask.h" -#include "Sub/StageNavigationTask.h" -#include "Utils/AsstRanges.hpp" +#include "Task/Fight/DrGrandetTaskPlugin.h" +#include "Task/Fight/StageDropsTaskPlugin.h" +#include "Task/Fight/StageNavigationTask.h" +#include "Task/Miscellaneous/GameCrashRestartTaskPlugin.h" +#include "Task/ProcessTask.h" +#include "Utils/Ranges.hpp" asst::FightTask::FightTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType), diff --git a/src/MeoAssistant/Task/FightTask.h b/src/MeoAssistant/Task/Interface/FightTask.h similarity index 96% rename from src/MeoAssistant/Task/FightTask.h rename to src/MeoAssistant/Task/Interface/FightTask.h index 72c199f8d6..4bc3ccf2b1 100644 --- a/src/MeoAssistant/Task/FightTask.h +++ b/src/MeoAssistant/Task/Interface/FightTask.h @@ -1,5 +1,5 @@ #pragma once -#include "InterfaceTask.h" +#include "Task/InterfaceTask.h" #include diff --git a/src/MeoAssistant/Task/InfrastTask.cpp b/src/MeoAssistant/Task/Interface/InfrastTask.cpp similarity index 96% rename from src/MeoAssistant/Task/InfrastTask.cpp rename to src/MeoAssistant/Task/Interface/InfrastTask.cpp index 77d7d7e7c7..d7b89a10ed 100644 --- a/src/MeoAssistant/Task/InfrastTask.cpp +++ b/src/MeoAssistant/Task/Interface/InfrastTask.cpp @@ -2,17 +2,17 @@ #include "Utils/Logger.hpp" -#include "Plugin/DronesForShamareTaskPlugin.h" -#include "Plugin/ReplenishOriginiumShardTaskPlugin.h" -#include "Sub/InfrastControlTask.h" -#include "Sub/InfrastDormTask.h" -#include "Sub/InfrastInfoTask.h" -#include "Sub/InfrastMfgTask.h" -#include "Sub/InfrastOfficeTask.h" -#include "Sub/InfrastPowerTask.h" -#include "Sub/InfrastReceptionTask.h" -#include "Sub/InfrastTradeTask.h" -#include "Sub/ProcessTask.h" +#include "Task/Infrast/DronesForShamareTaskPlugin.h" +#include "Task/Infrast/InfrastControlTask.h" +#include "Task/Infrast/InfrastDormTask.h" +#include "Task/Infrast/InfrastInfoTask.h" +#include "Task/Infrast/InfrastMfgTask.h" +#include "Task/Infrast/InfrastOfficeTask.h" +#include "Task/Infrast/InfrastPowerTask.h" +#include "Task/Infrast/InfrastReceptionTask.h" +#include "Task/Infrast/InfrastTradeTask.h" +#include "Task/Infrast/ReplenishOriginiumShardTaskPlugin.h" +#include "Task/ProcessTask.h" asst::InfrastTask::InfrastTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType), diff --git a/src/MeoAssistant/Task/InfrastTask.h b/src/MeoAssistant/Task/Interface/InfrastTask.h similarity index 98% rename from src/MeoAssistant/Task/InfrastTask.h rename to src/MeoAssistant/Task/Interface/InfrastTask.h index d9ded5e288..3534c42d1b 100644 --- a/src/MeoAssistant/Task/InfrastTask.h +++ b/src/MeoAssistant/Task/Interface/InfrastTask.h @@ -1,7 +1,7 @@ #pragma once #include -#include "InterfaceTask.h" +#include "Task/InterfaceTask.h" namespace asst { diff --git a/src/MeoAssistant/Task/MallTask.cpp b/src/MeoAssistant/Task/Interface/MallTask.cpp similarity index 97% rename from src/MeoAssistant/Task/MallTask.cpp rename to src/MeoAssistant/Task/Interface/MallTask.cpp index aeddf40399..6caa8ad2c8 100644 --- a/src/MeoAssistant/Task/MallTask.cpp +++ b/src/MeoAssistant/Task/Interface/MallTask.cpp @@ -1,7 +1,7 @@ #include "MallTask.h" -#include "Sub/CreditShoppingTask.h" -#include "Sub/ProcessTask.h" +#include "Task/Miscellaneous/CreditShoppingTask.h" +#include "Task/ProcessTask.h" asst::MallTask::MallTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType), diff --git a/src/MeoAssistant/Task/MallTask.h b/src/MeoAssistant/Task/Interface/MallTask.h similarity index 95% rename from src/MeoAssistant/Task/MallTask.h rename to src/MeoAssistant/Task/Interface/MallTask.h index acb5e20c42..284cac11c2 100644 --- a/src/MeoAssistant/Task/MallTask.h +++ b/src/MeoAssistant/Task/Interface/MallTask.h @@ -1,5 +1,5 @@ #pragma once -#include "InterfaceTask.h" +#include "Task/InterfaceTask.h" namespace asst { diff --git a/src/MeoAssistant/Task/RecruitTask.cpp b/src/MeoAssistant/Task/Interface/RecruitTask.cpp similarity index 97% rename from src/MeoAssistant/Task/RecruitTask.cpp rename to src/MeoAssistant/Task/Interface/RecruitTask.cpp index d9fc8d67b4..62484ce6ee 100644 --- a/src/MeoAssistant/Task/RecruitTask.cpp +++ b/src/MeoAssistant/Task/Interface/RecruitTask.cpp @@ -1,7 +1,7 @@ #include "RecruitTask.h" -#include "Sub/AutoRecruitTask.h" -#include "Sub/ProcessTask.h" +#include "Task/Miscellaneous/AutoRecruitTask.h" +#include "Task/ProcessTask.h" asst::RecruitTask::RecruitTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType), diff --git a/src/MeoAssistant/Task/RecruitTask.h b/src/MeoAssistant/Task/Interface/RecruitTask.h similarity index 94% rename from src/MeoAssistant/Task/RecruitTask.h rename to src/MeoAssistant/Task/Interface/RecruitTask.h index 64b7169aff..8b299ad9f9 100644 --- a/src/MeoAssistant/Task/RecruitTask.h +++ b/src/MeoAssistant/Task/Interface/RecruitTask.h @@ -1,5 +1,5 @@ #pragma once -#include "InterfaceTask.h" +#include "Task/InterfaceTask.h" namespace asst { diff --git a/src/MeoAssistant/Task/RoguelikeTask.cpp b/src/MeoAssistant/Task/Interface/RoguelikeTask.cpp similarity index 86% rename from src/MeoAssistant/Task/RoguelikeTask.cpp rename to src/MeoAssistant/Task/Interface/RoguelikeTask.cpp index a2a35395f6..4f0e2670fd 100644 --- a/src/MeoAssistant/Task/RoguelikeTask.cpp +++ b/src/MeoAssistant/Task/Interface/RoguelikeTask.cpp @@ -1,17 +1,17 @@ #include "RoguelikeTask.h" -#include "Plugin/RoguelikeBattleTaskPlugin.h" -#include "Plugin/RoguelikeControlTaskPlugin.h" -#include "Plugin/RoguelikeCustomStartTaskPlugin.h" -#include "Plugin/RoguelikeDebugTaskPlugin.h" -#include "Plugin/RoguelikeFormationTaskPlugin.h" -#include "Plugin/RoguelikeRecruitTaskPlugin.h" -#include "Plugin/RoguelikeResetTaskPlugin.h" -#include "Plugin/RoguelikeShoppingTaskPlugin.h" -#include "Plugin/RoguelikeSkillSelectionTaskPlugin.h" -#include "RuntimeStatus.h" -#include "Sub/ProcessTask.h" -#include "Utils/AsstBattleDef.h" +#include "Common/AsstBattleDef.h" +#include "Status.h" +#include "Task/ProcessTask.h" +#include "Task/Roguelike/RoguelikeBattleTaskPlugin.h" +#include "Task/Roguelike/RoguelikeControlTaskPlugin.h" +#include "Task/Roguelike/RoguelikeCustomStartTaskPlugin.h" +#include "Task/Roguelike/RoguelikeDebugTaskPlugin.h" +#include "Task/Roguelike/RoguelikeFormationTaskPlugin.h" +#include "Task/Roguelike/RoguelikeRecruitTaskPlugin.h" +#include "Task/Roguelike/RoguelikeResetTaskPlugin.h" +#include "Task/Roguelike/RoguelikeShoppingTaskPlugin.h" +#include "Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.h" #include "Utils/Logger.hpp" asst::RoguelikeTask::RoguelikeTask(const AsstCallback& callback, void* callback_arg) @@ -50,7 +50,7 @@ bool asst::RoguelikeTask::set_params(const json::value& params) Log.error(__FUNCTION__, "m_status is null"); return false; } - m_status->set_properties(RuntimeStatus::RoguelikeTheme, theme); + m_status->set_properties(Status::RoguelikeTheme, theme); m_roguelike_task_ptr->set_tasks({ theme + "@Roguelike@Begin" }); // 0 - 刷蜡烛,尽可能稳定地打更多层数 diff --git a/src/MeoAssistant/Task/RoguelikeTask.h b/src/MeoAssistant/Task/Interface/RoguelikeTask.h similarity index 97% rename from src/MeoAssistant/Task/RoguelikeTask.h rename to src/MeoAssistant/Task/Interface/RoguelikeTask.h index 3567f6f17a..9d45ee59f2 100644 --- a/src/MeoAssistant/Task/RoguelikeTask.h +++ b/src/MeoAssistant/Task/Interface/RoguelikeTask.h @@ -1,5 +1,5 @@ #pragma once -#include "InterfaceTask.h" +#include "Task/InterfaceTask.h" namespace asst { diff --git a/src/MeoAssistant/Task/StartUpTask.cpp b/src/MeoAssistant/Task/Interface/StartUpTask.cpp similarity index 96% rename from src/MeoAssistant/Task/StartUpTask.cpp rename to src/MeoAssistant/Task/Interface/StartUpTask.cpp index 9d17411a2c..a58030f55e 100644 --- a/src/MeoAssistant/Task/StartUpTask.cpp +++ b/src/MeoAssistant/Task/Interface/StartUpTask.cpp @@ -2,7 +2,7 @@ #include -#include "Sub/ProcessTask.h" +#include "Task/ProcessTask.h" asst::StartUpTask::StartUpTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType), diff --git a/src/MeoAssistant/Task/StartUpTask.h b/src/MeoAssistant/Task/Interface/StartUpTask.h similarity index 86% rename from src/MeoAssistant/Task/StartUpTask.h rename to src/MeoAssistant/Task/Interface/StartUpTask.h index 2f90c64fe0..fbda8e4f16 100644 --- a/src/MeoAssistant/Task/StartUpTask.h +++ b/src/MeoAssistant/Task/Interface/StartUpTask.h @@ -1,6 +1,6 @@ #pragma once -#include "InterfaceTask.h" -#include "Plugin/StartGameTaskPlugin.h" +#include "Task/InterfaceTask.h" +#include "Task/Miscellaneous/StartGameTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/VisitTask.cpp b/src/MeoAssistant/Task/Interface/VisitTask.cpp similarity index 90% rename from src/MeoAssistant/Task/VisitTask.cpp rename to src/MeoAssistant/Task/Interface/VisitTask.cpp index a6f42f4906..dea533cd3d 100644 --- a/src/MeoAssistant/Task/VisitTask.cpp +++ b/src/MeoAssistant/Task/Interface/VisitTask.cpp @@ -2,8 +2,8 @@ #include -#include "CreditFightTask.h" -#include "Sub/ProcessTask.h" +#include "Task/Miscellaneous/CreditFightTask.h" +#include "Task/ProcessTask.h" asst::VisitTask::VisitTask(const AsstCallback& callback, void* callback_arg) : InterfaceTask(callback, callback_arg, TaskType), diff --git a/src/MeoAssistant/Task/VisitTask.h b/src/MeoAssistant/Task/Interface/VisitTask.h similarity index 94% rename from src/MeoAssistant/Task/VisitTask.h rename to src/MeoAssistant/Task/Interface/VisitTask.h index 48fcb2ed48..58a891b33e 100644 --- a/src/MeoAssistant/Task/VisitTask.h +++ b/src/MeoAssistant/Task/Interface/VisitTask.h @@ -1,5 +1,5 @@ #pragma once -#include "InterfaceTask.h" +#include "Task/InterfaceTask.h" namespace asst { diff --git a/src/MeoAssistant/Task/Sub/AutoRecruitTask.cpp b/src/MeoAssistant/Task/Miscellaneous/AutoRecruitTask.cpp similarity index 94% rename from src/MeoAssistant/Task/Sub/AutoRecruitTask.cpp rename to src/MeoAssistant/Task/Miscellaneous/AutoRecruitTask.cpp index a1d1de8b5c..c2c4576509 100644 --- a/src/MeoAssistant/Task/Sub/AutoRecruitTask.cpp +++ b/src/MeoAssistant/Task/Miscellaneous/AutoRecruitTask.cpp @@ -1,17 +1,17 @@ #include "AutoRecruitTask.h" #include "Controller.h" -#include "ImageAnalyzer/General/MultiMatchImageAnalyzer.h" -#include "ImageAnalyzer/General/OcrImageAnalyzer.h" -#include "ImageAnalyzer/RecruitImageAnalyzer.h" -#include "ProcessTask.h" -#include "ReportDataTask.h" +#include "ImageAnalyzer/Miscellaneous/RecruitImageAnalyzer.h" +#include "ImageAnalyzer/MultiMatchImageAnalyzer.h" +#include "ImageAnalyzer/OcrImageAnalyzer.h" #include "Resource/GeneralConfig.h" -#include "Resource/RecruitConfig.h" -#include "TaskData.h" +#include "Resource/Miscellaneous/RecruitConfig.h" +#include "Resource/TaskData.h" +#include "Task/ProcessTask.h" +#include "Task/ReportDataTask.h" #include "Utils/Logger.hpp" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include #include @@ -27,11 +27,11 @@ namespace asst::recruit_calc rcs_with_single_tag.reserve(tags.size()); ranges::transform(tags, std::back_inserter(rcs_with_single_tag), [](const RecruitConfig::TagId& t) { RecruitCombs result; - result.tags = { t }; - result.min_level = 6; - result.max_level = 0; - result.avg_level = 0; - return result; + result.tags = { t }; + result.min_level = 6; + result.max_level = 0; + result.avg_level = 0; + return result; }); for (const auto& op : all_ops) { @@ -378,7 +378,7 @@ asst::AutoRecruitTask::calc_task_result_type asst::AutoRecruitTask::recruit_calc callback(AsstMsg::SubTaskExtraInfo, cb_info); } - // robot tags + // robot tags const std::vector RobotTags = { "支援机械" }; if (auto robot_iter = ranges::find_first_of(RobotTags, tag_ids); robot_iter != RobotTags.cend()) [[unlikely]] { has_robot_tag = true; @@ -399,7 +399,7 @@ asst::AutoRecruitTask::calc_task_result_type asst::AutoRecruitTask::recruit_calc rc.min_level = sec->level; rc.avg_level = std::transform_reduce(sec, rc.opers.end(), 0., std::plus {}, std::mem_fn(&RecruitOperInfo::level)) / - static_cast(std::distance(sec, rc.opers.end())); + static_cast(std::distance(sec, rc.opers.end())); } } } @@ -413,14 +413,14 @@ asst::AutoRecruitTask::calc_task_result_type asst::AutoRecruitTask::recruit_calc if (l_has != r_has) return l_has > r_has; } - if (lhs.min_level != rhs.min_level) - return lhs.min_level > rhs.min_level; // 最小等级大的,排前面 - else if (lhs.max_level != rhs.max_level) - return lhs.max_level > rhs.max_level; // 最大等级大的,排前面 - else if (std::fabs(lhs.avg_level - rhs.avg_level) > DoubleDiff) - return lhs.avg_level > rhs.avg_level; // 平均等级高的,排前面 - else - return lhs.tags.size() < rhs.tags.size(); // Tag数量少的,排前面 + if (lhs.min_level != rhs.min_level) + return lhs.min_level > rhs.min_level; // 最小等级大的,排前面 + else if (lhs.max_level != rhs.max_level) + return lhs.max_level > rhs.max_level; // 最大等级大的,排前面 + else if (std::fabs(lhs.avg_level - rhs.avg_level) > DoubleDiff) + return lhs.avg_level > rhs.avg_level; // 平均等级高的,排前面 + else + return lhs.tags.size() < rhs.tags.size(); // Tag数量少的,排前面 }); if (result_vec.empty()) continue; @@ -481,7 +481,7 @@ asst::AutoRecruitTask::calc_task_result_type asst::AutoRecruitTask::recruit_calc json::value cb_info = basic_info(); cb_info["what"] = "RecruitError"; cb_info["why"] = "刷新次数达到上限"; - cb_info["details"] = json::object{ { "refresh_limit", refresh_limit } }; + cb_info["details"] = json::object { { "refresh_limit", refresh_limit } }; callback(AsstMsg::SubTaskError, cb_info); return {}; } @@ -496,7 +496,7 @@ asst::AutoRecruitTask::calc_task_result_type asst::AutoRecruitTask::recruit_calc { json::value cb_info = basic_info(); cb_info["what"] = "RecruitTagsRefreshed"; - cb_info["details"] = json::object{ + cb_info["details"] = json::object { { "count", refresh_count }, { "refresh_limit", refresh_limit }, }; @@ -566,7 +566,7 @@ asst::AutoRecruitTask::calc_task_result_type asst::AutoRecruitTask::recruit_calc { json::value cb_info = basic_info(); cb_info["what"] = "RecruitTagsSelected"; - cb_info["details"] = json::object{ { "tags", json::array(get_tag_names(final_combination.tags)) } }; + cb_info["details"] = json::object { { "tags", json::array(get_tag_names(final_combination.tags)) } }; callback(AsstMsg::SubTaskExtraInfo, cb_info); } @@ -652,7 +652,7 @@ bool asst::AutoRecruitTask::hire_all(const cv::Mat& image) if (hire_searcher.get_result().empty()) return true; } // hire all - return ProcessTask{ *this, { "RecruitFinish" } }.run(); + return ProcessTask { *this, { "RecruitFinish" } }.run(); } /// search for blue *Hire* buttons in the recruit home page, mark those slot clean and do hiring @@ -704,7 +704,7 @@ void asst::AutoRecruitTask::upload_to_penguin(Rng&& tags) body["stageId"] = "recruit"; auto& all_drops = body["drops"]; for (const auto& tag : tags) { - all_drops.array_emplace(json::object{ + all_drops.array_emplace(json::object { { "dropType", "NORMAL_DROP" }, { "itemId", tag }, { "quantity", 1 }, diff --git a/src/MeoAssistant/Task/Sub/AutoRecruitTask.h b/src/MeoAssistant/Task/Miscellaneous/AutoRecruitTask.h similarity index 96% rename from src/MeoAssistant/Task/Sub/AutoRecruitTask.h rename to src/MeoAssistant/Task/Miscellaneous/AutoRecruitTask.h index 71820e491a..bef8c71946 100644 --- a/src/MeoAssistant/Task/Sub/AutoRecruitTask.h +++ b/src/MeoAssistant/Task/Miscellaneous/AutoRecruitTask.h @@ -1,18 +1,18 @@ #pragma once -#include "AbstractTask.h" +#include "Task/AbstractTask.h" #include #include #include -#include "Resource/RecruitConfig.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" +#include "Resource/Miscellaneous/RecruitConfig.h" namespace asst { class ReportDataTask; - class AutoRecruitTask final: public AbstractTask + class AutoRecruitTask final : public AbstractTask { public: using AbstractTask::AbstractTask; diff --git a/src/MeoAssistant/Task/Sub/BattleFormationTask.cpp b/src/MeoAssistant/Task/Miscellaneous/BattleFormationTask.cpp similarity index 96% rename from src/MeoAssistant/Task/Sub/BattleFormationTask.cpp rename to src/MeoAssistant/Task/Miscellaneous/BattleFormationTask.cpp index f1f75613a7..30da026f0c 100644 --- a/src/MeoAssistant/Task/Sub/BattleFormationTask.cpp +++ b/src/MeoAssistant/Task/Miscellaneous/BattleFormationTask.cpp @@ -1,13 +1,13 @@ #include "BattleFormationTask.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include "Controller.h" -#include "ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.h" -#include "ProcessTask.h" -#include "Resource/BattleDataConfig.h" -#include "Resource/CopilotConfig.h" -#include "TaskData.h" +#include "ImageAnalyzer/OcrWithFlagTemplImageAnalyzer.h" +#include "Resource/Miscellaneous/BattleDataConfig.h" +#include "Resource/Miscellaneous/CopilotConfig.h" +#include "Resource/TaskData.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" void asst::BattleFormationTask::set_stage_name(std::string name) diff --git a/src/MeoAssistant/Task/Sub/BattleFormationTask.h b/src/MeoAssistant/Task/Miscellaneous/BattleFormationTask.h similarity index 93% rename from src/MeoAssistant/Task/Sub/BattleFormationTask.h rename to src/MeoAssistant/Task/Miscellaneous/BattleFormationTask.h index 075c80255c..260925c4d8 100644 --- a/src/MeoAssistant/Task/Sub/BattleFormationTask.h +++ b/src/MeoAssistant/Task/Miscellaneous/BattleFormationTask.h @@ -1,6 +1,6 @@ #pragma once -#include "AbstractTask.h" -#include "Utils/AsstBattleDef.h" +#include "Common/AsstBattleDef.h" +#include "Task/AbstractTask.h" namespace asst { diff --git a/src/MeoAssistant/Task/Sub/BattleProcessTask.cpp b/src/MeoAssistant/Task/Miscellaneous/BattleProcessTask.cpp similarity index 95% rename from src/MeoAssistant/Task/Sub/BattleProcessTask.cpp rename to src/MeoAssistant/Task/Miscellaneous/BattleProcessTask.cpp index 6e271bd339..feb92c1334 100644 --- a/src/MeoAssistant/Task/Sub/BattleProcessTask.cpp +++ b/src/MeoAssistant/Task/Miscellaneous/BattleProcessTask.cpp @@ -1,24 +1,24 @@ #include "BattleProcessTask.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include #include #include -#include "Utils/AsstRanges.hpp" #include "Utils/NoWarningCV.h" +#include "Utils/Ranges.hpp" #include "Controller.h" -#include "ImageAnalyzer/BattleImageAnalyzer.h" -#include "ImageAnalyzer/General/MatchImageAnalyzer.h" -#include "ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.h" -#include "ProcessTask.h" -#include "Resource/CopilotConfig.h" -#include "Resource/TilePack.h" -#include "TaskData.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/Miscellaneous/BattleImageAnalyzer.h" +#include "ImageAnalyzer/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/Miscellaneous/CopilotConfig.h" +#include "Resource/Miscellaneous/TilePack.h" +#include "Resource/TaskData.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" -#include "Utils/AsstImageIo.hpp" +#include "Utils/ImageIo.hpp" void asst::BattleProcessTask::set_stage_name(std::string name) { @@ -131,11 +131,11 @@ bool asst::BattleProcessTask::analyze_opers_preview() auto draw_future = std::async(std::launch::async, [&]() { std::filesystem::create_directory("map"); - for (const auto& [loc, info] : m_normal_tile_info) { - std::string text = "( " + std::to_string(loc.x) + ", " + std::to_string(loc.y) + " )"; - cv::putText(draw, text, cv::Point(info.pos.x - 30, info.pos.y), 1, 1.2, cv::Scalar(0, 0, 255), 2); - } - asst::imwrite("map/" + m_stage_name + ".png", draw); + for (const auto& [loc, info] : m_normal_tile_info) { + std::string text = "( " + std::to_string(loc.x) + ", " + std::to_string(loc.y) + " )"; + cv::putText(draw, text, cv::Point(info.pos.x - 30, info.pos.y), 1, 1.2, cv::Scalar(0, 0, 255), 2); + } + asst::imwrite("map/" + m_stage_name + ".png", draw); }); auto opers = oper_analyzer.get_opers(); @@ -177,7 +177,7 @@ bool asst::BattleProcessTask::analyze_opers_preview() } // 没找到,可能是召唤物等新出现的 if (not_found) { - m_group_to_oper_mapping.emplace(oper_name, BattleDeployOper{ oper_name }); + m_group_to_oper_mapping.emplace(oper_name, BattleDeployOper { oper_name }); } m_cur_opers_info.emplace(std::move(oper_name), std::move(opers.at(i))); @@ -272,7 +272,7 @@ bool asst::BattleProcessTask::update_opers_info(const cv::Mat& image) name_analyzer.sort_result_by_score(); oper_name = name_analyzer.get_result().front().text; } - m_group_to_oper_mapping[oper_name] = BattleDeployOper{ oper_name }; + m_group_to_oper_mapping[oper_name] = BattleDeployOper { oper_name }; m_ctrler->click(cur_oper.rect); sleep(Task.get("BattleUseOper")->pre_delay); battle_pause(); @@ -537,7 +537,7 @@ bool asst::BattleProcessTask::oper_deploy(const BattleAction& action, bool only_ // 拖动到场上 Point placed_point = m_side_tile_info[action.location].pos; - Rect placed_rect{ placed_point.x, placed_point.y, 0, 0 }; + Rect placed_rect { placed_point.x, placed_point.y, 0, 0 }; int dist = static_cast( Point::distance(placed_point, { oper_rect.x + oper_rect.width / 2, oper_rect.y + oper_rect.height / 2 })); // 1000 是随便取的一个系数,把整数的 pre_delay 转成小数用的 @@ -567,7 +567,7 @@ bool asst::BattleProcessTask::oper_deploy(const BattleAction& action, bool only_ } m_used_opers[iter->first] = - BattleDeployInfo{ action.location, m_normal_tile_info[action.location].pos, oper_info }; + BattleDeployInfo { action.location, m_normal_tile_info[action.location].pos, oper_info }; m_cur_opers_info.erase(iter); @@ -655,7 +655,7 @@ bool asst::BattleProcessTask::try_possible_skill(const cv::Mat& image) if (info.info.skill_usage != BattleSkillUsage::Possibly && info.info.skill_usage != BattleSkillUsage::Once) { continue; } - const Rect roi = Rect{ info.pos.x, info.pos.y, 0, 0 }.move(skill_roi_move); + const Rect roi = Rect { info.pos.x, info.pos.y, 0, 0 }.move(skill_roi_move); analyzer.set_roi(roi); if (!analyzer.analyze()) { continue; @@ -704,8 +704,8 @@ bool asst::BattleProcessTask::battle_speedup() template std::optional> asst::BattleProcessTask:: -get_char_allocation_for_each_group(const std::unordered_map>& group_list, - const std::vector& char_list) + get_char_allocation_for_each_group(const std::unordered_map>& group_list, + const std::vector& char_list) { /* * * dlx 算法简介 @@ -783,11 +783,11 @@ get_char_allocation_for_each_group(const std::unordered_map first, size; std::vector left, right, up, down; std::vector column, row; @@ -817,14 +817,13 @@ get_char_allocation_for_each_group(const std::unordered_map answer_stack; DancingLinksModel(const size_t& max_node_num, const size_t& max_ans_size) : first(max_node_num), size(max_node_num), left(max_node_num), right(max_node_num), up(max_node_num), - down(max_node_num), column(max_node_num), row(max_node_num), answer_stack(max_ans_size) - { - } + down(max_node_num), column(max_node_num), row(max_node_num), answer_stack(max_ans_size) + {} void build(const size_t& column_id) { diff --git a/src/MeoAssistant/Task/Sub/BattleProcessTask.h b/src/MeoAssistant/Task/Miscellaneous/BattleProcessTask.h similarity index 91% rename from src/MeoAssistant/Task/Sub/BattleProcessTask.h rename to src/MeoAssistant/Task/Miscellaneous/BattleProcessTask.h index 562acb7de7..5bb4d40b78 100644 --- a/src/MeoAssistant/Task/Sub/BattleProcessTask.h +++ b/src/MeoAssistant/Task/Miscellaneous/BattleProcessTask.h @@ -1,10 +1,10 @@ #pragma once -#include "AbstractTask.h" +#include "Task/AbstractTask.h" -#include "ImageAnalyzer/BattleImageAnalyzer.h" -#include "Resource/TilePack.h" -#include "Utils/AsstBattleDef.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstBattleDef.h" +#include "Common/AsstTypes.h" +#include "ImageAnalyzer/Miscellaneous/BattleImageAnalyzer.h" +#include "Resource/Miscellaneous/TilePack.h" namespace asst { diff --git a/src/MeoAssistant/Task/CreditFightTask.cpp b/src/MeoAssistant/Task/Miscellaneous/CreditFightTask.cpp similarity index 85% rename from src/MeoAssistant/Task/CreditFightTask.cpp rename to src/MeoAssistant/Task/Miscellaneous/CreditFightTask.cpp index 83fb51d6c7..f7c31ecce7 100644 --- a/src/MeoAssistant/Task/CreditFightTask.cpp +++ b/src/MeoAssistant/Task/Miscellaneous/CreditFightTask.cpp @@ -2,14 +2,14 @@ #include -#include "TaskData.h" +#include "Resource/TaskData.h" -#include "CopilotTask.h" -#include "Plugin/GameCrashRestartTaskPlugin.h" -#include "Sub/AbstractTask.h" -#include "Sub/ProcessTask.h" -#include "Sub/StageNavigationTask.h" -#include "Utils/AsstRanges.hpp" +#include "GameCrashRestartTaskPlugin.h" +#include "Task/AbstractTask.h" +#include "Task/Fight/StageNavigationTask.h" +#include "Task/Interface/CopilotTask.h" +#include "Task/ProcessTask.h" +#include "Utils/Ranges.hpp" #include "Utils/WorkingDir.hpp" asst::CreditFightTask::CreditFightTask(const AsstCallback& callback, void* callback_arg, std::string_view task_chain) diff --git a/src/MeoAssistant/Task/CreditFightTask.h b/src/MeoAssistant/Task/Miscellaneous/CreditFightTask.h similarity index 92% rename from src/MeoAssistant/Task/CreditFightTask.h rename to src/MeoAssistant/Task/Miscellaneous/CreditFightTask.h index fecbe33030..b922039c94 100644 --- a/src/MeoAssistant/Task/CreditFightTask.h +++ b/src/MeoAssistant/Task/Miscellaneous/CreditFightTask.h @@ -1,6 +1,6 @@ #pragma once -#include "PackageTask.h" +#include "Task/PackageTask.h" #include diff --git a/src/MeoAssistant/Task/Sub/CreditShoppingTask.cpp b/src/MeoAssistant/Task/Miscellaneous/CreditShoppingTask.cpp similarity index 93% rename from src/MeoAssistant/Task/Sub/CreditShoppingTask.cpp rename to src/MeoAssistant/Task/Miscellaneous/CreditShoppingTask.cpp index 3b0bd2a819..0963bf1309 100644 --- a/src/MeoAssistant/Task/Sub/CreditShoppingTask.cpp +++ b/src/MeoAssistant/Task/Miscellaneous/CreditShoppingTask.cpp @@ -4,11 +4,11 @@ #include #include "Controller.h" -#include "ImageAnalyzer/CreditShopImageAnalyzer.h" -#include "ImageAnalyzer/General/MatchImageAnalyzer.h" -#include "ImageAnalyzer/General/OcrImageAnalyzer.h" -#include "ProcessTask.h" -#include "TaskData.h" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/Miscellaneous/CreditShopImageAnalyzer.h" +#include "ImageAnalyzer/OcrImageAnalyzer.h" +#include "Resource/TaskData.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" void asst::CreditShoppingTask::set_black_list(std::vector black_list) diff --git a/src/MeoAssistant/Task/Sub/CreditShoppingTask.h b/src/MeoAssistant/Task/Miscellaneous/CreditShoppingTask.h similarity index 93% rename from src/MeoAssistant/Task/Sub/CreditShoppingTask.h rename to src/MeoAssistant/Task/Miscellaneous/CreditShoppingTask.h index 6bce077cf0..46e477274e 100644 --- a/src/MeoAssistant/Task/Sub/CreditShoppingTask.h +++ b/src/MeoAssistant/Task/Miscellaneous/CreditShoppingTask.h @@ -1,10 +1,10 @@ #pragma once -#include "AbstractTask.h" +#include "Task/AbstractTask.h" #include -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/Task/Sub/DepotRecognitionTask.cpp b/src/MeoAssistant/Task/Miscellaneous/DepotRecognitionTask.cpp similarity index 93% rename from src/MeoAssistant/Task/Sub/DepotRecognitionTask.cpp rename to src/MeoAssistant/Task/Miscellaneous/DepotRecognitionTask.cpp index e4aba607ab..af1ff06bbd 100644 --- a/src/MeoAssistant/Task/Sub/DepotRecognitionTask.cpp +++ b/src/MeoAssistant/Task/Miscellaneous/DepotRecognitionTask.cpp @@ -5,10 +5,10 @@ #include #include "Controller.h" -#include "ImageAnalyzer/DepotImageAnalyzer.h" -#include "ProcessTask.h" +#include "ImageAnalyzer/Miscellaneous/DepotImageAnalyzer.h" #include "Resource/GeneralConfig.h" -#include "TaskData.h" +#include "Resource/TaskData.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" bool asst::DepotRecognitionTask::_run() @@ -69,7 +69,7 @@ void asst::DepotRecognitionTask::callback_analyze_result(bool done) auto& arkplanner_data_items = arkplanner_obj["items"]; for (const auto& [item_id, item_info] : m_all_items) { - arkplanner_data_items.array_emplace(json::object{ + arkplanner_data_items.array_emplace(json::object { { "id", item_id }, { "have", item_info.quantity }, { "name", item_info.item_name }, diff --git a/src/MeoAssistant/Task/Sub/DepotRecognitionTask.h b/src/MeoAssistant/Task/Miscellaneous/DepotRecognitionTask.h similarity index 83% rename from src/MeoAssistant/Task/Sub/DepotRecognitionTask.h rename to src/MeoAssistant/Task/Miscellaneous/DepotRecognitionTask.h index 56faf6ca04..1adbfd0f26 100644 --- a/src/MeoAssistant/Task/Sub/DepotRecognitionTask.h +++ b/src/MeoAssistant/Task/Miscellaneous/DepotRecognitionTask.h @@ -1,9 +1,9 @@ #pragma once -#include "AbstractTask.h" +#include "Task/AbstractTask.h" #include -#include "ImageAnalyzer/DepotImageAnalyzer.h" +#include "ImageAnalyzer/Miscellaneous/DepotImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/GameCrashRestartTaskPlugin.cpp b/src/MeoAssistant/Task/Miscellaneous/GameCrashRestartTaskPlugin.cpp similarity index 94% rename from src/MeoAssistant/Task/Plugin/GameCrashRestartTaskPlugin.cpp rename to src/MeoAssistant/Task/Miscellaneous/GameCrashRestartTaskPlugin.cpp index 5864d672e7..8419aa4fca 100644 --- a/src/MeoAssistant/Task/Plugin/GameCrashRestartTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Miscellaneous/GameCrashRestartTaskPlugin.cpp @@ -1,6 +1,6 @@ #include "GameCrashRestartTaskPlugin.h" -#include "RuntimeStatus.h" +#include "Status.h" bool asst::GameCrashRestartTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MeoAssistant/Task/Plugin/GameCrashRestartTaskPlugin.h b/src/MeoAssistant/Task/Miscellaneous/GameCrashRestartTaskPlugin.h similarity index 100% rename from src/MeoAssistant/Task/Plugin/GameCrashRestartTaskPlugin.h rename to src/MeoAssistant/Task/Miscellaneous/GameCrashRestartTaskPlugin.h diff --git a/src/MeoAssistant/Task/Plugin/StartGameTaskPlugin.cpp b/src/MeoAssistant/Task/Miscellaneous/StartGameTaskPlugin.cpp similarity index 100% rename from src/MeoAssistant/Task/Plugin/StartGameTaskPlugin.cpp rename to src/MeoAssistant/Task/Miscellaneous/StartGameTaskPlugin.cpp diff --git a/src/MeoAssistant/Task/Plugin/StartGameTaskPlugin.h b/src/MeoAssistant/Task/Miscellaneous/StartGameTaskPlugin.h similarity index 90% rename from src/MeoAssistant/Task/Plugin/StartGameTaskPlugin.h rename to src/MeoAssistant/Task/Miscellaneous/StartGameTaskPlugin.h index 87e2b04c76..a980335b4f 100644 --- a/src/MeoAssistant/Task/Plugin/StartGameTaskPlugin.h +++ b/src/MeoAssistant/Task/Miscellaneous/StartGameTaskPlugin.h @@ -1,7 +1,7 @@ #pragma once -#include "AbstractTaskPlugin.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" +#include "Task/AbstractTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/StopGameTaskPlugin.cpp b/src/MeoAssistant/Task/Miscellaneous/StopGameTaskPlugin.cpp similarity index 100% rename from src/MeoAssistant/Task/Plugin/StopGameTaskPlugin.cpp rename to src/MeoAssistant/Task/Miscellaneous/StopGameTaskPlugin.cpp diff --git a/src/MeoAssistant/Task/Plugin/StopGameTaskPlugin.h b/src/MeoAssistant/Task/Miscellaneous/StopGameTaskPlugin.h similarity index 87% rename from src/MeoAssistant/Task/Plugin/StopGameTaskPlugin.h rename to src/MeoAssistant/Task/Miscellaneous/StopGameTaskPlugin.h index c444675a23..77b26d937b 100644 --- a/src/MeoAssistant/Task/Plugin/StopGameTaskPlugin.h +++ b/src/MeoAssistant/Task/Miscellaneous/StopGameTaskPlugin.h @@ -1,7 +1,7 @@ #pragma once -#include "AbstractTaskPlugin.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" +#include "Task/AbstractTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/PackageTask.cpp b/src/MeoAssistant/Task/PackageTask.cpp index fc9f551eda..be4e7b1711 100644 --- a/src/MeoAssistant/Task/PackageTask.cpp +++ b/src/MeoAssistant/Task/PackageTask.cpp @@ -63,7 +63,7 @@ asst::AbstractTask& asst::PackageTask::set_ctrler(std::shared_ptr ct return *this; } -asst::AbstractTask& asst::PackageTask::set_status(std::shared_ptr status) noexcept +asst::AbstractTask& asst::PackageTask::set_status(std::shared_ptr status) noexcept { AbstractTask::set_status(status); for (auto&& sub : m_subtasks) { diff --git a/src/MeoAssistant/Task/PackageTask.h b/src/MeoAssistant/Task/PackageTask.h index c61f288de7..bd3e23b3ee 100644 --- a/src/MeoAssistant/Task/PackageTask.h +++ b/src/MeoAssistant/Task/PackageTask.h @@ -1,6 +1,6 @@ #pragma once -#include "Sub/AbstractTask.h" +#include "AbstractTask.h" #include @@ -22,7 +22,7 @@ namespace asst virtual AbstractTask& set_exit_flag(bool* exit_flag) noexcept override; virtual AbstractTask& set_retry_times(int times) noexcept override; virtual AbstractTask& set_ctrler(std::shared_ptr ctrler) noexcept override; - virtual AbstractTask& set_status(std::shared_ptr status) noexcept override; + virtual AbstractTask& set_status(std::shared_ptr status) noexcept override; virtual AbstractTask& set_task_id(int task_id) noexcept override; protected: diff --git a/src/MeoAssistant/Task/Sub/ProcessTask.cpp b/src/MeoAssistant/Task/ProcessTask.cpp similarity index 94% rename from src/MeoAssistant/Task/Sub/ProcessTask.cpp rename to src/MeoAssistant/Task/ProcessTask.cpp index 590c6b296c..c7977702a2 100644 --- a/src/MeoAssistant/Task/Sub/ProcessTask.cpp +++ b/src/MeoAssistant/Task/ProcessTask.cpp @@ -7,10 +7,10 @@ #include #include "Controller.h" -#include "ImageAnalyzer/ProcessTaskImageAnalyzer.h" +#include "ImageAnalyzer/Miscellaneous/ProcessTaskImageAnalyzer.h" #include "Resource/GeneralConfig.h" -#include "RuntimeStatus.h" -#include "TaskData.h" +#include "Resource/TaskData.h" +#include "Status.h" #include "Utils/Logger.hpp" using namespace asst; @@ -69,7 +69,7 @@ asst::ProcessTask& asst::ProcessTask::set_tasks(std::vector tasks_n ProcessTask& asst::ProcessTask::set_times_limit(std::string name, int limit, TimesLimitType type) { - m_times_limit[std::move(name)] = TimesLimitData{ limit, type }; + m_times_limit[std::move(name)] = TimesLimitData { limit, type }; return *this; } @@ -92,7 +92,7 @@ bool ProcessTask::_run() } json::value info = basic_info(); - info["details"] = json::object{ + info["details"] = json::object { { "to_be_recognized", json::array(m_cur_tasks_name) }, { "cur_retry", m_cur_retry }, { "retry_times", m_retry_times }, @@ -139,7 +139,7 @@ bool ProcessTask::_run() if (limit_type == TimesLimitType::Pre && exec_times >= max_times) { info["what"] = "ExceededLimit"; - info["details"] = json::object{ + info["details"] = json::object { { "task", cur_name }, { "exec_times", exec_times }, { "max_times", max_times }, @@ -155,7 +155,7 @@ bool ProcessTask::_run() m_cur_retry = 0; ++exec_times; - info["details"] = json::object{ + info["details"] = json::object { { "task", cur_name }, { "action", enum_to_string(m_cur_task_ptr->action) }, { "exec_times", exec_times }, @@ -200,7 +200,7 @@ bool ProcessTask::_run() break; } - m_status->set_number(RuntimeStatus::ProcessTaskLastTimePrefix + cur_name, time(nullptr)); + m_status->set_number(Status::ProcessTaskLastTimePrefix + cur_name, time(nullptr)); // 减少其他任务的执行次数 // 例如,进入吃理智药的界面了,相当于上一次点蓝色开始行动没生效 @@ -238,7 +238,7 @@ bool ProcessTask::_run() if (limit_type == TimesLimitType::Post && exec_times >= max_times) { info["what"] = "ExceededLimit"; - info["details"] = json::object{ + info["details"] = json::object { { "task", cur_name }, { "exec_times", exec_times }, { "max_times", max_times }, @@ -310,7 +310,7 @@ int asst::ProcessTask::calc_post_delay() const json::value asst::ProcessTask::basic_info() const { return AbstractTask::basic_info() | - json::object{ { "first", json::array(m_raw_tasks_name) }, { "pre_task", m_pre_task_name } }; + json::object { { "first", json::array(m_raw_tasks_name) }, { "pre_task", m_pre_task_name } }; } void ProcessTask::exec_click_task(const Rect& matched_rect) diff --git a/src/MeoAssistant/Task/Sub/ProcessTask.h b/src/MeoAssistant/Task/ProcessTask.h similarity index 98% rename from src/MeoAssistant/Task/Sub/ProcessTask.h rename to src/MeoAssistant/Task/ProcessTask.h index c969dc53b4..7816305ba2 100644 --- a/src/MeoAssistant/Task/Sub/ProcessTask.h +++ b/src/MeoAssistant/Task/ProcessTask.h @@ -1,7 +1,7 @@ #pragma once #include "AbstractTask.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/Task/Sub/ReportDataTask.cpp b/src/MeoAssistant/Task/ReportDataTask.cpp similarity index 94% rename from src/MeoAssistant/Task/Sub/ReportDataTask.cpp rename to src/MeoAssistant/Task/ReportDataTask.cpp index eb446aea3d..520506140c 100644 --- a/src/MeoAssistant/Task/Sub/ReportDataTask.cpp +++ b/src/MeoAssistant/Task/ReportDataTask.cpp @@ -68,7 +68,7 @@ void asst::ReportDataTask::report_to_penguin() auto epoch = time_point_cast(steady_clock::now()).time_since_epoch(); long long tick = duration_cast(epoch).count(); - static std::default_random_engine rand_engine(std::random_device{}()); + static std::default_random_engine rand_engine(std::random_device {}()); static std::uniform_int_distribution rand_uni(0, UINT64_MAX); uint64_t rand = rand_uni(rand_engine); @@ -86,11 +86,11 @@ void asst::ReportDataTask::report_to_penguin() [](const http::Response& response) -> bool { return response.success(); }, [&](const http::Response& response) -> bool { bool cond = !response.status_code() || response.status_5xx(); - if (cond) { - backoff = static_cast(backoff * 1.5); - sleep(backoff); - } - return cond; + if (cond) { + backoff = static_cast(backoff * 1.5); + sleep(backoff); + } + return cond; }, false); @@ -121,11 +121,11 @@ void asst::ReportDataTask::report_to_penguin() [](const http::Response& response) -> bool { return response.success(); }, [&](const http::Response& response) -> bool { bool cond = !response.status_code() || response.status_5xx(); - if (cond) { - backoff = static_cast(backoff * 1.5); - sleep(backoff); - } - return cond; + if (cond) { + backoff = static_cast(backoff * 1.5); + sleep(backoff); + } + return cond; }); if (response.success()) { @@ -171,7 +171,7 @@ asst::http::Response asst::ReportDataTask::report(const std::string& subtask, co if (callback_on_failure) { cb_info["why"] = "上报失败"; - cb_info["details"] = json::object{ + cb_info["details"] = json::object { { "error", response.get_last_error() }, { "status_code", response.status_code() }, { "status_code_info", std::string(response.status_code_info()) }, diff --git a/src/MeoAssistant/Task/Sub/ReportDataTask.h b/src/MeoAssistant/Task/ReportDataTask.h similarity index 97% rename from src/MeoAssistant/Task/Sub/ReportDataTask.h rename to src/MeoAssistant/Task/ReportDataTask.h index e629977dc7..7cc4382d0d 100644 --- a/src/MeoAssistant/Task/Sub/ReportDataTask.h +++ b/src/MeoAssistant/Task/ReportDataTask.h @@ -1,7 +1,7 @@ #pragma once #include "AbstractTask.h" -#include "Utils/AsstHttp.hpp" +#include "Utils/Http.hpp" #include #include diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeBattleTaskPlugin.cpp b/src/MeoAssistant/Task/Roguelike/RoguelikeBattleTaskPlugin.cpp similarity index 98% rename from src/MeoAssistant/Task/Plugin/RoguelikeBattleTaskPlugin.cpp rename to src/MeoAssistant/Task/Roguelike/RoguelikeBattleTaskPlugin.cpp index 058ed5264c..89195a5c9f 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeBattleTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeBattleTaskPlugin.cpp @@ -1,22 +1,22 @@ #include "RoguelikeBattleTaskPlugin.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include #include #include "Utils/NoWarningCV.h" -#include "../Sub/ProcessTask.h" #include "Controller.h" -#include "ImageAnalyzer/BattleImageAnalyzer.h" -#include "ImageAnalyzer/General/MatchImageAnalyzer.h" -#include "ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.h" -#include "Resource/BattleDataConfig.h" -#include "Resource/RoguelikeCopilotConfig.h" -#include "Resource/TilePack.h" -#include "RuntimeStatus.h" -#include "TaskData.h" -#include "Utils/AsstImageIo.hpp" +#include "ImageAnalyzer/MatchImageAnalyzer.h" +#include "ImageAnalyzer/Miscellaneous/BattleImageAnalyzer.h" +#include "ImageAnalyzer/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/Miscellaneous/BattleDataConfig.h" +#include "Resource/Miscellaneous/TilePack.h" +#include "Resource/Roguelike/RoguelikeCopilotConfig.h" +#include "Resource/TaskData.h" +#include "Status.h" +#include "Task/ProcessTask.h" +#include "Utils/ImageIo.hpp" #include "Utils/Logger.hpp" bool asst::RoguelikeBattleTaskPlugin::verify(AsstMsg msg, const json::value& details) const @@ -25,7 +25,7 @@ bool asst::RoguelikeBattleTaskPlugin::verify(AsstMsg msg, const json::value& det return false; } - auto roguelike_name_opt = m_status->get_properties(RuntimeStatus::RoguelikeTheme); + auto roguelike_name_opt = m_status->get_properties(Status::RoguelikeTheme); if (!roguelike_name_opt) { Log.error("Roguelike name doesn't exist!"); return false; @@ -183,7 +183,7 @@ bool asst::RoguelikeBattleTaskPlugin::get_stage_info() else { for (const auto& [loc, side] : m_normal_tile_info) { if (side.key == TilePack::TileKey::Home) { - m_homes.emplace_back(ReplacementHome{ loc, BattleDeployDirection::None }); + m_homes.emplace_back(ReplacementHome { loc, BattleDeployDirection::None }); } } m_stage_use_dice = true; @@ -903,7 +903,7 @@ bool asst::RoguelikeBattleTaskPlugin::try_possible_skill(const cv::Mat& image) analyzer.set_task_info(task_ptr); bool used = false; for (auto& [loc, oper_name] : m_used_tiles) { - std::string status_key = RuntimeStatus::RoguelikeSkillUsagePrefix + oper_name; + std::string status_key = Status::RoguelikeSkillUsagePrefix + oper_name; auto usage = BattleSkillUsage::Possibly; auto usage_opt = m_status->get_number(status_key); if (usage_opt) { @@ -1049,7 +1049,7 @@ std::vector asst::RoguelikeBattleTaskPlugin::available_locations(Ba asst::BattleAttackRange asst::RoguelikeBattleTaskPlugin::get_attack_range(const BattleRealTimeOper& oper) { - int64_t elite = m_status->get_number(RuntimeStatus::RoguelikeCharElitePrefix + oper.name).value_or(0); + int64_t elite = m_status->get_number(Status::RoguelikeCharElitePrefix + oper.name).value_or(0); BattleAttackRange right_attack_range = BattleData.get_range(oper.name, elite); if (right_attack_range == BattleDataConfig::EmptyRange) { diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeBattleTaskPlugin.h b/src/MeoAssistant/Task/Roguelike/RoguelikeBattleTaskPlugin.h similarity index 96% rename from src/MeoAssistant/Task/Plugin/RoguelikeBattleTaskPlugin.h rename to src/MeoAssistant/Task/Roguelike/RoguelikeBattleTaskPlugin.h index 4b51d57793..41961c5849 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeBattleTaskPlugin.h +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeBattleTaskPlugin.h @@ -3,11 +3,11 @@ #include #include -#include "AbstractTaskPlugin.h" -#include "ImageAnalyzer/BattleImageAnalyzer.h" -#include "Resource/TilePack.h" -#include "Utils/AsstBattleDef.h" -#include "Utils/AsstTypes.h" +#include "Common/AsstBattleDef.h" +#include "Common/AsstTypes.h" +#include "ImageAnalyzer/Miscellaneous/BattleImageAnalyzer.h" +#include "Resource/Miscellaneous/TilePack.h" +#include "Task/AbstractTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeControlTaskPlugin.cpp b/src/MeoAssistant/Task/Roguelike/RoguelikeControlTaskPlugin.cpp similarity index 91% rename from src/MeoAssistant/Task/Plugin/RoguelikeControlTaskPlugin.cpp rename to src/MeoAssistant/Task/Roguelike/RoguelikeControlTaskPlugin.cpp index d8b3587ad5..9efa620088 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeControlTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeControlTaskPlugin.cpp @@ -1,6 +1,6 @@ #include "RoguelikeControlTaskPlugin.h" -#include "RuntimeStatus.h" +#include "Status.h" #include "Utils/Logger.hpp" bool asst::RoguelikeControlTaskPlugin::verify(AsstMsg msg, const json::value& details) const @@ -13,7 +13,7 @@ bool asst::RoguelikeControlTaskPlugin::verify(AsstMsg msg, const json::value& de return false; } - auto roguelike_name_opt = m_status->get_properties(RuntimeStatus::RoguelikeTheme); + auto roguelike_name_opt = m_status->get_properties(Status::RoguelikeTheme); if (!roguelike_name_opt) { Log.error("Roguelike name doesn't exist!"); return false; diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeControlTaskPlugin.h b/src/MeoAssistant/Task/Roguelike/RoguelikeControlTaskPlugin.h similarity index 91% rename from src/MeoAssistant/Task/Plugin/RoguelikeControlTaskPlugin.h rename to src/MeoAssistant/Task/Roguelike/RoguelikeControlTaskPlugin.h index 8f6bb15240..102125cca5 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeControlTaskPlugin.h +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeControlTaskPlugin.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractTaskPlugin.h" +#include "Task/AbstractTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeCustomStartTaskPlugin.cpp b/src/MeoAssistant/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp similarity index 93% rename from src/MeoAssistant/Task/Plugin/RoguelikeCustomStartTaskPlugin.cpp rename to src/MeoAssistant/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp index bc933448f6..c46b357915 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeCustomStartTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeCustomStartTaskPlugin.cpp @@ -1,11 +1,11 @@ #include "RoguelikeCustomStartTaskPlugin.h" -#include "../Sub/ProcessTask.h" #include "Controller.h" -#include "ImageAnalyzer/General/OcrImageAnalyzer.h" -#include "Resource/BattleDataConfig.h" -#include "RuntimeStatus.h" -#include "TaskData.h" +#include "ImageAnalyzer/OcrImageAnalyzer.h" +#include "Resource/Miscellaneous/BattleDataConfig.h" +#include "Resource/TaskData.h" +#include "Status.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" bool asst::RoguelikeCustomStartTaskPlugin::verify(AsstMsg msg, const json::value& details) const @@ -14,7 +14,7 @@ bool asst::RoguelikeCustomStartTaskPlugin::verify(AsstMsg msg, const json::value return false; } - auto roguelike_name_opt = m_status->get_properties(RuntimeStatus::RoguelikeTheme); + auto roguelike_name_opt = m_status->get_properties(Status::RoguelikeTheme); if (!roguelike_name_opt) { Log.error("Roguelike name doesn't exist!"); return false; @@ -141,6 +141,6 @@ bool asst::RoguelikeCustomStartTaskPlugin::hijack_core_char() sleep(Task.get("RoguelikeCustom-HijackCoChar")->pre_delay); - m_status->set_str(RuntimeStatus::RoguelikeCoreChar, char_name); + m_status->set_str(Status::RoguelikeCoreChar, char_name); return true; } diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeCustomStartTaskPlugin.h b/src/MeoAssistant/Task/Roguelike/RoguelikeCustomStartTaskPlugin.h similarity index 96% rename from src/MeoAssistant/Task/Plugin/RoguelikeCustomStartTaskPlugin.h rename to src/MeoAssistant/Task/Roguelike/RoguelikeCustomStartTaskPlugin.h index b1a0a3b90f..1d79a11e15 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeCustomStartTaskPlugin.h +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeCustomStartTaskPlugin.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractTaskPlugin.h" +#include "Task/AbstractTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeDebugTaskPlugin.cpp b/src/MeoAssistant/Task/Roguelike/RoguelikeDebugTaskPlugin.cpp similarity index 90% rename from src/MeoAssistant/Task/Plugin/RoguelikeDebugTaskPlugin.cpp rename to src/MeoAssistant/Task/Roguelike/RoguelikeDebugTaskPlugin.cpp index 60ea17a2e4..c610dbb468 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeDebugTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeDebugTaskPlugin.cpp @@ -1,7 +1,7 @@ #include "RoguelikeDebugTaskPlugin.h" #include "Controller.h" -#include "RuntimeStatus.h" +#include "Status.h" #include "Utils/Logger.hpp" bool asst::RoguelikeDebugTaskPlugin::verify(AsstMsg msg, const json::value& details) const @@ -14,7 +14,7 @@ bool asst::RoguelikeDebugTaskPlugin::verify(AsstMsg msg, const json::value& deta return true; } - auto roguelike_name_opt = m_status->get_properties(RuntimeStatus::RoguelikeTheme); + auto roguelike_name_opt = m_status->get_properties(Status::RoguelikeTheme); if (!roguelike_name_opt) { Log.error("Roguelike name doesn't exist!"); return false; diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeDebugTaskPlugin.h b/src/MeoAssistant/Task/Roguelike/RoguelikeDebugTaskPlugin.h similarity index 91% rename from src/MeoAssistant/Task/Plugin/RoguelikeDebugTaskPlugin.h rename to src/MeoAssistant/Task/Roguelike/RoguelikeDebugTaskPlugin.h index a19b9fcef6..19b890962c 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeDebugTaskPlugin.h +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeDebugTaskPlugin.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractTaskPlugin.h" +#include "Task/AbstractTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeFormationTaskPlugin.cpp b/src/MeoAssistant/Task/Roguelike/RoguelikeFormationTaskPlugin.cpp similarity index 93% rename from src/MeoAssistant/Task/Plugin/RoguelikeFormationTaskPlugin.cpp rename to src/MeoAssistant/Task/Roguelike/RoguelikeFormationTaskPlugin.cpp index 3b49774b73..5f2de42bcf 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeFormationTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeFormationTaskPlugin.cpp @@ -1,12 +1,12 @@ #include "RoguelikeFormationTaskPlugin.h" -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" -#include "../Sub/ProcessTask.h" #include "Controller.h" -#include "ImageAnalyzer/RoguelikeFormationImageAnalyzer.h" -#include "RuntimeStatus.h" -#include "TaskData.h" +#include "ImageAnalyzer/Roguelike/RoguelikeFormationImageAnalyzer.h" +#include "Resource/TaskData.h" +#include "Status.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" bool asst::RoguelikeFormationTaskPlugin::verify(AsstMsg msg, const json::value& details) const @@ -15,7 +15,7 @@ bool asst::RoguelikeFormationTaskPlugin::verify(AsstMsg msg, const json::value& return false; } - auto roguelike_name_opt = m_status->get_properties(RuntimeStatus::RoguelikeTheme); + auto roguelike_name_opt = m_status->get_properties(Status::RoguelikeTheme); if (!roguelike_name_opt) { Log.error("Roguelike name doesn't exist!"); return false; diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeFormationTaskPlugin.h b/src/MeoAssistant/Task/Roguelike/RoguelikeFormationTaskPlugin.h similarity index 93% rename from src/MeoAssistant/Task/Plugin/RoguelikeFormationTaskPlugin.h rename to src/MeoAssistant/Task/Roguelike/RoguelikeFormationTaskPlugin.h index 7c273ab5d4..43fbd3e8f3 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeFormationTaskPlugin.h +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeFormationTaskPlugin.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractTaskPlugin.h" +#include "Task/AbstractTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.cpp b/src/MeoAssistant/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp similarity index 89% rename from src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.cpp rename to src/MeoAssistant/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp index 864266c763..8cfb59c122 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeRecruitTaskPlugin.cpp @@ -1,12 +1,12 @@ #include "RoguelikeRecruitTaskPlugin.h" -#include "../Sub/ProcessTask.h" #include "Controller.h" -#include "ImageAnalyzer/RoguelikeRecruitImageAnalyzer.h" -#include "Resource/BattleDataConfig.h" -#include "Resource/RoguelikeRecruitConfig.h" -#include "RuntimeStatus.h" -#include "TaskData.h" +#include "ImageAnalyzer/Roguelike/RoguelikeRecruitImageAnalyzer.h" +#include "Resource/Miscellaneous/BattleDataConfig.h" +#include "Resource/Roguelike/RoguelikeRecruitConfig.h" +#include "Resource/TaskData.h" +#include "Status.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" bool asst::RoguelikeRecruitTaskPlugin::verify(AsstMsg msg, const json::value& details) const @@ -15,7 +15,7 @@ bool asst::RoguelikeRecruitTaskPlugin::verify(AsstMsg msg, const json::value& de return false; } - auto roguelike_name_opt = m_status->get_properties(RuntimeStatus::RoguelikeTheme); + auto roguelike_name_opt = m_status->get_properties(Status::RoguelikeTheme); if (!roguelike_name_opt) { Log.error("Roguelike name doesn't exist!"); return false; @@ -62,12 +62,11 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() recruited = true; }; - bool team_full_without_rookie = m_status->get_number(RuntimeStatus::RoguelikeTeamFullWithoutRookie).value_or(0); + bool team_full_without_rookie = m_status->get_number(Status::RoguelikeTeamFullWithoutRookie).value_or(0); Log.info("team_full_without_rookie", team_full_without_rookie); // 编队信息 (已有角色) - std::string str_chars_info = - m_status->get_str(RuntimeStatus::RoguelikeCharOverview).value_or(json::value().to_string()); + std::string str_chars_info = m_status->get_str(Status::RoguelikeCharOverview).value_or(json::value().to_string()); json::value json_chars_info = json::parse(str_chars_info).value_or(json::value()); const auto& chars_map = json_chars_info.as_object(); std::unordered_map team_roles; @@ -137,7 +136,7 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() // 查询招募配置 auto& recruit_info = RoguelikeRecruit.get_oper_info( - m_status->get_properties(RuntimeStatus::RoguelikeTheme).value(), oper_info.name); + m_status->get_properties(Status::RoguelikeTheme).value(), oper_info.name); if (recruit_info.name.empty()) { continue; } @@ -152,12 +151,12 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() if (recruit_info.is_alternate) { // 预备干员可以重复招募 priority = team_full_without_rookie ? recruit_info.recruit_priority_when_team_full - : recruit_info.recruit_priority; + : recruit_info.recruit_priority; } else { // 干员待晋升 priority = team_full_without_rookie ? recruit_info.promote_priority_when_team_full - : recruit_info.promote_priority; + : recruit_info.promote_priority; } } else { @@ -165,13 +164,13 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() if (oper_info.elite == 2) { // TODO: 招募时已精二 (随机提升或对应分队) => promoted_priority priority = team_full_without_rookie ? recruit_info.recruit_priority_when_team_full - : recruit_info.recruit_priority; + : recruit_info.recruit_priority; } else if (oper_info.elite == 1 && (oper_info.level >= 50 || oper_info.level == 0)) { // 精一50级以上 // 等级是 0 一般是识别错了,多发生于外服,一般都是一错全错,先凑合着招一个吧,比不招人强 orz priority = team_full_without_rookie ? recruit_info.recruit_priority_when_team_full - : recruit_info.recruit_priority; + : recruit_info.recruit_priority; } else { // 精一50级以下,默认不招募 @@ -190,7 +189,7 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() } role_num = team_roles[oper_role]; const auto role_info = RoguelikeRecruit.get_role_info( - m_status->get_properties(RuntimeStatus::RoguelikeTheme).value(), oper_role); + m_status->get_properties(Status::RoguelikeTheme).value(), oper_role); for (const auto& offset_pair : ranges::reverse_view(role_info)) { if (role_num >= offset_pair.first) { priority += offset_pair.second; @@ -285,7 +284,7 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() } // 选择优先级最高的干员 - auto selected_oper = ranges::max_element(recruit_list, std::less{}, std::mem_fn(&RoguelikeRecruitInfo::priority)); + auto selected_oper = ranges::max_element(recruit_list, std::less {}, std::mem_fn(&RoguelikeRecruitInfo::priority)); if (selected_oper == recruit_list.cend()) { Log.trace(__FUNCTION__, "| No opers in recruit list."); return false; @@ -375,11 +374,11 @@ bool asst::RoguelikeRecruitTaskPlugin::check_core_char() { LogTraceFunction; - auto core_opt = m_status->get_str(RuntimeStatus::RoguelikeCoreChar); + auto core_opt = m_status->get_str(Status::RoguelikeCoreChar); if (!core_opt || core_opt->empty()) { return false; } - m_status->set_str(RuntimeStatus::RoguelikeCoreChar, ""); + m_status->set_str(Status::RoguelikeCoreChar, ""); return check_char(core_opt.value()); } @@ -389,17 +388,16 @@ void asst::RoguelikeRecruitTaskPlugin::select_oper(const BattleRecruitOperInfo& m_ctrler->click(oper.rect); - m_status->set_number(RuntimeStatus::RoguelikeCharElitePrefix + oper.name, oper.elite); - m_status->set_number(RuntimeStatus::RoguelikeCharLevelPrefix + oper.name, oper.level); + m_status->set_number(Status::RoguelikeCharElitePrefix + oper.name, oper.elite); + m_status->set_number(Status::RoguelikeCharLevelPrefix + oper.name, oper.level); - std::string overview_str = - m_status->get_str(RuntimeStatus::RoguelikeCharOverview).value_or(json::value().to_string()); + std::string overview_str = m_status->get_str(Status::RoguelikeCharOverview).value_or(json::value().to_string()); json::value overview = json::parse(overview_str).value_or(json::value()); - overview[oper.name] = json::object{ + overview[oper.name] = json::object { { "elite", oper.elite }, { "level", oper.level }, }; - m_status->set_str(RuntimeStatus::RoguelikeCharOverview, overview.to_string()); + m_status->set_str(Status::RoguelikeCharOverview, overview.to_string()); } void asst::RoguelikeRecruitTaskPlugin::swipe_to_the_left_of_operlist(int loop_times) diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.h b/src/MeoAssistant/Task/Roguelike/RoguelikeRecruitTaskPlugin.h similarity index 95% rename from src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.h rename to src/MeoAssistant/Task/Roguelike/RoguelikeRecruitTaskPlugin.h index 85df9c3bcc..3466badb98 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.h +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeRecruitTaskPlugin.h @@ -1,7 +1,7 @@ #pragma once -#include "AbstractTaskPlugin.h" +#include "Task/AbstractTaskPlugin.h" -#include "Utils/AsstBattleDef.h" +#include "Common/AsstBattleDef.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeResetTaskPlugin.cpp b/src/MeoAssistant/Task/Roguelike/RoguelikeResetTaskPlugin.cpp similarity index 89% rename from src/MeoAssistant/Task/Plugin/RoguelikeResetTaskPlugin.cpp rename to src/MeoAssistant/Task/Roguelike/RoguelikeResetTaskPlugin.cpp index 36df240cb3..cf0b38ec6f 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeResetTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeResetTaskPlugin.cpp @@ -1,6 +1,6 @@ #include "RoguelikeResetTaskPlugin.h" -#include "RuntimeStatus.h" +#include "Status.h" #include "Utils/Logger.hpp" bool asst::RoguelikeResetTaskPlugin::verify(AsstMsg msg, const json::value& details) const @@ -9,7 +9,7 @@ bool asst::RoguelikeResetTaskPlugin::verify(AsstMsg msg, const json::value& deta return false; } - auto roguelike_name_opt = m_status->get_properties(RuntimeStatus::RoguelikeTheme); + auto roguelike_name_opt = m_status->get_properties(Status::RoguelikeTheme); if (!roguelike_name_opt) { Log.error("Roguelike name doesn't exist!"); return false; diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeResetTaskPlugin.h b/src/MeoAssistant/Task/Roguelike/RoguelikeResetTaskPlugin.h similarity index 90% rename from src/MeoAssistant/Task/Plugin/RoguelikeResetTaskPlugin.h rename to src/MeoAssistant/Task/Roguelike/RoguelikeResetTaskPlugin.h index e8483432a0..8fe276f131 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeResetTaskPlugin.h +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeResetTaskPlugin.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractTaskPlugin.h" +#include "Task/AbstractTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeShoppingTaskPlugin.cpp b/src/MeoAssistant/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp similarity index 89% rename from src/MeoAssistant/Task/Plugin/RoguelikeShoppingTaskPlugin.cpp rename to src/MeoAssistant/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp index 19a763a36f..be9b1193b6 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeShoppingTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeShoppingTaskPlugin.cpp @@ -1,11 +1,11 @@ #include "RoguelikeShoppingTaskPlugin.h" -#include "../Sub/ProcessTask.h" #include "Controller.h" -#include "ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.h" -#include "Resource/BattleDataConfig.h" -#include "Resource/RoguelikeShoppingConfig.h" -#include "RuntimeStatus.h" +#include "ImageAnalyzer/OcrWithFlagTemplImageAnalyzer.h" +#include "Resource/Miscellaneous/BattleDataConfig.h" +#include "Resource/Roguelike/RoguelikeShoppingConfig.h" +#include "Status.h" +#include "Task/ProcessTask.h" #include "Utils/Logger.hpp" bool asst::RoguelikeShoppingTaskPlugin::verify(AsstMsg msg, const json::value& details) const @@ -14,7 +14,7 @@ bool asst::RoguelikeShoppingTaskPlugin::verify(AsstMsg msg, const json::value& d return false; } - auto roguelike_name_opt = m_status->get_properties(RuntimeStatus::RoguelikeTheme); + auto roguelike_name_opt = m_status->get_properties(Status::RoguelikeTheme); if (!roguelike_name_opt) { Log.error("Roguelike name doesn't exist!"); return false; @@ -45,10 +45,9 @@ bool asst::RoguelikeShoppingTaskPlugin::_run() return false; } - bool no_longer_buy = m_status->get_number(RuntimeStatus::RoguelikeTraderNoLongerBuy).value_or(0) ? true : false; + bool no_longer_buy = m_status->get_number(Status::RoguelikeTraderNoLongerBuy).value_or(0) ? true : false; - std::string str_chars_info = - m_status->get_str(RuntimeStatus::RoguelikeCharOverview).value_or(json::value().to_string()); + std::string str_chars_info = m_status->get_str(Status::RoguelikeCharOverview).value_or(json::value().to_string()); json::value json_chars_info = json::parse(str_chars_info).value_or(json::value()); std::unordered_map map_roles_count; @@ -93,7 +92,7 @@ bool asst::RoguelikeShoppingTaskPlugin::_run() const auto& result = analyzer.get_result(); bool bought = false; - auto& all_goods = RoguelikeShopping.get_goods(m_status->get_properties(RuntimeStatus::RoguelikeTheme).value()); + auto& all_goods = RoguelikeShopping.get_goods(m_status->get_properties(Status::RoguelikeTheme).value()); for (const auto& goods : all_goods) { if (need_exit()) { return false; @@ -156,7 +155,7 @@ bool asst::RoguelikeShoppingTaskPlugin::_run() m_ctrler->click(find_it->rect); bought = true; if (goods.no_longer_buy) { - m_status->set_number(RuntimeStatus::RoguelikeTraderNoLongerBuy, 1); + m_status->set_number(Status::RoguelikeTraderNoLongerBuy, 1); } break; } diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeShoppingTaskPlugin.h b/src/MeoAssistant/Task/Roguelike/RoguelikeShoppingTaskPlugin.h similarity index 91% rename from src/MeoAssistant/Task/Plugin/RoguelikeShoppingTaskPlugin.h rename to src/MeoAssistant/Task/Roguelike/RoguelikeShoppingTaskPlugin.h index 5173b6cb1a..1f8dafeca1 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeShoppingTaskPlugin.h +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeShoppingTaskPlugin.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractTaskPlugin.h" +#include "Task/AbstractTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeSkillSelectionTaskPlugin.cpp b/src/MeoAssistant/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.cpp similarity index 76% rename from src/MeoAssistant/Task/Plugin/RoguelikeSkillSelectionTaskPlugin.cpp rename to src/MeoAssistant/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.cpp index 71a2529585..6846a2ea41 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeSkillSelectionTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.cpp @@ -1,10 +1,10 @@ #include "RoguelikeSkillSelectionTaskPlugin.h" #include "Controller.h" -#include "ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.h" -#include "Resource/RoguelikeRecruitConfig.h" -#include "RuntimeStatus.h" -#include "TaskData.h" +#include "ImageAnalyzer/Roguelike/RoguelikeSkillSelectionImageAnalyzer.h" +#include "Resource/Roguelike/RoguelikeRecruitConfig.h" +#include "Resource/TaskData.h" +#include "Status.h" #include "Utils/Logger.hpp" @@ -14,7 +14,7 @@ bool asst::RoguelikeSkillSelectionTaskPlugin::verify(AsstMsg msg, const json::va return false; } - auto roguelike_name_opt = m_status->get_properties(RuntimeStatus::RoguelikeTheme); + auto roguelike_name_opt = m_status->get_properties(Status::RoguelikeTheme); if (!roguelike_name_opt) { Log.error("Roguelike name doesn't exist!"); return false; @@ -48,7 +48,7 @@ bool asst::RoguelikeSkillSelectionTaskPlugin::_run() bool has_rookie = false; for (const auto& [name, skill_vec] : analyzer.get_result()) { const auto& oper_info = - RoguelikeRecruit.get_oper_info(m_status->get_properties(RuntimeStatus::RoguelikeTheme).value(), name); + RoguelikeRecruit.get_oper_info(m_status->get_properties(Status::RoguelikeTheme).value(), name); if (oper_info.name.empty()) { Log.warn("Unknown oper", name); continue; @@ -68,27 +68,27 @@ bool asst::RoguelikeSkillSelectionTaskPlugin::_run() if (oper_info.promote_priority < RookieStd) { has_rookie = true; } - m_status->set_number(RuntimeStatus::RoguelikeSkillUsagePrefix + name, static_cast(oper_info.skill_usage)); + m_status->set_number(Status::RoguelikeSkillUsagePrefix + name, static_cast(oper_info.skill_usage)); } - if (!m_status->get_str(RuntimeStatus::RoguelikeCharOverview)) { + if (!m_status->get_str(Status::RoguelikeCharOverview)) { json::value overview; for (const auto& [name, skill_vec] : analyzer.get_result()) { - overview[name] = json::object{ + overview[name] = json::object { { "elite", 1 }, { "level", 80 }, // 不知道是啥等级随便填一个 }; } - m_status->set_str(RuntimeStatus::RoguelikeCharOverview, overview.to_string()); + m_status->set_str(Status::RoguelikeCharOverview, overview.to_string()); } if (analyzer.get_team_full() && !has_rookie) { Log.info("Team full and no rookie"); - m_status->set_number(RuntimeStatus::RoguelikeTeamFullWithoutRookie, 1); + m_status->set_number(Status::RoguelikeTeamFullWithoutRookie, 1); } else { Log.info("Team not full or has rookie"); - m_status->set_number(RuntimeStatus::RoguelikeTeamFullWithoutRookie, 0); + m_status->set_number(Status::RoguelikeTeamFullWithoutRookie, 0); } return true; } diff --git a/src/MeoAssistant/Task/Plugin/RoguelikeSkillSelectionTaskPlugin.h b/src/MeoAssistant/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.h similarity index 92% rename from src/MeoAssistant/Task/Plugin/RoguelikeSkillSelectionTaskPlugin.h rename to src/MeoAssistant/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.h index 771c4edb9a..462e77cb6f 100644 --- a/src/MeoAssistant/Task/Plugin/RoguelikeSkillSelectionTaskPlugin.h +++ b/src/MeoAssistant/Task/Roguelike/RoguelikeSkillSelectionTaskPlugin.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractTaskPlugin.h" +#include "Task/AbstractTaskPlugin.h" #include diff --git a/src/MeoAssistant/Utils/AsstHttp.hpp b/src/MeoAssistant/Utils/Http.hpp similarity index 99% rename from src/MeoAssistant/Utils/AsstHttp.hpp rename to src/MeoAssistant/Utils/Http.hpp index 2e8fc60372..9df14ff1e9 100644 --- a/src/MeoAssistant/Utils/AsstHttp.hpp +++ b/src/MeoAssistant/Utils/Http.hpp @@ -1,7 +1,7 @@ #pragma once -#include "AsstRanges.hpp" -#include "Utils/StringMisc.hpp" +#include "Ranges.hpp" +#include "StringMisc.hpp" #include #include diff --git a/src/MeoAssistant/Utils/AsstImageIo.hpp b/src/MeoAssistant/Utils/ImageIo.hpp similarity index 99% rename from src/MeoAssistant/Utils/AsstImageIo.hpp rename to src/MeoAssistant/Utils/ImageIo.hpp index 8545f0299a..ba6133d6d0 100644 --- a/src/MeoAssistant/Utils/AsstImageIo.hpp +++ b/src/MeoAssistant/Utils/ImageIo.hpp @@ -1,5 +1,3 @@ -#pragma once - #include #include #include diff --git a/src/MeoAssistant/Utils/Locale.hpp b/src/MeoAssistant/Utils/Locale.hpp index 46c4b85d38..68aceb29c5 100644 --- a/src/MeoAssistant/Utils/Locale.hpp +++ b/src/MeoAssistant/Utils/Locale.hpp @@ -129,5 +129,4 @@ namespace asst::utils } return str; } - } // namespace asst::utils diff --git a/src/MeoAssistant/Utils/Logger.hpp b/src/MeoAssistant/Utils/Logger.hpp index bb75dedf30..90917bc3b2 100644 --- a/src/MeoAssistant/Utils/Logger.hpp +++ b/src/MeoAssistant/Utils/Logger.hpp @@ -9,15 +9,15 @@ #include #include -#include "AsstRanges.hpp" -#include "AsstTypes.h" +#include "Common/AsstTypes.h" +#include "Common/AsstVersion.h" #include "Locale.hpp" #include "Meta.hpp" #include "Platform.hpp" +#include "Ranges.hpp" #include "SingletonHolder.hpp" #include "Time.hpp" #include "WorkingDir.hpp" -#include "Version.h" #if defined(__APPLE__) || defined(__linux__) #include diff --git a/src/MeoAssistant/Utils/NoWarningCV.h b/src/MeoAssistant/Utils/NoWarningCV.h index 61c79c08e7..7fdd22d183 100644 --- a/src/MeoAssistant/Utils/NoWarningCV.h +++ b/src/MeoAssistant/Utils/NoWarningCV.h @@ -1,6 +1,6 @@ #pragma once -#include "AsstConf.h" +#include "Common/AsstConf.h" ASST_SUPPRESS_CV_WARNINGS_START #include diff --git a/src/MeoAssistant/Utils/NoWarningCVMat.h b/src/MeoAssistant/Utils/NoWarningCVMat.h index d825243ec2..d7156ae674 100644 --- a/src/MeoAssistant/Utils/NoWarningCVMat.h +++ b/src/MeoAssistant/Utils/NoWarningCVMat.h @@ -1,6 +1,6 @@ #pragma once -#include "AsstConf.h" +#include "Common/AsstConf.h" ASST_SUPPRESS_CV_WARNINGS_START #include diff --git a/src/MeoAssistant/Utils/Platform.hpp b/src/MeoAssistant/Utils/Platform.hpp index 1a21a6f4f3..45f1ee3199 100644 --- a/src/MeoAssistant/Utils/Platform.hpp +++ b/src/MeoAssistant/Utils/Platform.hpp @@ -1,6 +1,6 @@ #pragma once -#include "Platform/AsstPlatform.h" +#include "Platform/Platform.h" namespace asst::utils { @@ -29,4 +29,4 @@ namespace asst::utils return asst::utils::path(std::string(std::string_view(utf8_str, len))); } } -} // namespace asst::utils \ No newline at end of file +} // namespace asst::utils diff --git a/src/MeoAssistant/Utils/Platform/AsstPlatform.h b/src/MeoAssistant/Utils/Platform/Platform.h similarity index 96% rename from src/MeoAssistant/Utils/Platform/AsstPlatform.h rename to src/MeoAssistant/Utils/Platform/Platform.h index 06e3702619..9268c405b7 100644 --- a/src/MeoAssistant/Utils/Platform/AsstPlatform.h +++ b/src/MeoAssistant/Utils/Platform/Platform.h @@ -7,6 +7,13 @@ #include #include +#ifdef _WIN32 +#include "PlatformWin32.h" +#include "SafeWindows.h" +#else +#include "PlatformPosix.h" +#endif // _WIN32 + namespace asst::platform { std::string call_command(const std::string& cmdline, bool* exit_flag = nullptr); diff --git a/src/MeoAssistant/Utils/Platform/AsstPlatformPosix.cpp b/src/MeoAssistant/Utils/Platform/PlatformPosix.cpp similarity index 97% rename from src/MeoAssistant/Utils/Platform/AsstPlatformPosix.cpp rename to src/MeoAssistant/Utils/Platform/PlatformPosix.cpp index d2ccef77e8..bc638f8be0 100644 --- a/src/MeoAssistant/Utils/Platform/AsstPlatformPosix.cpp +++ b/src/MeoAssistant/Utils/Platform/PlatformPosix.cpp @@ -1,6 +1,6 @@ #if __has_include() -#include "AsstPlatformPosix.h" -#include "AsstPlatform.h" +#include "PlatformPosix.h" +#include "Platform.h" #include #include diff --git a/src/MeoAssistant/Utils/Platform/AsstPlatformPosix.h b/src/MeoAssistant/Utils/Platform/PlatformPosix.h similarity index 100% rename from src/MeoAssistant/Utils/Platform/AsstPlatformPosix.h rename to src/MeoAssistant/Utils/Platform/PlatformPosix.h diff --git a/src/MeoAssistant/Utils/Platform/AsstPlatformWin32.cpp b/src/MeoAssistant/Utils/Platform/PlatformWin32.cpp similarity index 99% rename from src/MeoAssistant/Utils/Platform/AsstPlatformWin32.cpp rename to src/MeoAssistant/Utils/Platform/PlatformWin32.cpp index cc8e01084e..2196150a50 100644 --- a/src/MeoAssistant/Utils/Platform/AsstPlatformWin32.cpp +++ b/src/MeoAssistant/Utils/Platform/PlatformWin32.cpp @@ -1,6 +1,6 @@ #ifdef _WIN32 -#include "AsstPlatformWin32.h" -#include "AsstPlatform.h" +#include "PlatformWin32.h" +#include "Platform.h" #include #include diff --git a/src/MeoAssistant/Utils/Platform/AsstPlatformWin32.h b/src/MeoAssistant/Utils/Platform/PlatformWin32.h similarity index 100% rename from src/MeoAssistant/Utils/Platform/AsstPlatformWin32.h rename to src/MeoAssistant/Utils/Platform/PlatformWin32.h diff --git a/src/MeoAssistant/Utils/AsstRanges.hpp b/src/MeoAssistant/Utils/Ranges.hpp similarity index 98% rename from src/MeoAssistant/Utils/AsstRanges.hpp rename to src/MeoAssistant/Utils/Ranges.hpp index 1e19fec388..f2e94d1e2b 100644 --- a/src/MeoAssistant/Utils/AsstRanges.hpp +++ b/src/MeoAssistant/Utils/Ranges.hpp @@ -1,6 +1,6 @@ #pragma once -#include "AsstConf.h" +#include "Common/AsstConf.h" #ifdef ASST_USE_RANGES_RANGE_V3 diff --git a/src/MeoAssistant/Utils/StringMisc.hpp b/src/MeoAssistant/Utils/StringMisc.hpp index 37d5350f43..83d7b78fec 100644 --- a/src/MeoAssistant/Utils/StringMisc.hpp +++ b/src/MeoAssistant/Utils/StringMisc.hpp @@ -10,8 +10,8 @@ #include #include -#include "AsstRanges.hpp" #include "Meta.hpp" +#include "Ranges.hpp" namespace asst::utils { diff --git a/src/MeoAssistant/Utils/WorkingDir.hpp b/src/MeoAssistant/Utils/WorkingDir.hpp index 906e338e92..ee01902afd 100644 --- a/src/MeoAssistant/Utils/WorkingDir.hpp +++ b/src/MeoAssistant/Utils/WorkingDir.hpp @@ -1,7 +1,7 @@ #pragma once -#include "Utils/Platform.hpp" -#include "Utils/SingletonHolder.hpp" +#include "Platform.hpp" +#include "SingletonHolder.hpp" namespace asst { diff --git a/src/MeoAssistant/re-include.py b/src/MeoAssistant/re-include.py new file mode 100644 index 0000000000..d8b62c1dea --- /dev/null +++ b/src/MeoAssistant/re-include.py @@ -0,0 +1,49 @@ +import os + +all_headers = {} + +for root, dirs, files in os.walk("."): + if root.startswith('.'): + root = root[1:] + root = root.replace('\\', '/') + if root.startswith('/'): + root = root[1:] + if root and not root.endswith('/'): + root += '/' + for f in files: + if f.endswith(('.h', '.hpp')): + all_headers[f] = root + +print(all_headers) + +for root, dirs, files in os.walk("."): + if root.startswith('.'): + root = root[1:] + root = root.replace('\\', '/') + if root.startswith('/'): + root = root[1:] + if root and not root.endswith('/'): + root += '/' + for f in files: + if not f.endswith(('.h', '.hpp', '.c', '.cpp', '.cc')): + continue + temp = '' + with open(root + f, encoding='utf-8') as fp: + for line in fp.readlines(): + if line.startswith('#include') and '<' not in line: + if '/' in line: + header = line[line.rindex('/') + 1: len(line) - 2] + else: + header = line[line.index('"') + 1: len(line) - 2] + if header in all_headers: + new_header = all_headers[header].replace(root, '') + new_line = f"#include \"{new_header}{header}\"\n" + print(new_line) + temp += new_line + else: + temp += line + else: + temp += line + + with open(root + f, mode='w', encoding='utf-8') as fp: + fp.write(temp) diff --git a/tools/ResourceUpdater/main.cpp b/tools/ResourceUpdater/main.cpp index 8193d73671..f18a205c15 100644 --- a/tools/ResourceUpdater/main.cpp +++ b/tools/ResourceUpdater/main.cpp @@ -2,7 +2,7 @@ #include #include -#include "Utils/AsstRanges.hpp" +#include "Utils/Ranges.hpp" #include "Utils/StringMisc.hpp" #ifdef _MSC_VER