This is the technology parsed from research.ufo. More...
#include <cp_research.h>
Data Fields | |
char * | id |
int | idx |
char * | name |
descriptions_t | description |
descriptions_t | preDescription |
researchType_t | type |
struct technology_s * | redirect |
requirements_t | requireAND |
requirements_t | requireOR |
qboolean | statusCollected |
char * | provides |
float | overallTime |
float | time |
int | delay |
researchStatus_t | statusResearch |
char * | finishedResearchEvent |
struct base_s * | base |
int | scientists |
char * | image |
char * | mdl |
int | 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 141 of file cp_research.h.
struct base_s* technology_s::base |
The base this tech is researched in.
Definition at line 170 of file cp_research.h.
Referenced by BaseSummary_Init(), RS_AssignScientist(), RS_CountScientistsInBase(), RS_GetTechWithMostScientists(), RS_InitGUIData(), RS_LoadXML(), RS_MarkResearchable(), RS_RemoveScientist(), RS_ResearchRun(), RS_ResearchStart_f(), RS_SaveXML(), and RS_UpdateInfo().
Definition at line 163 of file cp_research.h.
Descriptions of researched item.
Definition at line 145 of file cp_research.h.
Referenced by RS_ParseTechnologies(), RS_ResearchFinish(), RS_ScriptSanityCheck(), and UP_Article().
NULL or string with scriptable commands that are executed after the tech was successfully researched
Definition at line 168 of file cp_research.h.
Referenced by RS_ResearchFinish().
struct technology_s* technology_s::hashNext |
Definition at line 200 of file cp_research.h.
Referenced by RS_GetTechByID(), RS_GetTechIdxByName(), and RS_ParseTechnologies().
Definition at line 201 of file cp_research.h.
Referenced by RS_GetTechByProvided(), and RS_ParseTechnologies().
char* technology_s::id |
Short (unique) id/name.
Definition at line 142 of file cp_research.h.
Referenced by AC_OpenUFOpedia_f(), BS_MarketInfoClick_f(), CL_ParseResearchableCampaignStates(), CL_ParseResearchedCampaignItems(), MS_MessageSaveXML(), PR_CalculateProductionPercentDone(), PR_ProductionListRightClick_f(), PR_UpdateProductionList(), RS_AssignScientist(), RS_GetTechByID(), RS_GetTechIdxByName(), RS_InitGUI(), RS_InitTree(), RS_MarkOneResearchable(), RS_MarkResearchable(), RS_MarkResearched(), RS_ParseTechnologies(), RS_ResearchStart_f(), RS_SaveXML(), RS_ScriptSanityCheck(), RS_ShowPedia_f(), RS_UpdateInfo(), UP_MailClientClick_f(), UP_ResearchedLinkClick_f(), and UP_TechTreeClick_f().
Self-link in the global list
Definition at line 143 of file cp_research.h.
Referenced by AL_FillInContainment(), 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 173 of file cp_research.h.
Referenced by AC_AlienClick(), RS_InitTree(), RS_UpdateInfo(), and UP_Article().
techMail_t technology_s::mail[TECHMAIL_MAX] |
UFOpaedia mails. See techMailType_t for the different array-entries.
Definition at line 197 of file cp_research.h.
Referenced by RS_InitTree(), RS_LoadXML(), RS_ParseTechnologies(), RS_SaveXML(), UP_GetUnreadMails(), UP_MailClientClick_f(), UP_OpenMail_f(), UP_SetAllMailsRead_f(), UP_SetMailButtons_f(), and UP_SetMailHeader().
Store if a Mail has been sent to the commander (player).
Definition at line 181 of file cp_research.h.
Referenced by CL_ParseResearchableCampaignStates(), CL_ParseResearchedCampaignItems(), RS_LoadXML(), RS_MarkCollected(), RS_MarkOneResearchable(), RS_MarkResearchable(), RS_ResearchFinish(), and RS_SaveXML().
Mark as researched at parsing state - but i only know the date if we already started a campaign.
Definition at line 190 of file cp_research.h.
Referenced by CL_ParseResearchedCampaignItems(), and RS_InitTree().
char* technology_s::mdl |
Same as "image" but it's a 3d model..
Definition at line 176 of file cp_research.h.
Referenced by AIM_DrawAircraftSlots(), AIR_AircraftSelect(), GAME_CP_DisplayItemInfo(), GAME_CP_GetModelForItem(), RS_InitTree(), UP_AircraftItemDescription(), UP_Article(), and UP_DrawAssociatedAmmo().
char* technology_s::name |
Full name of this technology.
Definition at line 144 of file cp_research.h.
Referenced by AIM_AircraftEquipMenuUpdate(), BaseSummary_Init(), BDEF_AddSlotToSlotList(), BS_BuyType(), RS_AssignScientist(), RS_InitGUI(), RS_InitTree(), RS_MarkCollected(), RS_MarkOneResearchable(), RS_ResearchFinish(), RS_ResearchRun(), RS_ScriptSanityCheck(), RS_UpdateInfo(), UFO_TypeToName(), UP_AircraftItemDescription(), UP_Article(), UP_DisplayTechTree(), UP_GenerateArticlesSummary(), and UP_UGVDescription().
Used to store which "mail" entry to display in pedia. if It's equal to TECHMAIL_MAX both mailtypes are available.
Definition at line 198 of file cp_research.h.
Referenced by RS_ParseTechnologies(), and UP_SetMailHeader().
Definition at line 160 of file cp_research.h.
Referenced by AC_UpdateMenu(), BaseSummary_Init(), RS_InitGUI(), RS_ParseTechnologies(), and RS_UpdateInfo().
Descriptions of item before it's researched.
Definition at line 146 of file cp_research.h.
Referenced by RS_MarkOneResearchable(), RS_ParseTechnologies(), RS_ResearchFinish(), RS_ShowPedia_f(), UP_Article(), and UP_TechGetsDisplayed().
Date for UFOpaedia. Research proposal.
Definition at line 187 of file cp_research.h.
Referenced by RS_LoadXML(), RS_MarkCollected(), RS_MarkOneResearchable(), RS_ResearchFinish(), RS_SaveXML(), UP_OpenMail_f(), and UP_SetMailHeader().
How many days the production of this items runs.
Definition at line 180 of file cp_research.h.
Referenced by PR_CalculateProductionPercentDone(), PR_ItemIsProduceable(), PR_ProductionListClick_f(), PR_QueueNew(), PR_UpdateProductionList(), and RS_ScriptSanityCheck().
char* technology_s::provides |
The item that this technology enables.
Definition at line 158 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(), AL_AddAliens(), BDEF_AddItem_f(), BDEF_SelectItem_f(), RS_GetTechByProvided(), RS_InitTree(), RS_ParseTechnologies(), RS_ScriptSanityCheck(), TR_TransferAlienAfterMissionStart(), 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 149 of file cp_research.h.
Referenced by RS_RequiredLinksAssign(), UP_FindEntry_f(), and UP_TechGetsDisplayed().
A list of requirements that ALL need to be met (= AND-related) See struct above.
Definition at line 152 of file cp_research.h.
Referenced by RS_InitTree(), RS_MarkResearchable(), RS_ParseTechnologies(), RS_RequiredLinksAssign(), RS_ResearchRun(), RS_ResearchStart_f(), UP_DisplayTechTree(), and UP_TechTreeClick_f().
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 182 of file cp_research.h.
Referenced by PR_DecreaseProduction(), PR_IncreaseProduction(), PR_ProductionIncrease_f(), PR_QueueDelete(), PR_QueueNew(), RS_ParseTechnologies(), and RS_RequiredLinksAssign().
A list of requirements where ANY need to be met (= OR-related) See struct above.
Definition at line 153 of file cp_research.h.
Referenced by RS_InitTree(), RS_MarkResearchable(), RS_ParseTechnologies(), RS_RequiredLinksAssign(), RS_ResearchRun(), and RS_ResearchStart_f().
Date for UFOpaedia. Finished research.
Definition at line 188 of file cp_research.h.
Referenced by CL_CampaignRunMarket(), RS_LoadXML(), RS_ResearchFinish(), RS_SaveXML(), UP_OpenMail_f(), and UP_SetMailHeader().
How many scientists (from "base") are researching this tech.
Definition at line 171 of file cp_research.h.
Referenced by BaseSummary_Init(), RS_AssignScientist(), RS_CountScientistsInBase(), RS_GetTechWithMostScientists(), RS_InitGUI(), RS_LoadXML(), RS_MaxOutResearch(), RS_RemoveScientist(), RS_ResearchFinish(), RS_ResearchRun(), RS_ResearchStart_f(), RS_SaveXML(), RS_StopResearch(), and RS_UpdateInfo().
Did we loot any items of this tech? This is updated from the info stored in the requireOR and requireAND lists.
Definition at line 154 of file cp_research.h.
Referenced by RS_Collected_(), RS_InitGUIData(), RS_LoadXML(), RS_MarkCollected(), RS_SaveXML(), RS_UpdateInfo(), and UR_ProcessActive().
Current status of the research.
Definition at line 167 of file cp_research.h.
Referenced by BaseSummary_Init(), RS_AssignScientist(), RS_GetTechWithMostScientists(), RS_InitGUIData(), RS_IsResearched_idx(), RS_IsResearched_ptr(), RS_LoadXML(), RS_MarkCollected(), RS_MarkResearchable(), RS_ParseTechnologies(), RS_RemoveScientist(), RS_ResearchFinish(), RS_ResearchRun(), RS_ResearchStart_f(), RS_ResearchStop_f(), RS_SaveXML(), RS_StopResearch(), RS_UpdateInfo(), and RS_UpdateResearchStatus().
Is this item researchable?
Definition at line 178 of file cp_research.h.
Referenced by RS_AssignScientist(), RS_InitGUIData(), RS_LoadXML(), RS_MarkOneResearchable(), RS_MarkResearchable(), RS_ParseTechnologies(), RS_ResearchFinish(), RS_ResearchStart_f(), RS_SaveXML(), RS_UpdateInfo(), 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 160 of file cp_research.h.
Referenced by AC_UpdateMenu(), BaseSummary_Init(), RS_InitGUI(), RS_InitGUIData(), RS_LoadXML(), RS_MarkCollected(), RS_MarkOneResearchable(), RS_MarkResearchable(), RS_ParseTechnologies(), RS_ResearchRun(), RS_SaveXML(), and RS_UpdateInfo().
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 147 of file cp_research.h.
Referenced by RS_InitTree(), RS_ParseTechnologies(), RS_ResearchFinish(), RS_ScriptSanityCheck(), UP_Article(), and UP_TechGetsDisplayed().
UFOpaedia chapter as stored in research.ufo.
Definition at line 193 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 195 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 194 of file cp_research.h.
Referenced by RS_ParseTechnologies().