#include "port.h"
-struct SGFX{
- // Initialize these variables
- uint8 *Screen;
- uint8 *SubScreen;
- uint8 *ZBuffer;
- uint8 *SubZBuffer;
- uint32 Pitch;
+struct SGFX {
+ // Initialize these variables
+ uint8 *Screen;
+ uint8 *SubScreen;
+ uint8 *ZBuffer;
+ uint8 *SubZBuffer;
+ uint32 Pitch; /// Width of surface in bytes
+ uint32 ZPitch; /// Pitch of ZBuffer
+ uint32 Delta; /// Set to (GFX.SubScreen - GFX.Screen) >> 1
+ uint32 DepthDelta; /// Set to GFX.SubZBuffer - GFX.ZBuffer
+ uint32 PPL; /// Number of pixels per line (= pitch in pixels)
// Setup in call to S9xGraphicsInit()
- int Delta;
uint16 *X2;
uint16 *ZERO_OR_X2;
uint16 *ZERO;
- uint32 RealPitch; // True pitch of Screen buffer.
- uint32 Pitch2; // Same as RealPitch except while using speed up hack for Glide.
- uint32 ZPitch; // Pitch of ZBuffer
- uint32 PPL; // Number of pixels on each of Screen buffer
- uint32 PPLx2;
- uint32 PixSize;
+
uint8 *S;
uint8 *DB;
uint16 *ScreenColors;
- uint32 DepthDelta;
uint8 Z1;
uint8 Z2;
uint32 FixedColour;
+
char *InfoString;
uint32 InfoStringTimeout;
uint32 StartY;
uint8 r212d;
uint8 r2130;
uint8 r2131;
- bool8_32 Pseudo;
+ bool8 Pseudo;
#ifdef GFX_MULTI_FORMAT
uint32 PixelFormat;
uint8 *Buffer;
uint8 *Buffered;
- bool8_32 DirectColourMode;
+ bool8 DirectColourMode;
};
struct SLineMatrixData
GFX.ZERO [(((C1) | RGB_HI_BITS_MASKx2) - \
((C2) & RGB_REMOVE_LOW_BITS_MASK)) >> 1]
-typedef void (*NormalTileRenderer) (uint32 Tile, uint32 Offset,
+
+typedef intptr_t tile_offset_t;
+
+typedef void (*NormalTileRenderer) (uint32 Tile, tile_offset_t Offset,
uint32 StartLine, uint32 LineCount);
-typedef void (*ClippedTileRenderer) (uint32 Tile, uint32 Offset,
+typedef void (*ClippedTileRenderer) (uint32 Tile, tile_offset_t Offset,
uint32 StartPixel, uint32 Width,
uint32 StartLine, uint32 LineCount);
-typedef void (*LargePixelRenderer) (uint32 Tile, uint32 Offset,
+typedef void (*LargePixelRenderer) (uint32 Tile, tile_offset_t Offset,
uint32 StartPixel, uint32 Pixels,
uint32 StartLine, uint32 LineCount);
// port.
extern struct SGFX GFX;
-bool8_32 S9xGraphicsInit ();
+bool8 S9xGraphicsInit ();
void S9xGraphicsDeinit();
-bool8_32 S9xInitUpdate (void);
-bool8_32 S9xDeinitUpdate (int Width, int Height, bool8_32 sixteen_bit);
-void S9xSetPalette ();
+bool8 S9xInitUpdate (void);
+bool8 S9xDeinitUpdate (int Width, int Height);
void S9xSyncSpeed ();
#ifdef GFX_MULTI_FORMAT
-bool8_32 S9xSetRenderPixelFormat (int format);
+bool8 S9xSetRenderPixelFormat (int format);
#endif
+void S9xSetInfoString(const char * fmt, ...);
+
END_EXTERN_C
#endif