void LookForCustomCampaigns(void) { int i; printf("\nCampaigns:\n"); campaignList = GetFilesFromDirectory(GetDataFilePath("missions/")); GetCampaignTitles(&campaignList); i = 0; while (SetupBuiltinCampaign(i)) { AddFileEntry(&campaignList, "", gCampaign.setting->title, i); i++; } printf("\nDogfights:\n"); dogfightList = GetFilesFromDirectory(GetDataFilePath("dogfights/")); GetCampaignTitles(&dogfightList); i = 0; while (SetupBuiltinDogfight(i)) { AddFileEntry(&dogfightList, "", gCampaign.setting->title, i); i++; } printf("\n"); }
static void SetupBuiltin(int dogFight, int index) { if (dogFight) SetupBuiltinDogfight(index); else SetupBuiltinCampaign(index); }
void LoadBuiltinCampaigns(campaign_list_t *list) { int i = 0; for (i = 0; SetupBuiltinCampaign(i); i++) { AddBuiltinCampaignEntry( list, gCampaign.Setting.title, CAMPAIGN_MODE_NORMAL, i); } }
void MenuLoadCampaign(campaign_entry_t *entry) { gOptions.twoPlayers = entry->is_two_player; gCampaign.Entry = *entry; if (entry->isBuiltin) { if (entry->mode == CAMPAIGN_MODE_NORMAL) { SetupBuiltinCampaign(entry->builtinIndex); } else if (entry->mode == CAMPAIGN_MODE_DOGFIGHT) { SetupBuiltinDogfight(entry->builtinIndex); } else { SetupQuickPlayCampaign(&gCampaign.Setting); } } else { if (customSetting.missions) { CFREE(customSetting.missions); } if (customSetting.characters) { CFREE(customSetting.characters); } memset(&customSetting, 0, sizeof(customSetting)); if (LoadCampaign(entry->path, &customSetting, 0, 0) != CAMPAIGN_OK) { printf("Failed to load campaign %s!\n", entry->path); assert(0); } gCampaign.Setting = customSetting; } printf(">> Loading campaign/dogfight\n"); }
void MenuLoadCampaign(campaign_entry_t *entry) { gCampaign.Entry = *entry; CampaignSettingTerminate(&gCampaign.Setting); if (entry->isBuiltin) { if (entry->mode == CAMPAIGN_MODE_NORMAL) { SetupBuiltinCampaign(entry->builtinIndex); } else if (entry->mode == CAMPAIGN_MODE_DOGFIGHT) { SetupBuiltinDogfight(entry->builtinIndex); } else if (entry->mode == CAMPAIGN_MODE_QUICK_PLAY) { SetupQuickPlayCampaign(&gCampaign.Setting, &gConfig.QuickPlay); } else { printf("Unknown game mode!\n"); assert(0); } } else { CampaignSettingNew customSetting; CampaignSettingInit(&customSetting); if (LoadCampaign(entry->path, &customSetting) != CAMPAIGN_OK) { printf("Failed to load campaign %s!\n", entry->path); assert(0); } memcpy(&gCampaign.Setting, &customSetting, sizeof gCampaign.Setting); } printf(">> Loading campaign/dogfight\n"); }