unleashed-firmware/assets
hedger 917410a0a8
[FL-3629] fbt: reworked assets & resources handling (#3160)
* fbt: reworking targets & assets handling WIP
* fbt: dist fixes
* fbt: moved SD card resources to owning apps
* unit_tests: moved resources to app folder
* github: updated unit_tests paths
* github: packaging fixes
* unit_tests: fixes
* fbt: assets: internal cleanup
* fbt: reworked assets handling
* github: unit_tests: reintroducing fixes
* minor cleanup
* fbt: naming changes to reflect private nature of scons tools
* fbt: resources: fixed dist archive paths
* docs: updated paths
* docs: updated more paths
* docs: included "resources" parameter in app manifest docs; updated assets readme
* updated gitignore for assets
* github: updated action versions
* unit_tests: restored timeout; scripts: assets: logging changes
* gh: don't upload desktop animations for unit test run

Co-authored-by: あく <alleteam@gmail.com>
2023-10-31 00:17:30 +09:00
..
dolphin [FL-3609] Add the coding in the shell animation (#3106) 2023-09-25 17:03:51 +09:00
icons [FL-3621] Fix double arrows and add proper indication (#3146) 2023-10-13 05:48:16 +09:00
protobuf@327163d586 [FL-3563] StorageListRequest: size filter (#3018) 2023-09-01 10:23:37 +09:00
slideshow Fixed first start animation typo (#2384) 2023-02-17 17:17:57 +09:00
.gitignore [FL-3629] fbt: reworked assets & resources handling (#3160) 2023-10-31 00:17:30 +09:00
ReadMe.md [FL-3629] fbt: reworked assets & resources handling (#3160) 2023-10-31 00:17:30 +09:00
SConscript [FL-3629] fbt: reworked assets & resources handling (#3160) 2023-10-31 00:17:30 +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

  • 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.
  • slideshow - One-time slideshows for desktop