============================================================================================================================================== OFFSET 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ---------------------------------------------------------------------------------------------------------------------------------------------- 00000000 54 75 72 62 6F 20 43 20 43 6F 6E 74 65 78 74 20 46 69 6C 65 20 1A 00 01 0D 12 17 01 1A 00 00 09 Turbo C Context File →.☺♪↕↨☺→..○ 00000020 64 00 41 06 23 00 00 00 14 06 E5 05 B6 05 89 05 5A 05 2B 05 FE 04 CF 04 A0 04 73 04 44 04 15 04 d.A♠#...¶♠σ♣╢♣ë♣Z♣+♣■♦╧♦á♦s♦D♦§♦ 00000040 E8 03 B9 03 8A 03 5D 03 2E 03 FF 02 D2 02 A3 02 74 02 47 02 18 02 E9 01 BC 01 8D 01 5E 01 31 01 Φ♥╣♥è♥]♥.♥ ☻╥☻ú☻t☻G☻↑☻Θ☺╝☺ì☺^☺1☺ 00000060 02 01 D3 00 A6 00 77 00 48 00 48 00 4D 49 53 43 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 ☻☺╙.ª.w.H.H.MISC_LIB.LIB.☺.☺.☺.☺ 00000080 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 43 41 47 44 5F .☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺...CAGD_ 000000A0 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 LIB.LIB.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺. 000000C0 01 00 01 00 01 00 01 00 00 00 49 52 49 54 32 52 41 59 2E 43 00 01 00 9B 02 01 00 8A 02 00 00 00 ☺.☺.☺.☺...IRIT2RAY.C.☺.¢☻☺.è☻... 000000E0 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 00 95 02 0F 00 95 02 00 00 4D 49 53 43 5F 4C 49 42 2E .............☼.ò☻☼.ò☻..MISC_LIB. 00000100 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 LIB.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺. 00000120 01 00 01 00 00 00 43 41 47 44 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 01 ☺.☺...CAGD_LIB.LIB.☺.☺.☺.☺.☺.☺.☺ 00000140 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 49 52 49 54 32 52 41 59 2E 43 00 .☺.☺.☺.☺.☺.☺.☺.☺.☺...IRIT2RAY.C. 00000160 18 00 74 02 01 00 5A 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 24 02 11 00 24 02 ↑.t☻☺.Z☻................◄.$☻◄.$☻ 00000180 00 00 4D 49 53 43 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 ..MISC_LIB.LIB.☺.☺.☺.☺.☺.☺.☺.☺.☺ 000001A0 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 43 41 47 44 5F 4C 49 42 2E 4C 49 42 00 01 00 .☺.☺.☺.☺.☺.☺.☺...CAGD_LIB.LIB.☺. 000001C0 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 ☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺... 000001E0 49 52 49 54 32 52 41 59 2E 43 00 18 00 74 02 01 00 5A 02 00 00 00 00 00 00 00 00 00 00 00 00 00 IRIT2RAY.C.↑.t☻☺.Z☻............. 00000200 00 00 00 11 00 24 02 11 00 24 02 00 00 4D 49 53 43 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 ...◄.$☻◄.$☻..MISC_LIB.LIB.☺.☺.☺. 00000220 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 43 41 47 44 ☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺...CAGD 00000240 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 _LIB.LIB.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺ 00000260 00 01 00 01 00 01 00 01 00 00 00 49 52 49 54 32 52 41 59 2E 43 00 18 00 74 02 01 00 5A 02 00 00 .☺.☺.☺.☺...IRIT2RAY.C.↑.t☻☺.Z☻.. 00000280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 24 02 11 00 24 02 00 00 4D 49 53 43 5F 4C 49 42 ..............◄.$☻◄.$☻..MISC_LIB 000002A0 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 .LIB.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺ 000002C0 00 01 00 01 00 00 00 43 41 47 44 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 .☺.☺...CAGD_LIB.LIB.☺.☺.☺.☺.☺.☺. 000002E0 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 49 52 49 54 32 52 41 59 2E 43 ☺.☺.☺.☺.☺.☺.☺.☺.☺.☺...IRIT2RAY.C 00000300 00 18 00 74 02 01 00 5A 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 24 02 11 00 24 .↑.t☻☺.Z☻................◄.$☻◄.$ 00000320 02 00 00 4D 49 53 43 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 ☻..MISC_LIB.LIB.☺.☺.☺.☺.☺.☺.☺.☺. 00000340 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 43 41 47 44 5F 4C 49 42 2E 4C 49 42 00 01 ☺.☺.☺.☺.☺.☺.☺.☺...CAGD_LIB.LIB.☺ 00000360 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 .☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.. 00000380 00 49 52 49 54 32 52 41 59 2E 43 00 18 00 74 02 01 00 5A 02 00 00 00 00 00 00 00 00 00 00 00 00 .IRIT2RAY.C.↑.t☻☺.Z☻............ 000003A0 00 00 00 00 11 00 24 02 11 00 24 02 00 00 4D 49 53 43 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 ....◄.$☻◄.$☻..MISC_LIB.LIB.☺.☺.☺ 000003C0 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 43 41 47 .☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺...CAG 000003E0 44 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 D_LIB.LIB.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺. 00000400 01 00 01 00 01 00 01 00 01 00 00 00 49 52 49 54 32 52 41 59 2E 43 00 18 00 74 02 01 00 5A 02 00 ☺.☺.☺.☺.☺...IRIT2RAY.C.↑.t☻☺.Z☻. 00000420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 24 02 11 00 24 02 00 00 4D 49 53 43 5F 4C 49 ...............◄.$☻◄.$☻..MISC_LI 00000440 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 B.LIB.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺. 00000460 01 00 01 00 01 00 00 00 43 41 47 44 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 ☺.☺.☺...CAGD_LIB.LIB.☺.☺.☺.☺.☺.☺ 00000480 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 49 52 49 54 32 52 41 59 2E .☺.☺.☺.☺.☺.☺.☺.☺.☺.☺...IRIT2RAY. 000004A0 43 00 18 00 74 02 01 00 5A 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 24 02 11 00 C.↑.t☻☺.Z☻................◄.$☻◄. 000004C0 24 02 00 00 4D 49 53 43 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 $☻..MISC_LIB.LIB.☺.☺.☺.☺.☺.☺.☺.☺ 000004E0 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 43 41 47 44 5F 4C 49 42 2E 4C 49 42 00 .☺.☺.☺.☺.☺.☺.☺.☺...CAGD_LIB.LIB. 00000500 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 ☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺. 00000520 00 00 49 52 49 54 32 52 41 59 2E 43 00 18 00 74 02 01 00 5A 02 00 00 00 00 00 00 00 00 00 00 00 ..IRIT2RAY.C.↑.t☻☺.Z☻........... 00000540 00 00 00 00 00 11 00 24 02 11 00 24 02 00 00 4D 49 53 43 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 .....◄.$☻◄.$☻..MISC_LIB.LIB.☺.☺. 00000560 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 43 41 ☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺...CA 00000580 47 44 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 GD_LIB.LIB.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺ 000005A0 00 01 00 01 00 01 00 01 00 01 00 00 00 49 52 49 54 32 52 41 59 2E 43 00 18 00 74 02 01 00 5A 02 .☺.☺.☺.☺.☺...IRIT2RAY.C.↑.t☻☺.Z☻ 000005C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 24 02 11 00 24 02 00 00 4D 49 53 43 5F 4C ................◄.$☻◄.$☻..MISC_L 000005E0 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 IB.LIB.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺ 00000600 00 01 00 01 00 01 00 00 00 43 41 47 44 5F 4C 49 42 2E 4C 49 42 00 01 00 01 00 01 00 01 00 01 00 .☺.☺.☺...CAGD_LIB.LIB.☺.☺.☺.☺.☺. 00000620 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 49 52 49 54 32 52 41 59 ☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺...IRIT2RAY 00000640 2E 43 00 18 00 74 02 01 00 5A 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 24 02 11 .C.↑.t☻☺.Z☻................◄.$☻◄ 00000660 00 24 02 00 00 65 00 F3 00 0F 00 1E 00 CF 00 00 00 17 00 25 00 35 00 3F 00 56 00 5C 00 6D 00 7D .$☻..e.≤.☼.▲.╧...↨.%.5.?.V.\.m.} 00000680 00 94 00 A4 00 B6 00 BC 00 C2 00 C9 00 2E 2E 5C 4D 49 53 43 5F 4C 49 42 5C 49 52 49 54 50 52 53 .ö.ñ.╢.╝.┬.╔...\MISC_LIB\IRITPRS 000006A0 52 2E 43 00 5C 43 5C 50 4F 4C 59 33 44 5C 2A 2E 43 00 5C 43 5C 4D 49 53 43 5F 4C 49 42 5C 2A 2E R.C.\C\POLY3D\*.C.\C\MISC_LIB\*. 000006C0 48 00 5C 43 5C 53 4D 5C 2A 2E 48 00 2E 2E 5C 4D 49 53 43 5F 4C 49 42 5C 49 52 49 54 50 52 53 52 H.\C\SM\*.H...\MISC_LIB\IRITPRSR 000006E0 2E 48 00 2A 2E 42 41 4B 00 2E 2E 5C 53 4D 5C 47 45 4F 4D 41 54 33 44 2E 43 00 2E 2E 5C 53 4D 5C .H.*.BAK...\SM\GEOMAT3D.C...\SM\ 00000700 50 52 4F 47 52 41 4D 2E 48 00 5C 43 5C 50 4F 4C 59 33 44 2D 52 5C 57 49 47 47 4C 45 2E 44 41 54 PROGRAM.H.\C\POLY3D-R\WIGGLE.DAT 00000720 00 2E 2E 5C 50 4F 4C 59 33 44 2D 52 5C 2A 2E 43 00 2E 2E 5C 50 4F 4C 59 33 44 2D 52 5C 2A 2E 44 ...\POLY3D-R\*.C...\POLY3D-R\*.D 00000740 41 54 00 2A 2E 47 45 4F 00 2A 2E 52 41 59 00 2A 2E 47 45 4F 4D 00 2A 2E 44 41 54 00 76 00 3D 01 AT.*.GEO.*.RAY.*.GEOM.*.DAT.v.=☺ 00000760 0E 00 1C 00 1B 01 00 00 20 00 3C 00 46 00 59 00 70 00 8C 00 A9 00 BD 00 CB 00 E7 00 FE 00 04 01 ♫.∟.←☺.. .<.F.Y.p.î.⌐.╜.╦.τ.■.♦☺ 00000780 10 01 2D 50 20 2D 4D 2D 20 2D 76 20 73 61 64 64 6C 65 2E 6D 61 74 20 73 61 64 64 6C 65 2E 62 7A ►☺-P -M- -v saddle.mat saddle.bz 000007A0 72 00 2D 4D 20 2D 76 20 73 61 64 64 6C 65 2E 6D 61 74 20 73 61 64 64 6C 65 2E 62 7A 72 00 61 72 r.-M -v saddle.mat saddle.bzr.ar 000007C0 63 39 30 2E 62 7A 72 00 5C 63 5C 70 6F 6C 79 33 64 5C 63 75 62 65 2E 64 61 74 00 5C 63 5C 70 6F c90.bzr.\c\poly3d\cube.dat.\c\po 000007E0 6C 79 33 64 2D 72 5C 77 69 67 67 6C 65 2E 64 61 74 00 2D 66 20 37 20 5C 63 5C 70 6F 6C 79 33 64 ly3d-r\wiggle.dat.-f 7 \c\poly3d 00000800 2D 72 5C 77 69 67 67 6C 65 2E 64 61 74 00 2D 66 20 31 35 20 5C 63 5C 70 6F 6C 79 33 64 2D 72 5C -r\wiggle.dat.-f 15 \c\poly3d-r\ 00000820 77 69 67 67 6C 65 2E 64 61 74 00 2D 66 20 35 20 66 3A 5C 74 77 69 67 67 6C 65 2E 64 61 74 00 2D wiggle.dat.-f 5 f:\twiggle.dat.- 00000840 66 20 35 20 66 3A 5C 74 2E 64 61 74 00 2D 66 20 35 20 5C 63 5C 70 6F 6C 79 33 64 2D 72 5C 73 6F f 5 f:\t.dat.-f 5 \c\poly3d-r\so 00000860 6C 69 64 32 2E 64 61 74 00 5C 63 5C 70 6F 6C 79 33 64 2D 72 5C 73 6F 6C 69 64 32 2E 64 61 74 00 lid2.dat.\c\poly3d-r\solid2.dat. 00000880 74 2E 64 61 74 00 73 6F 6C 69 64 31 63 2E 64 61 74 00 73 6F 6C 69 64 31 2E 64 61 74 00 77 00 4F t.dat.solid1c.dat.solid1.dat.w.O 000008A0 00 06 00 0C 00 3D 00 00 00 09 00 14 00 1F 00 27 00 32 00 76 6F 69 64 20 2A 2E 63 00 73 74 72 75 .♠.♀.=...○.¶.▼.'.2.void *.c.stru 000008C0 63 74 20 2A 2E 63 00 73 74 72 75 63 74 20 2A 2E 68 00 66 6F 72 20 2A 2E 63 00 20 76 6F 69 64 20 ct *.c.struct *.h.for *.c. void 000008E0 2A 2E 63 20 00 70 72 69 6E 74 66 20 2A 2E 63 00 78 00 95 00 0F 00 1E 00 71 00 00 00 0C 00 1A 00 *.c .printf *.c.x.ò.☼.▲.q...♀.→. 00000900 1F 00 27 00 2E 00 36 00 3F 00 44 00 48 00 50 00 5F 00 66 00 6B 00 6C 00 47 72 61 70 68 69 63 4D ▼.'...6.?.D.H.P._.f.k.l.GraphicM 00000920 6F 64 65 00 53 63 72 65 65 6E 43 75 72 73 6F 72 43 00 53 56 47 41 00 41 6C 6C 53 72 66 73 00 4D ode.ScreenCursorC.SVGA.AllSrfs.M 00000940 79 46 72 65 65 00 69 6E 63 6C 75 64 65 00 46 69 6E 65 4E 65 73 73 00 25 38 6C 67 00 36 6C 67 00 yFree.include.FineNess.%8lg.6lg. 00000960 50 4F 62 6A 65 63 74 00 50 4F 62 6A 65 63 74 20 2D 3E 20 52 47 42 00 43 72 6F 73 73 50 00 44 6F PObject.PObject -> RGB.CrossP.Do 00000980 74 5F 00 00 44 4F 54 5F 00 79 00 44 00 05 00 0A 00 34 00 00 00 07 00 0B 00 0C 00 12 00 25 39 2E t_..DOT_.y.D.♣.◙.4...•.♂.♀.↕.%9. 000009A0 36 6C 67 00 36 6C 66 00 00 54 72 61 6E 73 00 54 72 61 6E 73 43 6F 6C 6F 72 54 61 62 6C 65 5B 50 6lg.6lf..Trans.TransColorTable[P 000009C0 4F 62 6A 65 63 74 20 2D 3E 20 43 6F 6C 6F 72 5D 00 7A 00 F8 00 0D 00 1A 00 D8 00 00 00 04 00 14 Object -> Color].z.°.♪.→.╪...♦.¶ 000009E0 00 2B 00 42 00 58 00 6F 00 85 00 9E 00 AB 00 B8 00 C3 00 CD 00 2A 2E 43 00 2E 2E 5C 43 41 47 44 .+.B.X.o.à.₧.½.╕.├.═.*.C...\CAGD 00000A00 5F 4C 49 42 5C 2A 2E 43 00 2E 2E 5C 43 41 47 44 5F 4C 49 42 5C 43 41 47 44 4D 45 53 48 2E 43 00 _LIB\*.C...\CAGD_LIB\CAGDMESH.C. 00000A20 2E 2E 5C 43 41 47 44 5F 4C 49 42 5C 43 41 47 44 43 4F 45 52 2E 43 00 2E 2E 5C 43 41 47 44 5F 4C ..\CAGD_LIB\CAGDCOER.C...\CAGD_L 00000A40 49 42 5C 42 5A 52 5F 57 52 54 2E 43 00 2E 2E 5C 43 41 47 44 5F 4C 49 42 5C 42 5A 52 5F 52 45 41 IB\BZR_WRT.C...\CAGD_LIB\BZR_REA 00000A60 44 2E 43 00 2E 2E 5C 43 41 47 44 5F 4C 49 42 5C 42 5A 52 5F 47 45 4E 2E 43 00 2E 2E 5C 43 41 47 D.C...\CAGD_LIB\BZR_GEN.C...\CAG 00000A80 44 5F 4C 49 42 5C 43 41 47 44 5F 4C 49 42 2E 4C 49 42 00 43 41 47 44 5F 4C 49 42 2E 4C 49 42 00 D_LIB\CAGD_LIB.LIB.CAGD_LIB.LIB. 00000AA0 4D 49 53 43 5F 4C 49 42 2E 4C 49 42 00 49 4E 54 45 52 41 43 54 2E 43 00 50 43 47 52 41 50 48 2E MISC_LIB.LIB.INTERACT.C.PCGRAPH. 00000AC0 43 00 49 52 49 54 32 52 41 59 2E 43 00 7C 00 42 00 06 00 0C 00 30 00 00 00 0C 00 17 00 1E 00 20 C.IRIT2RAY.C.|.B.♠.♀.0...♀.↨.▲. 00000AE0 00 26 00 53 74 72 69 6E 67 54 6F 6B 65 6E 00 4C 61 73 74 4E 6F 72 6D 61 6C 00 4E 6F 72 6D 61 6C .&.StringToken.LastNormal.Normal 00000B00 00 56 00 56 4E 65 78 74 00 56 4E 65 78 74 4E 65 78 74 00 F4 01 90 04 1E 00 00 32 00 00 0F 09 40 .V.VNext.VNextNext.⌠☺É♦▲..2..☼○@ 00000B20 2B 0F 09 40 2B 04 00 06 B2 41 06 00 00 00 00 00 00 00 00 2E 00 12 00 00 32 00 00 00 27 4F 30 00 +☼○@+♦.♠▓A♠..........↕..2...'O0. 00000B40 27 4F 30 02 00 8B 5E 4D 00 00 32 00 00 01 02 4F 26 00 01 4F 26 00 00 00 00 44 3A 5C 43 5C 4D 49 'O0☻.ï^M..2..☺☻O&.☺O&....D:\C\MI 00000B60 53 43 5F 4C 49 42 5C 49 52 49 54 50 52 53 52 2E 48 00 01 00 45 00 01 00 45 00 01 00 01 00 01 00 SC_LIB\IRITPRSR.H.☺.E.☺.E.☺.☺.☺. 00000B80 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 4D 00 00 32 00 00 00 01 4F 26 00 01 ☺.☺.☺.☺.☺.☺.☺.☺.☺...M..2...☺O&.☺ 00000BA0 4F 26 00 00 00 00 44 3A 5C 43 5C 49 52 49 54 32 52 41 59 5C 49 52 49 54 32 52 41 59 2E 43 00 09 O&....D:\C\IRIT2RAY\IRIT2RAY.C.○ 00000BC0 00 0B 01 01 00 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 08 01 01 00 09 01 00 .♂☺☺. .................☺.◘☺☺.○☺. 00000BE0 00 4D 00 00 32 00 00 02 03 4F 26 00 01 4F 26 00 00 00 00 44 3A 5C 43 5C 50 4F 4C 59 33 44 2D 52 .M..2..☻♥O&.☺O&....D:\C\POLY3D-R 00000C00 5C 43 4F 4C 4F 52 54 42 4C 2E 43 00 06 00 20 00 01 00 15 00 01 00 01 00 01 00 01 00 01 00 01 00 \COLORTBL.C.♠. .☺.§.☺.☺.☺.☺.☺.☺. 00000C20 01 00 01 00 05 00 20 00 06 00 20 00 00 00 4D 00 00 32 00 00 01 02 4F 26 00 01 4F 26 00 00 00 00 ☺.☺.♣. .♠. ...M..2..☺☻O&.☺O&.... 00000C40 44 3A 5C 43 5C 50 4F 4C 59 33 44 2D 52 5C 45 56 41 4C 43 4F 4C 52 2E 43 00 01 00 01 00 01 00 01 D:\C\POLY3D-R\EVALCOLR.C.☺.☺.☺.☺ 00000C60 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 47 00 00 32 00 .☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺...G..2. 00000C80 00 01 02 4F 26 00 01 4F 26 00 00 00 00 44 3A 5C 43 5C 53 4D 5C 47 45 4F 4D 41 54 33 44 2E 43 00 .☺☻O&.☺O&....D:\C\SM\GEOMAT3D.C. 00000CA0 1A 00 4B 01 01 00 33 01 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 4B 01 01 00 4B 01 →.K☺☺.3☺☺.☺.☺.☺.☺.☺.☺.☺.☺.K☺☺.K☺ 00000CC0 00 00 46 00 00 32 00 00 01 02 4F 26 00 01 4F 26 00 00 00 00 44 3A 5C 43 5C 53 4D 5C 50 52 4F 47 ..F..2..☺☻O&.☺O&....D:\C\SM\PROG 00000CE0 52 41 4D 2E 48 00 04 00 48 01 01 00 3F 01 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 RAM.H.♦.H☺☺.?☺☺.☺.☺.☺.☺.☺.☺.☺.☺. 00000D00 48 01 01 00 48 01 00 00 3D 00 00 32 00 00 01 02 4F 26 00 01 4F 26 00 00 00 00 46 3A 5C 54 2E 44 H☺☺.H☺..=..2..☺☻O&.☺O&....F:\T.D 00000D20 41 54 00 19 00 0C 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 AT.↓.♀.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺ 00000D40 00 01 00 00 00 3D 00 00 32 00 00 01 02 4F 26 00 01 4F 26 00 00 00 00 46 3A 5C 54 2E 44 41 54 00 .☺...=..2..☺☻O&.☺O&....F:\T.DAT. 00000D60 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 ☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺. 00000D80 00 00 4F 00 00 32 00 00 01 02 4F 26 00 01 4F 26 00 00 00 00 44 3A 5C 43 5C 49 52 49 54 32 52 41 ..O..2..☺☻O&.☺O&....D:\C\IRIT2RA 00000DA0 59 5C 49 52 49 54 32 52 41 59 2E 47 45 4F 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 Y\IRIT2RAY.GEO.☺.☺.☺.☺.☺.☺.☺.☺.☺ 00000DC0 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 4F 00 00 32 00 00 01 02 4F 26 00 01 4F 26 00 .☺.☺.☺.☺.☺.☺.☺...O..2..☺☻O&.☺O&. 00000DE0 00 00 00 44 3A 5C 43 5C 49 52 49 54 32 52 41 59 5C 49 52 49 54 32 52 41 59 2E 52 41 59 00 01 00 ...D:\C\IRIT2RAY\IRIT2RAY.RAY.☺. 00000E00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 ☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺... 00000E20 4F 00 00 32 00 00 01 02 4F 26 00 01 4F 26 00 00 00 00 44 3A 5C 43 5C 49 52 49 54 32 52 41 59 5C O..2..☺☻O&.☺O&....D:\C\IRIT2RAY\ 00000E40 49 52 49 54 32 52 41 59 2E 52 41 59 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 IRIT2RAY.RAY.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺ 00000E60 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 4F 00 00 32 00 00 02 03 4F 26 00 01 4F 26 00 00 00 .☺.☺.☺.☺.☺.☺...O..2..☻♥O&.☺O&... 00000E80 00 44 3A 5C 43 5C 49 52 49 54 32 52 41 59 5C 49 52 49 54 32 52 41 59 2E 47 45 4F 00 01 00 A3 00 .D:\C\IRIT2RAY\IRIT2RAY.GEO.☺.ú. 00000EA0 01 00 A3 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00 00 4F 00 ☺.ú.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺...O. 00000EC0 00 32 00 00 01 02 4F 26 00 01 4F 26 00 00 00 00 44 3A 5C 43 5C 49 52 49 54 32 52 41 59 5C 49 52 .2..☺☻O&.☺O&....D:\C\IRIT2RAY\IR 00000EE0 49 54 32 52 41 59 2E 52 41 59 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 IT2RAY.RAY.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺ 00000F00 00 01 00 01 00 01 00 01 00 01 00 00 00 4D 00 00 32 00 00 00 01 4F 26 00 01 4F 26 00 00 00 00 44 .☺.☺.☺.☺.☺...M..2...☺O&.☺O&....D 00000F20 3A 5C 43 5C 49 52 49 54 32 52 41 59 5C 49 52 49 54 32 52 41 59 2E 43 00 0D 00 A0 01 01 00 82 01 :\C\IRIT2RAY\IRIT2RAY.C.♪.á☺☺.é☺ 00000F40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 15 00 54 00 15 00 54 00 00 00 4D 00 00 32 00 00 ................§.T.§.T...M..2.. 00000F60 01 02 4F 26 00 01 4F 26 00 00 00 00 44 3A 5C 43 5C 49 52 49 54 46 4C 54 52 5C 53 4F 4C 49 44 31 ☺☻O&.☺O&....D:\C\IRITFLTR\SOLID1 00000F80 2E 44 41 54 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 .DAT.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺.☺ 00000FA0 00 01 00 01 00 00 00 F5 01 83 00 4D 00 00 32 00 00 00 01 4F 26 00 01 4F 26 00 00 00 00 44 3A 5C .☺.☺...⌡☺â.M..2...☺O&.☺O&....D:\ 00000FC0 43 5C 49 52 49 54 46 4C 54 52 5C 49 52 49 54 32 52 41 59 2E 43 00 01 00 9B 02 01 00 8A 02 00 00 C\IRITFLTR\IRIT2RAY.C.☺.¢☻☺.è☻.. 00000FE0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 00 95 02 0F 00 95 02 00 00 12 00 00 32 00 00 00 27 ..............☼.ò☻☼.ò☻..↕..2...' 00001000 4F 30 00 27 4F 30 02 00 00 01 12 00 00 32 00 00 00 27 4F 30 00 27 4F 30 03 00 00 00 12 00 00 32 O0.'O0☻..☺↕..2...'O0.'O0♥...↕..2 00001020 00 00 00 27 4F 30 00 27 4F 30 08 00 00 00 F6 01 C2 1B 42 47 49 44 72 69 76 65 72 50 61 74 68 0D ...'O0.'O0◘...÷☺┬←BGIDriverPath♪ 00001040 0A 76 6F 69 64 20 47 47 49 6E 73 74 61 6C 6C 42 47 49 28 63 68 61 72 20 2A 42 47 49 44 72 69 76 ◙void GGInstallBGI(char *BGIDriv 00001060 65 72 50 61 74 68 2C 20 63 68 61 72 20 2A 4E 61 6D 65 4D 6F 64 65 29 0D 0A 2F 2A 2A 2A 2A 2A 2A erPath, char *NameMode)♪◙/****** 00001080 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 000010A0 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 000010C0 2A 2A 2A 2A 2A 2A 2A 0D 0A 2A 20 52 6F 75 74 69 6E 65 20 74 6F 20 64 72 61 77 20 61 6C 6C 20 74 *******♪◙* Routine to draw all t 000010E0 68 65 20 6F 62 6A 65 63 74 73 20 69 6E 20 6F 62 6A 65 63 74 20 6C 69 73 74 20 4F 62 6A 65 63 74 he objects in object list Object 00001100 73 2E 09 09 20 20 20 20 20 2A 0D 0A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A s.○○ *♪◙******************** 00001120 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 00001140 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 76 6F 69 64 *************************/♪◙void 00001160 20 44 72 61 77 41 6C 6C 4F 62 6A 65 63 74 73 28 49 50 4F 62 6A 65 63 74 53 74 72 75 63 74 20 2A DrawAllObjects(IPObjectStruct * 00001180 4F 62 6A 65 63 74 73 29 0D 0A 7B 0D 0A 20 20 20 20 77 68 69 6C 65 20 28 4F 62 6A 65 63 74 73 29 Objects)♪◙{♪◙ while (Objects) 000011A0 20 7B 0D 0A 09 44 72 61 77 4F 6E 65 4F 62 6A 65 63 74 28 4F 62 6A 65 63 74 73 29 3B 0D 0A 09 4F {♪◙○DrawOneObject(Objects);♪◙○O 000011C0 62 6A 65 63 74 73 20 3D 20 4F 62 6A 65 63 74 73 20 2D 3E 20 50 6E 65 78 74 3B 0D 0A 20 20 20 20 bjects = Objects -> Pnext;♪◙ 000011E0 7D 0D 0A 7D 0D 0A 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A }♪◙}♪◙♪◙/*********************** 00001200 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 00001220 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 0A 2A 20 52 6F 75 74 69 6E **********************♪◙* Routin 00001240 65 20 74 6F 20 64 72 61 77 20 6F 6E 65 20 6F 62 6A 65 63 74 20 4F 62 6A 65 63 74 2E 09 09 09 09 e to draw one object Object.○○○○ 00001260 09 20 20 20 20 20 2A 0D 0A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ○ *♪◙*********************** 00001280 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 000012A0 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 73 74 61 74 69 63 20 **********************/♪◙static 000012C0 76 6F 69 64 20 44 72 61 77 4F 6E 65 4F 62 6A 65 63 74 28 49 50 4F 62 6A 65 63 74 53 74 72 75 63 void DrawOneObject(IPObjectStruc 000012E0 74 20 2A 50 4F 62 6A 65 63 74 29 0D 0A 7B 0D 0A 20 20 20 20 49 50 50 6F 6C 79 67 6F 6E 53 74 72 t *PObject)♪◙{♪◙ IPPolygonStr 00001300 75 63 74 20 2A 50 4C 69 73 74 20 3D 20 50 4F 62 6A 65 63 74 20 2D 3E 20 50 50 6F 6C 79 67 6F 6E uct *PList = PObject -> PPolygon 00001320 3B 0D 0A 0D 0A 20 20 20 20 47 47 4D 79 53 65 74 43 6F 6C 6F 72 28 50 4F 62 6A 65 63 74 20 2D 3E ;♪◙♪◙ GGMySetColor(PObject -> 00001340 20 43 6F 6C 6F 72 29 3B 0D 0A 0D 0A 20 20 20 20 77 68 69 6C 65 20 28 50 4C 69 73 74 29 20 7B 0D Color);♪◙♪◙ while (PList) {♪ 00001360 0A 09 44 72 61 77 4F 6E 65 50 6F 6C 79 67 6F 6E 28 50 4C 69 73 74 29 3B 0D 0A 09 50 4C 69 73 74 ◙○DrawOnePolygon(PList);♪◙○PList 00001380 20 3D 09 50 4C 69 73 74 20 2D 3E 20 50 6E 65 78 74 3B 0D 0A 20 20 20 20 7D 0D 0A 7D 0D 0A 0D 0A =○PList -> Pnext;♪◙ }♪◙}♪◙♪◙ 000013A0 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A /******************************* 000013C0 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 000013E0 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 0A 2A 20 52 6F 75 74 69 6E 65 20 74 6F 20 64 72 61 **************♪◙* Routine to dra 00001400 77 20 6F 6E 65 20 70 6F 6C 79 67 6F 6E 2C 20 75 73 69 6E 67 20 67 6C 6F 62 61 6C 20 4D 61 74 72 w one polygon, using global Matr 00001420 69 78 20 74 72 61 6E 73 66 6F 72 6D 20 4D 61 74 2E 09 20 20 20 20 20 2A 0D 0A 2A 20 4E 6F 74 65 ix transform Mat.○ *♪◙* Note 00001440 20 74 68 69 73 20 69 73 20 74 68 65 20 72 6F 75 74 69 6E 65 20 74 68 61 74 09 6D 61 6B 65 73 20 this is the routine that○makes 00001460 74 68 65 20 72 65 61 6C 20 64 72 61 77 69 6E 67 2E 2E 2E 09 09 20 20 20 20 20 2A 0D 0A 2A 2A 2A the real drawing...○○ *♪◙*** 00001480 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 000014A0 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 000014C0 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A 73 74 61 74 69 63 20 76 6F 69 64 20 44 72 61 77 4F 6E 65 **********/♪◙static void DrawOne 000014E0 50 6F 6C 79 67 6F 6E 28 49 50 50 6F 6C 79 67 6F 6E 53 74 72 75 63 74 20 2A 50 50 6F 6C 79 67 6F Polygon(IPPolygonStruct *PPolygo 00001500 6E 29 0D 0A 7B 0D 0A 20 20 20 20 69 6E 74 09 69 2C 20 6A 2C 20 44 72 61 77 4E 65 78 74 45 64 67 n)♪◙{♪◙ int○i, j, DrawNextEdg 00001520 65 2C 20 4E 75 6D 4F 66 56 65 72 74 69 63 65 73 3B 0D 0A 20 20 20 20 52 65 61 6C 54 79 70 65 20 e, NumOfVertices;♪◙ RealType 00001540 4D 61 70 70 65 64 4E 6F 72 6D 61 6C 5B 33 5D 2C 20 50 6F 6C 79 4E 6F 72 6D 61 6C 5B 33 5D 3B 0D MappedNormal[3], PolyNormal[3];♪ 00001560 0A 20 20 20 20 49 50 56 65 72 74 65 78 53 74 72 75 63 74 0D 0A 09 2A 56 4C 69 73 74 20 3D 20 50 ◙ IPVertexStruct♪◙○*VList = P 00001580 50 6F 6C 79 67 6F 6E 20 2D 3E 20 50 56 65 72 74 65 78 2C 0D 0A 09 2A 56 48 65 61 64 20 3D 20 56 Polygon -> PVertex,♪◙○*VHead = V 000015A0 4C 69 73 74 3B 0D 0A 0D 0A 20 20 20 20 69 66 20 28 56 4C 69 73 74 20 3D 3D 20 4E 55 4C 4C 29 20 List;♪◙♪◙ if (VList == NULL) 000015C0 72 65 74 75 72 6E 3B 0D 0A 0D 0A 20 20 20 20 54 65 73 74 51 75 69 74 56 69 65 77 28 29 3B 0D 0A return;♪◙♪◙ TestQuitView();♪◙ 000015E0 0D 0A 20 20 20 20 73 77 69 74 63 68 20 28 50 50 6F 6C 79 67 6F 6E 20 2D 3E 20 54 79 70 65 29 20 ♪◙ switch (PPolygon -> Type) 00001600 7B 0D 0A 09 63 61 73 65 20 49 50 5F 50 4F 49 4E 54 4C 49 53 54 3A 0D 0A 09 20 20 20 20 4D 6F 76 {♪◙○case IP_POINTLIST:♪◙○ Mov 00001620 65 54 6F 50 74 72 28 56 4C 69 73 74 20 2D 3E 20 43 6F 6F 72 64 29 3B 0D 0A 09 20 20 20 20 44 72 eToPtr(VList -> Coord);♪◙○ Dr 00001640 61 77 54 6F 50 74 72 28 56 4C 69 73 74 20 2D 3E 20 43 6F 6F 72 64 29 3B 0D 0A 09 20 20 20 20 56 awToPtr(VList -> Coord);♪◙○ V 00001660 4C 69 73 74 20 3D 20 56 4C 69 73 74 20 2D 3E 20 50 6E 65 78 74 3B 0D 0A 09 20 20 20 20 66 6F 72 List = VList -> Pnext;♪◙○ for 00001680 20 28 69 20 3D 20 30 3B 0D 0A 09 09 20 69 20 3C 20 47 6C 62 6C 4E 75 6D 45 64 67 65 73 20 26 26 (i = 0;♪◙○○ i < GlblNumEdges && 000016A0 20 56 4C 69 73 74 20 21 3D 20 4E 55 4C 4C 20 26 26 20 56 4C 69 73 74 20 21 3D 20 56 48 65 61 64 VList != NULL && VList != VHead 000016C0 3B 0D 0A 09 09 20 69 2B 2B 29 20 7B 0D 0A 09 09 4D 6F 76 65 54 6F 50 74 72 28 56 4C 69 73 74 20 ;♪◙○○ i++) {♪◙○○MoveToPtr(VList 000016E0 2D 3E 20 43 6F 6F 72 64 29 3B 0D 0A 09 09 44 72 61 77 54 6F 50 74 72 28 56 4C 69 73 74 20 2D 3E -> Coord);♪◙○○DrawToPtr(VList -> 00001700 20 43 6F 6F 72 64 29 3B 0D 0A 09 09 56 4C 69 73 74 20 3D 20 56 4C 69 73 74 20 2D 3E 20 50 6E 65 Coord);♪◙○○VList = VList -> Pne 00001720 78 74 3B 0D 0A 09 20 20 20 20 7D 0D 0A 09 20 20 20 20 62 72 65 61 6B 3B 0D 0A 09 63 61 73 65 20 xt;♪◙○ }♪◙○ break;♪◙○case 00001740 49 50 5F 50 4F 4C 59 4C 49 4E 45 3A 0D 0A 09 20 20 20 20 4D 6F 76 65 54 6F 50 74 72 28 56 4C 69 IP_POLYLINE:♪◙○ MoveToPtr(VLi 00001760 73 74 20 2D 3E 20 43 6F 6F 72 64 29 3B 0D 0A 09 20 20 20 20 44 72 61 77 4E 65 78 74 45 64 67 65 st -> Coord);♪◙○ DrawNextEdge 00001780 20 3D 20 21 49 50 5F 49 53 5F 56 52 54 58 5F 49 4E 54 45 52 4E 41 4C 28 56 4C 69 73 74 29 3B 0D = !IP_IS_VRTX_INTERNAL(VList);♪ 000017A0 0A 09 20 20 20 20 56 4C 69 73 74 20 3D 20 56 4C 69 73 74 20 2D 3E 20 50 6E 65 78 74 3B 0D 0A 09 ◙○ VList = VList -> Pnext;♪◙○ 000017C0 20 20 20 20 66 6F 72 20 28 69 20 3D 20 31 3B 0D 0A 09 09 20 69 20 3C 20 47 6C 62 6C 4E 75 6D 45 for (i = 1;♪◙○○ i < GlblNumE 000017E0 64 67 65 73 20 26 26 20 56 4C 69 73 74 20 21 3D 20 4E 55 4C 4C 20 26 26 20 56 4C 69 73 74 20 21 dges && VList != NULL && VList ! 00001800 3D 20 56 48 65 61 64 3B 0D 0A 09 09 20 69 2B 2B 29 20 7B 0D 0A 09 09 69 66 20 28 44 72 61 77 4E = VHead;♪◙○○ i++) {♪◙○○if (DrawN 00001820 65 78 74 45 64 67 65 20 7C 7C 20 47 6C 62 6C 49 6E 74 65 72 6E 61 6C 29 0D 0A 09 09 20 20 20 20 extEdge || GlblInternal)♪◙○○ 00001840 44 72 61 77 54 6F 50 74 72 28 56 4C 69 73 74 20 2D 3E 20 43 6F 6F 72 64 29 3B 0D 0A 09 09 65 6C DrawToPtr(VList -> Coord);♪◙○○el 00001860 73 65 0D 0A 09 09 20 20 20 20 4D 6F 76 65 54 6F 50 74 72 28 56 4C 69 73 74 20 2D 3E 20 43 6F 6F se♪◙○○ MoveToPtr(VList -> Coo 00001880 72 64 29 3B 0D 0A 0D 0A 09 09 44 72 61 77 4E 65 78 74 45 64 67 65 20 3D 20 21 49 50 5F 49 53 5F rd);♪◙♪◙○○DrawNextEdge = !IP_IS_ 000018A0 56 52 54 58 5F 49 4E 54 45 52 4E 41 4C 28 56 4C 69 73 74 29 3B 0D 0A 09 09 56 4C 69 73 74 20 3D VRTX_INTERNAL(VList);♪◙○○VList = 000018C0 20 56 4C 69 73 74 20 2D 3E 20 50 6E 65 78 74 3B 0D 0A 09 20 20 20 20 7D 0D 0A 09 20 20 20 20 62 VList -> Pnext;♪◙○ }♪◙○ b 000018E0 72 65 61 6B 3B 0D 0A 09 63 61 73 65 20 49 50 5F 50 4F 4C 59 47 4F 4E 3A 0D 0A 23 69 66 64 65 66 reak;♪◙○case IP_POLYGON:♪◙#ifdef 00001900 20 5F 5F 47 4C 5F 5F 0D 0A 09 20 20 20 20 69 66 20 28 47 6C 62 6C 44 72 61 77 53 6F 6C 69 64 29 __GL__♪◙○ if (GlblDrawSolid) 00001920 20 7B 0D 0A 09 09 47 47 4D 79 44 72 61 77 50 6F 6C 79 67 6F 6E 53 6F 6C 69 64 28 50 50 6F 6C 79 {♪◙○○GGMyDrawPolygonSolid(PPoly 00001940 67 6F 6E 29 3B 0D 0A 09 09 62 72 65 61 6B 3B 0D 0A 09 20 20 20 20 7D 0D 0A 23 65 6E 64 69 66 0D gon);♪◙○○break;♪◙○ }♪◙#endif♪ 00001960 0A 09 20 20 20 20 69 66 20 28 47 6C 62 6C 44 72 61 77 50 4E 6F 72 6D 61 6C 20 26 26 20 49 50 5F ◙○ if (GlblDrawPNormal && IP_ 00001980 48 41 53 5F 50 4F 4C 59 5F 50 4C 41 4E 45 28 50 50 6F 6C 79 67 6F 6E 29 29 20 7B 0D 0A 09 09 2F HAS_POLY_PLANE(PPolygon)) {♪◙○○/ 000019A0 2A 20 53 75 6D 20 61 6C 6C 20 70 6F 69 6E 74 73 20 74 6F 20 62 65 20 61 76 65 72 61 67 65 64 20 * Sum all points to be averaged 000019C0 66 6F 72 20 6E 6F 72 6D 61 6C 20 70 6F 73 69 74 69 6F 6E 2E 20 2A 2F 0D 0A 09 09 66 6F 72 20 28 for normal position. */♪◙○○for ( 000019E0 69 20 3D 20 30 3B 20 69 20 3C 20 33 3B 20 69 2B 2B 29 20 50 6F 6C 79 4E 6F 72 6D 61 6C 5B 69 5D i = 0; i < 3; i++) PolyNormal[i] 00001A00 20 3D 20 56 4C 69 73 74 20 2D 3E 20 43 6F 6F 72 64 5B 69 5D 3B 0D 0A 09 09 4E 75 6D 4F 66 56 65 = VList -> Coord[i];♪◙○○NumOfVe 00001A20 72 74 69 63 65 73 20 3D 20 31 3B 0D 0A 09 20 20 20 20 7D 0D 0A 0D 0A 09 20 20 20 20 4D 6F 76 65 rtices = 1;♪◙○ }♪◙♪◙○ Move 00001A40 54 6F 50 74 72 28 56 4C 69 73 74 20 2D 3E 20 43 6F 6F 72 64 29 3B 0D 0A 09 20 20 20 20 44 72 61 ToPtr(VList -> Coord);♪◙○ Dra 00001A60 77 4E 65 78 74 45 64 67 65 20 3D 20 21 49 50 5F 49 53 5F 56 52 54 58 5F 49 4E 54 45 52 4E 41 4C wNextEdge = !IP_IS_VRTX_INTERNAL 00001A80 28 56 4C 69 73 74 29 3B 0D 0A 09 20 20 20 20 56 4C 69 73 74 20 3D 20 56 4C 69 73 74 20 2D 3E 20 (VList);♪◙○ VList = VList -> 00001AA0 50 6E 65 78 74 3B 0D 0A 0D 0A 09 20 20 20 20 66 6F 72 20 28 69 20 3D 20 31 3B 0D 0A 09 09 20 69 Pnext;♪◙♪◙○ for (i = 1;♪◙○○ i 00001AC0 20 3C 20 47 6C 62 6C 4E 75 6D 45 64 67 65 73 20 26 26 20 56 4C 69 73 74 20 21 3D 20 4E 55 4C 4C < GlblNumEdges && VList != NULL 00001AE0 20 26 26 20 56 4C 69 73 74 20 21 3D 20 56 48 65 61 64 3B 0D 0A 09 09 20 69 2B 2B 29 20 7B 0D 0A && VList != VHead;♪◙○○ i++) {♪◙ 00001B00 09 09 69 66 20 28 44 72 61 77 4E 65 78 74 45 64 67 65 20 7C 7C 20 47 6C 62 6C 49 6E 74 65 72 6E ○○if (DrawNextEdge || GlblIntern 00001B20 61 6C 29 0D 0A 09 09 20 20 20 20 44 72 61 77 54 6F 50 74 72 28 56 4C 69 73 74 20 2D 3E 20 43 6F al)♪◙○○ DrawToPtr(VList -> Co 00001B40 6F 72 64 29 3B 0D 0A 09 09 65 6C 73 65 0D 0A 09 09 20 20 20 20 4D 6F 76 65 54 6F 50 74 72 28 56 ord);♪◙○○else♪◙○○ MoveToPtr(V 00001B60 4C 69 73 74 20 2D 3E 20 43 6F 6F 72 64 29 3B 0D 0A 0D 0A 09 09 69 66 20 28 47 6C 62 6C 44 72 61 List -> Coord);♪◙♪◙○○if (GlblDra 00001B80 77 56 4E 6F 72 6D 61 6C 20 26 26 20 49 50 5F 48 41 53 5F 56 52 54 58 5F 4E 4F 52 4D 41 4C 28 56 wVNormal && IP_HAS_VRTX_NORMAL(V 00001BA0 4C 69 73 74 29 29 20 7B 0D 0A 09 09 20 20 20 20 66 6F 72 20 28 6A 20 3D 20 30 3B 20 6A 20 3C 20 List)) {♪◙○○ for (j = 0; j < 00001BC0 33 3B 20 6A 2B 2B 29 20 4D 61 70 70 65 64 4E 6F 72 6D 61 6C 5B 6A 5D 20 3D 0D 0A 09 09 09 56 4C 3; j++) MappedNormal[j] =♪◙○○○VL 00001BE0 69 73 74 20 2D 3E 20 43 6F 6F 72 64 5B 6A 5D 20 2B 20 56 4C 69 73 74 20 2D 3E 20 4E 6F 72 6D 61 ist -> Coord[j] + VList -> Norma 00001C00 6C 5B 6A 5D 20 2A 20 47 6C 62 6C 4E 6F 72 6D 61 6C 4C 65 6E 3B 0D 0A 09 09 20 20 20 20 6A 20 3D l[j] * GlblNormalLen;♪◙○○ j = 00001C20 20 47 6C 62 6C 43 6C 6F 73 65 64 4F 62 6A 65 63 74 3B 0D 0A 09 09 20 20 20 20 47 6C 62 6C 43 6C GlblClosedObject;♪◙○○ GlblCl 00001C40 6F 73 65 64 4F 62 6A 65 63 74 20 3D 20 46 41 4C 53 45 3B 0D 0A 09 09 20 20 20 20 44 72 61 77 54 osedObject = FALSE;♪◙○○ DrawT 00001C60 6F 50 74 72 28 4D 61 70 70 65 64 4E 6F 72 6D 61 6C 29 3B 0D 0A 09 09 20 20 20 20 4D 6F 76 65 54 oPtr(MappedNormal);♪◙○○ MoveT 00001C80 6F 50 74 72 28 56 4C 69 73 74 20 2D 3E 20 43 6F 6F 72 64 29 3B 0D 0A 09 09 20 20 20 20 47 6C 62 oPtr(VList -> Coord);♪◙○○ Glb 00001CA0 6C 43 6C 6F 73 65 64 4F 62 6A 65 63 74 20 3D 20 6A 3B 0D 0A 09 09 7D 0D 0A 0D 0A 09 09 69 66 20 lClosedObject = j;♪◙○○}♪◙♪◙○○if 00001CC0 28 47 6C 62 6C 44 72 61 77 50 4E 6F 72 6D 61 6C 20 26 26 20 49 50 5F 48 41 53 5F 50 4F 4C 59 5F (GlblDrawPNormal && IP_HAS_POLY_ 00001CE0 50 4C 41 4E 45 28 50 50 6F 6C 79 67 6F 6E 29 29 20 7B 0D 0A 09 09 20 20 20 20 66 6F 72 20 28 6A PLANE(PPolygon)) {♪◙○○ for (j 00001D00 20 3D 20 30 3B 20 6A 20 3C 20 33 3B 20 6A 2B 2B 29 20 50 6F 6C 79 4E 6F 72 6D 61 6C 5B 6A 5D 20 = 0; j < 3; j++) PolyNormal[j] 00001D20 2B 3D 20 56 4C 69 73 74 20 2D 3E 20 43 6F 6F 72 64 5B 6A 5D 3B 0D 0A 09 09 20 20 20 20 4E 75 6D += VList -> Coord[j];♪◙○○ Num 00001D40 4F 66 56 65 72 74 69 63 65 73 2B 2B 3B 0D 0A 09 09 7D 0D 0A 0D 0A 09 09 44 72 61 77 4E 65 78 74 OfVertices++;♪◙○○}♪◙♪◙○○DrawNext 00001D60 45 64 67 65 20 3D 20 21 49 50 5F 49 53 5F 56 52 54 58 5F 49 4E 54 45 52 4E 41 4C 28 56 4C 69 73 Edge = !IP_IS_VRTX_INTERNAL(VLis 00001D80 74 29 3B 0D 0A 09 09 56 4C 69 73 74 20 3D 20 56 4C 69 73 74 20 2D 3E 20 50 6E 65 78 74 3B 0D 0A t);♪◙○○VList = VList -> Pnext;♪◙ 00001DA0 09 20 20 20 20 7D 0D 0A 0D 0A 09 20 20 20 20 69 66 20 28 47 6C 62 6C 4E 75 6D 45 64 67 65 73 20 ○ }♪◙♪◙○ if (GlblNumEdges 00001DC0 3E 20 69 29 20 7B 0D 0A 09 09 2F 2A 20 43 6C 6F 73 65 20 70 6F 6C 79 67 6F 6E 20 62 79 20 64 72 > i) {♪◙○○/* Close polygon by dr 00001DE0 61 77 69 6E 67 20 61 20 6C 69 6E 65 20 74 6F 20 66 69 72 73 74 20 76 65 72 74 65 78 2E 20 2A 2F awing a line to first vertex. */ 00001E00 0D 0A 09 09 69 66 20 28 44 72 61 77 4E 65 78 74 45 64 67 65 20 7C 7C 20 47 6C 62 6C 49 6E 74 65 ♪◙○○if (DrawNextEdge || GlblInte 00001E20 72 6E 61 6C 29 0D 0A 09 09 20 20 20 20 44 72 61 77 54 6F 50 74 72 28 56 48 65 61 64 20 2D 3E 20 rnal)♪◙○○ DrawToPtr(VHead -> 00001E40 43 6F 6F 72 64 29 3B 0D 0A 09 09 65 6C 73 65 0D 0A 09 09 20 20 20 20 4D 6F 76 65 54 6F 50 74 72 Coord);♪◙○○else♪◙○○ MoveToPtr 00001E60 28 56 48 65 61 64 20 2D 3E 20 43 6F 6F 72 64 29 3B 0D 0A 0D 0A 09 09 69 66 20 28 47 6C 62 6C 44 (VHead -> Coord);♪◙♪◙○○if (GlblD 00001E80 72 61 77 56 4E 6F 72 6D 61 6C 20 26 26 20 49 50 5F 48 41 53 5F 56 52 54 58 5F 4E 4F 52 4D 41 4C rawVNormal && IP_HAS_VRTX_NORMAL 00001EA0 28 56 4C 69 73 74 29 29 20 7B 0D 0A 09 09 20 20 20 20 66 6F 72 20 28 6A 20 3D 20 30 3B 20 6A 20 (VList)) {♪◙○○ for (j = 0; j 00001EC0 3C 20 33 3B 20 6A 2B 2B 29 20 4D 61 70 70 65 64 4E 6F 72 6D 61 6C 5B 6A 5D 20 3D 0D 0A 09 09 09 < 3; j++) MappedNormal[j] =♪◙○○○ 00001EE0 56 4C 69 73 74 20 2D 3E 20 43 6F 6F 72 64 5B 6A 5D 20 2B 20 56 4C 69 73 74 20 2D 3E 20 4E 6F 72 VList -> Coord[j] + VList -> Nor 00001F00 6D 61 6C 5B 6A 5D 20 2A 20 47 6C 62 6C 4E 6F 72 6D 61 6C 4C 65 6E 3B 0D 0A 09 09 20 20 20 20 6A mal[j] * GlblNormalLen;♪◙○○ j 00001F20 20 3D 20 47 6C 62 6C 43 6C 6F 73 65 64 4F 62 6A 65 63 74 3B 0D 0A 09 09 20 20 20 20 47 6C 62 6C = GlblClosedObject;♪◙○○ Glbl 00001F40 43 6C 6F 73 65 64 4F 62 6A 65 63 74 20 3D 20 46 41 4C 53 45 3B 0D 0A 09 09 20 20 20 20 44 72 61 ClosedObject = FALSE;♪◙○○ Dra 00001F60 77 54 6F 50 74 72 28 4D 61 70 70 65 64 4E 6F 72 6D 61 6C 29 3B 0D 0A 09 09 20 20 20 20 4D 6F 76 wToPtr(MappedNormal);♪◙○○ Mov 00001F80 65 54 6F 50 74 72 28 56 4C 69 73 74 20 2D 3E 20 43 6F 6F 72 64 29 3B 0D 0A 09 09 20 20 20 20 47 eToPtr(VList -> Coord);♪◙○○ G 00001FA0 6C 62 6C 43 6C 6F 73 65 64 4F 62 6A 65 63 74 20 3D 20 6A 3B 0D 0A 09 09 7D 0D 0A 09 20 20 20 20 lblClosedObject = j;♪◙○○}♪◙○ 00001FC0 7D 0D 0A 0D 0A 09 20 20 20 20 69 66 20 28 47 6C 62 6C 44 72 61 77 50 4E 6F 72 6D 61 6C 20 26 26 }♪◙♪◙○ if (GlblDrawPNormal && 00001FE0 20 49 50 5F 48 41 53 5F 50 4F 4C 59 5F 50 4C 41 4E 45 28 50 50 6F 6C 79 67 6F 6E 29 29 20 7B 0D IP_HAS_POLY_PLANE(PPolygon)) {♪ 00002000 0A 09 09 66 6F 72 20 28 69 20 3D 20 30 3B 20 69 20 3C 20 33 3B 20 69 2B 2B 29 20 50 6F 6C 79 4E ◙○○for (i = 0; i < 3; i++) PolyN 00002020 6F 72 6D 61 6C 5B 69 5D 20 2F 3D 20 4E 75 6D 4F 66 56 65 72 74 69 63 65 73 3B 0D 0A 09 09 4D 6F ormal[i] /= NumOfVertices;♪◙○○Mo 00002040 76 65 54 6F 50 74 72 28 50 6F 6C 79 4E 6F 72 6D 61 6C 29 3B 0D 0A 09 09 66 6F 72 20 28 69 20 3D veToPtr(PolyNormal);♪◙○○for (i = 00002060 20 30 3B 20 69 20 3C 20 33 3B 20 69 2B 2B 29 0D 0A 09 20 20 20 20 09 20 20 20 20 50 6F 6C 79 4E 0; i < 3; i++)♪◙○ ○ PolyN 00002080 6F 72 6D 61 6C 5B 69 5D 20 2B 3D 20 50 50 6F 6C 79 67 6F 6E 20 2D 3E 20 50 6C 61 6E 65 5B 69 5D ormal[i] += PPolygon -> Plane[i] 000020A0 20 2A 20 47 6C 62 6C 4E 6F 72 6D 61 6C 4C 65 6E 3B 0D 0A 09 09 69 20 3D 20 47 6C 62 6C 43 6C 6F * GlblNormalLen;♪◙○○i = GlblClo 000020C0 73 65 64 4F 62 6A 65 63 74 3B 0D 0A 09 09 47 6C 62 6C 43 6C 6F 73 65 64 4F 62 6A 65 63 74 20 3D sedObject;♪◙○○GlblClosedObject = 000020E0 20 46 41 4C 53 45 3B 0D 0A 09 09 44 72 61 77 54 6F 50 74 72 28 50 6F 6C 79 4E 6F 72 6D 61 6C 29 FALSE;♪◙○○DrawToPtr(PolyNormal) 00002100 3B 0D 0A 09 09 47 6C 62 6C 43 6C 6F 73 65 64 4F 62 6A 65 63 74 20 3D 20 69 3B 0D 0A 09 20 20 20 ;♪◙○○GlblClosedObject = i;♪◙○ 00002120 20 7D 0D 0A 09 20 20 20 20 62 72 65 61 6B 3B 0D 0A 20 20 20 20 7D 0D 0A 7D 0D 0A 20 20 20 20 4D }♪◙○ break;♪◙ }♪◙}♪◙ M 00002140 75 6C 74 56 65 63 62 79 34 62 79 34 28 4C 61 73 74 43 6F 6F 72 64 2C 20 43 6F 6F 72 64 2C 20 43 ultVecby4by4(LastCoord, Coord, C 00002160 72 6E 74 56 69 65 77 4D 61 74 29 3B 20 20 20 2F 2A 20 53 65 74 20 6C 61 73 74 20 70 6F 69 6E 74 rntViewMat); /* Set last point 00002180 20 63 6F 6F 72 64 2E 20 2A 2F 0D 0A 0D 0A 23 64 65 66 69 6E 65 20 4D 41 58 5F 4E 55 4D 5F 41 54 coord. */♪◙♪◙#define MAX_NUM_AT 000021A0 54 52 53 09 09 31 30 0D 0A 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A TRS○○10♪◙♪◙/******************** 000021C0 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 000021E0 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 0A 2A 20 41 74 74 *************************♪◙* Att 00002200 72 69 62 75 74 65 73 20 2D 20 67 65 6F 6D 65 74 72 79 20 74 79 70 65 73 20 28 53 75 72 66 61 63 ributes - geometry types (Surfac 00002220 65 73 2F 43 75 72 76 65 73 2F 50 6F 6C 79 67 6F 6E 73 2F 50 6F 6C 79 6C 69 6E 65 73 29 20 68 61 es/Curves/Polygons/Polylines) ha 00002240 76 65 20 74 68 69 73 20 2A 0D 0A 2A 20 73 74 72 75 63 74 75 72 65 20 66 6F 72 20 6B 65 65 70 69 ve this *♪◙* structure for keepi 00002260 6E 67 20 67 65 6E 65 72 61 6C 20 61 74 74 72 69 62 75 74 65 73 20 6C 69 6B 65 20 63 6F 6C 6F 72 ng general attributes like color 00002280 73 20 65 74 63 2E 09 09 20 20 20 20 20 2A 0D 0A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A s etc.○○ *♪◙**************** 000022A0 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 000022C0 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2F 0D 0A *****************************/♪◙ 000022E0 74 79 70 65 64 65 66 20 73 74 72 75 63 74 20 41 74 74 72 69 62 75 74 65 53 74 72 75 63 74 20 7B typedef struct AttributeStruct { 00002300 0D 0A 20 20 20 20 42 79 74 65 54 79 70 65 20 43 6F 6C 6F 72 3B 09 09 09 09 20 20 20 20 20 20 20 ♪◙ ByteType Color;○○○○ 00002320 2F 2A 20 43 6F 6C 6F 72 20 6F 66 20 67 65 6F 6D 65 74 72 79 2E 20 2A 2F 0D 0A 20 20 20 20 42 79 /* Color of geometry. */♪◙ By 00002340 74 65 54 79 70 65 20 4E 75 6D 53 74 72 41 74 74 72 69 62 73 3B 0D 0A 20 20 20 20 63 68 61 72 20 teType NumStrAttribs;♪◙ char 00002360 2A 53 74 72 41 74 74 72 4E 61 6D 65 5B 4D 41 58 5F 4E 55 4D 5F 41 54 54 52 53 20 2B 20 31 5D 3B *StrAttrName[MAX_NUM_ATTRS + 1]; 00002380 09 20 20 20 20 2F 2A 20 47 65 6E 65 72 69 63 20 73 74 72 69 6E 67 20 61 74 74 72 73 2E 20 2A 2F ○ /* Generic string attrs. */ 000023A0 0D 0A 20 20 20 20 63 68 61 72 20 2A 53 74 72 41 74 74 72 44 61 74 61 5B 4D 41 58 5F 4E 55 4D 5F ♪◙ char *StrAttrData[MAX_NUM_ 000023C0 41 54 54 52 53 20 2B 20 31 5D 3B 0D 0A 7D 20 41 74 74 72 69 62 75 74 65 53 74 72 75 63 74 3B 0D ATTRS + 1];♪◙} AttributeStruct;♪ 000023E0 0A 0D 0A 4D 41 58 5F 4E 55 4D 5F 41 54 54 52 53 0D 0A 20 20 20 20 69 66 20 28 49 72 69 74 50 72 ◙♪◙MAX_NUM_ATTRS♪◙ if (IritPr 00002400 73 72 57 61 73 50 72 73 70 4D 61 74 29 0D 0A 09 4D 75 6C 74 54 77 6F 34 62 79 34 28 47 6C 62 6C srWasPrspMat)♪◙○MultTwo4by4(Glbl 00002420 56 69 65 77 4D 61 74 2C 20 49 72 69 74 50 72 73 72 56 69 65 77 4D 61 74 2C 20 49 72 69 74 50 72 ViewMat, IritPrsrViewMat, IritPr 00002440 73 72 50 72 73 70 4D 61 74 29 3B 0D 0A 20 20 20 20 65 6C 73 65 0D 0A 09 47 45 4E 5F 43 4F 50 59 srPrspMat);♪◙ else♪◙○GEN_COPY 00002460 28 47 6C 62 6C 56 69 65 77 4D 61 74 2C 20 49 72 69 74 50 72 73 72 56 69 65 77 4D 61 74 2C 20 73 (GlblViewMat, IritPrsrViewMat, s 00002480 69 7A 65 6F 66 28 4D 61 74 72 69 78 54 79 70 65 29 29 3B 0D 0A 23 64 65 66 69 6E 65 20 47 45 4E izeof(MatrixType));♪◙#define GEN 000024A0 5F 43 4F 50 59 28 44 65 73 74 2C 20 53 72 63 2C 20 53 69 7A 65 29 20 6D 65 6D 63 70 79 28 44 65 _COPY(Dest, Src, Size) memcpy(De 000024C0 73 74 2C 20 53 72 63 2C 20 53 69 7A 65 29 0D 0A 73 74 61 74 69 63 20 69 6E 74 20 54 72 61 6E 73 st, Src, Size)♪◙static int Trans 000024E0 43 6F 6C 6F 72 54 61 62 6C 65 5B 5D 5B 34 5D 20 3D 20 7B 0D 0A 20 20 20 20 7B 20 2F 2A 20 42 4C ColorTable[][4] = {♪◙ { /* BL 00002500 41 43 4B 09 09 2A 2F 20 30 2C 20 20 20 20 30 2C 20 20 20 30 2C 20 20 20 30 20 7D 2C 0D 0A 20 20 ACK○○*/ 0, 0, 0, 0 },♪◙ 00002520 20 20 7B 20 2F 2A 20 42 4C 55 45 09 09 2A 2F 20 31 2C 20 20 20 20 30 2C 20 20 20 30 2C 20 32 35 { /* BLUE○○*/ 1, 0, 0, 25 00002540 35 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 47 52 45 45 4E 09 09 2A 2F 20 32 2C 20 20 20 20 30 5 },♪◙ { /* GREEN○○*/ 2, 0 00002560 2C 20 32 35 35 2C 20 20 20 30 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 43 59 41 4E 09 09 2A 2F , 255, 0 },♪◙ { /* CYAN○○*/ 00002580 20 33 2C 20 20 20 20 30 2C 20 32 35 35 2C 20 32 35 35 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 3, 0, 255, 255 },♪◙ { /* 000025A0 52 45 44 09 09 2A 2F 20 34 2C 20 20 32 35 35 2C 20 20 20 30 2C 20 20 20 30 20 7D 2C 0D 0A 20 20 RED○○*/ 4, 255, 0, 0 },♪◙ 000025C0 20 20 7B 20 2F 2A 20 4D 41 47 45 4E 54 41 20 09 2A 2F 20 35 2C 20 20 32 35 35 2C 20 20 20 30 2C { /* MAGENTA ○*/ 5, 255, 0, 000025E0 20 32 35 35 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 42 52 4F 57 4E 09 09 2A 2F 20 36 2C 20 20 255 },♪◙ { /* BROWN○○*/ 6, 00002600 20 35 30 2C 20 20 20 30 2C 20 20 20 30 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 4C 49 47 48 54 50, 0, 0 },♪◙ { /* LIGHT 00002620 47 52 41 59 09 2A 2F 20 37 2C 20 20 31 32 37 2C 20 31 32 37 2C 20 31 32 37 20 7D 2C 0D 0A 20 20 GRAY○*/ 7, 127, 127, 127 },♪◙ 00002640 20 20 7B 20 2F 2A 20 44 41 52 4B 47 52 41 59 09 2A 2F 20 38 2C 20 20 20 36 33 2C 20 20 36 33 2C { /* DARKGRAY○*/ 8, 63, 63, 00002660 20 20 36 33 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 4C 49 47 48 54 42 4C 55 45 09 2A 2F 20 39 63 },♪◙ { /* LIGHTBLUE○*/ 9 00002680 2C 20 20 20 20 30 2C 20 20 20 30 2C 20 32 35 35 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 4C 49 , 0, 0, 255 },♪◙ { /* LI 000026A0 47 48 54 47 52 45 45 4E 09 2A 2F 20 31 30 2C 20 20 20 30 2C 20 32 35 35 2C 20 20 20 30 20 7D 2C GHTGREEN○*/ 10, 0, 255, 0 }, 000026C0 0D 0A 20 20 20 20 7B 20 2F 2A 20 4C 49 47 48 54 43 59 41 4E 09 2A 2F 20 31 31 2C 20 20 20 30 2C ♪◙ { /* LIGHTCYAN○*/ 11, 0, 000026E0 20 32 35 35 2C 20 32 35 35 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 4C 49 47 48 54 52 45 44 09 255, 255 },♪◙ { /* LIGHTRED○ 00002700 2A 2F 20 31 32 2C 20 32 35 35 2C 20 20 20 30 2C 20 20 20 30 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F */ 12, 255, 0, 0 },♪◙ { / 00002720 2A 20 4C 49 47 48 54 4D 41 47 45 4E 54 41 09 2A 2F 20 31 33 2C 20 32 35 35 2C 20 20 20 30 2C 20 * LIGHTMAGENTA○*/ 13, 255, 0, 00002740 32 35 35 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 59 45 4C 4C 4F 57 09 09 2A 2F 20 31 34 2C 20 255 },♪◙ { /* YELLOW○○*/ 14, 00002760 32 35 35 2C 20 32 35 35 2C 20 20 20 30 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 57 48 49 54 45 255, 255, 0 },♪◙ { /* WHITE 00002780 09 09 2A 2F 20 31 35 2C 20 32 35 35 2C 20 32 35 35 2C 20 32 35 35 20 7D 2C 0D 0A 20 20 20 20 7B ○○*/ 15, 255, 255, 255 },♪◙ { 000027A0 20 2F 2A 20 42 52 4F 57 4E 09 09 2A 2F 20 32 30 2C 20 20 35 30 2C 20 20 20 30 2C 20 20 20 30 20 /* BROWN○○*/ 20, 50, 0, 0 000027C0 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 44 41 52 4B 47 52 41 59 09 2A 2F 20 35 36 2C 20 20 36 33 },♪◙ { /* DARKGRAY○*/ 56, 63 000027E0 2C 20 20 36 33 2C 20 20 36 33 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 4C 49 47 48 54 42 4C 55 , 63, 63 },♪◙ { /* LIGHTBLU 00002800 45 09 2A 2F 20 35 37 2C 20 20 20 30 2C 20 20 20 30 2C 20 32 35 35 20 7D 2C 0D 0A 20 20 20 20 7B E○*/ 57, 0, 0, 255 },♪◙ { 00002820 20 2F 2A 20 4C 49 47 48 54 47 52 45 45 4E 09 2A 2F 20 35 38 2C 20 20 20 30 2C 20 32 35 35 2C 20 /* LIGHTGREEN○*/ 58, 0, 255, 00002840 20 20 30 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 4C 49 47 48 54 43 59 41 4E 09 2A 2F 20 35 39 0 },♪◙ { /* LIGHTCYAN○*/ 59 00002860 2C 20 20 20 30 2C 20 32 35 35 2C 20 32 35 35 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 4C 49 47 , 0, 255, 255 },♪◙ { /* LIG 00002880 48 54 52 45 44 09 2A 2F 20 36 30 2C 20 32 35 35 2C 20 20 20 30 2C 20 20 20 30 20 7D 2C 0D 0A 20 HTRED○*/ 60, 255, 0, 0 },♪◙ 000028A0 20 20 20 7B 20 2F 2A 20 4C 49 47 48 54 4D 41 47 45 4E 54 41 09 2A 2F 20 36 31 2C 20 32 35 35 2C { /* LIGHTMAGENTA○*/ 61, 255, 000028C0 20 20 20 30 2C 20 32 35 35 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A 20 59 45 4C 4C 4F 57 09 09 2A 0, 255 },♪◙ { /* YELLOW○○* 000028E0 2F 20 36 32 2C 20 32 35 35 2C 20 32 35 35 2C 20 20 20 30 20 7D 2C 0D 0A 20 20 20 20 7B 20 2F 2A / 62, 255, 255, 0 },♪◙ { /* 00002900 20 57 48 49 54 45 09 09 2A 2F 20 36 33 2C 20 32 35 35 2C 20 32 35 35 2C 20 32 35 35 20 7D 2C 0D WHITE○○*/ 63, 255, 255, 255 },♪ 00002920 0A 20 20 20 20 7B 09 09 09 20 20 20 2D 31 2C 20 20 20 30 2C 20 20 20 30 2C 20 20 20 30 20 7D 0D ◙ {○○○ -1, 0, 0, 0 }♪ 00002940 0A 7D 3B 0D 0A 0D 0A 2F 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ◙};♪◙♪◙/************************ 00002960 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 00002980 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 0D 0A 2A 20 20 52 6F 75 74 69 6E *********************♪◙* Routin 000029A0 65 20 74 6F 20 63 61 6C 63 75 6C 61 74 65 20 74 68 65 20 63 72 6F 73 73 20 70 72 6F 64 75 63 74 e to calculate the cross product 000029C0 20 6F 66 20 74 77 6F 20 76 65 63 74 6F 72 73 3A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 of two vectors: 000029E0 20 20 20 20 2A 0D 0A 2A 20 4E 6F 74 65 20 56 72 65 73 20 6D 69 67 68 74 20 62 65 20 74 68 65 20 *♪◙* Note Vres might be the 00002A00 73 61 6D 65 20 61 73 20 56 31 20 6F 72 20 56 32 20 21 20 20 20 20 20 20 20 20 20 20 20 20 20 20 same as V1 or V2 ! 00002A20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2A 0D 0A 2A 2A 2A 2A 2A 2A 2A 2A 2A *♪◙********* 00002A40 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 00002A60 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A ******************************** 00002A80 2A 2A 2A 2A 2F 0D 0A 76 6F 69 64 20 56 65 63 43 72 6F 73 73 50 72 6F 64 28 56 65 63 74 6F 72 54 ****/♪◙void VecCrossProd(VectorT 00002AA0 79 70 65 20 56 72 65 73 2C 20 56 65 63 74 6F 72 54 79 70 65 20 56 31 2C 20 56 65 63 74 6F 72 54 ype Vres, VectorType V1, VectorT 00002AC0 79 70 65 20 56 32 29 0D 0A 7B 0D 0A 20 20 20 20 56 65 63 74 6F 72 54 79 70 65 20 56 74 65 6D 70 ype V2)♪◙{♪◙ VectorType Vtemp 00002AE0 3B 0D 0A 0D 0A 20 20 20 20 56 74 65 6D 70 5B 30 5D 20 3D 20 56 31 5B 31 5D 20 2A 20 56 32 5B 32 ;♪◙♪◙ Vtemp[0] = V1[1] * V2[2 00002B00 5D 20 2D 20 56 32 5B 31 5D 20 2A 20 56 31 5B 32 5D 3B 0D 0A 20 20 20 20 56 74 65 6D 70 5B 31 5D ] - V2[1] * V1[2];♪◙ Vtemp[1] 00002B20 20 3D 20 56 31 5B 32 5D 20 2A 20 56 32 5B 30 5D 20 2D 20 56 32 5B 32 5D 20 2A 20 56 31 5B 30 5D = V1[2] * V2[0] - V2[2] * V1[0] 00002B40 3B 0D 0A 20 20 20 20 56 74 65 6D 70 5B 32 5D 20 3D 20 56 31 5B 30 5D 20 2A 20 56 32 5B 31 5D 20 ;♪◙ Vtemp[2] = V1[0] * V2[1] 00002B60 2D 20 56 32 5B 30 5D 20 2A 20 56 31 5B 31 5D 3B 0D 0A 0D 0A 20 20 20 20 56 65 63 43 6F 70 79 28 - V2[0] * V1[1];♪◙♪◙ VecCopy( 00002B80 56 72 65 73 2C 20 56 74 65 6D 70 29 3B 0D 0A 7D 0D 0A 23 64 65 66 69 6E 65 20 44 4F 54 5F 50 52 Vres, Vtemp);♪◙}♪◙#define DOT_PR 00002BA0 4F 44 28 50 74 31 2C 20 50 74 32 29 09 28 50 74 31 5B 30 5D 20 2A 20 50 74 32 5B 30 5D 20 2B 20 OD(Pt1, Pt2)○(Pt1[0] * Pt2[0] + 00002BC0 5C 0D 0A 09 09 09 09 20 50 74 31 5B 31 5D 20 2A 20 50 74 32 5B 31 5D 20 2B 20 5C 0D 0A 09 09 09 \♪◙○○○○ Pt1[1] * Pt2[1] + \♪◙○○○ 00002BE0 09 20 50 74 31 5B 32 5D 20 2A 20 50 74 32 5B 32 5D 29 0D 0A FF FF 00 00 ○ Pt1[2] * Pt2[2])♪◙ ..