fixing amd64 crash
authorJavier S. Pedro <maemo@javispedro.com>
Wed, 19 Jan 2011 01:05:59 +0000 (02:05 +0100)
committerJavier S. Pedro <maemo@javispedro.com>
Wed, 19 Jan 2011 01:05:59 +0000 (02:05 +0100)
gfx.cpp
gfx.h
tile.cpp
tile.h

diff --git a/gfx.cpp b/gfx.cpp
index 50d29d0..f5992dc 100644 (file)
--- a/gfx.cpp
+++ b/gfx.cpp
@@ -212,23 +212,13 @@ bool8_32 S9xGraphicsInit ()
 
     PPU.BG_Forced = 0;
     IPPU.OBJChanged = TRUE;
-    if (Settings.Transparency)
-       Settings.SixteenBit = TRUE;
 
        IPPU.DirectColourMapsNeedRebuild = TRUE;
-       if (Settings.SixteenBit) {
-               DrawTilePtr = DrawTile16;
-               DrawClippedTilePtr = DrawClippedTile16;
-               DrawLargePixelPtr = DrawLargePixel16;
-               DrawHiResTilePtr= DrawHiResTile16;
-               DrawHiResClippedTilePtr = DrawHiResClippedTile16;
-       } else {
-               DrawTilePtr = DrawTile;
-               DrawClippedTilePtr = DrawClippedTile;
-               DrawLargePixelPtr = DrawLargePixel;
-               DrawHiResTilePtr = DrawTile;
-               DrawHiResClippedTilePtr = DrawClippedTile;
-       }
+       DrawTilePtr = DrawTile16;
+       DrawClippedTilePtr = DrawClippedTile16;
+       DrawLargePixelPtr = DrawLargePixel16;
+       DrawHiResTilePtr= DrawHiResTile16;
+       DrawHiResClippedTilePtr = DrawHiResClippedTile16;
     S9xFixColourBrightness();
 
     if (Settings.SixteenBit)
@@ -1474,7 +1464,7 @@ void DrawBackgroundMode5 (uint32 /* BGMODE */, uint32 bg, uint8 Z1, uint8 Z2)
                    continue;
            }
 
-           uint32 s = (Left>>1) * GFX_PIX_SIZE + Y * GFX.PPL;
+           intptr_t s = (Left>>1) * GFX_PIX_SIZE + Y * GFX.PPL;
            uint32 HPos = (HOffset + Left * GFX_PIX_SIZE) & 0x3ff;
 
            uint32 Quot = HPos >> 3;
@@ -1494,8 +1484,7 @@ void DrawBackgroundMode5 (uint32 /* BGMODE */, uint32 bg, uint8 Z1, uint8 Z2)
                Count = 8 - Offset;
                if (Count > Width)
                    Count = Width;
-               if (s) // XXX: Workaround for underflow (Secret of MANA)
-                       s -= (Offset>>1);
+               s -= (Offset>>1);
                Tile = READ_2BYTES (t);
                GFX.Z1 = GFX.Z2 = depths [(Tile & 0x2000) >> 13];
 
@@ -1822,7 +1811,7 @@ void DrawBackground (uint32 BGMode, uint32 bg, uint8 Z1, uint8 Z2)
                            continue;
                    }
 
-                   uint32 s = Left * GFX_PIX_SIZE + Y * GFX.PPL;
+                   intptr_t s = Left * GFX_PIX_SIZE + Y * GFX.PPL;
                    uint32 HPos = (HOffset + Left) & OffsetMask;
 
                    uint32 Quot = HPos >> 3;
diff --git a/gfx.h b/gfx.h
index c2e29f0..dc8eb48 100644 (file)
--- a/gfx.h
+++ b/gfx.h
@@ -200,12 +200,15 @@ GFX.X2 [((((C1) & RGB_REMOVE_LOW_BITS_MASK) + \
        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);
 
index 5597a14..34d7769 100644 (file)
--- a/tile.cpp
+++ b/tile.cpp
        } \
     }
 
+#define PLOT_PIXEL(screen, pixel) (pixel)
+
 extern uint32 HeadMask [4];
 extern uint32 TailMask [5];
 
@@ -476,47 +478,7 @@ uint8 ConvertTile (uint8 *pCache, uint32 TileAddr)
     return (non_zero ? TRUE : BLANK_TILE);
 }
 
-INLINE void WRITE_4PIXELS (uint32 Offset, uint8 *Pixels)
-{
-    register uint8 Pixel;
-    uint8 *Screen = GFX.S + Offset;
-    uint8 *Depth = GFX.DB + Offset;
-
-#define FN(N) \
-    if (GFX.Z1 > Depth [N] && (Pixel = Pixels[N])) \
-    { \
-       Screen [N] = (uint8) GFX.ScreenColors [Pixel]; \
-       Depth [N] = GFX.Z2; \
-    }
-
-    FN(0)
-    FN(1)
-    FN(2)
-    FN(3)
-#undef FN
-}
-
-INLINE void WRITE_4PIXELS_FLIPPED (uint32 Offset, uint8 *Pixels)
-{
-    register uint8 Pixel;
-    uint8 *Screen = GFX.S + Offset;
-    uint8 *Depth = GFX.DB + Offset;
-
-#define FN(N) \
-    if (GFX.Z1 > Depth [N] && (Pixel = Pixels[3 - N])) \
-    { \
-       Screen [N] = (uint8) GFX.ScreenColors [Pixel]; \
-       Depth [N] = GFX.Z2; \
-    }
-
-    FN(0)
-    FN(1)
-    FN(2)
-    FN(3)
-#undef FN
-}
-
-inline void WRITE_4PIXELSHI16 (uint32 Offset, uint8 *Pixels)
+inline void WRITE_4PIXELSHI16 (tile_offset_t Offset, uint8 *Pixels)
 {
     uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -536,7 +498,7 @@ inline void WRITE_4PIXELSHI16 (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-inline void WRITE_4PIXELSHI16_FLIPPED (uint32 Offset, uint8 *Pixels)
+inline void WRITE_4PIXELSHI16_FLIPPED (tile_offset_t Offset, uint8 *Pixels)
 {
     uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -556,41 +518,7 @@ inline void WRITE_4PIXELSHI16_FLIPPED (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-void DrawTile(uint32 Tile, uint32 Offset, uint32 StartLine, uint32 LineCount)
-{
-    TILE_PREAMBLE
-
-    register uint8 *bp;
-
-    RENDER_TILE(WRITE_4PIXELS, WRITE_4PIXELS_FLIPPED, 4)
-}
-
-void DrawClippedTile(uint32 Tile, uint32 Offset,
-                     uint32 StartPixel, uint32 Width,
-                     uint32 StartLine, uint32 LineCount)
-{
-    TILE_PREAMBLE
-    register uint8 *bp;
-
-    TILE_CLIP_PREAMBLE
-    RENDER_CLIPPED_TILE(WRITE_4PIXELS, WRITE_4PIXELS_FLIPPED, 4)
-}
-
-void DrawLargePixel (uint32 Tile, uint32 Offset,
-                    uint32 StartPixel, uint32 Pixels,
-                    uint32 StartLine, uint32 LineCount)
-{
-    TILE_PREAMBLE
-
-    register uint8 *sp = GFX.S + Offset;
-    uint8  *Depth = GFX.DB + Offset;
-    uint8 pixel;
-#define PLOT_PIXEL(screen, pixel) (pixel)
-
-    RENDER_TILE_LARGE (((uint8) GFX.ScreenColors [pixel]), PLOT_PIXEL)
-}
-
-STATIC INLINE void WRITE_4PIXELS16 (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16 (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -610,7 +538,7 @@ STATIC INLINE void WRITE_4PIXELS16 (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-STATIC INLINE void WRITE_4PIXELS16_FLIPPED (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_FLIPPED (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -630,7 +558,7 @@ STATIC INLINE void WRITE_4PIXELS16_FLIPPED (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-void DrawTile16 (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16 (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                 uint32 LineCount)
 {
     TILE_PREAMBLE
@@ -639,7 +567,7 @@ void DrawTile16 (uint32 Tile, uint32 Offset, uint32 StartLine,
     RENDER_TILE(WRITE_4PIXELS16, WRITE_4PIXELS16_FLIPPED, 4)
 }
 
-void DrawClippedTile16 (uint32 Tile, uint32 Offset,
+void DrawClippedTile16 (uint32 Tile, tile_offset_t Offset,
                        uint32 StartPixel, uint32 Width,
                        uint32 StartLine, uint32 LineCount)
 {
@@ -650,7 +578,7 @@ void DrawClippedTile16 (uint32 Tile, uint32 Offset,
     RENDER_CLIPPED_TILE(WRITE_4PIXELS16, WRITE_4PIXELS16_FLIPPED, 4)
 }
 
-void DrawLargePixel16 (uint32 Tile, uint32 Offset,
+void DrawLargePixel16 (uint32 Tile, tile_offset_t Offset,
                       uint32 StartPixel, uint32 Pixels,
                       uint32 StartLine, uint32 LineCount)
 {
@@ -663,7 +591,7 @@ void DrawLargePixel16 (uint32 Tile, uint32 Offset,
     RENDER_TILE_LARGE (GFX.ScreenColors [pixel], PLOT_PIXEL)
 }
 
-STATIC INLINE void WRITE_4PIXELS16_ADD (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_ADD (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -695,7 +623,7 @@ STATIC INLINE void WRITE_4PIXELS16_ADD (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-STATIC INLINE void WRITE_4PIXELS16_FLIPPED_ADD (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_FLIPPED_ADD (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -727,7 +655,7 @@ STATIC INLINE void WRITE_4PIXELS16_FLIPPED_ADD (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-STATIC INLINE void WRITE_4PIXELS16_ADD1_2 (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_ADD1_2 (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -759,7 +687,7 @@ STATIC INLINE void WRITE_4PIXELS16_ADD1_2 (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-STATIC INLINE void WRITE_4PIXELS16_FLIPPED_ADD1_2 (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_FLIPPED_ADD1_2 (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -791,7 +719,7 @@ STATIC INLINE void WRITE_4PIXELS16_FLIPPED_ADD1_2 (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-STATIC INLINE void WRITE_4PIXELS16_SUB (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_SUB (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -823,7 +751,7 @@ STATIC INLINE void WRITE_4PIXELS16_SUB (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-STATIC INLINE void WRITE_4PIXELS16_FLIPPED_SUB (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_FLIPPED_SUB (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -855,7 +783,7 @@ STATIC INLINE void WRITE_4PIXELS16_FLIPPED_SUB (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-STATIC INLINE void WRITE_4PIXELS16_SUB1_2 (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_SUB1_2 (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -887,7 +815,7 @@ STATIC INLINE void WRITE_4PIXELS16_SUB1_2 (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-STATIC INLINE void WRITE_4PIXELS16_FLIPPED_SUB1_2 (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_FLIPPED_SUB1_2 (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -920,7 +848,7 @@ STATIC INLINE void WRITE_4PIXELS16_FLIPPED_SUB1_2 (uint32 Offset, uint8 *Pixels)
 }
 
 
-void DrawTile16Add (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16Add (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                    uint32 LineCount)
 {
     TILE_PREAMBLE
@@ -929,7 +857,7 @@ void DrawTile16Add (uint32 Tile, uint32 Offset, uint32 StartLine,
     RENDER_TILE(WRITE_4PIXELS16_ADD, WRITE_4PIXELS16_FLIPPED_ADD, 4)
 }
 
-void DrawClippedTile16Add (uint32 Tile, uint32 Offset,
+void DrawClippedTile16Add (uint32 Tile, tile_offset_t Offset,
                           uint32 StartPixel, uint32 Width,
                           uint32 StartLine, uint32 LineCount)
 {
@@ -940,7 +868,7 @@ void DrawClippedTile16Add (uint32 Tile, uint32 Offset,
     RENDER_CLIPPED_TILE(WRITE_4PIXELS16_ADD, WRITE_4PIXELS16_FLIPPED_ADD, 4)
 }
 
-void DrawTile16Add1_2 (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16Add1_2 (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                       uint32 LineCount)
 {
     TILE_PREAMBLE
@@ -949,7 +877,7 @@ void DrawTile16Add1_2 (uint32 Tile, uint32 Offset, uint32 StartLine,
     RENDER_TILE(WRITE_4PIXELS16_ADD1_2, WRITE_4PIXELS16_FLIPPED_ADD1_2, 4)
 }
 
-void DrawClippedTile16Add1_2 (uint32 Tile, uint32 Offset,
+void DrawClippedTile16Add1_2 (uint32 Tile, tile_offset_t Offset,
                              uint32 StartPixel, uint32 Width,
                              uint32 StartLine, uint32 LineCount)
 {
@@ -960,7 +888,7 @@ void DrawClippedTile16Add1_2 (uint32 Tile, uint32 Offset,
     RENDER_CLIPPED_TILE(WRITE_4PIXELS16_ADD1_2, WRITE_4PIXELS16_FLIPPED_ADD1_2, 4)
 }
 
-void DrawTile16Sub (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16Sub (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                    uint32 LineCount)
 {
     TILE_PREAMBLE
@@ -969,7 +897,7 @@ void DrawTile16Sub (uint32 Tile, uint32 Offset, uint32 StartLine,
     RENDER_TILE(WRITE_4PIXELS16_SUB, WRITE_4PIXELS16_FLIPPED_SUB, 4)
 }
 
-void DrawClippedTile16Sub (uint32 Tile, uint32 Offset,
+void DrawClippedTile16Sub (uint32 Tile, tile_offset_t Offset,
                           uint32 StartPixel, uint32 Width,
                           uint32 StartLine, uint32 LineCount)
 {
@@ -980,7 +908,7 @@ void DrawClippedTile16Sub (uint32 Tile, uint32 Offset,
     RENDER_CLIPPED_TILE(WRITE_4PIXELS16_SUB, WRITE_4PIXELS16_FLIPPED_SUB, 4)
 }
 
-void DrawTile16Sub1_2 (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16Sub1_2 (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                       uint32 LineCount)
 {
     TILE_PREAMBLE
@@ -989,7 +917,7 @@ void DrawTile16Sub1_2 (uint32 Tile, uint32 Offset, uint32 StartLine,
     RENDER_TILE(WRITE_4PIXELS16_SUB1_2, WRITE_4PIXELS16_FLIPPED_SUB1_2, 4)
 }
 
-void DrawClippedTile16Sub1_2 (uint32 Tile, uint32 Offset,
+void DrawClippedTile16Sub1_2 (uint32 Tile, tile_offset_t Offset,
                              uint32 StartPixel, uint32 Width,
                              uint32 StartLine, uint32 LineCount)
 {
@@ -1000,7 +928,7 @@ void DrawClippedTile16Sub1_2 (uint32 Tile, uint32 Offset,
     RENDER_CLIPPED_TILE(WRITE_4PIXELS16_SUB1_2, WRITE_4PIXELS16_FLIPPED_SUB1_2, 4)
 }
 
-STATIC INLINE void WRITE_4PIXELS16_ADDF1_2 (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_ADDF1_2 (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -1026,7 +954,7 @@ STATIC INLINE void WRITE_4PIXELS16_ADDF1_2 (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-STATIC INLINE void WRITE_4PIXELS16_FLIPPED_ADDF1_2 (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_FLIPPED_ADDF1_2 (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -1052,7 +980,7 @@ STATIC INLINE void WRITE_4PIXELS16_FLIPPED_ADDF1_2 (uint32 Offset, uint8 *Pixels
 #undef FN
 }
 
-STATIC INLINE void WRITE_4PIXELS16_SUBF1_2 (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_SUBF1_2 (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -1078,7 +1006,7 @@ STATIC INLINE void WRITE_4PIXELS16_SUBF1_2 (uint32 Offset, uint8 *Pixels)
 #undef FN
 }
 
-STATIC INLINE void WRITE_4PIXELS16_FLIPPED_SUBF1_2 (uint32 Offset, uint8 *Pixels)
+STATIC INLINE void WRITE_4PIXELS16_FLIPPED_SUBF1_2 (tile_offset_t Offset, uint8 *Pixels)
 {
     register uint32 Pixel;
     uint16 *Screen = (uint16 *) GFX.S + Offset;
@@ -1104,7 +1032,7 @@ STATIC INLINE void WRITE_4PIXELS16_FLIPPED_SUBF1_2 (uint32 Offset, uint8 *Pixels
 #undef FN
 }
 
-void DrawTile16FixedAdd1_2 (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16FixedAdd1_2 (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                            uint32 LineCount)
 {
     TILE_PREAMBLE
@@ -1113,7 +1041,7 @@ void DrawTile16FixedAdd1_2 (uint32 Tile, uint32 Offset, uint32 StartLine,
     RENDER_TILE(WRITE_4PIXELS16_ADDF1_2, WRITE_4PIXELS16_FLIPPED_ADDF1_2, 4)
 }
 
-void DrawClippedTile16FixedAdd1_2 (uint32 Tile, uint32 Offset,
+void DrawClippedTile16FixedAdd1_2 (uint32 Tile, tile_offset_t Offset,
                                   uint32 StartPixel, uint32 Width,
                                   uint32 StartLine, uint32 LineCount)
 {
@@ -1125,7 +1053,7 @@ void DrawClippedTile16FixedAdd1_2 (uint32 Tile, uint32 Offset,
                        WRITE_4PIXELS16_FLIPPED_ADDF1_2, 4)
 }
 
-void DrawTile16FixedSub1_2 (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16FixedSub1_2 (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                            uint32 LineCount)
 {
     TILE_PREAMBLE
@@ -1134,7 +1062,7 @@ void DrawTile16FixedSub1_2 (uint32 Tile, uint32 Offset, uint32 StartLine,
     RENDER_TILE(WRITE_4PIXELS16_SUBF1_2, WRITE_4PIXELS16_FLIPPED_SUBF1_2, 4)
 }
 
-void DrawClippedTile16FixedSub1_2 (uint32 Tile, uint32 Offset,
+void DrawClippedTile16FixedSub1_2 (uint32 Tile, tile_offset_t Offset,
                                   uint32 StartPixel, uint32 Width,
                                   uint32 StartLine, uint32 LineCount)
 {
@@ -1146,7 +1074,7 @@ void DrawClippedTile16FixedSub1_2 (uint32 Tile, uint32 Offset,
                        WRITE_4PIXELS16_FLIPPED_SUBF1_2, 4)
 }
 
-void DrawLargePixel16Add (uint32 Tile, uint32 Offset,
+void DrawLargePixel16Add (uint32 Tile, tile_offset_t Offset,
                          uint32 StartPixel, uint32 Pixels,
                          uint32 StartLine, uint32 LineCount)
 {
@@ -1165,7 +1093,7 @@ void DrawLargePixel16Add (uint32 Tile, uint32 Offset,
     RENDER_TILE_LARGE (GFX.ScreenColors [pixel], LARGE_ADD_PIXEL)
 }
 
-void DrawLargePixel16Add1_2 (uint32 Tile, uint32 Offset,
+void DrawLargePixel16Add1_2 (uint32 Tile, tile_offset_t Offset,
                             uint32 StartPixel, uint32 Pixels,
                             uint32 StartLine, uint32 LineCount)
 {
@@ -1184,7 +1112,7 @@ void DrawLargePixel16Add1_2 (uint32 Tile, uint32 Offset,
     RENDER_TILE_LARGE (GFX.ScreenColors [pixel], LARGE_ADD_PIXEL1_2)
 }
 
-void DrawLargePixel16Sub (uint32 Tile, uint32 Offset,
+void DrawLargePixel16Sub (uint32 Tile, tile_offset_t Offset,
                          uint32 StartPixel, uint32 Pixels,
                          uint32 StartLine, uint32 LineCount)
 {
@@ -1203,7 +1131,7 @@ void DrawLargePixel16Sub (uint32 Tile, uint32 Offset,
     RENDER_TILE_LARGE (GFX.ScreenColors [pixel], LARGE_SUB_PIXEL)
 }
 
-void DrawLargePixel16Sub1_2 (uint32 Tile, uint32 Offset,
+void DrawLargePixel16Sub1_2 (uint32 Tile, tile_offset_t Offset,
                             uint32 StartPixel, uint32 Pixels,
                             uint32 StartLine, uint32 LineCount)
 {
@@ -1222,7 +1150,7 @@ void DrawLargePixel16Sub1_2 (uint32 Tile, uint32 Offset,
     RENDER_TILE_LARGE (GFX.ScreenColors [pixel], LARGE_SUB_PIXEL1_2)
 }
 
-void DrawHiResTile16 (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawHiResTile16 (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                 uint32 LineCount)
 {
     TILE_PREAMBLE
@@ -1231,7 +1159,7 @@ void DrawHiResTile16 (uint32 Tile, uint32 Offset, uint32 StartLine,
     RENDER_TILEHI(WRITE_4PIXELSHI16, WRITE_4PIXELSHI16_FLIPPED, 4)
 }
 
-void DrawHiResClippedTile16 (uint32 Tile, uint32 Offset,
+void DrawHiResClippedTile16 (uint32 Tile, tile_offset_t Offset,
                          uint32 StartPixel, uint32 Width,
                        uint32 StartLine, uint32 LineCount)
 {
diff --git a/tile.h b/tile.h
index 7bd9544..b91931c 100644 (file)
--- a/tile.h
+++ b/tile.h
 #ifndef _TILE_H_
 #define _TILE_H_
 
-void DrawTile (uint32 Tile, uint32 Offset, uint32 StartLine,
-              uint32 LineCount);
-void DrawClippedTile (uint32 Tile, uint32 Offset,
-                     uint32 StartPixel, uint32 Width,
-                     uint32 StartLine, uint32 LineCount);
-void DrawLargePixel (uint32 Tile, uint32 Offset,
-                    uint32 StartPixel, uint32 Pixels,
-                    uint32 StartLine, uint32 LineCount);
-
-void DrawTile16 (uint32 Tile, uint32 Offset, uint32 StartLine,
+#include "gfx.h"
+
+START_EXTERN_C
+
+void DrawTile16 (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                 uint32 LineCount);
-void DrawClippedTile16 (uint32 Tile, uint32 Offset,
+void DrawClippedTile16 (uint32 Tile, tile_offset_t Offset,
                        uint32 StartPixel, uint32 Width,
                        uint32 StartLine, uint32 LineCount);
-void DrawLargePixel16 (uint32 Tile, uint32 Offset,
+void DrawLargePixel16 (uint32 Tile, tile_offset_t Offset,
                       uint32 StartPixel, uint32 Pixels,
                       uint32 StartLine, uint32 LineCount);
 
-void DrawTile16Add (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16Add (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                    uint32 LineCount);
 
-void DrawClippedTile16Add (uint32 Tile, uint32 Offset,
+void DrawClippedTile16Add (uint32 Tile, tile_offset_t Offset,
                           uint32 StartPixel, uint32 Width,
                           uint32 StartLine, uint32 LineCount);
 
-void DrawTile16Add1_2 (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16Add1_2 (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                       uint32 LineCount);
 
-void DrawClippedTile16Add1_2 (uint32 Tile, uint32 Offset,
+void DrawClippedTile16Add1_2 (uint32 Tile, tile_offset_t Offset,
                              uint32 StartPixel, uint32 Width,
                              uint32 StartLine, uint32 LineCount);
 
-void DrawTile16FixedAdd1_2 (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16FixedAdd1_2 (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                            uint32 LineCount);
 
-void DrawClippedTile16FixedAdd1_2 (uint32 Tile, uint32 Offset,
+void DrawClippedTile16FixedAdd1_2 (uint32 Tile, tile_offset_t Offset,
                                   uint32 StartPixel, uint32 Width,
                                   uint32 StartLine, uint32 LineCount);
 
-void DrawTile16Sub (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16Sub (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                    uint32 LineCount);
 
-void DrawClippedTile16Sub (uint32 Tile, uint32 Offset,
+void DrawClippedTile16Sub (uint32 Tile, tile_offset_t Offset,
                           uint32 StartPixel, uint32 Width,
                           uint32 StartLine, uint32 LineCount);
 
-void DrawTile16Sub1_2 (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16Sub1_2 (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                       uint32 LineCount);
 
-void DrawClippedTile16Sub1_2 (uint32 Tile, uint32 Offset,
+void DrawClippedTile16Sub1_2 (uint32 Tile, tile_offset_t Offset,
                              uint32 StartPixel, uint32 Width,
                              uint32 StartLine, uint32 LineCount);
 
-void DrawTile16FixedSub1_2 (uint32 Tile, uint32 Offset, uint32 StartLine,
+void DrawTile16FixedSub1_2 (uint32 Tile, tile_offset_t Offset, uint32 StartLine,
                            uint32 LineCount);
 
-void DrawClippedTile16FixedSub1_2 (uint32 Tile, uint32 Offset,
+void DrawClippedTile16FixedSub1_2 (uint32 Tile, tile_offset_t Offset,
                                   uint32 StartPixel, uint32 Width,
                                   uint32 StartLine, uint32 LineCount);
 
-void DrawLargePixel16Add (uint32 Tile, uint32 Offset,
+void DrawLargePixel16Add (uint32 Tile, tile_offset_t Offset,
                          uint32 StartPixel, uint32 Pixels,
                          uint32 StartLine, uint32 LineCount);
 
-void DrawLargePixel16Add1_2 (uint32 Tile, uint32 Offset,
+void DrawLargePixel16Add1_2 (uint32 Tile, tile_offset_t Offset,
                             uint32 StartPixel, uint32 Pixels,
                             uint32 StartLine, uint32 LineCount);
 
-void DrawLargePixel16Sub (uint32 Tile, uint32 Offset,
+void DrawLargePixel16Sub (uint32 Tile, tile_offset_t Offset,
                          uint32 StartPixel, uint32 Pixels,
                          uint32 StartLine, uint32 LineCount);
 
-void DrawLargePixel16Sub1_2 (uint32 Tile, uint32 Offset,
+void DrawLargePixel16Sub1_2 (uint32 Tile, tile_offset_t Offset,
                             uint32 StartPixel, uint32 Pixels,
                             uint32 StartLine, uint32 LineCount);
 
-void DrawHiResClippedTile16 (uint32 Tile, uint32 Offset,
+void DrawHiResClippedTile16 (uint32 Tile, tile_offset_t Offset,
                        uint32 StartPixel, uint32 Width,
                        uint32 StartLine, uint32 LineCount);
 
-void DrawHiResTile16 (uint32 Tile, uint32 Offset,
+void DrawHiResTile16 (uint32 Tile, tile_offset_t Offset,
                        uint32 StartLine, uint32 LineCount);
 
+END_EXTERN_C
+
 #endif