Asset Packs: Optimize icon loader (#164)

* Original pointer can be const

* Back to const icons

* Missed this one

* Simpler string alloc

* Single allocation and header struct for static icons

* Shared allocation and meta struct for animated icons

* Only try to load if dir exists

* Restructure momentum lib

* Use some internal headers

* Swap icons at draw

* Properly init and free, no more original in icon struct
This commit is contained in:
WillyJL
2024-07-18 03:35:21 +01:00
committed by GitHub
parent b67544391a
commit aa6d4de9fe
17 changed files with 700 additions and 608 deletions

View File

@@ -1,35 +1,37 @@
#pragma once
#include <applications.h>
#include <assets_icons.h>
#include <dialogs/dialogs.h>
#include <dolphin/dolphin_i.h>
#include <dolphin/dolphin.h>
#include <dolphin/helpers/dolphin_state.h>
#include <expansion/expansion.h>
#include <flipper_application/flipper_application.h>
#include <furi.h>
#include <gui/gui.h>
#include <gui/view.h>
#include <gui/view_dispatcher.h>
#include <gui/scene_manager.h>
#include <dialogs/dialogs.h>
#include <gui/modules/byte_input.h>
#include <gui/modules/dialog_ex.h>
#include <assets_icons.h>
#include <applications.h>
#include <gui/modules/variable_item_list.h>
#include <gui/modules/popup.h>
#include <gui/modules/submenu.h>
#include <gui/modules/text_input.h>
#include <gui/modules/byte_input.h>
#include <gui/modules/popup.h>
#include <lib/toolbox/value_index.h>
#include <toolbox/stream/file_stream.h>
#include "scenes/momentum_app_scene.h"
#include "dolphin/helpers/dolphin_state.h"
#include "dolphin/dolphin.h"
#include "dolphin/dolphin_i.h"
#include <gui/modules/variable_item_list.h>
#include <gui/scene_manager.h>
#include <gui/view_dispatcher.h>
#include <gui/view.h>
#include <lib/flipper_format/flipper_format.h>
#include <lib/subghz/subghz_setting.h>
#include <flipper_application/flipper_application.h>
#include <lib/toolbox/value_index.h>
#include <loader/loader_menu.h>
#include <m-array.h>
#include <momentum/asset_packs.h>
#include <momentum/namespoof.h>
#include <momentum/settings.h>
#include <notification/notification_app.h>
#include <power/power_service/power.h>
#include <expansion/expansion.h>
#include <rgb_backlight.h>
#include <m-array.h>
#include <momentum/namespoof.h>
#include <momentum/momentum.h>
#include <scenes/momentum_app_scene.h>
#include <toolbox/stream/file_stream.h>
ARRAY_DEF(CharList, char*)