12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772 |
- function resetdpsubmit() {
- g9param.issubmit = false
- }
- var g9param = {
- resetId: "",
- issubmit: false
- };
- var cr = {};
- cr.plugins_ = {}, cr.behaviors = {}, "function" != typeof Object.getPrototypeOf && (Object.getPrototypeOf = "object" == typeof "test".__proto__ ? function(e) {
- return e.__proto__
- } : function(e) {
- return e.constructor.prototype
- }),
- function() {
- function e(e, t) {
- this.x = e, this.y = t, cr.seal(this)
- }
- function t(e, t, n, r) {
- this.set(e, t, n, r), cr.seal(this)
- }
- function n() {
- this.tlx = 0, this.tly = 0, this.trx = 0, this.try_ = 0, this.brx = 0, this.bry = 0, this.blx = 0, this.bly = 0, cr.seal(this)
- }
- function r(e, t, n, r) {
- t > e ? r > n ? (h = n > e ? e : n, p = t > r ? t : r) : (h = r > e ? e : r, p = t > n ? t : n) : r > n ? (h = n > t ? t : n, p = e > r ? e : r) : (h = r > t ? t : r, p = e > n ? e : n)
- }
- function i() {
- this.s = null, this.items = null, this.item_count = 0, b && (this.s = new Set), this.values_cache = [], this.cache_valid = !0, cr.seal(this)
- }
- function s(e) {
- w[E++] = e
- }
- function o() {
- this.c = 0, this.y = 0, this.t = 0, this.sum = 0, cr.seal(this)
- }
- function u(e) {
- this.pts_cache = [], this.bboxLeft = 0, this.bboxTop = 0, this.bboxRight = 0, this.bboxBottom = 0, this.convexpolys = null, this.set_pts(e), cr.seal(this)
- }
- function a(e, t) {
- this.cellwidth = e, this.cellheight = t, this.cells = {}
- }
- function f(e, t, n) {
- var r;
- return a.prototype.totalCellCount++, x.length ? (r = x.pop(), r.grid = e, r.x = t, r.y = n, r) : new cr.GridCell(e, t, n)
- }
- function l(e) {
- a.prototype.totalCellCount--, e.objects.clear(), x.length < 1e3 && x.push(e)
- }
- function c(e, t, n) {
- this.grid = e, this.x = t, this.y = n, this.objects = new cr.ObjectSet
- }
- cr.logexport = function(e) {
- window.console && window.console.log && window.console.log(e)
- }, cr.seal = function(e) {
- return e
- }, cr.freeze = function(e) {
- return e
- }, cr.is_undefined = function(e) {
- return "undefined" == typeof e
- }, cr.is_number = function(e) {
- return "number" == typeof e
- }, cr.is_string = function(e) {
- return "string" == typeof e
- }, cr.isPOT = function(e) {
- return e > 0 && 0 === (e - 1 & e)
- }, cr.nextHighestPowerOfTwo = function(e) {
- --e;
- for (var t = 1; 32 > t; t <<= 1) e |= e >> t;
- return e + 1
- }, cr.abs = function(e) {
- return 0 > e ? -e : e
- }, cr.max = function(e, t) {
- return e > t ? e : t
- }, cr.min = function(e, t) {
- return t > e ? e : t
- }, cr.PI = Math.PI, cr.round = function(e) {
- return e + .5 | 0
- }, cr.floor = function(e) {
- return e >= 0 ? 0 | e : (0 | e) - 1
- }, cr.ceil = function(e) {
- var t = 0 | e;
- return t === e ? t : t + 1
- }, e.prototype.offset = function(e, t) {
- return this.x += e, this.y += t, this
- }, e.prototype.mul = function(e, t) {
- return this.x *= e, this.y *= t, this
- }, cr.vector2 = e, cr.segments_intersect = function(e, t, n, r, i, s, o, u) {
- var a, f, l, c, h, p, d, v;
- if (n > e ? (f = e, a = n) : (f = n, a = e), o > i ? (p = i, h = o) : (p = o, h = i), p > a || f > h) return !1;
- if (r > t ? (c = t, l = r) : (c = r, l = t), u > s ? (v = s, d = u) : (v = u, d = s), v > l || c > d) return !1;
- var m = i - e + o - n,
- g = s - t + u - r,
- y = n - e,
- b = r - t,
- w = o - i,
- E = u - s,
- S = cr.abs(b * w - E * y),
- x = w * g - E * m;
- if (cr.abs(x) > S) return !1;
- var T = y * g - b * m;
- return cr.abs(T) <= S
- }, t.prototype.set = function(e, t, n, r) {
- this.left = e, this.top = t, this.right = n, this.bottom = r
- }, t.prototype.copy = function(e) {
- this.left = e.left, this.top = e.top, this.right = e.right, this.bottom = e.bottom
- }, t.prototype.width = function() {
- return this.right - this.left
- }, t.prototype.height = function() {
- return this.bottom - this.top
- }, t.prototype.offset = function(e, t) {
- return this.left += e, this.top += t, this.right += e, this.bottom += t, this
- }, t.prototype.normalize = function() {
- var e = 0;
- this.left > this.right && (e = this.left, this.left = this.right, this.right = e), this.top > this.bottom && (e = this.top, this.top = this.bottom, this.bottom = e)
- }, t.prototype.intersects_rect = function(e) {
- return !(e.right < this.left || e.bottom < this.top || e.left > this.right || e.top > this.bottom)
- }, t.prototype.intersects_rect_off = function(e, t, n) {
- return !(e.right + t < this.left || e.bottom + n < this.top || e.left + t > this.right || e.top + n > this.bottom)
- }, t.prototype.contains_pt = function(e, t) {
- return e >= this.left && e <= this.right && t >= this.top && t <= this.bottom
- }, t.prototype.equals = function(e) {
- return this.left === e.left && this.top === e.top && this.right === e.right && this.bottom === e.bottom
- }, cr.rect = t, n.prototype.set_from_rect = function(e) {
- this.tlx = e.left, this.tly = e.top, this.trx = e.right, this.try_ = e.top, this.brx = e.right, this.bry = e.bottom, this.blx = e.left, this.bly = e.bottom
- }, n.prototype.set_from_rotated_rect = function(e, t) {
- if (0 === t) this.set_from_rect(e);
- else {
- var n = Math.sin(t),
- r = Math.cos(t),
- i = e.left * n,
- s = e.top * n,
- o = e.right * n,
- u = e.bottom * n,
- a = e.left * r,
- f = e.top * r,
- l = e.right * r,
- c = e.bottom * r;
- this.tlx = a - s, this.tly = f + i, this.trx = l - s, this.try_ = f + o, this.brx = l - u, this.bry = c + o, this.blx = a - u, this.bly = c + i
- }
- }, n.prototype.offset = function(e, t) {
- return this.tlx += e, this.tly += t, this.trx += e, this.try_ += t, this.brx += e, this.bry += t, this.blx += e, this.bly += t, this
- };
- var h = 0,
- p = 0;
- n.prototype.bounding_box = function(e) {
- r(this.tlx, this.trx, this.brx, this.blx), e.left = h, e.right = p, r(this.tly, this.try_, this.bry, this.bly), e.top = h, e.bottom = p
- }, n.prototype.contains_pt = function(e, t) {
- var n = this.trx - this.tlx,
- r = this.try_ - this.tly,
- i = this.brx - this.tlx,
- s = this.bry - this.tly,
- o = e - this.tlx,
- u = t - this.tly,
- a = n * n + r * r,
- f = n * i + r * s,
- l = n * o + r * u,
- c = i * i + s * s,
- h = i * o + s * u,
- p = 1 / (a * c - f * f),
- d = (c * l - f * h) * p,
- v = (a * h - f * l) * p;
- if (d >= 0 && v > 0 && 1 > d + v) return !0;
- n = this.blx - this.tlx, r = this.bly - this.tly;
- var a = n * n + r * r,
- f = n * i + r * s,
- l = n * o + r * u;
- return p = 1 / (a * c - f * f), d = (c * l - f * h) * p, v = (a * h - f * l) * p, d >= 0 && v > 0 && 1 > d + v
- }, n.prototype.at = function(e, t) {
- if (t) switch (e) {
- case 0:
- return this.tlx;
- case 1:
- return this.trx;
- case 2:
- return this.brx;
- case 3:
- return this.blx;
- case 4:
- return this.tlx;
- default:
- return this.tlx
- } else switch (e) {
- case 0:
- return this.tly;
- case 1:
- return this.try_;
- case 2:
- return this.bry;
- case 3:
- return this.bly;
- case 4:
- return this.tly;
- default:
- return this.tly
- }
- }, n.prototype.midX = function() {
- return (this.tlx + this.trx + this.brx + this.blx) / 4
- }, n.prototype.midY = function() {
- return (this.tly + this.try_ + this.bry + this.bly) / 4
- }, n.prototype.intersects_segment = function(e, t, n, r) {
- if (this.contains_pt(e, t) || this.contains_pt(n, r)) return !0;
- var i, s, o, u, a;
- for (a = 0; 4 > a; a++)
- if (i = this.at(a, !0), s = this.at(a, !1), o = this.at(a + 1, !0), u = this.at(a + 1, !1), cr.segments_intersect(e, t, n, r, i, s, o, u)) return !0;
- return !1
- }, n.prototype.intersects_quad = function(e) {
- var t = e.midX(),
- n = e.midY();
- if (this.contains_pt(t, n)) return !0;
- if (t = this.midX(), n = this.midY(), e.contains_pt(t, n)) return !0;
- var r, i, s, o, u, a, f, l, c, h;
- for (c = 0; 4 > c; c++)
- for (h = 0; 4 > h; h++)
- if (r = this.at(c, !0), i = this.at(c, !1), s = this.at(c + 1, !0), o = this.at(c + 1, !1), u = e.at(h, !0), a = e.at(h, !1), f = e.at(h + 1, !0), l = e.at(h + 1, !1), cr.segments_intersect(r, i, s, o, u, a, f, l)) return !0;
- return !1
- }, cr.quad = n, cr.RGB = function(e, t, n) {
- return Math.max(Math.min(e, 255), 0) | Math.max(Math.min(t, 255), 0) << 8 | Math.max(Math.min(n, 255), 0) << 16
- }, cr.GetRValue = function(e) {
- return 255 & e
- }, cr.GetGValue = function(e) {
- return (65280 & e) >> 8
- }, cr.GetBValue = function(e) {
- return (16711680 & e) >> 16
- }, cr.shallowCopy = function(e, t) {
- var n;
- for (n in t) t.hasOwnProperty(n) && (e[n] = t[n]);
- return e
- }, cr.arrayRemove = function(e, t) {
- var n, r;
- if (t = cr.floor(t), !(0 > t || t >= e.length)) {
- for (n = t, r = e.length - 1; r > n; n++) e[n] = e[n + 1];
- e.length = r
- }
- }, cr.shallowAssignArray = function(e, t) {
- e.length = t.length;
- var n, r;
- for (n = 0, r = t.length; r > n; n++) e[n] = t[n]
- }, cr.appendArray = function(e, t) {
- e.push.apply(e, t)
- }, cr.fastIndexOf = function(e, t) {
- var n, r;
- for (n = 0, r = e.length; r > n; ++n)
- if (e[n] === t) return n;
- return -1
- }, cr.arrayFindRemove = function(e, t) {
- var n = cr.fastIndexOf(e, t); - 1 !== n && cr.arrayRemove(e, n)
- }, cr.clamp = function(e, t, n) {
- return t > e ? t : e > n ? n : e
- }, cr.to_radians = function(e) {
- return e / (180 / cr.PI)
- }, cr.to_degrees = function(e) {
- return e * (180 / cr.PI)
- }, cr.clamp_angle_degrees = function(e) {
- return e %= 360, 0 > e && (e += 360), e
- }, cr.clamp_angle = function(e) {
- return e %= 2 * cr.PI, 0 > e && (e += 2 * cr.PI), e
- }, cr.to_clamped_degrees = function(e) {
- return cr.clamp_angle_degrees(cr.to_degrees(e))
- }, cr.to_clamped_radians = function(e) {
- return cr.clamp_angle(cr.to_radians(e))
- }, cr.angleTo = function(e, t, n, r) {
- var i = n - e,
- s = r - t;
- return Math.atan2(s, i)
- }, cr.angleDiff = function(e, t) {
- if (e === t) return 0;
- var n = Math.sin(e),
- r = Math.cos(e),
- i = Math.sin(t),
- s = Math.cos(t),
- o = n * i + r * s;
- return o >= 1 ? 0 : -1 >= o ? cr.PI : Math.acos(o)
- }, cr.angleRotate = function(e, t, n) {
- var r = Math.sin(e),
- i = Math.cos(e),
- s = Math.sin(t),
- o = Math.cos(t);
- return cr.clamp_angle(Math.acos(r * s + i * o) > n ? i * s - r * o > 0 ? e + n : e - n : t)
- }, cr.angleClockwise = function(e, t) {
- var n = Math.sin(e),
- r = Math.cos(e),
- i = Math.sin(t),
- s = Math.cos(t);
- return 0 >= r * i - n * s
- }, cr.rotatePtAround = function(e, t, n, r, i, s) {
- if (0 === n) return s ? e : t;
- var o = Math.sin(n),
- u = Math.cos(n);
- e -= r, t -= i;
- var a = e * o,
- f = t * o,
- l = e * u,
- c = t * u;
- return e = l - f, t = c + a, e += r, t += i, s ? e : t
- }, cr.distanceTo = function(e, t, n, r) {
- var i = n - e,
- s = r - t;
- return Math.sqrt(i * i + s * s)
- }, cr.xor = function(e, t) {
- return !e != !t
- }, cr.lerp = function(e, t, n) {
- return e + (t - e) * n
- }, cr.unlerp = function(e, t, n) {
- return e === t ? 0 : (n - e) / (t - e)
- }, cr.anglelerp = function(e, t, n) {
- var r = cr.angleDiff(e, t);
- return cr.angleClockwise(t, e) ? e + r * n : e - r * n
- }, cr.qarp = function(e, t, n, r) {
- return cr.lerp(cr.lerp(e, t, r), cr.lerp(t, n, r), r)
- }, cr.cubic = function(e, t, n, r, i) {
- return cr.lerp(cr.qarp(e, t, n, i), cr.qarp(t, n, r, i), i)
- }, cr.cosp = function(e, t, n) {
- return (e + t + (e - t) * Math.cos(n * Math.PI)) / 2
- }, cr.hasAnyOwnProperty = function(e) {
- var t;
- for (t in e)
- if (e.hasOwnProperty(t)) return !0;
- return !1
- }, cr.wipe = function(e) {
- var t;
- for (t in e) e.hasOwnProperty(t) && delete e[t]
- };
- var d = +(new Date);
- cr.performance_now = function() {
- if ("undefined" != typeof window.performance) {
- var e = window.performance;
- if ("undefined" != typeof e.now) return e.now();
- if ("undefined" != typeof e.webkitNow) return e.webkitNow();
- if ("undefined" != typeof e.mozNow) return e.mozNow();
- if ("undefined" != typeof e.msNow) return e.msNow()
- }
- return Date.now() - d
- };
- var v = !1,
- m = !1,
- g = !1,
- y = !1;
- "undefined" != typeof window && (v = /chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent), m = !v && /safari/i.test(navigator.userAgent), g = /(iphone|ipod|ipad)/i.test(navigator.userAgent), y = window.c2ejecta);
- var b = !m && !y && !g && "undefined" != typeof Set && "undefined" != typeof Set.prototype.forEach;
- i.prototype.contains = function(e) {
- return this.isEmpty() ? !1 : b ? this.s.has(e) : this.items && this.items.hasOwnProperty(e)
- }, i.prototype.add = function(e) {
- if (b) this.s.has(e) || (this.s.add(e), this.cache_valid = !1);
- else {
- var t = e.toString(),
- n = this.items;
- n ? n.hasOwnProperty(t) || (n[t] = e, this.item_count++, this.cache_valid = !1) : (this.items = {}, this.items[t] = e, this.item_count = 1, this.cache_valid = !1)
- }
- }, i.prototype.remove = function(e) {
- if (!this.isEmpty())
- if (b) this.s.has(e) && (this.s["delete"](e), this.cache_valid = !1);
- else if (this.items) {
- var t = e.toString(),
- n = this.items;
- n.hasOwnProperty(t) && (delete n[t], this.item_count--, this.cache_valid = !1)
- }
- }, i.prototype.clear = function() {
- this.isEmpty() || (b ? this.s.clear() : (this.items = null, this.item_count = 0), this.values_cache.length = 0, this.cache_valid = !0)
- }, i.prototype.isEmpty = function() {
- return 0 === this.count()
- }, i.prototype.count = function() {
- return b ? this.s.size : this.item_count
- };
- var w = null,
- E = 0;
- i.prototype.update_cache = function() {
- if (!this.cache_valid) {
- if (b) this.values_cache.length = this.s.size, w = this.values_cache, E = 0, this.s.forEach(s), w = null, E = 0;
- else {
- var e = this.values_cache;
- e.length = this.item_count;
- var t, n = 0,
- r = this.items;
- if (r)
- for (t in r) r.hasOwnProperty(t) && (e[n++] = r[t])
- }
- this.cache_valid = !0
- }
- }, i.prototype.valuesRef = function() {
- return this.update_cache(), this.values_cache
- }, cr.ObjectSet = i;
- var S = new cr.ObjectSet;
- cr.removeArrayDuplicates = function(e) {
- var t, n;
- for (t = 0, n = e.length; n > t; ++t) S.add(e[t]);
- cr.shallowAssignArray(e, S.valuesRef()), S.clear()
- }, o.prototype.add = function(e) {
- this.y = e - this.c, this.t = this.sum + this.y, this.c = this.t - this.sum - this.y, this.sum = this.t
- }, o.prototype.reset = function() {
- this.c = 0, this.y = 0, this.t = 0, this.sum = 0
- }, cr.KahanAdder = o, cr.regexp_escape = function(e) {
- return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")
- }, u.prototype.set_pts = function(e) {
- this.pts_array = e, this.pts_count = e.length / 2, this.pts_cache.length = e.length, this.cache_width = -1, this.cache_height = -1, this.cache_angle = 0
- }, u.prototype.is_empty = function() {
- return !this.pts_array.length
- }, u.prototype.update_bbox = function() {
- for (var e, t, n, r = this.pts_cache, i = r[0], s = i, o = r[1], u = o, a = 1, f = this.pts_count; f > a; ++a) n = 2 * a, e = r[n], t = r[n + 1], i > e && (i = e), e > s && (s = e), o > t && (o = t), t > u && (u = t);
- this.bboxLeft = i, this.bboxRight = s, this.bboxTop = o, this.bboxBottom = u
- }, u.prototype.set_from_rect = function(e, t, n) {
- this.pts_cache.length = 8, this.pts_count = 4;
- var r = this.pts_cache;
- r[0] = e.left - t, r[1] = e.top - n, r[2] = e.right - t, r[3] = e.top - n, r[4] = e.right - t, r[5] = e.bottom - n, r[6] = e.left - t, r[7] = e.bottom - n, this.cache_width = e.right - e.left, this.cache_height = e.bottom - e.top, this.update_bbox()
- }, u.prototype.set_from_quad = function(e, t, n, r, i) {
- this.pts_cache.length = 8, this.pts_count = 4;
- var s = this.pts_cache;
- s[0] = e.tlx - t, s[1] = e.tly - n, s[2] = e.trx - t, s[3] = e.try_ - n, s[4] = e.brx - t, s[5] = e.bry - n, s[6] = e.blx - t, s[7] = e.bly - n, this.cache_width = r, this.cache_height = i, this.update_bbox()
- }, u.prototype.set_from_poly = function(e) {
- this.pts_count = e.pts_count, cr.shallowAssignArray(this.pts_cache, e.pts_cache), this.bboxLeft = e.bboxLeft, this.bboxTop - e.bboxTop, this.bboxRight = e.bboxRight, this.bboxBottom = e.bboxBottom
- }, u.prototype.cache_poly = function(e, t, n) {
- if (this.cache_width !== e || this.cache_height !== t || this.cache_angle !== n) {
- this.cache_width = e, this.cache_height = t, this.cache_angle = n;
- var r, i, s, o, u, a, f = 0,
- l = 1,
- c = this.pts_array,
- h = this.pts_cache;
- for (0 !== n && (f = Math.sin(n), l = Math.cos(n)), r = 0, o = this.pts_count; o > r; r++) i = 2 * r, s = i + 1, u = c[i] * e, a = c[s] * t, h[i] = u * l - a * f, h[s] = a * l + u * f;
- this.update_bbox()
- }
- }, u.prototype.contains_pt = function(e, t) {
- var n = this.pts_cache;
- if (e === n[0] && t === n[1]) return !0;
- var r, i, s, o, u, a, f, l = this.pts_count,
- c = this.bboxLeft - 110,
- h = this.bboxTop - 101,
- p = this.bboxRight + 131,
- d = this.bboxBottom + 120,
- v = 0,
- m = 0;
- for (r = 0; l > r; r++) i = 2 * r, s = (r + 1) % l * 2, o = n[i], u = n[i + 1], a = n[s], f = n[s + 1], cr.segments_intersect(c, h, e, t, o, u, a, f) && v++, cr.segments_intersect(p, d, e, t, o, u, a, f) && m++;
- return v % 2 === 1 || m % 2 === 1
- }, u.prototype.intersects_poly = function(e, t, n) {
- var r = e.pts_cache,
- i = this.pts_cache;
- if (this.contains_pt(r[0] + t, r[1] + n)) return !0;
- if (e.contains_pt(i[0] - t, i[1] - n)) return !0;
- var s, o, u, a, f, l, c, h, p, d, v, m, g, y, b, w;
- for (s = 0, a = this.pts_count; a > s; s++)
- for (o = 2 * s, u = (s + 1) % a * 2, p = i[o], d = i[o + 1], v = i[u], m = i[u + 1], f = 0, h = e.pts_count; h > f; f++)
- if (l = 2 * f, c = (f + 1) % h * 2, g = r[l] + t, y = r[l + 1] + n, b = r[c] + t, w = r[c + 1] + n, cr.segments_intersect(p, d, v, m, g, y, b, w)) return !0;
- return !1
- }, u.prototype.intersects_segment = function(e, t, n, r, i, s) {
- var o = this.pts_cache;
- if (this.contains_pt(n - e, r - t)) return !0;
- var u, a, f, l, c, h, p, d;
- for (u = 0, a = this.pts_count; a > u; u++)
- if (f = 2 * u, l = (u + 1) % a * 2, c = o[f] + e, h = o[f + 1] + t, p = o[l] + e, d = o[l + 1] + t, cr.segments_intersect(n, r, i, s, c, h, p, d)) return !0;
- return !1
- }, u.prototype.mirror = function(e) {
- var t, n, r;
- for (t = 0, n = this.pts_count; n > t; ++t) r = 2 * t, this.pts_cache[r] = 2 * e - this.pts_cache[r]
- }, u.prototype.flip = function(e) {
- var t, n, r;
- for (t = 0, n = this.pts_count; n > t; ++t) r = 2 * t + 1, this.pts_cache[r] = 2 * e - this.pts_cache[r]
- }, u.prototype.diag = function() {
- var e, t, n, r, i;
- for (e = 0, t = this.pts_count; t > e; ++e) n = 2 * e, r = n + 1, i = this.pts_cache[n], this.pts_cache[n] = this.pts_cache[r], this.pts_cache[r] = i
- }, cr.CollisionPoly = u, a.prototype.totalCellCount = 0, a.prototype.getCell = function(e, t, n) {
- var r, i = this.cells[e];
- return i ? (r = i[t], r ? r : n ? (r = f(this, e, t), this.cells[e][t] = r, r) : null) : n ? (r = f(this, e, t), this.cells[e] = {}, this.cells[e][t] = r, r) : null
- }, a.prototype.XToCell = function(e) {
- return cr.floor(e / this.cellwidth)
- }, a.prototype.YToCell = function(e) {
- return cr.floor(e / this.cellheight)
- }, a.prototype.update = function(e, t, n) {
- var r, i, s, o, u;
- if (t)
- for (r = t.left, i = t.right; i >= r; ++r)
- for (s = t.top, o = t.bottom; o >= s; ++s) n && n.contains_pt(r, s) || (u = this.getCell(r, s, !1), u && (u.remove(e), u.isEmpty() && (l(u), this.cells[r][s] = null)));
- if (n)
- for (r = n.left, i = n.right; i >= r; ++r)
- for (s = n.top, o = n.bottom; o >= s; ++s) t && t.contains_pt(r, s) || this.getCell(r, s, !0).insert(e)
- }, a.prototype.queryRange = function(e, t) {
- var n, r, i, s, o, u;
- for (n = this.XToCell(e.left), i = this.YToCell(e.top), r = this.XToCell(e.right), o = this.YToCell(e.bottom); r >= n; ++n)
- for (s = i; o >= s; ++s) u = this.getCell(n, s, !1), u && u.dump(t)
- }, cr.SparseGrid = a;
- var x = [];
- c.prototype.isEmpty = function() {
- return this.objects.isEmpty()
- }, c.prototype.insert = function(e) {
- this.objects.add(e)
- }, c.prototype.remove = function(e) {
- this.objects.remove(e)
- }, c.prototype.dump = function(e) {
- cr.appendArray(e, this.objects.valuesRef())
- }, cr.GridCell = c;
- var T = ["lighter", "xor", "copy", "destination-over", "source-in", "destination-in", "source-out", "destination-out", "source-atop", "destination-atop"];
- cr.effectToCompositeOp = function(e) {
- return 0 >= e || e >= 11 ? "source-over" : T[e - 1]
- }, cr.setGLBlend = function(e, t, n) {
- if (n) switch (e.srcBlend = n.ONE, e.destBlend = n.ONE_MINUS_SRC_ALPHA, t) {
- case 1:
- e.srcBlend = n.ONE, e.destBlend = n.ONE;
- break;
- case 2:
- break;
- case 3:
- e.srcBlend = n.ONE, e.destBlend = n.ZERO;
- break;
- case 4:
- e.srcBlend = n.ONE_MINUS_DST_ALPHA, e.destBlend = n.ONE;
- break;
- case 5:
- e.srcBlend = n.DST_ALPHA, e.destBlend = n.ZERO;
- break;
- case 6:
- e.srcBlend = n.ZERO, e.destBlend = n.SRC_ALPHA;
- break;
- case 7:
- e.srcBlend = n.ONE_MINUS_DST_ALPHA, e.destBlend = n.ZERO;
- break;
- case 8:
- e.srcBlend = n.ZERO, e.destBlend = n.ONE_MINUS_SRC_ALPHA;
- break;
- case 9:
- e.srcBlend = n.DST_ALPHA, e.destBlend = n.ONE_MINUS_SRC_ALPHA;
- break;
- case 10:
- e.srcBlend = n.ONE_MINUS_DST_ALPHA, e.destBlend = n.SRC_ALPHA
- }
- }, cr.round6dp = function(e) {
- return Math.round(1e6 * e) / 1e6
- }, cr.equals_nocase = function(e, t) {
- return "string" != typeof e || "string" != typeof t ? !1 : e.length !== t.length ? !1 : e === t ? !0 : e.toLowerCase() === t.toLowerCase()
- }, cr.isCanvasInputEvent = function(e) {
- var t = e.target;
- return t ? t === document || t === window ? !0 : document && document.body && t === document.body ? !0 : cr.equals_nocase(t.tagName, "canvas") ? !0 : !1 : !0
- }
- }();
- var MatrixArray = "undefined" != typeof Float32Array ? Float32Array : Array,
- glMatrixArrayType = MatrixArray,
- vec3 = {},
- mat3 = {},
- mat4 = {},
- quat4 = {};
- vec3.create = function(e) {
- var t = new MatrixArray(3);
- return e && (t[0] = e[0], t[1] = e[1], t[2] = e[2]), t
- }, vec3.set = function(e, t) {
- return t[0] = e[0], t[1] = e[1], t[2] = e[2], t
- }, vec3.add = function(e, t, n) {
- return n && e !== n ? (n[0] = e[0] + t[0], n[1] = e[1] + t[1], n[2] = e[2] + t[2], n) : (e[0] += t[0], e[1] += t[1], e[2] += t[2], e)
- }, vec3.subtract = function(e, t, n) {
- return n && e !== n ? (n[0] = e[0] - t[0], n[1] = e[1] - t[1], n[2] = e[2] - t[2], n) : (e[0] -= t[0], e[1] -= t[1], e[2] -= t[2], e)
- }, vec3.negate = function(e, t) {
- return t || (t = e), t[0] = -e[0], t[1] = -e[1], t[2] = -e[2], t
- }, vec3.scale = function(e, t, n) {
- return n && e !== n ? (n[0] = e[0] * t, n[1] = e[1] * t, n[2] = e[2] * t, n) : (e[0] *= t, e[1] *= t, e[2] *= t, e)
- }, vec3.normalize = function(e, t) {
- t || (t = e);
- var n = e[0],
- r = e[1],
- i = e[2],
- s = Math.sqrt(n * n + r * r + i * i);
- return s ? 1 === s ? (t[0] = n, t[1] = r, t[2] = i, t) : (s = 1 / s, t[0] = n * s, t[1] = r * s, t[2] = i * s, t) : (t[0] = 0, t[1] = 0, t[2] = 0, t)
- }, vec3.cross = function(e, t, n) {
- n || (n = e);
- var r = e[0],
- i = e[1],
- e = e[2],
- s = t[0],
- o = t[1],
- t = t[2];
- return n[0] = i * t - e * o, n[1] = e * s - r * t, n[2] = r * o - i * s, n
- }, vec3.length = function(e) {
- var t = e[0],
- n = e[1],
- e = e[2];
- return Math.sqrt(t * t + n * n + e * e)
- }, vec3.dot = function(e, t) {
- return e[0] * t[0] + e[1] * t[1] + e[2] * t[2]
- }, vec3.direction = function(e, t, n) {
- n || (n = e);
- var r = e[0] - t[0],
- i = e[1] - t[1],
- e = e[2] - t[2],
- t = Math.sqrt(r * r + i * i + e * e);
- return t ? (t = 1 / t, n[0] = r * t, n[1] = i * t, n[2] = e * t, n) : (n[0] = 0, n[1] = 0, n[2] = 0, n)
- }, vec3.lerp = function(e, t, n, r) {
- return r || (r = e), r[0] = e[0] + n * (t[0] - e[0]), r[1] = e[1] + n * (t[1] - e[1]), r[2] = e[2] + n * (t[2] - e[2]), r
- }, vec3.str = function(e) {
- return "[" + e[0] + ", " + e[1] + ", " + e[2] + "]"
- }, mat3.create = function(e) {
- var t = new MatrixArray(9);
- return e && (t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t[6] = e[6], t[7] = e[7], t[8] = e[8]), t
- }, mat3.set = function(e, t) {
- return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t[6] = e[6], t[7] = e[7], t[8] = e[8], t
- }, mat3.identity = function(e) {
- return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 1, e[5] = 0, e[6] = 0, e[7] = 0, e[8] = 1, e
- }, mat3.transpose = function(e, t) {
- if (!t || e === t) {
- var n = e[1],
- r = e[2],
- i = e[5];
- return e[1] = e[3], e[2] = e[6], e[3] = n, e[5] = e[7], e[6] = r, e[7] = i, e
- }
- return t[0] = e[0], t[1] = e[3], t[2] = e[6], t[3] = e[1], t[4] = e[4], t[5] = e[7], t[6] = e[2], t[7] = e[5], t[8] = e[8], t
- }, mat3.toMat4 = function(e, t) {
- return t || (t = mat4.create()), t[15] = 1, t[14] = 0, t[13] = 0, t[12] = 0, t[11] = 0, t[10] = e[8], t[9] = e[7], t[8] = e[6], t[7] = 0, t[6] = e[5], t[5] = e[4], t[4] = e[3], t[3] = 0, t[2] = e[2], t[1] = e[1], t[0] = e[0], t
- }, mat3.str = function(e) {
- return "[" + e[0] + ", " + e[1] + ", " + e[2] + ", " + e[3] + ", " + e[4] + ", " + e[5] + ", " + e[6] + ", " + e[7] + ", " + e[8] + "]"
- }, mat4.create = function(e) {
- var t = new MatrixArray(16);
- return e && (t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t[6] = e[6], t[7] = e[7], t[8] = e[8], t[9] = e[9], t[10] = e[10], t[11] = e[11], t[12] = e[12], t[13] = e[13], t[14] = e[14], t[15] = e[15]), t
- }, mat4.set = function(e, t) {
- return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t[6] = e[6], t[7] = e[7], t[8] = e[8], t[9] = e[9], t[10] = e[10], t[11] = e[11], t[12] = e[12], t[13] = e[13], t[14] = e[14], t[15] = e[15], t
- }, mat4.identity = function(e) {
- return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 0, e[4] = 0, e[5] = 1, e[6] = 0, e[7] = 0, e[8] = 0, e[9] = 0, e[10] = 1, e[11] = 0, e[12] = 0, e[13] = 0, e[14] = 0, e[15] = 1, e
- }, mat4.transpose = function(e, t) {
- if (!t || e === t) {
- var n = e[1],
- r = e[2],
- i = e[3],
- s = e[6],
- o = e[7],
- u = e[11];
- return e[1] = e[4], e[2] = e[8], e[3] = e[12], e[4] = n, e[6] = e[9], e[7] = e[13], e[8] = r, e[9] = s, e[11] = e[14], e[12] = i, e[13] = o, e[14] = u, e
- }
- return t[0] = e[0], t[1] = e[4], t[2] = e[8], t[3] = e[12], t[4] = e[1], t[5] = e[5], t[6] = e[9], t[7] = e[13], t[8] = e[2], t[9] = e[6], t[10] = e[10], t[11] = e[14], t[12] = e[3], t[13] = e[7], t[14] = e[11], t[15] = e[15], t
- }, mat4.determinant = function(e) {
- var t = e[0],
- n = e[1],
- r = e[2],
- i = e[3],
- s = e[4],
- o = e[5],
- u = e[6],
- a = e[7],
- f = e[8],
- l = e[9],
- c = e[10],
- h = e[11],
- p = e[12],
- d = e[13],
- v = e[14],
- e = e[15];
- return p * l * u * i - f * d * u * i - p * o * c * i + s * d * c * i + f * o * v * i - s * l * v * i - p * l * r * a + f * d * r * a + p * n * c * a - t * d * c * a - f * n * v * a + t * l * v * a + p * o * r * h - s * d * r * h - p * n * u * h + t * d * u * h + s * n * v * h - t * o * v * h - f * o * r * e + s * l * r * e + f * n * u * e - t * l * u * e - s * n * c * e + t * o * c * e
- }, mat4.inverse = function(e, t) {
- t || (t = e);
- var n = e[0],
- r = e[1],
- i = e[2],
- s = e[3],
- o = e[4],
- u = e[5],
- a = e[6],
- f = e[7],
- l = e[8],
- c = e[9],
- h = e[10],
- p = e[11],
- d = e[12],
- v = e[13],
- m = e[14],
- g = e[15],
- y = n * u - r * o,
- b = n * a - i * o,
- w = n * f - s * o,
- E = r * a - i * u,
- S = r * f - s * u,
- x = i * f - s * a,
- T = l * v - c * d,
- N = l * m - h * d,
- C = l * g - p * d,
- k = c * m - h * v,
- L = c * g - p * v,
- A = h * g - p * m,
- O = 1 / (y * A - b * L + w * k + E * C - S * N + x * T);
- return t[0] = (u * A - a * L + f * k) * O, t[1] = (-r * A + i * L - s * k) * O, t[2] = (v * x - m * S + g * E) * O, t[3] = (-c * x + h * S - p * E) * O, t[4] = (-o * A + a * C - f * N) * O, t[5] = (n * A - i * C + s * N) * O, t[6] = (-d * x + m * w - g * b) * O, t[7] = (l * x - h * w + p * b) * O, t[8] = (o * L - u * C + f * T) * O, t[9] = (-n * L + r * C - s * T) * O, t[10] = (d * S - v * w + g * y) * O, t[11] = (-l * S + c * w - p * y) * O, t[12] = (-o * k + u * N - a * T) * O, t[13] = (n * k - r * N + i * T) * O, t[14] = (-d * E + v * b - m * y) * O, t[15] = (l * E - c * b + h * y) * O, t
- }, mat4.toRotationMat = function(e, t) {
- return t || (t = mat4.create()), t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t[6] = e[6], t[7] = e[7], t[8] = e[8], t[9] = e[9], t[10] = e[10], t[11] = e[11], t[12] = 0, t[13] = 0, t[14] = 0, t[15] = 1, t
- }, mat4.toMat3 = function(e, t) {
- return t || (t = mat3.create()), t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[4], t[4] = e[5], t[5] = e[6], t[6] = e[8], t[7] = e[9], t[8] = e[10], t
- }, mat4.toInverseMat3 = function(e, t) {
- var n = e[0],
- r = e[1],
- i = e[2],
- s = e[4],
- o = e[5],
- u = e[6],
- a = e[8],
- f = e[9],
- l = e[10],
- c = l * o - u * f,
- h = -l * s + u * a,
- p = f * s - o * a,
- d = n * c + r * h + i * p;
- return d ? (d = 1 / d, t || (t = mat3.create()), t[0] = c * d, t[1] = (-l * r + i * f) * d, t[2] = (u * r - i * o) * d, t[3] = h * d, t[4] = (l * n - i * a) * d, t[5] = (-u * n + i * s) * d, t[6] = p * d, t[7] = (-f * n + r * a) * d, t[8] = (o * n - r * s) * d, t) : null
- }, mat4.multiply = function(e, t, n) {
- n || (n = e);
- var r = e[0],
- i = e[1],
- s = e[2],
- o = e[3],
- u = e[4],
- a = e[5],
- f = e[6],
- l = e[7],
- c = e[8],
- h = e[9],
- p = e[10],
- d = e[11],
- v = e[12],
- m = e[13],
- g = e[14],
- e = e[15],
- y = t[0],
- b = t[1],
- w = t[2],
- E = t[3],
- S = t[4],
- x = t[5],
- T = t[6],
- N = t[7],
- C = t[8],
- k = t[9],
- L = t[10],
- A = t[11],
- O = t[12],
- M = t[13],
- _ = t[14],
- t = t[15];
- return n[0] = y * r + b * u + w * c + E * v, n[1] = y * i + b * a + w * h + E * m, n[2] = y * s + b * f + w * p + E * g, n[3] = y * o + b * l + w * d + E * e, n[4] = S * r + x * u + T * c + N * v, n[5] = S * i + x * a + T * h + N * m, n[6] = S * s + x * f + T * p + N * g, n[7] = S * o + x * l + T * d + N * e, n[8] = C * r + k * u + L * c + A * v, n[9] = C * i + k * a + L * h + A * m, n[10] = C * s + k * f + L * p + A * g, n[11] = C * o + k * l + L * d + A * e, n[12] = O * r + M * u + _ * c + t * v, n[13] = O * i + M * a + _ * h + t * m, n[14] = O * s + M * f + _ * p + t * g, n[15] = O * o + M * l + _ * d + t * e, n
- }, mat4.multiplyVec3 = function(e, t, n) {
- n || (n = t);
- var r = t[0],
- i = t[1],
- t = t[2];
- return n[0] = e[0] * r + e[4] * i + e[8] * t + e[12], n[1] = e[1] * r + e[5] * i + e[9] * t + e[13], n[2] = e[2] * r + e[6] * i + e[10] * t + e[14], n
- }, mat4.multiplyVec4 = function(e, t, n) {
- n || (n = t);
- var r = t[0],
- i = t[1],
- s = t[2],
- t = t[3];
- return n[0] = e[0] * r + e[4] * i + e[8] * s + e[12] * t, n[1] = e[1] * r + e[5] * i + e[9] * s + e[13] * t, n[2] = e[2] * r + e[6] * i + e[10] * s + e[14] * t, n[3] = e[3] * r + e[7] * i + e[11] * s + e[15] * t, n
- }, mat4.translate = function(e, t, n) {
- var r, i, s, o, u, a, f, l, c, h, p, d, v = t[0],
- m = t[1],
- t = t[2];
- return n && e !== n ? (r = e[0], i = e[1], s = e[2], o = e[3], u = e[4], a = e[5], f = e[6], l = e[7], c = e[8], h = e[9], p = e[10], d = e[11], n[0] = r, n[1] = i, n[2] = s, n[3] = o, n[4] = u, n[5] = a, n[6] = f, n[7] = l, n[8] = c, n[9] = h, n[10] = p, n[11] = d, n[12] = r * v + u * m + c * t + e[12], n[13] = i * v + a * m + h * t + e[13], n[14] = s * v + f * m + p * t + e[14], n[15] = o * v + l * m + d * t + e[15], n) : (e[12] = e[0] * v + e[4] * m + e[8] * t + e[12], e[13] = e[1] * v + e[5] * m + e[9] * t + e[13], e[14] = e[2] * v + e[6] * m + e[10] * t + e[14], e[15] = e[3] * v + e[7] * m + e[11] * t + e[15], e)
- }, mat4.scale = function(e, t, n) {
- var r = t[0],
- i = t[1],
- t = t[2];
- return n && e !== n ? (n[0] = e[0] * r, n[1] = e[1] * r, n[2] = e[2] * r, n[3] = e[3] * r, n[4] = e[4] * i, n[5] = e[5] * i, n[6] = e[6] * i, n[7] = e[7] * i, n[8] = e[8] * t, n[9] = e[9] * t, n[10] = e[10] * t, n[11] = e[11] * t, n[12] = e[12], n[13] = e[13], n[14] = e[14], n[15] = e[15], n) : (e[0] *= r, e[1] *= r, e[2] *= r, e[3] *= r, e[4] *= i, e[5] *= i, e[6] *= i, e[7] *= i, e[8] *= t, e[9] *= t, e[10] *= t, e[11] *= t, e)
- }, mat4.rotate = function(e, t, n, r) {
- var i, s, o, u, a, f, l, c, h, p, d, v, m, g, y, b, w, E, S, x, T = n[0],
- N = n[1],
- n = n[2],
- C = Math.sqrt(T * T + N * N + n * n);
- return C ? (1 !== C && (C = 1 / C, T *= C, N *= C, n *= C), i = Math.sin(t), s = Math.cos(t), o = 1 - s, t = e[0], C = e[1], u = e[2], a = e[3], f = e[4], l = e[5], c = e[6], h = e[7], p = e[8], d = e[9], v = e[10], m = e[11], g = T * T * o + s, y = N * T * o + n * i, b = n * T * o - N * i, w = T * N * o - n * i, E = N * N * o + s, S = n * N * o + T * i, x = T * n * o + N * i, T = N * n * o - T * i, N = n * n * o + s, r ? e !== r && (r[12] = e[12], r[13] = e[13], r[14] = e[14], r[15] = e[15]) : r = e, r[0] = t * g + f * y + p * b, r[1] = C * g + l * y + d * b, r[2] = u * g + c * y + v * b, r[3] = a * g + h * y + m * b, r[4] = t * w + f * E + p * S, r[5] = C * w + l * E + d * S, r[6] = u * w + c * E + v * S, r[7] = a * w + h * E + m * S, r[8] = t * x + f * T + p * N, r[9] = C * x + l * T + d * N, r[10] = u * x + c * T + v * N, r[11] = a * x + h * T + m * N, r) : null
- }, mat4.rotateX = function(e, t, n) {
- var r = Math.sin(t),
- t = Math.cos(t),
- i = e[4],
- s = e[5],
- o = e[6],
- u = e[7],
- a = e[8],
- f = e[9],
- l = e[10],
- c = e[11];
- return n ? e !== n && (n[0] = e[0], n[1] = e[1], n[2] = e[2], n[3] = e[3], n[12] = e[12], n[13] = e[13], n[14] = e[14], n[15] = e[15]) : n = e, n[4] = i * t + a * r, n[5] = s * t + f * r, n[6] = o * t + l * r, n[7] = u * t + c * r, n[8] = i * -r + a * t, n[9] = s * -r + f * t, n[10] = o * -r + l * t, n[11] = u * -r + c * t, n
- }, mat4.rotateY = function(e, t, n) {
- var r = Math.sin(t),
- t = Math.cos(t),
- i = e[0],
- s = e[1],
- o = e[2],
- u = e[3],
- a = e[8],
- f = e[9],
- l = e[10],
- c = e[11];
- return n ? e !== n && (n[4] = e[4], n[5] = e[5], n[6] = e[6], n[7] = e[7], n[12] = e[12], n[13] = e[13], n[14] = e[14], n[15] = e[15]) : n = e, n[0] = i * t + a * -r, n[1] = s * t + f * -r, n[2] = o * t + l * -r, n[3] = u * t + c * -r, n[8] = i * r + a * t, n[9] = s * r + f * t, n[10] = o * r + l * t, n[11] = u * r + c * t, n
- }, mat4.rotateZ = function(e, t, n) {
- var r = Math.sin(t),
- t = Math.cos(t),
- i = e[0],
- s = e[1],
- o = e[2],
- u = e[3],
- a = e[4],
- f = e[5],
- l = e[6],
- c = e[7];
- return n ? e !== n && (n[8] = e[8], n[9] = e[9], n[10] = e[10], n[11] = e[11], n[12] = e[12], n[13] = e[13], n[14] = e[14], n[15] = e[15]) : n = e, n[0] = i * t + a * r, n[1] = s * t + f * r, n[2] = o * t + l * r, n[3] = u * t + c * r, n[4] = i * -r + a * t, n[5] = s * -r + f * t, n[6] = o * -r + l * t, n[7] = u * -r + c * t, n
- }, mat4.frustum = function(e, t, n, r, i, s, o) {
- o || (o = mat4.create());
- var u = t - e,
- a = r - n,
- f = s - i;
- return o[0] = 2 * i / u, o[1] = 0, o[2] = 0, o[3] = 0, o[4] = 0, o[5] = 2 * i / a, o[6] = 0, o[7] = 0, o[8] = (t + e) / u, o[9] = (r + n) / a, o[10] = -(s + i) / f, o[11] = -1, o[12] = 0, o[13] = 0, o[14] = -(s * i * 2) / f, o[15] = 0, o
- }, mat4.perspective = function(e, t, n, r, i) {
- return e = n * Math.tan(e * Math.PI / 360), t *= e, mat4.frustum(-t, t, -e, e, n, r, i)
- }, mat4.ortho = function(e, t, n, r, i, s, o) {
- o || (o = mat4.create());
- var u = t - e,
- a = r - n,
- f = s - i;
- return o[0] = 2 / u, o[1] = 0, o[2] = 0, o[3] = 0, o[4] = 0, o[5] = 2 / a, o[6] = 0, o[7] = 0, o[8] = 0, o[9] = 0, o[10] = -2 / f, o[11] = 0, o[12] = -(e + t) / u, o[13] = -(r + n) / a, o[14] = -(s + i) / f, o[15] = 1, o
- }, mat4.lookAt = function(e, t, n, r) {
- r || (r = mat4.create());
- var i, s, o, u, a, f, l, c, h = e[0],
- p = e[1],
- e = e[2];
- return s = n[0], o = n[1], i = n[2], n = t[1], f = t[2], h === t[0] && p === n && e === f ? mat4.identity(r) : (n = h - t[0], f = p - t[1], l = e - t[2], c = 1 / Math.sqrt(n * n + f * f + l * l), n *= c, f *= c, l *= c, t = o * l - i * f, i = i * n - s * l, s = s * f - o * n, (c = Math.sqrt(t * t + i * i + s * s)) ? (c = 1 / c, t *= c, i *= c, s *= c) : s = i = t = 0, o = f * s - l * i, u = l * t - n * s, a = n * i - f * t, (c = Math.sqrt(o * o + u * u + a * a)) ? (c = 1 / c, o *= c, u *= c, a *= c) : a = u = o = 0, r[0] = t, r[1] = o, r[2] = n, r[3] = 0, r[4] = i, r[5] = u, r[6] = f, r[7] = 0, r[8] = s, r[9] = a, r[10] = l, r[11] = 0, r[12] = -(t * h + i * p + s * e), r[13] = -(o * h + u * p + a * e), r[14] = -(n * h + f * p + l * e), r[15] = 1, r)
- }, mat4.fromRotationTranslation = function(e, t, n) {
- n || (n = mat4.create());
- var r = e[0],
- i = e[1],
- s = e[2],
- o = e[3],
- u = r + r,
- a = i + i,
- f = s + s,
- e = r * u,
- l = r * a;
- r *= f;
- var c = i * a;
- return i *= f, s *= f, u *= o, a *= o, o *= f, n[0] = 1 - (c + s), n[1] = l + o, n[2] = r - a, n[3] = 0, n[4] = l - o, n[5] = 1 - (e + s), n[6] = i + u, n[7] = 0, n[8] = r + a, n[9] = i - u, n[10] = 1 - (e + c), n[11] = 0, n[12] = t[0], n[13] = t[1], n[14] = t[2], n[15] = 1, n
- }, mat4.str = function(e) {
- return "[" + e[0] + ", " + e[1] + ", " + e[2] + ", " + e[3] + ", " + e[4] + ", " + e[5] + ", " + e[6] + ", " + e[7] + ", " + e[8] + ", " + e[9] + ", " + e[10] + ", " + e[11] + ", " + e[12] + ", " + e[13] + ", " + e[14] + ", " + e[15] + "]"
- }, quat4.create = function(e) {
- var t = new MatrixArray(4);
- return e && (t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3]), t
- }, quat4.set = function(e, t) {
- return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t
- }, quat4.calculateW = function(e, t) {
- var n = e[0],
- r = e[1],
- i = e[2];
- return t && e !== t ? (t[0] = n, t[1] = r, t[2] = i, t[3] = -Math.sqrt(Math.abs(1 - n * n - r * r - i * i)), t) : (e[3] = -Math.sqrt(Math.abs(1 - n * n - r * r - i * i)), e)
- }, quat4.inverse = function(e, t) {
- return t && e !== t ? (t[0] = -e[0], t[1] = -e[1], t[2] = -e[2], t[3] = e[3], t) : (e[0] *= -1, e[1] *= -1, e[2] *= -1, e)
- }, quat4.length = function(e) {
- var t = e[0],
- n = e[1],
- r = e[2],
- e = e[3];
- return Math.sqrt(t * t + n * n + r * r + e * e)
- }, quat4.normalize = function(e, t) {
- t || (t = e);
- var n = e[0],
- r = e[1],
- i = e[2],
- s = e[3],
- o = Math.sqrt(n * n + r * r + i * i + s * s);
- return 0 === o ? (t[0] = 0, t[1] = 0, t[2] = 0, t[3] = 0, t) : (o = 1 / o, t[0] = n * o, t[1] = r * o, t[2] = i * o, t[3] = s * o, t)
- }, quat4.multiply = function(e, t, n) {
- n || (n = e);
- var r = e[0],
- i = e[1],
- s = e[2],
- e = e[3],
- o = t[0],
- u = t[1],
- a = t[2],
- t = t[3];
- return n[0] = r * t + e * o + i * a - s * u, n[1] = i * t + e * u + s * o - r * a, n[2] = s * t + e * a + r * u - i * o, n[3] = e * t - r * o - i * u - s * a, n
- }, quat4.multiplyVec3 = function(e, t, n) {
- n || (n = t);
- var r = t[0],
- i = t[1],
- s = t[2],
- t = e[0],
- o = e[1],
- u = e[2],
- e = e[3],
- a = e * r + o * s - u * i,
- f = e * i + u * r - t * s,
- l = e * s + t * i - o * r,
- r = -t * r - o * i - u * s;
- return n[0] = a * e + r * -t + f * -u - l * -o, n[1] = f * e + r * -o + l * -t - a * -u, n[2] = l * e + r * -u + a * -o - f * -t, n
- }, quat4.toMat3 = function(e, t) {
- t || (t = mat3.create());
- var n = e[0],
- r = e[1],
- i = e[2],
- s = e[3],
- o = n + n,
- u = r + r,
- a = i + i,
- f = n * o,
- l = n * u;
- n *= a;
- var c = r * u;
- return r *= a, i *= a, o *= s, u *= s, s *= a, t[0] = 1 - (c + i), t[1] = l + s, t[2] = n - u, t[3] = l - s, t[4] = 1 - (f + i), t[5] = r + o, t[6] = n + u, t[7] = r - o, t[8] = 1 - (f + c), t
- }, quat4.toMat4 = function(e, t) {
- t || (t = mat4.create());
- var n = e[0],
- r = e[1],
- i = e[2],
- s = e[3],
- o = n + n,
- u = r + r,
- a = i + i,
- f = n * o,
- l = n * u;
- n *= a;
- var c = r * u;
- return r *= a, i *= a, o *= s, u *= s, s *= a, t[0] = 1 - (c + i), t[1] = l + s, t[2] = n - u, t[3] = 0, t[4] = l - s, t[5] = 1 - (f + i), t[6] = r + o, t[7] = 0, t[8] = n + u, t[9] = r - o, t[10] = 1 - (f + c), t[11] = 0, t[12] = 0, t[13] = 0, t[14] = 0, t[15] = 1, t
- }, quat4.slerp = function(e, t, n, r) {
- r || (r = e);
- var i, s, o = e[0] * t[0] + e[1] * t[1] + e[2] * t[2] + e[3] * t[3];
- return Math.abs(o) >= 1 ? (r !== e && (r[0] = e[0], r[1] = e[1], r[2] = e[2], r[3] = e[3]), r) : (i = Math.acos(o), s = Math.sqrt(1 - o * o), Math.abs(s) < .001 ? (r[0] = .5 * e[0] + .5 * t[0], r[1] = .5 * e[1] + .5 * t[1], r[2] = .5 * e[2] + .5 * t[2], r[3] = .5 * e[3] + .5 * t[3], r) : (o = Math.sin((1 - n) * i) / s, n = Math.sin(n * i) / s, r[0] = e[0] * o + t[0] * n, r[1] = e[1] * o + t[1] * n, r[2] = e[2] * o + t[2] * n, r[3] = e[3] * o + t[3] * n, r))
- }, quat4.str = function(e) {
- return "[" + e[0] + ", " + e[1] + ", " + e[2] + ", " + e[3] + "]"
- },
- function() {
- function e(e) {
- this.isIE = /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent), this.width = 0, this.height = 0, this.cam = vec3.create([0, 0, 100]), this.look = vec3.create([0, 0, 0]), this.up = vec3.create([0, 1, 0]), this.worldScale = vec3.create([1, 1, 1]), this.enable_mipmaps = !0, this.matP = mat4.create(), this.matMV = mat4.create(), this.lastMV = mat4.create(), this.currentMV = mat4.create(), this.gl = e, this.initState()
- }
- function t(e, t, n) {
- this.gl = e, this.shaderProgram = t, this.name = n, this.locAPos = e.getAttribLocation(t, "aPos"), this.locATex = e.getAttribLocation(t, "aTex"), this.locMatP = e.getUniformLocation(t, "matP"), this.locMatMV = e.getUniformLocation(t, "matMV"), this.locOpacity = e.getUniformLocation(t, "opacity"), this.locSamplerFront = e.getUniformLocation(t, "samplerFront"), this.locSamplerBack = e.getUniformLocation(t, "samplerBack"), this.locDestStart = e.getUniformLocation(t, "destStart"), this.locDestEnd = e.getUniformLocation(t, "destEnd"), this.locSeconds = e.getUniformLocation(t, "seconds"), this.locPixelWidth = e.getUniformLocation(t, "pixelWidth"), this.locPixelHeight = e.getUniformLocation(t, "pixelHeight"), this.locLayerScale = e.getUniformLocation(t, "layerScale"), this.locLayerAngle = e.getUniformLocation(t, "layerAngle"), this.locViewOrigin = e.getUniformLocation(t, "viewOrigin"), this.hasAnyOptionalUniforms = !!(this.locPixelWidth || this.locPixelHeight || this.locSeconds || this.locSamplerBack || this.locDestStart || this.locDestEnd || this.locLayerScale || this.locLayerAngle || this.locViewOrigin), this.locOpacity && e.uniform1f(this.locOpacity, 1), this.locSamplerFront && e.uniform1i(this.locSamplerFront, 0), this.locSamplerBack && e.uniform1i(this.locSamplerBack, 1), this.locDestStart && e.uniform2f(this.locDestStart, 0, 0), this.locDestEnd && e.uniform2f(this.locDestEnd, 1, 1), this.locLayerScale && e.uniform1f(this.locLayerScale, 1), this.locLayerAngle && e.uniform1f(this.locLayerAngle, 0), this.locViewOrigin && e.uniform2f(this.locViewOrigin, 0, 0), this.hasCurrentMatMV = !1
- }
- function n(e, t) {
- this.type = e, this.glwrap = t, this.gl = t.gl, this.opacityParam = 0, this.startIndex = 0, this.indexCount = 0, this.texParam = null, this.mat4param = null, this.shaderParams = [], cr.seal(this)
- }
- var r = 8e3,
- i = r / 2 * 3,
- s = 8e3,
- o = 4,
- u = 0,
- a = 1,
- f = 2,
- l = 3,
- c = 4,
- h = 5,
- p = 6,
- d = 7,
- v = 8,
- m = 9,
- g = 10;
- e.prototype.initState = function() {
- var e, t, n = this.gl;
- for (this.lastOpacity = 1, this.lastTexture0 = null, this.lastTexture1 = null, this.currentOpacity = 1, n.clearColor(0, 0, 0, 0), n.clear(n.COLOR_BUFFER_BIT), n.enable(n.BLEND), n.blendFunc(n.ONE, n.ONE_MINUS_SRC_ALPHA), n.disable(n.CULL_FACE), n.disable(n.DEPTH_TEST), this.maxTextureSize = n.getParameter(n.MAX_TEXTURE_SIZE), this.lastSrcBlend = n.ONE, this.lastDestBlend = n.ONE_MINUS_SRC_ALPHA, this.pointBuffer = n.createBuffer(), n.bindBuffer(n.ARRAY_BUFFER, this.pointBuffer), this.vertexBuffers = new Array(o), this.texcoordBuffers = new Array(o), e = 0; o > e; e++) this.vertexBuffers[e] = n.createBuffer(), n.bindBuffer(n.ARRAY_BUFFER, this.vertexBuffers[e]), this.texcoordBuffers[e] = n.createBuffer(), n.bindBuffer(n.ARRAY_BUFFER, this.texcoordBuffers[e]);
- this.curBuffer = 0, this.indexBuffer = n.createBuffer(), n.bindBuffer(n.ELEMENT_ARRAY_BUFFER, this.indexBuffer), this.vertexData = new Float32Array(2 * r), this.texcoordData = new Float32Array(2 * r), this.pointData = new Float32Array(4 * s);
- var u = new Uint16Array(i);
- e = 0, t = i;
- for (var a = 0; t > e;) u[e++] = a, u[e++] = a + 1, u[e++] = a + 2, u[e++] = a, u[e++] = a + 2, u[e++] = a + 3, a += 4;
- n.bufferData(n.ELEMENT_ARRAY_BUFFER, u, n.STATIC_DRAW), this.vertexPtr = 0, this.pointPtr = 0;
- var f, l;
- this.shaderPrograms = [], f = ["varying mediump vec2 vTex;", "uniform lowp float opacity;", "uniform lowp sampler2D samplerFront;", "void main(void) {", " gl_FragColor = texture2D(samplerFront, vTex);", " gl_FragColor *= opacity;", "}"].join("\n"), l = ["attribute highp vec2 aPos;", "attribute mediump vec2 aTex;", "varying mediump vec2 vTex;", "uniform highp mat4 matP;", "uniform highp mat4 matMV;", "void main(void) {", " gl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);", " vTex = aTex;", "}"].join("\n");
- var c = this.createShaderProgram({
- src: f
- }, l, "<default>");
- this.shaderPrograms.push(c), f = ["uniform mediump sampler2D samplerFront;", "varying lowp float opacity;", "void main(void) {", " gl_FragColor = texture2D(samplerFront, gl_PointCoord);", " gl_FragColor *= opacity;", "}"].join("\n");
- var h = ["attribute vec4 aPos;", "varying float opacity;", "uniform mat4 matP;", "uniform mat4 matMV;", "void main(void) {", " gl_Position = matP * matMV * vec4(aPos.x, aPos.y, 0.0, 1.0);", " gl_PointSize = aPos.z;", " opacity = aPos.w;", "}"].join("\n");
- c = this.createShaderProgram({
- src: f
- }, h, "<point>"), this.shaderPrograms.push(c);
- for (var p in cr.shaders) cr.shaders.hasOwnProperty(p) && this.shaderPrograms.push(this.createShaderProgram(cr.shaders[p], l, p));
- n.activeTexture(n.TEXTURE0), n.bindTexture(n.TEXTURE_2D, null), this.batch = [], this.batchPtr = 0, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1, this.lastProgram = -1, this.currentProgram = -1, this.currentShader = null, this.fbo = n.createFramebuffer(), this.renderToTex = null, this.tmpVec3 = vec3.create([0, 0, 0]);
- var d = n.getParameter(n.ALIASED_POINT_SIZE_RANGE);
- this.minPointSize = d[0], this.maxPointSize = d[1], this.maxPointSize > 2048 && (this.maxPointSize = 2048), this.switchProgram(0), cr.seal(this)
- }, e.prototype.createShaderProgram = function(e, n, r) {
- var i = this.gl,
- s = i.createShader(i.FRAGMENT_SHADER);
- if (i.shaderSource(s, e.src), i.compileShader(s), !i.getShaderParameter(s, i.COMPILE_STATUS)) return i.deleteShader(s), null;
- var o = i.createShader(i.VERTEX_SHADER);
- if (i.shaderSource(o, n), i.compileShader(o), !i.getShaderParameter(o, i.COMPILE_STATUS)) return i.deleteShader(s), i.deleteShader(o), null;
- var u = i.createProgram();
- if (i.attachShader(u, s), i.attachShader(u, o), i.linkProgram(u), !i.getProgramParameter(u, i.LINK_STATUS)) return i.deleteShader(s), i.deleteShader(o), i.deleteProgram(u), null;
- i.useProgram(u), i.deleteShader(s), i.deleteShader(o);
- var a = new t(i, u, r);
- a.extendBoxHorizontal = e.extendBoxHorizontal || 0, a.extendBoxVertical = e.extendBoxVertical || 0, a.crossSampling = !!e.crossSampling, a.animated = !!e.animated, a.parameters = e.parameters || [];
- var f, l;
- for (f = 0, l = a.parameters.length; l > f; f++) a.parameters[f][1] = i.getUniformLocation(u, a.parameters[f][0]), i.uniform1f(a.parameters[f][1], 0);
- return cr.seal(a), a
- }, e.prototype.getShaderIndex = function(e) {
- var t, n;
- for (t = 0, n = this.shaderPrograms.length; n > t; t++)
- if (this.shaderPrograms[t].name === e) return t;
- return -1
- }, e.prototype.project = function(e, t, n) {
- var r = this.matMV,
- i = this.matP,
- s = [0, 0, 0, 0, 0, 0, 0, 0];
- s[0] = r[0] * e + r[4] * t + r[12], s[1] = r[1] * e + r[5] * t + r[13], s[2] = r[2] * e + r[6] * t + r[14], s[3] = r[3] * e + r[7] * t + r[15], s[4] = i[0] * s[0] + i[4] * s[1] + i[8] * s[2] + i[12] * s[3], s[5] = i[1] * s[0] + i[5] * s[1] + i[9] * s[2] + i[13] * s[3], s[6] = i[2] * s[0] + i[6] * s[1] + i[10] * s[2] + i[14] * s[3], s[7] = -s[2], 0 !== s[7] && (s[7] = 1 / s[7], s[4] *= s[7], s[5] *= s[7], s[6] *= s[7], n[0] = (.5 * s[4] + .5) * this.width, n[1] = (.5 * s[5] + .5) * this.height)
- }, e.prototype.setSize = function(e, t, n) {
- if (this.width !== e || this.height !== t || n) {
- this.endBatch(), this.width = e, this.height = t, this.gl.viewport(0, 0, e, t), mat4.perspective(45, e / t, 1, 1e3, this.matP), mat4.lookAt(this.cam, this.look, this.up, this.matMV);
- var r = [0, 0],
- i = [0, 0];
- this.project(0, 0, r), this.project(1, 1, i), this.worldScale[0] = 1 / (i[0] - r[0]), this.worldScale[1] = -1 / (i[1] - r[1]);
- var s, o, u;
- for (s = 0, o = this.shaderPrograms.length; o > s; s++) u = this.shaderPrograms[s], u.hasCurrentMatMV = !1, u.locMatP && (this.gl.useProgram(u.shaderProgram), this.gl.uniformMatrix4fv(u.locMatP, !1, this.matP));
- this.gl.useProgram(this.shaderPrograms[this.lastProgram].shaderProgram), this.gl.bindTexture(this.gl.TEXTURE_2D, null), this.gl.activeTexture(this.gl.TEXTURE1), this.gl.bindTexture(this.gl.TEXTURE_2D, null), this.gl.activeTexture(this.gl.TEXTURE0), this.lastTexture0 = null, this.lastTexture1 = null
- }
- }, e.prototype.resetModelView = function() {
- mat4.lookAt(this.cam, this.look, this.up, this.matMV), mat4.scale(this.matMV, this.worldScale)
- }, e.prototype.translate = function(e, t) {
- (0 !== e || 0 !== t) && (this.tmpVec3[0] = e, this.tmpVec3[1] = t, this.tmpVec3[2] = 0, mat4.translate(this.matMV, this.tmpVec3))
- }, e.prototype.scale = function(e, t) {
- (1 !== e || 1 !== t) && (this.tmpVec3[0] = e, this.tmpVec3[1] = t, this.tmpVec3[2] = 1, mat4.scale(this.matMV, this.tmpVec3))
- }, e.prototype.rotateZ = function(e) {
- 0 !== e && mat4.rotateZ(this.matMV, e)
- }, e.prototype.updateModelView = function() {
- for (var e = !1, t = 0; 16 > t; t++)
- if (this.lastMV[t] !== this.matMV[t]) {
- e = !0;
- break
- }
- if (e) {
- var n = this.pushBatch();
- n.type = h, n.mat4param ? mat4.set(this.matMV, n.mat4param) : n.mat4param = mat4.create(this.matMV), mat4.set(this.matMV, this.lastMV), this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
- }
- }, n.prototype.doSetTexture = function() {
- this.gl.bindTexture(this.gl.TEXTURE_2D, this.texParam)
- }, n.prototype.doSetTexture1 = function() {
- var e = this.gl;
- e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, this.texParam), e.activeTexture(e.TEXTURE0)
- }, n.prototype.doSetOpacity = function() {
- var e = this.opacityParam,
- t = this.glwrap;
- t.currentOpacity = e;
- var n = t.currentShader;
- n.locOpacity && this.gl.uniform1f(n.locOpacity, e)
- }, n.prototype.doQuad = function() {
- this.gl.drawElements(this.gl.TRIANGLES, this.indexCount, this.gl.UNSIGNED_SHORT, 2 * this.startIndex)
- }, n.prototype.doSetBlend = function() {
- this.gl.blendFunc(this.startIndex, this.indexCount)
- }, n.prototype.doUpdateModelView = function() {
- var e, t, n, r = this.glwrap.shaderPrograms,
- i = this.glwrap.currentProgram;
- for (e = 0, t = r.length; t > e; e++) n = r[e], e === i && n.locMatMV ? (this.gl.uniformMatrix4fv(n.locMatMV, !1, this.mat4param), n.hasCurrentMatMV = !0) : n.hasCurrentMatMV = !1;
- mat4.set(this.mat4param, this.glwrap.currentMV)
- }, n.prototype.doRenderToTexture = function() {
- var e = this.gl,
- t = this.glwrap;
- this.texParam ? (t.lastTexture1 === this.texParam && (e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, null), t.lastTexture1 = null, e.activeTexture(e.TEXTURE0)), e.bindFramebuffer(e.FRAMEBUFFER, t.fbo), e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0, e.TEXTURE_2D, this.texParam, 0)) : (e.framebufferTexture2D(e.FRAMEBUFFER, e.COLOR_ATTACHMENT0, e.TEXTURE_2D, null, 0), e.bindFramebuffer(e.FRAMEBUFFER, null))
- }, n.prototype.doClear = function() {
- var e = this.gl;
- 0 === this.startIndex ? (e.clearColor(this.mat4param[0], this.mat4param[1], this.mat4param[2], this.mat4param[3]), e.clear(e.COLOR_BUFFER_BIT)) : (e.enable(e.SCISSOR_TEST), e.scissor(this.mat4param[0], this.mat4param[1], this.mat4param[2], this.mat4param[3]), e.clearColor(0, 0, 0, 0), e.clear(this.gl.COLOR_BUFFER_BIT), e.disable(e.SCISSOR_TEST))
- }, n.prototype.doPoints = function() {
- var e = this.gl,
- t = this.glwrap,
- n = t.shaderPrograms[1];
- e.useProgram(n.shaderProgram), !n.hasCurrentMatMV && n.locMatMV && (e.uniformMatrix4fv(n.locMatMV, !1, t.currentMV), n.hasCurrentMatMV = !0), e.enableVertexAttribArray(n.locAPos), e.bindBuffer(e.ARRAY_BUFFER, t.pointBuffer), e.vertexAttribPointer(n.locAPos, 4, e.FLOAT, !1, 0, 0), e.drawArrays(e.POINTS, this.startIndex / 4, this.indexCount), n = t.currentShader, e.useProgram(n.shaderProgram), n.locAPos >= 0 && (e.enableVertexAttribArray(n.locAPos), e.bindBuffer(e.ARRAY_BUFFER, t.vertexBuffers[t.curBuffer]), e.vertexAttribPointer(n.locAPos, 2, e.FLOAT, !1, 0, 0)), n.locATex >= 0 && (e.enableVertexAttribArray(n.locATex), e.bindBuffer(e.ARRAY_BUFFER, t.texcoordBuffers[t.curBuffer]), e.vertexAttribPointer(n.locATex, 2, e.FLOAT, !1, 0, 0))
- }, n.prototype.doSetProgram = function() {
- var e = this.gl,
- t = this.glwrap,
- n = t.shaderPrograms[this.startIndex];
- t.currentProgram = this.startIndex, t.currentShader = n, e.useProgram(n.shaderProgram), !n.hasCurrentMatMV && n.locMatMV && (e.uniformMatrix4fv(n.locMatMV, !1, t.currentMV), n.hasCurrentMatMV = !0), n.locOpacity && e.uniform1f(n.locOpacity, t.currentOpacity), n.locAPos >= 0 && (e.enableVertexAttribArray(n.locAPos), e.bindBuffer(e.ARRAY_BUFFER, t.vertexBuffers[t.curBuffer]), e.vertexAttribPointer(n.locAPos, 2, e.FLOAT, !1, 0, 0)), n.locATex >= 0 && (e.enableVertexAttribArray(n.locATex), e.bindBuffer(e.ARRAY_BUFFER, t.texcoordBuffers[t.curBuffer]), e.vertexAttribPointer(n.locATex, 2, e.FLOAT, !1, 0, 0))
- }, n.prototype.doSetProgramParameters = function() {
- var e, t, n = this.glwrap.currentShader,
- r = this.gl,
- i = this.mat4param;
- if (n.locSamplerBack && this.glwrap.lastTexture1 !== this.texParam && (r.activeTexture(r.TEXTURE1), r.bindTexture(r.TEXTURE_2D, this.texParam), this.glwrap.lastTexture1 = this.texParam, r.activeTexture(r.TEXTURE0)), n.locPixelWidth && r.uniform1f(n.locPixelWidth, i[0]), n.locPixelHeight && r.uniform1f(n.locPixelHeight, i[1]), n.locDestStart && r.uniform2f(n.locDestStart, i[2], i[3]), n.locDestEnd && r.uniform2f(n.locDestEnd, i[4], i[5]), n.locLayerScale && r.uniform1f(n.locLayerScale, i[6]), n.locLayerAngle && r.uniform1f(n.locLayerAngle, i[7]), n.locViewOrigin && r.uniform2f(n.locViewOrigin, i[8], i[9]), n.locSeconds && r.uniform1f(n.locSeconds, cr.performance_now() / 1e3), n.parameters.length)
- for (e = 0, t = n.parameters.length; t > e; e++) r.uniform1f(n.parameters[e][1], this.shaderParams[e])
- }, e.prototype.pushBatch = function() {
- return this.batchPtr === this.batch.length && this.batch.push(new n(u, this)), this.batch[this.batchPtr++]
- }, e.prototype.endBatch = function() {
- if (0 !== this.batchPtr && !this.gl.isContextLost()) {
- var e = this.gl;
- if (this.pointPtr > 0 && (e.bindBuffer(e.ARRAY_BUFFER, this.pointBuffer), e.bufferData(e.ARRAY_BUFFER, this.pointData.subarray(0, this.pointPtr), e.STREAM_DRAW), t && t.locAPos >= 0 && "<point>" === t.name && e.vertexAttribPointer(t.locAPos, 4, e.FLOAT, !1, 0, 0)), this.vertexPtr > 0) {
- var t = this.currentShader;
- e.bindBuffer(e.ARRAY_BUFFER, this.vertexBuffers[this.curBuffer]), e.bufferData(e.ARRAY_BUFFER, this.vertexData.subarray(0, this.vertexPtr), e.STREAM_DRAW), t && t.locAPos >= 0 && "<point>" !== t.name && e.vertexAttribPointer(t.locAPos, 2, e.FLOAT, !1, 0, 0), e.bindBuffer(e.ARRAY_BUFFER, this.texcoordBuffers[this.curBuffer]), e.bufferData(e.ARRAY_BUFFER, this.texcoordData.subarray(0, this.vertexPtr), e.STREAM_DRAW), t && t.locATex >= 0 && "<point>" !== t.name && e.vertexAttribPointer(t.locATex, 2, e.FLOAT, !1, 0, 0)
- }
- var n, r, i;
- for (n = 0, r = this.batchPtr; r > n; n++) switch (i = this.batch[n], i.type) {
- case 1:
- i.doQuad();
- break;
- case 2:
- i.doSetTexture();
- break;
- case 3:
- i.doSetOpacity();
- break;
- case 4:
- i.doSetBlend();
- break;
- case 5:
- i.doUpdateModelView();
- break;
- case 6:
- i.doRenderToTexture();
- break;
- case 7:
- i.doClear();
- break;
- case 8:
- i.doPoints();
- break;
- case 9:
- i.doSetProgram();
- break;
- case 10:
- i.doSetProgramParameters();
- break;
- case 11:
- i.doSetTexture1()
- }
- this.batchPtr = 0, this.vertexPtr = 0, this.pointPtr = 0, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1, this.curBuffer++, this.curBuffer >= o && (this.curBuffer = 0)
- }
- }, e.prototype.setOpacity = function(e) {
- if (e !== this.lastOpacity) {
- var t = this.pushBatch();
- t.type = l, t.opacityParam = e, this.lastOpacity = e, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
- }
- }, e.prototype.setTexture = function(e) {
- if (e !== this.lastTexture0) {
- var t = this.pushBatch();
- t.type = f, t.texParam = e, this.lastTexture0 = e, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
- }
- }, e.prototype.setBlend = function(e, t) {
- if (e !== this.lastSrcBlend || t !== this.lastDestBlend) {
- var n = this.pushBatch();
- n.type = c, n.startIndex = e, n.indexCount = t, this.lastSrcBlend = e, this.lastDestBlend = t, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
- }
- }, e.prototype.isPremultipliedAlphaBlend = function() {
- return this.lastSrcBlend === this.gl.ONE && this.lastDestBlend === this.gl.ONE_MINUS_SRC_ALPHA
- }, e.prototype.setAlphaBlend = function() {
- this.setBlend(this.gl.ONE, this.gl.ONE_MINUS_SRC_ALPHA)
- }, e.prototype.setNoPremultiplyAlphaBlend = function() {
- this.setBlend(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA)
- };
- var y = 2 * r - 8;
- e.prototype.quad = function(e, t, n, r, i, s, o, u) {
- this.vertexPtr >= y && this.endBatch();
- var f = this.vertexPtr,
- l = this.vertexData,
- c = this.texcoordData;
- if (this.hasQuadBatchTop) this.batch[this.batchPtr - 1].indexCount += 6;
- else {
- var h = this.pushBatch();
- h.type = a, h.startIndex = f / 4 * 3, h.indexCount = 6, this.hasQuadBatchTop = !0, this.hasPointBatchTop = !1
- }
- l[f] = e, c[f++] = 0, l[f] = t, c[f++] = 0, l[f] = n, c[f++] = 1, l[f] = r, c[f++] = 0, l[f] = i, c[f++] = 1, l[f] = s, c[f++] = 1, l[f] = o, c[f++] = 0, l[f] = u, c[f++] = 1, this.vertexPtr = f
- }, e.prototype.quadTex = function(e, t, n, r, i, s, o, u, f) {
- this.vertexPtr >= y && this.endBatch();
- var l = this.vertexPtr,
- c = this.vertexData,
- h = this.texcoordData;
- if (this.hasQuadBatchTop) this.batch[this.batchPtr - 1].indexCount += 6;
- else {
- var p = this.pushBatch();
- p.type = a, p.startIndex = l / 4 * 3, p.indexCount = 6, this.hasQuadBatchTop = !0, this.hasPointBatchTop = !1
- }
- var d = f.left,
- v = f.top,
- m = f.right,
- g = f.bottom;
- c[l] = e, h[l++] = d, c[l] = t, h[l++] = v, c[l] = n, h[l++] = m, c[l] = r, h[l++] = v, c[l] = i, h[l++] = m, c[l] = s, h[l++] = g, c[l] = o, h[l++] = d, c[l] = u, h[l++] = g, this.vertexPtr = l
- }, e.prototype.quadTexUV = function(e, t, n, r, i, s, o, u, f, l, c, h, p, d, v, m) {
- this.vertexPtr >= y && this.endBatch();
- var g = this.vertexPtr,
- b = this.vertexData,
- w = this.texcoordData;
- if (this.hasQuadBatchTop) this.batch[this.batchPtr - 1].indexCount += 6;
- else {
- var E = this.pushBatch();
- E.type = a, E.startIndex = g / 4 * 3, E.indexCount = 6, this.hasQuadBatchTop = !0, this.hasPointBatchTop = !1
- }
- b[g] = e, w[g++] = f, b[g] = t, w[g++] = l, b[g] = n, w[g++] = c, b[g] = r, w[g++] = h, b[g] = i, w[g++] = p, b[g] = s, w[g++] = d, b[g] = o, w[g++] = v, b[g] = u, w[g++] = m, this.vertexPtr = g
- }, e.prototype.convexPoly = function(e) {
- var t, n, r, i, s, o, u, a, f = e.length / 2,
- l = f - 2,
- c = l - 1,
- h = e[0],
- p = e[1];
- for (t = 0; l > t; t += 2) n = 2 * t, r = e[n + 2], i = e[n + 3], s = e[n + 4], o = e[n + 5], t === c ? this.quad(h, p, r, i, s, o, s, o) : (u = e[n + 6], a = e[n + 7], this.quad(h, p, r, i, s, o, u, a))
- };
- var b = s - 4;
- e.prototype.point = function(e, t, n, r) {
- this.pointPtr >= b && this.endBatch();
- var i = this.pointPtr,
- s = this.pointData;
- if (this.hasPointBatchTop) this.batch[this.batchPtr - 1].indexCount++;
- else {
- var o = this.pushBatch();
- o.type = v, o.startIndex = i, o.indexCount = 1, this.hasPointBatchTop = !0, this.hasQuadBatchTop = !1
- }
- s[i++] = e, s[i++] = t, s[i++] = n, s[i++] = r, this.pointPtr = i
- }, e.prototype.switchProgram = function(e) {
- if (this.lastProgram !== e) {
- var t = this.shaderPrograms[e];
- if (!t) {
- if (0 === this.lastProgram) return;
- e = 0, t = this.shaderPrograms[0]
- }
- var n = this.pushBatch();
- n.type = m, n.startIndex = e, this.lastProgram = e, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
- }
- }, e.prototype.programUsesDest = function(e) {
- var t = this.shaderPrograms[e];
- return !(!t.locDestStart && !t.locDestEnd)
- }, e.prototype.programUsesCrossSampling = function(e) {
- var t = this.shaderPrograms[e];
- return !!(t.locDestStart || t.locDestEnd || t.crossSampling)
- }, e.prototype.programExtendsBox = function(e) {
- var t = this.shaderPrograms[e];
- return 0 !== t.extendBoxHorizontal || 0 !== t.extendBoxVertical
- }, e.prototype.getProgramBoxExtendHorizontal = function(e) {
- return this.shaderPrograms[e].extendBoxHorizontal
- }, e.prototype.getProgramBoxExtendVertical = function(e) {
- return this.shaderPrograms[e].extendBoxVertical
- }, e.prototype.getProgramParameterType = function(e, t) {
- return this.shaderPrograms[e].parameters[t][2]
- }, e.prototype.programIsAnimated = function(e) {
- return this.shaderPrograms[e].animated
- }, e.prototype.setProgramParameters = function(e, t, n, r, i, s, o, u, a, f, l, c) {
- var h, p, d, v, m, y = this.shaderPrograms[this.lastProgram];
- if (y.hasAnyOptionalUniforms || c.length) {
- if (d = this.pushBatch(), d.type = g, d.mat4param ? mat4.set(this.matMV, d.mat4param) : d.mat4param = mat4.create(), v = d.mat4param, v[0] = t, v[1] = n, v[2] = r, v[3] = i, v[4] = s, v[5] = o, v[6] = u, v[7] = a, v[8] = f, v[9] = l, d.texParam = y.locSamplerBack ? e : null, c.length)
- for (m = d.shaderParams, m.length = c.length, h = 0, p = c.length; p > h; h++) m[h] = c[h];
- this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
- }
- }, e.prototype.clear = function(e, t, n, r) {
- var i = this.pushBatch();
- i.type = d, i.startIndex = 0, i.mat4param || (i.mat4param = mat4.create()), i.mat4param[0] = e, i.mat4param[1] = t, i.mat4param[2] = n, i.mat4param[3] = r, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
- }, e.prototype.clearRect = function(e, t, n, r) {
- if (!(0 > n || 0 > r)) {
- var i = this.pushBatch();
- i.type = d, i.startIndex = 1, i.mat4param || (i.mat4param = mat4.create()), i.mat4param[0] = e, i.mat4param[1] = t, i.mat4param[2] = n, i.mat4param[3] = r, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
- }
- }, e.prototype.present = function() {
- this.endBatch(), this.gl.flush()
- };
- var w = [],
- E = {},
- S = 1,
- x = 2,
- T = 3,
- N = 4;
- e.prototype.loadTexture = function(e, t, n, r, i, s) {
- t = !!t, n = !!n;
- // updateShare(0, 0);
- var o = e.src + "," + t + "," + n + (t ? "," + i : ""),
- u = null;
- if ("undefined" != typeof e.src && E.hasOwnProperty(o)) return u = E[o], u.c2refcount++, u;
- this.endBatch();
- var a = this.gl,
- f = cr.isPOT(e.width) && cr.isPOT(e.height);
- u = a.createTexture(), a.bindTexture(a.TEXTURE_2D, u), a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0);
- var l = a.RGBA,
- c = a.RGBA,
- h = a.UNSIGNED_BYTE;
- if (r && !this.isIE) switch (r) {
- case S:
- l = a.RGB, c = a.RGB;
- break;
- case x:
- h = a.UNSIGNED_SHORT_4_4_4_4;
- break;
- case T:
- h = a.UNSIGNED_SHORT_5_5_5_1;
- break;
- case N:
- l = a.RGB, c = a.RGB, h = a.UNSIGNED_SHORT_5_6_5
- }
- if (!f && t) {
- var p = document.createElement("canvas");
- p.width = cr.nextHighestPowerOfTwo(e.width), p.height = cr.nextHighestPowerOfTwo(e.height);
- var d = p.getContext("2d");
- d.webkitImageSmoothingEnabled = n, d.mozImageSmoothingEnabled = n, d.msImageSmoothingEnabled = n, d.imageSmoothingEnabled = n, d.drawImage(e, 0, 0, e.width, e.height, 0, 0, p.width, p.height), a.texImage2D(a.TEXTURE_2D, 0, l, c, h, p)
- } else a.texImage2D(a.TEXTURE_2D, 0, l, c, h, e);
- return t ? "repeat-x" === i ? (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.REPEAT), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.CLAMP_TO_EDGE)) : "repeat-y" === i ? (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.CLAMP_TO_EDGE), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.REPEAT)) : (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.REPEAT), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.REPEAT)) : (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.CLAMP_TO_EDGE), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.CLAMP_TO_EDGE)), n ? (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.LINEAR), f && this.enable_mipmaps && !s ? (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR_MIPMAP_LINEAR), a.generateMipmap(a.TEXTURE_2D)) : a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR)) : (a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.NEAREST), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.NEAREST)), a.bindTexture(a.TEXTURE_2D, null), this.lastTexture0 = null, u.c2width = e.width, u.c2height = e.height, u.c2refcount = 1, u.c2texkey = o, w.push(u), E[o] = u, u
- }, e.prototype.createEmptyTexture = function(e, t, n, r, i) {
- this.endBatch();
- var s = this.gl;
- this.isIE && (r = !1);
- var o = s.createTexture();
- return s.bindTexture(s.TEXTURE_2D, o), s.texImage2D(s.TEXTURE_2D, 0, s.RGBA, e, t, 0, s.RGBA, r ? s.UNSIGNED_SHORT_4_4_4_4 : s.UNSIGNED_BYTE, null), i ? (s.texParameteri(s.TEXTURE_2D, s.TEXTURE_WRAP_S, s.REPEAT), s.texParameteri(s.TEXTURE_2D, s.TEXTURE_WRAP_T, s.REPEAT)) : (s.texParameteri(s.TEXTURE_2D, s.TEXTURE_WRAP_S, s.CLAMP_TO_EDGE), s.texParameteri(s.TEXTURE_2D, s.TEXTURE_WRAP_T, s.CLAMP_TO_EDGE)), s.texParameteri(s.TEXTURE_2D, s.TEXTURE_MAG_FILTER, n ? s.LINEAR : s.NEAREST), s.texParameteri(s.TEXTURE_2D, s.TEXTURE_MIN_FILTER, n ? s.LINEAR : s.NEAREST), s.bindTexture(s.TEXTURE_2D, null), this.lastTexture0 = null, o.c2width = e, o.c2height = t, w.push(o), o
- }, e.prototype.videoToTexture = function(e, t, n) {
- this.endBatch();
- var r = this.gl;
- this.isIE && (n = !1), r.bindTexture(r.TEXTURE_2D, t), r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0), r.texImage2D(r.TEXTURE_2D, 0, r.RGBA, r.RGBA, n ? r.UNSIGNED_SHORT_4_4_4_4 : r.UNSIGNED_BYTE, e), r.bindTexture(r.TEXTURE_2D, null), this.lastTexture0 = null
- }, e.prototype.deleteTexture = function(e) {
- if (e) {
- if ("undefined" != typeof e.c2refcount && e.c2refcount > 1) return void(e.c2refcount--);
- this.endBatch(), e === this.lastTexture0 && (this.gl.bindTexture(this.gl.TEXTURE_2D, null), this.lastTexture0 = null), e === this.lastTexture1 && (this.gl.activeTexture(this.gl.TEXTURE1), this.gl.bindTexture(this.gl.TEXTURE_2D, null), this.gl.activeTexture(this.gl.TEXTURE0), this.lastTexture1 = null), cr.arrayFindRemove(w, e), "undefined" != typeof e.c2texkey && delete E[e.c2texkey], this.gl.deleteTexture(e)
- }
- }, e.prototype.estimateVRAM = function() {
- var e, t, n, r = this.width * this.height * 4 * 2;
- for (e = 0, t = w.length; t > e; e++) n = w[e], r += n.c2width * n.c2height * 4;
- return r
- }, e.prototype.textureCount = function() {
- return w.length
- }, e.prototype.setRenderingToTexture = function(e) {
- if (e !== this.renderToTex) {
- var t = this.pushBatch();
- t.type = p, t.texParam = e, this.renderToTex = e, this.hasQuadBatchTop = !1, this.hasPointBatchTop = !1
- }
- }, cr.GLWrap = e
- }(),
- function() {
- function e(e) {
- if (e && (e.getContext || e.dc) && !e.c2runtime) {
- e.c2runtime = this;
- var t = this;
- this.isCrosswalk = /crosswalk/i.test(navigator.userAgent) || /xwalk/i.test(navigator.userAgent) || !("undefined" == typeof window.c2isCrosswalk || !window.c2isCrosswalk), this.isPhoneGap = !this.isCrosswalk && "undefined" != typeof window.device && ("undefined" != typeof window.device.cordova || "undefined" != typeof window.device.phonegap) || "undefined" != typeof window.c2isphonegap && window.c2isphonegap, this.isDirectCanvas = !!e.dc, this.isAppMobi = "undefined" != typeof window.AppMobi || this.isDirectCanvas, this.isCocoonJs = !!window.c2cocoonjs, this.isEjecta = !!window.c2ejecta, this.isCocoonJs && (CocoonJS.App.onSuspended.addEventListener(function() {
- t.setSuspended(!0)
- }), CocoonJS.App.onActivated.addEventListener(function() {
- t.setSuspended(!1)
- })), this.isEjecta && (document.addEventListener("pagehide", function() {
- t.setSuspended(!0)
- }), document.addEventListener("pageshow", function() {
- t.setSuspended(!1)
- }), document.addEventListener("resize", function() {
- t.setSize(window.innerWidth, window.innerHeight)
- })), this.isDomFree = this.isDirectCanvas || this.isCocoonJs || this.isEjecta, this.isIE = /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent) || /iemobile/i.test(navigator.userAgent), this.isTizen = /tizen/i.test(navigator.userAgent), this.isAndroid = /android/i.test(navigator.userAgent) && !this.isTizen && !this.isIE, this.isiPhone = (/iphone/i.test(navigator.userAgent) || /ipod/i.test(navigator.userAgent)) && !this.isIE, this.isiPad = /ipad/i.test(navigator.userAgent), this.isiOS = this.isiPhone || this.isiPad || this.isEjecta, this.isiPhoneiOS6 = this.isiPhone && /os\s6/i.test(navigator.userAgent), this.isChrome = /chrome/i.test(navigator.userAgent) || /chromium/i.test(navigator.userAgent), this.isAmazonWebApp = /amazonwebappplatform/i.test(navigator.userAgent), this.isFirefox = /firefox/i.test(navigator.userAgent), this.isSafari = /safari/i.test(navigator.userAgent) && !this.isChrome && !this.isIE, this.isWindows = /windows/i.test(navigator.userAgent), this.isNodeWebkit = "undefined" != typeof window.c2nodewebkit || /nodewebkit/i.test(navigator.userAgent), this.isArcade = "undefined" != typeof window.is_scirra_arcade, this.isWindows8App = !("undefined" == typeof window.c2isWindows8 || !window.c2isWindows8), this.isWindows8Capable = !("undefined" == typeof window.c2isWindows8Capable || !window.c2isWindows8Capable), this.isWindowsPhone8 = !("undefined" == typeof window.c2isWindowsPhone8 || !window.c2isWindowsPhone8), this.isWindowsPhone81 = !("undefined" == typeof window.c2isWindowsPhone81 || !window.c2isWindowsPhone81), this.isWinJS = this.isWindows8App || this.isWindows8Capable || this.isWindowsPhone81, this.isBlackberry10 = !("undefined" == typeof window.c2isBlackberry10 || !window.c2isBlackberry10), this.isAndroidStockBrowser = this.isAndroid && !this.isChrome && !this.isFirefox && !this.isAmazonWebApp && !this.isDomFree, this.devicePixelRatio = 1, this.isMobile = this.isPhoneGap || this.isCrosswalk || this.isAppMobi || this.isCocoonJs || this.isAndroid || this.isiOS || this.isWindowsPhone8 || this.isWindowsPhone81 || this.isBlackberry10 || this.isTizen || this.isEjecta, this.isMobile || (this.isMobile = /(blackberry|bb10|playbook|palm|symbian|nokia|windows\s+ce|phone|mobile|tablet|kindle|silk)/i.test(navigator.userAgent)), "undefined" == typeof cr_is_preview || this.isNodeWebkit || "?nw" !== window.location.search && !/nodewebkit/i.test(navigator.userAgent) || (this.isNodeWebkit = !0), this.isDebug = "undefined" != typeof cr_is_preview && window.location.search.indexOf("debug") > -1, this.canvas = e, this.canvasdiv = document.getElementById("c2canvasdiv"), this.gl = null, this.glwrap = null, this.ctx = null, this.fullscreenOldMarginCss = "", this.firstInFullscreen = !1, this.oldWidth = 0, this.oldHeight = 0, this.canvas.oncontextmenu = function(e) {
- return e.preventDefault && e.preventDefault(), !1
- }, this.canvas.onselectstart = function(e) {
- return e.preventDefault && e.preventDefault(), !1
- }, this.isDirectCanvas && (window.c2runtime = this), this.isNodeWebkit && (window.ondragover = function(e) {
- return e.preventDefault(), !1
- }, window.ondrop = function(e) {
- return e.preventDefault(), !1
- }, require("nw.gui").App.clearCache()), this.width = e.width, this.height = e.height, this.draw_width = this.width, this.draw_height = this.height, this.cssWidth = this.width, this.cssHeight = this.height, this.lastWindowWidth = window.innerWidth, this.lastWindowHeight = window.innerHeight, this.redraw = !0, this.isSuspended = !1, Date.now || (Date.now = function() {
- return +(new Date)
- }), this.plugins = [], this.types = {}, this.types_by_index = [], this.behaviors = [], this.layouts = {}, this.layouts_by_index = [], this.eventsheets = {}, this.eventsheets_by_index = [], this.wait_for_textures = [], this.triggers_to_postinit = [], this.all_global_vars = [], this.all_local_vars = [], this.solidBehavior = null, this.jumpthruBehavior = null, this.shadowcasterBehavior = null, this.deathRow = new cr.ObjectSet, this.isInClearDeathRow = !1, this.isInOnDestroy = 0, this.isRunningEvents = !1, this.createRow = [], this.isLoadingState = !1, this.saveToSlot = "", this.loadFromSlot = "", this.loadFromJson = "", this.lastSaveJson = "", this.signalledContinuousPreview = !1, this.suspendDrawing = !1, this.dt = 0, this.dt1 = 0, this.logictime = 0, this.cpuutilisation = 0, this.zeroDtCount = 0, this.timescale = 1, this.kahanTime = new cr.KahanAdder, this.last_tick_time = 0, this.measuring_dt = !0, this.fps = 0, this.last_fps_time = 0, this.tickcount = 0, this.execcount = 0, this.framecount = 0, this.objectcount = 0, this.changelayout = null, this.destroycallbacks = [], this.event_stack = [], this.event_stack_index = -1, this.localvar_stack = [
- []
- ], this.localvar_stack_index = 0, this.trigger_depth = 0, this.pushEventStack(null), this.loop_stack = [], this.loop_stack_index = -1, this.next_uid = 0, this.next_puid = 0, this.layout_first_tick = !0, this.family_count = 0, this.suspend_events = [], this.raf_id = -1, this.timeout_id = -1, this.isloading = !0, this.loadingprogress = 0, this.isNodeFullscreen = !1, this.stackLocalCount = 0, this.audioInstance = null, this.halfFramerateMode = !1, this.lastRafTime = 0, this.ranLastRaf = !1, this.had_a_click = !1, this.isInUserInputEvent = !1, this.objects_to_pretick = new cr.ObjectSet, this.objects_to_tick = new cr.ObjectSet, this.objects_to_tick2 = new cr.ObjectSet, this.registered_collisions = [], this.temp_poly = new cr.CollisionPoly([]), this.temp_poly2 = new cr.CollisionPoly([]), this.allGroups = [], this.groups_by_name = {}, this.cndsBySid = {}, this.actsBySid = {}, this.varsBySid = {}, this.blocksBySid = {}, this.running_layout = null, this.layer_canvas = null, this.layer_ctx = null, this.layer_tex = null, this.layout_tex = null, this.layout_canvas = null, this.layout_ctx = null, this.is_WebGL_context_lost = !1, this.uses_background_blending = !1, this.fx_tex = [null, null], this.fullscreen_scaling = 0, this.files_subfolder = "", this.objectsByUid = {}, this.loaderlogo = null, this.snapshotCanvas = null, this.snapshotData = "", this.load(), this.isRetina = (!this.isDomFree || this.isEjecta) && this.useHighDpi && !this.isAndroidStockBrowser, this.devicePixelRatio = this.isRetina ? window.devicePixelRatio || window.webkitDevicePixelRatio || window.mozDevicePixelRatio || window.msDevicePixelRatio || 1 : 1, this.ClearDeathRow();
- var n, r = this.alphaBackground && !(this.isNodeWebkit || this.isWinJS || this.isWindowsPhone8 || this.isCrosswalk);
- this.fullscreen_mode > 0 && this.setSize(window.innerWidth, window.innerHeight, !0);
- try {
- this.enableWebGL && (this.isCocoonJs || this.isEjecta || !this.isDomFree) && (n = {
- alpha: r,
- depth: !1,
- antialias: !1,
- failIfMajorPerformanceCaveat: !0
- }, this.gl = e.getContext("webgl", n) || e.getContext("experimental-webgl", n))
- } catch (i) {}
- if (this.gl) {
- this.isDomFree || (this.overlay_canvas = document.createElement("canvas"), jQuery(this.overlay_canvas).appendTo(this.canvas.parentNode), this.overlay_canvas.oncontextmenu = function() {
- return !1
- }, this.overlay_canvas.onselectstart = function() {
- return !1
- }, this.overlay_canvas.width = this.cssWidth, this.overlay_canvas.height = this.cssHeight, jQuery(this.overlay_canvas).css({
- width: this.cssWidth + "px",
- height: this.cssHeight + "px"
- }), this.positionOverlayCanvas(), this.overlay_ctx = this.overlay_canvas.getContext("2d")), this.glwrap = new cr.GLWrap(this.gl, this.isMobile), this.glwrap.setSize(e.width, e.height), this.glwrap.enable_mipmaps = 0 !== this.downscalingQuality, this.ctx = null, this.canvas.addEventListener("webglcontextlost", function(e) {
- e.preventDefault(), t.onContextLost(), console.log("[Construct 2] WebGL context lost"), window.cr_setSuspended(!0)
- }, !1), this.canvas.addEventListener("webglcontextrestored", function() {
- t.glwrap.initState(), t.glwrap.setSize(t.glwrap.width, t.glwrap.height, !0), t.layer_tex = null, t.layout_tex = null, t.fx_tex[0] = null, t.fx_tex[1] = null, t.onContextRestored(), t.redraw = !0, console.log("[Construct 2] WebGL context restored"), window.cr_setSuspended(!1)
- }, !1);
- var s, o, u, a, f, l, c, h, p, d;
- for (s = 0, o = this.types_by_index.length; o > s; s++)
- for (c = this.types_by_index[s], u = 0, a = c.effect_types.length; a > u; u++) h = c.effect_types[u], h.shaderindex = this.glwrap.getShaderIndex(h.id), this.uses_background_blending = this.uses_background_blending || this.glwrap.programUsesDest(h.shaderindex);
- for (s = 0, o = this.layouts_by_index.length; o > s; s++) {
- for (p = this.layouts_by_index[s], u = 0, a = p.effect_types.length; a > u; u++) h = p.effect_types[u], h.shaderindex = this.glwrap.getShaderIndex(h.id);
- for (u = 0, a = p.layers.length; a > u; u++)
- for (d = p.layers[u], f = 0, l = d.effect_types.length; l > f; f++) h = d.effect_types[f], h.shaderindex = this.glwrap.getShaderIndex(h.id), this.uses_background_blending = this.uses_background_blending || this.glwrap.programUsesDest(h.shaderindex)
- }
- } else {
- if (this.fullscreen_mode > 0 && this.isDirectCanvas) {
- this.canvas = null, document.oncontextmenu = function() {
- return !1
- }, document.onselectstart = function() {
- return !1
- }, this.ctx = AppMobi.canvas.getContext("2d");
- try {
- this.ctx.samplingMode = this.linearSampling ? "smooth" : "sharp", this.ctx.globalScale = 1, this.ctx.HTML5CompatibilityMode = !0, this.ctx.imageSmoothingEnabled = this.linearSampling
- } catch (i) {}
- 0 !== this.width && 0 !== this.height && (this.ctx.width = this.width, this.ctx.height = this.height)
- }
- this.ctx || (this.isCocoonJs ? (n = {
- antialias: !!this.linearSampling,
- alpha: r
- }, this.ctx = e.getContext("2d", n)) : (n = {
- alpha: r
- }, this.ctx = e.getContext("2d", n)), this.ctx.webkitImageSmoothingEnabled = this.linearSampling, this.ctx.mozImageSmoothingEnabled = this.linearSampling, this.ctx.msImageSmoothingEnabled = this.linearSampling, this.ctx.imageSmoothingEnabled = this.linearSampling), this.overlay_canvas = null, this.overlay_ctx = null
- }
- this.tickFunc = function() {
- t.tick(!1)
- }, window == window.top || this.isDomFree || this.isWinJS || this.isWindowsPhone8 || (document.addEventListener("mousedown", function() {
- window.focus()
- }, !0), document.addEventListener("touchstart", function() {
- window.focus()
- }, !0)), "undefined" != typeof cr_is_preview && (this.isCocoonJs && console.log("[Construct 2] In preview-over-wifi via CocoonJS mode"), window.location.search.indexOf("continuous") > -1 && (cr.logexport("Reloading for continuous preview"), this.loadFromSlot = "__c2_continuouspreview", this.suspendDrawing = !0), this.pauseOnBlur && !this.isMobile && (jQuery(window).focus(function() {
- t.setSuspended(!1)
- }), jQuery(window).blur(function() {
- t.setSuspended(!0)
- })));
- var v = function(e) {
- cr.isCanvasInputEvent(e) && document.activeElement && document.activeElement.blur && document.activeElement.blur()
- };
- window.navigator.pointerEnabled ? document.addEventListener("pointerdown", v) : window.navigator.msPointerEnabled ? document.addEventListener("MSPointerDown", v) : document.addEventListener("touchstart", v), 0 === this.fullscreen_mode && this.isRetina && this.devicePixelRatio > 1 && this.setSize(this.original_width, this.original_height, !0), this.tryLockOrientation(), this.getready(), this.go(), this.extra = {}, cr.seal(this)
- }
- }
- function t(e) {
- var t = e.target.result;
- t.createObjectStore("saves", {
- keyPath: "slot"
- })
- }
- function n(e, n, r, i) {
- var s = indexedDB.open("_C2SaveStates");
- s.onupgradeneeded = t, s.onerror = i, s.onsuccess = function(t) {
- var s = t.target.result;
- s.onerror = i;
- var o = s.transaction(["saves"], "readwrite"),
- u = o.objectStore("saves"),
- a = u.put({
- slot: e,
- data: n
- });
- a.onsuccess = r
- }
- }
- function r(e, n, r) {
- var i = indexedDB.open("_C2SaveStates");
- i.onupgradeneeded = t, i.onerror = r, i.onsuccess = function(t) {
- var i = t.target.result;
- i.onerror = r;
- var s = i.transaction(["saves"]),
- o = s.objectStore("saves"),
- u = o.get(e);
- u.onsuccess = function() {
- n(u.result ? u.result.data : null)
- }
- }
- }
- function i() {
- cr.logexport("Reloading for continuous preview"), window.c2cocoonjs ? CocoonJS.App.reload() : window.location.search.indexOf("continuous") > -1 ? window.location.reload(!0) : window.location = window.location + "?continuous"
- }
- function s(e) {
- var t, n = {};
- for (t in e)
- if (e.hasOwnProperty(t)) {
- if (e[t] instanceof cr.ObjectSet) continue;
- if (e[t] && "undefined" != typeof e[t].c2userdata) continue;
- n[t] = e[t]
- }
- return n
- }
- e.prototype.setSize = function(e, t, n) {
- var r = 0,
- i = 0,
- s = 0,
- o = 0,
- u = 0,
- a = this.isiPhoneiOS6 && this.isSafari && !navigator.standalone && !this.isDomFree && !this.isPhoneGap;
- if (a && (t += 60), this.lastWindowWidth !== e || this.lastWindowHeight !== t || n) {
- this.lastWindowWidth = e, this.lastWindowHeight = t;
- var f, l, c = this.fullscreen_mode,
- h = (document.mozFullScreen || document.webkitIsFullScreen || !!document.msFullscreenElement || document.fullScreen || this.isNodeFullscreen) && !this.isPhoneGap;
- if (h || 0 !== this.fullscreen_mode || n) {
- h && this.fullscreen_scaling > 0 && (c = this.fullscreen_scaling);
- var p = this.devicePixelRatio;
- c >= 4 ? (f = this.original_width / this.original_height, l = e / t, l > f ? (s = t * f, 5 === c ? (u = s * p / this.original_width, u > 1 ? u = Math.floor(u) : 1 > u && (u = 1 / Math.ceil(1 / u)), s = this.original_width * u / p, o = this.original_height * u / p, r = (e - s) / 2, i = (t - o) / 2, e = s, t = o) : (r = (e - s) / 2, e = s)) : (o = e / f, 5 === c ? (u = o * p / this.original_height, u > 1 ? u = Math.floor(u) : 1 > u && (u = 1 / Math.ceil(1 / u)), s = this.original_width * u / p, o = this.original_height * u / p, r = (e - s) / 2, i = (t - o) / 2, e = s, t = o) : (i = (t - o) / 2, t = o)), h && !this.isNodeWebkit && (r = 0, i = 0)) : this.isNodeWebkit && this.isNodeFullscreen && 0 === this.fullscreen_mode_set && (r = Math.floor((e - this.original_width) / 2), i = Math.floor((t - this.original_height) / 2), e = this.original_width, t = this.original_height), 2 > c && (this.aspect_scale = p), this.isRetina && this.isiPad && p > 1 && (e >= 1024 && (e = 1023), t >= 1024 && (t = 1023)), this.cssWidth = Math.round(e), this.cssHeight = Math.round(t), this.width = Math.round(e * p), this.height = Math.round(t * p), this.redraw = !0, this.wantFullscreenScalingQuality ? (this.draw_width = this.width, this.draw_height = this.height, this.fullscreenScalingQuality = !0) : this.width < this.original_width && this.height < this.original_height || 1 === c ? (this.draw_width = this.width, this.draw_height = this.height, this.fullscreenScalingQuality = !0) : (this.draw_width = this.original_width, this.draw_height = this.original_height, this.fullscreenScalingQuality = !1, 2 === c ? (f = this.original_width / this.original_height, l = this.lastWindowWidth / this.lastWindowHeight, f > l ? this.draw_width = this.draw_height * l : l > f && (this.draw_height = this.draw_width / l)) : 3 === c && (f = this.original_width / this.original_height, l = this.lastWindowWidth / this.lastWindowHeight, l > f ? this.draw_width = this.draw_height * l : f > l && (this.draw_height = this.draw_width / l))), this.canvasdiv && !this.isDomFree && (jQuery(this.canvasdiv).css({
- width: Math.round(e) + "px",
- height: Math.round(t) + "px",
- "margin-left": Math.floor(r) + "px",
- "margin-top": Math.floor(i) + "px"
- }), "undefined" != typeof cr_is_preview && jQuery("#borderwrap").css({
- width: Math.round(e) + "px",
- height: Math.round(t) + "px"
- })), this.canvas && (this.canvas.width = Math.round(e * p), this.canvas.height = Math.round(t * p), this.isEjecta ? (this.canvas.style.left = Math.floor(r) + "px", this.canvas.style.top = Math.floor(i) + "px", this.canvas.style.width = Math.round(e) + "px", this.canvas.style.height = Math.round(t) + "px") : this.isRetina && !this.isDomFree && jQuery(this.canvas).css({
- width: Math.round(e) + "px",
- height: Math.round(t) + "px"
- })), this.overlay_canvas && (this.overlay_canvas.width = Math.round(e), this.overlay_canvas.height = Math.round(t), jQuery(this.overlay_canvas).css({
- width: Math.round(e) + "px",
- height: Math.round(t) + "px"
- })), this.glwrap && this.glwrap.setSize(Math.round(e * p), Math.round(t * p)), this.isDirectCanvas && this.ctx && (this.ctx.width = Math.round(e), this.ctx.height = Math.round(t)), this.ctx && (this.ctx.webkitImageSmoothingEnabled = this.linearSampling, this.ctx.mozImageSmoothingEnabled = this.linearSampling, this.ctx.msImageSmoothingEnabled = this.linearSampling, this.ctx.imageSmoothingEnabled = this.linearSampling), this.tryLockOrientation(), this.isDomFree || !a && !this.isiPhone || window.setTimeout(function() {
- window.scrollTo(0, 1)
- }, 100)
- }
- }
- }, e.prototype.tryLockOrientation = function() {
- if (this.autoLockOrientation && 0 !== this.orientations) {
- var e = "portrait";
- 2 === this.orientations && (e = "landscape"), screen.lockOrientation ? screen.lockOrientation(e) : screen.webkitLockOrientation ? screen.webkitLockOrientation(e) : screen.mozLockOrientation ? screen.mozLockOrientation(e) : screen.msLockOrientation && screen.msLockOrientation(e)
- }
- }, e.prototype.onContextLost = function() {
- this.is_WebGL_context_lost = !0;
- var e, t, n;
- for (e = 0, t = this.types_by_index.length; t > e; e++) n = this.types_by_index[e], n.onLostWebGLContext && n.onLostWebGLContext()
- }, e.prototype.onContextRestored = function() {
- this.is_WebGL_context_lost = !1;
- var e, t, n;
- for (e = 0, t = this.types_by_index.length; t > e; e++) n = this.types_by_index[e], n.onRestoreWebGLContext && n.onRestoreWebGLContext()
- }, e.prototype.positionOverlayCanvas = function() {
- if (!this.isDomFree) {
- var e = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement || this.isNodeFullscreen) && !this.isPhoneGap,
- t = e ? jQuery(this.canvas).offset() : jQuery(this.canvas).position();
- t.position = "absolute", jQuery(this.overlay_canvas).css(t)
- }
- };
- var o = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.msCancelAnimationFrame || window.oCancelAnimationFrame;
- e.prototype.setSuspended = function(e) {
- var t, n;
- if (e && !this.isSuspended)
- for (cr.logexport("[Construct 2] Suspending"), this.isSuspended = !0, -1 !== this.raf_id && o && o(this.raf_id), -1 !== this.timeout_id && clearTimeout(this.timeout_id), t = 0, n = this.suspend_events.length; n > t; t++) this.suspend_events[t](!0);
- else if (!e && this.isSuspended) {
- for (cr.logexport("[Construct 2] Resuming"), this.isSuspended = !1, this.last_tick_time = cr.performance_now(), this.last_fps_time = cr.performance_now(), this.framecount = 0, this.logictime = 0, t = 0, n = this.suspend_events.length; n > t; t++) this.suspend_events[t](!1);
- this.tick(!1)
- }
- }, e.prototype.addSuspendCallback = function(e) {
- this.suspend_events.push(e)
- }, e.prototype.load = function() {
- var e = cr.getProjectModel();
- this.name = e[0], this.first_layout = e[1], this.fullscreen_mode = e[12], this.fullscreen_mode_set = e[12], this.original_width = e[10], this.original_height = e[11], this.parallax_x_origin = this.original_width / 2, this.parallax_y_origin = this.original_height / 2, this.isDomFree && !this.isEjecta && (e[12] >= 4 || 0 === e[12]) && (cr.logexport("[Construct 2] Letterbox scale fullscreen modes are not supported on this platform - falling back to 'Scale outer'"), this.fullscreen_mode = 3, this.fullscreen_mode_set = 3), this.uses_loader_layout = e[18], this.loaderstyle = e[19], 0 === this.loaderstyle && (this.loaderlogo = new Image, this.loaderlogo.src = "loading-logo.png"), this.next_uid = e[21], this.system = new cr.system_object(this);
- var t, n, r, i, s, o, u, a, f, l, c, h;
- for (t = 0, n = e[2].length; n > t; t++) u = e[2][t], cr.add_common_aces(u), c = new u[0](this), c.singleglobal = u[1], c.is_world = u[2], c.must_predraw = u[9], c.onCreate && c.onCreate(), cr.seal(c), this.plugins.push(c);
- for (e = cr.getProjectModel(), t = 0, n = e[3].length; n > t; t++) {
- for (u = e[3][t], h = u[1], c = null, r = 0, i = this.plugins.length; i > r; r++)
- if (this.plugins[r] instanceof h) {
- c = this.plugins[r];
- break
- }
- var p = new c.Type(c);
- for (p.name = u[0], p.is_family = u[2], p.instvar_sids = u[3].slice(0), p.vars_count = u[3].length, p.behs_count = u[4], p.fx_count = u[5], p.sid = u[11], p.is_family ? (p.members = [], p.family_index = this.family_count++, p.families = null) : (p.members = null, p.family_index = -1, p.families = []), p.family_var_map = null, p.family_beh_map = null, p.family_fx_map = null, p.is_contained = !1, p.container = null, u[6] ? (p.texture_file = u[6][0], p.texture_filesize = u[6][1], p.texture_pixelformat = u[6][2]) : (p.texture_file = null, p.texture_filesize = 0, p.texture_pixelformat = 0), p.animations = u[7] ? u[7] : null, p.index = t, p.instances = [], p.deadCache = [], p.solstack = [new cr.selection(p)], p.cur_sol = 0, p.default_instance = null, p.default_layerindex = 0, p.stale_iids = !0, p.updateIIDs = cr.type_updateIIDs, p.getFirstPicked = cr.type_getFirstPicked, p.getPairedInstance = cr.type_getPairedInstance, p.getCurrentSol = cr.type_getCurrentSol, p.pushCleanSol = cr.type_pushCleanSol, p.pushCopySol = cr.type_pushCopySol, p.popSol = cr.type_popSol, p.getBehaviorByName = cr.type_getBehaviorByName, p.getBehaviorIndexByName = cr.type_getBehaviorIndexByName, p.getEffectIndexByName = cr.type_getEffectIndexByName, p.applySolToContainer = cr.type_applySolToContainer, p.getInstanceByIID = cr.type_getInstanceByIID, p.collision_grid = new cr.SparseGrid(this.original_width, this.original_height), p.any_cell_changed = !0, p.any_instance_parallaxed = !1, p.extra = {}, p.toString = cr.type_toString, p.behaviors = [], r = 0, i = u[8].length; i > r; r++) {
- a = u[8][r];
- var d = a[1],
- v = null;
- for (s = 0, o = this.behaviors.length; o > s; s++)
- if (this.behaviors[s] instanceof d) {
- v = this.behaviors[s];
- break
- }
- v || (v = new d(this), v.my_types = [], v.my_instances = new cr.ObjectSet, v.onCreate && v.onCreate(), cr.seal(v), this.behaviors.push(v), cr.behaviors.solid && v instanceof cr.behaviors.solid && (this.solidBehavior = v), cr.behaviors.jumpthru && v instanceof cr.behaviors.jumpthru && (this.jumpthruBehavior = v), cr.behaviors.shadowcaster && v instanceof cr.behaviors.shadowcaster && (this.shadowcasterBehavior = v)), -1 === v.my_types.indexOf(p) && v.my_types.push(p);
- var m = new v.Type(v, p);
- m.name = a[0], m.sid = a[2], m.onCreate(), cr.seal(m), p.behaviors.push(m)
- }
- for (p.global = u[9], p.isOnLoaderLayout = u[10], p.effect_types = [], r = 0, i = u[12].length; i > r; r++) p.effect_types.push({
- id: u[12][r][0],
- name: u[12][r][1],
- shaderindex: -1,
- active: !0,
- index: r
- });
- if (p.tile_poly_data = u[13], (!this.uses_loader_layout || p.is_family || p.isOnLoaderLayout || !c.is_world) && (p.onCreate(), cr.seal(p)), p.name && (this.types[p.name] = p), this.types_by_index.push(p), c.singleglobal) {
- var g = new c.Instance(p);
- g.uid = this.next_uid++, g.puid = this.next_puid++, g.iid = 0, g.get_iid = cr.inst_get_iid, g.toString = cr.inst_toString, g.properties = u[14], g.onCreate(), cr.seal(g), p.instances.push(g), this.objectsByUid[g.uid.toString()] = g
- }
- }
- for (t = 0, n = e[4].length; n > t; t++) {
- var y, b = e[4][t],
- w = this.types_by_index[b[0]];
- for (r = 1, i = b.length; i > r; r++) y = this.types_by_index[b[r]], y.families.push(w), w.members.push(y)
- }
- for (t = 0, n = e[26].length; n > t; t++) {
- var E = e[26][t],
- S = [];
- for (r = 0, i = E.length; i > r; r++) S.push(this.types_by_index[E[r]]);
- for (r = 0, i = S.length; i > r; r++) S[r].is_contained = !0, S[r].container = S
- }
- if (this.family_count > 0)
- for (t = 0, n = this.types_by_index.length; n > t; t++)
- if (f = this.types_by_index[t], !f.is_family && f.families.length) {
- f.family_var_map = new Array(this.family_count), f.family_beh_map = new Array(this.family_count), f.family_fx_map = new Array(this.family_count);
- var x = [],
- T = 0,
- N = 0,
- C = 0;
- for (r = 0, i = f.families.length; i > r; r++)
- for (l = f.families[r], f.family_var_map[l.family_index] = T, T += l.vars_count, f.family_beh_map[l.family_index] = N, N += l.behs_count, f.family_fx_map[l.family_index] = C, C += l.fx_count, s = 0, o = l.effect_types.length; o > s; s++) x.push(cr.shallowCopy({}, l.effect_types[s]));
- for (f.effect_types = x.concat(f.effect_types), r = 0, i = f.effect_types.length; i > r; r++) f.effect_types[r].index = r
- }
- for (t = 0, n = e[5].length; n > t; t++) {
- u = e[5][t];
- var k = new cr.layout(this, u);
- cr.seal(k), this.layouts[k.name] = k, this.layouts_by_index.push(k)
- }
- for (t = 0, n = e[6].length; n > t; t++) {
- u = e[6][t];
- var L = new cr.eventsheet(this, u);
- cr.seal(L), this.eventsheets[L.name] = L, this.eventsheets_by_index.push(L)
- }
- for (t = 0, n = this.eventsheets_by_index.length; n > t; t++) this.eventsheets_by_index[t].postInit();
- for (t = 0, n = this.eventsheets_by_index.length; n > t; t++) this.eventsheets_by_index[t].updateDeepIncludes();
- for (t = 0, n = this.triggers_to_postinit.length; n > t; t++) this.triggers_to_postinit[t].postInit();
- this.triggers_to_postinit.length = 0, this.audio_to_preload = e[7], this.files_subfolder = e[8], this.pixel_rounding = e[9], this.aspect_scale = 1, this.enableWebGL = e[13], this.linearSampling = e[14], this.alphaBackground = e[15], this.versionstr = e[16], this.useHighDpi = e[17], this.orientations = e[20], this.autoLockOrientation = this.orientations > 0, this.pauseOnBlur = e[22], this.wantFullscreenScalingQuality = e[23], this.fullscreenScalingQuality = this.wantFullscreenScalingQuality, this.downscalingQuality = e[24], this.preloadSounds = e[25], this.start_time = Date.now()
- };
- var u = !1;
- e.prototype.waitForImageLoad = function(e) {
- e.onerror = function(t) {
- e.c2error = !0, u = !0, console && console.error && console.error("Error loading image '" + e.src + "': ", t)
- }, this.wait_for_textures.push(e)
- }, e.prototype.findWaitingTexture = function(e) {
- var t, n;
- for (t = 0, n = this.wait_for_textures.length; n > t; t++)
- if (this.wait_for_textures[t].cr_src === e) return this.wait_for_textures[t];
- return null
- };
- var a = 0,
- f = !1;
- e.prototype.getready = function() {
- this.audioInstance && (a = this.audioInstance.setPreloadList(this.audio_to_preload))
- }, e.prototype.areAllTexturesAndSoundsLoaded = function() {
- var e, t, n, r = a,
- i = 0,
- s = 0,
- o = !0;
- for (e = 0, t = this.wait_for_textures.length; t > e; e++) {
- n = this.wait_for_textures[e];
- var u = n.cr_filesize;
- (!u || 0 >= u) && (u = 5e4), r += u, !n.complete && !n.loaded || n.c2error ? o = !1 : i += u
- }
- return o && this.preloadSounds && this.audioInstance && (f || (this.audioInstance.startPreloads(), f = !0), s = this.audioInstance.getPreloadedSize(), i += s, a > s && (o = !1)), this.progress = 0 == r ? 0 : i / r, o
- }, e.prototype.go = function() {
- if (this.ctx || this.glwrap) {
- var e = this.ctx || this.overlay_ctx;
- if (this.overlay_canvas && this.positionOverlayCanvas(), this.progress = 0, this.last_progress = -1, this.areAllTexturesAndSoundsLoaded()) this.go_loading_finished();
- else {
- var t = Date.now() - this.start_time;
- if (e) {
- var n = this.width,
- r = this.height,
- i = this.devicePixelRatio;
- if (this.overlay_canvas && (n = this.cssWidth, r = this.cssHeight, i = 1), 3 !== this.loaderstyle && (this.isCocoonJs || t >= 500 && this.last_progress != this.progress)) {
- e.clearRect(0, 0, n, r);
- var s, o = n / 2,
- a = r / 2,
- f = 0 === this.loaderstyle && this.loaderlogo.complete,
- l = 40 * i,
- c = 0,
- h = 80 * i;
- if (f && (h = this.loaderlogo.width * i, s = this.loaderlogo.height * i, l = h / 2, c = s / 2, e.drawImage(this.loaderlogo, cr.floor(o - l), cr.floor(a - c), h, s)), this.loaderstyle <= 1) a += c + (f ? 12 * i : 0), o -= l, o = cr.floor(o) + .5, a = cr.floor(a) + .5, e.fillStyle = u ? "red" : "DodgerBlue", e.fillRect(o, a, Math.floor(h * this.progress), 6 * i), e.strokeStyle = "black", e.strokeRect(o, a, h, 6 * i), e.strokeStyle = "white", e.strokeRect(o - 1 * i, a - 1 * i, h + 2 * i, 8 * i);
- else if (2 === this.loaderstyle) {
- e.font = this.isEjecta ? "12pt ArialMT" : "12pt Arial", e.fillStyle = u ? "#f00" : "#999", e.textBaseLine = "middle";
- var p = Math.round(100 * this.progress) + "%",
- d = e.measureText ? e.measureText(p) : null,
- v = d ? d.width : 0;
- e.fillText(p, o - v / 2, a)
- }
- }
- this.last_progress = this.progress
- }
- setTimeout(function(e) {
- return function() {
- e.go()
- }
- }(this), this.isCocoonJs ? 10 : 100)
- }
- }
- }, e.prototype.go_loading_finished = function() {
- this.overlay_canvas && (this.canvas.parentNode.removeChild(this.overlay_canvas), this.overlay_ctx = null, this.overlay_canvas = null), this.start_time = Date.now(), this.last_fps_time = cr.performance_now();
- var e, t, n;
- if (this.uses_loader_layout)
- for (e = 0, t = this.types_by_index.length; t > e; e++) n = this.types_by_index[e], n.is_family || n.isOnLoaderLayout || !n.plugin.is_world || (n.onCreate(), cr.seal(n));
- else this.isloading = !1;
- for (e = 0, t = this.layouts_by_index.length; t > e; e++) this.layouts_by_index[e].createGlobalNonWorlds();
- if (this.fullscreen_mode >= 2) {
- var r = this.original_width / this.original_height,
- i = this.width / this.height;
- this.aspect_scale = 2 !== this.fullscreen_mode && i > r || 2 === this.fullscreen_mode && r > i ? this.height / this.original_height : this.width / this.original_width
- }
- for (this.first_layout ? this.layouts[this.first_layout].startRunning() : this.layouts_by_index[0].startRunning(), this.uses_loader_layout || (this.loadingprogress = 1, this.trigger(cr.system_object.prototype.cnds.OnLoadFinished, null)), navigator.splashscreen && navigator.splashscreen.hide && navigator.splashscreen.hide(), e = 0, t = this.types_by_index.length; t > e; e++) n = this.types_by_index[e], n.onAppBegin && n.onAppBegin();
- this.tick(!1), this.isDirectCanvas && AppMobi.webview.execute("onGameReady();")
- };
- var l = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame || window.oRequestAnimationFrame;
- e.prototype.tick = function(e) {
- if (this.running_layout) {
- var t = cr.performance_now();
- if (this.halfFramerateMode && this.ranLastRaf && t - this.lastRafTime < 29) return this.ranLastRaf = !1, this.lastRafTime = t, void(l ? this.raf_id = l(this.tickFunc, this.canvas) : this.timeout_id = setTimeout(this.tickFunc, this.isMobile ? 1 : 16));
- this.ranLastRaf = !0, this.lastRafTime = t;
- var n = this.fullscreen_mode,
- r = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement) && !this.isPhoneGap;
- if ((r || this.isNodeFullscreen) && this.fullscreen_scaling > 0 && (n = this.fullscreen_scaling), n > 0 && (!this.isiOS || window.self !== window.top)) {
- var i = window.innerWidth,
- s = window.innerHeight;
- (this.lastWindowWidth !== i || this.lastWindowHeight !== s) && this.setSize(i, s)
- }
- if (this.isDomFree || (r ? (this.firstInFullscreen || (this.fullscreenOldMarginCss = jQuery(this.canvas).css("margin") || "0", this.firstInFullscreen = !0), this.isChrome || this.isNodeWebkit || jQuery(this.canvas).css({
- "margin-left": "" + Math.floor((screen.width - this.width / this.devicePixelRatio) / 2) + "px",
- "margin-top": "" + Math.floor((screen.height - this.height / this.devicePixelRatio) / 2) + "px"
- })) : this.firstInFullscreen ? (this.isChrome || this.isNodeWebkit || jQuery(this.canvas).css("margin", this.fullscreenOldMarginCss), this.fullscreenOldMarginCss = "", this.firstInFullscreen = !1, 0 === this.fullscreen_mode && this.setSize(Math.round(this.oldWidth / this.devicePixelRatio), Math.round(this.oldHeight / this.devicePixelRatio), !0)) : (this.oldWidth = this.width, this.oldHeight = this.height)), this.isloading) {
- var o = this.areAllTexturesAndSoundsLoaded();
- this.loadingprogress = this.progress, o && (this.isloading = !1, this.progress = 1, this.trigger(cr.system_object.prototype.cnds.OnLoadFinished, null))
- }
- this.logic(), !this.redraw && !this.isCocoonJs || this.is_WebGL_context_lost || this.suspendDrawing || e || (this.redraw = !1, this.glwrap ? this.drawGL() : this.draw(), this.snapshotCanvas && (this.canvas && this.canvas.toDataURL && (this.snapshotData = this.canvas.toDataURL(this.snapshotCanvas[0], this.snapshotCanvas[1]), this.trigger(cr.system_object.prototype.cnds.OnCanvasSnapshot, null)), this.snapshotCanvas = null)), this.hit_breakpoint || (this.tickcount++, this.execcount++, this.framecount++), this.logictime += cr.performance_now() - t, this.isSuspended || e || (l ? this.raf_id = l(this.tickFunc, this.canvas) : this.timeout_id = setTimeout(this.tickFunc, this.isMobile ? 1 : 16))
- }
- }, e.prototype.logic = function() {
- var e, t, n, r, i, s, o, u, a, f = cr.performance_now();
- if (f - this.last_fps_time >= 1e3 && (this.last_fps_time += 1e3, this.fps = this.framecount, this.framecount = 0, this.cpuutilisation = this.logictime, this.logictime = 0), this.measuring_dt) {
- if (0 !== this.last_tick_time) {
- var l = f - this.last_tick_time;
- 0 !== l || this.isDebug ? (this.dt1 = l / 1e3, this.dt1 > .5 ? this.dt1 = 0 : this.dt1 > .1 && (this.dt1 = .1)) : (this.zeroDtCount++, this.zeroDtCout >= 10 && (this.measuring_dt = !1), this.dt1 = 1 / 60)
- }
- this.last_tick_time = f
- }
- this.dt = this.dt1 * this.timescale, this.kahanTime.add(this.dt);
- var c = (document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || !!document.msFullscreenElement || this.isNodeFullscreen) && !this.isPhoneGap;
- if (this.fullscreen_mode >= 2 || c && this.fullscreen_scaling > 0) {
- var h = this.original_width / this.original_height,
- p = this.width / this.height,
- d = this.fullscreen_mode;
- c && this.fullscreen_scaling > 0 && (d = this.fullscreen_scaling), this.aspect_scale = 2 !== d && p > h || 2 === d && h > p ? this.height / this.original_height : this.width / this.original_width, this.running_layout && (this.running_layout.scrollToX(this.running_layout.scrollX), this.running_layout.scrollToY(this.running_layout.scrollY))
- } else this.aspect_scale = this.isRetina ? this.devicePixelRatio : 1;
- this.ClearDeathRow(), this.isInOnDestroy++, this.system.runWaits(), this.isInOnDestroy--, this.ClearDeathRow(), this.isInOnDestroy++;
- var v = this.objects_to_pretick.valuesRef();
- for (e = 0, t = v.length; t > e; e++) v[e].pretick();
- for (e = 0, t = this.types_by_index.length; t > e; e++)
- if (o = this.types_by_index[e], !o.is_family && (o.behaviors.length || o.families.length))
- for (n = 0, r = o.instances.length; r > n; n++)
- for (u = o.instances[n], i = 0, s = u.behavior_insts.length; s > i; i++) u.behavior_insts[i].tick();
- for (e = 0, t = this.types_by_index.length; t > e; e++)
- if (o = this.types_by_index[e], !o.is_family && (o.behaviors.length || o.families.length))
- for (n = 0, r = o.instances.length; r > n; n++)
- for (u = o.instances[n], i = 0, s = u.behavior_insts.length; s > i; i++) a = u.behavior_insts[i], a.posttick && a.posttick();
- for (v = this.objects_to_tick.valuesRef(), e = 0, t = v.length; t > e; e++) v[e].tick();
- for (this.isInOnDestroy--, this.handleSaveLoad(), e = 0; this.changelayout && e++ < 10;) this.doChangeLayout(this.changelayout);
- for (e = 0, t = this.eventsheets_by_index.length; t > e; e++) this.eventsheets_by_index[e].hasRun = !1;
- for (this.running_layout.event_sheet && this.running_layout.event_sheet.run(), this.registered_collisions.length = 0, this.layout_first_tick = !1, this.isInOnDestroy++, e = 0, t = this.types_by_index.length; t > e; e++)
- if (o = this.types_by_index[e], !o.is_family && (o.behaviors.length || o.families.length))
- for (n = 0, r = o.instances.length; r > n; n++) {
- var u = o.instances[n];
- for (i = 0, s = u.behavior_insts.length; s > i; i++) a = u.behavior_insts[i], a.tick2 && a.tick2()
- }
- for (v = this.objects_to_tick2.valuesRef(), e = 0, t = v.length; t > e; e++) v[e].tick2();
- this.isInOnDestroy--
- }, e.prototype.doChangeLayout = function(e) {
- var t = this.running_layout;
- this.running_layout.stopRunning();
- var n, r, i, s, o, u, a, f, l;
- if (this.glwrap)
- for (n = 0, r = this.types_by_index.length; r > n; n++) a = this.types_by_index[n], a.is_family || !a.unloadTextures || a.global && 0 !== a.instances.length || -1 !== e.initial_types.indexOf(a) || a.unloadTextures();
- for (t == e && (this.system.waits.length = 0), e.startRunning(), n = 0, r = this.types_by_index.length; r > n; n++)
- if (a = this.types_by_index[n], a.global || a.plugin.singleglobal)
- for (i = 0, s = a.instances.length; s > i; i++)
- if (f = a.instances[i], f.onLayoutChange && f.onLayoutChange(), f.behavior_insts)
- for (o = 0, u = f.behavior_insts.length; u > o; o++) l = f.behavior_insts[o], l.onLayoutChange && l.onLayoutChange();
- this.redraw = !0, this.layout_first_tick = !0, this.ClearDeathRow()
- }, e.prototype.pretickMe = function(e) {
- this.objects_to_pretick.add(e)
- }, e.prototype.unpretickMe = function(e) {
- this.objects_to_pretick.remove(e)
- }, e.prototype.tickMe = function(e) {
- this.objects_to_tick.add(e)
- }, e.prototype.untickMe = function(e) {
- this.objects_to_tick.remove(e)
- }, e.prototype.tick2Me = function(e) {
- this.objects_to_tick2.add(e)
- }, e.prototype.untick2Me = function(e) {
- this.objects_to_tick2.remove(e)
- }, e.prototype.getDt = function(e) {
- return e && -1 !== e.my_timescale ? this.dt1 * e.my_timescale : this.dt
- }, e.prototype.draw = function() {
- this.running_layout.draw(this.ctx), this.isDirectCanvas && this.ctx.present()
- }, e.prototype.drawGL = function() {
- this.running_layout.drawGL(this.glwrap), this.glwrap.present()
- }, e.prototype.addDestroyCallback = function(e) {
- e && this.destroycallbacks.push(e)
- }, e.prototype.removeDestroyCallback = function(e) {
- cr.arrayFindRemove(this.destroycallbacks, e)
- }, e.prototype.getObjectByUID = function(e) {
- var t = e.toString();
- return this.objectsByUid.hasOwnProperty(t) ? this.objectsByUid[t] : null
- }, e.prototype.DestroyInstance = function(e) {
- var t, n;
- if (!this.deathRow.contains(e)) {
- if (this.deathRow.add(e), e.is_contained)
- for (t = 0, n = e.siblings.length; n > t; t++) this.DestroyInstance(e.siblings[t]);
- this.isInClearDeathRow && this.deathRow.values_cache.push(e), this.isInOnDestroy++, this.trigger(Object.getPrototypeOf(e.type.plugin).cnds.OnDestroyed, e), this.isInOnDestroy--
- }
- }, e.prototype.ClearDeathRow = function() {
- var e, t, n, r, i, s, o, u, a, f, l, c;
- for (this.isInClearDeathRow = !0, i = 0, u = this.createRow.length; u > i; i++)
- for (e = this.createRow[i], t = e.type, t.instances.push(e), s = 0, a = t.families.length; a > s; s++) t.families[s].instances.push(e), t.families[s].stale_iids = !0;
- this.createRow.length = 0;
- var h = this.deathRow.valuesRef();
- for (i = 0; i < h.length; i++) {
- for (e = h[i], t = e.type, n = t.instances, s = 0, a = this.destroycallbacks.length; a > s; s++) this.destroycallbacks[s](e);
- for (cr.arrayFindRemove(n, e), 0 === n.length && (t.any_instance_parallaxed = !1), e.collcells && t.collision_grid.update(e, e.collcells, null), e.layer && (cr.arrayRemove(e.layer.instances, e.get_zindex()), e.layer.zindices_stale = !0), s = 0, a = t.families.length; a > s; s++) cr.arrayFindRemove(t.families[s].instances, e), t.families[s].stale_iids = !0;
- if (e.behavior_insts)
- for (s = 0, a = e.behavior_insts.length; a > s; s++) r = e.behavior_insts[s], r.onDestroy && r.onDestroy(), r.behavior.my_instances.remove(e);
- for (this.objects_to_pretick.remove(e), this.objects_to_tick.remove(e), this.objects_to_tick2.remove(e), s = 0, a = this.system.waits.length; a > s; s++)
- if (l = this.system.waits[s], l.sols.hasOwnProperty(t.index) && cr.arrayFindRemove(l.sols[t.index].insts, e), !t.is_family)
- for (o = 0, f = t.families.length; f > o; o++) c = t.families[o], l.sols.hasOwnProperty(c.index) && cr.arrayFindRemove(l.sols[c.index].insts, e);
- e.onDestroy && e.onDestroy(), this.objectsByUid.hasOwnProperty(e.uid.toString()) && delete this.objectsByUid[e.uid.toString()], this.objectcount--, t.deadCache.length < 64 && t.deadCache.push(e), t.stale_iids = !0
- }
- this.deathRow.isEmpty() || (this.redraw = !0), this.deathRow.clear(), this.isInClearDeathRow = !1
- }, e.prototype.createInstance = function(e, t, n, r) {
- if (e.is_family) {
- var i = cr.floor(Math.random() * e.members.length);
- return this.createInstance(e.members[i], t, n, r)
- }
- return e.default_instance ? this.createInstanceFromInit(e.default_instance, t, !1, n, r, !1) : null
- };
- var c = [];
- e.prototype.createInstanceFromInit = function(e, t, n, r, i, s) {
- var o, u, a, f, l;
- if (!e) return null;
- var h = this.types_by_index[e[1]],
- p = h.plugin.is_world;
- if (this.isloading && p && !h.isOnLoaderLayout) return null;
- if (p && !this.glwrap && 11 === e[0][11]) return null;
- var d = t;
- p || (t = null);
- var v;
- for (h.deadCache.length ? (v = h.deadCache.pop(), v.recycled = !0, h.plugin.Instance.call(v, h)) : (v = new h.plugin.Instance(h), v.recycled = !1), v.uid = n && !s ? e[2] : this.next_uid++, this.objectsByUid[v.uid.toString()] = v, v.puid = this.next_puid++, v.iid = h.instances.length, o = 0, u = this.createRow.length; u > o; ++o) this.createRow[o].type === h && v.iid++;
- v.get_iid = cr.inst_get_iid;
- var m = e[3];
- if (v.recycled) cr.wipe(v.extra);
- else {
- if (v.extra = {}, "undefined" != typeof cr_is_preview)
- for (v.instance_var_names = [], v.instance_var_names.length = m.length, o = 0, u = m.length; u > o; o++) v.instance_var_names[o] = m[o][1];
- v.instance_vars = [], v.instance_vars.length = m.length
- }
- for (o = 0, u = m.length; u > o; o++) v.instance_vars[o] = m[o][0];
- if (p) {
- var g = e[0];
- if (v.x = cr.is_undefined(r) ? g[0] : r, v.y = cr.is_undefined(i) ? g[1] : i, v.z = g[2], v.width = g[3], v.height = g[4], v.depth = g[5], v.angle = g[6], v.opacity = g[7], v.hotspotX = g[8], v.hotspotY = g[9], v.blend_mode = g[10], l = g[11], !this.glwrap && h.effect_types.length && (v.blend_mode = l), v.compositeOp = cr.effectToCompositeOp(v.blend_mode), this.gl && cr.setGLBlend(v, v.blend_mode, this.gl), v.recycled) {
- for (o = 0, u = g[12].length; u > o; o++)
- for (a = 0, f = g[12][o].length; f > a; a++) v.effect_params[o][a] = g[12][o][a];
- v.bbox.set(0, 0, 0, 0), v.collcells.set(0, 0, -1, -1), v.bquad.set_from_rect(v.bbox), v.bbox_changed_callbacks.length = 0
- } else {
- for (v.effect_params = g[12].slice(0), o = 0, u = v.effect_params.length; u > o; o++) v.effect_params[o] = g[12][o].slice(0);
- v.active_effect_types = [], v.active_effect_flags = [], v.active_effect_flags.length = h.effect_types.length, v.bbox = new cr.rect(0, 0, 0, 0), v.collcells = new cr.rect(0, 0, -1, -1), v.bquad = new cr.quad, v.bbox_changed_callbacks = [], v.set_bbox_changed = cr.set_bbox_changed, v.add_bbox_changed_callback = cr.add_bbox_changed_callback, v.contains_pt = cr.inst_contains_pt, v.update_bbox = cr.update_bbox, v.update_collision_cell = cr.update_collision_cell, v.get_zindex = cr.inst_get_zindex
- }
- for (v.tilemap_exists = !1, v.tilemap_width = 0, v.tilemap_height = 0, v.tilemap_data = null, 14 === g.length && (v.tilemap_exists = !0, v.tilemap_width = g[13][0], v.tilemap_height = g[13][1], v.tilemap_data = g[13][2]), o = 0, u = h.effect_types.length; u > o; o++) v.active_effect_flags[o] = !0;
- v.updateActiveEffects = cr.inst_updateActiveEffects, v.updateActiveEffects(), v.uses_shaders = !!v.active_effect_types.length, v.bbox_changed = !0, v.cell_changed = !0, h.any_cell_changed = !0, v.visible = !0, v.my_timescale = -1, v.layer = t, v.zindex = t.instances.length, "undefined" == typeof v.collision_poly && (v.collision_poly = null), v.collisionsEnabled = !0, this.redraw = !0
- }
- v.toString = cr.inst_toString;
- var y, b;
- for (c.length = 0, o = 0, u = h.families.length; u > o; o++) c.push.apply(c, h.families[o].behaviors);
- if (c.push.apply(c, h.behaviors), v.recycled)
- for (o = 0, u = c.length; u > o; o++) {
- var w = c[o];
- for (b = v.behavior_insts[o], b.recycled = !0, w.behavior.Instance.call(b, w, v), y = e[4][o], a = 0, f = y.length; f > a; a++) b.properties[a] = y[a];
- b.onCreate(), w.behavior.my_instances.add(v)
- } else
- for (v.behavior_insts = [], o = 0, u = c.length; u > o; o++) {
- var w = c[o],
- b = new w.behavior.Instance(w, v);
- b.recycled = !1, b.properties = e[4][o].slice(0), b.onCreate(), cr.seal(b), v.behavior_insts.push(b), w.behavior.my_instances.add(v)
- }
- if (y = e[5], v.recycled)
- for (o = 0, u = y.length; u > o; o++) v.properties[o] = y[o];
- else v.properties = y.slice(0); if (this.createRow.push(v), t && (t.instances.push(v), (1 !== t.parallaxX || 1 !== t.parallaxY) && (h.any_instance_parallaxed = !0)), this.objectcount++, h.is_contained) {
- if (v.is_contained = !0, v.recycled ? v.siblings.length = 0 : v.siblings = [], !n && !s) {
- for (o = 0, u = h.container.length; u > o; o++)
- if (h.container[o] !== h) {
- if (!h.container[o].default_instance) return null;
- v.siblings.push(this.createInstanceFromInit(h.container[o].default_instance, d, !1, p ? v.x : r, p ? v.y : i, !0))
- }
- for (o = 0, u = v.siblings.length; u > o; o++)
- for (v.siblings[o].siblings.push(v), a = 0; u > a; a++) o !== a && v.siblings[o].siblings.push(v.siblings[a])
- }
- } else v.is_contained = !1, v.siblings = null;
- for (v.onCreate(), v.recycled || cr.seal(v), o = 0, u = v.behavior_insts.length; u > o; o++) v.behavior_insts[o].postCreate && v.behavior_insts[o].postCreate();
- return v
- }, e.prototype.getLayerByName = function(e) {
- var t, n;
- for (t = 0, n = this.running_layout.layers.length; n > t; t++) {
- var r = this.running_layout.layers[t];
- if (cr.equals_nocase(r.name, e)) return r
- }
- return null
- }, e.prototype.getLayerByNumber = function(e) {
- return e = cr.floor(e), 0 > e && (e = 0), e >= this.running_layout.layers.length && (e = this.running_layout.layers.length - 1), this.running_layout.layers[e]
- }, e.prototype.getLayer = function(e) {
- return cr.is_number(e) ? this.getLayerByNumber(e) : this.getLayerByName(e.toString())
- }, e.prototype.clearSol = function(e) {
- var t, n;
- for (t = 0, n = e.length; n > t; t++) e[t].getCurrentSol().select_all = !0
- }, e.prototype.pushCleanSol = function(e) {
- var t, n;
- for (t = 0, n = e.length; n > t; t++) e[t].pushCleanSol()
- }, e.prototype.pushCopySol = function(e) {
- var t, n;
- for (t = 0, n = e.length; n > t; t++) e[t].pushCopySol()
- }, e.prototype.popSol = function(e) {
- var t, n;
- for (t = 0, n = e.length; n > t; t++) e[t].popSol()
- }, e.prototype.updateAllCells = function(e) {
- if (e.any_cell_changed) {
- var t, n, r = e.instances;
- for (t = 0, n = r.length; n > t; ++t) r[t].update_collision_cell();
- var i = this.createRow;
- for (t = 0, n = i.length; n > t; ++t) i[t].type === e && i[t].update_collision_cell();
- e.any_cell_changed = !1
- }
- }, e.prototype.getCollisionCandidates = function(e, t, n, r) {
- var i, s, o, u = e ? 1 !== e.parallaxX || 1 !== e.parallaxY : !1;
- if (t.is_family)
- for (i = 0, s = t.members.length; s > i; ++i) o = t.members[i], u || o.any_instance_parallaxed ? cr.appendArray(r, o.instances) : (this.updateAllCells(o), o.collision_grid.queryRange(n, r));
- else u || t.any_instance_parallaxed ? cr.appendArray(r, t.instances) : (this.updateAllCells(t), t.collision_grid.queryRange(n, r))
- }, e.prototype.getTypesCollisionCandidates = function(e, t, n, r) {
- var i, s;
- for (i = 0, s = t.length; s > i; ++i) this.getCollisionCandidates(e, t[i], n, r)
- }, e.prototype.getSolidCollisionCandidates = function(e, t, n) {
- var r = this.getSolidBehavior();
- return r ? void this.getTypesCollisionCandidates(e, r.my_types, t, n) : null
- }, e.prototype.getJumpthruCollisionCandidates = function(e, t, n) {
- var r = this.getJumpthruBehavior();
- return r ? void this.getTypesCollisionCandidates(e, r.my_types, t, n) : null
- }, e.prototype.testAndSelectCanvasPointOverlap = function(e, t, n, r) {
- var i, s, o, u, a, f, l = e.getCurrentSol();
- if (l.select_all) {
- for (r || (l.select_all = !1, l.instances.length = 0), i = 0, u = e.instances.length; u > i; i++)
- if (o = e.instances[i], o.update_bbox(), a = o.layer.canvasToLayer(t, n, !0), f = o.layer.canvasToLayer(t, n, !1), o.contains_pt(a, f)) {
- if (r) return !1;
- l.instances.push(o)
- }
- } else {
- for (s = 0, i = 0, u = l.instances.length; u > i; i++)
- if (o = l.instances[i], o.update_bbox(), a = o.layer.canvasToLayer(t, n, !0), f = o.layer.canvasToLayer(t, n, !1), o.contains_pt(a, f)) {
- if (r) return !1;
- l.instances[s] = l.instances[i], s++
- }
- r || (l.instances.length = s)
- }
- return e.applySolToContainer(), r ? !0 : l.hasObjects()
- }, e.prototype.testOverlap = function(e, t) {
- if (!(e && t && e !== t && e.collisionsEnabled && t.collisionsEnabled)) return !1;
- e.update_bbox(), t.update_bbox();
- var n, r, i, s, o, u, a, f, l, c, h = e.layer,
- p = t.layer,
- d = h !== p && (h.parallaxX !== p.parallaxX || p.parallaxY !== p.parallaxY || h.scale !== p.scale || h.angle !== p.angle || h.zoomRate !== p.zoomRate);
- if (d) {
- for (a = e.collision_poly && !e.collision_poly.is_empty(), f = t.collision_poly && !t.collision_poly.is_empty(), a ? (e.collision_poly.cache_poly(e.width, e.height, e.angle), this.temp_poly.set_from_poly(e.collision_poly)) : this.temp_poly.set_from_quad(e.bquad, e.x, e.y, e.width, e.height), l = this.temp_poly, f ? (t.collision_poly.cache_poly(t.width, t.height, t.angle), this.temp_poly2.set_from_poly(t.collision_poly)) : this.temp_poly2.set_from_quad(t.bquad, t.x, t.y, t.width, t.height), c = this.temp_poly2, n = 0, r = l.pts_count; r > n; n++) i = 2 * n, s = i + 1, o = l.pts_cache[i], u = l.pts_cache[s], l.pts_cache[i] = h.layerToCanvas(o + e.x, u + e.y, !0), l.pts_cache[s] = h.layerToCanvas(o + e.x, u + e.y, !1);
- for (l.update_bbox(), n = 0, r = c.pts_count; r > n; n++) i = 2 * n, s = i + 1, o = c.pts_cache[i], u = c.pts_cache[s], c.pts_cache[i] = p.layerToCanvas(o + t.x, u + t.y, !0), c.pts_cache[s] = p.layerToCanvas(o + t.x, u + t.y, !1);
- return c.update_bbox(), l.intersects_poly(c, 0, 0)
- }
- return e.bbox.intersects_rect(t.bbox) && e.bquad.intersects_quad(t.bquad) ? e.tilemap_exists && t.tilemap_exists ? !1 : e.tilemap_exists ? this.testTilemapOverlap(e, t) : t.tilemap_exists ? this.testTilemapOverlap(t, e) : (a = e.collision_poly && !e.collision_poly.is_empty(), f = t.collision_poly && !t.collision_poly.is_empty(), a || f ? (a ? (e.collision_poly.cache_poly(e.width, e.height, e.angle), l = e.collision_poly) : (this.temp_poly.set_from_quad(e.bquad, e.x, e.y, e.width, e.height), l = this.temp_poly), f ? (t.collision_poly.cache_poly(t.width, t.height, t.angle), c = t.collision_poly) : (this.temp_poly.set_from_quad(t.bquad, t.x, t.y, t.width, t.height), c = this.temp_poly), l.intersects_poly(c, t.x - e.x, t.y - e.y)) : !0) : !1
- };
- var h = new cr.quad,
- p = new cr.rect(0, 0, 0, 0),
- d = [];
- e.prototype.testTilemapOverlap = function(e, t) {
- var n, r, i, s, o = t.bbox,
- u = e.x,
- a = e.y;
- e.getCollisionRectCandidates(o, d);
- var f = d,
- l = t.collision_poly && !t.collision_poly.is_empty();
- for (n = 0, r = f.length; r > n; ++n)
- if (i = f[n], s = i.rc, o.intersects_rect_off(s, u, a) && (h.set_from_rect(s), h.offset(u, a), h.intersects_quad(t.bquad)))
- if (l) {
- if (t.collision_poly.cache_poly(t.width, t.height, t.angle), i.poly) {
- if (i.poly.intersects_poly(t.collision_poly, t.x - (u + s.left), t.y - (a + s.top))) return d.length = 0, !0
- } else if (this.temp_poly.set_from_quad(h, 0, 0, s.right - s.left, s.bottom - s.top), this.temp_poly.intersects_poly(t.collision_poly, t.x, t.y)) return d.length = 0, !0
- } else {
- if (!i.poly) return d.length = 0, !0;
- if (this.temp_poly.set_from_quad(t.bquad, 0, 0, t.width, t.height), i.poly.intersects_poly(this.temp_poly, -(u + s.left), -(a + s.top))) return d.length = 0, !0
- }
- return d.length = 0, !1
- }, e.prototype.testRectOverlap = function(e, t) {
- if (!t || !t.collisionsEnabled) return !1;
- t.update_bbox(); {
- var n;
- t.layer
- }
- if (!t.bbox.intersects_rect(e)) return !1;
- if (t.tilemap_exists) {
- t.getCollisionRectCandidates(e, d);
- var r, i, s, o, u = d,
- a = t.x,
- f = t.y;
- for (r = 0, i = u.length; i > r; ++r)
- if (s = u[r], o = s.rc, e.intersects_rect_off(o, a, f)) {
- if (!s.poly) return d.length = 0, !0;
- if (this.temp_poly.set_from_rect(e, 0, 0), s.poly.intersects_poly(this.temp_poly, -(a + o.left), -(f + o.top))) return d.length = 0, !0
- }
- return d.length = 0, !1
- }
- return h.set_from_rect(e), t.bquad.intersects_quad(h) ? (n = t.collision_poly && !t.collision_poly.is_empty()) ? (t.collision_poly.cache_poly(t.width, t.height, t.angle), h.offset(-e.left, -e.top), this.temp_poly.set_from_quad(h, 0, 0, 1, 1), t.collision_poly.intersects_poly(this.temp_poly, e.left - t.x, e.top - t.y)) : !0 : !1
- }, e.prototype.testSegmentOverlap = function(e, t, n, r, i) {
- if (!i || !i.collisionsEnabled) return !1;
- i.update_bbox(); {
- var s;
- i.layer
- }
- if (p.set(cr.min(e, n), cr.min(t, r), cr.max(e, n), cr.max(t, r)), !i.bbox.intersects_rect(p)) return !1;
- if (i.tilemap_exists) {
- i.getCollisionRectCandidates(p, d);
- var o, u, a, f, l = d,
- c = i.x,
- v = i.y;
- for (o = 0, u = l.length; u > o; ++o)
- if (a = l[o], f = a.rc, p.intersects_rect_off(f, c, v) && (h.set_from_rect(f), h.offset(c, v), h.intersects_segment(e, t, n, r))) {
- if (!a.poly) return d.length = 0, !0;
- if (a.poly.intersects_segment(c + f.left, v + f.top, e, t, n, r)) return d.length = 0, !0
- }
- return d.length = 0, !1
- }
- return i.bquad.intersects_segment(e, t, n, r) ? (s = i.collision_poly && !i.collision_poly.is_empty()) ? (i.collision_poly.cache_poly(i.width, i.height, i.angle), i.collision_poly.intersects_segment(i.x, i.y, e, t, n, r)) : !0 : !1
- }, e.prototype.typeHasBehavior = function(e, t) {
- if (!t) return !1;
- var n, r, i, s, o;
- for (n = 0, r = e.behaviors.length; r > n; n++)
- if (e.behaviors[n].behavior instanceof t) return !0;
- if (!e.is_family)
- for (n = 0, r = e.families.length; r > n; n++)
- for (o = e.families[n], i = 0, s = o.behaviors.length; s > i; i++)
- if (o.behaviors[i].behavior instanceof t) return !0;
- return !1
- }, e.prototype.typeHasNoSaveBehavior = function(e) {
- return this.typeHasBehavior(e, cr.behaviors.NoSave)
- }, e.prototype.typeHasPersistBehavior = function(e) {
- return this.typeHasBehavior(e, cr.behaviors.Persist)
- }, e.prototype.getSolidBehavior = function() {
- return this.solidBehavior
- }, e.prototype.getJumpthruBehavior = function() {
- return this.jumpthruBehavior
- };
- var v = [];
- e.prototype.testOverlapSolid = function(e) {
- var t, n, r;
- for (e.update_bbox(), this.getSolidCollisionCandidates(e.layer, e.bbox, v), t = 0, n = v.length; n > t; ++t)
- if (r = v[t], r.extra.solidEnabled && this.testOverlap(e, r)) return v.length = 0, r;
- return v.length = 0, null
- }, e.prototype.testRectOverlapSolid = function(e) {
- var t, n, r;
- for (this.getSolidCollisionCandidates(null, e, v), t = 0, n = v.length; n > t; ++t)
- if (r = v[t], r.extra.solidEnabled && this.testRectOverlap(e, r)) return v.length = 0, r;
- return v.length = 0, null
- };
- var m = [];
- e.prototype.testOverlapJumpThru = function(e, t) {
- var n = null;
- t && (n = m, n.length = 0), e.update_bbox(), this.getJumpthruCollisionCandidates(e.layer, e.bbox, v);
- var r, i, s;
- for (r = 0, i = v.length; i > r; ++r)
- if (s = v[r], s.extra.jumpthruEnabled && this.testOverlap(e, s)) {
- if (!t) return v.length = 0, s;
- n.push(s)
- }
- return v.length = 0, n
- }, e.prototype.pushOutSolid = function(e, t, n, r, i, s) {
- var o, u = r || 50,
- a = e.x,
- f = e.y,
- l = null,
- c = null;
- for (o = 0; u > o; o++)
- if (e.x = a + t * o, e.y = f + n * o, e.set_bbox_changed(), !this.testOverlap(e, l) && (l = this.testOverlapSolid(e), l && (c = l), !l && (i && (l = s ? this.testOverlap(e, s) ? s : null : this.testOverlapJumpThru(e), l && (c = l)), !l))) return c && this.pushInFractional(e, t, n, c, 16), !0;
- return e.x = a, e.y = f, e.set_bbox_changed(), !1
- }, e.prototype.pushOut = function(e, t, n, r, i) {
- var s, o = r || 50,
- u = e.x,
- a = e.y;
- for (s = 0; o > s; s++)
- if (e.x = u + t * s, e.y = a + n * s, e.set_bbox_changed(), !this.testOverlap(e, i)) return !0;
- return e.x = u, e.y = a, e.set_bbox_changed(), !1
- }, e.prototype.pushInFractional = function(e, t, n, r, i) {
- for (var s, o = 2, u = !1, a = !1, f = e.x, l = e.y; i >= o;) s = 1 / o, o *= 2, e.x += t * s * (u ? 1 : -1), e.y += n * s * (u ? 1 : -1), e.set_bbox_changed(), this.testOverlap(e, r) ? (u = !0, a = !0) : (u = !1, a = !1, f = e.x, l = e.y);
- a && (e.x = f, e.y = l, e.set_bbox_changed())
- }, e.prototype.pushOutSolidNearest = function(e, t) {
- var n = cr.is_undefined(t) ? 100 : t,
- r = 0,
- i = e.x,
- s = e.y,
- o = 0,
- u = 0,
- a = 0,
- f = this.testOverlapSolid(e);
- if (!f) return !0;
- for (; n >= r;) {
- switch (o) {
- case 0:
- u = 0, a = -1, r++;
- break;
- case 1:
- u = 1, a = -1;
- break;
- case 2:
- u = 1, a = 0;
- break;
- case 3:
- u = 1, a = 1;
- break;
- case 4:
- u = 0, a = 1;
- break;
- case 5:
- u = -1, a = 1;
- break;
- case 6:
- u = -1, a = 0;
- break;
- case 7:
- u = -1, a = -1
- }
- if (o = (o + 1) % 8, e.x = cr.floor(i + u * r), e.y = cr.floor(s + a * r), e.set_bbox_changed(), !this.testOverlap(e, f) && (f = this.testOverlapSolid(e), !f)) return !0
- }
- return e.x = i, e.y = s, e.set_bbox_changed(), !1
- }, e.prototype.registerCollision = function(e, t) {
- e.collisionsEnabled && t.collisionsEnabled && this.registered_collisions.push([e, t])
- }, e.prototype.checkRegisteredCollision = function(e, t) {
- var n, r, i;
- for (n = 0, r = this.registered_collisions.length; r > n; n++)
- if (i = this.registered_collisions[n], i[0] == e && i[1] == t || i[0] == t && i[1] == e) return !0;
- return !1
- }, e.prototype.calculateSolidBounceAngle = function(e, t, n, r) {
- var i = e.x,
- s = e.y,
- o = cr.max(10, cr.distanceTo(t, n, i, s)),
- u = cr.angleTo(t, n, i, s),
- a = r || this.testOverlapSolid(e);
- if (!a) return cr.clamp_angle(u + cr.PI);
- var f, l, c, h, p = a,
- d = cr.to_radians(5);
- for (f = 1; 36 > f; f++)
- if (l = u - f * d, e.x = t + Math.cos(l) * o, e.y = n + Math.sin(l) * o, e.set_bbox_changed(), !this.testOverlap(e, p) && (p = r ? null : this.testOverlapSolid(e), !p)) {
- c = l;
- break
- }
- 36 === f && (c = cr.clamp_angle(u + cr.PI));
- var p = a;
- for (f = 1; 36 > f; f++)
- if (l = u + f * d, e.x = t + Math.cos(l) * o, e.y = n + Math.sin(l) * o, e.set_bbox_changed(), !this.testOverlap(e, p) && (p = r ? null : this.testOverlapSolid(e), !p)) {
- h = l;
- break
- }
- if (36 === f && (h = cr.clamp_angle(u + cr.PI)), e.x = i, e.y = s, e.set_bbox_changed(), h === c) return h;
- var v, m = cr.angleDiff(h, c) / 2;
- v = cr.clamp_angle(cr.angleClockwise(h, c) ? c + m + cr.PI : h + m);
- var g = Math.cos(u),
- y = Math.sin(u),
- b = Math.cos(v),
- w = Math.sin(v),
- E = g * b + y * w,
- S = g - 2 * E * b,
- x = y - 2 * E * w;
- return cr.angleTo(0, 0, S, x)
- };
- var g = -1;
- e.prototype.trigger = function(e, t, n) {
- if (!this.running_layout) return !1;
- var r = this.running_layout.event_sheet;
- if (!r) return !1;
- var i, s, o, u = !1;
- g++;
- var a = r.deep_includes;
- for (s = 0, o = a.length; o > s; ++s) i = this.triggerOnSheet(e, t, a[s], n), u = u || i;
- return i = this.triggerOnSheet(e, t, r, n), u = u || i, g--, u
- }, e.prototype.triggerOnSheet = function(e, t, n, r) {
- var i, s, o, u, a = !1;
- if (t)
- for (o = this.triggerOnSheetForTypeName(e, t, t.type.name, n, r), a = a || o, u = t.type.families, i = 0, s = u.length; s > i; ++i) o = this.triggerOnSheetForTypeName(e, t, u[i].name, n, r), a = a || o;
- else o = this.triggerOnSheetForTypeName(e, t, "system", n, r), a = a || o;
- return a
- }, e.prototype.triggerOnSheetForTypeName = function(e, t, n, r, i) {
- var s, o, u, a, f = !1,
- l = !1,
- c = "undefined" != typeof i,
- h = c ? r.fasttriggers : r.triggers,
- p = h[n];
- if (!p) return f;
- var d = null;
- for (s = 0, o = p.length; o > s; ++s)
- if (p[s].method == e) {
- d = p[s].evs;
- break
- }
- if (!d) return f;
- var v;
- if (v = c ? d[i] : d, !v) return null;
- for (s = 0, o = v.length; o > s; s++) u = v[s][0], a = v[s][1], l = this.executeSingleTrigger(t, n, u, a), f = f || l;
- return f
- }, e.prototype.executeSingleTrigger = function(e, t, n, r) {
- var i, s, o = !1;
- this.trigger_depth++;
- var u = this.getCurrentEventStack().current_event;
- u && this.pushCleanSol(u.solModifiersIncludingParents);
- var a = this.trigger_depth > 1;
- this.pushCleanSol(n.solModifiersIncludingParents), a && this.pushLocalVarStack();
- var f = this.pushEventStack(n);
- if (f.current_event = n, e) {
- var l = this.types[t].getCurrentSol();
- l.select_all = !1, l.instances.length = 1, l.instances[0] = e, this.types[t].applySolToContainer()
- }
- var c = !0;
- if (n.parent) {
- for (var h = f.temp_parents_arr, p = n.parent; p;) h.push(p), p = p.parent;
- for (h.reverse(), i = 0, s = h.length; s > i; i++)
- if (!h[i].run_pretrigger()) {
- c = !1;
- break
- }
- }
- return c && (this.execcount++, n.orblock ? n.run_orblocktrigger(r) : n.run(), o = o || f.last_event_true), this.popEventStack(), a && this.popLocalVarStack(), this.popSol(n.solModifiersIncludingParents), u && this.popSol(u.solModifiersIncludingParents), 0 !== this.isInOnDestroy || 0 !== g || this.isRunningEvents || this.deathRow.isEmpty() && !this.createRow.length || this.ClearDeathRow(), this.trigger_depth--, o
- }, e.prototype.getCurrentCondition = function() {
- var e = this.getCurrentEventStack();
- return e.current_event.conditions[e.cndindex]
- }, e.prototype.getCurrentAction = function() {
- var e = this.getCurrentEventStack();
- return e.current_event.actions[e.actindex]
- }, e.prototype.pushLocalVarStack = function() {
- this.localvar_stack_index++, this.localvar_stack_index >= this.localvar_stack.length && this.localvar_stack.push([])
- }, e.prototype.popLocalVarStack = function() {
- this.localvar_stack_index--
- }, e.prototype.getCurrentLocalVarStack = function() {
- return this.localvar_stack[this.localvar_stack_index]
- }, e.prototype.pushEventStack = function(e) {
- this.event_stack_index++, this.event_stack_index >= this.event_stack.length && this.event_stack.push(new cr.eventStackFrame);
- var t = this.getCurrentEventStack();
- return t.reset(e), t
- }, e.prototype.popEventStack = function() {
- this.event_stack_index--
- }, e.prototype.getCurrentEventStack = function() {
- return this.event_stack[this.event_stack_index]
- }, e.prototype.pushLoopStack = function(e) {
- this.loop_stack_index++, this.loop_stack_index >= this.loop_stack.length && this.loop_stack.push(cr.seal({
- name: e,
- index: 0,
- stopped: !1
- }));
- var t = this.getCurrentLoop();
- return t.name = e, t.index = 0, t.stopped = !1, t
- }, e.prototype.popLoopStack = function() {
- this.loop_stack_index--
- }, e.prototype.getCurrentLoop = function() {
- return this.loop_stack[this.loop_stack_index]
- }, e.prototype.getEventVariableByName = function(e, t) {
- for (var n, r, i, s, o, u; t;) {
- for (n = 0, r = t.subevents.length; r > n; n++)
- if (u = t.subevents[n], u instanceof cr.eventvariable && cr.equals_nocase(e, u.name)) return u;
- t = t.parent
- }
- for (n = 0, r = this.eventsheets_by_index.length; r > n; n++)
- for (o = this.eventsheets_by_index[n], i = 0, s = o.events.length; s > i; i++)
- if (u = o.events[i], u instanceof cr.eventvariable && cr.equals_nocase(e, u.name)) return u;
- return null
- }, e.prototype.getLayoutBySid = function(e) {
- var t, n;
- for (t = 0, n = this.layouts_by_index.length; n > t; t++)
- if (this.layouts_by_index[t].sid === e) return this.layouts_by_index[t];
- return null
- }, e.prototype.getObjectTypeBySid = function(e) {
- var t, n;
- for (t = 0, n = this.types_by_index.length; n > t; t++)
- if (this.types_by_index[t].sid === e) return this.types_by_index[t];
- return null
- }, e.prototype.getGroupBySid = function(e) {
- var t, n;
- for (t = 0, n = this.allGroups.length; n > t; t++)
- if (this.allGroups[t].sid === e) return this.allGroups[t];
- return null
- }, e.prototype.signalContinuousPreview = function() {
- this.signalledContinuousPreview = !0
- }, e.prototype.handleSaveLoad = function() {
- var e = this,
- t = this.saveToSlot,
- s = this.lastSaveJson,
- o = this.loadFromSlot,
- u = !1;
- if (this.signalledContinuousPreview && (u = !0, t = "__c2_continuouspreview", this.signalledContinuousPreview = !1), t.length) {
- if (this.ClearDeathRow(), s = this.saveToJSONString(), window.indexedDB && !this.isCocoonJs) n(t, s, function() {
- cr.logexport("Saved state to IndexedDB storage (" + s.length + " bytes)"), e.lastSaveJson = s, e.trigger(cr.system_object.prototype.cnds.OnSaveComplete, null), e.lastSaveJson = "", u && i()
- }, function(n) {
- try {
- localStorage.setItem("__c2save_" + t, s), cr.logexport("Saved state to WebStorage (" + s.length + " bytes)"), e.lastSaveJson = s, e.trigger(cr.system_object.prototype.cnds.OnSaveComplete, null), e.lastSaveJson = "", u && i()
- } catch (r) {
- cr.logexport("Failed to save game state: " + n + "; " + r)
- }
- });
- else try {
- localStorage.setItem("__c2save_" + t, s), cr.logexport("Saved state to WebStorage (" + s.length + " bytes)"), e.lastSaveJson = s, this.trigger(cr.system_object.prototype.cnds.OnSaveComplete, null), e.lastSaveJson = "", u && i()
- } catch (a) {
- cr.logexport("Error saving to WebStorage: " + a)
- }
- this.saveToSlot = "", this.loadFromSlot = "", this.loadFromJson = ""
- }
- o.length && (window.indexedDB && !this.isCocoonJs ? r(o, function(t) {
- t ? (e.loadFromJson = t, cr.logexport("Loaded state from IndexedDB storage (" + e.loadFromJson.length + " bytes)")) : (e.loadFromJson = localStorage.getItem("__c2save_" + o) || "", cr.logexport("Loaded state from WebStorage (" + e.loadFromJson.length + " bytes)")), e.suspendDrawing = !1, e.loadFromJson.length || e.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null)
- }, function() {
- e.loadFromJson = localStorage.getItem("__c2save_" + o) || "", cr.logexport("Loaded state from WebStorage (" + e.loadFromJson.length + " bytes)"), e.suspendDrawing = !1, e.loadFromJson.length || e.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null)
- }) : (this.loadFromJson = localStorage.getItem("__c2save_" + o) || "", cr.logexport("Loaded state from WebStorage (" + this.loadFromJson.length + " bytes)"), this.suspendDrawing = !1, e.loadFromJson.length || e.trigger(cr.system_object.prototype.cnds.OnLoadFailed, null)), this.loadFromSlot = "", this.saveToSlot = ""), this.loadFromJson.length && (this.ClearDeathRow(), this.loadFromJSONString(this.loadFromJson), this.lastSaveJson = this.loadFromJson, this.trigger(cr.system_object.prototype.cnds.OnLoadComplete, null), this.lastSaveJson = "", this.loadFromJson = "")
- }, e.prototype.saveToJSONString = function() {
- var e, t, n, r, i, o, u, a, f, l, c, h, p = {
- c2save: !0,
- version: 1,
- rt: {
- time: this.kahanTime.sum,
- timescale: this.timescale,
- tickcount: this.tickcount,
- execcount: this.execcount,
- next_uid: this.next_uid,
- running_layout: this.running_layout.sid,
- start_time_offset: Date.now() - this.start_time
- },
- types: {},
- layouts: {},
- events: {
- groups: {},
- cnds: {},
- acts: {},
- vars: {}
- }
- };
- for (e = 0, t = this.types_by_index.length; t > e; e++)
- if (i = this.types_by_index[e], !i.is_family && !this.typeHasNoSaveBehavior(i)) {
- for (u = {
- instances: []
- }, cr.hasAnyOwnProperty(i.extra) && (u.ex = s(i.extra)), n = 0, r = i.instances.length; r > n; n++) u.instances.push(this.saveInstanceToJSON(i.instances[n]));
- p.types[i.sid.toString()] = u
- }
- for (e = 0, t = this.layouts_by_index.length; t > e; e++) o = this.layouts_by_index[e], p.layouts[o.sid.toString()] = o.saveToJSON();
- var d = p.events.groups;
- for (e = 0, t = this.allGroups.length; t > e; e++) a = this.allGroups[e], d[a.sid.toString()] = this.groups_by_name[a.group_name].group_active;
- var v = p.events.cnds;
- for (h in this.cndsBySid) this.cndsBySid.hasOwnProperty(h) && (f = this.cndsBySid[h], cr.hasAnyOwnProperty(f.extra) && (v[h] = {
- ex: s(f.extra)
- }));
- var m = p.events.acts;
- for (h in this.actsBySid) this.actsBySid.hasOwnProperty(h) && (l = this.actsBySid[h], cr.hasAnyOwnProperty(l.extra) && (m[h] = {
- ex: l.extra
- }));
- var g = p.events.vars;
- for (h in this.varsBySid) this.varsBySid.hasOwnProperty(h) && (c = this.varsBySid[h], c.is_constant || c.parent && !c.is_static || (g[h] = c.data));
- return p.system = this.system.saveToJSON(), JSON.stringify(p)
- }, e.prototype.refreshUidMap = function() {
- var e, t, n, r, i, s;
- for (this.objectsByUid = {}, e = 0, t = this.types_by_index.length; t > e; e++)
- if (n = this.types_by_index[e], !n.is_family)
- for (r = 0, i = n.instances.length; i > r; r++) s = n.instances[r], this.objectsByUid[s.uid.toString()] = s
- }, e.prototype.loadFromJSONString = function(e) {
- var t = JSON.parse(e);
- if (t.c2save && !(t.version > 1)) {
- var n = t.rt;
- this.kahanTime.reset(), this.kahanTime.sum = n.time, this.timescale = n.timescale, this.tickcount = n.tickcount, this.start_time = Date.now() - n.start_time_offset;
- var r = n.running_layout;
- if (r !== this.running_layout.sid) {
- var i = this.getLayoutBySid(r);
- if (!i) return;
- this.doChangeLayout(i)
- }
- this.isLoadingState = !0;
- var s, o, u, a, f, l, c, h, p, d, v, m, g, y, b, w, E, S = t.types;
- for (c in S)
- if (S.hasOwnProperty(c)) {
- if (h = this.getObjectTypeBySid(parseInt(c, 10)), !h || h.is_family || this.typeHasNoSaveBehavior(h)) continue;
- for (S[c].ex ? h.extra = S[c].ex : cr.wipe(h.extra), p = h.instances, d = S[c].instances, s = 0, o = cr.min(p.length, d.length); o > s; s++) this.loadInstanceFromJSON(p[s], d[s]);
- for (s = d.length, o = p.length; o > s; s++) this.DestroyInstance(p[s]);
- for (s = p.length, o = d.length; o > s; s++) y = null, (!h.plugin.is_world || (y = this.running_layout.getLayerBySid(d[s].w.l))) && (v = this.createInstanceFromInit(h.default_instance, y, !1, 0, 0, !0), this.loadInstanceFromJSON(v, d[s]));
- h.stale_iids = !0
- }
- this.ClearDeathRow(), this.refreshUidMap();
- var x = t.layouts;
- for (c in x)
- if (x.hasOwnProperty(c)) {
- if (g = this.getLayoutBySid(parseInt(c, 10)), !g) continue;
- g.loadFromJSON(x[c])
- }
- var T = t.events.groups;
- for (c in T) T.hasOwnProperty(c) && (b = this.getGroupBySid(parseInt(c, 10)), b && this.groups_by_name[b.group_name] && (this.groups_by_name[b.group_name].group_active = T[c]));
- var N = t.events.cnds;
- for (c in N) N.hasOwnProperty(c) && this.cndsBySid.hasOwnProperty(c) && (this.cndsBySid[c].extra = N[c].ex);
- var C = t.events.acts;
- for (c in C) C.hasOwnProperty(c) && this.actsBySid.hasOwnProperty(c) && (this.actsBySid[c].extra = C[c].ex);
- var k = t.events.vars;
- for (c in k) k.hasOwnProperty(c) && this.varsBySid.hasOwnProperty(c) && (this.varsBySid[c].data = k[c]);
- for (this.next_uid = n.next_uid, this.isLoadingState = !1, this.system.loadFromJSON(t.system), s = 0, o = this.types_by_index.length; o > s; s++)
- if (h = this.types_by_index[s], !h.is_family)
- for (u = 0, a = h.instances.length; a > u; u++) {
- if (v = h.instances[u], h.is_contained)
- for (w = v.get_iid(), v.siblings.length = 0, f = 0, l = h.container.length; l > f; f++) E = h.container[f], h !== E && v.siblings.push(E.instances[w]);
- if (v.afterLoad && v.afterLoad(), v.behavior_insts)
- for (f = 0, l = v.behavior_insts.length; l > f; f++) m = v.behavior_insts[f], m.afterLoad && m.afterLoad()
- }
- this.redraw = !0
- }
- }, e.prototype.saveInstanceToJSON = function(e, t) {
- var n, r, i, o, u, a = e.type,
- f = a.plugin,
- l = {};
- if (t ? l.c2 = !0 : l.uid = e.uid, cr.hasAnyOwnProperty(e.extra) && (l.ex = s(e.extra)), e.instance_vars && e.instance_vars.length)
- for (l.ivs = {}, n = 0, r = e.instance_vars.length; r > n; n++) l.ivs[e.type.instvar_sids[n].toString()] = e.instance_vars[n];
- if (f.is_world) {
- if (i = {
- x: e.x,
- y: e.y,
- w: e.width,
- h: e.height,
- l: e.layer.sid,
- zi: e.get_zindex()
- }, 0 !== e.angle && (i.a = e.angle), 1 !== e.opacity && (i.o = e.opacity), .5 !== e.hotspotX && (i.hX = e.hotspotX), .5 !== e.hotspotY && (i.hY = e.hotspotY), 0 !== e.blend_mode && (i.bm = e.blend_mode), e.visible || (i.v = e.visible), e.collisionsEnabled || (i.ce = e.collisionsEnabled), -1 !== e.my_timescale && (i.mts = e.my_timescale), a.effect_types.length)
- for (i.fx = [], n = 0, r = a.effect_types.length; r > n; n++) u = a.effect_types[n], i.fx.push({
- name: u.name,
- active: e.active_effect_flags[u.index],
- params: e.effect_params[u.index]
- });
- l.w = i
- }
- if (e.behavior_insts && e.behavior_insts.length)
- for (l.behs = {}, n = 0, r = e.behavior_insts.length; r > n; n++) o = e.behavior_insts[n], o.saveToJSON && (l.behs[o.type.sid.toString()] = o.saveToJSON());
- return e.saveToJSON && (l.data = e.saveToJSON()), l
- }, e.prototype.getInstanceVarIndexBySid = function(e, t) {
- var n, r;
- for (n = 0, r = e.instvar_sids.length; r > n; n++)
- if (e.instvar_sids[n] === t) return n;
- return -1
- }, e.prototype.getBehaviorIndexBySid = function(e, t) {
- var n, r;
- for (n = 0, r = e.behavior_insts.length; r > n; n++)
- if (e.behavior_insts[n].type.sid === t) return n;
- return -1
- }, e.prototype.loadInstanceFromJSON = function(e, t, n) {
- var r, i, s, o, u, a, f, l, c, h, p = e.type,
- d = p.plugin;
- if (n) {
- if (!t.c2) return
- } else e.uid = t.uid; if (t.ex ? e.extra = t.ex : cr.wipe(e.extra), u = t.ivs)
- for (r in u)
- if (u.hasOwnProperty(r)) {
- if (o = this.getInstanceVarIndexBySid(p, parseInt(r, 10)), 0 > o || o >= e.instance_vars.length) continue;
- e.instance_vars[o] = u[r]
- }
- if (d.is_world) {
- if (a = t.w, e.layer.sid !== a.l && (h = e.layer, e.layer = this.running_layout.getLayerBySid(a.l), e.layer ? (e.layer.instances.push(e), e.layer.zindices_stale = !0, cr.arrayFindRemove(h.instances, e), h.zindices_stale = !0) : (e.layer = h, this.DestroyInstance(e))), e.x = a.x, e.y = a.y, e.width = a.w, e.height = a.h, e.zindex = a.zi, e.angle = a.hasOwnProperty("a") ? a.a : 0, e.opacity = a.hasOwnProperty("o") ? a.o : 1, e.hotspotX = a.hasOwnProperty("hX") ? a.hX : .5, e.hotspotY = a.hasOwnProperty("hY") ? a.hY : .5, e.visible = a.hasOwnProperty("v") ? a.v : !0, e.collisionsEnabled = a.hasOwnProperty("ce") ? a.ce : !0, e.my_timescale = a.hasOwnProperty("mts") ? a.mts : -1, e.blend_mode = a.hasOwnProperty("bm") ? a.bm : 0, e.compositeOp = cr.effectToCompositeOp(e.blend_mode), this.gl && cr.setGLBlend(e, e.blend_mode, this.gl), e.set_bbox_changed(), a.hasOwnProperty("fx"))
- for (i = 0, s = a.fx.length; s > i; i++) f = p.getEffectIndexByName(a.fx[i].name), 0 > f || (e.active_effect_flags[f] = a.fx[i].active, e.effect_params[f] = a.fx[i].params);
- e.updateActiveEffects()
- }
- if (l = t.behs)
- for (r in l)
- if (l.hasOwnProperty(r)) {
- if (c = this.getBehaviorIndexBySid(e, parseInt(r, 10)), 0 > c) continue;
- e.behavior_insts[c].loadFromJSON(l[r])
- }
- t.data && e.loadFromJSON(t.data)
- }, cr.runtime = e, cr.createRuntime = function(t) {
- return new e(document.getElementById(t))
- }, cr.createDCRuntime = function(t, n) {
- return new e({
- dc: !0,
- width: t,
- height: n
- })
- }, window.cr_createRuntime = cr.createRuntime, window.cr_createDCRuntime = cr.createDCRuntime, window.createCocoonJSRuntime = function() {
- window.c2cocoonjs = !0;
- var t = document.createElement("screencanvas") || document.createElement("canvas");
- t.screencanvas = !0, document.body.appendChild(t);
- var n = new e(t);
- return window.c2runtime = n, window.addEventListener("orientationchange", function() {
- window.c2runtime.setSize(window.innerWidth, window.innerHeight)
- }), window.c2runtime.setSize(window.innerWidth, window.innerHeight), n
- }, window.createEjectaRuntime = function() {
- var t = document.getElementById("canvas"),
- n = new e(t);
- return window.c2runtime = n, window.c2runtime.setSize(window.innerWidth, window.innerHeight), n
- }
- }(), window.cr_getC2Runtime = function() {
- var e = document.getElementById("c2canvas");
- return e ? e.c2runtime : window.c2runtime ? window.c2runtime : null
- }, window.cr_sizeCanvas = function(e, t) {
- if (0 !== e && 0 !== t) {
- var n = window.cr_getC2Runtime();
- n && n.setSize(e, t)
- }
- }, window.cr_setSuspended = function(e) {
- var t = window.cr_getC2Runtime();
- t && t.setSuspended(e)
- },
- function() {
- function e(e, t) {
- this.runtime = e, this.event_sheet = null, this.scrollX = this.runtime.original_width / 2, this.scrollY = this.runtime.original_height / 2, this.scale = 1, this.angle = 0, this.first_visit = !0, this.name = t[0], this.width = t[1], this.height = t[2], this.unbounded_scrolling = t[3], this.sheetname = t[4], this.sid = t[5];
- var n, r, i = t[6];
- for (this.layers = [], this.initial_types = [], n = 0, r = i.length; r > n; n++) {
- var s = new cr.layer(this, i[n]);
- s.number = n, cr.seal(s), this.layers.push(s)
- }
- var o = t[7];
- for (this.initial_nonworld = [], n = 0, r = o.length; r > n; n++) {
- var u = o[n],
- a = this.runtime.types_by_index[u[1]];
- a.default_instance || (a.default_instance = u), this.initial_nonworld.push(u), -1 === this.initial_types.indexOf(a) && this.initial_types.push(a)
- }
- for (this.effect_types = [], this.active_effect_types = [], this.effect_params = [], n = 0, r = t[8].length; r > n; n++) this.effect_types.push({
- id: t[8][n][0],
- name: t[8][n][1],
- shaderindex: -1,
- active: !0,
- index: n
- }), this.effect_params.push(t[8][n][2].slice(0));
- this.updateActiveEffects(), this.rcTex = new cr.rect(0, 0, 1, 1), this.rcTex2 = new cr.rect(0, 0, 1, 1), this.persist_data = {}
- }
- function t(e, t) {
- this.layout = e, this.runtime = e.runtime, this.instances = [], this.scale = 1, this.angle = 0, this.disableAngle = !1, this.tmprect = new cr.rect(0, 0, 0, 0), this.tmpquad = new cr.quad, this.viewLeft = 0, this.viewRight = 0, this.viewTop = 0, this.viewBottom = 0, this.zindices_stale = !1, this.name = t[0], this.index = t[1], this.sid = t[2], this.visible = t[3], this.background_color = t[4], this.transparent = t[5], this.parallaxX = t[6], this.parallaxY = t[7], this.opacity = t[8], this.forceOwnTexture = t[9], this.zoomRate = t[10], this.blend_mode = t[11], this.effect_fallback = t[12], this.compositeOp = "source-over", this.srcBlend = 0, this.destBlend = 0, this.render_offscreen = !1;
- var n, r, i = t[13];
- for (this.initial_instances = [], n = 0, r = i.length; r > n; n++) {
- var s = i[n],
- o = this.runtime.types_by_index[s[1]];
- o.default_instance || (o.default_instance = s, o.default_layerindex = this.index), this.initial_instances.push(s), -1 === this.layout.initial_types.indexOf(o) && this.layout.initial_types.push(o)
- }
- for (this.effect_types = [], this.active_effect_types = [], this.effect_params = [], n = 0, r = t[14].length; r > n; n++) this.effect_types.push({
- id: t[14][n][0],
- name: t[14][n][1],
- shaderindex: -1,
- active: !0,
- index: n
- }), this.effect_params.push(t[14][n][2].slice(0));
- this.updateActiveEffects(), this.rcTex = new cr.rect(0, 0, 1, 1), this.rcTex2 = new cr.rect(0, 0, 1, 1)
- }
- function n(e, t) {
- return e.zindex - t.zindex
- }
- e.prototype.saveObjectToPersist = function(e) {
- var t = e.type.sid.toString();
- this.persist_data.hasOwnProperty(t) || (this.persist_data[t] = []);
- var n = this.persist_data[t];
- n.push(this.runtime.saveInstanceToJSON(e))
- }, e.prototype.hasOpaqueBottomLayer = function() {
- var e = this.layers[0];
- return !e.transparent && 1 === e.opacity && !e.forceOwnTexture && e.visible
- }, e.prototype.updateActiveEffects = function() {
- this.active_effect_types.length = 0;
- var e, t, n;
- for (e = 0, t = this.effect_types.length; t > e; e++) n = this.effect_types[e], n.active && this.active_effect_types.push(n)
- }, e.prototype.getEffectByName = function(e) {
- var t, n, r;
- for (t = 0, n = this.effect_types.length; n > t; t++)
- if (r = this.effect_types[t], r.name === e) return r;
- return null
- };
- var r = [];
- e.prototype.startRunning = function() {
- this.sheetname && (this.event_sheet = this.runtime.eventsheets[this.sheetname], this.event_sheet.updateDeepIncludes()), this.runtime.running_layout = this, this.scrollX = this.runtime.original_width / 2, this.scrollY = this.runtime.original_height / 2;
- var e, t, o, u, a, f, l, c, h, p, d, v, m;
- for (e = 0, o = this.runtime.types_by_index.length; o > e; e++)
- if (a = this.runtime.types_by_index[e], !a.is_family)
- for (f = a.instances, t = 0, u = f.length; u > t; t++)
- if (l = f[t], l.layer) {
- var g = l.layer.number;
- g >= this.layers.length && (g = this.layers.length - 1), l.layer = this.layers[g], -1 === l.layer.instances.indexOf(l) && l.layer.instances.push(l), l.layer.zindices_stale = !0
- }
- var m;
- for (r.length = 0, this.boundScrolling(), e = 0, o = this.layers.length; o > e; e++) {
- m = this.layers[e], m.createInitialInstances(), m.disableAngle = !0;
- var y = m.canvasToLayer(0, 0, !0, !0),
- b = m.canvasToLayer(0, 0, !1, !0);
- m.disableAngle = !1, this.runtime.pixel_rounding && (y = y + .5 | 0, b = b + .5 | 0), m.rotateViewport(y, b, null)
- }
- var w = !1;
- if (!this.first_visit) {
- for (d in this.persist_data)
- if (this.persist_data.hasOwnProperty(d)) {
- if (a = this.runtime.getObjectTypeBySid(parseInt(d, 10)), !a || a.is_family || !this.runtime.typeHasPersistBehavior(a)) continue;
- for (v = this.persist_data[d], e = 0, o = v.length; o > e; e++) m = null, (!a.plugin.is_world || (m = this.getLayerBySid(v[e].w.l))) && (l = this.runtime.createInstanceFromInit(a.default_instance, m, !1, 0, 0, !0), this.runtime.loadInstanceFromJSON(l, v[e]), w = !0, r.push(l));
- v.length = 0
- }
- for (e = 0, o = this.layers.length; o > e; e++) this.layers[e].instances.sort(n), this.layers[e].zindices_stale = !0
- }
- for (w && (this.runtime.ClearDeathRow(), this.runtime.refreshUidMap()), e = 0; e < r.length; e++)
- if (l = r[e], l.type.is_contained)
- for (c = l.get_iid(), t = 0, u = l.type.container.length; u > t; t++) h = l.type.container[t], l.type !== h && (h.instances.length > c ? l.siblings.push(h.instances[c]) : h.default_instance && (p = this.runtime.createInstanceFromInit(h.default_instance, l.layer, !0, l.x, l.y, !0), this.runtime.ClearDeathRow(), h.updateIIDs(), l.siblings.push(p), r.push(p)));
- for (e = 0, o = this.initial_nonworld.length; o > e; e++) l = this.runtime.createInstanceFromInit(this.initial_nonworld[e], null, !0);
- if (this.runtime.changelayout = null, this.runtime.ClearDeathRow(), this.runtime.ctx && !this.runtime.isDomFree)
- for (e = 0, o = this.runtime.types_by_index.length; o > e; e++) h = this.runtime.types_by_index[e], !h.is_family && h.instances.length && h.preloadCanvas2D && h.preloadCanvas2D(this.runtime.ctx);
- for (e = 0, o = r.length; o > e; e++) l = r[e], this.runtime.trigger(Object.getPrototypeOf(l.type.plugin).cnds.OnCreated, l);
- r.length = 0, this.runtime.trigger(cr.system_object.prototype.cnds.OnLayoutStart, null), this.first_visit = !1
- }, e.prototype.createGlobalNonWorlds = function() {
- var e, t, n, r, i, s;
- for (e = 0, t = 0, n = this.initial_nonworld.length; n > e; e++) r = this.initial_nonworld[e], s = this.runtime.types_by_index[r[1]], s.global ? i = this.runtime.createInstanceFromInit(r, null, !0) : (this.initial_nonworld[t] = r, t++);
- this.initial_nonworld.length = t
- }, e.prototype.stopRunning = function() {
- this.runtime.trigger(cr.system_object.prototype.cnds.OnLayoutEnd, null), this.runtime.system.waits.length = 0;
- var e, t, n, r, i, s, o;
- for (e = 0, t = this.layers.length; t > e; e++) {
- for (i = this.layers[e].instances, n = 0, r = i.length; r > n; n++) s = i[n], s.type.global || (this.runtime.typeHasPersistBehavior(s.type) && this.saveObjectToPersist(s), this.runtime.DestroyInstance(s));
- this.runtime.ClearDeathRow(), i.length = 0, this.layers[e].zindices_stale = !0
- }
- for (e = 0, t = this.runtime.types_by_index.length; t > e; e++)
- if (o = this.runtime.types_by_index[e], !(o.global || o.plugin.is_world || o.plugin.singleglobal || o.is_family)) {
- for (n = 0, r = o.instances.length; r > n; n++) this.runtime.DestroyInstance(o.instances[n]);
- this.runtime.ClearDeathRow()
- }
- }, e.prototype.draw = function(e) {
- var t, n = e,
- r = !1,
- i = !this.runtime.fullscreenScalingQuality;
- i && (this.runtime.layout_canvas || (this.runtime.layout_canvas = document.createElement("canvas"), t = this.runtime.layout_canvas, t.width = this.runtime.draw_width, t.height = this.runtime.draw_height, this.runtime.layout_ctx = t.getContext("2d"), r = !0), t = this.runtime.layout_canvas, n = this.runtime.layout_ctx, t.width !== this.runtime.draw_width && (t.width = this.runtime.draw_width, r = !0), t.height !== this.runtime.draw_height && (t.height = this.runtime.draw_height, r = !0), r && (n.webkitImageSmoothingEnabled = this.runtime.linearSampling, n.mozImageSmoothingEnabled = this.runtime.linearSampling, n.msImageSmoothingEnabled = this.runtime.linearSampling, n.imageSmoothingEnabled = this.runtime.linearSampling)), n.globalAlpha = 1, n.globalCompositeOperation = "source-over", this.runtime.alphaBackground && !this.hasOpaqueBottomLayer() && n.clearRect(0, 0, this.runtime.draw_width, this.runtime.draw_height);
- var s, o, u;
- for (s = 0, o = this.layers.length; o > s; s++) u = this.layers[s], u.visible && u.opacity > 0 && 11 !== u.blend_mode && u.draw(n);
- i && e.drawImage(t, 0, 0, this.runtime.width, this.runtime.height)
- }, e.prototype.drawGL = function(e) {
- var t = this.active_effect_types.length > 0 || this.runtime.uses_background_blending || !this.runtime.fullscreenScalingQuality;
- t ? (this.runtime.layout_tex || (this.runtime.layout_tex = e.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling)), (this.runtime.layout_tex.c2width !== this.runtime.draw_width || this.runtime.layout_tex.c2height !== this.runtime.draw_height) && (e.deleteTexture(this.runtime.layout_tex), this.runtime.layout_tex = e.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling)), e.setRenderingToTexture(this.runtime.layout_tex), this.runtime.fullscreenScalingQuality || e.setSize(this.runtime.draw_width, this.runtime.draw_height)) : this.runtime.layout_tex && (e.setRenderingToTexture(null), e.deleteTexture(this.runtime.layout_tex), this.runtime.layout_tex = null), this.runtime.alphaBackground && !this.hasOpaqueBottomLayer() && e.clear(0, 0, 0, 0);
- var n, r;
- for (n = 0, r = this.layers.length; r > n; n++) this.layers[n].visible && this.layers[n].opacity > 0 && this.layers[n].drawGL(e);
- if (t)
- if (0 === this.active_effect_types.length || 1 === this.active_effect_types.length && this.runtime.fullscreenScalingQuality) {
- if (1 === this.active_effect_types.length) {
- var i = this.active_effect_types[0].index;
- e.switchProgram(this.active_effect_types[0].shaderindex), e.setProgramParameters(null, 1 / this.runtime.draw_width, 1 / this.runtime.draw_height, 0, 0, 1, 1, this.scale, this.angle, 0, 0, this.effect_params[i]), e.programIsAnimated(this.active_effect_types[0].shaderindex) && (this.runtime.redraw = !0)
- } else e.switchProgram(0);
- this.runtime.fullscreenScalingQuality || e.setSize(this.runtime.width, this.runtime.height), e.setRenderingToTexture(null), e.setOpacity(1), e.setTexture(this.runtime.layout_tex), e.setAlphaBlend(), e.resetModelView(), e.updateModelView();
- var s = this.runtime.width / 2,
- o = this.runtime.height / 2;
- e.quad(-s, o, s, o, s, -o, -s, -o), e.setTexture(null)
- } else this.renderEffectChain(e, null, null, null)
- }, e.prototype.getRenderTarget = function() {
- return this.active_effect_types.length > 0 || this.runtime.uses_background_blending || !this.runtime.fullscreenScalingQuality ? this.runtime.layout_tex : null
- }, e.prototype.getMinLayerScale = function() {
- var e, t, n, r = this.layers[0].getScale();
- for (e = 1, t = this.layers.length; t > e; e++) n = this.layers[e], (0 !== n.parallaxX || 0 !== n.parallaxY) && n.getScale() < r && (r = n.getScale());
- return r
- }, e.prototype.scrollToX = function(e) {
- if (!this.unbounded_scrolling) {
- var t = this.runtime.draw_width * (1 / this.getMinLayerScale()) / 2;
- e > this.width - t && (e = this.width - t), t > e && (e = t)
- }
- this.scrollX !== e && (this.scrollX = e, this.runtime.redraw = !0)
- }, e.prototype.scrollToY = function(e) {
- if (!this.unbounded_scrolling) {
- var t = this.runtime.draw_height * (1 / this.getMinLayerScale()) / 2;
- e > this.height - t && (e = this.height - t), t > e && (e = t)
- }
- this.scrollY !== e && (this.scrollY = e, this.runtime.redraw = !0)
- }, e.prototype.boundScrolling = function() {
- this.scrollToX(this.scrollX), this.scrollToY(this.scrollY)
- }, e.prototype.renderEffectChain = function(e, t, n, r) {
- var i = n ? n.active_effect_types : t ? t.active_effect_types : this.active_effect_types,
- s = 1,
- o = 0,
- u = 0,
- a = 0;
- n ? (s = n.layer.getScale(), o = n.layer.getAngle(), u = n.layer.viewLeft, a = n.layer.viewTop) : t && (s = t.getScale(), o = t.getAngle(), u = t.viewLeft, a = t.viewTop);
- var f, l, c, h, p, d, v = this.runtime.fx_tex,
- m = 0,
- g = 1,
- y = this.runtime.draw_width,
- b = this.runtime.draw_height,
- w = y / 2,
- E = b / 2,
- S = t ? t.rcTex : this.rcTex,
- x = t ? t.rcTex2 : this.rcTex2,
- T = 0,
- N = 0,
- C = 0,
- k = 0,
- L = y,
- A = y,
- O = b,
- M = b,
- _ = 0,
- D = 0,
- P = n ? n.layer.getAngle() : 0;
- if (n) {
- for (f = 0, l = i.length; l > f; f++) _ += e.getProgramBoxExtendHorizontal(i[f].shaderindex), D += e.getProgramBoxExtendVertical(i[f].shaderindex);
- var H = n.bbox;
- if (T = t.layerToCanvas(H.left, H.top, !0, !0), C = t.layerToCanvas(H.left, H.top, !1, !0), L = t.layerToCanvas(H.right, H.bottom, !0, !0), O = t.layerToCanvas(H.right, H.bottom, !1, !0), 0 !== P) {
- var B = t.layerToCanvas(H.right, H.top, !0, !0),
- j = t.layerToCanvas(H.right, H.top, !1, !0),
- F = t.layerToCanvas(H.left, H.bottom, !0, !0),
- I = t.layerToCanvas(H.left, H.bottom, !1, !0);
- h = Math.min(T, L, B, F), L = Math.max(T, L, B, F), T = h, h = Math.min(C, O, j, I), O = Math.max(C, O, j, I), C = h
- }
- T -= _, C -= D, L += _, O += D, x.left = T / y, x.top = 1 - C / b, x.right = L / y, x.bottom = 1 - O / b, N = T = cr.floor(T), k = C = cr.floor(C), A = L = cr.ceil(L), M = O = cr.ceil(O), N -= _, k -= D, A += _, M += D, 0 > T && (T = 0), 0 > C && (C = 0), L > y && (L = y), O > b && (O = b), 0 > N && (N = 0), 0 > k && (k = 0), A > y && (A = y), M > b && (M = b), S.left = T / y, S.top = 1 - C / b, S.right = L / y, S.bottom = 1 - O / b
- } else S.left = x.left = 0, S.top = x.top = 0, S.right = x.right = 1, S.bottom = x.bottom = 1;
- var q = n && ((n.angle || P) && e.programUsesDest(i[0].shaderindex) || 0 !== _ || 0 !== D || 1 !== n.opacity || n.type.plugin.must_predraw) || t && !n && 1 !== t.opacity;
- e.setAlphaBlend(), q && (v[m] || (v[m] = e.createEmptyTexture(y, b, this.runtime.linearSampling)), (v[m].c2width !== y || v[m].c2height !== b) && (e.deleteTexture(v[m]), v[m] = e.createEmptyTexture(y, b, this.runtime.linearSampling)), e.switchProgram(0), e.setRenderingToTexture(v[m]), d = M - k, p = b - k - d, e.clearRect(N, p, A - N, d), n ? n.drawGL(e) : (e.setTexture(this.runtime.layer_tex), e.setOpacity(t.opacity), e.resetModelView(), e.translate(-w, -E), e.updateModelView(), e.quadTex(T, O, L, O, L, C, T, C, S)), x.left = x.top = 0, x.right = x.bottom = 1, n && (h = S.top, S.top = S.bottom, S.bottom = h), m = 1, g = 0), e.setOpacity(1);
- var c = i.length - 1,
- R = e.programUsesCrossSampling(i[c].shaderindex) || !t && !n && !this.runtime.fullscreenScalingQuality,
- U = 0;
- for (f = 0, l = i.length; l > f; f++) v[m] || (v[m] = e.createEmptyTexture(y, b, this.runtime.linearSampling)), (v[m].c2width !== y || v[m].c2height !== b) && (e.deleteTexture(v[m]), v[m] = e.createEmptyTexture(y, b, this.runtime.linearSampling)), e.switchProgram(i[f].shaderindex), U = i[f].index, e.programIsAnimated(i[f].shaderindex) && (this.runtime.redraw = !0), 0 != f || q ? (e.setProgramParameters(r, 1 / y, 1 / b, x.left, x.top, x.right, x.bottom, s, o, u, a, n ? n.effect_params[U] : t ? t.effect_params[U] : this.effect_params[U]), e.setTexture(null), f !== c || R ? (e.setRenderingToTexture(v[m]), d = M - k, p = b - k - d, e.clearRect(N, p, A - N, d)) : (n ? e.setBlend(n.srcBlend, n.destBlend) : t && e.setBlend(t.srcBlend, t.destBlend), e.setRenderingToTexture(r)), e.setTexture(v[g]), e.resetModelView(), e.translate(-w, -E), e.updateModelView(), e.quadTex(T, O, L, O, L, C, T, C, S), f !== c || R || e.setTexture(null)) : (e.setRenderingToTexture(v[m]), d = M - k, p = b - k - d, e.clearRect(N, p, A - N, d), n ? (e.setProgramParameters(r, 1 / n.width, 1 / n.height, x.left, x.top, x.right, x.bottom, s, o, u, a, n.effect_params[U]), n.drawGL(e)) : (e.setProgramParameters(r, 1 / y, 1 / b, 0, 0, 1, 1, s, o, u, a, t ? t.effect_params[U] : this.effect_params[U]), e.setTexture(t ? this.runtime.layer_tex : this.runtime.layout_tex), e.resetModelView(), e.translate(-w, -E), e.updateModelView(), e.quadTex(T, O, L, O, L, C, T, C, S)), x.left = x.top = 0, x.right = x.bottom = 1, n && !R && (h = O, O = C, C = h)), m = 0 === m ? 1 : 0, g = 0 === m ? 1 : 0;
- R && (e.switchProgram(0), n ? e.setBlend(n.srcBlend, n.destBlend) : t ? e.setBlend(t.srcBlend, t.destBlend) : this.runtime.fullscreenScalingQuality || (e.setSize(this.runtime.width, this.runtime.height), w = this.runtime.width / 2, E = this.runtime.height / 2, T = 0, C = 0, L = this.runtime.width, O = this.runtime.height), e.setRenderingToTexture(r), e.setTexture(v[g]), e.resetModelView(), e.translate(-w, -E), e.updateModelView(), n && 1 === i.length && !q ? e.quadTex(T, C, L, C, L, O, T, O, S) : e.quadTex(T, O, L, O, L, C, T, C, S), e.setTexture(null))
- }, e.prototype.getLayerBySid = function(e) {
- var t, n;
- for (t = 0, n = this.layers.length; n > t; t++)
- if (this.layers[t].sid === e) return this.layers[t];
- return null
- }, e.prototype.saveToJSON = function() {
- var e, t, n, r, i = {
- sx: this.scrollX,
- sy: this.scrollY,
- s: this.scale,
- a: this.angle,
- w: this.width,
- h: this.height,
- fv: this.first_visit,
- persist: this.persist_data,
- fx: [],
- layers: {}
- };
- for (e = 0, t = this.effect_types.length; t > e; e++) r = this.effect_types[e], i.fx.push({
- name: r.name,
- active: r.active,
- params: this.effect_params[r.index]
- });
- for (e = 0, t = this.layers.length; t > e; e++) n = this.layers[e], i.layers[n.sid.toString()] = n.saveToJSON();
- return i
- }, e.prototype.loadFromJSON = function(e) {
- var t, n, r, i, s;
- this.scrollX = e.sx, this.scrollY = e.sy, this.scale = e.s, this.angle = e.a, this.width = e.w, this.height = e.h, this.persist_data = e.persist, "undefined" != typeof e.fv && (this.first_visit = e.fv);
- var o = e.fx;
- for (t = 0, n = o.length; n > t; t++) r = this.getEffectByName(o[t].name), r && (r.active = o[t].active, this.effect_params[r.index] = o[t].params);
- this.updateActiveEffects();
- var u = e.layers;
- for (i in u)
- if (u.hasOwnProperty(i)) {
- if (s = this.getLayerBySid(parseInt(i, 10)), !s) continue;
- s.loadFromJSON(u[i])
- }
- }, cr.layout = e, t.prototype.updateActiveEffects = function() {
- this.active_effect_types.length = 0;
- var e, t, n;
- for (e = 0, t = this.effect_types.length; t > e; e++) n = this.effect_types[e], n.active && this.active_effect_types.push(n)
- }, t.prototype.getEffectByName = function(e) {
- var t, n, r;
- for (t = 0, n = this.effect_types.length; n > t; t++)
- if (r = this.effect_types[t], r.name === e) return r;
- return null
- }, t.prototype.createInitialInstances = function() {
- var e, t, n, i, o, u, a, f;
- for (e = 0, t = 0, n = this.initial_instances.length; n > e; e++) o = this.initial_instances[e], u = this.runtime.types_by_index[o[1]], f = this.runtime.typeHasPersistBehavior(u), a = !0, (!f || this.layout.first_visit) && (i = this.runtime.createInstanceFromInit(o, this, !0), r.push(i), i.type.global && (a = !1)), a && (this.initial_instances[t] = this.initial_instances[e], t++);
- this.initial_instances.length = t, this.runtime.ClearDeathRow(), !this.runtime.glwrap && this.effect_types.length && (this.blend_mode = this.effect_fallback), this.compositeOp = cr.effectToCompositeOp(this.blend_mode), this.runtime.gl && cr.setGLBlend(this, this.blend_mode, this.runtime.gl)
- }, t.prototype.updateZIndices = function() {
- if (this.zindices_stale) {
- var e, t;
- for (e = 0, t = this.instances.length; t > e; e++) this.instances[e].zindex = e;
- this.zindices_stale = !1
- }
- }, t.prototype.getScale = function(e) {
- return this.getNormalScale() * (this.runtime.fullscreenScalingQuality || e ? this.runtime.aspect_scale : 1)
- }, t.prototype.getNormalScale = function() {
- return (this.scale * this.layout.scale - 1) * this.zoomRate + 1
- }, t.prototype.getAngle = function() {
- return this.disableAngle ? 0 : cr.clamp_angle(this.layout.angle + this.angle)
- }, t.prototype.draw = function(e) {
- this.render_offscreen = this.forceOwnTexture || 1 !== this.opacity || 0 !== this.blend_mode;
- var t = this.runtime.canvas,
- n = e,
- r = !1;
- this.render_offscreen && (this.runtime.layer_canvas || (this.runtime.layer_canvas = document.createElement("canvas"), t = this.runtime.layer_canvas, t.width = this.runtime.draw_width, t.height = this.runtime.draw_height, this.runtime.layer_ctx = t.getContext("2d"), r = !0), t = this.runtime.layer_canvas, n = this.runtime.layer_ctx, t.width !== this.runtime.draw_width && (t.width = this.runtime.draw_width, r = !0), t.height !== this.runtime.draw_height && (t.height = this.runtime.draw_height, r = !0), r && (n.webkitImageSmoothingEnabled = this.runtime.linearSampling, n.mozImageSmoothingEnabled = this.runtime.linearSampling, n.msImageSmoothingEnabled = this.runtime.linearSampling, n.imageSmoothingEnabled = this.runtime.linearSampling), this.transparent && n.clearRect(0, 0, this.runtime.draw_width, this.runtime.draw_height)), n.globalAlpha = 1, n.globalCompositeOperation = "source-over", this.transparent || (n.fillStyle = "rgb(" + this.background_color[0] + "," + this.background_color[1] + "," + this.background_color[2] + ")", n.fillRect(0, 0, this.runtime.draw_width, this.runtime.draw_height)), n.save(), this.disableAngle = !0;
- var i = this.canvasToLayer(0, 0, !0, !0),
- s = this.canvasToLayer(0, 0, !1, !0);
- this.disableAngle = !1, this.runtime.pixel_rounding && (i = i + .5 | 0, s = s + .5 | 0), this.rotateViewport(i, s, n);
- var o = this.getScale();
- n.scale(o, o), n.translate(-i, -s);
- var u, a, f, l;
- for (u = 0, a = this.instances.length; a > u; u++) f = this.instances[u], f.visible && 0 !== f.width && 0 !== f.height && (f.update_bbox(), l = f.bbox, l.right < this.viewLeft || l.bottom < this.viewTop || l.left > this.viewRight || l.top > this.viewBottom || (n.globalCompositeOperation = f.compositeOp, f.draw(n)));
- n.restore(), this.render_offscreen && (e.globalCompositeOperation = this.compositeOp, e.globalAlpha = this.opacity, e.drawImage(t, 0, 0))
- }, t.prototype.rotateViewport = function(e, t, n) {
- var r = this.getScale();
- this.viewLeft = e, this.viewTop = t, this.viewRight = e + this.runtime.draw_width * (1 / r), this.viewBottom = t + this.runtime.draw_height * (1 / r);
- var i = this.getAngle();
- 0 !== i && (n && (n.translate(this.runtime.draw_width / 2, this.runtime.draw_height / 2), n.rotate(-i), n.translate(this.runtime.draw_width / -2, this.runtime.draw_height / -2)), this.tmprect.set(this.viewLeft, this.viewTop, this.viewRight, this.viewBottom), this.tmprect.offset((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2), this.tmpquad.set_from_rotated_rect(this.tmprect, i), this.tmpquad.bounding_box(this.tmprect), this.tmprect.offset((this.viewLeft + this.viewRight) / 2, (this.viewTop + this.viewBottom) / 2), this.viewLeft = this.tmprect.left, this.viewTop = this.tmprect.top, this.viewRight = this.tmprect.right, this.viewBottom = this.tmprect.bottom)
- }, t.prototype.drawGL = function(e) {
- var t = this.runtime.draw_width,
- n = this.runtime.draw_height,
- r = 0,
- i = 0;
- this.render_offscreen = this.forceOwnTexture || 1 !== this.opacity || this.active_effect_types.length > 0 || 0 !== this.blend_mode, this.render_offscreen && (this.runtime.layer_tex || (this.runtime.layer_tex = e.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling)), (this.runtime.layer_tex.c2width !== this.runtime.draw_width || this.runtime.layer_tex.c2height !== this.runtime.draw_height) && (e.deleteTexture(this.runtime.layer_tex), this.runtime.layer_tex = e.createEmptyTexture(this.runtime.draw_width, this.runtime.draw_height, this.runtime.linearSampling)), e.setRenderingToTexture(this.runtime.layer_tex), this.transparent && e.clear(0, 0, 0, 0)), this.transparent || e.clear(this.background_color[0] / 255, this.background_color[1] / 255, this.background_color[2] / 255, 1), this.disableAngle = !0;
- var s = this.canvasToLayer(0, 0, !0, !0),
- o = this.canvasToLayer(0, 0, !1, !0);
- this.disableAngle = !1, this.runtime.pixel_rounding && (s = s + .5 | 0, o = o + .5 | 0), this.rotateViewport(s, o, null);
- var u = this.getScale();
- e.resetModelView(), e.scale(u, u), e.rotateZ(-this.getAngle()), e.translate((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2), e.updateModelView();
- var a, f, l, c;
- for (a = 0, f = this.instances.length; f > a; a++)
- if (l = this.instances[a], l.visible && 0 !== l.width && 0 !== l.height && (l.update_bbox(), c = l.bbox, !(c.right < this.viewLeft || c.bottom < this.viewTop || c.left > this.viewRight || c.top > this.viewBottom)))
- if (l.uses_shaders)
- if (r = l.active_effect_types[0].shaderindex, i = l.active_effect_types[0].index, 1 !== l.active_effect_types.length || e.programUsesCrossSampling(r) || e.programExtendsBox(r) || (l.angle || l.layer.getAngle()) && e.programUsesDest(r) || 1 !== l.opacity || l.type.plugin.must_predraw) this.layout.renderEffectChain(e, this, l, this.render_offscreen ? this.runtime.layer_tex : this.layout.getRenderTarget()), e.resetModelView(), e.scale(u, u), e.rotateZ(-this.getAngle()), e.translate((this.viewLeft + this.viewRight) / -2, (this.viewTop + this.viewBottom) / -2), e.updateModelView();
- else {
- e.switchProgram(r), e.setBlend(l.srcBlend, l.destBlend), e.programIsAnimated(r) && (this.runtime.redraw = !0);
- var h = 0,
- p = 0,
- d = 0,
- v = 0;
- if (e.programUsesDest(r)) {
- var c = l.bbox,
- m = this.layerToCanvas(c.left, c.top, !0, !0),
- g = this.layerToCanvas(c.left, c.top, !1, !0),
- y = this.layerToCanvas(c.right, c.bottom, !0, !0),
- b = this.layerToCanvas(c.right, c.bottom, !1, !0);
- h = m / t, p = 1 - g / n, d = y / t, v = 1 - b / n
- }
- e.setProgramParameters(this.render_offscreen ? this.runtime.layer_tex : this.layout.getRenderTarget(), 1 / l.width, 1 / l.height, h, p, d, v, this.getScale(), this.getAngle(), this.viewLeft, this.viewTop, l.effect_params[i]), l.drawGL(e)
- } else e.switchProgram(0), e.setBlend(l.srcBlend, l.destBlend), l.drawGL(e); if (this.render_offscreen)
- if (r = this.active_effect_types.length ? this.active_effect_types[0].shaderindex : 0, i = this.active_effect_types.length ? this.active_effect_types[0].index : 0, 0 === this.active_effect_types.length || 1 === this.active_effect_types.length && !e.programUsesCrossSampling(r) && 1 === this.opacity) {
- 1 === this.active_effect_types.length ? (e.switchProgram(r), e.setProgramParameters(this.layout.getRenderTarget(), 1 / this.runtime.draw_width, 1 / this.runtime.draw_height, 0, 0, 1, 1, this.getScale(), this.getAngle(), this.viewLeft, this.viewTop, this.effect_params[i]), e.programIsAnimated(r) && (this.runtime.redraw = !0)) : e.switchProgram(0), e.setRenderingToTexture(this.layout.getRenderTarget()), e.setOpacity(this.opacity), e.setTexture(this.runtime.layer_tex), e.setBlend(this.srcBlend, this.destBlend), e.resetModelView(), e.updateModelView();
- var w = this.runtime.draw_width / 2,
- E = this.runtime.draw_height / 2;
- e.quad(-w, E, w, E, w, -E, -w, -E), e.setTexture(null)
- } else this.layout.renderEffectChain(e, this, null, this.layout.getRenderTarget())
- }, t.prototype.canvasToLayer = function(e, t, n, r) {
- var i = this.runtime.devicePixelRatio;
- this.runtime.isRetina && (e *= i, t *= i);
- var s = this.runtime.parallax_x_origin,
- o = this.runtime.parallax_y_origin,
- u = (this.layout.scrollX - s) * this.parallaxX + s,
- a = (this.layout.scrollY - o) * this.parallaxY + o,
- f = 1 / this.getScale(!r);
- r ? (u -= this.runtime.draw_width * f / 2, a -= this.runtime.draw_height * f / 2) : (u -= this.runtime.width * f / 2, a -= this.runtime.height * f / 2), u += e * f, a += t * f;
- var l = this.getAngle();
- if (0 !== l) {
- u -= this.layout.scrollX, a -= this.layout.scrollY;
- var c = Math.cos(l),
- h = Math.sin(l),
- p = u * c - a * h;
- a = a * c + u * h, u = p, u += this.layout.scrollX, a += this.layout.scrollY
- }
- return n ? u : a
- }, t.prototype.layerToCanvas = function(e, t, n, r) {
- var i = this.getAngle();
- if (0 !== i) {
- e -= this.layout.scrollX, t -= this.layout.scrollY;
- var s = Math.cos(-i),
- o = Math.sin(-i),
- u = e * s - t * o;
- t = t * s + e * o, e = u, e += this.layout.scrollX, t += this.layout.scrollY
- }
- var a = this.runtime.parallax_x_origin,
- f = this.runtime.parallax_y_origin,
- l = (this.layout.scrollX - a) * this.parallaxX + a,
- c = (this.layout.scrollY - f) * this.parallaxY + f,
- h = 1 / this.getScale(!r);
- r ? (l -= this.runtime.draw_width * h / 2, c -= this.runtime.draw_height * h / 2) : (l -= this.runtime.width * h / 2, c -= this.runtime.height * h / 2), l = (e - l) / h, c = (t - c) / h;
- var p = this.runtime.devicePixelRatio;
- return this.runtime.isRetina && !r && (l /= p, c /= p), n ? l : c
- }, t.prototype.rotatePt = function(e, t, n) {
- if (0 === this.getAngle()) return n ? e : t;
- var r = this.layerToCanvas(e, t, !0),
- i = this.layerToCanvas(e, t, !1);
- this.disableAngle = !0;
- var s = this.canvasToLayer(r, i, !0),
- o = this.canvasToLayer(r, i, !0);
- return this.disableAngle = !1, n ? s : o
- }, t.prototype.saveToJSON = function() {
- var e, t, n, r = {
- s: this.scale,
- a: this.angle,
- vl: this.viewLeft,
- vt: this.viewTop,
- vr: this.viewRight,
- vb: this.viewBottom,
- v: this.visible,
- bc: this.background_color,
- t: this.transparent,
- px: this.parallaxX,
- py: this.parallaxY,
- o: this.opacity,
- zr: this.zoomRate,
- fx: [],
- instances: []
- };
- for (e = 0, t = this.effect_types.length; t > e; e++) n = this.effect_types[e], r.fx.push({
- name: n.name,
- active: n.active,
- params: this.effect_params[n.index]
- });
- return r
- }, t.prototype.loadFromJSON = function(e) {
- var t, r, s;
- this.scale = e.s, this.angle = e.a, this.viewLeft = e.vl, this.viewTop = e.vt, this.viewRight = e.vr, this.viewBottom = e.vb, this.visible = e.v, this.background_color = e.bc, this.transparent = e.t, this.parallaxX = e.px, this.parallaxY = e.py, this.opacity = e.o, this.zoomRate = e.zr;
- var o = e.fx;
- for (t = 0, r = o.length; r > t; t++) s = this.getEffectByName(o[t].name), s && (s.active = o[t].active, this.effect_params[s.index] = o[t].params);
- this.updateActiveEffects(), this.instances.sort(n), this.zindices_stale = !0
- }, cr.layer = t
- }(),
- function() {
- function e(e, t) {
- var n, r = e.length;
- switch (r) {
- case 0:
- return !0;
- case 1:
- return e[0] === t[0];
- case 2:
- return e[0] === t[0] && e[1] === t[1];
- default:
- for (n = 0; r > n; n++)
- if (e[n] !== t[n]) return !1;
- return !0
- }
- }
- function t(e, t) {
- return e.index - t.index
- }
- function n(n) {
- var r, i, s, o, u;
- for (2 === n.length ? n[0].index > n[1].index && (o = n[0], n[0] = n[1], n[1] = o) : n.length > 2 && n.sort(t), n.length >= d.length && (d.length = n.length + 1), d[n.length] || (d[n.length] = []), u = d[n.length], r = 0, i = u.length; i > r; r++)
- if (s = u[r], e(n, s)) return s;
- return u.push(n), n
- }
- function r(e, t) {
- this.runtime = e, this.triggers = {}, this.fasttriggers = {}, this.hasRun = !1, this.includes = new cr.ObjectSet, this.deep_includes = [], this.already_included_sheets = [], this.name = t[0];
- var n = t[1];
- this.events = [];
- var r, i;
- for (r = 0, i = n.length; i > r; r++) this.init_event(n[r], null, this.events)
- }
- function i(e) {
- return cr.plugins_.Sprite && e === cr.plugins_.Sprite.prototype.cnds.OnFrameChanged ? !0 : !1
- }
- function s(e) {
- this.type = e, this.instances = [], this.else_instances = [], this.select_all = !0
- }
- function o(e, t, n) {
- this.sheet = e, this.parent = t, this.runtime = e.runtime, this.solModifiers = [], this.solModifiersIncludingParents = [], this.solWriterAfterCnds = !1, this.group = !1, this.initially_activated = !1, this.toplevelevent = !1, this.toplevelgroup = !1, this.has_else_block = !1, this.conditions = [], this.actions = [], this.subevents = [], this.group_name = "", this.group = !1, this.initially_activated = !1, this.group_active = !1, this.contained_includes = null, n[1] && (this.group_name = n[1][1].toLowerCase(), this.group = !0, this.initially_activated = !!n[1][0], this.contained_includes = [], this.group_active = this.initially_activated, this.runtime.allGroups.push(this), this.runtime.groups_by_name[this.group_name] = this), this.orblock = n[2], this.sid = n[4], this.group || (this.runtime.blocksBySid[this.sid.toString()] = this);
- var r, i, s = n[5];
- for (r = 0, i = s.length; i > r; r++) {
- var o = new cr.condition(this, s[r]);
- o.index = r, cr.seal(o), this.conditions.push(o), this.addSolModifier(o.type)
- }
- var u = n[6];
- for (r = 0, i = u.length; i > r; r++) {
- var a = new cr.action(this, u[r]);
- a.index = r, cr.seal(a), this.actions.push(a)
- }
- if (8 === n.length) {
- var f = n[7];
- for (r = 0, i = f.length; i > r; r++) this.sheet.init_event(f[r], this, this.subevents)
- }
- this.is_else_block = !1, this.conditions.length && (this.is_else_block = null == this.conditions[0].type && this.conditions[0].func == cr.system_object.prototype.cnds.Else)
- }
- function u(e, t) {
- var n, r, i;
- if (e && (-1 === t.indexOf(e) && t.push(e), e.is_contained))
- for (n = 0, r = e.container.length; r > n; n++) i = e.container[n], e !== i && -1 === t.indexOf(i) && t.push(i)
- }
- function a(e, t) {
- if (this.block = e, this.sheet = e.sheet, this.runtime = e.runtime, this.parameters = [], this.results = [], this.extra = {}, this.index = -1, this.anyParamVariesPerInstance = !1, this.func = t[1], this.trigger = t[3] > 0, this.fasttrigger = 2 === t[3], this.looping = t[4], this.inverted = t[5], this.isstatic = t[6], this.sid = t[7], this.runtime.cndsBySid[this.sid.toString()] = this, -1 === t[0] ? (this.type = null, this.run = this.run_system, this.behaviortype = null, this.beh_index = -1) : (this.type = this.runtime.types_by_index[t[0]], this.run = this.isstatic ? this.run_static : this.run_object, t[2] ? (this.behaviortype = this.type.getBehaviorByName(t[2]), this.beh_index = this.type.getBehaviorIndexByName(t[2])) : (this.behaviortype = null, this.beh_index = -1), this.block.parent && this.block.parent.setSolWriterAfterCnds()), this.fasttrigger && (this.run = this.run_true), 10 === t.length) {
- var n, r, i = t[9];
- for (n = 0, r = i.length; r > n; n++) {
- var s = new cr.parameter(this, i[n]);
- cr.seal(s), this.parameters.push(s)
- }
- this.results.length = i.length
- }
- }
- function f(e, t) {
- if (this.block = e, this.sheet = e.sheet, this.runtime = e.runtime, this.parameters = [], this.results = [], this.extra = {}, this.index = -1, this.anyParamVariesPerInstance = !1, this.func = t[1], -1 === t[0] ? (this.type = null, this.run = this.run_system, this.behaviortype = null, this.beh_index = -1) : (this.type = this.runtime.types_by_index[t[0]], this.run = this.run_object, t[2] ? (this.behaviortype = this.type.getBehaviorByName(t[2]), this.beh_index = this.type.getBehaviorIndexByName(t[2])) : (this.behaviortype = null, this.beh_index = -1)), this.sid = t[3], this.runtime.actsBySid[this.sid.toString()] = this, 6 === t.length) {
- var n, r, i = t[5];
- for (n = 0, r = i.length; r > n; n++) {
- var s = new cr.parameter(this, i[n]);
- cr.seal(s), this.parameters.push(s)
- }
- this.results.length = i.length
- }
- }
- function l(e, t) {
- this.owner = e, this.block = e.block, this.sheet = e.sheet, this.runtime = e.runtime, this.type = t[0], this.expression = null, this.solindex = 0, this.get = null, this.combosel = 0, this.layout = null, this.key = 0, this.object = null, this.index = 0, this.varname = null, this.eventvar = null, this.fileinfo = null, this.subparams = null, this.variadicret = null, this.subparams = null, this.variadicret = null, this.variesPerInstance = !1;
- var n, r, i;
- switch (t[0]) {
- case 0:
- case 7:
- this.expression = new cr.expNode(this, t[1]), this.solindex = 0, this.get = this.get_exp;
- break;
- case 1:
- this.expression = new cr.expNode(this, t[1]), this.solindex = 0, this.get = this.get_exp_str;
- break;
- case 5:
- this.expression = new cr.expNode(this, t[1]), this.solindex = 0, this.get = this.get_layer;
- break;
- case 3:
- case 8:
- this.combosel = t[1], this.get = this.get_combosel;
- break;
- case 6:
- this.layout = this.runtime.layouts[t[1]], this.get = this.get_layout;
- break;
- case 9:
- this.key = t[1], this.get = this.get_key;
- break;
- case 4:
- this.object = this.runtime.types_by_index[t[1]], this.get = this.get_object, this.block.addSolModifier(this.object), this.owner instanceof cr.action ? this.block.setSolWriterAfterCnds() : this.block.parent && this.block.parent.setSolWriterAfterCnds();
- break;
- case 10:
- this.index = t[1], e.type.is_family ? (this.get = this.get_familyvar, this.variesPerInstance = !0) : this.get = this.get_instvar;
- break;
- case 11:
- this.varname = t[1], this.eventvar = null, this.get = this.get_eventvar;
- break;
- case 2:
- case 12:
- this.fileinfo = t[1], this.get = this.get_audiofile;
- break;
- case 13:
- for (this.get = this.get_variadic, this.subparams = [], this.variadicret = [], n = 1, r = t.length; r > n; n++) i = new cr.parameter(this.owner, t[n]), cr.seal(i), this.subparams.push(i), this.variadicret.push(0)
- }
- }
- function c(e, t, n) {
- this.sheet = e, this.parent = t, this.runtime = e.runtime, this.solModifiers = [], this.name = n[1], this.vartype = n[2], this.initial = n[3], this.is_static = !!n[4], this.is_constant = !!n[5], this.sid = n[6], this.runtime.varsBySid[this.sid.toString()] = this, this.data = this.initial, this.parent ? (this.localIndex = this.is_static || this.is_constant ? -1 : this.runtime.stackLocalCount++, this.runtime.all_local_vars.push(this)) : (this.localIndex = -1, this.runtime.all_global_vars.push(this))
- }
- function h(e, t, n) {
- this.sheet = e, this.parent = t, this.runtime = e.runtime, this.solModifiers = [], this.include_sheet = null, this.include_sheet_name = n[1], this.active = !0
- }
- function p() {
- this.temp_parents_arr = [], this.reset(null), cr.seal(this)
- }
- var d = [];
- r.prototype.toString = function() {
- return this.name
- }, r.prototype.init_event = function(e, t, n) {
- switch (e[0]) {
- case 0:
- var r = new cr.eventblock(this, t, e);
- if (cr.seal(r), r.orblock) {
- n.push(r);
- var i, s;
- for (i = 0, s = r.conditions.length; s > i; i++) r.conditions[i].trigger && this.init_trigger(r, i)
- } else r.is_trigger() ? this.init_trigger(r, 0) : n.push(r);
- break;
- case 1:
- var o = new cr.eventvariable(this, t, e);
- cr.seal(o), n.push(o);
- break;
- case 2:
- var u = new cr.eventinclude(this, t, e);
- cr.seal(u), n.push(u)
- }
- }, r.prototype.postInit = function() {
- var e, t;
- for (e = 0, t = this.events.length; t > e; e++) this.events[e].postInit(t - 1 > e && this.events[e + 1].is_else_block)
- }, r.prototype.updateDeepIncludes = function() {
- this.deep_includes.length = 0, this.already_included_sheets.length = 0, this.addDeepIncludes(this), this.already_included_sheets.length = 0
- }, r.prototype.addDeepIncludes = function(e) {
- var t, n, r, i, s = e.deep_includes,
- o = e.already_included_sheets,
- u = this.includes.valuesRef();
- for (t = 0, n = u.length; n > t; ++t) r = u[t], i = r.include_sheet, !r.isActive() || e === i || o.indexOf(i) > -1 || (o.push(i), i.addDeepIncludes(e), s.push(i))
- }, r.prototype.run = function(e) {
- this.runtime.resuming_breakpoint || (this.hasRun = !0, e || (this.runtime.isRunningEvents = !0));
- var t, n;
- for (t = 0, n = this.events.length; n > t; t++) {
- var r = this.events[t];
- r.run(), this.runtime.clearSol(r.solModifiers), (!this.runtime.deathRow.isEmpty() || this.runtime.createRow.length) && this.runtime.ClearDeathRow()
- }
- e || (this.runtime.isRunningEvents = !1)
- }, r.prototype.init_trigger = function(e, t) {
- e.orblock || this.runtime.triggers_to_postinit.push(e);
- var n, r, s, o = e.conditions[t];
- s = o.type ? o.type.name : "system";
- var u = o.fasttrigger,
- a = u ? this.fasttriggers : this.triggers;
- a[s] || (a[s] = []);
- var f = a[s],
- l = o.func;
- if (u) {
- if (!o.parameters.length) return;
- var c = o.parameters[0];
- if (1 !== c.type || 2 !== c.expression.type) return;
- var h, n, r, p = c.expression.value.toLowerCase();
- for (n = 0, r = f.length; r > n; n++)
- if (f[n].method == l) return h = f[n].evs, void(h[p] ? h[p].push([e, t]) : h[p] = [
- [e, t]
- ]);
- h = {}, h[p] = [
- [e, t]
- ], f.push({
- method: l,
- evs: h
- })
- } else {
- for (n = 0, r = f.length; r > n; n++)
- if (f[n].method == l) return void f[n].evs.push([e, t]);
- i(l) ? f.unshift({
- method: l,
- evs: [
- [e, t]
- ]
- }) : f.push({
- method: l,
- evs: [
- [e, t]
- ]
- })
- }
- }, cr.eventsheet = r, s.prototype.hasObjects = function() {
- return this.select_all ? this.type.instances.length : this.instances.length
- }, s.prototype.getObjects = function() {
- return this.select_all ? this.type.instances : this.instances
- }, s.prototype.pick_one = function(e) {
- if (e)
- if (e.runtime.getCurrentEventStack().current_event.orblock) {
- this.select_all && (this.instances.length = 0, cr.shallowAssignArray(this.else_instances, e.type.instances), this.select_all = !1);
- var t = this.else_instances.indexOf(e); - 1 !== t && (this.instances.push(this.else_instances[t]), this.else_instances.splice(t, 1))
- } else this.select_all = !1, this.instances.length = 1, this.instances[0] = e
- }, cr.selection = s, window._c2hh_ = "AC4DF46CAE0946F0F6CAE2315999B12F27257076", o.prototype.postInit = function(e) {
- var t, r, i = this.parent;
- if (this.group)
- for (this.toplevelgroup = !0; i;) {
- if (!i.group) {
- this.toplevelgroup = !1;
- break
- }
- i = i.parent
- }
- for (this.toplevelevent = !this.is_trigger() && (!this.parent || this.parent.group && this.parent.toplevelgroup), this.has_else_block = !!e, this.solModifiersIncludingParents = this.solModifiers.slice(0), i = this.parent; i;) {
- for (t = 0, r = i.solModifiers.length; r > t; t++) this.addParentSolModifier(i.solModifiers[t]);
- i = i.parent
- }
- this.solModifiers = n(this.solModifiers), this.solModifiersIncludingParents = n(this.solModifiersIncludingParents);
- var t, r;
- for (t = 0, r = this.conditions.length; r > t; t++) this.conditions[t].postInit();
- for (t = 0, r = this.actions.length; r > t; t++) this.actions[t].postInit();
- for (t = 0, r = this.subevents.length; r > t; t++) this.subevents[t].postInit(r - 1 > t && this.subevents[t + 1].is_else_block)
- }, o.prototype.setGroupActive = function(e) {
- if (this.group_active !== !!e) {
- this.group_active = !!e;
- var t, n;
- for (t = 0, n = this.contained_includes.length; n > t; ++t) this.contained_includes[t].updateActive();
- n > 0 && this.runtime.running_layout.event_sheet && this.runtime.running_layout.event_sheet.updateDeepIncludes()
- }
- }, o.prototype.addSolModifier = function(e) {
- u(e, this.solModifiers)
- }, o.prototype.addParentSolModifier = function(e) {
- u(e, this.solModifiersIncludingParents)
- }, o.prototype.setSolWriterAfterCnds = function() {
- this.solWriterAfterCnds = !0, this.parent && this.parent.setSolWriterAfterCnds()
- }, o.prototype.is_trigger = function() {
- return this.conditions.length ? this.conditions[0].trigger : !1
- }, o.prototype.run = function() {
- var e, t, n = !1,
- r = this.runtime,
- i = this.runtime.getCurrentEventStack();
- i.current_event = this;
- var s = this.conditions;
- if (this.is_else_block || (i.else_branch_ran = !1), this.orblock) {
- for (0 === s.length && (n = !0), i.cndindex = 0, e = s.length; i.cndindex < e; i.cndindex++) s[i.cndindex].trigger || (t = s[i.cndindex].run(), t && (n = !0));
- i.last_event_true = n, n && this.run_actions_and_subevents()
- } else {
- for (i.cndindex = 0, e = s.length; i.cndindex < e; i.cndindex++)
- if (t = s[i.cndindex].run(), !t) return i.last_event_true = !1, void(!this.toplevelevent || r.deathRow.isEmpty() && !r.createRow.length || r.ClearDeathRow());
- i.last_event_true = !0, this.run_actions_and_subevents()
- }
- this.end_run(i)
- }, o.prototype.end_run = function(e) {
- e.last_event_true && this.has_else_block && (e.else_branch_ran = !0), !this.toplevelevent || this.runtime.deathRow.isEmpty() && !this.runtime.createRow.length || this.runtime.ClearDeathRow()
- }, o.prototype.run_orblocktrigger = function(e) {
- var t = this.runtime.getCurrentEventStack();
- t.current_event = this, this.conditions[e].run() && (this.run_actions_and_subevents(), this.runtime.getCurrentEventStack().last_event_true = !0)
- }, o.prototype.run_actions_and_subevents = function() {
- var e, t = this.runtime.getCurrentEventStack();
- for (t.actindex = 0, e = this.actions.length; t.actindex < e; t.actindex++)
- if (this.actions[t.actindex].run()) return;
- this.run_subevents()
- }, o.prototype.resume_actions_and_subevents = function() {
- var e, t = this.runtime.getCurrentEventStack();
- for (e = this.actions.length; t.actindex < e; t.actindex++)
- if (this.actions[t.actindex].run()) return;
- this.run_subevents()
- }, o.prototype.run_subevents = function() {
- if (this.subevents.length) {
- var e, t, n, r, i = this.subevents.length - 1;
- if (this.runtime.pushEventStack(this), this.solWriterAfterCnds)
- for (e = 0, t = this.subevents.length; t > e; e++) n = this.subevents[e], r = !this.toplevelgroup || !this.group && i > e, r && this.runtime.pushCopySol(n.solModifiers), n.run(), r ? this.runtime.popSol(n.solModifiers) : this.runtime.clearSol(n.solModifiers);
- else
- for (e = 0, t = this.subevents.length; t > e; e++) this.subevents[e].run();
- this.runtime.popEventStack()
- }
- }, o.prototype.run_pretrigger = function() {
- var e = this.runtime.getCurrentEventStack();
- e.current_event = this;
- var t, n = !1;
- for (e.cndindex = 0, t = this.conditions.length; e.cndindex < t; e.cndindex++)
- if (this.conditions[e.cndindex].run()) n = !0;
- else if (!this.orblock) return !1;
- return this.orblock ? n : !0
- }, o.prototype.retrigger = function() {
- this.runtime.execcount++;
- var e, t = this.runtime.getCurrentEventStack().cndindex,
- n = this.runtime.pushEventStack(this);
- if (!this.orblock)
- for (n.cndindex = t + 1, e = this.conditions.length; n.cndindex < e; n.cndindex++)
- if (!this.conditions[n.cndindex].run()) return this.runtime.popEventStack(), !1;
- return this.run_actions_and_subevents(), this.runtime.popEventStack(), !0
- }, o.prototype.isFirstConditionOfType = function(e) {
- var t = e.index;
- if (0 === t) return !0;
- for (--t; t >= 0; --t)
- if (this.conditions[t].type === e.type) return !1;
- return !0
- }, cr.eventblock = o, a.prototype.postInit = function() {
- var e, t, n;
- for (e = 0, t = this.parameters.length; t > e; e++) n = this.parameters[e], n.postInit(), n.variesPerInstance && (this.anyParamVariesPerInstance = !0)
- }, a.prototype.run_true = function() {
- return !0
- }, a.prototype.run_system = function() {
- var e, t;
- for (e = 0, t = this.parameters.length; t > e; e++) this.results[e] = this.parameters[e].get();
- return cr.xor(this.func.apply(this.runtime.system, this.results), this.inverted)
- }, a.prototype.run_static = function() {
- var e, t;
- for (e = 0, t = this.parameters.length; t > e; e++) this.results[e] = this.parameters[e].get();
- var n = this.func.apply(this.behaviortype ? this.behaviortype : this.type, this.results);
- return this.type.applySolToContainer(), n
- }, a.prototype.run_object = function() {
- var e, t, n, r, i, s, o, u, a, f, l, c, h, p = this.type,
- d = p.getCurrentSol(),
- v = this.block.orblock && !this.trigger,
- m = 0,
- g = p.is_contained,
- y = p.is_family,
- b = p.family_index,
- w = this.beh_index,
- E = w > -1,
- S = this.anyParamVariesPerInstance,
- x = this.parameters,
- T = this.results,
- N = this.inverted,
- C = this.func;
- if (S)
- for (t = 0, i = x.length; i > t; ++t) s = x[t], s.variesPerInstance || (T[t] = s.get(0));
- else
- for (t = 0, i = x.length; i > t; ++t) T[t] = x[t].get(0); if (d.select_all) {
- for (d.instances.length = 0, d.else_instances.length = 0, c = p.instances, e = 0, r = c.length; r > e; ++e) {
- if (a = c[e], S)
- for (t = 0, i = x.length; i > t; ++t) s = x[t], s.variesPerInstance && (T[t] = s.get(e));
- E ? (m = 0, y && (m = a.type.family_beh_map[b]), o = C.apply(a.behavior_insts[w + m], T)) : o = C.apply(a, T), u = cr.xor(o, N), u ? d.instances.push(a) : v && d.else_instances.push(a)
- }
- return p.finish && p.finish(!0), d.select_all = !1, p.applySolToContainer(), d.hasObjects()
- }
- n = 0;
- var k = v && !this.block.isFirstConditionOfType(this);
- c = k ? d.else_instances : d.instances;
- var L = !1;
- for (e = 0, r = c.length; r > e; ++e) {
- if (a = c[e], S)
- for (t = 0, i = x.length; i > t; ++t) s = x[t], s.variesPerInstance && (T[t] = s.get(e));
- if (E ? (m = 0, y && (m = a.type.family_beh_map[b]), o = C.apply(a.behavior_insts[w + m], T)) : o = C.apply(a, T), cr.xor(o, N))
- if (L = !0, k) {
- if (d.instances.push(a), g)
- for (t = 0, i = a.siblings.length; i > t; t++) f = a.siblings[t], f.type.getCurrentSol().instances.push(f)
- } else {
- if (c[n] = a, g)
- for (t = 0, i = a.siblings.length; i > t; t++) f = a.siblings[t], f.type.getCurrentSol().instances[n] = f;
- n++
- } else if (k) {
- if (c[n] = a, g)
- for (t = 0, i = a.siblings.length; i > t; t++) f = a.siblings[t], f.type.getCurrentSol().else_instances[n] = f;
- n++
- } else if (v && (d.else_instances.push(a), g))
- for (t = 0, i = a.siblings.length; i > t; t++) f = a.siblings[t], f.type.getCurrentSol().else_instances.push(f)
- }
- if (c.length = n, g)
- for (h = p.container, e = 0, r = h.length; r > e; e++) l = h[e].getCurrentSol(), k ? l.else_instances.length = n : l.instances.length = n;
- var A = L;
- if (k && !L)
- for (e = 0, r = d.instances.length; r > e; e++) {
- if (a = d.instances[e], S)
- for (t = 0, i = x.length; i > t; t++) s = x[t], s.variesPerInstance && (T[t] = s.get(e));
- if (o = E ? C.apply(a.behavior_insts[w], T) : C.apply(a, T), cr.xor(o, N)) {
- L = !0;
- break
- }
- }
- return p.finish && p.finish(A || v), v ? L : d.hasObjects()
- }, cr.condition = a, f.prototype.postInit = function() {
- var e, t, n;
- for (e = 0, t = this.parameters.length; t > e; e++) n = this.parameters[e], n.postInit(), n.variesPerInstance && (this.anyParamVariesPerInstance = !0)
- }, f.prototype.run_system = function() {
- var e, t;
- for (e = 0, t = this.parameters.length; t > e; e++) this.results[e] = this.parameters[e].get();
- return this.func.apply(this.runtime.system, this.results)
- }, f.prototype.run_object = function() {
- var e, t, n, r, i, s, o, u = this.type.getCurrentSol().getObjects(),
- a = this.type.is_family,
- f = this.type.family_index,
- l = this.beh_index,
- c = l > -1,
- h = this.anyParamVariesPerInstance,
- p = this.parameters,
- d = this.results,
- v = this.func;
- if (h)
- for (t = 0, r = p.length; r > t; ++t) i = p[t], i.variesPerInstance || (d[t] = i.get(0));
- else
- for (t = 0, r = p.length; r > t; ++t) d[t] = p[t].get(0);
- for (e = 0, n = u.length; n > e; ++e) {
- if (s = u[e], h)
- for (t = 0, r = p.length; r > t; ++t) i = p[t], i.variesPerInstance && (d[t] = i.get(e));
- c ? (o = 0, a && (o = s.type.family_beh_map[f]), v.apply(s.behavior_insts[l + o], d)) : v.apply(s, d)
- }
- return !1
- }, cr.action = f;
- var v = [],
- m = -1;
- l.prototype.postInit = function() {
- var e, t;
- if (11 === this.type) this.eventvar = this.runtime.getEventVariableByName(this.varname, this.block.parent);
- else if (13 === this.type)
- for (e = 0, t = this.subparams.length; t > e; e++) this.subparams[e].postInit();
- this.expression && this.expression.postInit()
- }, l.prototype.maybeVaryForType = function(e) {
- return !this.variesPerInstance && e ? e.plugin.singleglobal ? void 0 : void(this.variesPerInstance = !0) : void 0
- }, l.prototype.setVaries = function() {
- this.variesPerInstance = !0
- }, l.prototype.pushTempValue = function() {
- return m++, v.length === m && v.push(new cr.expvalue), v[m]
- }, l.prototype.popTempValue = function() {
- m--
- }, l.prototype.get_exp = function(e) {
- this.solindex = e || 0;
- var t = this.pushTempValue();
- return this.expression.get(t), this.popTempValue(), t.data
- }, l.prototype.get_exp_str = function(e) {
- this.solindex = e || 0;
- var t = this.pushTempValue();
- return this.expression.get(t), this.popTempValue(), cr.is_string(t.data) ? t.data : ""
- }, l.prototype.get_object = function() {
- return this.object
- }, l.prototype.get_combosel = function() {
- return this.combosel
- }, l.prototype.get_layer = function(e) {
- this.solindex = e || 0;
- var t = this.pushTempValue();
- return this.expression.get(t), this.popTempValue(), t.is_number() ? this.runtime.getLayerByNumber(t.data) : this.runtime.getLayerByName(t.data)
- }, l.prototype.get_layout = function() {
- return this.layout
- }, l.prototype.get_key = function() {
- return this.key
- }, l.prototype.get_instvar = function() {
- return this.index
- }, l.prototype.get_familyvar = function(e) {
- var t = e || 0,
- n = this.owner.type,
- r = null,
- i = n.getCurrentSol(),
- s = i.getObjects();
- if (s.length) r = s[t % s.length].type;
- else if (i.else_instances.length) r = i.else_instances[t % i.else_instances.length].type;
- else {
- if (!n.instances.length) return 0;
- r = n.instances[t % n.instances.length].type
- }
- return this.index + r.family_var_map[n.family_index]
- }, l.prototype.get_eventvar = function() {
- return this.eventvar
- }, l.prototype.get_audiofile = function() {
- return this.fileinfo
- }, l.prototype.get_variadic = function() {
- var e, t;
- for (e = 0, t = this.subparams.length; t > e; e++) this.variadicret[e] = this.subparams[e].get();
- return this.variadicret
- }, cr.parameter = l, c.prototype.postInit = function() {
- this.solModifiers = n(this.solModifiers)
- }, c.prototype.setValue = function(e) {
- var t = this.runtime.getCurrentLocalVarStack();
- this.parent && !this.is_static && t ? (this.localIndex >= t.length && (t.length = this.localIndex + 1), t[this.localIndex] = e) : this.data = e
- }, c.prototype.getValue = function() {
- var e = this.runtime.getCurrentLocalVarStack();
- return !this.parent || this.is_static || !e || this.is_constant ? this.data : this.localIndex >= e.length ? this.initial : "undefined" == typeof e[this.localIndex] ? this.initial : e[this.localIndex]
- }, c.prototype.run = function() {
- !this.parent || this.is_static || this.is_constant || this.setValue(this.initial)
- }, cr.eventvariable = c, h.prototype.toString = function() {
- return "include:" + this.include_sheet.toString()
- }, h.prototype.postInit = function() {
- this.include_sheet = this.runtime.eventsheets[this.include_sheet_name], this.sheet.includes.add(this), this.solModifiers = n(this.solModifiers);
- for (var e = this.parent; e;) e.group && e.contained_includes.push(this), e = e.parent;
- this.updateActive()
- }, h.prototype.run = function() {
- this.parent && this.runtime.pushCleanSol(this.runtime.types_by_index), this.include_sheet.hasRun || this.include_sheet.run(!0), this.parent && this.runtime.popSol(this.runtime.types_by_index)
- }, h.prototype.updateActive = function() {
- for (var e = this.parent; e;) {
- if (e.group && !e.group_active) return void(this.active = !1);
- e = e.parent
- }
- this.active = !0
- }, h.prototype.isActive = function() {
- return this.active
- }, cr.eventinclude = h, p.prototype.reset = function(e) {
- this.current_event = e, this.cndindex = 0, this.actindex = 0, this.temp_parents_arr.length = 0, this.last_event_true = !1, this.else_branch_ran = !1, this.any_true_state = !1
- }, p.prototype.isModifierAfterCnds = function() {
- return this.current_event.solWriterAfterCnds ? !0 : this.cndindex < this.current_event.conditions.length - 1 ? !!this.current_event.solModifiers.length : !1
- }, cr.eventStackFrame = p
- }(),
- function() {
- function e(e, t) {
- this.owner = e, this.runtime = e.runtime, this.type = t[0], this.get = [this.eval_int, this.eval_float, this.eval_string, this.eval_unaryminus, this.eval_add, this.eval_subtract, this.eval_multiply, this.eval_divide, this.eval_mod, this.eval_power, this.eval_and, this.eval_or, this.eval_equal, this.eval_notequal, this.eval_less, this.eval_lessequal, this.eval_greater, this.eval_greaterequal, this.eval_conditional, this.eval_system_exp, this.eval_object_behavior_exp, this.eval_instvar_exp, this.eval_object_behavior_exp, this.eval_eventvar_exp][this.type];
- var n = null;
- switch (this.value = null, this.first = null, this.second = null, this.third = null, this.func = null, this.results = null, this.parameters = null, this.object_type = null, this.beh_index = -1, this.instance_expr = null, this.varindex = -1, this.behavior_type = null, this.varname = null, this.eventvar = null, this.return_string = !1, this.type) {
- case 0:
- case 1:
- case 2:
- this.value = t[1];
- break;
- case 3:
- this.first = new cr.expNode(e, t[1]);
- break;
- case 18:
- this.first = new cr.expNode(e, t[1]), this.second = new cr.expNode(e, t[2]), this.third = new cr.expNode(e, t[3]);
- break;
- case 19:
- this.func = t[1], (this.func === cr.system_object.prototype.exps.random || this.func === cr.system_object.prototype.exps.choose) && this.owner.setVaries(), this.results = [], this.parameters = [], 3 === t.length ? (n = t[2], this.results.length = n.length + 1) : this.results.length = 1;
- break;
- case 20:
- this.object_type = this.runtime.types_by_index[t[1]], this.beh_index = -1, this.func = t[2], this.return_string = t[3], cr.plugins_.Function && this.func === cr.plugins_.Function.prototype.exps.Call && this.owner.setVaries(), this.instance_expr = t[4] ? new cr.expNode(e, t[4]) : null, this.results = [], this.parameters = [], 6 === t.length ? (n = t[5], this.results.length = n.length + 1) : this.results.length = 1;
- break;
- case 21:
- this.object_type = this.runtime.types_by_index[t[1]], this.return_string = t[2], this.instance_expr = t[3] ? new cr.expNode(e, t[3]) : null, this.varindex = t[4];
- break;
- case 22:
- this.object_type = this.runtime.types_by_index[t[1]], this.behavior_type = this.object_type.getBehaviorByName(t[2]), this.beh_index = this.object_type.getBehaviorIndexByName(t[2]), this.func = t[3], this.return_string = t[4], this.instance_expr = t[5] ? new cr.expNode(e, t[5]) : null, this.results = [], this.parameters = [], 7 === t.length ? (n = t[6], this.results.length = n.length + 1) : this.results.length = 1;
- break;
- case 23:
- this.varname = t[1], this.eventvar = null
- }
- if (this.owner.maybeVaryForType(this.object_type), this.type >= 4 && this.type <= 17 && (this.first = new cr.expNode(e, t[1]), this.second = new cr.expNode(e, t[2])), n) {
- var r, i;
- for (r = 0, i = n.length; i > r; r++) this.parameters.push(new cr.expNode(e, n[r]))
- }
- cr.seal(this)
- }
- function t(e, t) {
- this.type = e || cr.exptype.Integer, this.data = t || 0, this.object_class = null, this.type == cr.exptype.Integer && (this.data = Math.floor(this.data)), cr.seal(this)
- }
- e.prototype.postInit = function() {
- if (23 === this.type && (this.eventvar = this.owner.runtime.getEventVariableByName(this.varname, this.owner.block.parent)), this.first && this.first.postInit(), this.second && this.second.postInit(), this.third && this.third.postInit(), this.instance_expr && this.instance_expr.postInit(), this.parameters) {
- var e, t;
- for (e = 0, t = this.parameters.length; t > e; e++) this.parameters[e].postInit()
- }
- }, e.prototype.eval_system_exp = function(e) {
- this.results[0] = e;
- var t, n, r = this.owner.pushTempValue();
- for (t = 0, n = this.parameters.length; n > t; t++) this.parameters[t].get(r), this.results[t + 1] = r.data;
- this.owner.popTempValue(), this.func.apply(this.runtime.system, this.results)
- }, e.prototype.eval_object_behavior_exp = function(e) {
- var t = this.object_type.getCurrentSol(),
- n = t.getObjects();
- if (!n.length) {
- if (!t.else_instances.length) return void(this.return_string ? e.set_string("") : e.set_int(0));
- n = t.else_instances
- }
- this.results[0] = e, e.object_class = this.object_type;
- var r, i, s = this.owner.pushTempValue();
- for (r = 0, i = this.parameters.length; i > r; r++) this.parameters[r].get(s), this.results[r + 1] = s.data;
- var o = this.owner.solindex;
- this.instance_expr && (this.instance_expr.get(s), s.is_number() && (o = s.data, n = this.object_type.instances)), this.owner.popTempValue(), o %= n.length, 0 > o && (o += n.length);
- var u, a = n[o];
- if (this.beh_index > -1) {
- var f = 0;
- this.object_type.is_family && (f = a.type.family_beh_map[this.object_type.family_index]), u = this.func.apply(a.behavior_insts[this.beh_index + f], this.results)
- } else u = this.func.apply(a, this.results)
- }, e.prototype.eval_instvar_exp = function(e) {
- var t = this.object_type.getCurrentSol(),
- n = t.getObjects();
- if (!n.length) {
- if (!t.else_instances.length) return void(this.return_string ? e.set_string("") : e.set_int(0));
- n = t.else_instances
- }
- var r = this.owner.solindex;
- if (this.instance_expr) {
- var i = this.owner.pushTempValue();
- if (this.instance_expr.get(i), i.is_number()) {
- r = i.data;
- var s = this.object_type.instances;
- r %= s.length, 0 > r && (r += s.length);
- var o = s[r].instance_vars[this.varindex];
- return cr.is_string(o) ? e.set_string(o) : e.set_float(o), void this.owner.popTempValue()
- }
- this.owner.popTempValue()
- }
- r %= n.length, 0 > r && (r += n.length);
- var u = n[r],
- a = 0;
- this.object_type.is_family && (a = u.type.family_var_map[this.object_type.family_index]);
- var o = u.instance_vars[this.varindex + a];
- cr.is_string(o) ? e.set_string(o) : e.set_float(o)
- }, e.prototype.eval_int = function(e) {
- e.type = cr.exptype.Integer, e.data = this.value
- }, e.prototype.eval_float = function(e) {
- e.type = cr.exptype.Float, e.data = this.value
- }, e.prototype.eval_string = function(e) {
- e.type = cr.exptype.String, e.data = this.value
- }, e.prototype.eval_unaryminus = function(e) {
- this.first.get(e), e.is_number() && (e.data = -e.data)
- }, e.prototype.eval_add = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.is_number() && t.is_number() && (e.data += t.data, t.is_float() && e.make_float()), this.owner.popTempValue()
- }, e.prototype.eval_subtract = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.is_number() && t.is_number() && (e.data -= t.data, t.is_float() && e.make_float()), this.owner.popTempValue()
- }, e.prototype.eval_multiply = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.is_number() && t.is_number() && (e.data *= t.data, t.is_float() && e.make_float()), this.owner.popTempValue()
- }, e.prototype.eval_divide = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.is_number() && t.is_number() && (e.data /= t.data, e.make_float()), this.owner.popTempValue()
- }, e.prototype.eval_mod = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.is_number() && t.is_number() && (e.data %= t.data, t.is_float() && e.make_float()), this.owner.popTempValue()
- }, e.prototype.eval_power = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.is_number() && t.is_number() && (e.data = Math.pow(e.data, t.data), t.is_float() && e.make_float()), this.owner.popTempValue()
- }, e.prototype.eval_and = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.is_number() ? t.is_string() ? e.set_string(e.data.toString() + t.data) : e.set_int(e.data && t.data ? 1 : 0) : e.is_string() && (e.data += t.is_string() ? t.data : (Math.round(1e10 * t.data) / 1e10).toString()), this.owner.popTempValue()
- }, e.prototype.eval_or = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.is_number() && t.is_number() && e.set_int(e.data || t.data ? 1 : 0), this.owner.popTempValue()
- }, e.prototype.eval_conditional = function(e) {
- this.first.get(e), e.data ? this.second.get(e) : this.third.get(e)
- }, e.prototype.eval_equal = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.set_int(e.data === t.data ? 1 : 0), this.owner.popTempValue()
- }, e.prototype.eval_notequal = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.set_int(e.data !== t.data ? 1 : 0), this.owner.popTempValue()
- }, e.prototype.eval_less = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.set_int(e.data < t.data ? 1 : 0), this.owner.popTempValue()
- }, e.prototype.eval_lessequal = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.set_int(e.data <= t.data ? 1 : 0), this.owner.popTempValue()
- }, e.prototype.eval_greater = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.set_int(e.data > t.data ? 1 : 0), this.owner.popTempValue()
- }, e.prototype.eval_greaterequal = function(e) {
- this.first.get(e);
- var t = this.owner.pushTempValue();
- this.second.get(t), e.set_int(e.data >= t.data ? 1 : 0), this.owner.popTempValue()
- }, e.prototype.eval_eventvar_exp = function(e) {
- var t = this.eventvar.getValue();
- cr.is_number(t) ? e.set_float(t) : e.set_string(t)
- }, cr.expNode = e, t.prototype.is_int = function() {
- return this.type === cr.exptype.Integer
- }, t.prototype.is_float = function() {
- return this.type === cr.exptype.Float
- }, t.prototype.is_number = function() {
- return this.type === cr.exptype.Integer || this.type === cr.exptype.Float
- }, t.prototype.is_string = function() {
- return this.type === cr.exptype.String
- }, t.prototype.make_int = function() {
- this.is_int() || (this.is_float() ? this.data = Math.floor(this.data) : this.is_string() && (this.data = parseInt(this.data, 10)), this.type = cr.exptype.Integer)
- }, t.prototype.make_float = function() {
- this.is_float() || (this.is_string() && (this.data = parseFloat(this.data)), this.type = cr.exptype.Float)
- }, t.prototype.make_string = function() {
- this.is_string() || (this.data = this.data.toString(), this.type = cr.exptype.String)
- }, t.prototype.set_int = function(e) {
- this.type = cr.exptype.Integer, this.data = Math.floor(e)
- }, t.prototype.set_float = function(e) {
- this.type = cr.exptype.Float, this.data = e
- }, t.prototype.set_string = function(e) {
- this.type = cr.exptype.String, this.data = e
- }, t.prototype.set_any = function(e) {
- cr.is_number(e) ? (this.type = cr.exptype.Float, this.data = e) : cr.is_string(e) ? (this.type = cr.exptype.String, this.data = e.toString()) : (this.type = cr.exptype.Integer, this.data = 0)
- }, cr.expvalue = t, cr.exptype = {
- Integer: 0,
- Float: 1,
- String: 2
- }
- }(), cr.system_object = function(e) {
- this.runtime = e, this.waits = []
- }, cr.system_object.prototype.saveToJSON = function() {
- var e, t, n, r, i, s, o, u, a = {};
- a.waits = [];
- var f, l = a.waits;
- for (e = 0, t = this.waits.length; t > e; e++) {
- for (s = this.waits[e], f = {
- t: s.time,
- st: s.signaltag,
- s: s.signalled,
- ev: s.ev.sid,
- sm: [],
- sols: {}
- }, s.ev.actions[s.actindex] && (f.act = s.ev.actions[s.actindex].sid), n = 0, r = s.solModifiers.length; r > n; n++) f.sm.push(s.solModifiers[n].sid);
- for (i in s.sols)
- if (s.sols.hasOwnProperty(i)) {
- for (o = this.runtime.types_by_index[parseInt(i, 10)], u = {
- sa: s.sols[i].sa,
- insts: []
- }, n = 0, r = s.sols[i].insts.length; r > n; n++) u.insts.push(s.sols[i].insts[n].uid);
- f.sols[o.sid.toString()] = u
- }
- l.push(f)
- }
- return a
- }, cr.system_object.prototype.loadFromJSON = function(e) {
- var t, n, r, i, s, o, u, a, f, l, c, h, p, d = e.waits;
- for (this.waits.length = 0, t = 0, n = d.length; n > t; t++)
- if (o = d[t], a = this.runtime.blocksBySid[o.ev.toString()]) {
- for (f = -1, r = 0, i = a.actions.length; i > r; r++)
- if (a.actions[r].sid === o.act) {
- f = r;
- break
- }
- if (-1 !== f) {
- for (u = {}, u.sols = {}, u.solModifiers = [], u.deleteme = !1, u.time = o.t, u.signaltag = o.st || "", u.signalled = !!o.s, u.ev = a, u.actindex = f, r = 0, i = o.sm.length; i > r; r++) l = this.runtime.getObjectTypeBySid(o.sm[r]), l && u.solModifiers.push(l);
- for (s in o.sols)
- if (o.sols.hasOwnProperty(s)) {
- if (l = this.runtime.getObjectTypeBySid(parseInt(s, 10)), !l) continue;
- for (c = o.sols[s], h = {
- sa: c.sa,
- insts: []
- }, r = 0, i = c.insts.length; i > r; r++) p = this.runtime.getObjectByUID(c.insts[r]), p && h.insts.push(p);
- u.sols[l.index.toString()] = h
- }
- this.waits.push(u)
- }
- }
- },
- function() {
- function e() {}
- function t(e, t) {
- var n = e.extra.c2_foreachordered_val,
- r = t.extra.c2_foreachordered_val;
- return cr.is_number(n) && cr.is_number(r) ? n - r : (n = "" + n, r = "" + r, r > n ? -1 : n > r ? 1 : 0)
- }
- function n(e, t) {
- return p && e === d && t === v || (p = new RegExp(e, t), d = e, v = t), p.lastIndex = 0, p
- }
- function r() {}
- function i() {
- var e;
- return g.length ? e = g.pop() : (e = {}, e.sols = {}, e.solModifiers = []), e.deleteme = !1, e
- }
- function s(e) {
- cr.wipe(e.sols), e.solModifiers.length = 0, g.push(e)
- }
- function o() {
- var e;
- return y.length ? e = y.pop() : (e = {}, e.insts = []), e.sa = !1, e
- }
- function u(e) {
- e.insts.length = 0, y.push(e)
- }
- function a() {}
- function f(e, t, r) {
- if (e !== w || t !== E || r !== S) {
- var i = n(t, r);
- b = e.match(i), w = e, E = t, S = r
- }
- }
- var l = cr.system_object.prototype;
- e.prototype.EveryTick = function() {
- return !0
- }, e.prototype.OnLayoutStart = function() {
- return !0
- }, e.prototype.OnLayoutEnd = function() {
- return !0
- }, e.prototype.Compare = function(e, t, n) {
- return cr.do_cmp(e, t, n)
- }, e.prototype.CompareTime = function(e, t) {
- var n = this.runtime.kahanTime.sum;
- if (0 === e) {
- var r = this.runtime.getCurrentCondition();
- return !r.extra.CompareTime_executed && n >= t ? (r.extra.CompareTime_executed = !0, !0) : !1
- }
- return cr.do_cmp(n, e, t)
- }, e.prototype.LayerVisible = function(e) {
- return e ? e.visible : !1
- }, e.prototype.LayerCmpOpacity = function(e, t, n) {
- return e ? cr.do_cmp(100 * e.opacity, t, n) : !1
- }, e.prototype.Repeat = function(e) {
- var t, n = this.runtime.getCurrentEventStack(),
- r = n.current_event,
- i = n.isModifierAfterCnds(),
- s = this.runtime.pushLoopStack();
- if (i)
- for (t = 0; e > t && !s.stopped; t++) this.runtime.pushCopySol(r.solModifiers), s.index = t, r.retrigger(), this.runtime.popSol(r.solModifiers);
- else
- for (t = 0; e > t && !s.stopped; t++) s.index = t, r.retrigger();
- return this.runtime.popLoopStack(), !1
- }, e.prototype.While = function() {
- var e, t = this.runtime.getCurrentEventStack(),
- n = t.current_event,
- r = t.isModifierAfterCnds(),
- i = this.runtime.pushLoopStack();
- if (r)
- for (e = 0; !i.stopped; e++) this.runtime.pushCopySol(n.solModifiers), i.index = e, n.retrigger() || (i.stopped = !0), this.runtime.popSol(n.solModifiers);
- else
- for (e = 0; !i.stopped; e++) i.index = e, n.retrigger() || (i.stopped = !0);
- return this.runtime.popLoopStack(), !1
- }, e.prototype.For = function(e, t, n) {
- var r, i = this.runtime.getCurrentEventStack(),
- s = i.current_event,
- o = i.isModifierAfterCnds(),
- u = this.runtime.pushLoopStack(e);
- if (t > n)
- if (o)
- for (r = t; r >= n && !u.stopped; --r) this.runtime.pushCopySol(s.solModifiers), u.index = r, s.retrigger(), this.runtime.popSol(s.solModifiers);
- else
- for (r = t; r >= n && !u.stopped; --r) u.index = r, s.retrigger();
- else if (o)
- for (r = t; n >= r && !u.stopped; ++r) this.runtime.pushCopySol(s.solModifiers), u.index = r, s.retrigger(), this.runtime.popSol(s.solModifiers);
- else
- for (r = t; n >= r && !u.stopped; ++r) u.index = r, s.retrigger();
- return this.runtime.popLoopStack(), !1
- };
- var c = [],
- h = -1;
- e.prototype.ForEach = function(e) {
- var t = e.getCurrentSol();
- h++, c.length === h && c.push([]);
- var n = c[h];
- cr.shallowAssignArray(n, t.getObjects());
- var r, i, s, o, u, a, f, l = this.runtime.getCurrentEventStack(),
- p = l.current_event,
- d = l.isModifierAfterCnds(),
- v = this.runtime.pushLoopStack(),
- m = e.is_contained;
- if (d)
- for (r = 0, i = n.length; i > r && !v.stopped; r++) {
- if (this.runtime.pushCopySol(p.solModifiers), u = n[r], t = e.getCurrentSol(), t.select_all = !1, t.instances.length = 1, t.instances[0] = u, m)
- for (s = 0, o = u.siblings.length; o > s; s++) a = u.siblings[s], f = a.type.getCurrentSol(), f.select_all = !1, f.instances.length = 1, f.instances[0] = a;
- v.index = r, p.retrigger(), this.runtime.popSol(p.solModifiers)
- } else
- for (t.select_all = !1, t.instances.length = 1, r = 0, i = n.length; i > r && !v.stopped; r++) {
- if (u = n[r], t.instances[0] = u, m)
- for (s = 0, o = u.siblings.length; o > s; s++) a = u.siblings[s], f = a.type.getCurrentSol(), f.select_all = !1, f.instances.length = 1, f.instances[0] = a;
- v.index = r, p.retrigger()
- }
- return n.length = 0, this.runtime.popLoopStack(), h--, !1
- }, e.prototype.ForEachOrdered = function(e, n, r) {
- var i = e.getCurrentSol();
- h++, c.length === h && c.push([]);
- var s = c[h];
- cr.shallowAssignArray(s, i.getObjects());
- var o, u, a, f, l, p, d, v = this.runtime.getCurrentEventStack(),
- m = v.current_event,
- g = this.runtime.getCurrentCondition(),
- y = v.isModifierAfterCnds(),
- b = this.runtime.pushLoopStack();
- for (o = 0, u = s.length; u > o; o++) s[o].extra.c2_foreachordered_val = g.parameters[1].get(o);
- s.sort(t), 1 === r && s.reverse();
- var w = e.is_contained;
- if (y)
- for (o = 0, u = s.length; u > o && !b.stopped; o++) {
- if (this.runtime.pushCopySol(m.solModifiers), l = s[o], i = e.getCurrentSol(), i.select_all = !1, i.instances.length = 1, i.instances[0] = l, w)
- for (a = 0, f = l.siblings.length; f > a; a++) p = l.siblings[a], d = p.type.getCurrentSol(), d.select_all = !1, d.instances.length = 1, d.instances[0] = p;
- b.index = o, m.retrigger(), this.runtime.popSol(m.solModifiers)
- } else
- for (i.select_all = !1, i.instances.length = 1, o = 0, u = s.length; u > o && !b.stopped; o++) {
- if (l = s[o], i.instances[0] = l, w)
- for (a = 0, f = l.siblings.length; f > a; a++) p = l.siblings[a], d = p.type.getCurrentSol(), d.select_all = !1, d.instances.length = 1, d.instances[0] = p;
- b.index = o, m.retrigger()
- }
- return s.length = 0, this.runtime.popLoopStack(), h--, !1
- }, e.prototype.PickByComparison = function(e, t, n, r) {
- var i, s, o, u;
- if (e) {
- h++, c.length === h && c.push([]);
- var a = c[h],
- f = e.getCurrentSol();
- cr.shallowAssignArray(a, f.getObjects()), f.select_all && (f.else_instances.length = 0);
- var l = this.runtime.getCurrentCondition();
- for (i = 0, o = 0, s = a.length; s > i; i++) u = a[i], a[o] = u, t = l.parameters[1].get(i), r = l.parameters[3].get(i), cr.do_cmp(t, n, r) ? o++ : f.else_instances.push(u);
- return a.length = o, f.select_all = !1, cr.shallowAssignArray(f.instances, a), a.length = 0, h--, e.applySolToContainer(), !!f.instances.length
- }
- }, e.prototype.PickByEvaluate = function(e, t) {
- var n, r, i, s;
- if (e) {
- h++, c.length === h && c.push([]);
- var o = c[h],
- u = e.getCurrentSol();
- cr.shallowAssignArray(o, u.getObjects()), u.select_all && (u.else_instances.length = 0);
- var a = this.runtime.getCurrentCondition();
- for (n = 0, i = 0, r = o.length; r > n; n++) s = o[n], o[i] = s, t = a.parameters[1].get(n), t ? i++ : u.else_instances.push(s);
- return o.length = i, u.select_all = !1, cr.shallowAssignArray(u.instances, o), o.length = 0, h--, e.applySolToContainer(), !!u.instances.length
- }
- }, e.prototype.TriggerOnce = function() {
- var e = this.runtime.getCurrentCondition().extra;
- "undefined" == typeof e.TriggerOnce_lastTick && (e.TriggerOnce_lastTick = -1);
- var t = e.TriggerOnce_lastTick,
- n = this.runtime.tickcount;
- return e.TriggerOnce_lastTick = n, this.runtime.layout_first_tick || t !== n - 1
- }, e.prototype.Every = function(e) {
- var t = this.runtime.getCurrentCondition(),
- n = t.extra.Every_lastTime || 0,
- r = this.runtime.kahanTime.sum;
- "undefined" == typeof t.extra.Every_seconds && (t.extra.Every_seconds = e);
- var i = t.extra.Every_seconds;
- return r >= n + i ? (t.extra.Every_lastTime = n + i, r >= t.extra.Every_lastTime + .04 && (t.extra.Every_lastTime = r), t.extra.Every_seconds = e, !0) : (n - .1 > r && (t.extra.Every_lastTime = r), !1)
- }, e.prototype.PickNth = function(e, t) {
- if (!e) return !1;
- var n = e.getCurrentSol(),
- r = n.getObjects();
- if (t = cr.floor(t), 0 > t || t >= r.length) return !1;
- var i = r[t];
- return n.pick_one(i), e.applySolToContainer(), !0
- }, e.prototype.PickRandom = function(e) {
- if (!e) return !1;
- var t = e.getCurrentSol(),
- n = t.getObjects(),
- r = cr.floor(Math.random() * n.length);
- if (r >= n.length) return !1;
- var i = n[r];
- return t.pick_one(i), e.applySolToContainer(), !0
- }, e.prototype.CompareVar = function(e, t, n) {
- if (e.name.indexOf("Score") >= 0) {
- var r = 0,
- i = e.name.substring(5);
- r = e.data > n ? e.data : n;
- for (var s = [
- ["Normal", "普通难度"],
- ["Nightmare", "噩梦"],
- ["Hell", "地狱"],
- ["Inferno", "炼狱"],
- ["Impossible", "自虐难度"]
- ], o = 0, u = 0; u < s.length; u++) i == s[u][0] && (i = s[u][1], o = u + 2);
- var a = i;
- clearTimeout(g9param.resetId);
- g9param.resetId = setTimeout(resetdpsubmit, 1e3);
- if (!g9param.issubmit) {
- g9param.issubmit = true;
- if (a == "自虐难度") {
- window.myPlayGameScore = e.data;
- window.myPlayGameHead = 5;
- // updateShare(window.myPlayGameHead, window.myPlayGameScore);
- // Play68.setRankingLevelScoreDesc(window.myPlayGameHead, window.myPlayGameScore)
- } else if (a == "炼狱") {
- window.myPlayGameScore = e.data;
- window.myPlayGameHead = 4;
- // updateShare(window.myPlayGameHead, window.myPlayGameScore);
- // Play68.setRankingLevelScoreDesc(window.myPlayGameHead, window.myPlayGameScore)
- } else if (a == "地狱") {
- window.myPlayGameScore = e.data;
- window.myPlayGameHead = 3;
- // updateShare(window.myPlayGameHead, window.myPlayGameScore);
- // Play68.setRankingLevelScoreDesc(window.myPlayGameHead, window.myPlayGameScore)
- } else if (a == "噩梦") {
- window.myPlayGameScore = e.data;
- window.myPlayGameHead = 2;
- // updateShare(window.myPlayGameHead, window.myPlayGameScore);
- // Play68.setRankingLevelScoreDesc(window.myPlayGameHead, window.myPlayGameScore)
- } else if (a == "普通难度") {
- window.myPlayGameScore = e.data;
- window.myPlayGameHead = 1;
- // updateShare(window.myPlayGameHead, window.myPlayGameScore);
- // Play68.setRankingLevelScoreDesc(window.myPlayGameHead, window.myPlayGameScore)
- }
- }
- }
- return cr.do_cmp(e.getValue(), t, n)
- }, e.prototype.IsGroupActive = function(e) {
- var t = this.runtime.groups_by_name[e.toLowerCase()];
- return t && t.group_active
- }, e.prototype.IsPreview = function() {
- return "undefined" != typeof cr_is_preview
- }, e.prototype.PickAll = function(e) {
- if (!e) return !1;
- if (!e.instances.length) return !1;
- var t = e.getCurrentSol();
- return t.select_all = !0, e.applySolToContainer(), !0
- }, e.prototype.IsMobile = function() {
- return this.runtime.isMobile
- }, e.prototype.CompareBetween = function(e, t, n) {
- return e >= t && n >= e
- }, e.prototype.Else = function() {
- var e = this.runtime.getCurrentEventStack();
- return e.else_branch_ran ? !1 : !e.last_event_true
- }, e.prototype.OnLoadFinished = function() {
- return !0
- }, e.prototype.OnCanvasSnapshot = function() {
- return !0
- }, e.prototype.EffectsSupported = function() {
- return !!this.runtime.glwrap
- }, e.prototype.OnSaveComplete = function() {
- return !0
- }, e.prototype.OnLoadComplete = function() {
- return !0
- }, e.prototype.OnLoadFailed = function() {
- return !0
- }, e.prototype.ObjectUIDExists = function(e) {
- return !!this.runtime.getObjectByUID(e)
- }, e.prototype.IsOnPlatform = function(e) {
- var t = this.runtime;
- switch (e) {
- case 0:
- return !(t.isDomFree || t.isNodeWebkit || t.isPhoneGap || t.isCrosswalk || t.isWinJS || t.isWindowsPhone8 || t.isBlackberry10 || t.isAmazonWebApp);
- case 1:
- return t.isiOS;
- case 2:
- return t.isAndroid;
- case 3:
- return t.isWindows8App;
- case 4:
- return t.isWindowsPhone8;
- case 5:
- return t.isBlackberry10;
- case 6:
- return t.isTizen;
- case 7:
- return t.isCocoonJs;
- case 8:
- return t.isPhoneGap;
- case 9:
- return t.isArcade;
- case 10:
- return t.isNodeWebkit;
- case 11:
- return t.isCrosswalk;
- case 12:
- return t.isAmazonWebApp;
- default:
- return !1
- }
- };
- var p = null,
- d = "",
- v = "";
- e.prototype.RegexTest = function(e, t, r) {
- var i = n(t, r);
- return i.test(e)
- };
- var m = [];
- e.prototype.PickOverlappingPoint = function(e, t, n) {
- if (!e) return !1;
- var r, i, s, o, u = e.getCurrentSol(),
- a = u.getObjects(),
- f = this.runtime.getCurrentEventStack().current_event,
- l = f.orblock,
- c = this.runtime.getCurrentCondition();
- for (u.select_all ? (cr.shallowAssignArray(m, a), u.else_instances.length = 0, u.select_all = !1, u.instances.length = 0) : l ? (cr.shallowAssignArray(m, u.else_instances), u.else_instances.length = 0) : (cr.shallowAssignArray(m, a), u.instances.length = 0), r = 0, i = m.length; i > r; ++r) s = m[r], s.update_bbox(), o = cr.xor(s.contains_pt(t, n), c.inverted), o ? u.instances.push(s) : u.else_instances.push(s);
- return e.applySolToContainer(), cr.xor(!!u.instances.length, c.inverted)
- }, l.cnds = new e, r.prototype.GoToLayout = function(e) {
- this.runtime.isloading || this.runtime.changelayout || (this.runtime.changelayout = e)
- }, r.prototype.NextPrevLayout = function(e) {
- if (!this.runtime.isloading && !this.runtime.changelayout) {
- var t = this.runtime.layouts_by_index.indexOf(this.runtime.running_layout);
- if (!(e && 0 === t || !e && t === this.runtime.layouts_by_index.length - 1)) {
- var n = this.runtime.layouts_by_index[t + (e ? -1 : 1)];
- this.runtime.changelayout = n
- }
- }
- }, r.prototype.CreateObject = function(e, t, n, r) {
- if (t && e) {
- var i = this.runtime.createInstance(e, t, n, r);
- if (i) {
- this.runtime.isInOnDestroy++;
- var s, o, u;
- if (this.runtime.trigger(Object.getPrototypeOf(e.plugin).cnds.OnCreated, i), i.is_contained)
- for (s = 0, o = i.siblings.length; o > s; s++) u = i.siblings[s], this.runtime.trigger(Object.getPrototypeOf(u.type.plugin).cnds.OnCreated, u);
- this.runtime.isInOnDestroy--;
- var a = e.getCurrentSol();
- if (a.select_all = !1, a.instances.length = 1, a.instances[0] = i, i.is_contained)
- for (s = 0, o = i.siblings.length; o > s; s++) u = i.siblings[s], a = u.type.getCurrentSol(), a.select_all = !1, a.instances.length = 1, a.instances[0] = u
- }
- }
- }, r.prototype.SetLayerVisible = function(e, t) {
- e && e.visible !== t && (e.visible = t, this.runtime.redraw = !0)
- }, r.prototype.SetLayerOpacity = function(e, t) {
- e && (t = cr.clamp(t / 100, 0, 1), e.opacity !== t && (e.opacity = t, this.runtime.redraw = !0))
- }, r.prototype.SetLayerScaleRate = function(e, t) {
- e && e.zoomRate !== t && (e.zoomRate = t, this.runtime.redraw = !0)
- }, r.prototype.SetLayoutScale = function(e) {
- this.runtime.running_layout && this.runtime.running_layout.scale !== e && (this.runtime.running_layout.scale = e, this.runtime.running_layout.boundScrolling(), this.runtime.redraw = !0)
- }, r.prototype.ScrollX = function(e) {
- this.runtime.running_layout.scrollToX(e)
- }, r.prototype.ScrollY = function(e) {
- this.runtime.running_layout.scrollToY(e)
- }, r.prototype.Scroll = function(e, t) {
- this.runtime.running_layout.scrollToX(e), this.runtime.running_layout.scrollToY(t)
- }, r.prototype.ScrollToObject = function(e) {
- var t = e.getFirstPicked();
- t && (this.runtime.running_layout.scrollToX(t.x), this.runtime.running_layout.scrollToY(t.y))
- }, r.prototype.SetVar = function(e, t) {
- 0 === e.vartype ? e.setValue(cr.is_number(t) ? t : parseFloat(t)) : 1 === e.vartype && e.setValue(t.toString())
- }, r.prototype.AddVar = function(e, t) {
- 0 === e.vartype ? e.setValue(cr.is_number(t) ? e.getValue() + t : e.getValue() + parseFloat(t)) : 1 === e.vartype && e.setValue(e.getValue() + t.toString())
- }, r.prototype.SubVar = function(e, t) {
- 0 === e.vartype && e.setValue(cr.is_number(t) ? e.getValue() - t : e.getValue() - parseFloat(t))
- }, r.prototype.SetGroupActive = function(e, t) {
- var n = this.runtime.groups_by_name[e.toLowerCase()];
- if (n) switch (t) {
- case 0:
- n.setGroupActive(!1);
- break;
- case 1:
- n.setGroupActive(!0);
- break;
- case 2:
- n.setGroupActive(!n.group_active)
- }
- }, r.prototype.SetTimescale = function(e) {
- var t = e;
- 0 > t && (t = 0), this.runtime.timescale = t
- }, r.prototype.SetObjectTimescale = function(e, t) {
- var n = t;
- if (0 > n && (n = 0), e) {
- var r, i, s = e.getCurrentSol(),
- o = s.getObjects();
- for (r = 0, i = o.length; i > r; r++) o[r].my_timescale = n
- }
- }, r.prototype.RestoreObjectTimescale = function(e) {
- if (!e) return !1;
- var t, n, r = e.getCurrentSol(),
- i = r.getObjects();
- for (t = 0, n = i.length; n > t; t++) i[t].my_timescale = -1
- };
- var g = [],
- y = [];
- r.prototype.Wait = function(e) {
- if (!(0 > e)) {
- var t, n, r, s, u, a = this.runtime.getCurrentEventStack(),
- f = i();
- for (f.time = this.runtime.kahanTime.sum + e, f.signaltag = "", f.signalled = !1, f.ev = a.current_event, f.actindex = a.actindex + 1, t = 0, n = this.runtime.types_by_index.length; n > t; t++) s = this.runtime.types_by_index[t], r = s.getCurrentSol(), r.select_all && -1 === a.current_event.solModifiers.indexOf(s) || (f.solModifiers.push(s), u = o(), u.sa = r.select_all, cr.shallowAssignArray(u.insts, r.instances), f.sols[t.toString()] = u);
- return this.waits.push(f), !0
- }
- }, r.prototype.WaitForSignal = function(e) {
- var t, n, r, s, u, a = this.runtime.getCurrentEventStack(),
- f = i();
- for (f.time = -1, f.signaltag = e.toLowerCase(), f.signalled = !1, f.ev = a.current_event, f.actindex = a.actindex + 1, t = 0, n = this.runtime.types_by_index.length; n > t; t++) s = this.runtime.types_by_index[t], r = s.getCurrentSol(), r.select_all && -1 === a.current_event.solModifiers.indexOf(s) || (f.solModifiers.push(s), u = o(), u.sa = r.select_all, cr.shallowAssignArray(u.insts, r.instances), f.sols[t.toString()] = u);
- return this.waits.push(f), !0
- }, r.prototype.Signal = function(e) {
- var t, n, r, i = e.toLowerCase();
- for (t = 0, n = this.waits.length; n > t; ++t) r = this.waits[t], -1 === r.time && r.signaltag === i && (r.signalled = !0)
- }, r.prototype.SetLayerScale = function(e, t) {
- e && e.scale !== t && (e.scale = t, this.runtime.redraw = !0)
- }, r.prototype.ResetGlobals = function() {
- var e, t, n;
- for (e = 0, t = this.runtime.all_global_vars.length; t > e; e++) n = this.runtime.all_global_vars[e], n.data = n.initial
- }, r.prototype.SetLayoutAngle = function(e) {
- e = cr.to_radians(e), e = cr.clamp_angle(e), this.runtime.running_layout && this.runtime.running_layout.angle !== e && (this.runtime.running_layout.angle = e, this.runtime.redraw = !0)
- }, r.prototype.SetLayerAngle = function(e, t) {
- e && (t = cr.to_radians(t), t = cr.clamp_angle(t), e.angle !== t && (e.angle = t, this.runtime.redraw = !0))
- }, r.prototype.SetLayerParallax = function(e, t, n) {
- if (e && (e.parallaxX !== t / 100 || e.parallaxY !== n / 100)) {
- if (e.parallaxX = t / 100, e.parallaxY = n / 100, 1 !== e.parallaxX || 1 !== e.parallaxY) {
- var r, i, s = e.instances;
- for (r = 0, i = s.length; i > r; ++r) s[r].type.any_instance_parallaxed = !0
- }
- this.runtime.redraw = !0
- }
- }, r.prototype.SetLayerBackground = function(e, t) {
- if (e) {
- var n = cr.GetRValue(t),
- r = cr.GetGValue(t),
- i = cr.GetBValue(t);
- (e.background_color[0] !== n || e.background_color[1] !== r || e.background_color[2] !== i) && (e.background_color[0] = n, e.background_color[1] = r, e.background_color[2] = i, this.runtime.redraw = !0)
- }
- }, r.prototype.SetLayerTransparent = function(e, t) {
- e && !!t != !!e.transparent && (e.transparent = !!t, this.runtime.redraw = !0)
- }, r.prototype.StopLoop = function() {
- this.runtime.loop_stack_index < 0 || (this.runtime.getCurrentLoop().stopped = !0)
- }, r.prototype.GoToLayoutByName = function(e) {
- if (!this.runtime.isloading && !this.runtime.changelayout) {
- var t;
- for (t in this.runtime.layouts)
- if (this.runtime.layouts.hasOwnProperty(t) && cr.equals_nocase(t, e)) return void(this.runtime.changelayout = this.runtime.layouts[t])
- }
- }, r.prototype.RestartLayout = function() {
- console.dir("restart");
- if (!this.runtime.isloading && !this.runtime.changelayout && this.runtime.running_layout) {
- this.runtime.changelayout = this.runtime.running_layout;
- var e, t, n;
- for (e = 0, t = this.runtime.allGroups.length; t > e; e++) n = this.runtime.allGroups[e], n.setGroupActive(n.initially_activated)
- }
- }, r.prototype.SnapshotCanvas = function(e, t) {
- this.runtime.snapshotCanvas = [0 === e ? "image/png" : "image/jpeg", t / 100], this.runtime.redraw = !0
- }, r.prototype.SetCanvasSize = function(e, t) {
- if (!(0 >= e || 0 >= t)) {
- var n = this.runtime.fullscreen_mode,
- r = document.mozFullScreen || document.webkitIsFullScreen || !!document.msFullscreenElement || document.fullScreen || this.runtime.isNodeFullscreen;
- r && this.runtime.fullscreen_scaling > 0 && (n = this.runtime.fullscreen_scaling), 0 === n ? this.runtime.setSize(e, t, !0) : (this.runtime.original_width = e, this.runtime.original_height = t, this.runtime.setSize(this.runtime.lastWindowWidth, this.runtime.lastWindowHeight, !0))
- }
- }, r.prototype.SetLayoutEffectEnabled = function(e, t) {
- if (this.runtime.running_layout && this.runtime.glwrap) {
- var n = this.runtime.running_layout.getEffectByName(t);
- if (n) {
- var r = 1 === e;
- n.active != r && (n.active = r, this.runtime.running_layout.updateActiveEffects(), this.runtime.redraw = !0)
- }
- }
- }, r.prototype.SetLayerEffectEnabled = function(e, t, n) {
- if (e && this.runtime.glwrap) {
- var r = e.getEffectByName(n);
- if (r) {
- var i = 1 === t;
- r.active != i && (r.active = i, e.updateActiveEffects(), this.runtime.redraw = !0)
- }
- }
- }, r.prototype.SetLayoutEffectParam = function(e, t, n) {
- if (this.runtime.running_layout && this.runtime.glwrap) {
- var r = this.runtime.running_layout.getEffectByName(e);
- if (r) {
- var i = this.runtime.running_layout.effect_params[r.index];
- t = Math.floor(t), 0 > t || t >= i.length || (1 === this.runtime.glwrap.getProgramParameterType(r.shaderindex, t) && (n /= 100), i[t] !== n && (i[t] = n, r.active && (this.runtime.redraw = !0)))
- }
- }
- }, r.prototype.SetLayerEffectParam = function(e, t, n, r) {
- if (e && this.runtime.glwrap) {
- var i = e.getEffectByName(t);
- if (i) {
- var s = e.effect_params[i.index];
- n = Math.floor(n), 0 > n || n >= s.length || (1 === this.runtime.glwrap.getProgramParameterType(i.shaderindex, n) && (r /= 100), s[n] !== r && (s[n] = r, i.active && (this.runtime.redraw = !0)))
- }
- }
- }, r.prototype.SaveState = function(e) {
- this.runtime.saveToSlot = e
- }, r.prototype.LoadState = function(e) {
- this.runtime.loadFromSlot = e
- }, r.prototype.LoadStateJSON = function(e) {
- this.runtime.loadFromJson = e
- }, r.prototype.SetHalfFramerateMode = function(e) {
- this.runtime.halfFramerateMode = 0 !== e
- }, r.prototype.SetFullscreenQuality = function(e) {
- var t = document.mozFullScreen || document.webkitIsFullScreen || !!document.msFullscreenElement || document.fullScreen || this.isNodeFullscreen;
- (t || 0 !== this.runtime.fullscreen_mode) && (this.runtime.wantFullscreenScalingQuality = 0 !== e, this.runtime.setSize(this.runtime.lastWindowWidth, this.runtime.lastWindowHeight, !0))
- }, l.acts = new r, a.prototype["int"] = function(e, t) {
- cr.is_string(t) ? (e.set_int(parseInt(t, 10)), isNaN(e.data) && (e.data = 0)) : e.set_int(t)
- }, a.prototype["float"] = function(e, t) {
- cr.is_string(t) ? (e.set_float(parseFloat(t)), isNaN(e.data) && (e.data = 0)) : e.set_float(t)
- }, a.prototype.str = function(e, t) {
- e.set_string(cr.is_string(t) ? t : t.toString())
- }, a.prototype.len = function(e, t) {
- e.set_int(t.length || 0)
- }, a.prototype.random = function(e, t, n) {
- e.set_float(void 0 === n ? Math.random() * t : Math.random() * (n - t) + t)
- }, a.prototype.sqrt = function(e, t) {
- e.set_float(Math.sqrt(t))
- }, a.prototype.abs = function(e, t) {
- e.set_float(Math.abs(t))
- }, a.prototype.round = function(e, t) {
- e.set_int(Math.round(t))
- }, a.prototype.floor = function(e, t) {
- e.set_int(Math.floor(t))
- }, a.prototype.ceil = function(e, t) {
- e.set_int(Math.ceil(t))
- }, a.prototype.sin = function(e, t) {
- e.set_float(Math.sin(cr.to_radians(t)))
- }, a.prototype.cos = function(e, t) {
- e.set_float(Math.cos(cr.to_radians(t)))
- }, a.prototype.tan = function(e, t) {
- e.set_float(Math.tan(cr.to_radians(t)))
- }, a.prototype.asin = function(e, t) {
- e.set_float(cr.to_degrees(Math.asin(t)))
- }, a.prototype.acos = function(e, t) {
- e.set_float(cr.to_degrees(Math.acos(t)))
- }, a.prototype.atan = function(e, t) {
- e.set_float(cr.to_degrees(Math.atan(t)))
- }, a.prototype.exp = function(e, t) {
- e.set_float(Math.exp(t))
- }, a.prototype.ln = function(e, t) {
- e.set_float(Math.log(t))
- }, a.prototype.log10 = function(e, t) {
- e.set_float(Math.log(t) / Math.LN10)
- }, a.prototype.max = function(e) {
- var t = arguments[1];
- "number" != typeof t && (t = 0);
- var n, r, i;
- for (n = 2, r = arguments.length; r > n; n++) i = arguments[n], "number" == typeof i && i > t && (t = i);
- e.set_float(t)
- }, a.prototype.min = function(e) {
- var t = arguments[1];
- "number" != typeof t && (t = 0);
- var n, r, i;
- for (n = 2, r = arguments.length; r > n; n++) i = arguments[n], "number" == typeof i && t > i && (t = i);
- e.set_float(t)
- }, a.prototype.dt = function(e) {
- e.set_float(this.runtime.dt)
- }, a.prototype.timescale = function(e) {
- e.set_float(this.runtime.timescale)
- }, a.prototype.wallclocktime = function(e) {
- e.set_float((Date.now() - this.runtime.start_time) / 1e3)
- }, a.prototype.time = function(e) {
- e.set_float(this.runtime.kahanTime.sum)
- }, a.prototype.tickcount = function(e) {
- e.set_int(this.runtime.tickcount)
- }, a.prototype.objectcount = function(e) {
- e.set_int(this.runtime.objectcount)
- }, a.prototype.fps = function(e) {
- e.set_int(this.runtime.fps)
- }, a.prototype.loopindex = function(e, t) {
- var n, r, i;
- if (!this.runtime.loop_stack.length) return void e.set_int(0);
- if (t) {
- for (r = 0, i = this.runtime.loop_stack.length; i > r; r++)
- if (n = this.runtime.loop_stack[r], n.name === t) return void e.set_int(n.index);
- e.set_int(0)
- } else n = this.runtime.getCurrentLoop(), e.set_int(n ? n.index : -1)
- }, a.prototype.distance = function(e, t, n, r, i) {
- e.set_float(cr.distanceTo(t, n, r, i))
- }, a.prototype.angle = function(e, t, n, r, i) {
- e.set_float(cr.to_degrees(cr.angleTo(t, n, r, i)))
- }, a.prototype.scrollx = function(e) {
- e.set_float(this.runtime.running_layout.scrollX)
- }, a.prototype.scrolly = function(e) {
- e.set_float(this.runtime.running_layout.scrollY)
- }, a.prototype.newline = function(e) {
- e.set_string("\n")
- }, a.prototype.lerp = function(e, t, n, r) {
- e.set_float(cr.lerp(t, n, r))
- }, a.prototype.qarp = function(e, t, n, r, i) {
- e.set_float(cr.qarp(t, n, r, i))
- }, a.prototype.cubic = function(e, t, n, r, i, s) {
- e.set_float(cr.cubic(t, n, r, i, s))
- }, a.prototype.cosp = function(e, t, n, r) {
- e.set_float(cr.cosp(t, n, r))
- }, a.prototype.windowwidth = function(e) {
- e.set_int(this.runtime.width)
- }, a.prototype.windowheight = function(e) {
- e.set_int(this.runtime.height)
- }, a.prototype.uppercase = function(e, t) {
- e.set_string(cr.is_string(t) ? t.toUpperCase() : "")
- }, a.prototype.lowercase = function(e, t) {
- e.set_string(cr.is_string(t) ? t.toLowerCase() : "")
- }, a.prototype.clamp = function(e, t, n, r) {
- e.set_float(n > t ? n : t > r ? r : t)
- }, a.prototype.layerscale = function(e, t) {
- var n = this.runtime.getLayer(t);
- e.set_float(n ? n.scale : 0)
- }, a.prototype.layeropacity = function(e, t) {
- var n = this.runtime.getLayer(t);
- e.set_float(n ? 100 * n.opacity : 0)
- }, a.prototype.layerscalerate = function(e, t) {
- var n = this.runtime.getLayer(t);
- e.set_float(n ? n.zoomRate : 0)
- }, a.prototype.layerparallaxx = function(e, t) {
- var n = this.runtime.getLayer(t);
- e.set_float(n ? 100 * n.parallaxX : 0)
- }, a.prototype.layerparallaxy = function(e, t) {
- var n = this.runtime.getLayer(t);
- e.set_float(n ? 100 * n.parallaxY : 0)
- }, a.prototype.layoutscale = function(e) {
- e.set_float(this.runtime.running_layout ? this.runtime.running_layout.scale : 0)
- }, a.prototype.layoutangle = function(e) {
- e.set_float(cr.to_degrees(this.runtime.running_layout.angle))
- }, a.prototype.layerangle = function(e, t) {
- var n = this.runtime.getLayer(t);
- e.set_float(n ? cr.to_degrees(n.angle) : 0)
- }, a.prototype.layoutwidth = function(e) {
- e.set_int(this.runtime.running_layout.width)
- }, a.prototype.layoutheight = function(e) {
- e.set_int(this.runtime.running_layout.height)
- }, a.prototype.find = function(e, t, n) {
- e.set_int(cr.is_string(t) && cr.is_string(n) ? t.search(new RegExp(cr.regexp_escape(n), "i")) : -1)
- }, a.prototype.left = function(e, t, n) {
- e.set_string(cr.is_string(t) ? t.substr(0, n) : "")
- }, a.prototype.right = function(e, t, n) {
- e.set_string(cr.is_string(t) ? t.substr(t.length - n) : "")
- }, a.prototype.mid = function(e, t, n, r) {
- e.set_string(cr.is_string(t) ? t.substr(n, r) : "")
- }, a.prototype.tokenat = function(e, t, n, r) {
- if (cr.is_string(t) && cr.is_string(r)) {
- var i = t.split(r),
- s = cr.floor(n);
- e.set_string(0 > s || s >= i.length ? "" : i[s])
- } else e.set_string("")
- }, a.prototype.tokencount = function(e, t, n) {
- e.set_int(cr.is_string(t) && t.length ? t.split(n).length : 0)
- }, a.prototype.replace = function(e, t, n, r) {
- e.set_string(cr.is_string(t) && cr.is_string(n) && cr.is_string(r) ? t.replace(new RegExp(cr.regexp_escape(n), "gi"), r) : cr.is_string(t) ? t : "")
- }, a.prototype.trim = function(e, t) {
- e.set_string(cr.is_string(t) ? t.trim() : "")
- }, a.prototype.pi = function(e) {
- e.set_float(cr.PI)
- }, a.prototype.layoutname = function(e) {
- e.set_string(this.runtime.running_layout ? this.runtime.running_layout.name : "")
- }, a.prototype.renderer = function(e) {
- e.set_string(this.runtime.gl ? "webgl" : "canvas2d")
- }, a.prototype.anglediff = function(e, t, n) {
- e.set_float(cr.to_degrees(cr.angleDiff(cr.to_radians(t), cr.to_radians(n))))
- }, a.prototype.choose = function(e) {
- var t = cr.floor(Math.random() * (arguments.length - 1));
- e.set_any(arguments[t + 1])
- }, a.prototype.rgb = function(e, t, n, r) {
- e.set_int(cr.RGB(t, n, r))
- }, a.prototype.projectversion = function(e) {
- e.set_string(this.runtime.versionstr)
- }, a.prototype.anglelerp = function(e, t, n, r) {
- t = cr.to_radians(t), n = cr.to_radians(n);
- var i = cr.angleDiff(t, n);
- e.set_float(cr.to_clamped_degrees(cr.angleClockwise(n, t) ? t + i * r : t - i * r))
- }, a.prototype.anglerotate = function(e, t, n, r) {
- t = cr.to_radians(t), n = cr.to_radians(n), r = cr.to_radians(r), e.set_float(cr.to_clamped_degrees(cr.angleRotate(t, n, r)))
- }, a.prototype.zeropad = function(e, t, n) {
- var r = 0 > t ? "-" : "";
- 0 > t && (t = -t);
- for (var i = n - t.toString().length, s = 0; i > s; s++) r += "0";
- e.set_string(r + t.toString())
- }, a.prototype.cpuutilisation = function(e) {
- e.set_float(this.runtime.cpuutilisation / 1e3)
- }, a.prototype.viewportleft = function(e, t) {
- var n = this.runtime.getLayer(t);
- e.set_float(n ? n.viewLeft : 0)
- }, a.prototype.viewporttop = function(e, t) {
- var n = this.runtime.getLayer(t);
- e.set_float(n ? n.viewTop : 0)
- }, a.prototype.viewportright = function(e, t) {
- var n = this.runtime.getLayer(t);
- e.set_float(n ? n.viewRight : 0)
- }, a.prototype.viewportbottom = function(e, t) {
- var n = this.runtime.getLayer(t);
- e.set_float(n ? n.viewBottom : 0)
- }, a.prototype.loadingprogress = function(e) {
- e.set_float(this.runtime.loadingprogress)
- }, a.prototype.unlerp = function(e, t, n, r) {
- e.set_float(cr.unlerp(t, n, r))
- }, a.prototype.canvassnapshot = function(e) {
- e.set_string(this.runtime.snapshotData)
- }, a.prototype.urlencode = function(e, t) {
- e.set_string(encodeURIComponent(t))
- }, a.prototype.urldecode = function(e, t) {
- e.set_string(decodeURIComponent(t))
- }, a.prototype.canvastolayerx = function(e, t, n, r) {
- var i = this.runtime.getLayer(t);
- e.set_float(i ? i.canvasToLayer(n, r, !0) : 0)
- }, a.prototype.canvastolayery = function(e, t, n, r) {
- var i = this.runtime.getLayer(t);
- e.set_float(i ? i.canvasToLayer(n, r, !1) : 0)
- }, a.prototype.layertocanvasx = function(e, t, n, r) {
- var i = this.runtime.getLayer(t);
- e.set_float(i ? i.layerToCanvas(n, r, !0) : 0)
- }, a.prototype.layertocanvasy = function(e, t, n, r) {
- var i = this.runtime.getLayer(t);
- e.set_float(i ? i.layerToCanvas(n, r, !1) : 0)
- }, a.prototype.savestatejson = function(e) {
- e.set_string(this.runtime.lastSaveJson)
- }, a.prototype.imagememoryusage = function(e) {
- e.set_float(this.runtime.glwrap ? Math.round(100 * this.runtime.glwrap.estimateVRAM() / 1048576) / 100 : 0)
- }, a.prototype.regexsearch = function(e, t, r, i) {
- var s = n(r, i);
- e.set_int(t ? t.search(s) : -1)
- }, a.prototype.regexreplace = function(e, t, r, i, s) {
- var o = n(r, i);
- e.set_string(t ? t.replace(o, s) : "")
- };
- var b = [],
- w = "",
- E = "",
- S = "";
- a.prototype.regexmatchcount = function(e, t, r, i) {
- n(r, i);
- f(t, r, i), e.set_int(b ? b.length : 0)
- }, a.prototype.regexmatchat = function(e, t, r, i, s) {
- s = Math.floor(s);
- n(r, i);
- f(t, r, i), e.set_string(!b || 0 > s || s >= b.length ? "" : b[s])
- }, a.prototype.infinity = function(e) {
- e.set_float(1 / 0)
- }, a.prototype.setbit = function(e, t, n, r) {
- t = 0 | t, n = 0 | n, r = 0 !== r ? 1 : 0, e.set_int(t & ~(1 << n) | r << n)
- }, a.prototype.togglebit = function(e, t, n) {
- t = 0 | t, n = 0 | n, e.set_int(t ^ 1 << n)
- }, a.prototype.getbit = function(e, t, n) {
- t = 0 | t, n = 0 | n, e.set_int(t & 1 << n ? 1 : 0)
- }, l.exps = new a, l.runWaits = function() {
- var e, t, n, r, i, o, a, f = this.runtime.getCurrentEventStack();
- for (e = 0, n = this.waits.length; n > e; e++) {
- if (r = this.waits[e], -1 === r.time) {
- if (!r.signalled) continue
- } else if (r.time > this.runtime.kahanTime.sum) continue;
- f.current_event = r.ev, f.actindex = r.actindex, f.cndindex = 0;
- for (i in r.sols) r.sols.hasOwnProperty(i) && (o = this.runtime.types_by_index[parseInt(i, 10)].getCurrentSol(), a = r.sols[i], o.select_all = a.sa, cr.shallowAssignArray(o.instances, a.insts), u(a));
- r.ev.resume_actions_and_subevents(), this.runtime.clearSol(r.solModifiers), r.deleteme = !0
- }
- for (e = 0, t = 0, n = this.waits.length; n > e; e++) r = this.waits[e], this.waits[t] = r, r.deleteme ? s(r) : t++;
- this.waits.length = t
- }
- }(),
- function() {
- cr.add_common_aces = function(e) {
- var t = e[0].prototype,
- n = e[1],
- r = e[3],
- i = e[4],
- s = e[5],
- o = e[6],
- u = e[7],
- a = e[8];
- t.cnds || (t.cnds = {}), t.acts || (t.acts = {}), t.exps || (t.exps = {});
- var f = t.cnds,
- l = t.acts,
- c = t.exps;
- r && (f.CompareX = function(e, t) {
- return cr.do_cmp(this.x, e, t)
- }, f.CompareY = function(e, t) {
- return cr.do_cmp(this.y, e, t)
- }, f.IsOnScreen = function() {
- var e = this.layer;
- this.update_bbox();
- var t = this.bbox;
- return !(t.right < e.viewLeft || t.bottom < e.viewTop || t.left > e.viewRight || t.top > e.viewBottom)
- }, f.IsOutsideLayout = function() {
- this.update_bbox();
- var e = this.bbox,
- t = this.runtime.running_layout;
- return e.right < 0 || e.bottom < 0 || e.left > t.width || e.top > t.height
- }, f.PickDistance = function(e, t, n) {
- var r = this.getCurrentSol(),
- i = r.getObjects();
- if (!i.length) return !1;
- var s, o, u, a = i[0],
- f = a,
- l = cr.distanceTo(a.x, a.y, t, n);
- for (s = 1, o = i.length; o > s; s++) a = i[s], u = cr.distanceTo(a.x, a.y, t, n), (0 === e && l > u || 1 === e && u > l) && (l = u, f = a);
- return r.pick_one(f), !0
- }, l.SetX = function(e) {
- this.x !== e && (this.x = e, this.set_bbox_changed())
- }, l.SetY = function(e) {
- this.y !== e && (this.y = e, this.set_bbox_changed())
- }, l.SetPos = function(e, t) {
- (this.x !== e || this.y !== t) && (this.x = e, this.y = t, this.set_bbox_changed())
- }, l.SetPosToObject = function(e, t) {
- var n = e.getPairedInstance(this);
- if (n) {
- var r, i;
- n.getImagePoint ? (r = n.getImagePoint(t, !0), i = n.getImagePoint(t, !1)) : (r = n.x, i = n.y), (this.x !== r || this.y !== i) && (this.x = r, this.y = i, this.set_bbox_changed())
- }
- }, l.MoveForward = function(e) {
- 0 !== e && (this.x += Math.cos(this.angle) * e, this.y += Math.sin(this.angle) * e, this.set_bbox_changed())
- }, l.MoveAtAngle = function(e, t) {
- 0 !== t && (this.x += Math.cos(cr.to_radians(e)) * t, this.y += Math.sin(cr.to_radians(e)) * t, this.set_bbox_changed())
- }, c.X = function(e) {
- e.set_float(this.x)
- }, c.Y = function(e) {
- e.set_float(this.y)
- }, c.dt = function(e) {
- e.set_float(this.runtime.getDt(this))
- }), i && (f.CompareWidth = function(e, t) {
- return cr.do_cmp(this.width, e, t)
- }, f.CompareHeight = function(e, t) {
- return cr.do_cmp(this.height, e, t)
- }, l.SetWidth = function(e) {
- this.width !== e && (this.width = e, this.set_bbox_changed())
- }, l.SetHeight = function(e) {
- this.height !== e && (this.height = e, this.set_bbox_changed())
- }, l.SetSize = function(e, t) {
- (this.width !== e || this.height !== t) && (this.width = e, this.height = t, this.set_bbox_changed())
- }, c.Width = function(e) {
- e.set_float(this.width)
- }, c.Height = function(e) {
- e.set_float(this.height)
- }, c.BBoxLeft = function(e) {
- this.update_bbox(), e.set_float(this.bbox.left)
- }, c.BBoxTop = function(e) {
- this.update_bbox(), e.set_float(this.bbox.top)
- }, c.BBoxRight = function(e) {
- this.update_bbox(), e.set_float(this.bbox.right)
- }, c.BBoxBottom = function(e) {
- this.update_bbox(), e.set_float(this.bbox.bottom)
- }), s && (f.AngleWithin = function(e, t) {
- return cr.angleDiff(this.angle, cr.to_radians(t)) <= cr.to_radians(e)
- }, f.IsClockwiseFrom = function(e) {
- return cr.angleClockwise(this.angle, cr.to_radians(e))
- }, f.IsBetweenAngles = function(e, t) {
- var n = cr.to_clamped_radians(e),
- r = cr.to_clamped_radians(t),
- i = cr.clamp_angle(this.angle),
- s = !cr.angleClockwise(r, n);
- return s ? !(!cr.angleClockwise(i, n) && cr.angleClockwise(i, r)) : cr.angleClockwise(i, n) && !cr.angleClockwise(i, r)
- }, l.SetAngle = function(e) {
- var t = cr.to_radians(cr.clamp_angle_degrees(e));
- isNaN(t) || this.angle !== t && (this.angle = t, this.set_bbox_changed())
- }, l.RotateClockwise = function(e) {
- 0 === e || isNaN(e) || (this.angle += cr.to_radians(e), this.angle = cr.clamp_angle(this.angle), this.set_bbox_changed())
- }, l.RotateCounterclockwise = function(e) {
- 0 === e || isNaN(e) || (this.angle -= cr.to_radians(e), this.angle = cr.clamp_angle(this.angle), this.set_bbox_changed())
- }, l.RotateTowardAngle = function(e, t) {
- var n = cr.angleRotate(this.angle, cr.to_radians(t), cr.to_radians(e));
- isNaN(n) || this.angle !== n && (this.angle = n, this.set_bbox_changed())
- }, l.RotateTowardPosition = function(e, t, n) {
- var r = t - this.x,
- i = n - this.y,
- s = Math.atan2(i, r),
- o = cr.angleRotate(this.angle, s, cr.to_radians(e));
- isNaN(o) || this.angle !== o && (this.angle = o, this.set_bbox_changed())
- }, l.SetTowardPosition = function(e, t) {
- var n = e - this.x,
- r = t - this.y,
- i = Math.atan2(r, n);
- isNaN(i) || this.angle !== i && (this.angle = i, this.set_bbox_changed())
- }, c.Angle = function(e) {
- e.set_float(cr.to_clamped_degrees(this.angle))
- }), n || (f.CompareInstanceVar = function(e, t, n) {
- return cr.do_cmp(this.instance_vars[e], t, n)
- }, f.IsBoolInstanceVarSet = function(e) {
- return this.instance_vars[e]
- }, f.PickInstVarHiLow = function(e, t) {
- var n = this.getCurrentSol(),
- r = n.getObjects();
- if (!r.length) return !1;
- var i, s, o, u = r[0],
- a = u,
- f = u.instance_vars[t];
- for (i = 1, s = r.length; s > i; i++) u = r[i], o = u.instance_vars[t], (0 === e && f > o || 1 === e && o > f) && (f = o, a = u);
- return n.pick_one(a), !0
- }, f.PickByUID = function(e) {
- var t, n, r, i, s, o, u, a = this.runtime.getCurrentCondition();
- if (a.inverted) {
- if (u = this.getCurrentSol(), u.select_all) {
- for (u.select_all = !1, u.instances.length = 0, u.else_instances.length = 0, o = this.instances, t = 0, n = o.length; n > t; t++) i = o[t], i.uid === e ? u.else_instances.push(i) : u.instances.push(i);
- return this.applySolToContainer(), !!u.instances.length
- }
- for (t = 0, r = 0, n = u.instances.length; n > t; t++) i = u.instances[t], u.instances[r] = i, i.uid === e ? u.else_instances.push(i) : r++;
- return u.instances.length = r, this.applySolToContainer(), !!u.instances.length
- }
- if (i = this.runtime.getObjectByUID(e), !i) return !1;
- if (u = this.getCurrentSol(), !u.select_all && -1 === u.instances.indexOf(i)) return !1;
- if (this.is_family) {
- for (s = i.type.families, t = 0, n = s.length; n > t; t++)
- if (s[t] === this) return u.pick_one(i), this.applySolToContainer(), !0
- } else if (i.type === this) return u.pick_one(i), this.applySolToContainer(), !0;
- return !1
- }, f.OnCreated = function() {
- return !0
- }, f.OnDestroyed = function() {
- return !0
- }, l.SetInstanceVar = function(e, t) {
- var n = this.instance_vars;
- cr.is_number(n[e]) ? n[e] = cr.is_number(t) ? t : parseFloat(t) : cr.is_string(n[e]) && (n[e] = cr.is_string(t) ? t : t.toString())
- }, l.AddInstanceVar = function(e, t) {
- var n = this.instance_vars;
- cr.is_number(n[e]) ? n[e] += cr.is_number(t) ? t : parseFloat(t) : cr.is_string(n[e]) && (n[e] += cr.is_string(t) ? t : t.toString())
- }, l.SubInstanceVar = function(e, t) {
- var n = this.instance_vars;
- cr.is_number(n[e]) && (n[e] -= cr.is_number(t) ? t : parseFloat(t))
- }, l.SetBoolInstanceVar = function(e, t) {
- this.instance_vars[e] = t ? 1 : 0
- }, l.ToggleBoolInstanceVar = function(e) {
- this.instance_vars[e] = 1 - this.instance_vars[e]
- }, l.Destroy = function() {
- this.runtime.DestroyInstance(this)
- }, l.LoadFromJsonString || (l.LoadFromJsonString = function(e) {
- var t, n, r, i;
- try {
- t = JSON.parse(e)
- } catch (s) {
- return
- }
- if (this.runtime.loadInstanceFromJSON(this, t, !0), this.afterLoad && this.afterLoad(), this.behavior_insts)
- for (n = 0, r = this.behavior_insts.length; r > n; ++n) i = this.behavior_insts[n], i.afterLoad && i.afterLoad()
- }), c.Count = function(e) {
- var t, n, r, i = e.object_class.instances.length;
- for (t = 0, n = this.runtime.createRow.length; n > t; t++) r = this.runtime.createRow[t], e.object_class.is_family ? r.type.families.indexOf(e.object_class) >= 0 && i++ : r.type === e.object_class && i++;
- e.set_int(i)
- }, c.PickedCount = function(e) {
- e.set_int(e.object_class.getCurrentSol().getObjects().length)
- }, c.UID = function(e) {
- e.set_int(this.uid)
- }, c.IID = function(e) {
- e.set_int(this.get_iid())
- }, c.AsJSON || (c.AsJSON = function(e) {
- e.set_string(JSON.stringify(this.runtime.saveInstanceToJSON(this, !0)))
- })), o && (f.IsVisible = function() {
- return this.visible
- }, l.SetVisible = function(e) {
- !e != !this.visible && (this.visible = e, this.runtime.redraw = !0)
- }, f.CompareOpacity = function(e, t) {
- return cr.do_cmp(cr.round6dp(100 * this.opacity), e, t)
- }, l.SetOpacity = function(e) {
- var t = e / 100;
- 0 > t ? t = 0 : t > 1 && (t = 1), t !== this.opacity && (this.opacity = t, this.runtime.redraw = !0)
- }, c.Opacity = function(e) {
- e.set_float(cr.round6dp(100 * this.opacity))
- }), u && (f.IsOnLayer = function(e) {
- return e ? this.layer === e : !1
- }, f.PickTopBottom = function(e) {
- var t = this.getCurrentSol(),
- n = t.getObjects();
- if (!n.length) return !1;
- var r, i, s = n[0],
- o = s;
- for (r = 1, i = n.length; i > r; r++) s = n[r], 0 === e ? (s.layer.index > o.layer.index || s.layer.index === o.layer.index && s.get_zindex() > o.get_zindex()) && (o = s) : (s.layer.index < o.layer.index || s.layer.index === o.layer.index && s.get_zindex() < o.get_zindex()) && (o = s);
- return t.pick_one(o), !0
- }, l.MoveToTop = function() {
- var e = this.get_zindex();
- e !== this.layer.instances.length - 1 && (cr.arrayRemove(this.layer.instances, e), this.layer.instances.push(this), this.runtime.redraw = !0, this.layer.zindices_stale = !0)
- }, l.MoveToBottom = function() {
- var e = this.get_zindex();
- 0 !== e && (cr.arrayRemove(this.layer.instances, e), this.layer.instances.unshift(this), this.runtime.redraw = !0, this.layer.zindices_stale = !0)
- }, l.MoveToLayer = function(e) {
- e && e != this.layer && (cr.arrayRemove(this.layer.instances, this.get_zindex()), this.layer.zindices_stale = !0, this.layer = e, this.zindex = e.instances.length, e.instances.push(this), this.runtime.redraw = !0)
- }, l.ZMoveToObject = function(e, t) {
- var n = 0 === e;
- if (t) {
- var r = t.getFirstPicked(this);
- if (r && r.uid !== this.uid) {
- this.layer.index !== r.layer.index && (cr.arrayRemove(this.layer.instances, this.get_zindex()), this.layer.zindices_stale = !0, this.layer = r.layer, this.zindex = r.layer.instances.length, r.layer.instances.push(this));
- var i = this.get_zindex(),
- s = r.get_zindex();
- cr.arrayRemove(this.layer.instances, i), s > i && s--, n && s++, s === this.layer.instances.length ? this.layer.instances.push(this) : this.layer.instances.splice(s, 0, this), this.layer.zindices_stale = !0, this.runtime.redraw = !0
- }
- }
- }, c.LayerNumber = function(e) {
- e.set_int(this.layer.number)
- }, c.LayerName = function(e) {
- e.set_string(this.layer.name)
- }, c.ZIndex = function(e) {
- e.set_int(this.get_zindex())
- }), a && (l.SetEffectEnabled = function(e, t) {
- if (this.runtime.glwrap) {
- var n = this.type.getEffectIndexByName(t);
- if (!(0 > n)) {
- var r = 1 === e;
- this.active_effect_flags[n] !== r && (this.active_effect_flags[n] = r, this.updateActiveEffects(), this.runtime.redraw = !0)
- }
- }
- }, l.SetEffectParam = function(e, t, n) {
- if (this.runtime.glwrap) {
- var r = this.type.getEffectIndexByName(e);
- if (!(0 > r)) {
- var i = this.type.effect_types[r],
- s = this.effect_params[r];
- t = Math.floor(t), 0 > t || t >= s.length || (1 === this.runtime.glwrap.getProgramParameterType(i.shaderindex, t) && (n /= 100), s[t] !== n && (s[t] = n, i.active && (this.runtime.redraw = !0)))
- }
- }
- })
- }, cr.set_bbox_changed = function() {
- this.bbox_changed = !0, this.cell_changed = !0, this.type.any_cell_changed = !0, this.runtime.redraw = !0;
- var e, t, n = this.bbox_changed_callbacks;
- for (e = 0, t = n.length; t > e; ++e) n[e](this)
- }, cr.add_bbox_changed_callback = function(e) {
- e && this.bbox_changed_callbacks.push(e)
- }, cr.update_bbox = function() {
- if (this.bbox_changed) {
- var e = this.bbox,
- t = this.bquad;
- e.set(this.x, this.y, this.x + this.width, this.y + this.height), e.offset(-this.hotspotX * this.width, -this.hotspotY * this.height), this.angle ? (e.offset(-this.x, -this.y), t.set_from_rotated_rect(e, this.angle), t.offset(this.x, this.y), t.bounding_box(e)) : t.set_from_rect(e), e.normalize(), this.bbox_changed = !1
- }
- };
- var e = new cr.rect(0, 0, 0, 0);
- cr.update_collision_cell = function() {
- if (this.cell_changed && this.collisionsEnabled) {
- this.update_bbox();
- var n = this.type.collision_grid,
- r = this.collcells,
- i = this.bbox;
- e.set(n.XToCell(i.left), n.YToCell(i.top), n.XToCell(i.right), n.YToCell(i.bottom)), r.equals(e) || (r.right < r.left ? n.update(this, null, e) : n.update(this, r, e), r.copy(e), this.cell_changed = !1)
- }
- }, cr.inst_contains_pt = function(e, t) {
- return this.bbox.contains_pt(e, t) && this.bquad.contains_pt(e, t) ? this.collision_poly && !this.collision_poly.is_empty() ? (this.collision_poly.cache_poly(this.width, this.height, this.angle), this.collision_poly.contains_pt(e - this.x, t - this.y)) : !0 : !1
- }, cr.inst_get_iid = function() {
- return this.type.updateIIDs(), this.iid
- }, cr.inst_get_zindex = function() {
- return this.layer.updateZIndices(), this.zindex
- }, cr.inst_updateActiveEffects = function() {
- this.active_effect_types.length = 0;
- var e, t;
- for (e = 0, t = this.active_effect_flags.length; t > e; e++) this.active_effect_flags[e] && this.active_effect_types.push(this.type.effect_types[e]);
- this.uses_shaders = !!this.active_effect_types.length
- }, cr.inst_toString = function() {
- return "Inst" + this.puid
- }, cr.type_getFirstPicked = function(e) {
- if (e && e.is_contained && e.type != this) {
- var t, n, r;
- for (t = 0, n = e.siblings.length; n > t; t++)
- if (r = e.siblings[t], r.type == this) return r
- }
- var i = this.getCurrentSol().getObjects();
- return i.length ? i[0] : null
- }, cr.type_getPairedInstance = function(e) {
- var t = this.getCurrentSol().getObjects();
- return t.length ? t[e.get_iid() % t.length] : null
- }, cr.type_updateIIDs = function() {
- if (this.stale_iids && !this.is_family) {
- var e, t;
- for (e = 0, t = this.instances.length; t > e; e++) this.instances[e].iid = e;
- var n = e,
- r = this.runtime.createRow;
- for (e = 0, t = r.length; t > e; ++e) r[e].type === this && (r[e].iid = n++);
- this.stale_iids = !1
- }
- }, cr.type_getInstanceByIID = function(e) {
- if (e < this.instances.length) return this.instances[e];
- e -= this.instances.length;
- var t, n, r = this.runtime.createRow;
- for (t = 0, n = r.length; n > t; ++t)
- if (r[t].type === this) {
- if (0 === e) return r[t];
- --e
- }
- return null
- }, cr.type_getCurrentSol = function() {
- return this.solstack[this.cur_sol]
- }, cr.type_pushCleanSol = function() {
- this.cur_sol++, this.cur_sol === this.solstack.length ? this.solstack.push(new cr.selection(this)) : this.solstack[this.cur_sol].select_all = !0
- }, cr.type_pushCopySol = function() {
- this.cur_sol++, this.cur_sol === this.solstack.length && this.solstack.push(new cr.selection(this));
- var e = this.solstack[this.cur_sol],
- t = this.solstack[this.cur_sol - 1];
- t.select_all ? e.select_all = !0 : (e.select_all = !1, cr.shallowAssignArray(e.instances, t.instances), cr.shallowAssignArray(e.else_instances, t.else_instances))
- }, cr.type_popSol = function() {
- this.cur_sol--
- }, cr.type_getBehaviorByName = function(e) {
- var t, n, r, i, s, o = 0;
- if (!this.is_family)
- for (t = 0, n = this.families.length; n > t; t++)
- for (s = this.families[t], r = 0, i = s.behaviors.length; i > r; r++) {
- if (e === s.behaviors[r].name) return this.extra.lastBehIndex = o, s.behaviors[r];
- o++
- }
- for (t = 0, n = this.behaviors.length; n > t; t++) {
- if (e === this.behaviors[t].name) return this.extra.lastBehIndex = o, this.behaviors[t];
- o++
- }
- return null
- }, cr.type_getBehaviorIndexByName = function(e) {
- var t = this.getBehaviorByName(e);
- return t ? this.extra.lastBehIndex : -1
- }, cr.type_getEffectIndexByName = function(e) {
- var t, n;
- for (t = 0, n = this.effect_types.length; n > t; t++)
- if (this.effect_types[t].name === e) return t;
- return -1
- }, cr.type_applySolToContainer = function() {
- if (this.is_contained && !this.is_family) {
- var e, t, n, r, i, s, o;
- this.updateIIDs(), s = this.getCurrentSol();
- var u = s.select_all,
- a = this.runtime.getCurrentEventStack(),
- f = a && a.current_event && a.current_event.orblock;
- for (e = 0, t = this.container.length; t > e; e++)
- if (i = this.container[e], i !== this && (i.updateIIDs(), o = i.getCurrentSol(), o.select_all = u, !u)) {
- for (o.instances.length = s.instances.length, n = 0, r = s.instances.length; r > n; n++) o.instances[n] = i.getInstanceByIID(s.instances[n].iid);
- if (f)
- for (o.else_instances.length = s.else_instances.length, n = 0, r = s.else_instances.length; r > n; n++) o.else_instances[n] = i.getInstanceByIID(s.else_instances[n].iid)
- }
- }
- }, cr.type_toString = function() {
- return "Type" + this.sid
- }, cr.do_cmp = function(e, t, n) {
- if ("undefined" == typeof e || "undefined" == typeof n) return !1;
- switch (t) {
- case 0:
- return e === n;
- case 1:
- return e !== n;
- case 2:
- return n > e;
- case 3:
- return n >= e;
- case 4:
- return e > n;
- case 5:
- return e >= n;
- default:
- return !1
- }
- }
- }(), cr.shaders = {}, cr.plugins_.Audio = function(e) {
- this.runtime = e
- },
- function() {
- function e(e) {
- var t = n(e);
- return 0 > t && (t = 0), t > 1 && (t = 1), t
- }
- function t(e) {
- return 0 > e && (e = 0), e > 1 && (e = 1), r(e)
- }
- function n(e) {
- return Math.pow(10, e / 20)
- }
- function r(e) {
- return Math.log(e) / Math.log(10) * 20
- }
- function i(e) {
- return e = e.toLowerCase(), lt.hasOwnProperty(e) && lt[e].length ? lt[e][0].getInputNode() : X.destination
- }
- function s() {
- return X.createGain ? X.createGain() : X.createGainNode()
- }
- function o(e) {
- return X.createDelay ? X.createDelay(e) : X.createDelayNode(e)
- }
- function u(e) {
- e.start ? e.start(0) : e.noteOn(0)
- }
- function a(e, t, n) {
- e.start ? e.start(0, t) : e.noteGrainOn(0, t, n - t)
- }
- function f(e) {
- try {
- e.stop ? e.stop(0) : e.noteOff(0)
- } catch (t) {}
- }
- function l(e, t, n, r) {
- if (e) {
- if (e.cancelScheduledValues(0), 0 === r) return void(e.value = t);
- var i = X.currentTime;
- switch (r += i, n) {
- case 0:
- e.setValueAtTime(t, r);
- break;
- case 1:
- e.setValueAtTime(e.value, i), e.linearRampToValueAtTime(t, r);
- break;
- case 2:
- e.setValueAtTime(e.value, i), e.exponentialRampToValueAtTime(t, r)
- }
- }
- }
- function c(e, t, n, r, i, o) {
- this.type = "filter", this.params = [e, t, n, r, i, o], this.inputNode = s(), this.wetNode = s(), this.wetNode.gain.value = o, this.dryNode = s(), this.dryNode.gain.value = 1 - o, this.filterNode = X.createBiquadFilter(), this.filterNode.type = "number" == typeof this.filterNode.type ? e : ct[e], this.filterNode.frequency.value = t, this.filterNode.detune && (this.filterNode.detune.value = n), this.filterNode.Q.value = r, this.filterNode.gain.value = i, this.inputNode.connect(this.filterNode), this.inputNode.connect(this.dryNode), this.filterNode.connect(this.wetNode)
- }
- function h(e, t, n) {
- this.type = "delay", this.params = [e, t, n], this.inputNode = s(), this.wetNode = s(), this.wetNode.gain.value = n, this.dryNode = s(), this.dryNode.gain.value = 1 - n, this.mainNode = s(), this.delayNode = o(e), this.delayNode.delayTime.value = e, this.delayGainNode = s(), this.delayGainNode.gain.value = t, this.inputNode.connect(this.mainNode), this.inputNode.connect(this.dryNode), this.mainNode.connect(this.wetNode), this.mainNode.connect(this.delayNode), this.delayNode.connect(this.delayGainNode), this.delayGainNode.connect(this.mainNode)
- }
- function p(e, t, n, r) {
- this.type = "convolve", this.params = [t, n, r], this.inputNode = s(), this.wetNode = s(), this.wetNode.gain.value = n, this.dryNode = s(), this.dryNode.gain.value = 1 - n, this.convolveNode = X.createConvolver(), e && (this.convolveNode.normalize = t, this.convolveNode.buffer = e), this.inputNode.connect(this.convolveNode), this.inputNode.connect(this.dryNode), this.convolveNode.connect(this.wetNode)
- }
- function d(e, t, n, r, i) {
- this.type = "flanger", this.params = [e, t, n, r, i], this.inputNode = s(), this.dryNode = s(), this.dryNode.gain.value = 1 - i / 2, this.wetNode = s(), this.wetNode.gain.value = i / 2, this.feedbackNode = s(), this.feedbackNode.gain.value = r, this.delayNode = o(e + t), this.delayNode.delayTime.value = e, this.oscNode = X.createOscillator(), this.oscNode.frequency.value = n, this.oscGainNode = s(), this.oscGainNode.gain.value = t, this.inputNode.connect(this.delayNode), this.inputNode.connect(this.dryNode), this.delayNode.connect(this.wetNode), this.delayNode.connect(this.feedbackNode), this.feedbackNode.connect(this.delayNode), this.oscNode.connect(this.oscGainNode), this.oscGainNode.connect(this.delayNode.delayTime), u(this.oscNode)
- }
- function v(e, t, n, r, i, o) {
- this.type = "phaser", this.params = [e, t, n, r, i, o], this.inputNode = s(), this.dryNode = s(), this.dryNode.gain.value = 1 - o / 2, this.wetNode = s(), this.wetNode.gain.value = o / 2, this.filterNode = X.createBiquadFilter(), this.filterNode.type = "number" == typeof this.filterNode.type ? 7 : "allpass", this.filterNode.frequency.value = e, this.filterNode.detune && (this.filterNode.detune.value = t), this.filterNode.Q.value = n, this.oscNode = X.createOscillator(), this.oscNode.frequency.value = i, this.oscGainNode = s(), this.oscGainNode.gain.value = r, this.inputNode.connect(this.filterNode), this.inputNode.connect(this.dryNode), this.filterNode.connect(this.wetNode), this.oscNode.connect(this.oscGainNode), this.oscGainNode.connect(this.filterNode.frequency), u(this.oscNode)
- }
- function m(e) {
- this.type = "gain", this.params = [e], this.node = s(), this.node.gain.value = e
- }
- function g(e, t) {
- this.type = "tremolo", this.params = [e, t], this.node = s(), this.node.gain.value = 1 - t / 2, this.oscNode = X.createOscillator(), this.oscNode.frequency.value = e, this.oscGainNode = s(), this.oscGainNode.gain.value = t / 2, this.oscNode.connect(this.oscGainNode), this.oscGainNode.connect(this.node.gain), u(this.oscNode)
- }
- function y(e, t) {
- this.type = "ringmod", this.params = [e, t], this.inputNode = s(), this.wetNode = s(), this.wetNode.gain.value = t, this.dryNode = s(), this.dryNode.gain.value = 1 - t, this.ringNode = s(), this.ringNode.gain.value = 0, this.oscNode = X.createOscillator(), this.oscNode.frequency.value = e, this.oscNode.connect(this.ringNode.gain), u(this.oscNode), this.inputNode.connect(this.ringNode), this.inputNode.connect(this.dryNode), this.ringNode.connect(this.wetNode)
- }
- function b(e, t, r, i, o) {
- this.type = "distortion", this.params = [e, t, r, i, o], this.inputNode = s(), this.preGain = s(), this.postGain = s(), this.setDrive(r, n(i)), this.wetNode = s(), this.wetNode.gain.value = o, this.dryNode = s(), this.dryNode.gain.value = 1 - o, this.waveShaper = X.createWaveShaper(), this.curve = new Float32Array(65536), this.generateColortouchCurve(e, t), this.waveShaper.curve = this.curve, this.inputNode.connect(this.preGain), this.inputNode.connect(this.dryNode), this.preGain.connect(this.waveShaper), this.waveShaper.connect(this.postGain), this.postGain.connect(this.wetNode)
- }
- function w(e, t) {
- return 1 - Math.exp(-t * e)
- }
- function E(e, t, n, r, i) {
- this.type = "compressor", this.params = [e, t, n, r, i], this.node = X.createDynamicsCompressor();
- try {
- this.node.threshold.value = e, this.node.knee.value = t, this.node.ratio.value = n, this.node.attack.value = r, this.node.release.value = i
- } catch (s) {}
- }
- function S(e, t) {
- this.type = "analyser", this.params = [e, t], this.node = X.createAnalyser(), this.node.fftSize = e, this.node.smoothingTimeConstant = t, this.freqBins = new Float32Array(this.node.frequencyBinCount), this.signal = new Uint8Array(e), this.peak = 0, this.rms = 0
- }
- function x() {
- this.obj = null, this.loadUid = 0, this.speeds = [], this.lastX = 0, this.lastY = 0, this.moveAngle = 0
- }
- function T(e, t) {
- this.src = e, this.myapi = W, this.is_music = t, this.added_end_listener = !1;
- var n = this;
- this.outNode = null, this.mediaSourceNode = null, this.panWhenReady = [], this.seekWhenReady = 0, this.pauseWhenReady = !1, this.supportWebAudioAPI = !1, this.failedToLoad = !1, W === R && t && (this.myapi = q, this.outNode = s()), this.bufferObject = null, this.audioData = null;
- var r;
- switch (this.myapi) {
- case q:
- this.bufferObject = new Audio, W !== R || !X.createMediaElementSource || B.isFirefox || /wiiu/i.test(navigator.userAgent) || (this.supportWebAudioAPI = !0, this.bufferObject.addEventListener("canplay", function() {
- n.mediaSourceNode || (n.mediaSourceNode = X.createMediaElementSource(n.bufferObject), n.mediaSourceNode.connect(n.outNode))
- })), this.bufferObject.autoplay = !1, this.bufferObject.preload = "auto", this.bufferObject.src = e;
- break;
- case R:
- r = new XMLHttpRequest, r.open("GET", e, !0), r.responseType = "arraybuffer", r.onload = function() {
- n.audioData = r.response, n.decodeAudioBuffer()
- }, r.onerror = function() {
- n.failedToLoad = !0
- }, r.send();
- break;
- case U:
- this.bufferObject = !0;
- break;
- case z:
- this.bufferObject = !0
- }
- }
- function N(e, t) {
- var n = this;
- this.tag = t, this.fresh = !0, this.stopped = !0, this.src = e.src, this.buffer = e, this.myapi = W, this.is_music = e.is_music, this.playbackRate = 1, this.pgended = !0, this.resume_me = !1, this.is_paused = !1, this.resume_position = 0, this.looping = !1, this.is_muted = !1, this.is_silent = !1, this.volume = 1, this.mutevol = 1, this.startTime = B.kahanTime.sum, this.gainNode = null, this.pannerNode = null, this.pannerEnabled = !1, this.objectTracker = null, this.panX = 0, this.panY = 0, this.panAngle = 0, this.panConeInner = 0, this.panConeOuter = 0, this.panConeOuterGain = 0, this.instanceObject = null;
- var r = !1;
- switch (this.myapi !== R || this.buffer.myapi !== q || this.buffer.supportWebAudioAPI || (this.myapi = q), this.myapi) {
- case q:
- this.is_music ? (this.instanceObject = e.bufferObject, r = !e.added_end_listener, e.added_end_listener = !0) : (this.instanceObject = new Audio, this.instanceObject.autoplay = !1, this.instanceObject.src = e.bufferObject.src, r = !0), r && this.instanceObject.addEventListener("ended", function() {
- F = n.tag, n.stopped = !0, B.trigger(cr.plugins_.Audio.prototype.cnds.OnEnded, j)
- });
- break;
- case R:
- this.gainNode = s(), this.gainNode.connect(i(t)), this.buffer.myapi === R ? e.bufferObject && (this.instanceObject = X.createBufferSource(), this.instanceObject.buffer = e.bufferObject, this.instanceObject.connect(this.gainNode)) : (this.instanceObject = this.buffer.bufferObject, this.buffer.outNode.connect(this.gainNode));
- break;
- case U:
- this.instanceObject = new window.Media(I + this.src, null, null, function(e) {
- e === window.Media.MEDIA_STOPPED && (n.pgended = !0, n.stopped = !0, F = n.tag, B.trigger(cr.plugins_.Audio.prototype.cnds.OnEnded, j))
- });
- break;
- case z:
- this.instanceObject = !0
- }
- }
- function C(e, t) {
- var n = e.isPlaying() ? 1 : 0,
- r = t.isPlaying() ? 1 : 0;
- return n === r ? 0 : r > n ? 1 : -1
- }
- function k(e, t) {
- if (gt.length = 0, !e.length) return !J || J.hasEnded() ? void 0 : (gt.length = 1, void(gt[0] = J));
- var n, r, i;
- for (n = 0, r = $.length; r > n; n++) i = $[n], cr.equals_nocase(e, i.tag) && gt.push(i);
- t && gt.sort(C)
- }
- function L(e) {
- var t, n, r, i, s = X.destination;
- if (lt.hasOwnProperty(e) && (r = lt[e], r.length))
- for (s = r[0].getInputNode(), t = 0, n = r.length; n > t; t++) i = r[t], i.connectTo(t + 1 === n ? X.destination : r[t + 1].getInputNode());
- for (k(e), t = 0, n = gt.length; n > t; t++) gt[t].reconnect(s);
- ot && ut === e && (ot.disconnect(), ot.connect(s))
- }
- function A(e, t) {
- lt.hasOwnProperty(e) ? lt[e].push(t) : lt[e] = [t], L(e)
- }
- function O() {}
- function M() {}
- function _() {}
- function D(e, t) {
- var n = null;
- return lt.hasOwnProperty(e) && (n = lt[e]), n && t >= 0 && t < n.length && n[t].freqBins ? n[t] : null
- }
- var P = cr.plugins_.Audio.prototype;
- P.Type = function(e) {
- this.plugin = e, this.runtime = e.runtime
- };
- var H = P.Type.prototype;
- H.onCreate = function() {};
- var B = null,
- j = null,
- F = "",
- I = "",
- q = 0,
- R = 1,
- U = 2,
- z = 3,
- W = q,
- X = null,
- V = [],
- $ = [],
- J = null,
- K = !1,
- Q = 0,
- G = !1,
- Y = 1,
- Z = 0,
- et = 0,
- tt = 1,
- nt = 1,
- rt = 10,
- it = 1e4,
- st = 1,
- ot = null,
- ut = "",
- at = !1,
- ft = [],
- lt = {},
- ct = ["lowpass", "highpass", "bandpass", "lowshelf", "highshelf", "peaking", "notch", "allpass"];
- c.prototype.connectTo = function(e) {
- this.wetNode.disconnect(), this.wetNode.connect(e), this.dryNode.disconnect(), this.dryNode.connect(e)
- }, c.prototype.remove = function() {
- this.inputNode.disconnect(), this.filterNode.disconnect(), this.wetNode.disconnect(), this.dryNode.disconnect()
- }, c.prototype.getInputNode = function() {
- return this.inputNode
- }, c.prototype.setParam = function(e, t, n, r) {
- switch (e) {
- case 0:
- t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[5] = t, l(this.wetNode.gain, t, n, r), l(this.dryNode.gain, 1 - t, n, r);
- break;
- case 1:
- this.params[1] = t, l(this.filterNode.frequency, t, n, r);
- break;
- case 2:
- this.params[2] = t, l(this.filterNode.detune, t, n, r);
- break;
- case 3:
- this.params[3] = t, l(this.filterNode.Q, t, n, r);
- break;
- case 4:
- this.params[4] = t, l(this.filterNode.gain, t, n, r)
- }
- }, h.prototype.connectTo = function(e) {
- this.wetNode.disconnect(), this.wetNode.connect(e), this.dryNode.disconnect(), this.dryNode.connect(e)
- }, h.prototype.remove = function() {
- this.inputNode.disconnect(), this.mainNode.disconnect(), this.delayNode.disconnect(), this.delayGainNode.disconnect(), this.wetNode.disconnect(), this.dryNode.disconnect()
- }, h.prototype.getInputNode = function() {
- return this.inputNode
- }, h.prototype.setParam = function(t, n, r, i) {
- switch (t) {
- case 0:
- n /= 100, 0 > n && (n = 0), n > 1 && (n = 1), this.params[2] = n, l(this.wetNode.gain, n, r, i), l(this.dryNode.gain, 1 - n, r, i);
- break;
- case 4:
- this.params[1] = e(n), l(this.delayGainNode.gain, e(n), r, i);
- break;
- case 5:
- this.params[0] = n, l(this.delayNode.delayTime, n, r, i)
- }
- }, p.prototype.connectTo = function(e) {
- this.wetNode.disconnect(), this.wetNode.connect(e), this.dryNode.disconnect(), this.dryNode.connect(e)
- }, p.prototype.remove = function() {
- this.inputNode.disconnect(), this.convolveNode.disconnect(), this.wetNode.disconnect(), this.dryNode.disconnect()
- }, p.prototype.getInputNode = function() {
- return this.inputNode
- }, p.prototype.setParam = function(e, t, n, r) {
- switch (e) {
- case 0:
- t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[1] = t, l(this.wetNode.gain, t, n, r), l(this.dryNode.gain, 1 - t, n, r)
- }
- }, d.prototype.connectTo = function(e) {
- this.dryNode.disconnect(), this.dryNode.connect(e), this.wetNode.disconnect(), this.wetNode.connect(e)
- }, d.prototype.remove = function() {
- this.inputNode.disconnect(), this.delayNode.disconnect(), this.oscNode.disconnect(), this.oscGainNode.disconnect(), this.dryNode.disconnect(), this.wetNode.disconnect(), this.feedbackNode.disconnect()
- }, d.prototype.getInputNode = function() {
- return this.inputNode
- }, d.prototype.setParam = function(e, t, n, r) {
- switch (e) {
- case 0:
- t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[4] = t, l(this.wetNode.gain, t / 2, n, r), l(this.dryNode.gain, 1 - t / 2, n, r);
- break;
- case 6:
- this.params[1] = t / 1e3, l(this.oscGainNode.gain, t / 1e3, n, r);
- break;
- case 7:
- this.params[2] = t, l(this.oscNode.frequency, t, n, r);
- break;
- case 8:
- this.params[3] = t / 100, l(this.feedbackNode.gain, t / 100, n, r)
- }
- }, v.prototype.connectTo = function(e) {
- this.dryNode.disconnect(), this.dryNode.connect(e), this.wetNode.disconnect(), this.wetNode.connect(e)
- }, v.prototype.remove = function() {
- this.inputNode.disconnect(), this.filterNode.disconnect(), this.oscNode.disconnect(), this.oscGainNode.disconnect(), this.dryNode.disconnect(), this.wetNode.disconnect()
- }, v.prototype.getInputNode = function() {
- return this.inputNode
- }, v.prototype.setParam = function(e, t, n, r) {
- switch (e) {
- case 0:
- t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[5] = t, l(this.wetNode.gain, t / 2, n, r), l(this.dryNode.gain, 1 - t / 2, n, r);
- break;
- case 1:
- this.params[0] = t, l(this.filterNode.frequency, t, n, r);
- break;
- case 2:
- this.params[1] = t, l(this.filterNode.detune, t, n, r);
- break;
- case 3:
- this.params[2] = t, l(this.filterNode.Q, t, n, r);
- break;
- case 6:
- this.params[3] = t, l(this.oscGainNode.gain, t, n, r);
- break;
- case 7:
- this.params[4] = t, l(this.oscNode.frequency, t, n, r)
- }
- }, m.prototype.connectTo = function(e) {
- this.node.disconnect(), this.node.connect(e)
- }, m.prototype.remove = function() {
- this.node.disconnect()
- }, m.prototype.getInputNode = function() {
- return this.node
- }, m.prototype.setParam = function(t, n, r, i) {
- switch (t) {
- case 4:
- this.params[0] = e(n), l(this.node.gain, e(n), r, i)
- }
- }, g.prototype.connectTo = function(e) {
- this.node.disconnect(), this.node.connect(e)
- }, g.prototype.remove = function() {
- this.oscNode.disconnect(), this.oscGainNode.disconnect(), this.node.disconnect()
- }, g.prototype.getInputNode = function() {
- return this.node
- }, g.prototype.setParam = function(e, t, n, r) {
- switch (e) {
- case 0:
- t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[1] = t, l(this.node.gain.value, 1 - t / 2, n, r), l(this.oscGainNode.gain.value, t / 2, n, r);
- break;
- case 7:
- this.params[0] = t, l(this.oscNode.frequency, t, n, r)
- }
- }, y.prototype.connectTo = function(e) {
- this.wetNode.disconnect(), this.wetNode.connect(e), this.dryNode.disconnect(), this.dryNode.connect(e)
- }, y.prototype.remove = function() {
- this.oscNode.disconnect(), this.ringNode.disconnect(), this.inputNode.disconnect(), this.wetNode.disconnect(), this.dryNode.disconnect()
- }, y.prototype.getInputNode = function() {
- return this.inputNode
- }, y.prototype.setParam = function(e, t, n, r) {
- switch (e) {
- case 0:
- t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[1] = t, l(this.wetNode.gain, t, n, r), l(this.dryNode.gain, 1 - t, n, r);
- break;
- case 7:
- this.params[0] = t, l(this.oscNode.frequency, t, n, r)
- }
- }, b.prototype.setDrive = function(e, t) {.01 > e && (e = .01), this.preGain.gain.value = e, this.postGain.gain.value = Math.pow(1 / e, .6) * t
- }, b.prototype.shape = function(e, t, n) {
- var r = 1.05 * n * t,
- i = r - t,
- s = 0 > e ? -1 : 1,
- o = 0 > e ? -e : e,
- u = t > o ? o : t + i * w(o - t, 1 / i);
- return u *= s
- }, b.prototype.generateColortouchCurve = function(e, t) {
- for (var r = n(e), i = n(t), s = 65536, o = s / 2, u = 0, a = 0; o > a; ++a) u = a / o, u = this.shape(u, r, i), this.curve[o + a] = u, this.curve[o - a - 1] = -u
- }, b.prototype.connectTo = function(e) {
- this.wetNode.disconnect(), this.wetNode.connect(e), this.dryNode.disconnect(), this.dryNode.connect(e)
- }, b.prototype.remove = function() {
- this.inputNode.disconnect(), this.preGain.disconnect(), this.waveShaper.disconnect(), this.postGain.disconnect(), this.wetNode.disconnect(), this.dryNode.disconnect()
- }, b.prototype.getInputNode = function() {
- return this.inputNode
- }, b.prototype.setParam = function(e, t, n, r) {
- switch (e) {
- case 0:
- t /= 100, 0 > t && (t = 0), t > 1 && (t = 1), this.params[4] = t, l(this.wetNode.gain, t, n, r), l(this.dryNode.gain, 1 - t, n, r)
- }
- }, E.prototype.connectTo = function(e) {
- this.node.disconnect(), this.node.connect(e)
- }, E.prototype.remove = function() {
- this.node.disconnect()
- }, E.prototype.getInputNode = function() {
- return this.node
- }, E.prototype.setParam = function() {}, S.prototype.tick = function() {
- this.node.getFloatFrequencyData(this.freqBins), this.node.getByteTimeDomainData(this.signal);
- var e = this.node.fftSize,
- n = 0;
- this.peak = 0;
- for (var r = 0, i = 0; e > n; n++) i = (this.signal[n] - 128) / 128, 0 > i && (i = -i), this.peak < i && (this.peak = i), r += i * i;
- this.peak = t(this.peak), this.rms = t(Math.sqrt(r / e))
- }, S.prototype.connectTo = function(e) {
- this.node.disconnect(), this.node.connect(e)
- }, S.prototype.remove = function() {
- this.node.disconnect()
- }, S.prototype.getInputNode = function() {
- return this.node
- }, S.prototype.setParam = function() {};
- var ht = 4;
- x.prototype.setObject = function(e) {
- this.obj = e, this.obj && (this.lastX = this.obj.x, this.lastY = this.obj.y), this.speeds.length = 0
- }, x.prototype.hasObject = function() {
- return !!this.obj
- }, x.prototype.tick = function(e) {
- if (this.obj && 0 !== e) {
- this.moveAngle = cr.angleTo(this.lastX, this.lastY, this.obj.x, this.obj.y);
- var t = cr.distanceTo(this.lastX, this.lastY, this.obj.x, this.obj.y) / e;
- this.speeds.length < ht ? this.speeds.push(t) : (this.speeds.shift(), this.speeds.push(t)), this.lastX = this.obj.x, this.lastY = this.obj.y
- }
- }, x.prototype.getSpeed = function() {
- if (!this.speeds.length) return 0;
- var e, t, n = 0;
- for (e = 0, t = this.speeds.length; t > e; e++) n += this.speeds[e];
- return n / this.speeds.length
- }, x.prototype.getVelocityX = function() {
- return Math.cos(this.moveAngle) * this.getSpeed()
- }, x.prototype.getVelocityY = function() {
- return Math.sin(this.moveAngle) * this.getSpeed()
- };
- var pt = !1;
- T.prototype.decodeAudioBuffer = function() {
- if (!this.bufferObject && this.audioData) {
- var e = this;
- if (X.decodeAudioData) X.decodeAudioData(this.audioData, function(t) {
- e.bufferObject = t;
- var n, r, i, s;
- if (cr.is_undefined(e.playTagWhenReady) || G) {
- if (!cr.is_undefined(e.convolveWhenReady)) {
- var o = e.convolveWhenReady.convolveNode;
- o.normalize = e.normalizeWhenReady, o.buffer = t
- }
- } else if (e.panWhenReady.length) {
- for (r = 0, i = e.panWhenReady.length; i > r; r++)
- if (n = e.panWhenReady[r], s = new N(e, n.thistag), s.setPannerEnabled(!0), "undefined" == typeof n.objUid || (n.obj = B.getObjectByUID(n.objUid), n.obj)) {
- if (n.obj) {
- var u = cr.rotatePtAround(n.obj.x, n.obj.y, -n.obj.layer.getAngle(), Z, et, !0),
- a = cr.rotatePtAround(n.obj.x, n.obj.y, -n.obj.layer.getAngle(), Z, et, !1);
- s.setPan(u, a, cr.to_degrees(n.obj.angle - n.obj.layer.getAngle()), n.ia, n.oa, n.og), s.setObject(n.obj)
- } else s.setPan(n.x, n.y, n.a, n.ia, n.oa, n.og);
- s.play(e.loopWhenReady, e.volumeWhenReady, e.seekWhenReady), e.pauseWhenReady && s.pause(), $.push(s)
- }
- e.panWhenReady.length = 0
- } else s = new N(e, e.playTagWhenReady), s.play(e.loopWhenReady, e.volumeWhenReady, e.seekWhenReady), e.pauseWhenReady && s.pause(), $.push(s)
- }, function() {
- e.failedToLoad = !0
- });
- else if (this.bufferObject = X.createBuffer(this.audioData, !1), cr.is_undefined(this.playTagWhenReady) || G) {
- if (!cr.is_undefined(this.convolveWhenReady)) {
- var t = this.convolveWhenReady.convolveNode;
- t.normalize = this.normalizeWhenReady, t.buffer = this.bufferObject
- }
- } else {
- var n = new N(this, this.playTagWhenReady);
- n.play(this.loopWhenReady, this.volumeWhenReady, this.seekWhenReady), this.pauseWhenReady && n.pause(), $.push(n)
- }
- }
- }, T.prototype.isLoaded = function() {
- switch (this.myapi) {
- case q:
- return this.bufferObject.readyState >= 4;
- case R:
- return !!this.audioData;
- case U:
- return !0;
- case z:
- return !0
- }
- return !1
- }, T.prototype.isLoadedAndDecoded = function() {
- switch (this.myapi) {
- case q:
- return this.bufferObject.readyState >= 4;
- case R:
- return !!this.audioData && !!this.bufferObject;
- case U:
- return !0;
- case z:
- return !0
- }
- return !1
- }, T.prototype.hasFailedToLoad = function() {
- switch (this.myapi) {
- case q:
- return !!this.bufferObject.error;
- case R:
- return this.failedToLoad
- }
- return !1
- }, N.prototype.hasEnded = function() {
- switch (this.myapi) {
- case q:
- return this.instanceObject.ended;
- case R:
- return this.buffer.myapi === R ? this.fresh || this.stopped || !this.instanceObject.loop ? this.is_paused ? !1 : B.kahanTime.sum - this.startTime > this.buffer.bufferObject.duration : !1 : this.instanceObject.ended;
- case U:
- return this.pgended;
- case z:
- }
- return !0
- }, N.prototype.canBeRecycled = function() {
- return this.fresh || this.stopped ? !0 : this.hasEnded()
- }, N.prototype.setPannerEnabled = function(e) {
- if (W === R)
- if (!this.pannerEnabled && e) {
- if (!this.gainNode) return;
- this.pannerNode || (this.pannerNode = X.createPanner(), this.pannerNode.panningModel = "number" == typeof this.pannerNode.panningModel ? tt : ["equalpower", "HRTF", "soundfield"][tt], this.pannerNode.distanceModel = "number" == typeof this.pannerNode.distanceModel ? nt : ["linear", "inverse", "exponential"][nt], this.pannerNode.refDistance = rt, this.pannerNode.maxDistance = it, this.pannerNode.rolloffFactor = st), this.gainNode.disconnect(), this.gainNode.connect(this.pannerNode), this.pannerNode.connect(i(this.tag)), this.pannerEnabled = !0
- } else if (this.pannerEnabled && !e) {
- if (!this.gainNode) return;
- this.pannerNode.disconnect(), this.gainNode.disconnect(), this.gainNode.connect(i(this.tag)), this.pannerEnabled = !1
- }
- }, N.prototype.setPan = function(e, t, n, r, i, s) {
- this.pannerEnabled && W === R && (this.pannerNode.setPosition(e, t, 0), this.pannerNode.setOrientation(Math.cos(cr.to_radians(n)), Math.sin(cr.to_radians(n)), 0), this.pannerNode.coneInnerAngle = r, this.pannerNode.coneOuterAngle = i, this.pannerNode.coneOuterGain = s, this.panX = e, this.panY = t, this.panAngle = n, this.panConeInner = r, this.panConeOuter = i, this.panConeOuterGain = s)
- }, N.prototype.setObject = function(e) {
- this.pannerEnabled && W === R && (this.objectTracker || (this.objectTracker = new x), this.objectTracker.setObject(e))
- }, N.prototype.tick = function(e) {
- if (this.pannerEnabled && W === R && this.objectTracker && this.objectTracker.hasObject() && this.isPlaying()) {
- this.objectTracker.tick(e);
- var t = this.objectTracker.obj,
- n = cr.rotatePtAround(t.x, t.y, -t.layer.getAngle(), Z, et, !0),
- r = cr.rotatePtAround(t.x, t.y, -t.layer.getAngle(), Z, et, !1);
- this.pannerNode.setPosition(n, r, 0);
- var i = 0;
- "undefined" != typeof this.objectTracker.obj.angle && (i = t.angle - t.layer.getAngle(), this.pannerNode.setOrientation(Math.cos(i), Math.sin(i), 0)), n = cr.rotatePtAround(this.objectTracker.getVelocityX(), this.objectTracker.getVelocityY(), -t.layer.getAngle(), 0, 0, !0), r = cr.rotatePtAround(this.objectTracker.getVelocityX(), this.objectTracker.getVelocityY(), -t.layer.getAngle(), 0, 0, !1), this.pannerNode.setVelocity(n, r, 0)
- }
- }, N.prototype.play = function(e, t, n) {
- var r = this.instanceObject;
- this.looping = e, this.volume = t;
- var i = n || 0;
- switch (this.myapi) {
- case q:
- if (1 !== r.playbackRate && (r.playbackRate = 1), r.volume !== t * Y && (r.volume = t * Y), r.loop !== e && (r.loop = e), r.muted && (r.muted = !1), r.currentTime !== i) try {
- r.currentTime = i
- } catch (s) {}
- if (this.is_music && at && !B.isInUserInputEvent) ft.push(this);
- else try {
- this.instanceObject.play()
- } catch (o) {}
- break;
- case R:
- if (this.muted = !1, this.mutevol = 1, this.buffer.myapi === R) this.fresh || (this.instanceObject = X.createBufferSource(), this.instanceObject.buffer = this.buffer.bufferObject, this.instanceObject.connect(this.gainNode)), this.instanceObject.loop = e, this.gainNode.gain.value = t * Y, 0 === i ? u(this.instanceObject) : a(this.instanceObject, i, this.getDuration());
- else {
- if (1 !== r.playbackRate && (r.playbackRate = 1), r.loop !== e && (r.loop = e), this.gainNode.gain.value = t * Y, r.currentTime !== i) try {
- r.currentTime = i
- } catch (s) {}
- this.is_music && at && !B.isInUserInputEvent ? ft.push(this) : r.play()
- }
- break;
- case U:
- (!this.fresh && this.stopped || 0 !== i) && r.seekTo(i), r.play(), this.pgended = !1;
- break;
- case z:
- B.isDirectCanvas ? AppMobi.context.playSound(this.src, e) : AppMobi.player.playSound(this.src, e)
- }
- this.playbackRate = 1, this.startTime = B.kahanTime.sum - i, this.fresh = !1, this.stopped = !1, this.is_paused = !1
- }, N.prototype.stop = function() {
- switch (this.myapi) {
- case q:
- this.instanceObject.paused || this.instanceObject.pause();
- break;
- case R:
- this.buffer.myapi === R ? f(this.instanceObject) : this.instanceObject.paused || this.instanceObject.pause();
- break;
- case U:
- this.instanceObject.stop();
- break;
- case z:
- B.isDirectCanvas && AppMobi.context.stopSound(this.src)
- }
- this.stopped = !0, this.is_paused = !1
- }, N.prototype.pause = function() {
- if (!(this.fresh || this.stopped || this.hasEnded() || this.is_paused)) {
- switch (this.myapi) {
- case q:
- this.instanceObject.paused || this.instanceObject.pause();
- break;
- case R:
- this.buffer.myapi === R ? (this.resume_position = this.getPlaybackTime(), this.looping && (this.resume_position = this.resume_position % this.getDuration()), f(this.instanceObject)) : this.instanceObject.paused || this.instanceObject.pause();
- break;
- case U:
- this.instanceObject.pause();
- break;
- case z:
- B.isDirectCanvas && AppMobi.context.stopSound(this.src)
- }
- this.is_paused = !0
- }
- }, N.prototype.resume = function() {
- if (!(this.fresh || this.stopped || this.hasEnded()) && this.is_paused) {
- switch (this.myapi) {
- case q:
- this.instanceObject.play();
- break;
- case R:
- this.buffer.myapi === R ? (this.instanceObject = X.createBufferSource(), this.instanceObject.buffer = this.buffer.bufferObject, this.instanceObject.connect(this.gainNode), this.instanceObject.loop = this.looping, this.gainNode.gain.value = Y * this.volume * this.mutevol, this.startTime = B.kahanTime.sum - this.resume_position, a(this.instanceObject, this.resume_position, this.getDuration())) : this.instanceObject.play();
- break;
- case U:
- this.instanceObject.play();
- break;
- case z:
- B.isDirectCanvas && AppMobi.context.resumeSound(this.src)
- }
- this.is_paused = !1
- }
- }, N.prototype.seek = function(e) {
- if (!(this.fresh || this.stopped || this.hasEnded())) switch (this.myapi) {
- case q:
- try {
- this.instanceObject.currentTime = e
- } catch (t) {}
- break;
- case R:
- if (this.buffer.myapi === R) this.is_paused ? this.resume_position = e : (this.pause(), this.resume_position = e, this.resume());
- else try {
- this.instanceObject.currentTime = e
- } catch (t) {}
- break;
- case U:
- break;
- case z:
- B.isDirectCanvas && AppMobi.context.seekSound(this.src, e)
- }
- }, N.prototype.reconnect = function(e) {
- this.myapi === R && (this.pannerEnabled ? (this.pannerNode.disconnect(), this.pannerNode.connect(e)) : (this.gainNode.disconnect(), this.gainNode.connect(e)))
- }, N.prototype.getDuration = function() {
- switch (this.myapi) {
- case q:
- return "undefined" != typeof this.instanceObject.duration ? this.instanceObject.duration : 0;
- case R:
- return this.buffer.bufferObject.duration;
- case U:
- return this.instanceObject.getDuration();
- case z:
- return B.isDirectCanvas ? AppMobi.context.getDurationSound(this.src) : 0
- }
- return 0
- }, N.prototype.getPlaybackTime = function() {
- var e = this.getDuration(),
- t = 0;
- switch (this.myapi) {
- case q:
- "undefined" != typeof this.instanceObject.currentTime && (t = this.instanceObject.currentTime);
- break;
- case R:
- if (this.buffer.myapi === R) {
- if (this.is_paused) return this.resume_position;
- t = B.kahanTime.sum - this.startTime
- } else "undefined" != typeof this.instanceObject.currentTime && (t = this.instanceObject.currentTime);
- break;
- case U:
- break;
- case z:
- B.isDirectCanvas && (t = AppMobi.context.getPlaybackTimeSound(this.src))
- }
- return !this.looping && t > e && (t = e), t
- }, N.prototype.isPlaying = function() {
- return !(this.is_paused || this.fresh || this.stopped || this.hasEnded())
- }, N.prototype.setVolume = function(e) {
- this.volume = e, this.updateVolume()
- }, N.prototype.updateVolume = function() {
- var e = this.volume * Y;
- switch (this.myapi) {
- case q:
- this.instanceObject.volume && this.instanceObject.volume !== e && (this.instanceObject.volume = e);
- break;
- case R:
- this.gainNode.gain.value = e * this.mutevol;
- break;
- case U:
- break;
- case z:
- }
- }, N.prototype.getVolume = function() {
- return this.volume
- }, N.prototype.doSetMuted = function(e) {
- switch (this.myapi) {
- case q:
- this.instanceObject.muted !== !!e && (this.instanceObject.muted = !!e);
- break;
- case R:
- this.mutevol = e ? 0 : 1, this.gainNode.gain.value = Y * this.volume * this.mutevol;
- break;
- case U:
- break;
- case z:
- }
- }, N.prototype.setMuted = function(e) {
- this.is_muted = !!e, this.doSetMuted(this.is_muted || this.is_silent)
- }, N.prototype.setSilent = function(e) {
- this.is_silent = !!e, this.doSetMuted(this.is_muted || this.is_silent)
- }, N.prototype.setLooping = function(e) {
- switch (this.looping = e, this.myapi) {
- case q:
- this.instanceObject.loop !== !!e && (this.instanceObject.loop = !!e);
- break;
- case R:
- this.instanceObject.loop !== !!e && (this.instanceObject.loop = !!e);
- break;
- case U:
- break;
- case z:
- B.isDirectCanvas && AppMobi.context.setLoopingSound(this.src, e)
- }
- }, N.prototype.setPlaybackRate = function(e) {
- this.playbackRate = e, this.updatePlaybackRate()
- }, N.prototype.updatePlaybackRate = function() {
- var e = this.playbackRate;
- switch ((1 === Q && !this.is_music || 2 === Q) && (e *= B.timescale), this.myapi) {
- case q:
- this.instanceObject.playbackRate !== e && (this.instanceObject.playbackRate = e);
- break;
- case R:
- this.buffer.myapi === R ? this.instanceObject.playbackRate.value !== e && (this.instanceObject.playbackRate.value = e) : this.instanceObject.playbackRate !== e && (this.instanceObject.playbackRate = e);
- break;
- case U:
- break;
- case z:
- }
- }, N.prototype.setSuspended = function(e) {
- switch (this.myapi) {
- case q:
- e ? this.isPlaying() ? (this.instanceObject.pause(), this.resume_me = !0) : this.resume_me = !1 : this.resume_me && this.instanceObject.play();
- break;
- case R:
- e ? this.isPlaying() ? (this.buffer.myapi === R ? (this.resume_position = this.getPlaybackTime(), this.looping && (this.resume_position = this.resume_position % this.getDuration()), f(this.instanceObject)) : this.instanceObject.pause(), this.resume_me = !0) : this.resume_me = !1 : this.resume_me && (this.buffer.myapi === R ? (this.instanceObject = X.createBufferSource(), this.instanceObject.buffer = this.buffer.bufferObject, this.instanceObject.connect(this.gainNode), this.instanceObject.loop = this.looping, this.gainNode.gain.value = Y * this.volume * this.mutevol, this.startTime = B.kahanTime.sum - this.resume_position, a(this.instanceObject, this.resume_position, this.getDuration())) : this.instanceObject.play());
- break;
- case U:
- e ? this.isPlaying() ? (this.instanceObject.pause(), this.resume_me = !0) : this.resume_me = !1 : this.resume_me && this.instanceObject.play();
- break;
- case z:
- }
- }, P.Instance = function(e) {
- if (this.type = e, this.runtime = e.runtime, B = this.runtime, j = this, this.listenerTracker = null, this.listenerZ = -600, !(this.runtime.isiOS || this.runtime.isAndroid && (this.runtime.isChrome || this.runtime.isAndroidStockBrowser)) || this.runtime.isCrosswalk || this.runtime.isDomFree || (at = !0), X = null, "undefined" != typeof AudioContext ? (W = R, X = new AudioContext) : "undefined" != typeof webkitAudioContext && (W = R, X = new webkitAudioContext), (this.runtime.isiOS && W === R || at) && document.addEventListener("touchstart", function() {
- var e, t, n;
- if (!pt && X) {
- var r = X.createBuffer(1, 1, 22050),
- i = X.createBufferSource();
- i.buffer = r, i.connect(X.destination), u(i), pt = !0
- }
- if (at) {
- if (!G)
- for (e = 0, t = ft.length; t > e; ++e) n = ft[e], n.stopped || n.is_paused || n.instanceObject.play();
- ft.length = 0
- }
- }, !0), W !== R && (this.runtime.isPhoneGap && "undefined" != typeof window.Media ? W = U : this.runtime.isAppMobi && (W = z)), W === U) {
- I = location.href;
- var t = I.lastIndexOf("/");
- t > -1 && (I = I.substr(0, t + 1)), I = I.replace("file://", "")
- }
- if (this.runtime.isSafari && this.runtime.isWindows && "undefined" == typeof Audio) alert("It looks like you're using Safari for Windows without Quicktime. Audio cannot be played until Quicktime is installed."), this.runtime.DestroyInstance(this);
- else {
- if (this.runtime.isDirectCanvas) K = this.runtime.isAndroid;
- else try {
- K = !!(new Audio).canPlayType('audio/ogg; codecs="vorbis"')
- } catch (n) {
- K = !1
- }
- switch (W) {
- case q:
- break;
- case R:
- break;
- case U:
- break;
- case z:
- }
- this.runtime.tickMe(this)
- }
- };
- var dt = P.Instance.prototype;
- dt.onCreate = function() {
- this.runtime.audioInstance = this, Q = this.properties[0], this.saveload = this.properties[1], tt = this.properties[2], nt = this.properties[3], this.listenerZ = -this.properties[4], rt = this.properties[5], it = this.properties[6], st = this.properties[7], this.listenerTracker = new x, W === R && (X.listener.speedOfSound = this.properties[8], X.listener.dopplerFactor = this.properties[9], X.listener.setPosition(this.runtime.draw_width / 2, this.runtime.draw_height / 2, this.listenerZ), X.listener.setOrientation(0, 0, 1, 0, -1, 0), window.c2OnAudioMicStream = function(e, t) {
- ot && ot.disconnect(), ut = t.toLowerCase(), ot = X.createMediaStreamSource(e), ot.connect(i(ut))
- }), this.runtime.addSuspendCallback(function(e) {
- j.onSuspend(e)
- });
- var e = this;
- this.runtime.addDestroyCallback(function(t) {
- e.onInstanceDestroyed(t)
- })
- }, dt.onInstanceDestroyed = function(e) {
- var t, n, r;
- for (t = 0, n = $.length; n > t; t++) r = $[t], r.objectTracker && r.objectTracker.obj === e && (r.objectTracker.obj = null, r.pannerEnabled && r.isPlaying() && r.looping && r.stop());
- this.listenerTracker.obj === e && (this.listenerTracker.obj = null)
- }, dt.saveToJSON = function() {
- var e, t, n, r, i, s, o, u = {
- silent: G,
- masterVolume: Y,
- listenerZ: this.listenerZ,
- listenerUid: this.listenerTracker.hasObject() ? this.listenerTracker.obj.uid : -1,
- playing: [],
- effects: {}
- },
- a = u.playing;
- for (e = 0, t = $.length; t > e; e++) n = $[e], n.isPlaying() && 3 !== this.saveload && (n.is_music && 1 === this.saveload || (n.is_music || 2 !== this.saveload) && (o = n.getPlaybackTime(), n.looping && (o %= n.getDuration()), r = {
- tag: n.tag,
- buffersrc: n.buffer.src,
- is_music: n.is_music,
- playbackTime: o,
- volume: n.volume,
- looping: n.looping,
- muted: n.is_muted,
- playbackRate: n.playbackRate,
- paused: n.is_paused,
- resume_position: n.resume_position
- }, n.pannerEnabled && (r.pan = {}, s = r.pan, n.objectTracker && n.objectTracker.hasObject() ? s.objUid = n.objectTracker.obj.uid : (s.x = n.panX, s.y = n.panY, s.a = n.panAngle), s.ia = n.panConeInner, s.oa = n.panConeOuter, s.og = n.panConeOuterGain), a.push(r)));
- var f, l = u.effects;
- for (i in lt)
- if (lt.hasOwnProperty(i)) {
- for (f = [], e = 0, t = lt[i].length; t > e; e++) f.push({
- type: lt[i][e].type,
- params: lt[i][e].params
- });
- l[i] = f
- }
- return u
- };
- var vt = [];
- dt.loadFromJSON = function(e) {
- var t = e.silent;
- Y = e.masterVolume, this.listenerZ = e.listenerZ, this.listenerTracker.setObject(null);
- var n = e.listenerUid; - 1 !== n && (this.listenerTracker.loadUid = n, vt.push(this.listenerTracker));
- var r, i, s, o, u, a, f, l, w, T, N, C, k, L, O = e.playing;
- if (3 !== this.saveload)
- for (r = 0, i = $.length; i > r; r++) N = $[r], N.is_music && 1 === this.saveload || (N.is_music || 2 !== this.saveload) && N.stop();
- var M, _, D, P;
- for (C in lt)
- if (lt.hasOwnProperty(C))
- for (r = 0, i = lt[C].length; i > r; r++) lt[C][r].remove();
- cr.wipe(lt);
- for (C in e.effects)
- if (e.effects.hasOwnProperty(C))
- for (M = e.effects[C], r = 0, i = M.length; i > r; r++) switch (_ = M[r].type, D = M[r].params, _) {
- case "filter":
- A(C, new c(D[0], D[1], D[2], D[3], D[4], D[5]));
- break;
- case "delay":
- A(C, new h(D[0], D[1], D[2]));
- break;
- case "convolve":
- o = D[2], T = this.getAudioBuffer(o, !1), T.bufferObject ? P = new p(T.bufferObject, D[0], D[1], o) : (P = new p(null, D[0], D[1], o), T.normalizeWhenReady = D[0], T.convolveWhenReady = P), A(C, P);
- break;
- case "flanger":
- A(C, new d(D[0], D[1], D[2], D[3], D[4]));
- break;
- case "phaser":
- A(C, new v(D[0], D[1], D[2], D[3], D[4], D[5]));
- break;
- case "gain":
- A(C, new m(D[0]));
- break;
- case "tremolo":
- A(C, new g(D[0], D[1]));
- break;
- case "ringmod":
- A(C, new y(D[0], D[1]));
- break;
- case "distortion":
- A(C, new b(D[0], D[1], D[2], D[3], D[4]));
- break;
- case "compressor":
- A(C, new E(D[0], D[1], D[2], D[3], D[4]));
- break;
- case "analyser":
- A(C, new S(D[0], D[1]))
- }
- for (r = 0, i = O.length; i > r; r++) 3 !== this.saveload && (s = O[r], o = s.buffersrc, u = s.is_music, a = s.tag, f = s.playbackTime, l = s.looping, w = s.volume, k = s.pan, L = k && k.hasOwnProperty("objUid") ? k.objUid : -1, u && 1 === this.saveload || (u || 2 !== this.saveload) && (N = this.getAudioInstance(o, a, u, l, w), N ? (N.resume_position = s.resume_position, N.setPannerEnabled(!!k), N.play(l, w, f), N.updatePlaybackRate(), N.updateVolume(), N.doSetMuted(N.is_muted || N.is_silent), s.paused && N.pause(), s.muted && N.setMuted(!0), N.doSetMuted(N.is_muted || N.is_silent), k && (-1 !== L ? (N.objectTracker = N.objectTracker || new x, N.objectTracker.loadUid = L, vt.push(N.objectTracker)) : N.setPan(k.x, k.y, k.a, k.ia, k.oa, k.og))) : (T = this.getAudioBuffer(o, u), T.seekWhenReady = f, T.pauseWhenReady = s.paused, k && T.panWhenReady.push(-1 !== L ? {
- objUid: L,
- ia: k.ia,
- oa: k.oa,
- og: k.og,
- thistag: a
- } : {
- x: k.x,
- y: k.y,
- a: k.a,
- ia: k.ia,
- oa: k.oa,
- og: k.og,
- thistag: a
- }))));
- if (t && !G) {
- for (r = 0, i = $.length; i > r; r++) $[r].setSilent(!0);
- G = !0
- } else if (!t && G) {
- for (r = 0, i = $.length; i > r; r++) $[r].setSilent(!1);
- G = !1
- }
- }, dt.afterLoad = function() {
- var e, t, n, r;
- for (e = 0, t = vt.length; t > e; e++) n = vt[e], r = this.runtime.getObjectByUID(n.loadUid), n.setObject(r), n.loadUid = -1, r && (Z = r.x, et = r.y);
- vt.length = 0
- }, dt.onSuspend = function(e) {
- var t, n;
- for (t = 0, n = $.length; n > t; t++) $[t].setSuspended(e)
- }, dt.tick = function() {
- var e, t, n, r = this.runtime.dt;
- for (e = 0, t = $.length; t > e; e++) n = $[e], n.tick(r), n.myapi !== q && n.myapi !== z && (n.fresh || n.stopped || !n.hasEnded() || (n.stopped = !0, F = n.tag, B.trigger(cr.plugins_.Audio.prototype.cnds.OnEnded, j))), 0 !== Q && n.updatePlaybackRate();
- var i, s, o;
- for (i in lt)
- if (lt.hasOwnProperty(i))
- for (s = lt[i], e = 0, t = s.length; t > e; e++) o = s[e], o.tick && o.tick();
- W === R && this.listenerTracker.hasObject() && (this.listenerTracker.tick(r), Z = this.listenerTracker.obj.x, et = this.listenerTracker.obj.y, X.listener.setPosition(this.listenerTracker.obj.x, this.listenerTracker.obj.y, this.listenerZ), X.listener.setVelocity(this.listenerTracker.getVelocityX(), this.listenerTracker.getVelocityY(), 0))
- };
- var mt = [];
- dt.setPreloadList = function(e) {
- var t, n, r, i, s, o, u = 0;
- for (t = 0, n = e.length; n > t; ++t) r = e[t], i = r[0], s = 2 * r[1], o = i.length > 4 && ".ogg" === i.substr(i.length - 4), (o && K || !o && !K) && (mt.push({
- filename: i,
- size: s,
- obj: null
- }), u += s);
- return u
- }, dt.startPreloads = function() {
- var e, t, n, r;
- for (e = 0, t = mt.length; t > e; ++e) n = mt[e], r = this.runtime.files_subfolder + n.filename, n.obj = this.getAudioBuffer(r, !1)
- }, dt.getPreloadedSize = function() {
- var e, t, n, r = 0;
- for (e = 0, t = mt.length; t > e; ++e) n = mt[e], n.obj.isLoadedAndDecoded() || n.obj.hasFailedToLoad() || this.runtime.isDomFree ? r += n.size : n.obj.isLoaded() && (r += Math.floor(n.size / 2));
- return r
- }, dt.getAudioBuffer = function(e, t) {
- var n, r, i, s = null;
- for (n = 0, r = V.length; r > n; n++)
- if (i = V[n], i.src === e) {
- s = i;
- break
- }
- return s || (s = new T(e, t), V.push(s)), s
- }, dt.getAudioInstance = function(e, t, n, r, i) {
- var s, o, u;
- for (s = 0, o = $.length; o > s; s++)
- if (u = $[s], u.src === e && (u.canBeRecycled() || n)) return u.tag = t, u;
- var a = this.getAudioBuffer(e, n);
- return a.bufferObject ? (u = new N(a, t), $.push(u), u) : ("<preload>" !== t && (a.playTagWhenReady = t, a.loopWhenReady = r, a.volumeWhenReady = i), null)
- };
- var gt = [];
- O.prototype.OnEnded = function(e) {
- return cr.equals_nocase(F, e)
- }, O.prototype.PreloadsComplete = function() {
- var e, t;
- for (e = 0, t = V.length; t > e; e++)
- if (!V[e].isLoaded() && !V[e].hasFailedToLoad()) return !1;
- return !0
- }, O.prototype.AdvancedAudioSupported = function() {
- return W === R
- }, O.prototype.IsSilent = function() {
- return G
- }, O.prototype.IsAnyPlaying = function() {
- var e, t;
- for (e = 0, t = $.length; t > e; e++)
- if ($[e].isPlaying()) return !0;
- return !1
- }, O.prototype.IsTagPlaying = function(e) {
- k(e);
- var t, n;
- for (t = 0, n = gt.length; n > t; t++)
- if (gt[t].isPlaying()) return !0;
- return !1
- }, P.cnds = new O, M.prototype.Play = function(t, n, r, i) {
- if (!G) {
- var s = e(r),
- o = t[1],
- u = this.runtime.files_subfolder + t[0] + (K ? ".ogg" : ".m4a");
- J = this.getAudioInstance(u, i, o, 0 !== n, s), J && (J.setPannerEnabled(!1), J.play(0 !== n, s))
- }
- }, M.prototype.PlayAtPosition = function(t, n, r, i, s, o, u, a, f, l) {
- if (!G) {
- var c = e(r),
- h = t[1],
- p = this.runtime.files_subfolder + t[0] + (K ? ".ogg" : ".m4a");
- if (J = this.getAudioInstance(p, l, h, 0 !== n, c), !J) {
- var d = this.getAudioBuffer(p, h);
- return void d.panWhenReady.push({
- x: i,
- y: s,
- a: o,
- ia: u,
- oa: a,
- og: e(f),
- thistag: l
- })
- }
- J.setPannerEnabled(!0), J.setPan(i, s, o, u, a, e(f)), J.play(0 !== n, c)
- }
- }, M.prototype.PlayAtObject = function(t, n, r, i, s, o, u, a) {
- if (!G && i) {
- var f = i.getFirstPicked();
- if (f) {
- var l = e(r),
- c = t[1],
- h = this.runtime.files_subfolder + t[0] + (K ? ".ogg" : ".m4a");
- if (J = this.getAudioInstance(h, a, c, 0 !== n, l), !J) {
- var p = this.getAudioBuffer(h, c);
- return void p.panWhenReady.push({
- obj: f,
- ia: s,
- oa: o,
- og: e(u),
- thistag: a
- })
- }
- J.setPannerEnabled(!0);
- var d = cr.rotatePtAround(f.x, f.y, -f.layer.getAngle(), Z, et, !0),
- v = cr.rotatePtAround(f.x, f.y, -f.layer.getAngle(), Z, et, !1);
- J.setPan(d, v, cr.to_degrees(f.angle - f.layer.getAngle()), s, o, e(u)), J.setObject(f), J.play(0 !== n, l)
- }
- }
- }, M.prototype.PlayByName = function(t, n, r, i, s) {
- if (!G) {
- var o = e(i),
- u = 1 === t,
- a = this.runtime.files_subfolder + n.toLowerCase() + (K ? ".ogg" : ".m4a");
- J = this.getAudioInstance(a, s, u, 0 !== r, o), J && (J.setPannerEnabled(!1), J.play(0 !== r, o))
- }
- }, M.prototype.PlayAtPositionByName = function(t, n, r, i, s, o, u, a, f, l, c) {
- if (!G) {
- var h = e(i),
- p = 1 === t,
- d = this.runtime.files_subfolder + n.toLowerCase() + (K ? ".ogg" : ".m4a");
- if (J = this.getAudioInstance(d, c, p, 0 !== r, h), !J) {
- var v = this.getAudioBuffer(d, p);
- return void v.panWhenReady.push({
- x: s,
- y: o,
- a: u,
- ia: a,
- oa: f,
- og: e(l),
- thistag: c
- })
- }
- J.setPannerEnabled(!0), J.setPan(s, o, u, a, f, e(l)), J.play(0 !== r, h)
- }
- }, M.prototype.PlayAtObjectByName = function(t, n, r, i, s, o, u, a, f) {
- if (!G && s) {
- var l = s.getFirstPicked();
- if (l) {
- var c = e(i),
- h = 1 === t,
- p = this.runtime.files_subfolder + n.toLowerCase() + (K ? ".ogg" : ".m4a");
- if (J = this.getAudioInstance(p, f, h, 0 !== r, c), !J) {
- var d = this.getAudioBuffer(p, h);
- return void d.panWhenReady.push({
- obj: l,
- ia: o,
- oa: u,
- og: e(a),
- thistag: f
- })
- }
- J.setPannerEnabled(!0);
- var v = cr.rotatePtAround(l.x, l.y, -l.layer.getAngle(), Z, et, !0),
- m = cr.rotatePtAround(l.x, l.y, -l.layer.getAngle(), Z, et, !1);
- J.setPan(v, m, cr.to_degrees(l.angle - l.layer.getAngle()), o, u, e(a)), J.setObject(l), J.play(0 !== r, c)
- }
- }
- }, M.prototype.SetLooping = function(e, t) {
- k(e);
- var n, r;
- for (n = 0, r = gt.length; r > n; n++) gt[n].setLooping(0 === t)
- }, M.prototype.SetMuted = function(e, t) {
- k(e);
- var n, r;
- for (n = 0, r = gt.length; r > n; n++) gt[n].setMuted(0 === t)
- }, M.prototype.SetVolume = function(t, n) {
- k(t);
- var r, i, s = e(n);
- for (r = 0, i = gt.length; i > r; r++) gt[r].setVolume(s)
- }, M.prototype.Preload = function(e) {
- if (!G) {
- var t = e[1],
- n = this.runtime.files_subfolder + e[0] + (K ? ".ogg" : ".m4a");
- return W === z ? void(this.runtime.isDirectCanvas ? AppMobi.context.loadSound(n) : AppMobi.player.loadSound(n)) : void(W !== U && this.getAudioInstance(n, "<preload>", t, !1))
- }
- }, M.prototype.PreloadByName = function(e, t) {
- if (!G) {
- var n = 1 === e,
- r = this.runtime.files_subfolder + t.toLowerCase() + (K ? ".ogg" : ".m4a");
- return W === z ? void(this.runtime.isDirectCanvas ? AppMobi.context.loadSound(r) : AppMobi.player.loadSound(r)) : void(W !== U && this.getAudioInstance(r, "<preload>", n, !1))
- }
- }, M.prototype.SetPlaybackRate = function(e, t) {
- k(e), 0 > t && (t = 0);
- var n, r;
- for (n = 0, r = gt.length; r > n; n++) gt[n].setPlaybackRate(t)
- }, M.prototype.Stop = function(e) {
- k(e);
- var t, n;
- for (t = 0, n = gt.length; n > t; t++) gt[t].stop()
- }, M.prototype.StopAll = function() {
- var e, t;
- for (e = 0, t = $.length; t > e; e++) $[e].stop()
- }, M.prototype.SetPaused = function(e, t) {
- k(e);
- var n, r;
- for (n = 0, r = gt.length; r > n; n++) 0 === t ? gt[n].pause() : gt[n].resume()
- }, M.prototype.Seek = function(e, t) {
- k(e);
- var n, r;
- for (n = 0, r = gt.length; r > n; n++) gt[n].seek(t)
- }, M.prototype.SetSilent = function(e) {
- var t, n;
- if (2 === e && (e = G ? 1 : 0), 0 !== e || G) {
- if (1 === e && G) {
- for (t = 0, n = $.length; n > t; t++) $[t].setSilent(!1);
- G = !1
- }
- } else {
- for (t = 0, n = $.length; n > t; t++) $[t].setSilent(!0);
- G = !0
- }
- }, M.prototype.SetMasterVolume = function(t) {
- Y = e(t);
- var n, r;
- for (n = 0, r = $.length; r > n; n++) $[n].updateVolume()
- }, M.prototype.AddFilterEffect = function(e, t, n, r, i, s, o) {
- W !== R || 0 > t || t >= ct.length || !X.createBiquadFilter || (e = e.toLowerCase(), o /= 100, 0 > o && (o = 0), o > 1 && (o = 1), A(e, new c(t, n, r, i, s, o)))
- }, M.prototype.AddDelayEffect = function(t, n, r, i) {
- W === R && (t = t.toLowerCase(), i /= 100, 0 > i && (i = 0), i > 1 && (i = 1), A(t, new h(n, e(r), i)))
- }, M.prototype.AddFlangerEffect = function(e, t, n, r, i, s) {
- W === R && X.createOscillator && (e = e.toLowerCase(), s /= 100, 0 > s && (s = 0), s > 1 && (s = 1), A(e, new d(t / 1e3, n / 1e3, r, i / 100, s)))
- }, M.prototype.AddPhaserEffect = function(e, t, n, r, i, s, o) {
- W === R && X.createOscillator && (e = e.toLowerCase(), o /= 100, 0 > o && (o = 0), o > 1 && (o = 1), A(e, new v(t, n, r, i, s, o)))
- }, M.prototype.AddConvolutionEffect = function(e, t, n, r) {
- if (W === R && X.createConvolver) {
- var i = 0 === n,
- s = this.runtime.files_subfolder + t[0] + (K ? ".ogg" : ".m4a"),
- o = this.getAudioBuffer(s, !1);
- e = e.toLowerCase(), r /= 100, 0 > r && (r = 0), r > 1 && (r = 1);
- var u;
- o.bufferObject ? u = new p(o.bufferObject, i, r, s) : (u = new p(null, i, r, s), o.normalizeWhenReady = i, o.convolveWhenReady = u), A(e, u)
- }
- }, M.prototype.AddGainEffect = function(t, n) {
- W === R && (t = t.toLowerCase(), A(t, new m(e(n))))
- }, M.prototype.AddMuteEffect = function(e) {
- W === R && (e = e.toLowerCase(), A(e, new m(0)))
- }, M.prototype.AddTremoloEffect = function(e, t, n) {
- W === R && X.createOscillator && (e = e.toLowerCase(), n /= 100, 0 > n && (n = 0), n > 1 && (n = 1), A(e, new g(t, n)))
- }, M.prototype.AddRingModEffect = function(e, t, n) {
- W === R && X.createOscillator && (e = e.toLowerCase(), n /= 100, 0 > n && (n = 0), n > 1 && (n = 1), A(e, new y(t, n)))
- }, M.prototype.AddDistortionEffect = function(e, t, n, r, i, s) {
- W === R && X.createWaveShaper && (e = e.toLowerCase(), s /= 100, 0 > s && (s = 0), s > 1 && (s = 1), A(e, new b(t, n, r, i, s)))
- }, M.prototype.AddCompressorEffect = function(e, t, n, r, i, s) {
- W === R && X.createDynamicsCompressor && (e = e.toLowerCase(), A(e, new E(t, n, r, i / 1e3, s / 1e3)))
- }, M.prototype.AddAnalyserEffect = function(e, t, n) {
- W === R && (e = e.toLowerCase(), A(e, new S(t, n)))
- }, M.prototype.RemoveEffects = function(e) {
- if (W === R) {
- e = e.toLowerCase();
- var t, n, r;
- if (lt.hasOwnProperty(e) && (r = lt[e], r.length)) {
- for (t = 0, n = r.length; n > t; t++) r[t].remove();
- r.length = 0, L(e)
- }
- }
- }, M.prototype.SetEffectParameter = function(e, t, n, r, i, s) {
- if (W === R) {
- e = e.toLowerCase(), t = Math.floor(t);
- var o;
- lt.hasOwnProperty(e) && (o = lt[e], 0 > t || t >= o.length || o[t].setParam(n, r, i, s))
- }
- }, M.prototype.SetListenerObject = function(e) {
- if (e && W === R) {
- var t = e.getFirstPicked();
- t && (this.listenerTracker.setObject(t), Z = t.x, et = t.y)
- }
- }, M.prototype.SetListenerZ = function(e) {
- this.listenerZ = e
- }, P.acts = new M, _.prototype.Duration = function(e, t) {
- k(t, !0), e.set_float(gt.length ? gt[0].getDuration() : 0)
- }, _.prototype.PlaybackTime = function(e, t) {
- k(t, !0), e.set_float(gt.length ? gt[0].getPlaybackTime() : 0)
- }, _.prototype.Volume = function(e, n) {
- if (k(n, !0), gt.length) {
- var r = gt[0].getVolume();
- e.set_float(t(r))
- } else e.set_float(0)
- }, _.prototype.MasterVolume = function(e) {
- e.set_float(Y)
- }, _.prototype.EffectCount = function(e, t) {
- t = t.toLowerCase();
- var n = null;
- lt.hasOwnProperty(t) && (n = lt[t]), e.set_int(n ? n.length : 0)
- }, _.prototype.AnalyserFreqBinCount = function(e, t, n) {
- t = t.toLowerCase(), n = Math.floor(n);
- var r = D(t, n);
- e.set_int(r ? r.node.frequencyBinCount : 0)
- }, _.prototype.AnalyserFreqBinAt = function(e, t, n, r) {
- t = t.toLowerCase(), n = Math.floor(n), r = Math.floor(r);
- var i = D(t, n);
- e.set_float(i ? 0 > r || r >= i.node.frequencyBinCount ? 0 : i.freqBins[r] : 0)
- }, _.prototype.AnalyserPeakLevel = function(e, t, n) {
- t = t.toLowerCase(), n = Math.floor(n);
- var r = D(t, n);
- e.set_float(r ? r.peak : 0)
- }, _.prototype.AnalyserRMSLevel = function(e, t, n) {
- t = t.toLowerCase(), n = Math.floor(n);
- var r = D(t, n);
- e.set_float(r ? r.rms : 0)
- }, P.exps = new _
- }(), cr.plugins_.Browser = function(e) {
- this.runtime = e
- },
- function() {
- function Cnds() {}
- function Acts() {}
- function onFullscreenError() {
- "undefined" != typeof jQuery && crruntime.setSize(jQuery(window).width(), jQuery(window).height())
- }
- function Exps() {}
- var pluginProto = cr.plugins_.Browser.prototype;
- pluginProto.Type = function(e) {
- this.plugin = e, this.runtime = e.runtime
- };
- var typeProto = pluginProto.Type.prototype;
- typeProto.onCreate = function() {}, pluginProto.Instance = function(e) {
- this.type = e, this.runtime = e.runtime
- };
- var instanceProto = pluginProto.Instance.prototype;
- instanceProto.onCreate = function() {
- var e = this;
- window.addEventListener("resize", function() {
- e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnResize, e)
- }), "undefined" != typeof navigator.onLine && (window.addEventListener("online", function() {
- e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnOnline, e)
- }), window.addEventListener("offline", function() {
- e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnOffline, e)
- })), "undefined" != typeof window.applicationCache && (window.applicationCache.addEventListener("updateready", function() {
- e.runtime.loadingprogress = 1, e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnUpdateReady, e)
- }), window.applicationCache.addEventListener("progress", function(n) {
- e.runtime.loadingprogress = n.loaded / n.total
- })), this.runtime.isDirectCanvas || (document.addEventListener("appMobi.device.update.available", function() {
- e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnUpdateReady, e)
- }), document.addEventListener("backbutton", function() {
- e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, e)
- }), document.addEventListener("menubutton", function() {
- e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnMenuButton, e)
- }), document.addEventListener("searchbutton", function() {
- e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnSearchButton, e)
- }), document.addEventListener("tizenhwkey", function(n) {
- var r;
- switch (n.keyName) {
- case "back":
- r = e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, e), r || window.tizen && window.tizen.application.getCurrentApplication().exit();
- break;
- case "menu":
- r = e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnMenuButton, e), r || n.preventDefault()
- }
- })), this.runtime.isWindowsPhone81 && (WinJS.Application.onbackclick = function() {
- return !!e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnBackButton, e)
- }), this.runtime.addSuspendCallback(function(n) {
- n ? e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnPageHidden, e) : e.runtime.trigger(cr.plugins_.Browser.prototype.cnds.OnPageVisible, e)
- }), this.is_arcade = "undefined" != typeof window.is_scirra_arcade
- }, Cnds.prototype.CookiesEnabled = function() {
- return navigator ? navigator.cookieEnabled : !1
- }, Cnds.prototype.IsOnline = function() {
- return navigator ? navigator.onLine : !1
- }, Cnds.prototype.HasJava = function() {
- return navigator ? navigator.javaEnabled() : !1
- }, Cnds.prototype.OnOnline = function() {
- return !0
- }, Cnds.prototype.OnOffline = function() {
- return !0
- }, Cnds.prototype.IsDownloadingUpdate = function() {
- return "undefined" == typeof window.applicationCache ? !1 : window.applicationCache.status === window.applicationCache.DOWNLOADING
- }, Cnds.prototype.OnUpdateReady = function() {
- return !0
- }, Cnds.prototype.PageVisible = function() {
- return !this.runtime.isSuspended
- }, Cnds.prototype.OnPageVisible = function() {
- return !0
- }, Cnds.prototype.OnPageHidden = function() {
- return !0
- }, Cnds.prototype.OnResize = function() {
- return !0
- }, Cnds.prototype.IsFullscreen = function() {
- return !!(document.mozFullScreen || document.webkitIsFullScreen || document.fullScreen || this.runtime.isNodeFullscreen)
- }, Cnds.prototype.OnBackButton = function() {
- return !0
- }, Cnds.prototype.OnMenuButton = function() {
- return !0
- }, Cnds.prototype.OnSearchButton = function() {
- return !0
- }, Cnds.prototype.IsMetered = function() {
- var e = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
- return e ? e.metered : !1
- }, Cnds.prototype.IsCharging = function() {
- var e = navigator.battery || navigator.mozBattery || navigator.webkitBattery;
- return e ? e.charging : !0
- }, Cnds.prototype.IsPortraitLandscape = function(e) {
- var t = window.innerWidth <= window.innerHeight ? 0 : 1;
- return t === e
- }, pluginProto.cnds = new Cnds, Acts.prototype.Alert = function(e) {
- this.runtime.isDomFree || alert(e.toString())
- }, Acts.prototype.Close = function() {
- this.runtime.isCocoonJs ? CocoonJS.App.forceToFinish() : window.tizen ? window.tizen.application.getCurrentApplication().exit() : navigator.app && navigator.app.exitApp ? navigator.app.exitApp() : navigator.device && navigator.device.exitApp ? navigator.device.exitApp() : this.is_arcade || this.runtime.isDomFree || window.close()
- }, Acts.prototype.Focus = function() {
- if (this.runtime.isNodeWebkit) {
- var e = window.nwgui.Window.get();
- e.focus()
- } else this.is_arcade || this.runtime.isDomFree || window.focus()
- }, Acts.prototype.Blur = function() {
- if (this.runtime.isNodeWebkit) {
- var e = window.nwgui.Window.get();
- e.blur()
- } else this.is_arcade || this.runtime.isDomFree || window.blur()
- }, Acts.prototype.GoBack = function() {
- navigator.app && navigator.app.backHistory ? navigator.app.backHistory() : this.is_arcade || this.runtime.isDomFree || !window.back || window.back()
- }, Acts.prototype.GoForward = function() {
- this.is_arcade || this.runtime.isDomFree || !window.forward || window.forward()
- }, Acts.prototype.GoHome = function() {
- this.is_arcade || this.runtime.isDomFree || !window.home || window.home()
- }, Acts.prototype.GoToURL = function(e, t) {
- this.runtime.isCocoonJs ? CocoonJS.App.openURL(e) : this.runtime.isEjecta ? ejecta.openURL(e) : this.runtime.isWinJS ? Windows.System.Launcher.launchUriAsync(new Windows.Foundation.Uri(e)) : navigator.app && navigator.app.loadUrl ? navigator.app.loadUrl(e, {
- openExternal: !0
- }) : this.is_arcade || this.runtime.isDomFree || (2 !== t || this.is_arcade ? 1 !== t || this.is_arcade ? window.location = e : window.parent.location = e : window.top.location = e)
- }, Acts.prototype.GoToURLWindow = function(e, t) {
- console.log(e, t), this.runtime.isCocoonJs ? CocoonJS.App.openURL(e) : this.runtime.isEjecta ? ejecta.openURL(e) : this.runtime.isWinJS ? Windows.System.Launcher.launchUriAsync(new Windows.Foundation.Uri(e)) : navigator.app && navigator.app.loadUrl ? navigator.app.loadUrl(e, {
- openExternal: !0
- }) : this.is_arcade || this.runtime.isDomFree || (e.indexOf("more") >= 0 ? clickMore() : e.indexOf("share") >= 0 && showshare())
- }, Acts.prototype.Reload = function() {
- this.is_arcade || this.runtime.isDomFree || window.location.reload()
- };
- var firstRequestFullscreen = !0,
- crruntime = null;
- Acts.prototype.RequestFullScreen = function(e) {
- if (this.runtime.isDomFree) return void cr.logexport("[Construct 2] Requesting fullscreen is not supported on this platform - the request has been ignored");
- if (e >= 2 && (e += 1), 6 === e && (e = 2), this.runtime.isNodeWebkit) this.runtime.isNodeFullscreen || (window.nwgui.Window.get().enterFullscreen(), this.runtime.isNodeFullscreen = !0, this.runtime.fullscreen_scaling = e >= 2 ? e : 0);
- else {
- if (document.mozFullScreen || document.webkitIsFullScreen || document.msFullscreenElement || document.fullScreen) return;
- this.runtime.fullscreen_scaling = e >= 2 ? e : 0;
- var t = this.runtime.canvasdiv || this.runtime.canvas;
- firstRequestFullscreen && (firstRequestFullscreen = !1, crruntime = this.runtime, t.addEventListener("mozfullscreenerror", onFullscreenError), t.addEventListener("webkitfullscreenerror", onFullscreenError), t.addEventListener("msfullscreenerror", onFullscreenError), t.addEventListener("fullscreenerror", onFullscreenError)), cr.is_undefined(t.requestFullscreen) ? cr.is_undefined(t.webkitRequestFullScreen) ? cr.is_undefined(t.mozRequestFullScreen) ? cr.is_undefined(t.msRequestFullscreen) || t.msRequestFullscreen() : t.mozRequestFullScreen() : "undefined" != typeof Element && "undefined" != typeof Element.ALLOW_KEYBOARD_INPUT ? t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT) : t.webkitRequestFullScreen() : t.requestFullscreen()
- }
- }, Acts.prototype.CancelFullScreen = function() {
- return this.runtime.isDomFree ? void cr.logexport("[Construct 2] Exiting fullscreen is not supported on this platform - the request has been ignored") : void(this.runtime.isNodeWebkit ? this.runtime.isNodeFullscreen && (window.nwgui.Window.get().leaveFullscreen(), this.runtime.isNodeFullscreen = !1) : cr.is_undefined(document.exitFullscreen) ? cr.is_undefined(document.webkitCancelFullScreen) ? cr.is_undefined(document.mozCancelFullScreen) ? cr.is_undefined(document.msExitFullscreen) || document.msExitFullscreen() : document.mozCancelFullScreen() : document.webkitCancelFullScreen() : document.exitFullscreen())
- }, Acts.prototype.Vibrate = function(e) {
- try {
- var t, n, r = e.split(",");
- for (t = 0, n = r.length; n > t; t++) r[t] = parseInt(r[t], 10);
- navigator.vibrate ? navigator.vibrate(r) : navigator.mozVibrate ? navigator.mozVibrate(r) : navigator.webkitVibrate ? navigator.webkitVibrate(r) : navigator.msVibrate && navigator.msVibrate(r)
- } catch (i) {}
- }, Acts.prototype.InvokeDownload = function(e, t) {
- var n = document.createElement("a");
- if ("undefined" == typeof n.download) window.open(e);
- else {
- var r = document.getElementsByTagName("body")[0];
- n.textContent = t, n.href = e, n.download = t, r.appendChild(n);
- var i = document.createEvent("MouseEvent");
- i.initMouseEvent("click", !0, !0, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), n.dispatchEvent(i), r.removeChild(n)
- }
- }, Acts.prototype.InvokeDownloadString = function(e, t, n) {
- var r = "data:" + t + "," + encodeURIComponent(e),
- i = document.createElement("a");
- if ("undefined" == typeof i.download) window.open(r);
- else {
- var s = document.getElementsByTagName("body")[0];
- i.textContent = n, i.href = r, i.download = n, s.appendChild(i);
- var o = document.createEvent("MouseEvent");
- o.initMouseEvent("click", !0, !0, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), i.dispatchEvent(o), s.removeChild(i)
- }
- }, Acts.prototype.ConsoleLog = function(e, t) {
- "undefined" != typeof console && (0 === e && console.log && console.log(t.toString()), 1 === e && console.warn && console.warn(t.toString()), 2 === e && console.error && console.error(t.toString()))
- }, Acts.prototype.ConsoleGroup = function(e) {
- console && console.group && console.group(e)
- }, Acts.prototype.ConsoleGroupEnd = function() {
- console && console.groupEnd && console.groupEnd()
- }, Acts.prototype.ExecJs = function(js_) {
- try {
- eval && eval(js_)
- } catch (e) {
- console && console.error && console.error("Error executing Javascript: ", e)
- }
- };
- var orientations = ["portrait", "landscape", "portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"];
- Acts.prototype.LockOrientation = function(e) {
- if (e = Math.floor(e), !(0 > e || e >= orientations.length)) {
- this.runtime.autoLockOrientation = !1;
- var t = orientations[e];
- screen.lockOrientation ? screen.lockOrientation(t) : screen.webkitLockOrientation ? screen.webkitLockOrientation(t) : screen.mozLockOrientation ? screen.mozLockOrientation(t) : screen.msLockOrientation && screen.msLockOrientation(t)
- }
- }, Acts.prototype.UnlockOrientation = function() {
- this.runtime.autoLockOrientation = !1, screen.unlockOrientation ? screen.unlockOrientation() : screen.webkitUnlockOrientation ? screen.webkitUnlockOrientation() : screen.mozUnlockOrientation ? screen.mozUnlockOrientation() : screen.msUnlockOrientation && screen.msUnlockOrientation()
- }, pluginProto.acts = new Acts, Exps.prototype.URL = function(e) {
- e.set_string(this.runtime.isDomFree ? "" : window.location.toString())
- }, Exps.prototype.Protocol = function(e) {
- e.set_string(this.runtime.isDomFree ? "" : window.location.protocol)
- }, Exps.prototype.Domain = function(e) {
- e.set_string(this.runtime.isDomFree ? "" : window.location.hostname)
- }, Exps.prototype.PathName = function(e) {
- e.set_string(this.runtime.isDomFree ? "" : window.location.pathname)
- }, Exps.prototype.Hash = function(e) {
- e.set_string(this.runtime.isDomFree ? "" : window.location.hash)
- }, Exps.prototype.Referrer = function(e) {
- e.set_string(this.runtime.isDomFree ? "" : document.referrer)
- }, Exps.prototype.Title = function(e) {
- e.set_string(this.runtime.isDomFree ? "" : document.title)
- }, Exps.prototype.Name = function(e) {
- e.set_string(this.runtime.isDomFree ? "" : navigator.appName)
- }, Exps.prototype.Version = function(e) {
- e.set_string(this.runtime.isDomFree ? "" : navigator.appVersion)
- }, Exps.prototype.Language = function(e) {
- e.set_string(navigator && navigator.language ? navigator.language : "")
- }, Exps.prototype.Platform = function(e) {
- e.set_string(this.runtime.isDomFree ? "" : navigator.platform)
- }, Exps.prototype.Product = function(e) {
- e.set_string(navigator && navigator.product ? navigator.product : "")
- }, Exps.prototype.Vendor = function(e) {
- e.set_string(navigator && navigator.vendor ? navigator.vendor : "")
- }, Exps.prototype.UserAgent = function(e) {
- e.set_string(this.runtime.isDomFree ? "" : navigator.userAgent)
- }, Exps.prototype.QueryString = function(e) {
- e.set_string(this.runtime.isDomFree ? "" : window.location.search)
- }, Exps.prototype.QueryParam = function(e, t) {
- if (this.runtime.isDomFree) return void e.set_string("");
- var n = RegExp("[?&]" + t + "=([^&]*)").exec(window.location.search);
- e.set_string(n ? decodeURIComponent(n[1].replace(/\+/g, " ")) : "")
- }, Exps.prototype.Bandwidth = function(e) {
- var t = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
- e.set_float(t ? t.bandwidth : Number.POSITIVE_INFINITY)
- }, Exps.prototype.BatteryLevel = function(e) {
- var t = navigator.battery || navigator.mozBattery || navigator.webkitBattery;
- e.set_float(t ? t.level : 1)
- }, Exps.prototype.BatteryTimeLeft = function(e) {
- var t = navigator.battery || navigator.mozBattery || navigator.webkitBattery;
- e.set_float(t ? t.dischargingTime : Number.POSITIVE_INFINITY)
- }, Exps.prototype.ExecJS = function(ret, js_) {
- if (!eval) return void ret.set_any(0);
- var result = 0;
- try {
- result = eval(js_)
- } catch (e) {
- console && console.error && console.error("Error executing Javascript: ", e)
- }
- ret.set_any("number" == typeof result ? result : "string" == typeof result ? result : "boolean" == typeof result && result ? 1 : 0)
- }, Exps.prototype.ScreenWidth = function(e) {
- e.set_int(screen.width)
- }, Exps.prototype.ScreenHeight = function(e) {
- e.set_int(screen.height)
- }, Exps.prototype.DevicePixelRatio = function(e) {
- e.set_float(this.runtime.devicePixelRatio)
- }, pluginProto.exps = new Exps
- }(), cr.plugins_.CJSAds = function(e) {
- this.runtime = e
- },
- function() {
- function e() {}
- function t() {}
- function n() {}
- var r = "",
- i = [],
- s = 0,
- o = 0,
- u = !1,
- a = !1,
- f = !1,
- l = !1,
- c = cr.plugins_.CJSAds.prototype;
- c.Type = function(e) {
- this.plugin = e, this.runtime = e.runtime
- };
- var h = c.Type.prototype;
- h.onCreate = function() {}, c.Instance = function(e) {
- this.type = e, this.runtime = e.runtime
- };
- var p = c.Instance.prototype;
- p.onCreate = function() {
- this.isShowingBanner = !1, this.isShowingFullscreen = !1, this.triggerProduct = "", this.socialService = null, this.socialServiceAvailable = !1, this.storeServiceAvailable = this.runtime.isCocoonJs && "undefined" != typeof CocoonJS.Store.nativeExtensionObjectAvailable, this.storeManaged = 1 !== this.properties[0], this.storeSandboxed = 0 !== this.properties[1], this.onConsumePurchaseFailedTransactionId = "", this.onConsumePurchaseCompleted = "";
- var e = this;
- this.runtime.isCocoonJs && (CocoonJS.App.onTextDialogFinished.addEventListener(function(t) {
- r = t, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnKeyboardOK, e)
- }), CocoonJS.App.onTextDialogCancelled.addEventListener(function() {
- e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnKeyboardCancelled, e)
- }), CocoonJS.Ad.onBannerShown.addEventListener(function() {
- e.isShowingBanner = !0, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnBannerShown, e)
- }), CocoonJS.Ad.onBannerReady.addEventListener(function() {
- a = !0, u || (CocoonJS.Ad.setBannerLayout(o), CocoonJS.Ad.showBanner())
- }), CocoonJS.Ad.onFullScreenShown.addEventListener(function() {
- e.isShowingFullscreen = !0, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnFullscreenShown, e)
- }), CocoonJS.Ad.onFullScreenHidden.addEventListener(function() {
- e.isShowingFullscreen = !1, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnFullscreenHidden, e)
- }), CocoonJS.Ad.onFullScreenReady.addEventListener(function() {
- l = !0, preloadFullScreen || CocoonJS.Ad.showFullScreen()
- }), this.storeServiceAvailable && (CocoonJS.Store.onProductPurchaseCompleted.addEventListener(function(t) {
- e.triggerProduct = t.productId, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnPurchaseComplete, e), CocoonJS.Store.addPurchase(t), CocoonJS.Store.consumePurchase(t.transactionId, t.productId), CocoonJS.Store.finishPurchase(t.transactionId)
- }), CocoonJS.Store.onConsumePurchaseFailed.addEventListener(function(t) {
- this.onConsumePurchaseFailedTransactionId = t, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.onConsumePurchaseFailed, e)
- }), CocoonJS.Store.onConsumePurchaseCompleted.addEventListener(function(t) {
- this.onConsumePurchaseCompleted = t, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.onConsumePurchaseCompleted, e)
- }), CocoonJS.Store.onProductPurchaseFailed.addEventListener(function(t) {
- e.triggerProduct = t, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnPurchaseFail, e)
- }), CocoonJS.Store.onProductPurchaseStarted.addEventListener(function(t) {
- e.triggerProduct = t.productId, e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnPurchaseStart, e)
- }), CocoonJS.Store.onProductsFetchStarted.addEventListener(function() {
- e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.onProductsFetchStarted, e)
- }), CocoonJS.Store.onProductsFetchFailed.addEventListener(function() {
- e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.onProductsFetchFailed, e)
- }), CocoonJS.Store.onProductsFetchCompleted.addEventListener(function() {
- e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.onProductsFetchCompleted, e)
- }), CocoonJS.Store.requestInitialization({
- managed: this.storeManaged,
- sandbox: this.storeSandboxed
- }), CocoonJS.Store.start()), this.socialService = CocoonJS.SocialGaming.GameCenter, this.socialServiceAvailable = !!this.socialService.nativeExtensionObjectAvailable, this.socialService.onRequestLoginSucceed.addEventListener(function() {
- e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCLoginSuccess, e)
- }), this.socialService.onRequestLoginFailed.addEventListener(function() {
- e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCLoginFail, e)
- }), this.socialService.onLogout.addEventListener(function() {
- e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCLogout, e)
- }), this.socialService.onRequestUserScoreSucceed.addEventListener(function(t) {
- s = t.score || 0, console.log("requested_score", s), e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCScoreReceived, e)
- }), this.socialService.onRequestUserScoreFailed.addEventListener(function() {
- e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCScoreUnavailable, e)
- }), this.socialService.onSubmitUserScoreSucceed.addEventListener(function() {
- e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCScoreSubmitSuccess, e)
- }), this.socialService.onSubmitUserScoreFailed.addEventListener(function() {
- e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCScoreSubmitFail, e)
- }), this.socialService.onLeaderboardViewSucceed.addEventListener(function() {
- e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCLeaderboardOpen, e)
- }), this.socialService.onLeaderboardViewClosed.addEventListener(function() {
- e.runtime.trigger(cr.plugins_.CJSAds.prototype.cnds.OnGCLeaderboardClose, e)
- }))
- }, e.prototype.IsShowingBanner = function() {
- return this.isShowingBanner
- }, e.prototype.IsCocoonJS = function() {
- return this.runtime.isCocoonJs
- }, e.prototype.OnBannerShown = function() {
- return !0
- }, e.prototype.OnFullscreenShown = function() {
- return !0
- }, e.prototype.OnFullscreenHidden = function() {
- return !0
- }, e.prototype.IsShowingFullscreen = function() {
- return this.isShowingFullscreen
- }, e.prototype.IsStoreAvailable = function() {
- return this.runtime.isCocoonJs ? this.storeServiceAvailable && CocoonJS.Store.canPurchase() : !1
- }, e.prototype.OnPurchaseStart = function(e) {
- return this.triggerProduct === e
- }, e.prototype.OnPurchaseComplete = function(e) {
- return this.triggerProduct === e
- }, e.prototype.OnPurchaseFail = function(e) {
- return this.triggerProduct === e
- }, e.prototype.onProductsFetchStarted = function() {
- return !0
- }, e.prototype.onConsumePurchaseFailed = function() {
- return !0
- }, e.prototype.onProductsFetchCompleted = function() {
- return !0
- }, e.prototype.onProductsFetchFailed = function() {
- return !0
- }, e.prototype.IsProductPurchased = function(e) {
- return this.runtime.isCocoonJs ? CocoonJS.Store.isProductPurchased(e) : !1
- }, e.prototype.OnKeyboardCancelled = function() {
- return !0
- }, e.prototype.OnKeyboardOK = function() {
- return !0
- }, e.prototype.IsGCAvailable = function() {
- return this.socialServiceAvailable
- }, e.prototype.IsGCLoggedIn = function() {
- return this.socialServiceAvailable ? this.socialService.isLoggedIn() : !1
- }, e.prototype.OnGCLoginSuccess = function() {
- return !0
- }, e.prototype.OnGCLoginFail = function() {
- return !0
- }, e.prototype.OnGCLogout = function() {
- return !0
- }, e.prototype.OnGCScoreReceived = function() {
- return !0
- }, e.prototype.OnGCScoreUnavailable = function() {
- return !0
- }, e.prototype.OnGCScoreSubmitSuccess = function() {
- return !0
- }, e.prototype.OnGCScoreSubmitFail = function() {
- return !0
- }, e.prototype.OnGCLeaderboardOpen = function() {
- return !0
- }, e.prototype.OnGCLeaderboardClose = function() {
- return !0
- }, c.cnds = new e, t.prototype.ShowBanner = function(e) {
- this.runtime.isCocoonJs && (o = 0 === e ? CocoonJS.Ad.BannerLayout.TOP_CENTER : CocoonJS.Ad.BannerLayout.BOTTOM_CENTER, u = !1, a ? (CocoonJS.Ad.setBannerLayout(o), CocoonJS.Ad.showBanner()) : CocoonJS.Ad.preloadBanner())
- }, t.prototype.ShowFullscreen = function() {
- this.runtime.isCocoonJs && (f = !1, l ? CocoonJS.Ad.showFullScreen() : CocoonJS.Ad.preloadFullScreen())
- }, t.prototype.HideBanner = function() {
- this.runtime.isCocoonJs && (CocoonJS.Ad.hideBanner(), this.isShowingBanner = !1)
- }, t.prototype.PreloadBanner = function() {
- this.runtime.isCocoonJs && (u = !0, CocoonJS.Ad.preloadBanner())
- }, t.prototype.PreloadFullscreen = function() {
- this.runtime.isCocoonJs && (f = !0, CocoonJS.Ad.preloadFullScreen())
- }, t.prototype.RefreshBanner = function() {
- this.runtime.isCocoonJs && CocoonJS.Ad.refreshBanner()
- }, t.prototype.RefreshFullscreen = function() {
- this.runtime.isCocoonJs && CocoonJS.Ad.refreshFullScreen()
- }, t.prototype.Purchase = function(e) {
- this.runtime.isCocoonJs && CocoonJS.Store.purchaseProduct(e)
- }, t.prototype.fetchProductsFromStore = function(e) {
- this.runtime.isCocoonJs && CocoonJS.Store.fetchProductsFromStore(e.split(","))
- }, t.prototype.restorePurchases = function() {
- return this.runtime.isCocoonJs ? CocoonJS.Store.restorePurchases() : void 0
- }, t.prototype.PurchasePreview = function(e) {
- this.runtime.isCocoonJs && CocoonJS.Store.purchaseProductModalWithPreview(e)
- }, t.prototype.RestorePurchases = function() {
- this.runtime.isCocoonJs && CocoonJS.Store.restorePurchases()
- }, t.prototype.PromptKeyboard = function(e, t, n, r, i, s) {
- if (this.runtime.isCocoonJs) {
- var o = ["text", "num", "phone", "email", "url"][r];
- CocoonJS.App.showTextDialog(e, t, n, o, i, s)
- }
- }, t.prototype.UpdateProductsList = function() {
- this.runtime.isCocoonJs && CocoonJS.Store.canPurchase() && (i = CocoonJS.Store.getProducts())
- }, t.prototype.GCLogin = function() {
- this.socialServiceAvailable && !this.socialService.isLoggedIn() && this.socialService.requestLogin()
- }, t.prototype.GCLogout = function() {
- this.socialServiceAvailable && this.socialService.isLoggedIn() && this.socialService.requestLogout()
- }, t.prototype.GCSubmitScore = function(e, t) {
- this.socialServiceAvailable && this.socialService.isLoggedIn() && (console.log(e), this.socialService.submitUserScore(e, t))
- }, t.prototype.GCRequestScore = function(e) {
- this.socialServiceAvailable && this.socialService.isLoggedIn() && this.socialService.requestUserScore(e)
- }, t.prototype.GCOpenLeaderboard = function(e) {
- this.socialServiceAvailable && this.socialService.isLoggedIn() && this.socialService.showLeaderboardView(e)
- }, c.acts = new t, n.prototype.InputText = function(e) {
- e.set_string(r)
- }, n.prototype.ProductCount = function(e) {
- e.set_int(i.length)
- }, n.prototype.ProductDescription = function(e, t) {
- return t = Math.floor(t), 0 > t || t >= i.length ? void e.set_string("") : void e.set_string(i[t].description)
- }, n.prototype.ProductLocalizedPrice = function(e, t) {
- return t = Math.floor(t), 0 > t || t >= i.length ? void e.set_string("") : void e.set_string(i[t].localizedPrice)
- }, n.prototype.ProductPrice = function(e, t) {
- return t = Math.floor(t), 0 > t || t >= i.length ? void e.set_string("") : void e.set_string(i[t].price)
- }, n.prototype.ProductAlias = function(e, t) {
- return t = Math.floor(t), 0 > t || t >= i.length ? void e.set_string("") : void e.set_string(i[t].productAlias)
- }, n.prototype.ProductID = function(e, t) {
- return t = Math.floor(t), 0 > t || t >= i.length ? void e.set_string("") : void e.set_string(i[t].productId)
- }, n.prototype.ProductTitle = function(e, t) {
- return t = Math.floor(t), 0 > t || t >= i.length ? void e.set_string("") : void e.set_string(i[t].title)
- }, n.prototype.GameCenterScore = function(e) {
- e.set_float(s)
- }, c.exps = new n
- }(), cr.plugins_.Particles = function(e) {
- this.runtime = e
- },
- function() {
- function e(e) {
- this.owner = e, this.active = !1, this.x = 0, this.y = 0, this.speed = 0, this.angle = 0, this.opacity = 1, this.grow = 0, this.size = 0, this.gs = 0, this.age = 0, cr.seal(this)
- }
- function t() {}
- function n() {}
- function r() {}
- var i = cr.plugins_.Particles.prototype;
- i.Type = function(e) {
- this.plugin = e, this.runtime = e.runtime
- };
- var s = i.Type.prototype;
- s.onCreate = function() {
- this.is_family || (this.texture_img = new Image, this.texture_img.idtkLoadDisposed = !0, this.texture_img.src = this.texture_file, this.texture_img.cr_filesize = this.texture_filesize, this.webGL_texture = null, this.runtime.waitForImageLoad(this.texture_img))
- }, s.onLostWebGLContext = function() {
- this.is_family || (this.webGL_texture = null)
- }, s.onRestoreWebGLContext = function() {
- !this.is_family && this.instances.length && (this.webGL_texture || (this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, !0, this.runtime.linearSampling, this.texture_pixelformat)))
- }, s.loadTextures = function() {
- this.is_family || this.webGL_texture || !this.runtime.glwrap || (this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, !0, this.runtime.linearSampling, this.texture_pixelformat))
- }, s.unloadTextures = function() {
- this.is_family || this.instances.length || !this.webGL_texture || (this.runtime.glwrap.deleteTexture(this.webGL_texture), this.webGL_texture = null)
- }, s.preloadCanvas2D = function(e) {
- e.drawImage(this.texture_img, 0, 0)
- }, e.prototype.init = function() {
- var e = this.owner;
- this.x = e.x - e.xrandom / 2 + Math.random() * e.xrandom, this.y = e.y - e.yrandom / 2 + Math.random() * e.yrandom, this.speed = e.initspeed - e.speedrandom / 2 + Math.random() * e.speedrandom, this.angle = e.angle - e.spraycone / 2 + Math.random() * e.spraycone, this.opacity = e.initopacity, this.size = e.initsize - e.sizerandom / 2 + Math.random() * e.sizerandom, this.grow = e.growrate - e.growrandom / 2 + Math.random() * e.growrandom, this.gs = 0, this.age = 0
- }, e.prototype.tick = function(e) {
- var t = this.owner;
- return this.x += Math.cos(this.angle) * this.speed * e, this.y += Math.sin(this.angle) * this.speed * e, this.y += this.gs * e, this.speed += t.acc * e, this.size += this.grow * e, this.gs += t.g * e, this.age += e, this.size < 1 ? void(this.active = !1) : (0 !== t.lifeanglerandom && (this.angle += Math.random() * t.lifeanglerandom * e - t.lifeanglerandom * e / 2), 0 !== t.lifespeedrandom && (this.speed += Math.random() * t.lifespeedrandom * e - t.lifespeedrandom * e / 2), 0 !== t.lifeopacityrandom && (this.opacity += Math.random() * t.lifeopacityrandom * e - t.lifeopacityrandom * e / 2, this.opacity < 0 ? this.opacity = 0 : this.opacity > 1 && (this.opacity = 1)), t.destroymode <= 1 && this.age >= t.timeout && (this.active = !1), void(2 === t.destroymode && this.speed <= 0 && (this.active = !1)))
- }, e.prototype.draw = function(e) {
- var t = this.owner.opacity * this.opacity;
- if (0 !== t) {
- 0 === this.owner.destroymode && (t *= 1 - this.age / this.owner.timeout), e.globalAlpha = t;
- var n = this.x - this.size / 2,
- r = this.y - this.size / 2;
- this.owner.runtime.pixel_rounding && (n = n + .5 | 0, r = r + .5 | 0), e.drawImage(this.owner.type.texture_img, n, r, this.size, this.size)
- }
- }, e.prototype.drawGL = function(e) {
- var t = this.owner.opacity * this.opacity;
- 0 === this.owner.destroymode && (t *= 1 - this.age / this.owner.timeout);
- var n = this.size,
- r = n * this.owner.particlescale,
- i = this.x - n / 2,
- s = this.y - n / 2;
- this.owner.runtime.pixel_rounding && (i = i + .5 | 0, s = s + .5 | 0), 1 > r || 0 === t || (r < e.minPointSize || r > e.maxPointSize ? (e.setOpacity(t), e.quad(i, s, i + n, s, i + n, s + n, i, s + n)) : e.point(this.x, this.y, r, t))
- }, e.prototype.left = function() {
- return this.x - this.size / 2
- }, e.prototype.right = function() {
- return this.x + this.size / 2
- }, e.prototype.top = function() {
- return this.y - this.size / 2
- }, e.prototype.bottom = function() {
- return this.y + this.size / 2
- }, i.Instance = function(e) {
- this.type = e, this.runtime = e.runtime
- };
- var o = i.Instance.prototype,
- u = [];
- o.onCreate = function() {
- var e = this.properties;
- if (this.rate = e[0], this.spraycone = cr.to_radians(e[1]), this.spraytype = e[2], this.spraying = !0, this.initspeed = e[3], this.initsize = e[4], this.initopacity = e[5] / 100, this.growrate = e[6], this.xrandom = e[7], this.yrandom = e[8], this.speedrandom = e[9], this.sizerandom = e[10], this.growrandom = e[11], this.acc = e[12], this.g = e[13], this.lifeanglerandom = e[14], this.lifespeedrandom = e[15], this.lifeopacityrandom = e[16], this.destroymode = e[17], this.timeout = e[18], this.particleCreateCounter = 0, this.particlescale = 1, this.particleBoxLeft = this.x, this.particleBoxTop = this.y, this.particleBoxRight = this.x, this.particleBoxBottom = this.y, this.add_bbox_changed_callback(function(e) {
- e.bbox.set(e.particleBoxLeft, e.particleBoxTop, e.particleBoxRight, e.particleBoxBottom), e.bquad.set_from_rect(e.bbox), e.bbox_changed = !1, e.update_collision_cell()
- }), this.recycled || (this.particles = []), this.runtime.tickMe(this), this.type.loadTextures(), 1 === this.spraytype)
- for (var t = 0; t < this.rate; t++) this.allocateParticle().opacity = 0;
- this.first_tick = !0
- }, o.saveToJSON = function() {
- var e, t, n, r = {
- r: this.rate,
- sc: this.spraycone,
- st: this.spraytype,
- s: this.spraying,
- isp: this.initspeed,
- isz: this.initsize,
- io: this.initopacity,
- gr: this.growrate,
- xr: this.xrandom,
- yr: this.yrandom,
- spr: this.speedrandom,
- szr: this.sizerandom,
- grnd: this.growrandom,
- acc: this.acc,
- g: this.g,
- lar: this.lifeanglerandom,
- lsr: this.lifespeedrandom,
- lor: this.lifeopacityrandom,
- dm: this.destroymode,
- to: this.timeout,
- pcc: this.particleCreateCounter,
- ft: this.first_tick,
- p: []
- },
- i = r.p;
- for (e = 0, t = this.particles.length; t > e; e++) n = this.particles[e], i.push([n.x, n.y, n.speed, n.angle, n.opacity, n.grow, n.size, n.gs, n.age]);
- return r
- }, o.loadFromJSON = function(e) {
- this.rate = e.r, this.spraycone = e.sc, this.spraytype = e.st, this.spraying = e.s, this.initspeed = e.isp, this.initsize = e.isz, this.initopacity = e.io, this.growrate = e.gr, this.xrandom = e.xr, this.yrandom = e.yr, this.speedrandom = e.spr, this.sizerandom = e.szr, this.growrandom = e.grnd, this.acc = e.acc, this.g = e.g, this.lifeanglerandom = e.lar, this.lifespeedrandom = e.lsr, this.lifeopacityrandom = e.lor, this.destroymode = e.dm, this.timeout = e.to, this.particleCreateCounter = e.pcc, this.first_tick = e.ft, u.push.apply(u, this.particles), this.particles.length = 0;
- var t, n, r, i, s = e.p;
- for (t = 0, n = s.length; n > t; t++) r = this.allocateParticle(), i = s[t], r.x = i[0], r.y = i[1], r.speed = i[2], r.angle = i[3], r.opacity = i[4], r.grow = i[5], r.size = i[6], r.gs = i[7], r.age = i[8]
- }, o.onDestroy = function() {
- u.push.apply(u, this.particles), this.particles.length = 0
- }, o.allocateParticle = function() {
- var t;
- return u.length ? (t = u.pop(), t.owner = this) : t = new e(this), this.particles.push(t), t.active = !0, t
- }, o.tick = function() {
- var e, t, n, r, i, s = this.runtime.getDt(this);
- if (0 === this.spraytype && this.spraying)
- for (this.particleCreateCounter += s * this.rate, r = cr.floor(this.particleCreateCounter), this.particleCreateCounter -= r, e = 0; r > e; e++) n = this.allocateParticle(), n.init();
- for (this.particleBoxLeft = this.x, this.particleBoxTop = this.y, this.particleBoxRight = this.x, this.particleBoxBottom = this.y, e = 0, i = 0, t = this.particles.length; t > e; e++) n = this.particles[e], this.particles[i] = n, this.runtime.redraw = !0, 1 === this.spraytype && this.first_tick && n.init(), n.tick(s), n.active ? (n.left() < this.particleBoxLeft && (this.particleBoxLeft = n.left()), n.right() > this.particleBoxRight && (this.particleBoxRight = n.right()), n.top() < this.particleBoxTop && (this.particleBoxTop = n.top()), n.bottom() > this.particleBoxBottom && (this.particleBoxBottom = n.bottom()), i++) : u.push(n);
- this.particles.length = i, this.set_bbox_changed(), this.first_tick = !1, 1 === this.spraytype && 0 === this.particles.length && this.runtime.DestroyInstance(this)
- }, o.draw = function(e) {
- var t, n, r, i = this.layer;
- for (t = 0, n = this.particles.length; n > t; t++) r = this.particles[t], r.right() >= i.viewLeft && r.bottom() >= i.viewTop && r.left() <= i.viewRight && r.top() <= i.viewBottom && r.draw(e)
- }, o.drawGL = function(e) {
- this.particlescale = this.layer.getScale(), e.setTexture(this.type.webGL_texture);
- var t, n, r, i = this.layer;
- for (t = 0, n = this.particles.length; n > t; t++) r = this.particles[t], r.right() >= i.viewLeft && r.bottom() >= i.viewTop && r.left() <= i.viewRight && r.top() <= i.viewBottom && r.drawGL(e)
- }, t.prototype.IsSpraying = function() {
- return this.spraying
- }, i.cnds = new t, n.prototype.SetSpraying = function(e) {
- this.spraying = 0 !== e
- }, n.prototype.SetEffect = function(e) {
- this.compositeOp = cr.effectToCompositeOp(e), cr.setGLBlend(this, e, this.runtime.gl), this.runtime.redraw = !0
- }, n.prototype.SetRate = function(e) {
- this.rate = e;
- var t, n;
- if (1 === this.spraytype && this.first_tick)
- if (e < this.particles.length)
- for (t = this.particles.length - e, n = 0; t > n; n++) u.push(this.particles.pop());
- else if (e > this.particles.length)
- for (t = e - this.particles.length, n = 0; t > n; n++) this.allocateParticle().opacity = 0
- }, n.prototype.SetSprayCone = function(e) {
- this.spraycone = cr.to_radians(e)
- }, n.prototype.SetInitSpeed = function(e) {
- this.initspeed = e
- }, n.prototype.SetInitSize = function(e) {
- this.initsize = e
- }, n.prototype.SetInitOpacity = function(e) {
- this.initopacity = e / 100
- }, n.prototype.SetGrowRate = function(e) {
- this.growrate = e
- }, n.prototype.SetXRandomiser = function(e) {
- this.xrandom = e
- }, n.prototype.SetYRandomiser = function(e) {
- this.yrandom = e
- }, n.prototype.SetSpeedRandomiser = function(e) {
- this.speedrandom = e
- }, n.prototype.SetSizeRandomiser = function(e) {
- this.sizerandom = e
- }, n.prototype.SetGrowRateRandomiser = function(e) {
- this.growrandom = e
- }, n.prototype.SetParticleAcc = function(e) {
- this.acc = e
- }, n.prototype.SetGravity = function(e) {
- this.g = e
- }, n.prototype.SetAngleRandomiser = function(e) {
- this.lifeanglerandom = e
- }, n.prototype.SetSpeedRandomiser = function(e) {
- this.lifespeedrandom = e
- }, n.prototype.SetOpacityRandomiser = function(e) {
- this.lifeopacityrandom = e
- }, n.prototype.SetTimeout = function(e) {
- this.timeout = e
- }, i.acts = new n, r.prototype.ParticleCount = function(e) {
- e.set_int(this.particles.length)
- }, r.prototype.Rate = function(e) {
- e.set_float(this.rate)
- }, r.prototype.SprayCone = function(e) {
- e.set_float(cr.to_degrees(this.spraycone))
- }, r.prototype.InitSpeed = function(e) {
- e.set_float(this.initspeed)
- }, r.prototype.InitSize = function(e) {
- e.set_float(this.initsize)
- }, r.prototype.InitOpacity = function(e) {
- e.set_float(100 * this.initopacity)
- }, r.prototype.InitGrowRate = function(e) {
- e.set_float(this.growrate)
- }, r.prototype.XRandom = function(e) {
- e.set_float(this.xrandom)
- }, r.prototype.YRandom = function(e) {
- e.set_float(this.yrandom)
- }, r.prototype.InitSpeedRandom = function(e) {
- e.set_float(this.speedrandom)
- }, r.prototype.InitSizeRandom = function(e) {
- e.set_float(this.sizerandom)
- }, r.prototype.InitGrowRandom = function(e) {
- e.set_float(this.growrandom)
- }, r.prototype.ParticleAcceleration = function(e) {
- e.set_float(this.acc)
- }, r.prototype.Gravity = function(e) {
- e.set_float(this.g)
- }, r.prototype.ParticleAngleRandom = function(e) {
- e.set_float(this.lifeanglerandom)
- }, r.prototype.ParticleSpeedRandom = function(e) {
- e.set_float(this.lifespeedrandom)
- }, r.prototype.ParticleOpacityRandom = function(e) {
- e.set_float(this.lifeopacityrandom)
- }, r.prototype.Timeout = function(e) {
- e.set_float(this.timeout)
- }, i.exps = new r
- }(), cr.plugins_.Sprite = function(e) {
- this.runtime = e
- },
- function() {
- function e() {
- if (0 === this.datauri.length) {
- var e = document.createElement("canvas");
- e.width = this.width, e.height = this.height;
- var t = e.getContext("2d");
- this.spritesheeted ? t.drawImage(this.texture_img, this.offx, this.offy, this.width, this.height, 0, 0, this.width, this.height) : t.drawImage(this.texture_img, 0, 0, this.width, this.height), this.datauri = e.toDataURL("image/png")
- }
- return this.datauri
- }
- function t() {}
- function n() {
- return m.length ? m.pop() : [0, 0, 0]
- }
- function r(e) {
- e[0] = 0, e[1] = 0, e[2] = 0, m.push(e)
- }
- function i(e, t) {
- return t > e ? "" + e + "," + t : "" + t + "," + e
- }
- function s(e, t, r, s) {
- var o = t.uid,
- u = r.uid,
- a = i(o, u);
- if (e.hasOwnProperty(a)) return void(e[a][2] = s);
- var f = n();
- f[0] = o, f[1] = u, f[2] = s, e[a] = f
- }
- function o(e, t, n) {
- var s = i(t.uid, n.uid);
- e.hasOwnProperty(s) && (r(e[s]), delete e[s])
- }
- function u(e, t) {
- var n, i, s = t.uid;
- for (n in e) e.hasOwnProperty(n) && (i = e[n], (i[0] === s || i[1] === s) && (r(e[n]), delete e[n]))
- }
- function a(e, t, n) {
- var r = i(t.uid, n.uid);
- return e.hasOwnProperty(r) ? (g = e[r][2], !0) : (g = -2, !1)
- }
- function f(e, t, n) {
- if (!e) return !1;
- var r, i, s, o, u, a, f = 0 !== t || 0 !== n,
- l = !1,
- c = this.runtime.getCurrentCondition(),
- h = c.type,
- p = c.inverted,
- d = e.getCurrentSol(),
- v = this.runtime.getCurrentEventStack().current_event.orblock;
- for (d.select_all ? (this.update_bbox(), this.runtime.getCollisionCandidates(this.layer, e, this.bbox, S), a = S) : a = v ? d.else_instances : d.instances, b = e, E = h !== e && !p, f && (r = this.x, i = this.y, this.x += t, this.y += n, this.set_bbox_changed()), s = 0, o = a.length; o > s; s++)
- if (u = a[s], this.runtime.testOverlap(this, u)) {
- if (l = !0, p) break;
- h !== e && w.add(u)
- }
- return f && (this.x = r, this.y = i, this.set_bbox_changed()), S.length = 0, l
- }
- function l() {}
- function c() {}
- var h = cr.plugins_.Sprite.prototype;
- h.Type = function(e) {
- this.plugin = e, this.runtime = e.runtime
- };
- var p = h.Type.prototype;
- p.onCreate = function() {
- if (!this.is_family) {
- var t, n, r, i, s, o, u, a, f, l;
- for (this.all_frames = [], this.has_loaded_textures = !1, t = 0, n = this.animations.length; n > t; t++) {
- for (s = this.animations[t], u = {}, u.name = s[0], u.speed = s[1], u.loop = s[2], u.repeatcount = s[3], u.repeatto = s[4], u.pingpong = s[5], u.sid = s[6], u.frames = [], r = 0, i = s[7].length; i > r; r++) o = s[7][r], a = {}, a.texture_file = o[0], a.texture_filesize = o[1], a.offx = o[2], a.offy = o[3], a.width = o[4], a.height = o[5], a.duration = o[6], a.hotspotX = o[7], a.hotspotY = o[8], a.image_points = o[9], a.poly_pts = o[10], a.pixelformat = o[11], a.spritesheeted = 0 !== a.width, a.datauri = "", a.getDataUri = e, l = {}, l.left = 0, l.top = 0, l.right = 1, l.bottom = 1, a.sheetTex = l, a.webGL_texture = null, f = this.runtime.findWaitingTexture(o[0]), f ? a.texture_img = f : (a.texture_img = new Image, a.texture_img.idtkLoadDisposed = !0, a.texture_img.src = o[0], a.texture_img.cr_src = o[0], a.texture_img.cr_filesize = o[1], a.texture_img.c2webGL_texture = null, this.runtime.waitForImageLoad(a.texture_img)), cr.seal(a), u.frames.push(a), this.all_frames.push(a);
- cr.seal(u), this.animations[t] = u
- }
- }
- }, p.updateAllCurrentTexture = function() {
- var e, t, n;
- for (e = 0, t = this.instances.length; t > e; e++) n = this.instances[e], n.curWebGLTexture = n.curFrame.webGL_texture
- }, p.onLostWebGLContext = function() {
- if (!this.is_family) {
- var e, t, n;
- for (e = 0, t = this.all_frames.length; t > e; ++e) n = this.all_frames[e], n.texture_img.c2webGL_texture = null, n.webGL_texture = null
- }
- }, p.onRestoreWebGLContext = function() {
- if (!this.is_family && this.instances.length) {
- var e, t, n;
- for (e = 0, t = this.all_frames.length; t > e; ++e) n = this.all_frames[e], n.webGL_texture = this.runtime.glwrap.loadTexture(n.texture_img, !1, this.runtime.linearSampling, n.pixelformat);
- this.updateAllCurrentTexture()
- }
- }, p.loadTextures = function() {
- if (!this.is_family && !this.has_loaded_textures && this.runtime.glwrap) {
- var e, t, n;
- for (e = 0, t = this.all_frames.length; t > e; ++e) n = this.all_frames[e], n.webGL_texture = this.runtime.glwrap.loadTexture(n.texture_img, !1, this.runtime.linearSampling, n.pixelformat);
- this.has_loaded_textures = !0
- }
- }, p.unloadTextures = function() {
- if (!this.is_family && !this.instances.length && this.has_loaded_textures) {
- var e, t, n;
- for (e = 0, t = this.all_frames.length; t > e; ++e) n = this.all_frames[e], this.runtime.glwrap.deleteTexture(n.webGL_texture), n.webGL_texture = null;
- this.has_loaded_textures = !1
- }
- };
- var d = [];
- p.preloadCanvas2D = function(e) {
- var t, n, r;
- for (d.length = 0, t = 0, n = this.all_frames.length; n > t; ++t) r = this.all_frames[t].texture_img, -1 === d.indexOf(r) && (e.drawImage(r, 0, 0), d.push(r))
- }, h.Instance = function(e) {
- this.type = e, this.runtime = e.runtime;
- var t = this.type.animations[0].frames[0].poly_pts;
- this.recycled ? this.collision_poly.set_pts(t) : this.collision_poly = new cr.CollisionPoly(t)
- };
- var v = h.Instance.prototype;
- v.onCreate = function() {
- this.visible = 0 === this.properties[0], this.isTicking = !1, this.inAnimTrigger = !1, this.collisionsEnabled = 0 !== this.properties[3], 1 === this.type.animations.length && 1 === this.type.animations[0].frames.length || 0 === this.type.animations[0].speed || (this.runtime.tickMe(this), this.isTicking = !0), this.cur_animation = this.getAnimationByName(this.properties[1]) || this.type.animations[0], this.cur_frame = this.properties[2], this.cur_frame < 0 && (this.cur_frame = 0), this.cur_frame >= this.cur_animation.frames.length && (this.cur_frame = this.cur_animation.frames.length - 1);
- var e = this.cur_animation.frames[this.cur_frame];
- this.collision_poly.set_pts(e.poly_pts), this.hotspotX = e.hotspotX, this.hotspotY = e.hotspotY, this.cur_anim_speed = this.cur_animation.speed, this.recycled ? this.animTimer.reset() : this.animTimer = new cr.KahanAdder, this.frameStart = this.getNowTime(), this.animPlaying = !0, this.animRepeats = 0, this.animForwards = !0, this.animTriggerName = "", this.changeAnimName = "", this.changeAnimFrom = 0, this.changeAnimFrame = -1, this.type.loadTextures();
- var t, n, r, i, s, o, u, a;
- for (t = 0, n = this.type.animations.length; n > t; t++)
- for (s = this.type.animations[t], r = 0, i = s.frames.length; i > r; r++) o = s.frames[r], 0 === o.width && (o.width = o.texture_img.width, o.height = o.texture_img.height), o.spritesheeted && (a = o.texture_img, u = o.sheetTex, u.left = o.offx / a.width, u.top = o.offy / a.height, u.right = (o.offx + o.width) / a.width, u.bottom = (o.offy + o.height) / a.height, 0 === o.offx && 0 === o.offy && o.width === a.width && o.height === a.height && (o.spritesheeted = !1));
- this.curFrame = this.cur_animation.frames[this.cur_frame], this.curWebGLTexture = this.curFrame.webGL_texture
- }, v.saveToJSON = function() {
- var e = {
- a: this.cur_animation.sid,
- f: this.cur_frame,
- cas: this.cur_anim_speed,
- fs: this.frameStart,
- ar: this.animRepeats,
- at: this.animTimer.sum
- };
- return this.animPlaying || (e.ap = this.animPlaying), this.animForwards || (e.af = this.animForwards), e
- }, v.loadFromJSON = function(e) {
- var t = this.getAnimationBySid(e.a);
- t && (this.cur_animation = t), this.cur_frame = e.f, this.cur_frame < 0 && (this.cur_frame = 0), this.cur_frame >= this.cur_animation.frames.length && (this.cur_frame = this.cur_animation.frames.length - 1), this.cur_anim_speed = e.cas, this.frameStart = e.fs, this.animRepeats = e.ar, this.animTimer.reset(), this.animTimer.sum = e.at, this.animPlaying = e.hasOwnProperty("ap") ? e.ap : !0, this.animForwards = e.hasOwnProperty("af") ? e.af : !0, this.curFrame = this.cur_animation.frames[this.cur_frame], this.curWebGLTexture = this.curFrame.webGL_texture, this.collision_poly.set_pts(this.curFrame.poly_pts), this.hotspotX = this.curFrame.hotspotX, this.hotspotY = this.curFrame.hotspotY
- }, v.animationFinish = function(e) {
- this.cur_frame = e ? 0 : this.cur_animation.frames.length - 1, this.animPlaying = !1, this.animTriggerName = this.cur_animation.name, this.inAnimTrigger = !0, this.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnAnyAnimFinished, this), this.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnAnimFinished, this), this.inAnimTrigger = !1, this.animRepeats = 0
- }, v.getNowTime = function() {
- return this.animTimer.sum
- }, v.tick = function() {
- this.animTimer.add(this.runtime.getDt(this)), this.changeAnimName.length && this.doChangeAnim(), this.changeAnimFrame >= 0 && this.doChangeAnimFrame();
- var e, t = this.getNowTime(),
- n = this.cur_animation,
- r = n.frames[this.cur_frame],
- i = r.duration / this.cur_anim_speed;
- this.animPlaying && t >= this.frameStart + i && (this.animForwards ? this.cur_frame++ : this.cur_frame--, this.frameStart += i, this.cur_frame >= n.frames.length && (n.pingpong ? (this.animForwards = !1, this.cur_frame = n.frames.length - 2) : n.loop ? this.cur_frame = n.repeatto : (this.animRepeats++, this.animRepeats >= n.repeatcount ? this.animationFinish(!1) : this.cur_frame = n.repeatto)), this.cur_frame < 0 && (n.pingpong ? (this.cur_frame = 1, this.animForwards = !0, n.loop || (this.animRepeats++, this.animRepeats >= n.repeatcount && this.animationFinish(!0))) : n.loop ? this.cur_frame = n.repeatto : (this.animRepeats++, this.animRepeats >= n.repeatcount ? this.animationFinish(!0) : this.cur_frame = n.repeatto)), this.cur_frame < 0 ? this.cur_frame = 0 : this.cur_frame >= n.frames.length && (this.cur_frame = n.frames.length - 1), t > this.frameStart + n.frames[this.cur_frame].duration / this.cur_anim_speed && (this.frameStart = t), e = n.frames[this.cur_frame], this.OnFrameChanged(r, e), this.runtime.redraw = !0)
- }, v.getAnimationByName = function(e) {
- var t, n, r;
- for (t = 0, n = this.type.animations.length; n > t; t++)
- if (r = this.type.animations[t], cr.equals_nocase(r.name, e)) return r;
- return null
- }, v.getAnimationBySid = function(e) {
- var t, n, r;
- for (t = 0, n = this.type.animations.length; n > t; t++)
- if (r = this.type.animations[t], r.sid === e) return r;
- return null
- }, v.doChangeAnim = function() {
- var e = this.cur_animation.frames[this.cur_frame],
- t = this.getAnimationByName(this.changeAnimName);
- this.changeAnimName = "", t && (cr.equals_nocase(t.name, this.cur_animation.name) && this.animPlaying || (this.cur_animation = t, this.cur_anim_speed = t.speed, this.cur_frame < 0 && (this.cur_frame = 0), this.cur_frame >= this.cur_animation.frames.length && (this.cur_frame = this.cur_animation.frames.length - 1), 1 === this.changeAnimFrom && (this.cur_frame = 0), this.animPlaying = !0, this.frameStart = this.getNowTime(), this.animForwards = !0, this.OnFrameChanged(e, this.cur_animation.frames[this.cur_frame]), this.runtime.redraw = !0))
- }, v.doChangeAnimFrame = function() {
- var e = this.cur_animation.frames[this.cur_frame],
- t = this.cur_frame;
- this.cur_frame = cr.floor(this.changeAnimFrame), this.cur_frame < 0 && (this.cur_frame = 0), this.cur_frame >= this.cur_animation.frames.length && (this.cur_frame = this.cur_animation.frames.length - 1), t !== this.cur_frame && (this.OnFrameChanged(e, this.cur_animation.frames[this.cur_frame]), this.frameStart = this.getNowTime(), this.runtime.redraw = !0), this.changeAnimFrame = -1
- }, v.OnFrameChanged = function(e, t) {
- var n = e.width,
- r = e.height,
- i = t.width,
- s = t.height;
- n != i && (this.width *= i / n), r != s && (this.height *= s / r), this.hotspotX = t.hotspotX, this.hotspotY = t.hotspotY, this.collision_poly.set_pts(t.poly_pts), this.set_bbox_changed(), this.curFrame = t, this.curWebGLTexture = t.webGL_texture;
- var o, u, a;
- for (o = 0, u = this.behavior_insts.length; u > o; o++) a = this.behavior_insts[o], a.onSpriteFrameChanged && a.onSpriteFrameChanged(e, t);
- this.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnFrameChanged, this)
- }, v.draw = function(e) {
- e.globalAlpha = this.opacity;
- var t = this.curFrame,
- n = t.spritesheeted,
- r = t.texture_img,
- i = this.x,
- s = this.y,
- o = this.width,
- u = this.height;
- if (0 === this.angle && o >= 0 && u >= 0) i -= this.hotspotX * o, s -= this.hotspotY * u, this.runtime.pixel_rounding && (i = i + .5 | 0, s = s + .5 | 0), n ? e.drawImage(r, t.offx, t.offy, t.width, t.height, i, s, o, u) : e.drawImage(r, i, s, o, u);
- else {
- this.runtime.pixel_rounding && (i = i + .5 | 0, s = s + .5 | 0), e.save();
- var a = o > 0 ? 1 : -1,
- f = u > 0 ? 1 : -1;
- e.translate(i, s), (1 !== a || 1 !== f) && e.scale(a, f), e.rotate(this.angle * a * f);
- var l = 0 - this.hotspotX * cr.abs(o),
- c = 0 - this.hotspotY * cr.abs(u);
- n ? e.drawImage(r, t.offx, t.offy, t.width, t.height, l, c, cr.abs(o), cr.abs(u)) : e.drawImage(r, l, c, cr.abs(o), cr.abs(u)), e.restore()
- }
- }, v.drawGL = function(e) {
- e.setTexture(this.curWebGLTexture), e.setOpacity(this.opacity);
- var t = this.curFrame,
- n = this.bquad;
- if (this.runtime.pixel_rounding) {
- var r = (this.x + .5 | 0) - this.x,
- i = (this.y + .5 | 0) - this.y;
- t.spritesheeted ? e.quadTex(n.tlx + r, n.tly + i, n.trx + r, n.try_ + i, n.brx + r, n.bry + i, n.blx + r, n.bly + i, t.sheetTex) : e.quad(n.tlx + r, n.tly + i, n.trx + r, n.try_ + i, n.brx + r, n.bry + i, n.blx + r, n.bly + i)
- } else t.spritesheeted ? e.quadTex(n.tlx, n.tly, n.trx, n.try_, n.brx, n.bry, n.blx, n.bly, t.sheetTex) : e.quad(n.tlx, n.tly, n.trx, n.try_, n.brx, n.bry, n.blx, n.bly)
- }, v.getImagePointIndexByName = function(e) {
- var t, n, r = this.curFrame;
- for (t = 0, n = r.image_points.length; n > t; t++)
- if (cr.equals_nocase(e, r.image_points[t][0])) return t;
- return -1
- }, v.getImagePoint = function(e, t) {
- var n, r = this.curFrame,
- i = r.image_points;
- if (n = cr.is_string(e) ? this.getImagePointIndexByName(e) : e - 1, n = cr.floor(n), 0 > n || n >= i.length) return t ? this.x : this.y;
- var s = (i[n][1] - r.hotspotX) * this.width,
- o = i[n][2];
- o = (o - r.hotspotY) * this.height;
- var u = Math.cos(this.angle),
- a = Math.sin(this.angle),
- f = s * u - o * a;
- return o = o * u + s * a, s = f, s += this.x, o += this.y, t ? s : o
- };
- var m = [],
- g = -2,
- y = [];
- t.prototype.OnCollision = function(e) {
- if (!e) return !1;
- var t = this.runtime,
- n = t.getCurrentCondition(),
- r = n.type;
- n.extra.collmemory || (n.extra.collmemory = {}, t.addDestroyCallback(function(e) {
- return function(t) {
- u(e, t)
- }
- }(n.extra.collmemory))); {
- var i, f, l, c, h, p, d, v, m, b = n.extra.collmemory,
- w = r.getCurrentSol(),
- E = e.getCurrentSol(),
- S = w.getObjects(),
- x = this.runtime.tickcount,
- T = x - 1,
- N = t.getCurrentEventStack().current_event;
- N.orblock
- }
- for (f = 0; f < S.length; f++) {
- for (l = S[f], E.select_all ? (l.update_bbox(), this.runtime.getCollisionCandidates(l.layer, e, l.bbox, y), i = y) : i = E.getObjects(), c = 0; c < i.length; c++) h = i[c], t.testOverlap(l, h) || t.checkRegisteredCollision(l, h) ? (v = a(b, l, h), m = !v || T > g, s(b, l, h, x), m && (t.pushCopySol(N.solModifiers), p = r.getCurrentSol(), d = e.getCurrentSol(), p.select_all = !1, d.select_all = !1, r === e ? (p.instances.length = 2, p.instances[0] = l, p.instances[1] = h, r.applySolToContainer()) : (p.instances.length = 1, d.instances.length = 1, p.instances[0] = l, d.instances[0] = h, r.applySolToContainer(), e.applySolToContainer()), N.retrigger(), t.popSol(N.solModifiers))) : o(b, l, h);
- y.length = 0
- }
- return !1
- };
- var b = null,
- w = new cr.ObjectSet,
- E = !1,
- S = [];
- p.finish = function(e) {
- if (E) {
- if (e) {
- var t, n, r, i = this.runtime.getCurrentEventStack().current_event.orblock,
- s = b.getCurrentSol(),
- o = w.valuesRef();
- if (s.select_all) {
- for (s.select_all = !1, s.instances.length = o.length, t = 0, n = o.length; n > t; t++) s.instances[t] = o[t];
- if (i)
- for (s.else_instances.length = 0, t = 0, n = b.instances.length; n > t; t++) r = b.instances[t], w.contains(r) || s.else_instances.push(r)
- } else if (i) {
- var u = s.instances.length;
- for (s.instances.length = u + o.length, t = 0, n = o.length; n > t; t++) s.instances[u + t] = o[t], cr.arrayFindRemove(s.else_instances, o[t])
- } else cr.shallowAssignArray(s.instances, o);
- b.applySolToContainer()
- }
- w.clear(), E = !1
- }
- }, t.prototype.IsOverlapping = function(e) {
- return f.call(this, e, 0, 0)
- }, t.prototype.IsOverlappingOffset = function(e, t, n) {
- return f.call(this, e, t, n)
- }, t.prototype.IsAnimPlaying = function(e) {
- return this.changeAnimName.length ? cr.equals_nocase(this.changeAnimName, e) : cr.equals_nocase(this.cur_animation.name, e)
- }, t.prototype.CompareFrame = function(e, t) {
- return cr.do_cmp(this.cur_frame, e, t)
- }, t.prototype.CompareAnimSpeed = function(e, t) {
- var n = this.animForwards ? this.cur_anim_speed : -this.cur_anim_speed;
- return cr.do_cmp(n, e, t)
- }, t.prototype.OnAnimFinished = function(e) {
- return cr.equals_nocase(this.animTriggerName, e)
- }, t.prototype.OnAnyAnimFinished = function() {
- return !0
- }, t.prototype.OnFrameChanged = function() {
- return !0
- }, t.prototype.IsMirrored = function() {
- return this.width < 0
- }, t.prototype.IsFlipped = function() {
- return this.height < 0
- }, t.prototype.OnURLLoaded = function() {
- return !0
- }, t.prototype.IsCollisionEnabled = function() {
- return this.collisionsEnabled
- }, h.cnds = new t, l.prototype.Spawn = function(e, t, n) {
- if (e && t) {
- var r = this.runtime.createInstance(e, t, this.getImagePoint(n, !0), this.getImagePoint(n, !1));
- if (r) {
- "undefined" != typeof r.angle && (r.angle = this.angle, r.set_bbox_changed()), this.runtime.isInOnDestroy++;
- var i, s, o;
- if (this.runtime.trigger(Object.getPrototypeOf(e.plugin).cnds.OnCreated, r), r.is_contained)
- for (i = 0, s = r.siblings.length; s > i; i++) o = r.siblings[i], this.runtime.trigger(Object.getPrototypeOf(o.type.plugin).cnds.OnCreated, o);
- this.runtime.isInOnDestroy--;
- var u = this.runtime.getCurrentAction(),
- a = !1;
- (cr.is_undefined(u.extra.Spawn_LastExec) || u.extra.Spawn_LastExec < this.runtime.execcount) && (a = !0, u.extra.Spawn_LastExec = this.runtime.execcount);
- var f;
- if (e != this.type && (f = e.getCurrentSol(), f.select_all = !1, a ? (f.instances.length = 1, f.instances[0] = r) : f.instances.push(r), r.is_contained))
- for (i = 0, s = r.siblings.length; s > i; i++) o = r.siblings[i], f = o.type.getCurrentSol(), f.select_all = !1, a ? (f.instances.length = 1, f.instances[0] = o) : f.instances.push(o)
- }
- }
- }, l.prototype.SetEffect = function(e) {
- this.compositeOp = cr.effectToCompositeOp(e), cr.setGLBlend(this, e, this.runtime.gl), this.runtime.redraw = !0
- }, l.prototype.StopAnim = function() {
- this.animPlaying = !1
- }, l.prototype.StartAnim = function(e) {
- this.animPlaying = !0, this.frameStart = this.getNowTime(), 1 === e && 0 !== this.cur_frame && (this.changeAnimFrame = 0, this.inAnimTrigger || this.doChangeAnimFrame()), this.isTicking || (this.runtime.tickMe(this), this.isTicking = !0)
- }, l.prototype.SetAnim = function(e, t) {
- this.changeAnimName = e, this.changeAnimFrom = t, this.isTicking || (this.runtime.tickMe(this), this.isTicking = !0), this.inAnimTrigger || this.doChangeAnim()
- }, l.prototype.SetAnimFrame = function(e) {
- this.changeAnimFrame = e, this.isTicking || (this.runtime.tickMe(this), this.isTicking = !0), this.inAnimTrigger || this.doChangeAnimFrame()
- }, l.prototype.SetAnimSpeed = function(e) {
- this.cur_anim_speed = cr.abs(e), this.animForwards = e >= 0, this.isTicking || (this.runtime.tickMe(this), this.isTicking = !0)
- }, l.prototype.SetMirrored = function(e) {
- var t = cr.abs(this.width) * (0 === e ? -1 : 1);
- this.width !== t && (this.width = t, this.set_bbox_changed())
- }, l.prototype.SetFlipped = function(e) {
- var t = cr.abs(this.height) * (0 === e ? -1 : 1);
- this.height !== t && (this.height = t, this.set_bbox_changed())
- }, l.prototype.SetScale = function(e) {
- var t = this.curFrame,
- n = this.width < 0 ? -1 : 1,
- r = this.height < 0 ? -1 : 1,
- i = t.width * e * n,
- s = t.height * e * r;
- (this.width !== i || this.height !== s) && (this.width = i, this.height = s, this.set_bbox_changed())
- }, l.prototype.LoadURL = function(e, t) {
- var n = new Image,
- r = this,
- i = this.curFrame;
- n.onload = function() {
- return i.texture_img.src === n.src ? (r.runtime.glwrap && r.curFrame === i && (r.curWebGLTexture = i.webGL_texture), r.runtime.redraw = !0, void r.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnURLLoaded, r)) : (i.texture_img = n, i.offx = 0, i.offy = 0, i.width = n.width, i.height = n.height, i.spritesheeted = !1, i.datauri = "", r.runtime.glwrap && (i.webGL_texture && r.runtime.glwrap.deleteTexture(i.webGL_texture), i.webGL_texture = r.runtime.glwrap.loadTexture(n, !1, r.runtime.linearSampling), r.curFrame === i && (r.curWebGLTexture = i.webGL_texture), r.type.updateAllCurrentTexture()), 0 === t && (r.width = n.width, r.height = n.height, r.set_bbox_changed()), r.runtime.redraw = !0, void r.runtime.trigger(cr.plugins_.Sprite.prototype.cnds.OnURLLoaded, r))
- }, "data:" !== e.substr(0, 5) && (n.crossOrigin = "anonymous"), n.src = e
- }, l.prototype.SetCollisions = function(e) {
- this.collisionsEnabled !== (0 !== e) && (this.collisionsEnabled = 0 !== e, this.collisionsEnabled ? this.set_bbox_changed() : (this.collcells.right >= this.collcells.left && this.type.collision_grid.update(this, this.collcells, null), this.collcells.set(0, 0, -1, -1)))
- }, h.acts = new l, c.prototype.AnimationFrame = function(e) {
- e.set_int(this.cur_frame)
- }, c.prototype.AnimationFrameCount = function(e) {
- e.set_int(this.cur_animation.frames.length)
- }, c.prototype.AnimationName = function(e) {
- e.set_string(this.cur_animation.name)
- }, c.prototype.AnimationSpeed = function(e) {
- e.set_float(this.animForwards ? this.cur_anim_speed : -this.cur_anim_speed)
- }, c.prototype.ImagePointX = function(e, t) {
- e.set_float(this.getImagePoint(t, !0))
- }, c.prototype.ImagePointY = function(e, t) {
- e.set_float(this.getImagePoint(t, !1))
- }, c.prototype.ImagePointCount = function(e) {
- e.set_int(this.curFrame.image_points.length)
- }, c.prototype.ImageWidth = function(e) {
- e.set_float(this.curFrame.width)
- }, c.prototype.ImageHeight = function(e) {
- e.set_float(this.curFrame.height)
- }, h.exps = new c
- }(), cr.plugins_.Text = function(e) {
- this.runtime = e
- },
- function() {
- function e() {
- return c.length ? c.pop() : {}
- }
- function t(e) {
- c.push(e)
- }
- function n(e) {
- var n, r;
- for (n = 0, r = e.length; r > n; n++) t(e[n]);
- e.length = 0
- }
- function r() {}
- function i() {}
- function s() {}
- var o = cr.plugins_.Text.prototype;
- o.onCreate = function() {
- o.acts.SetWidth = function(e) {
- this.width !== e && (this.width = e, this.text_changed = !0, this.set_bbox_changed())
- }
- }, o.Type = function(e) {
- this.plugin = e, this.runtime = e.runtime
- };
- var u = o.Type.prototype;
- u.onCreate = function() {}, u.onLostWebGLContext = function() {
- if (!this.is_family) {
- var e, t, n;
- for (e = 0, t = this.instances.length; t > e; e++) n = this.instances[e], n.mycanvas = null, n.myctx = null, n.mytex = null
- }
- }, o.Instance = function(e) {
- this.type = e, this.runtime = e.runtime, this.recycled ? this.lines.length = 0 : this.lines = [], this.text_changed = !0
- };
- var a = o.Instance.prototype,
- f = {};
- a.onCreate = function() {
- this.text = this.properties[0], this.visible = 0 === this.properties[1], this.font = this.properties[2], this.color = this.properties[3], this.halign = this.properties[4], this.valign = this.properties[5], this.wrapbyword = 0 === this.properties[7], this.lastwidth = this.width, this.lastwrapwidth = this.width, this.lastheight = this.height, this.line_height_offset = this.properties[8], this.facename = "", this.fontstyle = "", this.ptSize = 0, this.textWidth = 0, this.textHeight = 0, this.parseFont(), this.mycanvas = null, this.myctx = null, this.mytex = null, this.need_text_redraw = !1, this.last_render_tick = this.runtime.tickcount, this.recycled ? this.rcTex.set(0, 0, 1, 1) : this.rcTex = new cr.rect(0, 0, 1, 1), this.runtime.glwrap && this.runtime.tickMe(this)
- }, a.parseFont = function() {
- var e, t = this.font.split(" ");
- for (e = 0; e < t.length; e++)
- if ("pt" === t[e].substr(t[e].length - 2, 2)) {
- for (this.ptSize = parseInt(t[e].substr(0, t[e].length - 2)), this.pxHeight = Math.ceil(this.ptSize / 72 * 96) + 4, e > 0 && (this.fontstyle = t[e - 1]), this.facename = t[e + 1], e += 2; e < t.length; e++) this.facename += " " + t[e];
- break
- }
- }, a.saveToJSON = function() {
- return {
- t: this.text,
- f: this.font,
- c: this.color,
- ha: this.halign,
- va: this.valign,
- wr: this.wrapbyword,
- lho: this.line_height_offset,
- fn: this.facename,
- fs: this.fontstyle,
- ps: this.ptSize,
- pxh: this.pxHeight,
- tw: this.textWidth,
- th: this.textHeight,
- lrt: this.last_render_tick
- }
- }, a.loadFromJSON = function(e) {
- this.text = e.t, this.font = e.f, this.color = e.c, this.halign = e.ha, this.valign = e.va, this.wrapbyword = e.wr, this.line_height_offset = e.lho, this.facename = e.fn, this.fontstyle = e.fs, this.ptSize = e.ps, this.pxHeight = e.pxh, this.textWidth = e.tw, this.textHeight = e.th, this.last_render_tick = e.lrt, this.text_changed = !0, this.lastwidth = this.width, this.lastwrapwidth = this.width, this.lastheight = this.height
- }, a.tick = function() {
- if (this.runtime.glwrap && this.mytex && this.runtime.tickcount - this.last_render_tick >= 300) {
- var e = this.layer;
- this.update_bbox();
- var t = this.bbox;
- (t.right < e.viewLeft || t.bottom < e.viewTop || t.left > e.viewRight || t.top > e.viewBottom) && (this.runtime.glwrap.deleteTexture(this.mytex), this.mytex = null, this.myctx = null, this.mycanvas = null)
- }
- }, a.onDestroy = function() {
- this.myctx = null, this.mycanvas = null, this.runtime.glwrap && this.mytex && this.runtime.glwrap.deleteTexture(this.mytex), this.mytex = null
- }, a.updateFont = function() {
- this.font = this.fontstyle + " " + this.ptSize.toString() + "pt " + this.facename, this.text_changed = !0, this.runtime.redraw = !0
- }, a.draw = function(e, t) {
- e.font = this.font, e.textBaseline = "top", e.fillStyle = this.color, e.globalAlpha = t ? 1 : this.opacity;
- var n = 1;
- t && (n = this.layer.getScale(), e.save(), e.scale(n, n)), (this.text_changed || this.width !== this.lastwrapwidth) && (this.type.plugin.WordWrap(this.text, this.lines, e, this.width, this.wrapbyword), this.text_changed = !1, this.lastwrapwidth = this.width), this.update_bbox();
- var r = t ? 0 : this.bquad.tlx,
- i = t ? 0 : this.bquad.tly;
- this.runtime.pixel_rounding && (r = r + .5 | 0, i = i + .5 | 0), 0 === this.angle || t || (e.save(), e.translate(r, i), e.rotate(this.angle), r = 0, i = 0);
- var s = i + this.height,
- o = this.pxHeight;
- o += this.line_height_offset;
- var u, a;
- for (1 === this.valign ? i += Math.max(this.height / 2 - this.lines.length * o / 2, 0) : 2 === this.valign && (i += Math.max(this.height - this.lines.length * o - 2, 0)), a = 0; a < this.lines.length && (u = r, 1 === this.halign ? u = r + (this.width - this.lines[a].width) / 2 : 2 === this.halign && (u = r + (this.width - this.lines[a].width)), e.fillText(this.lines[a].text, u, i), i += o, !(i >= s - o)); a++);
- (0 !== this.angle || t) && e.restore(), this.last_render_tick = this.runtime.tickcount
- }, a.drawGL = function(e) {
- if (!(this.width < 1 || this.height < 1)) {
- var t = this.text_changed || this.need_text_redraw;
- this.need_text_redraw = !1;
- var n = this.layer.getScale(),
- r = this.layer.getAngle(),
- i = this.rcTex,
- s = n * this.width,
- o = n * this.height,
- u = Math.ceil(s),
- a = Math.ceil(o),
- f = this.runtime.draw_width / 2,
- l = this.runtime.draw_height / 2;
- this.myctx || (this.mycanvas = document.createElement("canvas"), this.mycanvas.width = u, this.mycanvas.height = a, this.lastwidth = u, this.lastheight = a, t = !0, this.myctx = this.mycanvas.getContext("2d")), (u !== this.lastwidth || a !== this.lastheight) && (this.mycanvas.width = u, this.mycanvas.height = a, this.mytex && (e.deleteTexture(this.mytex), this.mytex = null), t = !0), t && (this.myctx.clearRect(0, 0, u, a), this.draw(this.myctx, !0), this.mytex || (this.mytex = e.createEmptyTexture(u, a, this.runtime.linearSampling, this.runtime.isMobile)), e.videoToTexture(this.mycanvas, this.mytex, this.runtime.isMobile)), this.lastwidth = u, this.lastheight = a, e.setTexture(this.mytex), e.setOpacity(this.opacity), e.resetModelView(), e.translate(-f, -l), e.updateModelView();
- var c = this.bquad,
- h = this.layer.layerToCanvas(c.tlx, c.tly, !0, !0),
- p = this.layer.layerToCanvas(c.tlx, c.tly, !1, !0),
- d = this.layer.layerToCanvas(c.trx, c.try_, !0, !0),
- v = this.layer.layerToCanvas(c.trx, c.try_, !1, !0),
- m = this.layer.layerToCanvas(c.brx, c.bry, !0, !0),
- g = this.layer.layerToCanvas(c.brx, c.bry, !1, !0),
- y = this.layer.layerToCanvas(c.blx, c.bly, !0, !0),
- b = this.layer.layerToCanvas(c.blx, c.bly, !1, !0);
- if (this.runtime.pixel_rounding || 0 === this.angle && 0 === r) {
- var w = (h + .5 | 0) - h,
- E = (p + .5 | 0) - p;
- h += w, p += E, d += w, v += E, m += w, g += E, y += w, b += E
- }
- 0 === this.angle && 0 === r ? (d = h + u, v = p, m = d, g = p + a, y = h, b = g, i.right = 1, i.bottom = 1) : (i.right = s / u, i.bottom = o / a), e.quadTex(h, p, d, v, m, g, y, b, i), e.resetModelView(), e.scale(n, n), e.rotateZ(-this.layer.getAngle()), e.translate((this.layer.viewLeft + this.layer.viewRight) / -2, (this.layer.viewTop + this.layer.viewBottom) / -2), e.updateModelView(), this.last_render_tick = this.runtime.tickcount
- }
- };
- var l = [];
- o.TokeniseWords = function(e) {
- l.length = 0;
- for (var t, n = "", r = 0; r < e.length;)
- if (t = e.charAt(r), "\n" === t) n.length && (l.push(n), n = ""), l.push("\n"), ++r;
- else if (" " === t || " " === t || "-" === t) {
- do n += e.charAt(r), r++; while (r < e.length && (" " === e.charAt(r) || " " === e.charAt(r)));
- l.push(n), n = ""
- } else r < e.length && (n += t, r++);
- n.length && l.push(n)
- };
- var c = [];
- o.WordWrap = function(t, r, i, s, o) {
- if (!t || !t.length) return void n(r);
- if (2 >= s) return void n(r);
- if (t.length <= 100 && -1 === t.indexOf("\n")) {
- var u = i.measureText(t).width;
- if (s >= u) return n(r), r.push(e()), r[0].text = t, void(r[0].width = u)
- }
- this.WrapText(t, r, i, s, o)
- }, o.WrapText = function(n, r, i, s, o) {
- var u;
- o ? (this.TokeniseWords(n), u = l) : u = n;
- var a, f, c, p, d = "",
- v = 0;
- for (c = 0; c < u.length; c++) "\n" !== u[c] ? (a = d, d += u[c], f = i.measureText(d).width, f >= s && (v >= r.length && r.push(e()), p = r[v], p.text = a, p.width = i.measureText(a).width, v++, d = u[c], o || " " !== d || (d = ""))) : (v >= r.length && r.push(e()), p = r[v], p.text = d, p.width = i.measureText(d).width, v++, d = "");
- for (d.length && (v >= r.length && r.push(e()), p = r[v], p.text = d, p.width = i.measureText(d).width, v++), c = v; c < r.length; c++) t(r[c]);
- r.length = v
- }, r.prototype.CompareText = function(e, t) {
- return t ? this.text == e : cr.equals_nocase(this.text, e)
- }, o.cnds = new r, i.prototype.SetText = function(e) {
- cr.is_number(e) && 1e9 > e && (e = Math.round(1e10 * e) / 1e10);
- var t = e.toString();
- this.text !== t && (this.text = t, this.text_changed = !0, this.runtime.redraw = !0)
- }, i.prototype.AppendText = function(e) {
- cr.is_number(e) && (e = Math.round(1e10 * e) / 1e10);
- var t = e.toString();
- t && (this.text += t, this.text_changed = !0, this.runtime.redraw = !0)
- }, i.prototype.SetFontFace = function(e, t) {
- var n = "";
- switch (t) {
- case 1:
- n = "bold";
- break;
- case 2:
- n = "italic";
- break;
- case 3:
- n = "bold italic"
- }(e !== this.facename || n !== this.fontstyle) && (this.facename = e, this.fontstyle = n, this.updateFont())
- }, i.prototype.SetFontSize = function(e) {
- this.ptSize !== e && (this.ptSize = e, this.pxHeight = Math.ceil(this.ptSize / 72 * 96) + 4, this.updateFont())
- }, i.prototype.SetFontColor = function(e) {
- var t = "rgb(" + cr.GetRValue(e).toString() + "," + cr.GetGValue(e).toString() + "," + cr.GetBValue(e).toString() + ")";
- t !== this.color && (this.color = t, this.need_text_redraw = !0, this.runtime.redraw = !0)
- }, i.prototype.SetWebFont = function(e, t) {
- if (this.runtime.isDomFree) return void cr.logexport("[Construct 2] Text plugin: 'Set web font' not supported on this platform - the action has been ignored");
- var n = this,
- r = function() {
- n.runtime.redraw = !0, n.text_changed = !0
- };
- if (f.hasOwnProperty(t)) {
- var i = "'" + e + "'";
- if (this.facename === i) return;
- this.facename = i, this.updateFont();
- for (var s = 1; 10 > s; s++) setTimeout(r, 100 * s), setTimeout(r, 1e3 * s)
- } else {
- var o = document.createElement("link");
- o.href = t, o.rel = "stylesheet", o.type = "text/css", o.onload = r, document.getElementsByTagName("head")[0].appendChild(o), f[t] = !0, this.facename = "'" + e + "'", this.updateFont();
- for (var s = 1; 10 > s; s++) setTimeout(r, 100 * s), setTimeout(r, 1e3 * s)
- }
- }, i.prototype.SetEffect = function(e) {
- this.compositeOp = cr.effectToCompositeOp(e), cr.setGLBlend(this, e, this.runtime.gl), this.runtime.redraw = !0
- }, o.acts = new i, s.prototype.Text = function(e) {
- e.set_string(this.text)
- }, s.prototype.FaceName = function(e) {
- e.set_string(this.facename)
- }, s.prototype.FaceSize = function(e) {
- e.set_int(this.ptSize)
- }, s.prototype.TextWidth = function(e) {
- var t, n, r, i = 0;
- for (t = 0, n = this.lines.length; n > t; t++) r = this.lines[t].width, r > i && (i = r);
- e.set_int(i)
- }, s.prototype.TextHeight = function(e) {
- e.set_int(this.lines.length * (this.pxHeight + this.line_height_offset) - this.line_height_offset)
- }, o.exps = new s
- }(), cr.plugins_.TiledBg = function(e) {
- this.runtime = e
- },
- function() {
- function e() {}
- function t() {}
- function n() {}
- var r = cr.plugins_.TiledBg.prototype;
- r.Type = function(e) {
- this.plugin = e, this.runtime = e.runtime
- };
- var i = r.Type.prototype;
- i.onCreate = function() {
- this.is_family || (this.texture_img = new Image, this.texture_img.idtkLoadDisposed = !0, this.texture_img.src = this.texture_file, this.texture_img.cr_filesize = this.texture_filesize, this.runtime.waitForImageLoad(this.texture_img), this.pattern = null, this.webGL_texture = null)
- }, i.onLostWebGLContext = function() {
- this.is_family || (this.webGL_texture = null)
- }, i.onRestoreWebGLContext = function() {
- if (!this.is_family && this.instances.length) {
- this.webGL_texture || (this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, !0, this.runtime.linearSampling, this.texture_pixelformat));
- var e, t;
- for (e = 0, t = this.instances.length; t > e; e++) this.instances[e].webGL_texture = this.webGL_texture
- }
- }, i.loadTextures = function() {
- this.is_family || this.webGL_texture || !this.runtime.glwrap || (this.webGL_texture = this.runtime.glwrap.loadTexture(this.texture_img, !0, this.runtime.linearSampling, this.texture_pixelformat))
- }, i.unloadTextures = function() {
- this.is_family || this.instances.length || !this.webGL_texture || (this.runtime.glwrap.deleteTexture(this.webGL_texture), this.webGL_texture = null)
- }, i.preloadCanvas2D = function(e) {
- e.drawImage(this.texture_img, 0, 0)
- }, r.Instance = function(e) {
- this.type = e, this.runtime = e.runtime
- };
- var s = r.Instance.prototype;
- s.onCreate = function() {
- this.visible = 0 === this.properties[0], this.rcTex = new cr.rect(0, 0, 0, 0), this.has_own_texture = !1, this.texture_img = this.type.texture_img, this.runtime.glwrap ? (this.type.loadTextures(), this.webGL_texture = this.type.webGL_texture) : (this.type.pattern || (this.type.pattern = this.runtime.ctx.createPattern(this.type.texture_img, "repeat")), this.pattern = this.type.pattern)
- }, s.afterLoad = function() {
- this.has_own_texture = !1, this.texture_img = this.type.texture_img
- }, s.onDestroy = function() {
- this.runtime.glwrap && this.has_own_texture && this.webGL_texture && (this.runtime.glwrap.deleteTexture(this.webGL_texture), this.webGL_texture = null)
- }, s.draw = function(e) {
- e.globalAlpha = this.opacity, e.save(), e.fillStyle = this.pattern;
- var t = this.x,
- n = this.y;
- this.runtime.pixel_rounding && (t = t + .5 | 0, n = n + .5 | 0);
- var r = -(this.hotspotX * this.width),
- i = -(this.hotspotY * this.height),
- s = r % this.texture_img.width,
- o = i % this.texture_img.height;
- 0 > s && (s += this.texture_img.width), 0 > o && (o += this.texture_img.height), e.translate(t, n), e.rotate(this.angle), e.translate(s, o), e.fillRect(r - s, i - o, this.width, this.height), e.restore()
- }, s.drawGL = function(e) {
- e.setTexture(this.webGL_texture), e.setOpacity(this.opacity);
- var t = this.rcTex;
- t.right = this.width / this.texture_img.width, t.bottom = this.height / this.texture_img.height;
- var n = this.bquad;
- if (this.runtime.pixel_rounding) {
- var r = (this.x + .5 | 0) - this.x,
- i = (this.y + .5 | 0) - this.y;
- e.quadTex(n.tlx + r, n.tly + i, n.trx + r, n.try_ + i, n.brx + r, n.bry + i, n.blx + r, n.bly + i, t)
- } else e.quadTex(n.tlx, n.tly, n.trx, n.try_, n.brx, n.bry, n.blx, n.bly, t)
- }, e.prototype.OnURLLoaded = function() {
- return !0
- }, r.cnds = new e, t.prototype.SetEffect = function(e) {
- this.compositeOp = cr.effectToCompositeOp(e), cr.setGLBlend(this, e, this.runtime.gl), this.runtime.redraw = !0
- }, t.prototype.LoadURL = function(e) {
- var t = new Image,
- n = this;
- t.onload = function() {
- n.texture_img = t, n.runtime.glwrap ? (n.has_own_texture && n.webGL_texture && n.runtime.glwrap.deleteTexture(n.webGL_texture), n.webGL_texture = n.runtime.glwrap.loadTexture(t, !0, n.runtime.linearSampling)) : n.pattern = n.runtime.ctx.createPattern(t, "repeat"), n.has_own_texture = !0, n.runtime.redraw = !0, n.runtime.trigger(cr.plugins_.TiledBg.prototype.cnds.OnURLLoaded, n)
- }, "data:" !== e.substr(0, 5) && (t.crossOrigin = "anonymous"), t.src = e
- }, r.acts = new t, n.prototype.ImageWidth = function(e) {
- e.set_float(this.texture_img.width)
- }, n.prototype.ImageHeight = function(e) {
- e.set_float(this.texture_img.height)
- }, r.exps = new n
- }(), cr.plugins_.Touch = function(e) {
- this.runtime = e
- },
- function() {
- function e(e) {
- c = e.x, h = e.y, p = e.z
- }
- function t(e) {
- d = e.x, v = e.y, m = e.z
- }
- function n(e, t, n, r) {
- var s;
- return s = y.length ? y.pop() : new i, s.init(e, t, n, r), s
- }
- function r(e) {
- y.length < 100 && y.push(e)
- }
- function i() {
- this.starttime = 0, this.time = 0, this.lasttime = 0, this.startx = 0, this.starty = 0, this.x = 0, this.y = 0, this.lastx = 0, this.lasty = 0, this.id = 0, this.startindex = 0, this.triggeredHold = !1, this.tooFarForHold = !1
- }
- function s() {}
- function o() {}
- var u = cr.plugins_.Touch.prototype;
- u.Type = function(e) {
- this.plugin = e, this.runtime = e.runtime
- };
- var a = u.Type.prototype;
- a.onCreate = function() {}, u.Instance = function(e) {
- this.type = e, this.runtime = e.runtime, this.touches = [], this.mouseDown = !1
- };
- var f = u.Instance.prototype,
- l = {
- left: 0,
- top: 0
- };
- f.findTouch = function(e) {
- var t, n;
- for (t = 0, n = this.touches.length; n > t; t++)
- if (this.touches[t].id === e) return t;
- return -1
- };
- var c = 0,
- h = 0,
- p = 0,
- d = 0,
- v = 0,
- m = 0,
- g = null,
- y = [],
- b = 15,
- w = 500,
- E = 333,
- S = 25;
- i.prototype.init = function(e, t, n, r) {
- var i = cr.performance_now();
- this.time = i, this.lasttime = i, this.starttime = i, this.startx = e, this.starty = t, this.x = e, this.y = t, this.lastx = e, this.lasty = t, this.id = n, this.startindex = r, this.triggeredHold = !1, this.tooFarForHold = !1
- }, i.prototype.update = function(e, t, n) {
- this.lasttime = this.time, this.time = e, this.lastx = this.x, this.lasty = this.y, this.x = t, this.y = n, !this.tooFarForHold && cr.distanceTo(this.startx, this.starty, this.x, this.y) >= b && (this.tooFarForHold = !0)
- }, i.prototype.maybeTriggerHold = function(e, t) {
- if (!this.triggeredHold) {
- var n = cr.performance_now();
- n - this.starttime >= w && !this.tooFarForHold && cr.distanceTo(this.startx, this.starty, this.x, this.y) < b && (this.triggeredHold = !0, e.trigger_index = this.startindex, e.trigger_id = this.id, e.getTouchIndex = t, e.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnHoldGesture, e), e.curTouchX = this.x, e.curTouchY = this.y, e.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnHoldGestureObject, e), e.getTouchIndex = 0)
- }
- };
- var x = -1e3,
- T = -1e3,
- N = -1e4;
- i.prototype.maybeTriggerTap = function(e, t) {
- if (!this.triggeredHold) {
- var n = cr.performance_now();
- n - this.starttime <= E && !this.tooFarForHold && cr.distanceTo(this.startx, this.starty, this.x, this.y) < b && (e.trigger_index = this.startindex, e.trigger_id = this.id, e.getTouchIndex = t, 2 * E >= n - N && cr.distanceTo(x, T, this.x, this.y) < S ? (e.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnDoubleTapGesture, e), e.curTouchX = this.x, e.curTouchY = this.y, e.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnDoubleTapGestureObject, e), x = -1e3, T = -1e3, N = -1e4) : (e.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTapGesture, e), e.curTouchX = this.x, e.curTouchY = this.y, e.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTapGestureObject, e), x = this.x, T = this.y, N = n), e.getTouchIndex = 0)
- }
- }, f.onCreate = function() {
- g = this, this.isWindows8 = !("undefined" == typeof window.c2isWindows8 || !window.c2isWindows8), this.orient_alpha = 0, this.orient_beta = 0, this.orient_gamma = 0, this.acc_g_x = 0, this.acc_g_y = 0, this.acc_g_z = 0, this.acc_x = 0, this.acc_y = 0, this.acc_z = 0, this.curTouchX = 0, this.curTouchY = 0, this.trigger_index = 0, this.trigger_id = 0, this.getTouchIndex = 0, this.useMouseInput = 0 !== this.properties[0];
- var n = this.runtime.fullscreen_mode > 0 ? document : this.runtime.canvas,
- r = document;
- this.runtime.isDirectCanvas ? r = n = window.Canvas : this.runtime.isCocoonJs && (r = n = window);
- var i = this;
- if (window.navigator.pointerEnabled ? (n.addEventListener("pointerdown", function(e) {
- i.onPointerStart(e)
- }, !1), n.addEventListener("pointermove", function(e) {
- i.onPointerMove(e)
- }, !1), r.addEventListener("pointerup", function(e) {
- i.onPointerEnd(e, !1)
- }, !1), r.addEventListener("pointercancel", function(e) {
- i.onPointerEnd(e, !0)
- }, !1), this.runtime.canvas && (this.runtime.canvas.addEventListener("MSGestureHold", function(e) {
- e.preventDefault()
- }, !1), document.addEventListener("MSGestureHold", function(e) {
- e.preventDefault()
- }, !1), this.runtime.canvas.addEventListener("gesturehold", function(e) {
- e.preventDefault()
- }, !1), document.addEventListener("gesturehold", function(e) {
- e.preventDefault()
- }, !1))) : window.navigator.msPointerEnabled ? (n.addEventListener("MSPointerDown", function(e) {
- i.onPointerStart(e)
- }, !1), n.addEventListener("MSPointerMove", function(e) {
- i.onPointerMove(e)
- }, !1), r.addEventListener("MSPointerUp", function(e) {
- i.onPointerEnd(e, !1)
- }, !1), r.addEventListener("MSPointerCancel", function(e) {
- i.onPointerEnd(e, !0)
- }, !1), this.runtime.canvas && (this.runtime.canvas.addEventListener("MSGestureHold", function(e) {
- e.preventDefault()
- }, !1), document.addEventListener("MSGestureHold", function(e) {
- e.preventDefault()
- }, !1))) : (n.addEventListener("touchstart", function(e) {
- i.onTouchStart(e)
- }, !1), n.addEventListener("touchmove", function(e) {
- i.onTouchMove(e)
- }, !1), r.addEventListener("touchend", function(e) {
- i.onTouchEnd(e, !1)
- }, !1), r.addEventListener("touchcancel", function(e) {
- i.onTouchEnd(e, !0)
- }, !1)), this.isWindows8) {
- var s = function(e) {
- var t = e.reading;
- i.acc_x = t.accelerationX, i.acc_y = t.accelerationY, i.acc_z = t.accelerationZ
- },
- o = function(e) {
- var t = e.reading;
- i.orient_alpha = t.yawDegrees, i.orient_beta = t.pitchDegrees, i.orient_gamma = t.rollDegrees
- },
- u = Windows.Devices.Sensors.Accelerometer.getDefault();
- u && (u.reportInterval = Math.max(u.minimumReportInterval, 16), u.addEventListener("readingchanged", s));
- var a = Windows.Devices.Sensors.Inclinometer.getDefault();
- a && (a.reportInterval = Math.max(a.minimumReportInterval, 16), a.addEventListener("readingchanged", o)), document.addEventListener("visibilitychange", function() {
- document.hidden || document.msHidden ? (u && u.removeEventListener("readingchanged", s), a && a.removeEventListener("readingchanged", o)) : (u && u.addEventListener("readingchanged", s), a && a.addEventListener("readingchanged", o))
- }, !1)
- } else window.addEventListener("deviceorientation", function(e) {
- i.orient_alpha = e.alpha || 0, i.orient_beta = e.beta || 0, i.orient_gamma = e.gamma || 0
- }, !1), window.addEventListener("devicemotion", function(e) {
- e.accelerationIncludingGravity && (i.acc_g_x = e.accelerationIncludingGravity.x || 0, i.acc_g_y = e.accelerationIncludingGravity.y || 0, i.acc_g_z = e.accelerationIncludingGravity.z || 0), e.acceleration && (i.acc_x = e.acceleration.x || 0, i.acc_y = e.acceleration.y || 0, i.acc_z = e.acceleration.z || 0)
- }, !1);
- this.useMouseInput && !this.runtime.isDomFree && (jQuery(document).mousemove(function(e) {
- i.onMouseMove(e)
- }), jQuery(document).mousedown(function(e) {
- i.onMouseDown(e)
- }), jQuery(document).mouseup(function(e) {
- i.onMouseUp(e)
- })), this.runtime.isAppMobi && !this.runtime.isDirectCanvas && AppMobi.accelerometer.watchAcceleration(e, {
- frequency: 40,
- adjustForRotation: !0
- }), this.runtime.isPhoneGap && navigator.accelerometer && navigator.accelerometer.watchAcceleration && navigator.accelerometer.watchAcceleration(t, null, {
- frequency: 40
- }), this.runtime.tick2Me(this)
- }, f.onPointerMove = function(e) {
- if (e.pointerType !== e.MSPOINTER_TYPE_MOUSE && "mouse" !== e.pointerType) {
- e.preventDefault && e.preventDefault();
- var t = this.findTouch(e.pointerId),
- n = cr.performance_now();
- if (t >= 0) {
- var r = this.runtime.isDomFree ? l : jQuery(this.runtime.canvas).offset(),
- i = this.touches[t];
- if (n - i.time < 2) return;
- i.update(n, e.pageX - r.left, e.pageY - r.top)
- }
- }
- }, f.onPointerStart = function(e) {
- if (e.pointerType !== e.MSPOINTER_TYPE_MOUSE && "mouse" !== e.pointerType) {
- e.preventDefault && cr.isCanvasInputEvent(e) && e.preventDefault(); {
- var t = this.runtime.isDomFree ? l : jQuery(this.runtime.canvas).offset(),
- r = e.pageX - t.left,
- i = e.pageY - t.top;
- cr.performance_now()
- }
- this.trigger_index = this.touches.length, this.trigger_id = e.pointerId, this.touches.push(n(r, i, e.pointerId, this.trigger_index)), this.runtime.isInUserInputEvent = !0, this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchStart, this), this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchStart, this), this.curTouchX = r, this.curTouchY = i, this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchObject, this), this.runtime.isInUserInputEvent = !1
- }
- }, f.onPointerEnd = function(e, t) {
- if (e.pointerType !== e.MSPOINTER_TYPE_MOUSE && "mouse" !== e.pointerType) {
- e.preventDefault && cr.isCanvasInputEvent(e) && e.preventDefault();
- var n = this.findTouch(e.pointerId);
- this.trigger_index = n >= 0 ? this.touches[n].startindex : -1, this.trigger_id = n >= 0 ? this.touches[n].id : -1, this.runtime.isInUserInputEvent = !0, this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchEnd, this), this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchEnd, this), n >= 0 && (t || this.touches[n].maybeTriggerTap(this, n), r(this.touches[n]), this.touches.splice(n, 1)), this.runtime.isInUserInputEvent = !1
- }
- }, f.onTouchMove = function(e) {
- e.preventDefault && e.preventDefault();
- var t, n, r, i, s = cr.performance_now();
- for (t = 0, n = e.changedTouches.length; n > t; t++) {
- r = e.changedTouches[t];
- var o = this.findTouch(r.identifier);
- if (o >= 0) {
- var u = this.runtime.isDomFree ? l : jQuery(this.runtime.canvas).offset();
- if (i = this.touches[o], s - i.time < 2) continue;
- i.update(s, r.pageX - u.left, r.pageY - u.top)
- }
- }
- }, f.onTouchStart = function(e) {
- e.preventDefault && cr.isCanvasInputEvent(e) && e.preventDefault(); {
- var t = this.runtime.isDomFree ? l : jQuery(this.runtime.canvas).offset();
- cr.performance_now()
- }
- this.runtime.isInUserInputEvent = !0;
- var r, i, s, o;
- for (r = 0, i = e.changedTouches.length; i > r; r++)
- if (s = e.changedTouches[r], o = this.findTouch(s.identifier), -1 === o) {
- var u = s.pageX - t.left,
- a = s.pageY - t.top;
- this.trigger_index = this.touches.length, this.trigger_id = s.identifier, this.touches.push(n(u, a, s.identifier, this.trigger_index)), this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchStart, this), this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchStart, this), this.curTouchX = u, this.curTouchY = a, this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchObject, this)
- }
- this.runtime.isInUserInputEvent = !1
- }, f.onTouchEnd = function(e, t) {
- e.preventDefault && cr.isCanvasInputEvent(e) && e.preventDefault(), this.runtime.isInUserInputEvent = !0;
- var n, i, s, o;
- for (n = 0, i = e.changedTouches.length; i > n; n++) s = e.changedTouches[n], o = this.findTouch(s.identifier), o >= 0 && (this.trigger_index = this.touches[o].startindex, this.trigger_id = this.touches[o].id, this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnNthTouchEnd, this), this.runtime.trigger(cr.plugins_.Touch.prototype.cnds.OnTouchEnd, this), t || this.touches[o].maybeTriggerTap(this, o), r(this.touches[o]), this.touches.splice(o, 1));
- this.runtime.isInUserInputEvent = !1
- }, f.getAlpha = function() {
- return this.runtime.isAppMobi && 0 === this.orient_alpha && 0 !== p ? 90 * p : this.runtime.isPhoneGap && 0 === this.orient_alpha && 0 !== m ? 90 * m : this.orient_alpha
- }, f.getBeta = function() {
- return this.runtime.isAppMobi && 0 === this.orient_beta && 0 !== h ? -90 * h : this.runtime.isPhoneGap && 0 === this.orient_beta && 0 !== v ? -90 * v : this.orient_beta
- }, f.getGamma = function() {
- return this.runtime.isAppMobi && 0 === this.orient_gamma && 0 !== c ? 90 * c : this.runtime.isPhoneGap && 0 === this.orient_gamma && 0 !== d ? 90 * d : this.orient_gamma
- };
- f.onMouseDown = function(e) {
- e.preventDefault && this.runtime.had_a_click && !this.runtime.isMobile && e.preventDefault();
- var t = {
- pageX: e.pageX,
- pageY: e.pageY,
- identifier: 0
- },
- n = {
- changedTouches: [t]
- };
- this.onTouchStart(n), this.mouseDown = !0
- }, f.onMouseMove = function(e) {
- if (this.mouseDown) {
- var t = {
- pageX: e.pageX,
- pageY: e.pageY,
- identifier: 0
- },
- n = {
- changedTouches: [t]
- };
- this.onTouchMove(n)
- }
- }, f.onMouseUp = function(e) {
- e.preventDefault && this.runtime.had_a_click && !this.runtime.isMobile && e.preventDefault(), this.runtime.had_a_click = !0;
- var t = {
- pageX: e.pageX,
- pageY: e.pageY,
- identifier: 0
- },
- n = {
- changedTouches: [t]
- };
- this.onTouchEnd(n), this.mouseDown = !1
- }, f.tick2 = function() {
- var e, t, n, r = cr.performance_now();
- for (e = 0, t = this.touches.length; t > e; ++e) n = this.touches[e], n.time <= r - 50 && (n.lasttime = r), n.maybeTriggerHold(this, e)
- }, s.prototype.OnTouchStart = function() {
- return !0
- }, s.prototype.OnTouchEnd = function() {
- return !0
- }, s.prototype.IsInTouch = function() {
- return this.touches.length
- }, s.prototype.OnTouchObject = function(e) {
- return e ? this.runtime.testAndSelectCanvasPointOverlap(e, this.curTouchX, this.curTouchY, !1) : !1
- };
- var C = [];
- s.prototype.IsTouchingObject = function(e) {
- if (!e) return !1;
- var t, n, r, i, s, o, u = e.getCurrentSol(),
- a = u.getObjects();
- for (r = 0, i = a.length; i > r; r++) {
- var f = a[r];
- for (f.update_bbox(), s = 0, o = this.touches.length; o > s; s++) {
- var l = this.touches[s];
- if (t = f.layer.canvasToLayer(l.x, l.y, !0), n = f.layer.canvasToLayer(l.x, l.y, !1), f.contains_pt(t, n)) {
- C.push(f);
- break
- }
- }
- }
- return C.length ? (u.select_all = !1, cr.shallowAssignArray(u.instances, C), e.applySolToContainer(), C.length = 0, !0) : !1
- }, s.prototype.CompareTouchSpeed = function(e, t, n) {
- if (e = Math.floor(e), 0 > e || e >= this.touches.length) return !1;
- var r = this.touches[e],
- i = cr.distanceTo(r.x, r.y, r.lastx, r.lasty),
- s = (r.time - r.lasttime) / 1e3,
- o = 0;
- return s > 0 && (o = i / s), cr.do_cmp(o, t, n)
- }, s.prototype.OrientationSupported = function() {
- return "undefined" != typeof window.DeviceOrientationEvent
- }, s.prototype.MotionSupported = function() {
- return "undefined" != typeof window.DeviceMotionEvent
- }, s.prototype.CompareOrientation = function(e, t, n) {
- var r = 0;
- return r = 0 === e ? this.getAlpha() : 1 === e ? this.getBeta() : this.getGamma(), cr.do_cmp(r, t, n)
- }, s.prototype.CompareAcceleration = function(e, t, n) {
- var r = 0;
- return 0 === e ? r = this.acc_g_x : 1 === e ? r = this.acc_g_y : 2 === e ? r = this.acc_g_z : 3 === e ? r = this.acc_x : 4 === e ? r = this.acc_y : 5 === e && (r = this.acc_z), cr.do_cmp(r, t, n)
- }, s.prototype.OnNthTouchStart = function(e) {
- return e = Math.floor(e), e === this.trigger_index
- }, s.prototype.OnNthTouchEnd = function(e) {
- return e = Math.floor(e), e === this.trigger_index
- }, s.prototype.HasNthTouch = function(e) {
- return e = Math.floor(e), this.touches.length >= e + 1
- }, s.prototype.OnHoldGesture = function() {
- return !0
- }, s.prototype.OnTapGesture = function() {
- return !0
- }, s.prototype.OnDoubleTapGesture = function() {
- return !0
- }, s.prototype.OnHoldGestureObject = function(e) {
- return e ? this.runtime.testAndSelectCanvasPointOverlap(e, this.curTouchX, this.curTouchY, !1) : !1
- }, s.prototype.OnTapGestureObject = function(e) {
- return e ? this.runtime.testAndSelectCanvasPointOverlap(e, this.curTouchX, this.curTouchY, !1) : !1
- }, s.prototype.OnDoubleTapGestureObject = function(e) {
- return e ? this.runtime.testAndSelectCanvasPointOverlap(e, this.curTouchX, this.curTouchY, !1) : !1
- }, u.cnds = new s, o.prototype.TouchCount = function(e) {
- e.set_int(this.touches.length)
- }, o.prototype.X = function(e, t) {
- var n = this.getTouchIndex;
- if (0 > n || n >= this.touches.length) return void e.set_float(0);
- var r, i, s, o, u;
- cr.is_undefined(t) ? (r = this.runtime.getLayerByNumber(0), i = r.scale, s = r.zoomRate, o = r.parallaxX, u = r.angle, r.scale = this.runtime.running_layout.scale, r.zoomRate = 1, r.parallaxX = 1, r.angle = this.runtime.running_layout.angle, e.set_float(r.canvasToLayer(this.touches[n].x, this.touches[n].y, !0)), r.scale = i, r.zoomRate = s, r.parallaxX = o, r.angle = u) : (r = cr.is_number(t) ? this.runtime.getLayerByNumber(t) : this.runtime.getLayerByName(t), e.set_float(r ? r.canvasToLayer(this.touches[n].x, this.touches[n].y, !0) : 0))
- }, o.prototype.XAt = function(e, t, n) {
- if (t = Math.floor(t), 0 > t || t >= this.touches.length) return void e.set_float(0);
- var r, i, s, o, u;
- cr.is_undefined(n) ? (r = this.runtime.getLayerByNumber(0), i = r.scale, s = r.zoomRate, o = r.parallaxX, u = r.angle, r.scale = this.runtime.running_layout.scale, r.zoomRate = 1, r.parallaxX = 1, r.angle = this.runtime.running_layout.angle, e.set_float(r.canvasToLayer(this.touches[t].x, this.touches[t].y, !0)), r.scale = i, r.zoomRate = s, r.parallaxX = o, r.angle = u) : (r = cr.is_number(n) ? this.runtime.getLayerByNumber(n) : this.runtime.getLayerByName(n), e.set_float(r ? r.canvasToLayer(this.touches[t].x, this.touches[t].y, !0) : 0))
- }, o.prototype.XForID = function(e, t, n) {
- var r = this.findTouch(t);
- if (0 > r) return void e.set_float(0);
- var i, s, o, u, a, f = this.touches[r];
- cr.is_undefined(n) ? (i = this.runtime.getLayerByNumber(0), s = i.scale, o = i.zoomRate, u = i.parallaxX, a = i.angle, i.scale = this.runtime.running_layout.scale, i.zoomRate = 1, i.parallaxX = 1, i.angle = this.runtime.running_layout.angle, e.set_float(i.canvasToLayer(f.x, f.y, !0)), i.scale = s, i.zoomRate = o, i.parallaxX = u, i.angle = a) : (i = cr.is_number(n) ? this.runtime.getLayerByNumber(n) : this.runtime.getLayerByName(n), e.set_float(i ? i.canvasToLayer(f.x, f.y, !0) : 0))
- }, o.prototype.Y = function(e, t) {
- var n = this.getTouchIndex;
- if (0 > n || n >= this.touches.length) return void e.set_float(0);
- var r, i, s, o, u;
- cr.is_undefined(t) ? (r = this.runtime.getLayerByNumber(0), i = r.scale, s = r.zoomRate, o = r.parallaxY, u = r.angle, r.scale = this.runtime.running_layout.scale, r.zoomRate = 1, r.parallaxY = 1, r.angle = this.runtime.running_layout.angle, e.set_float(r.canvasToLayer(this.touches[n].x, this.touches[n].y, !1)), r.scale = i, r.zoomRate = s, r.parallaxY = o, r.angle = u) : (r = cr.is_number(t) ? this.runtime.getLayerByNumber(t) : this.runtime.getLayerByName(t), e.set_float(r ? r.canvasToLayer(this.touches[n].x, this.touches[n].y, !1) : 0))
- }, o.prototype.YAt = function(e, t, n) {
- if (t = Math.floor(t), 0 > t || t >= this.touches.length) return void e.set_float(0);
- var r, i, s, o, u;
- cr.is_undefined(n) ? (r = this.runtime.getLayerByNumber(0), i = r.scale, s = r.zoomRate, o = r.parallaxY, u = r.angle, r.scale = this.runtime.running_layout.scale, r.zoomRate = 1, r.parallaxY = 1, r.angle = this.runtime.running_layout.angle, e.set_float(r.canvasToLayer(this.touches[t].x, this.touches[t].y, !1)), r.scale = i, r.zoomRate = s, r.parallaxY = o, r.angle = u) : (r = cr.is_number(n) ? this.runtime.getLayerByNumber(n) : this.runtime.getLayerByName(n), e.set_float(r ? r.canvasToLayer(this.touches[t].x, this.touches[t].y, !1) : 0))
- }, o.prototype.YForID = function(e, t, n) {
- var r = this.findTouch(t);
- if (0 > r) return void e.set_float(0);
- var i, s, o, u, a, f = this.touches[r];
- cr.is_undefined(n) ? (i = this.runtime.getLayerByNumber(0), s = i.scale, o = i.zoomRate, u = i.parallaxY, a = i.angle, i.scale = this.runtime.running_layout.scale, i.zoomRate = 1, i.parallaxY = 1, i.angle = this.runtime.running_layout.angle, e.set_float(i.canvasToLayer(f.x, f.y, !1)), i.scale = s, i.zoomRate = o, i.parallaxY = u, i.angle = a) : (i = cr.is_number(n) ? this.runtime.getLayerByNumber(n) : this.runtime.getLayerByName(n), e.set_float(i ? i.canvasToLayer(f.x, f.y, !1) : 0))
- }, o.prototype.AbsoluteX = function(e) {
- e.set_float(this.touches.length ? this.touches[0].x : 0)
- }, o.prototype.AbsoluteXAt = function(e, t) {
- return t = Math.floor(t), 0 > t || t >= this.touches.length ? void e.set_float(0) : void e.set_float(this.touches[t].x)
- }, o.prototype.AbsoluteXForID = function(e, t) {
- var n = this.findTouch(t);
- if (0 > n) return void e.set_float(0);
- var r = this.touches[n];
- e.set_float(r.x)
- }, o.prototype.AbsoluteY = function(e) {
- e.set_float(this.touches.length ? this.touches[0].y : 0)
- }, o.prototype.AbsoluteYAt = function(e, t) {
- return t = Math.floor(t), 0 > t || t >= this.touches.length ? void e.set_float(0) : void e.set_float(this.touches[t].y)
- }, o.prototype.AbsoluteYForID = function(e, t) {
- var n = this.findTouch(t);
- if (0 > n) return void e.set_float(0);
- var r = this.touches[n];
- e.set_float(r.y)
- }, o.prototype.SpeedAt = function(e, t) {
- if (t = Math.floor(t), 0 > t || t >= this.touches.length) return void e.set_float(0);
- var n = this.touches[t],
- r = cr.distanceTo(n.x, n.y, n.lastx, n.lasty),
- i = (n.time - n.lasttime) / 1e3;
- e.set_float(0 === i ? 0 : r / i)
- }, o.prototype.SpeedForID = function(e, t) {
- var n = this.findTouch(t);
- if (0 > n) return void e.set_float(0);
- var r = this.touches[n],
- i = cr.distanceTo(r.x, r.y, r.lastx, r.lasty),
- s = (r.time - r.lasttime) / 1e3;
- e.set_float(0 === s ? 0 : i / s)
- }, o.prototype.AngleAt = function(e, t) {
- if (t = Math.floor(t), 0 > t || t >= this.touches.length) return void e.set_float(0);
- var n = this.touches[t];
- e.set_float(cr.to_degrees(cr.angleTo(n.lastx, n.lasty, n.x, n.y)))
- }, o.prototype.AngleForID = function(e, t) {
- var n = this.findTouch(t);
- if (0 > n) return void e.set_float(0);
- var r = this.touches[n];
- e.set_float(cr.to_degrees(cr.angleTo(r.lastx, r.lasty, r.x, r.y)))
- }, o.prototype.Alpha = function(e) {
- e.set_float(this.getAlpha())
- }, o.prototype.Beta = function(e) {
- e.set_float(this.getBeta())
- }, o.prototype.Gamma = function(e) {
- e.set_float(this.getGamma())
- }, o.prototype.AccelerationXWithG = function(e) {
- e.set_float(this.acc_g_x)
- }, o.prototype.AccelerationYWithG = function(e) {
- e.set_float(this.acc_g_y)
- }, o.prototype.AccelerationZWithG = function(e) {
- e.set_float(this.acc_g_z)
- }, o.prototype.AccelerationX = function(e) {
- e.set_float(this.acc_x)
- }, o.prototype.AccelerationY = function(e) {
- e.set_float(this.acc_y)
- }, o.prototype.AccelerationZ = function(e) {
- e.set_float(this.acc_z)
- }, o.prototype.TouchIndex = function(e) {
- e.set_int(this.trigger_index)
- }, o.prototype.TouchID = function(e) {
- e.set_float(this.trigger_id)
- }, u.exps = new o
- }(), cr.plugins_.WebStorage = function(e) {
- this.runtime = e
- },
- function() {
- function e() {
- f || (cr.logexport("[Construct 2] Webstorage plugin: session storage is not supported on this platform. Try using local storage or global variables instead."), f = !0)
- }
- function t() {}
- function n() {}
- function r() {}
- var i = cr.plugins_.WebStorage.prototype;
- i.Type = function(e) {
- this.plugin = e, this.runtime = e.runtime
- };
- var s = i.Type.prototype;
- s.onCreate = function() {}, i.Instance = function(e) {
- this.type = e, this.runtime = e.runtime
- };
- var o = i.Instance.prototype,
- u = "",
- a = "undefined" != typeof window.is_scirra_arcade;
- a && (u = "arcade" + window.scirra_arcade_id);
- var f = !1;
- o.onCreate = function() {}, t.prototype.LocalStorageEnabled = function() {
- return !0
- }, t.prototype.SessionStorageEnabled = function() {
- return !0
- }, t.prototype.LocalStorageExists = function(e) {
- return null != localStorage.getItem(u + e)
- }, t.prototype.SessionStorageExists = function(t) {
- return this.runtime.isCocoonJs || !sessionStorage ? (e(), !1) : null != sessionStorage.getItem(u + t)
- }, t.prototype.OnQuotaExceeded = function() {
- return !0
- }, t.prototype.CompareKeyText = function(e, t, n) {
- var r = localStorage.getItem(u + e) || "";
- return n ? r == t : cr.equals_nocase(r, t)
- }, t.prototype.CompareKeyNumber = function(e, t, n) {
- var r = localStorage.getItem(u + e) || "";
- return cr.do_cmp(parseFloat(r), t, n)
- }, i.cnds = new t, n.prototype.StoreLocal = function(e, t) {
- try {
- localStorage.setItem(u + e, t)
- } catch (n) {
- this.runtime.trigger(cr.plugins_.WebStorage.prototype.cnds.OnQuotaExceeded, this)
- }
- }, n.prototype.StoreSession = function(t, n) {
- if (this.runtime.isCocoonJs || !sessionStorage) return void e();
- try {
- sessionStorage.setItem(u + t, n)
- } catch (r) {
- this.runtime.trigger(cr.plugins_.WebStorage.prototype.cnds.OnQuotaExceeded, this)
- }
- }, n.prototype.RemoveLocal = function(e) {
- localStorage.removeItem(u + e)
- }, n.prototype.RemoveSession = function(t) {
- return this.runtime.isCocoonJs || !sessionStorage ? void e() : void sessionStorage.removeItem(u + t)
- }, n.prototype.ClearLocal = function() {
- a || localStorage.clear()
- }, n.prototype.ClearSession = function() {
- return this.runtime.isCocoonJs || !sessionStorage ? void e() : void(a || sessionStorage.clear())
- }, n.prototype.JSONLoad = function(e, t) {
- var n;
- try {
- n = JSON.parse(e)
- } catch (r) {
- return
- }
- if (n.c2dictionary) {
- var i = n.data;
- 0 !== t || a || localStorage.clear();
- var s;
- for (s in i)
- if (i.hasOwnProperty(s)) try {
- localStorage.setItem(u + s, i[s])
- } catch (r) {
- return void this.runtime.trigger(cr.plugins_.WebStorage.prototype.cnds.OnQuotaExceeded, this)
- }
- }
- }, i.acts = new n, r.prototype.LocalValue = function(e, t) {
- e.set_string(localStorage.getItem(u + t) || "")
- }, r.prototype.SessionValue = function(t, n) {
- return this.runtime.isCocoonJs || !sessionStorage ? (e(), void t.set_string("")) : void t.set_string(sessionStorage.getItem(u + n) || "")
- }, r.prototype.LocalCount = function(e) {
- e.set_int(a ? 0 : localStorage.length)
- }, r.prototype.SessionCount = function(t) {
- return this.runtime.isCocoonJs || !sessionStorage ? (e(), void t.set_int(0)) : void t.set_int(a ? 0 : sessionStorage.length)
- }, r.prototype.LocalAt = function(e, t) {
- e.set_string(a ? "" : localStorage.getItem(localStorage.key(t)) || "")
- }, r.prototype.SessionAt = function(t, n) {
- return this.runtime.isCocoonJs || !sessionStorage ? (e(), void t.set_string("")) : void t.set_string(a ? "" : sessionStorage.getItem(sessionStorage.key(n)) || "")
- }, r.prototype.LocalKeyAt = function(e, t) {
- e.set_string(a ? "" : localStorage.key(t) || "")
- }, r.prototype.SessionKeyAt = function(t, n) {
- return this.runtime.isCocoonJs || !sessionStorage ? (e(), void t.set_string("")) : void t.set_string(a ? "" : sessionStorage.key(n) || "")
- }, r.prototype.AsJSON = function(e) {
- var t, n, r, i = {};
- for (t = 0, n = localStorage.length; n > t; t++) r = localStorage.key(t), a ? r.substr(0, u.length) === u && (i[r.substr(u.length)] = localStorage.getItem(r)) : i[r] = localStorage.getItem(r);
- e.set_string(JSON.stringify({
- c2dictionary: !0,
- data: i
- }))
- }, i.exps = new r
- }(), cr.behaviors.Bullet = function(e) {
- this.runtime = e
- },
- function() {
- function e() {}
- function t() {}
- function n() {}
- var r = cr.behaviors.Bullet.prototype;
- r.Type = function(e, t) {
- this.behavior = e, this.objtype = t, this.runtime = e.runtime
- };
- var i = r.Type.prototype;
- i.onCreate = function() {}, r.Instance = function(e, t) {
- this.type = e, this.behavior = e.behavior, this.inst = t, this.runtime = e.runtime
- };
- var s = r.Instance.prototype;
- s.onCreate = function() {
- var e = this.properties[0];
- this.acc = this.properties[1], this.g = this.properties[2], this.bounceOffSolid = 0 !== this.properties[3], this.setAngle = 0 !== this.properties[4], this.dx = Math.cos(this.inst.angle) * e, this.dy = Math.sin(this.inst.angle) * e, this.lastx = this.inst.x, this.lasty = this.inst.y, this.lastKnownAngle = this.inst.angle, this.travelled = 0, this.enabled = 0 !== this.properties[5]
- }, s.saveToJSON = function() {
- return {
- acc: this.acc,
- g: this.g,
- dx: this.dx,
- dy: this.dy,
- lx: this.lastx,
- ly: this.lasty,
- lka: this.lastKnownAngle,
- t: this.travelled,
- e: this.enabled
- }
- }, s.loadFromJSON = function(e) {
- this.acc = e.acc, this.g = e.g, this.dx = e.dx, this.dy = e.dy, this.lastx = e.lx, this.lasty = e.ly, this.lastKnownAngle = e.lka, this.travelled = e.t, this.enabled = e.e
- }, s.tick = function() {
- if (this.enabled) {
- var e, t, n, r, i = this.runtime.getDt(this.inst);
- this.inst.angle !== this.lastKnownAngle && (this.setAngle && (e = cr.distanceTo(0, 0, this.dx, this.dy), this.dx = Math.cos(this.inst.angle) * e, this.dy = Math.sin(this.inst.angle) * e), this.lastKnownAngle = this.inst.angle), 0 !== this.acc && (e = cr.distanceTo(0, 0, this.dx, this.dy), t = 0 === this.dx && 0 === this.dy ? this.inst.angle : cr.angleTo(0, 0, this.dx, this.dy), e += this.acc * i, 0 > e && (e = 0), this.dx = Math.cos(t) * e, this.dy = Math.sin(t) * e), 0 !== this.g && (this.dy += this.g * i), this.lastx = this.inst.x, this.lasty = this.inst.y, (0 !== this.dx || 0 !== this.dy) && (this.inst.x += this.dx * i, this.inst.y += this.dy * i, this.travelled += cr.distanceTo(0, 0, this.dx * i, this.dy * i), this.setAngle && (this.inst.angle = cr.angleTo(0, 0, this.dx, this.dy), this.inst.set_bbox_changed(), this.lastKnownAngle = this.inst.angle), this.inst.set_bbox_changed(), this.bounceOffSolid && (n = this.runtime.testOverlapSolid(this.inst), n && (this.runtime.registerCollision(this.inst, n), e = cr.distanceTo(0, 0, this.dx, this.dy), r = this.runtime.calculateSolidBounceAngle(this.inst, this.lastx, this.lasty), this.dx = Math.cos(r) * e, this.dy = Math.sin(r) * e, this.inst.x += this.dx * i, this.inst.y += this.dy * i, this.inst.set_bbox_changed(), this.setAngle && (this.inst.angle = r, this.lastKnownAngle = r, this.inst.set_bbox_changed()), this.runtime.pushOutSolid(this.inst, this.dx / e, this.dy / e, Math.max(2.5 * e * i, 30)) || this.runtime.pushOutSolidNearest(this.inst, 100))))
- }
- }, e.prototype.CompareSpeed = function(e, t) {
- return cr.do_cmp(cr.distanceTo(0, 0, this.dx, this.dy), e, t)
- }, e.prototype.CompareTravelled = function(e, t) {
- return cr.do_cmp(this.travelled, e, t)
- }, r.cnds = new e, t.prototype.SetSpeed = function(e) {
- var t = cr.angleTo(0, 0, this.dx, this.dy);
- this.dx = Math.cos(t) * e, this.dy = Math.sin(t) * e
- }, t.prototype.SetAcceleration = function(e) {
- this.acc = e
- }, t.prototype.SetGravity = function(e) {
- this.g = e
- }, t.prototype.SetAngleOfMotion = function(e) {
- e = cr.to_radians(e);
- var t = cr.distanceTo(0, 0, this.dx, this.dy);
- this.dx = Math.cos(e) * t, this.dy = Math.sin(e) * t
- }, t.prototype.Bounce = function(e) {
- if (e) {
- var t = e.getFirstPicked(this.inst);
- if (t) {
- var n = this.runtime.getDt(this.inst),
- r = cr.distanceTo(0, 0, this.dx, this.dy),
- i = this.runtime.calculateSolidBounceAngle(this.inst, this.lastx, this.lasty, t);
- this.dx = Math.cos(i) * r, this.dy = Math.sin(i) * r, this.inst.x += this.dx * n, this.inst.y += this.dy * n, this.inst.set_bbox_changed(), this.setAngle && (this.inst.angle = i, this.lastKnownAngle = i, this.inst.set_bbox_changed()), this.bounceOffSolid ? this.runtime.pushOutSolid(this.inst, this.dx / r, this.dy / r, Math.max(2.5 * r * n, 30)) || this.runtime.pushOutSolidNearest(this.inst, 100) : this.runtime.pushOut(this.inst, this.dx / r, this.dy / r, Math.max(2.5 * r * n, 30), t)
- }
- }
- }, t.prototype.SetEnabled = function(e) {
- this.enabled = 1 === e
- }, r.acts = new t, n.prototype.Speed = function(e) {
- var t = cr.distanceTo(0, 0, this.dx, this.dy);
- t = cr.round6dp(t), e.set_float(t)
- }, n.prototype.Acceleration = function(e) {
- e.set_float(this.acc)
- }, n.prototype.AngleOfMotion = function(e) {
- e.set_float(cr.to_degrees(cr.angleTo(0, 0, this.dx, this.dy)))
- }, n.prototype.DistanceTravelled = function(e) {
- e.set_float(this.travelled)
- }, r.exps = new n
- }(), cr.behaviors.Pin = function(e) {
- this.runtime = e
- },
- function() {
- function e() {}
- function t() {}
- function n() {}
- var r = cr.behaviors.Pin.prototype;
- r.Type = function(e, t) {
- this.behavior = e, this.objtype = t, this.runtime = e.runtime
- };
- var i = r.Type.prototype;
- i.onCreate = function() {}, r.Instance = function(e, t) {
- this.type = e, this.behavior = e.behavior, this.inst = t, this.runtime = e.runtime
- };
- var s = r.Instance.prototype;
- s.onCreate = function() {
- this.pinObject = null, this.pinObjectUid = -1, this.pinAngle = 0, this.pinDist = 0, this.myStartAngle = 0, this.theirStartAngle = 0, this.lastKnownAngle = 0, this.mode = 0;
- var e = this;
- this.recycled || (this.myDestroyCallback = function(t) {
- e.onInstanceDestroyed(t)
- }), this.runtime.addDestroyCallback(this.myDestroyCallback)
- }, s.saveToJSON = function() {
- return {
- uid: this.pinObject ? this.pinObject.uid : -1,
- pa: this.pinAngle,
- pd: this.pinDist,
- msa: this.myStartAngle,
- tsa: this.theirStartAngle,
- lka: this.lastKnownAngle,
- m: this.mode
- }
- }, s.loadFromJSON = function(e) {
- this.pinObjectUid = e.uid, this.pinAngle = e.pa, this.pinDist = e.pd, this.myStartAngle = e.msa, this.theirStartAngle = e.tsa, this.lastKnownAngle = e.lka, this.mode = e.m
- }, s.afterLoad = function() {
- this.pinObject = -1 === this.pinObjectUid ? null : this.runtime.getObjectByUID(this.pinObjectUid), this.pinObjectUid = -1
- }, s.onInstanceDestroyed = function(e) {
- this.pinObject == e && (this.pinObject = null)
- }, s.onDestroy = function() {
- this.pinObject = null, this.runtime.removeDestroyCallback(this.myDestroyCallback)
- }, s.tick = function() {}, s.tick2 = function() {
- if (this.pinObject) {
- this.lastKnownAngle !== this.inst.angle && (this.myStartAngle = cr.clamp_angle(this.myStartAngle + (this.inst.angle - this.lastKnownAngle)));
- var e = this.inst.x,
- t = this.inst.y;
- if (3 === this.mode || 4 === this.mode) {
- var n = cr.distanceTo(this.inst.x, this.inst.y, this.pinObject.x, this.pinObject.y);
- if (n > this.pinDist || 4 === this.mode && n < this.pinDist) {
- var r = cr.angleTo(this.pinObject.x, this.pinObject.y, this.inst.x, this.inst.y);
- e = this.pinObject.x + Math.cos(r) * this.pinDist, t = this.pinObject.y + Math.sin(r) * this.pinDist
- }
- } else e = this.pinObject.x + Math.cos(this.pinObject.angle + this.pinAngle) * this.pinDist, t = this.pinObject.y + Math.sin(this.pinObject.angle + this.pinAngle) * this.pinDist;
- var i = cr.clamp_angle(this.myStartAngle + (this.pinObject.angle - this.theirStartAngle));
- this.lastKnownAngle = i, 0 !== this.mode && 1 !== this.mode && 3 !== this.mode && 4 !== this.mode || this.inst.x === e && this.inst.y === t || (this.inst.x = e, this.inst.y = t, this.inst.set_bbox_changed()), 0 !== this.mode && 2 !== this.mode || this.inst.angle === i || (this.inst.angle = i, this.inst.set_bbox_changed())
- }
- }, e.prototype.IsPinned = function() {
- return !!this.pinObject
- }, r.cnds = new e, t.prototype.Pin = function(e, t) {
- if (e) {
- var n = e.getFirstPicked(this.inst);
- n && (this.pinObject = n, this.pinAngle = cr.angleTo(n.x, n.y, this.inst.x, this.inst.y) - n.angle, this.pinDist = cr.distanceTo(n.x, n.y, this.inst.x, this.inst.y), this.myStartAngle = this.inst.angle, this.lastKnownAngle = this.inst.angle, this.theirStartAngle = n.angle, this.mode = t)
- }
- }, t.prototype.Unpin = function() {
- this.pinObject = null
- }, r.acts = new t, n.prototype.PinnedUID = function(e) {
- e.set_int(this.pinObject ? this.pinObject.uid : -1)
- }, r.exps = new n
- }(), cr.behaviors.Platform = function(e) {
- this.runtime = e
- },
- function() {
- function e() {}
- function t() {}
- function n() {}
- var r = cr.behaviors.Platform.prototype;
- r.Type = function(e, t) {
- this.behavior = e, this.objtype = t, this.runtime = e.runtime
- };
- var i = r.Type.prototype;
- i.onCreate = function() {};
- var s = 0,
- o = 1,
- u = 2,
- a = 3;
- r.Instance = function(e, t) {
- this.type = e, this.behavior = e.behavior, this.inst = t, this.runtime = e.runtime, this.leftkey = !1, this.rightkey = !1, this.jumpkey = !1, this.jumped = !1, this.ignoreInput = !1, this.simleft = !1, this.simright = !1, this.simjump = !1, this.lastFloorObject = null, this.loadFloorObject = -1, this.lastFloorX = 0, this.lastFloorY = 0, this.floorIsJumpthru = !1, this.animMode = s, this.fallthrough = 0, this.firstTick = !0, this.dx = 0, this.dy = 0
- };
- var f = r.Instance.prototype;
- f.updateGravity = function() {
- this.downx = Math.cos(this.ga), this.downy = Math.sin(this.ga), this.rightx = Math.cos(this.ga - Math.PI / 2), this.righty = Math.sin(this.ga - Math.PI / 2), this.downx = cr.round6dp(this.downx), this.downy = cr.round6dp(this.downy), this.rightx = cr.round6dp(this.rightx), this.righty = cr.round6dp(this.righty), this.g1 = this.g, this.g < 0 && (this.downx *= -1, this.downy *= -1, this.g = Math.abs(this.g))
- }, f.onCreate = function() {
- this.maxspeed = this.properties[0], this.acc = this.properties[1], this.dec = this.properties[2], this.jumpStrength = this.properties[3], this.g = this.properties[4], this.g1 = this.g, this.maxFall = this.properties[5], this.defaultControls = 1 === this.properties[6], this.enabled = 0 !== this.properties[7], this.wasOnFloor = !1, this.wasOverJumpthru = this.runtime.testOverlapJumpThru(this.inst), this.loadOverJumpthru = -1, this.ga = cr.to_radians(90), this.updateGravity();
- var e = this;
- this.defaultControls && !this.runtime.isDomFree && (jQuery(document).keydown(function(t) {
- e.onKeyDown(t)
- }), jQuery(document).keyup(function(t) {
- e.onKeyUp(t)
- })), this.recycled || (this.myDestroyCallback = function(t) {
- e.onInstanceDestroyed(t)
- }), this.runtime.addDestroyCallback(this.myDestroyCallback), this.inst.extra.isPlatformBehavior = !0
- }, f.saveToJSON = function() {
- return {
- ii: this.ignoreInput,
- lfx: this.lastFloorX,
- lfy: this.lastFloorY,
- lfo: this.lastFloorObject ? this.lastFloorObject.uid : -1,
- am: this.animMode,
- en: this.enabled,
- fall: this.fallthrough,
- ft: this.firstTick,
- dx: this.dx,
- dy: this.dy,
- ms: this.maxspeed,
- acc: this.acc,
- dec: this.dec,
- js: this.jumpStrength,
- g: this.g,
- g1: this.g1,
- mf: this.maxFall,
- wof: this.wasOnFloor,
- woj: this.wasOverJumpthru ? this.wasOverJumpthru.uid : -1,
- ga: this.ga
- }
- }, f.loadFromJSON = function(e) {
- this.ignoreInput = e.ii, this.lastFloorX = e.lfx, this.lastFloorY = e.lfy, this.loadFloorObject = e.lfo, this.animMode = e.am, this.enabled = e.en, this.fallthrough = e.fall, this.firstTick = e.ft, this.dx = e.dx, this.dy = e.dy, this.maxspeed = e.ms, this.acc = e.acc, this.dec = e.dec, this.jumpStrength = e.js, this.g = e.g, this.g1 = e.g1, this.maxFall = e.mf, this.wasOnFloor = e.wof, this.loadOverJumpthru = e.woj, this.ga = e.ga, this.leftkey = !1, this.rightkey = !1, this.jumpkey = !1, this.jumped = !1, this.simleft = !1, this.simright = !1, this.simjump = !1, this.updateGravity()
- }, f.afterLoad = function() {
- this.lastFloorObject = -1 === this.loadFloorObject ? null : this.runtime.getObjectByUID(this.loadFloorObject), this.wasOverJumpthru = -1 === this.loadOverJumpthru ? null : this.runtime.getObjectByUID(this.loadOverJumpthru)
- }, f.onInstanceDestroyed = function(e) {
- this.lastFloorObject == e && (this.lastFloorObject = null)
- }, f.onDestroy = function() {
- this.lastFloorObject = null, this.runtime.removeDestroyCallback(this.myDestroyCallback)
- }, f.onKeyDown = function(e) {
- switch (e.which) {
- case 38:
- e.preventDefault(), this.jumpkey = !0;
- break;
- case 37:
- e.preventDefault(), this.leftkey = !0;
- break;
- case 39:
- e.preventDefault(), this.rightkey = !0
- }
- }, f.onKeyUp = function(e) {
- switch (e.which) {
- case 38:
- e.preventDefault(), this.jumpkey = !1, this.jumped = !1;
- break;
- case 37:
- e.preventDefault(), this.leftkey = !1;
- break;
- case 39:
- e.preventDefault(), this.rightkey = !1
- }
- }, f.getGDir = function() {
- return this.g < 0 ? -1 : 1
- }, f.isOnFloor = function() {
- var e, t, n, r = null,
- i = null,
- s = this.inst.x,
- o = this.inst.y;
- if (this.inst.x += this.downx, this.inst.y += this.downy, this.inst.set_bbox_changed(), this.lastFloorObject && this.runtime.testOverlap(this.inst, this.lastFloorObject)) return this.inst.x = s, this.inst.y = o, this.inst.set_bbox_changed(), this.lastFloorObject;
- if (r = this.runtime.testOverlapSolid(this.inst), r || 0 !== this.fallthrough || (i = this.runtime.testOverlapJumpThru(this.inst, !0)), this.inst.x = s, this.inst.y = o, this.inst.set_bbox_changed(), r) return this.runtime.testOverlap(this.inst, r) ? null : (this.floorIsJumpthru = !1, r);
- if (i && i.length) {
- for (e = 0, n = 0, t = i.length; t > e; e++) i[n] = i[e], this.runtime.testOverlap(this.inst, i[e]) || n++;
- if (n >= 1) return this.floorIsJumpthru = !0, i[0]
- }
- return null
- }, f.tick = function() {}, f.posttick = function() {
- var e, t, n, r, i, f, c, h, p, d, v = this.runtime.getDt(this.inst);
- this.jumpkey || this.simjump || (this.jumped = !1);
- var m = this.leftkey || this.simleft,
- g = this.rightkey || this.simright,
- y = (this.jumpkey || this.simjump) && !this.jumped;
- if (this.simleft = !1, this.simright = !1, this.simjump = !1, this.enabled) {
- this.ignoreInput && (m = !1, g = !1, y = !1);
- var b = this.lastFloorObject,
- w = !1;
- this.firstTick && ((this.runtime.testOverlapSolid(this.inst) || this.runtime.testOverlapJumpThru(this.inst)) && this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, 4, !0), this.firstTick = !1), !b || 0 !== this.dy || b.y === this.lastFloorY && b.x === this.lastFloorX || (e = b.x - this.lastFloorX, t = b.y - this.lastFloorY, this.inst.x += e, this.inst.y += t, this.inst.set_bbox_changed(), this.lastFloorX = b.x, this.lastFloorY = b.y, w = !0, this.runtime.testOverlapSolid(this.inst) && this.runtime.pushOutSolid(this.inst, -e, -t, 2.5 * Math.sqrt(e * e + t * t)));
- var E = this.isOnFloor(),
- S = this.runtime.testOverlapSolid(this.inst);
- if (S)
- if (this.inst.extra.inputPredicted) this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, 10, !1);
- else {
- if (!this.runtime.pushOutSolidNearest(this.inst, Math.max(this.inst.width, this.inst.height) / 2)) return;
- this.runtime.registerCollision(this.inst, S)
- }
- E ? (this.dy > 0 && (this.wasOnFloor || (this.runtime.pushInFractional(this.inst, -this.downx, -this.downy, E, 16), this.wasOnFloor = !0), this.dy = 0), b != E ? (this.lastFloorObject = E, this.lastFloorX = E.x, this.lastFloorY = E.y, this.runtime.registerCollision(this.inst, E)) : w && (S = this.runtime.testOverlapSolid(this.inst), S && (this.runtime.registerCollision(this.inst, S), 0 !== e && (e > 0 ? this.runtime.pushOutSolid(this.inst, -this.rightx, -this.righty) : this.runtime.pushOutSolid(this.inst, this.rightx, this.righty)), this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy))), y && (p = this.inst.x, d = this.inst.y, this.inst.x -= this.downx, this.inst.y -= this.downy, this.inst.set_bbox_changed(), this.runtime.testOverlapSolid(this.inst) ? y = !1 : (this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnJump, this.inst), this.animMode = u, this.dy = -this.jumpStrength, this.jumped = !0), this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed())) : (this.lastFloorObject = null, this.dy += this.g * v, this.dy > this.maxFall && (this.dy = this.maxFall), y && (this.jumped = !0)), this.wasOnFloor = !!E, m == g && (this.dx < 0 ? (this.dx += this.dec * v, this.dx > 0 && (this.dx = 0)) : this.dx > 0 && (this.dx -= this.dec * v, this.dx < 0 && (this.dx = 0))), m && !g && (this.dx -= this.dx > 0 ? (this.acc + this.dec) * v : this.acc * v), g && !m && (this.dx += this.dx < 0 ? (this.acc + this.dec) * v : this.acc * v), this.dx > this.maxspeed ? this.dx = this.maxspeed : this.dx < -this.maxspeed && (this.dx = -this.maxspeed);
- var x = !1;
- if (0 !== this.dx) {
- p = this.inst.x, d = this.inst.y, e = this.dx * v * this.rightx, t = this.dx * v * this.righty, this.inst.x += this.rightx * (this.dx > 1 ? 1 : -1) - this.downx, this.inst.y += this.righty * (this.dx > 1 ? 1 : -1) - this.downy, this.inst.set_bbox_changed();
- var T = !1,
- N = this.runtime.testOverlapSolid(this.inst);
- if (this.inst.x = p + e, this.inst.y = d + t, this.inst.set_bbox_changed(), n = this.runtime.testOverlapSolid(this.inst), !n && E && (n = this.runtime.testOverlapJumpThru(this.inst), n && (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed(), this.runtime.testOverlap(this.inst, n) ? (n = null, T = !1) : T = !0, this.inst.x = p + e, this.inst.y = d + t, this.inst.set_bbox_changed())), n) {
- var C = Math.abs(this.dx * v) + 2;
- N || !this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, C, T, n) ? (this.runtime.registerCollision(this.inst, n), C = Math.max(Math.abs(this.dx * v * 2.5), 30), this.runtime.pushOutSolid(this.inst, this.rightx * (this.dx < 0 ? 1 : -1), this.righty * (this.dx < 0 ? 1 : -1), C, !1) ? !E || T || this.floorIsJumpthru || (p = this.inst.x, d = this.inst.y, this.inst.x += this.downx, this.inst.y += this.downy, this.runtime.testOverlapSolid(this.inst) ? this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, 3, !1) || (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed()) : (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed())) : (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed()), T || (this.dx = 0)) : !N && !y && Math.abs(this.dy) < Math.abs(this.jumpStrength / 4) && (this.dy = 0, E || (x = !0))
- } else {
- var k = this.isOnFloor();
- E && !k ? (r = Math.ceil(Math.abs(this.dx * v)) + 2, p = this.inst.x, d = this.inst.y, this.inst.x += this.downx * r, this.inst.y += this.downy * r, this.inst.set_bbox_changed(), this.runtime.testOverlapSolid(this.inst) || this.runtime.testOverlapJumpThru(this.inst) ? this.runtime.pushOutSolid(this.inst, -this.downx, -this.downy, r + 2, !0) : (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed())) : k && 0 === this.dy && this.runtime.pushInFractional(this.inst, -this.downx, -this.downy, k, 16)
- }
- }
- if (0 !== this.dy) {
- p = this.inst.x, d = this.inst.y, this.inst.x += this.dy * v * this.downx, this.inst.y += this.dy * v * this.downy;
- var L = this.inst.x,
- A = this.inst.y;
- this.inst.set_bbox_changed(), S = this.runtime.testOverlapSolid(this.inst);
- var O = !1;
- if (!S && this.dy > 0 && !E) {
- if (i = this.fallthrough > 0 ? null : this.runtime.testOverlapJumpThru(this.inst, !0), i && i.length) {
- if (this.wasOverJumpthru) {
- for (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed(), f = 0, h = 0, c = i.length; c > f; f++) i[h] = i[f], this.runtime.testOverlap(this.inst, i[f]) || h++;
- i.length = h, this.inst.x = L, this.inst.y = A, this.inst.set_bbox_changed()
- }
- i.length >= 1 && (S = i[0])
- }
- O = !!S
- }
- if (S) {
- this.runtime.registerCollision(this.inst, S);
- var C = O ? Math.abs(this.dy * v * 2.5 + 10) : Math.max(Math.abs(this.dy * v * 2.5 + 10), 30);
- this.runtime.pushOutSolid(this.inst, this.downx * (this.dy < 0 ? 1 : -1), this.downy * (this.dy < 0 ? 1 : -1), C, O, S) ? (this.lastFloorObject = S, this.lastFloorX = S.x, this.lastFloorY = S.y, this.floorIsJumpthru = O, O && (x = !0), this.dy = 0) : (this.inst.x = p, this.inst.y = d, this.inst.set_bbox_changed(), this.wasOnFloor = !0, O || (this.dy = 0))
- }
- }
- this.animMode !== a && this.dy > 0 && !E && (this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnFall, this.inst), this.animMode = a), (E || x) && (this.animMode === a || x || y && 0 === this.dy ? (this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnLand, this.inst), this.animMode = 0 === this.dx && 0 === this.dy ? s : o) : (this.animMode !== s && 0 === this.dx && 0 === this.dy && (this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnStop, this.inst), this.animMode = s), this.animMode === o || 0 === this.dx && 0 === this.dy || y || (this.runtime.trigger(cr.behaviors.Platform.prototype.cnds.OnMove, this.inst), this.animMode = o))), this.fallthrough > 0 && this.fallthrough--, this.wasOverJumpthru = this.runtime.testOverlapJumpThru(this.inst)
- }
- }, e.prototype.IsMoving = function() {
- return 0 !== this.dx || 0 !== this.dy
- }, e.prototype.CompareSpeed = function(e, t) {
- var n = Math.sqrt(this.dx * this.dx + this.dy * this.dy);
- return cr.do_cmp(n, e, t)
- }, e.prototype.IsOnFloor = function() {
- if (0 !== this.dy) return !1;
- var e, t, n, r = null,
- i = null,
- s = this.inst.x,
- o = this.inst.y;
- if (this.inst.x += this.downx, this.inst.y += this.downy, this.inst.set_bbox_changed(), r = this.runtime.testOverlapSolid(this.inst), r || 0 !== this.fallthrough || (i = this.runtime.testOverlapJumpThru(this.inst, !0)), this.inst.x = s, this.inst.y = o, this.inst.set_bbox_changed(), r) return !this.runtime.testOverlap(this.inst, r);
- if (i && i.length) {
- for (e = 0, n = 0, t = i.length; t > e; e++) i[n] = i[e], this.runtime.testOverlap(this.inst, i[e]) || n++;
- if (n >= 1) return !0
- }
- return !1
- }, e.prototype.IsByWall = function(e) {
- var t = !1,
- n = this.inst.x,
- r = this.inst.y;
- return this.inst.x -= 3 * this.downx, this.inst.y -= 3 * this.downy, this.inst.set_bbox_changed(), this.runtime.testOverlapSolid(this.inst) ? (this.inst.x = n, this.inst.y = r, this.inst.set_bbox_changed(), !1) : (0 === e ? (this.inst.x -= 2 * this.rightx, this.inst.y -= 2 * this.righty) : (this.inst.x += 2 * this.rightx, this.inst.y += 2 * this.righty), this.inst.set_bbox_changed(), t = this.runtime.testOverlapSolid(this.inst), this.inst.x = n, this.inst.y = r, this.inst.set_bbox_changed(), t)
- }, e.prototype.IsJumping = function() {
- return this.dy < 0
- }, e.prototype.IsFalling = function() {
- return this.dy > 0
- }, e.prototype.OnJump = function() {
- return !0
- }, e.prototype.OnFall = function() {
- return !0
- }, e.prototype.OnStop = function() {
- return !0
- }, e.prototype.OnMove = function() {
- return !0
- }, e.prototype.OnLand = function() {
- return !0
- }, r.cnds = new e, t.prototype.SetIgnoreInput = function(e) {
- this.ignoreInput = e
- }, t.prototype.SetMaxSpeed = function(e) {
- this.maxspeed = e, this.maxspeed < 0 && (this.maxspeed = 0)
- }, t.prototype.SetAcceleration = function(e) {
- this.acc = e, this.acc < 0 && (this.acc = 0)
- }, t.prototype.SetDeceleration = function(e) {
- this.dec = e, this.dec < 0 && (this.dec = 0)
- }, t.prototype.SetJumpStrength = function(e) {
- this.jumpStrength = e, this.jumpStrength < 0 && (this.jumpStrength = 0)
- }, t.prototype.SetGravity = function(e) {
- this.g1 !== e && (this.g = e, this.updateGravity(), this.runtime.testOverlapSolid(this.inst) && (this.runtime.pushOutSolid(this.inst, this.downx, this.downy, 10), this.inst.x += 2 * this.downx, this.inst.y += 2 * this.downy, this.inst.set_bbox_changed()), this.lastFloorObject = null)
- }, t.prototype.SetMaxFallSpeed = function(e) {
- this.maxFall = e, this.maxFall < 0 && (this.maxFall = 0)
- }, t.prototype.SimulateControl = function(e) {
- switch (e) {
- case 0:
- this.simleft = !0;
- break;
- case 1:
- this.simright = !0;
- break;
- case 2:
- this.simjump = !0
- }
- }, t.prototype.SetVectorX = function(e) {
- this.dx = e
- }, t.prototype.SetVectorY = function(e) {
- this.dy = e
- }, t.prototype.SetGravityAngle = function(e) {
- e = cr.to_radians(e), e = cr.clamp_angle(e), this.ga !== e && (this.ga = e, this.updateGravity(), this.lastFloorObject = null)
- }, t.prototype.SetEnabled = function(e) {
- this.enabled !== (1 === e) && (this.enabled = 1 === e, this.enabled || (this.lastFloorObject = null))
- }, t.prototype.FallThrough = function() {
- var e = this.inst.x,
- t = this.inst.y;
- this.inst.x += this.downx, this.inst.y += this.downy, this.inst.set_bbox_changed();
- var n = this.runtime.testOverlapJumpThru(this.inst, !1);
- this.inst.x = e, this.inst.y = t, this.inst.set_bbox_changed(), n && (this.fallthrough = 3, this.lastFloorObject = null)
- }, r.acts = new t, n.prototype.Speed = function(e) {
- e.set_float(Math.sqrt(this.dx * this.dx + this.dy * this.dy))
- }, n.prototype.MaxSpeed = function(e) {
- e.set_float(this.maxspeed)
- }, n.prototype.Acceleration = function(e) {
- e.set_float(this.acc)
- }, n.prototype.Deceleration = function(e) {
- e.set_float(this.dec)
- }, n.prototype.JumpStrength = function(e) {
- e.set_float(this.jumpStrength)
- }, n.prototype.Gravity = function(e) {
- e.set_float(this.g)
- }, n.prototype.GravityAngle = function(e) {
- e.set_float(cr.to_degrees(this.ga))
- }, n.prototype.MaxFallSpeed = function(e) {
- e.set_float(this.maxFall)
- }, n.prototype.MovingAngle = function(e) {
- e.set_float(cr.to_degrees(Math.atan2(this.dy, this.dx)))
- }, n.prototype.VectorX = function(e) {
- e.set_float(this.dx)
- }, n.prototype.VectorY = function(e) {
- e.set_float(this.dy)
- }, r.exps = new n
- }(), cr.behaviors.bound = function(e) {
- this.runtime = e
- },
- function() {
- var e = cr.behaviors.bound.prototype;
- e.Type = function(e, t) {
- this.behavior = e, this.objtype = t, this.runtime = e.runtime
- };
- var t = e.Type.prototype;
- t.onCreate = function() {}, e.Instance = function(e, t) {
- this.type = e, this.behavior = e.behavior, this.inst = t, this.runtime = e.runtime, this.mode = 0
- };
- var n = e.Instance.prototype;
- n.onCreate = function() {
- this.mode = this.properties[0]
- }, n.tick = function() {}, n.tick2 = function() {
- this.inst.update_bbox();
- var e = this.inst.bbox,
- t = this.inst.layer.layout,
- n = !1;
- 0 === this.mode ? (this.inst.x < 0 && (this.inst.x = 0, n = !0), this.inst.y < 0 && (this.inst.y = 0, n = !0), this.inst.x > t.width && (this.inst.x = t.width, n = !0), this.inst.y > t.height && (this.inst.y = t.height, n = !0)) : (e.left < 0 && (this.inst.x -= e.left, n = !0), e.top < 0 && (this.inst.y -= e.top, n = !0), e.right > t.width && (this.inst.x -= e.right - t.width, n = !0), e.bottom > t.height && (this.inst.y -= e.bottom - t.height, n = !0)), n && this.inst.set_bbox_changed()
- }
- }(), cr.behaviors.destroy = function(e) {
- this.runtime = e
- },
- function() {
- var e = cr.behaviors.destroy.prototype;
- e.Type = function(e, t) {
- this.behavior = e, this.objtype = t, this.runtime = e.runtime
- };
- var t = e.Type.prototype;
- t.onCreate = function() {}, e.Instance = function(e, t) {
- this.type = e, this.behavior = e.behavior, this.inst = t, this.runtime = e.runtime
- };
- var n = e.Instance.prototype;
- n.onCreate = function() {}, n.tick = function() {
- this.inst.update_bbox();
- var e = this.inst.bbox,
- t = this.inst.layer.layout;
- (e.right < 0 || e.bottom < 0 || e.left > t.width || e.top > t.height) && this.runtime.DestroyInstance(this.inst)
- }
- }(), cr.behaviors.solid = function(e) {
- this.runtime = e
- },
- function() {
- function e() {}
- function t() {}
- var n = cr.behaviors.solid.prototype;
- n.Type = function(e, t) {
- this.behavior = e, this.objtype = t, this.runtime = e.runtime
- };
- var r = n.Type.prototype;
- r.onCreate = function() {}, n.Instance = function(e, t) {
- this.type = e, this.behavior = e.behavior, this.inst = t, this.runtime = e.runtime
- };
- var i = n.Instance.prototype;
- i.onCreate = function() {
- this.inst.extra.solidEnabled = 0 !== this.properties[0]
- }, i.tick = function() {}, e.prototype.IsEnabled = function() {
- return this.inst.extra.solidEnabled
- }, n.cnds = new e, t.prototype.SetEnabled = function(e) {
- this.inst.extra.solidEnabled = !!e
- }, n.acts = new t
- }(), cr.getProjectModel = function() {
- return [null, "Menu", [
- [cr.plugins_.Particles, !1, !0, !0, !1, !0, !0, !0, !0, !0],
- [cr.plugins_.Sprite, !1, !0, !0, !0, !0, !0, !0, !0, !1],
- [cr.plugins_.Text, !1, !0, !0, !0, !0, !0, !0, !0, !1],
- [cr.plugins_.Touch, !0, !1, !1, !1, !1, !1, !1, !1, !1],
- [cr.plugins_.WebStorage, !0, !1, !1, !1, !1, !1, !1, !1, !1],
- [cr.plugins_.Audio, !0, !1, !1, !1, !1, !1, !1, !1, !1],
- [cr.plugins_.Browser, !0, !1, !1, !1, !1, !1, !1, !1, !1],
- [cr.plugins_.CJSAds, !0, !1, !1, !1, !1, !1, !1, !1, !1],
- [cr.plugins_.TiledBg, !1, !0, !0, !0, !0, !0, !0, !0, !0]
- ],
- [
- ["t0", cr.plugins_.Sprite, !1, [], 2, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 0x66f3a2fdf1e97, [
- ["images/player-sheet0.png", 1472, 0, 0, 57, 125, 1, .08771929889917374, .9440000057220459, [],
- [-.07047790288925171, -.9440000057220459, .3950397074222565, -.9440000057220459, .6364187002182007, -.9440000057220459, .8605566620826721, -.9440000057220459, .2915907204151154, -.9440000057220459, .3950397074222565, -.9440000057220459, -.03599520027637482, -.9440000057220459, .1019357070326805, -.9440000057220459], 0
- ]
- ]]
- ],
- [
- ["Platform", cr.behaviors.Platform, 8314878182034448],
- ["BoundToLayout", cr.behaviors.bound, 0x5d7504344e51b]
- ], !1, !1, 9202559512583248, [], null
- ],
- ["t1", cr.plugins_.TiledBg, !1, [], 1, 0, ["images/wall.png", 104, 1], null, [
- ["Solid", cr.behaviors.solid, 6568188452526936]
- ], !1, !1, 6361042052061363, [], null],
- ["t2", cr.plugins_.Touch, !1, [], 0, 0, null, null, [], !1, !1, 7080415064541899, [], null, [1]],
- ["t3", cr.plugins_.TiledBg, !1, [], 0, 0, ["images/bg1.png", 156, 1], null, [], !1, !1, 0xc4bc6edb43b9e, [], null],
- ["t4", cr.plugins_.TiledBg, !1, [], 0, 0, ["images/bg2.png", 156, 1], null, [], !1, !1, 6757427820064185, [], null],
- ["t5", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 9310550853039760, [
- ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
- [], 3
- ]
- ]]
- ],
- [], !1, !1, 0x3c3a31334fc8e, [], null
- ],
- ["t6", cr.plugins_.TiledBg, !1, [], 1, 0, ["images/wall.png", 104, 1], null, [
- ["Solid", cr.behaviors.solid, 5914803487727719]
- ], !1, !1, 0x54bf95c2cac0c, [], null],
- ["t7", cr.plugins_.Particles, !1, [], 2, 0, ["images/playerparticle.png", 92, 1], null, [
- ["Pin", cr.behaviors.Pin, 8121185699953036],
- ["BoundToLayout", cr.behaviors.bound, 0xa1c0435518447]
- ], !1, !1, 0xfad8802cfae10, [], null],
- ["t8", cr.plugins_.Sprite, !1, [], 2, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 0xc8000226fea68, [
- ["images/player-sheet0.png", 1472, 0, 0, 57, 125, 1, .08771929889917374, .9440000057220459, [],
- [-.07047790288925171, -.9440000057220459, .3950397074222565, -.9440000057220459, .6364187002182007, -.9440000057220459, .8605566620826721, -.9440000057220459, .2915907204151154, -.9440000057220459, .3950397074222565, -.9440000057220459, -.03599520027637482, -.9440000057220459, .1019357070326805, -.9440000057220459], 0
- ]
- ]]
- ],
- [
- ["Platform", cr.behaviors.Platform, 0x9142b4d3dfa66],
- ["BoundToLayout", cr.behaviors.bound, 9923801587168184]
- ], !1, !1, 8795787654955184, [], null
- ],
- ["t9", cr.plugins_.Particles, !1, [], 2, 0, ["images/playerparticle.png", 92, 1], null, [
- ["Pin", cr.behaviors.Pin, 450205616049659],
- ["BoundToLayout", cr.behaviors.bound, 9499681905803348]
- ], !1, !1, 5567047572048658, [], null],
- ["t10", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 7505284560090583, [
- ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
- [], 3
- ]
- ]]
- ],
- [], !1, !1, 5204639142997524, [], null
- ],
- ["t11", cr.plugins_.TiledBg, !1, [], 1, 0, ["images/wall.png", 104, 1], null, [
- ["Solid", cr.behaviors.solid, 9568985645025144]
- ], !1, !1, 6388260095824243, [], null],
- ["t12", cr.plugins_.Sprite, !1, [7528263856580013], 2, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 0xc72788ec0842c, [
- ["images/spike-sheet0.png", 591, 0, 0, 44, 80, 1, .6590909361839294, .4749999940395355, [],
- [5.960464477539063e-8, -.1749999821186066, -.2499999403953552, -.2749999761581421, .3181820511817932, -.01249998807907105, -.2045459449291229, .2875000536441803, 5.960464477539063e-8, .1624999940395355, -.6590909361839294, -.01249998807907105], 0
- ]
- ]]
- ],
- [
- ["Bullet", cr.behaviors.Bullet, 7073731433865991],
- ["DestroyOutsideLayout", cr.behaviors.destroy, 5460983221610014]
- ], !1, !1, 7982039181304106, [], null
- ],
- ["t13", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 6359349168031184, [], null],
- ["t14", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 8835981928719879, [], null],
- ["t15", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 7613620147924718, [
- ["images/textbg_bestscore_normal-sheet0.png", 589, 0, 0, 404, 222, 1, .5, .5, [],
- [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
- ]
- ]]
- ],
- [], !1, !1, 9607777712854436, [], null
- ],
- ["t16", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 7847271434545664, [], null],
- ["t17", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 7297958554087399, [], null],
- ["t18", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x5baba918e84ba, [], null],
- ["t19", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 9589340306433068, [], null],
- ["t20", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 9755286571421904, [
- ["images/textbg_bestscore_normal-sheet0.png", 589, 0, 0, 404, 222, 1, .5, .5, [],
- [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
- ]
- ]]
- ],
- [], !1, !1, 0x71c647078999f, [], null
- ],
- ["t21", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x3f03fb8429157, [], null],
- ["t22", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0xcc11606c224f7, [], null],
- ["t23", cr.plugins_.WebStorage, !1, [], 0, 0, null, null, [], !1, !1, 5139001462299883, [], null, []],
- ["t24", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 5103342796693258, [
- ["images/normalbttn-sheet0.png", 413, 0, 0, 404, 222, 1, .5, .5, [],
- [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
- ]
- ]]
- ],
- [], !1, !1, 0x7af7f7b168338, [], null
- ],
- ["t25", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 8984062788887902, [], null],
- ["t26", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 5994456087172483, [], null],
- ["t27", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x3e070f6dc0f5d, [], null],
- ["t28", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 0xc1835a6e5a28e, [
- ["images/nightmarebttn-sheet0.png", 413, 0, 0, 404, 222, 1, .5, .5, [],
- [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
- ]
- ]]
- ],
- [], !1, !1, 4790712197383259, [], null
- ],
- ["t29", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 6951528211348085, [], null],
- ["t30", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 445665985768652, [
- ["images/hellbttn-sheet0.png", 413, 0, 0, 404, 222, 1, .5, .5, [],
- [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
- ]
- ]]
- ],
- [], !1, !1, 0xe41d3a23e1414, [], null
- ],
- ["t31", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 872611027852685, [
- ["images/infernobttn-sheet0.png", 413, 0, 0, 404, 222, 1, .5, .5, [],
- [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
- ]
- ]]
- ],
- [], !1, !1, 7482520610590856, [], null
- ],
- ["t32", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0xa4c197186dc49, [], null],
- ["t33", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 5992033972514587, [], null],
- ["t34", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x6a1d5705e0026, [], null],
- ["t35", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 4966954451971078, [], null],
- ["t36", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 6096583420072432, [
- ["images/impossiblebttn-sheet0.png", 413, 0, 0, 404, 222, 1, .5, .5, [],
- [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
- ]
- ]]
- ],
- [], !1, !1, 0x719f5a58b5c47, [], null
- ],
- ["t37", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 468877404981382, [], null],
- ["t38", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0xda92ffda1bca7, [], null],
- ["t39", cr.plugins_.TiledBg, !1, [], 0, 0, ["images/bg3.png", 156, 1], null, [], !1, !1, 0xb29ac2431cd86, [], null],
- ["t40", cr.plugins_.TiledBg, !1, [], 1, 0, ["images/wall.png", 104, 1], null, [
- ["Solid", cr.behaviors.solid, 0xe3473ebd3799a]
- ], !1, !1, 9677020296823962, [], null],
- ["t41", cr.plugins_.Sprite, !1, [], 2, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 0x627aa0a17bb03, [
- ["images/player-sheet0.png", 1472, 0, 0, 57, 125, 1, .08771929889917374, .9440000057220459, [],
- [-.07047790288925171, -.9440000057220459, .3950397074222565, -.9440000057220459, .6364187002182007, -.9440000057220459, .8605566620826721, -.9440000057220459, .2915907204151154, -.9440000057220459, .3950397074222565, -.9440000057220459, -.03599520027637482, -.9440000057220459, .1019357070326805, -.9440000057220459], 0
- ]
- ]]
- ],
- [
- ["Platform", cr.behaviors.Platform, 0xc3da5be5e05be],
- ["BoundToLayout", cr.behaviors.bound, 9649509671967356]
- ], !1, !1, 8319208106429983, [], null
- ],
- ["t42", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 6873912397263765, [
- ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
- [], 3
- ]
- ]]
- ],
- [], !1, !1, 8469203959684586, [], null
- ],
- ["t43", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0xe4c53ccaa5463, [], null],
- ["t44", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 8936911518284494, [], null],
- ["t45", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 8952683020386214, [], null],
- ["t46", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x953a83aa41291, [], null],
- ["t47", cr.plugins_.TiledBg, !1, [], 0, 0, ["images/bg4.png", 156, 1], null, [], !1, !1, 0xbdba9f5f3fcde, [], null],
- ["t48", cr.plugins_.Sprite, !1, [], 2, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 0x81c45f58bb5b3, [
- ["images/player-sheet0.png", 1472, 0, 0, 57, 125, 1, .08771929889917374, .9440000057220459, [],
- [-.07047790288925171, -.9440000057220459, .3950397074222565, -.9440000057220459, .6364187002182007, -.9440000057220459, .8605566620826721, -.9440000057220459, .2915907204151154, -.9440000057220459, .3950397074222565, -.9440000057220459, -.03599520027637482, -.9440000057220459, .1019357070326805, -.9440000057220459], 0
- ]
- ]]
- ],
- [
- ["Platform", cr.behaviors.Platform, 0xea0f2a59f4c38],
- ["BoundToLayout", cr.behaviors.bound, 0xf031991bb3658]
- ], !1, !1, 5660495787184037, [], null
- ],
- ["t49", cr.plugins_.Particles, !1, [], 2, 0, ["images/playerparticle.png", 92, 1], null, [
- ["Pin", cr.behaviors.Pin, 9142222473371622],
- ["BoundToLayout", cr.behaviors.bound, 4767382198009075]
- ], !1, !1, 7851621736660535, [], null],
- ["t50", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 4906895085843812, [
- ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
- [], 3
- ]
- ]]
- ],
- [], !1, !1, 0xa64c1cc7a2880, [], null
- ],
- ["t51", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 8423911507388832, [
- ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
- [], 3
- ]
- ]]
- ],
- [], !1, !1, 0xe7bdb851842d, [], null
- ],
- ["t52", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 0xfec6c8024c667, [
- ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
- [], 3
- ]
- ]]
- ],
- [], !1, !1, 5790975368279212, [], null
- ],
- ["t53", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 4640784326725808, [
- ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
- [], 3
- ]
- ]]
- ],
- [], !1, !1, 4588411117111063, [], null
- ],
- ["t54", cr.plugins_.Particles, !1, [], 2, 0, ["images/playerparticle.png", 92, 1], null, [
- ["Pin", cr.behaviors.Pin, 532238573144374],
- ["BoundToLayout", cr.behaviors.bound, 6471116641597284]
- ], !1, !1, 879565000856208, [], null],
- ["t55", cr.plugins_.Sprite, !1, [0xf307ddc1a3a73], 2, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 7260137273477723, [
- ["images/spike-sheet0.png", 591, 0, 0, 44, 80, 1, .6590909361839294, .4749999940395355, [],
- [5.960464477539063e-8, -.1749999821186066, -.2499999403953552, -.2749999761581421, .3181820511817932, -.01249998807907105, -.2045459449291229, .2875000536441803, 5.960464477539063e-8, .1624999940395355, -.6590909361839294, -.01249998807907105], 0
- ]
- ]]
- ],
- [
- ["Bullet", cr.behaviors.Bullet, 7986109018720562],
- ["DestroyOutsideLayout", cr.behaviors.destroy, 5470250386077403]
- ], !1, !1, 8203573051285382, [], null
- ],
- ["t56", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x892413a720ed5, [], null],
- ["t57", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x390e63a5c94c4, [], null],
- ["t58", cr.plugins_.TiledBg, !1, [], 0, 0, ["images/bg5.png", 156, 1], null, [], !1, !1, 8990260247683904, [], null],
- ["t59", cr.plugins_.TiledBg, !1, [], 1, 0, ["images/wall.png", 104, 1], null, [
- ["Solid", cr.behaviors.solid, 0xccaab0afca5e3]
- ], !1, !1, 7788867354988146, [], null],
- ["t60", cr.plugins_.TiledBg, !1, [], 1, 0, ["images/wall.png", 104, 1], null, [
- ["Solid", cr.behaviors.solid, 4805740337038933]
- ], !1, !1, 5046137115742047, [], null],
- ["t61", cr.plugins_.Sprite, !1, [], 2, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 0xbfbaa6b5af4fd, [
- ["images/player-sheet0.png", 1472, 0, 0, 57, 125, 1, .08771929889917374, .9440000057220459, [],
- [-.07047790288925171, -.9440000057220459, .3950397074222565, -.9440000057220459, .6364187002182007, -.9440000057220459, .8605566620826721, -.9440000057220459, .2915907204151154, -.9440000057220459, .3950397074222565, -.9440000057220459, -.03599520027637482, -.9440000057220459, .1019357070326805, -.9440000057220459], 0
- ]
- ]]
- ],
- [
- ["Platform", cr.behaviors.Platform, 31611307272276],
- ["BoundToLayout", cr.behaviors.bound, 5326994880616739]
- ], !1, !1, 0xa860af95ff41b, [], null
- ],
- ["t62", cr.plugins_.Particles, !1, [], 2, 0, ["images/playerparticle.png", 92, 1], null, [
- ["Pin", cr.behaviors.Pin, 8917645216701109],
- ["BoundToLayout", cr.behaviors.bound, 0x6317a00bd2a2b]
- ], !1, !1, 0x8287c0b2f0e9b, [], null],
- ["t63", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 7702544969032746, [
- ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
- [], 3
- ]
- ]]
- ],
- [], !1, !1, 6580132122188653, [], null
- ],
- ["t64", cr.plugins_.TiledBg, !1, [], 0, 0, ["images/bg6.png", 156, 1], null, [], !1, !1, 0xfa3522dae993b, [], null],
- ["t65", cr.plugins_.Sprite, !1, [], 2, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 5032065670131676, [
- ["images/player-sheet0.png", 1472, 0, 0, 57, 125, 1, .08771929889917374, .9440000057220459, [],
- [-.07047790288925171, -.9440000057220459, .3950397074222565, -.9440000057220459, .6364187002182007, -.9440000057220459, .8605566620826721, -.9440000057220459, .2915907204151154, -.9440000057220459, .3950397074222565, -.9440000057220459, -.03599520027637482, -.9440000057220459, .1019357070326805, -.9440000057220459], 0
- ]
- ]]
- ],
- [
- ["Platform", cr.behaviors.Platform, 5077497232240966],
- ["BoundToLayout", cr.behaviors.bound, 6185495358862762]
- ], !1, !1, 8690321124762315, [], null
- ],
- ["t66", cr.plugins_.Particles, !1, [], 2, 0, ["images/playerparticle.png", 92, 1], null, [
- ["Pin", cr.behaviors.Pin, 4617043882985752],
- ["BoundToLayout", cr.behaviors.bound, 0x8da015ecb9783]
- ], !1, !1, 0xb6ffedb55008, [], null],
- ["t67", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 7463286475444659, [
- ["images/touchleft-sheet0.png", 168, 0, 0, 250, 250, 1, .5, .5, [],
- [], 3
- ]
- ]]
- ],
- [], !1, !1, 0x62c3d9d05d28a, [], null
- ],
- ["t68", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x650e3ff8d565d, [], null],
- ["t69", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0xffaf52b2572b9, [], null],
- ["t70", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 509362264958093, [
- ["images/letsplaybg-sheet0.png", 413, 0, 0, 404, 222, 1, .5, .5, [],
- [-.4925742745399475, -.4864864945411682, 0, -.5, .4925739765167236, -.4864864945411682, .4925739765167236, .48648601770401, 0, .5, -.4925742745399475, .48648601770401], 0
- ]
- ]]
- ],
- [], !1, !1, 408058538244016, [], null
- ],
- ["t71", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 5316312943955336, [], null],
- ["t72", cr.plugins_.CJSAds, !1, [], 0, 0, null, null, [], !1, !1, 949271420120713, [], null, [0, 1]],
- ["t73", cr.plugins_.Audio, !1, [], 0, 0, null, null, [], !1, !1, 0xdab676c509da5, [], null, [0, 0, 1, 1, 600, 600, 1e4, 1, 5e3, 1]],
- ["t74", cr.plugins_.Text, !1, [], 0, 0, null, null, [], !1, !1, 0x9089e812a8b9a, [], null],
- ["t75", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 6888153195182923, [
- ["images/facebookshare-sheet0.png", 1958, 0, 0, 118, 118, 1, .491525411605835, .491525411605835, [],
- [-.3389830589294434, -.3389830589294434, 0, -.4745762646198273, .3474576473236084, -.347457617521286, .491525411605835, 0, .3474576473236084, .3474576473236084, 0, .491525411605835, -.3389830589294434, .3389830589294434, -.4745762646198273, 0], 0
- ]
- ]]
- ],
- [], !1, !1, 0x8737d78dc1b8e, [], null
- ],
- ["t76", cr.plugins_.Sprite, !1, [], 0, 0, null, [
- ["Default", 5, !1, 1, 0, !1, 8810169868865641, [
- ["images/twittershare-sheet0.png", 2369, 0, 0, 118, 118, 1, .491525411605835, .491525411605835, [],
- [-.3389830589294434, -.3389830589294434, 0, -.4745762646198273, .3474576473236084, -.347457617521286, .491525411605835, 0, .3474576473236084, .3474576473236084, 0, .491525411605835, -.3389830589294434, .3389830589294434, -.4745762646198273, 0], 0
- ]
- ]]
- ],
- [], !1, !1, 0xd80c59d575e0d, [], null
- ],
- ["t77", cr.plugins_.Browser, !1, [], 0, 0, null, null, [], !1, !1, 0xc9383e8101249, [], null, []]
- ],
- [],
- [
- ["Normal", 640, 960, !1, "NormalSheet", 6793190745443023, [
- ["BG", 0, 0xfe2f6cdb9082f, !0, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
- [
- [324, -10, 0, 323, 985, 0, 0, 1, 0, 0, 0, 0, []], 4, 4, [],
- [],
- [0, 0]
- ],
- [
- [-9, -3, 0, 329, 967, 0, 0, 1, 0, 0, 0, 0, []], 3, 2, [],
- [],
- [0, 0]
- ],
- [
- [315, -7, 0, 18, 976, 0, 0, 1, 0, 0, 0, 0, []], 1, 1, [],
- [
- [1]
- ],
- [0, 0]
- ]
- ],
- []
- ],
- ["Objects", 1, 0xf6e591d868dc3, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [141, 280, 0, 40.31040573120117, 88.40000915527344, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 0, 0, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [148, 231, 0, 74, 74, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 7, 7, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [476, 280, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 8, 8, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [481, 227, 0, 74.12152099609375, 74.12152099609375, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 9, 9, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [-37, -3, 0, 627, 74, 0, 0, 1, 0, 0, 0, 0, []], 13, 13, [],
- [],
- ["0", 0, "36pt Impact", "rgb(255,255,255)", 2, 1, 0, 0, 0]
- ]
- ],
- []
- ],
- ["Touch", 2, 8804938411823264, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [158, 479.5, 0, 324, 971, 0, 0, 1, .5, .5, 0, 0, []], 5, 5, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [500, 480.5, 0, 346, 979, 0, 0, 1, .5, .5, 0, 0, []], 10, 10, [],
- [],
- [0, "Default", 0, 1]
- ]
- ],
- []
- ],
- ["Exterior Walls", 3, 0xadd72705608ec, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-4, -2.908782958984375, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 6, 6, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [606, -14, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 11, 11, [],
- [
- [1]
- ],
- [0, 0]
- ]
- ],
- []
- ],
- ["GameOver", 4, 8210983363784418, !1, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
- [
- [322, 198.5, 0, 640, 149, 0, 0, 1, .5, .5, 0, 0, []], 14, 14, [],
- [],
- ["逃亡失败!", 0, "72pt Cambria", "rgb(47,46,48)", 1, 1, 1, 0, 0]
- ],
- [
- [324, 323, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 15, 15, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [124, 264, 0, 401, 114, 0, 0, 1, 0, 0, 0, 0, []], 16, 16, [],
- [],
- ["分数", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
- ],
- [
- [309.3287048339844, 329.8324890136719, 0, 236, 67, 0, 0, 1, 0, 0, 0, 0, []], 17, 17, [],
- [],
- ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
- ],
- [
- [321, 582, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 18, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [122, 546, 0, 401.9774780273438, 73.11862182617188, 0, 0, 1, 0, 0, 0, 0, []], 18, 19, [],
- [],
- ["重试", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ],
- [
- [321, 681, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 21, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [120, 644, 0, 401, 72, 0, 0, 1, 0, 0, 0, 0, []], 19, 20, [],
- [],
- ["返回主界面", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ],
- [
- [322, 461, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 20, 22, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [122, 404, 0, 396, 113, 0, 0, 1, 0, 0, 0, 0, []], 21, 23, [],
- [],
- ["最好成绩", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
- ],
- [
- [305, 462, 0, 227, 59, 0, 0, 1, 0, 0, 0, 0, []], 22, 24, [],
- [],
- ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
- ],
- [
- [48.73337173461914, 906.8275146484375, 0, 84.90583038330078, 84.90583038330078, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 75, 201, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [142, 906.8280029296875, 0, 84.90599822998047, 84.90599822998047, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 76, 202, [],
- [],
- [0, "Default", 0, 1]
- ]
- ],
- []
- ],
- ["Click To Begin!", 5, 8793808151719034, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-5, -2, 0, 651, 975, 0, 0, 1, 0, 0, 0, 0, []], 74, 196, [],
- [],
- ["点击开始!", 0, "bold 48pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ]
- ],
- []
- ]
- ],
- [],
- []
- ],
- ["Menu", 640, 960, !1, "MenuSheet", 7496298940719232, [
- ["BG", 0, 0x67f99609e3fa6, !0, [248, 237, 221], !1, 1, 1, 1, !1, 1, 0, 0, [],
- []
- ],
- ["UI", 1, 5342882108316562, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [329.9302978515625, 330, 0, 422, 89, 0, 0, 1, .5, .5, 0, 0, []], 24, 26, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [118.9302978515625, 284, 0, 422, 80, 0, 0, 1, 0, 0, 0, 0, []], 25, 27, [],
- [],
- ["普通难度", 0, "bold 36pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
- ],
- [
- [119, 338, 0, 421.3353271484375, 55, 0, 0, 1, 0, 0, 0, 0, []], 26, 28, [],
- [],
- ["0", 0, "22pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
- ],
- [
- [1, 70, 0, 638, 98, 0, 0, 1, 0, 0, 0, 0, []], 27, 29, [],
- [],
- ["火柴人大逃亡", 0, "bold 48pt Impact", "rgb(0,0,0)", 1, 1, 0, 0, 0]
- ],
- [
- [185, 468, 0, 131.5364685058594, 99.99185180664062, 0, 0, 1, .5, .5, 0, 0, []], 28, 30, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [120, 475, 0, 129.9583129882813, 51.3916015625, 0, 0, 1, 0, 0, 0, 0, []], 29, 32, [],
- [],
- ["0", 0, "22pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
- ],
- [
- [330, 468, 0, 131.5359954833984, 99.99199676513672, 0, 0, 1, .5, .5, 0, 0, []], 30, 33, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [474, 467, 0, 131.5359954833984, 99.99199676513672, 0, 0, 1, .5, .5, 0, 0, []], 31, 34, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [266, 433, 0, 130.5559997558594, 97.36100006103516, 0, 0, 1, 0, 0, 0, 0, []], 32, 35, [],
- [],
- ["地狱", 0, "bold 24pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
- ],
- [
- [265, 474, 0, 129.9579925537109, 51.39199829101563, 0, 0, 1, 0, 0, 0, 0, []], 33, 36, [],
- [],
- ["0", 0, "22pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
- ],
- [
- [411, 434, 0, 130.5559997558594, 97.36100006103516, 0, 0, 1, 0, 0, 0, 0, []], 34, 37, [],
- [],
- ["炼狱", 0, "bold 24pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
- ],
- [
- [409, 475, 0, 129.9579925537109, 51.39199829101563, 0, 0, 1, 0, 0, 0, 0, []], 35, 38, [],
- [],
- ["0", 0, "22pt Impact", "rgb(46,45,47)", 1, 0, 0, 0, 0]
- ],
- [
- [330, 605, 0, 421.8609924316406, 89, 0, 0, 1, .5, .5, 0, 0, []], 36, 39, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [119, 555.221435546875, 0, 422, 80, 0, 0, 1, 0, 0, 0, 0, []], 37, 40, [],
- [],
- ["自虐难度", 0, "bold 36pt Impact", "rgb(45,44,46)", 1, 0, 0, 0, 0]
- ],
- [
- [120.58984375, 609.12109375, 0, 421.3349914550781, 55, 0, 0, 1, 0, 0, 0, 0, []], 38, 41, [],
- [],
- ["0", 0, "22pt Impact", "rgb(46,45,47)", 1, 0, 0, 0, 0]
- ],
- [
- [121, 432, 0, 130.5559997558594, 97.36100006103516, 0, 0, 1, 0, 0, 0, 0, []], 46, 31, [],
- [],
- ["噩梦", 0, "bold 24pt Impact", "rgb(47,46,48)", 1, 0, 0, 0, 0]
- ],
- [
- [121, 655, 0, 419, 77, 0, 0, 1, 0, 0, 0, 0, []], 68, 183, [],
- [],
- ["怎么玩?", 0, "36pt Impact", "rgb(0,0,0)", 1, 1, 0, 0, 0]
- ]
- ],
- []
- ]
- ],
- [],
- []
- ],
- ["Nightmare", 640, 960, !1, "NightmareSheet", 476582701442117, [
- ["BGs", 0, 6141996387292167, !0, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-2, -3, 0, 216, 967, 0, 0, 1, 0, 0, 0, 0, []], 3, 42, [],
- [],
- [0, 0]
- ],
- [
- [211, -15, 0, 213, 985, 0, 0, 1, 0, 0, 0, 0, []], 4, 43, [],
- [],
- [0, 0]
- ],
- [
- [423, -7, 0, 223, 974, 0, 0, 1, 0, 0, 0, 0, []], 39, 44, [],
- [],
- [0, 0]
- ],
- [
- [210, -5, 0, 18, 976, 0, 0, 1, 0, 0, 0, 0, []], 1, 45, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [423, -9, 0, 18, 976, 0, 0, 1, 0, 0, 0, 0, []], 40, 46, [],
- [
- [1]
- ],
- [0, 0]
- ]
- ],
- []
- ],
- ["Players", 1, 6048407420453315, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [570, 239, 0, 74.12200164794922, 74.12000274658203, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 49, 79, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [137, 231, 0, 74, 74, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 7, 77, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [370, 235, 0, 74.12152099609375, 74.12152099609375, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 9, 78, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [130, 280, 0, 40.31040573120117, 88.40000915527344, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 0, 47, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [362, 280, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 8, 48, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [560, 280, 0, 40, 88, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 41, 49, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ]
- ],
- []
- ],
- ["Touch", 2, 5926261608077473, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [49, 480, 0, 324, 971, 0, 0, 1, .5, .5, 0, 0, []], 5, 50, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [608, 468, 0, 346, 979, 0, 0, 1, .5, .5, 0, 0, []], 10, 51, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [324, 482, 0, 210, 986, 0, 0, 1, .5, .5, 0, 0, []], 42, 52, [],
- [],
- [0, "Default", 0, 1]
- ]
- ],
- []
- ],
- ["ExteriorWalls", 3, 0xa7eeacb468bd1, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-1, 0, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 6, 53, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [605, -19, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 11, 54, [],
- [
- [1]
- ],
- [0, 0]
- ]
- ],
- []
- ],
- ["Objects", 4, 841927784348586, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-35, -2, 0, 627, 74, 0, 0, 1, 0, 0, 0, 0, []], 43, 56, [],
- [],
- ["0", 0, "36pt Impact", "rgb(255,255,255)", 2, 0, 0, 0, 0]
- ]
- ],
- []
- ],
- ["GameOver", 5, 9465855984909984, !0, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
- [
- [322, 461, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 20, 63, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [324, 323, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 15, 59, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [322, 198.5, 0, 640, 149, 0, 0, 1, .5, .5, 0, 0, []], 14, 57, [],
- [],
- ["逃亡失败!", 0, "72pt Cambria", "rgb(47,46,48)", 1, 1, 1, 0, 0]
- ],
- [
- [123, 266, 0, 401, 114, 0, 0, 1, 0, 0, 0, 0, []], 16, 58, [],
- [],
- ["分数", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
- ],
- [
- [321, 582, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 60, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [321, 681, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 61, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [124, 404, 0, 396, 113, 0, 0, 1, 0, 0, 0, 0, []], 21, 62, [],
- [],
- ["最好成绩", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
- ],
- [
- [122, 546, 0, 401.9774780273438, 73.11862182617188, 0, 0, 1, 0, 0, 0, 0, []], 18, 64, [],
- [],
- ["重试", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ],
- [
- [122, 644, 0, 401, 72, 0, 0, 1, 0, 0, 0, 0, []], 19, 65, [],
- [],
- ["返回主界面", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ],
- [
- [309.3290100097656, 329.8320007324219, 0, 200, 59, 0, 0, 1, 0, 0, 0, 0, []], 44, 66, [],
- [],
- ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
- ],
- [
- [312, 470, 0, 200, 57, 0, 0, 1, 0, 0, 0, 0, []], 45, 67, [],
- [],
- ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
- ],
- [
- [57, 906, 0, 84.90583038330078, 84.90583038330078, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 75, 204, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [146, 906, 0, 84.90599822998047, 84.90599822998047, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 76, 205, [],
- [],
- [0, "Default", 0, 1]
- ]
- ],
- []
- ],
- ["Click To Begin!", 6, 0x58719e360b2c0, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-2, -9, 0, 651, 975, 0, 0, 1, 0, 0, 0, 0, []], 74, 200, [],
- [],
- ["点击开始!", 0, "48pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ]
- ],
- []
- ]
- ],
- [],
- []
- ],
- ["Hell", 640, 960, !1, "HellSheet", 6495772553679315, [
- ["ObjectsBot", 0, 0x8453830d77bda, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [1224, 203, 0, 72, 56, 0, 0, 1, .6590909361839294, .4749999940395355, 0, 0, []], 12, 91, [
- [0]
- ],
- [
- [0, 0, 0, 0, 0, 1],
- []
- ],
- [0, "Default", 0, 1]
- ]
- ],
- []
- ],
- ["BG_Top", 1, 5851706206676208, !0, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
- [
- [0, 0, 0, 320, 480, 0, 0, 1, 0, 0, 0, 0, []], 3, 55, [],
- [],
- [0, 0]
- ],
- [
- [320, 0, 0, 320, 480, 0, 0, 1, 0, 0, 0, 0, []], 4, 68, [],
- [],
- [0, 0]
- ]
- ],
- []
- ],
- ["ObjectsTop", 2, 9495895565874314, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-39.8114013671875, 2.076026916503906, 0, 627, 74, 0, 0, 1, 0, 0, 0, 0, []], 13, 92, [],
- [],
- ["0", 0, "36pt Impact", "rgb(255,255,255)", 2, 1, 0, 0, 0]
- ]
- ],
- []
- ],
- ["Bg_Bottom", 3, 0xa4cf290d1d3e1, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [0, 480, 0, 320, 480, 0, 0, 1, 0, 0, 0, 0, []], 39, 69, [],
- [],
- [0, 0]
- ],
- [
- [320, 480, 0, 320, 480, 0, 0, 1, 0, 0, 0, 0, []], 47, 70, [],
- [],
- [0, 0]
- ]
- ],
- []
- ],
- ["Walls", 4, 0x868a51b11ccb9, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [314, -5, 0, 18, 976, 0, 0, 1, 0, 0, 0, 0, []], 1, 71, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [806, 466, 0, 18, 976, 0, 1.570796370506287, 1, 0, 0, 0, 0, []], 40, 72, [],
- [
- [1]
- ],
- [0, 0]
- ]
- ],
- []
- ],
- ["Players", 5, 8969480576743454, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [492, 596, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 48, 76, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [165, 596, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 41, 75, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [490, 100, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 8, 74, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [157, 100, 0, 40.31040573120117, 88.40000915527344, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 0, 73, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [171, 55, 0, 74, 74, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 7, 86, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [501, 48, 0, 74.12152099609375, 74.12152099609375, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 9, 87, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [167, 567, 0, 74.12200164794922, 74.12000274658203, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 49, 88, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [497, 566, 0, 74, 74, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 54, 89, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ]
- ],
- []
- ],
- ["touch", 6, 7880366942117175, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [147.5, 230.5, 0, 339, 481, 0, 0, 1, .5, .5, 0, 0, []], 50, 80, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [496, 234.5, 0, 348, 475, 0, 0, 1, .5, .5, 0, 0, []], 51, 81, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [140, 725, 0, 354, 482, 0, 0, 1, .5, .5, 0, 0, []], 52, 82, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [486.5, 723, 0, 317, 484, 0, 0, 1, .5, .5, 0, 0, []], 53, 83, [],
- [],
- [0, "Default", 0, 1]
- ]
- ],
- []
- ],
- ["Exterior Walls", 7, 7877837409767375, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-1.125701904296875, -1.933837890625, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 6, 84, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [604, -17, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 11, 85, [],
- [
- [1]
- ],
- [0, 0]
- ]
- ],
- []
- ],
- ["GameOver", 8, 352132221228013, !1, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
- [
- [322, 198.5, 0, 640, 149, 0, 0, 1, .5, .5, 0, 0, []], 14, 93, [],
- [],
- ["逃亡失败!", 0, "72pt Cambria", "rgb(47,46,48)", 1, 1, 1, 0, 0]
- ],
- [
- [324, 323, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 15, 94, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [321, 582, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 95, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [321, 681, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 96, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [322, 461, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 20, 97, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [126, 265, 0, 401, 114, 0, 0, 1, 0, 0, 0, 0, []], 16, 98, [],
- [],
- ["分数", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
- ],
- [
- [124, 547, 0, 401.9774780273438, 73.11862182617188, 0, 0, 1, 0, 0, 0, 0, []], 18, 99, [],
- [],
- ["重试", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ],
- [
- [122, 645, 0, 401, 72, 0, 0, 1, 0, 0, 0, 0, []], 19, 100, [],
- [],
- ["返回主界面", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ],
- [
- [124, 405, 0, 396, 113, 0, 0, 1, 0, 0, 0, 0, []], 21, 101, [],
- [],
- ["最好成绩", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
- ],
- [
- [315, 330, 0, 200, 69, 0, 0, 1, 0, 0, 0, 0, []], 56, 102, [],
- [],
- ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
- ],
- [
- [312, 471, 0, 200, 65, 0, 0, 1, 0, 0, 0, 0, []], 57, 103, [],
- [],
- ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
- ],
- [
- [51, 906, 0, 84.90583038330078, 84.90583038330078, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 75, 206, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [139, 906, 0, 84.90599822998047, 84.90599822998047, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 76, 207, [],
- [],
- [0, "Default", 0, 1]
- ]
- ],
- []
- ],
- ["Click To Begin", 9, 5096805631829142, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-9, -6, 0, 651, 975, 0, 0, 1, 0, 0, 0, 0, []], 74, 199, [],
- [],
- ["点击开始!", 0, "48pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ]
- ],
- []
- ]
- ],
- [],
- []
- ],
- ["Inferno", 640, 960, !1, "InfernoSheet", 0x6f96b4ef9dfbd, [
- ["BG", 0, 0xe235fc1594614, !0, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
- [
- [217, -15, 0, 213, 985, 0, 0, 1, 0, 0, 0, 0, []], 4, 105, [],
- [],
- [0, 0]
- ],
- [
- [411, -12, 0, 240, 974, 0, 0, 1, 0, 0, 0, 0, []], 39, 106, [],
- [],
- [0, 0]
- ],
- [
- [318.88916015625, 478, 0, 322, 507, 0, 0, 1, 0, 0, 0, 0, []], 58, 108, [],
- [],
- [0, 0]
- ],
- [
- [-7, -5, 0, 241, 973, 0, 0, 1, 0, 0, 0, 0, []], 3, 104, [],
- [],
- [0, 0]
- ],
- [
- [-1, 478, 0, 320, 500, 0, 0, 1, 0, 0, 0, 0, []], 47, 107, [],
- [],
- [0, 0]
- ]
- ],
- []
- ],
- ["Walls", 1, 9087930047096660, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [224, -14, 0, 18, 492, 0, 0, 1, 0, 0, 0, 0, []], 1, 109, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [404, -11, 0, 18, 493, 0, 0, 1, 0, 0, 0, 0, []], 40, 110, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [642, 471.0000305175781, 0, 18, 643, 0, 1.570796370506287, 1, 0, 0, 0, 0, []], 59, 111, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [314, 486, 0, 18, 492, 0, 0, 1, 0, 0, 0, 0, []], 60, 112, [],
- [
- [1]
- ],
- [0, 0]
- ]
- ],
- []
- ],
- ["Exterior Walls", 2, 8660337620441946, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [0, -2, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 6, 113, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [608, -15, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 11, 114, [],
- [
- [1]
- ],
- [0, 0]
- ]
- ],
- []
- ],
- ["Players", 3, 744512630552264, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [90, 110, 0, 40.31040573120117, 88.40000915527344, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 0, 115, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [312, 110, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 8, 116, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [526, 110, 0, 40, 88, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 41, 117, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [86, 598, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 48, 118, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [414, 590, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 61, 119, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [99, 71, 0, 74, 74, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 7, 120, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [321, 70, 0, 74.12152099609375, 74.12152099609375, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 9, 121, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [536, 68, 0, 74, 74, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 49, 122, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [94, 587, 0, 74, 74, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 54, 123, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [423, 605, 0, 128, 128, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 62, 124, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ]
- ],
- []
- ],
- ["Touch", 4, 0xfe21b7d900dfc, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [37, 234, 0, 339, 481, 0, 0, 1, .5, .5, 0, 0, []], 50, 125, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [319.5, 229, 0, 213, 489, 0, 0, 1, .5, .5, 0, 0, []], 51, 126, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [539.5, 236, 0, 215, 482, 0, 0, 1, .5, .5, 0, 0, []], 52, 127, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [156, 724, 0, 335, 484, 0, 0, 1, .5, .5, 0, 0, []], 53, 128, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [482.5, 720, 0, 313, 482, 0, 0, 1, .5, .5, 0, 0, []], 63, 129, [],
- [],
- [0, "Default", 0, 1]
- ]
- ],
- []
- ],
- ["Objects", 5, 9638733432799384, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-29, 3, 0, 627, 74, 0, 0, 1, 0, 0, 0, 0, []], 13, 142, [],
- [],
- ["0", 0, "36pt Impact", "rgb(255,255,255)", 2, 1, 0, 0, 0]
- ]
- ],
- []
- ],
- ["GameOver", 6, 0x5630b637b3fa9, !1, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
- [
- [316, 243, 0, 640, 149, 0, 0, 1, .5, .5, 0, 0, []], 14, 131, [],
- [],
- ["逃亡失败!", 0, "72pt Cambria", "rgb(47,46,48)", 1, 1, 1, 0, 0]
- ],
- [
- [318, 368, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 15, 132, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [315, 627, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 133, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [315, 726, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 134, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [316, 506, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 20, 135, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [120, 310, 0, 401, 114, 0, 0, 1, 0, 0, 0, 0, []], 16, 136, [],
- [],
- ["分数", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
- ],
- [
- [118, 592, 0, 401.9774780273438, 73.11862182617188, 0, 0, 1, 0, 0, 0, 0, []], 18, 137, [],
- [],
- ["重试", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ],
- [
- [116, 690, 0, 401, 72, 0, 0, 1, 0, 0, 0, 0, []], 19, 138, [],
- [],
- ["返回主界面", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ],
- [
- [118, 450, 0, 396, 113, 0, 0, 1, 0, 0, 0, 0, []], 21, 139, [],
- [],
- ["最好成绩", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
- ],
- [
- [309, 375, 0, 200, 69, 0, 0, 1, 0, 0, 0, 0, []], 56, 140, [],
- [],
- ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
- ],
- [
- [306, 516, 0, 200, 65, 0, 0, 1, 0, 0, 0, 0, []], 57, 141, [],
- [],
- ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
- ],
- [
- [60, 906, 0, 84.90583038330078, 84.90583038330078, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 75, 208, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [151, 906, 0, 84.90599822998047, 84.90599822998047, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 76, 209, [],
- [],
- [0, "Default", 0, 1]
- ]
- ],
- []
- ],
- ["Click To Begin", 7, 7127975091758518, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-5, -12, 0, 651, 975, 0, 0, 1, 0, 0, 0, 0, []], 74, 198, [],
- [],
- ["点击开始!", 0, "48pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ]
- ],
- []
- ]
- ],
- [],
- []
- ],
- ["Impossible", 640, 960, !1, "ImpossibleSheet", 6221709039222784, [
- ["BG", 0, 6823650229543361, !0, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-2, -3, 0, 216, 967, 0, 0, 1, 0, 0, 0, 0, []], 3, 130, [],
- [],
- [0, 0]
- ],
- [
- [214, -14, 0, 213, 985, 0, 0, 1, 0, 0, 0, 0, []], 4, 143, [],
- [],
- [0, 0]
- ],
- [
- [419, -11, 0, 223, 974, 0, 0, 1, 0, 0, 0, 0, []], 39, 144, [],
- [],
- [0, 0]
- ],
- [
- [-3.552703857421875, 480, 0, 217.5527038574219, 985, 0, 0, 1, 0, 0, 0, 0, []], 47, 145, [],
- [],
- [0, 0]
- ],
- [
- [214.432861328125, 479.03564453125, 0, 204.8214111328125, 985, 0, 0, 1, 0, 0, 0, 0, []], 58, 146, [],
- [],
- [0, 0]
- ],
- [
- [416, 479, 0, 232, 985, 0, 0, 1, 0, 0, 0, 0, []], 64, 147, [],
- [],
- [0, 0]
- ]
- ],
- []
- ],
- ["Walls", 1, 9048676112762024, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [204, -6, 0, 18, 976, 0, 0, 1, 0, 0, 0, 0, []], 1, 148, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [410, -10, 0, 18, 976, 0, 0, 1, 0, 0, 0, 0, []], 40, 149, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [640, 474, 0, 18, 643, 0, 1.570796370506287, 1, 0, 0, 0, 0, []], 59, 150, [],
- [
- [1]
- ],
- [0, 0]
- ]
- ],
- []
- ],
- ["Exterior Walls", 2, 7702851092721567, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-2, -3, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 6, 151, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [611.3544311523438, -18, 0, 36, 979, 0, 0, 1, 0, 0, 0, 0, []], 11, 152, [],
- [
- [1]
- ],
- [0, 0]
- ]
- ],
- []
- ],
- ["Players", 3, 0x8b40b1275b6ca, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [80, 109, 0, 40.31040573120117, 88.40000915527344, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 0, 153, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [305, 109, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 8, 154, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [515, 109, 0, 40, 88, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 41, 155, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [77, 595, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 48, 156, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [306, 595, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 61, 157, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [509, 595, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 65, 158, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [88, 63, 0, 74, 74, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 7, 159, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [313, 68, 0, 74.12152099609375, 74.12152099609375, 0, -1.592978477478027, 1, 0, .5, 0, 0, []], 9, 160, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [523, 66, 0, 74.12200164794922, 74.12000274658203, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 49, 161, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [83, 591, 0, 74, 74, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 54, 162, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [311, 599, 0, 74, 74, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 62, 163, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ],
- [
- [512, 597, 0, 74, 74, 0, -1.592979431152344, 1, 0, .5, 0, 0, []], 66, 164, [],
- [
- [],
- [1]
- ],
- [4, 10, 0, 200, 10, 100, 0, 0, 0, 0, 0, 0, -150, 0, 0, 800, 0, 0, 1]
- ]
- ],
- []
- ],
- ["Touch", 4, 0x65ea3fa82acf8, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [37, 236, 0, 339, 481, 0, 0, 1, .5, .5, 0, 0, []], 50, 165, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [316.5, 235.5, 0, 199, 488, 0, 0, 1, .5, .5, 0, 0, []], 51, 166, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [527.5, 237, 0, 207, 488, 0, 0, 1, .5, .5, 0, 0, []], 52, 167, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [50, 729, 0, 317, 484, 0, 0, 1, .5, .5, 0, 0, []], 53, 168, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [315, 726, 0, 199, 482, 0, 0, 1, .5, .5, 0, 0, []], 63, 169, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [527, 723.5, 0, 220, 483, 0, 0, 1, .5, .5, 0, 0, []], 67, 170, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [-27, -4, 0, 627, 74, 0, 0, 1, 0, 0, 0, 0, []], 13, 171, [],
- [],
- ["0", 0, "36pt Impact", "rgb(255,255,255)", 2, 1, 0, 0, 0]
- ]
- ],
- []
- ],
- ["GameOver", 5, 9817631364158772, !1, [255, 255, 255], !1, 1, 1, 1, !1, 1, 0, 0, [
- [
- [322, 264, 0, 640, 149, 0, 0, 1, .5, .5, 0, 0, []], 14, 172, [],
- [],
- ["逃亡失败!", 0, "72pt Cambria", "rgb(47,46,48)", 1, 1, 1, 0, 0]
- ],
- [
- [324, 389, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 15, 173, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [321, 648, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 174, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [321, 747, 0, 404, 75, 0, 0, 1, .5, .5, 0, 0, []], 15, 175, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [322, 527, 0, 401, 115, 0, 0, 1, .5, .5, 0, 0, []], 20, 176, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [126, 331, 0, 401, 114, 0, 0, 1, 0, 0, 0, 0, []], 16, 177, [],
- [],
- ["分数", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
- ],
- [
- [124, 613, 0, 401.9774780273438, 73.11862182617188, 0, 0, 1, 0, 0, 0, 0, []], 18, 178, [],
- [],
- ["重试", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ],
- [
- [122, 711, 0, 401, 72, 0, 0, 1, 0, 0, 0, 0, []], 19, 179, [],
- [],
- ["返回主界面", 0, "26pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ],
- [
- [124, 471, 0, 396, 113, 0, 0, 1, 0, 0, 0, 0, []], 21, 180, [],
- [],
- ["最好成绩", 0, "36pt Impact", "rgb(255,255,255)", 1, 0, 0, 0, 0]
- ],
- [
- [315, 396, 0, 200, 69, 0, 0, 1, 0, 0, 0, 0, []], 56, 181, [],
- [],
- ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
- ],
- [
- [312, 537, 0, 200, 65, 0, 0, 1, 0, 0, 0, 0, []], 57, 182, [],
- [],
- ["0", 0, "28pt Impact", "rgb(255,255,255)", 0, 0, 0, 0, 0]
- ],
- [
- [55, 906, 0, 84.90583038330078, 84.90583038330078, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 75, 210, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [146, 906, 0, 84.90599822998047, 84.90599822998047, 0, 0, 1, .491525411605835, .491525411605835, 0, 0, []], 76, 211, [],
- [],
- [0, "Default", 0, 1]
- ]
- ],
- []
- ],
- ["Click to begin", 6, 94932088974365, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [1, -11, 0, 651, 975, 0, 0, 1, 0, 0, 0, 0, []], 74, 197, [],
- [],
- ["点击开始!", 0, "48pt Impact", "rgb(255,255,255)", 1, 1, 0, 0, 0]
- ]
- ],
- []
- ]
- ],
- [],
- []
- ],
- ["HowTo", 640, 960, !1, "HowToSheet", 4684315367693243, [
- ["BG", 0, 0x3ce4b4fd1bf80, !0, [45, 45, 45], !1, 1, 1, 1, !1, 1, 0, 0, [],
- []
- ],
- ["UI", 1, 0x5f8141a4da503, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [-11, 211, 0, 320, 480, 0, 0, 1, 0, 0, 0, 0, []], 3, 184, [],
- [],
- [0, 0]
- ],
- [
- [308, 211, 0, 340, 480.2442626953125, 0, 0, 1, 0, 0, 0, 0, []], 4, 185, [],
- [],
- [0, 0]
- ],
- [
- [-2, 88, 0, 644, 77, 0, 0, 1, 0, 0, 0, 0, []], 68, 186, [],
- [],
- ["怎么玩?", 0, "36pt Impact", "rgb(0,0,0)", 1, 1, 0, 0, 0]
- ]
- ],
- []
- ],
- ["Players", 2, 4849095444399906, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [3, 375, 0, 40.31040573120117, 88.40000915527344, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 0, 187, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [320, 368, 0, 40.31000137329102, 88.4000015258789, 0, 0, 1, .08771929889917374, .9440000057220459, 0, 0, []], 8, 188, [],
- [
- [330, 1500, 1500, 650, 7e3, 1e3, 1, 1],
- [1]
- ],
- [0, "Default", 0, 1]
- ],
- [
- [298, 210, 0, 18, 482.8175659179688, 0, 0, 1, 0, 0, 0, 0, []], 1, 189, [],
- [
- [1]
- ],
- [0, 0]
- ],
- [
- [47.27220153808594, 528.8405151367188, 0, 72, 56, 0, 0, 1, .6590909361839294, .4749999940395355, 0, 0, []], 12, 190, [
- [0]
- ],
- [
- [0, 0, 0, 0, 0, 1],
- []
- ],
- [0, "Default", 0, 1]
- ],
- [
- [360.72705078125, 654.2943115234375, 0, 72, 56, 0, 0, 1, .6590909361839294, .4749999940395355, 0, 0, []], 55, 191, [
- [0]
- ],
- [
- [0, 0, 0, 0, 0, 1],
- []
- ],
- [0, "Default", 0, 1]
- ]
- ],
- []
- ],
- ["Layer 0", 3, 6124428693833151, !0, [255, 255, 255], !0, 1, 1, 1, !1, 1, 0, 0, [
- [
- [54, 228, 0, 200, 52, 0, 0, 1, 0, 0, 0, 0, []], 69, 192, [],
- [],
- ["点击这里让第一个火柴人跳跃!", 0, "12pt Arial", "rgb(0,0,0)", 1, 0, 0, 0, 0]
- ],
- [
- [398, 230, 0, 200, 52, 0, 0, 1, 0, 0, 0, 0, []], 69, 193, [],
- [],
- ["点击这里让第二个火柴人跳跃!", 0, "12pt Arial", "rgb(0,0,0)", 1, 0, 0, 0, 0]
- ],
- [
- [305, 737, 0, 165, 69, 0, 0, 1, .5, .5, 0, 0, []], 70, 194, [],
- [],
- [0, "Default", 0, 1]
- ],
- [
- [222.6523742675781, 702.348876953125, 0, 165, 69.30474853515625, 0, 0, 1, 0, 0, 0, 0, []], 71, 195, [],
- [],
- ["开始玩!", 0, "20pt Impact", "rgb(0,0,0)", 1, 1, 0, 0, 0]
- ]
- ],
- []
- ]
- ],
- [],
- []
- ]
- ],
- [
- ["NormalSheet", [
- [1, "SpeedNormal", 0, 400, !1, !1, 6128900491694406, !1],
- [1, "HighScoreNormal", 0, 0, !1, !1, 4593433996538131, !1],
- [1, "playNormal", 0, 0, !1, !1, 0x7196f0e0e69b3, !1],
- [1, "gameover_normal", 0, 0, !1, !1, 8858073548351434, !1],
- [1, "ScoreNormal", 0, 0, !1, !1, 0xfd5a12e454b5e, !1],
- [1, "gravityNormal", 0, 1, !1, !1, 5456783151183835, !1],
- [1, "begin", 0, 0, !1, !1, 0xc6750a6942190, !1],
- [1, "row1Normal", 0, 0, !1, !1, 0x93828e4a91ec5, !1],
- [1, "row2Normal", 0, 0, !1, !1, 8672221112569121, !1],
- [1, "gravity2Normal", 0, 1, !1, !1, 7835872564096574, !1],
- [0, null, !1, null, 406552105737328, [
- [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 8450616553162522, !1]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7034860866874568, !1, [
- [0, [0, 180]]
- ]],
- [7, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 6297253402573441, !1, [
- [4, 0],
- [3, 1]
- ]],
- [9, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 6625915676738488, !1, [
- [4, 8],
- [3, 1]
- ]],
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 9701174192858192, !1, [
- [0, [0, 180]]
- ]],
- [72, cr.plugins_.CJSAds.prototype.acts.HideBanner, null, 0x81ad98e908774, !1],
- [72, cr.plugins_.CJSAds.prototype.acts.ShowBanner, null, 0xccf93c4ce1a9a, !1, [
- [3, 1]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 9623268513082098, !1, [
- [5, [0, 4]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 663923452594253, !1, [
- [5, [0, 4]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5300056357462319, !1, [
- [11, "playNormal"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4904336327581021, !1, [
- [11, "gameover_normal"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7838785186286355, !1, [
- [11, "gravity2Normal"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xac39f40120fd7, !1, [
- [11, "gravityNormal"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4574869848617661, !1, [
- [11, "SpeedNormal"],
- [7, [0, 400]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8520661857682528, !1, [
- [11, "ScoreNormal"],
- [7, [0, 0]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.Destroy, null, 6928821395288654, !1],
- [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 7318544674801025, !1],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8524203456669225, !1, [
- [11, "begin"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 4511333943575718, !1, [
- [5, [0, 5]],
- [3, 1]
- ]]
- ],
- [
- [0, null, !1, null, 0xfe9ef78e848e9, [
- [23, cr.plugins_.WebStorage.prototype.cnds.LocalStorageExists, null, 0, !1, !1, !1, 5395573642807182, !1, [
- [1, [2, "HighScoreNormal"]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 330353218818566, !1, [
- [11, "HighScoreNormal"],
- [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreNormal"]
- ]]]
- ]],
- [22, cr.plugins_.Text.prototype.acts.SetText, null, 9101649894824476, !1, [
- [7, [23, "HighScoreNormal"]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xa8f0c73b0492, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0x9452ffaa4b193, !1]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xacc5f0df7584, !1, [
- [11, "HighScoreNormal"],
- [7, [0, 0]]
- ]],
- [22, cr.plugins_.Text.prototype.acts.SetText, null, 7441889213008412, !1, [
- [7, [23, "HighScoreNormal"]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 6842642836791274, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x4a38c04477924, !1, [
- [4, 1]
- ]]
- ],
- [
- [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x82eb1ce3290c, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 6672168632689776, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 5899417286645038, !1, [
- [4, 6]
- ]]
- ],
- [
- [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 4595441777290981, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 710420021410511, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 7577874649569645, !1, [
- [4, 5]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 0xd542afb1be294, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xca8871e89c0dc, !1, [
- [11, "gravity2Normal"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 54371155466584, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8022671629886141, !1, [
- [11, "gravity2Normal"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xf098fef8e8923, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 6547636394856382, !1]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 6934896069221051, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8793957128873952, !1, [
- [11, "gravity2Normal"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 6884490847155575, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 5516733946921833, !1, [
- [4, 1]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 44706565986367, !1, [
- [11, "gravityNormal"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xce646acd6a03a, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 0x89316e36b7de1, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 8954979636220256, !1, [
- [4, 11]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xfcd92d5abcf4d, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 9696574218967808, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 5408070242146168, !1, [
- [4, 10]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 9177268882013312, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x39483de928d79, !1, [
- [11, "gravityNormal"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8508087942203836, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xd8cb3e6935b5b, !1, [
- [11, "gravityNormal"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 9182404856283896, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 5041200311744705, !1]
- ],
- [
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7752289100344649, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4759490785793237, !1, [
- [11, "gravityNormal"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 5605217618353073, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 313582747096609, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 1],
- [1, 1.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8770515906540405, !1, [
- [11, "playNormal"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7855845826346227, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x7c0db670fb151, !1, [
- [11, "row1Normal"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 0xb400b5d3a0456, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x5b9748316fa93, !1, [
- [11, "row1Normal"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 9547573636149468, !1, [
- [4, 12],
- [5, [0, 1]],
- [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 80]
- ]],
- [0, [0, 978]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x543b0ebd41623, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 4707154781682047, !1, [
- [11, "row1Normal"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 8732076363738413, !1, [
- [4, 12],
- [5, [0, 1]],
- [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 30]
- ]],
- [0, [0, 978]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 5516881870362858, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 8018667712521448, [
- [-1, cr.system_object.prototype.cnds.EveryTick, null, 0, !1, !1, !1, 0xfcdcbe5bd8c1a, !1]
- ],
- [
- [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 0x89cf5fa1daa50, !1, [
- [0, [0, 270]]
- ]],
- [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 7741052735229155, !1, [
- [0, [23, "SpeedNormal"]]
- ]],
- [-1, cr.system_object.prototype.acts.AddVar, null, 0x62039b7f448cf, !1, [
- [11, "SpeedNormal"],
- [7, [1, .1]]
- ]]
- ]
- ],
- [0, null, !1, null, 733865702791395, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0x830501bf0f849, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 1],
- [1, 1.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8101163499250353, !1, [
- [11, "playNormal"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9868637453720092, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x8cccba8ab2bf5, !1, [
- [11, "row2Normal"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 3],
- [0, 4]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 6619574077097245, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7053292196231721, !1, [
- [11, "row2Normal"],
- [8, 0],
- [7, [0, 3]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 5290403359130764, !1, [
- [4, 12],
- [5, [0, 1]],
- [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 60]
- ]],
- [0, [0, 978]]
- ]]
- ]
- ],
- [0, null, !1, null, 4594433236288963, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7199233062790856, !1, [
- [11, "row2Normal"],
- [8, 0],
- [7, [0, 4]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 9756703718549216, !1, [
- [4, 12],
- [5, [0, 1]],
- [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 40]
- ]],
- [0, [0, 978]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 972088230442956, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0xe0524f2ac91a7, [
- [12, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 6339528076011626, !1, [
- [8, 3],
- [0, [20, 0, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
- ]],
- [12, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 4872655491988839, !1, [
- [10, 0]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.AddVar, null, 4759005201449048, !1, [
- [11, "ScoreNormal"],
- [7, [0, 1]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 6952591301311746, !1, [
- [10, 0],
- [3, 1]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 7532046882123513, !1, [
- [2, ["point", !1]],
- [3, 0],
- [0, [0, -10]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 7402298332704359, [
- [-1, cr.system_object.prototype.cnds.EveryTick, null, 0, !1, !1, !1, 9845329604716024, !1]
- ],
- [
- [13, cr.plugins_.Text.prototype.acts.SetText, null, 297293624592541, !1, [
- [7, [23, "ScoreNormal"]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x7610b09cc9b46, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 4550817022332795, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 6521603438499928, !1, [
- [11, "playNormal"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xfd062866e46c4, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x67c10cafb040b, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 309127937862541, !1, [
- [11, "playNormal"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 6193186460712161, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc94969bc798d1, !1, [
- [11, "playNormal"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 7460174000982955, !1, [
- [4, 0],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 7790963985354107, !1, [
- [4, 12],
- [0, [0, 0]]
- ]],
- [7, cr.plugins_.Particles.prototype.acts.Destroy, null, 4560592676367467, !1],
- [9, cr.plugins_.Particles.prototype.acts.Destroy, null, 9766363625190454, !1],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 5239163607311557, !1, [
- [4, 8],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7235272129785533, !1, [
- [11, "gameover_normal"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 5986707658430202, !1, [
- [5, [0, 4]],
- [3, 1]
- ]],
- [17, cr.plugins_.Text.prototype.acts.SetText, null, 83053783984799, !1, [
- [7, [23, "ScoreNormal"]]
- ]]
- ],
- [
- [0, null, !1, null, 5623358612633405, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x8454507dd6a5, !1, [
- [11, "ScoreNormal"],
- [8, 4],
- [7, [23, "HighScoreNormal"]]
- ]]
- ],
- [
- [23, cr.plugins_.WebStorage.prototype.acts.StoreLocal, null, 0x690bf76125d60, !1, [
- [1, [2, "HighScoreNormal"]],
- [7, [23, "ScoreNormal"]]
- ]],
- [22, cr.plugins_.Text.prototype.acts.SetText, null, 8031147090165105, !1, [
- [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreNormal"]
- ]]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0x3b204826f0701, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8526956844198822, !1, [
- [11, "gameover_normal"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 8495235509801385, !1, [
- [5, [0, 4]],
- [0, [4, [19, cr.system_object.prototype.exps.layeropacity, [
- [0, 4]
- ]],
- [0, 5]
- ]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x8bd7bce904598, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 5543779827744148, !1, [
- [4, 19]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 0xbf010cf182865, !1, [
- [5, [0, 4]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 0xb4f707c295a29, !1, [
- [6, "Menu"]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 8713148075403434, !1, [
- [5, [0, 4]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 4850127859056702, !1, [
- [5, [0, 4]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5337063752915593, !1, [
- [11, "playNormal"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xfa2247cee47ef, !1, [
- [11, "gameover_normal"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 345612897143971, !1, [
- [11, "gravity2Normal"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x9e262648ccbb0, !1, [
- [11, "gravityNormal"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9999834456895368, !1, [
- [11, "SpeedNormal"],
- [7, [0, 400]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xe580a8f46a46f, !1, [
- [11, "ScoreNormal"],
- [7, [0, 0]]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 0xa89f52318ddd5, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 4617105207162233, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x416c28eee3455, !1, [
- [4, 18]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 0x84ace9d93976f, !1, [
- [5, [0, 4]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 512668165851831, !1, [
- [6, "Normal"]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 5574890333169155, !1, [
- [5, [0, 4]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 8769707529128851, !1, [
- [5, [0, 4]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9135049592581162, !1, [
- [11, "playNormal"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6082751257317717, !1, [
- [11, "gameover_normal"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x9e5320c92adf, !1, [
- [11, "gravity2Normal"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4970663866985987, !1, [
- [11, "gravityNormal"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x67274a4a3153b, !1, [
- [11, "SpeedNormal"],
- [7, [0, 400]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xa1d01443b844f, !1, [
- [11, "ScoreNormal"],
- [7, [0, 0]]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 8971233977383036, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 4634696781480307, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9651852993619680, !1, [
- [4, 74]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x619183c820b05, !1, [
- [11, "begin"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 7182661777903734, !1, [
- [5, [0, 5]],
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 0x72697a624bb72, [
- [8, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 734310025484482, !1, [
- [8, 2],
- [0, [0, 309]]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetX, null, 0x9bc711de21fd1, !1, [
- [0, [0, 476]]
- ]]
- ]
- ],
- [0, null, !1, null, 7059070686962692, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 8035328653726959, !1, [
- [4, 75]
- ]]
- ],
- [
- [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 7143950653738538, !1, [
- [1, [10, [10, [10, [2, "sharegame"],
- [23, "ScoreNormal"]
- ],
- [2, ":"]
- ],
- [19, cr.system_object.prototype.exps.random, [
- [0, 1],
- [0, 10]
- ]]
- ]],
- [1, [2, "NewWindow"]]
- ]]
- ]
- ],
- [0, null, !1, null, 4939759628391842, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4554780712947933, !1, [
- [4, 76]
- ]]
- ],
- [
- [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 0x88f24073bce76, !1, [
- [1, [10, [10, [2, "more"],
- [23, "HighScoreNormal"]
- ],
- [2, ""]
- ]],
- [1, [2, "NewWindow"]]
- ]]
- ]
- ]
- ]],
- ["MenuSheet", [
- [0, null, !1, null, 0x67dd722238388, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x6e09f2c68d1cd, !1, [
- [4, 25]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 0x756b09459cd8d, !1, [
- [6, "Normal"]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 0x3ea78da82c215, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5003714479805815, !1, [
- [11, "playNormal"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xe8fafe89db716, !1, [
- [11, "gameover_normal"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9410945820528542, !1, [
- [11, "gravity2Normal"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4888456995098862, !1, [
- [11, "gravityNormal"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xce97c9376c18e, !1, [
- [11, "SpeedNormal"],
- [7, [0, 400]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4579288453640965, !1, [
- [11, "ScoreNormal"],
- [7, [0, 0]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x8f332f4ddeb6c, [
- [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 0xd2cadb20a27f5, !1]
- ],
- [
- [26, cr.plugins_.Text.prototype.acts.SetText, null, 6478248108990149, !1, [
- [7, [10, [10, [2, "("],
- [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreNormal"]
- ]]
- ],
- [2, ")"]
- ]]
- ]],
- [29, cr.plugins_.Text.prototype.acts.SetText, null, 9718452654224912, !1, [
- [7, [10, [10, [2, "("],
- [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreNightmare"]
- ]]
- ],
- [2, ")"]
- ]]
- ]],
- [33, cr.plugins_.Text.prototype.acts.SetText, null, 6610706287525575, !1, [
- [7, [10, [10, [2, "("],
- [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreHell"]
- ]]
- ],
- [2, ")"]
- ]]
- ]],
- [35, cr.plugins_.Text.prototype.acts.SetText, null, 0x3c02e3e95c905, !1, [
- [7, [10, [10, [2, "("],
- [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreInferno"]
- ]]
- ],
- [2, ")"]
- ]]
- ]],
- [38, cr.plugins_.Text.prototype.acts.SetText, null, 6112658968646318, !1, [
- [7, [10, [10, [2, "("],
- [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreImpossible"]
- ]]
- ],
- [2, ")"]
- ]]
- ]],
- [72, cr.plugins_.CJSAds.prototype.acts.ShowBanner, null, 550185038712582, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 7923777733539721, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4525170388282284, !1, [
- [4, 46]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 5064514123310331, !1, [
- [6, "Nightmare"]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 9969795365194312, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5116062667703753, !1, [
- [11, "playNightmare"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8907416408230066, !1, [
- [11, "gameover_Nightmare"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7386050382098356, !1, [
- [11, "gravity3Nightmare"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5403299117445234, !1, [
- [11, "gravity2Nightmare"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x9a503471c249b, !1, [
- [11, "SpeedNightmare"],
- [7, [0, 400]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7402910404973858, !1, [
- [11, "ScoreNightmare"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5173135598903215, !1, [
- [11, "gravityNightmare"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 9944869931851458, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4784580296224788, !1, [
- [4, 34]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 694193050280101, !1, [
- [6, "Inferno"]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 5621545330062675, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5428650833926189, !1, [
- [11, "playInferno"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 350610537732811, !1, [
- [11, "gameover_Inferno"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xa1ba15cb270de, !1, [
- [11, "gravityInferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xc40fa9d7c1aba, !1, [
- [11, "gravity2Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6449289572590423, !1, [
- [11, "SpeedInferno"],
- [7, [0, 200]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7249242976183294, !1, [
- [11, "ScoreInferno"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8588010306306847, !1, [
- [11, "gravity3Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9765718362435840, !1, [
- [11, "gravity4Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x3ce66d0b49b95, !1, [
- [11, "gravity5Inferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 4901297567204796, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9337382497796412, !1, [
- [4, 37]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 5310228952932892, !1, [
- [6, "Impossible"]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 5431283592294285, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x89d975b750d8f, !1, [
- [11, "playImpossible"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8510570907126981, !1, [
- [11, "gameover_Impossible"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9382044478065654, !1, [
- [11, "gravityImpossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x61614e3abb310, !1, [
- [11, "gravity2Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x692dff2def206, !1, [
- [11, "SpeedImpossible"],
- [7, [0, 200]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xf6c9295197fac, !1, [
- [11, "ScoreImpossible"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4566992183673625, !1, [
- [11, "gravity3Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6499657784839689, !1, [
- [11, "gravity4Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7623305306859893, !1, [
- [11, "gravity5Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6321966694798183, !1, [
- [11, "gravity6Impossible"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 5803685086719148, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9811800540623848, !1, [
- [4, 32]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 8179488659799367, !1, [
- [6, "Hell"]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6777115528603926, !1, [
- [11, "playHell"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xb468f5eda570b, !1, [
- [11, "gameover_hell"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xd3d93a2e26ff5, !1, [
- [11, "gravityHell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x47b0dcb3d80eb, !1, [
- [11, "gravity2Hell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x81de6c491f440, !1, [
- [11, "SpeedHell"],
- [7, [0, 200]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 28892000005539, !1, [
- [11, "ScoreHell"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xd260a9c00d98b, !1, [
- [11, "gravity3Hell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xdb2c1aa0c9fc1, !1, [
- [11, "gravity4Hell"],
- [7, [0, 1]]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 0xc19d062889044, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xab2c67b720b75, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xb5d9716561bd5, !1, [
- [4, 68]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 0xbd1a534d49261, !1, [
- [6, "HowTo"]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 7854263934215204, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ]
- ]],
- ["NightmareSheet", [
- [1, "gravity3Nightmare", 0, 1, !1, !1, 0x90576286cb034, !1],
- [1, "row1Nightmare", 0, 0, !1, !1, 8833916289425638, !1],
- [1, "gravityNightmare", 0, 1, !1, !1, 6672286445578262, !1],
- [1, "playNightmare", 0, 0, !1, !1, 8751566476406414, !1],
- [1, "row3Nightmare", 0, 0, !1, !1, 0x3c5ccfdf4c611, !1],
- [1, "row2Nightmare", 0, 0, !1, !1, 0x46bfb238c1d27, !1],
- [1, "HighScoreNightmare", 0, 0, !1, !1, 8746127797634645, !1],
- [1, "ScoreNightmare", 0, 0, !1, !1, 0x6c5f9f8cbb553, !1],
- [1, "gameover_Nightmare", 0, 0, !1, !1, 0xa0e10d3ec5852, !1],
- [1, "gravity2Nightmare", 0, 1, !1, !1, 0x87eeef9ac435b, !1],
- [1, "SpeedNightmare", 0, 400, !1, !1, 8547636572603599, !1],
- [0, null, !1, null, 0x71357dc57c55f, [
- [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 289262232195379, !1]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8713331488910074, !1, [
- [0, [0, 180]]
- ]],
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x472598acb8ab6, !1, [
- [0, [0, 180]]
- ]],
- [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x8784bff7d2035, !1, [
- [0, [0, 180]]
- ]],
- [7, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0xeeca69c589229, !1, [
- [4, 0],
- [3, 1]
- ]],
- [9, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 549172360612701, !1, [
- [4, 8],
- [3, 1]
- ]],
- [49, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 698471779816305, !1, [
- [4, 41],
- [3, 1]
- ]],
- [72, cr.plugins_.CJSAds.prototype.acts.HideBanner, null, 339740526327409, !1],
- [72, cr.plugins_.CJSAds.prototype.acts.ShowBanner, null, 8037248055809749, !1, [
- [3, 1]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 893463671355491, !1, [
- [5, [0, 5]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0xb45c7c88c9d02, !1, [
- [5, [0, 5]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8992980759042323, !1, [
- [11, "playNightmare"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 414172205227337, !1, [
- [11, "gameover_Nightmare"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xa1d0c0b6efee6, !1, [
- [11, "gravity3Nightmare"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7922766587598361, !1, [
- [11, "gravity2Nightmare"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4634692795650014, !1, [
- [11, "SpeedNightmare"],
- [7, [0, 400]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8755020795068081, !1, [
- [11, "ScoreNightmare"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8617501127918116, !1, [
- [11, "gravityNightmare"],
- [7, [0, 1]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.Destroy, null, 0xc4738388cb6d7, !1],
- [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 6094489929742838, !1],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7776198956814884, !1, [
- [11, "begin"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 8028603532636329, !1, [
- [5, [0, 6]],
- [3, 1]
- ]]
- ],
- [
- [0, null, !1, null, 9444303163781764, [
- [23, cr.plugins_.WebStorage.prototype.cnds.LocalStorageExists, null, 0, !1, !1, !1, 4578259406166423, !1, [
- [1, [2, "HighScoreNightmare"]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 8401488994608722, !1, [
- [11, "HighScoreNightmare"],
- [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreNightmare"]
- ]]]
- ]],
- [45, cr.plugins_.Text.prototype.acts.SetText, null, 8367025300877899, !1, [
- [7, [23, "HighScoreNightmare"]]
- ]]
- ]
- ],
- [0, null, !1, null, 5039016096388617, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0x529de400b33fc, !1]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 5257572232504928, !1, [
- [11, "HighScoreNightmare"],
- [7, [0, 0]]
- ]],
- [45, cr.plugins_.Text.prototype.acts.SetText, null, 4557705724387875, !1, [
- [7, [23, "HighScoreNightmare"]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 635568568447811, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 6447310925656634, !1, [
- [4, 5]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 0x9058361dbf42e, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 860993964427196, !1, [
- [11, "gravityNightmare"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 682459216913761, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x66e649c449d42, !1, [
- [11, "gravityNightmare"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x94a0c3ca6c085, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0xcd1452faff319, !1]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x41e80f452aa3a, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xc59095b4f6380, !1, [
- [11, "gravityNightmare"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0xa68930dde8e97, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 6809335468047094, !1, [
- [4, 42]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 0x5029721178128, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x41c5588b6ab07, !1, [
- [11, "gravity2Nightmare"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xb02ef1e464b16, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5692415432852029, !1, [
- [11, "gravity2Nightmare"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 9913176801017936, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0x806dad0c3bb7, !1]
- ],
- [
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 9397893662435042, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 698448921574584, !1, [
- [11, "gravity2Nightmare"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0xe3fc2720464af, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xc847ad7ea2241, !1, [
- [4, 10]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 0xd9b198ea4290d, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8716479959184298, !1, [
- [11, "gravity3Nightmare"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8213610756315023, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x9673834b5eb4f, !1, [
- [11, "gravity3Nightmare"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 5832944103539464, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 6044853697827008, !1]
- ],
- [
- [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 6035334004755308, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x52ffb80f708c1, !1, [
- [11, "gravity3Nightmare"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0xfcc1a2cf9f1b3, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 553730868984399, !1, [
- [4, 6]
- ]]
- ],
- [
- [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 6889624833886127, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 0xed77a6eec3e65, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6770308953364988, !1, [
- [4, 1]
- ]]
- ],
- [
- [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xf4ceb795ea9f3, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 5914434661047754, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x9e3d88a467a22, !1, [
- [4, 1]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xe7103e2443483, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 514624775873697, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6712675516759126, !1, [
- [4, 40]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 577277480883874, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 8417950530644079, [
- [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 4538826408249891, !1, [
- [4, 40]
- ]]
- ],
- [
- [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9492187969585394, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 7568821222385036, [
- [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6443245544784354, !1, [
- [4, 11]
- ]]
- ],
- [
- [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x5209d48d14ea1, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 0xefa9d4ee4656d, [
- [-1, cr.system_object.prototype.cnds.EveryTick, null, 0, !1, !1, !1, 0xed25f90949a7f, !1]
- ],
- [
- [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 6008574749696409, !1, [
- [0, [0, 270]]
- ]],
- [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 4938767017992889, !1, [
- [0, [23, "SpeedNightmare"]]
- ]],
- [-1, cr.system_object.prototype.acts.AddVar, null, 5083014356693013, !1, [
- [11, "SpeedNightmare"],
- [7, [1, .1]]
- ]],
- [43, cr.plugins_.Text.prototype.acts.SetText, null, 5638081893199741, !1, [
- [7, [23, "ScoreNightmare"]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xa4bf6a0f9656a, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0x70a42ef54f5ed, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 1],
- [1, 1.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8797309932659033, !1, [
- [11, "playNightmare"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5588523059894384, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xc79018074cb2f, !1, [
- [11, "row1Nightmare"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 0x6b8d0c93c5f6e, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x8468405aa25fb, !1, [
- [11, "row1Nightmare"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 6959830114045974, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 80]
- ]],
- [0, [0, 960]]
- ]]
- ]
- ],
- [0, null, !1, null, 6508133992803408, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8411351398425876, !1, [
- [11, "row1Nightmare"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 730061362131965, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 30]
- ]],
- [0, [0, 960]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x4f4633adaa62f, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 9623070211021e3, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0x6af41407b7f79, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 1],
- [1, 1.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5599207334652852, !1, [
- [11, "playNightmare"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6327317079763356, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 9432665351690324, !1, [
- [11, "row2Nightmare"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 0x6f848d15e686a, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xd35ed858fb9e6, !1, [
- [11, "row2Nightmare"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 7286867073744583, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 60]
- ]],
- [0, [0, 960]]
- ]]
- ]
- ],
- [0, null, !1, null, 4509510508602471, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5628702786963106, !1, [
- [11, "row2Nightmare"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 40969121211834, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [5, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 40]
- ]],
- [0, [0, 960]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 7852625484478836, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0x5bc0b1aeabf05, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 8521728435879438, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 1],
- [1, 1.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 82667831112436, !1, [
- [11, "playNightmare"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x7dc49a92f9ac6, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 9938873852831308, !1, [
- [11, "row3Nightmare"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 0xc614d4eed8bcd, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc69d095a17b7f, !1, [
- [11, "row3Nightmare"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 7746760597386925, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [4, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 60]
- ]],
- [0, [0, 960]]
- ]]
- ]
- ],
- [0, null, !1, null, 9102728382549652, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8261708678716939, !1, [
- [11, "row3Nightmare"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0xaf25581a7d6ec, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 40]
- ]],
- [0, [0, 960]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 6935264144681244, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0x49c69354ad6aa, [
- [12, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 7111314653983631, !1, [
- [8, 3],
- [0, [20, 0, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
- ]],
- [12, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 9026375162714122, !1, [
- [10, 0]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.AddVar, null, 9591681526336340, !1, [
- [11, "ScoreNightmare"],
- [7, [0, 1]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 8423679302409578, !1, [
- [10, 0],
- [3, 1]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 8199230395608225, !1, [
- [2, ["point", !1]],
- [3, 0],
- [0, [0, -10]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 767820393524872, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x6764d56a4c665, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x4109a45b18562, !1, [
- [11, "playNightmare"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 8660517495026027, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9898596223676344, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 7949281541617439, !1, [
- [11, "playNightmare"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 8915158112963418, [
- [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 8992490139801813, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 7063780445178351, !1, [
- [11, "playNightmare"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x8ebd35b0e604e, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 604331822146805, !1, [
- [11, "playNightmare"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 9475556916217748, !1, [
- [4, 0],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 5533323125914953, !1, [
- [4, 12],
- [0, [0, 0]]
- ]],
- [7, cr.plugins_.Particles.prototype.acts.Destroy, null, 0x75b237404e03f, !1],
- [9, cr.plugins_.Particles.prototype.acts.Destroy, null, 7709766070796144, !1],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 7708939433112673, !1, [
- [4, 8],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xa17f4a0bf9586, !1, [
- [11, "gameover_Nightmare"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0xa9c5bb881a5e7, !1, [
- [5, [0, 5]],
- [3, 1]
- ]],
- [44, cr.plugins_.Text.prototype.acts.SetText, null, 7376117922618404, !1, [
- [7, [23, "ScoreNightmare"]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 9943924741033972, !1, [
- [4, 41],
- [0, [0, 0]]
- ]]
- ],
- [
- [0, null, !1, null, 0xf221949d95eea, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x9a6502c369095, !1, [
- [11, "ScoreNightmare"],
- [8, 4],
- [7, [23, "HighScoreNightmare"]]
- ]]
- ],
- [
- [23, cr.plugins_.WebStorage.prototype.acts.StoreLocal, null, 0xa6f805d124e7f, !1, [
- [1, [2, "HighScoreNightmare"]],
- [7, [23, "ScoreNightmare"]]
- ]],
- [45, cr.plugins_.Text.prototype.acts.SetText, null, 0xd7b7de376dd06, !1, [
- [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreNightmare"]
- ]]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xac14ca69a3126, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x9848c0e34145a, !1, [
- [4, 19]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 5975921553733024, !1, [
- [5, [0, 4]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 9295148921692920, !1, [
- [6, "Menu"]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 9236559617232124, !1, [
- [5, [0, 5]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x496035c3d8837, !1, [
- [5, [0, 5]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 673813954958534, !1, [
- [11, "playNightmare"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x76987b1695ed2, !1, [
- [11, "gameover_Nightmare"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6345850387737552, !1, [
- [11, "gravity3Nightmare"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5549239826304016, !1, [
- [11, "gravity2Nightmare"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9101759676138352, !1, [
- [11, "SpeedNightmare"],
- [7, [0, 400]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7664454061402409, !1, [
- [11, "ScoreNightmare"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xe7be415efd173, !1, [
- [11, "gravityNightmare"],
- [7, [0, 1]]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 6068216853611987, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x7a731148a9541, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9859905247382864, !1, [
- [4, 18]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 7493996782824175, !1, [
- [5, [0, 4]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 5638382792340532, !1, [
- [6, "Nightmare"]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0xd36cb7854a4bb, !1, [
- [5, [0, 5]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 368943587709571, !1, [
- [5, [0, 5]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x68c8c7aed6114, !1, [
- [11, "playNightmare"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 661044301840794, !1, [
- [11, "gameover_Nightmare"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5779932704214342, !1, [
- [11, "gravity3Nightmare"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xa34fe4c1a64ba, !1, [
- [11, "gravity2Nightmare"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8609220136865349, !1, [
- [11, "SpeedNightmare"],
- [7, [0, 400]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7935905773248956, !1, [
- [11, "ScoreNightmare"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xa1a4285e56dd8, !1, [
- [11, "gravityNightmare"],
- [7, [0, 1]]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 6700118219619279, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0x4e7915982f084, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5137073280066072, !1, [
- [11, "gameover_Nightmare"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0x6e4920586735e, !1, [
- [5, [0, 5]],
- [0, [4, [19, cr.system_object.prototype.exps.layeropacity, [
- [0, 5]
- ]],
- [0, 5]
- ]]
- ]]
- ]
- ],
- [0, null, !1, null, 7128944285721394, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9331555097558344, !1, [
- [4, 74]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 863817775873842, !1, [
- [11, "begin"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 4608149593210765, !1, [
- [5, [0, 6]],
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 4781163146057797, [
- [8, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 0x8cf4548cc6a8d, !1, [
- [8, 2],
- [0, [0, 203]]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetX, null, 8188541593818606, !1, [
- [0, [0, 362]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xd888c0612cf81, [
- [41, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 727703682834698, !1, [
- [8, 2],
- [0, [0, 420]]
- ]]
- ],
- [
- [41, cr.plugins_.Sprite.prototype.acts.SetX, null, 0x3934faf044fea, !1, [
- [0, [0, 560]]
- ]]
- ]
- ],
- [0, null, !1, null, 6972403065434678, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 7096176128512979, !1, [
- [4, 75]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 9672251408111434, !1, [
- [5, [0, 4]]
- ]]
- ],
- [
- [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 6989249149377233, !1, [
- [1, [10, [10, [10, [2, "moregame"],
- [23, "ScoreNightmare"]
- ],
- [2, ":"]
- ],
- [19, cr.system_object.prototype.exps.random, [
- [0, 1],
- [0, 10]
- ]]
- ]],
- [1, [2, "NewWindow"]]
- ]]
- ]
- ],
- [0, null, !1, null, 5917977512650088, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 5356591655584787, !1, [
- [4, 76]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 0xd888b7c373389, !1, [
- [5, [0, 4]]
- ]]
- ],
- [
- [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 7013855719974894, !1, [
- [1, [10, [10, [2, "moregame"],
- [23, "HighScoreNightmare"]
- ],
- [2, "%23MakeThemFallNightmare"]
- ]],
- [1, [2, "NewWindow"]]
- ]]
- ]
- ]
- ]],
- ["HellSheet", [
- [1, "HighScoreHell", 0, 0, !1, !1, 0x552d46b1ad06f, !1],
- [1, "SpeedHell", 0, 200, !1, !1, 9928884518557808, !1],
- [1, "playHell", 0, 0, !1, !1, 8926672357696547, !1],
- [1, "gameover_hell", 0, 0, !1, !1, 0x8bec73dd934f2, !1],
- [1, "ScoreHell", 0, 0, !1, !1, 4986134095776752, !1],
- [1, "gravityHell", 0, 1, !1, !1, 0x901cc3fd1b465, !1],
- [1, "row1Hell", 0, 0, !1, !1, 0x96a100386c35b, !1],
- [1, "gravity3Hell", 0, 1, !1, !1, 0x8ae3cdcb9e968, !1],
- [1, "row3Hell", 0, 0, !1, !1, 0xe3aff52dac73d, !1],
- [1, "row4Hell", 0, 0, !1, !1, 7069719470143997, !1],
- [1, "row2Hell", 0, 0, !1, !1, 8567935100386745, !1],
- [1, "gravity4Hell", 0, 1, !1, !1, 8719070673872469, !1],
- [1, "gravity2Hell", 0, 1, !1, !1, 7667584891962777, !1],
- [0, null, !1, null, 0xa7f82182d055a, [
- [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 0x7ab60aed63e25, !1]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 9451295605599884, !1, [
- [0, [0, 180]]
- ]],
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7924164873111842, !1, [
- [0, [0, 180]]
- ]],
- [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x8b35f902032e3, !1, [
- [0, [0, 180]]
- ]],
- [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 4806273730307139, !1, [
- [0, [0, 180]]
- ]],
- [7, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0xe7b0d9756df68, !1, [
- [4, 0],
- [3, 1]
- ]],
- [9, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 5710866925731601, !1, [
- [4, 8],
- [3, 1]
- ]],
- [49, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 7033793139173021, !1, [
- [4, 41],
- [3, 1]
- ]],
- [54, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0x5b46f99808db, !1, [
- [4, 48],
- [3, 1]
- ]],
- [72, cr.plugins_.CJSAds.prototype.acts.HideBanner, null, 0x6fdb49933c4a2, !1],
- [72, cr.plugins_.CJSAds.prototype.acts.ShowBanner, null, 8727421015195558, !1, [
- [3, 1]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.Destroy, null, 598493664277292, !1],
- [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 7138641630736685, !1],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0xaa97471ef3f35, !1, [
- [5, [0, 8]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x4aa3d80b417c7, !1, [
- [5, [0, 8]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x595c293846636, !1, [
- [11, "playHell"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6918959011573678, !1, [
- [11, "gameover_hell"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8820816317420429, !1, [
- [11, "gravityHell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x9a9e4478b9933, !1, [
- [11, "gravity2Hell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x7d1b69fde5a59, !1, [
- [11, "SpeedHell"],
- [7, [0, 200]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7444519177505779, !1, [
- [11, "ScoreHell"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7993124026962483, !1, [
- [11, "gravity3Hell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x9e3bd84217c0b, !1, [
- [11, "gravity4Hell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 7562068510936174, !1, [
- [5, [0, 9]],
- [3, 1]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xfbba2e7d487e3, !1, [
- [11, "begin"],
- [7, [0, 0]]
- ]]
- ],
- [
- [0, null, !1, null, 9655871707940076, [
- [23, cr.plugins_.WebStorage.prototype.cnds.LocalStorageExists, null, 0, !1, !1, !1, 9397829282426248, !1, [
- [1, [2, "HighScoreHell"]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 5594707196559653, !1, [
- [11, "HighScoreHell"],
- [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreHell"]
- ]]]
- ]],
- [57, cr.plugins_.Text.prototype.acts.SetText, null, 0xc2db402fff4be, !1, [
- [7, [23, "HighScoreHell"]]
- ]]
- ]
- ],
- [0, null, !1, null, 7102103040663327, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 5223572565718437, !1]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 5940396484919638, !1, [
- [11, "HighScoreHell"],
- [7, [0, 0]]
- ]],
- [57, cr.plugins_.Text.prototype.acts.SetText, null, 0x624ed5f2786d6, !1, [
- [7, [23, "HighScoreHell"]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0xa438abb56740c, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 6311075926567927, !1, [
- [4, 50]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 5408336356917494, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x6357ac45aa30e, !1, [
- [11, "gravity2Hell"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8927741400039142, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4604606077588142, !1, [
- [11, "gravity2Hell"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xe57f9f60738b1, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 9041922704029492, !1]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 9480708660007226, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8591616930206705, !1, [
- [11, "gravity2Hell"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 7459358099951311, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x7d434765cb136, !1, [
- [4, 51]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 8357035639897332, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xb8521d258dec, !1, [
- [11, "gravityHell"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 6659733294372012, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x4222ba2d7a39c, !1, [
- [11, "gravityHell"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 8498766517018571, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0x4afaed80d649b, !1]
- ],
- [
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 9425907747324344, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6916211718842825, !1, [
- [11, "gravityHell"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0x8c7493f2bf788, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x77eebe1b1f93, !1, [
- [4, 52]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 6808690899724214, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5266476720904783, !1, [
- [11, "gravity3Hell"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7695050954281474, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8313970855145888, !1, [
- [11, "gravity3Hell"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x5b478feb5e794, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 4919067861120487, !1]
- ],
- [
- [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 5712846548525841, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x9485c47c8089, !1, [
- [11, "gravity3Hell"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0xe26f282f0aaad, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x890f0f81bcdd3, !1, [
- [4, 53]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 6338835131561713, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc4efbf9cfc613, !1, [
- [11, "gravity4Hell"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xda39bb43bddcd, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x9f5fc535e3077, !1, [
- [11, "gravity4Hell"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xbb5dc198ff6d7, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 7547455061303808, !1]
- ],
- [
- [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 916503000140759, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7529545599350329, !1, [
- [11, "gravity4Hell"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 7033289898235823, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x4123318542fc8, !1, [
- [4, 1]
- ]]
- ],
- [
- [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x720ba3150724c, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 6903674177238394, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xbdd644f1d5984, !1, [
- [4, 6]
- ]]
- ],
- [
- [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 5255730867493892, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 9773454816019736, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xd41454c3f11aa, !1, [
- [4, 1]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8018092290538973, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 9728758949126892, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 4506465299335244, !1, [
- [4, 11]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 7065318726384422, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 8814309905977545, [
- [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 681667708997426, !1, [
- [4, 6]
- ]]
- ],
- [
- [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x93422891d9b8c, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 6674981597113797, [
- [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xcdad1e9ed9e5d, !1, [
- [4, 1]
- ]]
- ],
- [
- [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x44673a2390223, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 330669705406735, [
- [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 5184418422155062, !1, [
- [4, 11]
- ]]
- ],
- [
- [48, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9694067107958312, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 7759722303409437, [
- [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6682667744922014, !1, [
- [4, 1]
- ]]
- ],
- [
- [48, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 5373596525939339, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 0xfe1727e96d532, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 8925495097780245, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x6601e9e911dbf, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7399237113893897, !1, [
- [11, "playHell"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xb0b8ae03d27f1, !1, [
- [11, "row1Hell"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 7725739335533569, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xdb555bec63808, !1, [
- [11, "row1Hell"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 562620816866994, !1, [
- [4, 12],
- [5, [0, 2]],
- [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 80]
- ]],
- [0, [0, 500]]
- ]]
- ]
- ],
- [0, null, !1, null, 5440540653000954, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x5dcfc69564445, !1, [
- [11, "row1Hell"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 5512409534248595, !1, [
- [4, 12],
- [5, [0, 2]],
- [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 30]
- ]],
- [0, [0, 500]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 500914232409759, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0xb53eaee0e2f05, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0x5422d76a2be2f, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xf597cab7ee1f4, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x8ca8e84148412, !1, [
- [11, "playHell"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 5429624349430648, !1, [
- [11, "row2Hell"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 0xce7c45b14aaa2, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5726109632642848, !1, [
- [11, "row2Hell"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 7440359306595869, !1, [
- [4, 12],
- [5, [0, 2]],
- [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 60]
- ]],
- [0, [0, 500]]
- ]]
- ]
- ],
- [0, null, !1, null, 8142220993732389, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6603130859136417, !1, [
- [11, "row2Hell"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 5167873746334534, !1, [
- [4, 12],
- [5, [0, 2]],
- [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 40]
- ]],
- [0, [0, 500]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xf4c305d6b5183, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 9244399641397636, [
- [-1, cr.system_object.prototype.cnds.EveryTick, null, 0, !1, !1, !1, 9761212369572626, !1]
- ],
- [
- [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 9715488567604706, !1, [
- [0, [0, 270]]
- ]],
- [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 7441204619361, !1, [
- [0, [23, "SpeedHell"]]
- ]],
- [-1, cr.system_object.prototype.acts.AddVar, null, 704909222498782, !1, [
- [11, "SpeedHell"],
- [7, [1, .1]]
- ]],
- [55, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 671948114910723, !1, [
- [0, [0, 270]]
- ]],
- [55, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 7128323783466476, !1, [
- [0, [23, "SpeedHell"]]
- ]],
- [13, cr.plugins_.Text.prototype.acts.SetText, null, 9897522187224684, !1, [
- [7, [23, "ScoreHell"]]
- ]]
- ]
- ],
- [0, null, !1, null, 5573042847591861, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 5133312597769615, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x5ba7044f16568, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8723610357130276, !1, [
- [11, "playHell"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xa5139e3d2fe8b, !1, [
- [11, "row3Hell"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 0xd11b6e0727806, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7127279986486988, !1, [
- [11, "row3Hell"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0x451034bb66383, !1, [
- [4, 55],
- [5, [0, 3]],
- [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 80]
- ]],
- [0, [0, 960]]
- ]]
- ]
- ],
- [0, null, !1, null, 7234860650388578, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xe7f4d702ddc3b, !1, [
- [11, "row3Hell"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 6712559584006983, !1, [
- [4, 55],
- [5, [0, 3]],
- [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 30]
- ]],
- [0, [0, 960]]
- ]],
- [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8797887105937458, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0x81ce717dbece9, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 920919881977293, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8441864204667744, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x8a3caa064a227, !1, [
- [11, "playHell"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xab91d60d7c2a, !1, [
- [11, "row4Hell"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 0xf3443fa67c064, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xd2bceaba5402c, !1, [
- [11, "row4Hell"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 6269980774003261, !1, [
- [4, 55],
- [5, [0, 3]],
- [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 60]
- ]],
- [0, [0, 960]]
- ]]
- ]
- ],
- [0, null, !1, null, 7476320917540544, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xf520826b8570a, !1, [
- [11, "row4Hell"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0xa98b00e0841e2, !1, [
- [4, 55],
- [5, [0, 3]],
- [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 40]
- ]],
- [0, [0, 960]]
- ]],
- [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x766e25551329b, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0xa60c41caa3b54, [
- [55, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9616321087636276, !1, [
- [4, 40]
- ]]
- ],
- [
- [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 0xca4efab568ae9, !1]
- ]
- ],
- [0, null, !1, null, 7606537609946389, [
- [12, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 8736335771192299, !1, [
- [8, 3],
- [0, [20, 0, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
- ]],
- [12, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 0x99fc56568b9b6, !1, [
- [10, 0]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.AddVar, null, 6309739897581779, !1, [
- [11, "ScoreHell"],
- [7, [0, 1]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 5652478766510412, !1, [
- [10, 0],
- [3, 1]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 0xef3e10a6ee974, !1, [
- [2, ["point", !1]],
- [3, 0],
- [0, [0, -10]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 7638744148201248, [
- [55, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 0x5c3c36c00890b, !1, [
- [8, 3],
- [0, [20, 41, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
- ]],
- [55, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 5825193909659777, !1, [
- [10, 0]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.AddVar, null, 9454121423546952, !1, [
- [11, "ScoreHell"],
- [7, [0, 1]]
- ]],
- [55, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 4831056549922517, !1, [
- [10, 0],
- [3, 1]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 0x464a35c0764a7, !1, [
- [2, ["point", !1]],
- [3, 0],
- [0, [0, -10]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x394ce25874130, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 909052229354765, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x55897fe4a88cf, !1, [
- [11, "playHell"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xe31706d19a354, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x813e7f21779e1, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 7804350369064484, !1, [
- [11, "playHell"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 9058823307425932, [
- [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 4901371696587304, !1, [
- [4, 55]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x5abbe35175f98, !1, [
- [11, "playHell"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 4843899794236782, [
- [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9910063338134196, !1, [
- [4, 55]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x540a1cfcc7ce9, !1, [
- [11, "playHell"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 9050267788390494, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7087817035040411, !1, [
- [11, "playHell"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 4574218026945983, !1, [
- [4, 0],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 5308654460282015, !1, [
- [4, 12],
- [0, [0, 0]]
- ]],
- [7, cr.plugins_.Particles.prototype.acts.Destroy, null, 0x6e21e109cbcf0, !1],
- [9, cr.plugins_.Particles.prototype.acts.Destroy, null, 0x4d697788a2d85, !1],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 7149559327042243, !1, [
- [4, 8],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8104395766873352, !1, [
- [11, "gameover_hell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 9476056011606220, !1, [
- [5, [0, 8]],
- [3, 1]
- ]],
- [56, cr.plugins_.Text.prototype.acts.SetText, null, 798734445187935, !1, [
- [7, [23, "ScoreHell"]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 6031534127713193, !1, [
- [4, 55],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0xf485efca61e65, !1, [
- [4, 41],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 8615423523611822, !1, [
- [4, 48],
- [0, [0, 0]]
- ]],
- [49, cr.plugins_.Particles.prototype.acts.Destroy, null, 9374567370643080, !1],
- [54, cr.plugins_.Particles.prototype.acts.Destroy, null, 4642769823445984, !1]
- ],
- [
- [0, null, !1, null, 0x630cfe9020620, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5725862923209495, !1, [
- [11, "ScoreHell"],
- [8, 4],
- [7, [23, "HighScoreHell"]]
- ]]
- ],
- [
- [23, cr.plugins_.WebStorage.prototype.acts.StoreLocal, null, 6840443383976438, !1, [
- [1, [2, "HighScoreHell"]],
- [7, [23, "ScoreHell"]]
- ]],
- [57, cr.plugins_.Text.prototype.acts.SetText, null, 6639621487422242, !1, [
- [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreHell"]
- ]]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 679799451718477, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5830465292927682, !1, [
- [11, "gameover_hell"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0x73c659f521a2d, !1, [
- [5, [0, 8]],
- [0, [4, [19, cr.system_object.prototype.exps.layeropacity, [
- [0, 8]
- ]],
- [0, 5]
- ]]
- ]]
- ]
- ],
- [0, null, !1, null, 7426342302629436, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xc10d4deedd110, !1, [
- [4, 19]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 0x4951d3d3484aa, !1, [
- [5, [0, 8]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 0xe855b1289f474, !1, [
- [6, "Menu"]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 5221581668012458, !1, [
- [5, [0, 8]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0xcf1ffa81902bb, !1, [
- [5, [0, 8]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8837537605268049, !1, [
- [11, "playHell"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xd065ade637207, !1, [
- [11, "gameover_hell"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8956647381998114, !1, [
- [11, "gravityHell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x4b925037cfff9, !1, [
- [11, "gravity2Hell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5322036962388624, !1, [
- [11, "SpeedHell"],
- [7, [0, 200]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xc33f61c2a07ca, !1, [
- [11, "ScoreHell"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8552013905766892, !1, [
- [11, "gravity3Hell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x3aec293f847f1, !1, [
- [11, "gravity4Hell"],
- [7, [0, 1]]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 0x3a0a138bea563, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 18673227703077, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4712561249736626, !1, [
- [4, 18]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 9130019110431144, !1, [
- [5, [0, 8]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 5255593128229524, !1, [
- [6, "Hell"]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 309529620636895, !1, [
- [5, [0, 8]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0xd2dd32bd88b74, !1, [
- [5, [0, 8]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9577109230957962, !1, [
- [11, "playHell"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6008793744827708, !1, [
- [11, "gameover_hell"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xb23ea2b556d7b, !1, [
- [11, "gravityHell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9927724498141316, !1, [
- [11, "gravity2Hell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xb49647fac5a26, !1, [
- [11, "SpeedHell"],
- [7, [0, 200]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6405671479429999, !1, [
- [11, "ScoreHell"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xd0c3ac8e44724, !1, [
- [11, "gravity3Hell"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x4f1c06af5cdd0, !1, [
- [11, "gravity4Hell"],
- [7, [0, 1]]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 6189195822342367, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 9453216041960614, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4512359609735892, !1, [
- [4, 74]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xda3b15ce5dca8, !1, [
- [11, "begin"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x778ba1973244, !1, [
- [5, [0, 9]],
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 9362654209296540, [
- [8, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 8164493035544745, !1, [
- [8, 2],
- [0, [0, 308]]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetX, null, 0xb850e66ed69aa, !1, [
- [0, [0, 490]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xdee57bb79bade, [
- [48, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 9445772067257832, !1, [
- [8, 2],
- [0, [0, 308]]
- ]]
- ],
- [
- [48, cr.plugins_.Sprite.prototype.acts.SetX, null, 6081515674245238, !1, [
- [0, [0, 490]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xf01937bd5b4bf, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 8783840378638202, !1, [
- [4, 75]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 82539754483416, !1, [
- [5, [0, 8]]
- ]]
- ],
- [
- [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 0xe5a4b347dbd58, !1, [
- [1, [10, [10, [10, [2, "sharegame"],
- [23, "ScoreHell"]
- ],
- [2, ":"]
- ],
- [19, cr.system_object.prototype.exps.random, [
- [0, 1],
- [0, 10]
- ]]
- ]],
- [1, [2, "NewWindow"]]
- ]]
- ]
- ],
- [0, null, !1, null, 5680920290399461, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x9270514d93e53, !1, [
- [4, 76]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 0xdf4047a8dfb18, !1, [
- [5, [0, 8]]
- ]]
- ],
- [
- [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 0x6cd8aadce67f8, !1, [
- [1, [10, [10, [2, "moregame"],
- [23, "HighScoreHell"]
- ],
- [2, "%23MakeThemFallHell"]
- ]],
- [1, [2, "NewWindow"]]
- ]]
- ]
- ]
- ]],
- ["InfernoSheet", [
- [1, "HighScoreInferno", 0, 0, !1, !1, 5427305958249449, !1],
- [1, "SpeedInferno", 0, 200, !1, !1, 4923972904439392, !1],
- [1, "playInferno", 0, 0, !1, !1, 6944492838968735, !1],
- [1, "gameover_Inferno", 0, 0, !1, !1, 8804184112140564, !1],
- [1, "ScoreInferno", 0, 0, !1, !1, 7780086796726354, !1],
- [1, "gravityInferno", 0, 1, !1, !1, 7290394008370117, !1],
- [1, "row1Inferno", 0, 0, !1, !1, 434305376478607, !1],
- [1, "gravity3Inferno", 0, 1, !1, !1, 0x4640bf6d06cca, !1],
- [1, "row3Inferno", 0, 0, !1, !1, 9244133280940462, !1],
- [1, "row4Inferno", 0, 0, !1, !1, 7851499609608234, !1],
- [1, "row2Inferno", 0, 0, !1, !1, 4504163606196058, !1],
- [1, "gravity4Inferno", 0, 1, !1, !1, 7669883380839554, !1],
- [1, "gravity5Inferno", 0, 1, !1, !1, 8765740746468771, !1],
- [1, "row5Inferno", 0, 0, !1, !1, 0x90a644c5beb4b, !1],
- [1, "gravity2Inferno", 0, 1, !1, !1, 5340274883463521, !1],
- [0, null, !1, null, 0xd21a4c2ad73ea, [
- [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 7366210058875166, !1]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xe4a947ee84853, !1, [
- [0, [0, 180]]
- ]],
- [7, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0x6803bcd008c57, !1, [
- [4, 0],
- [3, 1]
- ]],
- [9, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 5347855171689379, !1, [
- [4, 8],
- [3, 1]
- ]],
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xaed3a2c1c505, !1, [
- [0, [0, 180]]
- ]],
- [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7626300750645152, !1, [
- [0, [0, 180]]
- ]],
- [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x82358b6fb2ad3, !1, [
- [0, [0, 180]]
- ]],
- [61, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 46697151414898, !1, [
- [0, [0, 180]]
- ]],
- [49, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0xfde18c3207165, !1, [
- [4, 41],
- [3, 1]
- ]],
- [54, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 465659215783545, !1, [
- [4, 48],
- [3, 1]
- ]],
- [62, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0x6ec1aeb23e3cd, !1, [
- [4, 61],
- [3, 1]
- ]],
- [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 5805518218894838, !1, [
- [0, [0, 270]]
- ]],
- [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 0x3e7a298c72b1f, !1, [
- [0, [23, "SpeedInferno"]]
- ]],
- [55, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 0xda08851873ecc, !1, [
- [0, [0, 270]]
- ]],
- [55, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 818228860789696, !1, [
- [0, [23, "SpeedInferno"]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 903837226849418, !1, [
- [5, [0, 6]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 9689903415296520, !1, [
- [5, [0, 6]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7995930576266594, !1, [
- [11, "playInferno"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8121524336696859, !1, [
- [11, "gameover_Inferno"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7700259449884242, !1, [
- [11, "gravityInferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xbbbe04f31cdc6, !1, [
- [11, "gravity2Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4999803614051821, !1, [
- [11, "SpeedInferno"],
- [7, [0, 200]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 382291598483799, !1, [
- [11, "ScoreInferno"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8772046843832243, !1, [
- [11, "gravity3Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x70b574bfff572, !1, [
- [11, "gravity4Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x7ce5b8a13d21a, !1, [
- [11, "gravity5Inferno"],
- [7, [0, 1]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.Destroy, null, 5375708230565647, !1],
- [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 5347015258899974, !1],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8171506635122477, !1, [
- [11, "begin"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x97a98e3fa840d, !1, [
- [5, [0, 7]],
- [3, 1]
- ]]
- ],
- [
- [0, null, !1, null, 9108784559063336, [
- [23, cr.plugins_.WebStorage.prototype.cnds.LocalStorageExists, null, 0, !1, !1, !1, 0xa8191aba165d1, !1, [
- [1, [2, "HighScoreInferno"]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 9959314045402724, !1, [
- [11, "HighScoreInferno"],
- [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreInferno"]
- ]]]
- ]],
- [57, cr.plugins_.Text.prototype.acts.SetText, null, 0x49b8ab782ffca, !1, [
- [7, [23, "HighScoreInferno"]]
- ]]
- ]
- ],
- [0, null, !1, null, 5312418581386761, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 8292902126301972, !1]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 9338946913205232, !1, [
- [11, "HighScoreInferno"],
- [7, [0, 0]]
- ]],
- [57, cr.plugins_.Text.prototype.acts.SetText, null, 4524989490209989, !1, [
- [7, [23, "HighScoreInferno"]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 4882593036582823, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xcc8bf9076e51f, !1, [
- [4, 50]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 8996464631526776, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6294614933207501, !1, [
- [11, "gravityInferno"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8134127797557637, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xf8feb881f8153, !1, [
- [11, "gravityInferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 9250452889424520, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0xc6e23c1b162db, !1]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8600797506998769, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9745920223075912, !1, [
- [11, "gravityInferno"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0x928c3614434c6, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 6285758151508571, !1, [
- [4, 51]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 8454397771367894, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8596060705614931, !1, [
- [11, "gravity2Inferno"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8254867236504933, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xeacf41f137b8, !1, [
- [11, "gravity2Inferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xc6e9ac8244f8c, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 7223094140894701, !1]
- ],
- [
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xff540d1b422dd, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4991968824027909, !1, [
- [11, "gravity2Inferno"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 8912786997229079, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 5742897302013553, !1, [
- [4, 52]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 4611144412053964, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6210893081316704, !1, [
- [11, "gravity3Inferno"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x54e9a9d3c17e3, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4883062748198111, !1, [
- [11, "gravity3Inferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 8904354858901054, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 9534125440671772, !1]
- ],
- [
- [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 5597147491650741, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 538622779151444, !1, [
- [11, "gravity3Inferno"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 6583100441092168, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xaca576fd873c9, !1, [
- [4, 53]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 0x970e78c66a377, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xb15382d6ab3c8, !1, [
- [11, "gravity4Inferno"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7889477428752737, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 299624160530377, !1, [
- [11, "gravity4Inferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xdc1365eac4bd4, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 7642097945962612, !1]
- ],
- [
- [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x689b16bca5d33, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7706720697248146, !1, [
- [11, "gravity4Inferno"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 9496536555254452, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4946556441692031, !1, [
- [4, 63]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 0x686685bc67d22, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 626033466858388, !1, [
- [11, "gravity5Inferno"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [61, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xf2aa3ad565725, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xeaddad98ffa38, !1, [
- [11, "gravity5Inferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 7717079452150223, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 7460873197638608, !1]
- ],
- [
- [61, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 5429142703599778, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 850787717979811, !1, [
- [11, "gravity5Inferno"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 9272774304535812, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x741c499977fed, !1, [
- [4, 1]
- ]]
- ],
- [
- [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8069280118671104, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 0x7984652aee263, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 879148505850931, !1, [
- [4, 6]
- ]]
- ],
- [
- [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x4821a31af446f, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 5484341610722308, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 8084182581571936, !1, [
- [4, 1]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 6539468406326419, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 9777488672897298, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9616654461813536, !1, [
- [4, 40]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 7299205444194725, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 0x3ddec4f6aef8c, [
- [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 7496691734142109, !1, [
- [4, 40]
- ]]
- ],
- [
- [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x9034cf392757, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 0xdd75079b0390d, [
- [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6765578790934803, !1, [
- [4, 11]
- ]]
- ],
- [
- [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9448721413584924, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 7212690777928609, [
- [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9855061660416436, !1, [
- [4, 60]
- ]]
- ],
- [
- [48, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9341964562562896, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 7775666003631672, [
- [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6348150473472743, !1, [
- [4, 6]
- ]]
- ],
- [
- [48, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8668150481397153, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 0xd01e02152d061, [
- [61, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 7929266288274391, !1, [
- [4, 60]
- ]]
- ],
- [
- [61, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9993824452965766, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 5861216079641947, [
- [61, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xaf844e6834cbf, !1, [
- [4, 11]
- ]]
- ],
- [
- [61, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 4919626949696486, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 0x3a3b7257da0d8, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 350489085293469, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xf17f5b8522f29, !1, [
- [11, "playInferno"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc601ab00847c7, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 807342960679952, !1, [
- [11, "row1Inferno"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 6132195553715869, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xe6eae8510f816, !1, [
- [11, "row1Inferno"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 6600468424257562, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 80]
- ]],
- [0, [0, 460]]
- ]]
- ]
- ],
- [0, null, !1, null, 43185091161684, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 4678754784287868, !1, [
- [11, "row1Inferno"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 338894155257418, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 30]
- ]],
- [0, [0, 460]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 5464812036682771, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 9702964587146112, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 8089184653393612, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7462772797852375, !1, [
- [11, "playInferno"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xcfc3ccc3ccd33, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xfa1c0865952b7, !1, [
- [11, "row2Inferno"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 5614595879804783, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9399553743804792, !1, [
- [11, "row2Inferno"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0xdaba459c3b8e9, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 60]
- ]],
- [0, [0, 460]]
- ]]
- ]
- ],
- [0, null, !1, null, 9420345846122576, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x655b1d0fe7c98, !1, [
- [11, "row2Inferno"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0xcb12c91214edb, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [5, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 40]
- ]],
- [0, [0, 460]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9012047039545086, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 7618918929256268, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 7193553013766789, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8574680399617612, !1, [
- [11, "playInferno"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6115479299509901, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 510637539475, !1, [
- [11, "row3Inferno"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 6977296047121567, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8604734447682628, !1, [
- [11, "row3Inferno"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 9493790402099184, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [4, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 60]
- ]],
- [0, [0, 460]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xdf28541fb1b05, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5390523792292486, !1, [
- [11, "row3Inferno"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0x777e0af167b9d, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 40]
- ]],
- [0, [0, 460]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xf84a1caab1d19, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 7243465845284139, [
- [-1, cr.system_object.prototype.cnds.EveryTick, null, 0, !1, !1, !1, 9590055551426188, !1]
- ],
- [
- [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 0x940fcd5923e2, !1, [
- [0, [0, 270]]
- ]],
- [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 0x41a1a224bf85e, !1, [
- [0, [23, "SpeedInferno"]]
- ]],
- [-1, cr.system_object.prototype.acts.AddVar, null, 534610274322046, !1, [
- [11, "SpeedInferno"],
- [7, [1, .05]]
- ]],
- [13, cr.plugins_.Text.prototype.acts.SetText, null, 8340403033156446, !1, [
- [7, [23, "ScoreInferno"]]
- ]],
- [55, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 6827921256722737, !1, [
- [0, [0, 270]]
- ]],
- [55, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 6322480453182522, !1, [
- [0, [23, "SpeedInferno"]]
- ]]
- ]
- ],
- [0, null, !1, null, 8449813243369269, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0x5dd15822e402b, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7076443128870045, !1, [
- [11, "playInferno"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8709607226611714, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 9563970597977912, !1, [
- [11, "row4Inferno"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 5649476884932512, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xd3387cbd35e3, !1, [
- [11, "row4Inferno"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 5739306571415684, !1, [
- [4, 55],
- [5, [0, 3]],
- [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 80]
- ]],
- [0, [0, 960]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x89fab9bbd3ad1, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc2a130a8d6b1e, !1, [
- [11, "row4Inferno"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 6791043561483827, !1, [
- [4, 55],
- [5, [0, 3]],
- [0, [5, [20, 60, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 30]
- ]],
- [0, [0, 960]]
- ]],
- [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 711591480200872, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 5820029498458338, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0x8cbeba339e626, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x97fcec35a1280, !1, [
- [11, "playInferno"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc0e5bc39cb616, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 8132678086663985, !1, [
- [11, "row5Inferno"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 0xde34ce53d34ce, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9724270869061140, !1, [
- [11, "row5Inferno"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 9687341993852760, !1, [
- [4, 55],
- [5, [0, 3]],
- [0, [4, [20, 60, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 60]
- ]],
- [0, [0, 960]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xcf897a5d3a193, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9842128518214016, !1, [
- [11, "row5Inferno"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0x7705fded969a6, !1, [
- [4, 55],
- [5, [0, 3]],
- [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 40]
- ]],
- [0, [0, 960]]
- ]],
- [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 5229377827280678, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 4787500666491806, [
- [12, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 0x5f9ef182bebfc, !1, [
- [8, 3],
- [0, [20, 0, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
- ]],
- [12, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 0x77d1a067044ca, !1, [
- [10, 0]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.AddVar, null, 6638341489817053, !1, [
- [11, "ScoreInferno"],
- [7, [0, 1]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 6198846684948827, !1, [
- [10, 0],
- [3, 1]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 9654056415183096, !1, [
- [2, ["point", !1]],
- [3, 0],
- [0, [0, -10]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 9494373008678228, [
- [55, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x56c592feb5337, !1, [
- [4, 59]
- ]]
- ],
- [
- [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 0x9caa7864bf2f, !1]
- ]
- ],
- [0, null, !1, null, 9986696502089946, [
- [55, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 8809161864242001, !1, [
- [8, 3],
- [0, [20, 48, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
- ]],
- [55, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 0xb34bdb0cd1be3, !1, [
- [10, 0]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.AddVar, null, 4647766565110618, !1, [
- [11, "ScoreInferno"],
- [7, [0, 1]]
- ]],
- [55, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 6246811799083932, !1, [
- [10, 0],
- [3, 1]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 7834046461334358, !1, [
- [2, ["point", !1]],
- [3, 0],
- [0, [0, -10]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 9053338163829144, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x9bd3d5bbb0a7b, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 8746318384651969, !1, [
- [11, "playInferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x522673fd55f49, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x6cde3aa7ed11a, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xe1d45c492cc77, !1, [
- [11, "playInferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x52a28ef6dc876, [
- [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 8931502994982721, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 7638718645253451, !1, [
- [11, "playInferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 9634563093054042, [
- [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xf3153daa3d59d, !1, [
- [4, 55]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 6435554125040347, !1, [
- [11, "playInferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 8251741735495042, [
- [61, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xbbe5616201fcf, !1, [
- [4, 55]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x626a0e128b7dd, !1, [
- [11, "playInferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 6565411383339104, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xb6f39f9688983, !1, [
- [11, "playInferno"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 7185978850190905, !1, [
- [4, 0],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 5149843733787569, !1, [
- [4, 12],
- [0, [0, 0]]
- ]],
- [7, cr.plugins_.Particles.prototype.acts.Destroy, null, 0xaa648bb76d91, !1],
- [9, cr.plugins_.Particles.prototype.acts.Destroy, null, 6845574511046973, !1],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 9194210619119080, !1, [
- [4, 8],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x583b20cfa1dd3, !1, [
- [11, "gameover_Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x9c8a852fb39cc, !1, [
- [5, [0, 6]],
- [3, 1]
- ]],
- [56, cr.plugins_.Text.prototype.acts.SetText, null, 6669328124642252, !1, [
- [7, [23, "ScoreInferno"]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0xa898f5b0e9f76, !1, [
- [4, 55],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 7190395128132829, !1, [
- [4, 41],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 5248244784981169, !1, [
- [4, 48],
- [0, [0, 0]]
- ]],
- [49, cr.plugins_.Particles.prototype.acts.Destroy, null, 5419749242770061, !1],
- [54, cr.plugins_.Particles.prototype.acts.Destroy, null, 6916445986135092, !1],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0x51474419557db, !1, [
- [4, 61],
- [0, [0, 0]]
- ]],
- [62, cr.plugins_.Particles.prototype.acts.Destroy, null, 8905001907516277, !1]
- ],
- [
- [0, null, !1, null, 0xeb7af176d8b3c, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5697416605107817, !1, [
- [11, "ScoreInferno"],
- [8, 4],
- [7, [23, "HighScoreInferno"]]
- ]]
- ],
- [
- [23, cr.plugins_.WebStorage.prototype.acts.StoreLocal, null, 7987523455711837, !1, [
- [1, [2, "HighScoreInferno"]],
- [7, [23, "ScoreInferno"]]
- ]],
- [57, cr.plugins_.Text.prototype.acts.SetText, null, 0xcc4d45a964f0, !1, [
- [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreInferno"]
- ]]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 8596257839681754, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x4ba73dc156f70, !1, [
- [11, "gameover_Inferno"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 6617813911023682, !1, [
- [5, [0, 6]],
- [0, [4, [19, cr.system_object.prototype.exps.layeropacity, [
- [0, 6]
- ]],
- [0, 5]
- ]]
- ]]
- ]
- ],
- [0, null, !1, null, 7824211357563056, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4613067345833786, !1, [
- [4, 19]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 5172648370976479, !1, [
- [5, [0, 6]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 8544268366965298, !1, [
- [6, "Menu"]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 4998867769019394, !1, [
- [5, [0, 6]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0xfc2b5eb3511ad, !1, [
- [5, [0, 6]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xcff31e9c22328, !1, [
- [11, "playInferno"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xee18c6230cbc5, !1, [
- [11, "gameover_Inferno"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5438652738286576, !1, [
- [11, "gravityInferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9620623529916624, !1, [
- [11, "gravity2Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x7740fb22b7be1, !1, [
- [11, "SpeedInferno"],
- [7, [0, 300]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x55c5c9573100e, !1, [
- [11, "ScoreInferno"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5379118109919124, !1, [
- [11, "gravity3Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4777662028612175, !1, [
- [11, "gravity4Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7534579503104992, !1, [
- [11, "gravity5Inferno"],
- [7, [0, 1]]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 9178799008349634, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 6508774840453701, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 8174997102830957, !1, [
- [4, 18]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 9557582108483096, !1, [
- [5, [0, 6]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 9763655999571324, !1, [
- [6, "Inferno"]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 9051245210555536, !1, [
- [5, [0, 6]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x4d76c83790d28, !1, [
- [5, [0, 6]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7822025253706092, !1, [
- [11, "playInferno"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x7d779d061b793, !1, [
- [11, "gameover_Inferno"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6618360698063894, !1, [
- [11, "gravityInferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4579496432007159, !1, [
- [11, "gravity2Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9418322170549964, !1, [
- [11, "SpeedInferno"],
- [7, [0, 200]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7651016028740672, !1, [
- [11, "ScoreInferno"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x6766c04105399, !1, [
- [11, "gravity3Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8767852330030833, !1, [
- [11, "gravity4Inferno"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9399246878847284, !1, [
- [11, "gravity5Inferno"],
- [7, [0, 1]]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 5540529755927206, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 8164221020062774, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9241912056767152, !1, [
- [4, 74]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x6bce37d183e20, !1, [
- [11, "begin"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x606fe5401c74b, !1, [
- [5, [0, 7]],
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 0xa6da08bd0ecb7, [
- [8, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 0x9b027cf46e577, !1, [
- [8, 2],
- [0, [0, 215]]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetX, null, 5265465762367766, !1, [
- [0, [0, 312]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xbe803c7957b75, [
- [41, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 6644866110161652, !1, [
- [8, 2],
- [0, [0, 400]]
- ]]
- ],
- [
- [41, cr.plugins_.Sprite.prototype.acts.SetX, null, 0xbd49ffe1b0b09, !1, [
- [0, [0, 526]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x64ba55ca599a, [
- [61, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 9899521610284982, !1, [
- [8, 2],
- [0, [0, 306]]
- ]]
- ],
- [
- [61, cr.plugins_.Sprite.prototype.acts.SetX, null, 0xec5bb010e0ba2, !1, [
- [0, [0, 414]]
- ]]
- ]
- ],
- [0, null, !1, null, 9458437513984536, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9748128685490146, !1, [
- [4, 75]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 0x80980c56df0d1, !1, [
- [5, [0, 6]]
- ]]
- ],
- [
- [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 0xd20b904e140b9, !1, [
- [1, [10, [10, [10, [2, "sharegame"],
- [23, "ScoreInferno"]
- ],
- [2, ":"]
- ],
- [19, cr.system_object.prototype.exps.random, [
- [0, 1],
- [0, 10]
- ]]
- ]],
- [1, [2, "NewWindow"]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x7bd4e385e6cf3, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xfe1d0dbfb0900, !1, [
- [4, 76]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 348722861818509, !1, [
- [5, [0, 6]]
- ]]
- ],
- [
- [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 5968053375885204, !1, [
- [1, [10, [10, [2, "moregame"],
- [23, "HighScoreInferno"]
- ],
- [2, "%23MakeThemFallInferno"]
- ]],
- [1, [2, "NewWindow"]]
- ]]
- ]
- ]
- ]],
- ["ImpossibleSheet", [
- [1, "HighScoreImpossible", 0, 0, !1, !1, 7402398858658622, !1],
- [1, "SpeedImpossible", 0, 200, !1, !1, 5127090258814243, !1],
- [1, "playImpossible", 0, 0, !1, !1, 5699370232092319, !1],
- [1, "gameover_Impossible", 0, 0, !1, !1, 7348860416612071, !1],
- [1, "ScoreImpossible", 0, 0, !1, !1, 7740996902252632, !1],
- [1, "gravityImpossible", 0, 1, !1, !1, 724452625577785, !1],
- [1, "row1Impossible", 0, 0, !1, !1, 0xe43a2367fd1f9, !1],
- [1, "gravity3Impossible", 0, 1, !1, !1, 6741110773765168, !1],
- [1, "row3Impossible", 0, 0, !1, !1, 6211646514117541, !1],
- [1, "row4Impossible", 0, 0, !1, !1, 5317571230935821, !1],
- [1, "row2Impossible", 0, 0, !1, !1, 0x3ca9ecb407725, !1],
- [1, "gravity4Impossible", 0, 1, !1, !1, 0x9382712ba676f, !1],
- [1, "gravity5Impossible", 0, 1, !1, !1, 861973730259724, !1],
- [1, "row5Impossible", 0, 0, !1, !1, 9278009837607672, !1],
- [1, "row6Impossible", 0, 0, !1, !1, 0x6d0777670073d, !1],
- [1, "gravity2Impossible", 0, 1, !1, !1, 5469800299229031, !1],
- [1, "gravity6Impossible", 0, 1, !1, !1, 0xcb1919c7d2d65, !1],
- [0, null, !1, null, 6418704810887246, [
- [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 0xef07fa387e481, !1]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x52df38ec1361a, !1, [
- [0, [0, 180]]
- ]],
- [7, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0xceabacc009f1d, !1, [
- [4, 0],
- [3, 1]
- ]],
- [9, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 5290863605321413, !1, [
- [4, 8],
- [3, 1]
- ]],
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xcaa60181ce9a7, !1, [
- [0, [0, 180]]
- ]],
- [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x7ffad08bc54cb, !1, [
- [0, [0, 180]]
- ]],
- [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 5104969159299949, !1, [
- [0, [0, 180]]
- ]],
- [61, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 5630839414353163, !1, [
- [0, [0, 180]]
- ]],
- [49, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0xf32def1f1d95d, !1, [
- [4, 41],
- [3, 1]
- ]],
- [54, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0x8bea26123908f, !1, [
- [4, 48],
- [3, 1]
- ]],
- [62, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 7124702780667244, !1, [
- [4, 61],
- [3, 1]
- ]],
- [66, cr.behaviors.Pin.prototype.acts.Pin, "Pin", 0x8d98b359c7c9, !1, [
- [4, 65],
- [3, 1]
- ]],
- [65, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 5509052326639566, !1, [
- [0, [0, 180]]
- ]],
- [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 0x7fd1a4446ab34, !1, [
- [0, [0, 270]]
- ]],
- [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 0xd0e26fba81c, !1, [
- [0, [23, "SpeedImpossible"]]
- ]],
- [55, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 0x87a8d49d808ed, !1, [
- [0, [0, 270]]
- ]],
- [55, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 0xbb6580bb3cbd6, !1, [
- [0, [23, "SpeedImpossible"]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0xeec25b023987c, !1, [
- [5, [0, 5]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 8631087035131411, !1, [
- [5, [0, 5]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 8332999700372955, !1, [
- [11, "playImpossible"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6009896093551915, !1, [
- [11, "gameover_Impossible"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xea8d76343efe6, !1, [
- [11, "gravityImpossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xea75466ce7a2e, !1, [
- [11, "gravity2Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6283589613693221, !1, [
- [11, "SpeedImpossible"],
- [7, [0, 200]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4619358751416698, !1, [
- [11, "ScoreImpossible"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7104341388778886, !1, [
- [11, "gravity3Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xe98d562aab172, !1, [
- [11, "gravity4Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xc6fddcd889dca, !1, [
- [11, "gravity5Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5421502645440677, !1, [
- [11, "gravity6Impossible"],
- [7, [0, 1]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.Destroy, null, 6662626866595487, !1],
- [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 5126923107447298, !1],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xf90d3d31f5f07, !1, [
- [11, "begin"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 5688078410076598, !1, [
- [5, [0, 6]],
- [3, 1]
- ]]
- ],
- [
- [0, null, !1, null, 0xa1d565d6f03b, [
- [23, cr.plugins_.WebStorage.prototype.cnds.LocalStorageExists, null, 0, !1, !1, !1, 0xd6190d5100571, !1, [
- [1, [2, "HighScoreImpossible"]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 8036042414165201, !1, [
- [11, "HighScoreInferno"],
- [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreImpossible"]
- ]]]
- ]],
- [22, cr.plugins_.Text.prototype.acts.SetText, null, 0x4e7184e2912f9, !1, [
- [7, [23, "HighScoreImpossible"]]
- ]]
- ]
- ],
- [0, null, !1, null, 8731338085374912, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 4698002096852956, !1]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xfd9fd1e69e799, !1, [
- [11, "HighScoreImpossible"],
- [7, [0, 0]]
- ]],
- [22, cr.plugins_.Text.prototype.acts.SetText, null, 0xe4a613d4698c2, !1, [
- [7, [23, "HighScoreImpossible"]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0x6c151b4a6d627, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 306348601506138, !1, [
- [4, 50]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 9880047478715416, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xd40b00f69d7cb, !1, [
- [11, "gravityInferno"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7860003791279539, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6743249970636201, !1, [
- [11, "gravityInferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 465039095576912, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 7712815601141488, !1]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x8439cf01c8a1a, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6225209034119307, !1, [
- [11, "gravityInferno"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 8580439934331843, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xd9a3fd25c0d8f, !1, [
- [4, 51]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 5361161399061406, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6886626006674074, !1, [
- [11, "gravity2Inferno"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0xe1a0456007068, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xc3e69d2cd08a7, !1, [
- [11, "gravity2Inferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 8156967976133167, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 0xb622fabc4ab2c, !1]
- ],
- [
- [8, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x48f5b72956e55, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 572248730583336, !1, [
- [11, "gravity2Inferno"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0x9598557a5882a, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 4686454823610715, !1, [
- [4, 52]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 5793946394007177, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8489399614441546, !1, [
- [11, "gravity3Inferno"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 7666821577336725, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xa9f8614a6d5c1, !1, [
- [11, "gravity3Inferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xfc5b7e1bd1670, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 516666422694402, !1]
- ],
- [
- [41, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 8212524302638081, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xc1269c68162bc, !1, [
- [11, "gravity3Inferno"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 572986022545054, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 8657807079833968, !1, [
- [4, 53]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 8338758881075035, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xfd251e25911b1, !1, [
- [11, "gravity4Inferno"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 4880263741601245, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9728445420588914, !1, [
- [11, "gravity4Inferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x49ff79d54c708, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 5973387507165903, !1]
- ],
- [
- [48, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 290113288632646, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x8f4e83a117cfb, !1, [
- [11, "gravity4Inferno"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 4910592440788638, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0xb8f5db89da217, !1, [
- [4, 63]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 7852051715109525, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8605386739392094, !1, [
- [11, "gravity5Inferno"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [61, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 4936644800116074, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5992576296177226, !1, [
- [11, "gravity5Inferno"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 5800558420878574, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 7210313837653653, !1]
- ],
- [
- [61, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 0x4aea777aa6b26, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x80f8147e190c7, !1, [
- [11, "gravity5Inferno"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 4976241847827036, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 8409617145300181, !1, [
- [4, 67]
- ]]
- ],
- [],
- [
- [0, null, !1, null, 8082063475514109, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 4647102767481759, !1, [
- [11, "gravity6Impossible"],
- [8, 0],
- [7, [0, 0]]
- ]]
- ],
- [
- [65, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 4694599159076202, !1, [
- [0, [0, 180]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x95b40e9596720, !1, [
- [11, "gravity6Impossible"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 8408804780172576, [
- [-1, cr.system_object.prototype.cnds.Else, null, 0, !1, !1, !1, 521505180900857, !1]
- ],
- [
- [65, cr.behaviors.Platform.prototype.acts.SetGravityAngle, "Platform", 935338192008743, !1, [
- [0, [0, 360]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x4fc30c996e514, !1, [
- [11, "gravity6Impossible"],
- [7, [0, 0]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 6565359493038453, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 562335762805476, !1, [
- [4, 1]
- ]]
- ],
- [
- [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x923ad234ea927, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 0x6b76d1a6b5799, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9347916671078286, !1, [
- [4, 6]
- ]]
- ],
- [
- [0, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8212740881647777, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 0xc3bb526613007, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xa662d8962df6b, !1, [
- [4, 1]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 5810865263927311, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 7969667994169023, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xfe96494fe429c, !1, [
- [4, 40]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8859640135457257, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 7134051327035208, [
- [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 5759891839810282, !1, [
- [4, 40]
- ]]
- ],
- [
- [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 7404755711066279, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 7859640273972368, [
- [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 8928894111832834, !1, [
- [4, 11]
- ]]
- ],
- [
- [41, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9358386974996120, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 475776459480419, [
- [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6105235911802122, !1, [
- [4, 1]
- ]]
- ],
- [
- [48, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9237288209483072, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 9060782899358532, [
- [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 8741339529867716, !1, [
- [4, 6]
- ]]
- ],
- [
- [48, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0x75664a01f92fc, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 5943106919968472, [
- [61, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xc6fe192dfa7b, !1, [
- [4, 1]
- ]]
- ],
- [
- [61, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 9042003485523406, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 4897360697980354, [
- [61, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 9835123000173060, !1, [
- [4, 40]
- ]]
- ],
- [
- [61, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 6930849541391029, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 9283722099934906, [
- [65, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x9c53c5e34c49c, !1, [
- [4, 40]
- ]]
- ],
- [
- [65, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 2359547720634, !1, [
- [3, 1]
- ]]
- ]
- ],
- [0, null, !1, null, 0xffde634b7236, [
- [65, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 6519035359363083, !1, [
- [4, 11]
- ]]
- ],
- [
- [65, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xb47eb81440f0f, !1, [
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 484919667324593, [
- [-1, cr.system_object.prototype.cnds.EveryTick, null, 0, !1, !1, !1, 8101218338925943, !1]
- ],
- [
- [12, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 0xc7f2fe81f25f3, !1, [
- [0, [0, 270]]
- ]],
- [12, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 0x859975bede43f, !1, [
- [0, [23, "SpeedImpossible"]]
- ]],
- [-1, cr.system_object.prototype.acts.AddVar, null, 8413390005237065, !1, [
- [11, "SpeedImpossible"],
- [7, [1, .05]]
- ]],
- [13, cr.plugins_.Text.prototype.acts.SetText, null, 5040751281928451, !1, [
- [7, [23, "ScoreImpossible"]]
- ]],
- [55, cr.behaviors.Bullet.prototype.acts.SetAngleOfMotion, "Bullet", 7394560770137496, !1, [
- [0, [0, 270]]
- ]],
- [55, cr.behaviors.Bullet.prototype.acts.SetSpeed, "Bullet", 9934036195889692, !1, [
- [0, [23, "SpeedImpossible"]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x9bdc08846b340, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0xc82faec8acfe, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5202169911932624, !1, [
- [11, "playImpossible"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 286077518744557, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x71c1f47298200, !1, [
- [11, "row1Impossible"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 0x4606b413421aa, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xa904db73c1655, !1, [
- [11, "row1Impossible"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0xda6ec1c90c4fe, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 80]
- ]],
- [0, [0, 460]]
- ]]
- ]
- ],
- [0, null, !1, null, 9124955256431192, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xbc2789f1a1e38, !1, [
- [11, "row1Impossible"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0xd3355ee13b9aa, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 30]
- ]],
- [0, [0, 460]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8633018124602081, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 5560335408984775, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 9080922458699106, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7283557268753761, !1, [
- [11, "playImpossible"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xcfdf93ef89657, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xecad4a31cd3f, !1, [
- [11, "row2Impossible"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 0xe2af50e5c02cf, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9655085398645628, !1, [
- [11, "row2Impossible"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 6678672033942741, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 60]
- ]],
- [0, [0, 460]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xa58fa2d598a44, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5861471969901065, !1, [
- [11, "row2Impossible"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0xb3dd0ede8caa1, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [5, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 40]
- ]],
- [0, [0, 460]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 7107644668824321, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 9474932240165148, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 4777092282614782, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xbb82b252a2821, !1, [
- [11, "playImpossible"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 7342523836860821, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xc961dd8abe815, !1, [
- [11, "row3Impossible"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 7187906715314596, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x770c08267f363, !1, [
- [11, "row3Impossible"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0x503cef3149244, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [4, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 60]
- ]],
- [0, [0, 460]]
- ]]
- ]
- ],
- [0, null, !1, null, 6047160386074863, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9935291203905462, !1, [
- [11, "row3Impossible"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0x547df5a3d682d, !1, [
- [4, 12],
- [5, [0, 4]],
- [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 40]
- ]],
- [0, [0, 460]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 7386170151414615, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0x4c2b61a8de37f, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 967440949305739, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x711c7d6d1d85b, !1, [
- [11, "playImpossible"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6124920354759082, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xf4ef3869698c0, !1, [
- [11, "row4Impossible"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 5216021682540947, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 847016951738177, !1, [
- [11, "row4Impossible"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0xf80eca83b8069, !1, [
- [4, 55],
- [5, [0, 4]],
- [0, [4, [20, 6, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 80]
- ]],
- [0, [0, 960]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x70ccbc641c37b, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x5930d012e2f13, !1, [
- [11, "row4Impossible"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 0xed583719689f4, !1, [
- [4, 55],
- [5, [0, 4]],
- [0, [5, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 30]
- ]],
- [0, [0, 960]]
- ]],
- [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 0xb53e1b8bd37df, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0x9b56c6788103d, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 0xa44438159766e, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 9703428932852016, !1, [
- [11, "playImpossible"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x4e203ad0b9ecc, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 5182547118605347, !1, [
- [11, "row5Impossible"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 611959107108666, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 6657411437005629, !1, [
- [11, "row5Impossible"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 9512319341476040, !1, [
- [4, 55],
- [5, [0, 4]],
- [0, [4, [20, 1, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 60]
- ]],
- [0, [0, 960]]
- ]]
- ]
- ],
- [0, null, !1, null, 82680635578615, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 8994286031165795, !1, [
- [11, "row5Impossible"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 8272219408874706, !1, [
- [4, 55],
- [5, [0, 4]],
- [0, [5, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 40]
- ]],
- [0, [0, 960]]
- ]],
- [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 6133831068543971, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0xc51ccd97ff013, [
- [-1, cr.system_object.prototype.cnds.Every, null, 0, !1, !1, !1, 8053195481456727, !1, [
- [0, [19, cr.system_object.prototype.exps.random, [
- [0, 2],
- [1, 2.5]
- ]]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x692956e27f751, !1, [
- [11, "playImpossible"],
- [8, 0],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5357020741669244, !1, [
- [11, "begin"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 6981487123293757, !1, [
- [11, "row6Impossible"],
- [7, [19, cr.system_object.prototype.exps.choose, [
- [0, 1],
- [0, 2]
- ]]]
- ]]
- ],
- [
- [0, null, !1, null, 0xaede721f0506d, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0x97ecd156e6c5e, !1, [
- [11, "row6Impossible"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 8490020249221315, !1, [
- [4, 55],
- [5, [0, 4]],
- [0, [4, [20, 40, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 60]
- ]],
- [0, [0, 960]]
- ]]
- ]
- ],
- [0, null, !1, null, 50898499229713, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xc4048e0dae2e1, !1, [
- [11, "row6Impossible"],
- [8, 0],
- [7, [0, 2]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.CreateObject, null, 9388840412757354, !1, [
- [4, 55],
- [5, [0, 4]],
- [0, [5, [20, 11, cr.plugins_.TiledBg.prototype.exps.X, !1, null],
- [0, 40]
- ]],
- [0, [0, 960]]
- ]],
- [55, cr.plugins_.Sprite.prototype.acts.SetMirrored, null, 8250792627865191, !1, [
- [3, 0]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 0x96a3d746c3f3b, [
- [55, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0xa5121ed22fed3, !1, [
- [4, 59]
- ]]
- ],
- [
- [55, cr.plugins_.Sprite.prototype.acts.Destroy, null, 0x985a63d6e464d, !1]
- ]
- ],
- [0, null, !1, null, 0xc1c3a074d3bef, [
- [12, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 8430623618439026, !1, [
- [8, 3],
- [0, [20, 0, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
- ]],
- [12, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 6978172342289448, !1, [
- [10, 0]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.AddVar, null, 7872051882463577, !1, [
- [11, "ScoreImpossible"],
- [7, [0, 1]]
- ]],
- [12, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 0xddab2c64262af, !1, [
- [10, 0],
- [3, 1]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 5455528446679587, !1, [
- [2, ["point", !1]],
- [3, 0],
- [0, [0, -10]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 5894550085747855, [
- [55, cr.plugins_.Sprite.prototype.cnds.CompareY, null, 0, !1, !1, !1, 4582320923410074, !1, [
- [8, 3],
- [0, [20, 48, cr.plugins_.Sprite.prototype.exps.Y, !1, null]]
- ]],
- [55, cr.plugins_.Sprite.prototype.cnds.IsBoolInstanceVarSet, null, 0, !1, !0, !1, 9245646701584226, !1, [
- [10, 0]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.AddVar, null, 8012160510246577, !1, [
- [11, "ScoreImpossible"],
- [7, [0, 1]]
- ]],
- [55, cr.plugins_.Sprite.prototype.acts.SetBoolInstanceVar, null, 6094682613232358, !1, [
- [10, 0],
- [3, 1]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 9229808645894528, !1, [
- [2, ["point", !1]],
- [3, 0],
- [0, [0, -10]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x92f49731894af, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 5672301977742321, !1, [
- [11, "playImpossible"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0x55025f17b2f19, !1, [
- [4, 0],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0xf06923f31fc73, !1, [
- [4, 12],
- [0, [0, 0]]
- ]],
- [7, cr.plugins_.Particles.prototype.acts.Destroy, null, 5869501078629253, !1],
- [9, cr.plugins_.Particles.prototype.acts.Destroy, null, 0x9f734f38e2fd4, !1],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 5239741322405668, !1, [
- [4, 8],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5300289018415897, !1, [
- [11, "gameover_Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 9876162098509568, !1, [
- [5, [0, 5]],
- [3, 1]
- ]],
- [56, cr.plugins_.Text.prototype.acts.SetText, null, 7395138579192926, !1, [
- [7, [23, "ScoreImpossible"]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0x6c9f2f2bc3eaa, !1, [
- [4, 55],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 4803106115997985, !1, [
- [4, 41],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0xb4de26505487e, !1, [
- [4, 48],
- [0, [0, 0]]
- ]],
- [49, cr.plugins_.Particles.prototype.acts.Destroy, null, 8777928805703707, !1],
- [54, cr.plugins_.Particles.prototype.acts.Destroy, null, 459940856011844, !1],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 0xe63e2ef73b6bb, !1, [
- [4, 61],
- [0, [0, 0]]
- ]],
- [62, cr.plugins_.Particles.prototype.acts.Destroy, null, 9109937631617592, !1],
- [-1, cr.system_object.prototype.acts.SetObjectTimescale, null, 9578462565946344, !1, [
- [4, 65],
- [0, [0, 0]]
- ]],
- [66, cr.plugins_.Particles.prototype.acts.Destroy, null, 9191264259723098, !1]
- ],
- [
- [0, null, !1, null, 0xb1097c8cbb1d2, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xf61dba916727a, !1, [
- [11, "ScoreImpossible"],
- [8, 4],
- [7, [23, "HighScoreImpossible"]]
- ]]
- ],
- [
- [23, cr.plugins_.WebStorage.prototype.acts.StoreLocal, null, 6384071599501739, !1, [
- [1, [2, "HighScoreImpossible"]],
- [7, [23, "ScoreImpossible"]]
- ]],
- [57, cr.plugins_.Text.prototype.acts.SetText, null, 598521026190765, !1, [
- [7, [20, 23, cr.plugins_.WebStorage.prototype.exps.LocalValue, !0, null, [
- [2, "HighScoreImpossible"]
- ]]]
- ]]
- ]
- ]
- ]
- ],
- [0, null, !1, null, 9210947046583252, [
- [0, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x5b63cb4d1047c, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x63d6ab01b886b, !1, [
- [11, "playImpossible"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 7945291225606061, [
- [8, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 7182671580626588, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 7588837819844953, !1, [
- [11, "playImpossible"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 5188631377632637, [
- [41, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 576814136131581, !1, [
- [4, 12]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x9d70e546e1af, !1, [
- [11, "playImpossible"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 9223887008717436, [
- [48, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 7746368094577913, !1, [
- [4, 55]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xb4dbe18b61346, !1, [
- [11, "playImpossible"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 7152630121159691, [
- [61, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x5349ffac99903, !1, [
- [4, 55]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 7452076435949601, !1, [
- [11, "playImpossible"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xa2c09aaa6f99a, [
- [65, cr.plugins_.Sprite.prototype.cnds.OnCollision, null, 0, !1, !1, !0, 0x69ae9ef4d945b, !1, [
- [4, 55]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x5a19f3be9e49a, !1, [
- [11, "playImpossible"],
- [7, [0, 1]]
- ]]
- ]
- ],
- [0, null, !1, null, 0x6d165cfae94ec, [
- [-1, cr.system_object.prototype.cnds.CompareVar, null, 0, !1, !1, !1, 0xd9135bdf74e2b, !1, [
- [11, "gameover_Impossible"],
- [8, 0],
- [7, [0, 1]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0xdad481cb2a553, !1, [
- [5, [0, 5]],
- [0, [4, [19, cr.system_object.prototype.exps.layeropacity, [
- [0, 5]
- ]],
- [0, 5]
- ]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xcdf0adc6e210b, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x7e1711c1361fc, !1, [
- [4, 19]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 4753692941024491, !1, [
- [5, [0, 5]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 402766122264184, !1, [
- [6, "Menu"]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 0x7c39f340dee8f, !1, [
- [5, [0, 5]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0xe8e0d490f9cc6, !1, [
- [5, [0, 5]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x4e897fbb92418, !1, [
- [11, "playImpossible"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xdcf689e942b11, !1, [
- [11, "gameover_Impossible"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 404125084585875, !1, [
- [11, "gravityImpossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5299536427001595, !1, [
- [11, "gravity2Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xebcf81ef25bb4, !1, [
- [11, "SpeedImpossible"],
- [7, [0, 200]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 5720816894623756, !1, [
- [11, "ScoreImpossible"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4822431383559057, !1, [
- [11, "gravity3Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xd27b60370feb5, !1, [
- [11, "gravity4Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xe3ce744712fb8, !1, [
- [11, "gravity5Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 9888605591309640, !1, [
- [11, "gravity6Impossible"],
- [7, [0, 1]]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 9800781474866188, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 4811165182205955, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 6292350360076174, !1, [
- [4, 18]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 706335215516044, !1, [
- [5, [0, 5]]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 0xa9a9f14b6b09b, !1, [
- [6, "Impossible"]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerOpacity, null, 9969738018143008, !1, [
- [5, [0, 5]],
- [0, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 0x9b7cc893abe99, !1, [
- [5, [0, 5]],
- [3, 0]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x8cf7bd7d355b8, !1, [
- [11, "playImpossible"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x5f26738f149b5, !1, [
- [11, "gameover_Impossible"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 0x3a2444560f738, !1, [
- [11, "gravityImpossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6795368688519229, !1, [
- [11, "gravity2Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6870606719191381, !1, [
- [11, "SpeedImpossible"],
- [7, [0, 200]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 4847126089407462, !1, [
- [11, "ScoreImpossible"],
- [7, [0, 0]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7190098213805858, !1, [
- [11, "gravity3Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6194961127426688, !1, [
- [11, "gravity4Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 6630372358071485, !1, [
- [11, "gravity5Impossible"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetVar, null, 7616107809307576, !1, [
- [11, "gravity6Impossible"],
- [7, [0, 1]]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 5085499607907071, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 9555494001599416, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 378184836022266, !1, [
- [4, 74]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.SetVar, null, 0xbdc2b1c89745b, !1, [
- [11, "begin"],
- [7, [0, 1]]
- ]],
- [-1, cr.system_object.prototype.acts.SetLayerVisible, null, 9322560042428122, !1, [
- [5, [0, 6]],
- [3, 0]
- ]]
- ]
- ],
- [0, null, !1, null, 6826168198710871, [
- [8, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 4772836556227268, !1, [
- [8, 2],
- [0, [0, 203]]
- ]]
- ],
- [
- [8, cr.plugins_.Sprite.prototype.acts.SetX, null, 9479401447862832, !1, [
- [0, [0, 305]]
- ]]
- ]
- ],
- [0, null, !1, null, 4963302230019432, [
- [61, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 8223520359383316, !1, [
- [8, 2],
- [0, [0, 203]]
- ]]
- ],
- [
- [61, cr.plugins_.Sprite.prototype.acts.SetX, null, 6382321529866806, !1, [
- [0, [0, 305]]
- ]]
- ]
- ],
- [0, null, !1, null, 8112010701746358, [
- [41, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 9734284668711604, !1, [
- [8, 2],
- [0, [0, 410]]
- ]]
- ],
- [
- [41, cr.plugins_.Sprite.prototype.acts.SetX, null, 749957638382071, !1, [
- [0, [0, 515]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xe64fc1a341dc2, [
- [65, cr.plugins_.Sprite.prototype.cnds.CompareX, null, 0, !1, !1, !1, 0xb22f8102a2806, !1, [
- [8, 2],
- [0, [0, 410]]
- ]]
- ],
- [
- [65, cr.plugins_.Sprite.prototype.acts.SetX, null, 7312449514048943, !1, [
- [0, [0, 515]]
- ]]
- ]
- ],
- [0, null, !1, null, 845026604817764, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 9944749160178972, !1, [
- [4, 75]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 8225286852988792, !1, [
- [5, [0, 5]]
- ]]
- ],
- [
- [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 6159045890848927, !1, [
- [1, [10, [10, [10, [2, "sharegame"],
- [23, "ScoreImpossible"]
- ],
- [2, ":"]
- ],
- [19, cr.system_object.prototype.exps.random, [
- [0, 1],
- [0, 10]
- ]]
- ]],
- [1, [2, "NewWindow"]]
- ]]
- ]
- ],
- [0, null, !1, null, 9343460922725686, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 0x4e6d2fd0d769f, !1, [
- [4, 76]
- ]],
- [-1, cr.system_object.prototype.cnds.LayerVisible, null, 0, !1, !1, !1, 7091832655060645, !1, [
- [5, [0, 5]]
- ]]
- ],
- [
- [77, cr.plugins_.Browser.prototype.acts.GoToURLWindow, null, 8183168696913552, !1, [
- [1, [10, [10, [2, "moregame"],
- [23, "HighScoreImpossible"]
- ],
- [2, "%23MakeThemFallImpossible"]
- ]],
- [1, [2, "NewWindow"]]
- ]]
- ]
- ]
- ]],
- ["HowToSheet", [
- [0, null, !1, null, 0xf88fd3785cc84, [
- [2, cr.plugins_.Touch.prototype.cnds.OnTouchObject, null, 1, !1, !1, !1, 5736307910588576, !1, [
- [4, 71]
- ]]
- ],
- [
- [-1, cr.system_object.prototype.acts.GoToLayout, null, 0x7159fd315fac2, !1, [
- [6, "Menu"]
- ]],
- [73, cr.plugins_.Audio.prototype.acts.Play, null, 0x6d115ecf9c96f, !1, [
- [2, ["click1", !1]],
- [3, 0],
- [0, [0, 0]],
- [1, [2, ""]]
- ]]
- ]
- ],
- [0, null, !1, null, 0xe0293c80afe73, [
- [-1, cr.system_object.prototype.cnds.OnLayoutStart, null, 1, !1, !1, !1, 0xf917d4d88cc2f, !1]
- ],
- [
- [0, cr.behaviors.Platform.prototype.acts.SetGravity, "Platform", 8554221901815929, !1, [
- [0, [0, 0]]
- ]],
- [8, cr.behaviors.Platform.prototype.acts.SetGravity, "Platform", 0xc9afc72b34e4a, !1, [
- [0, [0, 0]]
- ]],
- [72, cr.plugins_.CJSAds.prototype.acts.HideBanner, null, 7850978435576418, !1],
- [72, cr.plugins_.CJSAds.prototype.acts.ShowBanner, null, 363673293478381, !1, [
- [3, 1]
- ]]
- ]
- ]
- ]]
- ],
- [
- ["click1.ogg", 6952],
- ["point.ogg", 6841]
- ], "media/", !1, 640, 960, 4, !0, !0, !0, "1.0.0.0", !0, !1, 0, 0, 212, !1, !0, 1, !0, []
- ]
- }
|