static void Scenario_Load_House(uint8 houseID) { const char *houseName = g_table_houseInfo[houseID].name; char *houseType; char buf[128]; char *b; House *h; /* Get the type of the House (CPU / Human) */ Ini_GetString(houseName, "Brain", "NONE", buf, 127, s_scenarioBuffer); for (b = buf; *b != '\0'; b++) if (*b >= 'a' && *b <= 'z') *b += 'A' - 'a'; houseType = strstr("HUMAN$CPU", buf); if (houseType == NULL) return; /* Create the house */ h = House_Allocate(houseID); h->credits = Ini_GetInteger(houseName, "Credits", 0, s_scenarioBuffer); h->creditsQuota = Ini_GetInteger(houseName, "Quota", 0, s_scenarioBuffer); h->unitCountMax = Ini_GetInteger(houseName, "MaxUnit", 39, s_scenarioBuffer); /* For 'Brain = Human' we have to set a few additional things */ if (*houseType != 'H') return; h->flags.human = true; g_playerHouseID = houseID; g_playerHouse = h; g_playerCreditsNoSilo = h->credits; }
static void Scenario_Load_General() { g_scenario.winFlags = Ini_GetInteger("BASIC", "WinFlags", 0, s_scenarioBuffer); g_scenario.loseFlags = Ini_GetInteger("BASIC", "LoseFlags", 0, s_scenarioBuffer); g_scenario.mapSeed = Ini_GetInteger("MAP", "Seed", 0, s_scenarioBuffer); g_scenario.timeOut = Ini_GetInteger("BASIC", "TimeOut", 0, s_scenarioBuffer); g_minimapPosition = Ini_GetInteger("BASIC", "TacticalPos", g_minimapPosition, s_scenarioBuffer); g_selectionRectanglePosition = Ini_GetInteger("BASIC", "CursorPos", g_selectionRectanglePosition, s_scenarioBuffer); g_scenario.mapScale = Ini_GetInteger("BASIC", "MapScale", 0, s_scenarioBuffer); Ini_GetString("BASIC", "BriefPicture", "HARVEST.WSA", g_scenario.pictureBriefing, 14, s_scenarioBuffer); Ini_GetString("BASIC", "WinPicture", "WIN1.WSA", g_scenario.pictureWin, 14, s_scenarioBuffer); Ini_GetString("BASIC", "LosePicture", "LOSTBILD.WSA", g_scenario.pictureLose, 14, s_scenarioBuffer); g_viewportPosition = g_minimapPosition; g_selectionPosition = g_selectionRectanglePosition; }
int IniFile_GetInteger(const char *key, int defaultValue) { if (g_openduneini == NULL) return defaultValue; return Ini_GetInteger("opendune", key, defaultValue, g_openduneini); }