* nfc: add new read scene * lib: refactore nfc library * mifare desfire: add read card fuction * lib nfc: add auto read worker * nfc: add supported cards * nfc: add mifare classic read success scene * nfc: add troyka support * submodule: update protobuf * nfc: mifare classic keys cache * nfc: rework mifare classic key cache * Correct spelling * nfc: add user dictionary * nfc: introduce block read map in fff * nfc: rework dict attack * nfc: improve dict attack * nfc: rework mifare classic format * nfc: rework MFC read with Reader * nfc: add gui for MFC read success scene * nfc: fix dict attack view gui * nfc: add retry and exit confirm scenes * nfc: add retry and exit scenes navigation * nfc: check user dictionary * nfc: remove unused scenes * nfc: rename functions in nfc worker * nfc: rename mf_classic_dict_attack -> dict_attack * nfc: change scenes names * nfc: remove scene tick events * nfc: rework dict calls with buffer streams * nfc: fix notifications * nfc: fix mf desfire navigation * nfc: remove notification from mf classic read success * nfc: fix read sectors calculation * nfc: add fallback for unknown card * nfc: show file name while emulating * nfc: fix build * nfc: fix memory leak * nfc: fix desfire read * nfc: add no dict found navigation * nfc: add read views * nfc: update card fix * nfc: fix access bytes save * nfc: add exit and retry confirm to mf ultralight read success * nfc: introduce detect reader * nfc: change record open arg to macros * nfc: fix start from archive Co-authored-by: Astra <astra@astrra.space> Co-authored-by: あく <alleteam@gmail.com>
Requirements
- Python3
- Python3 packages: Pillow & heatshrink2
Compiling
./fbt icons proto dolphin_internal dolphin_blocking dolphin_ext resources
Compiling with Docker-Compose
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 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.slideshow- One-time slideshows for desktop