git-svn-id: https://svn.eduke32.com/eduke32@559 1a8010ca-5511-0410-912e-c29ae57300e0

This commit is contained in:
terminx 2007-08-25 01:05:00 +00:00
parent c9e97fa954
commit b5a81483f2
18 changed files with 1326 additions and 1263 deletions

View file

View file

View file

@ -59,7 +59,7 @@ static struct strllist
#define MAXHELP2D (signed int)(sizeof(Help2d)/sizeof(Help2d[0])) #define MAXHELP2D (signed int)(sizeof(Help2d)/sizeof(Help2d[0]))
static char *Help2d[]= static char *Help2d[]=
{ {
" 'A = Autosave toggle", " 'A = Autosave toggle",
" 'J = Jump to location", " 'J = Jump to location",
" 'L = Adjust sprite/wall coords", " 'L = Adjust sprite/wall coords",
@ -79,10 +79,10 @@ static char *Help2d[]=
" Alt-F8 = Search wall/sprite tags", " Alt-F8 = Search wall/sprite tags",
" [ = Search forward", " [ = Search forward",
" ] = Search backward", " ] = Search backward",
}; };
static char *SpriteMode[]= static char *SpriteMode[]=
{ {
"NONE", "NONE",
"SECTORS", "SECTORS",
"WALLS", "WALLS",
@ -92,30 +92,30 @@ static char *SpriteMode[]=
"CURRENT SPRITE ONLY", "CURRENT SPRITE ONLY",
"ONLY SECTOREFFECTORS AND SECTORS", "ONLY SECTOREFFECTORS AND SECTORS",
"NO SECTOREFFECTORS OR SECTORS" "NO SECTOREFFECTORS OR SECTORS"
}; };
#define MAXSKILL 5 #define MAXSKILL 5
static char *SKILLMODE[MAXSKILL]= static char *SKILLMODE[MAXSKILL]=
{ {
"Actor skill display: PIECE OF CAKE", "Actor skill display: PIECE OF CAKE",
"Actor skill display: LET'S ROCK", "Actor skill display: LET'S ROCK",
"Actor skill display: COME GET SOME", "Actor skill display: COME GET SOME",
"Actor skill display: DAMN I'M GOOD", "Actor skill display: DAMN I'M GOOD",
"Actor skill display: ALL SKILL LEVELS" "Actor skill display: ALL SKILL LEVELS"
}; };
#define MAXNOSPRITES 4 #define MAXNOSPRITES 4
static char *SPRDSPMODE[MAXNOSPRITES]= static char *SPRDSPMODE[MAXNOSPRITES]=
{ {
"Sprite display: DISPLAY ALL SPRITES", "Sprite display: DISPLAY ALL SPRITES",
"Sprite display: NO EFFECTORS", "Sprite display: NO EFFECTORS",
"Sprite display: NO ACTORS", "Sprite display: NO ACTORS",
"Sprite display: NO EFFECTORS OR ACTORS" "Sprite display: NO EFFECTORS OR ACTORS"
}; };
#define MAXHELP3D (signed int)(sizeof(Help3d)/sizeof(Help3d[0])) #define MAXHELP3D (signed int)(sizeof(Help3d)/sizeof(Help3d[0]))
static char *Help3d[]= static char *Help3d[]=
{ {
"Mapster32 3D mode help", "Mapster32 3D mode help",
" ", " ",
" F1 = TOGGLE THIS HELP DISPLAY", " F1 = TOGGLE THIS HELP DISPLAY",
@ -147,7 +147,7 @@ static char *Help3d[]=
" CTRL-S = SAVE BOARD", " CTRL-S = SAVE BOARD",
" HOME = PGUP/PGDN MODIFIER (256 UNITS)", " HOME = PGUP/PGDN MODIFIER (256 UNITS)",
" END = PGUP/PGDN MODIFIER (512 UNITS)", " END = PGUP/PGDN MODIFIER (512 UNITS)",
}; };
static CACHE1D_FIND_REC *finddirs=NULL, *findfiles=NULL, *finddirshigh=NULL, *findfileshigh=NULL; static CACHE1D_FIND_REC *finddirs=NULL, *findfiles=NULL, *finddirshigh=NULL, *findfileshigh=NULL;
static int numdirs=0, numfiles=0; static int numdirs=0, numfiles=0;
@ -5513,7 +5513,8 @@ void GAME_clearbackground(int c, int r)
} }
#endif #endif
enum { enum
{
T_EOF = -2, T_EOF = -2,
T_ERROR = -1, T_ERROR = -1,
T_INCLUDE = 0, T_INCLUDE = 0,
@ -5903,8 +5904,10 @@ int ExtInit(void)
} }
loadgroupfiles(defsfilename); loadgroupfiles(defsfilename);
if (grps && grpstoadd > 0) { if (grps && grpstoadd > 0)
for (i=0;i<grpstoadd;i++) { {
for (i=0;i<grpstoadd;i++)
{
initprintf("Adding %s\n",grps[i]); initprintf("Adding %s\n",grps[i]);
initgroupfile(grps[i]); initgroupfile(grps[i]);
if (!NoAutoLoad) if (!NoAutoLoad)
@ -7287,7 +7290,8 @@ static void FuncMenu(void)
disptext[dispwidth] = 0; disptext[dispwidth] = 0;
if (row > rowmax) row = rowmax; if (row > rowmax) row = rowmax;
} }
else */ if (col == 1) else */
if (col == 1)
{ {
printext16(xpos,ypos+row*8,11,0,disptext,0); printext16(xpos,ypos+row*8,11,0,disptext,0);
col = 0; col = 0;

View file

@ -381,7 +381,6 @@ struct player_orig {
extern char numplayersprites; extern char numplayersprites;
extern char picsiz[MAXTILES];
extern long fricxv,fricyv; extern long fricxv,fricyv;
@ -883,7 +882,9 @@ enum logoflags {
LOGO_FLAG_TITLESCREEN = 16, LOGO_FLAG_TITLESCREEN = 16,
LOGO_FLAG_DUKENUKEM = 32, LOGO_FLAG_DUKENUKEM = 32,
LOGO_FLAG_THREEDEE = 64, LOGO_FLAG_THREEDEE = 64,
LOGO_FLAG_PLUTOPAKSPRITE = 128 LOGO_FLAG_PLUTOPAKSPRITE = 128,
LOGO_FLAG_SHAREWARESCREENS = 256,
LOGO_FLAG_TENSCREEN = 512
}; };
extern char numl; extern char numl;

View file

@ -2510,7 +2510,11 @@ void fadepal(int r, int g, int b, int start, int end, int step)
static void showtwoscreens(void) static void showtwoscreens(void)
{ {
if (!VOLUMEALL) int flags = GetGameVar("LOGO_FLAGS",255, -1, -1);
MUSIC_StopSong();
if (!VOLUMEALL || flags & LOGO_FLAG_SHAREWARESCREENS)
{ {
setview(0,0,xdim-1,ydim-1); setview(0,0,xdim-1,ydim-1);
flushperms(); flushperms();
@ -2538,6 +2542,24 @@ static void showtwoscreens(void)
getpackets(); getpackets();
} }
} }
if (flags & LOGO_FLAG_TENSCREEN)
{
setview(0,0,xdim-1,ydim-1);
flushperms();
//ps[myconnectindex].palette = palette;
setgamepalette(&ps[myconnectindex], palette, 1); // JBF 20040308
fadepal(0,0,0, 0,64,7);
KB_FlushKeyboardQueue();
rotatesprite(0,0,65536L,0,TENSCREEN,0,0,2+8+16+64, 0,0,xdim-1,ydim-1);
IFISSOFTMODE fadepal(0,0,0, 63,0,-7);
else nextpage();
while (!KB_KeyWaiting() && totalclock < 2400)
{
handleevents();
getpackets();
}
}
} }
extern long qsetmode; extern long qsetmode;
@ -2626,7 +2648,8 @@ static int strget_(int small,int x,int y,char *t,int dalen,int c)
{ {
ch = Btoupper(ch); ch = Btoupper(ch);
if (c != 997 || (ch >= '0' && ch <= '9')) if (c != 997 || (ch >= '0' && ch <= '9'))
{ // JBF 20040508: so we can have numeric only if we want {
// JBF 20040508: so we can have numeric only if we want
*(t+inputloc) = ch; *(t+inputloc) = ch;
*(t+inputloc+1) = 0; *(t+inputloc+1) = 0;
inputloc++; inputloc++;
@ -3930,7 +3953,8 @@ void displayrooms(int snum,long smoothratio)
else tang = 0; else tang = 0;
if (xres <= 320 && yres <= 240) if (xres <= 320 && yres <= 240)
{ // JBF 20030807: Increased tilted-screen quality {
// JBF 20030807: Increased tilted-screen quality
tiltcs = 1; tiltcs = 1;
tiltcx = 320; tiltcx = 320;
tiltcy = 200; tiltcy = 200;
@ -3950,7 +3974,8 @@ void displayrooms(int snum,long smoothratio)
else else
setviewtotile(TILE_TILT,tiltcx>>(1-ud.detail),tiltcx>>(1-ud.detail)); setviewtotile(TILE_TILT,tiltcx>>(1-ud.detail),tiltcx>>(1-ud.detail));
if ((tang&1023) == 512) if ((tang&1023) == 512)
{ //Block off unscreen section of 90ø tilted screen {
//Block off unscreen section of 90ø tilted screen
j = ((tiltcx-(60*tiltcs))>>(1-ud.detail)); j = ((tiltcx-(60*tiltcs))>>(1-ud.detail));
for (i=((60*tiltcs)>>(1-ud.detail))-1;i>=0;i--) for (i=((60*tiltcs)>>(1-ud.detail))-1;i>=0;i--)
{ {
@ -5289,7 +5314,8 @@ int spawn(int j, int pn)
} }
case WATERBUBBLEMAKER__STATIC: case WATERBUBBLEMAKER__STATIC:
if (sp->hitag && sp->picnum == WATERBUBBLEMAKER) if (sp->hitag && sp->picnum == WATERBUBBLEMAKER)
{ // JBF 20030913: Pisses off move(), eg. in bobsp2 {
// JBF 20030913: Pisses off move(), eg. in bobsp2
OSD_Printf("WARNING: WATERBUBBLEMAKER %d @ %d,%d with hitag!=0. Applying fixup.\n", OSD_Printf("WARNING: WATERBUBBLEMAKER %d @ %d,%d with hitag!=0. Applying fixup.\n",
i,sp->x,sp->y); i,sp->x,sp->y);
sp->hitag = 0; sp->hitag = 0;
@ -6311,7 +6337,8 @@ void animatesprites(long x,long y,int a,long smoothratio)
} }
for (j=0;j < spritesortcnt; j++) //Between drawrooms() and drawmasks() for (j=0;j < spritesortcnt; j++) //Between drawrooms() and drawmasks()
{ //is the perfect time to animate sprites {
//is the perfect time to animate sprites
t = &tsprite[j]; t = &tsprite[j];
i = t->owner; i = t->owner;
s = &sprite[i]; s = &sprite[i];
@ -7042,7 +7069,7 @@ PALONLY:
static char terminx[64] = { "Undead TC still sucks." }; static char terminx[64] = { "Undead TC still sucks." };
char cheatquotes[][MAXCHEATLEN] = char cheatquotes[][MAXCHEATLEN] =
{ {
"cornholio", // 0 "cornholio", // 0
"stuff", // 1 "stuff", // 1
"scotty###", // 2 "scotty###", // 2
@ -7070,7 +7097,7 @@ char cheatquotes[][MAXCHEATLEN] =
"debug", // 24 "debug", // 24
"<RESERVED>", // 25 "<RESERVED>", // 25
"sfm", // 26 "sfm", // 26
}; };
enum cheats enum cheats
{ {
@ -7179,7 +7206,8 @@ static void cheats(void)
char consolecheat = 0; // JBF 20030914 char consolecheat = 0; // JBF 20030914
if (osdcmd_cheatsinfo_stat.cheatnum != -1) if (osdcmd_cheatsinfo_stat.cheatnum != -1)
{ // JBF 20030914 {
// JBF 20030914
k = osdcmd_cheatsinfo_stat.cheatnum; k = osdcmd_cheatsinfo_stat.cheatnum;
osdcmd_cheatsinfo_stat.cheatnum = -1; osdcmd_cheatsinfo_stat.cheatnum = -1;
consolecheat = 1; consolecheat = 1;
@ -7420,7 +7448,8 @@ FOUNDCHEAT:
{ {
i = Bstrlen(cheatquotes[k])-3+VOLUMEONE; i = Bstrlen(cheatquotes[k])-3+VOLUMEONE;
if (!consolecheat) if (!consolecheat)
{ // JBF 20030914 {
// JBF 20030914
short volnume,levnume; short volnume,levnume;
if (VOLUMEALL) if (VOLUMEALL)
{ {
@ -7448,7 +7477,8 @@ FOUNDCHEAT:
ud.m_level_number = ud.level_number = levnume; ud.m_level_number = ud.level_number = levnume;
} }
else else
{ // JBF 20030914 {
// JBF 20030914
ud.m_volume_number = ud.volume_number = osdcmd_cheatsinfo_stat.volume; ud.m_volume_number = ud.volume_number = osdcmd_cheatsinfo_stat.volume;
ud.m_level_number = ud.level_number = osdcmd_cheatsinfo_stat.level; ud.m_level_number = ud.level_number = osdcmd_cheatsinfo_stat.level;
} }
@ -9157,7 +9187,8 @@ static void Logo(void)
} }
else soundanm = 2; else soundanm = 2;
if (PLUTOPAK && (logoflags & LOGO_FLAG_PLUTOPAKSPRITE)) if (PLUTOPAK && (logoflags & LOGO_FLAG_PLUTOPAKSPRITE))
{ // JBF 20030804 {
// JBF 20030804
if (totalclock >= 280 && totalclock < 395) if (totalclock >= 280 && totalclock < 395)
{ {
rotatesprite(160<<16,(151)<<16,(410-totalclock)<<12,0,PLUTOPAKSPRITE+1,0,0,2+8,0,0,xdim-1,ydim-1); rotatesprite(160<<16,(151)<<16,(410-totalclock)<<12,0,PLUTOPAKSPRITE+1,0,0,2+8,0,0,xdim-1,ydim-1);
@ -9960,7 +9991,8 @@ void app_main(int argc,const char **argv)
initprintf("Using config file '%s'.\n",setupfilename); initprintf("Using config file '%s'.\n",setupfilename);
ScanGroups(); ScanGroups();
{ // try and identify the 'defaultduke3dgrp' in the set of GRPs. {
// try and identify the 'defaultduke3dgrp' in the set of GRPs.
// if it is found, set up the environment accordingly for the game it represents. // if it is found, set up the environment accordingly for the game it represents.
// if it is not found, choose the first GRP from the list of // if it is not found, choose the first GRP from the list of
struct grpfile *fg, *first = NULL; struct grpfile *fg, *first = NULL;
@ -10294,7 +10326,8 @@ MAIN_LOOP_RESTART:
while (!(ps[myconnectindex].gm&MODE_END)) //The whole loop!!!!!!!!!!!!!!!!!! while (!(ps[myconnectindex].gm&MODE_END)) //The whole loop!!!!!!!!!!!!!!!!!!
{ {
if (handleevents()) if (handleevents())
{ // JBF {
// JBF
if (quitevent) if (quitevent)
{ {
KB_KeyDown[sc_Escape] = 1; KB_KeyDown[sc_Escape] = 1;
@ -10440,7 +10473,8 @@ static int opendemoread(int which_demo) // 0 = mine
if (kread(recfilep,&ver,sizeof(char)) != sizeof(char)) goto corrupt; if (kread(recfilep,&ver,sizeof(char)) != sizeof(char)) goto corrupt;
if (ver != BYTEVERSION /*&& ver != 116 && ver != 117*/) if (ver != BYTEVERSION /*&& ver != 116 && ver != 117*/)
{ /* old demo playback */ {
/* old demo playback */
if (ver == BYTEVERSION_JF) initprintf("Demo %s is for Regular edition.\n", d); if (ver == BYTEVERSION_JF) initprintf("Demo %s is for Regular edition.\n", d);
else if (ver == BYTEVERSION_JF+1) initprintf("Demo %s is for Atomic edition.\n", d); else if (ver == BYTEVERSION_JF+1) initprintf("Demo %s is for Atomic edition.\n", d);
else if (ver == BYTEVERSION_JF+2) initprintf("Demo %s is for Shareware version.\n", d); else if (ver == BYTEVERSION_JF+2) initprintf("Demo %s is for Shareware version.\n", d);
@ -11149,7 +11183,8 @@ static void fakedomovethings(void)
myyvel = 0; myyvel = 0;
} }
else if (syn->avel) //p->ang += syncangvel * constant else if (syn->avel) //p->ang += syncangvel * constant
{ //ENGINE calculates angvel for you {
//ENGINE calculates angvel for you
long tempang = syn->avel<<1; long tempang = syn->avel<<1;
if (psectlotag == 2) if (psectlotag == 2)

View file

@ -101,14 +101,14 @@ enum labeltypes
}; };
static const char *labeltypenames[] = static const char *labeltypenames[] =
{ {
"define", "define",
"state", "state",
"actor", "actor",
"action", "action",
"ai", "ai",
"move" "move"
}; };
static const char *translatelabeltype(long type) static const char *translatelabeltype(long type)
{ {
@ -128,7 +128,7 @@ static const char *translatelabeltype(long type)
#define NUMKEYWORDS (signed int)(sizeof(keyw)/sizeof(keyw[0])) #define NUMKEYWORDS (signed int)(sizeof(keyw)/sizeof(keyw[0]))
static const char *keyw[] = static const char *keyw[] =
{ {
"definelevelname", // 0 defines level name "definelevelname", // 0 defines level name
"actor", // 1 defines an actor "actor", // 1 defines an actor
"addammo", // 2 adds ammo to a weapon "addammo", // 2 adds ammo to a weapon
@ -439,10 +439,10 @@ static const char *keyw[] =
"prevspritesect", // 307 "prevspritesect", // 307
"nextspritesect", // 308 "nextspritesect", // 308
"<null>" "<null>"
}; };
LABELS sectorlabels[]= LABELS sectorlabels[]=
{ {
{ "wallptr", SECTOR_WALLPTR, 0, 0 }, { "wallptr", SECTOR_WALLPTR, 0, 0 },
{ "wallnum", SECTOR_WALLNUM, 0, 0 }, { "wallnum", SECTOR_WALLNUM, 0, 0 },
{ "ceilingz", SECTOR_CEILINGZ, 0, 0 }, { "ceilingz", SECTOR_CEILINGZ, 0, 0 },
@ -467,10 +467,10 @@ LABELS sectorlabels[]=
{ "hitag", SECTOR_HITAG, 0, 0 }, { "hitag", SECTOR_HITAG, 0, 0 },
{ "extra", SECTOR_EXTRA, 0, 0 }, { "extra", SECTOR_EXTRA, 0, 0 },
{ "", -1, 0, 0 } // END OF LIST { "", -1, 0, 0 } // END OF LIST
}; };
LABELS walllabels[]= LABELS walllabels[]=
{ {
{ "x", WALL_X, 0, 0 }, { "x", WALL_X, 0, 0 },
{ "y", WALL_Y, 0, 0 }, { "y", WALL_Y, 0, 0 },
{ "point2", WALL_POINT2, 0, 0 }, { "point2", WALL_POINT2, 0, 0 },
@ -489,10 +489,10 @@ LABELS walllabels[]=
{ "hitag", WALL_HITAG, 0, 0 }, { "hitag", WALL_HITAG, 0, 0 },
{ "extra", WALL_EXTRA, 0, 0 }, { "extra", WALL_EXTRA, 0, 0 },
{ "", -1, 0, 0 } // END OF LIST { "", -1, 0, 0 } // END OF LIST
}; };
LABELS actorlabels[]= LABELS actorlabels[]=
{ {
{ "x", ACTOR_X, 0, 0 }, { "x", ACTOR_X, 0, 0 },
{ "y", ACTOR_Y, 0, 0 }, { "y", ACTOR_Y, 0, 0 },
{ "z", ACTOR_Z, 0, 0 }, { "z", ACTOR_Z, 0, 0 },
@ -547,10 +547,10 @@ LABELS actorlabels[]=
{ "mdzoff", ACTOR_MDZOFF, 0, 0 }, { "mdzoff", ACTOR_MDZOFF, 0, 0 },
{ "mdflags", ACTOR_MDFLAGS, 0, 0 }, { "mdflags", ACTOR_MDFLAGS, 0, 0 },
{ "", -1, 0, 0 } // END OF LIST { "", -1, 0, 0 } // END OF LIST
}; };
LABELS playerlabels[]= LABELS playerlabels[]=
{ {
{ "zoom", PLAYER_ZOOM, 0, 0 }, { "zoom", PLAYER_ZOOM, 0, 0 },
{ "exitx", PLAYER_EXITX, 0, 0 }, { "exitx", PLAYER_EXITX, 0, 0 },
{ "exity", PLAYER_EXITY, 0, 0 }, { "exity", PLAYER_EXITY, 0, 0 },
@ -694,10 +694,10 @@ LABELS playerlabels[]=
{ "weaponswitch", PLAYER_WEAPONSWITCH, 0, 0 }, { "weaponswitch", PLAYER_WEAPONSWITCH, 0, 0 },
{ "team", PLAYER_TEAM, 0, 0 }, { "team", PLAYER_TEAM, 0, 0 },
{ "", -1, 0, 0 } // END OF LIST { "", -1, 0, 0 } // END OF LIST
}; };
LABELS projectilelabels[]= LABELS projectilelabels[]=
{ {
{ "workslike", PROJ_WORKSLIKE, 0, 0 }, { "workslike", PROJ_WORKSLIKE, 0, 0 },
{ "spawns", PROJ_SPAWNS, 0, 0 }, { "spawns", PROJ_SPAWNS, 0, 0 },
{ "sxrepeat", PROJ_SXREPEAT, 0, 0 }, { "sxrepeat", PROJ_SXREPEAT, 0, 0 },
@ -727,10 +727,10 @@ LABELS projectilelabels[]=
{ "bsound", PROJ_BSOUND, 0, 0 }, { "bsound", PROJ_BSOUND, 0, 0 },
{ "range", PROJ_RANGE, 0, 0 }, { "range", PROJ_RANGE, 0, 0 },
{ "", -1, 0, 0 } // END OF LIST { "", -1, 0, 0 } // END OF LIST
}; };
LABELS userdefslabels[]= LABELS userdefslabels[]=
{ {
// { "<null>", 1, 0, 0 }, // { "<null>", 1, 0, 0 },
{ "god", USERDEFS_GOD, 0, 0 }, { "god", USERDEFS_GOD, 0, 0 },
{ "warp_on", USERDEFS_WARP_ON, 0, 0 }, { "warp_on", USERDEFS_WARP_ON, 0, 0 },
@ -824,10 +824,10 @@ LABELS userdefslabels[]=
{ "angleinterpolation", USERDEFS_ANGLEINTERPOLATION, 0, 0 }, { "angleinterpolation", USERDEFS_ANGLEINTERPOLATION, 0, 0 },
{ "deathmsgs", USERDEFS_DEATHMSGS, 0, 0 }, { "deathmsgs", USERDEFS_DEATHMSGS, 0, 0 },
{ "", -1, 0, 0 } // END OF LIST { "", -1, 0, 0 } // END OF LIST
}; };
LABELS inputlabels[]= LABELS inputlabels[]=
{ {
{ "avel", INPUT_AVEL, 0, 0 }, { "avel", INPUT_AVEL, 0, 0 },
{ "horz", INPUT_HORZ, 0, 0 }, { "horz", INPUT_HORZ, 0, 0 },
{ "fvel", INPUT_FVEL, 0, 0 }, { "fvel", INPUT_FVEL, 0, 0 },
@ -835,7 +835,7 @@ LABELS inputlabels[]=
{ "bits", INPUT_BITS, 0, 0 }, { "bits", INPUT_BITS, 0, 0 },
{ "extbits", INPUT_EXTBITS, 0, 0 }, { "extbits", INPUT_EXTBITS, 0, 0 },
{ "", -1, 0, 0 } // END OF LIST { "", -1, 0, 0 } // END OF LIST
}; };
static void skipcomments(void) static void skipcomments(void)
{ {
@ -2888,7 +2888,8 @@ static int parsecommand(void)
i=GetDefID(label+(labelcnt<<6)); i=GetDefID(label+(labelcnt<<6));
//printf("Label '%s' ID is %d\n",label+(labelcnt<<6), i); //printf("Label '%s' ID is %d\n",label+(labelcnt<<6), i);
if (i<0) if (i<0)
{ // not a defined DEF {
// not a defined DEF
error++; error++;
ReportError(ERROR_NOTAGAMEVAR); ReportError(ERROR_NOTAGAMEVAR);
return 0; return 0;
@ -4474,12 +4475,12 @@ static void passone(void)
#define NUM_DEFAULT_CONS 4 #define NUM_DEFAULT_CONS 4
static const char *defaultcons[NUM_DEFAULT_CONS] = static const char *defaultcons[NUM_DEFAULT_CONS] =
{ {
"EDUKE.CON", "EDUKE.CON",
"GAME.CON", "GAME.CON",
"USER.CON", "USER.CON",
"DEFS.CON" "DEFS.CON"
}; };
void copydefaultcons(void) void copydefaultcons(void)
{ {
@ -4820,7 +4821,8 @@ void loadefs(const char *filenam)
if (fta_quotes[i] == NULL) if (fta_quotes[i] == NULL)
fta_quotes[i] = Bcalloc(MAXQUOTELEN,sizeof(char)); fta_quotes[i] = Bcalloc(MAXQUOTELEN,sizeof(char));
{ {
char *ppdeathstrings[] = { char *ppdeathstrings[] =
{
"^2%s ^2WAS KICKED TO THE CURB BY %s", "^2%s ^2WAS KICKED TO THE CURB BY %s",
"^2%s ^2WAS PICKED OFF BY %s", "^2%s ^2WAS PICKED OFF BY %s",
"^2%s ^2TOOK %s^2'S SHOT TO THE FACE", "^2%s ^2TOOK %s^2'S SHOT TO THE FACE",
@ -4855,7 +4857,8 @@ void loadefs(const char *filenam)
"^2%s ^2WANTS TO KNOW WHY %s ^2IS EVEN PLAYING COOP", "^2%s ^2WANTS TO KNOW WHY %s ^2IS EVEN PLAYING COOP",
}; };
char *podeathstrings[] = { char *podeathstrings[] =
{
"^2%s ^2KILLED HIMSELF. WHAT A TOOL!", "^2%s ^2KILLED HIMSELF. WHAT A TOOL!",
"^2%s ^2TRIED TO LEAVE", "^2%s ^2TRIED TO LEAVE",
"^2%s ^2GOT FRAGGED BY A MONSTER. IT WAS PROBABLY A LIZTROOP.", "^2%s ^2GOT FRAGGED BY A MONSTER. IT WAS PROBABLY A LIZTROOP.",

View file

@ -128,7 +128,8 @@ char env_music_fn[MAXVOLUMES+1][BMAX_PATH];
char rtsplaying; char rtsplaying;
short weaponsandammosprites[15] = { short weaponsandammosprites[15] =
{
RPGSPRITE__STATIC, RPGSPRITE__STATIC,
CHAINGUNSPRITE__STATIC, CHAINGUNSPRITE__STATIC,
DEVISTATORAMMO__STATIC, DEVISTATORAMMO__STATIC,
@ -144,7 +145,7 @@ short weaponsandammosprites[15] = {
RPGAMMO__STATIC, RPGAMMO__STATIC,
FREEZESPRITE__STATIC, FREEZESPRITE__STATIC,
FREEZEAMMO__STATIC FREEZEAMMO__STATIC
}; };
long impact_damage; long impact_damage;
int condebug; int condebug;

View file

@ -9,7 +9,7 @@
#include "grpscan.h" #include "grpscan.h"
struct grpfile grpfiles[numgrpfiles] = struct grpfile grpfiles[numgrpfiles] =
{ {
{ "Duke Nukem 3D", 0xBBC9CE44, 26524524, GAMEDUKE, NULL }, { "Duke Nukem 3D", 0xBBC9CE44, 26524524, GAMEDUKE, NULL },
{ "Duke Nukem 3D: Atomic Edition", 0xF514A6AC, 44348015, GAMEDUKE, NULL }, { "Duke Nukem 3D: Atomic Edition", 0xF514A6AC, 44348015, GAMEDUKE, NULL },
{ "Duke Nukem 3D: Atomic Edition", 0xFD3DCFF1, 44356548, GAMEDUKE, NULL }, { "Duke Nukem 3D: Atomic Edition", 0xFD3DCFF1, 44356548, GAMEDUKE, NULL },
@ -19,7 +19,7 @@ struct grpfile grpfiles[numgrpfiles] =
{ "NAM", 0x75C1F07B, 43448927, GAMENAM, NULL }, { "NAM", 0x75C1F07B, 43448927, GAMENAM, NULL },
{ "Napalm", 0x3DE1589A, 44365728, GAMENAM, NULL }, { "Napalm", 0x3DE1589A, 44365728, GAMENAM, NULL },
{ "WW2GI", 0x907B82BF, 77939508, GAMEWW2, NULL }, { "WW2GI", 0x907B82BF, 77939508, GAMEWW2, NULL },
}; };
struct grpfile *foundgrps = NULL; struct grpfile *foundgrps = NULL;
#define GRPCACHEFILE "grpfiles.cache" #define GRPCACHEFILE "grpfiles.cache"

View file

@ -726,7 +726,8 @@ void menus(void)
c = (320>>1)-120; c = (320>>1)-120;
{ {
int io, ii, yy = 37, d=c+140, enabled; int io, ii, yy = 37, d=c+140, enabled;
char *opts[] = { char *opts[] =
{
"Name", "Name",
"-", "-",
"Color", "Color",
@ -940,7 +941,8 @@ void menus(void)
case 1: case 1:
{ {
char *s[] = { "Auto","","","","","","","","","Blue","Red","Green","Gray","Dark gray","Dark green","Brown", char *s[] = { "Auto","","","","","","","","","Blue","Red","Green","Gray","Dark gray","Dark green","Brown",
"Dark blue","","","","","Bright red","","Yellow","","" }; "Dark blue","","","","","Bright red","","Yellow","",""
};
gametext(d-50,yy,s[ud.color],MENUHIGHLIGHT(io),2+8+16); gametext(d-50,yy,s[ud.color],MENUHIGHLIGHT(io),2+8+16);
} }
break; break;
@ -2182,7 +2184,8 @@ cheat_for_port_credits:
// path // path
minitext(52,32,boardfilename,0,26); minitext(52,32,boardfilename,0,26);
{ // JBF 20040208: seek to first name matching pressed character {
// JBF 20040208: seek to first name matching pressed character
CACHE1D_FIND_REC *seeker = currentlist ? findfiles : finddirs; CACHE1D_FIND_REC *seeker = currentlist ? findfiles : finddirs;
if ((KB_KeyPressed(sc_Home)|KB_KeyPressed(sc_End)) > 0) if ((KB_KeyPressed(sc_Home)|KB_KeyPressed(sc_End)) > 0)
{ {
@ -2418,7 +2421,8 @@ cheat_for_port_credits:
{ {
int io, ii, yy, d=c+160+40, enabled; int io, ii, yy, d=c+160+40, enabled;
char *opts[] = { char *opts[] =
{
"Widescreen", "Widescreen",
"-", "-",
"Anisotropic filtering", "Anisotropic filtering",
@ -2554,7 +2558,8 @@ cheat_for_port_credits:
{ {
int io, ii, yy, d=c+160+40, enabled; int io, ii, yy, d=c+160+40, enabled;
char *opts[] = { char *opts[] =
{
"Crosshair", "Crosshair",
"Level stats", "Level stats",
"-", "-",
@ -2715,7 +2720,8 @@ cheat_for_port_credits:
{ {
int io, ii, yy, d=c+160+40, enabled; int io, ii, yy, d=c+160+40, enabled;
char *opts[] = { char *opts[] =
{
"Parental lock", "Parental lock",
"-", "-",
"Game messages", "Game messages",
@ -3535,22 +3541,26 @@ cheat_for_port_credits:
if (x==-1) if (x==-1)
{ {
if (function == 0) if (function == 0)
{ // mouse button {
// mouse button
cmenu(205); cmenu(205);
probey = whichkey; probey = whichkey;
} }
else if (function == 1) else if (function == 1)
{ // mouse digital axis {
// mouse digital axis
cmenu(212); cmenu(212);
probey = 3+(whichkey^2); probey = 3+(whichkey^2);
} }
else if (function == 2) else if (function == 2)
{ // joystick button/hat {
// joystick button/hat
cmenu(207); cmenu(207);
probey = whichkey; probey = whichkey;
} }
else if (function == 3) else if (function == 3)
{ // joystick digital axis {
// joystick digital axis
cmenu((whichkey>>2)+208); cmenu((whichkey>>2)+208);
probey = 1+((whichkey>>1)&1)*4+(whichkey&1); probey = 1+((whichkey>>1)&1)*4+(whichkey&1);
} }
@ -4117,7 +4127,8 @@ cheat_for_port_credits:
case 214: case 214:
case 215: case 215:
case 216: case 216:
{ // Pray this is enough pages for now :-| {
// Pray this is enough pages for now :-|
int first,last; int first,last;
rotatesprite(320<<15,19<<16,65536L,0,MENUBAR,16,0,10,0,0,xdim-1,ydim-1); rotatesprite(320<<15,19<<16,65536L,0,MENUBAR,16,0,10,0,0,xdim-1,ydim-1);
menutext(320>>1,24,0,0,"JOY DEAD ZONES"); menutext(320>>1,24,0,0,"JOY DEAD ZONES");

View file

@ -600,7 +600,8 @@ static int osdcmd_exec(const osdfuncparm_t *parm)
return OSDCMD_OK; return OSDCMD_OK;
} }
enum cvartypes { enum cvartypes
{
CVAR_INT, CVAR_INT,
CVAR_UNSIGNEDINT, CVAR_UNSIGNEDINT,
CVAR_BOOL, CVAR_BOOL,
@ -618,7 +619,7 @@ struct cvarmappings
int max; int max;
} }
cvar[] = cvar[] =
{ {
{ "crosshair", "crosshair: enable/disable crosshair", (void*)&ud.crosshair, CVAR_INT, 0, 0, 3 }, { "crosshair", "crosshair: enable/disable crosshair", (void*)&ud.crosshair, CVAR_INT, 0, 0, 3 },
{ "cl_autoaim", "cl_autoaim: enable/disable weapon autoaim", (void*)&AutoAim, CVAR_INT|256, 0, 0, 2 }, { "cl_autoaim", "cl_autoaim: enable/disable weapon autoaim", (void*)&AutoAim, CVAR_INT|256, 0, 0, 2 },
@ -667,7 +668,7 @@ cvar[] =
{ "snd_numchannels", "snd_numchannels: the number of sound channels", (void*)&NumChannels, CVAR_INT, 0, 0, 2 }, { "snd_numchannels", "snd_numchannels: the number of sound channels", (void*)&NumChannels, CVAR_INT, 0, 0, 2 },
{ "snd_numvoices", "snd_numvoices: the number of concurrent sounds", (void*)&NumVoices, CVAR_INT, 0, 0, 32 }, { "snd_numvoices", "snd_numvoices: the number of concurrent sounds", (void*)&NumVoices, CVAR_INT, 0, 0, 32 },
{ "snd_reversestereo", "snd_reversestereo: reverses the stereo channels", (void*)&ReverseStereo, CVAR_BOOL, 0, 0, 16 }, { "snd_reversestereo", "snd_reversestereo: reverses the stereo channels", (void*)&ReverseStereo, CVAR_BOOL, 0, 0, 16 },
}; };
static int osdcmd_cvar_set(const osdfuncparm_t *parm) static int osdcmd_cvar_set(const osdfuncparm_t *parm)
{ {

View file

@ -3222,7 +3222,8 @@ static int doincrements(struct player_struct *p)
short weapon_sprites[MAX_WEAPONS] = { KNEE__STATIC, FIRSTGUNSPRITE__STATIC, SHOTGUNSPRITE__STATIC, short weapon_sprites[MAX_WEAPONS] = { KNEE__STATIC, FIRSTGUNSPRITE__STATIC, SHOTGUNSPRITE__STATIC,
CHAINGUNSPRITE__STATIC, RPGSPRITE__STATIC, HEAVYHBOMB__STATIC, SHRINKERSPRITE__STATIC, DEVISTATORSPRITE__STATIC, CHAINGUNSPRITE__STATIC, RPGSPRITE__STATIC, HEAVYHBOMB__STATIC, SHRINKERSPRITE__STATIC, DEVISTATORSPRITE__STATIC,
TRIPBOMBSPRITE__STATIC, FREEZESPRITE__STATIC, HEAVYHBOMB__STATIC, SHRINKERSPRITE__STATIC}; TRIPBOMBSPRITE__STATIC, FREEZESPRITE__STATIC, HEAVYHBOMB__STATIC, SHRINKERSPRITE__STATIC
};
void checkweapons(struct player_struct *p) void checkweapons(struct player_struct *p)
{ {
@ -4176,7 +4177,8 @@ void processinput(int snum)
p->posyv = 0; p->posyv = 0;
} }
else if (sync[snum].avel) //p->ang += syncangvel * constant else if (sync[snum].avel) //p->ang += syncangvel * constant
{ //ENGINE calculates angvel for you {
//ENGINE calculates angvel for you
long tempang = sync[snum].avel<<1; long tempang = sync[snum].avel<<1;
if (psectlotag == 2) p->angvel =(tempang-(tempang>>3))*ksgn(doubvel); if (psectlotag == 2) p->angvel =(tempang-(tempang>>3))*ksgn(doubvel);
@ -4504,7 +4506,8 @@ HORIZONLY:
} }
else if (sb_snum&(1<<3)) else if (sb_snum&(1<<3))
{ // aim_up {
// aim_up
SetGameVarID(g_iReturnVarID,0,pi,snum); SetGameVarID(g_iReturnVarID,0,pi,snum);
OnEvent(EVENT_AIMUP,pi,snum, -1); OnEvent(EVENT_AIMUP,pi,snum, -1);
if (GetGameVarID(g_iReturnVarID,pi,snum) == 0) if (GetGameVarID(g_iReturnVarID,pi,snum) == 0)
@ -4517,7 +4520,8 @@ HORIZONLY:
} }
else if (sb_snum&(1<<4)) else if (sb_snum&(1<<4))
{ // aim_down {
// aim_down
SetGameVarID(g_iReturnVarID,0,pi,snum); SetGameVarID(g_iReturnVarID,0,pi,snum);
OnEvent(EVENT_AIMDOWN,pi,snum, -1); OnEvent(EVENT_AIMDOWN,pi,snum, -1);
if (GetGameVarID(g_iReturnVarID,pi,snum) == 0) if (GetGameVarID(g_iReturnVarID,pi,snum) == 0)
@ -5185,7 +5189,7 @@ int getspritescore(long snum, long dapicnum)
} }
static long fdmatrix[12][12] = static long fdmatrix[12][12] =
{ {
//KNEE PIST SHOT CHAIN RPG PIPE SHRI DEVI WALL FREE HAND EXPA //KNEE PIST SHOT CHAIN RPG PIPE SHRI DEVI WALL FREE HAND EXPA
{ 128, -1, -1, -1, 128, -1, -1, -1, 128, -1, 128, -1 }, //KNEE { 128, -1, -1, -1, 128, -1, -1, -1, 128, -1, 128, -1 }, //KNEE
{ 1024,1024,1024,1024,2560, 128,2560,2560,1024,2560,2560,2560 }, //PIST { 1024,1024,1024,1024,2560, 128,2560,2560,1024,2560,2560,2560 }, //PIST
@ -5199,7 +5203,7 @@ static long fdmatrix[12][12] =
{ 128, 128, 128, 128,2560, 128,2560,2560, 128, 128, 128, 128 }, //FREE { 128, 128, 128, 128,2560, 128,2560,2560, 128, 128, 128, 128 }, //FREE
{ 2560,2560,2560,2560,2560,2560,2560,2560,2560,2560,2560,2560 }, //HAND { 2560,2560,2560,2560,2560,2560,2560,2560,2560,2560,2560,2560 }, //HAND
{ 128, 128, 128, 128,2560, 128,2560,2560, 128, 128, 128, 128 } //EXPA { 128, 128, 128, 128,2560, 128,2560,2560, 128, 128, 128, 128 } //EXPA
}; };
static long goalx[MAXPLAYERS], goaly[MAXPLAYERS], goalz[MAXPLAYERS]; static long goalx[MAXPLAYERS], goaly[MAXPLAYERS], goalz[MAXPLAYERS];
static long goalsect[MAXPLAYERS], goalwall[MAXPLAYERS], goalsprite[MAXPLAYERS], goalspritescore[MAXPLAYERS]; static long goalsect[MAXPLAYERS], goalwall[MAXPLAYERS], goalsprite[MAXPLAYERS], goalspritescore[MAXPLAYERS];

View file

@ -202,7 +202,6 @@ int loadplayer(int spot)
FX_StopAllSounds(); FX_StopAllSounds();
clearsoundlocks(); clearsoundlocks();
MUSIC_StopSong();
if (numplayers > 1) if (numplayers > 1)
{ {
@ -403,9 +402,13 @@ int loadplayer(int spot)
clearsoundlocks(); clearsoundlocks();
cacheit(); cacheit();
i = music_select;
music_select = (ud.volume_number*MAXLEVELS) + ud.level_number; music_select = (ud.volume_number*MAXLEVELS) + ud.level_number;
if (music_fn[0][(unsigned char)music_select] != NULL) if (music_fn[0][(unsigned char)music_select] != NULL && i != music_select)
{
MUSIC_StopSong();
playmusic(&music_fn[0][(unsigned char)music_select][0]); playmusic(&music_fn[0][(unsigned char)music_select][0]);
}
ps[myconnectindex].gm = MODE_GAME; ps[myconnectindex].gm = MODE_GAME;
ud.recstat = 0; ud.recstat = 0;

View file

@ -30,7 +30,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "music.h" #include "music.h"
#include "duke3d.h" #include "duke3d.h"
#include "util_lib.h" #include "util_lib.h"
#include "osd.h"
#define LOUDESTVOLUME 150 #define LOUDESTVOLUME 150

View file

@ -39,9 +39,9 @@ settings;
static HWND startupdlg = NULL; static HWND startupdlg = NULL;
static HWND pages[3] = static HWND pages[3] =
{ {
NULL, NULL, NULL NULL, NULL, NULL
}; };
static int done = -1, mode = TAB_CONFIG; static int done = -1, mode = TAB_CONFIG;
#define POPULATE_VIDEO 1 #define POPULATE_VIDEO 1