diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 70fba46a71..f201129ffc 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -15,3 +15,8 @@ # incorrect format of 3rdparty/resource/Arknights-Tile-Pos/levels.json 65d654e54b9d04d1902c9ee9f9fb2679520adafd 81ea2c4d4fce29862f719972ecb32877fc4e654f + +# refactor: 为 MaaCore 重新建立文件结构 +206df466fd5e3d8ef80387049b0c5011fb58cada +c9b5aa638a97397ab8666031ea646904527afc09 +559c913fca0dd0966896396e251be13f76ea3e52 diff --git a/.github/issue-checker.yml b/.github/issue-checker.yml index bacd89b551..1734e95cb1 100644 --- a/.github/issue-checker.yml +++ b/.github/issue-checker.yml @@ -160,33 +160,6 @@ labels: - remove module - remove infrast -# `module: copilot` -- name: copilot1 - content: "module: copilot" - regexes: '(?:自动(?:作战|战斗|编队)|自動[戰戦][鬥闘]|[Cc]opilot)' - mode: add - skip-if: - - skip all - - skip module - - skip copilot - remove-if: - - remove all - - remove module - - remove copilot -- name: copilot2 - content: "module: copilot" - regexes: '(?:作[业業])' - skip-if: - - skip all - - skip module - - skip copilot - - copilot1 - - infrast - remove-if: - - remove all - - remove module - - remove copilot - # `module: roguelike` - name: roguelike content: "module: roguelike" @@ -201,6 +174,35 @@ labels: - remove module - remove roguelike +# `module: copilot` +- name: copilot1 + content: "module: copilot" + regexes: '(?:自动(?:作战|战斗|编队)|自動[戰戦][鬥闘]|[Cc]opilot)' + mode: add + skip-if: + - skip all + - skip module + - skip copilot + - roguelike + remove-if: + - remove all + - remove module + - remove copilot +- name: copilot2 + content: "module: copilot" + regexes: '(?:作[业業])' + skip-if: + - skip all + - skip module + - skip copilot + - copilot1 + - infrast + - roguelike + remove-if: + - remove all + - remove module + - remove copilot + # `module: drop` - name: drop content: "module: drop" diff --git a/CHANGELOG.md b/CHANGELOG.md index 061bbc88b0..e18fc22d4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,6 @@ -- 新增 水月肉鸽 卡住时,自动保存截图到 `debug/roguelike/` @MistEO - 汇报 bug 请附上其中的图片,感谢~ -- 优化 水月肉鸽 部分地图部署位置 @nightofknife -- 优化 水月肉鸽 招募及藏品优先级 @zzyyyl -- 修复 水月肉鸽 亿点点卡住的 bug @MistEO -- 修复 截图出错时的重试机制 @MistEO -- 更新 界面翻译及文档 @wallsman @Tastror -- 更新 QQ 五群链接 @ABA2396 @MistEO -- 修复 编译错误 @horror-proton +- 更新 可爱牛牛图标!非常感谢 @vie 太太~ +- 优化 水月肉鸽 干员部署及朝向 @MistEO @nightofknife +- 修复 水月肉鸽 绝大部分已知的卡住问题 @MistEO +- 修复 公招 忽略 `支援机械` 的问题 @zzyyyl @horror-proton +- 重构 项目目录结构 @zzyyyl @horror-proton +- 优化 项目资源更新工具 @zzyyyl diff --git a/CMakeLists.txt b/CMakeLists.txt index 0520b96972..53edd0be2f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,6 +29,7 @@ if (MSVC) endif () include_directories(include) +include_directories(src/MeoAssistant) file(GLOB_RECURSE maa_src src/MeoAssistant/*.cpp) diff --git a/README.md b/README.md index e88cfdb79b..a7ea483725 100644 --- a/README.md +++ b/README.md @@ -173,12 +173,12 @@ MAA 的意思是 MAA Assistant Arknights ## 声明 -- 本软件 logo 并非使用 AGPL 3.0 协议开源,画师 [耗毛](https://weibo.com/u/3251357314) 及软件全体开发者保留所有权利。不得以 AGPL 3.0 协议已授权为由在未经授权的情况下使用本软件 logo,不得在未经授权的情况下将本软件 logo 用于任何商业用途。 +- 本软件 logo 并非使用 AGPL 3.0 协议开源,[耗毛](https://weibo.com/u/3251357314)、vie 两位画师及软件全体开发者保留所有权利。不得以 AGPL 3.0 协议已授权为由在未经授权的情况下使用本软件 logo,不得在未经授权的情况下将本软件 logo 用于任何商业用途。 - 本软件开源、免费,仅供学习交流使用。若您遇到商家使用本软件进行代练并收费,可能是设备与时间等费用,产生的问题及后果与本软件无关。 ## 广告 -用户交流群:[Telegram 群](https://t.me/+Mgc2Zngr-hs3ZjU1),[QQ 一群(已满)](https://jq.qq.com/?_wv=1027&k=ig786LJZ),[QQ 二群(已满)](https://jq.qq.com/?_wv=1027&k=R3oleoKc),[QQ 三群(已满)](https://jq.qq.com/?_wv=1027&k=mKdOnhWV),[QQ 四群(已满)](https://jq.qq.com/?_wv=1027&k=ABkU8mCR),[QQ 五群](https://jq.qq.com/?_wv=1027&k=To6b6H6m) +用户交流群:[Telegram 群](https://t.me/+Mgc2Zngr-hs3ZjU1),[QQ 一群(已满)](https://jq.qq.com/?_wv=1027&k=ig786LJZ),[QQ 二群(已满)](https://jq.qq.com/?_wv=1027&k=R3oleoKc),[QQ 三群(已满)](https://jq.qq.com/?_wv=1027&k=mKdOnhWV),[QQ 四群(已满)](https://jq.qq.com/?_wv=1027&k=ABkU8mCR),[QQ 五群](https://jq.qq.com/?_wv=1027&k=To6b6H6m) 自动战斗 JSON 作业分享:[prts.plus](https://prts.plus) 或 [抄作业.com](http://抄作业.com) [Bilibili 直播间](https://live.bilibili.com/2808861):每晚直播敲代码,近期很长一段时间应该都是在写本软件~ [舟无关技术交流 & 吹水群(QQ 群)](https://jq.qq.com/?_wv=1027&k=ypbzXcA2):内卷地狱! diff --git a/README_en-US.md b/README_en-US.md index 335a745e17..450a9dc6b2 100644 --- a/README_en-US.md +++ b/README_en-US.md @@ -173,7 +173,7 @@ Please refer to [Issue Bot Usage](docs/en-us/2.3-ISSUE_BOT_USAGE.md) for more de ## Disclaimer -- The logo of this software is NOT granted rights under AGPL 3.0 License. The artist [耗毛](https://weibo.com/u/3251357314) and all developers of the software reserves all rights. The logo of the software shall not be used without authorization even if the project has an AGPL 3.0 License. Nor shall the logo be used for commercial purposes without authorization. +- The logo of this software is NOT granted rights under AGPL 3.0 License. [耗毛](https://weibo.com/u/3251357314) and Vie, the two artists and all developers of the software reserves all rights. The logo of the software shall not be used without authorization even if the project has an AGPL 3.0 License. Nor shall the logo be used for commercial purposes without authorization. - The software is an open-source, free of charge software only for studying and communication purposes. There is no agreement or understanding between the developers of the software and the 3rd party person who uses this software as an assistant and charges you. In that case, the developers of the software is not responsible for the problems and consequences caused. ## Advertisement diff --git a/README_ja-JP.md b/README_ja-JP.md index 75d0c13b5b..dbba93150e 100644 --- a/README_ja-JP.md +++ b/README_ja-JP.md @@ -176,7 +176,7 @@ MAAをより良くするために開発・テストに貢献してくれたす ## 免責事項 -- 本ソフトウェアのロゴはAGPL 3.0ライセンスを使用しており、オープンソースではなく、絵師[耗毛](https://weibo.com/u/3251357314)および本ソフトウェアのすべての開発者がすべての権利を留保しています。「AGPL 3.0ライセンスに基づいて許可されている」という理由で、許可がない場合に本ソフトウェアのロゴを無断で使用することは禁止しております。また、許可なく商業目的で本ソフトウェアのロゴを無断で使用することも禁止しております。 +- 本ソフトウェアのロゴはAGPL 3.0ライセンスを使用しており、オープンソースではなく、[耗毛](https://weibo.com/u/3251357314)とVie、2人のアーティストと開発者がすべての権利を留保しています。「AGPL 3.0ライセンスに基づいて許可されている」という理由で、許可がない場合に本ソフトウェアのロゴを無断で使用することは禁止しております。また、許可なく商業目的で本ソフトウェアのロゴを無断で使用することも禁止しております。 - 本ソフトウェアはオープンソースで無料であり、学習と研究のみの目的としています。販売者が本ソフトウェアの料金を請求する場合は、デバイスや時間の料金である可能性があります。発生した問題と結果は、本ソフトウェアとは一切関係ありません。 ## 広告 diff --git a/README_zh-TW.md b/README_zh-TW.md index 1c66b4c28e..c344c74741 100644 --- a/README_zh-TW.md +++ b/README_zh-TW.md @@ -173,7 +173,7 @@ MAA 的意思是 MAA Assistant Arknights ## 聲明 -- 本軟體 logo 並非使用 AGPL 3.0 條款開源,畫師 [耗毛](https://weibo.com/u/3251357314) 及軟體全體開發者保留所有權利。不得以 AGPL 3.0 條款已授權為由在未經授權的情況下使用本軟體 logo, 不得在未經授權的情況下將本軟體 logo 用於任何商業用途。 +- 本軟體 logo 並非使用 AGPL 3.0 條款開源,[耗毛](https://weibo.com/u/3251357314)、Vie 兩位畫師以及軟體全體開發者保留所有權利。不得以 AGPL 3.0 條款已授權為由在未經授權的情況下使用本軟體 logo, 不得在未經授權的情況下將本軟體 logo 用於任何商業用途。 - 本軟體開源、免費,僅供學習交流使用。若您遇到商家使用本軟體進行代練並收費,可能是設備與時間等費用,產生的問題及後果與本軟件無關。 ## 廣告 diff --git a/resource/addition/Roguelike2/resource/roguelike_recruit.json b/resource/addition/Roguelike2/resource/roguelike_recruit.json deleted file mode 100644 index 8279b927d7..0000000000 --- a/resource/addition/Roguelike2/resource/roguelike_recruit.json +++ /dev/null @@ -1,450 +0,0 @@ -{ - "roles": [ - "Warrior", - "Pioneer", - "Tank", - "Sniper", - "Caster", - "Special", - "Medic", - "Support", - "Alternate" - ], - "Warrior": [ - { - "name": "帕拉斯", - "skill": 1, - "recruit_priority": 900, - "promote_priority": 850 - }, - { - "name": "Sharp", - "skill": 1, - "recruit_priority": 650, - "promote_priority": 600 - }, - { - "name": "艾丽妮", - "skill": 1, - "recruit_priority": 800, - "promote_priority": 750 - }, - { - "name": "煌", - "skill": 2, - "recruit_priority": 700, - "promote_priority": 650 - }, - { - "name": "山", - "skill": 2, - "skill_usage": 2, - "recruit_priority": 700, - "promote_priority": 650 - }, - { - "name": "羽毛笔", - "skill": 1, - "recruit_priority": 600, - "promote_priority": 550 - }, - { - "name": "海沫", - "skill": 1, - "recruit_priority": 600, - "promote_priority": 550 - }, - { - "name": "银灰", - "skill": 3, - "alternate_skill": 1, - "recruit_priority": 500, - "promote_priority": 800 - }, - { - "name": "陈", - "skill": 2, - "recruit_priority": 500, - "promote_priority": 600 - }, - { - "name": "拉普兰德", - "skill": 2, - "recruit_priority": 450, - "promote_priority": 400 - }, - { - "name": "幽灵鲨", - "skill": 2, - "recruit_priority": 450, - "promote_priority": 400 - }, - { - "name": "龙舌兰", - "skill": 1, - "recruit_priority": 400, - "promote_priority": 400 - }, - { - "name": "星极", - "skill": 2, - "recruit_priority": 400, - "promote_priority": 400 - }, - { - "name": "棘刺", - "skill": 3, - "alternate_skill": 1, - "recruit_priority": 350, - "promote_priority": 1000 - }, - { - "name": "柏喙", - "skill": 2, - "recruit_priority": 350, - "promote_priority": 300 - }, - { - "name": "泡普卡", - "skill": 1, - "recruit_priority": 10, - "promote_priority": 0 - }, - { - "name": "月见夜", - "skill": 1, - "recruit_priority": 10, - "promote_priority": 0 - }, - { - "name": "玫兰莎", - "skill": 1, - "recruit_priority": 10, - "promote_priority": 0 - } - ], - "Pioneer": [ - { - "name": "风笛", - "skill": 2, - "recruit_priority": 600, - "promote_priority": 500 - }, - { - "name": "芬", - "skill": 1, - "recruit_priority": 200, - "promote_priority": 0 - }, - { - "name": "桃金娘", - "skill": 1, - "recruit_priority": 200, - "promote_priority": 550 - }, - { - "name": "翎羽", - "skill": 1, - "recruit_priority": 10, - "promote_priority": 0 - } - ], - "Tank": [ - { - "name": "泥岩", - "skill": 2, - "recruit_priority": 750, - "promote_priority": 650 - }, - { - "name": "塞雷娅", - "skill": 2, - "recruit_priority": 800, - "promote_priority": 650 - }, - { - "name": "斑点", - "skill": 1, - "recruit_priority": 100, - "promote_priority": 0 - }, - { - "name": "卡缇", - "skill": 1, - "recruit_priority": 80, - "promote_priority": 0 - } - ], - "Sniper": [ - { - "name": "假日威龙陈", - "skill": 3, - "alternate_skill": 1, - "recruit_priority": 900, - "promote_priority": 900 - }, - { - "name": "Stormeye", - "skill": 1, - "recruit_priority": 750, - "promote_priority": 650 - }, - { - "name": "能天使", - "skill": 3, - "alternate_skill": 1, - "recruit_priority": 700, - "promote_priority": 650 - }, - { - "name": "空弦", - "skill": 1, - "recruit_priority": 650, - "promote_priority": 600 - }, - { - "name": "克洛丝", - "skill": 1, - "recruit_priority": 150, - "promote_priority": 0 - }, - { - "name": "安德切尔", - "skill": 1, - "recruit_priority": 100, - "promote_priority": 0 - }, - { - "name": "空爆", - "skill": 1, - "recruit_priority": 80, - "promote_priority": 0 - } - ], - "Caster": [ - { - "name": "澄闪", - "skill": 3, - "alternate_skill": 2, - "recruit_priority": 700, - "promote_priority": 800 - }, - { - "name": "Pith", - "skill": 1, - "recruit_priority": 600, - "promote_priority": 600 - }, - { - "name": "艾雅法拉", - "skill": 2, - "recruit_priority": 600, - "promote_priority": 600 - }, - { - "name": "阿米娅", - "skill": 1, - "recruit_priority": 500, - "promote_priority": 500 - }, - { - "name": "史都华德", - "skill": 1, - "recruit_priority": 100, - "promote_priority": 0 - }, - { - "name": "炎熔", - "skill": 1, - "recruit_priority": 80, - "promote_priority": 0 - } - ], - "Special": [ - { - "name": "归溟幽灵鲨", - "skill": 2, - "recruit_priority": 700, - "promote_priority": 700 - }, - { - "name": "风丸", - "skill": 2, - "recruit_priority": 550, - "promote_priority": 650 - }, - { - "name": "贝娜", - "skill": 2, - "recruit_priority": 500, - "promote_priority": 600 - }, - { - "name": "伊桑", - "skill": 2, - "recruit_priority": 500, - "promote_priority": 400 - }, - { - "name": "狮蝎", - "skill": 2, - "recruit_priority": 500, - "promote_priority": 500 - }, - { - "name": "水月", - "skill": 2, - "recruit_priority": 300, - "promote_priority": 550 - }, - { - "name": "温蒂", - "skill": 3, - "alternate_skill": 2, - "recruit_priority": 100, - "promote_priority": 650 - } - ], - "Medic": [ - { - "name": "凯尔希", - "skill": 3, - "alternate_skill": 2, - "recruit_priority": 650, - "promote_priority": 600 - }, - { - "name": "Touch", - "skill": 1, - "recruit_priority": 600, - "promote_priority": 500 - }, - { - "name": "夜莺", - "skill": 2, - "recruit_priority": 550, - "promote_priority": 450 - }, - { - "name": "白面鸮", - "skill": 2, - "recruit_priority": 550, - "promote_priority": 450 - }, - { - "name": "桑葚", - "skill": 1, - "recruit_priority": 500, - "promote_priority": 400 - }, - { - "name": "蜜莓", - "skill": 1, - "recruit_priority": 700, - "promote_priority": 1 - }, - { - "name": "苏苏洛", - "skill": 2, - "recruit_priority": 500, - "promote_priority": 400 - }, - { - "name": "调香师", - "skill": 1, - "recruit_priority": 700, - "promote_priority": 650 - }, - { - "name": "安赛尔", - "skill": 1, - "recruit_priority": 100, - "promote_priority": 0 - }, - { - "name": "芙蓉", - "skill": 1, - "recruit_priority": 80, - "promote_priority": 0 - } - ], - "Support": [ - { - "name": "灵知", - "skill": 3, - "alternate_skill": 1, - "recruit_priority": 10, - "promote_priority": 500 - }, - { - "name": "令", - "skill": 3, - "alternate_skill": 1, - "recruit_priority": 10, - "promote_priority": 900 - }, - { - "name": "铃兰", - "skill": 3, - "alternate_skill": 2, - "recruit_priority": 10, - "promote_priority": 300 - }, - { - "name": "安洁莉娜", - "skill": 3, - "alternate_skill": 2, - "recruit_priority": 10, - "promote_priority": 200 - }, - { - "name": "浊心斯卡蒂", - "skill": 2, - "recruit_priority": 10, - "promote_priority": 500 - }, - { - "name": "梓兰", - "skill": 1, - "recruit_priority": 10, - "promote_priority": 0 - } - ], - "Alternate": [ - { - "name": "预备干员-近战", - "skill": 0, - "recruit_priority": 5, - "promote_priority": 0, - "is_alternate": true - }, - { - "name": "预备干员-狙击", - "skill": 0, - "recruit_priority": 5, - "promote_priority": 0, - "is_alternate": true - }, - { - "name": "预备干员-术师", - "skill": 0, - "recruit_priority": 5, - "promote_priority": 0, - "is_alternate": true - }, - { - "name": "预备干员-后勤", - "skill": 0, - "recruit_priority": 5, - "promote_priority": 0, - "is_alternate": true - }, - { - "name": "预备干员-重装", - "skill": 0, - "recruit_priority": 5, - "promote_priority": 0, - "is_alternate": true - } - ] -} diff --git a/resource/addition/Roguelike2/resource/roguelike_shopping.json b/resource/addition/Roguelike2/resource/roguelike_shopping.json deleted file mode 100644 index ffc512497e..0000000000 --- a/resource/addition/Roguelike2/resource/roguelike_shopping.json +++ /dev/null @@ -1,489 +0,0 @@ -[ - { - "name": "长生者之证" - }, - { - "name": "血魔的寝床" - }, - { - "name": "《旧高卢地名源流考》" - }, - { - "name": "石像鬼塑像" - }, - { - "name": "特殊抑制器" - }, - { - "name": "《杜林地上环游记》" - }, - { - "name": "金酒之杯", - "no_longer_buy": true, - "ignore_no_longer_buy": true - }, - { - "name": "骑士戒律·新编", - "no_longer_buy": true, - "ignore_no_longer_buy": true - }, - { - "name": "投币玩具", - "no_longer_buy": true, - "ignore_no_longer_buy": true - }, - { - "name": "扩散之手", - "chars": [ - "异客" - ] - }, - { - "name": "撕扯之手", - "chars": [ - "帕拉斯" - ] - }, - { - "name": "人事部密信" - }, - { - "name": "残弩-典训", - "roles": [ - "SNIPER" - ], - "promotion": 1 - }, - { - "name": "绿叶菜罐头" - }, - { - "name": "073号安全试剂" - }, - { - "name": "Miss.Christine摸摸券", - "promotion": 2 - }, - { - "name": "残弩-神速", - "roles": [ - "SNIPER" - ] - }, - { - "name": "折戟-浴血", - "roles": [ - "WARRIOR" - ] - }, - { - "name": "玻璃小鸟" - }, - { - "name": "赤金的远征" - }, - { - "name": "锈蚀的铁锤" - }, - { - "name": "《第二经济改革法》" - }, - { - "name": "被撬开的道具箱" - }, - { - "name": "尖笑鬼牌", - "promotion": 1 - }, - { - "name": "“时光之末”" - }, - { - "name": "折戟-典训", - "roles": [ - "WARRIOR" - ], - "promotion": 1 - }, - { - "name": "高卢银行支票" - }, - { - "name": "折戟-破釜沉舟", - "roles": [ - "WARRIOR" - ] - }, - { - "name": "折戟-一夫当关", - "roles": [ - "WARRIOR" - ] - }, - { - "name": "全局作战文件" - }, - { - "name": "折戟-锋刃", - "roles": [ - "WARRIOR" - ] - }, - { - "name": "皇家利口酒" - }, - { - "name": "断杖-典训", - "roles": [ - "CASTER" - ], - "promotion": 1 - }, - { - "name": "古旧乐谱残章" - }, - { - "name": "苦行者泡芙" - }, - { - "name": "乌萨斯列巴" - }, - { - "name": "高卢小圆饼" - }, - { - "name": "微缩舞台模型" - }, - { - "name": "蓝色丝巾" - }, - { - "name": "钝爪-典训", - "roles": [ - "PIONEER" - ], - "promotion": 1 - }, - { - "name": "残弩-百步穿杨", - "roles": [ - "SNIPER" - ] - }, - { - "name": "万能钥匙" - }, - { - "name": "“法术杀手”" - }, - { - "name": "猩红剧团票根" - }, - { - "name": "老蒲扇" - }, - { - "name": "空白名片" - }, - { - "name": "难闻的止血剂" - }, - { - "name": "迷迭香之拥" - }, - { - "name": "源石鸢尾花" - }, - { - "name": "断杖-织法者", - "roles": [ - "CASTER" - ] - }, - { - "name": "“当红歌手”" - }, - { - "name": "银餐叉" - }, - { - "name": "Scout的狙击镜" - }, - { - "name": "维多利亚“废铁”勋章" - }, - { - "name": "折戟-突破", - "roles": [ - "WARRIOR" - ] - }, - { - "name": "莱塔尼亚荣誉勋章" - }, - { - "name": "女妖之吻" - }, - { - "name": "突击协议-利刃", - "roles": [ - "WARRIOR", - "PIONEER" - ] - }, - { - "name": "爱丽舍钱袋" - }, - { - "name": "至宝指环", - "ignore_no_longer_buy": true - }, - { - "name": "制式防暴用具" - }, - { - "name": "幸运硬币", - "ignore_no_longer_buy": true - }, - { - "name": "维多利亚蛋糕" - }, - { - "name": "“黑夜呢喃”" - }, - { - "name": "红色蝴蝶结" - }, - { - "name": "残弩-战场依存", - "roles": [ - "SNIPER" - ] - }, - { - "name": "断杖-咏唱", - "roles": [ - "CASTER" - ] - }, - { - "name": "支柱-典训", - "roles": [ - "SUPPORT" - ], - "promotion": 1 - }, - { - "name": "香草沙士汽水" - }, - { - "name": "悬丝傀儡" - }, - { - "name": "镶金骨骰" - }, - { - "name": "钝爪-爆发", - "roles": [ - "PIONEER" - ] - }, - { - "name": "苍白花冠" - }, - { - "name": "“绽放”" - }, - { - "name": "作者的喉舌" - }, - { - "name": "设计师量尺" - }, - { - "name": "古高卢银币" - }, - { - "name": "医者-妙手", - "roles": [ - "MEDIC" - ] - }, - { - "name": "急救药箱" - }, - { - "name": "钝爪-百战", - "roles": [ - "PIONEER" - ] - }, - { - "name": "皇帝的收藏" - }, - { - "name": "断杖-凝神", - "roles": [ - "CASTER" - ] - }, - { - "name": "铁棍面包" - }, - { - "name": "迷梦香精" - }, - { - "name": "赶车夫的长鞭" - }, - { - "name": "人偶之家" - }, - { - "name": "锈蚀刀片" - }, - { - "name": "贵族刺剑" - }, - { - "name": "路线说明图" - }, - { - "name": "摩根队长佳酿" - }, - { - "name": "试制巧克力" - }, - { - "name": "黄铜指南针" - }, - { - "name": "“噤声”" - }, - { - "name": "“童趣玩偶”" - }, - { - "name": "显圣吊坠" - }, - { - "name": "破坏协议-消除", - "roles": [ - "CASTER", - "SPECIAL" - ] - }, - { - "name": "远程协议-遥击", - "roles": [ - "SNIPER", - "MEDIC" - ] - }, - { - "name": "地区行动方案" - }, - { - "name": "舞者手链" - }, - { - "name": "安洁莉娜的创想" - }, - { - "name": "异铁小圆盾" - }, - { - "name": "破损的面具" - }, - { - "name": "羽兽肝酱" - }, - { - "name": "活玫瑰" - }, - { - "name": "“聚焦”" - }, - { - "name": "钝爪-熟稔", - "roles": [ - "PIONEER" - ] - }, - { - "name": "独奏八音盒" - }, - { - "name": "球球果汁" - }, - { - "name": "古怪的长笛" - }, - { - "name": "女皇之愿" - }, - { - "name": "荒地龙舌兰" - }, - { - "name": "演出用香水" - }, - { - "name": "医者-理智固剂", - "roles": [ - "MEDIC" - ] - }, - { - "name": "生命之水" - }, - { - "name": "奇渊面具" - }, - { - "name": "昏暗的提灯" - }, - { - "name": "皇族金胸针" - }, - { - "name": "皇帝的恩宠" - }, - { - "name": "开裂的束缚带" - }, - { - "name": "解约协议" - }, - { - "name": "残破合影" - }, - { - "name": "精神治疗录像带" - }, - { - "name": "军团护心镜" - }, - { - "name": "“迷醉荷谟伊”" - }, - { - "name": "食腐者手杖" - }, - { - "name": "凯旋号角" - }, - { - "name": "假面舞会面具", - "ignore_no_longer_buy": true - }, - { - "name": "高闪相机" - }, - { - "name": "“逝者垂泪”" - }, - { - "name": "四叶草化石" - } -] diff --git a/resource/addition/Roguelike2/resource/tasks.json b/resource/addition/Roguelike2/resource/tasks.json index c71e3e8346..18926bdede 100644 --- a/resource/addition/Roguelike2/resource/tasks.json +++ b/resource/addition/Roguelike2/resource/tasks.json @@ -22,7 +22,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike1StageBoons": { @@ -48,7 +50,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike1StageCambatDps": { @@ -75,7 +79,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike1StageEmergencyDps": { @@ -102,7 +108,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike2StageRegionalCommissioning": { @@ -128,7 +136,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike2StageGambling": { @@ -154,7 +164,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike2StageDreadfulFoe-5": { @@ -180,7 +192,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike1StageTrader": { @@ -204,7 +218,9 @@ "Roguelike1StageEmergencyDps", "Roguelike1StageDreadfulFoe", "Roguelike2StageDreadfulFoe-5", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike1StageSafeHouse": { @@ -228,7 +244,9 @@ "Roguelike1StageEmergencyDps", "Roguelike1StageDreadfulFoe", "Roguelike2StageDreadfulFoe-5", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike1StageDreadfulFoe": { @@ -255,7 +273,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ], "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错" }, @@ -282,7 +302,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike2GetDropBox": { @@ -320,5 +342,78 @@ "Roguelike1ChooseOperFlag", "Roguelike1ClickToDrops" ] + }, + "Roguelike2LastReward4": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 174, + 151, + 935, + 533 + ], + "next": [ + "Roguelike1LastRewardConfirm" + ] + }, + "Roguelike2CloseCollectionContinue": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 549, + 440, + 123, + 130 + ], + "maskRange": [ + 100, + 255 + ], + "next": [ + "Roguelike1StageEncounterEnter", + "Roguelike1StageTrader", + "Roguelike1StageSafeHouse", + "Roguelike1StageEncounter", + "Roguelike1StageBoons", + "Roguelike1StageCambatDps", + "Roguelike1StageEmergencyDps", + "Roguelike1StageDreadfulFoe", + "Roguelike2StageDreadfulFoe-5", + "Roguelike2StageRegionalCommissioning", + "Roguelike2StageGambling", + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" + ] + }, + "Roguelike2CloseCollectionClose": { + "action": "ClickSelf", + "cache": false, + "roi": [ + 572, + 434, + 144, + 141 + ], + "maskRange": [ + 100, + 255 + ], + "next": [ + "Roguelike1StageEncounterEnter", + "Roguelike1StageTrader", + "Roguelike1StageSafeHouse", + "Roguelike1StageEncounter", + "Roguelike1StageBoons", + "Roguelike1StageCambatDps", + "Roguelike1StageEmergencyDps", + "Roguelike1StageDreadfulFoe", + "Roguelike2StageDreadfulFoe-5", + "Roguelike2StageRegionalCommissioning", + "Roguelike2StageGambling", + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" + ] } -} +} \ No newline at end of file diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1Recruit1.png b/resource/addition/Roguelike2/resource/template/Roguelike1Recruit1.png index bf3c6f601d..56025edf33 100644 Binary files a/resource/addition/Roguelike2/resource/template/Roguelike1Recruit1.png and b/resource/addition/Roguelike2/resource/template/Roguelike1Recruit1.png differ diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageBoons.png b/resource/addition/Roguelike2/resource/template/Roguelike1StageBoons.png index 6c9bca7c26..81ba9032fa 100644 Binary files a/resource/addition/Roguelike2/resource/template/Roguelike1StageBoons.png and b/resource/addition/Roguelike2/resource/template/Roguelike1StageBoons.png differ diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2CloseCollectionClose.png b/resource/addition/Roguelike2/resource/template/Roguelike2CloseCollectionClose.png new file mode 100644 index 0000000000..9fad3b558c Binary files /dev/null and b/resource/addition/Roguelike2/resource/template/Roguelike2CloseCollectionClose.png differ diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2CloseCollectionContinue.png b/resource/addition/Roguelike2/resource/template/Roguelike2CloseCollectionContinue.png new file mode 100644 index 0000000000..94af34db47 Binary files /dev/null and b/resource/addition/Roguelike2/resource/template/Roguelike2CloseCollectionContinue.png differ diff --git a/resource/addition/Roguelike2/resource/template/Roguelike2LastReward4.png b/resource/addition/Roguelike2/resource/template/Roguelike2LastReward4.png new file mode 100644 index 0000000000..f719075ee2 Binary files /dev/null and b/resource/addition/Roguelike2/resource/template/Roguelike2LastReward4.png differ diff --git a/resource/addition/Roguelike2/resource/template/Roguelike1StageDreadfulFoe-5.png b/resource/addition/Roguelike2/resource/template/Roguelike2StageDreadfulFoe-5.png similarity index 100% rename from resource/addition/Roguelike2/resource/template/Roguelike1StageDreadfulFoe-5.png rename to resource/addition/Roguelike2/resource/template/Roguelike2StageDreadfulFoe-5.png diff --git a/resource/global/YoStarEN/resource/recruitment.json b/resource/global/YoStarEN/resource/recruitment.json index 523dc681a6..ee751e18ab 100644 --- a/resource/global/YoStarEN/resource/recruitment.json +++ b/resource/global/YoStarEN/resource/recruitment.json @@ -7,6 +7,7 @@ "tags": [ "治疗", "远程位", + "支援机械", "医疗干员" ] }, @@ -17,6 +18,7 @@ "tags": [ "支援", "近战位", + "支援机械", "近卫干员" ] }, @@ -27,6 +29,7 @@ "tags": [ "爆发", "近战位", + "支援机械", "特种干员" ] }, @@ -37,6 +40,7 @@ "tags": [ "支援", "远程位", + "支援机械", "狙击干员" ] }, diff --git a/resource/global/YoStarEN/resource/tasks.json b/resource/global/YoStarEN/resource/tasks.json index a4db251b36..6344baf3cf 100644 --- a/resource/global/YoStarEN/resource/tasks.json +++ b/resource/global/YoStarEN/resource/tasks.json @@ -113,6 +113,7 @@ }, "RecruitTags": { "algorithm": "OcrDetect", + "fullMatch": true, "text": [], "roi": [ 375, diff --git a/resource/global/YoStarJP/resource/recruitment.json b/resource/global/YoStarJP/resource/recruitment.json index 78ce7e212d..a23301987a 100644 --- a/resource/global/YoStarJP/resource/recruitment.json +++ b/resource/global/YoStarJP/resource/recruitment.json @@ -7,6 +7,7 @@ "tags": [ "治疗", "远程位", + "支援机械", "医疗干员" ] }, @@ -17,6 +18,7 @@ "tags": [ "支援", "近战位", + "支援机械", "近卫干员" ] }, @@ -27,6 +29,7 @@ "tags": [ "爆发", "近战位", + "支援机械", "特种干员" ] }, @@ -37,6 +40,7 @@ "tags": [ "支援", "远程位", + "支援机械", "狙击干员" ] }, diff --git a/resource/global/YoStarJP/resource/tasks.json b/resource/global/YoStarJP/resource/tasks.json index 33b8dd667e..d9f55ed01a 100644 --- a/resource/global/YoStarJP/resource/tasks.json +++ b/resource/global/YoStarJP/resource/tasks.json @@ -115,6 +115,7 @@ }, "RecruitTags": { "algorithm": "OcrDetect", + "fullMatch": true, "text": [], "roi": [ 375, diff --git a/resource/global/YoStarKR/resource/recruitment.json b/resource/global/YoStarKR/resource/recruitment.json index 3612bb254d..fa320aa51c 100644 --- a/resource/global/YoStarKR/resource/recruitment.json +++ b/resource/global/YoStarKR/resource/recruitment.json @@ -7,6 +7,7 @@ "tags": [ "治疗", "远程位", + "支援机械", "医疗干员" ] }, @@ -17,6 +18,7 @@ "tags": [ "支援", "近战位", + "支援机械", "近卫干员" ] }, @@ -27,6 +29,7 @@ "tags": [ "爆发", "近战位", + "支援机械", "特种干员" ] }, @@ -37,6 +40,7 @@ "tags": [ "支援", "远程位", + "支援机械", "狙击干员" ] }, diff --git a/resource/global/txwy/resource/recruitment.json b/resource/global/txwy/resource/recruitment.json index 819475eec9..99937f94a5 100644 --- a/resource/global/txwy/resource/recruitment.json +++ b/resource/global/txwy/resource/recruitment.json @@ -7,6 +7,7 @@ "tags": [ "治疗", "远程位", + "支援机械", "医疗干员" ] }, @@ -17,6 +18,7 @@ "tags": [ "支援", "近战位", + "支援机械", "近卫干员" ] }, @@ -27,6 +29,7 @@ "tags": [ "爆发", "近战位", + "支援机械", "特种干员" ] }, diff --git a/resource/global/txwy/resource/tasks.json b/resource/global/txwy/resource/tasks.json index bf84b278a3..317094f8f5 100644 --- a/resource/global/txwy/resource/tasks.json +++ b/resource/global/txwy/resource/tasks.json @@ -205,6 +205,7 @@ }, "RecruitTags": { "algorithm": "OcrDetect", + "fullMatch": true, "text": [], "roi": [ 375, diff --git a/resource/recruitment.json b/resource/recruitment.json index 8cc858c4a0..c0a08c0c91 100644 --- a/resource/recruitment.json +++ b/resource/recruitment.json @@ -7,6 +7,7 @@ "tags": [ "治疗", "远程位", + "支援机械", "医疗干员" ] }, @@ -17,6 +18,7 @@ "tags": [ "支援", "近战位", + "支援机械", "近卫干员" ] }, @@ -27,6 +29,7 @@ "tags": [ "爆发", "近战位", + "支援机械", "特种干员" ] }, @@ -37,6 +40,7 @@ "tags": [ "支援", "远程位", + "支援机械", "狙击干员" ] }, diff --git a/resource/roguelike_copilot.json b/resource/roguelike_copilot.json index 883cd8a99d..36df660201 100644 --- a/resource/roguelike_copilot.json +++ b/resource/roguelike_copilot.json @@ -2,53 +2,163 @@ { "stage_name": "蓄水池", "replacement_home": [ + { + "location": [ + 6, + 4 + ], + "direction_Doc1": "优先朝向,但并不代表绝对是这个方向(算法自行判断)", + "direction_Doc2": "不填默认 none,即没有推荐方向,完全由算法自行判断", + "direction_Doc3": "none / left / right / up / down / 无 / 上 / 下 / 左 / 右", + "direction": "left" + } + ], + "blacklist_location_Doc": "这里是用法举例,不是说蓄水池这个图需要 ban 这两个点", + "blacklist_location": [ [ - 6, - 4 + 0, + 0 + ], + [ + 1, + 1 ] ] }, { "stage_name": "共生", "replacement_home": [ + { + "location": [ + 4, + 4 + ], + "direction": "up" + } + ] + }, + { + "stage_name": "海窟沙暴", + "replacement_home": [ + { + "location": [ + 3, + 4 + ], + "direction": "up" + }, + { + "location": [ + 4, + 4 + ], + "direction": "up" + } + ] + }, + { + "stage_name": "纠错", + "replacement_home": [ + { + "location": [ + 3, + 5 + ], + "direction": "right" + } + ], + "blacklist_location": [ [ - 4, - 4 + 5, + 5 + ] + ] + }, + { + "stage_name": "订正", + "replacement_home": [ + { + "location": [ + 3, + 5 + ], + "direction": "right" + } + ], + "blacklist_location": [ + [ + 5, + 5 ] ] }, { "stage_name": "无声呼号", "replacement_home": [ - [ - 3, - 2 - ] + { + "location": [ + 3, + 2 + ], + "direction": "right" + } ] }, { "stage_name": "海神的信者", "replacement_home": [ - [ - 5, - 2 - ] + { + "location": [ + 5, + 2 + ], + "direction": "up" + } ] }, { "stage_name": "征兆", "replacement_home": [ - [ - 3, - 3 - ] + { + "location": [ + + 4, + 3 + ], + "direction": "right" + } ] }, { "stage_name": "除暴安良", "replacement_home": [ + { + "location": [ + 4, + 3 + ], + "direction": "right" + } + ], + "blacklist_location": [ [ 4, + 2 + ], + [ + 1, + 3 + ], + [ + 1, + 3 + ], + [ + 2, + 3 + ], + [ + 3, 3 ] ] @@ -56,219 +166,283 @@ { "stage_name": "巡逻队", "replacement_home": [ - [ - 8, - 3 - ], - [ - 8, - 4 - ] + { + "location": [ + 8, + 3 + ] + }, + { + "location": [ + 8, + 4 + ] + } ] }, { "stage_name": "压轴登场", "replacement_home": [ - [ - 3, - 4 - ] + { + "location": [ + 3, + 4 + ] + } ] }, { "stage_name": "似曾相识", "replacement_home": [ - [ - 4, - 4 - ], - [ - 5, - 4 - ] + { + "location": [ + 4, + 4 + ] + }, + { + "location": [ + 5, + 4 + ] + } ] }, { "stage_name": "阴云笼罩", "replacement_home": [ - [ - 7, - 0 - ], - [ - 6, - 0 - ] + { + "location": [ + 7, + 0 + ] + }, + { + "location": [ + 6, + 0 + ] + } ] }, { "stage_name": "从众效应", "replacement_home": [ - [ - 2, - 4 - ], - [ - 6, - 4 - ], - [ - 3, - 4 - ], - [ - 5, - 4 - ] + { + "location": [ + 2, + 4 + ] + }, + { + "location": [ + 6, + 4 + ] + }, + { + "location": [ + 3, + 4 + ] + }, + { + "location": [ + 5, + 4 + ] + } ] }, { "stage_name": "恐怖传说", "replacement_home": [ - [ - 0, - 4 - ] + { + "location": [ + 0, + 4 + ] + } ] }, { "stage_name": "寒渊惜别", "replacement_home": [ - [ - 10, - 5 - ], - [ - 0, - 1 - ] + { + "location": [ + 10, + 5 + ] + }, + { + "location": [ + 0, + 1 + ] + } ] }, { "stage_name": "正义", "replacement_home": [ - [ - 6, - 2 - ], - [ - 6, - 3 - ] + { + "location": [ + 6, + 2 + ] + }, + { + "location": [ + 6, + 3 + ] + } ] }, { "stage_name": "仪式之夜", "replacement_home": [ - [ - 10, - 2 - ], - [ - 0, - 5 - ] + { + "location": [ + 10, + 2 + ] + }, + { + "location": [ + 0, + 5 + ] + } ] }, { "stage_name": "烟花秀", "replacement_home": [ - [ - 10, - 4 - ], - [ - 10, - 2 - ] + { + "location": [ + 10, + 4 + ] + }, + { + "location": [ + 10, + 2 + ] + } ] }, { "stage_name": "步步紧逼", "replacement_home": [ - [ - 0, - 2 - ], - [ - 0, - 3 - ] + { + "location": [ + 0, + 2 + ] + }, + { + "location": [ + 0, + 3 + ] + } ] }, { "stage_name": "隔岸观火", "replacement_home": [ - [ - 11, - 2 - ], - [ - 2, - 5 - ] + { + "location": [ + 11, + 2 + ] + }, + { + "location": [ + 2, + 5 + ] + } ] }, { "stage_name": "斗兽笼", "replacement_home": [ - [ - 5, - 3 - ] + { + "location": [ + 5, + 3 + ] + } ] }, { "stage_name": "荒唐把戏", "replacement_home": [ - [ - 4, - 2 - ] + { + "location": [ + 4, + 2 + ] + } ] }, { "stage_name": "彻骨冰寒", "replacement_home": [ - [ - 7, - 4 - ], - [ - 7, - 2 - ] + { + "location": [ + 7, + 4 + ] + }, + { + "location": [ + 7, + 2 + ] + } ] }, { "stage_name": "开门请当心", "replacement_home": [ - [ - 10, - 4 - ], - [ - 10, - 6 - ] + { + "location": [ + 10, + 4 + ] + }, + { + "location": [ + 10, + 6 + ] + } ] }, { "stage_name": "覆水难收", "replacement_home": [ - [ - 3, - 4 - ] + { + "location": [ + 3, + 4 + ] + } ] }, { "stage_name": "悦耳杀机", "replacement_home": [ - [ - 6, - 6 - ] + { + "location": [ + 6, + 6 + ] + } ] } ] diff --git a/resource/roguelike_recruit.json b/resource/roguelike_recruit.json index b1bb42c07c..152c09d24b 100644 --- a/resource/roguelike_recruit.json +++ b/resource/roguelike_recruit.json @@ -23,6 +23,12 @@ "recruit_priority": 650, "promote_priority": 600 }, + { + "name": "百炼嘉维尔", + "skill": 2, + "recruit_priority": 800, + "promote_priority": 750 + }, { "name": "艾丽妮", "skill": 1, @@ -48,6 +54,12 @@ "recruit_priority": 600, "promote_priority": 550 }, + { + "name": "海沫", + "skill": 1, + "recruit_priority": 600, + "promote_priority": 550 + }, { "name": "银灰", "skill": 3, @@ -432,6 +444,13 @@ "recruit_priority": 5, "promote_priority": 0, "is_alternate": true + }, + { + "name": "预备干员-重装", + "skill": 0, + "recruit_priority": 5, + "promote_priority": 0, + "is_alternate": true } ] } diff --git a/resource/tasks.json b/resource/tasks.json index c5950de92d..80898ca265 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -4067,6 +4067,7 @@ }, "RecruitTags": { "algorithm": "OcrDetect", + "fullMatch": true, "text": [], "roi": [ 375, @@ -7203,7 +7204,9 @@ "Roguelike1StageEmergencyDps", "Roguelike1StageDreadfulFoe", "Roguelike2StageDreadfulFoe-5", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike1LastReward": { @@ -7248,6 +7251,10 @@ "Roguelike1LastRewardConfirm" ] }, + "Roguelike2LastReward4": { + "template": "empty.png", + "templThreshold": 2.0 + }, "Roguelike1LastRewardRand": { "Doc": "你的上一次探索突破了至少两层困难,这一次可以获得更多支援—— 问号", "action": "ClickSelf", @@ -7317,7 +7324,7 @@ "roi": [ 0, 153, - 365, + 1280, 532 ], "next": [ @@ -7337,6 +7344,7 @@ "Roguelike1LastReward", "Roguelike1LastReward2", "Roguelike1LastReward3", + "Roguelike2LastReward4", "Roguelike1LastRewardRand", "Roguelike1Team3", "Roguelike1CloseCollection", @@ -7349,7 +7357,9 @@ "Roguelike1StageEmergencyDps", "Roguelike1StageDreadfulFoe", "Roguelike2StageDreadfulFoe-5", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike1CloseCollection": { @@ -7365,6 +7375,7 @@ "Roguelike1LastReward", "Roguelike1LastReward2", "Roguelike1LastReward3", + "Roguelike2LastReward4", "Roguelike1LastRewardRand", "Roguelike1Team3" ] @@ -7590,7 +7601,9 @@ "Roguelike1StageEmergencyDps", "Roguelike1StageDreadfulFoe", "Roguelike2StageDreadfulFoe-5", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike1StageTrader": { @@ -7614,7 +7627,9 @@ "Roguelike1StageEmergencyDps", "Roguelike1StageDreadfulFoe", "Roguelike2StageDreadfulFoe-5", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike1StageTraderEnter": { @@ -7747,7 +7762,9 @@ "Roguelike1StageEmergencyDps", "Roguelike1StageDreadfulFoe", "Roguelike2StageDreadfulFoe-5", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike2StageRegionalCommissioning": { @@ -7969,9 +7986,19 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, + "Roguelike2CloseCollectionContinue": { + "template": "empty.png", + "templThreshold": 2.0 + }, + "Roguelike2CloseCollectionClose": { + "template": "empty.png", + "templThreshold": 2.0 + }, "Roguelike1StageEncounter": { "Doc": "不期而遇(随机奖励)", "action": "ClickSelf", @@ -7995,7 +8022,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike1StageBoons": { @@ -8021,7 +8050,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ] }, "Roguelike1StageEncounterEnter": { @@ -8052,7 +8083,9 @@ "preDelay": 500, "templThreshold": 0.99, "next": [ - "Roguelike1StageEncounterLeaveConfirm" + "Roguelike1StageEncounterLeaveConfirm", + "Roguelike1StageEncounterFree", + "Roguelike1ChooseOperFlag" ] }, "Roguelike1StageEncounterLeave": { @@ -8067,7 +8100,9 @@ "preDelay": 500, "templThreshold": 0.97, "next": [ - "Roguelike1StageEncounterLeaveConfirm" + "Roguelike1StageEncounterLeaveConfirm", + "Roguelike1StageEncounterLeave", + "Roguelike1ChooseOperFlag" ] }, "Roguelike1StageEncounterUnknown": { @@ -8082,7 +8117,9 @@ "templThreshold": 0.9, "preDelay": 1500, "next": [ - "Roguelike1StageEncounterLeaveConfirm" + "Roguelike1StageEncounterLeaveConfirm", + "Roguelike1StageEncounterUnknown", + "Roguelike1ChooseOperFlag" ] }, "Roguelike1StageEncounterLeaveConfirm": { @@ -8174,7 +8211,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ], "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错" }, @@ -8214,7 +8253,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ], "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错" }, @@ -8255,7 +8296,9 @@ "Roguelike2StageDreadfulFoe-5", "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", - "Roguelike2DiceConfirm" + "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose" ], "next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错" }, @@ -8576,6 +8619,8 @@ "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose", "Roguelike1ChooseOperFlag", "Roguelike1StageEncounterSpecialClose", "Roguelike1TraderRandomShopping", @@ -8617,6 +8662,8 @@ "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose", "Roguelike1StageEncounterFree", "Roguelike1StageEncounterLeave", "Roguelike1StageEncounterUnknown", @@ -8721,7 +8768,8 @@ "next": [ "Roguelike1GetDropSelectRecruit", "Roguelike1GetDropSelectReward", - "Roguelike1ChooseOperFlag" + "Roguelike1ChooseOperFlag", + "Roguelike1GetDropCompleted" ] }, "Roguelike1GetDropSelectRecruit": { @@ -8831,6 +8879,8 @@ "Roguelike2StageRegionalCommissioning", "Roguelike2StageGambling", "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose", "Roguelike1ClickToStartPoint" ] }, @@ -8867,6 +8917,8 @@ "Roguelike1StageDreadfulFoe", "Roguelike2StageDreadfulFoe-5", "Roguelike2DiceConfirm", + "Roguelike2CloseCollectionContinue", + "Roguelike2CloseCollectionClose", "TodaysSuppliesToRoguelike1", "TerminalToRoguelike1", "CloseAnnoToRoguelike1", diff --git a/src/MeoAssistant/Assistant.cpp b/src/MeoAssistant/Assistant.cpp index ae815cc80a..0c4c8d9efa 100644 --- a/src/MeoAssistant/Assistant.cpp +++ b/src/MeoAssistant/Assistant.cpp @@ -1,28 +1,28 @@ #include "Assistant.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" #include -#include "AsstUtils.hpp" #include "Controller.h" -#include "GeneralConfiger.h" -#include "Logger.hpp" +#include "Resource/GeneralConfiger.h" #include "RuntimeStatus.h" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" -#include "AwardTask.h" -#include "CloseDownTask.h" -#include "CopilotTask.h" -#include "DepotTask.h" -#include "FightTask.h" -#include "InfrastTask.h" -#include "MallTask.h" -#include "RecruitTask.h" -#include "RoguelikeTask.h" -#include "StartUpTask.h" -#include "VisitTask.h" +#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" #ifdef ASST_DEBUG -#include "DebugTask.h" +#include "Task/DebugTask.h" #endif using namespace asst; diff --git a/src/MeoAssistant/Assistant.h b/src/MeoAssistant/Assistant.h index fdf71cc3b0..15f259f5b1 100644 --- a/src/MeoAssistant/Assistant.h +++ b/src/MeoAssistant/Assistant.h @@ -7,8 +7,8 @@ #include #include -#include "AsstMsg.h" -#include "AsstTypes.h" +#include "Utils/AsstMsg.h" +#include "Utils/AsstTypes.h" typedef unsigned char uchar; diff --git a/src/MeoAssistant/AsstBattleDef.h b/src/MeoAssistant/AsstBattleDef.h index f8269e7e30..aeb66d3c2a 100644 --- a/src/MeoAssistant/AsstBattleDef.h +++ b/src/MeoAssistant/AsstBattleDef.h @@ -4,9 +4,9 @@ #include #include -#include "NoWarningCVMat.h" +#include "Utils/NoWarningCVMat.h" -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { @@ -107,10 +107,17 @@ namespace asst bool cooling = false; }; + struct ReplacementHome + { + Point location; + BattleDeployDirection direction; + }; + struct RoguelikeBattleData { std::string stage_name; - std::vector replacement_home; + std::vector replacement_home; + std::unordered_set blacklist_location; std::vector key_kills; }; diff --git a/src/MeoAssistant/AsstCaller.cpp b/src/MeoAssistant/AsstCaller.cpp index 4dc13eba20..41aac54711 100644 --- a/src/MeoAssistant/AsstCaller.cpp +++ b/src/MeoAssistant/AsstCaller.cpp @@ -7,10 +7,10 @@ #include #include "Assistant.h" -#include "AsstTypes.h" -#include "Logger.hpp" #include "ResourceLoader.h" -#include "Version.h" +#include "Utils/AsstTypes.h" +#include "Utils/Logger.hpp" +#include "Utils/Version.h" static constexpr unsigned long long NullSize = static_cast(-1); diff --git a/src/MeoAssistant/Controller.cpp b/src/MeoAssistant/Controller.cpp index 7996d43697..dd86536ed4 100644 --- a/src/MeoAssistant/Controller.cpp +++ b/src/MeoAssistant/Controller.cpp @@ -1,9 +1,9 @@ #include "Controller.h" -#include "AsstConf.h" -#include "AsstPlatform.h" +#include "Utils/AsstConf.h" +#include "Utils/AsstPlatform.h" #ifdef _WIN32 -#include "AsstPlatformWin32.h" +#include "Utils/AsstPlatformWin32.h" #include #else #include @@ -18,7 +18,7 @@ #include #include -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" #ifdef _MSC_VER #pragma warning(push) @@ -29,9 +29,9 @@ #pragma warning(pop) #endif -#include "AsstTypes.h" -#include "GeneralConfiger.h" -#include "Logger.hpp" +#include "Resource/GeneralConfiger.h" +#include "Utils/AsstTypes.h" +#include "Utils/Logger.hpp" asst::Controller::Controller(AsstCallback callback, void* callback_arg) : m_callback(std::move(callback)), m_callback_arg(callback_arg), m_rand_engine(std::random_device {}()) diff --git a/src/MeoAssistant/Controller.h b/src/MeoAssistant/Controller.h index bdc7c1c98f..6c400b0f70 100644 --- a/src/MeoAssistant/Controller.h +++ b/src/MeoAssistant/Controller.h @@ -1,11 +1,11 @@ #pragma once #ifdef _WIN32 -#include "SafeWindows.h" +#include "Utils/SafeWindows.h" #include #endif -#include "AsstConf.h" +#include "Utils/AsstConf.h" #include #include @@ -18,11 +18,11 @@ #include #include -#include "NoWarningCVMat.h" +#include "Utils/NoWarningCVMat.h" -#include "AsstMsg.h" -#include "AsstTypes.h" -#include "SingletonHolder.hpp" +#include "Utils/AsstMsg.h" +#include "Utils/AsstTypes.h" +#include "Utils/SingletonHolder.hpp" namespace asst { diff --git a/src/MeoAssistant/BattleImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/BattleImageAnalyzer.cpp similarity index 98% rename from src/MeoAssistant/BattleImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/BattleImageAnalyzer.cpp index 5b57c8ba68..eb6cb66f51 100644 --- a/src/MeoAssistant/BattleImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/BattleImageAnalyzer.cpp @@ -1,16 +1,16 @@ #include "BattleImageAnalyzer.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" #include -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "HashImageAnalyzer.h" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" -#include "MultiMatchImageAnalyzer.h" -#include "OcrWithFlagTemplImageAnalyzer.h" +#include "General/HashImageAnalyzer.h" +#include "General/MatchImageAnalyzer.h" +#include "General/MultiMatchImageAnalyzer.h" +#include "General/OcrWithFlagTemplImageAnalyzer.h" #include "TaskData.h" +#include "Utils/Logger.hpp" bool asst::BattleImageAnalyzer::set_target(int target) { diff --git a/src/MeoAssistant/BattleImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/BattleImageAnalyzer.h similarity index 98% rename from src/MeoAssistant/BattleImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/BattleImageAnalyzer.h index 8e73f32247..75617232e3 100644 --- a/src/MeoAssistant/BattleImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/BattleImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" #include "AsstBattleDef.h" diff --git a/src/MeoAssistant/CreditShopImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/CreditShopImageAnalyzer.cpp similarity index 94% rename from src/MeoAssistant/CreditShopImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/CreditShopImageAnalyzer.cpp index ec53980abc..bd517f15ad 100644 --- a/src/MeoAssistant/CreditShopImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/CreditShopImageAnalyzer.cpp @@ -1,14 +1,14 @@ #include "CreditShopImageAnalyzer.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstUtils.hpp" -#include "MatchImageAnalyzer.h" -#include "MultiMatchImageAnalyzer.h" -#include "OcrImageAnalyzer.h" +#include "General/MatchImageAnalyzer.h" +#include "General/MultiMatchImageAnalyzer.h" +#include "General/OcrImageAnalyzer.h" #include "TaskData.h" +#include "Utils/AsstUtils.hpp" void asst::CreditShopImageAnalyzer::set_black_list(std::vector black_list) { diff --git a/src/MeoAssistant/CreditShopImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/CreditShopImageAnalyzer.h similarity index 95% rename from src/MeoAssistant/CreditShopImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/CreditShopImageAnalyzer.h index 763cd22a21..e86184f2eb 100644 --- a/src/MeoAssistant/CreditShopImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/CreditShopImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/DepotImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/DepotImageAnalyzer.cpp similarity index 98% rename from src/MeoAssistant/DepotImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/DepotImageAnalyzer.cpp index 9de239091d..c76f5f958e 100644 --- a/src/MeoAssistant/DepotImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/DepotImageAnalyzer.cpp @@ -1,13 +1,13 @@ #include "DepotImageAnalyzer.h" -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstUtils.hpp" -#include "ItemConfiger.h" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" -#include "OcrWithPreprocessImageAnalyzer.h" +#include "General/MatchImageAnalyzer.h" +#include "General/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/ItemConfiger.h" #include "TaskData.h" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" bool asst::DepotImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/DepotImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/DepotImageAnalyzer.h similarity index 96% rename from src/MeoAssistant/DepotImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/DepotImageAnalyzer.h index 942b170f92..6a79b337cf 100644 --- a/src/MeoAssistant/DepotImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/DepotImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/AbstractImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/General/AbstractImageAnalyzer.cpp similarity index 88% rename from src/MeoAssistant/AbstractImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/General/AbstractImageAnalyzer.cpp index 100c721da0..fa0baea003 100644 --- a/src/MeoAssistant/AbstractImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/General/AbstractImageAnalyzer.cpp @@ -1,11 +1,11 @@ #include "AbstractImageAnalyzer.h" -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstImageIo.hpp" -#include "AsstUtils.hpp" #include "Controller.h" -#include "Logger.hpp" +#include "Utils/AsstImageIo.hpp" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" asst::AbstractImageAnalyzer::AbstractImageAnalyzer(const cv::Mat& image) : m_image(image), m_roi(empty_rect_to_full(Rect(), image)) @@ -71,7 +71,9 @@ bool asst::AbstractImageAnalyzer::save_img(const std::string& dirname) std::string stem = utils::get_format_time(); stem = utils::string_replace_all(stem, { { ":", "-" }, { " ", "_" } }); std::filesystem::create_directories(dirname); - bool ret = asst::imwrite(dirname + stem + "_raw.png", m_image); + std::string full_path = dirname + stem + "_raw.png"; + Log.trace("Save image", full_path); + bool ret = asst::imwrite(full_path, m_image); #ifdef ASST_DEBUG asst::imwrite(dirname + stem + "_draw.png", m_image_draw); diff --git a/src/MeoAssistant/AbstractImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/General/AbstractImageAnalyzer.h similarity index 94% rename from src/MeoAssistant/AbstractImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/General/AbstractImageAnalyzer.h index 162267a16c..20da65619c 100644 --- a/src/MeoAssistant/AbstractImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/General/AbstractImageAnalyzer.h @@ -1,7 +1,7 @@ #pragma once -#include "AsstTypes.h" -#include "NoWarningCVMat.h" +#include "Utils/AsstTypes.h" +#include "Utils/NoWarningCVMat.h" // #ifndef ASST_DEBUG // #define ASST_DEBUG diff --git a/src/MeoAssistant/HashImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/General/HashImageAnalyzer.cpp similarity index 98% rename from src/MeoAssistant/HashImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/General/HashImageAnalyzer.cpp index a6f146dc08..17d2af8be8 100644 --- a/src/MeoAssistant/HashImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/General/HashImageAnalyzer.cpp @@ -1,9 +1,9 @@ #include "HashImageAnalyzer.h" -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstUtils.hpp" -#include "Logger.hpp" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" bool asst::HashImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/HashImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/General/HashImageAnalyzer.h similarity index 100% rename from src/MeoAssistant/HashImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/General/HashImageAnalyzer.h diff --git a/src/MeoAssistant/MatchImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/General/MatchImageAnalyzer.cpp similarity index 96% rename from src/MeoAssistant/MatchImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/General/MatchImageAnalyzer.cpp index 47ea171e77..affcc30614 100644 --- a/src/MeoAssistant/MatchImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/General/MatchImageAnalyzer.cpp @@ -1,11 +1,11 @@ #include "MatchImageAnalyzer.h" -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstUtils.hpp" -#include "Logger.hpp" +#include "Resource/TemplResource.h" #include "TaskData.h" -#include "TemplResource.h" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" asst::MatchImageAnalyzer::MatchImageAnalyzer(const cv::Mat& image, const Rect& roi, std::string templ_name, double templ_thres) @@ -16,7 +16,7 @@ bool asst::MatchImageAnalyzer::analyze() { const cv::Mat templ = m_templ_name.empty() ? m_templ : TemplResource::get_instance().get_templ(m_templ_name); if (templ.empty()) { - Log.error("templ is empty!"); + Log.error("templ is empty!", m_templ_name); return false; } return match_templ(templ); diff --git a/src/MeoAssistant/MatchImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/General/MatchImageAnalyzer.h similarity index 100% rename from src/MeoAssistant/MatchImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/General/MatchImageAnalyzer.h diff --git a/src/MeoAssistant/MultiMatchImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/General/MultiMatchImageAnalyzer.cpp similarity index 96% rename from src/MeoAssistant/MultiMatchImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/General/MultiMatchImageAnalyzer.cpp index 5251a021cc..291bf5f0c2 100644 --- a/src/MeoAssistant/MultiMatchImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/General/MultiMatchImageAnalyzer.cpp @@ -1,13 +1,13 @@ #include "MultiMatchImageAnalyzer.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" #include -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "Logger.hpp" +#include "Resource/TemplResource.h" #include "TaskData.h" -#include "TemplResource.h" +#include "Utils/Logger.hpp" asst::MultiMatchImageAnalyzer::MultiMatchImageAnalyzer(const cv::Mat& image, const Rect& roi, std::string templ_name, double templ_thres) @@ -21,7 +21,7 @@ bool asst::MultiMatchImageAnalyzer::analyze() const cv::Mat templ = TemplResource::get_instance().get_templ(m_templ_name); if (templ.empty()) { - Log.error("templ is empty!"); + Log.error("templ is empty!", m_templ_name); return false; } diff --git a/src/MeoAssistant/MultiMatchImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/General/MultiMatchImageAnalyzer.h similarity index 100% rename from src/MeoAssistant/MultiMatchImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/General/MultiMatchImageAnalyzer.h diff --git a/src/MeoAssistant/OcrImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/General/OcrImageAnalyzer.cpp similarity index 99% rename from src/MeoAssistant/OcrImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/General/OcrImageAnalyzer.cpp index a8a866070b..311782a8cd 100644 --- a/src/MeoAssistant/OcrImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/General/OcrImageAnalyzer.cpp @@ -3,9 +3,9 @@ #include #include -#include "Logger.hpp" -#include "OcrPack.h" +#include "Resource/OcrPack.h" #include "TaskData.h" +#include "Utils/Logger.hpp" bool asst::OcrImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/OcrImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/General/OcrImageAnalyzer.h similarity index 98% rename from src/MeoAssistant/OcrImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/General/OcrImageAnalyzer.h index 6384bbd1df..1b9a494902 100644 --- a/src/MeoAssistant/OcrImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/General/OcrImageAnalyzer.h @@ -5,7 +5,7 @@ #include #include -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/OcrWithFlagTemplImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.cpp similarity index 100% rename from src/MeoAssistant/OcrWithFlagTemplImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.cpp diff --git a/src/MeoAssistant/OcrWithFlagTemplImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.h similarity index 100% rename from src/MeoAssistant/OcrWithFlagTemplImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.h diff --git a/src/MeoAssistant/OcrWithPreprocessImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.cpp similarity index 97% rename from src/MeoAssistant/OcrWithPreprocessImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.cpp index a0879e7b24..59cda452bb 100644 --- a/src/MeoAssistant/OcrWithPreprocessImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.cpp @@ -1,8 +1,8 @@ #include "OcrWithPreprocessImageAnalyzer.h" -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstUtils.hpp" +#include "Utils/AsstUtils.hpp" bool asst::OcrWithPreprocessImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/OcrWithPreprocessImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.h similarity index 100% rename from src/MeoAssistant/OcrWithPreprocessImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.h diff --git a/src/MeoAssistant/InfrastClueImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/InfrastClueImageAnalyzer.cpp similarity index 94% rename from src/MeoAssistant/InfrastClueImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/InfrastClueImageAnalyzer.cpp index e592d8a1ee..670c920010 100644 --- a/src/MeoAssistant/InfrastClueImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/InfrastClueImageAnalyzer.cpp @@ -1,6 +1,6 @@ #include "InfrastClueImageAnalyzer.h" -#include "MultiMatchImageAnalyzer.h" +#include "General/MultiMatchImageAnalyzer.h" bool asst::InfrastClueImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/InfrastClueImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/InfrastClueImageAnalyzer.h similarity index 93% rename from src/MeoAssistant/InfrastClueImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/InfrastClueImageAnalyzer.h index 9b67ae70d4..e4d5f4b3e2 100644 --- a/src/MeoAssistant/InfrastClueImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/InfrastClueImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/InfrastClueVacancyImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/InfrastClueVacancyImageAnalyzer.cpp similarity index 86% rename from src/MeoAssistant/InfrastClueVacancyImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/InfrastClueVacancyImageAnalyzer.cpp index 3f260b3ba8..e711a548b4 100644 --- a/src/MeoAssistant/InfrastClueVacancyImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/InfrastClueVacancyImageAnalyzer.cpp @@ -1,10 +1,10 @@ #include "InfrastClueVacancyImageAnalyzer.h" -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstUtils.hpp" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" +#include "General/MatchImageAnalyzer.h" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" bool asst::InfrastClueVacancyImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/InfrastClueVacancyImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/InfrastClueVacancyImageAnalyzer.h similarity index 95% rename from src/MeoAssistant/InfrastClueVacancyImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/InfrastClueVacancyImageAnalyzer.h index 2eb214034f..00b8104fd1 100644 --- a/src/MeoAssistant/InfrastClueVacancyImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/InfrastClueVacancyImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/InfrastFacilityImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/InfrastFacilityImageAnalyzer.cpp similarity index 96% rename from src/MeoAssistant/InfrastFacilityImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/InfrastFacilityImageAnalyzer.cpp index e827a981b4..4c4b3017c2 100644 --- a/src/MeoAssistant/InfrastFacilityImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/InfrastFacilityImageAnalyzer.cpp @@ -1,11 +1,11 @@ #include "InfrastFacilityImageAnalyzer.h" -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstUtils.hpp" -#include "Logger.hpp" -#include "MultiMatchImageAnalyzer.h" +#include "General/MultiMatchImageAnalyzer.h" #include "TaskData.h" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" bool asst::InfrastFacilityImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/InfrastFacilityImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/InfrastFacilityImageAnalyzer.h similarity index 97% rename from src/MeoAssistant/InfrastFacilityImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/InfrastFacilityImageAnalyzer.h index c3c8902712..45050e31b5 100644 --- a/src/MeoAssistant/InfrastFacilityImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/InfrastFacilityImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/InfrastOperImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/InfrastOperImageAnalyzer.cpp similarity index 98% rename from src/MeoAssistant/InfrastOperImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/InfrastOperImageAnalyzer.cpp index 39d57243c9..5b1e67fb4c 100644 --- a/src/MeoAssistant/InfrastOperImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/InfrastOperImageAnalyzer.cpp @@ -1,14 +1,14 @@ #include "InfrastOperImageAnalyzer.h" -#include "AsstRanges.hpp" -#include "NoWarningCV.h" +#include "Utils/AsstRanges.hpp" +#include "Utils/NoWarningCV.h" -#include "HashImageAnalyzer.h" -#include "InfrastConfiger.h" +#include "General/HashImageAnalyzer.h" +#include "General/MatchImageAnalyzer.h" #include "InfrastSmileyImageAnalyzer.h" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" +#include "Resource/InfrastConfiger.h" #include "TaskData.h" +#include "Utils/Logger.hpp" bool asst::InfrastOperImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/InfrastOperImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/InfrastOperImageAnalyzer.h similarity index 95% rename from src/MeoAssistant/InfrastOperImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/InfrastOperImageAnalyzer.h index ad9c7b0fae..dbbd76eb39 100644 --- a/src/MeoAssistant/InfrastOperImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/InfrastOperImageAnalyzer.h @@ -1,7 +1,7 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" -#include "AsstInfrastDef.h" +#include "Utils/AsstInfrastDef.h" namespace asst { diff --git a/src/MeoAssistant/InfrastSmileyImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/InfrastSmileyImageAnalyzer.cpp similarity index 90% rename from src/MeoAssistant/InfrastSmileyImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/InfrastSmileyImageAnalyzer.cpp index 951cabf9e7..0e4e08aae6 100644 --- a/src/MeoAssistant/InfrastSmileyImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/InfrastSmileyImageAnalyzer.cpp @@ -1,9 +1,9 @@ #include "InfrastSmileyImageAnalyzer.h" -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstUtils.hpp" -#include "MultiMatchImageAnalyzer.h" +#include "General/MultiMatchImageAnalyzer.h" +#include "Utils/AsstUtils.hpp" bool asst::InfrastSmileyImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/InfrastSmileyImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/InfrastSmileyImageAnalyzer.h similarity index 85% rename from src/MeoAssistant/InfrastSmileyImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/InfrastSmileyImageAnalyzer.h index 3db7ce4b58..2544e63217 100644 --- a/src/MeoAssistant/InfrastSmileyImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/InfrastSmileyImageAnalyzer.h @@ -1,7 +1,7 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" -#include "AsstInfrastDef.h" +#include "Utils/AsstInfrastDef.h" namespace asst { diff --git a/src/MeoAssistant/ProcessTaskImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/ProcessTaskImageAnalyzer.cpp similarity index 97% rename from src/MeoAssistant/ProcessTaskImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/ProcessTaskImageAnalyzer.cpp index 93d56dc58a..e9ee1c4a05 100644 --- a/src/MeoAssistant/ProcessTaskImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/ProcessTaskImageAnalyzer.cpp @@ -3,12 +3,12 @@ #include #include -#include "AsstUtils.hpp" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" -#include "OcrImageAnalyzer.h" +#include "General/MatchImageAnalyzer.h" +#include "General/OcrImageAnalyzer.h" #include "RuntimeStatus.h" #include "TaskData.h" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" asst::ProcessTaskImageAnalyzer::ProcessTaskImageAnalyzer(const cv::Mat& image, std::vector tasks_name) : AbstractImageAnalyzer(image), m_tasks_name(std::move(tasks_name)) diff --git a/src/MeoAssistant/ProcessTaskImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/ProcessTaskImageAnalyzer.h similarity index 96% rename from src/MeoAssistant/ProcessTaskImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/ProcessTaskImageAnalyzer.h index 337022df38..6c13e5cb6d 100644 --- a/src/MeoAssistant/ProcessTaskImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/ProcessTaskImageAnalyzer.h @@ -1,11 +1,11 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" #include #include #include -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/RecruitImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/RecruitImageAnalyzer.cpp similarity index 86% rename from src/MeoAssistant/RecruitImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/RecruitImageAnalyzer.cpp index 0229ac5e56..c40f081512 100644 --- a/src/MeoAssistant/RecruitImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/RecruitImageAnalyzer.cpp @@ -1,9 +1,9 @@ #include "RecruitImageAnalyzer.h" -#include "MatchImageAnalyzer.h" -#include "MultiMatchImageAnalyzer.h" -#include "OcrImageAnalyzer.h" -#include "RecruitConfiger.h" +#include "General/MatchImageAnalyzer.h" +#include "General/MultiMatchImageAnalyzer.h" +#include "General/OcrImageAnalyzer.h" +#include "Resource/RecruitConfiger.h" #include "TaskData.h" bool asst::RecruitImageAnalyzer::analyze() @@ -22,8 +22,7 @@ bool asst::RecruitImageAnalyzer::tags_analyze() static bool analyzer_inited = false; static OcrImageAnalyzer tags_analyzer; if (!analyzer_inited) { - const auto tags_task_ptr = Task.get("RecruitTags"); - tags_analyzer.set_roi(tags_task_ptr->roi); + tags_analyzer.set_task_info("RecruitTags"); auto& all_tags_set = RecruitData.get_all_tags(); std::vector all_tags_vec; all_tags_vec.assign(all_tags_set.begin(), all_tags_set.end()); @@ -34,7 +33,6 @@ bool asst::RecruitImageAnalyzer::tags_analyze() } tags_analyzer.set_required(std::move(all_tags_vec)); - tags_analyzer.set_replace(tags_task_ptr->replace_map); analyzer_inited = true; } diff --git a/src/MeoAssistant/RecruitImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/RecruitImageAnalyzer.h similarity index 93% rename from src/MeoAssistant/RecruitImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/RecruitImageAnalyzer.h index f3a71904a2..f204538b5c 100644 --- a/src/MeoAssistant/RecruitImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/RecruitImageAnalyzer.h @@ -1,7 +1,7 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/RoguelikeFormationImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/RoguelikeFormationImageAnalyzer.cpp similarity index 94% rename from src/MeoAssistant/RoguelikeFormationImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/RoguelikeFormationImageAnalyzer.cpp index e6a081e2eb..9e645c2adf 100644 --- a/src/MeoAssistant/RoguelikeFormationImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/RoguelikeFormationImageAnalyzer.cpp @@ -1,11 +1,11 @@ #include "RoguelikeFormationImageAnalyzer.h" -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstUtils.hpp" -#include "Logger.hpp" -#include "MultiMatchImageAnalyzer.h" +#include "General/MultiMatchImageAnalyzer.h" #include "TaskData.h" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" bool asst::RoguelikeFormationImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/RoguelikeFormationImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/RoguelikeFormationImageAnalyzer.h similarity index 94% rename from src/MeoAssistant/RoguelikeFormationImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/RoguelikeFormationImageAnalyzer.h index 077a9f0570..ad2e0375c7 100644 --- a/src/MeoAssistant/RoguelikeFormationImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/RoguelikeFormationImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/RoguelikeRecruitImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.cpp similarity index 95% rename from src/MeoAssistant/RoguelikeRecruitImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.cpp index 4a0effab50..717b209716 100644 --- a/src/MeoAssistant/RoguelikeRecruitImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.cpp @@ -1,9 +1,9 @@ #include "RoguelikeRecruitImageAnalyzer.h" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" -#include "OcrWithFlagTemplImageAnalyzer.h" +#include "General/MatchImageAnalyzer.h" +#include "General/OcrWithFlagTemplImageAnalyzer.h" #include "TaskData.h" +#include "Utils/Logger.hpp" bool asst::RoguelikeRecruitImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/RoguelikeRecruitImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.h similarity index 92% rename from src/MeoAssistant/RoguelikeRecruitImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.h index 09ce2108e7..388b34ddc9 100644 --- a/src/MeoAssistant/RoguelikeRecruitImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/RoguelikeRecruitImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" #include "AsstBattleDef.h" diff --git a/src/MeoAssistant/RoguelikeSkillSelectionImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.cpp similarity index 90% rename from src/MeoAssistant/RoguelikeSkillSelectionImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.cpp index a02037067f..41ad93940d 100644 --- a/src/MeoAssistant/RoguelikeSkillSelectionImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.cpp @@ -1,13 +1,13 @@ #include "RoguelikeSkillSelectionImageAnalyzer.h" -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstUtils.hpp" -#include "Logger.hpp" -#include "MultiMatchImageAnalyzer.h" -#include "OcrWithPreprocessImageAnalyzer.h" -#include "RoguelikeRecruitConfiger.h" +#include "General/MultiMatchImageAnalyzer.h" +#include "General/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/RoguelikeRecruitConfiger.h" #include "TaskData.h" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" bool asst::RoguelikeSkillSelectionImageAnalyzer::analyze() { diff --git a/src/MeoAssistant/RoguelikeSkillSelectionImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.h similarity index 94% rename from src/MeoAssistant/RoguelikeSkillSelectionImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.h index eacc64c782..253f996517 100644 --- a/src/MeoAssistant/RoguelikeSkillSelectionImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.h @@ -1,5 +1,5 @@ #pragma once -#include "AbstractImageAnalyzer.h" +#include "General/AbstractImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/StageDropsImageAnalyzer.cpp b/src/MeoAssistant/ImageAnalyzer/StageDropsImageAnalyzer.cpp similarity index 98% rename from src/MeoAssistant/StageDropsImageAnalyzer.cpp rename to src/MeoAssistant/ImageAnalyzer/StageDropsImageAnalyzer.cpp index db8cf04458..118ae64660 100644 --- a/src/MeoAssistant/StageDropsImageAnalyzer.cpp +++ b/src/MeoAssistant/ImageAnalyzer/StageDropsImageAnalyzer.cpp @@ -1,17 +1,17 @@ #include "StageDropsImageAnalyzer.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstImageIo.hpp" -#include "AsstUtils.hpp" -#include "ItemConfiger.h" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" -#include "OcrWithPreprocessImageAnalyzer.h" -#include "StageDropsConfiger.h" +#include "General/MatchImageAnalyzer.h" +#include "General/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/ItemConfiger.h" +#include "Resource/StageDropsConfiger.h" #include "TaskData.h" +#include "Utils/AsstImageIo.hpp" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" #include diff --git a/src/MeoAssistant/StageDropsImageAnalyzer.h b/src/MeoAssistant/ImageAnalyzer/StageDropsImageAnalyzer.h similarity index 93% rename from src/MeoAssistant/StageDropsImageAnalyzer.h rename to src/MeoAssistant/ImageAnalyzer/StageDropsImageAnalyzer.h index 0a6a78b74d..00fc7ec10b 100644 --- a/src/MeoAssistant/StageDropsImageAnalyzer.h +++ b/src/MeoAssistant/ImageAnalyzer/StageDropsImageAnalyzer.h @@ -1,6 +1,6 @@ #pragma once -#include "AbstractImageAnalyzer.h" -#include "StageDropsConfiger.h" +#include "General/AbstractImageAnalyzer.h" +#include "Resource/StageDropsConfiger.h" namespace asst { diff --git a/src/MeoAssistant/MeoAssistant.vcxproj b/src/MeoAssistant/MeoAssistant.vcxproj index 45beda22e6..d6f80e7d5c 100644 --- a/src/MeoAssistant/MeoAssistant.vcxproj +++ b/src/MeoAssistant/MeoAssistant.vcxproj @@ -10,212 +10,6 @@ x64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -224,6 +18,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 16.0 Win32Proj @@ -260,13 +261,13 @@ false - $(ProjectDir)..\..\include;$(ProjectDir)..\..\3rdparty\include;$(IncludePath) + $(ProjectDir)..\..\include;$(ProjectDir)..\..\3rdparty\include;$(ProjectDir); $(TargetDir);$(ProjectDir)..\..\3rdparty\lib;$(LibraryPath) $(ProjectDir)..\..\$(Platform)\$(Configuration)\ false - $(ProjectDir)..\..\include;$(ProjectDir)..\..\3rdparty\include;$(IncludePath) + $(ProjectDir)..\..\include;$(ProjectDir)..\..\3rdparty\include;$(ProjectDir); $(TargetDir);$(ProjectDir)..\..\3rdparty\lib;$(LibraryPath) $(ProjectDir)..\..\$(Platform)\$(Configuration)\ diff --git a/src/MeoAssistant/MeoAssistant.vcxproj.filters b/src/MeoAssistant/MeoAssistant.vcxproj.filters index 573c7ea269..6c40cd39ec 100644 --- a/src/MeoAssistant/MeoAssistant.vcxproj.filters +++ b/src/MeoAssistant/MeoAssistant.vcxproj.filters @@ -1,700 +1,327 @@ - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - {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 - - {81d86994-0d89-4cc2-aa6f-d726a0bd0490} + + {f11331ff-b6d1-4b74-8e37-1d4c7614bb2a} - - {3b93d9f2-728c-4a22-bc13-57ce7df5806c} - - - {1ef28df7-c174-4032-bbcf-9722ae53852d} - - - {557d6d96-11d9-46e1-b611-b2b8216abea6} - - - {1a8ffc31-8eb3-4af6-9065-634de2463a3e} + + {c3ebc635-47cc-4750-b219-bc7f664ffb75} - {c6a0898b-5dd7-4437-981c-00e53b30a60d} - - - {07a812fe-6b28-4be0-b6d4-33554824d3c5} - - - {74bd94e1-4973-412a-a17a-d8457de387af} - - - {87c9dee5-847b-41e6-818e-387a6385ea8b} + {fe92cbf9-0b78-4bd7-9907-747dcae32605} - {51165426-1842-491a-b5d5-9d26c59facdd} + {c010b9ca-eaf5-47e2-a984-57537863eb5e} - - {c600668a-0d70-4694-b1e5-6a78cffd0b1a} + + {aaf092ac-3fa5-4323-a304-637bbb753ca4} - - {de865908-2cef-4993-b3ab-1e20290d97b9} + + {c0eb060e-d31f-4460-82ca-8c56c05bf6fe} - - {9a6160e3-cd35-4dda-ba04-23ede1878740} + + {d279b6b3-a5d5-4a78-b37a-681d2bad3cd0} - - {b552c32a-d0c4-4244-bc37-66960444f5f2} - - - {fc8aa302-89bb-4016-924d-10177dc8b334} - - - {f57d4124-f652-4b7b-ba65-4decfc69c619} - - - {d173e449-880b-4064-bbab-97007e3d090b} - - - {34a52261-b34b-49ac-8102-22b0125617f5} + + {0aeb3ee0-4876-42a8-9752-fc60a5fcd4b8} - {f5faaa93-ae82-472e-9c59-9eccc29294a0} - - - {b91b4a75-165e-422c-9892-20c1443447ec} - - - {a37e0b23-e8f8-499c-adf5-9990277e9ffe} + {b9f7267f-d481-4c5a-ad83-41f37aa127d8} - {82f533ab-3647-46ea-b9e1-0af634b3545c} + {d73fc5ec-d236-4f7b-bd3c-1fbd25299f78} - - {67b117db-cce6-459f-bd26-bf897c02fbd7} + + {35bb3f55-f826-471e-ab6c-34228f41c8f0} + + + {a1846ebc-ce71-49af-98ac-4db26918c53c} + + + {97b6c116-69f0-467f-8512-e009f0db0346} - - 头文件 - - - 头文件 - - - 头文件\Resource - - - 头文件\Resource - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Caller - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Resource - - - 头文件\Resource - - - 头文件\Resource - - - 头文件\Resource - - - 头文件\Resource - - - 头文件 - - - 头文件\ImageAnalyzer\General - - - 头文件\ImageAnalyzer\General - - - 头文件\ImageAnalyzer\General - - - 头文件\ImageAnalyzer\General - - - 头文件\ImageAnalyzer\Final\Infrast - - - 头文件\Resource - - - 头文件\ImageAnalyzer\Final\Infrast - - - 头文件 - - - 头文件\ImageAnalyzer\Final\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 - - - 头文件\ImageAnalyzer\Final\Infrast - - - 头文件\Utils - - - 头文件\ImageAnalyzer\Final\Infrast - - - 头文件 - - - 头文件\Task\Sub\Infrast - - - 头文件\Task\Plugin - - - 头文件\Task\Plugin - - - 头文件\Task\Plugin - - - 头文件\ImageAnalyzer\General - - - 头文件\Resource - - - 头文件\Task\Sub - - - 头文件\Task\Sub - - - 头文件\Task\Sub - - - 头文件\Task\Sub - - - 头文件\ImageAnalyzer\Final - - - 头文件\ImageAnalyzer\Final - - - 头文件\ImageAnalyzer\Final - - - 头文件\ImageAnalyzer\Final - - - 头文件\ImageAnalyzer\Final - - - 头文件\Task - - - 头文件\Task - - - 头文件\Task - - - 头文件\Caller - - - 头文件\Task - - - 头文件\Task - - - 头文件\Task - - - 头文件\Task\Sub - - - 头文件\Task - - - 头文件\Task - - - 头文件\Task\Plugin - - - 头文件\ImageAnalyzer\Final - - - 头文件\Task\Plugin - - - 头文件\Resource - - - 头文件\Task\Sub - - - 头文件\Task - - - 头文件\Task\Sub - - - 头文件\Resource - - - 头文件\Resource - - - 头文件\ImageAnalyzer\Final - - - 头文件\Resource - - - 头文件\ImageAnalyzer\General - - - 头文件\ImageAnalyzer\General - - - 头文件\ImageAnalyzer\Final - - - 头文件\Task\Plugin - - - 头文件\Task\Plugin - - - 头文件\ImageAnalyzer\Final - - - 头文件\Task\Sub - - - 头文件\Task - - - 头文件\Task - - - 头文件\Task\Plugin - - - 头文件\Task\Plugin\Roguelike - - - 头文件\Task\Plugin\Roguelike - - - 头文件\Task\Plugin\Roguelike - - - 头文件\Task\Plugin\Roguelike - - - 头文件\Task\Plugin\Roguelike - - - 头文件\Task\Plugin\Roguelike - - - 头文件\Resource - - - 头文件\Resource - - - 头文件\Task\Plugin\Roguelike - - - 头文件\Task\Plugin\Roguelike - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Task\Sub - - - 头文件\Task\Plugin - - - 头文件\Task\Sub - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Resource - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Utils - - - 头文件\Task\Plugin\Roguelike - - - + + 源文件\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 + 源文件 + + 源文件 + + + 源文件 + + + 源文件 + 源文件 - - 源文件\Resource - - - 源文件\Resource - - 源文件\Caller - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Resource - - 源文件 - - 源文件\ImageAnalyzer\Final\Infrast - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\Resource - - - 源文件\ImageAnalyzer\Final\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 - - - 源文件\ImageAnalyzer\Final\Infrast - - - 源文件\ImageAnalyzer\Final\Infrast - - - 源文件\Task\Sub\Infrast - - - 源文件\ImageAnalyzer\Final\Infrast - - - 源文件 - - - 源文件\Task\Sub\Infrast - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\ImageAnalyzer\General - - - 源文件\Resource - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\Task\Sub - - - 源文件\ImageAnalyzer\Final - - - 源文件\ImageAnalyzer\Final - - - 源文件\ImageAnalyzer\Final - - - 源文件\ImageAnalyzer\Final - - - 源文件\ImageAnalyzer\Final - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\Task - - - 源文件\ImageAnalyzer\Final - - - 源文件\Task\Plugin - - - 源文件\Resource - - - 源文件\Task\Sub - - - 源文件\Task - - - 源文件\Task\Sub - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\ImageAnalyzer\Final - - - 源文件\Resource - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\General - - - 源文件\ImageAnalyzer\Final - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin - - - 源文件\ImageAnalyzer\Final - - - 源文件\Task\Sub - - - 源文件\Task - - - 源文件 - - - 源文件\Task - - - 源文件\Task\Plugin - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Resource - - - 源文件\Resource - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Plugin\Roguelike - - - 源文件\Task\Sub - - - 源文件\Task\Plugin - - - 源文件\Task\Sub - - - 源文件 - - - 源文件 - - - 源文件\Task\Plugin\Roguelike - @@ -716,4 +343,339 @@ 资源文件 + + + 头文件 + + + 头文件 + + + 源文件\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 + + + 源文件\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 + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件\Utils + + + 源文件 + + + 源文件 + + + 源文件 + + + 源文件 + + + 源文件 + + + 源文件 + + \ No newline at end of file diff --git a/src/MeoAssistant/PipelineTask.cpp b/src/MeoAssistant/PipelineTask.cpp index 89029cacdf..dd5ee34df3 100644 --- a/src/MeoAssistant/PipelineTask.cpp +++ b/src/MeoAssistant/PipelineTask.cpp @@ -2,7 +2,7 @@ #include -#include "ProcessTask.h" +#include "Task/Sub/ProcessTask.h" #include "TaskData.h" asst::PipelineTask::PipelineTask(const AsstCallback& callback, void* callback_arg) diff --git a/src/MeoAssistant/PipelineTask.h b/src/MeoAssistant/PipelineTask.h index 99d460f18d..e0e5146208 100644 --- a/src/MeoAssistant/PipelineTask.h +++ b/src/MeoAssistant/PipelineTask.h @@ -1,5 +1,5 @@ #pragma once -#include "PackageTask.h" +#include "Task/PackageTask.h" namespace asst { diff --git a/src/MeoAssistant/AbstractConfiger.cpp b/src/MeoAssistant/Resource/AbstractConfiger.cpp similarity index 92% rename from src/MeoAssistant/AbstractConfiger.cpp rename to src/MeoAssistant/Resource/AbstractConfiger.cpp index fc36aa9926..2b748b669c 100644 --- a/src/MeoAssistant/AbstractConfiger.cpp +++ b/src/MeoAssistant/Resource/AbstractConfiger.cpp @@ -2,8 +2,8 @@ #include -#include "AsstUtils.hpp" -#include "Logger.hpp" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" bool asst::AbstractConfiger::load(const std::filesystem::path& path) { diff --git a/src/MeoAssistant/AbstractConfiger.h b/src/MeoAssistant/Resource/AbstractConfiger.h similarity index 100% rename from src/MeoAssistant/AbstractConfiger.h rename to src/MeoAssistant/Resource/AbstractConfiger.h diff --git a/src/MeoAssistant/AbstractConfigerWithTempl.h b/src/MeoAssistant/Resource/AbstractConfigerWithTempl.h similarity index 100% rename from src/MeoAssistant/AbstractConfigerWithTempl.h rename to src/MeoAssistant/Resource/AbstractConfigerWithTempl.h diff --git a/src/MeoAssistant/AbstractResource.h b/src/MeoAssistant/Resource/AbstractResource.h similarity index 93% rename from src/MeoAssistant/AbstractResource.h rename to src/MeoAssistant/Resource/AbstractResource.h index dd27da354b..c6f4cb09f2 100644 --- a/src/MeoAssistant/AbstractResource.h +++ b/src/MeoAssistant/Resource/AbstractResource.h @@ -2,7 +2,7 @@ #include -#include "SingletonHolder.hpp" +#include "Utils/SingletonHolder.hpp" namespace asst { diff --git a/src/MeoAssistant/BattleDataConfiger.cpp b/src/MeoAssistant/Resource/BattleDataConfiger.cpp similarity index 98% rename from src/MeoAssistant/BattleDataConfiger.cpp rename to src/MeoAssistant/Resource/BattleDataConfiger.cpp index cc0ad036b3..898aa384b0 100644 --- a/src/MeoAssistant/BattleDataConfiger.cpp +++ b/src/MeoAssistant/Resource/BattleDataConfiger.cpp @@ -1,6 +1,6 @@ #include "BattleDataConfiger.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" #include bool asst::BattleDataConfiger::parse(const json::value& json) diff --git a/src/MeoAssistant/BattleDataConfiger.h b/src/MeoAssistant/Resource/BattleDataConfiger.h similarity index 98% rename from src/MeoAssistant/BattleDataConfiger.h rename to src/MeoAssistant/Resource/BattleDataConfiger.h index 7316f88f1a..d0e3232ba9 100644 --- a/src/MeoAssistant/BattleDataConfiger.h +++ b/src/MeoAssistant/Resource/BattleDataConfiger.h @@ -4,7 +4,7 @@ #include #include "AsstBattleDef.h" -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/CopilotConfiger.cpp b/src/MeoAssistant/Resource/CopilotConfiger.cpp similarity index 99% rename from src/MeoAssistant/CopilotConfiger.cpp rename to src/MeoAssistant/Resource/CopilotConfiger.cpp index b4dc677ad7..cd9e743989 100644 --- a/src/MeoAssistant/CopilotConfiger.cpp +++ b/src/MeoAssistant/Resource/CopilotConfiger.cpp @@ -2,7 +2,7 @@ #include -#include "Logger.hpp" +#include "Utils/Logger.hpp" bool asst::CopilotConfiger::parse(const json::value& json) { diff --git a/src/MeoAssistant/CopilotConfiger.h b/src/MeoAssistant/Resource/CopilotConfiger.h similarity index 100% rename from src/MeoAssistant/CopilotConfiger.h rename to src/MeoAssistant/Resource/CopilotConfiger.h diff --git a/src/MeoAssistant/GeneralConfiger.cpp b/src/MeoAssistant/Resource/GeneralConfiger.cpp similarity index 98% rename from src/MeoAssistant/GeneralConfiger.cpp rename to src/MeoAssistant/Resource/GeneralConfiger.cpp index 866fa1701f..2ca676a397 100644 --- a/src/MeoAssistant/GeneralConfiger.cpp +++ b/src/MeoAssistant/Resource/GeneralConfiger.cpp @@ -1,6 +1,6 @@ #include "GeneralConfiger.h" -#include "Logger.hpp" +#include "Utils/Logger.hpp" #include bool asst::GeneralConfiger::parse(const json::value& json) diff --git a/src/MeoAssistant/GeneralConfiger.h b/src/MeoAssistant/Resource/GeneralConfiger.h similarity index 99% rename from src/MeoAssistant/GeneralConfiger.h rename to src/MeoAssistant/Resource/GeneralConfiger.h index 35dd2e6fb0..61e723fc01 100644 --- a/src/MeoAssistant/GeneralConfiger.h +++ b/src/MeoAssistant/Resource/GeneralConfiger.h @@ -7,7 +7,7 @@ #include #include -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/InfrastConfiger.cpp b/src/MeoAssistant/Resource/InfrastConfiger.cpp similarity index 99% rename from src/MeoAssistant/InfrastConfiger.cpp rename to src/MeoAssistant/Resource/InfrastConfiger.cpp index 28ec52d8d3..6b132c60ac 100644 --- a/src/MeoAssistant/InfrastConfiger.cpp +++ b/src/MeoAssistant/Resource/InfrastConfiger.cpp @@ -2,7 +2,7 @@ #include -#include "Logger.hpp" +#include "Utils/Logger.hpp" bool asst::InfrastConfiger::parse(const json::value& json) { diff --git a/src/MeoAssistant/InfrastConfiger.h b/src/MeoAssistant/Resource/InfrastConfiger.h similarity index 98% rename from src/MeoAssistant/InfrastConfiger.h rename to src/MeoAssistant/Resource/InfrastConfiger.h index bde39ce01e..d9461b88dd 100644 --- a/src/MeoAssistant/InfrastConfiger.h +++ b/src/MeoAssistant/Resource/InfrastConfiger.h @@ -4,7 +4,7 @@ #include #include -#include "AsstInfrastDef.h" +#include "Utils/AsstInfrastDef.h" namespace asst { diff --git a/src/MeoAssistant/ItemConfiger.cpp b/src/MeoAssistant/Resource/ItemConfiger.cpp similarity index 93% rename from src/MeoAssistant/ItemConfiger.cpp rename to src/MeoAssistant/Resource/ItemConfiger.cpp index 871993021f..4bc9dfafef 100644 --- a/src/MeoAssistant/ItemConfiger.cpp +++ b/src/MeoAssistant/Resource/ItemConfiger.cpp @@ -1,9 +1,9 @@ #include "ItemConfiger.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" #include -#include "Logger.hpp" +#include "Utils/Logger.hpp" bool asst::ItemConfiger::parse(const json::value& json) { diff --git a/src/MeoAssistant/ItemConfiger.h b/src/MeoAssistant/Resource/ItemConfiger.h similarity index 100% rename from src/MeoAssistant/ItemConfiger.h rename to src/MeoAssistant/Resource/ItemConfiger.h diff --git a/src/MeoAssistant/OcrPack.cpp b/src/MeoAssistant/Resource/OcrPack.cpp similarity index 97% rename from src/MeoAssistant/OcrPack.cpp rename to src/MeoAssistant/Resource/OcrPack.cpp index 74b978df87..92819767a7 100644 --- a/src/MeoAssistant/OcrPack.cpp +++ b/src/MeoAssistant/Resource/OcrPack.cpp @@ -2,15 +2,15 @@ #include -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" #include -#include "AsstUtils.hpp" -#include "Logger.hpp" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" #ifdef _WIN32 -#include "AsstPlatformWin32.h" -#include "SafeWindows.h" +#include "Utils/AsstPlatformWin32.h" +#include "Utils/SafeWindows.h" #include static std::filesystem::path prepare_paddle_dir(const std::filesystem::path& dir, bool* is_temp); #else diff --git a/src/MeoAssistant/OcrPack.h b/src/MeoAssistant/Resource/OcrPack.h similarity index 97% rename from src/MeoAssistant/OcrPack.h rename to src/MeoAssistant/Resource/OcrPack.h index fd313de5f1..158c6cc670 100644 --- a/src/MeoAssistant/OcrPack.h +++ b/src/MeoAssistant/Resource/OcrPack.h @@ -3,7 +3,7 @@ #include -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace cv { diff --git a/src/MeoAssistant/RecruitConfiger.cpp b/src/MeoAssistant/Resource/RecruitConfiger.cpp similarity index 97% rename from src/MeoAssistant/RecruitConfiger.cpp rename to src/MeoAssistant/Resource/RecruitConfiger.cpp index 7cf8d8b513..35f16ab2b0 100644 --- a/src/MeoAssistant/RecruitConfiger.cpp +++ b/src/MeoAssistant/Resource/RecruitConfiger.cpp @@ -4,7 +4,7 @@ #include -#include "Logger.hpp" +#include "Utils/Logger.hpp" std::string asst::RecruitConfiger::get_tag_name(const TagId& id) const noexcept { diff --git a/src/MeoAssistant/RecruitConfiger.h b/src/MeoAssistant/Resource/RecruitConfiger.h similarity index 98% rename from src/MeoAssistant/RecruitConfiger.h rename to src/MeoAssistant/Resource/RecruitConfiger.h index 48d06e1c82..683bbd38b0 100644 --- a/src/MeoAssistant/RecruitConfiger.h +++ b/src/MeoAssistant/Resource/RecruitConfiger.h @@ -2,14 +2,14 @@ #include "AbstractConfiger.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" #include #include #include #include #include -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { @@ -83,6 +83,7 @@ namespace asst { public: using TagId = std::string; + public: virtual ~RecruitConfiger() override = default; static constexpr int CorrectNumberOfTags = 5; diff --git a/src/MeoAssistant/Resource/RoguelikeCopilotConfiger.cpp b/src/MeoAssistant/Resource/RoguelikeCopilotConfiger.cpp new file mode 100644 index 0000000000..533c4b35bb --- /dev/null +++ b/src/MeoAssistant/Resource/RoguelikeCopilotConfiger.cpp @@ -0,0 +1,66 @@ +#include "RoguelikeCopilotConfiger.h" + +#include + +#include "Utils/Logger.hpp" + +std::optional asst::RoguelikeCopilotConfiger::get_stage_data( + const std::string& stage_name) const +{ + auto it = m_stage_data.find(stage_name); + if (it == m_stage_data.end()) { + return std::nullopt; + } + return it->second; +} + +bool asst::RoguelikeCopilotConfiger::parse(const json::value& json) +{ + for (const auto& stage_info : json.as_array()) { + std::string stage_name = stage_info.at("stage_name").as_string(); + RoguelikeBattleData data; + data.stage_name = stage_name; + if (auto opt = stage_info.find("replacement_home")) { + for (auto& point : opt.value()) { + ReplacementHome home; + home.location = Point(point["location"][0].as_integer(), point["location"][1].as_integer()); + static const std::unordered_map DeployDirectionMapping = { + { "Right", BattleDeployDirection::Right }, { "RIGHT", BattleDeployDirection::Right }, + { "right", BattleDeployDirection::Right }, { "右", BattleDeployDirection::Right }, + + { "Left", BattleDeployDirection::Left }, { "LEFT", BattleDeployDirection::Left }, + { "left", BattleDeployDirection::Left }, { "左", BattleDeployDirection::Left }, + + { "Up", BattleDeployDirection::Up }, { "UP", BattleDeployDirection::Up }, + { "up", BattleDeployDirection::Up }, { "上", BattleDeployDirection::Up }, + + { "Down", BattleDeployDirection::Down }, { "DOWN", BattleDeployDirection::Down }, + { "down", BattleDeployDirection::Down }, { "下", BattleDeployDirection::Down }, + + { "None", BattleDeployDirection::None }, { "NONE", BattleDeployDirection::None }, + { "none", BattleDeployDirection::None }, { "无", BattleDeployDirection::None }, + }; + const std::string& direction_str = point.get("direction", "none"); + if (auto iter = DeployDirectionMapping.find(direction_str); iter != DeployDirectionMapping.end()) { + home.direction = iter->second; + } + else { + home.direction = BattleDeployDirection::None; + } + data.replacement_home.emplace_back(std::move(home)); + } + } + if (auto opt = stage_info.find("blacklist_location")) { + for (auto& point : opt.value()) { + data.blacklist_location.emplace(point[0].as_integer(), point[1].as_integer()); + } + } + if (auto opt = stage_info.find("key_kills")) { + for (const auto& key_kill : opt.value()) { + data.key_kills.emplace_back(static_cast(key_kill)); + } + } + m_stage_data.emplace(std::move(stage_name), std::move(data)); + } + return true; +} diff --git a/src/MeoAssistant/RoguelikeCopilotConfiger.h b/src/MeoAssistant/Resource/RoguelikeCopilotConfiger.h similarity index 100% rename from src/MeoAssistant/RoguelikeCopilotConfiger.h rename to src/MeoAssistant/Resource/RoguelikeCopilotConfiger.h diff --git a/src/MeoAssistant/RoguelikeRecruitConfiger.cpp b/src/MeoAssistant/Resource/RoguelikeRecruitConfiger.cpp similarity index 100% rename from src/MeoAssistant/RoguelikeRecruitConfiger.cpp rename to src/MeoAssistant/Resource/RoguelikeRecruitConfiger.cpp diff --git a/src/MeoAssistant/RoguelikeRecruitConfiger.h b/src/MeoAssistant/Resource/RoguelikeRecruitConfiger.h similarity index 97% rename from src/MeoAssistant/RoguelikeRecruitConfiger.h rename to src/MeoAssistant/Resource/RoguelikeRecruitConfiger.h index 37ce61bd06..0eee5dd8d9 100644 --- a/src/MeoAssistant/RoguelikeRecruitConfiger.h +++ b/src/MeoAssistant/Resource/RoguelikeRecruitConfiger.h @@ -7,7 +7,7 @@ #include #include "AsstBattleDef.h" -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/RoguelikeShoppingConfiger.cpp b/src/MeoAssistant/Resource/RoguelikeShoppingConfiger.cpp similarity index 100% rename from src/MeoAssistant/RoguelikeShoppingConfiger.cpp rename to src/MeoAssistant/Resource/RoguelikeShoppingConfiger.cpp diff --git a/src/MeoAssistant/RoguelikeShoppingConfiger.h b/src/MeoAssistant/Resource/RoguelikeShoppingConfiger.h similarity index 100% rename from src/MeoAssistant/RoguelikeShoppingConfiger.h rename to src/MeoAssistant/Resource/RoguelikeShoppingConfiger.h diff --git a/src/MeoAssistant/StageDropsConfiger.cpp b/src/MeoAssistant/Resource/StageDropsConfiger.cpp similarity index 100% rename from src/MeoAssistant/StageDropsConfiger.cpp rename to src/MeoAssistant/Resource/StageDropsConfiger.cpp diff --git a/src/MeoAssistant/StageDropsConfiger.h b/src/MeoAssistant/Resource/StageDropsConfiger.h similarity index 100% rename from src/MeoAssistant/StageDropsConfiger.h rename to src/MeoAssistant/Resource/StageDropsConfiger.h diff --git a/src/MeoAssistant/TemplResource.cpp b/src/MeoAssistant/Resource/TemplResource.cpp similarity index 94% rename from src/MeoAssistant/TemplResource.cpp rename to src/MeoAssistant/Resource/TemplResource.cpp index 143f94abf0..8677583c7b 100644 --- a/src/MeoAssistant/TemplResource.cpp +++ b/src/MeoAssistant/Resource/TemplResource.cpp @@ -4,10 +4,10 @@ #include #include -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstImageIo.hpp" -#include "Logger.hpp" +#include "Utils/AsstImageIo.hpp" +#include "Utils/Logger.hpp" void asst::TemplResource::set_load_required(std::unordered_set required) noexcept { diff --git a/src/MeoAssistant/TemplResource.h b/src/MeoAssistant/Resource/TemplResource.h similarity index 92% rename from src/MeoAssistant/TemplResource.h rename to src/MeoAssistant/Resource/TemplResource.h index 8a9d8aff77..893a891d82 100644 --- a/src/MeoAssistant/TemplResource.h +++ b/src/MeoAssistant/Resource/TemplResource.h @@ -1,12 +1,12 @@ #pragma once #include "AbstractResource.h" -#include "SingletonHolder.hpp" +#include "Utils/SingletonHolder.hpp" #include #include -#include "NoWarningCVMat.h" +#include "Utils/NoWarningCVMat.h" namespace asst { diff --git a/src/MeoAssistant/TilePack.cpp b/src/MeoAssistant/Resource/TilePack.cpp similarity index 97% rename from src/MeoAssistant/TilePack.cpp rename to src/MeoAssistant/Resource/TilePack.cpp index 010f2862a3..cdf0978a91 100644 --- a/src/MeoAssistant/TilePack.cpp +++ b/src/MeoAssistant/Resource/TilePack.cpp @@ -1,11 +1,11 @@ #include "TilePack.h" -#include "AsstConf.h" +#include "Utils/AsstConf.h" ASST_SUPPRESS_CV_WARNINGS_START #include ASST_SUPPRESS_CV_WARNINGS_END -#include "Logger.hpp" +#include "Utils/Logger.hpp" asst::TilePack::~TilePack() = default; diff --git a/src/MeoAssistant/TilePack.h b/src/MeoAssistant/Resource/TilePack.h similarity index 98% rename from src/MeoAssistant/TilePack.h rename to src/MeoAssistant/Resource/TilePack.h index ad25319d0c..4fde80d361 100644 --- a/src/MeoAssistant/TilePack.h +++ b/src/MeoAssistant/Resource/TilePack.h @@ -1,7 +1,7 @@ #pragma once #include "AbstractResource.h" -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" #include diff --git a/src/MeoAssistant/ResourceLoader.cpp b/src/MeoAssistant/ResourceLoader.cpp index c630f2d402..4f844b243c 100644 --- a/src/MeoAssistant/ResourceLoader.cpp +++ b/src/MeoAssistant/ResourceLoader.cpp @@ -2,22 +2,22 @@ #include -#include "Logger.hpp" +#include "Utils/Logger.hpp" -#include "BattleDataConfiger.h" -#include "CopilotConfiger.h" -#include "GeneralConfiger.h" -#include "InfrastConfiger.h" -#include "ItemConfiger.h" -#include "OcrPack.h" -#include "RecruitConfiger.h" -#include "RoguelikeCopilotConfiger.h" -#include "RoguelikeRecruitConfiger.h" -#include "RoguelikeShoppingConfiger.h" -#include "StageDropsConfiger.h" +#include "Resource/BattleDataConfiger.h" +#include "Resource/CopilotConfiger.h" +#include "Resource/GeneralConfiger.h" +#include "Resource/InfrastConfiger.h" +#include "Resource/ItemConfiger.h" +#include "Resource/OcrPack.h" +#include "Resource/RecruitConfiger.h" +#include "Resource/RoguelikeCopilotConfiger.h" +#include "Resource/RoguelikeRecruitConfiger.h" +#include "Resource/RoguelikeShoppingConfiger.h" +#include "Resource/StageDropsConfiger.h" +#include "Resource/TemplResource.h" +#include "Resource/TilePack.h" #include "TaskData.h" -#include "TemplResource.h" -#include "TilePack.h" bool asst::ResourceLoader::load(const std::filesystem::path& path) { diff --git a/src/MeoAssistant/ResourceLoader.h b/src/MeoAssistant/ResourceLoader.h index b12a5a3d4f..5f8e8e6444 100644 --- a/src/MeoAssistant/ResourceLoader.h +++ b/src/MeoAssistant/ResourceLoader.h @@ -1,12 +1,12 @@ #pragma once -#include "AbstractResource.h" -#include "SingletonHolder.hpp" +#include "Resource/AbstractResource.h" +#include "Utils/SingletonHolder.hpp" #include -#include "AbstractConfigerWithTempl.h" -#include "TemplResource.h" +#include "Resource/AbstractConfigerWithTempl.h" +#include "Resource/TemplResource.h" namespace asst { diff --git a/src/MeoAssistant/RoguelikeCopilotConfiger.cpp b/src/MeoAssistant/RoguelikeCopilotConfiger.cpp deleted file mode 100644 index 2412bcc3c9..0000000000 --- a/src/MeoAssistant/RoguelikeCopilotConfiger.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include "RoguelikeCopilotConfiger.h" - -#include - -#include "Logger.hpp" - -std::optional asst::RoguelikeCopilotConfiger::get_stage_data( - const std::string& stage_name) const -{ - auto it = m_stage_data.find(stage_name); - if (it == m_stage_data.end()) { - return std::nullopt; - } - return it->second; -} - -bool asst::RoguelikeCopilotConfiger::parse(const json::value& json) -{ - for (const auto& stage_info : json.as_array()) { - std::string stage_name = stage_info.at("stage_name").as_string(); - RoguelikeBattleData data; - data.stage_name = stage_name; - if (auto opt = stage_info.find("replacement_home")) { - for (auto& point : opt.value()) { - data.replacement_home.emplace_back(static_cast(point[0]), static_cast(point[1])); - } - } - if (auto opt = stage_info.find("key_kills")) { - for (const auto& key_kill : opt.value()) { - data.key_kills.emplace_back(static_cast(key_kill)); - } - } - m_stage_data.emplace(std::move(stage_name), std::move(data)); - } - return true; -} diff --git a/src/MeoAssistant/RuntimeStatus.h b/src/MeoAssistant/RuntimeStatus.h index 01079af9d6..2f5f4deede 100644 --- a/src/MeoAssistant/RuntimeStatus.h +++ b/src/MeoAssistant/RuntimeStatus.h @@ -5,7 +5,7 @@ #include #include -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/AwardTask.cpp b/src/MeoAssistant/Task/AwardTask.cpp similarity index 92% rename from src/MeoAssistant/AwardTask.cpp rename to src/MeoAssistant/Task/AwardTask.cpp index 6e783a7cec..f696889c0c 100644 --- a/src/MeoAssistant/AwardTask.cpp +++ b/src/MeoAssistant/Task/AwardTask.cpp @@ -2,7 +2,7 @@ #include -#include "ProcessTask.h" +#include "Sub/ProcessTask.h" asst::AwardTask::AwardTask(AsstCallback callback, void* callback_arg) : PackageTask(std::move(callback), callback_arg, TaskType), diff --git a/src/MeoAssistant/AwardTask.h b/src/MeoAssistant/Task/AwardTask.h similarity index 100% rename from src/MeoAssistant/AwardTask.h rename to src/MeoAssistant/Task/AwardTask.h diff --git a/src/MeoAssistant/CloseDownTask.cpp b/src/MeoAssistant/Task/CloseDownTask.cpp similarity index 92% rename from src/MeoAssistant/CloseDownTask.cpp rename to src/MeoAssistant/Task/CloseDownTask.cpp index cc1548aa02..7b8e896f0b 100644 --- a/src/MeoAssistant/CloseDownTask.cpp +++ b/src/MeoAssistant/Task/CloseDownTask.cpp @@ -2,7 +2,7 @@ #include -#include "ProcessTask.h" +#include "Sub/ProcessTask.h" asst::CloseDownTask::CloseDownTask(AsstCallback callback, void* callback_arg) : PackageTask(std::move(callback), callback_arg, TaskType), diff --git a/src/MeoAssistant/CloseDownTask.h b/src/MeoAssistant/Task/CloseDownTask.h similarity index 91% rename from src/MeoAssistant/CloseDownTask.h rename to src/MeoAssistant/Task/CloseDownTask.h index 77ecb08771..348b5b5618 100644 --- a/src/MeoAssistant/CloseDownTask.h +++ b/src/MeoAssistant/Task/CloseDownTask.h @@ -1,6 +1,6 @@ #pragma once #include "PackageTask.h" -#include "StopGameTaskPlugin.h" +#include "Plugin/StopGameTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/CopilotTask.cpp b/src/MeoAssistant/Task/CopilotTask.cpp similarity index 87% rename from src/MeoAssistant/CopilotTask.cpp rename to src/MeoAssistant/Task/CopilotTask.cpp index 7c30f21aaa..1b17a152d4 100644 --- a/src/MeoAssistant/CopilotTask.cpp +++ b/src/MeoAssistant/Task/CopilotTask.cpp @@ -1,11 +1,11 @@ #include "CopilotTask.h" -#include "AsstUtils.hpp" -#include "BattleFormationTask.h" -#include "BattleProcessTask.h" -#include "CopilotConfiger.h" -#include "Logger.hpp" -#include "ProcessTask.h" +#include "Resource/CopilotConfiger.h" +#include "Sub/BattleFormationTask.h" +#include "Sub/BattleProcessTask.h" +#include "Sub/ProcessTask.h" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" asst::CopilotTask::CopilotTask(const AsstCallback& callback, void* callback_arg) : PackageTask(callback, callback_arg, TaskType), @@ -46,6 +46,6 @@ bool asst::CopilotTask::set_params(const json::value& params) bool with_formation = params.get("formation", false); m_formation_task_ptr->set_enable(with_formation); - const std::string& filename =filename_opt.value(); + const std::string& filename = filename_opt.value(); return Copilot.load(utils::path(filename)); } diff --git a/src/MeoAssistant/CopilotTask.h b/src/MeoAssistant/Task/CopilotTask.h similarity index 100% rename from src/MeoAssistant/CopilotTask.h rename to src/MeoAssistant/Task/CopilotTask.h diff --git a/src/MeoAssistant/DebugTask.cpp b/src/MeoAssistant/Task/DebugTask.cpp similarity index 80% rename from src/MeoAssistant/DebugTask.cpp rename to src/MeoAssistant/Task/DebugTask.cpp index e24086f980..c024769736 100644 --- a/src/MeoAssistant/DebugTask.cpp +++ b/src/MeoAssistant/Task/DebugTask.cpp @@ -2,14 +2,14 @@ #include -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -// #include "RoguelikeSkillSelectionTaskPlugin.h" +// #include "Plugin/RoguelikeSkillSelectionTaskPlugin.h" -#include "AsstImageIo.hpp" -#include "DepotImageAnalyzer.h" -#include "Logger.hpp" -#include "StageDropsImageAnalyzer.h" +#include "ImageAnalyzer/DepotImageAnalyzer.h" +#include "ImageAnalyzer/StageDropsImageAnalyzer.h" +#include "Utils/AsstImageIo.hpp" +#include "Utils/Logger.hpp" asst::DebugTask::DebugTask(const AsstCallback& callback, void* callback_arg) : PackageTask(callback, callback_arg, TaskType) diff --git a/src/MeoAssistant/DebugTask.h b/src/MeoAssistant/Task/DebugTask.h similarity index 100% rename from src/MeoAssistant/DebugTask.h rename to src/MeoAssistant/Task/DebugTask.h diff --git a/src/MeoAssistant/DepotTask.cpp b/src/MeoAssistant/Task/DepotTask.cpp similarity index 88% rename from src/MeoAssistant/DepotTask.cpp rename to src/MeoAssistant/Task/DepotTask.cpp index 34ec68656b..113c657790 100644 --- a/src/MeoAssistant/DepotTask.cpp +++ b/src/MeoAssistant/Task/DepotTask.cpp @@ -1,7 +1,7 @@ #include "DepotTask.h" -#include "DepotRecognitionTask.h" -#include "ProcessTask.h" +#include "Sub/DepotRecognitionTask.h" +#include "Sub/ProcessTask.h" asst::DepotTask::DepotTask(AsstCallback callback, void* callback_arg) : PackageTask(std::move(callback), callback_arg, TaskType) diff --git a/src/MeoAssistant/DepotTask.h b/src/MeoAssistant/Task/DepotTask.h similarity index 100% rename from src/MeoAssistant/DepotTask.h rename to src/MeoAssistant/Task/DepotTask.h diff --git a/src/MeoAssistant/FightTask.cpp b/src/MeoAssistant/Task/FightTask.cpp similarity index 95% rename from src/MeoAssistant/FightTask.cpp rename to src/MeoAssistant/Task/FightTask.cpp index f368d96d1e..4621e5d8dc 100644 --- a/src/MeoAssistant/FightTask.cpp +++ b/src/MeoAssistant/Task/FightTask.cpp @@ -2,11 +2,11 @@ #include -#include "DrGrandetTaskPlugin.h" -#include "GameCrashRestartTaskPlugin.h" -#include "ProcessTask.h" -#include "StageDropsTaskPlugin.h" -#include "StageNavigationTask.h" +#include "Plugin/DrGrandetTaskPlugin.h" +#include "Plugin/GameCrashRestartTaskPlugin.h" +#include "Plugin/StageDropsTaskPlugin.h" +#include "Sub/ProcessTask.h" +#include "Sub/StageNavigationTask.h" asst::FightTask::FightTask(AsstCallback callback, void* callback_arg) : PackageTask(std::move(callback), callback_arg, TaskType), diff --git a/src/MeoAssistant/FightTask.h b/src/MeoAssistant/Task/FightTask.h similarity index 100% rename from src/MeoAssistant/FightTask.h rename to src/MeoAssistant/Task/FightTask.h diff --git a/src/MeoAssistant/InfrastTask.cpp b/src/MeoAssistant/Task/InfrastTask.cpp similarity index 96% rename from src/MeoAssistant/InfrastTask.cpp rename to src/MeoAssistant/Task/InfrastTask.cpp index 8357d0516f..5946e73ec7 100644 --- a/src/MeoAssistant/InfrastTask.cpp +++ b/src/MeoAssistant/Task/InfrastTask.cpp @@ -1,18 +1,18 @@ #include "InfrastTask.h" -#include "Logger.hpp" +#include "Utils/Logger.hpp" -#include "DronesForShamareTaskPlugin.h" -#include "InfrastControlTask.h" -#include "InfrastDormTask.h" -#include "InfrastInfoTask.h" -#include "InfrastMfgTask.h" -#include "InfrastOfficeTask.h" -#include "InfrastPowerTask.h" -#include "InfrastReceptionTask.h" -#include "InfrastTradeTask.h" -#include "ProcessTask.h" -#include "ReplenishOriginiumShardTaskPlugin.h" +#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" asst::InfrastTask::InfrastTask(const AsstCallback& callback, void* callback_arg) : PackageTask(callback, callback_arg, TaskType), diff --git a/src/MeoAssistant/InfrastTask.h b/src/MeoAssistant/Task/InfrastTask.h similarity index 100% rename from src/MeoAssistant/InfrastTask.h rename to src/MeoAssistant/Task/InfrastTask.h diff --git a/src/MeoAssistant/MallTask.cpp b/src/MeoAssistant/Task/MallTask.cpp similarity index 85% rename from src/MeoAssistant/MallTask.cpp rename to src/MeoAssistant/Task/MallTask.cpp index df52385cfc..a8bea5b610 100644 --- a/src/MeoAssistant/MallTask.cpp +++ b/src/MeoAssistant/Task/MallTask.cpp @@ -1,14 +1,14 @@ #include "MallTask.h" -#include "CreditShoppingTask.h" -#include "ProcessTask.h" +#include "Sub/CreditShoppingTask.h" +#include "Sub/ProcessTask.h" asst::MallTask::MallTask(const AsstCallback& callback, void* callback_arg) : PackageTask(callback, callback_arg, TaskType), - m_mall_task_ptr(std::make_shared(callback, callback_arg, TaskType)), - m_shopping_first_task_ptr(std::make_shared(callback, callback_arg, TaskType)), - m_shopping_task_ptr(std::make_shared(callback, callback_arg, TaskType)), - m_shopping_force_task_ptr(std::make_shared(callback, callback_arg, TaskType)) + m_mall_task_ptr(std::make_shared(callback, callback_arg, TaskType)), + m_shopping_first_task_ptr(std::make_shared(callback, callback_arg, TaskType)), + m_shopping_task_ptr(std::make_shared(callback, callback_arg, TaskType)), + m_shopping_force_task_ptr(std::make_shared(callback, callback_arg, TaskType)) { m_mall_task_ptr->set_tasks({ "MallBegin" }); m_shopping_first_task_ptr->set_enable(false).set_retry_times(1); diff --git a/src/MeoAssistant/MallTask.h b/src/MeoAssistant/Task/MallTask.h similarity index 100% rename from src/MeoAssistant/MallTask.h rename to src/MeoAssistant/Task/MallTask.h diff --git a/src/MeoAssistant/PackageTask.cpp b/src/MeoAssistant/Task/PackageTask.cpp similarity index 96% rename from src/MeoAssistant/PackageTask.cpp rename to src/MeoAssistant/Task/PackageTask.cpp index 73f561ad56..7fd5ac9313 100644 --- a/src/MeoAssistant/PackageTask.cpp +++ b/src/MeoAssistant/Task/PackageTask.cpp @@ -1,7 +1,7 @@ #include "PackageTask.h" -#include "GeneralConfiger.h" -#include "Logger.hpp" +#include "Resource/GeneralConfiger.h" +#include "Utils/Logger.hpp" bool asst::PackageTask::run() { diff --git a/src/MeoAssistant/PackageTask.h b/src/MeoAssistant/Task/PackageTask.h similarity index 97% rename from src/MeoAssistant/PackageTask.h rename to src/MeoAssistant/Task/PackageTask.h index a93922b7f8..002fede442 100644 --- a/src/MeoAssistant/PackageTask.h +++ b/src/MeoAssistant/Task/PackageTask.h @@ -1,6 +1,6 @@ #pragma once -#include "AbstractTask.h" +#include "Sub/AbstractTask.h" #include #include diff --git a/src/MeoAssistant/AbstractTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/AbstractTaskPlugin.cpp similarity index 100% rename from src/MeoAssistant/AbstractTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/AbstractTaskPlugin.cpp diff --git a/src/MeoAssistant/AbstractTaskPlugin.h b/src/MeoAssistant/Task/Plugin/AbstractTaskPlugin.h similarity index 92% rename from src/MeoAssistant/AbstractTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/AbstractTaskPlugin.h index c753ce236c..9199e2833e 100644 --- a/src/MeoAssistant/AbstractTaskPlugin.h +++ b/src/MeoAssistant/Task/Plugin/AbstractTaskPlugin.h @@ -2,8 +2,8 @@ #include -#include "AbstractTask.h" -#include "AsstMsg.h" +#include "../Sub/AbstractTask.h" +#include "Utils/AsstMsg.h" namespace asst { diff --git a/src/MeoAssistant/DrGrandetTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/DrGrandetTaskPlugin.cpp similarity index 95% rename from src/MeoAssistant/DrGrandetTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/DrGrandetTaskPlugin.cpp index 759fb70cbf..5a8dc30596 100644 --- a/src/MeoAssistant/DrGrandetTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Plugin/DrGrandetTaskPlugin.cpp @@ -1,9 +1,9 @@ #include "DrGrandetTaskPlugin.h" #include "Controller.h" -#include "Logger.hpp" -#include "OcrImageAnalyzer.h" +#include "ImageAnalyzer/General/OcrImageAnalyzer.h" #include "TaskData.h" +#include "Utils/Logger.hpp" #include diff --git a/src/MeoAssistant/DrGrandetTaskPlugin.h b/src/MeoAssistant/Task/Plugin/DrGrandetTaskPlugin.h similarity index 100% rename from src/MeoAssistant/DrGrandetTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/DrGrandetTaskPlugin.h diff --git a/src/MeoAssistant/DronesForShamareTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/DronesForShamareTaskPlugin.cpp similarity index 94% rename from src/MeoAssistant/DronesForShamareTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/DronesForShamareTaskPlugin.cpp index 2260dfe37a..4cfdfa8cce 100644 --- a/src/MeoAssistant/DronesForShamareTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Plugin/DronesForShamareTaskPlugin.cpp @@ -1,7 +1,7 @@ #include "DronesForShamareTaskPlugin.h" -#include "InfrastProductionTask.h" -#include "ProcessTask.h" +#include "../Sub/InfrastProductionTask.h" +#include "../Sub/ProcessTask.h" bool asst::DronesForShamareTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MeoAssistant/DronesForShamareTaskPlugin.h b/src/MeoAssistant/Task/Plugin/DronesForShamareTaskPlugin.h similarity index 100% rename from src/MeoAssistant/DronesForShamareTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/DronesForShamareTaskPlugin.h diff --git a/src/MeoAssistant/GameCrashRestartTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/GameCrashRestartTaskPlugin.cpp similarity index 100% rename from src/MeoAssistant/GameCrashRestartTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/GameCrashRestartTaskPlugin.cpp diff --git a/src/MeoAssistant/GameCrashRestartTaskPlugin.h b/src/MeoAssistant/Task/Plugin/GameCrashRestartTaskPlugin.h similarity index 100% rename from src/MeoAssistant/GameCrashRestartTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/GameCrashRestartTaskPlugin.h diff --git a/src/MeoAssistant/ReplenishOriginiumShardTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/ReplenishOriginiumShardTaskPlugin.cpp similarity index 95% rename from src/MeoAssistant/ReplenishOriginiumShardTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/ReplenishOriginiumShardTaskPlugin.cpp index aa2edfc4eb..6917cc520c 100644 --- a/src/MeoAssistant/ReplenishOriginiumShardTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Plugin/ReplenishOriginiumShardTaskPlugin.cpp @@ -1,6 +1,6 @@ #include "ReplenishOriginiumShardTaskPlugin.h" -#include "ProcessTask.h" +#include "../Sub/ProcessTask.h" bool asst::ReplenishOriginiumShardTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MeoAssistant/ReplenishOriginiumShardTaskPlugin.h b/src/MeoAssistant/Task/Plugin/ReplenishOriginiumShardTaskPlugin.h similarity index 100% rename from src/MeoAssistant/ReplenishOriginiumShardTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/ReplenishOriginiumShardTaskPlugin.h diff --git a/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/RoguelikeBattleTaskPlugin.cpp similarity index 92% rename from src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/RoguelikeBattleTaskPlugin.cpp index 77b690b16e..e5da94ccbd 100644 --- a/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Plugin/RoguelikeBattleTaskPlugin.cpp @@ -1,23 +1,23 @@ #include "RoguelikeBattleTaskPlugin.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" #include #include -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AsstImageIo.hpp" -#include "BattleDataConfiger.h" -#include "BattleImageAnalyzer.h" +#include "../Sub/ProcessTask.h" #include "Controller.h" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" -#include "OcrWithPreprocessImageAnalyzer.h" -#include "ProcessTask.h" -#include "RoguelikeCopilotConfiger.h" +#include "ImageAnalyzer/BattleImageAnalyzer.h" +#include "ImageAnalyzer/General/MatchImageAnalyzer.h" +#include "ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.h" +#include "Resource/BattleDataConfiger.h" +#include "Resource/RoguelikeCopilotConfiger.h" +#include "Resource/TilePack.h" #include "RuntimeStatus.h" #include "TaskData.h" -#include "TilePack.h" +#include "Utils/AsstImageIo.hpp" +#include "Utils/Logger.hpp" bool asst::RoguelikeBattleTaskPlugin::verify(AsstMsg msg, const json::value& details) const { @@ -142,10 +142,10 @@ bool asst::RoguelikeBattleTaskPlugin::get_stage_info() m_homes = opt->replacement_home; std::string log_str = "[ "; for (auto& home : m_homes) { - if (!m_normal_tile_info.contains(home)) { - Log.error("No replacement home point", home.x, home.y); + if (!m_normal_tile_info.contains(home.location)) { + Log.error("No replacement home point", home.location.x, home.location.y); } - log_str += "( " + std::to_string(home.x) + ", " + std::to_string(home.y) + " ), "; + log_str += "( " + std::to_string(home.location.x) + ", " + std::to_string(home.location.y) + " ), "; } log_str += "]"; Log.info("replacement home:", log_str); @@ -153,7 +153,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(loc); + m_homes.emplace_back(ReplacementHome { loc, BattleDeployDirection::None }); } } } @@ -388,6 +388,7 @@ void asst::RoguelikeBattleTaskPlugin::clear() m_opers_used = false; m_pre_hp = 0; m_homes.clear(); + m_blacklist_location.clear(); decltype(m_key_kills) empty; m_key_kills.swap(empty); m_cur_home_index = 0; @@ -574,8 +575,16 @@ asst::RoguelikeBattleTaskPlugin::DeployInfo asst::RoguelikeBattleTaskPlugin::cal } Point home(5, 5); // 实在找不到家门了,随便取个点当家门用算了,一般是地图的中间 + Point recommended_direction; if (m_cur_home_index < m_homes.size()) { - home = m_homes.at(m_cur_home_index); + const auto& rp_home = m_homes.at(m_cur_home_index); + home = rp_home.location; + static const std::unordered_map direction_map = { + { BattleDeployDirection::Up, Point::up() }, { BattleDeployDirection::Down, Point::down() }, + { BattleDeployDirection::Left, Point::down() }, { BattleDeployDirection::Right, Point::down() }, + { BattleDeployDirection::None, Point() }, + }; + recommended_direction = direction_map.at(rp_home.direction); } auto comp_dist = [&](const Point& lhs, const Point& rhs) -> bool { @@ -590,7 +599,8 @@ asst::RoguelikeBattleTaskPlugin::DeployInfo asst::RoguelikeBattleTaskPlugin::cal // 把所有可用的点按距离排个序 std::vector available_locations; for (const auto& [loc, tile] : m_normal_tile_info) { - if ((tile.buildable == buildable_type || tile.buildable == Loc::All) && !m_used_tiles.contains(loc)) { + if ((tile.buildable == buildable_type || tile.buildable == Loc::All) && !m_used_tiles.contains(loc) && + !m_blacklist_location.contains(loc)) { available_locations.emplace_back(loc); } } @@ -620,7 +630,7 @@ asst::RoguelikeBattleTaskPlugin::DeployInfo asst::RoguelikeBattleTaskPlugin::cal int min_dist = std::abs(near_loc.x - home.x) + std::abs(near_loc.y - home.y); for (const auto& loc : available_locations) { - auto cur_result = calc_best_direction_and_score(loc, oper); + auto cur_result = calc_best_direction_and_score(loc, oper, recommended_direction); // 离得远的要扣分 constexpr int DistWeights = -1050; int extra_dist = std::abs(loc.x - home.x) + std::abs(loc.y - home.y) - min_dist; @@ -639,7 +649,7 @@ asst::RoguelikeBattleTaskPlugin::DeployInfo asst::RoguelikeBattleTaskPlugin::cal } std::pair asst::RoguelikeBattleTaskPlugin::calc_best_direction_and_score( - Point loc, const BattleRealTimeOper& oper) + Point loc, const BattleRealTimeOper& oper, Point recommended_direction) { LogTraceFunction; @@ -649,7 +659,7 @@ std::pair asst::RoguelikeBattleTaskPlugin::calc_best_direction } Point home_loc(5, 5); if (m_cur_home_index < m_homes.size()) { - home_loc = m_homes.at(m_cur_home_index); + home_loc = m_homes.at(m_cur_home_index).location; } auto sgn = [](const int& x) -> int { @@ -665,6 +675,7 @@ std::pair asst::RoguelikeBattleTaskPlugin::calc_best_direction else { base_direction.x = sgn(loc.x - home_loc.x); } + Point home_direction(-base_direction.x, -base_direction.y); // 医疗反着算 if (oper.role == BattleRole::Medic) { base_direction = -base_direction; @@ -750,7 +761,17 @@ std::pair asst::RoguelikeBattleTaskPlugin::calc_best_direction } } - if (direction == base_direction) score += 50; + if (direction == base_direction) { + score += 300; + } + + if (oper.role != BattleRole::Medic && direction == home_direction) { + score -= 500; + } + + if (oper.role != BattleRole::Medic && direction == recommended_direction) { + score += 2000; + } if (score > max_score) { max_score = score; diff --git a/src/MeoAssistant/RoguelikeBattleTaskPlugin.h b/src/MeoAssistant/Task/Plugin/RoguelikeBattleTaskPlugin.h similarity index 84% rename from src/MeoAssistant/RoguelikeBattleTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/RoguelikeBattleTaskPlugin.h index 433b33c110..4444f5cd52 100644 --- a/src/MeoAssistant/RoguelikeBattleTaskPlugin.h +++ b/src/MeoAssistant/Task/Plugin/RoguelikeBattleTaskPlugin.h @@ -4,9 +4,9 @@ #include "AbstractTaskPlugin.h" #include "AsstBattleDef.h" -#include "AsstTypes.h" -#include "BattleImageAnalyzer.h" -#include "TilePack.h" +#include "ImageAnalyzer/BattleImageAnalyzer.h" +#include "Resource/TilePack.h" +#include "Utils/AsstTypes.h" namespace asst { @@ -48,7 +48,8 @@ namespace asst // 计算摆放干员的朝向 // 返回滑动的方向、得分 - std::pair calc_best_direction_and_score(Point loc, const BattleRealTimeOper& oper); + std::pair calc_best_direction_and_score(Point loc, const BattleRealTimeOper& oper, + Point recommended_direction); bool m_opers_used = false; int m_pre_hp = 0; @@ -57,7 +58,8 @@ namespace asst std::unordered_map m_side_tile_info; std::unordered_map m_normal_tile_info; - std::vector m_homes; + std::vector m_homes; + std::unordered_set m_blacklist_location; std::queue m_key_kills; size_t m_cur_home_index = 0; std::unordered_map m_used_tiles; diff --git a/src/MeoAssistant/RoguelikeControlTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/RoguelikeControlTaskPlugin.cpp similarity index 100% rename from src/MeoAssistant/RoguelikeControlTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/RoguelikeControlTaskPlugin.cpp diff --git a/src/MeoAssistant/RoguelikeControlTaskPlugin.h b/src/MeoAssistant/Task/Plugin/RoguelikeControlTaskPlugin.h similarity index 100% rename from src/MeoAssistant/RoguelikeControlTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/RoguelikeControlTaskPlugin.h diff --git a/src/MeoAssistant/RoguelikeCustomStartTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/RoguelikeCustomStartTaskPlugin.cpp similarity index 96% rename from src/MeoAssistant/RoguelikeCustomStartTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/RoguelikeCustomStartTaskPlugin.cpp index cd9bb423a8..b26068d5c2 100644 --- a/src/MeoAssistant/RoguelikeCustomStartTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Plugin/RoguelikeCustomStartTaskPlugin.cpp @@ -1,12 +1,12 @@ #include "RoguelikeCustomStartTaskPlugin.h" -#include "BattleDataConfiger.h" +#include "../Sub/ProcessTask.h" #include "Controller.h" -#include "Logger.hpp" -#include "OcrImageAnalyzer.h" -#include "ProcessTask.h" +#include "ImageAnalyzer/General/OcrImageAnalyzer.h" +#include "Resource/BattleDataConfiger.h" #include "RuntimeStatus.h" #include "TaskData.h" +#include "Utils/Logger.hpp" bool asst::RoguelikeCustomStartTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MeoAssistant/RoguelikeCustomStartTaskPlugin.h b/src/MeoAssistant/Task/Plugin/RoguelikeCustomStartTaskPlugin.h similarity index 100% rename from src/MeoAssistant/RoguelikeCustomStartTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/RoguelikeCustomStartTaskPlugin.h diff --git a/src/MeoAssistant/RoguelikeDebugTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/RoguelikeDebugTaskPlugin.cpp similarity index 100% rename from src/MeoAssistant/RoguelikeDebugTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/RoguelikeDebugTaskPlugin.cpp diff --git a/src/MeoAssistant/RoguelikeDebugTaskPlugin.h b/src/MeoAssistant/Task/Plugin/RoguelikeDebugTaskPlugin.h similarity index 100% rename from src/MeoAssistant/RoguelikeDebugTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/RoguelikeDebugTaskPlugin.h diff --git a/src/MeoAssistant/RoguelikeFormationTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/RoguelikeFormationTaskPlugin.cpp similarity index 95% rename from src/MeoAssistant/RoguelikeFormationTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/RoguelikeFormationTaskPlugin.cpp index 00f6c04062..fc71c04d76 100644 --- a/src/MeoAssistant/RoguelikeFormationTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Plugin/RoguelikeFormationTaskPlugin.cpp @@ -1,12 +1,12 @@ #include "RoguelikeFormationTaskPlugin.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" +#include "../Sub/ProcessTask.h" #include "Controller.h" -#include "Logger.hpp" -#include "ProcessTask.h" -#include "RoguelikeFormationImageAnalyzer.h" +#include "ImageAnalyzer/RoguelikeFormationImageAnalyzer.h" #include "TaskData.h" +#include "Utils/Logger.hpp" bool asst::RoguelikeFormationTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MeoAssistant/RoguelikeFormationTaskPlugin.h b/src/MeoAssistant/Task/Plugin/RoguelikeFormationTaskPlugin.h similarity index 100% rename from src/MeoAssistant/RoguelikeFormationTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/RoguelikeFormationTaskPlugin.h diff --git a/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.cpp similarity index 98% rename from src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.cpp index a00285084f..1695da6937 100644 --- a/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.cpp @@ -1,12 +1,12 @@ #include "RoguelikeRecruitTaskPlugin.h" +#include "../Sub/ProcessTask.h" #include "Controller.h" -#include "Logger.hpp" -#include "ProcessTask.h" -#include "RoguelikeRecruitConfiger.h" -#include "RoguelikeRecruitImageAnalyzer.h" +#include "ImageAnalyzer/RoguelikeRecruitImageAnalyzer.h" +#include "Resource/RoguelikeRecruitConfiger.h" #include "RuntimeStatus.h" #include "TaskData.h" +#include "Utils/Logger.hpp" bool asst::RoguelikeRecruitTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MeoAssistant/RoguelikeRecruitTaskPlugin.h b/src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.h similarity index 100% rename from src/MeoAssistant/RoguelikeRecruitTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/RoguelikeRecruitTaskPlugin.h diff --git a/src/MeoAssistant/RoguelikeResetTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/RoguelikeResetTaskPlugin.cpp similarity index 100% rename from src/MeoAssistant/RoguelikeResetTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/RoguelikeResetTaskPlugin.cpp diff --git a/src/MeoAssistant/RoguelikeResetTaskPlugin.h b/src/MeoAssistant/Task/Plugin/RoguelikeResetTaskPlugin.h similarity index 100% rename from src/MeoAssistant/RoguelikeResetTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/RoguelikeResetTaskPlugin.h diff --git a/src/MeoAssistant/RoguelikeShoppingTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/RoguelikeShoppingTaskPlugin.cpp similarity index 96% rename from src/MeoAssistant/RoguelikeShoppingTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/RoguelikeShoppingTaskPlugin.cpp index c55e5ac2b2..69b1d830eb 100644 --- a/src/MeoAssistant/RoguelikeShoppingTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Plugin/RoguelikeShoppingTaskPlugin.cpp @@ -1,12 +1,12 @@ #include "RoguelikeShoppingTaskPlugin.h" -#include "BattleDataConfiger.h" +#include "../Sub/ProcessTask.h" #include "Controller.h" -#include "Logger.hpp" -#include "OcrWithFlagTemplImageAnalyzer.h" -#include "ProcessTask.h" -#include "RoguelikeShoppingConfiger.h" +#include "ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.h" +#include "Resource/BattleDataConfiger.h" +#include "Resource/RoguelikeShoppingConfiger.h" #include "RuntimeStatus.h" +#include "Utils/Logger.hpp" bool asst::RoguelikeShoppingTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MeoAssistant/RoguelikeShoppingTaskPlugin.h b/src/MeoAssistant/Task/Plugin/RoguelikeShoppingTaskPlugin.h similarity index 100% rename from src/MeoAssistant/RoguelikeShoppingTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/RoguelikeShoppingTaskPlugin.h diff --git a/src/MeoAssistant/RoguelikeSkillSelectionTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/RoguelikeSkillSelectionTaskPlugin.cpp similarity index 91% rename from src/MeoAssistant/RoguelikeSkillSelectionTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/RoguelikeSkillSelectionTaskPlugin.cpp index 2933f139c9..36141cf8c4 100644 --- a/src/MeoAssistant/RoguelikeSkillSelectionTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Plugin/RoguelikeSkillSelectionTaskPlugin.cpp @@ -1,12 +1,12 @@ #include "RoguelikeSkillSelectionTaskPlugin.h" #include "Controller.h" -#include "RoguelikeRecruitConfiger.h" -#include "RoguelikeSkillSelectionImageAnalyzer.h" +#include "ImageAnalyzer/RoguelikeSkillSelectionImageAnalyzer.h" +#include "Resource/RoguelikeRecruitConfiger.h" #include "RuntimeStatus.h" #include "TaskData.h" -#include "Logger.hpp" +#include "Utils/Logger.hpp" bool asst::RoguelikeSkillSelectionTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MeoAssistant/RoguelikeSkillSelectionTaskPlugin.h b/src/MeoAssistant/Task/Plugin/RoguelikeSkillSelectionTaskPlugin.h similarity index 100% rename from src/MeoAssistant/RoguelikeSkillSelectionTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/RoguelikeSkillSelectionTaskPlugin.h diff --git a/src/MeoAssistant/StageDropsTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/StageDropsTaskPlugin.cpp similarity index 97% rename from src/MeoAssistant/StageDropsTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/StageDropsTaskPlugin.cpp index e586095a63..9dc96dfbbb 100644 --- a/src/MeoAssistant/StageDropsTaskPlugin.cpp +++ b/src/MeoAssistant/Task/Plugin/StageDropsTaskPlugin.cpp @@ -4,17 +4,17 @@ #include #include -#include "AsstUtils.hpp" +#include "../Sub/ProcessTask.h" +#include "../Sub/ReportDataTask.h" #include "Controller.h" -#include "ItemConfiger.h" -#include "Logger.hpp" -#include "ProcessTask.h" -#include "ReportDataTask.h" +#include "ImageAnalyzer/StageDropsImageAnalyzer.h" +#include "Resource/ItemConfiger.h" +#include "Resource/StageDropsConfiger.h" #include "RuntimeStatus.h" -#include "StageDropsConfiger.h" -#include "StageDropsImageAnalyzer.h" #include "TaskData.h" -#include "Version.h" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" +#include "Utils/Version.h" bool asst::StageDropsTaskPlugin::verify(AsstMsg msg, const json::value& details) const { diff --git a/src/MeoAssistant/StageDropsTaskPlugin.h b/src/MeoAssistant/Task/Plugin/StageDropsTaskPlugin.h similarity index 97% rename from src/MeoAssistant/StageDropsTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/StageDropsTaskPlugin.h index 85557221fc..cb9ddd4e15 100644 --- a/src/MeoAssistant/StageDropsTaskPlugin.h +++ b/src/MeoAssistant/Task/Plugin/StageDropsTaskPlugin.h @@ -6,7 +6,7 @@ #include -#include "StageDropsConfiger.h" +#include "Resource/StageDropsConfiger.h" namespace asst { diff --git a/src/MeoAssistant/StartGameTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/StartGameTaskPlugin.cpp similarity index 100% rename from src/MeoAssistant/StartGameTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/StartGameTaskPlugin.cpp diff --git a/src/MeoAssistant/StartGameTaskPlugin.h b/src/MeoAssistant/Task/Plugin/StartGameTaskPlugin.h similarity index 96% rename from src/MeoAssistant/StartGameTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/StartGameTaskPlugin.h index a36c04830d..87e2b04c76 100644 --- a/src/MeoAssistant/StartGameTaskPlugin.h +++ b/src/MeoAssistant/Task/Plugin/StartGameTaskPlugin.h @@ -1,7 +1,7 @@ #pragma once #include "AbstractTaskPlugin.h" -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/StopGameTaskPlugin.cpp b/src/MeoAssistant/Task/Plugin/StopGameTaskPlugin.cpp similarity index 100% rename from src/MeoAssistant/StopGameTaskPlugin.cpp rename to src/MeoAssistant/Task/Plugin/StopGameTaskPlugin.cpp diff --git a/src/MeoAssistant/StopGameTaskPlugin.h b/src/MeoAssistant/Task/Plugin/StopGameTaskPlugin.h similarity index 94% rename from src/MeoAssistant/StopGameTaskPlugin.h rename to src/MeoAssistant/Task/Plugin/StopGameTaskPlugin.h index 262350ad3f..c444675a23 100644 --- a/src/MeoAssistant/StopGameTaskPlugin.h +++ b/src/MeoAssistant/Task/Plugin/StopGameTaskPlugin.h @@ -1,7 +1,7 @@ #pragma once #include "AbstractTaskPlugin.h" -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/RecruitTask.cpp b/src/MeoAssistant/Task/RecruitTask.cpp similarity index 97% rename from src/MeoAssistant/RecruitTask.cpp rename to src/MeoAssistant/Task/RecruitTask.cpp index fd62d2d431..deb563daf7 100644 --- a/src/MeoAssistant/RecruitTask.cpp +++ b/src/MeoAssistant/Task/RecruitTask.cpp @@ -1,7 +1,7 @@ #include "RecruitTask.h" -#include "AutoRecruitTask.h" -#include "ProcessTask.h" +#include "Sub/AutoRecruitTask.h" +#include "Sub/ProcessTask.h" asst::RecruitTask::RecruitTask(const AsstCallback& callback, void* callback_arg) : PackageTask(callback, callback_arg, TaskType), diff --git a/src/MeoAssistant/RecruitTask.h b/src/MeoAssistant/Task/RecruitTask.h similarity index 100% rename from src/MeoAssistant/RecruitTask.h rename to src/MeoAssistant/Task/RecruitTask.h diff --git a/src/MeoAssistant/RoguelikeTask.cpp b/src/MeoAssistant/Task/RoguelikeTask.cpp similarity index 87% rename from src/MeoAssistant/RoguelikeTask.cpp rename to src/MeoAssistant/Task/RoguelikeTask.cpp index 913689a3a5..fd4e41c2da 100644 --- a/src/MeoAssistant/RoguelikeTask.cpp +++ b/src/MeoAssistant/Task/RoguelikeTask.cpp @@ -1,17 +1,17 @@ #include "RoguelikeTask.h" -#include "ProcessTask.h" -#include "RoguelikeBattleTaskPlugin.h" -#include "RoguelikeControlTaskPlugin.h" -#include "RoguelikeCustomStartTaskPlugin.h" -#include "RoguelikeDebugTaskPlugin.h" -#include "RoguelikeFormationTaskPlugin.h" -#include "RoguelikeRecruitTaskPlugin.h" -#include "RoguelikeResetTaskPlugin.h" -#include "RoguelikeShoppingTaskPlugin.h" -#include "RoguelikeSkillSelectionTaskPlugin.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 "Sub/ProcessTask.h" -#include "Logger.hpp" +#include "Utils/Logger.hpp" asst::RoguelikeTask::RoguelikeTask(const AsstCallback& callback, void* callback_arg) : PackageTask(callback, callback_arg, TaskType), diff --git a/src/MeoAssistant/RoguelikeTask.h b/src/MeoAssistant/Task/RoguelikeTask.h similarity index 100% rename from src/MeoAssistant/RoguelikeTask.h rename to src/MeoAssistant/Task/RoguelikeTask.h diff --git a/src/MeoAssistant/StartUpTask.cpp b/src/MeoAssistant/Task/StartUpTask.cpp similarity index 97% rename from src/MeoAssistant/StartUpTask.cpp rename to src/MeoAssistant/Task/StartUpTask.cpp index bee3ae135f..6fa9ca4c8e 100644 --- a/src/MeoAssistant/StartUpTask.cpp +++ b/src/MeoAssistant/Task/StartUpTask.cpp @@ -2,7 +2,7 @@ #include -#include "ProcessTask.h" +#include "Sub/ProcessTask.h" asst::StartUpTask::StartUpTask(AsstCallback callback, void* callback_arg) : PackageTask(std::move(callback), callback_arg, TaskType), diff --git a/src/MeoAssistant/StartUpTask.h b/src/MeoAssistant/Task/StartUpTask.h similarity index 93% rename from src/MeoAssistant/StartUpTask.h rename to src/MeoAssistant/Task/StartUpTask.h index f9a392668e..c62981f43d 100644 --- a/src/MeoAssistant/StartUpTask.h +++ b/src/MeoAssistant/Task/StartUpTask.h @@ -1,6 +1,6 @@ #pragma once #include "PackageTask.h" -#include "StartGameTaskPlugin.h" +#include "Plugin/StartGameTaskPlugin.h" namespace asst { diff --git a/src/MeoAssistant/AbstractTask.cpp b/src/MeoAssistant/Task/Sub/AbstractTask.cpp similarity index 93% rename from src/MeoAssistant/AbstractTask.cpp rename to src/MeoAssistant/Task/Sub/AbstractTask.cpp index fefe5270f7..62f359f77e 100644 --- a/src/MeoAssistant/AbstractTask.cpp +++ b/src/MeoAssistant/Task/Sub/AbstractTask.cpp @@ -6,15 +6,15 @@ #include #include -#include "NoWarningCV.h" +#include "Utils/NoWarningCV.h" -#include "AbstractTaskPlugin.h" -#include "AsstImageIo.hpp" -#include "AsstUtils.hpp" +#include "../Plugin/AbstractTaskPlugin.h" #include "Controller.h" -#include "GeneralConfiger.h" -#include "Logger.hpp" #include "ProcessTask.h" +#include "Resource/GeneralConfiger.h" +#include "Utils/AsstImageIo.hpp" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" using namespace asst; @@ -201,5 +201,7 @@ bool asst::AbstractTask::save_img(const std::string& dirname) std::string stem = utils::get_format_time(); stem = utils::string_replace_all(stem, { { ":", "-" }, { " ", "_" } }); std::filesystem::create_directories(dirname); - return asst::imwrite(dirname + stem + "_raw.png", image); + std::string full_path = dirname + stem + "_raw.png"; + Log.trace("Save image", full_path); + return asst::imwrite(full_path, image); } diff --git a/src/MeoAssistant/AbstractTask.h b/src/MeoAssistant/Task/Sub/AbstractTask.h similarity index 99% rename from src/MeoAssistant/AbstractTask.h rename to src/MeoAssistant/Task/Sub/AbstractTask.h index 2d4bd9a983..1a1e8caf32 100644 --- a/src/MeoAssistant/AbstractTask.h +++ b/src/MeoAssistant/Task/Sub/AbstractTask.h @@ -5,7 +5,7 @@ #include #include -#include "AsstMsg.h" +#include "Utils/AsstMsg.h" namespace cv { diff --git a/src/MeoAssistant/AutoRecruitTask.cpp b/src/MeoAssistant/Task/Sub/AutoRecruitTask.cpp similarity index 98% rename from src/MeoAssistant/AutoRecruitTask.cpp rename to src/MeoAssistant/Task/Sub/AutoRecruitTask.cpp index ee17eec1c4..f6fdddab13 100644 --- a/src/MeoAssistant/AutoRecruitTask.cpp +++ b/src/MeoAssistant/Task/Sub/AutoRecruitTask.cpp @@ -1,17 +1,17 @@ #include "AutoRecruitTask.h" #include "Controller.h" -#include "GeneralConfiger.h" -#include "Logger.hpp" -#include "MultiMatchImageAnalyzer.h" -#include "OcrImageAnalyzer.h" +#include "ImageAnalyzer/General/MultiMatchImageAnalyzer.h" +#include "ImageAnalyzer/General/OcrImageAnalyzer.h" +#include "ImageAnalyzer/RecruitImageAnalyzer.h" #include "ProcessTask.h" -#include "RecruitConfiger.h" -#include "RecruitImageAnalyzer.h" #include "ReportDataTask.h" +#include "Resource/GeneralConfiger.h" +#include "Resource/RecruitConfiger.h" #include "TaskData.h" +#include "Utils/Logger.hpp" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" #include #include diff --git a/src/MeoAssistant/AutoRecruitTask.h b/src/MeoAssistant/Task/Sub/AutoRecruitTask.h similarity index 98% rename from src/MeoAssistant/AutoRecruitTask.h rename to src/MeoAssistant/Task/Sub/AutoRecruitTask.h index 944d7376f5..e50c09932c 100644 --- a/src/MeoAssistant/AutoRecruitTask.h +++ b/src/MeoAssistant/Task/Sub/AutoRecruitTask.h @@ -5,8 +5,8 @@ #include #include -#include "AsstTypes.h" -#include "RecruitConfiger.h" +#include "Resource/RecruitConfiger.h" +#include "Utils/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/BattleFormationTask.cpp b/src/MeoAssistant/Task/Sub/BattleFormationTask.cpp similarity index 96% rename from src/MeoAssistant/BattleFormationTask.cpp rename to src/MeoAssistant/Task/Sub/BattleFormationTask.cpp index c02c7ebda3..fc044be73a 100644 --- a/src/MeoAssistant/BattleFormationTask.cpp +++ b/src/MeoAssistant/Task/Sub/BattleFormationTask.cpp @@ -1,14 +1,14 @@ #include "BattleFormationTask.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" -#include "BattleDataConfiger.h" #include "Controller.h" -#include "CopilotConfiger.h" -#include "Logger.hpp" -#include "OcrWithFlagTemplImageAnalyzer.h" +#include "ImageAnalyzer/General/OcrWithFlagTemplImageAnalyzer.h" #include "ProcessTask.h" +#include "Resource/BattleDataConfiger.h" +#include "Resource/CopilotConfiger.h" #include "TaskData.h" +#include "Utils/Logger.hpp" void asst::BattleFormationTask::set_stage_name(std::string name) { diff --git a/src/MeoAssistant/BattleFormationTask.h b/src/MeoAssistant/Task/Sub/BattleFormationTask.h similarity index 100% rename from src/MeoAssistant/BattleFormationTask.h rename to src/MeoAssistant/Task/Sub/BattleFormationTask.h diff --git a/src/MeoAssistant/BattleProcessTask.cpp b/src/MeoAssistant/Task/Sub/BattleProcessTask.cpp similarity index 98% rename from src/MeoAssistant/BattleProcessTask.cpp rename to src/MeoAssistant/Task/Sub/BattleProcessTask.cpp index 4ed55b3bc5..99dc370ea6 100644 --- a/src/MeoAssistant/BattleProcessTask.cpp +++ b/src/MeoAssistant/Task/Sub/BattleProcessTask.cpp @@ -1,24 +1,24 @@ #include "BattleProcessTask.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" #include #include #include -#include "AsstRanges.hpp" -#include "NoWarningCV.h" +#include "Utils/AsstRanges.hpp" +#include "Utils/NoWarningCV.h" -#include "BattleImageAnalyzer.h" #include "Controller.h" -#include "CopilotConfiger.h" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" -#include "OcrWithPreprocessImageAnalyzer.h" +#include "ImageAnalyzer/BattleImageAnalyzer.h" +#include "ImageAnalyzer/General/MatchImageAnalyzer.h" +#include "ImageAnalyzer/General/OcrWithPreprocessImageAnalyzer.h" #include "ProcessTask.h" +#include "Resource/CopilotConfiger.h" +#include "Resource/TilePack.h" #include "TaskData.h" -#include "TilePack.h" +#include "Utils/Logger.hpp" -#include "AsstImageIo.hpp" +#include "Utils/AsstImageIo.hpp" void asst::BattleProcessTask::set_stage_name(std::string name) { diff --git a/src/MeoAssistant/BattleProcessTask.h b/src/MeoAssistant/Task/Sub/BattleProcessTask.h similarity index 94% rename from src/MeoAssistant/BattleProcessTask.h rename to src/MeoAssistant/Task/Sub/BattleProcessTask.h index c1d48c818a..79272ce148 100644 --- a/src/MeoAssistant/BattleProcessTask.h +++ b/src/MeoAssistant/Task/Sub/BattleProcessTask.h @@ -2,9 +2,9 @@ #include "AbstractTask.h" #include "AsstBattleDef.h" -#include "AsstTypes.h" -#include "BattleImageAnalyzer.h" -#include "TilePack.h" +#include "ImageAnalyzer/BattleImageAnalyzer.h" +#include "Resource/TilePack.h" +#include "Utils/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/CreditShoppingTask.cpp b/src/MeoAssistant/Task/Sub/CreditShoppingTask.cpp similarity index 87% rename from src/MeoAssistant/CreditShoppingTask.cpp rename to src/MeoAssistant/Task/Sub/CreditShoppingTask.cpp index b9bef48107..0e0e081241 100644 --- a/src/MeoAssistant/CreditShoppingTask.cpp +++ b/src/MeoAssistant/Task/Sub/CreditShoppingTask.cpp @@ -4,11 +4,11 @@ #include #include "Controller.h" -#include "CreditShopImageAnalyzer.h" -#include "MatchImageAnalyzer.h" -#include "OcrImageAnalyzer.h" +#include "ImageAnalyzer/CreditShopImageAnalyzer.h" +#include "ImageAnalyzer/General/MatchImageAnalyzer.h" +#include "ImageAnalyzer/General/OcrImageAnalyzer.h" #include "TaskData.h" -#include "Logger.hpp" +#include "Utils/Logger.hpp" void asst::CreditShoppingTask::set_black_list(std::vector black_list) { @@ -22,7 +22,8 @@ void asst::CreditShoppingTask::set_white_list(std::vector black_lis m_is_white_list = true; } -asst::CreditShoppingTask& asst::CreditShoppingTask::set_force_shopping_if_credit_full(bool force_shopping_if_credit_full) noexcept +asst::CreditShoppingTask& asst::CreditShoppingTask::set_force_shopping_if_credit_full( + bool force_shopping_if_credit_full) noexcept { m_force_shopping_if_credit_full = force_shopping_if_credit_full; return *this; @@ -122,11 +123,10 @@ bool asst::CreditShoppingTask::credit_shopping(bool white_list_enabled, bool cre if (credit_ocr_enabled) { int credit = credit_ocr(); - if (credit <= MaxCredit) {//信用值不再溢出,停止购物 + if (credit <= MaxCredit) { // 信用值不再溢出,停止购物 break; } } - } return true; @@ -134,15 +134,16 @@ bool asst::CreditShoppingTask::credit_shopping(bool white_list_enabled, bool cre bool asst::CreditShoppingTask::_run() { - Log.trace("CreditShopping: m_is_white_list:", m_is_white_list, " m_force_shopping_if_credit_full: ", m_force_shopping_if_credit_full); + Log.trace("CreditShopping: m_is_white_list:", m_is_white_list, + " m_force_shopping_if_credit_full: ", m_force_shopping_if_credit_full); if (!m_force_shopping_if_credit_full) { return credit_shopping(true, false); } else { - int credit = credit_ocr();//识别信用值,防止信用值溢出 + int credit = credit_ocr(); // 识别信用值,防止信用值溢出 - if (credit > MaxCredit) {//信用值溢出 + if (credit > MaxCredit) { // 信用值溢出 return credit_shopping(false, true); } } diff --git a/src/MeoAssistant/CreditShoppingTask.h b/src/MeoAssistant/Task/Sub/CreditShoppingTask.h similarity index 86% rename from src/MeoAssistant/CreditShoppingTask.h rename to src/MeoAssistant/Task/Sub/CreditShoppingTask.h index 3ef2c9cadc..6bce077cf0 100644 --- a/src/MeoAssistant/CreditShoppingTask.h +++ b/src/MeoAssistant/Task/Sub/CreditShoppingTask.h @@ -4,7 +4,7 @@ #include -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { @@ -23,7 +23,7 @@ namespace asst protected: virtual bool _run() override; - bool m_force_shopping_if_credit_full = false; // 设置是否防止信用值溢出 + bool m_force_shopping_if_credit_full = false; // 设置是否防止信用值溢出 int credit_ocr(); bool credit_shopping(bool white_list_enabled, bool credit_ocr_enabled); diff --git a/src/MeoAssistant/DepotRecognitionTask.cpp b/src/MeoAssistant/Task/Sub/DepotRecognitionTask.cpp similarity index 96% rename from src/MeoAssistant/DepotRecognitionTask.cpp rename to src/MeoAssistant/Task/Sub/DepotRecognitionTask.cpp index 11af70247a..24eef7f9e8 100644 --- a/src/MeoAssistant/DepotRecognitionTask.cpp +++ b/src/MeoAssistant/Task/Sub/DepotRecognitionTask.cpp @@ -5,11 +5,11 @@ #include #include "Controller.h" -#include "DepotImageAnalyzer.h" -#include "GeneralConfiger.h" -#include "Logger.hpp" +#include "ImageAnalyzer/DepotImageAnalyzer.h" #include "ProcessTask.h" +#include "Resource/GeneralConfiger.h" #include "TaskData.h" +#include "Utils/Logger.hpp" bool asst::DepotRecognitionTask::_run() { diff --git a/src/MeoAssistant/DepotRecognitionTask.h b/src/MeoAssistant/Task/Sub/DepotRecognitionTask.h similarity index 91% rename from src/MeoAssistant/DepotRecognitionTask.h rename to src/MeoAssistant/Task/Sub/DepotRecognitionTask.h index 9919a36b20..56faf6ca04 100644 --- a/src/MeoAssistant/DepotRecognitionTask.h +++ b/src/MeoAssistant/Task/Sub/DepotRecognitionTask.h @@ -3,7 +3,7 @@ #include -#include "DepotImageAnalyzer.h" +#include "ImageAnalyzer/DepotImageAnalyzer.h" namespace asst { diff --git a/src/MeoAssistant/InfrastAbstractTask.cpp b/src/MeoAssistant/Task/Sub/InfrastAbstractTask.cpp similarity index 97% rename from src/MeoAssistant/InfrastAbstractTask.cpp rename to src/MeoAssistant/Task/Sub/InfrastAbstractTask.cpp index d31df11e64..0375e6d370 100644 --- a/src/MeoAssistant/InfrastAbstractTask.cpp +++ b/src/MeoAssistant/Task/Sub/InfrastAbstractTask.cpp @@ -4,17 +4,17 @@ #include #include -#include "AsstMsg.h" -#include "AsstRanges.hpp" #include "Controller.h" -#include "InfrastFacilityImageAnalyzer.h" -#include "InfrastOperImageAnalyzer.h" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" -#include "OcrImageAnalyzer.h" -#include "OcrWithPreprocessImageAnalyzer.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 "Utils/Logger.hpp" asst::InfrastAbstractTask::InfrastAbstractTask(AsstCallback callback, void* callback_arg, std::string task_chain) : AbstractTask(std::move(callback), callback_arg, std::move(task_chain)) diff --git a/src/MeoAssistant/InfrastAbstractTask.h b/src/MeoAssistant/Task/Sub/InfrastAbstractTask.h similarity index 97% rename from src/MeoAssistant/InfrastAbstractTask.h rename to src/MeoAssistant/Task/Sub/InfrastAbstractTask.h index e650bb6f96..97d0a844ad 100644 --- a/src/MeoAssistant/InfrastAbstractTask.h +++ b/src/MeoAssistant/Task/Sub/InfrastAbstractTask.h @@ -1,7 +1,7 @@ #pragma once #include "AbstractTask.h" -#include "AsstInfrastDef.h" -#include "AsstTypes.h" +#include "Utils/AsstInfrastDef.h" +#include "Utils/AsstTypes.h" namespace asst { diff --git a/src/MeoAssistant/InfrastControlTask.cpp b/src/MeoAssistant/Task/Sub/InfrastControlTask.cpp similarity index 97% rename from src/MeoAssistant/InfrastControlTask.cpp rename to src/MeoAssistant/Task/Sub/InfrastControlTask.cpp index e33cc4c382..98fd60dd34 100644 --- a/src/MeoAssistant/InfrastControlTask.cpp +++ b/src/MeoAssistant/Task/Sub/InfrastControlTask.cpp @@ -1,6 +1,6 @@ #include "InfrastControlTask.h" -#include "Logger.hpp" +#include "Utils/Logger.hpp" bool asst::InfrastControlTask::_run() { diff --git a/src/MeoAssistant/InfrastControlTask.h b/src/MeoAssistant/Task/Sub/InfrastControlTask.h similarity index 100% rename from src/MeoAssistant/InfrastControlTask.h rename to src/MeoAssistant/Task/Sub/InfrastControlTask.h diff --git a/src/MeoAssistant/InfrastDormTask.cpp b/src/MeoAssistant/Task/Sub/InfrastDormTask.cpp similarity index 97% rename from src/MeoAssistant/InfrastDormTask.cpp rename to src/MeoAssistant/Task/Sub/InfrastDormTask.cpp index f76b67c425..62ebe47772 100644 --- a/src/MeoAssistant/InfrastDormTask.cpp +++ b/src/MeoAssistant/Task/Sub/InfrastDormTask.cpp @@ -3,13 +3,13 @@ #include #include "Controller.h" -#include "InfrastOperImageAnalyzer.h" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" -#include "OcrImageAnalyzer.h" -#include "OcrWithPreprocessImageAnalyzer.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 "Utils/Logger.hpp" asst::InfrastDormTask& asst::InfrastDormTask::set_notstationed_enabled(bool dorm_notstationed_enabled) noexcept { diff --git a/src/MeoAssistant/InfrastDormTask.h b/src/MeoAssistant/Task/Sub/InfrastDormTask.h similarity index 100% rename from src/MeoAssistant/InfrastDormTask.h rename to src/MeoAssistant/Task/Sub/InfrastDormTask.h diff --git a/src/MeoAssistant/InfrastInfoTask.cpp b/src/MeoAssistant/Task/Sub/InfrastInfoTask.cpp similarity index 88% rename from src/MeoAssistant/InfrastInfoTask.cpp rename to src/MeoAssistant/Task/Sub/InfrastInfoTask.cpp index 346755c528..6a45dd8abf 100644 --- a/src/MeoAssistant/InfrastInfoTask.cpp +++ b/src/MeoAssistant/Task/Sub/InfrastInfoTask.cpp @@ -1,9 +1,9 @@ #include "InfrastInfoTask.h" #include "Controller.h" -#include "InfrastFacilityImageAnalyzer.h" -#include "Logger.hpp" +#include "ImageAnalyzer/InfrastFacilityImageAnalyzer.h" #include "RuntimeStatus.h" +#include "Utils/Logger.hpp" bool asst::InfrastInfoTask::_run() { diff --git a/src/MeoAssistant/InfrastInfoTask.h b/src/MeoAssistant/Task/Sub/InfrastInfoTask.h similarity index 100% rename from src/MeoAssistant/InfrastInfoTask.h rename to src/MeoAssistant/Task/Sub/InfrastInfoTask.h diff --git a/src/MeoAssistant/InfrastMfgTask.cpp b/src/MeoAssistant/Task/Sub/InfrastMfgTask.cpp similarity index 84% rename from src/MeoAssistant/InfrastMfgTask.cpp rename to src/MeoAssistant/Task/Sub/InfrastMfgTask.cpp index e695be9ccd..611f91ba18 100644 --- a/src/MeoAssistant/InfrastMfgTask.cpp +++ b/src/MeoAssistant/Task/Sub/InfrastMfgTask.cpp @@ -1,7 +1,7 @@ #include "InfrastMfgTask.h" #include "Controller.h" -#include "MatchImageAnalyzer.h" +#include "ImageAnalyzer/General/MatchImageAnalyzer.h" bool asst::InfrastMfgTask::_run() { diff --git a/src/MeoAssistant/InfrastMfgTask.h b/src/MeoAssistant/Task/Sub/InfrastMfgTask.h similarity index 100% rename from src/MeoAssistant/InfrastMfgTask.h rename to src/MeoAssistant/Task/Sub/InfrastMfgTask.h diff --git a/src/MeoAssistant/InfrastOfficeTask.cpp b/src/MeoAssistant/Task/Sub/InfrastOfficeTask.cpp similarity index 95% rename from src/MeoAssistant/InfrastOfficeTask.cpp rename to src/MeoAssistant/Task/Sub/InfrastOfficeTask.cpp index 68951396c9..f56a1f77f3 100644 --- a/src/MeoAssistant/InfrastOfficeTask.cpp +++ b/src/MeoAssistant/Task/Sub/InfrastOfficeTask.cpp @@ -1,8 +1,8 @@ #include "InfrastOfficeTask.h" -#include "AsstRanges.hpp" #include "Controller.h" -#include "Logger.hpp" +#include "Utils/AsstRanges.hpp" +#include "Utils/Logger.hpp" bool asst::InfrastOfficeTask::_run() { diff --git a/src/MeoAssistant/InfrastOfficeTask.h b/src/MeoAssistant/Task/Sub/InfrastOfficeTask.h similarity index 100% rename from src/MeoAssistant/InfrastOfficeTask.h rename to src/MeoAssistant/Task/Sub/InfrastOfficeTask.h diff --git a/src/MeoAssistant/InfrastPowerTask.cpp b/src/MeoAssistant/Task/Sub/InfrastPowerTask.cpp similarity index 96% rename from src/MeoAssistant/InfrastPowerTask.cpp rename to src/MeoAssistant/Task/Sub/InfrastPowerTask.cpp index e14ade67c7..1733e9925c 100644 --- a/src/MeoAssistant/InfrastPowerTask.cpp +++ b/src/MeoAssistant/Task/Sub/InfrastPowerTask.cpp @@ -1,8 +1,8 @@ #include "InfrastPowerTask.h" -#include "AsstRanges.hpp" #include "Controller.h" -#include "Logger.hpp" +#include "Utils/AsstRanges.hpp" +#include "Utils/Logger.hpp" bool asst::InfrastPowerTask::_run() { diff --git a/src/MeoAssistant/InfrastPowerTask.h b/src/MeoAssistant/Task/Sub/InfrastPowerTask.h similarity index 100% rename from src/MeoAssistant/InfrastPowerTask.h rename to src/MeoAssistant/Task/Sub/InfrastPowerTask.h diff --git a/src/MeoAssistant/InfrastProductionTask.cpp b/src/MeoAssistant/Task/Sub/InfrastProductionTask.cpp similarity index 98% rename from src/MeoAssistant/InfrastProductionTask.cpp rename to src/MeoAssistant/Task/Sub/InfrastProductionTask.cpp index 9d5a53a3a7..2a792ea4c7 100644 --- a/src/MeoAssistant/InfrastProductionTask.cpp +++ b/src/MeoAssistant/Task/Sub/InfrastProductionTask.cpp @@ -1,21 +1,21 @@ #include "InfrastProductionTask.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" #include #include #include "Controller.h" -#include "HashImageAnalyzer.h" -#include "InfrastConfiger.h" -#include "InfrastOperImageAnalyzer.h" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" -#include "MultiMatchImageAnalyzer.h" -#include "OcrWithPreprocessImageAnalyzer.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/InfrastConfiger.h" #include "RuntimeStatus.h" #include "TaskData.h" +#include "Utils/Logger.hpp" asst::InfrastProductionTask& asst::InfrastProductionTask::set_uses_of_drone(std::string uses_of_drones) noexcept { diff --git a/src/MeoAssistant/InfrastProductionTask.h b/src/MeoAssistant/Task/Sub/InfrastProductionTask.h similarity index 97% rename from src/MeoAssistant/InfrastProductionTask.h rename to src/MeoAssistant/Task/Sub/InfrastProductionTask.h index b7b3fdb60e..f5524764f0 100644 --- a/src/MeoAssistant/InfrastProductionTask.h +++ b/src/MeoAssistant/Task/Sub/InfrastProductionTask.h @@ -2,7 +2,7 @@ #include "InfrastAbstractTask.h" -#include "AsstInfrastDef.h" +#include "Utils/AsstInfrastDef.h" namespace asst { diff --git a/src/MeoAssistant/InfrastReceptionTask.cpp b/src/MeoAssistant/Task/Sub/InfrastReceptionTask.cpp similarity index 95% rename from src/MeoAssistant/InfrastReceptionTask.cpp rename to src/MeoAssistant/Task/Sub/InfrastReceptionTask.cpp index 8c291aaa36..61f8f2112d 100644 --- a/src/MeoAssistant/InfrastReceptionTask.cpp +++ b/src/MeoAssistant/Task/Sub/InfrastReceptionTask.cpp @@ -1,14 +1,14 @@ #include "InfrastReceptionTask.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" #include "Controller.h" -#include "InfrastClueImageAnalyzer.h" -#include "InfrastClueVacancyImageAnalyzer.h" -#include "Logger.hpp" -#include "MatchImageAnalyzer.h" +#include "ImageAnalyzer/General/MatchImageAnalyzer.h" +#include "ImageAnalyzer/InfrastClueImageAnalyzer.h" +#include "ImageAnalyzer/InfrastClueVacancyImageAnalyzer.h" #include "ProcessTask.h" #include "TaskData.h" +#include "Utils/Logger.hpp" bool asst::InfrastReceptionTask::_run() { diff --git a/src/MeoAssistant/InfrastReceptionTask.h b/src/MeoAssistant/Task/Sub/InfrastReceptionTask.h similarity index 100% rename from src/MeoAssistant/InfrastReceptionTask.h rename to src/MeoAssistant/Task/Sub/InfrastReceptionTask.h diff --git a/src/MeoAssistant/InfrastTradeTask.cpp b/src/MeoAssistant/Task/Sub/InfrastTradeTask.cpp similarity index 100% rename from src/MeoAssistant/InfrastTradeTask.cpp rename to src/MeoAssistant/Task/Sub/InfrastTradeTask.cpp diff --git a/src/MeoAssistant/InfrastTradeTask.h b/src/MeoAssistant/Task/Sub/InfrastTradeTask.h similarity index 100% rename from src/MeoAssistant/InfrastTradeTask.h rename to src/MeoAssistant/Task/Sub/InfrastTradeTask.h diff --git a/src/MeoAssistant/ProcessTask.cpp b/src/MeoAssistant/Task/Sub/ProcessTask.cpp similarity index 95% rename from src/MeoAssistant/ProcessTask.cpp rename to src/MeoAssistant/Task/Sub/ProcessTask.cpp index 666d9ce994..e37c616a8d 100644 --- a/src/MeoAssistant/ProcessTask.cpp +++ b/src/MeoAssistant/Task/Sub/ProcessTask.cpp @@ -5,13 +5,13 @@ #include -#include "AsstUtils.hpp" #include "Controller.h" -#include "GeneralConfiger.h" -#include "Logger.hpp" -#include "ProcessTaskImageAnalyzer.h" +#include "ImageAnalyzer/ProcessTaskImageAnalyzer.h" +#include "Resource/GeneralConfiger.h" #include "RuntimeStatus.h" #include "TaskData.h" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" using namespace asst; @@ -63,6 +63,7 @@ asst::ProcessTask& asst::ProcessTask::set_tasks(std::vector tasks_n { m_cur_retry = 0; m_raw_tasks_name = std::move(tasks_name); + m_pre_task_name.clear(); return *this; } @@ -86,6 +87,10 @@ bool ProcessTask::_run() if (need_exit()) { return false; } + if (m_cur_task_ptr && m_pre_task_name != m_cur_task_ptr->name) { + m_pre_task_name = m_cur_task_ptr->name; + } + json::value info = basic_info(); info["details"] = json::object { { "to_be_recognized", json::array(m_cur_tasks_name) }, @@ -266,7 +271,8 @@ bool asst::ProcessTask::on_run_fails() json::value asst::ProcessTask::basic_info() const { - return AbstractTask::basic_info() | json::object { { "first", json::array(m_raw_tasks_name) } }; + return AbstractTask::basic_info() | + 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/ProcessTask.h b/src/MeoAssistant/Task/Sub/ProcessTask.h similarity index 95% rename from src/MeoAssistant/ProcessTask.h rename to src/MeoAssistant/Task/Sub/ProcessTask.h index 73ce336018..139f897e59 100644 --- a/src/MeoAssistant/ProcessTask.h +++ b/src/MeoAssistant/Task/Sub/ProcessTask.h @@ -1,7 +1,7 @@ #pragma once #include "AbstractTask.h" -#include "AsstTypes.h" +#include "Utils/AsstTypes.h" namespace asst { @@ -34,6 +34,7 @@ namespace asst std::shared_ptr m_cur_task_ptr = nullptr; std::vector m_raw_tasks_name; std::vector m_cur_tasks_name; + std::string m_pre_task_name; std::unordered_map m_rear_delay; std::unordered_map m_times_limit; std::unordered_map m_exec_times; diff --git a/src/MeoAssistant/ReportDataTask.cpp b/src/MeoAssistant/Task/Sub/ReportDataTask.cpp similarity index 98% rename from src/MeoAssistant/ReportDataTask.cpp rename to src/MeoAssistant/Task/Sub/ReportDataTask.cpp index 1a32b70d6b..767df178b9 100644 --- a/src/MeoAssistant/ReportDataTask.cpp +++ b/src/MeoAssistant/Task/Sub/ReportDataTask.cpp @@ -1,8 +1,8 @@ #include "ReportDataTask.h" -#include "AsstUtils.hpp" -#include "GeneralConfiger.h" -#include "Logger.hpp" +#include "Resource/GeneralConfiger.h" +#include "Utils/AsstUtils.hpp" +#include "Utils/Logger.hpp" #include diff --git a/src/MeoAssistant/ReportDataTask.h b/src/MeoAssistant/Task/Sub/ReportDataTask.h similarity index 95% rename from src/MeoAssistant/ReportDataTask.h rename to src/MeoAssistant/Task/Sub/ReportDataTask.h index cc3c8bac5c..85ce05d6d4 100644 --- a/src/MeoAssistant/ReportDataTask.h +++ b/src/MeoAssistant/Task/Sub/ReportDataTask.h @@ -1,8 +1,8 @@ #pragma once #include "AbstractTask.h" -#include "AsstHttp.hpp" -#include "AsstUtils.hpp" +#include "Utils/AsstHttp.hpp" +#include "Utils/AsstUtils.hpp" #include #include diff --git a/src/MeoAssistant/StageNavigationTask.cpp b/src/MeoAssistant/Task/Sub/StageNavigationTask.cpp similarity index 95% rename from src/MeoAssistant/StageNavigationTask.cpp rename to src/MeoAssistant/Task/Sub/StageNavigationTask.cpp index 1e8cebee75..f14504c71f 100644 --- a/src/MeoAssistant/StageNavigationTask.cpp +++ b/src/MeoAssistant/Task/Sub/StageNavigationTask.cpp @@ -3,10 +3,10 @@ #include #include "Controller.h" -#include "Logger.hpp" -#include "OcrImageAnalyzer.h" +#include "ImageAnalyzer/General/OcrImageAnalyzer.h" #include "ProcessTask.h" #include "TaskData.h" +#include "Utils/Logger.hpp" void asst::StageNavigationTask::set_stage_name(std::string stage_name) { diff --git a/src/MeoAssistant/StageNavigationTask.h b/src/MeoAssistant/Task/Sub/StageNavigationTask.h similarity index 100% rename from src/MeoAssistant/StageNavigationTask.h rename to src/MeoAssistant/Task/Sub/StageNavigationTask.h diff --git a/src/MeoAssistant/VisitTask.cpp b/src/MeoAssistant/Task/VisitTask.cpp similarity index 92% rename from src/MeoAssistant/VisitTask.cpp rename to src/MeoAssistant/Task/VisitTask.cpp index a9180e0ca3..2062a0a9eb 100644 --- a/src/MeoAssistant/VisitTask.cpp +++ b/src/MeoAssistant/Task/VisitTask.cpp @@ -2,7 +2,7 @@ #include -#include "ProcessTask.h" +#include "Sub/ProcessTask.h" asst::VisitTask::VisitTask(AsstCallback callback, void* callback_arg) : PackageTask(std::move(callback), callback_arg, TaskType), diff --git a/src/MeoAssistant/VisitTask.h b/src/MeoAssistant/Task/VisitTask.h similarity index 100% rename from src/MeoAssistant/VisitTask.h rename to src/MeoAssistant/Task/VisitTask.h diff --git a/src/MeoAssistant/TaskData.cpp b/src/MeoAssistant/TaskData.cpp index 3a01766ede..9f14d18c3e 100644 --- a/src/MeoAssistant/TaskData.cpp +++ b/src/MeoAssistant/TaskData.cpp @@ -1,14 +1,14 @@ #include "TaskData.h" -#include "AsstRanges.hpp" +#include "Utils/AsstRanges.hpp" #include #include -#include "AsstTypes.h" -#include "GeneralConfiger.h" -#include "Logger.hpp" -#include "TemplResource.h" +#include "Resource/GeneralConfiger.h" +#include "Resource/TemplResource.h" +#include "Utils/AsstTypes.h" +#include "Utils/Logger.hpp" const std::unordered_set& asst::TaskData::get_templ_required() const noexcept { diff --git a/src/MeoAssistant/TaskData.h b/src/MeoAssistant/TaskData.h index 3779a3ec2a..0abf09509c 100644 --- a/src/MeoAssistant/TaskData.h +++ b/src/MeoAssistant/TaskData.h @@ -1,6 +1,6 @@ #pragma once -#include "AbstractConfigerWithTempl.h" +#include "Resource/AbstractConfigerWithTempl.h" #include #include diff --git a/src/MeoAssistant/AsstConf.h b/src/MeoAssistant/Utils/AsstConf.h similarity index 100% rename from src/MeoAssistant/AsstConf.h rename to src/MeoAssistant/Utils/AsstConf.h diff --git a/src/MeoAssistant/AsstHttp.hpp b/src/MeoAssistant/Utils/AsstHttp.hpp similarity index 100% rename from src/MeoAssistant/AsstHttp.hpp rename to src/MeoAssistant/Utils/AsstHttp.hpp diff --git a/src/MeoAssistant/AsstImageIo.hpp b/src/MeoAssistant/Utils/AsstImageIo.hpp similarity index 100% rename from src/MeoAssistant/AsstImageIo.hpp rename to src/MeoAssistant/Utils/AsstImageIo.hpp diff --git a/src/MeoAssistant/AsstInfrastDef.h b/src/MeoAssistant/Utils/AsstInfrastDef.h similarity index 100% rename from src/MeoAssistant/AsstInfrastDef.h rename to src/MeoAssistant/Utils/AsstInfrastDef.h diff --git a/src/MeoAssistant/AsstMsg.h b/src/MeoAssistant/Utils/AsstMsg.h similarity index 100% rename from src/MeoAssistant/AsstMsg.h rename to src/MeoAssistant/Utils/AsstMsg.h diff --git a/src/MeoAssistant/AsstPlatform.h b/src/MeoAssistant/Utils/AsstPlatform.h similarity index 100% rename from src/MeoAssistant/AsstPlatform.h rename to src/MeoAssistant/Utils/AsstPlatform.h diff --git a/src/MeoAssistant/AsstPlatformPosix.cpp b/src/MeoAssistant/Utils/AsstPlatformPosix.cpp similarity index 100% rename from src/MeoAssistant/AsstPlatformPosix.cpp rename to src/MeoAssistant/Utils/AsstPlatformPosix.cpp diff --git a/src/MeoAssistant/AsstPlatformPosix.h b/src/MeoAssistant/Utils/AsstPlatformPosix.h similarity index 100% rename from src/MeoAssistant/AsstPlatformPosix.h rename to src/MeoAssistant/Utils/AsstPlatformPosix.h diff --git a/src/MeoAssistant/AsstPlatformWin32.cpp b/src/MeoAssistant/Utils/AsstPlatformWin32.cpp similarity index 100% rename from src/MeoAssistant/AsstPlatformWin32.cpp rename to src/MeoAssistant/Utils/AsstPlatformWin32.cpp diff --git a/src/MeoAssistant/AsstPlatformWin32.h b/src/MeoAssistant/Utils/AsstPlatformWin32.h similarity index 100% rename from src/MeoAssistant/AsstPlatformWin32.h rename to src/MeoAssistant/Utils/AsstPlatformWin32.h diff --git a/src/MeoAssistant/AsstRanges.hpp b/src/MeoAssistant/Utils/AsstRanges.hpp similarity index 100% rename from src/MeoAssistant/AsstRanges.hpp rename to src/MeoAssistant/Utils/AsstRanges.hpp diff --git a/src/MeoAssistant/AsstTypes.h b/src/MeoAssistant/Utils/AsstTypes.h similarity index 100% rename from src/MeoAssistant/AsstTypes.h rename to src/MeoAssistant/Utils/AsstTypes.h diff --git a/src/MeoAssistant/AsstUtils.hpp b/src/MeoAssistant/Utils/AsstUtils.hpp similarity index 97% rename from src/MeoAssistant/AsstUtils.hpp rename to src/MeoAssistant/Utils/AsstUtils.hpp index 96fc38f365..b3055ea023 100644 --- a/src/MeoAssistant/AsstUtils.hpp +++ b/src/MeoAssistant/Utils/AsstUtils.hpp @@ -524,3 +524,18 @@ namespace asst::utils } } } // namespace asst::utils + +#if defined(ASST_USE_RANGES_RANGE_V3) || defined(ASST_USE_RANGES_STL) +#ifdef ASST_USE_RANGES_RANGE_V3 +namespace ::ranges +#else // ASST_USE_RANGES_STL +namespace std::ranges +#endif +{ + template + inline constexpr bool enable_view> = enable_view>; + template + inline constexpr bool enable_borrowed_range> = + enable_borrowed_range>; +} +#endif \ No newline at end of file diff --git a/src/MeoAssistant/Logger.hpp b/src/MeoAssistant/Utils/Logger.hpp similarity index 100% rename from src/MeoAssistant/Logger.hpp rename to src/MeoAssistant/Utils/Logger.hpp diff --git a/src/MeoAssistant/NoWarningCV.h b/src/MeoAssistant/Utils/NoWarningCV.h similarity index 100% rename from src/MeoAssistant/NoWarningCV.h rename to src/MeoAssistant/Utils/NoWarningCV.h diff --git a/src/MeoAssistant/NoWarningCVMat.h b/src/MeoAssistant/Utils/NoWarningCVMat.h similarity index 100% rename from src/MeoAssistant/NoWarningCVMat.h rename to src/MeoAssistant/Utils/NoWarningCVMat.h diff --git a/src/MeoAssistant/SafeWindows.h b/src/MeoAssistant/Utils/SafeWindows.h similarity index 100% rename from src/MeoAssistant/SafeWindows.h rename to src/MeoAssistant/Utils/SafeWindows.h diff --git a/src/MeoAssistant/SingletonHolder.hpp b/src/MeoAssistant/Utils/SingletonHolder.hpp similarity index 100% rename from src/MeoAssistant/SingletonHolder.hpp rename to src/MeoAssistant/Utils/SingletonHolder.hpp diff --git a/src/MeoAssistant/Version.h b/src/MeoAssistant/Utils/Version.h similarity index 100% rename from src/MeoAssistant/Version.h rename to src/MeoAssistant/Utils/Version.h diff --git a/src/MeoAsstGui/Helper/AsstProxy.cs b/src/MeoAsstGui/Helper/AsstProxy.cs index d9d4266dd1..7a7e5aff28 100644 --- a/src/MeoAsstGui/Helper/AsstProxy.cs +++ b/src/MeoAsstGui/Helper/AsstProxy.cs @@ -13,6 +13,7 @@ using System; using System.Collections.Generic; +using System.IO; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; @@ -174,9 +175,10 @@ namespace MeoAsstGui var settingsModel = _container.Get(); if (settingsModel.RoguelikeAdditionalResourceEnabled) { - _additionalLoaded = AsstLoadResource(System.IO.Directory.GetCurrentDirectory() + "\\resource\\addition\\Roguelike2\\"); + _additionalLoaded = AsstLoadResource(Directory.GetCurrentDirectory() + "\\resource\\addition\\Roguelike2\\"); return _additionalLoaded; } + return true; } @@ -204,20 +206,20 @@ namespace MeoAsstGui return true; } - loaded = AsstLoadResource(System.IO.Directory.GetCurrentDirectory()); + loaded = AsstLoadResource(Directory.GetCurrentDirectory()); } else if (_curResource == "Official" || _curResource == "Bilibili") { // Load basic resources for CN client first // Then load global incremental resources - loaded = AsstLoadResource(System.IO.Directory.GetCurrentDirectory() + "\\resource\\global\\" + settingsModel.ClientType); + loaded = AsstLoadResource(Directory.GetCurrentDirectory() + "\\resource\\global\\" + settingsModel.ClientType); } else { // Load basic resources for CN client first // Then load global incremental resources - loaded = AsstLoadResource(System.IO.Directory.GetCurrentDirectory()) - && AsstLoadResource(System.IO.Directory.GetCurrentDirectory() + "\\resource\\global\\" + settingsModel.ClientType); + loaded = AsstLoadResource(Directory.GetCurrentDirectory()) + && AsstLoadResource(Directory.GetCurrentDirectory() + "\\resource\\global\\" + settingsModel.ClientType); } if (!loaded) @@ -242,6 +244,10 @@ namespace MeoAsstGui /// public void Init() { + // TODO: 屎山.jpg,过几个版本再把这两行删了 + File.Delete(Directory.GetCurrentDirectory() + "\\resource\\addition\\Roguelike2\\resource\\roguelike_recruit.json"); + File.Delete(Directory.GetCurrentDirectory() + "\\resource\\addition\\Roguelike2\\resource\\roguelike_shopping.json"); + bool loaded = LoadResource(); loaded &= LoadAdditionalResource(); diff --git a/src/MeoAsstGui/newlogo.ico b/src/MeoAsstGui/newlogo.ico index 4c5d2b465f..06ffd8e266 100644 Binary files a/src/MeoAsstGui/newlogo.ico and b/src/MeoAsstGui/newlogo.ico differ diff --git a/tools/ResourceUpdater/ResourceUpdater.vcxproj b/tools/ResourceUpdater/ResourceUpdater.vcxproj index 0784826e8b..130b25921a 100644 --- a/tools/ResourceUpdater/ResourceUpdater.vcxproj +++ b/tools/ResourceUpdater/ResourceUpdater.vcxproj @@ -46,6 +46,7 @@ stdcpp20 /utf-8 /MP %(AdditionalOptions) stdc17 + $(ProjectDir)..\..\src\MeoAssistant;%(AdditionalIncludeDirectories) Console diff --git a/tools/ResourceUpdater/main.cpp b/tools/ResourceUpdater/main.cpp index 2dde25a848..d4dd402752 100644 --- a/tools/ResourceUpdater/main.cpp +++ b/tools/ResourceUpdater/main.cpp @@ -2,6 +2,8 @@ #include #include +#include "Utils/AsstUtils.hpp" + #ifdef _MSC_VER #pragma warning(push) #pragma warning(disable : 5054) @@ -22,33 +24,6 @@ #pragma GCC diagnostic pop #endif #include -#include - -std::string ReplaceAll(std::string str, const std::string& from, const std::string& to) -{ - size_t start_pos = 0; - while ((start_pos = str.find(from, start_pos)) != std::string::npos) { - str.replace(start_pos, from.length(), to); - start_pos += to.length(); // Handles case where 'to' is a substring of 'from' - } - return str; -} - -std::vector Split(const std::string& str, const std::string& delim) -{ - std::vector tokens; - size_t prev = 0, pos = 0; - do { - pos = str.find(delim, prev); - if (pos == std::string::npos) pos = str.length(); - std::string token = str.substr(prev, pos - prev); - if (!token.empty()) { - tokens.push_back(token); - } - prev = pos + delim.length(); - } while (pos < str.length() && prev < str.length()); - return tokens; -} static inline void ltrim(std::string& s) { @@ -403,7 +378,7 @@ bool update_infrast_data(const std::filesystem::path& input_dir, const std::file // 这里面有些是手动修改的,要保留 json::value& root = old_json; std::unordered_set rooms; - for (auto& buff_obj : buffs | std::views::values) { + for (auto& buff_obj : buffs | asst::views::values) { std::string raw_room_type = static_cast(buff_obj["roomType"]); // 为了兼容老版本的字段 orz @@ -653,6 +628,8 @@ bool update_battle_chars_info(const std::filesystem::path& input_dir, const std: bool update_recruitment_data(const std::filesystem::path& input_dir, const std::filesystem::path& output, bool is_base) { + using namespace asst::utils; + using asst::ranges::find_if, asst::views::filter; const auto& recruitment_file = input_dir / "gacha_table.json"; const auto& operators_file = input_dir / "character_table.json"; @@ -667,17 +644,30 @@ bool update_recruitment_data(const std::filesystem::path& input_dir, const std:: std::vector chars_list; std::string recruitment_details = recruitment_opt->at("recruitDetail").as_string(); remove_xml(recruitment_details); - auto splited = Split(ReplaceAll(recruitment_details, "\\n", ""), "★"); + _string_replace_all(recruitment_details, "\\n", ""); + auto splited = string_split(recruitment_details, "★"); bool is_useless = true; - for (const auto& s : splited) { - if (s.find("Lancet-2") != std::string::npos) { + auto not_empty = [](std::string_view str) -> bool { return !str.empty(); }; + for (auto s : splited | filter(not_empty)) { + if (s.find("Lancet-2") != std::string_view::npos) { is_useless = false; } if (is_useless) { continue; } - for (const auto& n : Split(Split(s, "\n")[0], "/")) { - std::string name = n; +#if 0 + std::string_view s1 = (string_split(s, "\n") | filter(not_empty)).front(); +#else + std::string_view s1; + if (auto s_splited = string_split(s, "\n") | filter(not_empty); !s_splited.empty()) { + s1 = s_splited.front(); + } + else { + continue; + } +#endif + for (auto n : string_split(s1, "/") | filter(not_empty)) { + std::string name(n); trim(name); chars_list.emplace_back(name); } @@ -710,7 +700,10 @@ bool update_recruitment_data(const std::filesystem::path& input_dir, const std:: else { continue; } - if (info.rarity == 5) { + if (info.rarity == 1) { + info.tags.emplace_back("支援机械"); + } + else if (info.rarity == 5) { info.tags.emplace_back("资深干员"); } else if (info.rarity == 6) {