* FuriHal: add more supported radio stacks * Bt: correct ble stack enum value * Bt: update cli testing commands implementation * Scripts: always emitting ob data to update manifest; added ob_custradio.data for non-light radio stacks * Scripts: added stack type whitelist & disclaimer message * ble: remove scanner * ble: remove HCI and advances ble stacks support * bt: correctly close RPC session before bt reinit * Scripts: update bundler: estimating flash layout & refusing to build dangerous packages; app frame: not adding redundant log handlers * Docs: additional details on bundling updates; fixed updater error codes * Docs: wording fixes for OTA.md Co-authored-by: hedger <hedger@nanode.su> Co-authored-by: gornekich <n.gorbadey@gmail.com> Co-authored-by: SG <who.just.the.doctor@gmail.com>
Requirements
- Python3
- ImageMagic
- Make
Compiling
make all
Compiling with Docker-Compose
docker-compose exec dev make -C assets clean
docker-compose exec dev make -C assets all
Asset naming rules
Images and Animations
NAME_VARIANT_SIZE
NAME- mandatory - Asset name in CamelCase. [A-Za-z0-9], special symbols not allowedVARIANT- 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 for compiled assets.dolphin- Dolphin game assets sources. Goes tocompiledandresourcesfolders.icons- Icons sources. Goes tocompiledfolder.protobuf- Protobuf sources. Goes tocompiledfolder.resources- Assets that is going to be provisioned to SD card.