mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-16 04:24:45 -07:00
fmt
This commit is contained in:
@@ -27,7 +27,8 @@ static FlipperFormat* snake_game_open_file(Storage* storage) {
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
flipper_format_write_header_cstr(file, SNAKE_GAME_FILE_HEADER, SNAKE_GAME_FILE_ACTUAL_VERSION);
|
flipper_format_write_header_cstr(
|
||||||
|
file, SNAKE_GAME_FILE_HEADER, SNAKE_GAME_FILE_ACTUAL_VERSION);
|
||||||
flipper_format_rewind(file);
|
flipper_format_rewind(file);
|
||||||
}
|
}
|
||||||
return file;
|
return file;
|
||||||
@@ -75,19 +76,22 @@ void snake_game_save_game_to_file(SnakeState* const snake_state) {
|
|||||||
temp_array[a++] = snake_state->points[i].x;
|
temp_array[a++] = snake_state->points[i].x;
|
||||||
temp_array[a++] = snake_state->points[i].y;
|
temp_array[a++] = snake_state->points[i].y;
|
||||||
}
|
}
|
||||||
if(!flipper_format_insert_or_update_uint32(file, SNAKE_GAME_CONFIG_KEY_POINTS, temp_array, array_size)){
|
if(!flipper_format_insert_or_update_uint32(
|
||||||
|
file, SNAKE_GAME_CONFIG_KEY_POINTS, temp_array, array_size)) {
|
||||||
snake_game_close_file(file);
|
snake_game_close_file(file);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
temp = snake_state->currentMovement;
|
temp = snake_state->currentMovement;
|
||||||
if(!flipper_format_insert_or_update_uint32(file, SNAKE_GAME_CONFIG_KEY_CURRENT_MOVEMENT,&temp, 1)){
|
if(!flipper_format_insert_or_update_uint32(
|
||||||
|
file, SNAKE_GAME_CONFIG_KEY_CURRENT_MOVEMENT, &temp, 1)) {
|
||||||
snake_game_close_file(file);
|
snake_game_close_file(file);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
temp = snake_state->nextMovement;
|
temp = snake_state->nextMovement;
|
||||||
if(!flipper_format_insert_or_update_uint32(file, SNAKE_GAME_CONFIG_KEY_NEXT_MOVEMENT,&temp, 1)){
|
if(!flipper_format_insert_or_update_uint32(
|
||||||
|
file, SNAKE_GAME_CONFIG_KEY_NEXT_MOVEMENT, &temp, 1)) {
|
||||||
snake_game_close_file(file);
|
snake_game_close_file(file);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -96,7 +100,8 @@ void snake_game_save_game_to_file(SnakeState* const snake_state) {
|
|||||||
uint32_t temp_point_array[array_size];
|
uint32_t temp_point_array[array_size];
|
||||||
temp_point_array[0] = snake_state->fruit.x;
|
temp_point_array[0] = snake_state->fruit.x;
|
||||||
temp_point_array[1] = snake_state->fruit.y;
|
temp_point_array[1] = snake_state->fruit.y;
|
||||||
if(!flipper_format_insert_or_update_uint32(file, SNAKE_GAME_CONFIG_KEY_FRUIT_POINTS, temp_point_array, array_size)){
|
if(!flipper_format_insert_or_update_uint32(
|
||||||
|
file, SNAKE_GAME_CONFIG_KEY_FRUIT_POINTS, temp_point_array, array_size)) {
|
||||||
snake_game_close_file(file);
|
snake_game_close_file(file);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -152,10 +157,10 @@ bool snake_game_init_game_from_file(SnakeState* const snake_state) {
|
|||||||
snake_state->nextMovement = temp;
|
snake_state->nextMovement = temp;
|
||||||
flipper_format_delete_key(file, SNAKE_GAME_CONFIG_KEY_NEXT_MOVEMENT);
|
flipper_format_delete_key(file, SNAKE_GAME_CONFIG_KEY_NEXT_MOVEMENT);
|
||||||
|
|
||||||
|
|
||||||
array_size = 2;
|
array_size = 2;
|
||||||
uint32_t temp_point_array[array_size];
|
uint32_t temp_point_array[array_size];
|
||||||
if(!flipper_format_read_uint32(file, SNAKE_GAME_CONFIG_KEY_FRUIT_POINTS, temp_point_array, array_size)){
|
if(!flipper_format_read_uint32(
|
||||||
|
file, SNAKE_GAME_CONFIG_KEY_FRUIT_POINTS, temp_point_array, array_size)) {
|
||||||
snake_game_close_file(file);
|
snake_game_close_file(file);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -233,7 +233,6 @@ static void
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
snake_state->currentMovement = snake_game_get_turn_snake(snake_state);
|
snake_state->currentMovement = snake_game_get_turn_snake(snake_state);
|
||||||
|
|
||||||
Point next_step = snake_game_get_next_step(snake_state);
|
Point next_step = snake_game_get_next_step(snake_state);
|
||||||
@@ -289,8 +288,7 @@ int32_t snake_game_app(void* p) {
|
|||||||
FuriMessageQueue* event_queue = furi_message_queue_alloc(8, sizeof(SnakeEvent));
|
FuriMessageQueue* event_queue = furi_message_queue_alloc(8, sizeof(SnakeEvent));
|
||||||
|
|
||||||
SnakeState* snake_state = malloc(sizeof(SnakeState));
|
SnakeState* snake_state = malloc(sizeof(SnakeState));
|
||||||
if(!snake_game_init_game_from_file(snake_state))
|
if(!snake_game_init_game_from_file(snake_state)) snake_game_init_game(snake_state);
|
||||||
snake_game_init_game(snake_state);
|
|
||||||
|
|
||||||
ValueMutex state_mutex;
|
ValueMutex state_mutex;
|
||||||
if(!init_mutex(&state_mutex, snake_state, sizeof(SnakeState))) {
|
if(!init_mutex(&state_mutex, snake_state, sizeof(SnakeState))) {
|
||||||
|
|||||||
@@ -48,7 +48,13 @@ static bool totp_state_init(PluginState* const plugin_state) {
|
|||||||
if(plugin_state->crypto_verify_data == NULL) {
|
if(plugin_state->crypto_verify_data == NULL) {
|
||||||
DialogMessage* message = dialog_message_alloc();
|
DialogMessage* message = dialog_message_alloc();
|
||||||
dialog_message_set_buttons(message, "No", NULL, "Yes");
|
dialog_message_set_buttons(message, "No", NULL, "Yes");
|
||||||
dialog_message_set_text(message, "Would you like to setup PIN?", SCREEN_WIDTH_CENTER, SCREEN_HEIGHT_CENTER, AlignCenter, AlignCenter);
|
dialog_message_set_text(
|
||||||
|
message,
|
||||||
|
"Would you like to setup PIN?",
|
||||||
|
SCREEN_WIDTH_CENTER,
|
||||||
|
SCREEN_HEIGHT_CENTER,
|
||||||
|
AlignCenter,
|
||||||
|
AlignCenter);
|
||||||
DialogMessageButton dialog_result = dialog_message_show(plugin_state->dialogs, message);
|
DialogMessageButton dialog_result = dialog_message_show(plugin_state->dialogs, message);
|
||||||
dialog_message_free(message);
|
dialog_message_free(message);
|
||||||
if(dialog_result == DialogMessageButtonRight) {
|
if(dialog_result == DialogMessageButtonRight) {
|
||||||
@@ -64,10 +70,18 @@ static bool totp_state_init(PluginState* const plugin_state) {
|
|||||||
if(totp_crypto_verify_key(plugin_state)) {
|
if(totp_crypto_verify_key(plugin_state)) {
|
||||||
totp_scene_director_activate_scene(plugin_state, TotpSceneGenerateToken, NULL);
|
totp_scene_director_activate_scene(plugin_state, TotpSceneGenerateToken, NULL);
|
||||||
} else {
|
} else {
|
||||||
FURI_LOG_E(LOGGING_TAG, "Digital signature verification failed. Looks like conf file was created on another flipper and can't be used on any other");
|
FURI_LOG_E(
|
||||||
|
LOGGING_TAG,
|
||||||
|
"Digital signature verification failed. Looks like conf file was created on another flipper and can't be used on any other");
|
||||||
DialogMessage* message = dialog_message_alloc();
|
DialogMessage* message = dialog_message_alloc();
|
||||||
dialog_message_set_buttons(message, "Exit", NULL, NULL);
|
dialog_message_set_buttons(message, "Exit", NULL, NULL);
|
||||||
dialog_message_set_text(message, "Digital signature verification failed", SCREEN_WIDTH_CENTER, SCREEN_HEIGHT_CENTER, AlignCenter, AlignCenter);
|
dialog_message_set_text(
|
||||||
|
message,
|
||||||
|
"Digital signature verification failed",
|
||||||
|
SCREEN_WIDTH_CENTER,
|
||||||
|
SCREEN_HEIGHT_CENTER,
|
||||||
|
AlignCenter,
|
||||||
|
AlignCenter);
|
||||||
dialog_message_show(plugin_state->dialogs, message);
|
dialog_message_show(plugin_state->dialogs, message);
|
||||||
dialog_message_free(message);
|
dialog_message_free(message);
|
||||||
return false;
|
return false;
|
||||||
@@ -142,7 +156,9 @@ int32_t totp_app() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
processing = totp_scene_director_handle_event(&event, plugin_state);
|
processing = totp_scene_director_handle_event(&event, plugin_state);
|
||||||
} else if (plugin_state->pin_set && plugin_state->current_scene != TotpSceneAuthentication && furi_get_tick() - last_user_interaction_time > IDLE_TIMEOUT) {
|
} else if(
|
||||||
|
plugin_state->pin_set && plugin_state->current_scene != TotpSceneAuthentication &&
|
||||||
|
furi_get_tick() - last_user_interaction_time > IDLE_TIMEOUT) {
|
||||||
totp_scene_director_activate_scene(plugin_state, TotpSceneAuthentication, NULL);
|
totp_scene_director_activate_scene(plugin_state, TotpSceneAuthentication, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user