diff --git a/applications/main/subghz/views/receiver.c b/applications/main/subghz/views/receiver.c index 48630eafb..943fdf815 100644 --- a/applications/main/subghz/views/receiver.c +++ b/applications/main/subghz/views/receiver.c @@ -265,7 +265,7 @@ void subghz_view_receiver_draw(Canvas* canvas, SubGhzViewReceiverModel* model) { canvas, 0, 0, - furi_hal_subghz_get_radio_type() ? &I_Fishing_123x52 : XTREME_ASSETS()->I_Scanning_123x52); + furi_hal_subghz_get_radio_type() ? XTREME_ASSETS()->I_Fishing_123x52 : XTREME_ASSETS()->I_Scanning_123x52); canvas_set_font(canvas, FontPrimary); canvas_draw_str(canvas, 63, 46, "Scanning..."); //canvas_draw_line(canvas, 46, 51, 125, 51); @@ -275,7 +275,7 @@ void subghz_view_receiver_draw(Canvas* canvas, SubGhzViewReceiverModel* model) { canvas, 0, 0, - furi_hal_subghz_get_radio_type() ? &I_Fishing_123x52 : XTREME_ASSETS()->I_Scanning_123x52); + furi_hal_subghz_get_radio_type() ? XTREME_ASSETS()->I_Fishing_123x52 : XTREME_ASSETS()->I_Scanning_123x52); canvas_set_font(canvas, FontPrimary); canvas_draw_str(canvas, 63, 46, "Decoding..."); canvas_set_font(canvas, FontSecondary); diff --git a/applications/services/xtreme/assets.c b/applications/services/xtreme/assets.c index 88a6d563d..ce73e4f87 100644 --- a/applications/services/xtreme/assets.c +++ b/applications/services/xtreme/assets.c @@ -102,6 +102,7 @@ void swap(XtremeAssets* x, FuriString* p, File* f) { icon(&x->I_RFIDDolphinSend_97x61, "RFID/RFIDDolphinSend_97x61", p, f); icon(&x->I_RFIDDolphinSuccess_108x57, "RFID/RFIDDolphinSuccess_108x57", p, f); icon(&x->I_Cry_dolph_55x52, "Settings/Cry_dolph_55x52", p, f); + icon(&x->I_Fishing_123x52, "SubGhz/Fishing_123x52", p, f); icon(&x->I_Scanning_123x52, "SubGhz/Scanning_123x52", p, f); icon(&x->I_Auth_62x31, "U2F/Auth_62x31", p, f); icon(&x->I_Connect_me_62x31, "U2F/Connect_me_62x31", p, f); @@ -131,6 +132,7 @@ void XTREME_ASSETS_LOAD() { xtreme_assets->I_RFIDDolphinSend_97x61 = &I_RFIDDolphinSend_97x61; xtreme_assets->I_RFIDDolphinSuccess_108x57 = &I_RFIDDolphinSuccess_108x57; xtreme_assets->I_Cry_dolph_55x52 = &I_Cry_dolph_55x52; + xtreme_assets->I_Fishing_123x52 = &I_Fishing_123x52; xtreme_assets->I_Scanning_123x52 = &I_Scanning_123x52; xtreme_assets->I_Auth_62x31 = &I_Auth_62x31; xtreme_assets->I_Connect_me_62x31 = &I_Connect_me_62x31; diff --git a/applications/services/xtreme/assets.h b/applications/services/xtreme/assets.h index b88a6cf1e..7abaac450 100644 --- a/applications/services/xtreme/assets.h +++ b/applications/services/xtreme/assets.h @@ -25,6 +25,7 @@ typedef struct { const Icon* I_RFIDDolphinSend_97x61; const Icon* I_RFIDDolphinSuccess_108x57; const Icon* I_Cry_dolph_55x52; + const Icon* I_Fishing_123x52; const Icon* I_Scanning_123x52; const Icon* I_Auth_62x31; const Icon* I_Connect_me_62x31; diff --git a/assets/dolphin/custom/NSFW/Icons/SubGhz/Fishing_123x52.png b/assets/dolphin/custom/NSFW/Icons/SubGhz/Fishing_123x52.png new file mode 100644 index 000000000..a48c5330e Binary files /dev/null and b/assets/dolphin/custom/NSFW/Icons/SubGhz/Fishing_123x52.png differ diff --git a/assets/dolphin/custom/WatchDogs/Icons/SubGhz/Fishing_123x52.png b/assets/dolphin/custom/WatchDogs/Icons/SubGhz/Fishing_123x52.png new file mode 100644 index 000000000..fd6762e65 Binary files /dev/null and b/assets/dolphin/custom/WatchDogs/Icons/SubGhz/Fishing_123x52.png differ diff --git a/assets/resources/dolphin_custom/NSFW/Icons/SubGhz/Fishing_123x52.bmx b/assets/resources/dolphin_custom/NSFW/Icons/SubGhz/Fishing_123x52.bmx new file mode 100644 index 000000000..75f57367c Binary files /dev/null and b/assets/resources/dolphin_custom/NSFW/Icons/SubGhz/Fishing_123x52.bmx differ diff --git a/assets/resources/dolphin_custom/WatchDogs/Icons/SubGhz/Fishing_123x52.bmx b/assets/resources/dolphin_custom/WatchDogs/Icons/SubGhz/Fishing_123x52.bmx new file mode 100644 index 000000000..7c576cb7b Binary files /dev/null and b/assets/resources/dolphin_custom/WatchDogs/Icons/SubGhz/Fishing_123x52.bmx differ diff --git a/scripts/asset_packer.py b/scripts/asset_packer.py index 02ed0b94e..cc28ee540 100755 --- a/scripts/asset_packer.py +++ b/scripts/asset_packer.py @@ -6,7 +6,9 @@ import shutil import struct import typing import time +import re import io +import os def convert_bm(img: "Image.Image | pathlib.Path") -> bytes: @@ -94,7 +96,7 @@ def pack( if not source.is_dir(): continue - logger(f"Packing {source.name}... ") + logger(f"Pack: custom user pack '{source.name}'") packed = output / source.name if packed.exists(): try: @@ -110,10 +112,11 @@ def pack( shutil.copyfile( source / "Anims/manifest.txt", packed / "Anims/manifest.txt" ) - for anim in (source / "Anims").iterdir(): - if not anim.is_dir(): - continue - pack_anim(anim, packed / "Anims" / anim.name) + manifest = (source / "Anims/manifest.txt").read_bytes() + for anim in re.finditer(rb"Name: (.*)", manifest): + anim = anim.group(1).decode().replace("\\", "/").replace("/", os.sep) + logger(f"Compile: anim for pack '{source.name}': {anim}") + pack_anim(source / "Anims" / anim, packed / "Anims" / anim) if (source / "Icons").is_dir(): for icons in (source / "Icons").iterdir(): @@ -121,10 +124,12 @@ def pack( continue for icon in icons.iterdir(): if icon.is_dir(): + logger(f"Compile: icon for pack '{source.name}': {icons.name}/{icon.name}") pack_icon_animated( icon, packed / "Icons" / icons.name / icon.name ) elif icon.is_file(): + logger(f"Compile: icon for pack '{source.name}': {icons.name}/{icon.name}") pack_icon_static( icon, packed / "Icons" / icons.name / icon.name )