C6b Main programmn    !    ;9 €D-vmaxnwallsc12301lfirstwall a1ic0vlastnextwallvnwallslnextwall a1ic1lnextwall evmaxncornersc8202vmaxncellsc2105vmaxnrulesc103vmaxrulenpartsc8vdoundrawvdontundrawvdodragvdontdragvdocoloritvdontcoloritvundrawvrc5vgvbvmaxcellcornersvncornersc1.1tc4ldrawit a1undrawldrawit a2coloritldrawit vbgldrawit vfgldrawit vwallc-1c-2c2vncellsvprevncornerslpaintcells vcelllpaintcells vwalllpaintcells vcornerlpaintcells vilpaintcells vsavefglpaintcells tlpaintcells elpaintcells ecMAXNUMc32lpaintcells tlinitnsidescolor ec3c6c7lplotwall a3walllplotwall vc1lplotwall vc2lplotwall elplotwall elgetbounds a2nlgetbounds vilgetbounds elgetbounds elgetbounds tlgetbounds eladjustbounds a2bignessladjustbounds vcenterxladjustbounds vcenteryladjustbounds vwladjustbounds vhladjustbounds eladjustbounds eladjustbounds tladjustbounds tlprintbounds elsetbounds elsetbounds elsetbounds elsetbounds elsetrgb a1rlsetrgb a2glsetrgb a3bc255c36lsetrgb tlsetrgb tlrgbcolor i1rlrgbcolor i2glrgbcolor i3blrgbcolor o4rgbcolorlrgbcolor tlrgbcolor tlcopytoprev vilcopytoprev vjvprevnwallsltransformwalls vwallldophysics vildophysics vnvtimestepc.25vdragconstantldophysics tc2.2ldophysics tltransformwall a1parentwallltransformwall vwallltransformwall vmateltransformwall vruleltransformwall vnltransformwall vc0ltransformwall vcnltransformwall vx0ltransformwall vy0ltransformwall vxnltransformwall vynltransformwall viltransformwall vprevwallltransformwall vcltransformwall eltransformwall eltransformwall tltransformwall tltransformwall tlmarrystart a1firststartlmarrystart votherstartlmarrystart vrighttypelmarrystart vrightdirectionlmarrystart vnextlmarrystart elmarrystart evcelllwallsettypedirection a1walllwallsettypedirection a2typelwallsettypedirection a3directionlwallsettypedirection vmatelwallsettypedirection elwallinsertwall a1walllwallinsertwall a2cornerlwallinsertwall a3wall2lwallinsertwall a4typelwallinsertwall a5directionlwallinsertwall vmate2lwallinsertwall vnextlwallinsertwall vlastlwallinsertwall elwallinsertwall elinsertstart a1prevlinsertstart a2typelinsertstart a3directionlinsertstart vstartlinsertstart elinsertstart elfirstallstart a1ilnextallstart a1ilnextallstart elnextcellstart a1walllnextcellstart a2firstlnextcellstart vmatelnextcellstart elremovestartgetnext a1startlremovestartgetnext vprevlremovestartgetnext vnextlremovestartgetnext elwallpointingback i1walllwallpointingback o2wallpointingbacklwallpointingback vnextlwallpointingback elfreehalfwall a1walllfreehalfwall vmatelfreehalfwall elfreehalfwall elfreehalfwall tlwallclearcellstarts a1firstwalllwallclearcellstarts vwalllwallclearcellstarts elclearphysics vilcalcforces vwalllcalcforces vclcalcforces tlcalcforces elcalcforces tlcalcaccel a1whethertodraglcalcaccel vclcalcaccel vxorylcalcaccel vflcalcaccel valcalcaccel vvlcalcaccel tlcalcaccel elcalcaccel tvprevtimesteplcalcaccel ec.5lwallcalcforces a1walllwallcalcforces vdxlwallcalcforces vdylwallcalcforces vlenlwallcalcforces elwallcalcforces tlwallcalcforces tlwallcalcpressure a1walllwallcalcpressure a2dxlwallcalcpressure a3dylwallcalcpressure vpressurelwallcalcpressure vpxlwallcalcpressure vpylwallcalcpressure elcellarea i1celllcellarea o2cellarealcellarea elwallcellarea i1wall1lwallcellarea o2wallcellarealwallcellarea vwalllwallcellarea varealwallcellarea vc1lwallcellarea vc2lwallcellarea vc3lwallcellarea elwallcellarea tltrianglearea i1c1ltrianglearea i2c2ltrianglearea i3c3ltrianglearea o4trianglearealtrianglearea vx21ltrianglearea vy21ltrianglearea vx31ltrianglearea vy31ltrianglearea valtrianglearea eltrianglearea eltrianglearea tltrianglearea tlcornervectoradd a2ilcornervectoradd a3dxlcornervectoradd a4dylcornervectoradd elcornervectoradd elwalldxdy a1walllwalldxdy a2dxlwalldxdy a3dylwalldxdy vc0lwalldxdy vc1lwalldxdy elwalldxdy elnewwall a1walllnewwall vmatelnewwall elnewhalfwall a1walllnewhalfwall elnewcell i1wall1lnewcell o2newcelllnewcell vwalllnewcell elnewcorner a1cornerlinitrules vrulelinitrules vpartlinitrules vnvnrulestdlinitrules elinitrules elinitseed vwalllinitseed vmatelinitseed vlabellinitseed vcornerlinitseed vtypelinitseed voutsidewalllinitseed vwall1linitseed vcelllinitseed tlinitseed elinitseed tlsetmacpallette tlsetmacpallette tlsetmacpallette tlsetmacpallette tcnCells =clpaintcells tlprintbounds a1name$c:c,c; c/cToo many walls ( >c)cToo many cells ( >cToo many corners ( >d1,2,1,0,0,2,1,1,1,3,0,1,1,0,0,3,5,1,-1,3,0,4,1,1,3,0,5,1,0,0,4,4,1,0,0,5,3,1,0,0,0,1,2,1,1,2,8,3,4,2,2,3,2,5,6,1,3,4,4,7,8,2,4,1,6,1,0,1,-.5,.5,2,.5,.5,3,.5,-.5,4,-.5,-.5,0,1,2,1,0,3,1,0,0,2,2,1,0,0,3,3,1,0,0,0,1,2,1,1,2,0,4,4,2,2,3,0,6,6,3,3,1,0,2,0,1,0,1.5,2,-2,-1,3,2,-1,0,cRule in positioncsays it's numbercToo many rules ( >cToo many parts in rulec( >cSeed wall in positioncSeed corner in position1,1:12301walltype1,1:12301walldirection1,1:12301wallisoutside1,1:12301wallmate1,1:12301wallcorner1,1:12301wallprevcorner1,1:12301wallnext1,1:12301wallcell2,1:8202,1:2cornerxy2,1:8202,1:2cornerhv2,1:8202,1:2cornerforce2,1:8202,1:2cornerprevforce2,1:8202,1:2cornerprevxy1,1:2105cellwall11,1:2105cellpressure1,1:103rulenparts2,1:103,1:8rulewalltype2,1:103,1:8rulewalldirection2,1:103,1:8rulestartside2,1:103,1:8rulestarttype2,1:103,1:8rulestartdirection2,1:2,1:2bounds2,1:2,1:2prevbounds1,1:8nsidescolorldrawit 2,a3boundsldrawit 2,a4prevboundslpaintcells 2,1:8,1:2xylplotwall 1,a1wclplotwall 2,a2cxylgetbounds 2,a1cxylgetbounds 2,a3boundsladjustbounds 2,a1boundslprintbounds 2,a2boundslsetbounds 2,a1boundslcornervectoradd 2,a1arraysn,firstwallsn,nextwallssetmacpallettesinitrulessinitseedsinitnsidescolorscopytoprevsdophysicssn2,n,n2,getboundssn2,n,adjustboundssn,n,n2,n2,drawitstransformwallssn2,setboundsspaintcellssn1,n2,n,plotwallfn,n,n,rgbcolorss,n2,printboundssn,n,n,setrgbsn,transformwallsn,firstallstartsn,marrystartsn,nextallstartsclearphysicsscalcforcessn,calcaccelsn,n,n,wallsettypedirectionsn,newcornersn,n,n,n,n,wallinsertwallsn,n,n,insertstartsn,n,nextcellstartsn,removestartgetnextsn,wallclearcellstartsfn,newcellsn,newwallsn,newhalfwallsn,freehalfwallfn,wallpointingbackfn,cellareasn,wallcalcforcessn,n,n,walldxdysn2,n,n,n,cornervectoraddsn,n,n,wallcalcpressurefn,wallcellareafn,n,n,triangleareafirstwall in Main programsn, Fnextwall in Main programsn, ) Ldrawit in Main program sn,n,n2,n2,]'$(%)% *#&&/"&+)$  &)%  && paintcells in Main programs*1,1,22--22//D-22,//-22./2 .332/)2 .)332-2222-,2-245/66645645)666456P(0/2)2))04566645645)666456P&"//initnsidescolor in Main programsQ77)77877!78)77797887:7887787plotwall in Main program sn1,n2,n,/;>><;>>>>=<><)?>?=?=)>?> getbounds in Main program sn2,n,n2,BCCB)B)CCB)BCCB))B)CCB@DA)DSBCAECEB)B)EACECB)B)CA)ECEB))B))EA)CECBadjustbounds in Main programsn2,n, )K LKLMMFI ))L )KLKMMFJ )K ))LKLMM)H L )KLKMM)GIJM!8NMN I8NN!JJ!NN8I KI)NGNK )KI)NGNK )KJ)NHNK ))KJ)NHNK!printbounds in Main programss,n2,<!OO!)OO!)OO!))OO "setbounds in Main programsn2,"P")Q")R"))SPQRSsetrgb in Main programsn,n,n,:TU V)W TYXYYUZ9ZZYZZVYZYY)Y  rgbcolor in Main programfn,n,n,5[\ ]W^[_X__\`9``_``]_`_^ #copytoprev in Main programsc + -transformwalls in Main programs#dddd2dddd28dophysics in Main programsNhghiAjjf kj jflel" ef Htransformwall in Main programsn,mnn{{pp{{qn{{{{rn{{s r{{t r){{u s{{v s){{wp{p|n{|q}x)}nyz z|x~vt~qt| z)|xwu~~~~q~u~|px|px{yzn|{x~p~{{'n{{ox~p~{x~p~|o{|x~p~||x~p~|x~p~{y|{Z)`marrystart in Main programsn,ƀƀƀƀƀ' !*$wallsettypedirection in Main programsn,n,n,9 wallinsertwall in Main program sn,n,n,n,n,"ƀ %ƀ%insertstart in Main programsn,n,n,n#firstallstart in Main programsn, nextallstart in Main programsn,ƀ̀Ȁ& nextcellstart in Main programsn,n,+ƀƀ "removestartgetnext in Main programsn,1$  wallpointingback in Main programfn,,ƀ % &freehalfwall in Main programsn,%ƀ 5#wallclearcellstarts in Main programsn,.ƀ)ƀHclearphysics in Main programs Ycalcforces in Main programs;*&# ƀ '/ecalcaccel in Main programsn,) ƀ& ΀i€Ҁ€À̀€ ЀgЀ€ŀ̀€Ѐg̀Ā€ Ѐg̀€cWgÒu#1wallcalcforces in Main programsn,[(ƀǀƀʀʐ) ʀǀƀǀȀ̐) ʀˀȀ̐*ƀ̀ƀǀ̐*ʀȀ̒ wallcalcpressure in Main programsn,n,n,R̀ƀ̀ӀӀЀ΀ЀЀπЀ̀ӀӐ) Ӏр̀Ӑ) ӀрҒcellarea in Main programfn, Ԁ֐+րՒwallcellarea in Main programfn,{׀ހ׀ހހـހـހހـހݐ,ۀ܀݀̀ڀ߀݀ـހހƀـׂڀؒtrianglearea in Main programfn,n,n,v  ΀ ) )΀  ΀ ) )΀ЀЀ΀Ѐŀcornervectoradd in Main program sn2,n,n,n,+##̀#)#)̀walldxdy in Main programsn,n,n,G  ΀ ) )΀ newwall in Main programsn,## newhalfwall in Main programsn,3  newcell in Main programfn,P***  * **Ɓ*newcorner in Main programsn,      initrules in Main programs  Ɓ́Ɓȁ  Ɓʁ  ́   Ɓ  Q/initseed in Main programsA   Ɓ w" Ɓ               x  Ɓ A Ɓ      )     Ɓ * " Ɓ Ɓ! :A setmacpallette in Main programs~t("WCX9́́{q|C