[FL-2188] Fix Desktop crush: stub dolphin stats (#950)

* Fix Desktop crush: stub dolphin stats

Fix Desktop crash on butthurt > 11, so hardcoded animations
are always available. Stub good dolphin stats till
correct deeds management implemented.

* Update ReadMe to match real project structure.

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
Albert Kharisov 2022-01-10 23:46:20 +04:00 committed by GitHub
parent 990a065bd0
commit 9ade2349ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 94 additions and 68 deletions

View File

@ -140,67 +140,18 @@ make whole
* Kickstarter page: [kickstarter.com](https://www.kickstarter.com/projects/flipper-devices/flipper-zero-tamagochi-for-hackers)
* Forum: [forum.flipperzero.one](https://forum.flipperzero.one/)
# Folders structure
# Project structure
- applications - application and services
* accessor - Wiegand server
* archive - Archive and file manager
* bt - BLE service and application
* cli - Console service
* debug_tools - different tools that we use on factory and for debug
* dialogs - service for showing GUI dialogs
* dolphin - dolphin service and supplementary apps
* gpio-tester - GPIO control application
* gui - GUI service
* ibutton - ibutton application, onewire keys and more
* input - input service
* irda - irda application, controls your IR devices
* irda_monitor - irda debug tool
* lfrfid - LF RFID application
* lfrfid-debug - LF RFID debug tool
* loader - application loader service
* menu - main menu service
* music-player - music player app (demo)
* nfc - NFC application, HF rfid, EMV and etc
* notification - notification service
* power - power service
* power-observer - power debug tool
* scened-app-example - c++ application example
* storage - storage service, internal + sdcard
* storage_settings - storage settings app
* subghz - subghz application, 433 fobs and etc
* tests - unit tests and etc
- assets - assets used by applications and services
* compiled - compilation results
* icons - source icons images
- bootloader - bootloader for flipper
* src - bootloader sources
* targets - targets' hal and implementation
- core - core libraries: home for furi
- debug - debug helpers, plugins and tools
- docker - docker image sources (used for automated firmware build)
- documentation - documentation generation system configs and input files
- firmware - firmware for flipper
* targets - targets' hal and implementation
- lib - different libraries and drivers that apps and firmware uses
* ST25RFAL002 - ST253916 driver and NFC hal
* STM32CubeWB - STM32WB hal
* app-scened-template - scened template app library
* app-template - template app library
* callback-connector - callback connector library
* common-api - common api declaration library
* cyfral - cyfral library
* drivers - drivers that we wrote
* fatfs - external storage file system
* fnv1a-hash - fnv1a hash library
* irda - irda library
* littlefs - internal storage file system
* mlib - algorithms and containers
* nfc_protocols - nfc protocols library
* onewire - one wire library
* qrcode - qr code generator library
* subghz - subghz library
* toolbox - toolbox of things that we are using but don't place in core
* u8g2 - graphics library that we use to draw GUI
- make - make helpers
- scripts - supplementary scripts
- `applications` - Applications and services used in firmware
- `assets` - Assets used by applications and services
- `bootloader` - Bootloader source code
- `core` - Furi Core: os level primitives and helpers
- `debug` - Debug tool: GDB-plugins, SVD-file and etc
- `docker` - Docker image sources (used for firmware build automation)
- `documentation` - Documentation generation system configs and input files
- `firmware` - Firmware source code
- `lib` - Our and 3rd party libraries, drivers and etc...
- `make` - Make helpers
- `scripts` - Supplementary scripts and python libraries home
Also pay attention to `ReadMe.md` files inside of those directories.

40
applications/ReadMe.md Normal file
View File

@ -0,0 +1,40 @@
# Structure
- `about` - Small About application that shows flipper info
- `accessor` - Wiegand server
- `archive` - Archive and file manager
- `bad_usb` - Bad USB application
- `bt` - BLE service and application
- `cli` - Console service and API
- `crypto` - Crypto cli tools
- `debug_tools` - Different tools that we use for debug
- `desktop` - Desktop service
- `dialogs` - Dialogs service: GUI Dialogs for your app
- `dolphin` - Dolphin service and supplementary apps
- `gpio` - GPIO application: includes USART bridge and GPIO control
- `gui` - GUI service and API
- `ibutton` - iButton application, onewire keys and more
- `input` - Input service
- `irda` - Irda application, controls your IR devices
- `irda_monitor` - Irda debug tool
- `lfrfid` - LF RFID application
- `lfrfid_debug` - LF RFID debug tool
- `loader` - Application loader service
- `music_player` - Music player app (demo)
- `nfc` - NFC application, HF rfid, EMV and etc
- `notification` - Notification service
- `power` - Power service
- `power_observer` - Power debug tool
- `rpc` - RPC service and API
- `scened_app_example` - C++ application example
- `snake_game` - Snake game application
- `storage` - Storage service, internal + sdcard
- `storage_settings` - Storage settings app
- `subghz` - Subghz application, 433 fobs and etc
- `system` - System settings, tools and API
- `tests` - Unit tests and etc
- `u2f` - U2F Application
- `application.c` - Firmware application list source
- `application.h` - Firmware application list header
- `application.mk` - Makefile helper

View File

@ -111,13 +111,16 @@ int32_t dolphin_srv(void* p) {
furi_pubsub_publish(dolphin->pubsub, &event);
}
} else if(event.type == DolphinEventTypeStats) {
event.stats->icounter = dolphin->state->data.icounter;
event.stats->butthurt = dolphin->state->data.butthurt;
// TODO: correct icounter/butthurt changing, stub till then
event.stats->icounter = 0;
event.stats->butthurt = 0;
event.stats->timestamp = dolphin->state->data.timestamp;
event.stats->level = dolphin_get_level(dolphin->state->data.icounter);
event.stats->level_up_is_pending =
!dolphin_state_xp_to_levelup(dolphin->state->data.icounter);
event.stats->level = 1;
event.stats->level_up_is_pending = 0;
} else if(event.type == DolphinEventTypeFlush) {
// TODO: correct icounter/butthurt changing, stub till then
dolphin->state->data.butthurt = 0;
dolphin->state->data.icounter = 0;
dolphin_state_save(dolphin->state);
}
dolphin_event_release(dolphin, &event);

View File

@ -32,3 +32,10 @@ Good starting point: https://docs.unrealengine.com/4.27/en-US/ProductionPipeline
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 to `compiled` and `resources` folders.
- `icons` - Icons sources. Goes to `compiled` folder.
- `protobuf` - Protobuf sources. Goes to `compiled` folder.
- `resources` - Assets that is going to be provisioned to SD card.

25
lib/ReadMe.md Normal file
View File

@ -0,0 +1,25 @@
# Structure
- `app-scened-template` - Scened template app library
- `app-template` - Template app library
- `callback-connector` - Callback connector library
- `common-api` - Common api declaration library
- `cyfral` - Cyfral library
- `drivers` - Drivers that we wrote
- `fatfs` - External storage file system
- `flipper_file` - Flipper File Format library
- `fnv1a-hash` - Fnv1a hash library
- `irda` - Irda library
- `libusb_stm32` - STM32 USB library
- `littlefs` - Internal storage file system
- `micro-ecc` - Elyptic Curve Crpytography library
- `mlib` - Algorithms and containers
- `nanopb` - Nano Protobuf library
- `nfc_protocols` - Nfc protocols library
- `onewire` - One wire library
- `qrcode` - Qr code generator library
- `ST25RFAL002` - ST253916 driver and NFC hal
- `STM32CubeWB` - STM32WB series cube package
- `subghz` - Subghz library
- `toolbox` - Toolbox of things that we are using but don't place in core
- `u8g2` - Graphics library that we use to draw GUI