diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..8ca517d6 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,11 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file + +version: 2 +updates: + - package-ecosystem: "nuget" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" diff --git a/.gitignore b/.gitignore index 40e14f5e..081edd63 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,220 @@ -bin -obj -/.vs +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +build/ +bld/ +[Bb]in/ +[Oo]bj/ + +# Visual Studio 2015 cache/options directory +.vs/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +## TODO: Comment the next line if you want to checkin your +## web deploy settings but do note that will include unencrypted +## passwords +#*.pubxml + +*.publishproj + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config + +# Windows Azure Build Output +csx/ +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# LightSwitch generated files +GeneratedArtifacts/ +_Pvt_Extensions/ +ModelManifest.xml + +# Ambermoon folders /Ambermoon.net/Saves /Ambermoon.net/Screenshots /Ambermoon.net/music +*.zip +*.exe +*.gz diff --git a/Ambermoon.Renderer.OpenGL/SkyShader.cs b/Ambermoon.Renderer.OpenGL/SkyShader.cs index b09bfb77..a6adebfd 100644 --- a/Ambermoon.Renderer.OpenGL/SkyShader.cs +++ b/Ambermoon.Renderer.OpenGL/SkyShader.cs @@ -78,7 +78,7 @@ internal class SkyShader : TextureShader $"void main()", $"{{", $" vec2 atlasFactor = vec2(1.0f / float({DefaultAtlasSizeName}.x), 1.0f / float({DefaultAtlasSizeName}.y));", - $" int index = int(mod(gl_VertexID, 4));", + $" int index = int(mod(float(gl_VertexID), float(4)));", $" float dx = index == 0 || index == 3 ? -0.49f : 0.49f;", $" float dy = index < 2 ? -0.49f : 0.49f;", $" vec2 pos = vec2(float({DefaultPositionName}.x) + dx, float({DefaultPositionName}.y) + dy);", diff --git a/Ambermoon.net/GameWindow.cs b/Ambermoon.net/GameWindow.cs index f77deec7..ab9e0072 100644 --- a/Ambermoon.net/GameWindow.cs +++ b/Ambermoon.net/GameWindow.cs @@ -86,7 +86,7 @@ void ChangeResolution(int? oldWidth, bool fullscreen, bool changed) if (fullscreen) { - var fullscreenSize = renderView.AvailableFullscreenModes.OrderBy(r => r.Width * r.Height).LastOrDefault(); + var fullscreenSize = renderView.AvailableFullscreenModes.MaxBy(r => r.Width * r.Height); if (fullscreenSize != null) { @@ -1136,7 +1136,7 @@ void Window_Load() availableFullscreenModes = window.Monitor.GetAllVideoModes().Select(mode => new Size(mode.Resolution.Value.X, mode.Resolution.Value.Y)).Distinct().ToList(); - var fullscreenSize = availableFullscreenModes.OrderBy(r => r.Width * r.Height).LastOrDefault(); + var fullscreenSize = availableFullscreenModes.MaxBy(r => r.Width * r.Height); if (fullscreenSize != null) { @@ -1585,7 +1585,7 @@ public void Run(Configuration configuration) #if GLES var api = new GraphicsAPI - (ContextAPI.OpenGLES, ContextProfile.Compatability, ContextFlags.Default, new APIVersion(2, 0)); + (ContextAPI.OpenGLES, ContextProfile.Compatability, ContextFlags.Default, new APIVersion(3, 0)); #else var api = GraphicsAPI.Default; #endif diff --git a/publish-linux-arm64.ps1 b/publish-linux-arm64.ps1 new file mode 100644 index 00000000..0b327872 --- /dev/null +++ b/publish-linux-arm64.ps1 @@ -0,0 +1,12 @@ +Write-Host Publish Linux-arm64 executable +dotnet clean "./Ambermoon.Renderer.OpenGL/Ambermoon.Renderer.OpenGL.csproj" +dotnet build -c ReleaseES "./Ambermoon.ConcatFiles/Ambermoon.ConcatFiles.csproj" -r win-x64 +dotnet build -c ReleaseES "./Ambermoon.Renderer.OpenGL/Ambermoon.Renderer.OpenGL.csproj" +dotnet publish -c ReleaseES ./Ambermoon.net/Ambermoon.net.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r linux-arm64 --no-restore --self-contained +dotnet publish -c ReleaseES ./AmbermoonPatcher/AmbermoonPatcher.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r linux-arm64 --nologo --self-contained +Write-Host Pack tar for Linux +Start-Process -FilePath "./Ambermoon.ConcatFiles/bin/ReleaseES/net7.0/win-x64/Ambermoon.ConcatFiles.exe" -Wait -WorkingDirectory . -ArgumentList 'versions','"./versions.dat"','diffs','diffs.dat','"./Ambermoon.net/bin/ReleaseES/net7.0/linux-arm64/publish/Ambermoon.net"' + +7z a Ambermoon.net-Linux-arm64.tar "./Ambermoon.net/bin/ReleaseES/net7.0/linux-arm64/publish/Ambermoon.net" "./AmbermoonPatcher/bin/ReleaseES/net7.0/linux-arm64/publish/AmbermoonPatcher" "./Package/*" +7z a Ambermoon.net-Linux-arm64.tar.gz Ambermoon.net-Linux-arm64.tar -mx9 +rm Ambermoon.net-Linux-arm64.tar \ No newline at end of file diff --git a/publish-multi.ps1 b/publish-multi.ps1 new file mode 100644 index 00000000..a3914c20 --- /dev/null +++ b/publish-multi.ps1 @@ -0,0 +1,34 @@ +Write-Host Publish Windows executables +dotnet publish -c Release ./Ambermoon.ConcatFiles/Ambermoon.ConcatFiles.csproj -r win-x64 --nologo --self-contained +dotnet publish -c Release ./AmbermoonPatcher/AmbermoonPatcher.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r win-x86 --nologo --self-contained +dotnet publish -c Release ./AmbermoonPatcher/AmbermoonPatcher.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r win-x64 --nologo --self-contained +dotnet publish -c Release ./Ambermoon.net/Ambermoon.net.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r win-x86 --no-restore --nologo --self-contained +dotnet publish -c Release ./Ambermoon.net/Ambermoon.net.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r win-x64 --no-restore --nologo --self-contained +Write-Host Pack zips for Windows +Start-Process -FilePath "./Ambermoon.ConcatFiles/bin/Release/net7.0/win-x64/publish/Ambermoon.ConcatFiles" -Wait -WorkingDirectory . -ArgumentList 'versions','"./versions.dat"','diffs','diffs.dat','"./Ambermoon.net/bin/Release/net7.0/win-x64/publish/Ambermoon.net.exe"' +cmd /c copy "Ambermoon.net\bin\Release\net7.0\win-x64\publish\Ambermoon.net.exe" "Ambermoon.net\Ambermoon.net.exe" +7z a Ambermoon.net-Windows-x64.zip "./Ambermoon.net/Ambermoon.net.exe" "./AmbermoonPatcher/bin/Release/net7.0/win-x64/publish/AmbermoonPatcher.exe" "./Ambermoon.net/x64/api-ms-win-core-winrt-l1-1-0.dll" "./Package/*" -mx9 +Start-Process -FilePath "./Ambermoon.ConcatFiles/bin/Release/net7.0/win-x64/publish/Ambermoon.ConcatFiles" -Wait -WorkingDirectory . -ArgumentList 'versions','"./versions.dat"','diffs','diffs.dat','"./Ambermoon.net/bin/Release/net7.0/win-x86/publish/Ambermoon.net.exe"' +cmd /c copy "Ambermoon.net\bin\Release\net7.0\win-x86\publish\Ambermoon.net.exe" "Ambermoon.net\Ambermoon.net.exe" +7z a Ambermoon.net-Windows-x86.zip "./Ambermoon.net/Ambermoon.net.exe" "./AmbermoonPatcher/bin/Release/net7.0/win-x86/publish/AmbermoonPatcher.exe" "./Ambermoon.net/x86/api-ms-win-core-winrt-l1-1-0.dll" "./Package/*" -mx9 + +Write-Host Publish Linux-x64 executable +dotnet build -c Release "./Ambermoon.Renderer.OpenGL/Ambermoon.Renderer.OpenGL.csproj" +dotnet publish -c Release ./Ambermoon.net/Ambermoon.net.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r linux-x64 --no-restore --self-contained +dotnet publish -c Release ./AmbermoonPatcher/AmbermoonPatcher.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r linux-x64 --nologo --self-contained +Write-Host Pack tar for Linux +Start-Process -FilePath "./Ambermoon.ConcatFiles/bin/Release/net7.0/win-x64/publish/Ambermoon.ConcatFiles" -Wait -WorkingDirectory . -ArgumentList 'versions','"./versions.dat"','diffs','diffs.dat','"./Ambermoon.net/bin/Release/net7.0/linux-x64/publish/Ambermoon.net"' +7z a Ambermoon.net-Linux-x64.tar "./Ambermoon.net/bin/Release/net7.0/linux-x64/publish/Ambermoon.net" "./AmbermoonPatcher/bin/Release/net7.0/linux-x64/publish/AmbermoonPatcher" "./Package/*" +7z a Ambermoon.net-Linux-x64.tar.gz Ambermoon.net-Linux-x64.tar -mx9 +rm Ambermoon.net-Linux-x64.tar + +Write-Host Publish Linux-arm64 executable +dotnet clean "./Ambermoon.Renderer.OpenGL/Ambermoon.Renderer.OpenGL.csproj" +dotnet build -c ReleaseES "./Ambermoon.Renderer.OpenGL/Ambermoon.Renderer.OpenGL.csproj" +dotnet publish -c ReleaseES ./Ambermoon.net/Ambermoon.net.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r linux-arm64 --no-restore --self-contained +dotnet publish -c ReleaseES ./AmbermoonPatcher/AmbermoonPatcher.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r linux-arm64 --nologo --self-contained +Write-Host Pack tar for Linux +Start-Process -FilePath "./Ambermoon.ConcatFiles/bin/Release/net7.0/win-x64/publish/Ambermoon.ConcatFiles" -Wait -WorkingDirectory . -ArgumentList 'versions','"./versions.dat"','diffs','diffs.dat','"./Ambermoon.net/bin/ReleaseES/net7.0/linux-arm64/publish/Ambermoon.net"' +7z a Ambermoon.net-Linux-arm64.tar "./Ambermoon.net/bin/ReleaseES/net7.0/linux-arm64/publish/Ambermoon.net" "./AmbermoonPatcher/bin/ReleaseES/net7.0/linux-arm64/publish/AmbermoonPatcher" "./Package/*" +7z a Ambermoon.net-Linux-arm64.tar.gz Ambermoon.net-Linux-arm64.tar -mx9 +rm Ambermoon.net-Linux-arm64.tar \ No newline at end of file diff --git a/publish.ps1 b/publish.ps1 index ccdb4198..c74e1435 100644 --- a/publish.ps1 +++ b/publish.ps1 @@ -8,12 +8,12 @@ if ($isWindows) { dotnet publish -c Release ./Ambermoon.net/Ambermoon.net.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r win-x86 --no-restore --nologo --self-contained dotnet publish -c Release ./Ambermoon.net/Ambermoon.net.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r win-x64 --no-restore --nologo --self-contained Write-Host Pack zips for Windows - Start-Process -FilePath "./Ambermoon.ConcatFiles/bin/Any CPU/Release/net6.0/win-x64/publish/Ambermoon.ConcatFiles" -Wait -WorkingDirectory . -ArgumentList 'versions','"./versions.dat"','diffs','diffs.dat','"./Ambermoon.net/bin/Any CPU/Release/net6.0/win-x64/publish/Ambermoon.net.exe"' - cmd /c copy "Ambermoon.net\bin\Any CPU\Release\net6.0\win-x64\publish\Ambermoon.net.exe" "Ambermoon.net\Ambermoon.net.exe" - 7z a Ambermoon.net-Windows.zip "./Ambermoon.net/Ambermoon.net.exe" "./AmbermoonPatcher/bin/Any CPU/Release/net6.0/win-x64/publish/AmbermoonPatcher.exe" "./Ambermoon.net/x64/api-ms-win-core-winrt-l1-1-0.dll" "./Package/*" -mx9 - Start-Process -FilePath "./Ambermoon.ConcatFiles/bin/Any CPU/Release/net6.0/win-x64/publish/Ambermoon.ConcatFiles" -Wait -WorkingDirectory . -ArgumentList 'versions','"./versions.dat"','diffs','diffs.dat','"./Ambermoon.net/bin/Any CPU/Release/net6.0/win-x86/publish/Ambermoon.net.exe"' - cmd /c copy "Ambermoon.net\bin\Any CPU\Release\net6.0\win-x86\publish\Ambermoon.net.exe" "Ambermoon.net\Ambermoon.net.exe" - 7z a Ambermoon.net-Windows32Bit.zip "./Ambermoon.net/Ambermoon.net.exe" "./AmbermoonPatcher/bin/Any CPU/Release/net6.0/win-x86/publish/AmbermoonPatcher.exe" "./Ambermoon.net/x86/api-ms-win-core-winrt-l1-1-0.dll" "./Package/*" -mx9 + Start-Process -FilePath "./Ambermoon.ConcatFiles/bin/Release/net7.0/win-x64/publish/Ambermoon.ConcatFiles" -Wait -WorkingDirectory . -ArgumentList 'versions','"./versions.dat"','diffs','diffs.dat','"./Ambermoon.net/bin/Release/net7.0/win-x64/publish/Ambermoon.net.exe"' + cmd /c copy "Ambermoon.net\bin\Release\net7.0\win-x64\publish\Ambermoon.net.exe" "Ambermoon.net\Ambermoon.net.exe" + 7z a Ambermoon.net-Windows.zip "./Ambermoon.net/Ambermoon.net.exe" "./AmbermoonPatcher/bin/Release/net7.0/win-x64/publish/AmbermoonPatcher.exe" "./Ambermoon.net/x64/api-ms-win-core-winrt-l1-1-0.dll" "./Package/*" -mx9 + Start-Process -FilePath "./Ambermoon.ConcatFiles/bin/Release/net7.0/win-x64/publish/Ambermoon.ConcatFiles" -Wait -WorkingDirectory . -ArgumentList 'versions','"./versions.dat"','diffs','diffs.dat','"./Ambermoon.net/bin/Release/net7.0/win-x86/publish/Ambermoon.net.exe"' + cmd /c copy "Ambermoon.net\bin\Release\net7.0\win-x86\publish\Ambermoon.net.exe" "Ambermoon.net\Ambermoon.net.exe" + 7z a Ambermoon.net-Windows32Bit.zip "./Ambermoon.net/Ambermoon.net.exe" "./AmbermoonPatcher/bin/Release/net7.0/win-x86/publish/AmbermoonPatcher.exe" "./Ambermoon.net/x86/api-ms-win-core-winrt-l1-1-0.dll" "./Package/*" -mx9 } elseif ($isLinux) { Write-Host Publish Linux executable Set-Variable -Name UseGLES -Value false @@ -22,8 +22,8 @@ if ($isWindows) { dotnet publish -c Release ./Ambermoon.ConcatFiles/Ambermoon.ConcatFiles.csproj -r linux-x64 --no-restore dotnet publish -c Release ./AmbermoonPatcher/AmbermoonPatcher.csproj -p:PublishSingleFile=true -p:IncludeAllContentForSelfExtract=true -r linux-x64 --nologo --self-contained Write-Host Pack tar for Linux - Start-Process -FilePath "./Ambermoon.ConcatFiles/bin/Any CPU/Release/net6.0/linux-x64/publish/Ambermoon.ConcatFiles" -Wait -WorkingDirectory . -ArgumentList 'versions','"./versions.dat"','diffs','diffs.dat','"./Ambermoon.net/bin/Any CPU/Release/net6.0/linux-x64/publish/Ambermoon.net"' - 7z a Ambermoon.net-Linux.tar "./Ambermoon.net/bin/Any CPU/Release/net6.0/linux-x64/publish/Ambermoon.net" "./AmbermoonPatcher/bin/Any CPU/Release/net6.0/linux-x64/publish/AmbermoonPatcher" "./Package/*" + Start-Process -FilePath "./Ambermoon.ConcatFiles/bin/Release/net7.0/linux-x64/publish/Ambermoon.ConcatFiles" -Wait -WorkingDirectory . -ArgumentList 'versions','"./versions.dat"','diffs','diffs.dat','"./Ambermoon.net/bin/Release/net7.0/linux-x64/publish/Ambermoon.net"' + 7z a Ambermoon.net-Linux.tar "./Ambermoon.net/bin/Release/net7.0/linux-x64/publish/Ambermoon.net" "./AmbermoonPatcher/bin/Release/net7.0/linux-x64/publish/AmbermoonPatcher" "./Package/*" 7z a Ambermoon.net-Linux.tar.gz Ambermoon.net-Linux.tar -mx9 rm Ambermoon.net-Linux.tar } else { @@ -37,8 +37,8 @@ if ($isWindows) { sudo xcode-select -s /Applications/Xcode-13.2.1.app mkdir -p ./bundle/Ambermoon.net/Ambermoon.net.app/Contents/MacOS/ cp -r ./Ambermoon.net/Mac/* ./bundle/Ambermoon.net/ - cp "./Ambermoon.net/bin/Any CPU/Release/net6.0/osx-x64/publish/Ambermoon.net" ./bundle/Ambermoon.net/Ambermoon.net.app/Contents/MacOS/ - #cp "./AmbermoonPatcher/bin/Any CPU/Release/net6.0/osx-x64/publish/AmbermoonPatcher" ./bundle/Ambermoon.net/Ambermoon.net.app/Contents/MacOS/ + cp "./Ambermoon.net/bin/Release/net7.0/osx-x64/publish/Ambermoon.net" ./bundle/Ambermoon.net/Ambermoon.net.app/Contents/MacOS/ + #cp "./AmbermoonPatcher/bin/Release/net7.0/osx-x64/publish/AmbermoonPatcher" ./bundle/Ambermoon.net/Ambermoon.net.app/Contents/MacOS/ cp "./versions.dat" ./bundle/Ambermoon.net/Ambermoon.net.app/Contents/Resources/ cp "./diffs.dat" ./bundle/Ambermoon.net/Ambermoon.net.app/Contents/Resources/ cp -r ./Package/* ./bundle/Ambermoon.net/ @@ -47,8 +47,8 @@ if ($isWindows) { cp -r ./bundle ./bundle-arm rm ./bundle-arm/Ambermoon.net/Ambermoon.net.app/Contents/MacOS/Ambermoon.net #rm ./bundle-arm/Ambermoon.net/Ambermoon.net.app/Contents/MacOS/AmbermoonPatcher - cp "./Ambermoon.net/bin/Any CPU/Release/net6.0/osx-arm64/publish/Ambermoon.net" ./bundle-arm/Ambermoon.net/Ambermoon.net.app/Contents/MacOS/ - #cp "./AmbermoonPatcher/bin/Any CPU/Release/net6.0/osx-arm64/publish/AmbermoonPatcher" ./bundle-arm/Ambermoon.net/Ambermoon.net.app/Contents/MacOS/ + cp "./Ambermoon.net/bin/Release/net7.0/osx-arm64/publish/Ambermoon.net" ./bundle-arm/Ambermoon.net/Ambermoon.net.app/Contents/MacOS/ + #cp "./AmbermoonPatcher/bin/Release/net7.0/osx-arm64/publish/AmbermoonPatcher" ./bundle-arm/Ambermoon.net/Ambermoon.net.app/Contents/MacOS/ Start-Process -FilePath codesign -Wait -WorkingDirectory . -ArgumentList '-s','-','--force','--verbose','--deep','--no-strict','"./bundle-arm/Ambermoon.net/Ambermoon.net.app"' 7z a Ambermoon.net-Mac-ARM.zip ./bundle-arm/Ambermoon.net/ -mx9 }