mirror of
https://github.com/kennethreitz/context.git
synced 2026-06-05 14:50:19 +00:00
75 lines
1.6 KiB
LLVM
75 lines
1.6 KiB
LLVM
/*
|
|
* @progname 8gen1.ll
|
|
* @version 1.0
|
|
* @author Wetmore, Manis
|
|
* @category
|
|
* @output Text, 132 cols
|
|
* @description
|
|
*
|
|
* Produce an 8 generation descendant report for the person selected.
|
|
* Output is an ASCII file, and will probably need to be printed
|
|
* using 132 column format.
|
|
*
|
|
* 8gen1
|
|
*
|
|
* Code by Tom Wetmore, ttw@cbnewsl.att.com
|
|
* With modifications by: Cliff Manis
|
|
*
|
|
* This report works only with the LifeLines Genealogy program
|
|
*
|
|
* version one of this report was written by Tom Wetmore, in 1990,
|
|
*
|
|
* Produce an 8 generation descendant report for the person selected.
|
|
*
|
|
* Output is an ASCII file, and will probably need to be printed
|
|
* using 132 column format.
|
|
*
|
|
* An example of the output, is not included because it would add
|
|
* 20k to this report.
|
|
*/
|
|
|
|
proc main ()
|
|
{
|
|
getindi(indi)
|
|
set (nl, nl())
|
|
pagemode(260,132)
|
|
call pedout(indi,1,8,1,256)
|
|
pageout()
|
|
print(nl())
|
|
}
|
|
|
|
proc pedout (indi, gen, max, top, bot)
|
|
{
|
|
if (le(gen,max)) {
|
|
set(gen,add(1,gen))
|
|
set(fath,father(indi))
|
|
set(moth,mother(indi))
|
|
set(height,add(1,sub(bot,top)))
|
|
set(offset,div(sub(height,1),2))
|
|
call block(indi,add(top,offset),mul(10,sub(gen,2)))
|
|
set(half,div(height,2))
|
|
call pedout(fath,gen,max,top,sub(add(top,half),1))
|
|
call pedout(moth,gen,max,add(top,half),bot)
|
|
}
|
|
}
|
|
|
|
proc block (indi, row, col)
|
|
{
|
|
print(".")
|
|
set(row,add(3,row))
|
|
set(col,add(3,col))
|
|
set(e,birth(indi))
|
|
pos(row,col)
|
|
if (indi) { name(indi)
|
|
", "
|
|
if (and(e,date(e))) { date(e) }
|
|
", "
|
|
if (and(e,place(e))) { place(e) }
|
|
}
|
|
|
|
else { " |--------" }
|
|
}
|
|
|
|
/* End of Report */
|
|
|