mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-16 09:21:36 +00:00
git-svn-id: https://svn.eduke32.com/eduke32@1120 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
a5eb2ea255
commit
b0ef9c1c2f
7 changed files with 175 additions and 78 deletions
|
@ -187,10 +187,10 @@ endif
|
|||
ifeq ($(PRETTY_OUTPUT),1)
|
||||
BUILD_STARTED = printf "\033[K\033[1;36mBuild started using \"$(CC) $(OURCFLAGS)\"\033[0m\n"
|
||||
BUILD_FINISHED = printf "\033[K\033[1;36mBuild successful:\033[0m\n"
|
||||
COMPILE_STATUS = printf "\033[K\033[0;37mBuilding object \033[1;37m$@\033[0;37m...\033[0m\r"
|
||||
COMPILE_STATUS = printf "\033[K\033[0mBuilding object \033[1m$@\033[0m...\033[0m\r"
|
||||
COMPILE_OK = printf "\033[K\033[0;32mBuilt object \033[1;32m$@\033[0;32m.\033[0m\n"
|
||||
COMPILE_FAILED = printf "\033[K\033[0;31mFailed building \033[1;31m$@\033[0;31m from\033[0m \033[1;31m$<\033[0;31m!\033[0m\n"; exit 1
|
||||
LINK_STATUS = printf "\033[K\033[0;37mLinking executable \033[1;37m$@\033[0;37m...\033[0m\r"
|
||||
LINK_STATUS = printf "\033[K\033[0;0mLinking executable \033[1m$@\033[0;0m...\033[0m\r"
|
||||
LINK_OK = printf "\033[K\033[0;32mLinked executable \033[1;32m$@\033[0;32m.\033[0m\n"
|
||||
LINK_FAILED = printf "\033[K\033[0;31mFailed linking executable \033[1;31m$@\033[0;31m!\033[0m\n"; exit 1
|
||||
else
|
||||
|
|
|
@ -2743,6 +2743,15 @@ void overheadeditor(void)
|
|||
|
||||
if (((bstatus&1) < (oldmousebstatus&1)) && (highlightsectorcnt < 0)) //after dragging
|
||||
{
|
||||
int wallsdrawn = newnumwalls-numwalls;
|
||||
|
||||
if (newnumwalls != -1)
|
||||
{
|
||||
newnumwalls = -1;
|
||||
Bmemcpy(&wall[MAXWALLS-wallsdrawn],&wall[numwalls],sizeof(walltype) * wallsdrawn);
|
||||
}
|
||||
else wallsdrawn = -1;
|
||||
|
||||
j = 1;
|
||||
if (highlightcnt > 0)
|
||||
for (i=0;i<highlightcnt;i++)
|
||||
|
@ -2795,12 +2804,33 @@ void overheadeditor(void)
|
|||
{
|
||||
if (wall[i].x == wall[wall[i].point2].x)
|
||||
if (wall[i].y == wall[wall[i].point2].y)
|
||||
{
|
||||
deletepoint((short)i);
|
||||
printmessage16("Point deleted.");
|
||||
asksave = 1;
|
||||
}
|
||||
if (sector[sectorofwall((short)i)].wallnum > 3)
|
||||
if (sector[sectorofwall(wall[i].point2)].wallnum > 3)
|
||||
if (!(wall[i].nextwall == -1 ||
|
||||
(sector[sectorofwall(wall[i].nextwall)].wallnum > 3 &&
|
||||
sector[sectorofwall(wall[wall[i].nextwall].point2)].wallnum > 3)))
|
||||
{
|
||||
printmessage16("Invalid operation, delete or join sector instead.");
|
||||
goto SKIP;
|
||||
}
|
||||
}
|
||||
|
||||
for (i=numwalls-1;i>=0;i--) //delete points
|
||||
{
|
||||
if (wall[i].x == wall[wall[i].point2].x)
|
||||
if (wall[i].y == wall[wall[i].point2].y)
|
||||
if (sector[sectorofwall((short)i)].wallnum > 3)
|
||||
if (sector[sectorofwall(wall[i].point2)].wallnum > 3)
|
||||
if (wall[i].nextwall == -1 ||
|
||||
(sector[sectorofwall(wall[i].nextwall)].wallnum > 3 &&
|
||||
sector[sectorofwall(wall[wall[i].nextwall].point2)].wallnum > 3))
|
||||
{
|
||||
deletepoint((short)i);
|
||||
printmessage16("Point deleted.");
|
||||
asksave = 1;
|
||||
}
|
||||
}
|
||||
|
||||
for (i=0;i<numwalls;i++) //make new red lines?
|
||||
{
|
||||
if ((wall[i].x == dax) && (wall[i].y == day))
|
||||
|
@ -2817,8 +2847,16 @@ void overheadeditor(void)
|
|||
}
|
||||
}
|
||||
|
||||
if (wallsdrawn != -1)
|
||||
{
|
||||
Bmemcpy(&wall[numwalls],&wall[MAXWALLS-wallsdrawn],sizeof(walltype) * wallsdrawn);
|
||||
newnumwalls = numwalls + wallsdrawn;
|
||||
for (i=numwalls;i<newnumwalls;i++)
|
||||
wall[i].point2 = i+1;
|
||||
}
|
||||
}
|
||||
|
||||
SKIP:
|
||||
if ((bstatus&1) > 0) //drag points
|
||||
{
|
||||
if (highlightsectorcnt > 0)
|
||||
|
@ -3030,9 +3068,9 @@ void overheadeditor(void)
|
|||
{
|
||||
gridlock = 1-gridlock, keystatus[0x26] = 0;
|
||||
if (gridlock == 0)
|
||||
printmessage16("Grid locking OFF");
|
||||
printmessage16("Grid locking off");
|
||||
else
|
||||
printmessage16("Grid locking ON");
|
||||
printmessage16("Grid locking on");
|
||||
}
|
||||
|
||||
if (keystatus[0x24]) // J (join sectors)
|
||||
|
@ -3040,12 +3078,58 @@ void overheadeditor(void)
|
|||
if (joinsector[0] >= 0)
|
||||
{
|
||||
joinsector[1] = -1;
|
||||
|
||||
for (i=0;i<numsectors;i++)
|
||||
{
|
||||
if (inside(mousxplc,mousyplc,i) == 1)
|
||||
{
|
||||
joinsector[1] = i;
|
||||
break;
|
||||
startwall = sector[i].wallptr;
|
||||
endwall = startwall + sector[i].wallnum - 1;
|
||||
for (j=startwall;j<=endwall;j++)
|
||||
{
|
||||
if (wall[j].nextsector == joinsector[0])
|
||||
break;
|
||||
}
|
||||
|
||||
if (j >= endwall)
|
||||
{
|
||||
printmessage16("Join non-adjacent sectors? (Y/N)");
|
||||
showframe(1);
|
||||
bflushchars(); ch = 0;
|
||||
while (keystatus[1] == 0)
|
||||
{
|
||||
if (handleevents())
|
||||
{
|
||||
if (quitevent)
|
||||
{
|
||||
quitevent = 0;
|
||||
}
|
||||
}
|
||||
idle();
|
||||
|
||||
ch = bgetchar();
|
||||
|
||||
if (ch == 'Y' || ch == 'y')
|
||||
{
|
||||
joinsector[1] = i;
|
||||
break;
|
||||
}
|
||||
else if (ch == 'N' || ch == 'n' || ch == 13 || ch == ' ')
|
||||
{
|
||||
joinsector[1] = joinsector[0];
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
joinsector[1] = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((joinsector[1] >= 0) && (joinsector[0] != joinsector[1]))
|
||||
{
|
||||
newnumwalls = numwalls;
|
||||
|
@ -4151,6 +4235,15 @@ void overheadeditor(void)
|
|||
}
|
||||
else if (linehighlight >= 0)
|
||||
{
|
||||
int wallsdrawn = newnumwalls-numwalls;
|
||||
|
||||
if (newnumwalls != -1)
|
||||
{
|
||||
newnumwalls = -1;
|
||||
Bmemcpy(&wall[MAXWALLS-wallsdrawn],&wall[numwalls],sizeof(walltype) * wallsdrawn);
|
||||
}
|
||||
else wallsdrawn = -1;
|
||||
|
||||
getclosestpointonwall(mousxplc,mousyplc,(int)linehighlight,&dax,&day);
|
||||
adjustmark(&dax,&day,newnumwalls);
|
||||
insertpoint(linehighlight,dax,day);
|
||||
|
@ -4190,6 +4283,14 @@ void overheadeditor(void)
|
|||
// }
|
||||
//}
|
||||
|
||||
if (wallsdrawn != -1)
|
||||
{
|
||||
Bmemcpy(&wall[numwalls],&wall[MAXWALLS-wallsdrawn],sizeof(walltype) * wallsdrawn);
|
||||
newnumwalls = numwalls + wallsdrawn;
|
||||
for (i=numwalls;i<newnumwalls;i++)
|
||||
wall[i].point2 = i+1;
|
||||
}
|
||||
|
||||
asksave = 1;
|
||||
}
|
||||
keystatus[0xd2] = keystatus[0x17] = 0;
|
||||
|
@ -6017,7 +6118,7 @@ void printcoords16(int posxe, int posye, short ange)
|
|||
char snotbuf[80];
|
||||
int i,m;
|
||||
|
||||
Bsprintf(snotbuf,"x=%d y=%d ang=%d",posxe,posye,ange);
|
||||
Bsprintf(snotbuf,"x:%d y:%d ang:%d",posxe,posye,ange);
|
||||
i = 0;
|
||||
while ((snotbuf[i] != 0) && (i < 30))
|
||||
i++;
|
||||
|
@ -6028,14 +6129,15 @@ void printcoords16(int posxe, int posye, short ange)
|
|||
}
|
||||
snotbuf[30] = 0;
|
||||
|
||||
printext16(8, ydim-STATUS2DSIZ+128, 9, 0, snotbuf,0);
|
||||
|
||||
m = (numsectors > MAXSECTORSV7 || numwalls > MAXWALLSV7 || numsprites > MAXSPRITESV7);
|
||||
|
||||
printext16(8, ydim-STATUS2DSIZ+128+2, 9, 0, snotbuf,0);
|
||||
|
||||
Bsprintf(snotbuf,"%d/%d sect. %d/%d walls %d/%d spri.",
|
||||
numsectors,m?MAXSECTORSV8:MAXSECTORSV7,
|
||||
numwalls,m?MAXWALLSV8:MAXWALLSV7,
|
||||
numsprites,m?MAXSPRITESV8:MAXSPRITESV7);
|
||||
numsectors,m?MAXSECTORSV8:MAXSECTORSV7,
|
||||
numwalls,m?MAXWALLSV8:MAXWALLSV7,
|
||||
numsprites,m?MAXSPRITESV8:MAXSPRITESV7);
|
||||
|
||||
i = 0;
|
||||
while ((snotbuf[i] != 0) && (i < 46))
|
||||
i++;
|
||||
|
|
|
@ -8003,11 +8003,10 @@ int loadpics(char *filename, int askedsize)
|
|||
artsize += ((dasiz+15)&0xfffffff0);
|
||||
}
|
||||
kclose(fil);
|
||||
|
||||
numtilefiles++;
|
||||
}
|
||||
numtilefiles++;
|
||||
}
|
||||
while (k != numtilefiles);
|
||||
while (k != numtilefiles && k < 64);
|
||||
|
||||
clearbuf(&gotpic[0],(int)((MAXTILES+31)>>5),0L);
|
||||
|
||||
|
@ -11140,8 +11139,8 @@ void draw2dscreen(int posxe, int posye, short ange, int zoome, short gride)
|
|||
|
||||
if (j < 0)
|
||||
{
|
||||
col = 7;
|
||||
if (i == linehighlight) if (totalclock & 16) col += (2<<2);
|
||||
col = 15;
|
||||
if (i == linehighlight) if (totalclock & 16) col -= (2<<2);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -44,7 +44,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include <shellapi.h>
|
||||
#endif
|
||||
|
||||
#define BUILDDATE " 20081024"
|
||||
#define BUILDDATE " 20081031"
|
||||
#define VERSION " 1.2.0devel"
|
||||
|
||||
static int floor_over_floor;
|
||||
|
|
|
@ -161,6 +161,10 @@ int leveltexttime = 0;
|
|||
int r_maxfps = 0;
|
||||
unsigned int g_FrameDelay = 0;
|
||||
|
||||
#ifdef RENDERTYPEWIN
|
||||
extern char forcegl;
|
||||
#endif
|
||||
|
||||
int kopen4loadfrommod(char *filename, char searchfirst)
|
||||
{
|
||||
static char fn[BMAX_PATH];
|
||||
|
@ -2604,73 +2608,47 @@ static void coolgaugetext(int snum)
|
|||
}
|
||||
}
|
||||
|
||||
#define AVERAGEFRAMES 128
|
||||
#define COLOR_RED 248
|
||||
#define COLOR_WHITE 31
|
||||
#define LOW_FPS 30
|
||||
|
||||
static void ShowFrameRate(void)
|
||||
{
|
||||
// adapted from ZDoom because I like it better than what we had
|
||||
// applicable ZDoom code available under GPL from csDoom
|
||||
if (ud.tickrate == 1)
|
||||
static int FrameCount = 0;
|
||||
static int LastCount = 0;
|
||||
static int LastSec = 0;
|
||||
static int LastMS = 0;
|
||||
int ms = getticks();
|
||||
int howlong = ms - LastMS;
|
||||
if (howlong >= 0)
|
||||
{
|
||||
static int FrameCount = 0;
|
||||
static int LastCount = 0;
|
||||
static int LastSec = 0;
|
||||
static int LastMS = 0;
|
||||
int ms = getticks();
|
||||
int howlong = ms - LastMS;
|
||||
if (howlong >= 0)
|
||||
int thisSec = ms/1000;
|
||||
int x = (xdim <= 640);
|
||||
if (ud.tickrate)
|
||||
{
|
||||
int thisSec = ms/1000;
|
||||
int x = (xdim <= 640);
|
||||
int chars = Bsprintf(tempbuf, "%2u ms (%3u fps)", howlong, LastCount);
|
||||
|
||||
printext256(windowx2-(chars<<(3-x))+1,windowy1+2,0,-1,tempbuf,x);
|
||||
printext256(windowx2-(chars<<(3-x)),windowy1+1,COLOR_WHITE,-1,tempbuf,x);
|
||||
printext256(windowx2-(chars<<(3-x)),windowy1+1,(LastCount < LOW_FPS) ? COLOR_RED : COLOR_WHITE,-1,tempbuf,x);
|
||||
|
||||
if (numplayers > 1)
|
||||
if ((totalclock - lastpackettime) > 1)
|
||||
{
|
||||
for (howlong = (totalclock - lastpackettime);howlong>0 && howlong<(xdim>>2);howlong--)
|
||||
printext256(4L*howlong,0,COLOR_WHITE,-1,".",0);
|
||||
}
|
||||
|
||||
if (LastSec < thisSec)
|
||||
if (numplayers > 1 && (totalclock - lastpackettime) > 1)
|
||||
{
|
||||
framerate = LastCount = FrameCount / (thisSec - LastSec);
|
||||
LastSec = thisSec;
|
||||
FrameCount = 0;
|
||||
for (howlong = (totalclock - lastpackettime);howlong>0 && howlong<(xdim>>2);howlong--)
|
||||
printext256(4L*howlong,0,COLOR_WHITE,-1,".",0);
|
||||
}
|
||||
FrameCount++;
|
||||
}
|
||||
LastMS = ms;
|
||||
}
|
||||
else if (ud.tickrate == 2)
|
||||
{
|
||||
static int frameval[AVERAGEFRAMES], framecnt = 0;
|
||||
|
||||
if (totalclock != frameval[framecnt])
|
||||
if (LastSec < thisSec)
|
||||
{
|
||||
int x = (xdim <= 640);
|
||||
int p = 32>>x;
|
||||
|
||||
framerate=(timer*AVERAGEFRAMES)/(totalclock-frameval[framecnt]);
|
||||
frameval[framecnt] = totalclock;
|
||||
|
||||
Bsprintf(tempbuf,"%4d",max(framerate,0));
|
||||
printext256(windowx2-p+1,windowy1+2,0,-1,tempbuf,x);
|
||||
printext256(windowx2-p,windowy1+1,(framerate < 40) ? COLOR_RED : COLOR_WHITE,-1,tempbuf,x);
|
||||
|
||||
if (numplayers > 1)
|
||||
if ((totalclock - lastpackettime) > 1)
|
||||
{
|
||||
for (p = (totalclock - lastpackettime);p>0 && p<(xdim>>2);p--)
|
||||
printext256(4L*p,0,COLOR_WHITE,-1,".",0);
|
||||
}
|
||||
framerate = LastCount = FrameCount / (thisSec - LastSec);
|
||||
LastSec = thisSec;
|
||||
FrameCount = 0;
|
||||
}
|
||||
framecnt = ((framecnt+1)&(AVERAGEFRAMES-1));
|
||||
FrameCount++;
|
||||
}
|
||||
LastMS = ms;
|
||||
}
|
||||
|
||||
static void ShowCoordinates(int snum)
|
||||
|
@ -3949,26 +3927,27 @@ void displayrest(int smoothratio)
|
|||
{
|
||||
if (ud.screen_size == 4)
|
||||
{
|
||||
i = scale(tilesizy[ud.althud ? SHIELD : INVENTORYBOX]+2,ud.statusbarscale,100);
|
||||
j = scale(scale(6,ud.config.ScreenWidth,320),ud.statusbarscale,100);
|
||||
i = scale(ud.althud?tilesizy[BIGALPHANUM]+10:tilesizy[INVENTORYBOX]+2,ud.statusbarscale,100);
|
||||
// j = scale(scale(6,ud.config.ScreenWidth,320),ud.statusbarscale,100);
|
||||
}
|
||||
else if (ud.screen_size > 2)
|
||||
{
|
||||
i = scale(tilesizy[BOTTOMSTATUSBAR]+1,ud.statusbarscale,100);
|
||||
j = scale(2,ud.config.ScreenWidth,320);
|
||||
// j = scale(2,ud.config.ScreenWidth,320);
|
||||
}
|
||||
else
|
||||
{
|
||||
i = 2;
|
||||
j = scale(2,ud.config.ScreenWidth,320);
|
||||
// j = scale(2,ud.config.ScreenWidth,320);
|
||||
}
|
||||
j = scale(2,ud.config.ScreenWidth,320);
|
||||
|
||||
Bsprintf(tempbuf,"T:^15%d:%02d.%02d",
|
||||
(g_player[myconnectindex].ps->player_par/(26*60)),
|
||||
(g_player[myconnectindex].ps->player_par/26)%60,
|
||||
((g_player[myconnectindex].ps->player_par%26)*38)/10
|
||||
);
|
||||
gametext_z(9,STARTALPHANUM, j,scale(200-i,ud.config.ScreenHeight,200)-7-7-7,tempbuf,0,10,26,0, 0, xdim-1, ydim-1, 65536);
|
||||
gametext_z(13,STARTALPHANUM, j,scale(200-i,ud.config.ScreenHeight,200)-textsc(21),tempbuf,0,10,26,0, 0, xdim-1, ydim-1, 65536);
|
||||
|
||||
if (ud.player_skill > 3 || (ud.multimode > 1 && !GTFLAGS(GAMETYPE_FLAG_PLAYERSFRIENDLY)))
|
||||
Bsprintf(tempbuf,"K:^15%d",(ud.multimode>1 &&!GTFLAGS(GAMETYPE_FLAG_PLAYERSFRIENDLY))?g_player[myconnectindex].ps->frag-g_player[myconnectindex].ps->fraggedself:g_player[myconnectindex].ps->actors_killed);
|
||||
|
@ -3983,12 +3962,12 @@ void displayrest(int smoothratio)
|
|||
g_player[myconnectindex].ps->max_actors_killed>g_player[myconnectindex].ps->actors_killed?
|
||||
g_player[myconnectindex].ps->max_actors_killed:g_player[myconnectindex].ps->actors_killed);
|
||||
}
|
||||
gametext_z(9,STARTALPHANUM, j,scale(200-i,ud.config.ScreenHeight,200)-7-7,tempbuf,0,10,26,0, 0, xdim-1, ydim-1, 65536);
|
||||
gametext_z(13,STARTALPHANUM, j,scale(200-i,ud.config.ScreenHeight,200)-textsc(14),tempbuf,0,10,26,0, 0, xdim-1, ydim-1, 65536);
|
||||
|
||||
if (g_player[myconnectindex].ps->secret_rooms == g_player[myconnectindex].ps->max_secret_rooms)
|
||||
Bsprintf(tempbuf,"S:%d/%d", g_player[myconnectindex].ps->secret_rooms,g_player[myconnectindex].ps->max_secret_rooms);
|
||||
else Bsprintf(tempbuf,"S:^15%d/%d", g_player[myconnectindex].ps->secret_rooms,g_player[myconnectindex].ps->max_secret_rooms);
|
||||
gametext_z(9,STARTALPHANUM, j,scale(200-i,ud.config.ScreenHeight,200)-7,tempbuf,0,10,26,0, 0, xdim-1, ydim-1, 65536);
|
||||
gametext_z(13,STARTALPHANUM, j,scale(200-i,ud.config.ScreenHeight,200)-textsc(7),tempbuf,0,10,26,0, 0, xdim-1, ydim-1, 65536);
|
||||
}
|
||||
|
||||
if (g_player[myconnectindex].ps->gm&MODE_TYPE)
|
||||
|
@ -9607,6 +9586,14 @@ static void checkcommandline(int argc, const char **argv)
|
|||
i++;
|
||||
continue;
|
||||
}
|
||||
#ifdef RENDERTYPEWIN
|
||||
if (!Bstrcasecmp(c+1,"forcegl"))
|
||||
{
|
||||
forcegl = 1;
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
if (firstnet > 0)
|
||||
|
@ -10774,6 +10761,10 @@ void app_main(int argc,const char **argv)
|
|||
|
||||
checkcommandline(argc,argv);
|
||||
|
||||
#ifdef RENDERTYPEWIN
|
||||
if (forcegl) initprintf("GL driver blacklist disabled.\n");
|
||||
#endif
|
||||
|
||||
g_player[0].ps = (player_struct *) Bcalloc(1, sizeof(player_struct));
|
||||
g_player[0].sync = (input_t *) Bcalloc(1, sizeof(input_t));
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
//-------------------------------------------------------------------------
|
||||
#include "duke3d.h"
|
||||
|
||||
char *s_builddate = "20081024";
|
||||
char *s_builddate = "20081031";
|
||||
char *MusicPtr = NULL;
|
||||
int Musicsize;
|
||||
|
||||
|
|
|
@ -1733,7 +1733,9 @@ int enterlevel(int g)
|
|||
p[2]='g';
|
||||
p[3]='g';
|
||||
p[4]=0;
|
||||
|
||||
fil = kopen4loadfrommod(levname,0);
|
||||
|
||||
if (fil > -1)
|
||||
{
|
||||
kclose(fil);
|
||||
|
@ -1748,11 +1750,14 @@ int enterlevel(int g)
|
|||
Bfree(map[ud.m_level_number].musicfn1);
|
||||
map[ud.m_level_number].musicfn1 = NULL;
|
||||
}
|
||||
|
||||
p[1]='m';
|
||||
p[2]='i';
|
||||
p[3]='d';
|
||||
p[4]=0;
|
||||
|
||||
fil = kopen4loadfrommod(levname,0);
|
||||
|
||||
if (fil == -1)
|
||||
Bsprintf(levname,"dethtoll.mid");
|
||||
else kclose(fil);
|
||||
|
|
Loading…
Reference in a new issue