Classic Computer Magazine Archive PROGRAM LISTING: 85-06/VIEW3D.ACT


;  VIEW3D (LISTING 10)
;   by   Paul Chabot 
;    ANTIC Magazine

INCLUDE "D:GR78M.ACT"
INCLUDE "D:MISC1.ACT"
INCLUDE "D:COLORS.ACT"
INCLUDE "D:DRAW3D.ACT"
INCLUDE "D:UPDATES.ACT"
INCLUDE "D:STICK3D.ACT"
INCLUDE "D:DISKIO.ACT"
INCLUDE "D:PRINTIO.ACT"
INCLUDE "D:MENU3D.ACT"

PROC Setup():BYTE i
SetTrig():Setjxjy():SetDfault():FixP(Q)
Gr78ON():dl1=dlist:sa1=sa:ram==-33
Graphics(0):ram==+33:dl2=dlist:cur=1
CMon():Menu():Dir():UReset():dlist=dl1
mes^=lin20
RETURN

PROC Main():BYTE k:Setup()
DO WHILE key=255 DO OD k=key:key=255
  dlist=dl1:CPon()
  IF k=31 THEN mes^=lin22 ;1
    JoyD(1)
  ELSEIF k=30 THEN mes^=lin22 ;2
    CLR():JoyD(0)
  ELSEIF k=26 THEN mes^=lin17 ;3
    JoyE()
  ELSEIF k=24 THEN mes^=lin19 ;4
    JoyF()
  ELSEIF k=29 THEN mes^=lin19 ;5
    JoyC()
  ELSEIF k=50 THEN mes^=lin20 ;0
    UReset()
  ELSEIF k=22 THEN mes^=lin18 ;X
    rx=(rx+ri+360) MOD 360:Urot()
  ELSEIF k=43 THEN mes^=lin18 ;Y
    ry=(ry+ri+360) MOD 360:Urot()
  ELSEIF k=23 THEN mes^=lin18 ;Z
    rz=(rz+ri+360) MOD 360:Urot()
  ELSEIF k=13 THEN mes^=lin18 ;I
    ri==+1:IF ri>45 THEN ri=45 FI:Uri()
  ELSEIF k=1 THEN mes^=lin18 ;J
    ri==-1:IF ri<-45 THEN ri=-45 FI:Uri()
  ELSEIF k=18 THEN mes^=lin23 ;C
    FixCol()
  ELSEIF k=16 THEN mes^=lin15 ;V
    Uview():CLR():Draw(P)
  ELSEIF k=37 THEN mes^=lin17 ;M
    Umag()
  ELSEIF k=58 THEN dlist=dl2 ;D
    CMon():Dir()
  ELSEIF k=0 THEN mes^=lin16 ;L
    LoadP():Ueye():Ufoc(foc):FixE()
    FixM():CLR():Draw(P):mes^=lin20
  ELSEIF k=62 THEN mes^=lin16 ;S
    SaveP():mes^=lin20
  ELSEIF k=61 THEN mes^=lin15 ;G
    Ugr()
  ELSEIF k=10 THEN mes^=lin16 ;P
    Prnt():mes^=lin20
  ELSEIF k=33 THEN mes^=lin20 ;SPACE
    CLR():Draw(P)
  ELSE dlist=dl2:CMon()
  FI
OD


Back to previous page