MMF2Level Editor EngineRK:\Users\Neil\Desktop\Personal Website\USING THIS STUFF\examples\level_editor3.mfa4(@0BBrCBBBBBBBBBBBBBZBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCBCCCCCCCBBrCBBBBBBBBBBBBBZBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCBCCCCCCCƸhBZkB ZZXBlBȂBjBUȂBBBBBBBBBBBBBBBSӜ`Ӝ`BSBBSyyΪRBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[[[[[[[B[[[[[[[Bhh B ZZBB ZZhjZBBPBBBZBrClrCBBZB ZBB ZBBBBjBjBhBBBBBBBBBBBBBBBBBBBBBȂBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBbBBBBBBBBBBBBBhȂP ZBBBjBZ BZBBjBrCrCPZjhBPBBBrCBBlB BZB\rCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBZ ZBBZjB BZB BBBƸlPBPPZBZjBjZZZBZBȂ ZBPZBBBK!(B!2BKBBKsUs}BKBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[[[[[[[B[[[[[[[ beBBBBBBCbbBBCBBBBBBbBBBBBBBBBBBBBBBBBBBBBBBBBDBBbBBBBBBBBBBCBbBBBbBBBCBbBBBBBBBBBBBBBBBBBBBBbBBBBB c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c66666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww66wwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666wwwwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666wwՌwwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666wwwwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666ww66666wwwwwՌ66666wwwww66666ww66 Ԍ66wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666ww6Ԍ66wwwww66666wwwwwՌ6666wwwww66Ռ$!{$!ԌՌ66666wwwwwՌ66666wwwww66666ww61111Ԍ66wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666ww66iJ(BԌ66wwwww66666wwwwwՌ6666wwwww66wwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666wwwwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666wwwwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666wwwwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666wwwwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666ww66666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww66wwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666wwwwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666wwwwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666wwwwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666wwwwwww66666wwwww66666wwwww66666wwww66666wwwww66666wwwwՌ66666wwՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌՌ66666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww6666666wwwwwՌ66666wwwww66666wwwww6666wwwww66666wwwwwՌ6666wwwww66ATNFd"TahomaAPMSASUMAGMI """)))UUUMMMBBB999|PP3f333f3333f3ffffff3f̙3ff333f333333333f33333333f33f3ff3f3f3f3333f33̙33333f333333f3333f3ffffff3f33ff3f3f3f3fff3ffffffffff3ffff̙fff3fffff3fff333f3f3ff3ff33f̙̙3̙ff̙̙̙3f̙3f333f3333f3ffffff3f̙3f3f3f333f3333f3ffffff3f̙3f3ffffffffff!___wwwB00 h hpppph`@qxaxaxExpp`xÀI,0Qqqiph0$À$(mq4U444Uep`$IŽqUUuq$pHiÀ0YYYY888 xXDZmu8YY8U444UuuYyyyya`eÀm88Uqq4u8Y4ahÀDZ840Q4uY4aP,UMMIzizzzz {,{M{U<}}<yx8ax0uUQ ,m``E)}}Y $#W 51uO ~% ,;@= /&{m?S 5#P +*S}D 1U4_ Mk"8X )Th{> ){~L3jخvQ) 8WeO1  $&''&"  xAxAxAx㐂pppX$Ү0QqMAxhHÀiUUuUax`〆4YY8u$hu8U488puUQӎ0Ӽ<<$`axMUm)s͞c  `[  q= P2pO-AhppqmEumx4QӮq~99Mks_?ϋc޶7K^>>~99~k_??Ǘ[޶7K^>~99~YΖ琷k_?w[ޮ7K^>}99skcw[WSWK7K7CC:99~YΖ߁k?ύw[ޮ~7K^>~u99~Mk_אc?w[~7K>~u99^_ׂ?ϗcǍ޶wS~^7C>}u99^YΖ?ϑ?Ǘc޶ޮWS~^C>~um99cw[wSWSWK7K7CC;::299]YΖw[޶ޮWK~~^>C~umm99=Mk޶wS7K^^>>;uume99=޶ޮWS~7K^>~:umee99=YΖWS~~^7C>>~}:mme]99WSWK7KC;:22*99YΖ~~7K^^>>C~}um2ee]}U99Mk^^C>>~:umm2e]}U99>>C~~}:umme2]}U]M99YΖ>~;}}u2me]*}U]M99c%   AaȂ aȂA AiIeE$aA ȊmM iI(E$A im ,i(eEA I, eE$aA(i$aA IEaA eA  EA٦IEA(iEAiɂ eȦ Eap y$EٞAhp $Upp(yh؂ؒ䂘hXz `؎M p hփł`xآa phpx`xآЂa ЁaЂA ȁAaAЁ ȁ    pX$< @[b[bS[bS[b[[b[[b[bS[bS[1[BfBJDB"SBgJJB:DBfBBC:JC:JJJ"SB:gJBbS[1bS1׽<އJb:P޺{98kk4:>PP>>** ##77KK77))##DDwwOO((""@@00@@00@@@@00""LL!! 00 ,,ᄒBB55``@@))zz PPt蠠``@@ |&&++ m 蠠@@s@@``!!&&પvppq@@ GG00zmؐm^00@@z@@``배ejjaat``@@m00܀אbtmte ҂ ҁʁ Ёȁ́ŁˁÁɂȁǂłJdu01.s[.rZqYM<&TBqY 6+-$\HTB&M<qYM<&TB D5 D5qYM< >1qYpWiQ.$fff""" E5"""ffffff C4 L;UUU.$pWoUUUU J9Q>DDD,"DDDUUU ;-wwwoU"""`JoUmS-"fff333 4( A2fffDDD-",!gN-",!XCUUUwww :,mSlReM333VB A1 B2""" _HXClR :,www+! I8+!,"fff A1lRjPU@333DDDUUU* jP A1UUU :,]F O<jP G5UUU""""""\EjP,!fffjPiN+ """ 8* @0fff+ \E+ # N:#333*1$DDD M9+ fff @0iNhL S=333wwwwww 7)1#UUUUUU#+fff̻333 S=hLfJ*fff)""" >-3333331#UUUDDD K6fJeH*"""( R: E10"0"eH0"0" >,"""0"eH**eH.dF.cE1\01.6.%{#xdQ ' 1(nY#xG9 ;0xanY 1( ' dQ#xdQ ' 1(nYYH ' YH#xdQ ' QA#x!u 'm<0fff"""YH"""ffffffWFbOUUU<0!u qUUU_KhSDDD 9-DDDUUULUUUH7tYbKeXCUUU""""""rXe 6*fffeb 5("""D4"N<fff 5(pV 5( +!_I +!333 3' <.DDD^H 5(fffN<b}^dK333wwwwww C2 :,UUUUUU* 3'fff̻333dK}^yZ 2%fff 0$"""J7333333 :+UUUDDDYByZvW 1$"""333""" /#`GP; 8* 8*vW 8* 8*H5333 8*vW 1$ 1$vW.sT.qQ1 ! 01.s[.rZqYcN 5* 5*cNqYkT DDDUUUZE""" oUmS J8,!"""-"mS-",! J8,!"""-" mSlR"""UUU ;-_HXClR"""UUU ;-lRjPwwwUUU ]F O<jPwwwUUU jPiN+ #iNiNhLwwwUUUUUU2$wwwhLfJ333""" >-333333 E2fJeH* E1333 7'0"0"eH0"0"* E1333 7' eH.dF.cE1 01.6.%{#xiE8 ' E8i#x!qO@ ' dQ#xnY 1( ' dQ#xdQ ' 1(nYE8 ' E8i#x!qO@ ' dQ #x!uD7D7!u<0www333t^"""YH"""D7!u<0www333t^ !u q & &s\""" & qhSDDDUUU & &s\""" & qm^J% 8,""" 9-m 9- 8,^J% 8,""" 9- mi$"""UUUJ9w\nUi$"""UUUJ9ie#wwwUUU tYbKe#wwwUUU eb" 5( +!b"b}^!www!UUUUUU <-!www!}^yZ 333"""J7333 333R=yZvW 1$P;333 @/ 8* 8*vW 8* 8* 1$P;333 @/ vW.sT.qQ1  01._C.bFfJZA0#0#ZAfJ`F 6' E2fJ L7" E2fJ E2" L70#0#ZAfJ`F 6' E2 fJjN 1$ 1$jN, www333U>""" A0""" 1$jN, www333U> jNnRYC"""nRQ  0$ 1%fffH7x[}`dM333DDDUUU 2&}`L;UUUD4nT]H}`S@UUU""""""lS}` 3(fff}`e 6*"""E6#P>fff 6*rY 6* +"aK +"333 4( =/DDD_J 6*fffP>ejlU333wwwwwwH9?1UUUUUU -#  8,fff̻333lUjo 9.fff 8,"""UD333333C5UUUDDDfQo!s;/333""" :.u]bN & &E7 E7!sE7 E7XF333 E7!s;/;/!s.#w.%{1 f !!01.s[.rZqY\H-$&TBqYM<&TBqY K; K;qYM<-$M<M<qYpW L;333ZFpW[G"""% K:UUUUUU =/pWiQpWoU 4(oU,"DDDQ> oU =.fffwwwoUmS-"`IfM$3'UUU I7 -"mSlRfff," :,wwwfff"""XC"""UUU2&lRjP H6wwwUUU www* 333"""\EjPiN N:#"""wwwUUU M9DDD*iN G5iNhL#wwwfffUUUDDDwwwwww 7)DDD L8hLhLfJ D1UUUwww333) K6 =,ffffJfJeH0"DDD*( R:eH0" 7'eH* E1eH**eH dF I3]A!dF.cE101.6.%{#xxa;0  1(nY#xdQ ' 1(nY#xcP ' cP#xdQ ' ;0dQ ' dQ#x!ubO333t^!uv_""" 0'aNUUUUUUO@!um ' '!u q &B5 q 9-DDDhS qM>fffwww qm 9-z`f .$A3UUU]I 9-mi$fff 8+H8wwwfff"""nU"""$UUU?1ieZE#wwwUUU www 5(333"""rX#eb_I +!""""wwwUUU^HDDD 3'b"WBb}^*wwwfffUUUDDDwwwwww C2!DDD\E}^!}^yZQkN!sT.qQ101._C.bFfJS<)" L7fJ E2" L7fJ D1 D1fJ E2) E2 E2fJjN H5333U>jNV?"""# G4UUUUUU :+jNcIjNnR 3&nR,!DDDQ< nR <-fffwwwnRsW /$eLkQ& 6)UUUM:  /$sWx[ fff 1% @1wwwfff"""aJ""" UUU 8*x[}`UA!wwwUUU www 2&333"""lS!}`eaK +"#"""wwwUUU_JDDD 4(e#XEej -#wwwfffUUUDDDwwwwwwH9$DDDcNj$jo]JUUUwww333 8,fQSCfff%oo!sE7 DDD;/ :.u]!sE7 N?!s;/ &bN!s;/;/!s #wmW!o!#w.%{1H6+01._C.bFfJ E2 =,fJ 8(  1#_EfJ E2" L7fJZA0# 6'_E fJjNU>333fff @/jN]E, fffwww A0jNV?"""#jN 1$www 3%jNnRQ1  6+iSqYM<&TBqYcN 5* DDDwww ;-oU.#oU,"DDDQ>oU"""ZEoUmS P=DDDwww :,mS^H""" fff A2$mSwww,!mSlR O\CsT.qQ1j&@@  c*  ,,,EEEZZZiiiooolll___NNN999""" BBBhhhvvvkkkccc\\\XXXTTTTTTWWWYYY[[[III,,,666hhhtttdddXXXOOOJJJGGGDDDDDDDDDFFFGGGJJJLLLNNN??? JJJ}}}hhhWWWKKKEEECCCBBBBBBBBBBBBBBBBBBBBBBBBCCCDDDFFFEEE$$$ PPPwww___LLLDDDAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@===###IIIwww\\\HHH@@@>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<999555xxx[[[EEE===;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;888222dddaaaEEE;;;999999999999999999999999999999999999999999999999999999999888222###???lllMMM;;;777777777777777777777777777777777777777777777777777777777777777444+++ bbbYYY>>>555444444666999:::;;;NNN=========;;;;;;:::999666444444444333,,,(((jjjHHH444111111333@@@EEEHHH뷷RRRPPPLLLLLLJJJHHHEEE@@@333111111111,,,!!! >>>\\\<<>>>>>111.........+++!!!PPPQQQ444,,,,,,,,,000>>>>>>000,,,,,,,,,***!!![[[GGG...)))))))))--->>>******>>>---)))))))))(((!!!___>>>)))&&&&&&&&&***;;;Հ;;;***&&&&&&&&&&&&WWW888%%%#########'''999******999'''#########"""KKK666""" $$$666******666$$$  ;;;777!!!!!!000Հ000!!! ***999!!!...******...:::###)))򃃃))) ...%%%%%%)))//////111444444444444444444111//////)))%%%(((     _翏_/ׇ/oooo//____//oooo/ׇ/_翏_QMccccccccccccCCCcccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCC&CCCe(((CCC(((cccCCCCCC&CCCecccCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((cccCCCCCCCCCCCC(((CCC((((((((((((Level Editor Engine Neil Butcher,2&(%' &(%' &(%' &(%' &H&File&New F2Pass&word&Pause Ctrl+PPla&yers Ctrl+Y&Quit Alt+F4&OptionsPlay &samples Ctrl+SPlay &musics Ctrl+M&Hide the menu F8&Full Screen Alt+Enter&Help&Contents F1&About...  P Y S Mpqsw  KcArray.mfxArray%Y kcpica.mfxActive Picture%YC Level Editor XFFF{׻kϻ[ǻwwwcccSSSCCC333oSKC;{3k+Ww#G_7K'3 kWCw;k3_+S#C7g+K 3ssccSSGG;;33s++_##K7#ۧϏ{gWG7{+osccW WGK;;//ssKK##kS;#ۻÓoG#gc[WO;/s_K ;CϳÛscSwGg7W+K#ߧϏwwggSWCG3;w'/g#[K ; +ӃkgSK73# o_SC7'{cK7'o _##'#'#'#'##skkSS??ۧןϓLJsgߏ[ӃSsKgCW;K3?+{3#o+_OC3 '{k_OC3' w??????title  Movement #10Customizable Level Editor - Use WASD to navigate description  Movement #17This shows a simple way to make a level editor by pasting objects as backdrops and using an array to save, load, and edit the levels. You can easily change the grid size to any dimensions, not just 16x16 or 32x32. Array  Movement #1Array KcArray.mfx%Y$$ Values4 grid_size_X grid_size_Y Movement #122 16x16_button 4  Movement #1buttonKLBEDAEHSTVE  4& Walking   ,4& Stopped ,  4& Running& "# SJBO 32x32_buttonSpriteOIC0!DNE22 2222 cursor 4+ Movement #12222  32x32_button4  Movement #1buttonKLBEDAEHSTVE  4& Walking   ,4& Stopped ,  4& Running& "# SJBO 32x32_buttonSpriteOIC0!DNE222222 !Backdrop_to_Paste# Movement #1Active Picture kcpica.mfx%Y,,K:\Users\Neil\Desktop\Personal Website\USING THIS STUFF\examples\black_square.pngQuick Backdrop X save_button4  Movement #1buttonKLBEDAEHSTVE  4& Walking   ,4& Stopped ,  4& Running& "# SJBO 32x32_buttonSpriteOIC0!DNE222222 load_button 4  Movement #1buttonKLBEDAEHSTVE  4& Walking   ,4& Stopped ,  4& Running& "# SJBO 32x32_buttonSpriteOIC0!DNE222222 grid_size_text  Movement #1aGrid Dimensions: HUD_background4  Movement #122 Camera4 Movement #122level_options_text  Movement #1aLevel Options:ppp pppppppppp p p  &[&[( (  Evts$fH~n&Level Editorh J|l%"VerdanaBoldarh K|l%"VerdanaHHHBoldarh L|l%"Tahoma,,,Boldarh D_|l%"VerdanaBoldarh M|l%"TahomaI,,,Boldarh N|l%"TahomaUF,,, Boldarf O~n&Edit Levelh P|l%"TahomaUF,,,!Boldar Q  0 P" 0 Q" h R |l%"TahomaI,,,#BoldarF S  N@  N@  h T |l%"TahomaI,,,$Boldarh U |l%"Verdana%Boldar V ,B -place_backdrop h )W|l%"TahomaI,,,&Boldar X0 -place_backdrop! !j        +! h 'Y|l%"TahomaUF,,,'Boldar Z0 -place_backdrop( W-backdroph [|l%"Verdana(Boldarh \|l%"TahomaI,,,)Boldar ] ,B -remove_backdrop h ^|l%"TahomaI,,,*Boldard _0 -remove_backdrop^    h `|l%"TahomaUF,,,+Boldar a0 -remove_backdrop W- bf c~n&HUD (Buttons, etc)^h d|l%"TahomaI,,,,Boldar e    '* f    'h 'g|l%"TahomaI,,,-Boldar h &  , 2 , 2 4& Stopped"  i!&  , 2 , 2 4& Walking" h j"|l%"TahomaI,,,.Boldar k# h l$|l%"Verdana/Boldarh m%|l%"TahomaUF,,,0Boldar n&&   \h o'|l%"Verdana1Boldarh p(|l%"TahomaUF,,,2Boldar q)&    Z 'f r*~n&Load Levelh s+|l%"TahomaUF,,,3Boldarx t, " H-load_X" h u-|l%"TahomaUF,,,4Boldar v.(-load_XH-load_Y" h 'w/|l%"TahomaUF,,,5BoldarX x0(-load_Y~ T Y .load_X.load_Ybackdrop! !j 6.load_X 6.load_Y      +! h y1|l%"TahomaUF,,,6Boldar z2  ' {3 |4f }5~n&Camera Movementh ~6|l%"TahomaI,,,7Boldar 7 W  P4 &   8 S  P4 &   9 A  P4 &   : D  P4 &  h ;|l%"TahomaI,,,8Boldar < * h =|l%"TahomaI,,,9Boldar >0   .    ?$  "   @0   .    A$  "   B ICRemsLevel Editor EngineNeil Butcher 2011WYellow comments are for editing the actual backdrops in the level and general comments. >Green Comments are for saving, loading, and editing the array.!This will always set the current X and Y positions of the array to the X and Y coodinate of the mouse divided by the grid size values. This will set the current position of the array to the corresponding cell (counted in cells, size being specified by the grid size values) in the frame.#kThis event will always snap the cursor object to a grid based on the alterable values of the Values object.$`While you are holding the left mouse button, start a loop that will actually place the backdrop.%Place Backdrop&WFirst, make the backdrop_to_paste object visible, then create a backdrop at the X and Y position of the cursor object based on the image loaded in the active picture. The backdrop gets created as many pixels wide and tall as specified by the grid_size_X and grid_size_Y values (in the Values object) and gets created as an obstacle in layer 1.'2On the loop to place a backdrop, set the string of the array in the current position to "backdrop" to refer to later when loading the level. This string can be whatever you want as long as that is what you reference when loading - you could also use a value, but strings can be more descriptive and useful.(Delete Backdrop)wWhile you are holding the right mouse button, start a loop that will delete any backdrop at the location of the cursor.*WThis loop deletes any backdrops in layer 1 that are at the same position as the cursor.+On the loop to delete a backdrop, set the string of the array in the current position to blank to indicate there is no longer a backdrop there.,The next two events deactive the Edit Level group when the mouse is over the HUD background object and reactive it when the mouse is no longer over the HUD. It also moves the cursor object offscreen to make it invisible while over the HUD.-JWhen you click the grid dimension buttons, change the alterable values of the grid X and Y size in the Values object. and change the animation of the cursor to the corresponding animation for the new grid size. Also, delete any created backdrops when changing sizes, so you can't have 16x16 backdrops in 32x32 mode and vice versa..~This event always makes sure certain objects are on top of or below other objects, like making the cursor stay behind the HUD./Save Level Array0WWhen clicking the save button, open a file save explorer window to save the array file.1Load Level Array2When clicking the load button, open an explorer window to browse to an array file to load. Then active the group Load Level to load the backdrops into the frame based on the array data.3First, delete all backdrops that may already be preset. Then, start a loop that runs through every X position on the array based on how many cells wide the frame width is.4On the X loop, start a loop to check every Y cell on the array. This loop will run through as many times as there are cells high in the frame for every X position since it is started each time the X loop runs.5`On the Y loop, if the string in the array at the position of the array, based on the X and Y loop indexes (these loop indexes will specify how many cells over and cells down respectively), is equal to "backdrop". If it is, create a backdrop from the active picture at the coordinates in the frame based on the loop indexes times the grid size X and Y.65Once these loops are finished, deactivate this group.7The camera is moved with the W,S,A and D keys. By holding any of these keys, set either the X or Y position of the camera object up, down, left, or right respectively by 2 pixels.8AThe screen will always be centered relative to the camera object.9These events keep the camera object from getting closer to the edges of the frame than it needs to. This way, the camera object can't go further than the screen can see. There is one event for all four sides of the frame.Everything in this level editor engine is set dynamically, meaning events are based on values that can be altered instead of hard coded values. For example, you can change the grid_size_X and grid_size_Y alterable values in the "Values" object and the cursor will automatically snap to the new grid size and create appropriate sized backdrops. You can also change the size of the frame since the saving and loading are based on the frame size. The only thing that is not set up to change with these values is the cursor size. In this example, the cursor needs different animations (for specific different sizes) manually added to the object. Also, when loading a saved array, this example doesn't check what dimensions it was saved in, so it will load the level in the new grid X and Y sizes. This engine could very easily be expanded on with things like multiple layers, different backdrops, etc. Since this loads the backdrops as obstacles, you could even just add a player object with a movement and play/test the level in this same frame. d If you use this engine to build upon, no credit to myself is required, but would be appreciated.EvObtitleText descriptionText Array0RRAValuesSprite 16x16_buttonSpritecursorSprite 32x32_buttonSprite !Backdrop_to_PasteACIP save_buttonSprite  load_buttonSprite grid_size_textText HUD_backgroundSprite CameraSprite level_options_textTextEvEd !     EvTsEvLsEvCs,!DNE! X#&'2)08 ACHK5 e<@DHT`\dlv) #default#itDz~)com.clickteam.runtime;com.yourcompany.yourapplication