mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-24 02:30:46 +00:00
Part 1 of 64-bit patch from Stephen Anthony
git-svn-id: https://svn.eduke32.com/eduke32@618 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
2f4028c265
commit
fad541b377
16 changed files with 114 additions and 67 deletions
|
@ -48,6 +48,7 @@ endif
|
|||
|
||||
ifeq ($(PLATFORM),LINUX)
|
||||
RENDERTYPE=SDL
|
||||
BUILDCFLAGS+= -DHAVE_INTTYPES
|
||||
|
||||
GTKCOMPAT32=0
|
||||
ifeq ($(findstring x86_64,$(shell uname -m)),x86_64)
|
||||
|
@ -57,16 +58,20 @@ ifeq ($(PLATFORM),LINUX)
|
|||
BUILDCFLAGS+= -m32
|
||||
#override WITHOUT_GTK=0
|
||||
GTKCOMPAT32=1
|
||||
else
|
||||
override NOASM=1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifeq ($(PLATFORM),WINDOWS)
|
||||
RENDERTYPE ?= WIN
|
||||
BUILDCFLAGS+= -DHAVE_INTTYPES
|
||||
EXESUFFIX=.exe
|
||||
LIBS+= -lmingwex -lwinmm -L$(DXROOT)/lib -lwsock32 -lcomctl32 #-lshfolder
|
||||
endif
|
||||
ifeq ($(PLATFORM),BSD)
|
||||
RENDERTYPE=SDL
|
||||
BUILDCFLAGS+= -DHAVE_INTTYPES
|
||||
endif
|
||||
ifeq ($(PLATFORM),BEOS)
|
||||
RENDERTYPE=SDL
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
#ifndef __baselayer_h__
|
||||
#define __baselayer_h__
|
||||
|
||||
#include "compat.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
@ -22,7 +24,8 @@ extern int startwin_settitle(const char *);
|
|||
extern int startwin_idle(void *);
|
||||
|
||||
// video
|
||||
extern int xres, yres, bpp, fullscreen, bytesperline, imageSize, frameplace;
|
||||
extern int xres, yres, bpp, fullscreen, bytesperline, imageSize;
|
||||
extern intptr_t frameplace;
|
||||
extern char offscreenrendering;
|
||||
|
||||
extern void (*baselayer_onvideomodechange)(int);
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
#ifndef __build_h__
|
||||
#define __build_h__
|
||||
|
||||
#include "compat.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
@ -188,8 +190,9 @@ EXTERN spritetype *sprite;
|
|||
EXTERN int spritesortcnt;
|
||||
EXTERN spritetype *tsprite;
|
||||
|
||||
EXTERN int xdim, ydim, ylookup[MAXYDIM+1], numpages;
|
||||
EXTERN int xdim, ydim, numpages;
|
||||
EXTERN int yxaspect, viewingrange;
|
||||
EXTERN intptr_t ylookup[MAXYDIM+1];
|
||||
|
||||
#define MAXVALIDMODES 256
|
||||
EXTERN int validmodecnt;
|
||||
|
@ -226,7 +229,8 @@ EXTERN short tilesizx[MAXTILES], tilesizy[MAXTILES];
|
|||
EXTERN char picsiz[MAXTILES];
|
||||
EXTERN char walock[MAXTILES];
|
||||
EXTERN int pow2long[32];
|
||||
EXTERN int numtiles, picanm[MAXTILES], waloff[MAXTILES];
|
||||
EXTERN int numtiles, picanm[MAXTILES];
|
||||
EXTERN intptr_t waloff[MAXTILES]; // stores pointers to cache -- SA
|
||||
|
||||
EXTERN int windowpos, windowx, windowy;
|
||||
|
||||
|
|
|
@ -3,13 +3,15 @@
|
|||
#ifndef __cache1d_h__
|
||||
#define __cache1d_h__
|
||||
|
||||
#include "compat.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void initcache(int dacachestart, int dacachesize);
|
||||
void allocache(int *newhandle, int newbytes, char *newlockptr);
|
||||
void suckcache(int *suckptr);
|
||||
void initcache(intptr_t dacachestart, int dacachesize);
|
||||
void allocache(intptr_t *newhandle, int newbytes, char *newlockptr);
|
||||
void suckcache(intptr_t *suckptr);
|
||||
void agecache(void);
|
||||
|
||||
extern int pathsearchmode; // 0 = gamefs mode (default), 1 = localfs mode (editor's mode)
|
||||
|
|
|
@ -5,6 +5,13 @@
|
|||
#ifndef __compat_h__
|
||||
#define __compat_h__
|
||||
|
||||
// This gives us access to 'intptr_t' and 'uintptr_t', which are
|
||||
// abstractions to the size of a pointer on a given platform
|
||||
// (ie, they're guaranteed to be the same size as a pointer)
|
||||
#ifdef HAVE_INTTYPES
|
||||
# include <inttypes.h>
|
||||
#endif
|
||||
|
||||
// Define this to rewrite all 'B' versions to library functions. This
|
||||
// is for platforms which give us a standard sort of C library so we
|
||||
// link directly. Platforms like PalmOS which don't have a standard C
|
||||
|
|
|
@ -79,7 +79,8 @@ extern char vgacompatible;
|
|||
extern char picsiz[MAXTILES];
|
||||
extern int startposx, startposy, startposz;
|
||||
extern short startang, startsectnum;
|
||||
extern int frameplace, ydim16, halfxdim16, midydim16;
|
||||
extern int ydim16, halfxdim16, midydim16;
|
||||
extern intptr_t frameplace;
|
||||
int xdim2d = 640, ydim2d = 480, xdimgame = 640, ydimgame = 480, bppgame = 8;
|
||||
int forcesetup = 1;
|
||||
|
||||
|
|
|
@ -37,16 +37,16 @@ static int kzipopen(char *filnam)
|
|||
// Step 1: Allocate a nice BIG buffer, like from 1MB-4MB and
|
||||
// Call initcache(int cachestart, int cachesize) where
|
||||
//
|
||||
// cachestart = (int)(pointer to start of BIG buffer)
|
||||
// cachestart = (intptr_t)(pointer to start of BIG buffer)
|
||||
// cachesize = length of BIG buffer
|
||||
//
|
||||
// Step 2: Call allocache(int *bufptr, int bufsiz, char *lockptr)
|
||||
// Step 2: Call allocache(intptr_t *bufptr, int bufsiz, char *lockptr)
|
||||
// whenever you need to allocate a buffer, where:
|
||||
//
|
||||
// *bufptr = pointer to 4-byte pointer to buffer
|
||||
// *bufptr = pointer to multi-byte pointer to buffer
|
||||
// Confused? Using this method, cache2d can remove
|
||||
// previously allocated things from the cache safely by
|
||||
// setting the 4-byte pointer to 0.
|
||||
// setting the multi-byte pointer to 0.
|
||||
// bufsiz = number of bytes to allocate
|
||||
// *lockptr = pointer to locking char which tells whether
|
||||
// the region can be removed or not. If *lockptr = 0 then
|
||||
|
@ -64,8 +64,9 @@ static int kzipopen(char *filnam)
|
|||
static int cachesize = 0;
|
||||
int cachecount = 0;
|
||||
char zerochar = 0;
|
||||
int cachestart = 0, cacnum = 0, agecount = 0;
|
||||
typedef struct { int *hand, leng; char *lock ; } cactype;
|
||||
intptr_t cachestart = 0;
|
||||
int cacnum = 0, agecount = 0;
|
||||
typedef struct { intptr_t *hand, leng; char *lock ; } cactype;
|
||||
cactype cac[MAXCACHEOBJECTS];
|
||||
static int lockrecip[200];
|
||||
|
||||
|
@ -79,14 +80,25 @@ static void reportandexit(char *errormessage);
|
|||
extern char pow2char[8];
|
||||
|
||||
|
||||
void initcache(int dacachestart, int dacachesize)
|
||||
void initcache(intptr_t dacachestart, int dacachesize)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i=1;i<200;i++) lockrecip[i] = (1<<28)/(200-i);
|
||||
|
||||
cachestart = dacachestart;
|
||||
cachesize = dacachesize;
|
||||
// The following code was relocated here from engine.c, since this
|
||||
// function is only ever called once (from there), and it seems to
|
||||
// really belong here:
|
||||
//
|
||||
// initcache((FP_OFF(pic)+15)&0xfffffff0,(cachesize-((-FP_OFF(pic))&15))&0xfffffff0);
|
||||
//
|
||||
// I'm not sure why it's necessary, but the code is making sure the
|
||||
// cache starts on a multiple of 16 bytes?? -- SA
|
||||
|
||||
//printf("BEFORE: cachestart = %x, cachesize = %d\n", dacachestart, dacachesize);
|
||||
cachestart = ((uintptr_t)dacachestart+15)&~(uintptr_t)0xf;
|
||||
cachesize = (dacachesize-((-(uintptr_t)(dacachestart))&0xf))&~(uintptr_t)0xf;
|
||||
//printf("AFTER : cachestart = %x, cachesize = %d\n", cachestart, cachesize);
|
||||
|
||||
cac[0].leng = cachesize;
|
||||
cac[0].lock = &zerochar;
|
||||
|
@ -95,16 +107,19 @@ void initcache(int dacachestart, int dacachesize)
|
|||
initprintf("initcache(): Initialised with %d bytes\n", dacachesize);
|
||||
}
|
||||
|
||||
void allocache(int *newhandle, int newbytes, char *newlockptr)
|
||||
void allocache(intptr_t *newhandle, int newbytes, char *newlockptr)
|
||||
{
|
||||
int i, /*j,*/ z, zz, bestz=0, daval, bestval, besto=0, o1, o2, sucklen, suckz;
|
||||
|
||||
newbytes = ((newbytes+15)&0xfffffff0);
|
||||
|
||||
//printf(" ==> asking for %d bytes, ", newbytes);
|
||||
// Make all requests a multiple of 16 bytes
|
||||
newbytes = (newbytes+15)&0xfffffff0;
|
||||
//printf("allocated %d bytes\n", newbytes);
|
||||
|
||||
if ((unsigned)newbytes > (unsigned)cachesize)
|
||||
{
|
||||
Bprintf("Cachesize: %d\n",cachesize);
|
||||
Bprintf("*Newhandle: 0x%x, Newbytes: %d, *Newlock: %d\n",(int)newhandle,newbytes,*newlockptr);
|
||||
Bprintf("*Newhandle: 0x%x, Newbytes: %d, *Newlock: %d\n",(intptr_t)newhandle,newbytes,*newlockptr);
|
||||
reportandexit("BUFFER TOO BIG TO FIT IN CACHE!");
|
||||
}
|
||||
|
||||
|
@ -147,7 +162,7 @@ void allocache(int *newhandle, int newbytes, char *newlockptr)
|
|||
//Remove all blocks except 1
|
||||
suckz -= (bestz+1); cacnum -= suckz;
|
||||
copybufbyte(&cac[bestz+suckz],&cac[bestz],(cacnum-bestz)*sizeof(cactype));
|
||||
cac[bestz].hand = newhandle; *newhandle = cachestart+besto;
|
||||
cac[bestz].hand = newhandle; *newhandle = cachestart+(intptr_t)besto;
|
||||
cac[bestz].leng = newbytes;
|
||||
cac[bestz].lock = newlockptr;
|
||||
cachecount++;
|
||||
|
@ -172,7 +187,7 @@ void allocache(int *newhandle, int newbytes, char *newlockptr)
|
|||
cac[bestz].lock = &zerochar;
|
||||
}
|
||||
|
||||
void suckcache(int *suckptr)
|
||||
void suckcache(intptr_t *suckptr)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -1096,11 +1111,11 @@ int kdfread(void *buffer, bsize_t dasizeof, bsize_t count, int fil)
|
|||
char *ptr;
|
||||
|
||||
lzwbuflock[0] = lzwbuflock[1] = lzwbuflock[2] = lzwbuflock[3] = lzwbuflock[4] = 200;
|
||||
if (lzwbuf1 == NULL) allocache((int *)&lzwbuf1,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[0]);
|
||||
if (lzwbuf2 == NULL) allocache((int *)&lzwbuf2,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[1]);
|
||||
if (lzwbuf3 == NULL) allocache((int *)&lzwbuf3,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[2]);
|
||||
if (lzwbuf4 == NULL) allocache((int *)&lzwbuf4,LZWSIZE,&lzwbuflock[3]);
|
||||
if (lzwbuf5 == NULL) allocache((int *)&lzwbuf5,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[4]);
|
||||
if (lzwbuf1 == NULL) allocache((intptr_t *)&lzwbuf1,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[0]);
|
||||
if (lzwbuf2 == NULL) allocache((intptr_t *)&lzwbuf2,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[1]);
|
||||
if (lzwbuf3 == NULL) allocache((intptr_t *)&lzwbuf3,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[2]);
|
||||
if (lzwbuf4 == NULL) allocache((intptr_t *)&lzwbuf4,LZWSIZE,&lzwbuflock[3]);
|
||||
if (lzwbuf5 == NULL) allocache((intptr_t *)&lzwbuf5,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[4]);
|
||||
|
||||
if (dasizeof > LZWSIZE) { count *= dasizeof; dasizeof = 1; }
|
||||
ptr = (char *)buffer;
|
||||
|
@ -1135,11 +1150,11 @@ int dfread(void *buffer, bsize_t dasizeof, bsize_t count, BFILE *fil)
|
|||
char *ptr;
|
||||
|
||||
lzwbuflock[0] = lzwbuflock[1] = lzwbuflock[2] = lzwbuflock[3] = lzwbuflock[4] = 200;
|
||||
if (lzwbuf1 == NULL) allocache((int *)&lzwbuf1,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[0]);
|
||||
if (lzwbuf2 == NULL) allocache((int *)&lzwbuf2,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[1]);
|
||||
if (lzwbuf3 == NULL) allocache((int *)&lzwbuf3,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[2]);
|
||||
if (lzwbuf4 == NULL) allocache((int *)&lzwbuf4,LZWSIZE,&lzwbuflock[3]);
|
||||
if (lzwbuf5 == NULL) allocache((int *)&lzwbuf5,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[4]);
|
||||
if (lzwbuf1 == NULL) allocache((intptr_t *)&lzwbuf1,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[0]);
|
||||
if (lzwbuf2 == NULL) allocache((intptr_t *)&lzwbuf2,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[1]);
|
||||
if (lzwbuf3 == NULL) allocache((intptr_t *)&lzwbuf3,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[2]);
|
||||
if (lzwbuf4 == NULL) allocache((intptr_t *)&lzwbuf4,LZWSIZE,&lzwbuflock[3]);
|
||||
if (lzwbuf5 == NULL) allocache((intptr_t *)&lzwbuf5,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[4]);
|
||||
|
||||
if (dasizeof > LZWSIZE) { count *= dasizeof; dasizeof = 1; }
|
||||
ptr = (char *)buffer;
|
||||
|
@ -1174,11 +1189,11 @@ void kdfwrite(void *buffer, bsize_t dasizeof, bsize_t count, int fil)
|
|||
char *ptr;
|
||||
|
||||
lzwbuflock[0] = lzwbuflock[1] = lzwbuflock[2] = lzwbuflock[3] = lzwbuflock[4] = 200;
|
||||
if (lzwbuf1 == NULL) allocache((int *)&lzwbuf1,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[0]);
|
||||
if (lzwbuf2 == NULL) allocache((int *)&lzwbuf2,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[1]);
|
||||
if (lzwbuf3 == NULL) allocache((int *)&lzwbuf3,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[2]);
|
||||
if (lzwbuf4 == NULL) allocache((int *)&lzwbuf4,LZWSIZE,&lzwbuflock[3]);
|
||||
if (lzwbuf5 == NULL) allocache((int *)&lzwbuf5,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[4]);
|
||||
if (lzwbuf1 == NULL) allocache((intptr_t *)&lzwbuf1,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[0]);
|
||||
if (lzwbuf2 == NULL) allocache((intptr_t *)&lzwbuf2,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[1]);
|
||||
if (lzwbuf3 == NULL) allocache((intptr_t *)&lzwbuf3,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[2]);
|
||||
if (lzwbuf4 == NULL) allocache((intptr_t *)&lzwbuf4,LZWSIZE,&lzwbuflock[3]);
|
||||
if (lzwbuf5 == NULL) allocache((intptr_t *)&lzwbuf5,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[4]);
|
||||
|
||||
if (dasizeof > LZWSIZE) { count *= dasizeof; dasizeof = 1; }
|
||||
ptr = (char *)buffer;
|
||||
|
@ -1218,11 +1233,11 @@ void dfwrite(void *buffer, bsize_t dasizeof, bsize_t count, BFILE *fil)
|
|||
char *ptr;
|
||||
|
||||
lzwbuflock[0] = lzwbuflock[1] = lzwbuflock[2] = lzwbuflock[3] = lzwbuflock[4] = 200;
|
||||
if (lzwbuf1 == NULL) allocache((int *)&lzwbuf1,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[0]);
|
||||
if (lzwbuf2 == NULL) allocache((int *)&lzwbuf2,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[1]);
|
||||
if (lzwbuf3 == NULL) allocache((int *)&lzwbuf3,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[2]);
|
||||
if (lzwbuf4 == NULL) allocache((int *)&lzwbuf4,LZWSIZE,&lzwbuflock[3]);
|
||||
if (lzwbuf5 == NULL) allocache((int *)&lzwbuf5,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[4]);
|
||||
if (lzwbuf1 == NULL) allocache((intptr_t *)&lzwbuf1,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[0]);
|
||||
if (lzwbuf2 == NULL) allocache((intptr_t *)&lzwbuf2,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[1]);
|
||||
if (lzwbuf3 == NULL) allocache((intptr_t *)&lzwbuf3,(LZWSIZE+(LZWSIZE>>4))*2,&lzwbuflock[2]);
|
||||
if (lzwbuf4 == NULL) allocache((intptr_t *)&lzwbuf4,LZWSIZE,&lzwbuflock[3]);
|
||||
if (lzwbuf5 == NULL) allocache((intptr_t *)&lzwbuf5,LZWSIZE+(LZWSIZE>>4),&lzwbuflock[4]);
|
||||
|
||||
if (dasizeof > LZWSIZE) { count *= dasizeof; dasizeof = 1; }
|
||||
ptr = (char *)buffer;
|
||||
|
|
|
@ -70,7 +70,7 @@ static int lowrecip[1024], nytooclose, nytoofar;
|
|||
static unsigned int distrecip[65536];
|
||||
#endif
|
||||
|
||||
static int *lookups = NULL;
|
||||
static intptr_t *lookups = NULL;
|
||||
static char lookupsalloctype = 255;
|
||||
int dommxoverlay = 1, beforedrawrooms = 1, indrawroomsandmasks = 0;
|
||||
|
||||
|
@ -586,7 +586,8 @@ int /*viewoffset,*/ frameoffset;
|
|||
static int nrx1[8], nry1[8], nrx2[8], nry2[8]; // JBF 20031206: Thanks Ken
|
||||
|
||||
static int rxi[8], ryi[8], rzi[8], rxi2[8], ryi2[8], rzi2[8];
|
||||
static int xsi[8], ysi[8], *horizlookup=0, *horizlookup2=0, horizycent;
|
||||
static int xsi[8], ysi[8], horizycent;
|
||||
static intptr_t *horizlookup=0, *horizlookup2=0;
|
||||
|
||||
int globalposx, globalposy, globalposz, globalhoriz;
|
||||
short globalang, globalcursectnum;
|
||||
|
@ -604,7 +605,8 @@ int vplce[4], vince[4], palookupoffse[4], bufplce[4];
|
|||
char globalxshift, globalyshift;
|
||||
int globalxpanning, globalypanning, globalshade;
|
||||
short globalpicnum, globalshiftval;
|
||||
int globalzd, globalbufplc, globalyscale, globalorientation;
|
||||
int globalzd, globalyscale, globalorientation;
|
||||
intptr_t globalbufplc;
|
||||
int globalx1, globaly1, globalx2, globaly2, globalx3, globaly3, globalzx;
|
||||
int globalx, globaly, globalz;
|
||||
|
||||
|
@ -1157,7 +1159,7 @@ static void hline(int xr, int yp)
|
|||
asm2 = globaly2*r;
|
||||
s = ((int)getpalookup((int)mulscale16(r,globvis),globalshade)<<8);
|
||||
|
||||
hlineasm4(xr-xl,0L,s,globalx2*r+globalypanning,globaly1*r+globalxpanning,
|
||||
hlineasm4(xr-xl,0,s,globalx2*r+globalypanning,globaly1*r+globalxpanning,
|
||||
ylookup[yp]+xr+frameoffset);
|
||||
}
|
||||
|
||||
|
@ -5220,9 +5222,9 @@ static void loadpalette(void)
|
|||
kread(fil,&numpalookups,2); numpalookups = B_LITTLE16(numpalookups);
|
||||
|
||||
if ((palookup[0] = (char *)kkmalloc(numpalookups<<8)) == NULL)
|
||||
allocache((int*)&palookup[0],numpalookups<<8,&permanentlock);
|
||||
allocache((intptr_t*)&palookup[0],numpalookups<<8,&permanentlock);
|
||||
if ((transluc = (char *)kkmalloc(65536L)) == NULL)
|
||||
allocache((int*)&transluc,65536,&permanentlock);
|
||||
allocache((intptr_t*)&transluc,65536,&permanentlock);
|
||||
|
||||
globalpalwritten = palookup[0]; globalpal = 0;
|
||||
setpalookupaddress(globalpalwritten);
|
||||
|
@ -7672,23 +7674,23 @@ int setgamemode(char davidoption, int daxdim, int daydim, int dabpp)
|
|||
|
||||
xdim = daxdim; ydim = daydim;
|
||||
|
||||
j = ydim*4*sizeof(int); //Leave room for horizlookup&horizlookup2
|
||||
j = ydim*4*sizeof(intptr_t); //Leave room for horizlookup&horizlookup2
|
||||
|
||||
if (lookups != NULL)
|
||||
{
|
||||
if (lookupsalloctype == 0) kkfree((void *)lookups);
|
||||
if (lookupsalloctype == 1) suckcache((int *)lookups);
|
||||
if (lookupsalloctype == 1) suckcache(lookups);
|
||||
lookups = NULL;
|
||||
}
|
||||
lookupsalloctype = 0;
|
||||
if ((lookups = (int *)kkmalloc(j<<1)) == NULL)
|
||||
if ((lookups = (intptr_t *)kkmalloc(j<<1)) == NULL)
|
||||
{
|
||||
allocache((int *)&lookups,j<<1,&permanentlock);
|
||||
allocache((intptr_t *)&lookups,j<<1,&permanentlock);
|
||||
lookupsalloctype = 1;
|
||||
}
|
||||
|
||||
horizlookup = (int *)(lookups);
|
||||
horizlookup2 = (int *)(FP_OFF(lookups)+j);
|
||||
horizlookup = lookups;
|
||||
horizlookup2 = (intptr_t *)((intptr_t)lookups+j); // FIXME_SA
|
||||
horizycent = ((ydim*4)>>1);
|
||||
|
||||
//Force drawrooms to call dosetaspect & recalculate stuff
|
||||
|
@ -7875,7 +7877,7 @@ int loadpics(char *filename, int askedsize)
|
|||
cachesize -= 65536L;
|
||||
if (cachesize < 65536) return(-1);
|
||||
}
|
||||
initcache((FP_OFF(pic)+15)&0xfffffff0,(cachesize-((-FP_OFF(pic))&15))&0xfffffff0);
|
||||
initcache((intptr_t) pic, cachesize);
|
||||
|
||||
for (i=0;i<MAXTILES;i++)
|
||||
{
|
||||
|
@ -9809,7 +9811,7 @@ void makepalookup(int palnum, char *remapbuf, signed char r, signed char g, sign
|
|||
{
|
||||
//Allocate palookup buffer
|
||||
if ((palookup[palnum] = (char *)kkmalloc(numpalookups<<8)) == NULL)
|
||||
allocache((int*)&palookup[palnum],numpalookups<<8,&permanentlock);
|
||||
allocache((intptr_t*)&palookup[palnum],numpalookups<<8,&permanentlock);
|
||||
}
|
||||
|
||||
if (dastat == 0) return;
|
||||
|
|
|
@ -52,7 +52,8 @@ char quitevent=0, appactive=1;
|
|||
// video
|
||||
static SDL_Surface *sdl_surface;
|
||||
int xres=-1, yres=-1, bpp=0, fullscreen=0, bytesperline, imageSize;
|
||||
int frameplace=0, lockcount=0;
|
||||
intptr_t frameplace=0;
|
||||
int lockcount=0;
|
||||
char modechange=1;
|
||||
char offscreenrendering=0;
|
||||
char videomodereset = 0;
|
||||
|
@ -459,7 +460,7 @@ void setjoypresscallback(void(*callback)(int, int)) { joypresscallback = callbac
|
|||
int initmouse(void)
|
||||
{
|
||||
moustat=1;
|
||||
grabmouse(1);
|
||||
grabmouse(1); // FIXME - SA
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1162,7 +1163,7 @@ void begindrawing(void)
|
|||
if (offscreenrendering) return;
|
||||
|
||||
if (SDL_MUSTLOCK(sdl_surface)) SDL_LockSurface(sdl_surface);
|
||||
frameplace = (int)sdl_surface->pixels;
|
||||
frameplace = (intptr_t)sdl_surface->pixels;
|
||||
|
||||
if (sdl_surface->pitch != bytesperline || modechange)
|
||||
{
|
||||
|
|
|
@ -9,7 +9,7 @@ POLYMOST = 1
|
|||
USE_OPENGL = 1
|
||||
NOASM = 0
|
||||
LINKED_GTK = 0
|
||||
BUILD32_ON_64 = 1
|
||||
BUILD32_ON_64 = 0
|
||||
|
||||
# Debugging options
|
||||
RELEASE?=1
|
||||
|
|
|
@ -23,6 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
//-------------------------------------------------------------------------
|
||||
#include "duke3d.h"
|
||||
#include "gamedef.h"
|
||||
#include "compat.h"
|
||||
|
||||
extern int numenvsnds;
|
||||
extern int actor_tog;
|
||||
|
|
|
@ -25,6 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include "duke3d.h"
|
||||
#include "animlib.h"
|
||||
#include "mouse.h"
|
||||
#include "compat.h"
|
||||
|
||||
void endanimsounds(int fr)
|
||||
{
|
||||
|
@ -226,7 +227,7 @@ void playanm(const char *fn,char t)
|
|||
|
||||
walock[TILE_ANIM] = 219+t;
|
||||
|
||||
allocache((int *)&animbuf,length,&walock[TILE_ANIM]);
|
||||
allocache((intptr_t *)&animbuf,length,&walock[TILE_ANIM]);
|
||||
|
||||
tilesizx[TILE_ANIM] = 200;
|
||||
tilesizy[TILE_ANIM] = 320;
|
||||
|
@ -283,7 +284,7 @@ void playanm(const char *fn,char t)
|
|||
else if (ud.volume_number == 1) ototalclock += 18;
|
||||
else ototalclock += 10;
|
||||
|
||||
waloff[TILE_ANIM] = FP_OFF(ANIM_DrawFrame(i));
|
||||
waloff[TILE_ANIM] = (intptr_t)ANIM_DrawFrame(i);
|
||||
invalidatetile(TILE_ANIM, 0, 1<<4); // JBF 20031228
|
||||
rotatesprite(0<<16,0<<16,65536L,512,TILE_ANIM,0,0,2+4+8+16+64, 0,0,xdim-1,ydim-1);
|
||||
nextpage();
|
||||
|
|
|
@ -586,13 +586,15 @@ extern int screenpeek;
|
|||
|
||||
extern int current_menu;
|
||||
extern int tempwallptr,animatecnt;
|
||||
extern int lockclock,frameplace;
|
||||
extern int lockclock;
|
||||
extern intptr_t frameplace;
|
||||
extern char display_mirror,loadfromgrouponly,rtsplaying;
|
||||
|
||||
extern int groupfile;
|
||||
extern int ototalclock;
|
||||
|
||||
extern int *animateptr[MAXANIMATES], animategoal[MAXANIMATES];
|
||||
extern int *animateptr[MAXANIMATES];
|
||||
extern int animategoal[MAXANIMATES];
|
||||
extern int animatevel[MAXANIMATES];
|
||||
// extern int oanimateval[MAXANIMATES];
|
||||
extern short neartagsector, neartagwall, neartagsprite;
|
||||
|
|
|
@ -4054,7 +4054,7 @@ void displayrooms(int snum,int smoothratio)
|
|||
{
|
||||
walock[TILE_SAVESHOT] = 199;
|
||||
if (waloff[TILE_SAVESHOT] == 0)
|
||||
allocache((int *)&waloff[TILE_SAVESHOT],200*320,&walock[TILE_SAVESHOT]);
|
||||
allocache(&waloff[TILE_SAVESHOT],200*320,&walock[TILE_SAVESHOT]);
|
||||
setviewtotile(TILE_SAVESHOT,200L,320L);
|
||||
}
|
||||
else if (getrendermode() == 0 && ((ud.screen_tilting && p->rotscrnang) || ud.detail==0))
|
||||
|
|
|
@ -20,6 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
#include "compat.h"
|
||||
|
||||
#define TICSPERFRAME 3
|
||||
|
||||
// #define VULGARITY
|
||||
|
@ -139,7 +141,8 @@ extern char custom2dcolors;
|
|||
extern char mlook;
|
||||
|
||||
int intro=0;
|
||||
extern int frameplace, ydim16, halfxdim16, midydim16, zoom;
|
||||
extern int ydim16, halfxdim16, midydim16, zoom;
|
||||
extern intptr_t frameplace;
|
||||
extern char pow2char[8];
|
||||
|
||||
static int acurpalette=0;
|
||||
|
|
|
@ -576,7 +576,7 @@ int saveplayer(int spot)
|
|||
if (!waloff[TILE_SAVESHOT])
|
||||
{
|
||||
walock[TILE_SAVESHOT] = 254;
|
||||
allocache((int *)&waloff[TILE_SAVESHOT],200*320,&walock[TILE_SAVESHOT]);
|
||||
allocache(&waloff[TILE_SAVESHOT],200*320,&walock[TILE_SAVESHOT]);
|
||||
clearbuf((void*)waloff[TILE_SAVESHOT],(200*320)/4,0);
|
||||
walock[TILE_SAVESHOT] = 1;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue