UFO: Alien Invasion
|
This is the technology parsed from research.ufo. More...
#include <cp_research.h>
Data Fields | |
char * | id |
int | idx |
char * | name |
technologyDescriptions_t | description |
technologyDescriptions_t | preDescription |
researchType_t | type |
struct technology_s * | redirect |
requirements_t | requireAND |
requirements_t | requireOR |
bool | statusCollected |
char * | provides |
float | overallTime |
float | time |
int | delay |
researchStatus_t | statusResearch |
char * | finishedResearchEvent |
bool | announce |
struct base_s * | base |
int | scientists |
char * | image |
char * | mdl |
bool | statusResearchable |
int | produceTime |
mailSentType_t | mailSent |
requirements_t | requireForProduction |
date_t | preResearchedDate |
date_t | researchedDate |
markResearched_t | markResearched |
struct pediaChapter_s * | upChapter |
struct technology_s * | upPrev |
struct technology_s * | upNext |
techMail_t | mail [TECHMAIL_MAX] |
int | numTechMails |
struct technology_s * | hashNext |
struct technology_s * | hashProvidedNext |
This is the technology parsed from research.ufo.
Definition at line 137 of file cp_research.h.
bool technology_s::announce |
if this is true the ufopedia will be opened on finishing the research
Definition at line 165 of file cp_research.h.
Referenced by RS_ResearchFinish().
struct base_s* technology_s::base |
The base this tech is researched in.
Definition at line 167 of file cp_research.h.
Referenced by B_AddToStorage(), RS_AssignScientist(), RS_Change_f(), RS_CheckRequirements(), RS_CountScientistsInBase(), RS_FillTechnologyList_f(), RS_GetTechWithMostScientists(), RS_LoadXML(), RS_MarkResearchable(), RS_Max_f(), RS_RemoveScientist(), RS_ResearchRun(), RS_SaveXML(), RS_ShowActiveResearch_f(), RS_Stop_f(), and TEST_F().
int technology_s::delay |
Definition at line 159 of file cp_research.h.
technologyDescriptions_t technology_s::description |
Descriptions of researched item.
Definition at line 141 of file cp_research.h.
Referenced by RS_ParseTechnologies(), RS_ResearchFinish(), RS_ScriptSanityCheck(), and UP_Article().
char* technology_s::finishedResearchEvent |
nullptr or string with scriptable commands that are executed after the tech was successfully researched
Definition at line 164 of file cp_research.h.
Referenced by RS_ResearchFinish().
struct technology_s* technology_s::hashNext |
Definition at line 197 of file cp_research.h.
Referenced by RS_GetTechByID(), RS_GetTechIdxByName(), and RS_ParseTechnologies().
struct technology_s* technology_s::hashProvidedNext |
Definition at line 198 of file cp_research.h.
Referenced by RS_GetTechByProvided(), and RS_ParseTechnologies().
char* technology_s::id |
Short (unique) id/name.
Definition at line 138 of file cp_research.h.
Referenced by AC_Init_f(), AC_KillOne_f(), BS_MarketInfoClick_f(), CP_ParseResearchableCampaignStates(), CP_ParseResearchedCampaignItems(), MS_MessageSaveXML(), PR_ProductionListRightClick_f(), PR_UpdateProductionList(), RS_AssignScientist(), RS_Change_f(), RS_FillTechnologyList_f(), RS_GetTechByID(), RS_GetTechIdxByName(), RS_InitTree(), RS_MarkOneResearchable(), RS_MarkResearchable(), RS_MarkResearched(), RS_Max_f(), RS_ParseTechnologies(), RS_RequirementsMet(), RS_ResearchFinish(), RS_SaveXML(), RS_ScriptSanityCheck(), RS_ShowActiveResearch_f(), RS_Stop_f(), UP_ResearchedLinkClick_f(), and UP_TechTreeClick_f().
int technology_s::idx |
Self-link in the global list
Definition at line 139 of file cp_research.h.
Referenced by RS_AssignScientist(), RS_GetTechIdxByName(), RS_ParseTechnologies(), and UP_GenerateArticlesSummary().
char* technology_s::image |
Image to display in the Ufopedia and other menus for this tech. If not set in the .ufo file this is auto-set in RS_InitTree.
Definition at line 170 of file cp_research.h.
Referenced by AC_Init_f(), RS_GetDetails_f(), RS_InitTree(), and UP_Article().
techMail_t technology_s::mail[TECHMAIL_MAX] |
UFOpaedia mails. See techMailType_t for the different array-entries.
Definition at line 194 of file cp_research.h.
Referenced by RS_InitTree(), RS_LoadXML(), RS_ParseTechnologies(), RS_SaveXML(), UP_GetUnreadMails(), UP_SetAllMailsRead_f(), and UP_SetMailHeader().
mailSentType_t technology_s::mailSent |
Store if a Mail has been sent to the commander (player).
Definition at line 178 of file cp_research.h.
Referenced by CP_ParseResearchableCampaignStates(), CP_ParseResearchedCampaignItems(), RS_LoadXML(), RS_MarkCollected(), RS_MarkOneResearchable(), RS_MarkResearchable(), RS_ResearchFinish(), and RS_SaveXML().
markResearched_t technology_s::markResearched |
Mark as researched at parsing state - but i only know the date if we already started a campaign.
Definition at line 187 of file cp_research.h.
Referenced by CP_ParseResearchedCampaignItems(), and RS_InitTree().
char* technology_s::mdl |
Same as "image" but it's a 3d model..
Definition at line 173 of file cp_research.h.
Referenced by AIM_DrawAircraftSlots(), AIR_AircraftSelect(), GAME_CP_GetItemModel(), RS_GetDetails_f(), RS_InitTree(), UP_AircraftItemDescription(), UP_Article(), and UP_DrawAssociatedAmmo().
char* technology_s::name |
Full name of this technology.
Definition at line 140 of file cp_research.h.
Referenced by AIM_AircraftEquipMenuUpdate(), BDEF_AddSlotToSlotList(), BS_FillMarket_f(), PR_RequirementsInfo(), RS_AssignScientist(), RS_CheckRequirements(), RS_FillTechnologyList_f(), RS_GetDetails_f(), RS_InitTree(), RS_MarkCollected(), RS_MarkOneResearchable(), RS_ResearchFinish(), RS_ResearchRun(), RS_ScriptSanityCheck(), RS_ShowActiveResearch_f(), UFO_TypeToName(), UP_Article(), UP_DisplayTechTree(), UP_GenerateArticlesSummary(), and UP_UGVDescription().
int technology_s::numTechMails |
Used to store which "mail" entry to display in pedia. if It's equal to TECHMAIL_MAX both mailtypes are available.
Definition at line 195 of file cp_research.h.
Referenced by RS_ParseTechnologies(), and UP_SetMailHeader().
float technology_s::overallTime |
Definition at line 156 of file cp_research.h.
Referenced by AC_Init_f(), RS_FillTechnologyList_f(), RS_ParseTechnologies(), and RS_ShowActiveResearch_f().
technologyDescriptions_t technology_s::preDescription |
Descriptions of item before it's researched.
Definition at line 142 of file cp_research.h.
Referenced by RS_MarkOneResearchable(), RS_ParseTechnologies(), RS_ResearchFinish(), UP_Article(), and UP_TechGetsDisplayed().
date_t technology_s::preResearchedDate |
Date for UFOpaedia. Research proposal.
Definition at line 184 of file cp_research.h.
Referenced by RS_LoadXML(), RS_MarkCollected(), RS_MarkOneResearchable(), RS_ResearchFinish(), RS_SaveXML(), and UP_SetMailHeader().
int technology_s::produceTime |
How many hours the production of this items runs.
Definition at line 177 of file cp_research.h.
Referenced by PR_CalculateTotalFrames(), PR_ItemIsProduceable(), PR_ProductionListClick_f(), PR_QueueNew(), PR_UpdateProductionList(), RS_ScriptSanityCheck(), and TEST_F().
char* technology_s::provides |
The item that this technology enables.
Definition at line 154 of file cp_research.h.
Referenced by AII_AddAmmoToSlot(), AII_AddItemToSlot(), AIM_AircraftEquipAddItem_f(), AIM_AutoEquipAircraft(), AIM_CheckTechnologyIntoSlot(), AIM_CrafttypeFilter(), AIM_SelectableCraftItem(), AIM_UpdateItemDescription(), AIR_ParseAircraft(), AIRFIGHT_LoadXML(), BDEF_AddItem_f(), BDEF_SelectItem_f(), RS_GetTechByProvided(), RS_InitTree(), RS_ParseTechnologies(), RS_ScriptSanityCheck(), UP_AircraftDescription(), UP_Article(), UP_BuildingDescription(), UP_DrawAssociatedAmmo(), UP_ResearchedLinkClick_f(), UP_TechGetsDisplayed(), and UP_UGVDescription().
struct technology_s* technology_s::redirect |
Set this to the entry that is supposed to get displayed instead of this one. Mostly used for e.g ammo that doesn't need its own description but rather the one for the weapon.
Definition at line 145 of file cp_research.h.
Referenced by RS_RequiredLinksAssign(), UP_FindEntry_f(), and UP_TechGetsDisplayed().
requirements_t technology_s::requireAND |
A list of requirements that ALL need to be met (= AND-related) See struct above.
Definition at line 148 of file cp_research.h.
Referenced by RS_InitTree(), RS_ParseTechnologies(), RS_RequiredLinksAssign(), RS_RequirementsMet(), UP_DisplayTechTree(), and UP_TechTreeClick_f().
requirements_t technology_s::requireForProduction |
A list of items that are needed (and used up) on production of this item. Only "item"-type is allowed. All requirements need to be fulfilled in order for one item to be produced. This check is done for each item.
Definition at line 179 of file cp_research.h.
Referenced by PR_AircraftInfo(), PR_DecreaseProduction(), PR_IncreaseProduction(), PR_ItemProductionInfo(), PR_ProductionIncrease_f(), PR_QueueDelete(), PR_QueueNew(), RS_ParseTechnologies(), and RS_RequiredLinksAssign().
requirements_t technology_s::requireOR |
A list of requirements where ANY need to be met (= OR-related) See struct above.
Definition at line 149 of file cp_research.h.
Referenced by RS_InitTree(), RS_ParseTechnologies(), RS_RequiredLinksAssign(), and RS_RequirementsMet().
date_t technology_s::researchedDate |
Date for UFOpaedia. Finished research.
Definition at line 185 of file cp_research.h.
Referenced by CP_CampaignRunMarket(), RS_LoadXML(), RS_ResearchFinish(), RS_SaveXML(), and UP_SetMailHeader().
int technology_s::scientists |
How many scientists (from "base") are researching this tech.
Definition at line 168 of file cp_research.h.
Referenced by RS_AssignScientist(), RS_Change_f(), RS_CountScientistsInBase(), RS_FillTechnologyList_f(), RS_GetTechWithMostScientists(), RS_LoadXML(), RS_Max_f(), RS_RemoveScientist(), RS_ResearchRun(), RS_SaveXML(), RS_ShowActiveResearch_f(), RS_Stop_f(), RS_StopResearch(), and TEST_F().
bool technology_s::statusCollected |
Did we loot any items of this tech? This is updated from the info stored in the requireOR and requireAND lists.
Definition at line 150 of file cp_research.h.
Referenced by RS_FillTechnologyList_f(), RS_LoadXML(), RS_MarkCollected(), and RS_SaveXML().
researchStatus_t technology_s::statusResearch |
Current status of the research.
Definition at line 163 of file cp_research.h.
Referenced by B_AddToStorage(), RS_AssignScientist(), RS_CheckRequirements(), RS_FillTechnologyList_f(), RS_GetTechWithMostScientists(), RS_IsResearched_idx(), RS_IsResearched_ptr(), RS_LoadXML(), RS_MarkCollected(), RS_MarkResearchable(), RS_ParseTechnologies(), RS_RemoveScientist(), RS_ResearchFinish(), RS_ResearchRun(), RS_SaveXML(), RS_ShowActiveResearch_f(), and TEST_F().
bool technology_s::statusResearchable |
Is this item researchable?
Definition at line 175 of file cp_research.h.
Referenced by RS_AssignScientist(), RS_FillTechnologyList_f(), RS_LoadXML(), RS_MarkOneResearchable(), RS_MarkResearchable(), RS_ParseTechnologies(), RS_RequirementsMet(), RS_ResearchFinish(), RS_SaveXML(), TEST_F(), UP_Article(), and UP_TechGetsDisplayed().
float technology_s::time |
The time that is needed to research this tech. (in days). "overallTime" stays always the same, "time" will be modified when it is under research.
Definition at line 156 of file cp_research.h.
Referenced by AC_Init_f(), RS_FillTechnologyList_f(), RS_LoadXML(), RS_MarkCollected(), RS_MarkOneResearchable(), RS_MarkResearchable(), RS_ParseTechnologies(), RS_ResearchRun(), RS_SaveXML(), RS_ShowActiveResearch_f(), and TEST_F().
researchType_t technology_s::type |
Defines what type this tech-entry is an where to search for other information "tech", "weapon" etc... see research.ufo for more
Definition at line 143 of file cp_research.h.
Referenced by RS_InitTree(), RS_ParseTechnologies(), RS_ResearchFinish(), RS_ScriptSanityCheck(), UP_Article(), and UP_TechGetsDisplayed().
struct pediaChapter_s* technology_s::upChapter |
UFOpaedia chapter as stored in research.ufo.
Definition at line 190 of file cp_research.h.
Referenced by RS_ParseTechnologies(), UP_Article(), and UP_TechTreeClick_f().
struct technology_s* technology_s::upNext |
Next tech in pedia.
Definition at line 192 of file cp_research.h.
Referenced by RS_ParseTechnologies(), UP_GenerateArticlesSummary(), and UP_GenerateSummary().
struct technology_s* technology_s::upPrev |
Previous tech in pedia.
Definition at line 191 of file cp_research.h.
Referenced by RS_ParseTechnologies().