Version 1.00   First released version. Sent to ST Club 14 May 92
14 May 92      Reviewed for ST Applications by David Smith


Version 1.01   Bug fix to allow editing of couple with no spouse.
               Couples cannot be created unless sex set up.

               Bug in load_tree_strings removed. Arbitrary data
               corruption tended to show up as fetches from
               absurdly high numbered person files when moving
               around tree.

Version 1.02   1.01 introduced bug whereby children and spouse were
               not initialised if person unmarried. Cured in 1.02.

               If data unchanged next_save_time cleared. This prevents
               save prompt if data already saved and unchanged since.

Version 1.03   When printing further notes the first two characters
               of justified lines get lost. This was caused by a bug
               in the Lattice C 5.5 library function v_justified.
               Cured by using v_justified from 5.06.2 instead.

               Line_fits altered to more accurately check fit. Length
               is last pixel - first pixel PLUS 1.

Version 1.10   Simple keyboard shortcuts added for common menu items
               and male/female.

Version 1.11   Unknown birth date shortened to 4 spaces in tree
               displays. This had been DATE_LENGTH which was too
               long for the available space and overwrote the next
               string. Reported by John Davies and Paul Jackson.

               Form_ref corrected to handle numbers greater than 127.
               This was reported as bug when adding children to
               couples. The parent's form would show blank or garbage
               children names.

Version 1.20   Additional fields added, occupation, burial place and
               two extra lines of beneficiaries. Person form also
               rearranged and reordered.

Version 1.21   Multiple forenames stored in index up to limit of 20
               characters. Person selector will also take multiple
               names. Non alpha characters allowed in names and
               person selector will use them if they are entered. If
               there are no non-alpha characters entered in person
               selector they will be ignored in the names compared.

               Dates entered with no day and the month set to "ccc"
               will print etc. as c1950, or whatever the year is. The
               "ccc" is part of months in the resource file, the
               single c is the third character of it.

               Where the day or month are not specified the person
               selector will treat the date as within any part of
               that year.

               Where before and after dates are specified in the
               person selector people with no date will be excluded.

Version 1.22   8 user definable flags added.

               Error corrected whereby couple data would not be
               saved to disc if only change was in children. Alert
               added and crash prevented when editing person whose
               parent's data included no children due to this bug.

Version 1.30   When person selector comes up for selecting children
               those whose family name match are already listed.

Version 1.31   Accented characters in forenames now recognised as
               alpha characters. See v1.21.

Version 1.32   Metafile output improved. Page size set to A4ish and
               resolution set to 100um. Now can be printed from
               OUTPUT.PRG.

               Wedding date cleared in index block to avoid garbage
               dates appearing.

               Number of matching people no longer limited to 1000
               but can be whole index, hence excess matches alert
               discarded.

               Index printout allows 40 chars for names, and spaces
               date further across page to leave room for it.

               Text positioning following right justified standard
               printer text corrected. Previously last_x_end was
               set to x_pos + strlen(), which only worked if x_pos
               was start of text string.

               For tree printing one generation too few entered in
               tree_names caused last generation not to be printed
               although spacing set for it.

               Page width and height added for GDOS printing.

Version 1.33   Load_all_strings corrected to start with generation 1
               as it was filling an array twice allocated size,
               causing corruption of display or crashing.

               When saving couple data update progeny data if either
               prog_array or old_prog_array non empty. Previously
               only updated if prog_array non empty. This could cause
               data inconsistencies if all progeny removed.

Version 1.34   When forming printer strings numbers of form x0 were
               giving x, i.e 20 gave 2, a smily face, instead of a
               space.

               Printer strings loaded from file were cut short at the
               first space, which was meant to be a delimiter.

               Ps_ptr->last_x_end initialised in Print person to ensure
               that name correctly right justified.

Version 1.35   The number of lines of text depended on number of
               lines set for text printer, even when using GDOS!

Version 1.36    Tree_redraw now sets initial x_position to left side
                of window, not left of screen. Previously text would
                disappear off left hand side of window. As window
                cannot be moved this has no effect yet.

                Descendant printing now limited to MAX_LEVELS even if
                the font is tiny.

                Draw verticals routine checks for end of page reached.
                Formerly the vertical (and horizontal) lines would be
                drawn off the bottom of the page, the name following
                would be on the next page. This is slightly suspected
                of causing a crash with File not found message for a
                nonsensical couple file name, eg C1694518380.gen.
                See Terry Aspell and Steve Rendell.

                When mallocing memory for matches, edit to allow extra
                for null termination got lost between 1.34 and 1.35.
                Restored for 1.36.

Version 1.37    Crash during descendant printing appears to really be
                caused by using data in a block without re-getting
                data_ptr. The recursive nature of print_desc meant
                that the block could have been swapped with memory.
                Get_next_child & get_next_couple added to cure this.

Version 1.38    Crashing when displaying tree resulted from overlong
                names, as a result of trailing spaces. Names_ref, date
                and only protected from long names, add_to_pidx removes
                trailing spaces from index names.

Version 2.00    Program restructured to only use one evnt_multi().
4 September 93  A number of routines rationalised to make program
                more compact and easier to edit.

                Person form, couple form and tree display all put into
                resizeable, movable windows.

                Descendant can now be displayed in a movable and
                resizeable window.

                Release memory added to file menu to allow return of all
                but two people and two couple blocks to system memory.
                Maximum number of people and couple blocks can be set in
                preferences form to limit memory usage.

                Save as added to file menu.

                Wild cards allowed in name fields of person selector.

                Baptism date moved onto main person form.

                Burial/cremation date added to death form.

                Children and siblings are now sorted on person
                form. Previously they only got sorted when editing the
                couple information.

                Option added to always list people on entering person
                selector. Also to keep family name from last use.

                Person, tree and descendant printing now automatically
                print for person displayed if the corresponding window
                is on top.

                When block data swapped back to disc, all other changes
                are also saved to maintain data consistency.

                Export/import added.

                TOS 2.06/Harlekin problem with file selector and drive b:
                overcome.

                Clipboard support added.

                Text size can be set to 8*16 font as well as 8*8 and 6*6

                Text size for further notes can be set (independently).

                Descendants death date can be printed.

                Arbritary point sizes can be set under SpeedoGDOS.

                First menu title changed to FamTree instead of Atari logo
                in line with MultiTOS convention. Name registered in first
                menu as Family Tree instead of filename.

                Under MultiTOS windows can be manipulated without being top.

Version 2.01    Maximum number of lines for Further Notes increased
                to 100 from 20.

                Descendants window closed when new tree loaded.

                Ancestor tree display allows one pixel vertical overlap
                to allow as many generations as on 1.xx versions which
                were not in a window.

                Unable to open "prn:" on Falcon so set file pointer to
                stdprt instead. Used fflush instead of fclose if using
                stdprt.

                Longer forenames allowed for tree print and display.

                Writing to clipboard now works when cursor position before
                block start. Will read line based text files from clipboard.

                Strings which overflow end of line are now correctly tabbed
                on next line.

                AltQ Cancel,Save,Quit option now saves correctly.

                If font too large for person print warning given.

Version 2.02    Longer forenames also used for descendants.

                Metafile printing improved. Text spacing works for Speedo
                although font height is not returned; it is calculated from
                the point size. Transparent mode correctly set.

                Tree printing offset correctly calculated for GDOS.

Version 2.03    Improved saving when quitting, including current edits in
                data changed test.

                Respond to Application terminate messages.

                Further notes now saved when changing from person to
                person without OKing.

                Horizontal offsets now set correctly for non GDOS printing of
                trees.

                Responds to window bottom messages.

                Scrolling of text and descendants of lower windows does not
                corrupt upper windows.

Version 2.10    New|Open|Cancel alert presented to user on program start.
6 July 1994
                Many minor changes to meet Atari user interface style guide.
                This includes changing some of the keyboard shortcuts.

                There is a sample of the selected font in the font selector.

                When accessing the clipboard a _SCP semaphore is locked to prevent
                conflicts with other applications under MultiTOS.

                When a file is saved a SH_WDRAW message is broadcast. This causes
                the desktop to update it's windows under MultiTOS.

                Windows can now be iconified under aes versions that support it.

                All dialogue boxes are now in windows. Most are application modal,
                ie. block use of Family Tree but other apps and DAs can be used.

                The program install.prg copies Family Tree to the hard disc.

                From the person selector there is a details button that shows more
                information about the person before selecting them.

                There is now on-line help using ST-guide, this can be accessed
                by pressing HELP, using the help menu, or pressing help
                buttons in dialogue boxes.

                Background windows can be clicked without topping with the right
                mouse button.

                Tree check option in file menu

Version 2.11    Program gave spurious error on exiting. Believed caused by
                system call which was only valid for AES>4.0.

                Memory block allocation repaired again as program was hanging
                when re-using a block.

Version 2.12    Printer x and y offsets added.

                Tree printing corrected to stop long dates exceeding
                width.
                
                Negative references corrected, x = x + 256 to cope with
                128 person bugged data from versions < 1.11. (They were
                still crashing Check tree!)

Version 2.20	GEDCOM support added.

				Custom trees added.
				
				Check boxes replaced ticks.
				
				Date qualifiers added (after, before, circa).
				
				Popup menus added for sex.
				
				Arrows improved for moving to new spouses.
				
				Bug in font selector fixed, elevator position was not
				always within scroll bar.