#include "defs.h" /* draw the board */ bdraw(m) char m; { REG SKT sp; REG CHP cp; STRING p; CHAR txt[INTWIDTH+2]; REG INT n; if (tflag) return; setskno(); style(3, 0, 1); n = 1; scanboard(sp) { if (sp->typid != UNUSED) { p = itoa(n, txt); while (p < &txt[INTWIDTH]) *p++ = ' '; cp = sp->sktchp; if (cp) *p++ = (cp->state == HARD)? 'H': 'S'; *p = 0; sbox(sp->x,sp->y,sp->dx,sp->dy, (cp || (sp->block == nil(SKT)))? txt : nil(STRING), (sp->block == UBLOCK)? -1 : 0); } n++; } style(3, 0, 0); Lseek(file, limit+HDRSIZ, 0); scansym(symbol) { switch(symbol->type) { case CLINK: goto done; case CHIP: if (m == 't') continue; cp = chp(symbol->value.v_adr + fdelta); cbox(cp, symbol->nm); continue; case IOC: cp = chp(symbol->value.v_adr + fdelta); if ((cp->state & SOFT) == 0) placA(1, cp); else cbox(cp, symbol->nm); continue; case CTYPE: if (m == 't') { n = symbol->value.v_int; scanchips(cp) if (cp->ctypno == n) cbox(cp, symbol->nm); } continue; default: continue; } done: break; } full(); cmdpos->x = 0; cmdpos->y = 750; mode(CMD); }