Merge branch 'dev' of https://github.com/MaaAssistantArknights/MaaAssistantArknights into dev
55
.github/workflows/dev-build-mac.yml
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
name: dev-build-mac
|
||||
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- master
|
||||
paths:
|
||||
- 'src/MeoAssistant/**'
|
||||
- 'src/MeoAsstGui/**'
|
||||
- 'src/MeoAsstMac/**'
|
||||
- '3rdparty/**'
|
||||
- 'include/**'
|
||||
- 'resource/**'
|
||||
- CMakeLists.txt
|
||||
pull_request:
|
||||
branches:
|
||||
- dev
|
||||
paths:
|
||||
- 'src/MeoAssistant/**'
|
||||
- 'src/MeoAsstGui/**'
|
||||
- 'src/MeoAsstMac/**'
|
||||
- '3rdparty/**'
|
||||
- 'include/**'
|
||||
- 'resource/**'
|
||||
- CMakeLists.txt
|
||||
|
||||
jobs:
|
||||
macos-latest:
|
||||
runs-on: macos-12
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- 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 ninja range-v3
|
||||
- name: Configure MeoAssistant
|
||||
run: |
|
||||
mkdir build && cd build
|
||||
cmake .. -GNinja -DBUILD_XCFRAMEWORK=ON -DBUILD_UNIVERSAL=ON
|
||||
- name: Build libMeoAssistant
|
||||
run: cmake --build build
|
||||
- name: Build MeoAsstMac
|
||||
working-directory: src/MeoAsstMac
|
||||
run: xcodebuild ARCHS="arm64 x86_64" CODE_SIGN_IDENTITY="-" DEVELOPMENT_TEAM="-" ONLY_ACTIVE_ARCH=NO -derivedDataPath DerivedData -project MeoAsstMac.xcodeproj -scheme MeoAsstMac
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: MAA-macos
|
||||
path: src/MeoAsstMac/DerivedData/Build/Products/Debug
|
||||
@@ -9,12 +9,12 @@
|
||||
#
|
||||
# - To trigger manual generation invoke:
|
||||
#
|
||||
# nuke --generate-configuration GitHubActions_dev-build --host GitHubActions
|
||||
# nuke --generate-configuration GitHubActions_dev-build-win --host GitHubActions
|
||||
#
|
||||
# </auto-generated>
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
name: dev-build
|
||||
name: dev-build-win
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -55,9 +55,9 @@ jobs:
|
||||
name: windows-latest
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Cache .nuke/temp, ~/.nuget/packages
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
.nuke/temp
|
||||
@@ -69,7 +69,7 @@ jobs:
|
||||
Reason: ${{ github.event.inputs.Reason }}
|
||||
ReleaseSimulation: ${{ github.event.inputs.ReleaseSimulation }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: actions/upload-artifact@v1
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: artifacts
|
||||
name: MAA-win-x64
|
||||
path: artifacts
|
||||
90
.github/workflows/release-maa-mac.yml
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
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: apple-actions/import-codesign-certs@v1
|
||||
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 ninja range-v3 create-dmg
|
||||
- name: Configure MeoAssistant
|
||||
run: |
|
||||
mkdir build && cd build
|
||||
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_XCFRAMEWORK=ON -DBUILD_UNIVERSAL=ON
|
||||
- name: Build libMeoAssistant
|
||||
run: cmake --build build
|
||||
- name: Build MeoAsstMac
|
||||
working-directory: src/MeoAsstMac
|
||||
run: xcodebuild -project MeoAsstMac.xcodeproj -scheme MeoAsstMac archive -archivePath MeoAsstMac.xcarchive -configuration Release
|
||||
- name: Export MeoAsstMac
|
||||
working-directory: src/MeoAsstMac
|
||||
run: xcodebuild -exportArchive -archivePath MeoAsstMac.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath Export
|
||||
- name: Create disk image
|
||||
working-directory: src/MeoAsstMac
|
||||
run: create-dmg --background dmg-bkg.png --window-size 500 300 --icon-size 128 --icon MeoAsstMac.app 0 120 --hide-extension MeoAsstMac.app --app-drop-link 270 120 MeoAsstMac.dmg Export/MeoAsstMac.app
|
||||
- name: Archive debug symbols
|
||||
working-directory: src/MeoAsstMac/MeoAsstMac.xcarchive/dSYMs
|
||||
run: ditto -c -k --keepParent MeoAsstMac.app.dSYM MeoAsstMac.app.dSYM.zip
|
||||
- name: Upload products
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: MAA-macos
|
||||
path: |
|
||||
src/MeoAsstMac/MeoAsstMac.dmg
|
||||
src/MeoAsstMac/MeoAsstMac.xcarchive/dSYMs/MeoAsstMac.app.dSYM.zip
|
||||
|
||||
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
|
||||
echo "APP_DMG=MAA-${GIT_TAG}-macos.dmg" >> $GITHUB_ENV
|
||||
echo "APP_SYM=MAAComponent-DebugSymbol-${GIT_TAG}-macos.zip" >> $GITHUB_ENV
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: MAA-macos
|
||||
- name: 'Verify image'
|
||||
run: |
|
||||
mv MeoAsstMac.dmg $APP_DMG
|
||||
mv MeoAsstMac.xcarchive/dSYMs/MeoAsstMac.app.dSYM.zip $APP_SYM
|
||||
hdiutil verify $APP_DMG
|
||||
- name: 'Notarize image'
|
||||
env:
|
||||
NOTARY_USER: ${{ secrets.HGUANDL_NOTARY_AAPL_ID }}
|
||||
NOTARY_PASSWD: ${{ secrets.HGUANDL_NOTARY_PASSWD }}
|
||||
NOTARY_TEAM: ${{ secrets.HGUANDL_SIGN_IDENTITY }}
|
||||
run: |
|
||||
xcrun notarytool submit --apple-id "$NOTARY_USER" --password "$NOTARY_PASSWD" --team-id "$NOTARY_TEAM" --wait $APP_DMG
|
||||
xcrun stapler staple $APP_DMG
|
||||
- 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
|
||||
@@ -9,12 +9,12 @@
|
||||
#
|
||||
# - To trigger manual generation invoke:
|
||||
#
|
||||
# nuke --generate-configuration GitHubActions_release-maa --host GitHubActions
|
||||
# nuke --generate-configuration GitHubActions_release-maa-win --host GitHubActions
|
||||
#
|
||||
# </auto-generated>
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
name: release-maa
|
||||
name: release-maa-win
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -26,9 +26,9 @@ jobs:
|
||||
name: windows-latest
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- name: Cache .nuke/temp, ~/.nuget/packages
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
.nuke/temp
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
env:
|
||||
PUBLISH_GH_PAT: ${{ secrets.PUBLISH_GH_PAT }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: actions/upload-artifact@v1
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: artifacts
|
||||
name: MAA-win-x64
|
||||
path: artifacts
|
||||
5
.gitmodules
vendored
@@ -3,4 +3,7 @@
|
||||
url = https://github.com/MaaAssistantArknights/MaaTestSet.git
|
||||
[submodule "3rdparty/VisionOCR"]
|
||||
path = 3rdparty/VisionOCR
|
||||
url = https://github.com/hguandl/VisionOCR.git
|
||||
url = https://github.com/MaaAssistantArknights/VisionOCR.git
|
||||
[submodule "src/MeoAsstMac"]
|
||||
path = src/MeoAsstMac
|
||||
url = https://github.com/MaaAssistantArknights/MeoAsstMac.git
|
||||
|
||||
2
3rdparty/VisionOCR
vendored
@@ -6,6 +6,12 @@ if (NOT CMAKE_BUILD_TYPE)
|
||||
endif ()
|
||||
|
||||
option(BUILD_TEST "build a demo" OFF)
|
||||
option(BUILD_XCFRAMEWORK "build xcframework for macOS app" OFF)
|
||||
option(BUILD_UNIVERSAL "build both arm64 and x86_64 on macOS" OFF)
|
||||
|
||||
if (BUILD_UNIVERSAL)
|
||||
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
@@ -42,10 +48,6 @@ if (MSVC)
|
||||
target_link_libraries(MeoAssistant ws2_32 ${OpenCV} ${PaddleOCR_LIB} ${ZLIB})
|
||||
target_include_directories(MeoAssistant PRIVATE 3rdparty/include)
|
||||
else ()
|
||||
find_package(OpenCV REQUIRED)
|
||||
target_include_directories(MeoAssistant PRIVATE ${OpenCV_INCLUDE_DIRS})
|
||||
target_link_libraries(MeoAssistant ${OpenCV_LIBS})
|
||||
|
||||
find_package(ZLIB REQUIRED)
|
||||
target_include_directories(MeoAssistant PRIVATE ${ZLIB_INCLUDE_DIRS})
|
||||
target_link_libraries(MeoAssistant ${ZLIB_LIBRARY})
|
||||
@@ -59,11 +61,13 @@ else ()
|
||||
add_subdirectory(3rdparty/VisionOCR)
|
||||
target_link_libraries(MeoAssistant
|
||||
vnocr
|
||||
"-framework CoreFoundation"
|
||||
"-framework CoreGraphics"
|
||||
"-framework Vision"
|
||||
"-framework Accelerate"
|
||||
)
|
||||
else ()
|
||||
find_package(OpenCV REQUIRED)
|
||||
target_include_directories(MeoAssistant PRIVATE ${OpenCV_INCLUDE_DIRS})
|
||||
target_link_libraries(MeoAssistant ${OpenCV_LIBS})
|
||||
|
||||
target_link_libraries(MeoAssistant ppocr paddle_inference protobuf cryptopp gflags glog utf8proc xxhash iomp5 mkldnn mklml_intel)
|
||||
endif (APPLE)
|
||||
|
||||
@@ -74,3 +78,15 @@ if (BUILD_TEST)
|
||||
add_executable(test tools/TestCaller/main.cpp)
|
||||
target_link_libraries(test MeoAssistant)
|
||||
endif (BUILD_TEST)
|
||||
|
||||
if (BUILD_XCFRAMEWORK)
|
||||
add_custom_command(OUTPUT MeoAssistant.xcframework
|
||||
COMMAND rm -rf MeoAssistant.xcframework
|
||||
COMMAND xcodebuild -create-xcframework -library libMeoAssistant.dylib -headers ${PROJECT_SOURCE_DIR}/include -output MeoAssistant.xcframework
|
||||
DEPENDS MeoAssistant
|
||||
)
|
||||
|
||||
add_custom_target(MaaXCFramework ALL
|
||||
DEPENDS MeoAssistant MeoAssistant.xcframework
|
||||
)
|
||||
endif (BUILD_XCFRAMEWORK)
|
||||
|
||||
@@ -48,12 +48,6 @@ MAA 的意思是 MAA Assistant Arknights
|
||||
|
||||
## 下载地址
|
||||
|
||||
***第一次使用请下载 `MaaBundle-vX.Y.Z.zip`***
|
||||
|
||||
***第一次使用请下载 `MaaBundle-vX.Y.Z.zip`***
|
||||
|
||||
***第一次使用请下载 `MaaBundle-vX.Y.Z.zip`***
|
||||
|
||||
[稳定版](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases/latest)
|
||||
[测试版](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases)
|
||||
|
||||
|
||||
@@ -48,12 +48,6 @@ Talk is cheap. Show me the pictures!
|
||||
|
||||
## Download
|
||||
|
||||
***Please download `MaaBundle-vX.Y.Z.zip` for first time use***
|
||||
|
||||
***Please download `MaaBundle-vX.Y.Z.zip` for first time use***
|
||||
|
||||
***Please download `MaaBundle-vX.Y.Z.zip` for first time use***
|
||||
|
||||
[Stable](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases/latest)
|
||||
[Development](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases)
|
||||
|
||||
@@ -150,7 +144,7 @@ Please refer to [Linux Tutorial](docs/en-us/2.1-LINUX_TUTORIAL.md)
|
||||
|
||||
- [C interface](include/AsstCaller.h): [Integration Example](tools/TestCaller/main.cpp)
|
||||
- [Python interface](src/Python/asst.py): [Integration Example](src/Python/sample.py)
|
||||
- [Golang interface](src/Golang/MaaAssistantArknights/): [Integration Example](src/Golang/MaaAssistantArknights/maa/maa.go)
|
||||
- [Golang interface](src/Golang/MaaAssistantArknights/): [Integration Example](src/Golang/MaaAssistantArknights/maa/maa.go)
|
||||
- [Dart interface](src/dart/)
|
||||
- [Java interface](src/Java/Maaj): [Integration Example](src/Java/Maaj/src/main/java/com/iguigui/maaj/MaaJavaSample.java)
|
||||
- [Rust interface](src/Rust/src/maa_sys/): [HTTP api](src/Rust)
|
||||
|
||||
@@ -48,12 +48,6 @@ UIを見れば使い方もすぐ分かる!
|
||||
|
||||
## ダウンロードリンク
|
||||
|
||||
***初めて使用する場合 `MaaBundle-vX.Y.Z.zip` をダウンロードしてください***
|
||||
|
||||
***初めて使用する場合 `MaaBundle-vX.Y.Z.zip` をダウンロードしてください***
|
||||
|
||||
***初めて使用する場合 `MaaBundle-vX.Y.Z.zip` をダウンロードしてください***
|
||||
|
||||
[安定版](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases/latest)
|
||||
[ベータ版](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases)
|
||||
|
||||
|
||||
@@ -48,12 +48,6 @@ MAA 的意思是 MAA Assistant Arknights
|
||||
|
||||
## 下載連結
|
||||
|
||||
***第一次使用請下載 `MaaBundle-vX.Y.Z.zip`***
|
||||
|
||||
***第一次使用請下載 `MaaBundle-vX.Y.Z.zip`***
|
||||
|
||||
***第一次使用請下載 `MaaBundle-vX.Y.Z.zip`***
|
||||
|
||||
[穩定版](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases/latest)
|
||||
[測試版](https://github.com/MaaAssistantArknights/MaaAssistantArknights/releases)
|
||||
|
||||
|
||||
@@ -185,6 +185,9 @@ TaskId ASSTAPI AsstAppendTask(AsstHandle handle, const char* type, const char* p
|
||||
```jsonc
|
||||
{
|
||||
"enable": bool, // 是否启用本任务,可选,默认为 true
|
||||
"theme": string, // 肉鸽名,可选,默认 "Phantom"
|
||||
// Phantom - 傀影与猩红血钻
|
||||
// Mizuki - 水月与深蓝之树
|
||||
"mode": int, // 模式,可选项。默认 0
|
||||
// 0 - 刷蜡烛,尽可能稳定的打更多层数
|
||||
// 1 - 刷源石锭,第一层投资完就退出
|
||||
|
||||
@@ -15,20 +15,22 @@ typedef void(ASST_CALL* AsstCallback)(int msg, const char* details, void* custom
|
||||
enum class AsstMsg
|
||||
{
|
||||
/* Global Info */
|
||||
InternalError = 0, // 内部错误
|
||||
InitFailed, // 初始化失败
|
||||
ConnectionInfo, // 连接相关信息
|
||||
AllTasksCompleted, // 全部任务完成
|
||||
InternalError = 0, // 内部错误
|
||||
InitFailed = 1, // 初始化失败
|
||||
ConnectionInfo = 2, // 连接相关信息
|
||||
AllTasksCompleted = 3, // 全部任务完成
|
||||
|
||||
/* TaskChain Info */
|
||||
TaskChainError = 10000, // 任务链执行/识别错误
|
||||
TaskChainStart, // 任务链开始
|
||||
TaskChainCompleted, // 任务链完成
|
||||
TaskChainExtraInfo, // 任务链额外信息
|
||||
TaskChainError = 10000, // 任务链执行/识别错误
|
||||
TaskChainStart = 10001, // 任务链开始
|
||||
TaskChainCompleted = 10002, // 任务链完成
|
||||
TaskChainExtraInfo = 10003, // 任务链额外信息
|
||||
|
||||
/* SubTask Info */
|
||||
SubTaskError = 20000, // 原子任务执行/识别错误
|
||||
SubTaskStart, // 原子任务开始
|
||||
SubTaskCompleted, // 原子任务完成
|
||||
SubTaskExtraInfo // 原子任务额外信息
|
||||
SubTaskError = 20000, // 原子任务执行/识别错误
|
||||
SubTaskStart = 20001, // 原子任务开始
|
||||
SubTaskCompleted = 20002, // 原子任务完成
|
||||
SubTaskExtraInfo = 20003 // 原子任务额外信息
|
||||
};
|
||||
```
|
||||
|
||||
@@ -186,29 +188,29 @@ Todo
|
||||
汇报到一图流大数据
|
||||
- `InfrastDormDoubleConfirmButton`
|
||||
基建宿舍的二次确认按钮,仅当干员冲突时才会有,请提示用户
|
||||
- `Roguelike1Start`
|
||||
- `StartExplore`
|
||||
肉鸽开始探索
|
||||
- `Roguelike1StageTraderInvestConfirm`
|
||||
- `StageTraderInvestConfirm`
|
||||
肉鸽投资了源石锭
|
||||
- `Roguelike1StageTraderInvestSystemFull`
|
||||
- `StageTraderInvestSystemFull`
|
||||
肉鸽投资达到了游戏上限
|
||||
- `Roguelike1ExitThenAbandon`
|
||||
- `ExitThenAbandon`
|
||||
肉鸽放弃了本次探索
|
||||
- `Roguelike1MissionCompletedFlag`
|
||||
- `MissionCompletedFlag`
|
||||
肉鸽战斗完成
|
||||
- `Roguelike1MissionFailedFlag`
|
||||
- `MissionFailedFlag`
|
||||
肉鸽战斗失败
|
||||
- `Roguelike1StageSafeHouseEnter`
|
||||
- `StageSafeHouseEnter`
|
||||
肉鸽关卡:诡异行商
|
||||
- `Roguelike1StageSafeHouseEnter`
|
||||
- `StageSafeHouseEnter`
|
||||
肉鸽关卡:安全的角落
|
||||
- `Roguelike1StageEncounterEnter`
|
||||
- `StageEncounterEnter`
|
||||
肉鸽关卡:不期而遇/古堡馈赠
|
||||
- `Roguelike1StageCambatDpsEnter`
|
||||
- `StageCambatDpsEnter`
|
||||
肉鸽关卡:普通作战
|
||||
- `Roguelike1StageEmergencyDps`
|
||||
- `StageEmergencyDps`
|
||||
肉鸽关卡:紧急作战
|
||||
- `Roguelike1StageDreadfulFoe`
|
||||
- `StageDreadfulFoe`
|
||||
肉鸽关卡:险路恶敌
|
||||
- `StartGameTask`
|
||||
打开客户端失败(配置文件与传入client_type不匹配)
|
||||
|
||||
@@ -173,6 +173,9 @@ Appends a task.
|
||||
```jsonc
|
||||
{
|
||||
"enable": bool, // Whether to enable this task, optional, by default true
|
||||
"theme": string, // Name of the theme, optional, by default "Phantom"
|
||||
// Phantom - 傀影与猩红血钻
|
||||
// Mizuki - 水月与深蓝之树
|
||||
"mode": int, // Mode, optional, by default 0
|
||||
// 0 - For candle, plays as much as you can with stable strategy
|
||||
// 1 - For Originium Ingots, exits after first level
|
||||
|
||||
@@ -186,29 +186,29 @@ Todo
|
||||
Reporting to Yituliu Big Data.
|
||||
- `InfrastDormDoubleConfirmButton`
|
||||
Double confirmation at infrastructure, only happens when there is a conflict with other operators.
|
||||
- `Roguelike1Start`
|
||||
- `StartExplore`
|
||||
Integrated Strategy: starting.
|
||||
- `Roguelike1StageTraderInvestConfirm`
|
||||
- `StageTraderInvestConfirm`
|
||||
Integrated Strategy: trading items with Originium Ingot.
|
||||
- `Roguelike1StageTraderInvestSystemFull`
|
||||
- `StageTraderInvestSystemFull`
|
||||
Integrated Strategy: trading system full.
|
||||
- `Roguelike1ExitThenAbandon`
|
||||
- `ExitThenAbandon`
|
||||
Integrated Strategy: exit confirmation.
|
||||
- `Roguelike1MissionCompletedFlag`
|
||||
- `MissionCompletedFlag`
|
||||
Integrated Strategy: mission completed.
|
||||
- `Roguelike1MissionFailedFlag`
|
||||
- `MissionFailedFlag`
|
||||
Integrated Strategy: mission failed.
|
||||
- `Roguelike1StageSafeHouseEnter`
|
||||
- `StageSafeHouseEnter`
|
||||
Integrated Strategy: Cunning Merchant
|
||||
- `Roguelike1StageSafeHouseEnter`
|
||||
- `StageSafeHouseEnter`
|
||||
Integrated Strategy: Safehouse
|
||||
- `Roguelike1StageEncounterEnter`
|
||||
- `StageEncounterEnter`
|
||||
Integrated Strategy: Chance Meeting
|
||||
- `Roguelike1StageCambatDpsEnter`
|
||||
- `StageCambatDpsEnter`
|
||||
Integrated Strategy: Operation
|
||||
- `Roguelike1StageEmergencyDps`
|
||||
- `StageEmergencyDps`
|
||||
Integrated Strategy: Emergency Operation
|
||||
- `Roguelike1StageDreadfulFoe`
|
||||
- `StageDreadfulFoe`
|
||||
Integrated Strategy: Dreadful Foe
|
||||
- `StartGameTask`
|
||||
Failed to launch client (incompatible config file with client_type)
|
||||
|
||||
@@ -172,6 +172,9 @@ TaskId ASSTAPI AsstAppendTask(AsstHandle handle, const char* type, const char* p
|
||||
```jsonc
|
||||
{
|
||||
"enable": bool, // このタスクを有効にするかどうか, オプション, デフォルトは true
|
||||
"theme": string, // テーマの名前, オプション, デフォルトは "Phantom"
|
||||
// Phantom - 傀影与猩红血钻
|
||||
// Mizuki - 水月与深蓝之树
|
||||
"mode": int, // モード, オプション, デフォルトは 0
|
||||
// 0 - キャンドル収集, 安定した戦略で続けられるだけ続ける
|
||||
// 1 - 源石錐収集, 一階層で終了します
|
||||
|
||||
@@ -186,29 +186,29 @@ Todo
|
||||
Yituliu へビッグデータの報告.
|
||||
- `InfrastDormDoubleConfirmButton`
|
||||
基地施設での二重確認は、他のオペレーターとの競合がある場合のみ発生します.
|
||||
- `Roguelike1Start`
|
||||
- `StartExplore`
|
||||
統合戦略: 開始.
|
||||
- `Roguelike1StageTraderInvestConfirm`
|
||||
- `StageTraderInvestConfirm`
|
||||
統合戦略: 源石錐とアイテム交換.
|
||||
- `Roguelike1StageTraderInvestSystemFull`
|
||||
- `StageTraderInvestSystemFull`
|
||||
統合戦略: 投資満額.
|
||||
- `Roguelike1ExitThenAbandon`
|
||||
- `ExitThenAbandon`
|
||||
統合戦略: 終了確認.
|
||||
- `Roguelike1MissionCompletedFlag`
|
||||
- `MissionCompletedFlag`
|
||||
統合戦略: ミッション完了.
|
||||
- `Roguelike1MissionFailedFlag`
|
||||
- `MissionFailedFlag`
|
||||
統合戦略: ミッション失敗.
|
||||
- `Roguelike1StageSafeHouseEnter`
|
||||
- `StageSafeHouseEnter`
|
||||
統合戦略: 怪しい旅商人
|
||||
- `Roguelike1StageSafeHouseEnter`
|
||||
- `StageSafeHouseEnter`
|
||||
統合戦略: 安全な片隅
|
||||
- `Roguelike1StageEncounterEnter`
|
||||
- `StageEncounterEnter`
|
||||
統合戦略: 思わぬ遭遇
|
||||
- `Roguelike1StageCambatDpsEnter`
|
||||
- `StageCambatDpsEnter`
|
||||
統合戦略: 作戦
|
||||
- `Roguelike1StageEmergencyDps`
|
||||
- `StageEmergencyDps`
|
||||
統合戦略: 緊急作戦
|
||||
- `Roguelike1StageDreadfulFoe`
|
||||
- `StageDreadfulFoe`
|
||||
統合戦略: 悪路凶敵
|
||||
- `StartGameTask`
|
||||
クライアントの起動に失敗 (client_type と設定ファイルの互換性なし)
|
||||
|
||||
@@ -172,6 +172,9 @@ TaskId ASSTAPI AsstAppendTask(AsstHandle handle, const char* type, const char* p
|
||||
```jsonc
|
||||
{
|
||||
"enable": bool, // 是否啟用本任務,可選,預設為 true
|
||||
"theme": string, // 肉鴿名,可選,預設 "Phantom"
|
||||
// Phantom - 傀影與猩紅血鑽
|
||||
// Mizuki - 水月與深藍之樹
|
||||
"mode": int, // 模式,可選項。預設 0
|
||||
// 0 - 刷蠟燭,盡可能穩定地打更多層數
|
||||
// 1 - 刷源石錠,第一層投資完就退出
|
||||
|
||||
@@ -186,29 +186,29 @@ Todo
|
||||
匯報到一圖流巨量資料
|
||||
- `InfrastDormDoubleConfirmButton`
|
||||
基建宿舍的二次確認按鈕,僅當幹員衝突時才會有,請提示使用者
|
||||
- `Roguelike1Start`
|
||||
- `StartExplore`
|
||||
肉鴿開始探索
|
||||
- `Roguelike1StageTraderInvestConfirm`
|
||||
- `StageTraderInvestConfirm`
|
||||
肉鴿投資了源石錠
|
||||
- `Roguelike1StageTraderInvestSystemFull`
|
||||
- `StageTraderInvestSystemFull`
|
||||
肉鴿投資達到了遊戲上限
|
||||
- `Roguelike1ExitThenAbandon`
|
||||
- `ExitThenAbandon`
|
||||
肉鴿放棄了本次探索
|
||||
- `Roguelike1MissionCompletedFlag`
|
||||
- `MissionCompletedFlag`
|
||||
肉鴿戰鬥完成
|
||||
- `Roguelike1MissionFailedFlag`
|
||||
- `MissionFailedFlag`
|
||||
肉鴿戰鬥失敗
|
||||
- `Roguelike1StageSafeHouseEnter`
|
||||
- `StageSafeHouseEnter`
|
||||
肉鴿關卡:詭異行商
|
||||
- `Roguelike1StageSafeHouseEnter`
|
||||
- `StageSafeHouseEnter`
|
||||
肉鴿關卡:安全的角落
|
||||
- `Roguelike1StageEncounterEnter`
|
||||
- `StageEncounterEnter`
|
||||
肉鴿關卡:不期而遇/古堡饋贈
|
||||
- `Roguelike1StageCambatDpsEnter`
|
||||
- `StageCambatDpsEnter`
|
||||
肉鴿關卡:普通作戰
|
||||
- `Roguelike1StageEmergencyDps`
|
||||
- `StageEmergencyDps`
|
||||
肉鴿關卡:緊急作戰
|
||||
- `Roguelike1StageDreadfulFoe`
|
||||
- `StageDreadfulFoe`
|
||||
肉鴿關卡:險路惡敵
|
||||
- `StartGameTask`
|
||||
打開用戶端失敗(設定檔與傳入client_type不匹配)
|
||||
|
||||
@@ -2,16 +2,26 @@
|
||||
|
||||
#include "AsstPort.h"
|
||||
|
||||
#ifndef __cplusplus
|
||||
#include <stdbool.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace asst
|
||||
{
|
||||
class Assistant;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
typedef asst::Assistant* AsstHandle;
|
||||
#else
|
||||
typedef void* AsstHandle;
|
||||
#endif
|
||||
typedef int TaskId;
|
||||
typedef void(ASST_CALL* AsstApiCallback)(int msg, const char* detail_json, void* custom_arg);
|
||||
|
||||
|
||||
8
include/module.modulemap
Normal file
@@ -0,0 +1,8 @@
|
||||
module MeoAssistant {
|
||||
umbrella header "AsstCaller.h"
|
||||
export *
|
||||
link framework "Accelerate"
|
||||
link framework "OpenCL"
|
||||
link framework "Vision"
|
||||
link "c++"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
[
|
||||
{
|
||||
"name_template": "MaaBundle-{VERSION}",
|
||||
"name_template": "MAA-{VERSION}-win-x64",
|
||||
"type": "MaaBundle",
|
||||
"configuration": {
|
||||
"include": [
|
||||
@@ -9,14 +9,13 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name_template": "MaaBundle-OTA-{VERSION}",
|
||||
"name_template": "MAAComponent-OTA-{VERSION}-win-x64",
|
||||
"type": "MaaBundleOta",
|
||||
"configuration": {
|
||||
"include": [
|
||||
"resource/**",
|
||||
"MeoAssistant.dll",
|
||||
"MeoAsstGui.exe",
|
||||
"作业制作器/**"
|
||||
"MeoAsstGui.exe"
|
||||
],
|
||||
"exclude": [
|
||||
"**/PaddleOCR/**"
|
||||
@@ -24,7 +23,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name_template": "MaaCore-{VERSION}",
|
||||
"name_template": "MAAComponent-Core-{VERSION}-win-x64",
|
||||
"type": "MaaCore",
|
||||
"configuration": {
|
||||
"include": [
|
||||
@@ -33,7 +32,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name_template": "MaaDependency-{VERSION}",
|
||||
"name_template": "MAAComponent-Dependency-{VERSION}-win-x64",
|
||||
"type": "MaaDependency",
|
||||
"configuration": {
|
||||
"include": [
|
||||
@@ -48,7 +47,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name_template": "MaaDependencyNoAvx-{VERSION}",
|
||||
"name_template": "MAAComponent-DependencyNoAvx-{VERSION}-win-x64",
|
||||
"type": "MaaDependencyNoAvx",
|
||||
"configuration": {
|
||||
"include": [
|
||||
@@ -59,7 +58,16 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name_template": "MaaResource-{VERSION}",
|
||||
"name_template": "MAAComponent-DebugSymbol-{VERSION}-win-x64",
|
||||
"type": "MaaDebugSymbol",
|
||||
"configuration": {
|
||||
"include": [
|
||||
"**/*.pdb"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name_template": "MAAComponent-Resource-{VERSION}",
|
||||
"type": "MaaResource",
|
||||
"configuration": {
|
||||
"include": [
|
||||
@@ -69,14 +77,5 @@
|
||||
"**/PaddleOCR/**"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name_template": "MaaDebugSymbol-{VERSION}",
|
||||
"type": "MaaDebugSymbol",
|
||||
"configuration": {
|
||||
"include": [
|
||||
"**/*.pdb"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,735 +0,0 @@
|
||||
{
|
||||
"Roguelike1StageEncounter": {
|
||||
"Doc": "不期而遇(随机奖励)",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
0,
|
||||
53,
|
||||
1280,
|
||||
554
|
||||
],
|
||||
"templThreshold": 0.96,
|
||||
"next": [
|
||||
"Roguelike1StageEncounterEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike1StageBoons": {
|
||||
"Doc": "古堡馈赠(随机奖励)",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
0,
|
||||
53,
|
||||
1280,
|
||||
554
|
||||
],
|
||||
"templThreshold": 0.95,
|
||||
"next": [
|
||||
"Roguelike1StageEncounterEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike1StageCambatDps": {
|
||||
"Doc": "普通作战",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"templThreshold": 0.95,
|
||||
"roi": [
|
||||
0,
|
||||
53,
|
||||
1280,
|
||||
554
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1StageCambatDpsEnter",
|
||||
"Roguelike1StageEmergencyDpsEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike1StageEmergencyDps": {
|
||||
"Doc": "紧急作战",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"templThreshold": 0.95,
|
||||
"roi": [
|
||||
0,
|
||||
53,
|
||||
1280,
|
||||
554
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1StageEmergencyDpsEnter",
|
||||
"Roguelike1StageCambatDpsEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike2StageRegionalCommissioning": {
|
||||
"Doc": "地区委托(随机奖励)",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
0,
|
||||
53,
|
||||
1280,
|
||||
554
|
||||
],
|
||||
"templThreshold": 0.95,
|
||||
"next": [
|
||||
"Roguelike1StageEncounterEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike2StageEmergencyTransportation": {
|
||||
"Doc": "紧急运输,拒绝可以获取3希望",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
0,
|
||||
53,
|
||||
1280,
|
||||
554
|
||||
],
|
||||
"templThreshold": 0.95,
|
||||
"next": [
|
||||
"Roguelike1StageEncounterEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike2StageWindAndRain": {
|
||||
"Doc": "风雨际会,拒绝可以获取4生命值",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
0,
|
||||
53,
|
||||
1280,
|
||||
554
|
||||
],
|
||||
"templThreshold": 0.95,
|
||||
"next": [
|
||||
"Roguelike1StageEncounterEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike2StageGambling": {
|
||||
"Doc": "骰子关卡",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
0,
|
||||
53,
|
||||
1280,
|
||||
554
|
||||
],
|
||||
"templThreshold": 0.95,
|
||||
"next": [
|
||||
"Roguelike1StageEncounterEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike2StageDreadfulFoe-5": {
|
||||
"Doc": "第五层的boss关卡",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
0,
|
||||
53,
|
||||
1280,
|
||||
554
|
||||
],
|
||||
"templThreshold": 0.85,
|
||||
"next": [
|
||||
"Roguelike2StageDreadfulFoe-5Enter",
|
||||
"Roguelike1StageDreadfulFoeEnter",
|
||||
"Roguelike1StageEmergencyDpsEnter",
|
||||
"Roguelike1StageCambatDpsEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike2StageDreadfulFoe-5Enter": {
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
1036,
|
||||
371,
|
||||
223,
|
||||
223
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1QuickFormation"
|
||||
]
|
||||
},
|
||||
"Roguelike1StageTrader": {
|
||||
"Doc": "诡意行商(交易所)",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
0,
|
||||
53,
|
||||
1280,
|
||||
554
|
||||
],
|
||||
"templThreshold": 0.95,
|
||||
"next": [
|
||||
"Roguelike1StageTraderEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike1StageSafeHouse": {
|
||||
"Doc": "安全的角落",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
0,
|
||||
53,
|
||||
1280,
|
||||
554
|
||||
],
|
||||
"templThreshold": 0.95,
|
||||
"next": [
|
||||
"Roguelike1StageSafeHouseEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike1StageDreadfulFoe": {
|
||||
"Doc": "险路恶敌(boss关卡)",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
0,
|
||||
53,
|
||||
1280,
|
||||
554
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1StageDreadfulFoeEnter",
|
||||
"Roguelike1StageEmergencyDpsEnter",
|
||||
"Roguelike1StageCambatDpsEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
],
|
||||
"next_Doc": "普通作战和紧急作战的图比较像,有时候会识别错,这里的next把两个开始的按钮都放进来,提高容错"
|
||||
},
|
||||
"Roguelike2DiceConfirm": {
|
||||
"Doc": "骰子的确认按钮",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
551,
|
||||
577,
|
||||
174,
|
||||
143
|
||||
],
|
||||
"templThreshold": 0.95,
|
||||
"rearDelay": 1000,
|
||||
"next": [
|
||||
"Roguelike1StageEncounterEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose",
|
||||
"Roguelike1ClickToDrops"
|
||||
]
|
||||
},
|
||||
"Roguelike2GetDropBox": {
|
||||
"Doc": "漂流密匣“打开”按钮",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
0,
|
||||
471,
|
||||
1280,
|
||||
157
|
||||
],
|
||||
"templThreshold": 0.85,
|
||||
"rearDelay": 1000,
|
||||
"next": [
|
||||
"Roguelike1DropsFlag",
|
||||
"Roguelike2GetDropBoxSelect",
|
||||
"Roguelike1ChooseOperFlag"
|
||||
]
|
||||
},
|
||||
"Roguelike2GetDropBoxSelect": {
|
||||
"Doc": "漂流密匣-锤子砸开“选择”按钮",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
830,
|
||||
438,
|
||||
276,
|
||||
140
|
||||
],
|
||||
"templThreshold": 0.85,
|
||||
"rearDelay": 1000,
|
||||
"next": [
|
||||
"Roguelike1DropsFlag",
|
||||
"Roguelike1ChooseOperFlag",
|
||||
"Roguelike1ClickToDrops"
|
||||
]
|
||||
},
|
||||
"Roguelike2LastReward4": {
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
174,
|
||||
151,
|
||||
935,
|
||||
533
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1LastRewardConfirm"
|
||||
]
|
||||
},
|
||||
"Roguelike2CloseCollectionContinue": {
|
||||
"action": "ClickSelf",
|
||||
"templThreshold": 0.9,
|
||||
"cache": false,
|
||||
"roi": [
|
||||
549,
|
||||
440,
|
||||
123,
|
||||
130
|
||||
],
|
||||
"maskRange": [
|
||||
100,
|
||||
255
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1StageEncounterEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose",
|
||||
"Roguelike1DropsFlag",
|
||||
"Roguelike2CloseEvent",
|
||||
"Roguelike1ChooseOperFlag"
|
||||
]
|
||||
},
|
||||
"Roguelike2CloseCollectionClose": {
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"templThreshold": 0.9,
|
||||
"roi": [
|
||||
572,
|
||||
434,
|
||||
144,
|
||||
141
|
||||
],
|
||||
"maskRange": [
|
||||
100,
|
||||
255
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1StageEncounterEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose",
|
||||
"Roguelike1DropsFlag",
|
||||
"Roguelike2CloseEvent",
|
||||
"Roguelike1ChooseOperFlag"
|
||||
]
|
||||
},
|
||||
"Roguelike2CloseEvent": {
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
567,
|
||||
584,
|
||||
145,
|
||||
136
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1StageEncounterEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose",
|
||||
"Roguelike1DropsFlag",
|
||||
"Roguelike2CloseEvent"
|
||||
]
|
||||
},
|
||||
"Roguelike2CommissionedMissionCompleted": {
|
||||
"action": "ClickRect",
|
||||
"specificRect": [
|
||||
600,
|
||||
600,
|
||||
50,
|
||||
50
|
||||
],
|
||||
"rearDelay": 1000,
|
||||
"cache": false,
|
||||
"roi": [
|
||||
519,
|
||||
202,
|
||||
282,
|
||||
154
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1StageEncounterEnter",
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike2DiceConfirmThenAbandon": {
|
||||
"Doc": "骰子的确认按钮",
|
||||
"action": "ClickSelf",
|
||||
"template": "Roguelike2DiceConfirm.png",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
551,
|
||||
577,
|
||||
174,
|
||||
143
|
||||
],
|
||||
"templThreshold": 0.95,
|
||||
"next": [
|
||||
"Roguelike1ExitThenAbandon"
|
||||
]
|
||||
},
|
||||
"Roguelike2MapObject": {
|
||||
"action": "DoNothing",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
257,
|
||||
488,
|
||||
189,
|
||||
123
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1RecruitOther"
|
||||
]
|
||||
},
|
||||
"Roguelike2NextLevel": {
|
||||
"algorithm": "OcrDetect",
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"text": [
|
||||
"天光海岸",
|
||||
"离岸孤岛",
|
||||
"波涛略地",
|
||||
"隐秘温床",
|
||||
"失尘岩洞",
|
||||
"幽海丛林",
|
||||
"绀碧摇篮"
|
||||
],
|
||||
"roi": [
|
||||
522,
|
||||
431,
|
||||
245,
|
||||
144
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1StageTrader",
|
||||
"Roguelike1StageSafeHouse",
|
||||
"Roguelike2StageWindAndRain",
|
||||
"Roguelike2StageEmergencyTransportation",
|
||||
"Roguelike1StageEncounter",
|
||||
"Roguelike1StageBoons",
|
||||
"Roguelike1StageCambatDps",
|
||||
"Roguelike1StageEmergencyDps",
|
||||
"Roguelike1StageDreadfulFoe",
|
||||
"Roguelike2StageDreadfulFoe-5",
|
||||
"Roguelike2StageRegionalCommissioning",
|
||||
"Roguelike2StageGambling",
|
||||
"Roguelike2CommissionedMissionCompleted",
|
||||
"Roguelike2DiceConfirm",
|
||||
"Roguelike2CloseCollectionContinue",
|
||||
"Roguelike2CloseCollectionClose"
|
||||
]
|
||||
},
|
||||
"Roguelike2DataTraceback": {
|
||||
"action": "DoNothing",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
56,
|
||||
277,
|
||||
243,
|
||||
152
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1ClickToStartPoint"
|
||||
]
|
||||
},
|
||||
"Roguelike1StageEncounterFree": {
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
1100,
|
||||
0,
|
||||
180,
|
||||
700
|
||||
],
|
||||
"maskRange": [
|
||||
5,
|
||||
255
|
||||
],
|
||||
"preDelay": 500,
|
||||
"next": [
|
||||
"Roguelike1StageEncounterLeaveConfirm",
|
||||
"Roguelike1StageEncounterLeave",
|
||||
"Roguelike1StageEncounterUnknown",
|
||||
"Roguelike1StageEncounterFree",
|
||||
"Roguelike1ChooseOperFlag"
|
||||
]
|
||||
},
|
||||
"Roguelike1StageEncounterLeave": {
|
||||
"action": "ClickSelf",
|
||||
"cache": false,
|
||||
"roi": [
|
||||
1100,
|
||||
0,
|
||||
180,
|
||||
700
|
||||
],
|
||||
"maskRange": [
|
||||
5,
|
||||
255
|
||||
],
|
||||
"preDelay": 500,
|
||||
"next": [
|
||||
"Roguelike1StageEncounterLeaveConfirm",
|
||||
"Roguelike1StageEncounterFree",
|
||||
"Roguelike1StageEncounterUnknown",
|
||||
"Roguelike1StageEncounterLeave",
|
||||
"Roguelike1ChooseOperFlag"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -343,11 +343,11 @@
|
||||
"Stop"
|
||||
]
|
||||
},
|
||||
"Roguelike1StageTraderInvestSystemFull": {
|
||||
"Roguelike@StageTraderInvestSystemFull": {
|
||||
"algorithm": "OcrDetect",
|
||||
"cache": false,
|
||||
"reduceOtherTimes": [
|
||||
"Roguelike1StageTraderInvestConfirm"
|
||||
"Roguelike@StageTraderInvestConfirm"
|
||||
],
|
||||
"text": [
|
||||
"Storage full"
|
||||
@@ -359,7 +359,7 @@
|
||||
289
|
||||
],
|
||||
"next": [
|
||||
"Roguelike1StageTraderInvestCancel"
|
||||
"Roguelike@StageTraderInvestCancel"
|
||||
]
|
||||
},
|
||||
"BattleStageName": {
|
||||
@@ -1527,7 +1527,7 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
"Roguelike1Custom-HijackSquad": {
|
||||
"RoguelikeCustom-HijackSquad": {
|
||||
"algorithm": "OcrDetect",
|
||||
"text": [],
|
||||
"roi": [
|
||||
@@ -1579,7 +1579,7 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
"Roguelike1Custom-HijackRoles": {
|
||||
"RoguelikeCustom-HijackRoles": {
|
||||
"algorithm": "OcrDetect",
|
||||
"text": [],
|
||||
"roi": [
|
||||
@@ -1615,7 +1615,7 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
"Roguelike1Custom-HijackCoChar": {
|
||||
"RoguelikeCustom-HijackCoChar": {
|
||||
"algorithm": "OcrDetect",
|
||||
"text": [],
|
||||
"roi": [
|
||||
|
||||
|
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
@@ -1794,7 +1794,7 @@
|
||||
"RecruitNowConfirm"
|
||||
]
|
||||
},
|
||||
"Roguelike1Custom-HijackSquad": {
|
||||
"RoguelikeCustom-HijackSquad": {
|
||||
"algorithm": "OcrDetect",
|
||||
"text": [],
|
||||
"roi": [
|
||||
@@ -1846,7 +1846,7 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
"Roguelike1Custom-HijackRoles": {
|
||||
"RoguelikeCustom-HijackRoles": {
|
||||
"algorithm": "OcrDetect",
|
||||
"text": [],
|
||||
"roi": [
|
||||
@@ -1874,7 +1874,7 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
"Roguelike1Custom-HijackCoChar": {
|
||||
"RoguelikeCustom-HijackCoChar": {
|
||||
"algorithm": "OcrDetect",
|
||||
"text": [],
|
||||
"roi": [
|
||||
@@ -1919,7 +1919,7 @@
|
||||
],
|
||||
"preDelay": 1000
|
||||
},
|
||||
"Roguelike1RecruitLevel": {
|
||||
"RoguelikeRecruitLevel": {
|
||||
"template": "empty.png",
|
||||
"Doc": "日服的等级字体比国服大一圈,要改roi",
|
||||
"roi": [
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |