// globals\r
////////////////////////////////////////////////////////////////////////\r
\r
-EGLSurface surface;\r
-EGLDisplay display;\r
-\r
\r
BOOL bDrawTextured; // current active drawing states\r
BOOL bDrawSmoothShaded;\r
PSXRect_t xrMovieArea; // rect for movie upload\r
short sSprite_ux2; // needed for sprire adjust\r
short sSprite_vy2; // \r
-unsigned long ulOLDCOL=0; // active color\r
-unsigned long ulClutID; // clut\r
+unsigned int ulOLDCOL=0; // active color\r
+unsigned int ulClutID; // clut\r
\r
-unsigned long dwCfgFixes; // game fixes\r
-unsigned long dwActFixes=0;\r
-unsigned long dwEmuFixes=0;\r
+unsigned int dwCfgFixes; // game fixes\r
+unsigned int dwActFixes=0;\r
+unsigned int dwEmuFixes=0;\r
BOOL bUseFixes;\r
\r
-long drawX,drawY,drawW,drawH; // offscreen drawing checkers\r
+int drawX,drawY,drawW,drawH; // offscreen drawing checkers\r
short sxmin,sxmax,symin,symax;\r
+unsigned int CSVERTEX=0,CSCOLOR=0,CSTEXTURE=0;\r
+\r
+void offsetPSX4(void)\r
+{\r
+ lx0 += PSXDisplay.DrawOffset.x;\r
+ ly0 += PSXDisplay.DrawOffset.y;\r
+ lx1 += PSXDisplay.DrawOffset.x;\r
+ ly1 += PSXDisplay.DrawOffset.y;\r
+ lx2 += PSXDisplay.DrawOffset.x;\r
+ ly2 += PSXDisplay.DrawOffset.y;\r
+ lx3 += PSXDisplay.DrawOffset.x;\r
+ ly3 += PSXDisplay.DrawOffset.y;\r
+}\r
\r
//////////////////////////////////////////////////////////////////////// \r
// Update global TP infos\r
////////////////////////////////////////////////////////////////////////\r
\r
\r
-unsigned long DoubleBGR2RGB (unsigned long BGR)\r
+unsigned int DoubleBGR2RGB (unsigned int BGR)\r
{\r
- unsigned long ebx,eax,edx;\r
+ unsigned int ebx,eax,edx;\r
\r
ebx=(BGR&0x000000ff)<<1;\r
if(ebx&0x00000100) ebx=0x000000ff;\r
return (ebx|eax|edx);\r
}\r
\r
-unsigned short BGR24to16 (unsigned long BGR)\r
+unsigned short BGR24to16 (unsigned int BGR)\r
{\r
return ((BGR>>3)&0x1f)|((BGR&0xf80000)>>9)|((BGR&0xf800)>>6);\r
}\r
v[3].xyz.z = fpoint(vertex3->z);\r
v[3].st.x = fpoint(vertex3->sow);\r
v[3].st.y = fpoint(vertex3->tow);\r
-\r
-glEnableClientState(GL_TEXTURE_COORD_ARRAY);\r
-glEnableClientState(GL_VERTEX_ARRAY);\r
-glTexCoordPointer(2, GL_FLOAT, sizeof(v[0]), &v[0].st);\r
-glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);\r
-glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);\r
-glDisableClientState(GL_TEXTURE_COORD_ARRAY);\r
-glDisableClientState(GL_VERTEX_ARRAY); \r
+if (CSCOLOR==1) glDisableClientState(GL_COLOR_ARRAY);glError();\r
+if (CSTEXTURE==0) glEnableClientState(GL_TEXTURE_COORD_ARRAY);glError();\r
+if (CSVERTEX==0) glEnableClientState(GL_VERTEX_ARRAY);glError();\r
+glTexCoordPointer(2, GL_FLOAT, sizeof(v[0]), &v[0].st);glError();\r
+glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);glError();\r
+glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);glError();\r
+CSTEXTURE=CSVERTEX=1;\r
+CSCOLOR=0;\r
}\r
\r
///////////////////////////////////////////////////////// \r
\r
-__inline void PRIMdrawTexturedTri(OGLVertex* vertex1, OGLVertex* vertex2, \r
+void PRIMdrawTexturedTri(OGLVertex* vertex1, OGLVertex* vertex2,\r
OGLVertex* vertex3) \r
{\r
Vertex v[3];\r
+if (vertex1->x==0&&vertex1->y==0&&vertex2->x==0&&vertex2->y==0&&vertex3->x==0&&vertex3->y==0) return;\r
\r
v[0].xyz.x = fpoint(vertex1->x);\r
v[0].xyz.y = fpoint(vertex1->y);\r
v[2].xyz.z = fpoint(vertex3->z);\r
v[2].st.x = fpoint(vertex3->sow);\r
v[2].st.y = fpoint(vertex3->tow);\r
-\r
-glEnableClientState(GL_TEXTURE_COORD_ARRAY);\r
-glEnableClientState(GL_VERTEX_ARRAY);\r
-glTexCoordPointer(2, GL_FLOAT, sizeof(v[0]), &v[0].st);\r
-glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);\r
-glDrawArrays(GL_TRIANGLES, 0, 3);\r
-glDisableClientState(GL_TEXTURE_COORD_ARRAY);\r
-glDisableClientState(GL_VERTEX_ARRAY);\r
+if (CSCOLOR==1) glDisableClientState(GL_COLOR_ARRAY);glError();\r
+if (CSTEXTURE==0) glEnableClientState(GL_TEXTURE_COORD_ARRAY);glError();\r
+if (CSVERTEX==0) glEnableClientState(GL_VERTEX_ARRAY);glError();\r
+glTexCoordPointer(2, GL_FLOAT, sizeof(v[0]), &v[0].st);glError();\r
+glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);glError();\r
+glDrawArrays(GL_TRIANGLES, 0, 3);glError();\r
+CSTEXTURE=CSVERTEX=1;\r
+CSCOLOR=0;\r
\r
}\r
\r
///////////////////////////////////////////////////////// \r
\r
-__inline void PRIMdrawTexGouraudTriColor(OGLVertex* vertex1, OGLVertex* vertex2, \r
+void PRIMdrawTexGouraudTriColor(OGLVertex* vertex1, OGLVertex* vertex2,\r
OGLVertex* vertex3) \r
{\r
\r
Vertex2 v[3];\r
+if (vertex1->x==0&&vertex1->y==0&&vertex2->x==0&&vertex2->y==0&&vertex3->x==0&&vertex3->y==0) return;\r
\r
v[0].xyz.x = fpoint(vertex1->x);\r
v[0].xyz.y = fpoint(vertex1->y);\r
v[2].rgba.b = vertex3->c.col[2];\r
v[2].rgba.a = vertex3->c.col[3];\r
\r
-glEnableClientState(GL_TEXTURE_COORD_ARRAY);\r
-glEnableClientState(GL_VERTEX_ARRAY);\r
-glEnableClientState(GL_COLOR_ARRAY);\r
+if (CSTEXTURE==0) glEnableClientState(GL_TEXTURE_COORD_ARRAY);glError();\r
+if (CSVERTEX==0) glEnableClientState(GL_VERTEX_ARRAY);glError();\r
+if (CSCOLOR==0) glEnableClientState(GL_COLOR_ARRAY);glError();\r
\r
-glTexCoordPointer(2, GL_FLOAT, sizeof(v[0]), &v[0].st);\r
-glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);\r
-glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(v[0]), &v[0].rgba);\r
+glTexCoordPointer(2, GL_FLOAT, sizeof(v[0]), &v[0].st);glError();\r
+glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);glError();\r
+glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(v[0]), &v[0].rgba);glError();\r
\r
-glDrawArrays(GL_TRIANGLES, 0, 3);\r
-glDisableClientState(GL_TEXTURE_COORD_ARRAY);\r
-glDisableClientState(GL_VERTEX_ARRAY);\r
-glDisableClientState(GL_COLOR_ARRAY);\r
+glDrawArrays(GL_TRIANGLES, 0, 3);glError();\r
+CSTEXTURE=CSVERTEX=CSCOLOR=1;\r
}\r
\r
///////////////////////////////////////////////////////// \r
\r
-__inline void PRIMdrawTexGouraudTriColorQuad(OGLVertex* vertex1, OGLVertex* vertex2, \r
+void PRIMdrawTexGouraudTriColorQuad(OGLVertex* vertex1, OGLVertex* vertex2,\r
OGLVertex* vertex3, OGLVertex* vertex4) \r
{\r
Vertex2 v[4];\r
+if (vertex1->x==0&&vertex1->y==0&&vertex2->x==0&&vertex2->y==0&&vertex3->x==0&&vertex3->y==0&&vertex4->x==0&&vertex4->y==0) return;\r
\r
v[0].xyz.x = fpoint(vertex1->x);\r
v[0].xyz.y = fpoint(vertex1->y);\r
v[3].rgba.b = vertex3->c.col[2];\r
v[3].rgba.a = vertex3->c.col[3];\r
\r
-glEnableClientState(GL_TEXTURE_COORD_ARRAY);\r
-glEnableClientState(GL_VERTEX_ARRAY);\r
-glEnableClientState(GL_COLOR_ARRAY);\r
+if (CSTEXTURE==0) glEnableClientState(GL_TEXTURE_COORD_ARRAY);glError();\r
+if (CSVERTEX==0) glEnableClientState(GL_VERTEX_ARRAY);glError();\r
+if (CSCOLOR==0) glEnableClientState(GL_COLOR_ARRAY);glError();\r
\r
-glTexCoordPointer(2, GL_FLOAT, sizeof(v[0]), &v[0].st);\r
-glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);\r
-glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(v[0]), &v[0].rgba);\r
+glTexCoordPointer(2, GL_FLOAT, sizeof(v[0]), &v[0].st);glError();\r
+glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);glError();\r
+glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(v[0]), &v[0].rgba);glError();\r
\r
-glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);\r
-glDisableClientState(GL_TEXTURE_COORD_ARRAY);\r
-glDisableClientState(GL_VERTEX_ARRAY);\r
-glDisableClientState(GL_COLOR_ARRAY);\r
+glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);glError();\r
+CSTEXTURE=CSVERTEX=CSCOLOR=1;\r
}\r
\r
///////////////////////////////////////////////////////// \r
\r
-__inline void PRIMdrawTri(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3) \r
+void PRIMdrawTri(OGLVertex* vertex1, OGLVertex* vertex2, OGLVertex* vertex3)\r
{\r
Vec3f v[3];\r
+if (vertex1->x==0&&vertex1->y==0&&vertex2->x==0&&vertex2->y==0&&vertex3->x==0&&vertex3->y==0) return;\r
\r
v[0].x = fpoint(vertex1->x);\r
v[0].y = fpoint(vertex1->y);\r
v[2].y = fpoint(vertex3->y);\r
v[2].z = fpoint(vertex3->z);\r
\r
-glEnableClientState(GL_VERTEX_ARRAY);\r
-glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0]);\r
-glDrawArrays(GL_TRIANGLES, 0, 3);\r
-glDisableClientState(GL_VERTEX_ARRAY);\r
+if (CSVERTEX==0) glEnableClientState(GL_VERTEX_ARRAY);glError();\r
+if (CSTEXTURE==1) glDisableClientState(GL_TEXTURE_COORD_ARRAY);glError();\r
+if (CSCOLOR==1) glDisableClientState(GL_COLOR_ARRAY);glError();\r
+\r
+glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0]);glError();\r
+glDrawArrays(GL_TRIANGLES, 0, 3);glError();\r
+CSVERTEX=1;\r
+CSTEXTURE=CSCOLOR=0;\r
+\r
}\r
\r
///////////////////////////////////////////////////////// \r
\r
-__inline void PRIMdrawTri2(OGLVertex* vertex1, OGLVertex* vertex2, \r
+void PRIMdrawTri2(OGLVertex* vertex1, OGLVertex* vertex2,\r
OGLVertex* vertex3, OGLVertex* vertex4) \r
{\r
Vec3f v[4];\r
+if (vertex1->x==0&&vertex1->y==0&&vertex2->x==0&&vertex2->y==0&&vertex3->x==0&&vertex3->y==0&&vertex4->x==0&&vertex4->y==0) return;\r
\r
v[0].x = fpoint(vertex1->x);\r
v[0].y = fpoint(vertex1->y);\r
v[3].y = fpoint(vertex4->y);\r
v[3].z = fpoint(vertex4->z);\r
\r
-glEnableClientState(GL_VERTEX_ARRAY);\r
-glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0]);\r
-glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);\r
-glDisableClientState(GL_VERTEX_ARRAY);\r
+if (CSVERTEX==0) glEnableClientState(GL_VERTEX_ARRAY);glError();\r
+if (CSTEXTURE==1) glDisableClientState(GL_TEXTURE_COORD_ARRAY);glError();\r
+if (CSCOLOR==1) glDisableClientState(GL_COLOR_ARRAY);glError();\r
+\r
+glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0]);glError();\r
+glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);glError();\r
+CSVERTEX=1;\r
+CSTEXTURE=CSCOLOR=0;\r
}\r
\r
///////////////////////////////////////////////////////// \r
\r
-__inline void PRIMdrawGouraudTriColor(OGLVertex* vertex1, OGLVertex* vertex2, \r
+void PRIMdrawGouraudTriColor(OGLVertex* vertex1, OGLVertex* vertex2,\r
OGLVertex* vertex3) \r
{\r
Vertex2 v[3];\r
+if (vertex1->x==0&&vertex1->y==0&&vertex2->x==0&&vertex2->y==0&&vertex3->x==0&&vertex3->y==0) return;\r
\r
v[0].xyz.x = fpoint(vertex1->x);\r
v[0].xyz.y = fpoint(vertex1->y);\r
v[2].rgba.b = vertex3->c.col[2];\r
v[2].rgba.a = vertex3->c.col[3];\r
\r
-glEnableClientState(GL_VERTEX_ARRAY);\r
-glEnableClientState(GL_COLOR_ARRAY);\r
+if (CSVERTEX==0) glEnableClientState(GL_VERTEX_ARRAY);glError();\r
+if (CSCOLOR==0) glEnableClientState(GL_COLOR_ARRAY);glError();\r
+if (CSTEXTURE==1) glDisableClientState(GL_TEXTURE_COORD_ARRAY);glError();\r
\r
-glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);\r
-glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(v[0]), &v[0].rgba);\r
+glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);glError();\r
+glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(v[0]), &v[0].rgba);glError();\r
\r
-glDrawArrays(GL_TRIANGLES, 0, 3);\r
-glDisableClientState(GL_VERTEX_ARRAY);\r
-glDisableClientState(GL_COLOR_ARRAY);\r
+glDrawArrays(GL_TRIANGLES, 0, 3);glError();\r
+CSVERTEX=CSCOLOR=1;\r
+CSTEXTURE=0;\r
}\r
\r
///////////////////////////////////////////////////////// \r
\r
-__inline void PRIMdrawGouraudTri2Color(OGLVertex* vertex1, OGLVertex* vertex2, \r
+void PRIMdrawGouraudTri2Color(OGLVertex* vertex1, OGLVertex* vertex2,\r
OGLVertex* vertex3, OGLVertex* vertex4) \r
{\r
Vertex2 v[4];\r
+if (vertex1->x==0&&vertex1->y==0&&vertex2->x==0&&vertex2->y==0&&vertex3->x==0&&vertex3->y==0&&vertex4->x==0&&vertex4->y==0) return;\r
\r
v[0].xyz.x = fpoint(vertex1->x);\r
v[0].xyz.y = fpoint(vertex1->y);\r
v[3].rgba.b = vertex4->c.col[2];\r
v[3].rgba.a = vertex4->c.col[3];\r
\r
-glEnableClientState(GL_VERTEX_ARRAY);\r
-glEnableClientState(GL_COLOR_ARRAY);\r
+if (CSTEXTURE==1) glDisableClientState(GL_TEXTURE_COORD_ARRAY);glError();\r
+if (CSVERTEX==0) glEnableClientState(GL_VERTEX_ARRAY);glError();\r
+if (CSCOLOR==0) glEnableClientState(GL_COLOR_ARRAY);glError();\r
\r
-glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);\r
-glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(v[0]), &v[0].rgba);\r
+glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);glError();\r
+glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(v[0]), &v[0].rgba);glError();\r
\r
-glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);\r
-glDisableClientState(GL_VERTEX_ARRAY);\r
-glDisableClientState(GL_COLOR_ARRAY);\r
+glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);glError();\r
+CSTEXTURE=0;\r
+CSVERTEX=CSCOLOR=1;\r
}\r
\r
///////////////////////////////////////////////////////// \r
\r
-__inline void PRIMdrawFlatLine(OGLVertex* vertex1, OGLVertex* vertex2,OGLVertex* vertex3, OGLVertex* vertex4)\r
+void PRIMdrawFlatLine(OGLVertex* vertex1, OGLVertex* vertex2,OGLVertex* vertex3, OGLVertex* vertex4)\r
{\r
Vertex2 v[4];\r
+if (vertex1->x==0&&vertex1->y==0&&vertex2->x==0&&vertex2->y==0&&vertex3->x==0&&vertex3->y==0&&vertex4->x==0&&vertex4->y==0) return;\r
\r
v[0].xyz.x = fpoint(vertex1->x);\r
v[0].xyz.y = fpoint(vertex1->y);\r
v[3].rgba.b = vertex1->c.col[2];\r
v[3].rgba.a = vertex1->c.col[3];\r
\r
-glEnableClientState(GL_VERTEX_ARRAY);\r
-glEnableClientState(GL_COLOR_ARRAY);\r
+if (CSTEXTURE==1) glDisableClientState(GL_TEXTURE_COORD_ARRAY);glError();\r
+if (CSVERTEX==0) glEnableClientState(GL_VERTEX_ARRAY);glError();\r
+if (CSCOLOR==0) glEnableClientState(GL_COLOR_ARRAY);glError();\r
\r
-glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);\r
-glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(v[0]), &v[0].rgba);\r
+glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);glError();\r
+glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(v[0]), &v[0].rgba);glError();\r
\r
-glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);\r
-glDisableClientState(GL_VERTEX_ARRAY);\r
-glDisableClientState(GL_COLOR_ARRAY);\r
+glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);glError();\r
+\r
+CSTEXTURE=0;\r
+CSVERTEX=CSCOLOR=1;\r
\r
\r
}\r
\r
///////////////////////////////////////////////////////// \r
\r
-__inline void PRIMdrawGouraudLine(OGLVertex* vertex1, OGLVertex* vertex2,OGLVertex* vertex3, OGLVertex* vertex4)\r
+void PRIMdrawGouraudLine(OGLVertex* vertex1, OGLVertex* vertex2,OGLVertex* vertex3, OGLVertex* vertex4)\r
{\r
Vertex2 v[4];\r
+if (vertex1->x==0&&vertex1->y==0&&vertex2->x==0&&vertex2->y==0&&vertex3->x==0&&vertex3->y==0&&vertex4->x==0&&vertex4->y==0) return;\r
\r
v[0].xyz.x = fpoint(vertex1->x);\r
v[0].xyz.y = fpoint(vertex1->y);\r
v[2].rgba.b = vertex4->c.col[2];\r
v[2].rgba.a = vertex4->c.col[3];\r
\r
-glEnableClientState(GL_VERTEX_ARRAY);\r
-glEnableClientState(GL_COLOR_ARRAY);\r
+if (CSTEXTURE==1) glDisableClientState(GL_TEXTURE_COORD_ARRAY);glError();\r
+if (CSVERTEX==0) glEnableClientState(GL_VERTEX_ARRAY);glError();\r
+if (CSCOLOR==0) glEnableClientState(GL_COLOR_ARRAY);glError();\r
\r
-glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);\r
-glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(v[0]), &v[0].rgba);\r
+glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0].xyz);glError();\r
+glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(v[0]), &v[0].rgba);glError();\r
\r
-glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);\r
-glDisableClientState(GL_VERTEX_ARRAY);\r
-glDisableClientState(GL_COLOR_ARRAY);\r
+glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);glError();\r
+CSTEXTURE=0;\r
+CSVERTEX=CSCOLOR=1;\r
}\r
\r
///////////////////////////////////////////////////////// \r
\r
-__inline void PRIMdrawQuad(OGLVertex* vertex1, OGLVertex* vertex2, \r
+void PRIMdrawQuad(OGLVertex* vertex1, OGLVertex* vertex2,\r
OGLVertex* vertex3, OGLVertex* vertex4) \r
{\r
Vec3f v[4];\r
+if (vertex1->x==0&&vertex1->y==0&&vertex2->x==0&&vertex2->y==0&&vertex3->x==0&&vertex3->y==0&&vertex4->x==0&&vertex4->y==0) return;\r
\r
v[0].x = fpoint(vertex1->x);\r
v[0].y = fpoint(vertex1->y);\r
v[3].y = fpoint(vertex3->y);\r
v[3].z = fpoint(vertex3->z);\r
\r
-glEnableClientState(GL_VERTEX_ARRAY);\r
-glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0]);\r
-glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);\r
-glDisableClientState(GL_VERTEX_ARRAY);\r
+if (CSTEXTURE==1) glDisableClientState(GL_TEXTURE_COORD_ARRAY);glError();\r
+if (CSVERTEX==0) glEnableClientState(GL_VERTEX_ARRAY);glError();\r
+if (CSCOLOR==1) glDisableClientState(GL_COLOR_ARRAY);glError();\r
+\r
+glVertexPointer(3, GL_FLOAT, sizeof(v[0]), &v[0]);glError();\r
+glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);glError();\r
+CSTEXTURE=0;\r
+CSVERTEX=1;\r
+CSCOLOR=0;\r
}\r
\r
//////////////////////////////////////////////////////////////////////// \r
// Set several rendering stuff including blending \r
////////////////////////////////////////////////////////////////////////\r
\r
-__inline void SetZMask3O(void)\r
+void SetZMask3O(void)\r
{\r
if(iUseMask && DrawSemiTrans && !iSetMask)\r
{\r
}\r
}\r
\r
-__inline void SetZMask3(void)\r
+void SetZMask3(void)\r
{\r
if(iUseMask)\r
{\r
}\r
}\r
\r
-__inline void SetZMask3NT(void)\r
+void SetZMask3NT(void)\r
{\r
if(iUseMask)\r
{\r
\r
////////////////////////////////////////////////////////////////////////\r
\r
-__inline void SetZMask4O(void)\r
+ void SetZMask4O(void)\r
{\r
if(iUseMask && DrawSemiTrans && !iSetMask)\r
{\r
}\r
}\r
\r
-__inline void SetZMask4(void)\r
+ void SetZMask4(void)\r
{\r
if(iUseMask)\r
{\r
}\r
}\r
\r
-__inline void SetZMask4NT(void)\r
+ void SetZMask4NT(void)\r
{\r
if(iUseMask)\r
{\r
}\r
}\r
\r
-__inline void SetZMask4SP(void)\r
+ void SetZMask4SP(void)\r
{\r
if(iUseMask)\r
{\r
\r
////////////////////////////////////////////////////////////////////////\r
\r
-__inline void SetRenderState(unsigned long DrawAttributes)\r
+ void SetRenderState(unsigned int DrawAttributes)\r
{\r
bDrawNonShaded = (SHADETEXBIT(DrawAttributes)) ? TRUE : FALSE;\r
DrawSemiTrans = (SEMITRANSBIT(DrawAttributes)) ? TRUE : FALSE;\r
\r
//////////////////////////////////////////////////////////////////////// \r
\r
-__inline void SetRenderColor(unsigned long DrawAttributes)\r
+ void SetRenderColor(unsigned int DrawAttributes)\r
{\r
if(bDrawNonShaded) {g_m1=g_m2=g_m3=128;}\r
else\r
\r
//////////////////////////////////////////////////////////////////////// \r
\r
-void SetRenderMode(unsigned long DrawAttributes,BOOL bSCol)\r
+void SetRenderMode(unsigned int DrawAttributes,BOOL bSCol)\r
{\r
if((bUseMultiPass) && (bDrawTextured) && !(bDrawNonShaded))\r
{bDrawMultiPass = TRUE; SetSemiTransMulti(0);}\r
// Set Opaque multipass color\r
////////////////////////////////////////////////////////////////////////\r
\r
-void SetOpaqueColor(unsigned long DrawAttributes)\r
+void SetOpaqueColor(unsigned int DrawAttributes)\r
{\r
if(bDrawNonShaded) return; // no shading? bye\r
\r
\r
////////////////////////////////////////////////////////////////////////\r
\r
-void PrepareFullScreenUpload (long Position)\r
+void PrepareFullScreenUpload (int Position)\r
{\r
if (Position==-1) // rgb24\r
{\r
\r
unsigned char * LoadDirectMovieFast(void);\r
\r
-void UploadScreenEx(long Position)\r
+void UploadScreenEx(int Position)\r
{\r
short ya,yb,xa,xb,x, y, YStep, XStep, U, UStep,ux[4],vy[4];\r
\r
\r
////////////////////////////////////////////////////////////////////////\r
\r
-void UploadScreen(long Position)\r
+void UploadScreen(int Position)\r
{\r
short x, y, YStep, XStep, U, s, UStep,ux[4],vy[4];\r
short xa,xb,ya,yb;\r
gl_vy[2] = gl_vy[3] = s;\r
gl_ux[0] = gl_ux[3] = gl_vy[0] = gl_vy[1] = 0;\r
\r
- SetRenderState((unsigned long)0x01000000);\r
- SetRenderMode((unsigned long)0x01000000, FALSE); // upload texture data\r
+ SetRenderState((unsigned int)0x01000000);\r
+ SetRenderMode((unsigned int)0x01000000, FALSE); // upload texture data\r
offsetScreenUpload(Position);\r
assignTextureVRAMWrite();\r
\r
\r
void cmdSTP(unsigned char * baseAddr)\r
{\r
- unsigned long gdata = ((unsigned long*)baseAddr)[0];\r
+ unsigned int gdata = ((unsigned int*)baseAddr)[0];\r
\r
STATUSREG&=~0x1800; // clear the necessary bits\r
STATUSREG|=((gdata & 0x03) << 11); // set the current bits\r
\r
void cmdTexturePage(unsigned char * baseAddr)\r
{\r
- unsigned long gdata = ((unsigned long*)baseAddr)[0];\r
+ unsigned int gdata = ((unsigned int*)baseAddr)[0];\r
UpdateGlobalTP((unsigned short)gdata);\r
GlobalTextREST = (gdata&0x00ffffff)>>9;\r
}\r
\r
void cmdTextureWindow(unsigned char *baseAddr)\r
{\r
- unsigned long gdata = ((unsigned long*)baseAddr)[0];\r
+ unsigned int gdata = ((unsigned int*)baseAddr)[0];\r
\r
- unsigned long YAlign,XAlign;\r
+ unsigned int YAlign,XAlign;\r
\r
ulGPUInfoVals[INFO_TW]=gdata&0xFFFFF;\r
\r
\r
// Re-calculate the bit field, because we can't trust what is passed in the data\r
\r
- YAlign = (unsigned long)(32 - (TWin.Position.y1 >> 3));\r
- XAlign = (unsigned long)(32 - (TWin.Position.x1 >> 3));\r
+ YAlign = (unsigned int)(32 - (TWin.Position.y1 >> 3));\r
+ XAlign = (unsigned int)(32 - (TWin.Position.x1 >> 3));\r
\r
// Absolute position of the start of the texture window\r
\r
\r
void cmdDrawAreaStart(unsigned char * baseAddr)\r
{\r
- unsigned long gdata = ((unsigned long*)baseAddr)[0];\r
+ unsigned int gdata = ((unsigned int*)baseAddr)[0];\r
\r
drawX = gdata & 0x3ff; // for soft drawing\r
if(drawX>=1024) drawX=1023;\r
\r
void cmdDrawAreaEnd(unsigned char * baseAddr)\r
{\r
- unsigned long gdata = ((unsigned long*)baseAddr)[0];\r
+ unsigned int gdata = ((unsigned int*)baseAddr)[0];\r
\r
drawW = gdata & 0x3ff; // for soft drawing\r
if(drawW>=1024) drawW=1023;\r
\r
void cmdDrawOffset(unsigned char * baseAddr)\r
{\r
- unsigned long gdata = ((unsigned long*)baseAddr)[0];\r
+ unsigned int gdata = ((unsigned int*)baseAddr)[0];\r
\r
PreviousPSXDisplay.DrawOffset.x = \r
PSXDisplay.DrawOffset.x = (short)(gdata & 0x7ff);\r
\r
void primBlkFill(unsigned char * baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
iDrawnSomething=1;\r
b=((GLclampf)BLUE(gpuData[0]))/255.0f;\r
r=((GLclampf)RED(gpuData[0]))/255.0f;\r
\r
- glDisable(GL_SCISSOR_TEST); glError();\r
+ //glDisable(GL_SCISSOR_TEST); glError();\r
glClearColor(r,g,b,1.0f); glError();\r
glClear(uiBufferBits); glError();\r
gl_z=0.0f;\r
{\r
bDrawTextured = FALSE;\r
bDrawSmoothShaded = FALSE;\r
- SetRenderState((unsigned long)0x01000000);\r
- SetRenderMode((unsigned long)0x01000000, FALSE);\r
+ SetRenderState((unsigned int)0x01000000);\r
+ SetRenderMode((unsigned int)0x01000000, FALSE);\r
vertex[0].c.lcol=0xff000000;\r
SETCOL(vertex[0]); \r
if(ly0>pd->DisplayPosition.y)\r
}\r
}\r
\r
- glEnable(GL_SCISSOR_TEST); glError();\r
+ //glEnable(GL_SCISSOR_TEST); glError();\r
}\r
else\r
{\r
bDrawTextured = FALSE;\r
bDrawSmoothShaded = FALSE;\r
- SetRenderState((unsigned long)0x01000000);\r
- SetRenderMode((unsigned long)0x01000000, FALSE);\r
+ SetRenderState((unsigned int)0x01000000);\r
+ SetRenderMode((unsigned int)0x01000000, FALSE);\r
vertex[0].c.lcol=gpuData[0]|0xff000000;\r
SETCOL(vertex[0]); \r
- glDisable(GL_SCISSOR_TEST); glError();\r
+ //glDisable(GL_SCISSOR_TEST); glError();\r
PRIMdrawQuad(&vertex[0], &vertex[1], &vertex[2], &vertex[3]);\r
- glEnable(GL_SCISSOR_TEST); glError();\r
+ //glEnable(GL_SCISSOR_TEST); glError();\r
}\r
}\r
\r
}\r
else\r
{\r
- unsigned long *SRCPtr, *DSTPtr;\r
+ unsigned int *SRCPtr, *DSTPtr;\r
unsigned short LineOffset;\r
int dx=imageSX>>1;\r
\r
- SRCPtr = (unsigned long *)(psxVuw + (1024*imageY0) + imageX0);\r
- DSTPtr = (unsigned long *)(psxVuw + (1024*imageY1) + imageX1);\r
+ SRCPtr = (unsigned int *)(psxVuw + (1024*imageY0) + imageX0);\r
+ DSTPtr = (unsigned int *)(psxVuw + (1024*imageY1) + imageX1);\r
\r
LineOffset = 512 - dx;\r
\r
\r
void primTileS(unsigned char * baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long*)baseAddr);\r
+ unsigned int *gpuData = ((unsigned int*)baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
sprtX = sgpuData[2];\r
\r
void primTile1(unsigned char * baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long*)baseAddr);\r
+ unsigned int *gpuData = ((unsigned int*)baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
sprtX = sgpuData[2];\r
\r
void primTile8(unsigned char * baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long*)baseAddr);\r
+ unsigned int *gpuData = ((unsigned int*)baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
sprtX = sgpuData[2];\r
\r
void primTile16(unsigned char * baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long*)baseAddr);\r
+ unsigned int *gpuData = ((unsigned int*)baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
sprtX = sgpuData[2];\r
\r
/*void DrawMultiBlur(void)\r
{\r
- long lABR,lDST;float fx,fy;\r
+ int lABR,lDST;float fx,fy;\r
\r
lABR=GlobalTextABR;\r
lDST=DrawSemiTrans;\r
\r
void DrawMultiFilterSprite(void)\r
{\r
- long lABR,lDST;\r
+ int lABR,lDST;\r
\r
if(bUseMultiPass || DrawSemiTrans || ubOpaqueDraw) \r
{\r
\r
void primSprt8(unsigned char * baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
short s;\r
\r
\r
void primSprt16(unsigned char * baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
short s;\r
\r
\r
void primSprtSRest(unsigned char * baseAddr,unsigned short type)\r
{\r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
short s;unsigned short sTypeRest=0;\r
\r
\r
void primSprtS(unsigned char * baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
short s;unsigned short sTypeRest=0;\r
\r
void primPolyF4(unsigned char *baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
lx0 = sgpuData[2];\r
\r
if(iFF9Fix==2)\r
{\r
- long labr=GlobalTextABR;\r
+ int labr=GlobalTextABR;\r
GlobalTextABR=1;\r
primPolyG4(pFF9G4Cache);\r
GlobalTextABR=labr;\r
\r
void primPolyG4(unsigned char * baseAddr)\r
{\r
- unsigned long *gpuData = (unsigned long *)baseAddr;\r
+ unsigned int *gpuData = (unsigned int *)baseAddr;\r
short *sgpuData = ((short *) baseAddr);\r
\r
lx0 = sgpuData[2];\r
// cmd: flat shaded Texture3\r
////////////////////////////////////////////////////////////////////////\r
\r
-BOOL DoLineCheck(unsigned long * gpuData)\r
+BOOL DoLineCheck(unsigned int * gpuData)\r
{\r
BOOL bQuad=FALSE;short dx,dy;\r
\r
\r
void primPolyFT3(unsigned char * baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
lx0 = sgpuData[2];\r
\r
void primPolyFT4(unsigned char * baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
lx0 = sgpuData[2];\r
\r
void primPolyGT3(unsigned char *baseAddr)\r
{ \r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
lx0 = sgpuData[2];\r
\r
void primPolyG3(unsigned char *baseAddr)\r
{ \r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
lx0 = sgpuData[2];\r
\r
void primPolyGT4(unsigned char *baseAddr)\r
{ \r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
lx0 = sgpuData[2];\r
\r
void primPolyF3(unsigned char *baseAddr)\r
{ \r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
lx0 = sgpuData[2];\r
\r
void primLineGSkip(unsigned char *baseAddr)\r
{ \r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
int iMax=255;\r
int i=2;\r
\r
void primLineGEx(unsigned char *baseAddr)\r
{ \r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
int iMax=255;\r
short cx0,cx1,cy0,cy1;int i;BOOL bDraw=TRUE;\r
\r
\r
void primLineG2(unsigned char *baseAddr)\r
{ \r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
lx0 = sgpuData[2];\r
\r
void primLineFSkip(unsigned char *baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
int i=2,iMax=255;\r
\r
ly1 = (short)((gpuData[1]>>16) & 0xffff);\r
\r
void primLineFEx(unsigned char *baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
int iMax;\r
short cx0,cx1,cy0,cy1;int i;\r
\r
\r
void primLineF2(unsigned char *baseAddr)\r
{\r
- unsigned long *gpuData = ((unsigned long *) baseAddr);\r
+ unsigned int *gpuData = ((unsigned int *) baseAddr);\r
short *sgpuData = ((short *) baseAddr);\r
\r
lx0 = sgpuData[2];\r