asm for DrawAllSprites
[picodrive.git] / Pico / Draw.c
index ee91741..0cb8687 100644 (file)
@@ -35,11 +35,11 @@ void *DrawLineDest=DefOutBuff; // pointer to dest buffer where to draw this line
 static int  HighCacheA[41+1];   // caches for high layers\r
 static int  HighCacheB[41+1];\r
 static int  HighCacheS[80+1];   // and sprites\r
-static int  HighPreSpr[80*2+1]; // slightly preprocessed sprites\r
+int  HighPreSpr[80*2+1]; // slightly preprocessed sprites\r
 int *HighCacheS_ptr;\r
 \r
 #define MAX_LINE_SPRITES 30\r
-static unsigned char HighLnSpr[240][2 + MAX_LINE_SPRITES]; // sprite_count, tile_count, [spritep]...\r
+unsigned char HighLnSpr[240][2 + MAX_LINE_SPRITES]; // sprite_count, tile_count, [spritep]...\r
 \r
 int rendstatus = 0;\r
 int DrawScanline = 0;\r
@@ -65,7 +65,7 @@ struct TileStrip
 #ifdef _ASM_DRAW_C\r
 void DrawWindow(int tstart, int tend, int prio, int sh);\r
 void BackFill(int reg7, int sh);\r
-void DrawSprite(int *sprite, int sh, int as);\r
+void DrawAllSprites(int *hcache, int prio, int sh);\r
 void DrawTilesFromCache(int *hc, int sh, int rlim);\r
 void DrawSpritesFromCache(int *hc, int prio, int sh);\r
 void DrawLayer(int plane_sh, int *hcache, int cellskip, int maxcells);\r
@@ -929,7 +929,7 @@ static void DrawSpritesFromCacheAS(int *hc, int prio, int sh)
 // Index + 0  :    hhhhvvvv ----hhvv yyyyyyyy yyyyyyyy // v, h: vert./horiz. size\r
 // Index + 4  :    xxxxxxxx xxxxxxxx pccvhnnn nnnnnnnn // x: x coord + 8\r
 \r
-static void PrepareSprites(int full)\r
+void PrepareSprites(int full)\r
 {\r
   struct PicoVideo *pvid=&Pico.video;\r
   int u,link=0;\r
@@ -1071,6 +1071,7 @@ found:;
   }\r
 }\r
 \r
+#ifndef _ASM_DRAW_C\r
 static void DrawAllSprites(int *hcache, int prio, int sh)\r
 {\r
   int rs = rendstatus, scan = DrawScanline;\r
@@ -1106,7 +1107,6 @@ static void DrawAllSprites(int *hcache, int prio, int sh)
 \r
 // --------------------------------------------\r
 \r
-#ifndef _ASM_DRAW_C\r
 static void BackFill(int reg7, int sh)\r
 {\r
   unsigned int back;\r