Eric Betts 8 месяцев назад
Родитель
Сommit
6aef3e221b
3 измененных файлов с 67 добавлено и 1 удалено
  1. 3 0
      scenes/weebo_scene_info.c
  2. 63 0
      weebo.c
  3. 1 1
      weebo.h

+ 3 - 0
scenes/weebo_scene_info.c

@@ -20,6 +20,9 @@ void weebo_scene_info_on_enter(void* context) {
     if(weebo_get_figure_form(weebo, name)) {
         furi_string_cat_printf(str, "Form: %s\n", furi_string_get_cstr(name));
     }
+    if(weebo_get_figure_series(weebo, name)) {
+        furi_string_cat_printf(str, "Series: %s\n", furi_string_get_cstr(name));
+    }
 
     furi_string_free(name);
     text_box_set_font(weebo->text_box, TextBoxFontText);

+ 63 - 0
weebo.c

@@ -171,6 +171,69 @@ bool weebo_get_figure_form(Weebo* weebo, FuriString* name) {
     return parsed;
 }
 
+bool weebo_get_figure_series(Weebo* weebo, FuriString* name) {
+    bool parsed = false;
+
+    uint8_t series_id = weebo->figure[UNPACKED_FIGURE_ID + 6];
+    switch(series_id) {
+    case 0x00:
+        furi_string_set_str(name, "Smash Bros");
+        parsed = true;
+        break;
+    case 0x01:
+        furi_string_set_str(name, "Mario Bros");
+        parsed = true;
+        break;
+    case 0x02:
+        furi_string_set_str(name, "Chibi Robo");
+        parsed = true;
+        break;
+    case 0x03:
+        furi_string_set_str(name, "Yarn Yoshi");
+        parsed = true;
+        break;
+    case 0x04:
+        furi_string_set_str(name, "Splatoon");
+        parsed = true;
+        break;
+    case 0x05:
+        furi_string_set_str(name, "Animal Crossing");
+        parsed = true;
+        break;
+    case 0x06:
+        furi_string_set_str(name, "8-bit Mario");
+        parsed = true;
+        break;
+    case 0x07:
+        furi_string_set_str(name, "Skylanders");
+        parsed = true;
+        break;
+    case 0x09:
+        furi_string_set_str(name, "Legend of Zelda");
+        parsed = true;
+        break;
+    case 0x0A:
+        furi_string_set_str(name, "Shovel Knight");
+        parsed = true;
+        break;
+    case 0x0C:
+        furi_string_set_str(name, "Kirby");
+        parsed = true;
+        break;
+    case 0x0D:
+        furi_string_set_str(name, "Pokken");
+        parsed = true;
+        break;
+    case 0x0F:
+        furi_string_set_str(name, "Monster Hunter");
+        parsed = true;
+        break;
+    default:
+        break;
+    }
+    return parsed;
+}
+
 bool weebo_get_figure_name(Weebo* weebo, FuriString* name) {
     bool parsed = false;
 

+ 1 - 1
weebo.h

@@ -3,6 +3,6 @@
 typedef struct Weebo Weebo;
 
 uint16_t weebo_get_figure_id(Weebo* weebo);
-
 bool weebo_get_figure_name(Weebo* weebo, FuriString* name);
 bool weebo_get_figure_form(Weebo* weebo, FuriString* name);
+bool weebo_get_figure_series(Weebo* weebo, FuriString* name);