WW2GI "support"

git-svn-id: https://svn.eduke32.com/eduke32@341 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2006-11-16 23:06:16 +00:00
parent 59a260956e
commit 0207e4fb79
9 changed files with 41 additions and 10 deletions

View file

@ -198,7 +198,8 @@ void endanimvol43(long fr)
void playanm(char *fn,char t) void playanm(char *fn,char t)
{ {
char *animbuf, *palptr; char *animbuf;
unsigned char *palptr;
long i, j, length=0, numframes=0; long i, j, length=0, numframes=0;
int32 handle=-1; int32 handle=-1;

View file

@ -50,11 +50,13 @@ extern int conversion, shareware, gametype;
#define GAMEDUKE 0 #define GAMEDUKE 0
#define GAMENAM 1 #define GAMENAM 1
#define GAMEWW2 3
#define VOLUMEALL (shareware==0) #define VOLUMEALL (shareware==0)
#define PLUTOPAK (conversion==14) #define PLUTOPAK (conversion==14)
#define VOLUMEONE (shareware==1) #define VOLUMEONE (shareware==1)
#define NAM (gametype==1) #define NAM (gametype&1)
#define WW2GI (gametype&2)
#define MAXSLEEPDIST 16384 #define MAXSLEEPDIST 16384
#define SLEEPTIME 24*64 #define SLEEPTIME 24*64

View file

@ -8362,6 +8362,14 @@ void checkcommandline(int argc,char **argv)
if (!Bstrcasecmp(c+1,"nam")) if (!Bstrcasecmp(c+1,"nam"))
{ {
strcpy(defaultduke3dgrp, "nam.grp"); strcpy(defaultduke3dgrp, "nam.grp");
strcpy(confilename, "nam.con");
i++;
continue;
}
if (!Bstrcasecmp(c+1,"ww2gi"))
{
strcpy(defaultduke3dgrp, "ww2gi.grp");
strcpy(confilename, "ww2gi.con");
i++; i++;
continue; continue;
} }
@ -9014,7 +9022,7 @@ void Logo(void)
void loadtmb(void) void loadtmb(void)
{ {
char tmb[8000]; unsigned char tmb[8000];
long fil, l; long fil, l;
fil = kopen4load("d3dtimbr.tmb",0); fil = kopen4load("d3dtimbr.tmb",0);
@ -9623,7 +9631,16 @@ void app_main(int argc,char **argv)
FreeGroups(); FreeGroups();
if (NAM) if (WW2GI)
{
// overwrite the default GRP and CON so that if the user chooses
// something different, they get what they asked for
Bsprintf(defaultduke3dgrp,"ww2gi.grp");
Bsprintf(confilename, "ww2gi.con");
Bsprintf(gametype_names[0],"GRUNTMATCH (SPAWN)");
Bsprintf(gametype_names[2],"GRUNTMATCH (NO SPAWN)");
}
else if (NAM)
{ {
// overwrite the default GRP and CON so that if the user chooses // overwrite the default GRP and CON so that if the user chooses
// something different, they get what they asked for // something different, they get what they asked for

View file

@ -18,6 +18,7 @@ struct grpfile grpfiles[numgrpfiles] =
{ "Duke Nukem 3D Mac", 0x00000000, 0, GAMEDUKE, NULL }, { "Duke Nukem 3D Mac", 0x00000000, 0, GAMEDUKE, NULL },
{ "NAM", 0x75C1F07B, 43448927, GAMENAM, NULL }, { "NAM", 0x75C1F07B, 43448927, GAMENAM, NULL },
{ "Napalm", 0x3DE1589A, 44365728, GAMENAM, NULL }, { "Napalm", 0x3DE1589A, 44365728, GAMENAM, NULL },
{ "WW2GI (limited support)", 0x907B82BF, 77939508, GAMEWW2, NULL },
}; };
struct grpfile *foundgrps = NULL; struct grpfile *foundgrps = NULL;

View file

@ -2,7 +2,7 @@
#define __grpscan_h__ #define __grpscan_h__
// List of internally-known GRP files // List of internally-known GRP files
#define numgrpfiles 8 #define numgrpfiles 9
struct grpfile { struct grpfile {
const char *name; const char *name;
int crcval; int crcval;

View file

@ -31,7 +31,7 @@ Adapted to work with JonoF's port by James Bentler (bentler@cs.umn.edu)
extern int MV_MixPage; extern int MV_MixPage;
static int DSL_ErrorCode = DSL_Ok; int DSL_ErrorCode = DSL_Ok;
static int mixer_initialized; static int mixer_initialized;
@ -257,10 +257,10 @@ unsigned DSL_GetPlaybackRate(void)
return _SampleRate; return _SampleRate;
} }
unsigned long DisableInterrupts(void) int DisableInterrupts(void)
{ {
return 0; return 0;
} }
void RestoreInterrupts(unsigned long flags) int RestoreInterrupts(int flags)
{} {}

View file

@ -38,7 +38,12 @@ enum DSL_ERRORS
DSL_MixerInitFailure DSL_MixerInitFailure
}; };
extern int DSL_ErrorCode;
char *DSL_ErrorString( int ErrorNumber ); char *DSL_ErrorString( int ErrorNumber );
int DisableInterrupts(void); // simulated using critical sections
int RestoreInterrupts(int);
int DSL_Init( void ); int DSL_Init( void );
void DSL_StopPlayback( void ); void DSL_StopPlayback( void );
unsigned DSL_GetPlaybackRate( void ); unsigned DSL_GetPlaybackRate( void );

View file

@ -180,11 +180,14 @@ char *MV_ErrorString( int ErrorNumber)
ErrorString = "No voice with matching handle found."; ErrorString = "No voice with matching handle found.";
break; break;
#if defined(_WIN32)
case MV_BlasterError : case MV_BlasterError :
#if defined(_WIN32)
ErrorString = DSOUND_ErrorString(DSOUND_ErrorCode); ErrorString = DSOUND_ErrorString(DSOUND_ErrorCode);
break; #else
ErrorString = DSL_ErrorString(DSL_ErrorCode);
#endif #endif
break;
case MV_DPMI_Error : case MV_DPMI_Error :
ErrorString = "DPMI Error in Multivoc."; ErrorString = "DPMI Error in Multivoc.";

View file

@ -1714,6 +1714,7 @@ cheat_for_port_credits:
"", "",
"Adam Fazakerley", "Adam Fazakerley",
"Ed Coolidge", "Ed Coolidge",
"James Bentler",
"Javier Martinez", "Javier Martinez",
"Jeff Hart", "Jeff Hart",
"Jonathan Smith", "Jonathan Smith",
@ -1721,6 +1722,7 @@ cheat_for_port_credits:
"Lachlan McDonald", "Lachlan McDonald",
"Matthew Palmer", "Matthew Palmer",
"Peter Green", "Peter Green",
"Ryan C. Gordon",
"", "",
"EDuke originally by Matt Saettler", "EDuke originally by Matt Saettler",
"", "",