home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.lbl.gov / 2014.05.ftp.ee.lbl.gov.tar / ftp.ee.lbl.gov / mtrek.shar.Z / mtrek.shar / mesage.ftn < prev    next >
Text File  |  1990-04-02  |  1KB  |  67 lines

  1.     SUBROUTINE MESAGE
  2. C
  3. C    Here is where messages from the driver zip are processed.
  4. C    Overlays seperate the run time messages from the long messages
  5. C    one gets when one is destroyed.
  6. C
  7.     INCLUDE 'LEDFOR.COM/-LI'
  8.     INCLUDE 'PLAYER.COM/-LI'
  9.     REAL OVER(2)
  10.     DATA OVER/6RLONGER,6RTWENTY/
  11.  
  12.     IF(ISENT(WHO,1).EQ.0)GOTO 10000
  13.     DO 10000 I=1,10
  14.     INTMSG=ISENT(WHO,I)
  15.     IF(INTMSG.EQ.0)GOTO 10000
  16. C
  17. C    Check for bad message number
  18. C
  19.     IF((INTMSG.GT.32).OR.(INTMSG.LT.0))GOTO 10005
  20. C
  21. C    Check for long message
  22. C
  23.     IF((INTMSG.EQ. 3).OR.(INTMSG.EQ.15))GOTO 10005
  24.     IF((INTMSG.EQ.16).OR.(INTMSG.EQ.30))GOTO 10005
  25. C
  26. C    Message is a twenty character type
  27. C
  28.     CALL TWENTY(INTMSG)
  29.     GOTO 10001
  30. C
  31. C    Message is a long one
  32. C
  33. 10005    CALL MNLOAD(OVER(1))    ! Load longer
  34.     CALL LONGER(INTMSG)
  35.     CALL MNLOAD(OVER(2))    ! Load twenty
  36. 10001    ISENT(WHO,I)=0
  37. 10000    CONTINUE
  38.     RETURN
  39.     END
  40.     SUBROUTINE WRTMSG(NUM,STRING)
  41. C
  42. C    Write the short messages at the bottom of the screen
  43. C
  44.     INCLUDE 'PLAYER.COM/-LI'
  45.     INTEGER*2 NUM,LOCX(20),LOCY(20)
  46.     BYTE STRING(21)
  47.     DATA LOCX/01,61,41,21,21,21,01,21,01,41,
  48.      $          61,41,01,61,01,21,41,61,61,00/
  49.     DATA LOCY/20,20,20,20,21,24,21,22,23,22,
  50.      $          21,21,24,22,22,23,23,23,24,00/
  51.  
  52.     IF(COUNT(NUM).GT.0)GOTO 10000
  53.     CALL WRITE(LOCY(NUM),LOCX(NUM),STRING)
  54. 10000    COUNT(NUM)=3
  55.     RETURN
  56.     ENTRY BLANKS
  57. C
  58. C    Clean up messages
  59. C
  60.     DO 10002 I=1,20
  61.     IF(COUNT(I).LT.0)GOTO 10002
  62.     COUNT(I)=COUNT(I)-1
  63.     IF(COUNT(I).EQ.-1)CALL WRITE(LOCY(I),LOCX(I),'                   ')
  64. 10002    CONTINUE
  65.     RETURN
  66.     END
  67.