MMF2Path:C:\Documents and Settings\Adam H\Desktop\PathfindingEg.mfa4(@0׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽0RR׽R0R׽RR0׽RRRIIII׽RRRIIII׽RRRIIII׽RRR׽RRR׽RRR׽RRRRRRRRRRRR׽RRRRRRRRRRRR׽RRRRRRRRRRRR׽׽׽׽׽׽׽׽׽׽RRR׽׽׽׽׽׽׽׽׽׽RRRRRRRRR׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽׽RRRRRRRRR׽RRRRRRRRR׽RRRRRRRRR׽RRR׽RRR׽RRR׽0RR׽R0R׽RR0׽RRR׽RRR׽RRR׽׽׽ATNFAPMSASUMAGMI """)))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!1Xֽց;ؤvއxVUָٽU΃Ut|ܽ1?BZޅ]J1z֍Y>!|!θk_Ŝ_)sRRޓ7{_xθ֞)sYcSxY[?X͜^)uv67uUVŜ9!|ƃؾUVﴽ9_]k|k?!y=!!c[y׽Xބ7uwuu7پVV{[Z΃u*ҔƁپ[:·u]Q*Ҕپﳽս9{:΃m]Q*Ҕپھkﳽa[:΁mEQ*Ҕھƻƻ {:΁m=0Q*ҔƏ5ƼA{Z:m=0Q*Ӕƒ 9=5$!HBZ:uu]e<0 !ӔƌE!=vA:΁4I(!sΒz?Z:04,M(e!ӔΎ޽?{A6:[ׇP4,M(e!Ӕւ ?:ьD!:[{|ׂP4,M(e!Ӕ΁߇6_Zσ::{|}߃Q4,e!Ӕׂ=>[::[|ߜ}߆}Q4e!Ӕ=ׂ=^>_[:[{|ߝ߽灞}߄]3e!Ӕ]ׂ]^~^>_UƜ}߅׭_>?5;\]}׃_? "n 0R0R0R0R0R0R0R0R0R0 R0R0 R0R0 R0R0R0R0R0 R0R0 R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0 R0R0 R0R0R0R0R0 R0R0 R0R0 R0R0R0R0R0R0R0R0R0R0S@0׽?׽?׽?׽ R׽ R׽ R׽ R03׽ R0R3׽ 0R3׽R3׽R3׽R3׽RR ׽RR ׽RR ׽R ׽ R!׽ R R ׽ R R ׽ R R ׽R&׽R&׽R&׽RI ׽RI ׽RI ׽ R0&׽ R0R&׽ 0R&׽?׽?׽?׽-׽,׽,׽,׽?׽?׽?׽?׽?׽?׽?׽?׽?׽?׽?׽?׽?AGMI{׻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 "% SSSSSSSSSSSSSSSSSSSSSSSSSSS"% 'Ï'Ï'Ï'Ï'Ï'Ï'Ï'Ï'Ï"% KKKKKKKKKKKKKKKKKK 7,"U    .=s  ,7U  .   i ! pMK    X" SSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSS SSSSSS SSSSSSSSSSSSSSS SSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSS SSSSSSSSSSSSSSS SSSSSS SSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSPath2&(%' &(%' &(%' &(%' &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   pathfind.mfxPathfinding object%Y ForEach.mfxForEach%Y} Frame 1{׻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??Attacker4UpdateRequiredMoveXMoveYMoveDir StartMovingTrappedPath Movement #122222222ObstaclePlacer 4 Movement #122 Pathfinding object A Movement #1Pathfinding object pathfind.mfx%Y Start 4 Movement #122End 4 Movement #122Quick Backdrop !ForEach  Movement #1ForEach ForEach.mfx%YObstacle 4 Movement #122pppppppp `@ @ `@`  `` @  ```   @EvtsDh |l%"ArialTV [$  $  8!P-LoadObstacles (:!-LoadObstacles j j$  $   S +h|l%"Arialf >0  >0     S +b j    , 2 h |l%"Arial%  0  0   b j    , 2 , 2 h |l%"Arial .  2 .  2 .  2 .  2 *1 =-4!P-FindPath h |l%"Arial 6!-FindPath V U$  $  V T$  $   Qh |l%"Arial 6!-FindPath   , 2 h|l%"Arial6!-FindPath   , 2 , 2 <-SavePath h |l%"Arial &*-SavePath: *!P FindPath WZ1 =B-  [  h|l%"Arial*-SavePath  (-SavePathh|l%"Arial J.  2 .  2 .  2 V 2>  4&  h1 =P-   , 2 h|l%"Arial j.  2 .  2 , 2 j.  2 .  2 , 2 j.  2 .  2 , 2 j.  2 .  2 , 2 h|l%"Arialf.  2 ,! 2 2$  f.  2 ,  2 2$  f.  2 ,! 2 2$  f .  2 ,  2 2$  ! .  2 , 2 h"!|l%"Arial#"$  $  h $#|l%"Arial %$  2$  RemsInitialize mapPlace obstacle and mark all attackers as needing to update their path (to make things easier, the path will actually only be updated when they are aligned to the grid)JRemove an obstacle, and mark all attackers as needing to update their pathStart finding a path Set start and destination points Save next point along pathFinish saving path(Start saving path in an alterable string Find next direction to move Start movingMoveDestination reached|Mark attacker as trapped if no path can be found - this way, we won't attempt to find a path again until the map has changed Spawn attackerEvObAttackerSprite ObstaclePlacerSprite Pathfinding objectHTAPStartSpriteEndSprite!ForEachAEOFObstacleSpriteEvEdEvTsEvLsEvCs!DNE!#% ( &'2* 08 ACHK Y<@DHT`\dlv) #default#itDz<1.0com.clickteam.runtime