Merge pull request #123 from gameblabla/diablofix_hack
[pcsx_rearmed.git] / plugins / dfxvideo / gpu.h
index b7b171e..9ee5f3e 100644 (file)
 #define PUTLE16(X, Y) do{*((uint16_t *)X)=HOST2LE16((uint16_t)Y);}while(0)
 #define PUTLE32_(X, Y) do{*((uint32_t *)X)=HOST2LE16((uint32_t)Y);}while(0)
 #ifdef __arm__
 #define PUTLE16(X, Y) do{*((uint16_t *)X)=HOST2LE16((uint16_t)Y);}while(0)
 #define PUTLE32_(X, Y) do{*((uint32_t *)X)=HOST2LE16((uint32_t)Y);}while(0)
 #ifdef __arm__
-#define GETLE32(X) (*(uint16_t *)X|(((uint16_t *)X)[1]<<16))
-#define PUTLE32(X, Y) do{*((uint16_t *)X)=(uint32_t)Y;((uint16_t *)X)[1]=(uint32_t)(Y)>>16;}while(0)
+#define GETLE32(X) (*(uint16_t *)(X)|(((uint16_t *)(X))[1]<<16))
+#define PUTLE32(X, Y) do{uint16_t *p_=(uint16_t *)(X);uint32_t y_=Y;p_[0]=y_;p_[1]=y_>>16;}while(0)
 #else
 #define GETLE32 GETLE32_
 #define PUTLE32 PUTLE32_
 #else
 #define GETLE32 GETLE32_
 #define PUTLE32 PUTLE32_
@@ -178,6 +178,7 @@ typedef struct RECTTAG
 typedef struct TWINTAG
 {
  PSXRect_t  Position;
 typedef struct TWINTAG
 {
  PSXRect_t  Position;
+ int xmask, ymask;
 } TWin_t;
 
 /////////////////////////////////////////////////////////////////////////////
 } TWin_t;
 
 /////////////////////////////////////////////////////////////////////////////
@@ -207,7 +208,7 @@ typedef struct PSXDISPLAYTAG
 // draw.c
 
 extern int32_t           GlobalTextAddrX,GlobalTextAddrY,GlobalTextTP;
 // draw.c
 
 extern int32_t           GlobalTextAddrX,GlobalTextAddrY,GlobalTextTP;
-extern int32_t           GlobalTextREST,GlobalTextABR,GlobalTextPAGE;
+extern int32_t           GlobalTextABR,GlobalTextPAGE;
 extern short          ly0,lx0,ly1,lx1,ly2,lx2,ly3,lx3;
 extern long           lLowerpart;
 extern BOOL           bCheckMask;
 extern short          ly0,lx0,ly1,lx1,ly2,lx2,ly3,lx3;
 extern long           lLowerpart;
 extern BOOL           bCheckMask;
@@ -313,4 +314,7 @@ void          DoClearFrontBuffer(void);
 unsigned long ulInitDisplay(void);
 void          CloseDisplay(void);
 
 unsigned long ulInitDisplay(void);
 void          CloseDisplay(void);
 
+struct rearmed_cbs;
+extern const struct rearmed_cbs *rcbs;
+
 #endif
 #endif