]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_tail.c
16_ca needs huge amounts of work and I should remember what needs to be done soon...
[16.git] / src / lib / 16_tail.c
index b56a6600b921f896880cf19f6da268ef9958bab5..b92facef9b250980b369eeb2f45ab753afb9b9b9 100755 (executable)
@@ -450,6 +450,128 @@ void DebugMemory_(global_game_variables_t *gvar, boolean q)
 //     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
+}\r
+\r
+#endif\r
+\r
 /*\r
 ==========================\r
 =\r