+// if(q) MM_ShowMemory (gvar);\r
+}\r
+\r
+/*\r
+===================\r
+=\r
+= TestSprites\r
+=\r
+===================\r
+*/\r
+\r
+#if 0\r
+#define DISPWIDTH 110\r
+#define TEXTWIDTH 40\r
+void TestSprites(void)\r
+{\r
+ int hx,hy,sprite,oldsprite,bottomy,topx,shift;\r
+ spritetabletype far *spr;\r
+ spritetype _seg *block;\r
+ unsigned mem,scan;\r
+\r
+\r
+ VW_FixRefreshBuffer ();\r
+ US_CenterWindow (30,17);\r
+\r
+ US_CPrint ("Sprite Test");\r
+ US_CPrint ("-----------");\r
+\r
+ hy=PrintY;\r
+ hx=(PrintX+56)&(~7);\r
+ topx = hx+TEXTWIDTH;\r
+\r
+ US_Print ("Chunk:\nWidth:\nHeight:\nOrgx:\nOrgy:\nXl:\nYl:\nXh:\nYh:\n"\r
+ "Shifts:\nMem:\n");\r
+\r
+ bottomy = PrintY;\r
+\r
+ sprite = STARTSPRITES;\r
+ shift = 0;\r
+\r
+ do\r
+ {\r
+ if (sprite>=STARTTILE8)\r
+ sprite = STARTTILE8-1;\r
+ else if (sprite<STARTSPRITES)\r
+ sprite = STARTSPRITES;\r
+\r
+ spr = &spritetable[sprite-STARTSPRITES];\r
+ block = (spritetype _seg *)grsegs[sprite];\r
+\r
+ VWB_Bar (hx,hy,TEXTWIDTH,bottomy-hy,WHITE);\r
+\r
+ PrintX=hx;\r
+ PrintY=hy;\r
+ US_PrintUnsigned (sprite);US_Print ("\n");PrintX=hx;\r
+ US_PrintUnsigned (spr->width);US_Print ("\n");PrintX=hx;\r
+ US_PrintUnsigned (spr->height);US_Print ("\n");PrintX=hx;\r
+ US_PrintSigned (spr->orgx);US_Print ("\n");PrintX=hx;\r
+ US_PrintSigned (spr->orgy);US_Print ("\n");PrintX=hx;\r
+ US_PrintSigned (spr->xl);US_Print ("\n");PrintX=hx;\r
+ US_PrintSigned (spr->yl);US_Print ("\n");PrintX=hx;\r
+ US_PrintSigned (spr->xh);US_Print ("\n");PrintX=hx;\r
+ US_PrintSigned (spr->yh);US_Print ("\n");PrintX=hx;\r
+ US_PrintSigned (spr->shifts);US_Print ("\n");PrintX=hx;\r
+ if (!block)\r
+ {\r
+ US_Print ("-----");\r
+ }\r
+ else\r
+ {\r
+ mem = block->sourceoffset[3]+5*block->planesize[3];\r
+ mem = (mem+15)&(~15); // round to paragraphs\r
+ US_PrintUnsigned (mem);\r
+ }\r
+\r
+ oldsprite = sprite;\r
+ do\r
+ {\r
+ //\r
+ // draw the current shift, then wait for key\r
+ //\r
+ VWB_Bar(topx,hy,DISPWIDTH,bottomy-hy,WHITE);\r
+ if (block)\r
+ {\r
+ PrintX = topx;\r
+ PrintY = hy;\r
+ US_Print ("Shift:");\r
+ US_PrintUnsigned (shift);\r
+ US_Print ("\n");\r
+ VWB_DrawSprite (topx+16+shift*2,PrintY,sprite);\r
+ }\r
+\r
+ VW_UpdateScreen();\r
+\r
+ scan = IN_WaitForKey ();\r
+\r
+ switch (scan)\r
+ {\r
+ case sc_UpArrow:\r
+ sprite++;\r
+ break;\r
+ case sc_DownArrow:\r
+ sprite--;\r
+ break;\r
+ case sc_LeftArrow:\r
+ if (--shift == -1)\r
+ shift = 3;\r
+ break;\r
+ case sc_RightArrow:\r
+ if (++shift == 4)\r
+ shift = 0;\r
+ break;\r
+ case sc_Escape:\r
+ return;\r
+ }\r
+\r
+ } while (sprite == oldsprite);\r
+\r
+ } while (1);\r
+\r
+\r