flipperzero-firmware/assets
hedger 9bf11d9fd2
[FL-2859,2838] fbt: improvements for FAPs (#1813)
* fbt: assets builder for apps WIP
* fbt: automatically building private fap assets
* docs: details on how to use image assets
* fbt: renamed fap_assets -> fap_icons
* fbt: support for fap_extbuild field
* docs: info on fap_extbuild
* fbt: added --proxy-env parame ter
* fbt: made firmware_cdb & updater_cdb targets always available
* fbt: renamed fap_icons -> fap_icon_assets
* fbt: deprecated firmware_* target names for faps; new alias is "fap_APPID"
* fbt: changed intermediate file locations for external apps
* fbt: support for fap_private_libs; docs: updates
* restored mbedtls as global lib
* scripts: lint.py: skip "lib" subfolder
* fbt: Sanity checks for building advanced faps as part of fw
* docs: info on fap_private_libs; fbt: optimized *.fam indexing
* fbt: cleanup; samples: added sample_icons app
* fbt: moved example app to applications/examples
* linter fix
* docs: readme fixes
* added applications/examples/application.fam stub
* docs: more info on private libs

Co-authored-by: あく <alleteam@gmail.com>
2022-10-06 22:55:57 +09:00
..
dolphin Documentation: fixed outdated naming (#1518) 2022-08-06 00:12:13 +09:00
icons [FL-2797] Signal Generator app (#1793) 2022-09-29 01:37:24 +09:00
protobuf@6727eaf287 [FL-2677] SubGhz: region provisioning (#1574) 2022-08-11 19:21:56 +10:00
resources fix: typo badusb demo windows (#1824) 2022-10-06 20:18:40 +09:00
slideshow [FL-2692, FL-2604, FL-2632] New first start sequence (#1456) 2022-07-26 21:44:03 +09:00
unit_tests SubGhz: Oregon v2.1 decoder (#1678) 2022-09-19 23:24:24 +09:00
.gitignore [FL-2627] Flipper applications: SDK, build and debug system (#1387) 2022-09-15 02:21:03 +09:00
ReadMe.md Amap and PVS Studio reports in CI/CD (#1526) 2022-08-23 20:29:26 +09:00
SConscript [FL-2859,2838] fbt: improvements for FAPs (#1813) 2022-10-06 22:55:57 +09:00

Requirements

  • Python3
  • Python3 packages: Pillow & heatshrink2

Compiling

./fbt icons proto dolphin_internal dolphin_blocking dolphin_ext resources

Asset naming rules

Images and Animations

NAME_VARIANT_SIZE

  • NAME - mandatory - Asset name in CamelCase. [A-Za-z0-9], special symbols not allowed
  • VARIANT - optional - icon variant: can relate to state or rendering conditions. Examples: active, inactive, inverted.
  • SIZE - mandatory - size in px. Example square 10, 20, 24, etc. Example rectangular: 10x8, 19x5, etc.

Image names will be automatically prefixed with I_, animation names with A_. Icons and Animations will be gathered into icon.h and icon.c.

Dolphin and Games assets

Rules are same as for Images and Animations plus assets are grouped by level and level prepends NAME. Good starting point: https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/AssetNaming/

Important notes

Don't include assets that you are not using, compiler is not going to strip unused assets.

Structure

  • compiled - Output folder made for compiled assets, after building project, in build directory.
  • dolphin - Dolphin game assets sources. Goes to compiled and resources folders in build directory.
  • icons - Icons sources. Goes to compiled folder in build directory.
  • protobuf - Protobuf sources. Goes to compiled folder in build directory.
  • resources - Assets that is going to be provisioned to SD card.
  • slideshow - One-time slideshows for desktop
  • unit_tests - Some pre-defined signals for testing purposes.