home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: SHell self-extracting ARchive
(archive/shar).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Newsgroup Content (archive/news)
| magic
| Supported |
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
| news or mail, ASCII text
| 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
| message/rfc822
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 53 75 62 6a 65 63 74 3a | 20 20 76 30 31 69 30 37 |Subject:| v01i07|
|00000010| 33 3a 20 20 50 61 74 63 | 68 65 73 20 66 6f 72 20 |3: Patc|hes for |
|00000020| 63 61 6c 65 6e 74 6f 6f | 6c 20 28 74 6f 20 70 61 |calentoo|l (to pa|
|00000030| 74 63 68 6c 65 76 65 6c | 20 34 29 2c 20 50 61 72 |tchlevel| 4), Par|
|00000040| 74 30 32 2f 30 34 0a 4e | 65 77 73 67 72 6f 75 70 |t02/04.N|ewsgroup|
|00000050| 73 3a 20 63 6f 6d 70 2e | 73 6f 75 72 63 65 73 2e |s: comp.|sources.|
|00000060| 73 75 6e 0a 41 70 70 72 | 6f 76 65 64 3a 20 6d 63 |sun.Appr|oved: mc|
|00000070| 67 72 65 77 40 61 72 61 | 6d 69 73 2e 72 75 74 67 |grew@ara|mis.rutg|
|00000080| 65 72 73 2e 65 64 75 0a | 0a 53 75 62 6d 69 74 74 |ers.edu.|.Submitt|
|00000090| 65 64 2d 62 79 3a 20 42 | 69 6c 6c 20 52 61 6e 64 |ed-by: B|ill Rand|
|000000a0| 6c 65 20 3c 62 69 6c 6c | 72 40 73 61 61 62 2e 63 |le <bill|r@saab.c|
|000000b0| 6e 61 2e 74 65 6b 2e 63 | 6f 6d 3e 0a 50 6f 73 74 |na.tek.c|om>.Post|
|000000c0| 69 6e 67 2d 6e 75 6d 62 | 65 72 3a 20 56 6f 6c 75 |ing-numb|er: Volu|
|000000d0| 6d 65 20 31 2c 20 49 73 | 73 75 65 20 37 33 0a 41 |me 1, Is|sue 73.A|
|000000e0| 72 63 68 69 76 65 2d 6e | 61 6d 65 3a 20 63 61 6c |rchive-n|ame: cal|
|000000f0| 65 6e 74 6f 6f 6c 2f 70 | 61 74 63 68 34 62 0a 0a |entool/p|atch4b..|
|00000100| 23 21 20 2f 62 69 6e 2f | 73 68 0a 23 20 54 68 69 |#! /bin/|sh.# Thi|
|00000110| 73 20 69 73 20 61 20 73 | 68 65 6c 6c 20 61 72 63 |s is a s|hell arc|
|00000120| 68 69 76 65 2e 20 20 52 | 65 6d 6f 76 65 20 61 6e |hive. R|emove an|
|00000130| 79 74 68 69 6e 67 20 62 | 65 66 6f 72 65 20 74 68 |ything b|efore th|
|00000140| 69 73 20 6c 69 6e 65 2c | 20 74 68 65 6e 20 75 6e |is line,| then un|
|00000150| 70 61 63 6b 0a 23 20 69 | 74 20 62 79 20 73 61 76 |pack.# i|t by sav|
|00000160| 69 6e 67 20 69 74 20 69 | 6e 74 6f 20 61 20 66 69 |ing it i|nto a fi|
|00000170| 6c 65 20 61 6e 64 20 74 | 79 70 69 6e 67 20 22 73 |le and t|yping "s|
|00000180| 68 20 66 69 6c 65 22 2e | 20 20 54 6f 20 6f 76 65 |h file".| To ove|
|00000190| 72 77 72 69 74 65 20 65 | 78 69 73 74 69 6e 67 0a |rwrite e|xisting.|
|000001a0| 23 20 66 69 6c 65 73 2c | 20 74 79 70 65 20 22 73 |# files,| type "s|
|000001b0| 68 20 66 69 6c 65 20 2d | 63 22 2e 20 20 59 6f 75 |h file -|c". You|
|000001c0| 20 63 61 6e 20 61 6c 73 | 6f 20 66 65 65 64 20 74 | can als|o feed t|
|000001d0| 68 69 73 20 61 73 20 73 | 74 61 6e 64 61 72 64 20 |his as s|tandard |
|000001e0| 69 6e 70 75 74 20 76 69 | 61 0a 23 20 75 6e 73 68 |input vi|a.# unsh|
|000001f0| 61 72 2c 20 6f 72 20 62 | 79 20 74 79 70 69 6e 67 |ar, or b|y typing|
|00000200| 20 22 73 68 20 3c 66 69 | 6c 65 22 2c 20 65 2e 67 | "sh <fi|le", e.g|
|00000210| 2e 2e 20 20 49 66 20 74 | 68 69 73 20 61 72 63 68 |.. If t|his arch|
|00000220| 69 76 65 20 69 73 20 63 | 6f 6d 70 6c 65 74 65 2c |ive is c|omplete,|
|00000230| 20 79 6f 75 0a 23 20 77 | 69 6c 6c 20 73 65 65 20 | you.# w|ill see |
|00000240| 74 68 65 20 66 6f 6c 6c | 6f 77 69 6e 67 20 6d 65 |the foll|owing me|
|00000250| 73 73 61 67 65 20 61 74 | 20 74 68 65 20 65 6e 64 |ssage at| the end|
|00000260| 3a 0a 23 09 09 22 45 6e | 64 20 6f 66 20 61 72 63 |:.#.."En|d of arc|
|00000270| 68 69 76 65 20 32 20 28 | 6f 66 20 34 29 2e 22 0a |hive 2 (|of 4).".|
|00000280| 23 20 43 6f 6e 74 65 6e | 74 73 3a 20 20 70 61 74 |# Conten|ts: pat|
|00000290| 63 68 65 73 30 34 62 0a | 23 20 57 72 61 70 70 65 |ches04b.|# Wrappe|
|000002a0| 64 20 62 79 20 62 69 6c | 6c 72 40 73 61 61 62 20 |d by bil|lr@saab |
|000002b0| 6f 6e 20 54 75 65 20 53 | 65 70 20 31 39 20 30 36 |on Tue S|ep 19 06|
|000002c0| 3a 32 39 3a 35 37 20 31 | 39 38 39 0a 50 41 54 48 |:29:57 1|989.PATH|
|000002d0| 3d 2f 62 69 6e 3a 2f 75 | 73 72 2f 62 69 6e 3a 2f |=/bin:/u|sr/bin:/|
|000002e0| 75 73 72 2f 75 63 62 20 | 3b 20 65 78 70 6f 72 74 |usr/ucb |; export|
|000002f0| 20 50 41 54 48 0a 69 66 | 20 74 65 73 74 20 2d 66 | PATH.if| test -f|
|00000300| 20 27 70 61 74 63 68 65 | 73 30 34 62 27 20 2d 61 | 'patche|s04b' -a|
|00000310| 20 22 24 7b 31 7d 22 20 | 21 3d 20 22 2d 63 22 20 | "${1}" |!= "-c" |
|00000320| 3b 20 74 68 65 6e 20 0a | 20 20 65 63 68 6f 20 73 |; then .| echo s|
|00000330| 68 61 72 3a 20 57 69 6c | 6c 20 6e 6f 74 20 63 6c |har: Wil|l not cl|
|00000340| 6f 62 62 65 72 20 65 78 | 69 73 74 69 6e 67 20 66 |obber ex|isting f|
|00000350| 69 6c 65 20 5c 22 27 70 | 61 74 63 68 65 73 30 34 |ile \"'p|atches04|
|00000360| 62 27 5c 22 0a 65 6c 73 | 65 0a 65 63 68 6f 20 73 |b'\".els|e.echo s|
|00000370| 68 61 72 3a 20 45 78 74 | 72 61 63 74 69 6e 67 20 |har: Ext|racting |
|00000380| 5c 22 27 70 61 74 63 68 | 65 73 30 34 62 27 5c 22 |\"'patch|es04b'\"|
|00000390| 20 5c 28 35 32 37 33 33 | 20 63 68 61 72 61 63 74 | \(52733| charact|
|000003a0| 65 72 73 5c 29 0a 73 65 | 64 20 22 73 2f 5e 58 2f |ers\).se|d "s/^X/|
|000003b0| 2f 22 20 3e 27 70 61 74 | 63 68 65 73 30 34 62 27 |/" >'pat|ches04b'|
|000003c0| 20 3c 3c 27 45 4e 44 5f | 4f 46 5f 46 49 4c 45 27 | <<'END_|OF_FILE'|
|000003d0| 0a 58 2a 2a 2a 20 2f 74 | 6d 70 2f 2c 52 43 53 74 |.X*** /t|mp/,RCSt|
|000003e0| 31 61 30 35 35 35 35 09 | 57 65 64 20 4a 75 6c 20 |1a05555.|Wed Jul |
|000003f0| 31 39 20 32 30 3a 34 36 | 3a 30 32 20 31 39 38 39 |19 20:46|:02 1989|
|00000400| 0a 58 2d 2d 2d 20 6d 6f | 6f 6e 2e 63 09 57 65 64 |.X--- mo|on.c.Wed|
|00000410| 20 4a 75 6c 20 31 39 20 | 32 30 3a 32 39 3a 30 30 | Jul 19 |20:29:00|
|00000420| 20 31 39 38 39 0a 58 2a | 2a 2a 2a 2a 2a 2a 2a 2a | 1989.X*|********|
|00000430| 2a 2a 2a 2a 2a 2a 0a 58 | 2a 2a 2a 20 31 2c 35 0a |******.X|*** 1,5.|
|00000440| 58 20 20 2f 2a 0a 58 21 | 20 20 2a 20 24 48 65 61 |X /*.X!| * $Hea|
|00000450| 64 65 72 3a 20 6d 6f 6f | 6e 2e 63 2c 76 20 32 2e |der: moo|n.c,v 2.|
|00000460| 31 20 38 39 2f 30 35 2f | 30 39 20 31 34 3a 31 39 |1 89/05/|09 14:19|
|00000470| 3a 32 32 20 62 69 6c 6c | 72 20 45 78 70 20 24 0a |:22 bill|r Exp $.|
|00000480| 58 20 20 20 2a 2f 0a 58 | 20 20 2f 2a 0a 58 20 20 |X */.X| /*.X |
|00000490| 20 2a 20 6d 6f 6f 6e 2e | 63 0a 58 0a 58 2d 2d 2d | * moon.|c.X.X---|
|000004a0| 20 31 2c 35 20 2d 2d 2d | 2d 2d 0a 58 20 20 2f 2a | 1,5 ---|--.X /*|
|000004b0| 0a 58 21 20 20 2a 20 24 | 48 65 61 64 65 72 3a 20 |.X! * $|Header: |
|000004c0| 6d 6f 6f 6e 2e 63 2c 76 | 20 32 2e 32 20 38 39 2f |moon.c,v| 2.2 89/|
|000004d0| 30 37 2f 31 39 20 32 30 | 3a 32 38 3a 31 32 20 62 |07/19 20|:28:12 b|
|000004e0| 69 6c 6c 72 20 45 78 70 | 20 24 0a 58 20 20 20 2a |illr Exp| $.X *|
|000004f0| 2f 0a 58 20 20 2f 2a 0a | 58 20 20 20 2a 20 6d 6f |/.X /*.|X * mo|
|00000500| 6f 6e 2e 63 0a 58 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |on.c.X**|********|
|00000510| 2a 2a 2a 2a 2a 0a 58 2a | 2a 2a 20 39 2c 31 35 0a |*****.X*|** 9,15.|
|00000520| 58 20 20 20 2a 20 42 69 | 6c 6c 20 52 61 6e 64 6c |X * Bi|ll Randl|
|00000530| 65 2c 20 54 65 6b 74 72 | 6f 6e 69 78 2c 20 49 6e |e, Tektr|onix, In|
|00000540| 63 2e 20 74 6f 20 69 6e | 74 65 72 66 61 63 65 20 |c. to in|terface |
|00000550| 74 6f 20 74 68 65 20 63 | 61 6c 65 6e 74 6f 6f 6c |to the c|alentool|
|00000560| 0a 58 20 20 20 2a 20 70 | 72 6f 67 72 61 6d 2e 0a |.X * p|rogram..|
|00000570| 58 20 20 20 2a 2f 0a 58 | 21 20 23 69 6e 63 6c 75 |X */.X|! #inclu|
|00000580| 64 65 20 22 63 74 2e 68 | 22 09 09 2f 2a 20 66 6f |de "ct.h|"../* fo|
|00000590| 72 20 74 68 65 20 4e 4f | 5f 53 55 4e 5f 4d 4f 4f |r the NO|_SUN_MOO|
|000005a0| 4e 20 23 64 65 66 69 6e | 65 20 2a 2f 0a 58 20 20 |N #defin|e */.X |
|000005b0| 23 69 66 6e 64 65 66 20 | 4e 4f 5f 53 55 4e 5f 4d |#ifndef |NO_SUN_M|
|000005c0| 4f 4f 4e 0a 58 20 20 0a | 58 20 20 2f 2a 0a 58 0a |OON.X .|X /*.X.|
|000005d0| 58 2d 2d 2d 20 39 2c 31 | 35 20 2d 2d 2d 2d 2d 0a |X--- 9,1|5 -----.|
|000005e0| 58 20 20 20 2a 20 42 69 | 6c 6c 20 52 61 6e 64 6c |X * Bi|ll Randl|
|000005f0| 65 2c 20 54 65 6b 74 72 | 6f 6e 69 78 2c 20 49 6e |e, Tektr|onix, In|
|00000600| 63 2e 20 74 6f 20 69 6e | 74 65 72 66 61 63 65 20 |c. to in|terface |
|00000610| 74 6f 20 74 68 65 20 63 | 61 6c 65 6e 74 6f 6f 6c |to the c|alentool|
|00000620| 0a 58 20 20 20 2a 20 70 | 72 6f 67 72 61 6d 2e 0a |.X * p|rogram..|
|00000630| 58 20 20 20 2a 2f 0a 58 | 21 20 23 69 6e 63 6c 75 |X */.X|! #inclu|
|00000640| 64 65 20 22 63 74 2e 68 | 22 20 20 20 20 20 2f 2a |de "ct.h|" /*|
|00000650| 20 66 6f 72 20 74 68 65 | 20 4e 4f 5f 53 55 4e 5f | for the| NO_SUN_|
|00000660| 4d 4f 4f 4e 20 23 64 65 | 66 69 6e 65 20 2a 2f 0a |MOON #de|fine */.|
|00000670| 58 20 20 23 69 66 6e 64 | 65 66 20 4e 4f 5f 53 55 |X #ifnd|ef NO_SU|
|00000680| 4e 5f 4d 4f 4f 4e 0a 58 | 20 20 0a 58 20 20 2f 2a |N_MOON.X| .X /*|
|00000690| 0a 58 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.X******|********|
|000006a0| 2a 0a 58 2a 2a 2a 20 31 | 36 2c 32 32 0a 58 20 20 |*.X*** 1|6,22.X |
|000006b0| 0a 58 20 20 20 20 20 20 | 41 20 4d 6f 6f 6e 20 66 |.X |A Moon f|
|000006c0| 6f 72 20 74 68 65 20 53 | 75 6e 0a 58 20 20 0a 58 |or the S|un.X .X|
|000006d0| 21 20 20 20 20 20 52 65 | 6c 65 61 73 65 20 32 2e |! Re|lease 2.|
|000006e0| 30 0a 58 20 20 0a 58 20 | 20 20 20 20 20 44 65 73 |0.X .X | Des|
|000006f0| 69 67 6e 65 64 20 61 6e | 64 20 69 6d 70 6c 65 6d |igned an|d implem|
|00000700| 65 6e 74 65 64 20 62 79 | 20 4a 6f 68 6e 20 57 61 |ented by| John Wa|
|00000710| 6c 6b 65 72 20 69 6e 20 | 44 65 63 65 6d 62 65 72 |lker in |December|
|00000720| 20 31 39 38 37 2c 0a 58 | 20 20 20 20 20 20 72 65 | 1987,.X| re|
|00000730| 76 69 73 65 64 20 61 6e | 64 20 75 70 64 61 74 65 |vised an|d update|
|00000740| 64 20 69 6e 20 46 65 62 | 72 75 61 72 79 20 6f 66 |d in Feb|ruary of|
|00000750| 20 31 39 38 38 2e 0a 58 | 0a 58 2d 2d 2d 20 31 36 | 1988..X|.X--- 16|
|00000760| 2c 32 32 20 2d 2d 2d 2d | 2d 0a 58 20 20 0a 58 20 |,22 ----|-.X .X |
|00000770| 20 20 20 20 20 41 20 4d | 6f 6f 6e 20 66 6f 72 20 | A M|oon for |
|00000780| 74 68 65 20 53 75 6e 0a | 58 20 20 0a 58 21 20 20 |the Sun.|X .X! |
|00000790| 20 20 20 52 65 6c 65 61 | 73 65 20 32 2e 33 0a 58 | Relea|se 2.3.X|
|000007a0| 20 20 0a 58 20 20 20 20 | 20 20 44 65 73 69 67 6e | .X | Design|
|000007b0| 65 64 20 61 6e 64 20 69 | 6d 70 6c 65 6d 65 6e 74 |ed and i|mplement|
|000007c0| 65 64 20 62 79 20 4a 6f | 68 6e 20 57 61 6c 6b 65 |ed by Jo|hn Walke|
|000007d0| 72 20 69 6e 20 44 65 63 | 65 6d 62 65 72 20 31 39 |r in Dec|ember 19|
|000007e0| 38 37 2c 0a 58 20 20 20 | 20 20 20 72 65 76 69 73 |87,.X | revis|
|000007f0| 65 64 20 61 6e 64 20 75 | 70 64 61 74 65 64 20 69 |ed and u|pdated i|
|00000800| 6e 20 46 65 62 72 75 61 | 72 79 20 6f 66 20 31 39 |n Februa|ry of 19|
|00000810| 38 38 2e 0a 58 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |88..X***|********|
|00000820| 2a 2a 2a 2a 0a 58 2a 2a | 2a 20 32 30 2c 32 35 0a |****.X**|* 20,25.|
|00000830| 58 20 20 0a 58 20 20 20 | 20 20 20 44 65 73 69 67 |X .X | Desig|
|00000840| 6e 65 64 20 61 6e 64 20 | 69 6d 70 6c 65 6d 65 6e |ned and |implemen|
|00000850| 74 65 64 20 62 79 20 4a | 6f 68 6e 20 57 61 6c 6b |ted by J|ohn Walk|
|00000860| 65 72 20 69 6e 20 44 65 | 63 65 6d 62 65 72 20 31 |er in De|cember 1|
|00000870| 39 38 37 2c 0a 58 20 20 | 20 20 20 20 72 65 76 69 |987,.X | revi|
|00000880| 73 65 64 20 61 6e 64 20 | 75 70 64 61 74 65 64 20 |sed and |updated |
|00000890| 69 6e 20 46 65 62 72 75 | 61 72 79 20 6f 66 20 31 |in Febru|ary of 1|
|000008a0| 39 38 38 2e 0a 58 20 20 | 0a 58 20 20 20 20 20 20 |988..X |.X |
|000008b0| 63 63 20 2d 4f 20 6d 6f | 6f 6e 74 6f 6f 6c 2e 63 |cc -O mo|ontool.c|
|000008c0| 20 2d 6f 20 6d 6f 6f 6e | 74 6f 6f 6c 20 2d 6c 6d | -o moon|tool -lm|
|000008d0| 20 2d 6c 73 75 6e 74 6f | 6f 6c 20 2d 6c 73 75 6e | -lsunto|ol -lsun|
|000008e0| 77 69 6e 64 6f 77 20 2d | 6c 70 69 78 72 65 63 74 |window -|lpixrect|
|000008f0| 0a 58 20 20 0a 58 0a 58 | 2d 2d 2d 20 32 30 2c 32 |.X .X.X|--- 20,2|
|00000900| 36 20 2d 2d 2d 2d 2d 0a | 58 20 20 0a 58 20 20 20 |6 -----.|X .X |
|00000910| 20 20 20 44 65 73 69 67 | 6e 65 64 20 61 6e 64 20 | Desig|ned and |
|00000920| 69 6d 70 6c 65 6d 65 6e | 74 65 64 20 62 79 20 4a |implemen|ted by J|
|00000930| 6f 68 6e 20 57 61 6c 6b | 65 72 20 69 6e 20 44 65 |ohn Walk|er in De|
|00000940| 63 65 6d 62 65 72 20 31 | 39 38 37 2c 0a 58 20 20 |cember 1|987,.X |
|00000950| 20 20 20 20 72 65 76 69 | 73 65 64 20 61 6e 64 20 | revi|sed and |
|00000960| 75 70 64 61 74 65 64 20 | 69 6e 20 46 65 62 72 75 |updated |in Febru|
|00000970| 61 72 79 20 6f 66 20 31 | 39 38 38 2e 0a 58 2b 20 |ary of 1|988..X+ |
|00000980| 20 20 20 20 72 65 76 69 | 73 65 64 20 61 6e 64 20 | revi|sed and |
|00000990| 75 70 64 61 74 65 64 20 | 61 67 61 69 6e 20 69 6e |updated |again in|
|000009a0| 20 4a 75 6e 65 20 6f 66 | 20 31 39 38 38 20 62 79 | June of| 1988 by|
|000009b0| 20 52 6f 6e 20 48 69 74 | 63 68 65 6e 73 0a 58 20 | Ron Hit|chens.X |
|000009c0| 20 0a 58 20 20 20 20 20 | 20 4d 61 6b 65 20 77 69 | .X | Make wi|
|000009d0| 74 68 3a 0a 58 20 20 0a | 58 2a 2a 2a 2a 2a 2a 2a |th:.X .|X*******|
|000009e0| 2a 2a 2a 2a 2a 2a 2a 2a | 0a 58 2a 2a 2a 20 32 31 |********|.X*** 21|
|000009f0| 2c 32 36 0a 58 20 20 20 | 20 20 20 44 65 73 69 67 |,26.X | Desig|
|00000a00| 6e 65 64 20 61 6e 64 20 | 69 6d 70 6c 65 6d 65 6e |ned and |implemen|
|00000a10| 74 65 64 20 62 79 20 4a | 6f 68 6e 20 57 61 6c 6b |ted by J|ohn Walk|
|00000a20| 65 72 20 69 6e 20 44 65 | 63 65 6d 62 65 72 20 31 |er in De|cember 1|
|00000a30| 39 38 37 2c 0a 58 20 20 | 20 20 20 20 72 65 76 69 |987,.X | revi|
|00000a40| 73 65 64 20 61 6e 64 20 | 75 70 64 61 74 65 64 20 |sed and |updated |
|00000a50| 69 6e 20 46 65 62 72 75 | 61 72 79 20 6f 66 20 31 |in Febru|ary of 1|
|00000a60| 39 38 38 2e 0a 58 20 20 | 0a 58 20 20 20 20 20 20 |988..X |.X |
|00000a70| 63 63 20 2d 4f 20 6d 6f | 6f 6e 74 6f 6f 6c 2e 63 |cc -O mo|ontool.c|
|00000a80| 20 2d 6f 20 6d 6f 6f 6e | 74 6f 6f 6c 20 2d 6c 6d | -o moon|tool -lm|
|00000a90| 20 2d 6c 73 75 6e 74 6f | 6f 6c 20 2d 6c 73 75 6e | -lsunto|ol -lsun|
|00000aa0| 77 69 6e 64 6f 77 20 2d | 6c 70 69 78 72 65 63 74 |window -|lpixrect|
|00000ab0| 0a 58 20 20 0a 58 20 20 | 20 20 20 20 41 64 64 69 |.X .X | Addi|
|00000ac0| 6e 67 20 20 61 70 70 72 | 6f 70 72 69 61 74 65 20 |ng appr|opriate |
|00000ad0| 20 66 6c 6f 61 74 69 6e | 67 20 20 70 6f 69 6e 74 | floatin|g point|
|00000ae0| 20 20 6f 70 74 69 6f 6e | 73 20 20 74 6f 20 79 6f | option|s to yo|
|00000af0| 75 72 20 68 61 72 64 77 | 61 72 65 2e 20 20 54 68 |ur hardw|are. Th|
|00000b00| 69 73 0a 58 0a 58 2d 2d | 2d 20 32 32 2c 32 39 20 |is.X.X--|- 22,29 |
|00000b10| 2d 2d 2d 2d 2d 0a 58 20 | 20 20 20 20 20 72 65 76 |-----.X | rev|
|00000b20| 69 73 65 64 20 61 6e 64 | 20 75 70 64 61 74 65 64 |ised and| updated|
|00000b30| 20 69 6e 20 46 65 62 72 | 75 61 72 79 20 6f 66 20 | in Febr|uary of |
|00000b40| 31 39 38 38 2e 0a 58 20 | 20 20 20 20 20 72 65 76 |1988..X | rev|
|00000b50| 69 73 65 64 20 61 6e 64 | 20 75 70 64 61 74 65 64 |ised and| updated|
|00000b60| 20 61 67 61 69 6e 20 69 | 6e 20 4a 75 6e 65 20 6f | again i|n June o|
|00000b70| 66 20 31 39 38 38 20 62 | 79 20 52 6f 6e 20 48 69 |f 1988 b|y Ron Hi|
|00000b80| 74 63 68 65 6e 73 0a 58 | 20 20 0a 58 2b 20 20 20 |tchens.X| .X+ |
|00000b90| 20 20 4d 61 6b 65 20 77 | 69 74 68 3a 0a 58 2b 20 | Make w|ith:.X+ |
|00000ba0| 0a 58 20 20 20 20 20 20 | 63 63 20 2d 4f 20 6d 6f |.X |cc -O mo|
|00000bb0| 6f 6e 74 6f 6f 6c 2e 63 | 20 2d 6f 20 6d 6f 6f 6e |ontool.c| -o moon|
|00000bc0| 74 6f 6f 6c 20 2d 6c 6d | 20 2d 6c 73 75 6e 74 6f |tool -lm| -lsunto|
|00000bd0| 6f 6c 20 2d 6c 73 75 6e | 77 69 6e 64 6f 77 20 2d |ol -lsun|window -|
|00000be0| 6c 70 69 78 72 65 63 74 | 0a 58 20 20 0a 58 20 20 |lpixrect|.X .X |
|00000bf0| 20 20 20 20 41 64 64 69 | 6e 67 20 20 61 70 70 72 | Addi|ng appr|
|00000c00| 6f 70 72 69 61 74 65 20 | 20 66 6c 6f 61 74 69 6e |opriate | floatin|
|00000c10| 67 20 20 70 6f 69 6e 74 | 20 20 6f 70 74 69 6f 6e |g point| option|
|00000c20| 73 20 20 74 6f 20 79 6f | 75 72 20 68 61 72 64 77 |s to yo|ur hardw|
|00000c30| 61 72 65 2e 20 20 54 68 | 69 73 0a 58 2a 2a 2a 2a |are. Th|is.X****|
|00000c40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0a 58 2a 2a 2a |********|***.X***|
|00000c50| 20 37 35 2c 38 30 0a 58 | 20 20 20 20 20 20 70 72 | 75,80.X| pr|
|00000c60| 6f 67 72 61 6d 2e 20 20 | 50 6c 65 61 73 65 20 6c |ogram. |Please l|
|00000c70| 65 61 76 65 20 74 68 65 | 20 6f 72 69 67 69 6e 61 |eave the| origina|
|00000c80| 6c 20 61 74 74 72 69 62 | 75 74 69 6f 6e 20 69 6e |l attrib|ution in|
|00000c90| 66 6f 72 6d 61 74 69 6f | 6e 20 69 6e 74 61 63 74 |formatio|n intact|
|00000ca0| 09 73 6f 0a 58 20 20 20 | 20 20 20 74 68 61 74 20 |.so.X | that |
|00000cb0| 63 72 65 64 69 74 20 61 | 6e 64 20 62 6c 61 6d 65 |credit a|nd blame|
|00000cc0| 20 6d 61 79 20 62 65 20 | 70 72 6f 70 65 72 6c 79 | may be |properly|
|00000cd0| 20 61 70 70 6f 72 74 69 | 6f 6e 65 64 2e 0a 58 20 | apporti|oned..X |
|00000ce0| 20 0a 58 20 20 2a 2f 0a | 58 20 20 0a 58 20 20 2f | .X */.|X .X /|
|00000cf0| 2a 20 20 41 73 74 72 6f | 6e 6f 6d 69 63 61 6c 20 |* Astro|nomical |
|00000d00| 63 6f 6e 73 74 61 6e 74 | 73 20 20 2a 2f 0a 58 0a |constant|s */.X.|
|00000d10| 58 2d 2d 2d 20 37 38 2c | 31 34 37 20 2d 2d 2d 2d |X--- 78,|147 ----|
|00000d20| 2d 0a 58 20 20 20 20 20 | 20 70 72 6f 67 72 61 6d |-.X | program|
|00000d30| 2e 20 20 50 6c 65 61 73 | 65 20 6c 65 61 76 65 20 |. Pleas|e leave |
|00000d40| 74 68 65 20 6f 72 69 67 | 69 6e 61 6c 20 61 74 74 |the orig|inal att|
|00000d50| 72 69 62 75 74 69 6f 6e | 20 69 6e 66 6f 72 6d 61 |ribution| informa|
|00000d60| 74 69 6f 6e 20 69 6e 74 | 61 63 74 09 73 6f 0a 58 |tion int|act.so.X|
|00000d70| 20 20 20 20 20 20 74 68 | 61 74 20 63 72 65 64 69 | th|at credi|
|00000d80| 74 20 61 6e 64 20 62 6c | 61 6d 65 20 6d 61 79 20 |t and bl|ame may |
|00000d90| 62 65 20 70 72 6f 70 65 | 72 6c 79 20 61 70 70 6f |be prope|rly appo|
|00000da0| 72 74 69 6f 6e 65 64 2e | 0a 58 20 20 0a 58 2b 20 |rtioned.|.X .X+ |
|00000db0| 20 20 20 52 65 76 69 73 | 69 6f 6e 20 68 69 73 74 | Revis|ion hist|
|00000dc0| 6f 72 79 3a 0a 58 2b 20 | 0a 58 2b 20 20 20 20 20 |ory:.X+ |.X+ |
|00000dd0| 20 20 20 20 31 2e 30 20 | 20 31 31 2f 35 2f 38 37 | 1.0 | 11/5/87|
|00000de0| 20 20 20 46 69 72 73 74 | 20 76 65 72 73 69 6f 6e | First| version|
|00000df0| 2e 20 20 4f 6e 6c 79 20 | 64 69 73 70 6c 61 79 65 |. Only |displaye|
|00000e00| 64 20 69 63 6f 6e 2c 20 | 6e 6f 0a 58 2b 20 20 20 |d icon, |no.X+ |
|00000e10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000e20| 20 20 20 20 20 6f 70 65 | 6e 20 77 69 6e 64 6f 77 | ope|n window|
|00000e30| 20 69 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 64 69 73 | informa|tion dis|
|00000e40| 70 6c 61 79 2e 0a 58 2b | 20 0a 58 2b 20 20 20 20 |play..X+| .X+ |
|00000e50| 20 20 20 20 20 32 2e 30 | 20 20 33 2f 32 37 2f 38 | 2.0| 3/27/8|
|00000e60| 38 20 20 20 46 69 72 73 | 74 20 70 6f 73 74 69 6e |8 Firs|t postin|
|00000e70| 67 20 74 6f 20 63 6f 6d | 70 2e 73 6f 75 72 63 65 |g to com|p.source|
|00000e80| 73 2e 75 6e 69 78 2e 0a | 58 2b 20 0a 58 2b 20 20 |s.unix..|X+ .X+ |
|00000e90| 20 20 20 20 20 20 20 32 | 2e 31 20 20 36 2f 31 36 | 2|.1 6/16|
|00000ea0| 2f 38 38 20 20 20 42 75 | 67 20 66 69 78 2e 20 20 |/88 Bu|g fix. |
|00000eb0| 54 61 62 6c 65 20 6f 66 | 20 70 68 61 73 65 73 20 |Table of| phases |
|00000ec0| 64 69 64 6e 27 74 20 75 | 70 64 61 74 65 0a 58 2b |didn't u|pdate.X+|
|00000ed0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ee0| 20 20 20 20 20 20 20 20 | 61 74 20 74 68 65 20 6d | |at the m|
|00000ef0| 6f 6d 65 6e 74 20 6f 66 | 20 74 68 65 20 6e 65 77 |oment of| the new|
|00000f00| 20 6d 6f 6f 6e 2e 20 20 | 43 61 6c 6c 20 6f 6e 0a | moon. |Call on.|
|00000f10| 58 2b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X+ | |
|00000f20| 20 20 20 20 20 20 20 20 | 20 20 70 68 61 73 65 68 | | phaseh|
|00000f30| 75 6e 74 20 64 69 64 6e | 27 74 20 63 6f 6e 76 65 |unt didn|'t conve|
|00000f40| 72 74 20 63 69 76 69 6c | 20 4a 75 6c 69 61 6e 20 |rt civil| Julian |
|00000f50| 64 61 74 65 0a 58 2b 20 | 20 20 20 20 20 20 20 20 |date.X+ | |
|00000f60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 74 | | t|
|00000f70| 6f 20 61 73 74 72 6f 6e | 6f 6d 69 63 61 6c 20 4a |o astron|omical J|
|00000f80| 75 6c 69 61 6e 20 64 61 | 74 65 2e 20 20 52 65 70 |ulian da|te. Rep|
|00000f90| 6f 72 74 65 64 20 62 79 | 0a 58 2b 20 20 20 20 20 |orted by|.X+ |
|00000fa0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000fb0| 20 20 20 44 61 67 20 42 | 72 75 63 6b 20 28 64 61 | Dag B|ruck (da|
|00000fc0| 67 40 63 6f 6e 74 72 6f | 6c 2e 6c 74 68 2e 73 65 |g@contro|l.lth.se|
|00000fd0| 29 2e 0a 58 2b 20 0a 58 | 2b 20 20 20 20 20 20 20 |)..X+ .X|+ |
|00000fe0| 20 20 32 2e 32 20 20 32 | 2f 32 37 2f 38 39 20 20 | 2.2 2|/27/89 |
|00000ff0| 20 4d 69 63 68 61 65 6c | 20 4d 63 43 6c 61 72 79 | Michael| McClary|
|00001000| 20 20 28 6d 69 63 68 61 | 65 6c 40 78 61 6e 61 64 | (micha|el@xanad|
|00001010| 75 2e 43 4f 4d 29 0a 58 | 2b 20 20 20 20 20 20 20 |u.COM).X|+ |
|00001020| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001030| 20 41 64 64 65 64 20 6d | 6f 6f 6e 20 6d 61 70 2c | Added m|oon map,|
|00001040| 20 64 65 72 69 76 65 64 | 20 66 72 6f 6d 20 74 68 | derived| from th|
|00001050| 65 20 73 75 6e 20 22 66 | 75 6c 6c 6d 6f 6f 6e 22 |e sun "f|ullmoon"|
|00001060| 0a 58 2b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.X+ | |
|00001070| 20 20 20 20 20 20 20 20 | 20 20 20 69 6d 61 67 65 | | image|
|00001080| 20 66 69 6c 65 2e 20 20 | 28 49 74 20 68 61 73 20 | file. |(It has |
|00001090| 6e 6f 74 20 62 65 65 6e | 20 63 68 65 63 6b 65 64 |not been| checked|
|000010a0| 20 66 6f 72 0a 58 2b 20 | 20 20 20 20 20 20 20 20 | for.X+ | |
|000010b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 72 | | r|
|000010c0| 6f 74 61 74 69 6f 6e 20 | 66 72 6f 6d 20 74 68 65 |otation |from the|
|000010d0| 20 63 6f 72 72 65 63 74 | 20 6f 72 69 65 6e 74 61 | correct| orienta|
|000010e0| 74 69 6f 6e 2e 20 20 41 | 6c 73 6f 2c 20 61 0a 58 |tion. A|lso, a.X|
|000010f0| 2b 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |+ | |
|00001100| 20 20 20 20 20 20 20 20 | 20 66 69 78 65 64 20 69 | | fixed i|
|00001110| 63 6f 6e 20 64 6f 65 73 | 6e 27 74 20 6d 6f 64 65 |con does|n't mode|
|00001120| 6c 20 74 68 65 20 6c 69 | 62 72 61 74 69 6f 6e 73 |l the li|brations|
|00001130| 20 6f 66 20 74 68 65 0a | 58 2b 20 20 20 20 20 20 | of the.|X+ |
|00001140| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001150| 20 20 6d 6f 6f 6e 20 61 | 73 20 76 69 65 77 65 64 | moon a|s viewed|
|00001160| 20 66 72 6f 6d 20 74 68 | 65 20 65 61 72 74 68 2e | from th|e earth.|
|00001170| 29 20 41 6c 73 6f 3a 20 | 74 77 65 61 6b 65 64 0a |) Also: |tweaked.|
|00001180| 58 2b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |X+ | |
|00001190| 20 20 20 20 20 20 20 20 | 20 20 63 6f 72 6e 65 72 | | corner|
|000011a0| 73 20 6f 66 20 69 63 6f | 6e 2e 0a 58 2b 20 0a 58 |s of ico|n..X+ .X|
|000011b0| 2b 20 20 20 20 20 20 20 | 20 20 32 2e 33 20 20 36 |+ | 2.3 6|
|000011c0| 2f 37 2f 38 39 20 20 20 | 20 42 75 67 20 66 69 78 |/7/89 | Bug fix|
|000011d0| 2e 20 20 54 61 62 6c 65 | 20 6f 66 20 70 68 61 73 |. Table| of phas|
|000011e0| 65 73 20 73 6b 69 70 70 | 65 64 20 74 68 65 20 70 |es skipp|ed the p|
|000011f0| 68 61 73 65 73 0a 58 2b | 20 20 20 20 20 20 20 20 |hases.X+| |
|00001200| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001210| 66 6f 72 20 4a 75 6c 79 | 20 31 39 38 39 2e 20 20 |for July| 1989. |
|00001220| 54 68 69 73 20 6f 63 63 | 75 72 72 65 64 20 64 75 |This occ|urred du|
|00001230| 65 20 74 6f 20 73 6c 6f | 70 70 79 0a 58 2b 20 20 |e to slo|ppy.X+ |
|00001240| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001250| 20 20 20 20 20 20 6d 61 | 69 6e 74 65 6e 61 6e 63 | ma|intenanc|
|00001260| 65 20 6f 66 20 74 68 65 | 20 73 79 6e 6f 64 69 63 |e of the| synodic|
|00001270| 20 6d 6f 6e 74 68 20 69 | 6e 64 65 78 20 69 6e 20 | month i|ndex in |
|00001280| 74 68 65 0a 58 2b 20 20 | 20 20 20 20 20 20 20 20 |the.X+ | |
|00001290| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 69 6e | | in|
|000012a0| 74 65 72 63 68 61 6e 67 | 65 20 6f 66 20 69 6e 66 |terchang|e of inf|
|000012b0| 6f 72 6d 61 74 69 6f 6e | 20 62 65 74 77 65 65 6e |ormation| between|
|000012c0| 20 70 68 61 73 65 68 75 | 6e 74 28 29 0a 58 2b 20 | phasehu|nt().X+ |
|000012d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000012e0| 20 20 20 20 20 20 20 61 | 6e 64 20 6d 65 61 6e 70 | a|nd meanp|
|000012f0| 68 61 73 65 28 29 2e 20 | 20 49 20 73 69 6d 70 6c |hase(). | I simpl|
|00001300| 69 66 69 65 64 20 61 6e | 64 20 63 6f 72 72 65 63 |ified an|d correc|
|00001310| 74 65 64 0a 58 2b 20 20 | 20 20 20 20 20 20 20 20 |ted.X+ | |
|00001320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 74 68 | | th|
|00001330| 65 20 68 61 6e 64 6c 69 | 6e 67 20 6f 66 20 74 68 |e handli|ng of th|
|00001340| 65 20 6d 6f 6e 74 68 20 | 69 6e 64 65 78 20 61 73 |e month |index as|
|00001350| 20 70 68 61 73 65 68 75 | 6e 74 28 29 0a 58 2b 20 | phasehu|nt().X+ |
|00001360| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001370| 20 20 20 20 20 20 20 73 | 74 65 70 73 20 61 6c 6f | s|teps alo|
|00001380| 6e 67 20 61 6e 64 20 72 | 65 6d 6f 76 65 64 20 75 |ng and r|emoved u|
|00001390| 6e 6e 65 65 64 65 64 20 | 63 6f 64 65 20 66 72 6f |nneeded |code fro|
|000013a0| 6d 0a 58 2b 20 20 20 20 | 20 20 20 20 20 20 20 20 |m.X+ | |
|000013b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 6d 65 61 6e | | mean|
|000013c0| 70 68 61 73 65 28 29 2e | 20 20 52 65 70 6f 72 74 |phase().| Report|
|000013d0| 65 64 20 62 79 20 42 69 | 6c 6c 20 52 61 6e 64 6c |ed by Bi|ll Randl|
|000013e0| 65 20 6f 66 0a 58 2b 20 | 20 20 20 20 20 20 20 20 |e of.X+ | |
|000013f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 54 | | T|
|00001400| 65 6b 74 72 6f 6e 69 78 | 2c 20 49 6e 63 2e 20 28 |ektronix|, Inc. (|
|00001410| 62 69 6c 6c 72 40 73 61 | 61 62 2e 43 4e 41 2e 54 |billr@sa|ab.CNA.T|
|00001420| 45 4b 2e 43 4f 4d 29 2e | 0a 58 2b 20 0a 58 2b 20 |EK.COM).|.X+ .X+ |
|00001430| 41 64 64 69 74 69 6f 6e | 61 6c 20 48 69 73 74 6f |Addition|al Histo|
|00001440| 72 79 3a 0a 58 2b 20 0a | 58 2b 20 09 4a 75 6e 65 |ry:.X+ .|X+ .June|
|00001450| 20 31 39 38 38 09 4d 6f | 64 69 66 69 65 64 20 62 | 1988.Mo|dified b|
|00001460| 79 20 52 6f 6e 20 48 69 | 74 63 68 65 6e 73 20 74 |y Ron Hi|tchens t|
|00001470| 6f 20 70 72 6f 64 75 63 | 65 20 76 65 72 73 69 6f |o produc|e versio|
|00001480| 6e 20 32 2e 31 0a 58 2b | 20 09 09 09 6d 6f 64 69 |n 2.1.X+| ...modi|
|00001490| 66 69 65 64 20 69 63 6f | 6e 20 67 65 6e 65 72 61 |fied ico|n genera|
|000014a0| 74 69 6f 6e 20 74 6f 20 | 73 68 6f 77 20 73 75 72 |tion to |show sur|
|000014b0| 66 61 63 65 20 74 65 78 | 74 75 72 65 0a 58 2b 20 |face tex|ture.X+ |
|000014c0| 09 09 09 20 6f 6e 20 76 | 69 73 69 62 6c 65 20 6d |... on v|isible m|
|000014d0| 6f 6f 6e 20 66 61 63 65 | 2e 20 20 45 6c 69 6d 69 |oon face|. Elimi|
|000014e0| 6e 61 74 65 64 20 22 69 | 6c 6c 65 67 61 6c 22 20 |nated "i|llegal" |
|000014f0| 64 69 72 65 63 74 0a 58 | 2b 20 09 09 09 20 6d 6f |direct.X|+ ... mo|
|00001500| 64 69 66 69 63 61 74 69 | 6f 6e 20 6f 66 20 69 63 |dificati|on of ic|
|00001510| 6f 6e 20 69 6d 61 67 65 | 20 6d 65 6d 6f 72 79 2e |on image| memory.|
|00001520| 0a 58 2b 20 09 09 09 61 | 64 64 65 64 20 61 20 6d |.X+ ...a|dded a m|
|00001530| 65 6e 75 20 74 6f 20 61 | 6c 6c 6f 77 20 73 77 69 |enu to a|llow swi|
|00001540| 74 63 68 69 6e 67 20 69 | 6e 20 61 6e 64 20 6f 75 |tching i|n and ou|
|00001550| 74 20 6f 66 0a 58 2b 20 | 09 09 09 20 74 65 73 74 |t of.X+ |... test|
|00001560| 20 6d 6f 64 65 2c 20 66 | 6f 72 20 65 6e 74 65 72 | mode, f|or enter|
|00001570| 74 61 69 6e 6d 65 6e 74 | 20 76 61 6c 75 65 20 6d |tainment| value m|
|00001580| 6f 73 74 6c 79 2e 0a 58 | 2b 20 09 09 09 72 65 77 |ostly..X|+ ...rew|
|00001590| 6f 72 6b 65 64 20 74 69 | 6d 65 72 20 62 65 68 61 |orked ti|mer beha|
|000015a0| 76 69 6f 75 72 20 73 6f | 20 74 68 61 74 20 70 72 |viour so| that pr|
|000015b0| 6f 63 65 73 73 20 64 6f | 65 73 6e 27 74 0a 58 2b |ocess do|esn't.X+|
|000015c0| 20 09 09 09 20 77 61 6b | 65 20 75 70 20 75 6e 6e | ... wak|e up unn|
|000015d0| 65 63 65 73 73 61 72 69 | 6c 79 2e 0a 58 2b 20 09 |ecessari|ly..X+ .|
|000015e0| 09 09 74 72 61 70 20 73 | 69 67 77 69 6e 63 68 20 |..trap s|igwinch |
|000015f0| 73 69 67 6e 61 6c 73 20 | 74 6f 20 6e 6f 74 69 63 |signals |to notic|
|00001600| 65 20 6d 6f 72 65 20 65 | 61 73 69 6c 79 20 77 68 |e more e|asily wh|
|00001610| 65 6e 20 74 68 65 0a 58 | 2b 20 09 09 09 20 74 6f |en the.X|+ ... to|
|00001620| 6f 6c 20 6f 70 65 6e 73 | 20 61 6e 64 20 63 6c 6f |ol opens| and clo|
|00001630| 73 65 73 2e 0a 58 2b 20 | 09 09 09 6d 6f 64 69 66 |ses..X+ |...modif|
|00001640| 69 65 64 20 6c 61 79 6f | 75 74 20 6f 66 20 69 6e |ied layo|ut of in|
|00001650| 66 6f 72 6d 61 74 69 6f | 6e 20 69 6e 20 6f 70 65 |formatio|n in ope|
|00001660| 6e 20 77 69 6e 64 6f 77 | 20 64 69 73 70 6c 61 79 |n window| display|
|00001670| 0a 58 2b 20 09 09 09 20 | 74 6f 20 72 65 64 75 63 |.X+ ... |to reduc|
|00001680| 65 20 74 68 65 20 61 6d | 6f 75 6e 74 20 6f 66 20 |e the am|ount of |
|00001690| 70 69 78 65 6c 73 20 6d | 6f 64 69 66 69 65 64 20 |pixels m|odified |
|000016a0| 69 6e 20 65 61 63 68 0a | 58 2b 20 09 09 09 20 75 |in each.|X+ ... u|
|000016b0| 70 64 61 74 65 2e 20 20 | 42 61 74 63 68 65 64 20 |pdate. |Batched |
|000016c0| 70 69 78 77 69 6e 20 75 | 70 64 61 74 65 73 20 73 |pixwin u|pdates s|
|000016d0| 6f 20 74 68 61 74 20 6f | 6e 6c 79 20 6f 6e 65 0a |o that o|nly one.|
|000016e0| 58 2b 20 09 09 09 20 73 | 63 72 65 65 6e 20 72 61 |X+ ... s|creen ra|
|000016f0| 73 74 65 72 6f 70 20 70 | 65 72 20 63 79 63 6c 65 |sterop p|er cycle|
|00001700| 20 69 73 20 64 6f 6e 65 | 2e 0a 58 2b 20 09 09 09 | is done|..X+ ...|
|00001710| 63 68 61 6e 67 65 64 20 | 6f 70 65 6e 20 77 69 6e |changed |open win|
|00001720| 64 6f 77 20 74 6f 20 64 | 69 73 70 6c 61 79 20 77 |dow to d|isplay w|
|00001730| 68 69 74 65 2d 6f 6e 2d | 62 6c 61 63 6b 20 66 6f |hite-on-|black fo|
|00001740| 72 20 61 0a 58 2b 20 09 | 09 09 20 6d 6f 72 65 20 |r a.X+ .|.. more |
|00001750| 61 65 73 74 68 65 74 69 | 63 20 6c 6f 6f 6b 2c 20 |aestheti|c look, |
|00001760| 61 6e 64 20 74 6f 20 73 | 75 67 67 65 73 74 20 74 |and to s|uggest t|
|00001770| 68 65 20 65 66 66 65 63 | 74 20 6f 66 0a 58 2b 20 |he effec|t of.X+ |
|00001780| 09 09 09 20 6c 6f 6f 6b | 69 6e 67 20 61 74 20 74 |... look|ing at t|
|00001790| 68 65 20 6d 6f 6f 6e 20 | 69 6e 20 74 68 65 20 6e |he moon |in the n|
|000017a0| 69 67 68 74 74 69 6d 65 | 20 73 6b 79 2e 0a 58 2b |ighttime| sky..X+|
|000017b0| 20 09 09 09 73 65 74 75 | 70 20 64 65 66 61 75 6c | ...setu|p defaul|
|000017c0| 74 20 74 6f 6f 6c 20 61 | 6e 64 20 63 61 6e 76 61 |t tool a|nd canva|
|000017d0| 73 20 63 6f 6c 6f 72 73 | 20 74 6f 20 62 65 20 74 |s colors| to be t|
|000017e0| 68 65 20 73 61 6d 65 0a | 58 2b 20 09 09 09 20 61 |he same.|X+ ... a|
|000017f0| 73 20 42 26 57 20 6d 6f | 6e 6f 63 68 72 6f 6d 65 |s B&W mo|nochrome|
|00001800| 2c 20 66 6f 72 20 74 68 | 6f 73 65 20 75 73 20 6c |, for th|ose us l|
|00001810| 75 63 6b 79 20 65 6e 6f | 75 67 68 20 74 6f 20 68 |ucky eno|ugh to h|
|00001820| 61 76 65 0a 58 2b 20 09 | 09 09 20 63 6f 6c 6f 72 |ave.X+ .|.. color|
|00001830| 20 6d 6f 6e 69 74 6f 72 | 73 20 61 6e 64 20 77 68 | monitor|s and wh|
|00001840| 6f 20 68 61 76 65 20 74 | 68 65 20 64 65 66 61 75 |o have t|he defau|
|00001850| 6c 74 20 6d 6f 6e 6f 63 | 68 72 6f 6d 65 0a 58 2b |lt monoc|hrome.X+|
|00001860| 20 09 09 09 20 63 6f 6c | 6f 72 73 20 73 65 74 20 | ... col|ors set |
|00001870| 74 6f 20 73 6f 6d 65 74 | 68 69 6e 67 20 6f 74 68 |to somet|hing oth|
|00001880| 65 72 20 74 68 61 6e 20 | 42 26 57 20 28 49 20 6c |er than |B&W (I l|
|00001890| 69 6b 65 20 77 68 69 74 | 65 0a 58 2b 20 09 09 09 |ike whit|e.X+ ...|
|000018a0| 20 6f 6e 20 64 61 72 6b | 20 62 6c 75 65 20 6d 79 | on dark| blue my|
|000018b0| 73 65 6c 66 29 0a 58 2b | 20 09 09 09 76 61 72 69 |self).X+| ...vari|
|000018c0| 6f 75 73 20 63 6f 64 65 | 20 72 65 66 6f 72 6d 61 |ous code| reforma|
|000018d0| 74 74 69 6e 67 20 61 6e | 64 20 70 72 65 74 74 79 |tting an|d pretty|
|000018e0| 2d 70 72 69 6e 74 69 6e | 67 20 74 6f 20 73 75 69 |-printin|g to sui|
|000018f0| 74 0a 58 2b 20 09 09 09 | 20 6d 79 20 6f 77 6e 20 |t.X+ ...| my own |
|00001900| 63 6f 64 69 6e 67 20 74 | 61 73 74 65 20 28 49 20 |coding t|aste (I |
|00001910| 67 6f 74 20 61 20 62 69 | 74 20 63 61 72 72 69 65 |got a bi|t carrie|
|00001920| 64 20 61 77 61 79 29 2e | 0a 58 2b 20 09 09 09 63 |d away).|.X+ ...c|
|00001930| 6f 64 65 20 74 77 65 61 | 6b 69 6e 67 20 74 6f 20 |ode twea|king to |
|00001940| 6d 61 6b 65 20 6c 69 6e | 74 20 68 61 70 70 79 2e |make lin|t happy.|
|00001950| 0a 58 2b 20 09 09 09 72 | 65 74 75 72 6e 65 64 20 |.X+ ...r|eturned |
|00001960| 6d 79 20 68 61 63 6b 65 | 64 20 76 65 72 73 69 6f |my hacke|d versio|
|00001970| 6e 20 74 6f 20 4a 6f 68 | 6e 2e 0a 58 2b 20 0a 58 |n to Joh|n..X+ .X|
|00001980| 2b 20 09 09 09 52 6f 6e | 20 48 69 74 63 68 65 6e |+ ...Ron| Hitchen|
|00001990| 73 0a 58 2b 20 09 09 09 | 09 72 6f 6e 62 6f 40 76 |s.X+ ...|.ronbo@v|
|000019a0| 69 78 65 6e 2e 75 75 63 | 70 0a 58 2b 20 09 09 09 |ixen.uuc|p.X+ ...|
|000019b0| 09 2e 2e 2e 21 75 75 6e | 65 74 21 63 73 2e 75 74 |....!uun|et!cs.ut|
|000019c0| 65 78 61 73 2e 65 64 75 | 21 76 69 78 65 6e 21 72 |exas.edu|!vixen!r|
|000019d0| 6f 6e 62 6f 0a 58 2b 20 | 09 09 09 09 68 69 74 63 |onbo.X+ |....hitc|
|000019e0| 68 65 6e 73 40 63 73 2e | 75 74 65 78 61 73 2e 65 |hens@cs.|utexas.e|
|000019f0| 64 75 0a 58 20 20 2a 2f | 0a 58 20 20 0a 58 20 20 |du.X */|.X .X |
|00001a00| 0a 58 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.X******|********|
|00001a10| 2a 0a 58 2a 2a 2a 20 37 | 37 2c 38 32 0a 58 20 20 |*.X*** 7|7,82.X |
|00001a20| 0a 58 20 20 2a 2f 0a 58 | 20 20 0a 58 20 20 2f 2a |.X */.X| .X /*|
|00001a30| 20 20 41 73 74 72 6f 6e | 6f 6d 69 63 61 6c 20 63 | Astron|omical c|
|00001a40| 6f 6e 73 74 61 6e 74 73 | 20 20 2a 2f 0a 58 20 20 |onstants| */.X |
|00001a50| 0a 58 20 20 23 64 65 66 | 69 6e 65 20 65 70 6f 63 |.X #def|ine epoc|
|00001a60| 68 09 20 20 20 20 32 34 | 34 34 32 33 38 2e 35 09 |h. 24|44238.5.|
|00001a70| 20 20 20 2f 2a 20 31 39 | 38 30 20 4a 61 6e 75 61 | /* 19|80 Janua|
|00001a80| 72 79 20 30 2e 30 20 2a | 2f 0a 58 0a 58 2d 2d 2d |ry 0.0 *|/.X.X---|
|00001a90| 20 31 34 34 2c 31 36 37 | 20 2d 2d 2d 2d 2d 0a 58 | 144,167| -----.X|
|00001aa0| 20 20 09 09 09 09 68 69 | 74 63 68 65 6e 73 40 63 | ....hi|tchens@c|
|00001ab0| 73 2e 75 74 65 78 61 73 | 2e 65 64 75 0a 58 20 20 |s.utexas|.edu.X |
|00001ac0| 2a 2f 0a 58 20 20 0a 58 | 2b 20 0a 58 2b 20 23 69 |*/.X .X|+ .X+ #i|
|00001ad0| 6e 63 6c 75 64 65 20 3c | 73 74 64 69 6f 2e 68 3e |nclude <|stdio.h>|
|00001ae0| 0a 58 2b 20 23 69 6e 63 | 6c 75 64 65 20 3c 6d 61 |.X+ #inc|lude <ma|
|00001af0| 74 68 2e 68 3e 0a 58 2b | 20 23 69 6e 63 6c 75 64 |th.h>.X+| #includ|
|00001b00| 65 20 3c 73 79 73 2f 74 | 69 6d 65 2e 68 3e 0a 58 |e <sys/t|ime.h>.X|
|00001b10| 2b 20 0a 58 2b 20 23 69 | 6e 63 6c 75 64 65 20 3c |+ .X+ #i|nclude <|
|00001b20| 73 75 6e 74 6f 6f 6c 2f | 73 75 6e 76 69 65 77 2e |suntool/|sunview.|
|00001b30| 68 3e 0a 58 2b 20 23 69 | 6e 63 6c 75 64 65 20 3c |h>.X+ #i|nclude <|
|00001b40| 73 75 6e 74 6f 6f 6c 2f | 63 61 6e 76 61 73 2e 68 |suntool/|canvas.h|
|00001b50| 3e 0a 58 2b 20 0a 58 2b | 20 23 64 65 66 69 6e 65 |>.X+ .X+| #define|
|00001b60| 20 54 49 4e 59 46 4f 4e | 54 09 22 2f 75 73 72 2f | TINYFON|T."/usr/|
|00001b70| 6c 69 62 2f 66 6f 6e 74 | 73 2f 66 69 78 65 64 77 |lib/font|s/fixedw|
|00001b80| 69 64 74 68 66 6f 6e 74 | 73 2f 73 63 72 65 65 6e |idthfont|s/screen|
|00001b90| 2e 72 2e 37 22 0a 58 2b | 20 0a 58 2b 20 2f 2a 0a |.r.7".X+| .X+ /*.|
|00001ba0| 58 2b 20 20 2a 20 64 65 | 66 69 6e 65 20 73 74 61 |X+ * de|fine sta|
|00001bb0| 6e 64 61 72 64 20 42 2f | 57 20 6d 6f 6e 6f 63 68 |ndard B/|W monoch|
|00001bc0| 72 6f 6d 65 20 63 6f 6c | 6f 72 73 20 61 73 20 64 |rome col|ors as d|
|00001bd0| 65 66 61 75 6c 74 73 20 | 69 6e 20 63 61 73 65 20 |efaults |in case |
|00001be0| 77 65 27 72 65 20 72 75 | 6e 6e 69 6e 67 0a 58 2b |we're ru|nning.X+|
|00001bf0| 20 20 2a 20 6f 6e 20 61 | 20 63 6f 6c 6f 72 20 73 | * on a| color s|
|00001c00| 79 73 74 65 6d 20 77 69 | 74 68 20 74 68 65 20 6d |ystem wi|th the m|
|00001c10| 6f 6e 6f 63 68 72 6f 6d | 65 20 63 6f 6c 6f 72 73 |onochrom|e colors|
|00001c20| 20 73 65 74 20 64 69 66 | 66 65 72 65 6e 74 6c 79 | set dif|ferently|
|00001c30| 0a 58 2b 20 20 2a 2f 0a | 58 2b 20 23 64 65 66 69 |.X+ */.|X+ #defi|
|00001c40| 6e 65 20 46 47 5f 44 45 | 46 41 55 4c 54 09 7b 20 |ne FG_DE|FAULT.{ |
|00001c50| 30 2c 20 30 2c 20 30 20 | 7d 09 09 2f 2a 20 62 6c |0, 0, 0 |}../* bl|
|00001c60| 61 63 6b 20 2a 2f 0a 58 | 2b 20 23 64 65 66 69 6e |ack */.X|+ #defin|
|00001c70| 65 20 42 47 5f 44 45 46 | 41 55 4c 54 09 7b 20 32 |e BG_DEF|AULT.{ 2|
|00001c80| 35 35 2c 20 32 35 35 2c | 20 32 35 35 20 7d 09 2f |55, 255,| 255 }./|
|00001c90| 2a 20 77 68 69 74 65 20 | 2a 2f 0a 58 2b 20 0a 58 |* white |*/.X+ .X|
|00001ca0| 2b 20 0a 58 20 20 2f 2a | 20 20 41 73 74 72 6f 6e |+ .X /*| Astron|
|00001cb0| 6f 6d 69 63 61 6c 20 63 | 6f 6e 73 74 61 6e 74 73 |omical c|onstants|
|00001cc0| 20 20 2a 2f 0a 58 20 20 | 0a 58 20 20 23 64 65 66 | */.X |.X #def|
|00001cd0| 69 6e 65 20 65 70 6f 63 | 68 09 20 20 20 20 32 34 |ine epoc|h. 24|
|00001ce0| 34 34 32 33 38 2e 35 09 | 20 20 20 2f 2a 20 31 39 |44238.5.| /* 19|
|00001cf0| 38 30 20 4a 61 6e 75 61 | 72 79 20 30 2e 30 20 2a |80 Janua|ry 0.0 *|
|00001d00| 2f 0a 58 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/.X*****|********|
|00001d10| 2a 2a 0a 58 2a 2a 2a 20 | 38 30 2c 38 36 0a 58 20 |**.X*** |80,86.X |
|00001d20| 20 2f 2a 20 20 41 73 74 | 72 6f 6e 6f 6d 69 63 61 | /* Ast|ronomica|
|00001d30| 6c 20 63 6f 6e 73 74 61 | 6e 74 73 20 20 2a 2f 0a |l consta|nts */.|
|00001d40| 58 20 20 0a 58 20 20 23 | 64 65 66 69 6e 65 20 65 |X .X #|define e|
|00001d50| 70 6f 63 68 09 20 20 20 | 20 32 34 34 34 32 33 38 |poch. | 2444238|
|00001d60| 2e 35 09 20 20 20 2f 2a | 20 31 39 38 30 20 4a 61 |.5. /*| 1980 Ja|
|00001d70| 6e 75 61 72 79 20 30 2e | 30 20 2a 2f 0a 58 21 20 |nuary 0.|0 */.X! |
|00001d80| 23 64 65 66 69 6e 65 09 | 4a 31 39 37 30 09 20 20 |#define.|J1970. |
|00001d90| 20 20 32 34 34 30 35 38 | 37 2e 35 09 20 20 20 2f | 244058|7.5. /|
|00001da0| 2a 20 56 41 58 20 63 6c | 6f 63 6b 20 45 70 6f 63 |* VAX cl|ock Epoc|
|00001db0| 68 20 31 39 37 30 20 4a | 61 6e 20 31 20 28 30 68 |h 1970 J|an 1 (0h|
|00001dc0| 20 55 54 29 20 2a 2f 0a | 58 20 20 0a 58 20 20 2f | UT) */.|X .X /|
|00001dd0| 2a 20 20 43 6f 6e 73 74 | 61 6e 74 73 20 64 65 66 |* Const|ants def|
|00001de0| 69 6e 69 6e 67 20 74 68 | 65 20 53 75 6e 27 73 20 |ining th|e Sun's |
|00001df0| 61 70 70 61 72 65 6e 74 | 20 6f 72 62 69 74 20 20 |apparent| orbit |
|00001e00| 2a 2f 0a 58 20 20 0a 58 | 0a 58 2d 2d 2d 20 31 36 |*/.X .X|.X--- 16|
|00001e10| 35 2c 31 37 31 20 2d 2d | 2d 2d 2d 0a 58 20 20 2f |5,171 --|---.X /|
|00001e20| 2a 20 20 41 73 74 72 6f | 6e 6f 6d 69 63 61 6c 20 |* Astro|nomical |
|00001e30| 63 6f 6e 73 74 61 6e 74 | 73 20 20 2a 2f 0a 58 20 |constant|s */.X |
|00001e40| 20 0a 58 20 20 23 64 65 | 66 69 6e 65 20 65 70 6f | .X #de|fine epo|
|00001e50| 63 68 09 20 20 20 20 32 | 34 34 34 32 33 38 2e 35 |ch. 2|444238.5|
|00001e60| 09 20 20 20 2f 2a 20 31 | 39 38 30 20 4a 61 6e 75 |. /* 1|980 Janu|
|00001e70| 61 72 79 20 30 2e 30 20 | 2a 2f 0a 58 21 20 23 64 |ary 0.0 |*/.X! #d|
|00001e80| 65 66 69 6e 65 20 4a 31 | 39 37 30 20 20 20 20 20 |efine J1|970 |
|00001e90| 20 20 32 34 34 30 35 38 | 37 2e 35 20 20 20 20 20 | 244058|7.5 |
|00001ea0| 20 2f 2a 20 56 41 58 20 | 63 6c 6f 63 6b 20 45 70 | /* VAX |clock Ep|
|00001eb0| 6f 63 68 20 31 39 37 30 | 20 4a 61 6e 20 31 20 28 |och 1970| Jan 1 (|
|00001ec0| 30 68 20 55 54 29 20 2a | 2f 0a 58 20 20 0a 58 20 |0h UT) *|/.X .X |
|00001ed0| 20 2f 2a 20 20 43 6f 6e | 73 74 61 6e 74 73 20 64 | /* Con|stants d|
|00001ee0| 65 66 69 6e 69 6e 67 20 | 74 68 65 20 53 75 6e 27 |efining |the Sun'|
|00001ef0| 73 20 61 70 70 61 72 65 | 6e 74 20 6f 72 62 69 74 |s appare|nt orbit|
|00001f00| 20 20 2a 2f 0a 58 20 20 | 0a 58 2a 2a 2a 2a 2a 2a | */.X |.X******|
|00001f10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0a 58 2a 2a 2a 20 31 |********|*.X*** 1|
|00001f20| 31 34 2c 31 32 32 0a 58 | 20 20 0a 58 20 20 23 64 |14,122.X| .X #d|
|00001f30| 65 66 69 6e 65 20 65 61 | 72 74 68 72 61 64 20 20 |efine ea|rthrad |
|00001f40| 20 20 36 33 37 38 2e 31 | 36 09 20 20 20 2f 2a 20 | 6378.1|6. /* |
|00001f50| 52 61 64 69 75 73 20 6f | 66 20 45 61 72 74 68 20 |Radius o|f Earth |
|00001f60| 69 6e 20 6b 69 6c 6f 6d | 65 74 72 65 73 20 2a 2f |in kilom|etres */|
|00001f70| 0a 58 20 20 0a 58 2d 20 | 23 69 6e 63 6c 75 64 65 |.X .X- |#include|
|00001f80| 20 3c 73 74 64 69 6f 2e | 68 3e 0a 58 2d 20 23 69 | <stdio.|h>.X- #i|
|00001f90| 6e 63 6c 75 64 65 20 3c | 6d 61 74 68 2e 68 3e 0a |nclude <|math.h>.|
|00001fa0| 58 2d 20 23 69 6e 63 6c | 75 64 65 20 3c 73 79 73 |X- #incl|ude <sys|
|00001fb0| 2f 74 69 6d 65 2e 68 3e | 0a 58 20 20 0a 58 20 20 |/time.h>|.X .X |
|00001fc0| 23 69 6e 63 6c 75 64 65 | 20 3c 73 75 6e 74 6f 6f |#include| <suntoo|
|00001fd0| 6c 2f 73 75 6e 76 69 65 | 77 2e 68 3e 0a 58 20 20 |l/sunvie|w.h>.X |
|00001fe0| 23 69 6e 63 6c 75 64 65 | 20 3c 73 75 6e 74 6f 6f |#include| <suntoo|
|00001ff0| 6c 2f 63 61 6e 76 61 73 | 2e 68 3e 0a 58 0a 58 2d |l/canvas|.h>.X.X-|
|00002000| 2d 2d 20 31 39 39 2c 32 | 30 34 20 2d 2d 2d 2d 2d |-- 199,2|04 -----|
|00002010| 0a 58 20 20 0a 58 20 20 | 23 64 65 66 69 6e 65 20 |.X .X |#define |
|00002020| 65 61 72 74 68 72 61 64 | 20 20 20 20 36 33 37 38 |earthrad| 6378|
|00002030| 2e 31 36 09 20 20 20 2f | 2a 20 52 61 64 69 75 73 |.16. /|* Radius|
|00002040| 20 6f 66 20 45 61 72 74 | 68 20 69 6e 20 6b 69 6c | of Eart|h in kil|
|00002050| 6f 6d 65 74 72 65 73 20 | 2a 2f 0a 58 20 20 0a 58 |ometres |*/.X .X|
|00002060| 20 20 0a 58 20 20 23 64 | 65 66 69 6e 65 20 50 49 | .X #d|efine PI|
|00002070| 20 33 2e 31 34 31 35 39 | 32 36 35 33 35 38 39 37 | 3.14159|26535897|
|00002080| 39 33 32 33 38 34 36 20 | 20 2f 2a 20 41 73 73 75 |9323846 | /* Assu|
|00002090| 6d 65 20 6e 6f 74 20 6e | 65 61 72 20 62 6c 61 63 |me not n|ear blac|
|000020a0| 6b 20 68 6f 6c 65 20 6e | 6f 72 20 69 6e 0a 58 20 |k hole n|or in.X |
|000020b0| 20 09 09 09 09 20 20 20 | 20 20 20 54 65 6e 6e 65 | .... | Tenne|
|000020c0| 73 73 65 65 20 2a 2f 0a | 58 2a 2a 2a 2a 2a 2a 2a |ssee */.|X*******|
|000020d0| 2a 2a 2a 2a 2a 2a 2a 2a | 0a 58 2a 2a 2a 20 31 31 |********|.X*** 11|
|000020e0| 38 2c 31 37 34 0a 58 20 | 20 23 69 6e 63 6c 75 64 |8,174.X | #includ|
|000020f0| 65 20 3c 6d 61 74 68 2e | 68 3e 0a 58 20 20 23 69 |e <math.|h>.X #i|
|00002100| 6e 63 6c 75 64 65 20 3c | 73 79 73 2f 74 69 6d 65 |nclude <|sys/time|
|00002110| 2e 68 3e 0a 58 20 20 0a | 58 2d 20 23 69 6e 63 6c |.h>.X .|X- #incl|
|00002120| 75 64 65 20 3c 73 75 6e | 74 6f 6f 6c 2f 73 75 6e |ude <sun|tool/sun|
|00002130| 76 69 65 77 2e 68 3e 0a | 58 2d 20 23 69 6e 63 6c |view.h>.|X- #incl|
|00002140| 75 64 65 20 3c 73 75 6e | 74 6f 6f 6c 2f 63 61 6e |ude <sun|tool/can|
|00002150| 76 61 73 2e 68 3e 0a 58 | 2d 20 0a 58 2d 20 2f 2a |vas.h>.X|- .X- /*|
|00002160| 20 49 63 6f 6e 20 64 65 | 66 69 6e 69 74 69 6f 6e | Icon de|finition|
|00002170| 2e 20 20 54 68 69 73 20 | 69 73 20 6a 75 73 74 20 |. This |is just |
|00002180| 61 20 62 6c 61 63 6b 20 | 66 69 65 6c 64 20 77 69 |a black |field wi|
|00002190| 74 68 20 72 6f 75 6e 64 | 65 64 20 63 6f 72 6e 65 |th round|ed corne|
|000021a0| 72 73 0a 58 2d 20 20 20 | 20 74 68 61 74 20 62 6c |rs.X- | that bl|
|000021b0| 65 6e 64 20 69 6e 74 6f | 20 74 68 65 20 72 6f 6f |end into| the roo|
|000021c0| 74 20 64 65 73 6b 74 6f | 70 20 70 61 74 74 65 72 |t deskto|p patter|
|000021d0| 6e 2e 20 54 68 65 20 69 | 6d 61 67 65 20 6f 66 20 |n. The i|mage of |
|000021e0| 74 68 65 20 6d 6f 6f 6e | 20 61 6e 64 0a 58 2d 20 |the moon| and.X- |
|000021f0| 20 20 20 74 68 65 20 74 | 65 78 74 20 61 72 65 20 | the t|ext are |
|00002200| 61 64 64 65 64 20 62 79 | 20 74 68 65 20 70 72 6f |added by| the pro|
|00002210| 67 72 61 6d 20 6c 61 74 | 65 72 2e 20 2a 2f 0a 58 |gram lat|er. */.X|
|00002220| 2d 20 0a 58 2d 20 73 74 | 61 74 69 63 20 73 68 6f |- .X- st|atic sho|
|00002230| 72 74 20 6d 6f 6f 6e 5f | 69 6d 67 5b 36 34 5d 5b |rt moon_|img[64][|
|00002240| 34 5d 20 3d 20 7b 0a 58 | 2d 20 2f 2a 20 46 6f 72 |4] = {.X|- /* For|
|00002250| 6d 61 74 5f 76 65 72 73 | 69 6f 6e 3d 31 2c 20 57 |mat_vers|ion=1, W|
|00002260| 69 64 74 68 3d 36 34 2c | 20 48 65 69 67 68 74 3d |idth=64,| Height=|
|00002270| 36 34 2c 20 44 65 70 74 | 68 3d 31 2c 20 56 61 6c |64, Dept|h=1, Val|
|00002280| 69 64 5f 62 69 74 73 5f | 70 65 72 5f 69 74 65 6d |id_bits_|per_item|
|00002290| 3d 31 36 20 2a 2f 0a 58 | 2d 20 09 30 78 38 46 46 |=16 */.X|- .0x8FF|
|000022a0| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c |F,0xFFFF|,0xFFFF,|
|000022b0| 30 78 46 46 45 38 2c 30 | 78 39 46 46 46 2c 30 78 |0xFFE8,0|x9FFF,0x|
|000022c0| 46 46 46 46 2c 30 78 46 | 46 46 46 2c 30 78 46 46 |FFFF,0xF|FFF,0xFF|
|000022d0| 46 38 2c 0a 58 2d 20 09 | 30 78 33 46 46 46 2c 30 |F8,.X- .|0x3FFF,0|
|000022e0| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 30 78 46 |xFFFF,0x|FFFF,0xF|
|000022f0| 46 46 45 2c 30 78 37 46 | 46 46 2c 30 78 46 46 46 |FFE,0x7F|FF,0xFFF|
|00002300| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 46 45 2c |F,0xFFFF|,0xFFFE,|
|00002310| 0a 58 2d 20 09 30 78 46 | 46 46 46 2c 30 78 46 46 |.X- .0xF|FFF,0xFF|
|00002320| 46 46 2c 30 78 46 46 46 | 46 2c 30 78 46 46 46 45 |FF,0xFFF|F,0xFFFE|
|00002330| 2c 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 30 |,0xFFFF,|0xFFFF,0|
|00002340| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 0a 58 2d |xFFFF,0x|FFFF,.X-|
|00002350| 20 09 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c | .0xFFFF|,0xFFFF,|
|00002360| 30 78 46 46 46 46 2c 30 | 78 46 46 46 46 2c 30 78 |0xFFFF,0|xFFFF,0x|
|00002370| 46 46 46 46 2c 30 78 46 | 46 46 46 2c 30 78 46 46 |FFFF,0xF|FFF,0xFF|
|00002380| 46 46 2c 30 78 46 46 46 | 46 2c 0a 58 2d 20 09 30 |FF,0xFFF|F,.X- .0|
|00002390| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 30 78 46 |xFFFF,0x|FFFF,0xF|
|000023a0| 46 46 46 2c 30 78 46 46 | 46 46 2c 30 78 46 46 46 |FFF,0xFF|FF,0xFFF|
|000023b0| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c |F,0xFFFF|,0xFFFF,|
|000023c0| 30 78 46 46 46 46 2c 0a | 58 2d 20 09 30 78 46 46 |0xFFFF,.|X- .0xFF|
|000023d0| 46 46 2c 30 78 46 46 46 | 46 2c 30 78 46 46 46 46 |FF,0xFFF|F,0xFFFF|
|000023e0| 2c 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 30 |,0xFFFF,|0xFFFF,0|
|000023f0| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 30 78 46 |xFFFF,0x|FFFF,0xF|
|00002400| 46 46 46 2c 0a 58 2d 20 | 09 30 78 46 46 46 46 2c |FFF,.X- |.0xFFFF,|
|00002410| 30 78 46 46 46 46 2c 30 | 78 46 46 46 46 2c 30 78 |0xFFFF,0|xFFFF,0x|
|00002420| 46 46 46 46 2c 30 78 46 | 46 46 46 2c 30 78 46 46 |FFFF,0xF|FFF,0xFF|
|00002430| 46 46 2c 30 78 46 46 46 | 46 2c 30 78 46 46 46 46 |FF,0xFFF|F,0xFFFF|
|00002440| 2c 0a 58 2d 20 09 30 78 | 46 46 46 46 2c 30 78 46 |,.X- .0x|FFFF,0xF|
|00002450| 46 46 46 2c 30 78 46 46 | 46 46 2c 30 78 46 46 46 |FFF,0xFF|FF,0xFFF|
|00002460| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c |F,0xFFFF|,0xFFFF,|
|00002470| 30 78 46 46 46 46 2c 30 | 78 46 46 46 46 2c 0a 58 |0xFFFF,0|xFFFF,.X|
|00002480| 2d 20 09 30 78 46 46 46 | 46 2c 30 78 46 46 46 46 |- .0xFFF|F,0xFFFF|
|00002490| 2c 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 30 |,0xFFFF,|0xFFFF,0|
|000024a0| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 30 78 46 |xFFFF,0x|FFFF,0xF|
|000024b0| 46 46 46 2c 30 78 46 46 | 46 46 2c 0a 58 2d 20 09 |FFF,0xFF|FF,.X- .|
|000024c0| 30 78 46 46 46 46 2c 30 | 78 46 46 46 46 2c 30 78 |0xFFFF,0|xFFFF,0x|
|000024d0| 46 46 46 46 2c 30 78 46 | 46 46 46 2c 30 78 46 46 |FFFF,0xF|FFF,0xFF|
|000024e0| 46 46 2c 30 78 46 46 46 | 46 2c 30 78 46 46 46 46 |FF,0xFFF|F,0xFFFF|
|000024f0| 2c 30 78 46 46 46 46 2c | 0a 58 2d 20 09 30 78 46 |,0xFFFF,|.X- .0xF|
|00002500| 46 46 46 2c 30 78 46 46 | 46 46 2c 30 78 46 46 46 |FFF,0xFF|FF,0xFFF|
|00002510| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c |F,0xFFFF|,0xFFFF,|
|00002520| 30 78 46 46 46 46 2c 30 | 78 46 46 46 46 2c 30 78 |0xFFFF,0|xFFFF,0x|
|00002530| 46 46 46 46 2c 0a 58 2d | 20 09 30 78 46 46 46 46 |FFFF,.X-| .0xFFFF|
|00002540| 2c 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 30 |,0xFFFF,|0xFFFF,0|
|00002550| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 30 78 46 |xFFFF,0x|FFFF,0xF|
|00002560| 46 46 46 2c 30 78 46 46 | 46 46 2c 30 78 46 46 46 |FFF,0xFF|FF,0xFFF|
|00002570| 46 2c 0a 58 2d 20 09 30 | 78 46 46 46 46 2c 30 78 |F,.X- .0|xFFFF,0x|
|00002580| 46 46 46 46 2c 30 78 46 | 46 46 46 2c 30 78 46 46 |FFFF,0xF|FFF,0xFF|
|00002590| 46 46 2c 30 78 46 46 46 | 46 2c 30 78 46 46 46 46 |FF,0xFFF|F,0xFFFF|
|000025a0| 2c 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 0a |,0xFFFF,|0xFFFF,.|
|000025b0| 58 2d 20 09 30 78 46 46 | 46 46 2c 30 78 46 46 46 |X- .0xFF|FF,0xFFF|
|000025c0| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c |F,0xFFFF|,0xFFFF,|
|000025d0| 30 78 46 46 46 46 2c 30 | 78 46 46 46 46 2c 30 78 |0xFFFF,0|xFFFF,0x|
|000025e0| 46 46 46 46 2c 30 78 46 | 46 46 46 2c 0a 58 2d 20 |FFFF,0xF|FFF,.X- |
|000025f0| 09 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 30 |.0xFFFF,|0xFFFF,0|
|00002600| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 30 78 46 |xFFFF,0x|FFFF,0xF|
|00002610| 46 46 46 2c 30 78 46 46 | 46 46 2c 30 78 46 46 46 |FFF,0xFF|FF,0xFFF|
|00002620| 46 2c 30 78 46 46 46 46 | 2c 0a 58 2d 20 09 30 78 |F,0xFFFF|,.X- .0x|
|00002630| 46 46 46 46 2c 30 78 46 | 46 46 46 2c 30 78 46 46 |FFFF,0xF|FFF,0xFF|
|00002640| 46 46 2c 30 78 46 46 46 | 46 2c 30 78 46 46 46 46 |FF,0xFFF|F,0xFFFF|
|00002650| 2c 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 30 |,0xFFFF,|0xFFFF,0|
|00002660| 78 46 46 46 46 2c 0a 58 | 2d 20 09 30 78 46 46 46 |xFFFF,.X|- .0xFFF|
|00002670| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c |F,0xFFFF|,0xFFFF,|
|00002680| 30 78 46 46 46 46 2c 30 | 78 46 46 46 46 2c 30 78 |0xFFFF,0|xFFFF,0x|
|00002690| 46 46 46 46 2c 30 78 46 | 46 46 46 2c 30 78 46 46 |FFFF,0xF|FFF,0xFF|
|000026a0| 46 46 2c 0a 58 2d 20 09 | 30 78 46 46 46 46 2c 30 |FF,.X- .|0xFFFF,0|
|000026b0| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 30 78 46 |xFFFF,0x|FFFF,0xF|
|000026c0| 46 46 46 2c 30 78 46 46 | 46 46 2c 30 78 46 46 46 |FFF,0xFF|FF,0xFFF|
|000026d0| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c |F,0xFFFF|,0xFFFF,|
|000026e0| 0a 58 2d 20 09 30 78 46 | 46 46 46 2c 30 78 46 46 |.X- .0xF|FFF,0xFF|
|000026f0| 46 46 2c 30 78 46 46 46 | 46 2c 30 78 46 46 46 46 |FF,0xFFF|F,0xFFFF|
|00002700| 2c 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 30 |,0xFFFF,|0xFFFF,0|
|00002710| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 0a 58 2d |xFFFF,0x|FFFF,.X-|
|00002720| 20 09 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c | .0xFFFF|,0xFFFF,|
|00002730| 30 78 46 46 46 46 2c 30 | 78 46 46 46 46 2c 30 78 |0xFFFF,0|xFFFF,0x|
|00002740| 46 46 46 46 2c 30 78 46 | 46 46 46 2c 30 78 46 46 |FFFF,0xF|FFF,0xFF|
|00002750| 46 46 2c 30 78 46 46 46 | 46 2c 0a 58 2d 20 09 30 |FF,0xFFF|F,.X- .0|
|00002760| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 30 78 46 |xFFFF,0x|FFFF,0xF|
|00002770| 46 46 46 2c 30 78 46 46 | 46 46 2c 30 78 46 46 46 |FFF,0xFF|FF,0xFFF|
|00002780| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c |F,0xFFFF|,0xFFFF,|
|00002790| 30 78 46 46 46 46 2c 0a | 58 2d 20 09 30 78 46 46 |0xFFFF,.|X- .0xFF|
|000027a0| 46 46 2c 30 78 46 46 46 | 46 2c 30 78 46 46 46 46 |FF,0xFFF|F,0xFFFF|
|000027b0| 2c 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 30 |,0xFFFF,|0xFFFF,0|
|000027c0| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 30 78 46 |xFFFF,0x|FFFF,0xF|
|000027d0| 46 46 46 2c 0a 58 2d 20 | 09 30 78 46 46 46 46 2c |FFF,.X- |.0xFFFF,|
|000027e0| 30 78 46 46 46 46 2c 30 | 78 46 46 46 46 2c 30 78 |0xFFFF,0|xFFFF,0x|
|000027f0| 46 46 46 46 2c 30 78 46 | 46 46 46 2c 30 78 46 46 |FFFF,0xF|FFF,0xFF|
|00002800| 46 46 2c 30 78 46 46 46 | 46 2c 30 78 46 46 46 46 |FF,0xFFF|F,0xFFFF|
|00002810| 2c 0a 58 2d 20 09 30 78 | 46 46 46 46 2c 30 78 46 |,.X- .0x|FFFF,0xF|
|00002820| 46 46 46 2c 30 78 46 46 | 46 46 2c 30 78 46 46 46 |FFF,0xFF|FF,0xFFF|
|00002830| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c |F,0xFFFF|,0xFFFF,|
|00002840| 30 78 46 46 46 46 2c 30 | 78 46 46 46 46 2c 0a 58 |0xFFFF,0|xFFFF,.X|
|00002850| 2d 20 09 30 78 46 46 46 | 46 2c 30 78 46 46 46 46 |- .0xFFF|F,0xFFFF|
|00002860| 2c 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 30 |,0xFFFF,|0xFFFF,0|
|00002870| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 30 78 46 |xFFFF,0x|FFFF,0xF|
|00002880| 46 46 46 2c 30 78 46 46 | 46 46 2c 0a 58 2d 20 09 |FFF,0xFF|FF,.X- .|
|00002890| 30 78 46 46 46 46 2c 30 | 78 46 46 46 46 2c 30 78 |0xFFFF,0|xFFFF,0x|
|000028a0| 46 46 46 46 2c 30 78 46 | 46 46 46 2c 30 78 46 46 |FFFF,0xF|FFF,0xFF|
|000028b0| 46 46 2c 30 78 46 46 46 | 46 2c 30 78 46 46 46 46 |FF,0xFFF|F,0xFFFF|
|000028c0| 2c 30 78 46 46 46 46 2c | 0a 58 2d 20 09 30 78 46 |,0xFFFF,|.X- .0xF|
|000028d0| 46 46 46 2c 30 78 46 46 | 46 46 2c 30 78 46 46 46 |FFF,0xFF|FF,0xFFF|
|000028e0| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c |F,0xFFFF|,0xFFFF,|
|000028f0| 30 78 46 46 46 46 2c 30 | 78 46 46 46 46 2c 30 78 |0xFFFF,0|xFFFF,0x|
|00002900| 46 46 46 46 2c 0a 58 2d | 20 09 30 78 46 46 46 46 |FFFF,.X-| .0xFFFF|
|00002910| 2c 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 30 |,0xFFFF,|0xFFFF,0|
|00002920| 78 46 46 46 46 2c 30 78 | 46 46 46 46 2c 30 78 46 |xFFFF,0x|FFFF,0xF|
|00002930| 46 46 46 2c 30 78 46 46 | 46 46 2c 30 78 46 46 46 |FFF,0xFF|FF,0xFFF|
|00002940| 46 2c 0a 58 2d 20 09 30 | 78 46 46 46 46 2c 30 78 |F,.X- .0|xFFFF,0x|
|00002950| 46 46 46 46 2c 30 78 46 | 46 46 46 2c 30 78 46 46 |FFFF,0xF|FFF,0xFF|
|00002960| 46 46 2c 30 78 46 46 46 | 46 2c 30 78 46 46 46 46 |FF,0xFFF|F,0xFFFF|
|00002970| 2c 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 0a |,0xFFFF,|0xFFFF,.|
|00002980| 58 2d 20 09 30 78 46 46 | 46 46 2c 30 78 46 46 46 |X- .0xFF|FF,0xFFF|
|00002990| 46 2c 30 78 46 46 46 46 | 2c 30 78 46 46 46 46 2c |F,0xFFFF|,0xFFFF,|
|000029a0| 30 78 37 46 46 46 2c 30 | 78 46 46 46 46 2c 30 78 |0x7FFF,0|xFFFF,0x|
|000029b0| 46 46 46 46 2c 30 78 46 | 46 46 45 2c 0a 58 2d 20 |FFFF,0xF|FFE,.X- |
|000029c0| 09 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 30 |.0xFFFF,|0xFFFF,0|
|000029d0| 78 46 46 46 46 2c 30 78 | 46 46 46 45 2c 30 78 42 |xFFFF,0x|FFFE,0xB|
|000029e0| 46 46 46 2c 30 78 46 46 | 46 46 2c 30 78 46 46 46 |FFF,0xFF|FF,0xFFF|
|000029f0| 46 2c 30 78 46 46 46 43 | 2c 0a 58 2d 20 09 30 78 |F,0xFFFC|,.X- .0x|
|00002a00| 33 46 46 46 2c 30 78 46 | 46 46 46 2c 30 78 46 46 |3FFF,0xF|FFF,0xFF|
|00002a10| 46 46 2c 30 78 46 46 46 | 41 2c 30 78 32 37 46 46 |FF,0xFFF|A,0x27FF|
|00002a20| 2c 30 78 46 46 46 46 2c | 30 78 46 46 46 46 2c 30 |,0xFFFF,|0xFFFF,0|
|00002a30| 78 46 46 45 32 0a 58 2d | 20 7d 3b 0a 58 2d 20 44 |xFFE2.X-| };.X- D|
|00002a40| 45 46 49 4e 45 5f 49 43 | 4f 4e 5f 46 52 4f 4d 5f |EFINE_IC|ON_FROM_|
|00002a50| 49 4d 41 47 45 28 6d 6f | 6f 6e 5f 69 63 6f 6e 2c |IMAGE(mo|on_icon,|
|00002a60| 20 6d 6f 6f 6e 5f 69 6d | 67 29 3b 0a 58 2d 20 6d | moon_im|g);.X- m|
|00002a70| 70 72 5f 73 74 61 74 69 | 63 28 69 63 6f 6e 5f 6d |pr_stati|c(icon_m|
|00002a80| 70 72 2c 20 36 34 2c 20 | 36 34 2c 20 31 2c 20 6d |pr, 64, |64, 1, m|
|00002a90| 6f 6f 6e 5f 69 6d 67 29 | 3b 0a 58 2d 20 0a 58 2d |oon_img)|;.X- .X-|
|00002aa0| 20 65 78 74 65 72 6e 20 | 43 61 6e 76 61 73 20 6d | extern |Canvas m|
|00002ab0| 63 61 6e 76 61 73 3b 0a | 58 2d 20 65 78 74 65 72 |canvas;.|X- exter|
|00002ac0| 6e 20 50 69 78 66 6f 6e | 74 20 2a 66 6f 6e 74 3b |n Pixfon|t *font;|
|00002ad0| 0a 58 2d 20 65 78 74 65 | 72 6e 20 63 68 61 72 20 |.X- exte|rn char |
|00002ae0| 2a 6d 6f 6e 74 68 6e 61 | 6d 65 73 5b 5d 3b 0a 58 |*monthna|mes[];.X|
|00002af0| 2d 20 73 74 61 74 69 63 | 20 50 69 78 77 69 6e 20 |- static| Pixwin |
|00002b00| 2a 63 70 77 3b 0a 58 2d | 20 73 74 61 74 69 63 20 |*cpw;.X-| static |
|00002b10| 69 6e 74 20 63 68 61 72 | 68 67 74 2c 20 63 68 61 |int char|hgt, cha|
|00002b20| 72 77 69 64 3b 0a 58 2d | 20 0a 58 20 20 23 64 65 |rwid;.X-| .X #de|
|00002b30| 66 69 6e 65 20 50 49 20 | 33 2e 31 34 31 35 39 32 |fine PI |3.141592|
|00002b40| 36 35 33 35 38 39 37 39 | 33 32 33 38 34 36 20 20 |65358979|323846 |
|00002b50| 2f 2a 20 41 73 73 75 6d | 65 20 6e 6f 74 20 6e 65 |/* Assum|e not ne|
|00002b60| 61 72 20 62 6c 61 63 6b | 20 68 6f 6c 65 20 6e 6f |ar black| hole no|
|00002b70| 72 20 69 6e 0a 58 20 20 | 09 09 09 09 20 20 20 20 |r in.X |.... |
|00002b80| 20 20 54 65 6e 6e 65 73 | 73 65 65 20 2a 2f 0a 58 | Tennes|see */.X|
|00002b90| 20 20 0a 58 0a 58 2d 2d | 2d 20 32 30 30 2c 32 30 | .X.X--|- 200,20|
|00002ba0| 35 20 2d 2d 2d 2d 2d 0a | 58 20 20 23 64 65 66 69 |5 -----.|X #defi|
|00002bb0| 6e 65 20 65 61 72 74 68 | 72 61 64 20 20 20 20 36 |ne earth|rad 6|
|00002bc0| 33 37 38 2e 31 36 09 20 | 20 20 2f 2a 20 52 61 64 |378.16. | /* Rad|
|00002bd0| 69 75 73 20 6f 66 20 45 | 61 72 74 68 20 69 6e 20 |ius of E|arth in |
|00002be0| 6b 69 6c 6f 6d 65 74 72 | 65 73 20 2a 2f 0a 58 20 |kilometr|es */.X |
|00002bf0| 20 0a 58 20 20 0a 58 20 | 20 23 64 65 66 69 6e 65 | .X .X | #define|
|00002c00| 20 50 49 20 33 2e 31 34 | 31 35 39 32 36 35 33 35 | PI 3.14|15926535|
|00002c10| 38 39 37 39 33 32 33 38 | 34 36 20 20 2f 2a 20 41 |89793238|46 /* A|
|00002c20| 73 73 75 6d 65 20 6e 6f | 74 20 6e 65 61 72 20 62 |ssume no|t near b|
|00002c30| 6c 61 63 6b 20 68 6f 6c | 65 20 6e 6f 72 20 69 6e |lack hol|e nor in|
|00002c40| 0a 58 20 20 09 09 09 09 | 20 20 20 20 20 20 54 65 |.X ....| Te|
|00002c50| 6e 6e 65 73 73 65 65 20 | 2a 2f 0a 58 20 20 0a 58 |nnessee |*/.X .X|
|00002c60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0a |********|*******.|
|00002c70| 58 2a 2a 2a 20 31 38 32 | 2c 31 38 38 0a 58 20 20 |X*** 182|,188.X |
|00002c80| 23 64 65 66 69 6e 65 20 | 64 73 69 6e 28 78 29 20 |#define |dsin(x) |
|00002c90| 28 73 69 6e 28 74 6f 72 | 61 64 28 28 78 29 29 29 |(sin(tor|ad((x)))|
|00002ca0| 29 09 09 09 20 20 2f 2a | 20 53 69 6e 20 66 72 6f |)... /*| Sin fro|
|00002cb0| 6d 20 64 65 67 20 2a 2f | 0a 58 20 20 23 64 65 66 |m deg */|.X #def|
|00002cc0| 69 6e 65 20 64 63 6f 73 | 28 78 29 20 28 63 6f 73 |ine dcos|(x) (cos|
|00002cd0| 28 74 6f 72 61 64 28 28 | 78 29 29 29 29 09 09 09 |(torad((|x))))...|
|00002ce0| 20 20 2f 2a 20 43 6f 73 | 20 66 72 6f 6d 20 64 65 | /* Cos| from de|
|00002cf0| 67 20 2a 2f 0a 58 20 20 | 0a 58 2d 20 2f 2a 20 20 |g */.X |.X- /* |
|00002d00| 46 6f 72 77 61 72 64 20 | 66 75 6e 63 74 69 6f 6e |Forward |function|
|00002d10| 73 20 20 2a 2f 0a 58 20 | 20 0a 58 20 20 64 6f 75 |s */.X | .X dou|
|00002d20| 62 6c 65 20 6a 74 69 6d | 65 28 29 2c 20 70 68 61 |ble jtim|e(), pha|
|00002d30| 73 65 28 29 3b 0a 58 20 | 20 76 6f 69 64 20 70 68 |se();.X | void ph|
|00002d40| 61 73 65 68 75 6e 74 28 | 29 3b 0a 58 0a 58 2d 2d |asehunt(|);.X.X--|
|00002d50| 2d 20 32 31 33 2c 32 31 | 38 20 2d 2d 2d 2d 2d 0a |- 213,21|8 -----.|
|00002d60| 58 20 20 23 64 65 66 69 | 6e 65 20 64 73 69 6e 28 |X #defi|ne dsin(|
|00002d70| 78 29 20 28 73 69 6e 28 | 74 6f 72 61 64 28 28 78 |x) (sin(|torad((x|
|00002d80| 29 29 29 29 09 09 09 20 | 20 2f 2a 20 53 69 6e 20 |))))... | /* Sin |
|00002d90| 66 72 6f 6d 20 64 65 67 | 20 2a 2f 0a 58 20 20 23 |from deg| */.X #|
|00002da0| 64 65 66 69 6e 65 20 64 | 63 6f 73 28 78 29 20 28 |define d|cos(x) (|
|00002db0| 63 6f 73 28 74 6f 72 61 | 64 28 28 78 29 29 29 29 |cos(tora|d((x))))|
|00002dc0| 09 09 09 20 20 2f 2a 20 | 43 6f 73 20 66 72 6f 6d |... /* |Cos from|
|00002dd0| 20 64 65 67 20 2a 2f 0a | 58 20 20 0a 58 20 20 0a | deg */.|X .X .|
|00002de0| 58 20 20 2f 2a 0a 58 20 | 20 20 2a 20 4d 6f 6f 6e |X /*.X | * Moon|
|00002df0| 20 69 6d 61 67 65 2e 20 | 20 54 68 69 73 20 69 73 | image. | This is|
|00002e00| 20 61 20 73 74 61 6e 64 | 61 72 64 20 69 63 6f 6e | a stand|ard icon|
|00002e10| 2d 73 69 7a 65 64 20 70 | 69 63 74 75 72 65 20 6f |-sized p|icture o|
|00002e20| 66 20 74 68 65 20 6d 6f | 6f 6e 27 73 20 66 61 63 |f the mo|on's fac|
|00002e30| 65 2e 0a 58 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |e..X****|********|
|00002e40| 2a 2a 2a 0a 58 2a 2a 2a | 20 31 38 34 2c 31 39 32 |***.X***| 184,192|
|00002e50| 0a 58 20 20 0a 58 20 20 | 2f 2a 20 20 46 6f 72 77 |.X .X |/* Forw|
|00002e60| 61 72 64 20 66 75 6e 63 | 74 69 6f 6e 73 20 20 2a |ard func|tions *|
|00002e70| 2f 0a 58 20 20 0a 58 21 | 20 64 6f 75 62 6c 65 20 |/.X .X!| double |
|00002e80| 6a 74 69 6d 65 28 29 2c | 20 70 68 61 73 65 28 29 |jtime(),| phase()|
|00002e90| 3b 0a 58 21 20 76 6f 69 | 64 20 70 68 61 73 65 68 |;.X! voi|d phaseh|
|00002ea0| 75 6e 74 28 29 3b 0a 58 | 21 20 76 6f 69 64 20 64 |unt();.X|! void d|
|00002eb0| 72 61 77 6d 6f 6f 6e 28 | 29 2c 20 6a 79 65 61 72 |rawmoon(|), jyear|
|00002ec0| 28 29 2c 20 6a 68 6d 73 | 28 29 3b 0a 58 20 20 0a |(), jhms|();.X .|
|00002ed0| 58 20 20 0a 58 20 20 2f | 2a 20 20 44 52 41 57 4d |X .X /|* DRAWM|
|00002ee0| 4f 4f 4e 20 20 2d 2d 20 | 20 43 6f 6e 73 74 72 75 |OON -- | Constru|
|00002ef0| 63 74 20 69 63 6f 6e 20 | 66 6f 72 20 6d 6f 6f 6e |ct icon |for moon|
|00002f00| 2c 20 67 69 76 65 6e 20 | 70 68 61 73 65 20 6f 66 |, given |phase of|
|00002f10| 20 6d 6f 6f 6e 2e 20 20 | 2a 2f 0a 58 0a 58 2d 2d | moon. |*/.X.X--|
|00002f20| 2d 20 32 31 34 2c 32 32 | 34 20 2d 2d 2d 2d 2d 0a |- 214,22|4 -----.|
|00002f30| 58 20 20 23 64 65 66 69 | 6e 65 20 64 63 6f 73 28 |X #defi|ne dcos(|
|00002f40| 78 29 20 28 63 6f 73 28 | 74 6f 72 61 64 28 28 78 |x) (cos(|torad((x|
|00002f50| 29 29 29 29 09 09 09 20 | 20 2f 2a 20 43 6f 73 20 |))))... | /* Cos |
|00002f60| 66 72 6f 6d 20 64 65 67 | 20 2a 2f 0a 58 20 20 0a |from deg| */.X .|
|00002f70| 58 20 20 0a 58 21 20 2f | 2a 0a 58 21 20 20 2a 20 |X .X! /|*.X! * |
|00002f80| 4d 6f 6f 6e 20 69 6d 61 | 67 65 2e 20 20 54 68 69 |Moon ima|ge. Thi|
|00002f90| 73 20 69 73 20 61 20 73 | 74 61 6e 64 61 72 64 20 |s is a s|tandard |
|00002fa0| 69 63 6f 6e 2d 73 69 7a | 65 64 20 70 69 63 74 75 |icon-siz|ed pictu|
|00002fb0| 72 65 20 6f 66 20 74 68 | 65 20 6d 6f 6f 6e 27 73 |re of th|e moon's|
|00002fc0| 20 66 61 63 65 2e 0a 58 | 21 20 20 2a 20 54 68 65 | face..X|! * The|
|00002fd0| 20 76 69 73 69 62 6c 65 | 20 70 61 72 74 2c 20 61 | visible| part, a|
|00002fe0| 73 20 63 61 6c 63 75 6c | 61 74 65 64 20 62 79 20 |s calcul|ated by |
|00002ff0| 74 68 65 20 63 75 72 72 | 65 6e 74 20 74 69 6d 65 |the curr|ent time|
|00003000| 2c 20 69 73 20 65 78 74 | 72 61 63 74 65 64 20 66 |, is ext|racted f|
|00003010| 72 6f 6d 0a 58 21 20 20 | 2a 20 74 68 69 73 20 69 |rom.X! |* this i|
|00003020| 6d 61 67 65 20 74 6f 20 | 63 72 65 61 74 65 20 74 |mage to |create t|
|00003030| 68 65 20 64 69 73 70 6c | 61 79 65 64 20 69 6d 61 |he displ|ayed ima|
|00003040| 67 65 2e 0a 58 21 20 20 | 2a 2f 0a 58 20 20 0a 58 |ge..X! |*/.X .X|
|00003050| 20 20 73 74 61 74 69 63 | 20 73 68 6f 72 74 20 6d | static| short m|
|00003060| 6f 6f 6e 5f 69 6d 67 20 | 5b 5d 20 3d 20 7b 0a 58 |oon_img |[] = {.X|
|00003070| 20 20 23 69 6e 63 6c 75 | 64 65 20 22 6d 6f 6f 6e | #inclu|de "moon|
|00003080| 2e 69 63 6f 6e 22 0a 58 | 2a 2a 2a 2a 2a 2a 2a 2a |.icon".X|********|
|00003090| 2a 2a 2a 2a 2a 2a 2a 0a | 58 2a 2a 2a 20 31 38 38 |*******.|X*** 188|
|000030a0| 2c 31 39 33 0a 58 20 20 | 76 6f 69 64 20 70 68 61 |,193.X |void pha|
|000030b0| 73 65 68 75 6e 74 28 29 | 3b 0a 58 20 20 76 6f 69 |sehunt()|;.X voi|
|000030c0| 64 20 64 72 61 77 6d 6f | 6f 6e 28 29 2c 20 6a 79 |d drawmo|on(), jy|
|000030d0| 65 61 72 28 29 2c 20 6a | 68 6d 73 28 29 3b 0a 58 |ear(), j|hms();.X|
|000030e0| 20 20 0a 58 20 20 0a 58 | 20 20 2f 2a 20 20 44 52 | .X .X| /* DR|
|000030f0| 41 57 4d 4f 4f 4e 20 20 | 2d 2d 20 20 43 6f 6e 73 |AWMOON |-- Cons|
|00003100| 74 72 75 63 74 20 69 63 | 6f 6e 20 66 6f 72 20 6d |truct ic|on for m|
|00003110| 6f 6f 6e 2c 20 67 69 76 | 65 6e 20 70 68 61 73 65 |oon, giv|en phase|
|00003120| 20 6f 66 20 6d 6f 6f 6e | 2e 20 20 2a 2f 0a 58 20 | of moon|. */.X |
|00003130| 20 0a 58 0a 58 2d 2d 2d | 20 32 32 30 2c 32 32 39 | .X.X---| 220,229|
|00003140| 20 2d 2d 2d 2d 2d 0a 58 | 20 20 20 2a 20 74 68 69 | -----.X| * thi|
|00003150| 73 20 69 6d 61 67 65 20 | 74 6f 20 63 72 65 61 74 |s image |to creat|
|00003160| 65 20 74 68 65 20 64 69 | 73 70 6c 61 79 65 64 20 |e the di|splayed |
|00003170| 69 6d 61 67 65 2e 0a 58 | 20 20 20 2a 2f 0a 58 20 |image..X| */.X |
|00003180| 20 0a 58 2b 20 73 74 61 | 74 69 63 20 73 68 6f 72 | .X+ sta|tic shor|
|00003190| 74 20 6d 6f 6f 6e 5f 69 | 6d 67 20 5b 5d 20 3d 20 |t moon_i|mg [] = |
|000031a0| 7b 0a 58 2b 20 23 69 6e | 63 6c 75 64 65 20 22 6d |{.X+ #in|clude "m|
|000031b0| 6f 6f 6e 2e 69 63 6f 6e | 22 0a 58 2b 20 7d 3b 0a |oon.icon|".X+ };.|
|000031c0| 58 2b 20 6d 70 72 5f 73 | 74 61 74 69 63 28 6d 6f |X+ mpr_s|tatic(mo|
|000031d0| 6f 6e 5f 6d 70 72 2c 20 | 36 34 2c 20 36 34 2c 20 |on_mpr, |64, 64, |
|000031e0| 31 2c 20 6d 6f 6f 6e 5f | 69 6d 67 29 3b 0a 58 20 |1, moon_|img);.X |
|000031f0| 20 0a 58 20 20 65 78 74 | 65 72 6e 20 50 69 78 66 | .X ext|ern Pixf|
|00003200| 6f 6e 74 09 2a 66 6f 6e | 74 3b 09 09 09 2f 2a 20 |ont.*fon|t;.../* |
|00003210| 70 6f 69 6e 74 65 72 20 | 74 6f 20 72 65 67 75 6c |pointer |to regul|
|00003220| 61 72 20 69 63 6f 6e 20 | 66 6f 6e 74 20 2a 2f 0a |ar icon |font */.|
|00003230| 58 20 20 65 78 74 65 72 | 6e 20 50 69 78 66 6f 6e |X exter|n Pixfon|
|00003240| 74 09 2a 73 66 6f 6e 74 | 3b 09 09 09 2f 2a 20 70 |t.*sfont|;.../* p|
|00003250| 6f 69 6e 74 65 72 20 74 | 6f 20 74 69 6e 79 20 69 |ointer t|o tiny i|
|00003260| 63 6f 6e 20 66 6f 6e 74 | 20 2a 2f 0a 58 2a 2a 2a |con font| */.X***|
|00003270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0a 58 2a 2a |********|****.X**|
|00003280| 2a 20 31 38 39 2c 31 39 | 35 0a 58 20 20 76 6f 69 |* 189,19|5.X voi|
|00003290| 64 20 64 72 61 77 6d 6f | 6f 6e 28 29 2c 20 6a 79 |d drawmo|on(), jy|
|000032a0| 65 61 72 28 29 2c 20 6a | 68 6d 73 28 29 3b 0a 58 |ear(), j|hms();.X|
|000032b0| 20 20 0a 58 20 20 0a 58 | 21 20 2f 2a 20 20 44 52 | .X .X|! /* DR|
|000032c0| 41 57 4d 4f 4f 4e 20 20 | 2d 2d 20 20 43 6f 6e 73 |AWMOON |-- Cons|
|000032d0| 74 72 75 63 74 20 69 63 | 6f 6e 20 66 6f 72 20 6d |truct ic|on for m|
|000032e0| 6f 6f 6e 2c 20 67 69 76 | 65 6e 20 70 68 61 73 65 |oon, giv|en phase|
|000032f0| 20 6f 66 20 6d 6f 6f 6e | 2e 20 20 2a 2f 0a 58 20 | of moon|. */.X |
|00003300| 20 0a 58 20 20 73 74 61 | 74 69 63 20 76 6f 69 64 | .X sta|tic void|
|00003310| 20 64 72 61 77 6d 6f 6f | 6e 28 70 68 29 0a 58 20 | drawmoo|n(ph).X |
|00003320| 20 64 6f 75 62 6c 65 20 | 70 68 3b 0a 58 0a 58 2d | double |ph;.X.X-|
|00003330| 2d 2d 20 32 32 35 2c 32 | 33 39 20 2d 2d 2d 2d 2d |-- 225,2|39 -----|
|00003340| 0a 58 20 20 7d 3b 0a 58 | 20 20 6d 70 72 5f 73 74 |.X };.X| mpr_st|
|00003350| 61 74 69 63 28 6d 6f 6f | 6e 5f 6d 70 72 2c 20 36 |atic(moo|n_mpr, 6|
|00003360| 34 2c 20 36 34 2c 20 31 | 2c 20 6d 6f 6f 6e 5f 69 |4, 64, 1|, moon_i|
|00003370| 6d 67 29 3b 0a 58 20 20 | 0a 58 21 20 65 78 74 65 |mg);.X |.X! exte|
|00003380| 72 6e 20 50 69 78 66 6f | 6e 74 09 2a 66 6f 6e 74 |rn Pixfo|nt.*font|
|00003390| 3b 09 09 09 2f 2a 20 70 | 6f 69 6e 74 65 72 20 74 |;.../* p|ointer t|
|000033a0| 6f 20 72 65 67 75 6c 61 | 72 20 69 63 6f 6e 20 66 |o regula|r icon f|
|000033b0| 6f 6e 74 20 2a 2f 0a 58 | 21 20 65 78 74 65 72 6e |ont */.X|! extern|
|000033c0| 20 50 69 78 66 6f 6e 74 | 09 2a 73 66 6f 6e 74 3b | Pixfont|.*sfont;|
|000033d0| 09 09 09 2f 2a 20 70 6f | 69 6e 74 65 72 20 74 6f |.../* po|inter to|
|000033e0| 20 74 69 6e 79 20 69 63 | 6f 6e 20 66 6f 6e 74 20 | tiny ic|on font |
|000033f0| 2a 2f 0a 58 21 20 65 78 | 74 65 72 6e 20 43 61 6e |*/.X! ex|tern Can|
|00003400| 76 61 73 09 6d 63 61 6e | 76 61 73 3b 09 09 09 2f |vas.mcan|vas;.../|
|00003410| 2a 20 68 61 6e 64 6c 65 | 20 66 6f 72 20 74 68 65 |* handle| for the|
|00003420| 20 63 61 6e 76 61 73 20 | 2a 2f 0a 58 21 20 65 78 | canvas |*/.X! ex|
|00003430| 74 65 72 6e 20 63 68 61 | 72 20 2a 6d 6f 6e 74 68 |tern cha|r *month|
|00003440| 6e 61 6d 65 73 5b 5d 3b | 0a 58 21 20 73 74 61 74 |names[];|.X! stat|
|00003450| 69 63 20 50 69 78 72 65 | 63 74 09 2a 69 63 6f 6e |ic Pixre|ct.*icon|
|00003460| 5f 6d 70 72 3b 09 09 2f | 2a 20 61 63 74 75 61 6c |_mpr;../|* actual|
|00003470| 20 64 69 73 70 6c 61 79 | 65 64 20 70 69 78 72 65 | display|ed pixre|
|00003480| 63 74 20 2a 2f 0a 58 21 | 20 73 74 61 74 69 63 20 |ct */.X!| static |
|00003490| 50 69 78 77 69 6e 09 2a | 63 70 77 3b 09 09 09 2f |Pixwin.*|cpw;.../|
|000034a0| 2a 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 74 68 65 |* pointe|r to the|
|000034b0| 20 63 61 6e 76 61 73 27 | 20 70 69 78 77 69 6e 20 | canvas'| pixwin |
|000034c0| 2a 2f 0a 58 21 20 73 74 | 61 74 69 63 20 69 6e 74 |*/.X! st|atic int|
|000034d0| 09 63 68 61 72 68 67 74 | 2c 20 63 68 61 72 77 69 |.charhgt|, charwi|
|000034e0| 64 3b 09 2f 2a 20 64 65 | 66 61 75 6c 74 20 73 74 |d;./* de|fault st|
|000034f0| 64 20 66 6f 6e 74 20 68 | 65 69 67 68 74 2f 77 69 |d font h|eight/wi|
|00003500| 64 74 68 20 2a 2f 0a 58 | 21 20 73 74 61 74 69 63 |dth */.X|! static|
|00003510| 20 69 6e 74 20 69 6e 66 | 6f 5f 63 6f 6c 3b 0a 58 | int inf|o_col;.X|
|00003520| 21 20 73 74 61 74 69 63 | 20 73 74 72 75 63 74 20 |! static| struct |
|00003530| 74 69 6d 65 7a 6f 6e 65 | 20 74 7a 70 3b 0a 58 20 |timezone| tzp;.X |
|00003540| 20 0a 58 20 20 73 74 61 | 74 69 63 20 63 68 61 72 | .X sta|tic char|
|00003550| 20 2a 6c 61 62 65 6c 73 | 20 5b 5d 20 3d 20 7b 0a | *labels| [] = {.|
|00003560| 58 20 20 09 22 4d 6f 6f | 6e 20 70 68 61 73 65 3a |X ."Moo|n phase:|
|00003570| 22 2c 0a 58 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |",.X****|********|
|00003580| 2a 2a 2a 0a 58 2a 2a 2a | 20 31 39 31 2c 31 39 38 |***.X***| 191,198|
|00003590| 0a 58 20 20 0a 58 20 20 | 2f 2a 20 20 44 52 41 57 |.X .X |/* DRAW|
|000035a0| 4d 4f 4f 4e 20 20 2d 2d | 20 20 43 6f 6e 73 74 72 |MOON --| Constr|
|000035b0| 75 63 74 20 69 63 6f 6e | 20 66 6f 72 20 6d 6f 6f |uct icon| for moo|
|000035c0| 6e 2c 20 67 69 76 65 6e | 20 70 68 61 73 65 20 6f |n, given| phase o|
|000035d0| 66 20 6d 6f 6f 6e 2e 20 | 20 2a 2f 0a 58 20 20 0a |f moon. | */.X .|
|000035e0| 58 21 20 73 74 61 74 69 | 63 20 76 6f 69 64 20 64 |X! stati|c void d|
|000035f0| 72 61 77 6d 6f 6f 6e 28 | 70 68 29 0a 58 21 20 64 |rawmoon(|ph).X! d|
|00003600| 6f 75 62 6c 65 20 70 68 | 3b 0a 58 20 20 7b 0a 58 |ouble ph|;.X {.X|
|00003610| 20 20 09 69 6e 74 20 69 | 2c 20 6a 2c 20 6c 78 2c | .int i|, j, lx,|
|00003620| 20 72 78 3b 0a 58 20 20 | 09 69 6e 74 20 6c 62 5b | rx;.X |.int lb[|
|00003630| 34 5d 3b 0a 58 0a 58 2d | 2d 2d 20 32 33 35 2c 32 |4];.X.X-|-- 235,2|
|00003640| 36 35 20 2d 2d 2d 2d 2d | 0a 58 20 20 73 74 61 74 |65 -----|.X stat|
|00003650| 69 63 20 69 6e 74 20 69 | 6e 66 6f 5f 63 6f 6c 3b |ic int i|nfo_col;|
|00003660| 0a 58 20 20 73 74 61 74 | 69 63 20 73 74 72 75 63 |.X stat|ic struc|
|00003670| 74 20 74 69 6d 65 7a 6f | 6e 65 20 74 7a 70 3b 0a |t timezo|ne tzp;.|
|00003680| 58 20 20 0a 58 21 20 73 | 74 61 74 69 63 20 63 68 |X .X! s|tatic ch|
|00003690| 61 72 20 2a 6c 61 62 65 | 6c 73 20 5b 5d 20 3d 20 |ar *labe|ls [] = |
|000036a0| 7b 0a 58 21 20 09 22 4d | 6f 6f 6e 20 70 68 61 73 |{.X! ."M|oon phas|
|000036b0| 65 3a 22 2c 0a 58 21 20 | 09 22 41 67 65 20 6f 66 |e:",.X! |."Age of|
|000036c0| 20 6d 6f 6f 6e 3a 22 2c | 0a 58 21 20 09 22 4d 6f | moon:",|.X! ."Mo|
|000036d0| 6f 6e 27 73 20 64 69 73 | 74 61 6e 63 65 3a 22 2c |on's dis|tance:",|
|000036e0| 0a 58 21 20 09 22 4d 6f | 6f 6e 20 73 75 62 74 65 |.X! ."Mo|on subte|
|000036f0| 6e 64 73 3a 22 2c 0a 58 | 21 20 09 22 4c 61 73 74 |nds:",.X|! ."Last|
|00003700| 20 6e 65 77 20 6d 6f 6f | 6e 3a 22 2c 0a 58 21 20 | new moo|n:",.X! |
|00003710| 09 22 46 69 72 73 74 20 | 71 75 61 72 74 65 72 3a |."First |quarter:|
|00003720| 22 2c 0a 58 21 20 09 22 | 46 75 6c 6c 20 6d 6f 6f |",.X! ."|Full moo|
|00003730| 6e 3a 22 2c 0a 58 21 20 | 09 22 4c 61 73 74 20 71 |n:",.X! |."Last q|
|00003740| 75 61 72 74 65 72 3a 22 | 2c 0a 58 21 20 09 22 4e |uarter:"|,.X! ."N|
|00003750| 65 78 74 20 6e 65 77 20 | 6d 6f 6f 6e 3a 22 0a 58 |ext new |moon:".X|
|00003760| 21 20 7d 3b 0a 58 21 20 | 0a 58 21 20 2f 2a 20 20 |! };.X! |.X! /* |
|00003770| 46 6f 72 77 61 72 64 20 | 66 75 6e 63 74 69 6f 6e |Forward |function|
|00003780| 73 20 20 2a 2f 0a 58 21 | 20 73 74 61 74 69 63 20 |s */.X!| static |
|00003790| 64 6f 75 62 6c 65 09 09 | 6a 74 69 6d 65 28 29 2c |double..|jtime(),|
|000037a0| 20 70 68 61 73 65 28 29 | 3b 0a 58 21 20 73 74 61 | phase()|;.X! sta|
|000037b0| 74 69 63 20 76 6f 69 64 | 09 09 70 68 61 73 65 68 |tic void|..phaseh|
|000037c0| 75 6e 74 28 29 2c 20 73 | 65 74 5f 6d 6f 64 65 28 |unt(), s|et_mode(|
|000037d0| 29 3b 0a 58 21 20 73 74 | 61 74 69 63 20 76 6f 69 |);.X! st|atic voi|
|000037e0| 64 09 09 64 72 61 77 6d | 6f 6f 6e 28 29 2c 20 6a |d..drawm|oon(), j|
|000037f0| 79 65 61 72 28 29 2c 20 | 6a 68 6d 73 28 29 3b 0a |year(), |jhms();.|
|00003800| 58 21 20 0a 58 21 20 0a | 58 21 20 2f 2a 0a 58 21 |X! .X! .|X! /*.X!|
|00003810| 20 20 2a 20 44 52 41 57 | 4d 4f 4f 4e 20 20 2d 2d | * DRAW|MOON --|
|00003820| 20 20 43 6f 6e 73 74 72 | 75 63 74 20 69 63 6f 6e | Constr|uct icon|
|00003830| 20 66 6f 72 20 6d 6f 6f | 6e 2c 20 67 69 76 65 6e | for moo|n, given|
|00003840| 20 70 68 61 73 65 20 6f | 66 20 6d 6f 6f 6e 2e 0a | phase o|f moon..|
|00003850| 58 21 20 20 2a 2f 0a 58 | 21 20 0a 58 21 20 73 74 |X! */.X|! .X! st|
|00003860| 61 74 69 63 20 76 6f 69 | 64 20 64 72 61 77 6d 6f |atic voi|d drawmo|
|00003870| 6f 6e 20 28 70 68 2c 20 | 73 72 63 5f 70 72 2c 20 |on (ph, |src_pr, |
|00003880| 64 73 74 5f 70 72 29 0a | 58 21 20 64 6f 75 62 6c |dst_pr).|X! doubl|
|00003890| 65 09 09 70 68 3b 0a 58 | 21 20 50 69 78 72 65 63 |e..ph;.X|! Pixrec|
|000038a0| 74 09 09 2a 73 72 63 5f | 70 72 2c 20 2a 64 73 74 |t..*src_|pr, *dst|
|000038b0| 5f 70 72 3b 0a 58 20 20 | 7b 0a 58 20 20 09 72 65 |_pr;.X |{.X .re|
|000038c0| 67 69 73 74 65 72 20 69 | 6e 74 09 69 2c 20 6c 78 |gister i|nt.i, lx|
|000038d0| 2c 20 72 78 3b 0a 58 20 | 20 09 72 65 67 69 73 74 |, rx;.X | .regist|
|000038e0| 65 72 20 64 6f 75 62 6c | 65 09 63 70 2c 20 78 73 |er doubl|e.cp, xs|
|000038f0| 63 61 6c 65 3b 0a 58 2a | 2a 2a 2a 2a 2a 2a 2a 2a |cale;.X*|********|
|00003900| 2a 2a 2a 2a 2a 2a 0a 58 | 2a 2a 2a 20 31 39 34 2c |******.X|*** 194,|
|00003910| 32 30 32 0a 58 20 20 73 | 74 61 74 69 63 20 76 6f |202.X s|tatic vo|
|00003920| 69 64 20 64 72 61 77 6d | 6f 6f 6e 28 70 68 29 0a |id drawm|oon(ph).|
|00003930| 58 20 20 64 6f 75 62 6c | 65 20 70 68 3b 0a 58 20 |X doubl|e ph;.X |
|00003940| 20 7b 0a 58 21 20 09 69 | 6e 74 20 69 2c 20 6a 2c | {.X! .i|nt i, j,|
|00003950| 20 6c 78 2c 20 72 78 3b | 0a 58 21 20 09 69 6e 74 | lx, rx;|.X! .int|
|00003960| 20 6c 62 5b 34 5d 3b 0a | 58 21 20 09 64 6f 75 62 | lb[4];.|X! .doub|
|00003970| 6c 65 20 63 70 2c 20 78 | 73 63 61 6c 65 3b 0a 58 |le cp, x|scale;.X|
|00003980| 20 20 0a 58 20 20 09 78 | 73 63 61 6c 65 20 3d 20 | .X .x|scale = |
|00003990| 63 6f 73 28 32 20 2a 20 | 50 49 20 2a 20 70 68 29 |cos(2 * |PI * ph)|
|000039a0| 3b 0a 58 20 20 09 66 6f | 72 20 28 69 20 3d 20 30 |;.X .fo|r (i = 0|
|000039b0| 3b 20 69 20 3c 20 32 34 | 3b 20 69 2b 2b 29 20 7b |; i < 24|; i++) {|
|000039c0| 0a 58 0a 58 2d 2d 2d 20 | 32 36 31 2c 32 37 32 20 |.X.X--- |261,272 |
|000039d0| 2d 2d 2d 2d 2d 0a 58 20 | 20 64 6f 75 62 6c 65 09 |-----.X | double.|
|000039e0| 09 70 68 3b 0a 58 20 20 | 50 69 78 72 65 63 74 09 |.ph;.X |Pixrect.|
|000039f0| 09 2a 73 72 63 5f 70 72 | 2c 20 2a 64 73 74 5f 70 |.*src_pr|, *dst_p|
|00003a00| 72 3b 0a 58 20 20 7b 0a | 58 21 20 09 72 65 67 69 |r;.X {.|X! .regi|
|00003a10| 73 74 65 72 20 69 6e 74 | 09 69 2c 20 6c 78 2c 20 |ster int|.i, lx, |
|00003a20| 72 78 3b 0a 58 21 20 09 | 72 65 67 69 73 74 65 72 |rx;.X! .|register|
|00003a30| 20 64 6f 75 62 6c 65 09 | 63 70 2c 20 78 73 63 61 | double.|cp, xsca|
|00003a40| 6c 65 3b 0a 58 21 20 23 | 64 65 66 69 6e 65 20 52 |le;.X! #|define R|
|00003a50| 41 44 49 55 53 09 09 32 | 37 2e 30 0a 58 21 20 23 |ADIUS..2|7.0.X! #|
|00003a60| 64 65 66 69 6e 65 20 49 | 52 41 44 49 55 53 09 09 |define I|RADIUS..|
|00003a70| 32 37 0a 58 21 20 23 64 | 65 66 69 6e 65 20 4f 46 |27.X! #d|efine OF|
|00003a80| 46 53 45 54 09 09 32 38 | 0a 58 21 20 23 64 65 66 |FSET..28|.X! #def|
|00003a90| 69 6e 65 20 43 45 4e 54 | 45 52 09 09 33 32 0a 58 |ine CENT|ER..32.X|
|00003aa0| 20 20 0a 58 20 20 09 2f | 2a 20 43 6c 65 61 72 20 | .X ./|* Clear |
|00003ab0| 74 68 65 20 64 65 73 74 | 69 6e 61 74 69 6f 6e 20 |the dest|ination |
|00003ac0| 70 69 78 72 65 63 74 20 | 74 6f 20 61 6c 6c 20 6f |pixrect |to all o|
|00003ad0| 6e 65 2d 62 69 74 73 20 | 28 62 6c 61 63 6b 29 20 |ne-bits |(black) |
|00003ae0| 2a 2f 0a 58 20 20 09 70 | 72 5f 72 6f 70 20 28 64 |*/.X .p|r_rop (d|
|00003af0| 73 74 5f 70 72 2c 20 30 | 2c 20 30 2c 20 36 34 2c |st_pr, 0|, 0, 64,|
|00003b00| 20 36 34 2c 20 50 49 58 | 5f 53 45 54 2c 20 28 50 | 64, PIX|_SET, (P|
|00003b10| 69 78 72 65 63 74 20 2a | 29 30 2c 20 30 2c 20 30 |ixrect *|)0, 0, 0|
|00003b20| 29 3b 0a 58 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |);.X****|********|
|00003b30| 2a 2a 2a 0a 58 2a 2a 2a | 20 31 39 38 2c 32 31 39 |***.X***| 198,219|
|00003b40| 0a 58 20 20 09 69 6e 74 | 20 6c 62 5b 34 5d 3b 0a |.X .int| lb[4];.|
|00003b50| 58 20 20 09 64 6f 75 62 | 6c 65 20 63 70 2c 20 78 |X .doub|le cp, x|
|00003b60| 73 63 61 6c 65 3b 0a 58 | 20 20 0a 58 21 20 09 78 |scale;.X| .X! .x|
|00003b70| 73 63 61 6c 65 20 3d 20 | 63 6f 73 28 32 20 2a 20 |scale = |cos(2 * |
|00003b80| 50 49 20 2a 20 70 68 29 | 3b 0a 58 21 20 09 66 6f |PI * ph)|;.X! .fo|
|00003b90| 72 20 28 69 20 3d 20 30 | 3b 20 69 20 3c 20 32 34 |r (i = 0|; i < 24|
|00003ba0| 3b 20 69 2b 2b 29 20 7b | 0a 58 21 20 09 20 20 20 |; i++) {|.X! . |
|00003bb0| 6c 62 5b 30 5d 20 3d 20 | 6c 62 5b 31 5d 20 3d 20 |lb[0] = |lb[1] = |
|00003bc0| 6c 62 5b 32 5d 20 3d 20 | 6c 62 5b 33 5d 20 3d 20 |lb[2] = |lb[3] = |
|00003bd0| 30 78 46 46 46 46 3b 0a | 58 21 20 09 20 20 20 63 |0xFFFF;.|X! . c|
|00003be0| 70 20 3d 20 32 34 2e 30 | 20 2a 20 63 6f 73 28 61 |p = 24.0| * cos(a|
|00003bf0| 73 69 6e 28 69 20 2f 20 | 32 34 2e 30 29 29 3b 0a |sin(i / |24.0));.|
|00003c00| 58 21 20 09 20 20 20 69 | 66 20 28 70 68 20 3c 20 |X! . i|f (ph < |
|00003c10| 30 2e 35 29 20 7b 0a 58 | 21 20 09 20 20 20 20 20 |0.5) {.X|! . |
|00003c20| 20 72 78 20 3d 20 33 32 | 20 2b 20 63 70 3b 0a 58 | rx = 32| + cp;.X|
|00003c30| 21 20 09 20 20 20 20 20 | 20 6c 78 20 3d 20 33 32 |! . | lx = 32|
|00003c40| 20 2b 20 78 73 63 61 6c | 65 20 2a 20 63 70 3b 0a | + xscal|e * cp;.|
|00003c50| 58 21 20 09 20 20 20 7d | 20 65 6c 73 65 20 7b 0a |X! . }| else {.|
|00003c60| 58 21 20 09 20 20 20 20 | 20 20 6c 78 20 3d 20 33 |X! . | lx = 3|
|00003c70| 33 20 2d 20 63 70 3b 0a | 58 21 20 09 20 20 20 20 |3 - cp;.|X! . |
|00003c80| 20 20 72 78 20 3d 20 33 | 33 20 2d 20 78 73 63 61 | rx = 3|3 - xsca|
|00003c90| 6c 65 20 2a 20 63 70 3b | 0a 58 21 20 09 20 20 20 |le * cp;|.X! . |
|00003ca0| 7d 0a 58 21 20 09 20 20 | 20 66 6f 72 20 28 6a 20 |}.X! . | for (j |
|00003cb0| 3d 20 6c 78 3b 20 6a 20 | 3c 3d 20 72 78 3b 20 6a |= lx; j |<= rx; j|
|00003cc0| 2b 2b 29 20 7b 0a 58 21 | 20 09 20 20 20 20 20 20 |++) {.X!| . |
|00003cd0| 6c 62 5b 6a 20 3e 3e 20 | 34 5d 20 26 3d 20 28 30 |lb[j >> |4] &= (0|
|00003ce0| 78 38 30 30 30 20 3e 3e | 20 28 6a 20 26 20 30 78 |x8000 >>| (j & 0x|
|00003cf0| 46 29 29 20 5e 20 30 78 | 46 46 46 46 3b 0a 58 21 |F)) ^ 0x|FFFF;.X!|
|00003d00| 20 09 20 20 20 7d 0a 58 | 21 20 09 20 20 20 66 6f | . }.X|! . fo|
|00003d10| 72 20 28 6a 20 3d 20 30 | 3b 20 6a 20 3c 20 34 3b |r (j = 0|; j < 4;|
|00003d20| 20 6a 2b 2b 29 0a 58 21 | 20 09 20 20 20 20 20 20 | j++).X!| . |
|00003d30| 6d 6f 6f 6e 5f 69 6d 67 | 5b 32 38 20 2b 20 69 5d |moon_img|[28 + i]|
|00003d40| 5b 6a 5d 20 3d 20 6d 6f | 6f 6e 5f 69 6d 67 5b 32 |[j] = mo|on_img[2|
|00003d50| 38 20 2d 20 69 5d 5b 6a | 5d 20 3d 20 6c 62 5b 6a |8 - i][j|] = lb[j|
|00003d60| 5d 3b 0a 58 20 20 09 7d | 0a 58 20 20 7d 0a 58 20 |];.X .}|.X }.X |
|00003d70| 20 0a 58 0a 58 2d 2d 2d | 20 32 36 38 2c 32 39 38 | .X.X---| 268,298|
|00003d80| 20 2d 2d 2d 2d 2d 0a 58 | 20 20 23 64 65 66 69 6e | -----.X| #defin|
|00003d90| 65 20 4f 46 46 53 45 54 | 09 09 32 38 0a 58 20 20 |e OFFSET|..28.X |
|00003da0| 23 64 65 66 69 6e 65 20 | 43 45 4e 54 45 52 09 09 |#define |CENTER..|
|00003db0| 33 32 0a 58 20 20 0a 58 | 21 20 09 2f 2a 20 43 6c |32.X .X|! ./* Cl|
|00003dc0| 65 61 72 20 74 68 65 20 | 64 65 73 74 69 6e 61 74 |ear the |destinat|
|00003dd0| 69 6f 6e 20 70 69 78 72 | 65 63 74 20 74 6f 20 61 |ion pixr|ect to a|
|00003de0| 6c 6c 20 6f 6e 65 2d 62 | 69 74 73 20 28 62 6c 61 |ll one-b|its (bla|
|00003df0| 63 6b 29 20 2a 2f 0a 58 | 21 20 09 70 72 5f 72 6f |ck) */.X|! .pr_ro|
|00003e00| 70 20 28 64 73 74 5f 70 | 72 2c 20 30 2c 20 30 2c |p (dst_p|r, 0, 0,|
|00003e10| 20 36 34 2c 20 36 34 2c | 20 50 49 58 5f 53 45 54 | 64, 64,| PIX_SET|
|00003e20| 2c 20 28 50 69 78 72 65 | 63 74 20 2a 29 30 2c 20 |, (Pixre|ct *)0, |
|00003e30| 30 2c 20 30 29 3b 0a 58 | 21 20 0a 58 21 20 09 78 |0, 0);.X|! .X! .x|
|00003e40| 73 63 61 6c 65 20 3d 20 | 63 6f 73 20 28 32 20 2a |scale = |cos (2 *|
|00003e50| 20 50 49 20 2a 20 70 68 | 29 3b 0a 58 21 20 09 66 | PI * ph|);.X! .f|
|00003e60| 6f 72 20 28 69 20 3d 20 | 30 3b 20 69 20 3c 20 49 |or (i = |0; i < I|
|00003e70| 52 41 44 49 55 53 3b 20 | 69 2b 2b 29 20 7b 0a 58 |RADIUS; |i++) {.X|
|00003e80| 21 20 09 09 63 70 20 3d | 20 52 41 44 49 55 53 20 |! ..cp =| RADIUS |
|00003e90| 2a 20 63 6f 73 20 28 61 | 73 69 6e 20 28 69 20 2f |* cos (a|sin (i /|
|00003ea0| 20 52 41 44 49 55 53 29 | 29 3b 0a 58 21 20 09 09 | RADIUS)|);.X! ..|
|00003eb0| 69 66 20 28 70 68 20 3c | 20 30 2e 35 29 20 7b 0a |if (ph <| 0.5) {.|
|00003ec0| 58 21 20 09 09 09 72 78 | 20 3d 20 43 45 4e 54 45 |X! ...rx| = CENTE|
|00003ed0| 52 20 2b 20 63 70 3b 0a | 58 21 20 09 09 09 6c 78 |R + cp;.|X! ...lx|
|00003ee0| 20 3d 20 43 45 4e 54 45 | 52 20 2b 20 78 73 63 61 | = CENTE|R + xsca|
|00003ef0| 6c 65 20 2a 20 63 70 3b | 0a 58 21 20 09 09 7d 20 |le * cp;|.X! ..} |
|00003f00| 65 6c 73 65 20 7b 0a 58 | 21 20 09 09 09 6c 78 20 |else {.X|! ...lx |
|00003f10| 3d 20 43 45 4e 54 45 52 | 20 2d 20 63 70 3b 0a 58 |= CENTER| - cp;.X|
|00003f20| 21 20 09 09 09 72 78 20 | 3d 20 43 45 4e 54 45 52 |! ...rx |= CENTER|
|00003f30| 20 2d 20 78 73 63 61 6c | 65 20 2a 20 63 70 3b 0a | - xscal|e * cp;.|
|00003f40| 58 21 20 09 09 7d 0a 58 | 21 20 0a 58 21 20 09 09 |X! ..}.X|! .X! ..|
|00003f50| 2f 2a 0a 58 21 20 09 09 | 20 2a 20 57 65 20 6e 6f |/*.X! ..| * We no|
|00003f60| 77 20 6b 6e 6f 77 20 74 | 68 65 20 6c 65 66 74 20 |w know t|he left |
|00003f70| 61 6e 64 20 72 69 67 68 | 74 20 65 6e 64 70 6f 69 |and righ|t endpoi|
|00003f80| 6e 74 73 20 6f 66 20 74 | 68 65 20 73 63 61 6e 20 |nts of t|he scan |
|00003f90| 6c 69 6e 65 0a 58 21 20 | 09 09 20 2a 20 66 6f 72 |line.X! |.. * for|
|00003fa0| 20 74 68 69 73 20 79 20 | 63 6f 6f 72 64 69 6e 61 | this y |coordina|
|00003fb0| 74 65 2e 20 20 57 65 20 | 72 61 73 74 65 72 2d 6f |te. We |raster-o|
|00003fc0| 70 20 74 68 65 20 63 6f | 72 72 65 73 70 6f 6e 64 |p the co|rrespond|
|00003fd0| 69 6e 67 0a 58 21 20 09 | 09 20 2a 20 73 63 61 6e |ing.X! .|. * scan|
|00003fe0| 6c 69 6e 65 73 20 66 72 | 6f 6d 20 74 68 65 20 73 |lines fr|om the s|
|00003ff0| 6f 75 72 63 65 20 70 69 | 78 72 65 63 74 20 74 6f |ource pi|xrect to|
|00004000| 20 74 68 65 20 64 65 73 | 74 69 6e 61 74 69 6f 6e | the des|tination|
|00004010| 0a 58 21 20 09 09 20 2a | 20 70 69 78 72 65 63 74 |.X! .. *| pixrect|
|00004020| 2c 20 6f 66 66 73 65 74 | 74 69 6e 67 20 74 6f 20 |, offset|ting to |
|00004030| 70 72 6f 70 65 72 6c 79 | 20 70 6c 61 63 65 20 69 |properly| place i|
|00004040| 74 20 69 6e 20 74 68 65 | 20 70 69 78 72 65 63 74 |t in the| pixrect|
|00004050| 20 61 6e 64 0a 58 21 20 | 09 09 20 2a 20 72 65 66 | and.X! |.. * ref|
|00004060| 6c 65 63 74 69 6e 67 20 | 76 65 72 74 69 63 61 6c |lecting |vertical|
|00004070| 6c 79 2e 0a 58 21 20 09 | 09 20 2a 2f 0a 58 21 20 |ly..X! .|. */.X! |
|00004080| 09 09 70 72 5f 72 6f 70 | 20 28 64 73 74 5f 70 72 |..pr_rop| (dst_pr|
|00004090| 2c 20 6c 78 2c 20 4f 46 | 46 53 45 54 20 2b 20 69 |, lx, OF|FSET + i|
|000040a0| 2c 20 28 72 78 20 2d 20 | 6c 78 29 20 2b 20 31 2c |, (rx - |lx) + 1,|
|000040b0| 20 31 2c 20 50 49 58 5f | 53 52 43 2c 0a 58 21 20 | 1, PIX_|SRC,.X! |
|000040c0| 09 09 09 73 72 63 5f 70 | 72 2c 20 6c 78 2c 20 4f |...src_p|r, lx, O|
|000040d0| 46 46 53 45 54 20 2b 20 | 69 29 3b 0a 58 21 20 09 |FFSET + |i);.X! .|
|000040e0| 09 70 72 5f 72 6f 70 20 | 28 64 73 74 5f 70 72 2c |.pr_rop |(dst_pr,|
|000040f0| 20 6c 78 2c 20 4f 46 46 | 53 45 54 20 2d 20 69 2c | lx, OFF|SET - i,|
|00004100| 20 28 72 78 20 2d 20 6c | 78 29 20 2b 20 31 2c 20 | (rx - l|x) + 1, |
|00004110| 31 2c 20 50 49 58 5f 53 | 52 43 2c 0a 58 21 20 09 |1, PIX_S|RC,.X! .|
|00004120| 09 09 73 72 63 5f 70 72 | 2c 20 6c 78 2c 20 4f 46 |..src_pr|, lx, OF|
|00004130| 46 53 45 54 20 2d 20 69 | 29 3b 0a 58 20 20 09 7d |FSET - i|);.X .}|
|00004140| 0a 58 20 20 7d 0a 58 20 | 20 0a 58 2a 2a 2a 2a 2a |.X }.X | .X*****|
|00004150| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0a 58 2a 2a 2a 20 |********|**.X*** |
|00004160| 32 31 37 2c 32 32 32 0a | 58 20 20 09 7d 0a 58 20 |217,222.|X .}.X |
|00004170| 20 7d 0a 58 20 20 0a 58 | 20 20 2f 2a 20 20 4d 4f | }.X .X| /* MO|
|00004180| 4f 4e 5f 44 41 54 41 20 | 20 2d 2d 20 70 72 69 6e |ON_DATA | -- prin|
|00004190| 74 20 75 73 65 66 75 6c | 20 69 6e 66 6f 20 61 62 |t useful| info ab|
|000041a0| 6f 75 74 20 74 68 65 20 | 6d 6f 6f 6e 20 2a 2f 0a |out the |moon */.|
|000041b0| 58 20 20 0a 58 20 20 6d | 6f 6f 6e 5f 64 61 74 61 |X .X m|oon_data|
|000041c0| 28 73 65 63 6f 6e 64 73 | 29 0a 58 0a 58 2d 2d 2d |(seconds|).X.X---|
|000041d0| 20 32 39 36 2c 33 30 37 | 20 2d 2d 2d 2d 2d 0a 58 | 296,307| -----.X|
|000041e0| 20 20 09 7d 0a 58 20 20 | 7d 0a 58 20 20 0a 58 2b | .}.X |}.X .X+|
|000041f0| 20 23 64 65 66 69 6e 65 | 20 70 72 74 28 79 29 20 | #define| prt(y) |
|00004200| 70 77 5f 74 65 78 74 28 | 63 70 77 2c 20 69 6e 66 |pw_text(|cpw, inf|
|00004210| 6f 5f 63 6f 6c 2c 20 63 | 68 61 72 68 67 74 2a 28 |o_col, c|harhgt*(|
|00004220| 79 29 2c 20 50 49 58 5f | 53 52 43 2c 20 66 6f 6e |y), PIX_|SRC, fon|
|00004230| 74 2c 20 74 62 75 66 29 | 0a 58 2b 20 23 64 65 66 |t, tbuf)|.X+ #def|
|00004240| 69 6e 65 20 70 72 74 78 | 79 28 78 2c 79 29 20 70 |ine prtx|y(x,y) p|
|00004250| 77 5f 74 65 78 74 28 63 | 70 77 2c 20 63 68 61 72 |w_text(c|pw, char|
|00004260| 77 69 64 2a 28 79 2b 31 | 29 2c 20 63 68 61 72 68 |wid*(y+1|), charh|
|00004270| 67 74 2a 28 78 29 2c 20 | 50 49 58 5f 53 52 43 2c |gt*(x), |PIX_SRC,|
|00004280| 5c 0a 58 2b 20 09 66 6f | 6e 74 2c 74 62 75 66 29 |\.X+ .fo|nt,tbuf)|
|00004290| 0a 58 2b 20 23 64 65 66 | 69 6e 65 20 45 50 4c 28 |.X+ #def|ine EPL(|
|000042a0| 78 29 20 28 78 29 2c 20 | 28 78 29 20 3d 3d 20 31 |x) (x), |(x) == 1|
|000042b0| 20 3f 20 22 22 20 3a 20 | 22 73 22 0a 58 2b 20 23 | ? "" : |"s".X+ #|
|000042c0| 64 65 66 69 6e 65 20 41 | 50 4f 53 28 78 29 20 28 |define A|POS(x) (|
|000042d0| 78 20 2b 20 31 31 29 0a | 58 2b 20 0a 58 20 20 2f |x + 11).|X+ .X /|
|000042e0| 2a 20 20 4d 4f 4f 4e 5f | 44 41 54 41 20 20 2d 2d |* MOON_|DATA --|
|000042f0| 20 70 72 69 6e 74 20 75 | 73 65 66 75 6c 20 69 6e | print u|seful in|
|00004300| 66 6f 20 61 62 6f 75 74 | 20 74 68 65 20 6d 6f 6f |fo about| the moo|
|00004310| 6e 20 2a 2f 0a 58 20 20 | 0a 58 20 20 6d 6f 6f 6e |n */.X |.X moon|
|00004320| 5f 64 61 74 61 28 73 65 | 63 6f 6e 64 73 29 0a 58 |_data(se|conds).X|
|00004330| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0a |********|*******.|
|00004340| 58 2a 2a 2a 20 32 32 32 | 2c 32 33 38 0a 58 20 20 |X*** 222|,238.X |
|00004350| 6d 6f 6f 6e 5f 64 61 74 | 61 28 73 65 63 6f 6e 64 |moon_dat|a(second|
|00004360| 73 29 0a 58 20 20 6c 6f | 6e 67 20 73 65 63 6f 6e |s).X lo|ng secon|
|00004370| 64 73 3b 0a 58 20 20 7b | 0a 58 21 20 09 69 6e 74 |ds;.X {|.X! .int|
|00004380| 20 6c 75 6e 61 74 69 6f | 6e 2c 20 77 63 6c 6f 73 | lunatio|n, wclos|
|00004390| 65 64 3b 0a 58 21 20 09 | 6c 6f 6e 67 20 74 3b 0a |ed;.X! .|long t;.|
|000043a0| 58 21 20 09 64 6f 75 62 | 6c 65 20 6a 64 2c 20 70 |X! .doub|le jd, p|
|000043b0| 2c 20 61 6f 6d 2c 20 63 | 70 68 61 73 65 2c 20 63 |, aom, c|phase, c|
|000043c0| 64 69 73 74 2c 20 63 61 | 6e 67 64 69 61 2c 20 63 |dist, ca|ngdia, c|
|000043d0| 73 75 6e 64 2c 20 63 73 | 75 61 6e 67 2c 20 6c 70 |sund, cs|uang, lp|
|000043e0| 74 69 6d 65 3b 0a 58 21 | 20 09 64 6f 75 62 6c 65 |time;.X!| .double|
|000043f0| 20 70 68 61 73 61 72 5b | 35 5d 3b 0a 58 21 20 09 | phasar[|5];.X! .|
|00004400| 73 74 72 75 63 74 20 70 | 72 5f 70 72 70 6f 73 20 |struct p|r_prpos |
|00004410| 74 6c 6f 63 3b 0a 58 21 | 20 09 63 68 61 72 20 61 |tloc;.X!| .char a|
|00004420| 6d 73 67 5b 31 32 5d 2c | 20 74 62 75 66 5b 38 30 |msg[12],| tbuf[80|
|00004430| 5d 3b 0a 58 21 20 09 73 | 74 61 74 69 63 20 64 6f |];.X! .s|tatic do|
|00004440| 75 62 6c 65 20 66 61 6b | 65 74 69 6d 65 20 3d 20 |uble fak|etime = |
|00004450| 30 2e 30 3b 0a 58 21 20 | 09 73 74 61 74 69 63 20 |0.0;.X! |.static |
|00004460| 73 68 6f 72 74 20 6d 6f | 6f 6e 69 6c 61 73 74 5b |short mo|onilast[|
|00004470| 36 34 5d 5b 34 5d 20 3d | 20 7b 30 7d 3b 0a 58 21 |64][4] =| {0};.X!|
|00004480| 20 09 69 6e 74 20 79 79 | 2c 20 6d 6d 2c 20 64 64 | .int yy|, mm, dd|
|00004490| 2c 20 68 68 2c 20 6d 6d | 6d 2c 20 73 73 3b 0a 58 |, hh, mm|m, ss;.X|
|000044a0| 21 20 09 50 69 78 66 6f | 6e 74 20 2a 70 66 6f 6e |! .Pixfo|nt *pfon|
|000044b0| 74 3b 0a 58 21 20 09 73 | 74 72 75 63 74 20 74 6d |t;.X! .s|truct tm|
|000044c0| 20 2a 67 6d 2c 20 2a 6c | 74 6d 2c 20 2a 6c 6f 63 | *gm, *l|tm, *loc|
|000044d0| 61 6c 74 69 6d 65 28 29 | 3b 0a 58 20 20 09 73 74 |altime()|;.X .st|
|000044e0| 72 75 63 74 20 74 69 6d | 65 76 61 6c 20 74 76 70 |ruct tim|eval tvp|
|000044f0| 3b 0a 58 20 20 09 73 74 | 72 75 63 74 20 74 69 6d |;.X .st|ruct tim|
|00004500| 65 7a 6f 6e 65 20 74 7a | 70 3b 0a 58 20 20 09 6c |ezone tz|p;.X .l|
|00004510| 6f 6e 67 20 63 6c 6f 63 | 6b 3b 0a 58 0a 58 2d 2d |ong cloc|k;.X.X--|
|00004520| 2d 20 33 30 37 2c 33 32 | 30 20 2d 2d 2d 2d 2d 0a |- 307,32|0 -----.|
|00004530| 58 20 20 6d 6f 6f 6e 5f | 64 61 74 61 28 73 65 63 |X moon_|data(sec|
|00004540| 6f 6e 64 73 29 0a 58 20 | 20 6c 6f 6e 67 20 73 65 |onds).X | long se|
|00004550| 63 6f 6e 64 73 3b 0a 58 | 20 20 7b 0a 58 21 20 09 |conds;.X| {.X! .|
|00004560| 69 6e 74 09 09 6c 75 6e | 61 74 69 6f 6e 2c 20 77 |int..lun|ation, w|
|00004570| 63 6c 6f 73 65 64 3b 0a | 58 21 20 09 69 6e 74 09 |closed;.|X! .int.|
|00004580| 09 69 2c 20 79 79 2c 20 | 6d 6d 2c 20 64 64 2c 20 |.i, yy, |mm, dd, |
|00004590| 68 68 2c 20 6d 6d 6d 2c | 20 73 73 3b 0a 58 21 20 |hh, mmm,| ss;.X! |
|000045a0| 09 69 6e 74 09 09 61 6f | 6d 5f 64 2c 20 61 6f 6d |.int..ao|m_d, aom|
|000045b0| 5f 68 2c 20 61 6f 6d 5f | 6d 3b 0a 58 21 20 09 6c |_h, aom_|m;.X! .l|
|000045c0| 6f 6e 67 09 09 74 3b 0a | 58 21 20 09 64 6f 75 62 |ong..t;.|X! .doub|
|000045d0| 6c 65 09 09 6a 64 2c 20 | 70 2c 20 61 6f 6d 2c 20 |le..jd, |p, aom, |
|000045e0| 63 70 68 61 73 65 2c 20 | 63 64 69 73 74 2c 20 63 |cphase, |cdist, c|
|000045f0| 61 6e 67 64 69 61 2c 20 | 63 73 75 6e 64 2c 20 63 |angdia, |csund, c|
|00004600| 73 75 61 6e 67 3b 0a 58 | 21 20 09 64 6f 75 62 6c |suang;.X|! .doubl|
|00004610| 65 09 09 70 68 61 73 61 | 72 20 5b 35 5d 3b 0a 58 |e..phasa|r [5];.X|
|00004620| 21 20 09 63 68 61 72 09 | 09 74 62 75 66 5b 38 30 |! .char.|.tbuf[80|
|00004630| 5d 3b 0a 58 21 20 09 73 | 74 72 75 63 74 20 74 6d |];.X! .s|truct tm|
|00004640| 09 2a 67 6d 2c 20 2a 6c | 74 6d 2c 20 2a 6c 6f 63 |.*gm, *l|tm, *loc|
|00004650| 61 6c 74 69 6d 65 28 29 | 3b 0a 58 20 20 09 73 74 |altime()|;.X .st|
|00004660| 72 75 63 74 20 74 69 6d | 65 76 61 6c 20 74 76 70 |ruct tim|eval tvp|
|00004670| 3b 0a 58 20 20 09 73 74 | 72 75 63 74 20 70 72 5f |;.X .st|ruct pr_|
|00004680| 70 72 70 6f 73 09 74 6c | 6f 63 3b 0a 58 20 20 09 |prpos.tl|oc;.X .|
|00004690| 73 74 72 75 63 74 20 70 | 72 5f 73 69 7a 65 09 74 |struct p|r_size.t|
|000046a0| 78 74 5f 73 69 7a 65 3b | 0a 58 2a 2a 2a 2a 2a 2a |xt_size;|.X******|
|000046b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0a 58 2a 2a 2a 20 32 |********|*.X*** 2|
|000046c0| 33 34 2c 32 34 30 0a 58 | 20 20 09 50 69 78 66 6f |34,240.X| .Pixfo|
|000046d0| 6e 74 20 2a 70 66 6f 6e | 74 3b 0a 58 20 20 09 73 |nt *pfon|t;.X .s|
|000046e0| 74 72 75 63 74 20 74 6d | 20 2a 67 6d 2c 20 2a 6c |truct tm| *gm, *l|
|000046f0| 74 6d 2c 20 2a 6c 6f 63 | 61 6c 74 69 6d 65 28 29 |tm, *loc|altime()|
|00004700| 3b 0a 58 20 20 09 73 74 | 72 75 63 74 20 74 69 6d |;.X .st|ruct tim|
|00004710| 65 76 61 6c 20 74 76 70 | 3b 0a 58 21 20 09 73 74 |eval tvp|;.X! .st|
|00004720| 72 75 63 74 20 74 69 6d | 65 7a 6f 6e 65 20 74 7a |ruct tim|ezone tz|
|00004730| 70 3b 0a 58 20 20 09 6c | 6f 6e 67 20 63 6c 6f 63 |p;.X .l|ong cloc|
|00004740| 6b 3b 0a 58 20 20 09 63 | 68 61 72 20 2a 61 74 70 |k;.X .c|har *atp|
|00004750| 2c 20 2a 61 73 63 74 69 | 6d 65 28 29 3b 0a 58 20 |, *ascti|me();.X |
|00004760| 20 0a 58 0a 58 2d 2d 2d | 20 33 31 36 2c 33 32 33 | .X.X---| 316,323|
|00004770| 20 2d 2d 2d 2d 2d 0a 58 | 20 20 09 63 68 61 72 09 | -----.X| .char.|
|00004780| 09 74 62 75 66 5b 38 30 | 5d 3b 0a 58 20 20 09 73 |.tbuf[80|];.X .s|
|00004790| 74 72 75 63 74 20 74 6d | 09 2a 67 6d 2c 20 2a 6c |truct tm|.*gm, *l|
|000047a0| 74 6d 2c 20 2a 6c 6f 63 | 61 6c 74 69 6d 65 28 29 |tm, *loc|altime()|
|000047b0| 3b 0a 58 20 20 09 73 74 | 72 75 63 74 20 74 69 6d |;.X .st|ruct tim|
|000047c0| 65 76 61 6c 20 74 76 70 | 3b 0a 58 21 20 09 73 74 |eval tvp|;.X! .st|
|000047d0| 72 75 63 74 20 70 72 5f | 70 72 70 6f 73 09 74 6c |ruct pr_|prpos.tl|
|000047e0| 6f 63 3b 0a 58 21 20 09 | 73 74 72 75 63 74 20 70 |oc;.X! .|struct p|
|000047f0| 72 5f 73 69 7a 65 09 74 | 78 74 5f 73 69 7a 65 3b |r_size.t|xt_size;|
|00004800| 0a 58 20 20 09 6c 6f 6e | 67 20 63 6c 6f 63 6b 3b |.X .lon|g clock;|
|00004810| 0a 58 20 20 09 63 68 61 | 72 20 2a 61 74 70 2c 20 |.X .cha|r *atp, |
|00004820| 2a 61 73 63 74 69 6d 65 | 28 29 3b 0a 58 20 20 0a |*asctime|();.X .|
|00004830| 58 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |X*******|********|
|00004840| 0a 58 2a 2a 2a 20 32 33 | 38 2c 32 34 35 0a 58 20 |.X*** 23|8,245.X |
|00004850| 20 09 6c 6f 6e 67 20 63 | 6c 6f 63 6b 3b 0a 58 20 | .long c|lock;.X |
|00004860| 20 09 63 68 61 72 20 2a | 61 74 70 2c 20 2a 61 73 | .char *|atp, *as|
|00004870| 63 74 69 6d 65 28 29 3b | 0a 58 20 20 0a 58 21 20 |ctime();|.X .X! |
|00004880| 0a 58 21 20 09 70 66 6f | 6e 74 20 3d 20 70 66 5f |.X! .pfo|nt = pf_|
|00004890| 6f 70 65 6e 28 22 2f 75 | 73 72 2f 6c 69 62 2f 66 |open("/u|sr/lib/f|
|000048a0| 6f 6e 74 73 2f 66 69 78 | 65 64 77 69 64 74 68 66 |onts/fix|edwidthf|
|000048b0| 6f 6e 74 73 2f 73 63 72 | 65 65 6e 2e 72 2e 37 22 |onts/scr|een.r.7"|
|000048c0| 29 3b 0a 58 20 20 09 63 | 70 77 20 3d 20 63 61 6e |);.X .c|pw = can|
|000048d0| 76 61 73 5f 70 69 78 77 | 69 6e 28 6d 63 61 6e 76 |vas_pixw|in(mcanv|
|000048e0| 61 73 29 3b 0a 58 20 20 | 09 63 68 61 72 77 69 64 |as);.X |.charwid|
|000048f0| 20 3d 20 66 6f 6e 74 2d | 3e 70 66 5f 64 65 66 61 | = font-|>pf_defa|
|00004900| 75 6c 74 73 69 7a 65 2e | 78 3b 0a 58 20 20 09 63 |ultsize.|x;.X .c|
|00004910| 68 61 72 68 67 74 20 3d | 20 66 6f 6e 74 2d 3e 70 |harhgt =| font->p|
|00004920| 66 5f 64 65 66 61 75 6c | 74 73 69 7a 65 2e 79 3b |f_defaul|tsize.y;|
|00004930| 0a 58 0a 58 2d 2d 2d 20 | 33 32 31 2c 33 32 38 20 |.X.X--- |321,328 |
|00004940| 2d 2d 2d 2d 2d 0a 58 20 | 20 09 6c 6f 6e 67 20 63 |-----.X | .long c|
|00004950| 6c 6f 63 6b 3b 0a 58 20 | 20 09 63 68 61 72 20 2a |lock;.X | .char *|
|00004960| 61 74 70 2c 20 2a 61 73 | 63 74 69 6d 65 28 29 3b |atp, *as|ctime();|
|00004970| 0a 58 20 20 0a 58 21 20 | 09 69 63 6f 6e 5f 6d 70 |.X .X! |.icon_mp|
|00004980| 72 20 3d 20 6d 65 6d 5f | 63 72 65 61 74 65 20 28 |r = mem_|create (|
|00004990| 36 34 2c 20 36 34 2c 20 | 31 29 3b 0a 58 21 20 09 |64, 64, |1);.X! .|
|000049a0| 70 72 5f 72 6f 70 20 28 | 69 63 6f 6e 5f 6d 70 72 |pr_rop (|icon_mpr|
|000049b0| 2c 20 30 2c 20 30 2c 20 | 36 34 2c 20 36 34 2c 20 |, 0, 0, |64, 64, |
|000049c0| 50 49 58 5f 53 52 43 2c | 20 26 6d 6f 6f 6e 5f 6d |PIX_SRC,| &moon_m|
|000049d0| 70 72 2c 20 30 2c 20 30 | 29 3b 0a 58 20 20 09 63 |pr, 0, 0|);.X .c|
|000049e0| 70 77 20 3d 20 63 61 6e | 76 61 73 5f 70 69 78 77 |pw = can|vas_pixw|
|000049f0| 69 6e 28 6d 63 61 6e 76 | 61 73 29 3b 0a 58 20 20 |in(mcanv|as);.X |
|00004a00| 09 63 68 61 72 77 69 64 | 20 3d 20 66 6f 6e 74 2d |.charwid| = font-|
|00004a10| 3e 70 66 5f 64 65 66 61 | 75 6c 74 73 69 7a 65 2e |>pf_defa|ultsize.|
|00004a20| 78 3b 0a 58 20 20 09 63 | 68 61 72 68 67 74 20 3d |x;.X .c|harhgt =|
|00004a30| 20 66 6f 6e 74 2d 3e 70 | 66 5f 64 65 66 61 75 6c | font->p|f_defaul|
|00004a40| 74 73 69 7a 65 2e 79 3b | 0a 58 2a 2a 2a 2a 2a 2a |tsize.y;|.X******|
|00004a50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0a 58 2a 2a 2a 20 32 |********|*.X*** 2|
|00004a60| 34 33 2c 32 34 39 0a 58 | 20 20 09 63 70 77 20 3d |43,249.X| .cpw =|
|00004a70| 20 63 61 6e 76 61 73 5f | 70 69 78 77 69 6e 28 6d | canvas_|pixwin(m|
|00004a80| 63 61 6e 76 61 73 29 3b | 0a 58 20 20 09 63 68 61 |canvas);|.X .cha|
|00004a90| 72 77 69 64 20 3d 20 66 | 6f 6e 74 2d 3e 70 66 5f |rwid = f|ont->pf_|
|00004aa0| 64 65 66 61 75 6c 74 73 | 69 7a 65 2e 78 3b 0a 58 |defaults|ize.x;.X|
|00004ab0| 20 20 09 63 68 61 72 68 | 67 74 20 3d 20 66 6f 6e | .charh|gt = fon|
|00004ac0| 74 2d 3e 70 66 5f 64 65 | 66 61 75 6c 74 73 69 7a |t->pf_de|faultsiz|
|00004ad0| 65 2e 79 3b 0a 58 21 20 | 09 6a 64 20 3d 20 6a 74 |e.y;.X! |.jd = jt|
|00004ae0| 69 6d 65 28 28 67 6d 20 | 3d 20 67 6d 74 69 6d 65 |ime((gm |= gmtime|
|00004af0| 28 26 73 65 63 6f 6e 64 | 73 29 29 29 3b 0a 58 20 |(&second|s)));.X |
|00004b00| 20 09 67 65 74 74 69 6d | 65 6f 66 64 61 79 28 26 | .gettim|eofday(&|
|00004b10| 74 76 70 2c 20 26 74 7a | 70 29 3b 20 2f 2a 20 66 |tvp, &tz|p); /* f|
|00004b20| 6f 72 20 74 69 6d 65 7a | 6f 6e 65 20 69 6e 66 6f |or timez|one info|
|00004b30| 20 2a 2f 0a 58 20 20 09 | 70 20 3d 20 70 68 61 73 | */.X .|p = phas|
|00004b40| 65 28 6a 64 2c 20 26 63 | 70 68 61 73 65 2c 20 26 |e(jd, &c|phase, &|
|00004b50| 61 6f 6d 2c 20 26 63 64 | 69 73 74 2c 20 26 63 61 |aom, &cd|ist, &ca|
|00004b60| 6e 67 64 69 61 2c 20 26 | 63 73 75 6e 64 2c 20 26 |ngdia, &|csund, &|
|00004b70| 63 73 75 61 6e 67 29 3b | 0a 58 20 20 09 64 72 61 |csuang);|.X .dra|
|00004b80| 77 6d 6f 6f 6e 28 70 29 | 3b 0a 58 0a 58 2d 2d 2d |wmoon(p)|;.X.X---|
|00004b90| 20 33 32 36 2c 33 33 33 | 20 2d 2d 2d 2d 2d 0a 58 | 326,333| -----.X|
|00004ba0| 20 20 09 63 70 77 20 3d | 20 63 61 6e 76 61 73 5f | .cpw =| canvas_|
|00004bb0| 70 69 78 77 69 6e 28 6d | 63 61 6e 76 61 73 29 3b |pixwin(m|canvas);|
|00004bc0| 0a 58 20 20 09 63 68 61 | 72 77 69 64 20 3d 20 66 |.X .cha|rwid = f|
|00004bd0| 6f 6e 74 2d 3e 70 66 5f | 64 65 66 61 75 6c 74 73 |ont->pf_|defaults|
|00004be0| 69 7a 65 2e 78 3b 0a 58 | 20 20 09 63 68 61 72 68 |ize.x;.X| .charh|
|00004bf0| 67 74 20 3d 20 66 6f 6e | 74 2d 3e 70 66 5f 64 65 |gt = fon|t->pf_de|
|00004c00| 66 61 75 6c 74 73 69 7a | 65 2e 79 3b 0a 58 21 20 |faultsiz|e.y;.X! |
|00004c10| 09 69 6e 66 6f 5f 63 6f | 6c 20 3d 20 63 68 61 72 |.info_co|l = char|
|00004c20| 77 69 64 20 2a 20 32 30 | 3b 0a 58 21 20 09 6a 64 |wid * 20|;.X! .jd|
|00004c30| 20 3d 20 6a 74 69 6d 65 | 20 28 28 67 6d 20 3d 20 | = jtime| ((gm = |
|00004c40| 67 6d 74 69 6d 65 20 28 | 26 73 65 63 6f 6e 64 73 |gmtime (|&seconds|
|00004c50| 29 29 29 3b 0a 58 20 20 | 09 67 65 74 74 69 6d 65 |)));.X |.gettime|
|00004c60| 6f 66 64 61 79 28 26 74 | 76 70 2c 20 26 74 7a 70 |ofday(&t|vp, &tzp|
|00004c70| 29 3b 20 2f 2a 20 66 6f | 72 20 74 69 6d 65 7a 6f |); /* fo|r timezo|
|00004c80| 6e 65 20 69 6e 66 6f 20 | 2a 2f 0a 58 20 20 09 70 |ne info |*/.X .p|
|00004c90| 20 3d 20 70 68 61 73 65 | 20 28 6a 64 2c 20 26 63 | = phase| (jd, &c|
|00004ca0| 70 68 61 73 65 2c 20 26 | 61 6f 6d 2c 20 26 63 64 |phase, &|aom, &cd|
|00004cb0| 69 73 74 2c 20 26 63 61 | 6e 67 64 69 61 2c 20 26 |ist, &ca|ngdia, &|
|00004cc0| 63 73 75 6e 64 2c 20 26 | 63 73 75 61 6e 67 29 3b |csund, &|csuang);|
|00004cd0| 0a 58 20 20 09 61 6f 6d | 5f 64 20 3d 20 28 69 6e |.X .aom|_d = (in|
|00004ce0| 74 29 20 61 6f 6d 3b 0a | 58 2a 2a 2a 2a 2a 2a 2a |t) aom;.|X*******|
|00004cf0| 2a 2a 2a 2a 2a 2a 2a 2a | 0a 58 2a 2a 2a 20 32 34 |********|.X*** 24|
|00004d00| 35 2c 32 35 38 0a 58 20 | 20 09 63 68 61 72 68 67 |5,258.X | .charhg|
|00004d10| 74 20 3d 20 66 6f 6e 74 | 2d 3e 70 66 5f 64 65 66 |t = font|->pf_def|
|00004d20| 61 75 6c 74 73 69 7a 65 | 2e 79 3b 0a 58 20 20 09 |aultsize|.y;.X .|
|00004d30| 6a 64 20 3d 20 6a 74 69 | 6d 65 28 28 67 6d 20 3d |jd = jti|me((gm =|
|00004d40| 20 67 6d 74 69 6d 65 28 | 26 73 65 63 6f 6e 64 73 | gmtime(|&seconds|
|00004d50| 29 29 29 3b 0a 58 20 20 | 09 67 65 74 74 69 6d 65 |)));.X |.gettime|
|00004d60| 6f 66 64 61 79 28 26 74 | 76 70 2c 20 26 74 7a 70 |ofday(&t|vp, &tzp|
|00004d70| 29 3b 20 2f 2a 20 66 6f | 72 20 74 69 6d 65 7a 6f |); /* fo|r timezo|
|00004d80| 6e 65 20 69 6e 66 6f 20 | 2a 2f 0a 58 21 20 09 70 |ne info |*/.X! .p|
|00004d90| 20 3d 20 70 68 61 73 65 | 28 6a 64 2c 20 26 63 70 | = phase|(jd, &cp|
|00004da0| 68 61 73 65 2c 20 26 61 | 6f 6d 2c 20 26 63 64 69 |hase, &a|om, &cdi|
|00004db0| 73 74 2c 20 26 63 61 6e | 67 64 69 61 2c 20 26 63 |st, &can|gdia, &c|
|00004dc0| 73 75 6e 64 2c 20 26 63 | 73 75 61 6e 67 29 3b 0a |sund, &c|suang);.|
|00004dd0| 58 21 20 09 64 72 61 77 | 6d 6f 6f 6e 28 70 29 3b |X! .draw|moon(p);|
|00004de0| 0a 58 21 20 20 20 20 20 | 20 20 20 20 73 70 72 69 |.X! | spri|
|00004df0| 6e 74 66 28 61 6d 73 67 | 2c 20 22 20 25 64 64 20 |ntf(amsg|, " %dd |
|00004e00| 25 64 68 20 20 22 2c 0a | 58 21 20 09 20 20 20 28 |%dh ",.|X! . (|
|00004e10| 69 6e 74 29 20 61 6f 6d | 2c 20 28 28 69 6e 74 29 |int) aom|, ((int)|
|00004e20| 20 28 32 34 20 2a 20 28 | 61 6f 6d 20 2d 20 66 6c | (24 * (|aom - fl|
|00004e30| 6f 6f 72 28 61 6f 6d 29 | 29 29 29 29 3b 0a 58 21 |oor(aom)|))));.X!|
|00004e40| 20 09 74 6c 6f 63 2e 70 | 72 20 3d 20 28 50 69 78 | .tloc.p|r = (Pix|
|00004e50| 72 65 63 74 20 2a 29 20 | 69 63 6f 6e 5f 67 65 74 |rect *) |icon_get|
|00004e60| 28 26 6d 6f 6f 6e 5f 69 | 63 6f 6e 2c 20 49 43 4f |(&moon_i|con, ICO|
|00004e70| 4e 5f 49 4d 41 47 45 29 | 3b 0a 58 21 20 09 74 6c |N_IMAGE)|;.X! .tl|
|00004e80| 6f 63 2e 70 6f 73 2e 78 | 20 3d 20 32 3b 0a 58 21 |oc.pos.x| = 2;.X!|
|00004e90| 20 09 74 6c 6f 63 2e 70 | 6f 73 2e 79 20 3d 20 36 | .tloc.p|os.y = 6|
|00004ea0| 32 3b 0a 58 21 20 09 70 | 66 5f 74 65 78 74 28 74 |2;.X! .p|f_text(t|
|00004eb0| 6c 6f 63 2c 20 50 49 58 | 5f 4e 4f 54 28 50 49 58 |loc, PIX|_NOT(PIX|
|00004ec0| 5f 53 52 43 29 2c 20 70 | 66 6f 6e 74 2c 20 61 6d |_SRC), p|font, am|
|00004ed0| 73 67 29 3b 0a 58 20 20 | 0a 58 20 20 09 2f 2a 20 |sg);.X |.X ./* |
|00004ee0| 4f 6e 6c 79 20 75 70 64 | 61 74 65 20 69 63 6f 6e |Only upd|ate icon|
|00004ef0| 20 69 66 20 69 74 20 63 | 68 61 6e 67 65 64 20 28 | if it c|hanged (|
|00004f00| 74 68 69 73 20 65 6c 69 | 6d 69 6e 61 74 65 73 20 |this eli|minates |
|00004f10| 67 72 61 74 75 69 74 6f | 75 73 0a 58 20 20 09 20 |gratuito|us.X . |
|00004f20| 20 20 66 6c 61 73 68 69 | 6e 67 20 6f 66 20 74 68 | flashi|ng of th|
|00004f30| 65 20 69 63 6f 6e 20 6f | 6e 2d 73 63 72 65 65 6e |e icon o|n-screen|
|00004f40| 29 2e 20 2a 2f 0a 58 0a | 58 2d 2d 2d 20 33 32 39 |). */.X.|X--- 329|
|00004f50| 2c 33 33 38 20 2d 2d 2d | 2d 2d 0a 58 20 20 09 69 |,338 ---|--.X .i|
|00004f60| 6e 66 6f 5f 63 6f 6c 20 | 3d 20 63 68 61 72 77 69 |nfo_col |= charwi|
|00004f70| 64 20 2a 20 32 30 3b 0a | 58 20 20 09 6a 64 20 3d |d * 20;.|X .jd =|
|00004f80| 20 6a 74 69 6d 65 20 28 | 28 67 6d 20 3d 20 67 6d | jtime (|(gm = gm|
|00004f90| 74 69 6d 65 20 28 26 73 | 65 63 6f 6e 64 73 29 29 |time (&s|econds))|
|00004fa0| 29 3b 0a 58 20 20 09 67 | 65 74 74 69 6d 65 6f 66 |);.X .g|ettimeof|
|00004fb0| 64 61 79 28 26 74 76 70 | 2c 20 26 74 7a 70 29 3b |day(&tvp|, &tzp);|
|00004fc0| 20 2f 2a 20 66 6f 72 20 | 74 69 6d 65 7a 6f 6e 65 | /* for |timezone|
|00004fd0| 20 69 6e 66 6f 20 2a 2f | 0a 58 21 20 09 70 20 3d | info */|.X! .p =|
|00004fe0| 20 70 68 61 73 65 20 28 | 6a 64 2c 20 26 63 70 68 | phase (|jd, &cph|
|00004ff0| 61 73 65 2c 20 26 61 6f | 6d 2c 20 26 63 64 69 73 |ase, &ao|m, &cdis|
|00005000| 74 2c 20 26 63 61 6e 67 | 64 69 61 2c 20 26 63 73 |t, &cang|dia, &cs|
|00005010| 75 6e 64 2c 20 26 63 73 | 75 61 6e 67 29 3b 0a 58 |und, &cs|uang);.X|
|00005020| 21 20 09 61 6f 6d 5f 64 | 20 3d 20 28 69 6e 74 29 |! .aom_d| = (int)|
|00005030| 20 61 6f 6d 3b 0a 58 21 | 20 09 61 6f 6d 5f 68 20 | aom;.X!| .aom_h |
|00005040| 3d 20 28 69 6e 74 29 20 | 28 32 34 20 2a 20 28 61 |= (int) |(24 * (a|
|00005050| 6f 6d 20 2d 20 66 6c 6f | 6f 72 28 61 6f 6d 29 29 |om - flo|or(aom))|
|00005060| 29 3b 0a 58 21 20 09 61 | 6f 6d 5f 6d 20 3d 20 28 |);.X! .a|om_m = (|
|00005070| 69 6e 74 29 20 28 31 34 | 34 30 20 2a 20 28 61 6f |int) (14|40 * (ao|
|00005080| 6d 20 2d 20 66 6c 6f 6f | 72 28 61 6f 6d 29 29 29 |m - floo|r(aom)))|
|00005090| 20 25 20 36 30 3b 0a 58 | 20 20 0a 58 20 20 09 64 | % 60;.X| .X .d|
|000050a0| 72 61 77 6d 6f 6f 6e 28 | 70 2c 20 26 6d 6f 6f 6e |rawmoon(|p, &moon|
|000050b0| 5f 6d 70 72 2c 20 69 63 | 6f 6e 5f 6d 70 72 29 3b |_mpr, ic|on_mpr);|
|000050c0| 0a 58 20 20 0a 58 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.X .X**|********|
|000050d0| 2a 2a 2a 2a 2a 0a 58 2a | 2a 2a 20 32 35 34 2c 32 |*****.X*|** 254,2|
|000050e0| 36 31 0a 58 20 20 09 74 | 6c 6f 63 2e 70 6f 73 2e |61.X .t|loc.pos.|
|000050f0| 79 20 3d 20 36 32 3b 0a | 58 20 20 09 70 66 5f 74 |y = 62;.|X .pf_t|
|00005100| 65 78 74 28 74 6c 6f 63 | 2c 20 50 49 58 5f 4e 4f |ext(tloc|, PIX_NO|
|00005110| 54 28 50 49 58 5f 53 52 | 43 29 2c 20 70 66 6f 6e |T(PIX_SR|C), pfon|
|00005120| 74 2c 20 61 6d 73 67 29 | 3b 0a 58 20 20 0a 58 21 |t, amsg)|;.X .X!|
|00005130| 20 09 2f 2a 20 4f 6e 6c | 79 20 75 70 64 61 74 65 | ./* Onl|y update|
|00005140| 20 69 63 6f 6e 20 69 66 | 20 69 74 20 63 68 61 6e | icon if| it chan|
|00005150| 67 65 64 20 28 74 68 69 | 73 20 65 6c 69 6d 69 6e |ged (thi|s elimin|
|00005160| 61 74 65 73 20 67 72 61 | 74 75 69 74 6f 75 73 0a |ates gra|tuitous.|
|00005170| 58 21 20 09 20 20 20 66 | 6c 61 73 68 69 6e 67 20 |X! . f|lashing |
|00005180| 6f 66 20 74 68 65 20 69 | 63 6f 6e 20 6f 6e 2d 73 |of the i|con on-s|
|00005190| 63 72 65 65 6e 29 2e 20 | 2a 2f 0a 58 20 20 0a 58 |creen). |*/.X .X|
|000051a0| 20 20 09 69 66 20 28 62 | 63 6d 70 28 6d 6f 6f 6e | .if (b|cmp(moon|
|000051b0| 69 6c 61 73 74 2c 20 6d | 6f 6f 6e 5f 69 6d 67 2c |ilast, m|oon_img,|
|000051c0| 20 73 69 7a 65 6f 66 20 | 6d 6f 6f 6e 5f 69 6d 67 | sizeof |moon_img|
|000051d0| 29 20 21 3d 20 30 29 0a | 58 20 20 09 20 20 20 62 |) != 0).|X . b|
|000051e0| 63 6f 70 79 28 6d 6f 6f | 6e 5f 69 6d 67 2c 20 6d |copy(moo|n_img, m|
|000051f0| 6f 6f 6e 69 6c 61 73 74 | 2c 20 73 69 7a 65 6f 66 |oonilast|, sizeof|
|00005200| 20 6d 6f 6f 6e 5f 69 6d | 67 29 3b 0a 58 0a 58 2d | moon_im|g);.X.X-|
|00005210| 2d 2d 20 33 33 34 2c 33 | 34 30 20 2d 2d 2d 2d 2d |-- 334,3|40 -----|
|00005220| 0a 58 20 20 09 61 6f 6d | 5f 68 20 3d 20 28 69 6e |.X .aom|_h = (in|
|00005230| 74 29 20 28 32 34 20 2a | 20 28 61 6f 6d 20 2d 20 |t) (24 *| (aom - |
|00005240| 66 6c 6f 6f 72 28 61 6f | 6d 29 29 29 3b 0a 58 20 |floor(ao|m)));.X |
|00005250| 20 09 61 6f 6d 5f 6d 20 | 3d 20 28 69 6e 74 29 20 | .aom_m |= (int) |
|00005260| 28 31 34 34 30 20 2a 20 | 28 61 6f 6d 20 2d 20 66 |(1440 * |(aom - f|
|00005270| 6c 6f 6f 72 28 61 6f 6d | 29 29 29 20 25 20 36 30 |loor(aom|))) % 60|
|00005280| 3b 0a 58 20 20 0a 58 21 | 20 09 64 72 61 77 6d 6f |;.X .X!| .drawmo|
|00005290| 6f 6e 28 70 2c 20 26 6d | 6f 6f 6e 5f 6d 70 72 2c |on(p, &m|oon_mpr,|
|000052a0| 20 69 63 6f 6e 5f 6d 70 | 72 29 3b 0a 58 20 20 0a | icon_mp|r);.X .|
|000052b0| 58 20 20 09 69 66 20 28 | 61 6f 6d 5f 64 20 3d 3d |X .if (|aom_d ==|
|000052c0| 20 30 29 20 7b 0a 58 20 | 20 09 09 28 76 6f 69 64 | 0) {.X | ..(void|
|000052d0| 29 73 70 72 69 6e 74 66 | 28 74 62 75 66 2c 20 22 |)sprintf|(tbuf, "|
|000052e0| 25 64 68 20 25 64 6d 22 | 2c 20 61 6f 6d 5f 68 2c |%dh %dm"|, aom_h,|
|000052f0| 20 61 6f 6d 5f 6d 29 3b | 0a 58 2a 2a 2a 2a 2a 2a | aom_m);|.X******|
|00005300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0a 58 2a 2a 2a 20 32 |********|*.X*** 2|
|00005310| 35 37 2c 32 36 34 0a 58 | 20 20 09 2f 2a 20 4f 6e |57,264.X| ./* On|
|00005320| 6c 79 20 75 70 64 61 74 | 65 20 69 63 6f 6e 20 69 |ly updat|e icon i|
|00005330| 66 20 69 74 20 63 68 61 | 6e 67 65 64 20 28 74 68 |f it cha|nged (th|
|00005340| 69 73 20 65 6c 69 6d 69 | 6e 61 74 65 73 20 67 72 |is elimi|nates gr|
|00005350| 61 74 75 69 74 6f 75 73 | 0a 58 20 20 09 20 20 20 |atuitous|.X . |
|00005360| 66 6c 61 73 68 69 6e 67 | 20 6f 66 20 74 68 65 20 |flashing| of the |
|00005370| 69 63 6f 6e 20 6f 6e 2d | 73 63 72 65 65 6e 29 2e |icon on-|screen).|
|00005380| 20 2a 2f 0a 58 20 20 0a | 58 21 20 09 69 66 20 28 | */.X .|X! .if (|
|00005390| 62 63 6d 70 28 6d 6f 6f | 6e 69 6c 61 73 74 2c 20 |bcmp(moo|nilast, |
|000053a0| 6d 6f 6f 6e 5f 69 6d 67 | 2c 20 73 69 7a 65 6f 66 |moon_img|, sizeof|
|000053b0| 20 6d 6f 6f 6e 5f 69 6d | 67 29 20 21 3d 20 30 29 | moon_im|g) != 0)|
|000053c0| 0a 58 21 20 09 20 20 20 | 62 63 6f 70 79 28 6d 6f |.X! . |bcopy(mo|
|000053d0| 6f 6e 5f 69 6d 67 2c 20 | 6d 6f 6f 6e 69 6c 61 73 |on_img, |moonilas|
|000053e0| 74 2c 20 73 69 7a 65 6f | 66 20 6d 6f 6f 6e 5f 69 |t, sizeo|f moon_i|
|000053f0| 6d 67 29 3b 0a 58 20 20 | 0a 58 20 20 09 2f 2a 20 |mg);.X |.X ./* |
|00005400| 55 70 64 61 74 65 20 74 | 65 78 74 75 61 6c 20 69 |Update t|extual i|
|00005410| 6e 66 6f 72 6d 61 74 69 | 6f 6e 20 66 6f 72 20 6f |nformati|on for o|
|00005420| 70 65 6e 20 77 69 6e 64 | 6f 77 20 2a 2f 0a 58 20 |pen wind|ow */.X |
|00005430| 20 0a 58 0a 58 2d 2d 2d | 20 33 33 36 2c 33 35 31 | .X.X---| 336,351|
|00005440| 20 2d 2d 2d 2d 2d 0a 58 | 20 20 0a 58 20 20 09 64 | -----.X| .X .d|
|00005450| 72 61 77 6d 6f 6f 6e 28 | 70 2c 20 26 6d 6f 6f 6e |rawmoon(|p, &moon|
|00005460| 5f 6d 70 72 2c 20 69 63 | 6f 6e 5f 6d 70 72 29 3b |_mpr, ic|on_mpr);|
|00005470| 0a 58 20 20 0a 58 21 20 | 09 69 66 20 28 61 6f 6d |.X .X! |.if (aom|
|00005480| 5f 64 20 3d 3d 20 30 29 | 20 7b 0a 58 21 20 09 09 |_d == 0)| {.X! ..|
|00005490| 28 76 6f 69 64 29 73 70 | 72 69 6e 74 66 28 74 62 |(void)sp|rintf(tb|
|000054a0| 75 66 2c 20 22 25 64 68 | 20 25 64 6d 22 2c 20 61 |uf, "%dh| %dm", a|
|000054b0| 6f 6d 5f 68 2c 20 61 6f | 6d 5f 6d 29 3b 0a 58 21 |om_h, ao|m_m);.X!|
|000054c0| 20 09 7d 20 65 6c 73 65 | 20 7b 0a 58 21 20 09 09 | .} else| {.X! ..|
|000054d0| 28 76 6f 69 64 29 73 70 | 72 69 6e 74 66 28 74 62 |(void)sp|rintf(tb|
|000054e0| 75 66 2c 20 22 25 64 64 | 20 25 64 68 22 2c 20 61 |uf, "%dd| %dh", a|
|000054f0| 6f 6d 5f 64 2c 20 61 6f | 6d 5f 68 29 3b 0a 58 21 |om_d, ao|m_h);.X!|
|00005500| 20 09 7d 0a 58 21 20 09 | 74 78 74 5f 73 69 7a 65 | .}.X! .|txt_size|
|00005510| 20 3d 20 70 66 5f 74 65 | 78 74 77 69 64 74 68 20 | = pf_te|xtwidth |
|00005520| 28 73 74 72 6c 65 6e 20 | 28 74 62 75 66 29 2c 20 |(strlen |(tbuf), |
|00005530| 73 66 6f 6e 74 2c 20 74 | 62 75 66 29 3b 0a 58 21 |sfont, t|buf);.X!|
|00005540| 20 09 74 6c 6f 63 2e 70 | 6f 73 2e 78 20 3d 20 28 | .tloc.p|os.x = (|
|00005550| 36 34 20 2d 20 74 78 74 | 5f 73 69 7a 65 2e 78 29 |64 - txt|_size.x)|
|00005560| 20 2f 20 32 3b 0a 58 21 | 20 09 74 6c 6f 63 2e 70 | / 2;.X!| .tloc.p|
|00005570| 6f 73 2e 79 20 3d 20 36 | 33 3b 0a 58 21 20 09 74 |os.y = 6|3;.X! .t|
|00005580| 6c 6f 63 2e 70 72 20 3d | 20 69 63 6f 6e 5f 6d 70 |loc.pr =| icon_mp|
|00005590| 72 3b 0a 58 21 20 09 70 | 66 5f 74 65 78 74 20 28 |r;.X! .p|f_text (|
|000055a0| 74 6c 6f 63 2c 20 50 49 | 58 5f 4e 4f 54 28 50 49 |tloc, PI|X_NOT(PI|
|000055b0| 58 5f 53 52 43 29 2c 20 | 73 66 6f 6e 74 2c 20 74 |X_SRC), |sfont, t|
|000055c0| 62 75 66 29 3b 0a 58 20 | 20 0a 58 20 20 09 2f 2a |buf);.X | .X ./*|
|000055d0| 20 55 70 64 61 74 65 20 | 74 65 78 74 75 61 6c 20 | Update |textual |
|000055e0| 69 6e 66 6f 72 6d 61 74 | 69 6f 6e 20 66 6f 72 20 |informat|ion for |
|000055f0| 6f 70 65 6e 20 77 69 6e | 64 6f 77 20 2a 2f 0a 58 |open win|dow */.X|
|00005600| 20 20 0a 58 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | .X****|********|
|00005610| 2a 2a 2a 0a 58 2a 2a 2a | 20 32 36 32 2c 32 36 39 |***.X***| 262,269|
|00005620| 0a 58 20 20 0a 58 20 20 | 09 2f 2a 20 55 70 64 61 |.X .X |./* Upda|
|00005630| 74 65 20 74 65 78 74 75 | 61 6c 20 69 6e 66 6f 72 |te textu|al infor|
|00005640| 6d 61 74 69 6f 6e 20 66 | 6f 72 20 6f 70 65 6e 20 |mation f|or open |
|00005650| 77 69 6e 64 6f 77 20 2a | 2f 0a 58 20 20 0a 58 21 |window *|/.X .X!|
|00005660| 20 23 64 65 66 69 6e 65 | 20 70 72 74 28 78 29 20 | #define| prt(x) |
|00005670| 70 77 5f 74 65 78 74 28 | 63 70 77 2c 20 63 68 61 |pw_text(|cpw, cha|
|00005680| 72 77 69 64 2c 20 63 68 | 61 72 68 67 74 20 2a 20 |rwid, ch|arhgt * |
|00005690| 28 78 29 2c 20 50 49 58 | 5f 53 52 43 2c 20 66 6f |(x), PIX|_SRC, fo|
|000056a0| 6e 74 2c 20 74 62 75 66 | 29 0a 58 21 20 23 64 65 |nt, tbuf|).X! #de|
|000056b0| 66 69 6e 65 20 70 72 74 | 78 79 28 78 2c 79 29 20 |fine prt|xy(x,y) |
|000056c0| 70 77 5f 74 65 78 74 28 | 63 70 77 2c 63 68 61 72 |pw_text(|cpw,char|
|000056d0| 77 69 64 2a 28 79 2b 31 | 29 2c 63 68 61 72 68 67 |wid*(y+1|),charhg|
|000056e0| 74 2a 28 78 29 2c 50 49 | 58 5f 53 52 43 2c 66 6f |t*(x),PI|X_SRC,fo|
|000056f0| 6e 74 2c 74 62 75 66 29 | 0a 58 20 20 0a 58 20 20 |nt,tbuf)|.X .X |
|00005700| 20 20 20 20 20 20 20 20 | 73 70 72 69 6e 74 66 28 | |sprintf(|
|00005710| 74 62 75 66 2c 20 22 4d | 6f 6f 6e 20 70 68 61 73 |tbuf, "M|oon phas|
|00005720| 65 3a 20 20 20 20 20 20 | 25 64 25 25 20 20 20 5b |e: |%d%% [|
|00005730| 30 25 25 20 3d 20 4e 65 | 77 2c 20 31 30 30 25 25 |0%% = Ne|w, 100%%|
|00005740| 20 3d 20 46 75 6c 6c 5d | 20 20 22 2c 0a 58 20 20 | = Full]| ",.X |
|00005750| 09 20 20 20 28 69 6e 74 | 29 20 28 63 70 68 61 73 |. (int|) (cphas|
|00005760| 65 20 2a 20 31 30 30 29 | 29 3b 0a 58 0a 58 2d 2d |e * 100)|);.X.X--|
|00005770| 2d 20 33 34 39 2c 33 35 | 36 20 2d 2d 2d 2d 2d 0a |- 349,35|6 -----.|
|00005780| 58 20 20 0a 58 20 20 09 | 2f 2a 20 55 70 64 61 74 |X .X .|/* Updat|
|00005790| 65 20 74 65 78 74 75 61 | 6c 20 69 6e 66 6f 72 6d |e textua|l inform|
|000057a0| 61 74 69 6f 6e 20 66 6f | 72 20 6f 70 65 6e 20 77 |ation fo|r open w|
|000057b0| 69 6e 64 6f 77 20 2a 2f | 0a 58 20 20 0a 58 21 20 |indow */|.X .X! |
|000057c0| 09 2f 2a 20 73 74 61 72 | 74 20 62 61 74 63 68 69 |./* star|t batchi|
|000057d0| 6e 67 20 75 70 64 61 74 | 65 73 20 74 6f 20 74 68 |ng updat|es to th|
|000057e0| 65 20 70 69 78 77 69 6e | 20 2a 2f 0a 58 21 20 09 |e pixwin| */.X! .|
|000057f0| 70 77 5f 62 61 74 63 68 | 5f 6f 6e 20 28 63 70 77 |pw_batch|_on (cpw|
|00005800| 29 3b 0a 58 20 20 0a 58 | 20 20 09 70 61 69 6e 74 |);.X .X| .paint|
|00005810| 5f 6c 61 62 65 6c 73 28 | 29 3b 0a 58 20 20 09 2f |_labels(|);.X ./|
|00005820| 2a 20 6d 6f 6f 6e 20 70 | 68 61 73 65 20 2a 2f 0a |* moon p|hase */.|
|00005830| 58 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |X*******|********|
|00005840| 0a 58 2a 2a 2a 20 32 36 | 35 2c 32 37 32 0a 58 20 |.X*** 26|5,272.X |
|00005850| 20 23 64 65 66 69 6e 65 | 20 70 72 74 28 78 29 20 | #define| prt(x) |
|00005860| 70 77 5f 74 65 78 74 28 | 63 70 77 2c 20 63 68 61 |pw_text(|cpw, cha|
|00005870| 72 77 69 64 2c 20 63 68 | 61 72 68 67 74 20 2a 20 |rwid, ch|arhgt * |
|00005880| 28 78 29 2c 20 50 49 58 | 5f 53 52 43 2c 20 66 6f |(x), PIX|_SRC, fo|
|00005890| 6e 74 2c 20 74 62 75 66 | 29 0a 58 20 20 23 64 65 |nt, tbuf|).X #de|
|000058a0| 66 69 6e 65 20 70 72 74 | 78 79 28 78 2c 79 29 20 |fine prt|xy(x,y) |
|000058b0| 70 77 5f 74 65 78 74 28 | 63 70 77 2c 63 68 61 72 |pw_text(|cpw,char|
|000058c0| 77 69 64 2a 28 79 2b 31 | 29 2c 63 68 61 72 68 67 |wid*(y+1|),charhg|
|000058d0| 74 2a 28 78 29 2c 50 49 | 58 5f 53 52 43 2c 66 6f |t*(x),PI|X_SRC,fo|
|000058e0| 6e 74 2c 74 62 75 66 29 | 0a 58 20 20 0a 58 21 20 |nt,tbuf)|.X .X! |
|000058f0| 20 20 20 20 20 20 20 20 | 73 70 72 69 6e 74 66 28 | |sprintf(|
|00005900| 74 62 75 66 2c 20 22 4d | 6f 6f 6e 20 70 68 61 73 |tbuf, "M|oon phas|
|00005910| 65 3a 20 20 20 20 20 20 | 25 64 25 25 20 20 20 5b |e: |%d%% [|
|00005920| 30 25 25 20 3d 20 4e 65 | 77 2c 20 31 30 30 25 25 |0%% = Ne|w, 100%%|
|00005930| 20 3d 20 46 75 6c 6c 5d | 20 20 22 2c 0a 58 21 20 | = Full]| ",.X! |
|00005940| 09 20 20 20 28 69 6e 74 | 29 20 28 63 70 68 61 73 |. (int|) (cphas|
|00005950| 65 20 2a 20 31 30 30 29 | 29 3b 0a 58 20 20 09 70 |e * 100)|);.X .p|
|00005960| 72 74 28 31 29 3b 0a 58 | 20 20 0a 58 20 20 09 2f |rt(1);.X| .X ./|
|00005970| 2a 20 49 6e 66 6f 72 6d | 61 74 69 6f 6e 20 61 62 |* Inform|ation ab|
|00005980| 6f 75 74 20 74 68 65 20 | 4d 6f 6f 6e 20 2a 2f 0a |out the |Moon */.|
|00005990| 58 0a 58 2d 2d 2d 20 33 | 35 32 2c 33 36 31 20 2d |X.X--- 3|52,361 -|
|000059a0| 2d 2d 2d 2d 0a 58 20 20 | 09 2f 2a 20 73 74 61 72 |----.X |./* star|
|000059b0| 74 20 62 61 74 63 68 69 | 6e 67 20 75 70 64 61 74 |t batchi|ng updat|
|000059c0| 65 73 20 74 6f 20 74 68 | 65 20 70 69 78 77 69 6e |es to th|e pixwin|
|000059d0| 20 2a 2f 0a 58 20 20 09 | 70 77 5f 62 61 74 63 68 | */.X .|pw_batch|
|000059e0| 5f 6f 6e 20 28 63 70 77 | 29 3b 0a 58 20 20 0a 58 |_on (cpw|);.X .X|
|000059f0| 21 20 09 70 61 69 6e 74 | 5f 6c 61 62 65 6c 73 28 |! .paint|_labels(|
|00005a00| 29 3b 0a 58 21 20 09 2f | 2a 20 6d 6f 6f 6e 20 70 |);.X! ./|* moon p|
|00005a10| 68 61 73 65 20 2a 2f 0a | 58 21 20 09 28 76 6f 69 |hase */.|X! .(voi|
|00005a20| 64 29 73 70 72 69 6e 74 | 66 20 28 74 62 75 66 2c |d)sprint|f (tbuf,|
|00005a30| 20 22 25 64 25 25 20 20 | 20 5b 30 25 25 20 3d 20 | "%d%% | [0%% = |
|00005a40| 4e 65 77 2c 20 31 30 30 | 25 25 20 3d 20 46 75 6c |New, 100|%% = Ful|
|00005a50| 6c 5d 20 20 22 2c 0a 58 | 21 20 09 09 28 69 6e 74 |l] ",.X|! ..(int|
|00005a60| 29 20 28 63 70 68 61 73 | 65 20 2a 20 31 30 30 29 |) (cphas|e * 100)|
|00005a70| 29 3b 0a 58 20 20 09 70 | 72 74 28 31 29 3b 0a 58 |);.X .p|rt(1);.X|
|00005a80| 20 20 0a 58 20 20 09 2f | 2a 20 49 6e 66 6f 72 6d | .X ./|* Inform|
|00005a90| 61 74 69 6f 6e 20 61 62 | 6f 75 74 20 74 68 65 20 |ation ab|out the |
|00005aa0| 4d 6f 6f 6e 20 2a 2f 0a | 58 2a 2a 2a 2a 2a 2a 2a |Moon */.|X*******|
|00005ab0| 2a 2a 2a 2a 2a 2a 2a 2a | 0a 58 2a 2a 2a 20 32 37 |********|.X*** 27|
|00005ac0| 31 2c 32 38 31 0a 58 20 | 20 0a 58 20 20 09 2f 2a |1,281.X | .X ./*|
|00005ad0| 20 49 6e 66 6f 72 6d 61 | 74 69 6f 6e 20 61 62 6f | Informa|tion abo|
|00005ae0| 75 74 20 74 68 65 20 4d | 6f 6f 6e 20 2a 2f 0a 58 |ut the M|oon */.X|
|00005af0| 20 20 0a 58 21 20 23 64 | 65 66 69 6e 65 20 45 50 | .X! #d|efine EP|
|00005b00| 4c 28 78 29 20 28 78 29 | 2c 20 28 78 29 20 3d 3d |L(x) (x)|, (x) ==|
|00005b10| 20 31 20 3f 20 22 22 20 | 3a 20 22 73 22 0a 58 21 | 1 ? "" |: "s".X!|
|00005b20| 20 09 73 70 72 69 6e 74 | 66 28 74 62 75 66 2c 0a | .sprint|f(tbuf,.|
|00005b30| 58 21 20 20 20 20 20 20 | 20 20 20 20 20 20 22 41 |X! | "A|
|00005b40| 67 65 20 6f 66 20 6d 6f | 6f 6e 3a 20 20 20 20 20 |ge of mo|on: |
|00005b50| 25 64 20 64 61 79 25 73 | 2c 20 25 64 20 68 6f 75 |%d day%s|, %d hou|
|00005b60| 72 25 73 2c 20 25 64 20 | 6d 69 6e 75 74 65 25 73 |r%s, %d |minute%s|
|00005b70| 2e 20 20 20 20 20 20 20 | 22 2c 0a 58 21 20 09 20 |. |",.X! . |
|00005b80| 20 20 45 50 4c 28 28 69 | 6e 74 29 20 61 6f 6d 29 | EPL((i|nt) aom)|
|00005b90| 2c 20 45 50 4c 28 28 28 | 69 6e 74 29 20 28 32 34 |, EPL(((|int) (24|
|00005ba0| 20 2a 20 28 61 6f 6d 20 | 2d 20 66 6c 6f 6f 72 28 | * (aom |- floor(|
|00005bb0| 61 6f 6d 29 29 29 29 29 | 2c 0a 58 21 20 09 20 20 |aom)))))|,.X! . |
|00005bc0| 20 45 50 4c 28 28 28 69 | 6e 74 29 20 28 31 34 34 | EPL(((i|nt) (144|
|00005bd0| 30 20 2a 20 28 61 6f 6d | 20 2d 20 66 6c 6f 6f 72 |0 * (aom| - floor|
|00005be0| 28 61 6f 6d 29 29 29 29 | 20 25 20 36 30 29 29 3b |(aom))))| % 60));|
|00005bf0| 0a 58 20 20 09 70 72 74 | 28 32 29 3b 0a 58 20 20 |.X .prt|(2);.X |
|00005c00| 09 73 70 72 69 6e 74 66 | 28 74 62 75 66 2c 0a 58 |.sprintf|(tbuf,.X|
|00005c10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 22 4d 6f | | "Mo|
|00005c20| 6f 6e 27 73 20 64 69 73 | 74 61 6e 63 65 3a 20 25 |on's dis|tance: %|
|00005c30| 6c 64 20 6b 69 6c 6f 6d | 65 74 72 65 73 2c 20 25 |ld kilom|etres, %|
|00005c40| 2e 31 66 20 45 61 72 74 | 68 20 72 61 64 69 69 2e |.1f Eart|h radii.|
|00005c50| 20 20 22 2c 0a 58 0a 58 | 2d 2d 2d 20 33 36 30 2c | ",.X.X|--- 360,|
|00005c60| 33 36 38 20 2d 2d 2d 2d | 2d 0a 58 20 20 0a 58 20 |368 ----|-.X .X |
|00005c70| 20 09 2f 2a 20 49 6e 66 | 6f 72 6d 61 74 69 6f 6e | ./* Inf|ormation|
|00005c80| 20 61 62 6f 75 74 20 74 | 68 65 20 4d 6f 6f 6e 20 | about t|he Moon |
|00005c90| 2a 2f 0a 58 20 20 0a 58 | 21 20 09 2f 2a 20 61 67 |*/.X .X|! ./* ag|
|00005ca0| 65 20 6f 66 20 6d 6f 6f | 6e 20 2a 2f 0a 58 21 20 |e of moo|n */.X! |
|00005cb0| 09 28 76 6f 69 64 29 73 | 70 72 69 6e 74 66 20 28 |.(void)s|printf (|
|00005cc0| 74 62 75 66 2c 20 22 25 | 64 20 64 61 79 25 73 2c |tbuf, "%|d day%s,|
|00005cd0| 20 25 64 20 68 6f 75 72 | 25 73 2c 20 25 64 20 6d | %d hour|%s, %d m|
|00005ce0| 69 6e 75 74 65 25 73 2e | 20 20 20 20 20 20 20 22 |inute%s.| "|
|00005cf0| 2c 0a 58 21 20 09 09 45 | 50 4c 28 61 6f 6d 5f 64 |,.X! ..E|PL(aom_d|
|00005d00| 29 2c 20 45 50 4c 28 61 | 6f 6d 5f 68 29 2c 20 45 |), EPL(a|om_h), E|
|00005d10| 50 4c 28 61 6f 6d 5f 6d | 29 29 3b 0a 58 20 20 09 |PL(aom_m|));.X .|
|00005d20| 70 72 74 28 32 29 3b 0a | 58 20 20 0a 58 20 20 09 |prt(2);.|X .X .|
|00005d30| 2f 2a 20 6d 6f 6f 6e 20 | 64 69 73 74 61 6e 63 65 |/* moon |distance|
|00005d40| 20 2a 2f 0a 58 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | */.X***|********|
|00005d50| 2a 2a 2a 2a 0a 58 2a 2a | 2a 20 32 37 37 2c 32 38 |****.X**|* 277,28|
|00005d60| 35 0a 58 20 20 09 20 20 | 20 45 50 4c 28 28 69 6e |5.X . | EPL((in|
|00005d70| 74 29 20 61 6f 6d 29 2c | 20 45 50 4c 28 28 28 69 |t) aom),| EPL(((i|
|00005d80| 6e 74 29 20 28 32 34 20 | 2a 20 28 61 6f 6d 20 2d |nt) (24 |* (aom -|
|00005d90| 20 66 6c 6f 6f 72 28 61 | 6f 6d 29 29 29 29 29 2c | floor(a|om))))),|
|00005da0| 0a 58 20 20 09 20 20 20 | 45 50 4c 28 28 28 69 6e |.X . |EPL(((in|
|00005db0| 74 29 20 28 31 34 34 30 | 20 2a 20 28 61 6f 6d 20 |t) (1440| * (aom |
|00005dc0| 2d 20 66 6c 6f 6f 72 28 | 61 6f 6d 29 29 29 29 20 |- floor(|aom)))) |
|00005dd0| 25 20 36 30 29 29 3b 0a | 58 20 20 09 70 72 74 28 |% 60));.|X .prt(|
|00005de0| 32 29 3b 0a 58 21 20 09 | 73 70 72 69 6e 74 66 28 |2);.X! .|sprintf(|
|00005df0| 74 62 75 66 2c 0a 58 21 | 20 20 20 20 20 20 20 20 |tbuf,.X!| |
|00005e00| 20 20 20 20 22 4d 6f 6f | 6e 27 73 20 64 69 73 74 | "Moo|n's dist|
|00005e10| 61 6e 63 65 3a 20 25 6c | 64 20 6b 69 6c 6f 6d 65 |ance: %l|d kilome|
|00005e20| 74 72 65 73 2c 20 25 2e | 31 66 20 45 61 72 74 68 |tres, %.|1f Earth|
|00005e30| 20 72 61 64 69 69 2e 20 | 20 22 2c 0a 58 21 20 09 | radii. | ",.X! .|
|00005e40| 20 20 20 28 6c 6f 6e 67 | 29 20 63 64 69 73 74 2c | (long|) cdist,|
|00005e50| 20 63 64 69 73 74 20 2f | 20 65 61 72 74 68 72 61 | cdist /| earthra|
|00005e60| 64 29 3b 0a 58 20 20 09 | 70 72 74 28 33 29 3b 0a |d);.X .|prt(3);.|
|00005e70| 58 20 20 09 73 70 72 69 | 6e 74 66 28 74 62 75 66 |X .spri|ntf(tbuf|
|00005e80| 2c 0a 58 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |,.X | |
|00005e90| 22 4d 6f 6f 6e 20 73 75 | 62 74 65 6e 64 73 3a 20 |"Moon su|btends: |
|00005ea0| 20 20 25 2e 34 66 20 64 | 65 67 72 65 65 73 2e 20 | %.4f d|egrees. |
|00005eb0| 20 20 20 20 20 20 22 2c | 20 63 61 6e 67 64 69 61 | ",| cangdia|
|00005ec0| 29 3b 0a 58 0a 58 2d 2d | 2d 20 33 36 34 2c 33 37 |);.X.X--|- 364,37|
|00005ed0| 33 20 2d 2d 2d 2d 2d 0a | 58 20 20 09 28 76 6f 69 |3 -----.|X .(voi|
|00005ee0| 64 29 73 70 72 69 6e 74 | 66 20 28 74 62 75 66 2c |d)sprint|f (tbuf,|
|00005ef0| 20 22 25 64 20 64 61 79 | 25 73 2c 20 25 64 20 68 | "%d day|%s, %d h|
|00005f00| 6f 75 72 25 73 2c 20 25 | 64 20 6d 69 6e 75 74 65 |our%s, %|d minute|
|00005f10| 25 73 2e 20 20 20 20 20 | 20 20 22 2c 0a 58 20 20 |%s. | ",.X |
|00005f20| 09 09 45 50 4c 28 61 6f | 6d 5f 64 29 2c 20 45 50 |..EPL(ao|m_d), EP|
|00005f30| 4c 28 61 6f 6d 5f 68 29 | 2c 20 45 50 4c 28 61 6f |L(aom_h)|, EPL(ao|
|00005f40| 6d 5f 6d 29 29 3b 0a 58 | 20 20 09 70 72 74 28 32 |m_m));.X| .prt(2|
|00005f50| 29 3b 0a 58 21 20 0a 58 | 21 20 09 2f 2a 20 6d 6f |);.X! .X|! ./* mo|
|00005f60| 6f 6e 20 64 69 73 74 61 | 6e 63 65 20 2a 2f 0a 58 |on dista|nce */.X|
|00005f70| 21 20 09 28 76 6f 69 64 | 29 73 70 72 69 6e 74 66 |! .(void|)sprintf|
|00005f80| 20 28 74 62 75 66 2c 20 | 22 25 6c 64 20 6b 69 6c | (tbuf, |"%ld kil|
|00005f90| 6f 6d 65 74 72 65 73 2c | 20 25 2e 31 66 20 45 61 |ometres,| %.1f Ea|
|00005fa0| 72 74 68 20 72 61 64 69 | 69 2e 20 20 22 2c 0a 58 |rth radi|i. ",.X|
|00005fb0| 21 20 09 09 28 6c 6f 6e | 67 29 20 63 64 69 73 74 |! ..(lon|g) cdist|
|00005fc0| 2c 20 63 64 69 73 74 20 | 2f 20 65 61 72 74 68 72 |, cdist |/ earthr|
|00005fd0| 61 64 29 3b 0a 58 20 20 | 09 70 72 74 28 33 29 3b |ad);.X |.prt(3);|
|00005fe0| 0a 58 20 20 0a 58 20 20 | 09 2f 2a 20 6d 6f 6f 6e |.X .X |./* moon|
|00005ff0| 20 73 75 62 74 65 6e 64 | 73 20 2a 2f 0a 58 2a 2a | subtend|s */.X**|
|00006000| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0a 58 2a |********|*****.X*|
|00006010| 2a 2a 20 32 38 31 2c 32 | 38 38 0a 58 20 20 20 20 |** 281,2|88.X |
|00006020| 20 20 20 20 20 20 20 20 | 20 22 4d 6f 6f 6e 27 73 | | "Moon's|
|00006030| 20 64 69 73 74 61 6e 63 | 65 3a 20 25 6c 64 20 6b | distanc|e: %ld k|
|00006040| 69 6c 6f 6d 65 74 72 65 | 73 2c 20 25 2e 31 66 20 |ilometre|s, %.1f |
|00006050| 45 61 72 74 68 20 72 61 | 64 69 69 2e 20 20 22 2c |Earth ra|dii. ",|
|00006060| 0a 58 20 20 09 20 20 20 | 28 6c 6f 6e 67 29 20 63 |.X . |(long) c|
|00006070| 64 69 73 74 2c 20 63 64 | 69 73 74 20 2f 20 65 61 |dist, cd|ist / ea|
|00006080| 72 74 68 72 61 64 29 3b | 0a 58 20 20 09 70 72 74 |rthrad);|.X .prt|
|00006090| 28 33 29 3b 0a 58 21 20 | 09 73 70 72 69 6e 74 66 |(3);.X! |.sprintf|
|000060a0| 28 74 62 75 66 2c 0a 58 | 21 20 20 20 20 20 20 20 |(tbuf,.X|! |
|000060b0| 20 20 20 20 20 22 4d 6f | 6f 6e 20 73 75 62 74 65 | "Mo|on subte|
|000060c0| 6e 64 73 3a 20 20 20 25 | 2e 34 66 20 64 65 67 72 |nds: %|.4f degr|
|000060d0| 65 65 73 2e 20 20 20 20 | 20 20 20 22 2c 20 63 61 |ees. | ", ca|
|000060e0| 6e 67 64 69 61 29 3b 0a | 58 20 20 09 70 72 74 28 |ngdia);.|X .prt(|
|000060f0| 34 29 3b 0a 58 20 20 09 | 2f 2a 20 44 72 61 77 20 |4);.X .|/* Draw |
|00006100| 74 68 65 20 6d 6f 6f 6e | 20 69 63 6f 6e 20 69 6e |the moon| icon in|
|00006110| 20 74 68 65 20 74 65 78 | 74 20 77 69 6e 64 6f 77 | the tex|t window|
|00006120| 20 2a 2f 0a 58 20 20 09 | 70 77 5f 72 6f 70 28 63 | */.X .|pw_rop(c|
|00006130| 70 77 2c 20 36 30 20 2a | 20 63 68 61 72 77 69 64 |pw, 60 *| charwid|
|00006140| 2c 20 63 68 61 72 68 67 | 74 2c 20 36 34 2c 20 36 |, charhg|t, 64, 6|
|00006150| 34 2c 20 50 49 58 5f 53 | 52 43 2c 0a 58 0a 58 2d |4, PIX_S|RC,.X.X-|
|00006160| 2d 2d 20 33 36 39 2c 33 | 37 37 20 2d 2d 2d 2d 2d |-- 369,3|77 -----|
|00006170| 0a 58 20 20 09 28 76 6f | 69 64 29 73 70 72 69 6e |.X .(vo|id)sprin|
|00006180| 74 66 20 28 74 62 75 66 | 2c 20 22 25 6c 64 20 6b |tf (tbuf|, "%ld k|
|00006190| 69 6c 6f 6d 65 74 72 65 | 73 2c 20 25 2e 31 66 20 |ilometre|s, %.1f |
|000061a0| 45 61 72 74 68 20 72 61 | 64 69 69 2e 20 20 22 2c |Earth ra|dii. ",|
|000061b0| 0a 58 20 20 09 09 28 6c | 6f 6e 67 29 20 63 64 69 |.X ..(l|ong) cdi|
|000061c0| 73 74 2c 20 63 64 69 73 | 74 20 2f 20 65 61 72 74 |st, cdis|t / eart|
|000061d0| 68 72 61 64 29 3b 0a 58 | 20 20 09 70 72 74 28 33 |hrad);.X| .prt(3|
|000061e0| 29 3b 0a 58 21 20 0a 58 | 21 20 09 2f 2a 20 6d 6f |);.X! .X|! ./* mo|
|000061f0| 6f 6e 20 73 75 62 74 65 | 6e 64 73 20 2a 2f 0a 58 |on subte|nds */.X|
|00006200| 21 20 09 28 76 6f 69 64 | 29 73 70 72 69 6e 74 66 |! .(void|)sprintf|
|00006210| 20 28 74 62 75 66 2c 20 | 22 25 2e 34 66 20 64 65 | (tbuf, |"%.4f de|
|00006220| 67 72 65 65 73 2e 20 20 | 20 20 20 20 20 22 2c 20 |grees. | ", |
|00006230| 63 61 6e 67 64 69 61 29 | 3b 0a 58 20 20 09 70 72 |cangdia)|;.X .pr|
|00006240| 74 28 34 29 3b 0a 58 20 | 20 0a 58 20 20 09 2f 2a |t(4);.X | .X ./*|
|00006250| 20 70 61 69 6e 74 20 74 | 68 65 20 6d 6f 6f 6e 27 | paint t|he moon'|
|00006260| 73 20 69 6d 61 67 65 20 | 69 6e 20 74 68 65 20 75 |s image |in the u|
|00006270| 70 70 65 72 20 72 69 67 | 68 74 20 6f 66 20 74 68 |pper rig|ht of th|
|00006280| 65 20 63 61 6e 76 61 73 | 20 2a 2f 0a 58 2a 2a 2a |e canvas| */.X***|
|00006290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0a 58 2a 2a |********|****.X**|
|000062a0| 2a 20 32 38 34 2c 32 39 | 32 0a 58 20 20 09 73 70 |* 284,29|2.X .sp|
|000062b0| 72 69 6e 74 66 28 74 62 | 75 66 2c 0a 58 20 20 20 |rintf(tb|uf,.X |
|000062c0| 20 20 20 20 20 20 20 20 | 20 20 22 4d 6f 6f 6e 20 | | "Moon |
|000062d0| 73 75 62 74 65 6e 64 73 | 3a 20 20 20 25 2e 34 66 |subtends|: %.4f|
|000062e0| 20 64 65 67 72 65 65 73 | 2e 20 20 20 20 20 20 20 | degrees|. |
|000062f0| 22 2c 20 63 61 6e 67 64 | 69 61 29 3b 0a 58 20 20 |", cangd|ia);.X |
|00006300| 09 70 72 74 28 34 29 3b | 0a 58 2d 20 09 2f 2a 20 |.prt(4);|.X- ./* |
|00006310| 44 72 61 77 20 74 68 65 | 20 6d 6f 6f 6e 20 69 63 |Draw the| moon ic|
|00006320| 6f 6e 20 69 6e 20 74 68 | 65 20 74 65 78 74 20 77 |on in th|e text w|
|00006330| 69 6e 64 6f 77 20 2a 2f | 0a 58 2d 20 09 70 77 5f |indow */|.X- .pw_|
|00006340| 72 6f 70 28 63 70 77 2c | 20 36 30 20 2a 20 63 68 |rop(cpw,| 60 * ch|
|00006350| 61 72 77 69 64 2c 20 63 | 68 61 72 68 67 74 2c 20 |arwid, c|harhgt, |
|00006360| 36 34 2c 20 36 34 2c 20 | 50 49 58 5f 53 52 43 2c |64, 64, |PIX_SRC,|
|00006370| 0a 58 2d 20 09 20 20 20 | 26 69 63 6f 6e 5f 6d 70 |.X- . |&icon_mp|
|00006380| 72 2c 20 30 2c 20 30 29 | 3b 0a 58 20 20 0a 58 20 |r, 0, 0)|;.X .X |
|00006390| 20 0a 58 20 20 09 2f 2a | 20 43 61 6c 63 75 6c 61 | .X ./*| Calcula|
|000063a0| 74 65 20 74 69 6d 65 73 | 20 6f 66 20 70 68 61 73 |te times| of phas|
|000063b0| 65 73 20 6f 66 20 74 68 | 69 73 20 6c 75 6e 61 74 |es of th|is lunat|
|000063c0| 69 6f 6e 2e 20 2a 2f 0a | 58 0a 58 2d 2d 2d 20 33 |ion. */.|X.X--- 3|
|000063d0| 37 33 2c 33 37 38 20 2d | 2d 2d 2d 2d 0a 58 20 20 |73,378 -|----.X |
|000063e0| 09 2f 2a 20 6d 6f 6f 6e | 20 73 75 62 74 65 6e 64 |./* moon| subtend|
|000063f0| 73 20 2a 2f 0a 58 20 20 | 09 28 76 6f 69 64 29 73 |s */.X |.(void)s|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.