]> 4ch.mooo.com Git - 16.git/blob - src/lib/16_dbg.c
exmmtest.exe \> exmmtest.l16 == BOOM
[16.git] / src / lib / 16_dbg.c
1 #include "src/lib/16_dbg.h"\r
2 \r
3 #ifdef __DEBUG__\r
4 #ifdef __DEBUG_MM__\r
5 boolean dbg_debugmm=0;\r
6 #endif\r
7 #ifdef __DEBUG_PM__\r
8 boolean dbg_debugpm=0;\r
9 #endif\r
10 #ifdef __DEBUG_CA__\r
11 boolean dbg_debugca=0;\r
12 #endif\r
13 #ifdef __DEBUG_InputMgr__\r
14 boolean dbg_testkeyin=0,dbg_testcontrolnoisy=0,dbg_nointest=0;\r
15 #endif\r
16 #ifdef __DEBUG_MAP__\r
17 boolean dbg_maptext=0;\r
18 byte *dbg_mapdata;\r
19 #endif\r
20 #ifdef __DEBUG_RF__\r
21 boolean dbg_pagenorendermap=0,dbg_pagedelayrendermap=0;\r
22 #endif\r
23 #ifdef __DEBUG_SPRI__\r
24 boolean dbg_delayanimation=0;\r
25 #endif\r
26 #endif  //debug\r
27 \r
28 \r
29 /*\r
30 ================\r
31 =\r
32 = ShapeTest\r
33 =\r
34 ================\r
35 */\r
36 \r
37 #pragma warn -pia\r
38 void ShapeTest_(global_game_variables_t *gvar)\r
39 {\r
40 extern  word    NumDigi;\r
41 extern  word    _seg *DigiList;\r
42 static  char    buf[10];\r
43 \r
44         boolean                 done;\r
45         ScanCode                scan;\r
46         int                             i,j;\r
47 //      dword           l; word k,x;\r
48         memptr                  addr;\r
49         PageListStruct  far *page;\r
50 \r
51 //      CenterWindow(20,16);\r
52 //      VW_UpdateScreen();\r
53         for (i = 0,done = false;!done;)\r
54         {\r
55 //              US_ClearWindow();\r
56 //              sound = -1;\r
57 \r
58                 page = &(gvar->pm.PMPages[i]);\r
59 //              US_Print(" Page #");\r
60 //              US_PrintUnsigned(i);\r
61                 printf(" Page #%u", i);\r
62 //++            if (i < (gvar->pm.fi.PMSpriteStart))\r
63 //                      US_Print(" (Wall)");\r
64 //++                    printf(" (Wall)");\r
65 /*              else if (i < (gvar->pm.fi.PMSoundStart))\r
66 //                      US_Print(" (Sprite)");\r
67                         printf(" (Sprite)");\r
68                 else if (i == (gvar->pm.fi.ChunksInFile - 1))\r
69 //                      US_Print(" (Sound Info)");\r
70                         printf(" (Sound Info)");\r
71                 else\r
72 //                      US_Print(" (Sound)");\r
73                         printf(" (Sound)");*/\r
74 \r
75 //              US_Print("\n XMS: ");\r
76                 printf("\n XMS: ");\r
77                 if (page->xmsPage != -1)\r
78 //                      US_PrintUnsigned(page->xmsPage);\r
79                         printf("%u", page->xmsPage);\r
80                 else\r
81 //                      US_Print("No");\r
82                         printf("No");\r
83 \r
84 //              US_Print("\n Main: ");\r
85                 if (page->mainPage != -1)\r
86 //                      US_PrintUnsigned(page->mainPage);\r
87                         printf("\n Main: %u", page->mainPage);\r
88                 else if (page->emsPage != -1)\r
89                 {\r
90 //                      US_Print("EMS ");\r
91 //                      US_PrintUnsigned(page->emsPage);\r
92                         printf("EMS %u", page->emsPage);\r
93                 }\r
94                 else\r
95 //                      US_Print("No");\r
96                         printf("No");\r
97 \r
98 //              US_Print("\n Last hit: ");\r
99 //              US_PrintUnsigned(page->lastHit);\r
100                 printf("\n Last hit: %u", page->lastHit);\r
101 \r
102 //              US_Print("\n Address: ");\r
103                 printf("\n Address: ");\r
104                 addr = PM_GetPageAddress(i, gvar);\r
105                 sprintf(buf,"0x%04x",(word)addr);\r
106 //              US_Print(buf);\r
107                 printf("%s", buf);\r
108 \r
109                 if (addr)\r
110                 {\r
111 /*                      if (i < PMSpriteStart)\r
112                         {\r
113                         //\r
114                         // draw the wall\r
115                         //\r
116                                 bufferofs += 32*SCREENWIDTH;\r
117                                 postx = 128;\r
118                                 postwidth = 1;\r
119                                 postsource = ((long)((unsigned)addr))<<16;\r
120                                 for (x=0;x<64;x++,postx++,postsource+=64)\r
121                                 {\r
122                                         wallheight[postx] = 256;\r
123                                         FarScalePost ();\r
124                                 }\r
125                                 bufferofs -= 32*SCREENWIDTH;\r
126                         }\r
127                         else if (i < PMSoundStart)\r
128                         {\r
129                         //\r
130                         // draw the sprite\r
131                         //\r
132                                 bufferofs += 32*SCREENWIDTH;\r
133                                 SimpleScaleShape (160, i-PMSpriteStart, 64);\r
134                                 bufferofs -= 32*SCREENWIDTH;\r
135                         }\r
136                         else if (i == ChunksInFile - 1)\r
137                         {\r
138                                 US_Print("\n\n Number of sounds: ");\r
139                                 US_PrintUnsigned(NumDigi);\r
140                                 for (l = j = k = 0;j < NumDigi;j++)\r
141                                 {\r
142                                         l += DigiList[(j * 2) + 1];\r
143                                         k += (DigiList[(j * 2) + 1] + (PMPageSize - 1)) / PMPageSize;\r
144                                 }\r
145                                 US_Print("\n Total bytes: ");\r
146                                 US_PrintUnsigned(l);\r
147                                 US_Print("\n Total pages: ");\r
148                                 US_PrintUnsigned(k);\r
149                         }\r
150                         else\r
151                         {\r
152                                 byte far *dp = (byte far *)MK_FP(addr,0);\r
153                                 for (j = 0;j < NumDigi;j++)\r
154                                 {\r
155                                         k = (DigiList[(j * 2) + 1] + (PMPageSize - 1)) / PMPageSize;\r
156                                         if\r
157                                         (\r
158                                                 (i >= PMSoundStart + DigiList[j * 2])\r
159                                         &&      (i < PMSoundStart + DigiList[j * 2] + k)\r
160                                         )\r
161                                                 break;\r
162                                 }\r
163                                 if (j < NumDigi)\r
164                                 {\r
165 //                                      sound = j;\r
166                                         US_Print("\n Sound #");\r
167                                         US_PrintUnsigned(j);\r
168                                         US_Print("\n Segment #");\r
169                                         US_PrintUnsigned(i - PMSoundStart - DigiList[j * 2]);\r
170                                 }\r
171                                 for (j = 0;j < page->length;j += 32)\r
172                                 {\r
173                                         byte v = dp[j];\r
174                                         int v2 = (unsigned)v;\r
175                                         v2 -= 128;\r
176                                         v2 /= 4;\r
177                                         if (v2 < 0)\r
178                                                 VWB_Vlin(WindowY + WindowH - 32 + v2,\r
179                                                                 WindowY + WindowH - 32,\r
180                                                                 WindowX + 8 + (j / 32),BLACK);\r
181                                         else\r
182                                                 VWB_Vlin(WindowY + WindowH - 32,\r
183                                                                 WindowY + WindowH - 32 + v2,\r
184                                                                 WindowX + 8 + (j / 32),BLACK);\r
185                                 }\r
186                         }*/\r
187                         printf("\naddr ok\n");\r
188                 }\r
189 \r
190 //              VW_UpdateScreen();\r
191 \r
192                 while (!(scan = gvar->in.inst->LastScan))\r
193                 {}\r
194 //                      SD_Poll();\r
195 \r
196                 IN_ClearKey(scan);\r
197                 switch (scan)\r
198                 {\r
199                 case sc_LeftArrow:\r
200                         if (i)\r
201                                 i--;\r
202                         break;\r
203                 case sc_RightArrow:\r
204                         if (++i >= (gvar->pm.fi.ChunksInFile))\r
205                                 i--;\r
206                         break;\r
207                 case sc_W:      // Walls\r
208                         i = 0;\r
209                         break;\r
210                 case sc_S:      // Sprites\r
211 //                      i = (gvar->pm.fi.PMSpriteStart);\r
212                         break;\r
213                 case sc_D:      // Digitized\r
214 //                      i = (gvar->pm.fi.PMSoundStart);\r
215                         break;\r
216                 case sc_I:      // Digitized info\r
217                         i = (gvar->pm.fi.ChunksInFile - 1);\r
218                         break;\r
219                 case sc_L:      // Load all pages\r
220                         for (j = 0;j < (gvar->pm.fi.ChunksInFile);j++)\r
221                                 PM_GetPage(j, gvar);\r
222                         break;\r
223                 case sc_P:\r
224 //                      if (sound != -1)\r
225 //                              SD_PlayDigitized(sound);\r
226                         break;\r
227                 case sc_Escape:\r
228                         done = true;\r
229                         break;\r
230                 case sc_Enter:\r
231                         PM_GetPage(i, gvar);\r
232                         break;\r
233                 }\r
234         }\r
235         //SD_StopDigitized();\r
236 }\r
237 #pragma warn +pia\r