* rfal: add new data exchange function * core: add FURI_BIT to common defines * furi_hal_nfc: add data exchange with custom patiry bits * lib: extend nfc common API * assets: add mf classic dictionary * lib: introduce mifare classic library * nfc: add dictionary reader helper * nfc worker: add worker events, add mifare classic read * nfc: rework scenes with worker events * nfc: add read mifare classic GUI * nfc device: add mifare classic save * nfc: add dictionary open fail scene * nfc: mention resources * stream: fix stream read line * subghz: rework file read with fixed stream_read_line * furi_hal_nfc: decrease communication timeout * nfc: rework keys load from dictionary with file_stream * nfc: add read mifare classic suggestion * nfc: fix mifare classic read view * nfc: fix index size * nfc: add switch to no dictionary found scene * nfc: add mifare classic load * nfc: improve read mifare classic design * mifare_classic: add proxmark3 mention * nfc: format sources * nfc: fix typos, add documentation
Requirements
- Python3
- ImageMagic
- Make
Compiling
make 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.