OSDN Git Service

got 8086 port of wolf3d to work and sod to work
[proj16/16.git] / 16 / WOLFSRC / ID_US.H
1 //\r
2 //      ID Engine\r
3 //      ID_US.h - Header file for the User Manager\r
4 //      v1.0d1\r
5 //      By Jason Blochowiak\r
6 //\r
7 \r
8 #ifndef __ID_US__\r
9 #define __ID_US__\r
10 \r
11 #ifdef  __DEBUG__\r
12 #define __DEBUG_UserMgr__\r
13 #endif\r
14 \r
15 //#define       HELPTEXTLINKED\r
16 \r
17 #define MaxX    320\r
18 #define MaxY    200\r
19 \r
20 #define MaxHelpLines    500\r
21 \r
22 #define MaxHighName     57\r
23 #define MaxScores       7\r
24 typedef struct\r
25                 {\r
26                         char    name[MaxHighName + 1];\r
27                         long    score;\r
28                         word    completed,episode;\r
29                 } HighScore;\r
30 \r
31 #define MaxGameName             32\r
32 #define MaxSaveGames    6\r
33 typedef struct\r
34                 {\r
35                         char    signature[4];\r
36                         word    *oldtest;\r
37                         boolean present;\r
38                         char    name[MaxGameName + 1];\r
39                 } SaveGame;\r
40 \r
41 #define MaxString       128     // Maximum input string size\r
42 \r
43 typedef struct\r
44                 {\r
45                         int     x,y,\r
46                                 w,h,\r
47                                 px,py;\r
48                 } WindowRec;    // Record used to save & restore screen windows\r
49 \r
50 typedef enum\r
51                 {\r
52                         gd_Continue,\r
53                         gd_Easy,\r
54                         gd_Normal,\r
55                         gd_Hard\r
56                 } GameDiff;\r
57 \r
58 //      Hack import for TED launch support\r
59 extern  boolean         tedlevel;\r
60 extern  int                     tedlevelnum;\r
61 extern  void            TEDDeath(void);\r
62 \r
63 extern  boolean         ingame,         // Set by game code if a game is in progress\r
64                                         abortgame,      // Set if a game load failed\r
65                                         loadedgame,     // Set if the current game was loaded\r
66                                         NoWait,\r
67                                         HighScoresDirty;\r
68 extern  char            *abortprogram;  // Set to error msg if program is dying\r
69 extern  GameDiff        restartgame;    // Normally gd_Continue, else starts game\r
70 extern  word            PrintX,PrintY;  // Current printing location in the window\r
71 extern  word            WindowX,WindowY,// Current location of window\r
72                                         WindowW,WindowH;// Current size of window\r
73 \r
74 extern  boolean         Button0,Button1,\r
75                                         CursorBad;\r
76 extern  int                     CursorX,CursorY;\r
77 \r
78 extern  void            (*USL_MeasureString)(char far *,word *,word *),\r
79                                         (*USL_DrawString)(char far *);\r
80 \r
81 extern  boolean         (*USL_SaveGame)(int),(*USL_LoadGame)(int);\r
82 extern  void            (*USL_ResetGame)(void);\r
83 extern  SaveGame        Games[MaxSaveGames];\r
84 extern  HighScore       Scores[];\r
85 \r
86 #define US_HomeWindow() {PrintX = WindowX; PrintY = WindowY;}\r
87 \r
88 extern  void    US_Startup(void),\r
89                                 US_Setup(void),\r
90                                 US_Shutdown(void),\r
91                                 US_InitRndT(boolean randomize),\r
92                                 US_SetLoadSaveHooks(boolean (*load)(int),\r
93                                                                         boolean (*save)(int),\r
94                                                                         void (*reset)(void)),\r
95                                 US_TextScreen(void),\r
96                                 US_UpdateTextScreen(void),\r
97                                 US_FinishTextScreen(void),\r
98                                 US_DrawWindow(word x,word y,word w,word h),\r
99                                 US_CenterWindow(word,word),\r
100                                 US_SaveWindow(WindowRec *win),\r
101                                 US_RestoreWindow(WindowRec *win),\r
102                                 US_ClearWindow(void),\r
103                                 US_SetPrintRoutines(void (*measure)(char far *,word *,word *),\r
104                                                                         void (*print)(char far *)),\r
105                                 US_PrintCentered(char far *s),\r
106                                 US_CPrint(char far *s),\r
107                                 US_CPrintLine(char far *s),\r
108                                 US_Print(char far *s),\r
109                                 US_PrintUnsigned(longword n),\r
110                                 US_PrintSigned(long n),\r
111                                 US_StartCursor(void),\r
112                                 US_ShutCursor(void),\r
113                                 US_CheckHighScore(long score,word other),\r
114                                 US_DisplayHighScores(int which);\r
115 extern  boolean US_UpdateCursor(void),\r
116                                 US_LineInput(int x,int y,char *buf,char *def,boolean escok,\r
117                                                                 int maxchars,int maxwidth);\r
118 extern  int             US_CheckParm(char *parm,char **strings),\r
119                                 US_RndT(void);\r
120 \r
121                 void    USL_PrintInCenter(char far *s,Rect r);\r
122                 char    *USL_GiveSaveName(word game);\r
123 #endif\r