Update of /cvsroot/pythianproject/Prototypes/Console Demo In directory slayer.i.sourceforge.net:/tmp/cvs-serv13420/Console Demo Added Files: ConsoleDemo.cfg ConsoleDemo.dof ConsoleDemo.dpr ConsoleDemo.res arial1.glf frmMain.dfm frmMain.pas Log Message: added basic GL app and Console demo ***** Bogus filespec: Demo --- NEW FILE --- -$A+ -$B- -$C+ -$D+ -$E- -$F- -$G+ -$H+ -$I+ -$J+ -$K- -$L+ -$M- -$N+ -$O+ -$P+ -$Q- -$R- -$S- -$T- -$U- -$V+ -$W- -$X+ -$YD -$Z1 -cg -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; -H+ -W+ -M -$M16384,1048576 -K$00400000 -U"..\..\PythianProject\Source\Units\" -O"..\..\PythianProject\Source\Units\" -I"..\..\PythianProject\Source\Units\" -R"..\..\PythianProject\Source\Units\" --- NEW FILE --- [Compiler] A=1 B=0 C=1 D=1 E=0 F=0 G=1 H=1 I=1 J=1 K=0 L=1 M=0 N=1 O=1 P=1 Q=0 R=0 S=0 T=0 U=0 V=1 W=0 X=1 Y=1 Z=1 ShowHints=1 ShowWarnings=1 UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [Linker] MapFile=0 OutputObjs=0 ConsoleApp=1 DebugInfo=0 RemoteSymbols=0 MinStackSize=16384 MaxStackSize=1048576 ImageBase=4194304 ExeDescription= [Directories] OutputDir= UnitOutputDir= PackageDLLOutputDir= PackageDCPOutputDir= SearchPath=..\..\PythianProject\Source\Units\ Packages=VCL40;VCLX40;VCLDB40;VCLDBX40;VCLSMP40;QRPT40;TEEUI40;TEEDB40;TEE40;ibevnt40;nmfast40;Python_d4;PythonVCL_d4;NtfyIcon;glPanelPkg Conditionals= DebugSourceDirs= UsePackages=0 [Parameters] RunParams= HostApplication= [Version Info] IncludeVerInfo=0 AutoIncBuild=0 MajorVer=1 MinorVer=0 Release=0 Build=0 Debug=0 PreRelease=0 Special=0 Private=0 DLL=0 Locale=2057 CodePage=1252 [Version Info Keys] CompanyName= FileDescription= FileVersion=1.0.0.0 InternalName= LegalCopyright= LegalTrademarks= OriginalFilename= ProductName= ProductVersion=1.0.0.0 Comments= [Excluded Packages] $(DELPHI)\Components\Indy\dclIndy40.bpl=Internet Direct "Indy" for D4 Property and Component Editors [HistoryLists\hlUnitAliases] Count=1 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [HistoryLists\hlSearchPath] Count=1 Item0=..\..\PythianProject\Source\Units\ [HistoryLists\hlOutputDirectorry] Count=1 Item0=. --- NEW FILE --- program ConsoleDemo; uses Forms, frmMain in 'frmMain.pas' {MainForm}; {$R *.RES} begin Application.Initialize; Application.Title := 'Console App'; Application.CreateForm(TMainForm, MainForm); Application.Run; end. --- NEW FILE --- --- NEW FILE --- GLFArial Normal 1 `åP=Nb¾ð§Æ=¡Ë>ð§Æ=.?ð§Æ½.?ð§Æ½¡Ë>9´H½Nb¾¢E¶=¿¢E¶== ×¾5^º½= ×¾5^º½¿ # h=¾d;¿héJ¾ »X94?q= ¾X94?ù£X¾ï§>X9ô¾ï§>X9ô¾ÀJ>f¾s¾ÀJ>¾Âõ½X9ô¾Âõ½X9ô¾ $DF`åP=L7I¿`åP=A ¿G8M>º¾¿ö~£>}>¿UNË>ÞžuØ>÷xq¾äeÕ>)(¾3ÝË>]ßǽk¼>¦½§>2O<ùi>*Xc=îÌT>Ñ"»=F>ä=`åP=ÃE>`åP== ?¼Aô=!ä?)\/>¼u?tT>Eî>ú~j>¦Ä>'1È>`åÐ>9³> ?Óù>bº$??1>2?`åP=X9?`åP=ÍÌL?ï'½ÍÌL?ï'½X9?ö&6¾'Ú1? ¾l#?k»¾V¹?q=ʾF¶»>bžßù> µ¾ÀJ>of¾ä÷>Óõt¾Ì|§=4 ¾·¸=ï'½]£e¹ï'½íü¾O=¾î¾VM¾ïS;B`u¾¦¾®¾/]¾uؾmç{¾Vξª·¾u¸¾¹Æç¾êz¾¿Évn¾B¿/ ¾³~¿ï'½Ä ¿ï'½L7I¿ï'½°&>Ïó¾ïI>ÅpE¾z>9`g¾h=>!°r¾uçÁ>Ae¾hè>²õ<¾þÔ?1´ú½?ï'½P?`åP=ÅżX >Í|½{¼`>ÛùÞ½ßP>m;-¾Ë¡ >ö(|¾c|>øQ¾EfN>ºIÔ¾l >#Ýï¾`åP=íü¾2 <= < ;<;; :; : :9:898787676565 45 4 !4!"34"3"#23#2#$ ?W¾Vó>V¾¾½>8I¾fh>Õ"¢¾òz@>Ÿ¾>1Ô¾ßO >Ú7ï¾ ¿ >ÍÌ¿`·>3S ¿u=ñ>dæ¿Â ?ï¾£Z?1Ô¾P?w¾Tã%¿Z¸Ô>X94?C7>X94?f¾Ó¾Tã%¿Ú #>羨n^>¿k¹>"Q ¿-Ò>Tã%¿cÑ?ÙB ¿°?Fa¿+?+è¾Å 0?¨n¾õ+?Ìy&¾ué?f½» ?; <^ºÑ>Âõ<ÛO>xGÆ;ØóU>À½ó!>ïT0¾)\>õ¾>ï>àKÁ½òÑ?°¾N ?cL¾ÍÌ?X¾;U ?!®Ô¾î?Ùø¾iï>¿ Ó>L7 ¿¸>¿ºK¢>Ùø¾rS>P9Ö¾V>' ¡¾(E>%²O¾s¢>â"¾ j¸> Á½Ï÷Ó>ï§½ 3 34 45 5 $5B'øC=Õxi>ìQ¸=¬tï>ìQ¸=.?ìQ¸½.?ìQ¸½¬tï>CK½Õxi> ¾W A¾u )¡0¨<4L¿= ÷=ge¿í@>u ¾õØF>-^=33>iå>úC3=Xä÷>ÀʽX94?bX¾X94?ÈÎû½,ò?sh½1â>·Cü£>Ãô=<}B>ñe"=+Áâ<9´H=C¾o¼^d¿bX¾#Ûy¿Àʽ#Ûy¿ *Àz<¾'1Ø>mr½ZÌ>¾²õ¬>nj`¾ûÎo>¼$î½ ×#>¡I½¢ñt>ÄíP»çû±>Ãy=+w>±Âí= ×#>Îb>ûÎo>z >sf«>ßÄ=ZÌ>]6>f¼Õ>¼t>B`å>òÒ}>X?-² >?1,=eãù>Ô(d=1^?¶ó}=X94?o½X94?r½¤Ä?Ûù>½µpù>1^¾¯²?Û}¾X?¼t¾B`å> P=ÀʾP=X94½¬Ú>X94½¬Ú>`åÐ=P=`åÐ=P=°rè>P½°rè>P½`åÐ=¬Ú¾`åÐ=¬Ú¾X94½P½X94½P½Àʾ , 8 ;¿UX»|`+¿wH±¼½s8¿ÈT½àA¿\½9´H¿Y½¬Z¿Û2`<°çO¿çs=+2B¿h°="Q0¿\Â=¿\Â== ×¾{®½= ×¾{®½¿ ×¾ìQ¸½= ×¾ìQ¸½¿ '1 ü©q>Å 0?h >Å 0?®G¡= ?X9´»X9?ÂMæ½mÞ>ü©q¾Zd»>ü©q¾HáZ>íÓ!¾}>¼Ì½ >êxL<Há²>w¾=ð§Î>w¾=¿ü©q>¿ 2(&{¤Q¾B`å¾+3¾[{ϾN ¾5´¹¾Ò½/¾%;6=ÿ$N¾åB>×½P>mÇ<>³>³&Ö=ñ¸È>39>=ÖÔ>vý>ßߨ>Jª> Ë>â;ñ>¬¨¡>¢ð?J$A>À)?gÑ»<Å 0?/¾f*?ß¿¾\ã?#¡µ¾ÓKô>ñɾåТ>¹þm¾¾>yÍ[¾KuÑ>¼'¾ëú>8ª½I ?\ä<Ù?Úáï=f» ?ÿG>¬Äü>`z>Ø>5î >mç«>Ky>~;y>ïo@>P>¤=.ã<¢µÂ½?¾L[¾ëj¾t¾F¶£¾A)º¾= ϾkØÏ¾±û¾·b×¾ÇK¿/MÙ¾¿æÙ>¿æÙ>B`å¾ $%&#$&#&'#' '397?¾æ;оí~¾u¿sc*¾ Ñ¿32H¼d;¿\>">¿Çõ>V¿ÊâÆ>TÀ¾+Ö> Âa¾7Î>dÚ½;¶>Bv^¼>;a=½Ä8>·CÃ=v§>äø>Çõ>¥P> ±>?>´È¶>¾µ>BͰ>$Dá>/Û>þ)?ª>]û?3>$?êЩ=:?-?sh¼Å 0?!¾i*? ?¾Dß?#0¶¾´þ>Vξ¢E¶>Ház¾ï§>Pà]¾¼tÛ>l*¾Å ò¾7,¼mçû¾&ǽ{gô¾ö|-¾dçݾºöe¾sg¶¾Ë¡ ¾ÙÎw¾+Ö¾Ý$¾()*'(*&'*78 - ,-%&*%*+%+,%,$%$#$# # "#""!"!!! 84À>¿À>+¾ ×ã>+¾ ×ã>¾À>¾À>.?n>.? ×ã¾¾ ×ã¾+¾lç=+¾lç=¿3¾¾lç=ÄÚ>lç=¾ 5%#RdžhæÑ¾`å¾Õ"¿A0¾<õ¿= W¼d;¿çÿ5>D¿ ª¥>ÀÌ>¹Æ§¾Ù>Qh)¾lÑÊ> ?:âx>Pá>y@9>T8b>úÕ< $677 º>Òn ?¿ôƾ3¤>uؾÞ!E9¯°È¾O"¾>¾ãOô¾bi ¾ö¿0ò²<d;¿>>>´¿hi>¸¿Y>ÀÌÿ¾¶ó½>¢íо ëÑ>ã§¾uØ>1<¾jÊ>àÚ¼ï>p²í=ÇB>mãO>¢5=hm>O3½Ôb>¾®B>$µP¾\<>9´¾p(|= ¾óVm>¼tc¾K9·>p/¾æ>Îl×½¤?o.½*?Dë<Ù?_bì=¹ ?Ó¥?>C7û>ÞÊb>q<ß>í|>¢E¶>VÎ>j¼>Óe¾+Ù½ÍÌ,¾v4<þ°½·E=ä£E<À=T;ã=·E=øSC>v4<ÐGy>ûW½Ë¡ >4E¾gy>Ûú¡¾nB>Ï£Ò¾Åä=ñ¾ä»<mçû¾nùH½ÿéö¾^æ½·ñç¾B+¾¨qϾU¾+ݾ 23 #$ 12010/0/ ./ . .-.-,-,,+,+*+*)*)()('('$67¬Z>?zÆ=zS¹>`åP¼Ëõ6>÷"Ú½:?żØÒ3¾p¾`¾¯Ý¾×£p¾¿½¿_R½fÕ¾`åP¼h}¾:ç= ¸¼`å0>¾KI>/>8HÈ>ázÔ>?ázÔ>ú~*?ázÔ¾ú~*?ázÔ¾? >¶ó½>{À´>þÔ°>Høö>Õx>ö)?ú*>ã)?d»Å 0?¾ê*?5^¾Z¹?g±¾(îø>¶ó½¾ëý¶>Âß·¾Há>䣥¾ìùJ>>̾rÀ>°Ê5¾]jÄ=ëF¾íºß>º¡¾ »B`å<4 Î=ú<ÒQ>>8>½5x>É̾ˡ >Ap¾x>Åu¬¾e@>B´Ö¾ÿÎÖ=¢ò¾j÷«:mçû¾·A½Nz÷¾ï ¾73ê¾(¶B¾ÚÔ¾k¾G9¸¾9¾kd¾Ë¡ ¾Háj¾)121)* 89 8 787676 56 5 545)4)()(('(''&'&%&%$%$#$#"#"!"! ! / /./...-/A9::µ2¹¾%\྾Dß ¿i4¾`俾!½d;¿ó¾=-\¿ÀT>w¾¿5´>5ç¾-´»>}饾±4Ð>×ø¾= ×>x^=#.Ð>0I>»>jÛ>ÄÍ>ö ?¯V>Há?ÖÈÎ=áÐ+?¼Å 0?h4¾ (?F`¾Ë¡?¯_Ⱦ Ü>= ×¾³E>ɾùK«=ë¾VN½«!A¾_b¾ùó-½çû)¾H=.¾?å>õ0ô½|dS>;á ½Ý$>()0;> ë¼>]¿ u>Ý(b¾¸Z>V¾º¡9>Û¥½¾>Í#×¾Ðï»=ªñê¾óv=ª÷¾½mçû¾ ç½õÕõ¾Õ2¾Ó¡ã¾ Ua¾Âöþ¶ó}¾¾ÍÌ̾㥾©öi>fg>æ$4>bKO=ïÄ=0eà»B»ôýÔ¼ÏÒ½0eà»Rd=¾bKO=á}u¾N>¾ûÎ>ú|t¾ T¿>1`9¾ Âñ>èÆ½%[ ?I¸:Ù?!Ä=¾¿ ?iá2>hçô>ì¥i>0ðÄ>mç{>Ï>9*99 9 () 898787 67 6 $#$565"#"!"! ! 5454343232121010/0/./.-.-,-,,+,+*+*)9:ìQ¸=>ìQ¸=Ãõ¨>ìQ¸½Ãõ¨>ìQ¸½>ìQ¸=¿ìQ¸== ×¾ìQ¸½= ×¾ìQ¸½¿ ×¾{®½= ×¾{®½¿ <uØ>òÒ;uØ>#Ûy¾í|¾+=uØ>-²>uØ>î>uؾ/Ý=uؾ ×#½ ×#½ ×¾d;ß½= ×¾d;ß½¿ !!!"""###$$$% +A¿Cá¿7.¿ÑA+¿Ç¿¨ÇF¿¡òç¾x)]¿`9¾¬m¿ýؾͫv¿AÕh=#Ûy¿ö'>QLv¿'Õ>ºk¿8i?×Z¿ÀË,?ÃõD¿wD?À,¿Ï÷S?ôý¿ +?ôý¿Ø?ª/¿ nà>LâD¿Jµ>3§S¿w¾_=uX¿® ¾¡ÛS¿3Ý«¾5´E¿ kû¾«-¿Û¿ÏM¿éº,¿ºô¿¾!°2¿X94¾éº,¿¶¹±<Û¿Ý|S>jPü¾êzº>´r¯¾ ]¾!?Ww¤¾å|á>Aξ{¾¾>«â¾J`£>Õxé¾¼]>4Jç¾A>s¾à¾Üb>,×¾>}ë˾Ás>H6·¾' >+¾ ëÑ>Tã¥>J>Tã¥>ÕÐf>ºA>½.>* >6Ù=þÖ>f=7®>¤ ½33³>¾@ª>>{¾bf>5]¯¾{jE>%\ؾÄí=GÉó¾7T½íü¾T¾Ä ÷¾ü©¡¾Zbå¾VÔ¾ßNʾÔdþ¾þ*¨¾Ëö ¿ï¾ê°¿Ù&5¾¿S=Ù½¿*7½k¿N¶=Ñ¿j¼=péè¾Çc¦¾¾ª¾= W½µß¾tû<'Ùj¾(Í=q:¾ðN>âv¾&5D>[ ¨½ûZ>´Éá¼®Ga>?Q=P>à*ï=?5>M%>ìù=X94>d:ô¼¸#,>B?ó½\ã>T¾vãÝ=¾=ò(µ¾±L<= Ͼ0¸&½ã§á¾ZÀ½ëäì¾F¶¾×£ð¾OçZ¾Õ$辽Ⱦð§Î¾¯¢¾'Ú¥¾çû©¾öÐ^¾kl 8 89 9 9: ::;;<<<==>>>???@@AYqrXYrWXrWrsVWsUVsUstTUtTtuSTuRSuRu^R^_QR_Q_`PQ`P`aOPaOabObcNOcNcdMNdMdeLMeLefKLfJKfJfgIJgIghFIhFhiFijFjkFkEFDECDCBCBBBBA]uA/ÛÖ¾¿°È¾Y¾¬>Y¾IÐ>¿Àu?¿¥£=.?$Óá½.?Àu¿¿Èλ½ºõ>PT½½Ù>P©¼ÍÌ?rÝ<ÂöÛ>~r=üU>iQ>P½Vl¾P½ B9;_¶;¿áð=¨:¿y=X>°¿>/Q ¿ñÔ³>\ã¿Ñ#Î>Áí¾3Ýã>¬Ê¾*pò>n¡¾ÇK÷>Cãi¾mTï>nÂý½¤n×><j½Ã·°> ú=x>ï§=6\¤>ÞÌ>ÙÀ>ð÷K>?àÑ>_b>P×>}?µ>G!Ñ>á>+ݽ>¶ó? C>ú? ªm>à $?>ã,?Ö«H».?ÇK÷¾.?ÇK÷¾¿A ¾®?áj½®?3¨v=v?#>¬?mã?>ú*ù>4Ûe>ãOä>ÆM}>É>\>ìùª>b¾|>+>¡c>f¾c>àõ9>A¶<> 3 $ #$# "# " !"! ! ''(&'(&()%&)%)*$%*$*+$+,$,-$-.-'8C*(-³°>Ñy¾ôQ>®É¾-^>H4é¾xÓ<F¶ó¾Ê»½ÿë¾I¾ÛÔ¾/¾:®¾T°¾ Co¾4¾ûÎϽ9´È¾(ÑR=aþ~4>´¾`;> í¾ZÏ>GY¾îzù>¡Mν7R ?)\=Ù?>Z>¤Ä ?Év~>Vý>H¥>-±Ò>7Á>?á>C?þ¨>äøñ>cÐù>w¹>´?>Z\>xò-?=X94? ïý½(E/?øS¾wh ?D˾C '()') %E X9ô>¿X9ô>B`å¾/¾B`å¾/¾¦D¼ºIÌ>¦D¼ºIÌ>)\>/¾)\>/¾®?/Ýä>®?/Ýä>.?X9ô¾.?X9ô¾¿ +¾¿+¾¼t¼{®>¼t¼{®>L7 >+¾L7 >+¾®??5Þ>®??5Þ>.??5Þ¾.??5Þ¾¿ ?ÙÍÌ>èÛ?`>(?^i9>KV1?¨QH=X94?U¾//?èù¾j ?ÛOÖ¾÷?C¿¬ÄÄ>¿]>P¿Ù=Û ¿¾ o¿}?¾QøÔ¾9aâ¾gº¾# ¿íñ½Ì ¿¶ó}=d;¿b¾L>¿C7«>-\¿ú)î>vS¿P?ï×¾P?/]=ÍÌL=/]=ÍÌL=9´È½ !!!!"""###$$ $ $% %%&&&' ' '( ( () ))***+++,,,---...////001 çû©¾¿çû©¾o;çû©>o;çû©>¿ I{®=¿{®=.?{®½.?{®½¿ K ìQ¸¾¿ìQ¸¾w¾¾À¾Í<=°>¿®?¿rS½</%>7?.?´t>.?ìQ¸¾ý¾?=ìQ¸¾.?®¿.?®¿¿ LÍÌÌ>¿ÍÌÌ>B`å¾ k¾B`å¾ k¾.?ÍÌ̾.?ÍÌ̾¿ N Å °¾¿Å °¾9´Ð>³Eª>¿7?¿7?.?Å °>.?Å °>b¼¦¾³Eª¾.?7¿.?7¿¿ ¿@¾¼Ëå¾´Êܾô§¥¾'Û¿/¾M£¿ ¿±Þà>ããã¾°Ç?2°¾ä?ïS¾í?aú=¢$?Cb>´É ?ßûÃ>0ä>;?üQ¤># ?Mº->OÌ.?B`e:X94?.{¾¬(?â¾?{õ¿Hâ>í¿£ZÄ<´Ð¾]ø>Ý$¾lÞ>Ì$*¾kð?B`å:Ù?âû=o½ ?±nl>Õü>/3¤>¢BÕ>²Å>E >aûÙ>ôû>>Äà>Z$=æåÐ>Ý'7¾ÇI¡>/Û®¾m:2>â¾B`eºF¶ó¾21¾ø©â¾× ¾/ ¯¾2Éоý=¾Äà¾n²<%%& 'PøS£¾¿øS£¾ ×£½×¡< ×£½uèt>µS½á$Å>å=éí>«B#>5^ú>= >Ìcõ>ÞæÍ>°tæ>bºø>[Ï>?Lá±>?UL>J%? ÂA>¼t+?9ÕÚ=áÎ-?Zº».?5^ú¾.?5^ú¾¿øS£¾®?l<®?Ù=²ó?u;+>Ä?°h>*û>Ñv>öÔâ>w>PÂ>®G¡>Z>3p>¸ÊS>úÒ{>ob>-¯>ÅȲ=ÁÈK<¼t=øS£¾¼t= ¿ÏLà>"¿bf?Ù$3¿ ×¾= 8¾yéæ¾ï'=ÆßÖ¾+ >¦¾×KÛ><¾H?ï'¼Ù?mpâ=o½ ?ö$`>Õü>R>ìPÕ>Õz¿> >ÖÓ>çý?>¾Ú> +=¨qÇ>|íI¾dç>ªE¼¾ÅÆ,>À̾Р=u;{¾ ( () ) ))***+++,,,---...///003R++ɾ¿É¾Âõ¼ ?W#;<q= ?+2 >»}?÷xa>ò|ö>&>¯[Ô>u>¥ó©><2>Y>n>1^>W>j/>mç>{h>¶j=máù=ò¼hí=ɾhí='(()')*''' ' '''&'&%&%$%$#$#"#"!"!! ! ** ÙÁ>M÷¿i;æ>ÝÐܾI¡ü>=¾J?t¾ÆMý> /¾íè>2h½×LÆ>ge{<{À>ýù=F :>éä=Úã<N>40"¾ QN>ÛQ|¾r|>H4¾Ý">P¾ÛM¸>t¾Þ>K\g¾ÉÌý>.X ¾ µ ?@12»ßO ?Åt>'f ?í`>ßQû>J>Ô>-²>R¸>×£ð>/ݤ>ç>°sÛ>Ð>?1¬>%?v> (?ÅÆü=IK1?ï'¼X94?\¾k1?z¾)?öÒ¬¾à.?{hϾÙ#?å}ä¾§Zã> ë¾#/³>ýÀå¾Ì>¸tÔ¾B>èf·¾zÆþ=F^¾1=ÒR9¾D=[´ 7 676565 45 4 34323212110CT{®=¿{®=®?ÁÊ?®?ÁÊ?.?ÁÊ¿.?ÁÊ¿®?{®½®?{®½¿ Ö >×¢ ¾ãQ> +ž¹Æ>Åå¾A¼×£ð¾§væ½[&ë¾+/I¾®Ú¾\ ¾õÀ¾Ñ"¾ö(¾= §¾÷«P¾«¾Âßo½«¾.?%¿.?%¿YÄp½;Èû¾¼Îv¾ìûè¾ V a°=¿ú)?.?hÓ>.?ÂÂ=À"¾Â¤ø<ÃJµ¾ yçºë¾èÞ½j·¾ ª½À"¾X7ξ.?ú)¿.?äØº½¿ W𧾿®¼$½¬ÈÀ>oºÓ÷?Ã%=¢íÀ>Vb>¿:\ó>¿ªñR?.?èO'?.?ÛMè>Û¾+Ç>{h×¾P5²>[N¾®ï>qÈ=ìQØ=.?¹nʽ.? T¯¾¬<¾ßO;{h×¾¾Ké¾"¾®ñ%¿.?ªñR¿.?Gù¾¿ ×c=üQ¾7Á>¿?¿Ú©Ù=ò"=ÍÌ?.?þ(º>.?Q-â=}ç¯>Lc=\å>+<U3K>£å Y ã¥=¿ã¥=Ò7i½+?.?}çÇ>.?³x>ã¥>¡m:Ûù=4¾R¸>Tľ.?+¿.?À½Ò7i½À½¿ Z ÁÊ?¿ÁÊ?B`å¾w¾¾B`å¾÷xq¾â"·¾ìQø>®?ìQø>.?-²Ý¾.?-²Ý¾®? >®?D3_>.ë>>5 Á>ÁÊ¿q=â¾ÁÊ¿¿ W¾o; -¾¯>)Z©¾ôýd>Ú¾¾>ÍÌ̾o=mç{¾X94=Z¾¢>+¾h9>ãʽ>[W>B`庮Ga>¸ÊÓ=ºS>çS7>ß§*><ÝY>Ôç=B`e>ظþ<ázd> ×#¼C7Û=å ½ét½ DD CD C !BC!"AB"B!1Db%%o¾Õö¾n¾Ö俸Y¼:R¸¿äM>c¿õ>¬Æú¾{¾¾>÷=ª¾òÒÍ>ß÷½û@Ê>Ñ?Á¼7¿> ¸=+®>ò$>9 >Eº_>g·v>·F> />¡>Í ¾=.È®>9¶<33³>J¾Í£>#Ûy¾°Êe>#Ûy¾.?òÒ;.?òÒ;¿o¾¿øþv¾íò<C=¾oº>h?Ò½=dJ>ôýÔ»®Ga> ¶´= -K>ë+>Ý>äLc>ÜÔÀ<Âu>X ¾b>¾¬È(>¨Í¾¥I©=oï¾/]¼Háú¾'/¾:\ë¾®[¾Í̼¾¦~¾¾¸ ¾¾ >Òȧ½ùK>÷>Õ<®Ga>ãÊ=1U>ëU$>í0>ì¦T>Ælé=F¶s>o=®Ç>ôýT=Iö°>Å6>L>Õv>Ô} >$D©>*q<33³>½ÈĽeü«>èKO¾X>î%¾ed>ïSµ¾ÿ=ÍwȾOw;ÙξòÒ ¾§À¾¨°¾¾®ý¾*¾ý¿¿¯<R¸¿ÁÊ!>åñ¿n>¿¿{Á·>+ؾÙÎ>)\¾ #d''òÒÍ>¿òÒÍ>.?#Ûy>.?#Ûy>Ï÷c>R¹I>4I>¨ >°¡>É=®>Ã5¼33³> +õ½l{«>¨^¾ôS>«¾c`]>'3¶¾î=ëǾ6r]»òÒ;Ñ"¾4JǾMM¾°³¾×¥Æ¾±0¾ ø¾®ïS¾Z¿_^à½Î¿ýÜP»R¸¿!¬>Ö¿o>Vbö¾o>¿r¿c¾øûÅ<_¶-¾ì¥ >¤¹½_K>ìQ¸;®Ga>»GÖ=¼yJ>N?>k>Éqw>óT<¸ >¾ÅÇw>\;¾f@>gºÏ¾9Ý=ð¾ÙN<Háú¾w¼©½ï¾¬È(¾V¸Í¾b¾·¾Âu¾ÿ¯ ¾ &e$$X:_>ÒžËõ&>¬ã¾ bÃ=ùõ¾ÍÊv<Háú¾m绽ð¾7¾¼vѾ=¶u¾ë¾'1¾X94¾!°Ú>X94¾Ñ"Û>L7 ¾%Ì>=B´>Árd>3>®ô¢>gbº;33³>æÎ,¾a¥¢>1\¾×÷a>)±Ë¾)^ =Ñ"Û¾ÓM¾'Ü˾¨°¾)¾m;ý¾?,¾£±¿+l<R¸¿ð¤%>®¿Õz>d ¿¯[¼>©ä¾°rØ> ×£¾}? >¾ò&o¾o=X94¾Ð&>Ûù¾½f¿N>?ß;®Ga>í=ZJ>d;O>¡j>¡w>-wf=Ý$>j<½¾j<½""#" " !" ! ! >ÁÊ¿>j¼ô¾T~>]û¿!Xu>R.¿4ÛU> ö?¿}">VcM¿?±=iÇU¿¿/¼uX¿eнзU¿q/¾á$M¿f¾S¾,B¿fff¾-2¿%Á¾V-¿_j¾ôüé<Ad1¾#Û >I»½zlK>*Â;®Ga>_×=K>XA>4> é{>÷ÉÑ<®>?5þ½öy|>Ù¾ØÒC>òÒž¸Þ=¦ïå¾ÓK<×£ð¾fh¼½;á御I2¾ªÅ¾ Dj¾må¾í|¾¼tó½-.-- - ,- +, $% + + *+ * )*)()('(''&'&5&55454343232121010/0./.%5hA`¾¿A`¾j¼½Y¾³;E¾ù¢= ü!¾K: >Z¼Ø½øû5>\.½+ÙQ>Ê<Ñ"[>)Û=W_M>ìM,>b$>DS>¯$¹=A`>n=¼A`>¿%Á>¿%Á>òÓ8¼Ù¼>}=ß=ìQ°>ì¥I> > >N¶q>=`>¡J>vþ>4Il=33³>À½âÍ¢>A`¾T;c>A`¾.?%Á¾.?%Á¾¿ iÁÊ¡= k " lÁÊ¡=¿ÁÊ¡=.?ÁÊ¡½.?ÁÊ¡½¿ Ã==9d>>^>l^>qJ>C>Ñ"[>vR·>Æ£T>¸ÈÍ>é&A>u?ß>#>ìOê>+/ù=½5ð>Ìë=-ò>+l¼-ò>¿7!?¿7!?==DÁ?Õy4>{i?>³\î>àf©>Ýx¯>33³>?:>¨n>Uù^=A@>±j<o>y$½ßO>$)é½Mº>Æ£T¾33³>+¾óå>@ß¾¾ðý>nOà¾È` >5^ú¾mçK>5^ú¾Ãõ¨>7!¿Ãõ¨>7!¿¿+, ! ! !" "# ##$$%%%&&&'''(()),nA`¾¿A`¾Ú½½Ï¤M¾ºk=áξ,¶>½©½ÇJ>Ù<Ñ"[>~®=0ÚS>±> o""óTϾFa¯¾ú*¡¾´tý¾{4¾Ø¸¿&å9R¸¿A+ð=Æ¿f>.¿Ãa¡>ýgý¾#/Ã>B´Î¾Ö×>X¾R¸Þ>Ú©ù½ö)Ï>%= >øûe>¶¡2>Õ%£>&å933³>ñ"¾ ¾Ó¾eä¬<ïG¾Ëõ>Rܽ%³J>&å9®Ga>ZdÛ=J>}G>ù>Ä>Ð*³<¨Æ>¡j¾Ó>§³¾ïG>¦E;#Ü=Nzï¾&å9Háú¾Rܽ¹ï¾ïG¾í~;Ӿr§¾¨Æ¾Ê ¾ !p))mç{¾j¼t¿mç{¾ ¾-¿Êp½}¿ÄíкR¸¿£?Ô=9Õ¿J¸P>,¿m>lø¾¦´>ÛľËIÈ>Ô¾ÙÎ>o¾ÿçÈ>>?ºw·>î=>A\> ! ! !" """###$$$$%%(q%%òÒÍ>j¼t¿òÒÍ>Ãõ¨>¸ >Ãõ¨>¸ >¥óQ>wf>㤠>Å 0¼33³>j3߫>:Z¾må>,¾lc>µ¾ÿ=¿Ç¾þEÐ;òÒ;®G¾q¾¾:Ê©¾îоLáù¾eá¾kF¿j÷«:R¸¿n=ð¿ Õ>ªò¿íÔL> ¿#Ûy>éÒÿ¾#Ûy>j¼t¿mc¾ ä<Ãñ,¾Év>Ed¸½ /Q>K;lg>Î=,O>c<>Â>±v>Çô<¸ >æx¾S³w>Z¾r@>®IϾaÝ=jûï¾®r<Háú¾x悔lï¾pé(¾V;7b¾¨Æ¾Âu¾+¾ $ $ $#$# "# " !"! ! $rÀ½¿À½Îç½³½þÓ¼á½ßÄ=×6½Ifõ=Uù¼)° >)u =78>ï§=@>°t>{8>¢íH>rÀ>%>>²>rÀ.>öÒ¬>¹=33³>=/¯>8 %¼ê$£>p|m½>®Gá½shA>®Gá½Ãõ¨>%¾Ãõ¨>%¾¿ /A¾î<=9 P¾=ôýT¾VÎ=II¾f>ÏK%¾¼<>}A˽Õ$X>À»®Ga>£=É W>79>¬8>oº5>Í>ÀJ>)\=X9´>ìQ¸=2s©>pë.>gd>À"o>¦E}>'1>/3>Á£>Ú«¯=.¯>½¼33³>îx³½K˰>/¾q©>¤nW¾Êâ>øÿ¾Z>¾Vº{>^º©¾Ì$J>¬´¾Ã>ìQ¸¾AÕ¨=Tå³¾¯´<Ϧ¾¼,½2ɾÎS½½ïSe¾¾gc¾ÒR)¾<oS¾6ù=+q¾n6>j¼¾Ó£Y>q<¾B`e>@¯¾ªðW>mç˾ä¡/>-^ä¾×=@õ¾=-<Háú¾¹O®½½ô¾J¸ ¾á¾¨R¾Â¾ k¾u¾Ë¡Å¾/ݤ¾=> 45 4 4343 3 23121010/0/./-.-,-,+,+*+)*)()'('&'&%&$%$$#>t é+>=¶í¾r>î¾zߨ=¼!í¾y©=Àè¾=hæá¾¬áb=%Ù¾üI=ÃõȾ@=D¬¾@=ôýT>Ï÷S>ôýT>Ï÷S>Ãõ¨>@=Ãõ¨>@=î|'?øSã½øS?øSã½Ãõ¨>°rh¾Ãõ¨>°rh¾ôýT>øSã½ôýT>øSã½`§¾ÿvÙ½I¹ã¾ ß»½¬p¿½¬ ¿WμV¸¿,ô=ï¿ÒýÜ=¬¿3á'>*È¿°rh>°¿Ï÷S>oë¾ v T=¿¾Ú>Ãõ¨>+Û>Ãõ¨>Å p=ò"s¾õÎ<«ª¾ w´ D¾¿o»Âjì=¸=X94½ñ*;>¿Pá°>¿øS#?Ãõ¨>üUø>Ãõ¨>h¥>!XU¾q=>AƾTãe>ÁW¾¬=Ãõ¨>î½Ãõ¨>F^f¾r\¾¿ó¾´Ð¾Õ¦¾sT¾¼ ò¾Ãõ¨>øS#¿Ãõ¨>%²·¾¿ y¾U¢x¿Tãu¾#Ûy¿L6.¾w¿Àâ½p¿s½ö³d¿%l¼S¿À<E·>¿}=°Æ¿ ëÙ>Ãõ¨>sh>Ãõ¨>;ß=kZ¾ð=-¢¾"ߥ;Ýx×¾tÛ¼H6¾H1½·CS¾¼t¾Ãõ¨> ëÙ¾Ãõ¨>!°½¿)\¯½;ß#¿½ê½Ä_7¿ãý¾}éA¿ ¾ÂI¿Dß=¾¼uN¿ c¾¯ÒQ¿×÷¾ªñR¿5]¾JR¿Å ¸¾)\O¿y鮾Ë÷t¿ Ǽ>±>¾Ü½ÿ¯ ¾Ð½<-¿½?6I<ÿ¯:½[ï7=¾¼<]ß=ÕxÉ=B´=ÝzM>ã¥=P9Æ>j¾ª=Ïõõ>ÿØ= ?½>KÍ?+f>`å?%>`å?%>X94?i9P>X94?Vb>ª3?ÉÆÃ=çû1?8R=Ð-?b<'?Å©V¼?½1\?¾`½"?+½ôQî>8/½/ÜÉ>_²½mç>í,½ìQ>a°½ÍW=kEÛ½H¥X< ¾j2ã¼C¾øl]½%¾o½%&'$%'#$'#'(#() #)*"#*"*+"+,",-!"-!-.!./ !/ /0 01 11222333344455566677 W< ?3nê¼Ð*?K磽ߥ0?®¾~T3?²Q¾X94?J¾X94?J¾`å?'1h¾`å?µÆ ¾j?Ìñê½Ûù ?뻽ÉË? ×£½81ì>w¾½¤>ãQ½lëÇ=P½C¼´ª<·C£½OÝ=ÿ¯ ¾$=g2¾À´(¼øOg¾À8½Üb¾+½oþ¼t½õ¾P½°r(¿Òû¦½ä @¿àGÕ½Ñ#N¿oe¾]nT¿ïg¾+V¿J¾+V¿J¾#Ûy¿Ü¡Q¾#Ûy¿Â÷¾u=y¿ ×ýZdw¿4ôO½øþr¿Úäp¼äùl¿òl<%e¿¯Ò=ÕZ¿J)h= M¿C=áz<¿ËG=`9*¿óÊ=33¿E=¶Ö¾õ0´=q嬾ÿ]ß=Zf¾êÎ>ux¾`E>?]¾J>ªñR¾J>o½$%&#$&"#&"&'"'( --- NEW FILE --- ÿ Font.ColorclWindowTextFont.Heightõ Font.Name MS Sans Serif Font.Style KeyPreview MenuMainMenuOldCreateOrder OnKeyPressFormKeyPress PixelsPerInch` TextHeight Exit1Click FrameTimerIntervalOnTimerFrameTimerTimerLeft --- NEW FILE --- unit frmMain; { Console Demo by Michael Hearn 2000 for the Pythian Project } { we're going to "clear" the screen, see OnGLDraw for this. I'll then use the glf functions to draw the console. keystrokes will be interpreted and placed on the screen until I have a simple console. The commands you can use are - help - cube on/ cube off - exit } interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls, GLPanel, OpenGL, glfd; type TMainForm = class(TForm) GLPanel: TGLPanel; MainMenu: TMainMenu; File1: TMenuItem; Exit1: TMenuItem; FrameTimer: TTimer; procedure FrameTimerTimer(Sender: TObject); procedure GLPanelGLInit(Sender: TObject); procedure GLPanelResize(Sender: TObject); procedure GLPanelGLDraw(Sender: TObject); procedure Exit1Click(Sender: TObject); procedure FormKeyPress(Sender: TObject; var Key: Char); private { Private declarations } consoleCommandBuffer :string; animSquare :integer; CubeEnabled :boolean; procedure consoleInit; procedure consoleProcessKey(Key:Char); procedure consoleProcessCommand(cmd:string); public { Public declarations } procedure SetProjection(Sender: TObject); end; var MainForm: TMainForm; implementation {$R *.DFM} procedure TMainForm.FrameTimerTimer(Sender: TObject); begin // now redraw the screen inc(animSquare); if animsquare >= 360 then animsquare := 0; GLPanel.GLReDraw; end; procedure TMainForm.SetProjection(Sender: TObject); var gldAspect : TGLdouble; begin // Redefine the viewing volume and viewport when the window size changes. gldAspect := GLPanel.Width / GLPanel.Height; glMatrixMode(GL_PROJECTION); glLoadIdentity; gluPerspective(30.0, // Field-of-view angle gldAspect, // Aspect ratio of viewing volume 1.0, // Distance to near clipping plane 100.0); // Distance to far clipping plane glViewport(0, 0, GLPanel.Width, GLPanel.Height); InvalidateRect(Handle, nil, False); end; procedure TMainForm.GLPanelGLInit(Sender: TObject); begin // Add GL init code here // Any enable/disable commands that affect the entire app should go here animSquare := 0; cubeEnabled := true; // // Enable depth testing and alpha blending // glEnable(GL_DEPTH_TEST); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA,GL_ONE); glfInit; if glfLoadFont('arial1.glf') = GLF_ERROR then raise Exception.Create('font load failed'); glfSetAnchorPoint(GLF_LEFT_UP); consoleInit; end; procedure TMainForm.GLPanelResize(Sender: TObject); begin SetProjection(Sender); // this sets up the view // init any variables here end; procedure TMainForm.GLPanelGLDraw(Sender: TObject); begin // // Clear the color and depth buffers. // try glClearColor(0.0,0.0,0.0,1.0); // clear to black glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT); // reset the matrix to it's identity (original, unmodified) matrix glMatrixMode(GL_PROJECTION); glLoadIdentity; glMatrixMode(GL_MODELVIEW); glLoadIdentity; if CubeEnabled then begin glPushMatrix; // scale and rotate glScalef(0.5,0.5,0.5); glRotatef(animSquare,0.0,1.0,0.5); glDisable(GL_BLEND); // // Draw the six faces of the cube. // glColor4f(1.0,0.0,0.0,0.75); glBegin(GL_POLYGON); glNormal3f(0.0, 0.0, 1.0); glVertex3f(1.0, 1.0, 1.0); glVertex3f(-1.0, 1.0, 1.0); glVertex3f(-1.0, -1.0, 1.0); glVertex3f(1.0, -1.0, 1.0); glEnd; glColor4f(0.0,1.0,0.0,0.75); glBegin(GL_POLYGON); glNormal3f(0.0, 0.0, -1.0); glVertex3f(1.0, 1.0, -1.0); glVertex3f(1.0, -1.0, -1.0); glVertex3f(-1.0, -1.0, -1.0); glVertex3f(-1.0, 1.0, -1.0); glEnd; glColor4f(0.0,0.0,1.0,0.75); glBegin(GL_POLYGON); glNormal3f(-1.0, 0.0, 0.0); glVertex3f(-1.0, 1.0, 1.0); glVertex3f(-1.0, 1.0, -1.0); glVertex3f(-1.0, -1.0, -1.0); glVertex3f(-1.0, -1.0, 1.0); glEnd; glColor4f(0.0,1.0,1.0,0.75); glBegin(GL_POLYGON); glNormal3f(1.0, 0.0, 0.0); glVertex3f(1.0, 1.0, 1.0); glVertex3f(1.0, -1.0, 1.0); glVertex3f(1.0, -1.0, -1.0); glVertex3f(1.0, 1.0, -1.0); glEnd; glColor4f(1.0,1.0,0.0,0.75); glBegin(GL_POLYGON); glNormal3f(0.0, 1.0, 0.0); glVertex3f(-1.0, 1.0, -1.0); glVertex3f(-1.0, 1.0, 1.0); glVertex3f(1.0, 1.0, 1.0); glVertex3f(1.0, 1.0, -1.0); glEnd; glColor4f(1.0,1.0,1.0,0.75); glBegin(GL_POLYGON); glNormal3f(0.0, -1.0, 0.0); glVertex3f(-1.0, -1.0, -1.0); glVertex3f(1.0, -1.0, -1.0); glVertex3f(1.0, -1.0, 1.0); glVertex3f(-1.0, -1.0, 1.0); glEnd; glPopMatrix; glEnable(GL_BLEND); end; { now draw an alpha quad to effectively "clear" the screen but still leaving something showing } glLoadIdentity; glColor4f(0.6,0.6,0.6,0.99); glTranslatef(0.0,0.0,-1.0); glBegin(GL_QUADS); glVertex2f(1.0,1.0); glVertex2f(1.0,-1.0); glVertex2f(-1.0,-1.0); glVertex2f(-1.0,1.0); glEnd; glClear(GL_DEPTH_BUFFER_BIT); glLoadIdentity; glTranslatef(-1.0,1.0,-1.0); glScalef(0.04,0.04,0.04); glfConsoleDraw; except // ignore exceptions - the delphi IDE seems to screw up on my system :( end; end; procedure TMainForm.Exit1Click(Sender: TObject); begin Close; end; procedure TMainForm.FormKeyPress(Sender: TObject; var Key: Char); begin consoleProcessKey(Key); end; procedure TMainForm.consoleProcessKey(Key: Char); begin // add this key to the console, unless it is a backspace key if Key = #8 {backspace} then begin glfConsoleBackspace(1); consoleCommandBuffer := Copy(consoleCommandbuffer,0,Length(consoleCommandBuffer)-1); end else if Key = #13 then begin // if user hit enter, process command and move onto new line to // display the result glfPrintString(key); consoleProcessCommand(consoleCommandBuffer); glfPrintString('> '); consoleCommandBuffer := ''; end else begin glfPrintString(key); consoleCommandBuffer := consoleCommandBuffer + key; end; end; procedure TMainForm.consoleInit; begin consoleCommandBuffer := ''; glfSetConsoleParam( 45, 24); // this clears the console for 640x480 glfPrintString('Console Demo app v1.0'#13); glfPrintString('by Michael Hearn'#13); glfPrintString('> '); end; procedure TMainForm.consoleProcessCommand(cmd: string); begin if (LowerCase(cmd) = 'help') or (cmd = '?') then begin glfPrintString('This is the console demo application :)'#13); glfPrintString('Commands available:'#13); glfPrintString(' - help/?: displays this text'#13); glfPrintString(' - cube on/off: changes the background cube'#13); glfPrintString(' - exit: quits the demo'#13); end else if (LowerCase(cmd) = 'cube on') then begin CubeEnabled := true; glfPrintString('Cube ON'#13); end else if (LowerCase(cmd) = 'cube off') then begin CubeEnabled := false; glfPrintString('Cube OFF'#13); end else if (LowerCase(cmd) = 'exit') then begin Close; end; end; end. |