[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:
		
							parent
							
								
									990a065bd0
								
							
						
					
					
						commit
						9ade2349ad
					
				
							
								
								
									
										77
									
								
								ReadMe.md
									
									
									
									
									
								
							
							
						
						
									
										77
									
								
								ReadMe.md
									
									
									
									
									
								
							| @ -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
									
								
							
							
						
						
									
										40
									
								
								applications/ReadMe.md
									
									
									
									
									
										Normal 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 | ||||
| @ -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); | ||||
|  | ||||
| @ -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
									
								
							
							
						
						
									
										25
									
								
								lib/ReadMe.md
									
									
									
									
									
										Normal 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 | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Albert Kharisov
						Albert Kharisov