diff --git a/.github/workflows/pr-auto-tag.yml b/.github/workflows/pr-auto-tag.yml
index 7877d8df92..c616904c64 100644
--- a/.github/workflows/pr-auto-tag.yml
+++ b/.github/workflows/pr-auto-tag.yml
@@ -21,7 +21,7 @@ jobs:
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- git remote set-url origin https://x-access-token:${{ secrets.AUTO_TAG_PAT }}@github.com/${{ github.repository }}
+ git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
- name: Extract Tag Name
@@ -41,3 +41,8 @@ jobs:
git merge "${{ steps.extract_tag.outputs.tag_name }}"
git push origin dev
+ - name: Run CI with Tag # ref: https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow
+ run: |
+ gh workflow run ci --ref "${{ steps.extract_tag.outputs.tag_name }}"
+ env:
+ GH_TOKEN: ${{ github.token }}
diff --git a/.github/workflows/release-maa-linux.yml b/.github/workflows/release-maa-linux.yml
deleted file mode 100644
index a2012f739f..0000000000
--- a/.github/workflows/release-maa-linux.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-name: release-maa-linux
-
-on:
- release:
- types: [published]
-
-jobs:
- linux-latest:
- runs-on: ubuntu-latest
- steps:
- - name: Setup tag info
- run: |
- GIT_TAG=${GITHUB_REF#refs/*/}
- echo "GIT_TAG=${GIT_TAG}" >> $GITHUB_ENV
-
- - uses: actions/checkout@v3
- with:
- submodules: recursive
-
- - name: Setup ccache
- uses: Chocobo1/setup-ccache-action@v1
- with:
- remove_stale_cache: false
- - name: Bootstrap MaaDeps
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- python3 maadeps-download.py
- - name: Build MAA
- env:
- CC: ccache gcc-12
- CXX: ccache g++-12
- run: |
- mkdir -p build
- cmake -B build \
- -DINSTALL_THIRD_LIBS=ON \
- -DINSTALL_RESOURCE=ON \
- -DINSTALL_PYTHON=ON
- # -DFASTDEPLOY_DIRECTORY=~/fastdeploy \
- # -DOPENCV_DIRECTORY=~/opencv/lib/cmake/opencv4 \
- cmake --build build --parallel $(nproc --all)
-
- mkdir -p install
- cmake --install build --prefix install
-
- - name: tar files
- run: |
- mkdir -p release
- cd install
- tar czvf $GITHUB_WORKSPACE/release/MAA-${{ env.GIT_TAG }}-linux.tar.gz .
-
- - name: Upload image to release
- uses: svenstaro/upload-release-action@v2
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: 'release/*.tar.gz'
- file_glob: true
- tag: ${{ env.GIT_TAG }}
- overwrite: true
diff --git a/.github/workflows/release-maa-mac.yml b/.github/workflows/release-maa-mac.yml
deleted file mode 100644
index b329a6d6c4..0000000000
--- a/.github/workflows/release-maa-mac.yml
+++ /dev/null
@@ -1,117 +0,0 @@
-name: release-maa-mac
-
-on:
- release:
- types: [published]
-
-jobs:
- macos-latest:
- name: macos-latest
- runs-on: macos-12
-
- steps:
- - uses: actions/checkout@v3
- with:
- submodules: recursive
- - name: 'Install Developer ID Certificate'
- uses: ssrobins/import-codesign-certs@v2
- with:
- p12-file-base64: ${{ secrets.HGUANDL_SIGN_CERT_P12 }}
- p12-password: ${{ secrets.HGUANDL_SIGN_CERT_PASSWD }}
- - name: Cache Homebrew
- uses: actions/cache@v3
- with:
- path: $(brew --prefix)
- key: ${{ runner.os }}-homebrew-${{ hashFiles('.config/brew/Brewfile') }}
- - name: Install Dependencies
- run: |
- brew update --preinstall
- brew install create-dmg ninja pkg-config
- - name: Bootstrap MaaDeps
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- python3 maadeps-download.py "arm64-osx"
- python3 maadeps-download.py "x64-osx"
- - name: Configure MaaCore
- run: |
- cmake -B build-arm64 -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="arm64"
- cmake -B build-x86_64 -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES="x86_64"
- - name: Build libMaaCore
- run: |
- cmake --build build-arm64
- cmake --build build-x86_64
- - name: Build universal binaries
- run: |
- mkdir build
- lipo -create build-arm64/libMaaCore.dylib build-x86_64/libMaaCore.dylib -output build/libMaaCore.dylib
- for LIB_NAME in $(ls MaaDeps/runtime/maa-x64-osx); do
- lipo -create MaaDeps/runtime/maa-arm64-osx/$LIB_NAME MaaDeps/runtime/maa-x64-osx/$LIB_NAME -output build/$LIB_NAME
- done
- - name: Build XCFramework
- working-directory: build
- run: |
- xcodebuild -create-xcframework -library libMaaCore.dylib -headers ../include -output MaaCore.xcframework
- xcodebuild -create-xcframework -library libMaaDerpLearning.dylib -output MaaDerpLearning.xcframework
- xcodebuild -create-xcframework -library libonnxruntime.*.dylib -output ONNXRuntime.xcframework
- xcodebuild -create-xcframework -library libopencv*.dylib -output OpenCV.xcframework
- - name: Build MAA
- working-directory: src/MaaMacGui
- run: xcodebuild -project MeoAsstMac.xcodeproj -scheme MAA archive -archivePath MAA.xcarchive -configuration Release
- - name: Export MAA
- working-directory: src/MaaMacGui
- run: xcodebuild -exportArchive -archivePath MAA.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath Export
- - name: Create disk image
- working-directory: src/MaaMacGui
- run: create-dmg --background dmg-bkg.png --window-size 500 300 --icon-size 128 --icon MAA.app 0 120 --hide-extension MAA.app --app-drop-link 270 120 MAA.dmg Export/MAA.app
- - name: Archive debug symbols
- working-directory: src/MaaMacGui/MAA.xcarchive/dSYMs
- run: ditto -c -k --keepParent MAA.app.dSYM MAA.app.dSYM.zip
- - name: Place packages
- run: |
- GIT_TAG=${GITHUB_REF#refs/*/}
- APP_DMG=MAA-${GIT_TAG}-macos-universal.dmg
- APP_SYM=MAAComponent-DebugSymbol-${GIT_TAG}-macos-universal.zip
- mkdir -p release
- mv src/MaaMacGui/MAA.dmg release/${APP_DMG}
- mv src/MaaMacGui/MAA.xcarchive/dSYMs/MAA.app.dSYM.zip release/${APP_SYM}
- - name: Upload products
- uses: actions/upload-artifact@v3
- with:
- name: MAA-macos
- path: release
-
- macos-release:
- name: macos-release
- runs-on: macos-12
- needs: [macos-latest]
- steps:
- - name: 'Setup tag information'
- run: |
- GIT_TAG=${GITHUB_REF#refs/*/}
- echo "GIT_TAG=${GIT_TAG}" >> $GITHUB_ENV
- - name: Download artifacts
- uses: actions/download-artifact@v3
- with:
- name: MAA-macos
- - name: 'Verify image'
- run: |
- find . -name "*.dmg" -exec hdiutil verify {} \;
- - name: 'Notarize image'
- env:
- NOTARY_USER: ${{ secrets.HGUANDL_NOTARY_AAPL_ID }}
- NOTARY_PASSWD: ${{ secrets.HGUANDL_NOTARY_PASSWD }}
- NOTARY_TEAM: ${{ secrets.HGUANDL_SIGN_IDENTITY }}
- run: |
- find . -name "*.dmg" | while read dmg; do
- xcrun notarytool submit --apple-id "$NOTARY_USER" --password "$NOTARY_PASSWD" --team-id "$NOTARY_TEAM" --wait ${dmg}
- xcrun stapler staple ${dmg}
- done
- - name: Upload image to release
- uses: svenstaro/upload-release-action@v2
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- file: 'MAA*${{ env.GIT_TAG }}-macos*'
- file_glob: true
- tag: ${{ env.GIT_TAG }}
- overwrite: true
diff --git a/.github/workflows/release-maa-win.yml b/.github/workflows/release-maa-win.yml
deleted file mode 100644
index 29b7f4410c..0000000000
--- a/.github/workflows/release-maa-win.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-# ------------------------------------------------------------------------------
-#
-#
-# This code was generated.
-#
-# - To turn off auto-generation set:
-#
-# [GitHubActions (AutoGenerate = false)]
-#
-# - To trigger manual generation invoke:
-#
-# nuke --generate-configuration GitHubActions_release-maa-win --host GitHubActions
-#
-#
-# ------------------------------------------------------------------------------
-
-name: release-maa-win
-
-on:
- push:
- tags:
- - 'v*'
-
-jobs:
- windows-latest:
- name: windows-latest
- strategy:
- matrix:
- include:
- - msbuild_target: x64
- lowercase_target: x64
- fail-fast: false
- env:
- MAABUILDER_TARGET_PLATFORM: ${{ matrix.msbuild_target }}
- runs-on: windows-latest
- steps:
- - uses: actions/checkout@v3
- - name: Cache .nuke/temp, ~/.nuget/packages
- uses: actions/cache@v3
- with:
- path: |
- .nuke/temp
- ~/.nuget/packages
- key: ${{ runner.os }}-${{ matrix.msbuild_target }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
- - name: Bootstrap MaaDeps
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- python3 maadeps-download.py ${{ matrix.lowercase_target }}-windows
- - name: Run './build.cmd ReleaseMaa'
- run: |
- ./build.cmd ReleaseMaa
- env:
- PUBLISH_GH_PAT: ${{ secrets.PUBLISH_GH_PAT }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - uses: actions/upload-artifact@v3
- with:
- name: MAA-win-${{ matrix.lowercase_target }}
- path: artifacts
diff --git a/.github/workflows/release-nightly-ota.yml b/.github/workflows/release-nightly-ota.yml
index 89e3d2fc2c..236b1a246d 100644
--- a/.github/workflows/release-nightly-ota.yml
+++ b/.github/workflows/release-nightly-ota.yml
@@ -143,9 +143,7 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
mkdir -pv build-ota && cd build-ota
- cd ${{ needs.build-win-nightly.outputs.tag }}
- zip -d *.zip '*.lib' '*.pdb' '*.exp' '*.config' '*.xml'
- cd ..
+
gh release list --repo 'MaaAssistantArknights/MaaAssistantArknights' --limit ${{ inputs.limit || 30 }} | tee ./release_maa.txt
gh release list --repo "${{ github.repository_owner }}/MaaRelease" --limit ${{ inputs.limit_2 || 30 }} | tee ./release_mr.txt
@@ -165,6 +163,12 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd build-ota
+
+ pushd ${{ needs.build-win-nightly.outputs.tag }}
+ zip -d *.zip '*.lib' '*.pdb' '*.exp' '*.config' '*.xml'
+ mv *.zip MAA-${{ env.release_tag }}-win-${{ matrix.target }}.zip
+ popd
+
$GITHUB_WORKSPACE/MaaAssistantArknights/tools/OTAPacker/build.sh 'MaaAssistantArknights/MaaAssistantArknights' ./config ${{ matrix.target }} "${{ github.repository_owner }}/MaaRelease"
mv -v ${{ needs.build-win-nightly.outputs.tag }}/*.zip ./MAA-${{ env.release_tag }}-win-${{ matrix.target }}.zip
diff --git a/.github/workflows/res-update-game.yml b/.github/workflows/res-update-game.yml
index 48c9c72851..af56999843 100644
--- a/.github/workflows/res-update-game.yml
+++ b/.github/workflows/res-update-game.yml
@@ -1,6 +1,8 @@
name: res-update-game
on:
+ schedule:
+ - cron: "0 * * * *"
workflow_dispatch:
inputs:
commit_message:
@@ -41,10 +43,18 @@ jobs:
$commit_msg = "chore: Auto Update Game Resources - $(Get-Date -Format 'yyyy-MM-dd')"
}
git commit -m "$commit_msg"
+ if ($LASTEXITCODE) { exit $LASTEXITCODE }
+
git pull origin $(git rev-parse --abbrev-ref HEAD) --unshallow --rebase
- name: Push changes # push the output folder to your repo
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- force: false
+
+ - name: Run Testing and Release # ref: https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow
+ run: |
+ gh workflow run test
+ gh workflow run release-nightly-ota -f release_body="Auto Release of Resource Updates"
+ env:
+ GH_TOKEN: ${{ github.token }}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 288cc19e24..5148cdc94e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,99 @@
-## v4.16.0-rc.2
+## v4.16.0
+
+**明日方舟游戏大版本更新,部分新内容相关功能暂不可用,包括 新地图掉落上传、抄作业;新干员 BOX 识别、肉鸽使用、基建技能等,请耐心等待之后版本的更新**
+
+### 新增
+
+- 牛牛抽卡! @MistEO @hguandl
+- 新增肉鸽刷指路鳞(请在设置中打开) @MistEO @hguandl
+- 新增内置保全作业 雷神工业测试平台 浊蒂版,更稳定 (#4528) @junyihan233 @MistEO
+- Mac UI 支持启动 iOS 客户端 @hguandl
+- Mac UI 仓库结果导出 JSON @hguandl
+- 干员 BOX 识别增加等级和精英度 (#4438) @GD-GK @MistEO
+
+### 改进
+
+- 优化资源加载速度 @MistEO @hguandl
+- 大幅优化视频识别切片准确率 @MistEO
+- 优化干员 BOX 识别准确率 @MistEO
+- Vision 相关代码 超级大重构 @MistEO
+- 优化保全雷神工业第五层部署逻辑 (#4503) @AnnoyingFlowers
+- Win UI 添加模拟器检测错误日志输出、启动等待结束提示 @ABA2396
+- Win UI Add InstanceManager (#4422) (#4486) @moomiji
+- Win UI 脚本运行不阻塞 UI (#4422) (#4486) @moomiji
+- Win UI 优化主界面布局 @ABA2396
+- Win UI Do not save config on startup @MistEO
+- Win UI 减慢弹出速率 @moomiji
+- Mac UI 运行时防止系统进入睡眠 @hguandl
+- Mac UI 启动前加载外服资源 @hguandl
+- Mac UI 添加视频识别说明 @hguandl
+- Mac UI 添加全选/取消任务的菜单和快捷键 @hguandl
+- Auto Update Game Resources - 2023-04-27 @MistEO
### 修复
-- 修复抽卡爆炸的问题,并提高稳定性 @MistEO
+- 修复 Win UI Changelog 弹窗 (#4422) (#4486) @moomiji
+- 修复剿灭模式下任务失败时备选关卡为未在列表的主线关卡被跳过的问题 @ABA2396
+- 修复主线导航 ocrReplace 错误 @ABA2396
+- Mac UI 修复自定义基建文件权限 @hguandl
+- 修复任务还未结束时就显示 Link Start @ABA2396
+- 部分肉鸽地图无法正确部署 (#4522) @LingXii
+- 再次修复肉鸽“瞻前顾后”关卡名识别错误 @MistEO
+- 修复识别工具失去焦点重置界面问题 @ABA2396
+- 修复启动时自动开启模拟器后无法自动停止 @ABA2396
+- 修复只自动开启模拟器时停不下来的情况 @moomiji
+- 修复二次点击 StartButton1 时误触 StartButton2 @ABA2396
+- Mac UI 修复干员识别适配 @hguandl
+- 修复路径检查错误 @ABA2396
+- Win UI SettingsView displayed incompletely @moomiji
+- 修复开启 `启动MAA后自动开启模拟器` 报错 @ABA2396
+- perf: TryToStartEmulator 执行不更改按钮状态 #4533 @ABA2396
+- 修复开始唤醒任务提前结束,导致基建等任务点进商店的问题 @MistEO
+- 修复 mac 上访问好友任务出错
+
+### 其他
+
+- Win UI 同时加载 API @ABA2396
+- 更新一图流上传接口 @MistEO
+- 从 maa-website 转移文档 (#4545) @horror-proton
+- add r2 release mirror @GalvinGao @MistEO
+- Auto Tag Release PR (#4531) @MistEO
+- 升级 macOS 编译环境,清理多余依赖 @hguandl
+- 代码清理 @MistEO @hguandl @ABA2396
+- 修复 Win UI 绑定错误 @ABA2396
+- 加快更新包构建速度 (#4517) @horror-proton
+- 新增 CI,自动生成 changelog @MistEO
+- 新增 CI,自动冒烟测试 (#4565) @MistEO
+- 优化了一些 CI @MistEO
+
+### For overseas
+
+#### Common
+
+- Added CI that automatically updates game resources, including all overseas clients resources (but needs to be manually triggered). If you want to create a pull request to update game resources, you can use \ -> `Actions` -> `res-update-game` -> `Run workflow` to update resources instead of manual update. @MistEO
+- Fix the recognition error of recruiting senior operators @MistEO
+- fix #4471: Add loading instructions for overseas clients resource files @hguandl
+
+#### YostarJP
+
+- Doc : Add EPISODE11 Depot (#4506) @wallsman
+- Doc : JP Update EPISODE11「淬火煙塵」 (#4504) @wallsman
+
+#### YostarEN
+
+- Resolve recruit failure for Supporter @hguandl
+
+#### txwy
+
+- 繁中服 傀影肉鴿道具 (#4491) @vonnoq
+- 繁中服 保全物件/傀影關卡識別 (#4489) @vonnoq
+
+### For develops
+
+**由于我们的文档正在迁移,为避免造成更多的 conflicts,近期新接口还请参考 Win UI 或 Mac UI 集成逻辑**
+
+- 新增抽卡功能,[集成参考](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/f644f8c548568220b61955c0369c9ac6c7bceec4/src/MaaWpfGui/Main/AsstProxy.cs#L1662) @MistEO
+- 肉鸽新增刷 `指路鳞` 选项,[集成参考](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/f644f8c548568220b61955c0369c9ac6c7bceec4/src/MaaWpfGui/Main/AsstProxy.cs#L1588), [回调参考](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/f644f8c548568220b61955c0369c9ac6c7bceec4/src/MaaWpfGui/Main/AsstProxy.cs#L774) @MistEO
+- 干员 BOX 识别,潜能 改成 1-6 @MistEO
+- 新增自动更新游戏资源 CI: `res-update-game` @MistEO
+- Add Debug configuration (#4474) @dantmnf @MistEO
diff --git a/resource/recruitment.json b/resource/recruitment.json
index c0df749559..9fa0b31ced 100644
--- a/resource/recruitment.json
+++ b/resource/recruitment.json
@@ -598,6 +598,17 @@
"辅助干员"
]
},
+ {
+ "id": "char_328_cammou",
+ "name": "卡达",
+ "rarity": 4,
+ "tags": [
+ "输出",
+ "控场",
+ "远程位",
+ "术师干员"
+ ]
+ },
{
"id": "char_155_tiger",
"name": "因陀罗",
@@ -1071,6 +1082,18 @@
"术师干员"
]
},
+ {
+ "id": "char_294_ayer",
+ "name": "断崖",
+ "rarity": 5,
+ "tags": [
+ "输出",
+ "群攻",
+ "近战位",
+ "资深干员",
+ "近卫干员"
+ ]
+ },
{
"id": "char_103_angel",
"name": "能天使",
@@ -1325,6 +1348,19 @@
"高级资深干员",
"狙击干员"
]
+ },
+ {
+ "id": "char_358_lisa",
+ "name": "铃兰",
+ "rarity": 6,
+ "tags": [
+ "减速",
+ "支援",
+ "输出",
+ "远程位",
+ "高级资深干员",
+ "辅助干员"
+ ]
}
],
"tags": {
diff --git a/tools/OTAPacker/build.sh b/tools/OTAPacker/build.sh
index 6e6a6b9c48..a23420e07a 100755
--- a/tools/OTAPacker/build.sh
+++ b/tools/OTAPacker/build.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env bash -e
source_repo=$1
releases_txt="$2"
diff --git a/tools/OTAPacker/ziplist.sh b/tools/OTAPacker/ziplist.sh
index 9dff735373..936a81adc6 100755
--- a/tools/OTAPacker/ziplist.sh
+++ b/tools/OTAPacker/ziplist.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env bash -e
zipinfo -O GB2312 -v $1 \
| sed -n -e '/^Central directory entry/,+3p' -e '/32-bit CRC value (hex):/p' | grep '^ ' \
| sed -e 's/^ //g' | sed -z 's/\n32-bit CRC value (hex):\s*/\t/g' \
diff --git a/tools/OTAPacker/zipota.sh b/tools/OTAPacker/zipota.sh
index d2281fcdf2..bad25a29b8 100755
--- a/tools/OTAPacker/zipota.sh
+++ b/tools/OTAPacker/zipota.sh
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env bash -e
script_dir="$(dirname $(realpath "$0"))"