Compare commits

...

1910 Commits

Author SHA1 Message Date
pre-commit-ci[bot]
8d434fb84c chore: Auto update by pre-commit hooks [skip changelog] 2025-05-19 14:38:02 +00:00
status102
8681039067 chore: 点剧情
bug好多,再想想
2025-05-19 22:36:33 +08:00
status102
dd36585b16 fix: 逻辑取反 2025-05-19 20:59:56 +08:00
pre-commit-ci[bot]
b58917c74b chore: Auto update by pre-commit hooks [skip changelog] 2025-05-19 06:55:01 +00:00
status102
633fe73993 feat: 自动战斗自动点击剧情 2025-05-19 14:52:16 +08:00
status102
aa46d668d1 fix: 关卡内教程降低暂停按钮亮度,导致无法识别 2025-05-19 12:45:38 +08:00
status102
f76db36364 fix: mac platform 2025-05-18 23:36:54 +08:00
status102
7f4a95280c fix: 自动战斗编队时重复选中同一干员 2025-05-18 20:57:34 +08:00
status102
711041f190 perf: 自动战斗编队时增加干员组名输出 2025-05-18 19:56:25 +08:00
status102
21086dcf68 fix: 部分情况下刷理智连战使用AUTO模式时, 吃理智药溢出理智 2025-05-18 19:56:03 +08:00
uye
2c3b6ac50a feat: 更新解决方案 2025-05-18 19:54:40 +08:00
晓丶梦丶仁
743c51a4b5 fix: 开始行动 点击过快 2025-05-18 18:58:14 +08:00
github-actions[bot]
61ce039b12 chore: Auto Update Game Resources - 2025-05-18
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/15095131924

[skip changelog]
2025-05-18 10:45:40 +00:00
晓丶梦丶仁
f6788e6029 fix: 开始行动 ocr replace 2025-05-18 18:42:09 +08:00
uye
a7ed964cb0 fix: 延迟停止按钮叠加显示 2025-05-18 17:40:28 +08:00
Constrat
a91fc84942 fix: formatting ci prettier and clang
[skip changelog]
2025-05-18 11:21:02 +02:00
萨拉托加
66ef1f0836 fix: ocr fix (#12736)
* fix: ocr fix

* fix: 还原
2025-05-18 15:24:21 +08:00
uye
f0a3bbf16a chore: 修改 not in deploy plan 提示 2025-05-18 15:05:39 +08:00
uye
529fedd95e chore: point_states 改用 unordered_map 2025-05-18 14:06:20 +08:00
uye
434932d39a fix: ci format 2025-05-18 13:35:33 +08:00
uye
6601c6621c chore: 调整截图保存逻辑 2025-05-18 12:23:26 +08:00
筱竹聽雨
7a65be5fa5 chore: 尚蜀夜市招募黑名单添加新约能天使 (#12734)
chore:优化黑名单

将新约能天使加入黑名单
2025-05-18 08:37:21 +08:00
github-actions[bot]
0ca0de9663 chore: Auto Update Game Resources - 2025-05-17
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/15085694756

[skip changelog]
2025-05-17 13:31:06 +00:00
status102
c69ce8ca7a perf: 黄票绿票商店使用特征匹配 2025-05-17 21:21:40 +08:00
status102
9bccb24654 chore: 黄绿票商店任务整理 2025-05-17 21:11:25 +08:00
status102
0d4ffca813 fix: 指定战斗次数后剩余次数小于连战次数时,可能修改到非指定连战次数 2025-05-17 20:03:22 +08:00
晓丶梦丶仁
b13e4d022b Revert "perf: 黄票绿票商店使用特征匹配 (#12718)"
This reverts commit 57888f783e.
2025-05-17 18:54:29 +08:00
晓丶梦丶仁
110847e005 fix: IS4 竣工仪式 2025-05-17 15:13:46 +08:00
Manicsteiner
772424e920 chore: YostarJP ocr fix (#12729) 2025-05-17 11:34:49 +08:00
status102
57888f783e perf: 黄票绿票商店使用特征匹配 (#12718)
* perf: 黄票绿票商店使用特征匹配

* fix: task
2025-05-16 23:52:45 +08:00
Constrat
f4ee5356d1 fix: SSSBuffChoose for YostarEN 2025-05-16 11:42:54 +02:00
Loong
035fdaa6ca chore: find OpenCV features2d and xfeatures2d components (#12714) 2025-05-16 10:17:45 +01:00
status102
2d4c556bc6 perf: 简化基建任务自定义配置路径Readonly 2025-05-16 16:13:46 +08:00
status102
58a3157bb3 fix: FeatureMatch任务无法读取roi 2025-05-16 13:37:40 +08:00
status102
848ebeb747 feat: ProcessTask支持特征匹配 (#12701)
* feat: ProcessTask支持特征匹配

* chore: test

* fix: test

* docs: task文档
2025-05-16 13:13:48 +08:00
uye
989ba7ee52 chore: 矢量突破开始行动 2025-05-16 01:45:09 +08:00
vonnoq
53e3ec8273 fix: 繁中服悖論模擬 (#12711)
* fix: 繁中服悖論模擬

繁中服悖論模擬UI更新

* fix: 繁中服悖論模擬

繁中服悖論模擬UI更新
2025-05-16 00:39:26 +08:00
MistEO
dbc1f1f6da chore: ota.maa.plus -> api.maa.plus 2025-05-15 23:19:13 +08:00
github-actions[bot]
0d57e73bb4 chore: Auto Update Game Resources - 2025-05-15
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/15043371741

[skip changelog]
2025-05-15 11:07:01 +00:00
github-actions[bot]
cf4553fa0a chore: Auto Templates Optimization
Triggered by 0af71a9f32

[skip changelog]
2025-05-15 10:08:39 +00:00
Constrat
0af71a9f32 fix: remove cachie from optimize templates
what's the issue?
2025-05-15 12:07:08 +02:00
pre-commit-ci[bot]
6ab3b6cc56 chore: Auto update by pre-commit hooks [skip changelog] 2025-05-15 18:04:31 +08:00
Constrat
ec1de48e42 fix: update-resources.yml removal from res-update-game 2025-05-15 12:01:30 +02:00
github-actions[bot]
87e43d91f0 chore: Auto Update Game Resources - 2025-05-15
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/15041077348

[skip changelog]
2025-05-15 09:09:57 +00:00
uye
6104d0602b refactor: 重构干员识别
fix #12703
2025-05-15 14:17:53 +08:00
github-actions[bot]
f04b9a6409 chore: Auto Update Game Resources - 2025-05-15
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/15037893648

[skip changelog]
2025-05-15 06:10:32 +00:00
github-actions[bot]
4fbb831c44 chore: Auto Update Game Resources - 2025-05-15
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/15037365361

[skip changelog]
2025-05-15 05:30:34 +00:00
uye
9301ea44b1 chore: 调整 prts 颜色 2025-05-15 00:24:05 +08:00
uye
7e7beabb35 chore: 添加几个专精 ocrReplace 2025-05-14 23:39:13 +08:00
uye
eb5803fef7 Release v5.16.5 (#12688) 2025-05-14 23:22:28 +08:00
github-actions[bot]
24f2cb5cbf docs: Auto Update Changelogs of v5.16.5 (#12698)
* docs: Auto Generate Changelog of Release v5.16.5

* docs: changelog

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2025-05-14 23:21:53 +08:00
uye
fb8f3b78ad fix: 凹开局干员直升精二选项显示时机错误 2025-05-14 22:25:27 +08:00
status102
abcaf2ee06 perf: 肉鸽不期而遇退出检测加个重试 2025-05-14 20:37:46 +08:00
萨拉托加
03188824f7 Revert "feat: 在肉鸽招募中增加m3作为群奶 (#12353)"
This reverts commit 76a007501a.
2025-05-14 16:54:48 +08:00
status102
340e2798a0 docs: 任务流color_scales注释优化 2025-05-14 16:18:02 +08:00
status102
f9d468f557 perf: 指定类型 2025-05-14 16:15:09 +08:00
status102
e71eb3985d fix: 连战次数乘号匹配失败 2025-05-14 15:55:33 +08:00
uye
5adb76e377 feat: 调整连战输出 2025-05-14 15:06:18 +08:00
Hao Guan
be0ff90b8a feat(mac): 新增基建配置 2025-05-14 13:57:25 +08:00
晓丶梦丶仁
cd723f2210 perf: store loading 2025-05-14 11:29:21 +08:00
晓丶梦丶仁
93ab1cc811 fix: yellow ticket items 2025-05-14 10:25:51 +08:00
uye
92421d464c chore: 简化代码 2025-05-14 10:18:02 +08:00
Loong
260ab6e839 ci: don't check github link (#12667)
* ci: don't check github link

* ci: remove cache

* chore: readd cache

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-05-13 16:39:44 +02:00
status102
7e3e43e81a fix: ocrTask text 2025-05-13 21:43:07 +08:00
status102
3b3056a65f chore: 提示补全 2025-05-13 19:56:45 +08:00
status102
5aa1d74b96 chore: NumberReplace 2025-05-13 19:56:44 +08:00
status102
b9f196c3a1 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
MistEO
c7a8191e03 chore: 再次调整官网细节 2025-05-13 14:27:32 +08:00
MistEO
3a87307bda chore: 调整官网标题 2025-05-13 14:21:05 +08:00
晓丶梦丶仁
f0ff035546 Revert "fix: github change string to int (#12574)"
This reverts commit 539e2b48b2.
2025-05-13 13:23:05 +08:00
晓丶梦丶仁
81504417c7 fix: Store@UnderfundedOCR 2025-05-13 11:37:09 +08:00
晓丶梦丶仁
771c3e53b7 i18n: 绿票、黄票、活动商店 (#12674)
* i18n: en

* i18n: temp

* i18n: jp

* chore: YostarJP buy items

* fix: template task

* fix: en

* i18n: kr

* i18n: tw

---------

Co-authored-by: Manicsteiner <Manicsteiner@outlook.com>
2025-05-13 11:35:54 +08:00
晓丶梦丶仁
5cc7861d5c fix: store underfunded ocr full match 2025-05-13 00:46:51 +08:00
status102
61f25c94e5 fix: 再铲一屎 2025-05-13 00:03:02 +08:00
github-actions[bot]
8da46bf991 chore: Auto Update Game Resources - 2025-05-12
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14973978510

[skip changelog]
2025-05-12 13:49:04 +00:00
晓丶梦丶仁
26f421418e feat: 绿票、黄票、活动商店 (#12586)
* feat: 绿票、黄票商店

* i18n: EN fix

* feat: 活动商店

* perf: baseTask

* perf: 非代币关联性模板

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

* perf: baseTask

* chore: sub

* chore: 修改截图

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

* fix: 第一页买完之后无法进行活动商店购买

* fix: 买完皮肤、干员之后的 swipe

* chore: 修改描述

* perf: 购买商品确认next优化

* perf: 模板图复用

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

* perf: 合并部分task

* fix: 代币不足

* fix: 代币不足 ocr

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
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>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-05-12 21:45:19 +08:00
uye
82dbe28b5e fix: cache 移动逻辑 2025-05-12 19:42:53 +08:00
status102
cc7c740921 fix: 这回应该铲完了
[skip changelog]
2025-05-12 19:09:00 +08:00
status102
4396c71802 fix: ubuntu unused 2025-05-12 18:59:23 +08:00
status102
351529d4cf fix: 铲屎包了个try
[skip changelog]
2025-05-12 18:49:24 +08:00
status102
eeeca5aa0f fix: 铲屎 2025-05-12 18:44:47 +08:00
uye
37c712637c fix: 修复了屎遇上手动覆盖文件的大聪明爆炸的问题 2025-05-12 18:40:51 +08:00
status102
3c995514a6 chore: mark 2025-05-12 17:37:09 +08:00
uye
5038576b75 chore: 调整 UI 与 Core 版本不一致的解决方案提示 2025-05-12 17:17:15 +08:00
uye
43952444bb chore: 点击任意职业回正列表 2025-05-12 15:49:14 +08:00
uye
1848caf82a refactor: 基建先进行技能识别并返回列表首位,再清空选择
fix #12659
2025-05-12 13:36:01 +08:00
status102
baff16c024 fix: 修复MaaCore asst.log文件句柄泄露 (#12639)
* fix: 尝试修复日志文件句柄泄露

* fix: platform

* fix: platform

* fix: platform

* fix: platform

* fix: cr-lf

* chore: useless
2025-05-11 19:34:01 +08:00
uye
894d540649 Release v5.16.4 (#12655) 2025-05-11 18:11:37 +08:00
uye
aef60f179c docs: Update CHANGELOG.md 2025-05-11 18:10:47 +08:00
status102
25903aba2d fix: 修复外服基建干员选择列表无法重置 (#12652)
fix #12649
2025-05-11 18:06:32 +08:00
status102
42f57797d7 style: format
[skip changelog]
2025-05-11 13:21:18 +08:00
MistEO
30ade6e2a6 ci: add mirrorchyan link to changelog 2025-05-11 01:53:53 +08:00
uye
017147f3f6 Release v5.16.3 (#12619) 2025-05-11 00:46:57 +08:00
github-actions[bot]
4c5afa12c7 docs: Auto Update Changelogs of v5.16.3 (#12640)
* docs: Auto Generate Changelog of Release v5.16.3

* docs: changelog

* docs: changelog

* docs: changelog

* docs: Update CHANGELOG.md

* docs: remove unnecessary bot

* docs: changelog

* docs: changelog

* docs: cahgenlog

* docs: Update CHANGELOG.md

* docs: 翻译

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[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>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-05-11 00:44:27 +08:00
Rbqwow
2fa5c743cc docs: 用户协议 (#11666)
* docs: 初版用户协议

* docs: 贴合AGPL-3.0修改协议(1/2)

* docs: 贴合AGPL-3.0修改协议(2/3)

* docs: 贴合AGPL-3.0修改协议(3/3)

* docs: 用户协议添加tldr

* docs: review (2/3)

Co-authored-by: AnnAngela <naganjue@vip.qq.com>

* docs: 学姐:把森空岛拆出来

* docs: tldr增加免责说明

* docs: 改个词

* docs: 赦免Mirror酱

* docs: 来点加粗

* docs: 强调一下官方账号

* docs: 成年

* docs: 企鹅物流不一定匿名

* docs: 玛

a3d81c6029

* docs: 添加超链接引用

* docs: review

玛

* docs: Update terms-of-service.md

* docs: review

玛玛

* docs: 玛说要有镜,于是丽便有了光

* docs: 写多了 但我的 git rebase -i 坏掉了 只能再推个commit

* docs: 修改文档

* docs: 客户端反作弊

* docs: no deepseek anymore

---------

Co-authored-by: AnnAngela <naganjue@vip.qq.com>
Co-authored-by: MistEO <mistereo@hotmail.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
Co-authored-by: No-Deepseek <do-not-use-deepseek-to-suck-my-ass@rbqwow.icu>
2025-05-10 23:33:43 +08:00
uye
1702372f0f chore: 统一引号 2025-05-10 23:17:51 +08:00
status102
3dc32c1368 Revert "fix: 指定连战次数允许降低"
This reverts commit d6415c301b.
2025-05-10 23:13:16 +08:00
status102
d6415c301b fix: 指定连战次数允许降低 2025-05-10 23:11:02 +08:00
eneen
9bd75e6692 perf: 添加萨卡兹肉鸽劳作的清晨关卡策略 (#12626)
* perf: 添加萨卡兹肉鸽劳作的清晨关卡策略

* fix: typo

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

* perf: ew摆放

* perf: replacement_home

* perf: 调整部署位置

* perf: 遗漏

* perf: 修改站位

---------

Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: 萨拉托加 <151550168+Saratoga-Official@users.noreply.github.com>
2025-05-10 22:39:36 +08:00
神楽坂アイリス
9dc8c05a73 feat: 添加 自定义 webhook 功能 (#12602)
* feat: 添加自定义Webhook通知功能

* chore: 删除无用文件

* chore: 调整格式,修改日志输出

* chore: 调整翻译位置

* chore: 使用 EnsureSuccessStatusCode 判断状态

* chore: 动态调整输入框高度

* fix: 修改 CustomWebhookBody 时报错

* feat: body 转义

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-05-10 20:05:52 +08:00
萨拉托加
00d1f93472 feat: 肉鸽适配新干员 (#12599)
* feat: 肉鸽适配新干员

* feat: 肉鸽适配新干员

* feat: 肉鸽适配新干员

* feat: 肉鸽适配新干员

* feat: 肉鸽适配新干员

* feat: 肉鸽适配新干员

* feat: 肉鸽适配新干员

* feat: 肉鸽适配新干员

* fix: 卫士不语功站位
2025-05-10 20:00:56 +08:00
uye
639c6d711b perf: 基建使用切换职业栏返回列表最左侧 (#12594)
肉鸽用不了,没有对应职业的话是灰的,除非全部匹配一遍,反正不长,还是慢慢划吧

fix #11782
2025-05-10 19:58:38 +08:00
uye
bd6176b25f fix: 开始战斗前闪退无限循环识别,关卡名检查放宽至一分钟 (#12580) 2025-05-10 19:58:07 +08:00
晓丶梦丶仁
e60a065ba4 fix: 肉鸽招募 练度不够干员的 priority 可能为正 2025-05-10 17:08:47 +08:00
uye
41c9643b38 feat: 调整提示颜色 2025-05-10 14:31:43 +08:00
status102
1e9d9ba5a0 perf: 连战减少不必要的次数调整 2025-05-10 14:00:04 +08:00
status102
678f0bd60e docs: 连战次数文档更新
`AUTO模式`相关说明
2025-05-10 13:52:06 +08:00
status102
9bffc02d7f chore: static 2025-05-10 12:33:47 +08:00
status102
9c020dd5f9 perf: 战斗次数识别错误处理 2025-05-10 12:33:30 +08:00
BxFS
e159598dc8 chore: 日志压缩包压缩等级提升 (#12622)
chore: support payload compression level optimal -> smallest
2025-05-09 19:40:03 +08:00
uye
022b39c25a chore: 修改连接失败提示描述 2025-05-09 16:22:57 +08:00
pre-commit-ci[bot]
e94e3888bb chore: Auto update by pre-commit hooks [skip changelog] 2025-05-09 07:45:41 +00:00
晓丶梦丶仁
ed2c55e81c fix: 切换账号失败 2025-05-09 15:43:22 +08:00
pre-commit-ci[bot]
b861c544a6 chore: Auto update by pre-commit hooks [skip changelog] 2025-05-09 06:01:16 +00:00
uye
c72d99a030 fix: 模拟器路径选择功能弹窗异常
fix #12612
2025-05-09 13:52:05 +08:00
status102
4a836290b9 perf: 关卡理智识别流程通用化 2025-05-09 10:45:41 +08:00
status102
34a5bfdd3d fix: 战斗次数识别错误缓解 2025-05-09 10:08:21 +08:00
github-actions[bot]
1a072e302e chore: Auto Update Game Resources - 2025-05-08
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14914121819

[skip changelog]
2025-05-08 19:06:31 +00:00
HX3N
e2e496122a chore: YostarKR BattleStartPre add ocrReplace pattern 2025-05-08 19:22:37 +09:00
uye
6ac61f2274 fix: 截图增强显示错误 2025-05-08 18:01:32 +08:00
Manicsteiner
a68ee788e1 chore: YostarJP ocr edits (#12607) 2025-05-08 17:42:55 +08:00
E022-23093
7022a6d298 feat: 更新 333 搓玉一天三换排班表 (#12604)
* feat: 更新 333 搓玉一天三换排班表

* fix:改了id

改了id
2025-05-08 17:38:58 +08:00
uye
5cda61f8a6 style: typo
[skip changelog]
2025-05-08 17:29:06 +08:00
uye
b37afbaec1 fix: 无法进入活动 2025-05-08 17:28:39 +08:00
uye
be075ab749 style: 统一引号格式 2025-05-08 17:27:20 +08:00
github-actions[bot]
6461d6a7e2 chore: Auto Update Game Resources - 2025-05-08
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14902851289

[skip changelog]
2025-05-08 09:08:14 +00:00
status102
68130ede6d refactor: HttpService调整, Post函数追加 (#12605)
* refactor: WpfGui拆解GetAsync, 暴露Exception, 增加PostAsync

* perf: 优化自动战斗获取作业时网络问题的输出
2025-05-08 16:44:27 +08:00
status102
2f7d4a6c91 perf: 优化自动战斗获取作业时网络问题的输出 2025-05-08 16:12:40 +08:00
status102
8a6982a144 refactor: WpfGui拆解GetAsync, 暴露Exception, 增加PostAsync 2025-05-08 15:50:16 +08:00
github-actions[bot]
5a2e2f2d6a chore: Auto Update Game Resources - 2025-05-08
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14901360586

[skip changelog]
2025-05-08 07:45:07 +00:00
uye
754b4135cc style: 统一引号格式 2025-05-08 15:05:07 +08:00
status102
966ded3836 fix: 关闭连战列表点击 2025-05-08 10:07:01 +08:00
status102
b9e69dde73 perf: 减少一次不必要的连战次数变更 2025-05-08 10:02:46 +08:00
status102
f184093732 fix: 关闭连战列表 2025-05-08 09:52:25 +08:00
uye
ef844da918 fix: 刷理智结束后卡在“理智药选择”界面
fix #12601
2025-05-08 09:40:20 +08:00
uye
a3ac79d999 chore: 好像提示了也没人看 2025-05-08 00:05:25 +08:00
status102
29b25079b8 feat(breaking change): 指定次数联动连战, 修复连战导致指定次数失效 (#12592)
* feat: 指定次数联动连战

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

* perf: 适配指定次数

* fix: 移除不再使用的插件

* perf: 优化回调, 解耦

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

* chore: 剩余理智使用 auto 连战

* fix: 最后一轮

* perf: 移除多余的理智识别

* chore(tools): ignore template

* perf: reduceTimes

* fix: 无药可用时, 升级恢复理智后不选择最高

* perf: 移除不再使用的task

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-05-07 23:43:02 +08:00
status102
7059375a2f chore: sort [skip changelog] 2025-05-07 19:10:28 +08:00
bodayw
062397669f feat: 更新 243 极限效率一天四换排班表(20250507 修订) (#12598)
让见行者和信仰搅拌机到会客室上班 / Let Enforcer and Sankta Miksaparato work in the reception room

顺便补上了之前忘记备份到 old 子目录下的旧排班表(取 custom_infrast 目录内自 commit 3f858de 之后所有 feat 类改动的前一个版本,fix/chore 就不要了)

PS. 这次是我自己做的调整,公孙长乐的排班表并没有变化(他的视频不排会客室),不过还是把视频链接也更新了一下,另外考虑到用到了最新实装的干员,所以本 commit 也还是标记为 feat 吧
2025-05-07 19:09:03 +08:00
status102
c7d1718d97 chore: 加点常用的进来 2025-05-07 18:19:09 +08:00
status102
9d875538bf fix: 移除肉鸽难度hard code (#12587)
Revert "fix: mac下选择难度 999 导致卡死 (#12235)"

This reverts commit 0dbd5ee80b.
2025-05-07 14:06:25 +08:00
Hao Guan
6a05dfa694 feat(mac): AUTO连续作战
feat(mac): 优化下载作业UI
2025-05-07 13:14:53 +08:00
uye
109d20d3fd chore: 调整超时提醒输出 2025-05-07 13:09:27 +08:00
status102
e579d2c683 rft: 理智识别 2025-05-06 23:55:37 +08:00
status102
c3a7ae0c22 perf: 移除过旧的任务参数
涉及:
自动战斗: is_raid, is_adverse, add_user_additional
肉鸽任务: investment_enter_second_floor, investment_with_more_score
2025-05-06 18:21:55 +08:00
status102
558746add6 docs: 连战次数auto 文档 2025-05-06 18:11:32 +08:00
status102
d51895af57 fix: 连战次数修复, 减少hard code 2025-05-06 18:11:31 +08:00
Constrat
512ffa55bb ci: revert all markdown checker changes
nothing worked anyway

[skip changelog]
2025-05-06 11:21:38 +02:00
Constrat
56f2b35ea7 ci: try with action token:
[skip changelog]
2025-05-06 11:20:27 +02:00
Constrat
3086cee0cc ci: duplicate env keyword github_token
[skip changelog]
2025-05-06 11:12:12 +02:00
Constrat
66577b193c ci: reimplement contents: read
[skip changelog]
2025-05-06 11:08:18 +02:00
Constrat
35f28a7c29 ci: change to force --github-token
[skip changelog]
2025-05-06 11:07:22 +02:00
Constrat
245279711d ci: lychee dead links
[skip changelog]
2025-05-06 11:04:19 +02:00
Yoake
979f6699cc Reapply "feat:实现自适应调整连战次数 (#12555)"
This reverts commit 7359653317.

移除不相关的文件修改

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-05-06 16:57:04 +08:00
status102
7359653317 Revert "feat:实现自适应调整连战次数 (#12555)"
This reverts commit 254db83bf6.

Revert "chore: 新增 AUTO 选项"

This reverts commit 722302bc28.

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

This reverts commit 22f88ef718.

Revert "chore: 连战新增 -1 表示禁用切换"

This reverts commit 4debf210bd.
2025-05-06 16:55:26 +08:00
uye
f311f8525e docs: 补上之前漏改的 tasks 路径修改 2025-05-06 16:03:22 +08:00
uye
4debf210bd chore: 连战新增 -1 表示禁用切换 2025-05-06 14:27:06 +08:00
uye
1eeae5326f chore: 优化提示 2025-05-06 11:05:21 +08:00
Lucien Shaw
ce3624cfbb docs: 更正保全派驻协议文档中的拼写错误 (#12578) 2025-05-06 10:51:19 +08:00
Lucien Shaw
632447e8d3 docs: 更正主文档和中文文档中的两处错别字 (#12577)
* docs: 更正中文文档中的一处拼写错误

将docs/zh-cn/readme.md中的“高姿”改为“高资”

* docs: 更正主文档中的一处拼写错误

在README.md中,将一处“高姿”修改为“高资”
2025-05-06 09:22:51 +08:00
uye
a5917adc1c Release v5.16.2 (#12568) 2025-05-06 01:38:43 +08:00
Constrat
c86ea9fa12 docs: changelog EN tweak 2025-05-05 19:26:32 +02:00
Constrat
539e2b48b2 fix: github change string to int (#12574) 2025-05-05 19:18:29 +02:00
uye
58c2c6eccd docs: update changelog 2025-05-06 00:17:23 +08:00
uye
8eb49dc463 Revert "feat: 更新 CHANGELOG.md"
This reverts commit a47b1d427b.
2025-05-06 00:12:57 +08:00
uye
cd44b22b8c Revert "feat: 更新 CHANGELOG.md"
This reverts commit e89e3d3f35.
2025-05-06 00:12:51 +08:00
uye
1f7b675d04 fix: 无法进入中枢 2025-05-06 00:03:35 +08:00
AnnAngela
e89e3d3f35 feat: 更新 CHANGELOG.md 2025-05-05 22:31:53 +08:00
AnnAngela
a47b1d427b feat: 更新 CHANGELOG.md 2025-05-05 22:24:48 +08:00
uye
774cc6d6fe docs: Update CHANGELOG.md 2025-05-05 22:23:50 +08:00
uye
c740e71900 docs: Update CHANGELOG.md 2025-05-05 22:18:21 +08:00
uye
a73eb5d52d docs: Update CHANGELOG.md 2025-05-05 22:01:38 +08:00
uye
7dfae900f1 chore: 简化定时器判断 2025-05-05 21:20:09 +08:00
Constrat
edb5e0f7fc docs: english changelog fixes
[skip changelog]
2025-05-05 14:56:58 +02:00
AnnAngela
e9f0353d01 ci: 使用 GITHUB_TOKEN 2025-05-05 20:33:52 +08:00
AnnAngela
bc734f288b ci: 使用缓存避免429 2025-05-05 20:24:49 +08:00
AnnAngela
89f4d927a4 feat: Update CHANGELOG.md [skip changelog] 2025-05-05 19:56:27 +08:00
AnnAngela
54c434c547 feat: Update CHANGELOG.md [skip changelog] 2025-05-05 19:55:36 +08:00
AnnAngela
bb0d148fae feat: Update CHANGELOG.md [skip changelog] 2025-05-05 19:55:20 +08:00
AnnAngela
cd42686824 feat: Update CHANGELOG.md [skip changelog] 2025-05-05 19:54:20 +08:00
github-actions[bot]
7c9b12113f docs: Auto Update Changelogs of v5.16.2 (#12571)
* docs: Auto Generate Changelog of Release v5.16.2

* feat: Update CHANGELOG.md

* i18n: EN Changelog

* feat: 更新 CHANGELOG.md

* feat: 更新 CHANGELOG.md

* i18n: EN Changelog sanity update

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: AnnAngela <naganjue@vip.qq.com>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-05-05 19:24:51 +08:00
pre-commit-ci[bot]
22f88ef718 chore: Auto update by pre-commit hooks [skip changelog] 2025-05-05 09:05:58 +00:00
uye
722302bc28 chore: 新增 AUTO 选项 2025-05-05 17:03:35 +08:00
Constrat
188e55450a i18n: english clarification for operbox) 2025-05-05 10:22:34 +02:00
Constrat
df2edc4bd4 chore(tools): update ignore templates
[skip changelog]
2025-05-05 10:12:03 +02:00
uye
c9672599a0 perf: 优化干员识别 (#12562)
* perf: 优化干员识别

* fix: typo
2025-05-05 16:02:34 +08:00
uye
6c80f26542 chore: 修改错误提示 2025-05-05 15:54:22 +08:00
KirinBaka
7cd6873085 fix: correct variable name typo in cur_score (#12552)
Fixed typo in variable name 'cur_score' (misspelled 'cur_socre')
2025-05-05 15:45:58 +08:00
Yoake
254db83bf6 feat:实现自适应调整连战次数 (#12555)
* feat:实现自适应调整连战次数

* fix: redundant operation

* fix: 掉落物回报、理智回报失效

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

* fix: typo

* feat: 添加无理智药时的识别

* chore: 删除无用 include

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

* chore: 异常时返回 -1

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-05-05 15:07:38 +08:00
HX3N
6b6bed6c4d chore: YostarKR Infrast and texts (#12561)
* chore: InfrastCloseQuickFormationExpandRole

* i18n: tweak some translation and add mini game tip
2025-05-04 16:17:21 +02:00
github-actions[bot]
c11543f5a4 chore: Auto Templates Optimization
Triggered by 31cc95fb7f

[skip changelog]
2025-05-04 11:49:52 +00:00
uye
31cc95fb7f fix: 无法进入中枢 2025-05-04 19:49:28 +08:00
github-actions[bot]
457ffe67de chore: Auto Templates Optimization
Triggered by d53509ff06

[skip changelog]
2025-05-04 08:55:09 +00:00
Constrat
d53509ff06 chore: add templates for #12556 and i18n for minigame 2025-05-04 10:45:36 +02:00
Manicsteiner
6d8a4c7a5b chore: YostarJP infrast and texts (#12559) 2025-05-04 10:41:09 +02:00
uye
e2c19995c2 fix: 基建选人前收起职业栏 (#12556)
* fix: 基建选人前收起职业栏

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

* fix: 赠送线索给不需要的好友

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-05-04 14:14:54 +08:00
Constrat
3f10c972cd chore: update ignore templates 2025-05-03 20:57:25 +02:00
Constrat
d3730cc0da chore: remove typos from ignore templates
[skip changelog]
2025-05-03 20:55:24 +02:00
uye
b5b357938e docs: Update CHANGELOG.md 2025-05-04 01:05:11 +08:00
uye
805b76f113 Release v5.16.1 (#12547) 2025-05-04 01:01:37 +08:00
github-actions[bot]
4c5ae67063 docs: Auto Update Changelogs of v5.16.1 (#12550)
* docs: Auto Generate Changelog of Release v5.16.1

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-05-04 01:01:07 +08:00
uye
8a97330be3 fix: 修正描述 2025-05-04 00:59:13 +08:00
Lemon-miaow
623e542f45 fix: 修复GetImageFromROI小工具以适配多文件tasks结构 2025-05-04 00:16:54 +08:00
APeng215
7350401ddd fix: 修复开发者帮助文档内的 Typo (#12549)
* 修复开发者帮助文档内的 Typo(简体中文)

* 修复开发者帮助文档内的 Typo(繁体中文)
2025-05-03 23:49:20 +08:00
Constrat
c4db21dd2b chore(tools): ignore list templates for global 2025-05-03 17:22:38 +02:00
status102
d713ca59e3 chore: 调整简中繁中一键轮换说明 2025-05-03 22:02:32 +08:00
status102
b3203ad848 perf: VC++执行安装脚本暴露错误 2025-05-03 21:52:18 +08:00
github-actions[bot]
89a42be269 chore: Auto Templates Optimization
Triggered by 218e9ec31a

[skip changelog]
2025-05-03 05:48:49 +00:00
uye
218e9ec31a fix: 无法切换连战次数 2025-05-03 13:48:31 +08:00
github-actions[bot]
ba26b64b22 chore: Auto Update Game Resources - 2025-05-03
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14808017611

[skip changelog]
2025-05-03 05:45:04 +00:00
uye
33b54e81b0 fix 不能正确选择干员CONFESS-47
fix #12543
2025-05-03 13:41:45 +08:00
uye
cb64ca4b13 fix: 修复一键轮换模式未勾选设施导致功能异常问题
fix #12542
2025-05-03 13:38:23 +08:00
uye
e6549f0bf6 chore: 添加渐变附加属性 2025-05-03 12:54:14 +08:00
uye
5466678785 chore: 移除干员识别测试说明 2025-05-03 11:56:36 +08:00
uye
8f279dc1b4 chore: 移除 depot 测试提示 2025-05-03 11:53:43 +08:00
uye
60c83e78e1 chore: depot 图片只在 debug 模式下保存 2025-05-03 11:52:19 +08:00
github-actions[bot]
e63de8df32 chore: Auto Templates Optimization
Triggered by 053e11c9ba

[skip changelog]
2025-05-02 16:29:11 +00:00
uye
053e11c9ba fix: 未展开职业分组时编队错误
fix #12529
2025-05-03 00:28:47 +08:00
Constrat
fbf48ebefd feat(resourceupdater): double int and string map lookup for infrast_data 2025-05-02 10:33:09 +02:00
uye
7ef4343f16 chore: 优化赠送单抽逻辑 2025-05-02 09:41:38 +08:00
uye
3e75ec507f chore: All mirrors are not available 时日志栏显示更新失败 2025-05-02 00:58:49 +08:00
uye
94a0a4d916 fix: 更新未切换基建模式会导致变回常规模式 2025-05-01 22:43:22 +08:00
github-actions[bot]
ca605edffd docs: Auto Update Changelogs of v5.16.0 (#12503)
* docs: Auto Generate Changelog of Release v5.16.0

* docs: Update CHANGELOG.md

* feat: Update CHANGELOG.md

* feat: Update CHANGELOG.md

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>

* feat: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
Co-authored-by: AnnAngela <naganjue@vip.qq.com>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-05-01 21:52:27 +08:00
uye
7177e48d5c Release v5.16.0 (#12501) 2025-05-01 21:51:08 +08:00
Constrat
14c809a9ac fix: map classifyType bypass for global (until gamedata change as well) 2025-05-01 15:43:07 +02:00
uye
ad4f4a93c0 chore: classifyType 映射 2025-05-01 21:18:00 +08:00
Constrat
5add3a5d8a fix(resourceupdater): change roomType to int for infraststructure gamedata 2025-05-01 14:49:25 +02:00
Constrat
f3f8264b53 chore: arknights tile pos resources + battle data 2025-05-01 14:17:04 +02:00
github-actions[bot]
3e30750da7 chore: Auto Templates Optimization
Triggered by 715c2c13b5

[skip changelog]
2025-05-01 11:19:42 +00:00
uye
715c2c13b5 fix: 神秘的鹰小姐修改了他的干员职业图标亮度 2025-05-01 19:19:15 +08:00
Constrat
8d02395657 chore: MT stages for Official 2025-05-01 13:14:36 +02:00
Hao Guan
824d3bfebe feat(mac): 争锋频道:青草城 2025-05-01 19:07:46 +08:00
Constrat
88a0b97224 chore: manually update version.json 2025-05-01 12:23:53 +02:00
github-actions[bot]
d6f73bc753 chore: Auto Templates Optimization
Triggered by d1c09cc01a

[skip changelog]
2025-05-01 10:20:08 +00:00
Constrat
d1c09cc01a chore: Manual update resources 2025-05-01 12:19:43 +02:00
uye
d65cde7574 fix: 适配新基建 (#12500)
* fix: 适配新基建

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

* fix: 卡在会客室

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-05-01 18:08:34 +08:00
uye
afaeb011cf chore: 不启用外部通知时隐藏可选项 2025-05-01 18:05:08 +08:00
SherkeyXD
fa42a0880e fix: 修正送抽任务 2025-05-01 16:35:10 +08:00
SherkeyXD
2a32052ab0 feat: 特殊月卡扩大识别范围 2025-05-01 16:30:22 +08:00
SherkeyXD
1dba23a93e feat: 幸运墙适配六周年 2025-05-01 16:24:14 +08:00
SherkeyXD
9592b1fd40 feat: SideStory「众生行记」导航 2025-05-01 16:22:23 +08:00
uye
6deea622bd chore: 优化训练室和加工站进站逻辑 2025-05-01 15:13:43 +08:00
BxFS
503d653330 fix: CheckLevelMax too fast without delay (#12498) 2025-05-01 08:35:44 +02:00
uye
fe5744f328 fix: 构建日期显示错误 2025-05-01 14:00:47 +08:00
github-actions[bot]
abcc3ba100 chore: Auto Update Game Resources - 2025-04-30
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14763354859

[skip changelog]
2025-04-30 20:06:50 +00:00
uye
0b058bb0d9 fix: 下载源选择 MirrorChyan 时如果关闭自动下载,手动点击软件更新无提示 2025-05-01 01:16:03 +08:00
Plumess
c62d2ac4f8 feat: 更新技能识别模型,采用更全面的数据集训练 (#12490)
使用更全面的数据集对模型进行了重训练,包括了有计划的主线、SideStory、肉鸽等场景。
2025-04-30 23:12:24 +08:00
uye
9a81315b7f docs: 移除过期描述 2025-04-30 15:55:43 +08:00
BxFS
42f9b80be3 fix: EN RoutingRefreshNodeConfirm roi too small (#12491) 2025-04-30 13:45:14 +08:00
uye
57cde24e99 Release v5.16.0-beta.1 (#12488) 2025-04-29 22:27:55 +08:00
github-actions[bot]
f775b2a551 docs: Auto Update Changelogs of v5.16.0-beta.1 (#12489)
docs: Auto Generate Changelog of Release v5.16.0-beta.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-29 22:26:31 +08:00
uye
756f352c02 fix(BREAKING CHANGE): RecruitSupportOperator 拼写错误 2025-04-29 19:49:54 +08:00
uye
f574b14ed4 fix: vc++ 检测移动至文件检测后 2025-04-29 19:49:54 +08:00
Lemon-miaow
ef99f63311 feat: 适配基建队列轮换与干员休整 (#11252)
* feat: 创建使用游戏内基建配置换班功能 (WPF)

* feat: 基于上游更新适配游戏内基建配置换班功能 (WPF)

* feat: 适配队列轮换与干员休整(Core)

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

* feat: 优化基建选项UI

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

* perf: enum

* feat: 新增mode值合并infrast_rotation

* docs: 新增一键轮换字段

* rft: 同步 tasks.json 未拆分部分的修改

* perf: 合并界面

* rft: test

* fix: enum binding

搞不懂calcBinding了

* docs: update mode descriptions

* perf: 移除CustomInfrastEnabled

* perf: 简化参数设置

* chore: 添加提示

---------

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-04-29 19:12:27 +08:00
github-actions[bot]
62b72b0faa chore: Auto Templates Optimization
Triggered by c988b7463d

[skip changelog]
2025-04-29 08:35:43 +00:00
BxFS
c988b7463d fix: EN RoutingRefreshNode dimension too large (#12484) 2025-04-29 10:28:54 +02:00
HX3N
ee281863ff fix: KR RoutingRefreshNode dimension too large (#12487)
* fix: KR RoutingRefreshNode dimension too large

* chore: height changed to 16px

* chore: changed template to improve recognition score
2025-04-29 10:28:49 +02:00
Constrat
08f78a3151 chore: ignore templates for global 2025-04-29 10:21:15 +02:00
Plumess
af34bb6a6f feat: 优化技能识别模型 (#11984)
* chore: 更新技能识别测试例 test_skill_ready()

1. 由于更新了技能识别为三分类模型,新增”可取消“类别,增加相关类别的测试;
2. 扩充了输出信息,便于Debug;

* feat: 调整技能识别推理函数,支持新的三分类模型

1. 新的三分类模型基于MobileNetv4训练并导出onnx,详情参考MaaAI仓库中的技能识别训练代码;
2. 新增”可取消“分类,标签为c,但暂不启用区分,与”未就绪“同样归于not ready;
3. 新增了部分前处理操作,以匹配模型的输入;

* perf: 使用 MobileNetv4 Small 重新训练了技能识别模型,改为三分类

新增”可取消“状态,即技能可能处于”可取消“,”未就绪“,”已就绪“三种状态;
新的三分类模型基于MobileNetv4 Conv Small 训练并导出,详情参考MaaAI仓库中的技能识别训练代码;

* feat: 调整技能识别自动截图,支持三分类

新增在debug模式下对”可取消“新类别的截图保存功能;

* chore: 存储截图时打印分数

* chore: 使用 ranges

* perf: 使用新训练集,基于官方mobilenetv4_conv_small的权重进行微调

16000张左右的训练集,在3000张测试集中准确率99.7%

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-04-29 14:30:24 +08:00
Daydreamer114
0e5ed3be50 perf: 修改小游戏描述 2025-04-29 11:48:00 +08:00
Constrat
6f3bc269d6 i18n: EN tweak
[skip ci] [skip changelog]
2025-04-28 15:24:37 +02:00
Constrat
68d7ac593b i18n: EN tweak
[skip ci] [skip changelog]
2025-04-28 14:39:58 +02:00
萨拉托加
ab664d74fb Release v5.15.6 (#12478) 2025-04-28 20:10:51 +08:00
github-actions[bot]
aba41f09c0 docs: Auto Update Changelogs of v5.15.6 (#12479)
* docs: Auto Generate Changelog of Release v5.15.6

* feat: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: AnnAngela <naganjue@vip.qq.com>
2025-04-28 19:10:22 +08:00
github-actions[bot]
2dc6745fdb chore: Auto Update Game Resources - 2025-04-28
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14705082471

[skip changelog]
2025-04-28 09:59:59 +00:00
晓丶梦丶仁
5820fb202d feat: 争锋频道:青草城 (#12470)
* feat: 争锋频道:青草城

* fix: end

* fix: 鸭宝不在

* perf: 公开 wpfgui 的自定义任务

* Revert "perf: 公开 wpfgui 的自定义任务"

This reverts commit 536864caa2.

* feat: 加一个丑爆了的界面

* chore: 修改描述

* chore: 修改描述

* chore: 统一按钮大小

* chore: 添加停止功能

* chore: 添加停止按钮

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-04-28 17:34:06 +08:00
uye
cba20d7835 fix: 连战次数无法保存 2025-04-28 17:19:52 +08:00
status102
81f8ad902d fix: 漏了一个 2025-04-28 15:33:45 +08:00
status102
426d76ee50 rft: Wpf长草任务添加部分解耦 2025-04-28 14:49:44 +08:00
status102
dd82fa0075 chore: meoJson update to v4.3.4 (#12460)
* chore: meoJson update to v4.3.2

* chore: meoJson update to v4.3.4
2025-04-28 14:31:12 +08:00
github-actions[bot]
91b53a4b73 chore: Auto Update Game Resources - 2025-04-28
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14699190648

[skip changelog]
2025-04-28 02:54:50 +00:00
status102
12fc5bbde3 perf: move
[skip changelog]
2025-04-27 23:42:47 +08:00
status102
6cfab2c1f0 perf: Task加载检查前重复任务 2025-04-27 23:36:55 +08:00
Constrat
730b9b2ad9 fix: move operator Flint in front of item Flint (点火石) for EN 2025-04-27 16:10:22 +02:00
Constrat
ddbf647524 feat: Sarkaz IS EN squads DLC 1 2025-04-27 15:37:26 +02:00
status102
6e9ef3c66e chore: ConfigurationHelper.GetValue增加enum, DeleteValue额外返回旧值 2025-04-27 19:43:58 +08:00
Constrat
1ad6f70b55 fix: Fang Alter EN OCR 2025-04-27 10:21:34 +02:00
Constrat
9e990c337a fix: Alter operators for EN 2025-04-27 10:15:03 +02:00
uye
8733055e83 Release v5.15.5 (#12466) 2025-04-27 03:23:17 +08:00
github-actions[bot]
e8885dc095 docs: Auto Update Changelogs of v5.15.5 (#12467)
* docs: Auto Generate Changelog of Release v5.15.5

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-04-27 03:21:19 +08:00
uye
0d140c1b46 fix: 无法热更 2025-04-27 03:17:01 +08:00
uye
1f29f9dc16 fix: MaaCore.vcxproj 2025-04-27 01:37:33 +08:00
uye
505ba76fea fix: DEBUG 加载错误 2025-04-27 01:37:33 +08:00
SherkeyXD
e76e95c0a4 rft: rename base stage 2025-04-27 00:11:50 +08:00
github-actions[bot]
aff4ef43fa chore: Auto Update Game Resources - 2025-04-26
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14682880925

[skip changelog]
2025-04-26 16:05:59 +00:00
SherkeyXD
e4aa506cb4 fix: BB task fix 2025-04-26 23:57:41 +08:00
Sherkey Asher
7c5fe215ac Release v5.15.4 (#12463) 2025-04-26 23:36:49 +08:00
github-actions[bot]
ced3843c4b docs: Auto Update Changelogs of v5.15.4 (#12464)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sherkey Asher <57581480+SherkeyXD@users.noreply.github.com>
2025-04-26 23:26:26 +08:00
github-actions[bot]
5f30226d99 chore: Auto Update Game Resources - 2025-04-26
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14681959054

[skip changelog]
2025-04-26 14:05:34 +00:00
github-actions[bot]
2e30ef6169 chore: Auto Templates Optimization
Triggered by 3b0093c13c

[skip changelog]
2025-04-26 13:54:30 +00:00
SherkeyXD
3b0093c13c feat: 六周年月卡 2025-04-26 21:53:34 +08:00
HX3N
3416a47b26 fix: YostarKR OrundumActivitiesConfirm add ocrReplace 2025-04-26 17:53:19 +09:00
status102
d646af45ca chore: meojson调试增强 2025-04-26 15:27:27 +08:00
Constrat
c69fd51bc9 docs: add ADB connection tip for bluestacks and ldplayer 2025-04-25 18:12:05 +02:00
Constrat
4fb83a9bca fix: missing roguelike sami writer to json for resource updater 2025-04-25 17:26:27 +02:00
BxFS
abf69a9c63 fix: 定时执行tooltip修正 (#12453)
fix: TimerSettings CheckBox ToolTip CheckBoxesNotSaved->CheckBoxesNotSavedAsNull
2025-04-25 22:43:42 +08:00
HX3N
436643db9c chore: YostarKR IS5 squads and ocr update (#12455) 2025-04-25 16:42:38 +02:00
Constrat
1311a40126 style: resource updater 2025-04-25 16:40:17 +02:00
github-actions[bot]
dc49df6c0d chore: Auto Update Game Resources - 2025-04-25
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14666981411

[skip changelog]
2025-04-25 14:32:16 +00:00
Constrat
209902466a Revert "chore: Auto Update Game Resources - 2025-04-25"
This reverts commit 317a0d5224.
2025-04-25 16:29:23 +02:00
Constrat
6f0426b285 chore: use sami json for gain and user ocr in resource updater 2025-04-25 16:29:09 +02:00
github-actions[bot]
317a0d5224 chore: Auto Update Game Resources - 2025-04-25
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14666833323

[skip changelog]
2025-04-25 14:25:29 +00:00
Constrat
193525cacb chore: YostarKR ocr fix
------

Co-Authored-by: HX3N <scarlet7518@gmail.com>
2025-04-25 16:20:56 +02:00
Constrat
e32b526e81 fix: main.cpp post refactor merge 2025-04-25 16:13:48 +02:00
Constrat
96751335d3 chore: add big tasks refactoring to blame ignore 2025-04-25 15:42:19 +02:00
Constrat
2e6df0af8e chore: remove duplicate tasks from main json of KR and JP 2025-04-25 15:38:58 +02:00
Constrat
43d13f5aaf chore: remove debug task from IS EN
[skip ci]
2025-04-25 15:12:46 +02:00
Constrat
6c405da322 chore: YostarJP IS5 squads update
---------

Co-authored-by: Manicsteiner <63437036+Manicsteiner@users.noreply.github.com>
2025-04-25 15:00:38 +02:00
Constrat
dce6e317c8 rft: tasks (#12448)
* rft: tasks

* chore: remove older tasks.json

* rft: move some stages

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

* rft: rename

---------

Co-authored-by: SherkeyXD <57581480+SherkeyXD@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-25 18:31:37 +08:00
status102
fdc76bc5b5 feat: VC++可用性检查 (#12445)
* feat: VC++可用性检查

* i18n: too low

terrain
2025-04-25 15:59:51 +08:00
uye
2f8840feac chore: to utc time 2025-04-25 15:36:07 +08:00
HX3N
f98a595620 i18n: KR translation tweak
[skip changelog]
2025-04-25 13:24:55 +09:00
Constrat
2a7729074a chore: remove dupes from resource updater I.S. stages 2025-04-24 20:31:33 +02:00
github-actions[bot]
40e607c98f chore: Auto Update Game Resources - 2025-04-24
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14648860019

[skip changelog]
2025-04-24 18:25:57 +00:00
Constrat
351395f5b9 fix: txwy resource updater recruitment 2025-04-24 20:22:55 +02:00
Constrat
3e38b59f0c chore: add more text for OrundumActivities EN 2025-04-24 19:26:15 +02:00
uye
079932e34c Release v5.15.3 (#12420) 2025-04-25 00:09:06 +08:00
uye
9666b4a42b docs: Update CHANGELOG.md 2025-04-25 00:07:51 +08:00
Manicsteiner
8779c867bf chore: YostarJP ocr fix (#12447) 2025-04-25 00:03:38 +08:00
uye
d10c90bc79 feat: 使用 mumu 网络桥接时通过填写的实例号关闭模拟器 2025-04-24 23:24:29 +08:00
萨拉托加
ac83069b99 chore: issue模板添加使用生成日志压缩包按钮提示 (#12386)
* chore: issue模板添加使用生成日志压缩包按钮提示

* chore: Update cn-ld-report.yaml

* chore: Update cn-mumu-report.yaml

* chore: Update en-bug-report.yaml
2025-04-24 22:31:32 +08:00
status102
8077d73a9b docs: changelog 2025-04-24 18:02:15 +08:00
Rbqwow
e5357e7dd7 feat: 优化官网动画效果 (#12432)
优化友链列表出现消失动画
为底部许可证文本添加动画
修复点击查看全部后按钮乱跳
整理注释
2025-04-24 17:31:59 +08:00
github-actions[bot]
f87be175e1 docs: Auto Update Changelogs of v5.15.3 (#12441)
* docs: Auto Generate Changelog of Release v5.15.3

* feat: changelog

* docs: Update CHANGELOG.md

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: AnnAngela <naganjue@vip.qq.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-04-24 17:26:32 +08:00
HY
316dd9a005 chore: 繁中服「太陽甩在身後」活動導航 (#12444)
* chore: 繁中服「太陽甩在身後」活動導航

* chore: 補充許願牆的 text
2025-04-24 17:11:46 +08:00
github-actions[bot]
6f07b16388 chore: Auto Update Game Resources - 2025-04-24
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14636183461

[skip changelog]
2025-04-24 07:43:55 +00:00
github-actions[bot]
b59b42345a chore: Auto Update Game Resources - 2025-04-24
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14635512901

[skip changelog]
2025-04-24 07:06:30 +00:00
uye
f80ec0b232 style: 丢失的空格
[skip changelog]
2025-04-24 14:38:23 +08:00
uye
0cab88a1fb feat: 添加任务超时提示 (#12430)
* test: 添加 block 任务

* feat: 添加任务超时提醒

* feat: 外部通知添加超时提醒

* chore: 提示时间改为四舍五入

* chore: 外部通知额外输入最后五条日志

* chore: 调整日志输出日期
2025-04-24 09:54:40 +08:00
Hao Guan
f5b8fe18e1 fix(mac): 仅公招识别配置(#12161)
feat(mac): 商店列表界面改进
2025-04-23 14:03:50 +08:00
uye
8fb76030b2 chore: 优化运行库下载脚本 2025-04-22 19:59:45 +08:00
github-actions[bot]
0234f2d274 chore: Auto Update Game Resources - 2025-04-22
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14593234281

[skip changelog]
2025-04-22 11:05:38 +00:00
github-actions[bot]
018955d010 chore: Auto Update Game Resources - 2025-04-22
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14591436939

[skip changelog]
2025-04-22 09:29:17 +00:00
Constrat
ed361efcd3 chore: YostarEN PV preload 2025-04-22 11:21:17 +02:00
uye
08665869ea chore: 员工守则 2025-04-22 17:18:46 +08:00
HX3N
2b0ad53830 chore: YostarKR PV preload (#12431) 2025-04-22 11:17:38 +02:00
Manicsteiner
f5010a3681 chore: YostarJP PV preload (#12429) 2025-04-22 14:32:07 +08:00
status102
072592c49a perf: 任务列表查副本
fix #12426
2025-04-22 11:19:08 +08:00
uye
45e55c0eaf chore: 拆分任务完成后通知 2025-04-22 10:15:17 +08:00
萨拉托加
d32ed24879 chore: 添加保全派驻作业 (#12423)
* chore: Rename

* chore: 添加保全派驻作业

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-21 22:42:49 +08:00
github-actions[bot]
8c83b5e2d2 chore: Auto Templates Optimization
Triggered by 8a33102408

[skip changelog]
2025-04-21 14:01:50 +00:00
uye
8a33102408 chore: 新增 15 章导航 2025-04-21 22:01:24 +08:00
MistEO
432a51a238 fix: 修正官网域名 2025-04-21 18:44:42 +08:00
MistEO
39dce2a0e1 docs: 移除 MaaX 相关说明 2025-04-21 18:12:05 +08:00
github-actions[bot]
c58e0a0e92 chore: Auto Update Game Resources - 2025-04-21
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14570494553

[skip changelog]
2025-04-21 08:47:29 +00:00
MistEO
5e30ffc714 ci: Delete trigger that are no longer needed 2025-04-21 13:57:57 +08:00
github-actions[bot]
68a5ef3f85 chore: Auto Update Game Resources - 2025-04-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14563291382

[skip changelog]
2025-04-20 21:04:59 +00:00
github-actions[bot]
d1bb221096 chore: Auto Update Game Resources - 2025-04-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14562878694

[skip changelog]
2025-04-20 20:05:36 +00:00
SherkeyXD
0743e1773b style: 优化部分文件排版 2025-04-20 21:27:47 +08:00
uye
fafd1970be chore: 修改存在更新时的问题反馈界面描述 2025-04-20 20:50:49 +08:00
Constrat
446ec8b8f6 style: precommit clang? 2025-04-20 11:26:52 +02:00
status102
07e561fae8 perf: wpf反馈压缩包分离日志和配置 2025-04-20 16:46:22 +08:00
status102
d42a8ba42e chore: MaaCore日志文件占用缓解, 取消大小限制 2025-04-20 16:46:15 +08:00
uye
86a861f1c1 fix: fix debug
[skip changelog]
2025-04-20 16:33:08 +08:00
uye
73801e5eae chore: 提取 helper 方法 2025-04-20 16:31:29 +08:00
uye
085444f25f chore: 修改版本更新提示逻辑 2025-04-20 15:48:04 +08:00
uye
81f6540170 chore: 添加模拟器路径为空的提示 2025-04-20 15:28:44 +08:00
Constrat
66d49a7e81 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
MistEO
9982545c99 chore: 调整友链弹窗最大高度 2025-04-20 03:03:06 +08:00
github-actions[bot]
eaf3b93c8e chore: Auto Templates Optimization
Triggered by e29d506cf2

[skip changelog]
2025-04-19 17:47:45 +00:00
MistEO
e29d506cf2 perf: image size 2025-04-20 01:47:10 +08:00
github-actions[bot]
e4e9c8264c chore: Auto Templates Optimization
Triggered by 7204d0f62a

[skip changelog]
2025-04-19 16:34:48 +00:00
MistEO
7204d0f62a feat: 整理官网友链列表,添加Mirror酱友链 2025-04-20 00:33:48 +08:00
Rbqwow
60308846f3 feat: 官网友链改为按钮 (#12400)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-20 00:11:34 +08:00
status102
e8717c0936 perf: enumerable 2025-04-19 23:58:14 +08:00
status102
786518917c fix: 刷理智参数更新崩溃 2025-04-19 23:56:58 +08:00
MistEO
91195d3c02 chore: 官网使用Mirror酱新链接 2025-04-19 23:19:30 +08:00
Aliothmoon
09608430a9 fix: 移除官网的PerformanceMonitor (#12411)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Rbqwow <55343783+Rbqwow@users.noreply.github.com>
2025-04-19 23:15:22 +08:00
Aliothmoon
f09e4de87e fix: 下载状态文本适配浅色模式 (#12410)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-19 23:15:11 +08:00
uye
d306941c4f fix: 从其他界面进入仓库识别任务时可能卡在主界面 2025-04-19 21:09:44 +08:00
Rbqwow
288fa379d3 fix: 修复某些情况下官网本地开发服务器拒绝连接的问题 (#12401)
https://github.com/vercel/turborepo/issues/7279

[skip changelog]
2025-04-19 20:37:29 +08:00
github-actions[bot]
66c9e3c65c chore: Auto Templates Optimization
Triggered by f2586ec7fe

[skip changelog]
2025-04-19 10:28:45 +00:00
uye
f2586ec7fe fix: SelectClue 任务 roi 与模板图片不匹配
fix #12404
2025-04-19 18:24:29 +08:00
Constrat
63a30d96f6 fix: discord logo on website 2025-04-19 11:40:16 +02:00
HX3N
99db411ea6 chore: KR remove ocrReplace in RoguelikeChooseSupportBtnOcr
RoguelikeChooseSupportBtnOcr does not use ocrReplace
2025-04-19 17:57:53 +09:00
HX3N
b330cb465b fix: KR Recruit Support Unit regex 2025-04-19 15:53:25 +09:00
MistEO
3c76830ad5 feat: 调整官网首页按钮 2025-04-19 13:45:43 +08:00
uye
2b87578d53 chore: lastUpdateTime -> stageAndTasksUpdateTime (#12393) 2025-04-19 13:26:05 +08:00
MistEO
a4420961ce feat: web cache (#12403) 2025-04-19 13:08:56 +08:00
uye
4d76fabd77 feat: LoadResourceAndCheckRet 额外读取对应文件名_custom.json (#12382)
* feat: LoadResourceAndCheckRet 额外读取对应文件名_custom.json

* chore: 添加日志,问题反馈打包带上custom文件
2025-04-19 12:16:05 +08:00
Aliothmoon
457023106c 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
MistEO
e1b000631a feat: 更小杯的友情链接 2025-04-19 00:13:58 +08:00
MistEO
04531f33c7 chore: 官网友情链接更小一点 2025-04-18 23:42:20 +08:00
MistEO
d3d8e1a5cf feat: 超小杯友情链接 2025-04-18 23:37:41 +08:00
MistEO
deb5fa3044 feat: 官网按钮调整 2025-04-18 23:37:41 +08:00
status102
18a4a3fc31 docs: 自动战斗-自动编队 特别关注标记影响提示 中英文提示调整 2025-04-18 22:31:38 +08:00
Aliothmoon
3f5a7322e5 feat: 官网亮色模式 (#12396)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-18 21:29:15 +08:00
status102
fc4437183d docs: 自动战斗-自动编队 特别关注标记影响提示 中文提示特化修改 2025-04-18 19:13:53 +08:00
uye
1d8068daf0 fix: 在关闭系统通知后无法收到通知信息 2025-04-18 15:15:44 +08:00
uye
b0d14b4820 feat: MaaApiService 添加 etag 支持 2025-04-18 11:01:59 +08:00
uye
26caabb8d0 chore: 添加资源更新提示 2025-04-18 10:29:05 +08:00
uye
9443c835fa chore: 添加更新提示 2025-04-18 00:01:24 +08:00
Constrat
b981160487 chore: glt blame ignore for 9ed30c5658
[skip changelog]
2025-04-17 09:33:43 +02:00
Constrat
9ed30c5658 style: clang mass formatting 2025-04-17 09:32:58 +02:00
uye
cc7891c11d chore: 调整 include 顺序
[skip changelog]
2025-04-17 15:26:51 +08:00
uye
21f9864140 fix: 二次点击部署栏取消选中时,点击 y 坐标较小的 rect 2025-04-17 15:25:56 +08:00
status102
de2c50ec7e Revert "perf: 自动战斗待部署识别减少一次预识别"
This reverts commit 0839de2c94.
2025-04-17 12:40:47 +08:00
github-actions[bot]
c447ee3568 chore: Auto Templates Optimization
Triggered by 5727be3b3a

[skip changelog]
2025-04-17 03:25:30 +00:00
status102
5727be3b3a fix: 主线菜单导致刷理智无法吃药
fix #12364
2025-04-17 11:24:21 +08:00
status102
debcf92010 chore: 自动战斗待部署区识别未知干员已知问题标记
待部署区相同干员 (如 超重绝缘水泥) 会在关闭第一个时候, 可能错误展开第二个, 导致识别第二个时提前关闭第二个, 无法识别名字
2025-04-17 11:03:18 +08:00
status102
0839de2c94 perf: 自动战斗待部署识别减少一次预识别 2025-04-17 10:58:44 +08:00
status102
c9374383c1 rft: rename 2025-04-17 10:54:18 +08:00
status102
1c321bb313 rft: rename 2025-04-17 10:16:48 +08:00
status102
4d975a1633 fix: 自动战斗 保全水泥替换 2025-04-17 10:14:05 +08:00
uye
6137cc701b Release v5.15.2 (#12376) 2025-04-17 01:34:21 +08:00
github-actions[bot]
e15b95c084 docs: Auto Update Changelogs of v5.15.2 (#12380)
* docs: Auto Generate Changelog of Release v5.15.2

* docs: changelog

* chore: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[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-04-17 01:32:30 +08:00
uye
660bb141aa chore: 地图修完了
[skip changelog]
2025-04-17 01:11:09 +08:00
uye
d3981265bb fix: 新保全第六关地图错误 (#12381)
* chore: delete wrong file

* chore: Auto Update Game Resources - 2025-04-16

https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14497921439

[skip changelog]

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-17 00:41:43 +08:00
萨拉托加
d801be3fc1 chore: 新增 阿卡胡拉丛林 保全派驻作业 (#12375)
* chore: 新增 阿卡胡拉丛林 保全派驻作业

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

* chore: 更新黑名单

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-16 23:45:19 +08:00
uye
8abff51da2 chore: 修改保全文件描述
[skip changelog]
2025-04-16 23:31:21 +08:00
Sherkey Asher
28ad1f2816 docs: 优化文档 (#12361)
Co-authored-by: Rbqwow <55343783+Rbqwow@users.noreply.github.com>
2025-04-16 22:22:29 +08:00
DL_君逸寒
6bbc15040a feat: 新增 尚蜀夜市 保全派驻作业 (#12374)
* feat: 新增 尚蜀夜市 保全派驻作业

feat: 新增 尚蜀夜市 保全派驻作业

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-16 22:22:05 +08:00
Constrat
86cbff2cab fix: EN SSS buffs regex 2025-04-16 15:26:28 +02:00
Weiyou Wang
c3dc7d3711 fix: 先取消暂停再取消选择 (#12369)
* fix: 先取消暂停再取消选择

* fix: 换个思路

* fix: 重新识别头像位置

* fix: 删除多余的判断

* fix: 保险起见加回来点东西

* fix: 第二遍点击后更新 name_image
2025-04-16 20:51:55 +08:00
status102
4e3b10ded7 perf: 基建干员选择滑动优化 2025-04-16 17:18:44 +08:00
BxFS
1a8e1bc989 feat: Background stretch modes (#12365)
* feat: Background stretch modes

* i18n: all language translations with ja-jp and ko-kr AI translated

* i18n: make thy name thy name

* chore: 优化显示效果

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-04-16 15:44:56 +08:00
晓丶梦丶仁
814d9a651f perf: old SSS copilot
[skip changelog]
2025-04-16 15:42:36 +08:00
DL_君逸寒
5c9a01be2a feat: 新增 尚蜀夜市、多索雷斯在建地块、荒地群兽音乐厅 保全派驻作业 (#12370)
* feat: 新增 尚蜀夜市 保全派驻作业

feat: 新增 尚蜀夜市 保全派驻作业

* feat: 新增 多索雷斯在建地块 保全派驻作业

feat: 新增 多索雷斯在建地块 保全派驻作业

* feat: 新增 荒地群兽音乐厅 保全派驻作业

feat: 新增 荒地群兽音乐厅 保全派驻作业

* feat: 新增 荒地群兽音乐厅 保全派驻作业

feat: 新增 荒地群兽音乐厅 保全派驻作业

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-16 15:36:23 +08:00
uye
13fa90a214 perf: 加快无基建技能干员选择速度,加快选择列表回正速度 (#12363)
* perf: 加快无基建技能干员选择速度,加快选择列表回正速度

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-16 15:34:07 +08:00
MistEO
ae9a1f1cf0 fix: tile resource (#12372)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-16 15:23:21 +08:00
uye
21bc191a96 fix: 导能元件界面更改 2025-04-16 14:48:55 +08:00
HX3N
aa754996f0 i18n: KR translation tweaks (#12366)
* i18n: KR translation tweaks

* chore: fix typo
2025-04-16 00:46:11 +08:00
ChingCdesu
631466cfff feat: 更新Mirror酱下载为按钮,保持动画一致 2025-04-15 23:51:37 +08:00
status102
3d64624ad4 chore: 自动战斗加点输出 2025-04-15 16:21:02 +08:00
Cerulime
76a007501a feat: 在肉鸽招募中增加m3作为群奶 (#12353)
* feat: 在肉鸽招募中增加m3作为群奶

* fix: 凯尔希和Mon3tr不同时招募(MAA无法区分召唤物)
2025-04-15 14:58:07 +08:00
hepari
cfad7fc743 docs: add glossary missing operator name (#12360) 2025-04-15 15:51:28 +09:00
github-actions[bot]
e99dcb3e10 chore: Auto Update Game Resources - 2025-04-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14444762975

[skip changelog]
2025-04-14 11:43:55 +00:00
github-actions[bot]
0b16a4fb26 chore: Auto Templates Optimization
Triggered by 8586c21312

[skip changelog]
2025-04-14 11:12:05 +00:00
uye
8586c21312 chore: 优化 OF-1 截图
fix #12351
2025-04-14 19:11:45 +08:00
github-actions[bot]
80aa7c3bee chore: Auto Update Game Resources - 2025-04-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14441778932

[skip changelog]
2025-04-14 09:06:48 +00:00
uye
3cb0a8ac08 chore: 删除多余逻辑
[skip changelog]
2025-04-14 13:48:56 +08:00
status102
40a614df0d fix: 刷理智掉落物指定参数异常检查 2025-04-14 13:42:48 +08:00
uye
30276f9c2d fix: 无法关闭线索窗口 2025-04-14 13:14:14 +08:00
uye
6c62cc373b chore: 优化界面显示 2025-04-14 12:32:57 +08:00
status102
31bf864f78 chore: blank line
[skip changelog]
2025-04-14 08:32:18 +08:00
status102
6196676eb3 fix: 移除battleHelper中的BestMatcher复用 (#12136)
* fix: 移除battleHelper中的BestMatcher复用

* fix: type

* fix: require
2025-04-14 08:29:35 +08:00
uye
856e2a140f Release v5.15.1 (#12348) 2025-04-14 00:56:42 +08:00
github-actions[bot]
d32f0c202f docs: Auto Update Changelogs of v5.15.1 (#12350)
* docs: Auto Generate Changelog of Release v5.15.1

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-04-14 00:56:24 +08:00
uye
cf496728a3 chore: 修改描述 2025-04-13 23:46:17 +08:00
uye
2f9c187916 chore: 新增更新源 tooltip 2025-04-13 23:38:09 +08:00
github-actions[bot]
a265d0c06b chore: Auto Templates Optimization
Triggered by 4a5c808e21

[skip changelog]
2025-04-13 11:40:50 +00:00
pre-commit-ci[bot]
4a5c808e21 chore: Auto update by pre-commit hooks [skip changelog] 2025-04-13 11:40:34 +00:00
uye
fab8731f50 chore: 优化自定义任务显示 2025-04-13 19:38:02 +08:00
uye
9eda7095e7 feat: CustomTasks 支持逗号、分号切割任务列表 (#12342)
* feat: CustomTasks 支持逗号、分号切割任务列表

* chore: Remove trailing comma

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>

* chore: 修改描述

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

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2025-04-13 19:26:32 +08:00
uye
ee29f65a8e fix: Connection lost 提前返回 false 2025-04-13 19:20:36 +08:00
github-actions[bot]
d2298e0105 chore: Auto Templates Optimization
Triggered by f0b318fed3

[skip changelog]
2025-04-13 11:15:23 +00:00
uye
f0b318fed3 chore: 优化线索选择逻辑 2025-04-13 19:14:58 +08:00
uye
68641758ab fix: 无法选中线索
fix #12346
2025-04-13 18:28:31 +08:00
uye
4302611bf7 chore: 支持实体机检测 2025-04-13 15:39:38 +08:00
uye
9310f2e204 chore: miss brackets 2025-04-13 14:26:24 +08:00
uye
3685dae146 fix: 雷电模拟器重新连接时误认为断开连接
fix #12345
2025-04-13 14:21:46 +08:00
github-actions[bot]
7ed3da2bee chore: Auto Templates Optimization
Triggered by edfb4ce73a

[skip changelog]
2025-04-13 05:35:09 +00:00
github-actions[bot]
edfb4ce73a chore: Auto Update Game Resources - 2025-04-13
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14426517162

[skip changelog]
2025-04-13 05:34:37 +00:00
status102
f679256612 feat: 配置增加全局键移除 & bool自动转换 2025-04-13 11:19:26 +08:00
uye
383c38831a chore: FightSeries use the same ROI for all clients 2025-04-12 23:43:50 +08:00
status102
c3dc844b9a fix: 自动战斗网络请求返回失败时,错误提示异常 2025-04-12 23:40:54 +08:00
status102
a7f909cad0 perf: wpf自动战斗增加启动失败时的log 2025-04-12 23:40:54 +08:00
bodayw
2df97627fe feat: 更新 243/153 极限效率一天四换排班表(20250412 修订) (#12337)
* feat: 更新 243 极限效率一天四换排班表(20250412 修订)

根据[公孙长乐 2025-04-12 新视频](https://www.bilibili.com/video/BV14XdXYCEqh/?t=127)制作。

Replacing Kal'tsit with Mon3tr...

* feat: 更新 153 极限效率一天四换排班表(20250412 修订)

Replacing Kal'tsit with Mon3tr
Use Thorns the Lodestar for the 2nd rotation in the Gold Factory
2025-04-12 23:07:02 +08:00
Manicsteiner
5d5492b018 fix: FightSeries for global (#12332) 2025-04-12 23:05:55 +08:00
Szzrain
741eaafee1 feat: 支持新 UI 的 OF-1 导航 (#12335)
* feat: 支持新 UI 的 OF-1 导航

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

* fix: breaking for global server etc. (Hopefully)

* fix: reset roi for non-CN server

* chore: as reviewed

* chore: fix as review

* fix: adjust roi of ClickChapterNewOverview

* fix: fix roi

* chore: adjust swipe time

* chore: 简化任务逻辑,修改任务模板,同步适配 OF-F3

* chore: 模板图不带文字

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-04-12 23:03:26 +08:00
status102
f0d7840b51 perf: 移除无效调用 2025-04-12 22:35:48 +08:00
status102
3d62daed59 fix: 非自定义关卡名情况下,未能移除不显示的关卡
fix #12331
2025-04-12 22:35:47 +08:00
status102
d85b69632f Revert "chore: 给剩余理智加个兜底"
This reverts commit 6db893a23d.
2025-04-12 22:35:41 +08:00
uye
c64c80b7fc fix: 点击开始行动三秒未进入备战界面导致二次点击
fix #12324
2025-04-12 20:36:35 +08:00
status102
875a8dbe65 ci: issue-checker顺带加一下新的反馈包名 2025-04-12 19:47:00 +08:00
status102
c3bf90dd44 ci: issue-checker 日志上传失败提示 2025-04-12 19:43:26 +08:00
uye
6db893a23d chore: 给剩余理智加个兜底 2025-04-12 17:43:13 +08:00
Constrat
db03ab5976 fix: trade post rewards post base update
fix #12333
2025-04-12 09:02:03 +02:00
Constrat
55721e9e35 feat: Guide enable ADB (#12329)
* feat: add xaml gui

* i18n: add resources

* i18n: KR

* i18n: zh-tw

* i18n: zh-cn

* chore: 既然繁体那边用中文了那这里也用中文好了

---------

Co-authored-by: HX3N <scarlet7518@gmail.com>
Co-authored-by: momomochi987 <as99us301@gmail.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
Co-authored-by: Rbqwow <55343783+Rbqwow@users.noreply.github.com>
2025-04-12 11:03:20 +08:00
Constrat
3d7b7d5e58 chore: manual stages resources 2025-04-11 18:07:43 +02:00
Constrat
8971893e81 docs: fix punctuation for en-us 2025-04-11 17:35:39 +02:00
status102
af68ac46cf chore: file header & warning 2025-04-11 15:22:23 +08:00
HX3N
951ed330a8 chore: YostarKR InfrastReward ocr replace operator to trust
Replaced due to overlap between operator trust and operator morale
2025-04-11 12:34:35 +09:00
dependabot[bot]
3babe9d76e ci: bump apple-actions/download-provisioning-profiles from 3 to 4 in /.github/workflows in the github-actions group (#12225)
ci: bump apple-actions/download-provisioning-profiles

Bumps the github-actions group in /.github/workflows with 1 update: [apple-actions/download-provisioning-profiles](https://github.com/apple-actions/download-provisioning-profiles).


Updates `apple-actions/download-provisioning-profiles` from 3 to 4
- [Release notes](https://github.com/apple-actions/download-provisioning-profiles/releases)
- [Commits](https://github.com/apple-actions/download-provisioning-profiles/compare/v3...v4)

---
updated-dependencies:
- dependency-name: apple-actions/download-provisioning-profiles
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-11 05:35:14 +08:00
HX3N
adf6f1f80c fix: YostarKR InfrastReward ocr fix (#12317) 2025-04-10 22:34:53 +02:00
uye
ebaf3f9307 chore: 使用 MirrorChyan 进行软件更新时未处理 errorCode 显示 2025-04-11 01:57:02 +08:00
uye
60f0d56ddf chore: 顺序检查 2025-04-10 23:39:25 +08:00
uye
f94ddabeef chore: 弹窗加个文件名 2025-04-10 18:29:19 +08:00
pre-commit-ci[bot]
74f85680e8 chore: Auto update by pre-commit hooks [skip changelog] 2025-04-10 16:51:35 +08:00
status102
60f6b910cd feat: 自动战斗15章突袭难度适配 2025-04-10 16:51:35 +08:00
status102
e9bf062b55 chore: 自动战斗 战斗列表 关卡导航名允许覆盖 2025-04-10 16:51:35 +08:00
status102
4142896c82 perf: 背景图默认值修改为相对路径 2025-04-10 15:34:32 +08:00
status102
70398dda8b fix: Wpf一键长草任务栏设置按钮绑定报错 2025-04-10 15:34:31 +08:00
ChingCdesu
63bedace6e feat: mirror酱链接按照操作系统自动生成 2025-04-09 23:37:37 +08:00
Constrat
bc677b69ca fix: new Support GUI for EN
fix https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/12285#issuecomment-2788133440
2025-04-09 16:24:59 +02:00
Rbqwow
3bb0833704 build: 更新文档主题库 (#11627)
* build: 更新网站依赖

* build:更新vphope版本

* build: 怎么忘记加这个了

* fix: 修复构建错误

* chore: fix Vite CJS Node API deprecated warning

* chore: log

* perf: turbo 添加文档 cache

* perf: 注释掉新版不读取的切换语言公告内容

但公告这个属性得留着 不留着就没有切换语言的弹窗了

* fix: 修复字体问题

* build: update package version

* docs: remove root locale

* docs: add author

* ci: update node version

* build: turbo一直叫我更新,于是我更新了

* docs: update package

* docs: 再见吧牛牛今晚我就要远航

* docs: fix root locale problem

* docs: remove unused command

* feat: 牛兮归来!

* build: update turbo

* chore: 语言提醒怎么又没了 加回来

---------

Co-authored-by: SherkeyXD <57581480+SherkeyXD@users.noreply.github.com>
2025-04-09 21:09:31 +08:00
uye
29dad9ac7f fix: 修复手动关闭模拟器导致的连接状态不一致问题
fix #12309
2025-04-09 19:10:57 +08:00
uye
ea29cc2c20 fix: 连战次数 2025-04-09 17:50:59 +08:00
Weiyou Wang
934f752820 fix: update deployment (#11959)
* fix: update deployment

* fix: 把 check_in_battle 加回来

* fix: misc

* fix: 逻辑取反了

* fix: typo

* refactor: 去掉不需要的 init 参数与重复的 check_in_battle 检查

* refactor: 注释

* fix: misc

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-04-09 17:46:01 +08:00
status102
bd28098db9 feat: 日志包一并打包gui配置文件 (#12310)
* feat: 日志包一并打包gui配置文件 (#12310)

* perf: 复制调整

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

---------

Co-authored-by: BxFS <15606086+BxFS@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-09 17:30:56 +08:00
status102
a1ff2a522d fix: Wpf刷理智连战次数UI为空 2025-04-09 17:29:28 +08:00
status102
7a329c8647 fix: task name
[skip changelog]
2025-04-09 17:12:46 +08:00
uye
f74a04155f perf: 热更新资源改为异步加载避免启动阻塞 2025-04-09 16:58:52 +08:00
status102
e95f5f5ad7 fix: 刷理智碎石时网络卡顿造成重复点击
fix #12290
2025-04-09 16:51:28 +08:00
status102
8ffc1a253d Revert "fix: 吃药/碎石 时网络波动延迟导致二次确认时点到取消代理"
This reverts commit 4c4b56c1a8.
2025-04-09 16:38:50 +08:00
status102
b22805843b fix: task type 2025-04-09 16:27:54 +08:00
status102
0045bbcd8b fix: 修复刷理智错误识别突袭关3星结算 2025-04-09 16:27:41 +08:00
uye
90ed19b192 fix: typo
[skip changelog]
2025-04-09 16:25:11 +08:00
uye
402ececdde fix: 主线关卡未选择默认进度时无法导航 2025-04-09 16:21:04 +08:00
uye
4c4b56c1a8 fix: 吃药/碎石 时网络波动延迟导致二次确认时点到取消代理 2025-04-09 15:57:58 +08:00
uye
7277b7e8ec chore: 调整热更提示 2025-04-09 13:49:58 +08:00
uye
7f1466eeb0 fix: 15 章战斗列表 2025-04-09 13:43:13 +08:00
status102
fb8ba366ca rft: Wpf刷理智任务、基建任务序列化 (#12281) 2025-04-09 13:13:42 +08:00
uye
fd5b5cab4e Release v5.15.0 (#12285)
Release beta for overseas infrastructure changes.
- [x] JP
- [x] KR
- [x] Wait for new EN gamedata that will release in 4 hours.
- [ ] CN gamedata fix (yuanyuan repo same time as EN?)
2025-04-09 12:37:10 +08:00
github-actions[bot]
62abaf51d7 docs: Auto Update Changelogs of v5.15.0 (#12289)
* docs: Auto Generate Changelog of Release v5.15.0

* docs: Update CHANGELOG.md

* docs: Update CHANGELOG.md

* docs: changelog

* feat: changelog

* feat: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
Co-authored-by: AnnAngela <naganjue@vip.qq.com>
2025-04-09 12:35:36 +08:00
github-actions[bot]
51926cd41c chore: Auto Templates Optimization
Triggered by fef3fd4817

[skip changelog]
2025-04-09 04:29:56 +00:00
uye
fef3fd4817 chore: 手动更新新材料 2025-04-09 12:29:32 +08:00
MistEO
11a120b056 ci: MirrorChyan for macos (#12296)
* Update mirrorchyan_release_note.yml

* Update mirrorchyan.yml

* Update mirrorchyan.yml

* Update mirrorchyan_release_note.yml

* Update mirrorchyan.yml

* Update mirrorchyan.yml

* Update mirrorchyan_release_note.yml

* Update mirrorchyan.yml

* Update mirrorchyan.yml
2025-04-09 12:23:02 +08:00
Manicsteiner
86f76f71ea chore: YostarJP ocr fix (#12292) 2025-04-09 11:18:08 +08:00
BxFS
ee41f9c322 feat: 生成问题反馈压缩包&打开debug文件夹按钮 (#12282)
* feat: generate support payload and open debug folder option

* feat: zh-tw and en-us i18n, along with ai-translated ja-jp and ko-kr

* i18n: EN tweak

* fix: 移除重复的常见问题

* chore: UI 调整

* fix: 修复绑定,调整顺序

* chore: 移除不再使用的i18n内容

* perf: 调整关于界面

* fix: 文件过滤

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2025-04-09 10:17:24 +08:00
Constrat
5ad0f1e1fc feat: EN new clue templates + optimizations 2025-04-08 20:09:21 +02:00
Constrat
e432deee2c fix: readd CN gamedata: stages + chars 2025-04-08 19:40:26 +02:00
Constrat
2b64f974ec feat: EN Siege Alter gamedata 2025-04-08 19:18:17 +02:00
status102
46d3e91483 fix: 自动战斗-战斗列表 突袭难度切换失效
fix #12286
2025-04-08 23:14:24 +08:00
uye
105bf5b865 feat: 支持新 UI 主线导航 (#12278)
* feat: 支持新 UI 主线导航

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-08 22:46:27 +08:00
uye
73be332b4d chore: 调整主任务勾选框显示 (#12283) 2025-04-08 21:33:24 +08:00
HX3N
eb69190f18 chore: YostarKR ocr and UI updates (#12284) 2025-04-08 15:12:32 +02:00
status102
3096f8e311 rft: Wpf刷理智任务序列化 2025-04-08 19:33:20 +08:00
status102
419b3ae82d rft: Wpf基建任务参数更新迁移 2025-04-08 19:28:03 +08:00
status102
563c9507d5 rft: Wpf迁移工具箱-公招识别任务 2025-04-08 19:23:26 +08:00
github-actions[bot]
13ccf1b851 chore: Auto Templates Optimization
Triggered by e312d425b8

[skip changelog]
2025-04-08 09:40:29 +00:00
Manicsteiner
e312d425b8 chore: YostarJP clue and GUI updates (#12276) 2025-04-08 11:36:03 +02:00
Constrat
517141a5f4 feat: overseas (JP & KR) data (#12274) 2025-04-08 11:30:17 +02:00
AnnAngela
433eb0aa0b fix: 友链字体 [skip changelog] 2025-04-08 16:15:08 +08:00
AnnAngela
5680895daa feat: 调整友链样式 [skip changelog] 2025-04-08 16:11:14 +08:00
github-actions[bot]
3f426ffd35 chore: Auto Templates Optimization
Triggered by 2ec5caf456

[skip changelog]
2025-04-08 07:59:09 +00:00
AnnAngela
2ec5caf456 feat: 官网添加工具箱友链 [skip changelog] 2025-04-08 15:58:52 +08:00
AnnAngela
2540ec0bc3 feat: 官网添加工具箱友链 [skip changelog] (#12272)
* feat: Update HomeLinks.tsx

* feat: arkntools.app.png

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-08 15:48:22 +08:00
uye
4f81046a40 fix: 15章自动战斗 2025-04-08 12:07:22 +08:00
uye
1e6ae76a2e Revert "fix: 15章 自动战斗"
This reverts commit e2afc7a0cd.
2025-04-08 12:01:19 +08:00
uye
e2afc7a0cd fix: 15章 自动战斗 2025-04-08 11:56:41 +08:00
uye
9c30e9e83e fix: 开始作战 2025-04-08 11:56:41 +08:00
status102
b28ebf3ca9 rft: 远程控制添加任务移除反射 2025-04-08 10:53:23 +08:00
status102
a642024500 chore: 其他地图数据修复 2025-04-08 10:35:55 +08:00
status102
4b61fdf5d9 chore: 主线15章地图修复 2025-04-08 10:26:12 +08:00
uye
0e13f97b8c fix: 修复资源/肉鸽导航 (#12266) 2025-04-08 09:49:39 +08:00
Hao Guan
0475421520 fix(mac): 自动更新 2025-04-08 09:48:22 +08:00
MistEO
c7c17676e2 fix: resource 2025-04-08 09:16:27 +08:00
status102
6a85baede6 fix: wpf外服资源加载错误 2025-04-08 08:47:33 +08:00
Constrat
a935caf588 fix: prettier formatting 2025-04-07 22:11:45 +02:00
github-actions[bot]
34ac9b69f4 chore: Auto Update Game Resources - 2025-04-07
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14318393003

[skip changelog]
2025-04-07 20:04:51 +00:00
MistEO
7174edab5a chore: fix version time 2025-04-08 02:36:11 +08:00
MistEO
6bc2c2167e fix: revert infrast.json temporary 2025-04-08 02:32:57 +08:00
github-actions[bot]
634738a24d chore: Auto Templates Optimization
Triggered by 567e62abe2

[skip changelog]
2025-04-07 18:30:01 +00:00
MistEO
567e62abe2 feat: 手动更新资源 2025-04-08 02:28:55 +08:00
status102
b508d9e306 rft: Wpf CustomTask序列化 (#12264) 2025-04-07 22:50:16 +08:00
Constrat
768c0e289a fix: warning SA1413 in Telegram notifications 2025-04-07 12:02:02 +02:00
uye
f9319906b0 fix: Debug TaskName 忘保存了 2025-04-07 17:41:25 +08:00
uye
b33d88861c Release v5.15.0-beta.2 (#12261) 2025-04-07 00:49:57 +08:00
github-actions[bot]
088be6e970 docs: Auto Update Changelogs of v5.15.0-beta.2 (#12262)
* docs: Auto Generate Changelog of Release v5.15.0-beta.2

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-04-07 00:38:17 +08:00
uye
a6d52b4a44 feat: 将背景设置独立出来 (#12254)
* feat: 将背景设置独立出来

* fix: typo

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* i18n: 添加翻译

* chore: 调整持久化储存 key 值,透明度和半径得重新手动调整下

* chore: 隐藏过时提示

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-06 23:06:27 +08:00
uye
0ff82e143f chore: 添加一个临时定时 (#12243)
* chore: 添加一个临时定时

* chore: 定时器全部改成可单次执行
2025-04-06 22:56:30 +08:00
uye
977cd6c9b6 feat: 添加自定义任务,仅在 debug 模式下可见入口
fix #7407
2025-04-06 18:49:42 +08:00
uye
53b0d56209 fix: 线索翻页限制 10 次,超出次数或未识别到下一页强制给当页第一个好友送线索 2025-04-06 17:17:56 +08:00
uye
079359749d fix: 外部通知 SMTP 与 Qmsg 输入框样式错误
fix #12256
2025-04-06 14:15:37 +08:00
uye
0b92134160 chore: 将密码框样式独立出来 2025-04-06 14:07:52 +08:00
Sherkey Asher
1a7b615cf8 docs: 添加ci文档 (#11924)
* docs: 添加协议文档导航

* docs: 添加ci解析

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

* docs: improve

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Rbqwow <55343783+Rbqwow@users.noreply.github.com>
2025-04-06 09:31:38 +08:00
Loong
7479b95179 chore: bump maa-cli to 0.5.4 (#12091) 2025-04-06 01:12:39 +08:00
uye
0fb839f0f6 chore: 提前适应新 UI 的资源关卡和肉鸽图标 2025-04-05 20:28:41 +08:00
github-actions[bot]
704bf6e05a chore: Auto Update Game Resources - 2025-04-04
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14270171199

[skip changelog]
2025-04-04 16:47:05 +00:00
Constrat
0b6ff2a7ad feat: YostarEN GO navigation preload 2025-04-04 18:37:22 +02:00
Manicsteiner
0b3c18e206 feat: YostarJP GO navigation (#12244) 2025-04-04 18:34:05 +02:00
uye
1bb16ee657 fix: 落了个 ResetRecruitVariables 2025-04-04 23:38:15 +08:00
HX3N
63cd7a56a9 feat: YostarKR GO navigation (#12242) 2025-04-04 20:39:42 +08:00
uye
80039160cf chore: 给反转 CheckBox 加个样式 2025-04-04 18:47:22 +08:00
uye
15bfd243f1 chore: 反转右键效果时更新 tooltip 悬浮提示 2025-04-04 17:24:51 +08:00
uye
763264e110 chore: 添加背景模糊半径滑块 2025-04-04 15:14:45 +08:00
uye
5c405a321e chore: 添加反转主任务右键单击效果勾选项
cc @Constrat
This option only applies to the main task selection. The key name in config has been changed
2025-04-04 14:45:42 +08:00
uye
fa0065cff7 chore: 调整背景模糊默认半径 2025-04-04 14:37:53 +08:00
Weiyou Wang
0dbd5ee80b fix: mac下选择难度 999 导致卡死 (#12235)
* fix: mac下选择难度 999 导致卡死

* refactor: 用常量
2025-04-04 13:22:21 +08:00
Weiyou Wang
219d3a9151 fix: 修复宿舍填充干员时不经过检测盲点首位干员的问题 (#12234) 2025-04-04 11:01:12 +08:00
uye
79f3228389 chore: 优化肉鸽难度选择显示 2025-04-03 23:48:09 +08:00
Rbqwow
f13c265e70 chore: ignore system shits (#12229)
[skip changelog]
2025-04-02 20:29:10 +08:00
Rbqwow
ca11661405 docs: 调整新手上路步骤顺序 (#12228) 2025-04-02 20:28:57 +08:00
HY
5dab97c71e fix: 繁中服生息演算無法讀檔 (#12230) 2025-04-02 11:23:46 +02:00
uye
de1ca4d414 chore: 可修改 gui.json 自定义 Background 模糊半径 2025-04-01 14:02:23 +08:00
uye
bb7eb4f095 Release v5.15.0-beta.1 (#12213)
push push
2025-03-31 20:48:10 +08:00
github-actions[bot]
40e158bb24 docs: Auto Update Changelogs of v5.15.0-beta.1 (#12222)
* docs: Auto Generate Changelog of Release v5.15.0-beta.1

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-03-31 20:00:07 +08:00
uye
7d0cfcddda feat: 添加控件半透明背景色,新增自定义背景 (#12204)
* feat: 添加控件半透明背景色,新增自定义背景

* chore: 添加个界面提示

* fix: 无法保存不透明度

* chore: 调整背景透明度,添加毛玻璃效果

* chore: 添加缓存

* chore: 删除多余内容

* style: format

* perf: 简化样式声明

* feat: 添加DataGrid半透明效果

* chore: 统一格式

* chore: ItemContainerStyle 改为默认透明

* fix: 修复部分未透明控件

* fix: 类型错误

* chore: 拆分不同样式的ListBox

* chore: 密码框半透明

* chore: 标题栏半透明

* chore: ButtonGroup 中的 RadioButton 选中时半透明

* chore: 调整 ListBoxItem 鼠标悬浮及选中颜色

* chore: 扩大主界面任务栏设置可点击范围

* perf: 小工具页TabControl背景透

* chore: 优化界面显示效果

* chore: 修复置顶按钮在切换主题色时更新不及时

* chore: 添加 PreviewSlider 渐入动画,增加 HoverDelayHelper 辅助类

* chore: HoverDelayHelper 不处理动画

* chore: 优化界面显示

---------

Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2025-03-31 19:56:34 +08:00
HY
c46024cb6a chore: 繁中服「生路」活動導航 (#12224) 2025-03-31 19:38:15 +08:00
github-actions[bot]
df905440f5 chore: Auto Update Game Resources - 2025-03-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14165187946

[skip changelog]
2025-03-31 06:09:17 +00:00
BxFS
42e36f11da fix: CheckLevelMax ocr target "-" -> digits (#12223) 2025-03-31 13:31:34 +08:00
github-actions[bot]
69acd541d3 chore: Auto Update Game Resources - 2025-03-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14164735183

[skip changelog]
2025-03-31 05:29:36 +00:00
晓丶梦丶仁
a8cc94d5b9 chore: update en-bug-report template
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-03-31 11:15:27 +08:00
Constrat
5cd9164d21 feat: YoStarEN Sarkaz theme + JP and KR template optimization 2025-03-30 21:02:38 +02:00
HX3N
b481071e6b chore: YostarKR Sarkaz Theme (#12220) 2025-03-30 20:49:48 +02:00
uye
443c9a74ff chore: gpu 选项禁用滚轮切换
fix #12210
2025-03-31 00:52:51 +08:00
Manicsteiner
acd8afd3b5 chore: YostarJP Sarkaz Theme (#12216) 2025-03-30 20:57:25 +08:00
Manicsteiner
a3795b4312 chore: YostarJP 琳琅诗怀雅 ocr fix (#12219) 2025-03-30 20:51:21 +08:00
uye
d643bd332e chore: 新增 MirrorChyan ErrorCode 提示 (#12202)
* chore: 新增 MirrorChyan ErrorCode 提示

* fix: 漏传显示参数

* fix: 显示错误
2025-03-28 17:01:51 +08:00
MistEO
a145ddc5fc chore: update wording about mirrorchyan (#12208) 2025-03-28 13:21:51 +08:00
github-actions[bot]
d0d71cb45b chore: Auto Update Game Resources - 2025-03-25
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14066226473

[skip changelog]
2025-03-25 17:28:42 +00:00
github-actions[bot]
bb860a5f26 chore: Auto Update Game Resources - 2025-03-25
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14065778213

[skip changelog]
2025-03-25 17:06:15 +00:00
github-actions[bot]
4226546b46 chore: Auto Update Game Resources - 2025-03-25
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14054199041

[skip changelog]
2025-03-25 07:44:03 +00:00
github-actions[bot]
f80d89cee4 chore: Auto Update Game Resources - 2025-03-25
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14053641056

[skip changelog]
2025-03-25 07:07:18 +00:00
dependabot[bot]
46d7d4b2ad ci: bump apple-actions/import-codesign-certs from 3 to 5 in /.github/workflows in the github-actions group (#12201)
ci: bump apple-actions/import-codesign-certs

Bumps the github-actions group in /.github/workflows with 1 update: [apple-actions/import-codesign-certs](https://github.com/apple-actions/import-codesign-certs).


Updates `apple-actions/import-codesign-certs` from 3 to 5
- [Release notes](https://github.com/apple-actions/import-codesign-certs/releases)
- [Commits](https://github.com/apple-actions/import-codesign-certs/compare/v3...v5)

---
updated-dependencies:
- dependency-name: apple-actions/import-codesign-certs
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-25 11:10:09 +08:00
dantmnf
3c2105eae1 fix: handle leak
https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/12199#issuecomment-2746840742
2025-03-24 22:42:54 +08:00
github-actions[bot]
81d5d51938 chore: Auto Update Game Resources - 2025-03-24
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/14033663625

[skip changelog]
2025-03-24 11:06:21 +00:00
MistEO
2f373ba893 docs: add space 2025-03-23 01:49:34 +08:00
MistEO
db2edc29be docs: add space 2025-03-23 01:45:54 +08:00
Constrat
47dc686e89 chore: add delay pre UnlockClues 2025-03-21 12:55:03 +01:00
HX3N
434d5b9f2b fix: YostarKR lower StartToVisit templThreshold (#12193) 2025-03-21 11:05:08 +01:00
github-actions[bot]
5429120a93 chore: Auto Update Game Resources - 2025-03-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13978365308

[skip changelog]
2025-03-20 20:07:01 +00:00
HX3N
5f0e2a8366 chore: YostarKR SSS#6 BuffChoose (#12191) 2025-03-20 19:39:21 +01:00
Constrat
5c06a78ac1 feat: Telegram Topic notification (#12188)
* feat: cs logic

* chore: xaml GUI

* i18n: string localization

* fix: big typo

* fix: xaml formatting

* fix: formatting jp

* chore: variable consistency
2025-03-20 11:09:27 +01:00
晓丶梦丶仁
26917639b9 perf: 孤星搓玉关 2025-03-20 17:36:53 +08:00
晓丶梦丶仁
4676e83921 fix: 保全开始部署 点击过快导致点击无效 (#12185) 2025-03-20 17:15:23 +08:00
github-actions[bot]
b24d1f8b7e chore: Auto Templates Optimization
Triggered by 8d4dc58ddf

[skip changelog]
2025-03-20 09:11:20 +00:00
github-actions[bot]
8d4dc58ddf chore: Auto Update Game Resources - 2025-03-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13965604516

[skip changelog]
2025-03-20 09:10:11 +00:00
github-actions[bot]
8fb585c3bd chore: Auto Update Game Resources - 2025-03-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13964618452

[skip changelog]
2025-03-20 08:08:03 +00:00
status102
d4cfdd0153 fix(wpf): 自动战斗在开启战斗列表时导入作业后,关闭战斗列表开始任务时作业使用错误 2025-03-20 15:33:29 +08:00
Constrat
a82fbe2193 chore: update issue_template to remove new lines for EN 2025-03-19 18:50:38 +01:00
Constrat
616a283538 fix: SSS#6 directional EC and branches 2025-03-19 18:33:21 +01:00
晓丶梦丶仁
38ffe6e047 fix: 控制中枢模板mask (#12177) 2025-03-19 21:01:34 +08:00
uye
b39ef8d44c chore: 移除过时的重连代码 2025-03-19 13:59:33 +08:00
github-actions[bot]
92e81d51be chore: Auto Update Game Resources - 2025-03-19
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13939071833

[skip changelog]
2025-03-19 04:45:57 +00:00
HY
ebc06d3b9c fix: 繁中服_生息演算組裝道具後卡住 (#12182)
* fix: 繁中服_生息演算組裝道具後卡住

* perf: 改为 ocrReplace

---------

Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2025-03-19 12:40:43 +08:00
github-actions[bot]
6e215b016a chore: Auto Update Game Resources - 2025-03-19
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13936090872

[skip changelog]
2025-03-19 00:25:33 +00:00
Hao Guan
fb33815586 feat(mac): 任务列表支持多个开始唤醒,以实现多账号 (#12144) 2025-03-19 03:44:32 +08:00
Constrat
ea269d69c7 chore: tweak SSS files for global 2025-03-18 11:18:29 +01:00
Constrat
5453be7ed4 chore: tweaked SSS copilot operators output 2025-03-18 11:10:46 +01:00
Constrat
9c5cb6e020 fix: xaml requires &#160; 2025-03-18 11:10:14 +01:00
Constrat
62ce927ef9 i18n: add space after : 2025-03-18 10:52:50 +01:00
dragonheart107
ed814d77f4 feat: SSS#6 for EN (#12168) 2025-03-18 10:49:56 +01:00
Manicsteiner
2af21754d7 chore: YostarJP EnterInfrastDelicious (#12176) 2025-03-18 12:24:56 +08:00
HY
31e64c87bc chore: 繁中服_聲浪安保派駐_定向導能元件 (#12174) 2025-03-17 10:15:05 +01:00
MistEO
9ae1e097f4 feat: check nightly version with mirrorchyan (#12173)
* ci: trigger alpha upload

* feat: check nightly version with mirrorchyan

* chore: remove l10n
2025-03-17 14:29:12 +08:00
uye
078e03b637 fix: 钼铅识别错误
fix #12169
2025-03-16 21:26:24 +08:00
MistEO
0673d8f790 Merge tag 'v5.14.1' into dev
v5.14.1
2025-03-16 11:47:41 +00:00
MistEO
13c6737d87 Release v5.14.1 (#12164)
for
5631e8ea0d
2025-03-16 19:47:08 +08:00
MistEO
a10009f6ae docs: changelog v5.14.1 2025-03-16 19:26:35 +08:00
MistEO
8a98f06910 feat: 调整下载来源提示 (#12156)
* feat: 调整下载来源提示

* chore: 调整一下toast文本
2025-03-16 19:21:28 +08:00
MistEO
881f3c6393 chore: 资源更新换一个解压目录 (#12153) 2025-03-16 19:21:28 +08:00
github-actions[bot]
2312a6b766 chore: Auto Update Game Resources - 2025-03-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13857358415

[skip changelog]
2025-03-16 19:21:28 +08:00
MistEO
6929abc2db ci: revert resource updater for upstream fix
修了修了 6a574986df (diff-64333ee497f100b1dbf592555a20776fba85b32e6f4b798a96ac74ce4e3269e9)
2025-03-16 19:21:28 +08:00
Constrat
6c0c2d548e chore: set output to UTF_8 for ResourceUpdater 2025-03-16 19:21:28 +08:00
Constrat
1e20c8ce30 fix: update version.json on Arknights-Tile-Pos changes
fix 43c672df54
2025-03-16 19:21:28 +08:00
MistEO
b872cbf0ec ci: manually update resource
https://github.com/yuanyan3060/ArknightsGameResource/issues/25
2025-03-16 19:21:28 +08:00
MistEO
8958b93a98 ci: output resource updater version info 2025-03-16 19:21:28 +08:00
MistEO
a7a48c6145 chore: manual update version 2025-03-16 19:21:28 +08:00
github-actions[bot]
66db13d1ae chore: Auto Update Game Resources - 2025-03-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13853283969

[skip changelog]
2025-03-16 19:21:28 +08:00
github-actions[bot]
673231881e chore: Auto Update Game Resources - 2025-03-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13852722614

[skip changelog]
2025-03-16 19:21:22 +08:00
MistEO
7274b29714 feat: 调整下载来源提示 (#12156)
* feat: 调整下载来源提示

* chore: 调整一下toast文本
2025-03-15 23:58:28 +08:00
MistEO
5631e8ea0d chore: 资源更新换一个解压目录 (#12153) 2025-03-15 14:03:23 +08:00
github-actions[bot]
e180bf6fb4 chore: Auto Update Game Resources - 2025-03-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13857358415

[skip changelog]
2025-03-14 13:16:39 +00:00
MistEO
c911d27a8f ci: revert resource updater for upstream fix
修了修了 6a574986df (diff-64333ee497f100b1dbf592555a20776fba85b32e6f4b798a96ac74ce4e3269e9)
2025-03-14 21:12:53 +08:00
Constrat
2198df02b4 chore: set output to UTF_8 for ResourceUpdater 2025-03-14 11:44:08 +01:00
Constrat
4cb4622438 fix: update version.json on Arknights-Tile-Pos changes
fix 43c672df54
2025-03-14 11:24:09 +01:00
MistEO
9299625f04 ci: manually update resource
https://github.com/yuanyan3060/ArknightsGameResource/issues/25
2025-03-14 18:00:45 +08:00
MistEO
81a53dbb6f ci: output resource updater version info 2025-03-14 17:31:28 +08:00
MistEO
424effe5f2 chore: manual update version 2025-03-14 17:23:56 +08:00
github-actions[bot]
43c672df54 chore: Auto Update Game Resources - 2025-03-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13853283969

[skip changelog]
2025-03-14 09:06:41 +00:00
status102
d0de85c7cd Revert "fix: roguelike already left encounter check and return from map screen (#12088)"
https://github.com/MaaAssistantArknights/MaaAssistantArknights/pull/12088#issuecomment-2724040534
2025-03-14 16:59:46 +08:00
github-actions[bot]
b25796e4b5 chore: Auto Update Game Resources - 2025-03-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13852722614

[skip changelog]
2025-03-14 08:31:28 +00:00
status102
28259b23f7 rft: Wpf肉鸽任务序列化 (#12124)
* rft(wpf): 肉鸽任务序列化

* perf: 部分参数设置简化
2025-03-14 16:25:38 +08:00
BxFS
cb398487f1 fix: roguelike already left encounter check and return from map screen (#12088)
* fix: back out of map screen in roguelike

* feat: check if already left encounter for RoguelikeStageEncounterTaskPlugin
2025-03-14 16:20:22 +08:00
status102
758f79d1ad perf(core): 自动战斗开始前仅移除相似的召唤物头像缓存 2025-03-14 15:05:40 +08:00
status102
a42b1546b3 fix: 繁中服薩米肉鴿事件ocr
fix #12147
2025-03-14 09:54:18 +08:00
bodayw
04eacd6615 fix: 更新 243 极限效率一天四换排班表 (#12146)
取消 A+C 短班中的宿舍自动填充,避免把已经移出的令重新放进去恢复心情。

Disable dorm autofill in rotation "A+C" to avoid putting Ling back in again.
2025-03-13 14:54:02 +01:00
MistEO
a13550370a docs: 协议抄错了x 2025-03-13 17:59:48 +08:00
MistEO
9ab022f5ba docs: dml 措辞改漏了 2025-03-13 17:57:42 +08:00
MistEO
35089726d9 docs: 优化 DML 相关措辞 2025-03-13 17:56:15 +08:00
MistEO
a3d81c6029 docs: 回滚部分声明措辞 2025-03-13 17:49:49 +08:00
github-actions[bot]
5828b76ea7 chore: Auto Update Game Resources - 2025-03-13
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13830229008

[skip changelog]
2025-03-13 08:31:55 +00:00
github-actions[bot]
882c617031 chore: Auto Update Game Resources - 2025-03-12
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13807179300

[skip changelog]
2025-03-12 08:46:55 +00:00
MistEO
8523b760e4 Release v5.14.0 (#12139) 2025-03-12 13:14:05 +08:00
github-actions[bot]
f1210a6103 docs: Auto Update Changelogs of v5.14.0 (#12142)
* docs: Auto Generate Changelog of Release v5.14.0

* docs: cahngelog

* docs: changelog

* docs: changelog

* feat: Update CHANGELOG.md

* feat: Update CHANGELOG.md

* docs: Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
Co-authored-by: AnnAngela <naganjue@vip.qq.com>
Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
Co-authored-by: MistEO <mistereo@hotmail.com>
2025-03-12 13:08:38 +08:00
status102
8a85df4a36 perf: 基建信息板收取信用增加开关 (#12050)
* perf: 基建信息板收取开关

* feat(core): 基建任务会客室领取留言板信用

* i18n: wpf

* fix: 补回遗漏传参,简化调用

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-03-12 09:04:28 +08:00
鬼影233
aeb557d004 feat: 适配「滋味」界面主题(YoStarEN) (#12135) 2025-03-11 21:58:34 +08:00
bodayw
ccd343db0f fix: 更新 243 极限效率一天四换排班表 (#12137)
修复格雷伊重复进驻宿舍的排班错误

Fixed the bug that Greyy were designated twice in the dorms
2025-03-11 12:51:31 +01:00
Constrat
15d1a8623e fix: add custom text and roi for SideStory DT 2025-03-10 23:04:19 +01:00
bodayw
d2b2538d77 feat: 更新 243 极限效率一天四换排班表(20250310 修订) (#12132)
---------

Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2025-03-10 22:17:03 +01:00
github-actions[bot]
8bad202185 chore: Auto Update Game Resources - 2025-03-10
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13770953282

[skip changelog]
2025-03-10 17:28:25 +00:00
dantmnf
2fd03290e6 chore: deprecate more Intel integrated GPUs
We have issue reports on such generation iGPU.

Xe2 (Lunar Lake, Core Ultra 200V) and Xe-LPG+ (Arrow Lake, Core Ultra
200H) GPUs are still under evaluation.
2025-03-11 00:31:32 +08:00
Constrat
ee0e6a9519 chore: give priority to flint item compared to flint operator
nofix
2025-03-10 14:50:11 +01:00
HX3N
b0ba0fc4fc chore: YostarKR Theme Delicious (#12131) 2025-03-10 13:54:01 +01:00
Manicsteiner
622c22cf24 chore: YostarJP Theme Delicious (#12130) 2025-03-10 20:37:11 +08:00
Manicsteiner
793a4631d6 chore: YostarJP DT stage (#12129) 2025-03-10 20:36:37 +08:00
status102
bb1758b699 fix: 自动战斗费用识别在部分分辨率下概率出错
720p存在故障
2025-03-10 19:05:23 +08:00
HX3N
211e3eaea9 chore: YostarKR DT stage roi and text (#12127) 2025-03-10 19:59:28 +09:00
github-actions[bot]
13d766e071 chore: Auto Update Game Resources - 2025-03-10
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13759363595

[skip changelog]
2025-03-10 07:44:07 +00:00
github-actions[bot]
4427d37cd3 chore: Auto Update Game Resources - 2025-03-10
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13758799171

[skip changelog]
2025-03-10 07:06:20 +00:00
github-actions[bot]
2ee090e749 chore: Auto Templates Optimization
Triggered by 56e578f99c

[skip changelog]
2025-03-10 07:04:36 +00:00
BxFS
56e578f99c fix: 尝试修复肉鸽不期而遇退出后仍在尝试点击事件
chore: update tools ignore

feat: check if already left encounter for RoguelikeStageEncounterTaskPlugin

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
Signed-off-by: status102 <102887808+status102@users.noreply.github.com>
2025-03-10 15:03:36 +08:00
status102
a033d99f66 rft: wpf招募任务序列化 (#12080) 2025-03-10 12:12:19 +08:00
status102
f101fb5afb fix(wpf): 修复自动战斗-战斗列表批量导入失效 2025-03-09 23:33:38 +08:00
MistEO
325db06cd6 Release v5.14.0-beta.4 (#12121) 2025-03-09 21:19:16 +08:00
github-actions[bot]
b36bd89a32 docs: Auto Update Changelogs of v5.14.0-beta.4 (#12122)
* docs: Auto Generate Changelog of Release v5.14.0-beta.4

* docs: changelog

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2025-03-09 21:07:35 +08:00
status102
917534e474 rft: wpf基建任务序列化默认值补全 2025-03-09 20:14:27 +08:00
status102
2e17de4983 perf: 肉鸽投资ocr封装 2025-03-09 20:14:27 +08:00
Sherkey Asher
2aa996b59d feat: SideStory「挽歌燃烧殆尽」导航 (#12094)
* feat: SideStory「挽歌燃烧殆尽」导航

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

* feat: 神秘ocr
2025-03-09 01:05:18 +08:00
github-actions[bot]
ae2f714ec1 chore: Auto Update Game Resources - 2025-03-08
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13739097764

[skip changelog]
2025-03-08 15:44:20 +00:00
uye
3b73b28e1c chore: 手动更新下活动名称 2025-03-08 23:39:12 +08:00
uye
a786556623 chore: 填写完cdk后自动检查一次更新 2025-03-08 23:27:59 +08:00
uye
abbcbdfdac chore: 删除多余判断 2025-03-08 23:27:59 +08:00
Constrat
2115d2e7c9 fix: typo
[skip changelog] [skip ci]
2025-03-08 16:08:17 +01:00
Constrat
b73087a190 feat: YostarEN DT navigation 2025-03-08 16:07:06 +01:00
status102
7275d126c7 perf: 企鹅物流上报失败-不支持的关卡,输出降级为警告,移除提示中的更新提醒 2025-03-08 16:30:47 +08:00
HX3N
dff4b57d66 chore: YostarKR DT navigation (#12105) 2025-03-08 15:34:17 +08:00
status102
f59ca76dfc perf(wpf): 自动战斗在作业地图不支持时,自动检测资源更新 2025-03-08 10:52:17 +08:00
status102
6bc44b934c perf(wpf): 调整干员识别及仓库识别开始流程 2025-03-08 10:41:44 +08:00
status102
19a73ef5d4 rft: wpf信用任务序列化 2025-03-08 10:41:23 +08:00
Manicsteiner
a42d253962 chore: YostarJP DT テラ飯 preload (#12101) 2025-03-07 21:42:32 +01:00
uye
bfd0ce283e chore: 提取 ResourceReload 方法 2025-03-07 23:26:31 +08:00
status102
c0ff1ddbe9 fix: wpf自动战斗-追加自定干员失效 2025-03-07 20:24:06 +08:00
status102
907d742ba6 perf: 修改初次设置引导中的项目,移除账号切换相关 2025-03-07 19:02:16 +08:00
BxFS
67b680e83a feat: 萨卡兹肉鸽深入调查实装 (#12098)
* feat: Sarkaz Deep Investigation

* refactor: remove duplicate sarkaz confirm pngs
2025-03-07 11:22:07 +01:00
Constrat
3d5189c8a8 style: formatting output
[skip changelog]
2025-03-07 11:15:13 +01:00
MistEO
f5e17393a7 feat: parse release note for resource updater (#12092)
* feat: parse release note for resource udpater

* feat: parse release note for resource udpater

* feat: toast 显示版本信息

* style: whitespace for EN

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-03-07 17:43:02 +08:00
github-actions[bot]
d354f5cefe chore: Auto Update Game Resources - 2025-03-07
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13716403548

[skip changelog]
2025-03-07 08:08:04 +00:00
XuQingTW
7f60b24c15 docs : 枯朽祭坛 维什戴尔 逻各斯 OCR辨識 (#12096)
* Update 枯朽祭坛 维什戴尔 逻各斯

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-03-07 15:31:27 +08:00
github-actions[bot]
75d30fd48c chore: Auto Templates Optimization
Triggered by 1dd501427d

[skip changelog]
2025-03-07 02:34:34 +00:00
github-actions[bot]
1dd501427d chore: Auto Update Game Resources - 2025-03-07
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13712491072

[skip changelog]
2025-03-07 02:33:57 +00:00
status102
c5fb4f099a fix: wpf领取奖励任务序列化错误 2025-03-07 09:59:43 +08:00
status102
e63c471baf rft: wpf领取奖励任务序列化 2025-03-06 22:58:37 +08:00
status102
1090f6bd5a fix: 修改彩蛋gif默认路径为string.Empty 2025-03-06 22:58:36 +08:00
status102
c139c29538 perf: 移除无用的彩蛋控件 2025-03-06 22:58:30 +08:00
BxFS
2f5c625abd fix: sarkaz MS count 1->8 (#12085) 2025-03-06 13:09:18 +01:00
uye
85a19f514a chore: 倒计时添加日志 2025-03-06 17:04:12 +08:00
uye
d57b196649 chore: 添加 spid 2025-03-06 17:04:12 +08:00
uye
7ccd76e99f chore: 调整参数名 2025-03-06 17:04:12 +08:00
github-actions[bot]
bad812ff2a chore: Auto Update Game Resources - 2025-03-06
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13694387717

[skip changelog]
2025-03-06 08:31:11 +00:00
Roland125
b14a563403 fix: 修复截图速度过快导致不能切换贸易站订单的问题 (#12090)
ChangeToMoneyOrder任务在9ms的截图速度下,点击动作在游戏中无法生效,故添加一个任务前延时。
顺便为ChangeToSyntheicJadeFlagOrder任务也添加一个前延时。
Co-authored-by:@Alan-Charred
2025-03-06 10:15:33 +08:00
status102
c9261d7702 fix: 基建设置UI绑定失效 2025-03-06 09:58:35 +08:00
github-actions[bot]
8f5a398154 chore: Auto Update Game Resources - 2025-03-05
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13684563437

[skip changelog]
2025-03-05 20:07:10 +00:00
BxFS
bf13b5ebc8 fix: burden/toil tasks threshold 0.9 -> 0.8 (#12087)
---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-03-05 18:42:09 +01:00
status102
81e1eb5660 fix: wpf开始唤醒任务在未选择官服/B服时,不再提供账号切换输入 2025-03-05 21:35:53 +08:00
status102
8419dc567e fix: wpf自动战斗-自动编队追加自定干员意外激活
fix #12077
2025-03-05 15:42:53 +08:00
status102
82b63a0c3e rft: Wpf基建任务序列化调整 (#12053)
* rft: Wpf基建任务序列化

* rft: 迁移遗漏的CustomInfrastEnabled
2025-03-04 16:48:50 +08:00
status102
a80d7bbc03 rft: Wpf唤醒任务序列化 2025-03-04 11:57:10 +08:00
status102
bc5e04e6b8 rft: Wpf关闭明日方舟任务序列化 2025-03-03 17:35:39 +08:00
uye
d131261dda chore: 外部通知邮件 html 支持颜色输出 2025-03-03 15:46:57 +08:00
status102
a1d49556d2 ci: nightly版本打包tag获取 (#12076) 2025-03-03 08:15:05 +01:00
status102
e6e6b3d486 fix: log rotate (#12025)
* fix: log rotate

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

* fix: ubuntu

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

* fix: counter

* fix: ubuntu

* fix: static lock

* perf: type

* perf: catch file error

* fix: 修复size计算错误

* revert: 还原阈值为64mb

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

* perf: 移除不必要的锁传递

* rft: 使用streambuf计数

* perf: rename & 移除未使用函数

* fix: platform diff

* perf: init

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-03-03 15:02:06 +08:00
status102
f82a3615b3 ci: release-nightly-ota在获取最近提交之前输出最新标签 2025-03-03 11:56:11 +08:00
Constrat
12ec6e3ca5 fix: remove duplicate strings (#12065) 2025-03-02 14:11:30 +01:00
status102
79097158e5 rft: wpf生息演算任务序列化 2025-03-02 11:51:19 +08:00
github-actions[bot]
36788ed6c7 chore: Auto Update Game Resources - 2025-03-01
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13604799527

[skip changelog]
2025-03-01 12:33:08 +00:00
BxFS
a74b0e23de fix: Sarkaz MS unable to progress from post StartExplore (#12039)
---------

Signed-off-by: Constrat <56174894+Constrat@users.noreply.github.com>
Co-authored-by: HX3N <scarlet7518@gmail.com>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-03-01 13:12:17 +01:00
BxFS
eaa85466e3 fix: stuck on StageEnterBattleAgain while in team selection screen (#12059) 2025-03-01 11:53:38 +01:00
uye
d6cab77a7b fix: smtp 格式 2025-03-01 10:38:04 +08:00
uye
a12ea44824 chore: smtp 通知使用 html 2025-03-01 10:05:46 +08:00
github-actions[bot]
4d3124aadb chore: Auto Update Game Resources - 2025-02-28
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13592914800

[skip changelog]
2025-02-28 17:05:52 +00:00
github-actions[bot]
5a4fe8ce43 chore: Auto Update Game Resources - 2025-02-28
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13583098168

[skip changelog]
2025-02-28 07:06:36 +00:00
HY
5f1abee203 chore: add sami investigation equipment text and temporary retreat template (#12046)
* chore: add investigation equipment and temporary retreat for sami  (txwy)

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

* chore: KR add template and ocrReplace

* chore: JP template and ocrReplace

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: HX3N <scarlet7518@gmail.com>
Co-authored-by: ManicSteiner <manicsteiner@outlook.com>
2025-02-28 11:47:29 +08:00
uye
6070861ed2 fix: 「滋味」主题在有多个 badge 时无法识别基建入口 (#12057)
如下图所示,现将以 `[935, 570, 130, 75]` 为 roi 进行截图。

![screenshot_20250228_084434
copy](https://github.com/user-attachments/assets/6548649e-4476-4beb-be49-ab83712e2c05)

测试结果如下:
```
[2025-02-28 09:03:59.670][TRC][Px1c6e][Tx824b] ││││ match_templ | EnterInfrastDelicious.png score: 0.993298 rect: [ 935, 570, 130, 75 ] roi: [ 930, 540, 230, 180 ]
```

倘若未来有用户遇到模版识别分过低的问题,可以考虑裁减掉此模版的左侧。请务必保留字母 “B”。
2025-02-28 09:47:52 +08:00
pre-commit-ci[bot]
4923cf0277 chore: Auto update by pre-commit hooks [skip changelog] 2025-02-27 22:12:46 +00:00
Weiyou Wang
834d55a156 fix: 「滋味」主题在有多个 badge 时无法识别基建入口 2025-02-28 09:06:35 +11:00
Roland125
49d9af722e fix: 修复公招的几个问题 (#12056)
* fix: 修复不自动招募4星干员时,执行空招募的问题

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

* fix: 修改is_calc_only_task()的判断条件,避免正常招募流程的一种情形(所有星级都不执行招募)被错判为仅公招计算。从公招计算启动招募时,加入-1作为标识。
fix: 在正常招募流程中,自动招募1星时,将1星也加入comfirm_level

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-27 21:27:55 +08:00
Roland125
ecb098e65c fix: 修复不自动招募4星干员时,会执行空招募的问题 (#12054)
* fix: 修复不自动招募4星干员时,执行空招募的问题

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-27 19:54:12 +08:00
Rbqwow
55c1391afc docs: 更新开发前须知 (#12043)
* docs: update en-us development

* docs: update other language

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

* fix: typo

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-27 14:19:26 +08:00
Constrat
35b1ce3d1d tools: add ignore template
[skip changelog]
2025-02-26 14:34:42 +01:00
github-actions[bot]
e61c61679d chore: Auto Update Game Resources - 2025-02-26
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13542431504

[skip changelog]
2025-02-26 11:06:27 +00:00
github-actions[bot]
6737e8b958 chore: Auto Templates Optimization
Triggered by 520819a8c2

[skip changelog]
2025-02-26 10:50:23 +00:00
status102
520819a8c2 perf: 基建会客室信息板无新访客时,不再进入领取页 2025-02-26 18:48:52 +08:00
uye
8e36b6b0ea style: 格式化
[skip changelog]
2025-02-26 14:39:09 +08:00
uye
05edea23b5 chore: 猫猫改为全局 2025-02-26 14:36:02 +08:00
status102
f933d7a605 fix: 自动战斗追加自定义干员序列化 2025-02-26 14:25:42 +08:00
uye
836e26cb55 Release v5.14.0-beta.3 (#12040) 2025-02-26 12:35:30 +08:00
github-actions[bot]
375daa1d13 docs: Auto Update Changelogs of v5.14.0-beta.3 (#12041)
* docs: Auto Generate Changelog of Release v5.14.0-beta.3

* docs: changelog

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[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-02-26 12:29:56 +08:00
uye
cc7df9d88b fix: 尝试修复启动时不显示ui 2025-02-26 11:16:54 +08:00
status102
3f20295c89 fix: YoStarEN 肉鸽开局分队界面检测ROI扩大 2025-02-26 09:33:07 +08:00
status102
8b1f4ab24d fix: 自动战斗移除点赞时判断作业是否来自云端 2025-02-26 09:31:08 +08:00
status102
e709445fb8 perf: 移除未使用的变量
[skip changelog]
2025-02-26 09:30:06 +08:00
Constrat
fd6c8c2742 docs: update english schema 2025-02-25 21:52:32 +01:00
Rbqwow
6872945e32 fix: typo
[skip changelog]
2025-02-26 00:50:02 +08:00
MistEO
14ee103e19 Revert "ci: 临时措施" (#12033) 2025-02-25 23:20:37 +08:00
github-actions[bot]
589bc60267 chore: Auto Templates Optimization
Triggered by 05c8f3728c

[skip changelog]
2025-02-25 15:03:15 +00:00
MistEO
05c8f3728c Release v5.14.0-beta.2 (#12007) 2025-02-25 22:49:25 +08:00
Constrat
ecd148149e chore: 7a9c5a9f2d for YoStarEN 2025-02-25 15:49:13 +01:00
github-actions[bot]
9ccdd9884a chore: Auto Update Game Resources - 2025-02-25
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13523913630

[skip changelog]
2025-02-25 14:44:59 +00:00
status102
7597fd7a20 docs: chaneglog 2025-02-25 22:44:37 +08:00
github-actions[bot]
d004729626 docs: Auto Update Changelogs of v5.14.0-beta.2 (#12008)
* docs: Auto Generate Changelog of Release v5.14.0-beta.2

* docs: changelog

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2025-02-25 22:41:36 +08:00
BxFS
7a9c5a9f2d fix: 萨米第二次调查装备获取+萨米暂时撤退适配 (#12030)
fix: choose any device and MissionFailedFlag3 for sami DE/DI
2025-02-25 22:32:34 +08:00
github-actions[bot]
83c45934af chore: Auto Templates Optimization
Triggered by 4c8d57cca9

[skip changelog]
2025-02-25 14:31:48 +00:00
Constrat
4c8d57cca9 fix: retake Mizuki IS recruit templates
try to fix triple recruit issue
2025-02-25 15:31:16 +01:00
晓丶梦丶仁
5aa8f17670 docs: 两次大写 Reapply
[skip changelog]
2025-02-25 22:27:38 +08:00
BxFS
76e59348b2 fix: 月度小队/深入调查未启用自动切换会以当前游戏模式开始探索 (#12032)
fix: MS/DE now switch to correct tabs even without autoiterate ticked
2025-02-25 22:23:19 +08:00
uye
931a136d5c feat: ExternalNotification 可选输出详细信息 (#12020)
* feat: ExternalNotification 可选输出详细信息

* i18n: 添加翻译

* feat: 任务出错时额外通知

* chore: 尝试将换行替换成`<br>`

* fix: <br> 不生效
2025-02-25 22:21:08 +08:00
uye
7e2d61d788 feat: 猫猫 (#12017) 2025-02-25 22:20:50 +08:00
status102
16c47f466b fix: 肉鸽深入调查没有指挥分队可选时,随机选择分队跳过干员招募
fix #12016
2025-02-25 21:40:27 +08:00
status102
2ee0114b14 perf: 自动战斗列表非即时添加作业时,使用已读取的缓存替代读取文件 2025-02-25 20:01:26 +08:00
status102
2d3947ecd1 perf: 肉鸽任务参数禁止运行期修改 2025-02-25 20:01:26 +08:00
uye
d69b7e3e49 chore: MirrorChyanCdk 添加 Placeholder 2025-02-25 18:19:27 +08:00
status102
d9256650b7 rft: Wpf自动战斗作业序列化调整 2025-02-25 16:38:01 +08:00
status102
e7fb41f56f perf: 合并视频任务判断 2025-02-25 16:37:55 +08:00
github-actions[bot]
ff007306fc chore: Auto Update Game Resources - 2025-02-25
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13513664757

[skip changelog]
2025-02-25 04:29:49 +00:00
status102
fe362d09fc rft: Wpf自动战斗任务序列化 2025-02-25 10:55:48 +08:00
MistEO
206352a8e6 ci: fix sync-resource git config 2025-02-25 00:01:25 +08:00
status102
faff79e9c6 feat(wpf): Wpf旧Config增加int读取 (#11987) 2025-02-24 23:38:51 +08:00
uye
7a34a175e6 chore: 添加强制使用 Github 进行版本更新 2025-02-24 23:34:11 +08:00
status102
aac930bdb4 rft: 移动截图耗时显示位置以避免产生GPU加速截图的误导 2025-02-24 23:31:35 +08:00
status102
de3e1cf0ba fix: 自动战斗保全作业地图存在性判断 2025-02-24 22:21:13 +08:00
status102
75c71a90d5 feat: 基建收取会客室周限300信用 (#12014)
* feat: 基建收取会客室周限300信用

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

* chore(tools): add templates to ignore list

* fix: stack overflow

* fix: pipeline

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

* fix: 动画延迟+roi

* fix: 动画加加retry

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-02-24 21:21:47 +08:00
status102
baad476f38 perf: 自动战斗任务类型校验补充
[skip changelog]
2025-02-24 19:54:07 +08:00
status102
94cb4f8f7f rft: Wpf自动战斗重构 (#11977)
* chore: 自动战斗一般作业model

* chore: 自动战斗保全作业model

* chore: 作业model增加输出提示

* rft: 拆分IO

* rft: 重构作业解析、作业集添加

perf: 简化CouldLikeWebJson

rft: 单个作业添加到作业集

perf: 优化作业添加,启动时校验地图是否存在

perf: 优化作业集加载时输出

rft: 移除废弃参数

fix: 作业集作业缓存写入加锁

chore: 简单挪个位置

rft: 整理一下函数

rft: 战斗列表序列化重构优化

chore: 修改log输出位置

chore: func rename & const declare

fix: 批量导入未标注难度的作业时,将按照普通难度追加

fix: 浏览列表中作业时重复添加

chore: 移除未使用变量

fix: 移除重复显示作业详情

fix: 自动战斗作业保存重复导致覆盖

fix: 修复加载作业时解析返回值错误

* rft: 更改战斗列表中任务的缓存路径
2025-02-24 19:29:33 +08:00
github-actions[bot]
4154184fb4 chore: Auto Update Game Resources - 2025-02-24
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13493432898

[skip changelog]
2025-02-24 08:08:50 +00:00
Constrat
e1860299f7 fix: fast forward text in encounter (#12021) 2025-02-24 08:32:20 +01:00
AnnAngela
d49eea9fbd ci: 临时措施 (#12024) 2025-02-24 10:20:27 +08:00
MistEO
3171c8a84c ci: perf mirrorchyan uploading 2025-02-24 00:52:49 +08:00
晓丶梦丶仁
ab1c6e1c13 perf: IS3 度假村冤魂 防爆桩
Fix #7768
2025-02-23 18:58:43 +08:00
晓丶梦丶仁
6b594d31f4 perf: IS2 精酿杀手 防爆桩
Fix #12012
2025-02-23 18:55:15 +08:00
Rbqwow
c93302501e docs: 此AI非彼AI (#12005)
docs: 这规矩你早就懂的
2025-02-23 18:51:09 +08:00
晓丶梦丶仁
90ce95977b fix: IS2, IS3 支援起重机 缺失 2025-02-23 16:45:29 +08:00
github-actions[bot]
beac7446ff chore: Auto Templates Optimization
Triggered by 730a45d383

[skip changelog]
2025-02-23 03:52:02 +00:00
uye
730a45d383 fix: 「滋味」主题概率无法识别 2025-02-23 11:51:40 +08:00
Constrat
4077409448 tools: update ignore list of templates
[skip changelog]
2025-02-22 16:45:41 +01:00
MistEO
fa24231caf ci: use bot to commit for MaaResource 2025-02-22 12:31:40 +08:00
status102
2d648bf4cc fix: Wpf信用任务-OF-1战斗 修复未勾选刷理智时,仍判断刷理智关卡是否为当前/上次
link to #11996
2025-02-21 20:33:40 +08:00
晓丶梦丶仁
07f46ab421 fix: 肉鸽放弃战斗奖励后仍能识别到掉落 (#12000) 2025-02-21 20:13:22 +08:00
晓丶梦丶仁
d603bbc495 feat: IS4 extend2 事件 转机 2025-02-21 19:44:24 +08:00
uye
d3ca47d386 chore: 拆分 OF-1 与 访问好友回调显示 2025-02-21 19:08:23 +08:00
github-actions[bot]
43992af553 chore: Auto Update Game Resources - 2025-02-21
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13455490910

[skip changelog]
2025-02-21 11:06:04 +00:00
BxFS
73907eb807 fix: Monthly Squad for Global (#11993)
---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-02-21 11:57:15 +01:00
status102
e354e17266 perf: wpf自动战斗战斗列表序列化 2025-02-21 18:38:02 +08:00
status102
ca7563d9a2 fix: Wpf选中战斗列表作业时,作业内容重复显示 2025-02-21 18:32:34 +08:00
status102
5fef5b818e chore(wpf): 简单整理一下CopilotViewModel函数
[skip changelog]
2025-02-21 18:28:46 +08:00
status102
6670293ccd feat: Wpf地图查询 2025-02-21 18:28:45 +08:00
status102
e75717260b fix: Wpf地图信息MapInfo字段名更正 2025-02-21 18:28:45 +08:00
dragonheart107
edd46c8f79 chore: clarify different originium types and unify deep investigation in EN (#11995)
---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-02-21 11:03:03 +01:00
uye
e42a839828 fix: 会客室进入失败 (#11950)
* chore: 基建滑动后等待动画结束

* fix: office 进入失败后重试

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

* fix: lower case sleep

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2025-02-21 16:14:30 +08:00
status102
c8d60f65e0 docs: 作业协议补充难度字段 (#11980)
* docs: 作业协议补充难度字段

* i18n: 外文文档
2025-02-21 15:35:23 +08:00
BxFS
afe2165af6 fix: add an missing @ for MonthlySquadCommsBackTwice (#11991) 2025-02-21 10:12:40 +08:00
github-actions[bot]
ff83e07e69 chore: Auto Update Game Resources - 2025-02-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13443728393

[skip changelog]
2025-02-20 20:06:27 +00:00
MistEO
e40e7f08e3 chore: fix typo 2025-02-21 01:09:43 +08:00
MistEO
403579c512 chore: mirrorc with new tab 2025-02-21 01:08:12 +08:00
MistEO
b5a8792350 chore: 删除官网早就不能用了的镜像 2025-02-21 01:04:45 +08:00
Constrat
5d12a9f055 chore: more missing tasks for EN Sami IS
[skip changelog]
2025-02-20 17:14:22 +01:00
晓丶梦丶仁
aa3f472c37 fix: Mac 日服 IS4 识别阈值 (#11979)
fix: mac 日服 IS4 识别阈值
2025-02-20 22:58:36 +08:00
Manicsteiner
9b91ee760b fix: YostarJP IS4 计划耕种 (#11990) 2025-02-20 22:58:04 +08:00
uye
af4e6c1ad3 chore: 官网添加 MirrorChyan 下载链接
需要 html 高手,现在点查看全部会有一个丑陋的动画(
2025-02-20 22:57:45 +08:00
Constrat
5d09cacc6c tools: update MissingJsonTranslate
[skip changelog]
2025-02-20 15:56:57 +01:00
Constrat
7cd4fe3b4f fix: missing tasks for EN 2025-02-20 15:56:46 +01:00
MistEO
7b47443385 ci: 优化mirrorc上传,先传用户多的平台 2025-02-20 22:22:54 +08:00
status102
39e712cf51 fix: 生息演算Mode序列化类型
[skip changelog]
2025-02-20 20:26:23 +08:00
status102
96d725e88a fix: 生息演算Mode序列化类型
[skip changelog]
2025-02-20 19:53:23 +08:00
status102
fcaf4e442e fix: 生息演算Mode序列化类型 2025-02-20 19:52:28 +08:00
HX3N
daee3f88d2 fix: YostarKR Sarkaz CR Node recognition (#11986) 2025-02-20 20:31:19 +09:00
HX3N
8fd4cd8009 fix: YostarKR missing tasks (#11981) 2025-02-20 18:43:41 +09:00
github-actions[bot]
151608c57c chore: Auto Templates Optimization
Triggered by 27b7b59c4a

[skip changelog]
2025-02-20 09:12:02 +00:00
github-actions[bot]
27b7b59c4a chore: Auto Update Game Resources - 2025-02-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13431621324

[skip changelog]
2025-02-20 09:09:01 +00:00
github-actions[bot]
0d59ac68c0 chore: Auto Update Game Resources - 2025-02-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13431262956

[skip changelog]
2025-02-20 08:46:17 +00:00
HY
c166a21a8b chore: add missing tasks and template for txwy (#11985) 2025-02-20 09:38:36 +01:00
Constrat
f0ea039514 fix: typo in xaml themes for Idea Filter + i18n EN 2025-02-19 22:51:17 +01:00
Constrat
7d4ddba8df tools: more FindMissingJson
[skip changelog]
2025-02-19 22:50:49 +01:00
Constrat
7a820560c5 tools: update FindMissingJson
[skip changelog]
2025-02-19 22:37:01 +01:00
Constrat
3d495b1c21 fix: Missing EN Sarkaz tasks 2 2025-02-19 22:33:57 +01:00
Constrat
edc45943e2 fix: EN Sarkaz missing NextLevel task 2025-02-19 22:29:13 +01:00
github-actions[bot]
ea35873645 chore: Auto Update Game Resources - 2025-02-19
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13421376622

[skip changelog]
2025-02-19 20:06:38 +00:00
Constrat
62aad5a22b fix: EN replace Sguad with Squad 2025-02-19 14:23:20 +01:00
晓丶梦丶仁
876df6e005 fix: 狭路相逢遇到构想卡死 (#11970)
* fix: 狭路相逢遇到构想卡死

* perf: 更改头文件位置

* fix: empty image

* Revert "fix: empty image"

This reverts commit ae11bbf138.

* fix: asst::VisionHelper::correct_rect image is empty

* perf: 识别到构想后输出 trace log

* perf: Matcher, ProcessTask
2025-02-19 21:20:17 +08:00
status102
7b2ec0f967 rft: rename func name
[skip changelog]
2025-02-19 16:33:59 +08:00
status102
25155facf6 feat: 读取地图数据 (#11973) 2025-02-19 14:46:55 +08:00
晓丶梦丶仁
4186fb3080 docs: 更新文档 2025-02-19 14:26:19 +08:00
status102
ebb4b603a4 perf: 避免不必要拷贝
[skip changelog]
2025-02-19 13:07:10 +08:00
status102
3ae29ec453 fix: 移除肉鸽结算插件中的Matcher复用 2025-02-19 13:06:19 +08:00
status102
f3233b12db fix: 修复BattleHelper中的意外报错 2025-02-19 13:06:19 +08:00
晓丶梦丶仁
107c9d330c fix: IS4 绝境?抉择?ocr (#11969) 2025-02-19 10:49:18 +08:00
Constrat
45ae528f17 chore: ResourceUpdater to remove spaces from EN I.S. encounter
just like KR current logic but only for encounters
2025-02-18 17:42:36 +01:00
Constrat
ef2c721fd0 fix: EN remove all spaces from encounter and ignore spaces 2025-02-18 17:36:59 +01:00
github-actions[bot]
842e49cc86 chore: Auto Update Game Resources - 2025-02-18
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13394475345

[skip changelog]
2025-02-18 15:44:17 +00:00
Constrat
f080f55b88 fix: EN Sarkaz SelectTheme 2025-02-18 16:34:17 +01:00
status102
26d270a51a perf: 萨卡兹肉鸽负荷干员编入入口ROI拆分 (#11966)
* Reapply "chore: Auto Update Game Resources - 2025-02-18"

This reverts commit f55ea6b1f8.

* perf: 国服ROI缩小

* fix: 补充JP、KR的roi
2025-02-18 21:24:26 +08:00
晓丶梦丶仁
53f0807add feat: IS4 extend2 似是而非事件 (#11971) 2025-02-18 20:23:17 +08:00
Constrat
222ab9be7c Release v5.14.0-beta.1 (#11962) 2025-02-18 11:16:43 +01:00
晓丶梦丶仁
3bc44d3e0d docs: changelog
有神人改版号不改changelog
[skip changelog]
2025-02-18 16:47:03 +08:00
status102
54edd21f79 ci: 允许commit message以Reapply开始 (#11967) 2025-02-18 16:26:15 +08:00
github-actions[bot]
5cee25efee docs: Auto Update Changelogs of v5.13.2-beta.1 (#11968)
* docs: Auto Generate Changelog of Release v5.13.2-beta.1

* docs: update changelog.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2025-02-18 15:16:32 +08:00
晓丶梦丶仁
f8b417506a ci: Allow Reapply for pr names and commit names within pr 2025-02-18 15:00:27 +08:00
晓丶梦丶仁
f55ea6b1f8 Revert "chore: Auto Update Game Resources - 2025-02-18"
This reverts commit 8e63f60a6e.

Revert "revert c3d98ec8822fc41892c07f6b6caef5fd435fbc43"

This reverts commit 6d229c72fe.

Revert "fix: EN服萨卡兹肉鸽负荷干员icon ROI"

This reverts commit 77cc830feb.
2025-02-18 11:05:55 +08:00
github-actions[bot]
8e63f60a6e chore: Auto Update Game Resources - 2025-02-18
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13382298189

[skip changelog]
2025-02-18 02:55:16 +00:00
status102
77cc830feb fix: EN服萨卡兹肉鸽负荷干员icon ROI
f78deb7b93

PR #11921
2025-02-18 10:36:42 +08:00
status102
6d229c72fe revert c3d98ec882
PR #11921 相关,非预期的CN服资源修改
2025-02-18 10:29:02 +08:00
github-actions[bot]
66c59a3600 docs: Auto Update Changelogs of v5.13.2 (#11963)
* docs: Auto Generate Changelog of Release v5.13.2

* chore: Sarkaz IS for global

* fix: reordering

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-02-17 23:40:33 +01:00
HX3N
f147b89c2b fix: YostarKR updated the StartUpConnectingFlag template (#11960) 2025-02-17 22:26:50 +01:00
Constrat
9d9f3ea70c fix: Fix hidden floor Sarkaz EN
I have no idea where I even pulled off "Hermitage of Sv whatever"
2025-02-17 16:46:48 +01:00
Constrat
b2a458f547 typo: EN tasks
[skip changelo] [skip ci]
2025-02-17 16:42:21 +01:00
Constrat
cd7c6a54e0 feat: YostarEN I.S. modes (#11956) 2025-02-17 15:36:19 +01:00
github-actions[bot]
6f2f239e93 chore: Auto Update Game Resources - 2025-02-17
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13372516459

[skip changelog]
2025-02-17 14:29:00 +00:00
晓丶梦丶仁
d2c5a7d784 fix: EN 服 IS2 导航失效 (#11955) 2025-02-17 22:05:51 +08:00
晓丶梦丶仁
5d42b463c8 fix: 傀影肉鸽可以选择在第五层 BOSS 前暂停
Fix #11953
2025-02-17 21:51:14 +08:00
晓丶梦丶仁
bc7774de4d docs: 调整肉鸽文档 skill_usage 描述,尝试 json5 2025-02-17 21:27:17 +08:00
晓丶梦丶仁
de4af1518c perf: 调整IS4作战、招募 2025-02-17 21:27:17 +08:00
Manicsteiner
3ff11e072b feat: YostarJP Sarkaz roguelike (#11914)
* feat: YostarJP Sarkaz roguelike adaptation

* chore: add more template

* chore: StageBoskyPassageEnter

* chore: edits

* fix: unknown events

* fix: 戴冠式 ocr

weird
squash into 'fix: unknown event' if you want

* feat: IS 1~3 mode6&7

---------

Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2025-02-17 21:22:33 +08:00
晓丶梦丶仁
dd71224d63 perf: 肉鸽为识别错误的事件也添加 callback (#11946)
* perf: 为识别错误的事件也添加 callback

* perf: log.error、修改what内容

* i18n: KR translation

* i18n: JP translation

---------

Co-authored-by: HX3N <scarlet7518@gmail.com>
Co-authored-by: ManicSteiner <manicsteiner@outlook.com>
2025-02-17 21:20:38 +08:00
status102
d9c32d5b1e rft: Wpf重构自动公招任务序列化 (#11951) 2025-02-17 21:02:51 +08:00
Constrat
f78deb7b93 feat: YoStarEN Sarkaz roguelike (#11921)
---------
Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2025-02-17 10:54:19 +01:00
uye
1e3d5f28bd fix: StartupUpdateCheck 不生效 2025-02-17 16:36:03 +08:00
晓丶梦丶仁
0fab23f4e4 style: _updateCheck 位置
[skip changelog]
2025-02-17 16:09:27 +08:00
uye
c4c529f3a2 feat: SimpleEncryptionHelper 支持默认字符串 2025-02-17 12:57:10 +08:00
uye
ce4887435a chore: 加解密失败时通知 2025-02-17 11:17:24 +08:00
status102
004d6b4a9b chore: TaskData增加OcrTask的ocrReplace合法性检查 (#11878)
* chore: TaskData增加OcrTask的ocrReplace合法性检查

* docs: 加点注释
2025-02-17 09:25:44 +08:00
status102
efe5f33a22 rft: Wpf重构生息演算任务参数序列化 (#11916) 2025-02-17 09:23:06 +08:00
status102
3182eff718 rft: Wpf重构生息演算任务参数序列化
perf: 移除不必要的分隔符
2025-02-17 09:22:19 +08:00
status102
a4fbee3207 rft: 使用RecruitData代替ocrReplace的外服适配 (#11879)
* rft: use RecruitData instead of ocrReplace

* chore: tasks.json

* docs: 注释

* i18n: txwy tweak

* perf: 加载资源时缓存客户端对应语言的招募tag集

---------

Co-authored-by: momomochi987 <as99us301@gmail.com>
2025-02-17 09:14:27 +08:00
uye
9980536522 fix: 外服重复检查资源 (#11927)
fix #11925
2025-02-16 23:05:07 +08:00
github-actions[bot]
0b05cc5b17 chore: Auto Update Game Resources - 2025-02-16
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13355308934

[skip changelog]
2025-02-16 13:07:58 +00:00
晓丶梦丶仁
39707f70ac perf: 肉鸽难度选项降到18个 (#11934) 2025-02-16 21:06:50 +08:00
晓丶梦丶仁
596257122e perf: IS4 调整公害ew部署 (#11935)
perf: 撒卡字肉鸽调整公害ew部署
2025-02-16 21:06:32 +08:00
HX3N
92d53de182 feat: YostarKR Sarkaz roguelike (#11920)
* chore: add text and ocrReplace

* chore: Stage and Encounter

* chore: roguelike squad

* chore: img 1

* chore: remove space

* chore: img 2

* chore: tweak SelectTheme text

* chore: img 3

* chore: remove space

* chore: remove SpecialValRecognition

* chore: change template size

* chore: StageBoskyPassageEnter

* fix: incorrect template replacement

* i18n: 去伪存真

* i18n: tweak resource translation

* i18n: Roguelike seed and monthly

* i18n: tweak wrong translation

* fix: replace ChooseBurdenOperatorAtStart with a higher score image

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

* fix: StageRefresh roi

* fix: StageRefresh image

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

* fix: StageRefreshConfirm.png templ size

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

* fix: stagerefresh threshold

* fix: ChooseBurdenOperatorAtStart templThreshold

* fix: 纯烬艾雅法拉 ocrReplace

* i18n: 专业人士分队

I keep making mistakes because I'm drunk :P

* fix: remove $ from 相遇 ocrReplace

and replace , > .

* i18n: tweak Endpoint translation

---------

Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-16 22:05:12 +09:00
晓丶梦丶仁
65a290f447 feat: Sarkaz extend II 专业人士分队 (#11938)
feat: 萨卡兹内容拓展II 专业人士分队
2025-02-16 12:11:00 +08:00
晓丶梦丶仁
76ea0d34e7 ci: issue-checker roguelike label
[skip changelog]
2025-02-16 11:46:50 +08:00
Constrat
ded67fe648 feat: remove spaces for all ocrReplaces for KR + various optimizations (#11926)
* feat: remove spaces for all ocrReplaces for KR + various optimizations

* fix: kr path
2025-02-15 19:58:31 +01:00
Constrat
ffdd316a67 tools: ImageCoordinate cursor tweak 2025-02-15 15:18:44 +01:00
uye
35058aa56e chore: 优化日志输出 2025-02-15 19:49:53 +08:00
uye
3bd7f05694 perf: 热键支持 Windows 键
fix #11922
2025-02-15 11:56:27 +08:00
Constrat
51f2758f7a tools: allow sarkaz in OverseasClient missing
[skip changelog]
2025-02-14 21:47:53 +01:00
BxFS
70a1b34c3a fix: 支持肉鸽特定模式下跳过选队直接选人 (#11915)
fix: provision for certain roguelike mode without RolesDefault and go straight into RecruitMain, like sami.DE.8
2025-02-14 23:55:23 +08:00
Constrat
746d3a514c ci: try to fix pre commit using an updated fork (#11917)
---------

Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2025-02-14 15:07:18 +01:00
晓丶梦丶仁
5e7dd5eeff ci: disable prettier 2025-02-14 22:00:04 +08:00
status102
16022bcc2d fix: Log Rotate 临时性检查措施 (#11835)
* fix: Log Rotate 增加任务开始时主动检查

* feat: Log Rotate 增加肉鸽每轮探索开始时主动检查

* perf: 移除TaskChain单任务结束后检查
2025-02-14 21:35:14 +08:00
status102
952b1b2f34 rft: 重构任务id保存,支持保存多个同类型任务 2025-02-14 21:22:56 +08:00
Roland125
06a01c257e fix: 3星招募逻辑修复 (#11913)
* fix: 3星招募逻辑修复
2025-02-14 20:04:31 +08:00
MistEO
01900aa7ba Release v5.13.1 (#11911) 2025-02-14 19:58:01 +08:00
晓丶梦丶仁
9d5c5266a4 fix: JP 事件译名重复 (#11910) 2025-02-14 19:44:08 +08:00
status102
172dd92636 chore: typo 2025-02-14 19:37:38 +08:00
github-actions[bot]
7a567a967e docs: Auto Update Changelogs of v5.13.1 (#11912)
* docs: Auto Generate Changelog of Release v5.13.1

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2025-02-14 19:35:07 +08:00
Constrat
d09899fb68 ci: missing style output in res-update logging 2025-02-14 12:26:05 +01:00
status102
ec3bd9b48b Revert "perf: 自动战斗BattleStartPre任务合并理智药检测"
This reverts commit d54c408769.
2025-02-14 19:15:02 +08:00
github-actions[bot]
242f165c5c chore: Auto Update Game Resources - 2025-02-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13327901721

[skip changelog]
2025-02-14 11:05:51 +00:00
uye
091d3b0f70 chore: 删除多余 Update
[skip changelog]
2025-02-14 19:01:01 +08:00
uye
c4aafe3dd3 fix: 标题栏不会随资源重载更新 2025-02-14 18:56:52 +08:00
status102
0ec33a46d5 fix: 肉鸽职业组
fix #11901
2025-02-14 18:37:06 +08:00
uye
05812c394e Revert "fix: 修复招募功能中的逻辑漏洞,并添加相应的测试函数 (#11898)"
This reverts commit 40ad3c429c.
2025-02-14 18:33:27 +08:00
github-actions[bot]
f1c27399a3 chore: Auto Update Game Resources - 2025-02-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13327319832

[skip changelog]
2025-02-14 10:29:16 +00:00
uye
72b9d6b983 fix: 资源重载后资源版本界面显示仍为旧版本 2025-02-14 17:42:29 +08:00
晓丶梦丶仁
789884b41c perf: 水月肉鸽开端事件选择 3-3 2025-02-14 17:40:21 +08:00
MistEO
c3478fd090 ci: temp update resource token
急急急,先改了用着。回头看看换成哪个正确的
2025-02-14 16:46:47 +08:00
github-actions[bot]
8abd69a723 chore: Auto Templates Optimization
Triggered by ff1281e386

[skip changelog]
2025-02-14 08:44:27 +00:00
github-actions[bot]
ff1281e386 chore: Auto Update Game Resources - 2025-02-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13325573436

[skip changelog]
2025-02-14 08:43:37 +00:00
AnnAngela
066b844b8e chore: Update CHANGELOG.md 2025-02-14 15:34:30 +08:00
AnnAngela
c425c79d2b chore: Update CHANGELOG.md 2025-02-14 15:34:11 +08:00
uye
f44b11dfc9 Release v5.13.0 (#11896) 2025-02-14 15:30:51 +08:00
github-actions[bot]
927ad515ab docs: Auto Update Changelogs of v5.13.0 (#11897)
* docs: Auto Generate Changelog of Release v5.13.0

* docs: changelog

* docs: changelog

* feat: Update CHANGELOG.md

* feat: Update CHANGELOG.md

* feat: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
Co-authored-by: AnnAngela <naganjue@vip.qq.com>
2025-02-14 15:30:31 +08:00
Hao Guan
53e1d93352 docs(mac): PlayCover分辨率提示 2025-02-14 14:55:34 +08:00
uye
3ce1cd520f perf: 使用海外源时也通过 mirrorc 检测是否为最新资源,但如果为其他返回值时仍然更新 2025-02-14 14:30:58 +08:00
status102
4df531e749 revert: 4481710605 (#11900)
移除种子刷钱相关业务逻辑入口
2025-02-14 13:35:31 +08:00
status102
e3a21d50ba fix: 自动战斗使用技能keep_waiting情况下在离开战斗、中止任务时无法中断 2025-02-14 12:33:26 +08:00
status102
6cf98066ac Revert "fix: use_skill 在按下停止按钮后不退出 (#11761)"
This reverts commit c94a0b546a.
2025-02-14 12:33:26 +08:00
Roland125
40ad3c429c fix: 修复招募功能中的逻辑漏洞,并添加相应的测试函数 (#11898)
* fix: 修复招募功能中的逻辑漏洞,并添加相应的测试函数

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-14 10:47:54 +08:00
status102
9b8f92f0f7 revert: 4481710605 2025-02-14 09:49:41 +08:00
uye
89102a1e86 fix: 重复添加干员信息
fix #11895
2025-02-14 09:29:09 +08:00
MistEO
77b5187fd3 chore: remove mirrorchyan line2 2025-02-14 02:19:37 +08:00
Manicsteiner
a4e54a3c7f fix: YostarJP OCR (#11884) 2025-02-13 11:16:43 +01:00
Constrat
1844845d1c ci: remove validator scripts because stale 2025-02-13 10:47:37 +01:00
uye
bbef238e61 chore: 优化肉鸽难度显示 2025-02-13 17:23:03 +08:00
MistEO
47443ef810 Release v5.13.0-beta.8 (#11880) 2025-02-13 15:43:09 +08:00
github-actions[bot]
634c7c6917 docs: Auto Update Changelogs of v5.13.0-beta.8 (#11881)
* docs: Auto Generate Changelog of Release v5.13.0-beta.8

* docs: changelog

* docs: changelog

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2025-02-13 15:42:13 +08:00
Constrat
eeb0b78328 feat: script to update version.json (#11875)
* chore: do not modify version.json time in cpp

* feat: add version time updater script

* chore: add version.ps1 to workflow

* feat: implement previous logic from validator.ps1

* feat: add version bool for update-resources

* fix: wrong condition on OTA step
2025-02-13 14:24:47 +08:00
Weiyou Wang
a9032e22a7 fix: YostarJP OCR mismatched parenthesis (#11877)
* fix: mismatched parenthesis

* fix: 换个和之前更接近的版本
2025-02-13 14:10:30 +08:00
BxFS
361256bdf0 fix: 月度小队模式不再试图提前离开肉鸽 (#11872)
fix: monthly squad mode no longer try to leave early
2025-02-13 13:07:29 +08:00
萨拉托加
33811962fe chore: 简化干员名正则 (#11876)
国服也简化一下?照着改的
2025-02-13 12:16:08 +08:00
status102
4a007f497c docs: 自动招募添加少量注释
[skip changelog]
2025-02-13 12:15:49 +08:00
status102
34124cc037 feat!: 自动战斗不再允许使用带TR的导航关卡名禁用自动编队,改为自动检测 (#11868)
* fix: 自动战斗不再允许使用带TR的导航关卡名禁用自动编队,改为自动检测

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-13 09:49:44 +08:00
MistEO
c5d36d0bf9 chore: 修改mirrorc线路 2025-02-13 01:25:09 +08:00
github-actions[bot]
76c315882d chore: Auto Update Game Resources - 2025-02-12
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13290844408

[skip changelog]
2025-02-12 17:06:11 +00:00
Constrat
6d99a935d9 i18n: missing spaces after 「」
[skip changelog] [skip ci]
2025-02-12 18:02:45 +01:00
Constrat
334e99026d i18n: missing strings from zh-cn 2025-02-12 17:59:50 +01:00
uye
a8d68dd72d chore: 简化干员名正则 2025-02-13 00:53:06 +08:00
uye
39fdfac0c1 chore: 资源更新后重载 BattleData (#11874) 2025-02-12 21:47:38 +08:00
Constrat
687ebe8827 style: validator.ps1 improved logging 2025-02-12 13:21:50 +01:00
Constrat
dd6aeee59c feat: bypass update resources in formatting cases (#11867) 2025-02-12 12:59:16 +01:00
status102
559c588472 rft: WpfGui引入AsstTaskType代替硬编码 (#11856)
rft: AsstTaskType
2025-02-12 19:44:43 +08:00
uye
96ce68340d perf: 资源更新后无需重启,优化手动更新逻辑 (#11857)
* perf: 资源更新后无需重启,优化手动更新逻辑

* chore: 添加注释

* chore: 重复触发更新时提前返回
2025-02-12 17:51:26 +08:00
BxFS
538f734cc8 fix: Roguelike InitialDrop: SquadDefault -> Squad-EnterPoint (#11870)
fix: Roguelike InitialDrop: Roguelike SquadDefault -> Roguelike Squad-EnterPoint
2025-02-12 17:44:48 +08:00
github-actions[bot]
b321264add chore: Auto Update Game Resources - 2025-02-12
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13280763199

[skip changelog]
2025-02-12 08:08:09 +00:00
status102
383a3ee34f fix: 肉鸽开局无法选择指挥分队时放弃探索 (#11847)
* fix: 肉鸽开局无法选择指挥分队时放弃探索

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

* fix: 无法选择指挥分队时,随机选一个

* chore: YoStarEN `Squad-EnterPoint`

* chore: 增大EN服roi

* chore: txwy

* chore: jp

* chore: kr

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-02-12 15:58:02 +08:00
Hao Guan
b085aa2d80 chore(mac): MirrorChyan域名 2025-02-12 15:16:41 +08:00
Hao Guan
6b52105797 feat(mac): 肉鸽参数配置新参数 (#11866) 2025-02-12 08:50:32 +08:00
github-actions[bot]
819b74e8ee chore: Auto Update Game Resources - 2025-02-11
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13271545330

[skip changelog]
2025-02-11 20:06:48 +00:00
github-actions[bot]
1e2ded6dde chore: Auto Update Game Resources - 2025-02-11
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13266778500

[skip changelog]
2025-02-11 15:44:29 +00:00
HY
7b78e0762e chore: 繁中服「巴別塔」活動導航 (#11863)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-11 16:36:20 +01:00
status102
632ff2b027 fix: 自动编队干员选择错误 2025-02-11 21:41:37 +08:00
status102
7799d94699 fix: 自动编队错误
[skip changelog]

fix #11859
2025-02-11 21:29:13 +08:00
status102
d61a7b5e5d perf: MaaCore PackageTask中未进入的subtask将不再输出log (#11783)
perf: 未进入的subtask将不再输出log
2025-02-11 18:27:13 +08:00
status102
d54c408769 perf: 自动战斗BattleStartPre任务合并理智药检测 2025-02-11 14:33:43 +08:00
status102
8ce492dbae fix: Wpf自动战斗无法连接到模拟器后不能自动停止 2025-02-11 14:33:35 +08:00
github-actions[bot]
6985a93b59 chore: Auto Update Game Resources - 2025-02-11
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13256885880

[skip changelog]
2025-02-11 06:08:22 +00:00
github-actions[bot]
7b737a85f9 chore: Auto Update Game Resources - 2025-02-11
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13256477009

[skip changelog]
2025-02-11 05:28:38 +00:00
uye
f3f6dd40f1 chore: 修改 MirrorChyan 官网链接 2025-02-11 13:16:34 +08:00
Manicsteiner
c350b62cd2 feat: YostarJP Sarkaz roguelike preload (#11850) 2025-02-11 12:03:47 +08:00
晓丶梦丶仁
0e95ef2192 chore: issue_template bug-report Version 处添加提示 (#11848)
* chore: issue_template bug-report Version 处添加提示

* style: 空格
2025-02-11 12:02:40 +08:00
status102
aaa6aa35bc rft: Wpf肉鸽任务RoguelikeMode参数类型改为int (#11821)
* rft: Wpf肉鸽任务RoguelikeMode参数类型改为int

* fix: UI同步
2025-02-11 11:02:40 +08:00
status102
7b3ba914de perf: 肉鸽投资在同一局内投资系统错误后不再进入投资插件 (#11826) 2025-02-11 11:01:02 +08:00
MistEO
7b547ed88c ci: add retry for macui (#11817)
* ci: add retry for macui

---------

Co-authored-by: Hao Guan <10684225+hguandl@users.noreply.github.com>
2025-02-11 10:51:36 +08:00
dependabot[bot]
7367e9c4e8 ci: bump apple-actions/download-provisioning-profiles from 1 to 3 in /.github/workflows in the github-actions group (#11849)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-11 09:30:01 +08:00
status102
6013c42cd4 Revert "fix: 肉鸽未提供指挥分队时用OCR随便选一个 (#11843)"
This reverts commit fe2dfe1d65.
2025-02-10 19:50:00 +08:00
Constrat
95aa8c9560 i18n: various english tweaks
[skip changelog]
2025-02-10 12:47:59 +01:00
MistEO
d6cf18bd5c chore: update mirrorc tips (#11832)
* chore: update mirrorc tips

* chore: tips翻译调整

* i18n: 修改翻译

* chore: 统一tips

* chore: update cn tips

* chore: 调整 enum 命名

* i18n: 调整翻译

* chore: 调整 UpdateSettings 中文翻译

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-02-10 19:35:17 +08:00
status102
f1ab78279e chore: 上调MaaCore Log Rotate阈值为64MB (#11834) 2025-02-10 17:38:13 +08:00
status102
122f6dfc60 rft: Wpf公告存储拆分 (#11825)
* rft: Wpf公告存储拆分

* rft: 拆分中英公告
2025-02-10 16:20:52 +08:00
status102
dd7517fb67 perf: 自动战斗自动编队在选择职业前编入非干员组干员 (#11830) 2025-02-10 15:44:13 +08:00
status102
656256dc66 fix: null check (#11831)
[skip changelog]
2025-02-10 15:38:18 +08:00
status102
aa4bd03e38 rft: 肉鸽局内参数重构遗留 (#11829)
trader_no_longer_buy & team_full_without_rookie
2025-02-10 15:35:26 +08:00
status102
888a39837d fix: 移除账号切换中不必要的任务 (#11820)
beabba92e3
2025-02-10 15:32:39 +08:00
status102
81b8fa2114 fix: Wpf公告内容显示错误显示为上次内容 (#11824) 2025-02-10 15:31:42 +08:00
status102
83804a7668 docs: 肉鸽参数注释
team_full_without_rookie
2025-02-10 14:46:18 +08:00
BxFS
fe2dfe1d65 fix: 肉鸽未提供指挥分队时用OCR随便选一个 (#11843)
* fix: SquadBackup for situations missing SquadDefault

* refactor: redundant SquadBackup
2025-02-10 14:35:50 +08:00
uye
32d519b272 i18n: 添加翻译 2025-02-09 17:18:48 +08:00
uye
71a2e7f619 chore: 优化界面布局与翻译 2025-02-09 16:57:39 +08:00
uye
38f22e2aa0 chore: DidYouBuyWine 先给注释掉了,41看看有啥活
[skip changelog]
2025-02-09 14:07:18 +08:00
uye
4390ec12b5 chore: MaaVersionClick 的 EasterEggs丢了
[skip changelog]
2025-02-09 12:07:43 +08:00
uye
9a138670c3 chore: 等待延迟前打个日志 2025-02-09 10:23:28 +08:00
status102
39b03e4720 fix: Wpf公告内容显示错误显示为上次内容 2025-02-09 09:36:35 +08:00
status102
8b6cb46655 chore: using (#11823)
[skip changelog]
2025-02-09 08:50:01 +08:00
MistEO
7969378335 ci: fix ci name 2025-02-09 02:52:26 +08:00
uye
547b95a473 Release v5.13.0-beta.7 (#11807)
刷理智最后一次上报失败可能会直接崩溃
2025-02-09 02:29:55 +08:00
github-actions[bot]
13a549a015 docs: Auto Update Changelogs of v5.13.0-beta.7 (#11814)
* docs: Auto Generate Changelog of Release v5.13.0-beta.7

* 更新 CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-02-09 02:26:09 +08:00
uye
2e707458c7 chore: 添加翻译 2025-02-09 02:16:12 +08:00
MistEO
79465ac833 ci: force trigger mirrorchyan release note 2025-02-09 02:12:57 +08:00
uye
ef78c399b9 chore: 取消更新源选择框 2025-02-09 02:05:06 +08:00
MistEO
918ecba24e ci: Create mirrorchyan_release_note.yml (#11816) 2025-02-09 01:44:16 +08:00
MistEO
86663ad2d2 feat: update maa self by mirrorc (#11812)
* feat: update maa self by mirrorc

* refactor: 调整代码

* chore: miss await

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-02-09 01:27:33 +08:00
MistEO
59af6900ad ci: force trigger mirrorc for release 2025-02-09 00:38:01 +08:00
uye
c9e257ea1a chore: debug 不检查资源更新
[skip changelog]

close #11802
2025-02-08 22:30:59 +08:00
Constrat
eaac213d4f docs: change gamedata repo 2
[skip changelog]
2025-02-08 15:21:11 +01:00
Constrat
67a8c4860d docs: change gamedata repo 2025-02-08 15:20:04 +01:00
status102
c47e48a9b6 fix: 肉鸽开局烧水奖励领取失败 2025-02-08 20:09:52 +08:00
status102
f9399fc1d9 rft: Wpf肉鸽任务界面主题参数调整 2025-02-08 19:21:30 +08:00
status102
61db62b21d Revert "rft: 任务执行期间Log Rotate增加检查,并上调阈值至64MiB (#11670)"
This reverts commit 027aaea799.

Revert "fix: rotate_check 位置错误"

This reverts commit 463b4a02ea.

Revert "chore: 单独为肉鸽添加日志检查"

This reverts commit 6342391243.

Revert "chore: 移除过于消耗性能的检查"

This reverts commit 918cebcaf0.

fix #11801
2025-02-08 19:20:44 +08:00
Hao Guan
a1b8c0d103 feat(mac): 开始唤醒支持账号切换 (#11803) 2025-02-08 18:52:42 +08:00
晓丶梦丶仁
a6f99a3e4d chore: issue 模板 将阅读提醒提至 label (#11804)
* chore: issue 模板 将阅读提醒提至 label

* Update .github/ISSUE_TEMPLATE/cn-bug-report.yaml

Co-authored-by: 萨拉托加 <151550168+Saratoga-Official@users.noreply.github.com>

---------

Co-authored-by: 萨拉托加 <151550168+Saratoga-Official@users.noreply.github.com>
2025-02-08 18:00:46 +08:00
uye
72ac9f094d chore: 启动弹出公告前检查内容是否为空 2025-02-08 15:33:09 +08:00
uye
463b4a02ea fix: rotate_check 位置错误 2025-02-08 15:22:00 +08:00
MistEO
6342391243 chore: 单独为肉鸽添加日志检查 2025-02-08 14:48:20 +08:00
MistEO
918cebcaf0 chore: 移除过于消耗性能的检查 2025-02-08 14:36:53 +08:00
MistEO
f455f1425b revert: "fix: 修复上传卡住的问题"
This reverts commit 0d82b1a976.
2025-02-08 14:24:18 +08:00
github-actions[bot]
9e6192db8c chore: Auto Update Game Resources - 2025-02-08
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13211117921

[skip changelog]
2025-02-08 01:52:10 +00:00
Constrat
d690ecd363 chore: remove duplicates in tasks for global 2025-02-07 20:52:57 +01:00
github-actions[bot]
5420d33c7d chore: Auto Update Game Resources - 2025-02-07
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13206816100

[skip changelog]
2025-02-07 19:38:57 +00:00
Constrat
72355204fc refactor: switch gamedata repos for workflow (#11799)
* refactor: switch gamedata repos for workflow

* refactor: switch gamedata repos for workflow fix

* fix: I'm stupid

* fix: main.cpp resource updater

* ci: fix ps1 script

* fix: I'm stupid 2
2025-02-07 20:35:45 +01:00
HX3N
4e3a0351d6 chore: add missing text for YostarKR (#11798) 2025-02-08 02:22:42 +08:00
github-actions[bot]
b281c993e0 chore: Auto Update Game Resources - 2025-02-07
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13205480241

[skip changelog]
2025-02-07 18:07:49 +00:00
Constrat
34acb5b739 chore: add missing text for YostarEN 2025-02-07 18:48:02 +01:00
uye
038789f301 feat: 自动战斗遇到不支持的关卡时尝试检测资源版本更新 2025-02-08 01:46:43 +08:00
uye
5f784bdf41 chore: 调整界面 2025-02-08 01:19:04 +08:00
uye
9e81a4cc4f Release v5.13.0-beta.6 (#11786) 2025-02-08 00:41:44 +08:00
github-actions[bot]
e23b0b4d2b docs: Auto Update Changelogs of v5.13.0-beta.6 (#11791)
* docs: Auto Generate Changelog of Release v5.13.0-beta.6

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-02-08 00:40:36 +08:00
晓丶梦丶仁
ba7f837c3f fix: KR 黑角 OCR (#11794) 2025-02-07 23:29:42 +08:00
Constrat
28e9076e82 fix: border not displaying for http proxy in versionupdatesettings 2025-02-07 15:44:52 +01:00
晓丶梦丶仁
32f80411a8 fix: JP 塑心 OCR (#11792) 2025-02-07 20:21:07 +08:00
Constrat
21cd004974 feat: Paradox Simulation update UI for YoStar (#11793)
chore: remove tasks and delete stale templates
2025-02-07 12:59:56 +01:00
uye
01504ff404 refactor: 重构公告 (#11734)
* refactor: 重构公告

* chore: 公告可数

* chore: TrimEnd -

* fix: 多余删除的 \n

* chore: 修改返回类型

* style: unused using

* chore: 标题支持多行显示

* chore: add english version of noskland

* feat: Switch image based on language

* chore: 点击 Listbox 时 ScrollViewer 滚动到最顶端

* chore: 加个预览图

* chore: 设计时预览

* fix: ---- 没移掉)

* chore: Content 也显示标题内容

* chore: 隐藏按钮

* perf: 优化分隔符删除

* chore: 压缩下图片

* feat: 调整公告关闭按钮布局

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
Co-authored-by: SherkeyXD <57581480+SherkeyXD@users.noreply.github.com>
2025-02-07 19:00:24 +08:00
status102
3f5ab514c0 fix: RoguelikeTheme check
[skip changelog]
2025-02-07 17:22:28 +08:00
status102
01c794b83e fix: 肉鸽非投资模式禁用种子刷钱 2025-02-07 17:16:53 +08:00
status102
14942259e5 fix: 肉鸽烧水分队兼容
fix#11739
2025-02-07 17:14:23 +08:00
晓丶梦丶仁
33e8eefc6e ci: remove pre-commit workflow check (#11788)
* ci: remove pre-commit workflow check

* Revert "ci: remove pre-commit workflow check"

This reverts commit f1708eaa84.

* ci: issue template check
2025-02-07 16:57:42 +08:00
Rbqwow
878b651765 feat: add format hint for proxy setting (#11781)
* feat: add format hint for proxy setting

* fix: SOCKS 到底为什么是全大写的
2025-02-07 16:38:32 +08:00
status102
d8c1fe8108 fix: 禁止RoguelikeStatus拷贝 2025-02-07 15:51:03 +08:00
status102
b96af4cc02 fix: remove wrong commit 2025-02-07 13:25:49 +08:00
status102
349a5b792a rft: 移除RoguelikeLastRewardSelectTaskPlugin,合并烧水奖励选择 2025-02-07 13:25:48 +08:00
status102
06497e1d9a perf: 肉鸽满级移除前置任务检查
eaecef60d1 修改肉鸽开始探索重试
2025-02-07 13:25:48 +08:00
HeJiYue with no hair
662150c821 docs: 补充自动战斗可能遇到的问题 (#11749)
* docs:possible problems with supplemental automated combat

* docs: Update faq.md

* docs: 加点东西

* docs: i18n

这日语文档没得救了(悲

---------

Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
Co-authored-by: Rbqwow <55343783+Rbqwow@users.noreply.github.com>
2025-02-07 12:43:03 +08:00
Hao Guan
551aab1cfb feat(mac): 支持Mirror酱资源更新 (#11768)
* feat(mac): Mirror酱资源更新

* ci: macOS workflow update
2025-02-07 12:35:53 +08:00
晓丶梦丶仁
4f37edcbaf ci(fix): pre-commit.ci prettier hook (#11780)
* ci: 添加 files 字段

* ci: 指定resource路径

* test: 真的递归判断吗

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

* ci: files 换个写法

* ci: files 再换个写法

* ci: 把 files 写全

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-07 10:45:57 +08:00
BxFS
3dfee0ac65 fix: CheckLevelMax OCR (#11764) 2025-02-06 22:51:37 +08:00
uye
515b453da4 chore: 调整界面布局 2025-02-06 22:50:48 +08:00
MistEO
0d82b1a976 fix: 修复上传卡住的问题
fix 11770
2025-02-06 22:34:04 +08:00
MistEO
911f2b4bab feat: 添加mirror酱备用线路 (#11777)
* feat: add mirrorc line2

* chore: add logs

* chore: fix replace

* fix: wrong replace
2025-02-06 22:26:16 +08:00
uye
387c6e298b chore: 添加 MirrorChyan 检查更新日志 2025-02-06 21:33:11 +08:00
github-actions[bot]
3712be5b70 chore: Auto Update Game Resources - 2025-02-06
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13177386747

[skip changelog]
2025-02-06 11:06:04 +00:00
MistEO
12d63cbc2c fix: mirrorc package name 2025-02-06 18:53:13 +08:00
MistEO
6cf10a2c8f ci: use mirrorchyan uploading action 2025-02-06 18:10:41 +08:00
晓丶梦丶仁
c94a0b546a fix: use_skill 在按下停止按钮后不退出 (#11761) 2025-02-06 16:01:00 +08:00
status102
ff51c61744 chore: 减少肉鸽插件不必要函数 2025-02-06 10:50:18 +08:00
晓丶梦丶仁
2ba65cb802 chore(fix): issue_template 的公告链接会导致 mention (#11762)
fix: issue_template 的公告链接会导致 mention
2025-02-06 05:59:04 +08:00
uye
80d85aafe8 fix: Resource Check ret 判断错误 2025-02-05 18:32:04 +08:00
status102
d7bff50abd rft: 简化肉鸽局中数据存储 (#11581)
* rft: 简化肉鸽局中数据存储

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

* perf: 设定容器容量

* perf: 优化调用

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-05 18:07:49 +08:00
status102
bad87d0d5e chore: 减少肉鸽插件load_params log输出 2025-02-05 17:21:00 +08:00
status102
c08f38eb2e fix: 肉鸽开始探索反复重试后结束
fix #11755
2025-02-05 17:20:38 +08:00
github-actions[bot]
ad793ba764 chore: Auto Templates Optimization
Triggered by b1ba539945

[skip changelog]
2025-02-05 09:03:52 +00:00
github-actions[bot]
b1ba539945 chore: Auto Update Game Resources - 2025-02-05
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13153693252

[skip changelog]
2025-02-05 09:02:55 +00:00
Tsukiyowu
663d017a1f fix: 修复国际服无法通过文字OCR识别关闭雷电模拟器弹窗的问题 (#11756)
* fix: 修复国际服无法通过文字OCR识别关闭雷电模拟器弹窗的问题

* fix: 修复国际服无法通过文字OCR识别关闭雷电模拟器弹窗的问题

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

* fix: 修复国际服无法通过文字OCR识别关闭雷电模拟器弹窗的问题

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-05 15:39:59 +08:00
晓丶梦丶仁
2dc0f84dcc fix: 狭路相逢事件识别失败 (#11752)
* fix: 狭路相逢事件识别失败

* fix: 中文符号
2025-02-05 15:39:11 +08:00
晓丶梦丶仁
79371dc12f chore: 在 issue_template 中添加链接 (#11751)
* chore: 在 issue_template 中添加链接

* docs: 英文缩进

* docs: 英文描述

* chore: en feature request 删除 faqs
2025-02-05 15:01:36 +08:00
uye
c31fdccbfb chore: 远程控制也添加存储加密 2025-02-05 13:36:35 +08:00
uye
7701272539 chore: 修改 Copilot 界面提示 2025-02-05 11:00:26 +08:00
MistEO
66957eef90 chore: trim mirrorchyan cdk 2025-02-04 23:53:05 +08:00
uye
7738532199 chore: 资源更新和检查更新分开 2025-02-04 22:57:55 +08:00
Tsukiyowu
0d9f495e05 perf: 开始任务自动关闭雷电模拟器 Google 套件窗口 (#11748)
* perf: 开始任务自动关闭雷电模拟器 Google 套件窗口

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

* perf: 开始任务自动关闭雷电模拟器 Google 套件窗口

* perf: 开始任务自动关闭雷电模拟器 Google 套件窗口

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-02-04 22:36:56 +08:00
MistEO
25daf694c1 fix: 修复资源检查提示信息错误 2025-02-04 21:58:27 +08:00
status102
f7152c3061 chore: HttpService调整部分默认值 2025-02-04 12:08:59 +08:00
HY
f4ec9c1bcb fix: 繁中服「黍」辨識問題 (#11738) 2025-02-04 09:47:39 +08:00
MistEO
e080c65b70 ci: perf mirrorchyan download version 2025-02-04 05:02:57 +08:00
MistEO
a532ef9914 ci: remove useless var for mirrorchyan 2025-02-04 04:35:10 +08:00
Constrat
84126547ba style: workflow formatting
[skip changelog]
2025-02-03 21:20:55 +01:00
MistEO
690f2b8841 ci: add mirrorchyan uploading for release (#11735) 2025-02-04 04:17:45 +08:00
HY
1b57a27879 fix: 繁中服無法進入薩米肉鴿 (#11733) 2025-02-03 18:00:39 +01:00
HY
ffc7da7028 chore: 繁中服「懷黍離」導航入口再更動 (#11732) 2025-02-03 17:59:53 +01:00
status102
f62f37904d Release v5.13.0-beta.5 (#11730) 2025-02-03 23:46:19 +08:00
github-actions[bot]
62cb676b6a docs: Auto Update Changelogs of v5.13.0-beta.5 (#11731)
docs: Auto Generate Changelog of Release v5.13.0-beta.5

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-03 23:32:31 +08:00
uye
5f6dee8df5 chore: GetAsync catch 未处理 logUri 2025-02-03 19:07:12 +08:00
uye
d1eaff1d22 chore: 加个 json 解析 catch 2025-02-03 18:47:33 +08:00
status102
6e5708bb98 fix: 自动战斗勾选使用理智药时自动编队卡住 2025-02-03 16:51:11 +08:00
Roland125
2ede6097ad fix: 招募测试函数修复 (#11723) 2025-02-03 02:36:38 +08:00
Rbqwow
d2fa4e9b63 Release v5.13.0-beta.4 (#11720) 2025-02-03 02:00:02 +08:00
uye
9d3f859974 docs: 更新 CHANGELOG.md 2025-02-03 01:58:32 +08:00
github-actions[bot]
5f5c406a3d docs: Auto Update Changelogs of v5.13.0-beta.4 (#11721)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rbqwow <55343783+Rbqwow@users.noreply.github.com>
2025-02-03 01:54:13 +08:00
Horror Proton
0f20c91e94 fix: recruitanalyzer return value [skip changelog] 2025-02-03 01:27:27 +08:00
status102
aaf5d826a3 Release v5.13.0-beta.3 (#11718) 2025-02-03 00:17:19 +08:00
github-actions[bot]
dad5bb71ee docs: Auto Update Changelogs of v5.13.0-beta.3 (#11719)
* docs: Auto Generate Changelog of Release v5.13.0-beta.3

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

* docs: changelog

* docs: changelog

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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-02-03 00:15:46 +08:00
status102
036b2350e7 Revert "style: follow clang formatting"
This reverts commit 7113ea82aa.
2025-02-02 23:59:54 +08:00
status102
bc81f492f2 Revert "style: clang formatting"
This reverts commit bfe2e29249.
2025-02-02 23:59:46 +08:00
status102
2a78ca9a1b chore: include 2025-02-02 23:54:46 +08:00
uye
85cf5087f7 chore: 更新日志支持惯性运动 2025-02-02 23:40:03 +08:00
Constrat
bfe2e29249 style: clang formatting
[skip changelog]
2025-02-02 14:24:12 +01:00
Constrat
7113ea82aa style: follow clang formatting
[skip changelog]
2025-02-02 13:53:32 +01:00
status102
e5d9f1a191 fix: 肉鸽开局干员使用助战失效
fix MaaAssistantArknights/MaaAssistantArknights#11709
2025-02-02 18:02:07 +08:00
Horror Proton
b888a3e064 fix: fix return value of RecruitImageAnalyzer
fix: https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/11600
2025-02-02 17:45:25 +08:00
status102
15bf60f397 fix: 移除二次检查
[skip changelog]
2025-02-02 15:44:55 +08:00
status102
35ab099cce fix: 肉鸽烧水使用分队失效 2025-02-02 15:25:03 +08:00
筱竹聽雨
36ea07b076 perf: 优化存亡之战部署策略 (#11706)
优化存亡之战部署策略
2025-02-02 12:35:41 +08:00
status102
f05c860692 fix: Wpf肉鸽烧水时使用分队UI为空 2025-02-02 10:41:00 +08:00
status102
bee9c1c045 Revert "fix: Wpf肉鸽烧水时使用分队UI为空"
This reverts commit 40f7bc9185.
2025-02-02 10:36:51 +08:00
status102
f5c2b951c6 fix: 自动战斗开始战斗时使用理智药检测失效
fix MaaAssistantArknights/MaaAssistantArknights#11701
2025-02-02 10:09:40 +08:00
github-actions[bot]
6ac39062f2 docs: Auto Update Changelogs of v5.13.0-beta.2 (#11708)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: MistEO <mistereo@hotmail.com>
2025-02-02 04:52:35 +08:00
MistEO
31c5e9b29c perf: mirrorchyan toast 2025-02-01 21:09:53 +01:00
MistEO
87faeb12dd fix: mirror-chyan notify error 2025-02-01 20:58:36 +01:00
MistEO
e24d8109ff fix: missing user_agent param for mirrorchyan query 2025-02-01 20:58:24 +01:00
github-actions[bot]
f417f8caae docs: Auto Update Changelogs of v5.13.0-beta.1 (#11703)
* docs: Auto Generate Changelog of Release v5.13.0-beta.1

* docs: add discord invite link + tweak

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-02-01 16:12:54 +01:00
status102
40f7bc9185 fix: Wpf肉鸽烧水时使用分队UI为空 2025-02-01 20:50:06 +08:00
Constrat
6472a448a9 style: fix pre-commit.ci
[skip changelog]
2025-02-01 13:28:34 +01:00
status102
80bfdfa257 perf: 简化肉鸽任务使用助战参数内部存储流程 2025-02-01 20:01:32 +08:00
status102
8477690784 i18n: Mirror酱说明调整 2025-02-01 18:02:34 +08:00
uye
b09eb7cb42 chore: NoSkland 放到 wpf 内部 2025-02-01 17:20:41 +08:00
uye
fc15bad06c chore: CDK 大写
[skip changelog]
2025-02-01 16:55:48 +08:00
uye
ed8b0bcc06 i18n: 添加资源更新提示翻译 2025-02-01 16:03:42 +08:00
status102
59bdc266e9 style: format 2025-02-01 15:40:32 +08:00
uye
9c196d080a feat: 添加资源更新提示 2025-02-01 15:26:13 +08:00
晓丶梦丶仁
d7deb04c74 perf: 将Sarkaz开局添加负荷干员的进入任务改为范围点击 (#11100)
perf: 将开局添加负荷干员的进入任务改为范围点击
2025-01-31 10:23:38 +08:00
Rbqwow
ffab8ec14d docs: 推荐分辨率720P或1080P (#11651)
* docs: 推荐分辨率720P或1080P

* docs: 学姐太啰嗦辣

* docs: 二选一!
2025-01-31 09:49:24 +08:00
status102
027aaea799 rft: 任务执行期间Log Rotate增加检查,并上调阈值至64MiB (#11670)
* fix: Log Rotate在任务执行期间不进行检查导致单体log文件过大

* fix: unsigned type

* perf: 加锁

* perf: 加锁优化

* perf: 上调log单文件大小至64MiB

* perf: 继续优化

* perf: 优化加锁

* fix: 64MB
2025-01-30 23:13:02 +08:00
晓丶梦丶仁
9459388036 fix: 肉鸽临时招募预备干员时, 不额外提升权重 (#11442)
fix: 尝试修复临时招募预备干员的权重过高
2025-01-30 22:22:19 +08:00
uye
684b2c787d chore: 密钥改成 PasswordBox 2025-01-30 19:12:57 +08:00
wryx166
d6eed05b35 docs: 替换.NET8 桌面运行时下载链接为直链 (#11693)
docs: Update faq.md
2025-01-30 02:56:23 +08:00
uye
f28bff152b chore: 免得点一次小眼睛就改一次配置文件
[skip changelog]
2025-01-30 00:50:13 +08:00
uye
a473c610d8 feat: CDK 改为密码框 2025-01-30 00:43:12 +08:00
Rbqwow
786b72e55c fix: 公告窗口触控板滚动异常 (#11684) 2025-01-29 23:33:00 +08:00
Constrat
2d0c19a2f7 i18n: remove chinese punctuation from en 2025-01-29 13:41:35 +01:00
萨拉托加
c6c1832bc6 chore: JP 艾雅法拉 ocrReplace (#11685)
* chore: JP 艾雅法拉 ocrReplace

不能直接正则,还是直接替换吧

* chore: 试试双斜杠转义行不行

* fix: Update resource/global/YoStarJP/resource/tasks.json

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

---------

Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2025-01-29 19:54:00 +08:00
status102
0ce4006b5e rft: 调整肉鸽选择烧水奖励任务链,重新将Roguelike@LastRewardConfirm并入主任务链 (#11689)
- close #11688, close #11683
2025-01-29 17:29:03 +08:00
status102
d00e26d0fd rft: 调整肉鸽选择烧水奖励任务链,重新将Roguelike@LastRewardConfirm并入主任务链 2025-01-29 17:06:04 +08:00
status102
6b877bcf8f rft: 迁移RoguelikeStartSelect 2025-01-29 16:25:54 +08:00
uye
b4e595ce3b feat: 添加 MirrorChyan 资源更新方式 (#11669)
Co-authored-by: MistEO <mistereo@hotmail.com>
2025-01-29 02:16:16 +08:00
Rbqwow
5f34d3e906 docs: 肉鸽推荐开局策略 (#11570)
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
Co-authored-by: Saratoga <151550168+Saratoga-Official@users.noreply.github.com>
2025-01-28 23:36:09 +08:00
Constrat
888582339f feat: discord link for website docs (#11687)
* feat: discord link for website docs

* i18n: zh-tw tweak

* i18n: jp tweak

* i18n: KR tweak

* i18n: zh-cn

---------

Co-authored-by: momomochi987 <as99us301@gmail.com>
Co-authored-by: ManicSteiner <manicsteiner@outlook.com>
Co-authored-by: HX3N <128385247+HX3N@users.noreply.github.com>
Co-authored-by: Rbqwow <55343783+Rbqwow@users.noreply.github.com>
2025-01-28 13:56:48 +01:00
Constrat
74dd9d2c40 fix: styling 2025-01-28 12:56:36 +01:00
Constrat
1e69ae827e chore: add discord link to main readme 2025-01-28 12:56:05 +01:00
Constrat
8f2fe6a334 feat: Discord link in About Us 2025-01-28 12:14:26 +01:00
Rbqwow
65ff54b98d chore: 修改划火柴设置界面布局 (#11682) 2025-01-28 18:42:24 +08:00
DavidWang19
a5ba2d94e0 fix: 添加不期而遇新事件空无前兆 (#11573) 2025-01-28 17:30:57 +08:00
github-actions[bot]
b4be266d15 chore: Auto Update Game Resources - 2025-01-28
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/13004384595

[skip changelog]
2025-01-28 05:44:29 +00:00
github-actions[bot]
d6a7e7fe5a chore: Auto Templates Optimization
Triggered by 9ba7ead6c8

[skip changelog]
2025-01-28 05:39:13 +00:00
uye
9ba7ead6c8 feat: 适配新 ui 未进驻选项 2025-01-28 13:38:39 +08:00
teldd1
ce0beb62a1 fix: Attempt retry once screencap for MumuExtras (#11550) 2025-01-27 23:59:01 +08:00
status102
6b7b78802b chore: 繁中划火柴说明没删干净
[skip changelog]
2025-01-27 18:05:43 +08:00
status102
4f62898f31 chore: WpfGui划火柴相关说明调整
回退 57fbe81be1 中对划火柴模式的简中说明调整,并与其他语言尽量保持一致
2025-01-27 17:54:03 +08:00
晓丶梦丶仁
dc8951dd89 perf: 萨卡兹肉鸽不期而遇统一使用默认策略 (#11512) 2025-01-26 20:20:36 +08:00
晓丶梦丶仁
1054cfe93c fix: 肉鸽作战编队截图过快导致截图与实际不符 (#11527) 2025-01-26 20:16:24 +08:00
晓丶梦丶仁
40fa5f8161 Revert "perf: 肉鸽优先拿美愿 (#11558)" (#11565)
This reverts commit 8f5ee4819e, reversing
changes made to 0b0486a4ee.
2025-01-26 20:12:29 +08:00
status102
ea4bffeaa5 fix: 肉鸽烧水未获得目标奖励逻辑补漏
关联 85d928f2e6
2025-01-26 16:08:02 +08:00
status102
a329d55857 fix: 幸运墙领取奖励界面识别过早
fix MaaAssistantArknights/MaaAssistantArknights#11667
2025-01-26 10:15:26 +08:00
Constrat
d7d1f7f2e8 feat: en announcement wpf logic 2025-01-25 16:15:23 +01:00
status102
2b77443ddc ci: pr-checker output
[skip changelog]
2025-01-25 17:13:01 +08:00
status102
85d928f2e6 fix: 临时处理肉鸽烧水flag异常 2025-01-25 16:40:13 +08:00
HY
8688baa623 chore: 繁中服「懷黍離」導航入口更動 (#11662) 2025-01-25 15:48:43 +08:00
uye
ce67295e7d perf: 小工具-仓库识别 隐藏黑边 2025-01-25 02:04:06 +08:00
uye
e79efce17d chore: 调整基建办公室阈值 2025-01-25 02:04:06 +08:00
uye
a40dde9432 chore: 调整 InfrastBottomLeftTab 的 specificRect 2025-01-25 02:04:05 +08:00
Constrat
e785b540c7 ci: disable cache for pnpm (#11653)
test: disable cache for pnpm
2025-01-24 12:48:55 +01:00
uye
2f8dfa3a36 Release v5.12.3 (#11639)
Important stuff for global:
- e71e817577: fixes base navigation
- 9b55aad993: fixes base entering from
siege
2025-01-24 16:30:13 +08:00
uye
c0730c419f docs: Update CHANGELOG.md 2025-01-24 16:23:57 +08:00
github-actions[bot]
a7e5f6ff5f chore: Auto Update Game Resources - 2025-01-24
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12945163495

[skip changelog]
2025-01-24 07:26:10 +00:00
status102
600cee7395 feat: HttpClient配置Gzip等压缩 2025-01-24 15:15:11 +08:00
HY
14f414f6ca fix: 繁中服-生息演算中,完成生存週期畫面、大地圖畫面卡住 (#11649) 2025-01-24 15:07:38 +08:00
XuQingTW
7d8ab5e77a feat: 繁中服更新活動導航"懷黍離" (#11592)
chore: 繁中服更新活動導航"懷黍離"
2025-01-24 15:07:03 +08:00
HY
3eee1c769a chore: 補上繁中服的加工站、訓練室相關內容 (#11648)
* chore: 補上繁中服的加工站、訓練室相關內容

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-24 14:51:17 +08:00
uye
7095790129 chore: 调整基建发电站阈值 2025-01-24 13:56:20 +08:00
HY
b831a11746 fix: 繁中服 生息演算讀檔畫面卡住 (#11646)
fix: 生息演算讀檔畫面卡住
2025-01-24 13:48:54 +08:00
uye
0dbe5ac09c chore: 调整基建宿舍阈值 2025-01-24 13:46:59 +08:00
uye
f2ff8d3248 docs: Update CHANGELOG.md 2025-01-24 10:35:04 +08:00
uye
0ec0cdbff1 fix: 基建修复4 (#11642)
* fix: 基建修复4

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-24 10:32:31 +08:00
Rbqwow
1bc82628f6 docs: README 移除 MaaX,更换前端仓库地址 (#11636) 2025-01-24 10:15:20 +08:00
Constrat
3a90c008b0 docs: update changelog 2025-01-24 02:07:11 +01:00
Constrat
e71e817577 fix: 38c8dd8 68357b9 modified base tasks in Official. Global needs custom ROI to work 2025-01-24 01:16:25 +01:00
github-actions[bot]
cbf7a61260 chore: Auto Templates Optimization
Triggered by 9b55aad993

[skip changelog]
2025-01-23 21:31:58 +00:00
Constrat
9b55aad993 fix: 380bf68 modified Base Infrast Siege for all clients. Reverting for global and co. 2025-01-23 22:31:11 +01:00
uye
1d50dc1587 Release v5.12.2 (#11631) 2025-01-24 00:46:16 +08:00
uye
6ed439063b docs: Update CHANGELOG.md 2025-01-24 00:44:42 +08:00
uye
64ea49044a Release 5.12.2 (#11630) 2025-01-24 00:43:15 +08:00
uye
6802be2a34 docs: Update CHANGELOG.md 2025-01-24 00:43:02 +08:00
uye
38c8dd81e1 fix: 基建修复3 (#11629)
* fix: 反复进出训练室

* fix: 宿舍识别错误

* chore: 更新基建模板

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-24 00:32:58 +08:00
uye
df96a45b4f fix: 基建确认按钮 2025-01-23 23:06:36 +08:00
uye
8139eca40f Release v5.12.1 (#11624) 2025-01-23 22:06:55 +08:00
uye
aa7e949df9 docs: Update CHANGELOG.md 2025-01-23 21:53:37 +08:00
uye
68357b95bf fix: 基建修复2 (#11618)
* fix: 偶现无法进入训练室

* chore: 更新截图

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

* fix: 有时候点不到设施的确认按钮,沟槽的侧边栏遮挡点击的范围怎么还能变大的

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-23 21:48:38 +08:00
HY
1ca9ca4112 feat: 繁中服 生息演算【沙洲遺聞】 (#11620)
* feat: 繁中服 生息演算【沙洲遺聞】

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-23 12:55:12 +01:00
AoXuan
380bf68cfc fix: “围攻”主题 基建无法打开 (#11615)
* fix: “围攻”主题 基建无法打开

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-23 16:19:16 +08:00
Alisa
93f431431f i18n: Translations update from MAA Weblate (#11607)
* i18n: Translated using Weblate (English (United States))

Currently translated at 97.4% (798 of 819 strings)

Translation: MAA Assistant Arknights/WPF GUI
Translate-URL: https://weblate.maa-org.net/projects/maa/wpf-gui/en_US/

* i18n: Translated using Weblate (Japanese)

Currently translated at 97.6% (800 of 819 strings)

Translation: MAA Assistant Arknights/WPF GUI
Translate-URL: https://weblate.maa-org.net/projects/maa/wpf-gui/ja/

* i18n: Translated using Weblate (Korean)

Currently translated at 97.5% (799 of 819 strings)

Translation: MAA Assistant Arknights/WPF GUI
Translate-URL: https://weblate.maa-org.net/projects/maa/wpf-gui/ko/

* i18n: Translated using Weblate (Chinese (Traditional))

Currently translated at 98.0% (803 of 819 strings)

Translation: MAA Assistant Arknights/WPF GUI
Translate-URL: https://weblate.maa-org.net/projects/maa/wpf-gui/zh_Hant/

---------

Co-authored-by: Anonymous <noreply@weblate.org>
2025-01-22 20:39:41 +01:00
github-actions[bot]
1e46f9234a chore: Auto Update Game Resources - 2025-01-22
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12915554449

[skip changelog]
2025-01-22 19:24:55 +00:00
uye
13364bff65 chore: 导航塞 SideStoryStage 下面 2025-01-23 03:24:48 +08:00
uye
8d83ab15c5 Release v5.12.0 (#11606) 2025-01-23 03:14:03 +08:00
github-actions[bot]
bf034aab41 docs: Auto Update Changelogs of v5.12.0 (#11608)
* docs: Auto Generate Changelog of Release v5.12.0

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-01-23 03:13:37 +08:00
uye
6a7fb1643d chore: 我知道稳定版不稳定,所以就叫正式版吧 2025-01-23 03:09:46 +08:00
Sherkey Asher
51a336ae83 fix: 修复基建 (#11598)
* fix: 修复线索被选中标志

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

* fix: 默认主题和黑暗主题的基建图标

* fix: 修复萨米主题基建图标

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

* fix: 修复基建会客室图标识别

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

* fix: 修复主题 大荒城 的基建图标

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

* fix: 基建点击右上角进入的缩小状态模板错误

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

* fix: mini roi

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2025-01-23 03:05:34 +08:00
uye
e1ed7237a0 chore: 隐藏公告关闭窗口,底部添加关闭按钮 2025-01-23 01:42:21 +08:00
uye
9042abab6a refactor:提取 HandlePreviewMouseWheel 2025-01-23 01:42:21 +08:00
HY
902828dc49 feat: 繁中服 抽幸運牆的功能 (#11602)
feat: 繁中服 抽取龍門幸運牆
2025-01-22 14:36:40 +00:00
github-actions[bot]
7b0fbf9b23 chore: Auto Update Game Resources - 2025-01-22
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12910341481

[skip changelog]
2025-01-22 14:28:44 +00:00
Constrat
0137f9ca11 feat(style): Colored logs for I.S. (#11593)
* feat: Colored logging for I.S. - Dark

* feat: Colored logging for I.S. - Light

* feat: Colored logging for I.S. - AsstProxy logic
2025-01-22 20:51:11 +08:00
github-actions[bot]
dcd7e0a7cf chore: Auto Update Game Resources - 2025-01-22
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12905798158

[skip changelog]
2025-01-22 10:05:38 +00:00
Sherkey Asher
dc545a3ba5 feat: SideStory「相见欢」导航 (#11597) 2025-01-22 16:58:55 +08:00
github-actions[bot]
fc0fa1f078 chore: Auto Update Game Resources - 2025-01-22
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12901577375

[skip changelog]
2025-01-22 05:06:19 +00:00
DavidWang19
023ed5563f feat: 优化肉鸽刷开局模式的流程和逻辑 (#11559)
* feat: 新增刷开局模式下是否购物的选项

* chore: 修改傀影开局模板图文件名

* chore: 添加注释

* fix: 修复刷开局模式下不能进入商店的问题

* feat: 添加各肉鸽主题可刷开局 通用:热水壶 盾(血) 源石锭 希望  随机;水月:钥匙 骰子;萨卡兹:构想

* refactor: CheckComboBox 改为 key 在前

* feat: 界面添加开局奖励选择

* fix: ubuntu build

* feat: proxy 添加对应参数

* rft: 拆分烧水奖励领取

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

* fix: 刷完后直接退出,精二时继续检查

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

* perf: 优化肉鸽刷开局模式RoguelikeShoppingTaskPlugin verify

* perf: 简化肉鸽烧水期望传参

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

* fix: Wpf传值错误

* perf: 衔接旧流程

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

* feat: 支持选择不同的烧水分队和目标分队

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

* fix: 移除遗漏调用

* fix: 变量名一致化

* chore: 烧水期望奖励翻译预留

* fix: 移除无用的set_task_base

* i18n: 添加开局奖励翻译

* i18n: JP translate

* i18n: KR translate

* i18n: zh-tw translate

* i18n: EN tweak

* chore: 移除不再使用的task

* docs: 加点文档

* docs: 烧水使用分队

* perf: UI

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

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
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>
Co-authored-by: ManicSteiner <manicsteiner@outlook.com>
Co-authored-by: HX3N <scarlet7518@gmail.com>
Co-authored-by: momomochi987 <as99us301@gmail.com>
Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2025-01-22 12:57:25 +08:00
github-actions[bot]
ed42afa473 chore: Auto Update Game Resources - 2025-01-22
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12900967839

[skip changelog]
2025-01-22 04:07:19 +00:00
status102
7058163f70 fix: 修复基建排班错误和加工站卡住 (#11590)
- close #11499, close #7081
2025-01-22 11:00:00 +08:00
github-actions[bot]
4ee96b8f10 chore: Auto Templates Optimization
Triggered by 0350521a58

[skip changelog]
2025-01-22 02:30:50 +00:00
github-actions[bot]
0350521a58 chore: Auto Update Game Resources - 2025-01-22
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12899930282

[skip changelog]
2025-01-22 02:30:17 +00:00
github-actions[bot]
c91ac4d9dd chore: Auto Update Game Resources - 2025-01-22
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12899566943

[skip changelog]
2025-01-22 01:54:52 +00:00
BxFS
65b87a5699 feat: 肉鸽月度小队/深入调查基础策略+自动切换 (#11566)
* feat: 肉鸽月度小队奖励/访谈记录策略 #7058

* i18n: Translation for 809d0db

* fix: place Roguelike@DialogSkip under various Roguelike@Stages, and Roguelike@DialogSkip / Roguelike@DialogSkipConfirm reordering

* feat: tickboxes for AutoIterate on wpf

* style: typo

* feat: Iterate Monthly Squad

* fix: proper insertion point for monthly squad plugin, and task for collecting rewards

* feat: Iterate Deep Exploration

* feat: autoiterate for mizuki, sami and sarkaz

* fix: proper InitialDrop.png for three roguelikes and proper compeletion behaviour for iterate plugins

* fix: use different MonthlySquadRewardMiss.png for each roguelike

* feat: Iterate Monthly Squad Comms Option

* refactor: RoguelikeIterateDeepExplorationPlugin and RoguelikeIterateMonthlySquadPlugin, provision for per theme deep exploration adaptation, and basic adaptation to get it running

* fix: keep Sarkaz@Roguelike@DeepExplorationEnd from intruding other tasks with empty.png, and attempted fix of Phantom@Roguelike@CommsMiss

* fix: predelay 500ms for StartExplore

* fix: reduce retry_times for tasks that expect fail

* refactor: move DifficultySelectionTaskPlugin skip condition from verify to load_params

* style: remove RoguelikeDeepExplorationSpecialParameters::load_params and remove linebreakers for long ProcessTasks

* fix: post rebase fixes

* fix: ChooseMonthlySquad -> MonthlySquad, Template -> OcrDetect for resilience against changed backgrounds, and mac/arm64 compiler compliance

* fix: drop load_params from RoguelikeDeepExplorationSpecialParameters

* fix: added delay for MonthlySquadCommsBackTwice/Once, and some style fixes

* revert: cfc1951a already merged

* refactor: duplicate template removal and replacement with ocr

* refactor: more duplicate template removal

* fix: phantom monthly squad dialog timout, again

* fix: ocr -> template without words, and duct tape for Phantom@Roguelike@StrategyChange so it does not lock up in case stage name wasn't captured

* chore: remove words from noop

* fix: Roguelike@DeepExplorationDark.png -> Phantom@Roguelike@DeepExploration.png

* fix: MonthlySquadCompleted/DeepExplorationCompleted task to callback, and basic machine translation for it

* fix: masking for Roguelike@DeepExploration.png and Roguelike@MonthlySquad.png, removing Roguelike@NormalOperation.png as unused

* chore: slight tweak to maskrange templates

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

* refactor: variable names and DeepExplorationNotUnlocked.png masking

* fix: drop the nonexistent Sarkaz@Roguelike@DeepExplorationEnd.png and use default instead

* fix: delay moved from startExplore

* refactor: readability and duplicate removal

* refactor: filename, readability, and task chain adjustment

* perf: RoguelikeMode校验

* fix: retry 1->3, style fix and typo fix

* fix: move set_retry_times to RoguelikeTask

* docs: RoguelikeIterateMonthlySquadPlugin and RoguelikeIterateDeepExplorationPlugin

* fix: make MonthlySquadCommsBackTwice stuck proof

* chore: pick DeepExplorationSpecialParameters out of branch

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

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
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-01-22 09:04:48 +08:00
Constrat
2359a6e113 perf: give priority to higher value choices in I.S. encounter.json (#11580)
chore: give priority to higher value choices in I.S. encounter.json
2025-01-21 21:31:17 +01:00
Constrat
89d7a3be49 style: fix clang format 2025-01-21 20:34:20 +01:00
status102
87088f7b55 style: include
[skip changelog]
2025-01-21 22:53:09 +08:00
status102
04cd0505c5 fix: 萨卡兹肉鸽种子存钱分队选择失败 2025-01-21 22:46:10 +08:00
萨拉托加
9c2b777b05 fix: tw 黍 百炼嘉维尔 OcrReplace (#11591)
* fix: 黍 OcrReplace

* fix: tw 黍 百炼嘉维尔 OcrReplace

翻阅log发现百炼嘉维尔也错了

* fix: 多复制了一个
2025-01-21 21:15:43 +08:00
HauKuen
ff4454c85b fix: 修复加工站重复执行问题
返回 false 会导致重复执行 on_run_fails 四次,#11415
2025-01-21 16:48:40 +08:00
HauKuen
9e0f58ca46 fix: 修复巫恋组错误应用到源石订单贸易站 2025-01-21 16:34:00 +08:00
Constrat
7d67cefd73 chore: remove duplicates in txwy tasks
[skip changelog]
2025-01-20 11:48:37 +01:00
AoXuan
dc70f2bf2e feat: 萨卡兹肉鸽卫士不语功战斗策略调整 (#11582)
* feat: 萨卡兹肉鸽卫士不语功战斗策略调整

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-20 18:40:22 +08:00
HX3N
b44b0472b9 chore: YostarKR Mizuki DataTraceBack (#11584)
* chore: YostarKR Mizuki DataTraceBack

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-01-20 11:36:24 +01:00
github-actions[bot]
623c930158 chore: Auto Update Game Resources - 2025-01-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12863579196

[skip changelog]
2025-01-20 08:08:28 +00:00
Constrat
f5188ea76c fix: reduce ROI to detect special value in Sami I.S. for EN 2025-01-19 17:37:30 +01:00
github-actions[bot]
2488031e83 chore: Auto Templates Optimization
Triggered by 499e18280a

[skip changelog]
2025-01-19 16:28:53 +00:00
Constrat
499e18280a fix: EN Sami GamePassSkip2 2025-01-19 17:28:34 +01:00
Manicsteiner
09a016b58b chore: YostarJP Mizuki DataTraceBack (#11579) 2025-01-19 16:54:16 +01:00
uye
2d367b55e3 chore: SimpleEncryptionHelper 新增 DataProtectionScope 参数 2025-01-19 23:07:04 +08:00
status102
70cefeb99c fix: 萨卡兹肉鸽使用种子刷钱参数存储分类错误 2025-01-19 22:42:17 +08:00
AoXuan
a832fb028e feat: 萨卡兹肉鸽卫士不语功战斗策略调整 (#11577) 2025-01-19 12:26:10 +00:00
github-actions[bot]
66a2c34be3 chore: Auto Templates Optimization
Triggered by 673e13f462

[skip changelog]
2025-01-19 11:00:18 +00:00
Constrat
673e13f462 fix: Phantom IS GamePass EN template 2025-01-19 11:59:57 +01:00
github-actions[bot]
1f04e25e13 chore: Auto Templates Optimization
Triggered by 4e71d5a186

[skip changelog]
2025-01-18 18:50:04 +00:00
Constrat
4e71d5a186 fix: EN Mizuki stuck on end screen 2025-01-18 19:49:47 +01:00
github-actions[bot]
30ce3bae48 chore: Auto Update Game Resources - 2025-01-18
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12846446525

[skip changelog]
2025-01-18 18:29:56 +00:00
uye
4271beb615 chore: 目录下存在 DEBUG_skill_ready.txt 时自动收集技能准备状态截图 (#11571)
* feat: 自动截图

* chore: 根目录下存在 DEBUG 或者 DEBUG.txt 时自动保存截图

* style: 优化格式

* chore: 目录下存在 DEBUG_skill_ready.txt 时自动保存截图
2025-01-19 01:28:56 +08:00
MYAknight
0ebf5e5bea feat: 萨卡兹肉鸽添加丛林密布,卡兹瀑布,遮天蔽日,有序清场,血脉之辩 (#11564)
* feat: 添加萨卡兹肉鸽丛林密布,卡兹瀑布,遮天蔽日,有序清场。调整了血脉之辩

优先考虑了维逻n12,焰苇,锏只能低难自律

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

* perf: Update 卡兹瀑布.json

* perf: Update 有序清场.json blacklist

* Update 血脉之辩.json

删除了血脉之辩错误的黑名单

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

* Update 遮天蔽日.json

修改了补充干员的错误坐标

* Update 卡兹瀑布.json

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2025-01-19 00:03:11 +08:00
Constrat
ada5eb0a0d ci: disable workflows for forks 2025-01-17 13:32:19 +01:00
github-actions[bot]
302fd92754 chore: Auto Templates Optimization
Triggered by 47535d2cdd

[skip changelog]
2025-01-17 11:47:51 +00:00
status102
47535d2cdd perf: 肉鸽战斗完成判定MissionCompletedFlag移除重复模板 2025-01-17 19:46:52 +08:00
uye
6de2f61076 chore: 不将已进驻的干员放入宿舍能用了吗?修了不知道有没有修好 2025-01-17 16:21:38 +08:00
Weiyou Wang
af861d03b5 refactor: [ recruitment tool ] use StrEnum instead of Enum for Theme (#11421)
refactor: use StrEnum instead of Enum for Theme
2025-01-17 14:26:23 +08:00
status102
5eb6737b0b chore: 长草任务ViewModel调整 2025-01-17 11:10:39 +08:00
status102
f333c420f0 rft: WpfGui重构 一键长草任务callback拆分 (#11548)
* rft: 通知拆分

* rft: 移动InvokeProcSubTaskMsg至TaskQueueViewModel

* perf: 优化调用
2025-01-17 10:05:20 +08:00
HX3N
22986f7a19 chore: YostarKR update OrudumActivities (#11563) 2025-01-16 23:28:26 +01:00
Constrat
a519a9eaee fix: incorrect ROI AS navigation for YostarEN & KR 2025-01-16 21:43:05 +01:00
Constrat
cf97aa4c18 fix: Resource Updater for YostarEN (AS-Event) 2025-01-16 18:32:09 +01:00
Constrat
b1a5f92916 feat: Bazaar Orundum activities YostarEN 2025-01-16 18:13:00 +01:00
Constrat
a50d48ddd1 ci: disable ccache (#11562) 2025-01-17 00:16:16 +08:00
Constrat
21a90dca17 fix: add delay to Roguelike@QuickFormation 2025-01-16 16:59:06 +01:00
github-actions[bot]
2deff411bf chore: Auto Update Game Resources - 2025-01-16
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12811691772

[skip changelog]
2025-01-16 15:06:21 +00:00
Manicsteiner
bac348b6e8 chore: YostarJP ocr update (#11561) 2025-01-16 15:51:52 +01:00
DavidWang19
8f5ee4819e perf: 肉鸽优先拿美愿 (#11558)
美愿给的藏品比不期而遇稳定且多数情况强力适合
2025-01-16 09:41:36 +00:00
uye
0b0486a4ee fix: 弹出公告或窗口时开始任务,进度条会显示在新窗口 2025-01-16 15:50:42 +08:00
github-actions[bot]
28c5d624c2 chore: Auto Update Game Resources - 2025-01-16
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12804046533

[skip changelog]
2025-01-16 07:25:46 +00:00
WWPXX
98d0777a79 优先美愿
大多数情况强力且适合
2025-01-16 13:03:17 +08:00
WWPXX
350b5b7023 优先美愿
美愿藏品大多数情况下会很适合切比较强力
2025-01-16 13:02:20 +08:00
github-actions[bot]
774bbf2c03 chore: Auto Update Game Resources - 2025-01-16
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12801521024

[skip changelog]
2025-01-16 03:28:46 +00:00
status102
3a43d26aef perf: 简化萨卡兹肉鸽种子入口 2025-01-16 11:26:13 +08:00
uye
a3ca02c8a5 chore: 剿灭任务失败不报错 2025-01-16 10:28:04 +08:00
github-actions[bot]
d0a84e0d0f chore: Auto Update Game Resources - 2025-01-15
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12794721573

[skip changelog]
2025-01-15 18:30:29 +00:00
不留
59f3667aa2 fix: 修复肉鸽种子模式引起的异常卡死 (#11552)
* fix: 优化种子存钱流程,避免卡死

* fix: Update tasks.json

* chore: 完善 task 注释

* fix: 加回不该乱删的字符(心虚

* perf: 命名、doc

* perf: Update tasks.json

---------

Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2025-01-16 02:10:13 +08:00
status102
81b0f4a988 fix: 94a8e01543 (#11553) 2025-01-16 00:01:51 +08:00
pre-commit-ci[bot]
be441991ca chore: Auto update by pre-commit hooks [skip changelog] 2025-01-15 15:38:17 +00:00
BxFS
794f1717a1 fix: Return-White.png 识别 (#11469)
* fix: remove edge from Return-White.png, possible fix for #11461

* fix: templThreshold for Return-White.png 0.8 -> 0.7

* doc: Return-White.png
2025-01-15 23:33:55 +08:00
status102
0549fd0347 fix: 94a8e01543 2025-01-15 23:28:21 +08:00
status102
ecaf6a8f53 perf: 延后WpfGui肉鸽开始探索次数输出至SubTaskCompleted 2025-01-15 23:21:10 +08:00
status102
102bc8cb31 perf: 肉鸽投资移除手中没钱时的额外检测重试 2025-01-15 23:18:30 +08:00
status102
c7d808c0bd style: format
[skip changelog]
2025-01-15 20:25:11 +08:00
status102
56e136e717 chore: tasks.json配置JsonSchema 2025-01-15 20:23:35 +08:00
status102
94a8e01543 fix: 截图失败时清空image_payload 2025-01-15 20:18:36 +08:00
status102
eaecef60d1 fix: 修复肉鸽开始探索重试时额外占用开始次数 2025-01-15 20:16:12 +08:00
Constrat
eafb294209 fix: empty string option 2025-01-14 23:44:47 +01:00
Constrat
7f0dd034c4 rft: reapply reclamation rft on taskqueueviewmodel 2025-01-14 19:37:22 +01:00
Constrat
caa7fac662 feat: InvertNullFunction method 2025-01-14 19:33:13 +01:00
status102
f6c0627e32 rft: WpfGui长草任务迁移至TaskQueue 2025-01-14 22:43:23 +08:00
status102
6dc64c65a2 rft: Wpf重构 拆分模拟器关闭相关 (#11547)
* rft: Wpf重构 拆分模拟器控制相关

* style: null check
2025-01-14 22:40:10 +08:00
Weiyou Wang
a7bdb0b115 doc: 补充 Roguelike 任务 investment_with_more_score 与 start_with_two_ideas 参数的文档 (#11546)
* doc: 补充 Roguelike 任务 investment_with_more_score 参数的文档

* doc: 补充 Roguelike 任务 start_with_two_ideas 参数的文档
2025-01-14 22:24:59 +08:00
502y
7afa244e6a feat: 优化下载速度显示 (#11541)
* feat: 优化下载速度显示

下载速度超过1MiB/s时以MiB/s为单位显示下载速度

* feat: apply review

* style: format

---------

Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2025-01-14 20:32:17 +08:00
Weiyou Wang
3fa01d304c feat: 萨卡兹肉鸽刷开局 2 构想 (#11277)
* feat: 萨卡兹肉鸽刷开局 2 构想

* feat: wpf 支持

* feat: 补上语言文件

* fix: 不太对劲,改改逻辑
2025-01-14 18:38:59 +08:00
jbwfu
ceb5d45085 fix: get display for General (#11516)
* fix: get display for General

* perf: Optimize screen resolution retrieval
2025-01-14 16:49:18 +08:00
github-actions[bot]
0a6e7b48c7 chore: Auto Templates Optimization
Triggered by 0938351e6a

[skip changelog]
2025-01-14 00:24:01 +00:00
Constrat
0938351e6a chore: YostarEN Phantom IS update run end skip 2025-01-14 01:23:41 +01:00
Weiyou Wang
432684550d fix: 生息演算为点击右上角天数任务添加重试机制 (#11540) 2025-01-13 18:39:51 +01:00
Constrat
681a09201a tools: ignore templates for overseas
[skip changelog]
2025-01-13 18:36:37 +01:00
github-actions[bot]
447fa76acb chore: Auto Templates Optimization
Triggered by 6d143de11b

[skip changelog]
2025-01-13 17:24:42 +00:00
Constrat
6d143de11b chore: missing templates yostaren phantom IS 2025-01-13 18:23:50 +01:00
Constrat
0e990e163c style: pre-commit annoys the fuck out of me
[skip changelog]
2025-01-13 15:35:40 +01:00
Horror Proton
86d422087f chore: remove -Werror from CMakeLists.txt
fix: #10512
2025-01-13 21:02:26 +08:00
Constrat
9b3f2874ed ci: use GITHUB_TOKEN and run only in org PRs 2025-01-13 13:42:39 +01:00
github-actions[bot]
ddf634ab30 chore: Auto Update Game Resources - 2025-01-13
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12746486126

[skip changelog]
2025-01-13 11:44:06 +00:00
Constrat
a55c977441 feat: preload YostarEN AS navitation 2025-01-13 12:27:00 +01:00
github-actions[bot]
ba415a937d chore: Auto Update Game Resources - 2025-01-13
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12745859046

[skip changelog]
2025-01-13 11:05:48 +00:00
github-actions[bot]
a113526ca9 chore: Auto Update Game Resources - 2025-01-13
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12744876785

[skip changelog]
2025-01-13 10:07:06 +00:00
status102
524fe9e22a chore: PlayToolsController start_game及input方法增加log输出提示 2025-01-13 18:02:00 +08:00
status102
ba33274087 style: format 2025-01-13 18:01:52 +08:00
HX3N
41a551fc12 chore: YostarKR AS navigation (#11537) 2025-01-13 10:44:24 +01:00
Manicsteiner
0e56713f48 chore: YostarJP AS navigation (#11535) 2025-01-13 10:44:03 +01:00
status102
04d0f59144 rft: Wpf重构 拆分开始唤醒任务 (#11533)
* rft: Wpf重构 拆分 开始唤醒

* perf: 移除未使用引用
2025-01-13 17:37:09 +08:00
uye
c5d9644e70 chore: 修改雷电截图增强描述 2025-01-13 16:35:44 +08:00
github-actions[bot]
e3afd3d4b5 chore: Auto Update Game Resources - 2025-01-12
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12734802683

[skip changelog]
2025-01-12 15:26:17 +00:00
status102
f2a8d3619c style: nullable
[skip changelog]
2025-01-12 21:46:29 +08:00
status102
3afc19fd1b Release v5.12.0-beta.1 (#11529) 2025-01-12 21:31:00 +08:00
status102
2d2ecc8862 docs: changelog to v5.12.0-b1 2025-01-12 21:11:55 +08:00
status102
1d48465456 perf: 肉鸽难度设置移动当前选项至列表顶部 2025-01-12 21:01:01 +08:00
晓丶梦丶仁
be7db3fa40 docs: changelog 难度描述 (#11532)
docs: 难度
2025-01-12 20:57:20 +08:00
status102
8aaad31a7b docs: changelog 2025-01-12 20:56:37 +08:00
github-actions[bot]
dcc4aa0d7f docs: Auto Update Changelogs of v5.11.2 (#11530)
* docs: Auto Generate Changelog of Release v5.11.2

* docs: 手写部分

* docs: 写串了

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: 晓丶梦丶仁 <74444214+Daydreamer114@users.noreply.github.com>
2025-01-12 20:50:14 +08:00
晓丶梦丶仁
bda924566f docs: 为肉鸽参数 start_with_seed 添加文档 (#11531)
docs: 为 start_with_seed 添加文档
2025-01-12 20:20:00 +08:00
github-actions[bot]
6b8b32ae5e chore: Auto Update Game Resources - 2025-01-12
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12733331220

[skip changelog]
2025-01-12 12:08:54 +00:00
晓丶梦丶仁
ae2aaa1e6d 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
7b8d1dade0 chore: Release 模式下,如文件夹中包含 DEBUG.txt 也会输出 DBG 日志 (#11496)
* chore: Release 模式,如文件夹中包含 DEBUG.txt 也会输出 DBG 日志

* chore: lambda 被否了

* chore: 不读 DEBUG
2025-01-12 17:46:38 +08:00
status102
40e133a806 rft: 移动企鹅物流及一图流上报设置 至 运行设置 2025-01-12 11:57:18 +08:00
Alisa
b268cb063d i18n: Translations update from MAA Weblate (#11524)
i18n: Translated using Weblate (Japanese)

Currently translated at 98.8% (583 of 590 strings)

Translation: MAA Assistant Arknights/Glossary
Translate-URL: https://weblate.maa-org.net/projects/maa/glossary/ja/

Co-authored-by: SplendidNova <SplendidNova@users.noreply.weblate.maa-org.net>
2025-01-11 23:35:34 +01:00
Constrat
321992a284 tools: update ignore of json text for overseas
[skip changelog]
2025-01-11 15:31:23 +01:00
github-actions[bot]
0fdcae4c21 chore: Auto Update Game Resources - 2025-01-11
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12723177357

[skip changelog]
2025-01-11 09:44:19 +00:00
github-actions[bot]
ca060c6088 chore: Auto Update Game Resources - 2025-01-11
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12722557665

[skip changelog]
2025-01-11 08:07:05 +00:00
Constrat
8caac62e18 ci: limit automatic workflow to this repo only
[skip changelog]
2025-01-10 23:37:22 +01:00
Constrat
3436904035 style: follow prettier
[skip changelog]
2025-01-10 19:21:21 +01:00
Constrat
7f8eb5deb7 chore: cleanup workflow
[skip changelog]
2025-01-10 16:25:58 +01:00
Constrat
ae0fe4c054 chore: allow workflow dispatch to delete cache
[skip changelog]
2025-01-10 16:21:00 +01:00
github-actions[bot]
0d3168782e chore: Auto Update Game Resources - 2025-01-10
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12711374120

[skip changelog]
2025-01-10 14:28:40 +00:00
BxFS
2ec5b06e44 feat: 肉鸽满级自动停止选项 (#11466)
---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
Co-authored-by: HX3N <scarlet7518@gmail.com>
Co-authored-by: momomochi987 <as99us301@gmail.com>
Co-authored-by: ManicSteiner <manicsteiner@outlook.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2025-01-10 15:27:39 +01:00
晓丶梦丶仁
0bce9b0ba8 feat: 为肉鸽开始探索添加 cd 识别 (#11443) 2025-01-10 20:21:07 +08:00
晓丶梦丶仁
e6e8b2f783 perf: 新增投掷手干员组并调整优先级 2025-01-10 20:06:20 +08:00
晓丶梦丶仁
dc220f05cf feat: 萨卡兹肉鸽冰川期作战策略 2025-01-10 20:06:20 +08:00
uye
f8fa4cdb5a fix: 肉鸽烧热水没烧出来会从预设难度开始,而不是返回n0 2025-01-09 23:30:17 +08:00
晓丶梦丶仁
30d3aec48a fix: tasks.json png后缀 (#11511)
[skip changelog]
2025-01-09 22:39:58 +08:00
Horror Proton
8fa2591d1c chore: disable maybe-uninitialized for gcc 14 [skip changelog]
fix: #10512
2025-01-09 21:46:20 +08:00
Constrat
e6d76e5049 chore: ignore blame for e3d63894b2 oxipng optimization 2025-01-09 13:27:15 +01:00
Constrat
f56beb312f tools: update ignore templates for overseas 2
[skip changelog]
2025-01-09 13:26:54 +01:00
Constrat
f435beea8f tools: update ignore templates for overseas
[skip changelog]
2025-01-09 13:17:59 +01:00
晓丶梦丶仁
669e289d27 feat: 萨卡兹内容拓展II点刺进入商店获得构想 (#11509) 2025-01-09 13:10:18 +01:00
Constrat
96b2084b64 chore: disable link checker in issues and PRs (#11506) 2025-01-09 17:40:59 +08:00
github-actions[bot]
af613af810 chore: Auto Update Game Resources - 2025-01-09
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12686742405

[skip changelog]
2025-01-09 09:08:40 +00:00
晓丶梦丶仁
5e79834287 perf: 优化傀影肉鸽雪山上的来客ew部署 (#11195) 2025-01-09 01:23:32 +08:00
晓丶梦丶仁
2c5f027534 fix: 删除傀影肉鸽远方来客意义不明的撤退 (#11194) 2025-01-09 01:23:25 +08:00
Constrat
b224237503 fix: delay and retry downloads on resource updater (#11504) 2025-01-07 16:28:55 +01:00
Constrat
71b7f80207 chore: use API for cache-deletion 2025-01-06 23:54:43 +01:00
Constrat
4ba078784a fix: use read/write secret to delete cache on pr merge 2025-01-06 17:09:50 +01:00
Windsland
76c4096761 docs: 肉鸽辅助协议文档翻译 (#11360) 2025-01-06 16:36:51 +01:00
status102
868467ec1f fix: 博朗台计算等待时间失败数据处理 2025-01-06 20:02:15 +08:00
status102
4367865f6f chore: 移除不再使用的代码 for 最小化启动模拟器
by uye
2025-01-06 19:59:13 +08:00
Constrat
da73ba18dc fix: increase fetch depth for release nightly-ota to generate tags
(might need successive increases)
2025-01-06 00:10:51 +01:00
Constrat
17ef7a759c ci: uncomment test
[skip changelog]
[skip ci]
2025-01-05 10:06:57 +01:00
Roland125
b9f2d793f5 fix:修正nothing to select情况下的判断逻辑 2025-01-05 11:22:19 +08:00
Constrat
01d63d9d63 style: add name to workflow
[skip changelog]
2025-01-04 16:15:42 +01:00
Constrat
1e9380f418 ci: delete stale cache after pr merge 2025-01-04 16:11:18 +01:00
github-actions[bot]
325e83920c chore: Auto Templates Optimization
Triggered by 9c0b40b367

[skip changelog]
2025-01-04 14:14:31 +00:00
Constrat
9c0b40b367 fix: update Collect Rewards template for EN
fix #11485
2025-01-04 15:14:12 +01:00
Constrat
6149329707 ci: delete stale cache script 2025-01-04 15:05:27 +01:00
萨拉托加
ecc6962024 fix: tw OcrReplace 肉鸽招募助战 (#11487)
fix: 招募助战识别
2025-01-04 21:45:00 +08:00
Constrat
be36a88607 chore: move push tag later in the workflow in case or errors (#11480)
chore: move push tag later in the workflow in case or errors
2025-01-04 14:21:17 +01:00
Constrat
026b0742c2 style: i18n tweak
[skip changelog]
[skip ci]
2025-01-04 13:00:55 +01:00
Roland125
1e29fe6525 feat:不自动招募1/5/6星干员时,不计入最大确认招募次数 (#11380)
* feat:不自动招募1/5/6星干员时,不计入最大确认招募次数
test:添加相应的测试函数(仅Relwithdebinfo生效)
fix:添加calc_task_result_type结构体的构造函数。修改其用法,使得代码更直观。

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

* fix:修复跳过特定招募计数功能中的逻辑错误#11380

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

* Revert "fix:修复跳过特定招募计数功能中的逻辑错误#11380"

This reverts commit 4870e127aa.

* fix:修复跳过特定招募计数功能中的逻辑错误#11380

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

* fix: do not return early for calc only task

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Horror Proton <107091537+horror-proton@users.noreply.github.com>
2025-01-04 19:41:40 +08:00
Constrat
81b1465cd1 style(ci): change job name
[skip changelog]
2025-01-04 11:51:58 +01:00
uye
b960f0305c chore: 上报添加 User-Agent 2025-01-04 14:03:03 +08:00
uye
b396063d7d chore: 修改上报抬头 2025-01-04 12:50:44 +08:00
Constrat
1a408a7234 chore: Use %B to consider header for skip changelog 2025-01-03 23:54:24 +01:00
Constrat
e203728fb5 i18n: DependencySetup
[skip changelog]
2025-01-03 22:54:45 +01:00
Constrat
6d0ca82418 fix: EN SL roi navigation
[skip changelog]
2025-01-03 19:32:55 +01:00
github-actions[bot]
d09fed8f95 chore: Auto Update Game Resources - 2025-01-03
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12601175680

[skip changelog]
2025-01-03 17:05:44 +00:00
github-actions[bot]
e874df408b chore: Auto Update Game Resources - 2025-01-03
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12594093152

[skip changelog]
2025-01-03 07:06:19 +00:00
HY
03c1fc8d28 fix: 繁中服作戰失敗畫面卡住 (#11479) 2025-01-02 16:18:05 +01:00
github-actions[bot]
e78f94d59f chore: Auto Templates Optimization
Triggered by 512a199382

[skip changelog]
2025-01-02 11:47:08 +00:00
Constrat
512a199382 fix: InitialDrop.png更新
Co-authored-by: BxFS <15606086+BxFS@users.noreply.github.com>
2025-01-02 12:46:44 +01:00
github-actions[bot]
c4317b556b chore: Auto Templates Optimization
Triggered by 3efab62747

[skip changelog]
2025-01-02 11:26:54 +00:00
Constrat
3efab62747 Revert "test: try setup dotnet cache"
This reverts commit 835d9b9816.
[skip changelog]
[skip ci]
2025-01-02 12:21:38 +01:00
Constrat
835d9b9816 test: try setup dotnet cache 2025-01-02 12:19:52 +01:00
uye
3bedb90578 feat: 干员识别排除当前客户端未出干员 2025-01-02 10:27:35 +08:00
uye
d63085002a feat: 肉鸽开局干员列表排除当前客户端未出干员 2025-01-02 10:20:06 +08:00
Constrat
23602d95f2 fix: txwy duplicates in tasks.json 2025-01-01 18:17:10 +01:00
Constrat
f522a38f68 chore: EN duplicates in tasks.json + SSS Buffs 2025-01-01 18:14:09 +01:00
Manicsteiner
2556b0f9ed chore: YostarJP phantom roguelike game pass, SSS#6 (#11473) 2025-01-01 18:13:44 +01:00
Constrat
e24842913f ci: dotnet restore not needed for smoke-testing
[skip changelog]
2025-01-01 18:07:35 +01:00
Constrat
2f70d3d665 ci: fix consistency in cache key for res-update
[skip changelog]
2025-01-01 17:54:49 +01:00
Constrat
44349b2775 style: simplify key for res-update-game
[skip changelog]
2025-01-01 17:43:59 +01:00
Constrat
fbf26fe628 ci: smoke-testing cache + scope (#11474) 2025-01-01 17:40:49 +01:00
Constrat
28eb7efff2 fix: MaaDeps needs to be ignored
21c33e68ea
207172b366
[skip changelog]
2025-01-01 16:45:36 +01:00
Constrat
c0f2eb3471 fix: github workflow syntax for smoke-testing
[skip changelog]
2025-01-01 16:07:39 +01:00
Constrat
a184f8fe89 ci: increase operations-per-run stale.yml
[skip changelog]
2025-01-01 15:32:12 +01:00
Constrat
0ef899f955 ci: smoke-testing restore cache on all branches. Save only on dev. 2025-01-01 15:25:06 +01:00
momomochi987
7ca44dd84c chore: 繁中服「源石塵行動」復刻活動導航 2025-01-01 13:00:20 +01:00
github-actions[bot]
40700ef1bd chore: Auto Update Game Resources - 2025-01-01
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12568688579

[skip changelog]
2025-01-01 08:08:00 +00:00
Constrat
b47adf15fd fix: fetch tags for nightly ota
[skip changelog]
2025-01-01 01:00:37 +01:00
Constrat
ca53694c71 fix: typo
[skip changelog]
2025-01-01 00:53:27 +01:00
Constrat
c6c85f76ad fix: checkout depth for nightly ota 2025-01-01 00:52:14 +01:00
Constrat
47f649c96d ci: use API for release-nightly-ota cancel (#11467) 2024-12-31 20:07:01 +01:00
github-actions[bot]
a17c8f2eef chore: Auto Update Game Resources - 2024-12-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12562807371

[skip changelog]
2024-12-31 18:32:52 +00:00
uye
57bfafbaeb chore: battle_data 未实装干员添加字段提示 2025-01-01 02:25:00 +08:00
uye
ab2debfd32 chore: 别用 1234567890ABCDEF 去连模拟器了 2025-01-01 02:25:00 +08:00
Constrat
e20cb789e6 refactor: remove error bypass, tweak powershell syntax
[skip changelog]
2024-12-31 18:04:18 +01:00
Constrat
fd81de52d4 Revert "refactor: move resource copy to test script"
This reverts commit 2b501bb815.
2024-12-31 17:35:49 +01:00
Constrat
2b501bb815 refactor: move resource copy to test script
[skip changelog]
2024-12-31 17:27:50 +01:00
Constrat
fe8739c587 style: tweaked resource updater validator output
[skip changelog]
2024-12-31 17:11:31 +01:00
github-actions[bot]
14e71e3aaa chore: Auto Update Game Resources - 2024-12-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12561593984

[skip changelog]
2024-12-31 16:06:33 +00:00
uye
1e35d0ef02 fix: 更新 “视相“ 主题后未关闭退出基建弹窗时无法回到主界面
fix #11463
2024-12-31 15:46:08 +08:00
Constrat
f8b1ce122a perf: manual recursion + robocopy for smoke-testing (#11458) 2024-12-30 10:03:41 +01:00
uye
3a01a7f50c chore: 启动 MAA 后直接运行启动 MAA 后自动开启模拟器 改为独立配置 2024-12-30 15:08:26 +08:00
uye
afd286d72b chore: 只有一个配置的时候不显示 此选项页为全局配置 2024-12-30 15:05:53 +08:00
uye
53d86fb008 chore: 当前配置不存在时尝试读取全局配置 2024-12-30 15:04:18 +08:00
uye
581e4649d5 fix: 手动输入关卡名使用剩余理智 选项无法保存 2024-12-30 13:21:52 +08:00
status102
f95f1b8cc6 chore: Config序列化参数不转义中文 2024-12-30 10:24:10 +08:00
Constrat
430164d52d perf: implement cache for smoke-test (#11457) 2024-12-29 22:20:19 +01:00
Constrat
d64863a6cf ci: implement ps script for smoke-testing (#11455) 2024-12-29 20:43:16 +01:00
uye
c0a0657f42 Release v5.11.1 (#11450) 2024-12-29 21:43:35 +08:00
uye
447d6d0aee docs: Update CHANGELOG.md (#11452) 2024-12-29 21:42:16 +08:00
Rbqwow
cc2968c2e9 docs: 更新文档 (#11430)
* docs: 更新文档

对不起我忘记拆分 commit 了

优化 winget 安装运行库命令
添加 一键修复运行库.ps1
将 image 文件夹重命名为 images
添加账号切换执行时机说明

土下座

Co-authored-by: SherkeyXD <57581480+SherkeyXD@users.noreply.github.com>

* docs: 跟上学姐的脚步

* fix: cli docs

---------

Co-authored-by: SherkeyXD <57581480+SherkeyXD@users.noreply.github.com>
2024-12-29 21:34:30 +08:00
Constrat
562e84aa97 fix: StartButton1 ocrReplace syntax error in JP tasks.json 2024-12-29 13:20:53 +01:00
status102
bab71d1da4 fix: 移除多余的Gui配置 2024-12-29 20:05:56 +08:00
Sherkey Asher
e1fab541e5 feat: 适配界面主题「大荒」与「视相」 (#11449) 2024-12-29 18:06:13 +08:00
github-actions[bot]
8d12d313f5 chore: Auto Update Game Resources - 2024-12-29
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12533972992

[skip changelog]
2024-12-29 08:45:08 +00:00
status102
c643045b57 style: 设置界面Instance
[skip changleog]
2024-12-29 15:31:07 +08:00
uye
b72b30ab6d chore: 改漏了
[skip changelog]
2024-12-29 13:16:38 +08:00
uye
d1e6ca611a fix: characterNamesClientAdd 获取错误 2024-12-29 11:49:48 +08:00
Constrat
47b8fc72a5 ci: revert builds to ubuntu 22.04 (#11446)
* ci: revert builds to 22.04

* fix: only ci requires ubuntu 22.04
2024-12-29 11:42:29 +08:00
github-actions[bot]
a0047a6d49 chore: Auto Update Game Resources - 2024-12-28
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12529391655

[skip changelog]
2024-12-28 20:06:16 +00:00
uye
4eef588031 chore: MAA 启动相关改为全局配置 2024-12-28 16:45:04 +08:00
uye
00439ecfa9 chore: 界面设置改为全局配置 2024-12-28 16:38:45 +08:00
uye
24542bc4fc chore: 热键改为全局配置 2024-12-28 16:07:23 +08:00
uye
8b4dd70b48 feat: 支持 XX-EX1 类型关卡名列表添加
fix #11425
2024-12-28 15:38:12 +08:00
uye
ea4256a9f2 chore: 最小化到托盘和使用托盘图标改为全局配置 2024-12-28 15:24:06 +08:00
Constrat
395d53fe0c refactor: cleanup set tag script
[skip changelog]
2024-12-28 00:27:07 +01:00
Constrat
a6a02e5c6e fix: typo
[skip changelog]
2024-12-27 16:44:02 +01:00
Constrat
f55db60431 ci: nightly workflow tweaks (#11441)
* style: comment for changelog generator python

* chore: optimize conditional check for commit build

* feat: remove semver and unify checker and setter tag

* style: tweaked debug output
2024-12-27 16:29:37 +01:00
Constrat
881a852d96 ci: revert single point cancel run
[skip changelog]
2024-12-27 12:06:35 +01:00
uye
ef9fbf81da feat: 添加运行库安装脚本 2024-12-27 13:29:01 +08:00
Constrat
2a31a33194 ci: utilize changelog generator as version difference checker (#11437) 2024-12-27 00:27:10 +01:00
uye
7317087458 Release v5.11.0 (#11427)
好像没啥新东西,收拾收拾准备发正式版了
2024-12-26 23:15:25 +08:00
AnnAngela
92b69fbe93 chore: 看了下没合并,删了 2024-12-26 21:47:20 +08:00
Constrat
a4369b7d59 chore: update CHANGELOG 2024-12-26 14:38:08 +01:00
github-actions[bot]
a73f1fe939 docs: Auto Update Changelogs of v5.11.0 (#11434)
* docs: Auto Generate Changelog of Release v5.11.0

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: AnnAngela <naganjue@vip.qq.com>
2024-12-26 21:33:15 +08:00
Constrat
ae69496159 chore: change secret (#11435) 2024-12-26 14:05:04 +01:00
晓丶梦丶仁
6b1854afe7 chore: tw OcrReplace 添加关卡内道具 (#11431) 2024-12-26 15:39:29 +08:00
uye
0128c309a9 docs: 更新 README (#11398)
* docs: 更新 README

* i18n: 更新外语 readme

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

* chore: 还原误操作

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-26 15:19:40 +08:00
Loong
3053680369 chore: bump maa-cli to 0.5.2 (#11428) 2024-12-25 21:56:38 +00:00
github-actions[bot]
0b3bfa9678 chore: Auto Update Game Resources - 2024-12-25
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12496168511

[skip changelog]
2024-12-25 20:06:34 +00:00
github-actions[bot]
16db020f04 chore: Auto Update Game Resources - 2024-12-24
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12484382224

[skip changelog]
2024-12-24 17:05:35 +00:00
uye
fd95858e65 fix: “启动 MAA 后直接最小化”选项功能失效
fix #11419
2024-12-25 00:12:50 +08:00
Constrat
45c803def4 fix: RA2 crafting list
fix e1177db348
2024-12-24 15:39:55 +01:00
Hao Guan
74c7cb0bc6 chore: Mac GUI 界面改进和修复 (#11422) 2024-12-24 18:09:43 +11:00
github-actions[bot]
cd15f14d5c chore: Auto Update Game Resources - 2024-12-24
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12478342783

[skip changelog]
2024-12-24 07:06:22 +00:00
Constrat
01e4b2470f feat: RA2 multi-crafting 2024-12-23 18:07:35 +01:00
github-actions[bot]
b7c763375e chore: Auto Update Game Resources - 2024-12-23
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12467337602

[skip changelog]
2024-12-23 13:12:48 +00:00
HX3N
4f35c1d7c4 chore: YostarKR HE rerun navigation 2024-12-22 12:58:15 +01:00
Weiyou Wang
19fc7d3472 fix: crop ClueSelected template to make sure it works under long clue names (#11409)
---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-22 00:22:55 +01:00
HY
ae4239597d chore: 更新繁中服進入肉鴿的方式 (#11386) 2024-12-22 01:54:00 +08:00
晓丶梦丶仁
be67372350 fix: RA删除存档时重复识别 (#11406) 2024-12-22 03:20:32 +11:00
Constrat
4e382eccd4 style: prettier fix
[skip changelog]
2024-12-21 16:00:48 +01:00
Constrat
96c6abe1c9 ci: reorder optimize templates steps 2024-12-21 15:59:19 +01:00
github-actions[bot]
a02a7a91ee chore: Auto Templates Optimization
Triggered by dce5d55672

[skip changelog]
2024-12-21 14:47:18 +00:00
Constrat
dce5d55672 ci: allow manual workflow dispatch for optimize templates 2024-12-21 15:46:26 +01:00
Constrat
7e46255ca6 ci: remove limit from stale action 2024-12-21 15:37:00 +01:00
Constrat
3b25f8d8da ci: remove cache from markdown-checker (#11405)
* test: remove cache from markdown checker

* chore: remove caching from markdown-checker

difference in times is minimal
2024-12-21 15:21:14 +01:00
Constrat
70119da5b2 fix: typo
[skip changelog]
2024-12-21 14:18:26 +01:00
Constrat
7629c089f4 perf(ci): use API instead of gh cache 2024-12-21 14:05:19 +01:00
Constrat
4c38bb4094 refactor: smoke-testing bash -> powershell 2024-12-21 00:32:41 +01:00
Constrat
2f7bea450b fix: git init to allow gh commands 2024-12-21 00:13:37 +01:00
Constrat
1cc457266f fix: GH_TOKEN for smoke testing + fail_fast 2024-12-20 23:46:33 +01:00
Constrat
1b89299c9c ci: perf improvement with caching (#11400) 2024-12-20 23:31:40 +01:00
github-actions[bot]
570648a89c chore: Auto Update Game Resources - 2024-12-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12435747249

[skip changelog]
2024-12-20 17:27:48 +00:00
uye
35d9b03b96 fix: 卡达,玛露西尔基建技能效率错误
fix #10604
2024-12-20 19:54:12 +08:00
Rbqwow
14c68fb69d docs: 任务流程协议 管理员权限FAQ 牛牛监控 (#11375)
* docs: uye

~~我不到啊~~

* docs: 管理员权限 FAQ

* docs: 更新小工具→牛牛监控

* docs: 补充管理员权限FAQ

* docs: 补全UAC FAQ翻译

* docs: 多余的空格

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2024-12-20 19:47:10 +08:00
github-actions[bot]
0d746a4053 chore: Auto Update Game Resources - 2024-12-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12430011384

[skip changelog]
2024-12-20 10:44:37 +00:00
github-actions[bot]
06685f185c chore: Auto Update Game Resources - 2024-12-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12427814028

[skip changelog]
2024-12-20 08:08:15 +00:00
momomochi
bde76c94cb i18n: Translated using Weblate (Chinese (Traditional))
Currently translated at 98.1% (579 of 590 strings)

Translation: MAA Assistant Arknights/Glossary
Translate-URL: https://weblate.maa-org.net/projects/maa/glossary/zh_Hant/
2024-12-20 08:24:42 +01:00
github-actions[bot]
2b573aedaf chore: Auto Update Game Resources - 2024-12-20
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12425552718

[skip changelog]
2024-12-20 04:29:42 +00:00
uye
b1cabfca1a feat: RS-5 导航 2024-12-19 20:35:14 +08:00
github-actions[bot]
588ec01baf chore: Auto Update Game Resources - 2024-12-19
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12408675210

[skip changelog]
2024-12-19 08:08:01 +00:00
github-actions[bot]
6a9390170d chore: Auto Update Game Resources - 2024-12-18
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12400485796

[skip changelog]
2024-12-18 20:07:40 +00:00
github-actions[bot]
d81b61dd46 chore: Auto Update Game Resources - 2024-12-18
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12397804878

[skip changelog]
2024-12-18 17:08:07 +00:00
Constrat
74989c14ef fix: resource updater txwy second error from intern-kun 2024-12-18 18:05:13 +01:00
github-actions[bot]
7b1f41a064 chore: Auto Update Game Resources - 2024-12-18
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12396980389

[skip changelog]
2024-12-18 16:17:55 +00:00
Constrat
848201f71a fix: txwy gamedata xaml typo
intern-kun fucked up [again]
2024-12-18 17:15:41 +01:00
Constrat
d3ab6c4060 fix: precommit prettier
[skip changelog]
[skip ci]
2024-12-18 13:46:37 +01:00
uye
229bdb6514 fix: 修复肉鸽选难度偶现识别错误 2024-12-18 20:32:20 +08:00
Constrat
d7f4f974d3 ci: remove cancel status from optimize templates
I hate the red cross. If cancel, the workflow is not failed, but github doesn't know
2024-12-18 13:09:35 +01:00
Weiyou Wang
411bba66f8 fix: 生息演算无存档刷点模式,允许在确认离开当前区块后没有 Loading Text 的情况下等待 (#11381) 2024-12-18 19:59:21 +08:00
pre-commit-ci[bot]
9cfde0b6a6 chore: Auto update by pre-commit hooks [skip changelog] 2024-12-18 12:45:52 +01:00
momomochi987
424fe44e30 chore: 適配繁中服「圍攻行動」主題介面 2024-12-18 12:45:52 +01:00
momomochi987
074088de08 chore: 繁中服「水晶箭行動」活動導航 2024-12-18 12:45:25 +01:00
github-actions[bot]
012671159c chore: Auto Update Game Resources - 2024-12-17
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12371648406

[skip changelog]
2024-12-17 11:02:24 +00:00
Horror Proton
21ce4d5fbb chore: fix typo [skip changelog] 2024-12-17 16:28:09 +08:00
Horror Proton
12c57cc762 chore: suppress false positive warning of gcc12 2024-12-17 16:06:47 +08:00
Roland125
64f4358c77 fix: Try to fix the compilation failure on aarch64 (#11378)
fix:Try to fix the compilation failure on aarch64
2024-12-17 15:22:36 +08:00
Rbqwow
8fb2734f7c build: Update turbo from 2.2.3 to 2.3.3 (#11376) 2024-12-17 15:16:52 +08:00
lianghong
ff7fff97fa feat: add discord webhook external notification (#11373) 2024-12-17 14:50:10 +08:00
uye
e57efd0d79 chore: 添加 python 资源加载示例 2024-12-17 13:31:50 +08:00
uye
e4c03d2775 feat: 重新适配 DepotEnter 多界面主题 2024-12-17 13:26:20 +08:00
uye
42dfa2233c Revert "feat: DepotEnter适配界面主题 (#7145)"
This reverts commit 113f3235b3.
2024-12-17 13:21:36 +08:00
uye
f6882998dd Revert "chore: 在Python脚本中添加活动关导航下载与加载的示例 (#3916)"
This reverts commit 16d8ae1ec5.
2024-12-17 13:14:09 +08:00
uye
da7b0bf51a Revert "chore: 改进Python脚本中incremental_path参数说明"
This reverts commit 4284b47940.
2024-12-17 13:13:41 +08:00
uye
8c4a47916b chore: 移除设置指引的 skip 2024-12-17 09:53:35 +08:00
Constrat
3c965f556b fix: powershell instead of bash 2024-12-16 23:14:43 +01:00
bodayw
b5113dee24 feat: 更新 243 极限效率一天四换排班表(20241216 修订)
根据[公孙长乐 2024-12-16 新视频](https://www.bilibili.com/video/BV13gBwYbEG5/?t=158)制作。

变化不大,只是用引星棘刺替换掉了斑点。

Spot -> Thorns the Lodestar for gold manufacture
2024-12-16 10:57:20 +01:00
Constrat
c925d4d85b ci: blame ignore only commits when ignore-revs is modified 2024-12-16 00:25:20 +01:00
github-actions[bot]
d11893a05a chore: auto blame ignore
[skip changelog]
2024-12-15 23:01:26 +00:00
Constrat
272d71fa29 ci: disable blame ignore cron + revert 2024-12-16 00:00:19 +01:00
github-actions[bot]
5140055482 chore: auto blame ignore
[skip changelog]
2024-12-15 22:30:28 +00:00
Constrat
0a38544023 revert: changes from blame-ignore test 2024-12-15 23:29:38 +01:00
github-actions[bot]
6dc53704b8 chore: auto blame ignore
[skip changelog]
2024-12-15 22:28:14 +00:00
Constrat
9577fc4e95 fix: precommit for blame-ignore + bypass on artifact missing 2024-12-15 23:27:14 +01:00
Constrat
355cbbc32b ci: switching blame-ignore to file less commit tracking 2024-12-15 23:23:04 +01:00
Constrat
6311c1c612 ci: fix release nightly ota anti duplicate logic to git log past 24 hours 2024-12-15 23:22:19 +01:00
Constrat
d5d5daee8e ci: bump res update game upload action version 2024-12-15 23:21:54 +01:00
github-actions[bot]
d684b3b6f0 chore: auto blame ignore
[skip changelog]
2024-12-15 21:47:20 +00:00
Constrat
d56404207f Revert "fix: ci release nightly ota if condition"
This reverts commit 2d5aee85f8.

Working on a much better solution
2024-12-15 22:31:34 +01:00
Constrat
2d5aee85f8 fix: ci release nightly ota if condition 2024-12-15 22:28:24 +01:00
uye
c4f3a1c795 Release v5.11.0-beta.2 (#11366) 2024-12-15 20:53:58 +08:00
github-actions[bot]
88673a2f16 docs: Auto Update Changelogs of v5.11.0-beta.2 (#11367)
docs: Auto Generate Changelog of Release v5.11.0-beta.2

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-15 18:01:19 +08:00
github-actions[bot]
15c60163a8 chore: Auto Update Game Resources - 2024-12-15
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12336158813

[skip changelog]
2024-12-15 05:26:57 +00:00
github-actions[bot]
d18e824c70 chore: auto blame ignore
[skip changelog]
2024-12-14 21:47:24 +00:00
Constrat
3587b57a3a ci: typo + consistency 2024-12-14 15:52:28 +01:00
Constrat
fec66d5c05 fix: Shu EN regex 2024-12-14 15:50:31 +01:00
Constrat
92144559a9 Revert "refactor: yml -> yaml standardization"
This reverts commit 0389430f17.
2024-12-14 14:46:30 +01:00
Constrat
0389430f17 refactor: yml -> yaml standardization 2024-12-14 14:39:01 +01:00
github-actions[bot]
cbd71c0d74 chore: auto blame ignore
[skip changelog]
2024-12-13 21:49:37 +00:00
Constrat
d57487dfb0 ci: styling formatting + cron adjustment 2024-12-13 15:04:18 +01:00
github-actions[bot]
8bbc4c2209 chore: auto blame ignore
[skip changelog]
2024-12-13 13:41:59 +00:00
Constrat
540ac8939c ci: prevent duplicate runs (#11362)
From https://github.com/zopefoundation/meta/issues/145#issuecomment-1247814559
2024-12-13 14:22:30 +01:00
晓丶梦丶仁
2b45705ffd docs: 新手上路增加非 Windows 指引;macOS 和 Android 实体设备添加说明 (#11227)
* docs: 优化新手上路系统分类

* docs: en

* fix: 双系统说明

* docs: 将非 Windows 用户引向 device/readme, 并细化特殊提示的位置

* docs: 优化mac开发说明

* docs: 补充翻译

* docs: small fix

修改部分语句使能在一行内完整渲染
小写 adb 改成了大写 ADB
人工 pangu.js
对联

* fix: 回滚子模块

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
Co-authored-by: Rbqwow <55343783+Rbqwow@users.noreply.github.com>
2024-12-12 17:48:45 +08:00
github-actions[bot]
e9e20e78c3 chore: Auto Update Game Resources - 2024-12-12
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12293072744

[skip changelog]
2024-12-12 09:05:52 +00:00
Mike Qu
62da79859f docs: 增加Mac模拟器:蓝叠模拟器air版 (#11349)
* docs: 增加Mac模拟器:蓝叠模拟器air版

* docs: 添加文档中“蓝叠模拟器air版”部分的翻译
2024-12-12 15:49:59 +08:00
lianghong
91b4fc1025 chore: add YostarJP ocrReplace 黑角 (#11350)
---------

Co-authored-by: ManicSteiner <manicsteiner@outlook.com>
2024-12-11 16:58:12 +01:00
Constrat
79fb27cbac ci: disable optimize-templates on PR merge (#11355) 2024-12-11 16:56:27 +01:00
github-actions[bot]
81cd1ae247 chore: Auto Templates Optimization
Triggered by 1e6bab9a0b

[skip changelog]
2024-12-11 12:29:01 +00:00
HX3N
1e6bab9a0b fix: YostarKR improved StageBoskyPassageEnter recognition score (#11351) 2024-12-11 21:28:41 +09:00
Constrat
4d70df7457 ci: stop sync resource on forked repos 2024-12-11 12:15:35 +01:00
github-actions[bot]
7081bb3a43 chore: Auto Templates Optimization
Triggered by 07023b15a4

[skip changelog]
2024-12-11 10:38:22 +00:00
Weiyou Wang
07023b15a4 feat: 为选择线索添加判定 (#11323)
* feat: 为选择线索添加判定

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-11 21:38:01 +11:00
status102
e96c698fe9 Reapply "style: 修改变量以符合项目风格"
This reverts commit 94d445d354.
2024-12-11 14:02:04 +08:00
uye
e250f780c0 fix: CheckComboBox 初始化报错
fix #11344
fix #11342
2024-12-11 11:33:45 +08:00
status102
94d445d354 Revert "style: 修改变量以符合项目风格"
This reverts commit 8cc0779541.
2024-12-11 11:01:56 +08:00
Constrat
11ea7470b4 fix: SSS recruitment flag EN 2024-12-10 13:38:50 +01:00
Constrat
70cf5096f3 ci: fix pr merges calling optimizing workflow 2024-12-10 13:29:48 +01:00
github-actions[bot]
85e6f51724 chore: Auto Templates Optimization
Triggered by ec3c3543f3

[skip changelog]
2024-12-10 12:13:35 +00:00
HX3N
ec3c3543f3 fix: YostarKR improved StageMysteriousPresageEnter recognition score (#11336)
* fix: YostarKR improved StageMysteriousPresageEnter recognition score

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-10 13:13:11 +01:00
github-actions[bot]
0696fde360 chore: Auto Templates Optimization
Triggered by d73d4e7e8c

[skip changelog]
2024-12-10 11:30:05 +00:00
晓丶梦丶仁
d73d4e7e8c fix: 网络卡顿导致领邮件失败 (#11333) 2024-12-10 19:29:11 +08:00
status102
8cc0779541 style: 修改变量以符合项目风格
[skip changelog]
2024-12-10 11:03:51 +08:00
晓丶梦丶仁
c778353cda fix: 进入去伪存真后识别太快导致错过 close collection 识别 2024-12-09 22:18:47 +01:00
status102
ccca4afc53 rft: WpfGui重构 部分拆分设置-关于 (#11330) 2024-12-09 21:34:02 +08:00
status102
524d5fa2a0 rft: WpfGui重构 拆分设置-性能设置 (#11329) 2024-12-09 21:07:53 +08:00
status102
fdbe389995 fix: 小工具-公招识别 绑定失效 2024-12-09 20:33:54 +08:00
Weiyou Wang
3065689ed2 fix: 增加 Tales@RA@ResourceGained 任务的 roi (#11322) 2024-12-09 15:57:20 +08:00
Constrat
2654499f62 ci/nightly-schedule (#11317)
* ci: add daily schedule for nightly ota build

* ci: add checker for no changes

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

* ci: reduce fetch default to 10

* style: clarify what the limits are

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-09 00:37:52 +01:00
萨拉托加
32dac5731c chore: 更新保全派驻荒地群兽音乐厅,多索雷斯在建地块新作业 (#11318)
* chore: 转移旧保全作业

* chore: Delete resource/copilot/SSS_交战荒野-维什戴尔+澄闪+浊心斯卡蒂+纯烬艾雅法拉or流明-皇家科学院望远镜.json

* chore: Delete resource/copilot/SSS_交战荒野_澄闪+塞雷娅+纯烬艾雅法拉or流明+重岳or水月or阿斯卡纶_皇家科学院望远镜.json

* chore: Delete resource/copilot/SSS_玉门市集-维什戴尔+澄闪+浊心斯卡蒂+纯烬艾雅法拉or流明-攀云机.json

* chore: Delete resource/copilot/SSS_玉门市集_澄闪+塞雷娅+维什戴尔+纯烬艾雅法拉+重岳or水月or阿斯卡纶_攀云机.json

* chore: 更新多索雷斯在建地块和荒地群兽音乐厅新作业

* fix: 保全派驻中出现的塑心识别错误修复

* chore: 改逗号

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-12-08 16:10:16 +01:00
status102
8a4fb52830 rft: 简化完成后动作UI绑定 (#11316) 2024-12-08 18:08:32 +08:00
status102
74aa188bd4 rft: WpfGui重构 拆分一键长草-公招任务 (#11311) 2024-12-08 14:53:29 +08:00
Manicsteiner
9b2400040f fix: YostarJP MedicineExpiringTime ocr fix (#11307) 2024-12-07 13:35:54 +08:00
Constrat
29e74c1f50 style: tweak unsupported level logging (#11305)
* style: add `: ` between ID and reasoning

* style: standardyze comma
2024-12-07 08:41:21 +08:00
__Chisato__
b3d4269476 feat: enhance MAA website animation for a more elegant appearance (#11303)
* feat: enhance MAA website animation for a more elegant appearance

* fix: briefly appears scrollbar which cause a bad animation apperance.
2024-12-06 17:53:15 +01:00
晓丶梦丶仁
68776ea8af fix: 将萨卡兹肉鸽 CloseCollection 的 Continue 和 Close 改为 RGBCount (#11302)
* fix: 将萨卡兹肉鸽的 next 鱼骨改为 RGBCount

* fix: 再缩小rgb范围

* fix: 将 close 也改为 rgbcount
2024-12-06 22:45:39 +08:00
Constrat
4a11d0eeb0 style: clangd formatting
fix 941a98d
[skip changelog]
2024-12-06 15:17:05 +01:00
uye
941a98d90a fix: 仓库识别无法识别 ”万“ 2024-12-06 19:23:07 +08:00
uye
f549c1feee perf: 优化仓库识别显示,减少读取文件次数,优化文件占用 2024-12-06 18:36:38 +08:00
Rbqwow
fe1deb1f23 fix: 移除多余的阻止休眠设置选项 (#11301) 2024-12-06 08:48:17 +08:00
uye
941c5bee4e Release v5.11.0-beta.1 (#11299) 2024-12-06 02:00:46 +08:00
Hao Guan
f803a6510d fix: 设置Xcode版本为15.3 (#11298) 2024-12-06 01:40:51 +08:00
uye
dc016a982c Release v5.11.0-beta.1 (#11291) 2024-12-05 23:34:10 +08:00
github-actions[bot]
0b1b48a42f docs: Auto Update Changelogs of v5.11.0-beta.1 (#11297)
docs: Auto Generate Changelog of Release v5.11.0-beta.1

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-05 23:19:55 +08:00
Hao Guan
1c5bbd1602 feat: Mac GUI重构&多语言 (#11295) 2024-12-06 00:02:00 +11:00
Constrat
14b99f8538 tools: style for clone_data powershell script
[skip changelog]
2024-12-05 11:23:12 +01:00
Sherkey Asher
f22f817ed2 feat: SideStory「出苍白海」导航 (#11294) 2024-12-05 10:23:11 +01:00
ManicSteiner
e7925f5191 chore: remove Yostar servers reclamation algorithm temp edits 2024-12-05 10:22:44 +01:00
github-actions[bot]
30fe628a30 chore: Auto Update Game Resources - 2024-12-05
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12176469017

[skip changelog]
2024-12-05 09:04:00 +00:00
晓丶梦丶仁
5e126b6c09 fix: 萨卡兹肉鸽点刺成锭分队开局思维阻塞 (#11276) 2024-12-05 16:12:49 +08:00
github-actions[bot]
84a8313d6c chore: Auto Update Game Resources - 2024-12-05
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12175584842

[skip changelog]
2024-12-05 08:04:13 +00:00
uye
f69bab0594 chore: 管理员权限启动无法使用开机自启 (#11290)
* chore: 管理员权限启动无法使用开机自启

* i18n: zh-tw tweak

---------

Co-authored-by: momomochi987 <as99us301@gmail.com>
2024-12-05 13:25:56 +08:00
github-actions[bot]
3c9b3c53fc chore: Auto Update Game Resources - 2024-12-05
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12172993213

[skip changelog]
2024-12-05 04:04:17 +00:00
github-actions[bot]
3977bdd69d chore: Auto Update Game Resources - 2024-12-05
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12172132319

[skip changelog]
2024-12-05 02:37:51 +00:00
Constrat
79c656e271 Revert "ci: change author from github bot to github actions"
This reverts commit d4f49b60fc

[skip changelog]
2024-12-04 11:03:54 +01:00
Github Actions
fc8e43037e chore: Auto Update Game Resources - 2024-12-04
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12155829857

[skip changelog]
2024-12-04 08:29:56 +00:00
Constrat
d4f49b60fc ci: change author from github bot to github actions 2024-12-04 08:25:32 +01:00
Constrat
02b0234a27 tools: style linking
[skip changelog]
2024-12-04 08:14:11 +01:00
github-actions[bot]
26aed3ea0f chore: Auto Update Game Resources - 2024-12-04
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12154667539

[skip changelog]
2024-12-04 07:04:06 +00:00
uye
bf656ab6eb chore: 因为资源版本上报失败时添加提示 2024-12-04 13:36:05 +08:00
github-actions[bot]
f450292a51 chore: Auto Update Game Resources - 2024-12-04
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12153038136

[skip changelog]
2024-12-04 04:29:31 +00:00
Manicsteiner
488040a140 feat: YostarJP manually add BP new operators (#11286) 2024-12-04 13:18:02 +09:00
HX3N
4ddf92e827 chore: YostarKR add BP new operators (#11285)
chore: add BP new operators
2024-12-04 13:16:14 +09:00
github-actions[bot]
db81dd428a chore: Auto Update Game Resources - 2024-12-03
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12149226729

[skip changelog]
2024-12-03 22:27:47 +00:00
Constrat
df5ee99fc0 fix: missing battle_data BP event 2024-12-03 23:26:19 +01:00
Constrat
2d9637372e feat: add BP new operators
@Manicsteiner @HX3N the repo for the res data is not working. Manual patch is required.
2024-12-03 20:57:46 +01:00
Constrat
437bf628f1 chore: small wpf changes for HelpUsWithOverseasServersTip
[skip changelog]
2024-12-03 15:29:12 +01:00
uye
7b2b69dd03 fix: 双击托盘图标可能导致窗口位置错误
fix #11274
2024-12-03 12:08:39 +08:00
uye
79e526833b chore: 移除多余代码 2024-12-03 11:09:27 +08:00
HX3N
cf4ea870cb chore: YostarKR BP navigation (#11279) 2024-12-03 09:49:20 +08:00
Hao Guan
8c6d72c88d fix: Mac GUI日志&肉鸽难度设置 (#11273) 2024-12-03 09:45:40 +08:00
status102
f7a5bad3a9 rft: WpfGui重构 拆分一键长草-刷理智任务 (#11223) 2024-12-02 20:19:08 +08:00
Weiyou Wang
1523683633 fix: 为 ios端降低 Sarkaz@Roguelike@DecreaseBurdenAbandonThought 任务模版匹配的 threshold (#11266) 2024-12-01 21:09:20 +08:00
github-actions[bot]
ac2b7d461d chore: Auto Update Game Resources - 2024-12-01
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12105111052

[skip changelog]
2024-12-01 11:42:36 +00:00
Constrat
a724ddddfb feat: YostarEN BP navigation 2024-12-01 12:37:56 +01:00
ManicSteiner
bdd3b3396f chore: YostarJP BP navigation 2024-12-01 12:08:28 +01:00
github-actions[bot]
94f5a264ca chore: Auto Update Game Resources - 2024-12-01
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12104839023

[skip changelog]
2024-12-01 11:03:08 +00:00
晓丶梦丶仁
b4a674efe5 perf: 账号切换退出账号增加OCR (#11258)
* perf: 尝试增强账号切换功能稳定性

* fix: 将带文字的模板匹配的闭运算设为false

* Revert "fix: 将带文字的模板匹配的闭运算设为false"

This reverts commit afe42d1679.
2024-12-01 09:44:00 +08:00
Alisa
2f61a4d31f i18n: Translations update from MAA Weblate (#11255)
i18n: Translated using Weblate (Japanese)

Currently translated at 98.1% (579 of 590 strings)

Translation: MAA Assistant Arknights/Glossary
Translate-URL: https://weblate.maa-org.net/projects/maa/glossary/ja/

Co-authored-by: SplendidNova <SplendidNova@users.noreply.weblate.maa-org.net>
2024-11-29 17:33:34 +08:00
uye
c36a4cab44 fix: 干员识别中出现卫戍中的 4★ 预备干员 及 特有 6★
fix #11253
2024-11-28 21:39:25 +08:00
Hao Guan
901e61ae78 fix: Mac GUI 优化作业列表 (#11250) 2024-11-28 07:35:36 +11:00
Constrat
c246b30991 ci: optimize-templates skip when PR is merged 2024-11-27 11:07:43 +01:00
uye
cc138a42df fix: 新下载的 MAA 会在加载关卡时报错 2024-11-27 15:44:37 +08:00
github-actions[bot]
bf01575dc1 chore: Auto Templates Optimization
Triggered by e7aab4d034

[skip changelog]
2024-11-27 03:24:54 +00:00
HY
e7aab4d034 fix: 繁中服無法訪問好友 (#11248)
* fix: 繁中服無法訪問好友

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-27 11:24:08 +08:00
Hao Guan
185b980d9e fix: macOS 肉鸽参数&客户端包名 (#11245)
* fixes #11245 #9878
2024-11-27 02:27:14 +11:00
Constrat
033f24731a style: fix clang style 2024-11-26 13:55:08 +01:00
status102
8fa17ad8af fix: remove test code
[skip changelog]
2024-11-26 20:33:00 +08:00
status102
23fa98b4d4 perf: 优化葛朗台,碎石在理智不会溢出时不再等待
close #11048
2024-11-26 09:51:41 +08:00
Constrat
310e59e582 style: fix precommit styling
[skip changelog]
2024-11-25 23:41:57 +01:00
Constrat
d7f34153a7 ci: option to enable / disable dependency in workflow. (#11240)
* perf: remove depdencies

* ci: toggleable dependency for res-upd in case of rate limitations
2024-11-25 23:35:10 +01:00
github-actions[bot]
8e494d47fb chore: Auto Update Game Resources - 2024-11-25
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12019059285

[skip changelog]
2024-11-25 21:26:18 +00:00
status102
4c95f3504e rft: WpfGui游戏设置修改为运行设置 (#11209)
* rft: 暂停下干员

* rft: 掉线自动重连

* rft: 执行脚本

* rft: 不睡眠

* rft: 肉鸽延迟停止

* i18n: 游戏设置->运行设置

* i18n: EN tweak

---------

Co-authored-by: Constrat <56174894+Constrat@users.noreply.github.com>
2024-11-25 13:10:46 +01:00
uye
247e47a754 refactor: 优化 StageManager 代码结构 (#11233)
* chore: 漏改了)

* refactor: 优化 StageManager 代码结构

* perf: ClientType

---------

Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2024-11-25 17:54:59 +08:00
github-actions[bot]
2b7a590aa6 chore: Auto Update Game Resources - 2024-11-25
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/12006608884

[skip changelog]
2024-11-25 09:04:17 +00:00
uye
25e32840aa fix: UI 更新后自动填充有概率拉取其他设施内干员
fix #11072
2024-11-24 22:44:25 +08:00
Constrat
53ba8f28b6 i18n: EN tweaks
[skip ci]
2024-11-24 11:32:29 +01:00
uye
24bb091e4d chore: 通过控制台退出模拟器时不再kill端口
fix #11234
2024-11-24 18:17:57 +08:00
github-actions[bot]
122b32731e chore: Auto Update Game Resources - 2024-11-24
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11994398667

[skip changelog]
2024-11-24 08:04:47 +00:00
status102
2f8d624bcb fix: 避免非预期的任务参数设置检查 (#11232) 2024-11-24 14:15:54 +08:00
AoXuan
fbb8193091 docs: 修改常见问题中的下载/安装问题的描述 (#11229) 2024-11-23 23:55:50 +08:00
status102
99406da8eb rft: WpfGui重构 拆分一键长草-领取奖励任务 (#11228) 2024-11-23 21:47:40 +08:00
晓丶梦丶仁
50652cda12 fix: 肉鸽构想不足过高阈值导致 mac 版无法识别 2024-11-23 12:16:47 +01:00
Constrat
fdffb9cc89 ci(fix): add precedency to fix latest GHA runner issues
Lately you can't find 4 runner at the same time
2024-11-23 09:20:43 +01:00
Constrat
7eb9fcaed2 ci(perf): remove compression from res-update-game (#11224)
* perf: change compression level

* perf: reduce compression to 0
2024-11-23 09:14:37 +01:00
Manicsteiner
0c534b94b9 chore: YostarJP ocr replace 魔王 (#11222) 2024-11-23 09:39:44 +08:00
uye
cd0a53fbe5 fix: 切换配置后不会自动启动 2024-11-23 01:15:06 +08:00
uye
39997a467b fix: API 中被删除的已关闭活动关卡被误判为常驻关卡 2024-11-22 22:41:07 +08:00
status102
7ea94ef014 rft: WpfGui重构 拆分一键长草-基建任务任务 (#11219)
* rft: WpfGui重构 拆分`一键长草-基建任务`

* perf: 简化
2024-11-22 21:48:21 +08:00
status102
47d8b0f604 chore: format & nullable
[skip changelog]
2024-11-22 21:44:20 +08:00
status102
89fe3ddcc2 rft: WpfGui重构 拆分一键长草-获取信用及购物任务 (#11218)
* rft: WpfGui重构 拆分`一键长草-获取信用及购物任务`

* perf: 修改绑定
2024-11-22 18:41:11 +08:00
github-actions[bot]
0e7a5e8974 chore: Auto Update Game Resources - 2024-11-21
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11961103501

[skip changelog]
2024-11-21 20:28:01 +00:00
github-actions[bot]
c7cf92df67 chore: Auto Update Game Resources - 2024-11-21
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11958454227

[skip changelog]
2024-11-21 17:26:51 +00:00
uye
885a1a8a6c chore: 成功代理不再减少任务失败计数 2024-11-21 23:33:31 +08:00
Rbqwow
70f26f5f73 Revert "fix: 刷理智失败次数限制未生效" (#11210)
This reverts commit a8c04a4b17.

[skip changelog]
2024-11-21 23:07:48 +08:00
pre-commit-ci[bot]
82859d6a12 chore: Auto update by pre-commit hooks [skip changelog] 2024-11-21 22:52:18 +08:00
uye
a8c04a4b17 fix: 刷理智失败次数限制未生效
fix #11207
2024-11-21 19:55:52 +08:00
LogicDX342
d166461c12 fix: 修改邮件通知中特殊字符的处理方式 (#11169)
* fix: 修改邮件通知中特殊字符的处理方式

* refactor: use string.Empty instead of empty string literals

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

---------

Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2024-11-21 19:01:37 +08:00
github-actions[bot]
6a2f25a8bd chore: Auto Update Game Resources - 2024-11-21
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11948745257

[skip changelog]
2024-11-21 07:42:23 +00:00
github-actions[bot]
3d127fba5f chore: Auto Update Game Resources - 2024-11-21
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11948524322

[skip changelog]
2024-11-21 07:25:45 +00:00
uye
bae7fcbe90 fix: 访问好友在部分背景下无法进入 2024-11-21 15:20:15 +08:00
github-actions[bot]
0935da1cd6 chore: Auto Update Game Resources - 2024-11-21
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11948246374

[skip changelog]
2024-11-21 07:03:48 +00:00
status102
c987b3a3e1 perf: 简化绑定 2024-11-21 13:07:45 +08:00
status102
e7742bc226 rft: WpfGui重构 拆分一键长草-自动肉鸽 (#11201) 2024-11-21 09:18:15 +08:00
uye
bdea1f5554 fix: 命令行切换配置后弹出公告 2024-11-21 00:52:25 +08:00
uye
184da533a5 fix: 加载顺序 2024-11-21 00:35:12 +08:00
uye
8bed0b9705 perf: 优化参数解析 2024-11-21 00:22:13 +08:00
uye
214a3021b0 fix: typo
[skip changelog][skip ci]
2024-11-20 23:14:58 +08:00
uye
a8398e017a fix: typo
[skip changelog]
2024-11-20 22:56:21 +08:00
uye
3a311dbd6d fix: 使用命令行切换配置时有可能使关卡选择被覆盖
fix #11199
2024-11-20 22:47:44 +08:00
uye
219459eb7e chore: 移除过渡代码 2024-11-20 22:47:44 +08:00
HX3N
9a8dc9b9a4 chore: YostarKR SSSBuffChoose ocr fix 2024-11-20 15:41:44 +01:00
Constrat
9b490f37f6 chore(tools): automatically remove spaces for YoStarKR in CharsNameOcrReplace (#11205)
fix 962f8b200d
cc @HX3N
2024-11-20 14:41:24 +00:00
Constrat
03a99a9a99 feat(EN): SSS#5 ocr replace for conductive elements 2024-11-20 11:41:07 +01:00
status102
e9bb0681a2 rft: WpfGui重构 拆分设置-远程控制 (#11202)
* rft: WpfGui重构 拆分`设置-远程控制`

* perf: 移除
2024-11-20 16:48:52 +08:00
HX3N
962f8b200d chore: YostarKR SSS#5 ocr added (#11200)
chore: YostarKR SSS#5 ocr updated
2024-11-20 13:20:01 +08:00
status102
8ccf5da63e rft: WpfGui重构 拆分设置-定时执行 (#11192)
rft: 拆分 设置-定时执行
2024-11-20 09:24:19 +08:00
github-actions[bot]
5445ca5c53 chore: Auto Update Game Resources - 2024-11-19
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11919906794

[skip changelog]
2024-11-19 19:03:02 +00:00
github-actions[bot]
3175d67da3 chore: Auto Templates Optimization
Triggered by b69203ffa5

[skip changelog]
2024-11-19 19:00:50 +00:00
nnnn1111
b69203ffa5 fix(EN): IS2 missing templates for recruiting and obtaining relics (#11196)
* Update tasks.json

fixing recruit

* fixing is2 image templates

 fixing is2 image templates for collecting rewards and finishing game

* Delete resource/global/YoStarEN/resource/template/Phantom@Roguelike@GetDropSelectReward.png

* Add files via upload

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-19 20:00:00 +01:00
Constrat
09cee87600 fix(EN): not entering recruitment when in mall with recruitment permit item on screen 2024-11-19 11:24:22 +01:00
status102
c27ae95a89 rft: 拆分 设置-界面设置 (#11188)
* rft: 拆分 设置-界面设置

* style: format

* fix: 还原错误变更
2024-11-19 09:13:19 +08:00
Constrat
bbfa3a21eb feat: SSS#5 for global
fix #11189
2024-11-18 19:07:30 +01:00
momomochi987
fad068ba71 chore: 繁中服保全派駐的新定向導能元件 2024-11-18 19:00:51 +01:00
status102
66684553a5 rft: 拆分 设置-游戏设置 (#11185)
* rft: 拆分 设置-游戏设置

* perf: 简化数据绑定
2024-11-18 20:47:16 +08:00
status102
6435d700a9 rft: rename ExternalNotificationDataContext to ExternalNotificationSettings 2024-11-18 17:02:21 +08:00
status102
37bf2841b4 rft: rename VersionUpdateDataContext to VersionUpdateSettings 2024-11-18 16:59:52 +08:00
萨拉托加
12bfe03c58 fix: 荒芜拉普兰德 OcrReplace (#11184)
fix:荒芜拉普兰德的识别

Fix #11183
2024-11-18 16:12:31 +08:00
uye
cb1a609350 Release v5.10.2 (#11178) 2024-11-18 00:05:12 +08:00
uye
64f55cd2c6 docs: Update CHANGELOG.md 2024-11-17 22:33:53 +08:00
uye
449838625c fix: SMTP 发件人和收件人读取错误 2024-11-17 22:26:27 +08:00
status102
748293b91a Release v5.10.1 (#11171) 2024-11-17 13:47:59 +08:00
github-actions[bot]
e9db404960 docs: Auto Update Changelogs of v5.10.1 (#11172)
* docs: Auto Generate Changelog of Release v5.10.1

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2024-11-17 13:26:29 +08:00
status102
4cc3051da5 fix: 遗漏变量
[skip changelog]
2024-11-17 13:16:54 +08:00
status102
a2902fdd29 Revert "rft: 拆分 设置-界面设置 (#11153)"
This reverts commit 1c14b211d3.

# Conflicts:
#	src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs
2024-11-17 13:08:43 +08:00
status102
94031f7da9 rft: 拆分 一键长草-生息演算 任务设置 (#11166)
* rft: 拆分 一键长草-生息演算 任务设置

* fix: 移除遗漏
2024-11-17 09:19:15 +08:00
status102
fc3bade2df fix: 软件更新-版本选择 判断遗漏 2024-11-17 08:58:58 +08:00
晓丶梦丶仁
1c1852b940 fix: 完成招募后点击进入但无响应 (#11167) 2024-11-16 21:45:52 +08:00
XuQingTW
1ed394b034 fix: 臺服薩米肉鴿 "恃强凌弱" 辨識錯誤 (#11157)
* Update tasks.json

* Update tasks.json

* Update resource/global/txwy/resource/tasks.json
2024-11-16 17:30:11 +08:00
status102
63fb2293c4 fix: 补回遗漏的判定
[skip changelog]
2024-11-16 15:40:17 +08:00
status102
d6b24b26c0 rft: 拆分 设置-启动设置 (#11152)
* rft: 拆分 设置-启动设置

* chore: 加点注释
2024-11-16 15:07:38 +08:00
status102
1c14b211d3 rft: 拆分 设置-界面设置 (#11153)
* rft: 拆分 设置-界面设置

* rft: 还原菜单相关内容到SettingsViewModel
2024-11-16 11:07:37 +08:00
uye
3e4ca1111c Release v5.10.0 (#11161) 2024-11-16 00:19:14 +08:00
github-actions[bot]
efa0050cb7 docs: Auto Update Changelogs of v5.10.0 (#11162)
* docs: Auto Generate Changelog of Release v5.10.0

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2024-11-16 00:13:46 +08:00
github-actions[bot]
343ceb40f5 chore: Auto Templates Optimization
Triggered by b634aef1c4

[skip changelog]
2024-11-15 14:29:17 +00:00
uye
b634aef1c4 fix: 无法进入通用图标的活动 2024-11-15 22:28:11 +08:00
github-actions[bot]
36feae8e16 chore: Auto Update Game Resources - 2024-11-15
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11853309361

[skip changelog]
2024-11-15 09:06:01 +00:00
Manicsteiner
82a6326be2 chore: YostarJP ocr update (#11155) 2024-11-15 16:38:55 +08:00
github-actions[bot]
d58ed52cbe chore: Auto Update Game Resources - 2024-11-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11842348389

[skip changelog]
2024-11-14 17:26:43 +00:00
status102
5e959927f4 fix: 外部通知无法进行发送设置 2024-11-14 22:30:29 +08:00
status102
1d24adfa89 perf: 移除SettingsViewModel不必要的绑定 2024-11-14 19:43:32 +08:00
github-actions[bot]
53916b3b9d chore: Auto Update Game Resources - 2024-11-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11835883872

[skip changelog]
2024-11-14 11:03:15 +00:00
github-actions[bot]
4edc788c13 chore: Auto Update Game Resources - 2024-11-14
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11833427346

[skip changelog]
2024-11-14 08:29:22 +00:00
晓丶梦丶仁
f3b07e8f84 fix: 根据roi进行截图的小工具无法识别文件路径 (#11114) 2024-11-14 16:07:52 +08:00
status102
4254668bfb fix: 修复连接设置下 开始前、结束后脚本及运行任务时休眠设置绑定 2024-11-14 13:00:30 +08:00
status102
0295638422 rft: 移动统一部分设置路径 2024-11-14 09:54:45 +08:00
hepari
300c2284e4 i18n: Translated using Weblate (Korean)
Currently translated at 97.7% (577 of 590 strings)

Translation: MAA Assistant Arknights/Glossary
Translate-URL: https://weblate.maa-org.net/projects/maa/glossary/ko/
2024-11-13 23:07:25 +01:00
status102
4ac175d1f0 perf: 优化DataContext绑定 2024-11-13 23:30:34 +08:00
status102
ae1adb84fb fix: 修复 连接设置 数据绑定 2024-11-13 23:14:51 +08:00
uye
b4df55d4d6 fix: 误点一键换宿舍 2024-11-13 23:03:45 +08:00
status102
bdb16e5a32 rft: 拆分 设置-连接设置 (#11120)
* rft: 拆分 设置-连接设置

* rft: 迁移Model路径以细分ViewModel

* rft: 迁移Model及UserControl路径以细分Views
2024-11-13 19:41:52 +08:00
github-actions[bot]
6ae13d87a0 chore: Auto Templates Optimization
Triggered by 0be44e2696

[skip changelog]
2024-11-13 10:58:56 +00:00
Manicsteiner
0be44e2696 chore: YostarEN Sami@Roguelike@GamePassSkip1 (#11148) 2024-11-13 18:57:52 +08:00
Hao Guan
a8d6be994a chore: 优化依赖下载脚本,避免重复下载 (#11115)
* chore: 优化依赖下载脚本,避免重复下载

[skip changelog]
2024-11-13 16:59:51 +08:00
uye
ffa7ce55ee fix: 尝试修复进度条问题 2024-11-13 01:19:59 +08:00
Weiyou Wang
378ecd7629 fix: 修复肉鸽选难度的若干 Bug (#11131)
* fix: 选择最高难度的时候会 SubTaskError,修一下

* refactor: 加点 Log 方便 debug

* fix: MAA 无法识别 N0,会从虚空中读到奇怪的字符
2024-11-12 12:29:29 +01:00
Alisa
d847ecfeed i18n: Translations update from MAA Weblate (#11138)
i18n: Translated using Weblate (Korean)

Currently translated at 96.9% (572 of 590 strings)

Translation: MAA Assistant Arknights/Glossary
Translate-URL: https://weblate.maa-org.net/projects/maa/glossary/ko/

Co-authored-by: hepari <rosmontisu@gmail.com>
2024-11-12 11:42:15 +01:00
hepari
d30637c3fc docs: update ko-kr docs (#11136)
* docs: Update copilot.md

* docs: Update reclamation-algorithm.md

* docs: typo copilot.md

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-12 15:30:23 +08:00
status102
a277fa550c perf: WpfGui优化任务进度显示 (#11055)
perf: 优化任务进度显示
2024-11-12 13:52:22 +08:00
hepari
f349fa8421 docs: Fix typo in docs/ko-kr/manual/newbie.md (#11134) 2024-11-12 10:29:02 +08:00
LogicDX342
66411c76f1 fix: 移除了邮件通知中可能的非法字符 (#11110)
fix: normalize line endings in email title and content
2024-11-11 09:21:54 +08:00
Weiyou Wang
f52d9ca449 fix: 从 wpf 层面上不再允许用户在萨卡兹肉鸽用奇怪的分队刷源石锭 (#11125)
* fix: 从 wpf 层面上不再允许用户在萨卡兹肉鸽用奇怪的分队刷源石锭

* doc: 加点注释

* chore: 优化肉鸽编队储存结构

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2024-11-11 01:01:47 +08:00
uye
b54a3d52fa fix: 二星干员无法开始悖论模拟
fix #10594
fix #11116
2024-11-11 00:25:08 +08:00
Weiyou Wang
f1d60f3654 fix: 只凹直升的时候不再需要去 N0 打到 3 层 (#11124)
* fix: 只凹直升的时候不再需要去 N0 打到 3 层

* refactor: 更多的参数有效性检查
2024-11-10 22:27:36 +08:00
status102
5e47bed765 rft: 拆分 设置-外部通知 (#11113)
* rft: 拆分 设置-外部通知

* chore: 加点注释
2024-11-10 22:25:02 +08:00
uye
89fd84518b chore: 更新 153/4 宿舍排班 2024-11-10 21:51:19 +08:00
Hao Guan
9ded9435f4 feat: Mac GUI 一键更新资源 (#11123) 2024-11-10 21:31:10 +08:00
Hao Guan
5fe64e4105 feat: Mac GUI 肉鸽改进 & 一键资源更新 (#11121) 2024-11-10 19:16:08 +08:00
status102
067944a472 style: format and init
[skip changelog]
2024-11-09 14:48:10 +08:00
status102
f5aa884005 fix: 自动战斗未启用战斗列表时,禁用理智药使用 2024-11-09 14:46:49 +08:00
status102
90751cdb53 fix: 8ef3a34ddf
[skip changelog]
2024-11-09 13:58:04 +08:00
status102
8ef3a34ddf style: 设置-软件更新 添加注释
[skip changelog]
2024-11-09 13:49:34 +08:00
status102
1f18b8647e Reapply "rft: 拆分设置-软件更新 (#11085)"
This reverts commit a080a3f8e4.
2024-11-09 12:22:38 +08:00
晓丶梦丶仁
f1f2255b5b fix: 肉鸽不期而遇闪退 (#11087)
fix: 不期而遇闪退
2024-11-09 09:10:22 +08:00
晓丶梦丶仁
7925360b22 fix: 萨卡兹肉鸽 原初异途 点进一片莲瓣 (#11106)
fix: 原初异途点进一片莲瓣
2024-11-09 02:20:55 +08:00
status102
e6862636a6 fix: 调整自动战斗参数默认值 2024-11-08 17:12:51 +08:00
github-actions[bot]
89ced63090 chore: Auto Update Game Resources - 2024-11-08
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11739128948

[skip changelog]
2024-11-08 09:03:29 +00:00
Ali (Daixin) Tian
225b6155fa perf: 公招三星优先tag 改为复选框 (#11097)
* feat: Replace AutoRecruitHighPriority (公招三星优先tag) Textbox with CheckComboBox & ListBox

* chore: update translation for AutoRecruitHighPriority and AutoRecruitHighPriorityTooltip

* perf: UI perform

* fix: Assign default value of _autoRecruitFirstList as empty string

* i18n: 支持外服及显示语言切换

---------

Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2024-11-08 11:50:41 +08:00
status102
a080a3f8e4 Revert "rft: 拆分设置-软件更新 (#11085)"
This reverts commit 57d79eddcf.
2024-11-08 10:04:18 +08:00
晓丶梦丶仁
3757626b2a fix: 萨卡兹肉鸽降低 Sarkaz@Roguelike@CloseCollectionContinue 阈值 (#11090) 2024-11-08 09:04:41 +08:00
Weiyou Wang
e13f1e357a chore: 更新 macos.cmake 中的库版本 (#11101)
* chore: 更新 macos.cmake 中的库版本

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-07 20:09:35 +08:00
status102
57d79eddcf rft: 拆分设置-软件更新 (#11085)
* rft: 拆分设置-软件更新

* perf: static var

* style: format
2024-11-07 12:30:22 +08:00
uye
3b91c61816 fix: 导航进商店 2024-11-07 09:57:28 +08:00
Rbqwow
04e2524d40 fix: ExternalNotificationTips 未居中 (#11093)
* fix: ExternalNotificationTips 未居中

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-07 00:13:21 +08:00
uye
4b4fdb9a03 feat: 远程通知配置加密 (#11076)
* feat: 远程通知配置加密

* fix: 无法发送外部通知
2024-11-06 15:02:51 +08:00
github-actions[bot]
75a279b25e chore: Auto Update Game Resources - 2024-11-06
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11698542850

[skip changelog]
2024-11-06 06:45:22 +00:00
Manicsteiner
3f2db7d83f chore: YostarJP phantom roguelike ocr update (#11084) 2024-11-06 14:41:44 +08:00
uye
56ec14acb9 chore: 调整 153/4 宿舍
[skip changelog]
2024-11-06 14:12:12 +08:00
uye
84f6ebd897 fix: 153/4 宿舍 2024-11-06 13:48:10 +08:00
uye
4a19a0417f feat: 新增 153 4 班排班表 2024-11-06 13:34:15 +08:00
uye
fd40a8c218 feat: 开始前/结束后 脚本用双引号包裹时支持带参数
-minimized -noWindow 有额外处理

fix #10813
2024-11-06 01:44:27 +08:00
HX3N
8c05d5063b i18n: YostarKR fixed the reversed description for ReclamationEarlyTip (#11078) 2024-11-06 00:18:19 +08:00
Constrat
d5617d6304 fix: Greyy alter and BattleQuickFormationOCR opencv tweaks
for the umpteenth time a change to the main threshold value reducing hoping to detect Nearl Alter, Gavial and other stupid long names.
2024-11-05 15:04:21 +01:00
github-actions[bot]
216d78f6e8 chore: Auto Update Game Resources - 2024-11-05
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11685401615

[skip changelog]
2024-11-05 13:42:30 +00:00
github-actions[bot]
20ab374337 chore: Auto Templates Optimization
Triggered by 72119ac361

[skip changelog]
2024-11-05 13:38:20 +00:00
Weiyou Wang
72119ac361 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 385541a (Back to c2849d2)

* 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
Constrat
3de378b7f7 docs: tasks doc clarification
[skip changelog]
2024-11-05 13:35:28 +01:00
status102
a17ac2ea69 Revert "feat: 自动编队允许指定助战单位 (#10820)"
This reverts commit 3c97864f0a.
2024-11-05 17:57:24 +08:00
status102
38e3ff5c50 Revert "chore: Auto Update Game Resources - 2024-11-05"
This reverts commit ddd926e073.
2024-11-05 17:57:11 +08:00
status102
c5ce1f79c2 Revert "chore: Auto Templates Optimization"
This reverts commit 46aa097801.
2024-11-05 17:55:39 +08:00
uye
9cb69b49d7 fix: click 泊松分布超出范围 2024-11-05 16:12:10 +08:00
Weiyou Wang
1456e11803 fix: 为 PVChapterToPV 添加 1 秒的 postDelay (#11074)
应该够了吧?
应该吧?
2024-11-05 14:37:59 +08:00
github-actions[bot]
ddd926e073 chore: Auto Update Game Resources - 2024-11-05
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11678777106

[skip changelog]
2024-11-05 06:29:35 +00:00
github-actions[bot]
46aa097801 chore: Auto Templates Optimization
Triggered by 3c97864f0a

[skip changelog]
2024-11-05 06:09:54 +00:00
晓丶梦丶仁
3c97864f0a feat: 自动编队允许指定助战单位 (#10820)
* feat: 自动编队自动借助战

Revert d78fc68

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

i18n: 翻译

style: clang-format

fix: basetask template

fix: werror

perf: 注释、format

i18n: en

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

perf: 更改默认状态

feat: BattleFormationTask

Revert 385541a (Back to  c2849d2)

* 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: Weiyou Wang <44151844+Alan-Charred@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2024-11-05 17:09:25 +11:00
Weiyou Wang
e83d188d10 fix: enlarge rectMove offset for PV-10 (#11073) 2024-11-05 17:08:19 +11:00
uye
5a028c506d fix: pv-10 2024-11-04 23:13:27 +08:00
uye
4a4e8e47a9 chore: 移除最小化启动模拟器选项 2024-11-04 22:43:15 +08:00
sjdei
5256640fc3 fix: 修正繁中服薩米肉鴿坍縮範式的官方名稱 (#11066)
修正實質性坍縮少了個性
和圖像損壞寫成影像損壞
2024-11-04 21:46:39 +08:00
uye
be01c24635 chore: remove test
[skip changelog]
2024-11-04 21:13:48 +08:00
uye
75e14c8379 fix: 修改任务/基建列表顺序后未开始任务会在程序重启后失效
fix #10094
2024-11-04 20:58:42 +08:00
github-actions[bot]
0b0e007d05 chore: Auto Templates Optimization
Triggered by 2306eb40ae

[skip changelog]
2024-11-04 11:49:30 +00:00
Manicsteiner
2306eb40ae chore: YostarJP clue and ocr update (#11053)
* chore: YostarJP clue

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

* chore: update ocr

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-04 19:49:08 +08:00
ForeverDragon
ab0d6324cb fix: Server酱通知推送无法正常推送到微信服务号 (#11057)
fix:Server酱通知推送无法正常推送到微信服务号

Server酱的title参数服务号通道不支持换行,并加入title的长度限制。
title: 消息标题,必填。最大长度为 32 。
2024-11-04 19:46:47 +08:00
uye
a4de0ef66c docs: 添加用户群链接 2024-11-04 18:42:37 +08:00
status102
f013a5980d rft: BattleFormation 移除未使用函数
[skip changelog]
2024-11-04 18:31:32 +08:00
uye
616c12951b perf: 优化访问好友模板匹配 2024-11-04 16:49:21 +08:00
pre-commit-ci[bot]
14bab28e63 chore: Auto update by pre-commit hooks [skip changelog] 2024-11-04 13:19:06 +08:00
uye
755aeff1cd chore: 未进驻选项勾选状态与客户端版本无关
[skip changelog]
2024-11-04 03:16:19 +08:00
uye
2a93ea01d2 fix: UI 更新后无法开趴 2024-11-04 01:21:29 +08:00
uye
1d3f543fbd chore: 更新 153/3 换基建配置,宿舍全指定 2024-11-04 01:03:01 +08:00
uye
059cd38f73 Release v5.9.0 (#11038) 2024-11-03 22:17:50 +08:00
github-actions[bot]
2916be666d docs: Auto Update Changelogs of v5.9.0 (#11039)
* docs: Auto Generate Changelog of Release v5.9.0

* docs: changelog

* docs: changelog

* docs: changelog

* chore: 更新 CHANGELOG.md

* chore: 更新 CHANGELOG.md

* chore: 不造谣.jpg

* chore: 更新 CHANGELOG.md

* chore: 更新 CHANGELOG.md

* chore: 更新 CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
Co-authored-by: AnnAngela <naganjue@vip.qq.com>
2024-11-03 22:15:04 +08:00
Weiyou Wang
2996de0a18 fix: 为 PV-10 添加偏移 (#11045) 2024-11-03 21:41:19 +08:00
uye
6c91a87474 chore: 国服用不了未进驻 2024-11-03 12:23:15 +08:00
status102
d0c03174d9 fix: 明日方舟资源更新文本提示roi 2024-11-03 11:15:26 +08:00
Rbqwow
5bbd4923a8 docs: 补充连战次数文档 (#11028) 2024-11-03 10:56:05 +08:00
Hao Guan
315216d7fd feat: Mac GUI 支持手动资源更新 (#11036) 2024-11-03 10:55:24 +08:00
Rbqwow
17251bb417 build: Update turbo from v2.0.9 to v2.2.3 (#11029)
build: update turbo from v2.0.9 to v2.2.3
2024-11-03 10:55:12 +08:00
Weiyou Wang
9f10c31f33 fix: 为生息演算无存档刷点模式,点击区域节点任务加上 1 秒的 postDelay (#11035) 2024-11-03 10:54:41 +08:00
uye
aff03a3bbd fix: UpdateStageList 只在 ui 线程执行 2024-11-03 04:00:07 +08:00
uye
62195dfa0b fix: 跨日更新崩溃 2024-11-03 04:01:44 +08:00
uye
b2ec0007e4 Release v5.9.0-beta.3 (#11032) 2024-11-03 02:16:53 +08:00
uye
3c30f19198 fix: 默认值!!!
[skip changelog]
2024-11-03 02:13:14 +08:00
uye
02229b32db Release v5.9.0-beta.3 (#11030) 2024-11-03 02:06:48 +08:00
uye
ed166e1011 chore: 改个 key,避开之前的 1:09
[skip changelog]
2024-11-03 02:05:50 +08:00
uye
d7545f20fe chore: 分钟取整 2024-11-03 02:00:57 +08:00
uye
730da23524 fix: 公招默认值错误 2024-11-03 01:50:41 +08:00
uye
ff124dd085 chore: 使用 baseTask
[skip changelog]
2024-11-03 01:50:15 +08:00
github-actions[bot]
8e41170298 chore: Auto Update Game Resources - 2024-11-02
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11643913685

[skip changelog]
2024-11-02 15:42:23 +00:00
uye
da937c6d5a chore: 修改幸运墙逻辑 2024-11-02 23:35:51 +08:00
uye
afcfdd394d Release v5.9.0-beta.2 (#11023) 2024-11-02 23:19:43 +08:00
github-actions[bot]
b2392e419e docs: Auto Update Changelogs of v5.9.0-beta.2 (#11024)
* docs: Auto Generate Changelog of Release v5.9.0-beta.2

* docs: changelog

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2024-11-02 23:11:35 +08:00
status102
4d2978ff07 Revert "fix: 肉鸽难度存储错误值修复"
This reverts commit 9d633c100c.
2024-11-02 22:18:59 +08:00
status102
bd0a51ecb3 chore: changelog_generator 2024-11-02 22:10:54 +08:00
status102
1270f69261 perf: 自动公招时间属性设置优化 (#11025)
* perf: 招募时间属性设置

* style: format

* style: format
2024-11-02 22:00:21 +08:00
github-actions[bot]
f12729ec6a chore: Auto Templates Optimization
Triggered by b0ca5f6165

[skip changelog]
2024-11-02 12:37:12 +00:00
vonnoq
b0ca5f6165 fix: 替換繁中服「跳過」圖片 (#10991)
原本自動戰鬥前劇情都不會跳過
目前更改後暫時正常
2024-11-02 20:36:43 +08:00
uye
9c5ba9e3ae refactor: 可自定义3~5星招募时间 (#11019) 2024-11-02 20:35:18 +08:00
status102
70aa3558f0 chore: ChangelogGenerator检查commit message中的skip changelog是否为自动追加 (#11016) 2024-11-02 20:34:27 +08:00
uye
89a0c947a6 perf: 优化关卡列表更新 (#11022)
* perf: 优化关卡列表更新

* fix: 显示错误

* chore: 调整结构
2024-11-02 20:33:34 +08:00
Constrat
5b97f8d063 tools: update validator.ps1 to return to starting directory after ending call 2024-11-02 12:39:07 +01:00
Constrat
99d4fc16f7 chore: remove duplicates inside CharsNameOcrReplace for Yostar & txwy 2024-11-02 12:38:41 +01:00
Constrat
950c7959b8 fix: YostarEN regex for new operators 2024-11-02 12:24:17 +01:00
Constrat
7355f3e2f7 fix: revert fd959ae341 because Yostar finally fixed the templates for EN. It only took 3 months 2024-11-02 11:35:15 +01:00
uye
5c59ce6662 chore: 修改延迟时间
[skip changelog]
2024-11-02 16:49:16 +08:00
uye
82ede27999 fix: 肉鸽偏后的分队选错 2024-11-02 16:48:20 +08:00
github-actions[bot]
bff501f250 chore: Auto Templates Optimization
Triggered by bcd8b02270

[skip changelog]
2024-11-02 02:23:08 +00:00
Sherkey Asher
bcd8b02270 feat: 支持最新的幸运墙任务 (#11008)
* feat: 支持最新的幸运墙任务

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-02 10:22:48 +08:00
status102
9d633c100c fix: 肉鸽难度存储错误值修复
fix #10998
2024-11-02 10:02:16 +08:00
status102
fe90503f6d Revert "fix: 肉鸽难度存储错误值修复"
This reverts commit fe470f3188.
2024-11-02 10:00:50 +08:00
status102
fe470f3188 fix: 肉鸽难度存储错误值修复
fix #11012
2024-11-02 09:07:05 +08:00
status102
ffeb9d3e6e Revert "chore: PV 关卡地图数据 (#11003)"
This reverts commit 0dced4556b.

Link to 42982a8fad
2024-11-02 08:48:17 +08:00
uye
f6d0426ee7 fix: 无法按信赖排序基建 2024-11-02 01:21:50 +08:00
github-actions[bot]
d1818c4b44 chore: Auto Update Game Resources - 2024-11-01
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11632956232

[skip changelog]
2024-11-01 16:44:44 +00:00
github-actions[bot]
ebe4775a71 chore: Auto Templates Optimization
Triggered by 3036c88ada

[skip changelog]
2024-11-01 16:42:21 +00:00
HX3N
3036c88ada chore: YostarKR EP14 update (#10988)
* chore: YostarKR EP14 ocr update

* chore: add Recruit tag

* chore: operator ocr

* chore: MiningActivity

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

* fix: EnterChapterDifficulty ocr

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-01 17:41:56 +01:00
Windsland
98630837bb fix: 修改基建 InfrastOperListTab 部分的 roi (#10999) (#11001)
* fix: 修改基建 InfrastOperListTab 部分的 roi (#10999)

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

* fix: update roi for unification.

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-11-01 17:41:17 +01:00
uye
a69d5d92f3 fix: 导航错误 2024-11-02 00:41:03 +08:00
github-actions[bot]
42982a8fad chore: Auto Update Game Resources - 2024-11-01
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11632723590

[skip changelog]
2024-11-01 16:29:32 +00:00
status102
6865ed0f80 fix: 基建换班宿舍任务期间重进宿舍后,重置过滤状态记录 (#11007)
- link #10968
2024-11-01 23:58:26 +08:00
uye
9086c0df30 feat: SideStory「揭幕者们」 2024-11-01 23:42:07 +08:00
status102
c3f034f977 fix: 基建换班宿舍任务期间重进宿舍后,重置过滤状态记录 2024-11-01 23:03:19 +08:00
status102
fe1e105df3 Revert "fix: 要求每次进入基建宿舍后都重新选择一遍筛选条件 (#10968)"
This reverts commit b28ffcc13e.
2024-11-01 23:03:19 +08:00
Constrat
ec17e7f799 fix: revert ede078f to fix b28ffcc for EN 2024-11-01 15:19:54 +01:00
github-actions[bot]
963b250aa6 chore: Auto Update Game Resources - 2024-11-01
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11630578840

[skip changelog]
2024-11-01 14:03:16 +00:00
status102
0dced4556b chore: PV 关卡地图数据 (#11003)
* chore: PV地图数据

* chore: 添加关卡名
2024-11-01 22:00:57 +08:00
github-actions[bot]
023518bf0d chore: Auto Update Game Resources - 2024-11-01
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11628602183

[skip changelog]
2024-11-01 11:24:13 +00:00
github-actions[bot]
8449677510 chore: Auto Update Game Resources - 2024-11-01
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11628355828

[skip changelog]
2024-11-01 11:03:22 +00:00
status102
8ba4ba137d perf: 肉鸽难度不可用 / 不切换时禁用插件 (#10993) 2024-11-01 15:23:55 +08:00
github-actions[bot]
611379083e chore: Auto Update Game Resources - 2024-11-01
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11623242775

[skip changelog]
2024-11-01 02:37:20 +00:00
Constrat
2e6388420a feat: new tag for recruitment
thanks @HX3N I just hope it's the correct tag lol
2024-11-01 00:21:18 +01:00
Constrat
a4984e9831 fix: OCR for Wisadel EN 2024-10-31 19:46:34 +01:00
status102
71216b8d4d i18n: UI 优化 2024-11-01 02:21:10 +08:00
status102
d1f242090e perf: 肉鸽不切换难度时禁用插件 2024-11-01 01:47:39 +08:00
Constrat
c7572b5864 fix: change roi for MiningActivities 2024-10-31 18:34:51 +01:00
github-actions[bot]
e1e210c99d chore: Auto Update Game Resources - 2024-10-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11616832469

[skip changelog]
2024-10-31 17:27:09 +00:00
github-actions[bot]
63885d1a04 chore: Auto Templates Optimization
Triggered by a8233796be

[skip changelog]
2024-10-31 17:16:46 +00:00
Constrat
a8233796be feat: MiningActivity for YostarEN 2024-10-31 18:16:25 +01:00
github-actions[bot]
51874622e4 chore: Auto Update Game Resources - 2024-10-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11616458820

[skip changelog]
2024-10-31 17:03:27 +00:00
status102
043ce3aa2b Revert 50ea5deaee 2024-11-01 00:59:53 +08:00
uye
a6bbd936e0 Release v5.9.0-beta.1 (#10989) 2024-10-31 23:53:31 +08:00
github-actions[bot]
90d816c619 docs: Auto Update Changelogs of v5.9.0-beta.1 (#10990)
* docs: Auto Generate Changelog of Release v5.9.0-beta.1

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2024-10-31 23:17:39 +08:00
Rbqwow
902a70db23 docs: 运行库问题 (#10950)
* docs: 先改改大纲

* docs: 加回来个锚点

* docs: 糊完了

* docs: 加粗下划线

* i18n: 运行库问题

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2024-10-31 23:13:26 +08:00
github-actions[bot]
84b471bed5 chore: Auto Templates Optimization
Triggered by 2d05141535

[skip changelog]
2024-10-31 14:37:47 +00:00
晓丶梦丶仁
c711f3e05e perf: 适配萨卡兹内容拓展Ⅰ (#10976)
* perf: 适配萨卡兹内容拓展Ⅰ


---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-10-31 22:15:03 +08:00
Rbqwow
cea619c62f docs: MuMu 网络桥接 (#10953)
* docs: 追一下最新修改

* i18n: MuMu 网络桥接

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2024-10-31 22:02:44 +08:00
晓丶梦丶仁
bc39c2d2ec perf: 肉鸽选难度允许不选难度 (#10979)
* perf: 肉鸽选难度允许不选难度

* fix: 在插件中对 gui 传入的 -1 值做特殊处理
2024-10-31 21:41:36 +08:00
Weiyou Wang
3ecbf8bc26 fix: 修复对 expected_collapsal_paradigms 参数支持 (#10978)
* fix: 修复对 expected_collapsal_paradigms 参数支持

* refactor: 简化一下

* feat: ui 添加坍缩列表

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2024-10-31 21:35:49 +08:00
github-actions[bot]
5cca9e5e1f chore: Auto Update Game Resources - 2024-10-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11612833844

[skip changelog]
2024-10-31 13:29:15 +00:00
HY
e740012e81 chore: 繁中服「銀心湖列車」活動導航 (#10987) 2024-10-31 14:22:26 +01:00
Manicsteiner
2d05141535 chore: YostarJP EP14 ocr update (#10986) 2024-10-31 14:21:16 +01:00
uye
57c0692444 chore: 优化模拟器最小化启动 2024-10-31 20:20:13 +08:00
uye
5e40d92a61 perf: 优化互斥锁 2024-10-31 20:20:13 +08:00
github-actions[bot]
6ade1ab7a6 chore: Auto Update Game Resources - 2024-10-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11607948614

[skip changelog]
2024-10-31 07:42:07 +00:00
github-actions[bot]
ed3d64e849 chore: Auto Update Game Resources - 2024-10-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11607762212

[skip changelog]
2024-10-31 07:25:32 +00:00
github-actions[bot]
6c7376f445 chore: Auto Update Game Resources - 2024-10-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11606931077

[skip changelog]
2024-10-31 06:04:08 +00:00
github-actions[bot]
ef08237fd6 chore: Auto Update Game Resources - 2024-10-31
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11606621259

[skip changelog]
2024-10-31 05:27:42 +00:00
1lyvianis
9a0013026f docs: 移除赘字 (#10977) 2024-10-31 01:31:53 +08:00
uye
2a598bda65 chore: 对 gui.json 排序 2024-10-30 12:47:37 +08:00
Weiyou Wang
b28ffcc13e fix: 要求每次进入基建宿舍后都重新选择一遍筛选条件 (#10968)
* fix: 要求每次进入基建宿舍后都重新选择一遍筛选条件

* chore: Auto update by pre-commit hooks
* fix: 修复死循环,替换为只执行一遍

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

* refactor: 加个 log,未来用于检测

---------

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>
2024-10-30 11:22:44 +08:00
uye
2dcd54a2d8 fix: 肉鸽难度默认值错误 2024-10-30 10:51:04 +08:00
uye
acf4c9ccc7 fix: 1234567890ABCDEF 给爷爬 2024-10-30 10:48:35 +08:00
萨拉托加
ccbf15e5a2 chore: 更新 Feature request 模板 (#10971)
* chore: Update cn-feature-request.yaml

* chore: Update en-feature-request.yaml
2024-10-30 09:51:56 +08:00
github-actions[bot]
e2ad6b69f8 chore: Auto Update Game Resources - 2024-10-29
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11578851601

[skip changelog]
2024-10-29 17:03:16 +00:00
Constrat
b152814afb fix: Special Access not claiming 2024-10-29 17:51:25 +01:00
uye
5014fb8e70 chore: 修改版本不一致描述,提前 return 位置 2024-10-29 18:03:40 +08:00
uye
3d2307fced chore: 资源更新失败时弹出吐司通知 2024-10-29 17:19:37 +08:00
uye
8f483ae1ed feat: 添加直接显示吐司内容函数,固定Show执行线程 2024-10-29 17:10:54 +08:00
uye
b1ad1b2b55 chore: 设置代理时提高github优先度 2024-10-29 17:08:38 +08:00
uye
c533e7379a chore: 移除多余变量 2024-10-29 16:53:48 +08:00
uye
1f69ccb654 fix: 修复手动关闭或闪退后,无法截图到新窗口 2024-10-29 16:24:40 +08:00
uye
627fa36b69 feat: 添加主任务进度条 2024-10-29 16:06:38 +08:00
uye
82e2c2ad6d chore: remove test 2024-10-29 15:22:11 +08:00
uye
f678f65c8e perf: 调整关卡选择更新逻辑 (#10913) 2024-10-29 14:47:52 +08:00
晓丶梦丶仁
aee8ba3aea fix: 为生息演算无存档刷点数模式最后的删除存档任务添加重试机制 (#10965)
fix: 为 Tales@RA@PNS-ProsperityBelowLimit-SwipeSave 任务添加重试机制
2024-10-29 14:44:59 +08:00
uye
2b7a457cbd perf: 优化全主线关卡导航 2024-10-29 13:37:31 +08:00
github-actions[bot]
f02208c7c6 chore: Auto Update Game Resources - 2024-10-29
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11565843426

[skip changelog]
2024-10-29 01:55:24 +00:00
uye
482f013697 feat: 支持肉鸽选难度 (#10918)
* feat: 支持肉鸽选难度

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

* refactor: 补充相关机制

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

* feat: 瞎写一个wpf,切系统测试去

* feat: select roguelike difficulty using wpf gui

* fix: 简单修补凹开局密文板功能,等待未来重构

* chore: global adaptation

* refactor: 舍弃 next_difficulty 参数

* refactor: 增加对 RoguelikeMode::Collectible 模式下衍生参数有效性的判定

* rft: 移除run_for_collectible

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

* style: format

* chore: 调整肉鸽等级列表初始化

* perf: 减少不必要判断

* fix: 傀影肉鸽修复潜在的干员招募逻辑错误,并添加难度参数校验

* Revert "fix: 傀影肉鸽修复潜在的干员招募逻辑错误,并添加难度参数校验"

This reverts commit 08b715a8eb.

* perf: 难度参数校验

* Revert "rft: 移除run_for_collectible"

This reverts commit cf170750c5.

# Conflicts:
#	src/MaaCore/Task/Interface/RoguelikeTask.cpp
#	src/MaaCore/Task/Roguelike/RoguelikeConfig.cpp
#	src/MaaCore/Task/Roguelike/Sami/RoguelikeFoldartalStartTaskPlugin.cpp

* fix: 水烧开是 !get_run_for_collectible(),之前我写错了

* doc: 补充 zh-cn 文档

* doc: 补充其他语言的文档(机翻)

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Weiyou Wang <44151844+Alan-Charred@users.noreply.github.com>
Co-authored-by: Weiyou Wang <Weiyou.Wang@anu.edu.au>
Co-authored-by: status102 <102887808+status102@users.noreply.github.com>
2024-10-29 09:08:22 +08:00
github-actions[bot]
2802e169d3 chore: Auto Update Game Resources - 2024-10-28
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11563361341

[skip changelog]
2024-10-28 22:03:16 +00:00
Constrat
1049b17d9e feat: Special Access YostarEN 2024-10-28 22:53:59 +01:00
uye
28f5e009a2 feat: 支持状态栏显示进度条 2024-10-29 02:57:07 +08:00
Manicsteiner
906de62d58 chore: YostarJP EP14 preload (#10954)
* chore: YostarJP EP14 preload

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-10-28 15:25:59 +08:00
Weiyou Wang
9be4b9c157 fix: 快速编队向左滑动后等待可能的画面回弹 2024-10-28 11:25:38 +08:00
status102
e0b963aef8 style: format
[skip changelog]
2024-10-28 09:24:38 +08:00
Weiyou Wang
2445453de0 fix: MuMu bridge connection (#10937)
* fix: MuMu bridge connection

* fix: global adaptation

* chore: 调整布局,优化变量位置

* fix: 网络桥接模式设置不再与自动检测链接相关

* chore: 自动检测时禁用增强模式开关

* chore: 添加开启桥接的提示

---------

Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2024-10-27 23:07:16 +08:00
status102
eaeaab7b18 fix: MaaCore RoguelikeTask 补充未选择刷开局模式下启用凹精二的禁用判定 2024-10-27 19:24:08 +08:00
Alisa
5d45fc7ec2 i18n: Translations update from MAA Weblate (#10944)
i18n: Translated using Weblate (Japanese)

Currently translated at 97.6% (576 of 590 strings)

Translation: MAA Assistant Arknights/Glossary
Translate-URL: https://weblate.maa-org.net/projects/maa/glossary/ja/

Co-authored-by: SplendidNova <SplendidNova@users.noreply.weblate.maa-org.net>
2024-10-27 11:14:03 +00:00
不留
d464d87d07 chore: 部分中文与英文中追加间隔;修正理智识别的理智上限注释 (#10945)
* fix: 优化 UI 界面部分中文文本显示效果

* fix: 理智识别的理智上限校验修改

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

* chore: 注释

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

---------

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>
2024-10-27 19:11:59 +08:00
uye
e7872bb76e fix: typo 2024-10-27 18:18:36 +08:00
uye
e83888d548 chore: 调整切换语言显示 2024-10-27 18:07:59 +08:00
uye
cc3afa83bd chore: 优化互斥锁描述 2024-10-27 10:22:03 +08:00
github-actions[bot]
fce556ff46 chore: Auto Update Game Resources - 2024-10-27
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11536680996

[skip changelog]
2024-10-27 01:57:35 +00:00
status102
6e965ef2da feat: AbstractTask新增附加已有插件、插件查找
Revert c89b63b78e
2024-10-27 09:13:12 +08:00
github-actions[bot]
afc39b5843 chore: Auto Templates Optimization
Triggered by b430f36bb4

[skip changelog]
2024-10-27 01:05:20 +00:00
Weiyou Wang
b430f36bb4 feat: 点刺成锭分队,刷钱 (#10901)
* feat: fastInvestment

* feat: wpf 适配

* refactor: 点刺成锭分队快速编队

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

* feat: 投资模式下点刺成锭分队直接放弃招募

* refactor: 投资模式下点刺成锭分队不再考虑思维负荷

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

* fix: 修复放弃招募机会时卡顿的问题,模版和 roi 错了

* refactor: 进一步优化

* fix: 取消投资模式下快速定位点刺成锭分队的功能,照顾非全解锁玩家

* fix: 尝试修复跳过 StrategyChange 的问题

* fix: set_squad 提前

* feat: 根据需要启用/禁用 <思维负荷干员编队功能>

* refactor: 加点注释

* fix: 减少需要匹配的模版

* chore: 移除不相关内容

---------

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>
2024-10-27 09:04:25 +08:00
status102
7d6212026b fix: 理智识别的理智上限校验修改 2024-10-26 23:18:26 +08:00
github-actions[bot]
5480c20328 chore: Auto Update Game Resources - 2024-10-26
https://github.com/MaaAssistantArknights/MaaAssistantArknights/actions/runs/11532771894

[skip changelog]
2024-10-26 15:06:33 +00:00
uye
2e9950ab60 Release v5.8.1 (#10933) 2024-10-26 21:52:42 +08:00
github-actions[bot]
dcfe9510d2 docs: Auto Update Changelogs of v5.8.1 (#10934)
* docs: Auto Generate Changelog of Release v5.8.1

* docs: Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com>
2024-10-26 21:50:09 +08:00
Alisa
9f24927367 i18n: Translations update from MAA Weblate (#10930)
i18n: Translated using Weblate (Japanese)

Currently translated at 97.4% (575 of 590 strings)

Translation: MAA Assistant Arknights/Glossary
Translate-URL: https://weblate.maa-org.net/projects/maa/glossary/ja/

Co-authored-by: SplendidNova <SplendidNova@users.noreply.weblate.maa-org.net>
2024-10-26 19:59:02 +08:00
uye
cdb7e781bf chore: 优化描述 2024-10-26 19:34:25 +08:00
uye
22c26483dc chore: 修改 QQ 群文案 2024-10-26 19:24:34 +08:00
uye
2f6a6dfafc fix: 购物卡在确认界面 2024-10-26 18:55:18 +08:00
uye
5dc3512bb8 perf: 关卡导航 2024-10-26 18:42:11 +08:00
2024 changed files with 383657 additions and 45747 deletions

View File

@@ -1,5 +1,5 @@
# https://clang.llvm.org/docs/ClangFormatStyleOptions.html
# for clang-format 17.0.1
# for clang-format 20.0.0
Language: Cpp
BasedOnStyle: "WebKit"
# AccessModifierOffset: 2
@@ -26,9 +26,9 @@ AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: Inline
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
BreakAfterReturnType: Automatic
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: Yes
BreakTemplateDeclarations: Yes
# AttributeMacros:
# - __pragma
# - _Pragma
@@ -145,7 +145,7 @@ PointerAlignment: Left
# - constexpr
# - type
ReferenceAlignment: Left
ReflowComments: true
ReflowComments: Always
RemoveBracesLLVM: false
RemoveParentheses: Leave
RemoveSemicolon: false
@@ -188,3 +188,4 @@ TabWidth: 4
UseTab: Never
# VerilogBreakBetweenInstancePorts:
# WhitespaceSensitiveMacros:
RemoveEmptyLinesInUnwrappedLines: true

View File

@@ -13,6 +13,7 @@
290cc30f153a0206bd870a0a58cb6338aa16ea34
db9afdc77e85d5fc462d923fca5318be021656cd
a5daac889a55baf8895918d4964f20dad1938470
9ed30c5658c88edf1ef839771a53c7d599183b8b
# incorrect format of 3rdparty/resource/Arknights-Tile-Pos/levels.json
65d654e54b9d04d1902c9ee9f9fb2679520adafd
@@ -39,8 +40,15 @@ f0bdccdf0da7fac29f475951f0f43d3ab56a7ffe
5f3730b76785b1168125eb3b5edbed399722f8f9
bc3ad67a02cb3b8e154c06955cf17091c4265000
# oxipng template optimization
e3d63894b28b2ef5e2405e144a32a6981de5e1b2
# refactor: divide tasks.json into multiple jsons
dce6e317c8e56836662b64ac4b3d1a69b4ff4dd8
# usage: add "[blame ignore]" to the commit message
# This file is managed by an automated workflow
# Do not add, remove or modify lines below this comment
# as they are automatically appended
# --------------------------------------------------- #
f7772bc814c52f9a5e65af02404cf54b70fe0a32

1
.github/.last-blame-ignore-commit vendored Normal file
View File

@@ -0,0 +1 @@
272d71fa2938f945832f86232532b86a9e5406b8

View File

@@ -5,17 +5,15 @@ body:
- type: checkboxes
id: checks
attributes:
label: 在提问之前...
description: |
请确认自己完成了要求之后再进行勾选
label: 请确认自己完成了下列要求之后再进行勾选,若未完成但勾选将被直接关闭 Issue
options:
- label: 我理解 Issue 是用于反馈和解决问题的,而非吐槽评论区,将尽可能提供更多信息帮助问题解决
required: true
- label: 我填写了简短且清晰明确的标题,以便开发者在翻阅 Issue 列表时能快速确定大致问题。而不是“一个建议”、“卡住了”等
required: true
- label: 我使用的是当前更新版本的最新版,且已查看版本发布至今和 Pull Requests 中尚未发布的更新内容,并未提及该 Bug 已被修复的情况
- label: 我使用的是当前更新版本的最新版,且已查看版本发布至今的 [更新内容](https://github.com/MaaAssistantArknights/MaaAssistantArknights/commits/dev/) [Pull Requests](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pulls) 中尚未发布的更新内容,并未提及该 Bug 已被修复的情况
required: true
- label: 我已检查了置顶议题Pinned Issue公告、活跃议题Open Issue、已关闭议题Closed Issue,确认我的问题未被提及
- label: 我已检查了[常见问题](https://maa.plus/docs/zh-cn/manual/faq.html)、[公告](/MaaAssistantArknights/MaaAssistantArknights/issues/7732)、[活跃议题](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues)、[已关闭议题](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues?q=is%3Aissue%20state%3Aclosed),确认我的问题未被提及
required: true
- type: textarea
id: describe
@@ -28,8 +26,9 @@ body:
id: version
attributes:
label: Version
description: >-
请提供 MAA 版本。可在 MAA -> 设置 -> 软件更新中找到点击图标可复制)。
description: |
请提供 MAA 版本。可在 MAA -> 设置 -> 软件更新中找到点击图标可复制
请分别点击 `资源版本` 和 `MAA 版本` 并粘贴,最终应有 5 行版本信息。
placeholder: |
Resource Version:
MAA Version:
@@ -40,12 +39,11 @@ body:
attributes:
label: 日志和配置文件
description: |
**请在关闭 MAA 后,上传以下 5 个文件:**
1. `debug` 文件夹中的 `asst.log` `gui.log` `asst.bak.log` 和 `gui.bak.log` 日志文件,并说明问题出现的大致时间点
2. `config` 文件夹中的 `gui.json` 配置文件
**请在 MAA -> 设置 -> 问题反馈中找到生成日志压缩包按钮,点击并上传压缩包**
**请直接将完整的文件拖拽进来,而非自己裁切或复制的片段;若文件体积过大可压缩后再上传**
如果你在使用 MacBook请点击屏幕左上角的“文件”点击“打开日志文件夹”
**请直接将完整的文件拖拽进来,而非自己裁切或复制的片段;若文件体积过大可压缩后再上传**
placeholder: |
请确认上传文件前已关闭 MAA
validations:

View File

@@ -11,6 +11,10 @@ body:
required: true
- label: 我基本确定这是一个新功能/建议,而不是遇到了 Bug不确定的话请附上日志
required: true
- label: 我使用的是当前更新版本的最新版,且已查看版本发布至今的 [更新内容](https://github.com/MaaAssistantArknights/MaaAssistantArknights/commits/dev/) 和 [Pull Requests](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pulls) 中尚未发布的更新内容,确认我的建议未被提及
required: true
- label: 我已检查了 [公告](/MaaAssistantArknights/MaaAssistantArknights/issues/7732)、[活跃议题](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues)、[已关闭议题](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues?q=is%3Aissue%20state%3Aclosed),确认我的建议未被提及
required: true
- type: textarea
id: describe
attributes:

View File

@@ -11,7 +11,7 @@ body:
required: true
- label: 我填写了简短且清晰明确的标题,以便开发者在翻阅 Issue 列表时能快速确定大致问题。而不是“一个建议”、“卡住了”等
required: true
- label: 我已检查了置顶议题Pinned Issue,确认我的问题未被提及
- label: 我已检查了[公告](/MaaAssistantArknights/MaaAssistantArknights/issues/7732)、[活跃议题](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues)、[已关闭议题](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues?q=is%3Aissue%20state%3Aclosed),确认我的问题未被提及
required: true
- label: 我正在使用最新的 MAA 公测版本和最新的官版雷电 9 模拟器
required: true
@@ -44,10 +44,8 @@ body:
attributes:
label: MAA 日志和配置文件
description: |
**请在关闭 MAA 后,上传以下三个文件:**
1. `debug` 文件夹中的 `asst.log` 和 `gui.log` 日志文件,并说明问题出现的大致时间点
若 asst.log 文件小于 10 KB则需同时上传 asst.log.bak 文件
2. `config` 文件夹中的 `gui.json` 配置文件
**请在 MAA -> 设置 -> 问题反馈中找到生成日志压缩包按钮,点击并上传压缩包**
**请直接将完整的文件拖拽进来,而非自己裁切或复制的片段;若文件体积过大可压缩后再上传**
placeholder: |
请确认上传文件前已关闭 MAA

View File

@@ -11,7 +11,7 @@ body:
required: true
- label: 我填写了简短且清晰明确的标题,以便开发者在翻阅 Issue 列表时能快速确定大致问题。而不是“一个建议”、“卡住了”等
required: true
- label: 我已检查了置顶议题Pinned Issue,确认我的问题未被提及
- label: 我已检查了[公告](/MaaAssistantArknights/MaaAssistantArknights/issues/7732)、[活跃议题](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues)、[已关闭议题](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues?q=is%3Aissue%20state%3Aclosed),确认我的问题未被提及
required: true
- label: 我正在使用最新的 MAA 公测版本和最新的官版或方舟专版 MuMu 模拟器
required: true
@@ -44,10 +44,8 @@ body:
attributes:
label: MAA 日志和配置文件
description: |
**请在关闭 MAA 后,上传以下三个文件:**
1. `debug` 文件夹中的 `asst.log` 和 `gui.log` 日志文件,并说明问题出现的大致时间点
若 asst.log 文件小于 10 KB则需同时上传 asst.log.bak 文件
2. `config` 文件夹中的 `gui.json` 配置文件
**请在 MAA -> 设置 -> 问题反馈中找到生成日志压缩包按钮,点击并上传压缩包**
**请直接将完整的文件拖拽进来,而非自己裁切或复制的片段;若文件体积过大可压缩后再上传**
placeholder: |
请确认上传文件前已关闭 MAA

View File

@@ -9,27 +9,16 @@ body:
attributes:
label: Before raising the issue...
description: |
Please ensure that you have completed the requirements before checking the box.
Please ensure that you have completed the requirements before checking the box.
Issues with the checkbox checked but not completed will be directly closed.
options:
- label: >-
I understand that Issues are for feedback and problem solving,
not trolling the comments section, and will provide as
much information as possible to help solve the problem.
- label: I understand that Issues are for feedback and problem solving, not trolling the comments section, and will provide as much information as possible to help solve the problem.
required: true
- label: >-
I filled in a short, clear title
so that developers could quickly identify the general problem
when going through the issue list.
Instead of "Some suggestions", "Stuck", etc.
- label: I filled in a short, clear title so that developers could quickly identify the general problem when going through the issue list. Instead of "Some suggestions", "Stuck", etc.
required: true
- label: >-
I am using the latest version of the current update and have reviewed
both the updates released so far and the unreleased changes in the Pull Requests,
there is no mention of the bug being fixed.
- label: I am using the latest version of the current update version and have reviewed both the [Unreleased changes](https://github.com/MaaAssistantArknights/MaaAssistantArknights/commits/dev/) and there is no mention of the bug being fixed.
required: true
- label: >-
I have reviewed the Pinned issue (Announcements), Open issues, and Closed issues
to ensure that my issue has not been mentioned.
- label: I have reviewed the [FAQs](https://maa.plus/docs/en-us/manual/faq.html), [Announcement](/MaaAssistantArknights/MaaAssistantArknights/issues/7732), [Open Issue](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues), [Closed Issue](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues?q=is%3Aissue%20state%3Aclosed) to ensure that my issue/bug has not been mentioned.
required: true
- type: textarea
id: describe
@@ -42,8 +31,9 @@ body:
id: version
attributes:
label: Version
description: >-
Please provide the MAA version. Can be found in MAA -> Settings -> Update. (Click to copy)
description: |
Please provide the MAA version. Can be found in MAA -> Settings -> Update. Click to copy.
Click on `Resource Version` and `MAA Version` and paste them respectively. There should be 5 lines of version information in total.
placeholder: |
Resource Version:
MAA Version:
@@ -54,13 +44,11 @@ body:
attributes:
label: Log and config files
description: >-
**After closing MAA, upload the following 5 files:**
1. The `asst.log` `gui.log` `asst.bak.log` and `gui.bak.log` log file in the `debug` folder, and indicate the approximate point in time when the problem occurred.
2. The `gui.json` config file in the `config` folder
**Please locate the Generate Support Payload button under MAA Settings -> Issue Report, click the button, and upload the generated zip file**
**Please drag and drop the full file in, not your own cuttings or copies; compress it before uploading if too large.**
If you are using MacBook, please click the "File" option in the top-left corner of the screen, then click "Open Log Folder".
**Please drag and drop the full file in, not your own cuttings or copies;**
**compress it before uploading if too large.**
placeholder: |
Please confirm that MAA is not running before uploading files.
validations:

View File

@@ -7,9 +7,19 @@ body:
attributes:
label: Before raising the issue...
options:
- label: I filled in a short, clear title so that developers could quickly identify the general problem when going through the issue list. Instead of "Some suggestions", "Stuck", etc.
- label: |
I filled in a short, clear title so that developers could quickly identify the general problem when going through the issue list.
Instead of "Some suggestions", "Stuck", etc.
required: true
- label: I'm probably sure this is a new feature/suggestion and not a bug encountered (please attach logs if you're not sure)
- label: |
I'm probably sure this is a new feature/suggestion and not a bug encountered (please attach logs if you're not sure).
required: true
- label: |
I am using the latest version of the current update version and have reviewed both the [Unreleased changes](https://github.com/MaaAssistantArknights/MaaAssistantArknights/commits/dev/) and the [Pull requests](https://github.com/MaaAssistantArknights/MaaAssistantArknights/pulls),
but there is no mention of this feature/suggestion being added.
required: true
- label: |
I have reviewed the [Announcement](/MaaAssistantArknights/MaaAssistantArknights/issues/7732), [Open Issue](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues), [Closed Issue](https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues?q=is%3Aissue%20state%3Aclosed) to ensure that my feature/suggestion has not been mentioned.
required: true
- type: textarea
id: describe

View File

@@ -184,7 +184,7 @@ labels:
# `module: roguelike`
- name: roguelike
content: "module: roguelike"
regexes: "肉[鸽鴿]|集成战略|[Rr]ogue|[Ii]ntegrated [Ss]tategy|I\\.S\\.|ローグ"
regexes: "肉[鸽鴿]|集成战略|[Rr]ogue|[Ii]ntegrated [Ss]tategy|I\\.S\\.|ローグ|IS[1-4]"
skip-if:
- skip all
- skip module
@@ -522,7 +522,7 @@ labels:
# `incomplete`
- name: incomplete
content: incomplete
regexes: '(?:\[Uploading asst(?:.bak|)(?: - 副本|)(?:.log|)(?:.zip|)…\]\(\))'
regexes: '(?:\[Uploading asst(?:.bak|)(?: - 副本|)(?:.log|)(?:.zip|)…\]\(\))|<!-- Uploading "(log|report)[^"]*\.zip"\.\.\. -->'
mode: add
skip-if:
- skip all
@@ -532,7 +532,7 @@ labels:
- remove incomplete
- name: complete
content:
regexes: '(?:\[asst(?:.bak|)(?: - 副本|)(?:.log|)(?:.zip|)\]\([^\)]+\))'
regexes: '(?:\[asst(?:.bak|)(?: - 副本|)(?:.log|)(?:.zip|)\]\([^\)]+\))|(log|report)[^.]*.zip'
- name: remove incomplete
content: incomplete
mode: remove
@@ -547,7 +547,7 @@ labels:
comments:
- name: Log upload failed
regexes: '\[Uploading asst(?:.bak|)(?: - 副本|)(?:.log|)(?:.zip|)…\]\(\)'
regexes: '\[Uploading asst(?:.bak|)(?: - 副本|)(?:.log|)(?:.zip|)…\]\(\)|<!-- Uploading "log[^"]*\.zip"\.\.\. -->'
content: "你的日志没有上传成功,请重新上传。\n\n\
Your log did not upload successfully, please re-upload it."
mode: add
@@ -558,34 +558,34 @@ comments:
mode: add
skip-if:
- "Log upload failed"
- name: Check Link
url_mode: allow_only # allow_only: 当评论出现下列列表中允许的模式以外的链接时触发规则deny: 当评论出现下列列表中禁止的模式的链接时触发规则
url_list: # 均解析为正则表达式,允许使用 URL 所有字符串属性,参见: https://developer.mozilla.org/zh-CN/docs/Web/API/URL#%E5%B1%9E%E6%80%A7
# MAA 组织地址
- hostname: ^(?:.+\.)?github\.com$
pathname: ^/MaaAssistantArknights/
# MAA 官网
- hostname: ^(?:.+\.)?maa\.plus$
# 作业站
- hostname: ^(?:.+\.)?prts\.plus$
# issue / pr
- hostname: ^github\.com$
pathname: ^/[^/]+/[^/]+/(?:issues|pull)/[1-9]\d*$
# commit
- hostname: ^github\.com$
pathname: ^/[^/]+/[^/]+/commit/[\da-fA-F]{7,}$
# @ 用户
- hostname: ^github\.com$
pathname: ^/[^/]+$
# GitHub 图片地址,形如 `https://private-user-images.githubusercontent.com/55343783/364401381-34803448-400d-4c98-bd06-9ba5a259a931.png?jwt=[token]`
- hostname: ^private-user-images\.githubusercontent\.com$
pathname: ^/\d+/[0-9a-fA-F-]+\.([a-z\d]+)$
search: ^\?jwt=[^&]+$
content: "> [!warning]\n存在未确认的链接请谨慎访问。\n\
There are unconfirmed links, please visit with caution.\n\n${body}"
mode: update
- name: Hide gcc
regexes: "(?=.*(changeme|gcc|select the desired compiler in the installer))"
content: "> [!Caution]\n该评论中的链接文件含有病毒请勿下载。\n\
The file linked in this comment contain a virus. Please do not download it.\n\n${body}"
mode: update
# - name: Check Link
# url_mode: allow_only # allow_only: 当评论出现下列列表中允许的模式以外的链接时触发规则deny: 当评论出现下列列表中禁止的模式的链接时触发规则
# url_list: # 均解析为正则表达式,允许使用 URL 所有字符串属性,参见: https://developer.mozilla.org/zh-CN/docs/Web/API/URL#%E5%B1%9E%E6%80%A7
# # MAA 组织地址
# - hostname: ^(?:.+\.)?github\.com$
# pathname: ^/MaaAssistantArknights/
# # MAA 官网
# - hostname: ^(?:.+\.)?maa\.plus$
# # 作业站
# - hostname: ^(?:.+\.)?prts\.plus$
# # issue / pr
# - hostname: ^github\.com$
# pathname: ^/[^/]+/[^/]+/(?:issues|pull)/[1-9]\d*$
# # commit
# - hostname: ^github\.com$
# pathname: ^/[^/]+/[^/]+/commit/[\da-fA-F]{7,}$
# # @ 用户
# - hostname: ^github\.com$
# pathname: ^/[^/]+$
# # GitHub 图片地址,形如 `https://private-user-images.githubusercontent.com/55343783/364401381-34803448-400d-4c98-bd06-9ba5a259a931.png?jwt=[token]`
# - hostname: ^private-user-images\.githubusercontent\.com$
# pathname: ^/\d+/[0-9a-fA-F-]+\.([a-z\d]+)$
# search: ^\?jwt=[^&]+$
# content: "> [!warning]\n存在未确认的链接请谨慎访问。\n\
# There are unconfirmed links, please visit with caution.\n\n${body}"
# mode: update
# - name: Hide gcc
# regexes: "(?=.*(changeme|gcc|select the desired compiler in the installer))"
# content: "> [!Caution]\n该评论中的链接文件含有病毒请勿下载。\n\
# The file linked in this comment contain a virus. Please do not download it.\n\n${body}"
# mode: update

38
.github/stale_cache_remover.ps1 vendored Normal file
View File

@@ -0,0 +1,38 @@
$totalClearedSize = 0
$cacheList = gh cache list --json id,ref,sizeInBytes | ConvertFrom-Json
$prCaches = $cacheList | Where-Object { $_.ref -like "*merge*" }
if (-not $prCaches) {
Write-Output "No PR caches found."
exit
}
foreach ($cache in $prCaches) {
$cacheId = $cache.id
$cacheRef = $cache.ref
$cacheSizeInBytes = $cache.sizeInBytes
if ($cacheRef -match "refs/pull/(\d+)/merge") {
$prNumber = $matches[1]
Write-Host "PR #${prNumber}: " -NoNewline
$prStatus = gh pr view $prNumber --json state | ConvertFrom-Json
Write-Host $prStatus.state -NoNewline
if ($prStatus.state -eq "MERGED" -or $prStatus.state -eq "CLOSED") {
Write-Host " -> DELETING"
gh cache delete $cacheId
$totalClearedSize += $cacheSizeInBytes
}
else {
Write-Host ""
}
}
}
$formattedSize = "{0:N2}" -f ($totalClearedSize / 1MB)
Write-Output "Cleared size: $formattedSize MB"

View File

@@ -1,10 +1,13 @@
name: Blame Ignore Commit
name: Git Blame Ignore
on:
schedule:
- cron: "45 21 * * *" # Runs daily at 22:00 UTC
workflow_dispatch:
jobs:
blame-ignore:
if: github.repository_owner == 'MaaAssistantArknights'
runs-on: ubuntu-latest
steps:
@@ -14,25 +17,33 @@ jobs:
fetch-depth: 0
persist-credentials: false # Needed to bypass protection rules in Push changes
- name: Get last checked commit
- name: Check blame
id: check_changes
run: |
LAST_CHECKED_COMMIT=$(cat .last-checked-commit 2>/dev/null || git rev-list --max-parents=0 HEAD)
echo "LAST_CHECKED_COMMIT=$LAST_CHECKED_COMMIT" >> $GITHUB_ENV
LAST_CHECKED_COMMIT=$(cat .github/.last-blame-ignore-commit 2>/dev/null || git rev-list --max-parents=0 HEAD)
- name: Process commits and update blame ignore list
git log $LAST_CHECKED_COMMIT..HEAD --pretty=format:"%H %s" --grep="\[blame ignore\]" | awk '{print $1}' >> .git-blame-ignore-revs
git diff --quiet .git-blame-ignore-revs
- name: Commit and Push changes
if: ${{ steps.check_changes.outcome == 'failure' }}
run: |
git log ${{ env.LAST_CHECKED_COMMIT }}..HEAD --pretty=format:"%H %s" --grep="\[blame ignore\]" | awk '{print $1}' >> .git-blame-ignore-revs
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git rev-parse HEAD > .last-checked-commit
git rev-parse HEAD > .github/.last-blame-ignore-commit
git add .last-checked-commit .git-blame-ignore-revs
git add .github/.last-blame-ignore-commit .git-blame-ignore-revs
git commit -m "chore: auto blame ignore" -m "[skip changelog]"
- name: Push changes
if: ${{ steps.check_changes.outcome == 'failure' }}
uses: ad-m/github-push-action@master
with:
branch: ${{ github.ref }}
github_token: ${{ secrets.MAA_RESOURCE_SYNC }}
- name: Stop if no changes
if: ${{ steps.check_changes.outcome == 'success' }}
uses: andymckay/cancel-action@0.5

39
.github/workflows/cache-delete.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: Delete Cache
on:
pull_request:
types: [closed]
workflow_dispatch:
inputs:
pr_number:
description: "PR Number"
required: true
jobs:
cache-delete:
# Run only on organization branches with PRs
if: github.event_name == 'workflow_dispatch' ||
github.event.pull_request.head.repo.full_name ==
github.event.pull_request.base.repo.full_name
runs-on: ubuntu-latest
steps:
- name: Delete cache on PR merged
run: |
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then
PR_NUMBER=${{ github.event.inputs.pr_number }}
else
PR_NUMBER=${{ github.event.pull_request.number }}
fi
echo "PR Number: $PR_NUMBER"
curl -s -L https://api.github.com/repos/Maaassistantarknights/Maaassistantarknights/actions/caches |
jq -r --arg PR_NUMBER "refs/pull/$PR_NUMBER/merge" '.actions_caches[] | select(.ref == $PR_NUMBER) | .id' |
while read -r id; do
echo "Deleting cache with ID: $id"
curl -L -X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/MaaAssistantArknights/MaaAssistantArknights/actions/caches/$id"
done

View File

@@ -34,6 +34,11 @@ concurrency:
jobs:
meta:
# Prevent duplicate runs on organization branches with PRs
if: github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name !=
github.event.pull_request.base.repo.full_name
runs-on: ubuntu-latest
outputs:
tag: ${{ steps.set_tag.outputs.tag }}
@@ -84,6 +89,8 @@ jobs:
fi
echo >> CHANGELOG.md
echo "**Full Changelog**: [$last_tag -> $this_tag](https://github.com/MaaAssistantArknights/MaaAssistantArknights/compare/${last_tag}...${this_tag})" >> CHANGELOG.md
echo >> CHANGELOG.md
echo "[已有 Mirror酱 CDK前往 Mirror酱 高速下载](https://mirrorchyan.com/zh/projects?rid=MAA)" >> CHANGELOG.md
- name: Upload changelog to Github
uses: actions/upload-artifact@v4
@@ -93,6 +100,11 @@ jobs:
path: CHANGELOG.md
windows:
# Prevent duplicate runs on organization branches with PRs
if: github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name !=
github.event.pull_request.base.repo.full_name
needs: meta
strategy:
matrix:
@@ -110,7 +122,10 @@ jobs:
uses: actions/checkout@v4
with:
show-progress: false
submodules: recursive
- name: Fetch submodules
run: |
git submodule update --init --depth 1 3rdparty/EmulatorExtras
- name: Cache .nuke/temp, ~/.nuget/packages
id: cache-nuget
@@ -125,7 +140,16 @@ jobs:
if: steps.cache-nuget.outputs.cache-hit != 'true'
run: dotnet restore
- name: Cache MaaDeps
id: cache-maadeps
uses: actions/cache@v4
with:
path: |
./MaaDeps
key: ${{ runner.os }}-${{ matrix.lowercase_target }}-maadeps-${{ hashFiles('./maadeps-download.py') }}
- name: Bootstrap MaaDeps
if: steps.cache-maadeps.outputs.cache-hit != 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
@@ -183,8 +207,13 @@ jobs:
path: artifacts
ubuntu:
# Prevent duplicate runs on organization branches with PRs
if: github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name !=
github.event.pull_request.base.repo.full_name
needs: meta
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
matrix:
arch: [aarch64, x86_64]
@@ -195,7 +224,11 @@ jobs:
uses: actions/checkout@v4
with:
show-progress: false
submodules: recursive
- name: Fetch submodules
run: |
git submodule update --init --depth 1 3rdparty/EmulatorExtras
git submodule update --init --depth 1 src/maa-cli
- name: Install cross compile toolchains
if: ${{ matrix.arch != 'x86_64' }}
@@ -203,9 +236,7 @@ jobs:
sudo apt-get update
sudo apt-get install g++-12-aarch64-linux-gnu g++-12-aarch64-linux-gnu
- name: Setup ccache
uses: Chocobo1/setup-ccache-action@v1
# Caching not necessary on ubuntu runner
- name: Bootstrap MaaDeps
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -216,6 +247,7 @@ jobs:
run: |
mkdir -p build
cmake -B build \
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
-DMAADEPS_TRIPLET='maa-${{ matrix.arch == 'x86_64' && 'x64' || 'arm64' }}-linux' \
-DINSTALL_THIRD_LIBS=ON \
-DINSTALL_RESOURCE=ON \
@@ -226,8 +258,12 @@ jobs:
mkdir -p install
cmake --install build --prefix install
env:
CC: ${{ matrix.arch == 'x86_64' && 'ccache gcc-12' || 'ccache aarch64-linux-gnu-gcc-12' }}
CXX: ${{ matrix.arch == 'x86_64' && 'ccache g++-12' || 'ccache aarch64-linux-gnu-g++-12' }}
CC: ${{ matrix.arch == 'x86_64' && 'gcc-12' || 'aarch64-linux-gnu-gcc-12' }}
CXX: ${{ matrix.arch == 'x86_64' && 'g++-12' || 'aarch64-linux-gnu-g++-12' }}
CMAKE_COLOR_DIAGNOSTICS: ON
CLICOLOR_FORCE: 1
CXXFLAGS: | # workaround for gcc bugs
-Wno-error=restrict -Wno-error=array-bounds -Wno-error=stringop-overread -Wno-error=missing-field-initializers
- name: Setup Cross Compile Toolchains for CLI
uses: ./src/maa-cli/.github/actions/setup
@@ -295,6 +331,11 @@ jobs:
release/*.tar.gz
macOS-Core:
# Prevent duplicate runs on organization branches with PRs
if: github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name !=
github.event.pull_request.base.repo.full_name
needs: meta
runs-on: macos-14
strategy:
@@ -310,6 +351,7 @@ jobs:
run: |
brew install ninja
# Caching not necessary on macOS runner
- name: Bootstrap MaaDeps
run: |
[[ ${{ matrix.arch }} = "arm64" ]] && triplet="arm64-osx" || triplet="x64-osx"
@@ -333,6 +375,11 @@ jobs:
path: "install/*.dylib"
macOS-GUI:
# Prevent duplicate runs on organization branches with PRs
if: github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name !=
github.event.pull_request.base.repo.full_name
needs: [meta, macOS-Core]
runs-on: macos-14
steps:
@@ -340,7 +387,16 @@ jobs:
uses: actions/checkout@v4
with:
show-progress: false
submodules: recursive
- name: Install Dependencies
if: startsWith(github.ref, 'refs/tags/v')
run: |
brew install graphicsmagick imagemagick
npm install -g create-dmg
- name: Fetch submodules
run: |
git submodule update --init --depth 1 src/MaaMacGui
- name: Download Arm64 MAA from Github
uses: actions/download-artifact@v4
@@ -356,14 +412,24 @@ jobs:
- name: Install Developer ID Certificate
if: startsWith(github.ref, 'refs/tags/v')
uses: ssrobins/import-codesign-certs@v2
uses: apple-actions/import-codesign-certs@v5
with:
p12-file-base64: ${{ secrets.HGUANDL_SIGN_CERT_P12 }}
p12-password: ${{ secrets.HGUANDL_SIGN_CERT_PASSWD }}
- name: Download Provisioning Profiles
if: startsWith(github.ref, 'refs/tags/v')
uses: apple-actions/download-provisioning-profiles@v4
with:
bundle-id: "com.hguandl.MeoAsstMac"
issuer-id: ${{ secrets.HGUANDL_APPSTORE_ISSUER }}
api-key-id: ${{ secrets.HGUANDL_APPSTORE_KEYID }}
api-private-key: ${{ secrets.HGUANDL_APPSTORE_KEY }}
- name: Setup Xcode Toolchain
if: true
run: |
sudo xcode-select -s /Applications/Xcode_15.0.1.app/Contents/Developer
sudo xcode-select -s /Applications/Xcode_16.1.app/Contents/Developer
- name: Build Universal Binaries
run: |
@@ -407,9 +473,9 @@ jobs:
- name: Build MAA
run: |
if ${{ startsWith(github.ref, 'refs/tags/v') }}; then
xcodebuild -project MeoAsstMac.xcodeproj -scheme MAA archive -archivePath MAA.xcarchive -configuration Release
xcodebuild -scheme MAA archive -archivePath MAA.xcarchive
else
xcodebuild CODE_SIGN_IDENTITY="-" DEVELOPMENT_TEAM="-" ONLY_ACTIVE_ARCH=NO -project MeoAsstMac.xcodeproj -scheme MAA archive -archivePath MAA.xcarchive -configuration Debug
xcodebuild CODE_SIGNING_ALLOWED=NO -scheme MAA archive -archivePath MAA.xcarchive
fi
working-directory: src/MaaMacGui
@@ -422,10 +488,8 @@ jobs:
- name: Create Disk Image
if: startsWith(github.ref, 'refs/tags/v')
run: |
mkdir Image
mv Export/MAA.app Image/
ln -s /Applications Image/
hdiutil create -volname MAA -srcfolder Image -ov -fs APFS -format ULMO MAA.dmg
create-dmg Export/MAA.app
mv MAA*.dmg MAA.dmg
working-directory: src/MaaMacGui
- name: Archive Debug Symbols
@@ -446,16 +510,25 @@ jobs:
- name: Notarize Image
if: startsWith(github.ref, 'refs/tags/v')
run: |
find . -name "*.dmg" | while read dmg; do
codesign -s "$NOTARY_TEAM" --timestamp ${dmg}
xcrun notarytool submit --apple-id "$NOTARY_USER" --password "$NOTARY_PASSWD" --team-id "$NOTARY_TEAM" --wait ${dmg}
xcrun stapler staple ${dmg}
done
uses: nick-fields/retry@v3
with:
max_attempts: 3
timeout_minutes: 15
command: |
cd release
echo "$APPSTORE_KEY" > "AuthKey_${APPSTORE_KEYID}.p8"
dmg="MAA-${{ needs.meta.outputs.tag }}-macos-universal.dmg"
xcrun notarytool submit -k "AuthKey_${APPSTORE_KEYID}.p8" -d "$APPSTORE_KEYID" -i "$ISSUER_ID" --wait ${dmg}
env:
NOTARY_USER: ${{ secrets.HGUANDL_NOTARY_AAPL_ID }}
NOTARY_PASSWD: ${{ secrets.HGUANDL_NOTARY_PASSWD }}
NOTARY_TEAM: ${{ secrets.HGUANDL_SIGN_IDENTITY }}
APPSTORE_KEYID: ${{ secrets.HGUANDL_APPSTORE_KEYID }}
APPSTORE_KEY: ${{ secrets.HGUANDL_APPSTORE_KEY }}
ISSUER_ID: ${{ secrets.HGUANDL_APPSTORE_ISSUER }}
- name: Attach Notarization Tickets
if: startsWith(github.ref, 'refs/tags/v')
run: |
dmg="MAA-${{ needs.meta.outputs.tag }}-macos-universal.dmg"
xcrun stapler staple ${dmg}
working-directory: release
- name: Upload MAA to Github
@@ -465,8 +538,12 @@ jobs:
path: ${{ startsWith(github.ref, 'refs/tags/v') && 'release/MAA*' || 'src/MaaMacGui/MAA.xcarchive/**' }}
release:
if: startsWith(github.ref, 'refs/tags/v')
needs: [meta, windows, ubuntu, macOS-GUI]
# Prevent duplicate runs on organization branches with PRs
if: (github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name !=
github.event.pull_request.base.repo.full_name) && startsWith(github.ref, 'refs/tags/v')
needs: [meta, windows, ubuntu, macOS-Core, macOS-GUI]
runs-on: ubuntu-latest
steps:
- name: Download MAA from Github
@@ -490,6 +567,13 @@ jobs:
assets/*
prerelease: ${{ needs.meta.outputs.prerelease != 'false' }}
- name: Trigger MirrorChyan
run: |
gh workflow run --repo $GITHUB_REPOSITORY mirrorchyan
gh workflow run --repo $GITHUB_REPOSITORY mirrorchyan_release_note
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Trigger secondary workflows # ref: https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow
run: |
gh workflow run --repo $GITHUB_REPOSITORY release-ota

View File

@@ -1,4 +1,5 @@
name: "Issue Checker"
on:
issues:
types: [opened, edited]

View File

@@ -1,6 +1,8 @@
name: Check Dead Links
on:
schedule:
- cron: "0 0 * * 2" # Every Tuesday at 00:00 UTC
push:
branches:
- dev
@@ -15,42 +17,42 @@ on:
- "**/*.md"
- "docs/**"
- ".github/workflows/markdown-checker.yml"
schedule:
- cron: "44 7 * * 2" # Every Tuesday at 7:44 AM UTC
workflow_dispatch:
jobs:
check-links:
if: ${{ github.event.head_commit.author.email != '41898282+github-actions[bot]@users.noreply.github.com' }}
if: github.repository_owner == 'MaaAssistantArknights' && github.event.head_commit.author.email != '41898282+github-actions[bot]@users.noreply.github.com'
name: Check Dead Links
runs-on: ubuntu-latest
permissions:
pull-requests: write
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Check out code
uses: actions/checkout@v4
with:
show-progress: false
- name: Cache lychee
- name: Cache Primes
id: cache-primes
uses: actions/cache@v4
with:
path: .lycheecache
key: cache-lychee-${{ github.sha }}
restore-keys: cache-lychee-
key: lychee-cache
- name: Check dead links
uses: lycheeverse/lychee-action@v2
with:
# 仅检查内部链接和 Github 相关链接
# 仅检查内部链接,排除所有外部链接
args: >
--verbose --no-progress --cache --max-cache-age 1d
--verbose --no-progress
--cache --max-cache-age 1d --cache-exclude-status '429, 500..599'
--exclude 'https?://.*'
--include 'https?://github\.com/.*'
--include 'https?://raw\.githubusercontent\.com/.*'
--include 'https?://user-images\.githubusercontent\.com/.*'
--exclude-path 'docs/zh-tw/manual/introduction/introduction_old.md'
--exclude-path 'docs/ja-jp/manual/introduction/introduction_old.md'
--exclude-path 'docs/zh-tw/manual/introduction/introduction_old.md'
--exclude-path 'docs/ja-jp/manual/introduction/introduction_old.md'
--exclude 'files/MAA_Runtime_Fix_Pwsh.ps1$'
-- './docs/**/*.md' './README.md'
- name: Comment (only for PR)

71
.github/workflows/mirrorchyan.yml vendored Normal file
View File

@@ -0,0 +1,71 @@
name: mirrorchyan
on:
workflow_dispatch:
jobs:
mirrorchyan:
runs-on: macos-latest
steps:
- name: Upload MAA win x64
uses: MirrorChyan/uploading-action@v1
if: always()
with:
filetype: latest-release
filename: "*MAA-*-win-x64.zip"
mirrorchyan_rid: MAA
github_token: ${{ secrets.GITHUB_TOKEN }}
owner: ${{ github.repository_owner }}
repo: ${{ github.event.repository.name }}
upload_token: ${{ secrets.MirrorChyanUploadToken }}
os: win
arch: x64
- name: Upload MAA win arm64
uses: MirrorChyan/uploading-action@v1
if: always()
with:
filetype: latest-release
filename: "*MAA-*-win-arm64.zip"
mirrorchyan_rid: MAA
github_token: ${{ secrets.GITHUB_TOKEN }}
owner: ${{ github.repository_owner }}
repo: ${{ github.event.repository.name }}
upload_token: ${{ secrets.MirrorChyanUploadToken }}
os: win
arch: arm64
- name: Upload MAA macos arm64
uses: MirrorChyan/uploading-action@v1
if: always()
with:
filetype: latest-release
filename: "MAA-*-macos-universal.dmg"
extra_zip: true
mirrorchyan_rid: MAA
github_token: ${{ secrets.GITHUB_TOKEN }}
owner: ${{ github.repository_owner }}
repo: ${{ github.event.repository.name }}
upload_token: ${{ secrets.MirrorChyanUploadToken }}
os: macos
arch: arm64
- name: Upload MAA macos x64
uses: MirrorChyan/uploading-action@v1
if: always()
with:
filetype: latest-release
filename: "MAA-*-macos-universal.dmg"
extra_zip: true
mirrorchyan_rid: MAA
github_token: ${{ secrets.GITHUB_TOKEN }}
owner: ${{ github.repository_owner }}
repo: ${{ github.event.repository.name }}
upload_token: ${{ secrets.MirrorChyanUploadToken }}
os: macos
arch: x64

View File

@@ -0,0 +1,19 @@
name: mirrorchyan_release_note
on:
workflow_dispatch:
release:
types: [edited]
jobs:
mirrorchyan:
runs-on: macos-latest
steps:
- name: Release Note for MAA
uses: MirrorChyan/release-note-action@v1
with:
mirrorchyan_rid: MAA
upload_token: ${{ secrets.MirrorChyanUploadToken }}
github_token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,4 +1,4 @@
name: Auto Optimize PNG Templates
name: Optimize PNG Templates
on:
push:
@@ -6,7 +6,7 @@ on:
- "dev"
paths:
- "resource/**/*.png"
- "docs/.vuepress/public/image/**"
- "docs/.vuepress/public/images/**"
- "website/apps/web/public/**"
- "website/apps/web/src/assets/links/**"
workflow_dispatch:
@@ -19,44 +19,70 @@ on:
jobs:
optimize-png:
# Skip workflow to prevent double consecutive runs
if: ${{ github.event.head_commit.author.email != '41898282+github-actions[bot]@users.noreply.github.com' }}
# Skip workflow on PR merges
if: github.repository_owner == 'MaaAssistantArknights' && ${{ github.event.head_commit.author.email != '41898282+github-actions[bot]@users.noreply.github.com' }}
runs-on: ubuntu-latest
steps:
- name: Check for direct push
id: check_push
run: |
if [[ "${{ github.event_name }}" != "workflow_dispatch" ]]; then
pr_merge_status=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/commits/${{ github.event.after }}/pulls" | xargs)
if [[ "$pr_merge_status" == "[ ]" ]]; then
echo "Direct push detected. Proceeding..."
echo "is_pr=False" >> $GITHUB_OUTPUT
else
echo "PR merge detected. Exiting."
echo "is_pr=True" >> $GITHUB_OUTPUT
fi
else
echo "Manual trigger detected. Proceeding..."
echo "is_pr=False" >> $GITHUB_OUTPUT
fi
- name: Checkout repository
if: steps.check_push.outputs.is_pr != 'True'
uses: actions/checkout@v4
with:
show-progress: false
persist-credentials: false
- name: Setup python
if: steps.check_push.outputs.is_pr != 'True'
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Cache Python packages
id: cache_python
if: always()
uses: actions/cache@v4
with:
path: ${{ env.pythonLocation }}/lib/python3.11/site-packages
key: ${{ runner.os }}-pip-optimize-templates-${{ hashFiles('./tools/OptimizeTemplates/requirements.txt') }}
# - name: Cache Python packages
# id: cache_python
# if: steps.check_push.outputs.is_pr != 'True' && always()
# uses: actions/cache@v4
# with:
# path: ${{ env.pythonLocation }}/lib/python3.11/site-packages
# key: ${{ runner.os }}-pip-optimize-templates-${{ hashFiles('./tools/OptimizeTemplates/requirements.txt') }}
- name: Install dependencies
if: steps.cache_python.outputs.cache-hit != 'true'
# if: steps.check_push.outputs.is_pr != 'True' && steps.cache_python.outputs.cache-hit != 'true'
if: steps.check_push.outputs.is_pr != 'True'
run: |
pip install -r tools/OptimizeTemplates/requirements.txt
- name: Setup oxipng
if: steps.check_push.outputs.is_pr != 'True'
uses: baptiste0928/cargo-install@v3
with:
crate: oxipng
- name: Run optimize_templates
if: steps.check_push.outputs.is_pr != 'True'
run: |
python3 tools/OptimizeTemplates/optimize_templates.py
- name: Commit changes
id: commit_changes
if: steps.check_push.outputs.is_pr != 'True'
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
@@ -76,7 +102,7 @@ jobs:
fi
- name: Push changes
if: steps.commit_changes.outputs.have_commits == 'True'
if: steps.check_push.outputs.is_pr != 'True' && steps.commit_changes.outputs.have_commits == 'True'
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.MAA_RESOURCE_SYNC }}

View File

@@ -38,7 +38,7 @@ jobs:
per_page: 100
});
const regex = /^((build|chore|ci|docs?|feat!?|fix|perf|refactor|rft|style|test|i18n|typo|debug)[\:\.\(\,]|[Rr]evert|[Rr]elease)/;
const regex = /^((build|chore|ci|docs?|feat!?|fix|perf|refactor|rft|style|test|i18n|typo|debug)[\:\.\(\,]|[Rr]evert|[Rr]elease|[Rr]eapply)/;
const invalidCommits = commits.filter(commit => !regex.test(commit.commit.message) || commit.parents.length > 1);
console.log(`Checked ${commits.length} commit(s)`);
@@ -51,7 +51,7 @@ jobs:
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
body: `## ⚠️ Found ${invalidCommits.length} invalid commit(s):\n\n${invalidCommitInfoList}\n\n---\nPlease follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format, and do not use merge commits.`
body: `## ⚠️ Found ${invalidCommits.length} invalid commit(s):\n\n${invalidCommitInfoList}\n\n---\nPlease follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) format, and **DO NOT** use merge commits.\n请遵循 [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) 格式,以及**不要**使用Merge Commit修改 Commit Message 无法绕过检测)。`
});
core.setFailed(`Found ${invalidCommits.length} invalid commit(s):\n${invalidCommitNames.join("\n-------------------\n")}`);

View File

@@ -1,6 +1,8 @@
name: release-nightly-ota
on:
schedule:
- cron: "0 22 * * *" # Runs daily at 22:00 UTC
workflow_dispatch:
inputs:
release_body:
@@ -11,25 +13,24 @@ on:
description: "Commit to build (git checkout)"
type: string
required: false
limit:
limit_maa:
description: "Number of releases to fetch from MaaAssistantArknights"
required: true
default: "30"
default: "10"
type: number
limit_2:
limit_mr:
description: "Number of releases to fetch from MaaRelease"
required: true
default: "30"
default: "10"
type: number
jobs:
build-win-nightly:
if: github.repository_owner == 'MaaAssistantArknights'
runs-on: windows-latest
strategy:
matrix:
include:
- msbuild_target: x64
lowercase_target: x64
msbuild_target: [x64]
fail-fast: false
env:
MAABUILDER_TARGET_PLATFORM: ${{ matrix.msbuild_target }}
@@ -42,56 +43,102 @@ jobs:
- uses: actions/checkout@v4
with:
# repository: 'MaaAssistantArknights/MaaAssistantArknights'
submodules: recursive
#ref: ${{ inputs.ref }}
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
fetch-depth: 250
- name: Checkout ref
- name: Fetch tags
run: |
if ("${{ inputs.ref }}" -ne "") {
git checkout --progress --recurse-submodules ${{ inputs.ref || 'dev' }}
}
git fetch --depth=250 --tags
- name: Install semver
- name: Fetch submodules
run: |
npm install --global --progress semver
git submodule update --init --depth 1 3rdparty/EmulatorExtras
- name: Set tag
- name: Checkout ref (if provided)
if: inputs.ref != ''
run: |
git checkout --progress --recurse-submodules ${{ inputs.ref }}
- name: Check for Changes and Set tag
id: set_tag
run: |
# pre_version是上一个公版这里需要拉上一个tag避免堆积过多commit
$latest_tag=$(git describe --tags --abbrev=0)
echo "latest_tag=$latest_tag" >> $env:GITHUB_OUTPUT
$described = $(git describe --tags --long --match 'v*')
$ids = $($described -split "-")
if ($ids.length -eq 3) {
$ver = "v$(semver --increment $ids[0].Substring(1))"
$pre_version = "$($ids[0])"
$dist = `printf "%03d"` $ids[1]
echo "tag=$ver-alpha.1.d$($dist).$($ids[2])" >> $env:GITHUB_OUTPUT
echo "pre_version=$pre_version" >> $env:GITHUB_OUTPUT
# Fetch the latest tag from the repository
$latest_tag = git describe --tags --abbrev=0
Write-Output "Previous Tag: $latest_tag"
Write-Output "latest_tag=$latest_tag" >> $env:GITHUB_OUTPUT
# Check for changes between the latest tag and HEAD
$recent_changes = git log "$latest_tag..HEAD" --oneline
if (-not $recent_changes) {
Write-Output "No commits. Cancelling workflow..."
Write-Output "cancel_run=true" >> $env:GITHUB_ENV
exit 0
} else {
Write-Output "Recent commits: $recent_changes"
Write-Output "Commits found. Continuing build..."
Write-Output "cancel_run=false" >> $env:GITHUB_ENV
}
# Get the full description of the current commit
$described = git describe --tags --long --match 'v*'
Write-Output "New Described: $described"
$ids = $described -split "-"
if ($ids.Length -eq 3) {
# Extract and parse the current version
$current_version = $ids[0].Substring(1)
$parts = $current_version -split '\.'
if ($parts.Length -ne 3) {
Write-Error "Invalid version format: $current_version. Expected 'major.minor.patch'."
exit 1
}
# Increment the patch version
$parts[2] = [int]$parts[2] + 1
$new_version = "$($parts[0]).$($parts[1]).$($parts[2])"
# Construct the new tag and pre_version
$ver = "v$new_version"
$pre_version = $ids[0]
$dist = "{0:D3}" -f [int]$ids[1]
Write-Output "pre_version=$pre_version" >> $env:GITHUB_OUTPUT
Write-Output "New Tag: $ver-alpha.1.d$dist.$($ids[2])"
Write-Output "tag=$ver-alpha.1.d$dist.$($ids[2])" >> $env:GITHUB_OUTPUT
exit 0
}
if ($ids.length -eq 4) {
$dist = `printf "%03d"` $ids[2]
if ($ids.Length -eq 4) {
$dist = "{0:D3}" -f [int]$ids[2]
$pre_version = "$($ids[0])-$($ids[1])"
echo "pre_version=$pre_version" >> $env:GITHUB_OUTPUT
echo "tag=$pre_version.d$($dist).$($ids[3])" >> $env:GITHUB_OUTPUT
Write-Output "Pre Version: $pre_version"
Write-Output "pre_version=$pre_version" >> $env:GITHUB_OUTPUT
Write-Output "tag: $pre_version.d$dist.$($ids[3])"
Write-Output "tag=$pre_version.d$dist.$($ids[3])" >> $env:GITHUB_OUTPUT
exit 0
}
exit 1
- name: Push tag to main repo
id: push_main_tag
- name: Stop if no changes
if: env.cancel_run == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'
curl -s -L -X POST `
-H "Accept: application/vnd.github+json" `
-H "Authorization: Bearer ${{ secrets.MAA_ACTION_READ_WRITE }}" `
-H "X-GitHub-Api-Version: 2022-11-28" `
"https://api.github.com/repos/MaaAssistantArknights/MaaAssistantArknights/actions/runs/${{ github.run_id }}/cancel" > $null
$main_tag_name=$(echo "alpha/${{ steps.set_tag.outputs.tag }}")
git tag $main_tag_name -f
git push --tags origin HEAD:refs/tags/$main_tag_name -f
echo "main_tag_name=$main_tag_name" >> $env:GITHUB_OUTPUT
gh run watch ${{ github.run_id }}
- name: Generate Changelog
id: generate_changelog
@@ -102,6 +149,19 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PYTHONIOENCODING: "utf-8"
- name: Stop if no changes
if: steps.generate_changelog.outputs.cancel_run == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
curl -s -L -X POST `
-H "Accept: application/vnd.github+json" `
-H "Authorization: Bearer ${{ secrets.MAA_ACTION_READ_WRITE }}" `
-H "X-GitHub-Api-Version: 2022-11-28" `
"https://api.github.com/repos/MaaAssistantArknights/MaaAssistantArknights/actions/runs/${{ github.run_id }}/cancel" > $null
gh run watch ${{ github.run_id }}
- name: Read Changelog to variable
id: read_changelog
uses: juliangruber/read-file-action@v1
@@ -115,17 +175,26 @@ jobs:
path: |
.nuke/temp
~/.nuget/packages
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
key: ${{ runner.os }}-${{ matrix.msbuild_target }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
- name: Restore dependencies
if: steps.cache-nuget.outputs.cache-hit != 'true'
run: dotnet restore
- name: Cache MaaDeps
id: cache-maadeps
uses: actions/cache@v4
with:
path: |
./MaaDeps
key: ${{ runner.os }}-${{ matrix.msbuild_target }}-maadeps-${{ hashFiles('./maadeps-download.py') }}
- name: Bootstrap MaaDeps
run: |
python3 maadeps-download.py ${{ matrix.lowercase_target }}-windows
if: steps.cache-maadeps.outputs.cache-hit != 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
python3 maadeps-download.py ${{ matrix.msbuild_target }}-windows
- name: Taggify Version
run: |
@@ -163,10 +232,22 @@ jobs:
- name: Upload MAA to Github
uses: actions/upload-artifact@v4
with:
name: MAA-win-${{ matrix.lowercase_target }}
name: MAA-win-${{ matrix.msbuild_target }}
path: artifacts
- name: Push tag to main repo
id: push_main_tag
run: |
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'
$main_tag_name=$(echo "alpha/${{ steps.set_tag.outputs.tag }}")
git tag $main_tag_name -f
git push --tags origin HEAD:refs/tags/$main_tag_name -f
echo "main_tag_name=$main_tag_name" >> $env:GITHUB_OUTPUT
push-tag:
if: github.repository_owner == 'MaaAssistantArknights'
needs: build-win-nightly
runs-on: ubuntu-latest
steps:
@@ -189,6 +270,7 @@ jobs:
git push --tags origin HEAD:refs/tags/${{ needs.build-win-nightly.outputs.tag }}
make-ota:
if: github.repository_owner == 'MaaAssistantArknights'
needs: [build-win-nightly, push-tag]
strategy:
matrix:
@@ -217,16 +299,16 @@ jobs:
mkdir -pv build-ota && cd build-ota
# Convert inputs to integers
limit=${{ inputs.limit || 30 }}
limit=${limit%.*}
echo "Parsed limit: $limit"
limit_maa=${{ inputs.limit_maa || 10 }}
limit_maa=${limit_maa%.*}
echo "Parsed limit_maa: $limit_maa"
limit_2=${{ inputs.limit_2 || 30 }}
limit_2=${limit_2%.*}
echo "Parsed limit_2: $limit_2"
limit_mr=${{ inputs.limit_mr || 10 }}
limit_mr=${limit_mr%.*}
echo "Parsed limit_mr: $limit_mr"
gh release list --repo 'MaaAssistantArknights/MaaAssistantArknights' --limit $limit | tee ./release_maa.txt
gh release list --repo "${{ github.repository_owner }}/MaaRelease" --limit $limit_2 | tee ./release_mr.txt
gh release list --repo 'MaaAssistantArknights/MaaAssistantArknights' --limit $limit_maa | tee ./release_maa.txt
gh release list --repo "${{ github.repository_owner }}/MaaRelease" --limit $limit_mr | tee ./release_mr.txt
echo ${{ needs.build-win-nightly.outputs.tag }} > ./config
cat ./release_maa.txt | awk '{ print $1 }' > ./tags_maa.txt
@@ -275,5 +357,7 @@ jobs:
- name: Setup release mirror
run: |
gh workflow --repo MaaAssistantArknights/MaaRelease run release-mirrors.yml
gh workflow --repo MaaAssistantArknights/MaaRelease run mirrorchyan_alpha.yml
gh workflow --repo MaaAssistantArknights/MaaRelease run mirrorchyan_alpha_release_note.yml
env:
GH_TOKEN: ${{ secrets.MISTEOWORKFLOW }}

View File

@@ -1,306 +0,0 @@
name: res-update-game-unix
on:
# schedule:
# - cron: "*/20 * * * *"
workflow_dispatch:
inputs:
commit_message:
description: "Commit Message"
type: string
required: false
jobs:
clone-resources-official:
if: github.repository_owner == 'MaaAssistantArknights'
runs-on: ubuntu-latest
steps:
- name: Clone ArknightsGameResource for Official
uses: actions/checkout@v4
with:
show-progress: false
repository: yuanyan3060/ArknightsGameResource
ref: main
path: ./Official
sparse-checkout-cone-mode: false
sparse-checkout: |
/levels.json
/item
/building_skill
/gamedata/excel/item_table.json
/gamedata/excel/building_data.json
/gamedata/excel/range_table.json
/gamedata/excel/character_table.json
/gamedata/excel/gacha_table.json
/gamedata/excel/roguelike_topic_table.json
/gamedata/excel/activity_table.json
- name: Upload Official
uses: actions/upload-artifact@v4.3.4
with:
name: official
path: ./Official
clone-resources-overseas:
if: github.repository_owner == 'MaaAssistantArknights'
runs-on: ubuntu-latest
steps:
- name: Clone ArknightsGameResource_Yostar for Overseas
uses: actions/checkout@v4
with:
show-progress: false
repository: Kengxxiao/ArknightsGameData_Yostar
ref: main
path: ./Overseas
sparse-checkout-cone-mode: false
sparse-checkout: |
/en_US/gamedata/excel/item_table.json
/en_US/gamedata/excel/building_data.json
/en_US/gamedata/excel/range_table.json
/en_US/gamedata/excel/character_table.json
/en_US/gamedata/excel/gacha_table.json
/en_US/gamedata/excel/roguelike_topic_table.json
/en_US/gamedata/excel/activity_table.json
/ja_JP/gamedata/excel/item_table.json
/ja_JP/gamedata/excel/building_data.json
/ja_JP/gamedata/excel/range_table.json
/ja_JP/gamedata/excel/character_table.json
/ja_JP/gamedata/excel/gacha_table.json
/ja_JP/gamedata/excel/roguelike_topic_table.json
/ja_JP/gamedata/excel/activity_table.json
/ko_KR/gamedata/excel/item_table.json
/ko_KR/gamedata/excel/building_data.json
/ko_KR/gamedata/excel/range_table.json
/ko_KR/gamedata/excel/character_table.json
/ko_KR/gamedata/excel/gacha_table.json
/ko_KR/gamedata/excel/roguelike_topic_table.json
/ko_KR/gamedata/excel/activity_table.json
- name: Upload Official
uses: actions/upload-artifact@v4.3.4
with:
name: overseas
path: ./Overseas
clone-resources-txwy:
runs-on: ubuntu-latest
steps:
- name: Clone arknights-toolbox-update for Taiwan
uses: actions/checkout@v4
with:
show-progress: false
repository: arkntools/arknights-toolbox-update
ref: data-tw
path: ./excel
token: ${{ secrets.ARKNTOOLS_MAA_RESOURCE_UPDATER}}
- name: Upload Official
uses: actions/upload-artifact@v4.3.4
with:
name: txwy
path: ./excel
update-game-resources:
if: github.repository_owner == 'MaaAssistantArknights'
runs-on: ubuntu-latest
steps:
- name: Checkout MAA
uses: actions/checkout@v4
with:
# TL;DR https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/9872#issuecomment-2251378371
# actions/checkout uses ${{ secrets.GITHUB_TOKEN }} by default, meaning all steps will inherit it
persist-credentials: false # Needed to bypass protection rules in Push changes
show-progress: false
- name: Restore ResourceUpdater.exe from cache
id: cache-resupd
uses: actions/cache/restore@v4
with:
key: ${{ runner.os }}-resource-updater-unix-${{ hashFiles('./tools/ResourceUpdaterUnix/main.cpp') }}
path: |
./tools/ResourceUpdaterUnix/build/ResourceUpdaterUnix
- name: Bootstrap MaaDeps
if: steps.cache-resupd.outputs.cache-hit != 'true'
run: |
python3 maadeps-download.py x64-linux
- name: Build ResourceUpdater
if: steps.cache-resupd.outputs.cache-hit != 'true'
run: |
cmake -S . -B build
cd build
make -j$(nproc)
- name: Save ResourceUpdater.exe to cache
if: always() && steps.cache-resupd.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ runner.os }}-resource-updater-unix-${{ hashFiles('./tools/ResourceUpdaterUnix/main.cpp') }}
path: |
./tools/ResourceUpdaterUnix/build/ResourceUpdaterUnix
- name: Download txwy
uses: actions/download-artifact@v4.1.8
with:
name: txwy
path: ./tools/ResourceUpdaterUnix/build/Overseas/zh_TW/gamedata/excel
- name: Download Overseas
uses: actions/download-artifact@v4.1.8
with:
name: overseas
path: ./tools/ResourceUpdaterUnix/build/Overseas
- name: Download Official
uses: actions/download-artifact@v4.1.8
with:
name: official
path: ./tools/ResourceUpdaterUnix/build/Official
- name: Run Resource Updater
run: |
./tools/ResourceUpdaterUnix/build/ResourceUpdaterUnix
- name: Task Sorting
run: |
python3 tools/TaskSorter/TaskSorter.py
- name: Cache Prettier
id: cache-prettier
uses: actions/cache@v4
with:
key: ${{ runner.os }}-prettier
path: ./node_modules
- name: Install Prettier
if: steps.cache-prettier.outputs.cache-hit != 'true'
run: |
npm i prettier --no-save
- name: Run Prettier on modified Jsons
run: |
npx prettier -w $(git diff --name-only --diff-filter=ACM 2>/dev/null | grep '\.json$')
- name: Check if only sorted and Templates
id: check_sorted_templates
run: |
git status
gd=$(git diff --numstat HEAD 2>/dev/null | grep -i resource)
if [ $? -ne 0 ]; then
echo "no diff"
exit 0
fi
echo ""
echo "$gd"
echo ""
diff=false
hasPng=false
IFS=$'\n' read -rd '' -a diffLines <<<"$gd"
for line in "${diffLines[@]}"; do
parts=($line)
filePath=${parts[2]}
firstNumber=${parts[0]}
secondNumber=${parts[1]}
if [[ $filePath =~ \.png$ ]]; then
hasPng=true
fi
if [[ $firstNumber -gt 1 || $firstNumber -ne $secondNumber ]]; then
diff=true
fi
if $hasPng && $diff; then
break
fi
done
changes=$($hasPng || $diff)
echo "diff: $diff"
echo "hasPng: $hasPng"
echo "changes: $changes"
echo "contains_png=$hasPng" >> $GITHUB_OUTPUT
echo "changes=$changes" >> $GITHUB_OUTPUT
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Cache Python packages
id: cache_python
if: always()
uses: actions/cache@v4
with:
path: ${{ env.pythonLocation }}/lib/python3.11/site-packages
key: ${{ runner.os }}-pip-optimize-templates-${{ hashFiles('./tools/OptimizeTemplates/requirements.txt') }}
- name: Install dependencies
if: steps.cache_python.outputs.cache-hit != 'true'
run: |
pip install -r tools/OptimizeTemplates/requirements.txt
- name: Setup oxipng
uses: baptiste0928/cargo-install@v3
with:
crate: oxipng
- name: Optimize Templates
if: steps.check_sorted_templates.outputs.contains_png == 'True'
run: |
python3 tools/OptimizeTemplates/optimize_templates.py resource/template/items/ resource/template/infrast/
- name: Cancelling
if: steps.check_sorted_templates.outputs.changes != 'True'
uses: andymckay/cancel-action@0.5
- name: Add files to git
if: steps.check_sorted_templates.outputs.changes == 'True'
id: add_files
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add .
commit_msg="${{ github.event.inputs.commit_message }}"
if [ -n "$commit_msg" ]; then
commit_msg=$(echo "$commit_msg" | xargs) # Trim whitespace
else
commit_msg="chore: Auto Update Game Resources - $(date +'%Y-%m-%d')"
fi
git commit -m "$commit_msg" -m "[skip changelog]"
if [ $? -eq 0 ]; then
echo "have_commits=True" >> $GITHUB_OUTPUT
fi
git pull origin $(git rev-parse --abbrev-ref HEAD) --unshallow --rebase
- name: Cancelling
if: steps.add_files.outputs.have_commits != 'True'
uses: andymckay/cancel-action@0.5
- name: Push changes
if: steps.add_files.outputs.have_commits == 'True'
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.MAA_RESOURCE_SYNC }}
- name: Update OTA resource
if: steps.add_files.outputs.have_commits == 'True'
env:
GH_TOKEN: ${{ secrets.MAA_RESOURCE_SYNC }}
run: |
gh workflow --repo MaaAssistantArknights/MaaRelease run update-resource.yml
# - name: Release # ref: https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow
# if: steps.add_files.outputs.have_commits == 'True'
# run: |
# gh workflow run release-nightly-ota -f release_body="Auto Release of Resource Updates"

View File

@@ -2,7 +2,7 @@ name: res-update-game
on:
schedule:
- cron: "*/20 * * * *"
- cron: "*/20 * * * *" # Runs every 20 minutes
workflow_dispatch:
inputs:
commit_message:
@@ -36,10 +36,11 @@ jobs:
/gamedata/excel/activity_table.json
- name: Upload Official
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v4
with:
name: official
path: ./Official
compression-level: 0
clone-resources-overseas:
if: github.repository_owner == 'MaaAssistantArknights'
@@ -49,38 +50,39 @@ jobs:
uses: actions/checkout@v4
with:
show-progress: false
repository: Kengxxiao/ArknightsGameData_Yostar
ref: main
repository: ArknightsAssets/ArknightsGamedata
ref: master
path: ./Overseas
sparse-checkout-cone-mode: false
sparse-checkout: |
/en_US/gamedata/excel/item_table.json
/en_US/gamedata/excel/building_data.json
/en_US/gamedata/excel/range_table.json
/en_US/gamedata/excel/character_table.json
/en_US/gamedata/excel/gacha_table.json
/en_US/gamedata/excel/roguelike_topic_table.json
/en_US/gamedata/excel/activity_table.json
/ja_JP/gamedata/excel/item_table.json
/ja_JP/gamedata/excel/building_data.json
/ja_JP/gamedata/excel/range_table.json
/ja_JP/gamedata/excel/character_table.json
/ja_JP/gamedata/excel/gacha_table.json
/ja_JP/gamedata/excel/roguelike_topic_table.json
/ja_JP/gamedata/excel/activity_table.json
/ko_KR/gamedata/excel/item_table.json
/ko_KR/gamedata/excel/building_data.json
/ko_KR/gamedata/excel/range_table.json
/ko_KR/gamedata/excel/character_table.json
/ko_KR/gamedata/excel/gacha_table.json
/ko_KR/gamedata/excel/roguelike_topic_table.json
/ko_KR/gamedata/excel/activity_table.json
/en/gamedata/excel/item_table.json
/en/gamedata/excel/building_data.json
/en/gamedata/excel/range_table.json
/en/gamedata/excel/character_table.json
/en/gamedata/excel/gacha_table.json
/en/gamedata/excel/roguelike_topic_table.json
/en/gamedata/excel/activity_table.json
/jp/gamedata/excel/item_table.json
/jp/gamedata/excel/building_data.json
/jp/gamedata/excel/range_table.json
/jp/gamedata/excel/character_table.json
/jp/gamedata/excel/gacha_table.json
/jp/gamedata/excel/roguelike_topic_table.json
/jp/gamedata/excel/activity_table.json
/kr/gamedata/excel/item_table.json
/kr/gamedata/excel/building_data.json
/kr/gamedata/excel/range_table.json
/kr/gamedata/excel/character_table.json
/kr/gamedata/excel/gacha_table.json
/kr/gamedata/excel/roguelike_topic_table.json
/kr/gamedata/excel/activity_table.json
- name: Upload Official
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v4
with:
name: overseas
path: ./Overseas
compression-level: 0
clone-resources-txwy:
if: github.repository_owner == 'MaaAssistantArknights'
@@ -116,12 +118,16 @@ jobs:
wait
- name: Upload Official
uses: actions/upload-artifact@v4.3.4
uses: actions/upload-artifact@v4
with:
name: txwy
path: ./excel
compression-level: 0
update-game-resources:
# In case of rate limitations on the runners/instances, add dependency, by removing the comment
# needs: [clone-resources-official, clone-resources-overseas, clone-resources-txwy]
if: github.repository_owner == 'MaaAssistantArknights'
runs-on: windows-latest
steps:
@@ -138,13 +144,24 @@ jobs:
id: cache-resupd
uses: actions/cache/restore@v4
with:
key: ${{ runner.os }}-resource-updater-main-cpp-${{ hashFiles('./tools/ResourceUpdater/main.cpp') }}
key: Resource-updater-${{ hashFiles('./tools/ResourceUpdater/main.cpp') }}
path: |
./tools/ResourceUpdater/x64/Release/opencv_world4_maa.dll
./tools/ResourceUpdater/x64/Release/ResourceUpdater.exe
- name: Bootstrap MaaDeps
- name: Cache MaaDeps
if: steps.cache-resupd.outputs.cache-hit != 'true'
id: cache-maadeps
uses: actions/cache@v4
with:
path: |
./MaaDeps
key: ${{ runner.os }}-x64-maadeps-${{ hashFiles('./maadeps-download.py') }}
- name: Bootstrap MaaDeps
if: steps.cache-resupd.outputs.cache-hit != 'true' && steps.cache-maadeps.outputs.cache-hit != 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
python3 maadeps-download.py x64-windows
@@ -161,24 +178,66 @@ jobs:
if: always() && steps.cache-resupd.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
key: ${{ runner.os }}-resource-updater-main-cpp-${{ hashFiles('./tools/ResourceUpdater/main.cpp') }}
key: Resource-updater-${{ hashFiles('./tools/ResourceUpdater/main.cpp') }}
path: |
./tools/ResourceUpdater/x64/Release/opencv_world4_maa.dll
./tools/ResourceUpdater/x64/Release/ResourceUpdater.exe
- name: Download txwy
id: download-txwy
uses: actions/download-artifact@v4.1.8
continue-on-error: true
with:
name: txwy
path: ./tools/ResourceUpdater/x64/Release/Overseas/tw/gamedata/excel
- name: Delay txwy
if: steps.download-txwy.outcome == 'failure'
run: |
Start-Sleep -s 20
- name: Re-download txwy
if: steps.download-txwy.outcome == 'failure'
uses: actions/download-artifact@v4.1.8
with:
name: txwy
path: ./tools/ResourceUpdater/x64/Release/Overseas/zh_TW/gamedata/excel
path: ./tools/ResourceUpdater/x64/Release/Overseas/tw/gamedata/excel
- name: Download Overseas
id: download-overseas
uses: actions/download-artifact@v4.1.8
continue-on-error: true
with:
name: overseas
path: ./tools/ResourceUpdater/x64/Release/Overseas
- name: Delay Overseas
if: steps.download-overseas.outcome == 'failure'
run: |
Start-Sleep -s 20
- name: Re-download Overseas
if: steps.download-overseas.outcome == 'failure'
uses: actions/download-artifact@v4.1.8
with:
name: overseas
path: ./tools/ResourceUpdater/x64/Release/Overseas
- name: Download Official
id: download-official
uses: actions/download-artifact@v4.1.8
continue-on-error: true
with:
name: official
path: ./tools/ResourceUpdater/x64/Release/Official
- name: Delay Official
if: steps.download-official.outcome == 'failure'
run: |
Start-Sleep -s 20
- name: Re-download Official
if: steps.download-official.outcome == 'failure'
uses: actions/download-artifact@v4.1.8
with:
name: official
@@ -199,18 +258,18 @@ jobs:
with:
args: -w ${{ steps.task_sorting.outputs.gitdiff }}
- name: Check if only sorted and Templates
id: check_sorted_templates
run: pwsh tools/ResourceUpdater/validator.ps1
- name: Update version.json date if necessary
id: update_version
run: pwsh tools/ResourceUpdater/version.ps1
- name: Setup python
if: steps.check_sorted_templates.outputs.contains_png == 'True'
if: steps.update_version.outputs.contains_png == 'True'
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Cache Python packages
if: always() && steps.check_sorted_templates.outputs.contains_png == 'True'
if: always() && steps.update_version.outputs.contains_png == 'True'
id: cache_python
uses: actions/cache@v4
with:
@@ -218,23 +277,23 @@ jobs:
key: ${{ runner.os }}-pip-optimize-templates-${{ hashFiles('./tools/OptimizeTemplates/requirements.txt') }}
- name: Install dependencies
if: steps.cache_python.outputs.cache-hit != 'true' && steps.check_sorted_templates.outputs.contains_png == 'True'
if: steps.cache_python.outputs.cache-hit != 'true' && steps.update_version.outputs.contains_png == 'True'
run: |
pip install -r tools/OptimizeTemplates/requirements.txt
- name: Setup oxipng
if: steps.check_sorted_templates.outputs.contains_png == 'True'
if: steps.update_version.outputs.contains_png == 'True'
uses: baptiste0928/cargo-install@v3
with:
crate: oxipng
- name: Run optimize_templates
if: steps.check_sorted_templates.outputs.contains_png == 'True'
if: steps.update_version.outputs.contains_png == 'True'
run: |
python3 tools/OptimizeTemplates/optimize_templates.py -p resource/template/items/ resource/template/infrast/
- name: Add files to git
if: steps.check_sorted_templates.outputs.changes == 'True'
if: steps.update_version.outputs.changes == 'True'
id: add_files
run: |
git config user.name "github-actions[bot]"
@@ -264,15 +323,15 @@ jobs:
branch: ${{ github.ref }}
github_token: ${{ secrets.MAA_RESOURCE_SYNC }}
- name: Update OTA resource
if: steps.add_files.outputs.have_commits == 'True'
env:
GH_TOKEN: ${{ secrets.MAA_RESOURCE_SYNC }}
run: |
gh workflow --repo MaaAssistantArknights/MaaRelease run update-resource.yml
# - name: Update OTA resource
# if: steps.update_version.outputs.update_resources == 'True'
# env:
# GH_TOKEN: ${{ secrets.MISTEOWORKFLOW }}
# run: |
# gh workflow --repo MaaAssistantArknights/MaaRelease run update-resource.yml
- name: Add cancelled status
if: steps.check_sorted_templates.outputs.changes != 'True' || steps.add_files.outputs.have_commits != 'True'
if: steps.update_version.outputs.changes != 'True' || steps.add_files.outputs.have_commits != 'True'
uses: andymckay/cancel-action@0.5
# - name: Release # ref: https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow

View File

@@ -1,27 +1,25 @@
name: test
name: smoke-testing
on:
push:
paths:
- "3rdparty/include/**"
- "include/**"
- "src/**"
- "cmake/**"
- "CMakeLists.txt"
- "src/Cpp/**"
- "src/MaaCore/**"
- "src/SyncRes/**"
- "MAA.sln"
- "resource/**"
- "MaaDeps/**"
- "!**/*.md"
pull_request:
paths:
- "3rdparty/include/**"
- "include/**"
- "src/**"
- "cmake/**"
- "CMakeLists.txt"
- "src/Cpp/**"
- "src/MaaCore/**"
- "src/SyncRes/**"
- "MAA.sln"
- "resource/**"
- "MaaDeps/**"
- "!**/*.md"
workflow_dispatch:
@@ -31,53 +29,93 @@ concurrency:
jobs:
smoke-testing:
# Prevent duplicate runs on organization branches with PRs
if: github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name !=
github.event.pull_request.base.repo.full_name
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
show-progress: false
submodules: recursive
- name: Restore dependencies
run: dotnet restore
- name: Generate cache key
id: cache_key
run: |
Write-Output "key=Smoke-testing-${{ hashFiles('src/Cpp/**', 'src/MaaCore/**', 'src/SyncRes/**', '3rdparty/include/**', 'include/**', 'MAA.sln') }}" >> $env:GITHUB_OUTPUT
- name: Restore cache smoke-testing
id: cache-exe
uses: actions/cache/restore@v4
with:
key: ${{ steps.cache_key.outputs.key }}
path: |
./x64/Debug/Sample.exe
./x64/Debug/fastdeploy_ppocr.dll
./x64/Debug/MaaCore.dll
./x64/Debug/onnxruntime_maa.dll
./x64/Debug/opencv_world4d_maa.dll
- name: Fetch submodules
if: steps.cache-exe.outputs.cache-hit != 'true'
run: |
git submodule update --init --depth 1 3rdparty/EmulatorExtras
- name: Cache MaaDeps
if: steps.cache-exe.outputs.cache-hit != 'true'
id: cache-maadeps
uses: actions/cache@v4
with:
path: |
./MaaDeps
key: ${{ runner.os }}-x64-maadeps-${{ hashFiles('./maadeps-download.py') }}
- name: Bootstrap MaaDeps
if: steps.cache-exe.outputs.cache-hit != 'true' && steps.cache-maadeps.outputs.cache-hit != 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
python3 maadeps-download.py x64-windows
- name: Add msbuild to PATH
if: steps.cache-exe.outputs.cache-hit != 'true'
uses: microsoft/setup-msbuild@v2
with:
msbuild-architecture: x64
- name: Build MaaSample
if: steps.cache-exe.outputs.cache-hit != 'true'
run: |
MSBUILD src/Cpp/MaaSample.slnf /t:rebuild /p:Configuration="Debug" /p:Platform="x64" /m
MSBUILD src/Cpp/MaaSample.slnf -t:restore,build -p:Configuration="Debug" -p:Platform="x64" -m
- name: Run tests - Official #用来判断是不是国服资源出错导致外服全炸
- name: Copy resource to build directory
if: steps.cache-exe.outputs.cache-hit == 'true'
run: |
.\x64\Debug\Sample.exe
(robocopy "resource" "x64/Debug/resource" /E /XD "Arknights-Tile-Pos" /MT:4 > $null);
if ($LASTEXITCODE -lt 2) { $global:LASTEXITCODE = $null }
(robocopy "resource/Arknights-Tile-Pos" "x64/Debug/resource/Arknights-Tile-Pos" "overview.json" > $null);
if ($LASTEXITCODE -lt 2) { $global:LASTEXITCODE= $null }
- name: Run tests - YostarJP
- name: Run tests
run: |
.\x64\Debug\Sample.exe YostarJP
pwsh tools/SmokeTesting/run_tests.ps1
- name: Run tests - YostarEN
run: |
.\x64\Debug\Sample.exe YostarEN
- name: Run tests - YostarKR
run: |
.\x64\Debug\Sample.exe YostarKR
- name: Run tests - txwy
run: |
.\x64\Debug\Sample.exe txwy
- name: Save cache smoke-testing (only in dev)
if: steps.cache-exe.outputs.cache-hit != 'true' && github.ref == 'refs/heads/dev'
uses: actions/cache/save@v4
with:
key: ${{ steps.cache_key.outputs.key }}
path: |
./x64/Debug/Sample.exe
./x64/Debug/fastdeploy_ppocr.dll
./x64/Debug/MaaCore.dll
./x64/Debug/onnxruntime_maa.dll
./x64/Debug/opencv_world4d_maa.dll
- name: Upload logs
if: always()
uses: actions/upload-artifact@v4
with:
name: log
path: .\x64\Debug\debug
name: logs
path: ./x64/Debug/debug

View File

@@ -1,16 +1,17 @@
name: "Inactive Issues auto close"
env: # config
daysBeforeStale: 90 # Number of days of inactivity before marking as stale
daysBeforeClose: 7 # Number of days to wait after marking as stale before closing
name: "Inactive Issues Closer"
on:
schedule:
- cron: "0 0 * * *" # Runs daily at UTC 00:00
workflow_dispatch: # Allows manual triggering
env: # config
daysBeforeStale: 90 # Number of days of inactivity before marking as stale
daysBeforeClose: 7 # Number of days to wait after marking as stale before closing
jobs:
stale:
if: github.repository_owner == 'MaaAssistantArknights'
runs-on: ubuntu-latest
permissions:
actions: write # Workaround for https://github.com/actions/stale/issues/1090
@@ -34,5 +35,5 @@ jobs:
days-before-pr-close: -1 # Completely disable closing for PRs
# Temporary to reduce the huge issues number
operations-per-run: 500
operations-per-run: 100
debug-only: false

View File

@@ -1,16 +1,17 @@
name: sync-resource
on:
workflow_dispatch:
push:
branches:
- dev
paths:
- "resource/**"
- ".github/workflows/sync-resource.yml"
workflow_dispatch:
jobs:
sync-reource:
sync-resource:
if: github.repository_owner == 'MaaAssistantArknights'
runs-on: ubuntu-latest
steps:
@@ -21,8 +22,8 @@ jobs:
- name: Setup Git
run: |
git config --global user.name "$GITHUB_ACTOR"
git config --global user.email "$GITHUB_ACTOR@users.noreply.github.com"
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git show -s
- name: Checkout MaaResource
@@ -48,9 +49,3 @@ jobs:
git status
git commit -m "$commit_msg" || exit 0
git push
- name: Setup resource update
env:
GH_TOKEN: ${{ secrets.MISTEOWORKFLOW }}
run: |
gh workflow --repo MaaAssistantArknights/MaaRelease run update-resource.yml

View File

@@ -41,9 +41,7 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
cache-dependency-path: "./website/pnpm-lock.yaml"
node-version: 22
- name: Install dependencies
run: pnpm install --frozen-lockfile

10
.gitignore vendored
View File

@@ -457,3 +457,13 @@ tools/RoguelikeRecruitmentTool/output
# MaaDeps
/MaaDeps/*
# ResourceUpdater workflow
/original/*
# Windows Explorer Shits
desktop.ini
Thumbs.db
# macOS Finder Shit
.DS_Store

View File

@@ -1 +0,0 @@
7521b526ee2a272d267ff9cb60651ab0e012b63f

View File

@@ -4,25 +4,26 @@ ci:
autofix_prs: true
repos:
- repo: https://github.com/shssoichiro/oxipng
rev: v9.1.2
rev: v9.1.4
hooks:
- id: oxipng
args: ["-q", "-o", "2", "-s", "--ng"]
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v17.0.1
rev: v20.1.0
hooks:
- id: clang-format
files: ^src/MaaCore/.*
args: ["--assume-filename", ".clang-format"]
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
- repo: https://github.com/rbubley/mirrors-prettier
rev: v3.5.3
hooks:
- id: prettier
files: ^((\.github/ISSUE_TEMPLATE|docs|resource|src|tools|website)/.*|\.pre-commit-config\.yaml|package-definition\.json)
types_or:
- yaml
- json
- repo: https://github.com/DavidAnson/markdownlint-cli2
rev: v0.13.0
rev: v0.17.2
hooks:
- id: markdownlint-cli2
files: ^docs/.*|^README\.md$

View File

@@ -6,5 +6,10 @@ src/maa-cli
src/MaaMacGui
website/
docs/
resource/Arknights-Tile-Pos/
tools/OptimizeTemplates/optimize_templates.json
CITATION.cff
CHANGELOG.md

View File

@@ -1,3 +1,5 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
#include <initializer_list>
@@ -37,37 +39,86 @@ public:
// explicit basic_array(const basic_value<string_t>& val);
// explicit basic_array(basic_value<string_t>&& val);
template <typename collection_t,
std::enable_if_t<_utils::is_collection<collection_t> &&
std::is_constructible_v<value_type, _utils::range_value_t<collection_t>>,
bool> = true>
template <
typename collection_t,
std::enable_if_t<
_utils::is_collection<collection_t>
&& std::is_constructible_v<value_type, _utils::range_value_t<collection_t>>,
bool> = true>
basic_array(collection_t arr)
: _array_data(std::make_move_iterator(arr.begin()), std::make_move_iterator(arr.end()))
{}
template <typename jsonization_t,
std::enable_if_t<_utils::has_to_json_in_member<jsonization_t>::value, bool> = true>
basic_array(const jsonization_t& value) : basic_array(value.to_json())
{}
template <typename jsonization_t,
std::enable_if_t<_utils::has_to_json_in_templ_spec<jsonization_t>::value, bool> = true>
basic_array(const jsonization_t& value) : basic_array(ext::jsonization<jsonization_t>().to_json(value))
{}
{
}
template <
typename fixed_array_t,
std::enable_if_t<_utils::is_fixed_array<fixed_array_t>, bool> = true>
basic_array(const fixed_array_t& arr)
: _array_data(arr.begin(), arr.end())
{
}
template <
typename jsonization_t,
std::enable_if_t<_utils::has_to_json_in_member<jsonization_t>::value, bool> = true>
basic_array(const jsonization_t& value)
: basic_array(value.to_json())
{
}
template <
typename jsonization_t,
std::enable_if_t<_utils::has_to_json_in_templ_spec<jsonization_t>::value, bool> = true>
basic_array(const jsonization_t& value)
: basic_array(ext::jsonization<jsonization_t>().to_json(value))
{
}
template <typename... elem_ts>
basic_array(const std::tuple<elem_ts...>& tup)
{
foreach_tuple(tup, std::make_index_sequence<std::tuple_size_v<std::tuple<elem_ts...>>>());
}
template <typename first_t, typename second_t>
basic_array(std::pair<first_t, second_t> pair)
: _array_data({ std::move(pair.first), std::move(pair.second) })
{
}
~basic_array() noexcept = default;
bool empty() const noexcept { return _array_data.empty(); }
size_t size() const noexcept { return _array_data.size(); }
bool contains(size_t pos) const { return pos < _array_data.size(); }
bool exists(size_t pos) const { return contains(pos); }
const basic_value<string_t>& at(size_t pos) const;
string_t dumps(std::optional<size_t> indent = std::nullopt) const { return indent ? format(*indent) : to_string(); }
string_t dumps(std::optional<size_t> indent = std::nullopt) const
{
return indent ? format(*indent) : to_string();
}
string_t to_string() const;
string_t format(size_t indent = 4) const { return format(indent, 0); }
template <typename value_t>
bool all() const;
template <typename value_t, template <typename...> typename collection_t = std::vector>
collection_t<value_t> as_collection() const;
template <
typename value_t,
size_t Size,
template <typename, size_t> typename fixed_array_t = std::array>
fixed_array_t<value_t, Size> as_fixed_array() const;
template <typename... elem_ts>
std::tuple<elem_ts...> as_tuple() const;
template <typename first_t, typename second_t>
std::pair<first_t, second_t> as_pair() const;
// Usage: get(key_1, key_2, ..., default_value);
template <typename... key_then_default_value_t>
@@ -112,23 +163,54 @@ public:
basic_array<string_t>& operator=(const basic_array<string_t>&) = default;
basic_array<string_t>& operator=(basic_array<string_t>&&) noexcept = default;
template <typename value_t, std::enable_if_t<std::is_convertible_v<value_t, basic_array<string_t>>, bool> = true>
template <
typename value_t,
std::enable_if_t<std::is_convertible_v<value_t, basic_array<string_t>>, bool> = true>
basic_array<string_t>& operator=(value_t rhs)
{
return *this = basic_array<string_t>(std::move(rhs));
}
bool operator==(const basic_array<string_t>& rhs) const;
bool operator!=(const basic_array<string_t>& rhs) const { return !(*this == rhs); }
template <typename value_t, template <typename...> typename collection_t = std::vector,
std::enable_if_t<_utils::is_collection<collection_t<value_t>>, bool> = true>
template <
typename value_t,
template <typename...> typename collection_t = std::vector,
std::enable_if_t<_utils::is_collection<collection_t<value_t>>, bool> = true>
explicit operator collection_t<value_t>() const
{
return as_collection<value_t, collection_t>();
}
template <typename jsonization_t,
std::enable_if_t<_utils::has_from_json_in_member<jsonization_t, string_t>::value, bool> = true>
template <
typename value_t,
size_t Size,
template <typename, size_t> typename fixed_array_t = std::array,
std::enable_if_t<_utils::is_fixed_array<fixed_array_t<value_t, Size>>, bool> = true>
explicit operator fixed_array_t<value_t, Size>() const
{
return as_fixed_array<value_t, Size, fixed_array_t>();
}
template <typename... elem_ts>
explicit operator std::tuple<elem_ts...>() const
{
return as_tuple<elem_ts...>();
}
template <typename elem1_t, typename elem2_t>
explicit operator std::pair<elem1_t, elem2_t>() const
{
return as_pair<elem1_t, elem2_t>();
}
template <
typename jsonization_t,
std::enable_if_t<_utils::has_from_json_in_member<jsonization_t, string_t>::value, bool> =
true>
explicit operator jsonization_t() const
{
jsonization_t dst {};
@@ -137,8 +219,12 @@ public:
}
return dst;
}
template <typename jsonization_t,
std::enable_if_t<_utils::has_from_json_in_templ_spec<jsonization_t, string_t>::value, bool> = true>
template <
typename jsonization_t,
std::enable_if_t<
_utils::has_from_json_in_templ_spec<jsonization_t, string_t>::value,
bool> = true>
explicit operator jsonization_t() const
{
jsonization_t dst {};
@@ -150,13 +236,25 @@ public:
private:
template <typename... key_then_default_value_t, size_t... keys_indexes_t>
auto get(std::tuple<key_then_default_value_t...> keys_then_default_value,
std::index_sequence<keys_indexes_t...>) const;
auto
get(std::tuple<key_then_default_value_t...> keys_then_default_value,
std::index_sequence<keys_indexes_t...>) const;
template <typename value_t, typename... rest_keys_t>
auto get_helper(const value_t& default_value, size_t pos, rest_keys_t&&... rest) const;
template <typename value_t>
auto get_helper(const value_t& default_value, size_t pos) const;
template <typename tuple_t>
tuple_t as_tuple_templ() const;
template <size_t index, typename tuple_t>
void set_tuple(tuple_t& tup) const;
template <typename Tuple, std::size_t... Is>
void foreach_tuple(const Tuple& t, std::index_sequence<Is...>)
{
(_array_data.emplace_back(std::get<Is>(t)), ...);
}
string_t format(size_t indent, size_t indent_times) const;
private:
@@ -164,15 +262,20 @@ private:
};
template <typename string_t>
inline basic_array<string_t>::basic_array(std::initializer_list<value_type> init_list) : _array_data(init_list)
{}
inline basic_array<string_t>::basic_array(std::initializer_list<value_type> init_list)
: _array_data(init_list)
{
}
template <typename string_t>
inline basic_array<string_t>::basic_array(typename raw_array::size_type size) : _array_data(size)
{}
inline basic_array<string_t>::basic_array(typename raw_array::size_type size)
: _array_data(size)
{
}
// template <typename string_t>
// inline basic_array<string_t>::basic_array(const basic_value<string_t>& val) : basic_array<string_t>(val.as_array())
// inline basic_array<string_t>::basic_array(const basic_value<string_t>& val) :
// basic_array<string_t>(val.as_array())
//{}
//
// template <typename string_t>
@@ -202,8 +305,9 @@ template <typename string_t>
template <typename... args_t>
inline decltype(auto) basic_array<string_t>::emplace_back(args_t&&... args)
{
static_assert(std::is_constructible_v<value_type, args_t...>,
"Parameter can't be used to construct a raw_array::value_type");
static_assert(
std::is_constructible_v<value_type, args_t...>,
"Parameter can't be used to construct a raw_array::value_type");
return _array_data.emplace_back(std::forward<args_t>(args)...);
}
@@ -266,18 +370,18 @@ inline bool basic_array<string_t>::all() const
namespace _as_collection_helper
{
template <typename T>
class has_emplace_back
{
template <typename U>
static auto test(int) -> decltype(std::declval<U>().emplace_back(), std::true_type());
template <typename T>
class has_emplace_back
{
template <typename U>
static auto test(int) -> decltype(std::declval<U>().emplace_back(), std::true_type());
template <typename U>
static std::false_type test(...);
template <typename U>
static std::false_type test(...);
public:
static constexpr bool value = decltype(test<T>(0))::value;
};
public:
static constexpr bool value = decltype(test<T>(0))::value;
};
}
template <typename string_t>
@@ -298,31 +402,94 @@ inline collection_t<value_t> basic_array<string_t>::as_collection() const
return result;
}
template <typename string_t>
template <typename value_t, size_t Size, template <typename, size_t> typename fixed_array_t>
inline fixed_array_t<value_t, Size> basic_array<string_t>::as_fixed_array() const
{
if (size() != Size) {
throw exception("Wrong array size");
}
fixed_array_t<value_t, Size> result;
for (size_t i = 0; i < Size; ++i) {
result.at(i) = _array_data.at(i).template as<value_t>();
}
return result;
}
template <typename string_t>
template <size_t index, typename tuple_t>
inline void basic_array<string_t>::set_tuple(tuple_t& tup) const
{
using elem_t = std::tuple_element_t<index, tuple_t>;
if constexpr (index > 0) {
set_tuple<index - 1>(tup);
}
std::get<index>(tup) = static_cast<elem_t>(at(index));
}
template <typename string_t>
template <typename tuple_t>
inline tuple_t basic_array<string_t>::as_tuple_templ() const
{
constexpr size_t tuple_size = std::tuple_size_v<tuple_t>;
if (size() != tuple_size) {
throw exception("Wrong array size");
}
tuple_t result;
set_tuple<tuple_size - 1>(result);
return result;
}
template <typename string_t>
template <typename... elem_ts>
inline std::tuple<elem_ts...> basic_array<string_t>::as_tuple() const
{
return as_tuple_templ<std::tuple<elem_ts...>>();
}
template <typename string_t>
template <typename first_t, typename second_t>
inline std::pair<first_t, second_t> basic_array<string_t>::as_pair() const
{
return as_tuple_templ<std::pair<first_t, second_t>>();
}
template <typename string_t>
template <typename... key_then_default_value_t>
inline auto basic_array<string_t>::get(key_then_default_value_t&&... keys_then_default_value) const
{
return get(std::forward_as_tuple(keys_then_default_value...),
std::make_index_sequence<sizeof...(keys_then_default_value) - 1> {});
return get(
std::forward_as_tuple(keys_then_default_value...),
std::make_index_sequence<sizeof...(keys_then_default_value) - 1> {});
}
template <typename string_t>
template <typename... key_then_default_value_t, size_t... keys_indexes_t>
inline auto basic_array<string_t>::get(std::tuple<key_then_default_value_t...> keys_then_default_value,
std::index_sequence<keys_indexes_t...>) const
inline auto basic_array<string_t>::get(
std::tuple<key_then_default_value_t...> keys_then_default_value,
std::index_sequence<keys_indexes_t...>) const
{
constexpr unsigned long default_value_index = sizeof...(key_then_default_value_t) - 1;
return get_helper(std::get<default_value_index>(keys_then_default_value),
std::get<keys_indexes_t>(keys_then_default_value)...);
return get_helper(
std::get<default_value_index>(keys_then_default_value),
std::get<keys_indexes_t>(keys_then_default_value)...);
}
template <typename string_t>
template <typename value_t, typename... rest_keys_t>
inline auto basic_array<string_t>::get_helper(const value_t& default_value, size_t pos, rest_keys_t&&... rest) const
inline auto basic_array<string_t>::get_helper(
const value_t& default_value,
size_t pos,
rest_keys_t&&... rest) const
{
constexpr bool is_json = std::is_same_v<basic_value<string_t>, value_t> ||
std::is_same_v<basic_array<string_t>, value_t> ||
std::is_same_v<basic_object<string_t>, value_t>;
constexpr bool is_json = std::is_same_v<basic_value<string_t>, value_t>
|| std::is_same_v<basic_array<string_t>, value_t>
|| std::is_same_v<basic_object<string_t>, value_t>;
constexpr bool is_string = std::is_constructible_v<string_t, value_t> && !is_json;
if (!contains(pos)) {
@@ -341,9 +508,9 @@ template <typename string_t>
template <typename value_t>
inline auto basic_array<string_t>::get_helper(const value_t& default_value, size_t pos) const
{
constexpr bool is_json = std::is_same_v<basic_value<string_t>, value_t> ||
std::is_same_v<basic_array<string_t>, value_t> ||
std::is_same_v<basic_object<string_t>, value_t>;
constexpr bool is_json = std::is_same_v<basic_value<string_t>, value_t>
|| std::is_same_v<basic_array<string_t>, value_t>
|| std::is_same_v<basic_object<string_t>, value_t>;
constexpr bool is_string = std::is_constructible_v<string_t, value_t> && !is_json;
if (!contains(pos)) {
@@ -382,7 +549,8 @@ inline std::optional<value_t> basic_array<string_t>::find(size_t pos) const
return std::nullopt;
}
const auto& val = _array_data.at(pos);
return val.template is<value_t>() ? std::optional<value_t>(val.template as<value_t>()) : std::nullopt;
return val.template is<value_t>() ? std::optional<value_t>(val.template as<value_t>())
: std::nullopt;
}
template <typename string_t>
@@ -434,25 +602,29 @@ inline typename basic_array<string_t>::reverse_iterator basic_array<string_t>::r
}
template <typename string_t>
inline typename basic_array<string_t>::const_reverse_iterator basic_array<string_t>::rbegin() const noexcept
inline typename basic_array<string_t>::const_reverse_iterator
basic_array<string_t>::rbegin() const noexcept
{
return _array_data.rbegin();
}
template <typename string_t>
inline typename basic_array<string_t>::const_reverse_iterator basic_array<string_t>::rend() const noexcept
inline typename basic_array<string_t>::const_reverse_iterator
basic_array<string_t>::rend() const noexcept
{
return _array_data.rend();
}
template <typename string_t>
inline typename basic_array<string_t>::const_reverse_iterator basic_array<string_t>::crbegin() const noexcept
inline typename basic_array<string_t>::const_reverse_iterator
basic_array<string_t>::crbegin() const noexcept
{
return _array_data.crbegin();
}
template <typename string_t>
inline typename basic_array<string_t>::const_reverse_iterator basic_array<string_t>::crend() const noexcept
inline typename basic_array<string_t>::const_reverse_iterator
basic_array<string_t>::crend() const noexcept
{
return _array_data.crend();
}
@@ -470,7 +642,8 @@ inline const basic_value<string_t>& basic_array<string_t>::operator[](size_t pos
}
template <typename string_t>
inline basic_array<string_t> basic_array<string_t>::operator+(const basic_array<string_t>& rhs) const&
inline basic_array<string_t>
basic_array<string_t>::operator+(const basic_array<string_t>& rhs) const&
{
basic_array<string_t> temp = *this;
temp._array_data.insert(_array_data.end(), rhs.begin(), rhs.end());
@@ -481,8 +654,10 @@ template <typename string_t>
inline basic_array<string_t> basic_array<string_t>::operator+(basic_array<string_t>&& rhs) const&
{
basic_array<string_t> temp = *this;
temp._array_data.insert(_array_data.end(), std::make_move_iterator(rhs.begin()),
std::make_move_iterator(rhs.end()));
temp._array_data.insert(
_array_data.end(),
std::make_move_iterator(rhs.begin()),
std::make_move_iterator(rhs.end()));
return temp;
}
@@ -496,7 +671,10 @@ inline basic_array<string_t> basic_array<string_t>::operator+(const basic_array<
template <typename string_t>
inline basic_array<string_t> basic_array<string_t>::operator+(basic_array<string_t>&& rhs) &&
{
_array_data.insert(_array_data.end(), std::make_move_iterator(rhs.begin()), std::make_move_iterator(rhs.end()));
_array_data.insert(
_array_data.end(),
std::make_move_iterator(rhs.begin()),
std::make_move_iterator(rhs.end()));
return std::move(*this);
}
@@ -510,7 +688,10 @@ inline basic_array<string_t>& basic_array<string_t>::operator+=(const basic_arra
template <typename string_t>
inline basic_array<string_t>& basic_array<string_t>::operator+=(basic_array<string_t>&& rhs)
{
_array_data.insert(_array_data.end(), std::make_move_iterator(rhs.begin()), std::make_move_iterator(rhs.end()));
_array_data.insert(
_array_data.end(),
std::make_move_iterator(rhs.begin()),
std::make_move_iterator(rhs.end()));
return *this;
}
@@ -520,11 +701,14 @@ inline bool basic_array<string_t>::operator==(const basic_array<string_t>& rhs)
return _array_data == rhs._array_data;
}
template <typename ostream_t, typename string_t,
typename std_ostream_t =
std::basic_ostream<typename string_t::value_type, std::char_traits<typename string_t::value_type>>,
typename enable_t =
std::enable_if_t<std::is_same_v<std_ostream_t, ostream_t> || std::is_base_of_v<std_ostream_t, ostream_t>>>
template <
typename ostream_t,
typename string_t,
typename std_ostream_t = std::basic_ostream<
typename string_t::value_type,
std::char_traits<typename string_t::value_type>>,
typename enable_t = std::enable_if_t<
std::is_same_v<std_ostream_t, ostream_t> || std::is_base_of_v<std_ostream_t, ostream_t>>>
ostream_t& operator<<(ostream_t& out, const basic_array<string_t>& arr)
{
out << arr.format();

View File

@@ -1,3 +1,5 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
#include <exception>
@@ -9,7 +11,11 @@ class exception : public std::exception
{
public:
exception() = default;
exception(const std::string& msg) : _what(msg) {}
exception(const std::string& msg)
: _what(msg)
{
}
exception(const exception&) = default;
exception& operator=(const exception&) = default;
@@ -18,7 +24,10 @@ public:
virtual ~exception() noexcept override = default;
virtual const char* what() const noexcept override { return _what.empty() ? "Unknown exception" : _what.c_str(); }
virtual const char* what() const noexcept override
{
return _what.empty() ? "Unknown exception" : _what.c_str();
}
protected:
std::string _what;

View File

@@ -1,3 +1,5 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
#include <initializer_list>
@@ -36,31 +38,54 @@ public:
// explicit basic_object(const basic_value<string_t>& val);
// explicit basic_object(basic_value<string_t>&& val);
template <typename map_t, std::enable_if_t<_utils::is_map<map_t> &&
std::is_constructible_v<value_type, _utils::range_value_t<map_t>>,
bool> = true>
basic_object(map_t map) : _object_data(std::make_move_iterator(map.begin()), std::make_move_iterator(map.end()))
{}
template <typename jsonization_t,
std::enable_if_t<_utils::has_to_json_in_member<jsonization_t>::value, bool> = true>
basic_object(const jsonization_t& value) : basic_object(value.to_json())
{}
template <typename jsonization_t,
std::enable_if_t<_utils::has_to_json_in_templ_spec<jsonization_t>::value, bool> = true>
basic_object(const jsonization_t& value) : basic_object(ext::jsonization<jsonization_t>().to_json(value))
{}
template <
typename map_t,
std::enable_if_t<
_utils::is_map<map_t>
&& std::is_constructible_v<value_type, _utils::range_value_t<map_t>>,
bool> = true>
basic_object(map_t map)
: _object_data(std::make_move_iterator(map.begin()), std::make_move_iterator(map.end()))
{
}
template <
typename jsonization_t,
std::enable_if_t<_utils::has_to_json_in_member<jsonization_t>::value, bool> = true>
basic_object(const jsonization_t& value)
: basic_object(value.to_json())
{
}
template <
typename jsonization_t,
std::enable_if_t<_utils::has_to_json_in_templ_spec<jsonization_t>::value, bool> = true>
basic_object(const jsonization_t& value)
: basic_object(ext::jsonization<jsonization_t>().to_json(value))
{
}
~basic_object() = default;
bool empty() const noexcept { return _object_data.empty(); }
size_t size() const noexcept { return _object_data.size(); }
bool contains(const string_t& key) const;
bool exists(const string_t& key) const { return contains(key); }
const basic_value<string_t>& at(const string_t& key) const;
string_t dumps(std::optional<size_t> indent = std::nullopt) const { return indent ? format(*indent) : to_string(); }
string_t dumps(std::optional<size_t> indent = std::nullopt) const
{
return indent ? format(*indent) : to_string();
}
string_t to_string() const;
string_t format(size_t indent = 4) const { return format(indent, 0); }
template <typename value_t>
bool all() const;
template <typename value_t, template <typename...> typename map_t = std::map>
@@ -102,23 +127,32 @@ public:
basic_object<string_t>& operator=(const basic_object<string_t>&) = default;
basic_object<string_t>& operator=(basic_object<string_t>&&) = default;
template <typename value_t, std::enable_if_t<std::is_convertible_v<value_t, basic_object<string_t>>, bool> = true>
template <
typename value_t,
std::enable_if_t<std::is_convertible_v<value_t, basic_object<string_t>>, bool> = true>
basic_object<string_t>& operator=(value_t rhs)
{
return *this = basic_object<string_t>(std::move(rhs));
}
bool operator==(const basic_object<string_t>& rhs) const;
bool operator!=(const basic_object<string_t>& rhs) const { return !(*this == rhs); }
template <typename value_t, template <typename...> typename map_t = std::map,
std::enable_if_t<_utils::is_map<map_t<string_t, value_t>>, bool> = true>
template <
typename value_t,
template <typename...> typename map_t = std::map,
std::enable_if_t<_utils::is_map<map_t<string_t, value_t>>, bool> = true>
explicit operator map_t<string_t, value_t>() const
{
return as_map<value_t, map_t>();
}
template <typename jsonization_t,
std::enable_if_t<_utils::has_from_json_in_member<jsonization_t, string_t>::value, bool> = true>
template <
typename jsonization_t,
std::enable_if_t<_utils::has_from_json_in_member<jsonization_t, string_t>::value, bool> =
true>
explicit operator jsonization_t() const
{
jsonization_t dst {};
@@ -127,8 +161,12 @@ public:
}
return dst;
}
template <typename jsonization_t,
std::enable_if_t<_utils::has_from_json_in_templ_spec<jsonization_t, string_t>::value, bool> = true>
template <
typename jsonization_t,
std::enable_if_t<
_utils::has_from_json_in_templ_spec<jsonization_t, string_t>::value,
bool> = true>
explicit operator jsonization_t() const
{
jsonization_t dst {};
@@ -140,8 +178,9 @@ public:
private:
template <typename... key_then_default_value_t, size_t... keys_indexes_t>
auto get(std::tuple<key_then_default_value_t...> keys_then_default_value,
std::index_sequence<keys_indexes_t...>) const;
auto
get(std::tuple<key_then_default_value_t...> keys_then_default_value,
std::index_sequence<keys_indexes_t...>) const;
template <typename value_t, typename... rest_keys_t>
auto get_helper(const value_t& default_value, const string_t& key, rest_keys_t&&... rest) const;
template <typename value_t>
@@ -155,8 +194,11 @@ private:
template <typename string_t>
inline basic_object<string_t>::basic_object(std::initializer_list<value_type> init_list)
: _object_data(std::make_move_iterator(init_list.begin()), std::make_move_iterator(init_list.end()))
{}
: _object_data(
std::make_move_iterator(init_list.begin()),
std::make_move_iterator(init_list.end()))
{
}
// template <typename string_t>
// inline basic_object<string_t>::basic_object(const basic_value<string_t>& val) :
@@ -202,9 +244,10 @@ template <typename string_t>
template <typename... args_t>
inline decltype(auto) basic_object<string_t>::emplace(args_t&&... args)
{
static_assert(std::is_constructible_v<value_type, args_t...>,
"Parameter can't be used to construct a raw_object::value_type");
return _object_data.emplace(std::forward<args_t>(args)...);
static_assert(
std::is_constructible_v<value_type, args_t...>,
"Parameter can't be used to construct a raw_object::value_type");
return _object_data.insert_or_assign(std::forward<args_t>(args)...);
}
template <typename string_t>
@@ -220,7 +263,8 @@ inline string_t basic_object<string_t>::to_string() const
string_t str { '{' };
for (auto iter = _object_data.cbegin(); iter != _object_data.cend();) {
const auto& [key, val] = *iter;
str += char_t('"') + _utils::unescape_string(key) + string_t { '\"', ':' } + val.to_string();
str +=
char_t('"') + _utils::unescape_string(key) + string_t { '\"', ':' } + val.to_string();
if (++iter != _object_data.cend()) {
str += ',';
}
@@ -238,8 +282,8 @@ inline string_t basic_object<string_t>::format(size_t indent, size_t indent_time
string_t str { '{', '\n' };
for (auto iter = _object_data.cbegin(); iter != _object_data.cend();) {
const auto& [key, val] = *iter;
str += body_indent + char_t('"') + _utils::unescape_string(key) + string_t { '\"', ':', ' ' } +
val.format(indent, indent_times + 1);
str += body_indent + char_t('"') + _utils::unescape_string(key)
+ string_t { '\"', ':', ' ' } + val.format(indent, indent_times + 1);
if (++iter != _object_data.cend()) {
str += ',';
}
@@ -276,28 +320,33 @@ template <typename string_t>
template <typename... key_then_default_value_t>
inline auto basic_object<string_t>::get(key_then_default_value_t&&... keys_then_default_value) const
{
return get(std::forward_as_tuple(keys_then_default_value...),
std::make_index_sequence<sizeof...(keys_then_default_value) - 1> {});
return get(
std::forward_as_tuple(keys_then_default_value...),
std::make_index_sequence<sizeof...(keys_then_default_value) - 1> {});
}
template <typename string_t>
template <typename... key_then_default_value_t, size_t... keys_indexes_t>
inline auto basic_object<string_t>::get(std::tuple<key_then_default_value_t...> keys_then_default_value,
std::index_sequence<keys_indexes_t...>) const
inline auto basic_object<string_t>::get(
std::tuple<key_then_default_value_t...> keys_then_default_value,
std::index_sequence<keys_indexes_t...>) const
{
constexpr unsigned long default_value_index = sizeof...(key_then_default_value_t) - 1;
return get_helper(std::get<default_value_index>(keys_then_default_value),
std::get<keys_indexes_t>(keys_then_default_value)...);
return get_helper(
std::get<default_value_index>(keys_then_default_value),
std::get<keys_indexes_t>(keys_then_default_value)...);
}
template <typename string_t>
template <typename value_t, typename... rest_keys_t>
inline auto basic_object<string_t>::get_helper(const value_t& default_value, const string_t& key,
rest_keys_t&&... rest) const
inline auto basic_object<string_t>::get_helper(
const value_t& default_value,
const string_t& key,
rest_keys_t&&... rest) const
{
constexpr bool is_json = std::is_same_v<basic_value<string_t>, value_t> ||
std::is_same_v<basic_array<string_t>, value_t> ||
std::is_same_v<basic_object<string_t>, value_t>;
constexpr bool is_json = std::is_same_v<basic_value<string_t>, value_t>
|| std::is_same_v<basic_array<string_t>, value_t>
|| std::is_same_v<basic_object<string_t>, value_t>;
constexpr bool is_string = std::is_constructible_v<string_t, value_t> && !is_json;
if (!contains(key)) {
@@ -314,11 +363,12 @@ inline auto basic_object<string_t>::get_helper(const value_t& default_value, con
template <typename string_t>
template <typename value_t>
inline auto basic_object<string_t>::get_helper(const value_t& default_value, const string_t& key) const
inline auto
basic_object<string_t>::get_helper(const value_t& default_value, const string_t& key) const
{
constexpr bool is_json = std::is_same_v<basic_value<string_t>, value_t> ||
std::is_same_v<basic_array<string_t>, value_t> ||
std::is_same_v<basic_object<string_t>, value_t>;
constexpr bool is_json = std::is_same_v<basic_value<string_t>, value_t>
|| std::is_same_v<basic_array<string_t>, value_t>
|| std::is_same_v<basic_object<string_t>, value_t>;
constexpr bool is_string = std::is_constructible_v<string_t, value_t> && !is_json;
if (!contains(key)) {
@@ -358,7 +408,8 @@ inline std::optional<value_t> basic_object<string_t>::find(const string_t& key)
return std::nullopt;
}
const auto& val = iter->second;
return val.template is<value_t>() ? std::optional<value_t>(val.template as<value_t>()) : std::nullopt;
return val.template is<value_t>() ? std::optional<value_t>(val.template as<value_t>())
: std::nullopt;
}
template <typename string_t>
@@ -374,7 +425,8 @@ inline typename basic_object<string_t>::iterator basic_object<string_t>::end() n
}
template <typename string_t>
inline typename basic_object<string_t>::const_iterator basic_object<string_t>::begin() const noexcept
inline typename basic_object<string_t>::const_iterator
basic_object<string_t>::begin() const noexcept
{
return _object_data.begin();
}
@@ -386,7 +438,8 @@ inline typename basic_object<string_t>::const_iterator basic_object<string_t>::e
}
template <typename string_t>
inline typename basic_object<string_t>::const_iterator basic_object<string_t>::cbegin() const noexcept
inline typename basic_object<string_t>::const_iterator
basic_object<string_t>::cbegin() const noexcept
{
return _object_data.cbegin();
}
@@ -410,7 +463,8 @@ inline basic_value<string_t>& basic_object<string_t>::operator[](string_t&& key)
}
template <typename string_t>
inline basic_object<string_t> basic_object<string_t>::operator|(const basic_object<string_t>& rhs) const&
inline basic_object<string_t>
basic_object<string_t>::operator|(const basic_object<string_t>& rhs) const&
{
basic_object<string_t> temp = *this;
temp._object_data.insert(rhs.begin(), rhs.end());
@@ -422,12 +476,15 @@ inline basic_object<string_t> basic_object<string_t>::operator|(basic_object<str
{
basic_object<string_t> temp = *this;
// temp._object_data.merge(std::move(rhs._object_data));
temp._object_data.insert(std::make_move_iterator(rhs.begin()), std::make_move_iterator(rhs.end()));
temp._object_data.insert(
std::make_move_iterator(rhs.begin()),
std::make_move_iterator(rhs.end()));
return temp;
}
template <typename string_t>
inline basic_object<string_t> basic_object<string_t>::operator|(const basic_object<string_t>& rhs) &&
inline basic_object<string_t>
basic_object<string_t>::operator|(const basic_object<string_t>& rhs) &&
{
_object_data.insert(rhs.begin(), rhs.end());
return std::move(*this);
@@ -461,11 +518,14 @@ inline bool basic_object<string_t>::operator==(const basic_object<string_t>& rhs
return _object_data == rhs._object_data;
}
template <typename ostream_t, typename string_t,
typename std_ostream_t =
std::basic_ostream<typename string_t::value_type, std::char_traits<typename string_t::value_type>>,
typename enable_t =
std::enable_if_t<std::is_same_v<std_ostream_t, ostream_t> || std::is_base_of_v<std_ostream_t, ostream_t>>>
template <
typename ostream_t,
typename string_t,
typename std_ostream_t = std::basic_ostream<
typename string_t::value_type,
std::char_traits<typename string_t::value_type>>,
typename enable_t = std::enable_if_t<
std::is_same_v<std_ostream_t, ostream_t> || std::is_base_of_v<std_ostream_t, ostream_t>>>
ostream_t& operator<<(ostream_t& out, const basic_object<string_t>& obj)
{
out << obj.format();

View File

@@ -1,3 +1,5 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
#include <type_traits>
@@ -9,96 +11,101 @@ namespace json
{
namespace _serialization_helper
{
template <typename in_t, typename serializer_t>
class is_serializable
{
template <typename U>
static auto test(int) -> decltype(std::declval<serializer_t>()(std::declval<U>()), std::true_type());
template <typename in_t, typename serializer_t>
class is_serializable
{
template <typename U>
static auto test(int)
-> decltype(std::declval<serializer_t>()(std::declval<U>()), std::true_type());
template <typename U>
static std::false_type test(...);
template <typename U>
static std::false_type test(...);
public:
static constexpr bool value = decltype(test<in_t>(0))::value;
};
public:
static constexpr bool value = decltype(test<in_t>(0))::value;
};
struct empty_serializer
{
// sample:
// json::value operator()(const type_1&) const { return ...; }
// json::value operator()(const type_2&) const { return ...; }
// json::value operator()(const type_3&) const { return ...; }
};
struct empty_serializer
{
// sample:
// json::value operator()(const type_1&) const { return ...; }
// json::value operator()(const type_2&) const { return ...; }
// json::value operator()(const type_3&) const { return ...; }
};
template <typename T>
void unable_to_serialize()
{
static_assert(!sizeof(T), "Unable to serialize T. "
template <typename T>
void unable_to_serialize()
{
static_assert(
!sizeof(T),
"Unable to serialize T. "
#ifdef _MSC_VER
"See T below: " __FUNCSIG__
"See T below: " __FUNCSIG__
#else
// "See T below: " __PRETTY_FUNCTION__
// "See T below: " __PRETTY_FUNCTION__
#endif
);
}
);
}
}
namespace _serialization_helper
{
template <typename out_t, typename deserializer_t, typename string_t = default_string_t>
class is_deserializable
{
template <typename U>
static auto test(int)
-> decltype(std::declval<deserializer_t>()(std::declval<basic_value<string_t>>(), std::declval<U&>()),
std::true_type());
template <typename out_t, typename deserializer_t, typename string_t = default_string_t>
class is_deserializable
{
template <typename U>
static auto test(int)
-> decltype(std::declval<deserializer_t>()(std::declval<basic_value<string_t>>(), std::declval<U&>()), std::true_type());
template <typename U>
static std::false_type test(...);
template <typename U>
static std::false_type test(...);
public:
static constexpr bool value = decltype(test<out_t>(0))::value;
};
public:
static constexpr bool value = decltype(test<out_t>(0))::value;
};
struct empty_deserializer
{
// sample:
// bool operator()(const json::value&, type_1&) const { return ...; }
// bool operator()(const json::value&, type_2&) const { return ...; }
// bool operator()(const json::value&, type_3&) const { return ...; }
};
struct empty_deserializer
{
// sample:
// bool operator()(const json::value&, type_1&) const { return ...; }
// bool operator()(const json::value&, type_2&) const { return ...; }
// bool operator()(const json::value&, type_3&) const { return ...; }
};
template <typename T>
void unable_to_deserialize()
{
static_assert(!sizeof(T), "Unable to deserialize T. "
template <typename T>
void unable_to_deserialize()
{
static_assert(
!sizeof(T),
"Unable to deserialize T. "
#ifdef _MSC_VER
"See T below: " __FUNCSIG__
"See T below: " __FUNCSIG__
#else
// "See T below: " __PRETTY_FUNCTION__
// "See T below: " __PRETTY_FUNCTION__
#endif
);
}
);
}
}
template <typename in_t, typename serializer_t = _serialization_helper::empty_serializer,
typename string_t = default_string_t>
template <
typename in_t,
typename serializer_t = _serialization_helper::empty_serializer,
typename string_t = default_string_t>
basic_value<string_t> serialize(in_t&& in, const serializer_t& serializer = {})
{
if constexpr (_serialization_helper::is_serializable<in_t, serializer_t>::value) {
return serializer(std::forward<in_t>(in));
}
else if constexpr (std::is_constructible_v<basic_value<string_t>, in_t>) {
return basic_value<string_t>(std::forward<in_t>(in));
}
else if constexpr (_utils::is_collection<std::decay_t<in_t>>) {
else if constexpr (
_utils::is_collection<std::decay_t<in_t>> || _utils::is_fixed_array<std::decay_t<in_t>>) {
basic_array<string_t> arr;
for (auto&& elem : in) {
using elem_t = decltype(elem);
auto j_elem = serialize<elem_t, serializer_t, string_t>(std::forward<elem_t>(elem), serializer);
auto j_elem =
serialize<elem_t, serializer_t, string_t>(std::forward<elem_t>(elem), serializer);
arr.emplace_back(std::move(j_elem));
}
return arr;
@@ -109,27 +116,32 @@ basic_value<string_t> serialize(in_t&& in, const serializer_t& serializer = {})
using key_t = decltype(key);
using elem_t = decltype(elem);
auto j_elem = serialize<elem_t, serializer_t, string_t>(std::forward<elem_t>(elem), serializer);
auto j_elem =
serialize<elem_t, serializer_t, string_t>(std::forward<elem_t>(elem), serializer);
obj.emplace(std::forward<key_t>(key), std::move(j_elem));
}
return obj;
}
else if constexpr (std::is_constructible_v<basic_value<string_t>, in_t>) {
return basic_value<string_t>(std::forward<in_t>(in));
}
else {
_serialization_helper::unable_to_serialize<in_t>();
}
}
template <typename out_t, typename deserializer_t = _serialization_helper::empty_deserializer,
typename string_t = default_string_t>
bool deserialize(const basic_value<string_t>& in, out_t& out, const deserializer_t& deserializer = {})
template <
typename out_t,
typename deserializer_t = _serialization_helper::empty_deserializer,
typename string_t = default_string_t>
bool deserialize(
const basic_value<string_t>& in,
out_t& out,
const deserializer_t& deserializer = {})
{
if constexpr (_serialization_helper::is_deserializable<out_t, deserializer_t>::value) {
return deserializer(in, out);
}
else if constexpr (std::is_constructible_v<out_t, basic_value<string_t>>) {
out = out_t(in);
return true;
}
else if constexpr (_utils::is_collection<std::decay_t<out_t>>) {
if (!in.is_array()) {
return false;
@@ -149,20 +161,45 @@ bool deserialize(const basic_value<string_t>& in, out_t& out, const deserializer
}
return true;
}
else if constexpr (_utils::is_map<std::decay_t<out_t>>) {
if (!in.is_object()) {
else if constexpr (_utils::is_fixed_array<std::decay_t<out_t>>) {
if (!in.is_array()) {
return false;
}
for (auto&& [key, j_elem] : in.as_object()) {
auto&& in_as_arr = in.as_array();
constexpr size_t out_size = _utils::fixed_array_size<out_t>;
if (in_as_arr.size() != out_size) {
return false;
}
for (size_t i = 0; i < out_size; ++i) {
auto&& j_elem = in_as_arr.at(i);
using elem_t = typename out_t::value_type;
elem_t elem {};
if (!deserialize<elem_t, deserializer_t, string_t>(j_elem, elem, deserializer)) {
return false;
}
out.emplace(std::move(elem));
out.at(i) = std::move(elem);
}
return true;
}
else if constexpr (_utils::is_map<std::decay_t<out_t>>) {
if (!in.is_object()) {
return false;
}
for (auto&& [key, j_elem] : in.as_object()) {
using elem_t = typename out_t::mapped_type;
elem_t elem {};
if (!deserialize<elem_t, deserializer_t, string_t>(j_elem, elem, deserializer)) {
return false;
}
out.emplace(std::forward<decltype(key)>(key), std::move(elem));
}
return true;
}
else if constexpr (std::is_constructible_v<out_t, basic_value<string_t>>) {
out = out_t(in);
return true;
}
else {
_serialization_helper::unable_to_deserialize<out_t>();
}

View File

@@ -1,5 +1,7 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
#include "array.hpp"
#include "object.hpp"
#include "value.hpp"
#include "value.hpp"

View File

@@ -1,7 +1,14 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
#include <iomanip>
#include <limits>
#include <sstream>
#include <string>
#include <type_traits>
#include <utility>
#include <variant>
namespace json
{
@@ -61,12 +68,38 @@ constexpr bool is_container<T, std::void_t<typename T::value_type, range_value_t
template <typename T, typename = void>
constexpr bool is_map = false;
template <typename T>
constexpr bool is_map<T, std::void_t<typename T::key_type, typename T::mapped_type>> = is_container<T>;
constexpr bool is_map<T, std::void_t<typename T::key_type, typename T::mapped_type>> =
is_container<T>;
template <typename T, typename = void>
constexpr bool is_fixed_array = false;
template <template <typename, size_t> typename arr_t, typename value_t, size_t size>
constexpr bool is_fixed_array<arr_t<value_t, size>> = true;
template <typename T, typename = std::enable_if_t<is_fixed_array<T>>>
constexpr size_t fixed_array_size = 0;
template <template <typename, size_t> typename arr_t, typename value_t, size_t size>
constexpr size_t fixed_array_size<arr_t<value_t, size>> = size;
template <typename T, typename = void>
constexpr bool is_collection = false;
template <typename T>
constexpr bool is_collection<T> = is_container<T> && !is_map<T>;
constexpr bool is_collection<T> = is_container<T> && !is_map<T> && !is_fixed_array<T>;
template <typename T>
constexpr bool is_variant = false;
template <typename... args_t>
constexpr bool is_variant<std::variant<args_t...>> = true;
template <typename T>
constexpr bool is_tuple = false;
template <typename... args_t>
constexpr bool is_tuple<std::tuple<args_t...>> = true;
template <typename T>
constexpr bool is_pair = false;
template <typename... args_t>
constexpr bool is_pair<std::pair<args_t...>> = true;
template <typename T>
class has_to_json_in_member
@@ -85,7 +118,8 @@ template <typename T>
class has_to_json_in_templ_spec
{
template <typename U>
static auto test(int) -> decltype(std::declval<ext::jsonization<U>>().to_json(std::declval<U>()), std::true_type());
static auto test(int)
-> decltype(std::declval<ext::jsonization<U>>().to_json(std::declval<U>()), std::true_type());
template <typename U>
static std::false_type test(...);
@@ -113,8 +147,7 @@ class has_check_json_in_templ_spec
{
template <typename U>
static auto test(int)
-> decltype(std::declval<ext::jsonization<U>>().check_json(std::declval<json::basic_value<string_t>>()),
std::true_type());
-> decltype(std::declval<ext::jsonization<U>>().check_json(std::declval<json::basic_value<string_t>>()), std::true_type());
template <typename U>
static std::false_type test(...);
@@ -142,9 +175,7 @@ class has_from_json_in_templ_spec
{
template <typename U>
static auto test(int)
-> decltype(std::declval<ext::jsonization<U>>().from_json(std::declval<json::basic_value<string_t>>(),
std::declval<U&>()),
std::true_type());
-> decltype(std::declval<ext::jsonization<U>>().from_json(std::declval<json::basic_value<string_t>>(), std::declval<U&>()), std::true_type());
template <typename U>
static std::false_type test(...);
@@ -154,7 +185,7 @@ public:
};
template <typename string_t>
static constexpr string_t unescape_string(const string_t& str)
inline constexpr string_t unescape_string(const string_t& str)
{
using char_t = typename string_t::value_type;
@@ -202,26 +233,41 @@ static constexpr string_t unescape_string(const string_t& str)
}
template <typename string_t>
static constexpr string_t true_string()
inline constexpr string_t true_string()
{
return { 't', 'r', 'u', 'e' };
}
template <typename string_t>
static constexpr string_t false_string()
inline constexpr string_t false_string()
{
return { 'f', 'a', 'l', 's', 'e' };
}
template <typename string_t>
static constexpr string_t null_string()
inline constexpr string_t null_string()
{
return { 'n', 'u', 'l', 'l' };
}
template <typename string_t, typename any_t>
string_t to_basic_string(any_t&& arg)
inline string_t to_basic_string(any_t&& arg)
{
#ifdef MEOJSON_KEEP_FLOATING_PRECISION
using real_type = std::remove_reference_t<any_t>;
if constexpr (std::is_floating_point_v<real_type>) {
if constexpr (std::is_same_v<string_t, std::string>) {
std::ostringstream oss;
oss << std::setprecision(std::numeric_limits<real_type>::max_digits10) << arg;
return oss.str();
}
else if constexpr (std::is_same_v<string_t, std::wstring>) {
std::wostringstream oss;
oss << std::setprecision(std::numeric_limits<real_type>::max_digits10) << arg;
return oss.str();
}
}
#endif
if constexpr (std::is_same_v<string_t, std::string>) {
return std::to_string(std::forward<any_t>(arg));
}
@@ -232,4 +278,54 @@ string_t to_basic_string(any_t&& arg)
static_assert(!sizeof(any_t), "Unsupported type");
}
}
template <std::size_t id, typename string_t, typename variant_t>
inline bool _serialize_variant_impl(basic_value<string_t>& val, variant_t&& var)
{
if (var.index() != id) {
return false;
}
val = basic_value<string_t>(std::get<id>(std::forward<variant_t>(var)));
return true;
}
template <typename string_t, typename variant_t, std::size_t... ids>
inline basic_value<string_t> serialize_variant(variant_t&& var, std::index_sequence<ids...>)
{
basic_value<string_t> val;
(_serialize_variant_impl<ids>(val, std::forward<variant_t>(var)) || ...);
return val;
}
template <std::size_t id, typename string_t, typename variant_t>
inline bool _deserialize_variant_impl(const basic_value<string_t>& val, variant_t& var)
{
using alt_t = std::variant_alternative_t<id, variant_t>;
if (!val.template is<alt_t>()) {
return false;
}
var = val.template as<alt_t>();
return true;
}
template <typename string_t, typename variant_t, std::size_t... ids>
inline variant_t deserialize_variant(const basic_value<string_t>& val, std::index_sequence<ids...>)
{
variant_t var;
(_deserialize_variant_impl<ids>(val, var) || ...);
return var;
}
template <typename string_t, typename variant_t, std::size_t... ids>
inline bool detect_variant(const basic_value<string_t>& val, std::index_sequence<ids...>)
{
return (val.template is<std::variant_alternative_t<ids, variant_t>>() || ...);
}
template <typename string_t, typename tuple_t, std::size_t... ids>
inline bool detect_tuple(const basic_value<string_t>& val, std::index_sequence<ids...>)
{
return val.is_array() && val.as_array().size() == std::tuple_size_v<tuple_t>
&& (val.at(ids).template is<std::tuple_element_t<ids, tuple_t>>() || ...);
}
} // namespace json::_utils

View File

@@ -1,3 +1,5 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
#include <cstddef>
@@ -7,6 +9,8 @@
#include <ostream>
#include <string>
#include <tuple>
#include <type_traits>
#include <utility>
#include <variant>
#include "exception.hpp"
@@ -64,30 +68,87 @@ public:
template <typename... args_t>
basic_value(value_type type, args_t&&... args);
template <typename collection_t,
std::enable_if_t<_utils::is_collection<collection_t> &&
std::is_constructible_v<typename basic_array<string_t>::value_type,
_utils::range_value_t<collection_t>>,
bool> = true>
basic_value(collection_t&& collection) : basic_value(basic_array<string_t>(std::forward<collection_t>(collection)))
{}
template <typename map_t, std::enable_if_t<_utils::is_map<map_t> &&
std::is_constructible_v<typename basic_object<string_t>::value_type,
_utils::range_value_t<map_t>>,
bool> = true>
basic_value(map_t&& map) : basic_value(basic_object<string_t>(std::forward<map_t>(map)))
{}
template <
typename collection_t,
std::enable_if_t<
_utils::is_collection<collection_t>
&& std::is_constructible_v<
typename basic_array<string_t>::value_type,
_utils::range_value_t<collection_t>>,
bool> = true>
basic_value(collection_t&& collection)
: basic_value(basic_array<string_t>(std::forward<collection_t>(collection)))
{
}
template <typename jsonization_t,
std::enable_if_t<_utils::has_to_json_in_member<jsonization_t>::value, bool> = true>
basic_value(const jsonization_t& value) : basic_value(value.to_json())
{}
template <typename jsonization_t,
std::enable_if_t<_utils::has_to_json_in_templ_spec<jsonization_t>::value, bool> = true>
basic_value(const jsonization_t& value) : basic_value(ext::jsonization<jsonization_t>().to_json(value))
{}
template <
typename fixed_array_t,
std::enable_if_t<_utils::is_fixed_array<fixed_array_t>, bool> = true>
basic_value(const fixed_array_t& arr)
: basic_value(basic_array<string_t>(arr))
{
}
template <typename value_t, std::enable_if_t<!std::is_convertible_v<value_t, basic_value<string_t>>, bool> = true>
template <
typename map_t,
std::enable_if_t<
_utils::is_map<map_t>
&& std::is_constructible_v<
typename basic_object<string_t>::value_type,
_utils::range_value_t<map_t>>,
bool> = true>
basic_value(map_t&& map)
: basic_value(basic_object<string_t>(std::forward<map_t>(map)))
{
}
template <typename enum_t, std::enable_if_t<std::is_enum_v<enum_t>, bool> = true>
basic_value(enum_t e)
: basic_value(static_cast<std::underlying_type_t<enum_t>>(e))
{
}
template <
typename jsonization_t,
std::enable_if_t<_utils::has_to_json_in_member<jsonization_t>::value, bool> = true>
basic_value(const jsonization_t& value)
: basic_value(value.to_json())
{
}
template <
typename jsonization_t,
std::enable_if_t<_utils::has_to_json_in_templ_spec<jsonization_t>::value, bool> = true>
basic_value(const jsonization_t& value)
: basic_value(ext::jsonization<jsonization_t>().to_json(value))
{
}
template <typename... elem_ts>
basic_value(std::tuple<elem_ts...>&& tup)
: basic_value(basic_array<string_t>(std::forward<std::tuple<elem_ts...>>(tup)))
{
}
template <typename elem1_t, typename elem2_t>
basic_value(std::pair<elem1_t, elem2_t>&& pair)
: basic_value(basic_array<string_t>(std::pair<elem1_t, elem2_t>(pair)))
{
}
template <
typename variant_t,
std::enable_if_t<_utils::is_variant<std::decay_t<variant_t>>, bool> = true>
basic_value(variant_t&& var)
: basic_value(_utils::serialize_variant<string_t>(
std::forward<variant_t>(var),
std::make_index_sequence<std::variant_size_v<std::decay_t<variant_t>>>()))
{
}
template <
typename value_t,
std::enable_if_t<!std::is_convertible_v<value_t, basic_value<string_t>>, bool> = true>
basic_value(value_t) = delete;
// I don't know if you want to convert char to string or number, so I delete these constructors.
@@ -99,13 +160,21 @@ public:
~basic_value();
bool valid() const noexcept { return _type != value_type::invalid; }
bool empty() const noexcept { return is_null(); }
bool is_null() const noexcept { return _type == value_type::null; }
bool is_number() const noexcept { return _type == value_type::number; }
bool is_boolean() const noexcept { return _type == value_type::boolean; }
bool is_string() const noexcept { return _type == value_type::string; }
bool is_array() const noexcept { return _type == value_type::array; }
bool is_object() const noexcept { return _type == value_type::object; }
template <typename value_t>
bool is() const noexcept;
@@ -114,9 +183,13 @@ public:
bool contains(const string_t& key) const;
bool contains(size_t pos) const;
bool exists(const string_t& key) const { return contains(key); }
bool exists(size_t pos) const { return contains(pos); }
value_type type() const noexcept { return _type; }
const basic_value<string_t>& at(size_t pos) const;
const basic_value<string_t>& at(const string_t& key) const;
@@ -148,6 +221,11 @@ public:
template <typename value_t, template <typename...> typename collection_t = std::vector>
collection_t<value_t> as_collection() const;
template <
typename value_t,
size_t Size,
template <typename, size_t> typename fixed_array_t = std::array>
fixed_array_t<value_t, Size> as_fixed_array() const;
template <typename value_t, template <typename...> typename map_t = std::map>
map_t<string_t, value_t> as_map() const;
@@ -162,20 +240,29 @@ public:
void clear() noexcept;
string_t dumps(std::optional<size_t> indent = std::nullopt) const { return indent ? format(*indent) : to_string(); }
string_t dumps(std::optional<size_t> indent = std::nullopt) const
{
return indent ? format(*indent) : to_string();
}
// return raw string
string_t to_string() const;
string_t format(size_t indent = 4) const { return format(indent, 0); }
basic_value<string_t>& operator=(const basic_value<string_t>& rhs);
basic_value<string_t>& operator=(basic_value<string_t>&&) noexcept;
template <typename value_t, std::enable_if_t<std::is_convertible_v<value_t, basic_value<string_t>>, bool> = true>
template <
typename value_t,
std::enable_if_t<std::is_convertible_v<value_t, basic_value<string_t>>, bool> = true>
basic_value<string_t>& operator=(value_t rhs)
{
return *this = basic_value<string_t>(std::move(rhs));
}
bool operator==(const basic_value<string_t>& rhs) const;
bool operator!=(const basic_value<string_t>& rhs) const { return !(*this == rhs); }
const basic_value<string_t>& operator[](size_t pos) const;
@@ -200,34 +287,63 @@ public:
basic_value<string_t>& operator+=(basic_array<string_t>&& rhs);
explicit operator bool() const { return as_boolean(); }
explicit operator int() const { return as_integer(); }
explicit operator unsigned() const { return as_unsigned(); }
explicit operator long() const { return as_long(); }
explicit operator unsigned long() const { return as_unsigned_long(); }
explicit operator long long() const { return as_long_long(); }
explicit operator unsigned long long() const { return as_unsigned_long_long(); }
explicit operator float() const { return as_float(); }
explicit operator double() const { return as_double(); }
explicit operator long double() const { return as_long_double(); }
explicit operator string_t() const { return as_string(); }
explicit operator basic_array<string_t>() const { return as_array(); }
explicit operator basic_object<string_t>() const { return as_object(); }
template <typename value_t, template <typename...> typename collection_t = std::vector,
std::enable_if_t<_utils::is_collection<collection_t<value_t>>, bool> = true>
template <
typename value_t,
template <typename...> typename collection_t = std::vector,
std::enable_if_t<_utils::is_collection<collection_t<value_t>>, bool> = true>
explicit operator collection_t<value_t>() const
{
return as_collection<value_t, collection_t>();
}
template <typename value_t, template <typename...> typename map_t = std::map,
std::enable_if_t<_utils::is_map<map_t<string_t, value_t>>, bool> = true>
template <
typename value_t,
size_t Size,
template <typename, size_t> typename fixed_array_t = std::array,
std::enable_if_t<_utils::is_fixed_array<fixed_array_t<value_t, Size>>, bool> = true>
explicit operator fixed_array_t<value_t, Size>() const
{
return as_fixed_array<value_t, Size, fixed_array_t>();
}
template <
typename value_t,
template <typename...> typename map_t = std::map,
std::enable_if_t<_utils::is_map<map_t<string_t, value_t>>, bool> = true>
explicit operator map_t<string_t, value_t>() const
{
return as_map<value_t, map_t>();
}
template <typename jsonization_t,
std::enable_if_t<_utils::has_from_json_in_member<jsonization_t, string_t>::value, bool> = true>
template <
typename jsonization_t,
std::enable_if_t<_utils::has_from_json_in_member<jsonization_t, string_t>::value, bool> =
true>
explicit operator jsonization_t() const
{
jsonization_t dst {};
@@ -236,8 +352,12 @@ public:
}
return dst;
}
template <typename jsonization_t,
std::enable_if_t<_utils::has_from_json_in_templ_spec<jsonization_t, string_t>::value, bool> = true>
template <
typename jsonization_t,
std::enable_if_t<
_utils::has_from_json_in_templ_spec<jsonization_t, string_t>::value,
bool> = true>
explicit operator jsonization_t() const
{
jsonization_t dst {};
@@ -247,6 +367,32 @@ public:
return dst;
}
template <typename enum_t, std::enable_if_t<std::is_enum_v<enum_t>, bool> = true>
explicit operator enum_t() const
{
return static_cast<enum_t>(static_cast<std::underlying_type_t<enum_t>>(*this));
}
template <typename... elem_ts>
explicit operator std::tuple<elem_ts...>() const
{
return as_array().template as_tuple<elem_ts...>();
}
template <typename elem1_t, typename elem2_t>
explicit operator std::pair<elem1_t, elem2_t>() const
{
return as_array().template as_pair<elem1_t, elem2_t>();
}
template <typename... args_t>
explicit operator std::variant<args_t...>() const
{
return _utils::deserialize_variant<string_t, std::variant<args_t...>>(
*this,
std::make_index_sequence<std::variant_size_v<std::variant<args_t...>>>());
}
private:
friend class basic_array<string_t>;
friend class basic_object<string_t>;
@@ -256,8 +402,9 @@ private:
static var_t deep_copy(const var_t& src);
template <typename... key_then_default_value_t, size_t... keys_indexes_t>
auto get(std::tuple<key_then_default_value_t...> keys_then_default_value,
std::index_sequence<keys_indexes_t...>) const;
auto
get(std::tuple<key_then_default_value_t...> keys_then_default_value,
std::index_sequence<keys_indexes_t...>) const;
template <typename value_t, typename first_key_t, typename... rest_keys_t>
auto get_helper(const value_t& default_value, first_key_t&& first, rest_keys_t&&... rest) const;
@@ -276,89 +423,125 @@ inline basic_value<string_t>::basic_value() = default;
template <typename string_t>
inline basic_value<string_t>::basic_value(const basic_value<string_t>& rhs)
: _type(rhs._type), _raw_data(deep_copy(rhs._raw_data))
{}
: _type(rhs._type)
, _raw_data(deep_copy(rhs._raw_data))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(basic_value<string_t>&& rhs) noexcept = default;
template <typename string_t>
inline basic_value<string_t>::basic_value(bool b)
: _type(value_type::boolean),
_raw_data(string_t(b ? _utils::true_string<string_t>() : _utils::false_string<string_t>()))
{}
: _type(value_type::boolean)
, _raw_data(string_t(b ? _utils::true_string<string_t>() : _utils::false_string<string_t>()))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(int num)
: _type(value_type::number), _raw_data(_utils::to_basic_string<string_t>(num))
{}
: _type(value_type::number)
, _raw_data(_utils::to_basic_string<string_t>(num))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(unsigned num)
: _type(value_type::number), _raw_data(_utils::to_basic_string<string_t>(num))
{}
: _type(value_type::number)
, _raw_data(_utils::to_basic_string<string_t>(num))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(long num)
: _type(value_type::number), _raw_data(_utils::to_basic_string<string_t>(num))
{}
: _type(value_type::number)
, _raw_data(_utils::to_basic_string<string_t>(num))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(unsigned long num)
: _type(value_type::number), _raw_data(_utils::to_basic_string<string_t>(num))
{}
: _type(value_type::number)
, _raw_data(_utils::to_basic_string<string_t>(num))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(long long num)
: _type(value_type::number), _raw_data(_utils::to_basic_string<string_t>(num))
{}
: _type(value_type::number)
, _raw_data(_utils::to_basic_string<string_t>(num))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(unsigned long long num)
: _type(value_type::number), _raw_data(_utils::to_basic_string<string_t>(num))
{}
: _type(value_type::number)
, _raw_data(_utils::to_basic_string<string_t>(num))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(float num)
: _type(value_type::number), _raw_data(_utils::to_basic_string<string_t>(num))
{}
: _type(value_type::number)
, _raw_data(_utils::to_basic_string<string_t>(num))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(double num)
: _type(value_type::number), _raw_data(_utils::to_basic_string<string_t>(num))
{}
: _type(value_type::number)
, _raw_data(_utils::to_basic_string<string_t>(num))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(long double num)
: _type(value_type::number), _raw_data(_utils::to_basic_string<string_t>(num))
{}
: _type(value_type::number)
, _raw_data(_utils::to_basic_string<string_t>(num))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(const char_t* str) : _type(value_type::string), _raw_data(string_t(str))
{}
inline basic_value<string_t>::basic_value(const char_t* str)
: _type(value_type::string)
, _raw_data(string_t(str))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(string_t str) : _type(value_type::string), _raw_data(std::move(str))
{}
inline basic_value<string_t>::basic_value(string_t str)
: _type(value_type::string)
, _raw_data(std::move(str))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(std::nullptr_t) : _type(value_type::null)
{}
inline basic_value<string_t>::basic_value(std::nullptr_t)
: _type(value_type::null)
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(basic_array<string_t> arr)
: _type(value_type::array), _raw_data(std::make_unique<basic_array<string_t>>(std::move(arr)))
{}
: _type(value_type::array)
, _raw_data(std::make_unique<basic_array<string_t>>(std::move(arr)))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(basic_object<string_t> obj)
: _type(value_type::object), _raw_data(std::make_unique<basic_object<string_t>>(std::move(obj)))
{}
: _type(value_type::object)
, _raw_data(std::make_unique<basic_object<string_t>>(std::move(obj)))
{
}
template <typename string_t>
inline basic_value<string_t>::basic_value(std::initializer_list<typename basic_object<string_t>::value_type> init_list)
: _type(value_type::object), _raw_data(std::make_unique<basic_object<string_t>>(init_list))
{}
inline basic_value<string_t>::basic_value(
std::initializer_list<typename basic_object<string_t>::value_type> init_list)
: _type(value_type::object)
, _raw_data(std::make_unique<basic_object<string_t>>(init_list))
{
}
// for Pimpl
template <typename string_t>
@@ -380,7 +563,7 @@ inline bool basic_value<string_t>::is() const noexcept
else if constexpr (std::is_same_v<bool, value_t>) {
return is_boolean();
}
else if constexpr (std::is_arithmetic_v<value_t>) {
else if constexpr (std::is_arithmetic_v<value_t> || std::is_enum_v<value_t>) {
return is_number();
}
else if constexpr (std::is_constructible_v<string_t, value_t>) {
@@ -392,12 +575,31 @@ inline bool basic_value<string_t>::is() const noexcept
else if constexpr (_utils::is_collection<value_t>) {
return is_array() && all<typename value_t::value_type>();
}
else if constexpr (_utils::is_fixed_array<value_t>) {
return is_array() && all<typename value_t::value_type>()
&& as_array().size() == _utils::fixed_array_size<value_t>;
}
else if constexpr (std::is_same_v<basic_object<string_t>, value_t>) {
return is_object();
}
else if constexpr (_utils::is_map<value_t>) {
return is_object() && std::is_constructible_v<string_t, typename value_t::key_type> &&
all<typename value_t::mapped_type>();
return is_object() && std::is_constructible_v<string_t, typename value_t::key_type>
&& all<typename value_t::mapped_type>();
}
else if constexpr (_utils::is_variant<value_t>) {
return _utils::detect_variant<string_t, value_t>(
*this,
std::make_index_sequence<std::variant_size_v<value_t>>());
}
else if constexpr (_utils::is_pair<value_t>) {
return is_array() && as_array().size() == 2
&& at(0).template is<typename value_t::first_type>()
&& at(1).template is<typename value_t::second_type>();
}
else if constexpr (_utils::is_tuple<value_t>) {
return _utils::detect_tuple<string_t, value_t>(
*this,
std::make_index_sequence<std::tuple_size_v<value_t>>());
}
else {
static_assert(!sizeof(value_t), "Unsupported type");
@@ -444,33 +646,42 @@ template <typename string_t>
template <typename... key_then_default_value_t>
inline auto basic_value<string_t>::get(key_then_default_value_t&&... keys_then_default_value) const
{
return get(std::forward_as_tuple(keys_then_default_value...),
std::make_index_sequence<sizeof...(keys_then_default_value) - 1> {});
return get(
std::forward_as_tuple(keys_then_default_value...),
std::make_index_sequence<sizeof...(keys_then_default_value) - 1> {});
}
template <typename string_t>
template <typename... key_then_default_value_t, size_t... keys_indexes_t>
inline auto basic_value<string_t>::get(std::tuple<key_then_default_value_t...> keys_then_default_value,
std::index_sequence<keys_indexes_t...>) const
inline auto basic_value<string_t>::get(
std::tuple<key_then_default_value_t...> keys_then_default_value,
std::index_sequence<keys_indexes_t...>) const
{
constexpr unsigned long default_value_index = sizeof...(key_then_default_value_t) - 1;
return get_helper(std::get<default_value_index>(keys_then_default_value),
std::get<keys_indexes_t>(keys_then_default_value)...);
return get_helper(
std::get<default_value_index>(keys_then_default_value),
std::get<keys_indexes_t>(keys_then_default_value)...);
}
template <typename string_t>
template <typename value_t, typename first_key_t, typename... rest_keys_t>
inline auto basic_value<string_t>::get_helper(const value_t& default_value, first_key_t&& first,
rest_keys_t&&... rest) const
inline auto basic_value<string_t>::get_helper(
const value_t& default_value,
first_key_t&& first,
rest_keys_t&&... rest) const
{
if constexpr (std::is_constructible_v<string_t, first_key_t>) {
return is_object() ? as_object().get_helper(default_value, std::forward<first_key_t>(first),
std::forward<rest_keys_t>(rest)...)
return is_object() ? as_object().get_helper(
default_value,
std::forward<first_key_t>(first),
std::forward<rest_keys_t>(rest)...)
: default_value;
}
else if constexpr (std::is_integral_v<std::decay_t<first_key_t>>) {
return is_array() ? as_array().get_helper(default_value, std::forward<first_key_t>(first),
std::forward<rest_keys_t>(rest)...)
return is_array() ? as_array().get_helper(
default_value,
std::forward<first_key_t>(first),
std::forward<rest_keys_t>(rest)...)
: default_value;
}
else {
@@ -480,16 +691,22 @@ inline auto basic_value<string_t>::get_helper(const value_t& default_value, firs
template <typename string_t>
template <typename value_t, typename unique_key_t>
inline auto basic_value<string_t>::get_helper(const value_t& default_value, unique_key_t&& first) const
inline auto
basic_value<string_t>::get_helper(const value_t& default_value, unique_key_t&& first) const
{
if constexpr (std::is_constructible_v<string_t, unique_key_t>) {
return is_object() ? as_object().get_helper(default_value, std::forward<unique_key_t>(first)) : default_value;
return is_object()
? as_object().get_helper(default_value, std::forward<unique_key_t>(first))
: default_value;
}
else if constexpr (std::is_integral_v<std::decay_t<unique_key_t>>) {
return is_array() ? as_array().get_helper(default_value, std::forward<unique_key_t>(first)) : default_value;
return is_array() ? as_array().get_helper(default_value, std::forward<unique_key_t>(first))
: default_value;
}
else {
static_assert(!sizeof(unique_key_t), "Parameter must be integral or string_t constructible");
static_assert(
!sizeof(unique_key_t),
"Parameter must be integral or string_t constructible");
}
}
@@ -722,10 +939,14 @@ template <typename string_t>
template <typename... args_t>
inline decltype(auto) basic_value<string_t>::emplace(args_t&&... args)
{
constexpr bool is_array_args = std::is_constructible_v<typename basic_array<string_t>::value_type, args_t...>;
constexpr bool is_object_args = std::is_constructible_v<typename basic_object<string_t>::value_type, args_t...>;
constexpr bool is_array_args =
std::is_constructible_v<typename basic_array<string_t>::value_type, args_t...>;
constexpr bool is_object_args =
std::is_constructible_v<typename basic_object<string_t>::value_type, args_t...>;
static_assert(is_array_args || is_object_args, "Args can not constructure a array or object value");
static_assert(
is_array_args || is_object_args,
"Args can not constructure a array or object value");
if constexpr (is_array_args) {
return as_array().emplace_back(std::forward<args_t>(args)...);
@@ -801,6 +1022,13 @@ inline collection_t<value_t> basic_value<string_t>::as_collection() const
return as_array().template as_collection<value_t, collection_t>();
}
template <typename string_t>
template <typename value_t, size_t Size, template <typename, size_t> typename fixed_array_t>
inline fixed_array_t<value_t, Size> basic_value<string_t>::as_fixed_array() const
{
return as_array().template as_fixed_array<value_t, Size>();
}
template <typename string_t>
template <typename value_t, template <typename...> typename map_t>
inline map_t<string_t, value_t> basic_value<string_t>::as_map() const
@@ -818,12 +1046,15 @@ inline basic_value<string_t>& basic_value<string_t>::operator=(const basic_value
}
template <typename string_t>
inline basic_value<string_t>& basic_value<string_t>::operator=(basic_value<string_t>&& rhs) noexcept = default;
inline basic_value<string_t>&
basic_value<string_t>::operator=(basic_value<string_t>&& rhs) noexcept = default;
template <typename string_t>
inline bool basic_value<string_t>::operator==(const basic_value<string_t>& rhs) const
{
if (_type != rhs._type) return false;
if (_type != rhs._type) {
return false;
}
switch (_type) {
case value_type::null:
@@ -878,7 +1109,8 @@ inline basic_value<string_t>& basic_value<string_t>::operator[](string_t&& key)
}
template <typename string_t>
inline basic_value<string_t> basic_value<string_t>::operator|(const basic_object<string_t>& rhs) const&
inline basic_value<string_t>
basic_value<string_t>::operator|(const basic_object<string_t>& rhs) const&
{
return as_object() | rhs;
}
@@ -916,7 +1148,8 @@ inline basic_value<string_t>& basic_value<string_t>::operator|=(basic_object<str
}
template <typename string_t>
inline basic_value<string_t> basic_value<string_t>::operator+(const basic_array<string_t>& rhs) const&
inline basic_value<string_t>
basic_value<string_t>::operator+(const basic_array<string_t>& rhs) const&
{
return as_array() + rhs;
}
@@ -956,9 +1189,12 @@ inline basic_value<string_t>& basic_value<string_t>::operator+=(basic_array<stri
template <typename string_t>
template <typename... args_t>
inline basic_value<string_t>::basic_value(value_type type, args_t&&... args)
: _type(type), _raw_data(std::forward<args_t>(args)...)
: _type(type)
, _raw_data(std::forward<args_t>(args)...)
{
static_assert(std::is_constructible_v<var_t, args_t...>, "Parameter can't be used to construct a var_t");
static_assert(
std::is_constructible_v<var_t, args_t...>,
"Parameter can't be used to construct a var_t");
}
template <typename string_t>
@@ -981,11 +1217,14 @@ inline typename basic_value<string_t>::var_t basic_value<string_t>::deep_copy(co
return dst;
}
template <typename ostream_t, typename string_t,
typename std_ostream_t =
std::basic_ostream<typename string_t::value_type, std::char_traits<typename string_t::value_type>>,
typename =
std::enable_if_t<std::is_same_v<std_ostream_t, ostream_t> || std::is_base_of_v<std_ostream_t, ostream_t>>>
template <
typename ostream_t,
typename string_t,
typename std_ostream_t = std::basic_ostream<
typename string_t::value_type,
std::char_traits<typename string_t::value_type>>,
typename = std::enable_if_t<
std::is_same_v<std_ostream_t, ostream_t> || std::is_base_of_v<std_ostream_t, ostream_t>>>
ostream_t& operator<<(ostream_t& out, const basic_value<string_t>& val)
{
out << val.format();

View File

@@ -1,6 +1,10 @@
#pragma once
// IWYU pragma: begin_exports
#include "common/serialization.hpp"
#include "common/types.hpp"
#include "parser/parser.hpp"
#include "reflection/jsonization.hpp"
// IWYU pragma: end_exports

View File

@@ -1,4 +1,8 @@
#pragma once
// IWYU pragma: begin_exports
#include "common/types.hpp"
#include "parser5/parser5.hpp"
#include "parser5/parser5.hpp"
// IWYU pragma: end_exports

View File

@@ -1,13 +1,17 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
#if __cplusplus >= 202002L || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L)
#include <bit>
namespace json::_bitops
{
using std::countl_one;
using std::countl_zero;
using std::countr_one;
using std::countr_zero;
inline constexpr bool is_little_endian()
{
return std::endian::native == std::endian::little;
@@ -15,25 +19,37 @@ inline constexpr bool is_little_endian()
}
#else
#include <cstdint>
namespace json::_bitops
{
#if defined(__GNUC__) || defined(__clang__)
inline constexpr int countl_zero(uint32_t x)
{
if constexpr (sizeof(uint32_t) == sizeof(unsigned int)) return x == 0 ? 32 : __builtin_clz(x);
if constexpr (sizeof(uint32_t) == sizeof(unsigned long)) return x == 0 ? 32 : __builtin_clzl(x);
if constexpr (sizeof(uint32_t) == sizeof(unsigned int)) {
return x == 0 ? 32 : __builtin_clz(x);
}
if constexpr (sizeof(uint32_t) == sizeof(unsigned long)) {
return x == 0 ? 32 : __builtin_clzl(x);
}
return x == 0 ? 32 : __builtin_clzll(x);
}
inline constexpr int countr_zero(uint32_t x)
{
if constexpr (sizeof(uint32_t) == sizeof(unsigned int)) return x == 0 ? 32 : __builtin_ctz(x);
if constexpr (sizeof(uint32_t) == sizeof(unsigned long)) return x == 0 ? 32 : __builtin_ctzl(x);
if constexpr (sizeof(uint32_t) == sizeof(unsigned int)) {
return x == 0 ? 32 : __builtin_ctz(x);
}
if constexpr (sizeof(uint32_t) == sizeof(unsigned long)) {
return x == 0 ? 32 : __builtin_ctzl(x);
}
return x == 0 ? 32 : __builtin_ctzll(x);
}
inline constexpr int countl_zero(uint64_t x)
{
return x == 0 ? 64 : __builtin_clzll(x);
}
inline constexpr int countr_zero(uint64_t x)
{
return x == 0 ? 64 : __builtin_ctzll(x);
@@ -45,14 +61,17 @@ inline int countl_zero(uint32_t x)
{
return __lzcnt(x);
}
inline int countr_zero(uint32_t x)
{
return _tzcnt_u32(x);
}
inline int countl_zero(uint64_t x)
{
return (int)__lzcnt64(x);
}
inline int countr_zero(uint64_t x)
{
return (int)_tzcnt_u64(x);
@@ -63,16 +82,19 @@ inline constexpr int countl_zero(uint32_t x)
unsigned long index = 0;
return _BitScanReverse(&index, x) ? 31 - index : 32;
}
inline constexpr int countr_zero(uint32_t x)
{
unsigned long index = 0;
return _BitScanForward(&index, x) ? index : 32;
}
inline constexpr int countl_zero(uint64_t x)
{
unsigned long index = 0;
return _BitScanReverse64(&index, x) ? 63 - index : 64;
}
inline constexpr int countr_zero(uint64_t x)
{
unsigned long index = 0;
@@ -86,14 +108,17 @@ inline int countl_one(uint32_t x)
{
return countl_zero(~x);
}
inline int countr_one(uint32_t x)
{
return countr_zero(~x);
}
inline int countl_one(uint64_t x)
{
return countl_zero(~x);
}
inline int countr_one(uint64_t x)
{
return countr_zero(~x);
@@ -102,10 +127,12 @@ inline int countr_one(uint64_t x)
// no constexpr endian awareness before C++20
inline bool is_little_endian()
{
union {
union
{
uint32_t u32;
uint8_t u8;
} u = { 0x01020304 };
return u.u8 == 4;
}
} // namespace json::_bitops

View File

@@ -1,3 +1,5 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
#include <cstdint>
@@ -28,11 +30,13 @@ struct packed_bytes
};
}
#ifndef MEOJSON_DISABLE_PACKED_BYTES
#if defined(__SSE2__) || defined(_M_X64) || (defined(_M_IX86_FP) && _M_IX86_FP)
#include "packed_bytes_x86.hpp"
#elif defined(__ARM_NEON) || defined(_M_ARM) || defined(_M_ARM64)
#include "packed_bytes_arm.hpp"
#endif
#endif
namespace json::_packed_bytes
{
@@ -66,14 +70,19 @@ struct packed_bytes_trait_uint64
return is_zero_memberwise((x) ^ (UINT64_C(0x0101010101010101) * (n)));
}
__packed_bytes_strong_inline static value_type bitwise_or(value_type a, value_type b) { return a | b; }
__packed_bytes_strong_inline static value_type bitwise_or(value_type a, value_type b)
{
return a | b;
}
__packed_bytes_strong_inline static size_t first_nonzero_byte(value_type x)
{
if (_bitops::is_little_endian())
if (_bitops::is_little_endian()) {
return _bitops::countr_zero(x) / 8;
else
}
else {
return _bitops::countl_zero(x) / 8;
}
}
};
@@ -108,16 +117,22 @@ struct packed_bytes_trait_uint32
return is_zero_memberwise((x) ^ (~UINT32_C(0) / 255 * (n)));
}
__packed_bytes_strong_inline static value_type bitwise_or(value_type a, value_type b) { return a | b; }
__packed_bytes_strong_inline static value_type bitwise_or(value_type a, value_type b)
{
return a | b;
}
__packed_bytes_strong_inline static size_t first_nonzero_byte(value_type x)
{
if (_bitops::is_little_endian())
if (_bitops::is_little_endian()) {
return _bitops::countr_zero(x) / 8;
else
}
else {
return _bitops::countl_zero(x) / 8;
}
}
};
template <>
struct packed_bytes<8>
{
@@ -133,9 +148,14 @@ struct packed_bytes<4>
template <size_t N>
using packed_bytes_trait = typename packed_bytes<N>::traits;
using packed_bytes_trait_max =
std::conditional_t<packed_bytes_trait<32>::available, packed_bytes_trait<32>,
std::conditional_t<packed_bytes_trait<16>::available, packed_bytes_trait<16>,
std::conditional_t<packed_bytes_trait<8>::available, packed_bytes_trait<8>,
packed_bytes_trait<4>>>>;
using packed_bytes_trait_max = std::conditional_t<
packed_bytes_trait<32>::available,
packed_bytes_trait<32>,
std::conditional_t<
packed_bytes_trait<16>::available,
packed_bytes_trait<16>,
std::conditional_t<
packed_bytes_trait<8>::available,
packed_bytes_trait<8>,
packed_bytes_trait<4>>>>;
} // namespace json::_packed_bytes

View File

@@ -1,3 +1,5 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
// current NEON implementation doesn't outperform 64-bit scalar implementation
@@ -17,7 +19,10 @@ struct packed_bytes_trait_neon
static constexpr auto step = 16;
using value_type = uint8x16_t;
__packed_bytes_strong_inline static value_type load_unaligned(const void* ptr) { return vld1q_u8((uint8_t*)ptr); }
__packed_bytes_strong_inline static value_type load_unaligned(const void* ptr)
{
return vld1q_u8((uint8_t*)ptr);
}
__packed_bytes_strong_inline static value_type less(value_type x, uint8_t n)
{
@@ -26,19 +31,31 @@ struct packed_bytes_trait_neon
return is_less;
}
__packed_bytes_strong_inline static value_type equal(value_type x, uint8_t n) { return vceqq_u8(x, vdupq_n_u8(n)); }
__packed_bytes_strong_inline static value_type equal(value_type x, uint8_t n)
{
return vceqq_u8(x, vdupq_n_u8(n));
}
__packed_bytes_strong_inline static value_type equal(value_type x, value_type y) { return vceqq_u8(x, y); }
__packed_bytes_strong_inline static value_type equal(value_type x, value_type y)
{
return vceqq_u8(x, y);
}
__packed_bytes_strong_inline static value_type bitwise_or(value_type a, value_type b) { return vorrq_u8(a, b); }
__packed_bytes_strong_inline static value_type bitwise_or(value_type a, value_type b)
{
return vorrq_u8(a, b);
}
__packed_bytes_strong_inline static bool is_all_zero(value_type x)
{
#ifdef __packed_bytes_trait_arm64
return vmaxvq_u8(x) == 0;
#else
auto fold64 = vorr_u64(vget_high_u64(vreinterpretq_u8_u64(x), 0), vget_low_u64(vreinterpretq_u8_u64(x), 1));
auto fold32 = vget_lane_u32(vreinterpret_u64_u32(fold64), 0) | vget_lane_u32(vreinterpret_u64_u32(fold64), 1);
auto fold64 = vorr_u64(
vget_high_u64(vreinterpretq_u8_u64(x), 0),
vget_low_u64(vreinterpretq_u8_u64(x), 1));
auto fold32 = vget_lane_u32(vreinterpret_u64_u32(fold64), 0)
| vget_lane_u32(vreinterpret_u64_u32(fold64), 1);
return fold32 == 0;
#endif
}

View File

@@ -1,4 +1,7 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
#include "packed_bytes.hpp"
#include <emmintrin.h>
@@ -35,9 +38,15 @@ struct packed_bytes_trait_sse
return _mm_cmpeq_epi8(x, _mm_set1_epi8(static_cast<char>(n)));
}
__packed_bytes_strong_inline static value_type equal(value_type x, value_type y) { return _mm_cmpeq_epi8(x, y); }
__packed_bytes_strong_inline static value_type equal(value_type x, value_type y)
{
return _mm_cmpeq_epi8(x, y);
}
__packed_bytes_strong_inline static value_type bitwise_or(value_type a, value_type b) { return _mm_or_si128(a, b); }
__packed_bytes_strong_inline static value_type bitwise_or(value_type a, value_type b)
{
return _mm_or_si128(a, b);
}
__packed_bytes_strong_inline static bool is_all_zero(value_type x)
{
@@ -97,14 +106,20 @@ struct packed_bytes_trait_avx2
return _mm256_cmpeq_epi8(x, _mm256_set1_epi8(static_cast<char>(n)));
}
__packed_bytes_strong_inline static value_type equal(value_type x, value_type y) { return _mm256_cmpeq_epi8(x, y); }
__packed_bytes_strong_inline static value_type equal(value_type x, value_type y)
{
return _mm256_cmpeq_epi8(x, y);
}
__packed_bytes_strong_inline static value_type bitwise_or(value_type a, value_type b)
{
return _mm256_or_si256(a, b);
}
__packed_bytes_strong_inline static bool is_all_zero(value_type x) { return (bool)_mm256_testz_si256(x, x); }
__packed_bytes_strong_inline static bool is_all_zero(value_type x)
{
return (bool)_mm256_testz_si256(x, x);
}
__packed_bytes_strong_inline static size_t first_nonzero_byte(value_type x)
{

View File

@@ -1,5 +1,8 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
#include <cctype>
#include <fstream>
#include <optional>
#include <ostream>
@@ -15,8 +18,10 @@ namespace json
// * parser declare *
// ****************************
template <typename string_t = default_string_t, typename parsing_t = void,
typename accel_traits = _packed_bytes::packed_bytes_trait_max>
template <
typename string_t = default_string_t,
typename parsing_t = void,
typename accel_traits = _packed_bytes::packed_bytes_trait_max>
class parser
{
public:
@@ -28,7 +33,12 @@ public:
static std::optional<basic_value<string_t>> parse(const parsing_t& content);
private:
parser(parsing_iter_t cbegin, parsing_iter_t cend) noexcept : _cur(cbegin), _end(cend) { ; }
parser(parsing_iter_t cbegin, parsing_iter_t cend) noexcept
: _cur(cbegin)
, _end(cend)
{
;
}
std::optional<basic_value<string_t>> parse();
basic_value<string_t> parse_value();
@@ -47,6 +57,7 @@ private:
bool skip_string_literal_with_accel();
bool skip_whitespace() noexcept;
bool skip_digit();
bool skip_unicode_escape(uint16_t& pair_high, string_t& result);
private:
parsing_iter_t _cur;
@@ -63,8 +74,10 @@ auto parse(const parsing_t& content);
template <typename char_t>
auto parse(char_t* content);
template <typename istream_t,
typename = std::enable_if_t<std::is_base_of_v<std::basic_istream<typename istream_t::char_type>, istream_t>>>
template <
typename istream_t,
typename = std::enable_if_t<
std::is_base_of_v<std::basic_istream<typename istream_t::char_type>, istream_t>>>
auto parse(istream_t& istream, bool check_bom);
template <typename ifstream_t = std::ifstream, typename path_t = void>
@@ -72,17 +85,17 @@ auto open(const path_t& path, bool check_bom = false);
namespace literals
{
value operator""_json(const char* str, size_t len);
wvalue operator""_json(const wchar_t* str, size_t len);
value operator""_json(const char* str, size_t len);
wvalue operator""_json(const wchar_t* str, size_t len);
value operator""_jvalue(const char* str, size_t len);
wvalue operator""_jvalue(const wchar_t* str, size_t len);
value operator""_jvalue(const char* str, size_t len);
wvalue operator""_jvalue(const wchar_t* str, size_t len);
array operator""_jarray(const char* str, size_t len);
warray operator""_jarray(const wchar_t* str, size_t len);
array operator""_jarray(const char* str, size_t len);
warray operator""_jarray(const wchar_t* str, size_t len);
object operator""_jobject(const char* str, size_t len);
wobject operator""_jobject(const wchar_t* str, size_t len);
object operator""_jobject(const char* str, size_t len);
wobject operator""_jobject(const wchar_t* str, size_t len);
}
template <typename string_t = default_string_t>
@@ -93,7 +106,8 @@ const basic_value<string_t> invalid_value();
// *************************
template <typename string_t, typename parsing_t, typename accel_traits>
inline std::optional<basic_value<string_t>> parser<string_t, parsing_t, accel_traits>::parse(const parsing_t& content)
inline std::optional<basic_value<string_t>>
parser<string_t, parsing_t, accel_traits>::parse(const parsing_t& content)
{
return parser<string_t, parsing_t, accel_traits>(content.cbegin(), content.cend()).parse();
}
@@ -252,7 +266,9 @@ inline basic_value<string_t> parser<string_t, parsing_t, accel_traits>::parse_st
if (!string_opt) {
return invalid_value<string_t>();
}
return basic_value<string_t>(basic_value<string_t>::value_type::string, std::move(string_opt).value());
return basic_value<string_t>(
basic_value<string_t>::value_type::string,
std::move(string_opt).value());
}
template <typename string_t, typename parsing_t, typename accel_traits>
@@ -350,7 +366,10 @@ inline basic_value<string_t> parser<string_t, parsing_t, accel_traits>::parse_ob
return invalid_value<string_t>();
}
result.emplace(std::move(*key_opt), std::move(val));
auto emplaced = result.emplace(std::move(*key_opt), std::move(val)).second;
if (!emplaced) {
return invalid_value<string_t>();
}
if (*_cur == ',') {
++_cur;
@@ -382,6 +401,7 @@ inline std::optional<string_t> parser<string_t, parsing_t, accel_traits>::parse_
string_t result;
auto no_escape_beg = _cur;
uint16_t pair_high = 0;
while (_cur != _end) {
if constexpr (sizeof(*_cur) == 1 && accel_traits::available) {
@@ -399,6 +419,9 @@ inline std::optional<string_t> parser<string_t, parsing_t, accel_traits>::parse_
if (_cur == _end) {
return std::nullopt;
}
if (pair_high && *_cur != 'u') {
return std::nullopt;
}
switch (*_cur) {
case '"':
result.push_back('"');
@@ -424,9 +447,11 @@ inline std::optional<string_t> parser<string_t, parsing_t, accel_traits>::parse_
case 't':
result.push_back('\t');
break;
// case 'u':
// result.push_back('\u');
// break;
case 'u':
if (!skip_unicode_escape(pair_high, result)) {
return std::nullopt;
}
break;
default:
// Illegal backslash escape
return std::nullopt;
@@ -435,10 +460,16 @@ inline std::optional<string_t> parser<string_t, parsing_t, accel_traits>::parse_
break;
}
case '"': {
if (pair_high) {
return std::nullopt;
}
result += string_t(no_escape_beg, _cur++);
return result;
}
default:
if (pair_high) {
return std::nullopt;
}
++_cur;
break;
}
@@ -446,6 +477,103 @@ inline std::optional<string_t> parser<string_t, parsing_t, accel_traits>::parse_
return std::nullopt;
}
template <typename string_t, typename parsing_t, typename accel_traits>
inline bool parser<string_t, parsing_t, accel_traits>::skip_unicode_escape(
uint16_t& pair_high,
string_t& result)
{
uint16_t cp = 0;
for (int i = 0; i < 4; ++i) {
if (++_cur == _end) {
return false;
}
if (!std::isxdigit(static_cast<unsigned char>(*_cur))) {
return false;
}
cp <<= 4;
if ('0' <= *_cur && *_cur <= '9') {
cp |= *_cur - '0';
}
else if ('a' <= *_cur && *_cur <= 'f') {
cp |= *_cur - 'a' + 10;
}
else if ('A' <= *_cur && *_cur <= 'F') {
cp |= *_cur - 'A' + 10;
}
else {
return false;
}
}
uint32_t ext_cp = cp;
uint16_t hi_cp = 0, lo_cp = 0;
if (0xD800 <= cp && cp <= 0xDBFF) {
if (pair_high) {
return false;
}
pair_high = cp;
return true;
}
if (0xDC00 <= cp && cp <= 0xDFFF) {
if (!pair_high) {
return false;
}
ext_cp = (((pair_high - 0xD800) << 10) | (cp - 0xDC00)) + 0x10000;
hi_cp = pair_high;
lo_cp = cp;
pair_high = 0;
}
if constexpr (std::is_same_v<typename string_t::value_type, char>) {
// utf8
if (ext_cp <= 0x7F) {
result.push_back(static_cast<char>(ext_cp));
}
else if (ext_cp <= 0x7FF) {
result.push_back(static_cast<char>(((ext_cp >> 6) & 0b00011111) | 0b11000000u));
result.push_back(static_cast<char>((ext_cp & 0b00111111) | 0b10000000u));
}
else if (ext_cp <= 0xFFFF) {
result.push_back(static_cast<char>(((ext_cp >> 12) & 0b00001111) | 0b11100000u));
result.push_back(static_cast<char>(((ext_cp >> 6) & 0b00111111) | 0b10000000u));
result.push_back(static_cast<char>((ext_cp & 0b00111111) | 0b10000000u));
}
else {
result.push_back(static_cast<char>(((ext_cp >> 18) & 0b00000111) | 0b11110000u));
result.push_back(static_cast<char>(((ext_cp >> 12) & 0b00111111) | 0b10000000u));
result.push_back(static_cast<char>(((ext_cp >> 6) & 0b00111111) | 0b10000000u));
result.push_back(static_cast<char>((ext_cp & 0b00111111) | 0b10000000u));
}
}
else if constexpr (std::is_same_v<typename string_t::value_type, wchar_t>) {
if constexpr (sizeof(wchar_t) == 4) {
result.push_back(static_cast<wchar_t>(ext_cp));
}
else if constexpr (sizeof(wchar_t) == 2) {
if (ext_cp <= 0xFFFF) {
result.push_back(static_cast<wchar_t>(ext_cp));
}
else {
result.push_back(static_cast<wchar_t>(hi_cp));
result.push_back(static_cast<wchar_t>(lo_cp));
}
}
else {
static_assert(!sizeof(typename string_t::value_type), "Unsupported wchar");
}
}
else {
static_assert(!sizeof(typename string_t::value_type), "Unsupported type");
}
return true;
}
template <typename string_t, typename parsing_t, typename accel_traits>
inline bool parser<string_t, parsing_t, accel_traits>::skip_string_literal_with_accel()
{
@@ -456,8 +584,10 @@ inline bool parser<string_t, parsing_t, accel_traits>::skip_string_literal_with_
while (_end - _cur >= accel_traits::step) {
auto pack = accel_traits::load_unaligned(&(*_cur));
auto result = accel_traits::less(pack, 32);
result = accel_traits::bitwise_or(result, accel_traits::equal(pack, static_cast<uint8_t>('"')));
result = accel_traits::bitwise_or(result, accel_traits::equal(pack, static_cast<uint8_t>('\\')));
result =
accel_traits::bitwise_or(result, accel_traits::equal(pack, static_cast<uint8_t>('"')));
result =
accel_traits::bitwise_or(result, accel_traits::equal(pack, static_cast<uint8_t>('\\')));
if (accel_traits::is_all_zero(result)) {
_cur += accel_traits::step;
@@ -551,8 +681,8 @@ auto parse(istream_t& ifs, bool check_bom)
static constexpr uchar Bom_1 = 0xBB;
static constexpr uchar Bom_2 = 0xBF;
if (str.size() >= 3 && static_cast<uchar>(str.at(0)) == Bom_0 && static_cast<uchar>(str.at(1)) == Bom_1 &&
static_cast<uchar>(str.at(2)) == Bom_2) {
if (str.size() >= 3 && static_cast<uchar>(str.at(0)) == Bom_0
&& static_cast<uchar>(str.at(1)) == Bom_1 && static_cast<uchar>(str.at(2)) == Bom_2) {
str.assign(str.begin() + 3, str.end());
}
}
@@ -578,50 +708,56 @@ auto open(const path_t& filepath, bool check_bom)
namespace literals
{
inline value operator""_json(const char* str, size_t len)
{
return operator""_jvalue(str, len);
}
inline wvalue operator""_json(const wchar_t* str, size_t len)
{
return operator""_jvalue(str, len);
}
inline value operator""_json(const char* str, size_t len)
{
return operator""_jvalue(str, len);
}
inline value operator""_jvalue(const char* str, size_t len)
{
return parse(std::string_view(str, len)).value_or(value());
}
inline wvalue operator""_jvalue(const wchar_t* str, size_t len)
{
return parse(std::wstring_view(str, len)).value_or(wvalue());
}
inline wvalue operator""_json(const wchar_t* str, size_t len)
{
return operator""_jvalue(str, len);
}
inline array operator""_jarray(const char* str, size_t len)
{
auto val = parse(std::string_view(str, len)).value_or(value());
return val.is_array() ? val.as_array() : array();
}
inline warray operator""_jarray(const wchar_t* str, size_t len)
{
auto val = parse(std::wstring_view(str, len)).value_or(wvalue());
return val.is_array() ? val.as_array() : warray();
}
inline value operator""_jvalue(const char* str, size_t len)
{
return parse(std::string_view(str, len)).value_or(value());
}
inline object operator""_jobject(const char* str, size_t len)
{
auto val = parse(std::string_view(str, len)).value_or(value());
return val.is_object() ? val.as_object() : object();
}
inline wobject operator""_jobject(const wchar_t* str, size_t len)
{
auto val = parse(std::wstring_view(str, len)).value_or(wvalue());
return val.is_object() ? val.as_object() : wobject();
}
inline wvalue operator""_jvalue(const wchar_t* str, size_t len)
{
return parse(std::wstring_view(str, len)).value_or(wvalue());
}
inline array operator""_jarray(const char* str, size_t len)
{
auto val = parse(std::string_view(str, len)).value_or(value());
return val.is_array() ? val.as_array() : array();
}
inline warray operator""_jarray(const wchar_t* str, size_t len)
{
auto val = parse(std::wstring_view(str, len)).value_or(wvalue());
return val.is_array() ? val.as_array() : warray();
}
inline object operator""_jobject(const char* str, size_t len)
{
auto val = parse(std::string_view(str, len)).value_or(value());
return val.is_object() ? val.as_object() : object();
}
inline wobject operator""_jobject(const wchar_t* str, size_t len)
{
auto val = parse(std::wstring_view(str, len)).value_or(wvalue());
return val.is_object() ? val.as_object() : wobject();
}
} // namespace literals
template <typename string_t>
const basic_value<string_t> invalid_value()
{
return basic_value<string_t>(basic_value<string_t>::value_type::invalid, typename basic_value<string_t>::var_t());
return basic_value<string_t>(
basic_value<string_t>::value_type::invalid,
typename basic_value<string_t>::var_t());
}
} // namespace json

View File

@@ -1,10 +1,11 @@
// IWYU pragma: private, include <meojson/json5.hpp>
#pragma once
#include <algorithm>
#include <cctype>
#include <cmath>
#include <iomanip>
#include <regex>
#include <sstream>
#include <stack>
#include <vector>
@@ -31,6 +32,7 @@ public:
{
public:
exception() = default;
exception(const std::string& type, const std::string& msg, const std::string& detail)
{
std::stringstream ss;
@@ -38,6 +40,7 @@ public:
ss << detail << std::endl;
_what = ss.str();
}
exception(const exception&) = default;
exception& operator=(const exception&) = default;
exception(exception&&) = default;
@@ -50,8 +53,12 @@ public:
{
public:
InvalidChar(u8char ch = 0, const std::string& detail = "")
: exception("Invalid Char", "Unexpected token \'" + StringFromCharCode(ch) + "\'", detail)
{}
: exception(
"Invalid Char",
"Unexpected token \'" + StringFromCharCode(ch) + "\'",
detail)
{
}
};
class InvalidIdentifier : public exception
@@ -59,14 +66,17 @@ public:
public:
InvalidIdentifier(const std::string& msg = "", const std::string& detail = "")
: exception("Invalid Identifier", msg, detail)
{}
{
}
};
class InvalidEOF : public exception
{
public:
InvalidEOF(const std::string& msg = "", const std::string& detail = "") : exception("Invalid EOF", msg, detail)
{}
InvalidEOF(const std::string& msg = "", const std::string& detail = "")
: exception("Invalid EOF", msg, detail)
{
}
};
public:
@@ -175,7 +185,13 @@ public:
static std::optional<value> parse(const string_t& content, std::string* error = nullptr);
private:
parser5(string_iter_t cbegin, string_iter_t cend) noexcept : _cur(cbegin), _end(cend), _line_begin_cur(cbegin) {}
parser5(string_iter_t cbegin, string_iter_t cend) noexcept
: _cur(cbegin)
, _end(cend)
, _line_begin_cur(cbegin)
{
}
std::optional<value> parse();
private:
@@ -272,62 +288,68 @@ inline bool parser5<string_t>::unicode::isSpaceSeparator(u8char ch)
template <typename string_t>
inline bool parser5<string_t>::unicode::isIdStartChar(u8char ch)
{
return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch == '$') || (ch == '_') ||
findInRange(json::unicode::id_start, toUnicode(ch));
return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch == '$') || (ch == '_')
|| findInRange(json::unicode::id_start, toUnicode(ch));
}
template <typename string_t>
inline bool parser5<string_t>::unicode::isIdContinueChar(u8char ch)
{
return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9') || (ch == '$') ||
(ch == '_') || findInRange(json::unicode::id_continue, toUnicode(ch));
return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9')
|| (ch == '$') || (ch == '_') || findInRange(json::unicode::id_continue, toUnicode(ch));
}
template <typename string_t>
inline bool parser5<string_t>::unicode::isDigit(u8char ch)
{
auto str = StringFromCharCode(ch);
return std::regex_search(str, std::regex(R"([0-9])"));
return (ch >= '0' && ch <= '9');
}
template <typename string_t>
inline bool parser5<string_t>::unicode::isHexDigit(u8char ch)
{
auto str = StringFromCharCode(ch);
return std::regex_search(str, std::regex(R"([0-9A-Fa-f])"));
return (ch >= 'a' && ch <= 'f') || (ch >= 'A' && ch <= 'F') || (ch >= '0' && ch <= '9');
}
template <typename string_t>
inline uint64_t parser5<string_t>::unicode::toUnicode(u8char ch)
{
std::stack<uint8_t> coded;
if (ch == 0) {
return ch;
}
std::stack<uint8_t> coded;
while (ch > 0) {
coded.push(ch & 0xff);
ch = ch >> 8;
ch >>= 8;
}
u8char charcode = 0;
uint8_t t = coded.top();
coded.pop();
if (t < 128) {
return t;
}
uint8_t high_bit_mask = (1 << 6) - 1;
uint8_t high_bit_mask = 0b00111111;
uint8_t high_bit_shift = 0;
int total_bits = 0;
const int other_bits = 6;
while ((t & 0xC0) == 0xC0) {
t <<= 1;
t &= 0xff;
total_bits += 6;
total_bits += other_bits;
high_bit_mask >>= 1;
high_bit_shift++;
charcode <<= other_bits;
charcode |= coded.top() & ((1 << other_bits) - 1);
coded.pop();
if (!coded.empty()) {
charcode <<= other_bits;
charcode |= coded.top() & ((1 << other_bits) - 1);
coded.pop();
}
}
charcode |= static_cast<uint64_t>((t >> high_bit_shift) & high_bit_mask) << total_bits;
return charcode;
}
@@ -346,7 +368,8 @@ inline bool parser5<string_t>::unicode::findInRange(const array_t& range, u8char
return false;
}
// set 中保存的是类似于 { start1, end1, start2, end2, ... } 的形式, 区间可表示为[start, end)
// 判断lb是否位于start的位置, 如果是, 则表示codePoint在某个区间的内部, 如果不是, 则表示codePoint在两个区间中间
// 判断lb是否位于start的位置, 如果是, 则表示codePoint在某个区间的内部, 如果不是,
// 则表示codePoint在两个区间中间
return std::distance(begin, lb) % 2 == 0;
}
@@ -519,11 +542,13 @@ inline typename parser5<string_t>::u8char parser5<string_t>::unicodeEscape()
/* utf-8 reader */
template <typename string_t>
inline typename parser5<string_t>::u8char parser5<string_t>::peek(const string_iter_t& begin, const string_iter_t& end,
size_t* plen)
inline typename parser5<string_t>::u8char
parser5<string_t>::peek(const string_iter_t& begin, const string_iter_t& end, size_t* plen)
{
if (begin == end) {
if (plen) *plen = 0;
if (plen) {
*plen = 0;
}
return 0;
}
uint8_t head = *begin;
@@ -549,10 +574,12 @@ inline typename parser5<string_t>::u8char parser5<string_t>::peek(const std::str
{
return peek(str.cbegin(), str.cend());
}
inline constexpr size_t operator"" _sz(unsigned long long size)
{
return size;
}
template <typename string_t>
inline typename parser5<string_t>::u8char parser5<string_t>::read()
{
@@ -581,11 +608,15 @@ inline typename parser5<string_t>::u8char parser5<string_t>::read()
template <typename string_t>
inline std::string parser5<string_t>::StringFromCharCode(typename parser5<string_t>::u8char code)
{
if (code == 0) return "";
if (code == 0) {
return "";
}
std::string str;
for (auto i = 0; i < 8; ++i) {
auto ch = (0xff & code);
if (ch) str.insert(0, 1, static_cast<char>(ch));
if (ch) {
str.insert(0, 1, static_cast<char>(ch));
}
code >>= 8;
}
return str;
@@ -700,7 +731,8 @@ inline std::optional<typename parser5<string_t>::Token> parser5<string_t>::lex_m
}
template <typename string_t>
inline std::optional<typename parser5<string_t>::Token> parser5<string_t>::lex_multiLineCommentAsterisk()
inline std::optional<typename parser5<string_t>::Token>
parser5<string_t>::lex_multiLineCommentAsterisk()
{
switch (_current_char) {
case '*':
@@ -808,7 +840,8 @@ inline std::optional<typename parser5<string_t>::Token> parser5<string_t>::lex_v
}
template <typename string_t>
inline std::optional<typename parser5<string_t>::Token> parser5<string_t>::lex_identifierNameStartEscape()
inline std::optional<typename parser5<string_t>::Token>
parser5<string_t>::lex_identifierNameStartEscape()
{
if (_current_char != 'u') {
throw InvalidChar(_current_char, exceptionDetailInfo());
@@ -855,7 +888,8 @@ inline std::optional<typename parser5<string_t>::Token> parser5<string_t>::lex_i
}
template <typename string_t>
inline std::optional<typename parser5<string_t>::Token> parser5<string_t>::lex_identifierNameEscape()
inline std::optional<typename parser5<string_t>::Token>
parser5<string_t>::lex_identifierNameEscape()
{
if (_current_char != 'u') {
throw InvalidChar(_current_char, exceptionDetailInfo());
@@ -1047,7 +1081,8 @@ inline std::optional<typename parser5<string_t>::Token> parser5<string_t>::lex_d
}
template <typename string_t>
inline std::optional<typename parser5<string_t>::Token> parser5<string_t>::lex_decimalExponentInteger()
inline std::optional<typename parser5<string_t>::Token>
parser5<string_t>::lex_decimalExponentInteger()
{
if (unicode::isDigit(_current_char)) {
_buffer += StringFromCharCode(read());
@@ -1386,7 +1421,8 @@ inline void parser5<string_t>::parse_afterArrayValue()
template <typename string_t>
inline void parser5<string_t>::parse_end()
{}
{
}
template <typename string_t>
inline void parser5<string_t>::parseStates(ParseState state)
@@ -1417,6 +1453,7 @@ inline void parser5<string_t>::parseStates(ParseState state)
break;
}
}
/* stack operation */
template <typename string_t>
inline void parser5<string_t>::push()

View File

@@ -1,3 +1,5 @@
// IWYU pragma: private, include <meojson/json5.hpp>
// This is a generated file. Do not edit.
#pragma once
#include <array>

View File

@@ -1,3 +1,5 @@
// IWYU pragma: private, include <meojson/json.hpp>
#pragma once
#include <string>
@@ -8,9 +10,12 @@
namespace json::_jsonization_helper
{
struct next_is_optional_t
{};
{
};
struct va_arg_end
{};
{
};
struct dumper
{
@@ -21,19 +26,25 @@ struct dumper
result.emplace(key, var);
return result;
}
template <typename... rest_t>
json::value _to_json(const char*, next_is_optional_t, rest_t&&... rest) const
{
return _to_json(std::forward<rest_t>(rest)...);
}
json::value _to_json(va_arg_end) const { return {}; }
};
struct checker
{
template <typename var_t, typename... rest_t>
bool _check_json(const json::value& in, std::string& error_key, const char* key, const var_t&,
rest_t&&... rest) const
bool _check_json(
const json::value& in,
std::string& error_key,
const char* key,
const var_t&,
rest_t&&... rest) const
{
auto opt = in.find(key);
if (!opt || !opt->is<var_t>()) {
@@ -42,9 +53,16 @@ struct checker
}
return _check_json(in, error_key, std::forward<rest_t>(rest)...);
}
template <typename var_t, typename... rest_t>
bool _check_json(const json::value& in, std::string& error_key, const char*, next_is_optional_t, const char* key,
const var_t&, rest_t&&... rest) const
bool _check_json(
const json::value& in,
std::string& error_key,
const char*,
next_is_optional_t,
const char* key,
const var_t&,
rest_t&&... rest) const
{
auto opt = in.find(key);
if (opt) {
@@ -56,13 +74,19 @@ struct checker
return _check_json(in, error_key, std::forward<rest_t>(rest)...);
}
bool _check_json(const json::value&, std::string&, va_arg_end) const { return true; }
};
struct loader
{
template <typename var_t, typename... rest_t>
bool _from_json(const json::value& in, std::string& error_key, const char* key, var_t& var, rest_t&&... rest) const
bool _from_json(
const json::value& in,
std::string& error_key,
const char* key,
var_t& var,
rest_t&&... rest) const
{
auto opt = in.find(key);
if (!opt || !opt->is<var_t>()) {
@@ -73,9 +97,16 @@ struct loader
return _from_json(in, error_key, std::forward<rest_t>(rest)...);
}
template <typename var_t, typename... rest_t>
bool _from_json(const json::value& in, std::string& error_key, const char*, next_is_optional_t, const char* key,
var_t& var, rest_t&&... rest) const
bool _from_json(
const json::value& in,
std::string& error_key,
const char*,
next_is_optional_t,
const char* key,
var_t& var,
rest_t&&... rest) const
{
auto opt = in.find(key);
if (opt) {
@@ -88,6 +119,7 @@ struct loader
return _from_json(in, error_key, std::forward<rest_t>(rest)...);
}
bool _from_json(const json::value&, std::string&, va_arg_end) const { return true; }
};
} // namespace json::_jsonization_helper
@@ -111,122 +143,322 @@ namespace json::_private_macro
#define _MEOJSON_FOR_EACH_0(pred, ...)
#define _MEOJSON_FOR_EACH_1(pred, x, ...) pred(x)
#define _MEOJSON_FOR_EACH_2(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_1(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_3(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_2(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_4(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_3(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_5(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_4(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_6(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_5(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_7(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_6(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_8(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_7(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_9(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_8(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_10(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_9(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_11(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_10(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_12(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_11(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_13(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_12(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_14(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_13(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_15(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_14(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_16(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_15(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_17(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_16(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_18(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_17(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_19(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_18(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_20(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_19(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_21(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_20(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_22(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_21(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_23(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_22(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_24(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_23(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_25(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_24(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_26(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_25(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_27(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_26(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_28(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_27(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_29(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_28(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_30(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_29(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_31(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_30(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_32(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_31(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_33(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_32(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_34(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_33(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_35(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_34(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_36(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_35(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_37(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_36(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_38(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_37(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_39(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_38(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_40(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_39(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_41(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_40(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_42(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_41(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_43(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_42(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_44(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_43(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_45(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_44(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_46(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_45(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_47(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_46(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_48(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_47(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_49(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_48(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_50(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_49(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_51(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_50(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_52(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_51(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_53(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_52(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_54(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_53(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_55(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_54(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_56(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_55(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_57(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_56(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_58(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_57(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_59(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_58(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_60(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_59(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_61(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_60(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_62(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_61(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_63(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_62(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_64(pred, x, ...) pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_63(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_2(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_1(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_3(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_2(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_4(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_3(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_5(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_4(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_6(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_5(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_7(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_6(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_8(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_7(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_9(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_8(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_10(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_9(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_11(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_10(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_12(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_11(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_13(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_12(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_14(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_13(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_15(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_14(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_16(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_15(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_17(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_16(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_18(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_17(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_19(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_18(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_20(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_19(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_21(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_20(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_22(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_21(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_23(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_22(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_24(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_23(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_25(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_24(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_26(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_25(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_27(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_26(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_28(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_27(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_29(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_28(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_30(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_29(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_31(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_30(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_32(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_31(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_33(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_32(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_34(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_33(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_35(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_34(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_36(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_35(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_37(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_36(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_38(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_37(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_39(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_38(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_40(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_39(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_41(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_40(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_42(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_41(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_43(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_42(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_44(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_43(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_45(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_44(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_46(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_45(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_47(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_46(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_48(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_47(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_49(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_48(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_50(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_49(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_51(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_50(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_52(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_51(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_53(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_52(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_54(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_53(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_55(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_54(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_56(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_55(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_57(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_56(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_58(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_57(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_59(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_58(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_60(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_59(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_61(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_60(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_62(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_61(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_63(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_62(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_64(pred, x, ...) \
pred(x) _MEOJSON_EXPAND(_MEOJSON_FOR_EACH_63(pred, __VA_ARGS__))
#define _MEOJSON_ARG_COUNT(...) \
_MEOJSON_EXPAND(_MEOJSON_ARG_COUNT1(0, ##__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, \
49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, \
30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, \
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0))
#define _MEOJSON_ARG_COUNT1(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, \
_20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, \
_38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, \
_56, _57, _58, _59, _60, _61, _62, _63, _64, N, ...) \
#define _MEOJSON_ARG_COUNT(...) \
_MEOJSON_EXPAND(_MEOJSON_ARG_COUNT1( \
0, \
##__VA_ARGS__, \
64, \
63, \
62, \
61, \
60, \
59, \
58, \
57, \
56, \
55, \
54, \
53, \
52, \
51, \
50, \
49, \
48, \
47, \
46, \
45, \
44, \
43, \
42, \
41, \
40, \
39, \
38, \
37, \
36, \
35, \
34, \
33, \
32, \
31, \
30, \
29, \
28, \
27, \
26, \
25, \
24, \
23, \
22, \
21, \
20, \
19, \
18, \
17, \
16, \
15, \
14, \
13, \
12, \
11, \
10, \
9, \
8, \
7, \
6, \
5, \
4, \
3, \
2, \
1, \
0))
#define _MEOJSON_ARG_COUNT1( \
_0, \
_1, \
_2, \
_3, \
_4, \
_5, \
_6, \
_7, \
_8, \
_9, \
_10, \
_11, \
_12, \
_13, \
_14, \
_15, \
_16, \
_17, \
_18, \
_19, \
_20, \
_21, \
_22, \
_23, \
_24, \
_25, \
_26, \
_27, \
_28, \
_29, \
_30, \
_31, \
_32, \
_33, \
_34, \
_35, \
_36, \
_37, \
_38, \
_39, \
_40, \
_41, \
_42, \
_43, \
_44, \
_45, \
_46, \
_47, \
_48, \
_49, \
_50, \
_51, \
_52, \
_53, \
_54, \
_55, \
_56, \
_57, \
_58, \
_59, \
_60, \
_61, \
_62, \
_63, \
_64, \
N, \
...) \
N
#define _MEOJSON_FOR_EACH_(N, pred, ...) _MEOJSON_EXPAND(_MEOJSON_CONCATENATE(_MEOJSON_FOR_EACH_, N)(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH_(N, pred, ...) \
_MEOJSON_EXPAND(_MEOJSON_CONCATENATE(_MEOJSON_FOR_EACH_, N)(pred, __VA_ARGS__))
#define _MEOJSON_FOR_EACH(pred, ...) \
_MEOJSON_EXPAND(_MEOJSON_FOR_EACH_(_MEOJSON_EXPAND(_MEOJSON_ARG_COUNT(__VA_ARGS__)), pred, __VA_ARGS__))
_MEOJSON_EXPAND( \
_MEOJSON_FOR_EACH_(_MEOJSON_EXPAND(_MEOJSON_ARG_COUNT(__VA_ARGS__)), pred, __VA_ARGS__))
#define _MEOJSON_VARNAME(x) _MEOJSON_CONCATENATE(_meojson_jsonization_, x)
#define _MEOJSON_KEY_VALUE(x) _MEOJSON_STRINGIZE(x), x,
} // namespace json::_private_macro
#define MEO_TOJSON(...) \
json::value to_json() const \
{ \
return json::_jsonization_helper::dumper()._to_json(_MEOJSON_EXPAND( \
_MEOJSON_FOR_EACH(_MEOJSON_KEY_VALUE, __VA_ARGS__)) json::_jsonization_helper::va_arg_end {}); \
#define MEO_TOJSON(...) \
json::value to_json() const \
{ \
return json::_jsonization_helper::dumper()._to_json( \
_MEOJSON_EXPAND(_MEOJSON_FOR_EACH(_MEOJSON_KEY_VALUE, __VA_ARGS__)) \
json::_jsonization_helper::va_arg_end {}); \
}
#define MEO_CHECKJSON(...) \
bool check_json(const json::value& _MEOJSON_VARNAME(in)) const \
{ \
std::string _MEOJSON_VARNAME(error_key); \
return check_json(_MEOJSON_VARNAME(in), _MEOJSON_VARNAME(error_key)); \
} \
bool check_json(const json::value& _MEOJSON_VARNAME(in), std::string& _MEOJSON_VARNAME(error_key)) const \
{ \
return json::_jsonization_helper::checker()._check_json( \
_MEOJSON_VARNAME(in), _MEOJSON_VARNAME(error_key), \
_MEOJSON_EXPAND(_MEOJSON_FOR_EACH(_MEOJSON_KEY_VALUE, __VA_ARGS__)) \
json::_jsonization_helper::va_arg_end {}); \
#define MEO_CHECKJSON(...) \
bool check_json(const json::value& _MEOJSON_VARNAME(in)) const \
{ \
std::string _MEOJSON_VARNAME(error_key); \
return check_json(_MEOJSON_VARNAME(in), _MEOJSON_VARNAME(error_key)); \
} \
bool check_json( \
const json::value& _MEOJSON_VARNAME(in), \
std::string& _MEOJSON_VARNAME(error_key)) const \
{ \
return json::_jsonization_helper::checker()._check_json( \
_MEOJSON_VARNAME(in), \
_MEOJSON_VARNAME(error_key), \
_MEOJSON_EXPAND(_MEOJSON_FOR_EACH(_MEOJSON_KEY_VALUE, __VA_ARGS__)) \
json::_jsonization_helper::va_arg_end {}); \
}
#define MEO_FROMJSON(...) \
bool from_json(const json::value& _MEOJSON_VARNAME(in)) \
{ \
std::string _MEOJSON_VARNAME(error_key); \
return from_json(_MEOJSON_VARNAME(in), _MEOJSON_VARNAME(error_key)); \
} \
bool from_json(const json::value& _MEOJSON_VARNAME(in), std::string& _MEOJSON_VARNAME(error_key)) \
{ \
return json::_jsonization_helper::loader()._from_json( \
_MEOJSON_VARNAME(in), _MEOJSON_VARNAME(error_key), \
_MEOJSON_EXPAND(_MEOJSON_FOR_EACH(_MEOJSON_KEY_VALUE, __VA_ARGS__)) \
json::_jsonization_helper::va_arg_end {}); \
#define MEO_FROMJSON(...) \
bool from_json(const json::value& _MEOJSON_VARNAME(in)) \
{ \
std::string _MEOJSON_VARNAME(error_key); \
return from_json(_MEOJSON_VARNAME(in), _MEOJSON_VARNAME(error_key)); \
} \
bool from_json( \
const json::value& _MEOJSON_VARNAME(in), \
std::string& _MEOJSON_VARNAME(error_key)) \
{ \
return json::_jsonization_helper::loader()._from_json( \
_MEOJSON_VARNAME(in), \
_MEOJSON_VARNAME(error_key), \
_MEOJSON_EXPAND(_MEOJSON_FOR_EACH(_MEOJSON_KEY_VALUE, __VA_ARGS__)) \
json::_jsonization_helper::va_arg_end {}); \
}
#define MEO_JSONIZATION(...) \

View File

@@ -1,126 +1,48 @@
## v5.8.0
### 演进之美,越进越美 | Highlight
本次版本更新可谓是大快所有人心的大好事,我们为你带来了以下新内容:
#### 重大变化 | BREAKING CHANGES
**如果你使用的是 MuMu 12 模拟器**,请检查你的【设置 - 连接设置】中的“连接地址”,如果使用的是 `7555` 端口,请参考 [文档](https://maa.plus/docs/zh-cn/manual/connection.html#%E6%A8%A1%E6%8B%9F%E5%99%A8%E7%9B%B8%E5%85%B3%E6%96%87%E6%A1%A3%E5%8F%8A%E5%8F%82%E8%80%83%E5%9C%B0%E5%9D%80) 修改成正确的端口。
如不这么做,可能会导致你从这个版本开始无法使用 MuMu 截图增强模式。
#### MuMu 截图增强模式优化
现在我们正式支持 MuMu 12 模拟器开启后台保活了,同时得益于此项和上面提到的优化,你也无需手动填写实例编号和屏幕编号了。
#### 自动检测连接设置
在这个版本,我们支持自动检测和填写连接设置:
1. MuMu 12 和雷电 9 模拟器支持自动检测模拟器安装路径;
2. 蓝叠 5、MuMu 12、雷电 9、夜神、逍遥模拟器支持自动检测 ADB 路径、连接地址和连接配置(仅在只有单个模拟器运行时可用,多个模拟器同时运行时不可用)。
若检测失败,请尝试使用 UAC 管理员权限启动 MAA 并再次检测。若仍失败,则请参考[文档](https://maa.plus/docs/zh-cn/manual/connection.html)手动设置。
#### 资源版本可一键自行更新
还记得在不远的过去,我们禁用了自动更新资源版本。现在,我们为你实现了一键更新功能,在【设置 - 软件更新】处新增了“资源更新”按钮,只需一键即可更新资源版本,让你能在不更新 MAA 版本就能使用新活动的自动战斗功能。
至于为什么不恢复成自动更新呢,这绝对和该功能是通过下载 [MaaResource](https://github.com/MaaAssistantArknights/MaaResource) 仓库源代码压缩包再解压替换的本质无关。(对…对吗?)
如果你无法访问上面的仓库,那么这项功能可能与你无缘。如果你需要特殊的手法,建议查看【设置 - 软件更新】处的输入框。
顺带一提,本次版本,自带资源版本更新至 SideStory「追迹日落以西」。
#### 自动肉鸽优化
我们调整了相关逻辑,使得自动肉鸽功能更加好用,例如:适配了维娜 · 维多利亚、乌尔比安,调整了维什戴尔、维娜 · 维多利亚的优先级,优化了相关干员分组,等等。
----
以下是详细内容:
## v5.16.5
### 新增 | New
* 新增server酱3的推送逻辑 (#10805) @ClozyA
* GO 导航 @ABA2396
* 自动战斗-战斗列表增加单任务作业查看 (#10764) @status102
* 软件更新中添加手动更新资源版本 (#10877) @ABA2396
* WpfGui限制单路径多实例 | restricted multi-instance under same MAA (#10869) @qwedc001
* YostarEN BB navigation @Constrat
* YostarKR BB navigation @HX3N
* Mac新增基建配置 @hguandl
* 特征匹配 (#10966) @status102
* 绿票、黄票、活动商店 (#12586) @Daydreamer114 @status102 @ABA2396
### 改进 | Improved
* 支持mumu后台保活通过包名获取display_id @ABA2396
* IS Phantom Update 雕匠与石像.json (#10829) @Daydreamer114
* 更新肉鸽 ew 优先级 (#10830) @Daydreamer114
* 将萨米、萨卡兹肉鸽阵容完备度的 益达、玛恩纳、水陈 组调为2 (#10831) @Daydreamer114
* RA加快开局教程对话 (#10824) @Daydreamer114
* 降低萨米、萨卡兹肉鸽 维娜·维多利亚 招募优先级 (#10792) @Daydreamer114
* 傀影肉鸽招募适配乌尔比安 (#10798) @Daydreamer114
* 萨米、萨卡兹肉鸽招募适配维娜 · 维多利亚 (#10765) @Wangqiusu020820
* 自动战斗自定义添加干员编队时按职业选择 @status102
* 雷电截图增强支持自动检测模拟器安装路径 @ABA2396
* 调整连战输出 @ABA2396
* 肉鸽不期而遇退出检测加个重试 @status102
### 修复 | Fix
* b服支持多分辨率多 dpi 登录 (#10817) @ABA2396
* 关卡导航失败 @ABA2396
* 无法导航至关卡9-19刷理智 @ABA2396
* 部分情况下信用购物因过度动画购买错误 (#10893) @Alan-Charred
* 部分情况下信用购物因过度动画购买错误 @ABA2396
* semicolon missing (#10892) @Alan-Charred
* 部署/开技能后添加等待过度动画延迟,避免屏幕倾斜遇到的识别错误 @ABA2396
* 获取信用及购物中不勾选访问好友也会执行 @ABA2396
* 更换确认助战 roi 时填写值错误 (#10762) @Daydreamer114
* 为随机借助战功能添加点击确认按钮的步骤 (#10757) @Alan-Charred
* increase ROI size for Tales@RA@Craft fix #10742 @Constrat
* 修复肉鸽阵容完备度中单个干员重复出现于多个干员组的问题 (#10806) @Daydreamer114
* 公开招募检测 Tag 失败时尝试识别 <继续招募> 按钮 (#10846) @Alan-Charred @ABA2396 @Constrat @HX3N
* 降低 肉鸽投资确认 模板匹配阈值 (#10864) @Daydreamer114
* 自动编队无法选中特种标签页 @ABA2396
* 官服切换账号识别问题 @ABA2396
* b 服切换账号无法选择下拉列表中的中文名 @ABA2396
* 维娜·维多利亚 OcrReplace (#10763, #10818) @Daydreamer114 @ABA2396
* 修复维多利亚正则错误 (#10850) @Saratoga-Official
* GO 识别错误 (#10844) @AnnAngela
* 日服偶现无法开始行动 @ABA2396
* update BB navigation for EX YostarEN @Constrat
* YostarKR replaced StageFerociousPresageEnter.png to improve recognition score @HX3N
* YostarJP ocr fix (#10780) @Manicsteiner
* Update JP バベル (#10758) @wallsman
* update YostarEN MallSiege template fix #10777 @Constrat
* fix ROI box for babel EN OCR @swablueme
* remove custom EnterInfrastSiege for YostarEN @Constrat
* YostarKR tweak Sami StageEnterBattleAgain specificRect (#10767) @HX3N
* YostarKR add ocrReplace on RecruitSupportConfirm (#10883) @HX3N
* 修复MaaCore asst.log文件句柄泄露 (#12639) @status102
* 修复了屎遇上手动覆盖文件的大聪明爆炸的问题 @ABA2396
* 凹开局干员直升精二选项显示时机错误 @ABA2396
* 连战次数乘号匹配失败 @status102
* store underfunded ocr full match @Daydreamer114
### 文档 | Docs
* typo in[docs] 更新MuMu截图增强模式中端口的文本描述 (#10866) @lcebot
* 更新 bug-issue 模板 (#10811) @Daydreamer114
* 错误分类 changelog (#10887) @ABA2396
* MuMu 截图增强适配后台保活&雷电截图增强文档 (#10783) @Rbqwow @HX3N @ABA2396
* 明确文档中的 MacOS 称呼 (#10734) @Daydreamer114 @Rbqwow @Constrat
* 修改文档匹配算法描述错误 @ABA2396
* 更新文档(自动检测 雷电端口 截图增强) (#10753) @Rbqwow
* 更新肉鸽文档 (#10807) @Daydreamer114
* 更新MuMu截图增强模式中端口的文本描述 (#10851) @ClozyA
* Mumu regex @status102
* Issue 模板添加雷电截图增强相关 (#10754) @Rbqwow
* fix issue-checker macGui regex (#10755) @Alan-Charred
* Translated using Weblate (English (United States)) @weblate
* 任务流color_scales注释优化 @status102
### 其他 | Other
* mumu display id error if startup ark manually (#10787) @MistEO
* mumu display id error when ark not startup (#10786) @MistEO
* 移除无效的try-catch @status102
* 修复错误的`定时 7`分钟最大值 (#10804) @Rbqwow
* 优化设置指引 @ABA2396
* bump maa-cli to 0.5.1 (#10899) @wangl-cc
* 添加日志 @ABA2396
* 调整雷电自动检测支持端口 @ABA2396
* Revert "ci: use runs/job instead of just runs for ResourceUpdater" @Constrat
* yellow ticket items @Daydreamer114
* ocrTask text @status102
* Store@UnderfundedOCR @Daydreamer114
* 再铲一屎 @status102
* cache 移动逻辑 @ABA2396
* ubuntu unused @status102
* 铲屎 @status102
* 指定类型 @status102
* store loading @Daydreamer114
* Revert "feat: 在肉鸽招募中增加m3作为群奶 (#12353)" @Saratoga-Official
* 简化代码 @ABA2396
* 提示补全 @status102
* NumberReplace @status102
* 再次调整官网细节 @MistEO
* 调整官网标题 @MistEO
* Revert "fix: github change string to int (#12574)" @Daydreamer114
* 绿票、黄票、活动商店-国际服适配 (#12674) @Daydreamer114
* mark @status102
* 调整 UI 与 Core 版本不一致的解决方案提示 @ABA2396
* 点击任意职业回正列表 @ABA2396
* 基建先进行技能识别并返回列表首位,再清空选择 @ABA2396

View File

@@ -44,10 +44,7 @@ if (MSVC)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
else ()
target_compile_options(MaaCore PRIVATE "-Wall;-Werror;-Wextra;-Wpedantic;-Wno-missing-field-initializers")
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13)
target_compile_options(MaaCore PRIVATE "-Wno-restrict")
endif()
target_compile_options(MaaCore PRIVATE "-Wall;-Wextra;-Wpedantic")
# LLVM clang 16 will failed with `error: no member named 'join' in namespace 'std::ranges::views'`, but Apple clang 16 won't
# value defined in https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html
if ((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
@@ -84,7 +81,8 @@ if (BUILD_TEST)
target_link_libraries(test MaaCore)
endif (BUILD_TEST)
find_package(OpenCV REQUIRED COMPONENTS core imgproc imgcodecs videoio)
find_package(OpenCV REQUIRED COMPONENTS core imgproc imgcodecs videoio features2d)
find_package(OpenCV QUIET COMPONENTS xfeatures2d)
find_package(ZLIB REQUIRED)
find_package(cpr CONFIG REQUIRED)

View File

@@ -0,0 +1,77 @@
@echo off
chcp 65001
setlocal enabledelayedexpansion
:: 定义ANSI颜色代码
for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a"
set "RESET=%ESC%[0m"
set "GREEN=%ESC%[32m"
set "RED=%ESC%[31m"
set "YELLOW=%ESC%[33m"
set "BLUE=%ESC%[34m"
set "CYAN=%ESC%[36m"
set "WHITE=%ESC%[37m"
set "BOLD=%ESC%[1m"
:: 初始化错误标志
set "ErrorOccurred=0"
openfiles >nul 2>&1
if %errorlevel% neq 0 (
echo %YELLOW%正在获取管理员权限...%RESET%
echo %YELLOW%Obtaining administrator privileges...%RESET%
powershell -Command "Start-Process cmd.exe -ArgumentList '/c %~dpnx0' -Verb RunAs"
exit /b
)
echo.
echo %BLUE%========================================%RESET%
echo %BOLD%%CYAN%正在安装 Microsoft Visual C++ Redistributable%RESET%
echo %BOLD%%CYAN%Installing Microsoft Visual C++ Redistributable%RESET%
echo %BLUE%========================================%RESET%
echo.
winget install "Microsoft.VCRedist.2015+.x64" --override "/repair /passive /norestart" --uninstall-previous --accept-package-agreements --force
if %errorlevel% neq 0 (
echo.
echo %BOLD%%RED%错误: Microsoft.VCRedist.2015+.x64 安装失败%RESET%
echo %BOLD%%RED%Error: Microsoft.VCRedist.2015+.x64 installation failed%RESET%
set "ErrorOccurred=1"
)
echo.
echo %BLUE%========================================%RESET%
echo %BOLD%%CYAN%正在安装 .NET Desktop Runtime 8.0%RESET%
echo %BOLD%%CYAN%Installing .NET Desktop Runtime 8.0%RESET%
echo %BLUE%========================================%RESET%
echo.
winget install "Microsoft.DotNet.DesktopRuntime.8" --override "/repair /passive /norestart" --uninstall-previous --accept-package-agreements --force
if %errorlevel% neq 0 (
echo.
echo %BOLD%%RED%错误: Microsoft.DotNet.DesktopRuntime.8 安装失败%RESET%
echo %BOLD%%RED%Error: Microsoft.DotNet.DesktopRuntime.8 installation failed%RESET%
set "ErrorOccurred=1"
)
echo.
if %ErrorOccurred% equ 0 (
echo %BOLD%%GREEN%运行库修复完成,请重启电脑后再次尝试运行 MAA。%RESET%
echo %BOLD%%GREEN%The runtime library repair is complete. Please restart your computer and try running MAA again.%RESET%
) else (
echo %RED%========================================%RESET%
echo %BOLD%%RED%运行库修复过程中出现错误%RESET%
echo %BOLD%%RED%Errors occurred during runtime library repair%RESET%
echo.
echo %YELLOW%您可以尝试手动下载并安装以下组件:%RESET%
echo %YELLOW%You can try to manually download and install the following components:%RESET%
echo.
echo %WHITE%Microsoft Visual C++ Redistributable:%RESET%
echo %CYAN%https://aka.ms/vs/17/release/vc_redist.x64.exe%RESET%
echo.
echo %WHITE%.NET Desktop Runtime 8.0:%RESET%
echo %CYAN%https://aka.ms/dotnet/8.0/windowsdesktop-runtime-win-x64.exe%RESET%
echo %RED%========================================%RESET%
)
pause

View File

@@ -1,4 +1,4 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=EN/@EntryIndexedValue">EN</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=KR/@EntryIndexedValue">KR</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=JP/@EntryIndexedValue">JP</s:String>
@@ -30,7 +30,15 @@
<s:String x:Key="/Default/CodeStyle/Naming/XamlNaming/Abbreviations/=SSS/@EntryIndexedValue">SSS</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/XamlNaming/Abbreviations/=WSA/@EntryIndexedValue">WSA</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/XamlNaming/Abbreviations/=XYAZ/@EntryIndexedValue">XYAZ</s:String>
<s:Boolean x:Key="/Default/GrammarAndSpelling/GrammarChecking/Exceptions/=Github/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/GrammarAndSpelling/GrammarChecking/Exceptions/=_4E00_9375_8F2A/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/GrammarAndSpelling/GrammarChecking/Exceptions/=_591C_95F4_6A21_5F0F/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=acast/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=acfend/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=acguad/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=acpion/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=acspec/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=acsupo/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=advapi/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Aero/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Affero/@EntryIndexedValue">True</s:Boolean>
@@ -46,11 +54,23 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=Bilibili/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Bluestacks/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=bsconsole/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=ccast/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=cdfend/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=cguard/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Chayn/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Chyan/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=cmedic/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Collapsal/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=cpione/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=csnipe/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=cspec/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=csuppo/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=ctrler/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=desp/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=dnplayer/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Ehem/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=esource/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Eyjafjalla/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Favourite/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=filetime/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=findstr/@EntryIndexedValue">True</s:Boolean>
@@ -68,6 +88,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=Infrast/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Inited/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=iter/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=jsend/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=ldconsole/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=ldplayer/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=LD_0027s/@EntryIndexedValue">True</s:Boolean>
@@ -77,8 +98,11 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=ls_005B_0022sub/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=luestacks/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=maatouch/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=MAA_0027s/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=memuc/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Minitouch/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=mirrorc/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Mirrorchyan/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Mizuki/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Mumu/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Nemu/@EntryIndexedValue">True</s:Boolean>
@@ -87,6 +111,7 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=netstat/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Nonfriend/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=notstationed/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=objstr/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=oper/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=opers/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Originite/@EntryIndexedValue">True</s:Boolean>
@@ -102,32 +127,44 @@
<s:Boolean x:Key="/Default/UserDictionary/Words/=ppidl/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Prts/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=pwfi/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=qmsg/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Raidian/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=rcast/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=rdfend/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=removelist/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=rguard/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=rmean/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=rmedic/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Roguelike/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=rsnipe/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Sami/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Sarkaz/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Screencap/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=sctp/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=serilog/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Showminimized/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Shownormal/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Skland/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=specialaccess/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=spid/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=SSS/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=STGM/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Stormeye/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=strlen/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Stylet/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=subtask/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Suppressions/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Surtr/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=SWMINIMIZE/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=taskchain/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Todays/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=txwy/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=ucrtbase/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=vmonitor/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Webhook/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=XYAZ/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Yahei/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=yituliu/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Yostar/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=_0020_0020_0020wp_002ELength_0020/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=_0020_003D_0020stri/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

View File

@@ -2,7 +2,7 @@
<div align="center">
<img alt="LOGO" src="./docs/.vuepress/public/image/maa-logo_512x512.png" width="256" height="256" />
<img alt="LOGO" src="./docs/.vuepress/public/images/maa-logo_512x512.png" width="256" height="256" />
# MaaAssistantArknights
@@ -33,16 +33,20 @@ MAA 的意思是 MAA Assistant Arknights
基于图像识别技术,一键完成全部日常任务!
绝赞更新中 ✿✿ヽ(°▽°)ノ✿
绝赞更新中 ✿✿ヽ(°▽°)ノ✿
</div>
## 下载与安装
请阅读 [文档](https://maa.plus/docs/zh-cn/manual/newbie.html) 后前往 [官网](https://maa.plus) 或 [Releases](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases) 下载,并参考 [新手上路](https://maa.plus/docs/zh-cn/manual/newbie.html) 进行安装。
## 亮点功能
- 刷理智,掉落识别及上传 [企鹅物流](https://penguin-stats.cn/)[一图流](https://ark.yituliu.cn/)
- 智能基建换班,自动计算干员效率,单设施内最优解;同时也支持 [自定义排班](https://maa.plus/docs/zh-cn/protocol/base-scheduling-schema.html)
- 自动公招,可选使用加急许可,一次全部刷完!公招数据自动上传 [企鹅物流](https://penguin-stats.cn/result/stage/recruit/recruit)[一图流](https://ark.yituliu.cn/survey/maarecruitdata)
- 支持手动识别公招界面,方便对高星公招做出选择 ~~(你的这个高姿回费出的是推王呢还是推王呢)~~
- 支持手动识别公招界面,方便对高星公招做出选择 ~~(你的这个高回费出的是推王呢还是推王呢)~~
- 支持识别干员列表,统计已有和未有干员及潜能,并在公招识别显示
- 支持识别养成材料,并导出至 [企鹅物流刷图规划](https://penguin-stats.cn/planner)、[明日方舟工具箱](https://arkntools.app/#/material)、[ARK-NIGHTS 干员培养表](https://ark-nights.com/settings)
- 访问好友、收取信用及购物、领取日常奖励等,一键全日常自动长草
@@ -55,47 +59,31 @@ MAA 的意思是 MAA Assistant Arknights
<details><summary>话不多说,看图!</summary>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="./docs/.vuepress/public/image/zh-cn/readme/1-dark.png">
<img alt="zh1" src="./docs/.vuepress/public/image/zh-cn/readme/1-light.png">
<source media="(prefers-color-scheme: dark)" srcset="./docs/.vuepress/public/images/zh-cn/readme/1-dark.png">
<img alt="zh1" src="./docs/.vuepress/public/images/zh-cn/readme/1-light.png">
</picture>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="./docs/.vuepress/public/image/zh-cn/readme/2-dark.png">
<img alt="zh2" src="./docs/.vuepress/public/image/zh-cn/readme/2-light.png">
<source media="(prefers-color-scheme: dark)" srcset="./docs/.vuepress/public/images/zh-cn/readme/2-dark.png">
<img alt="zh2" src="./docs/.vuepress/public/images/zh-cn/readme/2-light.png">
</picture>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="./docs/.vuepress/public/image/zh-cn/readme/3-dark.png">
<img alt="zh3" src="./docs/.vuepress/public/image/zh-cn/readme/3-light.png">
<source media="(prefers-color-scheme: dark)" srcset="./docs/.vuepress/public/images/zh-cn/readme/3-dark.png">
<img alt="zh3" src="./docs/.vuepress/public/images/zh-cn/readme/3-light.png">
</picture>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="./docs/.vuepress/public/image/zh-cn/readme/4-dark.png">
<img alt="zh4" src="./docs/.vuepress/public/image/zh-cn/readme/4-light.png">
<source media="(prefers-color-scheme: dark)" srcset="./docs/.vuepress/public/images/zh-cn/readme/4-dark.png">
<img alt="zh4" src="./docs/.vuepress/public/images/zh-cn/readme/4-light.png">
</picture>
</details>
<!-- markdownlint-restore -->
## 下载地址
[官网](https://maa.plus) 或 [Releases](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases)
## 使用说明
### 基本说明
### 功能介绍
请参阅 [新手上路](https://maa.plus/docs/zh-cn/manual/newbie.html) 与 [功能介绍](https://maa.plus/docs/zh-cn/manual/introduction/)。
### 常见问题
- 软件一打开就闪退;
- 连接错误、不知道 ADB 路径怎么填写;
- 连接成功了,但没反应;
- 如何连接自定义端口;
- 下载速度慢,且镜像站无法打开网页;
- 下载到一半提示“登陆”/“鉴权”;
- 连接正常,任务开始了,但是没反应。
请参阅 [常见问题](https://maa.plus/docs/zh-cn/manual/faq.html)。
请参阅 [用户手册](https://maa.plus/docs/zh-cn/manual/)。
### 外服支持
@@ -113,10 +101,9 @@ MAA 支持命令行界面CLI操作支持 LinuxmacOS 和 Windows
**目前项目组非常缺前端大佬,若您有相关经验,欢迎加入我们!**
- 全新框架:[MaaFramework](https://github.com/MaaXYZ/MaaFramework)
- 全新 GUI[MaaX](https://github.com/MaaAssistantArknights/MaaX)
- [作业站](https://prts.plus) 前端:[maa-copilot-frontend](https://github.com/MaaAssistantArknights/maa-copilot-frontend)
- [作业站](https://prts.plus) 后端:[MaaBackendCenter](https://github.com/MaaAssistantArknights/MaaBackendCenter)
- [官网](https://maa.plus)[前端](https://github.com/MaaAssistantArknights/maa-website)
- [官网](https://maa.plus)[前端](website)
- 深度学习:[MaaAI](https://github.com/MaaAssistantArknights/MaaAI)
### 多语言 (i18n)
@@ -195,7 +182,7 @@ MAA 以中文(简体)为第一语言,翻译词条均以中文(简体)
- ~~干员及基建数据:[PRTS Wiki](http://prts.wiki/)~~
- 关卡数据:[企鹅物流数据统计](https://penguin-stats.cn/)
- 游戏数据及资源:[明日方舟客户端素材](https://github.com/yuanyan3060/ArknightsGameResource)
- 游戏数据:[《明日方舟》Yostar游戏数据](https://github.com/Kengxxiao/ArknightsGameData_YoStar)
- 游戏数据:[《明日方舟》Yostar游戏数据](https://github.com/ArknightsAssets/ArknightsGamedata)
### 贡献/参与者
@@ -205,18 +192,23 @@ MAA 以中文(简体)为第一语言,翻译词条均以中文(简体)
## 声明
- 本软件使用 [GNU Affero General Public License v3.0 only](https://spdx.org/licenses/AGPL-3.0-only.html) 开源。
- 本软件 logo 并非使用 AGPL 3.0 协议开源,[耗毛](https://weibo.com/u/3251357314)、vie 两位画师及软件全体开发者保留所有权利。不得以 AGPL 3.0 协议已授权为由在未经授权的情况下使用本软件 logo不得在未经授权的情况下将本软件 logo 用于任何用途。
- 本软件开源、免费,仅供学习交流使用。若您遇到商家使用本软件进行代练并收费,可能由于设备时间等原因,产生的任何问题及后果与本软件无关。
- 本软件使用 [GNU Affero General Public License v3.0 only](https://spdx.org/licenses/AGPL-3.0-only.html) 开源,并附带额外 [用户协议](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/dev/terms-of-service.md)
- 本软件 logo 并非使用 AGPL 3.0 协议开源,[耗毛](https://weibo.com/u/3251357314)、vie 两位画师及软件全体开发者保留所有权利。不得以 AGPL 3.0 协议已授权为由在未经授权的情况下使用本软件 logo不得在未经授权的情况下将本软件 logo 用于任何商业用途。
- 本软件开源、免费,仅供学习交流使用。若您遇到商家使用本软件进行代练并收费,可能设备时间等费用,产生的问题及后果与本软件无关。
### DirectML 支持说明
本软件支持 GPU 加速功能,其在 Windows 平台上依赖于 Microsoft 提供的独立组件 [DirectML](https://learn.microsoft.com/en-us/windows/ai/directml/)。DirectML 并非本项目的开源部分,也不受 AGPL 3.0 的约束。为方便用户,我们随安装包附带了一个未经修改的 DirectML.dll 文件。如果您无需 GPU 加速功能,可安全删除该 DLL 文件,软件的核心功能仍可正常运行。
## 广告
用户交流 QQ 群:[MAA 使用 & 粥游交流 QQ 群](https://ota.maa.plus/MaaAssistantArknights/api/qqgroup/index.html)
用户交流 QQ 群:[MAA 使用 & 粥游交流 QQ 群](https://api.maa.plus/MaaAssistantArknights/api/qqgroup/index.html)
Discord 服务器: [邀请链接](https://discord.gg/23DfZ9uA4V)
用户交流 TG 群:[Telegram 群](https://t.me/+Mgc2Zngr-hs3ZjU1)
自动战斗 JSON 作业分享:[prts.plus](https://prts.plus)
Bilibili 直播间:[直播间](https://live.bilibili.com/2808861) 每晚直播敲代码,近期很长一段时间应该都是在写本软件~
Bilibili 直播间:[MrEO 直播间](https://live.bilibili.com/2808861) 直播敲代码 & [MAA-Official 直播间](https://live.bilibili.com/27548877) 游戏/杂谈
技术群(舟无关、禁水):[内卷地狱!(QQ 群)](https://jq.qq.com/?_wv=1027&k=ypbzXcA2)
开发者群:[QQ 群](https://jq.qq.com/?_wv=1027&k=JM9oCk3C)
开发者群:[QQ 群](https://jq.qq.com/?_wv=1027&k=JM9oCk3C)
如果觉得软件对你有帮助,帮忙点个 Star 吧!~(网页最上方右上角的小星星),这就是对我们最大的支持了!

View File

@@ -7,12 +7,12 @@ if (BUILD_XCFRAMEWORK)
add_custom_command(OUTPUT OpenCV.xcframework
COMMAND rm -rf OpenCV.xcframework
COMMAND xcodebuild -create-xcframework -library "${PROJECT_SOURCE_DIR}/MaaDeps/runtime/${MAADEPS_TRIPLET}/libopencv_world4.407.dylib" -output OpenCV.xcframework
COMMAND xcodebuild -create-xcframework -library "${PROJECT_SOURCE_DIR}/MaaDeps/runtime/${MAADEPS_TRIPLET}/libopencv_world4.408.dylib" -output OpenCV.xcframework
)
add_custom_command(OUTPUT ONNXRuntime.xcframework
COMMAND rm -rf ONNXRuntime.xcframework
COMMAND xcodebuild -create-xcframework -library "${PROJECT_SOURCE_DIR}/MaaDeps/runtime/${MAADEPS_TRIPLET}/libonnxruntime.1.14.1.dylib" -output ONNXRuntime.xcframework
COMMAND xcodebuild -create-xcframework -library "${PROJECT_SOURCE_DIR}/MaaDeps/runtime/${MAADEPS_TRIPLET}/libonnxruntime.1.18.0.dylib" -output ONNXRuntime.xcframework
)
add_custom_command(OUTPUT fastdeploy_ppocr.xcframework

View File

@@ -0,0 +1,52 @@
import type { VNode } from "vue";
import { defineComponent, h } from "vue";
import NavbarDropdown from "@theme-hope/modules/navbar/components/NavbarDropdown";
import { I18nIcon } from "@theme-hope/modules/navbar/components/icons/index";
import { useNavbarLanguageDropdown } from "@theme-hope/modules/navbar/composables/index";
export default defineComponent({
name: "LanguageDropdown",
setup() {
const dropdown = useNavbarLanguageDropdown();
const filteredDropdown = () => {
if (!dropdown.value) return null;
const filteredConfig = { ...dropdown.value };
if (filteredConfig.children) {
filteredConfig.children = filteredConfig.children.filter(item => item.link !== '/');
}
return filteredConfig;
};
//console.log("OldLanguageDropdown", dropdown.value);
//console.log("NewLanguageDropdown", filteredDropdown());
return (): VNode | null =>
dropdown.value
? h(
"div",
{ class: "vp-nav-item" },
h(
NavbarDropdown,
{ config: filteredDropdown() },
{
title: () =>
h(I18nIcon, {
"aria-label": filteredDropdown()?.ariaLabel,
style: {
width: "1rem",
height: "1rem",
verticalAlign: "middle",
},
}),
},
),
)
: null;
},
});

View File

@@ -1,8 +1,11 @@
import { defineUserConfig } from "vuepress";
import { getDirname, path } from "vuepress/utils";
import { viteBundler } from "@vuepress/bundler-vite";
import { googleAnalyticsPlugin } from "@vuepress/plugin-google-analytics";
import Theme from "./theme";
const __dirname = getDirname(import.meta.url);
export default defineUserConfig({
base: "/docs/",
lang: "zh-CN",
@@ -11,24 +14,29 @@ export default defineUserConfig({
port: 3001,
locales: {
"/": {
lang: " ",
title: " ",
description: " ",
},
"/zh-cn/": {
lang: "zh-CN",
lang: "zh-cn",
description: "文档",
},
"/zh-tw/": {
lang: "zh-TW",
lang: "zh-tw",
description: "文件",
},
"/en-us/": {
lang: "en-US",
lang: "en-us",
description: "Documentation",
},
"/ja-jp/": {
lang: "ja-JP",
lang: "ja-jp",
description: "ドキュメンテーション",
},
"/ko-kr/": {
lang: "ko-KR",
lang: "ko-kr",
description: "선적 서류 비치",
},
},
@@ -41,6 +49,13 @@ export default defineUserConfig({
theme: Theme,
alias: {
"@theme-hope/modules/navbar/components/LanguageDropdown": path.resolve(
__dirname,
"./components/LanguageDropdown.ts",
),
},
plugins: [
googleAnalyticsPlugin({
id: "G-FJQDKG394Z",

View File

@@ -0,0 +1,101 @@
# This file MUST use GBK encoding, whatever the system language is.
# You may do more testing, but at least it works like this for me.
# Fuck Microsoft.
# 修改请使用 GBK 编码保存。
# 如果能用 UTF-8 保存而不乱码,那就去做,我实在是研究不明白微软的屎了。
# 你或许想加一条 [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 来解决问题。
# 但很神奇的,这根本不管用,甚至还会让中文汉字渲染重叠在一起。
# 我在 CMD 里面都能 chcp 65001 换成 UTF-8。
# 微软什么时候能把 PowerShell 7 集成到系统里。
# 我由衷的认为 Windows 中预装的 PowerShell 就是一坨屎,甚至不如 CMD。
# 用 PowerShell 写这东西真成为了一盘醋包的饺子了。
# 检查 PowerShell 脚本运行策略
# 我真理解不了这个运行策略的存在意义了,明明叫脚本运行策略,却可以用脚本修改。
# 我既可以在不提权的情况下允许所有脚本运行,也可以直接启动一个运行所有脚本运行的会话。
# 本脚本在测试时发现,在不修改策略且不提权的情况下也可以正常运行,只是在安装运行库时需要点安装程序的 UAC 弹窗。
# 而不修改策略且提权时反而因为脚本策略运行不了了,这是什么品种的管理员权限。
# $ExecutionPolicy = Get-ExecutionPolicy
# if ($ExecutionPolicy -eq 'Restricted' -or $ExecutionPolicy -eq 'AllSigned') {
# Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# Write-Host "已修改当前用户的 PowerShell 脚本运行策略为 RemoteSigned 以便运行此脚本。"
# Write-Host "这只需运行一次,且理应不会产生较大的安全风险。"
# Write-Host "如果您对此有疑虑,请在脚本运行结束后,在 PowerShell 中运行以下命令将策略值清空。"
# Write-Host "Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser"
# Pause
# }
# 获取 UAC 权限并启动一个 RemoteSigned 脚本策略会话
If (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)) {
Write-Host "正在获取管理员权限..."
Start-Process powershell.exe "-ExecutionPolicy RemoteSigned -File `"$PSCommandPath`" -ArgumentList `"$PSCommandPath`"" -Verb RunAs
Exit
}
# 读取系统代理并应用
$Internet_Settings = Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings'
if ($Internet_Settings.ProxyEnable -eq 1) {
$env:HTTP_PROXY = "http://$($Internet_Settings.ProxyServer)"
$env:HTTPS_PROXY = "http://$($Internet_Settings.ProxyServer)"
Write-Host "已应用系统代理:$($Internet_Settings.ProxyServer)"
}
# else {
# Write-Host "未启用系统代理。"
# }
Remove-Variable -Name Internet_Settings
# 新建下载用临时文件夹
New-Item -Path "$env:TEMP" -Name "MAA_Runtime_Fix_Pwsh" -ItemType "Directory" | Out-Null
# 使用 BITS 下载运行库安装包
Write-Host "正在下载运行库安装包..."
# Start-Sleep -Seconds 1
Start-BitsTransfer -Source "https://aka.ms/vs/17/release/vc_redist.x64.exe" -Destination "$env:TEMP\MAA_Runtime_Fix_Pwsh\vc_redist.x64.exe"
Start-BitsTransfer -Source "https://builds.dotnet.microsoft.com/dotnet/WindowsDesktop/8.0.11/windowsdesktop-runtime-8.0.11-win-x64.exe" -Destination "$env:TEMP\MAA_Runtime_Fix_Pwsh\windowsdesktop-runtime-8.0.11-win-x64.exe"
# 卸载 vc++ 和 dotnet8
Write-Host ""
Write-Host "尝试调用 WinGet 卸载已安装的运行库..."
winget uninstall "Microsoft.VCRedist.2015+.x64" "Microsoft.DotNet.DesktopRuntime.8" --force --all-versions
# 安装 vc++
Write-Host ""
Write-Host "正在安装/修复 Microsoft Visual C++ 可再发行程序包..."
$vcProcess = Start-Process "$env:TEMP\MAA_Runtime_Fix_Pwsh\vc_redist.x64.exe" -ArgumentList '/repair', '/passive', '/norestart' -PassThru
$vcProcess.WaitForExit()
# 安装 dotnet8
Write-Host "正在安装/修复 .NET 桌面运行时 8..."
$dotnetProcess = Start-Process "$env:TEMP\MAA_Runtime_Fix_Pwsh\windowsdesktop-runtime-8.0.11-win-x64.exe" -ArgumentList '/repair', '/passive', '/norestart' -PassThru
$dotnetProcess.WaitForExit()
# 删除临时文件夹
Write-Host ""
Write-Host "正在清理临时文件..."
Remove-Item -Path "$env:TEMP\MAA_Runtime_Fix_Pwsh" -Recurse -Force
Write-Host "运行库修复完成,请再次尝试运行 MAA。"
Write-Host ""
Pause
# 使用 winget 安装/更新运行库并卸载旧版本
# winget install "Microsoft.VCRedist.2015+.x64" "Microsoft.DotNet.DesktopRuntime.8" --uninstall-previous --accept-package-agreements
# 使用 winget 下载运行库安装包
# winget download --id "Microsoft.VCRedist.2015+.x64" -d "$env:TEMP\MAA_Runtime_Fix_Pwsh\"
# winget download --id "Microsoft.DotNet.DesktopRuntime.8" -d "$env:TEMP\MAA_Runtime_Fix_Pwsh\"
# 不使用 winget 卸载 vc++
# 会进行卸载 但是卸不掉
# Get-Package -Name "Microsoft Visual C++ 2015-2022 Redistributable (x64) - *" | Uninstall-Package -Force
# 不使用 winget 卸载 dotnet8
# 会进行卸载 但是卸不掉
# Get-Package -Name "Microsoft Windows Desktop Runtime - 8.* (x64)" | Uninstall-Package -Force
# 下载安装包那里注释了一个睡一秒是因为本来下载文件的那个进度条会把上面输出过的所有内容都覆盖掉,上来就只能看到个下载进度条,别的啥也看不到。
# 但当我去掉新建文件夹时输出的一大坨东西之后,这行就能露出来了。
# 我建议每个人都去看一下 PowerShell 的 New-Item 新建文件夹能输出多大一坨玩意。
# 还有 PowerShell 弱智一样的进度条显示机制,非得搞个固定不透明一大坨的浮窗上去干什么,就不能和别人一样在命令底部显示吗。
# 再用 Pwsh 写脚本我就是傻逼。

View File

Before

Width:  |  Height:  |  Size: 691 KiB

After

Width:  |  Height:  |  Size: 691 KiB

View File

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

Before

Width:  |  Height:  |  Size: 420 KiB

After

Width:  |  Height:  |  Size: 420 KiB

View File

Before

Width:  |  Height:  |  Size: 301 KiB

After

Width:  |  Height:  |  Size: 301 KiB

View File

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 643 KiB

After

Width:  |  Height:  |  Size: 643 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

View File

Before

Width:  |  Height:  |  Size: 266 KiB

After

Width:  |  Height:  |  Size: 266 KiB

View File

Before

Width:  |  Height:  |  Size: 429 KiB

After

Width:  |  Height:  |  Size: 429 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1018 B

After

Width:  |  Height:  |  Size: 1018 B

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 85 KiB

View File

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View File

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 85 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 77 KiB

View File

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

View File

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

View File

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

View File

Before

Width:  |  Height:  |  Size: 161 KiB

After

Width:  |  Height:  |  Size: 161 KiB

View File

Before

Width:  |  Height:  |  Size: 161 KiB

After

Width:  |  Height:  |  Size: 161 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Some files were not shown because too many files have changed in this diff Show More