Commit Graph

132 Commits

Author SHA1 Message Date
github-actions[bot]
1e0d66cf7d chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/25763261294
[skip changelog]
2026-05-12 21:29:51 +00:00
Aliothmoon
c6f930a60d feat: support native android (#16179)
* feat: add android controller support

* feat: add android compile options and add core static options

* fix: add __ANDROID__ macro for Android platform

* fix: move switch break into macro conditional block

* ci: add Android CMake presets (arm64, x64)

* fix: add missing Android TouchMode handling

* fix: remove unnecessary pre-check in android

* fix: restore unnecessary modifications

* fix: unified use __ANDROID__

* refactor: use interpolate_swipe_with_pause in AndroidController

* feat: add Android crash logcat output and native backtrace

* feat: only copy once from external lib screencap

* feat: add Android JNI AttachThread/DetachThread to working_proc

* fix: break control in switch

* fix: update click interval & swipe interval

* ci: restore Android build job with MaaFramework download

* fix: remove thread attach

* ci: temporarily remove MaaAndroidNativeControlUnit.so

* feat(android-ctrl): SWIPE_WITH_PAUSE 由 InstanceOption DeploymentWithPause 控制

* feat: SWIPE_WITH_PAUSE 默认启用

* feat: add android compile options and add core static options

* feat: use maafw controll unit

* fix: minor adjustments

* refactor: adapt maafw android lib

* fix: remove screencap when connect

* chore: change maafw lib use

* feat: adapt maafw control unit click & click_key

* fix: address critical issues in Android native controller

- Restore InstanceOptionKey::ClientType case in set_instance_option,
  which was accidentally removed and broke client type setting on all platforms
- Enable libMaaAndroidNativeControlUnit.so copy step in CI (was commented out),
  so Android artifacts actually include the required control unit library
- Fail connect() early when screen_resolution is missing or invalid in config,
  preventing silent {0,0} resolution that would break swipe and screencap
- Check touch_down() return value in swipe() and abort on failure

* fix: correct bounds_check off-by-one and extract KEYCODE_ESCAPE constant

- bounds_check used <= which allowed coordinates equal to screen width/height
  (off-screen); use < to match the valid range [0, dimension-1]
- Extract magic number 111 into KEYCODE_ESCAPE constexpr in press_esc()

* fix: avoid heap allocation in noexcept terminate/signal handlers

format_signal_reason was returning std::string and using std::format in
its default branch. Called from noexcept custom_terminate_handler before
the outer try block, any allocation failure would throw std::bad_alloc,
triggering recursive std::terminate and aborting crash reporting.

- Change return type to const char* noexcept, returning string literals
- Replace std::format("Signal {}", sig) with "Unknown Signal" (only the
  four registered signals are ever passed, so this branch is unreachable)
- Change signal_info in custom_terminate_handler from std::string to
  const char*, eliminating all allocations on the pre-try path

* fix: suppress unused-variable warning for signal_reason on non-Android
2026-05-12 22:15:15 +08:00
uye
5445962a7b docs: 补全连接阶段的 ClientType 参数说明 2026-05-04 19:13:52 +08:00
srdr0p
1b1bc15aca feat: 支持腾讯应用宝 5.10.56.xx (#16292)
* feat(connection): 新增腾讯应用宝模拟器支持

在 WinAdapter 和 config.json 中添加应用宝(Androws)模拟器入口。
本次仅支持 ADB Input 方式和官方渠道。

同步更新各语言连接文档(zh/en/ja/ko/tw)及 UI 本地化字符串。

* feat(controller): 为腾讯应用宝新增多渠道与 Minitouch 支持

应用宝的应用与 DisplayId 绑定,需在 connect() 前确定包名。
新增 InstanceOptionKey::ClientType (= 6),经由
AsstSetInstanceOption -> Assistant::set_instance_option
-> Controller::set_client_type 传递渠道信息;
AdbController::connect 在建立连接时通过 ctrler()->get_client_type()
读取并写入 AdbConnectionContext,用于替换命令模板中的 [PackageName]。

引入 AdbConnectionContext 保存 ADB 连接信息供 Minitouch 使用,
并通过 eventId 标识所绑定的输入设备。
2026-04-26 23:48:24 +08:00
Frog Chen
1a13932f05 feat: AVD截图增强 (#15608)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-18 16:11:58 +08:00
MistEO
bf8e28231d feat: 适配maafw新Win32触控方式 (#15755) 2026-02-20 23:44:50 +08:00
status102
4ec8135698 fix: 先兼容旧作业中不合理的技能选择 2026-02-06 14:57:04 +08:00
Status102
f4dcaca814 feat: 自动编队识别精英化及等级 (#15161)
* feat: 自动编队识别专精及等级

* chore: module

* i18n: translation

* style: format

* i18n: JP

* i18n: EN

Unsure if Elite 1 / Elite 2 is better than E1 / E2... No idea how other servers consider them.

Consistency wise we always called them Elite 2

* i18n: KR

* chore: fix typo

* i18n: add new key 干员等级不足

---------

Co-authored-by: Manicsteiner <Manicsteiner@outlook.com>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
Co-authored-by: HX3N <scarlet7518@gmail.com>
2026-01-22 01:36:35 +08:00
github-actions[bot]
ecd4a33f8d chore: Auto update by pre-commit hooks
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/21118556393
[skip changelog]
2026-01-18 21:04:18 +00:00
MistEO
a11660cbac feat(PC): 支持 PC 端明日方舟 (#15407)
* feat(controller): 集成 MaaWin32ControlUnit 支持 Win32 窗口截图与控制

- 提取公共滑动插值逻辑到 SwipeHelper.hpp,重构 Minitouch/PlayTools 控制器
- 新增 Win32ControlUnitLoader 动态加载 MaaWin32ControlUnit.dll
- 新增 Win32Controller 实现 ControllerAPI,适配 touch_down/move/up 接口
- 添加 AsstAsyncAttachWindow 公开 API 用于绑定 Win32 窗口
- 添加 Win32 截图/输入方式的类型定义和枚举常量

* feat(api): 增加同步版本的 AsstAttachWindow 接口

模仿 AsstConnect 实现同步绑定 Win32 窗口的接口,方便简单场景下直接调用。
该接口标记为 deprecated,建议使用异步版本 AsstAsyncAttachWindow。

* fix: can build MaaCore

* feat: 完成整体适配

* feat(ci): 添加 MaaFramework Win32ControlUnit 下载步骤

使用 robinraju/release-downloader 从 MaaFramework 最新 release 下载
win-x64 版本并提取 MaaWin32ControlUnit 到构建产物中

* docs: 添加 Win32Controller 调试所需 MaaWin32ControlUnit 的说明

在开发文档的环境配置步骤中说明调试 Win32Controller 需要手动下载
MaaWin32ControlUnit.dll,并欢迎社区贡献自动下载脚本

* fix(i18n): 修改 UseAttachWindowWarning 措辞为"仅供尝鲜"

* fix: 小细节修复

* ci: fix maafw filename

* feat: PC 移至连接配置

* feat: 调整描述

* chore: 调整 PC 在连接配置中的顺序

* feat: 设置指引和开始唤醒界面 PC 选项绑定

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2026-01-18 21:17:59 +08:00
Status102
aeff2ba9e6 i18n: 自动战斗编队 技能等级不足i18n, CN 使用理智药及碎石 (#15435)
* i18n: 自动战斗编队 技能等级不足i18n, CN 使用理智药及碎石

* i18n: KR

* docs: 使用理智药

---------

Co-authored-by: HX3N <scarlet7518@gmail.com>
2026-01-18 18:53:26 +08:00
Status102
7fad233fd6 feat: 自动战斗-自动编队支持技能等级要求 (#15355)
* feat: 自动战斗-自动编队支持技能等级要求

* fix: unused

* perf: 合并上报

* fix: 滑动任务

* fix: 修改一下点击位置
2026-01-12 14:45:11 +08:00
status102
a2c2de497c perf(core): ProcessTask 输出优化 2026-01-10 18:02:12 +08:00
MistEO
9aab7f4846 feat: 重构主页日志侧边栏整体布局和样式 (#15211)
* feat: 重构主页日志侧边栏整体布局和样式

* feat: 优化一下Live

* refactor: 调整卡片布局

* revert: 回滚不知道干嘛的改动

* feat: 调整右上角悬浮窗布局

* chore: AI一直在改个啥

* Revert "chore: AI一直在改个啥"

This reverts commit b5ae565c34a2a187ae953cc385b0b85de83fc140.

* perf: 调整卡片分割逻辑,优化界面布局

* perf: 优化显示效果

* rft: 简化绑定

* chore: 调整界面布局

* feat: 任务报错更新缩略图

* feat: 肉鸽开始探索前分割卡片

* feat: 肉鸽结算更新缩略图

* feat: 肉鸽战斗成功/失败时更新缩略图

* feat: 事件选择更新图片

* fix: 在缩放时对 BGR 缓冲区长度或尺寸不匹配的情况进行防护

* chore: 添加日志,删除无用的 using

* style: 格式化代码

* fix: 避免在使用 PropertyDependsOn 的同时重复发送依赖属性通知。

* fix: 下载日志错位

* fix: 图片数量限制错误

* feat: 自定义最大缩略图数量

* fix: en 语言下背景图片选择按钮文字无法显示完全

* chore: 新用户标题栏默认不显示配置名称

* chore: 标题栏端口地址默认省略 127.0.0.1: 与 localhost:

* feat: 卡片背景色

* chore: 删除没用的 ColumnDefinitions

* feat: 就要四个字

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2026-01-02 23:40:26 +08:00
MistEO
9a20411553 refactor: 统一 DEBUG_VERSION 2025-12-31 21:38:44 +08:00
Status102
b597d0d1c1 feat: ProcessTask任务命中缓存结果 (#12651)
* feat: ProcessTask任务命中缓存结果

* perf: 加个函数

* perf: 合并直接截图

* feat: 增加匹配模板及文字

* fix: win

* fix: ptr check

* fix: template func

* fix: type

* fix: import

* fix: empty

* perf: early retrun

* perf: shared image

* fix: import
2025-12-23 21:40:56 +08:00
Weiyou Wang
d6cc72bcb3 rft: 修复、改进自动借助战功能 (#11105) 2025-11-14 14:20:45 +11:00
MistEO
640eed10e2 refactor: use MaaUtils instead of Utils (#14579)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-11-02 23:19:38 +08:00
uye
ed122d8100 feat: 增加纯数色匹配 (#14536)
* feat: 增加纯数色匹配

* chore: Auto update by pre-commit hooks [skip changelog]

* chore: 更新 schema

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-10-28 01:41:25 +08:00
Weiyou Wang
795efbcd23 refactor: 将 Copilot ActionType::ResetTimer 更改为更适合的 ResetStopwatch (#14507)
* refactor: 为 ActionType::ResetTimer 加入中文变种

* refactor: Timer -> Stopwatch
2025-10-22 22:20:50 +11:00
Weiyou Wang
2c619493f6 feat: 跳过使用未准备好的技能 && 全局计时器 (#13913)
* feat: skip_if_not_ready

* feat: elapsed_time

* feat: WpfGui log 输出计时器信息

* chore: Auto update by pre-commit hooks [skip changelog]

* feat: 不默认启用全局计时器

* refactor: 支持 ResetTimer 拼写变种

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-10-20 01:35:37 +11:00
Status102
e2b209e723 feat: 自动战斗多作业支持保存干员组内编入的干员 (#14095)
* chore: 加个存储先

* feat: 与旧编队比较

* feat: 快速编队

* fix: 计数

* fix: 缓存了旧的组名

* perf: 快速退出

* fix: 跳过编队后修改编队状态

* fix: 完事

* fix: err

* fix: 顺手一起修了
2025-09-15 01:27:51 +08:00
MistEO
5c0445d3ab refactor: 依赖大更新 (#13908)
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-09-08 21:17:47 +08:00
Status102
51fd7bacea refactor: 自动战斗干员编队状态; 修复编队中干员属性未达标时反复报错; 缺少干员输出时, 干员组内干员打平输出 (#13795)
* chore: 状态定义

* rft: 重构干员编队的状态

* feat: 编入上次干员

* rft: wpf输出

* fix: ubuntu
2025-08-20 19:59:08 +08:00
travellerse
04175f48b2 perf: 自动编队干员组显示模组需求 (#13796)
* perf: 自动编队干员组显示模组需求

* chore: 简化判断逻辑

* chore: 统一格式

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-08-19 19:51:44 +08:00
Status102
24a92b4a01 refactor: 合并ocrBinThreshold (#13635) 2025-08-11 12:12:41 +02:00
uye
dd6c35fd92 rft: 增加企鹅物流 .cn 备用域名,迁移上报逻辑到 UI 层 (#13602)
* chore: 企鹅物流上报添加 .cn 域名

* rft: 将企鹅物流的上报交给 ui 处理

* chore: Auto update by pre-commit hooks [skip changelog]

* chore: 上报移除 cpr version

* docs: 添加对应文档

* chore: Auto update by pre-commit hooks [skip changelog]

* chore: 获取新 id

* chore: 提取链接

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-09 22:48:38 +08:00
MistEO
66cfa848b0 feat: u16 OCR replace (#13533)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-08-06 13:29:23 +08:00
Hao Guan
a2dce0bc4d fix: clang编译警告 (#13482) 2025-08-03 22:09:49 +08:00
uye
92bd4690cd feat: PipelineAnalyzer 支持使用灰度图匹配文字 2025-08-01 21:02:19 +08:00
uye
a1c491cf37 feat: ocr 任务暴露灰度阈值接口 2025-07-27 01:01:39 +08:00
travellerse
d39167007b feat: 支持编队添加干员时选择模组 (#12811)
* feat: 支持编队添加干员时选择模组

* chore: Auto update by pre-commit hooks [skip changelog]

* feat: 更新模组编号和本地化字符串以支持新模组

* fix: 统一使用激活时的模组字符图像,将识别阈值下降至0.8以识别未激活时的模组字符

* perf: 省略不必要的参数

* perf: 修改模组默认值为`-1: 不修改`

* fix: 修复不使用模组时的点击区域, 使用模板图替换

* fix: roi

* chore: Auto update by pre-commit hooks [skip changelog]

* perf: 优化部分文本

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 选择模组失败时反选干员

* fix: 选择模组失败时继续检查同组其他干员

* perf: 过个Rgb

Co-authored-by: status102<102887808+status102@users.noreply.github.com>

* chore: 不过灰度

* fix: 添加模板图片以匹配y模组字母的两种形式

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-07-11 23:56:37 +08:00
Constrat
bbc2774115 style: fix clang 2025-06-09 23:17:48 +02:00
uye
c0efe8891a fix: 高分辨率下无法进入特定关卡(虽然修了但还是不建议用 2k 4k 2025-06-09 15:44:42 +08:00
status102
964c64576d perf: 自动战斗编队固定优先编入所有干员, 且按照作业顺序 2025-06-06 13:24:55 +08:00
status102
597b8fd818 revert 8fb4b9951f 2025-06-06 13:13:45 +08:00
status102
8fb4b9951f fix: 漏了.jpg
[skip changelog]
2025-06-06 13:02:20 +08:00
status102
39f82a4224 feat: 自动战斗费用击杀数缓存, 减少性能消耗 2025-06-04 09:56:49 +08:00
status102
53c2deaf07 feat: ProcessTask支持特征匹配 (#12701)
* feat: ProcessTask支持特征匹配

* chore: test

* fix: test

* docs: task文档
2025-05-16 13:13:48 +08:00
status102
263b16ac8b feat: 特征匹配 (#10966)
* feat: 特征匹配

* chore: 测试内容

* refactor: 根据最新版本重新迁移, 移除多模板

* chore: Auto update by pre-commit hooks [skip changelog]

* chore: 测试移除

* fix: platform

* chore: docs

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-05-13 18:24:16 +08:00
Constrat
ce07e061e9 style: precommit clang? 2025-04-20 11:26:52 +02:00
Constrat
995af0fcda ci: bump oxi, clang, prettier, markdownlint (#12388)
* ci: bump oxi, clang, prettier, markdownlint

* chore: Auto update by pre-commit hooks [skip changelog]

* chore: 移除不再使用clang-format的JSON文件

* chore: clang-format disable

* chore: clang版本更新

* chore: Auto update by pre-commit hooks [skip changelog]

* chore: ver注释

* docs: Modify the clang-format version restriction in the documentation to match the current changes

@zzyyyl

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2025-04-20 09:42:41 +08:00
Aliothmoon
76e41e30e2 feat: 调整按钮阴影 (#12398)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-19 00:14:23 +08:00
Constrat
f33fcc4ce5 style: clang mass formatting 2025-04-17 09:32:58 +02:00
status102
5628ad3693 Revert "style: clang formatting"
This reverts commit 1656a80b54.
2025-02-02 23:59:46 +08:00
Constrat
1656a80b54 style: clang formatting
[skip changelog]
2025-02-02 14:24:12 +01:00
status102
896032a477 fix: 移除二次检查
[skip changelog]
2025-02-02 15:44:55 +08:00
晓丶梦丶仁
3d5e05414f feat: 点刺、后勤种子存钱 & ProcessTask 添加 Input 方法 (#11521)
* feat: 为 ProcessTask 添加文本输入功能

* feat: 点刺、后勤种子存钱

* docs: 为 Input 方法添加文档

* perf: 添加循环刷钱cd检查

* perf: werror

* perf: 改变 Input 的 int 值

* perf: 减少 AsstProxy 传参,改用 c:Binding

* chore: 界面显示和获取分离

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-01-12 20:03:09 +08:00
uye
918bce16d6 chore: 修改上报抬头 2025-01-04 12:50:44 +08:00
Weiyou Wang
f0174a6541 feat: 自动编队允许指定助战单位 (#11075)
* feat: 自动编队自动借助战

Revert d78fc68

fix: 招募助战后继续(缺少点击快速招募)

i18n: 翻译

style: clang-format

fix: basetask template

fix: werror

perf: 注释、format

i18n: en

perf: 完成功能实现,复用task,进行gui输出

perf: 更改默认状态

feat: BattleFormationTask

Revert 05baeb4 (Back to 739aa03)

* fix: 缺干员回到主界面的时候应该点确认而不是返回

* feat: 助战干员职业选择栏模版

* refactor: UseSupportUnitTaskPlugin

* chore: Auto update by pre-commit hooks [skip changelog]

* perf: 默认值适配国服

* chore: Auto update by pre-commit hooks [skip changelog]

* feat: try_find_and_apply_support_unit

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 大概可以用了

* fix: 补充 struct 的构造函数

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 添加默认构造函数

* chore: Auto update by pre-commit hooks [skip changelog]

* fix: 改改类型

* fix: callback[what] 纠正

* perf: roi及初始化优化

* perf: 简化中英文查找

* perf: rename func

* perf: click roi

* fix: 在点击助战干员的行动后添加 LoadingText

* fix: 打点 Log

* fix: remove unused function

---------

Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2024-11-06 00:37:43 +11:00