Cleaning uncommitted changes out of tree

git-svn-id: https://svn.eduke32.com/eduke32@1068 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2008-09-15 02:47:02 +00:00
parent ca763dafad
commit 3776d580eb
16 changed files with 172 additions and 81 deletions

View file

@ -437,7 +437,7 @@ void clearallviews(int dacol);
void drawmapview(int dax, int day, int zoome, short ang); void drawmapview(int dax, int day, int zoome, short ang);
void rotatesprite(int sx, int sy, int z, short a, short picnum, signed char dashade, char dapalnum, char dastat, int cx1, int cy1, int cx2, int cy2); void rotatesprite(int sx, int sy, int z, short a, short picnum, signed char dashade, char dapalnum, char dastat, int cx1, int cy1, int cx2, int cy2);
void drawline256(int x1, int y1, int x2, int y2, char col); void drawline256(int x1, int y1, int x2, int y2, char col);
void printext16(int xpos, int ypos, short col, short backcol, char *name, char fontsize); int printext16(int xpos, int ypos, short col, short backcol, char *name, char fontsize);
void printext256(int xpos, int ypos, short col, short backcol, char *name, char fontsize); void printext256(int xpos, int ypos, short col, short backcol, char *name, char fontsize);
int clipmove(int *x, int *y, int *z, short *sectnum, int xvect, int yvect, int walldist, int ceildist, int flordist, unsigned int cliptype); int clipmove(int *x, int *y, int *z, short *sectnum, int xvect, int yvect, int walldist, int ceildist, int flordist, unsigned int cliptype);

View file

@ -11502,7 +11502,7 @@ void draw2dscreen(int posxe, int posye, short ange, int zoome, short gride)
// //
// printext16 // printext16
// //
void printext16(int xpos, int ypos, short col, short backcol, char *name, char fontsize) int printext16(int xpos, int ypos, short col, short backcol, char *name, char fontsize)
{ {
int stx, i, x, y, charxsiz, ocol = col, obackcol = backcol; int stx, i, x, y, charxsiz, ocol = col, obackcol = backcol;
char *fontptr, *letptr, *ptr; char *fontptr, *letptr, *ptr;
@ -11593,6 +11593,8 @@ void printext16(int xpos, int ypos, short col, short backcol, char *name, char f
stx += charxsiz; stx += charxsiz;
} }
enddrawing(); //}}} enddrawing(); //}}}
return stx;
} }

View file

@ -43,7 +43,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <windows.h> #include <windows.h>
#endif #endif
#define BUILDDATE " 20080907" #define BUILDDATE " 20080912"
#define VERSION " 1.2.0devel" #define VERSION " 1.2.0devel"
static int floor_over_floor; static int floor_over_floor;
@ -1546,7 +1546,7 @@ ENDFOR1:
i<IHELP_NUMDISPLINES && j<helppage[curhp]->numlines; i++) i<IHELP_NUMDISPLINES && j<helppage[curhp]->numlines; i++)
{ {
Bmemcpy(disptext[i], helppage[curhp]->line[j], 80); Bmemcpy(disptext[i], helppage[curhp]->line[j], 80);
printext16(8,ydim-overridepm16y+28+i*9,15, printext16(8,ydim-overridepm16y+28+i*9,12,
(j==highlightline && curhp==highlighthp (j==highlightline && curhp==highlighthp
&& totalclock-lasthighlighttime<120*5)?1:-1, && totalclock-lasthighlighttime<120*5)?1:-1,
disptext[i],0); disptext[i],0);
@ -8851,7 +8851,7 @@ static void Keys2d3d(void)
{ {
SHELLEXECUTEINFOA sinfo; SHELLEXECUTEINFOA sinfo;
char *prog = "eduke32"; char *prog = "eduke32";
char *param = " -map autosave.map"; char *param = " -map autosave.map -noinstancechecking";
char *fullparam; char *fullparam;
int slen; int slen;
@ -9956,35 +9956,54 @@ static void EditSpriteData(short spritenum)
// Build edit // Build edit
static char *FuncMenuStrings[] =
{
" Replace invalid tiles",
" Delete all spr of tile #",
" Set map sky shade",
" Set map sky height",
" Global Z coord shift",
" Resize selection",
" Global shade divide",
" Global visibility divide "
};
#define MENU_Y_SPACING 8
#define MENU_BASE_Y 16
static void FuncMenuOpts(void) static void FuncMenuOpts(void)
{ {
char snotbuf[80]; int x = 8;
int y = MENU_BASE_Y+16;
int i = 0;
// int x2 = 0;
// static int x2_max = 0;
Bsprintf(snotbuf,"Special functions"); int numopts = (sizeof(FuncMenuStrings)/sizeof(FuncMenuStrings[0]));
printext16(8,ydim-STATUS2DSIZ+32,11,-1,snotbuf,0);
Bsprintf(snotbuf,"Replace invalid tiles"); do
printext16(8,ydim-STATUS2DSIZ+48,11,-1,snotbuf,0); {
Bsprintf(snotbuf,"Delete all spr of tile #"); // x2 =
printext16(8,ydim-STATUS2DSIZ+56,11,-1,snotbuf,0); printext16(x,y,11,2,FuncMenuStrings[i],0);
Bsprintf(snotbuf,"Global sky shade"); // if (x2 > x2_max) x2_max = x2;
printext16(8,ydim-STATUS2DSIZ+64,11,-1,snotbuf,0); y += MENU_Y_SPACING;
Bsprintf(snotbuf,"Global sky height"); }
printext16(8,ydim-STATUS2DSIZ+72,11,-1,snotbuf,0); while (++i < numopts);
Bsprintf(snotbuf,"Global Z coord shift"); // drawline16(x-1,y,x2_max+1,y,1);
printext16(8,ydim-STATUS2DSIZ+80,11,-1,snotbuf,0); // drawline16(x-1,MENU_BASE_Y-4,x-1,y,1);
Bsprintf(snotbuf,"Resize selection");
printext16(8,ydim-STATUS2DSIZ+88,11,-1,snotbuf,0); // x2 =
Bsprintf(snotbuf,"Global shade divide"); printext16(x,MENU_BASE_Y,11,1,"Special functions",0);
printext16(8,ydim-STATUS2DSIZ+96,11,-1,snotbuf,0); // drawline16(x-1,MENU_BASE_Y-4,x2+1,MENU_BASE_Y-4,1);
Bsprintf(snotbuf,"Global visibility divide"); // drawline16(x2_max+1,MENU_BASE_Y+16-4,x2_max+1,y-1,1);
printext16(8,ydim-STATUS2DSIZ+104,11,-1,snotbuf,0); //drawline16(x2+1,MENU_BASE_Y+16-1,x2_max+1,MENU_BASE_Y+16-1,1);
} }
static void FuncMenu(void) static void FuncMenu(void)
{ {
char disptext[80]; char disptext[80];
int col=0, row=0, rowmax=7, dispwidth = 24, editval = 0, i = -1, j; int col=0, row=0, rowmax=7, dispwidth = 26, editval = 0, i = -1, j;
int xpos = 8, ypos = ydim-STATUS2DSIZ+48; int xpos = 8, ypos = MENU_BASE_Y+16;
disptext[dispwidth] = 0; disptext[dispwidth] = 0;
clearmidstatbar16(); clearmidstatbar16();
@ -10004,7 +10023,7 @@ static void FuncMenu(void)
{ {
if (row < rowmax) if (row < rowmax)
{ {
printext16(xpos,ypos+row*8,11,0,disptext,0); printext16(xpos,ypos+row*MENU_Y_SPACING,11,0,disptext,0);
row++; row++;
} }
keystatus[KEYSC_DOWN] = 0; keystatus[KEYSC_DOWN] = 0;
@ -10013,7 +10032,7 @@ static void FuncMenu(void)
{ {
if (row > 0) if (row > 0)
{ {
printext16(xpos,ypos+row*8,11,0,disptext,0); printext16(xpos,ypos+row*MENU_Y_SPACING,11,0,disptext,0);
row--; row--;
} }
keystatus[KEYSC_UP] = 0; keystatus[KEYSC_UP] = 0;
@ -10082,7 +10101,7 @@ static void FuncMenu(void)
{ {
case 0: case 0:
{ {
for (i=Bsprintf(disptext,"Replace invalid tiles"); i < dispwidth; i++) disptext[i] = ' '; for (i=Bsprintf(disptext,FuncMenuStrings[row]); i < dispwidth; i++) disptext[i] = ' ';
if (editval) if (editval)
{ {
j = 0; j = 0;
@ -10112,7 +10131,7 @@ static void FuncMenu(void)
break; break;
case 1: case 1:
{ {
for (i=Bsprintf(disptext,"Delete all spr of tile #"); i < dispwidth; i++) disptext[i] = ' '; for (i=Bsprintf(disptext,FuncMenuStrings[row]); i < dispwidth; i++) disptext[i] = ' ';
if (editval) if (editval)
{ {
Bsprintf(tempbuf,"Delete all sprites of tile #: "); Bsprintf(tempbuf,"Delete all sprites of tile #: ");
@ -10132,26 +10151,26 @@ static void FuncMenu(void)
break; break;
case 2: case 2:
{ {
for (i=Bsprintf(disptext,"Global sky shade"); i < dispwidth; i++) disptext[i] = ' '; for (i=Bsprintf(disptext,FuncMenuStrings[row]); i < dispwidth; i++) disptext[i] = ' ';
if (editval) if (editval)
{ {
j=getnumber16("Global sky shade: ",0,128,1); j=getnumber16("Set map sky shade: ",0,128,1);
for (i=0;i<numsectors;i++) for (i=0;i<numsectors;i++)
{ {
if (sector[i].ceilingstat&1) if (sector[i].ceilingstat&1)
sector[i].ceilingshade = j; sector[i].ceilingshade = j;
} }
printmessage16("Parallaxed skies adjusted"); printmessage16("All parallax skies adjusted");
} }
} }
break; break;
case 3: case 3:
{ {
for (i=Bsprintf(disptext,"Global sky height"); i < dispwidth; i++) disptext[i] = ' '; for (i=Bsprintf(disptext,FuncMenuStrings[row]); i < dispwidth; i++) disptext[i] = ' ';
if (editval) if (editval)
{ {
j=getnumber16("Global sky height: ",0,16777216,1); j=getnumber16("Set map sky height: ",0,16777216,1);
if (j != 0) if (j != 0)
{ {
for (i=0;i<numsectors;i++) for (i=0;i<numsectors;i++)
@ -10159,7 +10178,7 @@ static void FuncMenu(void)
if (sector[i].ceilingstat&1) if (sector[i].ceilingstat&1)
sector[i].ceilingz = j; sector[i].ceilingz = j;
} }
printmessage16("Parallaxed skies adjusted"); printmessage16("All parallax skies adjusted");
} }
else printmessage16("Aborted"); else printmessage16("Aborted");
} }
@ -10167,7 +10186,7 @@ static void FuncMenu(void)
break; break;
case 4: case 4:
{ {
for (i=Bsprintf(disptext,"Global Z coord shift"); i < dispwidth; i++) disptext[i] = ' '; for (i=Bsprintf(disptext,FuncMenuStrings[row]); i < dispwidth; i++) disptext[i] = ' ';
if (editval) if (editval)
{ {
j=getnumber16("Z offset: ",0,16777216,1); j=getnumber16("Z offset: ",0,16777216,1);
@ -10188,7 +10207,7 @@ static void FuncMenu(void)
break; break;
case 5: case 5:
{ {
for (i=Bsprintf(disptext,"Resize selection"); i < dispwidth; i++) disptext[i] = ' '; for (i=Bsprintf(disptext,FuncMenuStrings[row]); i < dispwidth; i++) disptext[i] = ' ';
if (editval) if (editval)
{ {
j=getnumber16("Percentage of original: ",100,1000,0); j=getnumber16("Percentage of original: ",100,1000,0);
@ -10229,7 +10248,7 @@ static void FuncMenu(void)
break; break;
case 6: case 6:
{ {
for (i=Bsprintf(disptext,"Global shade divide"); i < dispwidth; i++) disptext[i] = ' '; for (i=Bsprintf(disptext,FuncMenuStrings[row]); i < dispwidth; i++) disptext[i] = ' ';
if (editval) if (editval)
{ {
j=getnumber16("Shade divisor: ",1,128,1); j=getnumber16("Shade divisor: ",1,128,1);
@ -10252,7 +10271,7 @@ static void FuncMenu(void)
break; break;
case 7: case 7:
{ {
for (i=Bsprintf(disptext,"Global visibility divide"); i < dispwidth; i++) disptext[i] = ' '; for (i=Bsprintf(disptext,FuncMenuStrings[row]); i < dispwidth; i++) disptext[i] = ' ';
if (editval) if (editval)
{ {
j=getnumber16("Visibility divisor: ",1,128,0); j=getnumber16("Visibility divisor: ",1,128,0);
@ -10273,12 +10292,12 @@ static void FuncMenu(void)
} }
break; break;
} }
printext16(xpos,ypos+row*8,11,1,disptext,0); printext16(xpos,ypos+row*MENU_Y_SPACING,11,1,disptext,0);
enddrawing(); enddrawing();
showframe(1); showframe(1);
} }
begindrawing(); begindrawing();
printext16(xpos,ypos+row*8,11,0,disptext,0); printext16(xpos,ypos+row*MENU_Y_SPACING,11,0,disptext,0);
enddrawing(); enddrawing();
clearmidstatbar16(); clearmidstatbar16();
showframe(1); showframe(1);

View file

@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// this is checked against http://eduke32.com/VERSION // this is checked against http://eduke32.com/VERSION
#define BUILDDATE " 20080905" #define BUILDDATE " 20080912"
#define APPNAME "EDuke32" #define APPNAME "EDuke32"
#define VERSION " 1.5.0devel" #define VERSION " 1.5.0devel"
#define HEAD2 APPNAME VERSION BUILDDATE #define HEAD2 APPNAME VERSION BUILDDATE
@ -644,6 +644,7 @@ extern int packetrate;
extern int cachecount; extern int cachecount;
extern char boardfilename[BMAX_PATH],waterpal[768],slimepal[768],titlepal[768],drealms[768],endingpal[768],animpal[768]; extern char boardfilename[BMAX_PATH],waterpal[768],slimepal[768],titlepal[768],drealms[768],endingpal[768],animpal[768];
extern char currentboardfilename[BMAX_PATH];
extern char cachedebug,earthquaketime; extern char cachedebug,earthquaketime;
extern int networkmode; extern int networkmode;
extern char lumplockbyte[11]; extern char lumplockbyte[11];
@ -793,6 +794,7 @@ enum events {
EVENT_DISPLAYMENUREST, EVENT_DISPLAYMENUREST,
EVENT_DISPLAYLOADINGSCREEN, EVENT_DISPLAYLOADINGSCREEN,
EVENT_ANIMATESPRITES, EVENT_ANIMATESPRITES,
EVENT_NEWGAME,
MAXEVENTS MAXEVENTS
}; };

View file

@ -107,8 +107,8 @@ extern void savetemp(const char *fn,int daptr,int dasiz);
// extern int loadpheader(char spot,int32 *vn,int32 *ln,int32 *psk,int32 *numplr); // extern int loadpheader(char spot,int32 *vn,int32 *ln,int32 *psk,int32 *numplr);
extern int loadplayer(int spot); extern int loadplayer(int spot);
extern int saveplayer(int spot); extern int saveplayer(int spot);
extern int menutext_(int x,int y,int s,int p,char *t); extern int menutext_(int x,int y,int s,int p,char *t,int bits);
#define menutext(x,y,s,p,t) menutext_(x,y,s,p,(char *)stripcolorcodes(t,menutextbuf)) #define menutext(x,y,s,p,t) menutext_(x,y,s,p,(char *)stripcolorcodes(t,menutextbuf),10+16)
extern void menus(void); extern void menus(void);
extern void palto(int r,int g,int b,int e); extern void palto(int r,int g,int b,int e);
extern void playanm(const char *fn,char); extern void playanm(const char *fn,char);
@ -205,6 +205,7 @@ extern int minitext_(int x,int y,const char *t,int s,int p,int sb);
#define gametext(x,y,t,s,dabits) gametext_z(0,STARTALPHANUM, x,y,t,s,0,dabits,0, 0, xdim-1, ydim-1, 65536) #define gametext(x,y,t,s,dabits) gametext_z(0,STARTALPHANUM, x,y,t,s,0,dabits,0, 0, xdim-1, ydim-1, 65536)
#define gametextpal(x,y,t,s,p) gametext_z(0,STARTALPHANUM, x,y,t,s,p,26,0, 0, xdim-1, ydim-1, 65536) #define gametextpal(x,y,t,s,p) gametext_z(0,STARTALPHANUM, x,y,t,s,p,26,0, 0, xdim-1, ydim-1, 65536)
#define gametextpalbits(x,y,t,s,p,dabits) gametext_z(0,STARTALPHANUM, x,y,t,s,p,dabits,0, 0, xdim-1, ydim-1, 65536)
extern void setupdynamictostatic(); extern void setupdynamictostatic();
extern void processnames(const char *szLabel, int lValue); extern void processnames(const char *szLabel, int lValue);

View file

@ -81,7 +81,7 @@ static struct strllist
} }
*CommandPaths = NULL, *CommandGrps = NULL; *CommandPaths = NULL, *CommandGrps = NULL;
char boardfilename[BMAX_PATH] = {0}; char boardfilename[BMAX_PATH] = {0}, currentboardfilename[BMAX_PATH] = {0};
char root[BMAX_PATH]; char root[BMAX_PATH];
char waterpal[768], slimepal[768], titlepal[768], drealms[768], endingpal[768], animpal[768]; char waterpal[768], slimepal[768], titlepal[768], drealms[768], endingpal[768], animpal[768];
static char firstdemofile[80] = { '\0' }; static char firstdemofile[80] = { '\0' };
@ -153,6 +153,10 @@ int althud_numbertile = 2930;
int althud_numberpal = 0; int althud_numberpal = 0;
int althud_shadows = 1; int althud_shadows = 1;
int althud_flashing = 1; int althud_flashing = 1;
int hud_glowingquotes = 1;
int hud_showmapname = 1;
int leveltexttime = 0;
int kopen4loadfrommod(char *filename, char searchfirst) int kopen4loadfrommod(char *filename, char searchfirst)
{ {
@ -2745,9 +2749,16 @@ static void operatefta(void)
} }
j = g_player[screenpeek].ps->fta; j = g_player[screenpeek].ps->fta;
if (j > 4) gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],0,2+8+16); if (!hud_glowingquotes)
else if (j > 2) gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],0,2+8+16+1); {
else gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],0,2+8+16+1+32); if (j > 4) gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],0,2+8+16);
else if (j > 2) gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],0,2+8+16+1);
else gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],0,2+8+16+1+32);
return;
}
if (j > 4) gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],(sintable[(totalclock<<5)&2047]>>10),2+8+16);
else if (j > 2) gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],(sintable[(totalclock<<5)&2047]>>10),2+8+16+1);
else gametext(320>>1,k,fta_quotes[g_player[screenpeek].ps->ftq],(sintable[(totalclock<<5)&2047]>>10),2+8+16+1+32);
} }
void FTA(int q, player_struct *p) void FTA(int q, player_struct *p)
@ -3771,14 +3782,28 @@ void displayrest(int smoothratio)
SetGameVarID(g_iReturnVarID,0,g_player[screenpeek].ps->i,screenpeek); SetGameVarID(g_iReturnVarID,0,g_player[screenpeek].ps->i,screenpeek);
OnEvent(EVENT_DISPLAYSBAR, g_player[screenpeek].ps->i, screenpeek, -1); OnEvent(EVENT_DISPLAYSBAR, g_player[screenpeek].ps->i, screenpeek, -1);
// i = usehightile;
// if (r_downsize > 1)
// usehightile = 0;
if (GetGameVarID(g_iReturnVarID,g_player[screenpeek].ps->i,screenpeek) == 0) if (GetGameVarID(g_iReturnVarID,g_player[screenpeek].ps->i,screenpeek) == 0)
coolgaugetext(screenpeek); coolgaugetext(screenpeek);
operatefta(); operatefta();
// usehightile = i;
if (hud_showmapname && leveltexttime > 1)
{
int bits = 10+16;
if (leveltexttime > 4)
bits = bits;
else if (leveltexttime > 2)
bits |= 1;
else bits |= 1+32;
if (map[(ud.volume_number*MAXLEVELS) + ud.level_number].name != NULL)
{
if (currentboardfilename[0] != 0)
menutext_(160,75,(sintable[(totalclock<<5)&2047]>>11),0,currentboardfilename,bits);
else menutext_(160,75,(sintable[(totalclock<<5)&2047]>>11),0,map[(ud.volume_number*MAXLEVELS) + ud.level_number].name,bits);
}
}
if (KB_KeyPressed(sc_Escape) && ud.overhead_on == 0 if (KB_KeyPressed(sc_Escape) && ud.overhead_on == 0
&& ud.show_help == 0 && ud.show_help == 0
&& g_player[myconnectindex].ps->newowner == -1) && g_player[myconnectindex].ps->newowner == -1)
@ -9511,6 +9536,11 @@ static void checkcommandline(int argc, const char **argv)
i++; i++;
continue; continue;
} }
if (!Bstrcasecmp(c+1,"noinstancechecking"))
{
i++;
continue;
}
} }
if (firstnet > 0) if (firstnet > 0)
@ -10621,12 +10651,20 @@ void app_crashhandler(void)
void app_main(int argc,const char **argv) void app_main(int argc,const char **argv)
{ {
int i, j; int i = 0, j;
char cwd[BMAX_PATH]; char cwd[BMAX_PATH];
// extern char datetimestring[]; // extern char datetimestring[];
#ifdef RENDERTYPEWIN #ifdef RENDERTYPEWIN
if (win_checkinstance()) if (argc > 1)
{
for (;i<argc;i++)
{
if (Bstrcasecmp("-noinstancechecking",*(&argv[i])) == 0)
break;
}
}
if (i == argc && win_checkinstance())
{ {
if (!wm_ynbox("EDuke32","Another Build game is currently running. " if (!wm_ynbox("EDuke32","Another Build game is currently running. "
"Do you wish to continue starting this copy?")) "Do you wish to continue starting this copy?"))

View file

@ -477,6 +477,8 @@ const char *keyw[] =
"ifvarvarxor", // 340 "ifvarvarxor", // 340
"ifvareither", // 341 "ifvareither", // 341
"ifvarvareither", // 342 "ifvarvareither", // 342
"getarraysize", // 343
"savenn", // 344
"<null>" "<null>"
}; };
@ -1087,7 +1089,10 @@ static int increasescriptsize(int size)
newscript = (intptr_t *)Brealloc(script, g_ScriptSize * sizeof(intptr_t)); newscript = (intptr_t *)Brealloc(script, g_ScriptSize * sizeof(intptr_t));
if (newscript == NULL) // bitptr = (char *)Brealloc(bitptr, g_ScriptSize * sizeof(char));
newbitptr = Bcalloc(1,((size+7)>>3) * sizeof(char));
if (newscript == NULL || newbitptr == NULL)
{ {
ReportError(-1); ReportError(-1);
initprintf("%s:%d: out of memory: Aborted (%ud)\n",compilefile,line_number,(unsigned)(scriptptr-script)); initprintf("%s:%d: out of memory: Aborted (%ud)\n",compilefile,line_number,(unsigned)(scriptptr-script));
@ -1096,19 +1101,14 @@ static int increasescriptsize(int size)
return 1; return 1;
} }
// bitptr = (char *)Brealloc(bitptr, g_ScriptSize * sizeof(char)); if (size >= osize)
newbitptr = Bcalloc(1,((size+7)>>3) * sizeof(char));
if (size > osize)
{ {
Bmemset(&newscript[osize],0,(size-osize) * sizeof(intptr_t)); Bmemset(&newscript[osize],0,(size-osize) * sizeof(intptr_t));
// Bmemset(&bitptr[osize],0,size-osize); // Bmemset(&bitptr[osize],0,size-osize);
Bmemcpy(newbitptr,bitptr,sizeof(char) * ((osize+7)>>3)); Bmemcpy(newbitptr,bitptr,sizeof(char) * ((osize+7)>>3));
} }
else if (size < osize) else if (size < osize)
{
Bmemcpy(newbitptr,bitptr,sizeof(char) * ((size+7)>>3)); Bmemcpy(newbitptr,bitptr,sizeof(char) * ((size+7)>>3));
}
Bfree(bitptr); Bfree(bitptr);
bitptr = newbitptr; bitptr = newbitptr;
@ -2877,6 +2877,7 @@ static int parsecommand(void)
case CON_SLEEPTIME: case CON_SLEEPTIME:
case CON_CLIPDIST: case CON_CLIPDIST:
case CON_LOTSOFGLASS: case CON_LOTSOFGLASS:
case CON_SAVENN:
case CON_SAVE: case CON_SAVE:
if (!CheckEventSync(current_event)) if (!CheckEventSync(current_event))
{ {
@ -3788,6 +3789,7 @@ static int parsecommand(void)
textptr++; textptr++;
transvar(); transvar();
return 0; return 0;
case CON_GETARRAYSIZE:
case CON_RESIZEARRAY: case CON_RESIZEARRAY:
getlabel(); getlabel();
i=GetADefID(label+(labelcnt<<6)); i=GetADefID(label+(labelcnt<<6));
@ -5530,6 +5532,7 @@ static void AddDefaultDefinitions(void)
AddDefinition("EVENT_WEAPKEY9",EVENT_WEAPKEY9,LABEL_DEFINE); AddDefinition("EVENT_WEAPKEY9",EVENT_WEAPKEY9,LABEL_DEFINE);
AddDefinition("EVENT_KILLIT",EVENT_KILLIT,LABEL_DEFINE); AddDefinition("EVENT_KILLIT",EVENT_KILLIT,LABEL_DEFINE);
AddDefinition("EVENT_LOADACTOR",EVENT_LOADACTOR,LABEL_DEFINE); AddDefinition("EVENT_LOADACTOR",EVENT_LOADACTOR,LABEL_DEFINE);
AddDefinition("EVENT_NEWGAME",EVENT_NEWGAME,LABEL_DEFINE);
AddDefinition("STR_MAPNAME",STR_MAPNAME,LABEL_DEFINE); AddDefinition("STR_MAPNAME",STR_MAPNAME,LABEL_DEFINE);
AddDefinition("STR_MAPFILENAME",STR_MAPFILENAME,LABEL_DEFINE); AddDefinition("STR_MAPFILENAME",STR_MAPFILENAME,LABEL_DEFINE);

View file

@ -866,5 +866,7 @@ enum keywords
CON_IFVARVARXOR, // 340 CON_IFVARVARXOR, // 340
CON_IFVAREITHER, // 341 CON_IFVAREITHER, // 341
CON_IFVARVAREITHER, // 342 CON_IFVARVAREITHER, // 342
CON_GETARRAYSIZE, // 343
CON_SAVENN, // 344
CON_END CON_END
}; };

View file

@ -2513,7 +2513,7 @@ static int parse(void)
insptr++; insptr++;
g_sp->cstat = (short) *insptr++; g_sp->cstat = (short) *insptr++;
break; break;
case CON_SAVENN:
case CON_SAVE: case CON_SAVE:
insptr++; insptr++;
{ {
@ -2523,16 +2523,18 @@ static int parse(void)
if ((movesperpacket == 4 && connecthead != myconnectindex) || lastsavedpos > 9) if ((movesperpacket == 4 && connecthead != myconnectindex) || lastsavedpos > 9)
break; break;
if ((tw == CON_SAVE) || !(ud.savegame[lastsavedpos][0]))
curtime = time(NULL); {
Bstrcpy(tempbuf,asctime(localtime(&curtime))); curtime = time(NULL);
clearbuf(ud.savegame[lastsavedpos],sizeof(ud.savegame[lastsavedpos]),0); Bstrcpy(tempbuf,asctime(localtime(&curtime)));
Bsprintf(ud.savegame[lastsavedpos],"Auto"); clearbuf(ud.savegame[lastsavedpos],sizeof(ud.savegame[lastsavedpos]),0);
Bsprintf(ud.savegame[lastsavedpos],"Auto");
// for (j=0;j<13;j++) // for (j=0;j<13;j++)
// Bmemcpy(&ud.savegame[lastsavedpos][j+4],&tempbuf[j+3],sizeof(tempbuf[j+3])); // Bmemcpy(&ud.savegame[lastsavedpos][j+4],&tempbuf[j+3],sizeof(tempbuf[j+3]));
// ud.savegame[lastsavedpos][j+4] = '\0'; // ud.savegame[lastsavedpos][j+4] = '\0';
Bmemcpy(&ud.savegame[lastsavedpos][4],&tempbuf[3],sizeof(tempbuf[0])*13); Bmemcpy(&ud.savegame[lastsavedpos][4],&tempbuf[3],sizeof(tempbuf[0])*13);
ud.savegame[lastsavedpos][17] = '\0'; ud.savegame[lastsavedpos][17] = '\0';
}
OSD_Printf("Saving to slot %d\n",lastsavedpos); OSD_Printf("Saving to slot %d\n",lastsavedpos);
KB_FlushKeyboardQueue(); KB_FlushKeyboardQueue();
@ -3524,6 +3526,11 @@ static int parse(void)
aGameArrays[j].plValues[index]=value; aGameArrays[j].plValues[index]=value;
break; break;
} }
case CON_GETARRAYSIZE:
insptr++;
j=*insptr++;
SetGameVarID(*insptr++,aGameArrays[j].size, g_i, g_p);
break;
case CON_RESIZEARRAY: case CON_RESIZEARRAY:
insptr++; insptr++;

View file

@ -1331,6 +1331,8 @@ static void AddSystemVars()
AddGameVar("NUMWALLS",(intptr_t)&numwalls, GAMEVAR_FLAG_SYSTEM | GAMEVAR_FLAG_SHORTPTR | GAMEVAR_FLAG_READONLY); AddGameVar("NUMWALLS",(intptr_t)&numwalls, GAMEVAR_FLAG_SYSTEM | GAMEVAR_FLAG_SHORTPTR | GAMEVAR_FLAG_READONLY);
AddGameVar("NUMSECTORS",(intptr_t)&numsectors, GAMEVAR_FLAG_SYSTEM | GAMEVAR_FLAG_SHORTPTR | GAMEVAR_FLAG_READONLY); AddGameVar("NUMSECTORS",(intptr_t)&numsectors, GAMEVAR_FLAG_SYSTEM | GAMEVAR_FLAG_SHORTPTR | GAMEVAR_FLAG_READONLY);
AddGameVar("lastsavedpos",(intptr_t)&lastsavedpos, GAMEVAR_FLAG_SYSTEM | GAMEVAR_FLAG_INTPTR);
} }
void InitGameVars(void) void InitGameVars(void)

View file

@ -197,7 +197,7 @@ static inline int probesm(int x,int y,int i,int n)
return probe_(1,x,y,i,n); return probe_(1,x,y,i,n);
} }
int menutext_(int x,int y,int s,int p,char *t) int menutext_(int x,int y,int s,int p,char *t,int bits)
{ {
short i, ac, centre; short i, ac, centre;
// int ht = usehightile; // int ht = usehightile;
@ -311,7 +311,7 @@ int menutext_(int x,int y,int s,int p,char *t)
continue; continue;
} }
rotatesprite(x<<16,y<<16,65536L,0,ac,s,p,10+16,0,0,xdim-1,ydim-1); rotatesprite(x<<16,y<<16,65536L,0,ac,s,p,bits,0,0,xdim-1,ydim-1);
x += tilesizx[ac]; x += tilesizx[ac];
t++; t++;
@ -4720,7 +4720,7 @@ cheat_for_port_credits:
sprintf(tempbuf,"EPISODE: %-2d / LEVEL: %-2d / SKILL: %-2d",1+ud.volume_number,1+ud.level_number,ud.player_skill); sprintf(tempbuf,"EPISODE: %-2d / LEVEL: %-2d / SKILL: %-2d",1+ud.volume_number,1+ud.level_number,ud.player_skill);
mgametext(160,168,tempbuf,0,2+8+16); mgametext(160,168,tempbuf,0,2+8+16);
if (ud.volume_number == 0 && ud.level_number == 7) if (ud.volume_number == 0 && ud.level_number == 7)
mgametext(160,180,boardfilename,0,2+8+16); mgametext(160,180,currentboardfilename,0,2+8+16);
x = strget((320>>1),184,&ud.savegame[current_menu-360][0],19, 999); x = strget((320>>1),184,&ud.savegame[current_menu-360][0],19, 999);
@ -4806,7 +4806,7 @@ cheat_for_port_credits:
sprintf(tempbuf,"EPISODE: %-2d / LEVEL: %-2d / SKILL: %-2d",1+ud.volume_number,1+ud.level_number,ud.player_skill); sprintf(tempbuf,"EPISODE: %-2d / LEVEL: %-2d / SKILL: %-2d",1+ud.volume_number,1+ud.level_number,ud.player_skill);
mgametext(160,168,tempbuf,0,2+8+16); mgametext(160,168,tempbuf,0,2+8+16);
if (ud.volume_number == 0 && ud.level_number == 7) if (ud.volume_number == 0 && ud.level_number == 7)
mgametext(160,180,boardfilename,0,2+8+16); mgametext(160,180,currentboardfilename,0,2+8+16);
} }
switch (x) switch (x)

View file

@ -35,7 +35,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
extern int voting, doquicksave; extern int voting, doquicksave;
struct osdcmd_cheatsinfo osdcmd_cheatsinfo_stat; struct osdcmd_cheatsinfo osdcmd_cheatsinfo_stat;
float r_ambientlight = 1.0, r_ambientlightrecip = 1.0; float r_ambientlight = 1.0, r_ambientlightrecip = 1.0;
extern int althud_numbertile, althud_numberpal, althud_shadows, althud_flashing; extern int althud_numbertile, althud_numberpal, althud_shadows, althud_flashing, hud_glowingquotes;
extern int hud_showmapname;
static inline int osdcmd_quit(const osdfuncparm_t *parm) static inline int osdcmd_quit(const osdfuncparm_t *parm)
{ {
@ -708,6 +709,8 @@ cvarmappings cvar[] =
{ "hud_numberpal", "hud_numberpal: pal for alt hud numbers", (void*)&althud_numberpal, CVAR_INT, 0, 0, MAXPALOOKUPS }, { "hud_numberpal", "hud_numberpal: pal for alt hud numbers", (void*)&althud_numberpal, CVAR_INT, 0, 0, MAXPALOOKUPS },
{ "hud_shadows", "hud_shadows: enable/disable althud shadows", (void*)&althud_shadows, CVAR_BOOL, 0, 0, 1 }, { "hud_shadows", "hud_shadows: enable/disable althud shadows", (void*)&althud_shadows, CVAR_BOOL, 0, 0, 1 },
{ "hud_flashing", "hud_flashing: enable/disable althud flashing", (void*)&althud_flashing, CVAR_BOOL, 0, 0, 1 }, { "hud_flashing", "hud_flashing: enable/disable althud flashing", (void*)&althud_flashing, CVAR_BOOL, 0, 0, 1 },
{ "hud_glowingquotes", "hud_glowingquotes: enable/disable \"glowing\" quote text", (void*)&hud_glowingquotes, CVAR_BOOL, 0, 0, 1 },
{ "hud_showmapname", "hud_showmapname: enable/disable map name display on load", (void*)&hud_showmapname, CVAR_BOOL, 0, 0, 1 },
{ "cl_autoaim", "cl_autoaim: enable/disable weapon autoaim", (void*)&ud.config.AutoAim, CVAR_INT|CVAR_MULTI, 0, 0, 2 }, { "cl_autoaim", "cl_autoaim: enable/disable weapon autoaim", (void*)&ud.config.AutoAim, CVAR_INT|CVAR_MULTI, 0, 0, 2 },
{ "cl_automsg", "cl_automsg: enable/disable automatically sending messages to all players", (void*)&ud.automsg, CVAR_BOOL, 0, 0, 1 }, { "cl_automsg", "cl_automsg: enable/disable automatically sending messages to all players", (void*)&ud.automsg, CVAR_BOOL, 0, 0, 1 },
{ "cl_autovote", "cl_autovote: enable/disable automatic voting", (void*)&ud.autovote, CVAR_INT|CVAR_MULTI, 0, 0, 2 }, { "cl_autovote", "cl_autovote: enable/disable automatic voting", (void*)&ud.autovote, CVAR_INT|CVAR_MULTI, 0, 0, 2 },

View file

@ -39,6 +39,8 @@ int g_weapon_xoffset;
int32 turnheldtime; //MED int32 turnheldtime; //MED
int32 lastcontroltime; //MED int32 lastcontroltime; //MED
extern int leveltexttime;
void setpal(player_struct *p) void setpal(player_struct *p)
{ {
if (p->heat_on) p->palette = slimepal; if (p->heat_on) p->palette = slimepal;
@ -3523,6 +3525,9 @@ void processinput(int snum)
} }
} }
if (leveltexttime > 0)
leveltexttime--;
if (s->extra <= 0) if (s->extra <= 0)
{ {
if (p->dead_flag == 0) if (p->dead_flag == 0)

View file

@ -41,6 +41,7 @@ static char precachehightile[2][MAXTILES>>3];
static int precachecount; static int precachecount;
extern char *duke3dgrpstring; extern char *duke3dgrpstring;
extern int leveltexttime;
static void tloadtile(int tilenume, int type) static void tloadtile(int tilenume, int type)
{ {
@ -356,12 +357,12 @@ static void dofrontscreens(char *statustext)
} }
if (boardfilename[0] != 0 && ud.level_number == 7 && ud.volume_number == 0) if (boardfilename[0] != 0 && ud.level_number == 7 && ud.volume_number == 0)
{ {
menutext(160,90,0,0,"ENTERING USER MAP"); menutext(160,90,0,0,"LOADING USER MAP");
gametextpal(160,90+10,boardfilename,14,2); gametextpal(160,90+10,boardfilename,14,2);
} }
else else
{ {
menutext(160,90,0,0,"ENTERING"); menutext(160,90,0,0,"LOADING");
if (map[(ud.volume_number*MAXLEVELS) + ud.level_number].name != NULL) if (map[(ud.volume_number*MAXLEVELS) + ud.level_number].name != NULL)
menutext(160,90+16+8,0,0,map[(ud.volume_number*MAXLEVELS) + ud.level_number].name); menutext(160,90+16+8,0,0,map[(ud.volume_number*MAXLEVELS) + ud.level_number].name);
} }
@ -1290,6 +1291,7 @@ void newgame(int vn,int ln,int sk)
connecthead = 0; connecthead = 0;
connectpoint2[0] = -1; connectpoint2[0] = -1;
} }
OnEvent(EVENT_NEWGAME, g_player[screenpeek].ps->i, screenpeek, -1);
} }
int getteampal(int team) int getteampal(int team)
@ -1498,6 +1500,7 @@ void resettimevars(void)
ototalclock = 0L; ototalclock = 0L;
lockclock = 0L; lockclock = 0L;
ready2send = 1; ready2send = 1;
leveltexttime = 85;
} }
void waitforeverybody() void waitforeverybody()
@ -1867,6 +1870,8 @@ int enterlevel(int g)
//AddLog(g_szBuf); //AddLog(g_szBuf);
// variables are set by pointer... // variables are set by pointer...
Bmemcpy(&currentboardfilename[0],&boardfilename[0],BMAX_PATH);
OnEvent(EVENT_ENTERLEVEL, -1, -1, -1); OnEvent(EVENT_ENTERLEVEL, -1, -1, -1);
OSD_Printf(OSDTEXT_YELLOW "E%dL%d: %s\n",ud.volume_number+1,ud.level_number+1,map[(ud.volume_number*MAXLEVELS)+ud.level_number].name); OSD_Printf(OSDTEXT_YELLOW "E%dL%d: %s\n",ud.volume_number+1,ud.level_number+1,map[(ud.volume_number*MAXLEVELS)+ud.level_number].name);
return 0; return 0;

View file

@ -220,6 +220,7 @@ int loadplayer(int spot)
if (kdfread(&ud.level_number,sizeof(ud.level_number),1,fil) != 1) goto corrupt; if (kdfread(&ud.level_number,sizeof(ud.level_number),1,fil) != 1) goto corrupt;
if (kdfread(&ud.player_skill,sizeof(ud.player_skill),1,fil) != 1) goto corrupt; if (kdfread(&ud.player_skill,sizeof(ud.player_skill),1,fil) != 1) goto corrupt;
if (kdfread(&boardfilename[0],BMAX_PATH,1,fil) != 1) goto corrupt; if (kdfread(&boardfilename[0],BMAX_PATH,1,fil) != 1) goto corrupt;
Bmemcpy(&currentboardfilename[0],&boardfilename[0],BMAX_PATH);
ud.m_level_number = ud.level_number; ud.m_level_number = ud.level_number;
ud.m_volume_number = ud.volume_number; ud.m_volume_number = ud.volume_number;
@ -590,7 +591,7 @@ int saveplayer(int spot)
dfwrite(&ud.volume_number,sizeof(ud.volume_number),1,fil); dfwrite(&ud.volume_number,sizeof(ud.volume_number),1,fil);
dfwrite(&ud.level_number,sizeof(ud.level_number),1,fil); dfwrite(&ud.level_number,sizeof(ud.level_number),1,fil);
dfwrite(&ud.player_skill,sizeof(ud.player_skill),1,fil); dfwrite(&ud.player_skill,sizeof(ud.player_skill),1,fil);
dfwrite(&boardfilename[0],BMAX_PATH,1,fil); dfwrite(&currentboardfilename[0],BMAX_PATH,1,fil);
if (!waloff[TILE_SAVESHOT]) if (!waloff[TILE_SAVESHOT])
{ {
walock[TILE_SAVESHOT] = 254; walock[TILE_SAVESHOT] = 254;

View file

@ -2561,7 +2561,8 @@ void sharedkeys(int snum)
if (GetGameVarID(g_iReturnVarID,g_player[snum].ps->i,snum) == 0) if (GetGameVarID(g_iReturnVarID,g_player[snum].ps->i,snum) == 0)
{ {
p->quick_kick = 14; p->quick_kick = 14;
FTA(80,p); if (p->fta == 0 || p->ftq == 80)
FTA(80,p);
} }
} }