X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=16%2Fsod8086%2Fid_us.h;fp=16%2Fsod8086%2Fid_us.h;h=439a024ed8d50e0d936b9165448d2be6159cf131;hb=7499dc78fbb151b6daac45f2643a15bf1b40beb7;hp=0000000000000000000000000000000000000000;hpb=7d64848c7d76d161021f09ccfd121ad6bbb28121;p=16.git diff --git a/16/sod8086/id_us.h b/16/sod8086/id_us.h new file mode 100755 index 00000000..439a024e --- /dev/null +++ b/16/sod8086/id_us.h @@ -0,0 +1,123 @@ +// +// ID Engine +// ID_US.h - Header file for the User Manager +// v1.0d1 +// By Jason Blochowiak +// + +#ifndef __ID_US__ +#define __ID_US__ + +#ifdef __DEBUG__ +#define __DEBUG_UserMgr__ +#endif + +//#define HELPTEXTLINKED + +#define MaxX 320 +#define MaxY 200 + +#define MaxHelpLines 500 + +#define MaxHighName 57 +#define MaxScores 7 +typedef struct + { + char name[MaxHighName + 1]; + long score; + word completed,episode; + } HighScore; + +#define MaxGameName 32 +#define MaxSaveGames 6 +typedef struct + { + char signature[4]; + word *oldtest; + boolean present; + char name[MaxGameName + 1]; + } SaveGame; + +#define MaxString 128 // Maximum input string size + +typedef struct + { + int x,y, + w,h, + px,py; + } WindowRec; // Record used to save & restore screen windows + +typedef enum + { + gd_Continue, + gd_Easy, + gd_Normal, + gd_Hard + } GameDiff; + +// Hack import for TED launch support +extern boolean tedlevel; +extern int tedlevelnum; +extern void TEDDeath(void); + +extern boolean ingame, // Set by game code if a game is in progress + abortgame, // Set if a game load failed + loadedgame, // Set if the current game was loaded + NoWait, + HighScoresDirty; +extern char *abortprogram; // Set to error msg if program is dying +extern GameDiff restartgame; // Normally gd_Continue, else starts game +extern word PrintX,PrintY; // Current printing location in the window +extern word WindowX,WindowY,// Current location of window + WindowW,WindowH;// Current size of window + +extern boolean Button0,Button1, + CursorBad; +extern int CursorX,CursorY; + +extern void (*USL_MeasureString)(char far *,word *,word *), + (*USL_DrawString)(char far *); + +extern boolean (*USL_SaveGame)(int),(*USL_LoadGame)(int); +extern void (*USL_ResetGame)(void); +extern SaveGame Games[MaxSaveGames]; +extern HighScore Scores[]; + +#define US_HomeWindow() {PrintX = WindowX; PrintY = WindowY;} + +extern void US_Startup(void), + US_Setup(void), + US_Shutdown(void), + US_InitRndT(boolean randomize), + US_SetLoadSaveHooks(boolean (*load)(int), + boolean (*save)(int), + void (*reset)(void)), + US_TextScreen(void), + US_UpdateTextScreen(void), + US_FinishTextScreen(void), + US_DrawWindow(word x,word y,word w,word h), + US_CenterWindow(word,word), + US_SaveWindow(WindowRec *win), + US_RestoreWindow(WindowRec *win), + US_ClearWindow(void), + US_SetPrintRoutines(void (*measure)(char far *,word *,word *), + void (*print)(char far *)), + US_PrintCentered(char far *s), + US_CPrint(char far *s), + US_CPrintLine(char far *s), + US_Print(char far *s), + US_PrintUnsigned(longword n), + US_PrintSigned(long n), + US_StartCursor(void), + US_ShutCursor(void), + US_CheckHighScore(long score,word other), + US_DisplayHighScores(int which); +extern boolean US_UpdateCursor(void), + US_LineInput(int x,int y,char *buf,char *def,boolean escok, + int maxchars,int maxwidth); +extern int US_CheckParm(char *parm,char **strings), + US_RndT(void); + + void USL_PrintInCenter(char far *s,Rect r); + char *USL_GiveSaveName(word game); +#endif