GLuint gTexBlurName=0;\r
GLuint gTexFrameName=0;\r
int iTexGarbageCollection=1;\r
-unsigned long dwTexPageComp=0;\r
+unsigned int dwTexPageComp=0;\r
int iVRamSize=0;\r
int iClampType=GL_CLAMP_TO_EDGE;\r
int iFilter = GL_LINEAR;\r
void (*LoadSubTexFn) (int,int,short,short);\r
-unsigned long (*PalTexturedColourFn) (unsigned long);\r
+unsigned int (*PalTexturedColourFn) (unsigned int);\r
\r
////////////////////////////////////////////////////////////////////////\r
// defines\r
\r
////////////////////////////////////////////////////////////////////////\r
\r
-unsigned char * CheckTextureInSubSCache(long TextureMode,unsigned long GivenClutId,unsigned short * pCache);\r
+unsigned char * CheckTextureInSubSCache(int TextureMode,unsigned int GivenClutId,unsigned short * pCache);\r
void LoadSubTexturePageSort(int pageid, int mode, short cx, short cy);\r
void LoadPackedSubTexturePageSort(int pageid, int mode, short cx, short cy);\r
void DefineSubTextureSort(void);\r
// some globals\r
////////////////////////////////////////////////////////////////////////\r
\r
-long GlobalTexturePage;\r
+int GlobalTexturePage;\r
GLint XTexS;\r
GLint YTexS;\r
GLint DXTexS;\r
int iFrameTexType=0;\r
int iFrameReadType=0;\r
\r
-unsigned long (*TCF[2]) (unsigned long);\r
+unsigned int (*TCF[2]) (unsigned int);\r
unsigned short (*PTCF[2]) (unsigned short);\r
\r
////////////////////////////////////////////////////////////////////////\r
\r
typedef struct textureWndCacheEntryTag\r
{\r
- unsigned long ClutID;\r
+ unsigned int ClutID;\r
short pageid;\r
short textureMode;\r
short Opaque;\r
\r
typedef struct textureSubCacheEntryTagS \r
{\r
- unsigned long ClutID;\r
+ unsigned int ClutID;\r
EXLong pos;\r
unsigned char posTX;\r
unsigned char posTY;\r
\r
GLubyte * texturepart=NULL;\r
GLubyte * texturebuffer=NULL;\r
-unsigned long g_x1,g_y1,g_x2,g_y2;\r
+unsigned int g_x1,g_y1,g_x2,g_y2;\r
unsigned char ubOpaqueDraw=0;\r
\r
unsigned short MAXTPAGES = 32;\r
// porting... and honestly: nowadays the speed gain would be pointless \r
////////////////////////////////////////////////////////////////////////\r
\r
-unsigned long XP8RGBA(unsigned long BGR)\r
+unsigned int XP8RGBA(unsigned int BGR)\r
{\r
if(!(BGR&0xffff)) return 0x50000000;\r
if(DrawSemiTrans && !(BGR&0x8000)) \r
return ((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff)|0xff000000;\r
}\r
\r
-unsigned long XP8RGBAEx(unsigned long BGR)\r
+unsigned int XP8RGBAEx(unsigned int BGR)\r
{\r
if(!(BGR&0xffff)) return 0x03000000;\r
if(DrawSemiTrans && !(BGR&0x8000)) \r
return ((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff)|0xff000000;\r
}\r
\r
-unsigned long CP8RGBA(unsigned long BGR)\r
+unsigned int CP8RGBA(unsigned int BGR)\r
{\r
- unsigned long l;\r
+ unsigned int l;\r
if(!(BGR&0xffff)) return 0x50000000;\r
if(DrawSemiTrans && !(BGR&0x8000)) \r
{ubOpaqueDraw=1;return ((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff);}\r
return l;\r
}\r
\r
-unsigned long CP8RGBAEx(unsigned long BGR)\r
+unsigned int CP8RGBAEx(unsigned int BGR)\r
{\r
- unsigned long l;\r
+ unsigned int l;\r
if(!(BGR&0xffff)) return 0x03000000;\r
if(DrawSemiTrans && !(BGR&0x8000)) \r
{ubOpaqueDraw=1;return ((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff);}\r
return l;\r
}\r
\r
-unsigned long XP8RGBA_0(unsigned long BGR)\r
+unsigned int XP8RGBA_0(unsigned int BGR)\r
{\r
if(!(BGR&0xffff)) return 0x50000000;\r
return ((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff)|0xff000000;\r
}\r
\r
-unsigned long XP8RGBAEx_0(unsigned long BGR)\r
+unsigned int XP8RGBAEx_0(unsigned int BGR)\r
{\r
if(!(BGR&0xffff)) return 0x03000000;\r
return ((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff)|0xff000000;\r
}\r
\r
-unsigned long XP8BGRA_0(unsigned long BGR)\r
+unsigned int XP8BGRA_0(unsigned int BGR)\r
{\r
if(!(BGR&0xffff)) return 0x50000000;\r
return ((((BGR>>7)&0xf8)|((BGR<<6)&0xf800)|((BGR<<19)&0xf80000))&0xffffff)|0xff000000;\r
}\r
\r
-unsigned long XP8BGRAEx_0(unsigned long BGR)\r
+unsigned int XP8BGRAEx_0(unsigned int BGR)\r
{\r
if(!(BGR&0xffff)) return 0x03000000;\r
return ((((BGR>>7)&0xf8)|((BGR<<6)&0xf800)|((BGR<<19)&0xf80000))&0xffffff)|0xff000000;\r
}\r
\r
-unsigned long CP8RGBA_0(unsigned long BGR)\r
+unsigned int CP8RGBA_0(unsigned int BGR)\r
{\r
- unsigned long l;\r
+ unsigned int l;\r
\r
if(!(BGR&0xffff)) return 0x50000000;\r
l=((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff)|0xff000000;\r
return l;\r
}\r
\r
-unsigned long CP8RGBAEx_0(unsigned long BGR)\r
+unsigned int CP8RGBAEx_0(unsigned int BGR)\r
{\r
- unsigned long l;\r
+ unsigned int l;\r
\r
if(!(BGR&0xffff)) return 0x03000000;\r
l=((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff)|0xff000000;\r
return l;\r
}\r
\r
-unsigned long CP8BGRA_0(unsigned long BGR)\r
+unsigned int CP8BGRA_0(unsigned int BGR)\r
{\r
- unsigned long l;\r
+ unsigned int l;\r
\r
if(!(BGR&0xffff)) return 0x50000000;\r
l=((((BGR>>7)&0xf8)|((BGR<<6)&0xf800)|((BGR<<19)&0xf80000))&0xffffff)|0xff000000;\r
return l;\r
}\r
\r
-unsigned long CP8BGRAEx_0(unsigned long BGR)\r
+unsigned int CP8BGRAEx_0(unsigned int BGR)\r
{\r
- unsigned long l;\r
+ unsigned int l;\r
\r
if(!(BGR&0xffff)) return 0x03000000;\r
l=((((BGR>>7)&0xf8)|((BGR<<6)&0xf800)|((BGR<<19)&0xf80000))&0xffffff)|0xff000000;\r
return l;\r
}\r
\r
-unsigned long XP8RGBA_1(unsigned long BGR)\r
+unsigned int XP8RGBA_1(unsigned int BGR)\r
{\r
if(!(BGR&0xffff)) return 0x50000000;\r
if(!(BGR&0x8000)) {ubOpaqueDraw=1;return ((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff);}\r
return ((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff)|0xff000000;\r
}\r
\r
-unsigned long XP8RGBAEx_1(unsigned long BGR)\r
+unsigned int XP8RGBAEx_1(unsigned int BGR)\r
{\r
if(!(BGR&0xffff)) return 0x03000000;\r
if(!(BGR&0x8000)) {ubOpaqueDraw=1;return ((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff);}\r
return ((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff)|0xff000000;\r
}\r
\r
-unsigned long XP8BGRA_1(unsigned long BGR)\r
+unsigned int XP8BGRA_1(unsigned int BGR)\r
{\r
if(!(BGR&0xffff)) return 0x50000000;\r
if(!(BGR&0x8000)) {ubOpaqueDraw=1;return ((((BGR>>7)&0xf8)|((BGR<<6)&0xf800)|((BGR<<19)&0xf80000))&0xffffff);}\r
return ((((BGR>>7)&0xf8)|((BGR<<6)&0xf800)|((BGR<<19)&0xf80000))&0xffffff)|0xff000000;\r
}\r
\r
-unsigned long XP8BGRAEx_1(unsigned long BGR)\r
+unsigned int XP8BGRAEx_1(unsigned int BGR)\r
{\r
if(!(BGR&0xffff)) return 0x03000000;\r
if(!(BGR&0x8000)) {ubOpaqueDraw=1;return ((((BGR>>7)&0xf8)|((BGR<<6)&0xf800)|((BGR<<19)&0xf80000))&0xffffff);}\r
return ((((BGR>>7)&0xf8)|((BGR<<6)&0xf800)|((BGR<<19)&0xf80000))&0xffffff)|0xff000000;\r
}\r
\r
-unsigned long P8RGBA(unsigned long BGR)\r
+unsigned int P8RGBA(unsigned int BGR)\r
{\r
if(!(BGR&0xffff)) return 0;\r
return ((((BGR<<3)&0xf8)|((BGR<<6)&0xf800)|((BGR<<9)&0xf80000))&0xffffff)|0xff000000;\r
}\r
\r
-unsigned long P8BGRA(unsigned long BGR)\r
+unsigned int P8BGRA(unsigned int BGR)\r
{\r
if(!(BGR&0xffff)) return 0;\r
return ((((BGR>>7)&0xf8)|((BGR<<6)&0xf800)|((BGR<<19)&0xf80000))&0xffffff)|0xff000000;\r
return;\r
}\r
\r
+#if 1\r
+ iSortTexCnt=MAXSORTTEX;\r
+#else // below vram detector supposedly crashes some drivers\r
\r
iTSize=256;\r
p=(char *)malloc(iTSize*iTSize*4);\r
else iSortTexCnt=iCnt-3+min(1,0); // place for menu&texwnd\r
\r
if(iSortTexCnt<8) iSortTexCnt=8;\r
+#endif\r
} \r
\r
////////////////////////////////////////////////////////////////////////\r
int i,j;textureWndCacheEntry * tsx;\r
//----------------------------------------------------//\r
glBindTexture(GL_TEXTURE_2D,0);\r
+ glError();\r
//----------------------------------------------------//\r
free(texturepart); // free tex part\r
texturepart=0;\r
{\r
if(tsx->texname) // -> some tex?\r
glDeleteTextures(1,&tsx->texname); // --> delete it\r
+ glError();\r
}\r
iMaxTexWnds=0; // no more tex wnds\r
//----------------------------------------------------//\r
if(gTexMovieName!=0) // some movie tex?\r
glDeleteTextures(1, &gTexMovieName); // -> delete it\r
+ glError();\r
gTexMovieName=0; // no more movie tex\r
//----------------------------------------------------//\r
if(gTexFrameName!=0) // some 15bit framebuffer tex?\r
glDeleteTextures(1, &gTexFrameName); // -> delete it\r
+ glError();\r
gTexFrameName=0; // no more movie tex\r
//----------------------------------------------------//\r
if(gTexBlurName!=0) // some 15bit framebuffer tex?\r
glDeleteTextures(1, &gTexBlurName); // -> delete it\r
+ glError();\r
gTexBlurName=0; // no more movie tex\r
//----------------------------------------------------//\r
for(i=0;i<3;i++) // -> loop\r
for(j=0;j<MAXTPAGES;j++) // loop tex pages\r
{\r
free(pscSubtexStore[i][j]); // -> clean mem\r
+ pscSubtexStore[i][j]=0;\r
}\r
for(i=0;i<MAXSORTTEX;i++)\r
{\r
if(uiStexturePage[i]) // --> tex used ?\r
{\r
glDeleteTextures(1,&uiStexturePage[i]);\r
+ glError();\r
uiStexturePage[i]=0; // --> delete it\r
}\r
free(pxSsubtexLeft[i]); // -> clean mem\r
+ pxSsubtexLeft[i]=0;\r
}\r
//----------------------------------------------------//\r
}\r
dwTexPageComp=0;\r
\r
//----------------------------------------------------//\r
- if(bDelTex) {glBindTexture(GL_TEXTURE_2D,0);gTexName=0;}\r
+ if(bDelTex) {glBindTexture(GL_TEXTURE_2D,0); glError();gTexName=0;}\r
//----------------------------------------------------//\r
tsx=wcWndtexStore;\r
for(i=0;i<MAXWNDTEXCACHE;i++,tsx++)\r
tsx->used=0;\r
if(bDelTex && tsx->texname)\r
{\r
- glDeleteTextures(1,&tsx->texname);\r
+ glDeleteTextures(1,&tsx->texname); glError();\r
tsx->texname=0;\r
}\r
}\r
lu=pxSsubtexLeft[i];\r
lu->l=0;\r
if(bDelTex && uiStexturePage[i])\r
- {glDeleteTextures(1,&uiStexturePage[i]);uiStexturePage[i]=0;}\r
+ {glDeleteTextures(1,&uiStexturePage[i]); glError();uiStexturePage[i]=0;}\r
}\r
}\r
\r
// Invalidate tex windows\r
////////////////////////////////////////////////////////////////////////\r
\r
-void InvalidateWndTextureArea(long X,long Y,long W, long H)\r
+void InvalidateWndTextureArea(int X,int Y,int W, int H)\r
{\r
int i,px1,px2,py1,py2,iYM=1;\r
textureWndCacheEntry * tsw=wcWndtexStore;\r
}\r
}\r
\r
-void InvalidateSubSTextureArea(long X,long Y,long W, long H)\r
+void InvalidateSubSTextureArea(int X,int Y,int W, int H)\r
{\r
int i,j,k,iMax,px,py,px1,px2,py1,py2,iYM=1;\r
EXLong npos;textureSubCacheEntryS * tsb;\r
- long x1,x2,y1,y2,xa,sw;\r
+ int x1,x2,y1,y2,xa,sw;\r
\r
W+=X-1; \r
H+=Y-1;\r
\r
////////////////////////////////////////////////////////////////////////\r
\r
-void InvalidateTextureArea(long X,long Y,long W, long H)\r
+void InvalidateTextureArea(int X,int Y,int W, int H)\r
{\r
if(W==0 && H==0) return;\r
\r
{\r
if(gTexName==0)\r
glGenTextures(1, &gTexName);\r
-\r
+ glError();\r
glBindTexture(GL_TEXTURE_2D, gTexName);\r
-\r
+ glError();\r
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);\r
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);\r
- \r
+ glError(); \r
{\r
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter);\r
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter);\r
+ glError();\r
}\r
\r
glTexImage2D(GL_TEXTURE_2D, 0,GL_RGBA, \r
TWin.Position.x1, \r
TWin.Position.y1, \r
0, GL_RGBA, GL_UNSIGNED_BYTE, texturepart);\r
+ glError();\r
+ //LOGE("DefineTextureWnd x:%d y:%d",TWin.Position.x1,TWin.Position.y1);\r
+\r
}\r
\r
////////////////////////////////////////////////////////////////////////\r
\r
void LoadStretchPackedWndTexturePage(int pageid, int mode, short cx, short cy)\r
{\r
- unsigned long start,row,column,j,sxh,sxm,ldx,ldy,ldxo;\r
+ unsigned int start,row,column,j,sxh,sxm,ldx,ldy,ldxo;\r
unsigned int palstart;\r
unsigned short *px,*pa,*ta;\r
unsigned char *cSRCPtr,*cOSRCPtr;\r
unsigned short *wSRCPtr,*wOSRCPtr;\r
- unsigned long LineOffset;unsigned short s;\r
+ unsigned int LineOffset;unsigned short s;\r
int pmult=pageid/16;\r
unsigned short (*LPTCOL)(unsigned short);\r
\r
\r
void LoadStretchWndTexturePage(int pageid, int mode, short cx, short cy)\r
{\r
- unsigned long start,row,column,j,sxh,sxm,ldx,ldy,ldxo,s;\r
+ unsigned int start,row,column,j,sxh,sxm,ldx,ldy,ldxo,s;\r
unsigned int palstart;\r
- unsigned long *px,*pa,*ta;\r
+ unsigned int *px,*pa,*ta;\r
unsigned char *cSRCPtr,*cOSRCPtr;\r
unsigned short *wSRCPtr,*wOSRCPtr;\r
- unsigned long LineOffset;\r
+ unsigned int LineOffset;\r
int pmult=pageid/16;\r
- unsigned long (*LTCOL)(unsigned long);\r
+ unsigned int (*LTCOL)(unsigned int);\r
\r
LTCOL=TCF[DrawSemiTrans];\r
\r
ldxo=TWin.Position.x1-TWin.OPosition.x1;\r
ldy =TWin.Position.y1-TWin.OPosition.y1;\r
\r
- pa=px=(unsigned long *)ubPaletteBuffer;\r
- ta=(unsigned long *)texturepart;\r
+ pa=px=(unsigned int *)ubPaletteBuffer;\r
+ ta=(unsigned int *)texturepart;\r
palstart=cx+(cy*1024);\r
\r
ubOpaqueDraw=0;\r
\r
void LoadPackedWndTexturePage(int pageid, int mode, short cx, short cy)\r
{\r
- unsigned long start,row,column,j,sxh,sxm;\r
+ unsigned int start,row,column,j,sxh,sxm;\r
unsigned int palstart;\r
unsigned short *px,*pa,*ta;\r
unsigned char *cSRCPtr;\r
unsigned short *wSRCPtr;\r
- unsigned long LineOffset;\r
+ unsigned int LineOffset;\r
int pmult=pageid/16;\r
unsigned short (*LPTCOL)(unsigned short);\r
\r
\r
void LoadWndTexturePage(int pageid, int mode, short cx, short cy)\r
{\r
- unsigned long start,row,column,j,sxh,sxm;\r
+ unsigned int start,row,column,j,sxh,sxm;\r
unsigned int palstart;\r
- unsigned long *px,*pa,*ta;\r
+ unsigned int *px,*pa,*ta;\r
unsigned char *cSRCPtr;\r
unsigned short *wSRCPtr;\r
- unsigned long LineOffset;\r
+ unsigned int LineOffset;\r
int pmult=pageid/16;\r
- unsigned long (*LTCOL)(unsigned long);\r
+ unsigned int (*LTCOL)(unsigned int);\r
\r
LTCOL=TCF[DrawSemiTrans];\r
\r
- pa=px=(unsigned long *)ubPaletteBuffer;\r
- ta=(unsigned long *)texturepart;\r
+ pa=px=(unsigned int *)ubPaletteBuffer;\r
+ ta=(unsigned int *)texturepart;\r
palstart=cx+(cy*1024);\r
\r
ubOpaqueDraw=0;\r
{\r
unsigned int i,iSize;\r
unsigned short * wSrcPtr;\r
- unsigned long * ta=(unsigned long *)texturepart;\r
+ unsigned int * ta=(unsigned int *)texturepart;\r
\r
wSrcPtr=psxVuw+cx+(cy*1024);\r
if(mode==0) i=4; else i=64;\r
{\r
if(gTexName==0)\r
glGenTextures(1, &gTexName);\r
-\r
+ glError();\r
glBindTexture(GL_TEXTURE_2D, gTexName);\r
-\r
+ glError();\r
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);\r
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);\r
- \r
+ glError();\r
{\r
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter);\r
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter);\r
}\r
-\r
+ glError();\r
glTexImage2D(GL_TEXTURE_2D, 0,GL_RGBA, \r
TWin.Position.x1, \r
TWin.Position.y1, \r
0, GL_RGBA, GL_UNSIGNED_BYTE,texturepart);\r
+ glError();\r
+ //LOGE("DefinePalTextureWnd x:%d y:%d",TWin.Position.x1,TWin.Position.y1);\r
}\r
\r
///////////////////////////////////////////////////////\r
\r
void LoadPalWndTexturePage(int pageid, int mode, short cx, short cy)\r
{\r
- unsigned long start,row,column,j,sxh,sxm;\r
+ unsigned int start,row,column,j,sxh,sxm;\r
unsigned char *ta;\r
unsigned char *cSRCPtr;\r
- unsigned long LineOffset;\r
+ unsigned int LineOffset;\r
int pmult=pageid/16;\r
\r
ta=(unsigned char *)texturepart;\r
\r
void LoadStretchPalWndTexturePage(int pageid, int mode, short cx, short cy)\r
{\r
- unsigned long start,row,column,j,sxh,sxm,ldx,ldy,ldxo;\r
+ unsigned int start,row,column,j,sxh,sxm,ldx,ldy,ldxo;\r
unsigned char *ta,s;\r
unsigned char *cSRCPtr,*cOSRCPtr;\r
- unsigned long LineOffset;\r
+ unsigned int LineOffset;\r
int pmult=pageid/16;\r
\r
ldxo=TWin.Position.x1-TWin.OPosition.x1;\r
// tex window: main selecting, cache handler included\r
////////////////////////////////////////////////////////////////////////\r
\r
-GLuint LoadTextureWnd(long pageid,long TextureMode,unsigned long GivenClutId)\r
+GLuint LoadTextureWnd(int pageid,int TextureMode,unsigned int GivenClutId)\r
{\r
textureWndCacheEntry * ts, * tsx=NULL;\r
int i;short cx,cy;\r
\r
// palette check sum\r
{\r
- unsigned long l=0,row;\r
- unsigned long * lSRCPtr=(unsigned long *)(psxVuw+cx+(cy*1024));\r
+ unsigned int l=0,row;\r
+ unsigned int * lSRCPtr=(unsigned int *)(psxVuw+cx+(cy*1024));\r
if(TextureMode==1) for(row=1;row<129;row++) l+=((*lSRCPtr++)-1)*row;\r
else for(row=1;row<9;row++) l+=((*lSRCPtr++)-1)<<row;\r
l=(l+HIWORD(l))&0x3fffL;\r
{\r
if(gTexMovieName==0)\r
{\r
- glGenTextures(1, &gTexMovieName);\r
+ glEnable(GL_TEXTURE_2D);\r
+ glGenTextures(1, &gTexMovieName); glError();\r
gTexName=gTexMovieName;\r
- glBindTexture(GL_TEXTURE_2D, gTexName);\r
+ glBindTexture(GL_TEXTURE_2D, gTexName); glError();\r
\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, iClampType);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, iClampType);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, iClampType); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, iClampType); glError();\r
\r
if(!bUseFastMdec) \r
{\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glError();\r
}\r
else\r
{\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter); glError();\r
}\r
\r
glTexImage2D(GL_TEXTURE_2D, 0, //giWantedRGBA, \r
GL_RGBA,\r
- 256, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, texturepart);\r
+ 256, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, texturepart); glError();\r
}\r
else \r
{\r
- gTexName=gTexMovieName;glBindTexture(GL_TEXTURE_2D, gTexName);\r
+ gTexName=gTexMovieName;glBindTexture(GL_TEXTURE_2D, gTexName); glError();\r
}\r
\r
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0,\r
(xrMovieArea.y1-xrMovieArea.y0), \r
GL_RGBA,\r
GL_UNSIGNED_SHORT,\r
- texturepart);\r
+ texturepart); glError();\r
+ //LOGE("DefinePackedTextureMovie x:%d y:%d",(xrMovieArea.x1-xrMovieArea.x0),(xrMovieArea.y1-xrMovieArea.y0));\r
+\r
}\r
\r
////////////////////////////////////////////////////////////////////////\r
{\r
if(gTexMovieName==0)\r
{\r
- glGenTextures(1, &gTexMovieName);\r
+ glGenTextures(1, &gTexMovieName); glError();\r
gTexName=gTexMovieName;\r
- glBindTexture(GL_TEXTURE_2D, gTexName);\r
+ glBindTexture(GL_TEXTURE_2D, gTexName); glError();\r
\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, iClampType);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, iClampType);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, iClampType); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, iClampType); glError();\r
\r
if(!bUseFastMdec) \r
{\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glError();\r
}\r
else\r
{\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter); glError();\r
}\r
\r
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 256, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, texturepart);\r
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 256, 256, 0, GL_RGBA, GL_UNSIGNED_BYTE, texturepart); glError();\r
}\r
else \r
{\r
- gTexName=gTexMovieName;glBindTexture(GL_TEXTURE_2D, gTexName);\r
+ gTexName=gTexMovieName;glBindTexture(GL_TEXTURE_2D, gTexName); glError();\r
}\r
\r
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0,\r
(xrMovieArea.x1-xrMovieArea.x0), \r
(xrMovieArea.y1-xrMovieArea.y0), \r
- GL_RGBA, GL_UNSIGNED_BYTE, texturepart);\r
+ GL_RGBA, GL_UNSIGNED_BYTE, texturepart); glError();\r
+ //LOGE("DefineTextureMovie x:%d y:%d",(xrMovieArea.x1-xrMovieArea.x0),(xrMovieArea.y1-xrMovieArea.y0));\r
}\r
\r
////////////////////////////////////////////////////////////////////////\r
\r
unsigned char * LoadDirectMovieFast(void)\r
{\r
- long row,column;\r
+ int row,column;\r
unsigned int startxy;\r
\r
- unsigned long * ta=(unsigned long *)texturepart;\r
+ unsigned int * ta=(unsigned int *)texturepart;\r
\r
if(PSXDisplay.RGB24)\r
{\r
pD=(unsigned char *)&psxVuw[startxy];\r
for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)\r
{\r
- *ta++=*((unsigned long *)pD)|0xff000000;\r
+ *ta++=*((unsigned int *)pD)|0xff000000;\r
pD+=3;\r
}\r
}\r
}\r
else\r
{\r
- unsigned long (*LTCOL)(unsigned long);\r
+ unsigned int (*LTCOL)(unsigned int);\r
\r
LTCOL=XP8RGBA_0;//TCF[0];\r
\r
\r
GLuint LoadTextureMovieFast(void)\r
{\r
- long row,column;\r
+ int row,column;\r
unsigned int start,startxy;\r
\r
{\r
if(PSXDisplay.RGB24)\r
{\r
unsigned char * pD;\r
- unsigned long * ta=(unsigned long *)texturepart;\r
+ unsigned int * ta=(unsigned int *)texturepart;\r
\r
startxy=((1024)*xrMovieArea.y0)+xrMovieArea.x0;\r
\r
pD=(unsigned char *)&psxVuw[startxy];\r
for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)\r
{\r
- *ta++=*((unsigned long *)pD)|0xff000000;\r
+ *ta++=*((unsigned int *)pD)|0xff000000;\r
pD+=3;\r
}\r
}\r
}\r
else\r
{\r
- unsigned long (*LTCOL)(unsigned long);\r
- unsigned long *ta;\r
+ unsigned int (*LTCOL)(unsigned int);\r
+ unsigned int *ta;\r
\r
LTCOL=XP8RGBA_0;//TCF[0];\r
\r
ubOpaqueDraw=0;\r
- ta=(unsigned long *)texturepart;\r
+ ta=(unsigned int *)texturepart;\r
\r
for(column=xrMovieArea.y0;column<xrMovieArea.y1;column++)\r
{\r
if(PSXDisplay.RGB24)\r
{\r
unsigned char * pD;\r
- unsigned long * ta=(unsigned long *)texturepart;\r
+ unsigned int * ta=(unsigned int *)texturepart;\r
\r
if(b_X)\r
{\r
pD=(unsigned char *)&psxVuw[startxy];\r
for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)\r
{\r
- *ta++=*((unsigned long *)pD)|0xff000000;\r
+ *ta++=*((unsigned int *)pD)|0xff000000;\r
pD+=3;\r
}\r
*ta++=*(ta-1);\r
pD=(unsigned char *)&psxVuw[startxy];\r
for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)\r
{\r
- *ta++=*((unsigned long *)pD)|0xff000000;\r
+ *ta++=*((unsigned int *)pD)|0xff000000;\r
pD+=3;\r
}\r
}\r
}\r
else\r
{\r
- unsigned long (*LTCOL)(unsigned long);\r
- unsigned long *ta;\r
+ unsigned int (*LTCOL)(unsigned int);\r
+ unsigned int *ta;\r
\r
LTCOL=XP8RGBA_0;//TCF[0];\r
\r
ubOpaqueDraw=0;\r
- ta=(unsigned long *)texturepart;\r
+ ta=(unsigned int *)texturepart;\r
\r
if(b_X)\r
{\r
\r
GLuint BlackFake15BitTexture(void)\r
{\r
- long pmult;short x1,x2,y1,y2;\r
+ int pmult;short x1,x2,y1,y2;\r
\r
if(PSXDisplay.InterlacedTest) return 0;\r
\r
{\r
if(!gTexFrameName)\r
{\r
- glGenTextures(1, &gTexFrameName);\r
+ glGenTextures(1, &gTexFrameName); glError();\r
gTexName=gTexFrameName;\r
- glBindTexture(GL_TEXTURE_2D, gTexName);\r
+ glBindTexture(GL_TEXTURE_2D, gTexName); glError();\r
\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, iClampType);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, iClampType);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, iClampType); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, iClampType); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter); glError();\r
\r
{\r
- unsigned long * ta=(unsigned long *)texturepart;\r
+ unsigned int * ta=(unsigned int *)texturepart;\r
for(y1=0;y1<=4;y1++)\r
for(x1=0;x1<=4;x1++)\r
*ta++=0xff000000;\r
}\r
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, texturepart);\r
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, texturepart); glError();\r
+\r
}\r
else\r
{\r
gTexName=gTexFrameName;\r
- glBindTexture(GL_TEXTURE_2D, gTexName);\r
+ glBindTexture(GL_TEXTURE_2D, gTexName); glError();\r
}\r
-\r
+ //LOGE("BlackFake15BitTexture x:%d y:%d",4,4);\r
ubOpaqueDraw=0;\r
\r
return (GLuint)gTexName;\r
\r
GLuint Fake15BitTexture(void)\r
{\r
- long pmult;short x1,x2,y1,y2;int iYAdjust;\r
+ int pmult;short x1,x2,y1,y2;int iYAdjust;\r
float ScaleX,ScaleY;RECT rSrc;\r
\r
if(iFrameTexType==1) return BlackFake15BitTexture();\r
if(iResX>640 || iResY>480) iFTex=1024;\r
else iFTex=512; \r
\r
- glGenTextures(1, &gTexFrameName);\r
+ glGenTextures(1, &gTexFrameName); glError();\r
gTexName=gTexFrameName;\r
- glBindTexture(GL_TEXTURE_2D, gTexName);\r
+ glBindTexture(GL_TEXTURE_2D, gTexName); glError();\r
\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, iClampType);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, iClampType);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, iClampType); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, iClampType); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter); glError();\r
\r
p=(char *)malloc(iFTex*iFTex*4);\r
memset(p,0,iFTex*iFTex*4);\r
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, iFTex, iFTex, 0, GL_RGBA, GL_UNSIGNED_BYTE, p);\r
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, iFTex, iFTex, 0, GL_RGBA, GL_UNSIGNED_BYTE, p); glError();\r
free(p);\r
\r
glGetError();\r
else \r
{\r
gTexName=gTexFrameName;\r
- glBindTexture(GL_TEXTURE_2D, gTexName);\r
+ glBindTexture(GL_TEXTURE_2D, gTexName); glError();\r
}\r
-\r
+ //LOGE("Fake15BitTexture x:%d y:%d",iFTex,iFTex);\r
x1+=PreviousPSXDisplay.Range.x0;\r
y1+=PreviousPSXDisplay.Range.y0;\r
\r
iYAdjust,\r
rSrc.left+rRatioRect.left,\r
iResY-rSrc.bottom-rRatioRect.top,\r
- x1,y1);\r
+ x1,y1); glError();\r
\r
if(glGetError()) \r
{\r
char * p=(char *)malloc(iFTex*iFTex*4);\r
memset(p,0,iFTex*iFTex*4);\r
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, iFTex, iFTex,\r
- GL_RGBA, GL_UNSIGNED_BYTE, p);\r
+ GL_RGBA, GL_UNSIGNED_BYTE, p); glError();\r
free(p);\r
}\r
\r
\r
void LoadSubTexturePageSort(int pageid, int mode, short cx, short cy)\r
{\r
- unsigned long start,row,column,j,sxh,sxm;\r
+ unsigned int start,row,column,j,sxh,sxm;\r
unsigned int palstart;\r
- unsigned long *px,*pa,*ta;\r
+ unsigned int *px,*pa,*ta;\r
unsigned char *cSRCPtr;\r
unsigned short *wSRCPtr;\r
- unsigned long LineOffset;\r
- unsigned long x2a,xalign=0;\r
- unsigned long x1=gl_ux[7];\r
- unsigned long x2=gl_ux[6];\r
- unsigned long y1=gl_ux[5];\r
- unsigned long y2=gl_ux[4];\r
- unsigned long dx=x2-x1+1;\r
- unsigned long dy=y2-y1+1;\r
+ unsigned int LineOffset;\r
+ unsigned int x2a,xalign=0;\r
+ unsigned int x1=gl_ux[7];\r
+ unsigned int x2=gl_ux[6];\r
+ unsigned int y1=gl_ux[5];\r
+ unsigned int y2=gl_ux[4];\r
+ unsigned int dx=x2-x1+1;\r
+ unsigned int dy=y2-y1+1;\r
int pmult=pageid/16;\r
- unsigned long (*LTCOL)(unsigned long);\r
+ unsigned int (*LTCOL)(unsigned int);\r
unsigned int a,r,g,b,cnt,h;\r
- unsigned long scol[8];\r
+ unsigned int scol[8];\r
\r
LTCOL=TCF[DrawSemiTrans];\r
\r
- pa=px=(unsigned long *)ubPaletteBuffer;\r
- ta=(unsigned long *)texturepart;\r
+ pa=px=(unsigned int *)ubPaletteBuffer;\r
+ ta=(unsigned int *)texturepart;\r
palstart=cx+(cy<<10);\r
\r
ubOpaqueDraw=0;\r
\r
if(YTexS)\r
{\r
- ta=(unsigned long *)texturepart;\r
- pa=(unsigned long *)texturepart+x2a;\r
+ ta=(unsigned int *)texturepart;\r
+ pa=(unsigned int *)texturepart+x2a;\r
row=x2a;do {*ta++=*pa++;row--;} while(row); \r
- pa=(unsigned long *)texturepart+dy*x2a;\r
+ pa=(unsigned int *)texturepart+dy*x2a;\r
ta=pa+x2a;\r
row=x2a;do {*ta++=*pa++;row--;} while(row);\r
YTexS--;\r
\r
if(XTexS)\r
{\r
- ta=(unsigned long *)texturepart;\r
+ ta=(unsigned int *)texturepart;\r
pa=ta+1;\r
row=dy;do {*ta=*pa;ta+=x2a;pa+=x2a;row--;} while(row);\r
- pa=(unsigned long *)texturepart+dx;\r
+ pa=(unsigned int *)texturepart+dx;\r
ta=pa+1;\r
row=dy;do {*ta=*pa;ta+=x2a;pa+=x2a;row--;} while(row);\r
XTexS--;\r
if((iFilterType==4 || iFilterType==6) && ly0==ly1 && ly2==ly3 && lx0==lx3 && lx1==lx2)\r
{DefineSubTextureSort();return;}\r
\r
- ta=(unsigned long *)texturepart;\r
+ ta=(unsigned int *)texturepart;\r
x1=dx-1;\r
y1=dy-1;\r
\r
\r
void LoadPackedSubTexturePageSort(int pageid, int mode, short cx, short cy)\r
{\r
- unsigned long start,row,column,j,sxh,sxm;\r
+ unsigned int start,row,column,j,sxh,sxm;\r
unsigned int palstart;\r
unsigned short *px,*pa,*ta;\r
unsigned char *cSRCPtr;\r
unsigned short *wSRCPtr;\r
- unsigned long LineOffset;\r
- unsigned long x2a,xalign=0;\r
- unsigned long x1=gl_ux[7];\r
- unsigned long x2=gl_ux[6];\r
- unsigned long y1=gl_ux[5];\r
- unsigned long y2=gl_ux[4];\r
- unsigned long dx=x2-x1+1;\r
- unsigned long dy=y2-y1+1;\r
+ unsigned int LineOffset;\r
+ unsigned int x2a,xalign=0;\r
+ unsigned int x1=gl_ux[7];\r
+ unsigned int x2=gl_ux[6];\r
+ unsigned int y1=gl_ux[5];\r
+ unsigned int y2=gl_ux[4];\r
+ unsigned int dx=x2-x1+1;\r
+ unsigned int dy=y2-y1+1;\r
int pmult=pageid/16;\r
unsigned short (*LPTCOL)(unsigned short);\r
unsigned int a,r,g,b,cnt,h;\r
\r
if(!gTexName) \r
{\r
- glGenTextures(1, &gTexName);\r
- glBindTexture(GL_TEXTURE_2D, gTexName);\r
+ glGenTextures(1, &gTexName); glError();\r
+ glBindTexture(GL_TEXTURE_2D, gTexName); glError();\r
\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, iClampType);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, iClampType);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, iClampType); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, iClampType); glError();\r
\r
if(iFilterType)\r
{\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glError();\r
}\r
else\r
{ \r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter); glError();\r
} \r
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 512, 512, 0, GL_RGBA, GL_UNSIGNED_BYTE, texturebuffer);\r
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 512, 512, 0, GL_RGBA, GL_UNSIGNED_BYTE, texturebuffer); glError();\r
}\r
- else glBindTexture(GL_TEXTURE_2D, gTexName);\r
+ else glBindTexture(GL_TEXTURE_2D, gTexName); glError();\r
\r
glTexSubImage2D(GL_TEXTURE_2D, 0, XTexS<<1, YTexS<<1,\r
DXTexS<<1, DYTexS<<1,\r
- GL_RGBA, GL_UNSIGNED_BYTE, texturebuffer);\r
+ GL_RGBA, GL_UNSIGNED_BYTE, texturebuffer); glError();\r
+ //LOGE("DefineSubTextureSortHiRes x:%d y:%d",XTexS<<1,YTexS<<1);\r
}\r
\r
/////////////////////////////////////////////////////////////////////////////\r
\r
if(!gTexName)\r
{\r
- glGenTextures(1, &gTexName);\r
- glBindTexture(GL_TEXTURE_2D, gTexName);\r
+ glGenTextures(1, &gTexName); glError();\r
+ glBindTexture(GL_TEXTURE_2D, gTexName); glError();\r
\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, iClampType);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, iClampType);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, iClampType); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, iClampType); glError();\r
\r
if(iFilterType)\r
{\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glError();\r
}\r
else\r
{\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter);\r
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter);\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, iFilter); glError();\r
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, iFilter); glError();\r
}\r
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 256, 256, 0,GL_RGBA, GL_UNSIGNED_BYTE, texturepart);\r
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 256, 256, 0,GL_RGBA, GL_UNSIGNED_BYTE, texturepart); glError();\r
}\r
- else glBindTexture(GL_TEXTURE_2D, gTexName);\r
+ else glBindTexture(GL_TEXTURE_2D, gTexName); glError();\r
\r
glTexSubImage2D(GL_TEXTURE_2D, 0, XTexS, YTexS,\r
DXTexS, DYTexS,\r
- GL_RGBA, GL_UNSIGNED_BYTE, texturepart);\r
+ GL_RGBA, GL_UNSIGNED_BYTE, texturepart); glError();\r
+ //LOGE("DefineSubTextureSort x:%d y:%d w:%d h:%d",XTexS,YTexS,DXTexS,DYTexS);\r
}\r
\r
/////////////////////////////////////////////////////////////////////////////\r
/////////////////////////////////////////////////////////////////////////////\r
/////////////////////////////////////////////////////////////////////////////\r
\r
-unsigned char * CheckTextureInSubSCache(long TextureMode,unsigned long GivenClutId,unsigned short * pCache)\r
+unsigned char * CheckTextureInSubSCache(int TextureMode,unsigned int GivenClutId,unsigned short * pCache)\r
{\r
textureSubCacheEntryS * tsx, * tsb, *tsg;//, *tse=NULL;\r
int i,iMax;EXLong npos;\r
unsigned char cx,cy;\r
- int iC,j,k;unsigned long rx,ry,mx,my;\r
+ int iC,j,k;unsigned int rx,ry,mx,my;\r
EXLong * ul=0, * uls;\r
EXLong rfree;\r
unsigned char cXAdj,cYAdj;\r
\r
- npos.l=*((unsigned long *)&gl_ux[4]);\r
+ npos.l=*((unsigned int *)&gl_ux[4]);\r
\r
//--------------------------------------------------------------//\r
// find matching texturepart first... speed up...\r
\r
if(tsx) // 3. if one or more found, create a new rect with bigger size\r
{\r
- *((unsigned long *)&gl_ux[4])=npos.l=rfree.l;\r
+ *((unsigned int *)&gl_ux[4])=npos.l=rfree.l;\r
rx=(int)rfree.c[2]-(int)rfree.c[3];\r
ry=(int)rfree.c[0]-(int)rfree.c[1];\r
DoTexGarbageCollection();\r
\r
BOOL GetCompressTexturePlace(textureSubCacheEntryS * tsx)\r
{\r
- int i,j,k,iMax,iC;unsigned long rx,ry,mx,my;\r
+ int i,j,k,iMax,iC;unsigned int rx,ry,mx,my;\r
EXLong * ul=0, * uls, rfree;\r
unsigned char cXAdj=1,cYAdj=1;\r
\r
textureSubCacheEntryS * tsx, * tsg, * tsb;\r
int i,j,k,m,n,iMax;EXLong * ul, r,opos;\r
short sOldDST=DrawSemiTrans,cx,cy;\r
- long lOGTP=GlobalTexturePage;\r
- unsigned long l,row;\r
- unsigned long * lSRCPtr;\r
+ int lOGTP=GlobalTexturePage;\r
+ unsigned int l,row;\r
+ unsigned int * lSRCPtr;\r
\r
- opos.l=*((unsigned long *)&gl_ux[4]);\r
+ opos.l=*((unsigned int *)&gl_ux[4]);\r
\r
// 1. mark all textures as free\r
for(i=0;i<iSortTexCnt;i++)\r
if(j!=2)\r
{\r
// palette check sum\r
- l=0;lSRCPtr=(unsigned long *)(psxVuw+cx+(cy*1024));\r
+ l=0;lSRCPtr=(unsigned int *)(psxVuw+cx+(cy*1024));\r
if(j==1) for(row=1;row<129;row++) l+=((*lSRCPtr++)-1)*row;\r
else for(row=1;row<9;row++) l+=((*lSRCPtr++)-1)<<row;\r
l=((l+HIWORD(l))&0x3fffL)<<16;\r
usLRUTexPage=0;\r
DrawSemiTrans=sOldDST;\r
GlobalTexturePage=lOGTP;\r
- *((unsigned long *)&gl_ux[4])=opos.l;\r
+ *((unsigned int *)&gl_ux[4])=opos.l;\r
dwTexPageComp=0;\r
\r
return;\r
\r
if(tsx->ClutID&(1<<30)) DrawSemiTrans=1;\r
else DrawSemiTrans=0;\r
- *((unsigned long *)&gl_ux[4])=r.l;\r
+ *((unsigned int *)&gl_ux[4])=r.l;\r
\r
gTexName=uiStexturePage[tsx->cTexID];\r
LoadSubTexFn(k,j,cx,cy);\r
\r
if(dwTexPageComp==0xffffffff) dwTexPageComp=0;\r
\r
- *((unsigned long *)&gl_ux[4])=opos.l;\r
+ *((unsigned int *)&gl_ux[4])=opos.l;\r
GlobalTexturePage=lOGTP;\r
DrawSemiTrans=sOldDST;\r
}\r
/////////////////////////////////////////////////////////////////////////////\r
/////////////////////////////////////////////////////////////////////////////\r
\r
-GLuint SelectSubTextureS(long TextureMode, unsigned long GivenClutId) \r
+GLuint SelectSubTextureS(int TextureMode, unsigned int GivenClutId) \r
{\r
unsigned char * OPtr;unsigned short iCache;short cx,cy;\r
\r
\r
// palette check sum.. removed MMX asm, this easy func works as well\r
{\r
- unsigned long l=0,row;\r
+ unsigned int l=0,row;\r
\r
- unsigned long * lSRCPtr=(unsigned long *)(psxVuw+cx+(cy*1024));\r
+ unsigned int * lSRCPtr=(unsigned int *)(psxVuw+cx+(cy*1024));\r
if(TextureMode==1) for(row=1;row<129;row++) l+=((*lSRCPtr++)-1)*row;\r
else for(row=1;row<9;row++) l+=((*lSRCPtr++)-1)<<row;\r
l=(l+HIWORD(l))&0x3fffL;\r