BLENDER_v222REND d1SRdGmSRanimt.0010@~}yxr DATA0HDATAH0DATAH@DATA@HDATAH@DATAH0DATA0H~DATA~H~0DATA~H@~~DATA@~H~DATA}I}DATA}IP}}@0DATAP}I}}0DATA}I|P}@DATA|I`|}DATA`|I||0DATA|I{`|~DATA{Ip{|~0DATAp{I {{~DATA {Izp{~DATAzIz {@~0DATAzI0zz@~~DATA0zIyz@~~DATAyIy0z~DATAyIy0DATAxJv0@dDB'KDDwwDATAw@DdC#]uD/dCC(BDC?z?DATAvJux0~dBD0DDATAuJrv0@~~| m=0=o?}}}~dqDBnCqDqDssDATAs=????????| m=0=o?p=A$OA??p=A B? #<CssDATArJu~@~~??Pף~dDB`I`D`DqiDATAq?qB̽̌?B@== #< #<`jFzD OBB̽̌?DATAqApqzCAzCA~~ A@FB= A DATAXpEPoq DATAPoDplpCC|?޾?~?DATA@plBnPo/DATAn@kplDdCC`DDC(BDC?z?DATAkCin@0A{AA% ˆ% B~ A@CC #<@DATAi=k??? ???? A???PA A!O?j?}GCHB? A B?=C@h@hSRdmGFSRfaceselect0pgf`bPa0K DATA0pHiDATAiH@i0pDATA@iHhiDATAhHh@iDATAhHPhhDATAPhHhhDATAhHgPhDATAgH`ghDATA`gHggDATAgH`gDATAfIpf@iiDATApfI ffh0pDATA fIepfh0pDATAeIe fPhhDATAeI0eePhhDATA0eIdehiDATAdId0eg@iDATAdI@ddghDATA@dIcd`ghDATAcIc@d`gPhDATAcIPccghDATAPcIccggDATAcIbPcg`gDATAbI`bcgPhDATA`bIbhhDATAPaJO0phPhhdDB'KDD``DATA`@DdC#]uD/dCC(BDC?z?DATAOJNPahi@igdBD0DDATANJ0KOhhg`g| m=Si=o?ydqDBnCqDqD@L@LDATA@L=????????| m=Si=o?p=AA??p=A B? #<CDATA0KJN`gggPh??Pף "mdDBK;IpJ ADATApJI ?zDzDBC"zDzD= A FDATAI|HpJ zCCHBC?CFC= ADATAHDHICC|?޾?~?DATAHAGHzCAzCA~~ A@FB= A DATAXGEDH DATA@DBFG/DATAF@CDDdCC`DDC(BDC?z?DATACCBF@0A{AA% ˆ% B~ A@CC #<@DATAB? ACB̽̌?B@== #< #<`jFzD OBB̽̌?DATA A=B??? ???? A???PA A!O?j?}GCHB? A B?=C@h@hSRdFG>mSRpleinecran0`^^[Z9 DATA0`H@DATA@H@0`DATA@H0@@DATA0@H_@DATA_H_0@DATA_H0__DATA0_H^_DATA^H0_DATA^I@^@@DATA@^I]^0@0`DATA]I]@^@_DATA]IP]]@_DATAP]I]]__DATA]I\P]0_0`DATA\I`\]0__DATA`\I\\^_DATA\I[`\0@^DATA[I\^0_DATAZJT0`0_^0@?C]@PףdDB'KDDYRDATAY@ XDdCwԸGmDEt gCC(BDC?z?  eDATA X=0WY>|BHa:=qG<X?=|?J >Q(??Bj?=>Aa:=|?|qG^98@?Pd9#$?|?|?8؋0B>sGqG@Q=@!J 1e @BB,3iK.=s=\2*5^DCeõGy dCGBd ?3ghx>r ?A B? #<C(@P@:'nEDATA0W?`V XB̽̌?B@ #< #<`jF@F OBB̽̌?DATA`VCU0Wj@(\AF)u?j B A@CC #<@DATAUDR`VCC@ @N@??DATA@RBU SAVE FILEE:\ZI^P\3DGRX\blender\reserve_python\southpark_lipsync\cartman_southex00.blendDATATJ9Z_@@_?V:CPףdBD0DQ:DATAQA QzCAzCA A@FB= A DATA QD@=QCC@ @>??DATA@@=BPP Q/DATAPP@P?@=DdCDBBC(BDC?z?DATAP?CP<PP̌AzūzEA A@CC #<@DATAP<?:P?B̽̌?B@ #< #<`jF@F OBB̽̌?DATA:=P<??? ???? A??V:CPA Aj? _;}GCHB? A B?=C DATA9JT0___^=kr>>o?ydqDBnCqDqD71DATA7=6>#(>Lh?2k?2k?(>}<t|?Lh?kɾMM? ovZ??/s =T< =+T;ON:_;>ܗ9C>`Ei`;?i@(Alc?خ=ì@ ØG,FSRscript0T P  DATA0TH01DATA01H00TDATA0H001DATA0H@00DATA@0H40DATA4H3@0DATA3Hp34DATAp3H 33DATA 3Hp3xDATAH 3xDATAI0001DATA0I00TDATAI0@00TDATAI@04DATA@I@04DATAI@013DATAIP0p3DATAPIp33DATAIP@0 3DATAI` 34DATA`I3DATAI`p3DATAIp 3DATApI p34DATA Ip@03DATAJ00T@040BB==dDB'KDD@@PDATA@@DdC#]uD/dCC(BDC?z?pDATA0J 3010p3;;88dBD0D0 DATA JP0@03 35522~>E>o?uuu vdqDBnCqDqD``PPDATA`=o5?/?3U6?)l?]>?p5/?t)W*l?Z?6?\>?O4P>ܟt.> I/)6>.4?HI6,Y0@O*!{=d#@ußpõ:,?'>WXu =@ B? #<CDATAPJ  3p34--++??Pף{{{  IdB`GP G*DATAXE "=qDATAA0zCAzCA~~ A@FB= A DATA0D`CC|?޾?~?DATA`@0DdCC`DDC(BDC?z?DATAC0/`@0A{AA% ˆ% B~ A@CC #<@DATA0/?p-B̽̌?B@== #< #<`jFzD OBB̽̌?DATAp-=*0/??? ???? A???PA A!O?j?}GCHB? A B?=C@h@hDATA@*Bp-SAVE FILEFILED:\jmsoler\util\blenderfile\matrix2euler.blendSSRd,G>SRsequenceur@'p' "!H DATA@H,DATA,H0,@DATA0,H@*,DATA@*H)0,DATA)H)@*DATA)HP))DATAP)H))DATA)H(P)DATA(H`()DATA`(H((DATA(H'`(pDATA'H(pDATAp'I '0,,DATA 'I&p'@@*DATA&I& '@)DATA&I0&&)@*DATA0&I%&))DATA%I%0&P),DATA%I@%%)0,DATA@%I$%)P)DATA$I$@%()DATA$IP$$(P)DATAP$I$$`()DATA$I#P$`()DATA#I`#$`((DATA`#I##((DATA#I"`#(`(DATA"Ip"#'P)DATAp"I ""')DATA "Ip"'(DATA!J0@))@*CdDB'KDD@ @ DATA@ @DdC#]uD/dCC(BDC?z?DATA0J !P),0,)dBD0DDATA J_0)(`()8=i>o?dDBK D`BDATA`AzCAzCA A@FB= A DATA=B`????????8=i>o?fffAD&@??fffA B? #<CDATA@BBSAVE FILE/pics/blender/rt1.blendkDATA_JH (')`(8=H>o?ooodDBK DJZDATAJA\zCAzCA1||1 A@FB= A DATA\=ZJ????????8=H>o?fffA*@??fffA B? #<C>>DATA@ZB\SAVE FILE/pics/blender/rt1.blendkDATAHJ_(P)'(8=>o?iiijdDB`I`D`D\DATA\?GB̽̌?B̽̌?)) #< #<`jFzD SQB̽̌?DATAG=\????????8=>o?fffA@??fffA B? #<CzzDATA@BGSAVE FILE/pics/blender/rt1.blendkSC ;SC1p`ddd??<d@??_@??///render///#DATAp9`@DATA`9p`DATA9` @DATA9 kOB6@OBCamera F0p>0, <???????.;?.;>0, <?????Dd?? #=?>=@???DATA0OB@6`OBLamp Y4@, !@???????.;?.;Y4@, !@?????DOBd?? #=?>=@???OB`6@@OBPlanep&P?w{,N???ż6'@j\???[z7)(!Do$?0<h>+>P]&P?w{,N?????Dd?? #=?>=?@???OB@6`OBPlane.001Ыn?(νhS????xG@ ?"??Yz8)(!Do$?0<h>+>P]n?(νhS??????Dd?? #=?>=?@???MEp2ЫMEPlaneE0@4(??'7DATAP/???Eu4?>u4DATA 0*MEЫ2pMEPlane.001EP@4(??'7DATAPP/???Eu4?>u4DATA *CAlpCACamera2=B? A B?LALALamp????A4B>??? B4B?@@TXdкTXmatrix2euler.py E0000DATA,D:\jmsoler\util\blenderfile\matrix2euler.pyDATA0Й*DATA0p.(DATA@ ins\DATA@ИX\blDATA@DATAP * DATAPDATAPDATA`P BDATA`DATA`bDATApDATAp 0DATA Уp0.0005): DATA, print math.fabs(Ang_y) DATA,P trx=mat[10]/C/m.SizeZ DATA, tr_y=mat[6]/C/m.SizeY DATA0 Ang_x=math.atan2(tr_y,trx) DATAPDATA, trx=mat[0]/C/m.SizeX DATA, tr_y=mat[1]/C/m.SizeX DATA00 Ang_z=math.atan2(tr_y,trx) DATADATA else: DATA @ Ang_x=0.0 DATA( trx=mat[5]/m.SizeY DATA, tr_y=-mat[4]/m.SizeY EEDATA0  Ang_z=math.atan2(tr_y,trx) DATA, return Ang_x,Ang_y,Ang_z DATA DATA@DATAm=Object.Get('Plane')DATAm1=Object.Get('Plane.001')DATAPx,y,z=matrix2euler(m)|ADATA$print x*180/pi,y*180/pi,z*180/piDATAm1.rot=[x,y,z]DATA pRedraw()REETXdкTXpovanim_beta04.py p DATA0pD:\jmsoler\util\blenderfile\povanim_beta04.pyDATA йFREEDATAй ` DATA0йDATA0FREEDATA0pDATA@ DATA@ЂDATA@DATAP@LEDATAP DATAPDATA`pDATA` DATA`DATApp3DATAp ПDATA дp0rfilDATAд tmp|DATA0д@DATA0DATA0@DATA@P/P?DATA@DATA@)ADATAPp DATAP DATAPМDATA``3DATA`DATA`ADATApADATApDATAppDATA0FDATA0DATA0P%\DATA@%DATA@% DATA@@DATAPDATAPpCDATAP DATA`CDATA`PDATA`ЕCDATApBDATAp KDATA p/DATA P/DATA00DATA0/BDATA0 /DATA@0DATA@P/DATA@/rDATAP.BDATAP@DATAP"FREEDATA``.DATA` DATA`~4CDATAp~QDATAp }!DATA p@},DATA |%DATA0@pDATA0p|3 DATA0{NDATA@{' DATA@0{*DATA@z*~DATAPpz/DATAP z DATAPy+DATA``y/DATA`y/DATA`x1DATApPxFREEDATAp w/DATA pw/DATA w1@DATA0vDATA0v DATA0 v l\blDATA0u didaDATA0uDATA0 u/DATA@t/DATA@Pt0DATA@tDATAPs0pDATAP0s1DATAPr0DATA`prDATA` rDATA`qDATApqDATAp @qDATA ppDATA oDATA0o(DATA0 o-DATA0n-DATA@`n-DATA@ nDATA@m"DATAPpmDATAPm,DATAPl,DATA`plDATA`0l DATA`k5DATApPk1DATAp j DATA pjDATA @j2DATA0jDATA0iDATA0piDATA@ iDATA@h;DATA@Ph#DATAPg#DATAPg?DATAP g&DATA`f#DATA`Pf6DATA`fDATApe DATAp `e7DATA peDATA dDATA0Pd;DATA0Pc"DATAP0cDATAP0c:DATA`bDATA`b"DATA`0bDATApa;DATAp aDATA p0aDATA `DATA0`DATA0P`$DATA0_aDATA@@_ DATA@^]DATA@p^ DATAP]]DATAP]DATAP]dDATA`\DATA` \hDATA`[DATAp[DATAp @[%DATA pZ3DATA `Z3DATA0 ZDATA0AYDATAAY0pY$DATAY[A0YDATA[`YXDATA`0`[pX5DATA0`F` XDATAF`F0`WDATA`FFFpW!DATAFE`FW DATAEpEFV1DATApE EE@V"DATA EDpEUDATADP EUDATAPD`UDATAP UDATA`T DATA`T!DATA` T DATApS1DATAp0@S0DATA0ЏpR"DATAЏ0R)DATA0ЏR0DATA0Q/DATA0`QDATA@Q DATA@P DATA@0P8DATAPO DATAPO&DATAP@O DATA`NDATA`NDATA`PNDATApN DATAp MDATA ЊppMDATAЊ MDATA0ЊL DATA0L!DATA0 L!DATA@K!DATA@K DATA@0KDATAPJDATAPJ DATAP@J+DATA`J DATA`I DATA`pIDATApI/DATAp HDATA ЅppHDATAЅ HDATA0ЅGDATA0GDATA0PGDATAimport Blender?DATA `import mathDATAfrom math import *DATAfrom Blender import * DATApfrom Blender.Draw import *DATA from Blender.BGL import *DATAЂimport compTrueAnim2povDATA from compTrueAnim2pov import *DATA@ DATA probleme=0CDATAautoselect=Create(0)DATApmesh=Create('')DATA nomdexport=Create('')DATADATA4p# Decision range for equating small numbers to zeroDATAПTOLERANCE = 0.0000001DGDATA03DGDATAdef length3(x,y,z):DATA@ """DATA length3DATADATA0P Return the length of a 3D vector.DATA """DATA, return math.sqrt(x*x+y*y+z*z)DATA p DATA def blenderize(mat0):DATAМ """DATA4` ObjectTransformation.blenderizeDATA DATAD Return the values of LocX, ..., SizeZ thatDATAD correspond to the matrix self.mat borroxw DATA """DATAp =dDATAH from math import cos, sin, acos, asin, atan2, atanDATADATA(P LocX = mat0[3][0]DATA( LocY = mat0[3][1]dDATA( LocZ = mat0[3][2]DATA@ DATA SizeX \DATADp = length3(mat0[0][0],mat0[0][1],mat0[0][2])DATA  SizeY \DATAD = length3(mat0[1][0],mat0[1][1],mat0[1][2])DATAP SizeZ \DATADЕ = length3(mat0[2][0],mat0[2][1],mat0[2][2])DATADATAL # To do: need to handle the cases where Size's are <= 0DATA0 mat = [[mat0[0][0]/SizeX, \DATA0P mat0[0][1]/SizeX, \DATA4 mat0[0][2]/SizeX], \REEDATA0 [mat0[1][0]/SizeY, \DATA0  mat0[1][1]/SizeY, \DATA4 mat0[1][2]/SizeY], \DATA0P [mat0[2][0]/SizeZ, \DATA0 mat0[2][1]/SizeZ, \DATA0 mat0[2][2]/SizeZ]]DATA@ DATA$ sy = mat[0][2]DATA0` # for numerical stability:DATA$ if sy > 1.0: DATA8~ if sy > 1.0 + TOLERANCE:DATAT~ raise RuntimeError, "FATAL: bad matrix given"DATA$} else:DATA0@} sy = 1.0DATA(| phi_y = -asin(sy)DATA@p DATA4p| if abs(sy) > (1.0 - TOLERANCE):DATAP{ # phi_x can be arbitrarely chosen, we set it = 0.0DATA({ phi_x = 0.0DATA,0{ sz = mat[1][0]DATA,z cz = mat[2][0]EDATA0pz phi_z = atan(sz/cz)DATA z else:DATA,y cy = cos(phi_y)DATA0`y cz = mat[0][0] / cyDATA0y sz = mat[0][1] / cyDATA4x phi_z = atan2(sz, cz)DATAPxDATA0w sx = mat[1][2] / cyDATA0w cx = mat[2][2] / cyDATA4 w phi_x = atan2(sx, cx)DATAvDATA$v RotX = phi_x~DATA$ v RotY = phi_yI^PDATA$u RotZ = phi_z\blDATAuDATA0 u return (LocX, LocY, LocZ, \DATA0t RotX, RotY, RotZ, \DATA4Pt SizeX, SizeY, SizeZ)ADATAtDATA4s#----------------------------------------------- DATA40s# redefinition de certaines commandes graphiques DATA4r#-----------------------------------------------DDATAprglCurseur=glRasterPos2dDATA rglCouleur=glColor3fDATAqglRectangle=glRectfDATAqDATA@qnoir=[0.0,0.0,0.0]DATApfond=[0.80,0.85,0.85,0.0]DATAofondc=fond[:3]DATA,orct= [[[0.0,0.0,0.0,0.0],[0.0,0.0,0.0]],DATA0 o [[1.0,200.0,330.0,130.0],[0.8,0.90,0.0]],DATA0n [[1.0,128.0,330.0,1.0],[0.75,0.85,0.75]],DATA0`n [[1.0,170.0,330.0,130.0],[1.0,0.40,0.40]]DATA n ]DATA$mdef trace_rectangle(rh,rv,dr,r,c):DATA pm glCouleur(c[0],c[1],c[2])DATA0m glRectangle(rh*r[0]+dr[0],rv*r[1]+dr[1],DATA0l rh*r[2]+dr[0],rv*r[3]+dr[1])DATAplDATA 0ldef draw():DATA8k global frame, mesh,nomdexport,probleme,autoselectDATA4Pk glClearColor(fond[0],fond[1],fond[2],fond[3])DATA$j glClear(GL_COLOR_BUFFER_BIT)DATAjDATA4@j trace_rectangle(1,1,[0,0],rct[2][0],rct[2][1])DATAjDATAi DATApi if probleme>0:DATA i if probleme==1:DATA<h trace_rectangle(1,1,[0,0],rct[1][0],rct[3][1])DATA$Ph glCouleur(0.0,0.0,0.0)DATA$g glRasterPos2i(20, 180)DATA@g Text("Animodelage Exporteur, jm soler 2001/2002")DATA( g glCouleur(0.40,0.40,0.40)DATA$f glRasterPos2i(20, 160)DATA8Pf Text("Problem: not an object with mesh.")DATAfDATA e else:DATA8`e trace_rectangle(1,1,[0,0],rct[1][0],rct[1][1])DATA e glCouleur(0.0,0.0,0.0)DATA d glRasterPos2i(20, 180)DATA<Pd Text("Animodelage Exporteur, jm soler 2001/2002")DATA$c glCouleur(0.40,0.40,0.40)DATA c glRasterPos2i(20, 160)DATA<0c Text("Real object name, and the NEW export name")DATA b glRasterPos2i(20, 147)DATA$b Text("have to be given.")DATA 0b glRasterPos2i(20, 135)DATA<a Text("Active object name is written by default, ")DATAaDATA 0a name=Object.GetSelected()DATA`DATA ` try:DATA(P` if name!=[] and autoselect.val:DATAd_ mesh=String("Object name: ", 3, 20, 100, 300, 19,name[0].name,72,'name of selected mesh')DATA @_ else:DATA`^ mesh=String("Object name: ", 3, 20, 100, 300, 19,mesh.val,72,'name of selected mesh')DATA p^ except:DATA`] mesh=String("Object name: ", 3, 20, 100, 300, 19,mesh.val,72,'name of selected mesh')DATA]DATAh] nomdexport=String("Export name: ", 3, 20, 80, 300, 19,nomdexport.val,72,'name of exported mesh')DATA\ DATAl \ autoselect=Toggle("Get selected object",5, 20, 60, 300, 20, autoselect.val,"Getselcted object name")DATA[ DATA[DATA(@[ Button("Exit", 1, 20, 10, 80, 19)DATA4Z Button("Export to Blender", 2, 20, 30, 120, 19)DATA4`Z Button("Export to Povray", 4, 140, 30, 120, 19)DATA ZDATAYdef event(evt, val): DATA(pY if (evt== QKEY and not val): Exit()DATA0YDATAXdef bevent(evt):DATA8pX global frame, mesh, nomdexport,probleme,autoselectDATA X if (evt== 1): Exit()DATAW elif (evt== 5):DATA$pW name=Object.GetSelected()DATA$W if (name[0].data!=None):DATA4V if type(name[0].data)==Types.NMeshType:DATA$@V mesh.val=name[0].nameDATAU Redraw()DATAU DATA`U elif (evt== 2):DATA U DATA T #try:DATA$T name=Object.GetSelected()DATA$ T if (name[0].data!=None):DATA4S if type(name[0].data)==Types.NMeshType:DATA4@S Nm= NMesh.GetRaw(name[0].data.name)DATA$R if autoselect.val==1:DATA,R mesh.val=name[0].nameDATA4R me=NMesh.GetRawFromObject(mesh.val)DATA0Q NMesh.PutRaw(me,nomdexport.val,1) DATA`Q probleme=0DATA$Q LocX, LocY, LocZ, \DATA$P RotX, RotY, RotZ, \DATA<0P SizeX, SizeY, SizeZ=blenderize(name[0].mat)DATA O DATA(O Nme=Object.GetSelected() DATA @O DATA N Nme[0].loc[0]=LocXDATA N Nme[0].loc[1]=LocYDATA PN Nme[0].loc[2]=LocZDATA N DATA M Nme[0].rot[0]=RotXDATA pM Nme[0].rot[1]=RotYDATA M Nme[0].rot[2]=RotZDATA L DATA$L Nme[0].size[0]=SizeXDATA$ L Nme[0].size[1]=SizeYDATA$K Nme[0].size[2]=SizeZDATA K DATA 0K Blender.Redraw()DATA J Window.RedrawAll()DATAJ else:DATA,@J raise runtimError,"not a mesh"DATA J """DATAI except:DATApI probleme=1DATA0I #me=NMesh.GetRawFromObject(mesh.val)DATAH #print type(me)DATA pH Window.RedrawAll() DATA H """ DATAGDATA GRegister(draw, event, bevent)DATAPGAC@FpFACActionAC@pFFACAction.001GLOB K>DNA1BiSDNANAME*next*prev*first*lastxyzwxminxmaxyminymax*newid*libname[24]usflagpadid*idblock*filedataname[160]totcurvecurblocktypeshowkeypostotelemtypert*data*refkeyelemstr[32]elemsizecurvalblock*ipo*fromtotkeyslurphactkey**scripts*flagactscripttotscript*linelenblen*nameflagsnlineslines*curl*sellcurcselc*undo_bufundo_posundo_len*compiledsizeseekdrawzoomholdclipstaclipendnetstanetendlensdrawsizehololenhololen1scriptlink*anim*ibuf*mipmap[10]oklastframelastqualitytpageflagtotbindxrepyreptwstatwendbindcode*repbind*packedfiletexcomaptomaptonegblendtype*object*texprojxprojyprojzmappingofs[3]size[3]texflagcolormodelrgbkdef_varcolfacnorfacvarfac*handle*pname*stnamesstypesvars*varstr*result*cfradata[32](*doit)()(*callback)()versionaipotypedata[16]*ima*cube[6]imat[4][4]stypenotlaycuberesnoisesizeturbulbrightcontrastrfacgfacbfacfiltersizenoisedepthnoisetypeimaflagcropxmincropymincropxmaxcropymaxxrepeatyrepeatextendframesoffsetsfrafie_ima*nor*plugin*coba*envfradur[4][2]modetotexenergydistspotsizespotblendhaintatt1att2bufsizesampshadspotsizebiassofttexactshadhalostep*mtex[8]layspecrspecgspecbmirrmirgmirbambrambbambgambemitangspectraalpharefspeczoffsaddkfacharseed1seed2mode2flarecstarclinecringchasizeflaresizesubsizeflareboostrgbselpr_typeseptexpr_backpr_lamppad1*renfrictionfhreflectfhdistxyfrictdynamodename[255]namenullscaleselcolexpxexpyexpzradrad2smaxrad2*mat*imat*bbelemsdisp**mattotcolloc[3]rot[3]wiresizerendersizethreshvec[3][3]alfas[3][2]h1h2f1f2f3hidevec[4]s[2]mat_nrpntsupntsvresoluresolvorderuordervflaguflagv*knotsu*knotsv*bp*beztnurb*bevobj*textoncurve*path*keybev*orcopathlenbevresolwidthext1ext2spacemodespacinglinedistshearfsizexofyof*strfamily[24]*vfontmaxrcttotrctadrcodevartypetotvertipoextrapbitmaskv1v2v3v4punoedcodeuv[4][2]col[4]no[3]transptile*tpage*clutdef_nrweight*dwtotweightreserved1co[3]co[2]effect*mface*dface*tface*mvert*dvert*mcol*msticky*texcomesh*oc*sumohandletotfacesmoothreshsubdivcubemapsizertfpntswtypeutypevtypew*defmax**obname[32]partypepar1par2par3parsubstr[32]*parent*track*action*posenetworkdefbase*lifedloc[3]orig[3]dsize[3]drot[3]quat[4]dquat[4]obmat[4][4]parentinv[4][4]colbitstransflagipoflagtrackflagupflagipowinscaflagscavisflagboundtypedupondupoffdupstadupendsfctimemassdampinginertiaformfactordummy_1rdampingsizefacdtdtxactcolpropsensorscontrollersactuatorslbufportbbsize[3]dfrasactdefgameflaggameflag2anisotropicFriction[3]constraintsmistypehorrhorghorbhorkzenrzengzenbzenkambkfastcolexposuregravityactivityBoxRadiusskytypemisimiststamistdistmisthistarrstargstarbstarkstarsizestarmindiststardiststarcolnoisedofstadofenddofmindofmaxhemiresmaxiterdrawtypesubshootpsubshootenodelimmaxsublamppamapamielmaelmimaxnodeconvergenceradfacgammasxsycfraefraimagesframaptoframelenblurfacedgeRedgeGedgeBfullscreenxplayyplayfreqplaymaximsizexschyschxaspyaspxpartsypartssafetyborderwinposplanesimtypebufflagqualityscemodealphamodedogammaosafrs_secedgeintpostmulpostgammapostaddpostigammabackbuf[160]pic[160]ftype[160]movie[160]*camera*world*setbase*basact*groupcursor[3]*fcam*ed*radiozoomblendximyim*rectspacetypeviewmat[4][4]viewinv[4][4]persmat[4][4]persinv[4][4]viewquat[4]perspviewlocalviewlayactscenelockaroundcamzoomgridnearfarmxmymxomyopr_xminpr_xmaxpr_yminpr_ymaxpr_sizexpr_sizeygridlinesviewbutpr_facxpr_facy*bgpic*localvdverthormaskmin[2]max[2]minzoommaxzoomscrollkeeptotkeepaspectkeepzoomrowbutv2d*editipoipokeytotipopinbutofschannelmenunrlockcursenscuractmainbmainbo*lockpointexnrtexfromshowgrouprectxrectycurymodeltypescriptblockpad2*filelisttotfiletitle[24]dir[160]file[80]ofssortmaxnamelencollums*libfiledataretvalmenuact(*returnfunc)()*menupoopsvisiflag*imageimanrcurtileleft*texttopviewlinesfont_idlheightpix_per_linetxtscrolltxtbar*py_draw*py_event*py_buttondupflagsavetimetempdir[64]fontdir[64]renderdir[64]textudir[64]plugtexdir[64]plugseqdir[64]pythondir[64]sounddir[64]versionsgameflagsvertbaseedgebaseareabase*scenestartxendxstartyendysizexsizeyscenenrscreennrfullmainwinwinakt*newvvec*v1*v2*v3*v4*full*headqueue*hq*winqueue*wqwinmat[4][4]headrctwinrctheadwinwinheadertypebutspacetypewinxwinyhead_swaphead_equalwin_swapwin_equalheadbutlenheadbutofscursor(*headchange)()(*winchange)()(*headdraw)(void)(*windraw)(void)(*headqread)()(*winqread)()spacedatauiblocks*curscreendisplaymodefileflagsname[40]*se1*se2*se3nrdone*stripdatadir[80]orxoryname[80]*newseqstartstartofsendofsstartstillendstillmachinedepthstartdispenddispmulhandsize*strip*curelemfacf0facf1*seq1*seq2*seq3seqbase*seqbasepmetastackbuttypestaendlifetimetotpartseednormfacobfacrandfactexfacrandlifeforce[3]dampnablavectsizedefvec[3]mult[4]life[4]child[4]mat[4]texmapcurmultstaticstep*keysheightnarrowspeedminfactimeoffs*obpremat[4][4]postmat[4][4]vec[3]faclenoalphaoeff[2]iterlastfralimbbaseeff[3]effg[3]effn[3]memslowtotytotxxyconstrainttotdefdef_scrolllimb_scrolldxdy*idlinkfasesubfasemouse_move_redrawimafasedirslidirsli_linesdirsli_sxdirsli_eydirsli_exdirsli_himaslifileselmenuitemimasli_sximasli_eyimasli_eximasli_hdssxdssydsexdseydesxdesydeexdeeyfssxfssyfsexfseydsdhfsdhfesxfesyfeexfeeyinfsxinfsyinfexinfeydnsxdnsydnwdnhfnsxfnsyfnwfnhfole[128]dor[128]file[128]dir[128]*firstdir*firstfiletopdirtotaldirshilitetopfiletotalfilesimage_sliderslider_heightslider_spacetopimatotalimacurimaxcurimay*first_sel_ima*hilite_imatotal_selectedima_redraw*cmapotypedataold*poin*oldpoinresetdistlastval*makeyqualqual2targetName[32]toggleName[32]value[32]maxvalue[32]materialName[32]damptimeranglerangeaxisdelaypropname[32]matname[32]axisflag*fromObjectsubject[32]body[32]pulsefreqtotlinks**linksinvertfreq2str[128]*mynewinputstotslinkspad3**slinksvalvalopad5time*actblendinprioritystridelengthstrideaxisreserved2reserved3sndnr*soundmakecopycopymadepad[1]*melinVelocity[3]localflagforceloc[3]forcerot[3]linearvelocity[3]angularvelocity[3]addedlinearvelocity[3]anotherpad[4]butstabutendminvisifacminloc[3]maxloc[3]minrot[3]maxrot[3]distributionint_arg_1int_arg_2float_arg_1float_arg_2toPropName[32]*toObjectbodyTypegoaccellerationmaxspeedmaxrotspeedmaxtiltspeedrotdamptiltdampspeeddamptotportactport*portals*campos*camframe*dynamesh*texmeshtotcamtotfra*sectoroldloc[3]speed[3]oldloc1[3]loc1[3]speed1[3]startloc[3]startrot[3]rotspeed[3]oldimat[4][4]frictrotfrictaxsizefrictfacaeropadf*sensors*contact*collision*floor*oldmeshtotsensactsenstimerdflagstate[4]colloc[3]floorloc[3]links*sample*snd_soundvolumepanningattenuationpitchmin_gainmax_gaindistancechannelspad[7]gaindopplerfactordopplervelocitynumsoundsblendernumsoundsgameengine*gkeyokeygobjectgkey*activechildbaserollhead[3]tail[3]parmat[4][4]defmat[4][4]irestmat[4][4]posemat[4][4]bonebasechainbaseres1res2res3chanbase*achan*pchanactnrenforceoffset[3]orient[3]roll[3]*tartoleranceiterationssubtarget[32]zminzmaxTYPEcharucharshortushortintlongulongfloatdoublevoidLinkListBasevec2svec2ivec2fvec2dvec3ivec3fvec3dvec4ivec4fvec4drctirctfIDLibraryIpoKeyBlockKeyScriptLinkTextLineTextPackedFileCameraImageanimImBufMTexObjectTexPluginTexCBDataColorBandEnvMapLampWaveMaterialVFontVFontDataMetaElemMetaBallBoundBoxBezTripleBPointNurbCurvePathIpoCurveMFaceMFaceIntTFaceMDeformWeightBoneMDeformVertMVertMColMStickyMeshOcInfoLatticeLBufbDeformGroupbActionbPoseLifeWorldRadioBaseRenderDataSceneGroupFreeCameraBGpicView3DView2DSpaceIpoSpaceButsSpaceSeqSpaceFiledirentrySpaceOopsSpaceImageSpaceTextUserDefbScreenScrVertScrEdgeScrAreaFileGlobalStripElemStripPluginSeqSequenceEditingEffectBuildEffPartEffParticleWaveEffDeformLimbIkaOopsSpaceImaSelImaDirOneSelectableImabPropertybNearSensorbMouseSensorbTouchSensorbKeyboardSensorbPropertySensorbCollisionSensorbRadarSensorbRandomSensorbRaySensorbMessageSensorbSensorbControllerbExpressionContbPythonContbActuatorbAddObjectActuatorbActionActuatorbSoundActuatorbSoundbEditObjectActuatorbSceneActuatorbPropertyActuatorbObjectActuatorbIpoActuatorbCameraActuatorbConstraintActuatorbGroupActuatorbRandomActuatorbMessageActuatorSectorbSamplebSoundListenerSpaceSoundGroupKeyObjectKeyGroupObjectbArmaturebPoseChannelbActionChannelSpaceActionbConstraintbKinematicConstraintbTrackToConstraintbRotateLikeConstraintbLocateLikeConstraintbFollowPathConstraintbRotationConstraintTLEN  0Ptdl PPx4@H<0P H  L ,@x(D($p@Xd @l8(,@0,HhH,(lDLP< <@Lx0848l@0pP<`,,,,STRC                     !"# $%&'()*+,-./0 123 456789:; < =>2 !?@ABCDEFGH%I"#J$K$LMNOPQRSTUVW X%YZ[\&]'^_`abcdefghijklmn( opqrs tuvwx yz)ghi{*|)}+ &]"~"ABMN'#/m%"~(*+,fghijAB%%I-%.:fghiYZ%%.I/0 X111/23 %.ed4 5666 5 4 7&3  & &%8. de/4 /!9995 4 "#$%&'(  )#:*+,-./;*+,-./< 01234 5 6=78>?=9:;@<2A{ghiB=C3 > %. ? @ A@B?CADBECFDG H&IedJKLME NOPQ5R%FS&TGGGU &NVWXYZ&[&\%83H]I^  > _ `.Jabcddefghijklmnopqrstuvwxyz{|}~I     HFF1 K+f%%ILMMM&]N/x=O&KO"~ MPQ L HNgIR "~'^=S*SSEc&     RST  !"UUU#T$ % &%&'()*+,;VVV-.T$/+(0 123456789pWWWT$/:XXXY;<=>?@ABCDE|FG HIZ ZZT$ J(K 1[[[T$"L:(MN,\\\OPQR2+STUVW X Y Z][\]^_`abcdef}^ g h iOjklmnopqrstu____v w```_x_ya&aa_x_y_z_{^|}~#        b c$KcccMd dd/ce  opsz tvw x yf fff /dc%Oj#Jefff g   hhhiii/jjj'klllkmm &VWXYn nn/oV %&[WXYmRp pp qNqq=       !"#$%r&r'()*+,-./0123s4s567$8 Ht ttU9:; < =uU>?v:wU.@xABCDEyUFGzUHI:{UJKL|UM}UKNOP~&QRS9TUV:U W&XYZP[\V9]:^U W_`abc& HdUefgh;ij klmno c&CpUqrOj&UF& stbeuvwx Uyz&{SL|}~ UyzPN&R:S [9U &Q y& F   'CCdghiJ- yghi .&&& CCCF ' X %2 T$lk,:UVWXY&[&\%bcddefghiklmnwx& P  >>>>[ U8bddfgh    dfhU;I % U;H  ,T$H](;  %9Uc&&;i&;&;&   ENDB