Whitespace

git-svn-id: https://svn.eduke32.com/eduke32@109 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2006-04-24 19:04:22 +00:00
parent fe5671e812
commit 0d411e468e
35 changed files with 29034 additions and 29034 deletions

View file

@ -25,16 +25,16 @@ static long bpl, transmode = 0;
static long glogx, glogy, gbxinc, gbyinc, gpinc;
static char *gbuf, *gpal, *ghlinepal, *gtrans;
//Global variable functions
//Global variable functions
void setvlinebpl(long dabpl) { bpl = dabpl; }
void fixtransluscence(long datransoff) { gtrans = (char *)datransoff; }
void settransnormal(void) { transmode = 0; }
void settransreverse(void) { transmode = 1; }
//Ceiling/floor horizontal line functions
//Ceiling/floor horizontal line functions
void sethlinesizes(long logx, long logy, long bufplc)
{ glogx = logx; glogy = logy; gbuf = (char *)bufplc; }
{ glogx = logx; glogy = logy; gbuf = (char *)bufplc; }
void setpalookupaddress(char *paladdr) { ghlinepal = paladdr; }
void setuphlineasm4(long bxinc, long byinc) { gbxinc = bxinc; gbyinc = byinc; }
void hlineasm4(long cnt, long skiploadincs, long paloffs, unsigned long by, unsigned long bx, long p)
@ -53,7 +53,7 @@ void hlineasm4(long cnt, long skiploadincs, long paloffs, unsigned long by, unsi
}
//Sloped ceiling/floor vertical line functions
//Sloped ceiling/floor vertical line functions
void setupslopevlin(long logylogx, long bufplc, long pinc)
{
glogx = (logylogx&255); glogy = (logylogx>>8);
@ -78,7 +78,7 @@ void slopevlin(long p, long i, long slopaloffs, long cnt, long bx, long by)
}
//Wall,face sprite/wall sprite vertical line functions
//Wall,face sprite/wall sprite vertical line functions
void setupvlineasm(long neglogy) { glogy = neglogy; }
void vlineasm1(long vinc, long paloffs, long cnt, unsigned long vplc, long bufplc, long p)
{
@ -136,7 +136,7 @@ void tvlineasm1(long vinc, long paloffs, long cnt, unsigned long vplc, long bufp
}
}
//Floor sprite horizontal line functions
//Floor sprite horizontal line functions
void msethlineshift(long logx, long logy) { glogx = logx; glogy = logy; }
void mhline(long bufplc, unsigned long bx, long cntup16, long junk, unsigned long by, long p)
{
@ -186,7 +186,7 @@ void thline(long bufplc, unsigned long bx, long cntup16, long junk, unsigned lon
}
//Rotatesprite vertical line functions
//Rotatesprite vertical line functions
void setupspritevline(long paloffs, long bxinc, long byinc, long ysiz)
{
gpal = (char *)paloffs;
@ -206,7 +206,7 @@ void spritevline(long bx, long by, long cnt, long bufplc, long p)
}
}
//Rotatesprite vertical line functions
//Rotatesprite vertical line functions
void msetupspritevline(long paloffs, long bxinc, long byinc, long ysiz)
{
gpal = (char *)paloffs;
@ -266,7 +266,7 @@ void tspritevline(long bx, long by, long cnt, long bufplc, long p)
}
void setupdrawslab (long dabpl, long pal)
{ bpl = dabpl; gpal = (char *)pal; }
{ bpl = dabpl; gpal = (char *)pal; }
void drawslab (long dx, long v, long dy, long vi, long vptr, long p)
{

View file

@ -22,7 +22,7 @@ struct glinfo glinfo = {
0, // non-power-of-two textures
0, // multisampling
0, // nvidia multisampling hint
};
};
#endif
static int osdfunc_dumpbuildinfo(const osdfuncparm_t *parm)

View file

@ -21,11 +21,11 @@ static char tempbuf[256];
#define NUMOPTIONS 9
char option[NUMOPTIONS] = {0,0,0,0,0,0,1,0,0};
char keys[NUMBUILDKEYS] =
{
{
0xc8,0xd0,0xcb,0xcd,0x2a,0x9d,0x1d,0x39,
0x1e,0x2c,0xd1,0xc9,0x33,0x34,
0x9c,0x1c,0xd,0xc,0xf,0x45
};
};
@ -109,7 +109,7 @@ int ExtInit(void)
#endif
#ifdef _WIN32
// allowtaskswitching(0);
// allowtaskswitching(0);
#endif
return rv;
}
@ -173,7 +173,7 @@ void ExtPreCheckKeys(void)
if (keystatus[0xcf]) hang = max(hang-8,-182);
if (keystatus[0xc7]) hang = min(hang+8,182);
}
if (keystatus[0x4c]) { hang = 0; horiz = 100; }
if (keystatus[0x4c]) { hang = 0; horiz = 100; }
if (hang != 0)
{
walock[4094] = 255;
@ -527,7 +527,7 @@ void faketimerhandler(void)
sampletimer();
}
//Just thought you might want my getnumber16 code
//Just thought you might want my getnumber16 code
/*
getnumber16(char namestart[80], short num, long maxnumber)
{

View file

@ -57,11 +57,11 @@ void _printmessage16(char name[82]);
long vel, svel, angvel;
char buildkeys[NUMBUILDKEYS] =
{
{
0xc8,0xd0,0xcb,0xcd,0x2a,0x9d,0x1d,0x39,
0x1e,0x2c,0xd1,0xc9,0x33,0x34,
0x9c,0x1c,0xd,0xc,0xf,0x45
};
};
long posx, posy, posz, horiz = 100;
long mousexsurp = 0, mouseysurp = 0;
@ -135,7 +135,7 @@ static long fillist[640];
long mousx, mousy;
static char scantoasc[128] =
{
{
0,0,'1','2','3','4','5','6','7','8','9','0','-','=',0,0,
'q','w','e','r','t','y','u','i','o','p','[',']',0,0,'a','s',
'd','f','g','h','j','k','l',';',39,'`',0,92,'z','x','c','v',
@ -144,9 +144,9 @@ static char scantoasc[128] =
'2','3','0','.',0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
};
};
static char scantoascwithshift[128] =
{
{
0,0,'!','@','#','$','%','^','&','*','(',')','_','+',0,0,
'Q','W','E','R','T','Y','U','I','O','P','{','}',0,0,'A','S',
'D','F','G','H','J','K','L',':',34,'~',0,'|','Z','X','C','V',
@ -155,7 +155,7 @@ static char scantoascwithshift[128] =
'2','3','0','.',0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
};
};
@ -2714,7 +2714,7 @@ void overheadeditor(void)
Bsprintf(tempbuf,"Mapster32");
printext16(9L,ydim-STATUS2DSIZ+9L,4,-1,tempbuf,0);
printext16(8L,ydim-STATUS2DSIZ+8L,12,-1,tempbuf,0);
// printmessage16("Version: "VERSION);
// printmessage16("Version: "VERSION);
if (totalclock < 30) printmessage16("Press F1 for help");
drawline16(0,ydim-1-20,xdim-1,ydim-1-20,1);
drawline16(256,ydim-1-20,256,ydim-1,1);
@ -2789,7 +2789,7 @@ void overheadeditor(void)
if (searchy < 8) searchy = 8;
if (searchy > ydim-8-1) searchy = ydim-8-1;
/* if (keystatus[0x3b] > 0) posx--, keystatus[0x3b] = 0;
/* if (keystatus[0x3b] > 0) posx--, keystatus[0x3b] = 0;
if (keystatus[0x3c] > 0) posx++, keystatus[0x3c] = 0;
if (keystatus[0x3d] > 0) posy--, keystatus[0x3d] = 0;
if (keystatus[0x3e] > 0) posy++, keystatus[0x3e] = 0;
@ -3020,7 +3020,7 @@ void overheadeditor(void)
ExtCheckKeys(); // TX 20050101, it makes more sense to have this here so keys can be overwritten with new functions in bstub.c
// Flip/mirror sector Ed Coolidge
// Flip/mirror sector Ed Coolidge
if (keystatus[0x2d] > 0) // X (2D)
{
if (highlightsectorcnt > 0)
@ -3051,8 +3051,8 @@ void overheadeditor(void)
{
dax = ((dax+(1024>>grid))&(0xffffffff<<(11-grid)));
day = ((day+(1024>>grid))&(0xffffffff<<(11-grid)));
// dax = ((dax+(GRIDMAX>>grid))&(0xffffffff-(GRIDMAX>>(grid-1))+1));
// day = ((day+(GRIDMAX>>grid))&(0xffffffff-(GRIDMAX>>(grid-1))+1));
// dax = ((dax+(GRIDMAX>>grid))&(0xffffffff-(GRIDMAX>>(grid-1))+1));
// day = ((day+(GRIDMAX>>grid))&(0xffffffff-(GRIDMAX>>(grid-1))+1));
}
for(i=0;i<highlightsectorcnt;i++)
@ -3063,14 +3063,14 @@ void overheadeditor(void)
long numtoswap = -1;
long w=0;
walltype tempwall;
/*
/*
if (k != 0)
{
//mirror sector textures
sector[highlightsector[i]].ceilingstat ^= 0x10;
sector[highlightsector[i]].floorstat ^= 0x10;
}
*/
*/
//save position of wall at start of loop
x3 = wall[startofloop].x;
y3 = wall[startofloop].y;
@ -3168,8 +3168,8 @@ void overheadeditor(void)
{
dax = ((dax+(1024>>grid))&(0xffffffff<<(11-grid)));
day = ((day+(1024>>grid))&(0xffffffff<<(11-grid)));
// dax = ((dax+(GRIDMAX>>grid))&(0xffffffff-(GRIDMAX>>(grid-1))+1));
// day = ((day+(GRIDMAX>>grid))&(0xffffffff-(GRIDMAX>>(grid-1))+1));
// dax = ((dax+(GRIDMAX>>grid))&(0xffffffff-(GRIDMAX>>(grid-1))+1));
// day = ((day+(GRIDMAX>>grid))&(0xffffffff-(GRIDMAX>>(grid-1))+1));
}
for(i=0;i<highlightsectorcnt;i++)
@ -3180,14 +3180,14 @@ void overheadeditor(void)
long numtoswap = -1;
long w=0;
walltype tempwall;
/*
/*
if (k != 0)
{
//mirror sector textures
sector[highlightsector[i]].ceilingstat ^= 0x10;
sector[highlightsector[i]].floorstat ^= 0x10;
}
*/
*/
//save position of wall at start of loop
x3 = wall[startofloop].x;
y3 = wall[startofloop].y;
@ -3254,7 +3254,7 @@ void overheadeditor(void)
asksave = 1;
}
}
// end edit for sector flip
// end edit for sector flip
if (keystatus[88] > 0) //F12
{
@ -5388,7 +5388,7 @@ void overheadeditor(void)
else
printmessage16("Arrow must be inside a sector before entering 3D mode.");
}
CANCEL:
CANCEL:
if (keystatus[1] > 0)
{
keystatus[1] = 0;
@ -6251,7 +6251,7 @@ void clearmidstatbar16(void)
{
begindrawing();
ydim16 = ydim;
// clearbuf((char *)(frameplace + (bytesperline*(ydim-STATUS2DSIZ+25L))),(bytesperline*(STATUS2DSIZ-1-(25<<1))) >> 2, 0x08080808l);
// clearbuf((char *)(frameplace + (bytesperline*(ydim-STATUS2DSIZ+25L))),(bytesperline*(STATUS2DSIZ-1-(25<<1))) >> 2, 0x08080808l);
clearbuf((char *)(frameplace + (bytesperline*(ydim-STATUS2DSIZ+25L))),(bytesperline*(STATUS2DSIZ+2-(25<<1))) >> 2, 0x00000000l);
drawline16(0,ydim-STATUS2DSIZ,0,ydim-1,7);
drawline16(xdim-1,ydim-STATUS2DSIZ,xdim-1,ydim-1,7);
@ -7114,7 +7114,7 @@ void showwalldata(short wallnum)
day = wall[wallnum].y-wall[wall[wallnum].point2].y;
dist = ksqrt(dax*dax+day*day);
// TX 20050102 I'm not sure what unit dist<<4 is supposed to be, but dist itself is correct in terms of game coordinates as one would expect
// TX 20050102 I'm not sure what unit dist<<4 is supposed to be, but dist itself is correct in terms of game coordinates as one would expect
Bsprintf(snotbuf,"Wall length: %ld",dist);
printext16(400,ydim-STATUS2DSIZ+96,11,-1,snotbuf,0);
@ -7196,7 +7196,7 @@ void keytimerstuff(void)
}
if (keystatus[buildkeys[0]] > 0) vel = min(vel+8,127);
if (keystatus[buildkeys[1]] > 0) vel = max(vel-8,-128);
/* if (keystatus[buildkeys[12]] > 0) svel = min(svel+8,127);
/* if (keystatus[buildkeys[12]] > 0) svel = min(svel+8,127);
if (keystatus[buildkeys[13]] > 0) svel = max(svel-8,-128); */
if (angvel < 0) angvel = min(angvel+12,0);
@ -7259,7 +7259,7 @@ void printmessage256(char name[82])
printext256(0L,0L,whitecol,-1,snotbuf,0);
}
//Find closest point (*dax, *day) on wall (dawall) to (x, y)
//Find closest point (*dax, *day) on wall (dawall) to (x, y)
void getclosestpointonwall(long x, long y, long dawall, long *nx, long *ny)
{
walltype *wal;

View file

@ -15,8 +15,8 @@
#ifdef WITHKPLIB
#include "kplib.h"
//Insert '|' in front of filename
//Doing this tells kzopen to load the file only if inside a .ZIP file
//Insert '|' in front of filename
//Doing this tells kzopen to load the file only if inside a .ZIP file
static long kzipopen(char *filnam)
{
unsigned int i;
@ -164,7 +164,7 @@ void allocache(long *newhandle, long newbytes, char *newlockptr)
return;
}
if (*cac[bestz].lock == 0) { cac[bestz].leng += sucklen; return; }
if (*cac[bestz].lock == 0) { cac[bestz].leng += sucklen; return; }
cacnum++; if (cacnum > MAXCACHEOBJECTS) reportandexit("Too many objects in cache! (cacnum > MAXCACHEOBJECTS)");
for(z=cacnum-1;z>bestz;z--) cac[z] = cac[z-1];
@ -309,7 +309,7 @@ int findfrompath(const char *fn, char **where)
allocsiz += 1; // a nul
pfn = (char *)malloc(allocsiz);
if (!pfn) { free(ffn); return -1; }
if (!pfn) { free(ffn); return -1; }
strcpy(pfn, "./");
strcat(pfn, ffn);
@ -377,7 +377,7 @@ BFILE* fopenfrompath(const char *fn, const char *mode)
#define MAXOPENFILES 64 //Warning: Fix filehan if this is changed
static char toupperlookup[256] =
{
{
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,
@ -394,7 +394,7 @@ static char toupperlookup[256] =
0xd0,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xdb,0xdc,0xdd,0xde,0xdf,
0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xeb,0xec,0xed,0xee,0xef,
0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff
};
};
static long numgroupfiles = 0;
static long gnumfiles[MAXGROUPFILES];
@ -406,12 +406,12 @@ static long *gfileoffs[MAXGROUPFILES];
static char filegrp[MAXOPENFILES];
static long filepos[MAXOPENFILES];
static long filehan[MAXOPENFILES] =
{
{
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
};
};
#ifdef WITHKPLIB
static char filenamsav[MAXOPENFILES][260];
static long kzcurhand = -1;
@ -436,7 +436,7 @@ long initgroupfile(char *filename)
// check to see if the file passed is a ZIP and pass it on to kplib if it is
i = Bopen(zfn,BO_BINARY|BO_RDONLY,BS_IREAD);
if (i < 0) { free(zfn); return -1; }
if (i < 0) { free(zfn); return -1; }
Bread(i, buf, 4);
if (buf[0] == 0x50 && buf[1] == 0x4B && buf[2] == 0x03 && buf[3] == 0x04) {
@ -1021,7 +1021,7 @@ failure:
return NULL;
}
//Internal LZW variables
//Internal LZW variables
#define LZWSIZE 16384 //Watch out for shorts!
static char *lzwbuf1, *lzwbuf4, *lzwbuf5, lzwbuflock[5];
static short *lzwbuf2, *lzwbuf3;
@ -1042,7 +1042,7 @@ int kdfread(void *buffer, bsize_t dasizeof, bsize_t count, long fil)
if (lzwbuf4 == NULL) allocache((long *)&lzwbuf4,LZWSIZE,&lzwbuflock[3]);
if (lzwbuf5 == NULL) allocache((long *)&lzwbuf5,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[4]);
if (dasizeof > LZWSIZE) { count *= dasizeof; dasizeof = 1; }
if (dasizeof > LZWSIZE) { count *= dasizeof; dasizeof = 1; }
ptr = (char *)buffer;
if (kread(fil,&leng,2) != 2) return -1; leng = B_LITTLE16(leng);
@ -1081,7 +1081,7 @@ int dfread(void *buffer, bsize_t dasizeof, bsize_t count, BFILE *fil)
if (lzwbuf4 == NULL) allocache((long *)&lzwbuf4,LZWSIZE,&lzwbuflock[3]);
if (lzwbuf5 == NULL) allocache((long *)&lzwbuf5,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[4]);
if (dasizeof > LZWSIZE) { count *= dasizeof; dasizeof = 1; }
if (dasizeof > LZWSIZE) { count *= dasizeof; dasizeof = 1; }
ptr = (char *)buffer;
if (Bfread(&leng,2,1,fil) != 1) return -1; leng = B_LITTLE16(leng);
@ -1120,7 +1120,7 @@ void kdfwrite(void *buffer, bsize_t dasizeof, bsize_t count, long fil)
if (lzwbuf4 == NULL) allocache((long *)&lzwbuf4,LZWSIZE,&lzwbuflock[3]);
if (lzwbuf5 == NULL) allocache((long *)&lzwbuf5,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[4]);
if (dasizeof > LZWSIZE) { count *= dasizeof; dasizeof = 1; }
if (dasizeof > LZWSIZE) { count *= dasizeof; dasizeof = 1; }
ptr = (char *)buffer;
copybufbyte(ptr,lzwbuf4,(long)dasizeof);
@ -1164,7 +1164,7 @@ void dfwrite(void *buffer, bsize_t dasizeof, bsize_t count, BFILE *fil)
if (lzwbuf4 == NULL) allocache((long *)&lzwbuf4,LZWSIZE,&lzwbuflock[3]);
if (lzwbuf5 == NULL) allocache((long *)&lzwbuf5,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[4]);
if (dasizeof > LZWSIZE) { count *= dasizeof; dasizeof = 1; }
if (dasizeof > LZWSIZE) { count *= dasizeof; dasizeof = 1; }
ptr = (char *)buffer;
copybufbyte(ptr,lzwbuf4,(long)dasizeof);

View file

@ -327,13 +327,13 @@ char *Bgethomedir(void)
#ifdef _WIN32
TCHAR appdata[MAX_PATH];
//# if defined SHGetFolderPath
// if (SUCCEEDED(SHGetFolderPathA(NULL, CSIDL_APPDATA, NULL, 0, appdata)))
//# if defined SHGetSpecialFolderPath
//# if defined SHGetFolderPath
// if (SUCCEEDED(SHGetFolderPathA(NULL, CSIDL_APPDATA, NULL, 0, appdata)))
//# if defined SHGetSpecialFolderPath
if (SUCCEEDED(SHGetSpecialFolderPathA(NULL, appdata, CSIDL_APPDATA, FALSE)))
//# else
//# error Cannot find SHGetFolderPath or SHGetSpecialFolderPath. Perhaps your shlobj.h is ancient?
//# endif
//# else
//# error Cannot find SHGetFolderPath or SHGetSpecialFolderPath. Perhaps your shlobj.h is ancient?
//# endif
return strdup(appdata);
return NULL;
#else
@ -371,7 +371,7 @@ int Bcorrectfilename(char *filename, int removefn)
else tokarr[ntok++] = token;
} while (1);
if (!trailslash && removefn) { ntok = max(0,ntok-1); trailslash = 1; }
if (!trailslash && removefn) { ntok = max(0,ntok-1); trailslash = 1; }
if (ntok == 0 && trailslash && leadslash) trailslash = 0;
first = filename;
@ -565,11 +565,11 @@ struct Bdirent* Breaddir(BDIR *dir)
} else {
dirr->status++;
}
//# if defined(__WATCOMC__) || defined(__linux) || defined(__BEOS__) || defined(__QNX__) || defined(SKYOS)
//# if defined(__WATCOMC__) || defined(__linux) || defined(__BEOS__) || defined(__QNX__) || defined(SKYOS)
dirr->info.namlen = strlen(de->d_name);
//# else
// dirr->info.namlen = de->d_namlen;
//# endif
//# else
// dirr->info.namlen = de->d_namlen;
//# endif
dirr->info.name = de->d_name;
#endif
dirr->info.mode = 0;
@ -633,9 +633,9 @@ char *Bstrtoken(char *s, char *delim, char **ptrptr, int chop)
}
//Brute-force case-insensitive, slash-insensitive, * and ? wildcard matcher
//Given: string i and string j. string j can have wildcards
//Returns: 1:matches, 0:doesn't match
//Brute-force case-insensitive, slash-insensitive, * and ? wildcard matcher
//Given: string i and string j. string j can have wildcards
//Returns: 1:matches, 0:doesn't match
long Bwildmatch (const char *i, const char *j)
{
const char *k;
@ -668,7 +668,7 @@ char *Bstrlwr(char *s)
{
char *t = s;
if (!s) return s;
while (*t) { *t = Btolower(*t); t++; }
while (*t) { *t = Btolower(*t); t++; }
return s;
}
@ -676,7 +676,7 @@ char *Bstrupr(char *s)
{
char *t = s;
if (!s) return s;
while (*t) { *t = Btoupper(*t); t++; }
while (*t) { *t = Btoupper(*t); t++; }
return s;
}
#endif

View file

@ -106,7 +106,7 @@ int loadsetup(const char *fn)
if ((fp = Bfopen(fn, "rt")) == NULL) return -1;
if (readconfig(fp, "fullscreen", val, VL) > 0) { if (Batoi(val) != 0) fullscreen = 1; else fullscreen = 0; }
if (readconfig(fp, "fullscreen", val, VL) > 0) { if (Batoi(val) != 0) fullscreen = 1; else fullscreen = 0; }
if (readconfig(fp, "resolution", val, VL) > 0) {
i = Batoi(val) & 0x0f;
if ((unsigned)i<13) { xdimgame = xdim2d = vesares[i][0]; ydimgame = ydim2d = vesares[i][1]; }
@ -120,10 +120,10 @@ int loadsetup(const char *fn)
if (readconfig(fp, "xdim3d", val, VL) > 0) xdimgame = Batoi(val);
if (readconfig(fp, "ydim3d", val, VL) > 0) ydimgame = Batoi(val);
if (readconfig(fp, "samplerate", val, VL) > 0) option[7] = (Batoi(val) & 0x0f) << 4;
if (readconfig(fp, "music", val, VL) > 0) { if (Batoi(val) != 0) option[2] = 1; else option[2] = 0; }
if (readconfig(fp, "mouse", val, VL) > 0) { if (Batoi(val) != 0) option[3] = 1; else option[3] = 0; }
if (readconfig(fp, "music", val, VL) > 0) { if (Batoi(val) != 0) option[2] = 1; else option[2] = 0; }
if (readconfig(fp, "mouse", val, VL) > 0) { if (Batoi(val) != 0) option[3] = 1; else option[3] = 0; }
if (readconfig(fp, "bpp", val, VL) > 0) bppgame = Batoi(val);
if (readconfig(fp, "renderer", val, VL) > 0) { i = Batoi(val); setrendermode(i); }
if (readconfig(fp, "renderer", val, VL) > 0) { i = Batoi(val); setrendermode(i); }
if (readconfig(fp, "brightness", val, VL) > 0) brightness = min(max(Batoi(val),0),15);
#ifdef RENDERTYPEWIN
@ -176,7 +176,7 @@ int loadsetup(const char *fn)
if (readconfig(fp, "key2dzoomin", val, VL) > 0) keys[16] = Bstrtol(val, NULL, 16);
if (readconfig(fp, "key2dzoomout", val, VL) > 0) keys[17] = Bstrtol(val, NULL, 16);
if (readconfig(fp, "keychat", val, VL) > 0) keys[18] = Bstrtol(val, NULL, 16);
if (readconfig(fp, "keyconsole", val, VL) > 0) { keys[19] = Bstrtol(val, NULL, 16); OSD_CaptureKey(keys[19]); }
if (readconfig(fp, "keyconsole", val, VL) > 0) { keys[19] = Bstrtol(val, NULL, 16); OSD_CaptureKey(keys[19]); }
if (readconfig(fp, "mousesensitivity", val, VL) > 0) msens = Bstrtod(val, NULL);

View file

@ -65,7 +65,7 @@ enum {
typedef struct { char *text; int tokenid; } tokenlist;
static tokenlist basetokens[] =
{
{
{ "include", T_INCLUDE },
{ "#include", T_INCLUDE },
{ "define", T_DEFINE },
@ -104,7 +104,7 @@ static tokenlist basetokens[] =
{ "2dcol", T_2DCOL },
{ "fogpal", T_FOGPAL },
{ "loadgrp", T_LOADGRP },
};
};
static tokenlist modeltokens[] = {
{ "scale", T_SCALE },
@ -114,7 +114,7 @@ static tokenlist modeltokens[] = {
{ "anim", T_ANIM },
{ "skin", T_SKIN },
{ "hud", T_HUD },
};
};
static tokenlist modelframetokens[] = {
{ "frame", T_FRAME },
@ -122,21 +122,21 @@ static tokenlist modelframetokens[] = {
{ "tile", T_TILE },
{ "tile0", T_TILE0 },
{ "tile1", T_TILE1 },
};
};
static tokenlist modelanimtokens[] = {
{ "frame0", T_FRAME0 },
{ "frame1", T_FRAME1 },
{ "fps", T_FPS },
{ "flags", T_FLAGS },
};
};
static tokenlist modelskintokens[] = {
{ "pal", T_PAL },
{ "file", T_FILE },
{ "surf", T_SURF },
{ "surface",T_SURF },
};
};
static tokenlist modelhudtokens[] = {
{ "tile", T_TILE },
@ -150,14 +150,14 @@ static tokenlist modelhudtokens[] = {
{ "nobob", T_NOBOB },
{ "flipped",T_FLIPPED},
{ "nodepth",T_NODEPTH},
};
};
static tokenlist voxeltokens[] = {
{ "tile", T_TILE },
{ "tile0", T_TILE0 },
{ "tile1", T_TILE1 },
{ "scale", T_SCALE },
};
};
static tokenlist skyboxtokens[] = {
{ "tile" ,T_TILE },
@ -168,7 +168,7 @@ static tokenlist skyboxtokens[] = {
{ "lf" ,T_LEFT },{ "left" ,T_LEFT },{ "lt" ,T_LEFT },
{ "up" ,T_TOP },{ "top" ,T_TOP },{ "ceiling",T_TOP },{ "ceil" ,T_TOP },
{ "dn" ,T_BOTTOM },{ "bottom" ,T_BOTTOM },{ "floor" ,T_BOTTOM },{ "down" ,T_BOTTOM }
};
};
static tokenlist tinttokens[] = {
{ "pal", T_PAL },
@ -176,16 +176,16 @@ static tokenlist tinttokens[] = {
{ "green", T_GREEN },{ "g", T_GREEN },
{ "blue", T_BLUE },{ "b", T_BLUE },
{ "flags", T_FLAGS }
};
};
static tokenlist texturetokens[] = {
{ "pal", T_PAL },
};
};
static tokenlist texturetokens_pal[] = {
{ "file", T_FILE },{ "name", T_FILE },
{ "alphacut", T_ALPHACUT },
{ "nocompress",T_NOCOMPRESS },
};
};
static int getatoken(scriptfile *sf, tokenlist *tl, int ntokens)
{
@ -214,7 +214,7 @@ extern char vgapal16[4*256];
static const char *skyfaces[6] = {
"front face", "right face", "back face",
"left face", "top face", "bottom face"
};
};
static int defsparser(scriptfile *script)
{

View file

@ -56,7 +56,7 @@ long usevoxels = 1;
long novoxmips = 0;
long editorgridextent = 131072;
//These variables need to be copied into BUILD
//These variables need to be copied into BUILD
#define MAXXSIZ 256
#define MAXYSIZ 256
#define MAXZSIZ 255
@ -77,7 +77,7 @@ static long oxdimen = -1, oviewingrange = -1, oxyaspect = -1;
long curbrightness = 0, gammabrightness = 0;
//Textured Map variables
//Textured Map variables
static char globalpolytype;
static short *dotp1[MAXYDIM], *dotp2[MAXYDIM];
@ -102,7 +102,7 @@ static short radarang[1280], radarang2[MAXXDIM];
static unsigned short sqrtable[4096], shlookup[4096+256];
char pow2char[8] = {1,2,4,8,16,32,64,128};
long pow2long[32] =
{
{
1L,2L,4L,8L,
16L,32L,64L,128L,
256L,512L,1024L,2048L,
@ -111,7 +111,7 @@ long pow2long[32] =
1048576L,2097152L,4194304L,8388608L,
16777216L,33554432L,67108864L,134217728L,
268435456L,536870912L,1073741824L,2147483647L
};
};
long reciptable[2048], fpuasm;
char britable[16][256]; // JBF 20040207: full 8bit precision
@ -234,7 +234,7 @@ unsigned long nsqrtasm(unsigned long);
modify exact [eax ebx ecx]
long msqrtasm(unsigned long);
//0x007ff000 is (11<<13), 0x3f800000 is (127<<23)
//0x007ff000 is (11<<13), 0x3f800000 is (127<<23)
#pragma aux krecipasm =\
"mov fpuasm, eax",\
"fild dword ptr fpuasm",\
@ -350,7 +350,7 @@ static inline long msqrtasm(long c)
}
}
//0x007ff000 is (11<<13), 0x3f800000 is (127<<23)
//0x007ff000 is (11<<13), 0x3f800000 is (127<<23)
static inline long krecipasm(long a)
{
_asm {
@ -372,7 +372,7 @@ static inline long krecipasm(long a)
xor eax, ebx
pop ebx
}
}
}
static inline void setgotpic(long a)
{
@ -415,7 +415,7 @@ static inline long getclipmask(long a, long b, long c, long d)
xor eax, ebx
pop ebx
}
}
}
static inline long getkensmessagecrc(void *b)
{
@ -460,7 +460,7 @@ static inline long getkensmessagecrc(void *b)
: "=a" (__r) : "a" (__a) : "ebx", "ecx", "cc"); \
__r; })
// edx is blown by this code somehow?!
// edx is blown by this code somehow?!
#define msqrtasm(c) \
({ long __r, __c=(c); \
__asm__ __volatile__ ( \
@ -642,12 +642,12 @@ short numscans, numhits, numbunches;
static short posfil, capturecount = 0, hitcnt;
char vgapal16[4*256] =
{
{
00,00,00,00, 42,00,00,00, 00,42,00,00, 42,42,00,00, 00,00,42,00,
42,00,42,00, 00,21,42,00, 42,42,42,00, 21,21,21,00, 63,21,21,00,
21,63,21,00, 63,63,21,00, 21,21,63,00, 63,21,63,00, 21,63,63,00,
63,63,63,00
};
};
short editstatus = 0;
short searchit;
@ -1587,7 +1587,7 @@ static void ceilscan(long x1, long x2, long sectnum)
globaly1 = mulscale16(globaly1,viewingrangerecip);
globalxshift = (8-(picsiz[globalpicnum]&15));
globalyshift = (8-(picsiz[globalpicnum]>>4));
if (globalorientation&8) { globalxshift++; globalyshift++; }
if (globalorientation&8) { globalxshift++; globalyshift++; }
if ((globalorientation&0x4) > 0)
{
@ -1758,7 +1758,7 @@ static void florscan(long x1, long x2, long sectnum)
globaly1 = mulscale16(globaly1,viewingrangerecip);
globalxshift = (8-(picsiz[globalpicnum]&15));
globalyshift = (8-(picsiz[globalpicnum]>>4));
if (globalorientation&8) { globalxshift++; globalyshift++; }
if (globalorientation&8) { globalxshift++; globalyshift++; }
if ((globalorientation&0x4) > 0)
{
@ -2058,7 +2058,7 @@ static void transmaskvline2(long x)
short y1ve[2], y2ve[2];
if ((x < 0) || (x >= xdimen)) return;
if (x == xdimen-1) { transmaskvline(x); return; }
if (x == xdimen-1) { transmaskvline(x); return; }
x2 = x+1;
@ -2916,7 +2916,7 @@ static void drawvox(long dasprx, long daspry, long dasprz, long dasprang,
if (novoxmips) i = 0;
davoxptr = (char *)voxoff[daindex][i];
if (!davoxptr && i > 0) { davoxptr = (char *)voxoff[daindex][0]; i = 0; }
if (!davoxptr && i > 0) { davoxptr = (char *)voxoff[daindex][0]; i = 0; }
if (!davoxptr) return;
if (voxscale[daindex] == 65536)
@ -4453,8 +4453,8 @@ static long clippoly(long npoints, long clipstat)
//
// clippoly4 (internal)
//
//Assume npoints=4 with polygon on &nrx1,&nry1
//JBF 20031206: Thanks to Ken's hunting, s/(rx1|ry1|rx2|ry2)/n\1/ in this function
//Assume npoints=4 with polygon on &nrx1,&nry1
//JBF 20031206: Thanks to Ken's hunting, s/(rx1|ry1|rx2|ry2)/n\1/ in this function
static long clippoly4(long cx1, long cy1, long cx2, long cy2)
{
long n, nn, z, zz, x, x1, x2, y, y1, y2, t;
@ -4510,7 +4510,7 @@ static long clippoly4(long cx1, long cy1, long cx2, long cy2)
//
// dorotatesprite (internal)
//
//JBF 20031206: Thanks to Ken's hunting, s/(rx1|ry1|rx2|ry2)/n\1/ in this function
//JBF 20031206: Thanks to Ken's hunting, s/(rx1|ry1|rx2|ry2)/n\1/ in this function
static void dorotatesprite(long sx, long sy, long z, short a, short picnum, signed char dashade, char dapalnum, char dastat, long cx1, long cy1, long cx2, long cy2, long uniqid)
{
long cosang, sinang, v, nextv, dax1, dax2, oy, bx, by, ny1, ny2;
@ -4531,7 +4531,7 @@ static void dorotatesprite(long sx, long sy, long z, short a, short picnum, sign
if (cy2 > yres-1) cy2 = yres-1;
xsiz = tilesizx[picnum]; ysiz = tilesizy[picnum];
if (dastat&16) { xoff = 0; yoff = 0; }
if (dastat&16) { xoff = 0; yoff = 0; }
else
{
xoff = (long)((signed char)((picanm[picnum]>>8)&255))+(xsiz>>1);
@ -4646,7 +4646,7 @@ static void dorotatesprite(long sx, long sy, long z, short a, short picnum, sign
by = dmulscale16(x,yv2,y,yv);
if (dastat&4) { yv = -yv; yv2 = -yv2; by = (ysiz<<16)-1-by; }
/* if (origbuffermode == 0)
/* if (origbuffermode == 0)
{
if (dastat&128)
{
@ -4963,7 +4963,7 @@ static void dorotatesprite(long sx, long sy, long z, short a, short picnum, sign
#endif
/* if ((dastat&128) && (origbuffermode == 0))
/* if ((dastat&128) && (origbuffermode == 0))
{
buffermode = obuffermode;
setactivepage(activepage);
@ -5565,7 +5565,7 @@ void uninitengine(void)
uninitsystem();
if (artfil != -1) kclose(artfil);
if (transluc != NULL) { kkfree(transluc); transluc = NULL; }
if (transluc != NULL) { kkfree(transluc); transluc = NULL; }
if (pic != NULL) { kkfree(pic); pic = NULL; }
if (lookups != NULL)
{
@ -6843,7 +6843,7 @@ long loadoldboard(char *filename, char fromwhere, long *daposx, long *daposy, lo
}
kread(fil,&numwalls,2); numwalls = B_LITTLE16(numwalls);
if (numwalls > MAXWALLS) { kclose(fil); return(-1); }
if (numwalls > MAXWALLS) { kclose(fil); return(-1); }
for (i=0; i<numwalls; i++) {
switch (mapversion) {
case 5: kread(fil,&v5wall,sizeof(struct walltypev5));
@ -6882,7 +6882,7 @@ long loadoldboard(char *filename, char fromwhere, long *daposx, long *daposy, lo
}
kread(fil,&numsprites,2); numsprites = B_LITTLE16(numsprites);
if (numsprites > MAXSPRITES) { kclose(fil); return(-1); }
if (numsprites > MAXSPRITES) { kclose(fil); return(-1); }
for (i=0; i<numsprites; i++) {
switch (mapversion) {
case 5: kread(fil,&v5spr,sizeof(struct spritetypev5));
@ -7159,8 +7159,8 @@ long setgamemode(char davidoption, long daxdim, long daydim, long dabpp)
return(0);
strcpy(kensmessage,"!!!! BUILD engine&tools programmed by Ken Silverman of E.G. RI. (c) Copyright 1995 Ken Silverman. Summary: BUILD = Ken. !!!!");
// if (getkensmessagecrc(FP_OFF(kensmessage)) != 0x56c764d4)
// { printOSD("Nice try.\n"); exit(0); }
// if (getkensmessagecrc(FP_OFF(kensmessage)) != 0x56c764d4)
// { printOSD("Nice try.\n"); exit(0); }
//if (checkvideomode(&daxdim, &daydim, dabpp, davidoption)<0) return (-1);
@ -7205,7 +7205,7 @@ long setgamemode(char davidoption, long daxdim, long daydim, long dabpp)
clearallviews(0L);
setbrightness((char)curbrightness,(char *)&palette[0],0);
if (searchx < 0) { searchx = halfxdimen; searchy = (ydimen>>1); }
if (searchx < 0) { searchx = halfxdimen; searchy = (ydimen>>1); }
#if defined(POLYMOST) && defined(USE_OPENGL)
if (rendmode == 3) {
@ -9529,7 +9529,7 @@ char getpixel(long x, long y)
}
//MUST USE RESTOREFORDRAWROOMS AFTER DRAWING
//MUST USE RESTOREFORDRAWROOMS AFTER DRAWING
//
// setviewtotile
@ -9653,7 +9653,7 @@ void completemirror(void)
#endif
//Can't reverse with uninitialized data
if (inpreparemirror) { inpreparemirror = 0; return; }
if (inpreparemirror) { inpreparemirror = 0; return; }
if (mirrorsx1 > 0) mirrorsx1--;
if (mirrorsx2 < windowx2-windowx1-1) mirrorsx2++;
if (mirrorsx2 < mirrorsx1) return;

View file

@ -125,11 +125,11 @@ static long fvel2, svel2, avel2;
#define NUMKEYS 19
char option[NUMOPTIONS] = {0,0,0,0,0,0,1,0};
char keys[NUMKEYS] =
{
{
0xc8,0xd0,0xcb,0xcd,0x2a,0x9d,0x1d,0x39,
0x1e,0x2c,0xd1,0xc9,0x33,0x34,
0x9c,0x1c,0xd,0xc,0xf
};
};
long xdimgame = 320, ydimgame = 200, bppgame = 8, xdim2d = 640, ydim2d = 480; // JBF 20050318: config.c expects to find these
static long digihz[8] = {6000,8000,11025,16000,22050,32000,44100,48000};
@ -146,7 +146,7 @@ static long lavadropx[LAVAMAXDROPS], lavadropy[LAVAMAXDROPS];
static long lavadropsiz[LAVAMAXDROPS], lavadropsizlookup[LAVAMAXDROPS];
static long lavaradx[24][96], lavarady[24][96], lavaradcnt[32];
//Shared player variables
//Shared player variables
static long posx[MAXPLAYERS], posy[MAXPLAYERS], posz[MAXPLAYERS];
static long horiz[MAXPLAYERS], zoom[MAXPLAYERS], hvel[MAXPLAYERS];
static short ang[MAXPLAYERS], cursectnum[MAXPLAYERS], ocursectnum[MAXPLAYERS];
@ -162,7 +162,7 @@ static char revolvedoorstat[MAXPLAYERS];
static short revolvedoorang[MAXPLAYERS], revolvedoorrotang[MAXPLAYERS];
static long revolvedoorx[MAXPLAYERS], revolvedoory[MAXPLAYERS];
//ENGINE CONTROLLED MULTIPLAYER VARIABLES:
//ENGINE CONTROLLED MULTIPLAYER VARIABLES:
extern long numplayers, myconnectindex;
extern long connecthead, connectpoint2[MAXPLAYERS]; //Player linked list variables (indeces, not connection numbers)
@ -173,15 +173,15 @@ static long nummoves;
#define NUMSTATS 13
static signed char statrate[NUMSTATS] = {-1,0,-1,0,0,0,1,3,0,3,15,-1,-1};
//Input structures
//Input structures
static char networkmode; //0 is 2(n-1) mode, 1 is n(n-1) mode
static long locselectedgun, locselectedgun2;
static input loc, oloc, loc2;
static input ffsync[MAXPLAYERS], osync[MAXPLAYERS], ssync[MAXPLAYERS];
//Input faketimerhandler -> movethings fifo
//Input faketimerhandler -> movethings fifo
static long movefifoplc, movefifoend[MAXPLAYERS];
static input baksync[MOVEFIFOSIZ][MAXPLAYERS];
//Game recording variables
//Game recording variables
static long reccnt, recstat = 1;
static input recsync[16384][2];
@ -197,9 +197,9 @@ static long myxbak[MOVEFIFOSIZ], myybak[MOVEFIFOSIZ], myzbak[MOVEFIFOSIZ];
static long myhorizbak[MOVEFIFOSIZ];
static short myangbak[MOVEFIFOSIZ];
//MULTI.OBJ sync state variables
//MULTI.OBJ sync state variables
extern char syncstate;
//GAME.C sync state variables
//GAME.C sync state variables
static char syncstat, syncval[MOVEFIFOSIZ], othersyncval[MOVEFIFOSIZ];
static long syncvaltottail, syncvalhead, othersyncvalhead, syncvaltail;
@ -221,7 +221,7 @@ extern long cachecount;
static char playerreadyflag[MAXPLAYERS];
//Miscellaneous variables
//Miscellaneous variables
static char packbuf[MAXXDIM];
static char tempbuf[MAXXDIM], boardfilename[80];
static short tempshort[MAXSECTORS];
@ -233,10 +233,10 @@ static long lockclock, neartagdist, neartaghitdist;
extern long pageoffset, ydim16;
static long globhiz, globloz, globhihit, globlohit;
//Over the shoulder mode variables
//Over the shoulder mode variables
static long cameradist = -1, cameraang = 0, cameraclock = 0;
//Board animation variables
//Board animation variables
#define MAXMIRRORS 64
static short mirrorwall[MAXMIRRORS], mirrorsector[MAXMIRRORS], mirrorcnt;
static short floormirrorsector[64], floormirrorcnt;
@ -262,7 +262,7 @@ static long subwayx[4], subwaygoalstop[4], subwayvel[4], subwaypausetime[4];
static short waterfountainwall[MAXPLAYERS], waterfountaincnt[MAXPLAYERS];
static short slimesoundcnt[MAXPLAYERS];
//Variables that let you type messages to other player
//Variables that let you type messages to other player
static char getmessage[162], getmessageleng;
static long getmessagetimeoff;
static char typemessage[162], typemessageleng = 0, typemode = 0;
@ -291,15 +291,15 @@ static char scantoascwithshift[128] =
};
*/
//These variables are for animating x, y, or z-coordinates of sectors,
//walls, or sprites (They are NOT to be used for changing the [].picnum's)
//See the setanimation(), and getanimategoal() functions for more details.
//These variables are for animating x, y, or z-coordinates of sectors,
//walls, or sprites (They are NOT to be used for changing the [].picnum's)
//See the setanimation(), and getanimategoal() functions for more details.
#define MAXANIMATES 512
static long *animateptr[MAXANIMATES], animategoal[MAXANIMATES];
static long animatevel[MAXANIMATES], animateacc[MAXANIMATES], animatecnt = 0;
#if defined(POLYMOST) && defined(USE_OPENGL)
//These parameters are in exact order of sprite structure in BUILD.H
//These parameters are in exact order of sprite structure in BUILD.H
#define spawnsprite(newspriteindex2,x2,y2,z2,cstat2,shade2,pal2, \
clipdist2,xrepeat2,yrepeat2,xoffset2,yoffset2,picnum2,ang2, \
xvel2,yvel2,zvel2,owner2,sectnum2,statnum2,lotag2,hitag2,extra2) \
@ -605,7 +605,7 @@ long app_main(long argc, char *argv[])
OSD_DispatchQueued();
// backslash (useful only with KDM)
// if (keystatus[0x2b]) { keystatus[0x2b] = 0; preparesndbuf(); }
// if (keystatus[0x2b]) { keystatus[0x2b] = 0; preparesndbuf(); }
if ((networkmode == 1) || (myconnectindex != connecthead))
while (fakemovefifoplc != movefifoend[myconnectindex]) fakedomovethings();
@ -2738,9 +2738,9 @@ void statuslistcode(void)
if ((sprite[hitobject&4095].lotag == 5) && (sprite[i].picnum == GRABBER)) { // Basketball hoop (Andy's addition)
wsayfollow("niceshot.wav",3840L+(krand()&127)-64,256L,&sprite[i].x,&sprite[i].y,0);
switch (krand() & 63) {
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
sprite[i].picnum = COIN; break;
case 10: case 11: case 12: case 13: case 14: case 15: case 16:
case 10: case 11: case 12: case 13: case 14: case 15: case 16:
sprite[i].picnum = DIAMONDS; break;
case 17: case 18: case 19:
sprite[i].picnum = COINSTACK; break;
@ -4074,18 +4074,18 @@ void drawscreen(short snum, long dasmoothratio)
if (syncstat != 0) printext256(68L,84L,31,0,"OUT OF SYNC!",0);
if (syncstate != 0) printext256(68L,92L,31,0,"Missed Network packet!",0);
// //Uncomment this to test cache locks
//extern long cacnum;
//typedef struct { long *hand, leng; char *lock; } cactype;
//extern cactype cac[];
//
// j = 0;
// for(i=0;i<cacnum;i++)
// if ((*cac[i].lock) >= 200)
// {
// Bsprintf(tempbuf,"Locked- %ld: Leng:%ld, Lock:%ld",i,cac[i].leng,*cac[i].lock);
// printext256(0L,j,31,-1,tempbuf,1); j += 6;
// }
// //Uncomment this to test cache locks
//extern long cacnum;
//typedef struct { long *hand, leng; char *lock; } cactype;
//extern cactype cac[];
//
// j = 0;
// for(i=0;i<cacnum;i++)
// if ((*cac[i].lock) >= 200)
// {
// Bsprintf(tempbuf,"Locked- %ld: Leng:%ld, Lock:%ld",i,cac[i].leng,*cac[i].lock);
// printext256(0L,j,31,-1,tempbuf,1); j += 6;
// }
nextpage(); // send completed frame to display
@ -4332,7 +4332,7 @@ void fakedomovethings(void)
fakemovefifoplc = (fakemovefifoplc+1)&(MOVEFIFOSIZ-1);
}
//Prediction correction
//Prediction correction
void fakedomovethingscorrect(void)
{
long i;
@ -4554,12 +4554,12 @@ void getinput(void)
oldmousebstatus &= ~1; //Allow continous fire with mouse for chain gun
//PRIVATE KEYS:
/* if (keystatus[0xb7]) //Printscreen
/* if (keystatus[0xb7]) //Printscreen
{
keystatus[0xb7] = 0;
printscreeninterrupt();
}
*/
*/
if (keystatus[0x2f]) //V
{
keystatus[0x2f] = 0;
@ -4940,7 +4940,7 @@ inline long addlava(long b)
add al, byte ptr [ebx+1]
add al, dl
}
}
}
#elif defined(__GNUC__) && defined(__i386__)
inline long addlava(long b)
{
@ -6031,10 +6031,10 @@ void drawoverheadmap(long cposx, long cposy, long czoom, short cang)
}
}
//New movesprite using getzrange. Note that I made the getzrange
//parameters global (&globhiz,&globhihit,&globloz,&globlohit) so they
//don't need to be passed everywhere. Also this should make this
//movesprite function compatible with the older movesprite functions.
//New movesprite using getzrange. Note that I made the getzrange
//parameters global (&globhiz,&globhihit,&globloz,&globlohit) so they
//don't need to be passed everywhere. Also this should make this
//movesprite function compatible with the older movesprite functions.
long movesprite(short spritenum, long dx, long dy, long dz, long ceildist, long flordist, long clipmask)
{
long daz, zoffs, tempint;

View file

@ -55,7 +55,7 @@ static unsigned short SSWAPIL (unsigned short a) { return((a>>8)+(a<<8)); }
#include <dirent.h>
typedef long long __int64;
static __inline long _lrotl (long i, int sh)
{ return((i>>(-sh))|(i<<sh)); }
{ return((i>>(-sh))|(i<<sh)); }
static __inline long filelength (int h)
{
struct stat st;
@ -88,7 +88,7 @@ static __inline long filelength (int h)
#define _inline inline
#endif
//use GCC-specific extension to force symbol name to be something in particular to override underscoring.
//use GCC-specific extension to force symbol name to be something in particular to override underscoring.
#if defined(__GNUC__) && defined(__i386__) && !defined(NOASM)
#define ASMNAME(x) asm(x)
#else
@ -98,7 +98,7 @@ static __inline long filelength (int h)
static long frameplace, bytesperline, xres, yres, globxoffs, globyoffs;
static const long pow2mask[32] =
{
{
0x00000000,0x00000001,0x00000003,0x00000007,
0x0000000f,0x0000001f,0x0000003f,0x0000007f,
0x000000ff,0x000001ff,0x000003ff,0x000007ff,
@ -107,9 +107,9 @@ static const long pow2mask[32] =
0x000fffff,0x001fffff,0x003fffff,0x007fffff,
0x00ffffff,0x01ffffff,0x03ffffff,0x07ffffff,
0x0fffffff,0x1fffffff,0x3fffffff,0x7fffffff,
};
};
static const long pow2long[32] =
{
{
0x00000001,0x00000002,0x00000004,0x00000008,
0x00000010,0x00000020,0x00000040,0x00000080,
0x00000100,0x00000200,0x00000400,0x00000800,
@ -118,11 +118,11 @@ static const long pow2long[32] =
0x00100000,0x00200000,0x00400000,0x00800000,
0x01000000,0x02000000,0x04000000,0x08000000,
0x10000000,0x20000000,0x40000000,0x80000000,
};
};
//Hack for peekbits,getbits,suckbits (to prevent lots of duplicate code)
// 0: PNG: do 12-byte chunk_header removal hack
// !=0: ZIP: use 64K buffer (olinbuf)
//Hack for peekbits,getbits,suckbits (to prevent lots of duplicate code)
// 0: PNG: do 12-byte chunk_header removal hack
// !=0: ZIP: use 64K buffer (olinbuf)
static long zipfilmode;
typedef struct
{
@ -168,7 +168,7 @@ unsigned char coltype, bitdepth;
// * 16-bit color depth
// * Some useless ancillary chunks, like: gAMA(gamma) & pHYs(aspect ratio)
//.PNG specific variables:
//.PNG specific variables:
static long bakcol = 0xff808080, bakr = 0x80, bakg = 0x80, bakb = 0x80; //this used to be public...
static long gslidew = 0, gslider = 0, xm, xmn[4], xr0, xr1, xplc, yplc, nfplace;
static long clen[320], cclen[19], bitpos, filt, xsiz, ysiz;
@ -180,7 +180,7 @@ static unsigned char slidebuf[32768], opixbuf0[4], opixbuf1[4];
static unsigned char pnginited = 0, olinbuf[65536] ASMNAME("olinbuf"); //WARNING:max xres is: 65536/bpp-1
static long gotcmov = -2, abstab10[1024] ASMNAME("abstab10");
//Variables to speed up dynamic Huffman decoding:
//Variables to speed up dynamic Huffman decoding:
#define LOGQHUFSIZ0 9
#define LOGQHUFSIZ1 6
static long qhufval0[1<<LOGQHUFSIZ0], qhufval1[1<<LOGQHUFSIZ1];
@ -324,7 +324,7 @@ static _inline void cpuid (long a, long *s)
static inline unsigned long bswap (unsigned long a)
{
__asm__ __volatile__ ("bswap %0" : "+r" (a) : : "cc" );
__asm__ __volatile__ ("bswap %0" : "+r" (a) : : "cc" );
return a;
}
@ -362,8 +362,8 @@ static inline void cpuid (long a, long *s)
#endif
//Bit numbers of return value:
//0:FPU, 4:RDTSC, 15:CMOV, 22:MMX+, 23:MMX, 25:SSE, 26:SSE2, 30:3DNow!+, 31:3DNow!
//Bit numbers of return value:
//0:FPU, 4:RDTSC, 15:CMOV, 22:MMX+, 23:MMX, 25:SSE, 26:SSE2, 30:3DNow!+, 31:3DNow!
static long getcputype ()
{
long i, cpb[4], cpid[4];
@ -433,7 +433,7 @@ static long hufgetsym (long *hitab, long *hbmax)
return(hitab[hbmax[n]+v]);
}
//This did not result in a speed-up on P4-3.6Ghz (02/22/2005)
//This did not result in a speed-up on P4-3.6Ghz (02/22/2005)
//static long hufgetsym_skipb (long *hitab, long *hbmax, long n, long addit)
//{
// long v;
@ -486,10 +486,10 @@ static void qhufgencode (long *hitab, long *hbmax, long *qhval, unsigned char *q
//return(k);
}
//inbuf[inum] : Bit length of each symbol
//inum : Number of indices
//hitab[inum] : Indices from size-ordered list to original symbol
//hbmax[0-31] : Highest index (+1) of n-bit symbol
//inbuf[inum] : Bit length of each symbol
//inum : Number of indices
//hitab[inum] : Indices from size-ordered list to original symbol
//hbmax[0-31] : Highest index (+1) of n-bit symbol
static void hufgencode (long *inbuf, long inum, long *hitab, long *hbmax)
{
long i, tbuf[31];
@ -547,7 +547,7 @@ static long initpass () //Interlaced images have 7 "passes", non-interlaced have
xr0 = ixsiz-xr0;
xr1 = ixsiz-xr1;
if (coltype == 4) { xr0 = xr0*2; xr1 = xr1*2; }
if (coltype == 4) { xr0 = xr0*2; xr1 = xr1*2; }
else if (coltype == 2) { xr0 = xr0*3-2; xr1 = xr1*3-2; }
else if (coltype == 6) { xr0 = xr0*4-2; xr1 = xr1*4-2; }
else
@ -605,7 +605,7 @@ static inline void pal8hlineasm (long x, long xr1, long p, long ixstp)
#elif defined(__WATCOMC__)
//NOTE: cmov now has correctly ordered registers (thx to bug fix in 11.0c!)
//NOTE: cmov now has correctly ordered registers (thx to bug fix in 11.0c!)
long Paeth686 (long, long, long);
#pragma aux Paeth686 =\
".686"\
@ -624,7 +624,7 @@ long Paeth686 (long, long, long);
modify exact [ecx edx esi edi]\
value [ecx]
//Note: "cmove eax,?" may be faster than "jne ?:and eax,?" but who cares
//Note: "cmove eax,?" may be faster than "jne ?:and eax,?" but who cares
void rgbhlineasm (long, long, long, long);
#pragma aux rgbhlineasm =\
"sub ecx, edx"\
@ -723,7 +723,7 @@ static _inline void rgbhlineasm (long c, long d, long t, long b)
jnz short begit2
endit:
}
}
}
static _inline void pal8hlineasm (long c, long d, long t, long b)
{
@ -744,7 +744,7 @@ static _inline void pal8hlineasm (long c, long d, long t, long b)
jnz short begit
endit:
}
}
}
#elif defined(__GNUC__) && defined(__i386__)
@ -761,7 +761,7 @@ static inline long Paeth686 (long a, long b, long c)
return c;
}
//Note: "cmove eax,?" may be faster than "jne ?:and eax,?" but who cares
//Note: "cmove eax,?" may be faster than "jne ?:and eax,?" but who cares
static inline void rgbhlineasm (long c, long d, long t, long b)
{
__asm__ __volatile__ (
@ -1187,10 +1187,10 @@ static long kpngrend (const char *kfilebuf, long kfilength,
//============================= KPNGILIB ends ================================
//============================ KPEGILIB begins ===============================
//11/01/2000: This code was originally from KPEG.C
// All non 32-bit color drawing was removed
// "Motion" JPG code was removed
// A lot of parameters were added to kpeg() for library usage
//11/01/2000: This code was originally from KPEG.C
// All non 32-bit color drawing was removed
// "Motion" JPG code was removed
// A lot of parameters were added to kpeg() for library usage
static long kpeginited = 0;
static long clipxdim, clipydim;
@ -1514,7 +1514,7 @@ static long kpegrend (const char *kfilebuf, long kfilength,
//printf("fileoffs=%08x, marker=%02x,leng=%d",((long)kfileptr)-((long)kfilebuf)-2,marker,leng);
switch(marker)
{
case 0xc0: case 0xc1: case 0xc2:
case 0xc0: case 0xc1: case 0xc2:
//processit!
kfileptr++; //numbits = *kfileptr++;
@ -1894,7 +1894,7 @@ static long kgifrend (const char *kfilebuf, long kfilelength,
(kfilebuf[2] != 'F') || (kfilebuf[12])) return(-1);
paleng = (1<<((kfilebuf[10]&7)+1));
ptr = (unsigned char *)&kfilebuf[13];
if (kfilebuf[10]&128) { cptr = ptr; ptr += paleng*3; }
if (kfilebuf[10]&128) { cptr = ptr; ptr += paleng*3; }
transcol = -1;
while ((chunkind = *ptr++) == '!')
{ //! 0xf9 leng flags ?? ?? transcol
@ -1908,7 +1908,7 @@ static long kgifrend (const char *kfilebuf, long kfilelength,
yoff = SSWAPIB(*(unsigned short *)&ptr[2]);
xspan = SSWAPIB(*(unsigned short *)&ptr[4]);
yspan = SSWAPIB(*(unsigned short *)&ptr[6]); ptr += 9;
if (ptr[-1]&64) { yinc = 8; ilacefirst = 1; }
if (ptr[-1]&64) { yinc = 8; ilacefirst = 1; }
else { yinc = 1; ilacefirst = 0; }
if (ptr[-1]&128)
{
@ -2017,10 +2017,10 @@ static long kgifrend (const char *kfilebuf, long kfilelength,
//=============================== GIF ends ==================================
//============================== CEL begins =================================
// //old .CEL format:
//short id = 0x9119, xdim, ydim, xoff, yoff, id = 0x0008;
//long imagebytes, filler[4];
//char pal6bit[256][3], image[ydim][xdim];
// //old .CEL format:
//short id = 0x9119, xdim, ydim, xoff, yoff, id = 0x0008;
//long imagebytes, filler[4];
//char pal6bit[256][3], image[ydim][xdim];
static long kcelrend (const char *buf, long fleng,
long daframeplace, long dabytesperline, long daxres, long dayres,
long daglobxoffs, long daglobyoffs)
@ -2089,11 +2089,11 @@ static long ktgarend (const char *header, long fleng,
{
case 1: coltype = 0; bitdepth = 8; palcol[0] = LSWAPIB(0xff000000);
for(i=1;i<256;i++) palcol[i] = palcol[i-1]+LSWAPIB(0x10101); break;
case 2: case 3: coltype = 2; break;
case 2: case 3: coltype = 2; break;
case 4: coltype = 6; break;
}
if (!(header[17]&16)) { x0 = 0; x1 = xsiz; xi = 1; }
if (!(header[17]&16)) { x0 = 0; x1 = xsiz; xi = 1; }
else { x0 = xsiz-1; x1 = -1; xi =-1; }
if (header[17]&32) { y0 = 0; y1 = ysiz; yi = 1; pi = dabytesperline; }
else { y0 = ysiz-1; y1 = -1; yi =-1; pi =-dabytesperline; }
@ -2136,24 +2136,24 @@ static long ktgarend (const char *header, long fleng,
//============================== TARGA ends =================================
//============================== BMP begins =================================
//TODO: handle BI_RLE8 and BI_RLE4 (compression types 1&2 respectively)
// ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
// ³ 0(2): "BM" ³
// ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿³ 10(4): rastoff³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
// ³headsiz=12 (OS/2 1.x)³³ 14(4): headsiz³ ³ All new formats: ³
//ÚÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÁÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ 18(2): xsiz ³ 18(4): xsiz ³
//³ 20(2): ysiz ³ 22(4): ysiz ³
//³ 22(2): planes (always 1) ³ 26(2): planes (always 1) ³
//³ 24(2): cdim (1,4,8,24) ³ 28(2): cdim (1,4,8,16,24,32) ³
//³ if (cdim < 16) ³ 30(4): compression (0,1,2,3!?,4) ³
//³ 26(rastoff-14-headsiz): pal(bgr) ³ 34(4): (bitmap data size+3)&3 ³
//³ ³ 46(4): N colors (0=2^cdim) ³
//³ ³ if (cdim < 16) ³
//³ ³ 14+headsiz(rastoff-14-headsiz): pal(bgr0) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
// ³ rastoff(?): bitmap data ³
// ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
//TODO: handle BI_RLE8 and BI_RLE4 (compression types 1&2 respectively)
// ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
// ³ 0(2): "BM" ³
// ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿³ 10(4): rastoff³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
// ³headsiz=12 (OS/2 1.x)³³ 14(4): headsiz³ ³ All new formats: ³
//ÚÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÁÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÁÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ 18(2): xsiz ³ 18(4): xsiz ³
//³ 20(2): ysiz ³ 22(4): ysiz ³
//³ 22(2): planes (always 1) ³ 26(2): planes (always 1) ³
//³ 24(2): cdim (1,4,8,24) ³ 28(2): cdim (1,4,8,16,24,32) ³
//³ if (cdim < 16) ³ 30(4): compression (0,1,2,3!?,4) ³
//³ 26(rastoff-14-headsiz): pal(bgr) ³ 34(4): (bitmap data size+3)&3 ³
//³ ³ 46(4): N colors (0=2^cdim) ³
//³ ³ if (cdim < 16) ³
//³ ³ 14+headsiz(rastoff-14-headsiz): pal(bgr0) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
// ³ rastoff(?): bitmap data ³
// ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
static long kbmprend (const char *buf, long fleng,
long daframeplace, long dabytesperline, long daxres, long dayres,
long daglobxoffs, long daglobyoffs)
@ -2227,7 +2227,7 @@ static long kbmprend (const char *buf, long fleng,
}
cptrinc = (((xsiz*cdim+31)>>3)&~3); cptr = &buf[rastoff];
if (ysiz < 0) { ysiz = -ysiz; } else { cptr = &cptr[(ysiz-1)*cptrinc]; cptrinc = -cptrinc; }
if (ysiz < 0) { ysiz = -ysiz; } else { cptr = &cptr[(ysiz-1)*cptrinc]; cptrinc = -cptrinc; }
x0 = daglobxoffs; x1 = xsiz+daglobxoffs;
y0 = daglobyoffs; y1 = ysiz+daglobyoffs;
@ -2264,7 +2264,7 @@ static long kbmprend (const char *buf, long fleng,
return(0);
}
//Note: currently only supports 8 and 24 bit PCX
//Note: currently only supports 8 and 24 bit PCX
static long kpcxrend (const char *buf, long fleng,
long daframeplace, long dabytesperline, long daxres, long dayres,
long daglobxoffs, long daglobyoffs)
@ -2458,9 +2458,9 @@ long kprender (const char *buf, long leng, long frameptr, long bpl,
//==================== External picture interface ends =======================
//Brute-force case-insensitive, slash-insensitive, * and ? wildcard matcher
//Given: string i and string j. string j can have wildcards
//Returns: 1:matches, 0:doesn't match
//Brute-force case-insensitive, slash-insensitive, * and ? wildcard matcher
//Given: string i and string j. string j can have wildcards
//Returns: 1:matches, 0:doesn't match
static long wildmatch (const char *i, const char *j)
{
const char *k;
@ -2486,7 +2486,7 @@ static long wildmatch (const char *i, const char *j)
return(!*i);
}
//Same as: stricmp(st0,st1) except: '/' == '\'
//Same as: stricmp(st0,st1) except: '/' == '\'
static long filnamcmp (const char *st0, const char *st1)
{
long i;
@ -2506,15 +2506,15 @@ static long filnamcmp (const char *st0, const char *st1)
//===================== ZIP decompression code begins ========================
//format: (used by kzaddstack/kzopen to cache file name&start info)
//[char zipnam[?]\0]
//[next hashindex/-1][next index/-1][zipnam index][zipseek][char filnam[?]\0]
//[next hashindex/-1][next index/-1][zipnam index][zipseek][char filnam[?]\0]
//...
//[char zipnam[?]\0]
//[next hashindex/-1][next index/-1][zipnam index][zipseek][char filnam[?]\0]
//[next hashindex/-1][next index/-1][zipnam index][zipseek][char filnam[?]\0]
//...
//format: (used by kzaddstack/kzopen to cache file name&start info)
//[char zipnam[?]\0]
//[next hashindex/-1][next index/-1][zipnam index][zipseek][char filnam[?]\0]
//[next hashindex/-1][next index/-1][zipnam index][zipseek][char filnam[?]\0]
//...
//[char zipnam[?]\0]
//[next hashindex/-1][next index/-1][zipnam index][zipseek][char filnam[?]\0]
//[next hashindex/-1][next index/-1][zipnam index][zipseek][char filnam[?]\0]
//...
#define KZHASHINITSIZE 8192
static char *kzhashbuf = 0;
static long kzhashead[256], kzhashpos, kzlastfnam, kzhashsiz;
@ -2575,7 +2575,7 @@ void kzuninit ()
kzhashpos = kzhashsiz = 0;
}
//Load ZIP directory into memory (hash) to allow fast access later
//Load ZIP directory into memory (hash) to allow fast access later
long kzaddstack (const char *zipnam)
{
FILE *fil;
@ -2585,7 +2585,7 @@ long kzaddstack (const char *zipnam)
fil = fopen(zipnam,"rb"); if (!fil) return(-1);
//Write ZIP filename to hash
i = strlen(zipnam)+1; if (!kzcheckhashsiz(i)) { fclose(fil); return(-1); }
i = strlen(zipnam)+1; if (!kzcheckhashsiz(i)) { fclose(fil); return(-1); }
strcpy(&kzhashbuf[kzhashpos],zipnam);
zipnamoffs = kzhashpos; kzhashpos += i;
@ -2847,7 +2847,7 @@ static void putbuf4zip (const unsigned char *buf, long uncomp0, long uncomp1)
if (i0 < i1) memcpy(&gzbufptr[i0],&buf[i0-uncomp0],i1-i0);
}
//returns number of bytes copied
//returns number of bytes copied
long kzread (void *buffer, long leng)
{
long i, j, k, bfinal, btype, hlit, hdist;
@ -3053,8 +3053,8 @@ long kzfilelength ()
return(kzfs.leng);
}
//WARNING: kzseek(<-32768,SEEK_CUR); or:
// kzseek(0,SEEK_END); can make next kzread very slow!!!
//WARNING: kzseek(<-32768,SEEK_CUR); or:
// kzseek(0,SEEK_END); can make next kzread very slow!!!
long kzseek (long offset, long whence)
{
if (!kzfs.fil) return(-1);
@ -3062,7 +3062,7 @@ long kzseek (long offset, long whence)
{
case SEEK_CUR: kzfs.pos += offset; break;
case SEEK_END: kzfs.pos = kzfs.leng+offset; break;
case SEEK_SET: default: kzfs.pos = offset;
case SEEK_SET: default: kzfs.pos = offset;
}
if (kzfs.pos < 0) kzfs.pos = 0;
if (kzfs.pos > kzfs.leng) kzfs.pos = kzfs.leng;
@ -3110,7 +3110,7 @@ void kpzload (const char *filnam, long *pic, long *bpl, long *xsiz, long *ysiz)
kpgetdim(buf,leng,xsiz,ysiz);
(*bpl) = ((*xsiz)<<2);
(*pic) = (long)malloc((*ysiz)*(*bpl)); if (!(*pic)) { free(buf); return; }
(*pic) = (long)malloc((*ysiz)*(*bpl)); if (!(*pic)) { free(buf); return; }
if (kprender(buf,leng,*pic,*bpl,*xsiz,*ysiz,0,0) < 0) { free(buf); free((void *)*pic); (*pic) = 0; return; }
free(buf);
}

View file

@ -18,7 +18,7 @@ long lzwcompress (unsigned char *ucompbuf, long ucompleng, unsigned char *compbu
unsigned char *nodev, *cptr, *eptr;
nodev = (unsigned char *)malloc((ucompleng+256)*sizeof(char)); if (!nodev) return(0);
child = (long *)malloc((ucompleng+256)*sizeof(long)); if (!child) { free(nodev); return(0); }
child = (long *)malloc((ucompleng+256)*sizeof(long)); if (!child) { free(nodev); return(0); }
sibly = (long *)malloc((ucompleng+256)*sizeof(long)); if (!sibly) { free(child); free(nodev); return(0); }
#if USENEW
sibry = (long *)malloc((ucompleng+256)*sizeof(long)); if (!sibry) { free(sibly); free(child); free(nodev); return(0); }
@ -68,7 +68,7 @@ lzwcompbreak2b: child[numnodes] = sibly[numnodes] = -1;
free(child); free(nodev);
lptr = (long *)compbuf;
if (((bitcnt+7)>>3) < ucompleng) { lptr[0] = LSWAPIB(numnodes); return((bitcnt+7)>>3); }
if (((bitcnt+7)>>3) < ucompleng) { lptr[0] = LSWAPIB(numnodes); return((bitcnt+7)>>3); }
memcpy(compbuf,ucompbuf,ucompleng); return(ucompleng);
}
@ -83,7 +83,7 @@ long lzwuncompress (unsigned char *compbuf, long compleng, unsigned char *ucompb
totnodes = LSWAPIB(((long *)compbuf)[0]); if (totnodes <= 0 || totnodes >= ucompleng+256) return 0;
prefix = (long *)malloc(totnodes*sizeof(long)); if (!prefix) return 0;
suffix = (unsigned char *)malloc(totnodes*sizeof(char)); if (!suffix) { free(prefix); return 0; }
suffix = (unsigned char *)malloc(totnodes*sizeof(char)); if (!suffix) { free(prefix); return 0; }
numnodes = 256; bitcnt = (4<<3); nbits = 8; oneupnbits = (1<<8); hmask = ((oneupnbits>>1)-1);
do

View file

@ -56,7 +56,7 @@ static unsigned char PADDING[64] = {
0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
};
/* F, G and H are basic MD4 functions.
*/

View file

@ -33,11 +33,11 @@ typedef struct _mdskinmap_t
} mdskinmap_t;
//This MD2 code is based on the source code from David Henry (tfc_duke(at)hotmail.com)
// Was at http://tfc.duke.free.fr/us/tutorials/models/md2.htm
// Available from http://web.archive.org/web/20030816010242/http://tfc.duke.free.fr/us/tutorials/models/md2.htm
// Now at http://tfc.duke.free.fr/coding/md2.html (in French)
//He probably wouldn't recognize it if he looked at it though :)
//This MD2 code is based on the source code from David Henry (tfc_duke(at)hotmail.com)
// Was at http://tfc.duke.free.fr/us/tutorials/models/md2.htm
// Available from http://web.archive.org/web/20030816010242/http://tfc.duke.free.fr/us/tutorials/models/md2.htm
// Now at http://tfc.duke.free.fr/coding/md2.html (in French)
//He probably wouldn't recognize it if he looked at it though :)
typedef struct { float x, y, z; } point3d;
typedef struct
@ -171,7 +171,7 @@ typedef struct
} tile2model_t;
static tile2model_t tile2model[MAXTILES];
//Move this to appropriate place!
//Move this to appropriate place!
typedef struct { float xadd, yadd, zadd; short angadd, flags; } hudtyp;
hudtyp hudmem[2][MAXTILES]; //~320KB ... ok for now ... could replace with dynamic alloc
@ -648,7 +648,7 @@ failure:
}
// --------------------------------------------------- JONOF'S COMPRESSED TEXTURE CACHE STUFF
//Note: even though it says md2model, it works for both md2model&md3model
//Note: even though it says md2model, it works for both md2model&md3model
static long mdloadskin (md2model *m, int number, int pal, int surf)
{
long i,j, fptr=0, bpl, xsiz, ysiz, osizx, osizy, texfmt = GL_RGBA, intexfmt = GL_RGBA;
@ -806,7 +806,7 @@ static long mdloadskin (md2model *m, int number, int pal, int surf)
return(*texidx);
}
//Note: even though it says md2model, it works for both md2model&md3model
//Note: even though it says md2model, it works for both md2model&md3model
static void updateanimation (md2model *m, spritetype *tspr)
{
mdanim_t *anim;
@ -817,7 +817,7 @@ static void updateanimation (md2model *m, spritetype *tspr)
for (anim = m->animations;
anim && anim->startframe != m->cframe;
anim = anim->next) ;
if (!anim) { m->interpol = 0; return; }
if (!anim) { m->interpol = 0; return; }
if (((long)spriteext[tspr->owner].mdanimcur) != anim->startframe ||
(spriteext[tspr->owner].flags & SPREXT_NOMDANIM))
@ -840,7 +840,7 @@ static void updateanimation (md2model *m, spritetype *tspr)
if (anim->flags&MDANIM_ONESHOT)
{ if (i > j-65536) i = j-65536; }
else { if (i >= j) { i -= j; if (i >= j) i %= j; } }
else { if (i >= j) { i -= j; if (i >= j) i %= j; } }
m->cframe = (i>>16)+anim->startframe;
m->nframe = m->cframe+1; if (m->nframe > anim->endframe) m->nframe = anim->startframe;
@ -897,7 +897,7 @@ static md2model *md2load (int fil, const char *filnam)
head.ofsframes = B_LITTLE32(head.ofsframes); head.ofsglcmds = B_LITTLE32(head.ofsglcmds);
head.ofseof = B_LITTLE32(head.ofseof);
if ((head.id != 0x32504449) || (head.vers != 8)) { free(m); return(0); } //"IDP2"
if ((head.id != 0x32504449) || (head.vers != 8)) { free(m); return(0); } //"IDP2"
m->numskins = head.numskins;
m->numframes = head.numframes;
@ -937,7 +937,7 @@ static md2model *md2load (int fil, const char *filnam)
if ((st[i] == '/') || (st[i] == '\\')) { i++; break; }
if (i<0) i=0;
st[i] = 0;
m->basepath = (char *)malloc(i+1); if (!m->basepath) { free(m->glcmds); free(m->frames); free(m); return(0); }
m->basepath = (char *)malloc(i+1); if (!m->basepath) { free(m->glcmds); free(m->frames); free(m); return(0); }
strcpy(m->basepath, st);
m->skinfn = (char *)calloc(m->numskins,64); if (!m->skinfn) { free(m->basepath); free(m->glcmds); free(m->frames); free(m); return(0); }
@ -961,11 +961,11 @@ static int md2draw (md2model *m, spritetype *tspr)
long i, *lptr;
float f, g, k0, k1, k2, k3, k4, k5, k6, k7, mat[16], pc[4];
// if ((tspr->cstat&48) == 32) return 0;
// if ((tspr->cstat&48) == 32) return 0;
updateanimation(m,tspr);
// -------- Unnecessarily clean (lol) code to generate translation/rotation matrix for MD2 ---------
// -------- Unnecessarily clean (lol) code to generate translation/rotation matrix for MD2 ---------
//create current&next frame's vertex list from whole list
f0 = (md2frame_t *)&m->frames[m->cframe*m->framebytes];
@ -1043,9 +1043,9 @@ static int md2draw (md2model *m, spritetype *tspr)
//Mirrors
if (grhalfxdown10x < 0) { mat[0] = -mat[0]; mat[4] = -mat[4]; mat[8] = -mat[8]; mat[12] = -mat[12]; }
// ------ Unnecessarily clean (lol) code to generate translation/rotation matrix for MD2 ends ------
// ------ Unnecessarily clean (lol) code to generate translation/rotation matrix for MD2 ends ------
// PLAG: Cleaner model rotation code
// PLAG: Cleaner model rotation code
if (spriteext[tspr->owner].pitch || spriteext[tspr->owner].roll)
{
if (spriteext[tspr->owner].xoff)
@ -1097,7 +1097,7 @@ static int md2draw (md2model *m, spritetype *tspr)
}
bglMatrixMode(GL_MODELVIEW); //Let OpenGL (and perhaps hardware :) handle the matrix rotation
mat[3] = mat[7] = mat[11] = 0.f; mat[15] = 1.f; bglLoadMatrixf(mat);
// PLAG: End
// PLAG: End
i = mdloadskin(m,tile2model[tspr->picnum].skinnum,globalpal,0); if (!i) return 0;
@ -1120,11 +1120,11 @@ static int md2draw (md2model *m, spritetype *tspr)
pc[0] *= (float)hictinting[globalpal].r / 255.0;
pc[1] *= (float)hictinting[globalpal].g / 255.0;
pc[2] *= (float)hictinting[globalpal].b / 255.0;
if (tspr->cstat&2) { if (!(tspr->cstat&512)) pc[3] = 0.66; else pc[3] = 0.33; } else pc[3] = 1.0;
if (tspr->cstat&2) { if (!(tspr->cstat&512)) pc[3] = 0.66; else pc[3] = 0.33; } else pc[3] = 1.0;
if (m->usesalpha) //Sprites with alpha in texture
{
// bglEnable(GL_BLEND);// bglBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
// bglEnable(GL_ALPHA_TEST); bglAlphaFunc(GL_GREATER,0.32);
// bglEnable(GL_BLEND);// bglBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
// bglEnable(GL_ALPHA_TEST); bglAlphaFunc(GL_GREATER,0.32);
float al = 0.32;
if (alphahackarray[globalpicnum] != 0)
al=alphahackarray[globalpicnum];
@ -1226,7 +1226,7 @@ static md3model *md3load (int fil)
m->head.tags = (md3tag_t*)B_LITTLE32((long)m->head.tags); m->head.surfs = (md3surf_t*)B_LITTLE32((long)m->head.surfs);
m->head.eof = B_LITTLE32(m->head.eof);
if ((m->head.id != 0x33504449) && (m->head.vers != 15)) { free(m); return(0); } //"IDP3"
if ((m->head.id != 0x33504449) && (m->head.vers != 15)) { free(m); return(0); } //"IDP3"
m->numskins = m->head.numskins; //<- dead code?
m->numframes = m->head.numframes;
@ -1360,7 +1360,7 @@ static int md3draw (md3model *m, spritetype *tspr)
unsigned short tempus;
// if ((tspr->cstat&48) == 32) return 0;
// if ((tspr->cstat&48) == 32) return 0;
updateanimation((md2model *)m,tspr);
@ -1436,7 +1436,7 @@ static int md3draw (md3model *m, spritetype *tspr)
//Mirrors
if (grhalfxdown10x < 0) { mat[0] = -mat[0]; mat[4] = -mat[4]; mat[8] = -mat[8]; mat[12] = -mat[12]; }
//------------
//------------
//bit 10 is an ugly hack in game.c\animatesprites telling MD2SPRITE
//to use Z-buffer hacks to hide overdraw problems with the shadows
if (tspr->cstat&1024)
@ -1455,12 +1455,12 @@ static int md3draw (md3model *m, spritetype *tspr)
pc[0] *= (float)hictinting[globalpal].r / 255.0;
pc[1] *= (float)hictinting[globalpal].g / 255.0;
pc[2] *= (float)hictinting[globalpal].b / 255.0;
if (tspr->cstat&2) { if (!(tspr->cstat&512)) pc[3] = 0.66; else pc[3] = 0.33; } else pc[3] = 1.0;
if (tspr->cstat&2) { if (!(tspr->cstat&512)) pc[3] = 0.66; else pc[3] = 0.33; } else pc[3] = 1.0;
if (m->usesalpha) //Sprites with alpha in texture
{
// bglEnable(GL_BLEND);// bglBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
// bglEnable(GL_ALPHA_TEST); bglAlphaFunc(GL_GREATER,0.32);
// float al = 0.32;
// bglEnable(GL_BLEND);// bglBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
// bglEnable(GL_ALPHA_TEST); bglAlphaFunc(GL_GREATER,0.32);
// float al = 0.32;
// PLAG : default cutoff removed
float al = 0.0;
if (alphahackarray[globalpicnum] != 0)
@ -1474,9 +1474,9 @@ static int md3draw (md3model *m, spritetype *tspr)
if (tspr->cstat&2) bglEnable(GL_BLEND); else bglDisable(GL_BLEND);
}
bglColor4f(pc[0],pc[1],pc[2],pc[3]);
//------------
//------------
// PLAG: Cleaner model rotation code
// PLAG: Cleaner model rotation code
if (spriteext[tspr->owner].pitch || spriteext[tspr->owner].roll)
{
if (spriteext[tspr->owner].xoff)
@ -1534,13 +1534,13 @@ static int md3draw (md3model *m, spritetype *tspr)
}
bglMatrixMode(GL_MODELVIEW); //Let OpenGL (and perhaps hardware :) handle the matrix rotation
mat[3] = mat[7] = mat[11] = 0.f; mat[15] = 1.f; bglLoadMatrixf(mat);
// PLAG: End
// PLAG: End
i = mdloadskin((md2model *)m,tile2model[tspr->picnum].skinnum,globalpal,surfi); if (!i) continue;
//i = mdloadskin((md2model *)m,tile2model[tspr->picnum].skinnum,surfi); //hack for testing multiple surfaces per MD3
bglBindTexture(GL_TEXTURE_2D, i);
//PLAG: delayed polygon-level sorted rendering
//PLAG: delayed polygon-level sorted rendering
if (m->usesalpha && !(tspr->cstat & 1024))
{
indexes = malloc(sizeof(unsigned short) * s->numtris);
@ -1667,7 +1667,7 @@ static int md3draw (md3model *m, spritetype *tspr)
bglEnd();
}
}
//------------
//------------
if (m->usesalpha) bglDisable(GL_ALPHA_TEST);
bglDisable(GL_CULL_FACE);
@ -1723,7 +1723,7 @@ static void md3free (md3model *m)
//---------------------------------------- MD3 LIBRARY ENDS ----------------------------------------
//--------------------------------------- VOX LIBRARY BEGINS ---------------------------------------
//For loading/conversion only
//For loading/conversion only
static long xsiz, ysiz, zsiz, yzsiz, *vbit = 0; //vbit: 1 bit per voxel: 0=air,1=solid
static float xpiv, ypiv, zpiv; //Might want to use more complex/unique names!
static long *vcolhashead = 0, vcolhashsizm1;
@ -1735,7 +1735,7 @@ static long *shcntmal, *shcnt = 0, shcntp;
static long mytexo5, *zbit, gmaxx, gmaxy, garea, pow2m1[33];
static voxmodel *gvox;
//pitch must equal xsiz*4
//pitch must equal xsiz*4
unsigned gloadtex (long *picbuf, long xsiz, long ysiz, long is8bit, long dapal)
{
unsigned rtexid;
@ -1795,7 +1795,7 @@ static void putvox (long x, long y, long z, long col)
vcol[vnum].n = vcolhashead[z]; vcolhashead[z] = vnum++;
}
//Set all bits in vbit from (x,y,z0) to (x,y,z1-1) to 0's
//Set all bits in vbit from (x,y,z0) to (x,y,z1-1) to 0's
static void setzrange0 (long *lptr, long z0, long z1)
{
long z, ze;
@ -1805,7 +1805,7 @@ static void setzrange0 (long *lptr, long z0, long z1)
lptr[z] &= (-1<<SHIFTMOD32(z1));
}
//Set all bits in vbit from (x,y,z0) to (x,y,z1-1) to 1's
//Set all bits in vbit from (x,y,z0) to (x,y,z1-1) to 1's
static void setzrange1 (long *lptr, long z0, long z1)
{
long z, ze;
@ -1870,7 +1870,7 @@ static void cntquad (long x0, long y0, long z0, long x1, long y1, long z1, long
x = labs(x2-x0); y = labs(y2-y0); z = labs(z2-z0);
if (!x) x = z; else if (!y) y = z;
if (x < y) { z = x; x = y; y = z; }
if (x < y) { z = x; x = y; y = z; }
shcnt[y*shcntp+x]++;
if (x > gmaxx) gmaxx = x;
if (y > gmaxy) gmaxy = y;
@ -1885,7 +1885,7 @@ static void addquad (long x0, long y0, long z0, long x1, long y1, long z1, long
x = labs(x2-x0); y = labs(y2-y0); z = labs(z2-z0);
if (!x) { x = y; y = z; i = 0; } else if (!y) { y = z; i = 1; } else i = 2;
if (x < y) { z = x; x = y; y = z; i += 3; }
if (x < y) { z = x; x = y; y = z; i += 3; }
z = shcnt[y*shcntp+x]++;
lptr = &gvox->mytex[(shp[z].y+VOXBORDWIDTH)*gvox->mytexx+(shp[z].x+VOXBORDWIDTH)];
switch(face)
@ -1975,7 +1975,7 @@ static voxmodel *vox2poly ()
//x is largest dimension, y is 2nd largest dimension
x = xsiz; y = ysiz; z = zsiz;
if ((x < y) && (x < z)) x = z; else if (y < z) y = z;
if (x < y) { z = x; x = y; y = z; }
if (x < y) { z = x; x = y; y = z; }
shcntp = x; i = x*y*sizeof(long);
shcntmal = (long *)malloc(i); if (!shcntmal) { free(gvox); return(0); }
memset(shcntmal,0,i); shcnt = &shcntmal[-shcntp-1];
@ -1985,7 +1985,7 @@ static voxmodel *vox2poly ()
for(i=0;i<7;i++) gvox->qfacind[i] = -1;
i = ((max(ysiz,zsiz)+1)<<2);
bx0 = (long *)malloc(i<<1); if (!bx0) { free(gvox); return(0); }
bx0 = (long *)malloc(i<<1); if (!bx0) { free(gvox); return(0); }
by0 = (long *)(((long)bx0)+i);
for(cnt=0;cnt<2;cnt++)
@ -2182,7 +2182,7 @@ static long loadkvx (const char *filnam)
klseek(fil,(xsiz+1)<<2,SEEK_CUR);
ysizp1 = ysiz+1;
i = xsiz*ysizp1*sizeof(short);
xyoffs = (unsigned short *)malloc(i); if (!xyoffs) { kclose(fil); return(-1); }
xyoffs = (unsigned short *)malloc(i); if (!xyoffs) { kclose(fil); return(-1); }
kread(fil,xyoffs,i); for (i=i/sizeof(short)-1; i>=0; i--) xyoffs[i] = B_LITTLE16(xyoffs[i]);
klseek(fil,-768,SEEK_END);
@ -2194,7 +2194,7 @@ static long loadkvx (const char *filnam)
memset(vbit,0,i);
for(vcolhashsizm1=4096;vcolhashsizm1<(mip1leng>>1);vcolhashsizm1<<=1); vcolhashsizm1--; //approx to numvoxs!
vcolhashead = (long *)malloc((vcolhashsizm1+1)*sizeof(long)); if (!vcolhashead) { free(xyoffs); kclose(fil); return(-1); }
vcolhashead = (long *)malloc((vcolhashsizm1+1)*sizeof(long)); if (!vcolhashead) { free(xyoffs); kclose(fil); return(-1); }
memset(vcolhashead,-1,(vcolhashsizm1+1)*sizeof(long));
klseek(fil,28+((xsiz+1)<<2)+((ysizp1*xsiz)<<1),SEEK_SET);
@ -2229,7 +2229,7 @@ static long loadkv6 (const char *filnam)
unsigned char c[8];
fil = kopen4load((char *)filnam,0); if (fil < 0) return(-1);
kread(fil,&i,4); if (B_LITTLE32(i) != 0x6c78764b) { kclose(fil); return(-1); } //Kvxl
kread(fil,&i,4); if (B_LITTLE32(i) != 0x6c78764b) { kclose(fil); return(-1); } //Kvxl
kread(fil,&xsiz,4); xsiz = B_LITTLE32(xsiz);
kread(fil,&ysiz,4); ysiz = B_LITTLE32(ysiz);
kread(fil,&zsiz,4); zsiz = B_LITTLE32(zsiz);
@ -2246,11 +2246,11 @@ static long loadkv6 (const char *filnam)
klseek(fil,32,SEEK_SET);
yzsiz = ysiz*zsiz; i = ((xsiz*yzsiz+31)>>3);
vbit = (long *)malloc(i); if (!vbit) { free(ylen); kclose(fil); return(-1); }
vbit = (long *)malloc(i); if (!vbit) { free(ylen); kclose(fil); return(-1); }
memset(vbit,0,i);
for(vcolhashsizm1=4096;vcolhashsizm1<numvoxs;vcolhashsizm1<<=1); vcolhashsizm1--;
vcolhashead = (long *)malloc((vcolhashsizm1+1)*sizeof(long)); if (!vcolhashead) { free(ylen); kclose(fil); return(-1); }
vcolhashead = (long *)malloc((vcolhashsizm1+1)*sizeof(long)); if (!vcolhashead) { free(ylen); kclose(fil); return(-1); }
memset(vcolhashead,-1,(vcolhashsizm1+1)*sizeof(long));
for(x=0;x<xsiz;x++)
@ -2271,7 +2271,7 @@ static long loadkv6 (const char *filnam)
}
#if 0
//While this code works, it's way too slow and can only cause trouble.
//While this code works, it's way too slow and can only cause trouble.
static long loadvxl (const char *filnam)
{
long i, j, x, y, z, fil;
@ -2281,7 +2281,7 @@ static long loadvxl (const char *filnam)
kread(fil,&i,4);
kread(fil,&xsiz,4);
kread(fil,&ysiz,4);
if ((i != 0x09072000) || (xsiz != 1024) || (ysiz != 1024)) { kclose(fil); return(-1); }
if ((i != 0x09072000) || (xsiz != 1024) || (ysiz != 1024)) { kclose(fil); return(-1); }
zsiz = 256;
klseek(fil,96,SEEK_CUR); //skip pos&orient
xpiv = ((float)xsiz)*.5;
@ -2335,7 +2335,7 @@ static voxmodel *voxload (const char *filnam)
voxmodel *vm;
i = strlen(filnam)-4; if (i < 0) return(0);
if (!Bstrcasecmp(&filnam[i],".vox")) { ret = loadvox(filnam); is8bit = 1; }
if (!Bstrcasecmp(&filnam[i],".vox")) { ret = loadvox(filnam); is8bit = 1; }
else if (!Bstrcasecmp(&filnam[i],".kvx")) { ret = loadkvx(filnam); is8bit = 1; }
else if (!Bstrcasecmp(&filnam[i],".kv6")) { ret = loadkv6(filnam); is8bit = 0; }
//else if (!Bstrcasecmp(&filnam[i],".vxl")) { ret = loadvxl(filnam); is8bit = 0; }
@ -2359,7 +2359,7 @@ static voxmodel *voxload (const char *filnam)
return(vm);
}
//Draw voxel model as perfect cubes
//Draw voxel model as perfect cubes
static int voxdraw (voxmodel *m, spritetype *tspr)
{
point3d fp, m0, a0;
@ -2422,9 +2422,9 @@ static int voxdraw (voxmodel *m, spritetype *tspr)
mat[14] += a0.y*mat[2] + a0.z*mat[6] + a0.x*mat[10];
//Mirrors
if (grhalfxdown10x < 0) { mat[0] = -mat[0]; mat[4] = -mat[4]; mat[8] = -mat[8]; mat[12] = -mat[12]; }
if (grhalfxdown10x < 0) { mat[0] = -mat[0]; mat[4] = -mat[4]; mat[8] = -mat[8]; mat[12] = -mat[12]; }
//------------
//------------
//bit 10 is an ugly hack in game.c\animatesprites telling MD2SPRITE
//to use Z-buffer hacks to hide overdraw problems with the shadows
if (tspr->cstat&1024)
@ -2443,9 +2443,9 @@ static int voxdraw (voxmodel *m, spritetype *tspr)
pc[0] *= (float)hictinting[globalpal].r / 255.0;
pc[1] *= (float)hictinting[globalpal].g / 255.0;
pc[2] *= (float)hictinting[globalpal].b / 255.0;
if (tspr->cstat&2) { if (!(tspr->cstat&512)) pc[3] = 0.66; else pc[3] = 0.33; } else pc[3] = 1.0;
if (tspr->cstat&2) { if (!(tspr->cstat&512)) pc[3] = 0.66; else pc[3] = 0.33; } else pc[3] = 1.0;
if (tspr->cstat&2) bglEnable(GL_BLEND); else bglDisable(GL_BLEND);
//------------
//------------
//transform to Build coords
memcpy(omat,mat,sizeof(omat));
@ -2497,7 +2497,7 @@ static int voxdraw (voxmodel *m, spritetype *tspr)
}
bglEnd();
//------------
//------------
bglDisable(GL_CULL_FACE);
bglPopAttrib();
if (tspr->cstat&1024)

View file

@ -249,17 +249,17 @@ static void initmultiplayers_reset(void)
for(i=0;i<MAXPLAYERS;i++) otherport[i] = htons(NETPORT);
}
// Multiplayer command line summary. Assume myconnectindex always = 0 for 192.168.1.2
//
// /n0 (mast/slav) 2 player: 3 player:
// 192.168.1.2 game /n0 game /n0:3
// 192.168.1.100 game /n0 192.168.1.2 game /n0 192.168.1.2
// 192.168.1.4 game /n0 192.168.1.2
//
// /n1 (peer-peer) 2 player: 3 player:
// 192.168.1.2 game /n1 192.168.1.100 game /n1 192.168.1.100 192.168.1.4
// 192.168.1.100 game 192.168.1.2 /n1 game 192.168.1.2 /n1 192.168.1.4
// 192.168.1.4 game 192.168.1.2 192.168.1.100 /n1
// Multiplayer command line summary. Assume myconnectindex always = 0 for 192.168.1.2
//
// /n0 (mast/slav) 2 player: 3 player:
// 192.168.1.2 game /n0 game /n0:3
// 192.168.1.100 game /n0 192.168.1.2 game /n0 192.168.1.2
// 192.168.1.4 game /n0 192.168.1.2
//
// /n1 (peer-peer) 2 player: 3 player:
// 192.168.1.2 game /n1 192.168.1.100 game /n1 192.168.1.100 192.168.1.4
// 192.168.1.100 game 192.168.1.2 /n1 game 192.168.1.2 /n1 192.168.1.4
// 192.168.1.4 game 192.168.1.2 192.168.1.100 /n1
long initmultiplayersparms(long argc, char **argv)
{
long i, j, daindex, portnum = NETPORT;
@ -350,7 +350,7 @@ long initmultiplayersparms(long argc, char **argv)
}
free(st);
}
if ((danetmode == 255) && (daindex)) { numplayers = 2; danetmode = 0; } //an IP w/o /n# defaults to /n0
if ((danetmode == 255) && (daindex)) { numplayers = 2; danetmode = 0; } //an IP w/o /n# defaults to /n0
if ((numplayers >= 2) && (daindex) && (!danetmode)) myconnectindex = 1;
if (daindex > numplayers) numplayers = daindex;
@ -518,8 +518,8 @@ void sendpacket (long other, char *bufptr, long messleng)
dosendpackets(other);
}
//passing bufptr == 0 enables receive&sending raw packets but does not return any received packets
//(used as hack for player collection)
//passing bufptr == 0 enables receive&sending raw packets but does not return any received packets
//(used as hack for player collection)
long getpacket (long *retother, char *bufptr)
{
long i, j, k, ic0, crc16ofs, messleng, other;

View file

@ -295,7 +295,7 @@ void OSD_SetFunctions(
void (*clearbg)(int,int),
int (*gtime)(void),
void (*showosd)(int)
)
)
{
drawosdchar = drawchar;
drawosdstr = drawstr;
@ -324,7 +324,7 @@ void OSD_SetParameters(
int promptshade, int promptpal,
int editshade, int editpal,
int textshade, int textpal
)
)
{
osdpromptshade = promptshade;
osdpromptpal = promptpal;

View file

@ -111,7 +111,7 @@ static struct glfiltermodes {
{"GL_LINEAR_MIPMAP_NEAREST",GL_LINEAR_MIPMAP_NEAREST,GL_LINEAR},
{"GL_NEAREST_MIPMAP_LINEAR",GL_NEAREST_MIPMAP_LINEAR,GL_NEAREST},
{"GL_LINEAR_MIPMAP_LINEAR",GL_LINEAR_MIPMAP_LINEAR,GL_LINEAR}
};
};
#define numglfiltermodes (sizeof(glfiltermodes)/sizeof(glfiltermodes[0]))
long glanisotropy = 1; // 0 = maximum supported by card
@ -166,7 +166,7 @@ static inline void ftol (float f, long *a)
#if 0 //(__GNUC__ >= 3)
"flds %1; fistpl %0;"
#else
"flds %1; fistpl (%0);"
"flds %1; fistpl (%0);"
#endif
: "=r" (a) : "m" (f) : "memory","cc");
}
@ -177,7 +177,7 @@ static inline void dtol (double d, long *a)
#if 0 //(__GNUC__ >= 3)
"fldl %1; fistpl %0;"
#else
"fldl %1; fistpl (%0);"
"fldl %1; fistpl (%0);"
#endif
: "=r" (a) : "m" (d) : "memory","cc");
}
@ -208,13 +208,13 @@ void drawline2d (float x0, float y0, float x1, float y1, char col)
dx = x1-x0; dy = y1-y0; if ((dx == 0) && (dy == 0)) return;
fxres = (float)xdimen; fyres = (float)ydimen;
if (x0 >= fxres) { if (x1 >= fxres) return; y0 += (fxres-x0)*dy/dx; x0 = fxres; }
else if (x0 < 0) { if (x1 < 0) return; y0 += ( 0-x0)*dy/dx; x0 = 0; }
if (x1 >= fxres) { y1 += (fxres-x1)*dy/dx; x1 = fxres; }
if (x0 >= fxres) { if (x1 >= fxres) return; y0 += (fxres-x0)*dy/dx; x0 = fxres; }
else if (x0 < 0) { if (x1 < 0) return; y0 += ( 0-x0)*dy/dx; x0 = 0; }
if (x1 >= fxres) { y1 += (fxres-x1)*dy/dx; x1 = fxres; }
else if (x1 < 0) { y1 += ( 0-x1)*dy/dx; x1 = 0; }
if (y0 >= fyres) { if (y1 >= fyres) return; x0 += (fyres-y0)*dx/dy; y0 = fyres; }
else if (y0 < 0) { if (y1 < 0) return; x0 += ( 0-y0)*dx/dy; y0 = 0; }
if (y1 >= fyres) { x1 += (fyres-y1)*dx/dy; y1 = fyres; }
else if (y0 < 0) { if (y1 < 0) return; x0 += ( 0-y0)*dx/dy; y0 = 0; }
if (y1 >= fyres) { x1 += (fyres-y1)*dx/dy; y1 = fyres; }
else if (y1 < 0) { x1 += ( 0-y1)*dx/dy; y1 = 0; }
if (fabs(dx) > fabs(dy))
@ -415,9 +415,9 @@ void gltexinvalidate (long dapicnum, long dapalnum, long dameth)
{ pth->flags |= 128; }
}
//Make all textures "dirty" so they reload, but not re-allocate
//This should be much faster than polymost_glreset()
//Use this for palette effects ... but not ones that change every frame!
//Make all textures "dirty" so they reload, but not re-allocate
//This should be much faster than polymost_glreset()
//Use this for palette effects ... but not ones that change every frame!
void gltexinvalidateall ()
{
long j;
@ -492,7 +492,7 @@ void gltexapplyprops (void)
static float glox1, gloy1, glox2, gloy2;
//Use this for both initialization and uninitialization of OpenGL.
//Use this for both initialization and uninitialization of OpenGL.
static int gltexcacnum = -1;
void polymost_glreset ()
{
@ -1247,10 +1247,10 @@ int gloadtile_hi(long dapic, long facen, hicreplctyp *hicr, long dameth, pthtyp
#endif
//(dpx,dpy) specifies an n-sided polygon. The polygon must be a convex clockwise loop.
// n must be <= 8 (assume clipping can double number of vertices)
//method: 0:solid, 1:masked(255 is transparent), 2:transluscent #1, 3:transluscent #2
// +4 means it's a sprite, so wraparound isn't needed
//(dpx,dpy) specifies an n-sided polygon. The polygon must be a convex clockwise loop.
// n must be <= 8 (assume clipping can double number of vertices)
//method: 0:solid, 1:masked(255 is transparent), 2:transluscent #1, 3:transluscent #2
// +4 means it's a sprite, so wraparound isn't needed
static long pow2xsplit = 0, skyclamphack = 0;
void drawpoly (double *dpx, double *dpy, long n, long method)
@ -1863,12 +1863,12 @@ void drawpoly (double *dpx, double *dpy, long n, long method)
}
}
/*Init viewport boundary (must be 4 point convex loop):
// (px[0],py[0]).----.(px[1],py[1])
// / \
// / \
// (px[3],py[3]).--------------.(px[2],py[2])
*/
/*Init viewport boundary (must be 4 point convex loop):
// (px[0],py[0]).----.(px[1],py[1])
// / \
// / \
// (px[3],py[3]).--------------.(px[2],py[2])
*/
void initmosts (double *px, double *py, long n)
{
long i, j, k, imin;
@ -3495,9 +3495,9 @@ void polymost_drawmaskwall (long damaskwallcnt)
//Clip to close parallel-screen plane
oxp0 = xp0; oyp0 = yp0;
if (yp0 < SCISDIST) { t0 = (SCISDIST-yp0)/(yp1-yp0); xp0 = (xp1-xp0)*t0+xp0; yp0 = SCISDIST; }
if (yp0 < SCISDIST) { t0 = (SCISDIST-yp0)/(yp1-yp0); xp0 = (xp1-xp0)*t0+xp0; yp0 = SCISDIST; }
else t0 = 0.f;
if (yp1 < SCISDIST) { t1 = (SCISDIST-oyp0)/(yp1-oyp0); xp1 = (xp1-oxp0)*t1+oxp0; yp1 = SCISDIST; }
if (yp1 < SCISDIST) { t1 = (SCISDIST-oyp0)/(yp1-oyp0); xp1 = (xp1-oxp0)*t1+oxp0; yp1 = SCISDIST; }
else { t1 = 1.f; }
getzsofslope(sectnum,(long)((wal2->x-wal->x)*t0+wal->x),(long)((wal2->y-wal->y)*t0+wal->y),&cz[0],&fz[0]);
@ -3655,7 +3655,7 @@ void polymost_drawsprite (long snum)
}
method = 1+4;
if (tspr->cstat&2) { if (!(tspr->cstat&512)) method = 2+4; else method = 3+4; }
if (tspr->cstat&2) { if (!(tspr->cstat&512)) method = 2+4; else method = 3+4; }
#ifdef USE_OPENGL
if (!nofog && rendmode == 3) {
@ -3943,18 +3943,18 @@ void polymost_drawsprite (long snum)
}
}
//sx,sy center of sprite; screen coods*65536
//z zoom*65536. > is zoomed in
//a angle (0 is default)
//dastat&1 1:translucence
//dastat&2 1:auto-scale mode (use 320*200 coordinates)
//dastat&4 1:y-flip
//dastat&8 1:don't clip to startumost/startdmost
//dastat&16 1:force point passed to be top-left corner, 0:Editart center
//dastat&32 1:reverse translucence
//dastat&64 1:non-masked, 0:masked
//dastat&128 1:draw all pages (permanent)
//cx1,... clip window (actual screen coords)
//sx,sy center of sprite; screen coods*65536
//z zoom*65536. > is zoomed in
//a angle (0 is default)
//dastat&1 1:translucence
//dastat&2 1:auto-scale mode (use 320*200 coordinates)
//dastat&4 1:y-flip
//dastat&8 1:don't clip to startumost/startdmost
//dastat&16 1:force point passed to be top-left corner, 0:Editart center
//dastat&32 1:reverse translucence
//dastat&64 1:non-masked, 0:masked
//dastat&128 1:draw all pages (permanent)
//cx1,... clip window (actual screen coords)
void polymost_dorotatesprite (long sx, long sy, long z, short a, short picnum,
signed char dashade, char dapalnum, char dastat, long cx1, long cy1, long cx2, long cy2, long uniqid)
{
@ -4129,7 +4129,7 @@ void polymost_dorotatesprite (long sx, long sy, long z, short a, short picnum,
method |= 4; //Use OpenGL clamping - dorotatesprite never repeats
xsiz = tilesizx[globalpicnum]; ysiz = tilesizy[globalpicnum];
if (dastat&16) { xoff = 0; yoff = 0; }
if (dastat&16) { xoff = 0; yoff = 0; }
else
{
xoff = (long)((signed char)((picanm[globalpicnum]>>8)&255))+(xsiz>>1);
@ -4257,7 +4257,7 @@ static void drawtrap (float x0, float x1, float y0, float x2, float x3, float y1
if (y0 == y1) return;
px[0] = x0; py[0] = y0; py[2] = y1;
if (x0 == x1) { px[1] = x3; py[1] = y1; px[2] = x2; n = 3; }
if (x0 == x1) { px[1] = x3; py[1] = y1; px[2] = x2; n = 3; }
else if (x2 == x3) { px[1] = x1; py[1] = y0; px[2] = x3; n = 3; }
else { px[1] = x1; py[1] = y0; px[2] = x3; px[3] = x2; py[3] = y1; n = 4; }

View file

@ -364,7 +364,7 @@ int scriptfile_addsymbolvalue(char *name, int val)
{
int x;
char *sp;
// if (scriptfile_getsymbolvalue(name, &x)) return -1; // already exists
// if (scriptfile_getsymbolvalue(name, &x)) return -1; // already exists
if (symbtab) {
char *scanner = symbtab;

View file

@ -1077,7 +1077,7 @@ void enddrawing(void)
}
if (!frameplace) return;
if (lockcount > 1) { lockcount--; return; }
if (lockcount > 1) { lockcount--; return; }
if (!offscreenrendering) frameplace = 0;
if (lockcount == 0) return;
lockcount = 0;

View file

@ -135,7 +135,7 @@ void setears(long daposx, long daposy, long daxvect, long dayvect)
void wsayfollow(char *dafilename, long dafreq, long davol, long *daxplc, long *dayplc, char followstat)
{
/*
/*
dafilename:
filename
@ -154,7 +154,7 @@ void wsayfollow(char *dafilename, long dafreq, long davol, long *daxplc, long *d
followstat:
0 = position is fixed in space
1 = position follows an object
*/
*/
unsigned char ch1, ch2;
long i, wavnum, bad, oldest=0, free=-1, ox, oy, x, y, vo;
unsigned int oldestpos=0;

View file

@ -618,7 +618,7 @@ void initprintf(const char *f, ...)
//int i = 0;
static int newline = 0;//1;
// int overwriteline = -1;
// int overwriteline = -1;
va_start(va, f);
Bvsnprintf(buf, 1024, f, va);
@ -763,7 +763,7 @@ static struct {
{ "keyboard", &lpDID[KEYBOARD], &c_dfDIKeyboard },
{ "mouse", &lpDID[MOUSE], &c_dfDIMouse },
{ "joystick", &lpDID[JOYSTICK], &c_dfDIJoystick }
};
};
static struct _joydef {
const char *name;
unsigned ofs; // directinput 'dwOfs' value
@ -784,7 +784,7 @@ struct _joydevicedefn {
struct _joydevicefeature joyfeatures_C20A046D[] = { // Logitech WingMan RumblePad USB
{ 0, "Left Stick X" }, { 4, "Left Stick Y" }, { 8, "Right Stick X" },
{ 20, "Right Stick Y" }, { 24, "Throttle" },
};
};
struct _joydevicefeature joyfeatures_C218046D[] = { // Logitech RumblePad 2 USB
{ 0, "Left Stick X" }, { 4, "Left Stick Y" }, { 8, "Right Stick X" },
{ 20, "Right Stick Y" }, { 32, "D-Pad" }, { 48, "Button 1" },
@ -792,12 +792,12 @@ struct _joydevicefeature joyfeatures_C218046D[] = { // Logitech RumblePad 2 USB
{ 52, "Button 5" }, { 53, "Button 6" }, { 54, "Button 7" },
{ 55, "Button 8" }, { 56, "Button 9" }, { 57, "Button 10" },
{ 58, "Left Stick Press" }, { 59, "Right Stick Press" },
};
};
#define featurecount(x) (sizeof(x)/sizeof(struct _joydevicefeature))
static struct _joydevicedefn *thisjoydef = NULL, joyfeatures[] = {
{ 0xC20A046D, featurecount(joyfeatures_C20A046D), joyfeatures_C20A046D }, // Logitech WingMan RumblePad USB
{ 0xC218046D, featurecount(joyfeatures_C218046D), joyfeatures_C218046D }, // Logitech RumblePad 2 USB
};
};
#undef featurecount
// I don't see any pressing need to store the key-up events yet
@ -994,7 +994,7 @@ void getjoydeadzone(int axis, unsigned short *dead, unsigned short *satur)
HRESULT result;
if (!dead || !satur) return;
if (!lpDID[JOYSTICK]) { *dead = *satur = 0; return; }
if (!lpDID[JOYSTICK]) { *dead = *satur = 0; return; }
if (axis >= joynumaxes) { *dead = *satur = 0; return; }
memset(&dipdw, 0, sizeof(dipdw));
@ -1203,14 +1203,14 @@ static BOOL InitDirectInput(void)
// create a new DirectInput object
initprintf(" - Creating DirectInput object\n");
result = aDirectInputCreateA(hInstance, DIRECTINPUT_VERSION, &lpDI, NULL);
if FAILED(result) { HorribleDInputDeath("DirectInputCreateA() failed", result); }
if FAILED(result) { HorribleDInputDeath("DirectInputCreateA() failed", result); }
else if (result != DI_OK) initprintf(" Created DirectInput object with warning: %s\n",GetDInputError(result));
// enumerate devices to make us look fancy
initprintf(" - Enumerating attached input devices\n");
inputdevices = 0;
result = IDirectInput_EnumDevices(lpDI, 0, InitDirectInput_enum, NULL, DIEDFL_ATTACHEDONLY);
if FAILED(result) { HorribleDInputDeath("Failed enumerating attached input devices", result); }
if FAILED(result) { HorribleDInputDeath("Failed enumerating attached input devices", result); }
else if (result != DI_OK) initprintf(" Enumerated input devices with warning: %s\n",GetDInputError(result));
if (!(inputdevices & (1<<KEYBOARD))) {
ShowErrorBox("No keyboard detected!");
@ -1950,7 +1950,7 @@ static int syscolouridx[NUM_SYS_COLOURS] = {
COLOR_3DLIGHT,
COLOR_INFOTEXT,
COLOR_INFOBK // 25
};
};
static DWORD syscolours[NUM_SYS_COLOURS];
static char system_colours_saved = 0, bw_colours_set = 0;
@ -2268,7 +2268,7 @@ void enddrawing(void)
}
if (!frameplace) return;
if (lockcount > 1) { lockcount--; return; }
if (lockcount > 1) { lockcount--; return; }
if (!offscreenrendering) frameplace = 0;
lockcount = 0;
}
@ -3385,11 +3385,11 @@ static void SetBWSystemColours(void)
{
#define WHI RGB(255,255,255)
#define BLA RGB(0,0,0)
static COLORREF syscoloursbw[NUM_SYS_COLOURS] = {
static COLORREF syscoloursbw[NUM_SYS_COLOURS] = {
WHI, BLA, BLA, WHI, WHI, WHI, WHI, BLA, BLA, WHI,
WHI, WHI, WHI, BLA, WHI, WHI, BLA, BLA, BLA, BLA,
BLA, BLA, WHI, BLA, WHI
};
};
#undef WHI
#undef BLA
if (!system_colours_saved || bw_colours_set) return;
@ -3629,10 +3629,10 @@ static LRESULT CALLBACK WndProcCallback(HWND hWnd, UINT uMsg, WPARAM wParam, LPA
if (appactive) {
setpalette(0,0,0);
SetBWSystemColours();
// initprintf("Resetting palette.\n");
// initprintf("Resetting palette.\n");
} else {
RestoreSystemColours();
// initprintf("Resetting system colours.\n");
// initprintf("Resetting system colours.\n");
}
}