ref: ddcaa37baf64e0fc44f8ebf051005a0b0a1fd29b
dir: /debug.c/
#define VIEWTILEX (vw.dx/16) #define VIEWTILEY (vw.dy/16) s16int maporgx; s16int maporgy; enum {mapview,tilemapview,actoratview,visview} viewtype; s16int DebugKeys (void) { int esc; s16int level,i; if (Keyboard[sc_B]) // B = border color { CenterWindow(24,3); PrintY+=6; US_Print(" Border color (0-15):"); VW_UpdateScreen(); esc = !US_LineInput (px,py,str,NULL,true,2,0); if (!esc) { level = atoi (str); if (level>=0 && level<=15) VW_ColorBorder (level); } return 1; } if (Keyboard[sc_E]) // E = quit level { if (tedlevel) Quit (NULL); gm.φ = ex_completed; // gamestate.mapon++; } if (Keyboard[sc_F]) // F = facing spot { CenterWindow (14,4); US_Print ("X:"); US_PrintUnsigned (player->x); US_Print ("\nY:"); US_PrintUnsigned (player->y); US_Print ("\nA:"); US_PrintUnsigned (player->angle); VW_UpdateScreen(); IN_Ack(); return 1; } if (Keyboard[sc_G]) // G = god mode { CenterWindow (12,2); if (godmode) US_PrintCentered ("God mode OFF"); else US_PrintCentered ("God mode ON"); VW_UpdateScreen(); IN_Ack(); godmode ^= 1; return 1; } if (Keyboard[sc_H]) // H = hurt self { IN_ClearKeysDown (); hurt (16,NULL); } else if (Keyboard[sc_I]) // I = item cheat { CenterWindow (12,3); US_PrintCentered ("Free items!"); VW_UpdateScreen(); givep (100000); HealSelf (99); if (gm.bestw<WPgatling) givew (gm.bestw+1); gamestate.ammo += 50; if (gamestate.ammo > 99) gamestate.ammo = 99; huda (); IN_Ack (); return 1; } #ifdef SPEAR else if (Keyboard[sc_N]) // N = no clip { noclip^=1; CenterWindow (18,3); if (noclip) US_PrintCentered ("No clipping ON"); else US_PrintCentered ("No clipping OFF"); VW_UpdateScreen(); IN_Ack (); return 1; } #endif #if 0 else if (Keyboard[sc_O]) // O = overhead { ViewMap(); return 1; } #endif else if (Keyboard[sc_Q]) // Q = fast quit Quit (NULL); else if (Keyboard[sc_S]) // S = slow motion { onestep^=1; CenterWindow (18,3); if (onestep) US_PrintCentered ("Slow motion ON"); else US_PrintCentered ("Slow motion OFF"); VW_UpdateScreen(); IN_Ack (); return 1; } else if (Keyboard[sc_T]) // T = shape test { ShapeTest (); return 1; } else if (Keyboard[sc_V]) // V = extra VBLs { CenterWindow(30,3); PrintY+=6; US_Print(" Add how many extra VBLs(0-8):"); VW_UpdateScreen(); esc = !US_LineInput (px,py,str,NULL,true,2,0); if (!esc) { level = atoi (str); if (level>=0 && level<=8) extravbls = level; } return 1; } else if (Keyboard[sc_W]) // W = warp to level { CenterWindow(26,3); PrintY+=6; #ifndef SPEAR US_Print(" Warp to which level(1-10):"); #else US_Print(" Warp to which level(1-21):"); #endif VW_UpdateScreen(); esc = !US_LineInput (px,py,str,NULL,true,2,0); if (!esc) { level = atoi (str); #ifndef SPEAR if (level>0 && level<11) #else if (level>0 && level<22) #endif { gamestate.mapon = level-1; gm.φ = ex_warped; } } return 1; } else if (Keyboard[sc_X]) // X = item cheat { CenterWindow (12,3); US_PrintCentered ("Extra stuff!"); VW_UpdateScreen(); // DEBUG: put stuff here IN_Ack (); return 1; } return 0; } #if 0 /* =================== = = OverheadRefresh = =================== */ void OverheadRefresh (void) { u16int x,y,endx,endy,sx,sy; u16int tile; endx = maporgx+VIEWTILEX; endy = maporgy+VIEWTILEY; for (y=maporgy;y<endy;y++) for (x=maporgx;x<endx;x++) { sx = (x-maporgx)*16; sy = (y-maporgy)*16; switch (viewtype) { #if 0 case mapview: tile = *(mapsegs[0]+farmapylookup[y]+x); break; case tilemapview: tile = tilemap[x][y]; break; case visview: tile = spotvis[x][y]; break; #endif case actoratview: tile = (u16int)actorat[x][y]; break; } if (tile<MAXWALLTILES) LatchDrawTile(sx,sy,tile); else { LatchDrawChar(sx,sy,NUMBERCHARS+((tile&0xf000)>>12)); LatchDrawChar(sx+8,sy,NUMBERCHARS+((tile&0x0f00)>>8)); LatchDrawChar(sx,sy+8,NUMBERCHARS+((tile&0x00f0)>>4)); LatchDrawChar(sx+8,sy+8,NUMBERCHARS+(tile&0x000f)); } } } #endif #if 0 /* =================== = = ViewMap = =================== */ void ViewMap (void) { int button0held; viewtype = actoratview; // button0held = false; maporgx = player->tilex - VIEWTILEX/2; if (maporgx<0) maporgx = 0; if (maporgx>MAPSIZE-VIEWTILEX) maporgx=MAPSIZE-VIEWTILEX; maporgy = player->tiley - VIEWTILEY/2; if (maporgy<0) maporgy = 0; if (maporgy>MAPSIZE-VIEWTILEY) maporgy=MAPSIZE-VIEWTILEY; do { // // let user pan around // PollControls (); if (controlx < 0 && maporgx>0) maporgx--; if (controlx > 0 && maporgx<mapwidth-VIEWTILEX) maporgx++; if (controly < 0 && maporgy>0) maporgy--; if (controly > 0 && maporgy<mapheight-VIEWTILEY) maporgy++; #if 0 if (c.button0 && !button0held) { button0held = true; viewtype++; if (viewtype>visview) viewtype = mapview; } if (!c.button0) button0held = false; #endif OverheadRefresh (); } while (!Keyboard[sc_Escape]); IN_ClearKeysDown (); } #endif