home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / compsrcs / sun / volume01 / sunclock < prev    next >
SHell self-extracting ARchive  |  1991-08-27  |  65.4 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: SHell self-extracting ARchive (archive/shar).

You can browse this item here: sunclock

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file C source text default
99% file C source, ASCII text default
100% TrID E-Mail message (Var. 2) default
100% checkBytes Printable ASCII default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime application/mbox default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 20 64 65 63 | 77 72 6c 21 75 63 62 76 |From dec|wrl!ucbv|
|00000010| 61 78 21 75 63 73 64 21 | 72 75 74 67 65 72 73 21 |ax!ucsd!|rutgers!|
|00000020| 61 72 61 6d 69 73 2e 72 | 75 74 67 65 72 73 2e 65 |aramis.r|utgers.e|
|00000030| 64 75 21 64 61 72 74 61 | 67 6e 61 6e 2e 72 75 74 |du!darta|gnan.rut|
|00000040| 67 65 72 73 2e 65 64 75 | 21 6d 63 67 72 65 77 20 |gers.edu|!mcgrew |
|00000050| 4d 6f 6e 20 4f 63 74 20 | 32 33 20 30 38 3a 32 36 |Mon Oct |23 08:26|
|00000060| 3a 33 32 20 50 44 54 20 | 31 39 38 39 0a 41 72 74 |:32 PDT |1989.Art|
|00000070| 69 63 6c 65 20 38 32 20 | 6f 66 20 63 6f 6d 70 2e |icle 82 |of comp.|
|00000080| 73 6f 75 72 63 65 73 2e | 73 75 6e 3a 0a 50 61 74 |sources.|sun:.Pat|
|00000090| 68 3a 20 64 65 63 77 72 | 6c 21 75 63 62 76 61 78 |h: decwr|l!ucbvax|
|000000a0| 21 75 63 73 64 21 72 75 | 74 67 65 72 73 21 61 72 |!ucsd!ru|tgers!ar|
|000000b0| 61 6d 69 73 2e 72 75 74 | 67 65 72 73 2e 65 64 75 |amis.rut|gers.edu|
|000000c0| 21 64 61 72 74 61 67 6e | 61 6e 2e 72 75 74 67 65 |!dartagn|an.rutge|
|000000d0| 72 73 2e 65 64 75 21 6d | 63 67 72 65 77 0a 46 72 |rs.edu!m|cgrew.Fr|
|000000e0| 6f 6d 3a 20 6d 63 67 72 | 65 77 40 64 61 72 74 61 |om: mcgr|ew@darta|
|000000f0| 67 6e 61 6e 2e 72 75 74 | 67 65 72 73 2e 65 64 75 |gnan.rut|gers.edu|
|00000100| 20 28 43 68 61 72 6c 65 | 73 20 4d 63 67 72 65 77 | (Charle|s Mcgrew|
|00000110| 29 0a 4e 65 77 73 67 72 | 6f 75 70 73 3a 20 63 6f |).Newsgr|oups: co|
|00000120| 6d 70 2e 73 6f 75 72 63 | 65 73 2e 73 75 6e 0a 53 |mp.sourc|es.sun.S|
|00000130| 75 62 6a 65 63 74 3a 20 | 76 30 31 69 30 37 39 3a |ubject: |v01i079:|
|00000140| 20 20 53 75 6e 63 6c 6f | 63 6b 20 2d 20 61 20 77 | Sunclo|ck - a w|
|00000150| 6f 72 6c 64 2d 76 69 65 | 77 20 6f 66 20 74 68 65 |orld-vie|w of the|
|00000160| 20 64 61 79 0a 4d 65 73 | 73 61 67 65 2d 49 44 3a | day.Mes|sage-ID:|
|00000170| 20 3c 4f 63 74 2e 31 39 | 2e 31 39 2e 30 37 2e 33 | <Oct.19|.19.07.3|
|00000180| 33 2e 31 39 38 39 2e 32 | 34 30 37 33 40 64 61 72 |3.1989.2|4073@dar|
|00000190| 74 61 67 6e 61 6e 2e 72 | 75 74 67 65 72 73 2e 65 |tagnan.r|utgers.e|
|000001a0| 64 75 3e 0a 44 61 74 65 | 3a 20 31 39 20 4f 63 74 |du>.Date|: 19 Oct|
|000001b0| 20 38 39 20 32 33 3a 30 | 37 3a 33 37 20 47 4d 54 | 89 23:0|7:37 GMT|
|000001c0| 0a 4f 72 67 61 6e 69 7a | 61 74 69 6f 6e 3a 20 52 |.Organiz|ation: R|
|000001d0| 75 74 67 65 72 73 20 55 | 6e 69 76 2e 2c 20 4e 65 |utgers U|niv., Ne|
|000001e0| 77 20 42 72 75 6e 73 77 | 69 63 6b 2c 20 4e 2e 4a |w Brunsw|ick, N.J|
|000001f0| 2e 0a 4c 69 6e 65 73 3a | 20 31 38 37 36 0a 41 70 |..Lines:| 1876.Ap|
|00000200| 70 72 6f 76 65 64 3a 20 | 6d 63 67 72 65 77 40 61 |proved: |mcgrew@a|
|00000210| 72 61 6d 69 73 2e 72 75 | 74 67 65 72 73 2e 65 64 |ramis.ru|tgers.ed|
|00000220| 75 0a 0a 53 75 62 6d 69 | 74 74 65 64 2d 62 79 3a |u..Submi|tted-by:|
|00000230| 20 6b 65 6c 76 69 6e 40 | 61 63 61 64 2e 75 75 2e | kelvin@|acad.uu.|
|00000240| 6e 65 74 20 28 4a 6f 68 | 6e 20 57 61 6c 6b 65 72 |net (Joh|n Walker|
|00000250| 29 0a 50 6f 73 74 69 6e | 67 2d 6e 75 6d 62 65 72 |).Postin|g-number|
|00000260| 3a 20 56 6f 6c 75 6d 65 | 20 31 2c 20 49 73 73 75 |: Volume| 1, Issu|
|00000270| 65 20 37 39 0a 41 72 63 | 68 69 76 65 2d 6e 61 6d |e 79.Arc|hive-nam|
|00000280| 65 3a 20 73 75 6e 63 6c | 6f 63 6b 0a 0a 23 21 20 |e: suncl|ock..#! |
|00000290| 2f 62 69 6e 2f 73 68 0a | 23 20 54 68 69 73 20 69 |/bin/sh.|# This i|
|000002a0| 73 20 61 20 73 68 65 6c | 6c 20 61 72 63 68 69 76 |s a shel|l archiv|
|000002b0| 65 2c 20 6d 65 61 6e 69 | 6e 67 3a 0a 23 20 31 2e |e, meani|ng:.# 1.|
|000002c0| 20 52 65 6d 6f 76 65 20 | 65 76 65 72 79 74 68 69 | Remove |everythi|
|000002d0| 6e 67 20 61 62 6f 76 65 | 20 74 68 65 20 23 21 20 |ng above| the #! |
|000002e0| 2f 62 69 6e 2f 73 68 20 | 6c 69 6e 65 2e 0a 23 20 |/bin/sh |line..# |
|000002f0| 32 2e 20 53 61 76 65 20 | 74 68 65 20 72 65 73 75 |2. Save |the resu|
|00000300| 6c 74 69 6e 67 20 74 65 | 78 74 20 69 6e 20 61 20 |lting te|xt in a |
|00000310| 66 69 6c 65 2e 0a 23 20 | 33 2e 20 45 78 65 63 75 |file..# |3. Execu|
|00000320| 74 65 20 74 68 65 20 66 | 69 6c 65 20 77 69 74 68 |te the f|ile with|
|00000330| 20 2f 62 69 6e 2f 73 68 | 20 28 6e 6f 74 20 63 73 | /bin/sh| (not cs|
|00000340| 68 29 20 74 6f 20 63 72 | 65 61 74 65 20 74 68 65 |h) to cr|eate the|
|00000350| 20 66 69 6c 65 73 3a 0a | 23 09 52 45 41 44 4d 45 | files:.|#.README|
|00000360| 0a 23 09 4d 61 6b 65 66 | 69 6c 65 0a 23 09 73 75 |.#.Makef|ile.#.su|
|00000370| 6e 63 6c 6f 63 6b 2e 63 | 0a 23 09 73 75 6e 63 6c |nclock.c|.#.suncl|
|00000380| 6f 63 6b 2e 68 0a 23 09 | 73 75 6e 63 6c 6f 63 6b |ock.h.#.|sunclock|
|00000390| 2e 31 0a 23 20 54 68 69 | 73 20 61 72 63 68 69 76 |.1.# Thi|s archiv|
|000003a0| 65 20 63 72 65 61 74 65 | 64 3a 20 57 65 64 20 41 |e create|d: Wed A|
|000003b0| 75 67 20 32 33 20 32 30 | 3a 32 36 3a 33 38 20 31 |ug 23 20|:26:38 1|
|000003c0| 39 38 39 0a 65 78 70 6f | 72 74 20 50 41 54 48 3b |989.expo|rt PATH;|
|000003d0| 20 50 41 54 48 3d 2f 62 | 69 6e 3a 24 50 41 54 48 | PATH=/b|in:$PATH|
|000003e0| 0a 65 63 68 6f 20 73 68 | 61 72 3a 20 65 78 74 72 |.echo sh|ar: extr|
|000003f0| 61 63 74 69 6e 67 20 22 | 27 52 45 41 44 4d 45 27 |acting "|'README'|
|00000400| 22 20 27 28 39 35 31 20 | 63 68 61 72 61 63 74 65 |" '(951 |characte|
|00000410| 72 73 29 27 0a 69 66 20 | 74 65 73 74 20 2d 66 20 |rs)'.if |test -f |
|00000420| 27 52 45 41 44 4d 45 27 | 0a 74 68 65 6e 0a 20 20 |'README'|.then. |
|00000430| 20 20 20 20 20 65 63 68 | 6f 20 73 68 61 72 3a 20 | ech|o shar: |
|00000440| 77 69 6c 6c 20 6e 6f 74 | 20 6f 76 65 72 2d 77 72 |will not| over-wr|
|00000450| 69 74 65 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ite exis|ting fil|
|00000460| 65 20 22 27 52 45 41 44 | 4d 45 27 22 0a 65 6c 73 |e "'READ|ME'".els|
|00000470| 65 0a 63 61 74 20 3c 3c | 20 5c 53 48 41 52 5f 45 |e.cat <<| \SHAR_E|
|00000480| 4f 46 20 3e 20 27 52 45 | 41 44 4d 45 27 0a 0a 53 |OF > 'RE|ADME'..S|
|00000490| 75 6e 63 6c 6f 63 6b 20 | 69 73 20 61 20 53 75 6e |unclock |is a Sun|
|000004a0| 56 69 65 77 20 70 72 6f | 67 72 61 6d 20 20 74 68 |View pro|gram th|
|000004b0| 61 74 20 20 64 69 73 70 | 6c 61 79 73 20 20 61 20 |at disp|lays a |
|000004c0| 20 6d 61 70 20 20 6f 66 | 20 20 74 68 65 20 20 45 | map of| the E|
|000004d0| 61 72 74 68 2c 0a 73 68 | 6f 77 69 6e 67 20 20 74 |arth,.sh|owing t|
|000004e0| 68 65 20 20 70 6f 72 74 | 69 6f 6e 20 20 69 6c 6c |he port|ion ill|
|000004f0| 75 6d 69 6e 61 74 65 64 | 20 20 62 79 20 20 74 68 |uminated| by th|
|00000500| 65 20 20 53 75 6e 20 20 | 61 74 20 74 68 65 20 63 |e Sun |at the c|
|00000510| 75 72 72 65 6e 74 20 74 | 69 6d 65 2c 0a 70 72 6f |urrent t|ime,.pro|
|00000520| 70 65 72 6c 79 20 63 6f | 72 72 65 63 74 65 64 20 |perly co|rrected |
|00000530| 66 6f 72 20 74 68 65 20 | 73 65 61 73 6f 6e 2e 20 |for the |season. |
|00000540| 20 54 68 65 20 20 70 72 | 6f 67 72 61 6d 20 20 69 | The pr|ogram i|
|00000550| 6e 69 74 69 61 6c 6c 79 | 20 20 63 6f 6d 65 73 20 |nitially| comes |
|00000560| 20 75 70 0a 69 63 6f 6e | 69 63 20 20 28 31 32 36 | up.icon|ic (126|
|00000570| 78 36 33 29 20 20 61 6e | 64 20 63 61 6e 20 62 65 |x63) an|d can be|
|00000580| 20 6f 70 65 6e 65 64 20 | 69 6e 74 6f 20 61 20 6c | opened |into a l|
|00000590| 61 72 67 65 72 20 28 36 | 34 30 78 33 32 30 29 20 |arger (6|40x320) |
|000005a0| 70 69 78 65 6c 20 6d 61 | 70 2e 0a 0a 41 20 53 75 |pixel ma|p...A Su|
|000005b0| 6e 56 69 65 77 20 6d 65 | 6e 75 20 61 6c 6c 6f 77 |nView me|nu allow|
|000005c0| 73 20 61 6e 69 6d 61 74 | 65 64 20 64 69 73 70 6c |s animat|ed displ|
|000005d0| 61 79 73 20 74 68 61 74 | 20 73 68 6f 77 20 74 68 |ays that| show th|
|000005e0| 65 20 70 61 73 73 61 67 | 65 20 20 6f 66 20 20 64 |e passag|e of d|
|000005f0| 61 79 0a 61 6e 64 20 20 | 6e 69 67 68 74 2c 20 74 |ay.and |night, t|
|00000600| 68 65 20 63 68 61 6e 67 | 65 73 20 69 6e 20 74 68 |he chang|es in th|
|00000610| 65 20 73 65 61 73 6f 6e | 73 2c 20 61 6e 64 20 65 |e season|s, and e|
|00000620| 76 65 6e 20 74 68 65 20 | 70 72 65 63 65 73 73 69 |ven the |precessi|
|00000630| 6f 6e 20 6f 66 20 74 68 | 65 0a 65 71 75 69 6e 6f |on of th|e.equino|
|00000640| 78 65 73 20 61 73 20 79 | 65 61 72 20 66 6f 6c 6c |xes as y|ear foll|
|00000650| 6f 77 73 20 79 65 61 72 | 2e 0a 0a 49 20 73 61 77 |ows year|...I saw|
|00000660| 20 61 20 70 72 6f 67 72 | 61 6d 20 6c 69 6b 65 20 | a progr|am like |
|00000670| 74 68 69 73 20 72 75 6e | 6e 69 6e 67 20 75 6e 64 |this run|ning und|
|00000680| 65 72 20 4e 65 57 53 2c | 20 61 6e 64 20 63 6f 75 |er NeWS,| and cou|
|00000690| 6c 64 6e 27 74 20 73 6c | 65 65 70 20 75 6e 74 69 |ldn't sl|eep unti|
|000006a0| 6c 0a 49 20 68 61 64 20 | 6f 6e 65 20 66 6f 72 20 |l.I had |one for |
|000006b0| 6d 79 20 53 75 6e 56 69 | 65 77 20 73 63 72 65 65 |my SunVi|ew scree|
|000006c0| 6e 2e 20 20 49 74 20 73 | 65 65 6d 73 20 74 6f 20 |n. It s|eems to |
|000006d0| 77 6f 72 6b 20 6f 6e 20 | 53 75 6e 20 20 33 2c 20 |work on |Sun 3, |
|000006e0| 20 34 2c 20 20 61 6e 64 | 0a 33 38 36 69 20 20 61 | 4, and|.386i a|
|000006f0| 72 63 68 69 74 65 63 74 | 75 72 65 73 2c 20 20 6f |rchitect|ures, o|
|00000700| 6e 20 61 6e 79 20 53 75 | 6e 56 69 65 77 20 6c 61 |n any Su|nView la|
|00000710| 74 65 72 20 74 68 61 6e | 20 33 2e 35 2e 20 20 49 |ter than| 3.5. I|
|00000720| 74 27 73 20 62 65 65 6e | 20 74 65 73 74 65 64 0a |t's been| tested.|
|00000730| 6d 6f 73 74 20 72 65 63 | 65 6e 74 6c 79 20 6f 6e |most rec|ently on|
|00000740| 20 61 20 53 75 6e 20 33 | 2f 32 36 30 20 72 75 6e | a Sun 3|/260 run|
|00000750| 6e 69 6e 67 20 53 75 6e | 4f 53 20 34 2e 30 2e 33 |ning Sun|OS 4.0.3|
|00000760| 2e 0a 0a 45 6e 6a 6f 79 | 21 0a 0a 41 75 74 68 6f |...Enjoy|!..Autho|
|00000770| 72 3a 0a 0a 20 20 20 20 | 4a 6f 68 6e 20 57 61 6c |r:.. |John Wal|
|00000780| 6b 65 72 0a 20 20 20 20 | 41 75 74 6f 64 65 73 6b |ker. |Autodesk|
|00000790| 2c 20 49 6e 63 2e 0a 20 | 20 20 20 32 33 32 30 20 |, Inc.. | 2320 |
|000007a0| 4d 61 72 69 6e 73 68 69 | 70 20 57 61 79 0a 20 20 |Marinshi|p Way. |
|000007b0| 20 20 53 61 75 73 61 6c | 69 74 6f 2c 20 43 41 20 | Sausal|ito, CA |
|000007c0| 20 39 34 39 36 35 0a 20 | 20 20 20 55 53 41 0a 20 | 94965. | USA. |
|000007d0| 20 20 20 7b 73 75 6e 2c | 77 65 6c 6c 2c 75 75 6e | {sun,|well,uun|
|000007e0| 65 74 7d 21 61 63 61 64 | 21 6b 65 6c 76 69 6e 0a |et}!acad|!kelvin.|
|000007f0| 6f 72 3a 20 6b 65 6c 76 | 69 6e 40 61 63 61 64 2e |or: kelv|in@acad.|
|00000800| 75 75 2e 6e 65 74 0a 20 | 20 20 20 46 61 78 3a 20 |uu.net. | Fax: |
|00000810| 20 20 28 34 31 35 29 20 | 33 38 39 2d 39 34 31 38 | (415) |389-9418|
|00000820| 0a 20 20 20 20 56 6f 69 | 63 65 3a 20 28 34 31 35 |. Voi|ce: (415|
|00000830| 29 20 33 33 32 2d 32 33 | 34 34 20 45 78 74 2e 20 |) 332-23|44 Ext. |
|00000840| 32 38 32 39 0a 53 48 41 | 52 5f 45 4f 46 0a 66 69 |2829.SHA|R_EOF.fi|
|00000850| 20 23 20 65 6e 64 20 6f | 66 20 6f 76 65 72 77 72 | # end o|f overwr|
|00000860| 69 74 69 6e 67 20 63 68 | 65 63 6b 0a 65 63 68 6f |iting ch|eck.echo|
|00000870| 20 73 68 61 72 3a 20 65 | 78 74 72 61 63 74 69 6e | shar: e|xtractin|
|00000880| 67 20 22 27 4d 61 6b 65 | 66 69 6c 65 27 22 20 27 |g "'Make|file'" '|
|00000890| 28 34 33 32 20 63 68 61 | 72 61 63 74 65 72 73 29 |(432 cha|racters)|
|000008a0| 27 0a 69 66 20 74 65 73 | 74 20 2d 66 20 27 4d 61 |'.if tes|t -f 'Ma|
|000008b0| 6b 65 66 69 6c 65 27 0a | 74 68 65 6e 0a 20 20 20 |kefile'.|then. |
|000008c0| 20 20 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 77 | echo| shar: w|
|000008d0| 69 6c 6c 20 6e 6f 74 20 | 6f 76 65 72 2d 77 72 69 |ill not |over-wri|
|000008e0| 74 65 20 65 78 69 73 74 | 69 6e 67 20 66 69 6c 65 |te exist|ing file|
|000008f0| 20 22 27 4d 61 6b 65 66 | 69 6c 65 27 22 0a 65 6c | "'Makef|ile'".el|
|00000900| 73 65 0a 63 61 74 20 3c | 3c 20 5c 53 48 41 52 5f |se.cat <|< \SHAR_|
|00000910| 45 4f 46 20 3e 20 27 4d | 61 6b 65 66 69 6c 65 27 |EOF > 'M|akefile'|
|00000920| 0a 0a 23 09 4d 61 6b 65 | 20 69 6e 73 74 72 75 63 |..#.Make| instruc|
|00000930| 74 69 6f 6e 73 20 66 6f | 72 20 74 68 65 20 53 75 |tions fo|r the Su|
|00000940| 6e 20 63 6c 6f 63 6b 20 | 70 72 6f 67 72 61 6d 0a |n clock |program.|
|00000950| 0a 52 45 4c 46 49 4c 45 | 53 20 3d 20 52 45 41 44 |.RELFILE|S = READ|
|00000960| 4d 45 20 4d 61 6b 65 66 | 69 6c 65 20 73 75 6e 63 |ME Makef|ile sunc|
|00000970| 6c 6f 63 6b 2e 63 20 73 | 75 6e 63 6c 6f 63 6b 2e |lock.c s|unclock.|
|00000980| 68 20 73 75 6e 63 6c 6f | 63 6b 2e 31 0a 0a 4c 49 |h sunclo|ck.1..LI|
|00000990| 42 52 41 52 49 45 53 20 | 3d 20 2d 6c 73 75 6e 74 |BRARIES |= -lsunt|
|000009a0| 6f 6f 6c 20 2d 6c 73 75 | 6e 77 69 6e 64 6f 77 20 |ool -lsu|nwindow |
|000009b0| 2d 6c 70 69 78 72 65 63 | 74 20 2d 6c 6d 0a 0a 73 |-lpixrec|t -lm..s|
|000009c0| 75 6e 63 6c 6f 63 6b 3a | 20 73 75 6e 63 6c 6f 63 |unclock:| suncloc|
|000009d0| 6b 2e 63 20 73 75 6e 63 | 6c 6f 63 6b 2e 68 0a 09 |k.c sunc|lock.h..|
|000009e0| 63 63 20 2d 4f 20 73 75 | 6e 63 6c 6f 63 6b 2e 63 |cc -O su|nclock.c|
|000009f0| 20 2d 6f 20 73 75 6e 63 | 6c 6f 63 6b 20 24 28 4c | -o sunc|lock $(L|
|00000a00| 49 42 52 41 52 49 45 53 | 29 0a 09 73 74 72 69 70 |IBRARIES|)..strip|
|00000a10| 20 73 75 6e 63 6c 6f 63 | 6b 0a 0a 63 6c 65 61 6e | suncloc|k..clean|
|00000a20| 3a 0a 09 72 6d 20 2d 66 | 20 73 75 6e 63 6c 6f 63 |:..rm -f| suncloc|
|00000a30| 6b 0a 09 72 6d 20 2d 66 | 20 2a 2e 62 61 6b 0a 09 |k..rm -f| *.bak..|
|00000a40| 72 6d 20 2d 66 20 63 6f | 72 65 20 63 73 63 6f 70 |rm -f co|re cscop|
|00000a50| 65 2e 6f 75 74 0a 0a 6d | 61 6e 70 61 67 65 3a 0a |e.out..m|anpage:.|
|00000a60| 09 6e 72 6f 66 66 20 2d | 6d 61 6e 20 73 75 6e 63 |.nroff -|man sunc|
|00000a70| 6c 6f 63 6b 2e 31 20 7c | 20 6d 6f 72 65 0a 0a 6c |lock.1 || more..l|
|00000a80| 69 6e 74 3a 0a 09 6c 69 | 6e 74 20 73 75 6e 63 6c |int:..li|nt suncl|
|00000a90| 6f 63 6b 2e 63 20 24 28 | 4c 49 42 52 41 52 49 45 |ock.c $(|LIBRARIE|
|00000aa0| 53 29 0a 0a 73 68 61 72 | 3a 0a 09 73 68 61 72 20 |S)..shar|:..shar |
|00000ab0| 2d 62 20 2d 76 20 24 28 | 52 45 4c 46 49 4c 45 53 |-b -v $(|RELFILES|
|00000ac0| 29 20 3e 73 75 6e 63 6c | 6f 63 6b 2e 73 68 61 72 |) >suncl|ock.shar|
|00000ad0| 0a 53 48 41 52 5f 45 4f | 46 0a 66 69 20 23 20 65 |.SHAR_EO|F.fi # e|
|00000ae0| 6e 64 20 6f 66 20 6f 76 | 65 72 77 72 69 74 69 6e |nd of ov|erwritin|
|00000af0| 67 20 63 68 65 63 6b 0a | 65 63 68 6f 20 73 68 61 |g check.|echo sha|
|00000b00| 72 3a 20 65 78 74 72 61 | 63 74 69 6e 67 20 22 27 |r: extra|cting "'|
|00000b10| 73 75 6e 63 6c 6f 63 6b | 2e 63 27 22 20 27 28 31 |sunclock|.c'" '(1|
|00000b20| 39 38 36 32 20 63 68 61 | 72 61 63 74 65 72 73 29 |9862 cha|racters)|
|00000b30| 27 0a 69 66 20 74 65 73 | 74 20 2d 66 20 27 73 75 |'.if tes|t -f 'su|
|00000b40| 6e 63 6c 6f 63 6b 2e 63 | 27 0a 74 68 65 6e 0a 20 |nclock.c|'.then. |
|00000b50| 20 20 20 20 20 20 65 63 | 68 6f 20 73 68 61 72 3a | ec|ho shar:|
|00000b60| 20 77 69 6c 6c 20 6e 6f | 74 20 6f 76 65 72 2d 77 | will no|t over-w|
|00000b70| 72 69 74 65 20 65 78 69 | 73 74 69 6e 67 20 66 69 |rite exi|sting fi|
|00000b80| 6c 65 20 22 27 73 75 6e | 63 6c 6f 63 6b 2e 63 27 |le "'sun|clock.c'|
|00000b90| 22 0a 65 6c 73 65 0a 63 | 61 74 20 3c 3c 20 5c 53 |".else.c|at << \S|
|00000ba0| 48 41 52 5f 45 4f 46 20 | 3e 20 27 73 75 6e 63 6c |HAR_EOF |> 'suncl|
|00000bb0| 6f 63 6b 2e 63 27 0a 2f | 2a 0a 0a 09 53 75 6e 20 |ock.c'./|*...Sun |
|00000bc0| 63 6c 6f 63 6b 0a 0a 09 | 44 65 73 69 67 6e 65 64 |clock...|Designed|
|00000bd0| 20 61 6e 64 20 69 6d 70 | 6c 65 6d 65 6e 74 65 64 | and imp|lemented|
|00000be0| 20 62 79 20 4a 6f 68 6e | 20 57 61 6c 6b 65 72 20 | by John| Walker |
|00000bf0| 69 6e 20 4e 6f 76 65 6d | 62 65 72 20 6f 66 20 31 |in Novem|ber of 1|
|00000c00| 39 38 38 2e 0a 0a 09 56 | 65 72 73 69 6f 6e 20 66 |988....V|ersion f|
|00000c10| 6f 72 20 74 68 65 20 53 | 75 6e 20 57 6f 72 6b 73 |or the S|un Works|
|00000c20| 74 61 74 69 6f 6e 2e 0a | 0a 20 20 20 20 54 68 65 |tation..|. The|
|00000c30| 20 61 6c 67 6f 72 69 74 | 68 6d 20 75 73 65 64 20 | algorit|hm used |
|00000c40| 74 6f 20 63 61 6c 63 75 | 6c 61 74 65 20 74 68 65 |to calcu|late the|
|00000c50| 20 70 6f 73 69 74 69 6f | 6e 20 6f 66 20 74 68 65 | positio|n of the|
|00000c60| 20 53 75 6e 20 69 73 20 | 67 69 76 65 6e 20 69 6e | Sun is |given in|
|00000c70| 0a 20 20 20 20 43 68 61 | 70 74 65 72 20 31 38 20 |. Cha|pter 18 |
|00000c80| 6f 66 3a 0a 0a 20 20 20 | 20 22 41 73 74 72 6f 6e |of:.. | "Astron|
|00000c90| 6f 6d 69 63 61 6c 20 20 | 46 6f 72 6d 75 6c 61 65 |omical |Formulae|
|00000ca0| 20 66 6f 72 20 43 61 6c | 63 75 6c 61 74 6f 72 73 | for Cal|culators|
|00000cb0| 22 20 62 79 20 4a 65 61 | 6e 20 4d 65 65 75 73 2c |" by Jea|n Meeus,|
|00000cc0| 20 54 68 69 72 64 20 45 | 64 69 74 69 6f 6e 2c 0a | Third E|dition,.|
|00000cd0| 20 20 20 20 52 69 63 68 | 6d 6f 6e 64 3a 20 57 69 | Rich|mond: Wi|
|00000ce0| 6c 6c 6d 61 6e 6e 2d 42 | 65 6c 6c 2c 20 31 39 38 |llmann-B|ell, 198|
|00000cf0| 35 2e 20 20 54 68 69 73 | 20 62 6f 6f 6b 20 63 61 |5. This| book ca|
|00000d00| 6e 20 62 65 20 6f 62 74 | 61 69 6e 65 64 20 66 72 |n be obt|ained fr|
|00000d10| 6f 6d 3a 0a 0a 20 20 20 | 20 20 20 20 57 69 6c 6c |om:.. | Will|
|00000d20| 6d 61 6e 6e 2d 42 65 6c | 6c 0a 20 20 20 20 20 20 |mann-Bel|l. |
|00000d30| 20 50 2e 4f 2e 20 42 6f | 78 20 33 35 30 32 35 0a | P.O. Bo|x 35025.|
|00000d40| 20 20 20 20 20 20 20 52 | 69 63 68 6d 6f 6e 64 2c | R|ichmond,|
|00000d50| 20 56 41 20 20 32 33 32 | 33 35 0a 20 20 20 20 20 | VA 232|35. |
|00000d60| 20 20 55 53 41 0a 20 20 | 20 20 20 20 20 50 68 6f | USA. | Pho|
|00000d70| 6e 65 3a 20 28 38 30 34 | 29 20 33 32 30 2d 37 30 |ne: (804|) 320-70|
|00000d80| 31 36 0a 0a 20 20 20 20 | 54 68 69 73 20 70 72 6f |16.. |This pro|
|00000d90| 67 72 61 6d 20 77 61 73 | 20 77 72 69 74 74 65 6e |gram was| written|
|00000da0| 20 62 79 3a 0a 0a 20 20 | 20 20 20 20 20 4a 6f 68 | by:.. | Joh|
|00000db0| 6e 20 57 61 6c 6b 65 72 | 0a 20 20 20 20 20 20 20 |n Walker|. |
|00000dc0| 41 75 74 6f 64 65 73 6b | 2c 20 49 6e 63 2e 0a 20 |Autodesk|, Inc.. |
|00000dd0| 20 20 20 20 20 20 32 33 | 32 30 20 4d 61 72 69 6e | 23|20 Marin|
|00000de0| 73 68 69 70 20 57 61 79 | 0a 20 20 20 20 20 20 20 |ship Way|. |
|00000df0| 53 61 75 73 61 6c 69 74 | 6f 2c 20 43 41 20 20 39 |Sausalit|o, CA 9|
|00000e00| 34 39 36 35 0a 20 20 20 | 20 20 20 20 55 53 41 0a |4965. | USA.|
|00000e10| 20 20 20 20 20 20 20 46 | 61 78 3a 20 20 20 28 34 | F|ax: (4|
|00000e20| 31 35 29 20 33 38 39 2d | 39 34 31 38 0a 20 20 20 |15) 389-|9418. |
|00000e30| 20 20 20 20 56 6f 69 63 | 65 3a 20 28 34 31 35 29 | Voic|e: (415)|
|00000e40| 20 33 33 32 2d 32 33 34 | 34 20 45 78 74 2e 20 32 | 332-234|4 Ext. 2|
|00000e50| 38 32 39 0a 20 20 20 20 | 20 20 20 55 73 65 6e 65 |829. | Usene|
|00000e60| 74 3a 20 7b 73 75 6e 2c | 77 65 6c 6c 2c 75 75 6e |t: {sun,|well,uun|
|00000e70| 65 74 7d 21 61 63 61 64 | 21 6b 65 6c 76 69 6e 0a |et}!acad|!kelvin.|
|00000e80| 09 20 20 20 6f 72 3a 20 | 6b 65 6c 76 69 6e 40 61 |. or: |kelvin@a|
|00000e90| 63 61 64 2e 75 75 2e 6e | 65 74 0a 0a 20 20 20 20 |cad.uu.n|et.. |
|00000ea0| 54 68 69 73 20 20 70 72 | 6f 67 72 61 6d 20 69 73 |This pr|ogram is|
|00000eb0| 20 69 6e 20 74 68 65 20 | 70 75 62 6c 69 63 20 64 | in the |public d|
|00000ec0| 6f 6d 61 69 6e 3a 20 22 | 44 6f 20 77 68 61 74 20 |omain: "|Do what |
|00000ed0| 74 68 6f 75 20 77 69 6c | 74 20 73 68 61 6c 6c 20 |thou wil|t shall |
|00000ee0| 62 65 20 74 68 65 0a 20 | 20 20 20 77 68 6f 6c 65 |be the. | whole|
|00000ef0| 20 6f 66 20 74 68 65 20 | 6c 61 77 22 2e 20 20 49 | of the |law". I|
|00000f00| 27 64 20 61 70 70 72 65 | 63 69 61 74 65 20 20 72 |'d appre|ciate r|
|00000f10| 65 63 65 69 76 69 6e 67 | 20 20 61 6e 79 20 20 62 |eceiving| any b|
|00000f20| 75 67 20 20 66 69 78 65 | 73 20 20 61 6e 64 2f 6f |ug fixe|s and/o|
|00000f30| 72 0a 20 20 20 20 65 6e | 68 61 6e 63 65 6d 65 6e |r. en|hancemen|
|00000f40| 74 73 2c 20 20 77 68 69 | 63 68 20 20 49 27 6c 6c |ts, whi|ch I'll|
|00000f50| 20 20 69 6e 63 6f 72 70 | 6f 72 61 74 65 20 20 69 | incorp|orate i|
|00000f60| 6e 20 20 66 75 74 75 72 | 65 20 20 76 65 72 73 69 |n futur|e versi|
|00000f70| 6f 6e 73 20 20 6f 66 20 | 20 74 68 65 0a 20 20 20 |ons of | the. |
|00000f80| 20 70 72 6f 67 72 61 6d | 2e 20 20 50 6c 65 61 73 | program|. Pleas|
|00000f90| 65 20 6c 65 61 76 65 20 | 74 68 65 20 6f 72 69 67 |e leave |the orig|
|00000fa0| 69 6e 61 6c 20 61 74 74 | 72 69 62 75 74 69 6f 6e |inal att|ribution|
|00000fb0| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 69 6e 74 | informa|tion int|
|00000fc0| 61 63 74 09 73 6f 0a 20 | 20 20 20 74 68 61 74 20 |act.so. | that |
|00000fd0| 63 72 65 64 69 74 20 61 | 6e 64 20 62 6c 61 6d 65 |credit a|nd blame|
|00000fe0| 20 6d 61 79 20 62 65 20 | 70 72 6f 70 65 72 6c 79 | may be |properly|
|00000ff0| 20 61 70 70 6f 72 74 69 | 6f 6e 65 64 2e 0a 0a 20 | apporti|oned... |
|00001000| 20 20 20 52 65 76 69 73 | 69 6f 6e 20 68 69 73 74 | Revis|ion hist|
|00001010| 6f 72 79 3a 0a 0a 09 31 | 2e 30 20 20 31 32 2f 32 |ory:...1|.0 12/2|
|00001020| 31 2f 38 39 20 20 49 6e | 69 74 69 61 6c 20 76 65 |1/89 In|itial ve|
|00001030| 72 73 69 6f 6e 2e 0a 09 | 20 20 20 20 20 20 38 2f |rsion...| 8/|
|00001040| 32 34 2f 38 39 20 20 46 | 69 6e 61 6c 6c 79 20 67 |24/89 F|inally g|
|00001050| 6f 74 20 61 72 6f 75 6e | 64 20 74 6f 20 73 75 62 |ot aroun|d to sub|
|00001060| 6d 69 74 74 69 6e 67 2e | 0a 0a 2a 2f 0a 0a 23 69 |mitting.|..*/..#i|
|00001070| 6e 63 6c 75 64 65 20 3c | 73 74 64 69 6f 2e 68 3e |nclude <|stdio.h>|
|00001080| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 63 74 79 70 65 |.#includ|e <ctype|
|00001090| 2e 68 3e 0a 23 69 6e 63 | 6c 75 64 65 20 3c 6d 61 |.h>.#inc|lude <ma|
|000010a0| 74 68 2e 68 3e 0a 23 69 | 6e 63 6c 75 64 65 20 3c |th.h>.#i|nclude <|
|000010b0| 73 79 73 2f 74 79 70 65 | 73 2e 68 3e 0a 23 69 6e |sys/type|s.h>.#in|
|000010c0| 63 6c 75 64 65 20 3c 73 | 79 73 2f 74 69 6d 65 62 |clude <s|ys/timeb|
|000010d0| 2e 68 3e 0a 23 69 6e 63 | 6c 75 64 65 20 3c 61 73 |.h>.#inc|lude <as|
|000010e0| 73 65 72 74 2e 68 3e 0a | 0a 23 69 6e 63 6c 75 64 |sert.h>.|.#includ|
|000010f0| 65 20 3c 73 75 6e 74 6f | 6f 6c 2f 73 75 6e 76 69 |e <sunto|ol/sunvi|
|00001100| 65 77 2e 68 3e 0a 23 69 | 6e 63 6c 75 64 65 20 3c |ew.h>.#i|nclude <|
|00001110| 73 75 6e 74 6f 6f 6c 2f | 63 61 6e 76 61 73 2e 68 |suntool/|canvas.h|
|00001120| 3e 0a 23 69 6e 63 6c 75 | 64 65 20 3c 73 75 6e 74 |>.#inclu|de <sunt|
|00001130| 6f 6f 6c 2f 73 63 72 6f | 6c 6c 62 61 72 2e 68 3e |ool/scro|llbar.h>|
|00001140| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 70 69 78 72 65 |.#includ|e <pixre|
|00001150| 63 74 2f 70 69 78 72 65 | 63 74 5f 68 73 2e 68 3e |ct/pixre|ct_hs.h>|
|00001160| 0a 0a 23 64 65 66 69 6e | 65 20 61 62 73 28 78 29 |..#defin|e abs(x)|
|00001170| 20 28 28 78 29 20 3c 20 | 30 20 3f 20 28 2d 28 78 | ((x) < |0 ? (-(x|
|00001180| 29 29 20 3a 20 78 29 09 | 09 09 20 20 2f 2a 20 41 |)) : x).|.. /* A|
|00001190| 62 73 6f 6c 75 74 65 20 | 76 61 6c 75 65 20 2a 2f |bsolute |value */|
|000011a0| 0a 23 64 65 66 69 6e 65 | 20 73 67 6e 28 78 29 20 |.#define| sgn(x) |
|000011b0| 28 28 28 78 29 20 3c 20 | 30 29 20 3f 20 2d 31 20 |(((x) < |0) ? -1 |
|000011c0| 3a 20 28 28 78 29 20 3e | 20 30 20 3f 20 31 20 3a |: ((x) >| 0 ? 1 :|
|000011d0| 20 30 29 29 09 20 20 2f | 2a 20 45 78 74 72 61 63 | 0)). /|* Extrac|
|000011e0| 74 20 73 69 67 6e 20 2a | 2f 0a 23 64 65 66 69 6e |t sign *|/.#defin|
|000011f0| 65 20 64 74 72 28 78 29 | 20 28 28 78 29 20 2a 20 |e dtr(x)| ((x) * |
|00001200| 28 50 49 20 2f 20 31 38 | 30 2e 30 29 29 09 09 09 |(PI / 18|0.0))...|
|00001210| 20 20 2f 2a 20 44 65 67 | 72 65 65 2d 3e 52 61 64 | /* Deg|ree->Rad|
|00001220| 69 61 6e 20 2a 2f 0a 23 | 64 65 66 69 6e 65 20 72 |ian */.#|define r|
|00001230| 74 64 28 78 29 20 28 28 | 78 29 20 2f 20 28 50 49 |td(x) ((|x) / (PI|
|00001240| 20 2f 20 31 38 30 2e 30 | 29 29 09 09 09 20 20 2f | / 180.0|))... /|
|00001250| 2a 20 52 61 64 69 61 6e | 2d 3e 44 65 67 72 65 65 |* Radian|->Degree|
|00001260| 20 2a 2f 0a 23 64 65 66 | 69 6e 65 20 66 69 78 61 | */.#def|ine fixa|
|00001270| 6e 67 6c 65 28 61 29 20 | 28 28 61 29 20 2d 20 33 |ngle(a) |((a) - 3|
|00001280| 36 30 2e 30 20 2a 20 28 | 66 6c 6f 6f 72 28 28 61 |60.0 * (|floor((a|
|00001290| 29 20 2f 20 33 36 30 2e | 30 29 29 29 20 20 2f 2a |) / 360.|0))) /*|
|000012a0| 20 46 69 78 20 61 6e 67 | 6c 65 09 20 20 2a 2f 0a | Fix ang|le. */.|
|000012b0| 0a 23 64 65 66 69 6e 65 | 20 56 20 20 20 20 20 20 |.#define| V |
|000012c0| 28 76 6f 69 64 29 0a 0a | 23 64 65 66 69 6e 65 20 |(void)..|#define |
|000012d0| 50 49 20 33 2e 31 34 31 | 35 39 32 36 35 33 35 38 |PI 3.141|59265358|
|000012e0| 39 37 39 33 32 33 38 34 | 36 0a 0a 23 64 65 66 69 |97932384|6..#defi|
|000012f0| 6e 65 20 54 45 52 4d 49 | 4e 43 20 20 31 30 30 09 |ne TERMI|NC 100.|
|00001300| 09 20 20 20 2f 2a 20 43 | 69 72 63 6c 65 20 73 65 |. /* C|ircle se|
|00001310| 67 6d 65 6e 74 73 20 66 | 6f 72 20 74 65 72 6d 69 |gments f|or termi|
|00001320| 6e 61 74 6f 72 20 2a 2f | 0a 0a 23 64 65 66 69 6e |nator */|..#defin|
|00001330| 65 20 50 52 4f 4a 49 4e | 54 20 20 28 36 30 20 2a |e PROJIN|T (60 *|
|00001340| 20 31 30 29 09 20 20 20 | 2f 2a 20 46 72 65 71 75 | 10). |/* Frequ|
|00001350| 65 6e 63 79 20 6f 66 20 | 73 65 61 73 6f 6e 61 6c |ency of |seasonal|
|00001360| 20 72 65 63 61 6c 63 75 | 6c 61 74 69 6f 6e 0a 09 | recalcu|lation..|
|00001370| 09 09 09 20 20 20 20 20 | 20 69 6e 20 73 65 63 6f |... | in seco|
|00001380| 6e 64 73 2e 20 2a 2f 0a | 0a 23 64 65 66 69 6e 65 |nds. */.|.#define|
|00001390| 20 43 58 44 4f 54 53 09 | 20 31 32 36 09 09 20 20 | CXDOTS.| 126.. |
|000013a0| 20 2f 2a 20 43 6c 6f 73 | 65 64 20 77 69 6e 64 6f | /* Clos|ed windo|
|000013b0| 77 20 77 69 64 74 68 20 | 2a 2f 0a 23 64 65 66 69 |w width |*/.#defi|
|000013c0| 6e 65 20 43 59 44 4f 54 | 53 09 20 36 33 09 09 20 |ne CYDOT|S. 63.. |
|000013d0| 20 20 2f 2a 20 43 6c 6f | 73 65 64 20 77 69 6e 64 | /* Clo|sed wind|
|000013e0| 6f 77 20 68 65 69 67 68 | 74 20 2a 2f 0a 0a 23 64 |ow heigh|t */..#d|
|000013f0| 65 66 69 6e 65 20 49 58 | 44 4f 54 53 09 20 31 32 |efine IX|DOTS. 12|
|00001400| 38 09 09 20 20 20 2f 2a | 20 54 6f 74 61 6c 20 69 |8.. /*| Total i|
|00001410| 63 6f 6e 20 77 69 64 74 | 68 20 2a 2f 0a 23 64 65 |con widt|h */.#de|
|00001420| 66 69 6e 65 20 49 59 44 | 4f 54 53 09 20 37 34 09 |fine IYD|OTS. 74.|
|00001430| 09 20 20 20 2f 2a 20 54 | 6f 74 61 6c 20 69 63 6f |. /* T|otal ico|
|00001440| 6e 20 68 65 69 67 68 74 | 20 2a 2f 0a 0a 23 64 65 |n height| */..#de|
|00001450| 66 69 6e 65 20 4f 58 44 | 4f 54 53 09 20 36 34 30 |fine OXD|OTS. 640|
|00001460| 09 09 20 20 20 2f 2a 20 | 4f 70 65 6e 20 77 69 6e |.. /* |Open win|
|00001470| 64 6f 77 20 77 69 64 74 | 68 20 2a 2f 0a 23 64 65 |dow widt|h */.#de|
|00001480| 66 69 6e 65 20 4f 59 44 | 4f 54 53 09 20 33 32 30 |fine OYD|OTS. 320|
|00001490| 09 09 20 20 20 2f 2a 20 | 4f 70 65 6e 20 77 69 6e |.. /* |Open win|
|000014a0| 64 6f 77 20 68 65 69 67 | 68 74 20 2a 2f 0a 0a 2f |dow heig|ht */../|
|000014b0| 2a 20 20 47 6c 6f 62 61 | 6c 73 20 69 6d 70 6f 72 |* Globa|ls impor|
|000014c0| 74 65 64 20 20 2a 2f 0a | 0a 65 78 74 65 72 6e 20 |ted */.|.extern |
|000014d0| 63 68 61 72 20 2a 67 65 | 74 65 6e 76 28 29 2c 20 |char *ge|tenv(), |
|000014e0| 2a 74 69 6d 65 7a 6f 6e | 65 28 29 2c 20 2a 6d 61 |*timezon|e(), *ma|
|000014f0| 6c 6c 6f 63 28 29 2c 20 | 2a 73 70 72 69 6e 74 66 |lloc(), |*sprintf|
|00001500| 28 29 3b 0a 65 78 74 65 | 72 6e 20 74 69 6d 65 5f |();.exte|rn time_|
|00001510| 74 20 74 69 6d 65 28 29 | 3b 0a 23 69 66 64 65 66 |t time()|;.#ifdef|
|00001520| 20 6c 69 6e 74 0a 65 78 | 74 65 72 6e 20 76 6f 69 | lint.ex|tern voi|
|00001530| 64 20 70 77 5f 62 61 74 | 63 68 28 29 3b 0a 23 65 |d pw_bat|ch();.#e|
|00001540| 6e 64 69 66 0a 0a 2f 2a | 20 20 4c 6f 63 61 6c 20 |ndif../*| Local |
|00001550| 76 61 72 69 61 62 6c 65 | 73 20 20 2a 2f 0a 0a 73 |variable|s */..s|
|00001560| 74 61 74 69 63 20 69 6e | 74 20 78 64 6f 74 73 2c |tatic in|t xdots,|
|00001570| 20 79 64 6f 74 73 3b 09 | 20 20 20 2f 2a 20 53 63 | ydots;.| /* Sc|
|00001580| 72 65 65 6e 20 73 69 7a | 65 20 2a 2f 0a 23 69 6e |reen siz|e */.#in|
|00001590| 63 6c 75 64 65 20 22 73 | 75 6e 63 6c 6f 63 6b 2e |clude "s|unclock.|
|000015a0| 68 22 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |h" | |
|000015b0| 2f 2a 20 49 63 6f 6e 20 | 61 6e 64 20 6f 70 65 6e |/* Icon |and open|
|000015c0| 20 77 69 6e 64 6f 77 20 | 62 69 74 6d 61 70 73 20 | window |bitmaps |
|000015d0| 2a 2f 0a 73 74 61 74 69 | 63 20 63 68 61 72 20 2a |*/.stati|c char *|
|000015e0| 77 64 6e 61 6d 65 5b 5d | 20 3d 20 7b 09 20 20 20 |wdname[]| = {. |
|000015f0| 2f 2a 20 57 65 65 6b 20 | 64 61 79 20 6e 61 6d 65 |/* Week |day name|
|00001600| 73 20 2a 2f 0a 20 20 20 | 20 20 20 20 20 22 53 75 |s */. | "Su|
|00001610| 6e 22 2c 20 22 4d 6f 6e | 22 2c 20 22 54 75 65 22 |n", "Mon|", "Tue"|
|00001620| 2c 20 22 57 65 64 22 2c | 20 22 54 68 75 22 2c 20 |, "Wed",| "Thu", |
|00001630| 22 46 72 69 22 2c 20 22 | 53 61 74 22 0a 7d 3b 0a |"Fri", "|Sat".};.|
|00001640| 73 74 61 74 69 63 09 46 | 72 61 6d 65 09 62 66 3b |static.F|rame.bf;|
|00001650| 0a 73 74 61 74 69 63 09 | 50 69 78 77 69 6e 09 2a |.static.|Pixwin.*|
|00001660| 66 70 77 2c 20 2a 63 70 | 77 2c 20 2a 61 70 77 3b |fpw, *cp|w, *apw;|
|00001670| 0a 73 74 61 74 69 63 09 | 50 69 78 66 6f 6e 74 20 |.static.|Pixfont |
|00001680| 2a 74 69 6e 79 66 6f 6e | 74 3b 0a 73 74 61 74 69 |*tinyfon|t;.stati|
|00001690| 63 09 50 69 78 66 6f 6e | 74 20 2a 72 65 67 66 6f |c.Pixfon|t *regfo|
|000016a0| 6e 74 3b 0a 0a 73 74 61 | 74 69 63 20 69 6e 74 20 |nt;..sta|tic int |
|000016b0| 6f 6e 6f 6f 6e 20 3d 20 | 2d 31 3b 0a 73 74 61 74 |onoon = |-1;.stat|
|000016c0| 69 63 20 73 68 6f 72 74 | 20 2a 77 74 61 62 2c 20 |ic short| *wtab, |
|000016d0| 2a 77 74 61 62 31 2c 20 | 2a 77 74 61 62 73 3b 0a |*wtab1, |*wtabs;.|
|000016e0| 73 74 61 74 69 63 20 73 | 74 72 75 63 74 20 74 69 |static s|truct ti|
|000016f0| 6d 65 62 20 74 62 74 70 | 3b 0a 0a 73 74 61 74 69 |meb tbtp|;..stati|
|00001700| 63 20 73 74 72 75 63 74 | 20 69 74 69 6d 65 72 76 |c struct| itimerv|
|00001710| 61 6c 20 6e 6f 74 69 66 | 5f 74 69 6d 65 72 20 3d |al notif|_timer =|
|00001720| 20 7b 7b 31 2c 20 30 7d | 2c 20 7b 31 2c 20 30 7d | {{1, 0}|, {1, 0}|
|00001730| 7d 3b 0a 73 74 61 74 69 | 63 20 73 74 72 75 63 74 |};.stati|c struct|
|00001740| 20 69 74 69 6d 65 72 76 | 61 6c 20 71 75 69 63 6b | itimerv|al quick|
|00001750| 5f 74 69 6d 65 72 20 3d | 20 7b 7b 30 2c 20 35 30 |_timer =| {{0, 50|
|00001760| 30 30 30 30 7d 2c 20 7b | 30 2c 20 35 30 30 30 30 |0000}, {|0, 50000|
|00001770| 30 7d 7d 3b 0a 73 74 61 | 74 69 63 20 4d 65 6e 75 |0}};.sta|tic Menu|
|00001780| 20 61 63 74 6d 65 6e 75 | 3b 0a 0a 73 74 61 74 69 | actmenu|;..stati|
|00001790| 63 20 69 6e 74 20 66 64 | 61 74 65 20 3d 20 46 41 |c int fd|ate = FA|
|000017a0| 4c 53 45 2c 20 69 64 69 | 72 20 3d 20 31 2c 20 61 |LSE, idi|r = 1, a|
|000017b0| 6e 69 6d 61 74 65 20 3d | 20 46 41 4c 53 45 3b 0a |nimate =| FALSE;.|
|000017c0| 73 74 61 74 69 63 20 6c | 6f 6e 67 20 6c 69 6e 63 |static l|ong linc|
|000017d0| 72 20 3d 20 36 30 3b 0a | 73 74 61 74 69 63 20 6c |r = 60;.|static l|
|000017e0| 6f 6e 67 20 63 63 74 69 | 6d 65 3b 0a 0a 2f 2a 20 |ong ccti|me;../* |
|000017f0| 20 46 6f 72 77 61 72 64 | 20 70 72 6f 63 65 64 75 | Forward| procedu|
|00001800| 72 65 73 09 2a 2f 0a 0a | 64 6f 75 62 6c 65 20 6a |res.*/..|double j|
|00001810| 74 69 6d 65 28 29 2c 20 | 67 6d 73 74 28 29 3b 0a |time(), |gmst();.|
|00001820| 76 6f 69 64 20 64 72 61 | 77 74 65 72 6d 28 29 2c |void dra|wterm(),|
|00001830| 20 73 75 6e 70 6f 73 28 | 29 2c 20 70 72 6f 6a 69 | sunpos(|), proji|
|00001840| 6c 6c 75 6d 28 29 2c 20 | 6d 6f 76 65 74 65 72 6d |llum(), |moveterm|
|00001850| 28 29 2c 20 6f 75 74 64 | 69 66 66 28 29 2c 20 75 |(), outd|iff(), u|
|00001860| 73 61 67 65 28 29 3b 0a | 0a 2f 2a 20 20 55 50 44 |sage();.|./* UPD|
|00001870| 49 4d 41 47 45 20 20 2d | 2d 20 20 55 70 64 61 74 |IMAGE -|- Updat|
|00001880| 65 20 63 75 72 72 65 6e | 74 20 64 69 73 70 6c 61 |e curren|t displa|
|00001890| 79 65 64 20 69 6d 61 67 | 65 2e 20 20 2a 2f 0a 0a |yed imag|e. */..|
|000018a0| 73 74 61 74 69 63 20 76 | 6f 69 64 20 75 70 64 69 |static v|oid updi|
|000018b0| 6d 61 67 65 28 69 73 74 | 69 6d 65 72 29 0a 69 6e |mage(ist|imer).in|
|000018c0| 74 20 69 73 74 69 6d 65 | 72 3b 0a 7b 0a 09 69 6e |t istime|r;.{..in|
|000018d0| 74 20 69 2c 20 78 6c 2c | 20 69 73 63 6c 6f 73 65 |t i, xl,| isclose|
|000018e0| 64 3b 0a 09 73 74 72 75 | 63 74 20 74 6d 20 2a 63 |d;..stru|ct tm *c|
|000018f0| 74 3b 0a 09 63 68 61 72 | 20 74 62 75 66 5b 38 30 |t;..char| tbuf[80|
|00001900| 5d 3b 0a 09 64 6f 75 62 | 6c 65 20 6a 74 2c 20 73 |];..doub|le jt, s|
|00001910| 75 6e 72 61 2c 20 73 75 | 6e 64 65 63 2c 20 73 75 |unra, su|ndec, su|
|00001920| 6e 72 76 2c 20 73 75 6e | 6c 6f 6e 67 2c 20 67 74 |nrv, sun|long, gt|
|00001930| 3b 0a 09 73 74 72 75 63 | 74 20 74 6d 20 6c 74 3b |;..struc|t tm lt;|
|00001940| 0a 09 73 74 61 74 69 63 | 20 69 6e 74 20 6c 69 73 |..static| int lis|
|00001950| 65 63 20 3d 20 36 31 3b | 09 20 20 20 2f 2a 20 4c |ec = 61;|. /* L|
|00001960| 61 73 74 20 69 63 6f 6e | 69 63 20 73 65 63 6f 6e |ast icon|ic secon|
|00001970| 64 73 20 2a 2f 0a 09 73 | 74 61 74 69 63 20 6c 6f |ds */..s|tatic lo|
|00001980| 6e 67 20 6c 63 74 69 6d | 65 20 3d 20 30 3b 20 20 |ng lctim|e = 0; |
|00001990| 20 20 2f 2a 20 4c 61 73 | 74 20 66 75 6c 6c 20 63 | /* Las|t full c|
|000019a0| 61 6c 63 75 6c 61 74 69 | 6f 6e 20 74 69 6d 65 20 |alculati|on time |
|000019b0| 2a 2f 0a 0a 09 69 73 63 | 6c 6f 73 65 64 20 3d 20 |*/...isc|losed = |
|000019c0| 28 69 6e 74 29 20 77 69 | 6e 64 6f 77 5f 67 65 74 |(int) wi|ndow_get|
|000019d0| 28 62 66 2c 20 46 52 41 | 4d 45 5f 43 4c 4f 53 45 |(bf, FRA|ME_CLOSE|
|000019e0| 44 29 3b 0a 0a 09 69 66 | 20 28 21 69 73 74 69 6d |D);...if| (!istim|
|000019f0| 65 72 29 20 7b 0a 09 20 | 20 20 69 66 20 28 69 73 |er) {.. | if (is|
|00001a00| 63 6c 6f 73 65 64 29 20 | 7b 0a 09 20 20 20 20 20 |closed) |{.. |
|00001a10| 20 78 64 6f 74 73 20 3d | 20 43 58 44 4f 54 53 3b | xdots =| CXDOTS;|
|00001a20| 0a 09 20 20 20 20 20 20 | 79 64 6f 74 73 20 3d 20 |.. |ydots = |
|00001a30| 43 59 44 4f 54 53 3b 0a | 0a 09 20 20 20 20 20 20 |CYDOTS;.|.. |
|00001a40| 56 20 70 77 5f 77 72 69 | 74 65 62 61 63 6b 67 72 |V pw_wri|tebackgr|
|00001a50| 6f 75 6e 64 28 66 70 77 | 2c 20 30 2c 20 30 2c 20 |ound(fpw|, 0, 0, |
|00001a60| 49 58 44 4f 54 53 2c 20 | 49 59 44 4f 54 53 2c 20 |IXDOTS, |IYDOTS, |
|00001a70| 50 49 58 5f 53 52 43 29 | 3b 0a 09 20 20 20 20 20 |PIX_SRC)|;.. |
|00001a80| 20 56 20 70 77 5f 76 65 | 63 74 6f 72 28 66 70 77 | V pw_ve|ctor(fpw|
|00001a90| 2c 20 30 2c 20 30 2c 20 | 49 58 44 4f 54 53 20 2d |, 0, 0, |IXDOTS -|
|00001aa0| 20 31 2c 20 30 2c 20 50 | 49 58 5f 53 52 43 2c 20 | 1, 0, P|IX_SRC, |
|00001ab0| 31 29 3b 0a 09 20 20 20 | 20 20 20 56 20 70 77 5f |1);.. | V pw_|
|00001ac0| 76 65 63 74 6f 72 28 66 | 70 77 2c 20 49 58 44 4f |vector(f|pw, IXDO|
|00001ad0| 54 53 20 2d 20 31 2c 20 | 30 2c 20 49 58 44 4f 54 |TS - 1, |0, IXDOT|
|00001ae0| 53 20 2d 20 31 2c 0a 09 | 09 09 20 20 20 20 20 20 |S - 1,..|.. |
|00001af0| 20 49 59 44 4f 54 53 20 | 2d 20 31 2c 20 50 49 58 | IYDOTS |- 1, PIX|
|00001b00| 5f 53 52 43 2c 20 31 29 | 3b 0a 09 20 20 20 20 20 |_SRC, 1)|;.. |
|00001b10| 20 56 20 70 77 5f 76 65 | 63 74 6f 72 28 66 70 77 | V pw_ve|ctor(fpw|
|00001b20| 2c 20 49 58 44 4f 54 53 | 20 2d 20 31 2c 20 49 59 |, IXDOTS| - 1, IY|
|00001b30| 44 4f 54 53 20 2d 20 31 | 2c 20 30 2c 0a 09 09 09 |DOTS - 1|, 0,....|
|00001b40| 20 20 20 20 20 20 20 49 | 59 44 4f 54 53 20 2d 20 | I|YDOTS - |
|00001b50| 31 2c 20 50 49 58 5f 53 | 52 43 2c 20 31 29 3b 0a |1, PIX_S|RC, 1);.|
|00001b60| 09 20 20 20 20 20 20 56 | 20 70 77 5f 76 65 63 74 |. V| pw_vect|
|00001b70| 6f 72 28 66 70 77 2c 20 | 30 2c 20 49 59 44 4f 54 |or(fpw, |0, IYDOT|
|00001b80| 53 20 2d 20 31 2c 20 30 | 2c 20 30 2c 20 50 49 58 |S - 1, 0|, 0, PIX|
|00001b90| 5f 53 52 43 2c 20 31 29 | 3b 0a 09 20 20 20 20 20 |_SRC, 1)|;.. |
|00001ba0| 20 56 20 70 77 5f 72 6f | 70 28 66 70 77 2c 20 31 | V pw_ro|p(fpw, 1|
|00001bb0| 2c 20 31 2c 20 6d 69 63 | 6f 6e 2e 70 72 5f 73 69 |, 1, mic|on.pr_si|
|00001bc0| 7a 65 2e 78 2c 20 6d 69 | 63 6f 6e 2e 70 72 5f 73 |ze.x, mi|con.pr_s|
|00001bd0| 69 7a 65 2e 79 2c 0a 09 | 09 20 20 20 20 50 49 58 |ize.y,..|. PIX|
|00001be0| 5f 4e 4f 54 28 50 49 58 | 5f 53 52 43 29 2c 0a 09 |_NOT(PIX|_SRC),..|
|00001bf0| 09 20 20 20 20 26 6d 69 | 63 6f 6e 2c 20 30 2c 20 |. &mi|con, 0, |
|00001c00| 30 29 3b 0a 09 20 20 20 | 7d 20 65 6c 73 65 20 7b |0);.. |} else {|
|00001c10| 0a 09 20 20 20 20 20 20 | 78 64 6f 74 73 20 3d 20 |.. |xdots = |
|00001c20| 4f 58 44 4f 54 53 3b 0a | 09 20 20 20 20 20 20 79 |OXDOTS;.|. y|
|00001c30| 64 6f 74 73 20 3d 20 4f | 59 44 4f 54 53 3b 0a 0a |dots = O|YDOTS;..|
|00001c40| 09 20 20 20 20 20 20 56 | 20 70 77 5f 72 6f 70 28 |. V| pw_rop(|
|00001c50| 63 70 77 2c 20 30 2c 20 | 30 2c 20 62 69 6d 61 67 |cpw, 0, |0, bimag|
|00001c60| 65 2e 70 72 5f 73 69 7a | 65 2e 78 2c 20 62 69 6d |e.pr_siz|e.x, bim|
|00001c70| 61 67 65 2e 70 72 5f 73 | 69 7a 65 2e 79 2c 0a 09 |age.pr_s|ize.y,..|
|00001c80| 09 20 20 20 20 50 49 58 | 5f 4e 4f 54 28 50 49 58 |. PIX|_NOT(PIX|
|00001c90| 5f 53 52 43 29 2c 0a 09 | 09 20 20 20 20 26 62 69 |_SRC),..|. &bi|
|00001ca0| 6d 61 67 65 2c 20 30 2c | 20 30 29 3b 0a 09 20 20 |mage, 0,| 0);.. |
|00001cb0| 20 7d 0a 09 7d 0a 0a 09 | 2f 2a 20 49 66 20 74 68 | }..}...|/* If th|
|00001cc0| 69 73 20 69 73 20 61 20 | 66 75 6c 6c 20 72 65 70 |is is a |full rep|
|00001cd0| 61 69 6e 74 20 6f 66 20 | 74 68 65 20 77 69 6e 64 |aint of |the wind|
|00001ce0| 6f 77 2c 20 66 6f 72 63 | 65 20 63 6f 6d 70 6c 65 |ow, forc|e comple|
|00001cf0| 74 65 0a 09 20 20 20 72 | 65 63 61 6c 63 75 6c 61 |te.. r|ecalcula|
|00001d00| 74 69 6f 6e 2e 20 2a 2f | 0a 0a 09 69 66 20 28 21 |tion. */|...if (!|
|00001d10| 69 73 74 69 6d 65 72 29 | 20 7b 0a 09 20 20 20 6c |istimer)| {.. l|
|00001d20| 63 74 69 6d 65 20 3d 20 | 30 3b 0a 09 20 20 20 6f |ctime = |0;.. o|
|00001d30| 6e 6f 6f 6e 20 3d 20 2d | 31 3b 0a 09 20 20 20 6c |noon = -|1;.. l|
|00001d40| 69 73 65 63 20 3d 20 36 | 31 3b 0a 09 20 20 20 66 |isec = 6|1;.. f|
|00001d50| 6f 72 20 28 69 20 3d 20 | 30 3b 20 69 20 3c 20 4f |or (i = |0; i < O|
|00001d60| 59 44 4f 54 53 3b 20 69 | 2b 2b 29 20 7b 0a 09 20 |YDOTS; i|++) {.. |
|00001d70| 20 20 20 20 20 77 74 61 | 62 31 5b 69 5d 20 3d 20 | wta|b1[i] = |
|00001d80| 2d 31 3b 0a 09 20 20 20 | 7d 0a 09 7d 0a 0a 09 69 |-1;.. |}..}...i|
|00001d90| 66 20 28 66 64 61 74 65 | 29 20 7b 0a 09 20 20 20 |f (fdate|) {.. |
|00001da0| 69 66 20 28 61 6e 69 6d | 61 74 65 29 0a 09 20 20 |if (anim|ate).. |
|00001db0| 20 20 20 20 63 63 74 69 | 6d 65 20 2b 3d 20 6c 69 | ccti|me += li|
|00001dc0| 6e 63 72 3b 0a 09 20 20 | 20 69 66 20 28 63 63 74 |ncr;.. | if (cct|
|00001dd0| 69 6d 65 20 3c 20 30 29 | 0a 09 20 20 20 20 20 20 |ime < 0)|.. |
|00001de0| 63 63 74 69 6d 65 20 3d | 20 30 3b 0a 09 7d 20 65 |cctime =| 0;..} e|
|00001df0| 6c 73 65 20 7b 0a 09 20 | 20 20 56 20 74 69 6d 65 |lse {.. | V time|
|00001e00| 28 26 63 63 74 69 6d 65 | 29 3b 0a 09 7d 0a 09 6c |(&cctime|);..}..l|
|00001e10| 74 20 3d 20 2a 6c 6f 63 | 61 6c 74 69 6d 65 28 26 |t = *loc|altime(&|
|00001e20| 63 63 74 69 6d 65 29 3b | 0a 0a 20 20 20 20 20 20 |cctime);|.. |
|00001e30| 20 20 2f 2a 20 53 70 65 | 63 69 61 6c 20 20 63 61 | /* Spe|cial ca|
|00001e40| 73 65 20 20 74 6f 20 20 | 72 65 64 75 63 65 20 6f |se to |reduce o|
|00001e50| 76 65 72 68 65 61 64 20 | 20 77 68 69 6c 73 74 20 |verhead | whilst |
|00001e60| 69 63 6f 6e 69 63 3a 20 | 69 66 20 77 65 27 72 65 |iconic: |if we're|
|00001e70| 0a 09 20 20 20 6f 6e 6c | 79 20 73 68 6f 77 69 6e |.. onl|y showin|
|00001e80| 67 20 74 68 65 20 69 63 | 6f 6e 2c 20 75 70 64 61 |g the ic|on, upda|
|00001e90| 74 65 20 74 68 65 20 20 | 64 69 73 70 6c 61 79 20 |te the |display |
|00001ea0| 20 6f 6e 6c 79 20 20 6f | 6e 63 65 20 20 70 65 72 | only o|nce per|
|00001eb0| 0a 09 20 20 20 6d 69 6e | 75 74 65 2c 20 20 64 65 |.. min|ute, de|
|00001ec0| 74 65 63 74 65 64 20 20 | 62 79 20 20 74 68 65 20 |tected |by the |
|00001ed0| 20 66 61 63 74 20 20 74 | 68 61 74 20 20 74 68 65 | fact t|hat the|
|00001ee0| 20 63 75 72 72 65 6e 74 | 20 73 65 63 6f 6e 64 73 | current| seconds|
|00001ef0| 0a 09 20 20 20 72 65 61 | 64 69 6e 67 20 69 73 20 |.. rea|ding is |
|00001f00| 6c 65 73 73 20 74 68 61 | 6e 20 74 68 61 74 20 6f |less tha|n that o|
|00001f10| 66 20 74 68 65 20 20 6c | 61 73 74 20 20 75 70 64 |f the l|ast upd|
|00001f20| 61 74 65 2e 20 20 20 54 | 68 65 20 20 69 63 6f 6e |ate. T|he icon|
|00001f30| 0a 09 20 20 20 73 68 6f | 77 73 20 20 6f 6e 6c 79 |.. sho|ws only|
|00001f40| 09 68 6f 75 72 73 20 20 | 61 6e 64 20 20 6d 69 6e |.hours |and min|
|00001f50| 75 74 65 73 2c 20 61 6e | 64 20 69 73 20 73 75 66 |utes, an|d is suf|
|00001f60| 66 69 63 69 65 6e 74 6c | 79 20 73 6d 61 6c 6c 0a |ficientl|y small.|
|00001f70| 09 20 20 20 74 68 61 74 | 20 6f 6e 63 65 2d 61 2d |. that| once-a-|
|00001f80| 6d 69 6e 75 74 65 20 75 | 70 64 61 74 65 73 20 61 |minute u|pdates a|
|00001f90| 72 65 20 70 6c 65 6e 74 | 79 20 74 6f 20 6b 65 65 |re plent|y to kee|
|00001fa0| 70 20 20 74 68 65 20 20 | 70 69 63 74 75 72 65 0a |p the |picture.|
|00001fb0| 09 20 20 20 69 6e 20 73 | 79 6e 63 2e 20 20 2a 2f |. in s|ync. */|
|00001fc0| 0a 0a 09 69 66 20 28 69 | 73 63 6c 6f 73 65 64 20 |...if (i|sclosed |
|00001fd0| 26 26 20 21 66 64 61 74 | 65 20 26 26 20 28 6c 74 |&& !fdat|e && (lt|
|00001fe0| 2e 74 6d 5f 73 65 63 20 | 3e 20 6c 69 73 65 63 29 |.tm_sec |> lisec)|
|00001ff0| 29 0a 09 20 20 20 72 65 | 74 75 72 6e 3b 0a 0a 09 |).. re|turn;...|
|00002000| 63 74 20 3d 20 67 6d 74 | 69 6d 65 28 26 63 63 74 |ct = gmt|ime(&cct|
|00002010| 69 6d 65 29 3b 0a 0a 09 | 6a 74 20 3d 20 6a 74 69 |ime);...|jt = jti|
|00002020| 6d 65 28 63 74 29 3b 0a | 09 73 75 6e 70 6f 73 28 |me(ct);.|.sunpos(|
|00002030| 6a 74 2c 20 46 41 4c 53 | 45 2c 20 26 73 75 6e 72 |jt, FALS|E, &sunr|
|00002040| 61 2c 20 26 73 75 6e 64 | 65 63 2c 20 26 73 75 6e |a, &sund|ec, &sun|
|00002050| 72 76 2c 20 26 73 75 6e | 6c 6f 6e 67 29 3b 0a 09 |rv, &sun|long);..|
|00002060| 67 74 20 3d 20 67 6d 73 | 74 28 6a 74 29 3b 0a 0a |gt = gms|t(jt);..|
|00002070| 09 2f 2a 20 50 72 6f 6a | 65 63 74 69 6e 67 20 74 |./* Proj|ecting t|
|00002080| 68 65 20 69 6c 6c 75 6d | 69 6e 61 74 69 6f 6e 20 |he illum|ination |
|00002090| 63 75 72 76 65 20 20 66 | 6f 72 20 74 68 65 20 63 |curve f|or the c|
|000020a0| 75 72 72 65 6e 74 20 73 | 65 61 73 6f 6e 61 6c 0a |urrent s|easonal.|
|000020b0| 20 20 20 20 20 20 20 20 | 20 20 20 69 6e 73 74 61 | | insta|
|000020c0| 6e 74 20 69 73 20 63 6f | 73 74 6c 79 2e 20 20 49 |nt is co|stly. I|
|000020d0| 66 20 77 65 27 72 65 20 | 72 75 6e 6e 69 6e 67 20 |f we're |running |
|000020e0| 69 6e 20 72 65 61 6c 20 | 74 69 6d 65 2c 20 6f 6e |in real |time, on|
|000020f0| 6c 79 20 20 64 6f 0a 09 | 20 20 20 69 74 20 65 76 |ly do..| it ev|
|00002100| 65 72 79 20 50 52 4f 4a | 49 4e 54 20 73 65 63 6f |ery PROJ|INT seco|
|00002110| 6e 64 73 2e 20 20 2a 2f | 0a 0a 09 69 66 20 28 66 |nds. */|...if (f|
|00002120| 64 61 74 65 20 7c 7c 20 | 21 69 73 74 69 6d 65 72 |date || |!istimer|
|00002130| 20 7c 7c 20 28 28 63 63 | 74 69 6d 65 20 2d 20 6c | || ((cc|time - l|
|00002140| 63 74 69 6d 65 29 20 3e | 20 50 52 4f 4a 49 4e 54 |ctime) >| PROJINT|
|00002150| 29 29 20 7b 0a 09 20 20 | 20 70 72 6f 6a 69 6c 6c |)) {.. | projill|
|00002160| 75 6d 28 77 74 61 62 2c | 20 78 64 6f 74 73 2c 20 |um(wtab,| xdots, |
|00002170| 79 64 6f 74 73 2c 20 73 | 75 6e 64 65 63 29 3b 0a |ydots, s|undec);.|
|00002180| 09 20 20 20 77 74 61 62 | 73 20 3d 20 77 74 61 62 |. wtab|s = wtab|
|00002190| 3b 0a 09 20 20 20 77 74 | 61 62 20 3d 20 77 74 61 |;.. wt|ab = wta|
|000021a0| 62 31 3b 0a 09 20 20 20 | 77 74 61 62 31 20 3d 20 |b1;.. |wtab1 = |
|000021b0| 77 74 61 62 73 3b 0a 09 | 20 20 20 6c 63 74 69 6d |wtabs;..| lctim|
|000021c0| 65 20 3d 20 63 63 74 69 | 6d 65 3b 0a 09 7d 0a 0a |e = ccti|me;..}..|
|000021d0| 09 73 75 6e 6c 6f 6e 67 | 20 3d 20 66 69 78 61 6e |.sunlong| = fixan|
|000021e0| 67 6c 65 28 31 38 30 2e | 30 20 2b 20 28 73 75 6e |gle(180.|0 + (sun|
|000021f0| 72 61 20 2d 20 28 67 74 | 20 2a 20 31 35 29 29 29 |ra - (gt| * 15)))|
|00002200| 3b 0a 09 78 6c 20 3d 20 | 73 75 6e 6c 6f 6e 67 20 |;..xl = |sunlong |
|00002210| 2a 20 28 78 64 6f 74 73 | 20 2f 20 33 36 30 2e 30 |* (xdots| / 360.0|
|00002220| 29 3b 0a 0a 09 2f 2a 20 | 49 66 20 74 68 65 20 73 |);.../* |If the s|
|00002230| 75 62 73 6f 6c 61 72 20 | 70 6f 69 6e 74 20 68 61 |ubsolar |point ha|
|00002240| 73 20 6d 6f 76 65 64 20 | 61 74 20 6c 65 61 73 74 |s moved |at least|
|00002250| 20 6f 6e 65 20 70 69 78 | 65 6c 2c 20 75 70 64 61 | one pix|el, upda|
|00002260| 74 65 0a 09 20 20 20 74 | 68 65 20 69 6c 6c 75 6d |te.. t|he illum|
|00002270| 69 6e 61 74 65 64 20 61 | 72 65 61 20 6f 6e 20 74 |inated a|rea on t|
|00002280| 68 65 20 73 63 72 65 65 | 6e 2e 09 2a 2f 0a 0a 09 |he scree|n..*/...|
|00002290| 69 66 20 28 66 64 61 74 | 65 20 7c 7c 20 21 69 73 |if (fdat|e || !is|
|000022a0| 74 69 6d 65 72 20 7c 7c | 20 28 6f 6e 6f 6f 6e 20 |timer ||| (onoon |
|000022b0| 21 3d 20 78 6c 29 29 20 | 7b 0a 09 20 20 20 61 70 |!= xl)) |{.. ap|
|000022c0| 77 20 3d 20 69 73 63 6c | 6f 73 65 64 20 3f 20 66 |w = iscl|osed ? f|
|000022d0| 70 77 20 3a 20 63 70 77 | 3b 0a 09 20 20 20 70 77 |pw : cpw|;.. pw|
|000022e0| 5f 62 61 74 63 68 5f 6f | 6e 28 61 70 77 29 3b 0a |_batch_o|n(apw);.|
|000022f0| 09 20 20 20 6d 6f 76 65 | 74 65 72 6d 28 77 74 61 |. move|term(wta|
|00002300| 62 31 2c 20 78 6c 2c 20 | 77 74 61 62 2c 20 6f 6e |b1, xl, |wtab, on|
|00002310| 6f 6f 6e 2c 20 78 64 6f | 74 73 2c 20 79 64 6f 74 |oon, xdo|ts, ydot|
|00002320| 73 29 3b 0a 09 20 20 20 | 70 77 5f 62 61 74 63 68 |s);.. |pw_batch|
|00002330| 5f 6f 66 66 28 61 70 77 | 29 3b 0a 09 20 20 20 6f |_off(apw|);.. o|
|00002340| 6e 6f 6f 6e 20 3d 20 78 | 6c 3b 0a 09 7d 0a 0a 09 |noon = x|l;..}...|
|00002350| 69 66 20 28 69 73 63 6c | 6f 73 65 64 29 20 7b 0a |if (iscl|osed) {.|
|00002360| 0a 09 20 20 20 2f 2a 20 | 44 69 73 70 6c 61 79 20 |.. /* |Display |
|00002370| 74 69 6d 65 20 69 6e 20 | 63 6c 6f 73 65 64 20 77 |time in |closed w|
|00002380| 69 6e 64 6f 77 20 2a 2f | 0a 0a 20 20 20 20 20 20 |indow */|.. |
|00002390| 20 20 20 20 20 56 20 73 | 70 72 69 6e 74 66 28 74 | V s|printf(t|
|000023a0| 62 75 66 2c 20 22 25 30 | 32 64 3a 25 30 32 64 20 |buf, "%0|2d:%02d |
|000023b0| 25 73 20 25 73 20 25 30 | 32 64 2f 25 30 32 64 22 |%s %s %0|2d/%02d"|
|000023c0| 2c 0a 09 20 20 20 20 20 | 20 6c 74 2e 74 6d 5f 68 |,.. | lt.tm_h|
|000023d0| 6f 75 72 2c 20 6c 74 2e | 74 6d 5f 6d 69 6e 2c 0a |our, lt.|tm_min,.|
|000023e0| 09 20 20 20 20 20 20 74 | 69 6d 65 7a 6f 6e 65 28 |. t|imezone(|
|000023f0| 74 62 74 70 2e 74 69 6d | 65 7a 6f 6e 65 2c 20 6c |tbtp.tim|ezone, l|
|00002400| 74 2e 74 6d 5f 69 73 64 | 73 74 29 2c 0a 09 20 20 |t.tm_isd|st),.. |
|00002410| 20 20 20 20 77 64 6e 61 | 6d 65 5b 6c 74 2e 74 6d | wdna|me[lt.tm|
|00002420| 5f 77 64 61 79 5d 2c 0a | 09 20 20 20 20 20 20 6c |_wday],.|. l|
|00002430| 74 2e 74 6d 5f 6d 6f 6e | 20 2b 20 31 2c 20 6c 74 |t.tm_mon| + 1, lt|
|00002440| 2e 74 6d 5f 6d 64 61 79 | 29 3b 0a 09 20 20 20 56 |.tm_mday|);.. V|
|00002450| 20 70 77 5f 74 65 78 74 | 28 66 70 77 2c 20 38 2c | pw_text|(fpw, 8,|
|00002460| 20 49 59 44 4f 54 53 20 | 2d 20 33 2c 20 50 49 58 | IYDOTS |- 3, PIX|
|00002470| 5f 53 52 43 2c 20 74 69 | 6e 79 66 6f 6e 74 2c 20 |_SRC, ti|nyfont, |
|00002480| 74 62 75 66 29 3b 0a 09 | 20 20 20 6c 69 73 65 63 |tbuf);..| lisec|
|00002490| 20 3d 20 6c 74 2e 74 6d | 5f 73 65 63 3b 0a 0a 09 | = lt.tm|_sec;...|
|000024a0| 7d 20 65 6c 73 65 20 7b | 0a 0a 09 20 20 20 2f 2a |} else {|... /*|
|000024b0| 20 44 69 73 70 6c 61 79 | 20 74 69 6d 65 20 69 6e | Display| time in|
|000024c0| 20 6f 70 65 6e 20 77 69 | 6e 64 6f 77 20 2a 2f 0a | open wi|ndow */.|
|000024d0| 0a 09 20 20 20 56 20 73 | 70 72 69 6e 74 66 28 74 |.. V s|printf(t|
|000024e0| 62 75 66 2c 0a 20 20 22 | 20 25 30 32 64 3a 25 30 |buf,. "| %02d:%0|
|000024f0| 32 64 3a 25 30 32 64 20 | 25 73 20 25 73 20 25 30 |2d:%02d |%s %s %0|
|00002500| 32 64 2f 25 30 32 64 2f | 25 30 32 64 20 20 20 20 |2d/%02d/|%02d |
|00002510| 25 30 32 64 3a 25 30 32 | 64 3a 25 30 32 64 20 55 |%02d:%02|d:%02d U|
|00002520| 54 43 20 25 30 32 64 2f | 25 30 32 64 2f 25 30 32 |TC %02d/|%02d/%02|
|00002530| 64 20 22 2c 0a 09 20 20 | 20 20 20 20 6c 74 2e 74 |d ",.. | lt.t|
|00002540| 6d 5f 68 6f 75 72 2c 20 | 6c 74 2e 74 6d 5f 6d 69 |m_hour, |lt.tm_mi|
|00002550| 6e 2c 20 6c 74 2e 74 6d | 5f 73 65 63 2c 0a 09 20 |n, lt.tm|_sec,.. |
|00002560| 20 20 20 20 20 74 69 6d | 65 7a 6f 6e 65 28 74 62 | tim|ezone(tb|
|00002570| 74 70 2e 74 69 6d 65 7a | 6f 6e 65 2c 20 6c 74 2e |tp.timez|one, lt.|
|00002580| 74 6d 5f 69 73 64 73 74 | 29 2c 0a 09 20 20 20 20 |tm_isdst|),.. |
|00002590| 20 20 77 64 6e 61 6d 65 | 5b 6c 74 2e 74 6d 5f 77 | wdname|[lt.tm_w|
|000025a0| 64 61 79 5d 2c 0a 09 20 | 20 20 20 20 20 6c 74 2e |day],.. | lt.|
|000025b0| 74 6d 5f 6d 6f 6e 20 2b | 20 31 2c 20 6c 74 2e 74 |tm_mon +| 1, lt.t|
|000025c0| 6d 5f 6d 64 61 79 2c 20 | 28 6c 74 2e 74 6d 5f 79 |m_mday, |(lt.tm_y|
|000025d0| 65 61 72 20 25 20 31 30 | 30 29 2c 0a 09 20 20 20 |ear % 10|0),.. |
|000025e0| 20 20 20 63 74 2d 3e 74 | 6d 5f 68 6f 75 72 2c 20 | ct->t|m_hour, |
|000025f0| 63 74 2d 3e 74 6d 5f 6d | 69 6e 2c 20 63 74 2d 3e |ct->tm_m|in, ct->|
|00002600| 74 6d 5f 73 65 63 2c 0a | 09 20 20 20 20 20 20 63 |tm_sec,.|. c|
|00002610| 74 2d 3e 74 6d 5f 6d 6f | 6e 20 2b 20 31 2c 20 63 |t->tm_mo|n + 1, c|
|00002620| 74 2d 3e 74 6d 5f 6d 64 | 61 79 2c 20 28 63 74 2d |t->tm_md|ay, (ct-|
|00002630| 3e 74 6d 5f 79 65 61 72 | 20 25 20 31 30 30 29 29 |>tm_year| % 100))|
|00002640| 3b 0a 09 20 20 20 56 20 | 70 77 5f 74 65 78 74 28 |;.. V |pw_text(|
|00002650| 63 70 77 2c 20 38 35 2c | 20 79 64 6f 74 73 20 2d |cpw, 85,| ydots -|
|00002660| 20 36 2c 20 50 49 58 5f | 53 52 43 2c 20 72 65 67 | 6, PIX_|SRC, reg|
|00002670| 66 6f 6e 74 2c 20 74 62 | 75 66 29 3b 0a 09 7d 0a |font, tb|uf);..}.|
|00002680| 7d 0a 0a 2f 2a 20 20 46 | 72 61 6d 65 20 65 76 65 |}../* F|rame eve|
|00002690| 6e 74 20 70 72 6f 63 65 | 73 73 6f 72 20 20 2a 2f |nt proce|ssor */|
|000026a0| 0a 0a 73 74 61 74 69 63 | 20 66 72 61 6d 65 5f 65 |..static| frame_e|
|000026b0| 76 65 6e 74 5f 70 72 6f | 63 28 66 72 61 6d 65 2c |vent_pro|c(frame,|
|000026c0| 20 65 76 65 6e 74 2c 20 | 61 72 67 2c 20 74 79 70 | event, |arg, typ|
|000026d0| 65 29 0a 46 72 61 6d 65 | 20 66 72 61 6d 65 3b 0a |e).Frame| frame;.|
|000026e0| 45 76 65 6e 74 20 2a 65 | 76 65 6e 74 3b 0a 4e 6f |Event *e|vent;.No|
|000026f0| 74 69 66 79 5f 61 72 67 | 20 61 72 67 3b 0a 4e 6f |tify_arg| arg;.No|
|00002700| 74 69 66 79 5f 65 76 65 | 6e 74 5f 74 79 70 65 20 |tify_eve|nt_type |
|00002710| 74 79 70 65 3b 0a 7b 0a | 09 73 77 69 74 63 68 20 |type;.{.|.switch |
|00002720| 28 65 76 65 6e 74 5f 69 | 64 28 65 76 65 6e 74 29 |(event_i|d(event)|
|00002730| 29 20 7b 0a 0a 09 20 20 | 20 63 61 73 65 20 57 49 |) {... | case WI|
|00002740| 4e 5f 52 45 50 41 49 4e | 54 3a 0a 09 20 20 20 20 |N_REPAIN|T:.. |
|00002750| 20 20 69 66 20 28 77 69 | 6e 64 6f 77 5f 67 65 74 | if (wi|ndow_get|
|00002760| 28 62 66 2c 20 46 52 41 | 4d 45 5f 43 4c 4f 53 45 |(bf, FRA|ME_CLOSE|
|00002770| 44 29 29 20 7b 0a 09 09 | 20 75 70 64 69 6d 61 67 |D)) {...| updimag|
|00002780| 65 28 46 41 4c 53 45 29 | 3b 0a 09 20 20 20 20 20 |e(FALSE)|;.. |
|00002790| 20 7d 20 65 6c 73 65 20 | 7b 0a 09 09 20 78 64 6f | } else |{... xdo|
|000027a0| 74 73 20 3d 20 4f 58 44 | 4f 54 53 3b 0a 09 09 20 |ts = OXD|OTS;... |
|000027b0| 79 64 6f 74 73 20 3d 20 | 4f 59 44 4f 54 53 3b 0a |ydots = |OYDOTS;.|
|000027c0| 0a 09 09 20 75 70 64 69 | 6d 61 67 65 28 46 41 4c |... updi|mage(FAL|
|000027d0| 53 45 29 3b 0a 09 20 20 | 20 20 20 20 7d 0a 09 20 |SE);.. | }.. |
|000027e0| 20 20 20 20 20 62 72 65 | 61 6b 3b 0a 0a 09 20 20 | bre|ak;... |
|000027f0| 20 64 65 66 61 75 6c 74 | 3a 0a 09 20 20 20 20 20 | default|:.. |
|00002800| 20 77 69 6e 64 6f 77 5f | 64 65 66 61 75 6c 74 5f | window_|default_|
|00002810| 65 76 65 6e 74 5f 66 75 | 6e 63 28 66 72 61 6d 65 |event_fu|nc(frame|
|00002820| 2c 20 65 76 65 6e 74 2c | 20 61 72 67 2c 20 74 79 |, event,| arg, ty|
|00002830| 70 65 29 3b 0a 09 20 20 | 20 20 20 20 62 72 65 61 |pe);.. | brea|
|00002840| 6b 3b 0a 09 7d 0a 7d 0a | 0a 2f 2a 20 20 54 69 6d |k;..}.}.|./* Tim|
|00002850| 65 72 20 6e 6f 74 69 66 | 69 63 61 74 69 6f 6e 20 |er notif|ication |
|00002860| 70 72 6f 63 65 64 75 72 | 65 2e 20 20 2a 2f 0a 0a |procedur|e. */..|
|00002870| 2f 2a 41 52 47 53 55 53 | 45 44 2a 2f 0a 73 74 61 |/*ARGSUS|ED*/.sta|
|00002880| 74 69 63 20 4e 6f 74 69 | 66 79 5f 76 61 6c 75 65 |tic Noti|fy_value|
|00002890| 20 74 69 6d 65 72 5f 70 | 72 6f 63 28 66 72 61 6d | timer_p|roc(fram|
|000028a0| 65 2c 20 77 68 69 63 68 | 29 0a 4e 6f 74 69 66 79 |e, which|).Notify|
|000028b0| 5f 63 6c 69 65 6e 74 20 | 66 72 61 6d 65 3b 0a 69 |_client |frame;.i|
|000028c0| 6e 74 20 77 68 69 63 68 | 3b 0a 7b 0a 09 75 70 64 |nt which|;.{..upd|
|000028d0| 69 6d 61 67 65 28 54 52 | 55 45 29 3b 0a 09 72 65 |image(TR|UE);..re|
|000028e0| 74 75 72 6e 28 4e 4f 54 | 49 46 59 5f 44 4f 4e 45 |turn(NOT|IFY_DONE|
|000028f0| 29 3b 0a 7d 0a 0a 2f 2a | 20 20 43 45 56 45 4e 54 |);.}../*| CEVENT|
|00002900| 20 20 2d 2d 09 43 61 6e | 76 61 73 20 65 76 65 6e | --.Can|vas even|
|00002910| 74 20 68 61 6e 64 6c 65 | 72 20 20 2a 2f 0a 0a 2f |t handle|r */../|
|00002920| 2a 41 52 47 53 55 53 45 | 44 2a 2f 0a 73 74 61 74 |*ARGSUSE|D*/.stat|
|00002930| 69 63 20 76 6f 69 64 20 | 63 65 76 65 6e 74 28 77 |ic void |cevent(w|
|00002940| 69 6e 64 6f 77 2c 20 65 | 76 65 6e 74 2c 20 61 72 |indow, e|vent, ar|
|00002950| 67 29 0a 57 69 6e 64 6f | 77 20 77 69 6e 64 6f 77 |g).Windo|w window|
|00002960| 3b 0a 45 76 65 6e 74 20 | 2a 65 76 65 6e 74 3b 0a |;.Event |*event;.|
|00002970| 63 61 64 64 72 5f 74 20 | 61 72 67 3b 0a 7b 0a 23 |caddr_t |arg;.{.#|
|00002980| 64 65 66 69 6e 65 20 6d | 64 69 73 28 78 2c 79 29 |define m|dis(x,y)|
|00002990| 20 56 20 6d 65 6e 75 5f | 73 65 74 28 6d 65 6e 75 | V menu_|set(menu|
|000029a0| 5f 67 65 74 28 61 63 74 | 6d 65 6e 75 2c 4d 45 4e |_get(act|menu,MEN|
|000029b0| 55 5f 4e 54 48 5f 49 54 | 45 4d 2c 78 29 2c 5c 0a |U_NTH_IT|EM,x),\.|
|000029c0| 09 09 09 20 20 20 20 20 | 4d 45 4e 55 5f 49 4e 41 |... |MENU_INA|
|000029d0| 43 54 49 56 45 2c 79 2c | 30 29 0a 0a 09 6d 64 69 |CTIVE,y,|0)...mdi|
|000029e0| 73 28 31 2c 20 69 64 69 | 72 20 3e 20 30 29 3b 0a |s(1, idi|r > 0);.|
|000029f0| 09 6d 64 69 73 28 32 2c | 20 69 64 69 72 20 3c 20 |.mdis(2,| idir < |
|00002a00| 30 29 3b 0a 09 6d 64 69 | 73 28 31 31 2c 20 21 66 |0);..mdi|s(11, !f|
|00002a10| 64 61 74 65 29 3b 0a 0a | 09 73 77 69 74 63 68 20 |date);..|.switch |
|00002a20| 28 65 76 65 6e 74 5f 69 | 64 28 65 76 65 6e 74 29 |(event_i|d(event)|
|00002a30| 29 20 7b 0a 0a 09 20 20 | 20 63 61 73 65 20 4d 53 |) {... | case MS|
|00002a40| 5f 52 49 47 48 54 3a 0a | 09 20 20 20 20 20 20 73 |_RIGHT:.|. s|
|00002a50| 77 69 74 63 68 20 28 6d | 65 6e 75 5f 73 68 6f 77 |witch (m|enu_show|
|00002a60| 28 61 63 74 6d 65 6e 75 | 2c 20 77 69 6e 64 6f 77 |(actmenu|, window|
|00002a70| 2c 20 65 76 65 6e 74 2c | 20 30 29 29 20 7b 0a 0a |, event,| 0)) {..|
|00002a80| 09 09 20 63 61 73 65 20 | 31 3a 09 20 20 20 2f 2a |.. case |1:. /*|
|00002a90| 20 46 6f 72 77 61 72 64 | 20 2a 2f 0a 09 09 20 20 | Forward| */... |
|00002aa0| 20 20 69 66 20 28 69 64 | 69 72 20 3c 20 30 29 0a | if (id|ir < 0).|
|00002ab0| 09 09 20 20 20 20 20 20 | 20 6c 69 6e 63 72 20 3d |.. | lincr =|
|00002ac0| 20 2d 6c 69 6e 63 72 3b | 0a 09 09 20 20 20 20 69 | -lincr;|... i|
|00002ad0| 64 69 72 20 3d 20 31 3b | 0a 09 09 20 20 20 20 62 |dir = 1;|... b|
|00002ae0| 72 65 61 6b 3b 0a 0a 09 | 09 20 63 61 73 65 20 32 |reak;...|. case 2|
|00002af0| 3a 09 20 20 20 2f 2a 20 | 42 61 63 6b 77 61 72 64 |:. /* |Backward|
|00002b00| 20 2a 2f 0a 09 09 20 20 | 20 20 69 66 20 28 69 64 | */... | if (id|
|00002b10| 69 72 20 3e 20 30 29 0a | 09 09 20 20 20 20 20 20 |ir > 0).|.. |
|00002b20| 20 6c 69 6e 63 72 20 3d | 20 2d 6c 69 6e 63 72 3b | lincr =| -lincr;|
|00002b30| 0a 09 09 20 20 20 20 69 | 64 69 72 20 3d 20 2d 31 |... i|dir = -1|
|00002b40| 3b 0a 09 09 20 20 20 20 | 62 72 65 61 6b 3b 0a 0a |;... |break;..|
|00002b50| 09 09 20 63 61 73 65 20 | 34 3a 09 20 20 20 2f 2a |.. case |4:. /*|
|00002b60| 20 48 6f 75 72 20 2a 2f | 0a 09 09 20 20 20 20 63 | Hour */|... c|
|00002b70| 63 74 69 6d 65 20 2b 3d | 20 28 6c 69 6e 63 72 20 |ctime +=| (lincr |
|00002b80| 3d 20 33 36 30 30 4c 20 | 2a 20 69 64 69 72 29 3b |= 3600L |* idir);|
|00002b90| 0a 09 09 20 20 20 20 66 | 64 61 74 65 20 3d 20 54 |... f|date = T|
|00002ba0| 52 55 45 3b 0a 09 09 20 | 20 20 20 62 72 65 61 6b |RUE;... | break|
|00002bb0| 3b 0a 0a 09 09 20 63 61 | 73 65 20 35 3a 09 20 20 |;.... ca|se 5:. |
|00002bc0| 20 2f 2a 20 44 61 79 20 | 2a 2f 0a 09 09 20 20 20 | /* Day |*/... |
|00002bd0| 20 63 63 74 69 6d 65 20 | 2b 3d 20 28 6c 69 6e 63 | cctime |+= (linc|
|00002be0| 72 20 3d 20 38 36 34 30 | 30 4c 20 2a 20 69 64 69 |r = 8640|0L * idi|
|00002bf0| 72 29 3b 0a 09 09 20 20 | 20 20 66 64 61 74 65 20 |r);... | fdate |
|00002c00| 3d 20 54 52 55 45 3b 0a | 09 09 20 20 20 20 62 72 |= TRUE;.|.. br|
|00002c10| 65 61 6b 3b 0a 0a 09 09 | 20 63 61 73 65 20 36 3a |eak;....| case 6:|
|00002c20| 09 20 20 20 2f 2a 20 57 | 65 65 6b 20 2a 2f 0a 09 |. /* W|eek */..|
|00002c30| 09 20 20 20 20 63 63 74 | 69 6d 65 20 2b 3d 20 28 |. cct|ime += (|
|00002c40| 6c 69 6e 63 72 20 3d 20 | 38 36 34 30 30 4c 20 2a |lincr = |86400L *|
|00002c50| 20 37 20 2a 20 69 64 69 | 72 29 3b 0a 09 09 20 20 | 7 * idi|r);... |
|00002c60| 20 20 66 64 61 74 65 20 | 3d 20 54 52 55 45 3b 0a | fdate |= TRUE;.|
|00002c70| 09 09 20 20 20 20 62 72 | 65 61 6b 3b 0a 0a 09 09 |.. br|eak;....|
|00002c80| 20 63 61 73 65 20 37 3a | 09 20 20 20 2f 2a 20 4d | case 7:|. /* M|
|00002c90| 6f 6e 74 68 20 2a 2f 0a | 09 09 20 20 20 20 63 63 |onth */.|.. cc|
|00002ca0| 74 69 6d 65 20 2b 3d 20 | 28 6c 69 6e 63 72 20 3d |time += |(lincr =|
|00002cb0| 20 38 36 34 30 30 4c 20 | 2a 20 33 30 20 2a 20 69 | 86400L |* 30 * i|
|00002cc0| 64 69 72 29 3b 0a 09 09 | 20 20 20 20 66 64 61 74 |dir);...| fdat|
|00002cd0| 65 20 3d 20 54 52 55 45 | 3b 0a 09 09 20 20 20 20 |e = TRUE|;... |
|00002ce0| 62 72 65 61 6b 3b 0a 0a | 09 09 20 63 61 73 65 20 |break;..|.. case |
|00002cf0| 38 3a 09 20 20 20 2f 2a | 20 59 65 61 72 20 2a 2f |8:. /*| Year */|
|00002d00| 0a 09 09 20 20 20 20 63 | 63 74 69 6d 65 20 2b 3d |... c|ctime +=|
|00002d10| 20 28 6c 69 6e 63 72 20 | 3d 20 38 36 34 30 30 4c | (lincr |= 86400L|
|00002d20| 20 2a 20 33 36 35 4c 20 | 2a 20 69 64 69 72 29 3b | * 365L |* idir);|
|00002d30| 0a 09 09 20 20 20 20 66 | 64 61 74 65 20 3d 20 54 |... f|date = T|
|00002d40| 52 55 45 3b 0a 09 09 20 | 20 20 20 62 72 65 61 6b |RUE;... | break|
|00002d50| 3b 0a 0a 09 09 20 63 61 | 73 65 20 31 30 3a 09 20 |;.... ca|se 10:. |
|00002d60| 20 20 2f 2a 20 41 6e 69 | 6d 61 74 65 20 2a 2f 0a | /* Ani|mate */.|
|00002d70| 09 09 20 20 20 20 61 6e | 69 6d 61 74 65 20 3d 20 |.. an|imate = |
|00002d80| 66 64 61 74 65 20 3d 20 | 54 52 55 45 3b 0a 09 09 |fdate = |TRUE;...|
|00002d90| 20 20 20 20 56 20 6e 6f | 74 69 66 79 5f 73 65 74 | V no|tify_set|
|00002da0| 5f 69 74 69 6d 65 72 5f | 66 75 6e 63 28 62 66 2c |_itimer_|func(bf,|
|00002db0| 20 74 69 6d 65 72 5f 70 | 72 6f 63 2c 20 49 54 49 | timer_p|roc, ITI|
|00002dc0| 4d 45 52 5f 52 45 41 4c | 2c 0a 09 09 09 20 20 26 |MER_REAL|,.... &|
|00002dd0| 71 75 69 63 6b 5f 74 69 | 6d 65 72 2c 20 28 73 74 |quick_ti|mer, (st|
|00002de0| 72 75 63 74 20 69 74 69 | 6d 65 72 76 61 6c 20 2a |ruct iti|merval *|
|00002df0| 29 20 4e 55 4c 4c 29 3b | 0a 09 09 20 20 20 20 62 |) NULL);|... b|
|00002e00| 72 65 61 6b 3b 0a 0a 09 | 09 20 63 61 73 65 20 31 |reak;...|. case 1|
|00002e10| 31 3a 09 20 20 20 2f 2a | 20 52 65 61 6c 20 74 69 |1:. /*| Real ti|
|00002e20| 6d 65 20 2a 2f 0a 09 09 | 20 20 20 20 61 6e 69 6d |me */...| anim|
|00002e30| 61 74 65 20 3d 20 66 64 | 61 74 65 20 3d 20 46 41 |ate = fd|ate = FA|
|00002e40| 4c 53 45 3b 0a 09 09 20 | 20 20 20 56 20 6e 6f 74 |LSE;... | V not|
|00002e50| 69 66 79 5f 73 65 74 5f | 69 74 69 6d 65 72 5f 66 |ify_set_|itimer_f|
|00002e60| 75 6e 63 28 62 66 2c 20 | 74 69 6d 65 72 5f 70 72 |unc(bf, |timer_pr|
|00002e70| 6f 63 2c 20 49 54 49 4d | 45 52 5f 52 45 41 4c 2c |oc, ITIM|ER_REAL,|
|00002e80| 0a 09 09 09 20 20 26 6e | 6f 74 69 66 5f 74 69 6d |.... &n|otif_tim|
|00002e90| 65 72 2c 20 28 73 74 72 | 75 63 74 20 69 74 69 6d |er, (str|uct itim|
|00002ea0| 65 72 76 61 6c 20 2a 29 | 20 4e 55 4c 4c 29 3b 0a |erval *)| NULL);.|
|00002eb0| 09 09 20 20 20 20 75 70 | 64 69 6d 61 67 65 28 46 |.. up|dimage(F|
|00002ec0| 41 4c 53 45 29 3b 0a 09 | 09 20 20 20 20 62 72 65 |ALSE);..|. bre|
|00002ed0| 61 6b 3b 0a 0a 09 09 20 | 63 61 73 65 20 31 33 3a |ak;.... |case 13:|
|00002ee0| 09 20 20 20 2f 2a 20 51 | 75 69 74 20 2a 2f 0a 09 |. /* Q|uit */..|
|00002ef0| 09 20 20 20 20 56 20 77 | 69 6e 64 6f 77 5f 64 6f |. V w|indow_do|
|00002f00| 6e 65 28 77 69 6e 64 6f | 77 29 3b 0a 09 09 20 20 |ne(windo|w);... |
|00002f10| 20 20 62 72 65 61 6b 3b | 0a 09 20 20 20 20 20 20 | break;|.. |
|00002f20| 7d 0a 09 7d 0a 7d 0a 0a | 2f 2a 20 20 4d 41 49 4e |}..}.}..|/* MAIN|
|00002f30| 20 20 2d 2d 20 20 4d 61 | 69 6e 20 70 72 6f 67 72 | -- Ma|in progr|
|00002f40| 61 6d 20 20 2a 2f 0a 0a | 76 6f 69 64 20 6d 61 69 |am */..|void mai|
|00002f50| 6e 28 61 72 67 63 2c 20 | 61 72 67 76 29 0a 69 6e |n(argc, |argv).in|
|00002f60| 74 20 61 72 67 63 3b 0a | 63 68 61 72 20 2a 61 72 |t argc;.|char *ar|
|00002f70| 67 76 5b 5d 3b 0a 7b 0a | 09 69 6e 74 20 69 3b 0a |gv[];.{.|.int i;.|
|00002f80| 09 63 68 61 72 20 2a 6f | 70 2c 20 6f 70 74 3b 0a |.char *o|p, opt;.|
|00002f90| 09 49 63 6f 6e 20 69 63 | 6f 6e 3b 0a 09 43 61 6e |.Icon ic|on;..Can|
|00002fa0| 76 61 73 20 63 61 6e 76 | 61 73 3b 0a 0a 20 20 20 |vas canv|as;.. |
|00002fb0| 20 20 20 20 20 69 66 20 | 28 67 65 74 65 6e 76 28 | if |(getenv(|
|00002fc0| 22 57 49 4e 44 4f 57 5f | 50 41 52 45 4e 54 22 29 |"WINDOW_|PARENT")|
|00002fd0| 20 3d 3d 20 4e 55 4c 4c | 29 20 7b 0a 20 20 20 20 | == NULL|) {. |
|00002fe0| 20 20 20 20 20 20 20 56 | 20 66 70 72 69 6e 74 66 | V| fprintf|
|00002ff0| 28 73 74 64 65 72 72 2c | 20 22 25 73 20 6d 75 73 |(stderr,| "%s mus|
|00003000| 74 20 62 65 20 72 75 6e | 20 66 72 6f 6d 20 77 69 |t be run| from wi|
|00003010| 74 68 69 6e 20 53 75 6e | 74 6f 6f 6c 73 5c 6e 22 |thin Sun|tools\n"|
|00003020| 2c 20 61 72 67 76 5b 30 | 5d 29 3b 0a 09 20 20 20 |, argv[0|]);.. |
|00003030| 65 78 69 74 28 31 29 3b | 0a 09 7d 0a 0a 09 2f 2a |exit(1);|..}.../*|
|00003040| 20 20 50 72 6f 63 65 73 | 73 20 63 6f 6d 6d 61 6e | Proces|s comman|
|00003050| 64 20 6c 69 6e 65 20 6f | 70 74 69 6f 6e 73 2e 20 |d line o|ptions. |
|00003060| 20 2a 2f 0a 0a 09 66 6f | 72 20 28 69 20 3d 20 31 | */...fo|r (i = 1|
|00003070| 3b 20 69 20 3c 20 61 72 | 67 63 3b 20 69 2b 2b 29 |; i < ar|gc; i++)|
|00003080| 20 7b 0a 09 20 20 20 6f | 70 20 3d 20 61 72 67 76 | {.. o|p = argv|
|00003090| 5b 69 5d 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |[i];. | |
|000030a0| 69 66 20 28 2a 6f 70 20 | 3d 3d 20 27 2d 27 29 20 |if (*op |== '-') |
|000030b0| 7b 0a 09 20 20 20 20 20 | 20 6f 70 74 20 3d 20 2a |{.. | opt = *|
|000030c0| 28 2b 2b 6f 70 29 3b 0a | 09 20 20 20 20 20 20 69 |(++op);.|. i|
|000030d0| 66 20 28 69 73 6c 6f 77 | 65 72 28 6f 70 74 29 29 |f (islow|er(opt))|
|000030e0| 0a 09 09 20 6f 70 74 20 | 3d 20 74 6f 75 70 70 65 |... opt |= touppe|
|000030f0| 72 28 6f 70 74 29 3b 0a | 09 20 20 20 20 20 20 73 |r(opt);.|. s|
|00003100| 77 69 74 63 68 20 28 6f | 70 74 29 20 7b 0a 20 20 |witch (o|pt) {. |
|00003110| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 63 | | c|
|00003120| 61 73 65 20 27 55 27 3a | 0a 20 20 20 20 20 20 20 |ase 'U':|. |
|00003130| 20 20 20 20 20 20 20 20 | 20 20 63 61 73 65 20 27 | | case '|
|00003140| 3f 27 3a 0a 09 09 20 20 | 20 20 75 73 61 67 65 28 |?':... | usage(|
|00003150| 29 3b 0a 09 09 20 20 20 | 20 65 78 69 74 28 30 29 |);... | exit(0)|
|00003160| 3b 0a 09 20 20 20 20 20 | 20 7d 0a 09 20 20 20 7d |;.. | }.. }|
|00003170| 0a 09 7d 0a 0a 09 69 63 | 6f 6e 20 3d 20 69 63 6f |..}...ic|on = ico|
|00003180| 6e 5f 63 72 65 61 74 65 | 28 49 43 4f 4e 5f 57 49 |n_create|(ICON_WI|
|00003190| 44 54 48 2c 20 49 58 44 | 4f 54 53 2c 0a 20 20 20 |DTH, IXD|OTS,. |
|000031a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 49 | | I|
|000031b0| 43 4f 4e 5f 48 45 49 47 | 48 54 2c 20 49 59 44 4f |CON_HEIG|HT, IYDO|
|000031c0| 54 53 2c 20 49 43 4f 4e | 5f 4c 41 42 45 4c 2c 20 |TS, ICON|_LABEL, |
|000031d0| 22 22 2c 20 30 29 3b 0a | 09 62 66 20 3d 20 77 69 |"", 0);.|.bf = wi|
|000031e0| 6e 64 6f 77 5f 63 72 65 | 61 74 65 28 28 57 69 6e |ndow_cre|ate((Win|
|000031f0| 64 6f 77 29 20 4e 55 4c | 4c 2c 20 46 52 41 4d 45 |dow) NUL|L, FRAME|
|00003200| 2c 0a 09 09 09 20 20 20 | 20 20 20 46 52 41 4d 45 |,.... | FRAME|
|00003210| 5f 4c 41 42 45 4c 2c 0a | 20 20 20 20 20 20 20 20 |_LABEL,.| |
|00003220| 20 20 20 22 53 75 6e 20 | 43 6c 6f 63 6b 20 20 20 | "Sun |Clock |
|00003230| 20 20 20 20 20 20 20 62 | 79 20 4a 6f 68 6e 20 57 | b|y John W|
|00003240| 61 6c 6b 65 72 2c 20 41 | 75 74 6f 64 65 73 6b 2c |alker, A|utodesk,|
|00003250| 20 49 6e 63 2e 20 20 20 | 20 20 20 20 76 31 2e 30 | Inc. | v1.0|
|00003260| 22 2c 0a 09 09 09 20 20 | 20 20 20 20 46 52 41 4d |",.... | FRAM|
|00003270| 45 5f 4e 4f 5f 43 4f 4e | 46 49 52 4d 2c 20 54 52 |E_NO_CON|FIRM, TR|
|00003280| 55 45 2c 0a 09 09 09 20 | 20 20 20 20 20 46 52 41 |UE,.... | FRA|
|00003290| 4d 45 5f 41 52 47 43 5f | 50 54 52 5f 41 52 47 56 |ME_ARGC_|PTR_ARGV|
|000032a0| 2c 20 26 61 72 67 63 2c | 20 61 72 67 76 2c 0a 09 |, &argc,| argv,..|
|000032b0| 09 09 20 20 20 20 20 20 | 46 52 41 4d 45 5f 49 43 |.. |FRAME_IC|
|000032c0| 4f 4e 2c 20 69 63 6f 6e | 2c 0a 09 09 09 20 20 20 |ON, icon|,.... |
|000032d0| 20 20 20 46 52 41 4d 45 | 5f 43 4c 4f 53 45 44 2c | FRAME|_CLOSED,|
|000032e0| 20 54 52 55 45 2c 0a 09 | 09 09 20 20 20 20 20 20 | TRUE,..|.. |
|000032f0| 57 49 4e 5f 45 56 45 4e | 54 5f 50 52 4f 43 2c 20 |WIN_EVEN|T_PROC, |
|00003300| 66 72 61 6d 65 5f 65 76 | 65 6e 74 5f 70 72 6f 63 |frame_ev|ent_proc|
|00003310| 2c 0a 09 09 09 20 20 20 | 30 29 3b 0a 09 63 61 6e |,.... |0);..can|
|00003320| 76 61 73 20 3d 20 77 69 | 6e 64 6f 77 5f 63 72 65 |vas = wi|ndow_cre|
|00003330| 61 74 65 28 62 66 2c 20 | 43 41 4e 56 41 53 2c 0a |ate(bf, |CANVAS,.|
|00003340| 09 09 09 09 20 20 20 57 | 49 4e 5f 45 56 45 4e 54 |.... W|IN_EVENT|
|00003350| 5f 50 52 4f 43 2c 20 63 | 65 76 65 6e 74 2c 0a 09 |_PROC, c|event,..|
|00003360| 09 09 20 20 20 20 20 20 | 20 30 29 3b 0a 0a 09 56 |.. | 0);...V|
|00003370| 20 77 69 6e 64 6f 77 5f | 73 65 74 28 62 66 2c 0a | window_|set(bf,.|
|00003380| 09 20 20 20 57 49 4e 5f | 43 4f 4e 53 55 4d 45 5f |. WIN_|CONSUME_|
|00003390| 50 49 43 4b 5f 45 56 45 | 4e 54 53 2c 0a 09 20 20 |PICK_EVE|NTS,.. |
|000033a0| 20 20 20 20 57 49 4e 5f | 4e 4f 5f 45 56 45 4e 54 | WIN_|NO_EVENT|
|000033b0| 53 2c 20 57 49 4e 5f 4d | 4f 55 53 45 5f 42 55 54 |S, WIN_M|OUSE_BUT|
|000033c0| 54 4f 4e 53 2c 20 4c 4f | 43 5f 44 52 41 47 2c 20 |TONS, LO|C_DRAG, |
|000033d0| 30 2c 0a 09 20 20 20 57 | 49 4e 5f 43 4f 4e 53 55 |0,.. W|IN_CONSU|
|000033e0| 4d 45 5f 4b 42 44 5f 45 | 56 45 4e 54 2c 20 57 49 |ME_KBD_E|VENT, WI|
|000033f0| 4e 5f 4c 45 46 54 5f 4b | 45 59 53 2c 0a 09 20 20 |N_LEFT_K|EYS,.. |
|00003400| 20 30 29 3b 0a 0a 09 56 | 20 77 69 6e 64 6f 77 5f | 0);...V| window_|
|00003410| 73 65 74 28 63 61 6e 76 | 61 73 2c 0a 09 20 20 20 |set(canv|as,.. |
|00003420| 43 41 4e 56 41 53 5f 41 | 55 54 4f 5f 45 58 50 41 |CANVAS_A|UTO_EXPA|
|00003430| 4e 44 2c 20 46 41 4c 53 | 45 2c 0a 09 20 20 20 43 |ND, FALS|E,.. C|
|00003440| 41 4e 56 41 53 5f 41 55 | 54 4f 5f 53 48 52 49 4e |ANVAS_AU|TO_SHRIN|
|00003450| 4b 2c 20 46 41 4c 53 45 | 2c 0a 09 20 20 20 43 41 |K, FALSE|,.. CA|
|00003460| 4e 56 41 53 5f 48 45 49 | 47 48 54 2c 20 4f 59 44 |NVAS_HEI|GHT, OYD|
|00003470| 4f 54 53 2c 0a 09 20 20 | 20 43 41 4e 56 41 53 5f |OTS,.. | CANVAS_|
|00003480| 57 49 44 54 48 2c 20 4f | 58 44 4f 54 53 2c 0a 09 |WIDTH, O|XDOTS,..|
|00003490| 20 20 20 57 49 4e 5f 48 | 45 49 47 48 54 2c 20 4f | WIN_H|EIGHT, O|
|000034a0| 59 44 4f 54 53 2c 0a 09 | 20 20 20 57 49 4e 5f 57 |YDOTS,..| WIN_W|
|000034b0| 49 44 54 48 2c 20 4f 58 | 44 4f 54 53 2c 0a 09 20 |IDTH, OX|DOTS,.. |
|000034c0| 20 20 30 29 3b 0a 0a 09 | 77 69 6e 64 6f 77 5f 66 | 0);...|window_f|
|000034d0| 69 74 28 63 61 6e 76 61 | 73 29 3b 0a 0a 09 77 69 |it(canva|s);...wi|
|000034e0| 6e 64 6f 77 5f 66 69 74 | 28 62 66 29 3b 0a 09 66 |ndow_fit|(bf);..f|
|000034f0| 70 77 20 3d 20 28 50 69 | 78 77 69 6e 20 2a 29 20 |pw = (Pi|xwin *) |
|00003500| 77 69 6e 64 6f 77 5f 67 | 65 74 28 62 66 2c 20 57 |window_g|et(bf, W|
|00003510| 49 4e 5f 50 49 58 57 49 | 4e 29 3b 0a 09 63 70 77 |IN_PIXWI|N);..cpw|
|00003520| 20 3d 20 63 61 6e 76 61 | 73 5f 70 69 78 77 69 6e | = canva|s_pixwin|
|00003530| 28 63 61 6e 76 61 73 29 | 3b 0a 0a 20 20 20 20 20 |(canvas)|;.. |
|00003540| 20 20 20 74 69 6e 79 66 | 6f 6e 74 20 3d 20 70 66 | tinyf|ont = pf|
|00003550| 5f 6f 70 65 6e 28 22 2f | 75 73 72 2f 6c 69 62 2f |_open("/|usr/lib/|
|00003560| 66 6f 6e 74 73 2f 66 69 | 78 65 64 77 69 64 74 68 |fonts/fi|xedwidth|
|00003570| 66 6f 6e 74 73 2f 73 63 | 72 65 65 6e 2e 72 2e 37 |fonts/sc|reen.r.7|
|00003580| 22 29 3b 0a 20 20 20 20 | 20 20 20 20 72 65 67 66 |");. | regf|
|00003590| 6f 6e 74 20 3d 20 70 66 | 5f 6f 70 65 6e 28 22 2f |ont = pf|_open("/|
|000035a0| 75 73 72 2f 6c 69 62 2f | 66 6f 6e 74 73 2f 66 69 |usr/lib/|fonts/fi|
|000035b0| 78 65 64 77 69 64 74 68 | 66 6f 6e 74 73 2f 73 63 |xedwidth|fonts/sc|
|000035c0| 72 65 65 6e 2e 62 2e 31 | 34 22 29 3b 0a 0a 09 61 |reen.b.1|4");...a|
|000035d0| 63 74 6d 65 6e 75 20 3d | 20 6d 65 6e 75 5f 63 72 |ctmenu =| menu_cr|
|000035e0| 65 61 74 65 28 4d 45 4e | 55 5f 53 54 52 49 4e 47 |eate(MEN|U_STRING|
|000035f0| 53 2c 0a 20 20 20 20 20 | 20 20 20 20 20 20 22 46 |S,. | "F|
|00003600| 6f 72 77 61 72 64 22 2c | 0a 20 20 20 20 20 20 20 |orward",|. |
|00003610| 20 20 20 20 22 42 61 63 | 6b 77 61 72 64 22 2c 0a | "Bac|kward",.|
|00003620| 20 20 20 20 20 20 20 20 | 20 20 20 22 22 2c 0a 20 | | "",. |
|00003630| 20 20 20 20 20 20 20 20 | 20 20 22 48 6f 75 72 22 | | "Hour"|
|00003640| 2c 0a 20 20 20 20 20 20 | 20 20 20 20 20 22 44 61 |,. | "Da|
|00003650| 79 22 2c 0a 20 20 20 20 | 20 20 20 20 20 20 20 22 |y",. | "|
|00003660| 57 65 65 6b 22 2c 0a 20 | 20 20 20 20 20 20 20 20 |Week",. | |
|00003670| 20 20 22 4d 6f 6e 74 68 | 22 2c 0a 20 20 20 20 20 | "Month|",. |
|00003680| 20 20 20 20 20 20 22 59 | 65 61 72 22 2c 0a 20 20 | "Y|ear",. |
|00003690| 20 20 20 20 20 20 20 20 | 20 22 22 2c 0a 20 20 20 | | "",. |
|000036a0| 20 20 20 20 20 20 20 20 | 22 41 6e 69 6d 61 74 65 | |"Animate|
|000036b0| 22 2c 0a 20 20 20 20 20 | 20 20 20 20 20 20 22 52 |",. | "R|
|000036c0| 65 61 6c 20 74 69 6d 65 | 22 2c 0a 20 20 20 20 20 |eal time|",. |
|000036d0| 20 20 20 20 20 20 22 22 | 2c 0a 20 20 20 20 20 20 | ""|,. |
|000036e0| 20 20 20 20 20 22 51 75 | 69 74 22 2c 0a 09 20 20 | "Qu|it",.. |
|000036f0| 20 30 2c 20 30 29 3b 0a | 0a 09 6d 64 69 73 28 33 | 0, 0);.|..mdis(3|
|00003700| 2c 20 54 52 55 45 29 3b | 09 09 20 20 20 2f 2a 20 |, TRUE);|.. /* |
|00003710| 44 69 73 61 62 6c 65 20 | 62 6c 61 6e 6b 20 73 6c |Disable |blank sl|
|00003720| 6f 74 73 20 69 6e 20 6d | 65 6e 75 20 2a 2f 0a 09 |ots in m|enu */..|
|00003730| 6d 64 69 73 28 39 2c 20 | 54 52 55 45 29 3b 0a 09 |mdis(9, |TRUE);..|
|00003740| 6d 64 69 73 28 31 32 2c | 20 54 52 55 45 29 3b 0a |mdis(12,| TRUE);.|
|00003750| 0a 09 78 64 6f 74 73 20 | 3d 20 4f 58 44 4f 54 53 |..xdots |= OXDOTS|
|00003760| 3b 0a 09 79 64 6f 74 73 | 20 3d 20 4f 59 44 4f 54 |;..ydots| = OYDOT|
|00003770| 53 3b 0a 0a 09 77 74 61 | 62 20 3d 20 28 73 68 6f |S;...wta|b = (sho|
|00003780| 72 74 20 2a 29 20 6d 61 | 6c 6c 6f 63 28 28 75 6e |rt *) ma|lloc((un|
|00003790| 73 69 67 6e 65 64 20 69 | 6e 74 29 20 79 64 6f 74 |signed i|nt) ydot|
|000037a0| 73 20 2a 20 73 69 7a 65 | 6f 66 28 73 68 6f 72 74 |s * size|of(short|
|000037b0| 29 29 3b 0a 09 77 74 61 | 62 31 20 3d 20 28 73 68 |));..wta|b1 = (sh|
|000037c0| 6f 72 74 20 2a 29 20 6d | 61 6c 6c 6f 63 28 28 75 |ort *) m|alloc((u|
|000037d0| 6e 73 69 67 6e 65 64 20 | 69 6e 74 29 20 79 64 6f |nsigned |int) ydo|
|000037e0| 74 73 20 2a 20 73 69 7a | 65 6f 66 28 73 68 6f 72 |ts * siz|eof(shor|
|000037f0| 74 29 29 3b 0a 0a 0a 09 | 66 74 69 6d 65 28 26 74 |t));....|ftime(&t|
|00003800| 62 74 70 29 3b 0a 0a 09 | 56 20 6e 6f 74 69 66 79 |btp);...|V notify|
|00003810| 5f 73 65 74 5f 69 74 69 | 6d 65 72 5f 66 75 6e 63 |_set_iti|mer_func|
|00003820| 28 62 66 2c 20 74 69 6d | 65 72 5f 70 72 6f 63 2c |(bf, tim|er_proc,|
|00003830| 20 49 54 49 4d 45 52 5f | 52 45 41 4c 2c 0a 09 20 | ITIMER_|REAL,.. |
|00003840| 20 20 20 20 20 26 6e 6f | 74 69 66 5f 74 69 6d 65 | &no|tif_time|
|00003850| 72 2c 20 28 73 74 72 75 | 63 74 20 69 74 69 6d 65 |r, (stru|ct itime|
|00003860| 72 76 61 6c 20 2a 29 20 | 4e 55 4c 4c 29 3b 0a 09 |rval *) |NULL);..|
|00003870| 77 69 6e 64 6f 77 5f 6d | 61 69 6e 5f 6c 6f 6f 70 |window_m|ain_loop|
|00003880| 28 62 66 29 3b 0a 0a 09 | 65 78 69 74 28 30 29 3b |(bf);...|exit(0);|
|00003890| 0a 7d 0a 0a 2f 2a 20 20 | 4a 44 41 54 45 20 20 2d |.}../* |JDATE -|
|000038a0| 2d 20 20 43 6f 6e 76 65 | 72 74 20 69 6e 74 65 72 |- Conve|rt inter|
|000038b0| 6e 61 6c 20 47 4d 54 20 | 64 61 74 65 20 61 6e 64 |nal GMT |date and|
|000038c0| 20 74 69 6d 65 20 74 6f | 20 4a 75 6c 69 61 6e 20 | time to| Julian |
|000038d0| 64 61 79 0a 09 20 20 20 | 20 20 20 20 61 6e 64 20 |day.. | and |
|000038e0| 66 72 61 63 74 69 6f 6e | 2e 20 20 2a 2f 0a 0a 73 |fraction|. */..s|
|000038f0| 74 61 74 69 63 20 6c 6f | 6e 67 20 6a 64 61 74 65 |tatic lo|ng jdate|
|00003900| 28 74 29 0a 73 74 72 75 | 63 74 20 74 6d 20 2a 74 |(t).stru|ct tm *t|
|00003910| 3b 0a 7b 0a 09 6c 6f 6e | 67 20 63 2c 20 6d 2c 20 |;.{..lon|g c, m, |
|00003920| 79 3b 0a 0a 09 79 20 3d | 20 74 2d 3e 74 6d 5f 79 |y;...y =| t->tm_y|
|00003930| 65 61 72 20 2b 20 31 39 | 30 30 3b 0a 09 6d 20 3d |ear + 19|00;..m =|
|00003940| 20 74 2d 3e 74 6d 5f 6d | 6f 6e 20 2b 20 31 3b 0a | t->tm_m|on + 1;.|
|00003950| 09 69 66 20 28 6d 20 3e | 20 32 29 0a 09 20 20 20 |.if (m >| 2).. |
|00003960| 6d 20 3d 20 6d 20 2d 20 | 33 3b 0a 09 65 6c 73 65 |m = m - |3;..else|
|00003970| 20 7b 0a 09 20 20 20 6d | 20 3d 20 6d 20 2b 20 39 | {.. m| = m + 9|
|00003980| 3b 0a 09 20 20 20 79 2d | 2d 3b 0a 09 7d 0a 09 63 |;.. y-|-;..}..c|
|00003990| 20 3d 20 79 20 2f 20 31 | 30 30 4c 3b 09 09 20 20 | = y / 1|00L;.. |
|000039a0| 20 2f 2a 20 43 6f 6d 70 | 75 74 65 20 63 65 6e 74 | /* Comp|ute cent|
|000039b0| 75 72 79 20 2a 2f 0a 09 | 79 20 2d 3d 20 31 30 30 |ury */..|y -= 100|
|000039c0| 4c 20 2a 20 63 3b 0a 09 | 72 65 74 75 72 6e 20 74 |L * c;..|return t|
|000039d0| 2d 3e 74 6d 5f 6d 64 61 | 79 20 2b 20 28 63 20 2a |->tm_mda|y + (c *|
|000039e0| 20 31 34 36 30 39 37 4c | 29 20 2f 20 34 20 2b 20 | 146097L|) / 4 + |
|000039f0| 28 79 20 2a 20 31 34 36 | 31 4c 29 20 2f 20 34 20 |(y * 146|1L) / 4 |
|00003a00| 2b 0a 09 20 20 20 20 28 | 6d 20 2a 20 31 35 33 4c |+.. (|m * 153L|
|00003a10| 20 2b 20 32 29 20 2f 20 | 35 20 2b 20 31 37 32 31 | + 2) / |5 + 1721|
|00003a20| 31 31 39 4c 3b 0a 7d 0a | 0a 2f 2a 20 4a 54 49 4d |119L;.}.|./* JTIM|
|00003a30| 45 20 2d 2d 20 20 20 20 | 43 6f 6e 76 65 72 74 20 |E -- |Convert |
|00003a40| 69 6e 74 65 72 6e 61 6c | 20 47 4d 54 20 20 64 61 |internal| GMT da|
|00003a50| 74 65 20 20 61 6e 64 09 | 74 69 6d 65 20 20 74 6f |te and.|time to|
|00003a60| 20 20 61 73 74 72 6f 6e | 6f 6d 69 63 61 6c 0a 09 | astron|omical..|
|00003a70| 20 20 20 20 20 20 20 4a | 75 6c 69 61 6e 20 20 74 | J|ulian t|
|00003a80| 69 6d 65 20 20 28 69 2e | 65 2e 20 20 20 4a 75 6c |ime (i.|e. Jul|
|00003a90| 69 61 6e 20 20 64 61 74 | 65 20 20 70 6c 75 73 20 |ian dat|e plus |
|00003aa0| 20 64 61 79 20 66 72 61 | 63 74 69 6f 6e 2c 0a 09 | day fra|ction,..|
|00003ab0| 20 20 20 20 20 20 20 65 | 78 70 72 65 73 73 65 64 | e|xpressed|
|00003ac0| 20 61 73 20 61 20 64 6f | 75 62 6c 65 29 2e 09 2a | as a do|uble)..*|
|00003ad0| 2f 0a 0a 73 74 61 74 69 | 63 20 64 6f 75 62 6c 65 |/..stati|c double|
|00003ae0| 20 6a 74 69 6d 65 28 74 | 29 0a 73 74 72 75 63 74 | jtime(t|).struct|
|00003af0| 20 74 6d 20 2a 74 3b 0a | 7b 0a 09 72 65 74 75 72 | tm *t;.|{..retur|
|00003b00| 6e 20 28 6a 64 61 74 65 | 28 74 29 20 2d 20 30 2e |n (jdate|(t) - 0.|
|00003b10| 35 29 20 2b 20 0a 09 20 | 20 20 28 28 28 6c 6f 6e |5) + .. | (((lon|
|00003b20| 67 29 20 74 2d 3e 74 6d | 5f 73 65 63 29 20 2b 0a |g) t->tm|_sec) +.|
|00003b30| 09 20 20 20 20 20 36 30 | 4c 20 2a 20 28 74 2d 3e |. 60|L * (t->|
|00003b40| 74 6d 5f 6d 69 6e 20 2b | 20 36 30 4c 20 2a 20 74 |tm_min +| 60L * t|
|00003b50| 2d 3e 74 6d 5f 68 6f 75 | 72 29 29 20 2f 20 38 36 |->tm_hou|r)) / 86|
|00003b60| 34 30 30 2e 30 3b 0a 7d | 0a 0a 2f 2a 20 20 4b 45 |400.0;.}|../* KE|
|00003b70| 50 4c 45 52 20 20 2d 2d | 09 53 6f 6c 76 65 20 74 |PLER --|.Solve t|
|00003b80| 68 65 20 65 71 75 61 74 | 69 6f 6e 20 6f 66 20 4b |he equat|ion of K|
|00003b90| 65 70 6c 65 72 2e 20 20 | 2a 2f 0a 0a 73 74 61 74 |epler. |*/..stat|
|00003ba0| 69 63 20 64 6f 75 62 6c | 65 20 6b 65 70 6c 65 72 |ic doubl|e kepler|
|00003bb0| 28 6d 2c 20 65 63 63 29 | 0a 64 6f 75 62 6c 65 20 |(m, ecc)|.double |
|00003bc0| 6d 2c 20 65 63 63 3b 0a | 7b 0a 09 64 6f 75 62 6c |m, ecc;.|{..doubl|
|00003bd0| 65 20 65 2c 20 64 65 6c | 74 61 3b 0a 23 64 65 66 |e e, del|ta;.#def|
|00003be0| 69 6e 65 20 45 50 53 49 | 4c 4f 4e 20 31 45 2d 36 |ine EPSI|LON 1E-6|
|00003bf0| 0a 0a 09 65 20 3d 20 6d | 20 3d 20 64 74 72 28 6d |...e = m| = dtr(m|
|00003c00| 29 3b 0a 09 64 6f 20 7b | 0a 09 20 20 20 64 65 6c |);..do {|.. del|
|00003c10| 74 61 20 3d 20 65 20 2d | 20 65 63 63 20 2a 20 73 |ta = e -| ecc * s|
|00003c20| 69 6e 28 65 29 20 2d 20 | 6d 3b 0a 09 20 20 20 65 |in(e) - |m;.. e|
|00003c30| 20 2d 3d 20 64 65 6c 74 | 61 20 2f 20 28 31 20 2d | -= delt|a / (1 -|
|00003c40| 20 65 63 63 20 2a 20 63 | 6f 73 28 65 29 29 3b 0a | ecc * c|os(e));.|
|00003c50| 09 7d 20 77 68 69 6c 65 | 20 28 61 62 73 28 64 65 |.} while| (abs(de|
|00003c60| 6c 74 61 29 20 3e 20 45 | 50 53 49 4c 4f 4e 29 3b |lta) > E|PSILON);|
|00003c70| 0a 09 72 65 74 75 72 6e | 20 65 3b 0a 7d 0a 0a 2f |..return| e;.}../|
|00003c80| 2a 20 20 53 55 4e 50 4f | 53 20 20 2d 2d 09 43 61 |* SUNPO|S --.Ca|
|00003c90| 6c 63 75 6c 61 74 65 20 | 70 6f 73 69 74 69 6f 6e |lculate |position|
|00003ca0| 20 6f 66 20 74 68 65 20 | 53 75 6e 2e 09 4a 44 20 | of the |Sun..JD |
|00003cb0| 69 73 20 74 68 65 20 4a | 75 6c 69 61 6e 20 20 64 |is the J|ulian d|
|00003cc0| 61 74 65 0a 09 09 6f 66 | 20 20 74 68 65 20 20 69 |ate...of| the i|
|00003cd0| 6e 73 74 61 6e 74 20 66 | 6f 72 20 77 68 69 63 68 |nstant f|or which|
|00003ce0| 20 74 68 65 20 70 6f 73 | 69 74 69 6f 6e 20 69 73 | the pos|ition is|
|00003cf0| 20 64 65 73 69 72 65 64 | 20 61 6e 64 0a 09 09 41 | desired| and...A|
|00003d00| 50 50 41 52 45 4e 54 20 | 73 68 6f 75 6c 64 20 62 |PPARENT |should b|
|00003d10| 65 20 6e 6f 6e 7a 65 72 | 6f 20 69 66 20 20 74 68 |e nonzer|o if th|
|00003d20| 65 20 20 61 70 70 61 72 | 65 6e 74 20 20 70 6f 73 |e appar|ent pos|
|00003d30| 69 74 69 6f 6e 0a 09 09 | 28 63 6f 72 72 65 63 74 |ition...|(correct|
|00003d40| 65 64 20 20 66 6f 72 20 | 20 6e 75 74 61 74 69 6f |ed for | nutatio|
|00003d50| 6e 20 20 61 6e 64 20 61 | 62 65 72 72 61 74 69 6f |n and a|berratio|
|00003d60| 6e 29 20 69 73 20 64 65 | 73 69 72 65 64 2e 0a 20 |n) is de|sired.. |
|00003d70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 54 | | T|
|00003d80| 68 65 20 53 75 6e 27 73 | 20 63 6f 2d 6f 72 64 69 |he Sun's| co-ordi|
|00003d90| 6e 61 74 65 73 20 61 72 | 65 20 72 65 74 75 72 6e |nates ar|e return|
|00003da0| 65 64 20 20 69 6e 20 20 | 52 41 20 20 61 6e 64 20 |ed in |RA and |
|00003db0| 20 44 45 43 2c 0a 09 09 | 62 6f 74 68 20 20 73 70 | DEC,...|both sp|
|00003dc0| 65 63 69 66 69 65 64 20 | 20 69 6e 20 64 65 67 72 |ecified | in degr|
|00003dd0| 65 65 73 20 28 64 69 76 | 69 64 65 20 52 41 20 62 |ees (div|ide RA b|
|00003de0| 79 20 31 35 20 74 6f 20 | 6f 62 74 61 69 6e 0a 09 |y 15 to |obtain..|
|00003df0| 09 68 6f 75 72 73 29 2e | 20 20 54 68 65 20 72 61 |.hours).| The ra|
|00003e00| 64 69 75 73 20 76 65 63 | 74 6f 72 20 74 6f 20 74 |dius vec|tor to t|
|00003e10| 68 65 20 53 75 6e 20 69 | 6e 20 20 61 73 74 72 6f |he Sun i|n astro|
|00003e20| 6e 6f 6d 69 63 61 6c 0a | 20 20 20 20 20 20 20 20 |nomical.| |
|00003e30| 20 20 20 20 20 20 20 20 | 75 6e 69 74 73 20 20 69 | |units i|
|00003e40| 73 20 72 65 74 75 72 6e | 65 64 20 69 6e 20 52 56 |s return|ed in RV|
|00003e50| 20 61 6e 64 20 74 68 65 | 20 53 75 6e 27 73 20 6c | and the| Sun's l|
|00003e60| 6f 6e 67 69 74 75 64 65 | 20 28 74 72 75 65 0a 09 |ongitude| (true..|
|00003e70| 09 6f 72 20 61 70 70 61 | 72 65 6e 74 2c 20 61 73 |.or appa|rent, as|
|00003e80| 20 64 65 73 69 72 65 64 | 29 20 69 73 20 20 72 65 | desired|) is re|
|00003e90| 74 75 72 6e 65 64 20 20 | 61 73 20 20 64 65 67 72 |turned |as degr|
|00003ea0| 65 65 73 20 20 69 6e 0a | 09 09 53 4c 4f 4e 47 2e |ees in.|..SLONG.|
|00003eb0| 09 2a 2f 0a 0a 73 74 61 | 74 69 63 20 76 6f 69 64 |.*/..sta|tic void|
|00003ec0| 20 73 75 6e 70 6f 73 28 | 6a 64 2c 20 61 70 70 61 | sunpos(|jd, appa|
|00003ed0| 72 65 6e 74 2c 20 72 61 | 2c 20 64 65 63 2c 20 72 |rent, ra|, dec, r|
|00003ee0| 76 2c 20 73 6c 6f 6e 67 | 29 0a 64 6f 75 62 6c 65 |v, slong|).double|
|00003ef0| 20 6a 64 3b 0a 69 6e 74 | 20 61 70 70 61 72 65 6e | jd;.int| apparen|
|00003f00| 74 3b 0a 64 6f 75 62 6c | 65 20 2a 72 61 2c 20 2a |t;.doubl|e *ra, *|
|00003f10| 64 65 63 2c 20 2a 72 76 | 2c 20 2a 73 6c 6f 6e 67 |dec, *rv|, *slong|
|00003f20| 3b 0a 7b 0a 09 64 6f 75 | 62 6c 65 20 74 2c 20 74 |;.{..dou|ble t, t|
|00003f30| 32 2c 20 74 33 2c 20 6c | 2c 20 6d 2c 20 65 2c 20 |2, t3, l|, m, e, |
|00003f40| 65 61 2c 20 76 2c 20 74 | 68 65 74 61 2c 20 6f 6d |ea, v, t|heta, om|
|00003f50| 65 67 61 2c 0a 09 20 20 | 20 20 20 20 20 65 70 73 |ega,.. | eps|
|00003f60| 3b 0a 0a 09 2f 2a 20 54 | 69 6d 65 2c 20 69 6e 20 |;.../* T|ime, in |
|00003f70| 4a 75 6c 69 61 6e 20 63 | 65 6e 74 75 72 69 65 73 |Julian c|enturies|
|00003f80| 20 6f 66 20 33 36 35 32 | 35 20 65 70 68 65 6d 65 | of 3652|5 epheme|
|00003f90| 72 69 73 20 64 61 79 73 | 2c 0a 09 20 20 20 6d 65 |ris days|,.. me|
|00003fa0| 61 73 75 72 65 64 20 66 | 72 6f 6d 20 74 68 65 20 |asured f|rom the |
|00003fb0| 65 70 6f 63 68 20 31 39 | 30 30 20 4a 61 6e 75 61 |epoch 19|00 Janua|
|00003fc0| 72 79 20 30 2e 35 20 45 | 54 2e 20 2a 2f 0a 0a 09 |ry 0.5 E|T. */...|
|00003fd0| 74 20 3d 20 28 6a 64 20 | 2d 20 32 34 31 35 30 32 |t = (jd |- 241502|
|00003fe0| 30 2e 30 29 20 2f 20 33 | 36 35 32 35 2e 30 3b 0a |0.0) / 3|6525.0;.|
|00003ff0| 09 74 32 20 3d 20 74 20 | 2a 20 74 3b 0a 09 74 33 |.t2 = t |* t;..t3|
|00004000| 20 3d 20 74 32 20 2a 20 | 74 3b 0a 0a 09 2f 2a 20 | = t2 * |t;.../* |
|00004010| 47 65 6f 6d 65 74 72 69 | 63 20 6d 65 61 6e 20 6c |Geometri|c mean l|
|00004020| 6f 6e 67 69 74 75 64 65 | 20 6f 66 20 74 68 65 20 |ongitude| of the |
|00004030| 53 75 6e 2c 20 72 65 66 | 65 72 72 65 64 20 74 6f |Sun, ref|erred to|
|00004040| 20 74 68 65 0a 09 20 20 | 20 6d 65 61 6e 20 65 71 | the.. | mean eq|
|00004050| 75 69 6e 6f 78 20 6f 66 | 20 74 68 65 20 64 61 74 |uinox of| the dat|
|00004060| 65 2e 20 2a 2f 0a 0a 09 | 6c 20 3d 20 66 69 78 61 |e. */...|l = fixa|
|00004070| 6e 67 6c 65 28 32 37 39 | 2e 36 39 36 36 38 20 2b |ngle(279|.69668 +|
|00004080| 20 33 36 30 30 30 2e 37 | 36 38 39 32 20 2a 20 74 | 36000.7|6892 * t|
|00004090| 20 2b 20 30 2e 30 30 30 | 33 30 32 35 20 2a 20 74 | + 0.000|3025 * t|
|000040a0| 32 29 3b 0a 0a 20 20 20 | 20 20 20 20 20 2f 2a 20 |2);.. | /* |
|000040b0| 53 75 6e 27 73 20 6d 65 | 61 6e 20 61 6e 6f 6d 61 |Sun's me|an anoma|
|000040c0| 6c 79 2e 20 2a 2f 0a 0a | 09 6d 20 3d 20 66 69 78 |ly. */..|.m = fix|
|000040d0| 61 6e 67 6c 65 28 33 35 | 38 2e 34 37 35 38 33 20 |angle(35|8.47583 |
|000040e0| 2b 20 33 35 39 39 39 2e | 30 34 39 37 35 2a 74 20 |+ 35999.|04975*t |
|000040f0| 2d 20 30 2e 30 30 30 31 | 35 30 2a 74 32 20 2d 20 |- 0.0001|50*t2 - |
|00004100| 30 2e 30 30 30 30 30 33 | 33 2a 74 33 29 3b 0a 0a |0.000003|3*t3);..|
|00004110| 20 20 20 20 20 20 20 20 | 2f 2a 20 45 63 63 65 6e | |/* Eccen|
|00004120| 74 72 69 63 69 74 79 20 | 6f 66 20 74 68 65 20 45 |tricity |of the E|
|00004130| 61 72 74 68 27 73 20 6f | 72 62 69 74 2e 20 2a 2f |arth's o|rbit. */|
|00004140| 0a 0a 09 65 20 3d 20 30 | 2e 30 31 36 37 35 31 30 |...e = 0|.0167510|
|00004150| 34 20 2d 20 30 2e 30 30 | 30 30 34 31 38 20 2a 20 |4 - 0.00|00418 * |
|00004160| 74 20 2d 20 30 2e 30 30 | 30 30 30 30 31 32 36 20 |t - 0.00|0000126 |
|00004170| 2a 20 74 32 3b 0a 0a 09 | 2f 2a 20 45 63 63 65 6e |* t2;...|/* Eccen|
|00004180| 74 72 69 63 20 61 6e 6f | 6d 61 6c 79 2e 20 2a 2f |tric ano|maly. */|
|00004190| 0a 0a 09 65 61 20 3d 20 | 6b 65 70 6c 65 72 28 6d |...ea = |kepler(m|
|000041a0| 2c 20 65 29 3b 0a 0a 09 | 2f 2a 20 54 72 75 65 20 |, e);...|/* True |
|000041b0| 61 6e 6f 6d 61 6c 79 20 | 2a 2f 0a 0a 09 76 20 3d |anomaly |*/...v =|
|000041c0| 20 66 69 78 61 6e 67 6c | 65 28 32 20 2a 20 72 74 | fixangl|e(2 * rt|
|000041d0| 64 28 61 74 61 6e 28 73 | 71 72 74 28 28 31 20 2b |d(atan(s|qrt((1 +|
|000041e0| 20 65 29 20 2f 20 28 31 | 20 2d 20 65 29 29 20 20 | e) / (1| - e)) |
|000041f0| 2a 20 74 61 6e 28 65 61 | 20 2f 20 32 29 29 29 29 |* tan(ea| / 2))))|
|00004200| 3b 0a 0a 20 20 20 20 20 | 20 20 20 2f 2a 20 53 75 |;.. | /* Su|
|00004210| 6e 27 73 20 74 72 75 65 | 20 6c 6f 6e 67 69 74 75 |n's true| longitu|
|00004220| 64 65 2e 20 2a 2f 0a 0a | 09 74 68 65 74 61 20 3d |de. */..|.theta =|
|00004230| 20 6c 20 2b 20 76 20 2d | 20 6d 3b 0a 0a 09 2f 2a | l + v -| m;.../*|
|00004240| 20 4f 62 6c 69 71 75 69 | 74 79 20 6f 66 20 74 68 | Obliqui|ty of th|
|00004250| 65 20 65 63 6c 69 70 74 | 69 63 2e 20 2a 2f 0a 0a |e eclipt|ic. */..|
|00004260| 09 65 70 73 20 3d 20 32 | 33 2e 34 35 32 32 39 34 |.eps = 2|3.452294|
|00004270| 20 2d 20 30 2e 30 31 33 | 30 31 32 35 20 2a 20 74 | - 0.013|0125 * t|
|00004280| 20 2d 20 30 2e 30 30 30 | 30 30 31 36 34 20 2a 20 | - 0.000|00164 * |
|00004290| 74 32 20 2b 20 30 2e 30 | 30 30 30 30 30 35 30 33 |t2 + 0.0|00000503|
|000042a0| 20 2a 20 74 33 3b 0a 0a | 20 20 20 20 20 20 20 20 | * t3;..| |
|000042b0| 2f 2a 20 43 6f 72 72 65 | 63 74 69 6f 6e 73 20 66 |/* Corre|ctions f|
|000042c0| 6f 72 20 53 75 6e 27 73 | 20 61 70 70 61 72 65 6e |or Sun's| apparen|
|000042d0| 74 20 6c 6f 6e 67 69 74 | 75 64 65 2c 20 69 66 20 |t longit|ude, if |
|000042e0| 64 65 73 69 72 65 64 2e | 20 2a 2f 0a 0a 09 69 66 |desired.| */...if|
|000042f0| 20 28 61 70 70 61 72 65 | 6e 74 29 20 7b 0a 09 20 | (appare|nt) {.. |
|00004300| 20 20 6f 6d 65 67 61 20 | 3d 20 66 69 78 61 6e 67 | omega |= fixang|
|00004310| 6c 65 28 32 35 39 2e 31 | 38 20 2d 20 31 39 33 34 |le(259.1|8 - 1934|
|00004320| 2e 31 34 32 20 2a 20 74 | 29 3b 0a 09 20 20 20 74 |.142 * t|);.. t|
|00004330| 68 65 74 61 20 3d 20 74 | 68 65 74 61 20 2d 20 30 |heta = t|heta - 0|
|00004340| 2e 30 30 35 36 39 20 2d | 20 30 2e 30 30 34 37 39 |.00569 -| 0.00479|
|00004350| 20 2a 20 73 69 6e 28 64 | 74 72 28 6f 6d 65 67 61 | * sin(d|tr(omega|
|00004360| 29 29 3b 0a 09 20 20 20 | 65 70 73 20 2b 3d 20 30 |));.. |eps += 0|
|00004370| 2e 30 30 32 35 36 20 2a | 20 63 6f 73 28 64 74 72 |.00256 *| cos(dtr|
|00004380| 28 6f 6d 65 67 61 29 29 | 3b 0a 09 7d 0a 0a 20 20 |(omega))|;..}.. |
|00004390| 20 20 20 20 20 20 2f 2a | 20 52 65 74 75 72 6e 20 | /*| Return |
|000043a0| 53 75 6e 27 73 20 6c 6f | 6e 67 69 74 75 64 65 20 |Sun's lo|ngitude |
|000043b0| 61 6e 64 20 72 61 64 69 | 75 73 20 76 65 63 74 6f |and radi|us vecto|
|000043c0| 72 20 2a 2f 0a 0a 09 2a | 73 6c 6f 6e 67 20 3d 20 |r */...*|slong = |
|000043d0| 74 68 65 74 61 3b 0a 09 | 2a 72 76 20 3d 20 28 31 |theta;..|*rv = (1|
|000043e0| 2e 30 30 30 30 30 30 32 | 20 2a 20 28 31 20 2d 20 |.0000002| * (1 - |
|000043f0| 65 20 2a 20 65 29 29 20 | 2f 20 28 31 20 2b 20 65 |e * e)) |/ (1 + e|
|00004400| 20 2a 20 63 6f 73 28 64 | 74 72 28 76 29 29 29 3b | * cos(d|tr(v)));|
|00004410| 0a 0a 09 2f 2a 20 44 65 | 74 65 72 6d 69 6e 65 20 |.../* De|termine |
|00004420| 73 6f 6c 61 72 20 63 6f | 2d 6f 72 64 69 6e 61 74 |solar co|-ordinat|
|00004430| 65 73 2e 20 2a 2f 0a 0a | 09 2a 72 61 20 3d 0a 09 |es. */..|.*ra =..|
|00004440| 66 69 78 61 6e 67 6c 65 | 28 72 74 64 28 61 74 61 |fixangle|(rtd(ata|
|00004450| 6e 32 28 63 6f 73 28 64 | 74 72 28 65 70 73 29 29 |n2(cos(d|tr(eps))|
|00004460| 20 2a 20 73 69 6e 28 64 | 74 72 28 74 68 65 74 61 | * sin(d|tr(theta|
|00004470| 29 29 2c 20 63 6f 73 28 | 64 74 72 28 74 68 65 74 |)), cos(|dtr(thet|
|00004480| 61 29 29 29 29 29 3b 0a | 09 2a 64 65 63 20 3d 20 |a)))));.|.*dec = |
|00004490| 72 74 64 28 61 73 69 6e | 28 73 69 6e 28 64 74 72 |rtd(asin|(sin(dtr|
|000044a0| 28 65 70 73 29 29 20 2a | 20 73 69 6e 28 64 74 72 |(eps)) *| sin(dtr|
|000044b0| 28 74 68 65 74 61 29 29 | 29 29 3b 0a 7d 0a 0a 2f |(theta))|));.}../|
|000044c0| 2a 20 20 47 4d 53 54 20 | 20 2d 2d 20 20 43 61 6c |* GMST | -- Cal|
|000044d0| 63 75 6c 61 74 65 20 47 | 72 65 65 6e 77 69 63 68 |culate G|reenwich|
|000044e0| 20 4d 65 61 6e 20 53 69 | 64 65 72 69 61 6c 20 54 | Mean Si|derial T|
|000044f0| 69 6d 65 20 66 6f 72 20 | 61 20 67 69 76 65 6e 0a |ime for |a given.|
|00004500| 09 20 20 20 20 20 20 69 | 6e 73 74 61 6e 74 20 65 |. i|nstant e|
|00004510| 78 70 72 65 73 73 65 64 | 20 61 73 20 61 20 4a 75 |xpressed| as a Ju|
|00004520| 6c 69 61 6e 20 64 61 74 | 65 20 61 6e 64 20 66 72 |lian dat|e and fr|
|00004530| 61 63 74 69 6f 6e 2e 09 | 2a 2f 0a 0a 73 74 61 74 |action..|*/..stat|
|00004540| 69 63 20 64 6f 75 62 6c | 65 20 67 6d 73 74 28 6a |ic doubl|e gmst(j|
|00004550| 64 29 0a 64 6f 75 62 6c | 65 20 6a 64 3b 0a 7b 0a |d).doubl|e jd;.{.|
|00004560| 09 64 6f 75 62 6c 65 20 | 74 2c 20 74 68 65 74 61 |.double |t, theta|
|00004570| 30 3b 0a 0a 0a 09 2f 2a | 20 54 69 6d 65 2c 20 69 |0;..../*| Time, i|
|00004580| 6e 20 4a 75 6c 69 61 6e | 20 63 65 6e 74 75 72 69 |n Julian| centuri|
|00004590| 65 73 20 6f 66 20 33 36 | 35 32 35 20 65 70 68 65 |es of 36|525 ephe|
|000045a0| 6d 65 72 69 73 20 64 61 | 79 73 2c 0a 09 20 20 20 |meris da|ys,.. |
|000045b0| 6d 65 61 73 75 72 65 64 | 20 66 72 6f 6d 20 74 68 |measured| from th|
|000045c0| 65 20 65 70 6f 63 68 20 | 31 39 30 30 20 4a 61 6e |e epoch |1900 Jan|
|000045d0| 75 61 72 79 20 30 2e 35 | 20 45 54 2e 20 2a 2f 0a |uary 0.5| ET. */.|
|000045e0| 0a 09 74 20 3d 20 28 28 | 66 6c 6f 6f 72 28 6a 64 |..t = ((|floor(jd|
|000045f0| 20 2b 20 30 2e 35 29 20 | 2d 20 30 2e 35 29 20 2d | + 0.5) |- 0.5) -|
|00004600| 20 32 34 31 35 30 32 30 | 2e 30 29 20 2f 20 33 36 | 2415020|.0) / 36|
|00004610| 35 32 35 2e 30 3b 0a 0a | 09 74 68 65 74 61 30 20 |525.0;..|.theta0 |
|00004620| 3d 20 36 2e 36 34 36 30 | 36 35 36 20 2b 20 32 34 |= 6.6460|656 + 24|
|00004630| 30 30 2e 30 35 31 32 36 | 32 20 2a 20 74 20 2b 20 |00.05126|2 * t + |
|00004640| 30 2e 30 30 30 30 32 35 | 38 31 20 2a 20 74 20 2a |0.000025|81 * t *|
|00004650| 20 74 3b 0a 0a 09 74 20 | 3d 20 28 6a 64 20 2b 20 | t;...t |= (jd + |
|00004660| 30 2e 35 29 20 2d 20 28 | 66 6c 6f 6f 72 28 6a 64 |0.5) - (|floor(jd|
|00004670| 20 2b 20 30 2e 35 29 29 | 3b 0a 0a 09 74 68 65 74 | + 0.5))|;...thet|
|00004680| 61 30 20 2b 3d 20 28 74 | 20 2a 20 32 34 2e 30 29 |a0 += (t| * 24.0)|
|00004690| 20 2a 20 31 2e 30 30 32 | 37 33 37 39 30 38 3b 0a | * 1.002|737908;.|
|000046a0| 0a 09 74 68 65 74 61 30 | 20 3d 20 28 74 68 65 74 |..theta0| = (thet|
|000046b0| 61 30 20 2d 20 32 34 2e | 30 20 2a 20 28 66 6c 6f |a0 - 24.|0 * (flo|
|000046c0| 6f 72 28 74 68 65 74 61 | 30 20 2f 20 32 34 2e 30 |or(theta|0 / 24.0|
|000046d0| 29 29 29 3b 0a 0a 09 72 | 65 74 75 72 6e 20 74 68 |)));...r|eturn th|
|000046e0| 65 74 61 30 3b 0a 7d 0a | 0a 2f 2a 20 20 50 52 4f |eta0;.}.|./* PRO|
|000046f0| 4a 49 4c 4c 55 4d 20 20 | 2d 2d 20 20 50 72 6f 6a |JILLUM |-- Proj|
|00004700| 65 63 74 20 69 6c 6c 75 | 6d 69 6e 61 74 65 64 20 |ect illu|minated |
|00004710| 61 72 65 61 20 6f 6e 20 | 74 68 65 20 6d 61 70 2e |area on |the map.|
|00004720| 20 20 2a 2f 0a 0a 73 74 | 61 74 69 63 20 76 6f 69 | */..st|atic voi|
|00004730| 64 20 70 72 6f 6a 69 6c | 6c 75 6d 28 77 74 61 62 |d projil|lum(wtab|
|00004740| 2c 20 78 64 6f 74 73 2c | 20 79 64 6f 74 73 2c 20 |, xdots,| ydots, |
|00004750| 64 65 63 29 0a 73 68 6f | 72 74 20 2a 77 74 61 62 |dec).sho|rt *wtab|
|00004760| 3b 0a 69 6e 74 20 78 64 | 6f 74 73 2c 20 79 64 6f |;.int xd|ots, ydo|
|00004770| 74 73 3b 0a 64 6f 75 62 | 6c 65 20 64 65 63 3b 0a |ts;.doub|le dec;.|
|00004780| 7b 0a 09 69 6e 74 20 69 | 2c 20 66 74 66 20 3d 20 |{..int i|, ftf = |
|00004790| 54 52 55 45 2c 20 69 6c | 6f 6e 2c 20 69 6c 61 74 |TRUE, il|on, ilat|
|000047a0| 2c 20 6c 69 6c 6f 6e 2c | 20 6c 69 6c 61 74 2c 20 |, lilon,| lilat, |
|000047b0| 78 74 3b 0a 09 64 6f 75 | 62 6c 65 20 6d 2c 20 78 |xt;..dou|ble m, x|
|000047c0| 2c 20 79 2c 20 7a 2c 20 | 74 68 2c 20 6c 6f 6e 2c |, y, z, |th, lon,|
|000047d0| 20 6c 61 74 2c 20 73 2c | 20 63 3b 0a 0a 09 2f 2a | lat, s,| c;.../*|
|000047e0| 20 43 6c 65 61 72 20 75 | 6e 6f 63 63 75 70 69 65 | Clear u|noccupie|
|000047f0| 64 20 63 65 6c 6c 73 20 | 69 6e 20 77 69 64 74 68 |d cells |in width|
|00004800| 20 74 61 62 6c 65 20 2a | 2f 0a 0a 09 66 6f 72 20 | table *|/...for |
|00004810| 28 69 20 3d 20 30 3b 20 | 69 20 3c 20 79 64 6f 74 |(i = 0; |i < ydot|
|00004820| 73 3b 20 69 2b 2b 29 0a | 09 20 20 20 77 74 61 62 |s; i++).|. wtab|
|00004830| 5b 69 5d 20 3d 20 2d 31 | 3b 0a 0a 09 2f 2a 20 42 |[i] = -1|;.../* B|
|00004840| 75 69 6c 64 20 74 72 61 | 6e 73 66 6f 72 6d 61 74 |uild tra|nsformat|
|00004850| 69 6f 6e 20 66 6f 72 20 | 64 65 63 6c 69 6e 61 74 |ion for |declinat|
|00004860| 69 6f 6e 20 2a 2f 0a 0a | 09 73 20 3d 20 73 69 6e |ion */..|.s = sin|
|00004870| 28 2d 64 74 72 28 64 65 | 63 29 29 3b 0a 09 63 20 |(-dtr(de|c));..c |
|00004880| 3d 20 63 6f 73 28 2d 64 | 74 72 28 64 65 63 29 29 |= cos(-d|tr(dec))|
|00004890| 3b 0a 0a 09 2f 2a 20 49 | 6e 63 72 65 6d 65 6e 74 |;.../* I|ncrement|
|000048a0| 20 6f 76 65 72 20 61 20 | 73 65 6d 69 63 69 72 63 | over a |semicirc|
|000048b0| 6c 65 20 6f 66 20 69 6c | 6c 75 6d 69 6e 61 74 69 |le of il|luminati|
|000048c0| 6f 6e 20 2a 2f 0a 0a 09 | 66 6f 72 20 28 74 68 20 |on */...|for (th |
|000048d0| 3d 20 2d 28 50 49 20 2f | 20 32 29 3b 20 74 68 20 |= -(PI /| 2); th |
|000048e0| 3c 3d 20 50 49 20 2f 20 | 32 20 2b 20 30 2e 30 30 |<= PI / |2 + 0.00|
|000048f0| 31 3b 0a 09 20 20 20 20 | 20 74 68 20 2b 3d 20 50 |1;.. | th += P|
|00004900| 49 20 2f 20 54 45 52 4d | 49 4e 43 29 20 7b 0a 0a |I / TERM|INC) {..|
|00004910| 09 20 20 20 2f 2a 20 54 | 72 61 6e 73 66 6f 72 6d |. /* T|ransform|
|00004920| 20 74 68 65 20 70 6f 69 | 6e 74 20 74 68 72 6f 75 | the poi|nt throu|
|00004930| 67 68 20 74 68 65 20 64 | 65 63 6c 69 6e 61 74 69 |gh the d|eclinati|
|00004940| 6f 6e 20 72 6f 74 61 74 | 69 6f 6e 2e 20 2a 2f 0a |on rotat|ion. */.|
|00004950| 0a 09 20 20 20 78 20 3d | 20 2d 73 20 2a 20 73 69 |.. x =| -s * si|
|00004960| 6e 28 74 68 29 3b 0a 09 | 20 20 20 79 20 3d 20 63 |n(th);..| y = c|
|00004970| 6f 73 28 74 68 29 3b 0a | 09 20 20 20 7a 20 3d 20 |os(th);.|. z = |
|00004980| 63 20 2a 20 73 69 6e 28 | 74 68 29 3b 0a 0a 09 20 |c * sin(|th);... |
|00004990| 20 20 2f 2a 20 54 72 61 | 6e 73 66 6f 72 6d 20 74 | /* Tra|nsform t|
|000049a0| 68 65 20 72 65 73 75 6c | 74 69 6e 67 20 63 6f 2d |he resul|ting co-|
|000049b0| 6f 72 64 69 6e 61 74 65 | 20 74 68 72 6f 75 67 68 |ordinate| through|
|000049c0| 20 74 68 65 0a 09 20 20 | 20 20 20 20 6d 61 70 20 | the.. | map |
|000049d0| 70 72 6f 6a 65 63 74 69 | 6f 6e 20 74 6f 20 6f 62 |projecti|on to ob|
|000049e0| 74 61 69 6e 20 73 63 72 | 65 65 6e 20 63 6f 2d 6f |tain scr|een co-o|
|000049f0| 72 64 69 6e 61 74 65 73 | 2e 20 2a 2f 0a 0a 09 20 |rdinates|. */... |
|00004a00| 20 20 6c 6f 6e 20 3d 20 | 28 79 20 3d 3d 20 30 20 | lon = |(y == 0 |
|00004a10| 26 26 20 78 20 3d 3d 20 | 30 29 20 3f 20 30 2e 30 |&& x == |0) ? 0.0|
|00004a20| 20 3a 20 72 74 64 28 61 | 74 61 6e 32 28 79 2c 20 | : rtd(a|tan2(y, |
|00004a30| 78 29 29 3b 0a 09 20 20 | 20 6c 61 74 20 3d 20 72 |x));.. | lat = r|
|00004a40| 74 64 28 61 73 69 6e 28 | 7a 29 29 3b 0a 0a 09 20 |td(asin(|z));... |
|00004a50| 20 20 69 6c 61 74 20 3d | 20 79 64 6f 74 73 20 2d | ilat =| ydots -|
|00004a60| 20 28 6c 61 74 20 2b 20 | 39 30 29 20 2a 20 28 79 | (lat + |90) * (y|
|00004a70| 64 6f 74 73 20 2f 20 31 | 38 30 2e 30 29 3b 0a 09 |dots / 1|80.0);..|
|00004a80| 20 20 20 69 6c 6f 6e 20 | 3d 20 6c 6f 6e 20 2a 20 | ilon |= lon * |
|00004a90| 28 78 64 6f 74 73 20 2f | 20 33 36 30 2e 30 29 3b |(xdots /| 360.0);|
|00004aa0| 0a 0a 09 20 20 20 69 66 | 20 28 66 74 66 29 20 7b |... if| (ftf) {|
|00004ab0| 0a 0a 09 20 20 20 20 20 | 20 2f 2a 20 46 69 72 73 |... | /* Firs|
|00004ac0| 74 20 74 69 6d 65 2e 20 | 20 4a 75 73 74 20 73 61 |t time. | Just sa|
|00004ad0| 76 65 20 73 74 61 72 74 | 20 63 6f 2d 6f 72 64 69 |ve start| co-ordi|
|00004ae0| 6e 61 74 65 2e 20 2a 2f | 0a 0a 09 20 20 20 20 20 |nate. */|... |
|00004af0| 20 6c 69 6c 6f 6e 20 3d | 20 69 6c 6f 6e 3b 0a 09 | lilon =| ilon;..|
|00004b00| 20 20 20 20 20 20 6c 69 | 6c 61 74 20 3d 20 69 6c | li|lat = il|
|00004b10| 61 74 3b 0a 09 20 20 20 | 20 20 20 66 74 66 20 3d |at;.. | ftf =|
|00004b20| 20 46 41 4c 53 45 3b 0a | 09 20 20 20 7d 20 65 6c | FALSE;.|. } el|
|00004b30| 73 65 20 7b 0a 0a 09 20 | 20 20 20 20 20 2f 2a 20 |se {... | /* |
|00004b40| 54 72 61 63 65 20 6f 75 | 74 20 74 68 65 20 6c 69 |Trace ou|t the li|
|00004b50| 6e 65 20 61 6e 64 20 73 | 65 74 20 74 68 65 20 77 |ne and s|et the w|
|00004b60| 69 64 74 68 20 74 61 62 | 6c 65 2e 20 2a 2f 0a 0a |idth tab|le. */..|
|00004b70| 09 20 20 20 20 20 20 69 | 66 20 28 6c 69 6c 61 74 |. i|f (lilat|
|00004b80| 20 3d 3d 20 69 6c 61 74 | 29 20 7b 0a 09 09 20 77 | == ilat|) {... w|
|00004b90| 74 61 62 5b 28 79 64 6f | 74 73 20 2d 20 31 29 20 |tab[(ydo|ts - 1) |
|00004ba0| 2d 20 69 6c 61 74 5d 20 | 3d 20 69 6c 6f 6e 20 3d |- ilat] |= ilon =|
|00004bb0| 3d 20 30 20 3f 20 31 20 | 3a 20 69 6c 6f 6e 3b 0a |= 0 ? 1 |: ilon;.|
|00004bc0| 09 20 20 20 20 20 20 7d | 20 65 6c 73 65 20 7b 0a |. }| else {.|
|00004bd0| 09 09 20 6d 20 3d 20 28 | 28 64 6f 75 62 6c 65 29 |.. m = (|(double)|
|00004be0| 20 28 69 6c 6f 6e 20 2d | 20 6c 69 6c 6f 6e 29 29 | (ilon -| lilon))|
|00004bf0| 20 2f 20 28 69 6c 61 74 | 20 2d 20 6c 69 6c 61 74 | / (ilat| - lilat|
|00004c00| 29 3b 0a 09 09 20 66 6f | 72 20 28 69 20 3d 20 6c |);... fo|r (i = l|
|00004c10| 69 6c 61 74 3b 20 69 20 | 21 3d 20 69 6c 61 74 3b |ilat; i |!= ilat;|
|00004c20| 20 69 20 2b 3d 20 73 67 | 6e 28 69 6c 61 74 20 2d | i += sg|n(ilat -|
|00004c30| 20 6c 69 6c 61 74 29 29 | 20 7b 0a 09 09 20 20 20 | lilat))| {... |
|00004c40| 20 78 74 20 3d 20 6c 69 | 6c 6f 6e 20 2b 20 66 6c | xt = li|lon + fl|
|00004c50| 6f 6f 72 28 28 6d 20 2a | 20 28 69 20 2d 20 6c 69 |oor((m *| (i - li|
|00004c60| 6c 61 74 29 29 20 2b 20 | 30 2e 35 29 3b 0a 09 09 |lat)) + |0.5);...|
|00004c70| 20 20 20 20 77 74 61 62 | 5b 28 79 64 6f 74 73 20 | wtab|[(ydots |
|00004c80| 2d 20 31 29 20 2d 20 69 | 5d 20 3d 20 78 74 20 3d |- 1) - i|] = xt =|
|00004c90| 3d 20 30 20 3f 20 31 20 | 3a 20 78 74 3b 0a 09 09 |= 0 ? 1 |: xt;...|
|00004ca0| 20 7d 0a 09 20 20 20 20 | 20 20 7d 0a 09 20 20 20 | }.. | }.. |
|00004cb0| 20 20 20 6c 69 6c 6f 6e | 20 3d 20 69 6c 6f 6e 3b | lilon| = ilon;|
|00004cc0| 0a 09 20 20 20 20 20 20 | 6c 69 6c 61 74 20 3d 20 |.. |lilat = |
|00004cd0| 69 6c 61 74 3b 0a 09 20 | 20 20 7d 0a 09 7d 0a 0a |ilat;.. | }..}..|
|00004ce0| 09 2f 2a 20 4e 6f 77 20 | 74 77 65 61 6b 20 74 68 |./* Now |tweak th|
|00004cf0| 65 20 77 69 64 74 68 73 | 20 74 6f 20 67 65 6e 65 |e widths| to gene|
|00004d00| 72 61 74 65 20 66 75 6c | 6c 20 69 6c 6c 75 6d 69 |rate ful|l illumi|
|00004d10| 6e 61 74 69 6f 6e 20 66 | 6f 72 0a 09 20 20 20 74 |nation f|or.. t|
|00004d20| 68 65 20 63 6f 72 72 65 | 63 74 20 70 6f 6c 65 2e |he corre|ct pole.|
|00004d30| 20 2a 2f 0a 0a 09 69 66 | 20 28 64 65 63 20 3c 20 | */...if| (dec < |
|00004d40| 30 2e 30 29 20 7b 0a 09 | 20 20 20 69 6c 61 74 20 |0.0) {..| ilat |
|00004d50| 3d 20 79 64 6f 74 73 20 | 2d 20 31 3b 0a 09 20 20 |= ydots |- 1;.. |
|00004d60| 20 6c 69 6c 61 74 20 3d | 20 2d 31 3b 0a 09 7d 20 | lilat =| -1;..} |
|00004d70| 65 6c 73 65 20 7b 0a 09 | 20 20 20 69 6c 61 74 20 |else {..| ilat |
|00004d80| 3d 20 30 3b 0a 09 20 20 | 20 6c 69 6c 61 74 20 3d |= 0;.. | lilat =|
|00004d90| 20 31 3b 0a 09 7d 0a 0a | 09 66 6f 72 20 28 69 20 | 1;..}..|.for (i |
|00004da0| 3d 20 69 6c 61 74 3b 20 | 69 20 21 3d 20 79 64 6f |= ilat; |i != ydo|
|00004db0| 74 73 20 2f 20 32 3b 20 | 69 20 2b 3d 20 6c 69 6c |ts / 2; |i += lil|
|00004dc0| 61 74 29 20 7b 0a 09 20 | 20 20 69 66 20 28 77 74 |at) {.. | if (wt|
|00004dd0| 61 62 5b 69 5d 20 21 3d | 20 2d 31 29 20 7b 0a 09 |ab[i] !=| -1) {..|
|00004de0| 20 20 20 20 20 20 77 68 | 69 6c 65 20 28 54 52 55 | wh|ile (TRU|
|00004df0| 45 29 20 7b 0a 09 09 20 | 77 74 61 62 5b 69 5d 20 |E) {... |wtab[i] |
|00004e00| 3d 20 78 64 6f 74 73 20 | 2f 20 32 3b 0a 09 09 20 |= xdots |/ 2;... |
|00004e10| 69 66 20 28 69 20 3d 3d | 20 69 6c 61 74 29 0a 09 |if (i ==| ilat)..|
|00004e20| 09 20 20 20 20 62 72 65 | 61 6b 3b 0a 09 09 20 69 |. bre|ak;... i|
|00004e30| 20 2d 3d 20 6c 69 6c 61 | 74 3b 0a 09 20 20 20 20 | -= lila|t;.. |
|00004e40| 20 20 7d 0a 09 20 20 20 | 20 20 20 62 72 65 61 6b | }.. | break|
|00004e50| 3b 0a 09 20 20 20 7d 0a | 09 7d 0a 7d 0a 0a 2f 2a |;.. }.|.}.}../*|
|00004e60| 20 20 58 53 50 41 4e 20 | 20 2d 2d 20 20 43 6f 6d | XSPAN | -- Com|
|00004e70| 70 6c 65 6d 65 6e 74 20 | 61 20 73 70 61 6e 20 6f |plement |a span o|
|00004e80| 66 20 70 69 78 65 6c 73 | 2e 20 20 43 61 6c 6c 65 |f pixels|. Calle|
|00004e90| 64 20 77 69 74 68 20 6c | 69 6e 65 20 69 6e 20 77 |d with l|ine in w|
|00004ea0| 68 69 63 68 0a 09 20 20 | 20 20 20 20 20 70 69 78 |hich.. | pix|
|00004eb0| 65 6c 73 20 61 72 65 20 | 63 6f 6e 74 61 69 6e 65 |els are |containe|
|00004ec0| 64 2c 20 6c 65 66 74 6d | 6f 73 74 20 70 69 78 65 |d, leftm|ost pixe|
|00004ed0| 6c 20 69 6e 20 74 68 65 | 20 20 6c 69 6e 65 2c 20 |l in the| line, |
|00004ee0| 20 61 6e 64 0a 09 20 20 | 20 20 20 20 20 74 68 65 | and.. | the|
|00004ef0| 20 20 20 6e 75 6d 62 65 | 72 20 20 20 6f 66 20 20 | numbe|r of |
|00004f00| 20 70 69 78 65 6c 73 20 | 20 20 74 6f 09 20 63 6f | pixels | to. co|
|00004f10| 6d 70 6c 65 6d 65 6e 74 | 2e 20 20 20 48 61 6e 64 |mplement|. Hand|
|00004f20| 6c 65 73 0a 09 20 20 20 | 20 20 20 20 77 72 61 70 |les.. | wrap|
|00004f30| 2d 61 72 6f 75 6e 64 20 | 61 74 20 74 68 65 20 72 |-around |at the r|
|00004f40| 69 67 68 74 20 65 64 67 | 65 20 6f 66 20 74 68 65 |ight edg|e of the|
|00004f50| 20 73 63 72 65 65 6e 2e | 20 20 2a 2f 0a 0a 73 74 | screen.| */..st|
|00004f60| 61 74 69 63 20 76 6f 69 | 64 20 78 73 70 61 6e 28 |atic voi|d xspan(|
|00004f70| 70 6c 69 6e 65 2c 20 6c | 65 66 74 70 2c 20 6e 70 |pline, l|eftp, np|
|00004f80| 69 78 29 0a 69 6e 74 20 | 70 6c 69 6e 65 2c 20 6c |ix).int |pline, l|
|00004f90| 65 66 74 70 2c 20 6e 70 | 69 78 3b 0a 7b 0a 09 69 |eftp, np|ix;.{..i|
|00004fa0| 6e 74 20 78 6f 2c 20 79 | 6f 3b 0a 0a 09 69 66 20 |nt xo, y|o;...if |
|00004fb0| 28 77 69 6e 64 6f 77 5f | 67 65 74 28 62 66 2c 20 |(window_|get(bf, |
|00004fc0| 46 52 41 4d 45 5f 43 4c | 4f 53 45 44 29 29 20 7b |FRAME_CL|OSED)) {|
|00004fd0| 0a 09 20 20 20 78 6f 20 | 3d 20 31 3b 0a 09 20 20 |.. xo |= 1;.. |
|00004fe0| 20 79 6f 20 3d 20 31 3b | 0a 09 7d 20 65 6c 73 65 | yo = 1;|..} else|
|00004ff0| 20 7b 0a 09 20 20 20 78 | 6f 20 3d 20 79 6f 20 3d | {.. x|o = yo =|
|00005000| 20 30 3b 0a 09 7d 0a 0a | 09 6c 65 66 74 70 20 3d | 0;..}..|.leftp =|
|00005010| 20 6c 65 66 74 70 20 25 | 20 78 64 6f 74 73 3b 0a | leftp %| xdots;.|
|00005020| 09 70 6c 69 6e 65 20 2b | 3d 20 79 6f 3b 0a 0a 09 |.pline +|= yo;...|
|00005030| 69 66 20 28 28 6c 65 66 | 74 70 20 2b 20 6e 70 69 |if ((lef|tp + npi|
|00005040| 78 29 20 3e 20 78 64 6f | 74 73 29 20 7b 0a 09 20 |x) > xdo|ts) {.. |
|00005050| 20 20 56 20 70 77 5f 76 | 65 63 74 6f 72 28 61 70 | V pw_v|ector(ap|
|00005060| 77 2c 20 6c 65 66 74 70 | 20 2b 20 78 6f 2c 20 70 |w, leftp| + xo, p|
|00005070| 6c 69 6e 65 2c 20 78 6f | 20 2b 20 28 78 64 6f 74 |line, xo| + (xdot|
|00005080| 73 20 2d 20 31 29 2c 20 | 70 6c 69 6e 65 2c 0a 09 |s - 1), |pline,..|
|00005090| 09 20 50 49 58 5f 53 52 | 43 20 5e 20 50 49 58 5f |. PIX_SR|C ^ PIX_|
|000050a0| 44 53 54 2c 20 31 29 3b | 0a 09 20 20 20 56 20 70 |DST, 1);|.. V p|
|000050b0| 77 5f 76 65 63 74 6f 72 | 28 61 70 77 2c 20 78 6f |w_vector|(apw, xo|
|000050c0| 2c 20 70 6c 69 6e 65 2c | 20 78 6f 20 2b 20 28 28 |, pline,| xo + ((|
|000050d0| 6c 65 66 74 70 20 2b 20 | 6e 70 69 78 29 20 2d 20 |leftp + |npix) - |
|000050e0| 28 78 64 6f 74 73 20 2b | 20 31 29 29 2c 0a 09 09 |(xdots +| 1)),...|
|000050f0| 20 70 6c 69 6e 65 2c 20 | 50 49 58 5f 53 52 43 20 | pline, |PIX_SRC |
|00005100| 5e 20 50 49 58 5f 44 53 | 54 2c 20 31 29 3b 0a 09 |^ PIX_DS|T, 1);..|
|00005110| 7d 20 65 6c 73 65 20 7b | 0a 09 20 20 20 56 20 70 |} else {|.. V p|
|00005120| 77 5f 76 65 63 74 6f 72 | 28 61 70 77 2c 20 78 6f |w_vector|(apw, xo|
|00005130| 20 2b 20 6c 65 66 74 70 | 2c 20 70 6c 69 6e 65 2c | + leftp|, pline,|
|00005140| 20 78 6f 20 2b 20 6c 65 | 66 74 70 20 2b 20 28 6e | xo + le|ftp + (n|
|00005150| 70 69 78 20 2d 20 31 29 | 2c 20 70 6c 69 6e 65 2c |pix - 1)|, pline,|
|00005160| 0a 09 09 20 50 49 58 5f | 53 52 43 20 5e 20 50 49 |... PIX_|SRC ^ PI|
|00005170| 58 5f 44 53 54 2c 20 31 | 29 3b 0a 09 7d 0a 7d 0a |X_DST, 1|);..}.}.|
|00005180| 0a 2f 2a 20 20 4d 4f 56 | 45 54 45 52 4d 20 20 2d |./* MOV|ETERM -|
|00005190| 2d 20 20 55 70 64 61 74 | 65 20 69 6c 6c 75 6d 69 |- Updat|e illumi|
|000051a0| 6e 61 74 65 64 20 70 6f | 72 74 69 6f 6e 20 6f 66 |nated po|rtion of|
|000051b0| 20 74 68 65 20 67 6c 6f | 62 65 2e 20 20 2a 2f 0a | the glo|be. */.|
|000051c0| 0a 73 74 61 74 69 63 20 | 76 6f 69 64 20 6d 6f 76 |.static |void mov|
|000051d0| 65 74 65 72 6d 28 77 74 | 61 62 2c 20 6e 6f 6f 6e |eterm(wt|ab, noon|
|000051e0| 2c 20 6f 74 61 62 2c 20 | 6f 6e 6f 6f 6e 2c 20 78 |, otab, |onoon, x|
|000051f0| 64 6f 74 73 2c 20 79 64 | 6f 74 73 29 0a 73 68 6f |dots, yd|ots).sho|
|00005200| 72 74 20 2a 77 74 61 62 | 2c 20 2a 6f 74 61 62 3b |rt *wtab|, *otab;|
|00005210| 0a 69 6e 74 20 6e 6f 6f | 6e 2c 20 6f 6e 6f 6f 6e |.int noo|n, onoon|
|00005220| 2c 20 78 64 6f 74 73 2c | 20 79 64 6f 74 73 3b 0a |, xdots,| ydots;.|
|00005230| 7b 0a 09 69 6e 74 20 69 | 2c 20 6f 6c 2c 20 6f 68 |{..int i|, ol, oh|
|00005240| 2c 20 6e 6c 2c 20 6e 68 | 3b 0a 0a 09 66 6f 72 20 |, nl, nh|;...for |
|00005250| 28 69 20 3d 20 30 3b 20 | 69 20 3c 20 79 64 6f 74 |(i = 0; |i < ydot|
|00005260| 73 3b 20 69 2b 2b 29 20 | 7b 0a 0a 09 20 20 20 2f |s; i++) |{... /|
|00005270| 2a 20 49 66 20 6c 69 6e | 65 20 69 73 20 6f 66 66 |* If lin|e is off|
|00005280| 20 69 6e 20 6e 65 77 20 | 77 69 64 74 68 20 74 61 | in new |width ta|
|00005290| 62 6c 65 20 62 75 74 20 | 69 73 20 73 65 74 20 69 |ble but |is set i|
|000052a0| 6e 0a 09 20 20 20 20 20 | 20 74 68 65 20 6f 6c 64 |n.. | the old|
|000052b0| 20 74 61 62 6c 65 2c 20 | 63 6c 65 61 72 20 69 74 | table, |clear it|
|000052c0| 2e 20 2a 2f 0a 0a 09 20 | 20 20 69 66 20 28 77 74 |. */... | if (wt|
|000052d0| 61 62 5b 69 5d 20 3c 20 | 30 29 20 7b 0a 09 20 20 |ab[i] < |0) {.. |
|000052e0| 20 20 20 20 69 66 20 28 | 6f 74 61 62 5b 69 5d 20 | if (|otab[i] |
|000052f0| 3e 3d 20 30 29 20 7b 0a | 09 09 20 78 73 70 61 6e |>= 0) {.|.. xspan|
|00005300| 28 69 2c 20 28 28 6f 6e | 6f 6f 6e 20 2d 20 6f 74 |(i, ((on|oon - ot|
|00005310| 61 62 5b 69 5d 29 20 2b | 20 78 64 6f 74 73 29 20 |ab[i]) +| xdots) |
|00005320| 25 20 78 64 6f 74 73 2c | 0a 09 09 20 20 20 20 6f |% xdots,|... o|
|00005330| 74 61 62 5b 69 5d 20 2a | 20 32 29 3b 0a 09 20 20 |tab[i] *| 2);.. |
|00005340| 20 20 20 20 7d 0a 09 20 | 20 20 7d 20 65 6c 73 65 | }.. | } else|
|00005350| 20 7b 0a 0a 09 20 20 20 | 20 20 20 2f 2a 20 4c 69 | {... | /* Li|
|00005360| 6e 65 20 69 73 20 6f 6e | 20 69 6e 20 6e 65 77 20 |ne is on| in new |
|00005370| 77 69 64 74 68 20 74 61 | 62 6c 65 2e 20 20 49 66 |width ta|ble. If|
|00005380| 20 69 74 20 77 61 73 20 | 6f 66 66 20 69 6e 0a 09 | it was |off in..|
|00005390| 09 20 74 68 65 20 6f 6c | 64 20 77 69 64 74 68 20 |. the ol|d width |
|000053a0| 74 61 62 6c 65 2c 20 6a | 75 73 74 20 64 72 61 77 |table, j|ust draw|
|000053b0| 20 69 74 2e 20 2a 2f 0a | 0a 09 20 20 20 20 20 20 | it. */.|.. |
|000053c0| 69 66 20 28 6f 74 61 62 | 5b 69 5d 20 3c 20 30 29 |if (otab|[i] < 0)|
|000053d0| 20 7b 0a 09 09 20 78 73 | 70 61 6e 28 69 2c 20 28 | {... xs|pan(i, (|
|000053e0| 28 6e 6f 6f 6e 20 2d 20 | 77 74 61 62 5b 69 5d 29 |(noon - |wtab[i])|
|000053f0| 20 2b 20 78 64 6f 74 73 | 29 20 25 20 78 64 6f 74 | + xdots|) % xdot|
|00005400| 73 2c 0a 09 09 20 20 20 | 20 77 74 61 62 5b 69 5d |s,... | wtab[i]|
|00005410| 20 2a 20 32 29 3b 0a 09 | 20 20 20 20 20 20 7d 20 | * 2);..| } |
|00005420| 65 6c 73 65 20 7b 0a 0a | 09 09 20 2f 2a 20 49 66 |else {..|.. /* If|
|00005430| 20 62 6f 74 68 20 74 68 | 65 20 6f 6c 64 20 61 6e | both th|e old an|
|00005440| 64 20 6e 65 77 20 73 70 | 61 6e 73 20 77 65 72 65 |d new sp|ans were|
|00005450| 20 74 68 65 20 65 6e 74 | 69 72 65 0a 20 20 20 20 | the ent|ire. |
|00005460| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005470| 73 63 72 65 65 6e 2c 20 | 74 68 65 79 27 72 65 20 |screen, |they're |
|00005480| 65 71 75 69 76 61 6c 65 | 6e 74 2e 20 2a 2f 0a 0a |equivale|nt. */..|
|00005490| 09 09 20 69 66 20 28 28 | 6f 74 61 62 5b 69 5d 20 |.. if ((|otab[i] |
|000054a0| 3d 3d 20 77 74 61 62 5b | 69 5d 29 20 26 26 20 28 |== wtab[|i]) && (|
|000054b0| 77 74 61 62 5b 69 5d 20 | 3d 3d 20 28 78 64 6f 74 |wtab[i] |== (xdot|
|000054c0| 73 20 2f 20 32 29 29 29 | 0a 09 09 20 20 20 20 63 |s / 2)))|... c|
|000054d0| 6f 6e 74 69 6e 75 65 3b | 0a 0a 09 09 20 2f 2a 20 |ontinue;|.... /* |
|000054e0| 54 68 65 20 6c 69 6e 65 | 20 77 61 73 20 6f 6e 20 |The line| was on |
|000054f0| 69 6e 20 62 6f 74 68 20 | 74 68 65 20 6f 6c 64 20 |in both |the old |
|00005500| 61 6e 64 20 6e 65 77 20 | 77 69 64 74 68 0a 09 09 |and new |width...|
|00005510| 20 20 20 20 74 61 62 6c | 65 73 2e 20 20 57 65 20 | tabl|es. We |
|00005520| 6d 75 73 74 20 61 64 6a | 75 73 74 20 74 68 65 20 |must adj|ust the |
|00005530| 64 69 66 66 65 72 65 6e | 63 65 20 69 6e 20 74 68 |differen|ce in th|
|00005540| 65 0a 09 09 20 20 20 20 | 73 70 61 6e 2e 20 20 2a |e... |span. *|
|00005550| 2f 0a 0a 09 09 20 6f 6c | 20 3d 20 20 28 28 6f 6e |/.... ol| = ((on|
|00005560| 6f 6f 6e 20 2d 20 6f 74 | 61 62 5b 69 5d 29 20 2b |oon - ot|ab[i]) +|
|00005570| 20 78 64 6f 74 73 29 20 | 25 20 78 64 6f 74 73 3b | xdots) |% xdots;|
|00005580| 0a 09 09 20 6f 68 20 3d | 20 28 6f 6c 20 2b 20 6f |... oh =| (ol + o|
|00005590| 74 61 62 5b 69 5d 20 2a | 20 32 29 20 2d 20 31 3b |tab[i] *| 2) - 1;|
|000055a0| 0a 09 09 20 6e 6c 20 3d | 20 20 28 28 6e 6f 6f 6e |... nl =| ((noon|
|000055b0| 20 2d 20 77 74 61 62 5b | 69 5d 29 20 2b 20 78 64 | - wtab[|i]) + xd|
|000055c0| 6f 74 73 29 20 25 20 78 | 64 6f 74 73 3b 0a 09 09 |ots) % x|dots;...|
|000055d0| 20 6e 68 20 3d 20 28 6e | 6c 20 2b 20 77 74 61 62 | nh = (n|l + wtab|
|000055e0| 5b 69 5d 20 2a 20 32 29 | 20 2d 20 31 3b 0a 0a 09 |[i] * 2)| - 1;...|
|000055f0| 09 20 2f 2a 20 49 66 20 | 73 70 61 6e 73 20 61 72 |. /* If |spans ar|
|00005600| 65 20 64 69 73 6a 6f 69 | 6e 74 2c 20 65 72 61 73 |e disjoi|nt, eras|
|00005610| 65 20 6f 6c 64 20 73 70 | 61 6e 20 61 6e 64 20 73 |e old sp|an and s|
|00005620| 65 74 0a 09 09 20 20 20 | 20 6e 65 77 20 73 70 61 |et... | new spa|
|00005630| 6e 2e 20 2a 2f 0a 0a 09 | 09 20 69 66 20 28 6f 68 |n. */...|. if (oh|
|00005640| 20 3c 20 6e 6c 20 7c 7c | 20 6e 68 20 3c 20 6f 6c | < nl ||| nh < ol|
|00005650| 29 20 7b 0a 09 09 20 20 | 20 20 78 73 70 61 6e 28 |) {... | xspan(|
|00005660| 69 2c 20 6f 6c 2c 20 28 | 6f 68 20 2d 20 6f 6c 29 |i, ol, (|oh - ol)|
|00005670| 20 2b 20 31 29 3b 0a 09 | 09 20 20 20 20 78 73 70 | + 1);..|. xsp|
|00005680| 61 6e 28 69 2c 20 6e 6c | 2c 20 28 6e 68 20 2d 20 |an(i, nl|, (nh - |
|00005690| 6e 6c 29 20 2b 20 31 29 | 3b 0a 09 09 20 7d 20 65 |nl) + 1)|;... } e|
|000056a0| 6c 73 65 20 7b 0a 09 09 | 20 20 20 20 2f 2a 20 43 |lse {...| /* C|
|000056b0| 6c 65 61 72 20 70 6f 72 | 74 69 6f 6e 28 73 29 20 |lear por|tion(s) |
|000056c0| 6f 66 20 6f 6c 64 20 73 | 70 61 6e 20 74 68 61 74 |of old s|pan that|
|000056d0| 20 65 78 74 65 6e 64 0a | 09 09 20 20 20 20 20 20 | extend.|.. |
|000056e0| 20 62 65 79 6f 6e 64 20 | 65 6e 64 20 6f 66 20 6e | beyond |end of n|
|000056f0| 65 77 20 73 70 61 6e 2e | 20 2a 2f 0a 09 09 20 20 |ew span.| */... |
|00005700| 20 20 69 66 20 28 6f 6c | 20 3c 20 6e 6c 29 20 7b | if (ol| < nl) {|
|00005710| 0a 09 09 20 20 20 20 20 | 20 20 78 73 70 61 6e 28 |... | xspan(|
|00005720| 69 2c 20 6f 6c 2c 20 6e | 6c 20 2d 20 6f 6c 29 3b |i, ol, n|l - ol);|
|00005730| 0a 09 09 20 20 20 20 20 | 20 20 6f 6c 20 3d 20 6e |... | ol = n|
|00005740| 6c 3b 0a 09 09 20 20 20 | 20 7d 0a 09 09 20 20 20 |l;... | }... |
|00005750| 20 69 66 20 28 6f 68 20 | 3e 20 6e 68 29 20 7b 0a | if (oh |> nh) {.|
|00005760| 09 09 20 20 20 20 20 20 | 20 78 73 70 61 6e 28 69 |.. | xspan(i|
|00005770| 2c 20 6e 68 20 2b 20 31 | 2c 20 6f 68 20 2d 20 6e |, nh + 1|, oh - n|
|00005780| 68 29 3b 0a 09 09 20 20 | 20 20 20 20 20 6f 68 20 |h);... | oh |
|00005790| 3d 20 6e 68 3b 0a 09 09 | 20 20 20 20 7d 0a 09 09 |= nh;...| }...|
|000057a0| 20 20 20 20 2f 2a 20 45 | 78 74 65 6e 64 20 65 78 | /* E|xtend ex|
|000057b0| 69 73 74 69 6e 67 20 28 | 70 6f 73 73 69 62 6c 79 |isting (|possibly|
|000057c0| 20 74 72 69 6d 6d 65 64 | 29 20 73 70 61 6e 20 74 | trimmed|) span t|
|000057d0| 6f 0a 09 09 20 20 20 20 | 20 20 20 63 6f 72 72 65 |o... | corre|
|000057e0| 63 74 20 6e 65 77 20 6c | 65 6e 67 74 68 2e 20 2a |ct new l|ength. *|
|000057f0| 2f 0a 09 09 20 20 20 20 | 69 66 20 28 6e 6c 20 3c |/... |if (nl <|
|00005800| 20 6f 6c 29 20 7b 0a 09 | 09 20 20 20 20 20 20 20 | ol) {..|. |
|00005810| 78 73 70 61 6e 28 69 2c | 20 6e 6c 2c 20 6f 6c 20 |xspan(i,| nl, ol |
|00005820| 2d 20 6e 6c 29 3b 0a 09 | 09 20 20 20 20 7d 0a 09 |- nl);..|. }..|
|00005830| 09 20 20 20 20 69 66 20 | 28 6e 68 20 3e 20 6f 68 |. if |(nh > oh|
|00005840| 29 20 7b 0a 09 09 20 20 | 20 20 20 20 20 78 73 70 |) {... | xsp|
|00005850| 61 6e 28 69 2c 20 6f 68 | 20 2b 20 31 2c 20 6e 68 |an(i, oh| + 1, nh|
|00005860| 20 2d 20 6f 68 29 3b 0a | 09 09 20 20 20 20 7d 0a | - oh);.|.. }.|
|00005870| 09 09 20 7d 0a 09 20 20 | 20 20 20 20 7d 0a 09 20 |.. }.. | }.. |
|00005880| 20 20 7d 0a 09 20 20 20 | 6f 74 61 62 5b 69 5d 20 | }.. |otab[i] |
|00005890| 3d 20 77 74 61 62 5b 69 | 5d 3b 0a 09 7d 0a 7d 0a |= wtab[i|];..}.}.|
|000058a0| 0a 2f 2a 20 20 55 53 41 | 47 45 20 20 2d 2d 20 20 |./* USA|GE -- |
|000058b0| 50 72 69 6e 74 20 68 6f | 77 2d 74 6f 2d 63 61 6c |Print ho|w-to-cal|
|000058c0| 6c 20 69 6e 66 6f 72 6d | 61 74 69 6f 6e 2e 20 20 |l inform|ation. |
|000058d0| 2a 2f 0a 0a 73 74 61 74 | 69 63 20 76 6f 69 64 20 |*/..stat|ic void |
|000058e0| 75 73 61 67 65 28 29 0a | 7b 0a 09 56 20 66 70 72 |usage().|{..V fpr|
|000058f0| 69 6e 74 66 28 73 74 64 | 65 72 72 2c 0a 20 20 20 |intf(std|err,. |
|00005900| 20 20 20 20 20 20 20 20 | 22 73 75 6e 63 6c 6f 63 | |"suncloc|
|00005910| 6b 20 20 2d 2d 20 20 54 | 68 65 20 53 75 6e 20 63 |k -- T|he Sun c|
|00005920| 6c 6f 63 6b 2e 20 20 42 | 79 20 4a 6f 68 6e 20 57 |lock. B|y John W|
|00005930| 61 6c 6b 65 72 2c 20 41 | 75 74 6f 64 65 73 6b 2c |alker, A|utodesk,|
|00005940| 20 49 6e 63 2e 5c 6e 22 | 29 3b 0a 7d 0a 53 48 41 | Inc.\n"|);.}.SHA|
|00005950| 52 5f 45 4f 46 0a 66 69 | 20 23 20 65 6e 64 20 6f |R_EOF.fi| # end o|
|00005960| 66 20 6f 76 65 72 77 72 | 69 74 69 6e 67 20 63 68 |f overwr|iting ch|
|00005970| 65 63 6b 0a 65 63 68 6f | 20 73 68 61 72 3a 20 65 |eck.echo| shar: e|
|00005980| 78 74 72 61 63 74 69 6e | 67 20 22 27 73 75 6e 63 |xtractin|g "'sunc|
|00005990| 6c 6f 63 6b 2e 68 27 22 | 20 27 28 34 31 34 35 36 |lock.h'"| '(41456|
|000059a0| 20 63 68 61 72 61 63 74 | 65 72 73 29 27 0a 69 66 | charact|ers)'.if|
|000059b0| 20 74 65 73 74 20 2d 66 | 20 27 73 75 6e 63 6c 6f | test -f| 'sunclo|
|000059c0| 63 6b 2e 68 27 0a 74 68 | 65 6e 0a 20 20 20 20 20 |ck.h'.th|en. |
|000059d0| 20 20 65 63 68 6f 20 73 | 68 61 72 3a 20 77 69 6c | echo s|har: wil|
|000059e0| 6c 20 6e 6f 74 20 6f 76 | 65 72 2d 77 72 69 74 65 |l not ov|er-write|
|000059f0| 20 65 78 69 73 74 69 6e | 67 20 66 69 6c 65 20 22 | existin|g file "|
|00005a00| 27 73 75 6e 63 6c 6f 63 | 6b 2e 68 27 22 0a 65 6c |'suncloc|k.h'".el|
|00005a10| 73 65 0a 63 61 74 20 3c | 3c 20 5c 53 48 41 52 5f |se.cat <|< \SHAR_|
|00005a20| 45 4f 46 20 3e 20 27 73 | 75 6e 63 6c 6f 63 6b 2e |EOF > 's|unclock.|
|00005a30| 68 27 0a 0a 2f 2a 20 53 | 6d 61 6c 6c 20 69 63 6f |h'../* S|mall ico|
|00005a40| 6e 20 64 65 66 69 6e 69 | 74 69 6f 6e 2e 20 2a 2f |n defini|tion. */|
|00005a50| 0a 0a 73 68 6f 72 74 20 | 6d 69 63 6e 5b 5d 20 3d |..short |micn[] =|
|00005a60| 20 7b 0a 09 30 2c 30 2c | 30 2c 30 2c 30 2c 30 2c | {..0,0,|0,0,0,0,|
|00005a70| 30 2c 30 2c 30 2c 30 2c | 30 2c 30 2c 30 2c 30 2c |0,0,0,0,|0,0,0,0,|
|00005a80| 30 2c 30 2c 30 2c 33 2c | 30 78 46 46 46 46 2c 0a |0,0,0,3,|0xFFFF,.|
|00005a90| 09 30 78 46 46 45 30 2c | 30 2c 30 78 34 30 30 2c |.0xFFE0,|0,0x400,|
|00005aa0| 30 2c 30 2c 30 2c 30 78 | 37 46 2c 30 78 46 46 43 |0,0,0,0x|7F,0xFFC|
|00005ab0| 30 2c 30 78 37 45 30 2c | 30 78 33 46 38 37 2c 0a |0,0x7E0,|0x3F87,.|
|00005ac0| 09 30 78 46 45 30 31 2c | 30 78 46 38 30 30 2c 30 |.0xFE01,|0xF800,0|
|00005ad0| 2c 30 2c 30 78 31 46 46 | 46 2c 30 78 46 46 45 30 |,0,0x1FF|F,0xFFE0|
|00005ae0| 2c 30 78 31 38 30 2c 30 | 78 33 46 30 30 2c 30 78 |,0x180,0|x3F00,0x|
|00005af0| 31 46 30 31 2c 0a 09 30 | 78 46 45 30 33 2c 30 78 |1F01,..0|xFE03,0x|
|00005b00| 43 30 30 30 2c 30 2c 30 | 78 31 46 46 46 2c 30 78 |C000,0,0|x1FFF,0x|
|00005b10| 46 38 33 30 2c 30 78 37 | 38 30 2c 30 2c 30 78 37 |F830,0x7|80,0,0x7|
|00005b20| 46 44 46 2c 30 78 36 46 | 46 42 2c 0a 09 30 78 46 |FDF,0x6F|FB,..0xF|
|00005b30| 30 30 30 2c 30 78 38 33 | 46 38 2c 30 78 37 46 46 |000,0x83|F8,0x7FF|
|00005b40| 46 2c 30 78 46 46 31 43 | 2c 30 78 46 31 38 2c 30 |F,0xFF1C|,0xF18,0|
|00005b50| 78 37 45 30 2c 30 78 37 | 42 46 38 2c 30 78 32 46 |x7E0,0x7|BF8,0x2F|
|00005b60| 46 2c 0a 09 30 78 46 46 | 33 34 2c 30 78 43 45 30 |F,..0xFF|34,0xCE0|
|00005b70| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 44 43 2c |F,0xFFFF|,0xFFDC,|
|00005b80| 30 78 31 45 30 30 2c 30 | 78 31 45 46 46 2c 30 78 |0x1E00,0|x1EFF,0x|
|00005b90| 46 46 45 30 2c 0a 09 30 | 78 33 30 30 30 2c 30 78 |FFE0,..0|x3000,0x|
|00005ba0| 33 33 46 43 2c 30 78 46 | 45 30 30 2c 30 78 31 44 |33FC,0xF|E00,0x1D|
|00005bb0| 44 46 2c 30 78 46 46 43 | 43 2c 30 78 46 33 45 30 |DF,0xFFC|C,0xF3E0|
|00005bc0| 2c 30 78 33 46 46 46 2c | 30 78 31 46 38 2c 0a 09 |,0x3FFF,|0x1F8,..|
|00005bd0| 30 2c 31 32 2c 30 78 33 | 45 36 30 2c 30 78 46 43 |0,12,0x3|E60,0xFC|
|00005be0| 46 2c 30 78 46 46 38 46 | 2c 30 78 38 33 43 30 2c |F,0xFF8F|,0x83C0,|
|00005bf0| 30 78 46 37 46 43 2c 30 | 2c 30 2c 30 78 33 39 43 |0xF7FC,0|,0,0x39C|
|00005c00| 2c 0a 09 30 78 46 46 46 | 2c 30 78 38 37 45 36 2c |,..0xFFF|,0x87E6,|
|00005c10| 30 78 31 37 38 37 2c 31 | 34 2c 30 78 46 46 46 38 |0x1787,1|4,0xFFF8|
|00005c20| 2c 30 2c 30 2c 30 78 46 | 46 46 30 2c 30 78 33 43 |,0,0,0xF|FF0,0x3C|
|00005c30| 33 2c 0a 09 30 78 43 31 | 42 33 2c 30 78 42 44 43 |3,..0xC1|B3,0xBDC|
|00005c40| 30 2c 31 34 2c 30 78 37 | 46 45 38 2c 30 2c 30 78 |0,14,0x7|FE8,0,0x|
|00005c50| 33 30 30 33 2c 30 78 38 | 37 38 30 2c 30 78 31 46 |3003,0x8|780,0x1F|
|00005c60| 30 30 2c 30 78 45 30 31 | 38 2c 0a 09 30 78 46 34 |00,0xE01|8,..0xF4|
|00005c70| 37 30 2c 30 78 31 46 2c | 30 78 46 45 30 31 2c 30 |70,0x1F,|0xFE01,0|
|00005c80| 78 38 30 36 30 2c 30 78 | 33 43 30 33 2c 30 78 43 |x8060,0x|3C03,0xC|
|00005c90| 37 30 30 2c 30 78 46 38 | 30 30 2c 30 78 46 30 31 |700,0xF8|00,0xF01|
|00005ca0| 44 2c 0a 09 30 78 42 31 | 46 30 2c 30 78 31 46 2c |D,..0xB1|F0,0x1F,|
|00005cb0| 30 78 38 30 30 33 2c 30 | 78 32 30 2c 30 78 31 38 |0x8003,0|x20,0x18|
|00005cc0| 30 30 2c 30 78 43 36 30 | 30 2c 30 2c 30 78 33 38 |00,0xC60|0,0,0x38|
|00005cd0| 37 31 2c 30 78 46 42 46 | 38 2c 0a 09 37 2c 31 30 |71,0xFBF|8,..7,10|
|00005ce0| 2c 30 78 43 30 30 2c 31 | 2c 30 78 43 43 30 30 2c |,0xC00,1|,0xCC00,|
|00005cf0| 30 2c 30 78 31 30 31 33 | 2c 30 78 46 37 44 38 2c |0,0x1013|,0xF7D8,|
|00005d00| 32 2c 30 78 37 38 37 39 | 2c 30 78 44 38 46 38 2c |2,0x7879|,0xD8F8,|
|00005d10| 0a 09 33 2c 30 78 46 38 | 30 30 2c 30 2c 30 78 31 |..3,0xF8|00,0,0x1|
|00005d20| 30 31 30 2c 30 78 46 46 | 38 30 2c 30 78 31 46 2c |010,0xFF|80,0x1F,|
|00005d30| 30 78 46 43 42 44 2c 30 | 78 44 38 36 30 2c 31 34 |0xFCBD,0|xD860,14|
|00005d40| 2c 0a 09 30 78 45 30 30 | 30 2c 30 2c 30 78 31 30 |,..0xE00|0,0,0x10|
|00005d50| 30 30 2c 30 78 45 45 30 | 30 2c 30 78 38 31 33 2c |00,0xEE0|0,0x813,|
|00005d60| 30 78 46 46 44 45 2c 30 | 78 45 30 30 30 2c 30 78 |0xFFDE,0|xE000,0x|
|00005d70| 46 39 2c 0a 09 30 78 38 | 30 30 30 2c 30 2c 30 78 |F9,..0x8|000,0,0x|
|00005d80| 31 38 30 30 2c 30 78 38 | 30 30 2c 30 78 45 31 46 |1800,0x8|00,0xE1F|
|00005d90| 2c 30 78 46 42 46 36 2c | 30 78 43 30 30 30 2c 30 |,0xFBF6,|0xC000,0|
|00005da0| 78 46 42 2c 30 78 38 30 | 30 30 2c 0a 09 30 2c 30 |xFB,0x80|00,..0,0|
|00005db0| 78 45 30 30 2c 30 78 33 | 38 30 30 2c 30 78 31 45 |xE00,0x3|800,0x1E|
|00005dc0| 2c 30 78 37 31 39 30 2c | 30 2c 30 78 44 46 2c 30 |,0x7190,|0,0xDF,0|
|00005dd0| 78 38 30 30 30 2c 30 2c | 30 78 33 30 31 2c 0a 09 |x8000,0,|0x301,..|
|00005de0| 30 78 45 30 30 30 2c 30 | 78 44 30 2c 30 78 31 46 |0xE000,0|xD0,0x1F|
|00005df0| 46 31 2c 30 78 38 30 30 | 30 2c 30 78 43 43 2c 30 |F1,0x800|0,0xCC,0|
|00005e00| 2c 30 2c 30 78 33 38 46 | 2c 30 78 36 30 30 30 2c |,0,0x38F|,0x6000,|
|00005e10| 30 78 37 30 2c 0a 09 30 | 78 33 31 2c 30 78 45 30 |0x70,..0|x31,0xE0|
|00005e20| 30 30 2c 30 78 34 30 2c | 30 2c 30 2c 30 78 33 43 |00,0x40,|0,0,0x3C|
|00005e30| 38 2c 30 78 33 30 30 30 | 2c 30 78 36 30 2c 30 78 |8,0x3000|,0x60,0x|
|00005e40| 33 38 2c 30 78 46 45 30 | 30 2c 0a 09 30 78 43 30 |38,0xFE0|0,..0xC0|
|00005e50| 2c 30 2c 30 78 31 30 30 | 2c 30 78 45 38 2c 30 78 |,0,0x100|,0xE8,0x|
|00005e60| 46 30 30 30 2c 30 78 43 | 30 2c 30 78 37 38 2c 30 |F000,0xC|0,0x78,0|
|00005e70| 78 37 33 38 37 2c 30 78 | 46 43 30 2c 30 2c 0a 09 |x7387,0x|FC0,0,..|
|00005e80| 30 78 31 38 30 2c 30 78 | 32 46 2c 30 78 46 46 30 |0x180,0x|2F,0xFF0|
|00005e90| 30 2c 30 78 43 30 2c 30 | 78 31 43 2c 30 78 33 31 |0,0xC0,0|x1C,0x31|
|00005ea0| 38 44 2c 30 78 38 43 34 | 30 2c 30 2c 30 2c 30 78 |8D,0x8C4|0,0,0,0x|
|00005eb0| 33 46 2c 0a 09 30 78 44 | 46 38 30 2c 30 78 34 30 |3F,..0xD|F80,0x40|
|00005ec0| 2c 31 32 2c 30 78 36 30 | 39 38 2c 30 78 43 43 43 |,12,0x60|98,0xCCC|
|00005ed0| 30 2c 30 2c 30 2c 37 2c | 30 78 43 30 30 30 2c 30 |0,0,0,7,|0xC000,0|
|00005ee0| 78 43 30 2c 0a 09 30 78 | 31 38 30 46 2c 30 78 43 |xC0,..0x|180F,0xC|
|00005ef0| 30 44 31 2c 30 78 45 43 | 45 30 2c 30 2c 30 2c 30 |0D1,0xEC|E0,0,0,0|
|00005f00| 78 38 30 2c 30 78 43 46 | 43 30 2c 30 78 36 30 2c |x80,0xCF|C0,0x60,|
|00005f10| 30 78 31 38 30 33 2c 0a | 09 30 78 38 30 37 31 2c |0x1803,.|.0x8071,|
|00005f20| 30 78 37 43 45 30 2c 30 | 78 31 32 30 2c 30 2c 30 |0x7CE0,0|x120,0,0|
|00005f30| 78 38 30 2c 30 78 46 46 | 45 30 2c 30 78 32 32 2c |x80,0xFF|E0,0x22,|
|00005f40| 30 2c 30 78 38 30 37 31 | 2c 0a 09 30 78 37 38 46 |0,0x8071|,..0x78F|
|00005f50| 30 2c 30 78 31 32 30 2c | 30 2c 30 2c 30 78 33 30 |0,0x120,|0,0,0x30|
|00005f60| 33 38 2c 30 78 33 46 2c | 30 78 45 30 31 31 2c 30 |38,0x3F,|0xE011,0|
|00005f70| 78 38 30 33 31 2c 30 78 | 46 42 42 30 2c 30 2c 0a |x8031,0x|FBB0,0,.|
|00005f80| 09 30 2c 30 2c 30 78 31 | 30 30 43 2c 30 2c 30 78 |.0,0,0x1|00C,0,0x|
|00005f90| 36 30 37 33 2c 30 2c 30 | 78 46 46 42 38 2c 30 2c |6073,0,0|xFFB8,0,|
|00005fa0| 30 2c 33 2c 30 78 33 30 | 30 46 2c 30 2c 0a 09 30 |0,3,0x30|0F,0,..0|
|00005fb0| 78 36 34 37 36 2c 30 2c | 30 78 46 35 46 44 2c 38 |x6476,0,|0xF5FD,8|
|00005fc0| 2c 30 2c 32 2c 30 78 33 | 30 30 44 2c 30 78 43 30 |,0,2,0x3|00D,0xC0|
|00005fd0| 30 30 2c 30 78 32 34 36 | 43 2c 30 2c 30 78 37 46 |00,0x246|C,0,0x7F|
|00005fe0| 46 46 2c 0a 09 30 78 44 | 38 30 38 2c 30 2c 30 2c |FF,..0xD|808,0,0,|
|00005ff0| 30 78 32 30 30 30 2c 30 | 78 36 30 30 30 2c 30 78 |0x2000,0|x6000,0x|
|00006000| 33 30 34 38 2c 30 2c 30 | 78 33 46 43 33 2c 30 78 |3048,0,0|x3FC3,0x|
|00006010| 37 43 30 30 2c 32 2c 30 | 2c 0a 09 30 78 33 30 30 |7C00,2,0|,..0x300|
|00006020| 30 2c 30 78 32 30 36 30 | 2c 30 78 31 30 43 38 2c |0,0x2060|,0x10C8,|
|00006030| 30 2c 30 78 46 46 31 2c | 30 78 46 37 30 30 2c 32 |0,0xFF1,|0xF700,2|
|00006040| 2c 30 2c 30 78 31 38 30 | 30 2c 0a 09 30 78 36 30 |,0,0x180|0,..0x60|
|00006050| 30 30 2c 30 78 31 30 34 | 45 2c 30 78 38 30 30 30 |00,0x104|E,0x8000|
|00006060| 2c 30 78 45 45 2c 30 78 | 46 30 30 30 2c 30 2c 30 |,0xEE,0x|F000,0,0|
|00006070| 2c 30 78 41 30 30 2c 30 | 78 34 30 30 30 2c 0a 09 |,0xA00,0|x4000,..|
|00006080| 30 78 31 30 36 37 2c 30 | 78 38 30 30 30 2c 30 78 |0x1067,0|x8000,0x|
|00006090| 33 41 2c 30 78 43 30 34 | 30 2c 34 2c 30 2c 30 78 |3A,0xC04|0,4,0,0x|
|000060a0| 45 30 30 2c 30 78 34 30 | 30 43 2c 30 78 31 39 46 |E00,0x40|0C,0x19F|
|000060b0| 46 2c 0a 09 30 78 38 30 | 30 30 2c 30 78 36 33 2c |F,..0x80|00,0x63,|
|000060c0| 30 78 45 30 36 30 2c 34 | 2c 30 2c 30 78 32 30 30 |0xE060,4|,0,0x200|
|000060d0| 2c 30 78 43 30 30 30 2c | 30 78 31 39 31 33 2c 30 |,0xC000,|0x1913,0|
|000060e0| 78 41 30 30 30 2c 0a 09 | 30 78 31 43 30 2c 30 78 |xA000,..|0x1C0,0x|
|000060f0| 33 30 45 30 2c 30 2c 30 | 2c 30 78 32 30 33 2c 30 |30E0,0,0|,0x203,0|
|00006100| 78 38 30 30 30 2c 30 78 | 31 38 31 33 2c 30 78 32 |x8000,0x|1813,0x2|
|00006110| 30 30 30 2c 30 78 33 30 | 30 2c 0a 09 30 78 31 38 |000,0x30|0,..0x18|
|00006120| 34 30 2c 30 2c 30 2c 30 | 78 32 30 36 2c 30 2c 30 |40,0,0,0|x206,0,0|
|00006130| 78 38 33 33 2c 30 2c 30 | 78 33 30 30 2c 30 78 38 |x833,0,0|x300,0x8|
|00006140| 30 30 2c 30 2c 30 2c 30 | 78 36 30 36 2c 0a 09 30 |00,0,0,0|x606,..0|
|00006150| 2c 30 78 43 36 30 2c 30 | 2c 30 78 33 43 33 2c 30 |,0xC60,0|,0x3C3,0|
|00006160| 78 38 38 30 30 2c 30 2c | 30 2c 30 78 34 30 43 2c |x8800,0,|0,0x40C,|
|00006170| 30 2c 30 78 34 43 30 2c | 30 2c 30 78 31 42 46 2c |0,0x4C0,|0,0x1BF,|
|00006180| 0a 09 30 78 38 38 30 30 | 2c 30 2c 30 2c 30 78 34 |..0x8800|,0,0,0x4|
|00006190| 33 38 2c 30 2c 30 78 37 | 38 30 2c 30 2c 30 78 31 |38,0,0x7|80,0,0x1|
|000061a0| 45 33 2c 30 78 31 38 31 | 38 2c 30 2c 30 2c 30 78 |E3,0x181|8,0,0,0x|
|000061b0| 34 33 30 2c 0a 09 30 2c | 30 2c 30 2c 33 2c 30 78 |430,..0,|0,0,3,0x|
|000061c0| 46 30 31 43 2c 30 2c 30 | 2c 30 78 34 45 30 2c 30 |F01C,0,0|,0x4E0,0|
|000061d0| 2c 30 2c 30 2c 30 2c 30 | 78 36 30 31 43 2c 30 2c |,0,0,0,0|x601C,0,|
|000061e0| 30 2c 0a 09 30 78 43 38 | 30 2c 30 2c 30 2c 30 2c |0,..0xC8|0,0,0,0,|
|000061f0| 30 2c 30 78 36 30 37 38 | 2c 30 2c 30 2c 30 78 44 |0,0x6078|,0,0,0xD|
|00006200| 38 30 2c 30 2c 30 2c 30 | 2c 30 2c 30 78 37 30 2c |80,0,0,0|,0,0x70,|
|00006210| 30 2c 0a 09 30 2c 30 78 | 44 30 30 2c 30 2c 30 2c |0,..0,0x|D00,0,0,|
|00006220| 30 2c 30 2c 30 78 34 30 | 2c 30 2c 30 2c 30 78 46 |0,0,0x40|,0,0,0xF|
|00006230| 36 30 2c 30 2c 30 2c 30 | 2c 30 2c 30 2c 30 2c 30 |60,0,0,0|,0,0,0,0|
|00006240| 2c 0a 09 30 78 46 38 30 | 2c 30 78 36 30 30 30 2c |,..0xF80|,0x6000,|
|00006250| 30 2c 30 2c 30 2c 30 2c | 30 2c 30 2c 30 2c 30 2c |0,0,0,0,|0,0,0,0,|
|00006260| 30 2c 30 2c 30 2c 30 2c | 30 2c 30 2c 30 2c 30 2c |0,0,0,0,|0,0,0,0,|
|00006270| 0a 09 30 2c 30 2c 30 2c | 30 2c 30 2c 30 2c 30 78 |..0,0,0,|0,0,0,0x|
|00006280| 36 30 2c 30 2c 30 2c 30 | 2c 30 2c 30 2c 30 2c 30 |60,0,0,0|,0,0,0,0|
|00006290| 2c 30 78 31 43 30 2c 30 | 2c 30 2c 0a 09 30 78 37 |,0x1C0,0|,0,..0x7|
|000062a0| 43 31 46 2c 30 78 46 46 | 46 46 2c 30 78 43 30 30 |C1F,0xFF|FF,0xC00|
|000062b0| 30 2c 30 2c 30 2c 30 78 | 31 46 43 30 2c 30 2c 30 |0,0,0,0x|1FC0,0,0|
|000062c0| 78 38 37 46 2c 30 78 43 | 33 46 30 2c 30 2c 0a 09 |x87F,0xC|3F0,0,..|
|000062d0| 30 78 37 46 30 30 2c 30 | 2c 30 78 31 46 2c 30 78 |0x7F00,0|,0x1F,0x|
|000062e0| 44 46 34 30 2c 30 78 31 | 46 2c 30 78 46 46 43 30 |DF40,0x1|F,0xFFC0|
|000062f0| 2c 30 2c 30 2c 30 78 31 | 45 30 2c 37 2c 30 78 46 |,0,0,0x1|E0,7,0xF|
|00006300| 46 46 43 2c 0a 09 30 78 | 46 45 43 30 2c 30 78 33 |FFC,..0x|FEC0,0x3|
|00006310| 46 30 2c 30 2c 30 2c 30 | 2c 30 78 31 45 30 2c 30 |F0,0,0,0|,0x1E0,0|
|00006320| 78 31 46 43 2c 30 78 36 | 30 30 30 2c 30 78 31 46 |x1FC,0x6|000,0x1F|
|00006330| 38 2c 30 78 33 45 30 30 | 2c 0a 09 30 2c 30 2c 30 |8,0x3E00|,..0,0,0|
|00006340| 2c 30 78 31 43 30 2c 30 | 78 36 46 30 2c 30 2c 37 |,0x1C0,0|x6F0,0,7|
|00006350| 2c 30 78 43 30 30 30 2c | 30 2c 30 2c 30 2c 30 78 |,0xC000,|0,0,0,0x|
|00006360| 33 43 30 2c 30 78 31 38 | 30 2c 30 2c 0a 09 30 2c |3C0,0x18|0,0,..0,|
|00006370| 30 2c 30 2c 30 2c 30 2c | 30 78 33 46 43 2c 30 78 |0,0,0,0,|0x3FC,0x|
|00006380| 45 30 36 30 2c 30 2c 30 | 2c 30 2c 30 2c 30 2c 30 |E060,0,0|,0,0,0,0|
|00006390| 2c 30 78 45 30 2c 30 2c | 30 2c 30 2c 0a 09 30 2c |,0xE0,0,|0,0,..0,|
|000063a0| 30 2c 30 2c 30 2c 30 0a | 7d 3b 0a 0a 6d 70 72 5f |0,0,0,0.|};..mpr_|
|000063b0| 73 74 61 74 69 63 28 6d | 69 63 6f 6e 2c 20 31 32 |static(m|icon, 12|
|000063c0| 36 2c 20 36 33 2c 20 31 | 2c 20 6d 69 63 6e 29 3b |6, 63, 1|, micn);|
|000063d0| 0a 0a 2f 2a 20 42 69 67 | 20 69 6d 61 67 65 20 64 |../* Big| image d|
|000063e0| 65 66 69 6e 69 74 69 6f | 6e 2e 20 2a 2f 0a 0a 73 |efinitio|n. */..s|
|000063f0| 68 6f 72 74 20 62 69 6d | 67 5b 5d 20 3d 20 7b 0a |hort bim|g[] = {.|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.