Merge pull request #3186 from MaaAssistantArknights/dev

Release v4.8.5
This commit is contained in:
uye
2022-12-26 00:25:59 +08:00
committed by GitHub
12 changed files with 95 additions and 37 deletions

View File

@@ -1,3 +1,16 @@
## v4.8.5
- 修复 macOS 依赖库闪退 @hguandl
- 修复 未勾选自动下载更新包时无法自动更新 @ABA2396
- 修复 关卡导航为 当前/上次 时,开启刷信用死循环的问题 @ABA2396
- 修复 进程已存在时无法最小化启动模拟器 @ABA2396
- 修复 掉落/仓库数量识别错误导致崩溃的问题 @MistEO
- 优化 界面 刷信用功能提示 @ABA2396
### For overseas
- Fix the stage name error in the EN client @RiichiTsumo
## v4.8.4
- 修复 拉起模拟器时的报错 @ABA2396

View File

@@ -8,18 +8,18 @@ set(COMPRESSED_SUFFIX ".tar.gz")
if(WIN32)
set(FASTDEPLOY_FILENAME "FastDeploy-Windows")
set(FASTDEPLOY_CHECKSUM "fa1e6457f0787f578fca877f11bc1dc41b6eb196c542946757224e80f24b8008")
set(FASTDEPLOY_CHECKSUM "0a0700d4e8923bcd4c387a658e5e9a689ed9e0d114c260b11d082a2176c233d4")
elseif(APPLE)
if (CURRENT_OSX_ARCH STREQUAL "arm64")
set(FASTDEPLOY_FILENAME "FastDeploy-macOS-arm64")
set(FASTDEPLOY_CHECKSUM "5286563d17593f2124aff305181e22bedee264ef82730f54e6b538cacd9343ee")
set(FASTDEPLOY_CHECKSUM "28a771814d197ba8056f1fcb7cc0671facec90a8733a0dac2cf0b68a8cc36d24")
else()
set(FASTDEPLOY_FILENAME "FastDeploy-macOS-x86_64")
set(FASTDEPLOY_CHECKSUM "d0c8e4947301da1cbf295f79783c6016e1af139d67cc8ea3b532098ec6f1ae4d")
set(FASTDEPLOY_CHECKSUM "76e97c7e944a18eb160646fa32ac0a7e24c87751b2b127dc33454f993f6d4b97")
endif()
else()
set(FASTDEPLOY_FILENAME "FastDeploy-Linux")
set(FASTDEPLOY_CHECKSUM "fc79d95251a82c584eac61c144f962de347469312c4be1d25fb2b8a624136998")
set(FASTDEPLOY_CHECKSUM "4d106e5499e9b5b29426667617215ac7e4e70d2353af10caccdfdf6c1f1534a7")
endif(WIN32)
set(FASTDEPLOY_URL ${FASTDEPLOY_URL_PREFIX}/${FASTDEPLOY_TAG}/${FASTDEPLOY_FILENAME}${COMPRESSED_SUFFIX})
@@ -37,13 +37,9 @@ else ()
set(FASTDEPLOY_FILENAME fastdeploy)
set(FastDeploy_DIR ${THIRD_PARTY_PATH}/install/${FASTDEPLOY_FILENAME})
if (APPLE)
list(APPEND DEPEND_LIBS ${FastDeploy_DIR}/lib/libfastdeploy.dylib)
else ()
find_package(FastDeploy REQUIRED PATHS ${FastDeploy_DIR} NO_DEFAULT_PATH)
include_directories(${FastDeploy_INCLUDE_DIRS})
list(APPEND DEPEND_LIBS ${FastDeploy_LIBS})
endif (APPLE)
find_package(FastDeploy REQUIRED PATHS ${FastDeploy_DIR} NO_DEFAULT_PATH)
include_directories(${FastDeploy_INCLUDE_DIRS})
list(APPEND DEPEND_LIBS ${FastDeploy_LIBS})
endif (FASTDEPLOY_DIRECTORY)
if (INSTALL_THIRD_LIBS)

View File

@@ -7,8 +7,9 @@ if (BUILD_XCFRAMEWORK)
add_custom_command(OUTPUT OpenCV.xcframework
COMMAND rm -rf OpenCV.xcframework
COMMAND mv ${OPENCV_DIRECTORY}/lib/libopencv_world.4.5.3.dylib ${OPENCV_DIRECTORY}/lib/libopencv_world.4.5.dylib
COMMAND xcodebuild -create-xcframework -library ${OPENCV_DIRECTORY}/lib/libopencv_world.4.5.dylib -output OpenCV.xcframework
COMMAND rm -f libopencv_world.4.5.dylib
COMMAND cp ${OPENCV_DIRECTORY}/lib/libopencv_world.4.5.3.dylib libopencv_world.4.5.dylib
COMMAND xcodebuild -create-xcframework -library libopencv_world.4.5.dylib -output OpenCV.xcframework
)
add_custom_command(OUTPUT ONNXRuntime.xcframework
@@ -30,3 +31,7 @@ if (BUILD_XCFRAMEWORK)
DEPENDS MaaCore Paddle2ONNX.xcframework MaaCore.xcframework OpenCV.xcframework ONNXRuntime.xcframework FastDeploy.xcframework
)
endif (BUILD_XCFRAMEWORK)
target_compile_options(MaaCore PRIVATE
-Wno-deprecated-declarations
-Wno-gnu-zero-variadic-macro-arguments)

View File

@@ -1744,15 +1744,15 @@
"寒渊惜别"
],
[
"Crying Over Spilt Milk",
"The Point of No Return",
"覆水难收"
],
[
"Need No More",
"All I Ask of You",
"别无所求"
],
[
"Nothing Ends Well",
"Twisted Every Way",
"诸事不顺"
],
[

View File

@@ -320,10 +320,16 @@ int asst::DepotImageAnalyzer::match_quantity(const Rect& roi)
digit_str.erase(m_pos, digit_str.size());
}
constexpr char Dot = '.';
if (digit_str.empty() ||
!ranges::all_of(digit_str, [](const char& c) -> bool { return std::isdigit(c) || c == '.'; })) {
!ranges::all_of(digit_str, [](const char& c) -> bool { return std::isdigit(c) || c == Dot; })) {
return 0;
}
if (auto dot_pos = digit_str.find(Dot); dot_pos != std::string::npos) {
if (dot_pos == 0 || dot_pos == digit_str.size() - 1 || digit_str.find(Dot, dot_pos + 1) != std::string::npos) {
return 0;
}
}
int quantity = static_cast<int>(std::stod(digit_str) * multiple);
Log.info("Quantity:", quantity);

View File

@@ -553,10 +553,16 @@ int asst::StageDropsImageAnalyzer::match_quantity(const Rect& roi, bool use_word
digit_str.erase(k_pos, digit_str.size());
}
constexpr char Dot = '.';
if (digit_str.empty() ||
!ranges::all_of(digit_str, [](const char& c) -> bool { return std::isdigit(c) || c == '.'; })) {
!ranges::all_of(digit_str, [](const char& c) -> bool { return std::isdigit(c) || c == Dot; })) {
return 0;
}
if (auto dot_pos = digit_str.find(Dot); dot_pos != std::string::npos) {
if (dot_pos == 0 || dot_pos == digit_str.size() - 1 || digit_str.find(Dot, dot_pos + 1) != std::string::npos) {
return 0;
}
}
int quantity = static_cast<int>(std::stod(digit_str) * multiple);
Log.info("Quantity:", quantity);

View File

@@ -500,7 +500,7 @@ namespace MaaWpfGui
}
else if (taskChain == "Mall")
{
if (settingsModel.CreditFightTaskEnabledDisplay)
if (settingsModel.CreditFightTaskEnabled)
{
settingsModel.LastCreditFightTaskTime = Utils.GetYJTimeDateString();
}

View File

@@ -449,13 +449,39 @@ namespace MaaWpfGui
StartInfo = startInfo,
};
process.Start();
process.WaitForInputIdle();
if (MinimizingStartup)
try
{
for (int i = 0; !IsIconic(process.MainWindowHandle) && i < delay * 1000; ++i)
// 如果之前就启动了模拟器,这步会抛出异常
process.WaitForInputIdle();
if (MinimizingStartup)
{
ShowWindow(process.MainWindowHandle, SWMINIMIZE);
Thread.Sleep(1);
for (int i = 0; !IsIconic(process.MainWindowHandle) && i < delay * 1000; ++i)
{
ShowWindow(process.MainWindowHandle, SWMINIMIZE);
Thread.Sleep(1);
}
}
}
catch (Exception)
{
// 如果之前就启动了模拟器,如果开启了最小化启动,就把所有模拟器最小化
// TODO:只最小化需要开启的模拟器
string processName = Path.GetFileNameWithoutExtension(fileName);
Process[] processes = Process.GetProcessesByName(processName);
if (processes.Length > 0)
{
if (MinimizingStartup)
{
foreach (Process p in processes)
{
for (int i = 0; !IsIconic(p.MainWindowHandle) && i < delay * 1000; ++i)
{
ShowWindow(p.MainWindowHandle, SWMINIMIZE);
Thread.Sleep(1);
}
}
}
}
}
}
@@ -468,9 +494,10 @@ namespace MaaWpfGui
else
{
Process.Start(EmulatorPath, EmulatorAddCommand);
Thread.Sleep(delay * 1000);
}
}
Thread.Sleep(delay * 1000);
}
/// <summary>
@@ -1120,6 +1147,12 @@ namespace MaaWpfGui
{
get
{
var task = _container.Get<TaskQueueViewModel>();
if (task.Stage == string.Empty)
{
return false;
}
try
{
if (Utils.GetYJTimeDate() > DateTime.ParseExact(_lastCreditFightTaskTime, "yyyy/MM/dd HH:mm:ss", CultureInfo.InvariantCulture))
@@ -1144,7 +1177,10 @@ namespace MaaWpfGui
public bool CreditFightTaskEnabledDisplay
{
get => _creditFightTaskEnabled;
get
{
return _creditFightTaskEnabled;
}
set
{

View File

@@ -392,13 +392,13 @@ namespace MaaWpfGui
}
});
if (!goDownload)
UpdatePackageName = _assetsObject?["name"]?.ToString() ?? string.Empty;
if (!goDownload || string.IsNullOrWhiteSpace(UpdatePackageName))
{
return CheckUpdateRetT.NoNeedToUpdate;
}
UpdatePackageName = _assetsObject["name"]?.ToString();
// 下载压缩包
var downloaded = false;
var mirroredReplaceMap = new List<Tuple<string, string>>
@@ -825,11 +825,7 @@ namespace MaaWpfGui
{
return false;
}
else if (version.StartsWith("c"))
{
return false;
}
else if (version.Contains("Local"))
else if (version.StartsWith("c") || version.StartsWith("20") || version.Contains("Local"))
{
return false;
}

View File

@@ -199,7 +199,7 @@
<system:String x:Key="SocialPtShop">Social Point shopping</system:String>
<system:String x:Key="CreditFight">Combat with Support to earn credits</system:String>
<system:String x:Key="CreditFightTip">Combat with Support Unit in OF-1 after Visit Friends to earn 30 credits, do not check it if the stage is set to Current/Last</system:String>
<system:String x:Key="CreditFightTip" xml:space="preserve">Combat with Support Unit in OF-1 after Visit Friends to earn 30 credits.&#x0a;This function is invalid when the stage is selected as Current/Last.&#x0a;Please do not check it when the stage OF-1 is not unlocked.</system:String>
<system:String x:Key="HighPriority">Whitelist (split by semicolon)</system:String>
<system:String x:Key="Blacklist">Blacklist (split by semicolon)</system:String>
<system:String x:Key="HighPriorityDefault">Recruitment Permit;LMD</system:String>

View File

@@ -199,7 +199,7 @@
<system:String x:Key="SocialPtShop">信用购物</system:String>
<system:String x:Key="CreditFight">借助战赚信用</system:String>
<system:String x:Key="CreditFightTip">访问好友后借助战打一把OF-1赚30信用关卡选择为「当前/上次」时请勿勾选,别传「火蓝之心」关卡OF-1未解锁时请勿勾选</system:String>
<system:String x:Key="CreditFightTip" xml:space="preserve">访问好友后借助战打一把OF-1赚30信用。&#x0a;关卡选择为「当前/上次」时此功能无效。&#x0a;别传「火蓝之心」关卡OF-1未解锁时请勿勾选</system:String>
<system:String x:Key="HighPriority">优先购买 子串即可 分号分隔</system:String>
<system:String x:Key="Blacklist">黑名单 子串即可 分号分隔</system:String>
<system:String x:Key="HighPriorityDefault">招聘许可;龙门币</system:String>

View File

@@ -159,7 +159,7 @@
<system:String x:Key="SocialPtShop">信用購物</system:String>
<system:String x:Key="CreditFight">藉助戰賺信用</system:String>
<system:String x:Key="CreditFightTip">訪問好友後藉助戰打一把OF-1賺30信用關卡選擇爲「當前/上次」時請勿勾選</system:String>
<system:String x:Key="CreditFightTip" xml:space="preserve">訪問好友後藉助戰打一把OF-1賺30信用。&#x0a;關卡選擇爲「當前/上次」時此功能無效。&#x0a;別傳「火藍之心」關卡OF-1未解鎖時請勿勾選</system:String>
<system:String x:Key="HighPriority">優先購買 子串即可 分号分隔</system:String>
<system:String x:Key="Blacklist">黑名單 子串即可 分号分隔</system:String>
<system:String x:Key="HighPriorityDefault">招聘許可;龍門幣</system:String>