UFO: Alien Invasion
|
Nation code. More...
Go to the source code of this file.
Data Structures | |
struct | nationInfo_s |
Detailed information about the nation relationship (currently per month, but could be used elsewhere). More... | |
struct | nation_s |
Nation definition. More... | |
struct | city_s |
City definition. More... | |
Macros | |
#define | NAT_Foreach(var) LIST_Foreach(ccs.nations, nation_t, var) |
iterates trough nations More... | |
Typedefs | |
typedef struct nationInfo_s | nationInfo_t |
Detailed information about the nation relationship (currently per month, but could be used elsewhere). More... | |
typedef struct nation_s | nation_t |
Nation definition. More... | |
typedef struct city_s | city_t |
City definition. More... | |
Functions | |
nation_t * | NAT_GetNationByID (const char *nationID) |
Return a nation-pointer by the nations id. More... | |
nation_t * | NAT_GetRandom (void) |
Return a pointer to a random nation. More... | |
void | NAT_UpdateHappinessForAllNations (const float minhappiness) |
Lower happiness of nations depending on alien activity. More... | |
void | NAT_SetHappiness (const float minhappiness, nation_t *nation, const float happiness) |
Updates the nation happiness. More... | |
int | NAT_GetFunding (const nation_t *const nation, int month) |
Get the funding of a nation at a certain month. More... | |
const nationInfo_t * | NAT_GetCurrentMonthInfo (const nation_t *const nation) |
Get the current month nation stats. More... | |
const char * | NAT_GetHappinessString (const float happiness) |
Translates the nation happiness float value to a string. More... | |
const char * | NAT_GetCurrentHappinessString (const nation_t *nation) |
Translates the current nation happiness float value to a string. More... | |
void | CP_HandleNationData (float minHappiness, struct mission_s *mis, const nation_t *nation, const struct missionResults_s *results, bool won) |
void | CL_ParseNations (const char *name, const char **text) |
Parse the nation data from script file. More... | |
city_t * | CITY_GetById (const char *cityId) |
Finds a city by it's scripted identifier. More... | |
city_t * | CITY_GetByPos (vec2_t pos) |
Finds a city by it's geoscape coordinates. More... | |
void | CITY_Parse (const char *name, const char **text) |
Parse the city data from script file. More... | |
bool | NAT_ScriptSanityCheck (void) |
Checks the parsed nations and cities for errors. More... | |
void | NAT_HandleBudget (const struct campaign_s *campaign) |
void | NAT_BackupMonthlyData (void) |
Backs up each nation's relationship values. More... | |
void | NAT_InitStartup (void) |
Init actions for nation-subsystem. More... | |
void | NAT_Shutdown (void) |
Closing actions for nation-subsystem. More... | |
Nation code.
Definition in file cp_nation.h.
#define NAT_Foreach | ( | var | ) | LIST_Foreach(ccs.nations, nation_t, var) |
iterates trough nations
[out] | var | variable to point to the nation structure |
Definition at line 80 of file cp_nation.h.
Referenced by CL_ParseNations(), CP_CheckLostCondition(), CP_CheckTriggerEvent(), CP_ChooseNation(), CP_GetAverageXVIRate(), CP_HandleNationData(), CP_UpdateNationXVIInfection(), GEO_DrawMarkers(), GEO_GetNation(), NAT_BackupMonthlyData(), NAT_DrawCharts_f(), NAT_GetNationByID(), NAT_GetRandom(), NAT_HandleBudget(), NAT_ListStats_f(), NAT_SaveXML(), TEST_F(), UR_DialogInitSell_f(), and UR_DialogStartSell_f().
typedef struct nationInfo_s nationInfo_t |
Detailed information about the nation relationship (currently per month, but could be used elsewhere).
city_t* CITY_GetById | ( | const char * | cityId | ) |
Finds a city by it's scripted identifier.
[in] | cityId | Scripted ID of the city |
Definition at line 411 of file cp_nation.cpp.
References ccs, ccs_s::cities, LIST_Foreach, and Q_streq.
Referenced by CITY_Parse().
Finds a city by it's geoscape coordinates.
[in] | pos | Position of the city |
Definition at line 424 of file cp_nation.cpp.
References ccs, ccs_s::cities, LIST_Foreach, and Vector2Equal.
Referenced by MIS_LoadXML().
void CITY_Parse | ( | const char * | name, |
const char ** | text | ||
) |
Parse the city data from script file.
[in] | name | ID of the found nation |
[in] | text | The text of the nation node |
Definition at line 445 of file cp_nation.cpp.
References ccs, cgi, ccs_s::cities, CITY_GetById(), cp_campaignPool, city_s::id, city_s::idx, LIST_Add(), ccs_s::numCities, OBJZERO, and cgame_import_s::PoolStrDup().
Referenced by CP_ParseScriptFirst().
void CL_ParseNations | ( | const char * | name, |
const char ** | text | ||
) |
Parse the nation data from script file.
[in] | name | Name or ID of the found nation |
[in] | text | The text of the nation node |
Definition at line 382 of file cp_nation.cpp.
References ccs, cgi, cp_campaignPool, DEBUG_CLIENT, nation_s::id, nation_s::idx, nationInfo_s::inuse, LIST_Add(), NAT_Foreach, ccs_s::nations, ccs_s::numNations, OBJZERO, cgame_import_s::PoolStrDup(), Q_streq, and nation_s::stats.
Referenced by CP_ParseScriptFirst().
void CP_HandleNationData | ( | float | minHappiness, |
struct mission_s * | mis, | ||
const nation_t * | nation, | ||
const struct missionResults_s * | results, | ||
bool | won | ||
) |
Backs up each nation's relationship values.
Back up nation relationship . "inuse" is copied as well so we do not need to set it anywhere.
Definition at line 826 of file cp_nation.cpp.
References i, MONTHS_PER_YEAR, and NAT_Foreach.
Referenced by CP_CampaignRun().
const char* NAT_GetCurrentHappinessString | ( | const nation_t * | nation | ) |
Translates the current nation happiness float value to a string.
[in] | nation |
Definition at line 176 of file cp_nation.cpp.
References nationInfo_s::happiness, NAT_GetCurrentMonthInfo(), and NAT_GetHappinessString().
Referenced by NAT_HandleBudget(), and NAT_SetHappiness().
const nationInfo_t* NAT_GetCurrentMonthInfo | ( | const nation_t *const | nation | ) |
Get the current month nation stats.
[in] | nation | Pointer to the nation |
Definition at line 132 of file cp_nation.cpp.
References nation_s::stats.
Referenced by AB_BaseSearchedByNations(), CP_BuildBaseGovernmentLeave(), CP_ChangeNationHappiness_f(), CP_CheckLostCondition(), CP_CheckTriggerEvent(), CP_ChooseNation(), CP_GetAverageXVIRate(), CP_HandleNationData(), GEO_DrawMarkers(), NAT_GetCurrentHappinessString(), NAT_HandleBudget(), NAT_UpdateHappinessForAllNations(), and UR_DialogInitSell_f().
Get the funding of a nation at a certain month.
[in] | nation | Pointer to the nation |
[in] | month | idx of the month – 0 for current month |
Definition at line 120 of file cp_nation.cpp.
References nationInfo_s::happiness, nation_s::maxFunding, MONTHS_PER_YEAR, and nation_s::stats.
Referenced by NAT_DrawCharts_f(), NAT_HandleBudget(), and NAT_ListStats_f().
const char* NAT_GetHappinessString | ( | const float | happiness | ) |
Translates the nation happiness float value to a string.
[in] | happiness | value |
Definition at line 143 of file cp_nation.cpp.
References _.
Referenced by NAT_GetCurrentHappinessString(), NAT_ListStats_f(), and UR_DialogInitSell_f().
nation_t* NAT_GetNationByID | ( | const char * | nationID | ) |
Return a nation-pointer by the nations id.
[in] | nationID | nation id as defined in scripts |
Definition at line 63 of file cp_nation.cpp.
References cgi, NAT_Foreach, and Q_streq.
Referenced by E_LoadXML(), NAT_LoadXML(), TEST_F(), and UR_DialogStartSell_f().
Return a pointer to a random nation.
Definition at line 45 of file cp_nation.cpp.
References ccs, i, NAT_Foreach, and ccs_s::numNations.
Referenced by E_InitialEmployees().
void NAT_HandleBudget | ( | const struct campaign_s * | campaign | ) |
Init actions for nation-subsystem.
Definition at line 852 of file cp_nation.cpp.
References cgi.
Referenced by CP_InitStartup().
bool NAT_ScriptSanityCheck | ( | void | ) |
Checks the parsed nations and cities for errors.
Definition at line 470 of file cp_nation.cpp.
References ccs, cgi, ccs_s::cities, cgame_import_s::Com_UFOTypeToShortName(), mapDef_s::cultures, GEO_GetColor(), GEO_PositionFitsTCPNTypes(), GEO_PrintParameterStringByPos(), i, INTERESTCATEGORY_TERROR_ATTACK, cgame_import_s::LIST_ContainsString(), LIST_Foreach, MapDef_ForeachSingleplayerCampaign, MapIsWater, MAPTYPE_TERRAIN, mapDef_s::populations, REMOVE_ELEM, mapDef_s::storyRelated, mapDef_s::terrains, UFO_GetAvailableUFOsForMission(), UFO_MAX, and mapDef_s::ufos.
Updates the nation happiness.
[in] | minhappiness | Minimum value of mean happiness before the game is lost |
[in] | nation | The nation to update the happiness for |
[in] | happiness | The new happiness value to set for the given nation |
Definition at line 188 of file cp_nation.cpp.
References _, Com_sprintf(), cp_messageBuffer, nationInfo_s::happiness, MSO_CheckAddNewMessage(), nation_s::name, NAT_GetCurrentHappinessString(), NT_HAPPINESS_CHANGED, NT_HAPPINESS_MIN, NT_HAPPINESS_PLEASED, NT_NUM_NOTIFYTYPE, and nation_s::stats.
Referenced by CP_BuildBaseGovernmentLeave(), CP_ChangeNationHappiness_f(), CP_HandleNationData(), NAT_UpdateHappinessForAllNations(), and UR_DialogStartSell_f().
Closing actions for nation-subsystem.
Definition at line 860 of file cp_nation.cpp.
References ccs, cgi, ccs_s::cities, and ccs_s::nations.
Referenced by CP_Shutdown().
void NAT_UpdateHappinessForAllNations | ( | const float | minhappiness | ) |
Lower happiness of nations depending on alien activity.
Definition at line 83 of file cp_nation.cpp.
References cgi, DEBUG_CLIENT, GEO_GetNation(), nationInfo_s::happiness, HAPPINESS_ALIEN_MISSION_LOSS, MIS_Foreach, nation_s::name, NAT_GetCurrentMonthInfo(), NAT_SetHappiness(), STAGE_HARVEST, STAGE_RECON_GROUND, STAGE_SPREAD_XVI, STAGE_SUBVERT_GOV, and STAGE_TERROR_MISSION.
Referenced by CP_CampaignRun().