/*============================================================================= Name : Researchgui.h Purpose : definitions for the research manager gui Created 5/25/1998 by ddunlop Copyright Relic Entertainment, Inc. All rights reserved. =============================================================================*/ #ifndef ___RESEARCHGUI_H #define ___RESEARCHGUI_H #include "types.h" #include "region.h" #include "texreg.h" #include "researchapi.h" /*============================================================================= Definitions: =============================================================================*/ #define RM_FIBFile "FEMan\\Research_Manager.fib" #define RM_ResearchScreen "Research_Manager" #define RM_DefaultFont "default.hff" #define RM_FontNameLength 64 #define RM_TechListFont "HW_EuroseCond_11.hff" #define RM_TechInfoFont "Arial_12.hff" // definitions for the status of a research item #define RI_GRAYED 0 #define RI_RESEARCHING // definitions for print list #define ITEM_ENDLIST -1 #define ITEM_CLASSHEADER 0 #define ITEM_TECHNOLOGY 1 #define STAT_CANRESEARCH 0 #define STAT_CANTRESEARCH 1 #define STAT_RESEARCHING 2 #define STAT_ALREADYHAVE 4 #define STAT_CANPRINT 5 #define STAT_CANTPRINT 6 // colors for text in the research manager #define RM_SelectionTextColor colRGB(255, 255, 105) #define RM_ResearchingTextColor colRGB(255, 200, 0) #define RM_CantResearchTextColor colRGB(100, 100, 100) #define RM_StandardTextColor colRGB(0 , 255, 0) #define RM_ClassHeadingTextColor colRGB(255, 200, 0) #define RM_ProgressToGoColor colRGB(180, 180, 80) #define RM_ProgressDoneColor0 colRGB(50, 50, 27) #define RM_ProgressDoneColor1 colRGB(160, 160, 115) #define RM_LabActiveColor colRGB(0 , 160, 20) #define RM_PulseColor colRGB(20 , 20 , 255) #define RM_NoResearchItemColor colRGB(255, 0, 0) #define RM_MarqueeOnColor colRGB(255, 255, 0) #define RM_MarqueeSemiOnColor colRGB(175, 175, 0) #define RM_MarqueeOffColor colRGB(100, 100, 0) #define RM_SPR1 1 #define RM_SPR2 2 #define RM_MPR1 3 #define RM_MPR2 4 #define RM_MPCR1 5 #define RM_MPCR2 6 /*============================================================================= Type definitions: =============================================================================*/ typedef struct { sword itemtype; sword itemstat; sdword itemID; } TechPrintList; typedef struct { sword labid; sword selected; sdword pulsepos; ResearchLab *lab; } LabPrintList; typedef struct { real32 x; real32 y; } Point; typedef struct { char *name; } TechNames; typedef struct { lifheader *techImage; udword techTexture; TechnologyType tech; sdword race; real32 timestamp; } LRUPicture; extern bool rmGUIActive; // LRU defines, so that the trade manager can reuse the same LRU cache #define RM_TOTALPICS 6 extern LRUPicture pictures[RM_TOTALPICS]; /*============================================================================= Function Prototypes: =============================================================================*/ // function called if something changes in the list stuff void rmUpdateTechList(void); void rmClearLab(sdword labindex); // Turn off lab selected //start the Research Manager. It will kill itself when you hit the launch button. void rmSetPrintList(udword whichlist, TechStatics *techstat); sdword rmResearchGUIBegin(regionhandle region, sdword ID, udword event, udword data); void rmGUIStartup(void); void rmGUIShutdown(void); void rmCloseIfOpen(void); #endif