123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- //
- // MAIN.H
- //
- #include "setup.h"
- #include "menu.h"
- #include "keys.h"
- // In the Project Manager, change the DEFINES for the EXE
- // for the different versions of SETUP. Valid #defines are:
- // DOOM // define if for DOOM
- // DOOM2 // define if for DOOM II
- // HERETIC // define if for HERETIC
- // FRENCH // define if FRENCH VERSION (any game)
- #ifdef DOOM2
- #define EXENAME "DOOM2.EXE"
- #define DEFAULTNAME "DEFAULT.CFG"
- #define DEFAULTPATH "C:\\DOOMDATA"
- #define SAVENAME "DOOMSAV%d.DSG"
- #endif
- #ifdef DOOM
- #define EXENAME "DOOM.EXE"
- #define DEFAULTNAME "DEFAULT.CFG"
- #define DEFAULTPATH "C:\\DOOMDATA"
- #define SAVENAME "DOOMSAV%d.DSG"
- #endif
- #ifdef HERETIC
- #define EXENAME "HERETIC.EXE"
- #define DEFAULTNAME "HERETIC.CFG"
- #define DEFAULTPATH "C:\\HERETIC.CD"
- #define SAVENAME "HTICSAV%d.HSG"
- #endif
- #ifdef STRIFE
- #define EXENAME "STRIFE.EXE"
- #define DEFAULTNAME "STRIFE.CFG"
- #define DEFAULTPATH "C:\\STRIFE.CD"
- #define SAVENAME "STRFSAV%d.DSG"
- #endif
- #ifdef FRENCH
- #define S_NONE "AUCUNE"
- #define S_PCSP "Haut-parleur PC"
- #define S_CON1 "Clavier seul"
- #define S_CON2 "Clavier + Souris"
- #define S_CON3 "Clavier + Joystick"
- #else
- #define S_NONE "None"
- #define S_PCSP "PC Speaker"
- #define S_CON1 "Keyboard only"
- #define S_CON2 "Keyboard + Mouse"
- #define S_CON3 "Keyboard + Joystick"
- #endif
- #define MAXARGS 12
- typedef enum { FALSE, TRUE } BOOL;
- typedef enum
- {
- M_NONE,
- M_PC,
- M_ADLIB,
- M_SB,
- M_PAS,
- M_GUS,
- M_WAVE,
- M_CANVAS,
- M_GMIDI,
- M_SBAWE32,
- M_LAST
- }SCARD;
-
- typedef enum
- {
- C_KEY,
- C_MOUSE,
- C_JOYSTICK,
- C_LAST
- }CONTROL;
- typedef struct
- {
- SCARD card;
- short port;
- short midiport;
- short irq;
- short dma;
- } DMXCARD;
- typedef struct
- {
- CONTROL control;
- DMXCARD m;
- DMXCARD d;
- short numdig;
- } DMXINFO;
- typedef struct
- {
- int numberOfPlayers;
- int skillLevel;
- int deathMatch;
- unsigned networkSocket;
- int episode;
- } net_t;
- typedef struct
- {
- int skillLevel;
- int deathMatch;
- int episode;
- int comport;
- int comtype; // 0 = connected,1 = answer,2 = call
- char phonenum[16];
- } serial_t;
- typedef struct
- {
- int up;
- int down;
- int left;
- int right;
- int fire;
- int use; // ID = USE CYGNUS = USE SPECIAL WEAPON
- int key1; // ID = STRAFE ON CYGNUS = CHANGE SPECIAL WEAPON
- int key2; // ID = SPEED ON CYGNUS = MEGA BOMB HOT KEY
- int key3; // ID = STRAFE LEFT
- int key4; // ID = STRAFE RIGHT
- #ifdef HERETIC
- int lookdown;
- int lookcenter;
- int lookup;
- int flydown;
- int flycenter;
- int flyup;
- int invleft;
- int invright;
- #endif
- #ifdef STRIFE
- int lookdown;
- int lookup;
- int invleft;
- int invright;
- int invhome;
- int invend;
- int invuse;
- int invdrop;
- int invquery;
- int invpop;
- int healthuse;
- int jump;
- #endif
- int mouse[3];
- int joy[4];
- } CONTS;
- typedef enum
- {
- ID_FIRE, // def button 1
- ID_STRAFE, // def button 3
- ID_FORWARD, // def button 2
- ID_USE // def button 4 joystick only
- }IDCONTS;
- extern int usemouse;
- extern int usejoystick;
- extern int comport;
- typedef struct
- {
- char name[64];
- char init[64];
- char hangup[64];
- char baud[8];
- } modem_t;
- #define MAXMODEMS 200
- typedef struct
- {
- char name[32];
- char number[16];
- } phonelist_t;
- #define MAXPHNLIST 40
- extern char keydesc[256][10];
- extern int cdrom;
- extern int respawn;
- extern int nomonsters;
- extern int mousepresent;
- extern DMXINFO lastc;
- extern DMXINFO newc;
- extern BOOL savemusic;
- extern BOOL savefx;
- extern CONTS curk;
- //
- // Network macros
- //
- extern char chatmacros[10][40];
- extern net_t netinfo;
- extern net_t info; // in case ESC is pressed
- extern serial_t modeminfo;
- extern serial_t minfo; // in case ESC is pressed
- extern serial_t serialinfo;
- extern serial_t sinfo; // in case ESC is pressed
- void ErrorWindow(pup_t far *pup);
- void StartUp(void);
- void MainMenu (void);
- void DrawCurrentConfig(void);
- int QuitAndSave(void);
- //
- // Functions in other modules
- //
- // MUSIC.C
- int SetupMusic(void);
- int ChooseSbPort (DMXCARD * card);
- int ChooseMidiPort (DMXCARD * card);
- // WARP.C
- extern int respawn;
- extern int nomonsters;
- extern int deathmatch2;
- unsigned WarpTime(void);
- // SFX.C
- int SetupFX(void);
- // CONTROL.C
- int ChooseController(void);
- // CONFIG.C
- void ConfigControl (void);
- void Pos(item_t *item);
- void Clear(item_t *item);
- // NETPLAY.C
- void ChooseNetplay(void);
- void AttriBar(int x,int y,int length, char attr);
- // MACROS.C
- void MacroConfig(void);
- int EditLine(item_t *item,char *string,int maxlen);
- // MODEM.C
- int ModemConfig(void);
- int ChooseOpponentInList(void);
- extern char chosenPhoneNum[16];
- // SERIAL.C
- int SerialConfig(void);
- // NET.C
- int NetworkConfig(void);
- // NETREST.C
- extern char savenames[6][24];
- extern int saveslot;
- int RestoreNetwork(void);
- void ChooseNetrestore(void);
- // MODREST.C
- int RestoreModem(void);
- // SERREST.C
- int RestoreSerial(void);
|