Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 77735c3ff0
74 lines (59 sloc) 1.642 kb
//#define DOOM2
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <process.h>
#include <conio.h>
#include <dos.h>
#include "doomnet.h"
//#include "ipxstr.h"
#include "ipx_frch.h" // FRENCH VERSION
doomcom_t doomcom;
int vectorishooked;
void interrupt (*olddoomvect) (void);
/*
=============
=
= LaunchDOOM
=
These fields in doomcom should be filled in before calling:
short numnodes; // console is allways node 0
short ticdup; // 1 = no duplication, 2-5 = dup for
slow nets
short extratics; // 1 = send a backup tic in every
packet
short consoleplayer; // 0-3 = player number
short numplayers; // 1-4
short angleoffset; // 1 = left, 0 = center, -1 = right
short drone; // 1 = drone
=============
*/
void LaunchDOOM (void)
{
char *newargs[99];
char adrstring[10];
long flatadr;
// prepare for DOOM
doomcom.id = DOOMCOM_ID;
// hook the interrupt vector
olddoomvect = getvect (doomcom.intnum);
setvect (doomcom.intnum,(void interrupt (*)(void))MK_FP(_CS,
(int)NetISR));
vectorishooked = 1;
// build the argument list for DOOM, adding a -net &doomcom
memcpy (newargs, _argv, (_argc+1)*2);
newargs[_argc] = "-net";
flatadr = (long)_DS*16 + (unsigned)&doomcom;
sprintf (adrstring,"%lu",flatadr);
newargs[_argc+1] = adrstring;
newargs[_argc+2] = NULL;
if (!access("doom2.exe",0))
spawnv (P_WAIT, "doom2", newargs);
else
spawnv (P_WAIT, "doom", newargs);
#ifdef DOOM2
printf (STR_RETURNED"\n");
#else
printf ("Returned from DOOM\n");
#endif
}
Jump to Line
Something went wrong with that request. Please try again.