flipperzero-firmware/assets/ReadMe.md

48 lines
1.8 KiB
Markdown
Raw Normal View History

# Requirements
- Python3
- Python3 packages: Pillow & heatshrink2
# Compiling
```bash
./fbt icons proto dolphin_internal dolphin_blocking dolphin_ext resources
```
# Compiling with Docker-Compose
```bash
docker-compose exec dev ./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.
2021-11-30 23:53:53 +00:00
- `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`.
[FL-2150] Dolphin animation refactoring (#938) * Dolphin Animation Refactoring, part 1 * Remove animations from desktop * Remove excess, first start * Split animation_manager with callbacks * allocate view inside animation_view * Work on ViewComposed * Draw white rectangles under bubble corners * Fix bubbles sequence * RPC: remove obsolete include "status.pb.h" * Add animations manifest decoding * Flipper file: add strict mode * FFF: Animation structures parsing * Assembling structure of animation * Lot of view fixes: Add multi-line bubbles Add support for passive bubbles (frame_order values starts from passive now) Add hard-coded delay (active_shift) for active state enabling Fix active state handling Fix leaks Fix parsing uncorrect bubble_animation meta file Fix bubble rules of showing * Animation load/unload & view freeze/unfreeze * Blocking & system animations, fixes: View correct activation Refactoring + blocking animation Freeze first passive/active frames Many insert/eject SD tests fixes Add system animations Add Loader events app started/finished Add system no_sd animation * Assets: dolphin packer. Scripts: minor refactoring. * Desktop: update logging tags. Scripts: add metadata to dolphin bundling process, extra sorting for fs traversing. Make: phony assets rules. * Github: rebuild assets on build * Docker: add missing dependencies for assets compilation * Docker: fix run command syntax * ReadMe: update naming rules with link to source * Assets: recompile icons * Loader: add loader event * Desktop, Gui, Furi Core: const shenanigans macros Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-01-02 21:39:56 +00:00
## 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
2021-11-30 23:53:53 +00:00
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.