MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / PltGetPilots

Function PltGetPilots

Descent3/pilot.cpp:1839–1958  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1837}
1838
1839char **PltGetPilots(int *count, char *ignore_filename, int display_default_configs) {
1840 static char **pname_list = NULL;
1841
1842 char buffer[PLTFILELEN];
1843 char search[256];
1844 tPGetPilotStruct *root = NULL, *curr = NULL;
1845 int loop = 1;
1846
1847 if (display_default_configs == 1)
1848 loop = 2;
1849
1850 // clear list
1851 PltClearList();
1852 PltGetPilotsFree();
1853 (*count) = 0;
1854 root = NULL;
1855
1856 for (int loop_count = 0; loop_count < loop; loop_count++) {
1857 switch (display_default_configs) {
1858 case 0:
1859 ASSERT(loop_count == 0);
1860 ddio_MakePath(search, Base_directory, PLTWILDCARD, NULL);
1861 break;
1862 case 1:
1863 ddio_MakePath(search, Base_directory, (loop_count == 0) ? PLTWILDCARD : DPLTWILDCARD, NULL);
1864 break;
1865 case 2:
1866 ASSERT(loop_count == 0);
1867 ddio_MakePath(search, Base_directory, DPLTWILDCARD, NULL);
1868 break;
1869 default:
1870 Int3();
1871 break;
1872 }
1873
1874
1875 if (ddio_FindFileStart(search, buffer)) {
1876
1877 if (ignore_filename && !stricmp(ignore_filename, buffer)) {
1878 mprintf(0, "Getting Pilots...found %s, but ignoring\n", buffer);
1879 } else {
1880 if (root == NULL) {
1881 root = curr = (tPGetPilotStruct *)mem_malloc(sizeof(tPGetPilotStruct));
1882 curr->next = NULL;
1883 } else {
1884 curr->next = (tPGetPilotStruct *)mem_malloc(sizeof(tPGetPilotStruct));
1885 curr = curr->next;
1886 curr->next = NULL;
1887 }
1888
1889 if (curr) {
1890 curr->filename = mem_strdup(buffer);
1891
1892 if (curr->filename) {
1893 (*count)++;
1894 mprintf(0, "Getting Pilots..found %s\n", buffer);
1895 } else {
1896 Error(TXT_OUTOFMEMORY);

Callers 3

OnInitDialogMethod · 0.85
PilotSelectFunction · 0.85
PilotCopyDefaultControlsFunction · 0.85

Calls 7

PltClearListFunction · 0.85
PltGetPilotsFreeFunction · 0.85
ErrorFunction · 0.85
ddio_MakePathFunction · 0.50
ddio_FindFileStartFunction · 0.50
ddio_FindNextFileFunction · 0.50
ddio_FindFileCloseFunction · 0.50

Tested by

no test coverage detected