diff --git a/.github/workflows/pvs_studio.yml b/.github/workflows/pvs_studio.yml index e3d5fc13..f28fad20 100644 --- a/.github/workflows/pvs_studio.yml +++ b/.github/workflows/pvs_studio.yml @@ -65,7 +65,6 @@ jobs: pvs-studio-analyzer credentials ${{ secrets.PVS_STUDIO_CREDENTIALS }} pvs-studio-analyzer analyze \ @.pvsoptions \ - --disableLicenseExpirationCheck \ -j$(grep -c processor /proc/cpuinfo) \ -f build/f7-firmware-DC/compile_commands.json \ -o PVS-Studio.log diff --git a/.gitmodules b/.gitmodules index 308d60fd..a97e0933 100644 --- a/.gitmodules +++ b/.gitmodules @@ -22,9 +22,6 @@ [submodule "lib/microtar"] path = lib/microtar url = https://github.com/amachronic/microtar.git -[submodule "lib/scons"] - path = lib/scons - url = https://github.com/SCons/scons.git [submodule "lib/mbedtls"] path = lib/mbedtls url = https://github.com/Mbed-TLS/mbedtls.git diff --git a/.vscode/example/c_cpp_properties.json b/.vscode/example/c_cpp_properties.json index db08320c..d1cac63e 100644 --- a/.vscode/example/c_cpp_properties.json +++ b/.vscode/example/c_cpp_properties.json @@ -2,7 +2,7 @@ "configurations": [ { "name": "Win32", - "compilerPath": "${workspaceFolder}/toolchain/i686-windows/bin/arm-none-eabi-gcc.exe", + "compilerPath": "${workspaceFolder}/toolchain/x86_64-windows/bin/arm-none-eabi-gcc.exe", "intelliSenseMode": "gcc-arm", "compileCommands": "${workspaceFolder}/build/latest/compile_commands.json", "configurationProvider": "ms-vscode.cpptools", diff --git a/.vscode/example/launch.json b/.vscode/example/launch.json index f4df9659..c8b0c601 100644 --- a/.vscode/example/launch.json +++ b/.vscode/example/launch.json @@ -79,6 +79,25 @@ ] // "showDevDebugOutput": "raw", }, + { + "name": "Attach FW (DAP)", + "cwd": "${workspaceFolder}", + "executable": "./build/latest/firmware.elf", + "request": "attach", + "type": "cortex-debug", + "servertype": "openocd", + "device": "cmsis-dap", + "svdFile": "./debug/STM32WB55_CM4.svd", + "rtos": "FreeRTOS", + "configFiles": [ + "interface/cmsis-dap.cfg", + "./debug/stm32wbx.cfg", + ], + "postAttachCommands": [ + "source debug/flipperapps.py", + ], + // "showDevDebugOutput": "raw", + }, { "name": "fbt debug", "type": "python", diff --git a/.vscode/example/settings.json b/.vscode/example/settings.json index d84707e0..19a03b69 100644 --- a/.vscode/example/settings.json +++ b/.vscode/example/settings.json @@ -6,13 +6,13 @@ "cortex-debug.enableTelemetry": false, "cortex-debug.variableUseNaturalFormat": true, "cortex-debug.showRTOS": true, - "cortex-debug.armToolchainPath.windows": "${workspaceFolder}/toolchain/i686-windows/bin", + "cortex-debug.armToolchainPath.windows": "${workspaceFolder}/toolchain/x86_64-windows/bin", "cortex-debug.armToolchainPath.linux": "${workspaceFolder}/toolchain/x86_64-linux/bin", "cortex-debug.armToolchainPath.osx": "${workspaceFolder}/toolchain/x86_64-darwin/bin", - "cortex-debug.openocdPath.windows": "${workspaceFolder}/toolchain/i686-windows/openocd/bin/openocd.exe", + "cortex-debug.openocdPath.windows": "${workspaceFolder}/toolchain/x86_64-windows/openocd/bin/openocd.exe", "cortex-debug.openocdPath.linux": "${workspaceFolder}/toolchain/x86_64-linux/openocd/bin/openocd", "cortex-debug.openocdPath.osx": "${workspaceFolder}/toolchain/x86_64-darwin/openocd/bin/openocd", - "cortex-debug.gdbPath.windows": "${workspaceFolder}/toolchain/i686-windows/bin/arm-none-eabi-gdb-py.bat", + "cortex-debug.gdbPath.windows": "${workspaceFolder}/toolchain/x86_64-windows/bin/arm-none-eabi-gdb-py.bat", "cortex-debug.gdbPath.linux": "${workspaceFolder}/toolchain/x86_64-linux/bin/arm-none-eabi-gdb-py", "cortex-debug.gdbPath.osx": "${workspaceFolder}/toolchain/x86_64-darwin/bin/arm-none-eabi-gdb-py", "editor.formatOnSave": true, diff --git a/SConstruct b/SConstruct index 74fa5667..448df971 100644 --- a/SConstruct +++ b/SConstruct @@ -156,11 +156,9 @@ Depends(fap_dist, firmware_env["FW_EXTAPPS"]["validators"].values()) Alias("fap_dist", fap_dist) # distenv.Default(fap_dist) -plugin_resources_dist = list( - distenv.Install(f"#/assets/resources/apps/{dist_entry[0]}", dist_entry[1]) - for dist_entry in firmware_env["FW_EXTAPPS"]["dist"].values() +distenv.Depends( + firmware_env["FW_RESOURCES"], firmware_env["FW_EXTAPPS"]["resources_dist"] ) -distenv.Depends(firmware_env["FW_RESOURCES"], plugin_resources_dist) # Target for bundling core2 package for qFlipper @@ -291,6 +289,16 @@ distenv.PhonyTarget( "@echo $( ${BLACKMAGIC_ADDR} $)", ) + +# Find STLink probe ids +distenv.PhonyTarget( + "get_stlink", + distenv.Action( + lambda **kw: distenv.GetDevices(), + None, + ), +) + # Prepare vscode environment vscode_dist = distenv.Install("#.vscode", distenv.Glob("#.vscode/example/*")) distenv.Precious(vscode_dist) diff --git a/assets/.gitignore b/assets/.gitignore index 9bc0bdc0..26957704 100644 --- a/assets/.gitignore +++ b/assets/.gitignore @@ -1,3 +1,4 @@ /core2_firmware /resources/Manifest -/resources/apps/* \ No newline at end of file +/resources/apps/* +/resources/dolphin/* diff --git a/assets/SConscript b/assets/SConscript index e1bf546c..63141829 100644 --- a/assets/SConscript +++ b/assets/SConscript @@ -68,15 +68,17 @@ if assetsenv["IS_BASE_FIRMWARE"]: assetsenv.Dir("#/assets/dolphin"), DOLPHIN_RES_TYPE="external", ) - assetsenv.NoClean(dolphin_external) if assetsenv["FORCE"]: assetsenv.AlwaysBuild(dolphin_external) assetsenv.Alias("dolphin_ext", dolphin_external) + assetsenv.Clean(dolphin_external, assetsenv.Dir("#/assets/resources/dolphin")) # Resources manifest resources = assetsenv.Command( "#/assets/resources/Manifest", - assetsenv.GlobRecursive("*", "resources", exclude="Manifest"), + assetsenv.GlobRecursive( + "*", assetsenv.Dir("resources").srcnode(), exclude="Manifest" + ), action=Action( '${PYTHON3} "${ASSETS_COMPILER}" manifest "${TARGET.dir.posix}" --timestamp=${GIT_UNIX_TIMESTAMP}', "${RESMANIFESTCOMSTR}", diff --git a/assets/resources/dolphin/L1_Boxing_128x64/frame_0.bm b/assets/resources/dolphin/L1_Boxing_128x64/frame_0.bm deleted file mode 100644 index 46079c37..00000000 Binary files a/assets/resources/dolphin/L1_Boxing_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Boxing_128x64/frame_1.bm b/assets/resources/dolphin/L1_Boxing_128x64/frame_1.bm deleted file mode 100644 index e12d7079..00000000 Binary files a/assets/resources/dolphin/L1_Boxing_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Boxing_128x64/frame_2.bm b/assets/resources/dolphin/L1_Boxing_128x64/frame_2.bm deleted file mode 100644 index b416740f..00000000 Binary files a/assets/resources/dolphin/L1_Boxing_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Boxing_128x64/frame_3.bm b/assets/resources/dolphin/L1_Boxing_128x64/frame_3.bm deleted file mode 100644 index b7e15dde..00000000 Binary files a/assets/resources/dolphin/L1_Boxing_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Boxing_128x64/frame_4.bm b/assets/resources/dolphin/L1_Boxing_128x64/frame_4.bm deleted file mode 100644 index 202ad6e3..00000000 Binary files a/assets/resources/dolphin/L1_Boxing_128x64/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Boxing_128x64/frame_5.bm b/assets/resources/dolphin/L1_Boxing_128x64/frame_5.bm deleted file mode 100644 index cdc0a2a3..00000000 Binary files a/assets/resources/dolphin/L1_Boxing_128x64/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Boxing_128x64/frame_6.bm b/assets/resources/dolphin/L1_Boxing_128x64/frame_6.bm deleted file mode 100644 index e8ea3aa6..00000000 Binary files a/assets/resources/dolphin/L1_Boxing_128x64/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Boxing_128x64/meta.txt b/assets/resources/dolphin/L1_Boxing_128x64/meta.txt deleted file mode 100644 index c66998e7..00000000 --- a/assets/resources/dolphin/L1_Boxing_128x64/meta.txt +++ /dev/null @@ -1,32 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 9 -Active frames: 7 -Frames order: 0 1 2 1 3 1 2 3 1 4 5 6 5 6 5 4 -Active cycles: 1 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 2 - -Slot: 0 -X: 78 -Y: 16 -Text: F*&K!!! -AlignH: Left -AlignV: Bottom -StartFrame: 2 -EndFrame: 4 - -Slot: 1 -X: 78 -Y: 16 -Text: What ya\nlookin at?! -AlignH: Left -AlignV: Center -StartFrame: 10 -EndFrame: 15 diff --git a/assets/resources/dolphin/L1_Cry_128x64/frame_0.bm b/assets/resources/dolphin/L1_Cry_128x64/frame_0.bm deleted file mode 100644 index 9147714c..00000000 Binary files a/assets/resources/dolphin/L1_Cry_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Cry_128x64/frame_1.bm b/assets/resources/dolphin/L1_Cry_128x64/frame_1.bm deleted file mode 100644 index 789273d9..00000000 Binary files a/assets/resources/dolphin/L1_Cry_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Cry_128x64/frame_2.bm b/assets/resources/dolphin/L1_Cry_128x64/frame_2.bm deleted file mode 100644 index a3c87e0a..00000000 Binary files a/assets/resources/dolphin/L1_Cry_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Cry_128x64/frame_3.bm b/assets/resources/dolphin/L1_Cry_128x64/frame_3.bm deleted file mode 100644 index ba3012b7..00000000 Binary files a/assets/resources/dolphin/L1_Cry_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Cry_128x64/frame_4.bm b/assets/resources/dolphin/L1_Cry_128x64/frame_4.bm deleted file mode 100644 index 1ce28c7a..00000000 Binary files a/assets/resources/dolphin/L1_Cry_128x64/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Cry_128x64/frame_5.bm b/assets/resources/dolphin/L1_Cry_128x64/frame_5.bm deleted file mode 100644 index 4cbc4968..00000000 Binary files a/assets/resources/dolphin/L1_Cry_128x64/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Cry_128x64/frame_6.bm b/assets/resources/dolphin/L1_Cry_128x64/frame_6.bm deleted file mode 100644 index cba81ef3..00000000 Binary files a/assets/resources/dolphin/L1_Cry_128x64/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Cry_128x64/frame_7.bm b/assets/resources/dolphin/L1_Cry_128x64/frame_7.bm deleted file mode 100644 index da28419f..00000000 Binary files a/assets/resources/dolphin/L1_Cry_128x64/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Cry_128x64/meta.txt b/assets/resources/dolphin/L1_Cry_128x64/meta.txt deleted file mode 100644 index 1b7d13dd..00000000 --- a/assets/resources/dolphin/L1_Cry_128x64/meta.txt +++ /dev/null @@ -1,41 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 8 -Active frames: 4 -Frames order: 0 1 2 3 4 2 3 4 5 6 7 6 -Active cycles: 2 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 2 - -Slot: 0 -X: 22 -Y: 40 -Text: I miss you -AlignH: Right -AlignV: Bottom -StartFrame: 9 -EndFrame: 11 - -Slot: 0 -X: 17 -Y: 40 -Text: my friend... -AlignH: Right -AlignV: Bottom -StartFrame: 12 -EndFrame: 15 - -Slot: 1 -X: 2 -Y: 29 -Text: Why are you\nalways away? -AlignH: Right -AlignV: Bottom -StartFrame: 9 -EndFrame: 15 diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_0.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_0.bm deleted file mode 100644 index 8558f0f5..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_1.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_1.bm deleted file mode 100644 index ac7a126e..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_10.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_10.bm deleted file mode 100644 index c5312e5e..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_10.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_11.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_11.bm deleted file mode 100644 index c91ed2fd..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_11.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_12.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_12.bm deleted file mode 100644 index 392905a5..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_12.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_13.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_13.bm deleted file mode 100644 index aa5353e9..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_13.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_14.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_14.bm deleted file mode 100644 index 837c6c71..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_14.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_15.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_15.bm deleted file mode 100644 index 4cb6e533..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_15.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_16.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_16.bm deleted file mode 100644 index ce3ccdec..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_16.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_17.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_17.bm deleted file mode 100644 index 02af0bcf..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_17.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_18.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_18.bm deleted file mode 100644 index 72620a7c..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_18.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_2.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_2.bm deleted file mode 100644 index 94357802..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_3.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_3.bm deleted file mode 100644 index b0d0e691..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_4.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_4.bm deleted file mode 100644 index 3413e507..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_5.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_5.bm deleted file mode 100644 index fd83dd1c..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_6.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_6.bm deleted file mode 100644 index 8c946d18..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_7.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_7.bm deleted file mode 100644 index 8558f0f5..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_8.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_8.bm deleted file mode 100644 index a57e4bac..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_8.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/frame_9.bm b/assets/resources/dolphin/L1_Furippa1_128x64/frame_9.bm deleted file mode 100644 index 114b2639..00000000 Binary files a/assets/resources/dolphin/L1_Furippa1_128x64/frame_9.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Furippa1_128x64/meta.txt b/assets/resources/dolphin/L1_Furippa1_128x64/meta.txt deleted file mode 100644 index c21027e4..00000000 --- a/assets/resources/dolphin/L1_Furippa1_128x64/meta.txt +++ /dev/null @@ -1,14 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 8 -Active frames: 11 -Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -Active cycles: 1 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 0 diff --git a/assets/resources/dolphin/L1_Laptop_128x51/frame_0.bm b/assets/resources/dolphin/L1_Laptop_128x51/frame_0.bm deleted file mode 100644 index 5eb2bdd0..00000000 Binary files a/assets/resources/dolphin/L1_Laptop_128x51/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Laptop_128x51/frame_1.bm b/assets/resources/dolphin/L1_Laptop_128x51/frame_1.bm deleted file mode 100644 index 210f0c91..00000000 Binary files a/assets/resources/dolphin/L1_Laptop_128x51/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Laptop_128x51/frame_2.bm b/assets/resources/dolphin/L1_Laptop_128x51/frame_2.bm deleted file mode 100644 index ff2851c2..00000000 Binary files a/assets/resources/dolphin/L1_Laptop_128x51/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Laptop_128x51/frame_3.bm b/assets/resources/dolphin/L1_Laptop_128x51/frame_3.bm deleted file mode 100644 index 360d405a..00000000 Binary files a/assets/resources/dolphin/L1_Laptop_128x51/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Laptop_128x51/frame_4.bm b/assets/resources/dolphin/L1_Laptop_128x51/frame_4.bm deleted file mode 100644 index 9dd5111f..00000000 Binary files a/assets/resources/dolphin/L1_Laptop_128x51/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Laptop_128x51/frame_5.bm b/assets/resources/dolphin/L1_Laptop_128x51/frame_5.bm deleted file mode 100644 index e56c3f1a..00000000 Binary files a/assets/resources/dolphin/L1_Laptop_128x51/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Laptop_128x51/frame_6.bm b/assets/resources/dolphin/L1_Laptop_128x51/frame_6.bm deleted file mode 100644 index e9b0c0df..00000000 Binary files a/assets/resources/dolphin/L1_Laptop_128x51/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Laptop_128x51/frame_7.bm b/assets/resources/dolphin/L1_Laptop_128x51/frame_7.bm deleted file mode 100644 index 4663c6b0..00000000 Binary files a/assets/resources/dolphin/L1_Laptop_128x51/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Laptop_128x51/meta.txt b/assets/resources/dolphin/L1_Laptop_128x51/meta.txt deleted file mode 100644 index 90cdc5ce..00000000 --- a/assets/resources/dolphin/L1_Laptop_128x51/meta.txt +++ /dev/null @@ -1,32 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 51 -Passive frames: 6 -Active frames: 2 -Frames order: 0 1 2 3 4 5 6 7 -Active cycles: 4 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 1 - -Slot: 0 -X: 60 -Y: 23 -Text: I have to rest -AlignH: Left -AlignV: Bottom -StartFrame: 7 -EndFrame: 10 - -Slot: 0 -X: 60 -Y: 23 -Text: but not today -AlignH: Left -AlignV: Bottom -StartFrame: 11 -EndFrame: 13 diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_0.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_0.bm deleted file mode 100644 index d4cf85ba..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_1.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_1.bm deleted file mode 100644 index f1f0e89f..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_10.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_10.bm deleted file mode 100644 index b91030b1..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_10.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_11.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_11.bm deleted file mode 100644 index fe93787f..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_11.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_12.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_12.bm deleted file mode 100644 index 13fb8e98..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_12.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_2.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_2.bm deleted file mode 100644 index 3050ba38..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_3.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_3.bm deleted file mode 100644 index 0c0c8323..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_4.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_4.bm deleted file mode 100644 index 5e74ea12..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_5.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_5.bm deleted file mode 100644 index 5c556cfd..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_6.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_6.bm deleted file mode 100644 index 1dc15676..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_7.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_7.bm deleted file mode 100644 index e992d75c..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_8.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_8.bm deleted file mode 100644 index 49266d7c..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_8.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_9.bm b/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_9.bm deleted file mode 100644 index 6ebc55c1..00000000 Binary files a/assets/resources/dolphin/L1_Leaving_sad_128x64/frame_9.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Leaving_sad_128x64/meta.txt b/assets/resources/dolphin/L1_Leaving_sad_128x64/meta.txt deleted file mode 100644 index 87600307..00000000 --- a/assets/resources/dolphin/L1_Leaving_sad_128x64/meta.txt +++ /dev/null @@ -1,32 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 4 -Active frames: 42 -Frames order: 0 1 2 1 3 4 5 6 7 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 11 12 4 3 -Active cycles: 1 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 1 - -Slot: 0 -X: 51 -Y: 49 -Text: Adios. -AlignH: Center -AlignV: Top -StartFrame: 6 -EndFrame: 9 - -Slot: 0 -X: 1 -Y: 49 -Text: Forgot something... -AlignH: Center -AlignV: Top -StartFrame: 42 -EndFrame: 45 diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_0.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_0.bm deleted file mode 100644 index d200bb2a..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_1.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_1.bm deleted file mode 100644 index 0ec761cb..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_10.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_10.bm deleted file mode 100644 index d4207c95..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_10.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_11.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_11.bm deleted file mode 100644 index 35955bc2..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_11.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_12.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_12.bm deleted file mode 100644 index 80adf867..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_12.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_13.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_13.bm deleted file mode 100644 index 1994c096..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_13.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_2.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_2.bm deleted file mode 100644 index d3f19290..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_3.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_3.bm deleted file mode 100644 index 1fc2e2b2..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_4.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_4.bm deleted file mode 100644 index 6152a83f..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_5.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_5.bm deleted file mode 100644 index 842600e6..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_6.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_6.bm deleted file mode 100644 index 887a4b86..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_7.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_7.bm deleted file mode 100644 index 8e9a34e9..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_8.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_8.bm deleted file mode 100644 index a430e480..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_8.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_9.bm b/assets/resources/dolphin/L1_Mad_fist_128x64/frame_9.bm deleted file mode 100644 index 487f50b3..00000000 Binary files a/assets/resources/dolphin/L1_Mad_fist_128x64/frame_9.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Mad_fist_128x64/meta.txt b/assets/resources/dolphin/L1_Mad_fist_128x64/meta.txt deleted file mode 100644 index 93e59e49..00000000 --- a/assets/resources/dolphin/L1_Mad_fist_128x64/meta.txt +++ /dev/null @@ -1,23 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 7 -Active frames: 13 -Frames order: 0 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 12 13 12 13 -Active cycles: 1 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 1 - -Slot: 0 -X: 67 -Y: 24 -Text: Am I a joke\nto you?!?! -AlignH: Left -AlignV: Center -StartFrame: 15 -EndFrame: 19 diff --git a/assets/resources/dolphin/L1_Painting_128x64/frame_0.bm b/assets/resources/dolphin/L1_Painting_128x64/frame_0.bm deleted file mode 100644 index 2694219e..00000000 Binary files a/assets/resources/dolphin/L1_Painting_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Painting_128x64/frame_1.bm b/assets/resources/dolphin/L1_Painting_128x64/frame_1.bm deleted file mode 100644 index 3c9623d4..00000000 Binary files a/assets/resources/dolphin/L1_Painting_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Painting_128x64/frame_10.bm b/assets/resources/dolphin/L1_Painting_128x64/frame_10.bm deleted file mode 100644 index 64a750e9..00000000 Binary files a/assets/resources/dolphin/L1_Painting_128x64/frame_10.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Painting_128x64/frame_11.bm b/assets/resources/dolphin/L1_Painting_128x64/frame_11.bm deleted file mode 100644 index af1503fe..00000000 Binary files a/assets/resources/dolphin/L1_Painting_128x64/frame_11.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Painting_128x64/frame_2.bm b/assets/resources/dolphin/L1_Painting_128x64/frame_2.bm deleted file mode 100644 index 13916806..00000000 Binary files a/assets/resources/dolphin/L1_Painting_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Painting_128x64/frame_3.bm b/assets/resources/dolphin/L1_Painting_128x64/frame_3.bm deleted file mode 100644 index 751fbc3e..00000000 Binary files a/assets/resources/dolphin/L1_Painting_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Painting_128x64/frame_4.bm b/assets/resources/dolphin/L1_Painting_128x64/frame_4.bm deleted file mode 100644 index c1135b46..00000000 Binary files a/assets/resources/dolphin/L1_Painting_128x64/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Painting_128x64/frame_5.bm b/assets/resources/dolphin/L1_Painting_128x64/frame_5.bm deleted file mode 100644 index a4681af9..00000000 Binary files a/assets/resources/dolphin/L1_Painting_128x64/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Painting_128x64/frame_6.bm b/assets/resources/dolphin/L1_Painting_128x64/frame_6.bm deleted file mode 100644 index 36f2d084..00000000 Binary files a/assets/resources/dolphin/L1_Painting_128x64/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Painting_128x64/frame_7.bm b/assets/resources/dolphin/L1_Painting_128x64/frame_7.bm deleted file mode 100644 index 9759e787..00000000 Binary files a/assets/resources/dolphin/L1_Painting_128x64/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Painting_128x64/frame_8.bm b/assets/resources/dolphin/L1_Painting_128x64/frame_8.bm deleted file mode 100644 index 244adf31..00000000 Binary files a/assets/resources/dolphin/L1_Painting_128x64/frame_8.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Painting_128x64/frame_9.bm b/assets/resources/dolphin/L1_Painting_128x64/frame_9.bm deleted file mode 100644 index 99ed5071..00000000 Binary files a/assets/resources/dolphin/L1_Painting_128x64/frame_9.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Painting_128x64/meta.txt b/assets/resources/dolphin/L1_Painting_128x64/meta.txt deleted file mode 100644 index e5f5fc0a..00000000 --- a/assets/resources/dolphin/L1_Painting_128x64/meta.txt +++ /dev/null @@ -1,32 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 9 -Active frames: 13 -Frames order: 0 1 2 3 4 5 2 3 4 10 6 7 8 7 8 7 8 7 8 9 10 11 -Active cycles: 1 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 1 - -Slot: 0 -X: 57 -Y: 24 -Text: No mistakes, -AlignH: Left -AlignV: Center -StartFrame: 11 -EndFrame: 14 - -Slot: 0 -X: 57 -Y: 21 -Text: only happy\n accidents -AlignH: Left -AlignV: Center -StartFrame: 15 -EndFrame: 18 diff --git a/assets/resources/dolphin/L1_Read_books_128x64/frame_0.bm b/assets/resources/dolphin/L1_Read_books_128x64/frame_0.bm deleted file mode 100644 index 1169e42d..00000000 Binary files a/assets/resources/dolphin/L1_Read_books_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Read_books_128x64/frame_1.bm b/assets/resources/dolphin/L1_Read_books_128x64/frame_1.bm deleted file mode 100644 index 80e2f39b..00000000 Binary files a/assets/resources/dolphin/L1_Read_books_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Read_books_128x64/frame_2.bm b/assets/resources/dolphin/L1_Read_books_128x64/frame_2.bm deleted file mode 100644 index 959b0255..00000000 Binary files a/assets/resources/dolphin/L1_Read_books_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Read_books_128x64/frame_3.bm b/assets/resources/dolphin/L1_Read_books_128x64/frame_3.bm deleted file mode 100644 index 8c106d90..00000000 Binary files a/assets/resources/dolphin/L1_Read_books_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Read_books_128x64/frame_4.bm b/assets/resources/dolphin/L1_Read_books_128x64/frame_4.bm deleted file mode 100644 index 389d2a8e..00000000 Binary files a/assets/resources/dolphin/L1_Read_books_128x64/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Read_books_128x64/frame_5.bm b/assets/resources/dolphin/L1_Read_books_128x64/frame_5.bm deleted file mode 100644 index 4b65b6d9..00000000 Binary files a/assets/resources/dolphin/L1_Read_books_128x64/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Read_books_128x64/frame_6.bm b/assets/resources/dolphin/L1_Read_books_128x64/frame_6.bm deleted file mode 100644 index 451c80a2..00000000 Binary files a/assets/resources/dolphin/L1_Read_books_128x64/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Read_books_128x64/frame_7.bm b/assets/resources/dolphin/L1_Read_books_128x64/frame_7.bm deleted file mode 100644 index 41780907..00000000 Binary files a/assets/resources/dolphin/L1_Read_books_128x64/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Read_books_128x64/frame_8.bm b/assets/resources/dolphin/L1_Read_books_128x64/frame_8.bm deleted file mode 100644 index 4370393d..00000000 Binary files a/assets/resources/dolphin/L1_Read_books_128x64/frame_8.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Read_books_128x64/meta.txt b/assets/resources/dolphin/L1_Read_books_128x64/meta.txt deleted file mode 100644 index 7432507c..00000000 --- a/assets/resources/dolphin/L1_Read_books_128x64/meta.txt +++ /dev/null @@ -1,23 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 13 -Active frames: 2 -Frames order: 0 1 0 2 3 3 4 0 1 5 6 1 1 7 8 -Active cycles: 2 -Frame rate: 2 -Duration: 3600 -Active cooldown: 5 - -Bubble slots: 1 - -Slot: 0 -X: 5 -Y: 28 -Text: Predictable twist -AlignH: Right -AlignV: Bottom -StartFrame: 14 -EndFrame: 16 diff --git a/assets/resources/dolphin/L1_Recording_128x51/frame_0.bm b/assets/resources/dolphin/L1_Recording_128x51/frame_0.bm deleted file mode 100644 index a278e3a9..00000000 Binary files a/assets/resources/dolphin/L1_Recording_128x51/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Recording_128x51/frame_1.bm b/assets/resources/dolphin/L1_Recording_128x51/frame_1.bm deleted file mode 100644 index 403a3ccd..00000000 Binary files a/assets/resources/dolphin/L1_Recording_128x51/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Recording_128x51/frame_10.bm b/assets/resources/dolphin/L1_Recording_128x51/frame_10.bm deleted file mode 100644 index 7684384f..00000000 Binary files a/assets/resources/dolphin/L1_Recording_128x51/frame_10.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Recording_128x51/frame_11.bm b/assets/resources/dolphin/L1_Recording_128x51/frame_11.bm deleted file mode 100644 index 478c1e8b..00000000 Binary files a/assets/resources/dolphin/L1_Recording_128x51/frame_11.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Recording_128x51/frame_2.bm b/assets/resources/dolphin/L1_Recording_128x51/frame_2.bm deleted file mode 100644 index f5dbbc71..00000000 Binary files a/assets/resources/dolphin/L1_Recording_128x51/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Recording_128x51/frame_3.bm b/assets/resources/dolphin/L1_Recording_128x51/frame_3.bm deleted file mode 100644 index eb4b3644..00000000 Binary files a/assets/resources/dolphin/L1_Recording_128x51/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Recording_128x51/frame_4.bm b/assets/resources/dolphin/L1_Recording_128x51/frame_4.bm deleted file mode 100644 index e0db66ff..00000000 Binary files a/assets/resources/dolphin/L1_Recording_128x51/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Recording_128x51/frame_5.bm b/assets/resources/dolphin/L1_Recording_128x51/frame_5.bm deleted file mode 100644 index 9265ef6d..00000000 Binary files a/assets/resources/dolphin/L1_Recording_128x51/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Recording_128x51/frame_6.bm b/assets/resources/dolphin/L1_Recording_128x51/frame_6.bm deleted file mode 100644 index b2676b7c..00000000 Binary files a/assets/resources/dolphin/L1_Recording_128x51/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Recording_128x51/frame_7.bm b/assets/resources/dolphin/L1_Recording_128x51/frame_7.bm deleted file mode 100644 index 70a1f2d1..00000000 Binary files a/assets/resources/dolphin/L1_Recording_128x51/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Recording_128x51/frame_8.bm b/assets/resources/dolphin/L1_Recording_128x51/frame_8.bm deleted file mode 100644 index 05f98d63..00000000 Binary files a/assets/resources/dolphin/L1_Recording_128x51/frame_8.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Recording_128x51/frame_9.bm b/assets/resources/dolphin/L1_Recording_128x51/frame_9.bm deleted file mode 100644 index 65b72320..00000000 Binary files a/assets/resources/dolphin/L1_Recording_128x51/frame_9.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Recording_128x51/meta.txt b/assets/resources/dolphin/L1_Recording_128x51/meta.txt deleted file mode 100644 index de37d5b2..00000000 --- a/assets/resources/dolphin/L1_Recording_128x51/meta.txt +++ /dev/null @@ -1,14 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 51 -Passive frames: 6 -Active frames: 6 -Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 -Active cycles: 1 -Frame rate: 2 -Duration: 3600 -Active cooldown: 5 - -Bubble slots: 0 diff --git a/assets/resources/dolphin/L1_Sleep_128x64/frame_0.bm b/assets/resources/dolphin/L1_Sleep_128x64/frame_0.bm deleted file mode 100644 index 9560e1f4..00000000 Binary files a/assets/resources/dolphin/L1_Sleep_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Sleep_128x64/frame_1.bm b/assets/resources/dolphin/L1_Sleep_128x64/frame_1.bm deleted file mode 100644 index 238b50a2..00000000 Binary files a/assets/resources/dolphin/L1_Sleep_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Sleep_128x64/frame_2.bm b/assets/resources/dolphin/L1_Sleep_128x64/frame_2.bm deleted file mode 100644 index b18e615f..00000000 Binary files a/assets/resources/dolphin/L1_Sleep_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Sleep_128x64/frame_3.bm b/assets/resources/dolphin/L1_Sleep_128x64/frame_3.bm deleted file mode 100644 index 72fedc5e..00000000 Binary files a/assets/resources/dolphin/L1_Sleep_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Sleep_128x64/meta.txt b/assets/resources/dolphin/L1_Sleep_128x64/meta.txt deleted file mode 100644 index ffd845e8..00000000 --- a/assets/resources/dolphin/L1_Sleep_128x64/meta.txt +++ /dev/null @@ -1,41 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 2 -Active frames: 4 -Frames order: 0 1 2 3 2 3 -Active cycles: 2 -Frame rate: 2 -Duration: 3600 -Active cooldown: 5 - -Bubble slots: 2 - -Slot: 0 -X: 53 -Y: 20 -Text: In a lucid dream,\nI could walk... -AlignH: Left -AlignV: Bottom -StartFrame: 3 -EndFrame: 9 - -Slot: 1 -X: 53 -Y: 20 -Text: OH MY GOD! -AlignH: Left -AlignV: Bottom -StartFrame: 3 -EndFrame: 5 - -Slot: 1 -X: 53 -Y: 31 -Text: Just a dream... -AlignH: Left -AlignV: Bottom -StartFrame: 6 -EndFrame: 9 diff --git a/assets/resources/dolphin/L1_Waves_128x50/frame_0.bm b/assets/resources/dolphin/L1_Waves_128x50/frame_0.bm deleted file mode 100644 index aa745466..00000000 Binary files a/assets/resources/dolphin/L1_Waves_128x50/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Waves_128x50/frame_1.bm b/assets/resources/dolphin/L1_Waves_128x50/frame_1.bm deleted file mode 100644 index a23d250b..00000000 Binary files a/assets/resources/dolphin/L1_Waves_128x50/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Waves_128x50/frame_2.bm b/assets/resources/dolphin/L1_Waves_128x50/frame_2.bm deleted file mode 100644 index cd39b17e..00000000 Binary files a/assets/resources/dolphin/L1_Waves_128x50/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Waves_128x50/frame_3.bm b/assets/resources/dolphin/L1_Waves_128x50/frame_3.bm deleted file mode 100644 index 2d5452d7..00000000 Binary files a/assets/resources/dolphin/L1_Waves_128x50/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L1_Waves_128x50/meta.txt b/assets/resources/dolphin/L1_Waves_128x50/meta.txt deleted file mode 100644 index 376447af..00000000 --- a/assets/resources/dolphin/L1_Waves_128x50/meta.txt +++ /dev/null @@ -1,50 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 50 -Passive frames: 2 -Active frames: 4 -Frames order: 0 1 2 3 2 3 -Active cycles: 2 -Frame rate: 2 -Duration: 3600 -Active cooldown: 5 - -Bubble slots: 3 - -Slot: 0 -X: 1 -Y: 17 -Text: I am happy,\nmy friend! -AlignH: Right -AlignV: Bottom -StartFrame: 3 -EndFrame: 9 - -Slot: 1 -X: 1 -Y: 17 -Text: So long and\nthanks for\nall the fish! -AlignH: Right -AlignV: Center -StartFrame: 3 -EndFrame: 9 - -Slot: 2 -X: 1 -Y: 25 -Text: I wish I could -AlignH: Right -AlignV: Bottom -StartFrame: 3 -EndFrame: 5 - -Slot: 2 -X: 1 -Y: 25 -Text: swim all day -AlignH: Right -AlignV: Bottom -StartFrame: 6 -EndFrame: 9 diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_0.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_0.bm deleted file mode 100644 index 7e83e14a..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_1.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_1.bm deleted file mode 100644 index f149f01e..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_10.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_10.bm deleted file mode 100644 index c5312e5e..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_10.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_11.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_11.bm deleted file mode 100644 index c91ed2fd..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_11.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_12.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_12.bm deleted file mode 100644 index 392905a5..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_12.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_13.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_13.bm deleted file mode 100644 index aa5353e9..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_13.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_14.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_14.bm deleted file mode 100644 index 837c6c71..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_14.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_15.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_15.bm deleted file mode 100644 index 0000a886..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_15.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_16.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_16.bm deleted file mode 100644 index 46a96ff4..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_16.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_17.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_17.bm deleted file mode 100644 index edccc739..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_17.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_18.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_18.bm deleted file mode 100644 index 84f60c81..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_18.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_2.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_2.bm deleted file mode 100644 index ade67d10..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_3.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_3.bm deleted file mode 100644 index d05e8ae2..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_4.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_4.bm deleted file mode 100644 index 5aef1276..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_5.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_5.bm deleted file mode 100644 index 3be1790d..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_6.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_6.bm deleted file mode 100644 index c457e787..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_7.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_7.bm deleted file mode 100644 index 7e83e14a..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_8.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_8.bm deleted file mode 100644 index b7b871d1..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_8.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/frame_9.bm b/assets/resources/dolphin/L2_Furippa2_128x64/frame_9.bm deleted file mode 100644 index 269e5b1d..00000000 Binary files a/assets/resources/dolphin/L2_Furippa2_128x64/frame_9.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Furippa2_128x64/meta.txt b/assets/resources/dolphin/L2_Furippa2_128x64/meta.txt deleted file mode 100644 index c21027e4..00000000 --- a/assets/resources/dolphin/L2_Furippa2_128x64/meta.txt +++ /dev/null @@ -1,14 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 8 -Active frames: 11 -Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -Active cycles: 1 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 0 diff --git a/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_0.bm b/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_0.bm deleted file mode 100644 index 3ff70a91..00000000 Binary files a/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_1.bm b/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_1.bm deleted file mode 100644 index ed11583f..00000000 Binary files a/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_2.bm b/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_2.bm deleted file mode 100644 index 41850505..00000000 Binary files a/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_3.bm b/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_3.bm deleted file mode 100644 index d4b47960..00000000 Binary files a/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_4.bm b/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_4.bm deleted file mode 100644 index ee3a5f18..00000000 Binary files a/assets/resources/dolphin/L2_Hacking_pc_128x64/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Hacking_pc_128x64/meta.txt b/assets/resources/dolphin/L2_Hacking_pc_128x64/meta.txt deleted file mode 100644 index 8ad8d42a..00000000 --- a/assets/resources/dolphin/L2_Hacking_pc_128x64/meta.txt +++ /dev/null @@ -1,32 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 3 -Active frames: 2 -Frames order: 0 1 2 3 4 -Active cycles: 4 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 1 - -Slot: 0 -X: 22 -Y: 25 -Text: Mess with\nthe best, -AlignH: Right -AlignV: Center -StartFrame: 4 -EndFrame: 7 - -Slot: 0 -X: 31 -Y: 25 -Text: die like\nthe rest. -AlignH: Right -AlignV: Center -StartFrame: 8 -EndFrame: 10 diff --git a/assets/resources/dolphin/L2_Soldering_128x64/frame_0.bm b/assets/resources/dolphin/L2_Soldering_128x64/frame_0.bm deleted file mode 100644 index 3fc36440..00000000 Binary files a/assets/resources/dolphin/L2_Soldering_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Soldering_128x64/frame_1.bm b/assets/resources/dolphin/L2_Soldering_128x64/frame_1.bm deleted file mode 100644 index 60a2e700..00000000 Binary files a/assets/resources/dolphin/L2_Soldering_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Soldering_128x64/frame_10.bm b/assets/resources/dolphin/L2_Soldering_128x64/frame_10.bm deleted file mode 100644 index f8081935..00000000 Binary files a/assets/resources/dolphin/L2_Soldering_128x64/frame_10.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Soldering_128x64/frame_2.bm b/assets/resources/dolphin/L2_Soldering_128x64/frame_2.bm deleted file mode 100644 index 1d981e7d..00000000 Binary files a/assets/resources/dolphin/L2_Soldering_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Soldering_128x64/frame_3.bm b/assets/resources/dolphin/L2_Soldering_128x64/frame_3.bm deleted file mode 100644 index 48d0aa85..00000000 Binary files a/assets/resources/dolphin/L2_Soldering_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Soldering_128x64/frame_4.bm b/assets/resources/dolphin/L2_Soldering_128x64/frame_4.bm deleted file mode 100644 index a961f4c0..00000000 Binary files a/assets/resources/dolphin/L2_Soldering_128x64/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Soldering_128x64/frame_5.bm b/assets/resources/dolphin/L2_Soldering_128x64/frame_5.bm deleted file mode 100644 index 81b56933..00000000 Binary files a/assets/resources/dolphin/L2_Soldering_128x64/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Soldering_128x64/frame_6.bm b/assets/resources/dolphin/L2_Soldering_128x64/frame_6.bm deleted file mode 100644 index 2f030833..00000000 Binary files a/assets/resources/dolphin/L2_Soldering_128x64/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Soldering_128x64/frame_7.bm b/assets/resources/dolphin/L2_Soldering_128x64/frame_7.bm deleted file mode 100644 index 4519819e..00000000 Binary files a/assets/resources/dolphin/L2_Soldering_128x64/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Soldering_128x64/frame_8.bm b/assets/resources/dolphin/L2_Soldering_128x64/frame_8.bm deleted file mode 100644 index 4bb3b798..00000000 Binary files a/assets/resources/dolphin/L2_Soldering_128x64/frame_8.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Soldering_128x64/frame_9.bm b/assets/resources/dolphin/L2_Soldering_128x64/frame_9.bm deleted file mode 100644 index 1339c607..00000000 Binary files a/assets/resources/dolphin/L2_Soldering_128x64/frame_9.bm and /dev/null differ diff --git a/assets/resources/dolphin/L2_Soldering_128x64/meta.txt b/assets/resources/dolphin/L2_Soldering_128x64/meta.txt deleted file mode 100644 index b705bf62..00000000 --- a/assets/resources/dolphin/L2_Soldering_128x64/meta.txt +++ /dev/null @@ -1,23 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 9 -Active frames: 5 -Frames order: 0 1 2 3 4 5 6 7 8 9 10 9 10 9 -Active cycles: 1 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 1 - -Slot: 0 -X: 71 -Y: 28 -Text: I am busy rn -AlignH: Left -AlignV: Center -StartFrame: 10 -EndFrame: 13 diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_0.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_0.bm deleted file mode 100644 index 07a63d64..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_1.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_1.bm deleted file mode 100644 index 6d118f28..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_10.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_10.bm deleted file mode 100644 index 8010501d..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_10.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_11.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_11.bm deleted file mode 100644 index 4d650bff..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_11.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_12.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_12.bm deleted file mode 100644 index 392905a5..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_12.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_13.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_13.bm deleted file mode 100644 index aa5353e9..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_13.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_14.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_14.bm deleted file mode 100644 index 837c6c71..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_14.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_15.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_15.bm deleted file mode 100644 index 9ff56a5b..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_15.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_16.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_16.bm deleted file mode 100644 index 34cc0b51..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_16.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_17.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_17.bm deleted file mode 100644 index 80cb06fd..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_17.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_18.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_18.bm deleted file mode 100644 index 719a80f0..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_18.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_2.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_2.bm deleted file mode 100644 index c0148585..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_3.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_3.bm deleted file mode 100644 index f70c33ca..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_4.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_4.bm deleted file mode 100644 index 3fee74b7..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_5.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_5.bm deleted file mode 100644 index e363bf7d..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_6.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_6.bm deleted file mode 100644 index f46aabad..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_7.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_7.bm deleted file mode 100644 index 07a63d64..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_8.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_8.bm deleted file mode 100644 index f8bae3a6..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_8.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/frame_9.bm b/assets/resources/dolphin/L3_Furippa3_128x64/frame_9.bm deleted file mode 100644 index 6b5810dc..00000000 Binary files a/assets/resources/dolphin/L3_Furippa3_128x64/frame_9.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Furippa3_128x64/meta.txt b/assets/resources/dolphin/L3_Furippa3_128x64/meta.txt deleted file mode 100644 index c21027e4..00000000 --- a/assets/resources/dolphin/L3_Furippa3_128x64/meta.txt +++ /dev/null @@ -1,14 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 8 -Active frames: 11 -Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 -Active cycles: 1 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 0 diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_0.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_0.bm deleted file mode 100644 index cf2120ff..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_1.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_1.bm deleted file mode 100644 index 24a49213..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_10.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_10.bm deleted file mode 100644 index 1354c78f..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_10.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_11.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_11.bm deleted file mode 100644 index c15289b5..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_11.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_12.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_12.bm deleted file mode 100644 index ac9f0833..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_12.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_13.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_13.bm deleted file mode 100644 index 9ad7b9cf..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_13.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_2.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_2.bm deleted file mode 100644 index 30c4bedc..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_3.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_3.bm deleted file mode 100644 index dc0fb9b7..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_4.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_4.bm deleted file mode 100644 index 025477a7..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_5.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_5.bm deleted file mode 100644 index 89a4cd6a..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_6.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_6.bm deleted file mode 100644 index c93ff6ac..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_7.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_7.bm deleted file mode 100644 index fb6d9bd2..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_8.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_8.bm deleted file mode 100644 index a0377f63..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_8.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_9.bm b/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_9.bm deleted file mode 100644 index 06f66ab3..00000000 Binary files a/assets/resources/dolphin/L3_Hijack_radio_128x64/frame_9.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Hijack_radio_128x64/meta.txt b/assets/resources/dolphin/L3_Hijack_radio_128x64/meta.txt deleted file mode 100644 index 1d415b4b..00000000 --- a/assets/resources/dolphin/L3_Hijack_radio_128x64/meta.txt +++ /dev/null @@ -1,14 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 64 -Passive frames: 8 -Active frames: 8 -Frames order: 0 1 2 3 4 5 4 6 7 8 9 10 11 12 11 13 -Active cycles: 1 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 0 diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_0.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_0.bm deleted file mode 100644 index db283e81..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_0.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_1.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_1.bm deleted file mode 100644 index c6007437..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_1.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_10.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_10.bm deleted file mode 100644 index 694302a9..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_10.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_11.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_11.bm deleted file mode 100644 index 246b955c..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_11.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_12.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_12.bm deleted file mode 100644 index b6fb1130..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_12.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_13.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_13.bm deleted file mode 100644 index 56133541..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_13.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_2.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_2.bm deleted file mode 100644 index 1025137e..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_2.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_3.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_3.bm deleted file mode 100644 index e623a1c0..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_3.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_4.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_4.bm deleted file mode 100644 index 654a68e8..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_4.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_5.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_5.bm deleted file mode 100644 index 14eae4c1..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_5.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_6.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_6.bm deleted file mode 100644 index 56133541..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_6.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_7.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_7.bm deleted file mode 100644 index c9b99a01..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_7.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_8.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_8.bm deleted file mode 100644 index 812db0d4..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_8.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/frame_9.bm b/assets/resources/dolphin/L3_Lab_research_128x54/frame_9.bm deleted file mode 100644 index 0cad9cc2..00000000 Binary files a/assets/resources/dolphin/L3_Lab_research_128x54/frame_9.bm and /dev/null differ diff --git a/assets/resources/dolphin/L3_Lab_research_128x54/meta.txt b/assets/resources/dolphin/L3_Lab_research_128x54/meta.txt deleted file mode 100644 index e83a8b43..00000000 --- a/assets/resources/dolphin/L3_Lab_research_128x54/meta.txt +++ /dev/null @@ -1,59 +0,0 @@ -Filetype: Flipper Animation -Version: 1 - -Width: 128 -Height: 54 -Passive frames: 6 -Active frames: 8 -Frames order: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 -Active cycles: 1 -Frame rate: 2 -Duration: 3600 -Active cooldown: 7 - -Bubble slots: 1 - -Slot: 0 -X: 71 -Y: 23 -Text: 7em!g!7j!\nVyP5?T- -AlignH: Left -AlignV: Center -StartFrame: 8 -EndFrame: 8 - -Slot: 0 -X: 71 -Y: 23 -Text: aUqF7sz!\n%9.mP5H -AlignH: Left -AlignV: Center -StartFrame: 9 -EndFrame: 9 - -Slot: 0 -X: 71 -Y: 23 -Text: 2%Kx2mV\nL8EyA84 -AlignH: Left -AlignV: Center -StartFrame: 10 -EndFrame: 10 - -Slot: 0 -X: 71 -Y: 23 -Text: U7%cRXr\nvbBa!_W1 -AlignH: Left -AlignV: Center -StartFrame: 11 -EndFrame: 11 - -Slot: 0 -X: 71 -Y: 23 -Text: 5rm_[K%\n!!(U9d$tE -AlignH: Left -AlignV: Center -StartFrame: 12 -EndFrame: 12 diff --git a/assets/resources/dolphin/manifest.txt b/assets/resources/dolphin/manifest.txt deleted file mode 100644 index 6bf6957c..00000000 --- a/assets/resources/dolphin/manifest.txt +++ /dev/null @@ -1,121 +0,0 @@ -Filetype: Flipper Animation Manifest -Version: 1 - -Name: L1_Waves_128x50 -Min butthurt: 0 -Max butthurt: 5 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Laptop_128x51 -Min butthurt: 0 -Max butthurt: 7 -Min level: 1 -Max level: 1 -Weight: 3 - -Name: L1_Sleep_128x64 -Min butthurt: 0 -Max butthurt: 10 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Recording_128x51 -Min butthurt: 0 -Max butthurt: 8 -Min level: 1 -Max level: 1 -Weight: 3 - -Name: L1_Furippa1_128x64 -Min butthurt: 0 -Max butthurt: 6 -Min level: 1 -Max level: 1 -Weight: 3 - -Name: L2_Furippa2_128x64 -Min butthurt: 0 -Max butthurt: 6 -Min level: 2 -Max level: 2 -Weight: 3 - -Name: L3_Furippa3_128x64 -Min butthurt: 0 -Max butthurt: 6 -Min level: 3 -Max level: 3 -Weight: 3 - -Name: L1_Read_books_128x64 -Min butthurt: 0 -Max butthurt: 8 -Min level: 1 -Max level: 1 -Weight: 3 - -Name: L2_Hacking_pc_128x64 -Min butthurt: 0 -Max butthurt: 8 -Min level: 2 -Max level: 2 -Weight: 3 - -Name: L1_Cry_128x64 -Min butthurt: 8 -Max butthurt: 13 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Boxing_128x64 -Min butthurt: 10 -Max butthurt: 13 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Mad_fist_128x64 -Min butthurt: 9 -Max butthurt: 13 -Min level: 1 -Max level: 3 -Weight: 3 - -Name: L1_Painting_128x64 -Min butthurt: 0 -Max butthurt: 7 -Min level: 1 -Max level: 3 -Weight: 6 - -Name: L3_Hijack_radio_128x64 -Min butthurt: 0 -Max butthurt: 8 -Min level: 3 -Max level: 3 -Weight: 3 - -Name: L3_Lab_research_128x54 -Min butthurt: 0 -Max butthurt: 10 -Min level: 3 -Max level: 3 -Weight: 3 - -Name: L2_Soldering_128x64 -Min butthurt: 0 -Max butthurt: 10 -Min level: 2 -Max level: 2 -Weight: 3 - -Name: L1_Leaving_sad_128x64 -Min butthurt: 14 -Max butthurt: 14 -Min level: 1 -Max level: 3 -Weight: 3 diff --git a/documentation/AppManifests.md b/documentation/AppManifests.md index c7c73110..f4814ee5 100644 --- a/documentation/AppManifests.md +++ b/documentation/AppManifests.md @@ -76,10 +76,10 @@ Each library is defined as a call to `Lib()` function, accepting the following p - **name**: name of library's folder. Required. - **fap_include_paths**: list of library's relative paths to add to parent fap's include path list. Default value is `["."]` meaning library's source root. - - **sources**: list of filename masks to be used for gathering include files for this library. Default value is `["*.c*"]`. + - **sources**: list of filename masks to be used for gathering include files for this library. Paths are relative to library's source root. Default value is `["*.c*"]`. - **cflags**: list of additional compiler flags to be used for building this library. Default value is `[]`. - **cdefines**: list of additional preprocessor definitions to be used for building this library. Default value is `[]`. - - **cincludes**: list of additional include paths to be used for building this library. Can be used for providing external search paths for this library's code - for configuration headers. Default value is `[]`. + - **cincludes**: list of additional include paths to be used for building this library. Paths are relative to application's root. Can be used for providing external search paths for this library's code - for configuration headers. Default value is `[]`. Example for building an app with a private library: diff --git a/documentation/fbt.md b/documentation/fbt.md index 3fac7ce7..65917051 100644 --- a/documentation/fbt.md +++ b/documentation/fbt.md @@ -54,6 +54,7 @@ To run cleanup (think of `make clean`) for specified targets, add `-c` option. - `blackmagic` - debug firmware with Blackmagic probe (WiFi dev board) - `openocd` - just start OpenOCD - `get_blackmagic` - output blackmagic address in gdb remote format. Useful for IDE integration +- `get_stlink` - output serial numbers for attached STLink probes. Ued for `OPENOCD_ADAPTER_SERIAL=...`. - `lint`, `format` - run clang-format on C source code to check and reformat it according to `.clang-format` specs - `lint_py`, `format_py` - run [black](https://black.readthedocs.io/en/stable/index.html) on Python source code, build system files & application manifests - `cli` - start Flipper CLI session over USB diff --git a/fbt b/fbt index 981489dd..e576f37a 100755 --- a/fbt +++ b/fbt @@ -7,6 +7,7 @@ set -eu; # private variables SCRIPT_PATH="$(cd "$(dirname "$0")" && pwd -P)"; SCONS_DEFAULT_FLAGS="-Q --warn=target-not-built"; +SCONS_EP="python3 -m SCons" # public variables FBT_NOENV="${FBT_NOENV:-""}"; @@ -25,4 +26,4 @@ if [ -z "$FBT_NO_SYNC" ]; then git submodule update --init; fi -python3 "$SCRIPT_PATH/lib/scons/scripts/scons.py" $SCONS_DEFAULT_FLAGS "$@" +$SCONS_EP $SCONS_DEFAULT_FLAGS "$@" diff --git a/fbt.cmd b/fbt.cmd index f09b9838..197f2359 100644 --- a/fbt.cmd +++ b/fbt.cmd @@ -1,7 +1,7 @@ @echo off call "%~dp0scripts\toolchain\fbtenv.cmd" env -set SCONS_EP=%~dp0\lib\scons\scripts\scons.py +set SCONS_EP=python -m SCons if [%FBT_NO_SYNC%] == [] ( if exist ".git" ( @@ -13,4 +13,4 @@ if [%FBT_NO_SYNC%] == [] ( ) set "SCONS_DEFAULT_FLAGS=-Q --warn=target-not-built" -python lib\scons\scripts\scons.py %SCONS_DEFAULT_FLAGS% %* +%SCONS_EP% %SCONS_DEFAULT_FLAGS% %* diff --git a/fbt_options.py b/fbt_options.py index 716f99fd..6ef9759e 100644 --- a/fbt_options.py +++ b/fbt_options.py @@ -52,8 +52,6 @@ OPENOCD_OPTS = [ "debug/stm32wbx.cfg", "-c", "stm32wbx.cpu configure -rtos auto", - "-c", - "init", ] SVD_FILE = "debug/STM32WB55_CM4.svd" diff --git a/firmware.scons b/firmware.scons index 5219a2f3..d0b89a76 100644 --- a/firmware.scons +++ b/firmware.scons @@ -86,21 +86,6 @@ env.AddMethod(ApplyLibFlags) Export("env") -if not env["VERBOSE"]: - env.SetDefault( - HEXCOMSTR="\tHEX\t${TARGET}", - BINCOMSTR="\tBIN\t${TARGET}", - DFUCOMSTR="\tDFU\t${TARGET}", - SDK_PREGEN_COMSTR="\tPREGEN\t${TARGET}", - SDK_COMSTR="\tSDKSRC\t${TARGET}", - SDKSYM_UPDATER_COMSTR="\tSDKCHK\t${TARGET}", - SDKSYM_GENERATOR_COMSTR="\tSDKSYM\t${TARGET}", - APPMETA_COMSTR="\tAPPMETA\t${TARGET}", - APPMETAEMBED_COMSTR="\tFAP\t${TARGET}", - APPCHECK_COMSTR="\tAPPCHK\t${SOURCE}", - ) - - if env["IS_BASE_FIRMWARE"]: env.Append( FIRMWARE_BUILD_CFG="firmware", @@ -149,9 +134,10 @@ fwenv.LoadApplicationManifests() fwenv.PrepareApplicationsBuild() # Build external apps -extapps = fwenv["FW_EXTAPPS"] = SConscript( - "site_scons/extapps.scons", exports={"ENV": fwenv} -) +if env["IS_BASE_FIRMWARE"]: + extapps = fwenv["FW_EXTAPPS"] = SConscript( + "site_scons/extapps.scons", exports={"ENV": fwenv} + ) # Add preprocessor definitions for current set of apps @@ -306,21 +292,9 @@ Alias(fwenv["FIRMWARE_BUILD_CFG"] + "_all", fw_artifacts) if fwenv["IS_BASE_FIRMWARE"]: sdk_source = fwenv.SDKPrebuilder( "sdk_origin", - [], - # Filtering out things cxxheaderparser cannot handle - SDK_PP_FLAGS=[ - '-D"_Static_assert(x,y)="', - '-D"__asm__(x)="', - '-D"__attribute__(x)="', - "-Drestrict=", - "-D_Noreturn=", - "-D__restrict=", - "-D__extension__=", - "-D__inline=inline", - "-D__inline__=inline", - ], + (fwenv["SDK_HEADERS"], fwenv["FW_ASSETS_HEADERS"]), ) - # Depends(sdk_source, (fwenv["SDK_HEADERS"], fwenv["FW_ASSETS_HEADERS"])) + # Extra deps for root headers and generated files Depends(sdk_source, fwenv.ProcessSdkDepends("sdk_origin.d")) fwenv["SDK_DIR"] = fwenv.Dir("sdk") diff --git a/lib/scons b/lib/scons deleted file mode 160000 index c2d1f09f..00000000 --- a/lib/scons +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c2d1f09f615a9ef3fb5497a7e8e5ee2c900d21a7 diff --git a/scripts/fbt/sdk.py b/scripts/fbt/sdk.py index 3d4a17b2..48f935de 100644 --- a/scripts/fbt/sdk.py +++ b/scripts/fbt/sdk.py @@ -7,6 +7,8 @@ from enum import Enum, auto from typing import List, Set, ClassVar, Any from dataclasses import dataclass, field +from ansi.color import fg + from cxxheaderparser.parser import CxxParser @@ -394,21 +396,26 @@ class SdkCache: if self._have_pending_entries(): self.new_entries.add(self.version) print( - f"API version is still WIP: {self.version}. Review the changes and re-run command." + fg.red( + f"API version is still WIP: {self.version}. Review the changes and re-run command." + ) ) - print(f"Entries to review:") + print(f"CSV file entries to mark up:") print( - "\n".join( - map( - str, - filter( - lambda e: not isinstance(e, SdkVersion), self.new_entries - ), + fg.yellow( + "\n".join( + map( + str, + filter( + lambda e: not isinstance(e, SdkVersion), + self.new_entries, + ), + ) ) ) ) else: - print(f"API version {self.version} is up to date") + print(fg.green(f"API version {self.version} is up to date")) regenerate_csv = ( self.loaded_dirty_version diff --git a/scripts/fbt_tools/fbt_assets.py b/scripts/fbt_tools/fbt_assets.py index f058d15f..4fa5353d 100644 --- a/scripts/fbt_tools/fbt_assets.py +++ b/scripts/fbt_tools/fbt_assets.py @@ -30,22 +30,25 @@ def dolphin_emitter(target, source, env): res_root_dir = source[0].Dir(env["DOLPHIN_RES_TYPE"]) source = [res_root_dir] source.extend( - env.GlobRecursive("*.*", res_root_dir), + env.GlobRecursive("*.*", res_root_dir.srcnode()), ) target_base_dir = target[0] env.Replace(_DOLPHIN_OUT_DIR=target[0]) if env["DOLPHIN_RES_TYPE"] == "external": - target = [] - target.extend( - map( - lambda node: target_base_dir.File( - res_root_dir.rel_path(node).replace(".png", ".bm") - ), - filter(lambda node: isinstance(node, SCons.Node.FS.File), source), - ) - ) + target = [target_base_dir.File("manifest.txt")] + ## A detailed list of files to be generated + ## works better if we just leave target the folder + # target = [] + # target.extend( + # map( + # lambda node: target_base_dir.File( + # res_root_dir.rel_path(node).replace(".png", ".bm") + # ), + # filter(lambda node: isinstance(node, SCons.Node.FS.File), source), + # ) + # ) else: asset_basename = f"assets_dolphin_{env['DOLPHIN_RES_TYPE']}" target = [ @@ -53,6 +56,13 @@ def dolphin_emitter(target, source, env): target_base_dir.File(asset_basename + ".h"), ] + # Debug output + # print( + # f"Dolphin res type: {env['DOLPHIN_RES_TYPE']},\ntarget files:", + # list(f.path for f in target), + # f"\nsource files:", + # list(f.path for f in source), + # ) return target, source diff --git a/scripts/fbt_tools/fbt_debugopts.py b/scripts/fbt_tools/fbt_debugopts.py index 3e7b0701..0c0ce3d3 100644 --- a/scripts/fbt_tools/fbt_debugopts.py +++ b/scripts/fbt_tools/fbt_debugopts.py @@ -1,4 +1,39 @@ +from re import search + +from SCons.Errors import UserError +from fbt_options import OPENOCD_OPTS + + +def _get_device_serials(search_str="STLink"): + import serial.tools.list_ports as list_ports + + return set([device.serial_number for device in list_ports.grep(search_str)]) + + +def GetDevices(env): + serials = _get_device_serials() + if len(serials) == 0: + raise UserError("No devices found") + + print("\n".join(serials)) + + def generate(env, **kw): + env.AddMethod(GetDevices) + + if (adapter_serial := env.subst("$OPENOCD_ADAPTER_SERIAL")) != "auto": + env.Append( + OPENOCD_OPTS=[ + "-c", + f"adapter serial {adapter_serial}", + ] + ) + + # Final command is "init", always explicitly added + env.Append( + OPENOCD_OPTS=["-c", "init"], + ) + env.SetDefault( OPENOCD_GDB_PIPE=[ "|openocd -c 'gdb_port pipe; log_output debug/openocd.log' ${[SINGLEQUOTEFUNC(OPENOCD_OPTS)]}" diff --git a/scripts/fbt_tools/fbt_extapps.py b/scripts/fbt_tools/fbt_extapps.py index e40a4efc..5a5dab57 100644 --- a/scripts/fbt_tools/fbt_extapps.py +++ b/scripts/fbt_tools/fbt_extapps.py @@ -1,3 +1,4 @@ +import shutil from SCons.Builder import Builder from SCons.Action import Action from SCons.Errors import UserError @@ -9,6 +10,7 @@ from fbt.elfmanifest import assemble_manifest_data from fbt.appmanifest import FlipperApplication, FlipperManifestException from fbt.sdk import SdkCache import itertools +from ansi.color import fg def BuildAppElf(env, app): @@ -175,7 +177,8 @@ def validate_app_imports(target, source, env): if unresolved_syms: SCons.Warnings.warn( SCons.Warnings.LinkWarning, - f"\033[93m{source[0].path}: app won't run. Unresolved symbols: \033[95m{unresolved_syms}\033[0m", + fg.brightyellow(f"{source[0].path}: app won't run. Unresolved symbols: ") + + fg.brightmagenta(f"{unresolved_syms}"), ) @@ -209,14 +212,51 @@ def GetExtAppFromPath(env, app_dir): return (app, app_elf[0], app_validator[0]) +def fap_dist_emitter(target, source, env): + target_dir = target[0] + + target = [] + for dist_entry in env["_extapps"]["dist"].values(): + target.append(target_dir.Dir(dist_entry[0]).File(dist_entry[1][0].name)) + + for compact_entry in env["_extapps"]["compact"].values(): + source.extend(compact_entry) + + return (target, source) + + +def fap_dist_action(target, source, env): + # FIXME + target_dir = env.Dir("#/assets/resources/apps") + + shutil.rmtree(target_dir.path, ignore_errors=True) + for src, target in zip(source, target): + os.makedirs(os.path.dirname(target.path), exist_ok=True) + shutil.copy(src.path, target.path) + + def generate(env, **kw): env.SetDefault(EXT_APPS_WORK_DIR=kw.get("EXT_APPS_WORK_DIR")) - # env.VariantDir(env.subst("$EXT_APPS_WORK_DIR"), env.Dir("#"), duplicate=False) + + if not env["VERBOSE"]: + env.SetDefault( + FAPDISTCOMSTR="\tFAPDIST\t${TARGET}", + APPMETA_COMSTR="\tAPPMETA\t${TARGET}", + APPMETAEMBED_COMSTR="\tFAP\t${TARGET}", + APPCHECK_COMSTR="\tAPPCHK\t${SOURCE}", + ) env.AddMethod(BuildAppElf) env.AddMethod(GetExtAppFromPath) env.Append( BUILDERS={ + "FapDist": Builder( + action=Action( + fap_dist_action, + "$FAPDISTCOMSTR", + ), + emitter=fap_dist_emitter, + ), "EmbedAppMetadata": Builder( action=[ Action(prepare_app_metadata, "$APPMETA_COMSTR"), diff --git a/scripts/fbt_tools/fbt_sdk.py b/scripts/fbt_tools/fbt_sdk.py index ed0abdff..0b6e22de 100644 --- a/scripts/fbt_tools/fbt_sdk.py +++ b/scripts/fbt_tools/fbt_sdk.py @@ -1,3 +1,4 @@ +import shutil from SCons.Builder import Builder from SCons.Action import Action from SCons.Errors import UserError @@ -117,42 +118,30 @@ class SdkTreeBuilder: target = [target_folder.File("sdk.opts")] return target, source - def _create_deploy_commands(self): + def _run_deploy_commands(self): dirs_to_create = set( - self.sdk_deploy_dir.Dir(dirpath) for dirpath in self.header_dirs + self.sdk_deploy_dir.Dir(dirpath).path for dirpath in self.header_dirs ) - actions = [ - Delete(self.sdk_deploy_dir), - Mkdir(self.sdk_deploy_dir), - Copy( - self.sdk_root_dir, - self.env["SDK_DEFINITION"], - ), - ] - actions += [Mkdir(d) for d in dirs_to_create] - actions += [ - Action( - Copy(self.sdk_deploy_dir.File(h).path, h), - # f"Copy {h} to {self.sdk_deploy_dir}", - ) - for h in self.header_depends - ] - return actions + shutil.rmtree(self.sdk_root_dir.path, ignore_errors=False) - def generate_actions(self): + for sdkdir in dirs_to_create: + os.makedirs(sdkdir, exist_ok=True) + + shutil.copy2(self.env["SDK_DEFINITION"].path, self.sdk_root_dir.path) + + for header in self.header_depends: + shutil.copy2(header, self.sdk_deploy_dir.File(header).path) + + def deploy_action(self): self._parse_sdk_depends() + self._run_deploy_commands() self._generate_sdk_meta() - return self._create_deploy_commands() - - -def deploy_sdk_tree(target, source, env, for_signature): - if for_signature: - return [] +def deploy_sdk_tree_action(target, source, env): sdk_tree = SdkTreeBuilder(env, target, source) - return sdk_tree.generate_actions() + return sdk_tree.deploy_action() def deploy_sdk_tree_emitter(target, source, env): @@ -217,6 +206,30 @@ def generate_sdk_symbols(source, target, env): def generate(env, **kw): + if not env["VERBOSE"]: + env.SetDefault( + SDK_PREGEN_COMSTR="\tPREGEN\t${TARGET}", + SDK_COMSTR="\tSDKSRC\t${TARGET}", + SDKSYM_UPDATER_COMSTR="\tSDKCHK\t${TARGET}", + SDKSYM_GENERATOR_COMSTR="\tSDKSYM\t${TARGET}", + SDKDEPLOY_COMSTR="\tSDKTREE\t${TARGET}", + ) + + # Filtering out things cxxheaderparser cannot handle + env.SetDefault( + SDK_PP_FLAGS=[ + '-D"_Static_assert(x,y)="', + '-D"__asm__(x)="', + '-D"__attribute__(x)="', + "-Drestrict=", + "-D_Noreturn=", + "-D__restrict=", + "-D__extension__=", + "-D__inline=inline", + "-D__inline__=inline", + ] + ) + env.AddMethod(ProcessSdkDepends) env.Append( BUILDERS={ @@ -235,7 +248,10 @@ def generate(env, **kw): suffix=".i", ), "SDKTree": Builder( - generator=deploy_sdk_tree, + action=Action( + deploy_sdk_tree_action, + "$SDKDEPLOY_COMSTR", + ), emitter=deploy_sdk_tree_emitter, src_suffix=".d", ), diff --git a/scripts/fbt_tools/fbt_tweaks.py b/scripts/fbt_tools/fbt_tweaks.py new file mode 100644 index 00000000..a903d403 --- /dev/null +++ b/scripts/fbt_tools/fbt_tweaks.py @@ -0,0 +1,43 @@ +import SCons.Warnings as Warnings + +# from SCons.Script.Main import find_deepest_user_frame + +from ansi.color import fg, bg, fx + +import traceback +import sys +import os + + +def find_deepest_user_frame(tb): + tb.reverse() + + # find the deepest traceback frame that is not part + # of SCons: + for frame in tb: + filename = frame[0] + if filename.find("fbt_tweaks") != -1: + continue + if filename.find(os.sep + "SCons" + os.sep) == -1: + return frame + return tb[0] + + +def fbt_warning(e): + filename, lineno, routine, dummy = find_deepest_user_frame( + traceback.extract_stack() + ) + fbt_line = "\nfbt: warning: %s\n" % e.args[0] + sys.stderr.write(fg.boldmagenta(fbt_line)) + fbt_line = ( + fg.yellow("%s, line %d, " % (routine, lineno)) + 'in file "%s"\n' % filename + ) + sys.stderr.write(fg.yellow(fbt_line)) + + +def generate(env): + Warnings._warningOut = fbt_warning + + +def exists(): + return True diff --git a/scripts/fbt_tools/fwbin.py b/scripts/fbt_tools/fwbin.py index 678b0499..67e0d645 100644 --- a/scripts/fbt_tools/fwbin.py +++ b/scripts/fbt_tools/fwbin.py @@ -12,6 +12,14 @@ def generate(env): OBJCOPY=__OBJCOPY_ARM_BIN, # FIXME NM=__NM_ARM_BIN, # FIXME ) + + if not env["VERBOSE"]: + env.SetDefault( + HEXCOMSTR="\tHEX\t${TARGET}", + BINCOMSTR="\tBIN\t${TARGET}", + DFUCOMSTR="\tDFU\t${TARGET}", + ) + env.Append( BUILDERS={ "HEXBuilder": Builder( diff --git a/scripts/fbt_tools/gdb.py b/scripts/fbt_tools/gdb.py index 94ea9fbe..38256a0f 100644 --- a/scripts/fbt_tools/gdb.py +++ b/scripts/fbt_tools/gdb.py @@ -6,8 +6,6 @@ def generate(env): env.SetDefault( GDB="gdb", GDBPY="gdb-py", - GDBOPTS="", - GDBPYOPTS="", GDBCOM="$GDB $GDBOPTS $SOURCES", # no $TARGET GDBPYCOM="$GDBPY $GDBOPTS $GDBPYOPTS $SOURCES", # no $TARGET ) diff --git a/scripts/fwsize.py b/scripts/fwsize.py index b381f6e9..445c2904 100644 --- a/scripts/fwsize.py +++ b/scripts/fwsize.py @@ -4,6 +4,7 @@ from flipper.app import App import subprocess import os import math +from ansi.color import fg class Main(App): @@ -43,7 +44,9 @@ class Main(App): pages = math.ceil(binsize / PAGE_SIZE) last_page_state = (binsize % PAGE_SIZE) * 100 / PAGE_SIZE print( - f"{os.path.basename(self.args.binname):<11}: {pages:>4} flash pages (last page {last_page_state:.02f}% full)" + fg.yellow( + f"{os.path.basename(self.args.binname):<11}: {pages:>4} flash pages (last page {last_page_state:.02f}% full)" + ) ) return 0 diff --git a/scripts/sconsdist.py b/scripts/sconsdist.py index cb4f8f5a..4c042789 100644 --- a/scripts/sconsdist.py +++ b/scripts/sconsdist.py @@ -7,6 +7,7 @@ from update import Main as UpdateMain import shutil import zipfile import tarfile +from ansi.color import fg class ProjectDir: @@ -126,7 +127,7 @@ class Main(App): self.copy_single_project(project) self.logger.info( - f"Firmware binaries can be found at:\n\t{self.output_dir_path}" + fg.green(f"Firmware binaries can be found at:\n\t{self.output_dir_path}") ) if self.args.version: @@ -162,7 +163,9 @@ class Main(App): if (bundle_result := UpdateMain(no_exit=True)(bundle_args)) == 0: self.logger.info( - f"Use this directory to self-update your Flipper:\n\t{bundle_dir}" + fg.green( + f"Use this directory to self-update your Flipper:\n\t{bundle_dir}" + ) ) # Create tgz archive diff --git a/scripts/toolchain/fbtenv.cmd b/scripts/toolchain/fbtenv.cmd index 5eaf16f9..a11a3ccd 100644 --- a/scripts/toolchain/fbtenv.cmd +++ b/scripts/toolchain/fbtenv.cmd @@ -13,8 +13,8 @@ if not [%FBT_NOENV%] == [] ( exit /b 0 ) -set "FLIPPER_TOOLCHAIN_VERSION=15" -set "FBT_TOOLCHAIN_ROOT=%FBT_ROOT%\toolchain\i686-windows" +set "FLIPPER_TOOLCHAIN_VERSION=16" +set "FBT_TOOLCHAIN_ROOT=%FBT_ROOT%\toolchain\x86_64-windows" if not exist "%FBT_TOOLCHAIN_ROOT%" ( diff --git a/scripts/toolchain/fbtenv.sh b/scripts/toolchain/fbtenv.sh index 7c501803..15f29e4d 100755 --- a/scripts/toolchain/fbtenv.sh +++ b/scripts/toolchain/fbtenv.sh @@ -5,7 +5,7 @@ # public variables DEFAULT_SCRIPT_PATH="$(pwd -P)"; SCRIPT_PATH="${SCRIPT_PATH:-$DEFAULT_SCRIPT_PATH}"; -FBT_TOOLCHAIN_VERSION="${FBT_TOOLCHAIN_VERSION:-"15"}"; +FBT_TOOLCHAIN_VERSION="${FBT_TOOLCHAIN_VERSION:-"16"}"; FBT_TOOLCHAIN_PATH="${FBT_TOOLCHAIN_PATH:-$SCRIPT_PATH}"; fbtenv_show_usage() diff --git a/scripts/toolchain/windows-toolchain-download.ps1 b/scripts/toolchain/windows-toolchain-download.ps1 index bcb8f998..370f1a14 100644 --- a/scripts/toolchain/windows-toolchain-download.ps1 +++ b/scripts/toolchain/windows-toolchain-download.ps1 @@ -3,13 +3,13 @@ $ErrorActionPreference = "Stop" [Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls" $repo_root = (Get-Item "$PSScriptRoot\..\..").FullName $toolchain_version = $args[0] -$toolchain_url = "https://update.flipperzero.one/builds/toolchain/gcc-arm-none-eabi-10.3-i686-windows-flipper-$toolchain_version.zip" -$toolchain_zip = "gcc-arm-none-eabi-10.3-i686-windows-flipper-$toolchain_version.zip" -$toolchain_dir = "gcc-arm-none-eabi-10.3-i686-windows-flipper" +$toolchain_url = "https://update.flipperzero.one/builds/toolchain/gcc-arm-none-eabi-10.3-x86_64-windows-flipper-$toolchain_version.zip" +$toolchain_zip = "gcc-arm-none-eabi-10.3-x86_64-windows-flipper-$toolchain_version.zip" +$toolchain_dir = "gcc-arm-none-eabi-10.3-x86_64-windows-flipper" -if (Test-Path -LiteralPath "$repo_root\toolchain\i686-windows") { +if (Test-Path -LiteralPath "$repo_root\toolchain\x86_64-windows") { Write-Host -NoNewline "Removing old Windows toolchain.." - Remove-Item -LiteralPath "$repo_root\toolchain\i686-windows" -Force -Recurse + Remove-Item -LiteralPath "$repo_root\toolchain\x86_64-windows" -Force -Recurse Write-Host "done!" } if (!(Test-Path -Path "$repo_root\$toolchain_zip" -PathType Leaf)) { @@ -26,7 +26,7 @@ if (!(Test-Path -LiteralPath "$repo_root\toolchain")) { Write-Host -NoNewline "Unziping Windows toolchain.." Add-Type -Assembly "System.IO.Compression.Filesystem" [System.IO.Compression.ZipFile]::ExtractToDirectory("$toolchain_zip", "$repo_root\") -Move-Item -Path "$repo_root\$toolchain_dir" -Destination "$repo_root\toolchain\i686-windows" +Move-Item -Path "$repo_root\$toolchain_dir" -Destination "$repo_root\toolchain\x86_64-windows" Write-Host "done!" Write-Host -NoNewline "Clearing temporary files.." diff --git a/site_scons/commandline.scons b/site_scons/commandline.scons index 324dfe33..cadb417f 100644 --- a/site_scons/commandline.scons +++ b/site_scons/commandline.scons @@ -171,6 +171,11 @@ vars.AddVariables( "Blackmagic probe location", "auto", ), + ( + "OPENOCD_ADAPTER_SERIAL", + "OpenOCD adapter serial number", + "auto", + ), ( "UPDATE_SPLASH", "Directory name with slideshow frames to render after installing update package", diff --git a/site_scons/environ.scons b/site_scons/environ.scons index 2d082838..94705dad 100644 --- a/site_scons/environ.scons +++ b/site_scons/environ.scons @@ -35,6 +35,7 @@ for env_value_name in variables_to_forward: coreenv = VAR_ENV.Clone( tools=[ + "fbt_tweaks", ( "crosscc", { @@ -80,8 +81,9 @@ if not coreenv["VERBOSE"]: # Default value for commandline options SetOption("num_jobs", multiprocessing.cpu_count()) +## NB - disabled both caches since they seem to do more harm then good in our case # Avoiding re-scan of all sources on every startup -SetOption("implicit_cache", True) +# SetOption("implicit_cache", True) # SetOption("implicit_deps_unchanged", True) # More aggressive caching SetOption("max_drift", 1) diff --git a/site_scons/extapps.scons b/site_scons/extapps.scons index 9edc6b5c..ee317be3 100644 --- a/site_scons/extapps.scons +++ b/site_scons/extapps.scons @@ -65,6 +65,7 @@ extapps = appenv["_extapps"] = { "debug": {}, "validators": {}, "dist": {}, + "resources_dist": None, } @@ -108,6 +109,8 @@ appenv.PhonyTarget("firmware_extapps", appenv.Action(legacy_app_build_stub, None Alias("faps", extapps["compact"].values()) Alias("faps", extapps["validators"].values()) +extapps["resources_dist"] = appenv.FapDist(appenv.Dir("#/assets/resources/apps"), []) + if appsrc := appenv.subst("$APPSRC"): app_manifest, fap_file, app_validator = appenv.GetExtAppFromPath(appsrc) appenv.PhonyTarget( diff --git a/site_scons/fbt_extra/util.py b/site_scons/fbt_extra/util.py index aa3d50b6..c670c01d 100644 --- a/site_scons/fbt_extra/util.py +++ b/site_scons/fbt_extra/util.py @@ -1,10 +1,11 @@ from fbt.util import link_dir +from ansi.color import fg def link_elf_dir_as_latest(env, elf_node): elf_dir = elf_node.Dir(".") latest_dir = env.Dir("#build/latest") - print(f"Setting {elf_dir} as latest built dir (./build/latest/)") + print(fg.green(f"Linking {elf_dir} as latest built dir (./build/latest/)")) return link_dir(latest_dir.abspath, elf_dir.abspath, env["PLATFORM"] == "win32") @@ -12,7 +13,7 @@ def should_gen_cdb_and_link_dir(env, requested_targets): explicitly_building_updater = False # Hacky way to check if updater-related targets were requested for build_target in requested_targets: - if "updater" in str(build_target): + if "updater" in str(build_target) and "package" not in str(build_target): explicitly_building_updater = True is_updater = not env["IS_BASE_FIRMWARE"] diff --git a/site_scons/site_init.py b/site_scons/site_init.py index 2d83d881..b763a3a7 100644 --- a/site_scons/site_init.py +++ b/site_scons/site_init.py @@ -3,6 +3,7 @@ from SCons.Script import GetBuildFailures import sys import os import atexit +from ansi.color import fg, fx sys.path.insert(0, os.path.join(os.getcwd(), "scripts")) sys.path.insert(0, os.path.join(os.getcwd(), "lib/cxxheaderparser")) @@ -16,12 +17,12 @@ def bf_to_str(bf): if bf is None: # unknown targets product None in list return "(unknown tgt)" elif isinstance(bf, SCons.Errors.StopError): - return str(bf) + return fg.yellow(str(bf)) elif bf.node: - return str(bf.node) + ": " + bf.errstr + return fg.yellow(str(bf.node)) + ": " + bf.errstr elif bf.filename: - return bf.filename + ": " + bf.errstr - return "unknown failure: " + bf.errstr + return fg.yellow(bf.filename) + ": " + bf.errstr + return fg.yellow("unknown failure: ") + bf.errstr def display_build_status(): @@ -31,10 +32,9 @@ def display_build_status(): if bf: # bf is normally a list of build failures; if an element is None, # it's because of a target that scons doesn't know anything about. - failures_message = "\n".join( - ["Failed building %s" % bf_to_str(x) for x in bf if x is not None] - ) - print("*" * 10, "ERRORS", "*" * 10) + failures_message = "\n".join([bf_to_str(x) for x in bf if x is not None]) + print() + print(fg.brightred(fx.bold("*" * 10 + " FBT ERRORS " + "*" * 10))) print(failures_message)