Luu 1 год назад
Родитель
Сommit
aa737a2768
2 измененных файлов с 382 добавлено и 281 удалено
  1. 12 5
      scenes/metroflip_scene_navigo.c
  2. 370 276
      scenes/navigo.h

+ 12 - 5
scenes/metroflip_scene_navigo.c

@@ -288,7 +288,6 @@ static NfcCommand metroflip_scene_navigo_poller_callback(NfcGenericEvent event,
                             app->view_dispatcher, MetroflipCustomEventPollerFileNotFound);
                             app->view_dispatcher, MetroflipCustomEventPollerFileNotFound);
                         break;
                         break;
                     }
                     }
-                    UNUSED(response_length);
 
 
                     char event_bit_representation[response_length * 8 + 1];
                     char event_bit_representation[response_length * 8 + 1];
                     event_bit_representation[0] = '\0';
                     event_bit_representation[0] = '\0';
@@ -306,6 +305,9 @@ static NfcCommand metroflip_scene_navigo_poller_callback(NfcGenericEvent event,
                     strncpy(bit_slice, event_bit_representation + start, end - start + 1);
                     strncpy(bit_slice, event_bit_representation + start, end - start + 1);
                     bit_slice[end - start + 1] = '\0';
                     bit_slice[end - start + 1] = '\0';
                     int* positions = get_bit_positions(bit_slice, &count);
                     int* positions = get_bit_positions(bit_slice, &count);
+                    for(int i = 0; i < count; i++) {
+                        FURI_LOG_I(TAG, "%d ", positions[i]);
+                    }
 
 
                     int event_number = 2;
                     int event_number = 2;
                     if(is_event_present(positions, count, event_number)) {
                     if(is_event_present(positions, count, event_number)) {
@@ -320,6 +322,7 @@ static NfcCommand metroflip_scene_navigo_poller_callback(NfcGenericEvent event,
                             TRANSPORT_LIST[transport_type],
                             TRANSPORT_LIST[transport_type],
                             TRANSITION_LIST[transition]);
                             TRANSITION_LIST[transition]);
                     }
                     }
+
                     event_number = 4;
                     event_number = 4;
                     if(is_event_present(positions, count, event_number)) {
                     if(is_event_present(positions, count, event_number)) {
                         int positionOffset = check_events(positions, count, event_number);
                         int positionOffset = check_events(positions, count, event_number);
@@ -328,18 +331,19 @@ static NfcCommand metroflip_scene_navigo_poller_callback(NfcGenericEvent event,
                         furi_string_cat_printf(
                         furi_string_cat_printf(
                             parsed_data, "Provider: %s\n", SERVICE_PROVIDERS[decimal_value]);
                             parsed_data, "Provider: %s\n", SERVICE_PROVIDERS[decimal_value]);
                     }
                     }
+
                     event_number = 8;
                     event_number = 8;
                     if(is_event_present(positions, count, event_number)) {
                     if(is_event_present(positions, count, event_number)) {
                         int positionOffset = check_events(positions, count, event_number);
                         int positionOffset = check_events(positions, count, event_number);
                         start = positionOffset, end = positionOffset + 15;
                         start = positionOffset, end = positionOffset + 15;
                         int decimal_value = bit_slice_to_dec(event_bit_representation, start, end);
                         int decimal_value = bit_slice_to_dec(event_bit_representation, start, end);
-                        int line_id = (decimal_value >> 9) - 1;
-                        int station_id = ((decimal_value >> 4) & 31) - 1;
+                        int line_id = decimal_value >> 9;
+                        int station_id = (decimal_value >> 4) & 31;
                         furi_string_cat_printf(
                         furi_string_cat_printf(
                             parsed_data,
                             parsed_data,
                             "Line: %s\nStation: %s\n",
                             "Line: %s\nStation: %s\n",
-                            METRO_LIST[line_id].name,
-                            METRO_LIST[line_id].stations[station_id]);
+                            STATION_LIST[line_id][0],
+                            STATION_LIST[line_id][station_id]);
                     }
                     }
                     free(positions);
                     free(positions);
 
 
@@ -359,6 +363,9 @@ static NfcCommand metroflip_scene_navigo_poller_callback(NfcGenericEvent event,
                         (((decimal_value * 60) % 3600) / 60),
                         (((decimal_value * 60) % 3600) / 60),
                         (((decimal_value * 60) % 3600) % 60));
                         (((decimal_value * 60) % 3600) % 60));
                 }
                 }
+                UNUSED(TRANSITION_LIST);
+                UNUSED(TRANSPORT_LIST);
+                UNUSED(SERVICE_PROVIDERS);
 
 
                 widget_add_text_scroll_element(
                 widget_add_text_scroll_element(
                     widget, 0, 0, 128, 64, furi_string_get_cstr(parsed_data));
                     widget, 0, 0, 128, 64, furi_string_get_cstr(parsed_data));

+ 370 - 276
scenes/navigo.h

@@ -1,11 +1,6 @@
 #ifndef METRO_LIST_H
 #ifndef METRO_LIST_H
 #define METRO_LIST_H
 #define METRO_LIST_H
 
 
-typedef struct {
-    const char* name;
-    const char* stations[14];
-} MetroLine;
-
 #ifndef NAVIGO_H
 #ifndef NAVIGO_H
 #define NAVIGO_H
 #define NAVIGO_H
 
 
@@ -31,275 +26,374 @@ static const char* TRANSITION_LIST[] = {
 
 
 #endif // NAVIGO_H
 #endif // NAVIGO_H
 
 
-const MetroLine METRO_LIST[] = {
-    [0] =
-        {"Cite",
-         {"Saint-Michel",
-          "Odeon",
-          "Cluny - La Sorbonne",
-          "Maubert - Mutualite",
-          "Luxembourg",
-          "Chatelet",
-          "Les Halles",
-          "Les Halles",
-          "Louvre - Rivoli",
-          "Pont Neuf",
-          "Cite",
-          "Hotel de Ville"}},
-    [1] =
-        {"Rennes",
-         {"Cambronne",
-          "Sevres - Lecourbe",
-          "Segur",
-          "Saint-Francois-Xavier",
-          "Duroc",
-          "Vaneau",
-          "Sevres - Babylone",
-          "Rue du Bac",
-          "Rennes",
-          "Saint-Sulpice",
-          "Mabillon",
-          "Saint-Germain-des-Pres"}},
-    [2] =
-        {"Villette",
-         {"Porte de la Villette",
-          "Aubervilliers - Pantin - Quatre Chemins",
-          "Fort d'Aubervilliers",
-          "La Courneuve - 8 Mai 1945",
-          "Hoche",
-          "Eglise de Pantin",
-          "Bobigny - Pantin - Raymond Queneau",
-          "Bobigny - Pablo Picasso"}},
-    [3] =
-        {"Montparnasse",
-         {"Pernety",
-          "Plaisance",
-          "Gaite",
-          "Edgar Quinet",
-          "Vavin",
-          "Montparnasse - Bienvenue",
-          "Saint-Placide",
-          "Notre-Dame-des-Champs"}},
-    [4] =
-        {"Nation",
-         {"Robespierre",
-          "Porte de Montreuil",
-          "Maraichers",
-          "Buzenval",
-          "Rue des Boulets",
-          "Porte de Vincennes",
-          "Picpus",
-          "Nation",
-          "Avron",
-          "Alexandre Dumas"}},
-    [5] =
-        {"Saint-Lazare",
-         {"Malesherbes",
-          "Monceau",
-          "Villiers",
-          "Quatre-Septembre",
-          "Opera",
-          "Auber",
-          "Havre - Caumartin",
-          "Saint-Lazare",
-          "Saint-Lazare",
-          "Saint-Augustin",
-          "Europe",
-          "Liege"}},
-    [6] =
-        {"Auteuil",
-         {"Porte de Saint-Cloud",
-          "Porte d'Auteuil",
-          "Eglise d'Auteuil",
-          "Michel-Ange - Auteuil",
-          "Michel-Ange - Molitor",
-          "Chardon-Lagache",
-          "Mirabeau",
-          "Exelmans",
-          "Jasmin"}},
-    [7] =
-        {"Republique",
-         {"Rambuteau",
-          "Arts et Metiers",
-          "Jacques Bonsergent",
-          "Goncourt",
-          "Temple",
-          "Republique",
-          "Oberkampf",
-          "Parmentier",
-          "Filles du Calvaire",
-          "Saint-Sebastien - Froissart",
-          "Richard-Lenoir",
-          "Saint-Ambroise"}},
-    [8] =
-        {"Austerlitz",
-         {"Quai de la Gare",
-          "Chevaleret",
-          "Saint-Marcel",
-          "Gare d'Austerlitz",
-          "Gare de Lyon",
-          "Quai de la Rapee"}},
-    [9] =
-        {"Invalides",
-         {"Champs-Elysees - Clemenceau",
-          "Concorde",
-          "Madeleine",
-          "Bir-Hakeim",
-          "Ecole Militaire",
-          "La Tour-Maubourg",
-          "Invalides",
-          "Saint-Denis - Universite",
-          "Varenne",
-          "Assemblee nationale",
-          "Solferino"}},
-    [10] =
-        {"Sentier",
-         {"Tuileries",
-          "Palais Royal - Musee du Louvre",
-          "Pyramides",
-          "Bourse",
-          "Grands Boulevards",
-          "Richelieu - Drouot",
-          "Bonne Nouvelle",
-          "Strasbourg - Saint-Denis",
-          "Chateau d'Eau",
-          "Sentier",
-          "Reaumur - Sebastopol",
-          "Etienne Marcel"}},
-    [11] =
-        {"Ile Saint-Louis",
-         {"Faidherbe - Chaligny",
-          "Reuilly - Diderot",
-          "Montgallet",
-          "Censier - Daubenton",
-          "Place Monge",
-          "Cardinal Lemoine",
-          "Jussieu",
-          "Sully - Morland",
-          "Pont Marie",
-          "Saint-Paul",
-          "Bastille",
-          "Chemin Vert",
-          "Breguet - Sabin",
-          "Ledru-Rollin"}},
-    [12] =
-        {"Daumesnil",
-         {"Porte Doree",
-          "Porte de Charenton",
-          "Bercy",
-          "Dugommier",
-          "Michel Bizot",
-          "Daumesnil",
-          "Bel-Air"}},
-    [13] =
-        {"Italie",
-         {"Porte de Choisy",
-          "Porte d'Italie",
-          "Cite universitaire",
-          "Maison Blanche",
-          "Tolbiac",
-          "Nationale",
-          "Campo-Formio",
-          "Les Gobelins",
-          "Place d'Italie",
-          "Corvisart"}},
-    [14] =
-        {"Denfert",
-         {"Cour Saint-Emilion",
-          "Porte d'Orleans",
-          "Bibliotheque Francois Mitterrand",
-          "Mouton-Duvernet",
-          "Alesia",
-          "Olympiades",
-          "Glaciere",
-          "Saint-Jacques",
-          "Raspail",
-          "Denfert-Rochereau"}},
-    [15] =
-        {"Felix Faure",
-         {"Falguiere",
-          "Pasteur",
-          "Volontaires",
-          "Vaugirard",
-          "Convention",
-          "Porte de Versailles",
-          "Balard",
-          "Lourmel",
-          "Boucicaut",
-          "Felix Faure",
-          "Charles Michels",
-          "Javel - Andre Citroen"}},
-    [16] =
-        {"Passy",
-         {"Porte Dauphine",
-          "La Motte-Picquet - Grenelle",
-          "Commerce",
-          "Avenue Emile Zola",
-          "Dupleix",
-          "Passy",
-          "Ranelagh",
-          "La Muette",
-          "Rue de la Pompe",
-          "Boissiere",
-          "Trocadero"}},
-    [17] =
-        {"Etoile",
-         {"Iena",
-          "Alma - Marceau",
-          "Miromesnil",
-          "Saint-Philippe du Roule",
-          "Franklin D. Roosevelt",
-          "George V",
-          "Kleber",
-          "Victor Hugo",
-          "Argentine",
-          "Charles de Gaulle - Etoile",
-          "Ternes",
-          "Courcelles"}},
-    [18] =
-        {"Clichy - Saint Ouen",
-         {"Mairie de Clichy",
-          "Gabriel Peri",
-          "Les Agnettes",
-          "Asnieres - Gennevilliers - Les Courtilles",
-          "La Chapelle",
-          "Garibaldi",
-          "Mairie de Saint-Ouen",
-          "Carrefour Pleyel",
-          "Saint-Denis - Porte de Paris",
-          "Basilique de Saint-Denis"}},
-    [19] =
-        {"Montmartre",
-         {"Porte de Clignancourt",
-          "Porte de la Chapelle",
-          "Marx Dormoy",
-          "Marcadet - Poissonniers",
-          "Simplon",
-          "Jules Joffrin",
-          "Lamarck - Caulaincourt"}},
-    [20] =
-        {"Lafayette",
-         {"Chaussee d'Antin - La Fayette",
-          "Le Peletier",
-          "Cadet",
-          "Chateau Rouge",
-          "Barbes - Rochechouart",
-          "Gare du Nord",
-          "Gare de l'Est",
-          "Poissonniere",
-          "Chateau-Landon"}},
-    [21] = {
-        "Buttes Chaumont",
-        {"Porte de Pantin",
-         "Ourcq",
-         "Corentin Cariou",
-         "Crimee",
-         "Riquet",
-         "La Chapelle",
-         "Belleville",
-         "Botzaris",
-         "Pelleport",
-         "Place des Fetes",
-         "Cimetiere du Pere Lachaise"}}};
-
+static const char* STATION_LIST[32][16] =
+    {[1] =
+         {[0] = "Cite",
+          [1] = "Saint-Michel",
+          [4] = "Odeon",
+          [5] = "Cluny - La Sorbonne",
+          [6] = "Maubert - Mutualite",
+          [7] = "Luxembourg",
+          [8] = "Châtelet",
+          [9] = "Les Halles",
+          [10] = "Les Halles",
+          [12] = "Louvre - Rivoli",
+          [13] = "Pont Neuf",
+          [14] = "Cite",
+          [15] = "Hôtel de Ville"},
+     [2] =
+         {[0] = "Rennes",
+          [2] = "Cambronne",
+          [3] = "Sevres - Lecourbe",
+          [4] = "Segur",
+          [6] = "Saint-François-Xavier",
+          [7] = "Duroc",
+          [8] = "Vaneau",
+          [9] = "Sevres - Babylone",
+          [10] = "Rue du Bac",
+          [11] = "Rennes",
+          [12] = "Saint-Sulpice",
+          [14] = "Mabillon",
+          [15] = "Saint-Germain-des-Pres"},
+     [3] =
+         {[0] = "Villette",
+          [4] = "Porte de la Villette",
+          [5] = "Aubervilliers - Pantin - Quatre Chemins",
+          [6] = "Fort d'Aubervilliers",
+          [7] = "La Courneuve - 8 Mai 1945",
+          [9] = "Hoche",
+          [10] = "eglise de Pantin",
+          [11] = "Bobigny - Pantin - Raymond Queneau",
+          [12] = "Bobigny - Pablo Picasso"},
+     [4] =
+         {[0] = "Montparnasse",
+          [2] = "Pernety",
+          [3] = "Plaisance",
+          [4] = "Gaite",
+          [6] = "Edgar Quinet",
+          [7] = "Vavin",
+          [8] = "Montparnasse - Bienvenue",
+          [12] = "Saint-Placide",
+          [14] = "Notre-Dame-des-Champs"},
+     [5] =
+         {[0] = "Nation",
+          [2] = "Robespierre",
+          [3] = "Porte de Montreuil",
+          [4] = "Maraichers",
+          [5] = "Buzenval",
+          [6] = "Rue des Boulets",
+          [7] = "Porte de Vincennes",
+          [9] = "Picpus",
+          [10] = "Nation",
+          [12] = "Avron",
+          [13] = "Alexandre Dumas"},
+     [6] =
+         {[0] = "Saint-Lazare",
+          [1] = "Malesherbes",
+          [2] = "Monceau",
+          [3] = "Villiers",
+          [4] = "Quatre-Septembre",
+          [5] = "Opera",
+          [6] = "Auber",
+          [7] = "Havre - Caumartin",
+          [8] = "Saint-Lazare",
+          [9] = "Saint-Lazare",
+          [10] = "Saint-Augustin",
+          [12] = "Europe",
+          [13] = "Liege"},
+     [7] =
+         {[0] = "Auteuil",
+          [3] = "Porte de Saint-Cloud",
+          [7] = "Porte d'Auteuil",
+          [8] = "eglise d'Auteuil",
+          [9] = "Michel-Ange - Auteuil",
+          [10] = "Michel-Ange - Molitor",
+          [11] = "Chardon-Lagache",
+          [12] = "Mirabeau",
+          [14] = "Exelmans",
+          [15] = "Jasmin"},
+     [8] =
+         {[0] = "Republique",
+          [1] = "Rambuteau",
+          [3] = "Arts et Metiers",
+          [4] = "Jacques Bonsergent",
+          [5] = "Goncourt",
+          [6] = "Temple",
+          [7] = "Republique",
+          [10] = "Oberkampf",
+          [11] = "Parmentier",
+          [12] = "Filles du Calvaire",
+          [13] = "Saint-Sebastien - Froissart",
+          [14] = "Richard-Lenoir",
+          [15] = "Saint-Ambroise"},
+     [9] =
+         {[0] = "Austerlitz",
+          [1] = "Quai de la Gare",
+          [2] = "Chevaleret",
+          [4] = "Saint-Marcel",
+          [7] = "Gare d'Austerlitz",
+          [8] = "Gare de Lyon",
+          [10] = "Quai de la Rapee"},
+     [10] =
+         {[0] = "Invalides",
+          [1] = "Champs-elysees - Clemenceau",
+          [2] = "Concorde",
+          [3] = "Madeleine",
+          [4] = "Bir-Hakeim",
+          [7] = "ecole Militaire",
+          [8] = "La Tour-Maubourg",
+          [9] = "Invalides",
+          [11] = "Saint-Denis - Universite",
+          [12] = "Varenne",
+          [13] = "Assemblee nationale",
+          [14] = "Solferino"},
+     [11] =
+         {[0] = "Sentier",
+          [1] = "Tuileries",
+          [2] = "Palais Royal - Musee du Louvre",
+          [3] = "Pyramides",
+          [4] = "Bourse",
+          [6] = "Grands Boulevards",
+          [7] = "Richelieu - Drouot",
+          [8] = "Bonne Nouvelle",
+          [10] = "Strasbourg - Saint-Denis",
+          [11] = "Château d'Eau",
+          [13] = "Sentier",
+          [14] = "Reaumur - Sebastopol",
+          [15] = "etienne Marcel"},
+     [12] =
+         {[0] = "ile Saint-Louis",
+          [1] = "Faidherbe - Chaligny",
+          [2] = "Reuilly - Diderot",
+          [3] = "Montgallet",
+          [4] = "Censier - Daubenton",
+          [5] = "Place Monge",
+          [6] = "Cardinal Lemoine",
+          [7] = "Jussieu",
+          [8] = "Sully - Morland",
+          [9] = "Pont Marie",
+          [10] = "Saint-Paul",
+          [12] = "Bastille",
+          [13] = "Chemin Vert",
+          [14] = "Breguet - Sabin",
+          [15] = "Ledru-Rollin"},
+     [13] =
+         {[0] = "Daumesnil",
+          [1] = "Porte Doree",
+          [3] = "Porte de Charenton",
+          [7] = "Bercy",
+          [8] = "Dugommier",
+          [10] = "Michel Bizot",
+          [11] = "Daumesnil",
+          [12] = "Bel-Air"},
+     [14] =
+         {[0] = "Italie",
+          [2] = "Porte de Choisy",
+          [3] = "Porte d'Italie",
+          [4] = "Cite universitaire",
+          [9] = "Maison Blanche",
+          [10] = "Tolbiac",
+          [11] = "Nationale",
+          [12] = "Campo-Formio",
+          [13] = "Les Gobelins",
+          [14] = "Place d'Italie",
+          [15] = "Corvisart"},
+     [15] =
+         {[0] = "Denfert",
+          [1] = "Cour Saint-Emilion",
+          [2] = "Porte d'Orleans",
+          [3] = "Bibliotheque François Mitterrand",
+          [4] = "Mouton-Duvernet",
+          [5] = "Alesia",
+          [6] = "Olympiades",
+          [8] = "Glaciere",
+          [9] = "Saint-Jacques",
+          [10] = "Raspail",
+          [14] = "Denfert-Rochereau"},
+     [16] =
+         {[0] = "Felix Faure",
+          [1] = "Falguiere",
+          [2] = "Pasteur",
+          [3] = "Volontaires",
+          [4] = "Vaugirard",
+          [5] = "Convention",
+          [6] = "Porte de Versailles",
+          [9] = "Balard",
+          [10] = "Lourmel",
+          [11] = "Boucicaut",
+          [12] = "Felix Faure",
+          [13] = "Charles Michels",
+          [14] = "Javel - Andre Citroen"},
+     [17] =
+         {[0] = "Passy",
+          [2] = "Porte Dauphine",
+          [4] = "La Motte-Picquet - Grenelle",
+          [5] = "Commerce",
+          [6] = "Avenue emile Zola",
+          [7] = "Dupleix",
+          [8] = "Passy",
+          [9] = "Ranelagh",
+          [11] = "La Muette",
+          [13] = "Rue de la Pompe",
+          [14] = "Boissiere",
+          [15] = "Trocadero"},
+     [18] =
+         {[0] = "etoile",
+          [1] = "Iena",
+          [3] = "Alma - Marceau",
+          [4] = "Miromesnil",
+          [5] = "Saint-Philippe du Roule",
+          [7] = "Franklin D. Roosevelt",
+          [8] = "George V",
+          [9] = "Kleber",
+          [10] = "Victor Hugo",
+          [11] = "Argentine",
+          [12] = "Charles de Gaulle - Itoile",
+          [14] = "Ternes",
+          [15] = "Courcelles"},
+     [19] =
+         {[0] = "Clichy - Saint Ouen",
+          [1] = "Mairie de Clichy",
+          [2] = "Gabriel Peri",
+          [3] = "Les Agnettes",
+          [4] = "Asnieres - Gennevilliers - Les Courtilles",
+          [9] = "La Chapelle)",
+          [10] = "Garibaldi",
+          [11] = "Mairie de Saint-Ouen",
+          [13] = "Carrefour Pleyel",
+          [14] = "Saint-Denis - Porte de Paris",
+          [15] = "Basilique de Saint-Denis"},
+     [20] =
+         {[0] = "Montmartre",
+          [1] = "Porte de Clignancourt",
+          [6] = "Porte de la Chapelle",
+          [7] = "Marx Dormoy",
+          [9] = "Marcadet - Poissonniers",
+          [10] = "Simplon",
+          [11] = "Jules Joffrin",
+          [12] = "Lamarck - Caulaincourt"},
+     [21] =
+         {[0] = "Lafayette",
+          [1] = "Chaussee d'Antin - La Fayette",
+          [2] = "Le Peletier",
+          [3] = "Cadet",
+          [4] = "Château Rouge",
+          [7] = "Barbes - Rochechouart",
+          [8] = "Gare du Nord",
+          [9] = "Gare de l'Est",
+          [10] = "Poissonniere",
+          [11] = "Château-Landon"},
+     [22] =
+         {[0] = "Buttes Chaumont",
+          [1] = "Porte de Pantin",
+          [2] = "Ourcq",
+          [4] = "Corentin Cariou",
+          [6] = "Crimee",
+          [8] = "Riquet",
+          [9] = "La Chapelle",
+          [10] = "Louis Blanc",
+          [11] = "Stalingrad",
+          [12] = "Jaures",
+          [13] = "Laumiere",
+          [14] = "Bolivar",
+          [15] = "Colonel Fabien"},
+     [23] =
+         {[0] = "Belleville",
+          [2] = "Porte des Lilas",
+          [3] = "Mairie des Lilas",
+          [4] = "Porte de Bagnolet",
+          [5] = "Gallieni",
+          [8] = "Place des Fetes",
+          [9] = "Botzaris",
+          [10] = "Danube",
+          [11] = "Pre Saint-Gervais",
+          [13] = "Buttes Chaumont",
+          [14] = "Jourdain",
+          [15] = "Telegraphe"},
+     [24] =
+         {[0] = "Pere Lachaise",
+          [1] = "Voltaire",
+          [2] = "Charonne",
+          [4] = "Pere Lachaise",
+          [5] = "Menilmontant",
+          [6] = "Rue Saint-Maur",
+          [7] = "Philippe Auguste",
+          [8] = "Saint-Fargeau",
+          [9] = "Pelleport",
+          [10] = "Gambetta",
+          [12] = "Belleville",
+          [13] = "Couronnes",
+          [14] = "Pyrenees"},
+     [25] =
+         {[0] = "Charenton",
+          [2] = "Croix de Chavaux",
+          [3] = "Mairie de Montreuil",
+          [4] = "Maisons-Alfort - Les Juilliottes",
+          [5] = "Creteil - L'echat",
+          [6] = "Creteil - Universite",
+          [7] = "Creteil - Prefecture",
+          [8] = "Saint-Mande",
+          [10] = "Berault",
+          [11] = "Château de Vincennes",
+          [12] = "Liberte",
+          [13] = "Charenton - ecoles",
+          [14] = "ecole veterinaire de Maisons-Alfort",
+          [15] = "Maisons-Alfort - Stade"},
+     [26] =
+         {[0] = "Ivry - Villejuif",
+          [3] = "Porte d'Ivry",
+          [4] = "Pierre et Marie Curie",
+          [5] = "Mairie d'Ivry",
+          [6] = "Le Kremlin-Bicetre",
+          [7] = "Villejuif - Leo Lagrange",
+          [8] = "Villejuif - Paul Vaillant-Couturier",
+          [9] = "Villejuif - Louis Aragon"},
+     [27] =
+         {[0] = "Vanves",
+          [2] = "Porte de Vanves",
+          [7] = "Malakoff - Plateau de Vanves",
+          [8] = "Malakoff - Rue etienne Dolet",
+          [9] = "Châtillon - Montrouge"},
+     [28] =
+         {[0] = "Issy",
+          [2] = "Corentin Celton",
+          [3] = "Mairie d'Issy",
+          [8] = "Marcel Sembat",
+          [9] = "Billancourt",
+          [10] = "Pont de Sevres"},
+     [29] =
+         {[0] = "Levallois",
+          [4] = "Boulogne - Jean Jaures",
+          [5] = "Boulogne - Pont de Saint-Cloud",
+          [8] = "Les Sablons",
+          [9] = "Pont de Neuilly",
+          [10] = "Esplanade de la Defense",
+          [11] = "La Defense",
+          [12] = "Porte de Champerret",
+          [13] = "Louise Michel",
+          [14] = "Anatole France",
+          [15] = "Pont de Levallois - Becon"},
+     [30] =
+         {[0] = "Pereire",
+          [1] = "Porte Maillot",
+          [4] = "Wagram",
+          [5] = "Pereire",
+          [8] = "Brochant",
+          [9] = "Porte de Clichy",
+          [12] = "Guy Môquet",
+          [13] = "Porte de Saint-Ouen"},
+     [31] = {
+         [0] = "Pigalle",
+         [2] = "Funiculaire de Montmartre (station inferieure)",
+         [3] = "Funiculaire de Montmartre (station superieure)",
+         [4] = "Anvers",
+         [5] = "Abbesses",
+         [6] = "Pigalle",
+         [7] = "Blanche",
+         [8] = "Trinite - d'Estienne d'Orves",
+         [9] = "Notre-Dame-de-Lorette",
+         [10] = "Saint-Georges",
+         [12] = "Rome",
+         [13] = "Place de Clichy",
+         [14] = "La Fourche"}};
 #endif // METRO_LIST_H
 #endif // METRO_LIST_H