SUBROUTINE PAINT(WHO) C C REPAINT SCREEN FOR CNGSHP IN TRDEMO C INCLUDE 'TRKCOMMON.FTN' REAL LAUNCH INTEGER SCAN,WHOM,CREW,HYPER,TORPS,WHO,IPRM(6) LOGICAL*1 THRU,XSHIP,CLOAK,CLON,OK,FBASE BYTE MESSAG,INITLS,REV(4),REG(4),HOME(10),TMPINI,XY(2),OUTBUF(15) BYTE ROW(8) CHARACTER TOPLIN*43, LINE2*46, LINE3*46, LINE4*46, LINE5*31, ESC*1 CHARACTER*39 DAM1, DAM2, DAM3, DAM4, TCHAR*1, LINE6*46 EQUIVALENCE (TCHAR,TMPINI) EQUIVALENCE (IPRM(3),XY) DATA ROW/13,15,17,19,13,15,17,19/ DATA HOME/"33,'[','0',';','0','H',"33,'[','0','J'/ DATA ESC/"33/ DATA REV/"33,'[','7','m'/ DATA REG/"33,'[','0','m'/ DATA TOPLIN/' [1;20HCHANGE SCREEN FOR: SHIP OWNER '/ DATA LINE2(1:46)/' CLOAKED X-COORD WARP '/ DATA LINE3(1:46)/' DOCKED Y-COORD COURSE'/ DATA LINE4(1:46)/' HYPER TORPS HOMERS'/ DATA LINE6(1:46)/' ENERGY SHIELDS A-PODS'/ DATA LINE5/' [11;11HCOMPONENT DAMAGE STATUS'/ DATA DAM1/' PHASERS % NAV-COMPUTER %'/ DATA DAM2/' TORPEDOES % WARP-DRIVE %'/ DATA DAM3/' SCANNERS % ANTI-MATTER %'/ DATA DAM4/' CLOAKING % SHIELDS %'/ C C CALL GETADR(IPRM(1),OUTBUF) TOPLIN(1:1)=ESC LINE5(1:1)=ESC 10000 ENCODE (1,10003,TOPLIN(33:33)) WHO 10003 FORMAT (I1) TMPINI=INITLS(WHO,1) TOPLIN(42:42)=TCHAR TMPINI=INITLS(WHO,2) TOPLIN(43:43)=TCHAR WRITE (5,10001) HOME,REV,TOPLIN,REG,LINE2,LINE3,LINE4,LINE6,REV,LINE5 10001 FORMAT(' ',14A1,A43,4A1,4(//,A46),4A1,A31) WRITE (5,10002) REG,DAM1,DAM2,DAM3,DAM4 10002 FORMAT(/,' ',4A1,A39,3(//,' ',A39)) C XY(1)=11 XY(2)=3 OUTBUF(1)='Y' IF (.NOT.CLON(WHO)) OUTBUF(1)='N' IPRM(2)=1 CALL WTQIO("400,5,1,,,IPRM) C XY(1)=28 ENCODE (5,10004,OUTBUF) XCORD(WHO) 10004 FORMAT (F5.1) IPRM(2)=5 CALL WTQIO("400,5,1,,,IPRM) C XY(1)=50 ENCODE (4,10005,OUTBUF) WARP(WHO) 10005 FORMAT(F4.2) IPRM(2)=4 CALL WTQIO("400,5,1,,,IPRM) C OUTBUF(1)='Y' IF (.NOT.DOCKED(WHO)) OUTBUF(1)='N' XY(1)=11 XY(2)=5 IPRM(2)=1 CALL WTQIO("400,5,1,,,IPRM) C ENCODE (5,10004,OUTBUF) YCORD(WHO) XY(1)=28 IPRM(2)=5 CALL WTQIO("400,5,1,,,IPRM) IF (DIR(WHO).GT.90.) V=(450.-DIR(WHO))/30. IF (DIR(WHO).LE.90.) V=(90.-DIR(WHO))/30. ENCODE (5,10007,OUTBUF) V 10007 FORMAT (F5.2) XY(1)=49 CALL WTQIO("400,5,1,,,IPRM) C ENCODE (3,10008,OUTBUF) HYPER(WHO,1),HYPER(WHO,2) 10008 FORMAT (I1,'/',I1) XY(1)=11 XY(2)=7 IPRM(2)=3 CALL WTQIO("400,5,1,,,IPRM) C ENCODE (2,10009,OUTBUF) TORPS(WHO) 10009 FORMAT (I2) XY(1)=31 IPRM(2)=2 CALL WTQIO("400,5,1,,,IPRM) C ENCODE (2,10009,OUTBUF) IHOME(WHO) XY(1)=52 CALL WTQIO("400,5,1,,,IPRM) C XY(1)=8 XY(2)=9 IPRM(2)=4 CALL WTQIO("400,5,1,,,IPRM) ENCODE (6,20500,OUTBUF) ENERGY(WHO) IPRM(2)=6 CALL WTQIO("400,5,1,,,IPRM) C ENCODE (6,20500,OUTBUF) SHIELD(WHO) 20500 FORMAT (I6) XY(1)=26 IPRM(2)=6 CALL WTQIO("400,5,1,,,IPRM) C ITMP = ICNTRL(6) - IACTN(WHO) ENCODE (2,10009,OUTBUF) ITMP XY(1)=52 IPRM(2)=2 CALL WTQIO("400,5,1,,,IPRM) C IPRM(2)=3 DO 10010 I=1,8 XY(1)=14 IF (I.GT.4) XY(1)=36 XY(2)=ROW(I) ENCODE (3,10011,OUTBUF) IDAMGE(WHO,I) 10011 FORMAT (I3) CALL WTQIO("400,5,1,,,IPRM) 10010 CONTINUE C RETURN END