|
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 |
| class DateTime | preResearchedDate |
| class DateTime | 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 139 of file cp_research.h.
| bool technology_t::announce |
if this is true the ufopedia will be opened on finishing the research
Definition at line 167 of file cp_research.h.
Referenced by RS_ResearchFinish().
| struct base_s* technology_t::base |
The base this tech is researched in.
Definition at line 169 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_t::delay |
Definition at line 161 of file cp_research.h.
| technologyDescriptions_t technology_t::description |
Descriptions of researched item.
Definition at line 143 of file cp_research.h.
Referenced by RS_ParseTechnologies(), RS_ResearchFinish(), RS_ScriptSanityCheck(), and UP_Article().
| char* technology_t::finishedResearchEvent |
nullptr or string with scriptable commands that are executed after the tech was successfully researched
Definition at line 166 of file cp_research.h.
Referenced by RS_ResearchFinish().
| struct technology_s* technology_t::hashNext |
Definition at line 199 of file cp_research.h.
Referenced by RS_GetTechByID(), RS_GetTechIdxByName(), and RS_ParseTechnologies().
| struct technology_s* technology_t::hashProvidedNext |
Definition at line 200 of file cp_research.h.
Referenced by RS_GetTechByProvided(), and RS_ParseTechnologies().
| char* technology_t::id |
Short (unique) id/name.
Definition at line 140 of file cp_research.h.
Referenced by AC_Init_f(), AC_KillOne_f(), BS_MarketInfoClick_f(), CP_ParseResearchableCampaignStates(), CP_ParseResearchedCampaignItems(), PR_ProductionListRightClick_f(), 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_t::idx |
Self-link in the global list
Definition at line 141 of file cp_research.h.
Referenced by RS_AssignScientist(), RS_GetTechIdxByName(), RS_ParseTechnologies(), and UP_GenerateArticlesSummary().
| char* technology_t::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 172 of file cp_research.h.
Referenced by AC_Init_f(), RS_GetDetails_f(), RS_InitTree(), and UP_Article().
| techMail_t technology_t::mail[TECHMAIL_MAX] |
UFOpaedia mails. See techMailType_t for the different array-entries.
Definition at line 196 of file cp_research.h.
Referenced by RS_InitTree(), RS_LoadXML(), RS_ParseTechnologies(), RS_SaveXML(), and UP_SetMailHeader().
| mailSentType_t technology_t::mailSent |
Store if a Mail has been sent to the commander (player).
Definition at line 180 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_t::markResearched |
Mark as researched at parsing state - but i only know the date if we already started a campaign.
Definition at line 189 of file cp_research.h.
Referenced by CP_ParseResearchedCampaignItems(), and RS_InitTree().
| char* technology_t::mdl |
Same as "image" but it's a 3d model..
Definition at line 175 of file cp_research.h.
Referenced by AIM_DrawAircraftSlots(), GAME_CP_GetItemModel(), RS_GetDetails_f(), RS_InitTree(), UP_AircraftItemDescription(), UP_Article(), and UP_DrawAssociatedAmmo().
| char* technology_t::name |
Full name of this technology.
Definition at line 142 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_t::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 197 of file cp_research.h.
Referenced by RS_ParseTechnologies(), and UP_SetMailHeader().
| float technology_t::overallTime |
Definition at line 158 of file cp_research.h.
Referenced by AC_Init_f(), RS_FillTechnologyList_f(), RS_ParseTechnologies(), and RS_ShowActiveResearch_f().
| technologyDescriptions_t technology_t::preDescription |
Descriptions of item before it's researched.
Definition at line 144 of file cp_research.h.
Referenced by RS_MarkOneResearchable(), RS_ParseTechnologies(), RS_ResearchFinish(), UP_Article(), and UP_TechGetsDisplayed().
| class DateTime technology_t::preResearchedDate |
Date for UFOpaedia. Research proposal.
Definition at line 186 of file cp_research.h.
Referenced by RS_LoadXML(), RS_MarkCollected(), RS_MarkOneResearchable(), RS_ResearchFinish(), RS_SaveXML(), and UP_SetMailHeader().
| int technology_t::produceTime |
How many hours the production of this items runs.
Definition at line 179 of file cp_research.h.
Referenced by PR_CalculateTotalFrames(), PR_ItemIsProduceable(), PR_QueueNew(), RS_ScriptSanityCheck(), and TEST_F().
| char* technology_t::provides |
The item that this technology enables.
Definition at line 156 of file cp_research.h.
Referenced by AII_AddAmmoToSlot(), AII_AddItemToSlot(), AIM_AutoEquipAircraft(), AIM_CheckTechnologyIntoSlot(), AIM_CrafttypeFilter(), AIM_SelectableCraftItem(), 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_TechGetsDisplayed(), and UP_UGVDescription().
| struct technology_s* technology_t::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 147 of file cp_research.h.
Referenced by RS_RequiredLinksAssign(), UP_FindEntry_f(), and UP_TechGetsDisplayed().
| requirements_t technology_t::requireAND |
A list of requirements that ALL need to be met (= AND-related) See struct above.
Definition at line 150 of file cp_research.h.
Referenced by RS_InitTree(), RS_ParseTechnologies(), RS_RequiredLinksAssign(), RS_RequirementsMet(), and UP_DisplayTechTree().
| requirements_t technology_t::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 181 of file cp_research.h.
Referenced by PR_DecreaseProduction(), PR_IncreaseProduction(), PR_ItemProductionInfo(), PR_ProductionIncrease_f(), PR_QueueDelete(), PR_QueueNew(), RS_ParseTechnologies(), and RS_RequiredLinksAssign().
| requirements_t technology_t::requireOR |
A list of requirements where ANY need to be met (= OR-related) See struct above.
Definition at line 151 of file cp_research.h.
Referenced by RS_InitTree(), RS_ParseTechnologies(), RS_RequiredLinksAssign(), and RS_RequirementsMet().
| class DateTime technology_t::researchedDate |
Date for UFOpaedia. Finished research.
Definition at line 187 of file cp_research.h.
Referenced by CP_CampaignRunMarket(), RS_LoadXML(), RS_ResearchFinish(), RS_SaveXML(), and UP_SetMailHeader().
| int technology_t::scientists |
How many scientists (from "base") are researching this tech.
Definition at line 170 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_t::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 152 of file cp_research.h.
Referenced by RS_FillTechnologyList_f(), RS_LoadXML(), RS_MarkCollected(), and RS_SaveXML().
| researchStatus_t technology_t::statusResearch |
Current status of the research.
Definition at line 165 of file cp_research.h.
Referenced by B_AddToStorage(), RS_AssignScientist(), RS_CheckRequirements(), RS_FillTechnologyList_f(), RS_GetTechWithMostScientists(), 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_t::statusResearchable |
Is this item researchable?
Definition at line 177 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(), TEST_F(), UP_Article(), and UP_TechGetsDisplayed().
| float technology_t::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 158 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_t::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 145 of file cp_research.h.
Referenced by RS_InitTree(), RS_ParseTechnologies(), RS_ResearchFinish(), RS_ScriptSanityCheck(), UP_Article(), and UP_TechGetsDisplayed().
| struct pediaChapter_s* technology_t::upChapter |
UFOpaedia chapter as stored in research.ufo.
Definition at line 192 of file cp_research.h.
Referenced by RS_ParseTechnologies(), UP_Article(), and UP_TechTreeClick_f().
| struct technology_s* technology_t::upNext |
Next tech in pedia.
Definition at line 194 of file cp_research.h.
Referenced by RS_ParseTechnologies(), and UP_GenerateArticlesSummary().
| struct technology_s* technology_t::upPrev |
Previous tech in pedia.
Definition at line 193 of file cp_research.h.
Referenced by RS_ParseTechnologies().