Skip to content

Commit df78f87

Browse files
authored
Merge branch 'PokemonAutomation:main' into main
2 parents 0d4c6f4 + 52e9eaf commit df78f87

File tree

6 files changed

+119
-27
lines changed

6 files changed

+119
-27
lines changed

.azure-pipelines/azure-pipelines.yml

Lines changed: 80 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ stages:
8787
imageName: 'windows-2025'
8888
architecture: 'x64'
8989
compiler: 'MSVC'
90-
qt_version: '6.8.3'
90+
qt_version: '6.10.2'
9191
qt_version_major: '6'
9292
qt_modules: 'qtserialport qtmultimedia'
9393
cmake_preset: 'RelWithDebInfo'
@@ -124,11 +124,17 @@ stages:
124124
Write-Host "=== Running windeployqt ==="
125125
$BUILD_DIR = "$(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)"
126126
$APP_EXE = "$BUILD_DIR/SerialPrograms.exe"
127-
$BUILD_CACHE = "$BUILD_DIR/cache-build"
127+
$BUILD_CACHE = "$BUILD_DIR/cache-build/Binaries64"
128128
$SYMBOLS_CACHE = "$BUILD_DIR/cache-symbols"
129129
New-Item -ItemType Directory -Force -Path $BUILD_CACHE | Out-Null
130130
& "C:/Qt/$(qt_version)/msvc2022_64/bin/windeployqt.exe" --dir "$BUILD_CACHE" --release "$APP_EXE"
131131
New-Item -ItemType Directory -Force -Path $SYMBOLS_CACHE | Out-Null
132+
133+
Write-Host "=== Excluding unnecessary files from deployment ==="
134+
Remove-Item -Path "$BUILD_CACHE/opencv_world4120d.dll" -ErrorAction SilentlyContinue
135+
Remove-Item -Path "$BUILD_CACHE/translations" -Recurse -Force -ErrorAction SilentlyContinue
136+
Remove-Item -Path "$BUILD_CACHE/generic" -Recurse -Force -ErrorAction SilentlyContinue
137+
132138
Write-Host "=== windeployqt complete ==="
133139
displayName: 'Deploy app'
134140
condition: succeeded()
@@ -137,28 +143,65 @@ stages:
137143
echo "=== Copying resources==="
138144
robocopy $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/Packages/Resources $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)/cache-build/Resources /s
139145
robocopy $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/Packages/Firmware $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)/cache-build/Firmware /s
140-
robocopy $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset) $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)/cache-build/ *.dll
141-
robocopy $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset) $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)/cache-build/ SerialPrograms.exe
146+
robocopy $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset) $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)/cache-build/Binaries64 *.dll
147+
robocopy $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset) $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)/cache-build/Binaries64 SerialPrograms.exe
142148
robocopy $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset) $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)/cache-symbols/ SerialPrograms.pdb
143149
Write-Host "Robocopy exited with exit code:" $LASTEXITCODE
144150
if ($LASTEXITCODE -eq 1) { exit 0 } else { exit 1 }
145151
displayName: 'Copy resources'
146152
condition: succeeded()
147153
154+
- powershell: |
155+
$BUILD_DIR = "$(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)"
156+
$BUILD_CACHE = "$BUILD_DIR/cache-build"
157+
158+
$cmdContent = @'
159+
cd %~dp0
160+
161+
if not exist Binaries64\ (
162+
echo.
163+
echo Please unzip the folder before you can use it.
164+
echo.
165+
pause
166+
exit
167+
)
168+
169+
if not exist Binaries64\SerialPrograms.exe (
170+
echo.
171+
echo Binaries\SerialPrograms.exe not found. Did your anti-virus delete it?
172+
echo.
173+
pause
174+
exit
175+
)
176+
177+
start "" Binaries64\SerialPrograms.exe
178+
179+
'@
180+
181+
Set-Content -Path "$BUILD_CACHE/SerialPrograms-Windows.cmd" -Value $cmdContent -Encoding UTF8
182+
Write-Host "=== Created SerialPrograms-Windows.cmd launcher ==="
183+
displayName: 'Create launcher script'
184+
condition: succeeded()
185+
148186
- powershell: |
149187
$root = "$(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)"
188+
$version = "${{ parameters.versionMajor }}.${{ parameters.versionMinor }}.${{ parameters.versionPatch }}"
189+
$folderName = "SerialPrograms-$version-Windows-x64"
150190
$name = "SerialPrograms-Windows-$(compiler)-$(architecture)"
151191
152192
$cacheArtifactsDir = Join-Path $root "cache-artifacts"
153193
$artifactSubdir = Join-Path $cacheArtifactsDir $name
154194
New-Item -ItemType Directory -Force -Path $artifactSubdir | Out-Null
155195
156196
$temp = Join-Path $root "temp-archive"
157-
New-Item -ItemType Directory -Force -Path $temp | Out-Null
158-
Copy-Item "$root/cache-build/*" $temp -Recurse -Force
197+
$tempFolder = Join-Path $temp $folderName
198+
New-Item -ItemType Directory -Force -Path $tempFolder | Out-Null
199+
Copy-Item "$root/cache-build/*" $tempFolder -Recurse -Force
159200
160-
Compress-Archive -Path $temp/* -DestinationPath "$artifactSubdir/$name.zip"
201+
Compress-Archive -Path $tempFolder -DestinationPath "$artifactSubdir/$name.zip"
161202
Remove-Item $temp -Recurse -Force
203+
204+
Write-Host "=== Created archive with enclosing folder: $folderName ==="
162205
displayName: 'Archive Windows build artifact'
163206
condition: succeeded()
164207
@@ -206,7 +249,7 @@ stages:
206249
imageName: 'ubuntu-24.04'
207250
architecture: 'x64'
208251
compiler: 'GCC'
209-
qt_version: '6.10.0'
252+
qt_version: '6.10.2'
210253
qt_version_major: '6'
211254
qt_modules: 'qtserialport qtmultimedia'
212255
cmake_preset: 'RelWithDebInfo'
@@ -307,14 +350,23 @@ stages:
307350
-p qt \
308351
-v 3
309352
353+
echo "=== Removing unnecessary Qt files ==="
354+
rm -rf "$APPDIR/usr/translations"
355+
356+
echo "=== Packaging AppImage ==="
310357
./appimagetool-x86_64.AppImage AppDir
311358
rm linuxdeploy-*.AppImage
312359
rm appimagetool-x86_64.AppImage
313360
314361
echo "=== Archive Linux AppImage ==="
362+
VERSION="${{ parameters.versionMajor }}.${{ parameters.versionMinor }}.${{ parameters.versionPatch }}"
363+
FOLDER_NAME="SerialPrograms-$VERSION-Ubuntu-x64"
364+
mkdir -p "$FOLDER_NAME"
315365
chmod +x "SerialPrograms-x86_64.AppImage"
316-
tar -zcvf $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)/cache-build/SerialPrograms-Ubuntu-$(compiler)-$(architecture).tar.gz SerialPrograms-x86_64.AppImage
317-
echo "=== AppImage build complete ==="
366+
mv "SerialPrograms-x86_64.AppImage" "$FOLDER_NAME/"
367+
tar -zcvf $(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)/cache-build/SerialPrograms-Ubuntu-$(compiler)-$(architecture).tar.gz "$FOLDER_NAME"
368+
369+
echo "=== AppImage build complete with enclosing folder: $FOLDER_NAME ==="
318370
displayName: 'Deploy AppImage'
319371
condition: succeeded()
320372
@@ -352,13 +404,16 @@ stages:
352404
imageName: macos-26
353405
architecture: arm64
354406
compiler: Clang
355-
qt_version: '6.9.3'
407+
qt_version: '6.10.2'
356408
qt_version_major: '6'
357409
qt_modules: 'qtserialport qtmultimedia'
358410
cmake_preset: RelWithDebInfo
359-
macos_path: '/opt/Qt/6.9.3/macos/lib/cmake:/opt/Qt/6.9.3/macos/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/opt/homebrew:$PATH'
411+
macos_path: '/opt/Qt/6.10.2/macos/lib/cmake:/opt/Qt/6.10.2/macos/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/opt/homebrew:$PATH'
360412
cmake_version_params: '-DVERSION_MAJOR=${{ parameters.versionMajor }} -DVERSION_MINOR=${{ parameters.versionMinor }} -DVERSION_PATCH=${{ parameters.versionPatch }} -DIS_BETA=${{ lower(eq(parameters.buildType, ''PrivateBeta'')) }}'
361413
cmake_additional_param: '-DPACKAGE_BUILD=true -DUNIX_LINK_TESSERACT:BOOL=true -DIS_AZURE_BUILD=TRUE'
414+
versionMajor: ${{ parameters.versionMajor }}
415+
versionMinor: ${{ parameters.versionMinor }}
416+
versionPatch: ${{ parameters.versionPatch }}
362417
condition: or(eq('${{ parameters.targetOS }}', 'MacOS'), eq('${{ parameters.targetOS }}', 'All'))
363418

364419
- template: templates/macos-build.yml
@@ -370,13 +425,16 @@ stages:
370425
imageName: macos-15
371426
architecture: x64
372427
compiler: Clang
373-
qt_version: '6.9.3'
428+
qt_version: '6.10.2'
374429
qt_version_major: '6'
375430
qt_modules: 'qtserialport qtmultimedia'
376431
cmake_preset: RelWithDebInfo
377-
macos_path: '/usr/local/Qt/6.9.3/macos/lib/cmake:/usr/local/Qt/6.9.3/macos/bin:/usr/local/bin:/usr/local/sbin:/usr/local:$PATH'
432+
macos_path: '/usr/local/Qt/6.10.2/macos/lib/cmake:/usr/local/Qt/6.10.2/macos/bin:/usr/local/bin:/usr/local/sbin:/usr/local:$PATH'
378433
cmake_version_params: '-DVERSION_MAJOR=${{ parameters.versionMajor }} -DVERSION_MINOR=${{ parameters.versionMinor }} -DVERSION_PATCH=${{ parameters.versionPatch }} -DIS_BETA=${{ lower(eq(parameters.buildType, ''PrivateBeta'')) }}'
379434
cmake_additional_param: '-DPACKAGE_BUILD=true -DUNIX_LINK_TESSERACT:BOOL=true -DIS_AZURE_BUILD=TRUE'
435+
versionMajor: ${{ parameters.versionMajor }}
436+
versionMinor: ${{ parameters.versionMinor }}
437+
versionPatch: ${{ parameters.versionPatch }}
380438
condition: or(eq('${{ parameters.targetOS }}', 'MacOS'), eq('${{ parameters.targetOS }}', 'All'))
381439

382440
###########################################
@@ -394,8 +452,11 @@ stages:
394452
architecture: arm64
395453
compiler: Clang
396454
cmake_preset: RelWithDebInfo
397-
macos_path: '/opt/Qt/6.9.3/macos/lib/cmake:/opt/Qt/6.9.3/macos/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/opt/homebrew:$PATH'
455+
macos_path: '/opt/Qt/6.10.2/macos/lib/cmake:/opt/Qt/6.10.2/macos/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/opt/homebrew:$PATH'
398456
openssl_pkcs_args: '-legacy'
457+
versionMajor: ${{ parameters.versionMajor }}
458+
versionMinor: ${{ parameters.versionMinor }}
459+
versionPatch: ${{ parameters.versionPatch }}
399460
condition: and(succeeded('MacOS_Build_ARM64'), or(eq('${{ parameters.targetOS }}', 'MacOS'), eq('${{ parameters.targetOS }}', 'All')))
400461

401462
- template: templates/macos-notarize.yml
@@ -409,8 +470,11 @@ stages:
409470
architecture: x64
410471
compiler: Clang
411472
cmake_preset: RelWithDebInfo
412-
macos_path: '/usr/local/Qt/6.9.3/macos/lib/cmake:/usr/local/Qt/6.9.3/macos/bin:/usr/local/bin:/usr/local/sbin:/usr/local:$PATH'
473+
macos_path: '/usr/local/Qt/6.10.2/macos/lib/cmake:/usr/local/Qt/6.10.2/macos/bin:/usr/local/bin:/usr/local/sbin:/usr/local:$PATH'
413474
openssl_pkcs_args: '-legacy'
475+
versionMajor: ${{ parameters.versionMajor }}
476+
versionMinor: ${{ parameters.versionMinor }}
477+
versionPatch: ${{ parameters.versionPatch }}
414478
condition: and(succeeded('MacOS_Build_x64'), or(eq('${{ parameters.targetOS }}', 'MacOS'), eq('${{ parameters.targetOS }}', 'All')))
415479

416480
##########################################

.azure-pipelines/templates/checkout.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ steps:
99
sparseCheckoutPatterns: |
1010
/*
1111
!Repository/Public/*
12-
!Repository/Deployment-SerialPrograms-Qt6.10.0-MSVC2022/
12+
!Repository/Deployment-SerialPrograms-Qt6.10.2-MSVC2022/
1313
!Repository/Deployment-SerialPrograms-Qt6.8.3-MSVC2022/
1414
workspaceRepo: true
1515

.azure-pipelines/templates/macos-build.yml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ parameters:
1616
macos_path: ''
1717
cmake_version_params: ''
1818
cmake_additional_param: ''
19+
versionMajor: 0
20+
versionMinor: 0
21+
versionPatch: 0
1922
condition: ''
2023

2124
stages:
@@ -156,10 +159,22 @@ stages:
156159
echo "=== Creating tarballs for build and symbols ==="
157160
mkdir -p "$(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)/cache-build"
158161
cd "$(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/build/$(cmake_preset)"
159-
tar -czf "cache-build/macos-build-${{ parameters.architecture }}.tar.gz" SerialPrograms.app
162+
163+
VERSION="${{ parameters.versionMajor }}.${{ parameters.versionMinor }}.${{ parameters.versionPatch }}"
164+
FOLDER_NAME="SerialPrograms-$VERSION-MacOS-${{ parameters.architecture }}"
165+
mkdir -p "$FOLDER_NAME"
166+
cp -R SerialPrograms.app "$FOLDER_NAME/"
167+
168+
echo "=== Moving Firmware to outside of the .app bundle ==="
169+
mv "$FOLDER_NAME/SerialPrograms.app/Contents/Firmware" "$FOLDER_NAME/"
170+
171+
echo "=== Removing Scripts folder from .app bundle ==="
172+
rm -rf "$FOLDER_NAME/SerialPrograms.app/Contents/Scripts"
173+
174+
tar -czf "cache-build/macos-build-${{ parameters.architecture }}.tar.gz" "$FOLDER_NAME"
160175
tar -czf "cache-symbols/macos-symbols-${{ parameters.architecture }}.tar.gz" cache-symbols/SerialPrograms.dSYM
161176
162-
echo "Deployment complete for $(architecture)"
177+
echo "Deployment complete for $(architecture) with enclosing folder: $FOLDER_NAME"
163178
displayName: 'Deploy app'
164179
condition: succeeded()
165180

.azure-pipelines/templates/macos-notarize.yml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ parameters:
1313
cmake_preset: ''
1414
macos_path: ''
1515
openssl_pkcs_args: ''
16+
versionMajor: 0
17+
versionMinor: 0
18+
versionPatch: 0
1619
condition: ''
1720

1821
stages:
@@ -83,7 +86,9 @@ stages:
8386
- script: |
8487
set -euo pipefail
8588
export PATH=${{ parameters.macos_path }}
86-
APP_DIR="$(Pipeline.Workspace)/Arduino-Source-Internal/SerialPrograms.app"
89+
VERSION="${{ parameters.versionMajor }}.${{ parameters.versionMinor }}.${{ parameters.versionPatch }}"
90+
FOLDER_NAME="SerialPrograms-$VERSION-MacOS-${{ parameters.architecture }}"
91+
APP_DIR="$(Pipeline.Workspace)/Arduino-Source-Internal/$FOLDER_NAME/SerialPrograms.app"
8792
ZIP_PATH="$(Pipeline.Workspace)/SerialPrograms-MacOS-$(compiler)-$(architecture).zip"
8893
ENTITLEMENTS_DIR="$(Pipeline.Workspace)/Arduino-Source-Internal/Repository/Public/SerialPrograms/cmake/MacOSXEntitlements.plist"
8994
@@ -160,19 +165,28 @@ stages:
160165
161166
- script: |
162167
set -euo pipefail
163-
APP_DIR="$(Pipeline.Workspace)/Arduino-Source-Internal/SerialPrograms.app"
168+
VERSION="${{ parameters.versionMajor }}.${{ parameters.versionMinor }}.${{ parameters.versionPatch }}"
169+
FOLDER_NAME="SerialPrograms-$VERSION-MacOS-${{ parameters.architecture }}"
170+
APP_DIR="$(Pipeline.Workspace)/Arduino-Source-Internal/$FOLDER_NAME/SerialPrograms.app"
164171
xcrun stapler staple "$APP_DIR"
165172
spctl --assess --type execute --verbose=4 "$APP_DIR"
166173
displayName: 'Staple and verify'
167174
condition: succeeded()
168175
169176
- script: |
170-
echo "=== Creating a tarball ==="
171-
tar -czf "SerialPrograms-MacOS-$(compiler)-$(architecture).tar.gz" -C "$(Pipeline.Workspace)/Arduino-Source-Internal" "SerialPrograms.app"
177+
set -e
178+
VERSION="${{ parameters.versionMajor }}.${{ parameters.versionMinor }}.${{ parameters.versionPatch }}"
179+
FOLDER_NAME="SerialPrograms-$VERSION-MacOS-${{ parameters.architecture }}"
180+
181+
echo "=== Creating tarball with enclosing folder ==="
182+
tar -czf "SerialPrograms-MacOS-$(compiler)-$(architecture).tar.gz" -C "$(Pipeline.Workspace)/Arduino-Source-Internal" "$FOLDER_NAME"
183+
172184
echo "=== Creating cache directory and moving tarball ==="
173185
CACHE_DIR="$(Pipeline.Workspace)/Arduino-Source-Internal/cache-notarized"
174186
mkdir -p "$CACHE_DIR"
175187
mv "$(Pipeline.Workspace)/Arduino-Source-Internal/SerialPrograms-MacOS-$(compiler)-$(architecture).tar.gz" "$CACHE_DIR/"
188+
189+
echo "=== Tarball created with enclosing folder: $FOLDER_NAME ==="
176190
displayName: 'Create a tarball'
177191
condition: succeeded()
178192

SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Navigation.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -339,8 +339,7 @@ void flee_battle(ConsoleHandle& console, ProControllerContext& context){
339339

340340
void home_black_border_check(ConsoleHandle& console, ProControllerContext& context){
341341
console.log("Going to home to check for black border.");
342-
go_home(console, context);
343-
ensure_at_home(console, context);
342+
pbf_press_button(context, BUTTON_HOME, 120ms, 880ms);
344343
context.wait_for_all_requests();
345344
StartProgramChecks::check_border(console);
346345
console.log("Returning to game.");

SerialPrograms/Source/PokemonFRLG/Programs/ShinyHunting/PokemonFRLG_ShinyHunt-Overworld.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ namespace PokemonFRLG{
2222

2323
ShinyHuntOverworld_Descriptor::ShinyHuntOverworld_Descriptor()
2424
: SingleSwitchProgramDescriptor(
25-
"PokemonFRLG:OverworldReset",
25+
"PokemonFRLG:ShinyHuntOverworld",
2626
Pokemon::STRING_POKEMON + " FRLG", "Shiny Hunt - Overworld",
27-
"Programs/PokemonFRLG/OverworldReset.html",
27+
"Programs/PokemonFRLG/ShinyHunt-Overworld.html",
2828
"Shiny hunt Overworld Pokemon.",
2929
ProgramControllerClass::StandardController_NoRestrictions,
3030
FeedbackType::REQUIRED,

0 commit comments

Comments
 (0)