; 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››