8-bit classic renderer works on my system now in 64 bit. (at least no crashes)

git-svn-id: https://svn.eduke32.com/eduke32@714 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
qbix79 2008-04-25 11:21:08 +00:00
parent b63ef25d6e
commit 48dae664b8
7 changed files with 90 additions and 75 deletions

View file

@ -192,47 +192,48 @@ extern void _cdecl stretchhline(int,int,int,int,int,int);
#else // _MSC_VER
#define ENGINE_USING_A_C
#include <stdint.h>
void setvlinebpl(int dabpl);
void fixtransluscence(int datransoff);
void fixtransluscence(intptr_t datransoff);
void settransnormal(void);
void settransreverse(void);
void sethlinesizes(int logx, int logy, int bufplc);
void sethlinesizes(int logx, int logy, intptr_t bufplc);
void setpalookupaddress(char *paladdr);
void setuphlineasm4(int bxinc, int byinc);
void hlineasm4(int cnt, int skiploadincs, int paloffs, unsigned int by, unsigned int bx, int p);
void hlineasm4(int cnt, int skiploadincs, int paloffs, unsigned int by, unsigned int bx, intptr_t p);
void setupslopevlin(int logylogx, int bufplc, int pinc);
void slopevlin(int p, int i, int slopaloffs, int cnt, int bx, int by);
void setupslopevlin(int logylogx, intptr_t bufplc, int pinc);
void slopevlin(intptr_t p, int i, intptr_t slopaloffs, int cnt, int bx, int by);
void setupvlineasm(int neglogy);
void vlineasm1(int vinc, int paloffs, int cnt, unsigned int vplc, int bufplc, int p);
void vlineasm1(int vinc, intptr_t paloffs, int cnt, unsigned int vplc, intptr_t bufplc, intptr_t p);
void setupmvlineasm(int neglogy);
void mvlineasm1(int vinc, int paloffs, int cnt, unsigned int vplc, int bufplc, int p);
void mvlineasm1(int vinc, intptr_t paloffs, int cnt, unsigned int vplc, intptr_t bufplc, intptr_t p);
void setuptvlineasm(int neglogy);
void tvlineasm1(int vinc, int paloffs, int cnt, unsigned int vplc, int bufplc, int p);
void tvlineasm1(int vinc, intptr_t paloffs, int cnt, unsigned int vplc, intptr_t bufplc, intptr_t p);
void msethlineshift(int logx, int logy);
void mhline(int bufplc, unsigned int bx, int cntup16, int junk, unsigned int by, int p);
void mhline(intptr_t bufplc, unsigned int bx, int cntup16, int junk, unsigned int by, intptr_t p);
void tsethlineshift(int logx, int logy);
void thline(int bufplc, unsigned int bx, int cntup16, int junk, unsigned int by, int p);
void thline(intptr_t bufplc, unsigned int bx, int cntup16, int junk, unsigned int by, intptr_t p);
void setupspritevline(int paloffs, int bxinc, int byinc, int ysiz);
void spritevline(int bx, int by, int cnt, int bufplc, int p);
void setupspritevline(intptr_t paloffs, int bxinc, int byinc, int ysiz);
void spritevline(int bx, int by, int cnt, intptr_t bufplc, intptr_t p);
void msetupspritevline(int paloffs, int bxinc, int byinc, int ysiz);
void mspritevline(int bx, int by, int cnt, int bufplc, int p);
void msetupspritevline(intptr_t paloffs, int bxinc, int byinc, int ysiz);
void mspritevline(int bx, int by, int cnt, intptr_t bufplc, intptr_t p);
void tsetupspritevline(int paloffs, int bxinc, int byinc, int ysiz);
void tspritevline(int bx, int by, int cnt, int bufplc, int p);
void tsetupspritevline(intptr_t paloffs, int bxinc, int byinc, int ysiz);
void tspritevline(int bx, int by, int cnt, intptr_t bufplc, intptr_t p);
void setupdrawslab (int dabpl, int pal);
void drawslab (int dx, int v, int dy, int vi, int vptr, int p);
void stretchhline (int p0, int u, int cnt, int uinc, int rptr, int p);
void setupdrawslab (int dabpl, intptr_t pal);
void drawslab (int dx, int v, int dy, int vi, intptr_t vptr, intptr_t p);
void stretchhline (intptr_t p0, int u, int cnt, int uinc, intptr_t rptr, intptr_t p);
void mmxoverlay();

View file

@ -210,7 +210,7 @@ static inline uint64 B_SWAP64(uint64 l) { return (l>>56)|((l>>40)&0xff00)|((l>>2
#endif
#ifndef FP_OFF
# define FP_OFF(__p) ((unsigned)(__p))
# define FP_OFF(__p) ((uintptr_t)(__p))
#endif
#ifdef __compat_h_macrodef__

View file

@ -3712,8 +3712,8 @@ static inline int boundmulscale(int a, int d, int c)
#undef by
#undef _scaler
void qinterpolatedown16 (int bufptr, int num, int val, int add);
void qinterpolatedown16short (int bufptr, int num, int val, int add);
void qinterpolatedown16 (intptr_t bufptr, int num, int val, int add);
void qinterpolatedown16short (intptr_t bufptr, int num, int val, int add);
void clearbuf(void* d, int c, int a);
void copybuf(void* s, void* d, int c);

View file

@ -15,7 +15,8 @@ int krecip(int num); // from engine.c
#define BITSOFPRECISION 3
#define BITSOFPRECISIONPOW 8
extern int asm1, asm2, asm3, asm4, fpuasm, globalx3, globaly3;
extern intptr_t asm1, asm2, asm3, asm4;
extern int fpuasm, globalx3, globaly3;
extern void *reciptable;
static int bpl, transmode = 0;
@ -24,17 +25,17 @@ static char *gbuf, *gpal, *ghlinepal, *gtrans;
//Global variable functions
void setvlinebpl(int dabpl) { bpl = dabpl; }
void fixtransluscence(int datransoff) { gtrans = (char *)datransoff; }
void fixtransluscence(intptr_t datransoff) { gtrans = (char *)datransoff; }
void settransnormal(void) { transmode = 0; }
void settransreverse(void) { transmode = 1; }
//Ceiling/floor horizontal line functions
void sethlinesizes(int logx, int logy, int bufplc)
void sethlinesizes(int logx, int logy, intptr_t bufplc)
{ glogx = logx; glogy = logy; gbuf = (char *)bufplc; }
void setpalookupaddress(char *paladdr) { ghlinepal = paladdr; }
void setuphlineasm4(int bxinc, int byinc) { gbxinc = bxinc; gbyinc = byinc; }
void hlineasm4(int cnt, int skiploadincs, int paloffs, unsigned int by, unsigned int bx, int p)
void hlineasm4(int cnt, int skiploadincs, int paloffs, unsigned int by, unsigned int bx, intptr_t p)
{
char *palptr;
@ -51,24 +52,24 @@ void hlineasm4(int cnt, int skiploadincs, int paloffs, unsigned int by, unsigned
//Sloped ceiling/floor vertical line functions
void setupslopevlin(int logylogx, int bufplc, int pinc)
void setupslopevlin(int logylogx, intptr_t bufplc, int pinc)
{
glogx = (logylogx&255); glogy = (logylogx>>8);
gbuf = (char *)bufplc; gpinc = pinc;
}
void slopevlin(int p, int i, int slopaloffs, int cnt, int bx, int by)
void slopevlin(intptr_t p, int i, intptr_t slopaloffs, int cnt, int bx, int by)
{
int *slopalptr, bz, bzinc;
unsigned int u, v;
bz = asm3; bzinc = (asm1>>3);
slopalptr = (int *)slopaloffs;
slopalptr = (int* )slopaloffs;
for (;cnt>0;cnt--)
{
i = krecip(bz>>6); bz += bzinc;
u = bx+globalx3*i;
v = by+globaly3*i;
(*(char *)p) = *(char *)(slopalptr[0]+gbuf[((u>>(32-glogx))<<glogy)+(v>>(32-glogy))]);
(*(char *)p) = *(char *)(((intptr_t)slopalptr[0])+gbuf[((u>>(32-glogx))<<glogy)+(v>>(32-glogy))]);
slopalptr--;
p += gpinc;
}
@ -77,7 +78,7 @@ void slopevlin(int p, int i, int slopaloffs, int cnt, int bx, int by)
//Wall,face sprite/wall sprite vertical line functions
void setupvlineasm(int neglogy) { glogy = neglogy; }
void vlineasm1(int vinc, int paloffs, int cnt, unsigned int vplc, int bufplc, int p)
void vlineasm1(int vinc, intptr_t paloffs, int cnt, unsigned int vplc, intptr_t bufplc, intptr_t p)
{
gbuf = (char *)bufplc;
gpal = (char *)paloffs;
@ -90,7 +91,7 @@ void vlineasm1(int vinc, int paloffs, int cnt, unsigned int vplc, int bufplc, in
}
void setupmvlineasm(int neglogy) { glogy = neglogy; }
void mvlineasm1(int vinc, int paloffs, int cnt, unsigned int vplc, int bufplc, int p)
void mvlineasm1(int vinc, intptr_t paloffs, int cnt, unsigned int vplc, intptr_t bufplc, intptr_t p)
{
char ch;
@ -105,7 +106,7 @@ void mvlineasm1(int vinc, int paloffs, int cnt, unsigned int vplc, int bufplc, i
}
void setuptvlineasm(int neglogy) { glogy = neglogy; }
void tvlineasm1(int vinc, int paloffs, int cnt, unsigned int vplc, int bufplc, int p)
void tvlineasm1(int vinc, intptr_t paloffs, int cnt, unsigned int vplc, intptr_t bufplc, intptr_t p)
{
char ch;
@ -135,7 +136,7 @@ void tvlineasm1(int vinc, int paloffs, int cnt, unsigned int vplc, int bufplc, i
//Floor sprite horizontal line functions
void msethlineshift(int logx, int logy) { glogx = logx; glogy = logy; }
void mhline(int bufplc, unsigned int bx, int cntup16, int junk, unsigned int by, int p)
void mhline(intptr_t bufplc, unsigned int bx, int cntup16, int junk, unsigned int by, intptr_t p)
{
char ch;
@ -152,7 +153,7 @@ void mhline(int bufplc, unsigned int bx, int cntup16, int junk, unsigned int by,
}
void tsethlineshift(int logx, int logy) { glogx = logx; glogy = logy; }
void thline(int bufplc, unsigned int bx, int cntup16, int junk, unsigned int by, int p)
void thline(intptr_t bufplc, unsigned int bx, int cntup16, int junk, unsigned int by, intptr_t p)
{
char ch;
@ -184,14 +185,14 @@ void thline(int bufplc, unsigned int bx, int cntup16, int junk, unsigned int by,
//Rotatesprite vertical line functions
void setupspritevline(int paloffs, int bxinc, int byinc, int ysiz)
void setupspritevline(intptr_t paloffs, int bxinc, int byinc, int ysiz)
{
gpal = (char *)paloffs;
gbxinc = bxinc;
gbyinc = byinc;
glogy = ysiz;
}
void spritevline(int bx, int by, int cnt, int bufplc, int p)
void spritevline(int bx, int by, int cnt, intptr_t bufplc, intptr_t p)
{
gbuf = (char *)bufplc;
for (;cnt>1;cnt--)
@ -204,14 +205,14 @@ void spritevline(int bx, int by, int cnt, int bufplc, int p)
}
//Rotatesprite vertical line functions
void msetupspritevline(int paloffs, int bxinc, int byinc, int ysiz)
void msetupspritevline(intptr_t paloffs, int bxinc, int byinc, int ysiz)
{
gpal = (char *)paloffs;
gbxinc = bxinc;
gbyinc = byinc;
glogy = ysiz;
}
void mspritevline(int bx, int by, int cnt, int bufplc, int p)
void mspritevline(int bx, int by, int cnt, intptr_t bufplc, intptr_t p)
{
char ch;
@ -226,14 +227,14 @@ void mspritevline(int bx, int by, int cnt, int bufplc, int p)
}
}
void tsetupspritevline(int paloffs, int bxinc, int byinc, int ysiz)
void tsetupspritevline(intptr_t paloffs, int bxinc, int byinc, int ysiz)
{
gpal = (char *)paloffs;
gbxinc = bxinc;
gbyinc = byinc;
glogy = ysiz;
}
void tspritevline(int bx, int by, int cnt, int bufplc, int p)
void tspritevline(int bx, int by, int cnt, intptr_t bufplc, intptr_t p)
{
char ch;
@ -262,10 +263,10 @@ void tspritevline(int bx, int by, int cnt, int bufplc, int p)
}
}
void setupdrawslab(int dabpl, int pal)
void setupdrawslab(int dabpl, intptr_t pal)
{ bpl = dabpl; gpal = (char *)pal; }
void drawslab(int dx, int v, int dy, int vi, int vptr, int p)
void drawslab(int dx, int v, int dy, int vi, intptr_t vptr, intptr_t p)
{
int x;
@ -276,7 +277,7 @@ void drawslab(int dx, int v, int dy, int vi, int vptr, int p)
}
}
void stretchhline(int p0, int u, int cnt, int uinc, int rptr, int p)
void stretchhline(intptr_t p0, int u, int cnt, int uinc, intptr_t rptr, intptr_t p)
{
p0 = p-(cnt<<2);
do

View file

@ -61,7 +61,7 @@ int editorgridextent = 131072;
#define MAXYSIZ 256
#define MAXZSIZ 255
#define MAXVOXMIPS 5
int voxoff[MAXVOXELS][MAXVOXMIPS]; char voxlock[MAXVOXELS][MAXVOXMIPS];
intptr_t voxoff[MAXVOXELS][MAXVOXMIPS]; char voxlock[MAXVOXELS][MAXVOXMIPS];
int voxscale[MAXVOXELS];
static int ggxinc[MAXXSIZ+1], ggyinc[MAXXSIZ+1];
@ -581,7 +581,7 @@ static int swplc[MAXXDIM], lplc[MAXXDIM];
static int swall[MAXXDIM], lwall[MAXXDIM+4];
int xdimen = -1, xdimenrecip, halfxdimen, xdimenscale, xdimscale;
int wx1, wy1, wx2, wy2, ydimen;
int /*viewoffset,*/ frameoffset;
intptr_t /*viewoffset,*/ frameoffset;
static int nrx1[8], nry1[8], nrx2[8], nry2[8]; // JBF 20031206: Thanks Ken
@ -600,7 +600,7 @@ char globparaceilclip, globparaflorclip;
int xyaspect, viewingrangerecip;
int asm1, asm2, asm3, asm4;
intptr_t asm1, asm2, asm3, asm4;
int vplce[4], vince[4], palookupoffse[4], bufplce[4];
char globalxshift, globalyshift;
int globalxpanning, globalypanning, globalshade;
@ -868,8 +868,9 @@ skipitaddwall:
//
static void maskwallscan(int x1, int x2, short *uwal, short *dwal, int *swal, int *lwal)
{
int i, x, startx, xnice, ynice, fpalookup;
int y1ve[4], y2ve[4], u4, d4, dax, z, p, tsizx, tsizy;
int i, x,/* startx,*/ xnice, ynice, fpalookup;
intptr_t startx, p;
int y1ve[4], y2ve[4], u4, d4, dax, z,/* p,*/ tsizx, tsizy;
char bad;
tsizx = tilesizx[globalpicnum];
@ -1177,7 +1178,7 @@ static void slowhline(int xr, int yp)
asm1 = globalx1*r;
asm2 = globaly2*r;
asm3 = (int)globalpalwritten + ((int)getpalookup((int)mulscale16(r,globvis),globalshade)<<8);
asm3 = (intptr_t)globalpalwritten + ((intptr_t)getpalookup((int)mulscale16(r,globvis),globalshade)<<8);
if (!(globalorientation&256))
{
mhline(globalbufplc,globaly1*r+globalxpanning-asm1*(xr-xl),(xr-xl)<<16,0L,
@ -1376,7 +1377,7 @@ static int owallmost(short *mostbuf, int w, int z)
y = (scale(z,xdimenscale,iy1)<<4);
yinc = ((scale(z,xdimenscale,iy2)<<4)-y) / (ix2-ix1+1);
qinterpolatedown16short((int)&mostbuf[ix1],ix2-ix1+1,y+(globalhoriz<<16),yinc);
qinterpolatedown16short((intptr_t)&mostbuf[ix1],ix2-ix1+1,y+(globalhoriz<<16),yinc);
if (mostbuf[ix1] < 0) mostbuf[ix1] = 0;
if (mostbuf[ix1] > ydimen) mostbuf[ix1] = ydimen;
@ -1534,7 +1535,7 @@ static int wallmost(short *mostbuf, int w, int sectnum, char dastat)
y = (scale(z1,xdimenscale,iy1)<<4);
yinc = ((scale(z2,xdimenscale,iy2)<<4)-y) / (ix2-ix1+1);
qinterpolatedown16short((int)&mostbuf[ix1],ix2-ix1+1,y+(globalhoriz<<16),yinc);
qinterpolatedown16short((intptr_t)&mostbuf[ix1],ix2-ix1+1,y+(globalhoriz<<16),yinc);
if (mostbuf[ix1] < 0) mostbuf[ix1] = 0;
if (mostbuf[ix1] > ydimen) mostbuf[ix1] = ydimen;
@ -2045,7 +2046,9 @@ static void wallscan(int x1, int x2, short *uwal, short *dwal, int *swal, int *l
//
static void transmaskvline(int x)
{
int vplc, vinc, p, i, palookupoffs, bufplc;
int vplc, vinc, i;
intptr_t palookupoffs;
intptr_t bufplc,p;
short y1v, y2v;
if ((x < 0) || (x >= xdimen)) return;
@ -2387,7 +2390,7 @@ static void grouscan(int dax1, int dax2, int sectnum, char dastat)
globalx3 = (globalx2>>10);
globaly3 = (globaly2>>10);
asm3 = mulscale16(y2,globalzd) + (globalzx>>6);
slopevlin(ylookup[y2]+x+frameoffset,krecipasm(asm3>>3),(int)nptr2,y2-y1+1,globalx1,globaly1);
slopevlin(ylookup[y2]+x+frameoffset,krecipasm(asm3>>3),(intptr_t)nptr2,y2-y1+1,globalx1,globaly1);
if ((x&15) == 0) faketimerhandler();
}
@ -2916,7 +2919,8 @@ static void drawvox(int dasprx, int daspry, int dasprz, int dasprang,
int cosang, sinang, sprcosang, sprsinang, backx, backy, gxinc, gyinc;
int daxsiz, daysiz, dazsiz, daxpivot, daypivot, dazpivot;
int daxscalerecip, dayscalerecip, cnt, gxstart, gystart, odayscale;
int l1, l2, slabxoffs, xyvoxoffs, *longptr;
int l1, l2, /*slabxoffs,*/ xyvoxoffs, *longptr;
intptr_t slabxoffs;
int lx, rx, nx, ny, x1=0, y1=0, z1, x2=0, y2=0, z2, yplc, yinc=0;
int yoff, xs=0, ys=0, xe, ye, xi=0, yi=0, cbackx, cbacky, dagxinc, dagyinc;
short *shortptr;
@ -3086,7 +3090,7 @@ static void drawvox(int dasprx, int daspry, int dasprz, int dasprang,
for (x=xs;x!=xe;x+=xi)
{
slabxoffs = (int)&davoxptr[B_LITTLE32(longptr[x])];
slabxoffs = (intptr_t)&davoxptr[B_LITTLE32(longptr[x])];
shortptr = (short *)&davoxptr[((x*(daysiz+1))<<1)+xyvoxoffs];
nx = mulscale16(ggxstart+ggxinc[x],viewingrangerecip)+x1;
@ -3147,7 +3151,7 @@ static void drawvox(int dasprx, int daspry, int dasprz, int dasprang,
if (z2 > dadmost[lx]) z2 = dadmost[lx];
z2 -= z1; if (z2 <= 0) continue;
drawslab(rx,yplc,z2,yinc,(int)&voxptr[3],ylookup[z1]+lx+frameoffset);
drawslab(rx,yplc,z2,yinc,(intptr_t)&voxptr[3],ylookup[z1]+lx+frameoffset);
}
}
}
@ -3396,7 +3400,7 @@ static void drawsprite(int snum)
globalzd = (((globalposz-z2)*globalyscale)<<8);
}
qinterpolatedown16((int)&lwall[lx],rx-lx+1,linum,linuminc);
qinterpolatedown16((intptr_t)&lwall[lx],rx-lx+1,linum,linuminc);
clearbuf(&swall[lx],rx-lx+1,mulscale19(yp,xdimscale));
if ((cstat&2) == 0)
@ -3858,7 +3862,7 @@ static void drawsprite(int snum)
{
yinc = divscale16(ysi[zz]-ysi[z],xsi[zz]-xsi[z]);
y = ysi[z] + mulscale16((dax1<<16)-xsi[z],yinc);
qinterpolatedown16short((int)(&uwall[dax1]),dax2-dax1,y,yinc);
qinterpolatedown16short((intptr_t)(&uwall[dax1]),dax2-dax1,y,yinc);
}
}
@ -3873,7 +3877,7 @@ static void drawsprite(int snum)
{
yinc = divscale16(ysi[zz]-ysi[z],xsi[zz]-xsi[z]);
y = ysi[zz] + mulscale16((dax1<<16)-xsi[zz],yinc);
qinterpolatedown16short((int)(&dwall[dax1]),dax2-dax1,y,yinc);
qinterpolatedown16short((intptr_t)(&dwall[dax1]),dax2-dax1,y,yinc);
}
}
@ -4229,8 +4233,9 @@ static void drawmaskwall(short damaskwallcnt)
static void fillpolygon(int npoints)
{
int z, zz, x1, y1, x2, y2, miny, maxy, y, xinc, cnt;
int ox, oy, bx, by, p, day1, day2;
int ox, oy, bx, by, day1, day2;
short *ptr, *ptr2;
intptr_t p;
#if defined POLYMOST && defined USE_OPENGL
if (rendmode >= 3) { polymost_fillpolygon(npoints); return; }
@ -4612,7 +4617,8 @@ static int clippoly4(int cx1, int cy1, int cx2, int cy2)
static void dorotatesprite(int sx, int sy, int z, short a, short picnum, signed char dashade, char dapalnum, char dastat, int cx1, int cy1, int cx2, int cy2, int uniqid)
{
int cosang, sinang, v, nextv, dax1, dax2, oy, bx, by, ny1, ny2;
int i, x, y, x1, y1, x2, y2, gx1, gy1, p, bufplc, palookupoffs;
int i, x, y, x1, y1, x2, y2, gx1, gy1 ;
intptr_t p, bufplc, palookupoffs;
int xsiz, ysiz, xoff, yoff, npoints, yplc, yinc, lx, rx, xx, xend;
int xv, yv, xv2, yv2, qlinemode=0, y1ve[4], y2ve[4], u4, d4;
char bad;
@ -4706,12 +4712,12 @@ static void dorotatesprite(int sx, int sy, int z, short a, short picnum, signed
if (dax2 > dax1)
{
yplc = y1 + mulscale16((dax1<<16)+65535-x1,yinc);
qinterpolatedown16short((int)(&uplc[dax1]),dax2-dax1,yplc,yinc);
qinterpolatedown16short((intptr_t)(&uplc[dax1]),dax2-dax1,yplc,yinc);
}
else
{
yplc = y2 + mulscale16((dax2<<16)+65535-x2,yinc);
qinterpolatedown16short((int)(&dplc[dax2]),dax1-dax2,yplc,yinc);
qinterpolatedown16short((intptr_t)(&dplc[dax2]),dax1-dax2,yplc,yinc);
}
}
nextv = v;
@ -10019,7 +10025,8 @@ void setpalettefade(char r, char g, char b, char offset)
//
void clearview(int dacol)
{
int p, y, dx;
intptr_t p;
int y, dx;
if (qsetmode != 200) return;
@ -10273,7 +10280,8 @@ void preparemirror(int dax, int day, int daz, short daang, int dahoriz, short da
//
void completemirror(void)
{
int i, dy, p;
int i, dy;
intptr_t p;
#ifdef POLYMOST
if (rendmode) return;
@ -10508,7 +10516,8 @@ void setfirstwall(short sectnum, short newfirstwall)
//
void drawline256(int x1, int y1, int x2, int y2, char col)
{
int dx, dy, i, j, p, inc, plc, daend;
int dx, dy, i, j, inc, plc, daend;
intptr_t p;
col = palookup[0][col];
@ -10621,8 +10630,9 @@ unsigned int drawlinepat = 0xffffffff;
void drawline16(int x1, int y1, int x2, int y2, char col)
{
int i, dx, dy, p, pinc, d;
int i, dx, dy, pinc, d;
unsigned int patc=0;
intptr_t p;
dx = x2-x1; dy = y2-y1;
if (dx >= 0)
@ -10705,7 +10715,8 @@ void drawline16(int x1, int y1, int x2, int y2, char col)
void drawcircle16(int x1, int y1, int r, char col)
{
#if 1
int p, xp, yp, xpbpl, ypbpl, d, de, dse, patc=0;
intptr_t p;
int xp, yp, xpbpl, ypbpl, d, de, dse, patc=0;
if (r < 0) r = -r;
if (x1+r < 0 || x1-r >= xres) return;
@ -10992,7 +11003,8 @@ char spritecol2d[MAXTILES][2];
void draw2dscreen(int posxe, int posye, short ange, int zoome, short gride)
{
walltype *wal;
int i, j, xp1, yp1, xp2, yp2, tempint;
int i, j, xp1, yp1, xp2, yp2;
intptr_t tempint;
char col;
if (qsetmode == 200) return;

View file

@ -181,14 +181,14 @@ void copybufreverse(void *S, void *D, int c)
// Generic C version
//
void qinterpolatedown16(int bufptr, int num, int val, int add)
void qinterpolatedown16(intptr_t bufptr, int num, int val, int add)
{
// gee, I wonder who could have provided this...
int i, *lptr = (int *)bufptr;
for (i=0;i<num;i++) { lptr[i] = (val>>16); val += add; }
}
void qinterpolatedown16short(int bufptr, int num, int val, int add)
void qinterpolatedown16short(intptr_t bufptr, int num, int val, int add)
{
// ...maybe the same person who provided this too?
int i; short *sptr = (short *)bufptr;

View file

@ -104,7 +104,8 @@ static void ProcessMouse(void);
// video
static int desktopxdim=0,desktopydim=0,desktopbpp=0,modesetusing=-1;
int xres=-1, yres=-1, fullscreen=0, bpp=0, bytesperline=0, imageSize=0;
int frameplace=0, lockcount=0;
intptr frameplace=0;
int lockcount=0;
static int curvidmode = -1;
static int customxdim = 640, customydim = 480, custombpp = 8, customfs = 0;
static unsigned modeschecked=0;
@ -2300,11 +2301,11 @@ void begindrawing(void)
if (!fullscreen)
{
frameplace = (int)lpPixels;
frameplace = (intptr_t)lpPixels;
}
else
{
frameplace = (int)lpOffscreen;
frameplace = (intptr_t)lpOffscreen;
}
if (!modechange) return;